• Tidak ada hasil yang ditemukan

Penentuan Rute Terpendek Untuk Order Picking Pada Hypermarket Menggunakan Algoritma A* (A Star)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penentuan Rute Terpendek Untuk Order Picking Pada Hypermarket Menggunakan Algoritma A* (A Star)"

Copied!
70
0
0

Teks penuh

(1)

PENENTUAN RUTE TERPENDEK UNTUK

ORDER PICKING

PADA

HYPERMARKET

MENGGUNAKAN

ALGORITMA A* (A STAR)

SKRIPSI

DENNY PRATAMA

091402077

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PENENTUAN RUTE TERPENDEK UNTUK

ORDER PICKING

PADA

HYPERMARKET

MENGGUNAKAN

ALGORITMA A* (A STAR)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Teknologi Informasi

DENNY PRATAMA 091402077

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENENTUAN RUTE TERPENDEK UNTUK

ORDER PICKING PADA HYPERMARKET MENGGUNAKAN ALGORITMA A* (A STAR)

Kategori : SKRIPSI

Nama : DENNY PRATAMA

Nomor Induk Mahasiswa : 091402077

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di Medan, Juli 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010

Sajadin Sembiring, S.Si.,M.Comp.Sc NIP.

Diketahui/Disetujui oleh

Program Studi Teknologi Informasi Ketua,

(4)

PERNYATAAN

PENENTUAN RUTE TERPENDEK UNTUK ORDER PICKING PADA HYPERMARKET MENGGUNAKAN ALGORITMA A* (A STAR)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2014

(5)

UCAPAN TERIMA KASIH

Puji dan syukur penulis panjatkan kepada Allah SWT Yang Maha Pengasih dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual, Ayahanda H. Edi Saputra dan Ibunda Hj. Atminingsih yang selalu sabar dalam mendidik dan membesarkan penulis. Untuk adik penulis Indra Maulana dan Amelia S Utami yang selalu memberikan semangat kepada penulis.

2. Bapak Sajadin Sembiring, S.Si.,M.Comp.Sc dan Bapak M. Anggia Muchtar, ST.,MM.IT selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Ibu Dr. Erna Budhiarti Nababan, M.IT dan Bapak Dani Gunawan, ST.,MT yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.

5. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi.

6. Carrefour Plaza Medan Fair telah membantu dan membimbing penulis dalam melakukan riset.

7. Seluruh sahabat terbaik penulis yang selalu memberikan dukungan, Ahmad Najam, Wildan Afifi, Satrya Prayudi, Mahathir Febrian, Darma Warista, Fachriza Fahmi, Andre H Lubis, M Taufiqul Hadi, Anthea Ria M, Reyza Mirwanda, Suhil, Boho, Yogi, Dedek, Razky, Ranap, Donny, Erfahd, Adha, Mulki, Yudhi, Muslim, Syarah, Mitha, Ari Rifki, Antoni, Lili, Bang Aulia, Bang Ridho, Bang Irwanta, Bang Bayu serta seluruh angkatan 09, teman-teman SRC, teman-teman GG, teman-teman Telkom, teman-teman PIM, serta teman-teman seluruh angkatan mahasiswa USU lainnya yang tidak dapat penulis sebutkan satu persatu.

(6)

ABSTRAK

Efesiensi waktu sangat dibutuhkan dalam perjalan pengambilan barang yang berada didalam sebuah hypermarket. Banyak waktu yang terbuang dalam penenetuan arah pengambilan barang dan lamanya proses pelatihan kerja untuk pegawai tentang tata letak barang dalam proses order picking pada hypermarket menjadi hal yang harus diselesaikan. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menerapkan pencarian lintasan terpendek dalam proses pencarian barang. Algoritma yang digunakan untuk menentukan jalur terpendek yang akan dilalui pada penelitian ini adalah algoritma A*. Algoritma ini mempunyai fungsi heuristik dalam membantu pencarian. Untuk mendapatkan nilai optimum global bergantung pada kinerja fungsi heuristik. Metode yang diperkenalkan sebagai langkah untuk mendapatkan nilai fungsi heuristik adalah dengan menggunakan jarak Manhattan. Berdasarkan pengujian yang telah dilakukan, algoritma A* dapat menghasilkan jalur yang memiliki bobot dengan jumlah terkecil yang merupakan hasil terpendek serta memiliki komputasi waktu yang cepat.

(7)

DETERMINATION OF SHORTEST ROUTE FOR ORDER PICKING IN HYPERMARKET BY USING A * (A STAR) ALGORITHM

ABSTRACT

Time eficiency is needed for getting several goods that placed in hypermarket. There are so many time have wasted to set the direction for getting several goods and also to train employee for taking a place in order picking process base on the layout of the goods in hypermarket be things to be resolved. To resolve this problem, it could be resolved by implementing the shortest path searching in goods search process. Algorithm that will be used to determine the shortest path to be traversed on this study is an A* Algorithm. This algorithm has a heuristic function in searching process. To obtain the global optimum value depends on the performance of the heuristic function. The method is introduced as a step to get the value of the heuristic function is to use the Manhattan distance. Based on the testing that has been done, the A * algorithm can produce a path that has a small amount of weight with the result of computing the shortest path and has a fast time.

(8)

DAFTAR ISI

2.7. Pemodelan dan Unified Modeling Language (UML)... 13

2.8. Penelitian Terdahulu ... 16

BAB 3 ANALISIS DAN PERANCANGAN ... 17

3.1. Analisis Sistem ... 17

3.1.1 Analisis Masalah ... 17

(9)

viii

3.1.2.1 Kebutuhan Fungsional ... 18

3.1.2.2 Kebutuhan Nonfungsional ... 19

3.2. Penerapan Algoritma A* ... 19

3.3. Perancangan Graf ... 21

3.4. Use Case Diagram ... 24

3.5. Flowchart ... 26

3.5.1 Flowchart Sistem ... 26

3.5.2 Flowchart A* ... 28

3.6. Perancangan Aplikasi dan Antarmuka Pemakai ... 30

3.6.1 Perancangan Database ... 30

3.6.2 Perancangan Relasi Antar Tabel ... 32

3.6.3 Rancangan Home ... 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM... 35

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak ... 35

4.2. Antarmuka Pengguna (User Interface) ... 36

4.3. Pengujian Sistem Secara Menyeluruh ... 40

BAB 5 KESIMPULAN DAN SARAN ... 45

5.1. Kesimpulan ... 45

5.2. Saran ... 45

DAFTAR PUSTAKA ... 46

(10)

DAFTAR TABEL

Hal.

Tabel 2.1 Tabel Penelitian Terdahulu 16

Tabel 3.1 Tabel tbl_path 30

Tabel 3.2 Tabel tbl_perjalanan 31

Tabel 3.3 Tabel tbl_posisi 31

Tabel 3.4 Tabel tbl_produk 32

Tabel 3.5 Tabel tbl_rak 32

Tabel 4.1 Tabel Rencana Pengujian 36

(11)

DAFTAR GAMBAR

Hal.

Gambar 2.1 Contoh Graf Sederhana 6

Gambar 2.2 Contoh Graf Ganda 6

Gambar 2.3 Contoh Graf Semu 7

Gambar 2.4 Contoh Graf Berarah 7

Gambar 2.5 Contoh Graf Tidak Berarah 8

Gambar 2.6 Contoh Graf Berhingga 8

Gambar 2.7 Contoh Graf Tidak Berhingga 9

Gambar 2.8 Contoh Graf Tidak Berbobot 9

Gambar 2.9 Contoh Graf Berbobot 9

Gambar 3.1 Diagram Fishbone 18

Gambar 3.2 Proses Pencarian Algoritma A* 20

Gambar 3.3 Potongan dari Bidang Peta yang diperoleh dari Carrefour 22

Gambar 3.4 Lintasan dan Koordinat Peta 22

Gambar 3.5 Peta yang telah dilakukan Proses Remapping 23

Gambar 3.6 Legenda Peta 23

Gambar 3.7 Diagram Use Case untuk Pencarian Posisi Barang 25

Gambar 3.8 Flowchart Sistem 27

Gambar 3.9 Flowchart A* 29

Gambar 3.10 Relasi Database 33

Gambar 3.11 Rancangan Home 34

Gambar 4.1 Tampilan Halaman Home Sebelum dilakukan Pencarian 37

Gambar 4.2 Tampilan Kolom Input 37

Gambar 4.3 Tampilan Kolom Keterangan Hasil Pencarian 38 Gambar 4.4 Tampilan Halaman Home Sesudah dilakukan Pencarian 39

Gambar 4.5 Tampilan Menu Print 39

Gambar 4.6 Sampel Data Produk 41

Gambar 4.7 Sampel Relasi vertex (path) dalam Database 41

(12)

Gambar 4.9 Hasil Pencarian untuk Sampel 1 43

(13)

ABSTRAK

Efesiensi waktu sangat dibutuhkan dalam perjalan pengambilan barang yang berada didalam sebuah hypermarket. Banyak waktu yang terbuang dalam penenetuan arah pengambilan barang dan lamanya proses pelatihan kerja untuk pegawai tentang tata letak barang dalam proses order picking pada hypermarket menjadi hal yang harus diselesaikan. Untuk menyelesaikan permasalahan ini dapat diselesaikan dengan menerapkan pencarian lintasan terpendek dalam proses pencarian barang. Algoritma yang digunakan untuk menentukan jalur terpendek yang akan dilalui pada penelitian ini adalah algoritma A*. Algoritma ini mempunyai fungsi heuristik dalam membantu pencarian. Untuk mendapatkan nilai optimum global bergantung pada kinerja fungsi heuristik. Metode yang diperkenalkan sebagai langkah untuk mendapatkan nilai fungsi heuristik adalah dengan menggunakan jarak Manhattan. Berdasarkan pengujian yang telah dilakukan, algoritma A* dapat menghasilkan jalur yang memiliki bobot dengan jumlah terkecil yang merupakan hasil terpendek serta memiliki komputasi waktu yang cepat.

(14)

DETERMINATION OF SHORTEST ROUTE FOR ORDER PICKING IN HYPERMARKET BY USING A * (A STAR) ALGORITHM

ABSTRACT

Time eficiency is needed for getting several goods that placed in hypermarket. There are so many time have wasted to set the direction for getting several goods and also to train employee for taking a place in order picking process base on the layout of the goods in hypermarket be things to be resolved. To resolve this problem, it could be resolved by implementing the shortest path searching in goods search process. Algorithm that will be used to determine the shortest path to be traversed on this study is an A* Algorithm. This algorithm has a heuristic function in searching process. To obtain the global optimum value depends on the performance of the heuristic function. The method is introduced as a step to get the value of the heuristic function is to use the Manhattan distance. Based on the testing that has been done, the A * algorithm can produce a path that has a small amount of weight with the result of computing the shortest path and has a fast time.

(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Dunia teknologi informasi pada saat ini berkembang dengan sangat cepat, sejalan dengan cepatnya perkembangan teknologi informasi kebutuhan akan efisiensi waktu menjadi isu yang sangat penting saat ini. Dalam mencapai kualitas waktu yang optimal diperlukan manajemen yang baik dengan menerapkan konsep-konsep yang terarah.

Banyak hal yang memerlukan manajemen untuk efesiensi waktu, seperti efesiensi waktu dalam pengambilan permintaan akan barang yang berada didalam sebuah hypermarket. Order picking adalah sebuah fungsi utama pada setiap hypermarket dalam merespon kebutuhan display barang (Petersen & Schmenner, 1999). Order picking merupakan kegiatan pengambilan atau pendistribusian barang berdasarkan pesanan, dimana pada proses ini terjadi pengunjungan lokasi yang terdaftar pada pesanan (Daniels, 1998).

(16)

pengelolaan hypermarket. Untuk itu harus ada pemecahan masalah untuk meningkatkan kecepatan dan ketepatan pelayanan, khususnya alat bantu pemilihan jalur perjalanan pada order picking berbasis teknologi informasi.

Algoritma A* (A star) adalah algoritma pencarian pada graf yang mencari jalur dari suatu vertex awal ke akhir yang telah ditentukan. A* (A star) sangat populer dikalangan developer sebagai algoritma shortest path yang baik (Aini, 2010). Tentu algoritma ini menjadi alternatif dalam mempercepat proses pencarian jarak terpendek dalam penanganan kebutuhan informasi manajemen pengambilan barang yang berada di dalam hypermarket lewat pencarian posisi user dan rak penyimpanan barang.

1.2 Rumusan Masalah

Banyaknya waktu yang terbuang dalam penenetuan arah pengambilan barang dan lamanya proses pelatihan kerja untuk pegawai baru tentang tata letak barang dalam proses order picking pada hypermarket.

1.3 Batasan Masalah

Untuk mengurangi ruang lingkup terjemahan yang terlalu besar, maka batasan masalah dalam penelitian ini, yaitu:

1. Rak promosi tidak dimasukkan.

2. Representasi grafis aplikasi adalah 2-Dimensi, objek adalah rak display pada Carrefour Medan Fair berupa peta koordinat.

3. Kapasitas alat angkut dan desain rak diabaikan.

4. Tidak menggunakan data spasial lainnya, kecuali data spasial berupa peta hypermarket Carrefour Lantai I Medan Fair Jl. Jend. Gatot Subroto No 30 Medan, Indonesia 20118.

5. Tidak menggunakan data-non spasial lainnya, kecuali data non-spasial berupa informasi barang pada rak yang direpresentasikan kedalam vertex.

(17)

3

1.4 Tujuan Penelitian

Penelitian ini memiliki tujuan yaitu membantu perusahaan, khususnya operator dan troll boys dalam manajemen pegambilan barang pada hypermarket yang telah expired atau barang yang telah habis masa dislplay. Dan terutama untuk pelatihan kerja operator gudang dan troll boys.

1.5 Manfaat Penelitian

Memberikan kemudahan pada operator dan troll boys hypermarket dalam mempercepat waktu dalam proses pengambilan barang, dengan merepresentasikan penunjuk arah yang efektif lewat penentuan jarak terpendek.

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan pada penelitian ini adalah: a. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan yaitu proses pengumpulan bahan-bahan referensi yang berkaitan dengan jalur terpendek, optimasi dan algoritma A* (A Star) dari buku, artikel, paper, jurnal, makalah ataupun sumber lainnya. b. Analisis

Pada tahap ini dilakukan analisis penggunaan algoritma A* (A Star) pada penentuan jalur terpendek.

c. Perancangan

Pada tahap ini dilakukan perancangan proses jalur terpendek yang akan dilalui, seperti diagram sistem dan flowchart.

d. Implementasi

Pada tahap ini dilakukan implementasi analisis yang telah dilakukan ke dalam kode program.

e. Pengujian

(18)

f. Penyusunan Laporan

Pada tahap ini dilakukan penulisan laporan mengenai seluruh penelitian yang telah dilakukan.

1.7 Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:

Bab I : Pendahuluan

Pada bab ini pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab II : Landasan Teori

Pada bab ini berisi landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini.

Bab III : Analisis dan Perancangan

Pada bab ini analisis dan perancangan berisi metodologi penelitian yang dilakukan dalam pengimplementasian algoritma A* (A Star) untuk permasalahan dalam penentuan jarak terpendek untuk order picking pada hypermarket.

Bab IV : Implementasi dan Pengujian Sistem

Pada bab ini berisi penjelasan hasil dari pengujian algoritma A* (A Star) yang telah dilakukan dalam menyelesaikan permasalahan dalam penentuan jarak terpendek untuk order picking pada hypermarket

Bab V : Kesimpulan dan Saran

(19)

BAB 2

LANDASAN TEORI

Pada bab ini akan dibahas landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang mendasari penyelesaian permasalahan dalam penentuan jarak terpendek untuk order picking pada hypermarket dengan pengimplementasian algoritma A* (A Star).

2.1Graf

Graf adalah kumpulan titik (vertex) yang dihubungkan satu sama lain melalui sisi/busur (edges). Suatu graf G terdiri dari dua himpunan yaitu himpunan V dan himpunan E. (Zakaria, 2005)

a. Vertex : V adalah himpunan vertex yang terbatas dan tidak kosong

b. Edge (sisi/busur): E adalah himpunan busur yang menghubungkan sepasang vertex.

Vertex-vertex pada graf dapat merupakan obyek atau titik. Edge dapat menunjukkan hubungan (relasi). Notasi graf : G(V,E) artinya graf G memiliki V vertex dan E edge.

Dari penjelasan di atas graf adalah pasangan himpunan (V, E) yang dinotasikan dengan G = (V, E), V adalah himpunan titik, atau vertex dari G yaitu V= {v1 , v2 , v3 ,…, vn} dan E adalah himpunan edges, atau sisi dari G, yaitu E= {e1 , e2 ,

(20)

2.1.1 Jenis-jenis Graf

Graf dikelompokkan menurut ada tidaknya edges-nya yang paralel atau loop, jumlah vertexnya, berdasarkan ada tidaknya arah pada edges-nya, atau ada tidaknya bobot pada edges-nya (Dina, 2012).

Berikut ini adalah jenis graf berdasarkan ada tidaknya edge yang paralel atau loop:

1. Graf Sederhana

Graf sederhana adalah graf yang tidak mempunyai edges ganda dan loop. Loop adalah edge yang menghubungkan sebuah vertex dengan dirinya sendiri. Berikut adalah contoh graf sederhana, dapat dilihat pada Gambar 2.1.

Gambar 2.1 Contoh Graf Sederhana

2. Graf Tak-Sederhana

Graf tak-sederhana adalah graf yang memiliki edges ganda dan loop. Graf tak sederhana dapat dibagi dua yaitu:

a. Graf ganda (multi graph) adalah graf yang mengandung edge ganda. Sisi ganda yang menghubungkan sepasang vertex bisa lebih dari dua buah, dapat dilihat pada Gambar 2.2.

(21)

7

b. Graf semu (pseudograph) adalah graf yang mempunyi loop, termasuk juga graf yang mempunyai loop dan edge ganda karena itu graf semu lebih umum daripada graf ganda, karena graf semu edge-nya dapat terhubung dengan dirinya sendiri, dapat dilihat pada Gambar 2.3.

Gambar 2.3 Contoh Graf Semu

Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga dikelompokkan berdasarkan orientasi arah atau panah yaitu:

1. Graf Berarah (directed graph)

Graf berarah adalah graf yang setiap edge-nya memiliki orientasi arah atau panah. Pada graf berarah (vj, vk) ≠ (vk, vj). Dapat dilihat pada Gambar 2.4.

(22)

2. Graf Tidak Berarah (undirected graph)

Graf tak berarah adalah graf yang edge-nya tidak mempunyai orientasi arah atau panah. Pada graf ini, urutan pasangan vertex yang dihubungkan oleh edge tidak diperhatikan. Jadi (vj, vk) = (vk, vj) adalah edge yang sama, dapat dilihat pada Gambar 2.5.

Gambar 2.5 Contoh Graf Tidak Berarah

Berdasarkan jumlah vertex pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

1. Graf Berhingga (limited graph)

Graf berhingga adalah graf yang jumlah vertex-nya berhingga, n. Dapat dilihat pada Gambar 2.6.

Gambar 2.6 Contoh Graf Berhingga

2. Graf Tidak Berhingga (unlimited graph)

(23)

9

Gambar 2.7 Contoh Graf Tidak Berhingga

Graf juga ada yang mempunyai bobot atau nilai. Berdasarkan bobotnya, graf dibagi menjadi dua jenis, yaitu:

1. Graf tidak berbobot (unweighted graph) adalah graf yang tidak mempunyai bobot atau nilai. Dapat dilihat pada Gambar 2.8.

Gambar 2.8 Contoh Graf Tidak Berbobot

2. Graf berbobot (weighted graph) adalah graf yang masing-masing busurnya mempunyai bobot atau nilai tertentu. Dapat dilihat pada Gambar 2.9.

(24)

2.2 Shortest Path

Lintasan Terpendek (Shortest Path) merupakan pencarian jarak minimum untuk mencapai suatu titik (node akhir) dari titik tertentu (node awal). Dalam pencarian jarak terpendek masalah yang dihadapi adalah mancari lintasan mana yang akan dilalui sehingga didapat lintasan yang paling pendek dari satu vertex ke vertex yang lain (Dina, 2012).

Ada beberapa macam persoalan lintasan terpendek, antara lain : 1. Lintasan terpendek antara dua buah vertex.

2. Lintasan terpendek antara semua pasangan vertex.

3. Lintasan terpendek dari vertex tertentu ke semua vertex yang lain

4. Lintasan terpendek antara dua buah vertex yang melalui beberapa vertex tertentu.

Pada tugas akhir ini persoalan lintasan terpendek yang menjadi masalah adalah lintasan terpendek antara dua buah atau lebih vertex dimana bobot pada setiap edge digunakan untuk menyatakan jarak antar rak display barang pada sebuah hypermarket dalam satuan meter (m) dan vertex mewakili koordinat dan informasi barang diletakkan. Algoritma yang digunakan adalah algoritma A* (A Star) dalam menentukan lintasan terpendek.

2.3 Algoritma A*

A* (A Star) adalah algoritma komputer untuk pencarian jarak terdekat dan penelusuran rute, dan dipublikasikan pada tahun 1968 oleh Peter Hart, Nils Nilsson dan Bertram Raphael (RSA) di Stanford Research Institute (sekarang SRI International).

(25)

11

Fungsi heuristik pada A* digunakan untuk memperhitungkan jarak yang didapat dari jarak sebenarnya ditambah jarak perkiraaan. Dalam notasi matematika dituliskan sebagai berikut :

f(x) = g(x) + h(x)

Keterangan :

 g (x) = total jarak didapat dari vertex awal ke vertex sekarang.

 h (x) = jarak estimasi vertex tujuan, sebuah fungsi heuristik utuk membuat perkiraan seberapa jauh lintasan yang akan diambil ke vertex tujuan.

 f (x) = jumlah dari g(x) dan h(x).

Heuristik yang digunakan pada tulisan ini yaitu Manhattan Distance. Fungsi heuristik ini akan menjumlahkan selisih nilai x dan nilai y dari dua buah titik.

Perhitungan dapat ditulis sebagai berikut:

h(x) = abs(n.x-tujuan.x) + abs(n.y-tujuan.y)

(26)

2.4 PHP

PHP (Hypertext Preprocessor) merupakan skrip yang bersifat server-side yang ditambahkan ke dalam skrip HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini yang akan membuat suatu aplikasi website dapat diintegrasikan ke dalam HTML sehingga website tersebut tidak lagi bersifat statis, namun menjadi bersifat dinamis. Maksud dari bersifat server-side itu sendiri adalah pengerjaan skrip di lakukan di server, baru kemudian hasilnya dikirim ke browser (Prasetyo, 2008).

Cara penulisan script PHP terbagi atas empat style, yaitu: 1. Standard Style, dengan format: <?php … ?> 2. Short Style, dengan format: <? … ?>

3. Javascript Style, dengan format: <script language=’PHP’> … </script>

4. ASP Style, dengan format: <% … %>

2.5 JavaScript

JavaScript adalah bahasa pemrograman Web. Sebagian besar situs web modern menggunakan JavaScript , dan semua web browser moderen-on desktop, konsol game, tablet, dan smartphone juga menggunakan JavaScript, Hal tersebut membuat JavaScript menjadi bahasa pemrograman yang paling banyak digunakan dimana-mana dalam sejarah perkembangannya. JavaScript adalah bagian dari berkembangan teknologi yang semua pengembang web harus mempelajarinya. HTML untuk menentukan isi web halaman, CSS untuk menentukan presentasi dari halaman tersebut, dan JavaScript untuk menentukan perilaku mereka (Flanagan, 2012).

(27)

13

harus selalu diketik dengan kapitalisasi konsisten. Sementara kata kunci, misalnya, harus diketik "while" tidak "While" atau "WHILE". Demikian pula “online”, OnLine , dan ONLINE merupakan empat nama variabel yang berbeda .

2.6 MySQL

MySQL merupakan server database yang mendukung perintah SQL (Structured Query Language). Perintah dalam MySQL disebut dengan pernyataan (statement) dengan ciri khas pengakhirannya yang di tutup dengan tanda titik koma (;). Prinsip kerja dari MySQL yaitu dengan mengetikkan sejumlah pernyataan dan di akhiri dengan titik koma, maka program klien MySQL akan segera mengirim perintah tersebut ke server database MySQL dan kemudian memberikan respon yang sesuai dengan pernyataan yang diberikan (Rozy, 2014).

Pernyataan-pernyataan umum yang sering digunakan dalam MySQL adalah sebagai berikut:

2.7 Pemodelan dan Unified Modeling Language (UML)

Pemodelan merupakan gambaran sederhana dalam bentuk pemetaan dengan berbagai aturan-aturan tertentu. Pemodelan perangkat lunak digunakan untuk mempermudah tahapan berikutnya sehingga pengembangan dilakukan dengan lebih terencana..

(28)

menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung.

UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek (Rosa & Shalahuddin, 2011).

UML terbaru adalah UML 2.3 dan pembagian kategorinya dapat diuraikan sebagai berikut:

1. Structure Diagrams, digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Structure Diagrams terbagi atas:

a. Class Diagram, menggambarkan struktur sistem dari segi pendefenisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.

b. Object Diagram, menggambarkan struktur sistem dari segi penamaan objek dan jalannya objek dalam sistem. Pada diagram objek harus dipastikan semua kelas yang sudah didefenisian pada diagram kelas harus dipakai objeknya, karena jika tidak, pendefinisian kelas itu tidak dapat dipertanggungjawabkan.

c. Component Diagram, menunjukkan organisasi dan ketergantungan di antara kumpulan komponen dalam sebuah sistem. Diagram komponen fokus pada komponen sistem yang dibutuhkan dan ada di dalam sistem. d. Composite Structure Diagram, menggambarkan struktur dari

bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan (runtime) dari instance yang saling terhubung.

e. Package Diagram, menyediakan cara mengumpulkan elemen-elemen yang saling terkait dalam diagram UML. Hampir semua diagram dalam UML dapat dikelompokkan menggunakan package diagram.

(29)

15

2. Behavior Diagrams, digunakan untuk menggambarkan kelakukan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Behavior Diagrams terbagi atas:

a. Use Case Diagram, pemodelan untuk kelakukan sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak mengunakan fungsi-fungsi itu.

b. Activity Diagram, menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.

c. State Machine Diagram, menggambarkan perubahan status atau transisi status dari sebuah mesin atau sistem. Perubahan tersebut digambarkan dalam suatu graf berarah. State Machine Diagram merupakan pengembangan dari diagram Finite State Automata denan penambahan beberapa fitur dan konsep baru.

3. Interaction Diagrams, digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antarsubsistem pada suatu sistem. Interaction Diagrams terbagi atas:

a. Sequence Diagram, menggambarkan kelakukan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antarobjek. Oleh karena itu, untuk menggambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu.

(30)

c. Timing Diagram, menggambarkan tingkah laku sistem dalam periode waktu tertentu. Timing Diagram biasanya digunakan untuk mendeskripsikan operasi alat digital karena penggambaran secara visual akan lebih mudah dipahami daripada dengan kata-kata.

d. Interaction Overview Diagram, menggambarkan sekumpulan urutan aktivitas. Interaction Overview Diagram adalah bentuk aktivitas diagram yang setiap titik merepresentasikan diagram interaksi. Interaksi diagram dapat meliputi diagram sekuen, diagram komunikasi, interaction overview diagram dan timing diagram.

2.8 Penelitian Terdahulu

Dalam melakukan penelitian, penulis membutuhkan beberapa bahan penelitian yang sudah pernah dilakukan peneliti-peneliti lainnya mengenai masalah penentuan jarak terpendek dan algoritma A* (A Star).

Christophe et al (2009) telah mencoba menggunakan pendekatan Travelling Salesman Problem (TSP) dalam penelitian pada pencarian order picking pada gudang. Wäscher (2011) telah mencoba menggunakan perpaduan beberapa algoritma optimasi seperti tabu search dan lainnya dalam perancangan order batching dan order picking untuk gudang. Untuk penelitian yang dilakukan oleh peneliti sebelumnya, dapat dilihat pada Tabel 2.1.

Table 2.1 Tabel Penelitian Terdahulu

No Peneliti Judul Penelitian

1 Wäscher et al (2011)

Order Batching in Order Picking Warehouse : A Survey of Solution Approach

2 Christophe et al (2009)

(31)

BAB 3

ANALISIS DAN PERANCANGAN

Dalam bab ini berisi beberapa hal diantaranya seperti data yang digunakan, penerapan algoritma dan analisis perancangan sistem dalam mengimplementasikan algoritma A* (A Star) untuk permasalahan dalam penentuan jalur terpendek untuk order picking pada hypermarket.

3.1 Analisis Sistem

Pada sistem ini akan dilakukan analisis terhadap sistem untuk melakukan penentuan jalur terpendek untuk mencari barang pada rak hypermarket Carrefour dengan menggunakan algoritma A* (A star).

3.1.1 Analisis Masalah

(32)

Material Method

Kebutuhan merupakan suatu keinginan yang akan dicapai dalam melakukan perancangan. Kebutuhan menggambarkan fungsi dan batasan untuk aplikasi. Adapun analisis kebutuhan dibagi menjadi dua, antara lain adalah kebutuhan fungsional dan kebutuhan nonfungsional.

3.1.2.1 Kebutuhan Fungsional

Kebutuhan fungsional merupakan kebutuhan yang fungsi-fungsinya harus dipenuhi pada rancangan aplikasi. Kebutuhan fungsional yang harus dipenuhi pada aplikasi yang akan dirancang adalah :

(33)

19

3.1.2.2 Kebutuhan Nonfungsional

Kebutuhan nonfungsional terdiri dari beberapa macam karakteristik, antara lain : 1. Performa

Aplikasi yang akan dibangun dapat menampilkan hasil dari fungsi sistem untuk jalur terpendek yang akan dilalui.

2. Efisiensi

Aplikasi yang akan dibangun diharuskan sederhana, agar memudahkan pengguna untuk memakainya.

3. Ekonomi

Aplikasi yang akan dibangun tanpa mengeluarkan biaya tambahan dalam penggunaannya.

3.2 Penerapan Algoritma A*

Algoritma A* direpresentasikan menggunakan graf untuk menyelesaikan permasalahan rute terpendek. Dengan graf, arah dan perhitungan dapat diselesaikan dengan mudah karena tampilan lebih atraktif. Pada algoritma A* pencarian jarak menggunakan strategi pencarian heuristik dimana jarak yang diperhitungkan didapat dari jarak sebenarnya ditambah dengan jarak perkiraan. Dengan menggunakan fungsi heuristik algoritma ini hanya akan menguji vertex yang mendekati vertex tujuan. Dalam notasi matematika dituliskan sebagai berikut :

f (x) = g (x) + h (x)

Keterangan:

 g(x)= total jarak didapat dari vertex awal ke vertex sekarang.

 h (x) = jarak estimasi vertex tujuan, sebuah fungsi heuristik utuk membuat perkiraan seberapa jauh lintasan yang akan diambil ke vertex tujuan.

(34)

A * dapat juga dapat diimplementasikan, jika kebutuhan akan pencarian yang membutuhkan perulangan. Prinsip algoritma A* yaitu, akan melintasi semua graf yang berhubungan dengan starting point, mengurutkan cost terkecil dengan memperhatikan cost (f) kedalam antrian graf yang dilalui. Jika, pada titik tertentu segmen jalan yang dilalui memiliki biaya yang lebih tinggi dari segmen jalan yang lain yang sedang dihadapi, maka A* akan meninggalkan jalan dengan cost yang lebih tinggi.

Algoritma ini menggunakan dua antrian, yaitu OPEN dan CLOSED. Dimulai dengan titik awal dijadikan antrian prioritas titik untuk dilalui, dikenal sebagai OPEN SET. Semakin rendah cost untuk suatu simpul x, semakin tinggi prioritas. Pada setiap langkah dari algoritma A* simpul dengan cost tertinggi maka akan dihapus dari antrian, f dan h nilai-nilai tetangganya diperbarui sesuai dengan relasi pada graf dan tetangga ini ditambahkan ke antrian .

Algoritma A* akan terus mencari sampai titik tujuan yang memiliki nilai f lebih rendah dengan menggunakan nilai heuristik untuk mempersempit ruang pencarian yaitu dengan membatasi vertex yang akan diuji pada setiap percabangan. Jika sudah sampai ke titik tujuan maka A* akan menjumlahkan panjang path yang sebenarnya (Coppin, 2004)

.

(35)

21

Pada Gambar 3.2 akan dilakukan pencarian rute dari A ke G, pada saat posisi berada di A vertex pilihan adalah B dan C. B dianggap lebih baik karena total cost berbobot 4.5, sedangkan C mempunyai total cost berbobot 4.8. Pada saat posisi di B, E akan diasumsikan lebih baik karena total cost berbobot 4.6 sedangkan D mempunyai total cost berbobot 5.6. Akan tetapi jika dibandingkan dengan kunjungan sebelumnya yaitu AC, vertex E melalui AC mempunyai total cost terbaik yaitu 4.2. Pada saat posisi di E, vertex tujuan sudah di temukan yaitu EG, sehingga rutenya menjadi A-C-E-G dengan total cost berbobot 4.4.

Berikut terminologi daasar yang terdapat pada algoritma A* (Andysah, 2012): 1. Starting point sebagai posisi awal sebuah benda.

2. Current adalah simpul yang sedang dijalankan pada algoritma pencarian jarak terpendek.

3. Simpul adalah petak kecil atau pixel sebagai representasi dari arah path finding. Bentuknya dapat berupa persegi, lingkaran, maupun segitiga.

4. Open list adalah tempat menyimpan data simpul yang mungkin diakses dari starting point maupun simpul yang sedang dijalankan.

5. Closed list adalah tempat penyimpanan data simpul sebelum Current yang juga merupakan bagian dari jalur terpendek yang telah berhasil diciptakan. 6. “f” adalah nilai yang diperoleh dari penjumlahan. ”g” merupakan jumlah nilai

tiap simpul dalam jalur terpendek dari titik awal ke Current dan “h” merupakan jumlah nilai perkiraan dari sebuah simpul ke simpul tujuan. Sehingga dapat diformulasikan dengan f(x) = g(x) + h(x).

7. Simpul tujuan adalah simpul yang dituju.

8. Halangan adalah sebuah atribut yang menyatakan bahwa sebuah simpul tidak dapat dilalui oleh Current.

3.3 Perancangan Graf

(36)

Gambar 3.3 Potongan dari Bidang Peta yang diperoleh dari Carrefour

Setelah diperoleh bentuk dasar dari peta, dapat dilihat tampilan bentuk rak yang dilihat dari atas. Pada tahap berikutnya peta akan diberikan lintasan dan koordinat dengan menggunakan alat bantu gambar. Tampilan lintasan dan koordinatnya dapat dilihat pada Gambar 3.4

Gambar 3.4 Lintasan dan koordinat peta

(37)

23

Gambar 3.5 Peta yang telah dilakukan Proses Remapping

Pada Gambar 3.5 dapat dilihat peta telah memiliki jalur yang dapat dilalui dan titik koordinat sebagai titik yang merepresentasikan rak dan titik perpotongan antar lintasan. Terdapat total 109 titik (vertex) yang merepresentasikan rak dan 162 titik (verteks) yang merepresentasikan titik perpotongan antar lintasan. Total lintasan (path) berjumlah 331 lintasan. Untuk setiap keterangan pada peta dapat dilihat pada legenda peta pada Gambar 3.6 berikut :

(38)

Berdasarkan Gambar 3.6 penempatan barang yang terdaftar pada setiap rak dijelaskan seperti berikut :

1. Rak Sayur dan Buah : Bumbu Tradisional, Buah Import, Buahl Lokal, Sayuran Import, Sayuran Lokal, Buah dan Sayuran Kaleng.

2. Rak Tumpukan : Segala jenis beras ukuran 30 kg dan Mie Instan dus

3. Rak Bertingkat : Menu Sarapan, Krimer & Gula, Selai, Sereal, Makanan Diet, Perlengkapan Kue, Mie & Pasta, Makanan Kaleng, Seafood Kering, Makanan Binatang, Snacks, Makanan Manis, Hard Candies, Permen Cokelat, Cokelat Blok, Susu Bubuk, Bir, Makanan Kering, Daging kering & Asin, Kacang-kacangan, Biskuit, Biskuit Krakers, Kue, Kue Kering, Wafer, Rolls, Sandwiches, Saus & Kecap, Dressing.

4. Rak Berpendingin : Cola dan soda, Functional driks, Air mineral, Minuman energi, Susu Cair, Minuman kemasan lainnya.

5. Rak Makanan dan Minuman Basah : Seafood, Daging, Salad Buah dan Sayur, Ikan, Gorengan, Yogurt.

6. Rak Dinding Bertingkat : Perlengkapan Bayi, Camilan Tradisional, Cake dan Roti, Beras, Minyak Sawit dan Vinegar, Mie Instan.

3.4 Use Case Diagram

Perancangan sistem digambarkan dengan menggunakan pemodelan use case. Untuk pengidentifikasian aktor berdasarkan pada tahap analisis pengguna, aktor yang berperan dalam aplikasi ini hanya satu aktor yaitu pengguna yang akan menggunakan sistem untuk melakukan pencarian posisi barang.

(39)

25

Pegawai

Pencarian Barang

Gambar 3.7 Diagram use case untuk pencarian posisi barang

Use Case Specification untuk Gambar 3.7 adalah sebagai berikut:

1. Brief Description

Use case ini digunakan oleh pengguna untuk melakukan pencarian posisi barang. 2. Pre Condition

Pengguna harus mengisi kolom id barang untuk diproses oleh sistem. 3. Characteristic of activation

Eksekusi hanya bisa dilakukan oleh pengguna. 4. Flow of Events

a. Basic Flow

- Use caseini akan dimulai jika pengguna menekan tombol “Search”.

- Kemudian sistem menampilkan halaman output pada peta dan kolom hasil.

- Use case ini berakhir ketika sistem menampilkan halaman output. b. Alternative Flow

- Jika user ingin menghasilkan output berupa hard copy, maka user dapat menekan tombol “Print”.

5. Post Condition

Untuk melakukan pencarian lagi, pengguna harus membuka menekan tombol

“Clear”. 6. Limitation

(40)

3.5 Flowchart

Flowchart merupakan suatu representasi grafis dan langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang disusun dari beberapa symbol yang masing-masing symbol memiliki kegiatan tertentu (Indra Yatini B, 2010). Flowchart merupakan bagian yang menampilkan alur proses kerja yang terjadi ataupun sedang dikerjakan dalam keseluruhan sistem dengan meyusun urutan prosedur-prosedur yang akan dilakukan.

Berikut in adalah bentuk-bentuk flowchart yang menjelaskan alur proses dari aplikasi pencarian jalur terpendek dari awal hingga akhir, termasuk proses algoritma A* (A Star).

3.5.1 Flowchart Sistem

(41)

27

Gambar 3.8 Flowchart Sistem

Penjelasan dari Gambar 3.8 adalah :

(42)

User akan diarahkan menuju halaman home

 Pada halaman home, user akan diberikan tampilan peta dan kolom input untuk melakukan pencarian barang

 Pada kolom input, user akan memasukkan kode barang yang dicari, misalkan : 1, 40, 5, 3,10

 Sistem akan melakukan query pada database untuk melakukan cek ketersedian barang pada rak.

 Kemudian sistem akan mencari koordinat posisi rak yang telah dilakukan

query.

 Koordinat pertama akan dijadikan tujuan awal dan akan dilakukan pencarian

jarak dengan fungsi A*.

 Setelah hasil jarak antara titik awal dan titik tujuan pertama di dapatkan. Maka

proses pencarian kembali dilanjutkan ke titik tujuan selanjutnya.

 Setiap jarak akan dibandingkan, jarak terpendek adalah jarak yang menjadi prioritas utama untuk dilalui.

 Tampilkan jalur kedalam peta dan keterangan hasil pada kolom hasil.

 Disediakan fungsi print untuk menghasilkan hard copy.

3.5.2 Flowchart A*

(43)

29

Mulai

Input, Goal X1, Y1, X2,Y2

ProsesManhattan H(x) = abs ((X2-X1)+(Y2-Y1))

Kirim H ke Proses A*

Proses Routing A* F(X) = G(X) + H(X)

Tampilkan Rute Terpendek

Selesai

Gambar 3.9 Flowchart A*

Penjelasan dari Gambar 3.9 adalah :

 Dimasukkan input awal dan akhir berupa koordinat (x1,y1) (x2,y2).

 Koordinat dilakukakan pendekatan heuristik dengan menggunakan fungsi

Manhattan Distance.

 Kirim nilai heuristikke proses A*.

 Lalu akan dilakukan proses pencarian jalur terdekat dengan fungsi A*.

(44)

3.6 Perancangan Aplikasi dan Antarmuka Pemakai

Perancangan perangkat lunak sistem penentuan rute terpendek untuk order picking pada hypermarket terdiri dari penggambaran atau perencanaan dari beberapa elemen dalam pengembangan aplikasi. Rancangan aplikasi yang akan di buat adalah aplikasi pencarian jalur terpendek yang dapat dijalankan oleh pegawai. Aplikasi ini digunakan untuk menentukan titik barang yang dicari, kamudian akan dicari posisi barang dan rute terpendeknya. Aplikasi ini menerapkan algoritma A* (A Star) sebagai pencarian solusi terbaik.

3.6.1 Perancangan Database

Database pada aplikasi ini berfungsi untuk tempat penyimpanan data-data antara lain tabel tbl_path, tbl_perjalanan, tbl_posisi, tbl_produk serta tbl_rak.

a. Tabel tbl_path

Tabel ini berfungsi sebagai relasi antar titik yang terdaftar. Struktur tabel ini dapat dilihat pada Tabel 3.1

Table 3.1 Tabel tbl_path

No Nama Field Tipe Ukuran Keterangan

1. Id Int 5 Nomor Id Path (primary key)

2. Asal Varchar 4 Titik awal

3. Tujuan Varchar 4 Titik akhir

b. Tabel tbl_perjalanan

(45)

31

Table 3.2 Tabel tbl_perjalanan

No Nama Field Tipe Ukuran Keterangan

1. id_perjalanan Int 11 Nomor ID Perjalanan

(primary key)

2. id_produk Int 11 Nomor ID Produk

3. id_rak_awal Int 11 Nomor ID Rak Awal (start) 4. id_rak_tujuan Int 11 Nomor ID Rak Awal (end) 5. panjang_perjalanan Int 11 Jarak

6. simpang_dilewati Varchar 100 Rute Pencarian Jarak

c. Tabel tbl_posisi

Tabel ini berfungsi sebagai tempat penyimpanan relasi antar produk dan rak. Struktur tabel ini dapat dilihat pada Tabel 3.3

Table 3.3 Tabel tbl_posisi

No Nama Field Tipe Ukuran Keterangan

1.

No Int 5 Nomor ID Posisi(primary

key)

2. id_produk Int 5 Nomor ID Produk

3. id_rak Int 11 Nomor ID Rak Penyimpanan

Produk

d. Tabel tbl_produk

(46)

Table 3.4 Tabel tbl_produk

No Nama Field Tipe Ukuran Keterangan

1. id_produk Int 5 Nomor ID Posisi(primary

key)

2. nama_produk Int 5 Nomor ID Produk

3. Jenis Int 11 Nomor ID Rak Penyimpanan

Produk

e. Tabel tbl_rak

Tabel ini berfungsi sebagai tempat penyimpanan koordinat x dan y dari setiap rak dan titik bantu pada path. Struktur tabel ini dapat dilihat pada Tabel 3.5

Table 3.5 Tabel tbl_rak

No Nama Field Tipe Ukuran Keterangan

1. id_rak Int 5 Nomor ID Rak Penyimpanan

Produk

2. nama_titik varchar 4 Titik Rak dan Titik Bantu

3. pos_x Int 5 Koordinat sumbu X

4. pos_y Int 5 Koordinat sumbu Y

3.6.2 Perancangan Relasi Antar Tabel

(47)

33

Rancangan home berfungsi untuk menampilkan informasi gambar peta hypermarket serta tempat menu keberadaan program-program pendukung sistem penentuan jarak terdekat yang terdiri dari “Kolom Pencarian” dan “Keterangan Hasil”. Bentuk rancangan home terlihat seperti pada Gambar 3.11.

Rancangan halaman home pada Gambar 3.11 terdapat delapan komponen penting pada antarmuka, yaitu header(1) yang menggambarkan aplikasi penelitian ini, peta(2) yang menunjukkan gambaran peta hypermart Carrefour lantai I, text input(3) yang berisi id barang yang dimasukkan oleh pengguna, tombol “Search”(4) untuk

melakukan proses pencarian, tombol “Clear”(5) untuk melakukan proses pencarian

(48)

Gambar 3.11 Rancangan Home

Header

2. Gambar Peta Carrefour Lantai 1

8. Footer

3. Input Pencarian

7. Hasil Pencarian 4. search 5. clear

6. print

(49)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini akan diuraikan tahapan selanjutnya dalam pengembangan sistem yaitu tahap implementasi dan pengujian sistem. Di sini akan dijelaskan tentang proses pengimplementasian algoritma ke dalam sistem dan melakukan pengujian dari sistem yang dikembangkan.

4.1. Spesifikasi Perangkat Keras dan Perangkat Lunak

Spesifikasi perangkat lunak yang digunakan selama pembangunan sistem adalah sebagai berikut:

1. Operating System Windows 7 32-bit, 2. Web Server Apache 2.2.14,

3. PHP 5.3.1, 4. MySQL 5.1.41.

Agar perangkat lunak dapat berjalan dengan baik untuk para pengguna, maka spesifikasi yang dibutuhkan oleh sistem baik dari sisi perangkat keras (hardware) maupun perangkat lunak (software) dapat diuraikan sebagai berikut.

Untuk perangkat keras, yang direkomendasikan adalah sebagai berikut: 1. Processor dengan kecepatan minimal 1 GHZ,

2. Hardisk minimal 80 GB, 3. RAM minimal 1 MB,

(50)

Untuk perangkat lunak, yang dapat mendukung agar sistem dapat berjalan adalah sebagai berikut:

1. Operating system Microsoft Windows 7, Windows 8,

2. Browser, seperti Mozilla Firefox, Google Chrome, dan lain-lain, 3. PHP 5.3.1,

4. MySQL 5.1.41,

5. Web Server Apache 2.2.14.

4.2. Antarmuka Pengguna (User Interface)

Setelah melewati tahap analisis perancangan antarmuka pengguna, rancangan digunakan sebagai acuan untuk proses pengkodean halaman-halaman pada perangkat lunak. Rencana pengujian sistem yang akan diuji dapat dilihat pada Tabel 4.1 berikut.

Tabel 4.1 Tabel Rencana Pengujian

No. Komponen Sistem yang Diuji Butir Uji

1 Halaman Home Mencoba menu yang ada pada halaman Home, yaitu : Kolom Input, Tombol

“Search”, “Clear”, “Print” dan Kolom Output

4.2.1 Tampilan Halaman Home

(51)

37

Gambar 4.1 Tampilan halaman home sebelum dilakukan pencarian

Pada halaman ini disediakan kolom input untuk memasukkan id barang yang akan dilakukan pencarian. Kolom tersebut disediakan sebanyak 5 kolom, dapat dilihat pada Gambar 4.2

(52)

Pada Halaman ini juga disediakan kolom keterangan hasil pencarian yang menampilkan keterangan hasil pencarian. Kolom tersebut dapat dilihat pada Gambar 4.3

Gambar 4.3 Tampilan kolom keterangan hasil pencarian

Setelah pengkodean telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman home. Hasil proses evaluasi dapat dilihat pada Tabel 4.2 berikut.

Tabel 4.2 Tabel Hasil Evaluasi pada Tampilan Halaman Home No. Sasaran Pengujian Hasil yang

(53)

39

Gambar 4.4 Tampilan halaman home sesudah dilakukan pencarian

Halaman home seperti yang ditunjukkan pada Gambar 4.4, pada sisi kiri nantinya akan berisi tampilan peta dan lintasan yang dilalui, pada sisi kanan bawah akan menampilkan keterangan hasil dari pencarian. Keterangan tersebut berupa id barang, posisi barang yang dituju, titik asal, titik tujuan, panjang perjalanan, total waktu pencarian dan total waktu perjalanan.

User juga diberikan kemudahan untuk menghasilkan hard copy berupa hasil print yang dapat dilihat pada Gambar 4.5

(54)

Setelah proses pengkodean telah selesai dilakukan, maka selanjutnya dilakukanlah evaluasi terhadap tampilan halaman home setelah melakukan proses pencarian. Hasil proses evaluasi dapat dilihat pada Tabel 4.3. Evaluasi ditujukan untuk mengetahui apakah setiap menu pada halaman output telah berhasil diimplementasi dan digunakan saat sistem telah selesai dilakukan pengkodean.

Tabel 4.3 Tabel Hasil Evaluasi pada Tampilan Halaman Output No. Sasaran Pengujian Hasil yang

Diharapkan

Output print Output print Berhasil

4.3. Pengujian Sistem Secara Menyeluruh

Untuk pengujian sistem data barang yang telah di input ke dalam sistem berjumlah 545 barang. Data tersebut meliputi 5 nama produk dengan jenis yang berbeda pada setiap rak yang direpresentasikan kedalam vertex. Data tersebut didapat dari divisi Supply and ChainManagement Carrefour Plaza Medan Fair.

(55)

41

Gambar 4.6 Sampel data produk

Contoh data relasi antar vertex yang telah di input ke dalam database dapat di lihat pada Gambar 4.7.

(56)

Pengujian pencarian dilakukan dengan menggunakan contoh sebagai berikut: Dilakukan pencarian barang dengan melakukan input kode barang, diberikan contoh : 1, 40, 5, 3, 10 seperti yang terlihat pada Gambar 4.8 berikut.

Gambar 4.8 Sampel 1 input kode barang

(57)

43

Gambar 4.9 Hasil pencarian untuk sampel 1

ID Barang : 1 Posisi Barang : A1 Titik Asal : A Titik Tujuan : A1

Panjang Perjalanan : (11.4 m)

ID Barang : 5 Posisi Barang : A1 Titik Asal : A1 Titik Tujuan : A1

Panjang Perjalanan : (0 m)

ID Barang : 3 Posisi Barang : A1 Titik Asal : A1 Titik Tujuan : A1

Panjang Perjalanan : (0 m)

ID Barang : 10 Posisi Barang : A2 Titik Asal : A1 Titik Tujuan : A2

Panjang Perjalanan : (18.1 m)

ID Barang : 40 Posisi Barang : A8 Titik Asal : A2 Titik Tujuan : A8

Panjang Perjalanan : (89.1 m)

ID Barang : 0 Posisi Barang : A Titik Asal : A8 Titik Tujuan : A

Panjang Perjalanan : (67.6 m)

Total Waktu Pencarian 3.7023890018463 detik

Total Perjalanan 1186 meter

Kecepatan Rata-rata perjalanan 5 km/jam

(58)

Untuk menganalisis berapa lama sistem mencari barang berdasarkan banyaknya barang yang ingin dicari dapat dilihat pada Tabel 4.4.

Tabel 4.4 Tabel Pengujian Waktu Pencarian Berdasarkan Jumlah Barang

No Jumlah Input barang Waktu Pengujian

1. 1 2.41 detik

2. 2 2.83 detik

3. 3 2.99 detik

4. 4 3.34 detik

(59)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan analisis dari sistem dan pengujian sistem secara menyeluruh yang telah dilakukan pada bab sebelumnya, maka ada beberapa hal yang dapat dijadikan kesimpulan pada penelitian ini antara lain:

1. Algoritma A* (A Star) dengan modifikasi mampu menyelesaikan permasalahan dalam penentuan jarak terdekat.

2. Sistem penentuan jalur terpendek dengan menggunakan algoritma A* (A Star) mampu mempercepat pencarian barang pada kegiatan order picking pada hypermarket Carrefour.

5.2. Saran

Penulis menyarankan dalam pengembangan penelitian lebih lanjut untuk sistem penentuan rute terpendek sebagai berikut:

1. Sistem ini selanjutnya diharapkan dapat memberikan informasi terperinnci tentang penentuan yang lebih tepat dengan adanya aturan-aturan yang menjadi parameter dalam pencarian barang, seperti desain rak, maximum beban alat angkut (trolley) dan lain-lain.

(60)

DAFTAR PUSTAKA

Aini, Dewi Yusra. 2012. Analisis Algoritma A Star (A*) dan Implementasinya dalam Pencarian Jalur Terpendek pada Jalur Lintas Sumatera di provinsi Sumatera Utara. Universitas Sumatera Utara. Medan.

Andysah, Putera Utama Siahaan. 2012. Pengaruh Fungsi Heuristik Terhadap Nilai Optimum Global Pada Pencarian Jalur Terpendek. Universitas Sumatera Utara. Medan.

Christophe, Theys, Olli, Braysy, Wout, Dullaert, Birger, Raa. 2009. Using a TSP heuristic for routing order pickers in warehouses. European Journal of Operational Research 200 (2010) 755–763

Coppin, Ben. 2004. Artificial Intelligent Illuminated. Jones and Bartlett Publishers.

Daniels, Richard L, Christophe, Jeffrey L, Robert, Schantz. 1998. A Model For Warehouse Order Picking. European Journal of Operational Research 105 (1998) 1–17

Dina, Syahfitri. 2010. Simulasi Pencarian Jarak Terdekat (Shortest Path) dengan Menggunakan Algoritma A* (Studi Kasus pada Perpustakaan Politeknik Negeri Medan). Universitas Sumatera Utara. Medan.

Flanagan, David. 2012. JavaScript Pocket Reference Third Edition. Published by

O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA

95472. ISBN: 978-1-449-31685-3

(61)

47

Hart, P. E, Nilsson, N. J, Raphael, B. 1968. A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics SSC4 4 (2): 100–107. doi:10.1109/TSSC.1968.300136

Indra, Yatini B. 201. Flowchart, Algoritma dan Pemrograman menggunakan Bahasa C++ Bulider. Jakarta : Graha Ilmu.

Millington, Ian, Jhon Funge. 2009. Artificial Intelligence For Games. Morgan Kaufmann Publisher.

Munir, Rinaldi. 2004. Matematika Diskrit. Departemen Teknik Informatika Bandung.

Petersen, C.G, Schmenner, R.W. 1999. An Evaluation of Routing and Volume-based Storage Policies in an Order Picking Operation. Decision Sciences 30(2), 481-501

Phaneendhar, Reddy Vanam. 2011. Shortest path using A_Algorithm. Computer Science, Indiana State University, Terre Haute. USA

Prasetyo, E. 2008. Pemrograman Web PHP & MySQL untuk Sistem Informasi Perpustakaan. Yogyakarta: Graha Ilmu.

Rosa, A.S. & Shalahuddin, M. 2011. Modul Pembelajaran Rekayasa Perangkat Lunak (Terstruktur dan Berorientasi Objek). Bandung: Penerbit Modula.

Rozy, Muhammad Lubis. 2014. Implementasi Algoritma Brute Force Untuk Permasalahan Dalam Penerjemahan Idiom Bahasa Inggris. Universitas Sumatera Utara. Medan.

(62)
(63)

LAMPIRAN I LISTING PROGRAM

//proses query barang dan pencarian a* <?php

include '../../include/sqldb.php'; include '../astar/a-star.php';

// mencari posisi rak untuk masing-masing barang $barang = array();

foreach($_POST["input1"] as $key => $id_barang) {

if(!empty($id_barang)) {

// lakukan query utk mencari rak barang tsb

$query = mysql_query("select * from tbl_posisi where id_produk = '".$id_barang."'") or die(mysql_error());

// setelah rak utk msg2 barang ditemukan, implementasi algoritma A* // Proses perjalanan dimulai dari sini

$width = 750; $height = 350;

(64)

$total_jarak = 0;

mysql_query("truncate tbl_perjalanan"); $map = bentuk_map($width, $height); $titik_awal = 1; // titik A sebagai start awal while(!empty($barang))

foreach($barang as $id_barang => $id_rak) {

$path = pencarian_terpendek($titik_awal, $id_rak); // pencarian_terpendek(id_rak_awal, id_rak_tujuan)

foreach($simpang_dilalui as $key => $id_simpang) $simpang_dilalui_teks .= $id_simpang.","; $simpang_dilalui_teks = substr($simpang_dilalui_teks, 0, strlen($simpang_dilalui_teks)-1);

(65)

51

$query = mysql_query("insert into tbl_perjalanan values(null, '$barang_terdekat', '$titik_awal', '$rak_terdekat', '$jarak_terdekat',

'$simpang_dilalui_teks')") or die(mysql_error());

$titik_awal = $rak_terdekat; // titik awal = rak terdekat yg baru saja ditemukan

unset($barang[$barang_terdekat]); // membuang titik awal dari array

$total_jarak += $jarak_terdekat; }

$path = pencarian_terpendek($titik_awal, 1); $pjg_path = panjang_path($path);

$simpang_dilalui = simpang_dilalui($path); $simpang_dilalui_teks = "";

foreach($simpang_dilalui as $key => $id_simpang) $simpang_dilalui_teks .= $id_simpang.","; $simpang_dilalui_teks = substr($simpang_dilalui_teks, 0, strlen($simpang_dilalui_teks)-1);

$query = mysql_query("insert into tbl_perjalanan values(null, '', '$titik_awal', '1', '$pjg_path', '$simpang_dilalui_teks')") or die(mysql_error());

?>

//proses menamilkan keterangan hasil <?php

//Menampilkan Keterangan Hasil

$query = mysql_query("select * from tbl_perjalanan"); if(mysql_num_rows($query)){

(66)

{

$fetch_rak_awal = mysql_fetch_assoc(mysql_query("select * from tbl_rak where id_rak = '".$fetch["id_rak_awal"]."'"));

$fetch_rak_tujuan = mysql_fetch_assoc(mysql_query("select * from tbl_rak where id_rak = '".$fetch["id_rak_tujuan"]."'"));

echo "

ID Barang : ".$fetch["id_barang"]."<br>

Posisi Barang : ".$fetch_rak_tujuan["nama_titik"]."<br> Titik Asal : ".$fetch_rak_awal["nama_titik"]."<br> Titik Tujuan : ".$fetch_rak_tujuan["nama_titik"]."<br> Panjang Perjalanan : (".($fetch["panjang_perjalanan"]*0.1)." m)<br><br>";

//Simpang Dilalui : ".$fetch["simpang_dilewati"]."<br><br> }

echo "Total Waktu Pencarian ".$_GET["time"]." detik <br>"; echo "Total Perjalanan ".$_GET["total_jarak"]." meter <br>";

echo "Kecepatan Rata-rata perjalanan ".$_GET["kecepatan"]." km/jam <br>";

$kecepatan_ms = $_GET["kecepatan"]*1000/3600;

$waktu = $_GET["total_jarak"]/$kecepatan_ms; //satuan second echo "Waktu Perjalanan : ".$waktu." detik<br>";

(67)

LAMPIRAN II

SAMPEL DAFTAR PRODUK

id_produk nama_produk Jenis

1. Mamypoko perlengkapan bayi

2. Dryhumps perlengkapan bayi

3. Pampers perlengkapan bayi

4. Sweety perlengkapan bayi

5. cfd diapers baby perlenkapan bayi

6. Picnic Dodol K 500 Gr camilan tradisional

7. Golden Sail Sha Ho Fun 280g camilan tradisional

8. Kabita Pisang Sale Keju Bag 170 Gr camilan tradisional

9. Cf Kacang Telor Medan Bag 230gr camilan tradisional

10. Cf Keripik Pisang Bag 250gr camilan tradisional

11. Del Monte Fruit Cocktail makanan kaleng

12. Dm Fiesta Tropical Fruit makanan kaleng

(68)

14. Maling Green Peas 397gr makanan kaleng

15. Sozzis Sapi Siap Makan 450gr makanan kaleng

16. Daging Ayam Daging

17. Daging Bebek Daging

18. Daging Sapi Lokal Daging

19. Daging Sapi Wagiyu Daging

20. Daging Ham Daging

21. Ikan Salmon 500gr Ikan

22. Ikan Asin Cakallang 500gr Ikan

23. Ikan Pari 500gr Ikan

24. Ikan Teri Medan Ikan

25. Ikan Tongkol Fillet 500gr Ikan

26. Bolu Gulung Coklat Keju Cake dan Roti

27. Pastel Ayam Cake dan Roti

28. Mini Tart Strawberry Cake dan Roti

29. Roti Klatak Cake dan Roti

(69)

55

31. Mama Rice Vermicelli 400 Gr Mie dan Pasta

32. San Remo Elbow 500gr Mie dan Pasta

33. La Fonte Sp Fusilli 500gr Mie dan Pasta

34. Pilihan Bunda Bihun 500gr Mie dan Pasta

35. Ayam 2 Telor Mie Telor 200gr Mie dan Pasta

36. Sipulen Pandan Wangi 10 Kg Beras

37. Muria Beras Merah 500g* Beras Merah Beras

38. Topi Koki Pandan Wangi 5kg Beras

39. Murai Indah Harum 5 kg Beras

40. Beras Cap Guci Emas 5 kg Beras

41. Tropical Jerigen 5000 Ml Minyak Sawit

42. Filma Minyak Goreng 5 Lt Minyak Sawit

43. Bimoli Special 5 lt Minyak Sawit

44. Fortune 5 lt Minyak Sawit

45. Cfd Minyak Goreng 5 lt Minyak Sawit

46. Kikkoman Premium Soy Sauce Saus dan kecap

(70)

48. Tabasco Sauce 60ml Saus dan kecap

49. Sasa Sambal Asli Saus dan kecap

Gambar

Gambar 2.1 Contoh Graf Sederhana
Gambar 2.3 Contoh Graf Semu
Gambar 2.5.
Gambar 2.7 Contoh Graf Tidak Berhingga
+7

Referensi

Dokumen terkait

Mengetahui performansi waktu pencarian, jarak dan simpul yang diperiksa dari titik awal menuju titik tujuan dengan algoritma A* (A Star) yang diterapkan

(A-Star) untuk menentukan jalur terpendek yang bias ditempuh dari lokasi pengguna menuju pangkas rambut tujuan. Metode A-Star merupakan sebuah algoritma pencarian jarak yang

PENENTUAN RUTE TERPENDEK SISTEM PENGANGKUTAN SAMPAH KOTA MEDAN DENGAN MENGGUNAKAN..

Implementasi Metode Path Finding dengan Penerapan Algoritma A-Star untuk Mencari Jalur Terpendek pada Game “Jumrah Launch Story”.. Rancangan dibuat

Berdasarkan Penjelasan yang telah diuraikan sebelumnya, maka akan dibangun aplikasi penulusuran jalur terpendek menggunakan algoritma A-Star dalam pencarian lokasi gedung

Hasil yang dicapai oleh penulis adalah sebuah sistem informasi penentuan rute terpendek menuju tempat ibadah menggunakan algoritma dijkstra yang memudahkan umat islam

Salah satu algoritma yang digunakan untuk mempercepat pencarian solusi masalah rute terpendek adalah dengan algoritma heuristik. Salah satu algoritma dalam heuristik yang cukup

Algoritma Dijkstra memecahkan masalah pencarian jalur terpendek antara dua simpul dalam graf berbobot dengan jumlah total terkecil, dengan mencari jarak terpendek antara simpul awal