09 Control Statement if 143
Syntax: if( ) condition 143
if( condition ) Syntax Penulisan if statement: Condition : adalah ungkapan atau pernyataan (expression) yang mengandung nilai TRUE (benar) atau FALSE (salah). Contoh : 5 > 2 bernilai TRUE 5 > 9 bernilai FALSE 5 == 5 bernilai TRUE Tanda : > dan == diatas disebut Relational Operator (Operator Hubungan) 143
Bahasa C, C++ , dan Java mengenal bermacam ungkapan atau ekspresi yang menyatakan suatu kondisi, antara lain dua bentuk seperti yang dicontohkan berikut ini. Bentuk pertama, pernyataan yang menggunakan operator : a). 9 > 5 contoh ungkapan yang bernilai TRUE b). 9 <= 5 contoh ungkapan yang bernilai FALSE Bentuk kedua, pernyataan yang tidak menggunakan operator : a). 0 contoh ungkapan yang bernilai FALSE b). 5 contoh ungkapan yang bernilai TRUE Dari contoh diatas terlihat ada dua bentuk ungkapan yang menyatakan suatu kondisi 143
== Equal To (Sama Dengan) > Greater Than (Lebih Besar Dari) Bentuk-Pertama: yang menggunakan Relational Operator Relational Operator yang digunakan dalam Bahasa C/C++ dan Java == Equal To (Sama Dengan) > Greater Than (Lebih Besar Dari) < Less Than (Lebih Kecil Dari) >= Greater Than Or Equal To (Lebih Besar Dari Atau Sama Dengan) <= Less Than Or Equal To (Lebih Kecil Dari atau Sama Dengan) != Not Equal To ( Tidak Sama Dengan) 144
5 == 2 contoh : if( 5 == 2 ) 5 > 2 5 < 2 5 >= 2 5 <= 2 Sebutkan TRUE atau FALSE nilai condition berikut ini : 5 == 2 contoh : if( 5 == 2 ) 5 > 2 5 < 2 5 >= 2 5 <= 2 5 >= 5 5 <= 5 5 != 2 5 != 5 5 < 7 5 <= 7 5 >= 7 144
5 == 2 F 5 > 2 T 5 < 2 F 5 >= 2 T 5 <= 2 F 5 >= 5 T 144
144 5 7 9 7 7 7 A B A B A B T = TRUE F = FALSE akan bernilai akan condition condition condition (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) F T (A == B) (A > B) (A < B) (A >= B) (A <= B) (A != B) T F T = TRUE F = FALSE 144
Beberapa contoh penulisan : if(A<=B) Benar, tanpa ada satu spasipun if (A<=B) Benar, ada satu atau lebih spasi antara “if” dan “(“ if( A<=B ) Benar, ada satu atau lebih spasi antara “(“ dan “A” dan antara “B” dan “)” if( A <= B ) Benar, ada satu atau lebih spasi antara “A” dan “<“ Error, ada satu atau lebih spasi antara “<” dan “=“ if( A < = B ) 144
Bentuk-Kedua. Contoh ungkapan suatu nilai numerik yang menyatakan suatu kondisi. 9. 10 Bentuk ini tidak membandingkan dua buah nilai melainkan menyuguhkan nilai tersebut sebagai suatu kondisi yang bernilai TRUE atau FALSE dengan ketentuan sebagai berikut ; Nilai 0 (nol) bila dinyatakan sebagai suatu kondisi, maka kondisi tersebut bernilai FALSE. Nilai bukan 0 (nol) bila dinyatakan sebagai suatu kondisi, maka kondisi tersebut bernilai TRUE. Contoh : 0 nol, jadi bernilai FALSE 5 5 bukan nol, jadi bernilai TRUE 2-2 nol, jadi bernilai FALSE 2+3 5 bukan nol, jadi bernilai TRUE 2-3 -1, bukan nol, jadi bernilai TRUE N tergantung nilai N. !N tergantung nilai N, bila N bernilai nol, maka !N (bukan N) bernilai bukan nol, jadi kondisi bernilai TRUE 145
Seperti dijelaskan sebelumnya, dalam program, ungkapan yang menyatakan suatu kondisi, digunakan antara lain oleh control statement if, atau for, atau while seperti dicontohkan berikut ini : if(N+5) atau while(!N) 145
Khusus pada bahasa Java, disediakan sebuah tipe data : boolean yang dapat berisi nilai hanya TRUE atau FALSE seperti dicontohkan sebagai berikut : int N = 25; boolean Selesai = false; yang contoh penggunaannya : if(Selesai) disini “Selesai” adalah sustu kondisi yang bernilai FALSE atau while(!Selesai) disini “!Selesai” adalah suatu kondisi yang bernilai TRUE 145
Bentuk Umum dan Cara Kerja Control Statement if 146
Bentuk Umum : IF-THEN Bentuk Umum - 1 : Bentuk Umum - 2 : IF-THEN-ELSE 9.1 Bentuk Umum : IF-THEN Bentuk Umum - 1 : Bentuk Umum - 2 : IF-THEN-ELSE 146
Bentuk Umum - 1 IF-THEN Bentuk : 146
- Cara-Kerja Bentuk Umum - 1 biasa disebut : Bentuk IF-THEN Flowchart if ( cond ) { cond TRUE - statements-true - statements- true } - next instruction next instruction - Cara-Kerja Bila nilai cond - TRUE, maka kerjakan semua instruksi yang ada dalam statements-true Setelah selesai, lanjutkan ke next-instruction - FALSE, maka langsung ‘meloncat’ mengerjakan isnstruksi yang ada di next-instruction 146
Bentuk Umum - 2 IF-THEN-ELSE Bentuk : 147
- cond = condition Bentuk Umum - 2 biasa disebut : Bentuk IF-THEN-ELSE Flowchart if ( cond ) { - statements-true FALSE cond TRUE } else { - statements- false - statements- true - statements-false } next instruction - - next instruction cond = condition 147
Cara-Kerja Flowchart if ( cond ) { - } cond else - Bila nilai cond statements-true statements-false next instruction Flowchart FALSE cond TRUE - statements- false - statements- true next instruction - Cara-Kerja Bila nilai cond - TRUE, maka kerjakan semua instruksi yang ada dalam statements-true Setelah selesai, lanjutkan ke next-instruction - FALSE, maka kerjakan semua instruksi yang ada dalam statements-false 147
Beberapa buku literatur, menggambarkan Flowchartnya sbb: cond TRUE FALSE cond FALSE TRUE - - - true false - false true next instruction - next instruction - 147
Penulisan/Penggunaan 9.2 Beberapa contoh Penulisan/Penggunaan if statement 149
Beberapa contoh penulisan / penggunaan if(cond) bentuk IF-THEN-ELSE int A=5, B=7; if(A<B) { printf(“Jakarta”); } else printf(“Bandung”); printf(“\nSelesai”); 1. 2. int A=5, B=7; if(A<B) { printf(“Jakarta”); } else { printf(“Bandung”); printf(“\nSelesai”); Akan tercetak : Jakarta Selesai Akan tercetak : Jakarta Selesai 3. int A=5, B=7; if(A<B) { printf(“Jakarta”);} else { printf(“Bandung”);} printf(“\nSelesai”); int A=5, B=7; if(A<B){ printf(“Jakarta”);} else { printf(“Bandung”);} printf(“\nSelesai”); 4. Akan tercetak : Jakarta Selesai Akan tercetak : Jakarta Selesai 150
150 5. int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); 6. int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); Akan tercetak : Jakarta Selesai Akan tercetak : Jakarta Selesai Catatan : Bila instruksi yang ada dalam kelompok statemnts-true atau dalam kelompok statements-false hanya terdiri dari satu instruksi, maka instruksi tersebut boleh tidak diapit oleh kurung buka “{“ dan kurung tutup “}” atau bila tidak menggunakan (atau tidak diapit oleh) kurung buka “{“ dan kurung tutup “}”, berarti kelompok statements-true atau false, hanya terdiri dari satu instruksi. 150
int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); 7. Akan tercetak : Jakarta Selesai int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); 8. Akan tercetak : Jakarta Selesai 9. int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); Akan tercetak : Jakarta Selesai 151
151 Error, 10. int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); printf(“\nSelesai”); Walaupun ditulis satu garis vertikal dengan printf(“Bandung”);, tapi bukan merupakan milik statements-else karena milik statemts-else hanya satu instruksi yaitu printf(“Bandung”); Akan tercetak : Jakarta Selesai int A=5, B=7; if(A<B) printf(“Jakarta”); printf(“Bogor”); else printf(“Bandung”); printf(“\nSelesai”); 11. Error, karena printf(“Jakarta”); tidak diapit oleh tanda kurung “{“ dan “}”, maka compiler menganggap statements-true hanya terdiri dari satu instruksi, maka instruksi printf(“Bogor”); dianggap sebagai next instruktion sehingga instruksi else tak punya hubungannya dengan instruksi if diatasnya. else yang berdiri sendiri, menyebabkan error error 151
9.2.3 Beberapa Contoh Aspek Penulisan Condition
152 int A=5, B=7; if(A+4 > B+1) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 1. if(9>8) true int A=5, B=7; if(A+=4 > B+1) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 2. if(9>8) true Akan tercetak : Besar 5 7 nilai A dan B tidak berubah Akan tercetak : Besar 5 7 nilai A dan B tidak berubah 152
152 int A=5, B=7; 2a if(A=A+4 > B+1) if(1) printf(“Besar”); else 5.06 int A=5, B=7; if(A=A+4 > B+1) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 2a if(1) true Tertulis : if(A=A+4 > B+1) Harus dibaca : if(A = A+4 > B+1) Akan tercetak : Besar 1 7 Sehingga menjadi : if(A = 9 > 8) nilai True adalah 1 Sehingga menjadi : if(A = 1) A diisi dengan 1, kemudian ditest sebagai suatu condition Sehingga menjadi : if( 1 ) Menurut bahasa C, 0 (nol) berarti FALSE selain 0 (nol) berarti TRUE 152
152 int A=5, B=7; 2b if(A=A+4 > B+3) if(0) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 2b if(0) false Akan tercetak : Kecil 7 Sama dengan no. 14, if(A=A+4 > B+3) sama dengan : if(A = 9 > 10) sama dengan : if(A = false) sama dengan : if(A = 0) sama dengan : if(0) yang bernilai False sedangkan nilai A adalah 0 (nol) 152
152 5.07 3. int A=5, B=7; if(A-2) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 4. int A=5, B=7; if(A=3) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); if(3) true if(3) true Selain 0 artinya TRUE Selain 0 artinya TRUE Akan tercetak : Besar 5 7 nilai A tidak berubah Akan tercetak : Besar 3 7 nilai A diisi dengan 3 int A=5, B=7; if(A=A-5) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); int A=5, B=7; if(A-8) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 6. 5. if(-3) true if(0) false Selain 0 artinya TRUE Akan tercetak : Besar 5 7 nilai A tidak berubah Akan tercetak : Kecil 7 A diisi dengan 0 152
153 int A=5, B=7; if(A=A-8) printf(“Besar”); else printf(“Kecil”); 5.07 int A=5, B=7; if(A=A-8) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); int A, B=7; if(A=5) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); 7. 8. if(5) true if(-3) true Selain 0 artinya TRUE Akan tercetak : Besar -3 7 nilai A diisi dengan -3 Akan tercetak : Besar 5 7 A diisi dengan 5 153
153 9. int A=1; if( A ) printf(“Jakarta”); else printf(“Bandung”); 10. true if(1) true Akan tercetak : Jakarta Selain 0 berarti TRUE Akan tercetak : Jakarta Selain 0 berarti TRUE 11. int A=-1; if( A ) printf(“Jakarta”); else printf(“Bandung”); 12. if( 5 ) printf(“Jakarta”); else printf(“Bandung”); if(5) true if(-1) true Akan tercetak : Jakarta Selain 0 berarti TRUE Akan tercetak : Jakarta Selain 0 berarti TRUE 13. int A=0; if( A ) printf(“Jakarta”); else printf(“Bandung”); if(0) false 14. if( 0 ) printf(“Jakarta”); else printf(“Bandung”); if(0) false Akan tercetak : Bandung 0 berarti False Akan tercetak : Bandung 0 berarti False 153
if(A=A+4 > B+1) int A=5, B=7; if(A=A+4 > B+1) printf(“Besar”); 15. 9. 33 int A=5, B=7; if(A=A+4 > B+1) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); if(1) true Akan tercetak : Besar 1 7 if(A=A+4 > B+1) Perhatikan instruksi : 154
if(A=A+4 > B+1) Perhatikan instruksi : Tertulis :if(A=A+4 > B+1) 9. 34 Perhatikan instruksi : Tertulis :if(A=A+4 > B+1) Harus dibaca:if(A = A+4 > B+1) B+1=8 A+4=9 Sehingga menjadi: if(A = 9 > 8 ) 9 > 8 bernilai True Sehingga menjadi: if(A = 1) nilai True adalah 1 A diisi dengan 1, kemudian ditest sebagai suatu condition Sehingga menjadi : if( 1 ) Menurut bahasa C, 0 (nol) berarti FALSE selain 0 (nol) berarti TRUE 154
int A=5, B=7; if(A=A+4 > B+3) printf(“Besar”); else 9. 35 16. int A=5, B=7; if(A=A+4 > B+3) printf(“Besar”); else printf(“Kecil”); printf(“\n%i”, A); printf(“\n%i”, B); if(0) false Akan tercetak : Kecil 7 Sama dengan no. 14, if(A=A+4 > B+3) sama dengan : if(A = 9 > 10) sama dengan : if(A = false) sama dengan : if(A = 0) sama dengan : if(0) yang bernilai False sedangkan nilai A adalah 0 (nol) 154
Contoh Aplikasi Sederhana 9.3 Contoh Aplikasi Sederhana menggunakan if statement 155
Soal-1 Susun program untuk menginput sebuah nilai integer ( nilai ujian mahasiswa) kemudian cetak perkataan “LULUS”, bila nilai tersebut >= 60 atau cetak perkataan “GAGAL” bila nilai tersebut < 60. Misal nilai yang diinput adalah : 65 65 LULUS printf scanf 65 Nilai scanf(“%i”, &Nilai); printf(“LULUS”); 155
Soal-1 Susun program untuk menginput sebuah nilai integer ( nilai ujian mahasiswa) kemudian cetak perkataan “LULUS”, bila nilai tersebut >= 60 atau cetak perkataan “GAGAL” bila nilai tersebut < 60. Misal nilai yang diinput adalah : 57 57 GAGAL scanf printf 57 Nilai scanf(“%i”, &Nilai); printf(“GAGAL”); 155
Catatan : Kita pernah membuat / melihat program sebagai berikut : Soal-1 Susun program untuk menginput sebuah nilai integer ( nilai ujian mahasiswa) kemudian cetak perkataan “LULUS”, bila nilai tersebut >= 60 atau cetak perkataan “GAGAL” bila nilai tersebut < 60. Catatan : Kita pernah membuat / melihat program sebagai berikut : int A=5, B=7; if(A<B) printf(“Jakarta”); else printf(“Bandung”); Akan tercetak : Jakarta 155
Soal-1 Susun program untuk menginput sebuah nilai integer (nilai ujian mahasiswa) kemudian cetak perkataan “LULUS”, bila nilai tersebut >= 60 atau cetak perkataan “GAGAL” bila nilai tersebut < 60. Flowchart START Scanf Nilai Nilai>=60 false true printf printf “GAGAL” “LULUS” END 155
155 Jawab-1. Cara-1: C Flowchart #include <stdio.h> void main() Soal-1 Susun program untuk menginput sebuah nilai integer ( nilai ujian mahasiswa) kemudian cetak perkataan “LULUS”, bila nilai tersebut >= 60 atau cetak perkataan “GAGAL” bila nilai tersebut < 60. Jawab-1. Cara-1: C Flowchart #include <stdio.h> void main() { int Nilai; printf(“Inputkan sebuah nilai: “); scanf(“ %i”, &Nilai); if (Nilai >= 60) printf(“LULUS”); else printf(“GAGAL”); } START Scanf Nilai Nilai>=60 printf “GAGAL” printf “LULUS” END 155
155 if (Nilai >=60) printf(“LULUS”); else printf(“GAGAL”); Perahatikan blok instruksi if pada program diatas Empat baris instruksi diatas, dapat ditulis menjadi satu baris: if (Nilai >=60) printf(“LULUS”); else printf(“GAGAL”); Bahkan bisa ditulis menjadi : (Nilai>=60)? printf(“LULUS”) : printf(“GAGAL”); atau Nilai>=60? printf(“LULUS”) : printf(“GAGAL”); atau menjadi : printf( (Nilai>=60)? (“LULUS”) : (“GAGAL”)); atau printf( (Nilai>=60)? “LULUS” : “GAGAL” ); printf( Nilai>=60? “LULUS” : “GAGAL” ); 155
C++ 156 Flowchart cin cout cout #include <iostream.h> void main() { int Nilai; cout << “Inputkan sebuah nilai : “; cin >> Nilai; if (Nilai >=60) cout << “LULUS”; else cout << “GAGAL”; } START cin Nilai Nilai>=60 cout cout “GAGAL” “LULUS” END 156
Java 156 Flowchart cin cout cout public class LulusGagal { public static void main (String[] args ) { String S; int N; Syste.out.print(“Inputkan Sebuah Nilai: “); S = InputDariKeyboard.inputString(); N = Integer.valueOf(S).intValue(); if(N >= 60) System.out.println(“LULUS”); else System.out.println(“GAGAL”); } START cin Nilai Nilai>=60 cout cout “GAGAL” “LULUS” END Catatan : Untuk program Java yang mengandung instruksi input dari keyboard, perlu program routine yang ditulis secara terpisah (Lihat Bab 7) 156
Jawab-1. Cara-2: 157 #include <stdio.h> #include<string.h> START #include <stdio.h> #include<string.h> void main() { int Nilai; char X[10]; printf(“\n Inputkan sebuah nilai : “); scanf(“ %i ”, &Nilai); if (Nilai >=60) strcpy(X, “LULUS”); else strcpy(X, “GAGAL”); printf(“\n % s “, X); } Scanf Nilai Nilai>=60 X=“GAGAL” X=“LULUS” printf X END Disini untuk mengisi string X, digunakan instuksi strcpy(), suatu fungsi pustaka untuk string copy Instruksi ini memerlukan #include<string.h> Instruksi ini berlaku juga pada C++. 157
#include <stdio.h> #include <string.h> main() { int Nilai; Jawab-1. Cara-3: START #include <stdio.h> #include <string.h> main() { int Nilai; char X[10]; strcpy(X, “GAGAL”); printf(“\n Inputkan sebuah nilai : “); scanf(“ %i ”, &Nilai); if (Nilai >=60) strcpy(X, “LULUS”); printf(“\n % s “, X); } X=“GAGAL” Scanf Nilai Nilai>=60 X=“LULUS” printf X END 157
Soal-2 Susun program untuk menginput sebuah nilai integer, bilangan bulat positip lebih besar dari nol, kemudian cetak perkataan “EVEN”, bila bilangan tersebut merupakan bilangan GENAP, sebaliknya cetak perkataan “ODD” bila bilangan tersebut merupakan bilangan GANJIL. Catatan : Bilangan bulat postip lebih besar dari nol dengan nilai : GENAP : 2, 4, 6, 8, dan seterusnya GANJIL : 1, 3, 5, 7, dan seterusnya 158
Jawab-2. Cara-1: C 158 #include <stdio.h> void main() { int N; START C Scanf N #include <stdio.h> void main() { int N; printf(“Inputkan sebuah nilai: “); scanf(“ %i”, &N); if (N % 2 == 0) printf(“EVEN”); else printf(“ODD”); } N % 2 == 0 printf printf “ODD” “EVEN” END 158
N % 2 Baca : N MOD 2 Operator % dalam Bahaca C, maksudnya adalah Modulus, atau Sisa Pembagian Bilangan Integer. 1 % 2 = 1 2 % 2 = 0 3 % 2 = 1 4 % 2 = 0 5 % 2 = 1 6 % 2 = 3 15 % 2 = 1 15 % 3 = 0 15 % 4 = 3 15 % 15 = 0 20 % 15 = 5 7 % 15 = 7 6 % 15 = 6 1 % 15 = 1 Contoh : 158
Jawab-2. Cara-2: C Kalan N Ganjil, maka N tidak sama dengan K 7 6 K N C #include <stdio.h> void main() { int N, M, K; printf(“Inputkan sebuah nilai: “); scanf(“ %i”, &N); M = N / 2; K = M * 2; if (N == K) printf(“EVEN”); else printf(“ODD”); } /2 *2 3 M Kalan N Ganjil, maka N tidak sama dengan K 6 6 K N /2 *2 3 M Kalan N Genap, maka N akan sama dengan K 158
Jawab-2. Cara-2: C Atau : 158 #include <stdio.h> void main() { int N, M, K; printf(“Inputkan sebuah nilai: “); scanf(“ %i”, &N); M = N / 2; K = M * 2; if (N == K) printf(“EVEN”); else printf(“ODD”); } #include <stdio.h> void main() { int N; printf(“Inputkan sebuah nilai: “); scanf(“ %i”, &N); if (N == N / 2 * 2) printf(“EVEN”); else printf(“ODD”); } 158
5 5 2 A B Soal-3 Susun program dalam bahasa C untuk menginput 2 (dua) buah bilangan bulat, kemudian mencetak salah satu bilangan yang nilainya terbesar. MISAL NILAI YANG DIINPUT ADALAH 5 DAN 2 5 2 5 scanf printf 5 2 A B 159
#include <stdio.h> main() { int A, B; scanf(“ %i ”, &A); Cara-1 START Scanf scanf pritnf END A B FLOWCHART Cara-1 A > B false true #include <stdio.h> main() { int A, B; scanf(“ %i ”, &A); scanf(“ %i ”, &B); if (A > B) printf(“\n%i “, A); } else printf(“\n%i “, B); Dua instruksi ini dapat digabung menjadi satu : scanf(“ %i %i “, &A, &B ); 159
START Scanf scanf A > B pritnf pritnf END false A > B true pritnf pritnf B A END FLOWCHART Cara-1 159
scanf(“ %i %i “, &A, &B ); Cara-1 #include <stdio.h> main() { int A, B; scanf(“ %i ”, &A); scanf(“ %i ”, &B); if (A > B) printf(“\n %i “, A); else printf(“\n %i “, B); } Dua instruksi scanf diatas, dapat digabung menjadi satu : scanf(“ %i %i “, &A, &B ); 159
if (A > B) printf(“%i“, A); else printf(“%i“, B); if (A < B) printf(“%i“, ….); else printf(“%i“, …..); if (B > A) printf(“%i“, …...); else if (B < A) printf(“%i“, …...); else 160
if (A > B) printf(“%i“, A); else printf(“%i“, B); if (A < B) printf(“%i“, B); else printf(“%i“, A); if (B > A) printf(“%i“, B); else printf(“%i“, A); if (B < A) printf(“%i“, A); else printf(“%i“, B); 160
Perhatikan beberapa cara penulisan pengganti if () diatas : #include <stdio.h> main() { int A, B; scanf(“ %i ”, &A); scanf(“ %i ”, &B); if (A > B) printf(“\n %i “, A); else printf(“\n %i “, B); } Perhatikan beberapa cara penulisan pengganti if () diatas : 1). if(A>B) printf(“%i”, A); else printf(“%i”, B); 2). A>B? printf(“%i”, A) : printf(“%i”, B); 3). (A>B)? printf(“%i”, A) : printf(“%i”, B); 4). printf(“%i”, A>B? (A) : (B) ); 5). printf(“%i”, A>B? A : B ); 161
#include <stdio.h> main() { int A, B, MAX; scanf(“ %i ”, &A); Cara-2 #include <stdio.h> main() { int A, B, MAX; scanf(“ %i ”, &A); scanf(“ %i ”, &B); if (A > B) MAX = A; else MAX = B; } printf(“i%“, MAX); Scanf A scanf B false A > B true MAX = B MAX = A printf MAX Dua instruksi scanf diatas, dapat digabung menjadi satu : scanf(“ %i %i “, &A, &B ); 161
9. 60 Dengan cara menyimpan bilangan yang terbesar kedalam sebuah variabel misal namanya MAX 5 2 5 2 scanf 5 A B 5 prinf KEYBOARD MAX SCREEN MEMORY 161
Cara-3 Jawab-3 Cara-3 #include <stdio.h> main() { int A, B, MAX; 9. 61 Jawab-3 Cara-3 Scanf Cara-3 A scanf #include <stdio.h> main() { int A, B, MAX; scanf(“ %i ”, &A); scanf(“ %i ”, &B); MAX = B; if (A > B) MAX = A; printf(“\n %i “, MAX); } B MAX = B true A > B MAX = A printf MAX 161
Cara-4 #include <stdio.h> main() { int A, B, MAX; START Cara-4 #include <stdio.h> main() { int A, B, MAX; scanf(“%i”, &A); MAX = A; scanf(“%i”, &B); if (B > MAX) MAX = B; printf(“\n %i“, MAX); } Scanf A MAX = A scanf B true B>MAX false MAX = B printf MAX END 162
2 A 5 5 Jawab-3 Cara-5 Menggunakan hanya 2 variabel. 9. 63 Jawab-3 Cara-5 Menggunakan hanya 2 variabel. A khusus untuk menampung input, dan MAX khusus mencatat atau menyimpan nilai terbesar. 5 2 scanf 2 5 prinf A 5 KEYBOARD MAX SCREEN 163
#include <stdio.h> main() { int A, MAX; scanf(“ %i ”, &A); Cara-5 9. 64 Scanf #include <stdio.h> main() { int A, MAX; scanf(“ %i ”, &A); MAX = A; if (A > MAX) printf(“\n %i “, MAX); } A MAX = A scanf A A>MAX true false MAX = A prinf MAX Algoritma (logika) Cara-5 ini yang nanti akan menjadi dasar algoritma pencarian bilangan terbesar ataupun terkecil dari sekian buah bilangan yang ada. 163
misal nilai yang diinput adalah 5 dan 2 Urutan pelaksanaan : 1) int A,MAX; 2) scanf(“%i”, &A); 3) MAX = A; 4) scanf(“%i”, &A); 5) if (A>max) MAX = A; 6) printf(“%i”, &MAX); A MAX 5 5 5 2 5 2 5 5 163
misal nilai yang diinput adalah 5 dan 9 Urutan pelaksanaan : 1) int A,MAX; 2) scanf(“%i”, &A); 3) MAX = A; 4) scanf(“%i”, &A); 5) if (A>max) MAX = A; 6) printf(“%i”, &MAX); A MAX 5 5 5 9 5 9 9 9 163