Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehIndra Sanjaya Telah diubah "6 tahun yang lalu
1
TEL 2112 Dasar Komputer & Pemograman Pengontrolan Program – Penyeleksian
Dosen: Abdillah, S.Si, MIT Website:
2
Tujuan Mahasiswa mampu mentranslasikan dengan benar algoritma yang mengandung penyeleksian ke program bahasa C
3
Penyeleksian Kondisi #include<stdio.h> main() { int JumlahAnak;
float GajiKotor, Tunjangan, PersenTunjangan = 0.2; printf(“Gaji Kotor?”);scanf(“%f”,&GajiKotor); printf(“Jumlah Anak?”);scanf(“%i”,&JumlahAnak); if(JumlahAnak >2)PersenTunjangan =0.3; Tunjangan = PersenTunjangan*GajiKotor; printf(“n\Besarnya Tunjangan = Rp %f\n”, Tunjangan); }
4
Jika Program diatas dieksekusi akan dihasilkan:
Gaji Kotor?100000 Jumlah Anak? 5 Besar Tunjangan = Rp30000,00 Statement if juga bisa digunakan untuk memproses beberapa statemen sekaligus dalam suatu blok jika kondisi benar, disebut juga “bentuk if tunggal blok statemen” Menggunakan tanda {} Contoh: #include<stdio.h> main() { int JumlahAnak; float GajiKotor, Tunjangan, Potongan, PersenTunjangan=0.2,PersenPotongan=0.05; printf(“Gaji Kotor?”);scanf(“%f”, GajiKotor); printf(“Jumlah Anak?”);scanf(“%d”,&JumlahAnak); if(JumlahAnak >2) { PersenTunjangan =0.3; PersenPotongan=0.07; } Tunjangan =PersenTunjangan*GajiKotor; Potongan = PersenPotongan*GajiKotor; printf(“n\Besarnya Tunjangan=Rp %10.2f\n”,Tunjangan); printf(“n\Besarnya Potongan=Rp %10.2f\n”,Potongan);
5
Jika program diatas dieksekusi akan didapatkan hasil:
Gaji Kotor?100000 Jumlah Anak? 5 Besarnya Tunjangan =Rp Besarnya Potongan = Rp
6
Jika tidak digunakan tanda {} maka program akan salah, kesalahannya bukan merupakan kesalahan sintaks tetapi merupakan kesalahan logika program
7
Bisa juga berbentuk: if (kondisi) statemen; else Jka kondisi terpenuhi maka statemen berkutnya akan dieksekusi, tetapi jika kondisi tidak terpenuhi statemen setelah else akan dieksekusi
8
Contoh: #include<stdio.h> main() { float A,B; printf(“Masukkan nilai a?”);scanf(“%f”,&A); prinft(“Masukkan nilai b?”);scanf(“%f”,&B); printf(“\n); if(B==0) printf(“%f dibagi dengan 0 adalah tak berhingga\n”,A); else printf(“%f dibagi dengan %f adalah %f\n”,A,B,A/B); }
9
Jika program diatas dieksekusi maka didapat output:
Masukkan nilai a? 5 Masukkan nilai b? 0 dibagi 0 adalah tidak berhingga
10
Contoh: #include<stdio.h> #include<math.h> main() { float A,B,C,D,X1,X2; /*Masukkan data keodfesien persamaan kuadrat*/ printf(“Masukkan nilai a?”);scanf(“%f”,&A); printf(“Masukkan nilai b?”);scanf(“%f”,&B); printf(“Masukkan nilai c?”);scanf(“%f”,&C); prinf(“/n”); /*menghitung nilai determinan*/ D=B*B-4*A*C; /*menyeleksi determinan*/ if(D==0){ X1=-B/(2*A); printf(“Dua akar riel kembar :\n”); printf(“X1=X2=%f\n,X1); } else if(D>0){ X1=(-B+sqrt(D))/(2*A); X2=(-B-sqrt(D))/(2*A); printf(“Dua akar riel berlainan:\n”); printf(“X1=%f\n”,X1); printf(“X2=%f\n”,X2); } X1=-B/(2*A); X2=sqrt(-D))/(2*A); printf(“Dua akar imaginer berlainan:\n”); printf(“X1=%f+%f i\n”,X1,X2); printf(“X1=%f-%f i\n”,X1,X2);
11
Jika program dijalankan
Masukkan nilai a? 15 Masukkan nilai b? 3 Masukkan nilai c? 2 Dua akar imaginer berlainan: X1 = i X1 = i
12
Nested if Bentuk if bersarang (nested if) merupakan statemet if yang berada dalam statemen if yang lain Sintaknya: if(kondisi1) if(kondisi2) if(kondisiN) statement; else statement statemen
13
Penjelasan Jika kondisi1 benar maka kondisi2 selanjutnya akan diproses, jika kondisi1 salah maka statemen else yang pertama akan diproses Jika kondisiN benar kondisi(N+1) selanjutnya akan diproses, jika kondisi N salah maka statemen else N akan diproses
14
Contoh Contoh: #include<stdio.h> #include<math.h> main() {
float A,B,C,D,X1,X2; /*Masukkan data keodfesien persamaan kuadrat*/ printf(“Masukkan nilai a?”);scanf(“%f”,&A); printf(“Masukkan nilai b?”);scanf(“%f”,&B); printf(“Masukkan nilai c?”);scanf(“%f”,&C); prinf(“/n”); /*menghitung nilai determinan*/ D=B*B-4*A*C; /*menyeleksi determinan*/ if(D>=0) if(D==0){ X1=-B/(2*A); printf(“Dua akar riel kembar :\n”); printf(“X1=X2=%f\n,X1); } else if(D>0){ X1=(-B+sqrt(D))/(2*A); X2=(-B-sqrt(D))/(2*A); printf(“Dua akar riel berlainan:\n”); printf(“X1=%f\n”,X1); printf(“X2=%f\n”,X2); } else { X1=-B/(2*A); X2=sqrt(-D))/(2*A); printf(“Dua akar imaginer berlainan:\n”); printf(“X1=%f+%f i\n”,X1,X2); printf(“X1=%f-%f i\n”,X1,X2);
15
Jika dijalankan Masukkan nilai a? 15 Masukkan nilai b? 3
Masukkan nilai c? 2 Dua akar imaginer berlainan: X1 = i X1 = i
16
Penjelasan Kasus jika terdapat else yang jumlahnya tidak sesuai dengan if Misalnya: If(D>=0) if(D==0) printf(“Dua akar riel kembar\n”); else printf(“akar imaginer\n); Miik if yang mana else pada contoh diatas? Milik if yang terdekat Beberapa kondisi dapat diseleksi sekaligus oleh statement if disebut juga if kondisi jamak, misalnya: if(A>5!!B&&C==‘Y’) printf(“Kondisi benar”\n); else printf(“Kondisi tidak benar”\n);
17
Penjelasan Statement if dapat diganti dengan operator ? contoh:
(x%2==0)?printf(“Nilai Genap\n”); prinft(“Nilai ganjil\n”); statemen diatas artinya sama dengan: if (x%2==0) printf(“Nilai Genap\n”); else prinft(“Nilai ganjil\n”);
18
Statement Case Menyeleksi kondisi yang diberikan dan membandingkan hasilnya dengan konstanta yang berada pada case, contoh: #include<stdio.h> main() int Nilai; printf(“Masukkan nilai 1-3?); scanf(“%d”,&Nilai); switch(Nilai) { case 1: printf(“Satu\n”); break; case 2: printf(“Dua\n”); case 3: printf(“Tiga\n”); default: printf(“Bukan nilai 1,2,atau 3\n”); }
19
Penjelasan Jika program dieksekusi: Masukkan nilai 1-3? 2 Dua
20
Contoh: #include<stdio.h> main() { int Pilih;
float Sisi, Jari, Tinggi; printf(” <<<MENU>>> \n”); printf(”\n”); printf(”1. Menghitung isi kubus \n“); printf(”2. Menghitung luas lingkaran\n“); printf(”3. Menghitung isi selinder\n“); printf(”\n“); printf(”Pilih nomor (1-3) ?“); scanf(”%d“,&Pilih); switch(Pilih) { case 1: printf(”Panjang sisi kubus ?“); scanf(”%f“,&Sisi); printf(”Isi kubus = %f\n“,Sisi*Sisi*Sisi); break; case 2: printf(”Jari-jari lingkaran ?“); scanf(”%f“,&Jari); printf(”Luas lingkaran = %f\n“,3.14*Jari*jari); }
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.