Algoritma

Algoritma

Algoritma adalah langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis

Program = Algoritma + Bahasa (Struktur Data)

Beberapa hal yang perlu diperhatikan dalam membuat algoritma :

  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut Notasi Algoritmik.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Struktur Algoritma

  1. Bahasa Natural
    Bersifat deskriptif, singkat, padat, dan mudah dimengerti. Tidak ada aturan baku yang harus diikuti secara mutlak dalam penulisannya.
  1. Flowchart
  • Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data.
  • Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.

Urutan dasar pemecahan suatu masalah dengan flowchart:

  • START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
  • READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
  • PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  • WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  • END, mengakhiri kegiatan pengolahan.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :

  • Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
  • Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  • Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman :

  1. Pseudocode
    Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.

Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan

Solusi Pseudo-code :

  • Masukkan bilangan pertama
  • Masukkan bilangan kedua
  • Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
  • Tampilkan bilangan pertama
  • Tampilkan bilangan kedua

Solusi Algoritma :

  • Masukkan bilangan pertama (a)
  • Masukkan bilangan kedua (b)
  • if a > b then kerjakan langkah 4
  • print a
  • print b

3 Tipe Data

  1. String

String adalah type data pada php yang berisi text dan karakter dimana bentuknya bisa kata atau kalimat. Dan dalam PHP untuk penulisan jenis type data ini ada 4 cara yaitu Single Quoted, Double Quoted, Heredoc, Nowdoc.

  • Single Quoted

Penulisan string dengan cara ini bisa dibilang adalah cara yang sederhana, caranya adalah dengan memberi tanda single quoted di awal dan di akhir kalimat yang kita buat.

Dan untuk kalimat yang mengandung tanda petik satu harus di dahului dengan backslash ( \ ) dan jika kita ingin memunculkan tanda backslash maka kita harus menulisnya dua kali agar tidak bingung lihat seperti contoh dibawah ini

  • Double Quoted

Sekilas jika dilihat penulisan string dengan single quoted dan double quoted sepertinya tidak ada perbedaan. ada beberapa point yang ternyata ada bedanya antara lain adalah jika penulisan string menggunakan double quoted dan didalamnya terdapat variable maka php akan memprosesnya tapi jika menggunakan single quoted tidak. Apabila di dalam double quoted ada kalimat yang menggunakan tanda (“”) harus menggunakan backslash di awal dan akhir kalimat. sebagai contoh adalah sebagai berikut

  • Heredoc

Fitur ini berfungsi untuk menuliskan string yang isinya dapat berisi beberapa baris sekaligus. penulisan dengan heredoc memang sangat jarang digunakan contoh penulisan dengan fitur ini adalah sebagai berikut

untuk memulai penulisan di awali dengan tanda “<<<” di ikuti dengan penanda akhir. di contoh saya menggunakan huruf q, untuk menentukan pengakhir kita bisa merubah dengan kata atau karakter lain.

setelah penanda string baru kita menuliskan string untuk menutupnya kita akhiri dengan tanda pengakhir string yang sudah di definisikan di awal ( q ). yang perlu diperhatikan adalah penutup heredoc tidak boleh ada karakter atau spasi diantara pengakhir dan titik koma ( ;).

  • Nowdoc

dalam penulisan nowdoc tidak banyak berbeda dengan heredoc perbedaanya adalah pada pengakhir string terdapat tanda single quoted. hasil proses dari nowdoc sama halnya dengan single quoted dimana variable dan karakter khusu tidak akan terproses.

  1. Integer

Integer adalah type data yang berupa angka bulat seperti 1, 22, 100, 1000, type data ini sangat umum digunakan di bahasa pemrograman khusunya berkaitan dengan angka bulat.

Nilai integer bisa bernilai negatif atau positif dan jika tidak diberi tanda ( – ) maka diasumsikan sebagai nilai positif.

  1. Float

Float atau nama lainya adalah floating point atau real number adalah type data yang memiliki bagian desimal di akhir angka contohnya adalah 3,21 atau 4,5 dalam penulisan type data float bukan menggunakan koma ( ,) tetapi menggunakan titik (.).

  1. Boolean

Type boolean adalah tipe data pada php yang paling sederhana dalam bahasa pemrograman apapun. karena tipe data ini hanya memiliki dua nilai yaitu true dan false. tipe data boolean sering kali digunakan pada operasi logika seperti kondisi if dan looping. dan berikut adalah type data boolean jika dikonversi dari type data lainya :

Kesalahan dalam kode program sering terjadi karena “konversi” dari tipe data lain menjadi boolean, sehingga sedapat mungkin kita membuat variabel boolean dengan nilai yang pasti dan tidak bargantung kepada aturan “konversi” booelan dari PHP.

  1. Array

Array berbeda dengan type data pada php seperti integer atau boolean, karena array adalah sebuah tipe data yang didalamnya terdiri dari kumpulan tipe data

PHP mendukung beberapa cara penulisan array, salah satunya adalah menggunakan Konstruktor Array.

Penulisan array terdiri dari kunci ( key ) dan nila ( value ). key berfunsi sebagai penunjuk posisi dimana value tersimpan. tanda => berfungsi untuk memberikan nilai kepada key. untuk mengakses nilai dari array kita menggunakan kombinasi nama variable dan nilai key.

  1. Object

Tipe Data object adalah Tipe Data yang menyimpan data dan informasi tentang cara mengolah data. Berikut adalah Contoh penggunaan Object di PHP :

  1. Null

Tipe Data yang satu ini hanya memiliki satu nilai yaitu NULL atau kosong, berikut merupakan contoh penggunaan Tipe Data NULL di PHP:

  1. Resource

Tipe data yang jika di artikan ke dalam bahasa Indonesia ber-arti “Sumber Daya” ini adalah tipe data spesial yang mereferensikan keterkaitan luar melalui fungsi, berbeda dengan tipe data lainya tipe data ini berbentuk sebuah fungsi. berikut adalah daftar beberapa fungsi yang masuk kedalam tipe data Resource PHP :

4 Operator

  1. Aritmetic
OperatorOperasi / Fungsi
+Penjumlahan
Pengurangan
*Perkalian
/Pembagian
%Modulo
++Increment
Decrement

Arithmetic Operator merupakan operator matematika yang sering digunakan dalam operasi matematika. Berikut ini adalah table daftar dari operator arithmetic yang dimaksud.

OperatorOperasi / Fungsi
+Penjumlahan
Pengurangan
*Perkalian
/Pembagian
%Modulo
++Increment
Decrement
  1. Assignment
OperatorOperasi / FungsiContoh
+=Menambahkan nilai di kiri dengan nilai di kananx += 2;
x=x+2;
-=Mengurangi nilai di kiri dengan nilai di kananx -= 2;
x = x-2;
.=Melakukan concatenation / operasi gabungan antara nilai di kiri dengan nilai di kananx .= “imam”;
x=x. “imam”;
/=Membagi nilai di kiri dengan nilai di kananx /= 2;
x =x/2;
%=Sisa hasil bagi antara nilai di kiri dengan nilai di kananx %=2;
x = x%2;
|=Melakukan operasi OR antara nilai di kiri dengan nilai di kananx != 2;
x = x!2;
^=Melakukan operasi XOR antara nilai dikiri dengan nilai di kananx ^= 2;
x = x^2;

Assigment Operator atau biasa disebut Operator Penegasan merupakan operator yang digunakan untuk memberi nilai ke suatu variable ke variable lain. Simbol operator ini adalah (=). Berikut ini adalah daftar table dari assignment operator.

  1. Comparison

Operator ini dikenal dengan sebutan operator perbandingan atau relasional. Operator ini digunakan untuk melakukan perbandingan antara dua buah operand dan menghasilkan nilai TRUE & FALSE. Dibawah ini saya sertakan table daftar operator perbandingan.

OperatorOperasi / Fungsi
==Sama Dengan
===Identik
!= atau <>Tidak Sama Dengan
!==Tidak Identik
Kurang Dari
Lebih Dari
<=Kurang Dari atau Sama Dengan
>=Lebih Dari atau Sama Dengan
  1. Increment/Decrement

Dari tabel diatas terlihat bahwa terdapat 2 jenis increment, yaitu Pre-increment, dan Post-Increment, dan 2 jenis decrement, yaitu Pre-decrement dan Post-decrement. Perbedaan keduanya terletak pada posisi mana tanda tambah atau kurang diletakkan.

  1. Logical

Operator ini biasa disebut sebagai Operator Logika. Biasanya digunakan untuk menggabungkan kondisi berganda & menghasilkan sebuah ekspresi bernilai TRUE & FALSE. Dibawah ini adalah Table daftar Logic Operator.

OperatorOperasi / Fungsi
ANDMelakukan operasi AND dimana semua kondisi harus bernilai TRUE.
|| atau ORMelakukan operasi OR dimana salah satu kondisi bernilai TRUE.
XORMelakukan operasi XOR.
!Melakukan operasi NOT dimana jika nilai A adalah TRUE, maka akan menjadi FALSE.

Contoh penggunaan operator dalam Pemrograman PHP bisa dilihat dibawah ini.

 5 Percabangan

  • Statement IF

Pengertian Struktur IF dalam bahasa pemograman adalah sebuah struktur logika untuk membuat percabangan alur program. Secara sederhananya, dengan menggunakan struktur IF kita dapat mengatur apakah sebuah perintah akan dijalankan atau tidak tergantung kepada kondisinya.

Sebagai contoh kita ingin membuat program sederhana, jika nama user adalah “Andi”, maka tampilkan kata “Selamat Datang, Andi”. Berikut adalah penulisannya di dalam PHP:

Struktur logika IF setidaknya membutuhkan 2 inputan, yaitu ekspresi logika (expression) dimana berisi kondisi yang harus dipenuhi, dan perintah yang akan dijalankan (statement) jika kondisi logika tersebut terpenuhi.

  • Statement IF ELSE

Jika Struktur IF digunakan untuk percabangan alur program dengan 1 pilihan saja, maka dengan struktur ELSE kita dapat membuat percabangan kedua, yakni percabangan ketika kondisi IF tidak terpenuhi, atau expressi IF menghasilkan nilai FALSE.

Berikut adalah contoh penggunaan logika ELSE dalam PHP:

  • Statement IF ELSE IF

Stuktur IF ELSE-IF merupakan percabangan logika lanjutan dari IF. Dengan IF ELSE-IF kita bisa membuat kode program yang akan menyeleksi berbagai kemungkinan yang bisa terjadi. Berikut adalah contoh penggunaan IF ELSE-IF dalam PHP:

Dalam kode program diatas, saya membuat program sederhana untuk membandingkan 2 angka. IF pertama akan melakukan pengecekan apakah $a > $b, jika hasilnya adalah FALSE, maka masuk ke IF kedua (ditulis dengan elseif) apakah $a == $b, dan jika hasilnya adalah FALSE, maka dapat dipastikan $a < $b.

Jika anda bertanya apa perbedaan IF dengan ELSEIF, maka jawabanya terletak di efisiensi pemrosesan.

Contoh diatas bisa juga kita buat tanpa menggunakan ELSEIF seperti berikut ini:

Perhatikan kode program pada baris ke-6, saya mengganti ELSEIF menjadi IF.

Perbedaannya adalah, untuk contoh kode PHP kita tanpa IF ini, seluruh kondisi akan dijalankan, walaupun sebenarnya tidak perlu. Jika $a=15 dan $b=8, maka kondisi IF pertama akan terpenuhi ($a > $b), dan kita ingin program PHP keluar dari IF. Namun karena perintah selanjutnya adalah IF, maka PHP akan tetap memeriksa apakah ($a == $b).

  • Statement SWITCH

Struktur logika switch adalah sebuah stuktur percabangan yang akan memeriksa suatu variabel, lalu menjalankan perintah-perintah yang sesuai dengan kondisi yang mungkin terjadi untuk variabel tersebut. Struktur switch ini mirip dengan struktur IF yang ditulis berulang.

Katakan kita ingin membuat sebuah program yang akan menampilkan kata dari angka 0-5, sehingga terdapat 6 kemungkinan yang terjadi.  Jika menggunakan struktur IF, maka kita akan membutuhkan 6 perulangan sebagai berikut:

Tidak ada yang salah dari kode program tersebut, namun jika kita menggunakan switch, kode tersebut dapat ditulis menjadi:

Kedua kode program akan menghasilkan output yang sama, namun untuk kondisi logika yang diuji merupakan kondisi sederhana, penulisan dengan switch lebih disarankan dibandingkan IF.

Seperti yang terlihat dalam contoh sebelumnya, struktur switch terdiri dari beberapa bagian, berikut format dasar penulisan switch dalam PHP:

Setelah kata kunci switch, kita harus mencantumkan variabel yang akan diperiksa nilainya didalam tanda kurung, lalu memulai block switch dengan kurung kurawal.

Tiap kondisi yang mungkin terjadi dicantumkan setelah kata kunci case, lalu diikuti dengan nilai yang akan dibandingkan dengan nilai variabel switch. Jika kondisi sesuai, maka baris program statement akan dijalankan. Kata kunci break digunakan untuk keluar dari switch, sehingga PHP tidak perlu memeriksa case berikutnya.

Alur program untuk switch akan dieksekusi dari baris pertama sampai terakhir. Kata kunci break memegang peranan penting untuk menghentikan switch.

Selain kata kunci break, PHP menyediakan kata kunci default untuk alur switch. Kata kunci ini berfungsi seperti ELSE di dalam struktur IF, yakni kondisi dimana seluruh case untuk switch tidak ada yang cocok. Kata kunci default ini diletakkan di akhir dari switch.

Untuk contoh kita diatas, saya akan menambahkan bagian default sebagai perintah yang akan dijalankan jika nilai dari variabel $a duluar dari angka 0-5. Berikut kode PHP nya:

Perbedaan Antara struktur IF dengan Switch

Walaupun memiliki tujuan yang hampir sama, namun struktur IF dan switch memiliki perbedaan yang mendasar.

Didalam struktur switch, kondisi logika hanya akan diperiksa satu kali saja, yaitu pada awal perintah switch, dan hasilnya di bandingkan dengan setiap case. Akan tetapi di dalam struktur if, setiap kondisi akan selalu diperiksa. Sehingga jika anda memiliki struktur percabangan yang banyak, struktur switch akan lebih cepat dieksekusi.

Namun disisi lain, switch memiliki keterbatasan dalam jenis operasi perbandingan yang dapat dilakukan. Operasi perbandingan di dalam switch terbatas untuk hal-hal sederhana seperti memeriksa nilai dari sebuah variabel.

Struktur switch tidak bisa digunakan untuk percabangan program dengan operasi yang lebih rumit seperti membandingkan 2 variabel. Kita tidak bisa menggunakan switch untuk membuat kode program menentukan nilai terbesar.

Untuk kebanyakan kasus, kita akan sering menggunakan IF dibandingkan switch.

6 Perulangan

  • FOR

Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi program yang bertujuan untuk mengulang beberapa baris perintah. Dalam merancang perulangan kode program, kita setidaknya harus mengetahui 3 komponen, yaitu kondisi awal dari perulangan, perintah program yang akan diulang, serta kondisi akhir dimana perulangan akan berhenti.

Di dalam bahasa pemograman, terdapat beberapa jenis instruksi perulangan, salah satunya: struktur perulangan FOR.

Sebagai contoh sederhana untuk perulangan for, saya akan membuat program PHP untuk menampilkan 10 baris kalimat “Saya sedang belajar PHP”. Berikut adalah kode program yang digunakan:

Jika anda menjalankan perintah tersebut, maka di web browser akan tampil sebanyak 10 kalimat. Kemampuan bahasa pemograman untuk melakukan perulangan ini sangat praktis jika yang kita inginkan adalah mengulang beberapa perintah yang sama sebanyak beberapa kali.

Seperti yang telah saya singgung sebelumnya, untuk kondisi perulangan for, kita setidaknya membutuhkan 3 kondisi, yaitu di kondisi awal perulangan, kondisi pada saat perulangan, dan kondisi yang harus dipenuhi agar perulangan berhenti.

Penulisan dasar format perulangan for PHP adalah sebagai berikut:

  • Start adalah kondisi pada saat awal perulangan. Biasanya kondisi awal ini digunakan untuk membuat dan memberikan nilai kepada variabel counter yang digunakan untuk mengontrol perulangan. Misalkan, kita akan membuat variabel counter $i, maka untuk kondisi start ini, kita juga harus memberikan nilai awal untuk variabel $i, misalnya dengan 1, maka $i=1.
  • Condition adalah kondisi yang harus dipenuhi agar perulangan dijalankan. Selama kondisi ini terpenuhi, maka PHP akan terus melakukan perulangan. Biasanya variabel counter digunakan untuk mengatur akhir perulangan. Misalkan kita ingin menghentikan perulangan jika variabel $i telah mencapai nilai 20, maka pada bagian condition ini kita membuat perintah $i<=20, yang berarti selama nilai $i kurang atau sama dengan 20, terus lakukan perulangan.
  • Increment adalah bagian yang digunakan untuk memproses variabel counter agar bisa memenuhi kondisi akhir perulangan. Biasanya, pada bagian inilah kita akan membuat kondisi dari variabel counter.
  • Statement adalah bagian kode program yang akan diproses secara terus-menerus selama proses perulangan berlangsung. Untuk statement ini, kita membuat blok program di antara tanda kurung kurawal ({ dan }) sebagai penanda bahwa bagian di dalam kurung kurawal inilah yang akan dikenai proses perulangan.

Sebagai contoh, kita akan membuat perulangan untuk menampilkan angka 1-15 kedalam web browser, berikut kode PHP yang digunakan:

Ketika membuat kondisi akhir dari perluangan for, kita harus memperhatikan kapan kondisi akhir tersebut dipenuhi. Jika kondisi akhir tidak pernah terpenuhi, maka perulangan akan berjalan selamanya. Hal ini dikenal dengan infinity loop.

Seperti yang terjadi untuk kode seperti berikut ini:

Jika anda menjalankan kode tersebut, proses perulangan akan berjalan terus menerus, sehingga untuk menghentikannya kita harus menutup paksa web browser.

Kesalahan dari struktur for tersebut adalah pada kondisi akhir dari perulangan, dimana saya membuat $i >= 1, sehingga ketika nilai awal variabel counter $1 adalah 20, dan dalam tiap perulangan $i ditambah 1, maka nilai $i akan selalu lebih besar dari 1, sehingga kondisi akhir tidak akan pernah terpenuhi, dan $i >= 1 akan selalu benar.

Infinity loop ini kadang diperlukan untuk kasus-kasus tertentu. Namun kebanyakan kita akan menghindari perulangan jenis ini.

Selain infinity loop, terdapat istilah lainnya yang sering digunakan dalam proses perulangan, yakni nested loop, atau terjemahan bebasnya: perulangan bersarang.

Nested loop adalah istilah pemograman yang berarti membuat perulangan di dalam perulangan. Perhatikan contoh program berikut:

Dalam contoh program diatas, saya membuat perulangan di dalam perulangan. Counter $j digunakan untuk perulangan dalam (inner loop), dan counter $i digunakan di dalam perulangan luar (outer loop).

Nested loop ini biasanya digunakan dalam program yang membutuhkan pengaksesan kompleks, seperti array 2 atau 3 dimensi.

  1. WHILE

Untuk situasi dimana kita membutuhkan kondisi perulangan yang tidak dapat dipastikan berapa kali perulangan akan dilakukan, maka kita tidak bisa menggunakan perulangan for.

PHP (dan juga bahasa pemograman lain) menyediakan stuktur perulangan while untuk kondisi perulangan dimana banyaknya perulangan tidak dapat dipastikan pada saat penulisan program.

Misalkan kita ingin membuat program tebak angka, dimana user akan menebak 1 angka dari 1 sampai 10. Untuk kondisi ini, kita tidak dapat mengetahui berapa kali user akan ’mencoba’ untuk menebak angka tersebut. Bisa saja user mencoba sebanyak 1, 5, atau 10 kali sebelum angka tersebut berhasil diterka.

Atau misalkan kita ingin membuat program menemukan kata tertentu di dalam sebuah kalimat yang dimasukkan oleh user. Banyak kata dalam kalimat tidak bisa kita tentukan pada saat pembuatan program (karena akan diinput oleh user pada saat program berjalan), maka kita tidak bisa menentukan seberapa banyak perulangan yang harus dilakukan untuk mencari kata tersebut.

Sampai dengan tutorial ini, kita belum bisa membuat kedua program diatas karena membutuhkan beberapa fungsi PHP yang belum kita pelajari, namun sebagai contoh cara penggunaan struktur while sederhana, berikut adalah kode PHP untuk perulangan while:

Struktur dasar perulangan while adalah sebagai berikut:

  • Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Kondisi ini mirip seperti dalam perulangan for. Selama condition bernilai TRUE, maka perulangan akan terus dilakukan. Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti.
  • Statement adalah kode program yang akan diulang. Kita bisa membuat beberapa kode program untuk menampilkan perintah seperti echo, atau perintah yang lebih kompleks. Namun di dalam bagian ini harus ada baris program yang digunakan sebagai ’penghenti’ perulangan. Misalkan pada bagian condition kita menggunakan variabel counter $i, maka di bagian statement harus ada baris program yang membuat condition bernilai FALSE, atau kalau tidak proses perulangan tidak akan pernah berhenti (infinity loop).
  • Tanda kurung kurawal diperlukan untuk membatasi blok program yang akan diulang. Jika statement hanya terdiri dari 1 baris, maka tanda kurung kurawal tidak diperlukan.

Perulangan while tersebut akan menghasilkan angka menurun dari 100  sampai dengan 0, dimana pada  setiap perulangan nilai 100 akan dikurangi dengan 8.

Walaupun struktur while agak jarang digunakan untuk nested loop, anda bisa membuat perulangan bersarang dengan struktur while, seperti contoh berikut ini:

Dalam kode diatas, saya membuat perulangan yang sama seperti contoh nested loop pada tutorial perulangan for, dimana kode diatas akan menampilkan angka 0-9 sebanyak 9 angka.

Jika anda membandingkan dengan struktur for untuk hasil yang sama, perulangan for akan ’lebih’ mudah dipahami dibandingkan perulangan while diatas.

  1. Do-WHILE

Perulangan while dan do-while pada dasarnya hampir sama. Perbedaan terletak pada ’lokasi’ pengecekan kondisi perulangan.

Dalam struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.

Namun pada perulangan do-while, pengecekan kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan minimal 1 kali.

Sebagai perbandingan, perhatikan contoh struktur while berikut ini:

Kode program diatas tidak akan menampilkan apa-apa, karena kondisi while ($i<=10) sudah menghasilkan nilai FALSE pada awal program (karena saya sudah mendefenisikan nilai $i=1000, pada baris pertama)

Namun jika kode diatas kita ubah menjadi do-while, maka berikut hasilnya:

Program diatas akan menampilkan ”1000Akan tampil di browser”. Hal ini terjadi karena pada struktur do-while, perulangan program akan tampil setidaknya 1 kali walaupun kondisi while menghasilkan FALSE.

Penulisan struktur do-while mirip dengan struktur while, namun kita menambahkan perintah do di awal struktur. Berikut adalah format dasar penulisan struktur do-while dalam PHP:

Setelah perintah do, di dalam blok kurung kurawal adalah statement. Statement adalah kode program yang akan diulang. Kita bisa membuat beberapa kode program untuk menampilkan perintah seperti echo, atau perintah yang lebih kompleks. Namun di dalam bagian ini harus ada baris program yang digunakan sebagai ’penghenti’ perulangan.

Condition adalah kondisi yang harus dipenuhi agar perulangan berlangsung. Selama condition bernilai TRUE, maka perulangan akan terus dilakukan. Condition ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka proses perulangan berhenti.

  1. FOREACH

Array merupakan tipe data yang sering digunakan dalam membuat program menggunakan PHP. Kemampuan array dalam menyimpan banyak data dalam satu variabel akan sangat berguna untuk menyederhanakan dan menghemat penggunaan variabel.

Untuk menampilkan dan memproses data dari array, kita bisa memanfaatkan perulangan for, seperti contoh berikut ini:

Contoh diatas membuat perulangan for sebanyak 5 kali, dengan variabel counter $i dimulai dari angka 0 (karena index array dimulai dari angka 0).

Namun sebagai cara alternatif untuk menampilkan array, saya akan mengubah kode diatas dengan menggunakan perulangan foreach:

Perulangan foreach diatas akan menampilkan semua isi array dengan perintah yang lebih singkat daripada menggunakan perulangan for.

Perulangan foreach merupakan perulangan khusus untuk pembacaan nilai array. Seperti yang telah kita bahas pada tutorial tentang tipe data array: Mengenal Tipe Data Array dan Cara Penulisan Array dalam PHP, setiap array memiliki pasangan key dan value. Key adalah ‘posisi’ dari array, dan value adalah ‘isi’ dari array.

Format dasar perulangan foreach adalah:

  • $nama_array adalah nama dari array yang telah didefenisikan sebelumnya.
  • $value adalah nama ‘variabel perantara’ yang berisi data array pada perulangan tersebut. Anda bebas memberikan nama untuk variabel perantara ini, walaupun pada umumnya banyak programmer menggunakan $value, atau $val saja.

Variabel array $nama saya defenisikan menggunakan key yang berbeda-beda. Pada perulangan foreach, saya membuat variabel perantara $kunci =>$isi, sehingga didalam perulangan, variabel $kunci akan berisi key dari array, dan variabel $isi akan berisi nilai dari array.

Proses menampilkan dan memproses array akan lebih mudah dengan menggunakan perulangan foreach dibandingkan perulangan dasar seperti for. Terlebih lagi kita tidak perlu mencari tau seberapa banyak perulangan harus dilakukan, karena perulangan foreach akan otomatis berhenti pada data terakhir dari array.

Algoritma