PERNYATAAN PERULANGAN Mr. Yasri OOP PERNYATAAN PERULANGAN
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Menjelaskan pengertian perulangan Mendemonstrasikan penulisan program dengan struktur kendali perulangan
Outline Materi Perulangan dengan while Perulangan dengan do-while Perulangan dengan for Perulangan nested
Pernyataan Perulangan Struktur kendali yang mengontrol berapa kali statement/block dieksekusi Efisiensi pengkodean Fundamental pemrograman 3 jenis perulangan: while do – while for Seperti if, perulangan dapat bersarang (nested)
System.out.println(“Welcome to Java!”); Perulangan while Sintaks: while (loop-continuation-condition) { statement(s); } Flowchart: count = 0; Loop Continuation Condition? (count < 10)? false false true true Statement(s) (loop body) System.out.println(“Welcome to Java!”); count++;
Perulangan while Loop-continuation-condition Berupa boolean expression Kondisi true yang menyebabkan perulangan dieksekusi Ditandai di dalam tanda kurung (…) Setelah while(…) tidak dilanjutkan dengan semicolon (;) Diperlukan block { … } jika statement lebih dari 1
Perulangan while Contoh: Langkah: int count = 0; while(count < 10) { System.out.println("Welcome to Java!"); count++; } Langkah: [1] Nilai count diinisialisasi 0 [2] Pengecekan apakah count < 0 [3] Jika benar, eksekusi statement dalam block Jika salah, keluar dari perulangan [4] Increment nilai count [5] Kembali ke point [2] 1 2 4
Perulangan while
System.out.println(“Welcome to Java!”); Perulangan do-while Sintaks: do { statement(s); } while (loop-continuation-condition); Flowchart: count = 0; Statement(s) (loop body) System.out.println(“Welcome to Java!”); count++; true Loop Continuation Condition? (count < 10)? true false false
Perulangan do-while Loop-continuation-condition Berupa boolean expression Kondisi true yang menyebabkan perulangan dieksekusi Ditandai di dalam tanda kurung (…) Diawali dengan do dan diakhir dengan while(…) semicolon (;) Diperlukan block { … } jika statement lebih dari 1
Perulangan do-while Contoh: Langkah: int count=0; do { System.out.println("Welcome to Java!"); count++; } while(count < 10) Langkah: [1] Nilai count diinisialisasi 0 [2] Eksekusi statement dalam block [3] Increment nilai count [4] Pengecekan apakah count < 0 [5] Jika benar, kembali ke point [2] Jika salah, keluar dari perulangan 1 2 3 4
Perulangan do-while
Perulangan do-while
while vs do-while while: do-while: Contoh: Pengecekan kondisi dilakukan di-awal perulangan (pre-test loop) do-while: Pengecekan kondisi dilakukan di-akhir perulangan (post-test loop) Contoh: while do-while apa outputnya?
Perulangan for Sintaks: for( initial-action ; loop-continuation-condition ; action- after-each-iteration ) { statement(s) (loop body); }
Perulangan for Flowchart: Initial-Action i = 0 Loop Continuation Condition? ( i < 100 ) ? false false true true Statement(s) (loop body) System.out.println(“Welcome to Java”); Action-After-Each-Iteration i++
Perulangan for Initial-action Loop-continuation-condition Inisialisasi nilai, //variabel yg nantinya akan di uji Loop-continuation-condition Berupa boolean, //expression (true or false) Kondisi true yang menyebabkan perulangan dieksekusi, //jadi kalo true dia mengulang tapi ada prediksi Berada di antara initial-action dan action-after-each-iteration dipisahkan dengan semicolon (;) Action-after-each-iteration Dieksekusi setelah perulangan Umumnya berupa increment atau decrement Mengontrol nilai variabel mengubah suatu saat keluar dari luping Diawali dengan for(…;…;…) tanpa diakhiri semicolon (;) Diperlukan block { … } jika statement lebih dari 1
Perulangan for Contoh: Langkah: 4 1 2 Contoh: for ( int count=0 ; count < 10 ; count++ ) { System.out.println("Welcome to Java!"); } Langkah: [1] Nilai count diinisialisasi 0 [2] Pengecekan apakah count < 0 [3] Jika benar, eksekusi statement dalam block Jika salah, keluar dari perulangan [4] Increment nilai count [5] Kembali ke point [2]
Perulangan for
Did You Know? Parameter pada for dapat dikosongkan Contoh: for( int count=0 ; count < 10 ; count++ ) { System.out.println("Welcome to Java!"); } Menjadi int count = 0; for( ; count < 10 ; ) count++ ;
Did You Know? for ( int count=0 ; count < 10 ; count++ ) { System.out.println("Welcome to Java!"); } Menjadi int count = 0; for ( ; ; ) if(count < 10) count++ ; else break;
Did You Know? for ( int count=0 ; count < 10 ; count++ ) { System.out.println("Welcome to Java!"); } menjadi for ( int count=0 ; count<10 ; System.out.println("Welcome to Java!"), count++); break akan dijelaskan pada pertemuan berikutnya (Operasi Jump)
Did You Know? Looping forever: perulangan yang tidak berhenti (infinite loop) Terjadi karena logic error Contoh: int count = 0; do { System.out.println(“Welcome to Java!”); } while(count < 10); Aplikasi harus dimatikan dengan paksa
Advanced Learning Delay: memperlambat proses atau menunda eksekusi. Menggunakan perulangan dengan bilangan yang besar. Contoh: for ( int i = 0 ; i < 2000000000 ; i++ ); Ada semicolon (;) setelah for tidak mengeksekusi apapun Lamanya penundaan tergantung pada spesifikasi komputer.
Advanced Learning
Referensi Introduction to Java Programming. 7ed. Liang. 2009. p132- 150 Programming with Java. Julia. 2002. p240-248 Java A Beginner’s Guide. 3ed. Herbert Schildt. 2005. p86-96 Dasar Pemrograman Java 2. Abdul Kadir. 2004. Chapter 7 Loop: http://home.cogeco.ca/~ve3ll/jatutor3.htm http://java.sun.com/docs/books/tutorial/java/nutsandbolts/for.html http://www.roseindia.net/java/beginners/ForLoop.shtml http://www.visualbuilder.com/java/jdk15/tutorial/pageorder/2/