component program c (bag. 1)
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
1
Component Program C (Bag. 1)
2
Topik
• Struktur program C
• Nilai dan variabel
• Expression
• Function calls
• Comment
3
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)
4
#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;
}
} C Program
Contoh: Output?
5
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
}
Algorithm
Output is: Ini test
Contoh: Output?
6
Struktur dasar program C
output “Hello World!”
Algorithm: #include <stdio.h> int main(){printf(“Hello World!”);
return 0;}
C Program:
contoh: Hello World
7
Struktur dasar program C
#include <stdio.h> int main(){
printf(“Hello World!”);
return 0;}
C Program:
Example: Hello world
Includes standard input/output library dr procedure.
dibaca: “Hash-include”
8
Struktur dasar program C
#include <stdio.h> int main(){
printf(“Hello World!”);
return 0;}
C Program:
Contoh: Hello world
Instruksi (pemangilan function ) ke output “Hello World!”
9
int main(){
return 0;}
Contoh– hitung hingga10
Cetak angka 0 hingga 9
set hitung ke 0while ( hitung kurang dr 10 ){
output hitungtambah 1 ke hitung
}
10
#include <stdio.h>
int main(){
return 0;}
Contoh– hitung hingga10
Cetak angka 0 - 9
set hitung ke 0while ( hitung kurang dr 10 ){
output hitungtambah 1 ke hitung
}
11
#include <stdio.h>
/* Cetak angka 0-9 */
int main(){
return 0;}
Contoh– hitung hingga10
Cetak angka 0 - 9
set hitung ke 0while ( hitung kurang dr 10 ){
output hitungtambah 1 ke hitung
}
komentar
12
#include <stdio.h>
/* Cetak angka 0-9 */int main(){ int hitung;
return 0;}
Contoh– hitung hingga10
Cetak angka 0 - 9
set hitung ke 0while ( hitung < 0 ){
output hitungtambah 1 ke hitung
}
Deklarasi
variabel
13
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int count;
hitung= 0;while ( hitung < 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung < 10 ){
output hitungtambah 1 ke hitung
}
14
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung = 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Print out numbers 0 to 9
set count to 0while ( count is less than 10 ){
output countadd 1 to count
}
Assignment nilai (kanan) ke variable (kiri).
15
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung = 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung < 10 ){
output hitungtambah 1 ke hitung
}Tdk ada tanda semicolon “;”
16
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung= 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung < 10 ){
output hitungtambah 1 ke hitung
}
17
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung= 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung< 10 ){
output hitungtambah 1 ke hitung
}
Format string
18
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung= 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung< 10 ){ output hitung
tambah 1 ke hitung}
Sama dengan
hitung=hitung + 1;
19
#include <stdio.h>
/* Cetak angka 0-9 */int main(){
int hitung;
hitung= 0;while ( hitung< 10 ){
printf(“%d\n”, hitung);
hitung++;}
return 0;}
Contoh– hitung hingga 10
Cetak angka 0 - 9
set hitung ke 0while ( hitung< 10 ){
output hitungtambah 1 ke hitung
}
20
Tentukan tanda suatu angka
output “Masukan angka ”input num
if (num < 0)then{
output num “ adalah -’ve”}else{
output num “ adalah+’ve”}
#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;}
Contoh– Tanda Negatif/positif?
21
Tentukan tanda suatu angka
output “Masukan angka ”input num
if (num < 0)then{
output num “ adalah -’ve”
}else{
output num “ adalah+’ve”
}
#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;}
Contoh– Tanda Negatif/positif?
22
Tentukan tanda suatu angka
output “Masukan angka ”input num
if (num < 0)then{
output num “ adalah -’ve”
}else{
output num “ adalah+’ve”
}
#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;}
Contoh– Tanda Negatif/positif?
23
Tentukan tanda suatu angka
output “Masukan angka ”input num
if (num < 0)then{
output num “ adalah -’ve”
}else{
output num “ adalah+’ve”
}
#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;}
Contoh– Tanda Negatif/positif?
24
Tentukan tanda suatu angka
output “Masukan angka ”input num
if (num < 0)then{
output num “ adalah -’ve”
}else{
output num “ adalah+’ve”
}
#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;}
Contoh– Tanda Negatif/positif?
25
Topik
Struktur program C
• Nilai dan variabel
• Ekspresi
• Pemanggilan Fungsi
• Komentar
26
Nilai dan Variabel
• Tipe Dasar:
– Integers
– Bilangan Floating point
– Characters
– Character Strings
27
Tipe Dasar: int dan float
• Integers (int)0 1 1000 -1 -10 666
• Angka Floating point (float)1.0 .1 1.0e-1 1e1
28
Tipe Dasar: char
• Characters (char)’a’ ’z’ ’A’ ’Z’ ’?’ ’@’ ’0’ ’9’
- Karakter khusus: diawali dengan \’\n’ ’\t’ ’\0’ ’\’’ ’\\’ dll.
29
Tipe Dasar: character string
• Character Strings (string dari banyak char)
• Pointer char
• Contoh:– ”Hi there!”– ”Line 1\nLine 2\nLine 3”– ””– ”\”\””
30
Topik
Struktur program CNilai dan variabel
• Ekspresi
• Pemanggilan Fungsi
• Komentar
31
Ekspresi
• Kombinasi suatu nilai dengan operator dan pemanggilan fungsi
• Pengembalian nilai dari tipe yang di ketahui
32
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)
33
Precedence dalam Ekspresi
• Mendefinisikan urutan ekspresi yang akan dievaluasi
34
Precedence dalam Ekspresi -- Contoh
1 + 2 * 3 - 4 / 5 =
B (kurung), O(urutan exponen), D(pembagian), M(perkalian), A(penjumlahan), dan S(pengurangan).
B.O.D.M.A.S.1 + (2 * 3) - (4 / 5)
35
Precedence dalam Ekspresi -- Contoh
6.2
1 + 2 * 3 - 4 / 5 =
1 + (2 * 3) - (4 / 5)
36
Precedence dalam Ekspresi -- Contoh
6.2
1 + 2 * 3 - 4 / 5 =
1 + (2 * 3) - (4 / 5)
37
Precedence dalam Ekspresi -- Contoh
Pembagian Integer menghasilkan hasil bagi integer
1 + 2 * 3 - 4 / 5 =
1 + (2 * 3) - (4 / 5)
4.00/5.00Beda dg4/5
38
Precedence dalam Ekspresi -- Contoh
= 0
7
1 + 2 * 3 - 4 / 5 =
1 + (2 * 3) - (4 / 5)
4.00/5.00Beda dg4/5
39
Precedence dalam Ekspresi -- Contoh
7
1 + 2 * 3 - 4 / 5 =
1 + (2 * 3) - (4 / 5)
40
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
41
int dan float
(1 + 2) * (3 - 4) / 5
= ((1 + 2) * (3 - 4)) / 5
= (3 * -1) / 5
= -3 / 5
= 0
42
int dan float
(1 + 2.0) * (3 - 4) / 5
= ((1 + 2.0) * (3 - 4)) / 5
= (3.0 * -1) / 5
= -3.0 / 5
= -0.6
43
int dan float
(1 + 2.0) * ((3 - 4) / 5)
= (1 + 2.0) * (-1 / 5)
= 3.0 * 0
= 0.0
44
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
Contoh-- Simple Expressions
45
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
/* Evaluasi urutan ekspresi */
Contoh-- Simple Expressions
46
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
/* Evaluasi urutan ekspresi */
int main(){
return 0;}
Contoh-- Simple Expressions
47
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
/* Evaluasi urutan ekspresi */
int main(){
float result;
return 0;}
Contoh-- Simple Expressions
48
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
/* Evaluasi urutan ekspresi */
int main(){
float result;
result = 1 + 2 * 3 - 4 / 5;
return 0;}
Contoh-- Simple Expressions
49
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#include <stdio.h>
/* Evaluasi urutan ekspresi */
int main(){
float result;
result = 1 + 2 * 3 - 4 / 5;printf(“%f\n”, result);
return 0;}
Contoh-- Simple Expressions
50
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#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;}
Contoh-- Simple Expressions
51
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#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);
result = ((((1 + 2) * 3) - 4) / 5);printf(“%f\n”, result);
result = (1 + (2 * (3 - (4 / 5))));printf(“%f\n”, result);
return 0;}
Contoh-- Simple Expressions
52
Evaluasi urutan ekspresi
set hasil ke 1 + 2 * 3 - 4 / 5output hasil
set hasil ke (1 + 2) * (3 - 4) / 5output hasil
set hasil ke((((1 + 2) * 3) - 4) / 5)
output hasil
set hasil ke(1 + (2 * (3 - (4 / 5))))
output hasil
#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);
result = ((((1 + 2) * 3) - 4) / 5);printf(“%f\n”, result);
result = (1 + (2 * (3 - (4 / 5))));printf(“%f\n”, result);
return 0;}
Contoh-- Simple Expressions
53
Topik
Struktur program CNilai dan variabelEkspresi
• Pemanggilan Fungsi
• Komentar
54
Pemangilan Fungsi
• Perintahkan komputer utk mengeksekusi urutan perintah C dan nilai yg dikembalikan
• Contoh: Pemecahan Persamaan Kuadrat
55
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
Contoh– Pemecahan Persamaan Kuadrat
Kita asumsikan bhw SolveQuadratic1 hasil nilainya :
56
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
Kita asumsikan bhw SolveQuadratic2 hasil nilainya :
Contoh– Pemecahan Persamaan Kuadrat
57
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
#include <stdio.h>#include “Quadratic.h”
Kita asumsikan instruksi sebenarnya utk SolveQuadratic1 dan SolveQuadratic2 berada dlm fungsi pustaka yg sdh kita buat.
Contoh– Pemecahan Persamaan Kuadrat
58
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/
Contoh– Pemecahan Persamaan Kuadrat
59
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
return 0;}
Contoh– Pemecahan Persamaan Kuadrat
60
Pemecahan Pers Kuadrat: Ax2 + Bx + C = 0
output “Masukan koefisien: "
input A B C
set x1 ke result dr SolveQuadratic1(A,B,C)
set x2 ke result dr SolveQuadratic2(A,B,C)
output x1 " atau " x2
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
float A, B, C, x1, x2;
return 0;}
Contoh– Pemecahan Persamaan Kuadrat
61
Solve a quadratic equation: Ax2 + Bx + C = 0
output "Enter coefficients: "
input A B C
set x1 to result of SolveQuadratic1(A,B,C)
set x2 to result of SolveQuadratic2(A,B,C)
output x1 " or " x2
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
float A, B, C, x1, x2;printf(“Masukan koefisien: “);scanf(“%f %f %f”, &A, &B, &C);
return 0;}
Contoh– Pemecahan Persamaan Kuadrat
62
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
float A, B, C, x1, x2;printf(“Enter coefficients: “);scanf(“%f %f %f”, &A, &B, &C);
x1 = SolveQuadratic1(A, B, C);
return 0;}
Solve a quadratic equation: Ax2 + Bx + C = 0
output "Enter coefficients: "
input A B C
set x1 to result of SolveQuadratic1(A,B,C)
set x2 to result of SolveQuadratic2(A,B,C)
output x1 " or " x2
Contoh– Pemecahan Persamaan Kuadrat
Function Call
63
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
float A, B, C, x1, x2;printf(“Enter coefficients: “);scanf(“%f %f %f”, &A, &B, &C);
x1 = SolveQuadratic1(A, B, C);
x2 = SolveQuadratic2(A, B, C);
return 0;}
Solve a quadratic equation: Ax2 + Bx + C = 0
output "Enter coefficients: "
input A B C
set x1 to result of SolveQuadratic1(A,B,C)
set x2 to result of SolveQuadratic2(A,B,C)
output x1 " or " x2
Contoh– Pemecahan Persamaan Kuadrat
64
#include <stdio.h>#include “Quadratic.h”
/* Pemecahan utk x: Axx + Bx + C = 0*/int main(){
float A, B, C, x1, x2;printf(“Enter coefficients: “);scanf(“%f %f %f”, &A, &B, &C);
x1 = SolveQuadratic1(A, B, C);
x2 = SolveQuadratic2(A, B, C);
printf(“%f or %f\n”, x1, x2);
return 0;}
Solve a quadratic equation: Ax2 + Bx + C = 0
output "Enter coefficients: "
input A B C
set x1 to result of SolveQuadratic1(A,B,C)
set x2 to result of SolveQuadratic2(A,B,C)
output x1 " or " x2
Contoh– Pemecahan Persamaan Kuadrat
65
Topik
Struktur program CNilai dan variabelExpresiFunction calls
• Komentar
66
Komentar• Utk dokumentasi program
• Diawali dari /* hingga */• Contoh:
/* INI ADALAH KOMENTAR */
/* Jadiini */
/*** ...dan ini. juga***/
67
Komentar• Komentar tidak boleh “berkalang”
/* Komentar di awali dg “/*”dan di akhiri dengan “*/”ini tidak boleh! */
68
Topik
Structure of a C programValues and variablesExpressionsFunction callsComments