Dengan ketentuan :
- NPM ganjil menggunakan statement If Then
- NPM genap menggunakan statement Case of
37
Jawaban :
1. perbedaan antara if then, if then else, dan case of pada free pascal
a. If then
If then Digunakan untuk satu kondisi, jika pernyataan benar maka akan
dijalankan dan hasil akan muncul saat dimasukkan datanya, jika
pernyataan salah maka akan di abaikan atau tidak muncul.
b. If then else
If then else hampir sama dengan if then tetapi di if then else dapat
digunakan untuk dua kondisi, jika pernyataan benar maka akan
dijalankan dan hasil akan muncul saat dimasukkan datanya, jika
pernyataan salah maka akan dilanjutkan ke pernyataan berikutnya
hingga memenuhi .
c. Case of
Case of ini perluasan dari fungsi if yaitu dapat digunakan untuk
beberapa kondisi atau pilihan, di if untuk mengecek kondisi dilakukan
satu persatau jika di case of pengecekan kondisi tergantung dengan
parameter yang digunakan. Case of ini lebih mudah untuk digunakan
dan lebih ringkas.
38
2. Program konversi gaya, tekanan, kerja dan daya
A. Algoritma
1. Memulai program
2. Memasukkan pilihan (kode)
3. Jika kode=1, maka
a. Memasukkan Gaya (F) dan Luas Permukaaan (A)
b. Memproses rumus tekanan
𝐹
𝑃=
𝐴
c. Menampikan besar tekanan (P) dalam satuan Pa
d. Memproses rumus konversi tekanan ke bar
𝐵𝑎𝑟 = 𝑃𝑥10−5
e. Menampilkan besar tekanan (Bar) dalam satuan Bar.
4. Jika kode=2, maka
a. Memasukkan Massa (m) dan Percepatan (a)
b. Memproses rumus Gaya
𝐹 = 𝑚. 𝑎
c. Menampilkan besar gaya (F) dalam satuan N
d. Memproses rumus konversi gaya ke kilonewton
𝑘𝑁 = 𝐹𝑥10−3
e. Menampilkan besar gaya (kn) dalam satuan kN.
5. Jika kode=3, maka
a. Memasukkan Jarak (s) dan Gaya (F)
b. Memproses rumus Kerja
𝑊 = 𝐹. 𝑠
c. Menampilkan besar kerja (W) dalam satuan Joule
d. Memproses rumus konversi kerja ke kalori
𝑐𝑎𝑙 = 𝑊 𝑥 0,238846
e. Menampilkan besar kerja (cal) dalam satuan cal.
6. Jika kode=4, maka
a. Memasukkan kerja (W) dan waktu (t)
39
b. Memproses rumus Daya
𝑊
𝑃=
𝑡
c. Menampilkan besar daya(P) dalam satuan Watt
d. Memproses rumus konversi daya ke Megawatt
𝑀𝑊 = 𝑃𝑥10−6
e. Menampilkan besar daya(MW) dalam satuan MW.
7. Program selesai.
40
B. Flowchart
Memulai Program
Memasukkan
Pilihan (kode)
Menampilkan besar
Tekanan (P)
TIDAK
Menampilkan besar
Tekanan (Bar)
Menampilkan besar
gaya (F)
TIDAK
Memproses rumus konversi
gaya ke Kilonewton kN = F x
10-3
Menampilkan besar
gaya (kN)
A B
41
A B
Menampilkan besar
Kerja (W)
TIDAK
Memproses rumus konversi
Kerja ke Kalori cal = W x
0.238846
Menampilkan besar
kerja (cal)
IYA Memasukkan
Jika kode=4 besar Kerja (W)
dan waktu (t)
Menampilkan
besar Daya (P)
TIDAK
Memproses rumus konversi
daya ke Megawatt MW = P
x 10-6
Menampilkan
besar Daya (MW)
End
42
C. Listing Program
program Konversi_Satuan;
uses crt;
var P,Bar,cal,MW,kn,F,W,A,m,s,t:real;
kode:integer;
begin
clrscr;
writeln('=====PROGRAM KONVERSI SATUAN=====');
writeln('Pilihan');
writeln('1. Tekanan (Pa)');
writeln('2. Gaya (N)');
writeln('3. Kerja (joule)');
writeln('4. Daya (watt)');
write('Masukkan kode pilihan= ');readln(kode);
case kode of
1:begin
Writeln('===KONVERSI TEKANAN===');
write('Masukkan Gaya= ');readln(F);
write('Masukkan Luas Permukaan= ');readln(A);
P:=F/A;
writeln('Tekanan (Pa)= ',P:0:3);read;
Bar:=P*0.00001;
writeln('===Hasil Konversi ke Bar===');
writeln('Tekanan (Bar)= ',Bar:0:6);readln;
end;
2:begin
writeln('===KONVERSI GAYA===');
write('Masukkan Massa= ');readln(m);
write('Masukkan percepatan= ');readln(a);
F:=m*a;
writeln('Gaya (N)= ',F:0:3);read;
43
kn:=F*0.001;
writeln('===Hasil Konversi ke Kilonewton===');
writeln('Gaya (Kilonewton)= ',kn:0:6);readln;
end;
3:begin
Writeln('===KONVERSI KERJA===');
write('Masukkan jarak= ');readln(s);
write('Masukkan Gaya= ');readln(F);
W:=F*s;
writeln('Kerja (joule)= ',W:0:3);read;
cal:=W*0.238846;
writeln('===Hasil Konversi ke Kalori===');
writeln('Kerja (Kalori)= ',cal:0:6);readln;
end;
4:begin
Writeln('===KONVERSI DAYA===');
write('Masukkan Kerja= ');readln(W);
write('Masukkan Waktu= ');readln(t);
P:=W/t;
writeln('Daya (watt)= ',P:0:3);read;
MW:=P*0.000001;
writeln('===Hasil konversi Ke Megawatt===');read;
writeln('Daya (Megawatt)= ',MW:0:6);readln;
end;
end;
end.
44
D. Hasil Run
Konversi Tekanan
Konversi Gaya
Konversi Kerja
45
Konversi Daya
46
3. Membuat program persamaan akar kuadrat
A. Algoritma
1. Memulai program
2. Memasukkan nilai a(a), nilai b (b), dan nilai c (c)
3. Memproses rumus determinan
𝐷 = 𝑏2 − 4𝑎𝑐
4. Menampilkan nilai determinan (D)
5. Jika D>0 maka menampilkan akarnya riil.
6. Jika D=0 maka menampilkan akarnya kembar
7. Jika D<0 maka menampilkan akarnya imajiner
8. Program selesai
47
B. Flowchart
Memulai Program
Memasukkan nilai
a (a), nilai b (b),
dan nilai c (c)
Memproses rumus
determinan D = b2 – 4ac
Menampilkan
nilai determinan
(D)
TIDAK
IYA Menampilkan
Jika D=0
akarnya kembar
TIDAK
IYA Menampilkan
Jika D<0 akarnya
imaginer
TIDAK
Selesai
48
C. Listing Program
Program Akar_persamaan_kuadrat;
uses crt;
var
a,b,c:integer;
D:integer;
begin
clrscr;
writeln('MENCARI AKAR-AKAR PERSAMAAN KUADRAT');
writeln('Bentuk persamaan umum aX^2+bX+C');
writeln('1. Jika D>0 maka akarnya riil');
writeln('2. JIka D=0 maka akarnya kembar');
writeln('3. Jika D<0 maka akarnya imajiner');
writeln('Masukkan nilai a, b, dan c');
write('Masukkan nilai a :'); readln(a);
write('Masukkan nilai b :'); readln(b);
write('Masukkan nilai c :'); readln(c);
writeln('Persamaannya adalah ',a,'x^2+',b,'x+',c,'=0');
D:=sqr(b)-(4*a*c);
if (D>0) then
begin
writeln('D>0');
writeln('Determinan= ',D);read;
writeln('Akarnya riil');
end;
if (D=0) then
begin
writeln('D=0');
writeln('Determinan= ',D);read;
writeln('Akarnya kembar');
end;
49
if (D<0) then
begin
writeln('D<0');
writeln('Determinan= ',D);read;
writeln('akarnya imajiner');
end;
readln;
end.
50
D. Hasil Run
51
4. Program perhitungan plug flow reactor
A. Algoritma
1. Memulai program
2. Memasukkan pilihan (kode)
3. Jika kode=1, maka
a. Memasukkan nilai 𝑋𝐴 (xa)
b. Memproses rumus plug flow reactor
𝑋𝐴
𝐾 = 2𝜀𝐴 (𝜀𝐴 + 1) ln(1 − 𝑋𝐴 ) + 𝜀𝐴 2 𝑋𝐴 + (𝜀𝐴 + 1)2
1 − 𝑋𝐴
c. Menampilkan nilai plug flow reactor A (K)
4. Jika kode=2, maka
a. Memasukkan nilai 𝑋𝐵 (xb)
b. Memproses rumus plug flow reactor
𝑋𝐵
𝐾 = 2𝜀𝐴 (𝜀𝐴 + 1) ln(1 − 𝑋𝐵 ) + 𝜀𝐴 2 𝑋𝐵 + (𝜀𝐴 + 1)2
1 − 𝑋𝐵
c. Menampilkan nilai plug flow reactor B (K)
5. Jika K<15, maka :
menampilkan kesimpulan bahwa K merupakan Kcaot terkecil
6. Jika K>15, maka :
menampilkan kesimpulan bahwa K merupakan Kcaot terbesar
7. Program selesai
52
B. Flowchart
Memulai Program
Memasukkan
pilihan(kode)
IYA
Memasukkan nilai
Jika kode=1
xA (xa)
TIDAK
Menampilkan hasil plug
flow reactor A (k)
IYA
Memasukkan nilai
Jika kode=2
xB (xb)
TIDAK
A B
53
A B
Memasukkan
kondisi
(kondisi)
TIDAK
TIDAK
Selesai
54
C. Listing Program
Program flow_reactor;
uses crt;
const eA=1;
var k,xa,xb:real;
kode:integer;
kondisi:string;
begin
clrscr;
writeln('PROGRAM PERHITUNGAN PLUG FLOW REACTOR');
writeln('Pilihan');
writeln('1. Flow Reactor A');
writeln('2. Flow Reactor B');
write('masukkan kode pilihan=');readln(kode);
case kode of
1:begin
writeln('PERHITUNGSN PLUG FLOW REACTOR A');
write('Masukkan nilai x=');readln(xa);
k:=2*eA*(eA+1)*ln(1-xa)+sqr(eA)*xa+sqr(eA+1)*(xa)/(1-xa);
writeln('Nilai k=',k:0:4);readln;
end;
2:begin
writeln('PERHITUNGSN PLUG FLOW REACTOR B');
write('Masukkan nilai x=');readln(xb);
k:=2*eA*(eA+1)*ln(1-xb)+sqr(eA)*xb+sqr(eA+1)*(xb)/(1-xb);
writeln('Nilai k=',k:0:4);readln;
end;
end;
writeln('Lihat Hasil K anda');
writeln('a. K<15');
writeln('b. K>15');
55
write('Kondisi= ');readln(kondisi);
case kondisi of
'K<15':begin
writeln('Kesimpulan bahwa K merupakan Kcaot terkecil');readln;
end;
'K>15':begin
writeln('Kesimpulan bahwa K merupakan Kcaot terbesar');readln;
end;
end;
end.
56
D. Hasil Run
Flow Reactor A
Flow Reactor B
57