SlideShare a Scribd company logo
PERULANGAN
Algoritma Pemrograman

Drs. Lamhot Sitorus, M.Kom
Fakultas Ilmu Komputer
Universitas Katolik Santo Thomas
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
2
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
3
Perulangan
• Perulangan dapat dibedakan atas 3 jenis :
– Berdasarkan jumlah/banyaknya perulangan yang
dilakukan
– Berdasarkan kondisi berhenti
– Berdasarkan kondisi Perulangan

4
Banyaknya Perulangan
• Tergantung banyaknya perulangan
• Pasti
Repeat N Times
Blok_Aksi
 N menyatakan banyaknya perulangan yang akan dilakukan
 Blok_Aksi : aksi atau pernyataan yang akan dilakukan

sebanyak N kali.
5
Banyaknya Perulangan
• Contoh-1. Buat algoritma untuk menampilkan
kata “FIKOM” sebanyak 10 baris
Algoritma Cetak
{Mencetak Kata “FIKOM” sebanyak 10 baris}
Kamus
Algoritma
Repeat 10 Times
Output(“FIKOM”)
6
Banyaknya Perulangan
• Contoh-2. Buat algoritma untuk mencetak
bilangan 1 sampai dengan 10.
Algoritma Cetak
{Mencetak Bilangan 1 sampai dengan 10}
Kamus
I : integer
Algoritma
I0
Repeat 10 Times
II+1
Output( i )

7
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.
8
Banyaknya Perulangan
Algoritma Cetak
{Menghitung jumlah Bilangan 1 sampai dengan 10 dan
mencetak jumlah bilangan}
Kamus
I
: integer
Jumlah : Integer
Algoritma
I0
Jumlah  0
Repeat 10 Times
II+1
Jumlah  Jumlah + I
Output( Jumlah )
9
Banyaknya Perulangan
Algoritma Cetak
{Menghitung jumlah dan rata rata 5 bilangan dan mencetak jumlah dan
rata rata bilangan}
Kamus
Bilangan : integer
Banyak
: integer {Banyaknya Bilangan}
Jumlah
: Integer {Hasil Jumlah Bilangan}
Rata_Rata : Real
{Hasil Rata-Rata bilangan}
Algoritma
Banyak  0
Jumlah  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} 10
Banyaknya Perulangan
• Pada umumnya notasi ini sering dituliskan
dengan menggunakan notasi FOR – TO |
DOWNTO – DO

11
Banyaknya Perulangan
FOR var  awal TO Akhir DO
Blok_Pernyataan
END FOR

• 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
12
Banyaknya Perulangan
FOR var  awal DOWNTO Akhir DO
Blok_Pernyataan
END FOR

• 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
13
Banyaknya Perulangan
• Ke empat algoritma di atas akan dibuat
menggunakan FOR-TO-DO yang disertai
dengan programnya dalam Bahasa
Pemrograman C++

14
Banyaknya Perulangan
Algoritma Cetak
{Mencetak Kata “FIKOM” sebanyak 10 baris}
Kamus
i : integer
Algoritma
For i  1 To 10 DO
Output(“FIKOM”)

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

16
Banyaknya Perulangan
Algoritma Cetak
{Mencetak Bilangan 1 sampai dengan 10}
Kamus
I : integer
Algoritma
FOR i  1 TO 10 DO
OUTPUT( i )
END FOR

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

18
Banyaknya Perulangan
Algoritma Cetak
{Menghitung jumlah Bilangan 1 sampai dengan 10 dan
mencetak jumlah bilangan}
Kamus
I
: integer
Jumlah : Integer
Algoritma
Jumlah  0
FOR i  1 TO 10 DO
Jumlah  Jumlah + I
END FOR
OUTPUT( Jumlah )
19
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();
}
20
Banyaknya Perulangan
Algoritma 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}
Algoritma
Banyak  0
Jumlah  0
For i  1 TO 5 DO
Input(Bilangan)
{membaca Bilangan}
Banyak  Banyak + 1
{menghitung banyaknya Bilangan}
Jumlah  Jumlah + Bilangan {menghitung jumlah bilangan}
END FOR
Rata_Rata  Jumlah / Banyak
{menghitung Rata rata bilangan}
Output( Jumlah, Rata_Rata )
{mencetak Jumlah dan Rata-rata}
21
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();
}
22
23
Kondisi Berhenti
• Tergantung kondisi pada perulangan
• Akan dilakukan perulangan selama kondisi
dipenuhi
• Dilakukan minimal satu kali
• Mungkin terjadi “kebocoran”

24
Kondisi Berhenti
Repeat
Aksi
Until 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

25
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.

26
Kondisi Berhenti
Algoritma Jumlah_N_Bilangan
{Menjumlahkan 1+2+3+...+N dengan N yang dibaca}
Kamus
I
: Integer {bilangan yang akan dijumlahkan}
N
: Integer > 0 {banyaknya bilangan yang akan dijumlahkan}
Jumlah : Integer
{Jumlah 1+2+3+...+N }
Algoritma
Input(N)
Jumlah  0
{Inisialisasi}
I1
{elemen pertama}
Repeat
Output(I)
Jumlah  Jumlah + I
II+1
{elemen berikutnya}
Until (I > N)
{I > N}
27
Output(Jumlah)
{Terminasi}
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();
}
28
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();
}

29
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.

30
Kondisi Berhenti
Algoritma Jumlah_Bilangan
{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan
pembacaan bilangan diakhiri dengan 9999}
Kamus
Bilangan : Integer {bilangan yang akan dijumlahkan}
Jumlah : Integer
{Jumlah Bilangan}
Algoritma
Jumlah  0
{Inisialisasi}
Input(Bilangan)
{elemen pertama}
Repeat
Output(Bilangan)
Jumlah  Jumlah + Bilangan
Input(Bilangan)
{elemen berikutnya}
Until (Bilangan = 9999)
31
Output(Jumlah)
{Terminasi}
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();
}

32
Kondisi Berhenti
• Bandingkan dengan algoritma berikut

33
Kondisi Berhenti
Algoritma Jumlah_Bilangan
{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan
diakhiri dengan 9999}
Kamus
Bilangan : Integer {bilangan yang akan dijumlahkan}
Jumlah : Integer
{Jumlah Bilangan}
Algoritma
Input (Bilangan)
{elemen pertama}
IF (Bilangan 9999) Then
Jumlah  0
{Inisialisasi}
Repeat
Output(Bilangan)
Jumlah  Jumlah + Bilangan
Input(Bilangan)
{elemen berikutnya}
Until (Bilangan = 9999)
Else
Output(‘Kasus Kosong, yang diketik langsung 9999’)
End-IF
Output(Jumlah)
{Terminasi}
34
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();
}

35
Kondisi Perulangan
• Tergantung perulangan yang ada
• Kemungkinan tidak pernah dilakukan

36
Kondisi Perulangan
While (kondisi_perulangan)
Do
Aksi
End-While

• Test kondisi_perulangan, jika true maka
Aksi akan dikerjakan kemudian ditest
kembali kondisi_perulangan, tetapi jika
kondisi_perulangan bernilai false maka
keluar
37
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.

38
Kondisi Perulangan
Algoritma Jumlah_N_Bilangan
{Menjumlahkan 1+2+3+...+N dengan N yang dibaca}
Kamus
I
: Integer {bilangan yang akan dijumlahkan}
N
: Integer > 0 {banyaknya bilangan yang akan dijumlahkan}
Jumlah : Integer
{Jumlah 1+2+3+...+N }
Algoritma
Input(N)
Jumlah  0
{Inisialisasi}
I1
{elemen pertama}
While (i N) Do
Output(I)
Jumlah  Jumlah + I
II+1
{elemen berikutnya}
End-While
{I > N}
39
Output(Jumlah)
{Terminasi}
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();
}
40
Kondisi Perulangan
• Bandingkan dengan program berikut

41
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();
}

42
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.

43
Kondisi Perulangan
Algoritma Jumlah_Bilangan
{Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan
pembacaan bilangan diakhiri dengan 9999}
Kamus
Bilangan : Integer {bilangan yang akan dijumlahkan}
Jumlah : Integer
{Jumlah Bilangan}
Algoritma
Jumlah  0
{Inisialisasi}
Input(Bilangan)
{elemen pertama}
While (Bilangan 9999) Do
Output(Bilangan)
Jumlah  Jumlah + Bilangan
Input(Bilangan)
{elemen berikutnya}
End-While
Output(Jumlah)
{Terminasi}
44
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();
}

45
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. ,,,,,,,,,,,,,,,

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. ,,,,,,,,,,,,,,,

47
Kondisi Perulangan
Algoritma Jumlah_Bilangan_1
{Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah
banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri
dengan 9999}
Kamus
Bilangan : Integer {bilangan yang akan dijumlahkan}
I
: Integer
{banyaknya Bilangan integer yang sudah dibaca}
Algoritma
I 0
{Inisialisasi}
Input(Bilangan)
{elemen pertama}
While (Bilangan 9999) Do
Output(Bilangan)
I I+1
Input(Bilangan)
{elemen berikutnya}
End-While
Output(I)
{Terminasi}
48
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();
}

49
Kondisi Perulangan
• Bandingkan dengan algoritma berikut ini.......

50
Algoritma Jumlah_Bilangan_2
{Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah
banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri
dengan 9999}
Kamus
Bilangan : Integer {bilangan yang akan dijumlahkan}
I
: Integer
{banyaknya Bilangan integer yang sudah dibaca}
Algoritma
I1
{Inisialisasi}
Input(Bilangan)
{elemen pertama}
While (Bilangan 9999) Do
Output(Bilangan)
I I+1
Input(Bilangan)
{elemen berikutnya}
End-While
51
Output(I-1)
{Terminasi}
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();
}

52
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

53
54
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
55
Perulangan Bersarang (Nested Loop)
Algoritma
FOR Var1  awal1 TO akhir1 DO
[Pernyataan]
FOR Var2  awal2 TO akhir2 DO
Blok Pernyataan;
END FOR
[Pernyataan]
END FOR

56
Perulangan Bersarang (Nested Loop)
Algoritma
WHIE (Kondisi_1) DO
[Pernyataan]
WHILE (kondisi_2) DO
Blok Pernyataan;
END WHILE
[Pernyataan]
END WHILE
57
Perulangan Bersarang (Nested Loop)
Algoritma
REPEAT
[Pernyataan]
REPEAT
Blok Pernyataan;
UNTIL (Kondisi_2)
[Pernyataan]
REPEAT (Kondisi_1)

58
Perulangan Bersarang (Nested Loop)
• Contoh-11 : Buatlah algoritma untuk
mencetak keluaran seperti berikut.
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
59
Perulangan Bersarang (Nested Loop)
Algoritma Cetak_1
{algoritma mencetak 0 sampai 9 sebanyak 5 baris}
Kamus
I, j : integer
Algoritma
FOR i  1 TO 5 DO
FOR j  0 TO 9 DO
OUTPUT(j)
END FOR
END FOR
60
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();
}

61
Perulangan Bersarang (Nested Loop)
• Contoh-12. Buat algoritma untuk
membaca sebuah bilangan bulat N,
kemudian cetaklah keluaran seperti
berikut 5ini.
1234 67
11111111
1
a.
b.
123456
12345
1234
123
12
1

2222222
333333
44444
5555
666
77
8

22
333
4444
55555
666666
7777777
88888888

62
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();
}
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<< i << " ";
}
cout<<endl;
}
getch();
}
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<=i; j++)
{
cout<< i << " ";
}
cout<<endl;
}
getch();
}
65
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.

66
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

67
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.

68
Soal Latihan
1. 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;

69
Sampai ketemu di
materi berikutnya...

 Array

70

More Related Content

What's hot

modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
Eko Widyanto Napitupulu
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
Kelinci Coklat
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
eddie Ismantoe
 
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Kelinci Coklat
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
Simon Patabang
 
Pertemuan 02 teori dasar himpunan
Pertemuan 02   teori dasar himpunanPertemuan 02   teori dasar himpunan
Pertemuan 02 teori dasar himpunanFajar Istiqomah
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
Banta Cut
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
Meycelino A. T
 
Bab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluangBab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluang
Arif Windiargo
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Fatma Qolbi
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Rivalri Kristianto Hondro
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
Kelinci Coklat
 
Matematika 2 - Slide week 13 - Eigen
Matematika 2 - Slide week 13 - EigenMatematika 2 - Slide week 13 - Eigen
Matematika 2 - Slide week 13 - EigenBeny Nugraha
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
Buhori Muslim
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
 
Ukuran pemusatan dan penyebaran
Ukuran pemusatan dan penyebaranUkuran pemusatan dan penyebaran
Ukuran pemusatan dan penyebaran
Sriwijaya University
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
 

What's hot (20)

modul algoritma Bab 4
modul algoritma Bab 4modul algoritma Bab 4
modul algoritma Bab 4
 
2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)2. Array of Record (Struktur Data)
2. Array of Record (Struktur Data)
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )Bab 8. Fungsi Transenden ( Kalkulus 1 )
Bab 8. Fungsi Transenden ( Kalkulus 1 )
 
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
 
Pertemuan 02 teori dasar himpunan
Pertemuan 02   teori dasar himpunanPertemuan 02   teori dasar himpunan
Pertemuan 02 teori dasar himpunan
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Laporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascalLaporan hasil praktikum modul i pengenalan pascal
Laporan hasil praktikum modul i pengenalan pascal
 
relasi himpunan
relasi himpunanrelasi himpunan
relasi himpunan
 
Bab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluangBab2 peubah-acak-dan-distribusi-peluang
Bab2 peubah-acak-dan-distribusi-peluang
 
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
Matematika diskrit (dual graf, lintasan dan sirkuit euler, lintasan dan sirku...
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHERTEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
 
Bab 2 perhitungan galat
Bab 2  perhitungan galatBab 2  perhitungan galat
Bab 2 perhitungan galat
 
Matematika 2 - Slide week 13 - Eigen
Matematika 2 - Slide week 13 - EigenMatematika 2 - Slide week 13 - Eigen
Matematika 2 - Slide week 13 - Eigen
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Bab 5 komputer sederhana sap-1
Bab 5   komputer sederhana sap-1Bab 5   komputer sederhana sap-1
Bab 5 komputer sederhana sap-1
 
Ukuran pemusatan dan penyebaran
Ukuran pemusatan dan penyebaranUkuran pemusatan dan penyebaran
Ukuran pemusatan dan penyebaran
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 

Viewers also liked

Modul 6 Perulangan
Modul 6 PerulanganModul 6 Perulangan
Modul 6 Perulangan
Riki Afriansyah
 
Jawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputerJawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputerPebrian Prestya
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
Fazar Ikhwan Guntara
 
Kelompok viii
Kelompok viiiKelompok viii
Kelompok viii
Iklil Tariza
 
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-finalSilabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-finalIkatan Guru Indonesia
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
azkiyaku
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
Putra Andry
 
MATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASARMATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASARndriehs
 
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Saprudin Eskom
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
Budi Kurniawan
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Aziz Moeslim
 
Pengulangan for Algoritma
Pengulangan for AlgoritmaPengulangan for Algoritma
Pengulangan for Algoritma
casnadi
 
Rpp pemrograman dasar
Rpp pemrograman dasarRpp pemrograman dasar
Rpp pemrograman dasar
Muhammad Qomarulloh
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchartiphientcomp
 
Rpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjilRpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjil
Saprudin Eskom
 
Rpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjilRpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjil
Saprudin Eskom
 
Rpp pemrograman dasar kelas 10 semester genap
Rpp pemrograman dasar kelas 10 semester genapRpp pemrograman dasar kelas 10 semester genap
Rpp pemrograman dasar kelas 10 semester genap
Saprudin Eskom
 

Viewers also liked (17)

Modul 6 Perulangan
Modul 6 PerulanganModul 6 Perulangan
Modul 6 Perulangan
 
Jawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputerJawaban soal uts dasar program komputer
Jawaban soal uts dasar program komputer
 
Pengenalan c++ bagian 3
Pengenalan c++ bagian 3Pengenalan c++ bagian 3
Pengenalan c++ bagian 3
 
Kelompok viii
Kelompok viiiKelompok viii
Kelompok viii
 
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-finalSilabus c1 pemrograman-dasar-klas_x_semester_2-final
Silabus c1 pemrograman-dasar-klas_x_semester_2-final
 
Algoritma perulangan
Algoritma perulanganAlgoritma perulangan
Algoritma perulangan
 
Pertemuan iv
Pertemuan ivPertemuan iv
Pertemuan iv
 
MATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASARMATERI PEMOGRAMAN DASAR
MATERI PEMOGRAMAN DASAR
 
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Dasar kelas 10 semester genap tahun ajaran 2014-2015
 
soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1soal-latihan-logika-algoritma-semester1
soal-latihan-logika-algoritma-semester1
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Pengulangan for Algoritma
Pengulangan for AlgoritmaPengulangan for Algoritma
Pengulangan for Algoritma
 
Rpp pemrograman dasar
Rpp pemrograman dasarRpp pemrograman dasar
Rpp pemrograman dasar
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
 
Rpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjilRpp perograman dasar smk kelas 11 semester ganjil
Rpp perograman dasar smk kelas 11 semester ganjil
 
Rpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjilRpp pemrograman dasar kelas 10 semester ganjil
Rpp pemrograman dasar kelas 10 semester ganjil
 
Rpp pemrograman dasar kelas 10 semester genap
Rpp pemrograman dasar kelas 10 semester genapRpp pemrograman dasar kelas 10 semester genap
Rpp pemrograman dasar kelas 10 semester genap
 

Similar to Materi 6. perulangan

ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
arstwn
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
Achmad Solichin
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
I Komang Agustino
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdf
mtsarridho
 
Operasi pengulangan
Operasi pengulanganOperasi pengulangan
Operasi pengulangan
MAFauzan
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
Khairul Anwar
 
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
listiati univ bung hata (1110013211051) Bahasa pemrograman pascallistiati univ bung hata (1110013211051) Bahasa pemrograman pascal
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
Maryanto Sumringah SMA 9 Tebo
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
Senna Hendrian
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
ssuser40a4611
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
ZainalAbidin909479
 
Punya awan
Punya awanPunya awan
Punya awan
Awanda Dwi Prawira
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
Aris_Arinanda
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
Aris_Arinanda
 
Pseudocode
PseudocodePseudocode
Pseudocode
brigidaarie
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Dian Aditya
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
Arif Setiawan
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
Arif Setiawan
 

Similar to Materi 6. perulangan (20)

ALOGARITMA 4
ALOGARITMA 4ALOGARITMA 4
ALOGARITMA 4
 
Pertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur PerulanganPertemuan 6 - Struktur Perulangan
Pertemuan 6 - Struktur Perulangan
 
Topik 8 Perulangan
Topik 8 PerulanganTopik 8 Perulangan
Topik 8 Perulangan
 
Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5Algoritma 1 pertemuan 5
Algoritma 1 pertemuan 5
 
Algoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdfAlgoritma1 Temu 9.pdf
Algoritma1 Temu 9.pdf
 
Operasi pengulangan
Operasi pengulanganOperasi pengulangan
Operasi pengulangan
 
Dasar Pemrogaman Algoritma
Dasar Pemrogaman AlgoritmaDasar Pemrogaman Algoritma
Dasar Pemrogaman Algoritma
 
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
listiati univ bung hata (1110013211051) Bahasa pemrograman pascallistiati univ bung hata (1110013211051) Bahasa pemrograman pascal
listiati univ bung hata (1110013211051) Bahasa pemrograman pascal
 
Materi 3. flowchart
Materi 3. flowchartMateri 3. flowchart
Materi 3. flowchart
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
bab3_alpro1.pptx
bab3_alpro1.pptxbab3_alpro1.pptx
bab3_alpro1.pptx
 
Algoritma pemrograman 9
Algoritma pemrograman 9Algoritma pemrograman 9
Algoritma pemrograman 9
 
Punya awan
Punya awanPunya awan
Punya awan
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
Tugas algoritma
Tugas algoritmaTugas algoritma
Tugas algoritma
 
Pseudocode
PseudocodePseudocode
Pseudocode
 
207 p05
207 p05207 p05
207 p05
 
Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010Tugas C++ - Dian Aditya - 2009/2010
Tugas C++ - Dian Aditya - 2009/2010
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 
Tugas algoritma arif
Tugas algoritma arifTugas algoritma arif
Tugas algoritma arif
 

More from Melva Amma Kalian

Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...
Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...
Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...Melva Amma Kalian
 
Materi 4. type, nama & harga
Materi 4. type, nama & hargaMateri 4. type, nama & harga
Materi 4. type, nama & hargaMelva Amma Kalian
 
Materi 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMateri 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMelva Amma Kalian
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMelva Amma Kalian
 

More from Melva Amma Kalian (8)

Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...
Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...
Hubungan antara-kebiasaan-menonton-acara-informasi-di-televisi-terhadap-peril...
 
Materi 8 aljabar relasional
Materi 8 aljabar relasionalMateri 8 aljabar relasional
Materi 8 aljabar relasional
 
Materi 5. test kondisi
Materi 5. test kondisiMateri 5. test kondisi
Materi 5. test kondisi
 
Materi 5. normalisasi
Materi 5. normalisasiMateri 5. normalisasi
Materi 5. normalisasi
 
Materi 4. type, nama & harga
Materi 4. type, nama & hargaMateri 4. type, nama & harga
Materi 4. type, nama & harga
 
Materi 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritmaMateri 2. pengertian dasar algoritma
Materi 2. pengertian dasar algoritma
 
Materi 1. algoritma pemrograman
Materi 1. algoritma pemrogramanMateri 1. algoritma pemrograman
Materi 1. algoritma pemrograman
 
Materi 0. pengantar
Materi 0. pengantarMateri 0. pengantar
Materi 0. pengantar
 

Materi 6. perulangan

  • 1. PERULANGAN Algoritma Pemrograman Drs. Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Katolik Santo Thomas
  • 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 2
  • 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 3
  • 4. Perulangan • Perulangan dapat dibedakan atas 3 jenis : – Berdasarkan jumlah/banyaknya perulangan yang dilakukan – Berdasarkan kondisi berhenti – Berdasarkan kondisi Perulangan 4
  • 5. Banyaknya Perulangan • Tergantung banyaknya perulangan • Pasti Repeat N Times Blok_Aksi  N menyatakan banyaknya perulangan yang akan dilakukan  Blok_Aksi : aksi atau pernyataan yang akan dilakukan sebanyak N kali. 5
  • 6. Banyaknya Perulangan • Contoh-1. Buat algoritma untuk menampilkan kata “FIKOM” sebanyak 10 baris Algoritma Cetak {Mencetak Kata “FIKOM” sebanyak 10 baris} Kamus Algoritma Repeat 10 Times Output(“FIKOM”) 6
  • 7. Banyaknya Perulangan • Contoh-2. Buat algoritma untuk mencetak bilangan 1 sampai dengan 10. Algoritma Cetak {Mencetak Bilangan 1 sampai dengan 10} Kamus I : integer Algoritma I0 Repeat 10 Times II+1 Output( i ) 7
  • 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. 8
  • 9. Banyaknya Perulangan Algoritma Cetak {Menghitung jumlah Bilangan 1 sampai dengan 10 dan mencetak jumlah bilangan} Kamus I : integer Jumlah : Integer Algoritma I0 Jumlah  0 Repeat 10 Times II+1 Jumlah  Jumlah + I Output( Jumlah ) 9
  • 10. Banyaknya Perulangan Algoritma Cetak {Menghitung jumlah dan rata rata 5 bilangan dan mencetak jumlah dan rata rata bilangan} Kamus Bilangan : integer Banyak : integer {Banyaknya Bilangan} Jumlah : Integer {Hasil Jumlah Bilangan} Rata_Rata : Real {Hasil Rata-Rata bilangan} Algoritma Banyak  0 Jumlah  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} 10
  • 11. Banyaknya Perulangan • Pada umumnya notasi ini sering dituliskan dengan menggunakan notasi FOR – TO | DOWNTO – DO 11
  • 12. Banyaknya Perulangan FOR var  awal TO Akhir DO Blok_Pernyataan END FOR • 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 12
  • 13. Banyaknya Perulangan FOR var  awal DOWNTO Akhir DO Blok_Pernyataan END FOR • 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 13
  • 14. Banyaknya Perulangan • Ke empat algoritma di atas akan dibuat menggunakan FOR-TO-DO yang disertai dengan programnya dalam Bahasa Pemrograman C++ 14
  • 15. Banyaknya Perulangan Algoritma Cetak {Mencetak Kata “FIKOM” sebanyak 10 baris} Kamus i : integer Algoritma For i  1 To 10 DO Output(“FIKOM”) 15
  • 17. Banyaknya Perulangan Algoritma Cetak {Mencetak Bilangan 1 sampai dengan 10} Kamus I : integer Algoritma FOR i  1 TO 10 DO OUTPUT( i ) END FOR 17
  • 19. Banyaknya Perulangan Algoritma Cetak {Menghitung jumlah Bilangan 1 sampai dengan 10 dan mencetak jumlah bilangan} Kamus I : integer Jumlah : Integer Algoritma Jumlah  0 FOR i  1 TO 10 DO Jumlah  Jumlah + I END FOR OUTPUT( Jumlah ) 19
  • 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(); } 20
  • 21. Banyaknya Perulangan Algoritma 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} Algoritma Banyak  0 Jumlah  0 For i  1 TO 5 DO Input(Bilangan) {membaca Bilangan} Banyak  Banyak + 1 {menghitung banyaknya Bilangan} Jumlah  Jumlah + Bilangan {menghitung jumlah bilangan} END FOR Rata_Rata  Jumlah / Banyak {menghitung Rata rata bilangan} Output( Jumlah, Rata_Rata ) {mencetak Jumlah dan Rata-rata} 21
  • 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(); } 22
  • 23. 23
  • 24. Kondisi Berhenti • Tergantung kondisi pada perulangan • Akan dilakukan perulangan selama kondisi dipenuhi • Dilakukan minimal satu kali • Mungkin terjadi “kebocoran” 24
  • 25. Kondisi Berhenti Repeat Aksi Until 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 25
  • 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. 26
  • 27. Kondisi Berhenti Algoritma Jumlah_N_Bilangan {Menjumlahkan 1+2+3+...+N dengan N yang dibaca} Kamus I : Integer {bilangan yang akan dijumlahkan} N : Integer > 0 {banyaknya bilangan yang akan dijumlahkan} Jumlah : Integer {Jumlah 1+2+3+...+N } Algoritma Input(N) Jumlah  0 {Inisialisasi} I1 {elemen pertama} Repeat Output(I) Jumlah  Jumlah + I II+1 {elemen berikutnya} Until (I > N) {I > N} 27 Output(Jumlah) {Terminasi}
  • 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(); } 28
  • 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(); } 29
  • 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. 30
  • 31. Kondisi Berhenti Algoritma Jumlah_Bilangan {Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999} Kamus Bilangan : Integer {bilangan yang akan dijumlahkan} Jumlah : Integer {Jumlah Bilangan} Algoritma Jumlah  0 {Inisialisasi} Input(Bilangan) {elemen pertama} Repeat Output(Bilangan) Jumlah  Jumlah + Bilangan Input(Bilangan) {elemen berikutnya} Until (Bilangan = 9999) 31 Output(Jumlah) {Terminasi}
  • 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(); } 32
  • 33. Kondisi Berhenti • Bandingkan dengan algoritma berikut 33
  • 34. Kondisi Berhenti Algoritma Jumlah_Bilangan {Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999} Kamus Bilangan : Integer {bilangan yang akan dijumlahkan} Jumlah : Integer {Jumlah Bilangan} Algoritma Input (Bilangan) {elemen pertama} IF (Bilangan 9999) Then Jumlah  0 {Inisialisasi} Repeat Output(Bilangan) Jumlah  Jumlah + Bilangan Input(Bilangan) {elemen berikutnya} Until (Bilangan = 9999) Else Output(‘Kasus Kosong, yang diketik langsung 9999’) End-IF Output(Jumlah) {Terminasi} 34
  • 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(); } 35
  • 36. Kondisi Perulangan • Tergantung perulangan yang ada • Kemungkinan tidak pernah dilakukan 36
  • 37. Kondisi Perulangan While (kondisi_perulangan) Do Aksi End-While • Test kondisi_perulangan, jika true maka Aksi akan dikerjakan kemudian ditest kembali kondisi_perulangan, tetapi jika kondisi_perulangan bernilai false maka keluar 37
  • 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. 38
  • 39. Kondisi Perulangan Algoritma Jumlah_N_Bilangan {Menjumlahkan 1+2+3+...+N dengan N yang dibaca} Kamus I : Integer {bilangan yang akan dijumlahkan} N : Integer > 0 {banyaknya bilangan yang akan dijumlahkan} Jumlah : Integer {Jumlah 1+2+3+...+N } Algoritma Input(N) Jumlah  0 {Inisialisasi} I1 {elemen pertama} While (i N) Do Output(I) Jumlah  Jumlah + I II+1 {elemen berikutnya} End-While {I > N} 39 Output(Jumlah) {Terminasi}
  • 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(); } 40
  • 41. Kondisi Perulangan • Bandingkan dengan program berikut 41
  • 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(); } 42
  • 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. 43
  • 44. Kondisi Perulangan Algoritma Jumlah_Bilangan {Menjumlahkan Bilangan yang dibaca dari piranti masukan dengan pembacaan bilangan diakhiri dengan 9999} Kamus Bilangan : Integer {bilangan yang akan dijumlahkan} Jumlah : Integer {Jumlah Bilangan} Algoritma Jumlah  0 {Inisialisasi} Input(Bilangan) {elemen pertama} While (Bilangan 9999) Do Output(Bilangan) Jumlah  Jumlah + Bilangan Input(Bilangan) {elemen berikutnya} End-While Output(Jumlah) {Terminasi} 44
  • 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(); } 45
  • 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. ,,,,,,,,,,,,,,, 46
  • 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. ,,,,,,,,,,,,,,, 47
  • 48. Kondisi Perulangan Algoritma Jumlah_Bilangan_1 {Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri dengan 9999} Kamus Bilangan : Integer {bilangan yang akan dijumlahkan} I : Integer {banyaknya Bilangan integer yang sudah dibaca} Algoritma I 0 {Inisialisasi} Input(Bilangan) {elemen pertama} While (Bilangan 9999) Do Output(Bilangan) I I+1 Input(Bilangan) {elemen berikutnya} End-While Output(I) {Terminasi} 48
  • 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(); } 49
  • 50. Kondisi Perulangan • Bandingkan dengan algoritma berikut ini....... 50
  • 51. Algoritma Jumlah_Bilangan_2 {Menjumlahkan Bilangan yang dibaca dari piranti masukan dan mencacah banyaknya nilai integer yang diketikkan. Pembacaan bilangan diakhiri dengan 9999} Kamus Bilangan : Integer {bilangan yang akan dijumlahkan} I : Integer {banyaknya Bilangan integer yang sudah dibaca} Algoritma I1 {Inisialisasi} Input(Bilangan) {elemen pertama} While (Bilangan 9999) Do Output(Bilangan) I I+1 Input(Bilangan) {elemen berikutnya} End-While 51 Output(I-1) {Terminasi}
  • 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(); } 52
  • 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 53
  • 54. 54
  • 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 55
  • 56. Perulangan Bersarang (Nested Loop) Algoritma FOR Var1  awal1 TO akhir1 DO [Pernyataan] FOR Var2  awal2 TO akhir2 DO Blok Pernyataan; END FOR [Pernyataan] END FOR 56
  • 57. Perulangan Bersarang (Nested Loop) Algoritma WHIE (Kondisi_1) DO [Pernyataan] WHILE (kondisi_2) DO Blok Pernyataan; END WHILE [Pernyataan] END WHILE 57
  • 58. Perulangan Bersarang (Nested Loop) Algoritma REPEAT [Pernyataan] REPEAT Blok Pernyataan; UNTIL (Kondisi_2) [Pernyataan] REPEAT (Kondisi_1) 58
  • 59. Perulangan Bersarang (Nested Loop) • Contoh-11 : Buatlah algoritma untuk mencetak keluaran seperti berikut. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 59
  • 60. Perulangan Bersarang (Nested Loop) Algoritma Cetak_1 {algoritma mencetak 0 sampai 9 sebanyak 5 baris} Kamus I, j : integer Algoritma FOR i  1 TO 5 DO FOR j  0 TO 9 DO OUTPUT(j) END FOR END FOR 60
  • 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(); } 61
  • 62. Perulangan Bersarang (Nested Loop) • Contoh-12. Buat algoritma untuk membaca sebuah bilangan bulat N, kemudian cetaklah keluaran seperti berikut 5ini. 1234 67 11111111 1 a. b. 123456 12345 1234 123 12 1 2222222 333333 44444 5555 666 77 8 22 333 4444 55555 666666 7777777 88888888 62
  • 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(); } 63
  • 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(); } 64
  • 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(); } 65
  • 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. 66
  • 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 67
  • 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. 68
  • 69. Soal Latihan 1. 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; 69
  • 70. Sampai ketemu di materi berikutnya...  Array 70