Fakultas Ilmu Komputer
Universitas Brawijaya 2125
Sistem Rute Terpendek Pencarian Buku Di Perpustakaan Menggunakan Algoritme Dijkstra
Muh. Syifau Mubarok1, Dahnial Syauqy2, Hurriyatul Fitriyah3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1barock96@gmail.com, 2dahnial87@ub.ac.id, 3hfitriyah@ub.ac.id
Abstrak
Perpustakaan merupakan tempat yang nyaman untuk membaca, karena memberikan layanan koleksi buku dan terbitan lainnya. Banyak informasi yang dapat diperoleh dari perpustakaan meliputi ilmu pengetahuan, rekreasi, kegamaan dan hiburan. Namun menurut survei UNESCO pada tahun 2015 menyatakan bahwa minat baca masyarakat Indonesia sangatlah kecil. Kecilnya minat baca masyarakat dapat dipengaruhi oleh beberapa faktor seperti, minimnya jumlah perpustakaan maupun minimnya fasilitas yang memadai pada perpustakaan. Semakin besar suatu perpustakaan maka semakin banyak variasi kategori buku dan semakin banyak rak buku yang disusun. Melakukan pencarian acak adalah yang paling sering dilakukan sehingga memakan banyak waktu. Solusi yang ditawarkan adalah sebuah sistem rute terpendek pencarian buku di perpustakaan menggunakan algoritme dijkstra. Sistem ditanam pada keranjang buku, pengunjung hanya perlu menentukan lokasi diri dan menentukan kategori buku yang ingin dicari menggunakan tombol navigasi pada sistem. Kemudian informasi tersebut diproses oleh arduino mega dan sistem akan menampilkan rute menuju kategori buku tujuan melalui LCD.
Penelitian dilakukan dengan sekema penempatan rak buku pada ruang label putih perpustakaan Universitas Brawijaya. Hasilnya sistem berhasil menentukan rute yang tepat dengan akurasi sebesar 100% dengan rata-rata waktu eksekusi yaitu 4,2 milidetik.
Kata kunci: dijkstra, perpustakaan, rute terpendek, arduino Abstract
The library is a comfortable place to read, because it provides collection of books and other publications. Lots of information can be obtained includes, knowledge, recreation, religious and entertainment. Based on 2015 UNESCO survey, The lack of public interest of reading can be affected by several factors such as, the lack number of libraries or the lack of decent facilities in the library. The bigger the library, the more variety of books and bookshelves are arranged. Doing random search is the way that’s most often done and it will wasting time. The solution offered is a shortest book navigation system in a library using dijkstra algorithm. The system is planted on a book basket, visitors only need to determine their current location and choose the books category they want to find using the navigation buttons on the system. Then the information will be processed by Arduino Mega and the system will show route to the destination book category through the LCD. The research was conducted by the scheme of placing bookshelves in white label room in University of Brawijaya. The Result is the system successfully determines the right route with 100% accuracy with 4.2 miliseconds of average time excecution.
Keywords: dijkstra, library, shortestpath, arduino
1. PENDAHULUAN
Perpustakaan merupakan tempat penyedia layanan koleksi buku dan terbitan lainnya yang diperuntukkan bagi masyarakat umum maupun kalangan tertentu. Perpustakaan adalah sebuah
ruangan, bagian sebuah gedung ataupun gedung itu sendiri yang digunakan untuk menyimpan buku dan terbitan lainnya yang biasanya disimpan menurut tata susunan tertentu untuk digunakan pembaca, bukan untuk dijual (Basuki, 1991). Banyak informasi yang bisa didapat di
perpustakaan informasi yang bersifat ilmu pengetahuan, rekreasi, keagamaan, dan hiburan yang merupakan kebutuhan manusia.
Di Indonesia minat baca masyarakat dinilai masih sangatlah rendah. Menurut survei yang dilakukan UNESCO pada tahun 2015, minat baca masyarakat Indonesia adalah 0,001 persen.
Ini berarti, dari setiap 1.000 penduduk, hanya ada satu orang yang senang membaca. Sebuah riset lain dilakukan oleh John. W Miller presiden dari Central Connecticut State University (2016) dalam bukunya yang berjudul World Literacy:
How Countries Rank and Why It Matters menyatakan bahwa Indonesia menduduki peringkat ke-60 dari 61 negara yang disurvei mengenai minat membaca (Miller & McKenna, 2016). Kecilnya minat baca masyarat Indonesia dapat disebabkan oleh beberapa faktor seperti, minimnya jumlah perpustakaan yang tersedia, dan fasilitas yang kurang memadai pada perpustakaan tersebut. Pada perpustakaan, umumnya buku-buku disusun berdasarkan rak- rak dimana setiap rak dikategorikan untuk buku dengan kategori sejenis. Semakin besar perpustakaan tersebut maka akan semakin banyak pula variasi kategori buku dan tentu berbanding lurus dengan banyaknya jumlah rak yang disusun. Melakukan pencarian acak secara manual adalah hal yang paling sering dilakukan, sehingga akan memakan banyak waktu dan tenaga. Sehingga dibutuhkan sistem untuk memudahkan pengunjung dalam menemukan buku yang ingin dipinjam dengan cepat dan akurat. Terdapat beberapa penilitian yang membahas terkait permasalahan-permasalahan tersebut. Diantaranya yaitu penilitian dari Dong- Ying Li dkk (2016) berjudul “Design of Internet of Things System for Library Materials Management Using UHF RFID” sistem ini bekerja dengan baik dalam membantu pengunjung perpustakaan dalam menemukan buku yang ingin dipinjam, selain itu sistem ini juga dilengkapi dengan fitur untuk mengetahui judul buku yang tersedia, bahkan fitur-fitur lain seperti pengembalian buku, peminjaman buku, informasi tentang suatu buku dll. Namun kekurangan dari sistem ini yaitu hanya dapat diakses menggunakan smartphone secara online dan memerlukan banyak RFID tag sehingga membutuhkan biaya yang mahal dalam pembuatannya. Penelitian selanjut yaitu dari Liao & Shieh (2015) dari National Normal Taiwan University dengan judul “The Development of Library Mobile Book-Finding System Based on NFC” kekurangan sistem ini
yaitu memerlukan smartphone tertentu dengan fungsi NFC reader dan Qrcode Reader.
Penelitian ketiga bukan mengenai perpustakaan namun menggunakan algoritme dijkstra dalam menemukan rute terpendek yaitu penelitian dari Nuuryagandi R. F, (2016) dengan judul
“Implementasi Algoritma Dijkstra Untuk Menetukan Rute Terpendek Lokasi Objek Wisata Di Kabupaten Pati Berbasis Web”
penggunaan algorithme dijkstra dalam sistem ini bekerja dengan baik dan hasilnya sangat akurat jika dibandingkan dengan google maps, tingkat perbandingannya yaitu 0,43%. Namun kekurangan dari sistem ini adalah sistem harus bekerja secara online sehingga memerlukan perangkat berupa smartphone atau PC. Solusi dari penulis adalah sebuah sistem rute terpendek pencarian buku di perpustakaan menggunakan algoritme dijkstra. Sistem ini merupakan sistem yang tertanam pada keranjang buku dengan biaya produksi yang murah, pengunjung hanya perlu menentukan lokasi diri dan menentukan kategori buku yang ingin dicari menggunakan tombol navigasi pada sistem. Kemudian informasi tersebut diproses oleh arduino mega dan sistem akan menampilkan rute menuju kategori buku tujuan melalui LCD.
2. LANDASAN KEPUSTAKAAN 2.1 Teori Graf
Teori Graf adalah salah satu cabang ilmu bidang matematika yang mempelajari tentang himpunan objek berupa simpul (vertex) yang dihubungkan oleh sisi (edge). Tujuan dari teori graf sendiri adalah untuk memvisualisasi objek agar mudah dimengerti. Definisi graf dimana : G (graf), V (Vertex), dan E (Edge) dalam hal ini V merupakan himpunan tidak kosong dari simpul- simpul (node) dan digambarkan berupa titik - titik. Dan E merupakan himpunan sisi-sisi (edges atau arcs) digambarkan berupa garis-garis yang menghubungkan sepasang simpul (Munir, Matematika Diskrit Edisi 3, 2009). Sehingga dapat disimpulkan bahwa graf merupakan kumpulan dari node-node yang dihubungkan oleh sisi.
Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda atau sisi kalang, berdasarkan jumlah simpul, atau berdasarkan orientasi arah pada sisi.
Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf. Salah satu jenis graf adalah graf berbobot. Graf berbobot merupakan graf yang
setiap sisinya diberi sebuah cost (bobot). Cost pada tiap sisi dapat berbeda bergantung pada masalah yang dimodelkan dengan graf. Cost dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi lain, ongkos produksi, dan sebagainya (Munir, Matematika Diskrit Revisi 5, 2012).
2.2 Algoritme Dijkstra
Algoritme Dijkstra merupakan algoritme yang efektif untuk melakukan pencarian rute terpendek dari suatu lokasi menuju lokasi lain.
Prinsip dari algoritme ini yaitu mencari titik lokasi dengan pencarian lintasan yang terpendek. Pada setiap iterasi, jarak titik yang diketahui (dari titik awal) akan diperbaharui jika ternyata terdapat titik baru dengan jarak terpendek. Syarat algoritme ini yaitu bobot sisinya yang harus non-negatif (Satyananda, 2012). Pada kasus pencarian rute terpendek, pada kenyataannya terdapat sebuah algoritme lain yang efektif yaitu algoritme Bellman Ford.
Algoritme ini merupakan pengembangan dari algoritme Dijkstra dan memiliki kelebihan yaitu mampu melakukan eksekusi pada graf berbobot negatif. Namun pada kinerja proses waktu eksekusinya, algoritme Dijkstra memerlukan waktu yang lebih singkat daripada algoritme bellman ford apabila diterapkan pada kasus graft tanpa bobot negatif (Irawan, 2011). Sehingga algoritme Dijkstra dipilih pada penelitian ini, dikarenakan graf yang dipakai penulis merupakan graft tanpa bobot negatif. Algoritme Dijkstra ditemukan oleh Edsger Wybe Dijkstra pada tahun 1959 dan termasuk dalam algoritme prinsip greedy, dalam setiap bobot minimum menghubungkan sebuah node yang sudah terpilih dengan node lain yang belum terpilih.
Pada gambar 1 berikut contoh ilustrasi algoritme Dijkstra dalam menentukan rute terpendek.
Gambar 1. Ilustrasi algoritme Dijkstra Pada gambar 1 dapat dilihat bahwa terdapat beberapa rute yang dapat menghubungkan kota
A menuju kota C, namun rute dengan cost terkecil adalah A,E,D,C dengan total cost 15, dan rute tersebutlah yang dipilih sebagai rute terpendek dari perhitungan Dijkstra.
3. PERANCANGAN DAN IMPLEMENTASI 3.1. Gambaran Umum Sistem
Gambar 2. Gambaran umum sistem
Pada bagian ini menjelaskan tentang gambaran sistem secara keseluruhan. Proses bekerjanya sistem yaitu user menentukan node awal sebagai starting point yang merupakan lokasi user berada, kemudian memilih kategori buku yang ingin dipinjam dengan menggunakan push button sebagai navigator sesuai menu kategori dan sub kategori yang ditampilkan melaui LCD.
Rute dari buku yang ingin dipinjam akan ditampilkan pada LCD dalam bentuk urutan rak kategori buku mulai dari node awal menuju node tujuan yang merupakan rak kategori buku yang dicari.
3.2. Implementasi Hardware
Implementasi Hardware menjelaskan tentang pengaplikasian komponen-komponen perangkat keras pembangun sistem. Pada gambar 3 merupakan visualisasi dari rangkaian hardware yang digunakan. Terdapat push button sebagai navigator, LCD sebagai interface, LED sebagai indikator dan Arduino Mega sebagai pemroses.
Gambar 3. Skematik perangkat keras
Tabel 1. Pin pada implementasi Hardware
Pin Arduino
Pin LCD nokia-5110 Push button Digital Pin
3
1/RST Reset -
Digital Pin 4
2/CE Chip enable -
Digital Pin 5
3/DC Data/Command mode
- Digital Pin
11
4/SDIN Serial Data In - Digital Pin
7
5/CLK Serial Data Clock
- Power 3.3 V 6/VCC Power Supply -
Digital Pin 12
7/BL Back Light -
Negative rail
8/GND Ground -
Digital Pin 0
- Kaki Kiri
Push button Digital Pin
1
- Kaki Kiri
Push button Digital Pin
2
- Kaki Kiri
Push button
Pada gambar 4 merupakan implementasi layout sistem.
Gambar 4. Bentuk implementasi sistem
3.3. Implementasi Software
Gambar 5. Flowchart utama sistem Pada gambar 5 menjelaskan tentang proses pencarian rute terpendek pada sistem, matriks ketetanggaan telah diinisialisasi terlebih dahulu dalam program, sehingga ketika user memililih node awal dan node tujuan maka sistem akan menentukan nomor node yang telah dipilih oleh user sebagai starting point dan menentukan node yang telah dipilih oleh user sebagai node tujuan.
kemudian sistem mencari node-node yang saling menghubungkan dari node awal menuju node tujuan, setelah itu menentukan rute yang terbentuk dari node-node yang saling berhubungan tersebut dan menampilkan rute dengan cost terkecil.
Tabel 2. Matriks ketetanggan
Tabel diatas merupakan matriks ketetanggan dari pemetaan node pada ruang label putih Universitas Brawijaya. Untuk memudahkan dalam memahami tabel 2, berikut visualisasi pemetaan node ruang perpustakaan label putih Universitas Brawijaya dalam bentuk graf.
Gambar 6. Pemetaan Node ruang perpustakaan label putih
Pada gambar 6 dapat dilihat total terdapat 37 nomor dari 0 hingga 36. Ke 37 nomor tersebut mempresentasikan jumlah node dan lokasi rak buku pada ruang perpustakaan kecuali node 0 yang mempresentasikan lokasi pintu masuk.
Tabel 3. Kategori Buku Berdasarkan Penomoran Node
Node Kategori Node Kategori
0 Pintu Masuk 19 Manajemen
TEKNIK 20 Administrasi
1 Informatika KESEHATAN
2 Elektro 21 Kedokteran
3 Mesin 22 Keperawatan
4 Embedded 23 Gizi
5 Robotika 24 Farmasi
6 Arsitektur 25 Ked. Hewan
MIPA 26 Kebidanan
7 Matematika PERTANIAN
8 Fisika 27 Agribisnis
9 Biologi 28 Tek. Pertanian
10 Kimia 29 Kehutanan
11 Geofisika 30 Ilmu Tanah
12 Astronomi PETERNAKAN
HUKUM 31 Produksi Ternak
13 Perdata 32 Nutrisi
14 Pidana 33 Tek. Hasil Ternak
15 Adm. Negara 34 Teknologi Pakan
16 Tata Negara SASTRA
BUDAYA EKONOMI
17 Ilmu Ekonomi 35 Bahasa
18 Bisnis 36 Seni
4. PENGUJIAN DAN ANALISIS 4.1. Pengujian Fungsionalitas
Pengujian pada tahap ini bertujuan untuk menguji apakah menu tampilan pada sistem dan komponen penyusun sistem yang meliputi LCD, push button, LED, powerbank dan Arduino mega bekerja sesuai rancangan penulis.
Tabel 4. Pengujian Fungsionalitas komponen penyusun sistem
Objek Pengujian
Hasil Yang Diharapkan Hasil
LCD LCD menampilkan halaman pilih node awal
Valid
LCD menampilkan halaman pilih node tujuan
Valid
LCD menampilkan menu dan submenu kategori buku
Valid
LCD menampilkan Hasil Rute Pencarian
Valid
Push Button
Push button kanan berfungsi sebagai tombol navigasi ke atas
Valid
Push button tengah berfungsi sebagai tombol OK/Enter
Valid
Push button kiri berfungsi sebagai tombol navigasi bawah
Valid
LED LED menyala selama 1 detik ketika node awal telah ditentukan
Valid
LED menyala ketika node tujuan telah ditentukan
dan beralih ke halaman hasil
Valid
LED mati ketika menu reset telah dipilih
Valid
Powerbank Mampu menyuplai daya ke arduino mega
Valid
Arduino Mega
Mampu menerima input dari user Valid Mampu memproses input menjadi
output
Valid
Terintegrasi dengan LED, LCD, Push Button, dan Powerbank
Valid
Tabel 5. Pengujian Fungsionalitas Menu Tampilan Sistem
Objek Pengujian
Hasil Yang Diharapkan Hasil
Tampilan Halaman Pada Sistem
Mampu menampilkan halaman pemilihan node awal
Valid
Mampu Menampilkan halaman pemilihan node tujuan
Valid
Mampu menampilkan halaman menu kategori dan subkategori
Valid
Mampu menampilkan halaman hasil pencarian rute terpendek
Valid
Menu Next Mampu mengalihkan ke halaman selanjutnya
Valid
Menu Back Mampu mengalihkan ke halaman sebelumnya
Valid
Menu Reset Mampu mereset sistem kembali ke halaman pemilihan node awal
Valid
Sesuai pada tabel 4 dan tabel 5 seluruh
komponen fungsional dan menu tampilan fungsional bekerja dengan benar.
4.2. Pengujian Akurasi Sistem Dalam Menemukan Rute Terpendek
Pengujian sistem dilakukan dengan menguji 10 sampel acak. Hasil dari pengujian sistem kemudian diabandingkan dengan hasil perhitungan manual satu-persatu. Pada hasil pengujian sampel didapatkan nilai-nilai pada tabel 6. Tabel diisi berdasarkan hasil sampel pengujian sistem dan hasil pengujian manual, hasil dari sampel pengujian tersebut kemudian dibandingkan untuk mengukur tingkat akurasi sistem dalam menemukan rute terpendek.
Tabel 6. Tingkat Akurasi Sistem
Node Awal
Node Tujuan
Cost Perhitungan
Sistem
Cost Terpendek Perhitungan
Manual
Hasil
9 29 21,2 meter 21,2 meter Valid 32 13 9,6 meter 9,6 meter Valid
0 9 28 meter 28 meter Valid
29 18 15,6 meter 15,6 meter Valid 0 24 25,6 meter 25,6 meter Valid
2 23 7,6 meter 7,6 meter Valid
36 21 13,6 meter 13,6 meter Valid
24 16 8 meter 8 meter Valid
31 36 5 meter 5 meter Valid
19 7 16,6 meter 16,6 meter Valid
Akurasi 100%
Pada table 5 merupakan hasil pengujian yang dilakukan sebanyak 10 kali dan didapat persentase akurasi sistem sebesar 100%.
Berikut adalah contoh output dari sampel percobaan akurasi sistem dapat dilihat pada gambar 7.
Gambar 7. Output Sistem Pencarian Rute terpendek
Pada gambar 7 merupakan output dari hasil pencarian rute terpendek, dimana node awal adalah node 9 yang merupakan rak buku dengan kategori biologi dan node tujuan adalah node 29 yang merupakan rak buku dengan kategori kehutanan. Sesuai gambar, output berupa urutan nomor rak yang harus dilewati dari node awal menuju node tujuan. Dengan visualisasi dapat dilihat pada gambar 8 sebagai berikut.
Gambar 8. Visualisasi Sampel Pengujian Pada gambar 8 rute yang dilewati merupakan rute terpendek yang memungkinkan dengan total cost sebesar 21,2 meter.
4.3. Pengujian Waktu Eksekusi Sistem Pengujian pada tahap ini dilakukan untuk mengetahui pengaruh jumlah node atau besar total cost yang dilewati dari starting point menuju node tujuan terhadap proses waktu eksekusi pada sistem.
Tabel 7. Pengujian Waktu Eksekusi Sistem
Node awal
Node Tujuan
Jumlah Node yang dilewati
Total Cost
Waktu eksekusi
9 29 12 21,2 meter 5 mili detik 32 13 5 9,6 meter 4 mili detik
0 9 5 28 meter 4 mili detik
29 18 11 15,6 meter 5 mili detik 0 24 2 25,6 meter 3 mili detik
2 23 3 7,6 meter 3 mili detik
36 21 9 13,6 meter 5 mili detik
24 16 8 8 meter 4 mili detik
31 36 5 5 meter 4 mili detik
19 7 12 16,6 meter 5 mili detik Rata-rata 4,2 mili detik
Pengujian dilakukan dengan sampel yang sama dengan sampel pengujian pada tabel 6.
Pengujian dilakukan sebanyak 10 kali, dengan memperhatikan jumlah node dan jarak dari node awal menuju node tujuan. Node terbanyak yang dilewati dalam pengujian ini adalah 12 node dan
jarak terpanjang dalam pengujian ini adalah 28 meter. Didapatkan waktu eksekusi rata-rata untuk seluruh sampel pengujian sebesar 4,2 mili detik.
5. PENUTUP
Dari hasil yang diperoleh pada setiap pengujian dapat disimpulkan bahwa sistem ini dapat berfungsi dengan baik dalam menemukan jalur terpendek dari suatu node sebagai starting point menuju node tujuan dengan menggunakan algoritme dijkstra dengan bentuk pemetaan node sesuai dengan ruang perputakaan label putih Universitas Brwaijaya.
Pengujian sistem dilakukan dengan menggunakan jumlah node total sebanyak 37 node. Tiap melakukan pengujian akurasi rute terpendek, penulis membandingkan hasil perhitungan sistem dengan hasil perhitungan dan pencarian rute secara manual, dengan tiap pencarian rute terpendek terdapat minimal 3 rute berbeda dan maksimal 4 rute berbeda. Hasilnya sistem selalu dapat menemukan rute yang sesuai yaitu rute terpendek dengan tingkat keberhasilan sebesar 100%.
Sesuai hasil pengujian pada tabel waktu eksekusi sistem dalam menemukan rute terpendek tidak dipengaruhi oleh total cost yang dilewati namun dipengaruhi oleh jumlah node yang dilewati. Semakin banyak node yang dilewati maka akan semakin lama waktu proses eksekusi yang dibutuhkan, namun tidak terlalu berpengaruh dikarenakan rata-rata waktu eksekusinya masih tergolong singkat yaitu memerlukan waktu 4,2 mili detik.
Saran yang dapat diberikan oleh penulis adalah untuk mencoba alternatif mikroprosesor lain selain arduino mega sebagai pembanding dari sistem yang telah ada kemudian menggunakan output berupa hasil visual yang berwarna agar tampilan sistem dapat lebih menarik, mengguanakan tampilan output berupa gambar lintasan agar output mudah dipahami dan menggunakan komponen tambahan berupa sensor atau sejenisnya agar sistem dapat mengetahui lokasi user secara otomatis
6. Daftar Pustaka
Arduino. (2019, September 30). Arduino Mega. Retrieved from store.arduino.cc:
https://store.arduino.cc/usa/mega-2560-r3 Basuki, S. (1991). Pengantar ilmu perpustakaan (2 ed.). Jakarta: Gramedia Pustaka Utama.
Brawijaya, U. (2019, Agustus 14).
Perpustakaan Universitas Brawijaya. Retrieved from Perpustakaan Universitas Brawijaya:
https://lib.ub.ac.id/en/
Devega, E. (2017, 10 10). Sorotan Media.
Retrieved from www.kominfo.go.id:
https://www.kominfo.go.id/content/detail/1086 2/teknologi-masyarakat-indonesia-malas-baca- tapi-cerewet-di-medsos/0/sorotan_media
Gusmão, A., Pramono, S. H., & Sunaryo.
(2013). Sistem Informasi Geografis Pariwisata Berbasis Web Dan Pencarian Jalur Terpendek Dengan Algoritma Dijkstra. EECCIS, 7, 125- 130.
Irawan, M. P. (2011). "PERBANDINGAN ALGORITMA DIJKSTRA DAN ALGORITMA BELLMAN-FORD PADA JARINGAN GRID".
Skripsi. Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Andalas, Padang.
Li, D. Y., Xie, S. D., Chen, R. J., & Tan, H.
Z. (2016). Design of Internet of Things System for Library Materials Management Using UHF RFID. IEEE International Conference on RFID Technology and Applications, 44-48.
Liao, P. K., & Shieh, J. C. (2015). The Development of Library Mobile Book-Finding.
International Congress on Advanced Applied Informatics, 148-153.
Miller, J. W., & McKenna, M. C. (2016).
World Literacy: How Countries Rank and Why It Matters. New York: Routledge.
Munir, R. (2009). Matematika Diskrit Edisi 3. Bandung: Informatika Bandung.
Munir, R. (2012). Matematika Diskrit Revisi 5. Bandung: Informatika, Bandung.
Nuuryagandhi, R. F. (2016). "Implementasi Algoritma Dijkstra Untuk Menetukan Rute Terpendek Lokasi Objek Wisata Di Kabupaten Pati Berbasis Web". Skripsi. Teknik Elektro, Fakultas Teknik, Universitas Negeri Semarang.
Satyananda, D. (2012). Struktur Data. In Modul tidak diterbitkan. Malang: Universitas Negeri Malang.