OLEH:
B. DASAR TEORI
Pernyataan if di
dalam if
Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat pernyataan if
(atau if- else) yang lain. Bentuk seperti ini dinamakan sebagai nested if. Secara
umum, bentuk dari pernyataan ini adalah sebagai berikut :
if (kondisi-1)
if (kondisi-2)
.
.
if(kondisi-n)
pernyataan;
else
pernyataan;
.
.
else
pernyataan;
else
pernyataan;
▪ Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar (kondisi-1).
Jika kondisi-1 bernilai salah, maka statemen else yang terluar (pasangan if yang
bersangkutan) yang akan diproses. Jika else (pasangannya tsb) tidak ditulis, maka
penyeleksian kondisi akan dihentikan.
▪ Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih dalam (kondisi-
2) akan diseleksi. Jika kondisi-2 bernilai salah, maka statemen else pasangan dari
if yang bersangkutan yang akan diproses. Jika else (untuk kondisi-2) tidak
ditulis, maka penyeleksian kondisi akan dihentikan.
▪ Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai dengan
kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar.
Pernyataan else-if
Contoh implementasi nested if ini misalnya pembuatan sebuah program
kalkulator sederhana. User memberikan masukan dengan format :
Jenis operasi yang dikenakan bergantung pada jenis operator yang dimasukkan oleh
user. Oleh karena itu program akan mengecek apakah operator berupa tanda ‘*’, ‘/’,
‘+’, ataukah tanda ‘-‘ .
▪ Jika operator berupa tanda ‘*’ maka operand1 akan dikalikan dengan operand2.
▪ Jika operator berupa tanda ‘/’ maka operand1 akan dibagi dengan operand2.
▪ Jika operator berupa tanda ‘+’ maka operand1 akan dijumlahkan dengan
operand2.
▪ Jika operator berupa tanda ‘-’ maka operand1 akan dikurangi dengan operand2.
▪ Kalau operator yang dimasukkan bukan merupakan salah satu dari jenis operator
di atas, maka ekspresi tersebut tidak akan diproses, dan user akan mendapatkan
pesan berupa : “Invalid operator !”
C.TUGAS PENDAHULUAN
Buatlah desain algoritma dan flow chart untuk setiap soal dalam percobaan.
Flowchart
START
float a, b, c,
d=0, x1, x2,
imaginer;
Masukkan nilai
a, b, c
d = b*b – 4*a*c
END
2. Dengan menggunakan pernyataan else..if , buatlah program kalkulator sederhana,
untuk mendapatkan tanpilan hasil sebagai berikut
Masukkan bilangan pertama : 5
Masukkan bilangan kedua : 3
Menu Matematika
Penjumlahan
Pengurangan
Pembagian
Perkalian
Masukkan pilihan anda : 4
Hasil operasi tersebut = 15
Algoritma
1. Deklarasi int bil1, bil2, pilihan
2. Masukkan bil1 dan bil2
3. Tampilan Menu Pilihan :
1. Penjumlahan (+)
2. Pengurangan (-)
3. Pembagian (/)
4. Perkalian (*)
4. Masukkan pilihan
5. Jika menu = 1, hitung hasil = bil1+bil2
6. Jika menu = 2, hitung hasil = bil1-bil2
7. Jika menu = 3, hitung hasil = bil1/bil2
8. Jika menu = 4, hitung hasil = bil1*bil2
9. Cetak hasil
Flowchart
START
Masukkan pilihan
Pilihan= bil1+bil2
“+”
Pilihan=
bil1-bil2
“-”
Pilihan=
bil1/bil2
“/”
Pilihan=
“*” bil1*bil2
Flowchart
START
int n
Masukkan nilai_angka :
A
TIDAK
TIDAK
n > 55 && YA
Cetak “Nilai huruf
n <= 60 adalah C”
TIDAK
YA
n > 60 && Cetak “Nilai huruf
n <= 80 adalah B”
TIDAK
D.PERCOBAAN
1. Buatlah program untuk menghitung diskriminan dan mencari akar-akar dari
persamaan kuadrat :
ax2 + bx + c = 0 , dengan ketentuan sbb :
D = b2 - 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 Diskriminan 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
#include"stdio.h"
#include"math.h"
main()
{
float a,b,c,d=0, x1, x2, imaginair;
printf("Masukkan nilai a : ");
scanf("%f",&a);
printf("Masukkan nilai b : ");
scanf("%f",&b);
printf("Masukan nilai c : ");
scanf("%f",&c);
d=b*b-4*a*c;
printf("\nNilai diskriminan : %.2f\n", d);
if (d==0)
{
x1=-b/(2*a);
printf("Terdapat dua akar real kembar yaitu : x1
= x2 = %.2f\n", x1);
}
else if(d>0)
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("Terdapat dua akar real yang berlainan,
yaitu :\n");
printf("x1 = %.2f\n",x1);
printf("x2 = %.2f",x2);
}
else if(d<0)
{
imaginair=(sqrt(-d)/(2*a));
x1=-b/(2*a);
printf("Terdapat dua akar imaginair yang
berlainan yaitu : \n");
printf("x1= %.2f\n", x1+imaginair);
printf("x2= %.2f",x1-imaginair);
}
}
#include<stdio.h>
main()
{
int bil1, bil2, pilihan;
printf("Masukkan bilangan pertama : ");
scanf("%d", &bil1);
printf("Masukkan bilangan kedua : ");
scanf("%d", &bil2);
printf("\nMenu Matematika \n");
printf("1. Penjumlahan\n");
printf("2. Pengurangan\n");
printf("3. Pembagian\n");
printf("4. Perkalian\n");
printf("Masukkan Pilihan : ");
scanf("%d", &pilihan);
if(pilihan==1)
printf("Hasil Operasi = %d\n", bil1+bil2);
else if(pilihan==2)
printf("Hasil Operasi = %d\n", bil1-bil2);
else if(pilihan==3)
printf("Hasil Operasi = %d\n", bil1/bil2);
else if (pilihan==4)
printf("Hasil Operasi = %d\n", bil1*bil2);
else
printf("Operator Tidak Valid");
}
#include<stdio.h>
#include<math.h>
main()
{
int a;
printf("Masukkan nilai_angka : ");
scanf("%d", &a);
if(a>80 && a<=100)
printf("\nNilai Huruf adalah A");
else if(a>60 && a<=80)
printf("\nNilai Huruf Adalah B");
else if(a>55 && a<=60)
printf("\nNilai Huruf Adalah C");
else if (a>40 && a<=55)
printf("\nNilai Huruf adalah D");
else if (a<=40)
printf("\nNilai Huruf adalah E");
}
E.LAPORAN RESMI
1. Tulis listing dari ketiga program diatas.
Listing Percobaan No. 1
Input
Output
Listing Percobaan No. 2
Input
Output
Listing Percobaan No. 3
Input
Output
2. Bila pada pilihan menu diinputkan angka selain 1, 2, 3 dan 4 pada soal no. 2,
apa yang terjadi?
Jika pilihan menu yang diinputkan selain 1,2,3 dan 4 maka program akan
mengeluarkan tulisan “Operator Tidak Valid”
Output: