1 / 20

Dosen: Abdillah, S.Si, MIT Email: abdill01@gmail Website: abdill01.wordpress

TEL 2112 Dasar Komputer & Pemograman Pengontrolan Program – Penyeleksian. Dosen: Abdillah, S.Si, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com. Tujuan. Mahasiswa mampu mentranslasikan dengan benar algoritma yang mengandung penyeleksian ke program bahasa C.

enya
Download Presentation

Dosen: Abdillah, S.Si, MIT Email: abdill01@gmail Website: abdill01.wordpress

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEL 2112Dasar Komputer & PemogramanPengontrolan Program – Penyeleksian Dosen: Abdillah, S.Si, MIT Email: abdill01@gmail.com Website: http://abdill01.wordpress.com

  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 30000.00 Besarnya Potongan = Rp 7000.00

  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 statemen; • 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 5.000000 dibagi 0 adalah tidak berhingga

  10. 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 if(D>0){ 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); } } • 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); }

  11. Jika program dijalankan Masukkan nilai a? 15 Masukkan nilai b? 3 Masukkan nilai c? 2 Dua akar imaginer berlainan: X1 = -0.100000 + 0.351188i X1 = -0.100000 - 0.351188i

  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; else statement else 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 = -0.100000 + 0.351188i X1 = -0.100000 - 0.351188i

  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”); break; case 3: printf(“Tiga\n”); break; 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); printf(”\n“); 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); break; } }

More Related