8-seleksi
DESCRIPTION
909090909TRANSCRIPT
Review komponen dasar pemrograman : Memasukkan Informasi Menyimpan Informasi Memanipulasi Informasi Menampilkan Informasi
+ Kendali Program
Kendali ProgramMengendalikan perintah-perintah
dan proses-proses dalam program
Pernyataan Bersyarat/Seleksi/Pencabangan
Pencabangan banyak Perulangan/Loop Proses Lompatan Subprogram
Dengan pernyataaan bersyarat/seleksi, komputer mempunyai kemampuan untuk mengambil keputusan berdasarkan kondisi
Suatu kondisi/syarat diperoleh melalui operasi-operasi dengan menggunakan operator-operator relational/komparasi dan operator-operator logika
Beberapa variasi pernyataan bersyarat :
Seleksi Tunggal Sederhana Seleksi Tunggal Blok Statement Seleksi Multiple “if-else” Seleksi Bersarang Seleksi dengan Kombinasi Kondisi
Bentuk umum :
1. if(syarat) statement1;else statement2;
2. if(syarat) { urutan statement1; }else { urutan statement2; }
3. if(syarat1){urutan statement1}
else if(syarat2){urutan statement2}
else if(syarat3){urutan statement3}
else //selain syarat1,2, dan 3{urutan statement4}
1. Statement1, statement2, urutan statement1, dsb disebut target dari if statement
2. Bentuk 1 target merupakan statement tunggal
3. Bentuk 2 target merupakan suatu urutan statement (terdiri dari > 1 statement)
4. Bentuk 3 ada banyak pilihan (> 2)
Syarat bisa berupa suatu pernyataan relasional atau bisa berupa bilangan
Contoh (pernyataan relasional): if(x>=2) if(y<0xF0) If(a==‘A’) If((x > y)&&(x<1))
Contoh (berupa bilangan) if(b) //dengan b suatu bilangan. diartikan sebagai //if(b!=0)
#include <stdio.h>Main(){float temp;printf(“Berapa suhu saat ini ?”);scanf(“%f”,&temp);if (temp>=30)
printf(“Udara terasa panas”);}
#include <stdio.h>#include <math.h>
Main(){ float a,b,maks;
printf(“Masukkan Bil. riil a dan b : ”);scanf(“%f %f”,&a,&b);if (a>b) maks = a;else maks = b;printf(“Bilangan terbesar : %f\n”,maks);
}
syarat
statement1 statement2
Ya (syarat dipenuhi)
tidak (syarat tidak dipenuhi)
Proses sebelumnya
if else
syarat1
statement1
statement2
Ya (syarat1 dipenuhi)
Proses sebelumnya
syarat2
statement3
ifTidak(syarat1 tdk dipenuhi)
Ya (syarat2 dipenuhi)
Tidak(syarat2 tdk dipenuhi)
Else if
else
Untuk mengatur proses dengan banyak pencabangan
Perlu variabel integer atau char dengan bbrp kemungkinan nilai
Bentuk statement bisa tunggal atau statement switch bersarang
switch(expression){case constant1:statement sequence_1break;case constant2:statement sequence_2break;case constant3:statement sequence_3break;…..…..default:statement sequence_n}
Struktur switch-case tsb ekivalen denganstruktur if – else if sbb:
if(expression==constant1){statement sequence_1}else if(expression==constant2){statement sequence_2}else if(expression==constant3) {statement sequence_3}…………else {statement_sequence_n}
Constant adalah bilangan bulat atau karakter, tidak boleh berupa bilangan float
Constant1,constant2,dst harus berbeda Constant harus merupakan suatu literal,
sedangkan expression adalah suatu variabel Setiap case diakhiri break dan proses switch
berakhir. Tanpa break proses dilanjutkan ke case berikutnya
Jika tidak ada case yang sesuai, proses dalam default akan dikerjakan
default bersifat optional
Expression =constan1?
statement1
statement2
Ya
Proses sebelumnya
Expression=constan2?
statement3
Tidak
default
switch (pilih_bangun){// bujursangkar atau lingkarancase ‘A’ : /* bujursangkar */switch (pilih_hitung){// luas atau isicase 1 :break;case 2 :break; }break;case ‘B’ : /* lingkaran */break;}
1. Gambarlah Flowchart untuk menghitung akar-akar persamaan kuadrat :
ax2 + bx + c = 02. Implementasikan Flowchart pada soal
di atas menjadi program dengan Bahasa C, menggunakan perintah :
a. if – elseb. switch – case