Anda di halaman 1dari 19

LAPORAN PRAKTIKUM 6

PRAKTIKUM KONSEP PEMROGRAMAN


“Pengambilan Keputusan”

OLEH:

NAMA : PUTRI NURUL IZZA


NIM : 2020573010053
KELAS : TI 1-B

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNOLOGI INFORMASI DAN KOMPUTER
POLITEKNIK NEGERI LHOKSEUMAWE
2020
LEMBAR PENILAIAN

Nama Mata Kuliah : Praktikum Konsep Pemrograman


Nomor Praktikum : 06/PKP/TI/1B/2020
Judul Praktikum : Pengambilan Keputusan (2/3)
Hari / Tanggal Praktikum : Selasa, 27 Oktober 2020
Nama Mahasiswa : Putri Nurul Izza
NIM : 2020573010053
Prodi / Kelas : TI-1B
Nilai :
PRAKTIKUM 6 (2/3)
PENGAMBILAN KEPUTUSAN
A. TUJUAN
1. Menjelaskan penggunaan pernyataan if dalam if
2. Menjelaskan penggunaan pernyataan else-if

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 :

operand1 operator operand2

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.

1. Buat 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
 Algoritma
1. Deklarasi variabel a, b, c, d=0, x1, x2, imaginer dalam tipe data float
2. Masukkan nilai a,b,c,
3. Hitung nilai diskriminan, d=b*b-4*a*c
4. Jika d=0, berarti mempunyai 2 akar real yang kembar yaitu x1=x2=-b
/ 2a
5. Jika d>0 berarti mempunyai 2 akar real yang berlainan yaitu
x1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a

6. Jika d<0, maka mempunyai 2 akar imaginer yang berlainan yaitu


x1 = -b / 2a + (sqrt(-D) / 2a) i
x2 = -b / 2a - (sqrt(-D) / 2a) i

 Flowchart
START

float a, b, c,
d=0, x1, x2,
imaginer;

Masukkan nilai
a, b, c

d = b*b – 4*a*c

TIDAK d>0? TIDAK d<0?


d=0?
YA YA
YA
x1=(-b+sqrt(D))/2a x1=-b/2a+(sqrt(-D)/2a)i
x1=x2=-b/2a x2=-b/2a-(sqrt(-D)/2a)i
x2=(-b-sqrt(D))/2a

Tampilkan nilai Tampilkan nilai


Tampilkan nilai
x1 dan x2 x1 dan x2
x1 dan x2

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

int bil1, bil2,


pilihan

Masukkan bil1, bil2

Masukkan pilihan

Pilihan= bil1+bil2
“+”

Pilihan=
bil1-bil2
“-”

Pilihan=
bil1/bil2
“/”

Pilihan=
“*” bil1*bil2

END Cetak Hasil


3. Buat program untuk mengkonversikan nilai angka ke nilai huruf.
Petunjuk : nilai_angka<=40 = E
40<nilai_angka<=55 = D
55<nilai_angka<=60 = C
60<nilai_angka<=80 = B
80<nilai_angka<=100 = A
Input : nilai_angka = 62
Output : Nilai huruf adalah B
 Algoritma
1. Deklarasi int n
2. Masukkan nilai_angka
3. Jika n <= 40 , jika YA, cetak “Nilai huruf adalah E”. Jika TIDAK,
lanjut ke langkah selanjutnya
4. Jika 40 < n <= 55, jika YA, cetak “Nilai huruf adalah D”. Jika
TIDAK,
lanjut ke langkah selanjutnya
5. Jika 55 < n <= 60, jika YA, cetak “Nilai huruf adalah C”. Jika
TIDAK,
lanjut ke langkah selanjutnya
6. Jika 60 < n <= 80, jika YA, cetak “Nilai huruf adalah B”. Jika
TIDAK,
lanjut ke langkah selanjutnya
7. Jika 80 < n <= 100, cetak “Nilai huruf adalah A”

 Flowchart

START

int n

Masukkan nilai_angka :
A

n <= 40 YA Cetak “Nilai huruf


adalah E”

TIDAK

n > 40 && YA Cetak “Nilai huruf


n <= 55 adalah D”

TIDAK

n > 55 && YA
Cetak “Nilai huruf
n <= 60 adalah C”

TIDAK

YA
n > 60 && Cetak “Nilai huruf
n <= 80 adalah B”

TIDAK

n > 80 && Cetak “Nilai huruf


n <= 100 adalah A”
END

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);
}
}

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
1. Penjumlahan
2. Pengurangan
3. Pembagian
4. Perkalian
Masukkan pilihan anda : 4
Hasil operasi tersebut = 15

 #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");
}

3. Buat program untuk mengkonversikan nilai angka ke nilai huruf.


Petunjuk : nilai_angka<=40 = E
40<nilai_angka<=55 = D
55<nilai_angka<=60 = C
60<nilai_angka<=80 = B
80<nilai_angka<=100 = A
Input : nilai_angka = 62
Output : Nilai huruf adalah B

 #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:

Anda mungkin juga menyukai