PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014
Perulangan / Looping
Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
7 Aspek Dasar Pemrograman 1. 2. 3. 4. 5. 6. 7.
Membaca Input Data Menampilkan Output Data Melakukan proses perhitungan (Compute) Penyimpanan Data (Store) Penyeleksi Kondisi (Percabangan) Perulangan (Repetisi) Method – Fungsi
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: while (kondisi) Instruksi;
while (kondisi) { Instruksi_1; Instruksi_2; . .
}
• 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
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 • Syntax: do { instruksi; instruksi; 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 Putaran ke-6
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
Nested For 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"); } } }
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 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... "); } }
Contoh Continue 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); } } }
Penggunaan Loop dalam Kasus • Perhitungan jumlah total data • Algoritma mengurutkan data
TUGAS • Buat sebuah program permainan dengan 4 menu 1. 2. 3. 4.
Kuis Penjumlahan [0-100] Kuis Pengurangan [0-100] Tebak Angka Selesai