PERANCANGAN STRUKTUR DATA YANG EFISIEN UNTUK PEMROGRAMAN ANALISIS JARINGAN

Wayan Firdaus Mahmudy, Ani Budi Astuti

Jurusan Matematika, FMIPA, Universitas Brawijaya

 

ABSTRAK

Pada penelitian ini telah dirancang Tipe Data Abstrak (Abstract Data Type/ADT) graph yang efisien untuk masalah analisis jaringan. ADT graph ini dirancang untuk menyimpan data matriks berukuran besar sesuai kapasitas memori komputer. ADT tersebut digunakan untuk menyusun perangkat lunak untuk menyelesaikan persoalan pencarian rute terpendek (shortest route/shortest path) dan persoalan minimasi jaringan atau rentang pohon minimal (minimal spanning tree). Program yang telah dibuat dengan memanfaatkan struktur data graph mampu memecahkan masalah jaringan (jarak terpendek dan rentang pohon minimal) dengan tepat dan memberikanpemecahan langkah demi langkah.

 

PENDAHULUAN

Analisis jaringan merupakan suatu masalah dalam penelitian operasional yang mencakup persoalan pencarian rute terpendek (shortest route/shortest path), persoalan minimasi jaringan atau rentang pohon minimal (minimal spanning tree) dan persoalan aliran maksimum (maximal flow). Pemecahan persoalan dalam analisis jaringan secara manual memerlukan waktu yang lama dan ketelitian perhitungannya tidak terjamin sehingga diperlukan suatu perangkat lunak atau program komputer sebagai alat bantu.

Pembuatan program untuk masalah analisis jaringan memerlukan memori komputer yang cukup besar untuk menampung data masukan dan data untuk pemrosesan. Dengan menggunakan model struktur data standart yang terdapat dalam kompiler bahasa pemrograman (dalam penelitian ini digunakan bahasa pemrograman Pascal dengan kompiler Delphi2.0) maka memori yang dialokasikan kompiler tersebut tidak akan mencukupi. Untungnya kompiler Delphi 2.0 mengijinkan pemrogram untuk mendefinisikan tipe data buatan (users defined) yang biasa disebut tipe data abstrak (abstract data type/ADT).

ADT yang telah dibuat akan digunakan dalam penyusunan program untuk memecahkan persoalan pencarian rute terpendek (shortest route/shortest path) dan persoalan minimasi jaringan atau rentang pohon minimal (minimal spanning tree).

 

TINJAUAN PUSTAKA

Suatu jaringan terdiri atas suatu set titik-titik yang dihubungkan yang disebut node. Node-node tersebut dilambangkan dengan sebuah huruf atau angka, Node tertentudihubungkan dengan node lain dengan sebuah garis yang disebut busur (edge)

Suatu busur bisa berarah atau tak berarah. Angka-angka pada busur merupakan suatu nilai yang tergantung permasalahannya. Gambar 1 menunjukkan jaringan dengan busur tak berarah, Gambar 2 menunjukkan jaringan dengan busur berarah

gambar 1 busur node

 

Persoalan Rute Terpendek (Shortest Route)

Pada persoalan rute terpendek, yang menjadi masalah adalah mencari rute dengan jarak terpendek dari suatu node ke node yang lainnya dengan angka pada busur merupakan jarak node yang dihubungkan oleh busur tersebut. Pada masalah nyata, node yang ada bisa mewakili suatu kota, sedangkan angka pada busur merupakan jarak antar kota.

Untuk memecahkan persoalan rute terpendek bisa digunakan algoritma Dijkstra atau algoritma Floyd (Dimyati, 1992) (Wirt, 1976). Algoritma Dijkstra untuk mencari rute terpendek dari satu node sumber ke semua node yang lain. Algoritma Floyd untuk mencari rute terpendek dari semua node ke semua node yang lain.

 Di bawah ini disajikan algoritma Floyd:

gambar floyd

C  matrik untuk menyimpan jarak antar node secara langsung; A untuk menyimpan jarak antar node yang terdekat; Path merupakan matriks global untuk menyimpan jalur/lintasan dengan jarak terdekat; n menyatakan banyaknya node.

Inti dari algoritma Floyd di atas adalah untuk mencari jarak terdekat antara dua node (node i dan node j) adalah dengan mencoba melalui semua node yang lain (node k).

 

Persoalan Rentang Pohon Minimal (Minimal Spanning Tree)

Pada persoalan rentang pohon minimal, yang menjadi masalah adalah menghubungkan semua node yang ada dengan jarak minimum.

Pada rute terpendek, yang dicari adalah lintasan/rute dari sumber ke tujuan yang memberikan total jarak minimum, sedangkan pada persoalan rentang pohon minimal yang dipersoalkan adalah menentukan busur-busur yang menghubungkan node-node yang ada pada jaringan sehingga diperoleh panjang busur total minimum.

 

Persoalan rentang pohon minimal ini bisa diselesaikan dengan 2 cara: (Dimyati, 1992):

  1. Dipilih sembarang salah satu node, kemudian node ini dihubungkan dengan node lain terdekat.
  2. Ditentukan node lain yang belum terhubung yang terdekat dengan node – node yang sudah terhubung. Node ini kemudian dihubungkan.

Struktur Data Graph

Graph adalah suatu ADT yang digunakan untuk menangani masalah jaringan. graph dalam Pascal bisa dituliskan sebagai berikut. (Schneider, 1987)

data grap

N digunakan untuk menyimpan banyaknya node, A merupakan array dua dimensi untuk menyimpan jarak antar node.

Struktur data di atas merupakan struktur data statis. Apabila banyaknya node yang ada semakin bertambah maka ukuran A harus ditambah, padahal ukuran data termasuk program dalam Pascal dibatasi sampai 64 KB. Untuk memecahkan masalah ini bisa digunakan struktur data dinamis dengan menggunakan pointer (Kadir, 1990).

Dengan menggunakan pointer, struktur data graph di atas bisa dimodifikasi sebagai berikut:

rubah grap

 Perancangan Input Program Perangkat lunak dibuat dengan bahasa pemrograman Borland Delphi 2.0 yang bekerja pada lingkungan sistem operasi 32 bit. Perangkat lunak menerima masukan data berupa file text dan keluarannya juga berupa file text yang berisi penyelesaian masalah langkah demi langkah.

 

Perancangan Obyek TdataMatrixReal

Merupakan inti dari pemecahan masalah dalam penelitian ini. Berisi data dan metoda untuk memanipulasi data matriks berukuran besar. Data disimpan dalam memori dinamis dengan menggunakan gabungan array dan pointer.

Kerangka obyek ini adalah:

tmatriks

 

Perancangan Obyek TGraph

Obyek untuk menangani data jaringan. Berisi data matriks jarak antar node dan metoda untuk membaca nilai tersebut dari file. Tugas utama obyek ini adalah meangalokasikan serta mendealokasikan memori untuk menyimpan data jaringan.

Kerangka obyek ini adalah:

kerangka 2

HASIL PEMBAHASAN

Tampilan antar muka (interface) program dirancang secara visual dengan menggunakan fasilitas yang disediakan oleh Delphi.

Pertama kali program dijalankan akan muncul tampilan seperti pada Gambar 3. Dengan memilih menu File, Open dan memilih file data yang akan diproses dihasilkan tampilan seperti pada Gambar 4. Setelah data dibuka, analisis dilakukan dengan memilih menu Analisys dan hasil analisis akan disimpan ke file.

gambar 3 kes

gambar 4 kes

 Pemecahan Persoalan Rute Terpendek (Shortest Route)

Misalkan terdapat masalah jaringan seperti pada Gambar 1. Hasil dari program adalah adalah file text yang berisi:

pemecahan 1

Pada hasil di atas terdapat dua matriks, yang pertama adalah matriks jarak minimum antar node dan matrik jalur terpendeknya.

Pemecahan Persoalan Rentang Pohon Minimal (Minimal Spanning Tree)

Untuk masalah jaringan seperti pada Gambar 1, hasil dari analisis untuk mencari rentang pohon minimal adalah:

pemecahan 2

Dari hasil diatas bisa digambarkan node yang harus dihubungkan sebagai berikut:

hasil pengujian 2

KESIMPULAN

 Struktur data graph yang telah dirancang dan diimplementasikan mampu untuk menyimpan data matriks berukuran besar sesuai kapasitas memori komputer. Program yang telah dibuat dengan memanfaatkan struktur data graph mampu memecahkan masalah jaringan (jarakterpendek dan rentang pohon minimal) dengan tepat dan memberikan pemecahan langkah demi langkah.

Post Navigation

Leave a Reply

Your email address will not be published. Required fields are marked *