TE E 2 103 Algoritma dan Pemrograman

21
TEE 2103 Algoritma dan Pemrograman Pengulangan Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: [email protected] Website: www. abdill01.wordpress.com

description

TE E 2 103 Algoritma dan Pemrograman. Pengulangan. Dosen: Abdillah, MIT Hp : 0853 6581 8665 Email: abdill 01 @ gmail.com Website: www. abdill01.wordpress.com. Tujuan. M emahami proses pengulangan while , for dan do dalam runtunan komputasi program C. Pe ngulangan while. - PowerPoint PPT Presentation

Transcript of TE E 2 103 Algoritma dan Pemrograman

Page 1: TE E  2 103 Algoritma dan Pemrograman

TEE 2103 Algoritma dan Pemrograman

Pengulangan

Dosen: Abdillah, MITHp: 0853 6581 8665Email: [email protected]: www.abdill01.wordpress.com

Page 2: TE E  2 103 Algoritma dan Pemrograman

Tujuan

Memahami proses pengulangan while, for dan do dalam runtunan komputasi program C.

Page 3: TE E  2 103 Algoritma dan Pemrograman

Pengulangan while

Bentuk umum pengulangan while adalah

while (ekspresi) statement

Ekspresi dievaluasi, jika bernilai benar maka statement dieksekusi dan ekspresi kembali dievaluasi. Pengulangan berlanjut hingga ekspresi bernilai salah.

Page 4: TE E  2 103 Algoritma dan Pemrograman

Program konversi.c

/* Mencetak tabel F – C untuk 0,202000F */#include <stdio.h>main(){

float fahr, celsius, lower, upper, step;lower = 0; /* batas bawah skala suhu */upper = 200; /* batas atas skala suhu */step = 20; /* interval suhu */fahr = lower;while (fahr <= upper) {

celsius = (5.0/9.0) * (fahr-32.0);printf("%3.0f %6.1f\n", fahr, celsius);fahr = fahr + step;

}}

Page 5: TE E  2 103 Algoritma dan Pemrograman

Pengulangan for

Bentuk umum pengulangan for adalah:

for (expr1; expr2; expr3)statement

Pernyataan ini ekuivalen dengan:

expr1;while (expr2) {

statementexpr3;

}

Page 6: TE E  2 103 Algoritma dan Pemrograman

Program konversi2.c

/* Mencetak tabel F – C untuk 0,202000F */#include <stdio.h>

main(){

int fahr;for (fahr = 0; fahr <= 200; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-

32));}Program di atas tampak beda, tapi menghasilkan output yang sama dengan program konversi.c. Perbedaan pada jumlah variabel, ekspresi yang menghitung temperatur celcius dan pernyataan for yang menggantikan while.

Page 7: TE E  2 103 Algoritma dan Pemrograman

Nested for

Jika ada for di dalam for, kompilator akan mengeksekusi pengulangan for yang di dalam lebih dahulu.

Bentuk pengulangan nested for adalah

for (expr1; expr2; expr3){for (expr4; expr5; expr6)statement

}

Page 8: TE E  2 103 Algoritma dan Pemrograman

Contoh Nested for

Tulislah algoritma yang mencetak segitiga bintang jika tinggi segitiga adalah N (N > 0). Contohnya, jika N = 5, maka segitiga yang dihasilkan adalah:

***************

Perhatikan gambar segitiga: baris ke-1 terdiri atas satu bintang, baris ke-2 dua bintang, dan seterusnya hingga baris ke-5 lima bintang.

Page 9: TE E  2 103 Algoritma dan Pemrograman

Algoritma Nested for

PROGRAM Bintang{Mencetak segitiga bintang dengan tinggi N }

DEKLARASIN, i, j : integer

ALGORITMA:read (N)for i 1 to N do for (i=1;i<=N;i++)

for j 1 to i do for (j=1;j<=i;j++) write ( * ) printf (“*”);endfor

endfor

Page 10: TE E  2 103 Algoritma dan Pemrograman

Program bintang.c

/* Mencetak segitiga bintang */ #include <stdio.h> main() { int N, i, j; printf (“Masukkan sebuah bilangan: “); scanf (“%d”, &N); for (i=1;i<=N;i++){

for (j=1;j<=i;j++) printf (“*”);

printf(“\n”); }}

Page 11: TE E  2 103 Algoritma dan Pemrograman

Pengulangan do

Bentuk umum pengulangan do adalah:

dostatement

while (expression); Statement dieksekusi kemudian ekspresi

dievaluasi, jika bernilai benar maka statement kembali dieksekusi. Pengulangan berlanjut hingga ekspresi bernilai salah.

Page 12: TE E  2 103 Algoritma dan Pemrograman

Algoritma do

PROGRAM Deret{ Menjumlahkan deret 1 + 2 + 3 + … + N }DEKLARASI N, i, jumlah : integerALGORITMA: read (N) jumlah 0 i 1 do

jumlah jumlah + i i i + 1

while (i <= N) write (jumlah)

Page 13: TE E  2 103 Algoritma dan Pemrograman

Program deret.c

#include <stdio.h>main(){ int N, i, jumlah; printf("Ketikkan N: "); scanf("%d", &N); jumlah = 0; i = 1; do {

jumlah = jumlah + i; i++; } while (i <= N); printf("Jumlah deret = %d", jumlah);}

Page 14: TE E  2 103 Algoritma dan Pemrograman

break dan continue

Sama seperti pada pemilihan switch, pernyataan break menyediakan pintu keluar lebih awal bagi pengulangan for, while dan do.

Pernyataan continue menyebabkan iterasi berikutnya dari pengulangan for, while dan do dimulai. Dalam while dan do, ini berarti ekspresi langsung dievaluasi. Dalam for, ini berarti kendali program langsung menuju tahap menaik/menurun.

Page 15: TE E  2 103 Algoritma dan Pemrograman

Goto dan label

goto biasanya digunakan sebagai pintu keluar dari nested for yang panjang menuju ke sebuah label.

for (i = 0; i < n; i++)for (j = 0; j < m; j++)

if (a[i] == b[j])goto found;

/* tidak menemukan elemen yang sama */...found:/* dapat satu: a[i] == b[j] */...

Page 16: TE E  2 103 Algoritma dan Pemrograman

Algoritma while

PROGRAM Deret{ Menjumlahkan deret 1 + 2 + 3 + … + N }

DEKLARASIN, i, jumlah : integer

ALGORITMA: read (N)jumlah 0i 1while (i N) do

jumlah jumlah + ii i + 1

endwhilewrite (jumlah)

Page 17: TE E  2 103 Algoritma dan Pemrograman

#include <stdio.h>main(){ int N, i, jumlah; printf("Ketikkan N: "); scanf("%d", &N); jumlah = 0; i = 1; while (i <= N) { jumlah = jumlah + i; i++; } printf("Jumlah deret = %d", jumlah);}

Program deret2.c

Page 18: TE E  2 103 Algoritma dan Pemrograman

Algoritma for menaik

PROGRAM Deret{ Menjumlahkan deret 1 + 2 + 3 + … + N }

DEKLARASIN, i, jumlah : integer

ALGORITMA:read (N)jumlah 0for i 1 to N do for (i=1; i<=N; i++)

jumlah jumlah + i i = i +1endforwrite (jumlah)

Page 19: TE E  2 103 Algoritma dan Pemrograman

Program deret3.c

#include <stdio.h>

main()

{

int N, i, jumlah;

printf("Ketikkan N: "); scanf("%d", &N);

jumlah = 0;

for (i=1; i<=N; i++){

jumlah = jumlah + i;

}

printf("Jumlah deret = %d", jumlah);

}

Page 20: TE E  2 103 Algoritma dan Pemrograman

Algoritma for menurun

PROGRAM Deret{ Menjumlahkan deret 1 + 2 + 3 + … + N }

DEKLARASIN, i, jumlah : integer

ALGORITMA:read (N)jumlah 0for i N to 1 do for (i=N; i>=1; i--)

jumlah jumlah + i i = i ‒ 1endforwrite (jumlah)

Page 21: TE E  2 103 Algoritma dan Pemrograman

#include <stdio.h>

main()

{

int N, i, jumlah;

printf("Ketikkan N: "); scanf("%d", &N);

jumlah = 0;

for (i=N ; i>=1 ; i--){

jumlah = jumlah + i;

}

printf("Jumlah deret = %d", jumlah);

}

Program deret4.c