Pencabangan Bersyarat

Slides:



Advertisements
Presentasi serupa
TUGAS Buatlah program menghitung luas persegi panjang!
Advertisements

Dasar Pemrograman Komputer
STATEMENT KONDISI Adalah perintah yang memungkinkan
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
II Kendali percabangan (branching)
Pemrograman JAVA (TIB09)
Pengenalan Pemrograman 1 Versi 2.0 Struktur kontrol.
Struktur Kendali Proses (Seleksi)
LOGIKA ALGORITMA Pertemuan 6.
Struktur Kontrol: Keputusan
STRUKTUR KENDALI PROSES
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.
2 JAM TEORI dan 1 jam praktek
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK UNIVERSITAS BRAWIJAYA MALANG.
Struktur Kendali dan Repetisi
Struktur Kontrol Pemilihan
Struktur Kontrol.
Pertemuan Operasi Seleksi
1 Dasar Pemrograman Komputer [TKL-4002] Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami struktur kendali pengulangan (looping)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 REVIEW Issa Arwani, S.kom, M.sc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Pertemuan -- Issa Arwani, S.kom, M.sc. PROGRAM STUDI.
Struktur kontrol.
Pertemuan 9-10 Operasi Looping (Pengulangan)
Struktur Kontrol Keputusan
Algoritme dan Pemrograman
Percabangan Dosen Pengampu: M. Zidny Naf’an, M.Kom.
Struktur Kontrol #1 Keputusan
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Transfer of control (pemindahan langkah)
Pertemuan Operasi Seleksi
Statement Control (if dan switch)
Konsep Dasar Pemrograman Komputer
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Pemrograman Visual I Outline: Kondisi dan Aksi Selection Statement
PERNYATAAN SELEKSI Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0.
Struktur Kontrol Pemilihan
Pertemuan 4 PROGRAMMING LANGUAGE.
Struktur Kontrol Keputusan
PERCABANGAN.
Percabangan C++ Norma Amalia, ST., M.Eng.
TEL 2112 Dasar Komputer & Pemograman Penyeleksian
Pemilihan TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
DPK Percabangan bersyarat
Aliran Kendali (Flow Control)
Algoritme dan Pemrograman
PERCABANGAN Siti Mukaromah, S.Kom.
Algoritma & Pemrograman 3
1. Bentuk If- else STRUKTUR SELEKSI KONDISI SELEKSI KONDISI
Contoh Aplikasi Sederhana
Pemrograman Terstruktur
Pengantar Pemrograman
TEL 2112 Dasar Komputer & Pemograman Pengontrolan Program – Penyeleksian Dosen: Abdillah, S.Si, MIT Website:
Seleksi Kondisi/Pencabangan
Struktur Kontrol #1 Keputusan
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
SELEKSI ALGORITMA & STRUKTUR DATA I PROGRAM STUDI SISTEM INFORMASI
Bab 2 Struktur Dasar.
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Latihan Pertemuan Operasi Seleksi
Akademi Komunitas Negeri Lamongan
Pertemuan 7 Percabangan dalam bahasa C .:: Erna Sri Hartatik ::.
Pernyataan Kondisional, Perulangan dan Jump
Pengambilan Keputusan
ALGORITMA & DASAR PEMROGRAMAN
Perulangan Minggu ke-10.
Nested if 164.
STRUKTUR perulangan (1)
Dasar Pemrograman Pertemuan 7 Percabangan dalam bahasa C
PERCABANGAN.
Transcript presentasi:

Pencabangan Bersyarat Pertemuan 05 Dasar Pemrograman Komputer [TKL-4002] 2010

Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa me-miliki kemampuan untuk: Menggunakan struktur kendali pencabangan ber- syarat dalam bahasa pemrograman C.

Outline Materi Pencabangan Bersyarat Pernyataan if dan if-else Pernyataan nested if-else Pernyataan switch-case Operator kondisional

Pencabangan Bersyarat Dalam sebuah algoritma, seringkali beberapa instruksi harus dilaksanakan bila suatu persyaratan dipenuhi (bernilai benar) dan sebaliknya. Dalam struktur pencabangan bersyarat, suatu instruksi atau sekelompok instruksi dapat dilewati, sementara instruksi lain dijalankan. Pernyataan pencabangan bersyarat terdiri dari: if if-else switch-case

Pernyataan if Penggambaran dalam flow-chart Statements sebelum if true Eks.boolean Statement; ... true false Eks.boolean true Statement; ... false Statements setelah if

Pernyataan if Sintaks : if (ekspresi boolean) statement; atau { statement1; statement2; …… } Jika ekspresi boolean bernilai TRUE, maka statement atau blok statement akan dilaksanakan. Blok statement

Pernyataan if-else Penggambaran dalam flow-chart Statements sebelum if Eks.boolean Statement_01; Statement_02; ... true false Statement_11; Statement_12; false Eks.boolean true Statement_11; Statement_12; ... Statement_01; Statement_02; ... Statements setelah if

Pernyataan if-else Sintaks : if (ekspresi boolean) statement_01; else statement_11; atau if (ekspresi boolean) { statement_01; …… } else { statement_11; …... Jika ekspresi boolean bernilai TRUE, maka statement_01 atau blok statement_01 yang dilaksanakan, jika bernilai FALSE maka statement_11 atau blok statement_11 yang dilaksanakan. Blok statement_01 Blok statement_11

Pernyataan if #include <stdio.h> #include <iostream.h> int main() { int jmlAnak; double gajiKtr, tunjangan, persenTunjangan = 0.2; printf("PERHITUNGAN TUNJANGAN GAJI\n\n"); printf("Gaji Kotor? "); scanf("%lf", &gajiKtr); printf("Jumlah Anak? "); scanf("%lf", &jmlAnak); if (jmlAnak>2) persenTunjangan = 0.3; tunjangan = persenTunjangan*gajiKtr; printf("Besar Tunjangan = Rp. %10.2lf\n\n", tunjangan); system("PAUSE"); return(0); }

Pernyataan if #include <stdio.h> #include <iostream.h> int main(){ int jmlAnak; float gajiKtr, tunjangan, potongan, persenTunjangan = 0.2, persenPotongan = 0.05; printf(“PERHITUNGAN TUNJANGAN & POTONGAN GAJI\N\N”); printf("Gaji Kotor? "); scanf("%f", &gajiKtr); printf("Jumlah Anak? "); scanf("%f", &jmlAnak); if (jmlAnak>2) { persenTunjangan = 0.3; persenPotongan = 0.07; } tunjangan = persenTunjangan*gajiKtr; potongan = persenPotongan*gajiKtr; printf("Besar Tunjangan = Rp. %10.2f\n", tunjangan); printf("Besar Potongan = Rp. %10.2f\n\n", potongan); system("PAUSE"); return(0);

Pernyataan if-else Contoh Program untuk mendapatkan akar-akar dari persamaan kwardrat. Algoritma : 1. Dapatkan koefisien a, b, dan c dari keyboard 2. Hitung diskriminan d = b*b – 4*a*c 3. Bila d >= 0 maka hitung x1 dan x2 Bila d < 0 maka akar imajiner dan stop 4. Stop Menghitung x1, dengan rumus : Menghitung x2, dengan rumus : -b + d 2*a -b - d 2*a

Pernyataan if-else Contoh : #include <stdio.h> #include <math.h> #include <iostream.h> int main() { float a,b,c,d,x1,x2; char ch; printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n"); printf("Masukan koef. a : "); scanf("%f",&a); printf("Masukan koef. b : "); scanf("%f",&b); printf("Masukan koef. c : "); scanf("%f",&c); d = b*b - 4 * a * c; if (d >= 0){ x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("\nx1=%f\nx2=%f\n\n",x1,x2); } else printf("Akar Persamaan Imajiner\n\n"); system("PAUSE"); return 0;

Pernyataan if-else Bersarang Konstruksi if-else dapat digunakan secara bertingkat atau bersarang (nested) Contoh: if (ekspresi boolean1) statement1; else if (ekspresi boolean2) statement2; else if (ekspresi boolean3) statement3; ..... else if (ekspresi booleanN) statementN;

Pernyataan if-else Contoh pernyataan if-else bersarang: /* Program Kalkulator */ #include<stdio.h> int main() { float bil1, bil2; char op; while(1) { printf(“\n Ketik bil1 operator bil2, ( Contoh: 3 * 4) \n”); scanf(“%f %c %f”, &bil1, &op, &bil2); if(op == ‘+’) printf(“ = %f”, bil1 + bil2); else if(op == ‘-’) printf(“ = %f”, bil1 - bil2); else if(op == ‘*’) printf(“ = %f”, bil1 * bil2); else if(op== ‘/’) printf(“ = %f”, bil1 / bil2); else{ printf(“error: operator hanya +,-,* dan / \n”); break; } return 0;

Pernyataan if-else Bersarang Contoh pemakaian if-else bersarang untuk perhitungan akar persamaan kuadrat: #include <stdio.h> #include <math.h> #include <iostream.h> int main() { float a,b,c,d,x1,x2; printf("PERHITUNGAN AKAR PERS. KUADRAT\n\n"); printf("Masukan koef. a : "); scanf("%f",&a); printf("Masukan koef. b : "); scanf("%f",&b); printf("Masukan koef. c : "); scanf("%f",&c);

Pernyataan if-else Bersarang if (a != 0) { d = b*b - 4 * a * c; if (d > 0) { x1 = (-b + sqrt(d)) / (2 * a); x2 = (-b - sqrt(d)) / (2 * a); printf("\nx1=%f\nx2=%f\n\n",x1,x2); } else { if (d==0) { x1 = x2 = -b/(2*a); printf("\nAkar persamaan kembar x1 = x2 = %f\n\n", x1); else { printf("\nAkar persamaan kompleks: \n"); printf("x1 = %f + %fj\nx2 = %f - %fj\n\n", -b/2/a,sqrt(-d)/2/a, -b/2/a,sqrt(-d)/2/a); else { if (b !=0 ) printf("Bukan pers. kuadrat dan x = %f\n\n", -c/b); else printf("Data yg dientry tidak layak dioperasikan (data salah)\n\n"); system("PAUSE"); return 0;

Pernyataan if-else Penulisan if-else harus jelas maksudnya.... Contoh penulisan if-else yang kurang jelas meskipun tidak salah. #include <stdio.h> #include <iostream.h> int main(){ int suhu; printf("Input suhu ? (F): "); scanf("%d",&suhu); if (suhu<80) if (suhu>30) printf("Panas\n\n"); else printf("Sejuk\n\n"); system("PAUSE"); return(0); }

Pernyataan switch-case Pernyataan switch-case dapat dipergunakan sebagai pengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulit dibaca. Sintaks pernyataan switch-case switch (ekspresi integer) { case constant1 : statements1; break; case constant2 : statements2; break; . [ default : statements; ] }

Pernyataan switch-case Pernyataan switch mengevaluasi ekspresi dan kemudian melihat isi case constant. Jika nilai ekspresi ada didalam constant list maka pernyataan dieksekusi. Jika tidak ada yang cocok, pernyataan default yang dieksekusi. Catatan: nilai ekspresi harus integer dan constant harus integer constant termasuk char.

Pernyataan switch-case Struktur logika switch-case dapat digambarkan sbb.: case b case a case z case a action(s) case b action(s) case z action(s) break default action(s) true false true case a case a action(s) break false true case b case b action(s) break false true case z case z action(s) break false default action(s)

Pernyataan switch-case Contoh : #include <stdio.h> #include <iostream.h> int main() { float bil1, bil2; char op; scanf("%f %c %f", &bil1, &op, &bil2); switch(op){ case '+': printf(" = %f", bil1 + bil2); break; case '-' : printf(" = %f", bil1 - bil2); break; case '*' : printf(" = %f", bil1 * bil2); break; case '/' : printf(" = %f", bil1 / bil2); break; default : printf("operator TAK DIKENAL"); } printf("\n\n"); system("PAUSE"); return(0);

Latihan Buat program untuk menginput nilai IPK mahasiswa dan berikan penilaian : 3.5 - 4.0 Sangat Memuaskan 3.0 - 3.4 Memuaskan 2.5 – 2.9 Baik Sekali 2.0 – 2.4 Baik Dibawah 2.0 Kurang Gunakan perintah if / if-else !

Latihan Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas) Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus: Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas) Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus: Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas) Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut: Nilai Akhir Bobot Nilai Huruf 85 - 100 4 A : Sangat Baik 75 - 84 3 B : Baik 65 - 74 2 C : Cukup 50 - 64 1 D : Kurang 0 - 49 E : Gagal

Latihan Perhatikan potongan program dibawah ini: if(n > 0) if(a > b) z = a; else z = b; Jelaskan keyword else berpasangan dengan if yang mana ? Perbaiki cara penulisan potongan program diatas, agar menjadi lebih jelas dibaca algoritmanya !