PENGOPTIMUMAN FUNGSI KUADRATIK DENGAN
METODE CONJUGATE GRADIENT DAN
PENERAPANNYA MENGGUNAKAN APLIKASI ANDROID
IMAM SHALAHUDDIN
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Pengoptimuman Fungsi Kuadratik dengan Metode Conjugate Gradient dan Penerapannya Menggunakan Aplikasi Android adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Januari 2016
Imam Shalahuddin
ABSTRAK
IMAM SHALAHUDDIN. Pengoptimuman Fungsi Kuadratik dengan Metode
Conjugate Gradient dan Penerapannya Menggunakan Aplikasi Android. Dibimbing oleh BIB PARUHUM SILALAHI dan SISWANDI.
Pengoptimuman tanpa kendala adalah pencarian nilai terbaik (maksimum atau minimum) dari suatu fungsi tanpa ada batasan terhadap variabel keputusan. Salah satu metode numerik yang digunakan untuk menyelesaikan masalah pengoptimuman tanpa kendala adalah metode conjugate gradient. Keistimewaan dari metode ini adalah arah pencarian yang saling conjugate. Modifikasi metode ini terdapat pada pendefinisian arah pencarian yang berbeda-beda seperti pada metode Hestenes-Stiefel, Polak-Ribiere-Polyak, Dai-Yuan, dan Fletcher-Reeves. Karya ilmiah ini merekonstruksi modifikasi arah pencarian metode conjugate gradient kemudian melakukan perbandingan banyaknya iterasi untuk semua modifikasi dengan mengunakan aplikasi android. Perangkat lunak yang digunakan untuk membuat aplikasi android adalah Android Studio. Salah satu hasil komputasi yang diperoleh menunjukkan bahwa modifikasi metode conjugate gradient Hestenes-Stiefel memiliki iterasi lebih sedikit dibandingkan dengan modifikasi lainnya.
Kata kunci: AndroidStudio, Conjugate gradient, Pengoptimuman
ABSTRACT
IMAM SHALAHUDDIN. Optimization of the Quadratic Function Using Conjugate Gradient Method and Its Application Based on Android Platform. Supervised by BIB PARUHUM SILALAHI and SISWANDI.
Unconstrained optimization is a search for the best value of a function, either maximum or minimun, without any constraints on decision variables. One of the methods that used for solving the unconstrained optimization numerically is the so-called conjugate gradient method. The important characteristic of this method is the search direction that conjugates each other. The modification of this method lies in the differences of the definition of the search direction, as employed by Hestenes-Stiefel, Polak-Ribiere-Polyak, Dai-Yuan, and Fletcher-Reeves methods. This work reconstructs the search direction modifications of conjugate gradient method and compares the number of iterations for all modified methods by using android application. The software that is utilized to create the applications on android based operating system is Android Studio. One of the results indicated that Hestenes-Stiefel method provides less iterations compared to the other methods.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains
pada
Departemen Matematika
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
BOGOR 2016
PENGOPTIMUMAN FUNGSI KUADRATIK DENGAN
METODE CONJUGATE GRADIENT DAN
PENERAPANNYA MENGGUNAKAN APLIKASI ANDROID
Judul Skripsi : Pengoptimuman Fungsi Kuadratik dengan Metode Conjugate Gradient dan Penerapannya Menggunakan Aplikasi Android
Nama : Imam Shalahuddin
NIM : G54110053
Disetujui oleh
Dr Ir Bib Paruhum Silalahi, MKom Pembimbing I
Drs Siswandi, MSi Pembimbing II
Diketahui oleh
Dr Toni Bakhtiar, MSc Ketua Departemen
PRAKATA
Puji dan syukur penulis panjatkan ke hadirat Allah SWT atas segala nikmat, rahmat, dan karunia-Nya sehingga penulis dapat menyelesaikan karya ilmiah ini. Tema yang dipilih adalah Riset Operasi dengan judul Pengoptimuman Fungsi Kuadratik dengan Metode Conjugate Gradient dan Penerapannya Menggunakan Aplikasi Android.
Terima kasih penulis ucapkan kepada Dr Ir Bib Paruhum Silalahi, MKom selaku dosen pembimbing I, Drs Siswandi, MSi selaku dosen pembimbing II, dan Dra Farida Hanum, MSi selaku dosen penguji yang telah memberikan saran dan masukan demi kesempurnaan karya ilmiah ini. Ungkapan terima kasih juga kepada Abi, Ummi, Ica, Ayu dan Syifa atas support dalam keluarga, serta terima kasih kepada Tikah, Faza, Dinar, Aisyah, Ria, Yaya, Intan, Baim, Niken, Alfi, Firi, Deva, Fakhri, seluruh mahasiswa Departemen Matematika angkatan 47, 48, 49, dan 50 serta teman-teman sekalian di luar Departemen Matematika baik di dalam Institut Pertanian Bogor maupun di luar Institut Pertanian Bogor atas kritik, saran dan doanya selama pembuatan karya ilmiah ini.
Semoga karya ilmiah ini dapat bermanfaat bagi dunia ilmu pengetahuan khususnya Matematika dan dapat menjadi inspirasi bagi penelitian selanjutnya.
Bogor, Januari 2016
DAFTAR ISI
DAFTAR TABEL viii
DAFTAR GAMBAR viii
DAFTAR LAMPIRAN viii
PENDAHULUAN 1
Latar Belakang 1
Tujuan Penelitian 2
TINJAUAN PUSTAKA 2
HASIL DAN PEMBAHASAN 2
Metode Conjugate Gradient 6
Contoh Pembuatan Aplikasi Penyelesaian Metode
Conjugate Gradient HS 3 variabel Berbasiskan Android 10
Algoritme Conjugate Gradient 15
Hasil Komputasi Modifikasi Metode Conjugate Gradient
dengan Aplikasi Android 16
Contoh Perhitungan Metode Conjugate Gradient
Hestenes-Stiefel (HS) 2 Variabel 18
SIMPULAN DAN SARAN 21
Simpulan 21
Saran 22
DAFTAR PUSTAKA 22
LAMPIRAN 23
DAFTAR TABEL
1 Kasus untuk fungsi dua variabel menggunakan aplikasi android 16
2 Kasus untuk fungsi tiga variabel menggunakan aplikasi android 16
3 Kasus untuk fungsi empat variabel menggunakan aplikasi android 17
4 Kasus untuk fungsi lima variabel menggunakan aplikasi android 17
DAFTAR GAMBAR
1 Jendela nama aplikasi android 102 Jendela minimum Software Development Kit (SDK) android studio 11
3 Jendela Activity to Mobile 11
4 Penamaan file aplikasi android 12
5 Jendela utama android studio 12
6 Jendela kodingan layout aplikasi android 13 7 Jendela kodingan java aplikasi android 13
8 Pemilihan device running aplikasi android 14
9 Tampilan aplikasi android di device 14 10 Hasil iterasi lima variabel 18 11 Hasil metode HS 21
DAFTAR LAMPIRAN
1 Pembuktian arah pencarian yang meminimumkansuatu fungsi 232 Tampilan aplikasi android metode conjugate gradient 23
3 Kode layoutandroid studio tiga variabel metode HS 25
4 Kode java android studio tiga variabel metode HS 32
PENDAHULUAN
Latar Belakang
Perkembangan teknologi saat ini menjadikan telepon genggam (handphone) sebagai salah satu perangkat elektronik yang sederhana dan mudah dibawa oleh penggunanya. Salah satu sistem operasi pada telepon genggam adalah sistem operasi android.
Pengoptimuman adalah pencarian nilai terbaik (minimum atau maksimum) dari suatu fungsi yang diberikan pada suatu konteks. Masalah pengoptimuman secara garis besar dibedakan menjadi dua yaitu masalah pengoptimuman dengan kendala dan masalah pengoptimuman tanpa kendala. Masalah pengoptimuman dengan kendala merupakan masalah pengoptimuman fungsi objektif yang memenuhi kendala-kendalanya.
Penyelesaian pengoptimuman fungsi dapat dilakukan dengan dua pendekatan yaitu secara analitik (contohnya penggunaan teorema-teorema dalam kalkulus) dan secara numerik. Metode numerik adalah teknik ketika masalah matematika diformulasikan sedemikian rupa sehingga dapat diselesaikan oleh pengoperasian aritmatika (Capra dan Canale 1991). Penyelesaian secara numerik umumnya melibatkan proses iterasi, perhitungan berulang dari data numerik yang ada. Jika proses iterasi dilakukan dengan cara manual, akan membutuhkan waktu yang sangat lama dan memungkinkan timbulnya kesalahan akibat manusia itu sendiri. Misalnya untuk menyelesaikan persamaan nonlinear, membutuhkan waktu yang sangat lama apabila dikerjakan secara manual. Pada kenyataannya sering terjadi proses iterasi ratusan kali, pada keadaan demikian ini komputer sangat dibutuhkan untuk mengurangi waktu penyelesaian (Munif dan Hidayatullah 1995).
Pendekatan numerik dibagi menjadi dua yaitu pendekatan tanpa gradien dan pendekatan dengan menggunakan gradien. Metode pendekatan tanpa gradien antara lain: metode pencarian pola dan metode pencarian acak, sedangkan metode pendekatan dengan gradien antara lain: metode steepest descent, metode
conjugate gradient dan metode Newton. Terdapat modifikasi arah pencarian pada metode conjugate gradient antara lain Fletcher-Reeves, Polak-Ribiere-Polyak, Hestenes-Stiefel, Dai-Yuan, Conjugate-Descent, dan Liu-Storey.
2
Tujuan Penelitian
Tujuan dari penelitian ini ialah sebagai berikut:
1. merekonstruksi modifikasi arah pencarian metode conjugate gradient Fletcher-Reeves, Polak-Ribiere-Polyak, Hestenes-Stiefel, dan Dai-Yuan,
2. membangun aplikasi pengoptimuman sederhana berbasiskan android,
3. membandingkan iterasi penyelesaian untuk semua modifikasi arah pencarian metode conjugate gradient Fletcher-Reeves, Polak-Ribiere-Polyak, Hestenes-Stiefel, dan Dai-Yuan dengan menggunakan aplikasi android.
3
Syarat perlu orde pertama agar ̅ minimum lokal diberikan pada akibat Teorema 1 berikut:
Definisi 4 (Keterturunan Dua Kali/Twice Differentiable)
4
Contoh 1 Misalkan
; . Karena
untuk maka disebut definit positif. Teorema 2
Misalkan fungsi terturunkan dua kali di ̅. Jika ̅ adalah minimum lokal maka ̅ dan ̅ semidefinit positif (Bazzara et al.
1993).
Syarat Cukup Keoptimuman Teorema 3
Misalkan fungsi terturunkan dua kali di ̅ Jika ̅ dan ̅ semidefinit positif maka ̅ adalah minimum lokal (Bazzara et al. 1993). Contoh 2
Minimumkan
1. Berdasarkan Teorema 3 maka kandidat titik optimal dapat dicari sebagai berikut:
Hitung vektor gradien dari kemudian sama dengankan nol, diperoleh
( ) .
Dari diperoleh sehingga diperoleh . Karena maka diperoleh Jadi
adalah titik kandidat optimum.
2. Selanjutnya periksa titik kandidat yang memenuhi syarat optimum Hitung matriks Hesse dari , diperoleh
Kemudian hitung
5
Definisi 8 (Vektor-vektor yang conjugate)
Misalkan adalah matriks simetrik berukuran dan definit positif
Metode conjugate gradient adalah metode pengoptimuman untuk fungsi nonlinear pendekatan solusi optimal dari persamaan (3). Didefinisikan adalah panjang langkah pada iterasi ke dan adalah arah pencarian pada iterasi ke . Panjang langkah (stepsize) dapat diperoleh dengan pencarian:
{ ( )} (5)
Berdasarkan Chen (2012), karena kemudahan dari iterasi dan kebutuhan memori yang kecil, metode conjugate gradient adalah salah satu metode yang terkenal untuk menyelesaikan masalah pengoptimuman tak berkendala (3), khususnya dalam kasus dengan dimensi dari besar, . Arah pencarian didefinisikan sebagai:
{
(6)
6
. (7)
Pada metode conjugate gradient terdapat pendefinisian skalar yang berbeda-beda. Jika diambil
(8)
maka metode tersebut disebut conjugate gradient Hestenes-Stiefel (HS). Jika diambil
(9)
maka metode tersebut disebut conjugate gradient Polak-Ribiere-Polyak (PRP). Jika diambil
(10)
maka metode tersebut disebut conjugate gradient Dai-Yuan (DY). Jika diambil
(11)
maka metode tersebut disebut conjugate gradient Fletcher-Reeves (FR).
Perbedaan skalar pada metode conjugate gradient disebabkan karena adanya pendefinisian persamaan dan teorema baru. Secara teori metode ini tidak akan berhenti atau akan terus melakukan iterasi sampai kriteria penghentian terpenuhi (Chen 2012).
HASIL DAN PEMBAHASAN
Metode Conjugate Gradient
7 Misalkan adalah fungsi kuadratik (1) dan nilai diperoleh setelah langkah ke ketika meminimumkan fungsi . Berdasarkan Definisi 2 diperoleh
. (12)
Dari persamaan (4) diperoleh
(13)
Berdasarkan Definisi 2 diperoleh
(14)
(15)
Salah satu sifat utama metode conjugate gradient adalah vektor-arah pencarian yang saling conjugate. Arah pencarian pada metode ini didefinisikan pada persamaan (6). Modifikasi metode conjugate gradient terletak pada pendefinisian skalar . Berdasarkan Definisi 8 dengan memisalkan dan diperoleh
(16)
Persamaan (6) dan (7) disubstitusikan ke persamaan (16) diperoleh
(17)
dengan adalah dengan dimulai pada iterasi kedua, dan adalah dengan dimulai pada iterasi pertama. Persamaan (15) disubstitusikan ke persamaan (17) diperoleh
8
( )
( )
Berdasarkan persamaan (7), dan maka diperoleh
(18)
Berdasarkan persamaan (8) modifikasi ini disebut modifikasi metode conjugate gradient Hestenes-Stiefel (HS).
Berikut ini adalah teorema arah pencarian conjugate untuk fungsi kuadratik dengan matriks Hesse definit positif:
Teorema 5:
Misalkan titik diperoleh setelah langkah ke ketika meminimumkan fungsi kuadratik ⁄ , dengan , dan . Jika vektor adalah arah pencarian yang saling
conjugate terhadap matriks A berukuran dan definit positif, maka untuk (Rao 1984).
Bukti:
Dari persamaan (14) dan dengan mengalikan kedua ruas dengan diperoleh
Untuk membuktikan diperlukan dua permisalan yaitu saat dan dengan
Saat didapat
( )
Karena adalah panjang langkah sepanjang arah yang meminimumkan nilai maka ( ) (bukti Lampiran 1) dan karena vektor adalah arah pencarian yang saling conjugate terhadap matriks A berukuran dan definit positif maka , sehingga diperoleh
9 untuk Sedangkan saat , karena sama dengan ( ) saat (Rao 1984).
Dari persamaan (18) dan berdasarkan Teorema 5 diperoleh
(19)
dari persamaan (6), persamaan (19) dapat ditulis
Berdasarkan persamaan (7) maka diperoleh
Berdasarkan Teorema 5 diperoleh
Berdasarkan persamaan (9) modifikasi ini disebut modifikasi metode conjugate gradient Polak-Ribiere-Polyak (PRP).
Selanjutnya berdasarkan persamaan (7), misalkan
(20)
Dari persamaan (6), persamaan (20) dapat ditulis
Berdasarkan Teorema 5 diperoleh
(21)
Dari persamaan (14), persamaan (21) dapat ditulis
10
Berdasarkan Teorema 5 dan Definisi 8 diperoleh
(22) Dari persamaan (18) dan berdasarkan persamaan (22) diperoleh
Berdasarkan persamaan (10) modifikasi ini disebut modifikasi metode conjugate gradient Dai-Yuan (DY).
Dari persamaan (18), berdasarkan Teorema 5 dan persamaan (22), maka diperoleh pendefinisian baru untuk nilai skalar yaitu
Berdasarkan persamaan (11) modifikasi ini disebut modifikasi metode conjugate gradient Fletcher-Reeves (FR).
Pembuatan Aplikasi Pengoptimuman Penyelesaian Metode Conjugate Gradient Hestenes-Stiefel (HS) Tiga Variabel
Berbasiskan Android
1. Buka Android Studio, lalu pilih Start a New Android Studio project. 2. Setelah itu akan tampil jendela seperti di bawah ini.
11 Isikan Application name dengan Conjugate Gradient, dan Company Domain dengan conjugategradient.com. Pilih Project location kemudian klik Next.
3. Selanjutnya akan tampil jendela seperti di bawah ini.
Gambar 2 Jendela minimum Software Development Kit (SDK) android studio Pilih minimum Software Development Kit (SDK) pada Phone and Tablet, kemudian klik Next.
4. Selanjutnya akan tampil jendela seperti di bawah ini.
Gambar 3 Jendela Activity to Mobile
12
5. Selanjutnya akan tampil jendela seperti di bawah ini.
Gambar 4 Penamaan file aplikasi android
Terakhir, klik Finish untuk memulai proses pembuatan aplikasi. Selanjutnya Android Studio akan tampil jendela seperti di bawah ini.
Gambar 5 Jendela utama android studio
Terdapat 3 page pada tampilan jendela utama android studio yaitu activity_conjugate_gradient.xml, ConjugateGradient.java, AndroidManifest.xml. 6. Selanjutnya klik Text pada activity_conjugate_gradient.xml, kemudian akan
13
Gambar 6 Jendela kodingan layout aplikasi android
Masukkan kodingan pada Lampiran 3 ke activity_conjugate_gradient.xml.
7. Selanjutnya klik ConjugateGradient.java maka akan muncul tampilan seperti di bawah ini.
Gambar 7 Jendela kodingan java aplikasi android
Masukkan kodingan pada Lampiran 4 ke ConjugateGradient.java, kemudian klik Run.
14
Gambar 8 Pemilihan device running aplikasi android
Pilih choose a running device, kemudian pilih device yang telah disambungkan ke komputer, kemudian Klik OK. Setelah itu akan muncul tampilan seperti di bawah ini.
15 Algoritme Conjugate Gradient
Langkah 1. Masukkan nilai awal tentukan dan , jika maka berhenti;
Langkah 2.` Hitung panjang langkah
{ ( )}
Tetapkan
dengan
{
Untuk metode conjugate gradient Fletcher-Reeves digunakan:
Untuk metode conjugate gradient Polak-Ribiere-Powel digunakan:
Untuk metode conjugate gradient Hestenes-Stiefel digunakan:
Untuk metode conjugate gradient Dai-Yuan digunakan:
16
Hasil Komputasi Modifikasi Metode Conjugate Gradient
dengan Aplikasi Android
Fungsi yang digunakan adalah fungsi kuadratik diagonal, yaitu fungsi yang dibangkitkan secara acak dengan ketentuan sebagai berikut:
dengan adalah matriks diagonal berukuran dengan setiap nilai diagonalnya adalah random integer dengan batas [0,100]. Banyak variabel yang digunakan adalah N = 2,3,4,5. Vektor adalah random integer dengan batas
Tabel 1 Kasus untuk fungsi dua variabel menggunakan aplikasi android
N Tol FR PRP HS DY
Iterasi Iterasi Iterasi Iterasi
2 2 2 2 2
Tabel 2 Kasus untuk fungsi tiga variabel menggunakan aplikasi android
N Tol FR PRP HS DY
Iterasi Iterasi Iterasi Iterasi
17
Misalkan:
diperoleh
Tabel 3 Kasus untuk fungsi empat variabel menggunakan aplikasi android
N Tol FR PRP HS DY
Iterasi Iterasi Iterasi Iterasi
4 8 21 8 8
16 25 14 15
24 28 19 23
7 19 7 7
14 25 12 14
22 28 18 21
Misalkan:
diperoleh
Tabel 4 Kasus untuk fungsi lima variabel menggunakan aplikasi android
N Tol FR PRP HS DY
Iterasi Iterasi Iterasi Iterasi
5 30 27 21 26
45 37 30 44
65 46 41 61
23 27 20 22
44 37 27 40
64 44 38 57
Pada Tabel 1 dan Tabel 2 menunjukkan bahwa keempat modifikasi metode
18
Gambar 10 Hasil iterasi lima variabel
19
Nilai diperoleh dari turunan pertama Misalkan
Tetapkan
Substitusikan nilai ke Hitung
[ ] Langkah 3 Periksa
‖ ‖ √
Karena ‖ ‖ lebih besar dari toleransi maka iterasi berlanjut; Langkah 4 Iterasi , kembali ke langkah 2;
Langkah 2 Iterasi ,
Tetapkan ,
berdasarkan algoritme
Nilai diperoleh dari
20
Hitung panjang langkah
{ ( )}
Nilai diperoleh dari turunan pertama Misalkan
Tetapkan
21 Hitung
[ ] Langkah 3 Periksa
‖ ‖ √
Karena ‖ ‖ lebih kecil dari toleransi maka iterasi berhenti; Langkah 4 Iterasi = , berhenti;
Jadi nilai minimum dari adalah
Gambar 11 Hasil metode HS
SIMPULAN DAN SARAN
Simpulan
Pada tugas akhir ini berhasil dibuat aplikasi optimasi sederhana berbasiskan
android untuk semua modifikasi metode conjugate gradient. Dengan adanya aplikasi ini perhitungan jumlah iterasi yang panjang dan rumit bisa dihilangkan dan diganti dengan sangat mudah dan praktis.
22
terutama terlihat jelas pada kasus empat dan lima variabel untuk semua toleransi yang diberikan.
Saran
Karya ilmiah ini bisa dilakukan dengan metode yang lain atau dibandingkan dengan metode yang lain, membuat tampilan android yang lebih menarik, dan membuat fungsi utama bukan fungsi kuadratik.
DAFTAR PUSTAKA
Bazzara MS, Sherali HD, Shetty CM. 1993. Nonlinear Programming: Theory and Algorithms. Singapore (SG): John Willey and Sons, Inc.
Capra SC, Canale RP. 1991. Numerical Methods for Engineers with Personal Computer Applications. Ed ke-2. New York (NY): MacGraw-Hill, Inc.
Chen Y. 2012. Global convergence of a new conjugate gradient with wolfe type line search. Journal of Information and Computing Science.7(1): 67-71.
Luenberger DG, Ye Y. 2008. Linear and Nonlinear Programming. Ed ke-3. New York (US): Springer.
Munif A, Hidayatullah P. 1995. Cara Praktis Penguasaan dan Penggunaan Metode Numerik. Surabaya (ID): Guna Widya.
Rao SS. 1984. Optimization: Theory and Applications. United States (US): Wiley Eastern.
23 Lampiran 1 Pembuktian arah pencarian yang meminimumkansuatu fungsi
Misalkan minimumkan fungsi dengan . Definisikan
diberikan
Subtitusikan , sehingga . Akibat teorema 1 jika adalah meminimumkan maka
karena , maka
sehingga
: :
(terbukti). Lampiran 2 Tampilan aplikasi android metode conjugate gradient
Gambar 13 Menu Utama CG (apk)
24
25 Lampiran 3 Kode layout android studio tiga variabel metode HS
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.conjugategradient.conjugategradient.HS"> <ScrollView
32
Lampiran 4 Kode java android studio tiga variabel metode HS package com.conjugategradient.conjugategradient; input9, input10, input11, result1, result2, result3, result4;
Button btHitung; private int k=0;
private int operation=0;
33
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fr3);
input1 = (TextView) findViewById(R.id.masukan1); input10 = (TextView) findViewById(R.id.masukan10); input11 = (TextView) findViewById(R.id.masukan11); result1 = (TextView) findViewById(R.id.editText5); result2 = (TextView) findViewById(R.id.editText6); result3 =(TextView) findViewById(R.id.editText7); result4 =(TextView) findViewById(R.id.editText8); btHitung = (Button) findViewById(R.id.hitung); }
public void klikHasil(View V) {
35
36
double inputF = Double.parseDouble(input5.getText().toString()); double inputG = Double.parseDouble(input6.getText().toString()); double inputH = Double.parseDouble(input7.getText().toString()); return
inputA*x1*x1+inputB*x2*x2+inputD*x3*x3+inputE*x1+inputF*x2 +inputG*x3+inputH; }
public double d(double x1) {
double inputA = Double.parseDouble(input1.getText().toString()); double inputE = Double.parseDouble(input4.getText().toString()); return inputA*2*x1+inputE;
}
public double e(double x2) {
double inputB = Double.parseDouble(input2.getText().toString()); double inputF = Double.parseDouble(input5.getText().toString()); return inputB*2*x2+inputF;
}
public double g(double x3) {
double inputD = Double.parseDouble(input3.getText().toString()); double inputG = Double.parseDouble(input6.getText().toString()); return inputD*2*x3+inputG; }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_fr3, menu);
return true; }
@Override
public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();
//noinspection SimplifiableIfStatement if (id == R.id.action_settings) {
return true; }
return super.onOptionsItemSelected(item); }
37 Lampiran 5 Kode Gambar 11 dengan Matlab
38
z = S2;
LGM = ((S*S')-(S*S1'))/((z*S')-(z*S1'));
z = (-S)+(LGM*(-S1));
y0 = x0+(lambda*z);
fsub = subs(f,[x1,x2],{y0(1),y0(2)}); difsub = diff(fsub,lambda);
Lsub = solve(difsub,lambda);
LM = min(single(Lsub));
y0 = subs(y0,lambda,LM);
k = k+1;
N = [N;y0(1) y0(2)];
x0 = y0;
u = S;
S2 = z;
S1 = S;
S = subs(Gradien,[x1 x2],{x0(1),x0(2)}) end
end
iterasi=k N
toc
clf(figure(1)) figure(1)
ezcontour(f,[1,-6],[1,-6])
grid on
hold on
plot(N(:,1),N(:,2),'-ko','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',3)
39 RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tanggal 13 Maret 1994 sebagai anak pertama dari tiga bersaudara, dari pasangan Rohmat dan Sri Ningsih. Tahun 2011 penulis lulus dari SMAN 46 Jakarta dan pada tahun yang sama penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) melalui jalur Seleksi Nasional Masuk Perguruan Tinggi Negeri (SNMPTN) IPB dan diterima di Departemen Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam.