680 likes | 776 Views
Component Program C (Bag. 1). Topik. Struktur program C Nilai dan variabel Expression Function calls Comment. From Algorithms to Programs. Alprog adalah kumpulan instruksi ttg bagaimana megerjakan suatu tugas Algorithm: Seperti org ngomong(in english/bahasa), mudah di mengerti
E N D
Topik • Struktur program C • Nilai dan variabel • Expression • Function calls • Comment
From Algorithms to Programs • Alprog adalah kumpulan instruksi ttg bagaimana megerjakan suatu tugas • Algorithm: • Seperti org ngomong(in english/bahasa), mudah di mengerti • Program: • Bicara dg komputer (compiler)
#include <stdio.h> #include <string.h> main() { char *text = “Ini adalah test\n"; char *ptr = text, w[50]; int i; for (i=0; sscanf(ptr, "%s", w) > 0; i++) { if ((i==0) || (i==3)) printf("%s ", w); ptr += strlen(w) + 1; } } Contoh: Output? C Program
Algorithm Diberikan kalimat “Ini adalah test” Pergi ke kata pertama dalam alimat tersebut selama (kita tdk di akhir kalimat) { jika (ini adlh awal atau kata ke empat dlm kalimat) { cetak kata, diikuti spasi } pergi ke kata selanjutnya dalam kalimat } Contoh: Output? Output is:Ini test
C Program: #include <stdio.h> int main() { printf(“HelloWorld!”); return 0; } Struktur dasar program C contoh: Hello World output “Hello World!” Algorithm:
Struktur dasar program C Example: Hello world C Program: #include <stdio.h> int main() { printf(“Hello World!”); return 0; } Includes standard input/output library dr procedure. dibaca: “Hash-include”
Struktur dasar program C Contoh: Hello world C Program: #include <stdio.h> int main() { printf(“Hello World!”); return 0; } Instruksi (pemangilan function ) ke output “Hello World!”
Cetak angka 0 hingga 9 set hitung ke 0 while ( hitung kurang dr 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga10 int main() { return 0; }
Cetak angka 0 - 9 set hitung ke 0 while ( hitung kurang dr 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga10 #include <stdio.h> int main() { return 0; }
Cetak angka 0 - 9 set hitung ke 0 while ( hitung kurang dr 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga10 #include <stdio.h> /* Cetak angka 0-9 */ int main() { return 0; } komentar
Cetak angka 0 - 9 set hitung ke 0 while ( hitung < 0 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga10 #include <stdio.h> /* Cetak angka 0-9 */ int main() { int hitung; return 0; } Deklarasi variabel
Cetak angka 0 - 9 set hitung ke 0 while ( hitung < 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int count; hitung= 0; while ( hitung < 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; }
Print out numbers 0 to 9 set count to 0 while ( count is less than 10 ) { output count add 1 to count } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung = 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; } Assignment nilai (kanan) ke variable (kiri).
Cetak angka 0 - 9 set hitung ke 0 while ( hitung < 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung = 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; } Tdk ada tanda semicolon “;”
Cetak angka 0 - 9 set hitung ke 0 while ( hitung < 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung= 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; }
Cetak angka 0 - 9 set hitung ke 0 while ( hitung< 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung= 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; } Format string
Cetak angka 0 - 9 set hitung ke 0 while ( hitung< 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung= 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; } Sama dengan hitung=hitung + 1;
Cetak angka 0 - 9 set hitung ke 0 while ( hitung< 10 ) { output hitung tambah 1 ke hitung } Contoh– hitung hingga 10 #include <stdio.h> /* Cetak angka 0-9*/ int main() { int hitung; hitung= 0; while ( hitung< 10 ) { printf(“%d\n”, hitung); hitung++; } return 0; }
Contoh– Tanda Negatif/positif? #include <stdio.h> /* Tentukan tanda suatu angka */ int main() { float num; printf(“Masukan angka: “); scanf(“%f”, &num); if ( num < 0 ) { printf(“%f adalah-’ve\n”, num); } else { printf(“%f adalah +’ve\n”, num); } return 0; } Tentukan tanda suatu angka output “Masukan angka ” input num if (num < 0) then { output num “ adalah -’ve” } else { output num “ adalah+’ve” }
Contoh– Tanda Negatif/positif? #include <stdio.h> /* Tentukantandasuatuangka */ intmain() { float num; printf(“Masukanangka: “); scanf(“%f”, &num); if ( num < 0 ) { printf(“%f adalah-’ve\n”, num); } else { printf(“%f adalah +’ve\n”, num); } return 0; } Tentukan tanda suatu angka output “Masukan angka ” input num if (num < 0) then { output num “ adalah -’ve” } else { output num “ adalah+’ve” }
Contoh– Tanda Negatif/positif? #include <stdio.h> /* Tentukantandasuatuangka */ intmain() { float num; printf(“Masukanangka: “); scanf(“%f”, &num); if ( num < 0 ) { printf(“%f adalah-’ve\n”, num); } else { printf(“%f adalah +’ve\n”, num); } return 0; } Tentukan tanda suatu angka output “Masukan angka ” input num if (num < 0) then { output num “ adalah -’ve” } else { output num “ adalah+’ve” }
Contoh– Tanda Negatif/positif? #include <stdio.h> /* Tentukantandasuatuangka */ intmain() { float num; printf(“Masukanangka: “); scanf(“%f”, &num); if ( num < 0 ) { printf(“%f adalah-’ve\n”, num); } else { printf(“%f adalah +’ve\n”, num); } return 0; } Tentukan tanda suatu angka output “Masukan angka ” input num if (num < 0) then { output num “ adalah -’ve” } else { output num “ adalah+’ve” }
Contoh– Tanda Negatif/positif? #include <stdio.h> /* Tentukantandasuatuangka */ intmain() { float num; printf(“Masukanangka: “); scanf(“%f”, &num); if ( num < 0 ) { printf(“%f adalah-’ve\n”, num); } else { printf(“%f adalah +’ve\n”, num); } return 0; } Tentukan tanda suatu angka output “Masukan angka ” input num if (num < 0) then { output num “ adalah -’ve” } else { output num “ adalah+’ve” }
Topik • Struktur program C • Nilai dan variabel • Ekspresi • Pemanggilan Fungsi • Komentar
Nilai dan Variabel • Tipe Dasar: • Integers • Bilangan Floating point • Characters • Character Strings
Tipe Dasar: int dan float • Integers (int) 0 1 1000 -1 -10 666 • Angka Floating point (float) 1.0 .1 1.0e-1 1e1
Tipe Dasar: char • Characters (char) ’a’ ’z’ ’A’ ’Z’ ’?’ ’@’ ’0’ ’9’ - Karakter khusus: diawali dengan\ ’\n’ ’\t’ ’\0’ ’\’’ ’\\’ dll.
Tipe Dasar: character string • Character Strings (string dari banyak char) • Pointer char • Contoh: • ”Hi there!” • ”Line 1\nLine 2\nLine 3” • ”” • ”\”\””
Topik • Struktur program C • Nilai dan variabel • Ekspresi • Pemanggilan Fungsi • Komentar
Ekspresi • Kombinasi suatu nilai dengan operator dan pemanggilan fungsi • Pengembalian nilai dari tipe yang di ketahui
Ekspresi Arithmetic • Ekspresi dengan nilai numerik dan mengembalikan nilai numerik • Dilakukan dengan operator komposit : - (unary minus; a.k.a. “negation”) * (multiplication) / (division or quotient) % (modulus or remainder) + (addition) - (subtraction)
Precedence dalam Ekspresi • Mendefinisikan urutan ekspresi yang akan dievaluasi
B.O.D.M.A.S. Precedence dalam Ekspresi -- Contoh 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) B (kurung), O(urutan exponen), D(pembagian), M(perkalian), A(penjumlahan), dan S(pengurangan).
6.2 Precedence dalam Ekspresi -- Contoh 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5)
6.2 Precedence dalam Ekspresi -- Contoh 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5)
Pembagian Integer menghasilkan hasil bagi integer Precedence dalam Ekspresi -- Contoh 4.00/5.00 Beda dg 4/5 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5)
7 Precedence dalam Ekspresi -- Contoh 4.00/5.00 Beda dg 4/5 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) = 0
7 Precedence dalam Ekspresi -- Contoh 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5)
int dan float • float adalah tipe “communicable” • contoh: 1 + 2 * 3 - 4.0 / 5 = 1 + (2 * 3) - (4.0 / 5) = 1 + 6 - 0.8 = 6.2
int dan float (1 + 2) * (3 - 4) / 5 = ((1 + 2) * (3 - 4)) / 5 = (3 * -1) / 5 = -3 / 5 = 0
int dan float (1 + 2.0) * (3 - 4) / 5 = ((1 + 2.0) * (3 - 4)) / 5 = (3.0 * -1) / 5 = -3.0 / 5 = -0.6
int dan float (1 + 2.0) * ((3 - 4) / 5) = (1 + 2.0) * (-1 / 5) = 3.0 * 0 = 0.0
Contoh-- Simple Expressions #include <stdio.h> Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluasi urutan ekspresi */ Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluasi urutan ekspresi */ int main() { return 0; } Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluasi urutan ekspresi */ int main() { float result; return 0; } Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluasi urutan ekspresi */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; return 0; } Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluasi urutan ekspresi */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; printf(“%f\n”, result); return 0; } Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil
Contoh-- Simple Expressions #include <stdio.h> /* Evaluate a series of expressions */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; printf(“%f\n”, result); result = (1 + 2) * (3 - 4) / 5; printf(“%f\n”, result); return 0; } Evaluasi urutan ekspresi set hasil ke 1 + 2 * 3 - 4 / 5 output hasil set hasil ke (1 + 2) * (3 - 4) / 5 output hasil set hasil ke ((((1 + 2) * 3) - 4) / 5) output hasil set hasil ke (1 + (2 * (3 - (4 / 5)))) output hasil