Implementasi Analisis dan Perbandingan Algoritmal-Deque dan Algoritma Bellman-Ford Dalam Mencari Jarak Terpendek

BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem.Sistem ini dibangun dengan menggunakan bahasa pemrograman C dan menggunakan Sharp Develop 5.1.Pada sistem ini terdapat 4 empat tampilan halaman, yaitu HalamanTitle, Halaman Home, Halaman Pengaturan dan Halaman About. 4.1.1 Tampilan Halaman Menu Title Halaman title merupakan tampilan halaman yang muncul pertama sekali pada saat sistem dijalankan. Tampilan Halaman menu title dapat dilihat pada gambar 4.1 Gambar 4.1 Tampilan Halaman Menu Title 4.1.2 Tampilan Halaman Menu Home Tampilan halaman menu homemerupakan halaman yang digunakan untuk menampilkan hasil perhitungan pada graph dengan mengatur node awal dan node tujuan pada graph. Tampilan menuhome dapat dilihat pada Gambar 4.2. Universitas Sumatera Utara Gambar 4.2 Tampilan Halaman Menu Home 4.1.3 Tampilan Halaman Menu Pengaturan Tampilan halaman menu pengaturan merupakan halaman yang digunakan untuk mengelola graf yang akan dibentuk. Pada halaman ini user dapat menginputkan node baru ataupun menghapus node yang telah ada, kemudian pada halaman ini juga dapat mengatur tetangga dari tiap-tiap node yang telah dibuat pada sistem. Tampilan halaman menupengaturan dapat dilihat pada Gambar 4.3. Universitas Sumatera Utara Gambar 4.3 Tampilan Halaman MenuManageVerteks 4.1.4 Tampilan Halaman Menu About Tampilan halaman menu about merupakan halaman tentang penulis dan penjelasan lainnya.Gambar 4.4 dibawah ini menunjukkan tampilan halaman menu about. Gambar 4.4 Tampilan Halaman Menu About 4.2 Pengujian Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem.Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik.Pengujian sistem ini dilakukan padagraphdengan node maksimal 15 nodes dan menggunakan 2 algoritma dengan membandingkan real running time dan hasil jarak terpendek. Universitas Sumatera Utara 4.2.1 Pengujian Proses Implementasi Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah load graph, dengan cara menuju halaman pengaturan lalu tekan load. Tampilan load graph dapat dilihat pada Gambar 4.5. Gambar 4.5 Tampilan Load graf User hanya dapat membuka graf yang sudah dibuat terlebih dahulu atau telah tersedia dan hanya dapat membuka file berformat .json. Setelah user menekan button loadmaka user harus ke halaman menuhome untuk menampilkan graf dalam sistemkemudian memilih buttonpanah yang berfungsi untuk mengacak bentuk graf, graf yang telah di load dapat dilihat pada Gambar 4.6. Gambar 4.6 Tampilan Grafyang Dimasukkan Dalam Sistem Universitas Sumatera Utara Setelah user memasukkan grafkemudian dapat dilakukan penambahan nodeataupun tetangga dari node yangbaru, dengan menuju kembali ke halaman pengaturan kemudian memilih untuk tambah node atau tambah tetangga. Hasil dapat dilihat pada Gambar 4.7 Gambar 4.7 Tampilan Penambahan Tetangga pada Sebuah Node Setelah userselesai menambahkan tetangga pada node yang telah dipilih di bagian root sebelah kiri sistem, lalu user juga dapat memperbaharui jarak dari node baru menuju tetangganya masing-masing.Tampilan hasil proses penambahan tetangga serta memperbaharui jarak nyadapat dilihat pada Gambar 4.8 berikut. Gambar 4.8 Tampilan Proses Penambahan Tetangga dan Memperbaharui Jarak Universitas Sumatera Utara Tampilan hasil graf setelah tetangga dan jarak telah diperbaharui dapat dilihat pada gambar 4.9 Gambar 4.9 Tampilan GrafDengan Penambahan Node dan Jarak 4.2.2 Pengujian Proses Algoritma L-Deque Deque beroperasi sama seperti Queuedengan cara First In First Out FIFO elemen pertama masuk merupakan elemen yang pertama keluar yaitu, grafik yang tingkat demi tingkat dieksplorasi.Deque sebuah daftar yang menggabungkan sifat-sifat dari kedua antrian dan tumpukan atau antrian. Sebuah deque adalah daftar di mana penambahan dan penghapusan yang mungkin di kedua ujung. Proses pencarian jalur terpendek menggunakan algoritma L-Deque dapat dilihat pada gambar 4.10 berikut Universitas Sumatera Utara Gambar 4.10 Tampilan Pengujian Pencarian Shortest Path dengan Algoritma L-Deque 4.2.2.1 Perhitungan Manual Algoritma L-Deque Contoh pencarian jarak terpendekmaenggunakan algoritma L-Deque dengan grafseperti pada gambar 4.11 berikut Gambar 4.11 Graf Algoritma L-Deque Tentukan node yang akan menjadi titik asal kemudian tentukan node yang akan menjadi titik tujuan. Pencarian dilakukan dengan cara penempatan di dalam sebuah array Deque dan menggunakan dua buah petunjuk yaitu LEFT dan RIGHT, yang berturut-turut menunjuk pada sisi kiri dan sisi kanan deque. Universitas Sumatera Utara Diketahui: Titik Asal = J, Titik Tujuan = A Circular Deque dengan 4 array memori Maka dapat dilakukan pencarian dalam penempatan sebuah array B D Dilakukan operasi berturut turut: 1. A ditambahkan ke kanan dari sebuah arraydeque 2. 1 itemdihapus yang paling kanan 3. J ditambahkan ke bagian kiri 4. A ditambahkan ke bagian paling kanan 5. Array telah penuh. Jawab : 1. _, C, D, A 2. _, C, D, _ 3. J, B, D, _ 4. J, B, D, A 5. LEFT + RIGHT+1, Queue penuh dan terjadi OVERFLOW 4.2.3 Pengujian Proses Algoritma Bellman-Ford Algoritma bellman-ford merupakan salah satu algoritma yang menangani kasus pencarian lintasan dengan bobot terkecil.Algoritma ini memungkinkan apabila di dalam system yang dibangun terdapat pencilan.Seperti yang sudah dicobakan sebelumnya, apabila simpul yang dituju ataupun simpul asal merupakan sebuah pencilan maka hasil yang didapatkan adalah infinity.Tidak hanya itu bahkan apabila ternyata tidak ada lintasan yang menghubungkan antara simpul awal dan simpul tujuan, maka bobot yang dihasilkan juga berupa infinity.Tampilanpemilihan grafdapat dilihat pada Gambar 4.14. Universitas Sumatera Utara Gambar 4.12 Tampilan Pemilihan Graf Setelah graf di tampilkan, maka akan dilakukan pengujian terhadap graf untuk menentukan lintasan terpendek dari satu node asal menuju node tujuan yang dapat ditentukan oleh user Gambar 4.13 Tampilan Pengujian Pencarian Shortest Path dengan Algoritma Bellman- Ford Universitas Sumatera Utara 4.2.3.1 Perhitungan Manual Algoritma Bellman-Ford Gambar 4.14 Graf Bellman-Ford Contoh proses perhitungan Algoritma Bellman-Ford dalam graf dapat dilihat pada gambar 4. Langkah 1 Buat vertex awal = 0 dan vertex lainnya dengan nilai tak terhingga Gambar 4.15 Langkah 1 Hasil dari gambar 4 dapat dilihat pada tabel 1. Tabel 4.1 Tabel Hasil langkah 1 I A B C D J d [V] ∞ ∞ ∞ ∞ ∞ Pi [V] Universitas Sumatera Utara Langkah 2 Hitung semua vertex. - Vertex I = 0 - Vertex A = 6 melewati vertex I - Vertex B = 8 melewati vertex A - Vertex C = 2 melewati vertex I - Vertex D = 16 melewati vertex B Universitas Sumatera Utara - Vertex J = 12 melewati vertex B Hasil dari langkah 2 dapat dilihat dari tabel 2 Tabel 4.2 Hasil langkah 2. I A B C D J d [V] 6 8 2 16 12 Pi [V] I A I B B Langkah 3 Hitung kembali semua vertex yang belum terlewati Gambar 4.16 Hasil langkah 2 Universitas Sumatera Utara - Vertex I = 0 - Vertex A = 5 melewati vertex C - Vertex B = 7 melewati vertex A - Vertex D = 6 melewati vertex C - Vertex J = 17 melewati vertex D dan 11 jika melewati vertex B Universitas Sumatera Utara Hasil dari langkah 3 dapat dilihat pada tabel 3. Tabel 4.3 Hasil Langkah 3 I A B C D J d [V] 5 7 2 6 11 Pi [V] C A I C B Tampilan Hasil yang telah di uji dengan menggunakan Algoritma Bellman-Ford untuk mendapatkan jarak terpendek dapat dilihat pada gambar 5. Gambar 4.17Shortest PathMenggunakan Algoritma Bellman-Ford

4.3 Kompleksitas Algoritma Perhitungan kompleksitas algoritma L-Deque dapat dilihat pada Tabel 4.4.