Download - Materi 6. perulangan
![Page 1: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/1.jpg)
PERULANGAN
Algoritma Pemrograman
Drs. Lamhot Sitorus, M.KomFakultas Ilmu Komputer
Universitas Katolik Santo Thomas
![Page 2: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/11.jpg)
11
Banyaknya Perulangan• Pada umumnya notasi ini sering dituliskan
dengan menggunakan notasi FOR – TO | DOWNTO – DO
![Page 12: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/23.jpg)
23
Pertanyaan ????
![Page 24: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/33.jpg)
33
Kondisi Berhenti
• Bandingkan dengan algoritma berikut
![Page 34: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/36.jpg)
36
Kondisi Perulangan
• Tergantung perulangan yang ada• Kemungkinan tidak pernah dilakukan
![Page 37: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/41.jpg)
41
Kondisi Perulangan
• Bandingkan dengan program berikut
![Page 42: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/50.jpg)
50
Kondisi Perulangan
• Bandingkan dengan algoritma berikut ini.......
![Page 51: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/54.jpg)
54
Pertanyaan ????
![Page 55: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/58.jpg)
58
Perulangan Bersarang (Nested Loop)
AlgoritmaREPEAT
[Pernyataan]REPEAT Blok Pernyataan;UNTIL (Kondisi_2)[Pernyataan]REPEAT (Kondisi_1)
![Page 59: Materi 6. perulangan](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/65.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/66.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/67.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/68.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/69.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081413/5481ca72b4af9f52498b4665/html5/thumbnails/70.jpg)
70
Sampai ketemu di materi berikutnya...
Array