OPTIMASI MASALAH KNAPSACK MENGGUNAKAN...
Transcript of OPTIMASI MASALAH KNAPSACK MENGGUNAKAN...
i
OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA
BRANCH AND BOUND
SKRIPSI
Untuk memenuhi sebagai persyaratan guna memperoleh derajat Sarjana S-1
Program Studi Matematika
Diajukan oleh
FITRIATUL MALAIKHAH
12610023
Kepada
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA
YOGYAKARTA
2016
v
HALAMAN PERSEMBAHAN
Karya ini saya persembahkan untuk:
Bapak Ibrahim dan Ibu Elah tercinta
Keluarga Besar bin Ibrahim
Sahabat-sahabatku
Teman-teman Matematika angkatan 2012
Beserta Almamater tercinta
Program Studi Matematika
Fakultas Sains dan Teknologi
UIN Sunan Kalijaga Yogyakarta
vi
HALAMAN MOTTO
“Karena sesungguhnya sesudah kesulitan itu ada kemudahan. Sesungguhnya
sesudah kesulitan itu ada kemudahan. Maka apabila kamu telah selesai (dari
sesuatu urusan), kerjakanlah dengan sungguh-sungguh (urusan) yang lain. Dan
hanya kepada Tuhan-mulah kamu berarap (QS. Al-Insyirah: 5-8)”
“Berbaik Sangkalah kepada Allah”
vii
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Alhamdulillaahirabbil’aalamiin, puji syukur kepada Allah yang telah
melimpahkan rahmat, hidayah, dan karunia-Nya sehingga penulis dapat
menyelesaikan penulisan skripsi yang berjudul “Optimasi Masalah Knapsack
Menggunakan Algoritma Branch and Bound” guna memenuhi syarat memperoleh
gelar kesarjanaan di Program Studi Matematika Fakultas Sains dan Teknologi
UIN Sunan Kalijaga Yogyakarta.
Shalawat serta salam senantiasa tercurahkan kepada Baginda Rasulullah
Muhammad SAW, yang selalu menjadi suri tauladan bagi seluruh umat manusia
dari zaman kegelapan menuju zaman terang seperti saat ini. Penulis menyadari
bahwa proses penulisan skripsi ini tidak terlepas dari bantuan, dukungan,
motivasi, dan bimbingan dari berbagai pihak. Oleh karena itu, penulis
mengucapkan terimakasih kepada:
1. Bapak Ibrahim dan Ibu Elah Fadhilah tercinta, terimakasih atas segala doa,
dukungan moril maupun materil dan motivasi sampai saat ini sehingga
penulis selalu bersemangat untuk menjalani perkuliahan hingga penulisan
skripsi dapat terselesaikan, serta ceu Eni, ceu Elis, ceu Muna, ceu Emah, ceu
Pipit, Amay tersayang yang doa dan shalawatnya selalu mengiringi setiap
langkahku.
viii
2. Seluruh keluarga besar bin Mughni dan bin Istakhori. Terimakasih selalu
memberikan doa, kasih sayang dan perhatian, sehingga penulisan skripsi ini
dapat terselesaikan.
3. Habib Luthfi bin Ali bin Yahya Pekalongan. Terimakasih telah menjadi guru
inspirasi dan motivasi sehingga penulisan skripsi ini dapat terselesaikan.
4. Bapak Prof. Drs. Yudian Wahyudi, MA, Ph.D., selaku Rektor UIN Sunan
Kalijaga Yogyakarta.
5. Ibu Dr. Hj. Maizer Said Nahdi, M.Si., selaku Dekan Fakultas Sains dan
Teknologi UIN Sunan Kalijaga Yogyakarta.
6. Bapak Dr. Muhammad Wakhid Musthofa, M.Si., selaku Ketua Program Studi
Matematika Fakultas Sains dan Teknologi UIN Sunan Kalijaga Yogyakarta.
7. Bapak Muchammad Abrori, M.Kom., selaku Dosen Penasihat Akademik
mahasiswa Program Studi Matematika angkatan 2012 atas segala arahan dan
bimbingan selama masa studi.
8. Bapak Noor Saif Muhammad Mussafi, M.Sc., selaku dosen pembimbing
skripsi. Terimakasih selalu meluangkan waktu untuk membimbing, serta
memberikan pengarahan sehingga skripsi ini dapat terselesaikan dengan baik.
9. Bapak/Ibu Dosen dan Staf Fakultas Sains dan Teknologi UIN Sunan
Kalijaga Yogyakarta. Terimakasih atas ilmu, bimbingan dan pelayanan
selama masa perkuliahan dan penyusunan skripsi.
10. Mahendra Fakhrul Fathan. Terimakasih atas segala doa dan semangat
tulusnya kepada penulis untuk segera menyelesakan penulisan skripsi.
ix
11. Sahabatku MARMOS (Arum, Diani, Lisa dan Rindu),. Terimakasih telah
memberikan kebahagiaan dan arti tulus dari persahabatan semenjak empat
tahun silam. Semoga persahabatan ini tetap ada sampai tua walaupun terpisah
jarak nantinya.
12. Teman-teman matematika angkatan 2012. Terimakasih atas kebersamaan dan
cerita yang telah kita buat bersama. Serta seluruh keluarga HM-PS
Matematika. Terimakasih telah mengajarkan banyak hal tentang organisasi
dan pengalaman yang penulis dapatkan.
13. Teman-teman kota kelahiranku: Bila, Sofi, Tya, Danu, Kiki, Wawan, Heny,
Hidayah, Oow, A’la, dan teman-teman Salafiyah juga SMAN 4 Pekalongan
Terimakasih atas waktu bermain dan selalu membuat penulis rindu pulang.
14. Teman-teman KKN 171 (Amel, Atika, Ela, Yaya, Fitri, Ananto, Nay, Bang
Flo, Bang Nashih). Keluarga baru selama dua bulan KKN dan semoga
seterusnya. Terimakasih atas persaudaraannya, ketulusannya, dan
kegilaannya. Terimakasih juga sudah memberikan semangat dan motivasi
mengerjakan skripsi. Terimakasih juga untuk Bapak dan Ibu Paijo selaku
orangtua baru yang selalu dirindukan, beserta masyarakat Prahu yang telah
memberikan kesempatan kepada penulis untuk mempelajari apa yang penulis
belum dapatkan sebelumnya dan kebersamaan yang tak mudah dilupakan.
15. Teman-teman Gama Exacta (Mba Jea, Mis Mila, Mba Lia, Om Wulan, Mas
Syarif, Mas Taufan, Pak Joko, Pak Emin, Mas Roni). Terimakasih telah
mengajarkan dunia kerja dan kedewasaan kepada penulis. Terimakasih atas
doa dan semangatnya kepada penulis untuk segera menyelesaikan skripsi.
x
16. Teman-teman 396 Ciro Boarding House (Hana, Mba Eno, Hima, Mba Lita,
Mba Riza, Mba Yan, Duwi, Mba Elis, Mba Rahma, Mba Kika, Teh Elyn).
Terimakasih telah menjadi saudara terdekat selama di Jogja. Terimakasih
telah atas semangat dan dukungan kepada penulis dalam mengerjakan skripsi.
17. Semua pihak yang tidak dapat penulis sebutkan satu per satu. Terimakasih
telah membantu dan memberikan dukungan serta doa sehingga penulis dapat
menyelesaikan skripsi ini.
Semoga Allah SWt memberikan balasan kepada mereka dengan kebaikan.
Penulis menyadari bahwa penulisan skripsi ini masih jauh dari sempurna,
sehingga diharapkan kritik dan saran yang bersifat membangun demi
kesempurnaan skripsi ini. Semoga skripsi ini dapat memberikan manfaat untuk
penulis dan pembaca.
Wassalamu’alaikum Wr.Wb
Yogyakarta, 21 November 2016
Fitriatul Malaikhah
xi
DAFTAR ISI
HALAMAN JUDUL ..................................................................................... i
HALAMAN PENGESAHAN SKRIPSI ...................................................... ii
HALAMAN PERSETUJUAN SKRIPSI .................................................... iii
HALAMAN PERNYATAAN KEASLIAN SKRIPSI ................................ iv
HALAMAN PERSEMBAHAN ................................................................... v
HALAMAN MOTTO ................................................................................... vi
KATA PENGANTAR ................................................................................... vii
DAFTAR ISI .................................................................................................. xi
DAFTAR GAMBAR ..................................................................................... xiv
DAFTAR TABEL ......................................................................................... xvi
DAFTAR LAMPIRAN ................................................................................. xvii
DAFTAR LAMBANG .................................................................................. xviii
ABSTRAK ..................................................................................................... xix
BAB I PENDAHULUAN .............................................................................. 1
1.1 Latar Belakang ......................................................................................... 1
1.2 Batasan Masalah ....................................................................................... 3
1.3 Rumusan Masalah ..................................................................................... 4
1.4 Tujuan Penelitian ...................................................................................... 4
1.5 Manfaat Penelitian ................................................................................... 4
1.6 Tinjauan Pustaka ...................................................................................... 4
1.7 Sistematika Penulisan ............................................................................... 6
xii
1.8 Metode Penelitian ..................................................................................... 7
BAB II LANDASAN TEORI ....................................................................... 9
2.1 Optimasi .................................................................................................... 9
2.1.1 Definisi Optimasi ......................................................................... 9
2.1.2 Metode Optimasi .......................................................................... 10
2.1.3 Masalah Optimasi ......................................................................... 12
2.2 Program Linier .......................................................................................... 13
2.2.1 Definisi Program Linier ................................................................. 13
2.2.2 Model Program Linier .................................................................... 14
2.3 Masalah Knapsack .................................................................................... 17
2.3.1 Macam-macam Masalah Knapsack .............................................. 18
2.3.2 Integer Knapsack (knaosack 0-1) ................................................. 18
2.4 Graph ...................................................................................................... 20
2.4.1 Definisi Graph ............................................................................... 20
2.4.2 Graf Terhubung (connected graph) ............................................... 21
2.4.3 Derajat ............................................................................................ 22
2.4.4 Siklus (cycle) .................................................................................. 22
2.4.5 Pohon (Tree) .................................................................................. 22
2.4.6 Pohon Berakar ................................................................................ 23
2.4.7 Terminologi pada Pohon Berakar .................................................. 23
2.5 Pengantar Algoritma dan Algoritma Branch and Bound ........................... 26
2.5.1 Algoritma Branch and Bound ........................................................ 27
2.6 MATLAB ................................................................................................... 29
xiii
2.6.1 GUI (Graphical User Interface) pada MATLAB .......................... 30
2.6.2 Operator Relasi dan Logika ........................................................... 32
2.6.3 Statement Control pada MATLAB ................................................ 33
2.7 Pengetahuan Umum tentang Mendaki ....................................................... 35
2.7.1 Pendakian Gunung ......................................................................... 35
2.7.2 Perencanaan Perjalanan .................................................................. 36
2.7.3 Perlengkapan Perjalanan ................................................................ 37
2.7.4 Ransel ............................................................................................. 44
BAB III PEMBAHASAN ............................................................................. 48
3.1 Konsep dan Langkah Kerja Algoritma Branch and Bound ..................... 48
3.2 Penerapan Algoritma Branch and Bound dalam Pengoptimalan Masalah
Knapsack .................................................................................................. 53
3.3 Rancang Bangun Optimasi Masalah Knapsack Menggunakan
Algoritma Branch and Bound .................................................................. 95
BAB IV PENUTUP ....................................................................................... 110
4.1 Kesimpulan ............................................................................................... 110
4.2 Saran .......................................................................................................... 111
DAFTAR PUSTAKA .................................................................................... 113
LAMPIRAN ................................................................................................... 115
xiv
DAFTAR GAMBAR
Gambar 2.1 Minimum dari f(x) sama dengan Maksimum dari –f(x) ............. 10
Gambar 2.2 Contoh Graph ............................................................................ 21
Gambar 2.3 Contoh Graph Terhubung ......................................................... 21
Gambar 2.4 Contoh Pohon ............................................................................ 23
Gambar 2.5 Contoh Children, Parent, dan Sibling ....................................... 24
Gambar 2.6 Contoh Tingkat dan Tinggi ........................................................ 25
Gambar 2.7 Proses GUI ................................................................................. 30
Gambar 2.8 Tampilan Fig-File ....................................................................... 31
Gambar 2.9 Tampilan m.file .......................................................................... 32
Gambar 2.10 Ilustrasi Packing Ransel .......................................................... 47
Gambar 3.1 Percabangan pada Iterasi 1 ........................................................ 58
Gambar 3.2 Percabangan pada Iterasi 2 ......................................................... 60
Gambar 3.3 Percabangan pada Iterasi 3 ......................................................... 63
Gambar 3.4 Percabangan pada Iterasi 4 ......................................................... 65
Gambar 3.5 Percabangan pada Iterasi 5 ......................................................... 67
Gambar 3.6 Percabangan pada Iterasi 6 ......................................................... 69
Gambar 3.7a Percabangan pada Iterasi 7 ....................................................... 71
Gambar 3.7b Percabangan pada Iterasi 7 ....................................................... 72
Gambar 3.8 Percabangan pada Iterasi 8 ......................................................... 74
Gambar 3.9a Percabangan pada Iterasi 9 ....................................................... 76
Gambar 3.9b Percabangan pada Iterasi 9 ....................................................... 77
Gambar 3.10a Percabangan pada Iterasi 10 ................................................... 79
xv
Gambar 3.11a Percabangan pada Iterasi 11 ................................................... 81
Gambar 3.11b Percabangan pada Iterasi 11 ................................................... 82
Gambar 3.12 Percabangan pada Iterasi 12 ..................................................... 84
Gambar 3.13a Percabangan pada Iterasi 13 ................................................... 86
Gambar 3.13b Percabangan pada Iterasi 13 ................................................... 87
Gambar 3.14a Percabangan pada Iterasi 14 ................................................... 89
Gambar 3.14b Percabangan pada Iterasi 14 ................................................... 90
Gambar 3.15a Percabangan pada Iterasi 15 ................................................... 91
Gambar 3.15b Percabangan pada Iterasi 15 ................................................... 92
Gambar 3.16 Figure Program ........................................................................ 99
Gambar 3.17 Pembuatan Background Program ............................................. 100
Gambar 3.18 Background Knapsack .............................................................. 101
Gambar 3.19 Tampilan Awal Program .......................................................... 106
Gambar 3.20 Form Input Data ........................................................................ 108
Gambar 3.21 Output Program ....................................................................... 108
xvi
DAFTAR TABEL
Tabel 2.1 Operator Relasi ............................................................................... 32
Tabel 2.2 Operator Logika ............................................................................. 33
Tabel 2.3 Perlengkapan Jalan ......................................................................... 38
Tabel 2.4 Perlengkapan Masak ...................................................................... 42
Tabel 2.5 Perlengkapan Tidur ........................................................................ 43
Tabel 2.6 Ukuran Ransel ................................................................................ 45
Tabel 3.1 Contoh Data Masalah Knapsack .................................................... 51
Tabel 3.2 Data Identifikasi Maslah Knapsack dengan Studi Kasus Pendaki
Gunung ............................................................................................................ 55
Tabel 3.3Hasil Pilihan Barang Menggunakan Algoritma Branch and Bound 94
Tabel 3.4 String Property Static Text1 ........................................................... 96
xviii
DAFTAR LAMBANG
: Himpunan simpul
: Himpunan sisi
: Fungsi tujuan yang meruakan nilai optimal (maksimum atau
minimum)
: Kenaikan nilai Z apabila ada penambahan tingkat kegiatan
dengan satu satuan unti dapat disebut juga koefisien pada
variabel keputusan.
: Peubah pengmabilan keputusan atau kegiatan (yang ingin dicari;
yang tidak diketahui).
: Banyaknya sumber yang diperlukan untuk menghasilkan setiap
unit j.
: Kapasitas sumber yang tersedia untuk dialokasikan ke setiap
unit kegiatan.
: Macam batasan sumber atau fasilitas yang tersedia.
: Macam kegiatan yang menggunakan sumber atau fasilitas yang
tersedia.
: Barang ke-i
: Nilai keuntungan barang ke-i
: Nilai bobot barang ke-i
: Nilai bobot muatan suatu media
: Daya angkut yang tersisa setelah barang ke-i dimasukkan
xvii
DAFTAR LAMPIRAN
Lampiran 1 Angket Penelitian Perlengkapan Pendakian ................................ 115
Lampiran 2 Source Code Rancang Bangun Optimasi Masalah Knapsack
Menggunakan Algoritma Branch and Bound ................................................. 137
xix
ABSTRAK
Sebagian besar masalah perencanaan dalam dunia nyata merupakan
masalah optimasi. Salah satu masalah optimasi yang dihadapi adalah masalah
knapsack yang merupakan masalah pemilihan barang dengan pembatasan
kapasitas maksimum daya tampung. Pemilihan barang didasarkan pada kombinasi
barang yang akan menghasilkan nilai kepentingan tertinggi dan masih memenuhi
batasan kapasitas daya tampung. Masalah yang menarik untuk dibahas adalah
masalah knapsack yang dihadapi oleh para pendaki gunung. Mereka akan
dihadapkan pada masalah pemilhan barang yang akan dibawa saat mendaki. Hal
yang perlu diperhatikan adalah tas ransel mempunyai kapasitas maksimum
sehingga tidak semua barang dapat dimasukkan.
Terdapat beberapa algoritma yang dapat digunakan untuk menyelesaikan
masalah knapsack. Algoritma yang digunakan pada penelitian ini adalah algoritma
Branch and Bound. Proses pencarian solusi pada algoritma ini menggunakan
skema Breadth First Search (pencarian melebar). Langkah kerja algoritma Branch
and Bound dalam optimasi masalah knapsack dimulai dengan merepresentasikan
pencarian solusi ke dalam bentuk pohon berakar. Selanjutnya dilakukan proses
branching dan bounding terhadap pohon berakar. Branching adalah pembagian
permasalahan menjadi beberapa subregion yang mungkin mengarah ke solusi.
Sedangkan bounding merupakan pencarian nilai batas untuk solusi optimal di
dalam subregional yang mengarah ke solusi. Tahapan branching dan bounding
dihubungkan dengan strategi pencarian yang ditentukan berdasarkan kriteria
knapsack. Proses pencarian solusi dilakukan secara manual dan rancang bangun
menggunakan bahasa pemrograman MATLAB.
Berdasarkan hasil penelitian mengenai masalah knapsack yang dihadapi
oleh pendaki gunung dengan kapasitas tas ransel 25 liter, diperoleh hasil optimal
yaitu 15 barang terpilih dari total 21 barang yang tersedia, dengan jumlah volume
23,7813 liter, nilai kepentingan 163, dan hanya menyisakan ruang kosong sebesar
1,2187 liter.
Kata kunci: optimasi, masalah knapsack, algoritma Branch and Bound, MATLAB
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Optimasi merupakan salah satu masalah klasik yang dihadapi dalam
berbagai bidang ilmu, termasuk di bidang matematika maupun informatika.
Optimasi dalam penyelesaian masalah merupakan suatu cara pengambilan
keputusan sehingga didapatkan hasil penyelesaian yang optimal sesuai dengan
kendala. Banyak persoalan optimasi dunia nyata yang sering dijumpai dalam
kehidupan sehari-hari maupun industri. Sebagai contoh penyusunan jadwal
perkuliahan, penentuan rute kendaraan umum, penentuan jumlah pekerja pada
sebuah proses produksi.
Masalah optimasi lain yang menarik untuk dibahas adalah masalah yang
dihadapi oleh para pendaki gunung. Peralatan pendakian berjumlah banyak,
namun tidak semua barang dapat dibawa saat mendaki gunung. Hal tersebut
karena tas ransel yang menjadi media tampung memiliki nilai konstanta yang
merupakan nilai pembatas untuk barang-barang yang akan dimasukkan. Maka
ditentukan sebuah cara untuk pemilihan barang-barang tersebut dengan tujuan
menghasilkan hasil optimum tetapi tidak melebihi kemampuan tas ransel tersebut
untuk menampungnya. Kemudian masalah tersebut dinamakan masalah knapsack.
Masalah Knapsack merupakan salah satu masalah optimasi pada pemilihan
barang yang akan dimasukkan ke dalam suatu media yang memiliki keterbatasan
2
ruang atau daya tampung. Barang-barang yang akan dimasukkan memiliki berat
dan nilai masing-masing yang digunakan untuk menentukan prioritas dalam
pemilihan tersebut. Nilai barang dalam hal ini dapat berupa tingkat kepentingan,
harga barang, nilai sejarah, dan lain sebagainya. Media tampung dalam hal ini
memiliki nilai konstanta yang merupakan nilai pembatas maksimum untuk
barang-barang yang akan dimasukkan ke dalam media tersebut. Dari
permasalahan diatas, ditemukan sebuah cara pemilihan barang yang akan
dimasukkan ke dalam suatu media dengan tujuan menghasilkan hasil optimum
tetapi tidak melebihi kemampuan suatu media untuk menampungnya.
Ada berbagai metode yang dapat digunakan untuk menyelesaikan masalah
knapsack. Algoritma Branch and Bound menjadi salah satu alternatif untuk
menyelesaikan masalah knapsack. Algoritma Branch and Bound diperkenalkan
pertama kali oleh A.H. Land dan A.G. Doig pada tahun 1960. Konsep algoritma
ini adalah menyelesaikan masalah dengan membaginya menjadi partisi yang lebih
kecil secara terus menerus hingga mendapat solusi optimal.
Penyelesaian masalah knapsack dengan tipe knapsack 0-1 menghasilkan
konsep binner pada setiap pengambilan keputusannya. Artinya setiap masalah
pada knapsack 0-1 akan dibagi menjadi dua cabang yaitu 0 (barang tidak terpilih)
dan 1 (barang terpilih). Hal tersebut sesuai dengan konsep percabangan pada
Algoritma Branch and Bound yang membagi setiap masalah menjadi partisi yang
lebih kecil secara terus menerus hingga mendapat solusi optimal.
Berdasarkan uraian di atas, maka dalam penelitian ini akan dibahas
mengenai optimasi masalah knapsack menggunakan Algoritma Branch and
3
Bound. Untuk ini penelitian ini berjudul Optimasi Masalah Knapsack
Menggunakan Algoritma Branch and Bound.
1.2 Batasan Masalah
a) Masalah knapsack yang diasumsikan adalah knapsack 0-1, artinya setiap
barang hanya tersedia satu unit, untuk selanjutnya diputuskan akan diambil
atau ditinggalkan.
b) Penulisan skripsi ini hanya akan membahas tentang nilai muatan dari suatu
media, bukan kepada kekuatan media tersebut.
c) Penulisan skripsi ini hanya akan membahas pemilihan barang yang
dimasukkan ke dalam suatu media (kriteria knapsack) dengan Algortima
Branch and Bound sehingga mendapat nilai yang optimal.
1.3 Rumusan Masalah
Rumusan masalah yang akan dibahas dalam penelitian ini adalah sebagai
berikut:
1. Bagaimana konsep dan cara kerja Algoritma Branch and Bound dalam
pengoptimalan masalah knapsack?
2. Bagaimana penerapan Algoritma Branch and Bound dalam pengoptimalan
masalah knapsack?
3. Bagaimana rancang bangun optimasi masalah knapsack menggunakan
Algoritma Branch and Bound?
4
1.4 Tujuan Penelitian
Berdasarkan rumusan masalah di atas,maka tujuan dari penelitian ini adalah:
1. Mengetahui konsep dan cara kerja Algoritma Branch and Bound dalam
pengoptimalan masalah knapsack.
2. Mengetahui penerapan Algoritma Branch and Bound dalam pengoptimalan
masalah knapsack.
3. Mengetahui rancang bangun optimasi masalah knapsack menggunakan
Algoritma Branch and Bound.
1.5 Manfaat Penelitian
Hasil dari penelitian ini diharapkan dapat memberikan manfaat bagi para
pembaca antara lain:
1. Manfaat bagi akademisi yaitu menambah pemahaman dari aplikasi program
linier terhadap cara pengoptimalan masalah knapsack menggunakan
Algortima Branch and Bound.
2. Manfaat bagi pendaki yaitu memberikan rekomendasi pengambilan barang
yang akan dimasukkan ke dalam tas ransel (kriteria knapsack) sehingga
barang-barang yang dibawa akan mempunyai nilai kepentingan (prioritas
barang yang dibawa) tinggi.
1.6 Tinjauan Pustaka
Masalah knapsack maupun algoritma Branch and Bound sudah pernah
dikaji namun dengan jenis dan studi kasus yang berbeda-beda. Beberapa
penelitian yang pernah mengkaji masalah knapsack maupun algoritma Branch
and Bound adalah:
5
Jurnal yang berjudul “A Branch and Bound Algorithm for The Knapsack
Problem” yang ditulis oleh Peter J. Kolesar (Management Science, Vol. 13 No.
9,1967). Pokok bahasan jurnal tersebut, yaitu mengenai penyelesaian masalah
Knapsack dengan Algoritma Branch and Bound. Jurnal tersebut menggunakan
knapsack dengan tipe fractional. Tipe ini berarti barang yang tidak memenuhi
kriteria knapsack akan diambil sebagian, sehingga nantinya barang tersebut dapat
dimasukkan ke dalam media tampung (memenuhi kriteria knapsack). Pada
penelitian ini akan dibahas perkembangan dari jurnal tersebut tetapi dengan tipe
knapsack yang berbeda yaitu knapsack dengan tipe integer.
Penelitian yang berjudul “Implementasi Algoritma Branch and Bound
untuk Optimasi Rute Pengangkutan Sampah kota Yogyakarta” karya M.Shofi
Alkhoirodai tahun 2013. Penelitian M.Shofi ini membahas tentang penerapan
Algoritma Branch and Bound dalam pencarian rute terpendek pengangkutan
sampah kota Yogyakarta. Pada penelitian M.Shofi ini batas atas untuk setiap
percabangan diambil dari nilai terkecil karena tujuannya adalah meminimalkan
jarak. Kasus pada skripsi tersebut adalah optimasi rute pengangkutan sampah.
Pada penelitian ini akan digunakan algoritma yang sama yaitu algoritma Branch
and Bound, melainkan dengan kasus yang berbeda yaitu masalah knapsack.
Penelitian yang berjudul Optimasi Strategi Algoritma Greedy untuk
Menyelesaikan Permasalahan Knapsack karya Paryati (Seminar Nasional
Informatika, 2009). Penelitian Paryati ini membahas tentang penyelesaian
permasalahan knapsack menggunakan Algoritma Greedy. Penelitian yang
dilakukan oleh Paryati, prioritas pengambilan barang dibagi menjadi tiga yaitu
6
greedy by profit, greedy by weight, dan greedy by value. Pada penelitian ini akan
dibahas masalah knapsack yang sama seperti penelitian Paryati, namun algoritma
yang digunakan untuk menyelesaikannya berbeda, yaitu algoritma Branch and
Bound.
Berdasarkan tinjauan pustaka diatas, penelitian ini akan mencari solusi
masalah knapsack dengan tipe knapsack 0-1. Algoritma yang digunakan yakni
Algoritma Branch and Bound. Kemudian akan dibuat program penyelesaian
masalah knapsack menggunakan bahasa pemrograman MATLAB. Dengan
demikian diharapkan dapat menghasilkan suatu hasil yang lebih beragam.
1.7 Sistematika Penulisan
Sistematika penulisan pada skripsi ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab pendahuluan berisi latar belakang, batasan masalah, rumusan masalah,
tujuan penelitian, manfaat penelitian, tinjauan pustaka, sistematika
penulisan, dan metode penelitian.
BAB II DASAR TEORI
Dasar teori berisi tentang Optimasi, Program Linier, Masalah knapsack,
Graph, Pengantar Algoritma dan Algoritma Branch and Bound, MATLAB,
dan Pengetahuan Umum tentang Pendakian.
BAB III PEMBAHASAN
Pada bab ini akan dibahas mengenai konsep dan cara kerja Algoritma
Branch and Bound dalam pengoptimalan masalah knapsack, penerapan
Algoritma Branch and Bound dalam pengoptimalan masalah knapsack, dan
7
rancang bangun optimasi masalah knapsack menggunakan Algoritma
Branch and Bound.
BAB IV KESIMPULAN DAN SARAN
Berisi tentang kesimpulan dari penelitian yang peneliti lakukan serta berisi
saran-saran yang dapat dikembangkan bagi penelitian selanjutnya terkait
dengan penerapan Algoritma Branch and Bound.
1.8 Metode Penelitian
Metode penelitian yang digunakan dalam penyusunan skripsi ini adalah:
1. Studi pustaka, yaitu pengumpulan data yang dilakukan dengan cara
membaca buku-buku catatan secara literatur, mempelajari, dan meneliti
berbagai buku bacaan yang berkaitan dengan masalah yang dibahas.
2. Studi lapangan, yaitu dengan pengambilan data dan mengamati pemilihan
barang yang akan di masukkan ke dalam tas ransel. Hal tersebut diperoleh
dari responden yang notabene adalah pendaki yang setiap tahunnya selalu
melakukan pendakian. Kemudian melakukan perhitungan terhadap
peralatan pendakian dan volume tas ransel.
Selanjutnya diberikan skema penelitian yang meliputi langkah penelitian,
pengumpulan data, studi literatur, hasil solusi dan pembahasan serta
kesimpulan yaitu sebagai berikut:
8
Penyelesaian
Keterangan gambar:
Pelaksanaan Penelitian
Teknik Pengumpulan
Data
Tempat dan Waktu
Penelitian Pengumpulan
Data
Pengolahan Data
Analisis Algoritma Branch and Bound
Analisis Masalah Knapsack
Pelaporan Hasil
Kesimpulan
Studi literatur:
1 Masalah Knapsack
2 Algoritma Branch and Bound
3 Teori Graf
Pustaka Penelitian Objek Penelitian observasi
Persiapan Penelitian
: Tahap kegiatan
: Ruang lingkup kegiatan
: Arah alur kegiatan
Permasalahan
110
BAB IV
PENUTUP
A. Kesimpulan
Berdasarkan hasil pembahasan tentang Optimasi Masalah Knapsack
Menggunakan Algoritma Branch and Bound dapat ditarik kesimpulan sebagai
berikut:
1. Penyelesaian masalah knapsack 0-1 menggunakan algoritma Branch and
Bound melalui dua tahap, yaitu branching dan bounding. Branching adalah
proses pembagian permasalahan menjadi subregion-subregion yang
mengarah ke solusi. Prosedur ini dilakukan berulang-ulang secara rekursif,
maka semua subregional secara alami membentuk struktur pohon pencarian.
Bounding adalah cara untuk mencari nilai batas atas atau batas bawah untuk
solusi optimal di dalam subregional yang mengarah ke solusi. Tahapan
branching dan bounding dihubungkan dengan strategi pencarian, yaitu
strategi untuk menyeleksi tiap-tiap node yang dihasilkan. Pemilihan node
ditentukan berdasarkan kriteria knapsack sehingga mendapatkan node yang
optimum.
2. Masalah knapsack 0-1 dapat diterapkan pada proses pemilihan barang yang
akan dibawa oleh pendaki gunung. Barang pendakian yang berjumlah banyak
seperti terlihat pada tabel 3.2, namun tidak semua barang dapat dibawa saat
mendaki mengingat tas ransel yang menjadi media tampung memiliki
kapasitas terbatas, seperti pada penelitian ini adalah 25 liter. Oleh karena itu
dilakukan proses pemilihan barang menggunakan algoritma Branch and
111
Bound dandidapatkan solusi optimum yaitu jumlah barang yang dibawa
adalah 15 dengan volume total 23,7813 liter, nilai kepentingan 163, dengan
volume sisa adalah 1,2187 liter. Hal ini menunjukkan bahwa penyelesaian
masalah knapsack 0-1 menggunakan algoritma Branch and Bound
menghasilkan solusi yang optimal. Hasil perhitungan algoritma Branch and
Bound untuk barang-barang yang dipilih dapat dilihat pada tabel 3.3.
3. Berdasarkan pembahasan mengenai rancang bangun optimasi masalah
knapsack menggunakan algoritma Branch and Bound diperoleh kesimpulan
sebagai berikut:
a. Program (rancang bangun) dibuat menggunakan MATLAB yang dimulai
dengan membuat pseude code utama menggunakan m.file sebagai kode
untuk menjalankan program dan kemudian desain tampilan untuk program
menggunakan fig-file sehingga diperoleh program dalam bentuk GUI
(Graphical User Interface) pada MATLAB.
b. Secara garis besar hasil dari pengujian porgram sama dengan perhitungan
manual, yaitu diperoleh barang yang dipilih, volume total, dan nilai dari
media tampung tersebut seperti terlihat pada tabel 3.3.
B. Saran
Berdasarkan penelitian yang telah dilakukan, maka terdapat beberapa saran
sebagai berikut:
1. Pada penelitian ini menggunakan tipe knapsack 0-1. Disarankan bagi peneliti
selanjutnya dapat menggunakan knapsack dengan tipe yang lain, seperti
112
fractional knapsack, maupun unbounded knapsack. Dengan demikian
memberikan hasil penelitian yang bervariasi.
2. Optimasi masalah knapsack 0-1 pada penelitian diselesaikan menggunakan
algoritma Branch and Bound. Diharapkan pada penelitian selanjutnya dapat
menggunakan algoritma yang lain, seperti algoritma backtracking.
3. Optimasi masalah knapsack 0-1 pada algoritma Branch and Bound ini
diselesaikan menggunakan bahasa pemrograman MATLAB. Disarankan bagi
peneliti selanjutnya dapat menggunakan bahasa pemrograman lain, seperti
VB.Net, PHP, Java, dan lain-lain.
1
DAFTAR PUSTAKA
Abdussakir Dkk. 2009. Teori Graf (Dasar untuk Tugas Akhir/Skripsi). Universitas
Islam Negeri Malang.
Agustin, Hendri. 2005. Mendaki Gunung : Pengenalan dan Teknis-teknis Dasar
Pendakian Gunung. Yogyakarta: Bigraf Publishing.
Agustin, Hendri. 2006. Panduan Teknis Pendakian Gunung. Yogyakarta: Andi
Publisher.
Alkhoirodai, M.Shofi. 2013. Implementasi Algoritma Branch and Bound untuk
Optimasi Rute Pengangkutan Sampah kota Yogyakarta. Universitas Islam
Negeri Sunan Kalijaga Yogyakarta.
Bronson, R. 1996. Teori dan Soal-soal Operations Research. (Terjemahan Hans
Wospakrik). Jakarta: Erlangga.
Bondy, J.A. dan U.S.R. Marty. 1982. Graph Theory with Applications. Elsevier
Science Publishing Co., Inc..
Diah, Katika. 2010. Penyelesaian Knapsack Problem Menggunakan Algoritma
Genetika. Seminar Nasional Informatika 2009 (semnasIF 2009). UPN
”Veteran” Yogyakarta, 23 Mei 2009.
Dimyati, A, & tarliyah, T. 1999. Operation Research “Model-Model
Pengambilan Keputusan”. Bandung: PT. Sinar bara Algesindo.
Kakiay, Thomas J. 2008. Pemrograman Linier. Yogyakarta : ANDI.
Kl’ockner Kerstin. 2005. Depth and Breadth First Processing of Search Result
Lists: An Example Paper in the SUGCHI Style.
Kolesar, J. Peter. 1967. A Branch and Bound Algorithm for The Knapsack
Problem. Management Science : Columbia University.
Merisa, Sulasmina. 2010. Pemecahan Masalah Knapsack dengan Metode Branch
and Bound. Universitas Andalas.
Munir, Rinaldi. 2007. Strategi Algoritmik. Bandung : Informatika Bandung.
Paryati. 2009. Optimasi Strategi Greedy untuk Menyelesaikan Permasalahan
Knapsack 0-1. UPN Veteran Yogyakarta.
2
Peranginangin, Kasiman. 2006. Pengenalan MATLAB. Yogyakarta: ANDI.
Purwanto, Budi Eko. 2008. Perancangan dan Analisis Algoritma.Yogyakarta.
Suarga. 2006. Algoritma Pemrograman. Yogyakarta: ANDI.
Sugiharto,Aris. 2006. Pemrograman GUI dengna Matlab. Yogyakarta: Andi.
Susanta, B. 1994. Program Linear. Jakarta: Departemen Pendidikan dan
Kebudayaa Dirjen Dikti.
Wicaksono, Praseyo Andy. 2007. Strategi Algoritmik: Eksplorasi Algoritma Brute
Force, Greedy dan Pemrograman Dinamis pada Penyelesaian Masalah 0/1
Knapsack. Bandung : STEU, Institut Teknologi Bandung.
Wijaya, Marvin CH. Prijono, Agus. 2007. Pengolahan Citra Digital
Menggunakan MATLAB. Bandung: Informatika Bandung.
Yamit, Zulian. 1991. Linear Programming. Yogyakarta: Bagian Pnerbitan
Fakultas Ekonomi Universitas Islam Indonesia.
Lampiran 2
Source Code Rancang Bangun Optimasi Masalah Knapsack Menggunakan Algoritma
Branch and Bound
function varargout = KNAPSACK(varargin) % KNAPSACK M-file for KNAPSACK.fig % KNAPSACK, by itself, creates a new KNAPSACK or raises the existing % singleton*. % % H = KNAPSACK returns the handle to a new KNAPSACK or the handle to % the existing singleton*. % % KNAPSACK('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in KNAPSACK.M with the given input arguments. % % KNAPSACK('Property','Value',...) creates a new KNAPSACK or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before KNAPSACK_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to KNAPSACK_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help KNAPSACK
% Last Modified by GUIDE v2.5 06-Nov-2015 20:54:31
% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @KNAPSACK_OpeningFcn, ... 'gui_OutputFcn', @KNAPSACK_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end
if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
% --- Executes just before KNAPSACK is made visible.
function KNAPSACK_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to KNAPSACK (see VARARGIN)
% Choose default command line output for KNAPSACK handles.output = hObject; handles.output = hObject;
hback = axes('unit','normalized','position',[0 0 1 1]); uistack(hback,'bottom'); [back, map]=imread('KNAPSACK.jpg'); image(back) colormap(map) set(hback,'handlevisibility','off','visible','off')
% Update handles structure guidata(hObject, handles);
% UIWAIT makes KNAPSACK wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = KNAPSACK_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
function kapasitas_Callback(hObject, eventdata, handles) % hObject handle to kapasitas (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of kapasitas as text % str2double(get(hObject,'String')) returns contents of kapasitas as a
double
% --- Executes during object creation, after setting all properties. function kapasitas_CreateFcn(hObject, eventdata, handles) % hObject handle to kapasitas (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function bykbarang_Callback(hObject, eventdata, handles) % hObject handle to bykbarang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of bykbarang as text % str2double(get(hObject,'String')) returns contents of bykbarang as a
double
% --- Executes during object creation, after setting all properties. function bykbarang_CreateFcn(hObject, eventdata, handles) % hObject handle to bykbarang (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function volume_Callback(hObject, eventdata, handles) % hObject handle to volume (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of volume as text % str2double(get(hObject,'String')) returns contents of volume as a
double
% --- Executes during object creation, after setting all properties. function volume_CreateFcn(hObject, eventdata, handles) % hObject handle to volume (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
end
function barangdiambil_Callback(hObject, eventdata, handles) % hObject handle to barangdiambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of barangdiambil as text % str2double(get(hObject,'String')) returns contents of barangdiambil
as a double
% --- Executes during object creation, after setting all properties. function barangdiambil_CreateFcn(hObject, eventdata, handles) % hObject handle to barangdiambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function keuntungan_Callback(hObject, eventdata, handles) % hObject handle to keuntungan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of keuntungan as text % str2double(get(hObject,'String')) returns contents of keuntungan as
a double
% --- Executes during object creation, after setting all properties. function keuntungan_CreateFcn(hObject, eventdata, handles) % hObject handle to keuntungan (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in proses. function proses_Callback(hObject, eventdata, handles)
% hObject handle to proses (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) m=str2num(get(handles.kapasitas,'string')); n=str2num(get(handles.bykbarang,'string')); w = str2num(get(handles.volume,'string')); v = str2num(get(handles.nilai,'string')); w=w'; v=v'; A=[w v]; vol=A(:,1); V=A(:,2); r=V./vol; R=max(r);
f1=0; n_barang=0; sisa=m-n_barang; Gi=max(r)*(sisa); c=f1+Gi;b=0;
Wbaru=sisa; r0=r; barang=zeros(1,n);
for i=1:n k=0; for j=1:n if barang(j)==0 if (Wbaru-vol(j))>=0 k=k+1;r1=r0; r1(j)=-r0(j); c(k)=(f1+V(j))+(R*(Wbaru-vol(j))); Cj(k)=j; end end end c if k==0 break else [untung indx]=max(c); barang(Cj(indx))=1; f1=f1+V(Cj(indx)); Wbaru=Wbaru-vol(Cj(indx)); r0(Cj(indx))=-r0(Cj(indx)); keuntungan(i)=f1; barang_bab1(i,:)=barang; end c=[]; disp(num2str(barang)); end vol_bar=0; for i=1:n if barang(i)==1 disp(num2str(i));
vol_bar=vol_bar+vol(i); end end kk=[]; vb=[]; nb=[]; for i=1:n if barang(i)==1 kk(i)=i; vb(i)=vol(i); nb(i)=V(i) end end
keuntungan=f1; set(handles.barangdiambil,'string', kk); set(handles.volumediambil,'string', vb); set(handles.nilaidiambil,'string', nb); set(handles.keuntungan,'string',f1); set(handles.volume2,'string',vol_bar);
function nilai_Callback(hObject, eventdata, handles) % hObject handle to nilai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of nilai as text % str2double(get(hObject,'String')) returns contents of nilai as a
double
% --- Executes during object creation, after setting all properties. function nilai_CreateFcn(hObject, eventdata, handles) % hObject handle to nilai (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit7_Callback(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit7 as text % str2double(get(hObject,'String')) returns contents of edit7 as a
double
% --- Executes during object creation, after setting all properties. function edit7_CreateFcn(hObject, eventdata, handles) % hObject handle to edit7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function volume2_Callback(hObject, eventdata, handles) % hObject handle to volume2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of volume2 as text % str2double(get(hObject,'String')) returns contents of volume2 as a
double
% --- Executes during object creation, after setting all properties. function volume2_CreateFcn(hObject, eventdata, handles) % hObject handle to volume2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in reset. function reset_Callback(hObject, eventdata, handles) % hObject handle to reset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
set(handles.kapasitas,'string',''); set(handles.bykbarang,'string',''); set(handles.volume,'string',''); set(handles.nilai,'string',''); set(handles.barangdiambil,'string', ''); set(handles.volumediambil,'string', ''); set(handles.nilaidiambil,'string', ''); set(handles.keuntungan,'string',''); set(handles.volume2,'string','');
function volumediambil_Callback(hObject, eventdata, handles) % hObject handle to volumediambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of volumediambil as text % str2double(get(hObject,'String')) returns contents of volumediambil
as a double
% --- Executes during object creation, after setting all properties. function volumediambil_CreateFcn(hObject, eventdata, handles) % hObject handle to volumediambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function nilaidiambil_Callback(hObject, eventdata, handles) % hObject handle to nilaidiambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of nilaidiambil as text % str2double(get(hObject,'String')) returns contents of nilaidiambil
as a double
% --- Executes during object creation, after setting all properties. function nilaidiambil_CreateFcn(hObject, eventdata, handles) % hObject handle to nilaidiambil (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton4. function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
run help;
CURICULUM VITAE
Nama : Fitriatul Malaikhah
Tempat, Tanggal Lahir : Pekalongan, 12 Maret 1994
Alamat : Jl. Tondano gg.14a no.11 Pekalongan
Alamat Email : [email protected]
Telepon : 0857 2588 8240
Jenis Kelamin : Perempuan
Agama : Islam
Status : Belum menikah
Tinggi / Berat Badan : 160 / 52
Kesehatan : Baik Sekali
Kewarganegaraan : Indonesia
DATA PENDIDIKAN
SD : MSI 01 Kauman Pekalongan
SMP : SMP Salafiyah Pekalongan
SMA : SMA N 04 Pekalongan
Perguruan Tinggi : UIN Sunan Kalijaga Yogyakarta
Fakultas / Jurusan : Sains dan Tekhnologi / Matematika
Konsentrasi : Matematika Terapan
PRESTASI
2013 : Pemenang Juara 2 Lomba Badmintoon tingkat Prodi Matematika
2014 : Pemenang Juara 2 Lomba Badmintoon tingkat Prodi Matematika
PENGALAMAN ORGANISASI
2010-2011 : Anggota OSIS SMAN N 04 Pekalongan
2010-2011 : Anggota Dewan Ambalan Yos Sudarso – Tri Buana Tungga Dewi
2013 – 2014 : Anggota HM-PS Prodi Matematika
PENGALAMAN KERJA
2012 : Tentor Matematika siswa SD-SMP
KEMAMPUAN
Aplikasi dan Program Komputer (Microsof Office, Microsoft Excel, Power Point)
Aplikasi Website, dan Blog
HOBBY
Internet (Browsing)
Mendengarkan Musik (Musik klasik, pop, instrumental)
Membaca (Buku Motivasi dan Novel)
Olahraga (Badminton)