pengembangan algoritma modified prim untuk …digilib.unila.ac.id/26028/3/skripsi tanpa bab...
TRANSCRIPT
PENGEMBANGAN ALGORITMA MODIFIED PRIM
UNTUK MENYELESAIKAN MASALAH INSTALASI
JARINGAN MULTI TAHAP
(Skripsi)
Oleh
WIBI CAHYO HASTONO
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
2017
ABSTRACT
THE MODIFIED PRIM'S ALGORITHM TO SOLVE THE MULTI
PERIODS INSTALLATION PROBLEM
By
WIBI CAHYO HASTONO
Given a graph G(V,E), and cij ≥ 0, where V is a set of vertices, and E is the set of
edges that connects vertices in V, and cij is the weight of the edge eij, The Minimum
Spanning Tree (MST) Problem is a problem of finding the minimum weight
spanning tree of G. If we add degree restriction on every vertex of G, the problem
becomes a Degree Constrained Minimum Spanning Tree Problem (DCMST).
Moreover, if we add another constraint which is period, then the problem arises as
The Multi Period Degree Constrained Minimum Spanning Tree (MPDCMST)
Problem. In reality, this problem usually arises on network installation. Prim’s
Algorithm is one of famous algorithms that frequently used to solve MST. To use
Prim’s algorithm for MPDCMST, we need to do some modifications. In this
research we developed six algorithms based on Modified Prim’s algorithm, named
as :WAC1, WAC2, WAC3, WAC4, WAC5 and WAC6. From the results we found
that the best solution is Algorithm WAC6.
Keywords : multi periods, degree constrained, network installation, modified
Prim.
ABSTRAK
PENGEMBANGAN ALGORITMA MODIFIED PRIM UNTUK
MENYELESAIKAN MASALAH INSTALASI MULTI TAHAP
Oleh
WIBI CAHYO HASTONO
Algoritma Prim merupakan salah satu algoritma yang sering digunakan untuk
menyelesaikan masalah Minimum Spanning Tree (MST) atau pencarian jalur
terpendek dalam sebuah graf. Pada implementasi dunia nyata masalah instalasi
jaringan tidak sesederhana masalah MST, terdapat beberapa kendala tambahan
dalam masalah instalasi jaringan. Kendala tambahan tersebut adalah kendala degree
yang membatasi jumlah maksimal edge yang boleh terhubung dalam suatu vertex.
Selanjutnya adalah kendala periode, yang membagi proses instalasi pada beberapa
tahap, dengan vertex prioritas pada masing-masing tahapan. MST dengan dua
tambahan kendala ini disebut dengan Multi Period Degree Constrained Minimum
Spanning Tree (MPDCMST). Pada penelitian ini dikembangkan Algoritma
Modified Prim untuk menyelesaikan masalah MPDCMST. Penelitian ini
mengembangkan 6 Algoritma Modified Prim yang diberi nama WAC1, WAC2,
WAC3, WAC4, WAC5 dan WAC6. Dari hasil pengujian yang dilakukan
menggunakan kasus uji seperti pada penelitian sebelumnya, hasil solusi terbaik
dihasilkan oleh Algoritma WAC6.
Kata Kunci : multi periods, degree constrained, instalasi jaringan, modified Prim.
PENGEMBANGAN ALGORITMA MODIFIED PRIM
UNTUK MENYELESAIKAN MASALAH INSTALASI
JARINGAN MULTI TAHAP
Oleh
WIBI CAHYO HASTONO
Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar
SARJANA KOMPUTER
pada
Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
2017
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 6 Juli 1995 di Tanjung
Waras, Natar. Penulis merupakan anak pertama dari tiga
bersaudara dengan ayah bernama Yustam Prihastono dan
ibu bernama Tusimah. Penulis menyelesaikan pendidikan
formal pertama kali di SD Negeri 5 Merak Batin tahun
2007, kemudian melanjutkan pendidikan menengah
pertama di SMP Negeri 5 Natar dan selesai pada tahun
2010. Pendidikan menengah atas di SMA Muhammadiyah 2 Bandar Lampung
diselesaikan penulis pada tahun 2013.
Pada tahun 2013, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung melalui
jalur SNMPTN. Pada bulan Februari tahun 2016, penulis melakukan Kerja Praktik
di Grapari Telkomsel Lampung. Pada bulan Juli tahun 2016 penulis melaksanakan
Kuliah Kerja Nyata di Desa Gaya Baru VI Kecamatan Seputih Surabaya Kabupaten
Lampung Tengah. Selama menjadi mahasiswa, penulis cukup aktif berorganisasi,
diantaranya adalah:
1. Kepala Biro Sirkulasi dan Periklanan Lembaga Pers Mahasiswaan Natural
FMIPA Unila pada tahun periode 2014-2015.
2. Layouter Lembaga Pers Mahasiswaan Natural FMIPA Unila pada tahun
periode 2015-2016.
3. Anggota Bidang Kaderisasi Himpunan Mahasiswa Jurusan Ilmu Komputer
pada tahun periode 2014-2015.
4. Bendahara Biro Khusus Himpunan Mahasiswa Jurusan Ilmu Komputer
pada tahun periode 2015-2016.
5. Asisten Laboratorium dan Asisten Dosen Jurusan Ilmu Komputer pada
tahun periode 2014-2017.
6. Web Master FMIPA Unila pada tahun 2015.
7. Web and Android Programmer pada CV. Moonray Artha Gemilang pada
tahun 2016.
ix
PERSEMBAHAN
Puji dan syukur saya ucapkan kepada Allah SWT atas
segala nikmat dan karunia-Nya sehingga skripsi ini dapat diselesaikan.
Kupersembahkan karya kecilku ini untuk:
Ibuku, yang telah melahirkanku
Ibuku, yang telah merawat dan membesarkanku
Ibuku, yang telah mendidikku
Ayahku tercinta, yang telah membesarkanku dengan seluruh kasih dan
sayangnya, memberikan pengetahuannya, dan selalu mendukung serta
mendoakan untuk keberhasilanku.
Adik serta keluarga besarku yang selalu kusayangi
dan, Almamater yang kubanggakan
UNIVERSITAS LAMPUNG
MOTTO
“Indeed, Allah will not change the condition of a people until they change what is
in themselves.”
(Qur’an Surah 13:11)
“The longer I live, the more I realize the impact of attitude on life. Attitude, to me,
is more important than facts. It is more important than the past, the education, the
money, than circumstances, than failure, than successes, than what other people
think or say or do. It is more important than appearance, giftedness or skill. It will
make or break a company... a church... a home. The remarkable thing is we have a
choice everyday regarding the attitude we will embrace for that day. We cannot
change our past... we cannot change the fact that people will act in a certain way.
We cannot change the inevitable. The only thing we can do is play on the one
string we have, and that is our attitude. I am convinced that life is 10% what
happens to me and 90% of how I react to it. And so it is with you... we are in
charge of our Attitudes.”
(Charles R. Swindoll)
SANWACANA
Puji dan syukur penulis ucapkan kehadirat Allah SWT atas segala rahmat, hidayah
dan kesehatan yang diberikan kepada penulis sehingga dapat menyelesaikan
penulisan skripsi ini.
Skripsi ini disusun sebagai syarat untuk memperoleh gelar Sarjana Komputer di
Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Universitas
Lampung. Judul dari skripsi ini adalah “Pengembangan Algoritma Modified Prim
untuk Menyelesaikan Masalah Instalasi Jaringan Multi Tahap”.
Dalam penyusunan skripsi ini, penulis banyak menghadapi kesulitan. Namun,
berkat bantuan dan dorongan dari berbagai pihak, akhirnya penulis dapat
menyelesaikan skripsi ini. Untuk itu pada kesempatan ini, penulis mengucapkan
terimakasih kepada:
1. Kedua orang tua, Bapak Yustam Prihastono dan Ibu Tusimah, Adik-adikku
tercinta Riski Saifullah dan Zaskia Lutfi Zahratu Sita, serta keluarga besar
yang selalu memberikan doa, motivasi dan kasih sayang yang tak terhingga.
2. Ibu Dra. Wamiliana, Ph.D. sebagai pembimbing I, yang telah membimbing
penulis dan memberikan ide, kritik serta saran sehingga penulisan skripsi
ini dapat diselesaikan.
3. Ibu Astria Hijriani, S.Kom., M.Kom. sebagai pembimbing II, yang telah
memberikan saran, bantuan dan membimbing penulis dalam pembuatan
skripsi ini.
4. Bapak Ir. Machudor Yusman, M.Kom. sebagai pembahas, yang telah
memberikan masukan-masukan yang bermanfaat dalam perbaikan skripsi
ini.
5. Bapak dan Ibu Dosen serta seluruh staf Jurusan Ilmu Komputer Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Lampung yang telah
memberikan ilmu dan pengalaman dalam hidup untuk menjadi lebih baik.
6. Seluruh mahasiswa angkatan 2013 yang berjuang bersama dalam suka
maupun duka, saling membantu, saling bertanya dalam menyelesaikan
karya-karyanya selama di Universitas Lampung. Kebersamaan yang telah
dilalui menjadi pengalaman berharga bagi penulis.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, akan tetapi
sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu
pengetahuan terutama bagi teman-teman Ilmu Komputer.
Bandar Lampung, 25 Januari 2017
Wibi Cahyo Hastono
xiii
DAFTAR ISI
Halaman
DAFTAR ISI ............................................................................... xiv
DAFTAR GAMBAR .................................................................. xvi
DAFTAR TABEL ...................................................................... xix
BAB I PENDAHULUAN
1.1 Latar Belakang .............................................................. 1
1.2 Rumusan Masalah ......................................................... 3
1.3 Batasan Masalah ........................................................... 3
1.4 Tujuan ........................................................................... 4
1.5 Manfaat ......................................................................... 4
BAB II TINJAUAN PUSTAKA
2.1 Konsep Dasar Graf ....................................................... 5
2.2 Minimum Spanning Tree dan Turunannya .................... 9
2.3 Algoritma Prim dan Extreme Programming ................. 11
BAB III METODE PENELITIAN
3.1 Tempat dan Waktu Penelitian ....................................... 14
3.2 Bahan dan Alat ............................................................. 14
3.3 Tahapan Penelitian ........................................................ 15
BAB IV HASIL DAN PEMBAHASAN
4.1 Data yang Digunakan .................................................... 32
4.2 Penentuan HVTk dan MaxVTk .................................... 32
4.3 Implementasi ................................................................. 33
4.3.1 WAC1 .................................................................... 33
4.3.2 WAC2 .................................................................... 39
4.3.3 WAC3 .................................................................... 44
4.3.4 WAC4 .................................................................... 49
4.3.5 WAC5 .................................................................... 54
4.3.6 WAC6 .................................................................... 60
4.4 Pengujian dan Hasil ...................................................... 61
BAB V KESIMPULAN DAN SARAN
5.1 Kesimpulan ................................................................... 65
5.2 Saran ............................................................................. 66
DAFTAR PUSTAKA
DAFTAR GAMBAR
Halaman
Gambar 2.1 Contoh Tree ................................................................... 8
Gambar 2.2 Graf G ............................................................................. 8
Gambar 2.3 Semua spanning tree dari graf G.................................... 9
Gambar 2.4 Contoh pohon ................................................................. 9
Gambar 2.5 Alur Metode Extreme Programming (Pressman, 2009) 13
Gambar 3.1 Flowchart Penelitian ...................................................... 15
Gambar 3.2 Flowchart tahapan coding ............................................. 21
Gambar 3.3 Isi file 5 vertex ................................................................ 22
Gambar 3.4 Visualisasi Tabel 3.1 ...................................................... 23
Gambar 3.5 Visualisasi MST ............................................................. 25
Gambar 3.6 Visualisasi DCMST ....................................................... 27
Gambar 3.7 Visualisasi` MPDCMST ................................................ 30
Gambar 4.1 Visualisasi jaringan periode-1 pada WAC1 .................. 36
Gambar 4.2 Visualisasi jaringan periode-2 pada WAC1 ................... 37
Gambar 4.3 Visualisasi jaringan pada WAC1 ................................... 39
Gambar 4.4 Visualisasi jaringan periode-1 pada WAC2 .................. 41
Gambar 4.5 Visualisasi jaringan periode-2 pada WAC2 .................. 42
Gambar 4.6 Visualisasi jaringan WAC2 ........................................... 43
Gambar 4.7 Visualisasi bobot k-path ................................................. 44
Gambar 4.8 Visualisasi jaringan periode-1 pada WAC3 .................. 46
Gambar 4.9 Visualisasi jaringan periode-2 pada WAC3 .................. 47
Gambar 4.10 Visualisasi jaringan pada WAC3 ................................ 49
Gambar 4.11 Visualisasi jaringan periode-1 pada WAC4 ................ 51
Gambar 4.12 Visualisasi jaringan periode-2 pada WAC4 ................ 52
Gambar 4.13 Visualisasi jaringan pada WAC4 ................................ 53
Gambar 4.14 Visualisasi jaringan periode-1 pada WAC5 ................ 56
Gambar 4.15 Visualisasi jaringan periode-2 pada WAC5 .............. 58
Gambar 4.16 Visualisasi jaringan pada WAC5 .............................. 59
Gambar 4.17 Visualisasi Grafik Tabel 4.8 ...................................... 62
Gambar 4.18 Visualisasi Grafik Tabel 4.9 ....................................... 64
xviii
DAFTAR TABEL
Halaman
Tabel 3.1 Edge / sisi pembentuk graf ............................................ 22
Tabel 4.1 Elemen HVTk untuk setiap periode (Wamiliana, 2015 b) 32
Tabel 4.2 Objek edge file 22.dat 10 vertex .................................. 34
Tabel 4.3 Edge yang terhubung pada proses instalasi WAC1 ..... 38
Tabel 4.4 Edge yang terhubung pada proses instalasi WAC2 ..... 43
Tabel 4.5 Edge yang terhubung pada proses instalasi WAC3 ...... 48
Tabel 4.6 Edge yang terhubung pada proses instalasi WAC4 ..... 53
Tabel 4.7 Edge yang terhubung pada proses instalasi WAC5 ..... 59
Tabel 4.8 Perbandingan rata-rata bobot antara MST, DCMST,
WAC1, WAC2, WAC3, WAC4,WAC5 dan WAC6 ... 61
Tabel 4.9 Perbandingan bobot rata-rata antara WAC6, WAC2,
WADR1 dan WADR2 .................................................. 63
1
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Penerapan ilmu matematika dalam kehidupan sehari-hari memang tidak pernah
ada habisnya. Ilmu matematika dapat menjadi solusi konseptual dalam
penyelesaian berbagai masalah yang dihadapi oleh manusia. Seiring dengan
semakin majunya teknologi komputer, penggunaan komputer dan model
matematika semakin banyak digunakan sebagai alat bantu dalam menyelesaikan
masalah dalam kehidupan sehari-hari.
Dalam matematika dan ilmu komputer, suatu graf adalah objek dasar pelajaran
dalam teori graf. Dalam bahasa sehari-hari, suatu graf dapat didefinisikan sebagai
himpunan dari objek-objek yang dinamakan vertex atau titik dan dihubungkan oleh
edge atau garis. Munir (2009) mendefinisikan bahwa graf adalah himpunan (V,
E) dan dapat ditulis dengan notasi G = (V, E), V adalah himpunan tidak kosong
dari vertex-vertex {v1,v2,...,vn} dan E adalah himpunan edge {e1,e2,...,en} yang
menghubungkan sepasang vertex. Salah satu permasalahan yang dapat
diselesaikan menggunakan teori graf yaitu Minimum Spanning Tree Problem. Dari
studi literatur didapat bahwa penelitian tentang penggunaan suatu algoritma untuk
2
menentukan Minimum Spanning Tree (MST) atau Pohon Rentang Minimum dan
implementasinya pada suatu graf berbobot telah dilakukan dan didapat dua
algoritma terkenal untuk mencari MST, yaitu Algoritma Prim dan Algoritma
Kruskal.
Jika MST tersebut diberi tambahan kendala degree (derajat) maka masalah
tersebut adalah masalah Degree Contrained Minimum Spanning Tree (DCMST)
dan jika DCMST diberi kendala tahap, maka masalah tersebut menjadi masalah
MPDCMST atau Multi Period Degree Constrained Minimum Spanning Tree.
Untuk masalah MPDCMST, Kawatra (2002) pertama kali mengidentifikasi
masalah ini dan menyelesaikannya menggunakan metode hybrid relaksi
Lengrange dan branch exchange yang diimplementasikan metode tersebut sampai
100 vertex. Selanjutnya Wamiliana dkk. (2005) mengimplementasi metode greedy
MPDCMST dengan menggunakan modifikasi Algoritma Kruskal. Nugraha (2011)
mengimplementasikan Algoritma Prim untuk menentukan MST (Minimum
Spanning Tree) pada sebuah jaringan berbobot dan mendapati bahwa algoritma ini
memiliki efisiensi yang cukup tinggi, yaitu dengan waktu sekitar 2 detik per 80
titik yang dihubungkan. Namun, pada penelitian Nugraha (2011) ini hanya
mengimplementasikan Algoritma Prim untuk menyelesaikan masalah MST dan
bukan MPDCMST. Pada permasalahan MPDCMST pencarian jalur terpendek
antara vertex, dibatasi oleh beberapa kondisi tertentu, misalnya jumlah edge
maksimal yang terhubung pada suatu vertex. Kendala ini disebut dengan kendala
degree (derajat) titik, yang membatasi inter-koneksi pada vertex tersebut. Selain
itu, karena instalasi jaringan dilakukan secara bertahap, maka tiap tahap dibatasi
banyaknya titik yang di-install.
3
Pada penelitian ini difokuskan pada masalah MPDCMST yang diselesaikan
menggunakan Algoritma Modified Prim. Pada MPDCMST, jika diberikan
sebagian yang telah terhubung (misalnya jaringan pipa PDAM), maka dengan dana
yang telah dialokasikan untuk pengembangan jaringan tersebut, pemerintah harus
menentukan titik atau fasilitas publik mana sajakah yang dihubungkan pada tahap
selanjutnya, dan mana yang dapat ditunda sampai akhirnya semua perumahan atau
fasilitas publik yang ada terhubung dengan jaringan.
1.2 Rumusan Masalah
Fokus masalah yang diselesaikan pada penelitian ini adalah bagaimana
menyelesaikan masalah MPDCMST (Multi Period Degree Constraint Minimum
Spanning Tree) yang memiliki sejumlah vertex dan setiap vertex hanya memiliki
degree maksimal 3 menggunakan Algoritma Modified Prim.
1.3 Batasan Masalah
Beberapa batasan masalah pada penelitian ini yaitu:
1. Penelitian ini hanya dilakukan pengembangan dan penerapan Algoritma
Modified Prim untuk menyelesaikan masalah instalasi jaringan multi tahap.
2. Derajat tiap titik (vertex) maksimal 3.
3. Data yang digunakan pada penelitian ini adalah data yang diambil dari
penelitian sebelumnya, oleh Wamiliana dkk (2015 a).
4
1.4 Tujuan
Tujuan dari penelitian ini adalah sebagai berikut :
1. Mengembangkan Algoritma Modified Prim untuk menyelesaikan masalah
MPDCMST.
2. Mengembangkan source code untuk poin 1.
3. Mengimplementasikan source code pada poin 2 dengan data yang
digunakan oleh Wamiliana dkk (2015 a).
1.5 Manfaat
Penelitian ini diharapkan mampu memberikan kontribusi nyata dalam beberapa
hal berikut:
1. Turut membantu mengembangkan Algoritma Prim untuk mencari solusi
dalam masalah Multi Period Degree Constrain Minimum Spanning Tree
2. Hasil penelitian ini diharapkan bermanfaat untuk menyelesaikan masalah
dalam instalasi jaringan multi tahap.
5
BAB II
TINJAUAN PUSTAKA
Pada bab dijelaskan istilah-istilah yang digunakan pada penelitian ini.
2.1 Konsep Dasar Graf
Graf
Graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi
G = (V, E). Dalam hal ini, V merupakan himpunan tidak kosong dari titik-titik
(vertex), dan E adalah himpunan sisi-sisi (edge) digambarkan dalam garis-garis
yang menghubungkan sepasang titik (Munir, 2009).
Degree (Derajat)
Misalkan v adalah titik suatu graf G, derajat titik v (simbol d(v)) adalah jumlah
garis yang berhubungan dengan titik v dan garis suatu loop dihitung dua kali
(Wibisono, 2004).
Walk
Suatu walk dari v ke w adalah barisan titik-titik berhubungan dan garis
berselang-seling, diawali dari titik v dan diakhiri pada w. Walk dengan panjang
6
n dari v ke w dituliskan sebagai berikut : v0 e1 v1 e2 v2 . . . vn-1 en vn dengan v0 = v;
vn = w; vi-1 dan vi adalah titik-titik diujung garis ei (Wibisono, 2004).
Path
Path dengan panjang n dari v ke w adalah walk dari v ke w yang semua garisnya
berbeda. Path dari v ke w dituliskan sebagai v = v0 e1 v1 e2 v2 . . . vn-1 en vn = w
dengan ei ≠ ej untuk i ≠ j (Wibisono, 2004).
Sirkuit
Sirkuit dengan panjang n adalah path yang dimulai dan diakhiri pada titik yang
sama. Sirkuit adalah path yang berbentuk v0 e1 v1 e2 v2 .... vn-1 en vn dengan v0 =
vn (Wibosono, 2004).
Graf Terhubung
Graf G disebut graf terhubung jika untuk setiap pasang titik u dan v di dalam
himpunan V terdapat garis dari u ke v. Jika tidak, maka graf G disebut graf tak
terhubung (Munir, 2009). Keterhubungan dua titik adalah penting di dalam
graf. Jika dua titik terhubung maka pasti titik yang pertama dapat dicapai dari
titik yang kedua. Pada graf berarah, graf G dikatakan terhubung jika graf tak-
berarahnya terhubung (graf tak-berarah dari G diperoleh dengan
menghilangkan arahnya). Keterhubungan dua titik pada graf berarah
dibedakan menjadi terhubung kuat dan terhubung lemah. Dua titik, u dan v
pada graf berarah G disebut terhubung kuat jika terdapat lintasan garis dari u
ke v dan juga sebaliknya garis berarah dari v ke u. Jika u dan v tidak terhubung
kuat tetapi tetap terhubung pada graf tak-berarahnya, maka u dan v dikatakan
terhubung lemah (Nugraha, 2011).
7
Graf Berbobot
Graf berbobot adalah graf yang setiap garisnya diberi suatu nilai. Bobot pada
tiap garis dapat berbeda-beda bergantung pada masalah yang dimodelkan
dengan graf. Bobot dapat menyatakan jarak antara dua tiang listrik, kapasitas,
biaya perjalanan antara dua kota, waktu tempuh pesan (message) dari sebuah
titik komunikasi ke titik komunikasi lain, ongkos dan produksi (Nugraha,
2011).
Pohon (Tree)
Pohon (Tree) didefinisikan sebagai graph terhubung yang tidak mengandung
sirkuit, sedangkan hutan (forest) adalah kumpulan dari pohon (tree) dan forest
merupakan graf tidak terhubung. Jadi pohon adalah hutan yang terhubung.
Terdapat 2 syarat dalam suatu tree :
1) Suatu graf G disebut terhubung apabila untuk setiap dua titik dari graf
G selalu terdapat jalur yang menghubungkan kedua titik tersebut.
2) Sirkuit atau cycle adalah suatu lintasan tertutup dengan derajat setiap
titik dua.
(Astuti, 2006).
Gambar 2.1 adalah contoh dari Tree.
8
Gambar 2.1 Contoh Tree
Suatu Graf G dengan n buah titik adalah pohon jika :
1) G terhubung dan tak mengandung sirkuit, atau
2) G tidak mengandung sirkuit dan mempunyai n - 1 buah garis, atau
3) G mempunyai n - 1 buah garis dan terhubung
Pohon Rentangan (Spanning Tree)
Suatu pohon rentangan atau spanning tree adalah suatu subgraf dari graf G
yang mengandung semua simpul dari G dan merupakan suatu pohon (Astuti,
2006).
Diberi graf G sebagai berikut :
Gambar 2.2 Graf G
Semua spanning tree dari G digambarkan pada Gambar 2.3 berikut :
9
Gambar 2.3 Semua spanning tree dari graf G
2.2 Minimum Spanning Tree dan Turunannya
Tree dan Forest
Pohon (tree) didefinisikan sebagai suatu graf terhubung (connected graph)
yang tidak mengandung rangkaian sederhana (simple circuit). Sebagai misal,
graf dalam Gambar 2.4 adalah pohon.
Gambar 2.4 Contoh pohon
Himpunan pohon-pohon yang terpisah satu sama lain dinamakan hutan
(forest). Di dalam suatu pohon, titik (vertex) berderajat 1 dinamakan daun
(leaf) atau titik terminal (terminal node), sedangkan vertex yang berderajat
lebih besar dari 1 dinamakan titik cabang (branch node) atau titik internal
10
(internal node). Sebagai misal, vertex-vertex b, c, d, e, f, g, dan i di dalam
Gambar 2.4 adalah daun, sedangkan vertex a, e, dan h adalah titik cabang.
Sifat-sifat yang dimiliki oleh tree ( Liu, 1995):
1. Di dalam suatu pohon, garis antara dua vertex bersifat tunggal (unik, khas).
2. Di dalam suatu pohon, jumlah vertex satu lebih banyak dari pada jumlah
garis.
3. Pohon dengan dua atau lebih vertex memiliki sedikitnya dua daun.
Pohon Merentang Minimun/Minimun Spaning Tree (MST)
Apabila G adalah graf berbobot, maka bobot Spanning Tree atau Pohon
Merentang T dari G didefinisikan sebagai jumlah bobot semua sisi di T. Pohon
merentang yang berbeda mempunyai bobot yang berbeda pula. Diantara semua
pohon merentang dalam graf G, pohon merentang yang berbobot minimum
dinamakan Pohon Merentang Minimum atau Minimum Spanning Tree. Pohon
Merentang Minimum ini mempunyai terapan yang luas dalam masalah riil
(Munir, 2009).
DCMST (Degree Constrained Minimum Spanning Tree)
DCMST Degree Constrained Minimum Spanning Tree. DCMST adalah suatu
permasalahan yang sama halnya dengan MST hanya saja dalam kondisinya
terdapat kendala degree (derajat). Degree Constrained adalah kondisi
pembatasan jumlah degree yang dimiliki oleh suatu titik. DCMST adalah
permasalahan untuk menemukan minimum spanning tree T dari G dimana
11
degree dari tiap titik dibatasi dengan persamaan, di ≤ bi ; (Caccetta dan Hill,
2001).
MPDCMST (Multi Period Degree Constrained Minimum Spanning Tree)
Multi Period Degree Constrained Minimum Spanning Tree (MPDCMST)
adalah masalah lanjutan dari Degree Constrained Minimum Spanning Tree
(DCMST). Perbedaaan diantara kedua masalah ini adalah periode saat
dilakukanya instalasi jaringan. Biasanya dalam implementasi dikehidupan
sehari-hari, instalasi jaringan harus dilakukan dalam beberapa periode karena
mengalami kendala kekurangan dana saat instalasi. Pada DCMST, semua
vertex (dapat dipresentasikan sebagai komputer, kota, dan lainnya) dapat
diinstal dalam satu periode dan tanpa ada titik vertex secara spesifik. Masalah
ini diaplikasikan dalam permasalahan kehidupan sehari-hari seperti instalasi,
suplay air, suplay gas, listrik, kabel telepon, dan lain-lainnya (Junaidi, 2008).
2.3 Algoritma Prim dan Extreme Programming
Algoritma Prim
Inisiasi : 𝑇 = ∅ , 𝑉 = ∅.
Langkah – langkah
1. Tentukan salah satu titik sebagai ”root”
2. Masukkan root ke V.
3. Tentukan garis minimum yang terhubung dengan root, pilih dan masukkan
ke T. Titik ujung garis tersebut masukkan ke V.
4. Pilih garis minimum yang terhubung dengan titik – titik di V dan cek apakah
membentuk sirkuit jika ditambahkan ke T.
12
Jika ya , maka buang garis tersebut dan pilih lagi garis minimum berikutnya.
Jika tidak, masukkan garis nya di T dan titik nya di V.
5. Cek 𝑇 = 𝑛 − 1?
Jika ya STOP. Jika tidak, ulangi langkah 4 (Wamiliana, 2015).
Extreme Programming
Extreme Programming, atau XP, adalah metode pengembangan perangkat
lunak yang berdasarkan nilai-nilai kesederhanaan, komunikasi, umpan balik,
dan keberanian. XP dikembangkan oleh Kent Beck pada tahun 1996 yang
menulis buku, Extreme Programming Explained. XP dirancang untuk
digunakan dengan tim kecil yang melakukan pengembangan perangkat lunak
dengan cepat dengan lingkungan yang mudah cepat berubah. XP bekerja
dengan membawa keseluruhan tim bersama-sama di hadapan praktek
sederhana, dengan umpan balik yang cukup untuk memungkinkan tim dapat
melihat kedudukan tim berada dan untuk menyesuaikan praktek sesuai dengan
situasi unik mereka (Lamia, 2002).
13
Gambar 2.5 Alur Metode Extreme Programming (Pressman, 2009)
Java
Java diciptakan oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank,
dan Mike Sheridan di Sun Microsystem pada tahun 1991. Bahasa ini awalnya
disebut Oak namun kemudian diganti java pada tahun 1995. Dorongan asli
dibentuknya java tidak berasal internet, sebaliknya, motivasi utama
diciptakannya bahasa ini adalah kebutuhan untuk bahasa platform-independen
yang dapat digunakan untuk membuat perangkat lunak untuk dimasukkan
dalam berbagai perangkat elektronik konsumen (Oracle, 2016).
unit t est
cont inuous int egrat ion
accept ance t est ing
pair
programming
Release
user st ories
values
accept ance t est crit eria
it erat ion plan
simple design
CRC cards
spike solut ions
prot ot ypes
refact oring
sof tware increment
project velocity computed
14
BAB III
METODE PENELITIAN
3.1 Tempat dan Waktu Penelitian
Penelitian ini dilakukan di Jurusan Ilmu Komputer Fakultas Matematika dan
Ilmu Pengetahuan Alam Universitas Lampung. Waktu penelitian dilakukan
pada semester ganjil tahun ajaran 2016-2017.
3.2 Bahan dan Alat
Bahan penelitian yang dibutuhkan untuk mendukung pelaksanaan penelitian
ini adalah sebagai berikut :
1. Data masalah graf yang diselesaikan.
2. Berbagai literatur mengenai Algoritma Prim dan implementasinya dalam
pemecahan masalah MST.
Sedangkan alat yang digunakan pada penelitian ini adalah sebagai berikut :
1. Perangkat keras (Hardware), dengan spesifikasi berikut :
a. Processor intel core i5
b. RAM 4 GB
c. Hardisk 500 GB
2. Perangkat lunak (Software), diantaranya :
15
a. Sistem Operasi : Windows 8
b. Bahasa pemrograman : Java
c. IDE : Netbeans 8.0
3.3 Tahapan Penelitian
Pada penelitian yang dilakukan menggunakan metode pengembangan
perangkat lunak Extreme Programming. Sedangkan tahapan-tahapan yang
dilakukan pada penelitian ini digambarkan pada Gambar 3.1:
Gambar 3.1 Flowchart Penelitian
unit t est
cont inuous int egrat ion
accept ance t est ing
pair
programming
Release
user st ories
values
accept ance t est crit eria
it erat ion plan
simple design
CRC cards
spike solut ions
prot ot ypes
refact oring
sof tware increment
project velocity computed
16
Berikut ini adalah penjelasan tiap tahapan yang dilakukan pada penelitian ini :
1. Planning
Tahapan pertama, yaitu planning atau perencanaan. Tahapan ini terdiri dari
tiga sub-tahap. Tahapan pertama yaitu melakukan identifikasi masalah
MPDCMST dalam kehidupan sehari-hari. Identifikasi masalah pada
penelitian ini bertujuan untuk mencari faktor-faktor yang harus diperhatikan
dalam menyelesaikan masalah MPDCMST.
Subtahap selanjutnya adalah studi literatur, yakni dengan mengumpulkan
dan mempelajari informasi seputar masalah MPDCMST, serta
implementasi Algoritma Prim dalam menyelesaikan masalah serupa.
Informasi yang dikumpulkan berasal dari beberapa sumber seperti buku,
jurnal penelitian maupun forum-forum yang terdapat di internet. Sub tahap
ketiga adalah melakukan perencanaan kegiatan yang dilakukan selama
penelitian.
2. Design
Tahapan kedua adalah proses pembuatan algoritma program untuk
penyelesaian masalah yang telah dirumuskan. Algoritma yang akan dibuat
adalah hasil pengembangan dari Algoritma Prim. Pada tahapan ini juga
dilakukan perancangan input, output dan flowchart dari program yang
dibuat. Berikut ini adalah pseudo code Algoritma Modified Prim untuk
menyelesaikan masalah MPDCMST.
17
inisialisasi
V={1}, T=0, n=jumlah_vertex, k=1, kMax=3
begin
while k < kMax
do
if |HVTk| > MaxVTk
stop
else
Tk = 0
while Tk < (|HVTk|-1)
do
cari edge terpendek dari vertex dalam V
simpan edge terpilih kedalam e
if vertex yang akan dihubungkan tidak termasuk dalam HVTk
lanjutkan ke edge berikutnya
else
if penambahan e menyebabkan sirkuit
lanjutkan ke edge berikutnya
else
if penambahan e melanggar degree restriction
lanjutkan ke edge berikutnya
else
simpan vertex sumber dari e kedalam V
simpan e kedalam T
Tk++
endif
endif
endif
end
18
while Tk < (MaxVTk-1)
do
cari edge terpendek dari vertex dalam V
simpan edge terpilih kedalam e
if penambahan e menyebabkan sirkuit
lanjutkan ke edge berikutnya
else
if penambahan e melanggar degree restriction
lanjutkan ke edge berikutnya
else
simpan vertex sumber dari e kedalam V
simpan e kedalam T
Tk++
endif
endif
end
k++;
endif
endwhile
end
Catatan :
HVTk = Himpunan vertex-vertex yang harus di-install pada tahap ke-k atau
sebelumnya.
maxVTk = Maksimal vertex yang dapat di-install pada tahap ke-k.
kMax = Jumlah maksimal periode instalasi.
V = Himpunan vertex yang telah terhubung.
T = Himpunan edge dalam graf.
19
Tk = Jumlah edge yang telah di-install pada tahapan ke-k.
k = Periode instalasi sekarang.
Pseudo code Algoritma Modified Prim dijelaskan sebagai berikut:
1. Inisialisasi variable V sebagai himpunan vertex dengan nilai awal berisi
vertex 1. Inisialisasi variable T sebagai himpunan kosong yang
digunakan untuk menyimpan edge. Inisialisasi variable n sebagai
jumlah vertex yang di-install. Inisialisasi variable k dengan 1 dan kMax
dengan 3.
2. Jika jumlah vertex yang harus di-install pada tahap sekarang (|HVTk|)
lebih besar dari jumlah vertex yang dapat di-install pada tahap sekarang,
munculkan pesan error dan hentikan program.
3. Cari dan simpan edge terpendek dari vertex dalam V ke variabel e.
4. Jika vertex yang dihubungkan tidak termasuk dalam vertex prioritas
maka lanjutkan ke edge berikutnya.
5. Jika penambahan e menyebabkan sirkuit, maka lanjutkan ke edge
berikutnya.
6. Jika penambahan e melanggar degree restriction (kendala degree),
maka melanjutkan ke edge berikutnya.
7. Simpan vertex sumber dari e kedalam V.
8. Simpan e kedalam T
9. Ubah nilai Tk menjadi nilai k sekarang ditambah 1.
10. Jika edge yang telah di-install pada periode sekarang (Tk) kurang dari
jumlah vertex prioritas pada periode ini (|HVTk|) dikurangi satu, maka
kembali ke tahap 3.
20
11. Cari dan simpan edge terpendek dari vertex dalam V ke variabel e
12. Jika penambahan e menyebabkan sirkuit, maka lanjutkan ke edge
berikutnya.
13. Jika penambahan e melanggar degree restriction, maka lanjutkan ke
edge berikutnya.
14. Simpan vertex sumber dari e kedalam V.
15. Simpan e kedalam T
16. Ubah nilai Tk menjadi nilai k sekarang ditambah 1.
17. Jika jumlah edge yang telah di-install pada periode sekarang (Tk)
kurang dari jumlah vertex maksimal yang dapat di-install pada periode
ini (|MaxVTk|) dikurang satu, maka kembali ke tahap 10.
18. Ubah nilai k menjadi nilai k sekarang ditambah 1.
19. Jika jumlah periode sekarang (k) kurang dari jumlah periode maksimal
(kMax), maka kembali ke tahap 2.
3. Coding
Pada tahapan ini terdapat flowchart yang menunjukkan beberapa tahapan
tertentu selama fase coding. Flowchart pada tahapan coding dijelaskan pada
Gambar 3.2.
21
Gambar 3.2 Flowchart tahapan coding
Pada tahap coding dibagi menjadi empat fase utama, dimana tiap-tiap fase
merupakan pengembangan fase sebelumnya. Sehingga, pada fase ini tidak
dapat dilakukan secara paralel. Tiap-tiap fase pada tahapan coding
dijelaskan sebagai berikut :
a. Pembuatan Modul Pembaca Data
Modul Pembaca Data ini dirancang untuk dapat melakukan proses
pembacaan data dari file sumber. Pada proses ini juga dilakukan proses
ekstraksi data kedalam bentuk objek yang sesuai dengan aturan
pemrograman berorientasi objek. Data sumber yang digunakan adalah
data penelitian Wamiliana dkk. (2015), pada data ini terdapat 10 folder,
yaitu folder 10,20,30,50,60,70,80,90 dan 100 vertex. Pada masing-
masing folder terdapat 30 file yang berisi data uji. Contoh isi file data
dengan 5 vertex dijelaskan pada Gambar 3.3:
22
Gambar 3.3 Isi file 5 vertex
Jika file 1.dat diubah menjadi sebuah objek edge maka hasilnya
dijelaskan pada Tabel 3.1 berikut.
Tabel 3.1 Edge / sisi pembentuk graf
Vertex Sumber Vertex Tujuan Bobot
1 2 2
1 3 1
1 4 1
1 5 3
2 3 4
2 4 6
2 5 5
3 4 7
3 5 8
4 5 9
23
Dimana kolom mewakili atribut objek dan baris mewakili objek itu
sendiri. Agar lebih mudah dipahami, dari Tabel 3.1 divisualisasikan
dalam bentuk graf pada Gambar 3.4.
Gambar 3.4 Visualisasi Tabel 3.1
V adalah simbol vertex atau titik-titik yang ada. Pada gambar 3.4
terdapat 5 vertex yang disimbolkan dengan v1, v2, v3, v4 dan v5. Garis
yang saling menghubungkan dari satu titik ke titik lainnya pada gambar
disebut dengan edge. Angka-angka yang terdapat pada edge adalah
bobot dari satu titik ke titik lainnya.
b. Pembuatan Modul MST
Modul MST dirancang untuk dapat menyelesaikan permasalahan MST
dengan menerima input sejumlah edge. Kemudian program
memberikan output berupa hasil jalur yang paling efisien. Modul ini
dibangun menggunakan Algoritma Prim. Tahapan yang dilakukan untuk
24
menyelesaikan permasalahan MST menggunakan Algoritma Prim
adalah sebagai berikut :
1. Pilih vertex awal secara acak untuk ditambahkan ke G.
2. Cari edge terpendek yang terhubung pada vertex di G.
3. Cek apakah vertex target pada edge terpilih, sudah terdapat pada G.
4. Tambahkan vertex ke G jika memenuhi kondisi pada langkah 3.
5. Lakukan langkah 2 sampai 4 hingga semua vertex terhubung.
Langkah pengerjaan secara manual pada masalah MST dari file 1.dat
dengan 5 vertex dan vertex awal adalah v1:
1. Tambahkan v1 kedalam G
G = {v1}
2. Cari edge terpendek pada vertex di G, didapat edge e13
3. Tambahkan v3 ke G
G = {v1, v3}
4. Cari edge terpendek pada vertex di G, yaitu edge e14
5. Tambahkan v4 kedalam list G
G = {v1, v3, v4}
6. Cari edge terpendek pada vertex di G, didapat edge e12
7. Tambahkan v2 ke G
G = {v1, v3, v4, v2}
8. Cari edge terpendek pada vertex di G, yaitu edge e15
9. Tambahkan v5 ke G
G = { v1, v3, v4, v2, v5}
10. Selesai
25
Output edge:
e13 = 1
e14 = 1
e12 = 2
e15 = 3
Total bobot = 7
Visualisasi dari graf yang dihasilkan pada masalah MST, digambarkan
pada Gambar 3.5
Gambar 3.5 Visualisasi MST
c. Modul DCMST
Modul DCMST ini adalah pengembangan dari modul MST dengan
menambahkan masalah pembatasan degree pada tiap vertex-nya.
Tahapan yang dilakukan untuk menyelesaikan permasalahan DCMST
menggunakan Algoritma Modified Prim untuk DCMST sebagai berikut:
1. Pilih vertex awal secara acak untuk ditambahkan ke G.
2. Cari edge terpendek yang terhubung pada vertex di G.
3. Cek apakah vertex target pada edge terpilih sudah terdapat pada G.
26
4. Cek apakah jumlah degree atau edge yang terhubung pada vertex
sumber lebih kecil dari maximum degree.
5. Tambahkan vertex ke G jika memenuhi kondisi pada langkah 3 dan
4.
6. Lakukan langkah 2 sampai 5 hingga semua vertex terhubung.
Langkah pengerjaan secara manual pada masalah DCMST dari file 1.dat
dengan jumlah 5 dan vertex awal adalah v1 serta maksimum degree
adalah 3 :
1. Tambahkan v1 ke G
G = {v1}
2. Cari edge terpendek pada vertex di G, didapat edge e13.
3. Tambahkan v3 ke G karena v1 sebagai vertex sumber masih memiliki
degree atau jumlah vertex terhubung kurang dari maksimum degree.
G = {v1, v3}
4. Cari edge terpendek pada vertex di G, yaitu edge e14.
5. Tambahkan v4 ke G karena masih memenuhi batas maksimum
degree pada v1.
G = {v1, v3, v4}
6. Cari edge terpendek pada vertex di G, didapat edge e12.
7. Tambahkan v2 ke G karena masih memenuhi batas maksimum
degree pada v1
G = {v1, v3, v4, v2}
27
8. Cari edge terpendek pada vertex di G, yaitu edge e25, karena untuk
edge e15. V1 sebagai vertex sumber telah mencapai batas maksimum
degree.
9. Tambahkan v5 ke G
G = {v1, v3, v4, v2, v5}
10. Selesai
Output edge :
e13 = 1
e14 = 1
e12 = 2
e25 = 5
Total bobot = 9
Visualisasi dari graf yang dihasilkan pada masalah DCMST
digambarkan pada Gambar 3.6.
Gambar 3.6 Visualisasi DCMST
d. Modul MPDCMST
28
Modul MPDCMST ini adalah pengembangan dari modul DCMST
dengan menambahkan kendala jumlah tahapan instalasi serta vertex
prioritas. Tahapan yang dilakukan untuk menyelesaikan permasalahan
MPDCMST menggunakan Algoritma Modified Prim untuk MPDCMST
dijelaskan sebagai berikut:
1. Mulai periode 1.
2. Pilih vertex awal secara acak untuk disimpan ke G.
3. Cari edge terpendek yang terhubung pada vertex di G, dengan
mengutamakan untuk memilih vertex yang diprioritaskan pada
periode ini.
4. Cek apakah vertex target pada edge terpilih sudah terdapat pada G.
5. Cek apakah jumlah degree atau edge yang terhubung pada vertex
sumber lebih kecil dari maximum degree.
6. Tambahkan vertex ke G jika memenuhi kondisi pada langkah 4 dan
5.
7. Lanjutkan ke periode berikutnya jika jumlah vertex pada periode ini
telah mencapai jumlah yang ditentukan.
8. Lakukan langkah 2 sampai 7 hingga semua vertex terhubung.
Berikut diberikan contoh pengerjaan secara manual pada masalah
MPDCMST dengan batasan berikut :
a. gunakan data dari file 1.dat
b. jumlah vertex 5
c. sumber vertex = v1
d. maksimum degree = 3
29
e. jumlah tahapan 2; periode-1 install 2 vertex serta vertex prioritasnya
adalah 5, periode-2 install 4 vertex
Langkah-langkah pengerjaan dijelaskan sebagai berikut :
1. Tambahkan v1 ke G dan mulai periode-1.
G = {v1}
2. Cari edge terpendek pada vertex di G dengan mengutamakan v5 yang
menjadi prioritas pada tahap ini, didapat edge e15.
3. Tambahkan v5 ke G.
G = {v1, v5}
4. Mulai periode-2 karena jumlah vertex maksimal pada periode-1
telah terpenuhi.
5. Cari edge terpendek pada vertex di G, didapat edge e14.
6. Tambahkan v4 ke G.
G = {v1, v5, v4}
7. Cari edge terpendek pada vertex di G, yaitu edge e12.
8. Tambahkan v2 ke G karena masih memenuhi batas maksimum
degree pada v1.
G = {v1, v5, v4, v2}
9. Cari edge terpendek pada vertex di G, didapat edge e23, karena untuk
edge e13. V1 telah mencapai batas maksimum degree.
10. Tambahkan v3 kedalam list G
G = {v1, v5, v4, v2, v3}
11. Selesai
Output edge :
30
Periode 1
e15 = 3
Periode 2
e14= 1
e12 = 2
e23 = 4
Total bobot = 10
Visualisasi dari graf yang dihasilkan pada masalah MPDCMST
digambarkan pada Gambar 3.7 berikut.
Gambar 3.7 Visualisasi MPDCMST
Vertex dengan warna hijau di-install pada periode 1 sedangkan yang
berwarna biru di-install pada periode 2.
4. Testing
Tahapan terakhir adalah pengujian program, dimana tujuan dari pengujian
ini adalah untuk memastikan apakah program telah berfungsi sesuai dengan
yang diharapkan. Apabila dari proses pengujian program didapati beberapa
31
kekurangan pada program, maka dilakukan revisi ulang untuk memperbaiki
program tersebut. Selanjutnya jika program telah memenuhi pengujian awal
maka dilakukan pengujian akhir program. Pada tahap ini program yang
sudah dibuat perlu diuji coba sepenuhnya dengan menggunakan seluruh
data yang ada. Dalam penelitian ini data yang digunakan adalah data dari
penelitian Wamiliana dkk. (2015) sebelumnya, dan terdapat 300 file data.
Pengujian dibagi menjadi 10 kasus uji, dimana setiap kasus uji program
diuji menggukan jumlah vertex yang berbeda-beda. Mulai dari jumlah
vertex 10 ,20 ,30 ,40 ,50 ,60, 70, 80 ,90 sampai 100. Untuk setiap kasus uji,
pengujian tidak hanya dilakukan pada masalah MPDCMST melainkan pada
masalah DCMST dan MST. Hal ini bertujuan untuk melihat perbandingan
bobot minimum yang dihasilkan dari ketiga metode tersebut. Selain itu pada
setiap kasus uji, pengujian dilakukan terhadap 30 file uji berbeda.
Selanjutnya dicari bobot minimum rata-rata yang didapatkan.
Kemudian dari hasil pengujian ini perlu didapatkan kesimpulan seputar
hasil yang didapatkan dari program yang dibuat menggunakan Algoritma
Modified Prim pada penelitian ini.
65
BAB V
KESIMPULAN DAN SARAN
Penelitian pengembangan Algoritma Modified Prim untuk menyelesaikan masalah
instalasi jaringan multi tahap telah selesai dilakukan. Berikut ini adalah beberapa
kesimpulan dan saran yang dapat digunakan sebagai rujukan untuk penelitian
selanjutnya.
5.1 Kesimpulan
Berdasarkan hasil penelitan yang telah dilakukan, didapatkan beberapa
kesimpulan sebagai berikut :
1. Solusi optimal MPDCMST dengan menggunakan Algoritma Modified Prim
memiliki total bobot yang lebih besar dibandingkan MST dan DCMST yang
diselesaikan menggunakan Algoritma Prim atau Modified Prim. Karena
adanya kendala tambahan tahap pada MPDCMST.
2. Pada Algoritma WAC2, WAC4, WAC5 dan WAC6 rata-rata solusi yang
dihasilkan memiliki kecenderungan mendekati DCMST seiring dengan
semakin bertambahnya vertex.
3. Pada penelitian ini Algoritma Modified Prim yang memiliki hasil paling
baik dalam menyelesaikan masalah MPDCMST adalah Algoritma WAC6,
66
jika dibanding dengan Algoritma WAC1, WAC2, WAC3, WAC4 dan
WAC5.
4. Solusi yang didapatkan dari masalah MPDCMST menggunakan Algoritma
WAC6 memiliki rata-rata bobot total yang lebih kecil dibanding
menggunakan Algoritma WADR2 yang dikembangkan pada penelitian
sebelumnya.
5.2 Saran
Berikut ini adalah beberapa saran yang dapat digunakan untuk penelitian
selanjutnya :
1. Memberikan tampilan GUI yang rapih serta informatif agar lebih
memudahkan dalam melakukan pengujian.
2. Menambahkan fitur visualisasi graf menggunakan Java Native untuk
memudahkan proses pengecekan secara manual.
3. Mengimplementasikan konsep Thread pada program agar dapat melakukan
pencarian solusi dengan lebih cepat.
67
DAFTAR PUSTAKA
Astuti, Yuni Dwi. 2006. Logika dan Algoritma BAB 3. Jakarta : Universitas
Gunadarma.
Caccetta, L. and S.P. Hill. (2001). “A Branch and Cut Method for the Degree-
Constrained Minimum Spanning Tree Problem.” Networks 37(2), 74–83.
Junaidi A., Wamiliana, Dwi Sakethi, and Edy Tri Baskoro, 2008. ‘Computational
Aspects for multiperiod degree constrained minimum spanning tree problem,
Jurnal Sains MIPA, Special Edition, January 2008, pp. 1-5.
Kawatra . 2002. ‘A Multiperiod degree constrained minimum spanning tree
problem’, European Journal of Operational Research, Vol. 143, pp. 53-63.
Lamia dkk. 2002. Extreme Programming. Software Enginering CSS 423 B –
MWF 11-12.
Liu, C.L. 1995. Dasar-dasar Matematika Diskrit. Jakarta : Penertbit PT Gramedia
Pustaka Utama.
Munir, Rinaldi. 2009. Matematika Diskrit. Edisi Ketiga. Bandung:Informatika.
Nugraha, Deny Wiria. 2011. ‘Aplikasi Algoritma Prim untuk Menentukan
Minimum Spanning Tree Suatu Graf Berbobot dengan Menggunakan
Pemrogrograman Berorientasi Objek’. Jurnal Ilmiah Foristek Vol.1, No.2. pp
70-79.
Oracle. 2016. Java Fundamentals BAB 1.
Pressman, Roges S. 2010. ‘Software Enginering’. New York. McGraw-Hill
Company.
Wamiliana. 2015. Modul Kuliah Matematika Diskrit. Jurusan Matematika FMIPA
Universitas Lampung.
Wamilana, Dwi Sakethi, Akmal J., and Edy Baskoro. 2005. ‘The Design of
68
Greedy Algorithm for Solving the Multiperiod Degree Constrained Minimum
Spanning Tree Problem’. Jurnal Sains dan Teknologi, Vol. 11 No. 2. pp 93-
96.
Wamiliana, Faiz A. M. Elfaki, Mustofa Usman, and M. Azram, 2015 a. Some
Greedy Based Algorithms for Multi Periods Degree Constrained Minimum
Spanning Tree Problem. ARPN Journal of Engineering and Applied Science,
Vol. 10 Issue 21, pp. 10147-10152.
Wamiliana, Mustofa Usman, Dwi Sakethi, Restu Yuniarti and Ahmad Cucus, 2015
b. The Hybrid of Depth First Search Technique and Kruskal’s Algorithm for
Solving The Multi Period Degree Constrained Minimum Spanning Tree
Problem. IEEE Explore, 2016.
http://ieeexplore.ieee.org/xpl/articleDetails.jps?arnumber=7516333&newsea
rch=true&queryText=wamiliana
Wibisono, Samuel. 2004. Matematika Diskrit. Yogyakarta : Penerbit Graha Ilmu.