Anda di halaman 1dari 11

PRAKTEK KONSEP PEMROGRAMAN

4 Sesi Ke 2
AHMAD AIS MUKHYI YAZID FAHMI
D3 TEKNIK INFORMATIKA

3121522007

LUSIANA AGUSTIEN M.KOM

10 September 2021
A. TUGAS PENDAHULUAN
Buatlah desain algoritma dan flow chart untuk setiap soal dalam percobaan.
B. 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 . - gunakan else if
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
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
C. LAPORAN RESMI
1) Tulis listing dari kedua program diatas.
2) Bila pada pilihan menu diinputkan angka selain 1, 2, 3 dan 4 pada soal no.
2, apa yang terjadi ? Jelaskan .
D. PEMBAHASAN & LAPORAN RESMI :
I. LISTING PROGRAM
1) Algoritma :
• Masukkan nilai a, b, c, d dalam bentuk integer dan x1, x2, i dalam bentuk double.
• Menghitung nilai diskriminan yang menyatakan d, yaitu:
• d = b*b – 4*a*c
• Tanyakan, apakah d=0?
a. Jika ya, maka mempunyai 2 akar real yang kembar yaitu x1 = x2.
b. Menghitung akar-akar persamaan yang menyatakan x1.
c. x1 = -b / 2a
d. Stop.
• Jika tidak, maka tanyakan lagi. Apakah d>0?
• Jika ya, maka mempunyai 2 akar real yang berlainan yaitu x1 dan x2
• Menghitung akar-akar persamaan yang menyatakan x1.
x1 = (-b + sqrt(D)) / (2*a)
Mencetak hasil x1.
Menghitung akar-akar persamaan yang menyatakan x2.
x2 = (-b – sqrt(D)) / (2*a)
Mencetak hasil x2.
Stop.
• Jika tidak, maka mempunyai 2 akar imaginar yang berlainan yaitu x1 dan x2
Menghitung akar-akar persamaan yang menyatakan x1.
x1 = ((-b + sqrt(D)) / (2*a))*i
Mencetak hasil x1.
Menghitung akar-akar persamaan yang menyatakan x2.
x2 = ((-b – sqrt(D)) / (2*a))*i
Mencetak hasil x2.
Stop.
Program selesai.
FLOWCHART :

START

Int a,b,c,
Double x1,x2,i
x

YA 2 akar real kembar


D=0?
x1=x2

TIDAK
2 akar real
berlainan YA
D=0? X1=-b/2*a
x1 dan x2

TIDAK
X1=(-b+sqrt(D))/(2*a)
2 akar imaginair Cetak x1 = x2
berlainan
x1 dan x2
Cetak x-1

i=(sqrt(-D))/(2*a)
X2=(-b-sqrt(D))/(2*a)

X1=((-b+sqrt(D))/a)i

Cetak x2
Cetak x-1

X2=((-b-sqrt(D))/a)i

Cetak x-1 END


PROGRAM :
#include"stdio.h"
#include"math.h"
main()
{
float a,b,c,d =0;
double x1, x2, imaginair;
printf("Mencari akar-akar persamaan kuadrat a+bx+c=0\n");
printf("\nMasukkan 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;
if (d>=0)
if (d==0)
{
x1=-b/ (2*a);
printf("\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
{
imaginair=(sqrt(-d)/(2*a));
x1=-b/(2*a);
printf("\n Dua akar imaginair yang berlainan yaitu : \n");
printf("x1= %g + %gi\n", x1,imaginair);
printf("x2= %g - %gi\n",x1, imaginair);
}
getch();
}
2) Algoritma :
• Inisialisasikan bil1,bil2,operasi,hasil
• Input a,b
• Pilih salah satu operasi (+),(-),(x),( : )
• Jika memilih + , maka hasil= a+b
• Jika memilih -, maka hasil = a-b
• Jika memilih x , maka hasil = a*b
• Jika memilih :, maka hasil = a/b
• Cetak hasil
Flowchart :
START

Input nilai
a,b

Input c

YA
C=”+” Hasil = a+b

TIDAK

YA
C=”-” Hasil = a-b

TIDAK
YA
C=”:” Hasil = a/b

TIDAK

YA
C=”*” Hasil = a*b

END Cetak Hasil


PROGRAM :
#include"stdio.h"
main()
{
float bil1,bil2,pilihan,hasil;
printf("masukkan bilangan pertama :");
scanf("%f",&bil1);
printf("masukkan bilangan kedua :");
scanf("%f",&bil2);
printf("menu matematika :\n1. penjumlahan\n2. pengurangan\n3. pembagian\n3.
perkalian\n4.");
printf("%f",pilihan);
scanf("%f",&pilihan);
if (pilihan==1)
{
hasil=bil1+bil2;
printf("hasil operasi = %f\n",hasil);
}
else if(pilihan==2)
{
hasil=bil1-bil2;
printf("hasil operasi = %f\n",hasil);
}
else if(pilihan==3)
{
hasil=bil1/bil2;
printf("hasil operasi = %f\n",hasil);
}
else if(pilihan==4)
{
hasil=bil1*bil2;
printf("hasil operasi = %f\n",hasil);
}
else printf("tidak ada operasi");
}
3) ALGORITMA :
• Inputkan NilaiAngka
• Jika Nilai Angka <=40 maka Nilai Huruf = ‘E’
• selain itu jika Nilai Angka 40< nilai angka <= 55 maka Nilai Huruf = ‘D’
• selain itu jika Nilai Angka 55< nilai angka <= 60 maka Nilai Huruf = ‘C’
• selain itu jika Nilai Angka 60< nilai angka <= 80 maka NilaiHuruf = ‘B’
• selain itu jika Nilai Angka 80< nilai angka <= 100 maka NilaiHuruf = ‘A’
• selain itu NilaiHuruf = ‘F’
• Tampilkan Nilai Angka dan Nilai Huruf
Flowchart
START

Input : nilai
angka

Nilai angka Nilai huruf “E”


<= 40

40<nilai Nilai huruf “D”


angka<55

55<nilai
Nilai huruf “C”
angka<=60

60<nilai
Nilai huruf “B”
angka<=80

80<nilai Nilai huruf “A”


angka<=100

Nilai huruf “F”

Tampilkan
Nilai Huruf

END
PROGRAM :
#include"stdio.h"
main()
{
int nilai_angka;
printf("masukkan nilai huruf");
scanf("%d",&nilai_angka);
if (nilai_angka<=40)
printf("nilai E\n");
else if (nilai_angka>40 && nilai_angka<=55)
printf("nilai D\n");
else if (nilai_angka>55 && nilai_angka<=60)
printf("nilai C\n");
else if (nilai_angka>60 && nilai_angka<=80)
printf("nilai B\n");
else if (nilai_angka>80 && nilai_angka<=100)
printf("nilai A\n");
else printf("tidak ada nilai");
}
II. Bila pada pilihan menu diinputkan angka selain 1, 2, 3 dan 4 pada soal no. 2,
apa yang terjadi ? Jelaskan
JAWAB :
Output nya invalid menu, karena didalam program kita hanya menginputkan 4 macam operasi
yang terurutkan ke angka 1,2,3,4 dan jika kita memasukkan angka > 4 maka hasilnya tidak akan
keluar (invalid menu)

Anda mungkin juga menyukai