Dosen Pengampu
(11/316291/PA/13777)
BAB I
DASAR TEORI
1.1 Pengenalan Software Scilab
SciLab merupakan salah satu perangkat lunak yang dikembangkan untuk
komputasi numerik dan visualisasi data. Kelebihan dari SciLab yaitu freeware dan
tersedia untuk berbagai sistem operasi seperti Windows, Linux, dll. Secara umum,
SciLab terdiri dari dua jendela utama, yaitu Console dan SciPad. Console adalah jendela
untuk menjalankan perintah komputasi, sedangkan SciPad adalah jendela untuk
menuliskan kode program serta fungsi-fungsi yang akan dijalankan di console.
Cara mengoperasikan Software SciLab sebagai berikut :
1. Klik ganda pada ikon SciLab yang terdapat pada Desktop atau SciLab dapat dijalankan dari
menu start > SciLab.X , dimana X adalah versi dari Scilab.
2. Setelah dijalankan perintah tersebut maka akan muncul jendela SciLab (console) seperti
gambar berikut :
SciLab
siap
untuk
3. Untuk menuliskan kode program serta fungsi-fungsi yang akan dijalankan di Console, buka
jendela Scipad dalam hal ini adalah SciNotes dengan cara klik icon
applications > SciNotes. Berikut adalah gambar SciNotes
Variabel adalah nama yang digunakan untuk menyimpan nilai suatu obyek. Nama
ini bersifat sensitif, penulisan huruf besar dan kecil dikenali sebagai dua buah variabel
yang berbeda. Ekspresi matematika yang dituliskan akan ditampilkan pada baris
selanjutnya, kecuali pada akhir ekspresi tersebut dituliskan tanda titik koma (;) , jika
tidak cukup dituliskan dalam satu baris, maka dapat digunakan tanda titik tiga (...) pada
akhir ekspresi. Untuk menambahkan komentar dapat digunakan tanda garis miring (//).
Contoh :
-- > r = 5
r =
5.
-- > // r adalah jari-jari lingkaran
-- > K = 2*%pi*r //keliling lingkaran
K=
31.415927
SciLab menyediakan kontrol pemrograman yang dapat digunakan untuk mengatur
jalannya eksekusi program dengan menggunakan statemen perulangan dan kondisional.
1. Mendefinisikan nilai variabel dalam jendela Console
Contoh :
Ketikkan :
--> a=81
Lalu enter akan muncul :
a =
81.
2. Input data dalam jendela SciNotes
Contoh :
Misal akan didefinisikan variabel x, dengan nilai x dapat diinput lewat jendela
Console , maka pada SciNotes dapat dituliskan :
x = input ( Masukkan variabel x : );
n2 =
4.
6. Statement Perulangan (for dan while)
Untuk melakukan perulangan terhadap suatu variabel i, dapat digunakan syntax for
dan while yang selalu diakhiri dengan end.
Contoh :
i=1
function coba;
while i<=3
disp(i);
i=i+1;
end;
endfunction;
outputnya adalah
-->coba
1.
2.
3.
( )
Metode trapesium merupakan metode dengan mengganti kurva lengkung dari fungsi f
dengan garis lurus.
= ( ) dengan
akan
( )+ ( )
jadi
( )
( )
( )
( )
( )
( )
( )
=
=
( )
( )+ ( ) +
( )+2 ( )+ ( )
= ( )
, dengan =
( )+ ( )
maka
Pada metode Simpson 1/3 digunakan polinomial derajat dua (persamaan parabola) untuk
mendekati fungsi yang diberikan , atau :
( )
( )
( )
= +
(0,
(,
= + +
Selanjutnya,
= ( )
= + ( )
= 2
+ )
(2 + 6 )
3
= ( 2 + + 6 )
3
= ( + 4 + )
3
= ( )
=
( )
( )
( )
( )
maka :
( ( ) + 4 ( ) + ( )) + ( ( ) + 4 ( ) + ( ))
3
3
= ( ( ) + 4 ( ) + 2 ( ) + 4 ( ) + ( ))
3
Syntax untuk Metode Simpson 1/3
=
( ) disekitar
adalah
( )= ( )+(
untuk
(
) ( )+
[ ,
+ ) = ( ) + ( ) +
atau
( )=
"( )
( + ) ( )
( ( ))
()
( )
( ) disekitar
adalah
( )= ( )+(
untuk
(
atau
) ( )+
[ ,
) = ( ) ( ) +
( )=
( ) ( )
( ( ))
()
+ ) ( )
( ) ( ) (
( )
+ ) (
, ( ) ,
<
<
( )=
, ( )
+=
+ 2
( + ) ( )
diperoleh :
( + ) ( ) = ( )
( + ) = ( ) + ( )
karena
<
<
(
)+ (
)= (
)+ (
, (
))
+ (
, ( ) ,
dengan ( ) =
( )+ ( )
=
kemudian diambil
( , ( ))
( )
) (
misal (
didapat :
) (
=
, =
)+ (
)+ (
,
(
)=
didapat :
)+ (
dan (
,
)+ (
) (
)
)=
( , )+ (
,
2
dengan metode euler untuk
didapat :
)+ (
1
(
2
+ ( 1 + 2)
,
+ (
)+ (
dengan 1 = (
+ (
) dan 2 =
))
,
))
+ (
BAB II
RUMUSAN MASALAH
Kerjakan secara manual dan program
1. Kinerja sebuah reaktor batch nonisotermal dapat digambarkan melalui dua persamaan
berikut :
10
+ 273
= exp
= 1000 exp
Dengan
10
+ 273
10 ( 20)
dalam reaktor (dalam ) pada setiap saat t (dalam jam). Kondisi awal sistem reaksi ini
(pada t=0) :
= 1
dan
= 30 . Berapakah
dan
pada t = 1 jam
dengan h = 0,2 ?
Gunakan Metode Euler untuk menyelesaikan persamaan tersebut.
2. Persamaan van der Pol yang merupakan salah satu model rangkaian listrik vacum tubes
dinyatakan sebagai :
=
1,5
+2
+ 20
Tentukan jumlah populasi bakteri di dalam Chemostat tersebut pada hari ke 6 dengan
menggunakan
a. Aturan Trapesium (subinterval 6) dan tentukan errornya
b. Aturan Simpson 1/3 (subinterval 6) dan tentukan errornya
Lalu, bandingkan hasil yang diperoleh dari perhitungan dengan menggunakan aturan
Trapesium dan aturan Simpson 1/3
4. Seorang pengusaha Burjo, Budi, mengalami kesulitan karena penghasilan yang diperoleh
tidak selalu sama tiap bulannya. Lalu, Budi pun meminta tolong kepada seorang ahli
Matematikawan untuk merumuskan persamaan atas penghasilan yang diperoleh tiap
bulannya. Ahli tersebut menemukan bahwa penghasilan yang diperoleh tiap bulan ke x
memenuhi persamaan berikut :
( )=4
Tentukan
+3 +2
a. Diferensiasi maju
b. Diferensiasi mundur
c. Diferensiasi pusat
BAB III
PEMBAHASAN
1. Diketahui kinerja sebuah reaktor batch nonisotermal dapat digambarkan melalui dua
persamaan berikut:
10
+ 273
= exp
= 1000 exp
10
+ 273
10 ( 20)
Keterangan :
: konsentrasi reaktan (gmol/L)
T : suhu di dalam reaktor () pada setiap saat t (jam).
Kondisi awal sistem reaksi ini (pada = 0) :
akan dicari nilai
dan
pada = 1
= 1
dan
dengan = 0,2
Manual
Diketahui
(
, )=
, )=
10
+ 273
10
= 1000 exp
+ 273
= exp
pada = 0
(0) =
= 1
10 ( 20)
dan (0) =
= 30
Iterasi 1
(0,2)
+ (
+ exp
= 1 + 0,2 exp
10
1
30 + 273
= 0,806492927
(0,2)
+ (
+ 1000 exp
10
+ 273
10 (
20)
10
1 10 (30 20)
30 + 273
= 30
Iterasi 2
(0,4)
+ (
+ exp
10
0,806492927
203,5070733 + 273
= 0,648544089
(0,4)
+ (
+ 1000 exp
10
+ 273
10 (
20)
10
203,5070733 + 273
+ (
+ exp
10
0,648544089
5,558235728 + 273
= 0,523595701
(0,6)
+ (
+ 1000 exp
= 5,558235728 + 0,2
10
+ 273
1000 exp
10 (
20)
10
5,558235728 + 273
+ (
+ exp
= 0,421211303
10
0,523595701
170,5066239 + 273
(0,8)
+ (
+ 1000 exp
= 170,5066239 + 0,2
10
+ 273
10 (
1000 exp
20)
10
170,5066239 + 273
+ (
+ exp
10
28,12222633 + 273
0,421211303
= 0,340339922
(1)
+ (
)
10
+ 273
+ 1000 exp
= 28,12222633 + 0,2
10 (
1000 exp
20)
10
28,12222633 + 273
= 1 jam
, yaitu sebesar
148,9936073 .
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
a. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Euler dan definisikan dua fungsi berikut :
= ( , ) = exp
dengan variabel
mewakili
dan
= ( , ) = 1000 exp
dan variabel
mewakili
10 ( 20)
b. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu Execute
file with echo seperti berikut :
d. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
eulermaju enter. Selanjutnya, isikan nilai-nilai berikut :
titik awal , yaitu
=0
syarat awal :
=1
untuk
untuk
adalah
adalah
= 1 ,dan
= 30
Interpretasi :
Jadi, dengan menggunakan metode euler maju secara program, pada saat
diperoleh konsentrasi reaktan (
= 1 jam
1,5
= 0 hingga
= 2, dengan
(0) = 1
= 0 dan
Akan dicari nilai dari = 0 hingga = 2 , dengan kata lain akan dicari nilai (2)
Iterasi 1
1
+ ( 1 + 2)
2
(
)
1=
;
= (0,5) (0; 1) = (0,5) (1,5) = 0,75
2 = ( ; + 1)
= (0,5) 0,5; 1 + (0,75)
= (0,5) (0,5; 0,25)
= (0,5) (0,3125)
= 0,15625
sehingga diperoleh
(0,5)
= + ( 1 + 2)
(0,5)
1
= 1 + (0,75 + (0,15625))
2
= 0,546875
Iterasi 2
1
(1)
= + ( 1 + 2)
2
1 = ( ; ) = (0,5) (0,5; 0,546875) = (0,5) (0,68359375) = 0,3418
2 = ( ; + 1)
= (0,5) 1; 0,15625 + (0,3418)
= (0,5) (1; 0,205078)
= (0,5) (0,102539063)
= 0,051269531
sehingga diperoleh
1
(1)
= + ( 1 + 2)
2
1
= 0,15625 + (0,3418 0,051269531)
2
= 0,350341797
Iterasi 3
1
(1,5)
= + ( 1 + 2)
2
1 = ( ;
2 = ( ; + 1)
= (0,5) 1,5; 0,350341797 + (0,08759)
= (0,5) (1,5; 0,262756)
= (0,5) (0,197067261)
= 0,09853363
sehingga diperoleh
1
(1,5)
= + ( 1 + 2)
2
1
= 0,350341797 + (0,08759 + 0,09853363)
2
= 0,355815888
Iterasi 4
1
(2)
= + ( 1 + 2)
2
1 = ( ;
2 = ( ; + 1)
= (0,5) (2; 0,355815888 + 0,133431)
= (0,5) (2; 0,489247)
= (0,5) (1,223117115)
= 0,611558558
sehingga diperoleh
1
(2)
= + ( 1 + 2)
2
1
= 0,355815888 + (0,133431 + 0,611558558)
2
= 0,728310646
Interpretasi :
Jadi, dengan menggunakan metode Runge Kutta order dua secara manual , diperoleh
= 0,5 (0,5)
= 1 (1)
= 1,5 (1,5)
= 2 (2)
= 0,546875
= 0,350341797
= 0,355815888
= 0,728310646
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
a. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Runge Kutta order dua dan definisikan fungsi :
=
1,5 =
1,5
, seperti berikut :
b. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu Execute
file with echo seperti berikut :
d. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
rungekutta enter. Selanjutnya, isikan nilai-nilai berikut :
titik awal , yaitu
=0
=2
=1
Interpretasi :
Jadi, dengan menggunakan metode Runge Kutta order dua secara program , diperoleh
penyelesaian PD tersebut dari t = 0 hingga t = 2 adalah (2) yang didekati oleh
, yaitu
sebesar 0,7283106.
3. Diketahui pertumbuhan populasi bakteri di dalam Chemostat memenuhi persamaan
sebagai berikut :
( )=
+2
+ 20
penelitian tersebut dilakukan mulai dari hari ke-0. Akan dicari jumlah populasi bakteri di
dalam Chemostat tersebut pada hari ke 6,
Secara eksak, jumlah populasi bakteri di dalam Chemostat tersebut adalah :
( )
+2
+ 20)
1
2
+ 20
1
4
1
2
1
(6 ) + (6 ) + (6 ) + 20(6) 0
4
3
2
2
3
= 606
= 0 , = 6,
=6=
=1
sehingga diperoleh :
( )
( )
1
(0) + 2 (1) + 2 (2) + 2 (3) + 2 (4) + 2 (5) + (6)
2
1
= (20 + 2 24 + 2 38 + 2 68 + 2 120 + 2 200 + 314)
2
=
= 617
Interpretasi :
Jadi, dengan menggunakan aturan trapesium secara manual diperoleh jumlah populasi
bakteri di dalam Chemostat pada hari keenam didekati oleh 617.
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
1. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Trapesium dan definisikan fungsi :
= ^3 + 2 ^2 +
+ 20 , seperti berikut :
2. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu Execute
file with echo seperti berikut :
4. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
trapesium enter. Selanjutnya, isikan nilai-nilai berikut :
batas bawah interval integral, yaitu
batas atas interval integral, yaitu
=0
=6
=6
Interpretasi :
Jadi, dengan menggunakan aturan trapesium secara program diperoleh jumlah populasi
bakteri di dalam Chemostat pada hari keenam didekati oleh 617,00000.
Dari sini, maka diperoleh nilai error nya adalah :
error = | nilai eksak nilai pendekatan | = |606 617| 11
= 6,
=6=
60
=1
6
sehingga diperoleh :
( )
( )
1
(0) + 4 (1) + 2 (2) + 4 (3) + 2 (4) + 4 (5) + (6)
3
1
= (20 + 4 24 + 2 38 + 4 68 + 2 120 + 4 200 + 314)
3
1818
=
3
=
= 606
Interpretasi :
Jadi, dengan menggunakan aturan simpson 1/3 secara manual diperoleh jumlah
populasi bakteri di dalam Chemostat pada hari keenam didekati oleh 606.
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
1. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Simpson 1/3 dan definisikan fungsi :
= ^3 + 2 ^2 +
+ 20 , seperti berikut :
2. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu
Execute file with echo seperti berikut :
4. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
trapesium enter. Selanjutnya, isikan nilai-nilai berikut :
batas bawah interval integral, yaitu
batas atas interval integral, yaitu
jumlah subinterval, yaitu
=6
=0
=6
Interpretasi :
Jadi, dengan menggunakan aturan simpson 1/3 secara program diperoleh jumlah
populasi bakteri di dalam Chemostat pada hari keenam didekati oleh 606,00000.
Dari sini, maka diperoleh nilai error nya adalah :
error = | nilai eksak nilai pendekatan | = |606 606,00000| 0,00000
Perhatikan bahwa error pada perhitungan menggunakan aturan trapesium, yaitu
11 lebih besar dari error pada perhitungan menggunakan aturan simpson 1/3, yaitu 0
sehingga dapat disimpulkan bahwa perhitungan menggunakan aturan simpson 1/3 lebih
akurat karena nilai errornya kecil sehingga akan lebih dekat dengan nilai eksaknya.
+3 +2
+3 +2
( ) = 16
(5) = 1923
16 + 3
( )=
( + ) ( )
5,5
3436,75
(5) =
=
=
(5 + 0,5) (5)
0,5
(5,5) (5)
0,5
3436,75 2317
2239,5
0,5
Interpretasi :
Jadi, dengan menggunakan metode diferensiasi maju secara manual, dimana =
0,5 diperoleh nilai
(5) 2239,5
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
1. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Diferensiasi Maju dan definisikan fungsi :
= 4 ^4 8 ^2 + 3 + 2 dan eksak = 16 0^ 3 16 0 + 3
seperti berikut :
2. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu
Execute file with echo seperti berikut :
4. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
bedamaju enter. Selanjutnya, isikan nilai-nilai berikut :
diambil maksimum iterasinya adalah 50
nilai 0 adalah nilai turunan yang akan dicari, yaitu 5
nilai diambil 0,5
karena pada soal tidak ditentukan nilai toleransinya, maka diambil nilai toleransinya
adalah 0,01
sehingga diperoleh output :
Interpretasi :
Jadi, dengan menggunakan metode diferensiasi maju secara program, dimana
= 0,5 diperoleh nilai
(5) = 1923,002960
b. Diferensiasi mundur
Manual
( ) ( )
(5) (5 0,5)
(5) =
0,5
( )=
=
=
(5) (4,5)
0,5
2317 1493,75
1646,5
0,5
Interpretasi :
Jadi, dengan menggunakan metode diferensiasi mundur secara manual, dimana = 0,5
diperoleh nilai
(5) = 1646,5
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
1. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Diferensiasi Mundur dan definisikan fungsi :
= 4 ^4 8 ^2 + 3 + 2 dan eksak = 16 0^ 3 16 0 + 3
seperti berikut :
2. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu
Execute file with echo seperti berikut :
4. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
bedamundur enter. Selanjutnya, isikan nilai-nilai berikut :
diambil maksimum iterasinya adalah 50
nilai 0 adalah nilai turunan yang akan dicari, yaitu 5
nilai diambil 0,5
karena pada soal tidak ditentukan nilai toleransinya, maka diambil nilai toleransinya
adalah 0,01
sehingga diperoleh output :
Interpretasi :
Jadi, dengan menggunakan metode diferensiasi maju secara program, dimana
= 0,5 diperoleh nilai
(5) = 1922,997040
c. Diferensiasi pusat
Manual
( + ) ( )
2
(5 + 0,5) (5 0,5)
(5) =
2 0,5
( )=
(5,5) (4,5)
1
(5) = 1943
Program
Dengan menggunakan program Scilab lakukan langkah-langkah sebagai berikut :
1. Buka Program Scilab, akan muncul jendela Console, lalu klik icon
(Launch
SciNotes), akan muncul jendela SciNotes. Selanjutnya, ketikkan kode Scilab pada
Jendela SciNotes untuk Metode Diferensiasi Maju dan definisikan fungsi :
= 4 ^4 8 ^2 + 3 + 2 dan eksak = 16 0^ 3 16 0 + 3
seperti berikut :
2. Simpan file dengan memilih menu File Save As. Selanjutnya, pilih menu
Execute file with echo seperti berikut :
4. Panggil program dengan mengetikkan nama fungsi pada jendela console, yaitu
bedapusat enter. Selanjutnya, isikan nilai-nilai berikut :
diambil maksimum iterasinya adalah 50
nilai 0 adalah nilai turunan yang akan dicari, yaitu 5
nilai diambil 0,5
karena pada soal tidak ditentukan nilai toleransinya, maka diambil nilai toleransinya
adalah 0,01
sehingga diperoleh output :
Interpretasi :
Jadi, dengan menggunakan metode diferensiasi maju secara program, dimana
= 0,5 diperoleh nilai
(5) = 1923,002000
BAB IV
KESIMPULAN
Soal pada nomor 1 dapat diselesaikan dengan menggunakan metode euler maju. Jadi,
dengan mengambil = 0,2 dan kondisi awal pada saat
= 0 , konsentrasi reaktan = 1
gmol/L serta suhu dalam reaktor = 30 , maka pada saat = 1 jam diperoleh konsentrasi
reaktan (
) sebesar ,
gmol/L
Dengan menggunakan metode Runge Kutta Order Dua pada soal nomor 2, dimana
(0) = 1 dan diambil = 0,5 maka diperoleh penyelesaian PD
= 0 hingga
= 2 adalah ,
1,5 dari
(dengan
Selanjutnya dengan menggunakan metode simpson 1/3 dimana diambil 6 subinterval juga,
maka diperoleh nilai pendekatan jumlah populasi bakteri baik secara manual maupun
program adalah
, sehingga errornya ,
memiliki nilai error yang lebih kecil dari metode trapesium, sehingga dapat disimpulkan
bahwa metode simpson lebih akurat / lebih mendekati nilai eksak dalam menentukan
pendekatan integrasi numerik.
Pada soal nomor 4 dengan mengambil = 0,5 , diperoleh nilai eksak dari
(5) adalah
(5) adalah
(dengan program
(5) adalah
(dengan
(5) adalah
BAB V
KRITIK SARAN
Sejauh ini proses kegiatan praktikum sudah cukup baik, hanya saja kadang saya merasa
asisten terlalu cepat dalam menerangkan dan ada beberapa bagian yang kurang jelas. Saran
saya, asisten memberi bahan latihan soal yang berbentuk soal cerita, agar saat mengerjakan
laporan, kami lebih ada gambaran. Terimakasih.
BAB VI
DAFTAR PUSTAKA
Atkinson, K., Elementary Numerical Analysis, John Wiley & Sons, 1994, New York.
Ertiningsih, Dwi, Modul PraktikumPengantar Analisis Numerik, 2014, FMIPA UGM, Yogyakarta.
Aryati, Lina, Diktat Kuliah Pengantar Analisis Numerik, 2012, FMIPA UGM, Yogyakarta.