Selamat bertemu lagii gengss..
Jadi di Part sebelumnya itu aku udah bahas tentang Perulangan dengan statement FOR, buat yang belum cek kalian bisa langsung klik ini >> Perulangan (Looping) FOR dalam PHP #6 <<
Nah udah paham belum sama konsep perulangan FOR?
Perulangan(Looping) menggunakan statement FOR itu termasuk Counted Loop dimana perulangan yang akan dilakukan bisa kita tentukan jumlahnya. Variabel dalam perulangannya berfungsi sebagai counter yang menghitung berapa kali ia akan mengulang.
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.
Bentuk dasar dari statement perulangan WHILE seperti ini :
<?php
while (condition){
statement;
}
?>
Oke kita bahas satu persatu yaa,
- 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.
Contohnya kaya gini nih :
<?php
$i = 1;
while($i <= 10){
echo "$i";echo "<br />";
$i=$i+1;
}
?>
Penjelasan :
- Pada baris kedua, variabel i diberi nilai 1. Variabel inilah yang akan dijadikan counter untuk kondisi while.
- Setelah penulisan while, selanjutnya didalam tanda kurung adalah condition yang harus dipenuhi agar perulangan berjalan. Disini saya membuat kondisi ($i <= 10) sebagai penanda akhir while, yang berarti selama variabel $i bernilai kurang dari 10, maka lakukan perulangan.
Penting untuk diperhatikan adalah logika pemograman untuk
condition. While ($i <= 10) juga berarti bahwa jika nilai variabel $i = 11,
maka perulangan akan berhenti. Di dalam kode program, kita harus membuat sebuah
baris statement yang digunakan untuk terus menambahkan nilai $i supaya nilai $i
bisa mencapai angka lebih dari 10 untuk menghentikan perulangan.
Setelah membuat beberapa baris kode echo untuk menampilkan
angka ke web browser pada baris ke-5 dan 6, saya menambahkan kode $i=$i+1 , inilah yang akan menambahkan nilai variabel counter $i
sebanyak 1 angka pada tiap perulangan, sehingga pada perulangan ke 10, nilai $i
akan menjadi 11. Dan kondisi while akan menghasilkan FALSE, sehingga proses
perulangan berhenti.
Cobain yuk script" sederhana sekalian kenalan lebih sama struktur while ini
1. Bagaimana ya caranya menampilkan bilangan bulat 5 s/d 100 dengan kelipatan 10
<?php
$bil = 5;
while ($bil <= 100)
{ if ($bil % 10 == 0)
echo $bil. "<br />";
$bil++;
}
?>
Nanti tampilannya jadi kaya gini :
Kita coba breakdown programnya ya, kenapa sih hasil tampilannya bisa jadi kaya gitu. Sesuai syarat ya, bilangan dibatasi dari 5 sampai 100. maka variabel $bil kita isi = 5. Kondisi awal bil adalah 5.
Karena batas akhirnya 100, masukin ini jadi kondisinya si while.
while ($bil <=100)
maksudnya adalah, program ini dianggap TRUE ketika bilangan lebih kecil sama dengan 100.
dan ketika bilangan lebih kecil dari 100 maka kita lanjutkan dengan statement untuk membuatnya tampil hanya bilangan yang berkelipatan 10. HOW ?
if($bil % 10 == 0)
echo $bil. "<br />";
$bil++ ;
program itu menyatakan bahwa 'jika bilangan sisa pembaginya sama dengan 0, tampilkan bilangan itu. Tampilkan pula bilangan seterusnya (+1) asalkan dibagi 10 sisa pembagiannya sama dengan 0. Nah balik lagi ke WHILE-nya, dia membatasi bilangan lebih kecil sampai sama dengan 100 saja sehingga angka yang lebih dari 100 tidak ditampilkan.
2. Bagaimana program yang bisa dibuat untuk menjumlahkan bilangan bulat 2 sampai 50 ?
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
$jumlah = $jumlah + $bil; $bil++;
}
echo "Hasilnya adalah ".$jumlah;
?>
Nanti tampilannya kaya gini :
Coba kita analisa programnya ya :
Disana kita menggunakan 2 variabel yaitu jumlah dan bil. Varibel jumlah bisa kita buat = 0 aja karena kan jumlah menyesuaikan bilangan yang akan kita operasikan, karena bilangannya juga positif dan operasinya penjumlahan ya berarti jumlahnya akan lebih besar dari 0 yaa..
Untuk variabel bil dibuat sama dengan 2 karena syaratnya kan menjumlahkan bilangan yang diawali dengan angka 2 (2 sampai 50).
Lalu while kita beri kondisi dimana bilangan harus lebih kecil sama dengan 50 karena balik lagi ke syaratnya, batas akhirnya dibilangan 50. Setelah itu statement nya kita buat menjadi $jumlah = $jumlah + $bil dimana $bil++ (Selalu naik +1 dari nilai bil sebelumnya).Dan setelah nilai bil dibatasi sampai 50 lalu terjadi operasi penjumlahan seluruh bilangan dari 2 sampai 50, ditampilkanlah jumlah akhirnya yaitu 1274.
3. Menggunakan WHILE untuk membuat tabel dengan n baris danm kolom secara otomatis ?
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
$baris = 1;
while ($baris <= $jumBaris)
{
echo "<tr>";
$kolom = 1;
while ($kolom <= $jumKolom)
{
echo"<td>…</td>";
$kolom++;
}
echo "</tr>";
$baris++;
}
echo "</table>"; ?>
Gimana hayo tampilannya ? wkwk
Gini nihh
Kenapa tampilannya bisa jadi kaya gitu yaa? ayo coba perhatiin programnya
Di baris ketiga dan keempat variabel $jumBaris dan $jumKolom udah di tentuin tuh nilainya 10 dan 6. Udah jelas banget yaa berarti kita bakalan buat 10 baris dan 6 kolom, sama ya kaya tampilannya.
Disana ada keterangan tentang table border, itu cuma buat nentuin style dari bordernya aja yaa, bisa kalian ubah jugaa sesuai border kaya gimana yang kalian mau.
Ada variabel baris disana, nilainya sama dengan satu. Ngga mungkin ya sama dengan nol, ngga ada baris dong jadinya hehehe.
While disini menyatakan bahwa nilai baris harus lebih kecil sama dengan jumBaris yang telah ditentukan sebelumnya. Ketika syarat itu terpenuhi maka terdapat while lagi (syarat lagi) kalau jumlah dari kolom juga harus lebih kecil atau sama dengan nilai variabel $jumKolom yang telah ditentukan sebelumnya. Ketika dua syarat tadi terpenuhi maka jalanlah program echo"<td> ... </td> ; Dimana setiap kolom dan baris itu diisi dengan '...' seperti pada gambar tampilannya.
4. Bagaimana ya membuat list combo box yang berisi tahun mulai 1930 s/d 2008 secara otomatis menggunakan statement perulangan while ?
LETS TRY..
<?php
echo "<select name='tahun'>";
$tahun = 1930;
while ($tahun <= 2008)
{
echo "<option value= ".$tahun.">".$tahun."</option>";
$tahun++;
}
echo "</select>";
?>
Tampilannya kaya gini :
Loh jadi lebih simple yaa kalau buat list combo box menggunakan looping while,
Seperti biasa kalau kita akan membuat sesuatu pilihan, kita deklarasikan terlebih dahulu pilihan itu diberi nama apa, disini 'select name = tahun' lalu variabel tahun kita awali dengan 1930 sesuai dengan perintah soalnya, lagi lagi di while kita beri kondisi nilai maksimal dari variabel yang kita gunakan (Batas maksimal ketentuan) Karna dibatasi sampai 2008 saja maka kita buat variabel tahunnya $tahun <= 2008.
Ketika syarat itu terpenuhi, jalanlah program option value dari variabel tahun dimana tahun yang ditampilkan adalah seluruh tahun yang ada dari 1993 sampai 2008.
Nah gimana ? udah sedikit paham yaaa tentang konsep si 'while' inii
Kalau mau cek tugas pemogramanku, cek sini ya!! <KLIK!>




Tidak ada komentar:
Posting Komentar