• Tidak ada hasil yang ditemukan

OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND SKRIPSI

N/A
N/A
Protected

Academic year: 2021

Membagikan "OPTIMASI MASALAH KNAPSACK MENGGUNAKAN ALGORITMA BRANCH AND BOUND SKRIPSI"

Copied!
64
0
0

Teks penuh

(1)

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

(2)
(3)
(4)
(5)

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

(6)

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

(7)

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.

(8)

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.

(9)

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.

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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.

(20)

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

(21)

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

(22)

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?

(23)

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

(24)

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

(25)

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

(26)

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:

(27)

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

(28)

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

(29)

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

(30)

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.

(31)

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

(32)

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.

(33)
(34)
(35)
(36)
(37)
(38)
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)

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

(55)

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

(56)

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

(57)

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.

(58)

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

(59)

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)

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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)

Referensi

Dokumen terkait

Algoritma branch and bound membatasi penyelesaian optimal yang akan menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing

[r]

[r]

[r]

[r]

[r]

[r]

Oleh karena itu, pada bab ini akan disusun model optimasi masalah penyusunan timetable untuk meminimumkan kepadatan penumpang di dalam kendaraan angkutan umum dengan