Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehVera Pranata Telah diubah "6 tahun yang lalu
1
Remainder Senin depan mulai UTS Praktikum
Mengisi jadwal praktikum untuk ujian Nilai LC DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
2
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya instruksi utama) untuk mencetak deret nilai 20, 14, 8, 2, -4, dan -10
3
Jawaban #include<stdio.h>
int main() { int input=20, i=0; while(i<6) printf("%d ",input); input=input-6; i++; } return 0; #include<stdio.h> int main() { int input=20; while(input>-11) printf("%d ",input); input=input-6; } return 0; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
4
Algoritme dan Pemrograman
Kuliah #6 1. Kontrol program (lanjutan) Do … While For Nested loop 2. Fungsi ILKOM IPB
5
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
6
Loop control structures: DO … WHILE
#include <stdio.h> int main() { int i, n=5; i=0; do { printf("%d ", i); i++; } while (i<n); return 0; } Output program tersebut adalah: DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
7
Loop control structures: DO … WHILE
statement while (kondisi) kondisi ? TRUE Pernyataan (statements) di dalam struktur DO … WHILE akan diproses minimum SATU kali. Mengapa? FALSE DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
8
Contoh: Program menulis bilangan
#include <stdio.h> int 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? Ubah program menggunakan while #include <stdio.h> int main() { int n; scanf("%d", &n); while (n){ printf("%d", n%10); n /= 10; } return 0; 021 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
9
Loop control structures: FOR
Pernyataan for umumnya digunakan untuk memproses pernyataan secara berulang- ulang dan 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
10
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
11
Loop control structures: FOR
expr1 FOR (expr1 ; expr2 ; expr3) S; FALSE expr2 ? TRUE S expr3 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
12
Pernyataan FOR: Contoh #1
expr2 ? S TRUE FALSE expr3 expr1 #include <stdio.h> int main(){ int i,n = 5; for (i=0; i<n; i++) { printf("%d", i); } return 0; Apa output program tersebut ? (ikuti diagram FOR pada slide sebelumnya) 01234 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
13
Pernyataan FOR – loop backward: Contoh #2
#include <stdio.h> int main(){ int i=5; for ( ; i; i--) { printf("%d", i); } return 0; Apa output program tersebut ? Bagaimana jika baris for menjadi “for ( ; i--; ) ”? 54321 43210 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
14
Pernyataan FOR – loop backward: Contoh #3
#include <stdio.h> int 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? Bagaimana jika menggunakan “for ( ; i++<n; sum+=i);”? i=1 sum=0+1=1 i=2 sum=1+2=3 i=3 sum=3+3=6 i=4 sum=6+4=10 i=5 sum=10+5=15 i=6 out 15 0<5 sum=0+1=1 2<5 sum=1+3=4 4<5 sum=4+4=8 5<5 out DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
15
Pernyataan FOR: Contoh #4
#include <stdio.h> int 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? 88 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
16
Output? … int a, b=3; for ( ; a=b, b-- ; ) printf("%d %d\n",a,b); … 2
1 1 0 … int a, b=3; for ( ; a=b, b-- ; ) printf("%d %d\n",a,b); … DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
17
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"); *** i=1 j=1 * j=2 ** j=3 *** i=2 j=1 * DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB
18
Nested FOR: Menulis bilangan bentuk matrik
Misalkan ingin menuliskan bilangan 1, 2, … dalam bentuk matriks ukuran 3x4. Setiap baris hanya diakhiri oleh newline. Digunakan nested for: #include <stdio.h> int 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
19
Nested FOR: Menggunakan variabel sebelumnya
Perhatikan contoh berikut. Struktur 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); } 1 3 3 6 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
20
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
21
Latihan #1 Berapa kali teks IPB dicetak oleh program berikut?
#include <stdio.h> int 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
22
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: * ** *** **** ***** int main() { int i, j, n=5; for (i=1; i<=n; i++) { for (j=1; j<=i; j++) printf("*"); printf("\n"); } return 0; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
23
Latihan #3 int a=3, b=0; while (b++<a) printf("%d", b); int a=3, b=0; while (++b<a) printf("%d", b); int a=5, b=0; while (b++<a) printf("%d", b++); int a=3, b=0; while (b=a--) printf("%d %d\n", a,b); int a=3, b=0; while (b=--a) printf("%d %d\n", a,b); int a=5, b, c; while (c=--a, b=a--) printf("%d %d %d\n", a,b,c); 1 2 3 1 2 1 3 5 2 3 1 2 0 1 2 2 1 1 3 4 4 1 2 2
24
Minggu depan DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
25
Fungsi Contoh fungsi y=f(x)=x2+5.
Nilai yang mungkin untuk variabel x disebut domain, daerah fungsi (df), dan untuk variabel y atau f(x) disebut range, 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 x2+5 disebut tubuh fungsi (function body) Tipe data dari y disebut return type. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
26
Fungsi y = f (x) = x2 + 5 m = jumlah ( a, b ) = a + b return value
arguments function body function name m = jumlah ( a, b ) = a + b DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
27
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
28
Contoh: Fungsi jumlah dua bilangan
#include <stdio.h> int jumlah(int x, int y) { // Fungsi jumlah int t; t = x+y; return t; } int 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
29
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 dapat dituliskan di bawah fungsi main. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR
30
Function prototype #include <stdio.h> int jumlah(int, int); // Function prototype int 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
31
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
32
Variabel lokal : Apa output program berikut?
#include <stdio.h> int test(int a, int b) { int c; a = 2*b; b = a - b; c = a + b; return c; } int 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
33
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.