Anda di halaman 1dari 10

A. TUJUAN 1. Menjelaskan tentang operator kondisi (operator relasi dan logika) 2. Menjelaskan penggunaan pernyataan if 3.

Menjelaskan penggunaan pernyataan if-else 4. Menjelaskan penggunaan pernyataan if dalam if 5. Menjelaskan penggunaan pernyataan else-if 6. Menjelaskan penggunaan pernyataan switch B. PERCOBAAN 1. Menghitung nilai discount menggunakan if.
/* File program : discount.c */ #include <stdio.h> #include <conio.h> main() { double total_pembelian, discount = 0; printf("Total pembelian = Rp "); scanf("%lf", &total_pembelian); if(total_pembelian >= 100.000) discount = 0.05 * total_pembelian; printf("Besarnya discount = Rp %.2lf\n", discount); getch(); } Hasil percobaan seperti gambar di bawah ini

2. Menghitung nilai absolut suatu bilangan. /* File program : absolut.c */ #include <stdio.h> #include <conio.h> main() { int bil, abs; printf("Masukkan bilangan bulat : "); scanf("%d", &bil); if(bil < 0) abs = -bil; else abs = bil; printf("Nilai absolut dari %d adalah %d\n\n", bil, abs); getch(); }

Hasil percobaan seperti gambar di bawah ini

3. Pemakaian if-else untuk menyeleksi bilangan pembagi. /* File program : bagi1.c */ #include <stdio.h> #include <conio.h> main() { float a, b; printf("Masukkan nilai a : "); scanf("%f", &a); printf("Masukkan nilai b : "); scanf("%f", &b); printf("\n"); if (b == 0) printf("%g dibagi dengan nol = TAK BERHINGGA\n", a); else printf("%g dibagi dengan %g = %g\n", a, b, a/b); getch(); }
Hasil percobaan seperti gambar di bawah ini

4. Pemakaian if-else untuk mengecek hasil modulus. /* File program : bagi2.c */ #include <stdio.h> #include <conio.h> main() { int bil1, bil2, sisa; printf("Masukkan bilangan pertama : "); scanf("%d", &bil1); printf("Masukkan bilangan kedua : "); scanf("%d", &bil2);

sisa = bil1 % bil2; printf("\n"); if (sisa == 0) printf("%d habis dibagi dengan %d\n\n", bil1, bil2); else printf("%d tidak habis dibagi dengan%d, sisa hasil bagi adalah %d\n\n", bil1, bil2, sisa); getch(); }
Hasil percobaan seperti gambar di bawah ini

5. Mengkategorikan karakter masukan. /* File program : tebak.c */ #include <stdio.h> #include <conio.h> main() { char karakter; printf("Masukkan sebuah karakter : "); scanf("%c", &karakter); if ((karakter >= 'a' && karakter <= 'z') || (karakter >= 'A' && karakter <= 'Z')) printf("%c adalah karakter alphabet\n", karakter); else if (karakter >= '0' && karakter <= '9') printf("%c adalah bilangan\n", karakter); else printf("%c adalah karakter khusus\n", karakter); getch(); }
Hasil percobaan seperti gambar di bawah ini

6. Mengkategorikan bilangan bulat dengan memberinya tanda 1, 0 atau -1. /* File program : bulat.c */ #include <stdio.h> #include <conio.h> main() { int bil, tanda; printf("Masukkan sebuah bilangan : "); scanf("%d", &bil); if (bil < 0) tanda = -1; else if (bil == 0) tanda = 0; else if (bil > 1) tanda = 1; printf("Bilangan %d memiliki tanda %d\n", bil, tanda); getch(); }
Hasil percobaan seperti gambar di bawah ini

7. Implementasi program kalkulator sederhana menggunakan else-if. /* File program : kalkulator1.c */ #include <stdio.h> #include <conio.h> main() { /* valid_operator diinisialisasi dg logika 1 */ int valid_operator = 1; char Operator; float bil1, bil2, hasil;

printf("Masukkan 2 buah bilangan dan sebuah operator\n"); printf("dengan format : bil1 operator bil2\n\n"); scanf("%f %c %f", &bil1, &Operator, &bil2); if(Operator == '*')

hasil = bil1 * else if(Operator hasil = bil1 / else if(Operator hasil = bil1 + else if(Operator hasil = bil1 else valid_operator =

bil2; == '/') bil2; == '+') bil2; == '-') bil2; 0;

if(valid_operator) printf("%g %c %g is %g\n", bil1, Operator, bil2, hasil); else printf("Invalid operator!\n"); getch(); }
Hasil percobaan seperti gambar di bawah ini

8. Implementasi program kalkulator sederhana menggunakan switch - case. /* File program : kalkulator2.c */ #include <stdio.h> #include <conio.h> main() { /* valid_operator diinisialisasi dg logika 1 */ int valid_operator = 1; char OPERATOR; float bil1, bil2, hasil; printf("Masukkan 2 buah bilangan dan sebuah operator\n"); printf("dengan format : bil1 operator bil2\n\n"); scanf("%f %c %f", &bil1, &OPERATOR, &bil2); switch(OPERATOR) { case '*' : hasil = bil1 * bil2; break; case '/' : hasil = bil1 / bil2; break; case '+' : hasil = bil1 + bil2; break; case '-' : hasil = bil1 - bil2; break;

default : valid_operator = 0; } if(valid_operator) printf("%g %c %g is %g\n", bil1, bil2,hasil); else printf("Invalid operator!\n"); getch(); }
Hasil percobaan seperti gambar di bawah ini

OPERATOR,

C. SOAL 1. Buatlah program untuk menerima 2 buah bilangan bulat masukan. Tampilkan hasil dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal. Input : bil1 dan bil2 Output : hasil bagi bil1 dengan bil2 Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan kesalahannya (division by zero).

2. Buatlah program untuk menghitung determinan dan mencari akar-akar dari


2

persamaan kuadrat : ax + bx + c = 0 , dengan ketentuan sbb :


2

D = b - 4ac Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu : x1 = x2 = -b / 2a Jika D > 0 , maka terdapat 2 akar real yang berlainan, yaitu : x1 = (-b + sqrt(D)) / 2a x2 = (-b - sqrt(D)) / 2a Jika D < 0 , maka terdapat 2 akar imaginair yang berlainan, yaitu : x1 = -b / 2a + (sqrt(-D) / 2a) i x2 = -b / 2a - (sqrt(-D) / 2a) i Input : a, b, c (float) Output : Nilai Determinan serta nilai akar-akar persamaan tsb (x1& x2). Petunjuk : - untuk mencari akar dari x, gunakan : sqrt(x) yang didefinisikan pada <math.h>.

- gunakan else if 3. Buatlah program untuk menampilkan menu dan melakukan proses sbb : Menu : 1. Menghitung volume kubus 2. Menghitung luas lingkaran 3. Menghitung volume silinder. Input : pilihan user (1, 2 atau 3) Jika pilihan = 1, maka : Input : panjang sisi kubus
3

Output : Volume kubus (vol = sisi ) Jika pilihan = 2, maka : Input : panjang jari-jari lingkaran
2

Output : Luas lingkaran (luas = 3.14 * r ) Jika pilihan = 3, maka : Input : panjang jari-jari lingkaran & tinggi silinder
2

Output : Volume silinder (vol = 3.14 * r * t) Jika pilihan selain 1, 2 & 3 (default) : Tampilkan pesan kesalahan. Petunjuk : gunakan switch-case

D. JAWABAN 1. #include<stdio.h> #include <conio.h> main() { float bil1, bil2; printf("Masukkan bil1 : "); scanf("%f", &bil1); printf("Masukkan bil2 : "); scanf("%f", &bil2); printf("\n"); if (bil2 == 0) printf("division by zero\n\n"); else printf("Hasil Bagi Bil1 dengan Bil2 = %.2f\n\n", bil1/bil2); getch(); }

Hasil soal seperti gambar di bawah ini

2. #include<stdio.h> #include<math.h> #include<conio.h> using namespace std; main() { int a, b, c, D =0; float x1, x2, imajiner; printf("Mencari akar-akar persamaan kuadrat ax2+bx+c=0 \n"); printf (" Masukan 3 angka: \n"); scanf ("%d %d %d", &a, &b, &c); D = b * b - 4 * a * c; /* menghitung nilai deskriminan */ if (D>=0) if (D==0) { x1 = -b / (2*a); printf ("\n dua akar real kembar yaitu: \n"); printf ("x1 = x2 = %g\n", x1); } else { x1 = ( -b + sqrt(D))/ (2*a); x2 = ( -b - sqrt(D))/ (2*a); printf ("\n dua akar real berlainan yaitu:\n"); printf ("x1 = %g\n", x1); printf ("x2 = %g\n", x2); } else {

imajiner = (sqrt(-D) / (2*a)); x1 = -b / (2*a); printf ("\n dua akar imaginer berlainayaitu\n"); printf ("x1 = %g + %gi\n", x1, imajiner); printf ("x2 = %g - %gi\n", x1, imajiner); } getch(); }
Hasil soal seperti gambar di bawah ini

3. #include <stdio.h> #include <conio.h> main() { float k,l,s,t; float hasil; char kode; printf("Pilih kode 1-3\n1. volume kubus \n2. luas lingkaran \n3. volume silinder \npilihan anda adalah :"); scanf("%c",&kode); switch(kode) { case '1' : printf("Menghitung volume kubus \nmasukkan sisi kubus: "); scanf("%f",&k); hasil = k*k*k; printf("%.3f\n",hasil); break; case '2':

printf("Menghitung luas lingkaran \nmasukkan jari-jari lingkaran: "); scanf("%f",&l); hasil = 3.14*l*l; printf("%3f\n",hasil); break; case '3': printf("Menghitung volume silinder\n"); printf("masukkan jari-jari alas silinder: "); scanf("%f",&s, &t); printf("masukkan tinggi silinder: "); scanf("%f",&t); hasil = 3.14*s*s*t; printf("%.3f\n",hasil); break; default : printf("kode tidak ada\n"); } getch(); }
Hasil soal seperti gambar di bawah ini

Anda mungkin juga menyukai