Permasalahan komputasi proses pada umumnya tidak sekedar hanya melingkupi satu
atau dua langkah perhitungan, namun melibatkan sejumlah langkah perhitungan yang bersifat
iteratif (atau berulang-ulang) dan menggunakan metode numerik. Penggunaan metode
numerik merupakan salah satu solusi dari sulitnya menyelesaikan permasalahan sistem secara
analitik karena sistem (persamaan matematika) yang dihadapi bersifat tidak linier dan cukup
kompleks. Beberapa contoh persamaan tidak linier dalam proses kimia antara lain meliputi:
persamaan laju reaksi kimia, mekanika fluida, termodinamika, proses transfer massa-
momentum-panas, optimasi, dan persamaan diferensial tak-linier lainnya. Beberapa contoh
permasalahan dalam Teknik Kimia disajikan dalam praktikum ini dan akan diselesaikan dengan
software Scilab.
Scilab merupakan sebuah perangkat lunak terbuka (free and open source software) yang
dapat diperoleh atau diunduh (download) dengan mudah dan gratis melalui laman
http://scilab.org. Scilab dapat digunakan untuk kepentingan komputasi numerik, komputasi
matriks, dan grafik dalam suatu lingkungan yang mudah digunakan di mana masalah dan
penyelesaiannya dituliskan sesuai dengan persamaan matematikanya. Dalam Praktikum
Analisis Numerik dan Pemrograman ini kita akan menggunakan Scilab versi terbaru, yaitu versi
6.1.1. (yang dirilis pada 16 Juli 2021). Scilab menyediakan subrutin yang dapat digunakan
dengan leluasa untuk menyelesaikan masalah-masalah komputasi proses. Subrutin tersebut
dituliskan di dalam SciNotes prompt.
Modul Praktikum Analisis Numerik dan Pemrograman dengan Scilab ini disusun untuk
membantu mahasiswa Teknik Kimia dalam membuat suatu algoritma penyelesaian persamaan
tunggal dan atau sistem persamaan yang berhubungan dengan permasalahan Teknik Kimia.
Modul ini disusun untuk mendukung implementasi mata kuliah Praktikum Analisis Numerik
dan Pemrograman (121210281) yang terdapat di dalam Kurikulum Pendidikan Program
Sarjana (S-1) Teknik Kimia, Jurusan Teknik Kimia Fakultas Teknik Industri UPN “Veteran”
Yogyakarta, di Semester 5 (dan berbobot 1 sks). Modul praktikum ini disusun dengan cakupan
materi berupa: pengenalan Scilab, pengaturan alur program dan pemrograman, pencarian akar
persamaan (tak-linier dan linier, serta persamaan-tunggal dan sistem persamaan), regresi
(curve-fitting), interpolasi, integrasi numerik, penyelesaian persamaan diferensial biasa dengan
initial value problem, penyelesaian persamaan diferensial dengan boundary value problem,
serta optimasi (satu variabel maupun multi variabel).
Selain itu, tentunya diharapkan bahwa mahasiswa akan mampu berkreasi dalam
membuat syntax pemrograman dengan Scilab secara mandiri. Akhir kata, semoga pelaksanaan
Praktikum Analisis Numerik dan Pemrograman dapat berjalan dengan lancar dan bermanfaat,
khususnya bagi mahasiswa Program Sarjana (S-1) Teknik Kimia Jurusan Teknik Kimia Fakultas
Teknik Industri UPN “Veteran” Yogyakarta.
Yogyakarta, Juli 2022
a.n. Penyusun,
ii
DAFTAR ISI
Halaman
HALAMAN JUDUL i
KATA PENGANTAR ii
DAFTAR ISI iii
TATA TERTIB DAN TEKNIS PELAKSANAAN PRAKTIKUM vi
iii
4.3 Metode Jacobi untuk Sistem Persamaan Linier IV-3
4.4 Metode Newton untuk Sistem Persamaan Tak-Linier IV-5
4.5 Latihan Soal IV-7
iv
8.2.1 Contoh Kasus-1: PDB-BVP Berorde-Dua VIII-2
8.2.2 Contoh Kasus-2: Penerapan Metode Eksplisit dan Implisit untuk VIII-3
Menyelesaikan Persamaan Diferensial Parsial Dua-Dimensi
(Dua-Variabel) dengan Tipe Parabolik
8.3 Latihan Soal VIII-6
v
TATA TERTIB dan TEKNIS PELAKSANAAN PRAKTIKUM
di LABORATORIUM KOMPUTASI PROSES
PROGRAM STUDI S-1 TEKNIK KIMIA – JURUSAN TEKNIK KIMIA
FAKULTAS TEKNIK INDUSTRI – UPN “VETERAN” YOGYAKARTA
vi
13. Pembelajaran cakupan materi praktikum disesuaikan dengan Kalender Akademik UPN
”Veteran” Yogyakarta untuk Tahun Akademik 2022-2023 dan dirancang dengan estimasi
waktu sebagai berikut:
Pertemuan
Agenda atau Acara Praktikum
Ke-
1 Modul 1 : Pengenalan Scilab
2 Modul 2 : Mengatur Alur Program
3 Modul 3 : Akar Persamaan Tak-Linier Tunggal
4 Modul 4 : Akar-akar Sistem Persamaan Linier dan Tak-Linier
5 Modul 5 : Curve-Fitting dan Interpolasi
6 Ujian Responsi-1
Modul 6 : Integrasi Numerik
7
Modul 7-1 : Penyelesaian PDB Nilai-Awal (Persamaan Tunggal)
Modul 7-2 : Penyelesaian PDB Nilai-Awal (Sistem Persamaan)
8 Modul 8-1 : Penyelesaian PDB Nilai-Batas dengan Metode Finite-
Difference
9 Modul 8-2 : Penyelesaian PDP Nilai-Batas Bertipe-Parabolik
10 Modul 9 : Optimasi Satu Variabel
11 Modul 10 : Optimasi Multi Variabel
12 Ujian Responsi-2
14. Praktikan diwajibkan untuk membawa Kartu Rencana Pendidikan (KRP) yang telah
disahkan (sesuai dengan semester berjalan) pada saat mengikuti Ujian Responsi-1 dan
Ujian Responsi-2.
15. Nilai akhir praktikum merupakan gabungan dari nilai setiap acara (atau pertemuan)
praktikum dan nilai ujian responsi. Jumlah ketidak-hadiran praktikum akan dikontribusikan
ke dalam nilai akhir tersebut.
16. Hal-hal lainnya yang terkait dengan teknis pelaksanaan praktikum secara lebih rinci (serta
belum tercantum di dalam tata tertib dan teknis pelaksanaan praktikum ini) akan
diinformasikan lebih lanjut.
17. Praktikan yang melanggar tata tertib praktikum ini akan memperoleh sanksi.
Koordinator Praktikum,
vii
MODUL 1
PENGENALAN SCILAB
MODUL 1
PENGENALAN SCILAB
1.1. Pendahuluan
Scilab merupakan sebuah perangkat lunak terbuka (free and open source software) yang
dapat diperoleh dengan mudah dari internet. Scilab dapat digunakan untuk kepentingan
komputasi numerik, komputasi matriks, dan grafik dalam suatu lingkungan yang mudah
digunakan di mana masalah dan penyelesaiannya dituliskan sesuai dengan persamaan
matematikanya. Scilab dapat dimiliki dan diunduh (download) secara bebas (free) melalui laman
http://scilab.org. Dalam Modul Praktikum Analisis Numerik dan Pemrograman ini, akan
digunakan Scilab versi 6.1.1 (versi terbaru, yang dirilis pada tanggal: 16 Juli 2021 serta
mempunyai supported operating system (OS) dengan: Windows Vista/7/8/10 (32/64 bits), GNU
Linux (32/64 bits), dan Mac OS X (Intel)).
Ketika pertama kali kita menjalankan Scilab, maka akan muncul command window yang
dikenal sebagai Console seperti ditunjukkan pada Gambar 1.1. Kita dapat menuliskan
persamaan matematika pada Console di sebelah kiri tanda -->. Console ini dapat digunakan
untuk perhitungan matematika seperti halnya kalkulator. Untuk mengetahui hasilnya, kita cukup
menekan <enter>.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-1
MODUL 1 – Pengenalan Scilab
Contoh 1.1:
-->A = 5*3
A =
15.
-->B = A-10
B =
5.
Pada saat kita bekerja di Console, Scilab menyimpan semua perintah dan variabel yang
kita masukkan. Perintah-perintah dan variabel-variabel yang telah kita tentukan dapat dipanggil
lagi kapan saja. Untuk memanggil variabel tersebut cukup dengan menuliskan kembali nama
variabelnya, dan jika ingin mengulangi perintah yang sama, maka kita dapat menggunakan tanda
atau tombol panah atas-bawah (pada keyboard). Untuk menampilkan daftar semua variabel
yang telah ada, dapat digunakan perintah who. Perintah whos akan menampilkan ukuran baris
dan kolom dari variabel beserta keterangan lainnya.
whos B A
-->whos
Name Type Size Bytes
Variabel-variabel yang kita buat ini bersifat sementara. Dengan kata lain, jika kita keluar
dari Scilab, maka variabel-variabel ini akan hilang. Agar variabel-variabel ini tidak hilang, maka
kita dapat menyimpannya dalam directory yang kita kehendaki dengan menggunakan perintah
save diikuti nama variabel. Untuk memanggilnya kembali digunakan perintah load diikuti nama
variabel. Variabel pada current directory dapat kita hapus menggunakan perintah clear diikuti
nama variabel. Perintah clear tanpa nama variabel akan menghapus semua variabel pada
directory. Untuk menghapus dan membersihkan layar pada command windows, digunakan
perintah clc.
Beberapa karakter yang memiliki fungsi tersendiri pada Scilab, antara lain:
// slash ganda, semua teks setelah tanda // merupakan komentar dan tidak dieksekusi.
; titik koma, berguna agar hasil perhitungan tidak ditampilkan di layar. Selain itu,
karakter ini berguna juga untuk memisahkan perintah dalam satu baris.
… tiga titik, berfungsi untuk menyambung perintah yang tidak cukup dalam satu baris.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-2
MODUL 1 – Pengenalan Scilab
Scilab menyediakan menu help untuk memudahkan kita dalam menggunakan Scilab.
Dengan menuliskan help (tanpa diikuti topik/ command) pada Console maka akan muncul Help
Browser seperti ditunjukkan pada Gambar 1.2. Di dalam help browser ini, semua keterangan
tentang command atau perintah-perintah Scilab dapat dipelajari. Jika kita menuliskan help
diikuti topik/ command, maka Help Browser akan langsung tertuju pada topik/ command yang
kita tuliskan tersebut.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-3
MODUL 1 – Pengenalan Scilab
exp(x) Eksponensial
log(x) natural logarithm (base: e)
log10(x) common logarithm (base: 10)
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan
^ Pangkat
sqrt(x) Akar kuadrat
dan lain-lain.
1.4. Array
Ada 3 (tiga) cara membuat array pada Scilab, yaitu:
dengan memasukkan nilai dari elemen-elemen array dalam tanda kurung siku [ ] dan
dipisahkan dengan spasi atau koma.
dengan menggunakan pola (awal : step : akhir). Jika step = 1, maka step dapat
dihilangkan.
dengan menggunakan fungsi linspace(awal, akhir, banyaknya nilai) atau fungsi
logspace(pangkat awal, pangkat akhir, banyaknya nilai). Contoh: logspace(0,3,4)
artinya array dari 100 sampai 103 sebanyak 4 buah.
Contoh 1.3:
-->alpha = 1:3:10
alpha =
1. 4. 7. 10.
-->betha = 10:-2:4
betha =
10. 8. 6. 4.
-->aku = linspace(0,3,4)
aku =
0. 1. 2. 3.
-->anda = logspace(0,3,4)
anda =
1. 10. 100. 1000.
1.5. Matriks
Matriks merupakan gabungan dari beberapa array (baris maupun vektor). Elemen matriks
pada Scilab ditulis berdasarkan format baris,kolom, misal: Y = mereka(1,4) berarti Y adalah
elemen matriks “mereka” pada baris ke-1 dan kolom ke-4. Tanda : (titik dua) menunjukkan
elemen pada semua baris atau kolom matriks, misal: X = mereka(:,4) berarti elemen-elemen
pada semua baris pada kolom ke-4. Contoh-contoh penulisan matriks:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-4
MODUL 1 – Pengenalan Scilab
Contoh 1.4:
-->Y = mereka(2,3)
Y =
6.
-->X = mereka(:,4)
X =
10.
4.
3.
1000.
-->Z = mereka(2,:)
Z =
10. 8. 6. 4.
Transposisi
Transposisi vektor dan matriks dinyatakan dengan simbol (‘). Secara sederhana definisi
transposisi vektor dan matriks adalah mengubah posisi elemen-elemen kolom menjadi elemen-
elemen baris pada vektor dan matriks tersebut, dan sebaliknya. Secara matematika, proses
transposisi dapat dinyatakan sebagai berikut.
A = B’ jika aij = bji
Contoh 1.5:
-->data = [1 3; 5 7]
data =
1. 3.
5. 7.
-->A = data'
A =
1. 5.
3. 7.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-5
MODUL 1 – Pengenalan Scilab
Contoh 1.6:
-->V = [1 2 2; 2 3 2; 3 2 1]
V =
1. 2. 2.
2. 3. 2.
3. 2. 1.
-->X = inv(V)
X =
0.3333333 - 0.6666667 0.6666667
- 1.3333333 1.6666667 - 0.6666667
1.6666667 - 1.3333333 0.3333333
-->Y = det(V)
Y =
- 3.
Contoh 1.7:
-->P = [10 20 30]
P =
10 20 30
-->X = P+Q
X =
50 70 90
-->Y = P - Q
Y =
-30 -30 -30
Pemangkatan Matriks
Pemangkatan n pada matriks berarti perkalian matriks tersebut sebanyak n kali. Syarat
pemangkatan matriks tentu saja adalah bahwa matriks yang akan dipangkatkan harus berupa
matriks bujur sangkar sehingga dapat dikalikan secara berulang-ulang (lihat Contoh 1.9).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-6
MODUL 1 – Pengenalan Scilab
Contoh 1.8:
-->A = [1 3 5; 2 4 6; 3 5 7]
A =
1 3 5
2 4 6
3 5 7
-->B = [2 3; 4 5; 6 7]
B =
2 3
4 5
6 7
Contoh 1.9:
-->X = [2 2; 2 2]
X =
2 2
2 2
8 8
8 8
Pembagian Matriks
Terdapat 2 (dua) macam pembagian matriks, yaitu:
a. Pembagian kiri : x = A\B yang diartikan sebagai penyelesaian dari: A*x = B
b. Pembagian kanan : x = A/B yang diartikan sebagai: x = A*Inv(B)
Contoh 1.10:
-->A = [1 2 3; 1 4 2; 1 1 2]
A =
1 2 3
1 4 2
1 1 2
--> B = [2; 3; 4]
B =
2
3
4
-->cek = A*x
cek =
2.0000
3.0000
4.0000
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-7
MODUL 1 – Pengenalan Scilab
Contoh 1.11:
-->A = [1 2 3]
A =
1 2 3
-->B = [2 2 2]
B =
2 2 2
-->A*B'
ans =
12 (perkalian vektor biasa)
-->A.*B
ans =
2 4 6 (perkalian elemen vektor)
-->A./B
ans =
0.5000 1.0000 1.5000 (pembagian elemen vektor)
Contoh 1.12:
-->A.^B
ans =
1 4 9
-->B.^A
ans =
2 4 8
Contoh 1.13:
» x = [1 2 3];
» y = x.^2 + 2.*x + 4
y =
7 12 19
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-8
MODUL 1 – Pengenalan Scilab
Contoh 1.14:
-->disp('SAYA SEDANG BELAJAR SCILAB')
SAYA SEDANG BELAJAR SCILAB
Salah satu perintah untuk mencetak hasil ataupun data antara lain adalah printf. Contoh
penggunaannya adalah sebagai berikut.
Contoh 1.15:
-->y = [1 2 3 4]
y =
1. 2. 3. 4.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-9
MODUL 1 – Pengenalan Scilab
Sebagai contoh, plot(x,y,'b+:') merupakan perintah membuat grafik y versus x dengan tanda +
dan berwarna biru.
Contoh 1.16:
Diketahui: x = 0:10 dan y = 4x2 + 3x + 5. Dengan menggunakan Scilab dapat diperoleh tampilan
dan grafik sebagai berikut.
-->x = 0:10
x =
0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
5. 12. 27. 50. 81. 120. 167. 222. 285. 356. 435.
-->printf('%10.0f %10.1f\n',x',y')
0 5.0
1 12.0
2 27.0
3 50.0
4 81.0
5 120.0
6 167.0
7 222.0
8 285.0
9 356.0
10 435.0
Selain menggunakan fungsi ‘plot’ (seperti contoh tersebut di atas), Scilab juga
menyediakan sejumlah fitur lain untuk menggambarkan grafik dalam bentuk 2 dimensi maupun
3 dimensi. Untuk mengenalinya lebih lanjut, silakan mengakses Help Browser maupun ‘2D and
3D Plots’ pada menu Demonstrations – Graphics.
Jika kita ingin menampilkan beberapa grafik (secara bersamaan) dalam jendela yang
sama, maka dapat digunakan perintah ‘subplot’.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-10
MODUL 1 – Pengenalan Scilab
Contoh 1.17:
Diketahui: x = 0:10; y = 4x2 + 3x + 5; dan z = 2 sin(x/3); dengan Scilab maka dapat diperoleh
tampilan dan grafik sebagai berikut.
-->x = 0:10
x =
0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
5. 12. 27. 50. 81. 120. 167. 222. 285. 356. 435.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 I-11
MODUL 2
MENGATUR ALUR PROGRAM
MODUL 2
MENGATUR ALUR PROGRAM
Untuk membuat file script, pilihlah menu Launch SciNotes pada menu bar Console
seperti pada Gambar 2.1. Prosedur ini akan mengeluarkan teks editor di mana kita dapat
menuliskan perintah-perintah Scilab. Setelah file ini disimpan dalam suatu direktori yang kita
pilih dengan nama file tertentu (misalnya: latihan1.sce), maka Scilab dapat menjalankan semua
perintah dalam file ini pada prompt Scilab.
Launch SciNotes
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-1
MODUL 2 – Mengatur Alur Program
Jika kita memilih atau menekan icon Launch SciNotes, maka semua file Scilab yang
diketikkan dalam SciNotes akan secara otomatis disimpan dalam direktori My Documents
(seperti pada Gambar 2.2). Sebelum menjalankan program Scilab, sebaiknya direktori
penyimpanan SciNotes diubah lebih dahulu (dengan memilih direktori yang kita inginkan). Scilab
akan mengeksekusi semua perintah yang dituliskan dalam SciNotes. Jika terdapat kesalahan
penulisan perintah maupun kekurangan data atau informasi, maka akan muncul komentar pada
prompt window (pada jendela Console). Beberapa contoh penggunaan SciNotes akan dibahas
dalam sub-bab berikutnya.
For Loop
Fungsi for digunakan untuk melakukan loop sejumlah urutan pemrograman atau
perhitungan yang telah ditentukan dengan bentuk umum sebagai berikut:
for i = array
commands
end
Contoh 2.1:
Menghitung kapasitas panas gas CH4 pada berbagai suhu dengan persamaan:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-2
MODUL 2 – Mengatur Alur Program
Program di SciNotes:
// Latihan membuat alur program dengan perintah for-end
clear; clc;
T = [300:25:400]; // suhu [K]
n = length(T); // jumlah elemen array atau vektor T
for i = 1:n
Cp(i) = 38.387 - 7.3664e-2*T(i) + 2.9098e-4*T(i)^2 - 2.6385e-7*T(i)^3;
end
disp(T) // Atau, bisa langsung ketikkan T (+ enter) pada prompt window
disp(Cp) // Bisa juga langsung ketikkan Cp pada prompt window
35.35205
36.123487
36.937081
37.768098
38.5918
While Loop
Fungsi while digunakan untuk melakukan pengulangan perintah pemrograman atau
perhitungan yang diapitnya selama kondisi pengujinya benar. Di dalam loop harus ada perintah-
perintah yang membuat kondisi pengujinya menjadi salah. Karena jika tidak, maka loop akan
berlangsung terus-menerus. Bentuk umum perintah while loop adalah sebagai berikut.
while expression
commands
end
Contoh 2.2:
Program di SciNotes:
// Latihan membuat alur program dengan perintah while-end
clc; clear;
n = 5; iterasi = 0;
while iterasi < n
iterasi = iterasi + 1;
A(iterasi) = n - iterasi;
end
disp(iterasi)
disp(A)
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-3
MODUL 2 – Mengatur Alur Program
iterasi =
5.
A =
4.
3.
2.
1.
0.
if expression
commands
end
atau:
if expression then
commands evaluated if TRUE
else
commands evaluated if FALSE
end
atau:
if expression1 then
commands evaluated if expression1 is TRUE
elseif expression2 then
commands evaluated if expression2 is TRUE
else …
end
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-4
MODUL 2 – Mengatur Alur Program
Contoh 2.3:
Program di SciNotes:
// Latihan membuat alur program dengan perintah if-then-elseif-then-else-end
clc; clear;
x = 2
if x == 0 then
disp('x = 0')
elseif x < 0 then
disp('x = bilangan negatif')
else
disp('x = bilangan positif')
end
2.
x = bilangan positif
deff
Menu deff digunakan untuk mendefinisikan suatu fungsi yang tidak begitu panjang dan
dapat diketik dalam satu baris program. Penulisan definisi fungsi dengan deff dijelaskan sebagai
berikut:
deff('[s1,s2,...] = newfunction(e1,e2,....)',text)
di mana:
newfunction : nama fungsi
e1,e2,..., : variabel-variabel input
s1,s2,..., : variabel-variabel output
text : matriks dari karakteristik string
Contoh 2.4:
Program di SciNotes:
// Latihan mendefinisikan fungsi dengan deff
clear; clc
a = [4 5 6]; b = 2;
deff('[s1,s2] = fungsiab(a,b)', 's1 = a^2 + b, s2 = s1 - b');
[s1,s2] = fungsiab(a,b)
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-5
MODUL 2 – Mengatur Alur Program
s2 =
Apabila nilai variabel input pada Contoh 2.4 sudah diketahui, maka fungsi dapat dipanggil
dengan menulis: exec(nama fungsi) sebagai berikut:
Program di SciNotes:
// latihan mendefinisikan fungsi dengan deff
clear; clc
a = [4 5 6]; b = 2;
deff('[s1,s2] = fungsiab(a,b)', 's1 = a^2 + b, s2 = s1 - b');
exec(fungsiab)
di mana:
<function_name> : nama fungsi yang digunakan
<rhs_arguments> : daftar variabel input yang dituliskan di dalam tanda ( ), misalnya
(x1,x2,…,xn)
<lhs_arguments> : variabel output yang dituliskan di dalam tanda [ ]; misalnya [x,y] = artinya
output perhitungan adalah x dan y; Jika dalam perhitungan menghasilkan
hanya satu variabel output maka tanda [ ] dapat dihilangkan.
<statements> : berisi instruksi atau pernyataan
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-6
MODUL 2 – Mengatur Alur Program
Contoh 2.5:
Program di SciNotes:
// Latihan membuat alur program dengan function
clc; clear;
function [x,y] = fungsisaya(a,b)
x = a + b
y = a - b
endfunction
[x,y] = fungsisaya(3,2)
1.
x =
5.
Contoh 2.6:
Program di SciNotes:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-7
MODUL 2 – Mengatur Alur Program
hasil =
3.
- 1.
Contoh 2.7:
Program di SciNotes:
// Latihan menggunakan instruksi string dengan command execstr
clear; clc
x1 = 2; y1 = 4;
RUMUS = (['(x+y)/2']);
x = x1; y = y1; // Variabel input
hasil = evstr(RUMUS)
// Ulangi perhitungan RUMUS dengan nilai x dan y yang lain
disp('Hasil perhitungan ulang')
dx = 1; dy = 1; it = 0;
ULANG = (['for i = 1:3'
'it = it + 1'; 'x = x1 + dx'; 'y =y1 + dy';
'HU = evstr(RUMUS)';
'disp(HU)';
'x1 = x'; 'y1 = y';
'end']);
execstr(ULANG)
1. Suatu campuran terdiri dari 3 komponen (zat), yaitu: toluena (C6H5CH3) sebanyak 50%-mol,
p-xylena (C6H4(CH3)2) sebanyak 15%-mol, dan sisanya berupa etilbenzena (C6H5C2H5).
Berapakah berat molekul relatif (BM) campuran zat ini?
Buatlah program Scilab sederhana dengan memanfaatkan:
(a) perintah atau fungsi ‘sum’ atau operasi aljabar vektor dan matriks secara
langsung, serta kemudian membandingkannya dengan:
(b) perintah pengaturan alur program (misalnya: perintah for‐end loop), untuk
melakukan perhitungan ‘ (sigma)’ dalam kasus ini.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-8
MODUL 2 – Mengatur Alur Program
2. Harga kapasitas panas suatu campuran gas pada suhu tertentu dinyatakan dengan
n
persamaan sebagai berikut: C P campuran y C
1
i Pi
Nama Fraksi-mol
No. Ai Bi Ci Di
Komponen (yi)
1 CH4 0,45 4,750 1,200 x 10-2 0,303 x 10-5 -2,630 x 10-9
2 C 2H 6 0,30 1,648 4,124 x 10-2 -1,530 x 10-5 1,740 x 10-9
3 H2 0,15 6,952 -0,046 x 10-2 0,096 x 10-5 -0,208 x 10-9
4 O2 0,10 6,085 0,363 x 10-2 -0,171 x 10-5 0,313 x 10-9
CPi [=] kal/(gmol.K) dan T [=] K
Tentukanlah kapasitas panas campuran pada berbagai suhu: T = 30 oC hingga T = 100 oC.
Ambillah beda suhu sebesar: delT = 10 oC dan delT = 5 oC.
Sajikanlah hasil perhitungan dalam bentuk: (a) tabel, dan (b) grafik.
3. Suhu kritik semu campuran gas (Tpcm) dapat ditentukan melalui persamaan:
N N
Tpcm y y T
i1 j1
i j cij
Jika terdapat campuran gas: etana (40%-mol), etilena (10%), dan propilena (50%) pada suhu
300 K, serta tersedia data berikut ini:
Komponen Etana Etilena Propilena
I 1 2 3
Mi, kg/kmol 30,070 28,054 42,081
Tci, K 305,4 282,4 364,9
Konstanta interaksi biner dari Barner dan Quinland (Sumber: The Properties of Gases and
Liquids, Third Edition, Robert C. Reid, John M. Prausnitz and Thomas K. Sherwood, McGraw‐
Hill (1977)):
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-9
MODUL 2 – Mengatur Alur Program
4. Tentukanlah nilai angka Reynolds (Re) dan faktor gesekan (f) dari suatu aliran fluida melalui
pipa, di mana kecepatan linier aliran divariasikan pada: u = [1:1:20] x 10-2 (m/detik).
1 5,02 5,02 D 13
4 ,0 log D log D log
f 3,7 Re 3,7 Re 3,7 Re
Untuk rezim turbulen (4000 Re 108):
1 Re
3,6 log
f 0,135 Re 6,5
D
di mana: /D = rasio kekasaran pipa (roughness ratio)
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 II-10
MODUL 3
AKAR-AKAR PERSAMAAN TAK-LINIER TUNGGAL
MODUL 3
AKAR-AKAR PERSAMAAN TAK-LINIER TUNGGAL
3.1. Tujuan
Menentukan akar-akar persamaan tak-linier tunggal dengan menggunakan dua kategori
besar metode, yaitu:
(1) metode terbuka (open methods), yang meliputi: metode Newton-Raphson dan
secant (tali busur), serta
(2) metode pengurung (bracketing methods), seperti: metode bisection (bagi dua) dan
false position (regula-falsi).
Membandingkan hasil-hasil yang diperoleh dari penggunaan masing-masing metode.
Jika x merupakan akar persamaan tak-linier dari fungsi tunggal berupa: f(x) = 0, maka
f x i
metode Newton-Raphson (NR) dapat dinyatakan sebagai: xi1 x i
f ' x i
di mana: f ‘(xi) = turunan pertama dari fungsi f(xi).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-1
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
Jika h (atau x atau step size) menyatakan sebuah “bilangan kecil”, maka:
Selanjutnya, besarnya error (atau: ‘beda’) pada setiap langkah perhitungan (sebagai
salah satu kriteria untuk menghentikan iterasi) juga dapat dinyatakan melalui approximate
error (ea) sebagai berikut:
xsekarang xsebelumnya
approximate error (ea ) x 100%
x sekarang
Secara umum, metode secant (sebagai salah satu metode dalam kategori open
methods) dinyatakan sebagai berikut:
f xi xi 1 xi
xi 1 xi
f xi 1 f xi
Berbeda dengan Newton-Raphson, metode secant tidak memerlukan turunan dari fungsi f(x).
Namun demikian, metode ini memerlukan 2 nilai tebakan awal, yaitu xi1 dan xi. Algoritma
penentuan akar persamaan tak-linier tunggal dengan metode secant ditunjukkan melalui
diagram alir pada Gambar 3.2.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-2
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
Metode bisection (bagi dua) sangat berbeda dibandingkan dengan metode Newton-
Raphson maupun metode secant, karena bisection merupakan salah satu metode dalam
kategori metode pengurung yang mempunyai 2 (dua) nilai tebakan awal (di mana kedua nilai
tebakan awal ini harus “mengurung” atau “mengapit” akar sesungguhnya) dan berproses
secara terus menerus (berulang-ulang) dengan cara mempersempit rentang variabelnya.
Pada metode bisection, terlebih dahulu ditentukan nilai xrendah dan xtinggi sebagai rentang
atau batas dalam mencari akar sesungguhnya. Nilai akar sesungguhnya berada di antara xrendah
dan xtinggi sehingga disebut sebagai xtengah. Nilai xtengah (XM) dapat ditentukan dengan persamaan:
xrendah xtinggi
xtengah
2
Selanjutnya, proses penyempitan rentang tersebut dilakukan dengan cara:
Jika: f(xrendah). f(xtengah) < 0 maka: (xtinggi)baru = (xtengah)lama
Jika: f(xrendah). f(xtengah) > 0 maka: (xrendah)baru = (xtengah)lama
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-3
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
Algoritma penentuan akar persamaan tak-linier tunggal dengan metode bisection ditunjukkan
dalam diagram alir pada Gambar 3.3.
xU xL
x M x U f(x U )
f(x U ) f(x L )
xU xL
atau: x M x L f (x L )
f (x U ) f (x L )
dengan: xM xtengah; xU xtinggi; xL xrendah
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-4
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
Prosedur penentuan akar persamaan tak-linier tunggal dengan metode false position
disajikan melalui algoritma berikut ini:
1. Mulai
2. Ambil: nilai tebakan awal XL dan XU, nilai toleransi ‘tol’, nilai awal ‘beda’
3. Hitung nilai: f(XL) dan f(XU)
4. Cek nilai tebakan awal (apakah sudah sesuai atau belum), melalui perkalian antara f(XL)
dan f(XU). Jika bernilai negatif, maka tebakan awal sudah sesuai (benar).
5. Lakukan secara berulang-ulang (dalam loop) hingga diperoleh: beda < tol
Hitung nilai Xtengah (atau: XM) dengan formula false position
Hitung nilai: f(XL), f(XU), dan f(XM)
Jika: f(XL)*f(XM) < 0 maka: (XU)baru = (XM)lama
Jika: f(XL)*f(XM) > 0 maka: (XL)baru = (XM)lama
Hitung nilai ‘beda’, misalnya: beda = |XU – XL| (atau: pendefinisian lainnya)
Untuk iterasi dengan metode-metode pengurung, nilai error (atau: ‘beda’) pada setiap langkah
perhitungan juga dapat dinyatakan melalui approximate error (ea) sebagai berikut:
xM , sekarang xM , sebelumnya
approximate error (ea ) x 100%
x M , sekarang
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-5
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
2. Faktor kompresibilitas gas (Z) dapat dinyatakan dengan persamaan Peng-Robinson sebagai
R 2Tc2
a 0, 45724
Pc
R Tc
b 0,0778
Pc
1 S 1 T r
0.5 2
T P
Tr , Pr
Tc Pc
3. Besarnya Fanning friction factor (f) dari suatu aliran fluida melalui pipa pada zona turbulen
1
dapat dinyatakan dalam persamaan:
f
4 log Re f 0,4
uD
dengan: Re
Berapakah nilai f, jika nilai f berada pada batasan antara 0,005 dan 0,01.
Data: = 1000; u = 0,3; D = 0,0508; = 0,001 (Satuan sudah saling disesuaikan)
Catatan: Plotkanlah grafik fungsinya (pada rentang variabel bebas yang diperlebar,
misalnya: 0 < f < 0,5; sesuai dengan “nilai logis”-nya), selanjutnya lakukan/ berikan
analisis Anda terhadap hal tersebut.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-6
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
5. Pendirian suatu pabrik kimia memerlukan fixed capital (FC) = Rp 750 milyar dan working
capital (WC) = Rp 285 milyar. Nilai annual cash flow (C) = Rp 250 milyar. Umur pabrik
diperkirakan selama 10 tahun dengan salvage value (SV) sebesar 10% dari fixed capital (FC)-
nya. Jika i menyatakan nilai suku bunga investasi ini yang diekivalensikan dengan jika
disimpan di bank, tentukanlah nilai i (secara iteratif)!
Dalam hal ini, jika digunakan present value analysis, maka nilai i dapat dihitung melalui
persamaan:
C C C C WC SV
FC WC 2
3
... 10
1 i (1 i ) (1 i ) (1 i ) (1 i )10
x 2 Pt
K
1x 2x
where K is the reaction’s equilibrium constant and Pt is the total pressure of the mixture. If Pt
= 2,85 atm and K = 0,05; determine the value of x that satisfies the equation above.
7. Perhitungan kesetimbangan uap-cair dalam sebuah flash drum (yang dapat didekati sebagai
distilasi satu tahap) yang beroperasi pada suhu T dan tekanan P mengacu pada persamaan
atau fungsi f sebagai berikut:
n n n
z j K j 1
f yj xj
j1 j1
j1 1 Kj
0
V
di mana: (merupakan rasio banyaknya umpan yang teruapkan)
F
Kj konstanta kesetimbangan uap-cair komponen j, yang dapat diperoleh dari
sejumlah persamaan empirik, seperti persamaan De-Priester, atau terkait
dengan tekanan uap murni komponen j (Pjo, dapat didekati melalui
persamaan Antoine, misalnya).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-7
MODUL 3 – Akar-akar Persamaan Tak-Linier Tunggal
Dalam hal ini, sesuai dengan neraca massa overall pada flash vaporizer: F = V + L
Konstanta kesetimbangan uap-cair juga dapat dinyatakan sebagai: =
Catatan:
Setelah menyelesaikan kasus soal tersebut di atas, cobalah Anda ulangi untuk menuliskan
algoritma dan syntax program numerik-nya (dengan Scilab), jika kasus soal ini diterapkan
terhadap flash calculation:
Tipe 1, dan
Tipe 2.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 III-8
MODUL 4
AKAR-AKAR SISTEM PERSAMAAN LINIER
DAN TAK-LINIER
MODUL 4
AKAR-AKAR SISTEM PERSAMAAN LINIER DAN TAK-LINIER
4.1. Tujuan
Menentukan akar-akar sistem persamaan linier secara simultan dan iteratif (dengan
metode Gauss-Seidel dan Jacobi).
Menentukan akar-akar sistem persamaan tak-linier secara simultan (dengan metode
Newton).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-1
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
MULAI
TEBAKAN AWAL
x2old = x2 & x3old = x3
x2old = x2new
x3old = x3new
ya
TULIS
x1 = x1new
x2 = x2new
x3 = x3new
SELESAI
Gambar 4.1. Diagram alir metode Gauss-Seidel untuk sistem persamaan aljabar linier
(diagonally dominant)
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-2
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
Metode relaksasi merupakan modifikasi dari metode Gauss-Seidel yang dirancang untuk
meningkatkan konvergensi. Setelah masing-masing xi dihitung dengan persamaan-persamaan
tersebut di atas, nilai xi ini selanjutnya dimodifikasi dengan memberikan faktor pembobot
terhadap hasil iterasi sekarang dan iterasi sebelumnya; atau:
Metode Jacobi merupakan metode penyelesaian sistem persamaan aljabar linier secara
iteratif yang mirip dengan metode Gauss-Seidel. Untuk sistem persamaan linier yang melibatkan
matriks A dan vektor b yang berorder n, diperlukan nilai tebakan awal x sejumlah n buah.
Seperti halnya metode Gauss-Seidel, metode Jacobi juga akan selalu menghasilkan
penyelesaian yang konvergen jika sistem persamaan ini bersifat diagonally dominant. Jika A
merupakan matriks bujur sangkar koefisien yang diagonally dominant, maka penyelesaian
sistem persamaan aljabar linier order 3 (dalam x1, x2, dan x3) dengan metode Jacobi dapat
dituliskan dalam bentuk:
Algoritma penyelesaian sistem persamaan aljabar linier dengan metode Jacobi ditunjukkan
dalam contoh diagram alir pada Gambar 4.2.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-3
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
Gambar 4.2. Diagram alir metode Jacobi untuk sistem persamaan aljabar linier
Keterangan:
Nilai ‘error’ (misalnya, melalui definisi approximate error) dapat dihitung atau
ditentukan dari:
error1 error2 error3
error
3
yang menyatakan rerata dari error terhadap masing-masing variabel-nya,
x1,baru x1
dengan: error1 * 100%
x1,baru
x2,baru x2
error2 * 100%
x2,baru
x3,baru x3
error3 * 100%
x3,baru
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-4
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
Tinjaulah suatu sistem persamaan aljabar tak-linier yang terdiri dari dua persamaan
(dalam variabel x dan y) berikut ini: u = f1(x,y) = 0
v = f2(x,y) = 0
Mirip dengan metode Newton-Raphson untuk menentukan akar persamaan tak-linier tunggal
(yang melibatkan fungsi turunan pertama), maka metode Newton untuk mencari akar-akar
sistem persamaan tak-linier secara simultan juga melibatkan turunan pertama dari masing-
masing fungsinya (sehingga melibatkan turunan parsial). Melalui penjabaran dari pendekatan
deret Taylor terhadap sistem persamaan tersebut di atas, maka nilai xi+1 dan yi+1 dapat
ditentukan secara iteratif dari perumusan berikut ini:
f1,i f
(x i1 x i ) (y i1 y i ) 1,i f1,i
x y
f2 ,i f
(x i1 x i ) (y i1 y i ) 2 ,i f2 ,i
x y
atau, jika dituliskan dalam bentuk perkalian matriks bujur sangkar A dan vektor (atau x), maka:
Matriks yang berisikan turunan parsial fungsi (matriks A) disebut sebagai matriks Jacobian.
f1,i f1,i
f1 ,i y x f1,i
det det
f f2 ,i f
2 ,i f2 ,i
2 ,i y x
x i dan y i
f1,i f1 ,i f1,i f1,i
x y x y
det det
f2 ,i f2 ,i f2 ,i f2 ,i
x y x y
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-5
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
Secara umum, penyelesaian sistem n buah persamaan tak-linier dengan n buah variabel yang
tak diketahui secara simultan dapat dilakukan melalui proses dan cara yang serupa (atau analog)
dengan penjabaran di atas.
Catatan Tambahan:
Nilai turunan parsial masing-masing fungsi dapat ditentukan secara analitik (jika
memungkinkan) atau numerik (melalui pendekatan finite-divided difference). Sebagai review,
berikut ini disajikan contoh-contoh perumusan fungsi turunan pertama tersebut.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-6
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
1. Sistem persamaan aljabar linier berikut ini dirancang untuk menentukan konsentrasi (c
dalam g/m3) dalam sebuah sistem reaktor seri sebagai fungsi massa.
17 c1 3 c2 c3 = 3800
3 c1 + 18 c2 6 c3 = 1200
4 c1 c2 + 12 c3 = 2350
Selesaikan masalah ini dengan metode iteratif: (a) Gauss-Seidel, dan (2) Jacobi.
Selanjutnya, bandingkanlah hasil-hasil perhitungan yang Anda peroleh.
3 x1 x2 12 x 3 50
3. Selesaikanlah sistem persamaan berikut ini: 6 x1 x2 x3 3
6 x1 9 x2 x 3 40
secara iteratif menggunakan metode Gauss-Seidel:
(a) tanpa relaksasi, dan
(b) dengan relaksasi (misal, dengan: = 0,95 atau nilai lainnya),
hingga diperoleh approximate error < 5%.
Sajikanlah hasil-hasil perhitungan dalam bentuk tabel.
4. Sebuah kolom ekstraksi yang memiliki 4 tahap ideal (teoretik) digunakan untuk
mengekstraksi asam format yang terlarut dalam metil isobutil keton (MIBK) dengan
menggunakan air sebagai pengekstrak. Operasi akan dilakukan dengan mode berlawanan
arah (counter current). Fasa organik diumpankan dari dasar kolom dengan laju 5 m3
MIBK/jam dan konsentrasi asam format 1,0 mol/liter MIBK, sedangkan fasa akuatik
dialirkan dari puncak kolom dengan laju alir 2,45 m3 air/jam serta sama sekali tidak
mengandung asam format. Operasi berlangsung isotermal dan harga rasio kesetimbangan
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-7
MODUL 4 – Akar-akar Sistem Persamaan Linier dan Tak-Linier
konsentrasi asam format di dalam MIBK terhadap konsentrasi asam format di dalam air
adalah sebesar: K = 0,445. MIBK dan air dapat dianggap sama sekali tidak saling larut satu
sama lain. 1 m3 = 1000 liter. Susunlah sistem persamaan aljabar linier untuk kasus ini, dan
selanjutnya tentukanlah konsentrasi asam format pada aliran-aliran yang keluar dan masuk
di masing-masing plate atau tahap ideal dalam kolom ekstraksi tersebut.
7. Etanol (1) sebanyak 47 gram dicampurkan dengan n-heptana (2) sehingga menghasilkan
100 gram campuran biner etanol dan n-heptana (pada T = 70,9 oC dan P = 760 mmHg). Jika
perilaku campuran ini dapat didekati dengan persamaan Van Laar, maka tentukanlah nilai-
nilai koefisien Van Laar untuk campuran ini (yaitu A12 dan A21)!
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IV-8
MODUL 5
CURVE-FITTING DAN INTERPOLASI
MODUL 5
CURVE-FITTING DAN INTERPOLASI
5.1. Tujuan
Melakukan proses curve-fitting terhadap sekumpulan data dengan menentukan nilai-
nilai koefisien atau parameter dalam persamaan-persamaan linier, tak-linier, dan
polinomial dengan prosedur atau teknik least squares regression.
Melakukan proses linierisasi terhadap persamaan tak-linier sederhana.
Melakukan interpolasi data, misalnya dengan interpolasi linier dan kuadrat.
SSE
Nilai a0 dan a1 dicari dengan cara sebagai berikut: 2 y i a0 a1x i
a0
SSE
2 y i a0 a1 x i
a1
Dengan menetapkan turunan-turunan bernilai sama dengan nol, maka proses ini akan
meminimumkan nilai SSE. Atau: 0 y a a x
i 0 1 i
2
0 x y a x a x
i i 0 i 1 i
Karena: a 0 n a 0 , maka:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-1
MODUL 5 – Curve-Fitting dan Interpolasi
n a0 xi a1 yi
x a x a x y
i 0
2
i 1 i i
Dengan demikian, nilai-nilai koefisien a1 dan a0 dipenuhi dari persamaan sebagai berikut:
n xi yi xi y i
a1
n x i2 xi
2
a0 y a1 x
Catatan:
Dengan cara yang sama (menggunakan prosedur least squares), jika persamaan linier yang
ditinjau berbentuk: y = a x (yaitu persamaan linier tanpa intercept), maka diperoleh:
n
SSE (a x i y i )2 f(a)
i 1
d (SSE) n
2 (a x i y i ) . x i 0
da i 1
Tinjaulah y sebagai fungsi linier dari variabel-variabel x1, x2, …, xm sebagai berikut:
y = a0 + a1 x1 + a2 x2 + … + amxm + e
Jumlah kuadrat error (SSE) dapat dituliskan sebagai:
n
SSE y i a0 a1x 1 a2x 2 ... amx m 2
i1
SSE
2 y i a0 a1x 1,i a2 x 2 ,i ... amx m ,i
a0
SSE
2 x 1,i y i a0 a1x 1,i a2 x 2 ,i ... am x m ,i
a1
SSE
dan seterusnya hingga: 2 x m ,i y i a0 a1x 1,i a2 x 2 ,i ... amx m ,i
am
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-2
MODUL 5 – Curve-Fitting dan Interpolasi
Dengan menetapkan turunan-turunan bernilai sama dengan nol, maka hal ini akan
meminimumkan SSE, dan hasilnya dapat dirangkum dalam bentuk matriks sebagai berikut:
n
x1,i x 2 ,i x m,i
a0 i
y
2
x1,i x 1,i x 1,i x2 ,i x
1,i xm ,i a
x y
1, i i
2
1
x2,i x1,i x2,i x 2 ,i x x2,i yi
2 ,i xm ,i a2
:
: :
x am x y
m,i x1,i xm,i 2,i m,i m,i
x x ... x 2
m ,i i
Bentuk matriks di atas membentuk sistem persamaan aljabar linier. Dengan demikian, nilai-nilai
koefisien a0, a1, …, am dapat ditentukan [misalnya: dengan cara Cramer (yang berbasiskan
determinan) atau dengan metode-metode iteratif, seperti: Gauss-Seidel dan Jacobi].
Regresi linier merupakan teknik yang cukup handal untuk mendekati trend data-data
percobaan. Namun demikian, dalam praktiknya tidak semua data menunjukkan kecenderungan
linier. Untuk persamaan tak-linier sederhana, proses linierisasi dapat dilakukan sedemikian
sehingga koefisien-koefisiennya dapat dicari dengan teknik regresi linier.
Berikut ini disajikan sejumlah contoh bentuk atau rumpun persamaan tak-linier
sederhana yang dapat dilakukan proses linierisasi:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-3
MODUL 5 – Curve-Fitting dan Interpolasi
X
3. Bentuk atau rumpun persamaan: Y
X
Linierisasi dilakukan dengan mengambil reciprocal (kebalikan) dari persamaan yang
1 1 1
ditinjau, sehingga diperoleh bentuk:
Y X
X 1
atau: X
Y
Persamaan ini analog dengan persamaan linier: y = a0 + a1 x, sehingga nilai-nilai
parameter dan juga dapat ditentukan.
Prosedur kuadrat terkecil (least squares) juga dapat dikembangkan untuk regresi
polinomial. Secara umum, persamaan polinomial didefinisikan sebagai berikut:
y = a0 + a1 x + a2 x2 + … + am xm + e
n 2
SSE
2 y i a0 a1x i a2x 2i ... amx mi
a0
SSE
2 x i y i a0 a1x i a2x 2i ... amx mi
a1
SSE
2 x 2i y i a0 a1x i a2x 2i ... amx mi
a2
SSE
dan seterusnya hingga m: 2 x mi y i a0 a1x i a2x 2i ... amx mi
am
Dengan menetapkan semua diferensial di atas bernilai sama dengan nol, maka diperoleh sistem
persamaan sebagai berikut:
x a x a x a ... x a x y
2
i 0
3
i 1
4
i 2
m 2
i m
2
i i
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-4
MODUL 5 – Curve-Fitting dan Interpolasi
x a x a x a
m
i 0
1m
i 1
2 m
i 2 ... x a x
m m
i m
m
i yi
Sistem persamaan tersebut di atas dapat diselesaikan secara simultan untuk mendapatkan nilai
koefisien-koefisien a0, a1, a2, …, am.
Interpolasi linier merupakan metode interpolasi yang paling sederhana. Metode ini
digunakan untuk mencari atau menentukan nilai suatu data [(x, f(x))] yang berada di antara dua
buah data [yaitu: (x1, f(x1)) dan (x2, f(x2))] yang diketahui berdasarkan garis lurus. Dengan
menggunakan similaritas triangles, diperoleh:
f1 (x) f(x 1 ) f (x 2 ) f (x 1 )
x x1 x 2 x1
atau, dapat dituliskan menjadi:
f(x2 ) f(x1 )
f1 (x) f(x1 ) (x x1 )
x2 x1
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-5
MODUL 5 – Curve-Fitting dan Interpolasi
Keterangan:
Scilab mempunyai sejumlah built-in function untuk melakukan interpolasi. Silakan
mempelajari cara penulisan syntax-nya melalui jendela Help Browser.
Gambar 5.1. Tampilan Help Browser untuk mengeksplorasi fungsi “Interpolation” pada Scilab
1. Dari data literatur, diketahui hubungan antara suhu dan sifat fisik air sebagai berikut:
Dari semua data tersebut, tentukanlah persamaan empirik yang menyatakan hubungan
antara versus T, sehingga memenuhi persamaan: = T.
Ubahlah ke dalam satuan mm2/detik. Sajikanlah hasil-hasil perhitungan Anda dalam bentuk
tabel dan grafik perbandingan antara data dan model (= hitung) sebagai fungsi T.
Sajikan juga nilai SSE dan coefficient of determination (R2) dari kasus ini.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-6
MODUL 5 – Curve-Fitting dan Interpolasi
Keterangan:
Secara umum, untuk sekumpulan data X (sebagai variabel bebas) dan Y (sebagai variabel
tak-bebas) sebanyak n buah pasangan data, besarnya coefficient of determination (R2)
adalah:
∑( )
= 1− = 1− ∑( )
∑
di mana: = =
Ymodel menyatakan nilai Y terhitung melalui model persamaan empirik terkait.
2. Nitrous anhydride (N2O5) dapat terurai secara homogen menjadi dinitrogen tetraoksida
(N2O4) dan oksigen melalui reaksi: N2O5 (g) N2O4 (g) + ½ O2 (g). Berikut adalah data
konsentrasi N2O5 (CA) versus waktu (t) untuk reaksi ini pada suhu 313,1 K dalam suatu
percobaan secara batch [dengan: CA0 = 0,1 gmol/L]:
Reaksi dipostulasikan mengikuti model kinetika berorde satu terhadap CA. Atau, jika
CA
digabungkan dengan persamaan neraca massa, akan diperoleh: ln k t
CA0
3. Dari suatu percobaan diperoleh hubungan antara tekanan uap (Pv) dan suhu (T) untuk
metanol sebagai berikut:
T (K) 320 340 360 380 400 420 440 460 480 500
Pv (kPa) 48,33 110,84 229,26 435,53 771,46 1288,9 2048,3 3117,6 4575,1 6530,5
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-7
MODUL 5 – Curve-Fitting dan Interpolasi
E n
Jika laju reaksi dianggap mempunyai bentuk: r k 0 exp C A
RT
dan R = 1,987 kal/gmol.K, perkirakan nilai-nilai parameter k0, E, dan n berdasarkan data yang
tersedia. (k0 ≡ faktor preeksponensial reaksi, E ≡ energi ak vasi reaksi, dan n ≡ orde reaksi).
Sajikan tabel perbandingan antara rdata dan r yang diperoleh dari persamaan (model).
Berapakah nilai SSE dan R2 pada kasus soal ini?
5. Sebuah reaksi heterogen mempunyai persamaan laju reaksi yang mengikuti model kinetika
k1 PA
Langmuir-Hinshelwood sebagai berikut: r
(1 K A PA KR PR )2
Gunakanlah semua data percobaan berikut ini, yang diukur pada suhu 400 K, untuk
memperkirakan besarnya nilai parameter k1, KA, dan KR.
PA 1 0,9 0,8 0,7 0,6 0,5 0,4
PR 0 0,1 0,2 0,3 0,4 0,5 0,6
5
r x 10 3,4 3,6 3,7 3,9 4,0 4,1 4,2
Berapakah nilai-nilai k1, KA, dan KR, serta SSE dan R2 dari kasus ini?
Sajikanlah tabel perbandingan antara data dengan model (hasil perhitungan).
6. Diketahui: f(x) = ln(x). Tentukanlah nilai ln(2) menggunakan interpolasi linier dan interpolasi
kuadrat, jika diketahui: ln(1) = 0; ln(4) = 1,386294; dan ln(6) = 1,791759.
Selanjutnya, bandingkanlah hasil-hasil yang diperoleh!
7. Diketahui data densitas () nitrogen pada berbagai suhu (T) sebagai berikut:
a. Buatlah grafik hubungan antara versus T berdasarkan semua data yang diketahui.
b. Tentukan densitas nitrogen pada suhu 330 K dengan interpolasi linier dan interpolasi
kuadrat, serta bandingkanlah hasil-hasilnya!
c. Lakukan juga interpolasi dengan menggunakan built-in function pada Scilab.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 V-8
MODUL 6
INTEGRASI NUMERIK
MODUL 6
INTEGRASI NUMERIK
6.1. Tujuan
Menyelesaikan integrasi (dalam bentuk persamaan dengan variabel tunggal) secara
numerik menggunakan trapezoidal rule dan Simpson’s 1/3 rule.
Membandingkan hasil-hasil integrasi yang diperoleh (dengan metode yang berbeda).
Menyelesaikan integrasi terhadap sekumpulan data (dalam bentuk tabel data).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VI-1
MODUL 6 – Integrasi Numerik
b a
Lebar segmen: h x
n
Jika formula trapezoidal rule tersebut di atas diterapkan untuk sejumlah n segmen (di mana
masing-masing segmen dianggap berupa trapesium), maka formula tersebut dinamakan
composite trapezoidal rule (atau: multiple-application trapezoidal rule) yang berbentuk:
b xn
I f (x) dx f (x) dx
a x0
x1 x2 xn
Dalam praktiknya, cara ini umum dilakukan untuk membuat hasil integrasi semakin baik. Jika
jumlah segmen n semakin besar (atau lebar segmen h semakin kecil), maka hasil integrasi akan
semakin baik.
Keterangan:
Konsep dasar metode composite trapezoidal rule ini dapat diterapkan secara umum untuk
menyelesaikan integral dengan lebar segmen yang tidak sama, misalnya: integrasi terhadap
sekumpulan data (yang disajikan dalam bentuk tabel data).
formula yang menggunakan pendekatan polinomial berorde dua (untuk menyatakan fungsi f(x)-
nya) sebagai berikut:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VI-2
MODUL 6 – Integrasi Numerik
x2 x2
(x x 1 ) (x x 2 ) (x x 0 ) (x x 2 )
I f(x) dx f(x 0 ) f(x 1 )
x0
(x x 1 ) (x 0 x 2 )
x0 0 (x1 x 0 ) (x 1 x2 )
(x x 0 ) (x x1 )
f (x2 ) dx
(x 2 x 0 ) (x2 x1 )
Setelah melalui proses integrasi dan manipulasi aljabar, maka diperoleh:
h
I f(x 0 ) 4 f(x1 ) f(x2 ) (formula Simpson’s 1/3 rule)
3
Dengan cara atau penjabaran yang sama, jika lebar integrasi dibagi menjadi sejumlah n
segmen (atau inkremen atau bagian), dari titik x = a (= x0) hingga x = b (= xn), maka diperoleh
formula composite Simpson’s 1/3 rule sebagai berikut:
xn x2 x4 xn
h h
I (f (x 0 ) 4 f(x 1 ) f (x 2 )) (f(x 2 ) 4 f(x 3 ) f (x 4 ))
3 3
h
... (f(x n2 ) 4 f(x n1 ) f(x n ))
3
n1 n2
h
sehingga: I f
0
3
(x ) 4 f (x i ) 2 f(x j ) f(x n )
i1 ,3 , 5 j2 ,4 , 6
di mana: n jumlah segmen [= 2, 4, 6, 8, …] berupa bilangan genap
h lebar segmen
f(x0) nilai fungsi f(x) pada batas bawah integrasi (x = x0 = a)
f(xn) nilai fungsi f(x) pada batas atas integrasi (x = xn = b)
f(xi) nilai fungsi f(x) pada variabel xi yang berada di antara x = x0 dan x = xn, dengan:
i = 1, 3, 5, …. (n-1)
f(xj) nilai fungsi f(x) pada variabel xj yang berada di antara x = x0 dan x = xn, dengan:
j = 2, 4, 6, …. (n-2)
Metode Simpson’s 1/3 rule mengevaluasi setiap tiga titik data [x, f(x)] (dengan kata lain,
metode ini mengevaluasi titik data pada setiap 2 segmen). Dengan demikian, jumlah segmen n
yang digunakan haruslah berupa bilangan genap. Jika n semakin besar (atau: h semakin kecil),
maka hasil integrasi akan semakin baik.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VI-3
MODUL 6 – Integrasi Numerik
2 ,5 z
z H
2. Gaya sebuah tiang perahu layar didefinisikan sebagai: f (z) 200 e
7z
di mana: z = elevasi di atas deck, dan H = ketinggian tiang.
H
Total gaya pada tiang dapat ditentukan dengan: F f(z) dz
0
z f(z) dz
0
serta jalur atau garis aksi tiang didefinisikan sebagai: d H
f(z) dz
0
(a) Gunakan composite trapezoidal rule untuk menghitung nilai F dan d untuk kasus:
H = 30, dengan mengambil: n = 6.
(b) Ulangi dengan menggunakan Simpson’s 1/3 rule dan nilai n yang berbeda-beda.
3. Debit fluida (Q) yang mengalir melalui sebuah pipa dapat dinyatakan dalam persamaan:
1
6
r
Q v dA di mana: dA 2 r dr dan: v k 1
r0
serta: k = 2,5; r0 = 7 cm; π = 3,14
Tentukan nilai Q (yang dihitung dari r = 0 (sumbu pipa) hingga r = r0 (dinding-dalam pipa)),
masing-masing dengan metode: trapezoidal rule dan Simpson’s 1/3 rule.
Ambillah beberapa nilai n yang berbeda. Bandingkanlah hasil-hasil yang diperoleh (dari
kedua metode tersebut). Sajikan hasil perhitungan dalam bentuk tabel.
4. Dalam sebuah batch reactor, waktu reaksi (t, dalam menit) dapat ditentukan dengan:
X A1
dX A 46500
t k 1 X di mana: k 2,14 x 10 7 exp [=] menit-1
X A0 A 8,314 T
H C A0
T T0 XA [=] K
Cp
Data: T0 = 288 [K]; H = – 209 [kJ/mol];
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VI-4
MODUL 6 – Integrasi Numerik
5. Pada suhu tetap, sebuah proses termodinamika mengukur perubahan tekanan terhadap
perubahan volume sistem, dan diperoleh data sebagai berikut:
Tekanan, P (kPa) 420 368 333 326 316 312 242 207
Volume, V (m3) 0,5 2 3 4 6 8 10 11
Hitunglah kerja (W) yang terlibat selama proses tersebut melalui integrasi secara numerik
(dengan metode composite trapezoidal rule, misalnya).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VI-5
MODUL 7
PERSAMAAN DIFERENSIAL BIASA DENGAN
PERSOALAN NILAI AWAL
MODUL 7
PERSAMAAN DIFERENSIAL BIASA DENGAN PERSOALAN NILAI AWAL
7.1. Tujuan
Menyelesaikan persamaan diferensial biasa (dengan persoalan nilai awal) menggunakan
metode Euler.
Menyelesaikan persamaan diferensial biasa (dengan persoalan nilai awal) menggunakan
metode Runge-Kutta orde 4.
Membandingkan hasil-hasil integrasi yang diperoleh (dengan metode yang berbeda).
Menerapkannya untuk kasus-kasus: persamaan tunggal, sistem persamaan simultan,
dan persamaan diferensial biasa berorde tinggi.
xi+1 = xi + x
yi+1 = yi + f(xi,yi).x
di mana: x = h merupakan step size (lebar langkah).
Dalam hal ini, besarnya step size (x = h) dapat ditentukan dengan:
x akhir x awal x x x x
x akhir awal n 0
jumlah langkah n n
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-1
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
Untuk sejumlah kasus tertentu, kelemahan metode ini adalah perhitungan yang tidak
stabil jika menggunakan x besar. Dengan kata lain, semakin kecil x mengakibatkan jumlah
langkah integrasi yang semakin banyak serta hasil perhitungan yang semakin stabil dan semakin
mendekati hasil yang sebenarnya (secara analitik).
Untuk sejumlah n buah PDB-IVP orde satu yang harus diselesaikan secara simultan, maka cara
yang sama (atau serupa) dapat ditempuh.
Misalkan, untuk sistem PDB-IVP orde satu dengan 2 (dua) buah persamaan berikut ini:
dy
f1 (x , y ,z)
dx
dz
dan f2 (x , y ,z)
dx
dengan nilai awal: x = x0; y = y0; z = z0
di mana x merupakan variabel bebas serta y dan z merupakan variabel tak-bebas dalam
persamaan. Dari nilai awal xi, yi, dan zi, maka nilai x, y, dan z selanjutnya dapat ditentukan dengan
cara: xi+1 = xi + x
yi+1 = yi + f1(xi,yi,zi).x
zi+1 = zi + f2(xi,yi,zi).x
di mana: x = h merupakan step size (lebar langkah).
Algoritma penyelesaian sistem PDB-IVP orde satu yang terdiri dari dua buah persamaan dengan
metode Euler eksplisit ditunjukkan dalam diagram alir pada Gambar 7.1.
Analog untuk sejumlah n buah PDB-IVP orde satu dengan variabel bebas x dan variabel
tak-bebas y1, y2, y3, …., yn berikut ini:
dy1
f1 (x , y1 , y 2 , y 3 ,....,yn )
dx
dy 2
f2 (x , y1 , y 2 , y 3 ,....,y n )
dx
dy 3
f3 (x , y 1 , y 2 , y 3 ,....,yn )
dx
…. dan seterusnya
dyn
hingga fn (x , y 1 , y 2 , y 3 ,....,yn )
dx
dengan nilai awal: x = xi; y1 = y1,i; y2 = y2,i; y3 = y3,i; ….. yn = yn,i
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-2
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
maka penyelesaian sistem PDB-IVP dengan metode Euler eksplisit dapat dituliskan sebagai:
xi+1 = xi + x
y1,i+1 = y1,i + f1(xi, y1,i, y2,i, y3,i, …., yn,i).x
y2,i+1 = y2,i + f2(xi, y1,i, y2,i, y3,i, …., yn,i).x
y3,i+1 = y3,i + f3(xi, y1,i, y2,i, y3,i, …., yn,i).x
….
yn,i+1 = yn,i + fn(xi, y1,i, y2,i, y3,i, …., yn,i).x
Metode Runge-Kutta (RK) yang paling populer atau umum digunakan dalam
penyelesaian PDB-IVP adalah metode Runge-Kutta berorde empat (RK-4). Metode Euler
sebenarnya merupakan metode RK berorde satu. One step methods lainnya meliputi metode
modified Euler (Heun), metode titik tengah (mid-point), dan sebagainya. Metode RK-4 ini
memberikan hasil penyelesaian yang lebih baik dibandingkan Euler eksplisit (yang hanya
menggunakan slope pada nilai awalnya).
xi+1 = xi + x
1
yi1 y i k1,i 2 k2 ,i 2 k3,i k 4,i x
6
di mana: x = h merupakan step size (lebar langkah).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-3
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
1 1
k 2 ,i f x i x , y i k1,i x (slope pada tengah interval)
2 2
1 1
k 3,i f x i x , yi k 2,i x (slope pada tengah interval)
2 2
k 4 ,i f x i x , y i k 3 ,i x (slope pada akhir interval)
Algoritma penyelesaian PDB-IVP orde satu (persamaan tunggal) dengan metode RK-4
disajikan pada Gambar 7.2.
Misalkan, untuk sistem PDB-IVP orde satu dengan 2 (dua) buah persamaan [dengan variabel
bebas x serta variabel tak-bebas y dan z] berikut ini:
dy
f1 (x , y ,z)
dx
dz
dan f2 (x , y ,z)
dx
dengan nilai awal: x = x0; y = y0; z = z0
Dari nilai awal xi, yi, dan zi, maka nilai x, y, dan z selanjutnya dapat ditentukan dengan cara:
xi+1 = xi + x
1
yi1 y i k1,i 2 k2 ,i 2 k3,i k 4,i x
6
1
zi1 zi l1,i 2 l2 ,i 2 l3,i l4,i x
6
di mana: x = h merupakan step size (lebar langkah).
k 1 ,i f1 (x i , y i , z i )
l1 ,i f2 (x i , y i , z i )
1 1 1
k 2 ,i f1 x i x , y i k1,i x , zi l1 ,i x
2 2 2
1 1 1
l2 ,i f2 x i x , y i k 1,i x , zi l1,i x
2 2 2
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-4
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
1 1 1
k 3,i f1 x i x , y i k 2 ,i x , zi l2 ,i x
2 2 2
1 1 1
l3,i f2 x i x , yi k 2 ,i x , zi l2,i x
2 2 2
k 4 ,i f1 x i x , y i k 3 ,i x , z i l3 ,i x
l4 ,i f2 xi x , y i k 3 ,i x , zi l3 ,i x
Algoritma penyelesaian sistem PDB-IVP orde satu yang terdiri dari dua buah persamaan dengan
metode RK-4 disajikan pada Gambar 7.3.
Untuk sejumlah n buah PDB-IVP orde satu yang harus diselesaikan secara simultan
dengan metode RK-4, maka cara yang serupa dengan langkah-langkah tersebut di atas dapat
ditempuh.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-5
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
MULAI
NILAI AWAL:
yi = y0 & zi = z0 ;
xi = x0 = x awal
xn = x akhir
n = jumlah segmen (langkah)
∆x = h = (xn – x0)/n
xi+1 = xi + x
xi = xakhir yi+1 = yi + f1(xi,yi,zi).x
yi = yakhir
zi+1 = zi + f2(xi,yi,zi).x
zi = zakhir
xakhir = xi+1
yakhir = yi+1
zakhir = zi+1
tidak
xakhir > xn
ya
TULIS
yakhir
zakhir
SELESAI
Gambar 7.1. Diagram alir penyelesaian sistem PDB-IVP orde satu yang terdiri dari dua buah
persamaan dengan metode Euler
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-6
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
Gambar 7.2. Penyelesaian PDB-IVP orde satu (persamaan tunggal) dengan metode RK-4
Gambar 7.3. Penyelesaian sistem PDB-IVP orde satu yang terdiri dari dua buah persamaan
dengan metode RK-4
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-7
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
Bandingkanlah penggunaan metode Euler dan metode RK-4. Bandingkan juga dengan hasil
penyelesaian secara analitik (eksak). Sajikanlah hasil-hasil perhitungan (yang Anda peroleh)
dalam bentuk tabel dan grafik.
2. Reaksi fasa cair: A P dilangsungkan dalam reaktor tangki berpengaduk dengan mode
operasi semi batch. Profil mol A (nA) sebagai fungsi waktu (t) dinyatakan dalam persamaan:
dnA k nA 2
q0 C A 0 dengan: nA = 0 pada t = 0.
dt q0 t V0
Diketahui: CA0 = 1 molar; k = 0,1 molar-1.detik-1; q0 = 10 liter.detik-1; V0 = 50 liter
Selesaikan persamaan diferensial ini hingga t = 100 detik, untuk mengetahui unjuk kerja
reaktor. Bandingkan penggunaan metode Euler dan metode RK-4. Sajikanlah hasil
perhitungan dalam bentuk tabel dan grafik.
dz/dx = (1/2) y z2
Tentukanlah nilai y dan z pada x = 1, jika diambil step size sebesar x = 0,1.
Kondisi awal: y(0) = 2 dan z(0) = 4. Bandingkan hasil perhitungan antara metode Euler dan
metode RK-4. Gunakanlah beberapa step size yang berbeda.
4. Reaksi konsekutif (= seri) orde satu: A B C dilaksanakan di dalam reaktor batch secara
isotermal dalam waktu 60 menit. Dari neraca massa diperoleh:
dCA
k1CA
dt
dCB
k 1C A k 2CB
dt
E1 E2
RT RT
di mana: k 1 A 1e dan k 2 A 2e
Jika reaktor beroperasi pada suhu 370 K, tentukan konsentrasi A (CA) dan B (CB) pada waktu
t = 60 menit. Gambarkanlah grafik hubungan antara CA dan CB terhadap waktu (t)!
Diketahui: A1 = 0,145 menit–1; A2 = 0,05 menit–1;
E1 = 1167,8 kal/mol; E2 = 1580,8 kal/mol
R = 1,987 kal/(mol.K); CA0 = 2 gmol/l; CB0 = 0
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-8
MODUL 7 – Persamaan Diferensial Biasa dengan Persoalan Nilai Awal
Bandingkan penggunaan metode Euler dan metode RK-4. Sajikanlah hasil-hasil perhitungan
(yang Anda peroleh) dalam bentuk tabel dan grafik.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VII-9
MODUL 8
APLIKASI FINITE-DIFFERENCE UNTUK
MENYELESAIKAN PERSAMAAN DIFERENSIAL
DENGAN PERSOALAN NILAI BATAS
MODUL 8
APLIKASI FINITE-DIFFERENCE UNTUK MENYELESAIKAN PERSAMAAN
DIFERENSIAL DENGAN PERSOALAN NILAI BATAS
8.1. Tujuan
Menerapkan penggunaan finite-(divided)-difference untuk menyelesaikan persamaan
diferensial biasa dengan persoalan nilai batas (boundary value problem, BVP).
Menerapkan penggunaan finite-(divided)-difference untuk menyelesaikan persamaan
diferensial parsial tipe-parabolik dengan persoalan nilai batas (boundary value problem,
BVP).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-1
MODUL 8 – Aplikasi Finite-Difference untuk Menyelesaikan Persamaan
Diferensial dengan Persoalan Nilai Batas
Di dalam sebuah tube (dengan panjang 4 cm) senyawa A terdifusi (yang disertai dengan
reaksi kimia). Profil konsentrasi A (A) di sepanjang tube (x) dapat dinyatakan dalam
d2 A
persamaan diferensial: D k A 0
dx2
Salah satu ujung tube terhubung dengan tangki yang berisi A (dengan konsentrasi yang
sangat besar dan dapat dianggap tetap, yaitu 0,1 M). Salah satu ujung lainnya terhubung
dengan wadah berisi adsorben yang mengabsorpsi A dengan sangat cepat (sehingga
mengakibatkan konsentrasinya menjadi 0 M).
Jika: D = 1,5 x 10-6 cm2/detik dan k = 5 x 10-6 detik-1, berapakah konsentrasi A di
sepanjang tube?
Turunan pada persamaan (1.1) dapat dinyatakan melalui pendekatan terpusat (centered finite-
d2 A A i1 2 Ai Ai1
difference) sebagai berikut: … (1.2)
dx2 x 2
L0
dengan: lebar inkremen x sebesar: x dan n [=] jumlah inkremen x.
n
Substitusikan (1.2) ke (1.1) sehingga diperoleh profil konsentrasi A sepanjang tube (Ai) sebagai
Ai1 2 Ai Ai1
berikut: D k Ai 0
x 2
D 2D D … (1.3)
A i1 k A i A 0
x 2
x
2
x 2 i1
dengan: i = 1, 2, …, n-1
Jika i = 1, maka: D 2D D
2 A2
2 k
A1 A 0
x x x 2 0
dengan: A0 = 0,1 (sesuai dengan BC-1)
Jika i = 2, maka: D 2D D
A 3 2 k
A2 x 2 A 1 0
x 2 x
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-2
MODUL 8 – Aplikasi Finite-Difference untuk Menyelesaikan Persamaan
Diferensial dengan Persoalan Nilai Batas
Misal, tube sepanjang L dibagi menjadi 10 bagian/ inkremen/ segmen (n = 10), maka:
L 4 cm
x 0,4 cm
10 10
Dengan demikian, nilai-nilai A1, A2, A3, … A9 dapat ditentukan secara simultan (serempak)
berdasarkan sistem persamaan aljabar linier sebagai berikut:
2D D
2
k 0 0 0 0 0 0 0
x x 2
A D
D 2D D A0
2
2
k 0 0 0 0 0 0 1 x 2
x x x 2 A 2 0
D 2D D
0 2
2
k 0 0 0 0 0 A 3 0
x x x 2 A 4 0
...
... A 5 0
A 0
... 6
A 7 0
... A
D 2D D 8 0
0 0 0 0 0 0 k A 9 D A 10
x 2 x
2
x 2
x 2
D 2D
0 0 0 0 0 0 0 2
2
k
x x
… (1.4)
Berdasarkan nilai D, k, dan x tersebut di atas, dalam hal ini:
D 1,5 x 106
2 2 9,375 x 106
x 0,4
2D 2 x 1,5 x 106
2
k 2
5 x 106 2,375 x 105
x 0,4
8.2.2. Contoh Kasus-2: Penerapan Metode Eksplisit dan Implisit untuk Menyelesaikan
Persamaan Diferensial Parsial Dua-Dimensi (Dua-Variabel) dengan Tipe Parabolik
Y 2 Y Y
Tinjaulah persamaan diferensial: … (2.1)
t x 2 x
dengan: Y (x,0) = 1 (sebagai nilai awal (initial condition), IC)
Y (0,t) = 1 (sebagai nilai batas (boundary condition), BC-1)
Y (1,t) = 2 (sebagai nilai batas (boundary condition), BC-2)
Tentukan nilai: Y (x; 0,1)
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-3
MODUL 8 – Aplikasi Finite-Difference untuk Menyelesaikan Persamaan
Diferensial dengan Persoalan Nilai Batas
Berdasarkan persamaan (2.1), jarak x dan waktu t merupakan variabel bebas (independent
variable) dalam kasus ini, sedangkan Y merupakan variabel tak-bebas (dependent variable).
Dimisalkan: Indeks i untuk menyatakan variabel x dan indeks j untuk variabel t.
Y Yi1, j Yi 1, j
… (2.3, centered difference)
x i, j 2 x
2Y Yi 1, j 2 Yi , j Yi 1, j
… (2.4, centered difference)
x 2 i, j
( x ) 2
Substitusikan (2.2), (2.3), dan (2.4) ke dalam persamaan diferensial semula (persamaan (2.1)):
t t 2 t t t
Yi , j 1 2
Yi 1, j 1 Y
2 i, j 2
Yi 1, j … (2.5)
( x ) 2 x ( x ) ( x ) 2 x
Persamaan (2.5) merupakan formula eksplisit hasil penjabaran untuk kasus ini.
Y Yi1, j 1 Yi 1, j 1
… (2.7, centered difference)
x i , j 1 2 x
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-4
MODUL 8 – Aplikasi Finite-Difference untuk Menyelesaikan Persamaan
Diferensial dengan Persoalan Nilai Batas
2Y Yi 1, j 1 2 Yi , j 1 Yi 1, j 1
… (2.8, centered difference)
x 2 i , j 1
( x ) 2
Substitusikan (2.6), (2.7), dan (2.8) ke dalam persamaan diferensial semula (persamaan (2.1)):
sehingga diperoleh:
t t 2 t t t
Yi 1, j 1 1 Y
2 i , j 1
Yi1, j 1 Yi , j … (2.9)
( x)
2
2 x ( x ) ( x)
2
2 x
Persamaan (2.9) merupakan formula implisit hasil penjabaran untuk kasus ini. Dalam hal ini,
Yi+1,j+1, Yi,j+1, dan Yi-1,j+1 hanya dapat ditentukan melalui perhitungan secara simultan (serempak/
bersamaan).
KETERANGAN:
Selain menggunakan metode eksplisit (yang penyelesaiannya bersifat less stable dan less
accurate) dan metode implisit (yang more stable dan less accurate), persamaan diferensial
parsial tipe parabolik ini juga dapat diselesaikan dengan metode Crank-Nicolson (yang bersifat
more stable dan more accurate, dengan menggunakan pendekatan pada titik acuan: i,j+1/2).
Dengan metode Crank-Nicolson, turunan pada persamaan (2.1) didekati melalui bentuk:
, ,
= … (2.10, centered difference)
, /
, / , /
= … (2.11, centered difference)
, /
, / , / , /
= … (2.12, centered difference)
, / ( )
, ,
di mana: , / = … (2.13)
, ,
, / = … (2.14)
, ,
, / = … (2.15)
Persamaan (2.10), (2.11), (2.12), (2.13), (2.14), dan (2.15) disubstitusikan ke persamaan (2.1),
diproses lebih lanjut secara aljabar sehingga diperoleh sistem persamaan aljabar yang kemudian
dapat diselesaikan secara simultan (untuk memperoleh nilai-nilai: Yi+1,j+1, Yi,j+1, dan Yi-1,j+1).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-5
MODUL 8 – Aplikasi Finite-Difference untuk Menyelesaikan Persamaan
Diferensial dengan Persoalan Nilai Batas
3. Selesaikan Contoh Kasus-2 (pada subbab 8.2.2. tersebut di atas), misalnya: dengan
mengambil masing-masing 8 inkremen (untuk variabel bebas x) dan 10 inkremen (untuk
variabel bebas t).
(a) Gunakan metode eksplisit.
(b) Gunakan metode implisit sederhana.
(c) Silakan dicoba-selesaikan dengan metode Crank-Nicolson.
(d) Bandingkanlah hasil-hasil yang Anda peroleh (dengan menyajikannya dalam bentuk
tabel hasil perhitungan dan juga grafik).
4. Profil konsentrasi suatu zat (C) sebagai fungsi jarak (z) dan waktu (t) dalam suatu vessel
dapat dinyatakan dalam persamaan diferensial parsial:
= 125 − 2 − 0,15
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 VIII-6
MODUL 9
OPTIMASI SATU VARIABEL
MODUL 9
OPTIMASI SATU VARIABEL
9.1. Tujuan
Menentukan nilai variabel optimum agar menghasilkan fungsi maksimum atau
minimum dengan metode golden section dan metode Newton pada suatu persamaan
dengan variabel tunggal.
Membandingkan hasil-hasil optimasi yang diperoleh (dengan metode yang berbeda).
Optimasi merupakan proses untuk mencari atau menentukan nilai variabel optimum
agar diperoleh fungsi maksimum atau minimum. Fungsi yang akan dibuat maksimum atau
minimum disebut fungsi obyektif (objective function). Secara umum, jika Y didefinisikan sebagai
berikut:
Y = f(X)
maka pada X tertentu (Xopt = Xoptimum) akan diperoleh Y maksimum atau Y minimum.
Metode golden section dapat digunakan untuk melakukan optimasi variabel tunggal, di
mana metode ini tergolong sebagai metode pengurung (dan non-gradient method) yang
mensyaratkan bahwa fungsi obyektifnya harus bersifat “unimodal” dalam rentang variabel yang
ditinjau. Pertama, kita harus menentukan rentang variabel: XL (Xlow) dan XH (Xhigh), di mana Xopt
berada di antara XL dan XH. Selanjutnya, tentukanlah dua titik baru (yaitu X1 dan X2, yang
keduanya berada di dalam rentang antara XL dan XH) untuk mengeliminasi sebagian interval.
X2 = XL + G( XH XL) Y2 = f(X2)
5 1
dengan: G = = 0,618034 angka emas (golden number).
2
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-1
MODUL 9 – Optimasi Satu Variabel
Perhitungan dihentikan jika (misalnya): abs( XH XL) < toleransi yang ditetapkan,
XL XH
dan diperoleh nilai variabel optimumnya sebesar: Xopt =
2
Perhitungan dihentikan jika (misalnya): abs(XH XL) < toleransi yang ditetapkan,
XL XH
dan diperoleh nilai variabel optimumnya sebesar: Xopt =
2
Algoritma proses optimasi variabel tunggal dengan metode golden section untuk kasus minimasi
ditunjukkan dalam diagram alir pada Gambar 9.1. Metode golden section untuk kasus
maksimasi dapat dilakukan dengan prosedur yang serupa.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-2
MODUL 9 – Optimasi Satu Variabel
MULAI
Tentukan
XL , XH , dan tol
G = (-1 + 5)/2
X1 = XL + (1 G)( XH XL) Y1 = f(X1)
X2 = XL + G(XH XL) Y2 = f(X2)
XL YL= f(XL)
XH YH = f(XH)
ya tidak
abs( XH XL) < tol ?
TULIS
Xopt dan Yopt XL = X1 ; YL = Y1 XH = X2 ; YH = Y2
X1 = X2 ; Y1 = Y2 X2 = X1 ; Y2 = Y1
X2 = XL + G(XH XL) X1 = XL + (1 G)(XH XL)
Y2 = f(X2) Y1 = f(X1)
SELESAI
Keterangan:
Pendefinisian error yang berupa abs(XH - XL) dapat juga disajikan dalam bentuk
lain, misalnya approximate error (ea).
Gambar 9.1. Diagram alir prosedur optimasi variabel tunggal dengan metode golden section
(obyektif: minimasi f(X))
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-3
MODUL 9 – Optimasi Satu Variabel
Metode Newton untuk optimasi variabel tunggal dikategorikan sebagai metode terbuka
(dan merupakan gradient method) yang algoritmanya mirip dengan metode Newton-Raphson
untuk pencarian akar persamaan tak-linier tunggal. Dalam hal ini, fungsi Y = f(X) akan bernilai
maksimum atau minimum jika:
fungsi turunan pertamanya bernilai nol, atau: f’(X) = 0
Di sisi lain, ditinjau dari nilai fungsi turunan keduanya, fungsi Y = f(X) akan bernilai:
maksimum jika: f’’(X) < 0 (atau bernilai negatif), dan
minimum jika: f’’(X) > 0 (atau bernilai positif).
f'(X i )
Secara iteratif, nilai X optimum dapat ditentukan melalui: X i1 Xi
f''(Xi )
Proses iterasi dapat dihentikan jika error yang diperoleh sudah tidak melebihi batasan nilai
toleransi yang telah ditentukan. Dalam hal ini, nilai fungsi turunan pertama dan kedua (f’(X) dan
f’’(X)) dapat ditentukan secara analitik (jika memungkinkan) ataupun numerik (melalui
pendekatan finite-divided difference).
Adapun algoritma penentuan X optimum dengan metode Newton dapat dirinci melalui
langkah-langkah berikut ini:
1. Mulai
2. Ambil: tebakan awal Xi, nilai toleransi ‘tol’, nilai awal ‘beda’
3. Lakukan secara berulang-ulang (dalam loop) hingga diperoleh: beda < tol
Hitung nilai : f(Xi), f’(Xi), f’’(Xi)
Hitung nilai X selanjutnya : Xi+1
Dengan demikian, nilai X optimum dan f(X) maksimum atau minimum dapat diperoleh. Untuk
melakukan pengecekan (terhadap kriteria kasus optimasi yang dijumpai), maka nilai-nilai f’(X)
dan f’’(X) dapat ikut serta disajikan dalam hasil-hasil perhitungan secara iteratif.
Sebagai review, berikut ini disajikan contoh-contoh sederhana dari perumusan fungsi
turunan pertama dan kedua untuk persamaan dengan variabel tunggal melalui pendekatan
finite-divided difference (atau diferensiasi secara numerik).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-4
MODUL 9 – Optimasi Satu Variabel
x2
2. Tentukan nilai x optimum yang memaksimumkan fungsi: f(x) 2 sin(x)
10
di dalam interval: x = 0 dan x = 4,5. Selesaikan dengan metode golden section dan
metode Newton, serta bandingkan hasil-hasilnya. Sajikanlah hasil-hasil iterasinya
dalam bentuk tabel. Perlihatkanlah bahwa fungsi ini bersifat unimodal.
3. A will be converted into B in a stirred tank reactor. The product B and un-reacted A are
purified in a separation unit. Un-reacted A is recycled to the reactor. A process engineer
has found that the initial cost of the system is a function of the conversion, xA. Find the
conversion that will result in the lowest cost system. C is a proportionality constant.
0 ,6 0 ,6
1 1
Cost C 5
2
1 x A x A
Selesaikanlah dengan metode golden section dan metode Newton.
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-5
MODUL 9 – Optimasi Satu Variabel
E1 E 2
RT RT
di mana: k 1 A 1e dan k 2 A 2e
n
SSE (C A0 e k t i C Ai )2 f ( k ) minimum
i 1
(a) Lakukan proses optimasi dengan metode golden section dan metode Newton.
(b) Sajikanlah hasil-hasil iterasinya dalam bentuk tabel.
(c) Selanjutnya, plotkan grafik CA versus t (antara data dengan hasil optimasi).
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 IX-6
MODUL 10
OPTIMASI MULTI VARIABEL
MODUL 10
OPTIMASI MULTI VARIABEL
10.1. Tujuan
Tahap Eksplorasi
Tahapan ini dimulai dengan menebak nilai variabel X1, X2, … ,Xn dan menghitung nilai Yopt
= Y sebagai acuan nilai optimum awal. Kemudian, variabel X1 ditambahkan atau dikurangkan
dengan suatu bilangan kecil (delta variabel), dan variabel X2, … ,Xn tetap.
Jika input yang baru: X1 = X1 + dX1 menghasilkan Y < Yopt maka eksplorasi dinyatakan
SUKSES, dan kesuksesan ini ditandai dengan suatu variabel “tanda”, tanda1 = +1;
Namun jika input yang baru: X1 = X1 + dX1 menghasilkan Y > Yopt maka eksplorasi
dinyatakan TIDAK SUKSES, dan mencoba input yang baru: X1 = X1 – dX1, jika
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-1
MODUL 10 – Optimasi Multi Variabel
menghasilkan Y < Yopt maka eksplorasi dinyatakan SUKSES, dan kesuksesan ini ditandai
dengan suatu variabel tanda1 = –1;
Jika dengan menginputkan: X1 = X1 + dX1 maupun X1 = X1 – dX1 diperoleh hasil eksplorasi
yang keduanya sama-sama TIDAK SUKSES, maka hal ini berarti bahwa: tanda1 = 0.
Karena Y < Yopt, maka nilai Yopt diperbarui menjadi: Yopt = Y dan X1opt = X1.
Ulangi langkah-langkah tersebut di atas untuk variabel input yang lainnya (X2, … ,Xn). Dalam hal
ini, eksplorasi suatu variabel X dilakukan pada nilai variabel-variabel X lainnya yang tetap.
Prosedur optimasi multi variabel dengan metode Hooke-Jeeves untuk kasus minimasi disajikan
dalam diagram alir pada Gambar 10.1.
Jeeves. Namun demikian, fungsi obyektif yang digunakan sebagai acuan dibalik, yaitu: Y > Yopt.
Kriteria SUKSES pada kasus maksimasi ditunjukkan melalui nilai Y yang selalu bertambah (lebih
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-2
MODUL 10 – Optimasi Multi Variabel
MULAI
Tentukan
X1 , X2 , … , Xn
dX1, dX2, …, dXn
tol1, tol2, …, toln dan rasio
Tahap Eksplorasi
(menambah/ mengurangkan Xi
dengan dXi)
tidak
ya
TULIS
X1opt , X2opt , … , Xnopt
Yopt
SELESAI
Gambar 10.1. Diagram alir prosedur optimasi multi variabel dengan metode Hooke-Jeeves
(obyektif: minimasi f(X))
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-3
MODUL 10 – Optimasi Multi Variabel
Sebagai ilustrasi, untuk sebuah fungsi multi-variabel (misalnya berupa 2 buah variabel bebas):
f(x,y) yang ingin di-MAKSIMUM-kan atau ingin di-MINIMUM-kan (yaitu: untuk menentukan
nilai-nilai variabel: xoptimum dan yoptimum), maka:
konsep dasar metode ini adalah:
“Mengubah multi-dimensional function: f(x,y) menjadi one-dimensional function: F = g(h)”
Nilai: F = g(h) akan mencapai MAKSIMUM atau MINIMUM, jika: g’(h) = 0
Selanjutnya, akan diperoleh nilai h yang memenuhi: g’(h) = 0.
Contoh Algoritma:
1. Mulai
2. Ambil nilai tebakan awal: x, y, h
3. Ambil nilai-nilai delta (untuk menentukan turunan secara numerik): x, y, h
4. Ambil nilai-nilai awal untuk melakukan iterasi: iter = 0; beda = 1; tol
5. Melakukan iterasi (proses perhitungan secara berulang-ulang):
a. Menghitung nilai fungsi: f(x,y)
b. Menghitung nilai-nilai turunan parsial fungsi: f/x, f/y
c. Menghitung nilai h: (Mengubah fungsi f(x,y) menjadi: F = g(h), dan
kemudian membuat: g’(h) = 0)
xb = x + f/x . h
yb = y + f/y . h
Menghitung nilai: f(xb,yb) = F = g(h)
Membentuk fungsi baru, yaitu: g’(h) = dF (yang akan di-NOL-kan)
Menghitung nilai hbaru (misal, dengan metode: Newton-Raphson):
g' (h) dF
hbaru h h
g' ' (h) dF '
Mengembalikan atau memperbarui nilai h: h = hbaru
f
d. Menghitung nilai xbaru dan ybaru: x baru x h
x
f
y baru y h
y
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-4
MODUL 10 – Optimasi Multi Variabel
x baru x
beda1 x 100%
x baru
y baru y
beda2 x 100%
y baru
beda1 beda2
beda
2
f. Memperbarui nilai-nilai x dan y: x = xbaru
y = ybaru
6. Jika nilai: beda > tol, maka: kembali ke langkah (5).
Jika: “tidak”, maka: proses iterasi selesai.
7. Diperoleh nilai: x, y (sebagai hasil akhirnya)
8. Selesai
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-5
MODUL 10 – Optimasi Multi Variabel
4. Hubungan antara tekanan uap murni suatu cairan (Po, cm Hg) dengan suhu mutlak (T, K)
B
didekati dengan persamaan Clausius-Clapeyron: P o exp A
T
Jika tersedia data sebagai berikut:
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-6
MODUL 10 – Optimasi Multi Variabel
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 X-7
DAFTAR PUSTAKA dan
TENTANG PENULIS
DAFTAR PUSTAKA
1. Chapra, Steven C. and Canale, Raymond P., 2015, “Numerical Methods for Engineers”,
7th ed., New York: McGraw-Hill Education.
2. Chapra, S. C. and Canale, R. P., 2009, “Numerical Methods for Engineers”, 6th ed., New
York: McGraw-Hill Book, Inc.
3. Chapra, S. C., 2005, “Applied Numerical Methods with Matlab for Engineers and
Scientists”, Singapore: McGraw-Hill, Inc.
4. Chapra, S. C. and Canale, R. P., 2003, “Numerical Methods for Engineers: With Software
and Programming Applications”, 4th ed., New York: McGraw-Hill Book, Inc.
5. Davis, M. E., 1984, “Numerical Methods and Modeling for Chemical Engineers”, New
York: John Wiley & Sons, Inc., USA.
6. Raman, R., 1985, “Chemical Process Computations”, London and New York: Elsevier
Applied Science Publishers.
7. Riggs, James B., 1988, “An Introduction to Numerical Methods for Chemical Engineers”,
Texas: Tech. University Press.
8. Ramirez, W. Fred, 1997, “Computational Methods for Process Simulation”, 2nd Edition,
Oxford: Reed Educational and Professional Publishing Ltd.
10. Tjukup Marnoto, 2010, “Analisa Numerik dan Pemrograman dengan Bahasa Scilab”,
Yogyakarta: Wimaya Press.
11. Wahyudi Budi Sediawan & Agus Prasetya, 1997, “Pemodelan Matematis dan
Penyelesaian Numeris dalam Teknik Kimia”, Yogyakarta: Penerbit Andi.
12. http://www.scilab.org
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 DP-1
TENTANG PENULIS
TENTANG PENULIS
Modul Praktikum Analisis Numerik dan Pemrograman (121210281)/ Juli 2022 TP-1