Assalamualaikum
Yaak apa kabar, terima kasih telah kembali membaca tulisan saya.
TUJUAN dari percobaan kali ini ialah untuk mempelajari dan mengamati penggunaan statement penentu keputusan (if-else); memanfaatkan statement if-else untuk membuat proses perulangan yaitu dengan dikombinasikan dengan statement goto-label; mempelajari statement if-else bersarang (nested if); mempelajari (else-if); dan yang terakhir mempelajari penggunaan statement switch-case sebagai alternatif pengganti else-if.
Nah setelah mengetahui tujuan dari percobaan kali ini, baru deh kita masuk ke dalam pembahasan teori STATEMENT PENENTU KEPUTUSAN.
Statement if-else adalah statement yang digunakan untuk menentukan pilihan dari suatu kondisi yang diberikan. Cara kerjanya adalah melakukan perbandingan menggunakan Relational Operator dan/atau Logical Operator.
Statement else-if adalah cara lain dari bentuk if-else yang digunakan untuk menentukan satu kondisi yang benar dari beberapa kondisi yang tersedia. Struktur else-if hampir sama dengan struktur if-else, ketika sobat hidup menggunakan struktur if-else secara berulang, maka harus menggunakan struktur else-if.
Statement switch-case adalah bentuk lain dari statement else-if, dengan mendaftar kondisi secara vertical dalam satu kolom sehingga memudahkan dalam hal evaluasi program.
Mari kita coba program-program dibawah ini.
NOMER 1
Membuat program untuk menentukan bilangan ganjil atau bilangan genap dari bilangan yang dimasukan melaui keyboard. Cobalah program di bawah ini.
main()
{
int bil ;printf(“Masukkan bilangan bulat : “);
scanf(“%d”, &bil);if(bil%2==0){
printf(“Nilai dari %d adalah genap”,bil);
} else {
printf(“Nilai dari %d adalah ganjil”,bil);
}
getch();
}
Setelah build & run, inputkan angka 2 untuk mengetahui hasil program genap
Angka 2 menjadi genap karena ketika dibagi 2 sisanya 0
Selanjutnya mari kita coba untuk menginput angka 3 untuk mengetahui hasil ganjil.
Angka 3 menjadi genap karena statement yang benar adalah jika angka yang dimasukan jika dibagi 2 sisa 0 maka benar atau muncul hasil genap, sedangkan angka 3 jika dibagi hasilnya 1 maka salah dan hasilnya adalah ganjil
Nomer 2
Membuat program untuk menentukan kelompok suatu karakter yang dimasukan melalui keyboard. kelompok tersebut adalah huruf kecil, huruf besar, angka, dan karakter khusus ( tanda baca, operator dsb). Mari kita uji program dibawah ini.
main()
{
char c;
printf(“Masukkan suatu karakter : “); scanf(“%c”, &c);if(c>=’a’ && c<=’z’)
printf(“\n Karakter tersebut termasuk huruf kecil. \n”);
else if(c>=’A’ && c<=’Z’)
printf(“\n Karakter tersebut termasuk huruf besar. \n”);
else if(c>=’0′ && c<=’9′)
printf(“\n Karakter tersebut termasuk angka. \n”);
else
printf(“\n Karakter tersebut termasuk karakter khusus. \n”);getch();
}
Berikut jika setelah membuild & run program dan menginput huruf “a”.
hasilnya menjadi huruf kecil karena jika huruf a-z akan keluar hasil “huruf kecil”
Mari kita ganti dengan huruf “A”
huruf “A” keluar hasil huruf besar karena jika A-Z akan menjadi huruf besar
Setelah itu kita coba dengan angka “1”
karena angka 0-9 akan muncul hasil Angka
terakhir kita input karakter “@”
hal di atas terjadi karena ketika yang diinputkan bukan huruf kecil, huruf besar, dan angka maka akan jadi karakter jhusus
Nomer 3
Membuat kalkulator sederhana
#include <stdio.h>
#include <stdlib.h>
#include <math.h>void main()
{
int valid_operator = 1;
char operator;
float bil, hasil, s = 0;printf(“\n Mulai Perhitungan\n”);
ULANG:
valid_operator = 1;
scanf(“%f %c”, &bil, &operator);switch(operator){
case ‘s’:
case ‘S’: s = bil; break;
case ‘e’:
case ‘E’: goto END; break;
case ‘*’: s *= bil; break;
case ‘-‘: s -= bil; break;
case ‘+’: s += bil; break;
case ‘/’: s /= bil; break;
case ‘%’: s = fmod(s, bil); break;
default : valid_operator = 0;
}
if(valid_operator){
printf(“= %f\n”, s);
}
else {
printf(“\nOperator SALAH! Masukkan lagi!\n”);
}goto ULANG;
END:
printf(” Akhir Perhitungan”);getch();
}
hasil ketika diinput 255 s
hasil ketika diinput 10 /
hasill ketika diinput 15 –
hasil ketika diinput 0 E
Karena statement 0 E membuat program berakhir
ketika kita menginputkan karakter yang tudak sesuai maka hasil salah akan salah
karena kita tidak menginputkan karakter tersebut
Nomer 4
Membuat program untuk menentukan suatu tahun kabisat atau bukan yang dimasukkan melalui keyboard, dimana tahun dibatasi mulai tahun 1900-2005. Mari coba dibawah ini
#include <stdio.h>
void main()
{
int tahun;printf(“Masukkan tahun\n”);
ULANG:
scanf(“%d”, &tahun);if(tahun>=1900 && tahun<=2005 && tahun%4==0)
printf(“Tahun %d merupakan TAHUN KABISAT\n\n”, tahun);
else
printf(“Tahun %d bukan merupakan TAHUN KABISAT\n\n”, tahun);goto ULANG;
getch();
}
hasil jika menginput tahun kabisat contoh : 2000
hasil jika menginput tahun kabisat contoh : 2001
Nomer 5
Membuat Program untuk menghitung Determinan dan mencari Akar-akar Persamaan kuadrat.
Cobalah program seperti dibawah ini.
#include <stdio.h>
#include <math.h>
void main()
{
float a, b, c, d, x1, x2;printf(“Masukkan nilai A\n”);
scanf(“%f”, &a);
printf(“Masukkan nilai B\n”);
scanf(“%f”, &b);
printf(“Masukkan nilai C\n”);
scanf(“%f”, &c);d = b*b – 4*a*c ;
if(d == 0){
x1 = -b/2*a;
x2 = x1;
printf(“Hasil determinan adalah %.2f dan akarnya %.2f dan %.2f\n”,d ,x1, x2);
}else if(d > 0){
x1 = (-b + sqrt(-d))/2*a;
x2 = (-b – sqrt(-d))/2*a;
printf(“Hasil determinan adalah %.2f dan akarnya %.2f dan %.2f”, d, x1, x2);
}else{
x1 = (-b + sqrt(-d))/2*a;
x2 = (-b – sqrt(-d))/2*a;
printf(“Hasil determinan adalah %.2f dan akarnya %.2f dan %.2f (i = sqrt(-1))\n”,d ,x1, x2);
}
getch();
}
hasil input A=1, B=2, dan C=3
Sekian contoh program yang dapat saya bahas kali inii.
Informasi yang sangat bermanfaat terima kasih pak.