FAKULTAS TEKNIK
UPN “VETERAN” JATIM
Praktikum : MATEMATIKA TEKNIK KIMIA II Nama : TALITHA SAHDASAFA
Percobaan : PEMROGRAMAN PASCAL DAN NPM/Semester : 19031010157 / IV
APLIKASI MATLAB Romb./Group : D1
Tanggal : 04 MARET 2021 NPM/Teman Praktek : 19031010147/
Pembimbing : IR MUTASIM BILLAH, MT ADITYA ARINTON
LAPORAN RESMI
SOAL
1. Jelaskan jenis-jenis statement perulangan serta statement pemilihan kondisi pada
aplikasi matlab dan jelaskan perbedaannya!
2. Tentukan persamaan kurva lengkung yang mewakili data berikut menggunakan
transformasi log!
X 1 2 3 4 5
1
dimana 𝑞̅ dan 𝑝̅ dapat dicari dengan rumus sebagai berikut :
A = p − Bq
3. Tekanan uap untuk spesies murni pada sistem biner antara metanol (1) dan
metil asetat (2) diberikan dengan parameter Antoine Equation :
3638.27
𝑙𝑛 𝑃1𝑠𝑎𝑡 (𝑘𝑃𝑎) = 16.5785 −
𝑡 (°𝐶) + 239.5
2662.78
𝑙𝑛 𝑃2𝑠𝑎𝑡 (𝑘𝑃𝑎) = 14.2456 −
𝑡 (°𝐶) + 219.69
Jika diketahui sistem menggunakan Raoult’s Law pada temperatur 70oC, maka
buatlah program dan tentukan fraksi mol pada fase liquid (xi), fraksi mol pada
fase vapor (yi) dan tekanan (P) dalam kPa.
Hasil Output :
Xi Yi P/kPa
0
0.1
0.2
...
1
Rumus :
P = P2sat + (P1sat - P2sat) xi
yi . P = xi . P1sat
2
JAWAB
1. Pemilihan kondisi dan pengulangan pada MatLab
A. Statement pemilihan kondisi
a. If, else if, else
Fungsi if-elseif-else-end memungkinkan Anda membuat commands
group yang banyak dalam satu fungsi.
b. Switch case
Merupakan alternatif lain pemrograman yang berkaitan dengan
pengambilan keputusan berdasarkan beberapa kondisi yang ada. Perintah
ini biasanya digunakan untuk pengambilan keputusan di antara beberapa
pilihan atau kondisi.
Perbedaan : Pada If, else if, else jika kondisi tidak terpenuhi maka akan
menjalankan perintah lainnya. Pada switch case kita bisa memili
A. Statement perulangan
a. While
While digunakan untuk melakukan proses perulangan selama kondisi
ekspresi terpenuhi. Bila kondisi sudah tidak terpenuhi lagi,maka proses
perulangan akan langsung dihentikan.
b. For
For digunakan untuk melakukan proses perulangan selama kondisi
ekspresi terpenuhi.
Perbedaan : Perintah for dapat kita tentukan jumlah nya atau batas awal dan
batas akhirnya dan akan berada pada nilai tersebut, namun pada
while kita dapat hanya menyatakan pada urutan berapa perintah
akan berhenti, contoh
3
2. Program persamaan
a. Algoritma
1. Memulai program
2. Perulangan nilai x sebanyak 5 kali
3. Memasukkan nilai y pada tiap nilai x
4. Perulangan sebanyak 5 kali
5. Memproses rumus
a. q=log10(x);
b. p=log10(y(x));
c. qp=q*p;
d. q2=q^2;
6. Menampilkan hasil perhitungan x, y(x), q, p, qp, q2
7. Memproses rumus
a. xa=sum(x);
b. ya=sum(y(x));
c. qa=sum(q);
d. pa=sum(p);
e. qpa=sum(qp);
f. q2a=sum(q2);
g. n=5;
h. qr=xa/n;
i. pr=ya/n;
j. b=((n*qpa)-(qa*pa))/((n*q2a)-(qa^2));
k. A=pr-(qr*b);
l. a=10^A
8. Menampilkan hasil perhitungan a dan b
9. Selesai
4
b. Flowchart
Memulai program
Menampilkan
judul program
Perulangan
sebanyak 5 kali
Masukkan
nilai y untuk
setiap nilai x
Menampilkan
nilai y
Perulangan
sebanyak 5 kali
Memproses rumus
Menampilkan nilai
x, y(x), q, p, qp, q2
Memproses
rumus
Menampilkan
persamaan
kurva
Selesai
5
c. Listing
clc;
disp('=========================================');
disp('PENENTUAN PERSAMAAN KURVA');
disp('=========================================');
x=1;
for x=1:1:5
y(x)=input(['x = ',num2str(x),' y = ']);
end
disp('==============================================
=============');
disp(' x y qi pi qi.pi qi^2');
disp('==============================================
=============');
for x=1:1:5
q=log10(x);
p=log10(y(x));
qp=q*p;
q2=q^2;
fprintf('%2.0f%7.1f%12.4f%12.4f%12.4f%12.4f\n',x,y(x),q,p,qp,q2);
end
xa=sum(x);
ya=sum(y(x));
qa=sum(q);
pa=sum(p);
qpa=sum(qp);
q2a=sum(q2);
n=5;
qr=xa/n;
pr=ya/n;
b=((n*qpa)-(qa*pa))/((n*q2a)-(qa^2));
A=pr-(qr*b);
a=10^A;
disp(['Persamaan kurva y = ',num2str(a),'x^',num2str(b)]);
6
d. Hasil run
7
3. a. Algoritma
1. Memulai program
2. Mendefinisikan variable-variabel
3. Menampilkan judul program
4. Memasukan suhu
5. Perulangan for end
a. Menghitung tekanan dan fraksi uap
b. Menampilkan fraksi liquid, fraksi uap, dan tekanan
c. Menghitung fraksi liquid
6. Selesai
8
b. Flowchart
Memulai
program
Mendefinisikan
variabel
Menampilkan
judul program
Memasukan
suhu
Perulangan for
end
Menghitung tekanan
dan fraksi vapor
Menampilkan
fraksi liquid,
fraksi vapor, dan
tekanan
Selesai
9
c. Listing
clc;
disp('======================================================
=========');
disp('PERHITUNGAN TEKANAN UAP');
disp('======================================================
=========');
a=16.5785;
b=3638.27;
c=239.5;
d=14.2456;
e=2662.78;
f=219.69;
e1=2.71828;
t=input('Masukan suhu dalam celcius : ');
disp('======================================================
=========');
disp('Fraksi Liquid (xi) Fraksi Vapor (yi) Tekanan,P(kPa)');
i=0;
for i=i:0.1:1
lnp1=a-(b/(t+c));
lnp2=d-(e/(t+f));
p1=e1^(lnp1);
p2=e1^(lnp2);
p=p2+((p1-p2)*i);
y=(i*p1)/p;
fprintf('%10.1f%23.4f%24.4f\n',i,y,p);
end
10
d. Hasil Run
11
4. a. Algoritma
1. Memulai program
2. Menampilkan judul program
3. Memasukan pilihan
4. Jika pilihan 1
a. Memasukan kecepatan akhir dan waktu
b. Perulangan for end
1. Menghitung percepatan
2. Menampilkan kecepatan dan percepatan
5. Jika pilihan 2
a. Memasukan kecepatan awal, akhir, dan waktu
b. Perulangan for end
1. Menghitung percepatan
2. Menampilkan kecepatan dan percepatan
6. Selesai
12
b. Flowchart
Memulai
Program
Menampilkan
judul program
Memasukan
pilihan
Yes Memasukan
Jika pilihan 1 kecepatan dan
waktu
No
Perulangan for
end
Menghitung
percepatan
Menampilkan
kecepatan dan
percepatan
Memasukan
Yes kecepatan
Jika pilihan 2
awal dan akhir
dan waktu
No
Perulangan
for end
Menghitung
percepatan
Menampilkan
kecepatan dan
percepatan
Menampilkan
pilihan salah
Selesai
13
c. Listing
clc;
disp('====================================================');
disp('PERHITUNGAN GLBB');
disp('====================================================');
disp('1. Kecepatan awal 0');
disp('2. Kecepatan awal tidak 0');
a=input('Masukan pilihan (1/2) : ');
if a==1
v=input('Masukan kecepatan akhir : ');
t=input('Masukan perubahan waktu : ');
disp('====================================================');
disp('Kecepatan(m/s) Percepatan(m/s^2)');
for v=v:1:10
a=v/t;
fprintf('%10.4f%24.4f\n',v,a);
end
disp('====================================================');
elseif a==2
vo=input('Masukan kecepatan awal : ');
v=input('Masukan kecepatan akhir : ');
t=input('Masukan perubahan waktu : ');
disp('====================================================');
disp('Kecepatan(m/s) Percepatan(m/s^2)');
for v=v:1:10
a=v/t;
fprintf('%10.4f%24.4f\n',v,a);
end
else
disp('Pilihan salah');
end
14
d. Hasil Run
15
16