09 Control Statement if 143.

Slides:



Advertisements
Presentasi serupa
Pengendalian Proses : Seleksi (Conditional)
Advertisements

Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Bab 2 Struktur Dasar.
Soal-Soal Latihan Mandiri
Soal-2. Susun program untuk menginput empat (4) buah bilangan bulat kemudian mencetak salah satu bilangan yang nilainya terbesar: 180.
DASAR-DASAR PEMROGRAMAN C
Algoritma : CONTROL STRUCTURES
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
Pemrograman Berorientasi Objek
Struktur Dasar Algoritma
VARIABEL DAN OPERATOR.
PERTEMUAN 4 Penyeleksian kondisi
Struktur Kontrol.
Algoritma dan Struktur Data
Pengenalan Pemrograman 1 Versi 2.0 Struktur kontrol.
Chapter 3.2 : Tipe, Nama dan Nilai
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Struktur Kendali Proses (Seleksi)
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
PEMROGRAMAN KOMPUTER 2 4 SKS 2 TEORI DAN 2 PRAKTEK
PEMROGRAMAN BERORIENTASI OBJEK
STRUKTUR KENDALI PROSES
5. 1 Bab 05 Tipe Data dan Mengisi Variabel.
Pengenalan Pemrograman 1 Versi 2.0 Struktur kontrol.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Issa Arwani, S.kom, M.sc.
Struktur Dasar Java Percabangan & Perulangan
Bab 2 – b PERINTAH 2 B Percabangan. PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand,
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
PELATIHAN JAVA FUNDAMENTAL
Struktur Kontrol Pemilihan
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Bab 05 Tipe Data dan Mengisi Variabel
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pertemuan Operand dan Operator
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Pertemuan -- Issa Arwani, S.kom, M.sc. PROGRAM STUDI.
Struktur kontrol.
Perulangan (Iteration)
{Pertemuan 4 Struktur Kondisi IF}
Struktur Kontrol Struktur kontrol if Struktur kontrol if-else
{Pertemuan 4 Struktur Kondisi IF}
Bahasa Pemprograman Dasar Pertemuan 4
Struktur Kontrol Pemilihan
Struktur Seleksi (Percabangan)
{Pertemuan 4 Struktur Kondisi IF}
03.8 Soal-Soal Pekerjaan Rumah.
04.2 Hari-4.
04.1 Hari-4.
STRUKTUR DASAR PROGRAM
Introduction using 03b to Algorithm C / C++ teknik dasar Algoritma.
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
07.3 Hari-7.
Contoh Aplikasi Sederhana
Algoritma & Pemrograman 3
Contoh Aplikasi Sederhana
02.1 Hari-2.
JAVA FUNDAMENTAL.
291.
04.2 Hari-4.
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
09.3 Hari-9.
Percabangan/Penyeleksian Kondisi
Aliran Kendali Pengulangan
03.7 Latihan Membaca Flowchart.
Bab 2 Struktur Dasar.
Arithmetic Expression
Bab 08 Menghitung Total Data yang Diinput Dari Keyboard
Introduction 04 to Algorithm LOOP sebagai pembentuk kerangka dasar
Nested if 164.
Soal-soal.
Transcript presentasi:

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