1 / 21

TE E 2 103 Algoritma dan Pemrograman

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.

willem
Download Presentation

TE E 2 103 Algoritma dan Pemrograman

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEE 2103Algoritma dan Pemrograman Pengulangan Dosen: Abdillah, MIT Hp: 0853 6581 8665 Email: abdill01@gmail.com Website: www.abdill01.wordpress.com

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

  3. Pengulanganwhile • Bentukumumpengulangan whileadalah while (ekspresi) statement • Ekspresi dievaluasi, jika bernilai benar maka statement dieksekusi dan ekspresi kembali dievaluasi. Pengulangan berlanjut hingga ekspresi bernilai salah.

  4. Program konversi.c /* Mencetak tabel F – C untuk 0,202000F */ #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; } }

  5. Pengulangan for • Bentuk umum pengulanganfor adalah: • for (expr1; expr2; expr3) • statement • Pernyataan ini ekuivalen dengan: • expr1; • while (expr2) { • statement • expr3; • }

  6. Program konversi2.c • /* Mencetak tabel F – C untuk 0,202000F */ • #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.

  7. Nested for • Jika ada fordi dalam for, kompilator akan mengeksekusi pengulangan for yang di dalam lebih dahulu. • Bentukpengulangannested foradalah • for (expr1; expr2; expr3){ • for (expr4; expr5; expr6) • statement • }

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

  9. Algoritma Nested for PROGRAMBintang {Mencetak segitiga bintang dengan tinggi N } DEKLARASI N, i, j : integer ALGORITMA: read (N) fori  1 to Ndofor (i=1;i<=N;i++) for j  1 to idofor (j=1;j<=i;j++) write ( * )printf (“*”); endfor endfor

  10. 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”); } }

  11. Pengulangan do • Bentuk umum pengulangan do adalah: • do • statement • while (expression); • Statement dieksekusi kemudian ekspresi dievaluasi, jika bernilai benar maka statement kembali dieksekusi. Pengulangan berlanjut hingga ekspresi bernilai salah.

  12. Algoritma do PROGRAMDeret { Menjumlahkanderet 1 + 2 + 3 + … + N } DEKLARASI N, i, jumlah : integer ALGORITMA: read(N) jumlah 0 i 1 do jumlahjumlah + i ii + 1 while(i<= N) write(jumlah)

  13. 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); }

  14. breakdan continue • Sama seperti pada pemilihan switch, pernyataan breakmenyediakan pintu keluar lebih awal bagi pengulangan for, whiledan do. • Pernyataan continuemenyebabkan iterasi berikutnya dari pengulangan for, whiledan dodimulai. Dalam whiledan do, ini berartiekspresi langsung dievaluasi.Dalamfor,ini berarti kendali program langsung menuju tahap menaik/menurun.

  15. Goto dan label • gotobiasanya 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] */ ...

  16. Algoritma while PROGRAM Deret { Menjumlahkan deret 1 + 2 + 3 + … + N } DEKLARASI N, i, jumlah : integer ALGORITMA: read (N) jumlah  0 i  1 while(i  N)do jumlah  jumlah + i i  i + 1 endwhile write (jumlah)

  17. Program deret2.c #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); }

  18. Algoritma for menaik PROGRAM Deret { Menjumlahkan deret 1 + 2 + 3 + … + N } DEKLARASI N, i, jumlah : integer ALGORITMA: read (N) jumlah  0 for i  1to Ndofor (i=1; i<=N; i++) jumlah  jumlah + i i = i +1 endfor write (jumlah)

  19. 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); }

  20. Algoritma for menurun PROGRAM Deret { Menjumlahkan deret 1 + 2 + 3 + … + N } DEKLARASI N, i, jumlah : integer ALGORITMA: read (N) jumlah  0 for i N to 1dofor (i=N; i>=1; i--) jumlah  jumlah + i i = i ‒ 1 endfor write (jumlah)

  21. Program deret4.c #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); }

More Related