Sabtu, 10 Februari 2018

Tutorial PHP 3: Algoritma Pemrograman

Assalamuallaikum Wr. Wb.,
Apa kabar sobat? Ketemu lagi nih sama Ahmad di tutorial pemrograman web yang ke-3. Di tutorial kali ini kita bakalan mengulas tentang algoritma pemrograman dalam PHP. Secara konseptual  sih, sebenarnya algorima itu sesuai dengan logika/kemampuan dari individu itu sendiri-sendiri sob. Kenapa gitu Ahmad? karena:
“Algoritma dapat diibaratkan sebagai langkah-langkah dalam menyelesaikan masalah”.
Sebagai contoh sih gini sob.. Misalnya kalian punya ember A dan ember B nih ya.. Dimana ember A berisi pasir, dan ember B berisi tanah. Persoalan yang muncul adalah: “Bagimana cara menukar isi ember A dengan isi ember B”? Hayo.. sobat bisa gak?
Sederhananya sih, penyelesaian pertukaran ember diatas dapat diatasi dengan mengambil sebuah ember baru lagi untuk menampung isi dari salah saru embernya sob.. Ilustarisnya sih gini sob:
  1. diambil ember C,
  2. isi ember A (pasir) dimasukkan kedalam ember C,
  3. isi ember B (tanah) dimasukkan kedalam ember A, dan
  4. isi ember C (pasir) dimasukkan kedalam ember B.
Selesai bukan? Nah.. Hal tersebut juga bisa kita coba kedalam bentuk pemrograman web PHP sob.. Contohnya kita mau menukar nilai variabel $a dengan nilai variabel $b :
<?php
   $a=3;
   $b=4;
      // Nilai $a adalah 3 dan nilai $b adalah 4
      //Algoritma
         $c = $a;
         $a=$b;
         $b=$c;
      //Algoritma
      // Nilai $a adalah 4 dan nilai $b adalah 3
?>
Nah.. sebelumnya tadi Ahmad bilang, kalau sebenarnya algoritma itu sesuai dengan kemampuan individu itu sendiri.. Maksudnya gimana nih? Maksudnya sederhana sob. Misalnya kita gunakan contoh pertukaran nilai variabel $a dan $b. Secara umum orang akan menggunakan contoh dari pengkodean diatas sob. Tapi beberpa diantaranya ada juga yang menggunakan teknik pengkodean berikut sob buat menukar nilai variabel $a dengan $b.
<?php
   $a = 3;
   $b = 4;
   // Nilai $a adalah 3 dan nilai $b adalah 4
      //Algoritma
         $a = $a*$b;
         $b = $a/$b;
         $a=$a/$b;
      //Algoritma
   // Nilai $a adalah 4 dan nilai $b adalah 3
?>
Gimana sob? Hasilnya juga sama kan? Nah selain dari cara diatas, sebenarnya juga banyak nih sob.. cara buat nukar variabel $a dengan $b. Bahkan setelah Ahmad dalamin, bisa >100 teknik algoritma yang bisa dipake cuma buat nukar $a dengan $b. Bagi sobat yang kepingin nanya algoritmanya gimana, sobat bisa mengajukan pertanyaan sobat melalui kolom komentar dibawah ataupun melalui kontak Ahmad nih (pada panel kontak diatas).
Balik lagi nih sob ke pokok bahasan kita, berkenaan mengenai algoritma pemrograman PHP ini sob, Ahmad balakan mengulas tentang:
  1. Percabangan,
  2. Switch-Case, dan
  3. Perulangan.
Kok cuma itu aja sih Ahmad? Yup.. cukup dengan mengusai ketiga sub pokok bahasan tersebut, sobat seharusnya sudah cukup mahir dalam bermain logika algoritma sob.. 
A. Pecabangan
“Secara sederhana percabangan itu, merupakan suatu hal yang akan dilakukan ketika suatu kondisi terpenuhi dan apabila tidak terpenuhi”.
Maksudnya gimana nih? Misalnya gini sob ada pernyataan: “Jika hari ini tidak hujan, maka saya akan pergi ke sekolah. Dan apabila hari ini hujan maka saya akan pergi ke perpustakaan kota.”. Berdasarkan pernyataan tersebut sob,. Ternyata hari ini hujan sob.. jadi saya akan pergi ke perpustakaan.. (ini perumpamaan ya sob.. Ya walaupun hujan tetep aja kita harus pergi ke sekolah :D . ). Nah biar lebih srek di hati ininih sob contoh pengkodean dalam PHPnya:
<?php
   $hari=”hujan”;
   if ($hari!=”hujan”) {
         echo “Saya pergi ke sekolah”;
      } else {
         echo “Saya pergi ke perpustakaan kota”;
   };
?>
Ketika file .php tersebut kita jalankan maka hasilnya adalah “Saya pergi ke perpustakaan kota”. Gimana udah paham? Biar mudahnya Ahmad kasih sketsanya nih sob perhatiin ya:
<?php
   if(kondisi) {
      aksi ketika kondisi terpenuhi
      } else {
      jika kondisi tidak terpenuhi
   }
?>
Gimana paham kan? Sebagai contoh penunjang lain yakni sebagai berikut sob:
<?php
   $umur = 21;
   if ($umur>20) {$status=“Sudah dewasa”;} else
   {$status=“Anak-anak”;};
   echo $status;
?>
Ahmad.. kalau mau nambah kondisi lagi bisa? Misalnya jika umurnya < 11 tahun itu anak-anak. Jika >11 tahun dan < 20 tahun itu remaja, dan jika >20 tahun itu desawa bisa?
Jawabannya bisa donk… Nah gini nih pengkodeannya:
<?php
   $umur = 21;
   if ($umur>20) {$status=“Sudah dewasa”;} else
   if ($umur>11) {$status=“Remaja”;} else
   {$status=“Anak-Anak”;};
   echo $status;
?>
Ingat ya sob.. disana ada else if . Hasil dari pengkodean diatas itu adalah “Sudah Desawa” sob..  tapi beda halnya kalo sobat ngodingnya begini nih:
<?php
   $umur = 21;
   if ($umur>20) {$status=”Sudah dewasa”;};
   if ($umur>11) {$status=“Remaja”;};
   if ($umur<12) {$status=“Anak-Anak”;};
   echo $status;
?>
Jika sobat ngoding dengan cara diatas hasil outputnya bukan “Sudah deawasa” sob, melainkan “Remaja”. Okay perhatiin ya sob.. disini kita kudu paham logikanya.
B. Switch-Case
Setelah ngulas tentang percangan kini, kita ulas tentang switch-case sob.. Nah secara hasil fungsional switch-case dan if-else itu rada-rada mirip sob.. Namun ada bedanya sob.. Misalnya gini nih:
<?php
   $jk = “L”;
   if ($jk = “L”) {echo “Laki-Laki”;} else
   {echo “Perempuan”;};
?>
Nah kalo make switch-case:
<?php
   $jk = “L”;
   switch($jk) {
         case “L” : echo “Laki-laki”; break;
         case “P” : echo “Perempuan”;break;
         default : echo “Inputan tidak valid”;
    };
?>
Nah ujika sobat running perintah diatas bakalan sama-sama ngehasilin output “Laki-Laki” sob.. Tapi coba kalo sobat ubah jadi “X” misalnya.. Nanti outputnya bakalan beda sob… Dimana kalo sobat make if-else outputnya bakalan “Perempuan” sedangkan kalo make switch-case outputnya bakalan “Inputan tidak valid”. Giaman udah ketemu kan bedanya…?
Nah buat tips ya sob.. Jika sobat buat pengkodean dengan range sobat sebaiknya menggunakan if-else ya sob.. bukan switch-case.. Misalnya:
<?php
   $pts = 85;
   if ($pts >= 80) {echo “PTS lebih dari 79.9”;}  else
   {echo “PTS kurang dari 80”;};
?>
Nah kalo logika diatas sobat implementasiin di switch-case gak kebayang dah kodingannya kayak gimana… Hahaha gimana udah paham kan?
C. Perulangan
Dalam perulangan disini Ahmad bakalan ngasih 2 jenis perulangan yang umumnya diimpelemntasiin nih sob.. Yakni for dan while.  Kok Cuma itu Ahmad, kan ada do-while? Yup.. benar sekali, ada do-while. Tapi sebenarnya do-while dengna while itu sama sob.. Cuma beda pada penulisannya..
Maksudnya?
Jadi gini sob logikanya..
“Perulangan while dan do-while dilakukan ketika kondisinya benar.”
Nah pahamin dah sob. Jadi selama kondisinya benar perulangan itu akan dilakukan terus-terusan.. Dalam membuat pengkodean dalam bahasa pemrograman apapun hal ini kudu diberi perhatian sob.. Kalo sobat kelewatan ngasih nilai false ntuh perulangan kagak akan pernah berhenti sob.. dan bisa-bisa laptop sobat ngehang.. Penasaran atau gak percaya? Coba aja jalanain perintah ini sob:
<?php
   $a = 1;
   while ($a=1) {echo “Belajar While <br>”;};
?>
Cobain gih.. pasti ntar laptopnya ngehang.. (Walalupun i7 sekalipun :D) xixi.
Nah.. biar gak ngehang gimana donk Ahmad?
Solusinya kita beri batasan biar bisa ending sob putarannya.. Contohnya kita Cuma mau nyetak sampe 100 x cetak maka:
<?php
   $a = 1;
   while ($a<=100)  {
      echo “Belajar While<br>”;  
      $a++;
    };
?>
Gimana bisa berhenti kan… Pada kode diatas ada penulsian $a++ itu maksudnya incerement sob.. Jadi nilai dari variabel $a akan bertamah +1 ketika putaran tersebut dilakukan. Secara nalar sih.. ketika $a sudah 101 maka kondisi sudah gak lagi benar sob.. Makanya berhenti..
Ahmad, kalo do-while apakah sama?
Sama sob.. hanya saja posisi kodingnya doank yang diubah, contoh:
<?php
   $a = 1;
   do {echo “Belajar While<br>”; $a++;}
   while ($a<=100);
?>
Nah sudah paham kan perbedaannya?
Yang selanjutnya kita bakalan masuk ke perulangan for sob.. Kalo make perulangan for ini sobat gak usah kuatir kalo terjadi ultimate looping sob.. Soalnya memang prinsipnya perulangan for ini merupakan perulangan yang dibuat untuk dapat berhenti. Kerangka kodenya sih begini sob:
<?php
   for (start, akhir, increment/decrement)
   {pengerjaan};
?>
Contohnya begini sob:
<?php
   for($i=1;$i<=100;$i++)
   {echo “Belajar For”;};
?>
Paham kan? Gimana gak susah kan?
Sebelum Ahmad mengakhiri tutorial kali ini, Ahmad mau ngasih tips lagi nih sob, adapun tipsnya yakni:
  1. Jika dalam percabangan terdapat logika matematika maka gunakan if-else,
  2. Jika dalam percabangan berkemungkinan terdapat inputan diluar dari scope logika gunakan switch-case,
  3. Jika dalam perulangan hal yang perlu diulang kita kira-kira tidak mengetahui kapan dia harus berhenti maka gunakan while atau do-while, serta
  4. Apabila dalam perulangan batas ulangnya telah diketahui, maka gunakan perulangan for.
Ahmad rasa tutorial ini udah cukup sob.. Jika sobat ada pertanyaan sobat bisa nanya nih via komentar ataupun kontak pribadi Ahmad. Okay, sampai jumpa lagi sob di tutorial selanjutnya.
Wassalamuallaikum Wr. Wb.


Tampilkan Panel EmoticonSembunyikan Panel Emoticon