OPTIMASI MASALAH KNAPSACK MENGGUNAKAN...

64
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

Transcript of OPTIMASI MASALAH KNAPSACK MENGGUNAKAN...

Page 1: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 2: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 3: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 4: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 5: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 6: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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”

Page 7: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 8: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 9: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 10: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 11: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 12: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 13: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 14: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 15: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 16: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 17: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 18: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 19: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 20: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 21: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 22: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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?

Page 23: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · 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:

Page 24: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 25: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 26: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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:

Page 27: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 28: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 29: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 30: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 31: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 32: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 33: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 34: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 35: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 36: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 37: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 38: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 39: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 40: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 41: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 42: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 43: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 44: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 45: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 46: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 47: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 48: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 49: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 50: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 51: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 52: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 53: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.
Page 54: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 55: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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.

Page 56: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

% 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');

Page 57: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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)

Page 58: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

% 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));

Page 59: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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)

Page 60: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

% 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)

Page 61: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 62: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

% 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;

Page 63: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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

Page 64: OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMAdigilib.uin-suka.ac.id/23106/1/12610023_BAB-I_IV-atau-V_DAFTAR... · OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND.

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)