Loop
atau perulangan adalah suatu bentuk kegiatan mengulang suatu statement
sampai batas yang diinginkan. Dalam pemograman Loop atau perulangan
sangat berguna sekali. Kegunaan sederhana dalam perulangan terlukis
seperti ini: Jika kita ingin menuliskan kata “saya ganteng” sebanyak
seribu kali maka kita harus membuat seribu baris kata “saya ganteng”
dalam kode pemrogaman kita. Tapi dengan adanya perulangan maka kita
hanya cukup menuliskan 5 sampai 7 baris kode saja. Dalam praktek
sebenarnya, tentu saja perulangan sangat membantu sekali. Misal untuk
memuat seluruh isi table dari sebuah database dimana datanya ingin kita
tampilkan.
Loop atau perulangan dalam Java dapat dilakukan dengan 3 teknik:- Perulangan dengan for
for (inisialisasi ekspresi; kondisi loop; ekspresi penambahan){
// pernyataan
}
- Perulangan dengan teknik ini dikontrol oleh tiga bagian yang ada dalam tanda kurung dan masing-masing bagian ini dipisahkan oleh titik-koma. Pada bagian pertama(inisialisasi ekspresi), sebuah variabel akan di deklarasikan sebagai sebuah titik awal dari perulangan, biasanya variable ini mempunyai tipe data integer atau float. Sementara pada bagian kedua disinilah perulangan akan diperiksa apakah masih memenuhi syarat atau tidak, jika masih memenuhi syarat maka statement dibawahnya akan di eksekusi. Sedangkan bagian ketiga adalah bagian dimana jika bagian kedua masih memenuhi syarat maka nilai variabel akan ditambahkan sesuai dengan syarat yang dituliskan. Bagian ketiga ini secara otomatis akan tidak dibaca oleh program jika kondisi pada bagian ke-dua sudah tidak lagi memenuhi syarat, dan perulangan pun menjadi terhenti. Untuk lebih jelasnya perhatikan potongan contoh berikut ini:
for (int i=0; i <=1000; i++){
System.out.println(“Saya Ganteng”);
}
Jika
digambarkan jalannya program akan seperti ini: variable i akan di
inisialisasi pertama kali dan langsung diberi nilai 0, kemudian variable
i tersebut akan diperiksa pada bagian kedua, apakah i lebih kecil atau
sama dengan 1000, jika nilai I pertama kali adalah 0 maka pernyataan
tersebut bernilai benar (true), sehingga bagian ketiga pun di eksekusi
dan kali ini nilai i menjadi sama dengan 1. setelah nilai i bertambah
menjadi 1 maka langkah selanjutnya program akan mengeksekusi baris
pernyataan yang ada didalam tanda kurung, program akan menuliskan ke
layar “Saya Ganteng”. Setelah itu kursor baris akan kembali lagi keatas
ke posisi for lagi, namun inisialisasi variabel dilewatkan dan langsung
ke bagian kedua yaitu memeriksa apakah i <=1000, dan jika masih
memenuhi syarat maka bagian ketiga dan baris statement pun di eksekusi
kembali, demikian seterusnya hinga nilai variabel i sudah menjadi sama
dengan 1001. Jika nilai variabel i sudah tidak lagi memenuhi syarat
bagian kedua maka program akan tidak mengeksekusi bagian ketiga dan
baris statement, dan pada saat ini pula loop atau perulangan akan
berhenti. Jika digambarkan dalam diagram maka seperti inilah perulangan
dengan for itu tergambar :
Perulangan dengan while.
while(ekspresi){
//statement
}
Perulangan
dengan menggunakan teknik while ini sebenarnya adalah suatu bentuk
perulangan yang memodifikasi teknik pencabangan (branching) secara
kasar. Pernyataan yang ada didalam blok perulangan akan dieksekusi
dengan cara memeriksa ekspresi yang ada, sepanjang ekspresi bernilai
true maka statement akan terus di eksekusi. Variabel sebagai kontrol
perulangan bentuk ini diinisialisai di luar blok perulangan ini. Dan
penambahan atau increment nilai variabel berada didalam blok perulangan
ini. Kelebihan perulangan dengan bentuk ini adalah variabel yang
dideklarasikan tidak hanya bertipe integer atau float saja namun bisa
juga bertipe boolean atau string. Perhatikan contoh program perulangan
dengan menggunakan bentuk ini yang memakai variabel bertipe integer
sebagai kontrol perulangannya:
int i=0;
while(i<=10000){
System.out.println(“Saya Ganteng”);
i++;
}
Sepanjang
variable i bernilai lebih kecil sama dengan 1000 maka pernyataan
mencetak ke layar “Saya Ganteng” akan tetap terus di eksekusi. Yang
harus kita perhatikan jika kita menggunakan perulangan dengan teknik ini
adalah bahwa incremental variabel i harus ada, sebab jika tidak yang
terjadi adalah perulangan yang tidak pernah akan berhenti atau
Invinitive Loop.
Kemudian mari kita lihat potongan kode yang variabel kontrolnya tidak menggunakan integer atau float, berikut ini:
boolean ctrl =false;
int i = 0;
while(ctrl==false){
System.out.println(“Saya Ganteng”);
i++;
if(i == 1000){
ctrl = true;
}
}
Perhatikan
pada potongan kode program tersebut. Pernyataan mencetak kelayar “Saya
Ganteng” akan terus dieksekusi selama variabel kontrol perulangan
tersebut masih bernilai false, sementara trigger untuk membuat variable
bernilai true adalah nilai variable i yang harus sampai dengan 1000.
Jika digambarkan dalam diagram maka sketsa perulangan dengan bentuk ini seperti gambar berikut:
- Perulangan dengan do while
do{ //statement }while(ekspresi);
Perulangan dengan bentuk seperti ini adalah perulangan dengan membalikkan logika perulangan dengan teknik while. Dalam perulangan dengan bentuk ini, pernyataan dieksekusi dulu, baru kemudian kondisi variabel kontrol perulangannya diperiksa apakah memenuhi syarat atau tidak. Biar lebih mudah memahaminya mari kita lihat potongan code program berikut ini:int i=0; do{ System.out.println(“Saya Ganteng”); i++; }while(i<=10000);
Variabel kontrol perulangan tetap diinisialisasi diluar blok perulangan dan harus tetap bersifat incremental / bertambah dan letak incrementalnya ada dalam blok perulangan. Secara logika maka diagram yang bisa menggambarkan proses perulangan tersebut adalah:
Demikianlah
pembahasan kita kali ini mengenai Perulangan atau Loop dalam
pemrograman Java. Ada beberapa hal yang bisa kita simpulkan dan kita
catat dalam pembahasan kali ini:
- Dalam perulangan harus ada variable kontrol, dimana variabel tersebut yang bertugas mengontrol perulangan hingga batas apa atau berapa perulangan bisa dilakukan.
- Variable kontrol harus bersifat incremental atau juga bersifat dapat dimodifikasi sehingga perulangan dapat berjalan dengan semestinya.
- Incremental atau modifikasi variabel kontrol berada dalam lingkup perulangan.
Point-point diatas menjadi konsep dasar pengertian kita akan makna Loop atau perulangan dalam bahasa pemrograman.
Contoh Programnya
Java : Menyeleksi Menu MakananPada program “Menyeleksi Menu Makanan” sederhana ini saya menggunakan Scanner untuk mendapakan input dari keyboard, for untuk looping dan switch case untuk menyeleksi.
Program sederhana ini nantinya akan menampilkan pilihan menu makanan yang akan dipesan, juga total harga keseluruhan sesuai pilihan menu makanan yang usr input-kan.
Source Code :
import java.util.Scanner;
*
* @author Anggoro Dhanumurti
*/
public class std3main {
public static void main(String[] args) {
int hargaBatagor = 5000,//inisialisasi variable hargaBatagor
hargaKupTahu = 3500,//inisialisasi variable hargaKupTahu
hargaSpaghetti = 4000,//inisialisasi variable hargaSpaghetti
total = 0;//inisialisasi total ( total harga pemesanan )
String loop,
pilihMenu = "";//inisialisasi variable loop dengan data type String, digunakan untuk inisialisasi saat looping
System.out.println("------------------------------------");
System.out.println("| Menu Makanan |");//daftar menu makanan
System.out.println("------------------------------------");
System.out.println("| 1. Batagor : Rp 5000 |");
System.out.println("| 2. Kupat Tahu : Rp 3500 |");
System.out.println("| 3. Spaghetti : Rp 4000 |");
System.out.println("------------------------------------");
Scanner scan = new Scanner (System.in);//instansiasi classLib sebagai fungsi mendapatkan input dari keyboard
for (loop = "Y"; loop.equals ("Y") || loop.equals ("y");)//sebagai pengulangan sesuai input statement Y/N, akan melakukan pengulangan apabila input yang dimasukkan adalah Y
{
System.out.print("Pilih Menu (1 s/d 3) : ");
int pilihan = scan.nextInt();//input menu yang akan dipesan, sesuai nomor yang sudah ditentukan. inisialisasi pilihan nantinya digunakan untuk proses penyeleksian
switch(pilihan){//penyeleksian menggunakan switch case
case 1://case 1 = apabila usr memilih menu nomor 1
System.out.println("Anda memilih Batagor : Rp 5000");
pilihMenu = "Batagor "+pilihMenu;
total = total + hargaBatagor;//nilai untuk variable total akan dijumlahkan dengan nilai variable hargaBatagor
break;
case 2:
System.out.println("Anda memilih Kupat Tahu : Rp 3500");
pilihMenu = "Kupat Tahu "+pilihMenu;
total = total + hargaKupTahu;//nilai untuk variable total akan dijumlahkan dengan nilai variable hargaKupTahu
break;
case 3:
System.out.println("Anda memilih Spaghetti : Rp 4000");
pilihMenu = "Spaghetti "+pilihMenu;
total = total + hargaSpaghetti;//nilai untuk variable total akan dijumlahkan dengan nilai variable hargaSpaghetti
break;
default:
System.out.println("Sorry, input menu yang anda masukkan tidak sesuai");
}
System.out.print("Ada lagi yg akan dipesan? (Y/N) : ");//sebagai pertanyaan apakah usr akan melakukan looping ( untuk memesan makanan lagi ) atau tidak
loop = scan.next();
}
System.out.println("Menu yang anda pesan adalah : "+pilihMenu);
System.out.println("Terimakasih, total yang harus anda bayar : Rp " +total);
}
}l.php
Sumber
Tidak ada komentar:
Posting Komentar