tipe data & variabel - dinus.ac.iddinus.ac.id/repository/docs/ajar/sa_-_pengulangan.pdf1....

Post on 25-Apr-2019

269 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Nisa’ul Hafidhoh

nisa@dsn.dinus.ac.id

Pengulangan

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