PENYELESAIAN MULTI PERIOD DEGREE CONSTRAINED MINIMUM SPANNING TREE...
Transcript of PENYELESAIAN MULTI PERIOD DEGREE CONSTRAINED MINIMUM SPANNING TREE...
PENYELESAIAN MULTI PERIOD DEGREE CONSTRAINED MINIMUM
SPANNING TREE MENGGUNAKAN ALGORITMA MODIFIED PRIM
DAN PEMOGRAMAN GNU OCTAVE
OLEH
MAS DAFRI MAULANA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2017
SOLVING THE MULTI PERIODS DEGRE CONSTRAINED MINIMUM SPANNING TREE
BY USING MODIFIED PRIM’S ALGORITHM
AND GNU OCTAVE
by
Mas Dafri Maulana
ABSTRACT
In graph theory, one of optimization problem is determining minimum spanning tree (MST)
of a given graph G. If there is another restriction on the vertices of the MST, the problem
emerges as the Degree Constrained Minimum Spanning Tree (DCMST). The application
of the DCMST arises in daily life including the design of telecommunication network,
transportation network, and so on. Usually, the DCMST represents the networks where the
installation process only done at once, at one stage. However, due some limitations and
constraints , especially fund , the installation process must be done in some steps., and this
emerges as the Multi Period Degree Constrained Minimum Spanning Tree (MPDCMST).
To solve the MPDCMST, we developed three algorithms based on Modified Prim’s which
are MPDCMST_awal, MPDCMST_akhir and MPDCMST_kick. The algorithm was
implemented using GNU Octave and used 300 random table problems.The result showed
that the value of solution for the MPDCMST_kick was the best among the three methods
developed.
Key words : minimum spanning tree, multi period degree constrained, modified
Prim’s algorithm.
PENYELESAIAN MULTI PERIOD DEGREE CONSTRAINED MINIMUM
SPANNING TREE MENGGUNAKAN ALGORITMA MODIFIED PRIM
DAN PEMOGRAMAN GNU OCTAVE
Oleh
Mas Dafri Maulana
ABSTRAK
Dalam teori graf, salah satu masalah optimasi adalah penentuan pohon rentang
minimum, atau dikenal dengan istilah Minimum Spanning Tree (MST), yaitu
menentukan bobot yang minimum dari suatu graf yang terhubung. Jika pada suatu
MST diberikan kendala degree (derajat) pada tiap titiknya maka MST tersebut
menjadi masalah DCMST (Degree Constrained Minimum Spanning Tree). Contoh
terapan dari DCMST adalah masalah proses instalasi suatu jaringan yang dapat
dilakukan dalam satu tahap. Akan tetapi, karena ada kendala (umumnya kendala
pendanaan) maka proses instalasi tersebut harus dilakukan dalam beberapa tahap.
Masalah inilah yang disebut dengan instalasi jaringan multi tahap atau Multi Period
Degree Constrained Minimum Spanning Tree (MPDCMST). Untuk menyelesaikan
MPDCMST dapat digunakan Algoritma Prim yang telah dimodifikasi atau disebut
dengan Modified Prim. Penelitian ini bertujuan untuk mengimplementasikan Algoritma
Prim untuk penentuan MST, DCMST, dan MPDCMST. Program DCMST dan MPDCMST
dibuat dengan memberikan kendala batasan degree ≤ 3 dan membagi proses instalasi
menjadi 3 tahap. Implementasi MPDCMST menggunakan beberapa algoritma yakni
MPDCMST_awal, MPDCMST_akhir, dan MPDCMST_kick. Dilakukan pada 300 data
dengan orde graf dari 10 sampai dengan 100. Setiap pengujian dalam satu permasalahan di
kenakan 30 kali uji dan dicatat waktu yang diperlukan untuk menyelesaikan suatu
permasalah tersebut. Hasil menunjukkan bahwa nilai DCMST merupakan lower bound
untuk MDCMST dan berdasarkan solusi optimal MPDCMST_kick merupakan metode
terbaik dari ketiga metode ini.
Kata Kunci : minimum spanning tree, multi period degree constrained, modified
prim,algoritma.
PENYELESAIAN MULTI PERIOD DEGREE CONSTRAINED MINIMUM
SPANNING TREE MENGGUNAKAN ALGORITMA MODIFIED PRIM
DAN PEMOGRAMAN GNU OCTAVE
OLEH
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
SARJANA SAINS
Pada
Jurusan Matematika
Fakultas Matematika dan Ilmu Pengetahuan Alam
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMPUNG
BANDAR LAMPUNG
2017
Judul Skripsi : PENYELESAIAN MULTI PERIOD DEGREE
CONSTRAINED MINIMUM SPANNING TREE
MENGGUNAKAN ALGORITMA MODIFIED
PRIM DAN PEMOGRAMAN GNU OCTAVE
Nama Mahasiswa : Mas Dafri Maulana
Nomor Pokok Mahasiswa : 1317031051
Jurusan : Matematika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
MENYETUJUI
1. Komisi Pembimbing
Ir. Warsono, M. S., Ph.D
NIP. 19630216 1987031 003
Dra. Wamiliana, M. A., Ph. D
NIP. 19631108 1989022 001
2. Ketua Jurusan Matematika
Drs. Tiryono Ruby, M.Sc.,Ph.D
NIP. 19620704 198803 1 002
MENGESAHKAN
1. Tim Penguji
Ketua : Ir. Warsono, M. S., Ph.D ............................
Sekretaris
:
Dra. Wamiliana, M. A., Ph. D
............................
Penguji
Bukan Pembimbing
:
Dian Kurniasari, S.Si., M. Sc.
............................
2. Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Prof. Warsito, S.Si., D.E.A., Ph.D.
NIP. 19710212 199512 1 001
Tanggal Lulus Ujian Skripsi : 29 Mei 2017
PERNYATAAN
Saya yang bertanda tangan dibawah ini, menyatakan bahwa skripsi saya berjudul
“Penyelesaian Multi Period Degree Constrained Minimum Spanning Tree
Menggunakan Algoritma Modified Prim dan Pemograman GNU Octave” adalah
hasil pekerjaan saya sendiri, bukan hasil orang lain. Semua hasil tulisan yang
tertuang dalam skripsi ini telah mengikuti kaidah penulisan karya ilmiah
Universitas Lampung. Apabila kemudian hari terbukti bahwa skripsi ini merupakan
hasil salinan atau dibuat oleh orang lain, maka saya bersedia menerima sanksi
sesuai ketentuan akademik yang berlaku.
Bandar Lampung, Juni 2017
Yang menyatakan
Mas Dafri Maulana
NPM. 1317031051
RIWAYAT HIDUP
Penulis dilahirkan di Pringsewu pada tanggal 13 November 1995, sebagai anak
pertama dari dua bersaudara, dari Bapak Solihin dan Ibu Lilis Suryani.
Penulis menyeselesaikan pendidikan di TK Dharma Wanita Bumi Dipasena
Makmur pada tahun 2002, Madrasah Ibtidaiyah Negeri Mukti Karya pada tahun
2008, Madrasah Tsanawiyah Negeri Model Talang Padang pada tahun 2011, dan
Sekolah Menengah Atas Negeri 1 Gadingrejo pada tahun 2013.
Pada tahun 2013, penulis terdaftar sebagai mahasiswa Jurusan Matematika,
FMIPA, Universitas Lampung melalui jalur SBMPTN. Selama menjadi
mahasiswa, penulis aktif di organisasi HIMATIKA sebagai anggota Bidang
Eksternal, UKMF Natural sebagai redaktur, dan Rohani Islam sebagai anggota
Bidang Informasi dan Komunikasi periode 2014/2015. Kemudian pada periode
2015/2016 penulis aktif sebagai Kepala Departemen Komunikasi dan Informasi
BEM FMIPA dan sebagai Pemimpin Umum UKMF Natural periode 2016.
Pada tanggal 18 Januari – 14 Februari 2016 penulis melakukan Kerja Praktek di
Badan Pusat Statistik (BPS) Kota Bandar Lampung dan pada 25 Juli – 25 Agustus
2016 penulis melaksanakan Kuliah Kerja Nyata di Desa Payung Makmur,
Kecamatan Pubian, Kabupaten Lampung Tengah.
KATA INSPIRASI
“Allah meninggikan orang – orang yang beriman di antara kamu dan
orang – orang yang diberi ilmu pengetahuan beberapa derajat”
{QS. Al-Mujadillah : 11)
“Man jadda wajada”
(Siapa bersungguh-sungguh , dia akan berhasil)"
“Sesuatu akan terlihat tidak mungkin sampai saat semuanya selesai.”
(Nelson Mandela)
"Para petualang itu bebas. Mereka makan saat mereka mau, tidur saat
mereka mau dan bergerak saat mereka mau. Tapi, jadi bebas itu butuh
tanggung jawab." (Krusty)
Ayahanda Solihin & Ibunda Lilis Suryani
Adik Hadi Wijoyo
Kakek & Nenek
Almamaterku tercinta
Universitas Lampung
SANWACANA
Puji syukur kehadirat Allah SWT yang telah melimpahkan berkah dan rahmatNya
sehingga penulis dapat menyelesaikan skripsi yang berjudul “Penyelesaian Multi
Period Degree Constrained Minimum Spanning Tree Menggunakan Algoritma
Modified Prim dan Pemograman GNU Octave” ini. Penulisan skripsi ini merupakan
salah satu syarat untuk memperoleh gelar Sarjana Sains di Universitas Lampung.
Dalam penyusunan skripsi ini penulis banyak mendapat bantuan berupa saran,
bimbingan, maupun motivasi dari berbagai pihak. Oleh karena itu, penulis
mengucapkan terima kasih kepada :
1. Ir. Warsono, M. S., Ph. D. selaku dosen pembimbing utama yang telah
meluangkan waktu untuk membimbing, mengarahkan, memotivasi dan
menyediakan waktu untuk penulis, sehingga skripsi ini dapat terselesaikan.
2. Dra. Wamiliana, M. A., Ph. D. selaku dosen pembimbing kedua yang
memberikan bantuan, waktu, pemikiran dan saran dalam penyelesaian
skripsi ini.
3. Dian Kurniasari, S. Si., M. Sc. selaku dosen pembahas atas waktu, evaluasi,
dan saran yang membangun dalam penyusunan skripsi ini.
4. Bapak Drs. Suharsono S, M.S., M.Sc., Ph.D. selaku pembimbing akademik
yang memberikan arahan dan saran selama proses perkuliahan.
5. Drs. Tiryono Ruby M.Sc., Ph.D. selaku Ketua Jurusan Matematika Fakultas
Matematika dan Ilmu Pengetahuan Alam.
6. Bapak Prof. Warsito, S.Si., D.E.A., Ph.D., selaku Dekan Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.
7. Seluruh dosen Jurusan Matematika dan Ilmu Pengetahuan Alam.
8. Ayah, Ibu, Hadi dan keluarga yang selalu memberikan doa, dukungan, dan
semangat sehingga penulis menyelesaikan skripsi ini.
9. Helin Meilinawati penyemangat dalam penyelesaian skripsi ini.
10. Ali A. J, A. Haris S., Muzahid A., Efrizal, Suyitno, Arif, Shela M., Faizatin,
Yeyen, Afif, Aulia A., Wibi, Wika, Nandra, Adib, Ramadi, Fernando,
Imam, Ferli, Iwan, Kominfo, mbak Lia, teman-teman satu bimbingan,
teman – teman seperjuangan Matematika angkatan 2013 dan seluruh pihak
yang telah membantu penulis yang tidak dapat disebutkan satu persatu.
Penulis menyadari bahwa masih banyak kekurangan dalam skripsi ini. Oleh karena
itu, kritik dan saran dari pembaca akan sangat bermanfaat bagi penulis. Semoga
skripsi ini dapat bermanfaat bagi semua pihak yang membaca.
Bandar lampung, Juni 2017
Penulis,
Mas Dafri Maulana
DAFTAR ISI
Halaman
DAFTAR TABEL .......................................................................................... iii
DAFTAR GAMBAR ...................................................................................... iv
I. PENDAHULUAN
1.1. Latar Belakang .............................................................................. 1
1.2. Batasan Masalah ............................................................................ 4
1.3. Tujuan............................................................................................ 4
1.4. Manfaat Penelitian......................................................................... 4
II. TINJAUAN PUSTAKA
2.1. Konsep Dasar Teori Graf .............................................................. 6
2.2. Tree (Pohon) .................................................................................. 10
2.3. MST dan Beberapa Turunannya ................................................... 16
2.4. Konsep Dasar Matriks ................................................................... 18
2.5. Hubungan Graf dan Matriks .......................................................... 19
2.6. Model (Persamaan) Matematis...................................................... 23
2.7. GNU Octave .................................................................................. 26
III. METODE PENELITIAN
3.1. Waktu dan Tempat Penelitian ....................................................... 27
3.2. Bahan dan Alat .............................................................................. 27
3.3. Alur Penelitian............................................................................... 28
IV. PEMBAHASAN
4.1. Data yang Digunakan .................................................................... 38
4.2. Penentuan HVTk dan MaxVTk..................................................... 38
4.3. Implementasi ................................................................................. 39
4.4. Pengujian dan Hasil ....................................................................... 58
V. KESIMPULAN
VI. DAFTAR PUSTAKA
VII. LAMPIRAN
DAFTAR TABEL
Tabel Halaman
1. Penyelesaian MST dengan Algoritma Kruskal ................................. 13
2. Penyelesaian Algoritma Prim ............................................................... 15
3. Tabel banyak titik dan banyak sisi pada graf terhubung sederhana ..... 29
4. Elemen HVTk untuk setiap periode ..................................................... 38
5. Data pada file 18 folder 10-vertex ........................................................ 40
6. Tabel graf terhubung dan bobotnya hasil Algoritma
MPDCMST_awal ................................................................................. 45
7. Tabel graf terhubung dan bobotnya hasil Algoritma
MPDCMST_akhir ................................................................................ 51
8. Tabel graf terhubung dan bobotnya hasil Algoritma
MPDCMST_kick ................................................................................. 57
9. Rata-rata bobot yang diperoleh dari dari Algoritma MST, DCMST,
MPDCMST_awal, MPDCMST_akhir, dan MPDCMST_kick ............ 58
10. Rata-rata waktu yang digunakan GNU Octave
dalam proses Algoritma MST, DCMST, MPDCMST_awal,
MPDCMST_akhir, dan MPDCMST_kick ........................................... 61
11. Rata-rata waktu yang digunakan GNU Octave
dalam proses Algoritma MPDCMST_awal dan
MPDCMST_akhir ............................................................................... 63
DAFTAR GAMBAR
Tabel Halaman
1. Contoh graf dengan 3 titik dan 5 sisi ................................................... 6
2. Contoh walk dari graf di atas adalah 𝑣1, 𝑒1, 𝑣2, 𝑒4, 𝑣4, 𝑒3, 𝑣5, 𝑒2, 𝑣1 ..... 8
3. Graf berbobot ....................................................................................... 8
4. Derajat pada graf .................................................................................. 9
5. Subgraf merentang ............................................................................... 10
6. Tree ...................................................................................................... 10
7. Rooted tree ........................................................................................... 11
8. Hasil penerapan Algoritma Kruskal ..................................................... 13
9. Hasil penerapan Algoritma Prim .......................................................... 16
10. Contoh graf direpresentasikan ke dalam matriks. ................................ 19
11. Tampilan data folder 10-vertex file 1.dat di Octave ............................ 28
12. Hasil menggabungkan titik X dan Y dengan bobotnya ....................... 31
13. Bentuk matriks persegi dari data folder 10-vertex file 1.dat ................ 32
14. Matriks Tetangga data 1 pada folder 10-vertex ................................... 33
15. Hasil nilai T dan V Algoritma Prim ..................................................... 34
16. Graf Contoh graf dengan 10 titik ......................................................... 35
17. Graf hasil MPDCMST tahap 1 ............................................................. 36
18. Graf hasil MPDCMST tahap 2 ............................................................. 36
19. Graf hasil tahap 3 ................................................................................. 37
20. Visualisasi graf MPDCMST_awal pada periode-1 .............................. 42
21. Visualisasi graf MPDCMST_awal pada periode-2 .............................. 43
22. Visualisasi graf MPDCMST_awal hasil periode-3 .............................. 45
23. Visualisasi graf MPDCMST_akhir pada periode-1 ............................. 48
24. Visualisasi graf MPDCMST_akhir pada periode-2 ............................. 49
25. Visualisasi graf MPDCMST_akhir hasil periode-3 ............................. 51
26. Visualisasi MPDCMST_kick periode-1 .............................................. 54
27. Visualisasi MPDCMST_kick periode-1
setelah HVT1 masuk ............................................................................ 54
28. Visualisasi MPDCMST_kick periode-1 setelah titik 6 dihapus .......... 55
29. Visualisasi MPDCMST_kick periode-2 .............................................. 56
30. Visualisasi graf MPDCMST_kick periode-3 ....................................... 57
31. Grafik visualisasi Tabel 9..................................................................... 59
32. Grafik visualisasi Tabel 10................................................................... 61
33. Grafik visualisasi Tabel 11................................................................... 63
I. PENDAHULUAN
1.1 Latar Belakang
Perkembangan ilmu pengetahuan dan teknologi yang sangat pesat tidak lepas dari
peranan ilmu matematika. Matematika merupakan salah satu alat yang dapat
membantu mempermudah pemecahan permasalahan kehidupan sehari-hari. Salah
satu cabang matematika yang dapat membantu memecahkan permasalahan tersebut
adalah teori graf. Teori graf adalah teori yang sudah ada sejak lebih dari dua ratus
tahun silam. Jurnal pertama tentang teori graf muncul pada tahun 1736, oleh
matematikawan terkenal dari Swiss bernama Euler.
Pada umumnya teori graf digunakan untuk mempresentasikan objek-objek diskrit
dan hubungan antara objek-objek tersebut. Kurang lebih seratus tahun setelah Euler
memberikan solusi tentang jembatan Konigsberg, belum ada perkembangan yang
signifikan dalam teori graf. Pada tahun 1847 G. R. Kirchoff berhasil
mengembangkan teori pohon pada teori graf yang diterapkan dalam persoalan
jaringan listrik.
Luasnya penerapan teori graf membuat begitu banyak cabang ilmu seperti, ilmu
komputer, biologi, kimia, ekonomi, dan bahkan permainan pun tidak lepas dari teori
graf. Salah satu penerapan teori graf adalah optimasi. Optimasi merupakan suatu
2
proses untuk mencapai hasil ideal atau optimal (nilai efektif yang dapat dicapai)
berdasarkan kendala yang diberikan.
Dalam teori graf salah satu masalah optimasi adalah penentuan pohon rentang
minimum, atau dikenal dengan istilah Minimum Spanning Tree (MST), dimana
dapat diperoleh suatu bobot yang minimum dari suatu graf yang terhubung. Contoh
penerapannya adalah desain jaringan telekomunikasi, jaringan transportasi,
jaringan komunikasi, jaringan air minum, dan lain-lain. Untuk menentukan MST
terdapat dua Algoritma yang umum digunakan yaitu Algoritma Prim dan
Algoritma Kruskal.
Jika pada suatu MST diberikan kendala degree (derajat) pada tiap titiknya maka
MST tersebut menjadi masalah DCMST (Degree Constrained Minimum Spanning
Tree). Contoh terapan MST adalah masalah proses instalasi suatu jaringan yang
dapat dilakukan dalam satu tahap. Akan tetapi, karena ada kendala (umumnya
kendala pendanaan) maka proses instalasi tersebut harus dilakukan dalam beberapa
tahap. Masalah inilah yang disebut dengan instalasi jaringan multi tahap atau Multi
Period Degree Constrained Minimum Spanning Tree (MPDCMST).
Untuk menyelesaikan MPDCMST dapat digunakan Algoritma Prim yang telah
dimodifikasi atau disebut dengan Modified Prim. Solusi yang didapat merupakan
solusi heuristic bukan solusi exact. Solusi heuristic adalah solusi yang ‘nearly
optimal’. Heuristic digunakan karena jika menggunakan metode exact, akan sangat
3
“time consuming”. Beberapa metode exact yang dapat digunakan antara lain
Metode Branch and Bound, Cutting Plane, Branch and cut, dan lain-lain.
Algoritma Modified Prim digunakan karena pada Modified Prim, jaringan tetap
terhubung dan tidak mungkin terbentuk forest pada tiap-tiap tahap. Hal tersebut
menjadi alasan mengapa pada penelitian ini digunakan Modified Prim, bukan
Modified Kruskal karena pada Algoritma Modified Kruskal tidak ada jaminan
bahwa jaringan tetap terhubung pada proses instalasi, walaupun pada akhirnya
akan terhubung juga.
Masalah pendistribusian tentu akan dialami oleh perusahaan-perusahaan, terlebih
apabila ternyata terdapat daerah yang sulit dijangkau sehingga memerlukan rute
yang lebih jauh untuk menjangkau tempat tersebut. Masalah seperti
pertimbangan efisiensi waktu, biaya dan rute dalam suatu perusahaan sangat
diperhatikan. Untuk itu diperlukan rencana yang tepat agar biaya yang digunakan
seminimal mungkin. Tentu diperlukan adanya suatu alat, teknik maupun metode
yang dapat mengolah banyak data dengan praktis, efektif dan efisien, sehingga
masalah tersebut dapat diselesaikan. Salah satu alat yang dapat digunakan adalah
GNU Octave.
GNU Octave merupakan suatu bahasa pemograman tingkat lanjut yang ditulis oleh
John W. Eaton. dan kawan-kawan. Program ini bersifat open source sehingga user
dapat membantu mengembangkan atau memodifikasinya. Untuk itu penulis tetarik
4
untuk menyelesaikan MPDCMST dengan Algoritma Modified Prim menggunakan
bahasa pemrograman GNU Octave.
1.2 Batasan Masalah
Pada penelitian ini masalah di batasi hanya pada penentuan MPDCMST dengan
menggunakan GNU Octave dan Algoritma Modified Prim.
1.3 Tujuan
Tujuan dari penelitian yang diangkat adalah :
1. Mengimplementasikan Algoritma Prim untuk penentuan MST.
2. Mengimplementasi Algoritma Modified Prim untuk DCMST.
3. Mengimplementasi Algoritma Modified Prim untuk MPDCMST.
1.4 Manfaat Penelitian
Adapun manfaat dari penelitian ini adalah sebagai salah satu ilustrasi untuk
menyelesaikan suatu permasalahan optimisasi jaringan yang sering ditemui.
Misalnya seperti permasalahan yang timbul ketika suatu kota ingin membuat suatu
jaringan air bersih. Pemerintah tentu akan membangun suatu pipa air yang dapat
menghubungkan setiap gedung dengan sumber air. Sehingga, penduduk dapat
menggunakan air tersebut. Tetapi ternyata pemerintah menemukan beberapa
kendala seperti berikut :
5
a. Tidak semua bangunan dapat terhubung dalam suatu proses instalasi
karena biaya yang dimiliki terbatas (tentu dibutuhkan lebih dari satu
proses instalasi, atau multi period)
b. Ada beberapa bangunan yang harus di pasang lebih awal dari bangunan
lainnya (bangunan penting, seperti rumah sakit, dan bangunan fasilitas
umum lainnya)
c. Keterbatasan penghubung antar bangunan (degree constrained)
d. Pada tahap akhir semua bangunan harus sudah selesai terhubung dengan
biaya sekecil mungkin (minimum spanning tree).
Untuk proses instalasi PDAM, masalah topologi dapat di antisipasi dengan
memberikan tambahan kendala pada jarak yang tidak datar (menurun atau menaik).
Pada penelitian ini, diasumsikan topologi daerah adalah datar.
II.` TINJAUAN PUSTAKA
Pada bab ini akan diberikan istilah-istilah yang akan digunakan dalam penelitian
ini. Graf merupakan suatu diagram yang memuat informasi tertentu jika
diinterpretasikan secara tepat. Dalam kehidupan sehari - hari graf digunakan untuk
mengambarkan berbagai macam struktur yang ada.
2.1. Konsep Dasar Teori Graf
Konsep dasar teori graf pada sub bab ini diambil dari Deo(1989).
Suatu graf G terdiri dari dua struktur V(G) dan E(G) dengan V(G) adalah himpunan
tak kosong yang elemen-elemennya berupa titik dan E(G) adalah himpunan
pasangan tak terurut dari titik-titik di V(G) yang disebut sebagai garis atau edge.
Gambar 1. Contoh graf dengan 3 titik dan 5 sisi
7
Jenis-jenis Graf
Berdasarkan ada tidaknya loop atau garis ganda pada suatu graf, maka secara umum
graf dapat dibedakan sebagai berikut:
1. Graf sederhana adalah graf yang tidak mengandung loop maupun garis
ganda.
2. Graf tak-sederhana adalah graf yang mengandung edge (garis) ganda atau
loop.
Garis pada graf dapat mempunyai orientasi arah. Berdasarkan orientasi arah pada
garis, graf dapat dibedakan sebagai berikut:
1. Graf tak-berarah yaitu graf yang garisnya tidak mempunyai orientasi arah
disebut graf tak-berarah. Pada graf tak-berarah, urutan pasangan tittik yang
dihubungkan oleh garis tidak diperhatikan. Jadi (u, v) = (v, u) adalah garis
yang sama.
2. Graf berarah adalah graf yang setiap garisnya diberikan orientasi arah
disebut sebagai graf berarah dan garis berarah disebut busur. Pada graf
berarah, (u, v) dan (v, u) menyatakan dua busur yang berbeda, dengan kata
lain , (u, v) ≠ (v, u). Untuk busur (u, v), titik u dinamakan titik awal dan titik
v dinamakan titik terminal
Perjalanan (walk)
Perjalanan pada graf G adalah barisan berhingga dari titik dan garis, dimulai dan
diakhiri oleh titik, sedemikian sehingga setiap garis menempel dengan titik sebelum
dan sesudahnya.
8
Gambar 2. Contoh walk dari graf di atas adalah 𝑣1, 𝑒1, 𝑣2, 𝑒4, 𝑣4, 𝑒3, 𝑣5, 𝑒2, 𝑣1
Path (Lintasan)
Path adalah suatu walk yang titiknya berbeda. Pada suatu path tidak ada garis yang
mucul dua kali.
Pada Gambar 2, v1, e2, v5, e3, v4, e4, v2, e6, v3 merupakan contoh dari path.
Graf Berbobot (Weighted Graph)
Graf berbobot merupakan graf setiap garisnya memiliki bobot atau nilai
Gambar 3. Graf berbobot
Terhubung (Connected)
G disebut graf terhubung jika untuk setiap pasang titik u dan v di graf terdapat
lintasan dari u ke v (yang juga harus berarti ada lintasan dari u ke v). Jika tidak,
maka G disebut graf tak terhubung (disconnected graph) (Munir, 2009).
9
Derajat (Degree)
Derajat suatu titik pada graf tak-berarah adalah jumlah garis yang menempel
dengan titik tersebut. Notasi d(v) menyatakan derajat titik v. Titik terpencil adalah
titik dengan d(v) = 0, karena tidak ada satupun garis yang menempel dengan garis
tersebut. Satu garis yang kembali ke titik semula (merupakan loop) dihitung
berderajat dua. Secara umum, jika terdapat g loop dan e sisi bukan loop yang
menempel dengan titik v, maka derajat titik v adalah
d(v) = 2 g + e
Titik yang berderajat satu disebut daun. Dengan kata lain, daun hanya bertetangga
dengan satu titik.
Gambar 4. Derajat pada graf
Contoh: Pada Gambar 4,
d(v5)=1, d(v1) = d(v4) = 2, d(v2) = 3, d(v3) = 4 dan v5 adalah daun, karena d(v5)=1.
Siklus (Cycle) atau Sirkuit (Circuit)
Lintasan yang berawal dan berakhir pada titik yang sama disebut sirkuit atau
siklus. Contoh: Pada Gambar 4, salah satu sirkuitnya adalah v1 e1 v3 e2 v4 e3 v2 e1
v1.
10
Subgraf Merentang (Spanning Subgraph)
Subgraf G1 = (V1, E1) dari G = (V, E) dikatakan subgraf merentang jika V1 = V
(yaitu G1 memuat semua titik dari G).
Gambar 5. Subgraf merentang
2.2. Tree (Pohon)
Tree (pohon) merupakan suatu graf terhubung yang tidak mengandung sirkuit.
Gambar 6. Tree
Sifat – Sifat Tree
Teorema (Deo, 1982)
a. Hanya terdapat satu dan hanya satu path yang menghubungkan sepasang
titik, maka G adalah tree.
b. Jika dalam graf G hanya ada satu dan hanya satu path yang
menghubungkan tiap pasang titik, maka G adalah tree.
c. Suatu tree yang mempunyai n titik akan mempunyai n-1 sisi.
d. Suatu graf terhubung dengan n titik dan n-1 sisi adalah tree.
11
e. Suatu graf adalah suatu tree jika dan hanya jika graf tersebut terhubung
minimal
f. Suatu graf dengan n titik, n-1 sisi serta tidak mengandung sirkuit, maka
graf tersebut terhubung.
Rooted Tree (Pohon Berakar)
Tree Berakar merupakan suatu tree yang salah satu titiknya (disebut dengan akar
atau root) dibedakan dengan titik yang lainnya.
Gambar 7. Rooted tree
Binary Tree (Pohon Biner)
Pohon biner adalah suatu pohon yang yang tepat hanya satu titik yang mempunyai
derajat dua sedangkan titik-titik lainnya berderajat satu.
Spanning Tree
Suatu tree T dikatakan spanning tree dari graf terhubung G jika T adalah subgraf
dari G yang memuat semua titik di G.
12
Minimum Spanning Tree
Diberikan suatu graf G(V,E), dengan setiap garis 𝑒𝑖𝑗 diberi 𝑐𝑖𝑗, 𝑐𝑖𝑗 ≥ 0; Minimum
spanning tree (MST) dari graf tersebut adalah spanning tree dengan jumlah bobot
yang minimum. MST merupakan salah satu struktur dasar graf yang banyak
digunakan dalam terapan. Contoh terapan MST sering di temukan dalam desain
jaringan telekomunikasi, jaringan transportasi, jaringan komunikasi, dan lain-lain.
Untuk mendapatkan MST dapat digunakan algoritma sebagai berikut :
Algoritma Kruskal
Algoritma Kruskal merupakan salah satu algoritma greedy untuk menyelesaikan
MST. Langkah – langkah algoritma kruskal adalah sebagai berikut :
Set T = Ø, input = Graf G (V, E) jumlah titik = n.
1. Sortir garis dari urutan bobot terkecil ke trebesar (increasing order).
2. Pilih garis terkecil dalam sortir dan masukkan ke T.
3. Pilih garis berikutnya dalam sortir.
Cek apakah penambahan garis tersebut pada T menyebabkan terjadinya
sirkuit. Jika Ya, buang garis tersebut dari sortir dan kembali ke langkah
2. Jika tidak, masukkan garis tersebut pada T dan langkah 4.
4. Cek apakah |T| = n-1
Jika Ya STOP, solusi didapat. Jika Tidak, kembali ke langkah 2.
Contoh :
Dengan menggunakan graf berbobot pada Gambar 3 penentuan MST dengan
Algoritma Kruskal adalah sebagai berikut :
13
Tabel 1. Penyelesaian MST dengan Algoritma Kruskal
Iterasi
Garis
yang
dipilih
Membentuk
cycle ? T |T| = n-1 ?
Keterangan
Ya Tidak Ya Tidak
1 ehg √ {ehg} √ ehg masuk ke T dan dihapus
dari list (daftar garis)
2 eic √ {ehg, eic} √ eic masuk ke T dan dihapus
dari list (daftar garis)
3 efg √ {ehg, eic,
efg} √
efg masuk ke T dan dihapus
dari list (daftar garis)
4 eab √ {ehg, eic,
efg, eab} √
eab masuk ke T dan dihapus
dari list (daftar garis)
5 ecf √ {ehg, eic,
efg, eab, ecf} √
ecf masuk ke T dan dihapus
dari list (daftar garis)
6 eig √ {ehg, eic,
efg, eab, ecf}
Garis eig dihapus dari list.
Elemen di T tetap
7 ecd √
{ehg, eic,
efg, eab, ecf,
ecd}
√ ecd masuk ke T dan dihapus
dari list (daftar garis)
8 eih √
{ehg, eic,
efg, eab, ecf,
ecd,}
√ Garis eih dihapus dari list.
Elemen di T tetap
9 eah √
{ehg, eic,
efg, eab, ecf,
ecd, eah}
eah masuk ke T dan dihapus
dari list (daftar garis)
10 ebc √
{ehg, eic,
efg, eab, ecf,
ecd, eah}
√ Karena |T| = n-1 =8, maka
STOP
11 ede √
{ehg, eic,
efg, eab, ecf,
ecd, eah, ede}
√
Sumber : Wamiliana (2014)
Gambar 8. Hasil penerapan Algoritma Kruskal
14
Algoritma Prim
Algoritma Prim adalah suatu algoritma di dalam teori graf untuk menentukan
suatu pohon rentang minimal(minimum spanning tree) pada suatu graf
terhubung.
Adapun langkah-langkah Algoritma Prim adalah sebagai berikut
1. Inisiasi :𝑇 = ∅, 𝑉 = ∅
2. Tentukan salah satu titik sebagai “root”.
3. Masukkan root ke V.
4. Tentukan sisi minimum yang terhubung dengan root, pilih dan masukkan
ke T. Titik ujung sisi tersebut masukkan kedalam V.
5. Pilih sisi minimum yang terhubung dengan titik-titik di V dan cek apakah
membentuk sirkuit jika ditambahkan ke T. Jika ya, maka buang sisi
tersebut dan pilih lagi sisi minimum berikutnya. Jika tidak, masukkan
sisinya di T dan titik nya di V.
6. Cek 𝑇 = 𝑛 − 1? Jika ya STOP. Jika tidak, ulangi langkah 4.
Contoh :
Dengan menggunakan graf berbobot pada Gambar 3 penentuan MST dengan
Algoritma Prim adalah sebagai berikut :
15
Tabel 2. Penyelesaian Algoritma Prim Iter
asi
Garis yang
dipertimbangkan
Garis
yang
dipilih
Membent
uk cycle?
V T |T|=n-1 Keteran
gan
Y
a
Tid
ak
Y
a
Tid
ak
1 eab = 4, eah = 8 eab = 4 {eab} {a,b}
2 eab = 4, eah = 8 ebh
= 11
ebc = 8 {eab,
ebc}
{a,b,
c}
3 eah = 8, ebh = 11, eci
= 2, ecf = 4, ecd = 7
eci = 2 {eab, ebc,
eci},
{a,b,
c,i}.
4 eah = 8, ebh = 11, ecf
= 4, ecd = 7, eig = 6,
eih = 7
ecf = 4 {eab, ebc,
eci, ecf }
{a,b,
c,I,f
}
5 eah = 8, ebh = 11,
ecd = 7, eig = 6, eih
= 7, efg = 2, efd =
14, efe = 10
efg = 4 {eab, ebc,
eci, ecf,
efg}
{a,b,
c,i,f,
g}.
6 eah = 8, ebh = 11,
ecd = 7, eig = 6, eih
= 7, efd = 14, efe =
10, egh = 1
egh = 4 {eab, ebc,
eci, ecf,
efg, egh
},
{a,b,
c,i,f,
g,h}.
7 eah = 8, ebh = 11,
ecd = 7, eig = 6, eih
= 7, efd = 14, efe =
10.
eig = 6 {eab, ebc,
eci, ecf,
efg, egh
},
{a,b,
c,i,f,
g,h}.
Garis
eig
dihapus
dari
list, T
dan V
tetap
8 eah = 8, ebh = 11,
ecd = 7, eih = 7, efd
= 14, efe = 10.
ecd = 7 {eab, ebc,
eci, ecf,
efg, egh,
ecd}
{a,b,
c,i,f,
g,h,
d}
9 eah = 8, ebh = 11, eih
= 7, efd = 14, efe =
10, ede = 9
eih = 7 {eab, ebc,
eci, ecf,
efg, egh,
ecd}
{a,b,
c,i,f,
g,h,
d}
Garis
eih
dihapus
dari
list, T
dan V
tetap
10 eah = 8, ebh = 11, efd
= 14, efe = 10, ede =
9.
eah = 8 {eab, ebc,
eci, ecf,
efg, egh,
ecd}
{a,b,
c,i,f,
g,h,
d}
Garis
eah
dihapus
dari
list, T
dan V
tetap
11 ebh = 11, efd = 14,
efe = 10, ede = 9
ede = 9 {eab, ebc,
eci, ecf,
efg, egh,
ecd, ede}
{a,b,
c,i,f,
g,h,
d,e}
Karena
|T| = n-
1 = 8,
maka
STOP
Sumber : Wamiliana (2014)
16
Gambar 9. Hasil penerapan Algoritma Prim
2.3. MST dan Beberapa Turunannya
DCMST (Degree Constrained Minimum Spanning Tree)
Dalam penerapan jaringan tentu banyaknya degree di suatu titik dapat
mempengaruhi beberapa faktor, seperti laju, dan tekanan. Jika degree pada suatu
titik terlalu banyak, tentu laju dan tekanannya akan berkurang sehingga berakibat
pada menurunnya kualitas instalasi tersebut. Oleh karena itu diperlukan suatu
pembatasan degree pada setiap titik, hal tersebut dengan Degree Constrained
Minimum Spanning Tree.
DCMST adalah MST yang diberikan kendala degree pada setiap titiknya.
Permasalahan DCMST adalah untuk menentukan Minimum Spanning Tree T dari
G dimana degree dari titik dibatasi dengan persamaan, 1 ≤ di ≤ bi dengan bi adalah
batas atas derajat tiap titik (Caccetta dan Wamiliana, 2001).
MPDCMST (Multi Period Degree Constrained Minimum Spanning Tree)
Multi Period Degree Constrained Minimum Spanning Tree (MPDCMST) adalah
masalah lanjutan dari permasalahan Minimum Spanning Tree yang telah diberikan
kendala degree (Degree Constrained Minimum Spanning Tree Problem).
17
Pada saat dilakukan instalasi jaringan, ternyata ditemukan beberapa faktor seperti
dana, cuaca, sehingga tidak semua titik dapat diinstal sekaligus. Karena proses
instalasi jaringan harus dilakukan dalam beberapa tahap, maka masalah ini
menjadi masalah MPDCMST (Wamiliana, dkk. 2005).
Ilustrasi untuk menyelesaikan suatu permasalahan optimisasi jaringan yang sering
ditemui. Misalnya permasalahan yang timbul ketika suatu kota ingin membangun
jaringan air bersih. Pemerintah tentu akan membangun suatu jaringan pipa air yang
dapat menghubungkan setiap gedung dengan sumber air. Sehingga, penduduk dapat
menggunakan air tersebut. Tetapi ternyata pemerintah menemukan beberapa
kendala seperti berikut :
a. Tidak semua bangunan dapat terhubung dalam suatu proses instalasi
karena biaya yang dimiliki terbatas (tentu dibutuhkan lebih dari satu
proses instalasi, atau multi period)
b. Ada beberapa bangunan yang harus di pasang lebih awal dari bangunan
lainnya (bangunan penting, seperti rumah sakit, dan bangunan fasilitas
umum lainnya)
c. Keterbatasan penghubung antar bangunan (degree constrained)
d. Ketika waktu sudah habis semua bangunan harus sudah selesai
terpasang, tetapi dengan menjadikan biaya yang dikeluarkan terkecil
(minimum spanning tree)
18
2.4. Konsep Dasar Matriks
Istilah dan definisi yang digunakan dalam subbab ini diambil dari (Usman,dkk.
2009).
Suatu matrik A r x s adalah tatanan angka-angka atau elemen-elemen dalam
bentuk empat persegi dengan banyaknya baris r dan banyaknya kolom sebanyak s.
Suatu vektor Y r x 1 adalah suatu matrik dengan baris r dan satu kolom. Suatu
matrik A mempunyai unsur yang dilambangkan dengan aij , dengan j menyatakan
banyaknya kolom sedangkan i menyatakan banyaknya baris. Suatu matrik A dapat
juga dilambangkan dengan :
A = [𝒂𝒊𝒋]
Matriks Bujur Sangkar
Matriks bujursangkar adalah matriks yang memiliki baris dan kolom yang sama
banyak. Matriks bujursangkar n x n dikatakan sebagai matriks dengan orde n.
𝐴 = [𝑎11 𝑎12
𝑎21 𝑎22]
Matriks Segitiga Atas
Matriks Segitiga Atas adalah matriks dimana semua entri di bawah diagonal utama
bernilai nol.
Contoh.
𝐴 = [0 2 30 0 40 0 0
]
Matriks Segitiga Bawah
Matriks segitiga bawah adalah matriks dimana semua entri di atas diagonal utama
bernilai nol.
19
Contoh.
𝐴 = [0 0 04 0 03 5 0
]
Matriks Nol
Matriks nol adalah suatu matriks yang semua elemennya mempunyai nilai nol.
Contoh.
𝐴 = [0 0 00 0 00 0 0
]
2.5. Hubungan Graf dan Matriks
Istilah dan definisi yang digunakan dalam subbab ini diambil dari Siang (2006).
Misalkan graf G adalah graf tak berarah dengan titik-titik 𝑣1, 𝑣2, … , 𝑣𝑛 (n
berhingga). Matriks ketetanggaan yang sesuai dengan graf G adalah matriks
𝐴 = (𝑎𝑖𝑗) dengan 𝑎𝑖𝑗 = jumlah sisi yang menghubungkan 𝑣𝑖 dengan 𝑣𝑗 selalu
sama dengan jumlah sisi yang menghubungkan titik 𝑣𝑗 dengan titik 𝑣𝑖 . Matriks
ketetanggaan selalu merupakan matriks yang simetris (𝑎𝑖𝑗 = 𝑎𝑗𝑖 untuk setiap i dan
j).
Gambar 10. Contoh graf direpresentasikan ke dalam matriks.
20
Untuk mempermudah pemahaman, tiap-tiap baris dan kolom matriks diberi indeks
𝑣𝑖 yang sesuai dengan titik grafnya. Sel perpotongan baris 𝑣𝑖 dan kolom 𝑣𝑗
menyatakan sisi yang menghubungkan 𝑣𝑖 dan 𝑣𝑗 .
Sehingga didapat matriks sebagai berikut :
Ada beberapa hal yang bisa dicatat dalam merepresentasikan graf dengan matriks
ketetanggaan :
a) Graf tidak mempunyai loop jika dan hanya jika semua elemen diagonal
utamanya = 0.
b) Matriks tetangga dapat dipakai untuk mendeteksi graf yang tidak
terhubung secara mudah. Suatu graf tidak terhubung terdiri dari k
komponen jika dan hanya jika matriksnya berbentuk
[
𝐴1 𝑂 …𝑂 𝐴2 …… … …
𝑂𝑂…
𝑂 𝑂 … 𝐴𝑘
]
O adalah matriks yang semua elemennya = 0 dan 𝐴𝑖 adalah matriks bujur
sangkar yang merupakan matriks dari graf terhubung yang merupakan
komponen ke-i dari graf.
c) Derajat titik 𝑣𝑖 adalah jumlah semua komponen matriks baris / kolom ke-i
𝑑(𝑣𝑖) = ∑ 𝑎𝑖𝑗
𝑛
𝑗=1
= ∑𝑎𝑖𝑗
𝑛
𝑖=1
= 𝑑(𝑣𝑗)
21
Derajat graf G adalah jumlah semua komponen matriks = ∑ ∑ 𝑎𝑖𝑗𝑗𝑖
d) Graf G adalah graf bipartite (𝐾𝑚,𝑛) jika dan hanya jika matriks dari graf
terhubung berbentuk [𝑂 𝐼𝑚𝐼𝑛 𝑂
] dengan:
O = matriks yang semua elemennya = 0
𝐼𝑚 = matriks berukuran 𝑚 × 𝑛 yang semua elemennya = 1
𝐼𝑛 = matriks berukuran 𝑛 × 𝑚 yang semua elemennya = 1
e) Graf G adalah graf lengkap jika dan hanya jika semua elemen dalam
diagonal utama = 0 dan semua elemen diluar diagonal utama = 1.
Matriks Bersisian
Misalkan G adalah graf tanpa loop dengan 𝑛 titik 𝑣1, 𝑣2, … , 𝑣𝑛 dan 𝑘 sisi
𝑒1, 𝑒2, … , 𝑒𝑘. Matriks bersisian yang sesuai dengan graf G adalah matriks A
berukuran 𝑛 × 𝑘 yang elemennya adalah:
𝑎𝑖𝑗 = {1; 𝑗𝑖𝑘𝑎 𝑎𝑑𝑎 𝑔𝑎𝑟𝑖𝑠 𝑦𝑎𝑛𝑔 𝑚𝑒𝑛𝑔ℎ𝑢𝑏𝑢𝑛𝑔𝑘𝑎𝑛 𝑡𝑖𝑡𝑖𝑘 𝑣𝑖 𝑑𝑒𝑛𝑔𝑎𝑛 𝑡𝑖𝑡𝑖𝑘 𝑣𝑗
0; 𝑙𝑎𝑖𝑛𝑛𝑦𝑎
Dari Gambar 7, graf dapat direpresentasikan kedalam matriks bersisian sebagai
berikut:
22
Ada beberapa hal yang dapat dicatat sehubungan dengan penggunaan matriks
bersisian untuk menyatakan suatu graf :
a) Setiap garis berhubungan degan 2 titik (karena G tidak mempunyai loop),
maka dalam matriks binernya, setiap kolom mempunyai tepat 2 buah
elemen 1 dan sisanya adalah elemen 0.
b) Jumlah elemen pada baris ke-i adalah derajat titik 𝑣𝑖, sedangkan derajat
total graf G adalah jumlah semua elemen dalam matriks binernya.
c) Jika semua elemen pada baris ke-i adalah 0, maka titik 𝑣𝑖 merupakan titik
terasing.
d) Dua kolom yang semua elemennya sama menyatakan sisi yang paralel.
Contoh :
Pada graf terhubung tidak berarah bobot sisi antara titik awal dan titik tujuan tetap.
Sehingga bila dilihat graf berbobot pada gambar 3, bobot sisi dari titik a ke titik b
sama dengan titik b ke a. Maka yang digunakan adalah matriks ketetanggaan, yang
tentunya memiliki entri 𝑀𝑖𝑗 = 𝑀𝑗𝑖.
Berikut bentuk matriks dari graf berbobot pada Gambar 3
𝑎 𝑏 𝑐 𝑑 𝑒 𝑓 𝑔 ℎ 𝑖
𝑎𝑏𝑐𝑑𝑒𝑓𝑔ℎ𝑖 [
040000080
4080000110
080700002
0070914000
0009010000
00014100200
000002016
8110000107
002000670]
23
Dapat dilihat pada matriks bahwa 𝑀𝑎𝑐 = 0. Ini artinya tidak ada sisi diantara titik
a dan c. Sedangkan pada 𝑀𝑎𝑏 bernilai 4, artinya bobot sisi pada titik a dan b adalah
4. Dapat dilihat juga pada 𝑀𝑎𝑎 = 0,𝑀𝑏𝑏 = 0,𝑀𝑐𝑐 = 0,𝑀𝑑𝑑 = 0,𝑀𝑒𝑒 = 0,
𝑀𝑓𝑓 = 0,𝑀𝑔𝑔 = 0,𝑀ℎℎ = 0,𝑀𝑖𝑖= 0, ini berarti graf tersebut adalah graf
sederhana.
2.6. Model (Persamaan) Matematis
Istilah – istilah pada subbab ini diambil dari Sasongko (2010).
Model merupakan suatu bentuk tiruan yang dapat diartikan bermacam – macam,
model dapat berbentuk fisik atau nonfisik, seperti model matematis. Model
matematis (nonfisik) di bentuk berdasarkan dua pendekatan. Pendekatan pertama
disusun berdasarkan sekumpulan teori yang masih relevan sehingga mendapatkan
sekumpulan persamaan. Pendekatan pertama ini disebut model kotak putih (white
box model). Di sisi lain, pendekatan kedua disusun berdasarkan data yang didapat
dari lapangan atau dari hasil suatu penelitian. Pendekatan kedua mendapatkan
persamaan empiris yang merupakan hubungan antara input dan output, atau
hubungan dari variable bebas (independent variable) dengan variable tak bebas
(dependent variable).
Secara garis besar, model matematis dapat dibagi menjadi dua bagian, yaitu
persamaan aljabar (PA) dan persamaan differential (PD). Sesuai namanya
persamaan differential memiliki bentuk differential, misal 𝑑𝑦
𝑑𝑥. Sedangkan PA tidak
memiliki bentuk differential.
24
Penyelesaian Model Matematika
Berdasarkan model (persamaan) matematis serta keperluan dalam penyelesaian
model matematis, maka metode penyelesaian model dapat dibagi menjadi empat
bagian, yaitu
a. Sistem Persamaan Simultan
Sistem persamaan simultan (SPS) merupakan sistem persamaan yang
mempunyai lebih dari satu persamaan dan diselesaikan secara simultan.
Sistem persamaan ini tidak terbatas pada sistem persamaan linear saja,
namun juga dapat berupa gabungan dengan persamaan differensial.
Contoh.
𝑎11. 𝑥1 + 𝑎12. 𝑥2 + 𝑎13. 𝑥3 = 𝑦1
𝑎21. 𝑥1 + 𝑎22. 𝑥2 + 𝑎23. 𝑥3 = 𝑦2 (2.1)
𝑎31. 𝑥1 + 𝑎32. 𝑥2 + 𝑎33. 𝑥3 = 𝑦3
b. Akar Persamaan (AP) atau Persamaan Nonlinear
Akar persamaan atau diistilahkan dengan sistem persamaan nonlinear
merupakan bentuk persamaan aljabar yang nilainya sama dengan nol. Jika
hanya satu variable bebas x dapat ditulis sebagai 𝑓(𝑥) ≅ 0. Bentuk ini
banyak digunakan dalam bentuk persamaan teknik atau sains. Contoh
bentuk penyelesaian analitis atau eksak yang dikenal adalah pencarian akar
dari suatu persamaan kuadrat dengan bentuk:
𝑦 = 𝑓(𝑥) = 𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0 (2.2)
25
Penyelesaian secara analitis dari Persamaan 2.2 adalah
𝑥1,2 =−𝑏±√𝑏2−4𝑎𝑐
2𝑎 (2.3)
Sebagai indikator munculnya nilai akar dari penyelesaian analitis
Persamaan 2.4 adalah 𝐷𝑎𝑘𝑟 = 𝑏2 − 4𝑎𝑐. Apabila 𝐷𝑎𝑘𝑟 > 0, maka dua nilai
akar akan didapatkan, yaitu 𝑥1 dan 𝑥2. Apabila 𝐷𝑎𝑘𝑟 = 0, maka ada satu
nilai akar yang didapatkan, yaitu 𝑥 = 𝑥1 = 𝑥2. Apabila 𝐷𝑎𝑘𝑟 < 0, maka
nilai akar imajiner.
c. Persamaan Differensial (PD)
Ciri persamaan differensial adalah adanya bentuk differensial pada
persamaannya, misal 𝑑𝑦
𝑑𝑥. Pada bentuk tersebut tanda d dapat diartikan
sebagai selisih (∆) pada limit 𝑦, 𝑥 ≈ 0. Sebagai variable bebasnya
(independent variable) adalah x dan variable tak bebasnya (dependent
variable) adalah y.
d. Pengolah Data – Pencocokan Kurva
Tahap ini digunakan untuk menyelesaikan model kotak hitam. Pendekatan
kotak hitam pada dasarnya merupakan analisis data sehingga akan
mendapatkan persamaan empiris atau konstanta tertentu yang selanjutnya
dapat digunakan seperti pada kotak putih, yaitu untuk mengubah – ubah
variabel independen atau tatapan lainnya sehingga akan mendapatkan
persamaan sebagai objek kajian. Proses untuk mendapatkan persamaan
26
dengan menggunakan data dalam metode numerik di sisi yang lain disebut
juga percocokan kurva (curve fitting).
2.7. GNU Octave
GNU Octave adalah suatu bahasa pemograman tingkat tinggi yang ditunjukan
untuk menyelesaikan perhitungan numerik. Program ini menyediakan fitur-fitur
yang dapat digunakan untuk memecahkan permasalahan linier dan non-linear
secara numerik, dan untuk melakukan percobaan numerik dengan bahasa yang
sesuai dengan Matlab. Program ini juga dapat digunakan sebagai bahasa
berorientasi.
GNU Octave merupakan sofware yang di sebarluaskan secara gratis. User dapat
mendistribusikan atau memodifikasinya sesuai dengan ketentuan GNU General
Public License (GPL) yang diterbitkan oleh Free Software Foundation. Octave
ditulis oleh John W. Eaton dan kawan-kawan (Eaton, 2017).
III. METODE PENELITIAN
3.1. Waktu dan Tempat Penelitian
Penelitian ini dilakukan di Jurusan Matematika, Fakultas Matematika dan Ilmu
Pengetahuan Alam, Universitas Lampung tahun 2016.
3.2. Bahan dan Alat
Bahan yang dibutuhkan untuk mendukung penelitian ini adalah data masalah dari
berbagai literatur mengenai Matrix, Algoritma Prim serta implementasinya.
Alat yang digunakan dalam penyelesaian penelitian ini adalah:
1. Perangkat keras (Hardware) Notebook Acer 4732z, dengan spesifikasi :
- Processor Intel Dual-Core CPU T4300 2.1GHz
- Hardisk 500GB
- RAM 3GB
- Mouse
2. Perangkat lunak (Software)
- Windows 10 Pro Build 14393.1066 32-bit
- Aplikasi GNU Octave
28
3.3. Alur Penelitian
Langkah-langkah yang digunakan dalam penelitian ini adalah :
a) Mengumpulkan bahan literatur serta studi kepustakaan.
b) Membuat program untuk memanggil data.
Data diperoleh dari penelitian yang telah dilakukan oleh Wamiliana dkk.
(2005). Data tersebut merupakan data yang di-generate secara acak dengan
distribusi uniform.
Data terbagi menjadi 10 folder dengan masing-masing folder berisi 30 file
berekstensi .dat. Berikut data yang telah dimasukan kedalam GNU Octave :
Gambar 11. Tampilan data folder 10-vertex file 1.dat di Octave
Program pada editor GNU Octave
flie=load('O:\Data Bu Wamil\10-vertex\1.dat');
29
c) Membuat program GNU Octave yang dapat menghitung banyaknya titik yang
dihasilkan oleh suatu data sisi yang diperoleh
Graf yang akan diteliti merupakan graf terhubung sederhana, yang mana
setiap titik terhubung dengan titik lainnya oleh satu buah sisi. Berikut tabel
hubungan antara banyak titik dan sisi pada suatu graf terhubung sederhana.
Tabel 3. Tabel banyak titik dan banyak sisi pada graf terhubung
sederhana
Banyak
titik
Banyak sisi Banyak
titik
Banyak sisi
1 0 8 28
2 1 9 36
3 3 10 45
4 6 20 190
5 10 30 435
6 15 40 780
7 21 50 1125
Jika diperhatikan banyak sisi yang terbentuk pada tabel 3 membentuk suatu
pola barisan. Sehingga dapat diperoleh rumus suku ke-Un dari pola tersebut
adalah sebagai berikut:
𝑈𝑛 =𝑛(𝑛−1)
2 (3.1)
2𝑈𝑛 = 𝑛2 − 𝑛 (3.2)
Dengan menggunakan Persamaan 2.3 bisa ditemukan banyak titik dengan
mensubstitusikan Persamaan 3.2. sehingga diperoleh persamaan baru yaitu :
𝑛 =1+√1+8𝑈𝑛
2 (3.3)
30
Dari Persamaan 3.3 dapat diperoleh banyak titik (banyak titik selalu bernilai
positif).
Misal banyak data pada data 1 dalam folder 10-vertex adalah 45, maka
program ini akan menghitung bahwa banyak titiknya adalah 10.
Program pada GNU Octave
function titik = cek_titik(matriks)
bykisi=length(matriks); %bykisi=Un
c=2*bykisi;
n=(1+sqrt(1+(4*c)))/2;
titik=n;
end
d) Membuat program yang dapat memberikan nilai X dan Y secara otomatis
pada setiap data. Dengan X adalah titik awal dan Y adalah titik yang dituju.
Misal pada data 1, folder 10 vertek, terdapat 10 titik, maka program ini akan
memunculkan secara otomatis sebagai berikut
X = 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 3
3 3 3 3 3 3 4 4 4
4 4 4 5 5 5 5 5 6
6 6 6 7 7 7 8 8 9
Y = 2 3 4 5 6 7 8 9 10
3 4 5 6 7 8 9 10 4
5 6 7 8 9 10 5 6 7
8 9 10 6 7 8 9 10 7
8 9 10 8 9 10 9 10 10
Program pada GNU Octave
function [X Y]=inputanya(n)
j=1;
X=[];
31
while j <= n && n > 2 %perulangan akan berjalan jika n
lebih dari 2
r=n-j;
k=j*ones(1,r);
j=j+1;
cr=length(X);
rk=cr+1;
dk=length(k);
X(1,rk:cr+dk)=k;
if j==n
break
end
end
Y=[];
p=1;
while p <= n && n > 2
yh=p+1;
if yh > n
break
end
h=yh:n;
p=p+1;
iu=length(Y);
yu=iu+1;
tu=length(h);
Y(1,yu:iu+tu)=h;
end
e) Membuat program untuk memasukan bobot pada setiap titik X dan Y.
Sehingga di hasilkan matrik sebagai berikut.
Data =
Gambar 12. Hasil menggabungkan titik X dan Y dengan bobotnya
Program pada GNU Octave
data=sparse(X,Y,flie)
32
f) Membuat matriks data menjadi matriks persegi dan segitiga atas
RO =
Gambar 13. Bentuk matriks persegi dari data folder 10-vertex file 1.dat
Program pada GNU Octave
function stgb = sgitiga(disatukan)
[M, N]=size(disatukan);
while M < N
disatukan(N,:)=0;
M=M+1;
end
while M > N
disatukan(:,M)=0;
N=N+1;
end
stgb=tril(disatukan + disatukan');
end
g) Membuat program untuk merubah matriks RO menjadi matriks tetangga
Perubahan ini dilakukan agar entri entri pada matriks 𝑅𝑂𝑖𝑗 = 𝑅𝑂𝑗𝑖 dengan
begitu analisis bisa dilihat dari baris atau kolom saja.
33
Gambar 14. Matriks Tetangga data 1 pada folder 10-vertex
Program pada GNU Octave
function Y =matrikstetangga(RO)
[M N]=size(RO);
Y=full(RO);
for r=1:M
for j=1:N
Y(r,j)=Y(j,r);
end
end
end
h) Membuat program Algoritma Prim.
Program ini berjalan dengan membuat matriks kosong (T) berukuran M x N
sesuai dengan ukuran yang dibentuk dari matriks tetangga dan v1 sebagai v
pada Algoritma Prim. Matriks T berfungsi sebagai matrik yang menerima
entri-entri yang telah diproses, yang nantinya akan menjadi matriks MST.
v1 menginisialkan setiap kolom pada matriks, jika v1 atau titik awal tidak
diberi nilai maka akan otomatis bernilai 1. Artinya Algoritma Prim yang di
jalankan dimulai dari kolom 1 sebagai titik awalnya.
Adapun hasil dari program ini adalah sebagai berikut
34
Gambar 15. Hasil nilai T dan V Algoritma Prim
Program pada GNU Octave
function [T V1]=MSTjadi(DG)
V1 = [1];
V2 = 2:length(DG);
T = zeros(size(DG));
od = max(max(DG)) ;
while (~isempty(V2))
min = od;
for i=1:length(V1)
for j=1:length(V2)
if (DG(V2(j),V1(i))>0 &&
DG(V2(j),V1(i))<min)
min = DG(V2(j),V1(i));
u = V1(i);
v = V2(j);
end
end
end
T(v,u) = min;
V1 = [V1 v];
V2(V2==v)=[];
end
end
i) Membuat program DCMST(Degree Constrained Minimum Spanning Tree)
dengan algoritma Modified Prim.
Pada tahap ini sama saja dengan program MST. Namun penulis
memasukkan perlakuan atau kendala bahwa setiap titik hanya boleh
terhubung paling banyak 3 titik (degree ≤ 3).
35
j) Membuat program MPDCMST (Multi Period Degree Constrained
Minimum Spanning Tree) dengan Algoritma Modified Prim
Pada Tahap ini, penyelesaian MST dilakukan dengan memberikan kendala
batasan degree ≤ 3 dan membagi proses instalasi menjadi 3 tahap. Contoh :
Gambar 16. Contoh graf dengan 10 titik
Pada permasalahan MPDCMST tersebut diberikan degree ≤ 3 dan tahap
sebanyak 3 kali. v1 dianggap sebagai titik sumber. |HVTk| adalah himpunan
titik-titik yang harus di-install pada tahap ke k atau sebelumnya. |HVTk|
diinisiasi sebagai berikut :
Tahap 1 : titik v2 dan v4.
Tahap 2 : titik v5.
Tahap 3 : titik v10.
Tahap 1
Pada tahap ini titik yang wajib di instal adalah v2 dan v4. Sesuai dengan
Algoritma Prim dengan DCMST, diperoleh titik terdekat dari sumber yaitu
v2, v3 dan v5. Diperiksa ternyata pada tahap 1, |HVTk| = v2 dan v4 ini berarti
36
titik v4 belum diinstall, maka v5 diganti dengan v4. Sehingga diperoleh graf
sebagai berikut :
Gambar 17. Graf hasil MPDCMST tahap 1
Tahap 2
Pada tahap ini |HVTk| = v5. Dilakukan pengecekan kembali dengan
menggunakan Algoritma Prim dan DCMST. Diperoleh titik yang diinstall
adalah v2, v3, v4, v6, v5, dan v7. Dapat dilihat bahwa v5 telah diinstall pada
tahap ini, maka tahap ini selesai dan di peroleh graf sebagai berikut :
Gambar 18. Graf hasil MPDCMST tahap 2
37
Tahap 3
Pada tahap ini |HVTk| = v10. Dilakukan pemilihan sisi terdekat
menggunakan Algoritma Prim dan DCMST sehingga di peroleh titik yang
telah diinstall yaitu v2, v3, v4, v6, v5, v7, v10, v8, v9. Dapat dilihat bahwa vertex
v10 telah diinstall pada tahap ini. Maka tahap ini selesai dan diperoleh graf
sebagai berikut :
Gambar 19. Graf hasil tahap 3
Karena seluruh vertex telah terinstall maka proses ini selesai.
k) Mengimplementasi dengan data yang telah dibangkitkan
l) Menarik kesimpulan
V. KESIMPULAN
Berdasarkan penelitian yang telah dilakukan didapat kesimpulan sebagai berikut:
1. Nilai optimal MST merupakan lower bound dari DCMST dan nilai optimal
DCMST merupakan lower bound untuk MDCMST.
2. Hasil rata-rata bobot disetiap vertex yang diuji dengan Algoritma Modified
Prim lebih tinggi dari hasil Algoritma Prim. Hal ini terjadi karena pada
Algoritma Modified Prim terdapat kendala yang mempengaruhi besar
bobot.
3. Pada permasalahan MPDCMST, waktu penyelesaian Algoritma Modified
Prim terbaik diperoleh menggunakan Algoritma MPDCMST_awal.
4. Pada permasalahan MPDCMST, solusi Algoritma Modified Prim terbaik
diperoleh menggunakan Algoritma MPDCMST_kick.
5. Dalam penyelesaian permasalahan MPDCMST dengan GNU Octave, solusi
hasil dan waktu penyelesaian Algoritma Modified Prim yang terbaik
diperoleh menggunakan Algoritma MPDCMST_akhir.
1
DAFTAR PUSTAKA
Caccetta, L., dan Wamiliana, 2001. Heuristics Algorithms for Defree Constrained
Minimum Spanning Tree Problems, in Proceeding of the International Congress on
Modelling and Simulation (MODSIM 2001), Canberra, Editors: F.Ghassemi et al.,
pp. 2161-2166,2001.
Deo, N. 1989. Graph Theory with Applications to Engineering and Computer Science.
Prentice Hall Inc., New York.
Eaton, J W. 2017. https://www.gnu.org/software/octave/about.html. Diakses pada hari
Jum’at, 20 Januari 2017
Munir, Rinaldi. 2009. Matematika Diskrit. Edisi Ketiga. Bandung:Informatika.
Sasongko S. Budi. 2010. Metode Numerik dengan Scilab. ANDI, Yogyakarta. 206.
Siang J.J. 2006. Matematika Diskrit Pada Ilmu Komputer edisi ketiga. ANDI,
Yogyakarta.
Usman, M. dan Warsono. 2009. Teori Model Linear dan Aplikasinya. Sinar Baru
Algesindo. Bandung.
Wamiliana, Dwi Sakethi, Akmal J., and Edy Baskoro. 2005. ‘The Design of
Greedy Algorithm for Solving the Multiperiod Degree Constrained Minimum
Spanning Tree Problem’. Jurnal Sains dan Teknologi, Vol. 11 No. 2. pp 93-96.
Wamiliana, 2014. Matematika Diskrit, Diktat Kuliah Matematika Diskrit, Jurusan
Matematika, Universitas Lampung.
Wamiliana, Usman Mustofa, Dwi Sakethi, Restu Yuniarti and Ahmad Cucus.
2015. ‘The Hybrid of Depth First Search Technique and Kruskal’s Algorithm for
Solving The Multiperiod Degree Constrained Minimum Spanning Tree Problem’.
IEEE Explore : http://ieeexplore.ieee.org/document/7516333/