Anda di halaman 1dari 22

LABORATORIUM TEKNIK KIMIA

FAKULTAS TEKNIK
UPN “VETERAN” JAWA TIMUR Nama : RIVA MAULANA
NPM/Semester : 17031010154 / IV
Praktikum : MATEMATIKA TEKNIK Sesi : III
Percobaan : PEMROGRAMAN PASCAL DAN Paralel :D
APLIKASI MATLAB
Tanggal : 12 FEBRUARI 2019
Pembimbing : DR. T. IR. DYAH SUCI P., M.T.
LAPORAN RESMI

SOAL
1. Jelaskan perbedaan bahasa PASCAL dan MATLAB
2. Buatlah Algoritma Penyelesaian masalah, Flowchart, Script program Dan
Hasil Run menggunakan Matlab.
Sebuah bejana akan dirancang untuk dapat menampung zat kimia. Bejana
tersebut memiliki bentuk seperti berikut :
Bentuk disk

Bentuk silinder

Bentuk disk

Diketahui Volume bejana = Volume Silinder + 2 (Volume disk)


π 2
= D . H + (2. 0,00089 . D3)
4
H=2D
Buatlah program perulangan menggunakan statement While Do pada
Matlab untuk menghitung Volume Bejana dengan syarat
a. D = 5 sampai dengan D= 220
b. Interval perulangan 2 angka terakhir pada NPM
3. Buatlah Algoritma Program, Program, Flowchart, dan Hasil Run, Dengan
Matrix Laboratory (MatLab) (Tiap Praktikan Wajib Berbeda) !
a) While End-For End
b) For End-While End
4. Selesaikan Soal Berikut Menggunakan Matrix Laboratory (Matlab)
(Algoritma Program, Program, Flowchart, Dan Hasil Run)
Sebuah Gelombang Dinyatakan Oleh Persamaan :
Y = A Sin(2.π.f.t + θ)
Dimana :
A = Amplitudo
f = Frekuensi
t = Waktu
θ = Sudut Fase Gelombang
Buatlah Program, Grafik, Flowchart, Dan Hasil Run Nya Jika :
a. Untuk Gelombang 1, Diketahui :
A = 1 ; f = (2 Npm Terakhir-2) ; t_awal = 0 ; t_akhir = 1 ; θ = π/6
b. Untuk Gelombang 2, Diketahui :
A = 1 ; f = (2 Npm Terakhir-5) ; t_awal = 0 ; t_akhir = 1 ; θ = π/4
c. Untuk Superposisi Gelombang, Diketahui :
y = y1 + y2
Syarat : Gunakan Interval Waktu Antara 0 – 0,0010
Jawaban :
1. Perbedaan Bahasa PASCAL dan MATLAB :
A. Bahasa Pascal
a. Sejarah
Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota
International Federation of Information Processing (IFIP) pada tahun 1971. pascal
berasal dari nama matematikawan yaitu Blaise Pascal. Pascal digunakan untuk
mengenalkan pemrograman terstruktur.
b. Aplikasi Bahasa Pascal
1. Pascal dipakai sebagai landasan pembuatan kode perangkat lunak
Delphi (berbasis windows).
2. Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix
(berbasis Linux).
c. Kelebihan bahasa Pascal :
1. Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa
pemrogaman. Pascal memiliki tipe data standar Boolean, integer, char,
real, string.
2. User defined data types, programmer dapat membuat tipe data lain yang
diturunkan dari tipe data standar.
3. Strongly-typed, programmer harus menentukan tipe data dari suatu
variable dan variable tersebut tidak dapat dipergunakan untuk
menyimpan tipe data selain format yang ditentukan.
4. Terstruktur, memiliki sintaks yang memungkinkan penulisan program
dipecah menjadi fungsi-fungsi kecil (procedur dan function) yang dapat
dipergunakan berulang-ulang.
5. Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat
mendekati bahasa manusia (bahasa inggris) sehingga mudah dipelajari
dan dipahami.
d. Kekurangan bahasa Pascal :
1. Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan
basis data yang terbatas.
2. Sintaks Pascal terlalu bertele-tele.
3. Tidak mendukung pemrograman berorientasi objek.
4. Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk
membuat aplikasi yang besar.
B. Bahasa Matlab
a. Sejarah
MATLAB adalah sebuah lingkungan komputasi numerikal dan bahasa
pemrograman komputer generasi keempat. Dikembangkan oleh The MathWorks,
MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data,
implementasi algoritma, pembuatan antarmuka pengguna, dan peng-antarmuka-an
dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik,
sebuah kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD,
memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket
tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain
Berdasar Model untuk sistem terlekat dan dinamik.
b. Kelebihan
1. MATLAB sangat handal untuk komputasi yang terkait dengan array
atau matriks. Kehandalan ini bisa terlihat mulai dari proses assignment
variabel terhadap nilai bertipe array atau matriks yang sederhana,
sampai dengan operasi perhitungannya yang cepat.
2. Kesederhanaan dalam proses assignment variabel terhadap nilai bertipe
array atau matriks ini disebabkan tidak diperlukannya pendefinisian
ukuran (size) array atau matriks pada variabel tersebut. Secara otomatis,
size atau dimensi dari variabel bertipe array ini akan menyesuaikan
dengan array yang diassign atau dengan kata lain size untuk variabel
bertipe array ini bersifat dinamis. Dengan demikian, kita tidak perlu
pusing memikirkan size variabel yang diperlukan untuk suatu proses
perhitungan.
c. Kekurangan
Apabila kita menginginkan output perhitungan tidak ditampilkan, namun
hanya disimpan dalam memory, maka tambahkan tanda (;) di akhir perintah.
2. Program Menghitung Volume Bejana
Algoritma
1. Memulai program
2. Memasukkan inputan : menginput 2 angka terakhir NPM
3. Memproses data dengan rumus yang ada menggunakan perulangan while
D<=220
4. Memunculkan hasil yaitu volume dari bejana
5. Mengakhiri program
Flowchart

Start

Input (npm)

D=5
H=2*D

while D<=220

No
Yes

V=((pi/
4)*(D^2)*H)+(2*0.
00089*(D^3))
D=D+npm

Output
Diameter
dan Volume
Bejana

End
Listing Program
clc;
disp('PROGRAM PERHITUNGAN VOLUME BEJANA');
npm=input('Input 2 Angka Terakhir NPM : ');
disp('---------------------------------');
fprintf('%12s%21s\n','| Diameter','Volume |');
disp('---------------------------------');
D=5;
H=2*D;
while D<=220
V=((pi/4)*(D^2)*H)+(2*0.00089*(D^3));
fprintf('%10.0f%15.2f\n',D,V);
D=D+npm;
end
disp('---------------------------------');
Hasil Run “Program Perhitungan Volume Bejana”
3. Program Matlab
a. While End-For End
Algoritma
1. Memulai program
2. Memasukkan inputan : menginput jumlah uang tabungan dan waktu
penyimpanan (bulan)
3. Memproses data dengan rumus yang ada menggunakan perulangan while
c<=b
4. Memunculkan hasil jumlah uang pada akhir penyimpanan
5. Memproses data dengan rumus yang ada menggunakan perulangan for
e=0:3:b
6. Memunculkan hasil perkiraan jumlah uang tabungan tiap 3 bulan
7. Mengakhiri program.
Flowchart

Start

Input (a) dan


(b)

C=0

while c<=b
No

Yes

c=c+3
d=a+(b*(a*0.5))

Output uang
pada akhir
penyimpanan

for
e=0:3:b

d=a+(e*(a*0.5))

Output
jumlah uang
tiap 3 bulan

End
Listing Program
clear all;
clc;
disp('Menghitung jumlah uang deposito di Bank');
disp('Uang deposito akan dipotong 5% tiap 3 bulan');
disp('-------------------------------------------');
a=input('Masukkan jumlah uang tabungan anda : ');
b=input('Masukkan waktu penyimpanan (BULAN) : ');
c=0;
while c<=b
c=c+3;
d=a+(b*(a*0.5));
end
disp('-------------------------------------------');
disp(['Jumlah UANG pada akhir penyimpanan : ',num2str(d)]);
disp('-------------------------------------------');
disp('Perkiraan Jumlah UANG tabungan tiap 3 BULAN penyimpanan');
disp('------------------------------');
fprintf('%8s%20s\n','| BULAN', 'JUMLAH UANG |');
disp('------------------------------');
for e=0:3:b
d=a+(e*(a*0.5));
fprintf('%8.0f%20.2f\n',e,d);
end
disp('------------------------------');
Hasil Run “Program Perhitungan Uang Deposito”
b. For End-While End
Algoritma
1. Memulai program
2. Memasukkan inputan : menginput jumlah uang tabungan dan waktu
penyimpanan (bulan)
3. Memproses data dengan rumus yang ada menggunakan perulangan for
e=0:3:b serta while c<=b
4. Memunculkan hasil jumlah uang sebelum dipotong dan jumlah uang setelah
dipotong
5. Mengakhiri program.
Flowchart

Start

Input (a) dan


(b)

for
e=0:3:b

d=e*5000

Output
jumlah
potongan
tiap 3 bulan

c=0

while c<=b

No
Yes

uang1=a+(b*(a*0.5)
c=c+3

uang2=uang1-d

Output
Jumlah uang
sebelum dan
sesudah
dipotong

End
Listing Program
clear all;
clc;
disp('Menghitung jumlah UANG TABUNGAN di Bank');
disp('Tabungan akan dipotong sebesar 15000 tiap 3 bulan');
disp('-------------------------------------------');
a=input('Masukkan jumlah UANG TABUNGAM anda : ');
b=input('Masukkan waktu penyimpanan (BULAN) : ');
disp('------------------------------');
fprintf('%8s%20s\n','| BULAN', 'JUMLAH POTONGAN |');
disp('------------------------------');
for e=0:3:b
d=e*5000;
fprintf('%8.0f%20.2f\n',e,d);
end
c=0;
while c<=b
uang1=a+(b*(a*0.5));
c=c+3;
end
uang2=uang1-d;
disp('------------------------------');
disp('-------------------------------------------');
disp(['Jumlah UANG sebelum dipotong : ',num2str(uang1)]);
disp(['Jumlah UANG setelah dipotong : ',num2str(uang2)]);
disp('-------------------------------------------');
Hasil Run “Program Perhitungan Bunga Deposito”
4. Program Mencari Grafik
Algoritma
1. Memulai program
2. Memunculkan output pilihan soal dan memasukkan inputan : menginput pilih
soal 1-3
3. Memproses data dengan pemilihan kondisi switch soal
a. Jika menginput 1, maka diproses dengan rumus yang ada dengan
perulangan for t=0:0.0010:1 dan memunculkan hasil gelombang 1 beserta
plotnya
b. Jika menginput 2, maka diproses dengan rumus yang ada dengan
perulangan for t=0:0.0010:1 dan memunculkan hasil gelombang 2 beserta
plotnya
c. Jika menginput 3, maka diproses dengan rumus yang ada dengan
perulangan for t=0:0.0010:1 dan memunculkan hasil superposisi beserta
plotnya
4. Mengakhiri program.
Flowchart

Start

Otuput
pilihan soal
dan input
(soal)

No No No
Case 1 Case 2 Case 3

Yes Yes Yes

Output yang Output yang Output yang


diketahui diketahui diketahui

F1= 54-2
F=54-2 F=54-5
F2=54-5

Output (f1)
Output (f) Output (f)
dan (f2)

For For For


t=0:0.001 t=0:0.001 t=0:0.001
0:1 0:1 0:1

y1=1*sin((2*pi*f1*t)+(pi/6));
y=1*sin((2*pi*f*t)+ y=1*sin((2*pi*f*t)+
y2=1*sin((2*pi*f2*t)+(pi/4));
(pi/6)); (pi/4));
y=y1+y2;

Output (y) Output (y) Output (y)


dan (t) dan (t) dan (t)

plot(t,y,'-ok') plot(t,y,'-ok') plot(t,y,'-ok')

End
Listing Program
clc;
clear all;
disp('Terdapat 3 jenis soal yaitu : ');
disp('1. Gelombang 1');
disp('2. Gelombang 2');
disp('3. Superposisi');
soal=input('Pilih SOAL (1-3): ');
disp('------------------------------');
switch soal
case 1
disp('Diketahui : A = 1');
disp(' teta = pi/6');
disp(' t awal = 0');
disp(' t akhir = 1');
disp(' interval = 0.0010');
f=54-2;
disp([' f = ',num2str(f)]);
disp('');
disp('------------------------------');
disp(' JAWABAN');
disp('------------------------------');
disp('Waktu (t) y');
disp('------------------------------');
for t=0:0.0010:1
y=1*sin((2*pi*f*t)+(pi/6));
fprintf(' %5.4f%12.5f\n',[t,y]);
hold on
plot(t,y,'-ok')
end
case 2
disp('Diketahui : A = 1');
disp(' teta = pi/4');
disp(' t awal = 0');
disp(' t akhir = 1');
disp(' interval = 0.0010');
f=54-5;
disp([' f = ',num2str(f)]);
disp('');
disp('------------------------------');
disp(' JAWABAN');
disp('------------------------------');
disp('Waktu (t) y');
disp('------------------------------');
for t=0:0.0010:1
y=1*sin((2*pi*f*t)+(pi/4));
fprintf(' %5.4f%12.5f\n',[t,y]);
hold on
plot(t,y,'-ok')
end
case 3
disp('Diketahui : A = 1');
disp(' teta1 = pi/6');
disp(' teta2 = pi/4');
disp(' t awal = 0');
disp(' t akhir = 1');
disp(' interval = 0.0010');
f1=54-2;
f2=54-5;
disp([' f1 = ',num2str(f1)]);
disp([' f2 = ',num2str(f2)]);
disp('');
disp('------------------------------');
disp(' JAWABAN');
disp('------------------------------');
disp('Waktu (t) y');
disp('------------------------------');
for t=0:0.0010:1
y1=1*sin((2*pi*f1*t)+(pi/6));
y2=1*sin((2*pi*f2*t)+(pi/4));
y=y1+y2;
fprintf(' %5.4f%12.5f\n',[t,y]);
hold on
plot(t,y,'-ok')
end
end
Hasil Run

Anda mungkin juga menyukai