PENENTUAN JALUR TERPENDEK ANTAR TOWER BASE TRANSCEIVER STATION (BTS) DENGAN ALGORITMA
DIJKSTRA DAN FORMULA HAVERSINE
SKRIPSI
MAILINDA WATI 141421061
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2017
PENENTUAN JALUR TERPENDEK ANTAR TOWER BASE TRANSCEIVER STATION (BTS) DENGAN ALGORITMA
DIJKSTRA DAN FORMULA HAVERSINE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
MAILINDA WATI 141421061
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2017
Universitas Sumatera Utara
PERSETUJUAN
Judul : PENENTUAN JALUR TERPENDEK ANTARA
TOWER BASE TRANSCEIVER STATION (BTS) DENGAN ALGORITMA DIJKSTRA DAN FORMULA HAVERSINE
Kategori : SKRIPSI
Nama : MAILINDA WATI
Nomor Induk Mahasiswa : 141421061
Program Studi : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing :
Dosen Pembimbing II Dosen Pembimbing I
Dr. Maya Silvi Lydia, B.Sc, M.Sc Prof. Dr. Drs. Iryanto, M. Si NIP. 19740127 200212 2 001 NIP. 19460404 197107 1 001
Diketahui/Disetujui oleh
Program Studi S1 IlmuKomputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP. 19620317 19910210 01
PERNYATAAN
PENENTUAN JALUR TERPENDEK ANTARA TOWER BASE TRANSCEIVER STATION (BTS) DENGAN ALGORITMA
DIJKSTRA DAN FORMULA HAVERSINE
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali
beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Mei 2017
Mailinda Wati 141421061
Universitas Sumatera Utara
PENGHARGAAN
Alhamdulillah segala puji dan syukur atas semua berkah dan nikmat yang telah Allah Subhanahu Wa Ta’la berikan kepada penulis sehingga penulis mampu menyelesaikan penyusunan tugas akhir ini, sebagai syarat untuk memperoleh gelar Sarjana Ilmu Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Penulis ingin menyampaikan rasa hormat dan ucapan terima kasih penulis sebesar- besarnya kepada:
1. Bapak Prof. Dr. Runtung, SH, M.Hum selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Opim Salim Sitompul selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Bapak Herriyance, S.T., M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
5. Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
6. Ibu Dr. Maya Silvi Lydia, B.Sc, M.Sc selaku Dosen Pembimbing II yang telah memberikan bimbing, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.
7. Ibu Amalia, S.T, M.T selaku Pembanding I yang telah memberikan arahan mengenai materi skripsi penulis, memberikan motivasi kepada penulis serta kritik dan saran dalam pengerjaan skripsi ini.
8. Bapak Handrizal, S.Si, M.Comp. Sc selaku Pembanding II yang telah memberikan masukan serta kritik dan saran untuk pengerjaan skripsi ini.
9. Semua dosen dan pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
10. Ter Istimewa untuk Ayahanda Alm Martias Basir dan Ibunda Zurlena Suis yang
11. Ter Istimewa untuk abangnda dan kakanda tersayang Zurfiman Basir, Zurhendra Fajar, Zahara Febriani dan Resty Handayani yang selama ini sudah menyupport adiknya luar biasa dalam menyelesaikan skripsi.
12. Teman-teman seperjuangan dari zaman D3 Computer Engineering – Politeknik Negeri Medan yang sampai detik ini selalu bersama dalam menyelesaikan skripsi demi meraih gelar sarjana bersama yaitu Dear, Priska, Sar Barita, dan Denny.
13. Teman-teman yang selalu memberikan motivasi dalam keadaan apapun, yang selalu sayang dan pahami penulis yaitu Alvin, Yeni, Herman, Leo, Farid, Putri, Tarry dan Sabrina.
14. Teman-teman semasa D3 di Politeknik Negeri Medan dan Ekstensi S1 Ilmu Komputer Universitas Sumatera Utara.
15. Keluarga Besar Merpati Putih Polmed dan Merpati Putih Cabang Medan yang selalu menyemangati penulis untuk segera menyelesaikan penulisan skripsi ini.
16. Semua pihak yang terlibat langsung ataupun tidak langsung yang telah membantu penulis dalam menyelesaikan skripsi ini.
Semoga Allah Subhanahu Wa Ta’la melimpahkan berkah kepada semua pihak yang telah memberikan kebaikan, bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Mei 2016
MAILINDA WATI
Universitas Sumatera Utara
ABSTRAK
Komunikasi adalah kebutuhan yang sudah menjadi primer. Sehingga sangat diperlukan tower Base Tranceiver Station (BTS) guna sebagai sarana dalam berkomunikasi. Maka dibutuhkan rute terpendek untuk menuju tower jika telekomunikasi sedang mengalami gangguan. Oleh karena itu, dibutuhkan sebuah sistem yang dapat membantu untuk mengetahui jarak dan rute terpendek dengan menggabungkan dua metode yaitu algoritma dijkstra dan formula haversine dengan bantuan dari longitude dan lattitude bumi. Algoritma Dijkstra adalah suatu teknik yang digunakan untuk memecahkan masalah yang berhubungan dengan suatu optimasi untuk pencarian jalur terpendek dengan mencari bobot yang paling minimal dari suatu graph berbobot dan jarak terpendek akan diperoleh dari dua atau lebih titik dari suatu graph dengan nilai total yang didapat adalah nilai yang terkecil. Formula haversine adalah suatu teknik persamaan yang digunakan dalam navigasi, yang memberikan jarak lingkaran besar antara dua titik pada permukaan bola (bumi) berdasarkan bujur dan lintang dan yang akan menghasilkan jalur terpendek antara dua titik. Dimana hukumnya adalah semua persamaan yang digunakan berdasarkan bentuk bumi yang bulat (spherical earth) dengan menghilangkan faktor bahwa bumi itu sedikit elips (elipsodial factor). Dari hasil penelitian yang dilakukan, sistem telah menghasilkan perhitungan untuk mencari rute terpendek dari tower BTS A menuju tower BTS B dengan menggunakan algoritma dijkstra dan formula haversine.
Kata Kunci: Shortest Path, Algoritma Dijkstra, Formula Haversine, Tower Base Tranceiver Station (BTS), Longitude dan Latitude.
ABSTRACT
Communication is a need that has become the premiere. So that when the tower Base Tranceiver Station (BTS) is necessary, in order as a means of communication it takes the shortest route to get to the tower, if telecommunications is experiencing interference. Therefore, in need of a system that can help us to known distance and the shortest route by combine 2 methods; dijkstra algorithm and haversine formula with some help from lgitude and lattitude of the earth. Dijkstra algorithm is a technique that use for solving a problem that related with an optimization to find shortest distance ,looking for the most minimal weight of a graph, the shortest sdistance will be derived from two or more points on a graph with a total value obtained is the smallest value. Haversine formula is an equation technique used in navigation, which provides great circle distance between two points on the surface of a sphere (Earth) based on longitude and latitude, and that will generate the shortest path between two points. Where the law is all the equations which is used by the form of the earth is round (spherical earth) by eliminating a factor that the Earth is slightly elliptical (elipsodial factor). From the research conducted, the system has produced calculations to find the shortest route from tower BTS A to tower BTS B using dijkstra algorithm and formula haversine.
Keywords: Shortest Path, Dijkstra algorithm, Haversine formula, Tower Base Tranceiver Station (BTS), Longitude and Latitude.
Universitas Sumatera Utara
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii
Bab 1 Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 4
1.6 Metode Penelitian 4
1.7 Sistematika Penulisan 5
Bab 2 Landasan Teori
2.1 Lintasan Terpendek 7
2.2 Algoritma Dijkstra 8
2.3 Graph 8
2.3.1 Definisi Graph 8
2.3.2 Sejarah Graph 9
2.3.3 Jenis Graph 10
2.4 Formula Haversine 12
2.4.1 Rumus Formula Haversine 13
2.5 Jarak 15
2.6 Longitude dan Latitude 15
2.7 Tower Base Transceiver Station (BTS) 15
2.8 Penelitian yang Relevan 16
Bab 3 Analisis dan Perancangan Sistem
3.1 Analisis Sistem 18
3.1.1 Analisis Masalah 20
3.1.2 Analisis Pesyaratan 20
3.2 Diagram Sistem 21
3.2.1 Uses Case Diagram 21
3.2.2 Activity Diagram 22
3.3 Perancangan Antarmuka Sistem (Interface) 28 Bab 4 Implementasi dan Pengujian Sistem
4.1 Implementasi Sistem 32
4.1.1 Tampilan Home 33
4.1.2 Tampilan Penentuan Rute Terpendek BTS 33
4.1.3 Tampilan Pengolahan Data 34
4.1.4 Tampilan Bantuan 35
4.1.5 Tampilan Tentang 36
4.2 Pengujian Sistem 37
4.2.1 Pengujian Penghitungan Jarak Antar Node Mengunakan
Algoritma Haversine 37
4.2.2 Pengujian Pencarian Rute Terpendek Menggunakan
Algoritma Dijkstra 39
Bab 5 Kesimpulan dan Saran
5.1 Kesimpulan 47
5.2.Saran 47
Daftar Pustaka 48
Universitas Sumatera Utara
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
3.1 Nama-Nama Base Transceiver Station (BTS) yang Menjadi
Vertex 19
4.1 Perhitungan Algoritma Dijkstra Dari Tower BTS A Ke
Tower BTS B 45
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 Graph Sederhana (a), Graph Ganda (b), Graph Semu (c) 9 2.2 Graph Yang Merepresentasikan Jembatan Konigsberg 10
2.3 Graph Tak Berarah 11
2.4 Graph Berarah 11
2.5 Implementasi Graph Berarah 12
3.1 Use Case Diagram 22
3.2 Activity Diagram Mencari Rute Terpendek 23
3.3 Activity Diagram Mengolah Data Graph 24
3.4 Sequence Diagram Mencari Rute Terpendek 25
3.5 Sequence Diagram Mengolah Data Graph 26
3.6 Flowchart Sistem 27
3.7 General Arsitektur 28
3.8 Rancangan Halaman Menu Penentuan Rute Terpendek
Tower BTS 29
3.9 Rancangan Halaman Menu Pengolahan Data 30
3.10 Rancangan Halaman Bantuan 31
3.11 Rancangan Halaman Tentang 31
4.1 Diagram Ishikawa 32
4.2 Tampilan Home 33
4.3 Tampilan Penentuan Rute Terpendek Tower BTS 34
4.4 Tampilan Pengolahan Data (Tabel Node) 34
4.5 Tampilan Pengolahan Data (Tabel Koneksi) 35
4.6 Tampilan Bantuan 35
4.7 Tampilan Tentang 36
4.8 Tampilan Perhitungan Haversine 38
4.9 Tampilan Algoritma Dijkstra Langkah I 39
4.10 Tampilan Algoritma Dijkstra Langkah II 39 4.11 Tampilan Algoritma Dijkstra Langkah III 40
Universitas Sumatera Utara
4.12 Tampilan Algoritma Dijkstra Langkah IV 41
4.13 Tampilan Algoritma Dijkstra Langkah V 41
4.14 Tampilan Algoritma Dijkstra Langkah VI 42 4.15 Tampilan Algoritma Dijkstra Langkah VII 43 4.16 Tampilan Algoritma Dijkstra Langkah VIII 43 4.17 Tampilan Algoritma Dijkstra Langkah IX 44 4.18 Tampilan Algoritma Dijkstra Pada Sistem 46
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program 50
Lampiran 2 Daftar Riwayat Hidup (Curriculum Vitae) 84
Universitas Sumatera Utara
BAB I
PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi “Penentuan Jalur Terpendek Antar Tower Base Transceiver Station (BTS) Dengan Algoritma Dijkstra Dan Formula Haversine”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka, dan sistematika penulisan skripsi.
1.1 Latar Belakang
Base Transceiver Station (BTS) adalah suatu perangkat dalam jaringan telekomunikasi seluler yang berbentuk sebuah tower dengan antena pemancar dan penerima yang berfungsi sebagai penguat sinyal, sehingga dapat menghubungkan jaringan operator telekomunikasi seluler dengan pelanggannya. BTS adalah bagian dari network element yang berhubungan langsung dengan Mobile Station (MS). BTS berhubungan dengan MS melalui air-interface dan berhubungan dengan Base Station Controller (BSC) dengan menggunakan a-bis interface. BTS berfungsi sebagai pengirim dan penerima (transciver) sinyal komunikasi dari dan ke MS serta menghubungkan MS dengan network element lain dalam jaringan dengan menggunakan radio interface [7].
Perkembangan teknologi komunikasi selama satu abad terakhir berkembang dengan pesat, dimana masyarakat tidak lagi harus berada ditempat tertentu untuk dapat melakukan komunikasi. Komunikasi harus dapat dilakukan dimana saja dan kapan saja dalam keadaan diam atau bergerak. Sehingga teknologi yang digunakan yaitu mobile cellular. Dimana untuk menghubungkan antar jaringan perangkat mobile cellular dibutuhkan tower BTS.
Kota Medan memiliki luas 26.510 hektare (265,10 Km2) atau 3,6% dari keseluruhan wilayah Sumatera Utara, tentu banyak yang belum mengetahui letak
BTS adalah suatu hal yang wajib diketahui, terutama bagi seorang user seperti staff operation dan staff maintenance tower BTS. Jika tower BTS dibangun atau berada pada lokasi yang jauh dari lingkungan penduduk maka sinyal yang diterima mobile station atau telepon seluler akan semakin lemah. Akibatnya sering terjadi gangguan seperti sinyal putus nyambung, blank spot, no signal dan baterai menjadi cepat lemah atau habis karena terlalu sering dalam kondisi pencarian sinyal serta telepon mudah putus dan gangguan lainnya. Oleh sebab itu, tower BTS sangat penting pada zaman saat ini untuk masyarakat.
Pada PT. Indoteknik Tjandra Utama, seorang user seperti staff operation dan staff maintenance sangat perlu mengetahui letak dan jarak pasti suatu tower BTS dan jalur terpendek untuk tiba atau berada di lokasi, dengan tujuan agar dapat memperbaiki jika terjadi kesalahan pada tower BTS, seperti matinya aliran listrik serta pentingnya pemiliharaan tower BTS.
PT. Indoteknik Tjandra Utama adalah sebuah perusahaan yang bergerak dibidang pembangunan infrastruktur telekomunikasi dimana mencakup pembangunan tower BTS, pembebasan lahan atau site acquisition (sitac), pekerjaan civil, mechanical dan electrical (CME), design dan engineering, PLN connection serta pemeliharaan (maintenance).
Berdasarkan permasalahan diatas, penulis ingin merancang suatu aplikasi untuk menentukan jalur terpendek dan jarak dengan menggunakan algoritma dijkstra dan formula haversine. Dimana, algoritma dijkstra ini dapat menyelesaikan pencarian jalur terpendek dari satu simpul ke semua simpul yang ada pada suatu graf berarah dengan bobot dan nilai tidak negative dan formula haversine adalah rumus yang tepat untuk menghitung jarak antara dua titik, dengan mengetahui titik koordinat longtitude dan lattitude, sehingga didapatkan jarak terpendek dari kedua titik tersebut. Pada penelitian yang juga membahas tentang penentuan jalur terpendek telah dibahas dengan beberapa algoritma seperti algoritma dijkstra, algoritma floyd warshall, algoritma two queues dan algoritma particle swarm optimization (PSO).
Universitas Sumatera Utara
1.2 Rumusan Masalah
Berdasarkan dari latar belakang, maka didapat rumusan masalah yang akan dibahas pada penelitian ini, yaitu bagaimana penerapan algoritma Dijkstra dan Formula Haversine untuk menentukan jarak terpendek dari user ke tower Base Transceiver Station (BTS).
1.3 Batasan Masalah
Berdasarkan latar belakang dan rumusan masalah diatas, maka agar tulisan ini tidak menyimpang dari ruang lingkup pembahasan ada beberapa batasan masalah dari penelitian ini, yaitu:
1. Memberikan informasi tentang lokasi tower Base Transceiver Station (BTS) terdekat dari titik lokasi keberadaan user.
2. Nama tower Base Transceiver Station (BTS) yang digunakan dalam penelitian ini antara lain Perkampunagan Pasar 4 Barat, Marelan V Pasar II Barat, Perum TER, Pancing 4 dan HM Yamin Lorong Rejo
3. Jalur yang digunakan tidak memperdulikan kemacetan, kerusakan jalan, jalan satu arah dan sebagainya.
4. Menggunakan longitude dan lattitude.
5. Menggunakan bahasa pemrograman C#.
6. Sistem hanya menerima satu titik asal dan satu titik tujuan.
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian tugas akhir ini adalah sebagai berikut:
1. Dengan menghasilkan sistem yang dapat membantu user yang membutuhkan informasi tentang lokasi tower Base Transceiver Station (BTS) terdekat dengan menampilkan jarak terpendek untuk dapat menuju lokasi tower BTS yang dituju pada saat user menggunakan aplikasi.
2. Dengan memberikan solusi dalam pemilihan jalur atau lintasan terpendek terhadap jalan di Kota Medan untuk membantu user dengan menggunakan algoritma dijkstra dan formula haversine.
1.5 Manfaat Penelitian
Adapun manfaat dari penelitian ini, yaitu untuk membantu user seperti staff operation dan staff maintenance untuk mendapatkan lokasi tower BTS yang tepat dan memberikan jalur terpendek dengan jarak untuk mencapai ke lokasi tower BTS dengan memanfaatkan solusi yang dihasilkan algoritma dijkstra dan formula haversine.
1.6 Metodologi Penelitian
Agar informasi yang diuraikan tersistematis, akurat dan terstruktur, sehingga dapat dengan mudah dipahami, maka metodologi penelitian yang dilaksanakan dalam penelitian yaitu sebagai berikut:
a. Studi Literatur
Studi literatur dilakukan dengan cara mengumpulkan data dan informasi sebagai teori referensi dari berbagai sumber seperti buku, jurnal, skripsi, dokumen elektronik (e-book atau e-journal), dan situs-situs di internet, maupun hasil penelitian terdahulu yang terkait dengan algoritma dijkstra dan formula haversine serta koordinat yang dijadikan bahan acuan dalam pembuatan tugas akhir ini.
b. Analisis dan Perancangan Sistem
Tahapan ini dilakukan identifikasi masalah, mengolah data dari hasil pengumpulan data, memahami kerja pada sistem yang akan dibuat dan kemudian melakukan analisis dan perancangan sistem dengan pemanfaatan Shortest Path sehingga menghasilkan suatu aplikasi yang bermanfaat.
c. Implementasi Sistem
Pada tahap ini penulis akan melakukan implementasi sistem sesuai dengan hasil analisis dan perancangan ke dalam program komputer dengan menggunakan bahasa pemrograman C#.
Universitas Sumatera Utara
d. Pengujian Sistem
Setelah diimplementasikan, dilakukan pengujian terhadap aplikasi yang telah dibangun untuk melihat kelebihan maupun kekurangan dari aplikasi tersebut dan telah sesuai dengan tujuan penelitian.
e. Dokumentasi
Pada tahap ini akan dibuat dokumentasi yang berisi laporan dan kesimpulan akhir dari hasil analisa dan pengujian ke dalam bentuk laporan tugas akhir.
1.7 Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam 5 (lima) bab, yaitu:
BAB 1 PENDAHULUAN
Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi
“Penentuan Jalur Terpendek Antar Tower Base Transceiver Stasion (BTS) Dengan Algoritma Dijkstra Dan Formula Haversine”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.
BAB 2 LANDASAN TEORI
Bab ini membahas tentang teori-teori yang berhubungan dengan lintasan terpendek, teori graph, algoritma dijkstra, formula haversine, jarak, longitude dan latitude, dan Tower Base Transceiver Station (BTS).
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
Berisi tentang uraian analisis mengenai proses kerja dari pencarian lintasan terpendek menggunakan algoritma dijkstra dan formula haversine yang terdiri dari flowchart, Unified Modeling Language (UML) serta perancangan antarmuka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada tahap ini dilakukan pembuatan sistem dan coding sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.
BAB 5 KESIMPULAN DAN SARAN
Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.
Universitas Sumatera Utara
BAB 2
LANDASAN TEORI
Bab II ini berisi tentang pembahasan teori-teori tentang lintasan terpendek, Algoritma Dijkstra, Graph, Formula Haversine, Jarak, Tower dan Longitude Lattitude.
2.1 Lintasan Terpendek
Lintasan adalah hubungan antara titik dalam sebuah graph. Lintasan yang berawal dan berakhir pada simpul yang sama disebut lintasan tertutup (closed path), sedangkan lintasan yang tidak berawal dan berakhir pada simpul yang sama disebut lintasan terbuka (open path) [14].
Lintasan terpendek atau Shortest Path merupakan lintasan paling minimum yang ditempuh dari suatu tempat untuk mencapai tempat tujuan tertentu. Dimana rute atau lintasan terpendek antara node yang ada pada graph dan edge sebagai biaya (cost) yang akan diminimumkan. Persoalan mencari lintasan terpendek di dalam graph merupakan salah satu persoalan optimasi. Dalam pencarian lintasan terpendek masalah yang dihadapi adalah mencari lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari satu verteks ke verteks yang lain. Pencarian lintasan terpendek merupakan suatu masalah yang paling banyak dibahas dan dipelajari sejak akhir tahun 1950. Pencarian rute terpendek ini telah diterapkan diberbagai bidang untuk mengoptimasi kinerja suatu sistem, baik untuk meminimalkan biaya atau mempercepat jalannya suatu proses [5].
Ada beberapa macam persoalan lintasan terpendek, antara lain adalah sebagai berikut:
1. Lintasan terpendek antara dua buah verteks.
2. Lintasan terpendek antara semua pasangan verteks.
3. Lintasan terpendek dari verteks tertentu ke semua verteks yang lain.
4. Lintasan terpendek antara dua buah verteks yang melalui beberapa verteks tertentu.
Dalam pencarian lintasan terpendek ini, ada beberapa algoritma yang dapat digunakan. Namun, disini yang akan digunakan adalah formula haversine dalam menentukan lintasan terpendek [4].
2.2 Algoritma Dijkstra
Algoritma Dijkstra ditemukan oleh Edsger Wybe Dijkstra pada tahun 1959. Algoritma ini merupakan algoritma yang dapat memecahkan masalah pencarian jalur terpendek dari suatu graph pada setiap simpul yang bernilai tidak negatif. Dijkstra merupakan algoritma yang termasuk dalam algoritma greedy, yaitu algoritma yang sering digunakan untuk memecahkan masalah yang berhubungan dengan suatu optimasi.
Dalam pencarian jalur terpendeknya algoritma dijkstra bekerja dengan mencari bobot yang paling minimal dari suatu graph berbobot, jarak terpendek akan diperoleh dari dua atau lebih titik dari suatu graph dan nilai total yang didapat adalah yang bernilai paling kecil. Dan bobot tersebut adalah bilangan positif jadi tidak dapat dilalui oleh node negatif, namun jika terjadi demikian, maka penyelesaian yang diberikan adalah infinity [17].
Misalkan G adalah graph berarah berlabel dengan titik-titik V(G) = {v1, v2,
…, vn} dan path terpendek yang dicari adalah dari v1 ke vn. Algoritma dijkstra dimulai dari titik v1. Dalam iterasinya, algoritma akan mencari satu titik yang jumlah bobotnya dari titik 1 terkecil. Titik-titik yang terpilih dipisahkan, dan titik-titik tersebut tidak diperhatikan lagi dalam iterasi berikutnya [16].
2.3 Graph
2.3.1 Definisi Graph
Pada penentuan jalur terpendek, teori graph penting sebagai model untuk berbagai jenis proses atau struktur. Kota-kota dan jalan-jalan yang menghubungkan membentuk graph, seperti juga komponen pada papan sirkuit yang berhubungan di antara mereka [2].
Secara umum, graph didefinisikan sebagai kumpulan titik (nodes atau vertices) dan garis (arcs atau edges). Karena garis selalu diawali dari suatu titik dan diakhiri pada titik yang lain, maka garis bias dituliskan sebagai pasangan antara dua titik [3].
Universitas Sumatera Utara
Graph didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul (vertices atau node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul. Simpul pada graph dapat dinomori dengan huruf, seperti a, b, c... dan seterusnya, dengan bilangan asli 1, 2, 3... dan seterusnya, atau gabungan keduanya. Sedangkan sisi yang menghubungkan simpul u dengan simpul v dinyatakan dengan pasangan (u, v) atau dinyatakan dengan lambang e1, e2, ..., en dengan kata lain, jika e adalah sisi yang menghubungkan simpul u dengan simpul v, maka e dapat ditulis sebagai e = (u, v). Secara geometri graph digambarkan sebagai sekumpulan noktah (simpul) didalam bidang dwimatra yang dihubungkan dengan sekumpulan garis (sisi) [12].Berikut adalah contoh graph, seperti pada gambar 2.1.
Gambar 2.1 Graph Sederhana (a), Graph Ganda (b), Graph Semu (c) [1].
2.3.2 Sejarah Graph
Menurut catatan sejarah, masalah jembatan Konigsberg adalah masalah yang pertama kali menggunakan graph pada tahun 1736. Di Kota konigsberg (sebelah timur negara bagian Prussia, Jerman), sekarang bernama kota Kaliningrad, terdapat sungai Pregal yang mengalir mengintari pulau Kneiphof lalu bercabang menjadi dua buah anak sungai.
Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah jembatan Konigsberg adalah apakah mungkin melalui
melalui setiap jembatan itu hanya sekali dan kembali lagi ke tempat asal mula keberangkatan, tetapi mereka tidak dapat menjelaskan mengapa demikian jawabannya, kecuali dengan cara coba-coba. Tahun 1736, seorang matematikawan Swiss, L. Euler, adalah orang pertama yang berhasil menemukan jawaban masalah itu dengan pembuktian yang sederhana. Ia memodelkan masalah ini kedalam graph.
Daratan (titik-titik yang dihubungkan oleh jembatan) dinyatakannya sebagai titik (noktah) yang disebut simpul (vertex) dan jembatan dinyatakan sebagai garis yang disebut sisi (edge). Setiap titik diberi label huruf A, B, C, dan D. Graph yang dibuat oleh Euler dapat dilihat pada gambar 2.2.
Gambar 2.2 Graph Yang Merepresentasikan Jembatan Konigsberg [1].
Jawaban yang dikemukakan oleh Euler adalah orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap. Yang dimaksud dengan derajat adalah banyaknya garis yang bersisian dengan noktah. Sebagai contoh, simpul C memiliki 30 karena ada tiga buah garis yang bersisian dengannya, simpul B dan D juga berderajat dua, sedangkan simpul A 50. Karena tidak semua simpul berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit (yang dinamakan sirkuit Euler) pada graph tersebut [8].
2.3.3 Jenis Graph
Sisi pada graph mempunyai orientasi arah, berdasarkan orientasi arah pada sisi, maka secara umum graph dapat dibedakan menjadi dua jenis, yaitu:
Universitas Sumatera Utara
A. Graph Tak Berarah
Graph tak berarah adalah graph yang sisinya tidak mempunyai orientasi arah.
Dimana pada graph tak berarah, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan. Jadi, (u, v) = (v, u) adalah sisi yang sama.
Contoh graph tak berarah dapat dilihat pada gambar 2.3.
Gambar 2.3 Graph Tak Berarah [1].
B. Graph Berarah
Graph yang setiap sisinya diberikan orientasi arah disebut sebagai graph berarah atau lebih sering disebut sisi berarah dengan sebutan busur. Dimana pada graph berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v) ≠ (v, u). Untuk busur (u, v), simpul u dinamakan simpul asal, dan simpul v dinamakan simpul terminal.
Contoh graph berarah dapat dilihat pada gambar 2.4.
Gambar 2.4 Graph Berarah [1].
Menurut P. Insap Santoso dalam bukunya yang berjudul Struktur Data Menggunakan Turbo Pascal 6.0, menjelaskan bahwa graph berarah (directed graph, atau digraph) adalah merupakan bentuk yang lebih khusus dari graph seperti yg dijelaskan diatas, karena kedalam graph berarah terkandung suatu aliran (flow), misalnya aliran beban, dari satu titik ketitik lain dalam gambar biasanya disajikan menggunakan anak panah. Dengan demikian, pasangan titik yang menyatakan suatu garis harus disusun secara berurutan (ordered pair). Hal ini bisa dipahami dengan membayangkan suatu jalan yang lalulintasnya hanya bisa dalam satu arah (one-way-traffic). Dalam pasangan berurutan ini titik pertama menunjukan titik asal aliran (source), dan titik kedua menunjukan titik tujuan (sink) [3]. Contoh implementasi graph berarah dapat dilihat pada gambar 2.5.
Gambar 2.5 Implementasi Graph Berarah [3].
Dengan kenyataan diatas maka gambar 4 harus dituliskan sebagai:
N = {A, B, C, D, E, F}
E = {[A, B], [A, E], [B, C], [E, B], [C, E], [C, D], [E, D], [D, F]}
Selain sebutan titik asal dan titik tujuan, titik pertama juga sering disebut dengan predesesor dari titik kedua, dan titik kedua adalah suksesor dari titik pertama. Dengan demikian titik A adalah predesesor dari titik B dan E, dan titik B adalah suksesor dari titik A [1].
2.4 Formula Haversine
Josef de Mendoza y Ríos menggunakan formula haversine pertama kali dalam penelitiannya tentang “Masalah Utama Astronomi Nautical“, pada tahun 1796.
Dimana formula haversine digunakan untuk menemukan jarak antar bintang. Formula
Universitas Sumatera Utara
ini pertama kali ditemukan oleh Jamez Andrew di tahun 1805, dan istilah haversine ini sendiri diciptakan pada tahun 1835 oleh Prof. James Inman [6].
Formula haversine adalah persamaan yang digunakan dalam navigasi, yang memberikan jarak lingkaran besar antara dua titik pada permukaan bola (bumi) berdasarkan bujur dan lintang dan formula haversine ini akan menghasilkan jalur terpendek antara dua titik. Dimana hukumnya adalah semua persamaan yang digunakan berdasarkan bentuk bumi yang bulat (spherical earth) dengan menghilangkan faktor bahwa bumi itu sedikit elips (elipsodial factor). Ini merupakan kasus khusus dari algoritma umum dalam trigonometri bola, hukum haversine, yang berkaitan dengan sisi dan sudut segitiga bola [13].
2.4.1 Rumus Formula Haversine
Penggunaan rumus ini mengasumsikan pengabaian efek ellipsoidal, cukup akurat untuk sebagian besar perhitungan, juga pengabaian ketinggian bukit dan kedalaman lembah di permukaan bumi [11].
Berikut adalah rumus formula haversine, antara lain:
2 2
2
 10 = 0,0174532925 radian.
 c = Kalkulasi perpotongan sumbu [13].
∆lat
∆long
= lat2 – lat1.
= long2 – long1.
 a = sin2 (∆𝑙𝑎𝑡)+ cos (lat2) . cos (lat1) . sin2 (∆𝑙on𝑔).
 c = 2 . atan2 (√𝑎, √1 − 𝑎).
 d = R . c.
Dimana:
 R = Radius Bumi (rata-rata radius = 6371 Km).
 ∆lat = Latitude (Lintang).
 ∆long = Longitude (Bujur).
 d = Jarak.
 a = pangkat dari 1 jarak garis lurus antara 2 poin.
Contoh Sebuah Kasus
Dimana koordinat yang akan dicari jaraknya, untuk lokasi A berada pada latitude -8.1153 dan longitude 115.0798. Sedangkan untuk lokasi B berada pada latitude -8.3921 dan longitude 115.2166. Maka jarak dari lokasi A ke lokasi B bisa dicari dengan menggunakan rumus diatas. Dimana, R = 6371 Km.
Penyelesaian:
 ∆lat = lat2 – lat1
= -8.3921 – (-8.1153)
= -0.2768
 ∆long = long2 – long1
= 115.2166 – 115.0798
= 0.1368
 a = sin2 (∆𝑙𝑎𝑡
2 ) + cos (lat2) . cos (lat1) . sin2 (∆𝑙𝑜𝑛𝑔
2 )
= sin2 (−0.2768
2 ) + cos (-8.3921) . cos (-8.1153) . sin2 (0.1368
2 )
= 7.2306
 c = 2 . atan2 (√𝑎, √1 − 𝑎)
= 2 . (7.2306) tan2 (√7.2306, √1 − 7.2306)
= 0.0054
 d = R . c
= 6371 . (0.0054)
= 34.4034 Km
Sehingga, jarak dari lokasi A ke lokasi B adalah 34.4034 Km.
Universitas Sumatera Utara
2.5 Jarak
Jarak adalah angka yang menunjukkan seberapa jauh suatu benda berubah posisi melalui suatu lintasan tertentu. Dalam fisika atau dalam pengertian sehari-hari, jarak dapat berupa estimasi jarak fisik dari dua buah posisi berdasarkan kriteria tertentu (misalnya jarak tempuh antara Jakarta-Bandung). Dalam bidang matematika, jarak haruslah memenuhi kriteria tertentu [15].
2.6 Longitude dan Latitude
Garis bujur (Longitude) adalah garis khayalan yang membelah bumi secara vertikal menjadi dua bagian yaitu Timur dan Barat, serta menghubungkan kutub Utara dan Selatan. Sebagai patokan waktu di dunia adalah garis yang tegak lurus dengan garis khatulistiwa dimana awalnya 0˚ di Royal Observatory Greenwich, Inggris. Ke arah kanan atau Timur merupakan garis Bujur Timur (BT) sedangkan ke arah kiri atau Barat merupakan garis Bujur Barat (BB). Garis bujur ini biasanya dinyatakan dalam derajat, menit dan detik, dan dilambangkan dengan huruf Yunani lambda (λ).
Garis lintang (Latitude) adalah garis khayalan yang membelah bumi secara horisontal menjadi dua bagian yaitu Utara dan Selatan. Garis yang membelah itu adalah garis lintang 0˚ atau disebut garis khatulistiwa (seperti di Pontianak dan Bonjol yang dilewati atau pararel dengan garis khatulistiwa) atau garis lintang 0˚. Diatas khatulistiwa disebut garis Lintang Utara (LU) dan dibawah disebut garis Lintang Selatan (LS). Garis lintang berkisar dari 0˚ di khatulistiwa sampai 90˚ di Kutub Utara atau Kutub Selatan. Besaran tertinggi garis lintang adalah 90˚. Sudut lintang, dinotasikan dengan huruf Yunani phi (𝝅) yang diukur dalam derajat, menit dan detik atau derajat desimal, utara atau selatan dari khatulistiwa [10].
2.7 Tower Base Transceiver Station (BTS)
Tower Base Transceiver Station (BTS) adalah menara yang terbuat dari rangkaian besi atau pipa baik segiempat atau segitiga, atau hanya berupa pipa panjang atau tongkat, yang bertujuan untuk menempatkan antena dan radio pemancar maupun penerima gelombang telekomunikasi dan informasi. Tower BTS sebagai sarana komunikasi dan informatika, berbeda dengan tower SUTET (Saluran Udara Tegangan Ekstra Tinggi) yang dimiliki oleh PLN [7].
2.8 Penelitian Yang Relevan
Adapun penelitian terkait dengan penelitian yang dilakukan oleh penulis antara lain, sebagai berikut:
a. Penelitian oleh Hidayat, S. 2014. Menggunakan formula haversine.
Perancangan sistem informasi geografis untuk membuat sebuah aplikasi sistem informasi geografis yang berfungsi untuk menampilkan informasi letak dan fasilitas bandara serta menentukan lokasi terdekat untuk menentukan pendaratan darurat. Dalam implementasinya menggunakan AHP (Analytical Hierarchy Process) sebagai pendukung keputusan dalam menentukan lokasi bandara terdekat dan formula haversine sebagai penghitungan jarak antara posisi pesawat dengan lokasi bandara. Hasil penelitian ini adalah menampilkan lokasi bandara terdekat untuk melakukan pendaratan darurat sesuai dengan panjang landasan, tipe pesawat dan bahan bakar yang ditampilkan melalui peta digital [11].
b. Penelitian oleh Daud, M. 2013. Menggunakan formula haversine dan simple hill climbing. Perancangan sistem informasi geografis untuk menyediakan sarana informasi tentang melakukan pencarian kos sesuai keinginan mahasiwa berbasis web. Dimana hasil penelitian ini dengan menggunakan formula haversine para mahasiswa mendapatkan kos terdekat fasilitas umum atau sebaliknya, dan penerapan simple hill climbing untuk informasi rute, dan informasi kos lainnya untuk membantu pemerintah, pemilik kos, dan masyarakat luar dan dalam Kota Gorontalo [9].
c. Penelitian oleh Kurniawan, I. 2010. Menggunakan algoritma dijkstra.
Perancangan sistem informasi geografis ini berbasis web yang berfungsi sebagai peta digital yang dapat merepresentasikan daerah tertentu sebagai penentu shortest path. Dimana implementasi ini menggunakan algoritma dijkstra untuk menentukan jalur terpendek dan dapat membangun sebuah sistem penentuan jalur terpendek pada suatu daerah, dengan input berupa sebuah titik awal dan sebuah titik tujuan [4].
Universitas Sumatera Utara
d. Penelitian oleh Broumi, Said. 2016. Menggunakan algoritma dijkstra dengan judul “Applying Dijkstra Algorithm for Solving Neutrosophic Shortest Path Problem”. Dimana algoritma Dijkstra dapat menangani kasus dimana sebagian besar parameter jaringan tidak pasti. Algoritma Fuzzy Dijkstra digunakan untuk menemukan jalur terpendek dari sebuah jaringan dengan neutrosophic tunggal [18].
e. Penelitian oleh Szczesniak, Ireneusz dan Bozena Wo´zna-Szczesniak. 2016.
Menggunakan algoritma dijkstra dengan judul “Adapted and Constrained Dijkstra for Elastic Optical Networks”. Dimana menyatakan algoritma dijkstra dapat menjadi algoritma yang optimal dan efisien untuk menemukan jalur terpendek di jaringan optik elastis dengan memperhitungkan kelangsungan spektrum dan kendala persentuhan, dan batas pada panjang jalan. Sehingga dapat menghindari irisan yang berbeda, menghindari loop, dan plum label yang buruk [19].
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
Berisi tentang uraian analisis mengenai proses kerja dari metode dari algoritma dijkstra dan formula haversine yang terdiri dari flowchart, Unified Modeling Language (UML) serta perancangan dari aplikasi.
3.1 Analisis Sistem
Analisis sistem merupakan tahapan yang menjelaskan beberapa permasalahan yang akan membantu proses perancangan model sistem yang nantinya akan di implementasikan dan menjadi penyelesaian dari masalah yang dikaji. Aplikasi Penentuan Jalur Terpendek Antar Tower Base Transceiver Station (BTS) ini merupakan aplikasi untuk menentukan jarak terpendek yang paling efektif untuk mencapai tempat tersebut. Pembuatan aplikasi ini melalui beberapa tahapan untuk mempermudah perancangan dan pembuatannya.
3.1.1 Analisis Masalah
Banyak cara untuk mencapai suatu tempat yang diinginkan dengan mudah, dalam hal ini untuk menuju tower Base Transceiver Station (BTS) yang dituju, maka diperlukanlah suatu cara yang cepat dalam mencari jarak terpendek yang dapat memilih solusi yang paling optimal, sehingga dapat menghemat waktu dan membuat perjalanan lebih efektif dan efisien. Dengan dasar ini penulis mencari suatu cara untuk mencari tower Base Transceiver Station (BTS) terdekat di kota Medan dengan menggunakan dua buah algoritma yaitu Algoritma Dijkstra dan Formula Haversine.
Permasalahan pada penelitian ini adalah bagaimana cara menggabungkan dua buah algoritma yaitu Algoritma Dijkstra dan Formula Haversine untuk menentukan sebuah jalur. Dimana pencarian rute terpendek disimulasikan ke dalam model graph.
Dalam pengaplikasiannya graph dibentuk dengan mengikuti peta kota Medan, dimana
Universitas Sumatera Utara
vertex ditentukan berdasarkan beberapa nama tower dan simpang di kota Medan dan edge merupakan panjang jarak jalan yang akan dilalui nantinya dari tower atau simpang satu ke tower atau simpang lainnya. Berikut data graph tower di kota medan.
Terdapat 5 nama tower Base Transceiver Station (BTS) di kota Medan yang telah dipilih dan akan diterapkan kedalam graph pada sistem yang dibuat, nama-nama tower yang digunakan dapat dilihat pada Tabel 3.1
Tabel 3.1 Nama-Nama Base Transceiver Station (BTS) yang Menjadi Vertex
No Name Site Alamat Site Longitude Lattitude
1 Perkampunagan Pasar 4 Barat
Jl. Marelan I, Pasar IV Barat, Lingkungan VIII, Kel. Terjun, Kec. Medan Marelan, Kota Medan, Prov Sumut
98.64566 03.70520
2 Marelan V Pasar II Barat
Jl. Marelan V pasar II, GG Kesuma, Lingkungan II, Kel. Terjun, Kec. Medan Marelan, Kota Medan, Prov Sumut
98.64365 03.696967
3 Perum TER
Jl. Marelan IX, Lingkungan VI, Kelurahan Tanah Enam Ratus, Kecamatan Medan Marelan, Kota Medan, Provinsi Sumatera Utara
98.63595 03.68457
4 Pancing 4
Jl. Pancing 3 / Jalan Baru, Gg. Balai Desa, Kelurahan Indra Kasih, Kecamatan Medan Tembung, Kota Medan, Provinsi Sumatera Utara
098.70449 03.62358
5 HM Yamin Lorong Rejo
Jl. Dorowati, Lorong Rejo No. 23, Lingkungan X, Kelurahan Sidorame Barat I, Kecamatan Medan Perjuangan, Kota Medan, Provinsi Sumatera Utara
98.68715 03.60115
3.1.2 Analisis Persyaratan
Terdapat dua bagian pada analisis persyaratan yaitu persyaratan fungsional dan persyaratan non-fungsional, yaitu antara lain:
3.1.2.1 Persyaratan Fungsional
Analisis kebutuhan fungsional disini mendekripsikan tentang sistem yang disediakan.
Sistem ini melakukan perhitungan dan pencarian tower Base Transceiver Station (BTS) di kota Medan dengan menggabungkan dua buah algoritma yaitu algoritma dijkstra dan formula haversine. Terdapat beberapa persyaratan fungsional yang hatus diketahui antara lain:
1. Pengguna dapat melakukan proses pencarian rute terpendek dari titi awal menuju titik tujuan dengan memasukkan titik awal user dan titik tujuan user terlebih dahulu.
2. Sistem dapat mengetahui kecepatan proses running time, total jarak, dan rute yang dilalui dari penggabungan kedua algoritma setelah dilakukan pencarian rute.
3. Sistem dapat menampilkan hasil pencarian rute terpendek menggunakan algoritma dijkstra dan formula haversine pada graph yang diterapkan dalam sistem.
3.1.2.2 Persyaratan Non-Fungsional
Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan performance dari suatu sistem. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya:
1. User Friendly
Sistem yang akan dibangun harus mudah digunakan (user friendly), artinya sistem ini akan mudah digunakan oleh user dengan tampilan yang dapat dimengerti.
Universitas Sumatera Utara
2. Performa
Sistem atau perangkat lunak yang akan dibangun harus dapat menunjukkan hasil running time dan rute tower Base Transceiver Station (BTS) dari algoritma yang diterapkan.
3. Hemat Biaya
Sistem yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya.
4. Manajemen Kualitas
Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu dapat menunjukkan jarak, running time, serta rute yang dilalui dari penggabungan algoritma dijkstra dan formula haversine.
3.2 Diagram Sistem
Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar dari suatu model yang berfungsi untuk membantu merancang sistem. Sistem ini dibangun dengan membuat use case diagram, activity diagram, sequence diagram, dan flowchart.
3.2.1 Use Case Diagram
Use case merupakan pemodelan untuk menggambarkan sistem yang akan dibuat. Use case diagram digunakan untuk mengetahui kebutuhan sistem dari sudut pandang user, dan mempresentasikan interaksi antar aktor dengan sistem. Berikut use case diagram dapat dilihat pada Gambar 3.1.
Gambar 3.1 Use Case Diagram
Pada gambar 3.1 terdapat user yang mempunyai peran yaitu mencari rute terpendek dan mengolah data graph. User dapat mencari rute terpendek dengan cara input node asal dan node tujuan lalu sistem melakukan proses pencarian rute menggunakan algoritma dijkstra. User juga dapat mengolah data graph dengan cara menambah, mengedit dan menghapus node atau rute dari data graph lalu sistem melakukan proses pencarian jarak menggunakan formula haversine.
3.2.2 Activity Diagram
Activity diagram menggambarkan berbagai alur aktivitas yang ada didalam sistem yang sedang dirancang dan bagaimana masing-masing alur yang ada berawal serta berakhir. Activity diagram juga bertujuan untuk membantu bagaimana memahami proses dan menggambarkan setiap interaksi yang ada antara beberapa use case yang digunakan.
Universitas Sumatera Utara
A. Mencari Rute Terpendek
Activity diagram pada gambar 3.2 menjelaskan proses kerja dari sistem untuk mencari rute terpendek dari tower Base Transceiver Station (BTS). Activity diagram dapat dilihat pada Gambar 3.2.
Gambar 3.2 Activity Diagram Mencari Rute Terpendek
Pada Activity Diagram mencari rute terpendek dimulai dari user memilih menu pengujian, lalu sistem menampilkan form pengujian dan menampilkan graph berdasarkan database yang telah dibuat, lalu user menginputkan titik asal dan titik tujuan kemudian mengklik tombol cari, lalu sistem melakukan pencarian rute terdekat dengan algoritma dijkstra, lalu menampilkan hasil rute, running time, jarak rute, dan menampilkan rute yang dilalui.
\\\
\
B. Mengolah Data Graph
Activity diagram pada gambar 3.3 menjelaskan proses kerja dari sistem untuk mengolah data graph. Activity diagram dapat dilihat pada Gambar 3.3.
Gambar 3.3 Activity Diagram Mengolah Data Graph
Pada Activity Diagram mengolah data graph dimulai dari user memilih menu pengolahan data, lalu sistem menampilkan form pengolahan data dan menampilkan data node dan data koneksi dari database, lalu user memilih untuk mengolah data node atau mengolah data koneksi, user mengisi data node baru lalu klik tombol
Universitas Sumatera Utara
tambah untuk menambah data node atau koneksi, atau pilih node yang tersedia, lalu klik tombol hapus untuk menghapus data node atau koneksi, atau edit data node atau koneksi lalu klik tombol edit untuk mengedit data node atau koneksi. Setelah itu sistem akau menghitung ulang semua jarak koneksi menggunakan formula Haversine lalu mengolah data node dan koneksi dan menampilkan data node dan koneksi yang baru.
3.2.3 Sequence Diagram
Sequence diagram berfungsi untuk menggambarkan rangkaian pesan yang akan dikirim antara objek yang ada serta interaksi yang terjadi antar objek. Sequence dari sistem yang akan dibangun dapat dilihat pada Gambar 3.4 dan Gambar 3.5.
Gambar 3.4 Sequence Diagram Mencari Rute Terpendek
Pada Sequence Diagram mencari rute terpendek user megirim titik asal dan tujuan kepada form pengujian lalu form penentuan rute terpendek menggunakan tower BTS
time, total jarak, rute yang dilalui ke form penentuan rute terpendek menggunakan tower BTS yang kemudian ditampilkan ke user.
Gambar 3.5 Sequence Diagram Mengolah Data Graph
Pada Sequence Diagram mengolah data graph user bisa mengirim node atau koneksi yang ingin ditambah, diedit, atau dihapus ke form pengolahan data, lalu form pengolahan data mengirimkan node atau koneksi yang ingin ditambah, diedit, atau dihapus untuk melakukan proses pengolahan data kemudian proses pengolahan data mengirimkan hasil berupa database yang telah diolah ke form pengolahan data kemudian ditampilkan ke user.
Universitas Sumatera Utara
3.2.4 Flowchart Sistem
Adapun flowchart sistem pada perancangan dapat dilihat pada gambar 3.6 berikut ini.
Gambar 3.6 Flowchart Sistem
Dari gambar 3.6 flowchart sistem dijelaskan sistem diawali dengan menginput titik asal dan titik tujuan, kemudian sistem akan melakukan proses pengambilan longitude, lattitude, dan site name dari database lalu sistem melakukan proses menemukan jarak dan rute menuju lokasi yang dipilih menggunakan algoritm dijkstra dan formula haversine, lalu sistem akan
Dan tahapan flowchart sistem diatas, maka pertama sekali penulis mengambil data koordinat dari PT. Indoteknik Tjandra Utama. Kemudian dilanjutkan dengan menggambarkan alur lintasan yang akan dipindahkan kedalam sebuah graf berbobot. Kemudian dilakukan perhitungan manual untuk menentukan jarak terpendek pada graph dengan menggunakan formula haversine dan menentukan rute terpendek pada graph dengan menggunakan algoritma dijkstra. Kemudian dilanjutkan dengan menerapkan formula haversine dan algoritma dijkstra kedalam program untuk mencari rute terpendek. Dapat dilihat pada Gambar 3.7 berikut ini.
Gambar 3.7 General Arsitektur
3.3 Perancangan Antarmuka Sistem (Interface)
Perancangan antarmuka (interface) merupakan bagian penting dalam membangun sebuah sistem. Antarmuka yang baik perlu memperhatikan faktor pengguna dalam menggunakan sistem, selain untuk mempermudah user dalam menggunakan sistem yang dibangun juga perlu diperhatikan kenyamanan dari pengguna dalam
Universitas Sumatera Utara
menggunakan sistem tersebut. Adapun antarmuka yang terdapat pada sistem ini adalah halaman menu Penentuan Rute Terpendek Tower BTS, Pengolahan Data, Bantuan dan Tentang.
A. Halaman Menu Penentuan Rute Terpendek Tower BTS
Halaman menu penentuan rute terpendek tower BTS merupakan halaman yang digunakan untuk menginputkan titik asal dan titik tujuan, kemudian mencari hasil jarak dan running time dari penggabungan dua buah algoritma sehingga didapat jarak terpendeknya. Tampilan rancangan menu penentuan rute terpendek tower BTS dapat dilihat pada Gambar 3.8 berikut.
Gambar 3.8 Rancangan Halaman Menu Penentuan Rute Terpendek Tower BTS
B. Halaman Menu Pengolahan Data
Halaman menu pengolahan data merupakan halaman menu yang digunakan untuk menambah mengedit dan menghapus node dan koneksi serta menentukan longitude dan lattitude antara titik asal dan tujuan pada graph. Berikut adalah tampilan
Gambar 3.9 Rancangan Halaman Menu Pengolahan Data
C. Halaman Menu Bantuan
Halaman menu bantuan merupakan halaman menu yang digunakan untuk membantu user dalam melakukan langkah-langkah pengujian. Berikut adalah tampilan rancangan menu bantuan pada Gambar 3.10 berikut.
Universitas Sumatera Utara
Gambar 3.10 Rancangan Halaman Bantuan
D. Halaman Menu Tentang
Halaman menu tentang merupakan halaman yang menampilkan biodata penulis, dan judul dari penelitian tugas akhir. Berikut adalah tampilan rancangan menu tentang pada Gambar 3.11 berikut.
Gambar 3.11 Rancangan Halaman Tentang
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada tahap ini dilakukan pembuatan sistem sesuai dengan analisis dan perancangan dan kemudian melakukan pengujian sistem.
4.1 Implementasi Sistem
Tahap implementasi sistem merupakan lanjutan dari tahap perancangan sistem. Pada tahap ini dilakukan implementasi sistem ke dalam bahasa pemrograman berdasarkan hasil analisis dan perancangan sistem, sehingga sistem yang dibangun dapat diselesaikan dengan baik. Diagram ishikawa pada gambar 4.1 menjelaskan implementasi sistem penentuan jalur terpendek antar tower Base Transceiver Station (BTS) dengan algoritma Dijkstra dan formula Haversine.
Gambar 4.1 Diagram Ishikawa
Sistem dibangun dengan menggunakan bahasa pemrograman C# dan database sqlite sebagai library, sistem terdiri dari lima tampilan yaitu tampilan home, tampilan penentuan rute terpendek tower BTS, tampilan pengolahan data, tampilan bantuan dan tampilan tentang.
Universitas Sumatera Utara
4.1.1. Tampilan Home
Tampilan home atau utama merupakan tampilan yang pertama kali muncul apabila sistem dibuka. Pada tampilan ini, terdapat 5 (lima) button yang memiliki fungsi masing-masing pada sistem. Tampilan utama dapat dilihat pada Gambar 4.2.
Gambar 4.2 Tampilan Home
4.1.2. Tampilan Penentuan Rute Terpendek Tower BTS
Tampilan penentuan rute terpendek tower BTS merupakan halaman yang digunakan untuk mengatur node awal dan node tujuan pada graph serta menampilkan hasil jarak dan running time untuk penggabungan algorima. Tampilan menu penentuan rute terpendek tower BTS dapat dilihat pada Gambar 4.3.
Gambar 4.3 Tampilan Penentuan Rute Terpendek Tower BTS
4.1.3. Tampilan Pengolahan Data
Tampilan pengolahan data merupakan halaman yang digunakan untuk menambahkan node dan koneksi baru ataupun menghapus node dan koneksi.Tampilan halaman menu pengolahan data dapat dilihat pada Gambar 4.4 dan Gambar 4.5.
Gambar 4.4 Tampilan Pengolahan Data (Tabel Node)
Universitas Sumatera Utara
Gambar 4.5 Tampilan Bantuan
Gambar 4.5 Tampilan Pengolahan Data (Tabel Koneksi)
4.1.4. Tampilan Bantuan
Tampilan bantuan merupakan halaman tentang informasi sistem. Gambar 4.6 dibawah ini menunjukkan tampilan halaman bantuan.
4.1.5. Tampilan Tentang
Tampilan tentang merupakan tampilan yang berisi info singkat dari penulis dan judul dari penelitian penulis. Tampilan tentang dapat dilihat pada Gambar 4.7.
Gambar 4.7 Tampilan Tentang
Universitas Sumatera Utara
4.2. Pengujian Sistem
Pengujian sistem dilakukan untuk melihat keberhasilan dan ketepatan sistem dalam proses pencarian rute terpendek menggunakan algoritma dijkstra dan proses penghitungan jarak antar node menggunakan algoritma haversine.
4.2.1. Pengujian Penghitungan Jarak Antar Node Menggunakan Algoritma
Haversine
Misalkan jarak antar node yang dihitung adalah simpang 4 (Lattitude = 3,704568; Longitude
= 98,64534) dengan simpang 5 (Lattitude = 3,704551; Longitude = 98,6466). Maka proses penghitungan jarak antar node dengan menggunakan algoritma haversine adalah sebagai berikut:
Diketahui,
 Simpang 4 (Lattitude = 3,704568; Longitude = 98,64534)
 Simpang 5 (Lattitude = 3,704551; Longitude = 98,64660)
 R ∶ Keliling Bumi = 6371 𝐾𝑚
 𝐴 = 𝑠𝑖𝑛 (∆𝐿𝑎𝑡
2 ) ∗ 𝑠𝑖𝑛 (∆𝐿𝑎𝑡
2 ) + cos(𝐿𝑎𝑡1) ∗ cos(𝐿𝑎𝑡2) ∗ 𝑠𝑖𝑛 (∆𝐿𝑜𝑛𝑔
2 ) ∗ 𝑠𝑖𝑛 (∆𝐿𝑜𝑛𝑔
2 ) Maka,
 ∆𝐋𝐚𝐭 = 𝐋𝐚𝐭𝟐− 𝐋𝐚𝐭𝟏
= 3.704551 - 3.704568 = -0,000017
 ∆𝐋𝐨𝐧𝐠 = 𝐋𝐨𝐧𝐠𝟐− 𝐋𝐨𝐧𝐠𝟏
= 98.6466 - 98.64534
= 0,00126
 𝑨 = 𝒔𝒊𝒏 (∆𝑳𝒂𝒕
𝟐 ) ∗ 𝒔𝒊𝒏 (∆𝑳𝒂𝒕
𝟐 ) + 𝐜𝐨𝐬(𝑳𝒂𝒕𝟏) ∗ 𝐜𝐨𝐬(𝑳𝒂𝒕𝟐) ∗ 𝒔𝒊𝒏 (∆𝑳𝒐𝒏𝒈
𝟐 ) ∗ 𝒔𝒊𝒏 (∆𝑳𝒐𝒏𝒈
𝟐 )
 A = sin (−0,000017
2 ) ∗ sin (−0,000017
2 ) + cos (3.704568) ∗ cos ( 3.704551) ∗ sin (0,00126
2 ) ∗ sin (0,00126
2 )
 𝐂 = 𝟐 ∗ 𝐀𝐭𝐚𝐧𝟐 (√𝐀 , √𝟏 − 𝐀)
C = 2 ∗ Atan2 (√1,20419933300304E − 10 , √0,99999999987958) C = 2 ∗ Atan2 (1,09736016558058E − 05 , 0,99999999993979) C = 2 ∗ 1,0973601656026E − 05
𝐂 = 𝟐, 𝟏𝟗𝟒𝟕𝟐𝟎𝟑𝟑𝟏𝟐𝟎𝟓𝟐𝑬 − 𝟎𝟓
 𝐉𝐚𝐫𝐚𝐤 𝐀𝐧𝐭𝐚𝐫𝐚 𝟐 𝐭𝐢𝐭𝐢𝐤 = 𝐑 ∗ 𝐂
Jarak Antara 2 titik = 6371 ∗ 2,1947203312052E − 05 𝐉𝐚𝐫𝐚𝐤 𝐀𝐧𝐭𝐚𝐫𝐚 𝟐 𝐭𝐢𝐭𝐢𝐤 = 𝟎, 𝟏𝟑𝟗𝟔𝟗𝟕𝟗
Dari hasil perhitungan diatas maka didapatkan jarak antara simpang 4 dengan simpang 5 adalah 𝟎, 𝟏𝟑𝟗𝟔𝟗𝟕𝟗. Sesuai dengan sistem yang dapat dilihat hasilnya pada gambar 4.8.
Gambar 4.8 Tampilan Perhitungan Haversine
Universitas Sumatera Utara
4.2.2. Pengujian Pencarian Rute Terpendek Menggunakan Algoritma Dijkstra Misalkan rute terpendek yang akan dicari adalah rute dari BTS A menuju BTS B yang melalui beberapa simpang. Proses pencarian rute terpendek menggunakan algoritma Dijkstra dapat dilihat pada gambar berikut:
 Langkah I
Gambar 4.9 Tampilan Algoritma Dijkstra Langkah I
Pada gambar 4.9. Inisialisasi rute, node, jarak dan simpang yang akan dilalui dari A menuju B dan inisialisi total jarak menuju node tersebut akan melalui A. Dalam hal ini A bernilai 0 karena merupakan titik awal, sedangkan node lain bernilai tak terhingga (∞) karena node tersebut belum dihitung.
 Langkah II
Gambar 4.10 Tampilan Algoritma Dijkstra Langkah II
Pada gambar 4.10. Pilih node dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yg melalui titik awal (dalam hal ini node A), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node 4 total jarak ∞ menjadi 0,08 melalui node A) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
 Langkah III
Gambar 4.11 Tampilan Algoritma Dijkstra Langkah III
Pada gambar 4.11. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 4), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node 5 total jarak ∞ menjadi 0,22 melalui node 4 dan node 3 total jarak ∞ menjadi 1,18 melalui node 4) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
Universitas Sumatera Utara
 Langkah IV
Gambar 4.12 Tampilan Algoritma Dijkstra Langkah IV
Pada gambar 4.12. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 5), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node 6 total jarak ∞ menjadi 0,33 melalui node 5) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
 Langkah V
Gambar 4.13 Tampilan Algoritma Dijkstra Langkah V
Pada gambar 4.13. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 6), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node 10 total jarak ∞ menjadi 1,15 melalui node 6) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
 Langkah VI
Gambar 4.14 Tampilan Algoritma Dijkstra Langkah VI
Pada gambar 4.14. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 10), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node B total jarak ∞ menjadi 1,68 melalui node 10) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
Universitas Sumatera Utara
 Langkah VII
Gambar 4.15 Tampilan Algoritma Dijkstra Langkah VII
Pada gambar 4.15. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 3), kemudian tukar nilai total jarak node tersebut dengan yang terendah (pada node 9 total jarak ∞ menjadi 1,81 melalui node 3) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
 Langkah VIII
Gambar 4.16 Tampilan Algoritma Dijkstra Langkah VIII
Pada gambar 4.16. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node B), kemudian tukar nilai total jarak node tersebut dengan yang terendah (tidak ada krna semua node yang melalui B sudah memiliki nilai terendah) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar diatas.
 Langkah IX
Gambar 4.17 Tampilan Algoritma Dijkstra Langkah IX
Pada gambar 4.17. Pilih node berikutnya dengan nilai terendah sebagai titik awal, lalu hitung total jarak pada node yang melalui titik awal (node 9), kemudian tukar nilai total jarak node tersebut dengan yang terendah (tidak ada nilai terendah, karena semua node yang melalui 9 sudah memiliki nilai terendah) serta tandai node yang sudah dihitung dengan warna yang berbeda. Seperti pada gambar 4.17. Jika semua node sudah dilalui dan dihitung serta memiliki total jarak maka iterasi algoritma dijkstra telah selesai. Untuk lebih jelasnya, dapat dilihat dalam perhitungan algoritma Dijkstra pada Tabel 4.1.
Universitas Sumatera Utara