Perulangan ( Iteration )

Post on 01-Jan-2016

97 views 0 download

description

Perulangan ( Iteration ). Tujuan. Di akhir pertemuan , mahasiswa diharapkan : Memahami konsep perulangan pada pemrograman Mengenal sintaks perulangan di Java Mampu menerapkan perulangan dalam persoalan. Konsep Perulangan. - PowerPoint PPT Presentation

Transcript of Perulangan ( Iteration )

Perulangan (Perulangan (IterationIteration))

2

TujuanTujuan

Di akhir pertemuan, mahasiswa diharapkan : Di akhir pertemuan, mahasiswa diharapkan :

1.1. Memahami konsep perulangan pada Memahami konsep perulangan pada pemrogramanpemrograman

2.2. Mengenal sintaks perulangan di JavaMengenal sintaks perulangan di Java

3.3. Mampu menerapkan perulangan dalam Mampu menerapkan perulangan dalam persoalanpersoalan

3

Konsep PerulanganKonsep Perulangan Sebuah proses di dalam program yang akan Sebuah proses di dalam program yang akan

mengulang satu atau beberapa statement mengulang satu atau beberapa statement terus-menerus hingga sampai pada kondisi terus-menerus hingga sampai pada kondisi berhenti.berhenti.

4

Bentuk Perulangan di JavaBentuk Perulangan di Java

5

Pengulangan : forPengulangan : for Umumnya digunakan pada pengulangan yang Umumnya digunakan pada pengulangan yang

jumlah iterasinya sudah pasti atau sudah jumlah iterasinya sudah pasti atau sudah diketahui sebelumnya.diketahui sebelumnya.

Formula :Formula :

for (inisialisasi; kondisi; iterasi) {for (inisialisasi; kondisi; iterasi) {

//statement yang akan diulang//statement yang akan diulang

}}

6

Alur Kerja forAlur Kerja for

inisialisasi

kondisi

Statement yang diulang

iterasi

Start

End

true

false

7

Contoh-contoh “for”Contoh-contoh “for”

1.1. Program untuk menuliskan teks “Java Program untuk menuliskan teks “Java Programming” sebanyak 10 kali.Programming” sebanyak 10 kali.

class DemoFor1 { public static void main (String[] args) { for (int i=0; i<10; i++) { System.out.println("Java"); } }}

class DemoFor1 { public static void main (String[] args) { for (int i=10; i>0; i--) { System.out.println("Java"); } }}

8

2.2. Program untuk menjumlahkan 5 bil. positif Program untuk menjumlahkan 5 bil. positif pertamapertamaclass DemoFor3 { public static void main(String[] args) { //int n = 5; // 5 bilangan positif pertama

int hasil = 0; for (int i=1; i<=n; i++) { hasil = hasil + i; if (i != n) { System.out.print(i + " + "); } else { System.out.print("= "); } } System.out.println(hasil); }}

9

3.3. Program untuk menentukan apakah sebuah Program untuk menentukan apakah sebuah integer termasuk prima atau tidak.integer termasuk prima atau tidak.

class DemoFor4 { public static void main(String[] args) { int bilangan = 7; boolean prima = true;

for (int i=2; i <= (bilangan/2); i++) { if ((bilangan % i) == 0) { prima = false; break; // menghentikan pengulangan } } if (prima) { System.out.println(bilangan + " merupakan bilangan prima"); } else { System.out.println(bilangan + " bukan bilangan prima"); } }}

10

Penggunaan koma dalam “for”Penggunaan koma dalam “for” Perhatikan program berikut :Perhatikan program berikut :

class DemoFor5 { public static void main(String[] args) {

int j=4;

for (int i=0; i < 5; i++) {

System.out.println("Nilai i: " + i); System.out.println("Nilai j: " + j); System.out.println(); j--; } }}

11

Dapat disederhanakan sbb :Dapat disederhanakan sbb :

class DemoFor6 { public static void main(String[] args) { int i,j;

for (i=0, j=4; i < 5; i++, j--) {

System.out.println("Nilai i: " + i); System.out.println("Nilai j: " + j); System.out.println(); } }}

12

Variasi “for”Variasi “for” For dengan kondisi berhenti sebuah variabel For dengan kondisi berhenti sebuah variabel

booleanbooleanimport java.util.Scanner;public class ForBoolean { public static void main(String[] args) {

Scanner input = new Scanner(System.in);int angka, i;boolean stop=false;

for (i=0; !stop; i++){ System.out.print("Masukkan angka : "); angka = input.nextInt(); System.out.print(angka+” “); if (angka == 0) stop = true;}System.out.println("Selesai.");

}}

13

Variasi program sebelumnya :Variasi program sebelumnya :import java.util.Scanner;

public class ForBoolean { public static void main(String[] args) {

Scanner input = new Scanner(System.in);int angka, i;boolean stop=false;i = 0;for (; !stop; ){ System.out.print("Masukkan angka : "); angka = input.nextInt(); if (angka == 0) stop = true; i++;}System.out.println("Selesai.");

}}

14

Tiga mahasiswa IT nonton bareng sebelum ujian akhir. Tiga mahasiswa IT nonton bareng sebelum ujian akhir. Besoknya mereka nggak siap untuk ikut ujian. Mereka Besoknya mereka nggak siap untuk ikut ujian. Mereka memutuskan untuk tidak datang dan sepakat memutuskan untuk tidak datang dan sepakat mengarang cerita, lalu belajar selama seminggu. mengarang cerita, lalu belajar selama seminggu. Seminggu kemudian mereka bertiga menghadap Seminggu kemudian mereka bertiga menghadap profesor. Mereka cerita bahwa mereka pergi ke profesor. Mereka cerita bahwa mereka pergi ke pedalaman Kalimantan, naik jip, terus ban mereka pedalaman Kalimantan, naik jip, terus ban mereka meledak, sementara ban cadangan gembos. Makan meledak, sementara ban cadangan gembos. Makan waktu 3 hari untuk jalan ke Pontianak, terus pulang naik waktu 3 hari untuk jalan ke Pontianak, terus pulang naik pesawat ke Jakarta.pesawat ke Jakarta.

Kata profesor, “Ya sudah, kalau ban kalian meledak itu Kata profesor, “Ya sudah, kalau ban kalian meledak itu bukan salah kalian kan, ayo sekarang ikut saya ”bukan salah kalian kan, ayo sekarang ikut saya ”

Mereka diberi 2 soal. Mereka dipisah, disuruh masuk ke Mereka diberi 2 soal. Mereka dipisah, disuruh masuk ke kelas yang berbeda-beda, lalu mulailah ujian …kelas yang berbeda-beda, lalu mulailah ujian …

Soal pertama [poin 5] Apakah kepanjangan RAM? Soal pertama [poin 5] Apakah kepanjangan RAM? Mereka bertiga mikir, wah gampang banget …”Random Mereka bertiga mikir, wah gampang banget …”Random Access Memory”Access Memory”

Soal kedua [point 95] Ban mana yang kempes?Soal kedua [point 95] Ban mana yang kempes?

Waduuuuhhhh ……Waduuuuhhhh ……

15

Percabangan : whilePercabangan : while Formula :Formula :

inisialisasiwhile (kondisi) { //statement yang diulang iterasi}

16

Contoh-contoh “while”Contoh-contoh “while”

import java.util.Scanner;

public class DemoWhile1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int bil, jumlah=0;

while (jumlah<=100){ System.out.print("Masukkan angka : "); bil = input.nextInt(); jumlah = jumlah+bil; } System.out.println("Selesai. Total masukan user = "+jumlah); }}

Program yang akan menjumlahkan secara berulang integer masukan

user dan berhenti ketika jumlahnya sudah >100

17

Program miniATM

18

Perulangan “do-while”Perulangan “do-while” Formula Formula

inisialisasido {//statement yang akan diulang…iterasi} while (kondisi);

19

ContohContoh

class ContohDoWhile {class ContohDoWhile {

public static void main (String [] args) {public static void main (String [] args) {

int i = 6;int i = 6;

do {do {

System.out.println(“Java”);System.out.println(“Java”);

i++;i++;

} while (i<5);} while (i<5);

}}

}}

20

Perulangan Bersarang (1)Perulangan Bersarang (1) ““for bersarang”for bersarang”

public class NestedFor { public static void main(String[] args) { int i,j;

for (i=1;i<=5;i++){ for (j=1;j<=i;j++){ System.out.print(i+" "); } System.out.println(); } }}

21

Perulangan Bersarang (2)Perulangan Bersarang (2) ““while bersarang”while bersarang”

public class NestedWhile { public static void main(String[] args) { int i=1,j=1;

while (i<=5){ while (j<=i){ System.out.print(i+" ");

j++; } System.out.println(); i++; } }}

22

Perulangan Bersarang (3)Perulangan Bersarang (3) ““do-while bersarang”do-while bersarang”

public class NestedDoWhile { public static void main(String[] args) { int i=1,j=1;

do { do { System.out.print(i+" ");

j++; } while (j<=i); System.out.println(); i++; } while (i<=5); }}

23

Pretest (10 Menit)Pretest (10 Menit)

1.1. Perbaiki kode berikut :Perbaiki kode berikut :

forfor ( i = 100, i >= 1, i++ ) ( i = 100, i >= 1, i++ )

System.out.println( i );System.out.println( i );

2.2. Kode berikut harusnya menampilkan integer Kode berikut harusnya menampilkan integer ganjil dari 19 s/d 1 :ganjil dari 19 s/d 1 :

forfor ( i = 19; i >= 1; i += 2 ) ( i = 19; i >= 1; i += 2 )

System.out.println( i ); System.out.println( i );

24

3.3. Kode berikut harusnya menampilkan integer Kode berikut harusnya menampilkan integer genap dari 2 s/d 50 :genap dari 2 s/d 50 :

counter = 2; counter = 2;

dodo { {

System.out.println( counter ); System.out.println( counter );

counter += 2 ; counter += 2 ;

} } whilewhile ( counter < 50 ); ( counter < 50 );

25

d)d) Apakah output program berikut :Apakah output program berikut :

publicpublic classclass Printing { Printing {

public static voidpublic static void main(String main(String args[]){ args[]){

forfor ( int i = 1; i <= 3; i++ ) { ( int i = 1; i <= 3; i++ ) {

forfor ( int j = 1; j <= 3; j++ ) ( int j = 1; j <= 3; j++ ) System.out.print( '@' System.out.print( '@'

); );

System.out.println();System.out.println();

} } // end outer for // end outer for

} } // end main // end main

} } // end class Printing// end class Printing

26

LatihanLatihan

1.1. Buat program perulangan yang outputnya :Buat program perulangan yang outputnya :a.a. 1 3 5 7 9 … 991 3 5 7 9 … 99b.b. 100 99 98 97 … 1100 99 98 97 … 1c.c. 5 10 15 20 … 1005 10 15 20 … 100d.d. 2 4 8 16 32 … 2562 4 8 16 32 … 256

2.2. Modifikasilah contoh program di slide 8 Modifikasilah contoh program di slide 8 sehingga banyaknya integer yang sehingga banyaknya integer yang dimasukkan tergantung masukan user. dimasukkan tergantung masukan user. Program akan terus menerus mengulang Program akan terus menerus mengulang hingga user memasukkan huruf ‘t’ pada hingga user memasukkan huruf ‘t’ pada pertanyaan “Ingin mengulang lagi (y/t) ?”pertanyaan “Ingin mengulang lagi (y/t) ?”

27

3.3. Modifikasilah program di slide 14 sehingga Modifikasilah program di slide 14 sehingga outputnya :outputnya :

1 1 1 1 11 1 1 1 1

2 2 2 22 2 2 2

3 3 33 3 3

4 44 4

55

28

PRPR

1.1. Buatlah sebuah array yang akan menyimpan Buatlah sebuah array yang akan menyimpan 10 nilai integer inputan dari user. Gunakan 10 nilai integer inputan dari user. Gunakan perulangan untuk itu. Selanjutnya tampilkan perulangan untuk itu. Selanjutnya tampilkan kesepuluh isi array dalam urutan terbalik kesepuluh isi array dalam urutan terbalik (mulai indeks terakhir s/d pertama)(mulai indeks terakhir s/d pertama)

2.2. Buatlah sebuah array yang akan menyimpan Buatlah sebuah array yang akan menyimpan 5 nilai integer inputan dari user. User dapat 5 nilai integer inputan dari user. User dapat memasukkan sembarang integer tetapi memasukkan sembarang integer tetapi hanya integer genap yang akan disimpan ke hanya integer genap yang akan disimpan ke dalam array. Perulangan berhenti ketika dalam array. Perulangan berhenti ketika array sudah penuh (berisi 5 elemen). array sudah penuh (berisi 5 elemen). Terakhir, tampilkan seluruh isi array ke layar.Terakhir, tampilkan seluruh isi array ke layar.