BAB I PENDAHULUAN 1.1 Latar Belakang Teori graf menurut Munir (2012), merupakan salah satu cabang dari ilmu matematika dengan pokok bahasan yang sudah sejak lama digunakan dan memiliki banyak terapan hingga saat ini. Menurut catatan sejarah teori telah muncul sejak tahun 1736 yang digunakan pertama kali oleh seorang matematikawan asal Swiss, Euler (1707-1783).
Graf digunakan untuk
merepresentasikan objek-objek diskrit dan hubungan antara objek-objeknya. Representasi visual dari graf adalah dengan menyatakan objek sebagai titik, sedangkan hubungan antara objek dinyatakan dalam sisi. Semakin berkembangnya teori graf, kemudian lahir beberapa konsep baru yang dikemukakan oleh para ahli matematika. Konsep-konsep yang dikemukakan kemudian berkembang sehingga muncul solusi-solusi baru dalam teori graf. Di antara sekian banyak konsep dalam teori graf, konsep pohon merentang minimum (minimum spanning tree) merupakan konsep yang paling banyak diterapkan, baik dalam ilmu komputer maupun di luar ilmu komputer (Munir, 2012). Terdapat beberapa algoritma yang dikemukakan oleh peneliti-peneliti dibidang teori graf untuk menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah. Pada umumnya algoritma-algoritma tersebut menggunakan metode Greedy yaitu membangun suatu pohon merentang minimum dengan memeriksa garis demi garis untuk memilih garis dengan bobot kecil dan membuang garis yang bobot besar sehingga terbentuk pohon merentang minimum. Menurut Rosen (2011), Terdapat dua algoritma yang sering digunakan dalam menentukan pohon merentang minimum dari sebuah graf diantaranya, yang pertama adalah algoritma Prim yang dikemukakan oleh matematikawan asal Amerika Serikat, Prim (1956). Algoritma Prim dimulai dengan memilih sebarang titik pada sebuah graf, kemudian menentukan titik berikutnya yang bertetangga yang dihubungkan dengan sisi yang berbobot minimum dan tidak membentuk siklus. Langkah tersebut diulangi hingga semua titik terhubung dan membentuk
1
pohon merentang berbobot minimum. Algoritma kedua adalah algoritma yang dikemukakan oleh matematikawan asal New York, Kruskal (1960) yang kemudian dikenal dengan nama algoritma Kruskal. Algoritma Kruskal dimulai dengan mengurutkan bobot sisi-sisi pada sebuah graf kemudian menandai sisi-sisi dengan bobot minimum namum tidak membentuk siklus hingga semua titik terhubung dan membentuk pohon merentang dengan bobot minimum. Kedua algoritma tersebut sama-sama menghasilkan pohon merentang minimum dari sebuah graf terhubung berbobot tak berarah, namun terdapat perbedaan pada proses penentuannya. Algoritma Prim berorientasi pada titik, sedangkan algoritma Kruskal berorientasi pada sisi. Misal G adalah sebuah graf terhubung berbobot dengan jumlah titik lebih dari 30 dan diasumsikan sebagai graf lengkap maka, setidaknya graf G memiliki lebih dari 435 sisi yang menghubungkan setiap titik di dalamnya. Dengan jumlah titik dan sisi sebanyak ini, proses penentuan pohon merentang minimun menjadi rumit dan memakan waktu. Sehingga, diperlukan sebuah alat bantu yang dapat digunakan untuk mempermudah proses penentuannya. Saat ini, telah banyak dikembangkan program-program komputer yang digunakan untuk mempermudah perhitungan-perhitungan matematika. Programprogram ini dibuat untuk membantu proses perhitungan matematika yang kompleks dan rentan terjadi kesalahan jika dilakukan secara manual. Salah satu diantaranya adalah aplikasi bahasa pemrograman MATLAB (Matrix Laboratory). MATLAB merupakan aplikasi bahasa pemrograman yang memungkinkan pengguna menulis sederet statemen ke dalam sebuah file dan kemudian menjalankannya dengan satu perintah (Sutrisno, 2009). MATLAB juga dilengkapi dengan perintah-perintah (function) matematika sehingga membantu pengguna melakukan proses perhitungan dan visualisasi grafik dengan mudah dan cepat. Dengan menyusun beberapa perintah (script) ke dalam MATLAB, proses penentuan pohon merentang minimum dari sebuah graf menjadi lebih efektif dan akurat.
2
1.2 Rumusan Masalah Perkembangan teknologi komputer yang semakin pesat dalam beberapa dekade ini, telah menciptakan berbagai produk perangkat lunak (software atau program), tidak terkecuali program komputer yang sengaja dibuat untuk membantu proses perhitungan matematika. Perangkat lunak pada perhitungan matematika pada umumnya dibuat dengan tujuan untuk mempermudah dan mempercepat proses perhitungan serta meminimalisir terjadinya kesalahan dalam perhitungan jika dilakukan secara manual. Salah satu di antara perhitungan matematika yang membutuhkan waktu cukup lama dengan ketelitian tinggi adalah menentukan pohon merentang minimum pada sebuah graf dengan jumlah titik yang relatif banyak. Sehingga, dibutuhkan alat bantu berupa program komputer yang dapat mempermudah dan mempercepat proses perhitungan. Dalam pembuatan sebuah program komputer dibutuhkan aplikasi bahasa pemrograman sebagai penyusunnya. Salah satu aplikasi bahasa pemrograman yang dapat digunakan untuk membuat program komputer adalah MATLAB. Oleh karena itu, berdasarkan uraian di atas, penyusun merumuskan dua rumusan masalah sebagai berikut: 1.
Bagaimana menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah.
2.
Bagaimana penyusunan program dengan menggunakan aplikasi bahasa pemrograman
MATLAB
R2012b
untuk
menyelesaikan
perhitungan
menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah serta menampilkannya. 1.3 Pembatasan Masalah Graf merupakan struktur diskrit yang terdiri dari titik dan sisi yang menghubungkan antar titik (Rossen, 2011). Graf dapat dikelompokan menjadi beberapa jenis bergantung pada sudut pandang pengelompokannya. Menurut Munir (2012), berdasarkan orientasi arah, graf dapat dibagi menjadi dua yaitu, graf berarah dan graf tak berarah. Pada graf berarah (vi , v j ) (v j , vi ) , sedangkan pada graf tak berarah (vi , v j ) (v j , vi ) . Berdasarkan adanya gelang (loop) dan sisi 3
ganda (multiple edges) graf dibagi menjadi graf sederhana (simple graph) dan graf tak sederhana (unsimple graph). Sedangkan berdasarkan jumlah titik dalam graf, graf dibagi menjadi graf berhingga (finite graph) dan graf tak berhingga (infinite graph). Proses penetuan pohon merentang minimum tidak dapat dilakukan pada semua jenis graf sehingga perlu ada batasan pada graf yang akan dicari pohon merentang minimumnya. Oleh karena itu, perlu ada beberapa syarat yang harus terpenuhi sebelum proses perhitungan dilakukan. Penyusun membatasi empat hal dalam skripsi ini, yaitu: 1.
Skripsi ini menyajikan implementasi dari algoritma Prim dan algoritma Kruskal dalam menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah.
2.
Aplikasi bahasa pemrograman yang digunakan dalam skripsi ini adalah MATLAB R2012b.
3.
Graf yang diproses merupakan graf terhingga (finite graph) yang memiliki n buah titik, n 4 , dengan bobot sisi w(e) x , ( x : x 0, x R ) .
4.
Graf yang diproses tidak memuat gelang (loop) dan sisi ganda (multiple edges).
1.4 Tujuan Kajian Penerapan teori graf dalam berbagai bidang ilmu telah melahirkan banyak konsep baru dalam teori graf, salah satu di antaranya adalah konsep pohon merentang minimum. Pohon merentang minimum merupakan pohon merentang graf dengan jumlah sisi-sisinya tidak lebih dari jumlah sisi-sisi pohon merentang lainnya (Harris, Hirst, & Mossinghoff, 2008). Seiring dengan berkembangnya teknologi muncul berbagai program komputer yang digunakan untuk mencari pohon merentang minimum dari suatu graf, salah satunya aplikasi MATLAB. MATLAB merupakan aplikasi bahasa pemrograman yang dikembangkan oleh MathWorks Inc., yang memampukan pengguna untuk melakukan komputasi matematika, menganalisis data, mengembangkan algoritma dan pemodelan, serta menghasilkan tampilan grafik dan antarmuka grafikal (Sianipar, 2013). MATLAB memungkinkan pengguna untuk melakukan visualisasi sebuah graf terhubung
4
berbobot tak berarah serta menentukan pohon merentang minimumnya. Oleh karena itu, tujuan disusunnya skripsi ini adalah sebagai berikut: 1.
Menjelaskan konsep dari algoritma Prim dan algoritma Kruskal yang merupakan algoritma-algoritma yang digunakan dalam menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah.
2.
Menjelaskan penerapan algoritma Prim dan algoritma Kruskal dalam menentukan pohon merentang minimum pada graf terhubung berbobot tak berarah dengan menggunakan aplikasi bahasa pemrograman MATLAB R2012b.
1.5 Manfaat Kajian Munculnya berbagai konsep baru dalam teori graf membuat salah satu cabang ilmu matematika ini semakin berkembang. Di antaranya, konsep pohon merentang minimum pada graf terhubung berbobot yang memiliki banyak terapan dalam berbagai bidang ilmu, misalnya dalam distribusi logistik ke setiap kota di provinsi Jawa Timur. Konsep pohon merentang minimum dapat menghasilkan jarak terpendek sehingga biaya distribusi logistik menjadi lebih efisien. Hadirnya program-program komputer yang canggih beberapa tahun ini
semakin
mempermudah penerapan konsep pohon merentang minimum pada praktiknya. Skripsi ini diharapkan dapat menjadi bahan referensi dalam menentukan pohon merentang minimum dengan menggunakan algoritma Prim dan algoritma Kruskal. Program ini diharapkan dapat mempermudah dan mempercepat pengguna dalam mencari pohon merentang minimum pada graf terhubung berbobot tak berarah dengan jumlah titik yang besar serta dalam menentukan lintasan terpendek dari sebuah rute perjalanan atau dalam perancangan pipa air perumahan serta jaringan listrik maupun telepon antar wilayah sehingga penggunaan bahan baku berupa pipa maupun kabel dapat diminimalisir menjadi lebih efisien.
5