Dr. Hanna A Parhusip
Penerbit Tisara Grafika SALATIGA 2015
Katalog Dalam Terbitan 518.6 PAR Parhusip, Hanna A. m Modul metode numerik / Hanna A. Parhusip. -- Salatiga : Tisara Grafika, 2015. viii, 90 hlm. ; 25 cm.
ISBN 978-602-9493-27-6 1.
Numerical analysis
Cetakan pertama ISBN Hak Cipta Desain Sampul Tata letak Percetakan Penerbit
: : : : : : :
I. Title.
Desember 2015 978-602-9493-27-6 Pada Penulis Tisara Grafika Harrie Siswanto Tisara Grafika Tisara Grafika
Hak Cipta dilindungi oleh Undang-undang Dilarang mengutip atau memperbanyak sebagian atau seluruh buku ini tanpa seijin penulis
Diterbitkan oleh:
GRAFIKA
JL. DIPONEGORO 98 D - SALATIGA 50714 - JAWA TENGAH Telp.: 0298-321798 | Fax : 0298-321798 Mobile: 081 228 598 985 | 0819 0488 340| 0298-6138702 email:
[email protected],
[email protected]
PRAKATA Metode Numerik muncul karena kemampuan analitik sangat terbatas dalam menyelesaikan masalah-masalah aplikasi yang banyak membutuhkan komputer. Selain itu, modul praktikum belum dibuat di Fakultas Sains dan Matematika dimana pembelajaran dengan menggunakan praktikum komputer untuk berbagai cabang matematika modern sangatlah diperlukan. Hal itu sangat mendorong penulis untuk mengisi kekurangan ini. Modul ini juga dapat sebagai panduan praktikum baik untuk mata kuliah Metode Numerik maupun aljabar linear dan persamaan diferensial. Mahasiswa seringkali tidak dapat memahami teori dengan baik karena visualisasi yang kurang dan adanya kesenjangan yang sangat besar antara teori dan bahasa pemrograman. Padahal banyak sekali bagian teori yang digunakan khususnya pada MATLAB untuk memberikan jawaban yang user friendly. Sebagai matematikawan dan akademisi maka sewajarnyalah harus mengetahui alasan yang melatarbelakangi jawaban yang diperoleh dari komputasi dan hal ini diperoleh dari teori. Oleh karena itu modul ini tidak mengesampingkan teori, tetapi lebih membantu para mahasiswa untuk lebih memperhatikan teori dan dapat memanfaatkan software seperti MATLAB dalam membantu memahami teori. Pada buku ini digunakan MATLAB 6.5. Sebagian materi buku ini telah digunakan untuk Pendidikan Matematika di Soe STKIP pada September 2015. Mengingat keterbatasan mahasiswa dan tempat perkuliahan, maka banyak kegiatan praktikum sebagian besar dengan Excel. Oleh karena itu buku ini juga cukup baik bagi pemula dalam mempelajari metode numerik dengan Excel.
Salatiga, 11 Desember 2015 Penulis
Modul METODE NUMERIK |iii
iv | Dr. Hanna A Parhusip
DAFTAR ISI
PRAKATA DAFTAR ISI Bab 1 METODE NUMERIK UNTUK SISTEM PERSAMAAN LINEAR 1.1 Operasi Baris Elementer 1.2 Cara mencari koefisien regresi (linear)
iii v 1
Bab 2
METODE NUMERIK UNTUK PERSAMAAN DIFERENSIAL
16
2.1. Metode Euler 2.2. Pembahasan soal 2.3 Metode Heund 2.4 Metode Midpoint 2.5 Ringkasan Metode Faktor Integral
17 22 26 31 32
PERSAMAAN DIFERENSIAL BIASA ORDE SATU 3.1 Pendahuluan 3.2 Cara penyelesaian 3.2.1 Untuk Persamaan diferensial biasa yang dapat dipisahkan 3.2.2 Metode Faktor Integral
34 34 38 38
METODE INTERPOLASI 4.1 Interpolasi cubic spline
54 54 54 58
Bab 3
Bab 4
4.2 Interpolasi Chebyshev 4.3 Interpolasi polinomial dan turunan Bab 5
PROYEK METODE NUMERIK 5.1 Studi kasus Mocorin 5.1.1 Model dan Algoritma yang Digunakan 5.1.2 Data untuk diolah (i) Data Kadar Karbohidrat pada Mocorin (ii) Data Kadar Protein pada Mocorin 5.2 Program MATLAB untuk mendapatkan parameter fungsi tujuan karbohidrat dengan metode kuadrat terkecil
1 9
45
64 64 65 66 66 70 72
Modul METODE NUMERIK
|v
5.3 Program untuk mengoptimalkan fungsi tujuan karbohidrat dengan menggunakan Algoritma Genetik (AG) 5.4 Program Interpolasi Data Protein terhadap Data Karbohidrat 5.5 Pengembangan Model dan Analisa 5.5.1 Algoritma Genetik dengan Multiobjective Function 5.5.2 Model Fungsi Tujuan untuk Protein, Lemak, dan Serat
75
5.5.3 Mencari parameter fungsi tujuan protein menggunakan
87
79 83 84 85
SVD DAFTAR PUSTAKA
vi | Dr. Hanna A Parhusip
89
DAFTAR TABEL
Tabel 1.1
Data x (kolom 1), data y (kolom 2)
1
Tabel 2.1 Tabel 2.2
Tabel soal A dan Soal B untuk Tugas 2.1 dan Tugas 2.2 Solusi soal no B.9 untuk 10 iterasi pertama
20 30
Tabel 2.3
Hasil solusi dengan metode Heund
32
Tabel 4.1 Tabel 4.2
Fungsi Analitik Penyelesaian dengan MATLAB
55 60
Tabel 4.3
Penyelesaian dengan MATLAB Kasus 2
61
Tabel 4.4
Penyelesaian dengan MATLAB Kasus 3
63
Tabel 5.1
Data Karbohidrat pada Mocorin dengan berbagai perbandingan
67
Modul METODE NUMERIK
| vii
DAFTAR GAMBAR
Gambar 1.1
Hasil regresi linear dan dibandingkan dengan data
13
Gambar 2.1 Gambar 2.2
Lokasi data dan formula pada excel Solusi dengan Excel
24 24
Gambar 2.3 Gambar 2.4
Perbandingan visualisasi solusi pada h=0.1 (bertanda *) dan 25 pada h=0.2 (bertanda 0) Solusi A.9 27
Gambar 2.5
Langkah-langkah Excel, misal: nilai h pada B11
27
Gambar 2.6
Hasil soal A-9 dengan metode Heund
28
Gambar 2.7 Gambar 2.8
Solusi dari excel untuk no. B.9 dengan excel Hasil visualisasi penyelesaian dengan excel
30 31
Gambar 4.1
Tanda * adalah fungsi analitik y=cos(x)
55
Gambar 4.2
Hubungan data (x,y) secara grafik
56
Gambar 4.3 Gambar 4.4 Gambar 4.5
Keluaran /Jawaban soal test 1 Kasus 1 Kasus 2
58 59 61
Gambar 4.6
Kasus 3
62
viii | Dr. Hanna A Parhusip
BAB 1 METODE NUMERIK UNTUK SISTEM PERSAMAAN LINEAR
1.1 Motivasi Diberikan pasangan data pada Tabel 1.1 berikut. Tabel 1.1. Data x (kolom 1), data y (kolom 2) 0.01 0.02 0.03 0.04 0.05
2 3.5 4 2 5
Bagaimana menyatakan data kolom ke-2 sebagai fungsi dari data kolom ke-1. Hal ini akan menjadi masalah sistem persamaan linear. Secara umum sebagai berikut:
menyelesaikan Ax b dimana A m n , x n , b
m
dimana A dan b
disusun dari data. Yang dicari adalah x n . Sebelum diskusi lebih lanjut maka kita perlu mengingat kembali bagaimana menyelesaikan sistem persamaan linear dengan Operasi baris elementer (OBE). 1.2 Operasi Baris Elementer Untuk memperkenalkan OBE maka perhatikan contoh 1.1 berikut. Contoh 1.1 Tentukan apakah sistem persamaan linear berikut konsisten (punya penyelesaian).
x1 2 x2 x3 0 2 x2 8 x3 8 4 x1 5 x2 9 x3 9
Modul METODE NUMERIK
|1
Ide menyelesaikan adalah menyusunnya menjadi sistem persamaan linear yang lebih sederhana (lebih mudah diselesaikan). Misal menyusunnya menjadi sistem persamaan linear dengan matriks koefisien dalam bentuk segitiga atas (dibawah elemen diagonal 0) sehingga kita dapat menyelesaikan dengan substitusi mundur (mencari nilai variabel mulai dari yang terakhir). Kita menuliskan matriks augmented (matriks A dan ruas kanan)
0 1 2 1 0 2 8 8 ~ karena baris pertama kolom pertama sudah bernilai 1 4 5 9 9 maka kita dapat mengalikan baris 1 dengan 4 dan menambahkan pada baris ketiga atau ditulis
b1 x 4 b (kita pilih bentuk ini agar pada baris ketiga kolom pertama 3
~
bernilai 0 ) atau ditulis
0 1 2 1 0 2 8 8 b x 4 b3 1 4 5 9 9 ~
0 1 2 1 0 2 8 8 b2 x 1 2 0 3 13 9 ~
0 1 2 1 0 1 2 2 . 0 3 13 9 Kita akan membuat nol untuk baris ke-3 kolom ke-2 yaitu dengan mengalikan baris ke-2 dengan 3 dan menambahkan pada baris ke-3 atau ditulis
b2 x3 b
3
~
1 2 1 0 Sehingga diperoleh 0 1 4 4 . Kita telah memperoleh matriks segitiga 0 0 1 3 atas sehingga kita dapat menuliskan persamaan mula-mula menjadi
2 | Dr. Hanna A Parhusip
x1 2 x 2 x3 0 x 2 4 x3 4 x3 3 Bagaimana dengan penyelesaian ?. Diperoleh dari baris ketiga x3 3 , dan substitusikan pada baris kedua diperoleh
x2 4 4(3) 16 ,sehingga
x1 2 x2 x3 2(16) 3 32 3 29 . Jadi
sistem persamaan linear tersebut punya penyelesaian tunggal yaitu (29,16,3). Jadi secara umum terdapat sistem persamaan linear dalam bentuk umum
Ax b dimana A merupakan matriks real m x n dan x R n , b R m . Sebelum menyelesaikan, terdapat 2 hal utama yang perlu diperhatikan bahwa sistem persamaan dapat konsisten (mempunyai penyelesaian) ataupun tidak konsisten (tidak mempunyai penyelesaian). Sistem yang konsisten juga mempunyai penyelesaian tunggal atau banyak. Ada beberapa sifat yang diperhatikan kapan sistem tersebut punya penyelesaian atau tidak (harap mempelajari kembali aljabar linear). Demikian pula sistem persamaan linear juga dibedakan atas bentuknya yaitu
homogen ( b 0 R m ) dan tidak homogen b 0 R m . Contoh 1.2 Sistem persamaan linear homogen
Untuk mencari nilai eigen dan eigen vektor kita perlu menyelesaikan Ax x
(definisi nilai eigen dan eigenvektor) atau ditulis ( A I ) x 0 atau ditulis
Cx 0 menjadi sistem persamaan linear homogen. Tentukan apakah sistem persamaan linear homogen ini mempunyai penyelesaian tak nol (nontrivial) untuk
Modul METODE NUMERIK
|3
3x1 5 x2 4 x3 0, 3x1 2 x2 4 x3 0, 6 x1 x2 8 x3 0. Jawab: secara analitik dari aljabar linear kita menyusun matriks augmented
[A 0 ] menjadi bentuk echelon
5 4 0 3 5 4 0 3 5 4 0 3 3 2 4 0 ~ 0 3 0 0 ~ 0 3 0 0 . 6 1 8 0 0 9 0 0 0 0 0 0 Untuk selanjutnya kita dapat mengalikan 1/3 terhadap baris ke-1 dan
1 5 / 3 4 / 3 0 baris ke-2 diperoleh 0 1 0 0 b2 x(5 / 3) b1 0 0 0 0 ~
1 0 4 / 3 0 0 1 0 0 (bentuk echelon tereduksi). 0 0 0 0 Diperoleh sistem persamaan linear homogen menjadi
x1
4 x3 3
x2
0 0
00 Artinya haruslah x 2 0 sedangkan x1
4 x3 . Kita mengatakan x3 3
variabel yang bebas dipilih (free variable). Bisa juga kita memilih x1 yang merupakan variabel yang bebas dipilih, akan tetapi kita lebih memilih variabel yang disebutkan terakhir yang bebas dipilih.
4 | Dr. Hanna A Parhusip
Berdasarkan ada tidaknya solusi (existence solution) maka sistem persamaan di atas mempunyai penyelesaian (sistem dikatakan konsisten). Sedangkan tunggal tidaknya penyelesaian (uniqueness) maka sistem dikatakan banyak penyelesaian (not unique). Kita dapat mengenali bahwa jika paling sedikit ada 1 variabel bebas dipilih (free variable) maka sistem mempunyai banyak penyelesaian. Secara umum penyelesaian itu ditulis
x 43 a
0 a , a bebas. T
Contoh 1. 3 Pasangan data (x,y) ditunjukkan padaTabel 1.1 Masalah matematika: bagaimana y sebagai fungsi x ? Asumsi bahwa data berupa: polinomial derajat 2, yaitu
y a0 a1 x a2 x 2
(1.1)
Artinya setiap pasangan data memenuhi persamaan (1.1). (a) Matriks A disusun sebagai berikut 2 a0 a1x1 a2 x1 y1 atau a0 a1 (0.01) a2 (0.01)2 2 2 a0 a1x2 a2 x2 y2 atau a0 a1 (0.02) a2 (0.02)2 3.5 2 a0 a1x3 a2 x3 y3 atau a0 a1 (0.03) a2 (0.03)2 4 2 a0 a1x4 a2 x4 y4 atau a0 a1 (0.04) a2 (0.04)2 2 2 a0 a1x5 a2 x5 y5 atau a0 a1 (0.05) a2 (0.05)2 5
Jadi A adalah 1 1 A 1 1 1
0.01 0.02 0.03 0.04 0.05
2 0.012 a0 2 0.02 3.5 0.032 dengan x a1 , b 4 a2 0.04 2 2 2 5 0.05
Modul METODE NUMERIK
|5
Jadi ke-5 persamaan di atas dapat ditulis dalam sistem persamaan linear
Ax b yaitu 1 1 1 1 1
0.01 0.02 0.03 0.04 0.05
0.012 0.02 2 0.032 0.04 2 0.052
2 3 . 5 4 2 5
a0 a 1 a2
Cara penyelesaian:
Tahap 1: Kalikan ruas kiri dan ruas kanan dari Ax b dengan AT dimana
1 A 0.01 0.012
1 0.02 0.02 2
T
1 0.03 0.03 2
1 0.04 0.04 2
1 0.05 0.05 2
Tahap 2: MenyusunC= AT A
1 C= 0.01 0.012
1 0.02 0.02 2
1 0.03 0.032
1 0.04 0.04 2
1 0.05 0.052
1 1 1 1 1
0.01 0.02 0.03 0.04 0.05
0.15 0.0055 5 C 0.15 0.0055 0.000055 0.0055 0.000055 0.00000055 Dengan OBE (Operasi Baris Elementer) akan dicari C 1 : Tulis bentuk C I 33 yaitu
5 0.15 0.0055 1 0 0 0.0055 0.000055 0 1 0 0.15 0.0055 0.000055 0.00000055 0 0 1
6 | Dr. Hanna A Parhusip
0.012 0.02 2 0.032 0.04 2 0.052
5 0.15 0.0055 1 0 0 0.0055 0.000055 0 1 0 b1 (1 / 5) 0.15 0.0055 0.000055 0.00000055 0 0 1 1 0.03 0.0011 1 / 5 0 0 0.0055 0.000055 0 1 0 0.15 0.0055 0.000055 0.00000055 0 0 1 1 0.03 0.0011 1/ 5 0 0 0.001 0.00011 0.03 1 0 b1 ( 0.15) b2 0 0.0055 0.000055 0.00000055 0 0 1 1 0.03 0.001 b1 ( 0.0055) b3 0 0 0.00011 1 0.03 1 b2 (1000) 0 0 0.00011
0.0011 1/ 5 0 0 0.11 30 1000 0 - 0.0000055 0.0011 0 1
1 0 1 b2 ( 0.03) b1 0 0 0.00011 1 0 b2 (0.00011) b3 0 1 0 0
0.0011 1/ 5 0 0 0.00011 0.03 1 0 - 0.0000055 0.0011 0 1
0.0044 0.7 30 0 0.11 30 1000 0 - 0.0000055 0.0011 0 1
0.0044 0.7 30 0 0.11 30 1000 0 - 0.0000176 - 0.0044 0.11 1
b3 (1 / 0.0000176)
1 0 0.0044 0.7 30 0 1000 0 0 1 0.11 30 0 0 1 44/0.176 11 / 0.00176 1 / 0.0000176
Modul METODE NUMERIK
|7
1 0 0.0044 0.7 30 0 0 2.5 312.5 6250 b3 ( 0.11) b2 0 1 0 0 1 44/0.176 11 / 0.00176 1 / 0.0000176 b3 ( 0.0044) b1
1 0 0 1.8 2.5 250 6250 0 1 0 2.5 312.5 0 0 1 250 6250 56818.2
Jadi C
1
250 1.8 2.5 2.5 312.5 6250 250 6250 56818.2
Tahap 3: Ruas kanan adalah
1 T bbaru A b 0.01 0.012
1 0.02 0.02 2
1 0.03 0.03 2
1 0.04 0.04 2
2 1 3.5 0.05 4 0.05 2 2 5
16.5 = 0.5 0.0209
Tahap 4: Cari Ax b
x C 1bbru
250 1.8 2.5 = 2.5 312.5 6250 250 6250 56818.2
8 | Dr. Hanna A Parhusip
16.5 25.725 0.5 = 15.625 0.0209 187.5
25.725 Jadi koefisien regresi adalah 15.625 187.5 Sehingga fungsi parabola mempunyai bentuk
y 25.725 15.625 x 187.5 x 2 1.2 Cara mencari koefisien regresi (linear)
Tujuan pada bab ini adalah menyelesaikan Ax b dimana A m n , x n
, b . Matriks A dan b disusun dari data. Yang dicari adalah x n . m
m
Tahap 1. Kalikan ruas kiri dan ruas kanan dari Ax b dengan AT (jadi perlu dicari AT )
Artinya: A Ax A b (jangan terbalik menjadi AxA b A , ini tidak benar) T
T
T
T
Tahap 2.
Sebut C= AT A (berarti perlu disusun C), sebut AT b bbaru (perlu disusun bbaru ) Jadi
Cx bbaru , C n n , x n , bbaru n
Tahap 3. Cari x dengan cara: kalikan ruas kiri dan kanan Cx bbaru dengan C 1
C 1C x C 1bbaru Jadi kita harus mencari C 1 .
Tahap 4. Diketahui C 1C I (matriks identitas). Oleh karena itu C 1C x C 1bbaru menjadi
x C 1bbaru . Jadi ruas kanan perlu dihitung.
Kesimpulan: nilai vektor diperoleh dan x merupakan vektor koefisien regresi. Menurut aljabar linear, invers matriks dapat ada dapat juga tidak ada. Dengan bantuan MATLAB, diperoleh det C dekat ke 0 (diberikan oleh MATLAB
Modul METODE NUMERIK
|9
sebesar 7.0000e-010 artinya 7 1010 . Matriks yang demikian disebut matriks singular (matriks yang determinannya bernilai 0/sangat dekat 0 atau sebaliknya determinan matriks besar sekali). Sekalipun invers C nampak bagus, hasil di atas tidak bermakna. Artinya j ika dipaksakan digunakan untuk mencari koefisien regresi, maka hasil pendekatan tidak tepat.
Analisa: Hasil menunjukkan bahwa hasil tidak tepat. Diselidiki mengapa hasil tidak tepat ? Ternyata hasil C merupakan matriks singular karena det(C) dekat ke 0. Jadi model fungsi kuadratik /parabola tidak tepat untuk model ini.
Contoh 1.4 Jika sistem persamaan sudah diperoleh:
Carilah x yang memenuhi Ax b
4 1 2 2 A 1 3 2 , b 1 1 2 5 4 Carilah x yang memenuhi Ax b 1.3 4.15 1.12 1.12 A 1.6 1.2 2.4 , b 2.1 . 2.5 2.35 4.36 5.09 Latihan 1.1 Diberikan pasangan data yaitu (1,2), (2,3) dan (3,3) Anggaplah bahwa ketiga titik itu dalam suatu garis lurus yaitu a 0 a1 x y . Carilah a0 dan a1 terbaik dengan regresi linear. Petunjuk:
10 | Dr. Hanna A Parhusip
Tahap 1: Bentuklah sistem persamaan linear dengan dengan menggunakan (1,2), (2,3) dan (3,3) pada persamaan a 0 a1 x y diperoleh berturut-turut
a0 a1 2, a0 2a1 3, a0 3a1 3. Cara pelaporan :
1 1 A = 1 2 b = 1 3
2 3 3
Tahap 1. Kalikan ruas kiri dan ruas kanan dari Ax b dengan AT (jadi perlu dicari AT )
1 1 1 AT 1 2 3 Tahap 2.
Sebut C= AT A (berarti perlu disusun C), sebut AT b bbaru (perlu disusun bbaru ) 1 1 C 1 1 1 1 2 = 3 6 , bbaru 1 1 1 6 14 1 2 3 1 2 3 1 3
Jadi
2 8 3 = 17 3
Cx bbaru , C n n , x n , bbaru n
Tahap 3. Cari x dengan cara: kalikan ruas kiri dan kanan Cx bbaru dengan C 1
C 1C x C 1bbaru Jadi kita harus mencari C 1 . Yaitu sebagai berikut
Modul METODE NUMERIK
| 11
3 6 maka 6 14
Cara 1: dengan rumus klasik , dimana C=
14 6 1 1 14 6 (3(14) (6)(6)) 6 3 42 36 6 3 1 14 6 7 / 3 1 6 6 3 1 1 / 2
C 1
Cara 2: Dengan OBE (Operasi baris elementer) :
3 6 1 0 1 2 1 / 3 0 b1 (1 / 3) 6 14 0 1 6 14 0 1 1 2 1 / 3 0 1 2 1 / 3 0 b1 ( 6) b2 b2 (1 / 2) 0 2 2 1 0 2 2 1
1 2 1 / 3 0 1 0 7 / 3 1 b2 ( 2) b1 . 0 1 1 1 / 2 0 1 1 1 / 2 Jadi jelas.
Tahap 4. Diketahui C 1C I (matriks identitas). Oleh karena itu C 1C x C 1bbaru menjadi
x C 1bbaru . Jadi ruas kanan perlu dihitung. Yaitu
7 / 3 1 8 5 / 3 x C 1bbaru = . 1 1 / 2 17 1 / 2 Hasil polinomial regresi: y a0 a1 x Gambar data dan fungsi:
12 | Dr. Hanna A Parhusip
5 1 x 3 2
Gambar 1.1 Hasil regresi linear dan dibandingkan dengan data
Analisa: error yang diperoleh : …………………………………………………….. Komentar : Latihan 1.2 1. Diberikan data berikut ini
(i)
x
-2
-1
0
1
2
3
4
y
-5
-1
4
7
6
5
-1
Tentukan m dan c untuk regresi linear untuk data tabel tersebut dengan menganggap y=f(x) =mx + c.
(ii)
Tentukan a, b, c untuk regresi fungsi kuadratik untuk data tabel tersebut yaitu
y a0 a1 x a2 x 2
Modul METODE NUMERIK
| 13
Cara pelaporan: (i)
Regresi linear
m
A = ……………… b = ……………….. x c Sistem persamaan linear yang diperoleh : ………………………... Tipe sistem persamaan linear adalah: (kosisten/tak kosisten/ underdetermined) : ………………………………………………. Karena …………………………………………………………… Sehingga sistem persamaan linear diselesaikan dengan cara sbb: …………………………………………………………………… Diperoleh m = ……………………dan c = ……………………... Jadi fungsi linearnya adalah ……………………………………. (ii)
Regresi fungsi kuadrat
a0 A = ……………… b = ……………….. x a1 a 2 Sistem persamaan linear yang diperoleh : ………………………. Tipe sistem persamaan linear adalah: (kosisten/tak kosisten/underdetermined) :…………………………………….. karena ……………………………………………………………. Sehingga sistem persamaan linear diselesaikan dengan cara sbb: …………………………………………………………………… Diperoleh Jadi fungsi kuadrat yang diperoleh adalah ……………………… Tugas Praktikum 1.1
Suatu hasil eksperimen menunjukkan bahwa pada setiap pengukuran nilai x berikut diperoleh nilai y : x=[-6.332 -4.911 -3.4902 -2.0944 -0.6981 0.6981 2.0944 3.4907 4.911 6.332] y=[0.1 -1.6321 1.5321 -0.2 -1.821 1.7521 -0.2 -1.5321 1.6321 -0.1]
14 | Dr. Hanna A Parhusip
Asumsikan bahwa y=f(x) dengan asumsi: 3 2 Fungsi cubik y ax bx cx d
a. Tuliskan sistem persamaan linear untuk mencari koefisien dari fungsi tersebut b. Selesaikan sistem persamaan linear tersebut dengan cara yang anda kenal dan buatlah tabel nilai y pendekatan yang anda peroleh. c. Apakah hasil anda cukup baik ? Jelaskan.
Modul METODE NUMERIK
| 15
BAB 2 METODE NUMERIK UNTUK PERSAMAAN DIFERENSIAL
Mata kuliah ini dibentuk sebagai bentuk komputerisasi dari matematika, aljabar linear dan persamaan diferensial yang dipelajari mahasiswa pendidikan matematika, misal dalam menyatakan diferensial dan menyatakan integral. Motivasi Pada kalkulus operator differensial ditulis
dy df f ' ( x ) pada suatu interval dx dx
di R, misal [a,b]. Bagaiman menghitung pada komputer ? Hal ini dinyatakan sebagai metode numerik. 1. Jika y= x 2 maka
dy df f ' ( x ) 2 x secara manual. Bagaimana dx dx
dengan komputer ? Pertama-tama kita harus mendefinisikan dimanakah domain y= x 2 didefinisikan. Jadi harus ditulis domain definisi. Dari definisi
lim f ( x x ) f ( x ) dy df f ' ( x) x 0 dx dx x
(2.1)
Secara numerik maka semua operator dinyatakan dalam bentuk diskrit. Artinya operator diferensial ditulis dalam bentuk
dy df y f ( x x ) f ( x ) dx dx x x
(2.2)
Jadi persamaan (2.2) dapat digunakan untuk mendekati dengan secara numerik. Hal ini sebagai berikut. Dianggap
f ( x x ) f ( x ) y x x
16 | Dr. Hanna A Parhusip
Kita akan menggunakan ekspresi terakhir ini untuk menjadi materi mengembangkan metode Euler sebagai metode paling dasar dalam metode numerik untuk menyelesaikan persamaan diferensial khususnya orde 1.
2.1 Metode Euler Misal persamaan diferensial orde 1 ditulis dalam bentuk umum yaitu
y'
dy f (t , y ) , y (t 0 ) diketahui. dt
(2.1)
Perhatikan bahwa peubah bebas adalah t dan peubah tak bebas adalah y. Masalah ini disebut masalah nilai awal karena nilai awal y(0) diketahui. Ide metode Euler adalah menggunakan ekspansi Taylor untuk y=y(t) di sekitar t t 0 sehingga berlaku
dy y (t ) y (t 0 ) (t t 0 ) dt
t0
t t 0 2 2
d2y dt 2
...
(2.2.a)
t0
Dengan hanya memperhatikan suku hingga turunan pertama maka kita dapat mendefinisikan f (t 0 , y 0 ) :
dy (t 0 , y0 ) sehingga persamaan (2.2.a) menjadi dt
y (t ) y (t 0 ) (t t 0 ) f (t 0 , y 0 ) .
(2.2.b)
Tetapi sekarang kita memerlukan informasi y(t) pada t t 0 . Untuk itu kita perlu mendiskritisasi interval waktu pengamatan dengan subinterval yang sama yaitu
t j t j 1 h sehingga t j 1 t j h ,
j=0,1..N.
(2.2.c)
Jadi untuk setiap titik diskrit, persamaan (2.2.a) dapat ditulis
y1 y(t1 ) y(t 0 ) (t1 t 0 ) f (t 0 , y 0 )
y 2 y(t 2 ) y(t1 ) (t 2 t1 ) f (t1 , y1 ) y N y(t N ) y(t N 1 ) (t N t N 1 ) f (t N 1 , y N 1 ) . Secara umum kita dapat menuliskan dalam bentuk formula Modul METODE NUMERIK
| 17
t j 1 t j h
(2.3.a)
y j 1 y (t j 1 ) y (t j ) (t j t j 1 ) f (t j 1 , y j 1 ) , j=0,…N-1 y j 1 y (t j 1 ) y (t j ) hf (t j 1 , y j 1 )
(2.3.b)
Contoh 2.1. Selesaikan dengan metode
dy t 2 y , y(0) = 1. dt
Tahap 1: Soal harus dalam bentuk
Soal sudah dalam bentuk
dy f (t , y ) . AWAS y tidak sama dengan f dt
dy f (t , y ) = t-2y AWAS y(t) tidak diketahui (yang dt
dicari ) . Dicari y1 y (t1 ) y (t 0 ) (t1 t 0 ) f (t 0 , y 0 ) . Perlu disusun waktu t dalam bentuk diskrit dari 0 (awal pengamatan) hingga akhir pengamatan. Misal dipilih T = 1 (akhir pengamatan), maka
t1 , t 2 ,...,t N perlu disusun sebanyak yang dikehendaki yaitu N. Selesaikan 2.1 dengan : T = 1, N=10 dan dipilih subinterval tj sama, misal
t j 1 t j
T t0 1 0 0.1 N 10
maka t0 , t1 , t 2 ,...,t N 0, 0.1, 0.2, 0.3, 0.4, 0.5,...,1 . Sehingga
dy f (t0 , y0 ) = t-2y= t0 2 y0 0 2(1) 2 . dt t0
Jadi: y1 y (t1 ) y (t 0 ) (t1 t 0 ) f (t 0 , y 0 ) 1 +(0.1-0)(-2)=1+(0.1)(-2)=1-0.2=0.8
18 | Dr. Hanna A Parhusip
Tahap 2. Cari y 2 y(t 2 ) y(t1 ) (t 2 t1 ) f (t1 , y1 ) Perlu
dy f (t1 , y1 ) dt t1
f (t1 , y1 ) t1 2 y1 0.1 2(0.8) 0.1 1.6 1.5 y2 y (t 2 ) y (t1 ) (t 2 t1 ) f (t1 , y1 ) Sehingga 0.8 (0.2 0.1)(1.5) 0.8 (0.1)(1.5)
0.8 0.15 0.65 Dengan cara yang sama dapat dihitung hingga y10 (hitung di buku kerja) Dicoba dengan excel supaya lebih cepat. Tugas 2.1 1. PR : manual Euler dengan h=0.1 2. PR : Excel dimainkan untuk h=02 dan 0.25 3. PR : menyatakan soal pada kolom A dan B sesuai jenis kelompok soal menjadi bentuk umum PDB yang bisa diselesaikan dengan Euler. Tugas 2.2 Selesakan dengan metode Euler dengan 5 macam h yaitu dari 0.3, 0.2, 0.1, 0.05, 0.01 Untuk masalah berikut.
Modul METODE NUMERIK
| 19
Tabel 2.1 Tabel soal A dan Soal B untuk Tugas 2.1 dan Tugas 2.2
No 1.
Soal A
xy
2
No
4 x dx ( x 2)dy 0 1.
;y(-1)=2 2.
y ' ytg x cos4 x ;
2.
y( / 4) 1 . 3.
4.
y'
xdx 3 2 y y 3 e x dy 0; y (1) 0. 2
y 13 dx x4 x 3 y 1dy 0; y(1)=2.
y
x 1x 2
y ' yctgx
Soal B
3.
ydx ( x y ln y)dy 0;
y(0) 1 .
4.
dx xy ln 2 x 1 y 2 dy;
y(e) 0.
5.
xy ' y x 3 x 2 x ; y (2) 5.
6.
xe y x dx dy 0;
; y(0)=2.
1 , sin x
y( / 6) 1. 5.
x y 2 9 dx x 2 1 dy 0; y (0) 0.
6.
7.
y ' ytg x sin 2 x ; y (0) 2
cos x sin 2 ydx
7. cos3 y dy 0; sin 2 x
xy ' y x 2 cos 2 x;
y (1) 2. y ( / 2) 0.
y . 4 4
8.
x sin x tg 2 y 1 y ' 0; y / 2 0.
20 | Dr. Hanna A Parhusip
8.
xe x y dx ydy 0 ; y (0) 1.
9.
10.
y '2 xy x 3 ; y(0) 3 / 2 .
x y
x 2 dx x 3 1 dy 0; y ( 0) 2. 2
2
9.
10.
xy '2 y xarctg x;
y (1)
12
e1 / x y 2 1dx x 2 ydy 0; y (1) 1
11.
y ' y cos x cos3 x ;
y(0) 1.
Jenis tugas tiap mahasiswa sebagai berikut : No. 1
A: 1,8,10 dan B: 3,4
No 2.
A: 2,5,9 dan B:7,9
No.3
A : 4,6,10 dan B=1,5
No.4
A:3,7 dan B=2,8,10
No.5
A :9,10 dan B: 6,7,11
No. 6
A: 3,8,5 dan B: 1,7
No. 7
A 6,7 dan B: 2,6,9
No.8
A:4,9 dan B=3,8,11
No. 9
A=8,10 dan B=4,5,8
No.10
A=2,7 dan B=3,6,10
No. 11
A=5,10 dan B=5,9,11
No. 12
A=3,7 dan B=2,7,8
Tujuan : 1. Menulis soal PDB ke bentuk umum yang bisa diselesaikan dengan metode Euler dan menyelesaikan dengan bantuan Excel 2. Menganalisa hasil excel (membandingkan dengan solusi analitik) Materi: Soal 2 PDB pada Tabel
Catatan: Bentuk umum :
dy f ( x, y ) dimana y ( x0 ) y0 diketahui. dx
Modul METODE NUMERIK
| 21
ln 2 . 6
2.2. Pembahasan soal Contoh 2.2. No. A.4 Soal dalam bentuk : y ' yctgx
1 , y( / 6) 1 sin x
Tahap 1. Peubah bebas : x ; Peubah tak bebas : y . Jadi perlu dicari y(x) Tahap 2 : y ' yctgx
dy 1 1 yctgx ditulis sin x dx sin x
Dalam bentuk umum soal menjadi :
dy 1 yctgx dengan y( / 6) 1 dx sin x Jadi f ( x, y ) yctgx
(*)
1 . sin x
Tahap 3. Soal (*) diselesaikan dengan metode Euler
y j 1 y j h
dy dx
y j hf ( x j , y j ) . yj
Perlu memilih h (cukup kecil). Karena y( / 6) 1, x0 / 6 maka dipilih h=0.1, sehingga x1 x0 h / 6 0.1
x2 x1 h x0 2h / 6 2(0.1) x3 x2 h x0 3h / 6 3(0.1) x4 x3 h x0 4h / 6 4(0.1)
22 | Dr. Hanna A Parhusip
Demikian seterusnya (sekehendak sehingga kurva digambar cukup masuk akal). Dengan memperhatikan y j 1 y j h
dy dx
y j hf ( x j , y j ) dan posisi x j yj
Maka:
f ( x0 , y0 ) = y0ctgx0
1 1 1ctg / 6 sin x0 sin / 6 3
2 2 32 = cos / 6 2 sin / 6 1/ 2
=1+0.1*( 3 2 )=
f ( x1 , y1 ) y1ctgx1
+
12 3 10
1 12 3 ctg 0.1 sin x1 10 6
1 sin 0.1 6
y2 y1 hf ( x1 , y1 ) = dilanjutkan dengan excel. Sebagai berikut: Catatan file : JawabA_No4 Cara excel : Perlu didefinisikan nilai xj . Nilai yo diinput. Nilai f(x0,y0) dihitung terlebih dahulu dengan perintah excel =C10*COS(B10)/SIN(B10)+1/SIN(B10) Kemudian hitung y1, dengan excel sebagai berikut: =C10+$B$8*D11
Modul METODE NUMERIK
| 23
Perintah excel tersebut mengikuti posisi kita mengetik sebagaimana pada Gambar 2.1 . Nilai f(x1,y1) dihitung terlebih dahulu. Solusi pada Gambar 2. 2.
Gambar 2.1. Lokasi data dan formul pada excel 6 4 2 0 -2
0
1
2
3
4
5
Series1
-4 -6
Gambar 2.2. Solusi dengan Excel
Analisa hasil (Pembahasan) : Pada h =0.1 diperoleh hasil yang ditunjukkan pada Gambar 2. Perlu diselidiki benar tidaknya/ bagus tidak hasil pendekatan dengan (a)
membandingkan penyelesaian yang diperoleh dengan solusi analitik.
(b)
Memvariasi nilai h
24 | Dr. Hanna A Parhusip
Untuk (b) kita menggantikan nilai h pada program .
5 4 3 2
y
1 0 -1 -2 -3 -4 -5 0.5
1
1.5
2
2.5
3
3.5
4
x
Gambar 2.3 Perbandingan visualisasi solusi pada h=0.1 (bertanda *) dan pada h=0.2 (bertanda 0)
Contoh 2.3 Membahas:
dx xy ln 2 x 1 y 2 dy;
y(e) 0
Tahap 1.
dy 1 dx xy ln 2 x 1 y 2
; y(e) =0
Dengan metode Euler perlu dihitung f ( x0 , y0 )
Diperoleh
dy 1 1 2 2 dx e(0) ln x 1 y 0
Pada bagian ini Euler gagal. Sehingga proses perhitungan tidak bisa dilanjutkan.
Modul METODE NUMERIK
| 25
Catatan: Secara analitik soal mungkin dapat dikerjakan. Jadi dy 1 diselesaikan dengan pemisahan variable , faktor integral 2 dx xy ln x 1 y 2
atau dengan pemilihan PDB eksak/tidak eksak. 2.3 Metode Heund Perlu ralat /koreksi Euler sebagai berikut Tahap 1.
k1
dy dx
Tahap 2
Tahap 3 :
Tahap 4.
f (x j , y j ) x x j
y *j y j hf (t j , y j ) y j hk1
k2
dy f ( x j h, y*j ) f ( x j h, y j hk1 ) dx x x j h / 2
y j 1 y j h
k1 k 2 2
Contoh 2.4 No. A.9 Selesaikan dengan metode Heund untuk
y '2 xy x 3 ; y(0)=3/2 .
Tahap 1.
dy x 3 2 xy f ( x, y ) dx
Euler : pilih h= 0.1 ; y j 1 y j hf ( x j , y j )
x0 0 -> f ( x0 , y0 ) x0 2x0 y0 0 3
y1 y0 hf ( x0 , y0 ) 3 / 2 0.1(0) 3 / 2
x1 x0 h 0.1 ->
26 | Dr. Hanna A Parhusip
f ( x1 , y1 ) x13 2 x1 y1 0.13 2(0.1)(3 / 2) =0.001 -0.3=-0.299.
y2 y1 hf ( x1 , y1 ) 3 / 2 0.1(0.299)
1.5 0.0299 excel yok Solusi dengan Excel pada Gambar 2.4. 2.00 1.50 1.00
Series1
0.50 0.00 0
0.5
1
1.5
Gambar 2.4. Solusi A.9
Dengan Metode Heund dengan bantuan Excel sebagai berikut:
Gambar 2.5. Langkah-langkah Excel , misal : nilai h pada B11
Modul METODE NUMERIK
| 27
1. Tulis nilai x0 dan y0 sebagai yang diketahui 2. Hitung k1 berdasarkan nilai x0 dan y0 (menggunakan rumus) , missal : =B13^3-2*B13*C13 3. Hitung yj* (dengan rumus lokasi nilai-nilai yang diperlukan) 4. Hitung k2 5. Hitung y1 (pada baris selanjutnya; dis ini pada Gambar 4, y1 dihitung pada baris C14). Selanjutnya hitung k1 pada baris 14, juga yj* dan k2 pada baris 14 Demikian seterusnya. 1.60 1.40 1.20 1.00 0.80 0.60 0.40 0.20 0.00
Series1
0
0.5
1
1.5
Gambar 2.6 Hasil soal A-9 dengan metode Heund
Analisa Euler vs Heund 1.
Perbandingan nilai Euler
Heund
0 0.1
1.50 1.5 1.4701 1.4109 1.325394
0 0.1 0.2 0.3 0.4
1.50 1.48505 1.441541 1.372919 1.284552
0.2 0.3 0.4 0.5 0.6 0.7
1.218922 1.098883 0.974212
0.5 0.6 0.7
1.183211 1.076457 0.971998
0.8 0.9
0.854668 0.749994
1
0.669054
0.8 0.9 1
0.87709 0.798057 0.739951
28 | Dr. Hanna A Parhusip
Tujuan: penggunaan Excel untuk Euler, Heund , RK4 dan mungkin Geogebra, MATLAB Contoh 2.5 No B.9 Selesaikan dengan metode Heund
x y ' 2 y x arctg x;
y (1)
12
x
dy 2 y x arctg x; dx
x
dy 2 y x arctg x; dx
y (1)
dy 2 y x arctg x ; dx x
y (1)
y (1)
12
ln 2 6
ln 2 6
ln 2 6
12
12
ln 2 6
Bentuk tersebut sudah dalam bentuk umum untuk diselesaikan dengan Euler. Dengan Euler dan bantuan excel sebagai berikut :
x0 =1, maka f ( x0 , y0 ) 2 y0 x0 arctg x0 x0 y1 y0 hf ( x0 , y0 ) =
12
ln 2 2 arctg 1 6 12 = 0.03075. 1
ln 2 +0.1(0.03075)= 0.380399 6
h=0.1, x1 x0 h 1 0.1 1.1
y2 y1 hf ( x1 , y1 ) =0.380399 + 0.1(0.14135)= 0.394534. Solusi selanjutnya ditulis pada Tabel 2.1 untuk 10 iterasi pertama. Solusi pada Gambar 2.6.
Modul METODE NUMERIK
| 29
Tabel 2.2. Solusi soal no B.9 untuk 10 iterasi pertama h=0.1 Indeks
x
y
f(x,y)
0
1
0.377324
0.03075
1
1.1
0.380399
0.14135
2
1.2
0.394534
0.21850
3
1.3
0.416384
0.27451
4
1.4
0.443835
0.31650
5
1.5
0.475485
0.34881
6
1.6
0.510366
0.37424
7
1.7
0.54779
0.39461
8
1.8
0.587251
0.41120
9
1.9
0.628371
0.42488
10
2
0.670858
0.43629
0.8 0.6 0.4 0.2
Serie…
0 0
0.5
1
1.5
2
2.5
Gambar 2.7 Solusi dari excel untuk no. B.9 dengan excel
30 | Dr. Hanna A Parhusip
2.4 Metode Midpoint Metode ini menghitung kemiringan (dy/dt) 2 kali untuk setiap step h. Dengan menyimbolkan k1
dy f ( x j , y j ) . Pada h/2 kita mengaplikasikan metode dx t t j
Euler yaitu
y j 1 / 2 y j
h h f ( x j , y j ) y j k1 2 2
(2.4.a)
Kemudian kita hitung kembali dy/dt tetapi pada x x j
k2
dy dt
x x j h / 2
h yaitu 2
h h f ( x j , y j k1 ) 2 2
(2.4.b)
Kemudian pada seluruh subinterval h kita dapat memperoleh
y j 1 y j hk 2 . Contoh 2.6 Dengan midpoint , No. B 9 dikerjakan dengan bantuan excel 0.6
0.4 Series 1
0.2 0 0
1
2
Gambar 2.8 Hasil visualisasi penyelesaian dengan excel
Modul METODE NUMERIK
| 31
Tabel 2.3 Hasil solusi dengan metode Heund Indeks
xj
xj+h/2
y
k1
yjsetengah
yj+h/2*k1
k2
1 1.05 1.1 1.15 1.2 1.25
1.05 1.1 1.15 1.2 1.25 1.3
0.377324 0.386138 0.398554 0.413804 0.431314 0.450652
0.03075 0.07428 0.10834 0.13539 0.15720 0.17501
0.3788614 0.3898523 0.403971 0.4205733 0.4391739 0.4594022
0.37886 0.38985 0.40397 0.42057 0.43917 0.45940
0.08814 0.12416 0.15249 0.17510 0.19338 0.20833
1.3 1.35 1.4
1.35 1.4 1.45
0.471484 0.493554 0.516658
0.18974 0.20206 0.21246
0.4809713 0.5036569 0.527281
0.48097 0.50366 0.52728
0.22070 0.23104 0.23976
Cara analisa : menggunakan perbandingan dengan solusi analitik. Contoh 2.7. Dicari solusi analitik dari contoh 1 (soal B.9) x y ' 2 y x arctg x;
y (1)
12
ln 2 6
(Cara pada PDB : dengan cara: faktor integral, pemisahan variabel) 2.5 Ringkasan Metode Faktor integral Dapat diketahui penyelesaian persamaan diferensial biasa (PDB) orde 1 yang berbentuk dy P ( x) y Q ( x) secara umum adalah dx
P ( x ) dx P ( x ) dx dx . y ( x) e Q( x) e
(2.7)
Bukti: Formula (2.7) diperoleh dengan dy P ( x) y Q ( x) mencari faktor integral dx
I ( x) e
P ( x ) dx
32 | Dr. Hanna A Parhusip
Dengan mengalikan kedua ruas I ( x) e
P ( x ) dx dy P ( x ) dx Q ( x )e P( x) y e dx
P ( x ) dx
diperoleh
P ( x ) dx dy P ( x ) dx P ( x ) dx P ( x) ye Q ( x )e atau e
dx
Dengan mengintegralkan kedua ruas diperoleh P ( x ) dx P ( x ) dx P ( x ) dx dy P( x) ye dx . dx Q( x)e dx
e
Integral ruas kiri adalah P ( x ) dx P ( x ) dx dy P ( x ) dx . P( x) ye dx = y( x)e dx
e
Jadi solusi dy P ( x) y Q ( x) adalah dx
y ( x )e
= Q( x)e
P ( x ) dx
P ( x ) dx
dx atau
P ( x ) dx P ( x ) dx dx . y ( x) e Q ( x ) e
Jadi ingat bahwa soal harus dalam bentuk : dy P( x) y Q( x) dx
Jadi x y ' 2 y x arctg x;
kalikan dengan (1/x) sehingga masalah yang harus
dikerjakan adalah menyelesaikan
dy 2 y arctg x; dx x
y (1)
12
ln 2 6
Selanjutnya metode analitik dalam menyelesaikan PDB ditunjukkan pada Bab 3.
Modul METODE NUMERIK
| 33
BAB 3 PERSAMAAN DIFERENSIAL BIASA ORDE SATU
3.1 Pendahuluan Persamaan diferensial adalah persamaan yang memuat diferensial. Kita akan membahas tentang Persamaan Diferensial Biasa yaitu Persamaan Diferensial dengan satu peubah bebas. Contoh 3.1 Misal P adalah fungsi variabel bebas t yaitu P(t) memenuhi:
dp kP dt P (t 0) P0
(3.1)
dengan k R (bilangan real) . Persamaan (3.3.1) disebut persamaan differensial tingkat 1. Dikatakan tingkat 1 karena notasi diferensial adalah diferensial pertama P(t) terhadap t. Ada juga yang menyebut tingkat 1 sebagai orde 1. Pada buku ini digunakan istilah tingkat 1.
d2 , diferensial P(t) yang ketiga/atau Notasi diferensial P(t) yang kedua ditulis dt 2 d 3 P (t ) disebut tingkat 3 yang . Diferensial yang ada dalam persamaan (3.3.1) dt 3 adalah
dP sehingga persamaan (3.3.1) disebut persamaan diferensial tingkat satu. dt
Persamaan diferensial (3.1) dapat pula ditulis sebagai
34 | Dr. Hanna A Parhusip
dP dP kP 0 kdt atau dt P P(t 0) P0 Keadaan / kondisi P(t=0)=P0 disebut sebagai nilai awal P. Variabel P sebagai variabel tak bebas dan t sebagai variabel bebas. Fungsi P(t) yang memenuhi persamaan (3.3.1) disebut penyelesaian/solusi. Bagaimana mendapatkan solusi tersebut ? Jawab: Perhatikan terlebih dahulu persamaan diferensial
dP kdt P
(3.2)
Ingat ruas kiri sebagai diferensial terhadap P saja dan ruas kanan adalah diferensial k terhadap t saja.
Pada kalkulus 2 kita mengenal
1
x dx Inx c dengan c 1
1
dx 1 dx . Jika kita integralkan diperoleh x x
sebagai konstan sembarang. Jadi untuk mendapatkan
solusi dari suatu persamaan diferensial kita perlu mengintegralkan persamaan (3.3.2) ruas kiri dan ruas kanan. Yaitu:
dP kdt P dP kdt P dalam P saja
(3.3)
dalam t saja
Penyelesaian ruas kiri adalah
Modul METODE NUMERIK
| 35
dP P c1 . P
(3.4)
(ingat bahwa P sebenarnya fungsi t tetapi tidak dimunculkan agar tidak membingungkan). Sedangkan ruas kanan persamaan (3.3) adalah
kdt k dt kt c . 2
(3.5) Ruas kiri dan ruas kanan sama pada persamaan (3.3). Jadi
ln P c1 kt c2 .
(3.6)
Atau karena c1 dan c2 masih konstanta bebas, persamaan (3.3.6) dapat ditulis
ln P kt C, dengan C c2 c1 . Tampak bahwa ln P ln Pt kt c. Nilai C dapat ditentukan dari nilai awal. Umumnya, kita lebih menyukai bentuk bentuk eksponensial, akan tetapi tidak boleh berubah artinya. Yaitu
ln P kt C . dapat ditulis sebagai
ln P ln e kt ln C Dari relasi
(3.7)
ln x ln y ln xy .
Sehingga persamaan (3.7) menjadi
ln P ln Ce kt . Jadi
P Ce kt atau Pt Ce kt .
Kesimpulan : Persamaan diferensial
dP dP kdt atau kP mempunyai penyelesaian P dt
Pt Ce kt 36 | Dr. Hanna A Parhusip
(3.8)
dan disebut sebagai penyelesaian umum karena nilai awal belum digunakan. Konstanta C dapat ditentukan dari nilai awal Pt 0 P0 yaitu :
Pt 0 P0 Ce k 0 C 1 =C. Jadi
Pt 0 C P0 . Sehingga Persamaan (3.8) menjadi
Pt P0 e kt .
(3.9)
Pembelajaran dengan matakuliah kalkulus Sebagai pembelajaran terhadap mata kuliah kalkulus maka perlu diselidiki apa hubungan hasil tersebut dengan kalkulus. Dalam kalkulus kita telah mengenal berbagai fungsi sebagai berikut. a. Fungsi polinomial, misalnya
f. konstan, misal y a f. linear, misal y f(x) ax b 2 f. kuadratik, misal y f x ax bx c f. kubik, misal y f x ax 3 bx 2 cx d . b. Fungsi Eksponensial, ditulis y f x e
x
c. Fungsi Trigonometri dalam bentuk umum : y = Asin(B x) atau y = Acos (Bx) Apa gunanya fungsi-fungsi tersebut ?. Kita dapat menyatakan data dalam fungsi-fungsi tersebut. Dengan persamaan diferensial berarti kita mencari solusi dari persamaan diferensial sebagai fungsi yang kita harapkan. Jadi kesulitan yang muncul adalah menyusun persamaan diferensial dengan solusi sebagai fungsi yang kita harapkan.
Modul METODE NUMERIK
| 37
Pada tulisan ini lebih diutamakan cara menyelesaikan berbagai persamaan diferensial (bukan cara menyusun persamaan diferensial). Cara penyusunan data dalam persamaan diferensial disajikan dalam kuliah pemodelan matematika. 3.2 Cara penyelesaian 3.2.1 Untuk Persamaan diferensial biasa yang dapat dipisahkan Tipe 1.
dP k dt
konstan
Hal ini dapat ditulis
dP kdt . Pada bagian ini kita telah menyatakan persamaan diferensial secara terpisah yaitu ruas kanan diferensial terhadap P saja dan diferensial terhadap t saja pada ruas kanan . Oleh karena itu persamaan tersebut dapat diintegralkan. Yaitu :
dP kdt diperoleh P = kt + c dengan dengan c adalah konstan sembarang. Diperoleh fungsi P yaitu fungsi linear terhadap t. Contoh 3.2 Jika data berpola linear, dalam kalkulus disajikan dalam bentuk fungsi linear sebut sebagai P kt c . Sedangkan dengan persamaan diferensial disajikan dalam bentuk persamaan diferensial. Dapat berarti berbagai nilai t adalah konstan. Tipe 2.
dP kP dt
38 | Dr. Hanna A Parhusip
dP k dt
(gradien dari P) untuk
yang mempunyai penyelesaiaan Pt Ce kt . Bagaimana perilaku Pt saat
t ?. Perhatikan bahwa nilai P(t) tergantung dari parameter pada eksponen. Hal ini dapat ditulis dalam bentuk simbol sebagai berikut
, ketika t P(t ) 0 , ketika t Tanda menunjukkan bahwa saat C dan k positif maka P(t) bernilai positif dan negatif ketika C negatif dan k positif. Sedangkan P(t) bernilai 0 ketika k negatif baik C positif maupun negatif. Tipe 3. (persamaan diferensial logistik) Bentuk persamaan diferensial logistik adalah dP P k P1 dt K K,k : parameter
Untuk dapat menyelesaikan persamaan diferensial ini, marilah kita lakukan tahap demi tahap. Tahap 1 Dapatkah dipisahkan ? Diselidiki sebagai berikut.
Ruas kanan : kdt merupakan diferensia l dalam t Ruas kiri :
dP P P1 K
1 P P1 K
dP
Jadi persamaan diferensial logistik dapat dipisahkan yaitu ruas kiri diferensial dalam P dalam dan ruas kanan diferensial dalam t. Jadi dapat diintegralkan masingmasing untuk mendapatkan fungsi P dari kiri dan mendapatkan fungsi t dari kanan. Yaitu
. dP kdt P P1 K
($)
Modul METODE NUMERIK
| 39
Tahap 2. Mengintegralkan masing-masing ruas
Ruas kiri :
1 P P1 K
dP ? bentuk yang tidak standard
Kita mengatakan bentuk tidak standard karena tidak mengikuti bentuk rumus baku yang biasa muncul. Oleh karena itu perlu dicari bentuk standard yang mirip. Bentuk standard yang dimaksud adalah
1
u du
du ln u c . u
Oleh karena itu kita harus menyusun
(*)
1 1dP dalam bentuk du u P P 1 K
berikut. Perhatikan caranya. Tulis
1 P P1 K
A B dengan A dan B dicari P P 1 K
Jadi P A1 BP 1 K menyamakan penyebut P P P 1 P 1 K K P 1 A1 BP K A 1 A B P K Dengan menyamakan ruas kiri dan ruas kanan diperoleh
1 A dan B
Karena A 1 maka B
40 | Dr. Hanna A Parhusip
1 . Sehingga K
A 0. K
sebagai
1 1 K . P P P P 1 1 K K 1
Oleh karena itu 1 . 1 1 K dP dP dP P P P 1 P 1 K K
Jadi 1 1 . P dP P dP KP dP 1 P1 K K
(a)
1
Suku pertama ruas kanan sudah standard (lihat *) yaitu 1
P dP ln P c .
(b)
1
Suku kedua ruas kanan belum standard. Oleh karena itu perlu dihitung secara tersendiri. 1 1 1 KP dP K P dP . 1 1 K K
Bentuk
1 1
P K
disubstitusi yaitu U 1
(**)
P 1 1 P. K K
Cara memilih bentuk yang disubstitusi tidak ada aturan khusus. Anda perlu banyak berlatih (jam terbang dalam menyelesaikan soal). Selanjutnya perlu semua ekspresi dalam integral terhadap variabel baru yang digunakan dalam substitusi. Yaitu perlu dU yaitu
dP
dU 1 dU . Sehingga dP . Sehingga 1 dP K K
dU KdU . Oleh karena itu persamaan (**) menjadi 1 K Modul METODE NUMERIK
| 41
1 1 1 dU dU dP ( K ) ln U C2 P K 1 K U U K (c)
Kesimpulan: dari hasil (a)-(c) dapat diperoleh
1 1 dP P dP P KP dP 1 P 1 K K P ln P C1 ln 1 C2 K 1
P ln P ln 1 C1 C2 K P ln P C1 ln 1 C2 K P ln C , dengan C C1 C2 . P 1 K P ~ P Persamaan ($) menjadi ln kt C C kt c atau ln P P 1 1 K K Hingga saat ini , P(t) belum dinyatakan secara eksplisit. Umumnya, kita lebih menyukai bentuk eksponen, sehingga solusi ini masih disederhanakan yaitu
ln
P ~ ~ P ~ ln e kt ln C ln Ce kt sehingga Ce kt P P 1 1 K K
P
~ Ce kt atau
PK ~ Ce kt K P
K P K K ~ ~ ~ PK Ce kt K P CKe kt PCe kt . ~ ~ P K Ce kt CKe kt Jadi
42 | Dr. Hanna A Parhusip
~ CKe kt P . ~ K Ce kt
(s.1)
~
Untuk mendapatkan skalar C maka gunakan nilai awal sebutlah pada t=0 nilai P0
~ ~ CKe k ( 0 ) CK diketahui. Jadi P0 ~ ~ K Ce k ( 0) K C ~ ~ P0 K P0C CK
~
~
atau
~ ~ P0 K C C K atau
~
Sehingga P0 K CK P0C C ( K P0 ) . Jadi
KP0 ~ C K P0
P0 . P0 1 K
(s.2)
Jadi substitusikan persamaan (s.2) ke persamaan (s.1) diperoleh ~ ~ CKe kt 1 / C Ke kt Ke kt Ke kt P ~ kt ~ kt K Ce 1 / C K P0 kt K P0 kt A e K e e KP P 0 0
A=
dengan
K P0 . Jadi P0
Ke kt K P0 P(t ) dengan . kt Ae P0
Solusi ini yang biasa digunakan dalam pemodelan dan dibahas dengan pengembangan yang melibatkan faktor yang lain(Stewart, Kalkulus II,1998).
Contoh 3.3 Perhatikan
dy xy . dx Apakah persamaan diferensial ini dapat disusun terpisah sebagaimana dimaksud pada penjelasan di atas? Jika ya lakukan pemisahan (tidak perlu diintegralkan), sebutkan manakah yang variabel bebas dan tak bebas
Modul METODE NUMERIK
| 43
Jawab: y : variabel tak bebas x : variabel bebas Persamaan diferensial dapat dipisahkan yaitu
dy y
diferensial dalam y saja
2. Perhatikan
xdx diferensial dalam x saja
du t u 2 . Apakah dapat dipisahkan ?. dt
Jawab : Variabel u adalah variabel tak bebas dan t adalah variabel bebas. Persamaan diferensial dapat dipisahkan yaitu
du t u 2 dt du tdt u2 Latihan soal 3.1 Tuliskan variabel bebas dan tak bebas untuk masing-masing soal berikut. Selidiki apakah metode pemisahan variabel dapat digunakan?. Jika ya selesaikan, dan jika tidak berikan penjelasan anda.
dy y2 dx
4.
dy e 3 x dx 4 y 3
5. yy x
6.
dy te t dt y 1 y 2
3.
8.
du 2 2u t tu dt
44 | Dr. Hanna A Parhusip
7. y
9.
xy 2 Iny
dz etz 0 dt
Kesimpulan Selama ini kita telah belajar persamaan diferensial dapat dipisahkan. Secara umum dapat ditulis
dP f P g t yang dapat disajikan sebagai dt dp g t atau f P 1 U P dP g t dt , dengan U P f P Jadi ruas kiri diferensial dalam P saja dan ruas kanan sebagai diferensial dalam t saja. Akan tetapi tidak semua persamaan diferensial dapat disajikan dalam persamaan diferensial terpisah. Oleh karena itu perlu dikembangkan teknik penyelesaian yang lain. 3.2.2 Metode Faktor Integral Contoh 3.4 Perhatikan masalah nilai awal
t 2 y ty 1 dengan y1 2 . Disebut masalah nilai awal karena persamaan diferensial tersebut ditentukan nilai 2 awal yaitu pada t 1 maka y 2 yang ditulis y1 2 . Perhatikan t y ty 1 .
Sebelum memperkenalkan teknik lain, apakah persamaan diferensial dapat diselesaikan dalam bentuk persamaan diferensial terpisah?. Jika ya, ikuti cara penyelesaian Persamaan Diferensial terpisah.
t 2 y ty 1 variabel tak bebas : y, variabel bebas : t dy y dt Modul METODE NUMERIK
| 45
2 Sehingga t
Ditulis t 2
dy ty 1. (dicoba disajikan dalam bentuk U(P)dP=f(t)dt). dt
dy 2 1 ty atau t dy 1 ty dt dt memuatt dan y memuatt dan y
Jadi tidak dapat diselesaikan secara terpisah. Bagaimana cara menyelesaikannya ? Penyelesaian Persamaan Diferensial yang tidak dapat terpisah diselesaikan dengan cara faktor integral (J. Stewart, kalkulus 2, hal 48-49). Sebagai bentuk umum persamaan diferensial yang dapat diselesaikan dengan faktor integral adalah sebagai berikut:
dU Pt U Qt dt
(3.10.a)
disebut persamaan diferensial tingkat (orde) 1 dengan P dan Q sebagai fungsi kontinu pada selang yang diberikan.
dU P t U Q t . dt
(3.10.b)
Variabel bebas adalah t dan variabel tak bebas adalah U. Jadi kita perlu mencari U(t). Koefisien
dU harus 1. dt
Contoh 3.4 Selesaikan dengan faktor integral
t 2 y ty 1, y1 2 . Perhatikan
t 2 y ty 1 .
Tanda
t 2 y ty 1 dapat ditulis t 2
(3.11.a)
y disini
y
dy . dt
Sehingga
dy ty 1 . Bentuk tersebut harus disusun dalam dt
bentuk umum (persamaan 3.10.b), yaitu:
46 | Dr. Hanna A Parhusip
berarti
t2
dy ty 1 dt
Kedua ruas dikalikan
(3.7.b)
1 dy karena koefisien belum 1. Sehingga persamaan 2 dt t
(3.3.7.b) dapat ditulis sebagai
1 2 dy 1 t ty 1 2 2 t dt t dy 1 1 y 2 dt t t Dengan mengikuti notasi pada bentuk umum, maka diperoleh:
Pt
1 1 dan Qt 2 . t t
Oleh karena sudah standard maka metode faktor integral dapat digunakan. Kesimpulan (metode faktor integral) Soal harus memiliki bentuk persamaan diferensial linear tingkat satu yang umum yaitu:
dU Pt U Qt . dt
(3.8)
Faktor integral disimbolkan I t yaitu
I t e
P t dt
.
(3.9)
Kedua ruas persamaan (3.8) dikalikan dengan I t yaitu
dU Pt U I t Qt I t . dt
(3.10)
Kemudian selesaikan persamaan (3.3.10) dengan mengintegralkan.
Modul METODE NUMERIK
| 47
Contoh 3.5 Kembali pada contoh 3. 4 : t 2 y ty 1, y1 2 .
1 1 y y 2 , y 1 2 . t t
Dapat ditulis sebagai Bentuk soal menjadi
dy 1 1 y 2. dt t t
(*)
Mengikuti bentuk umum persamaan maka diperoleh
Pt
I t e Sehingga disusun
1 1 dan Qt 2 . t t
1
t dt . Bentuk
1
t dt
dicari yaitu
1
t dt ln t c
1
.
Jadi
I t e
1
t dt
e Int c1 e Int e c1 K1e Int dan K1 e c1 K1t
Untuk selanjutnya digunakan K1 1. Kalikan kedua ruas dengan faktor integral
I t pada persamaan (*) yaitu : t
dy 1 y . dt t
Integralkan kedua ruas dalam t. Diperoleh
dy
1
t dt y dt t dt .
48 | Dr. Hanna A Parhusip
(**)
Perhatikan bahwa sesungguhnya y = y(t). Oleh karena itu akan menyusun
d . dy dalam bentuk sebagai dan kita akan mencari yang harus termuat t y dt dt dalam tanda kurung akan tetapi tidak merubah makna. Hal ini dilakukan dengan tujuan agar kita dapat menyusun persamaan (**) dalam bentuk umum sebagai berikut:
d . dt . c . dt
Kita mengetahui bahwa
(***)
d ty dt dy dy y t yt . Oleh karena itu dt dt dt dt
persamaan (**) menjadi
ty dt d dt
1 ty c1 dt ln t c2 1 t t dt . ty ln t K dengan K c2 c1
Jadi penyelesaian umum untuk contoh 3.5 adalah
y
ln t K . t t
Agar memenuhi nilai awal y1 2 maka K harus ditentukan.
ln 1 K y 1 t 1 Untuk maka 1 1 2 In1 K 0 K . Jadi K = 2. Sehingga penyelesaian yang memenuhi nilai awal adalah
y
ln t 2 atau ty ln t 2 . t t
Latihan soal 3.2 ( J.Stewart, kalkulus 2, hal 52-53) I. Selesaikan persamaan diferensial berikut ini. 1.
y 2 y 2e x
2.
y x 5 y
Modul METODE NUMERIK
| 49
3.
y 2 xy x
4.
y 2 xy x
5.
xy 2 y e x
6.
y cos x y sin x sin 2 x ; x 2 2
7.
1 xy xy
8.
dy 2 xy x 2 dx
9.
x2
2
dy 2 xy cos x dx
II. Selesaikan masalah nilai awal berikut 1.
du 2u 0.1, u 0 1.0 . dt
2.
du 2u 0.1t , u 0 0 . dt
3
du u t , u 0 0 . dt
Beberapa soal dibahas.
du 2u 0.1, u 0 1.0 dt Perhatikan
du 2u 0.1 . dt
Dapat ditulis
du dt 2u 0.1
dapat sebagai PD terpisah
Solusi yang diinginkan adalah u u t (yang dicari)
50 | Dr. Hanna A Parhusip
(3.11)
Ruas kiri :
du 1 f u du dengan f u . Bagaimanakah menyelesaikan 2u 0.1 2u 0.1 du
2u 0.1 ? . Bentuk ini belum standard terhadap bentuk standard
d .
. Jadi
ln . c1 .
(3.12)
du
2u 0.1 perlu disusun dalam bentuk standard yaitu dengan substitusi.
Misal P 2u 0.1 sehingga
du
dP dP 2 . Jadi du . Sehingga du 2 1 dP . P
2u 0.1 2
(3.13)
Persamaan (3.13) sudah berbemtuk standard seperti persamaan (33.12). Jadi
du
1 dP 1 1 ln P c1 ln 2u 0.1 c1 . P 2 2
2u 0.1 2
Ruas kanan dari persamaan (3.3.11) adalah
dt sehingga dt t c2 .
(3.14)
Dari persamaan(3.3.11)-(3.3.14) diperoleh
1 ln 2u 0.1 c1 t c 2 . 2 Jadi
1 ln 2u 0.1 t K , dengan K c 2 c1 . Dengan kata lain 2
Modul METODE NUMERIK
| 51
ln 2u 0.1 2t C, dengan C 2K .
(3.15)
Disini u tidak dinyatakan sebagai fungsi t secara eksponen. Jika dikehendaki , ditunjukkan pada berikut ini. Ingat
e ln x x . Gunakan pada persamaan (3.15) diperoleh
ln 2u 0.1 2t c 2u 0.1 e 2t c e 2t .e c karena e ab e a eb Sehingga kita dapat menulis sebagai
2u 0.1 Ae2t , A e c . Atau 2u Ae2t 0.1 sehingga
u
Ae 2t 0.1 2
.
Untuk mendapatkan A perlu digunakan u 0 1.0 .
1 A
1 0.1 2 A 0.1 2 0.1 A 2
Diperoleh A = 1.9. Jadi
1.9e 2t 1 u . 2 Kesimpulan Persamaan Diferensial yang telah kita pelajari, persamaan diferensial tingkat satu sebagai 1.
1 PD Terpisah
2.
PD Linear Tingkat Satu dengan Faktor Integral Dapat diketahui penyelesaian persamaan diferensial biasa (PDB) orde 1
yang berbentuk dy P ( x) y Q ( x) secara umum adalah dx
52 | Dr. Hanna A Parhusip
P ( x ) dx P ( x ) dx dx . y ( x) e Q ( x ) e
(3.16)
Bukti: Formula (3.16) diperoleh dengan dy P ( x) y Q ( x) mencari faktor integral dx
I ( x) e
P ( x ) dx
.Dengan mengalikan kedua ruas I ( x) e
P ( x ) dx dy P ( x ) dx Q ( x )e P( x) y e dx
P ( x ) dx
diperoleh
P ( x ) dx dy P ( x ) dx P ( x ) dx P ( x) ye Q ( x )e atau e
dx
Dengan mengintegralkan kedua ruas diperoleh P ( x ) dx P ( x ) dx P ( x ) dx dy P( x) ye dx . dx Q( x)e dx
e
Integral ruas kiri adalah P ( x ) dx P ( x ) dx dy P ( x ) dx . P( x) ye dx = y( x)e dx
e
Jadi solusi dy P ( x) y Q ( x) adalah dx
P ( x ) dx y ( x )e
= Q( x)e P ( x ) dx dx atau
P ( x ) dx P ( x ) dx y ( x) e Q( x) e dx .
Modul METODE NUMERIK
| 53
BAB 4 METODE INTERPOLASI
Pada bagian ini kita banyak menggunakan MATLAB sehingga perlu dasardasar pemrograman dengan MATLAB. Hal ini sudah dipelajari pada mata kuliah yang lain sehingga kita hanya menggunakan saja. Tema: Latihan soal interpolasi Yang lalu kita lanjutkan dengan interpolasi cubic spline dan chebyshev 4.1 Interpolasi cubic spline Diketahui fungsi analitik: y=cos(x) dan kita mempunyai beberapa pasang
( xk , yk ) Pasangan titik tersebut disediakan pada Tabel 4.1
Tahap 1. Kerjakan seperti pada Tahap 1 dengan interpolasi dengan Lagrange dan Newton yaitu menyediakan titik-titik Tahap 2. Edit program yang menggunakan spline (lihat dosplineku.m) 4.2 Interpolasi Chebyshev File: fku2.m; cheby.m; Cobacheb1.m Tahap 1. Menyusun fungsi cos(x) function y = fku2(x) y=cos(x);
Tahap 2. Menggunakan fungsi cheby.m untuk menyusun polynomial Chebyshev pada file Cobacheb1.m clear close all
54 | Dr. Hanna A Parhusip
N = 5; %derajat polinomial a = -pi; b = pi; [c,x1,y1] = cheby('fku2',N,a,b) %Chebyshev polynomial ftn xx = [-pi: 0.02 : pi]; yy = polyval(c,xx); %interpolate for [-2,2] figure clf, plot(xx,yy,'r-') hold on x=linspace(a,b,5);y=cos(x); plot(x,y,'*') %plot the graph
Keluaran program
Gambar 4.1 Tanda * adalah fungsi analitik y=cos(x)
sedangkan kurva halus merupakan polynomial chebyshev dengan memperbanyak titik. Catatan : Bagaimana menyusun polinomial Chebyshev ?. Diketahui bahwa N
f ( x) c N ( x) d mTm ( x' ) m 0
x '
2 x a 2 b ba
Modul METODE NUMERIK
| 55
Dari program diperoleh c=[-0.0000
0.0248
0.0000 -0.4411 -0.0000
0.9680]
Penyusunan polinomial dalam bentuk itu telah dilakukan secara otomatis pada fungsi cheby.m Jadi penulisan polinomial dapat mengikuti pola standard yaitu
p5 ( x) -0.0000 x 5 0.0248 x
4
0.0248 x 4 -0.4411x
0.0000 x 3 -0.4411x 2 -0.0000 x 2
0.9680
0.9680
Sedangkan untuk mengilustrasikan dalam bentuk grafik, kita telah menambah beberapa titik lain pada interval domain dan menggunakan fungsi polyval (dari MATLAB) untuk mencari nilai polinomial tiap titik, yaitu pada perintah: xx = [-pi: 0.02 : pi]; yy = polyval(c,xx); %interpolasi untuk x pada [-2,2]
Latihan soal 4.1 Misalkan diberikan data x=[0 0.6236 0.6854 1.2472 1.4708 1.6708 3.3916 4.7124 2.3562 6.1832]
2.0708
1.3208 3.0416
Misalkan diberikan data y adalah: y=[0 0.5840 0.6330 0.7481 0.8950 -0.2474 -1.0000 0.6071 -0.1298]
0.9450 0.8576
0.9189
Jika diilustrasikan pasangan xi , yi ditunjukkan pada Gambar 4.2.
Gambar 4.2 Hubungan data (x,y) secara grafik
56 | Dr. Hanna A Parhusip
0.0928
Pertanyaan: Anggap pasangan data tersebut memenuhi fungsi kontinyu y=sin(x) artinya diharapkan data (x,y) memenuhi fungsi tersebut. (a) Nyatakan dalam interpolasi cubic spline (b) Nyatakan pasangan data tersebut dengan interpolasi chebyshev order 8 (c) Nyatakan pasangan data tersebut dengan interpolasi Newton order 8 Analisalah hasil anda dan berilah keterangan analisa anda
Latihan soal 4.2 Lakukan data yang sama pada soal 1 dengan fitting kurva. Anggap data tersebut merupakan polinomial derajat 5. Gunakan fungsi polyfit.m
Soal test 1. Suatu hasil eksperimen menunjukkan bahwa pada setiap pengukuran nilai x berikut diperoleh nilai y x=[-6.332 -4.911 -3.4902 -2.0944 -0.6981 0.6981 2.0944 3.4907 4.911 6.332] y=[0.1 -1.6321 1.5321 -0.2 -1.821 1.7521 -0.2 -1.5321 1.6321 -0.1] Catatan: sketsalah jawaban anda dengan tangan sesuai dengan keluaran program Posisi titik menyesuaikan I.
Asumsikan bahwa y=f(x) dengan asumsi
3 2 (1) Fungsi cubik y ax bx cx d
a. Tuliskan sistem persamaan linear untuk mencari koefisien dari fungsi tersebut b. Selesaikan sistem persamaan linear tersebut dengan cara yang anda kenal dan buatlah tabel nilai y pendekatan yang anda peroleh. c. Apakah hasil anda cukup baik ?. Jelaskan.
(2) Fungsi trigonometri y=2.1 sin(2.3*x) a.
Susunlah polinomial order 7 yang mendekati fungsi tersebut dengan metode Newton melalui program newtonp.m Modul METODE NUMERIK
| 57
(b) Gambarkan ilustrasi data (ditandai dengan (*)) dan pendekatan ditandai dengan (‘ro-‘) artinya bernoktah o- dan berwarna merah (c) Jelaskan bagaimana anda mendefinisikan error dan berapa error yang diperoleh (d) Kerjakan dengan Chebyshev. Ilustrasikan pada 1 gambar: hasil newtonp.m, hasil chebyshev dan data II. (a) Gunakan fungsi spline dari MATLAB untuk mendekati y=f(x) (tuliskan parameter yang anda gunakan). Ilustrasikan dalam grafik dengan pola (‘o-‘) (b) Gabungkan hasil (a) dengan fungsi polyfit (fungsi dari MATLAB) untuk interpolasi polynomial order 7, tandai keluaran pada Gambar (a) dengan (‘*’) Catatan: keluaran (a)-(b) adalah Gambar 4.3. (c) Susunlah nilai y hasil pendekatan fungsi polyfit pada vektor baris. (d) Bagaimana anda menganalisa hasil ini ? (berapa % error terhadap data, mana yang lebih baik) 2
y
0 data spline polyfit order 7
-2 -4 -8
-6
-4
-2
0
2
4
6
8
x
Gambar 4.3 Keluaran /Jawaban soal test 1
4.3 Interpolasi polinomial dan turunan Pada bagian ini kita menggunakan fungsi-fungsi pada MATLAB seperti lagranp untuk interpolasi polynomial dan polyder.m untuk mendapatkan
58 | Dr. Hanna A Parhusip
derivatif numerik apabila kita diberikan hanya file data yang mengandung beberapa data. Langkah ini bisa untuk membuat fungsi interpolasi dengan menggunakan salah satu metode yang dijelaskan dalam Bab 4.1 dan mendapatkan turunan dari fungsi interpolasi. Beberapa contoh kegiatan diambil dari literature (Wong,dkk,2005). Pada Tabel 4.2 dibuat program menggunakan "lagranp()" untuk menemukan polinomial interpolasi, juga sering menggunakan "polyder()" untuk membedakan polinomial dan menghitung kesalahan yang dihasilkan turunan dari nilai sebenarnya. Mari kita jalankan dengan x yang didefinisikan tepat sesuai dengan serangkaian titik data yang diberikan dan melihat hasilnya. Contoh 4.3 Misal kita akan mencari turunan dari f(x) = x pada x = π/4, dimana fungsi diberikan sebagai salah satu set titik data berikut: Kasus 1
3 3 , sin , , sin , , sin 8 4 4 8 8 8
Karena ada 3 titik data, dinyatakan dalam poliomial lagrang orde-2 sedangkan turunannya sebagai polinomial orde-1. Dengan Geogebra kita dapat mencoba menggambar.
Gambar 4.4 Kasus 1
Modul METODE NUMERIK
| 59
Tabel 4.2 Penyelesaian dengan MATLAB Program
Keluaran
clear
x = 0.3927 0.7854 1.1781
x = [pi/8 pi/4 3*pi/8]
y =0.3827 0.7071 0.9239
y = [sin(pi/8) sin(pi/4) sin(3*pi/8)]
px =-0.3490 1.2373 -0.0494
px = lagranp(x,y) % Lagrange polynomial
ypolinomial =0.3827 0.7071 0.9239
interpolating (x,y)
dpx =-0.6981 1.2373
ypolinomial=polyval(px,x)
dfx =0.9632 0.6891 0.4149
dpx = polyder(px) % derivative of polynomial
bandingfungsi =0.3827 0.3827
px
0.7071 0.7071
dfx = polyval(dpx, x)
0.9239 0.9239
bandingfungsi=[y' ypolinomial']
bandingturunan =
bandingturunan=[cos(x)' dfx']
0.9239 0.9632
0.7071 0.6891 0.3827 0.4149
Pada tabel 4.2 kolom keluaran diperoleh nilai fungsi dan nilai turunan. Nilai turunan eksak pada variabel bandingturunan kolom ke-1, sedangakan pendekatannya pada kolom ke-2. Dapat dilihat bahwa keduanya mempunyai hasil yang cukup dekat.
Kasus 2 Scara sama dengan kasus 1, dipelajari untuk proram-program titik berikut ini:
3 3 (0, sin 0), , sin , , sin , , sin 8 4 4 8 8 8 Yang diilustrasika dalam gambar 4.5.
60 | Dr. Hanna A Parhusip
4 4 , sin , 8 8
Gambar 4.5 Kasus 2 Tabel 4.3 Penyelesaian dengan MATLAB Kasus 2 Program
Keluaran
clear
x =0 0.3927 0.7854 1.1781 1.5708 y =0 0.3827 0.7071 0.9239 1.0000 px =0.0287 -0.2036 0.0200 0.9963 0 ypolinomial =0 0.3827 0.7071 0.9239 1.0000 dpx =0.1149 -0.6108 0.0399 0.9963 dfx =0.9963 0.9248 0.7066 0.3835 0.0028 bandingfungsi = 0 0 0.3827 0.3827 0.7071 0.7071 0.9239 0.9239 1.0000 1.0000 bandingturunan = 1.0000 0.9963 0.9239 0.9248 0.7071 0.7066 0.3827 0.3835 0.0000 -0.0028
x = [0 pi/8 pi/4 3*pi/8 4*pi/8] y = [sin(0) sin(pi/8) sin(pi/4) sin(3*pi/8) sin(4*pi/8)] px = lagranp(x,y) % Lagrange polynomial interpolating (x,y) ypolinomial=polyval(px,x) dpx = polyder(px) % derivative of polynomial px dfx = polyval(dpx, x) bandingfungsi=[y' ypolinomial'] bandingturunan=[cos(x)' dfx']
Pada tabel 4.3 kolom keluaran diperoleh nilai fungsi dan nilai turunan. Nilai turunan eksak pada variabel banding turunan kolom ke-1, sedangkan pendekatan-
Modul METODE NUMERIK
| 61
nya pada kolom ke-2. Dapat dilihat bahwa keduanya mempunyai hasil yang cukup dekat.
Kasus 3 Scara sama dengan kasus 1 dan kasus 2, dipelajari untuk proram-program titik berikut ini:
2 2 3 3 4 4 5 5 6 6 , sin , sin , sin , , sin , , , sin , 16 16 16 16 16 16 16 16 16 16 Yang diilustrasikan dalam gambar 4.6 dan program ditunjukkan pada Tabel 4.4.
Gambar 4.6. Kasus 3
62 | Dr. Hanna A Parhusip
Tabel 4.4 Penyelesaian dengan MATLAB Kasus 3 Program Clear x = [2*pi/16 3*pi/16 4*pi/16 5*pi/16 6*pi/16]%[1,5], angka 5 menunjukkan jumlah derajat y = [sin(2*pi/16) sin(3*pi/16) sin(4*pi/16) sin(5*pi/16) sin(6*pi/16)]%nilai eksak px = lagranp(x,y) % Lagrange polynomial interpolating (x,y) ypolinomial=polyval(px,x) dpx = polyder(px) % derivative of polynomial px dfx = polyval(dpx, x) bandingfungsi=[y' ypolinomial'] bandingturunan=[cos(x)' dfx']
Keluaran x = 0.3927 0.5890 0.7854 0.9817 1.1781 y =0.3827 0.5556 0.7071 0.8315 0.9239 px =0.0293 -0.2087 0.0298 0.9897 0.0014 ypolinomial =0.3827 0.5556 0.7071 0.8315 0.9239 dpx = 0.1171 -0.6261 0.0596 0.9897 dfx =0.9237 0.8315 0.7071 0.5556 0.3825 bandingfungsi = 0.3827 0.3827 0.5556 0.5556 0.7071 0.7071 0.8315 0.8315 0.9239 0.9239 bandingturunan = 0.9239 0.9237 0.8315 0.8315 0.7071 0.7071 0.5556 0.5556 0.3827 0.3825
Pada tabel 4.4 kolom keluaran diperoleh nilai fungsi dan nilai turunan. Nilai turunan eksak pada variabel bandingturunan kolom ke-1, sedangkan pendekatannya pada kolom ke-2. Dapat dilihat bahwa keduanya mempunyai hasil yang cukup dekat. Ini menggambarkan bahwa jika kita memiliki lebih banyak titik yang dibagikan lebih dekat ke titik sasaran, kita mungkin mendapatkan hasil yang lebih baik.
Modul METODE NUMERIK
| 63
BAB 5 PROYEK METODE NUMERIK
5.1 Studi kasus Mocorin Pada bagian ini akan dilakukan studi numerik yang berdasarkan data yang ada di sekitar kita. Berbagai pendekatan data sebagai fungsi sudah ditunjukkan. Sedangkan bagian ini akan dilakukan sebuah praktikum dimana data diambil dari penelitian (Kristianingsih, dkk,2013). Data yang digunakan merupakan data Mocorin sebagai hasil fermentasi dari jagung dengan penambahan bekatul.Salah satu varietas unggul jagung yang dipilih sebagai benih adalah Bisi 2 (Silvia, 2012). Pada penelitian Silvia analisa secara statistik telah dilakukan dalam menentukan dan membandingkan nilai gizi mocorin antar berbagai perbandingan jagung kuning varietas Bisi 2 untuk mengoptimalkan kandungan proksimat (kadar karbohidrat, protein, air, abu, lemak, dan serat). Terdapat 5 macam proporsi penambahan bekatul yang digunakan, yaitu 0%, 12,5%, 25%, 37,5%, dan 50%. Pada hasil perhitungan secara statistik ini adalah tidak dapat dicari nilai-nilai kadar kandungan proksimat yang optimal yang terbentuk dari para pengoptimalnya. Hal inilah yang kemudian menjadi pokok bahasan dalam melakukan penelitian lebih lanjut yaitu untuk mengetahui nilai kandungan proksimat optimal dari hasil hubungan nilai-nilai pengoptimalnya. Terdapat berbagai algoritma yang digunakan tetapi pada bagian ini akan digunakan algoritma genetik (AG). Beberapa penelitian telah menggunakan seperti untuk menyelesaikan permasalahan optimasi dan pemodelan pada berbagai bidang. Pada bidang kimia digunakan untuk mengestimasi parameter pada model kinetic (Katare, dkk. 2008) dan optimasi pada sekumpulan proses kimia (Mokeddem, 2010). Selain digunakan di bidang kimia. Pada bidang ekonomi, seperti memodelkan penjadwalan yaitu cobweb-type (Dawid, dkk., 1998). AG juga digunakan untuk mengoptimasi masalah penjadwalan flow-shop (Gunawan, 2003) dan optimasi penjadwalan kegiatan belajar mengajar (Nugraha, 2008). Pada bidang fisika
64 | Dr. Hanna A Parhusip
mengatasi permasalahan pada acelerator fisika (Hofler, dkk. 2013) juga menggunakan AG. Oleh karena itu, AG digunakan pada penelitian ini karena algoritma ini termasuk teknik pencarian yang telah terbukti robust (tangguh), adaptif, dan efisien (Goldberg, 1989). 5.1.1 Model dan Algoritma yang Digunakan Di bawah ini adalah fungsi-fungsi yang digunakan untuk memodelkan fungsi tujuan untuk karbohidrat dan protein. Karbohidrat Untuk menyatakan karbohidrat sebagai fungsi massa dan absorbansi digunakan fungsi tujuan untuk karbohidrat yaitu fungsi eksponensial: 𝟐 −𝜷𝒚𝟐
𝒘 = 𝜸𝒙𝒆−𝜶𝒙
(5.1)
di mana 𝛼, 𝛽, 𝛾 pada persamaan (5.1) dicari dengan menggunakan metode kuadrat terkecil, yaitu meminimalkan: 𝑅 = ∑𝑛𝑖=1(𝑊𝑖,𝑑𝑎𝑡𝑎 − 𝑊𝑖,𝑚𝑜𝑑𝑒𝑙 )2
(5.2)
di mana 𝑊𝑖,𝑚𝑜𝑑𝑒𝑙 adalah persamaan (5.1). Sebagaimana prosedur dalam kalkulus,
titik kritis R yang diperoleh harus memenuhi kondisi R 0 atau T
R R R = R
0
(5.3)
Persamaan (5.3) merupakan sistem persamaan tak linier yang perlu diselesaikan secara numerik. Algoritma yang digunakan adalah metode Newton (Peressini, 1988). Penyelesaian yang diperoleh merupakan penyelesaian kritis untuk R, sebutlah (𝛼 ∗ , 𝛽 ∗ , 𝛾 ∗ ). Untuk menyelidiki sifat (𝛼 ∗ , 𝛽∗ , 𝛾 ∗ ) perlu diamati sifat Hessian R di (𝛼 ∗ , 𝛽 ∗ , 𝛾 ∗ ) (Parhusip, 2012), yaitu
𝐻𝑅 =
𝜕2𝑅 𝜕𝛼 2
𝜕2 𝑅 𝜕𝛼𝜕𝛽
𝜕2𝑅 𝜕𝛼𝜕𝛾
𝜕2𝑅 𝜕𝛽𝜕𝛼 𝜕2𝑅
𝜕2 𝑅 𝜕𝛽2 𝜕2𝑅
𝜕2𝑅 𝜕𝛽𝜕𝛾 𝜕2𝑅
[ 𝜕𝛾𝜕𝛼
𝜕𝛾𝜕𝛽
𝜕𝛾 2
(5.4) ] Modul METODE NUMERIK
| 65
Jika matrik 𝐻𝑅 semi positive definite dimana nilai eigen λ ≥ 0, maka (𝛼 ∗ , 𝛽 ∗ , 𝛾 ∗ ) merupakan peminimum R (Peressini, 1988). Setelah diketahui parameter optimal, dilakukan perhitungan dengan menggunakan algoritma genetik. Protein Untuk menyatakan protein sebagai fungsi karbohidrat, model yang digunakan adalah fungsi eksponensial: 𝒑 = 𝒂𝒆−𝒃𝒌
(5.5)
di mana a dan b pada persamaan (5.5) dicari dengan menggunakan metode kuadrat terkecil, yaitu meminimalkan : 𝑅 = ∑𝑛𝑖=1(𝑃𝑖,𝑑𝑎𝑡𝑎 − 𝑃𝑖,𝑚𝑜𝑑𝑒𝑙 )2
(5.6)
dimana 𝑃𝑖,𝑚𝑜𝑑𝑒𝑙 adalah persamaan (5.5) . Sebagaimana prosedur dalam kalkulus,
titik kritis R yang diperoleh harus memenuhi kondisi R 0 atau R R = R a b T
0
(5.7)
Sama seperti persamaan (5.3), persamaan (5.7) merupakan sistem persamaan tak linier yang perlu diselesaikan secara numerik. Penyelesaian yang diperoleh merupakan penyelesaian kritis untuk R, sebutlah (𝑎∗ , 𝑏 ∗ ). Untuk menyelidiki sifat (𝑎∗ , 𝑏 ∗ ) perlu diamati sifat Hessian R di (𝑎∗ , 𝑏 ∗ ), yaitu
𝐻𝑅 =
𝜕2 𝑅 2 [ 𝜕𝑎2 𝜕 𝑅 𝜕𝑏𝜕𝑎
𝜕2𝑅 𝜕𝑎𝜕𝑏 ] 𝜕2𝑅 2 𝜕𝑏
5.1.2 Data untuk diolah (i) Data Kadar Karbohidrat pada Mocorin
66 | Dr. Hanna A Parhusip
(5.8)
Tabel 5.1 Data Karbohidrat pada Mocorin dengan berbagai perbandingan MOCORIN dengan Perbandingan Jagung: Bekatul (100 : 0) (artinya tanpa bekatul) Ulangan
Massa sampel (gram)
Absorbansi
Kadar Karbohidrat (%)
Ratarata
1
0.1035
0.706
60.5747
59.42
0.1035
0.68
58.2721
0.1035
0.634
54.1984
0.1035
0.721
61.9031
0.1035
0.638
54.5526
0.1035
0.67
57.3865
0.1084
0.382
60.8805
0.1084
0.37
58.8512
0.1084
0.388
61.8952
0.1116
0.371
57.328
0.1116
0.393
60.9418
0.1116
0.391
60.6132
0.1057
0.357
58.0999
0.1057
0.372
60.7013
0.1057
0.41
67.2918
2
3
4
5
59.64
60.54
59.63
59.4
MOCORIN dengan Perbandingan Jagung : Bekatul (87,5:12,5) Ulangan
Massa sampel (gram)
Absorbansi
Kadar Karbohidrat (%)
Ratarata
1
0.105
0.47
39.1079
46.79
0.105
0.557
46.7025
0.105
0.559
46.877
0.105
0.567
47.5754
0.105
0.585
49.1467
0.105
0.654
55.17
0.1065
0.364
58.8683
0.1065
0.36
58.1798
0.1065
0.427
69.7125
2
3
48.36
58.52
Modul METODE NUMERIK
| 67
4
5
0.1026
0.294
48.599
0.1026
0.272
44.6681
0.1026
0.288
47.5269
0.1081
0.301
47.3134
0.1081
0.311
49.0092
0.1081
0.285
44.6
48.06
46.97
MOCORIN dengan Perbandingan Jagung : Bekatul (75:25) Ulangan
Massa sampel (gram)
Absorbansi
Kadar Karbohidrat (%)
Rata- rata
1
0.1014
0.511
44.2024
43.03
0.1014
0.485
41.8522
0.1014
0.462
39.7731
0.1014
0.506
43.7505
0.1038
0.266
43.0921
0.1038
0.269
43.6219
0.104
0.298
48.6498
0.104
0.293
47.7685
0.104
0.29
47.2397
0.1461
0.373
44.0415
0.1461
0.364
42.9122
0.1461
0.325
38.0187
0.1047
0.264
42.3715
0.1047
0.276
44.4726
0.1047
0.278
44.8228
2
3
4
5
43.49
47.89
43.48
43.89
MOCORIN dengan Perbandingan Jagung : Bekatul (62,5:37,5) Ulangan
Massa sampel (gram)
Absorbansi
Kadar Karbohidrat (%)
Rata – rata
1
0.1033
0.48
40.6388
40.33
0.1033
0.473
40.0176
0.1033
0.42
35.3149
0.0998
0.253
42.4313
0.0998
0.226
37.4718
0.0998
0.236
39.3087
2
68 | Dr. Hanna A Parhusip
39.74
3
4
5
0.1003
0.222
36.5539
0.1003
0.245
40.7577
0.1003
0.241
40.0266
0.1504
0.35
39.9789
0.1504
0.334
38.0288
0.1504
0.357
40.8322
0.1017
0.25
41.0979
0.1017
0.237
38.7546
0.1017
0.248
40.7373
40.39
40.41
40.20
MOCORIN dengan Perbandingan Jagung : Bekatul (50:50) Ulangan
Massa sampel (gram)
Absorbansi
Kadar Karbohidrat (%)
Rata – rata
1
0.1016
0.453
38.8829
38.25
0.1016
0.434
37.1688
0.1016
0.451
38.7025
0.1032
0.244
39.4347
0.1032
0.24
38.7242
0.1032
0.23
36.9478
0.1037
0.236
37.8303
0.1126
0.254
37.7707
0.1126
0.256
38.0963
0.1029
0.24
38.8371
0.1029
0.205
32.6018
0.1029
0.234
37.7682
0.1032
0.242
39.0794
0.1032
0.237
38.1913
0.1032
0.205
32.507
2
3
4
5
38.37
37.96
38.30
38.64
Modul METODE NUMERIK
| 69
(ii) Data Kadar Protein pada Mocorin MOCORIN dengan Perbandingan Jagung: Bekatul (100 : 0) Ulangan
Absorbansi
Faktor koreksi
Abs-faktor koreksi
Kadar Protein (%)
Rata rata
1
1.178
1.027
0.151
7.6042
7.97
1.187
1.027
0.16
8.0729
1.19
1.027
0.163
8.2292
0.548
0.484
0.064
6.1458
0.569
0.484
0.085
8.3333
0.563
0.484
0.079
7.7083
0.586
0.499
0.087
8.5417
0.594
0.499
0.095
9.375
0.867
0.743
0.124
6.1979
0.333
0.258
0.075
7.2917
0.337
0.258
0.079
7.7083
0.345
0.258
0.087
8.5417
0.441
0.354
0.087
8.5417
0.418
0.354
0.064
6.1458
0.424
0.354
0.07
6.7708
2
3
4
5
MOCORIN dengan Perbandingan Jagung: Bekatul (87,5:12,5) AbsorFaktor Abs-faktor Kadar Protein Ulangan bansi koreksi koreksi (%) 1
2
3
4
0.35
0.229
0.121
12.083
0.354
0.229
0.125
12.5
0.342
0.229
0.113
11.25
0.474
0.36
0.114
11.354
0.485
0.36
0.125
12.5
0.469
0.36
0.109
10.833
0.518
0.407
0.111
11.042
0.53
0.407
0.123
12.292
0.544
0.407
0.137
13.75
0.482
0.365
0.117
11.667
0.485
0.365
0.12
11.979
0.484
0.365
0.119
11.875
70 | Dr. Hanna A Parhusip
7.4
8.04
7.85
7.15
Rata rata 11.94
11.56
11.67
11.56
5
0.387
0.276
0.111
11.042
0.389
0.276
0.113
11.25
0.399
0.276
0.123
12.292
11.53
MOCORIN dengan Perbandingan Jagung: Bekatul (75:25) Ulangan
Absorbansi
Faktor koreksi
Abs-faktor koreksi
Kadar Protein (%)
Rata rata
1
0.352
0.21
0.142
14.271
14.24
0.35
0.21
0.14
14.063
0.353
0.21
0.143
14.375
0.521
0.354
0.167
16.875
0.367
0.236
0.131
13.125
0.497
0.354
0.143
14.375
0.313
0.189
0.124
12.396
0.333
0.189
0.144
14.479
0.325
0.189
0.136
13.646
0.373
0.226
0.147
14.792
0.367
0.226
0.141
14.167
0.366
0.226
0.14
14.063
0.499
0.311
0.188
19.063
0.481
0.329
0.152
15.313
0.468
0.329
0.139
13.958
2
3
4
5
14.79
13.51
14.34
14.64
MOCORIN dengan Perbandingan Jagung : Bekatul (62,5:37,5) Ulangan
Absorbansi
Faktor koreksi
Abs-faktor koreksi
Kadar Protein (%)
Rata rata
1
0.454
0.314
0.14
28.125
28.06
0.299
0.158
0.141
28.333
0.296
0.158
0.138
27.708
0.287
0.146
0.141
28.333
0.288
0.146
0.142
28.542
0.286
0.146
0.14
28.125
0.447
0.297
0.15
30.208
0.43
0.297
0.133
26.667
0.319
0.171
0.148
29.792
2
3
28.33
28.89
Modul METODE NUMERIK
| 71
4
5
0.228
0.09
0.138
27.708
0.247
0.101
0.146
29.375
0.229
0.09
0.139
27.917
0.297
0.159
0.138
27.708
0.304
0.159
0.145
29.167
0.289
0.15
0.139
27.917
28.33
28.26
MOCORIN dengan Perbandingan Jagung: Bekatul (50:50) Ulangan
Absorbansi
Faktor koreksi
Abs-faktor koreksi
Kadar Protein (%)
Rata rata
1
0.287
0.132
0.155
31.25
31.32
0.289
0.132
0.157
31.667
0.283
0.129
0.154
31.042
0.319
0.17
0.149
30
0.293
0.132
0.161
32.5
0.287
0.129
0.158
31.875
0.288
0.132
0.156
31.458
0.288
0.138
0.15
30.208
0.302
0.138
0.164
33.125
0.377
0.221
0.156
31.458
0.345
0.192
0.153
30.833
0.356
0.201
0.155
31.25
0.308
0.157
0.151
30.417
0.326
0.164
0.162
32.708
0.307
0.157
0.15
30.208
2
3
4
5
31.46
31.6
31.18
31.11
5.2 Program MATLAB untuk mendapatkan parameter fungsi tujuan karbohidrat dengan metode kuadrat terkecil Tahap 1. Menuliskan fungsi tujuan function R=cariLamdkkbaru(x) load banyakk.dat; %data karbohidrat dengan 5 proporsi penambahan bekatul
72 | Dr. Hanna A Parhusip
nokolom=3; xdataasli=banyakk(:,nokolom); xdata=xdataasli./max(xdataasli); xmasaasli=banyakk(:,1); %data massa pada kolom 1 xmasa=xmasaasli./max(xmasaasli); xabsasli=banyakk(:,2); %data abs pada kolom 2 xabs=xabsasli./max(xabsasli); lam=x(1);beta=x(2);tau=x(3) %parameter yang akan dicari for i=1:75 xmodel(i)=tau*xmasa(i)*exp(-lam*xmasa(i)^2-beta*xabs(i)^2); beda(i)=(xdata(i)-xmodel(i)); end R=beda;
x0 = [1 0.5 1]
% Dugaan lam,beta, tau
[x,fval] = lsqnonlin(@cariLamdkkbaru,x0) load banyakk.dat; nokolom=3; xdataasli=banyakk(:,nokolom); xdata=xdataasli./max(xdataasli); xmasaasli=banyakk(:,1); xmasa=xmasaasli./max(xmasaasli); xabsasli=banyakk(:,2); xabs=xabsasli./max(xabsasli);
Modul METODE NUMERIK
| 73
%fungsi lam=x(1);beta=x(2);tau=x(3) myfungsi=tau.*xmasa.*exp(-lam.*xmasa.^2-beta.*xabs.^2); banding=[xdata myfungsi] xdim=myfungsi*max(xdataasli); bandingdim=[xdataasli xdim] error=norm(xdata-myfungsi)/norm(xdata)*100 %sudah dalam % lam=x(1);beta=x(2);tau=x(3) optimizerpar=[lam beta tau] %mencari matriks Hessian xmasa=xmasa(1) xabs=xabs(1) G=xdata(1)-myfungsi(1) ini=exp(-lam.*xmasa.^2-beta.*xabs.^2) Vlam=tau.*xmasa.^3.*ini Vtau=-xmasa.*ini Vbeta=tau.*xmasa.*xabs.^2.*ini Vlamlam=-tau.*xmasa.^5.*ini Vlambeta=-tau.*xmasa.^3.*xabs.^2.*ini Vlamtau=xmasa.^3.*ini Vbetatau=xmasa.*xabs.^2.*ini Vbetabeta=-tau.*xmasa.*xabs.^4.*ini Vtautau=0 a11=2.*Vlam.*Vlam+G.*Vlamlam a12=2.*(Vbeta.*Vlam+G.*Vlambeta)
74 | Dr. Hanna A Parhusip
a13=2.*(Vtau.*Vlam+G.*Vlamtau) a21=a12 a22=2.*Vbeta.*Vbeta+G.*Vbetabeta a23=2.*(Vtau.*Vbeta+G.*Vbetatau) a31=a13 a32=a23 a33=2.*Vtau.*Vtau+G.*Vtautau Hes = [ a11 a12 a13; a21 a22 a23; a31 a32 a33]
5.3 Program untuk mengoptimalkan fungsi tujuan karbohidrat dengan menggunakan Algoritma Genetik (AG) function P = gen_encode(X,Nb,l,u) % mengubah populasi menjadi kode-kode Np=size(X,1); %ukuran populasi N = length(Nb); %dimensi dari variabel for n = 1:Np b2=0; for m = 1:N b1 = b2+1; b2 = b2 + Nb(m); Xnm =(2^Nb(m)- 1)*(X(n,m) - l(m))/(u(m) - l(m)); P(n,b1:b2) = dec2bin(Xnm,Nb(m)); end end
function X = gen_decode(P,Nb,l,u) Modul METODE NUMERIK
| 75
% mengubah kode-kode menjadi populasi Np = size(P,1); %ukuran populasi N = length(Nb); %dimensi dari variabel for n = 1:Np b2=0; for m = 1:N b1 = b2 + 1; b2 = b1 + Nb(m) - 1; X(n,m) = bin2dec(P(n,b1:b2))*(u(m) - l(m))/(2^Nb(m) - 1) + l(m); end end
function chrms2 = crossover(chrms2,Nb) % crossover diantara 2 kromosom Nbb = length(Nb); b2=0; for m = 1:Nbb b1 = b2 + 1; bi = b1 + mod(floor(rand*Nb(m)),Nb(m)); b2 = b2 + Nb(m); tmp = chrms2(1,bi:b2); chrms2(1,bi:b2) = chrms2(2,bi:b2); chrms2(2,bi:b2) = tmp; end
function P = mutation(P,Nb,Pm) % mutasi Nbb = length(Nb); for n = 1:size(P,1) b2=0; for m = 1:Nbb
76 | Dr. Hanna A Parhusip
if rand < Pm b1 = b2 + 1; bi = b1 + mod(floor(rand*Nb(m)),Nb(m)); b2 = b2 + Nb(m); P(n,bi) = ~P(n,bi); end end end
function is = shuffle(is) % mengacak N = length(is); for n = N:-1:2 in = ceil(rand*(n - 1)); tmp = is(in); is(in) = is(n); is(n) = tmp; end
function [xo,fo] = genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax) % Algoritma genetic untuk meminimumkan f(x) s.t. l <= x <= u N = length(x0); if nargin < 10, kmax = 100; end %nomor iterasi (generations) if nargin < 9 |eta > 1 |eta <= 0, eta = 1; end %learning rate(0 < eta < 1) if nargin < 8, Pm = 0.01; end %probabilitas dari mutation if nargin < 7, Pc = 0.5; end %probabilitas dari crossover if nargin < 6, Nb = 8*ones(1,N); end %# dari genes(bits) untuk setiap variabel if nargin < 5, Np = 10; end %ukuran populasi (nomor dari kromosom) %menginisialisasi populasi NNb = sum(Nb); xo = x0(:)'; l = l(:)' ; u = u(:)';
Modul METODE NUMERIK
| 77
fo = feval(f,xo); X(1,:) = xo; for n = 2:Np, X(n,:) = l + rand(size(x0)).*(u - l); end P = gen_encode(X,Nb,l,u); for k = 1:kmax X = gen_decode(P,Nb,l,u); for n = 1:Np, fX(n) = feval(f,X(n,:)); end [fxb,nb] = min(fX); if fxb < fo, fo = fxb; xo = X(nb,:); end fX1 = max(fxb) - fX; %membuat vektor fitness non negatif fXm = fX1(nb); if fXm < eps, return; end %berakhir jika semua kromosom sama %reproduksi generasi berikutnya for n = 1:Np X(n,:) = X(n,:) + eta*(fXm - fX1(n))/fXm*(X(nb,:) - X(n,:)); end P = gen_encode(X,Nb,l,u); %Mating/Crossover is = shuffle([1:Np]); for n = 1:2:Np - 1 if rand < Pc, P(is(n:n + 1),:) = crossover(P(is(n:n + 1),:),Nb); end end %Mutasi P = mutation(P,Nb,Pm); End
clear, clf
78 | Dr. Hanna A Parhusip
f = inline('-1.5724*x(1)*exp((-1.1162*x(1)^2)+(0.6109*x(2)^2))','x'); l=[0.931 0.56]; %batas bawah xmasa dan xabs u=[1 1]; %batas atas xmasa dan xabs x0=[0.931 0.6]; %dugaan awal Np = 30; %ukuran populasi Nb = [15 15]; %angka bits untuk merepresentasikan setiap variabel Pc = 0.5; Pm = 0.01; %Probabilitas crossover/mutation eta = 1; kmax = 100; %learning rate dan jumlah iterasi maksimum [xo_gen,fo_gen] = genetic(f,x0,l,u,Np,Nb,Pc,Pm,eta,kmax)
5.4 Program Interpolasi Data Protein terhadap Data Karbohidrat function R=caripar_proH(x) load 'Abs_mas_ca.dat' M=Abs_mas_ca; x1_=M(:,1)/max(M(:,1)); y1_=M(:,2)/max(M(:,2)); tx1=1:numel(x1_); ti1=1:0.05:numel(x1_); %interpolasi massa dan absorbance yi1=interp1(tx1,y1_,ti1); nn=length(yi1); x2_ = x1_; %karbohidrat dan absorbance y2_=M(:,3)/max(M(:,3)); ti2=ti1;
Modul METODE NUMERIK
| 79
tx2=1:numel(x2_); yi2=interp1(tx2,y2_,ti2); %interp carbohidrat(yi2) thdp massa(yi1) %%%%%%%%%%%%% tx=1:numel(y1_); ti=1:0.05:numel(y1_); yikarbothdpmassa=interp1(tx,y1_,ti); %%%%%%%%%%%%%%%%%%%%%%%%%%%protein terhadap absorbance load 'Abs_pro_comp.dat' P=Abs_pro_comp; x_ =P(:,1)/max(P(:,1)); y_ =P(:,2)/max(P(:,2)); tx=1:numel(x_); ti=1:0.05:numel(x_); yi=interp1(tx,y_,ti);
a=x(1);b=x(2);c=x(3); karbo=yikarbothdpmassa; pro=yi; for i=1:nn xmodel(i)=a.*exp(-b.*karbo(i))+c; beda(i)=(pro(i)-xmodel(i)); end R=beda;
80 | Dr. Hanna A Parhusip
x0 = [0.5 1 1]
% Dugaan a,b,c
x0 =[5 5 10] [x,siR] = lsqnonlin(@caripar_proH,x0) load 'Abs_mas_ca.dat' M=Abs_mas_ca; x1_=M(:,1)/max(M(:,1)); y1_=M(:,2)/max(M(:,2)); tx1=1:numel(x1_); ti1=1:0.05:numel(x1_); %interpolasi massa dan absorbance yi1=interp1(tx1,y1_,ti1); nn=length(yi1); x2_ = x1_; %karbohidrat dan absorbance y2_=M(:,3)/max(M(:,3)); ti2=ti1; tx2=1:numel(x2_); yi2=interp1(tx2,y2_,ti2); %interp carbohidrat(yi2) thdp massa(yi1) %%%%%%%%%%%%% tx=1:numel(y1_); ti=1:0.05:numel(y1_); yikarbothdpmassa=interp1(tx,y1_,ti); %%%%%%%%%%%%%%%%%%%%%%%%%%%protein terhadap absorbance
Modul METODE NUMERIK
| 81
load 'Abs_pro_comp.dat' P=Abs_pro_comp; x_ =P(:,1)/max(P(:,1)); y_ =P(:,2)/max(P(:,2)); tx=1:numel(x_); ti=1:0.05:numel(x_); yi=interp1(tx,y_,ti); %fungsi karbo=yikarbothdpmassa; %hasil interpolasi pro=yi; %hasil interpolasi a=x(1);b=x(2);c=x(3); myfungsi=a*exp(-b*karbo)+c; banding=[yi myfungsi]; figure plot(karbo,pro,'r*') error=norm(pro-myfungsi)/norm(pro)*100 %sudah dalam % a=x(1);b=x(2);c=x(3); optimizerpar=[a b c] %Mencari Matriks Hessian k=karbo(1); G=pro(1)-myfungsi(1); Va=-exp(-b*k); Vb=k*a*exp(-b*k); Vc=1; Vaa=0;
82 | Dr. Hanna A Parhusip
Vab=k*exp(-b*k); Vac=0; Vbc=0; Vbb=-(k^2)*exp(-b*k); Vcc=0; a11=2.*Va.*Va+G.*Vaa; a12=2.*(Vb.*Va+G.*Vab); a13=2.*(Vc.*Va+G.*Vac); a21=a12; a22=2.*Vb.*Vb+G.*Vbb; a23=2.*(Vc.*Vb+G.*Vbc); a31=a13; a32=a23; a33=2.*Vc.*Vc+G.*Vcc; Hes = [ a11 a12 a13; a21 a22 a23; a31 a32 a33]; C = eig(Hes)
5.5 Pengembangan Model dan Analisa Pada model di atas maka error yang dihasilkan cukup kecil, yaitu 13,4892% (Kristianingsih,dkk,2013). Selanjutnya nilai kadar karbohidrat dioptimalkan dengan menggunakan AG dan dihasilkan kadar karbohidrat maksimum yaitu pada sekitar 𝑤 = 51,4269% dengan pemaksimum massa 0,1230 dan pemaksimum absorbansi 0,6482 yaitu pada proporsi penambahan bekatul sebanyak 12,5%. Namun pada penelitian pencarian nilai parameter fungsi tujuan kadar protein, dihasilkan nilai error masih besar yaitu sebesar 33,2679% yang dimungkinkan karena pemilihan model data yang kurang tepat. Pada pengoptimalan dengan
Modul METODE NUMERIK
| 83
menggunakan AG dihasilkan nilai protein optimal 38,0104% dengan pemaksimum karbohidrat sebesar 19,9167 % dan diketahui pada proporsi penambahan bekatul agar protein optimal adalah 50%. Hasil ini diperoleh dimana fungsi tujuan dioptimalkan secara terpisah. Pada praktikum kali ini dicari fungsi tujuan untuk protein sehingga didapat nilai error yang cukup kecil. Sekaligus juga dicari proporsi mocorin yang baik untuk dikonsumsi oleh para penderita kolesterol. Menurut hasil studi di University of Maryland Medical Center, makanan yang baik dikonsumsi oleh para penderita kolesterol adalah makanan yang memiliki kandungan serat yang tinggi, namun rendah protein dan lemak (Kompas, 2012). Serat, protein, dan lemak akan dibuat dalam fungsi karbohidrat dan massa. Penelitian menggunakan AG dengan multiobjective function untuk mencari proporsi penambahan bekatul mocorin yang baik untuk dikonsumsi oleh para penderita kolesterol. 5.5.1 Algoritma Genetik dengan Multiobjective Function Metode pemilihan yang dihitung fungsi tujuan yang lebih dari 1 adalah metode Pareto (Popov, 2005) yaitu dimana tidak ada satu pun solusi yang mampu memberikan hasil yang lebih optimal dari salah satu fungsi tujuan yang ada tanpa mengorbankan fungsi tujuan lainnya (Mahmudy, dkk, 2011). Diasumsikan ada k fungsi tujuan yang akan diminimumkan: min 𝐹(𝑥̅ ) = (𝑓1 (𝑥̅ ), 𝑓2 (𝑥̅ ), … 𝑓𝑘 (𝑥̅ ))𝑇 , 𝑥̅ 𝜖 𝐶
(5.8)
dimana k ≥ 2 dan C = { 𝑥̅ ∶ ℎ(𝑥̅ ) = 0, 𝑔(𝑥̅ ) ≤ 0, 𝑎𝑖 ≤ 𝑥𝑖 ≤ 𝑏𝑖 }, ℎ(𝑥̅ ) dan 𝑔(𝑥̅ ) merupakan fungsi kendala, 𝑥̅ merupakan vektor dari variabel keputusan, 𝑎𝑖 merupakan batas bawah dan 𝑏𝑖 merupakan batas atas. Jika sebuah fungsi kendala mempunyai bentuk 𝑔(𝑥̅ ) ≥ c maka dapat diubah menjadi – 𝑔(𝑥̅ )+c≤0. Konsep skalar dari nilai optimum tidak biasa diterapkan secara langsung pada kasus multiobjective. Konsep penggantinya adalah optimum pareto. Vektor 𝑥̅ 𝜖 𝐶 dikatakan optimum pareto jika semua vektor 𝑥̅ 𝜖 𝐶 yang lain mempunyai nilai yang lebih tinggi setidaknya untuk satu fungsi objektif. Optimasi dengan multiobjective function mendapatkan perhatian yang signifikan dari para peneliti. Telah dilakukan
84 | Dr. Hanna A Parhusip
penelitian dalam menyelesaikan optimasi dengan multiobjective function menggunakan Particle Swarm Optimization (PSO) dengan hasil ditemukan beberapa solusi pareto-optimal secara efisien. (Xiaohui, dkk, 2002) Selain itu ada beberapa penelitian sejenis yaitu Ant Colony Optimization (ACO) untuk menyelesaikan optimasi dengan multiobjective function pada penentuan portofolio proyek. (Doerner, dkk, 2004) Simulated Anneling (SA) juga cukup berhasil dalam menyelesaikan berbagai masalah optimasi dengan multiobjective function. (Bandypadhyay, dkk, 2008) Salah satu pengembangan dari algoritma genetik adalah untuk mencapai suatu Multiple Objective Optimization dimana tujuan yang ingin dicapai lebih dari satu. Pengembangan algoritma genetik ini disebut algoritma genetik pareto yang diawali dengan suatu populasi dengan jumlah member yang banyak. Algortima genetik pareto disini bekerja dengan dua objective function atau lebih. Algoritma genetik pareto membutuhkan ukuran populasi yang besar untuk dapat bekerja dengan baik dalam usahanya untuk membentuk suatu grafik pareto. (Umi P., dkk, 2011) Pareto optimal set adalah sebuah kumpulan solusi non dominan yang berhubungan satu sama lain ketika berpindah ke solusi pareto yang lain. Kumpulan solusi optimal pareto seringkali mengacu kepada solusi tunggal karena dapat diaplikasikan berdasarkan pada masalah yang terdapat dalam kehidupan nyata. Pareto optimal set mempunyai ukuran yang bervariasi, namun ukuran pareto set bertambah seiring dengan bertambahnya fungsi tujuan.
5.5.2 Model Fungsi Tujuan untuk Protein, Lemak, dan Serat Di bawah ini adalah fungsi-fungsi yang digunakan untuk memodelkan fungsi tujuan untuk protein, lemak, dan serat.
Modul METODE NUMERIK
| 85
Protein dan Lemak Pada penelitian ini, digunakan fungsi tujuan kuadratik untuk fungsi tujuan protein dan lemak dengan parameter-parameternya dicari menggunakan Singular Value Decomposition (SVD). Parameter-parameter fungsi tujuan yang akan dicari adalah 𝑆𝑖 = 𝛼1 𝑥𝑖2 + 𝛼2 𝑦𝑖2 + 𝛼3 𝑥𝑖 𝑦𝑖 + 𝛼4
(5.9)
Persamaan (5.9) dalam bentuk matriks dapat ditulis: 𝐴𝑣⃑𝛼 = 𝑆⃑
(5.10)
dimana 𝑥12 2 A= 𝑥2 ⋮ [𝑥𝑛2
𝑦12 𝑥1 𝑦1 1 𝑦22 𝑥2 𝑦2 1 ⋮ ⋮ ⋮ 𝑦𝑛2 𝑥𝑛 𝑦𝑛 1] 𝑣⃑𝛼 = [𝛼1 𝛼2 𝛼3 𝛼4 ]
(5.11)
xi = data ke- i variabel 1 y i = data ke- i variabel 2
𝑆⃑ = Si = data ke- i variabel 3
i = 1,2,...,n; n= banyaknya data
𝛼𝑗 = parameter fungsi tujuan
j = 1,2,...,4
𝐴 = 𝑈𝛴𝑉 𝑇
(5.12)
Menurut Watkins (1991) pada persamaan (5.12) jika matriks Aϵ R
nxm
mempunyai rank r, maka terdapat matriks dengan kolom-kolom dari nilai eigen 𝐴𝐴𝑇 U ϵ Rnxn, Σ adalah matriks diagonal dari akar nilai eigen 𝐴𝐴𝑇 Σ ϵ Rnxm, dan V adalah matriks dengan kolom-kolom dari vektor eigen 𝐴𝐴𝑇 V ϵ Rmxm.
Dari persamaan (5.10) dan (5.12) diperoleh: 𝑈𝛴𝑉 𝑇 𝑣⃑𝛼 = 𝑆⃑ atau 𝛴𝑉 𝑇 𝑣⃑𝛼 = 𝑈 𝑇 𝑆⃑ Misal 𝑐⃗ = 𝑈 𝑇 𝑆⃑ dan 𝑦⃗ = 𝑉 𝑇 𝑣⃑𝛼 , maka 𝛴𝑦⃗ = 𝑐⃗ sehingga 𝑦⃗ = 𝛴𝑇 𝑐⃗ Persamaan (5.10) diselesaikan dengan: 𝑣⃑𝛼 = 𝑉𝑦⃗
86 | Dr. Hanna A Parhusip
Untuk mengetahui apakah parameter sudah optimal atau belum, dapat dicari error: Error= E =
‖𝑆̅𝑝𝑒𝑛𝑑𝑒𝑘𝑎𝑡𝑎𝑛 −𝑆̅𝑑𝑎𝑡𝑎‖ . ̅ ‖𝑆𝑑𝑎𝑡𝑎 ‖
100%
Serat Model yang akan digunakan dalam memodelkan fungsi tujuan untuk karbohidrat adalah fungsi eksponensial: 𝟐 −𝒄𝒎𝟐
𝑺 = 𝒂𝒆−𝒃𝒌
Fungsi ini digunakan untuk menyatakan Serat sebagai fungsi karbohidrat dan massa dimana 𝑎, 𝑏, 𝑐 pada persamaan (5.8) dicari dengan menggunakan metode kuadrat terkecil, yaitu meminimalkan : 𝑅 = ∑𝑛𝑖=1(𝑆𝑖,𝑑𝑎𝑡𝑎 − 𝑆𝑖,𝑚𝑜𝑑𝑒𝑙 )2 5.5.3 Mencari parameter fungsi tujuan protein menggunakan SVD clear close all load 'Karbosaja.dat' load 'Massasaja.dat' load 'proteinruth.dat' P=proteinruth; P=P./max(P); M=Massasaja; M=M./max(M); K=Karbosaja; K=K./max(K); Datatakberdim=[K M P] [m,n]=size(Datatakberdim) x=K; y=M; i=ones(1,length(x))';
Modul METODE NUMERIK
| 87
%meyusun matriks A A=[x.^2 y.^2 x.*y i]; rank(A) [U,sigma,V]=svd(A) U*sigma*V'-A b=P; c=U'*b ctopi=c; ctopi(5:25,:)=[] Stopi=sigma; Stopi(5:25,:)=[] ytopi=inv(Stopi)*ctopi alpa=V*ytopi hasil=alpa(1)*x.^2 + alpa(2)*y.^2 + alpa(3)*x.*y+alpa(4); figure plot(1:m,P,'*-',1:m,hasil,'o-') legend('hasil','pendekatan') xlabel('indeks') ylabel('fungsi tujuan') error=norm(P-hasil)/norm(P)*100 % sudah dalam persen
88 | Dr. Hanna A Parhusip
DAFTAR PUSTAKA
Bandypadhyay, S.S., Saha, U., Maulik, K., Deb., 2008. A Simulated AnnealingBased Multiobjective Optimization Algorithm: AMOSA. Evolutionary Computation, IEEE Transactions on 12(3): 269-283. Dawid, H., Kopel, M.. 1998. On economic applications of genetic algorithm : a model of cobweb-type, J Evol Econ 8 : 297-315. Doerner, K., Gutjahr, W., Hartl R., Strauss C., Stummer C. 2004. Pareto Ant Colony Optimization: A Metaheuristic Approach to Multiobjective Portfolio Selection.Annals of Operations Research. 131(1): 79-99. Goldberg, D.E., 1989. Genetic Algorithm in Search, Optimization, and Machine Learning. Canada: Addison-Wesley Publishing Company, Inc. Gunawan, H., 2003. Aplikasi Algoritma Genetik untuk Optimasi Masalah Penjadwalan Flow-Shop. Skripsi. FTP. Institut Pertanian Bogor, Bogor. Hofler, A., Terzic, B., Kramer, M., Zvezdin, A., Morozov, V., Roblin, Y., Lin, F, Jarvis, C., 2013. Innovative applications of genetic algorithms to problems in accelerator physics. Phys. Rev. ST Accel. Beams 16. Mokeddem,D., Khellaf.A., 2010. Multicriteria Optimization of Multiproduct Batch Chemical Process Using Genetic Algorithm. Journal of Food Process Engineering. Vol. 33 (6): 979-991. Nugraha, I. 2008. Aplikasi Algoritma Genetik untuk Optimasi Penjadwalan Kegiatan Belajar Mengajar. Jurnal. ITB: Sekolah Teknik Elektro dan Informatika, Program Studi Teknik Informatika. Bandung. Katare, S. A., Bhan, J. M., Caruthers, W. N., Delgass, Venkatasubramanian, V. 2004. A hybrid genetic algorithm for efficient parameter estimation of large kinetic models. Computers and chemical engineering, Vol. 28 : 2569–2581. Kristianingsih, R, Parhusip,H.A, Mahatma, T, 2013. Penggunaan Algoritma Genetik dalam Mengoptimalkan Kandungan Karbohidrat dan Protein Pada Mocorin, Prosiding, Seminar Nasional Matematika dan Pendidikan Matematika UNY,9 Nov, ISBN:978-979-16353-9-4: MT – 207-214.
Modul METODE NUMERIK
| 89
Mahmudy, W.F., Rahman, M.A. 2011. Optimasi Fungsi Multi-Obyaktif Berkendala Menggunakan Algoritma Genetik Adaptif Dengan Pengkodean Real. Jurnal Ilmiah ”Kursor” Vol 6 No. 1 Januari 2011. ISSN 0216-0544. Mikail, B., 2012. Makanan Sumber Kolesterol Baik. Kompas, 18 Mei 2012. Parhusip, H.A, Martono, Y. 2012. Optimization of Colour Reduction For Producing Stevioside Syrup Using Ant Colony Algorithm Of Logistic Function, proceeding of The Fifth International Symposium on Computational Science. ISSN:2252-7761,Vol1,91 :101, GMU. Peressini, A.L, Sullivan, 1988. The Mathematics of Nonlinear Programming, Springer Verlag, New York, Inc. Popov, A., 2005. Genetics Algorithm for Optimization.Germany : Hamburg. Rao, S. S., 2009. Engineering Optimization, John Wiley & Sons, Inc, Canada. Silvia,L., 2012. Mocorin (Modifikasi Tepung Jagung Kuning (Zea Mays L.) Varietas Bisi 2 – Bekatul) Ditelaah Dari Nilai Gizi Dan Uji Organoleptik, Skripsi, Fakultas Sains dan Matematika Universitas Kristen Satya Wacana. Yang, W.Y., Cao,W., Chung, T.S., Morris, J. 2005. Applied Numerical Methods Using MATLAB ®. New Jersey: John Wiley & Sons, Inc, Hoboken. Umi P., Fitria S., Kristalina, P. 2011. Simulasi Coverage pada Wireless Sensor Network dengan Menggunakan Algoritma Genetik Pareto. Surabaya : Institut Teknologo Sepuluh Nopember (ITS) Surabaya. Watkins, D.S. 1991. Fundamentals of Matrix Computations, John Wiley & Sons, New York. Won, Y.Y., Chung.A., Wenwu, C.,Tae-Sang, C.,Morris,J., 2005. Applied Numerical Methods Using Matlab, John Wiley & Sons, Inc., Canada. Xiaohui, H., Eberhart R., 2002. Multiobjective Optimization Using Dynamic Neighborhood Particle Swarm Optimization. In Proceedings of the 2002 Congress on Evolutionary Computation: 1677-1681.
90 | Dr. Hanna A Parhusip