Perulangan / Looping / Repetisi PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Perulangan / Looping / Repetisi Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
7 Aspek Dasar Pemrograman Membaca Input Data Menampilkan Output Data Melakukan proses perhitungan (Compute) Penyimpanan Data (Store) Penyeleksi Kondisi (Percabangan) Perulangan (Repetisi) Method – Fungsi
PerULangan / REPETISI / LOOPING PROGRAM CONTROL PerULangan / REPETISI / LOOPING
PERULANGAN Termasuk kategori Program Flow Control Dalam sebuah algoritma, seringkali suatu atau sekelompok instruksi (atau statemen) akan dilaksanakan berulang kali dengan jumlah perulangan tertentu atau selama memenuhi suatu persyaratan (kondisi) tertentu
Poin dalam Perulangan For While Do While Nested Loop Break Continue
Pernyataan Perulangan Perulangan jumlah tertentu (Determinate Loop) For Perulangan dengan kondisi tertentu (indeterminate loop) While Do While
While Blok pernyataan akan dijalankan secara terus menerus selama kondisi bernilai benar. Bentuk pernyataan : while (kondisi) { pernyataan; }
Statement while Syntax: Perulangan Syarat diawal Kondisi akan dicek terlebih dahulu sebelum mengerjakan instruksi. Instruksi-intruksi dalam blok while akan dilakukan berulang-ulang selama kondisi bernilai true Gunakan pada perulangan yang tidak dipastikan berapa kali perulangan akan dilakukan Syntax: while (kondisi) Instruksi; { Instruksi_1; Instruksi_2; . }
Contoh //nama file berkas : ulang.java public class ulang { public static void main (String[] args) int jumlah=1; while (jumlah<=5) System.out.println("Putaran ke-"+jumlah); jumlah++; } Hasil : Putaran ke-1 Putaran ke-2 Putaran ke-3 Putaran ke-4 Putaran ke-5
Do While Pernyataan ini menyerupai pernyataan while tetapi blok pernyataan yang terdapat dalam do…while paling tidak dieksekusi sekali. do { pernyataan; } while (kondisi);
Statement do-while Perulangan syarat diakhir Syntax: do { instruksi; . } while (kondisi) Perulangan syarat diakhir Blok intruksi akan dikerjakan terlebih dahulu, baru kemudian pengecekan kondisi dilakukan. Jika kondisi bernilai true, maka instruksi akan dikerjakan lagi sampai di kondisi bernilai false. Setidaknya blok instruksi akan dikerjakan sedikitnya satu kali.
Contoh //nama file berkas : ulang2.java public class ulang2 { public static void main (String[] args) int jumlah=1; do System.out.println("Putaran ke-"+jumlah); jumlah++; } while (jumlah<=5) } Hasil : Putaran ke-1 Putaran ke-2 Putaran ke-3 Putaran ke-4 Putaran ke-5
Perbandingan while dengan do-while
Tips Gunakan perulangan bersyarat jika jumlah perulangan belum ditentukan Pastikan ada proses yang merubah nilai pada variabel yang digunakan sebagai syarat kondisi perulangan Perulangan Syarat Akhir: Gunakan pada perintah dengan perulangan yang harus dikerjakan minimal satu kali
Case: Program Tebak Angka import java.util.Scanner; public class TebakAngka { public static void main(String[] args) { // Membangkitkan suatu angka acak utk ditebak int angka = (int)(Math.random() * 101); Scanner masukan = new Scanner(System.in); System.out.println("Tebak suatu angka dari 0 sampai 100"); int tebak = -1; while (tebak != angka) { // Meminta pengguna memasukkan tebakan System.out.print("\nBerikan tebakan Anda: "); tebak = masukan.nextInt();
if (tebak == angka) System.out.println("Ya, Anda benar, Angka Magic adalah " + angka); else if (tebak > angka) System.out.println("Tebakan Anda terlalu tinggi"); else System.out.println("Tebakan Anda terlalu rendah"); }
For Perulangan dengan jumlah perulangan (iterasi) tertentu Syntax: for (inisialisasi; kondisi; penaikan/penurunan) { statemen_1; statemen_2; } Bagian inisialisasi digunakan untuk memberikan nilai awal kepada variabel yang digunakan untuk mengontrol pengulangan Bagian kondisi digunakan untuk mengontrol pengulangan dilanjutkan atau diakhiri
Contoh //nama file berkas : ulangFor.java public class ulangFor { public static void main (String[] args) for(int i=1; i<=13; i++) System.out.print(i+" "); } Hasil : 1 2 3 4 5 6 7 8 9 10 11 12 13
Contoh Hasil: 0 2 4 … 98 100 for(int i=0; i<=50; i++) { Buat sebuah program yang menampilkan bilangan GENAP dari 0 s/d 100 menggunakan 3 macam perulangan for(int i=0; i<=50; i++) { System.out.print(i*2+" "); } Hasil: 0 2 4 … 98 100 int i = 0; while(i<=50) { System.out.print(i*2+" "); i++; // i += 2; }
Nested For Hasil: ***** public class nestedfor { public static void main (String[] args) for(int i=1; i<=3; i++) for (int j=1; j<=5; j++) System.out.print("*"); } System.out.print("\n"); Hasil: *****
Break & Continue Pernyataan Break digunakan untuk menghentikan program lanjut ke baris selanjutnya jika kondisi terpenuhi Pernyataan Continue digunakan untuk melanjutkan program baris yang ditunjuk
Contoh Break Hasil: 1 2 3 4 Selesai… public class break1 { public static void main (String[] args) for(int i=1; i<=13; i++) if (i == 5) break; System.out.print(i+" "); } System.out.print("Selesai... "); Hasil: 1 2 3 4 Selesai…
Contoh Continue Hasil: 1 2 3 4 11 12 13 14 15 public class kontinu { public static void main (String[] args) for (int i=1; i<=15; i++) if (i >=5 && i <=10) continue; System.out.println(i); } Hasil: 1 2 3 4 11 12 13 14 15
Penggunaan Loop dalam Kasus Perhitungan jumlah total data Algoritma mengurutkan data