Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Kuliah #6 1. Kontrol program (lanjutan) Do … While For Nested loop 2. Fungsi.

Presentasi serupa


Presentasi berjudul: "Kuliah #6 1. Kontrol program (lanjutan) Do … While For Nested loop 2. Fungsi."— Transcript presentasi:

1 Kuliah #6 1. Kontrol program (lanjutan) Do … While For Nested loop 2. Fungsi

2 Loop control structures: DO … WHILE  Implementasi dari pernyataan: Lakukan sesuatu. Kemudian ulangi sesuatu itu selama kondisi bernilai true  Berarti memproses pernyataan di dalamnya terlebih dahulu, baru kemudian memeriksa kondisi yang ada.  Pernyataan akan diproses minimal SATU kali.  Format: do { pernyataan; } while (kondisi); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

3 Loop control structures: DO … WHILE #include main() { int i, n=5; i=0; do { printf("%d ", i); i++; } while (i

4 Loop control structures: DO … WHILE DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR kondisi ? statement TRUE FALSE do Pernyataan (statements) di dalam struktur DO … WHILE akan diproses minimum SATU kali. Mengapa? while (kondisi)

5 Contoh: Program menulis bilangan #include main() { int n; scanf("%d", &n); do { printf("%d", n%10); n /= 10; } while (n); return 0; } Jika diberikan input 120, apa output program tsb? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

6 Loop control structures: FOR  Pernyataan for umumnya digunakan untuk memproses pernyataan secara berulang- ulang, dimana kita sebelumnya sudah mengetahui berapa kali pernyataan tersebut akan diulang.  Contoh:  Menuliskan bilangan bulat 1 sampai dengan 5  Membaca n bilangan bulat. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

7 Loop control structures: FOR  Bentuk umum for (expr1; expr2; expr3) { s1; s2;... }  Proses yang dilakukan mengikuti alur berikut:  expr1 dieksekusi hanya satu kali sebelum mulai looping.  expr2 merupakan ekspresi Boolean. Jika tidak dituliskan, diasumsikan bernilai true.  Jika expr2 bernilai false, maka proses looping dihentikan.  Jika expr2 bernilai true, maka s1, s2,... dieksekusi.  Setelah eksekusi s1, s2,..., maka expr3 dieksekusi.  expr1, expr2, dan expr3 bersifat optional (dapat dituliskan, juga dapat tidak dituliskan). DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

8 Loop control structures: FOR DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR expr2 ? S TRUE FALSE FOR (expr1 ; expr2 ; expr3) S; expr3 expr1

9 Pernyataan FOR: Contoh #1 #include main(){ int i,n = 5; for (i=0; i

10 Pernyataan FOR – loop backward: Contoh #2 #include main(){ int i=5; for ( ; i; i--) { printf("%d", i); } return 0; } Apa output program tersebut ? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

11 Pernyataan FOR – loop backward: Contoh #3 #include main(){ int i, n=5, sum=0; for (i=1 ; i<=n; sum+=i++); printf("%d\n", sum); return 0; } Apa output program tersebut ? Apa yang dilakukannya? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

12 Pernyataan FOR: Contoh #4 #include main() { int i, n, bil, sum=0; scanf("%d", &n); for (i=1; i<=n; i++) { scanf("%d", &bil); sum+=bil; } printf("%d\n", sum); return 0; } Apa output program jika diberi input ? Apa yang dilakukan program tersebut? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

13 Loop control structures: Nested FOR  Pernyataan for yang bersarang, artinya terdapat pernyataan for lainnya di dalam pernyataan for.  Contoh, apa output potongan program berikut? int i, j; for (i=1; i<=2; i++) { for (j=1; j<=3; j++) { printf("*"); } printf("\n"); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

14 Nested FOR: Menulis bilangan bentuk matrik  Misalkan ingin menuliskan bilangan 1, 2, … dalam bentuk matrik ukuran 3x4. Setiap baris hanya diakhiri oleh newline.  Digunakan nested for: #include main() { int i, j, c=1; for (i=1; i<=3; i++) for (j=1; j<=4; j++) { printf("%d", c++); if (j!=4) printf(" "); else printf("\n"); } return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

15 Nested FOR: Menggunakan variabel sebelumnya  Perhatikan contoh berikut, dimana di dalam for untuk variabel j menggunakan variabel i.  Apa outputnya? Apa yang dilakukan? int i, j, sum; for (i=1; i<=3; i++) { sum=0; for (j=1; j<=i; j++) sum+=j; printf("%d %d\n", i, sum); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

16 Nested FOR: Menggunakan variabel sebelumnya  Apa output potongan program berikut? int i, j, n=4; for (i=1; i<=n; i++) { for (j=i; j<=n; j++) printf("*"); printf("\n"); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

17 Latihan #1  Berapa kali teks IPB dicetak oleh program berikut? #include main() { int i; for (i=1; i<=20; i++) { if (i=5) printf ("IPB\n"); } return 0; }  Apa yang dapat disimpulkan dari kasus ini ? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

18 Latihan #2  Buat program untuk membaca sebuah bilangan bulat n, dan menampilkan output seperti dalam contoh. Setiap baris output hanya diakhiri dengan newline.  Contoh input: 5  Contoh output: * ** *** **** ***** DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

19 Fungsi  Contoh fungsi  y=f(x)=x  Nilai yang mungkin untuk variabel x disebut daerah fungsi (df), dan untuk variabel y atau f(x) disebut wilayah fungsi (wf).  Nilai yang diberikan pada df akan menentukan nilai yang dihasilkan pada wf.  Pada contoh tersebut:  f disebut nama fungsi  x disebut argumen fungsi  x 2 +5 disebut tubuh fungsi (function body)  Tipe data dari y disebut return type. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

20 Fungsi DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR y = f (x) = x function name arguments return value function body m = jumlah ( a, b ) = a + b

21 Bentuk umum fungsi dalam C return-type function-name parameter- list { local definitions; statements; return value; }  Return type  tipe dari hasil fungsi.  Function name  nama fungsi (berupa identifier).  Parameter list  daftar variabel, dituliskan di dalam tanda kurung (), dipisahkan oleh tanda koma (,). DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

22 Contoh : Fungsi menjumlah dua bilangan #include int jumlah(int x, int y) { // Fungsi jumlah int t; t = x+y; return t; } main() { // Fungsi utama int a, b, c; scanf("%d %d", &a, &b); c=jumlah(a,b); // Memanggil fungsi printf( "%d\n", c); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

23 Function prototype  Prototipe fungsi terdiri dari tiga elemen:  return type,  function name, dan  parameter list.  Setiap fungsi harus dituliskan sebelum fungsi main, berupa fungsi lengkap atau hanya prototipe.  Jika berupa prototipe, maka fungsi lengkapnya dituliskan di bawah fungsi main. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

24 Function prototype #include int jumlah(int, int); // Function prototype main() { int a, b, c; scanf("%d %d", &a, &b); c=jumlah(a,b); printf( "%d\n", c); return 0; } int jumlah(int x, int y) { int t; t = x+y; return t; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

25 Variabel lokal  Variabel yang didefinisikan dan dideklarasikan di dalam suatu fungsi hanya berlaku di dalam fungsi tersebut.  Disebut sebagai variabel lokal.  Hal ini berarti bahwa variabel yang dibuat di dalam satu fungsi tidak ada hubungannya dengan variabel di fungsi lainnya walaupun menggunakan nama yang sama. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

26 Variabel lokal : Apa output program berikut? #include int test(int a, int b) { int c; a = 2*b; b = a - b; c = a + b; return c; } main() { int a=5, b=10, c=15, d; d = test(a,b); printf("%d %d %d %d\n", a, b, c, d); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

27 Void  Jika fungsi tidak mengembalikan nilai apapun, maka return-type adalah VOID.  Contoh (apa yang dilakukan?): void pola(int n) { int i, j, n=4; for (i=1; i<=n; i++) { for (j=i; j<=n; j++) printf("*"); printf("\n"); } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR


Download ppt "Kuliah #6 1. Kontrol program (lanjutan) Do … While For Nested loop 2. Fungsi."

Presentasi serupa


Iklan oleh Google