FAKULTAS TEKNIK
UPN “VETERAN” JAWA TIMUR Nama : MUHAMMAD NABIL C.
NPM/Semester : 19031010169 / IV
Praktikum : MATEMATIKA TEKNIK Romb./Group : D1/01
Percobaan : PEMROGRAMAN PASCAL DAN NPM/Teman Praktek : 19031010160/ RYAN
APLIKASI MATLAB MOSES A.S
Tanggal : 4 MARET 2021
Pembimbing : IR.MUTASIM BILLAH, MS
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
5
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
2
Rumus :
P = P2sat + (P1sat - P2sat) xi
yi . P = xi . P1sat
3
Jawaban :
1. Statement perulangan adalah kondisi yang dituliskan dalam Bahasa program
bertujuan untuk melakukan pengulangan nilai pada variable yang dimaksud
hinngga batas akhir yang telah ditentukan tercapai. Terdapat bebeerapa contoh
Statement Perulangan pada pemrograman matlab, yaitu :
a) While
Penggunaan “While” pada matlab merupakan Bahasa pembuka untuk
melakukan suatu perulangan. Kata “while” biasanya diikutkan dengan
persamaan yang akan menentukan kondisi batas yang harus dipenuhi
suatu program. Selisih data antar variabel yang ditulis pada statement
perulangan “while” harus ditulis dengan bentuk persamaan pada bagian
ujung listing bagian statement perulangan, seperti ditambahkannya
variabel tersebut dengan nilai tertentu, agar pada pengulangan yang
berikutnya, nilai variabel tersebut dapat berubah nilainya.
b) For
Penggunaan “For” memiliki fungsi yang hamper sama dengan statement
perulangan while, dimana statement ini dibuka dengan “for’, lalu
ditambahkan persamaan yang akan membatasi titik perulangan yang
dimaksud. Statement perulangan “for” memiliki perbedaan dengan
statement “while”, dimana statement ini dapat memebentuk batas awal
dan akhir dengan memasukkan nilai batas awal , batas akhir yang
ditengahi dengan titik dua “:”. Selisih antar data pada statement
perulangan For juga memiliki sifat yang lebih sederhana jika
dibandingkan dengan statement “ while” , Statement ini dapat
membentuk selisih antar data dengan menambahkan nilai diantara batas
awal, dan batas akhir.
4
Dalam Matlab terdapat juga Statement pemilihan Kondisi, yaitu :
a) If, else if, else
Statement pemilihan pada matlab berfungsi untuk melakukan
pelaksanaan program apabila memenuhi kondisi yang dimakud.
Statement “If, else if, else” memiliki pengertian yang sederhana seperti
“jika” , “jika bukan maka”, “yang lain”.Statement pemilihan kondisi “If,
else if, else” biasanya akan ditambahkan persamaan setelah penulisan
“if”, “elseif”, atau “else”. Stetement Pemilihan kondisi ini, dimulai dari
pemenuhan kondisi “if”, apabila kondisi tidak memenuhi maka akan
diproses pada statement “elseif” dan apabila masih tidak memenuhi
statement yang dimaksud, maka akan diproses pada “else”. Perbedaan
pemilihan kondisi ini dengan statement “ switch case” adalah
pemenuhan kondisi yang bersifat variative, tidak seperti switch case
yang berfokus pada satu titik , statement If, else if, else ini dapat
membentuk pemenuhan kondisi dari titik 0 hingga nilai tak hingga.
b) Switch case
Setate pemilihan kondisi berjenis switch case adalah pemilihan kondisi
yang akan memenuhi kondisi apabila kondisi yang diinput bernilai
akurat. Penulisan Switch case ini dimulai dengan menuliskan “case” lalu
ditambahkan nilai atau variabel yang menunjukkan pilihan yang akan
dipilih. Pemenuhan kondisi dapat terlaksana apabila pilihan yang
tersedia telah terpilih. Statement pemilihan kondisi switch case juga
memiliki kondisi apabila memiliki kondisi yang bukan menjadi pilihan
yang tersedia yaitu statement “otherwise”. Statement “otherwise”
memiliki tujuan yang mirip dengan “else” dimana statement akan
terlaksana apabila kondisi bukan merupakan kondisi yang tersedia di
pilihan yang ada.
5
2. Program Penentuan Persamaaan Kurva Berdasarkan Titik-titik pada kurva
a) Algoritma :
1. Memulai program
2. Memasukkan nilai konstanta yang diketahui pada soal
3. Memasukkan nilai n
4. Menghitung nilai jumlah qi, pi, qi.pi, dan Qi2 sesuai rumus
5. Menampilkan judul program
6. Perulangan for akan mengulang apabila nilai belum mencapai nilai
akhir yang ditentukan yaitu sebanyak n
7. Proses rumus perulangan
8. Perulangan for berhenti apabila mencapai nilai akhir yang sudah
ditentukan dengan interval 1
9. Selesai
6
b) Flow chart
Mulai
Input nilai
n
Proses rumus
Output
judul
program
no
for x=1:1:5
yes
Proses rumus
Output
perulangan
qi, pi, qi.pi,
dan Qi^2
Selesai
7
c) Listing :
clear all;
clc;
disp('================================================');
disp(' Perhitungan Persamaan Kurva Lengkung ');
disp('================================================');
for c=1:5
f(c)=input(['Jika x = ',num2str(c),' maka nilai y = ']);
end
disp(' ');
disp('--------------------------------------------------------------------');
fprintf('%4s %5s %5s %12s %12s %10s
%10s\n','No','Xi','Yi','qi=logXi','pi=logYi','qi.pi','Qi^2');
disp('--------------------------------------------------------------------');
for c=1:5
n(c)=log10(c);
m(c)=log10(f(c));
nimi(c)=n(c)*m(c);
Qi2(c)=(n(c))^2;
fprintf('%4i %4i %7.2f %9.2f %12.2f
%12.2f%10.2f\n',c,c,f(c),n(c),m(c),nimi(c),Qi2(c));
end
disp('----------------------------------------------------------------------');
no=(sum(n(c))/5);
mo=(sum(m(c))/5);
B=(5*(sum(nimi(c)))-(sum(n(c)))*(sum(m(c))))/(5*(sum(Qi2))-
((sum(n(c)))^2));
A=no-B*mo;
disp(['Maka persamaannya yaitu y=',num2str(A),'x^',num2str(B)]);
8
d) Hasil Run :
9
3. Program Perhitungan Spesies Murni Tekanan Uap pada Sistem Biner
a. Algoritma
1. Memulai program
2. Masukkan temperatur system
3. Perulangan for dengan nilai awal 0 dan nilai akhir 1, interval 0,1
4. Memproses rumus
3638.27
𝑙𝑛𝑃1 𝑠𝑎𝑡 /𝑘𝑃𝑎 = 16.5785 −
𝑡/0 𝐶 + 239.5
2662.78
𝑙𝑛𝑃2 𝑠𝑎𝑡 /𝑘𝑃𝑎 = 14.2456 −
𝑡/0 𝐶 + 219.69
𝑃 = 𝑃2 𝑠𝑎𝑡 + (𝑃1 𝑠𝑎𝑡 − 𝑃2 𝑠𝑎𝑡 )𝑥𝑖
𝑦𝑖. 𝑃 = 𝑥𝑖. 𝑃𝑖 𝑠𝑎𝑡
5. Menampilkan fraksi mol pada fase liquid, fraksi mol pada fase vapor,
dan tekanan
6. Selesai
10
b. Flowchart
Mulai
Masukkan
temperatur
system
For x=0:0.1:1
Menampilkan
nilai fraksi mol
dan tekanan
Selesai
11
c. Listing
clear all
clc;
x=input(‘Masukkan temperatur system : ’);
disp
('====================================================
==');
disp ('Fraksi mol pada fase liquid dan vapor serta tekanannya');
disp
('====================================================
==');
fprintf ('%7s%12s%17s\n','xi','yi','P/kPa' );
pa=(exp(16.5785-(3638.27/(x+239.5))));
pb=(exp(14.24256-(2662.78/(x+219.69))));
for xi=0.0:0.1:1.0
P=pb+(pa-pb)*xi;
yi=(xi*pa)/P;
fprintf('%7.1f%12.2f%17.3f\n',xi,yi,P);
end
12
d. Hasil run
13
a) Hasil Run :
14
4. Program While End dalam Switch Case
a). Algoritma
1) Memulai Program
2) Memasukkan Angka Untuk Memilih Menu
1. Perhitungan Energi Potensial
2. Perhitungan Energi Kinetik
3) Melakukan pemilihan
a. Jika memilih nomor 1
1) Memilih Perhitungan energi potensial
2) Memasukkan massa, gravitasi, ketinggian, dan interval
massa
3) Menghitung dengan rumus :
𝐸𝑝 = 𝑚𝑔ℎ
4) Menampilkan Hasil Perhitungan
b. Jika Memilih nomor 2
1) Memasukkan Perhitungan Energi Kinetik
2) Memasukkan maassa, kecepatan, dan interval massa
3) Menghitung dengan rumus :
1
𝐸𝐾 = 𝑚𝑣 2
2
4) Menampilkan Hasil Perhitungan
c. Jika memilih selain pilihan tersebut, maka pilihan menu
tidak ada
4). Selesai
15
b) Flow Chart
MULAI
Masukkan
Pilihan
Masukkan Nilai
Ya Massa,
Case 1
Ketinggian,
Gravitasi
While
massa < 10
Memproses
Perhitungan dengan
Tidak rumus
Ya
Ep = m x g x h
Menampilkan Tidak
Hasil Energi
Potensial
Ya Menampilkan
Case 2 Hasil Energi
Potensial
While
massa < 10
Tidak
Ya
Tidak
1 2 3 4 5
16
1 2 3 4 5
Memproses
Tidak Perhitungan dengan
Tersedia rumus
Ep = ½ mv^2
Menampilkan Menampilkan
Hasil Maaf, Hasil Energi
Tidak Bisa Kinetik
Selesai
17
c). Listing :
clear all;
clc;
disp('TTTTTTTTTTTTTTTTTTTTTT');
disp(' Perhitungan Energi ');
disp('TTTTTTTTTTTTTTTTTTTTTT');
disp('1. Energi Potensial');
disp('2. Energi Kinetik');
disp('');
x=input('Mau Mengitung Energi yang mana ? (Pilih 1 atau 2) = ');
switch x
case 1
disp('Energi Potensial');
m=input('Masukkan Massa Benda (Kg) = ');
g=9.8;
h=input('Masukkan Ketinggian (m) = ');
m1=input('Masukkan Interval Massa = ');
disp('|Massa benda|Gravitasi Bumi|Ketinggian|Energi Potensial|');
while m<10
Ep=m*g*h;
fprintf('%10.2f%12.2f%12.2f%14.2f\n',m,g,h,Ep);
i=i+1;
m=m+m1;
end
case 2
disp('Energi Kinetik');
mb=input('Masukkan Massa Benda (Kg) = ');
v=input('Masukkan Kecepatan Benda (m/s) = ');
mi=input('Masukkan Massa Interval = ');
disp('|Massa benda|Kecepatan Benda|Energi Kinetik|');
while mb<10
ek=(1/2)*mb*(v^2);
18
fprintf('%10.2f%15.2f%15.2f\n',mb,v,ek);
i=i+1;
mb=mb+mi;
end
otherwise('Maaf, Tidak Bisa');
end
19
d) Hasil Run
20