Latar Belakang
• Melakukan suatu instruksi / aksi secaraberulang-ulang
• Komputer: performansi sama
• Manusia:
cenderung melakukan
kesalahan (letih/bosan)
Bagian
• Kondisi pengulangan berhenti
– Ekspresi lojik yang menyebabkan perulanganberhenti
• Badan pengulangan
– Aksi yang diulang
Berdasar Jumlah Pengulangan
• repeat n times
aksi
Berdasar kondisi berhenti
Algoritma Pascal C
repeat
aksi
until kondisi-berhenti
repeat
aksi
until kondisi-berhenti
do
aksi;
while (kondisi-berhenti);
Berdasar kondisi pengulangan
Algoritma Pascal C
while (kondisi-ulang) do
aksi
while (kondisi-ulang) do
begin
aksi
end;
while (kondisi-ulang)
{
aksi;
}
Berdasar Pencacah
Algoritma Pascal C
i traversal [awal..akhir]
aksi
for (i:=awal to akhir)
do
begin
aksi
end;
for (i=awal;i<=akhir;i++)
{
aksi;
}
for (i:=awal downto
akhir) do
begin
aksi
end;
for (i=awal;i>=akhir;i--)
{
aksi;
}
Latihan
• Buat algoritma untuk membuat deretberikut menggunakan pengulangan
a. 0,2,4,6,8,…,100
b. 10,8,6,4,2
c. 1,4,7,10,13,16,…,40 dan hitung berapajumlah angka yang muncul
Pengulangan Bersarang
Pengulangan Bersarang
• Struktur perulangan yang berada didalamstruktur perulangan lainnya.
• Konsep:
– Pada setiap perulangan pertama, akanmenyelesaikan perulangan yang kedua.
– Pada setiap perulangan kedua, akanmenyelesaikan perulangan ketiga, dst.
– Perulangan yang lebih luar akan bertambah, dan mengerjakan perulangan yang lebihdalam lagi mulai dari nilai awalnya dst
Contoh Notasi
for (i=awal;i<=akhir;i++){
for (j=awal;j<=akhir;j++){
for (k=awal;k<=akhir;k++){
aksi;
}
}
}
Contoh Kasus
• Buatlah algoritma untuk matriks m x n
n=1;
for(b = 0; b < jlhBaris; b++) {
for(k = 0; k < jlhKolom; k++) {output n
n++
}
output \n
}
Contoh Kasus
b,k=0;
n=1;
while(b<jlhBaris){
while(k<jlhKolom){
output n;
k++;
}
output \n;
b++;
}
LATIHAN
• Buatlah tampilan bilangan berikut
1
12
123
1234
123
12
1
int i,j,n;
n=10;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
{
output j;
}
output \n;
}
for(i=n-1;i>=1;i--)
{
for(j=1;j<=i;j++)
{
output j;
}
output \n;
}
Analisa Kondisi dan Pengulangan
• Analisa Kondisi
– If..else
– Depend on
• Pengulangan
– While..do
– Repeat..until
– For
Kombinasi:If( ){
for( )}
While( )do{
depend on(){}
}
Contoh Kasus
• Buatlah algoritma untuk mengecek bilangan prima!
• Syarat prima:
– Bilangan yang hanya bisa dibagi diri sendiri
• Solusi: CheckNum(num){
int c,num;
int pembagi = 0;
for(c = 1;c<=num;c++){
if(num%c == 0){
pembagi++;
}
}
if(pembagi == 2){
output prima;
}
else{
output bukan prima;
}
}
Latihan
1. Algoritma untuk menampilkan deret 0 1 3 6 10
2. Algoritma menampilkan deret bilangan 1 – 20 yang habis dibagi dengan 2 dan habis dibagidengan 3.
3. Algoritma untuk menampilkan deret dari 1 hingga n (n adalah masukan), kemudiantampilkan genap / ganjil.
Contoh: n = 4
1 ganjil
2 genap
3 ganjil
4 genap
TERIMA KASIH
Top Related