Materi 6. perulangan

70
PERULANGAN Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas

description

 

Transcript of Materi 6. perulangan

Page 1: Materi 6. perulangan

PERULANGAN

Algoritma Pemrograman

Drs. Lamhot Sitorus, M.KomFakultas Ilmu Komputer

Universitas Katolik Santo Thomas

Page 2: Materi 6. perulangan

2

Pengantar

• Komputer melakukan berulang dengan kinerja yang sama

• Manusia bosan, cenderung melakukan kesalahan

• Contoh :– Menulis “Saya akan Belajar dengan Baik” sebanyak 100 lembar– Menimba air ke bak mandi sampai penuh– Makan hingga kenyang– Menaiki anak tangga hingga lantai 5– Mencari suatu bilangan dari sekelompok bilangan

Page 3: Materi 6. perulangan

3

Perulangan

• Perulangan terdiri dari dua bagian :– Kondisi yang mengakibatkan perulangan suatu saat

berhenti, yang dinyatakan oleh sebuah ekspresi logika baik secara eksplisit maupun implisit

– Badan perulangan, yaitu aksi yang harus diulang selama kondisi yang ditentukan untuk perulangan masih dipenuhi

• Harus berhenti

Page 4: Materi 6. perulangan

4

Perulangan

• Perulangan dapat dibedakan atas 3 jenis :– Berdasarkan jumlah/banyaknya perulangan yang

dilakukan– Berdasarkan kondisi berhenti– Berdasarkan kondisi Perulangan

Page 5: Materi 6. perulangan

5

Banyaknya Perulangan• Tergantung banyaknya perulangan• Pasti

Repeat N Times Blok_Aksi

N menyatakan banyaknya perulangan yang akan dilakukanBlok_Aksi : aksi atau pernyataan yang akan dilakukan

sebanyak N kali.

Page 6: Materi 6. perulangan

6

Banyaknya Perulangan• Contoh-1. Buat algoritma untuk menampilkan

kata “FIKOM” sebanyak 10 baris

Algoritma Cetak {Mencetak Kata “FIKOM” sebanyak 10 baris}Kamus

AlgoritmaRepeat 10 Times Output(“FIKOM”)

Page 7: Materi 6. perulangan

7

Banyaknya Perulangan• Contoh-2. Buat algoritma untuk mencetak

bilangan 1 sampai dengan 10.

Algoritma Cetak {Mencetak Bilangan 1 sampai dengan 10}Kamus I : integerAlgoritma

I 0Repeat 10 Times

I I + 1Output( i )

Page 8: Materi 6. perulangan

8

Banyaknya Perulangan

• Contoh-3. Buat algoritma untuk menghitung jumlah bilangan 1 sampai dengan 10 kemudian mencetak jumlahnya.

• Contoh-4. Buat algoritma untuk membaca 5 buah bilangan kemudian hitung jumlah dan rata-rata ke lima bilangan dan mencetak jumlah dan rata-ratanya.

Page 9: Materi 6. perulangan

9

Banyaknya PerulanganAlgoritma Cetak {Menghitung jumlah Bilangan 1 sampai dengan 10 dan

mencetak jumlah bilangan}Kamus

I : integerJumlah : Integer

AlgoritmaI 0Jumlah 0 Repeat 10 Times

I I + 1Jumlah Jumlah + I

Output( Jumlah )

Page 10: Materi 6. perulangan

10

Banyaknya PerulanganAlgoritma Cetak

{Menghitung jumlah dan rata rata 5 bilangan dan mencetak jumlah dan rata rata bilangan}

KamusBilangan : integerBanyak : integer {Banyaknya Bilangan}Jumlah : Integer {Hasil Jumlah Bilangan}Rata_Rata : Real {Hasil Rata-Rata bilangan}

AlgoritmaBanyak 0Jumlah 0 Repeat 5 Times

Input(Bilangan) {membaca Bilangan}Banyak Banyak + 1 {menghitung banyaknya Bilangan}Jumlah Jumlah + Bilangan {menghitung jumlah bilangan}

Rata_Rata Jumlah / Banyak {menghitung Rata rata bilangan}Output( Jumlah, Rata_Rata ) {mencetak Jumlah dan Rata-rata}

Page 11: Materi 6. perulangan

11

Banyaknya Perulangan• Pada umumnya notasi ini sering dituliskan

dengan menggunakan notasi FOR – TO | DOWNTO – DO

Page 12: Materi 6. perulangan

12

Banyaknya Perulangan

• var : variabel counter perulangan dengan nilai mulai dari awal hingga akhir

• awal : harga awal dari var, awal akhir• akhir : harga akhir dari var• Blok Pernyataan : Pernyataan yang akan dilakukan

selama nilai var nilai akhir

FOR var awal TO Akhir DO Blok_PernyataanEND FOR

Page 13: Materi 6. perulangan

13

Banyaknya Perulangan

• var : variabel counter perulangan dengan nilai mulai dari awal hingga akhir

• awal : harga awal dari var, awal akhir• akhir : harga akhir dari var• Blok_Pernyataan : Pernyataan yang akan dilakukan

selama nilai var dari nilai akhir

FOR var awal DOWNTO Akhir DO Blok_PernyataanEND FOR

Page 14: Materi 6. perulangan

14

Banyaknya Perulangan

• Ke empat algoritma di atas akan dibuat menggunakan FOR-TO-DO yang disertai dengan programnya dalam Bahasa Pemrograman C++

Page 15: Materi 6. perulangan

15

Banyaknya PerulanganAlgoritma Cetak {Mencetak Kata “FIKOM” sebanyak 10 baris}Kamus i : integerAlgoritma

For i 1 To 10 DO Output(“FIKOM”)

Page 16: Materi 6. perulangan

16

Banyaknya Perulangan#include<iostream.h>#include<conio.h>main(){ int i; for(i=1; i<=10; i++) { cout<<"FIKOM \n"; } getch();}

Page 17: Materi 6. perulangan

17

Banyaknya Perulangan

Algoritma Cetak {Mencetak Bilangan 1 sampai dengan 10}Kamus I : integerAlgoritma

FOR i 1 TO 10 DOOUTPUT( i )

END FOR

Page 18: Materi 6. perulangan

18

Banyaknya Perulangan#include<iostream.h>#include<conio.h>main(){ int i; for(i=1; i<=10; i++) { cout<<i<<" "; } getch();}

Page 19: Materi 6. perulangan

19

Banyaknya PerulanganAlgoritma Cetak {Menghitung jumlah Bilangan 1 sampai dengan 10 dan

mencetak jumlah bilangan}Kamus

I : integerJumlah : Integer

AlgoritmaJumlah 0 FOR i 1 TO 10 DO

Jumlah Jumlah + IEND FOROUTPUT( Jumlah )

Page 20: Materi 6. perulangan

20

Banyaknya Perulangan#include<iostream.h>#include<conio.h>main(){ int i, jumlah=0; for(i=1; i<=10; i++) { jumlah = jumlah + i; } cout<<"Jumlah Bilangan = "<<jumlah; getch();}

Page 21: Materi 6. perulangan

21

Banyaknya PerulanganAlgoritma Cetak

{Menghitung jumlah dan rata rata 5 bilangan dan mencetak jumlah dan rata rata bilangan}Kamus

Banyak : integer {Banyaknya Bilangan}Jumlah : Integer {Hasil Jumlah Bilangan}Bilangan : integer {Bilangan yang akan dihitung}I : integer; Rata_Rata : Real {Hasil Rata-Rata bilangan}

AlgoritmaBanyak 0Jumlah 0 For i 1 TO 5 DO

Input(Bilangan) {membaca Bilangan}Banyak Banyak + 1 {menghitung banyaknya Bilangan}Jumlah Jumlah + Bilangan {menghitung jumlah bilangan}

END FORRata_Rata Jumlah / Banyak {menghitung Rata rata bilangan}Output( Jumlah, Rata_Rata ) {mencetak Jumlah dan Rata-rata}

Page 22: Materi 6. perulangan

22

Banyaknya Perulangan#include<iostream.h>#include<conio.h>main(){ int i, Bilangan; int Banyak=0; int Jumlah=0; float Rata_Rata; for(i=1; i<=5; i++) { cout<<"Masukkan Bilangan : "; cin>>Bilangan; Banyak = Banyak + 1; Jumlah = Jumlah + Bilangan; } Rata_Rata = Jumlah / Banyak; cout<<"Jumlah Bilangan = "<<Jumlah<<endl; cout<<"Rata Rata Bilangan = "<<Rata_Rata; getch();}

Page 23: Materi 6. perulangan

23

Pertanyaan ????

Page 24: Materi 6. perulangan

24

Kondisi Berhenti• Tergantung kondisi pada perulangan• Akan dilakukan perulangan selama kondisi

dipenuhi• Dilakukan minimal satu kali• Mungkin terjadi “kebocoran”

Page 25: Materi 6. perulangan

25

Kondisi Berhenti

• Aksi akan berhenti jika kondisi-berhenti dipenuhi (bernilai true), akan diulang jika kondisi-berhenti belum tercapai (bernilai false).

• Aksi akan dikerjakan minimal satu kali • Test terhadap kondisi_berhentu dilakukan setelah

Aksi dilaksanakan.

Repeat AksiUntil Kondisi-berhenti

Page 26: Materi 6. perulangan

26

Kondisi Berhenti• Contoh-5. Buatlah algoritma untuk

membaca sebuah bilangan bulat positif N, menuliskan 1, 2, 3, ..., N dan menjumlahkan 1+2+3+...+N serta menuliskan hasil penjumlahan.

Page 27: Materi 6. perulangan

27

Kondisi BerhentiAlgoritma Jumlah_N_Bilangan {Menjumlahkan 1+2+3+...+N dengan N yang dibaca}KamusI : Integer {bilangan yang akan dijumlahkan}N : Integer > 0 {banyaknya bilangan yang akan dijumlahkan}Jumlah : Integer {Jumlah 1+2+3+...+N }AlgoritmaInput(N)Jumlah 0 {Inisialisasi}I 1 {elemen pertama}Repeat

Output(I)Jumlah Jumlah + II I + 1 {elemen berikutnya}Until (I > N) {I > N}Output(Jumlah) {Terminasi}

Page 28: Materi 6. perulangan

28

Kondisi Berhenti#include<iostream.h>#include<conio.h>main(){ int Banyak=0, N; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>N; do { Banyak = Banyak + 1; Jumlah = Jumlah + Banyak; } while(Banyak < N); cout<<"Jumlah Bilangan = "<<Jumlah; getch();}

Page 29: Materi 6. perulangan

29

Kondisi Berhenti#include<iostream.h>#include<conio.h>main(){ int Banyak=0, N; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>N; do { Jumlah = Jumlah + Banyak; Banyak = Banyak + 1; } while(Banyak < N); cout<<"Jumlah Bilangan = "<<Jumlah; getch();}

Page 30: Materi 6. perulangan

30

Kondisi Berhenti

• Contoh-6. Tuliskanlah sebuah algoritma yang membaca nilai-nilai integer yang dibaca dari piranti masukan, dan menjumlahkan nilainya. Pemasukan nilai integer diakhiri dengan 9999.

Page 31: Materi 6. perulangan

31

Kondisi BerhentiAlgoritma Jumlah_Bilangan

{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999}

KamusBilangan : Integer {bilangan yang akan dijumlahkan}Jumlah : Integer {Jumlah Bilangan}AlgoritmaJumlah 0 {Inisialisasi}Input(Bilangan) {elemen pertama}Repeat

Output(Bilangan)Jumlah Jumlah + BilanganInput(Bilangan) {elemen berikutnya}Until (Bilangan = 9999)Output(Jumlah) {Terminasi}

Page 32: Materi 6. perulangan

32

Kondisi Berhenti#include<iostream.h>#include<conio.h>main(){ int Bilangan; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>Bilangan; // elemen pertama do { cout<<Bilangan<<endl; Jumlah = Jumlah + Bilangan; cout<<"Masukkan Bilangan : "; cin>>Bilangan; // elemen berikutnya } while(Bilangan != 9999); cout<<"Jumlah Bilangan = "<<Jumlah<<endl; getch();

}

Page 33: Materi 6. perulangan

33

Kondisi Berhenti

• Bandingkan dengan algoritma berikut

Page 34: Materi 6. perulangan

34

Kondisi BerhentiAlgoritma Jumlah_Bilangan

{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999}

KamusBilangan : Integer {bilangan yang akan dijumlahkan}Jumlah : Integer {Jumlah Bilangan}AlgoritmaInput (Bilangan) {elemen pertama}IF (Bilangan 9999) Then

Jumlah 0 {Inisialisasi}Repeat

Output(Bilangan)Jumlah Jumlah + BilanganInput(Bilangan) {elemen berikutnya}

Until (Bilangan = 9999)ElseOutput(‘Kasus Kosong, yang diketik langsung 9999’)End-IFOutput(Jumlah) {Terminasi}

Page 35: Materi 6. perulangan

35

Kondisi Berhenti#include<iostream.h>#include<conio.h>main(){ int Bilangan=0; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>Bilangan; // elemen pertama if(Bilangan != 9999) { do { cout<<Bilangan<<endl; Jumlah = Jumlah + Bilangan; cout<<"Masukkan Bilangan : "; cin>>Bilangan; // elemen nberikutnya } while(Bilangan != 9999); } else cout<<"Kasus Kosong.....\n"; cout<<"Jumlah Bilangan = "<<Jumlah<<endl; getch();}

Page 36: Materi 6. perulangan

36

Kondisi Perulangan

• Tergantung perulangan yang ada• Kemungkinan tidak pernah dilakukan

Page 37: Materi 6. perulangan

37

Kondisi Perulangan

• Test kondisi_perulangan, jika true maka Aksi akan dikerjakan kemudian ditest kembali kondisi_perulangan, tetapi jika kondisi_perulangan bernilai false maka keluar

While (kondisi_perulangan) Do AksiEnd-While

Page 38: Materi 6. perulangan

38

Kondisi Perulangan

• Contoh-7. Buatlah algoritma untuk membaca sebuah bilangan bulat positif N, menuliskan 1, 2, 3, ..., N dan menjumlahkan 1+2+3+...+N serta menuliskan hasil penjumlahan.

Page 39: Materi 6. perulangan

39

Kondisi PerulanganAlgoritma Jumlah_N_Bilangan {Menjumlahkan 1+2+3+...+N dengan N yang dibaca}

KamusI : Integer {bilangan yang akan dijumlahkan}N : Integer > 0 {banyaknya bilangan yang akan dijumlahkan}Jumlah : Integer {Jumlah 1+2+3+...+N }AlgoritmaInput(N)Jumlah 0 {Inisialisasi}I 1 {elemen pertama}While (i N) Do

Output(I)Jumlah Jumlah + II I + 1 {elemen berikutnya}End-While{I > N}Output(Jumlah) {Terminasi}

Page 40: Materi 6. perulangan

40

Kondisi Perulangan#include<iostream.h>#include<conio.h> main(){ int i=1; int N; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>N; while(i<=N) { Jumlah = Jumlah + i; i++; } cout<<"Jumlah Bilangan = "<<Jumlah<<endl; getch();}

Page 41: Materi 6. perulangan

41

Kondisi Perulangan

• Bandingkan dengan program berikut

Page 42: Materi 6. perulangan

42

Kondisi Perulangan

#include<iostream.h>#include<conio.h> main(){ int i=0; int N; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>N; while(i<N) { i++; Jumlah = Jumlah + i; } cout<<"Jumlah Bilangan = "<<Jumlah<<endl; getch();}

Page 43: Materi 6. perulangan

43

Kondisi Perulangan

• Contoh-8. Tuliskanlah sebuah algoritma yang membaca nilai-nilai integer yang dibaca dari piranti masukan, dan menjumlahkan nilainya. Pemasukan nilai integer diakhiri dengan 9999.

Page 44: Materi 6. perulangan

44

Kondisi PerulanganAlgoritma Jumlah_Bilangan

{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999}

KamusBilangan : Integer {bilangan yang akan dijumlahkan}Jumlah : Integer {Jumlah Bilangan}AlgoritmaJumlah 0 {Inisialisasi}Input(Bilangan) {elemen pertama}While (Bilangan 9999) Do

Output(Bilangan)Jumlah Jumlah + BilanganInput(Bilangan) {elemen berikutnya}End-WhileOutput(Jumlah) {Terminasi}

Page 45: Materi 6. perulangan

45

Kondisi Perulangan#include<iostream.h>#include<conio.h>main(){ int Bilangan; int Jumlah=0; cout<<"Masukkan Bilangan : "; cin>>Bilangan; while(Bilangan != 9999) { cout<<"Bilangannya adalah : "<<Bilangan <<endl; Jumlah = Jumlah + Bilangan; cout<<"Masukkan Bilangan : "; cin>>Bilangan; } cout<<"Jumlah Bilangan = "<<Jumlah<<endl; getch();}

Page 46: Materi 6. perulangan

46

Kondisi Perulangan

• Contoh-10. Tuliskanlah sebuah algoritma yang membaca nilai-nilai integer yang dibaca dari piranti masukan, dan mencacah banyaknya nilai integer yang diketikkan. Pemasukan nilai integer diakhiri dengan 9999. ,,,,,,,,,,,,,,,

Page 47: Materi 6. perulangan

47

Kondisi Perulangan

• Contoh-10. Tuliskanlah sebuah algoritma yang membaca nilai-nilai integer yang dibaca dari piranti masukan, dan mencacah banyaknya nilai integer yang diketikkan. Pemasukan nilai integer diakhiri dengan 9999. ,,,,,,,,,,,,,,,

Page 48: Materi 6. perulangan

48

Kondisi PerulanganAlgoritma Jumlah_Bilangan_1

{Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri dengan 9999}

KamusBilangan : Integer {bilangan yang akan dijumlahkan}I : Integer {banyaknya Bilangan integer yang sudah dibaca}AlgoritmaI 0 {Inisialisasi}Input(Bilangan) {elemen pertama}While (Bilangan 9999) Do

Output(Bilangan)I I + 1Input(Bilangan) {elemen berikutnya}End-WhileOutput(I) {Terminasi}

Page 49: Materi 6. perulangan

49

Kondisi Perulangan#include<iostream.h>#include<conio.h>main(){ int Bilangan; int i=0; cout<<"Masukkan Bilangan : "; cin>>Bilangan; while(Bilangan != 9999) { cout<<"Bilangannya adalah : "<<Bilangan <<endl; i++; cout<<"Masukkan Bilangan : "; cin>>Bilangan; } cout<<"Banyak Bilangan = "<< i; getch();}

Page 50: Materi 6. perulangan

50

Kondisi Perulangan

• Bandingkan dengan algoritma berikut ini.......

Page 51: Materi 6. perulangan

51

Algoritma Jumlah_Bilangan_2{Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri dengan 9999}

KamusBilangan : Integer {bilangan yang akan dijumlahkan}I : Integer {banyaknya Bilangan integer yang sudah dibaca}AlgoritmaI 1 {Inisialisasi}Input(Bilangan) {elemen pertama}While (Bilangan 9999) Do

Output(Bilangan)I I + 1Input(Bilangan) {elemen berikutnya}End-WhileOutput(I-1) {Terminasi}

Page 52: Materi 6. perulangan

52

Kondisi Perulangan#include<iostream.h>#include<conio.h>main(){ int Bilangan; int i=1; cout<<"Masukkan Bilangan : "; cin>>Bilangan; while(Bilangan != 9999) { cout<<"Bilangannya adalah : "<<Bilangan <<endl; i++; cout<<"Masukkan Bilangan : "; cin>>Bilangan; } cout<<"Banyak Bilangan = "<< i-1; getch();}

Page 53: Materi 6. perulangan

53

Kondisi Perulangan

• Ada bermacam-macam notasi perulangan, sebenarnya satu bentuk perulangan dapat “diterjemahkan” menjadi bentuk yang lain dengan notasi algoritmik yang tersedia.

• Persoalannya adalah “Bagimana memilih Notasi perulangan yang benar dan tepat untuk kelas persoalan tertentu”.

• Tidak semua bahasa pemrograman yang ada menyediakan semua bentuk perulangan di atas. Pemilihan bentuk perulangan sangatlah disarankan.

Page 54: Materi 6. perulangan

54

Pertanyaan ????

Page 55: Materi 6. perulangan

55

Perulangan Bersarang (Nested Loop)

• Adalah suatu perulangan yang ada dalam perulangan.

• Perulangan yang paling dalam akan diselesaikan terlebih dahulu baru perulangan yang diluar.

• Perlu diperhatikan bahwa variabel counter untuk masing-masing perulangan tidak diperkenankan sama serta tidak diperkenankan juga saling memotong

Page 56: Materi 6. perulangan

56

Perulangan Bersarang (Nested Loop)

AlgoritmaFOR Var1 awal1 TO akhir1 DO

[Pernyataan]FOR Var2 awal2 TO akhir2 DO Blok Pernyataan;END FOR[Pernyataan]END FOR

Page 57: Materi 6. perulangan

57

Perulangan Bersarang (Nested Loop)

AlgoritmaWHIE (Kondisi_1) DO

[Pernyataan]WHILE (kondisi_2) DO Blok Pernyataan;END WHILE[Pernyataan]END WHILE

Page 58: Materi 6. perulangan

58

Perulangan Bersarang (Nested Loop)

AlgoritmaREPEAT

[Pernyataan]REPEAT Blok Pernyataan;UNTIL (Kondisi_2)[Pernyataan]REPEAT (Kondisi_1)

Page 59: Materi 6. perulangan

59

Perulangan Bersarang (Nested Loop)

• Contoh-11 : Buatlah algoritma untuk mencetak keluaran seperti berikut.

0 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 90 1 2 3 4 5 6 7 8 9

Page 60: Materi 6. perulangan

60

Perulangan Bersarang (Nested Loop)

Algoritma Cetak_1 {algoritma mencetak 0 sampai 9 sebanyak 5 baris}Kamus I, j : integerAlgoritma

FOR i 1 TO 5 DOFOR j 0 TO 9 DO OUTPUT(j)END FOREND FOR

Page 61: Materi 6. perulangan

61

Perulangan Bersarang (Nested Loop)

#include<iostream.h>#include<conio.h>main(){ int i, j; for(i=1; i<=5; i++) { for(j=0; j<=9;j++) { cout<< j << " "; } cout<<endl; } getch();}

Page 62: Materi 6. perulangan

62

Perulangan Bersarang (Nested Loop)

• Contoh-12. Buat algoritma untuk membaca sebuah bilangan bulat N, kemudian cetaklah keluaran seperti berikut ini.1 2 3 4 5 6 7

1 2 3 4 5 61 2 3 4 5 1 2 3 4 1 2 31 21

1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 5 5 5 56 6 67 7 8

a. b. 1 2 2 3 3 34 4 4 4 5 5 5 5 56 6 6 6 6 6 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8

Page 63: Materi 6. perulangan

63

Perulangan Bersarang (Nested Loop)

#include<iostream.h>#include<conio.h>main(){ int i, j, N; cout<<"Masukkan Suatu Bilangan : "; cin>>N; for(i=1; i<=N; i++) { for(j=1; j<=N-i+1; j++) { cout<< j << " "; } cout<<endl; } getch();}

Page 64: Materi 6. perulangan

64

Perulangan Bersarang (Nested Loop)

#include<iostream.h>#include<conio.h>main(){ int i, j, N; cout<<"Masukkan Suatu Bilangan : "; cin>>N; for(i=1; i<=N; i++) { for(j=1; j<=N-i+1; j++) { cout<< i << " "; } cout<<endl; } getch();}

Page 65: Materi 6. perulangan

65

Perulangan Bersarang (Nested Loop)

#include<iostream.h>#include<conio.h>main(){ int i, j, N; cout<<"Masukkan Suatu Bilangan : "; cin>>N; for(i=1; i<=N; i++) { for(j=1; j<=i; j++) { cout<< i << " "; } cout<<endl; } getch();}

Page 66: Materi 6. perulangan

66

Soal Latihan

1. Buatlah algoritma dan program untuk mencetak semua bilangan yang habis dibagi 3 mulai 1 sampai 100.

2. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 2 dan 3 mulai 10 sampai dengan 100.

3. Buatlah algoritma dan program untuk mencetak bilangan yang habis dibagi 2 dan 3 mulai 10 sampai dengan 100 serta menghitung jumah dan rata-ratanya.

Page 67: Materi 6. perulangan

67

Soal Latihan

1. Bacalah N buah bilangan secara acak kemudian hitunglah jumlah dan rata-rata bilangan hanya yang habis dibagi 2 dan 3 dari sederetan bilangan. Buat algoritma dan programnya.

2. Buat algoritma dan program untuk mencetak dan menghitung deret fibonacci sampai dengan 50

3. Buat algoritma dan program untuk mencetak dan menghitung deret fibonacci sebanyak 50 suku.

Page 68: Materi 6. perulangan

68

Soal Latihan

1. Dibaca dua buah bilangan bulat positif (M dan N). Kedua bilangan akan dikalikan (MxN) dengan melakukan perjumlahan. Misal 5x4=5+5+5+5. Buatlah algoritma dan program untuk melakukan perkalian dengan cara perjumlahan.

2. Dibaca dua buah bilangan bulat positif (M dan N). Kedua bilangan akan dihitung pangkatnya (MN) dengan melakukan perkalian M sebanyak N. Misal 54=5x5x5x5. Buatlah algoritma dan program untuk melakukan perpangkatan dengan cara perkalian.

Page 69: Materi 6. perulangan

69

Soal Latihan1. Untuk menghitung sisa bagi dan hasil bagi bulat dari dua buah

bilangan bulat positif (M dan N) dapat dilakukan dengan MOD dan DIV. Dibaca dua buah bilangan bulat (M dan N) kemudian akan dihitung sisa bagi dan hasil bagi bulat dari kedua bilangan tersebut dengan tidak menggunakan MOD dan DIV. Untuk menghitung Sisa Bagi dapat dilakukan dengan mengurangi M dengan N hingga nilai M lebih kecil dari N. Banyaknya pengurangan yang dilakukan adalah merupakan Hasil Bagi Bulat. Misal 13 dan 2. Kurangkan 13 dengan 2 hingga hasilnya lebih kecil dari 2. Dan hitung berapa banyaknya pengurangan yang dilakukan. 13-2=11; 11-2=9; 9-2=7; 7-2=5; 5-2=3; 3-2=1; karena 1 sudah lebih kecil dai 2 maka pengurangan berhenti, berarti Sisa Bagi 13 dengan 2 adalah 1. Dari pengurangan di atas dapat dilihat banyaknya pengurangan adalah 6, berarti Hasil Bagi Bulat 13 dengan 2 adalah 6.

Page 70: Materi 6. perulangan

70

Sampai ketemu di materi berikutnya...

Array