0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan53 halaman

Implementasi Dijkstra untuk Sales Tracking

Diunggah oleh

novichen
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan53 halaman

Implementasi Dijkstra untuk Sales Tracking

Diunggah oleh

novichen
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

SKRIPSI

IMPLEMENTASI ALGORITMA DJIKSTRA PADA


SALES TRACKING
Disusun untuk memenuhi salah satu syarat
memperoleh gelar Sarjana Teknik Informatika

Disusun Oleh :
Nama : Mikail Amrullah
NIM : A11.2019.12047
Program Studi : Teknik Informatika

FAKULTAS ILMU KOMPUTER


UNIVERSITAS DIAN NUSWANTORO
SEMARANG
2023
BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah


Sales adalah bagian terpenting dari suatu perusahaan karena
mempengaruhi penjualan perusahaan agar tujuan dari setiap perusahaan
tercapai. Selain itu, perusahaan juga memprioritaskan agar sales bisa
menjaga relasi baik dengan customer.

Dalam menjalankan pekerjaannya, sales menawarkan produk


perusahaan agar terjual sesuai dengan harga perencanaan perusahaan dan
konsumen dapat menerimanya. Seorang sales dikatakan sebagai ujung
tombak perusahaan. Sales akan menghadapi langsung konsumen dengan
customer. Hal ini disebabkan karena sales ada yang langsung datang ke
lokasi calon konsumen atau pembeli, ada yang menghubungi lewat
telepon, dan bisa juga bertemu disebuah acara untuk membawakan
produknya secara langsung.

Perusahaan seringkali mengalami kesulitan dalam memantau


aktivitas sales di lapangan. Adapun kesulitan yang dihadapi seperti
perusahaan sulit memastikan apakah Sles telah benar melakukan kunjugan
atau tidak dan apakah Sales telah melakukan aktivitas yang diajukan
perusahaan. Sehingga kesulita tersebut dapat berisiko memperlambat alur
penjualan perusahaan.

Disisi lain, ada pula kesulitan yang dialami Sales ketika di


lapangan. Masih banyak Sales yang menentukan jalur kunjungan hanya
dengan menggunakan pengalamannya. Ini akan jadi permasalahan ketika
yang menerapkan seorang Sales baru. Kesulitan seperti ini bisa
mengakibatkan Sales baru tersesat sehingga aktivitas kunjungan Sales
tersendat.
Oleh karena itu, dari kesulitan diatas perlu adanya suatu inovasi
teknologi yang dapat mengatasi yaitu dengan Sales Tracking. Sales
Tracking ini dapat membantu perusahaan dalam monitoring aktivitas Sales
pada saat bekerja di lapangan. Selain itu, Sales Tracking membantu sales
supaya dapat menemukan rute lokasi keberadaan customer.

Sales Tracking dapat digunakan sebagai efektif untuk


mempermudah pekerjaan Sales di lapangan. Sales dipermudah dengan
Sales Tracking ketika Sales Tracking bisa memberikan jalur terdekat yang
bisa dilalui Sales. Diperlukan sebuah pengimplementasian sebuah
algoritma pada Sales Tracking agar permasalahan bisa teratasi.

Dalam kasus tersebut, terdapat banyak Algoritma yang disediakan,


namun Algoritma satu dan yang lain sama sama memiliki beberapa
kekurangan dan kelebihan dalam mengukur jarak terdekat. Oleh karena
itu, untuk meningkatkan akurasi, digunakan Algoritma Dijkstra untuk
menemukan jalur terdekat yang akan dilalui sales untuk mencapai
pelanggan.

Algoritma Dijkstra sesuai untuk diterapkan pada kasus Sales


Tracking. Algoritma Dijkstra sering dipakai dalam menentukan jarak
terdekat. Algoritma Dijkstra sebagai alat pengambilan keputusan pada
penentuan jarak memperoleh akurasi yang tinggi jika dibandingkan
dengan algoritma-algoritma lain sehingga pada penelitian ini, peneliti
memakai Algoritma Dijkstra untuk menghitung jarak terdekat dalam sales
tracking.

Berdasarkan latar belakang tersebut, maka penelitian ini dibuat


dengan judul Implementasi Algoritma Dijkstra pada Sales Tracking guna
membantu Sales dalam mencari jalur terdekat yang dilalui Sales pada
Sales Tracking.
1.2 Rumusan Masalah
Dengan latar belakang yang diatas maka rumusan permasalahannya
adalah bagaimana mengimplementasikan Algoritma Dijkstra pada masalah
Sales Tracking.

1.3 Batasan Masalah


Adapun batasan permasalahannya adalah sebagai berikut :
1. Penerapan Algoritma Dijkstra pada sales tracking

2. Mencari tingkat keakuratan Algoritma Dijkstra

3. Perjalanan sales sudah ditentukan ke masing-masing konsumen


1.4 Tujuan Penelitian
Penelitian ini memiliki tujuan untuk mengimplementasikan
Algoritma Dijkstra pada kasus Sales Tracking

1.5 Manfaat Penelitian


Dengan begitu manfaat penelitiannya adalah :

1. Mengetahui kinerja Algoritma Dijkstra ketika diimplementasikan


di kasus Sales Tracking
BAB II
LANDASAN TEORI

2.1 Tinjauan Studi


Mengutip dari penelitian yang dilakukan untuk menemukan jarak
terpendek antar dua titik. Penelitian-penelitian sebelumnya dapat
digunakan sebagai acuan untuk membandingkan hasil dan menghasilkan
penelitian baru yang lebih berguna. Dalam melakukan penelitian, para
peneliti menggunakan referensi-referensi yang relevan sebagai dasar
dalam menjalankan penelitian.

Tabel 2.1 State of art

No Penulis Tahun Judul Metode Hasil


1. (Cantona, 2020 Implementasi Algoritma Penelitian sebelumnya
Fauziah, & Algoritma Dijkstra menunjukkan bahwa
Winarsih, Dijkstra Pada algoritma yang
2020) Pencarian digunakan adalah solusi
Rute untuk mencari rute
Terpendek ke terpendek. Rute yang
Museum di dihasilkan dalam
Jakarta pengujian menunjukkan
bahwa algoritma
Djikstra dapat
mempersingkat waktu
mencari museum di
Jakarta dengan
menggunakan
smartphone. Dengan
total 20 bobot,
algoritma ini dianggap
efektif untuk mencari
rute terpendek.
2. (Sudibyo, 2020 Implementasi Metode Hasil penelitian
Setyawan, & Algoritma Dijkstra menunjukkan bahwa
Rahmad Dijkstra ada sepuluh jalur
Hidayat, Dalam terpendek yang
2020) Pencarian menghubungkan setiap
Rute objek wisata ke titik
Terpendek awal. Algoritma
Tempat Djikstra adalah metode
Wisata Di terbaik untuk
Kabupaten menemukan rute
Klaten terpendek ke tempat
wisata di Kabupate
Klaten. Hasil
perhitungan dengan
software dan manual
juga sama.
3. (Rumondor, 2019 Perancangan Metodologi Berdasarkan proses dan
Sentinuwo, Jalur Waterfall, langkah-langkah yang
& Sambul, Terpendek Algoritma dilakukan dalam
2019) Evakuasi Dijkstra penelitian, dapat
Bencana di disimpulkan bahwa
Kawasan pengunjung Boulevard
Boulevard Manado dapat
Manado menggunakan algoritma
Menggunakan Djikstra untuk
Algoritma menghitung waktu
Dijkstra tempuh, petunjuk arah,
dan jarak terpendek dari
lokasi rawan bencana
ke lokasi evakuasi.
4. (Arga, 2021 Penerapan Metode Penelitian telah
Firmansyah, Algoritma Algoritma mencapai beberapa
Imam, & Dijkstra Pada Dijkstra kesimpulan, termasuk
Fauzi, 2021) Pencarian yang pertama :
Jalur Algoritma Dijkstra
Terpendek dilakukan dengan cara
menentukan node awal,
node akhir, dan
ketenangan nilai jarak
sebagai pembanding
antar rute. Yang kedua,
Metode Dijkstra
digunakan untuk
menentukan jalur
terpendek dengan
Proses scanning
(pemeriksaan) berjalan
bersamaan dengan
proses pemberian label.
Proses membandingkan
jarak antara node awal s
dan node I melalui node
j, yang dianggap
sebagai node tambahan
dalam jaringan, disebut
pemeriksaan node.
5. (Muharrom, 2020 Implementasi Algoritma Algoritma Djikstra
2020) Algoritma Dijkstra dapat digunakan untuk
Dijkstra menemukan rute
Dalam tercepat dan terpendek
Penentuan dari satu tempat ke
Jalur tempat lain. Algoritma
Terpendek ini menggunakan
Studi Kasus persimpangan asal dan
Jarak Tempat tujuan sebagai input,
Kuliah dan kemudian
Terdekat menampilkan node
sebagai persimpangan
dan simpul atau jalur
yang
menghubungkannya di
sebuah graf. Selain itu,
karena menggunakan
data dalam waktu nyata,
memiliki tingkat
keakuratan yang lebih
tinggi dalam
menentukan rute
tercepat saat sistem
bekerja.
6. (Baharuddin, 2021 Implementasi Algoritma Menurut penelitian dan
Purwanto, Algoritma Dijkstra hasil penggunaan
Budiman, & Dijkstra algoritma Djikstra
Fauzi, 2021) Untuk berdasarkan
Menentukan lintasannya, jalur
Jalur distribusi terbaik dari
Terpendek PT X ke PT Y adalah
Dalam melalui Polda Jawa
Distribusi Barat, Carefour, dan
Barang Vie Hotel Westhoff
dengan jarak 12,3 km.
Dari PT Y ke PT Z
adalah melalui Simpang
Lima, dan Vie Hotel
Westhoff dengan jarak
10,7 km. Dengan
demikian, jalur
distribusi terbaik dari
PT X ke PT Y
kemudian PT.
7. (Adinda, 2022 Aplikasi Algoritma Peneliti mengambil
2022) Algoritma Dijkstra sampel uji dengan
Dijkstra berbagai tujuan
Untuk berdasarkan percobaan
Penentuan dengan algoritma
Jalan Djikstra. Hasil
Terpendek pengujian aplikasi dapat
menunjukkan jalur
tujuan dari koordinat
lokasi pengguna.
Karena algoritma
Djikstra memiliki cara
yang efisien untuk
mencari jalur
terpendek, Setiap graf
dipilih dengan bobot
minimum,
menghubungkan node
terpilih dengan node
lain yang tidak terpilih.
8. (Paunsyah, 2019 Penentuan Metode Hasil dan kesimpulan
Mubarok, & Jalur Extreme dari serangkaian
Shofa, 2019) Terpendek Programming penelitian yang telah
Menggunakan dan Algoritma dilakukan adalah :
Google Maps Dijkstra 1. Telah dihasilkan
API pada perancang dan
Sistem pembangun sistem
Informasi Penentuan Jarak
Geografis Terpendek Sistem
(GIS) Panti Informasi
Sosial di Kota Geografis (GIS)
Tasikmalaya Panti Sosial Kota
Tasikmalaya
menggunakan
Algoritma Djikstra
2. Fitur Google Maps
telah digunakan.
Fungsinya adalah
untuk
memungkinkan
pengelola
menentukan
seberapa dekat
donatur akan
melakukan
pencarian panti
sosial dan
mengurangi
jumlah waktu yang
dihabiskan untuk
pencarian panti
sosial.
9. (Sumaryo, 2020 Implementasi Algoritma Saat membuat aplikasi
Harsadi, & Algoritma Dijkstra dan ini, peneliti berhasil
Nugroho, Dijkstra Dan Metode menggunakan algoritma
2020) Metode Haversine Djikstra untuk
Haversine menemukan rute
Pada terpendek di
Penentuan pegunungan. Aplikasi
Jalur ini memungkinkan
Terpendek pendaki untuk memilih
Pendakian rute terpendek di antara
Gunung beberapa cabang jalur
Merapi Jalur di dalam rute pendakian
Selo Berbasis jalur selo. Hasil
Android perbandingan antara
perhitungan manual dan
perhitungan sistem
memiliki nilai yang
sama, dan uji kelayakan
sistem menerima nilai
kategori "Baik". Oleh
karena itu, dapat
disimpulkan bahwa
aplikasi ini berguna dan
membantu pendaki
pemula.
10. (Bunaen, 2022 Penerapan Algoritma Didasarkan pada
Pratiwi, & Algoritma Dijkstra dan penelitian dan hasil
Riti, 2022) Dijkstra Studi Literatur implementasi
Untuk Algoritma Djikstra,
Menentukan dapat disimpulkan
Rute bahwa:
Terpendek 1. Temukan lima
Dari Pusat rute terpendek
Kota yang dapat
Surabaya Ke ditempuh untuk
Tempat mencapai lokasi
Bersejarah bersejarah sejak
awal
2. Algoritma
Djikstra dapat
menyelesaikan
masalah pencarian
rute terpendek
untuk
mengunjungi
lokasi bersejarah.
3. Metode Djikstra
ini dapat
digunakan untuk
Dengan
mengidentifikasi
titik awal dan
tujuan dan
membandingkan
nilai mereka,
Anda dapat
menemukan rute
terpendek dari
jalur perjalanan.
2.2 Tinjauan Pustaka
2.2.1 Pendekatan Djikstra
Algoritma Djikstra menghitung dari titik pertama ke titik
terdekat, kemudian ke titik kedua, dan seterusnya untuk
menyelesaikan masalah jarak terpendek dalam graf berarah dengan
bobot tepi non-negatif. (Adinda, 2022).
Algoritma Djikstra biasanya bertujuan untuk mencari jalur
terpendek berdasarkan bobot terkecil dari satu titik ke titik lainnya
(misalnya, titik mewakili bangunan dan garis mewakili jalan). Tujuan
utama algoritma ini adalah mencari nilai biaya yang paling dekat
dengan fungsi tujuan pada graf berbobot, sehingga dapat membantu
memberikan jalur alternatif. (Adinda, 2022).

2.2.2 Graph
Graf biasanya digambarkan sebagai sekumpulan titik
(mewakili simpul) yang dihubungkan oleh garis (mewakili sisi) atau
garis dengan panah (mewakili busur). (Arga, Firmansyah, Imam, &
Fauzi, 2021).

2.2.3 Lintasan (Path)


Lintasan dalam sebuah graf adalah hubungan antara titik atau
node. Lintasan tertutup (close path) adalah lintasan yang bermula dan
berakhir pada node yang sama, sedangkan lintasan terbuka (open path)
adalah lintasan yang bermula dan berakhir pada node yang berbeda.

2.2.4 Lintasan Terpendek (Shortest Path)


Lintasan terpendek adalah yang membawa bobot terkecil
secara keseluruhan untuk mencapai lokasi. (Arga, Firmansyah, Imam,
& Fauzi, 2021). Lintasan dengan biaya terkecil dari node awal ke
node tujuan dalam sebuah jaringan disebut sebagai rute terpendek.
(Cantona, Fauziah, & Winarsih, 2020). Dengan menggunakan graf,
lintasan terpendek dapat ditemukan. Jenis graf yang digunakan adalah
graf berbobot, di mana setiap sisi dari graf memiliki nilai atau bobot.
Nilai-nilai ini dapat mencakup hal-hal seperti waktu, biaya, dan
sebagainya.

2.2.5 Menghitung Jarak Terdekat


Menghitung jarak terdekat adalah salah satu aspek penting
dalam sales tracking. Dalam konteks sales tracking, menghitung jarak
terdekat berarti mencari pelanggan terdekat dari posisi saat ini. Salah
satu algoritma yang dapat digunakan untuk menemukan jarak terdekat
adalah Algoritma A*(A-Star), Djikstra, Hill Climbing, dan Manhattan.
Algoritma tersebut memiliki perbedaan, tapi sering digunakan dalam
konteks menghitung jarak terdekat dalam masalah navigasi. (Prasetyo,
Arnandi, Hudnanto, & Setiaji, 2019)

Berikut penjelasan dari algoritma algoritma diatas :

1. Algoritma A* (Astar)
Algoritma pencarian jalur terpendek A* mencari
jalur terpendek antara dua titik di graf. (Prasetyo, Arnandi,
Hudnanto, & Setiaji, 2019). Algoritma ini menggabungkan
heuristik dan pencarian graf untuk mencari jalur terpendek
dengan efisien

2. Algoritma Manhattan
Algoritma Manhattan adalah algoritma yang
digunakan untuk menghitung jarak antara dua titik dalam
sistem koordinat dengan menghitung selisih koordinat pada
sumbu x dan sumbu y, kemudian menjumlahkan selisih
tersebut. Algoritma ini sering digunakan dalam sales
tracking untuk mengoptimalkan rute kunjungan pelanggan
(Nishom, 2019)

3. Algoritma Hill Climbing


Algoritma Hill Climbing adalah algoritma pencarian
local yang digunakan untuk mencari solusi terbaik dalam
ruang pencarian. Algoritma ini mencoba mencari solusi
terbaik dengan mempertimbangkan solusi yang berdekatan
secara iterative (Afero, 2021)

4. Algoritma Dijkstra
Algoritma Djikstra, juga dikenal sebagai algoritma
greedy, adalah algoritma pencarian jalur terpendek yang
digunakan untuk menemukan jalur terpendek antara dua
titik dalam graf berbobot positif. Strategi greedy yang
digunakan oleh algoritma ini adalah untuk menemukan
jalur terpendek antara setiap titik dalam graf. Selain itu,
algoritma Djikstra dapat digunakan untuk menghitung
biaya untuk lintasan terpendek yang sudah terbentuk atau
biaya total. (Yusuf, Az-Zahra, & Apriyanti, 2019)
2.3 Kerangka Pemikiran
Untuk memberikan panduan atau acuan untuk menyusun penelitian
ini, diperlukan Kerangka kerja yang lebih rinci dan jelas pada setiap tahap.
Kerangka kerja ini merupakan Langkah-langkah yang diambil untuk
menyelesaikan masalah. Berdasarkan laporan akhir yang dihasilkan
penulis membuat kerangka sebagai berikut :

Tabel 2.2 Kerangka Pemikiran

Masalah

Masalah yang disebabkan yaitu bagaimana mengimplemtasikan


Algoritma Dijkstra pada Sales Tracking

Tujuan
Mengimplementasikan Algoritma Dijkstra pada kasus Sales Tracking

Eksperimen Penelitian

Data Metode

Sales Tracking Perusahaan XYZ Algoritma Dijkstra

Hasil

Diharapkan hasil dari penelitian dapat mengetahui kinerja Algoritma


Dijkstra pada kasus Sales Tracking

Manfaat

Penelitian ini diharapkan dapat membuktikan Algoritma Dijkstra dan dapat


membantu Sales ketika menggunakan Sales Tracking
BAB III
METODE PENELITIAN

Penelitian ini memiliki tujuan untuk mengimplementasikan


Algoritma Dijkstra pada kasus Sales Tracking. Impelementasi Algoritma
Djikstra ini akan mengetahui jarak antar titik pengantaran. Pada penelitian
ini penerapan algoritma djikstra akan diterapkan dalam sebuah website
Sales Tracking yang menggunakan Bahasa pemrograman PHP. Penelitian
ini menekankan beberapa hal, seperti :

1. Pengumpulan Data
2. Rancangan Aplikasi
3. Metode Yang Diusulkan
4. Pengujian Metode

3.1 Teknik Pengumpulan Data


Data, yang didefinisikan sebagai data yang telah diolah, dapat
diperoleh dari berbagai sumber dan cara. Data sekunder adalah data yang
tidak didapatkan secara langsung, biasanya dari orang lain atau dokumen.
Data primer adalah data yang dikumpulkan dan diolah sendiri oleh peneliti
dari sumber datanya. Penelitian yang dilakukan mengumpulkan data
sekunder

Tabel 3.1 Data Toko

No Nama Toko
1 Pasar Bulu
2 Toko Bandeng Juwana
3 Toko Poncol
4 Toko Randusari
3.2 Perancangan Aplikasi
Perancangan aplikasi mencakup alur proses seluruh tahap untuk
menemukan jalan terdekat ke museum. Pada tahap pertama, Anda harus
menentukan titik awal, tujuan, dan proses pencarian, Anda harus
menganalisa rute untuk menemukan rute yang paling efektif (Dijkstra)..

Gambar 3.1 Rancangan Aplikasi

3.3 Metode Yang Diusulkan


Pada penelitian ini menggunakan Algoritma Djikatra sebagai
penentu jalur terpendek. Penentuan jalur terpendek pada algortima
djikstra membutuhkan beberapa data antara lain, data asal, data akhir,
dan proses pengambilan data antara node dan jarak. Sebuah grafik (G)
dapat digambarkan secara matematis dengan persamaan G = {V. E},
yang menunjukkan bahwa sebuah grafik (G) diwakili oleh satu set
simpul (Vertex = V) dan koleksi tepi (E).
Tabel 3.2 Keterangan Entitas

Entitas Keterangan
Titik Asal Node yang dipilih sebagi vostex
asal
Titik Tujuan Node yang dipilih sebagai vortex
akhir
Jalur Shortest Path Hasil perhitungan shortest path

Selain itu, algoritma Djikstra dapat menyelesaikan masalah


mencari lintasan terpendek dengan satu sumber pada graf yang tidak
memiliki cost sisi negatif. Ini menciptakan alur lintasan yang paling
singkat. Metode routing algoritma Djikstra sangat populer (Aprilianingsih,
Primananda, & Suharsono, 2017). Tujuan algoritma ini adalah untuk
menemukan jalur terpendek dengan bobot terkecil yang menghubungkan
dua titik. Misalkan jalan adalah garis dan bangunan dan monumen adalah
titik, algoritma Djikstra akan menghitung setiap garis dengan bobot
terkecil. Martin Nugroho Parapat dan Deddy Kusbianto pada tahun 2017.
Gambar 3.2 Alur Algoritma Dijkstra
Tahapan berikut dapat digunakan untuk menyelesaikan fase
algoritma Djikstra ini

1. Tentukan titik awal yang akan menjadi node pertama.


Kemudian, satu demi satu, tentukan bobot jarak antara node
awal dan node terdekat. Djikstra akan melakukan developing
untuk mencari bobot terkecil dari satu node ke node lainnya,
dan kemudian satu demi satu ke node berikutnya.
2. Tentukan berat, atau jarak antara masing-masing node.
Kemudian, berikan nilai 0 pada node pertama dan nilai tak
terhingga pada node lainnya.
3. Tentukan node awal sebagai "node keberangkatan" dan
tetapkan semua node yang belum dilalui.
4. Pertimbangkan jarak antara awal keberangkatan dan node lain
yang paling dekat dengan keberangkatan yang belum dilalui
pada node keberangkatan. Jika jarak lebih kecil dari jarak yang
diperhitungkan sebelumnya, hapus data lama dan simpan ulang
data yang lebih pendek.

3.4 Pengujian Model


Dalam proses penelitian ini, diperlukan berbagai macam pengujian
yang bertujuan memastikan bahwa sistem pada aplikasi yang dibuat telah
berjalan sesuai dengan fungsionalitas yang diharapkan. Pada proses
pengujian ini dilakukan dengan kritis untuk menjamin kualitas dari
perangkat lunak yang dibangun. Proses pengujian dilakukan dengan
memakai metode black box testing.

Pemilihan metode ini dikarenakan memiliki sifat yang


mengacu terkait dengan pengujian fungsionalitas dari sistem aplikasi
yang telah dibangun. Pengujian yang menerapkan metode black box
testing bertujuan untuk melakukan pengujian fungsionalitas pada
sistem aplikasi yang dibangun untuk meninjau sudahkah sistem
berjalan sesuai yang diharapkan. Sistem aplikasi diuji dengan
melakukan inputan pada aplikasi untuk dipastikan bahwa sistem
mengeluarkan output sesuai dengan yang diinginkan. Berikut adalah
aspek pengujian pada black box testing:
Tabel 3.3 Rancangan Uji Black Box

Kelas Uji Butir Uji Pengujian


Login Hak akses penggunaan program. Black
box
Kelas Uji Butir Uji Pengujian
Pengelolaan Menampilkan informasi datar produk Black
Data Toko beserta kategori. box

Pengolahan Menambahkan, mengedit, dan Black


Data Node menyimpan produk. box
Pengelolaan Menampilkan daftar produk yang Black
Data Graph ditambakan ke dalam keranjang. box

Tambah Menampilkan data akun user. Black


User box
Halaman Menampilkam Hasil perhitungan Black
Perhitungan box
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN
4.1 Pengumpulan Data
Pengumpulan data pada penelitian dilakukan dengann cara kolektif
menggunakan bantuan google maps sebagai sumber data utama. Data
didapatkan dari titik-titik toko yang telah terdaftar pada google maps.
Penentuan lokasi ini berdasarkan data diambil dari beberapa contoh titik
pengantara sesuai dengan google maps. Setelah penentuan ttitik-titik toko
atau pengantaran, maka ditentukan titik lokasinya berdasarkan latitude dan
longitude untuk dimasukkan pada database program seperti pada gambar
berikut. Berikut adalah salah satu contoh data yang digunakan pada sistem
yang akan dibuat.

Gambar 4.1 Data Toko


4.2 Perancangan Aplikasi
Setelah melakukan pengumpulan data tahap selanjutnya adalah
melakukan perncangan sistem. Penelitian ini menggunakan Bahasa
pemrograman PHP untuk membuat sistem sales tracking dan
menggunakan MySQL sebagai penyimpanan data. Membuat rancangan
sistem pada penelitian ini menggunakan UML yaitu dengan UseCase
Diagram dan Activity Diagram yang akan digunakan sebagai
penggambaran alur jalannya sistem dan Class Diagram yang digunakan
sebagai penggambaran database yang diterapkan pada sistem
4.2.1 Usecase Diagram
Usecase diagram menunjukkan kebutuhan user. Ini adalah
hasil dari rancangan yang didasarkan pada kebutuhan user yang
diharapkan dari sistem yang dibuat. Usecase diagram
menampilkan peran actor yaitu user yang akan melakukan tindakan
didalam sitem. User adalah actor yang akan mengelola data yang
ada pada sistem. Adapun gambaran usecase diagram untuk
kebutuhan sistem dapat dilihat pada gambar dibawah.

Gambar 3.2 Use Case Diagram


Dari gambaran usecase diagram diatas, berikut adalah
penjelasan mengenai usecase diagram sistem yang akan dibuat.

Tabel 4.1 Keterangan Use Case Diagram

No Usecase deskripsi aktor


1 Login Dapat melakukan login ke User
website
2 Dashboar Dapat menampilkan halaman User
awal web
3 Data Toko Dapat mengelola data toko dari User
mulai menambah, mengubah
serta menghapus data toko
4 Data Node Dapat mengelola data node User
dari mulai menambah,
mengubah serta menghapus
data node
5 Data Graph Dapat mengelola data graph User
dari mulai menambah,
mengubah serta menghapus
data graph
6 Pencarian Dapat melakukan pencarian User
Rute rute dan menampilkan
perhitungan jarak
7 Tentang Dapat menampilkan informasi User
Aplikasi dari web yang dibuat

4.2.2 Activity Diagram


4.2.2.1Login
Diagram aktivitas login menunjukkan bagaimana
ketika seseorang membuka web, halaman pertama yang
muncul adalah halaman login dan formulir pendaftaran.
Sistem memverifikasi data dan menampilkan halaman
utama jika data benar, tetapi jika data salah, halaman login
akan dikembalikan.
Gambar 4.3 Activity Diagram Login
4.2.2.2Data Toko
Diagram activity data toko menggambarkan user
dapat mengakses data toko dimulai dengan memilih menu
data toko, kemudian akan muncul table data toko yang
sudah ada. Pada halam ini dapat dilakukan CRUD untuk
menambah, edit serta menghapus data toko pada halaman
web.
Gambar 4.4 Activity Diagram Data Toko
4.2.2.3Data Node
Activity diagram data node menggambarkan user
dapat mengakses halaman data node yang berisi titik letak
toko yang akan dijadikan sebagai acuan perhitungan jarak.
Pada halaman ini user dapat melakukan CRUD untuk
menambah, edit serta menghapus titik toko pada halaman
web.
Gambar 4.5 Activity Diagram Data Node
4.2.2.4Data Graph
Activity diagram data graph menggambarkan user
dapat melakukan pengelolaan data graph yang berupa
gambaran rute antar toko yang akan dikunjungi. User dapat
melakukan CRUD yaitu menambah, edit dan hapus data
graph yang telah dibuat.
Gambar 4.6 Activity Diagram Data Graph
4.2.2.5Perhitungan
Diagram activity perhitungan adalah halaman
Dimana user dapat melihat hasil perhitungan rute serta
jarak dari toko yang akan dituju melalui data yang
dimasukkan sebelumnya.

Gambar 4.7 Activity Diagram Perhitungan


4.2.2.6Logout
Untuk melakukan logout, diawali dengan user
memilih bagian profile dan kemudian akan menampilkan
pilihan edit profil dan logout. Ketika user memilih logout,
maka secara otomatis sistem akan keluar dan kembali
menampilkan halaman awal yaitu halaman login.

Gambar 4.8 Activity Diagram Logout


4.2.3 Class Diagram
Class diagram dirancang untuk memperlihatkan hubungan
antar kelas yang ada di dalam sistem yang nantinya akan saling
bekerja sama. Class diagram pada sistem yang dirancang ini terdiri
dari table user, table node dan table graph yang nantinya akan
menampung data yang masuk pada sistem.
Gambar 4.9 Diagram Class

4.3 Implementasi Algoritma Djikstra


Setelah tahap perhitungan sebelumnya, maka untuk langkah
selanjutnya dilakukan implementasi hasil ke dalam code program unruk
nantinya dijadikan sebuah website agar dapat diketahui sejauh mana hasil
yang dapat dikembangkang. Berikut adalah code program Algoritma
DJikstra menggunakan Bahasa pemrograman PHP :

1. Pengaturan Node dan Graph


Dimulai dengan menentukan titik lokasi pelanggan dan rute
jalan, proses pembuatan node dilanjutkan dengan membuat graf yang
menghubungkan simpul yang telah dibuat. Simpul menunjukkan
lokasi pelanggan, dan panjang jalan antara simpul ditunjukkan sebagai
tanda persimpangan jalan. Sistem akan menghitung berat setiap graf
berdasarkan jarak antar simpul. Source code berikut digunakan untuk
membuat grafik pada sistem.
2. Penghitungan rute menggunakan algoritma dijkstra
Untuk mencari rute terdekat, pengguna harus menentukan
posisi awal dan tujuan mereka. Algoritma Djikstra kemudian
menghitung rute yang akan ditempuh dengan jarak terkecil dari
posisi awal dan tujuan. Potongan kode sumber untuk perhitungan
algoritma Djikstra pada sistem dapat ditemukan di sini.
Matrix dibuat dengan menggunakan fungsi di atas. Matrix ini
memiliki index dari node awal ke node akhir yang berasal dari
grafname bersama dengan nilai jarak antar node. Fungsi ini
kemudian merupakan fungsi utama di mana algoritma akan
dijalankan.
Dalam fungsi pengulangan, ketika jarak tidak sama dengan
INF, jarak saat ini diperbarui jika jarak node saat ini ditambah
dengan jarak yang baru lebih kecil dari jarak yang lama. Jika lokasi
node saat ini sama dengan lokasi akhir, proses pencarian dihentikan.
Setelah mengecek semua node, sebuah fungsi dijalankan
untuk memeriksa suksesor atau membuka semua node yang terkait
dengan node terbaik.
Untuk mendapatkan jalur atau jalan yang tersedia untuk
dilewati dari lokasi awal ke lokasi akhir, gunakan fungsi seperti yang
ditunjukkan dalam potongan source code berikut.

Dan untuk mendapatkan jarak dari lokasi awal ke lokasi akhir


digunakan fungsi seperti potongan source code dibawah ini.

Perancangan program mengacu pada beberapa desain pada


sistem-sistem sebelumnya. Pada tahapan perancangan program
digunakan MySQL untuk pembuatan database dan menggunakan
Bahasa pemrograman php untuk penyusunan model program
berupa website.

a. Tampilan Halaman Awal

Gambar 4.10 Halaman Login

Halaman awal yang akan muncul pertama kali ketika


membuka website adalah tampilan halaman login yang bertujuan
untuk menjaga keamanan data dan dapat digunakan untuk
membatasi siapa saja yang dapat mengakses website tersebut.
Gambar 4.11 Halaman Dashboard
Setelah berhasil masuk maka yang akan muncul adalah
halaman beranda yang menampilkan jumlah toko yang telah
terdaftar pada website tersebut.

b. Tampilan Informasi Data Toko

Gambar 4.12 Halaman Data Toko


Tampilan halaman daftar toko ini digunakan untuk mendata
toko-toko yang dijadikan sebagi titik pengantaran dan juga titik
penjemputan. Selain itu pada halaman data toko dapat dilakukan
penambahan dan juga edit data toko apabila ingin menambah
maupun merubah data toko seperti berikut.

Gambar 4.13 Halaman Tambah Data Toko


c. Tampilan Titik Toko

Pada halaman ini menampilkan letak atau titik toko yang


telah masuk pada daftar sesuai dengan peta lokasi.

Gambar 4.14 Halaman Titik Node


Pada halaman ini dilakukan penambahan data titik toko
yang akan digunakan sebagai acuan perhitungan jalur. Pada
halaman tersebut juga dapat dilakukan penambahan titik toko serta
dapat melakukan edit data titk toko apabila dirasa ada kesalahan.

d. Tampilan Graph Jalur

Halaman graph jalur ini digunakan sebagai tahap awal


perhitungan rute tempuh, karena pada halaman ini akan
menampilkan graph jalur atau gambaran rute tempuh yang
kemudian akan melakukan perhitungan pada titik-titik yang akan
dilewati. Karena pada halaman ini dapat digunakan untuk
mengetahui jarak antar titik toko.

Gambar 4.15 Halaman Graph Jalur


Pada halaman ini juga dapat melakukan penambahan data
atau pembuatan graph rute tempuh baru.

e. Tampilan Perhitungan

Halaman perhitungan merupakan tahapan akhir dari


pencaria rute pada website ini. Pada halaman ini dilakukan
perhitungan jarak rute pengantaran yang diinginkan.
Gambar 4.16 Halaman Perhitungan
f. Database

Tampilan database berikut memperlihatkan tabel database


yang digunakan untuk menyimpan keseluruhan data yang masuk
pada website.

Gambar 4.17 Halaman Database


4.3 Perhitungan Algoritma Djikstra
Penelitian ini menggunakan perhitungan dengan algoritma
Dijkstra. Dari data yang dimasukkan ke dalam sistem maka didapatkan
beberapa node yaitu 1, 2, 3, 4, 5, 6. Dari sampel node tersebut didapatkan
sebuah graf sederhana yang mencakup node-node jalur yang mengarah ke
titik tujuan. Berikut adalah graf yang didapatkan.

Gambar 4.18 Graph Jalur


Dari sampel graf tersebut, selanjutnya akan dilakukan perhitungan
oleh sistem menggunakan algoritma Dijkstra. Berikut adalah Langkah-
langkah perhitungan algoritma Dijkstra.

1. Pertama terdiri dari node awal, node tujuan, dan graf. Dalam
contoh ini, node awal adalah titik 1, node tujuan adalah titik 6,
dan graf adalah graf sederhana terdiri dari node 1, 2, 3, 4, 5,
dan 6.
2. Selanjutnya, menetapkan node pertama sebagai status
ditemukan dan kemudian dikunjungi. Titik 1 ditetapkan sebagai
node dengan status ini, dan semua node lainnya ditetapkan
dengan status belum ditemukan dan belum dikunjungi.

Tabel 4.2 Perhitungan 1

Node Status Bobot Rute


1 Dikunjungi 0 1
2 Belum Ditemukan - -
3 Belum Ditemukan - -
4 Belum Ditemukan - -
5 Belum Ditemukan - -
6 Belum Ditemukan - -

3. Lengkah berikutnya dilakukan pencarian setiap node yang


dapat dikunjungi secara langsung dari node yang sedang
dikunjungi. Karena node 1 yang sedang dikunjungi, maka
dilakukan pencarian terhadap setiap node yang dapat
dikunjungi cesara langsung dari node 1. Pada kasus ini terdapat
node 5 dengan bobot 0,91. bobot tersebut adalah bobot total
yang dapat dicapai dari node awal menuju node tersebut
melalui rute yang sedang ditelusuri.
4. Langkah berikutnya yaitu :
- Status node yang ditemukan pada langlah kedua
diubah menjadi ditemukan dalam hal node
tersebut belum ditemukan.
- Apabila node sudah ditemukan sebelumnya,
bobotnya diubah, menggunakan bobot yang lebih
rendah.
Saat ini, node yang didapatkan adalah node 5, node tersebut
belum pernah ditemukan, sehingga node tersebut berubah
statusnya menjadi ditemukan.

Tabel 4.3 Perhitungan 2

Node Status Bobot Rute


1 Dikunjungi 0 1
2 Belum Ditemukan - -
3 Belum Ditemukan - -
4 Belum Ditemukan - -
5 Ditemukan 0,91 1-5
6 Belum Ditemukan - -

5. Selanjutnya, node yang memiliki bobot terkecil dari semua


node yang ada pada status ditemukan dicari. Karena pada
pencarian tersebut hanya menemukan satu node yang dapat
dkunjungi, maka node 5 berubah statusnya menjadi
dikunjungi.

Tabel 4.4 Perhitungan 3

Node Status Bobot Rute


1 Dikunjungi 0 1
2 Belum Ditemukan - -
3 Belum Ditemukan - -
4 Belum Ditemukan - -
5 Dikunjungi 0,91 1-5
6 Belum Ditemukan - -

6. Untuk tahapan selanjutnya dilakukan pengulangan langkah


kedua dan langkah keempat, yaitu mencari node yang
belum ditemukan kemudian melakukan pencarian bobot
terkecil untuk mengubah status node menjadi dikunjungi.
Lakukan pengulangan tahapan tersebut hingga semua titik
memiliki status dikunjungi untuk mencapai node terakhir
atau node tujuan.

Tabel 4.5 Perhitungan 4

Node Status Bobot Rute


1 Dikunjungi 0 1
2 Dikunjungi 1,72 1-5-2
3 Dikunjungi 5,53 1-5-4-3
4 Dikunjungi 3,48 1-5-2-4
5 Dikunjungi 0,91 1-5
6 Dikunjungi 7,29 1-5-2-4-3-6

Hasil perhitungan diatas merupakan hasil pencarian rute sesuai


dengan urutan rute pengantaran pada setiap titik. Dari hasil perhitungan
manual diatas maka selanjutnya akan dicocokan dengan hasil perhitungan
sistem yang telah dibuat untuk mengetahui apakah algoritma Djikstra
berjalan dengan baik atau tidak berikut adalah hasil perhitungan dari
sistem.

Gambar 4.19 Hasil Perhitungan


4.4 Hasil Pengujian
Dalam penelitian ini melakukan pengujian untuk mendapatkan
hasil dengan menggunakan pengujian BlaxBox sebagai pengujian terhadap
uji coba kerja sistem.

Tabel 4.6 Pengujian Black Box

No Skenario Hasil yang Hasil kesimpulan


diharapkan pengujian
1. Login Admin dapat Sesuai yang Valid
melakukan login akun diharapkan
yang telah terdaftar.
2. Tambah Admin dapat Sesuai yang Valid
Data Toko melakukan diharapkan
penambahan data toko,
3. Edit Data Admin dapat Sesuai yang Valid
Toko melakukan edit data diharapkan
toko yang sebelumnya
dibuat.
4. Tambah Admin dapat Sesuai yang Valid
Titik Node melakukan diharapkan
penambahan data node.
5. Edit Titik Admin dapat Sesuai yang Valid
Node melakukan edit data diharapkan
node yang sebelumnya
dibuat.
6. Tambah Admin dapat Sesuai yang Valid
Graph melakukan diharapkan
penambahan graph
baru.
7. Edit Graph Admin dapat Sesuai yang Valid
melakukan edit data diharapkan
graph yang
sebelumnya dibuat.
8. Tambah Admin dapat Sesuai yang Valid
User melakukan diharapkan
penambahan dsts user
baru.
9. Edit User Admin dapat Sesuai yang Valid
melakukan edit data diharapkan
user yang sebelumnya
dibuat.
10. perhitungan Dapat melakukan Sesuai yang Valid
perhitungan jarak diharapkan
sesuai data yang telah
dimasukkan.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan penelitian yang telah dilakukan, terdapat bebrapa
kesimpulan yaitu :

1. Algoritma djikstra dapat digunakan untuk menentukan rute


tujuan serta dapat melakukan perhitungan jarak sesuai dengan
data yang dimasukkan.
2. Algoritma djikstra dilakukan dengan cara menentukan node
awal, node akhir dan keterangan nilai jarak yang digunakan
sebagi pembanding antar rute.
3. Algoritma djikstra dapat berjalan lancar sesuai dengan
rancangan yang teah dibuat, dibuktikan dengan pengujian black
box yang semuanya berjalan dengan baik sesuai skenario.

5.2 Saran
Berdasarkan kesimpulan yang telah diambil, didapatkan beberapa
saran untuk mengembangkan sistem lebih lanjut, diantaranya :

1. Penelitian selanjutnya dharapkan dapat menambahkan serta


mengembangkan fitur- fitur tambahan yang dibutuhkan.
2. Sistem akan lebih baik apabila dapat dikembangkan menjadi
berbasis mobile
3. Diharapkan penelitian selanjutnya dapat memperluas
jangkauan pengantaran sehingga dapat digunakan di berbagai
daerah.
DAFTAR PUSTAKA

Adinda, P. R. (2022). Aplikasi Algoritma Djikstra Untuk Penentuan Jalan


Terpendek.
Afero, Y. (2021). Penerapan Kasus Algoritma Ascent Hill Climbing Dalam
Permainan Puzzle 8. Jurnal Ilmiah Elektronika dan Komputer.
Arga, E. S., Firmansyah, G., Imam, K., & Fauzi, M. (2021, September 2).
Penerapan Algoritma Dijkstra Pada Pencarian Jalur Terpendek.
Baharuddin, I., Purwanto, A. J., Budiman, T. R., & Fauzi, M. (2021).
Implementasi Algoritma Dijkstra Untuk Menentukan Jalur Terpendek
Dalam Distribusi Barang. Jurnal Ilmiah Pendidikan Matematika.
Bunaen, M. C., Pratiwi, H., & Riti, Y. F. (2022). Penerapan Algoritma Dijkstra
Untuk Menentukan Rute Terpendek Dari Pusat Kota Surabaya Ke Tempat
Bersejarah. Jurnal Teknologi Dan Sistem Informasi Bisnis.
Cantona, A., Fauziah, & Winarsih. (2020). Implementasi Algoritma Dijkstra Pada
Pencarian Rute Terpendek ke Museum di Jakarta`. Jurnal Teknologi dan
Manajemen Informatika, 27-34.
Dinata, R. K., Akbar, H., & Hasdyna, N. (2020). Algoritma K-Nearest Neighbor
dengan Euclidean Distance dan Manhattan Distance untuk Klasifikasi
Transportasi Bus. ILKOM Jurnal Ilmiah, 104-111.
Ericson, & Mulyana, T. M. (2022). Implementasi Algoritma Freeman Chain Code
dan Algoritma K-Nearest Neighbor Dalam Pengenalan Huruf Mandarin.
Jurnal Riset Komputer, 988-995.
Miftahuddin, Y., Umaroh, S., & Karim, F. R. (2020). Perbandingan Metode
Perhitungan Jarak Euclidean, Haversine, dan Manhattan Dalam Penentuan
Posisi Karyawan ( Studi Kasus : Institut Teknologi Bandung ). Jurnal
Tekno Insentif, 69-77.
Muharrom, M. (2020). Implementasi Algoritma Dijkstra Dalam Penentuan Jalur
Terpendek Studi Kasus Jarak Tempat Kuliah Terdekat. Indonesia Journal
of Business Intelligence.
Nishom, M. (2019). Perbandingan Akurasi Euclidean Distance, Minkowski
Distance, dan Manhattan Distance pada Algoritma K-Means Clustering
Berbasis Chi-Square. Jurnal Pengembangan IT (JPIT).
Paunsyah, H., Mubarok, H., & Shofa, R. N. (2019). Penentuan Jalur Terpendek
Menggunakan Google Maps API Pada Sistem Informasi Geografis (GIS)
Panti Sosial di Kota Tasikmalaya. Siliwangi: [Link].
Prasetyo, A. C., Arnandi, M. P., Hudnanto, H. S., & Setiaji, B. (2019).
Perbandingan Algoritma Astar dan Dijkistra Dalam Menentukan Rute
Terdekat. Jurnal Ilmiah SISFOTENIKA.
Pribadi, W. W., Yunus, A., & Wiguna, A. S. (2022). Perbandingan Metode K-
Means Euclidean Distance Dan Manhattan Distance Pada Penentuan
Zonasi Covid-19 Di Kabupaten Malang. Jurnal Mahasiswa Teknik
Informatika.
Rahutomo, F., Putra, Y. P., & Ali, M. H. (2019). Implementasi Manhattan
Distance dan Dice Similiarity pada Sistem Ujian Esai Daring Berbahasa
Indonesia. Malang: Seminar Infomartika Aplikatif.
Rumondor, A. G., Sentinuwo, S. R., & Sambul, A. M. (2019). Perancangan Jalur
Terpendek Evakuasi Bencana di Kawasan Boulevard Manado
Menggunakan Algoritma Dijkstra. Jurnal Teknik Informatika.
Saleh, A., Sibero, A. F., & Manurung, I. H. (2021). Pengenalan Tanaman Herbal
Menggunakan Algoritma Learning Vector Quantization Dan Manhattan
Distance. Jurnal TEKESNOS.
Setiawan , A. (2022). Perbandingan Penggunaan Jarak Manhattan, Jarak Euclid,
dan Jarak Minkowski dalam Klasifikasi Menggunakan Metode KNN pada
Data Iris. Jurnal Sains dan Edukasi Sains, 28-37\.
Sudibyo, N. A., Setyawan, P. E., & Rahmad Hidayat, Y. P. (2020). Implementasi
Algoritma Dijkstra Dalam Pencarian Rute Terpendek Tempat Wisata Di
Kabupaten Klaten. Riemann, 1-9.
Sumaryo, R. Y., Harsadi, P., & Nugroho, D. (2020). Implementasi Algoritma
Dijkstra Dan Metode Haversine Pada Penentuan Jalur Terpendek
Pendakian
Widodo, S., Brawijaya, H., & Samudi. (2021). Clustering Kanker Serviks
Berdasarkan Perbandingan Euclidean dan Manhattan Menggunakan
Metode K-Means. Jurnal Media Informatika Budidarma, 687-694.
Yushar, I., Purnama, I. P., Sutardi, & Aksara, L. B. (2019). Pengenalan Wajah
Berbasis Perhitungan Jarak Fitur LBP Menggunakan Euclidean,
Manhattan, Chi Square Distance. Kendari: Seminar Nasional APTIKOM
(SEMNASTIK).
Yusuf, M. S., Az-Zahra, H. M., & Apriyanti, D. H. (2019). Implementasi
Algoritma Dijkstra Dalam Menentukan Jarak Terdekat Dari Lokasi
Pengguna Ke Tanman Yang Di Tuju Berbasis Android (Studi Kasus di
Kebun Raya Purwodadi). Jurnal Pengembangan Teknologi Informasi dan
Ilmu Komputer, 1779-1787.

Anda mungkin juga menyukai