• Tidak ada hasil yang ditemukan

Analisis perfomasi algoritma beam pada pencarian rute terpendek di Kota Tasikmalaya

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis perfomasi algoritma beam pada pencarian rute terpendek di Kota Tasikmalaya"

Copied!
157
0
0

Teks penuh

(1)
(2)
(3)
(4)
(5)

BIODATA PENULIS 1. DATA PRIBADI

nama : Aldy Mercyano Iqbal jenis kelamin : Laki-laki

tempat, tanggal lahir : Bandung, 26 September 1990

agama : Islam

kewarganegaraan : Indonesia status : Belum kawin

anak ke : Dua dari dua bersaudara

alamat : Jalan Prayuda No. 9, RT 05 RW 08, Bandung 40263 telepon : +62896 348 100 06

e-mail : aldymercyanoiqbal@gmail.com

2. RIWAYAT PENDIDIKAN

1. Sekolah Dasar : SD Kartika XI-12 tahun ajaran 1996 - 2002 2. Sekolah Menengah Pertama : SMP Negeri 40 Bandung tahun ajaran 2002

- 2005

3. Sekolah Menengah Atas : SMA BPI 2 Bandung tahun ajaran 2005-2008

(6)

sadar dan tanpa paksaan.

Bandung, 22 Februari 2013

(7)

ANALISIS PERFOMANSI ALGORITMA BEAM PADA

PENCARIAN RUTE TERPENDEK DI KOTA TASIKMALAYA

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Studi S1 Teknik Informatika

Fakultas Teknik dan Ilmu Komputer

ALDY MERCYANO IQBAL

10108065

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(8)

iii

Alhamdulillah, puji syukur dipanjatkan kepada Allah SWT yang telah

memberikan taufik dan hidayah-Nya sehingga penulis dapat menyelesaikan laporan skripsi dengan judul “Analisis Perfomansi Algoritma Beam Pada Pencarian Rute Terpendek di Kota Tasikmalaya“.

Banyak sekali kesulitan dan hambatan yang dihadapi dalam penyusunan laporan skripsi ini, akan tetapi berkat bantuan, bimbingan dan dorongan dari banyak pihak, akhirnya laporan skripsi ini dapat diselesaikan. Untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada banyak pihak yang telah memberikan bantuan baik pikiran maupun tenaga sehingga laporan skripsi ini dapat diselesaikan. Dalam kesempatan ini penulis mengucapkan terima kasih banyak kepada:

1. Allah SWT yang telah memberikan anugerah kekuatan, keselamatan dan kesehatan serta bimbingan-Nya sehingga dapat menyelesaikan skripsi ini. 2. Ayah dan Ibu yang selalu memberikan semangat serta do’a yang tiada

henti-hentinya, serta keluarga besar yang selalu membantu baik moril maupun materil.

3. Bapak Adam Mukharil Bachtiar, S.Kom. selaku dosen pembimbing skripsi yang telah banyak memberikan dorongan, motivasi dan ilmu selama menjalani penelitian skripsi.

4. Bapak Galih Hermawan ,S.Kom., M.T., selaku penguji 1 yang telah banyak membimbing dalam perbaikan penelitian skripsi ini.

5. Ibu Tati Harihayati M., S.T., M.T., selaku penguji 3 yang telah banyak membimbing dalam perbaikan penelitian skripsi ini.

6. Saudara Daeng Rosanda yang membantu penulis dalam penyelesaian penyusunan skripsi ini.

(9)

iv

Akhir kata, penulis mohon maaf yang sebesar-besarnya atas keterbatasan dan kekurangan ini. Namun demikian penulis tetap berharap semoga laporan skripsi ini dapat bermanfaat.

Wassalamualaikum Wr. Wb. Bandung, Februari 2013

(10)

v DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... x

DAFTAR SIMBOL ... xii

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

I.1 Latar Belakang Masalah ... 1

I.2 Perumusan Masalah... 2

I.3 Maksud dan Tujuan ... 2

I.4 Batasan Masalah ... 3

I.5 Metodologi Penelitian ... 3

I.5.1 Metode Pengumpulan Data ... 3

I.5.2 Metode Pembangunan Perangkat Lunak ... 4

I.6 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

II.1 Kecerdasan Buatan ... 7

II.2 Algoritma ... 9

II.3 Algoritma Pencarian ... 10

II.4 Algoritma Pencarian Beam ... 10

II.5 Struktur Data ... 16

II.6 Rute Terpendek ... 18

II.7 Peta ... 18

II.8 Tools Pemodelan Perangkat Lunak ... 20

II.8.1 UML (Unified Modeling Language) ... 20

II.8.2 DFD ... 21

(11)

vi

II.9.1 Android... 22

II.9.2 Eclipse ... 23

II.9.3 Web Service ... 23

II.9.4 MySQL ... 24

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 27

III.1 Analisis Sistem ... 27

III.1.1 Analisis Kasus ... 27

III.1.2 Analisis Struktur Data ... 28

III.1.3 Analisis Strategi ... 32

III.1.4 Analisis Algoritma ... 33

III.1.5 Spesifikasi Kebutuhan Perangkat Lunak... 41

III.1.6 Analisis Kebutuhan Non Fungsional ... 42

III.I.6.1 Analisis Kebutuhan Perangkat Keras ... 42

III.I.6.2 Analisis Kebutuhan Perangkat Lunak ... 43

III.I.6.3 Analisis Kebutuhan Perangkat Pikir ... 43

III.1.7 Analisis Data / File ... 44

III.1.8 Analisis Kebutuhan Fungsional ... 45

III.1.8.1 Diagram Konteks... 45

III.1.8.2 DFD Level 1 Web service ... 45

III.1.8.3 DFD Level 2 Web Service ... 46

III.1.8.4 Kamus Data DFD ... 48

III.1.8.5 Usecase Diagram Aplikasi Simulasi Android ... 49

III.1.8.6 Activity Diagram ... 53

III.1.8.7 Class Diagram ... 55

III.1.8.8 Sequence Diagram... 55

III.2 Perancangan Sistem... 57

III.2.1 Perancangan Basis Data ... 57

III.2.2 Perancangan Struktur Menu ... 58

III.2.2.1 Aplikasi Android ... 58

III.2.2.2 Web service ... 58

(12)

vii

III.2.3.1 Perancangan Antarmuka Aplikasi Simulasi Pada Android ... 59

III.2.3.2 Perancangan Antarmuka Web service... 61

III.2.4 Perancangan Pesan ... 63

III.2.5 Jaringan Semantik ... 65

III.2.6 Perancangan Prosedural Web Service ... 66

III.2.7 Perancangan Method ... 71

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM... 75

IV.1 Implementasi Simulasi ... 75

IV.1.1 Implementasi Perangkat Keras ... 75

IV.1.2 Implementasi Perangkat Lunak ... 75

IV.1.3 Implementasi Basis Data ... 76

IV.1.4 Implementasi Antarmuka ... 76

IV.2 Pengujian Simulasi ... 78

IV.2.1 Rencana Pengujian ... 78

IV.2.2 Pengujian White Box ... 79

IV.2.3 Pengujian Black Box ... 83

V.2.4 Pengujian Performansi ... 85

IV.2.5 Kesimpulan Pengujian... 89

BAB V KESIMPULAN DAN SARAN ... 91

V.1 Kesimpulan... 91

V.2 Saran ... 91

(13)

93

DAFTAR PUSTAKA

[1] Tadashi Yamaguchi, Chuda Basnet, and Tang Guochan, "A Beam Search Heuristic for Multi-Mode Single Resource Constrained Project Scheduling," Oktober 2012.

[2] Peter Tarasewic and P.R. McMullena, "A beam search heuristic method for mixed-model scheduling with setups," Desember 2003.

[3] Chih Kun Wu, Wei Chun Lan, and Jung Ting Ching, "Beam Search

Heuristics for the Single Vehicle Pickup and Delivery Problem," Desember 2010.

[4] Danardi Nugraha, "Pencarian Jarak Terdekat Di Kota Tasikmalaya

Menggunakan Algoritma Semut Pada Sistem Operasi Android," September 2012.

[5] Gajendra K.Verma and Kanka Mallick, Researching Education: Perspectives

and Techniques.: Taylor & Francis e-Library, 2005.

[6] Ian Sommerville, Software Enginering, 9th ed.: Addison-Wesley, 2010. [7] Kusrini, Sistem Pakar Teori dan Aplikasi. Yogyakarta: ANDI, 2006. [8] Rinaldi Munir, Algoritma dan Pemrograman. Bandung: Informatika

Bandung, 2007.

[9] Wikipedia. http://id.wikipedia.org/wiki/Algoritma_pencarian.

[10] Weixiong Zhang, State-Space Search: Algorithms, Complexity, Extensions,

and Applications. Marina del Rey, USA, 1999.

[11] Heri Sismoro and Kusrini Iskandar, Struktur Data dan Pemrograman

Dengan Pascal. Yogyakarta: ANDI, 2004.

[12] Wikipedia. (2012, Oktober)

http://en.wikipedia.org/wiki/Shortest_path_problem#Definition.

[13] Wirastuti and Dini Natalia, Geografi SMP/MTs Kls VII (KTSP). Jakarta: PT Grasindo, 2008.

(14)

Informatika, 2011.

[15] Marimin , Hendri Tanjung, and Haryo Prabowo, Sistem Informasi

Manajemen Sumber Daya Manusia. Bogor: Grasindo, 2006.

[16] Nazarudin Safaat, Android Pemrograman Aplikasi Mobile Smartphone dan

Tablet PC Berbasis Android. Bandung: Informatika, 2012.

[17] Yadi Utama. (2013, Februari) elib.unikom.ac.id. [Online]. elib.unikom.ac.id/download.php?id=132941

[18] Miftakhul Huda and Bunafit Komputer, Membuat Aplikasi Database Dengan

(15)

1 BAB I

PENDAHULUAN I.1 Latar Belakang Masalah

Algoritma pencarian adalah algoritma yang menerima data atau kunci dan dengan langkah-langkah tertentu mencari rekaman dengan data atau kunci tersebut. Setelah proses pencarian selesai, akan didapatkan satu dari dua kemungkinan, yaitu ditemukan atau tidak ditemukan. Pada algoritma pencarian, terdapat beberapa jenis, seperti pencarian informed, pencarian adversarial, pemenuhan kendala, pencarian interpolasi dan uninformed. Terdapat banyak contoh algoritma pencarian seperti algoritma A*, Beam, Bellman-Ford, Best-First, BFS, DFS, Hill climbing dan lain-lain. Algoritma pencarian telah diterapkan dalam berbagai masalah salah satunya adalah dalam permasalahan rute terpendek. Rute terpendek adalah masalah menemukan rute antara dua simpul. Contohnya adalah menemukan untuk mendapatkan rute terpendek dari satu lokasi menuju lokasi lain dalam peta jalan. Pencarian rute terpendek merupakan hal yang paling sering dilakukan oleh banyak orang dalam melakukan perjalanan karena dengan rute terpendek, kita dapat menghemat dan mengefisiensikan waktu.

(16)

terpendek, tidak ditemukan hasil penelitian dengan menerapkan algoritma pencarian beam.

Penelitian sebelumnya menerapkan algoritma ant colony dalam mencari rute terpendek di kota Tasikmalaya dan berbasis Android. Algoritma ant colony

mampu memberikan solusi, namun algoritma ant colony dirasa kurang optimal karena pencarian dirasa lambat [4]. Algoritma beam digunakan untuk mengantisipasi kelemahan yang ada pada algoritma ant colony dalam pencarian rute terpendek di kota Tasikmalaya meskipun belum diketahui apakah algortima pencarian beam mampu memberikan solusi yang lebih baik daripada algoritma

ant colony.

Berdasarkan latar belakang, diperlukan analisis perfomansi algoritma pencarian beam pada pencarian rute terpendek untuk mencari rute terpendek menuju lokasi di kota Tasikmalaya yang mana dalam analisis ini diharapkan dapat mengetahui seberapa cepat algoritma pencarian beam bekerja mencari rute terpendek di kota Tasikmalaya.

I.2 Perumusan Masalah

Berdasarkan latar belakang diatas, masalah yang ada pada penelitian ini adalah bagaimana menganalisis performansi algoritma pencarian beam dalam mencari rute terpendek menuju suatu lokasi di kota Tasikmalaya.

I.3 Maksud dan Tujuan

Maksud dari penelitian ini adalah menganalisis performansi algoritma pencarian beam dalam mencari rute terpendek di kota Tasikmalaya. Sedangkan tujuan dari penelitian ini adalah:

(17)

3

I.4 Batasan Masalah

Adapun batasan-batasan masalah yang ada dalam analisis ini adalah : 1. Algoritma yang digunakan hanya algortima pencarian beam karena untuk

algoritma ant colony sudah dilakukan penelitian sebelumnya.

2. Perhitungan kompleksitas algoritma yang digunakan adalah model kebutuhan waktu.

3. Notasi asimtotik yang digunakan adalah Big Oh (O).

4. Aplikasi dibangun untuk menyimulasikan algoritma pencarian beam.

5. Parameter performansi yang digunakan adalah kecepatan dan ketepatan. 6. Rute pada peta merupakan rute dua arah.

7. Masukan data hanya titik awal dan titik akhir. 8. Aplikasi dibangun berbasis mobile Android.

I.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan penelitian ini adalah metodologi analisis desktiptif yang merupakan cara analisis yang mendeskripsikan data-data yang telah terkumpul [5]. Metodologi ini terbagi menjadi dua metode yaitu metode pengumpulan data dan metode pembangunan perangkat lunak.

I.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan terbagi menjadi dua yaitu: 1. Studi Literatur yaitu pengumpulan data dengan cara

mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian dan

(18)

I.5.2 Metode Pembangunan Perangkat Lunak

Metode pembangunan perangkat lunak dalam aplikasi simulasi ini menggunakan model waterfall, yang meliputi beberapa proses diantaranya:

a. Requirements analysis and definition

Tahap Requirements analysis and definition merupakan layanan, batasan dan tujuan dari sistem yang dibuat dengan menkonsultasikannya bersama pengguna sistem. Hal tersebut didefinisikan secara detail dan ditampilkan sebagai spesifikasi dari sistem.

b. System and software design

Tahap System and software design merupakan tahap proses desain sistem membagi kebutuhan sistem akan perangkat lunak dan perangkat keras. Hal tersebut membangun arsitektur sistem keseluruhan. Desain software meliputi identifikasi dan penjabaran abstraksi sistem perangkat lunak dasar dan keterhubungannya

c. Implementation and unit testing

Tahap Implementation and unit testing merupakan tahap desain peangkat lunak yang direalisasikan sebagai sekumpulan program atau unit program. Unit testing meliputi verifikasi bahwa setiap unit telah memenuhi spesifikasinya.

d. Integration and system testing

(19)

5

e. Operation and maintenance

Tahap Operation and maintenance merupakan tahap terpanjang dalam

lifecycle. Sistem di-install dan digunakan secara praktikal. Pemeliharaan

ini meliputi perbaikan kesalahan yang tidak diketahui pada tahapan sebelumnya, memperbaiki implementasi unit sistem dan meningkatkan layanan sistem ketika terdapat kebutuhan baru.

Requirements definition

System and Software Design

Implementation and unit testing

Integration and sytem testing

Operation and maintenance

Gambar I-1 Model Proses Waterfall [6] I.6 Sistematika Penulisan

Sistematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan penelitian ini adalah sebagai berikut :

BAB I PENDAHULUAN

(20)

yang kemudian diikuti dengan pembatasan masalah, asumsi, serta sistematika penulisan.

BAB II LANDASAN TEORI

Bab II membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan seperti membahas tentang kecerdasan buatan, algoritma secara umum, algoritma pencarian, algoritma pencarian beam, struktur data, rute terpendek, peta, tools implementasi yang mana membahas android, eclipse, webservice, MySQL, pemodelan perangkat lunak yang membahas tentang UML dan DFD.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab III menganalisis masalah dari model penelitian untuk memperlihatkan keterkaitan antar variabel yang diteliti serta model matematis untuk analisisnya. BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab IV merupakan tahapan yang dilakukan dalam penelitian secara garis besar sejak dari tahap persiapan sampai penarikan kesimpulan, metode dan kaidah yang diterapkan dalam penelitian. Termasuk menentukan variabel penelitian, identifikasi data yang diperlukan dan cara pengumpulannya, penentuan sampel penelitian dan teknik pengambilannya, serta metode/teknik analisis yang akan dipergunakan dan perangkat lunak yang akan dibangun jika ada.

BAB V KESIMPULAN DAN SARAN

(21)

7 BAB II

LANDASAN TEORI II.1 Kecerdasan Buatan

Kecerdasan buatan adalah suatu ilmu yang mempelajari cara membuat komputer komputer melakukan sesuatu yang dilakukan oleh manusia (Minsky, 1989). Definisi lain diungkapkan oleh H. A. Simon [1987]. Kecerdasan buatan

(artificial intelegence) merupakan kawasan penelitian, aplikasi dan instruksi yang

terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang dalam pandangan manusia adalah cerdas.

Rich and Knight [1991] mendifinisikan kecerdasan buatan (AI) sebagai sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia. Sementara ensiklopedi Britannica mendefinisikan kecerdasan buatan (AI) sebagai cabang dari ilmu komputer yang dalam merepresentasi pengetahuan lebih banyak menggunakan bentuk simbol-simbol daripada bilangan dan memproses informasi berdasarkan metode heuristic atau dengan berdasarkan sejumlah aturan.

Ada tiga tujuan kecerdasan buatan, yaitu membuat komputer lebih cerdas, mengerti tentan kecerdasan dan membuat mesin lebih berguna. Yang dimaksud kecerdasan adalah kemampuan untuk belajar atau mengerti dari pengalaman , memahami pesan yang kontradiktif dan ambigu, menganggapi dengan cepat dan baik atas situasi yang baru, menggunakan penalaran dalam memecahkan masalah serta menyelesaikan dengan efektif (Winston dan Prendergast, 1994).

(22)

dapat berupa kalimat, kata atau angka yang digunakan untuk merepresentasikan obyek, proses dan hubungannya.

Beberapa bidang penelitian dalam kecerdasan buatan diantaranya adalah:

1. Formal tasks (matematika, games).

2. Mundane task (perception, robotics, natural language, common sense,

reasoning).

3. Expert task (financial analysis, medical duagnotics, engineering,

scientific analysis, dan lain-lain).

Ada beberapa konsep yang harus dipahami dalam kecerdasan buatan, diantaranya:

1. Turing Test – Metode Pengujian Kecerdasan

Turing Test meruakan sebuah metode pengujian kecerdasan yang

dibuat oleh Alan Turing. Proses uji ini melibatkan penanya (manusia) dan dua obyek yang ditanyai. Yang satu adalah seorang manusia dan satunya adalah sebuah mesin yang akan diuji. Penanya tidak dapat melihat langsung kepada obyek yang ditanyai. Penanya diminta untuk membedakan mana jawaban komputer dan mana jawaban manusia berdasarkan jawaban kedua obyek tersebut. Jika penanya tidak dapat membedakan mana jawaban mesin dan mana jawaban manusia maka Turing bependapat bahwa mesin yang diuji tersebut dapat diasumsikan cerdas.

2. Pemrosesan Simbolik

(23)

9

melakukan proses secara simbolik dan non-algoritmik dalam penyelesaian masalah.

3. Heuristic

Istilah heuristic diambil dari bahasa Yunani yang berarti menemukan.

Heruristic merupajan suatu strategi untuk melakukan proses pencarian

(search) ruang problem secara selektif, yang memandu proses

pencarian yang kita lakukan sepanjang jalur yang memiliki kemungkinan sukses yang paling besar.

4. Penarikan Kesimpulan (Inferencing)

AI mencoba membuat mesin memiliki kemampuan berpikir atau mempertimbangkan (reasoning). Kemampuan berpikir (reasoning) termasuk didalamnya proses penarikan kesimpulan (inferencing) berdasarkan fakta-fakta dan aturan dengan menggunakan metode heuristik atau metode pencarian lainnya.

5. Pencocokan Pola (Pattern Matching)

AI bekerja dengan metode pencocokan pola (pattern matching) yang berusaha untuk menjelaskan obyek, kejadian (events) atau proses, dalam hubungan logik atau komputasional [7].

II.2 Algoritma

Algoritma adalah langkah-langkah untuk memecahkan suatu masalah. Terdapat beberapa definisi lain dari algoritma tetapi senada dengan definisi yang diungkapkan diatas yang dikutip dari beberapa literatur, antara lain:

1. Algoritma adalah deretan langkah-langkah komputasi yang mentransormasikan data masukan menjadi keluaran.

(24)

3. Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang -menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi, algoritma adalah langkah komputasi yang mentransformasikan masukan menjadi keluaran [8].

II.3 Algoritma Pencarian

Algoritma pencarian adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Pada algoritma pencarian, terdapat beberapa jenis, seperti pencarian

informed, pencarian adversarial, pemenuhan kendala, pencarian interpolasi dan

uninformed.

Uninformed search, sering juga disebut pencarian buta (blind search) atau

pencarian naïf (naïve search) adalah algoritma yang tidak mempertimbangkan sifat alami dari permasalahan. Oleh karena itu algoritma tersebut dapat diimplementasikan secara umum, sehingga dengan implementasi yang sama dapat digunakan pada lingkup permasalahan yang luas. Pada uninformed search, terdapat pencarian list, pencarian graf dan pencarian pohon [9].

II.4 Algoritma Pencarian Beam

Algoritma pencarian beam adalah suatu metode heuristik untuk menyelesaikan masalah optimasi kombinatorial dan algoritma pencarian beam merupakan optimasi algoritma best-first search untuk mengurangi kebutuhan memori. Algoritma ini hanya menyimpan nilai terbaik saja, sedangkan nilai yang dianggap buruk langsung dihapus dan karena metode ini memang dirancang untuk pencarian yang cepat, meskipun sebenarnya simpul yang dihapus dapat menghasilkan solusi yang optimal.

(25)

11

hapus, tidak dapat dibangkitkan kembali bila dibutuhkan untuk perhitungan selanjutnya. Algoritma pencarian beam membutuhkan nilai-nilai dalam melakukan pencariannya, yaitu nilai beam. Nilai beam digunakan untuk menentukan besar senarai yang akan digunakan untuk menyimpan simpul yang dikunjungi. Pada algoritma pencarian beam, simpul terbaik yang disimpan adalah sebanyak nilai beamnya. Fungsi evaluasi heuristik pada algoritma pencarian beam adalah f (n) = h(n) dimana h(n) adalah nilai estimasi jarak menuju tujuan. Sebagai contoh, terdapat dua simpul yaitu simpul A dan B yang mana simpul tersebut memiliki busur sebesar 10. Berdasarkan fungsi evaluasi heuristiknya, maka nilai

f(n) adalah 10.

Bila dilihat dari sisi kecerdasan buatan, algoritma pencarian beam merupakan salah satu dari agen tunggal untuk memecahkan suatu masalah karena algoritma ini termasuk algoritma dengan tipe pemangkasan kedepan [10].

Contoh sederhana dari algoritma pencarian beam misalkan simpul awal pada simpul S dan simpul tujuan adalah simpul F. Nilai beam yang digunakan dalam contoh kasus ini adalah dua.

(26)

Pada tahap pertama, kita tentukan besar nilai beam yang akan digunakan. Untuk contoh disini, besar nilai beam yang digunakan adalah dua. Setelah itu, periksa seluruh simpul tetangga dari simpul awal. Ambil simpul tetangga terbaik dari simpul awal sebesar nilai beam yang mana nilai beam disini adalah sebesar dua dan masukan simpul tersebut kedalam antrian dengan kondisi simpul memiliki nilai heuristik terkecil.

Tabel II-1 Kondisi Pada Penelusuran Pertama Simpul Yang Diperiksa Urutan Simpul

S {S}

{S,A},{S,B}

Gambar II-2 Penelusuran Pertama

Setelah penelusuran dari simpul awal didapatkan dua simpul tebaik, penelusuran simpul-simpul dilanjutkan dengan memeriksa simpul tetangga dari masing-masing simpul terbaik tersebut yaitu simpul A dan B. Sama seperti langkah pertama, ambil dua simpul terbaik dan masukan kedalam antrian.

Tabel II-2 Kondisi Pada Penelusuran Ke Dua

Simpul Yang Diperiksa Urutan Simpul

(27)

13

Gambar II-3 Penulusuran Ke Dua

Penelusuran dilanjutkan dengan menelusuri simpul-simpul tetangga dari simpul C dan D. Setelah itu, cari simpul tetangga terbaik dari simpul C dan D dan masukan simpul ke dalam antrian.

Tabel II-3 Kondisi Pada Penelusuran Ke Tiga

Simpul Yang Diperiksa Urutan Simpul

C dan D {S,A,C},{S,B,D}

{S,A,C,E},{S,B,D,G}

(28)

Penelusuran dilanjutkan dengan memeriksa simpul dari simpul terbaik yang didapatkan sebelumnya yang mana simpul tersebut adalah simpul E dan G. Langkah pencariannya sama seperti langkah sebelumnya dan masukan simpul terbaik dari hasil penelusuran simpul E dan G ke dalam antrian.

Tabel II-4 Kondisi Pada Penelusuran Ke Empat

Simpul Yang Diperiksa Urutan Simpul

E dan G {S,A,C,E},{S,B,D,G}

{S,A,C,E,G},{S,B,D,G,E}

Gambar II-5 Penulusuran Ke Empat

Penelusuran dilanjutkan dengan langkah pencarian simpul sama seperti pencarian sebelumnya dan simpan simpul terbaik dari hasil penelusuran simpul G dan E.

Tabel II-5 Kondisi Pada Penelusuran Ke Lima

Simpul Yang Diperiksa Urutan Simpul

G dan E {S,A,C,E,G},{S,B,D,G,E}

(29)

15

Gambar II-6 Penulusuran Ke Lima

Penelusuran dilanjutkan dengan langkah pencarian simpul sama seperti pencarian sebelumnya yang mana pada kondisi ini, simpul yang diperiksa adalah simpul simpul D dan C.

Tabel II-6 Kondisi Pada Penelusuran Ke Enam Simpul Yang Diperiksa Urutan Simpul

D dan C {S,A,C,E,G,D},{S,B,D,G,E,C}

{S,B,D,G,E,C,A}, {S,A,C,E,G,D,H}

(30)

Penelusuran dilanjutkan dengan memeriksa simpul A dan H. Pada saat penelusuran simpul H, solusi simpul tujuan telah ditemukan oleh karena itu, pencarian selesai dengan menghasilkan solusi tujuan dengan solusi S-A-C-E-G-D-H-F.

Gambar II-8 Tujuan Ditemukan II.5 Struktur Data

Struktur data adalah suatu kumpulan objek-objek data yang memiliki aturan (terorganisir) yang kemudian digolongkan berdasarkan operasi-operasi untuk memanipulasinya. Kompponen yang dimuat daam struktur data ini dapat berupa objek data elementer atau objek terstruktur lainnya. Contoh objek data terstruktur adalah array, record, list, stack/tumpukan, quwuw/antrian, tree/pohon, set/himpunan, file/berkas dan lain-lain.

Atribut-atribut penting untuk suatu tipe data terstruktur meliputi: 1. Jumlah komponen

(31)

17

komponennya tidak berubah dan struktur data dinamis yang jumlah komponennya dapat berubah.

2. Tipe untuk setiap komponen

Apabila tipe data untuk seluruh komponennya harus sama, maka disebut struktur data homogen, dan bila dimungkinkan komponennya mempunyai tipe yang berbeda-beda, maka disebut struktur data heterogen.

3. Nama-nama untuk memilih komponen

Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array, hal ini dilakukan dengan sebuag subscript/indeks berupa angka.

4. Jumlah maksimum komponen

Untuk sebuah struktur data dinamis mungkin perlu ditentukan dengan jelas.

5. Pengorganisasian semua komponennya.

Susunan yang paling umum adalah berupa barisan linier seperti pada array

berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linear seperti array multi dimensi dan juga pohon/tree.

Operasi-operasi pada struktur data meliputi: 1. Operasi seleksi komponen

(32)

2. Operasi struktur data secara keseluruhan

Operasi ini memungkinkan struktur data secara keseluruhan sebagai argumenya dan menghasilkan struktur data yang baru.

3. Penyisipan dan penghapusan komponen

Operasi ini akan mengubah jumlah komponen dan berpengaruh pada representasi dan pengelolaan penyimpanan.

4. Pembuatan dan penghapusan struktur data [11].

II.6 Rute Terpendek

Masalah rute terpendek dapat didefinisikan sebagai graf, baik tidak berarah, berarah atau campuran. Masalah ini juga terkadang disebut single-pair

shortest path problem, dan dibedakan sebagai berikut:

1. Single-source shortest path problem, di mana kita harus menemukan jalan

terpendek dari sumber titik v untuk semua simpul lain dalam grafik.

2. Single-destination shortest path problem, di mana kita harus menemukan

jalur terpendek dari semua simpul dalam grafik diarahkan ke tujuan simpul tunggal v. Masalah ini dapat direduksi menjadi single-source shortest path

problem dengan membalik busur dalam grafik terarah.

3. All-pairs shortest path problem, di mana kita harus menemukan jalur

terpendek antara setiap pasangan dari simpul v, v' dalam grafik [12].

II.7 Peta

(33)

19

fotogrametri (pembuatan peta dengan teknik fotografi), kompilasi peta dan reproduksi peta.

Pada dasarnya peta berfungsi sebagai alat komunikasi. Peta menginformasikan kondisi suatu wilayah secara sederhana sehingga menjadi mudah dipahami. Peta juga merupakan alat bantu untuk mempelajari suatu wilayah tanpa perlu mendatangi tempat tersebut.

Lebih lanjut, fungsi peta adalah sebagai berikut.

1. Untuk menggambarkan atau memperlihatkan bentuk muka bumi. 2. Untuk menunjukan posisi dan letak

3. Untuk menunjukan jarak dan luas

4. Sebagai media informasi untuk berbagai keperluan

Peta tebagi berdasarkan jenis data, skala peta dan bentuk peta. Berdasarkan jenis data, peta terbagi atas peta tematik yaitu peta yang menggambarkan unsur/kenampakan, baik yang bersifat kualitatif dan kuantitatif, dan berhubungan dengan tema tertentu saja, peta topografi yaitu peta yang menggambarkan unsur-unsur topografi di suatu wilayah dan memuat informasi relief (tinggu rendahnya permukaan buni) yang dihubungkan dengan garis kontur.

Berdasarkan sumber data, peta terdiri dari peta dasar, yaitu peta yang menjadi acuan dalam pembuatan peta-peta tematik, peta topografi, peta turunan. Peta turunan yaitu peta yang diturunkan dari peta induk dengan skala lebih kecil dan umumnya telah mengalami proses pemilahan dan penyederhanaan informasi.

(34)

Dan berdasarkan bentuknya, peta terdiri dari peta analog, peta streometri dan peta digital yaitu peta yang diolah dengan bantuan komputer dan disimpan dalam data digital [13].

II.8 Tools Pemodelan Perangkat Lunak II.8.1 UML (Unified Modeling Language)

UML singkatan dari Unified Modeling Language yang berarti bahasa pemodelan standar. Ketika kita membuat model menggunakan konsep UML ada aturan-aturan yang harus diikuti. Bagaimana elemen pada model-model yang kita bua berhubungan satu dengan lainnya harus mengikuti standar yang ada. UML

bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya.

UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk: 1. Merancang perangkat lunak.

2. Sarana komunikasi antara perangkat lunak dengan proses bisnis.

3. Menjabarkan sistem secara terinci untuk analisa dan mencari apa yang diperlukan sistem.

4. Mendokumentasikan sistem yang ada, proses-proses dan organisasinya.

Beberapa literatur menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan. Namun demikian model-model itu dapat dikelompokan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain:

1. Diagram kelas. Bersifat statis. Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi serta relasi-relasi.

(35)

21

3. Diagram Use-Case. Bersifat statis. Diagram ini memperlihatkan himpunan

use-case dan aktor-aktor (suatu jenis khusus dari kelas). Diagram ini

sangat penting terutama untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna.

4. Diagram interaksi dan Sequence (urutan). Bersifat dinamis. Diagram urutan adalah diagram interaksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu.

5. Diagram komunikasi. Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi struktural daru objek-objek yang menerima serta mengirimkan pesan.

6. Diagram suksesorchart. Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status, transisi, kejadian serta aktifitas.

7. Diagram aktivitas. Bersifat dinamis. Diagram aktivitas ada;ah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem.

8. Diagram komponen. Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen – komponen yang telah ada sebelumnya.

9. Diagram deployment. Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (run time) [14].

II.8.2 DFD

Data Flow Diagram (DFD) menggambarkan aliran data atau informasi

(36)

DFD merupakan serangkaian diagram yang menggambarkan kegiatan-kegiatan yang ada dalam suatu sistem. Teknik pembuatan DFD dimulai dengan menggambarkan sistem secara global dan dilanjutkan dengan analisis masing-masing bagian. Pada awalnya, digambarkan konteks diagram yang

menggambarkan sebuah sistem secara menyeluruh yang akan diinvestigasi. Konteks diagram tersebut dapat dikatakan sebagai DFD level 0. Analisis sistem yang lebih detail selanjutnya dapat dilakukan dengan menggambarkan DFD level 1, 2 dan seterusnya. Kebanyakan investigasi akan dihentikan pada DFD level 2.

Data Flow Diagram (DFD) secara umum harus dapat dimengerti oleh programer

karena akan menjadi panduan untuk pembuatan program.

Untuk memperoleh gambaran logika dari sistem yang diinginkan dapat digambarkan dalam logical model. Logical model dari sistem informasi lebih menjelaskan kepada pengguna bagaimana nantinya fungsi-fungsi pada sistem informasi secara logika akan bekerja. Logical model secara keseluruhan dan lebih rinci tentang proses, input, output dan storage [15].

II.9 Tools Implementasi II.9.1 Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencangkup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat piranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsiun dari 34 perusahaan piranti keras, piranti lunak dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile dan Nvidia.

Sistem operasi yang mendasari Android dilisensikan di bawah GNU, Genereal Public Lisensi Versi 2 (GPLv2), yang sering dikenal dengan istilah

(37)

23

terms. Android didistribusikan dibawah lisensi Apache Software (ASL/Apache2), yang memungkinkan untuk distribusi kedua dan seterusnya. Pengembang aplikasi Android diperbolehkan untuk mendistribusikan aplikasi mereka dibawah skema lisensi apapun yang mereka inginkan [16].

II.9.2 Eclipse

Eclipse adalah IDE yang paling populer untuk pengembangan Android

karena memiliki plug-in yang tersedia untuk memfasilitasi pengembangan Android. Selain itu, Eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan aplikasi Android, ini terbukti dengan adanya penambahan plugins untuk Eclipse untuk membuat projek Android dimana source

software langsung dari situs resmi Google [16].

II.9.3 Web Service

Web service adalah suatu sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas dan interaksi antar sistem pada suatu jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layanan-layanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. Web service menyimpan data informasi dalam format XML, sehingga data ini dapat diakses oleh sistem lain walaupun berbeda platform, sistem operasi, maupun bahasa compiler.

Web service memiliki tiga entitas dalam arsitekturnya, yaitu:

1. Service Requester (peminta layanan). Peminta layanan yang mencari

(38)

2. Service Provider (penyedia layanan). Berfungsi untuk menyediakan layanan/service dan mengolah sebuah registry agar layanan-layanan tersebut dapat tersedia.

3. Service Registry (daftar layanan). Berfungsi sebagai lokasi central

yang mendeskripsikan semua layanan/service yang telah di-register [17].

II.9.4 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau yang dikenal dengan DBMS (database management system), database ini

multithread, multi-user. MySQL AB membuat MySQL tersedia sebagai perangkat

lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus yang bersifat khusus.

MySQL didistribusikan secara gratis dibawah lisensi GPL (General Public License). Di mana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komesial. MySQL sebenarnya merupakan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan penoperasian data dikerjakan dengan mudah secara otomatis.

Sebagai databse server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya, terutama dalam kecepatan. Berikut ini beberapa keistimewaan MySQL, antara lain:

1. Portability

(39)

25

2. Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa menglami masalah atau konflik.

3. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.

4. Scalability dan limits

MySQL mampu menangani database dalam skala besar, jumlah record

(40)
(41)

27 BAB III

ANALISIS DAN PERANCANGAN SISTEM III.1 Analisis Sistem

Analisis sistem merupakan kegiatan penguraian suatu sistem informasi yang utuh dan nyata ke dalam bagian-bagian atau komponen-komponen komputer yang bertujuan untuk mengidentifikasi serta mengevaluasi masalah-masalah yang muncul, hambatan-hambatan yang mungkin terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. Tahapan yang dilakukan dalam analisis ini yaitu :

1. Analisis Kasus

2. Analisis Struktur Data 3. Analisis Strategi 4. Analisis Algoritma

5. Analisis Kebutuhan Non Fungsional 6. Analisis Data

7. Analisis Kebutuhan Fungsional

III.1.1 Analisis Kasus

Rute terpendek merupakan salah satu solusi ketika kita melakukan suatu perjalanan dari suatu lokasi menuju lokasi lain baik untuk melakukan perjalanan wisata ataupun perjalanan dikota tempat kita tinggal khususnya di kota Tasikmalaya karena dengan rute terpendek, kita dapat menghemat biaya dan menghemat waktu. Namun terkadang kita tidak mengetahui rute terpendek untuk menuju suatu lokasi di kota Tasikmalaya karena banyaknya rute yang terdapat pada kota tersebut.

(42)

penelitian dari Danardi Gunawan [4]. Namun pada algoritma ant colony, terdapat beberapa kelemahan yaitu:

1. Pencarian optimalnya tergantung dari jumlah iterasi perhitungan yang digunakan.

2. Semakin banyak data yang diolah, tingkat akurasinya pun semakin menurun.

3. Membutuhkan nilai-nilai pada implementasinya.

4. Masih memiliki kesalahan dalam pencarian titik, karena di dalam sistem ini menggunakan random yang kurang optimal.

Dengan kelemahan yang ada pada algoritma ant colony, diperlukan untuk menganalisis performansi algoritma yang diharapkan dapat lebih baik dari algoritma ant colony dalam mencari rute terpendek di kota Tasikmalaya, salah satunya algoritma pencarian beam. Dengan menganalisis algoritma pencarian beam, maka akan diketahui perfomansi algoritma pencarian beam pencarian rute terpendek di kota Tasikmalaya.

III.1.2 Analisis Struktur Data

Graph merupakan struktur data yang tersusun atas simpul-simpul atau titik-titik (Simpul) yang terhubung satu sama lain dengan garis-garis (edge). Secara matematis, graph dinyatakan sebagai berikut:

G = (V,E) Dimana:

G = Graph

V= Simpul atau vertex, simpul E = Sisi, busur atau edge

(43)

29

[image:43.595.195.461.159.368.2]

graph berarah, urutan pasangan simpul sangat diperhatikan karena dapat menyatakan hal yang berbeda.

Gambar III-1 Graph Berarah

Pada gambar Gambar III-1 Graph Berarah, dapat dilihat bahwa dua busur yang menghubungkan (Yogyakarta, Surabaya) dan (Surabaya, Yogyakarta) menyatakan hal yang berbeda. Untuk busur yang menghubungkan simpul Yogyakarta dan Surabaya, simpul Yogyakarta dinamakan sebagai simpul awal

(initial suksesor) dan simpul Surabaya dinamakan sebagai simpul terminal.

Sebaliknya, pada busur yang menghubungkan simpul Surabaya dan Yogyakarta, simpul Surabaya merupakan simpul awal dan simpul Yogyakarta adalah simpul terminal.

(44)
[image:44.595.168.433.115.326.2]

Gambar III-2 Graph Tidak Berarah

Dari gambar Gambar III-2 Graph Tidak Berarah dapat dilihat bahwa pasangan simpul (Bandung, Garut) dan (Garut, Bandung) menyatakan hal yang sama karena busur yang ada tidak memiliki orientasi arah. Graph dapat dinyatakan sebagai sebuah struktur data, atau secara spesifik dinamakan sebagai ADT (abstract data type) yang terdiri dari kumpulan simpul dan sisi yang membangun hubungan antar simpul. Secara umum terdapat dua macam representasi dari struktur data graph, yang pertama adjacency list dan yang kedua

adjacency matrix.

Adjacency list merupakan bentuk representasi dari busur atau sisi dalam

(45)

31

Gambar III-3 Adjency List

Graph pada Gambar III-3 Adjency List dapat digambarkan sebagai senarai {A,B}, {A,C} dan {B,C}. Representasi dari adjacency list dapat dilihat pada

Tabel III-1 Representasi Adjacency List.

Tabel III-1 Representasi Adjacency List

Simpul Kedekatan Senarai Dari Simpul yang Berhubungan A Dekat dengan B,C

B Dekat dengan A,C C Dekat dengan A,B

Salah satu kekurangan dari representasi adjacency list adalah tidak adanya tempat untuk menyimpan nilai yang melekat pada sisi yang mana contoh nilai ini adalah nilai jarak simpul.

(46)

Gambar III-4 Graph Tak Berarah

[

[image:46.595.246.360.113.277.2]

]

Gambar III-5 Representasi Adjacency Matrix Dari Gambar III-4 Kelebihan dari adjacency matrix ini adalah elemen matriksnya dapat diakses langsung melalui indeks. Sedangkan kekurangannya bila graph memiliki jumlah sisi atau busur yang relatif sedikit, kebutuhan ruang hash tabel untuk matriks menjadi boros dan tidak efisien karena komputer menyimpan elemen yang tidak perlu.

III.1.3 Analisis Strategi

(47)

33

Algoritma ini merupakan optimasi dari algoritma best-first search. Algoritma best-first search merupakan gabungan dengan mengambil kelebihan dari algoritma breadth-first search dan algoritma dept-first search. Pada setiap langkah proses algoritma best-first search, kita akan memilih simpul-simpul dengan menggunakan fungsi heuristik yang memadai pada setiap simpul yang kita pilih dengan menggunakan aturan-aturan tertentu untuk menghasilkan penggantinya. Algoritma best-first search memperbolehkan pencarian ke level yang lebih rendah jika nilai heuristik di simpul level yang lebih tinggi memiliki nilai yang lebih buruk. Cara kerja algoritma best-first search adalah sebagai berikut:

1. Asumsikan senarai untuk simpul yang sudah dibangkitkan namun belum diuji sebagai list OPEN dan senarai untuk simpul yang telah diuji sebagai CLOSE.

2. Masukan simpul awal pada list OPEN.

3. Kerjakan langkah-langkah berikut hingga tujuan ditemukan atau antrian OPEN sudah kosong:

a. Ambil simpul terbaik dari list OPEN.

b. Bangkitkan semua suksesor dari simpul yang ada di list OPEN. c. Untuk setiap suksesor kerjakan:

 Jika simpul tersebut belum pernah dibangkitkan, periksa simpul tersebut dan masukkan ke OPEN;

 Jika simpul tersebut sudah pernah dibangkitkan, ubah parent jika lintasan baru lebih menjanjikan. Hapus simpul tersebut dari antrian OPEN.

III.1.4 Analisis Algoritma

(48)

1. Langkah kerja algoritma beam 2. Flowchart

3. Pseudocode

III.1.4.1Algoritma Pencarian beam

Algoritma pencarian beam merupakan algoritma yang hanya menyimpan nilai terbaik dan menghapus simpul yang tidak digunakan karena memiliki nilai yang besar. Cara kerja algoritma pencarian beam adalah sebagai berikut:

1. Masukan besar nilai beam.

2. Periksa simpul tetangga dari simpul awal hingga tidak ada lagi simpul yang dapat diperiksa dan simpan semua simpul tersebut ke dalam antrian. Bila pada pencarian ini terdapat simpul tujuan, simpan simpul sebagai solusi dan pencarian selesai.

3. Bandingkan nilai dari simpul-simpul pada array antrian. Simpul dengan nilai terkecil adalah simpul yang akan dipilih dan di simpan sebagai solusi dan simpul yang disimpan tersebut sebesar nilai beam. 4. Bila solusi belum ditemukan, pencarian akan dilakukan lagi dengan

memperluas pencarian dari simpul-simpul yang bertetangga dengan simpul yang dipilih sebelumnya hingga tujuan ditemukan.

(49)

35

Gambar III-6 Flowchart Algoritma Pencarian beam

[image:49.595.179.450.102.512.2]

Pseudocode algoritma pencarian beam dapat dilihat pada Tabel III-2 Pseudocode Algoritma Pencarian beam.

Tabel III-2 Pseudocode Algoritma Pencarian beam

No Algoritma Pencarian Beam

1 Procedure Beam()

2 {IS : jumlah simpul dan besar nilai beam telah didapatkan

3 FS : Mendapatkan solusi terbaik dari pencarian algoritma

beam}

4

5 Kamus

6 const maxsize = 100

(50)

No Algoritma Pencarian Beam

8 type antrian : array[0..maxsize] of integer

9 beam, i, j, h : integer

10 Algoritma

11 i  0

12 input beam

13 while(solusi[i] != null) do

14 j  0

15 for j = 0 to j < beam do

16 if(simpul = solusi[j]) then

17 solusi[j]  simpul

18 j beam-1

19 else

20 antrian[j]  simpul

21 endif

22 j  j+1

23 endfor

24

25 j0

26 while (antrian[j] != null) do

27 compare(h)

28 simpul  h

29 delete(antrian[j])

30 solusi[j]  simpul

31 j  j+1

32 endwhile

33 i i+1

34 endwhile

35 endprocedure

Untuk perhitungan Big-O algoritma pencarian beam, dapat dilihat pada Tabel III-3 Perhitungan Big-O Algoritma Beam.

Tabel III-3 Perhitungan Big-O Algoritma Beam

No Pseudocode Nilai Big-O

1 i  0 O(1)

2 input beam O(1)

3 while(solusi[i] != null) do O(n)

4 j  0 O(1)

5 for j = 0 to j < beam do O(n)

6 if(simpul = solusi[j]) then O(1)

7 solusi[j]  simpul O(1)

8 j beam-1 O(1)

(51)

37

No Pseudocode Nilai Big-O

10 j  j+1 O(1)

11 j0 O(1)

12 while (antrian[j] != null) do O(n)

13 compare(h) O(1)

14 simpul  h O(1)

15 delete(antrian[j]) O(1)

16 solusi[j]  simpul O(1)

17 j  j+1 O(1)

18 i i+1 O(1)

Berdasarkan hasil perhitungan performansi algoritma pencarian beam menggunakan notasi Big-O, didapat kompleksitas waktu dengan O(n2).

III.1.4.2Kasus Algoritma Pencarian beam

(52)
(53)

39

Langkah Peancarian:

1. Pencarian dimulai dengan menelusuri seluruh lokasi yang bertetangga dengan Karang Resik, dimana simpul yang bertetangga pada kondisi ini adlah Terminal Pancasila dan Tugu Koperasi. Karena hanya dua simpul yang bertetangga dan nilai beam yang digunakan adalah dua, maka kedua lokasi tersebut merupakan simpul terbaik yang akan disimpan ke dalam solusi dan diperluas pencariannya.

Tabel III-4 Kondisi Awal Penelusuran Simpul Yang Diperiksa Urutan Simpul

Karang Resik (Karang Resik)

Tabel III-5 Kondsi Penelusuran Pertama Simpul Yang Diperiksa Urutan Simpul

Karang Resik (Karang Resik)

(Karang Resik, Terminal Pancasila), (Karang Resik, Tugu Koperasi) 2. Pencarian dilanjutkan dengan memperluas pencarian dengan

memeriksa seluruh simpul yang bertetangga dengan Terminal Pancasila dan Tugu Koperasi. Pada kondisi ini, lokasi yang bertetangga dengan Terminal pancasila adalah Alun-alun, RSUD, TMP Kusuma Bangsa. Sedangkan yang bertetangga dengan Tugu Koperasi adalah Batik Tasik dan Karang Resik. Dengan memperhatikan jarak, maka lokasi yang diambil adalah Batik Tasik dan RSUD.

Tabel III-6 Kondisi Penelusuran ke Dua Simpul Yang Diperiksa Urutan Simpul

(54)

3. Pencarian dilanjutkan dengan memperluas pencarian dengan memeriksa seluruh simpul yang bertetangga dengan Batik Resik dan RSUD. Pada kondisi ini, lokasi yang bertetangga dengan Batik Resik adalah Payung Tasik dan Mesjid Agung. Sedangkan yang bertetangga dengan RSUD adalah Alun-alun, GOR Sukapura, Terminal Pancasila dan TMP Kusuma Bangsa. Berdasarkan jarak, maka lokasi yang dipilih adalah Alun-Alun dan Payung Tasik.

Tabel III-7 Kondisi Penelusuran ke Tiga Simpul Yang Diperiksa Urutan Simpul

RSUD dan Batik Tasik (Karang Resik, Terminal Pancasila, RSUD), (Karang Resik, Tugu Koperasi, Batik Tasik)

(Karang Resik, Terminal Pancasila, RSUD, Alun-Alun), (Karang Resik, Tugu Koperasi, Batik Tasik, Payung Tasik)

4. Pencarian dilanjutkan dengan memperluas pencarian dengan memeriksa seluruh lokasi yang bertetangga dengan Payung Tasik dan Alun-alun. Pada kondisi ini, lokasi yang bertetangga dengan Payung Tasik adalah Waterboom. Sedangkan yang bertetangga dengan Alun-alun adalah GOR Sukapura, Mall, Mesjid Agung dan RSUD. Berdasarkan jarak, maka lokasi yang dipilih adalah Mesjid Agung dan Waterboom.

Tabel III-8 Kondisi Penelusuran ke Empat Simpul Yang Diperiksa Urutan Simpul

Alun-alun dan Payung Tasik (Karang Resik, Terminal Pancasila, RSUD), (Karang Resik, Tugu Koperasi, Batik Tasik)

(55)

41

5. Pencarian dilanjutkan dengan memperluas pencarian dengan memeriksa seluruh lokasi yang bertetangga dengan Waterboom dan Masjid Agung. Pada kondisi ini, lokasi yang bertetangga dengan Waterboom adalah Kawasan Lingga Yani. Sedangkan lokasi yang bertetangga dengan Masjid Agung adalah Alun-alun, Batik Tasik, Makam Sakarembang dan Mall. Karena lokasi tujuan telah ditemukan pada penelusuran dari Mesjid Agung, maka pencarian di hentikan. Jadi rute terpendek dari Karang Resik menuju Mall adalah melalui Terminal Pancasila, menuju RSUD, menuju Alun-alun, menuju Mesjid Agung hingga sampai di lokasi tujuan yaitu Mall.

III.1.5 Spesifikasi Kebutuhan Perangkat Lunak

Spesifikasi kebutuhan perangkat lunak diperlukan untuk mempelajari kebutuhan dan menetapkan fungsi perangkat lunak. Pada spesifikasi perangkat lunak disini dibagi menjadi dua yaitu SKPL-F (Spesifikasi Perangkat Lunak Fungsional) dan SKPL-NF (Spesifikasi Perangkat Lunak Non Fungsional. Pada aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya, spesifikasi kebutuhan perangkat lunak fungsional dapat dilihat pada Tabel III-9 Spesifikasi Kebutuhan Perangkat Lunak Fungsional dan spesifikasi kebutuhan perangkat lunak non fungsional dapat dilihat pada

Tabel III-10 Spesifikasi Kebutuhan Perangkat Lunak Non Fungsional. .

Tabel III-9 Spesifikasi Kebutuhan Perangkat Lunak Fungsional

Kode Kebutuhan

SKPL-F001 Perangkat lunak dapat menerima inputan lokasi awal dan destinasi lokasi tujuan.

SKPL-F002 Perangkat lunak dapat mengukur waktu proses pencarian rute terpendek.

(56)

Tabel III-10 Spesifikasi Kebutuhan Perangkat Lunak Non Fungsional

Kode Kebutuhan

SKPL-NF001 Perangkat lunak berbasis mobile Android SKPL-NF002 Sistem operasi minimal android 2.3

SKPL-NF003 Bahasa pemrograman yang digunakan adalah Java SKPL-NF004 Pemetaan menggunakan Google Map

SKPL-NF005 Web service hanya menyimpan nama lokasi dan koordinat lokasi

III.1.6 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional adalah langkah dimana seorang pembangun perangkat lunak (software developer) menganalisis sumber daya yang akan digunakan dan menggunakan perangkat lunak yang dibangun. Perangkat keras dan perangkat lunak yang dimiliki harus sesuai dengan kebutuhan atau permintaan, sehingga dapat ditentukan kompabilitas aplikasi yang dibangun terhadap sumber daya yang ada.

Apabila terjadi ketidakcocokan antara fakta dan kebutuhan maka perlu dilakukan penyesuaian fakta terhadap kebutuhan yang ada. Apabila kebutuhan tidak dipenuhi maka sistem yang dibangun tidak akan berjalan baik sesuai yang diharapkan.

Analisis kebutuhan non fungsional yang dilakukan dibagi dalam tiga tahap, yaitu:

1. Analisis perangkat keras (hardware). 2. Analisis perangkat lunak (software). 3. Analisis pengguna (user).

III.I.6.1Analisis Kebutuhan Perangkat Keras

Perangkat keras yang digunakan untuk membangun aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya memiliki spesifikasi sebagai berikut:

(57)

43

2. VGA 2 Gb 3. RAM 4 Gb 4. Harddisk 500 Gb

Sedangkat perangkat lunak minimal agar dapat menjalankan aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya adalah sebagai berikut:

1. Processor 800 Hz 2. RAM 512 Mb

3. Memori kosong 5 Mb 4. Sistem operasi Android 2.3

III.I.6.2Analisis Kebutuhan Perangkat Lunak

Adapun perangkat lunak yang digunakan untuk membangun aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya adalah sebagai berikut:

1. Eclipse Indigo

2. Macromedia Dreamweaver 5 3. Wamp Server 5

III.I.6.3Analisis Kebutuhan Perangkat Pikir

Analisis kebutuhan perangkat pikir diperlukan agar kemampuan perangkat lunak yang dibangun menjadi jelas. Beberapa analisa dan kebutuhan yang berkaitan dengan perangkat lunak yang akan dibangun nanti yaitu analisa dan kebutuhan pengguna. Adapun yang diperlukan pada aplikasi android.

1. Mengerti penggunaan mobile dengan sistem operasi Android. 2. Mengerti secara umum penggunaan internet pada mobile Android.

(58)

2. Dapat mengolah data yang dengan fitur yang disediakan didalam web.

III.1.7 Analisis Data / File

Analisis data adalah kegiatan menganalisis data yang akan diolah dan disimpan dalam database. Dalam analisis ini direpresentasikan darimana data berasal dan atribut dari data tersebut. Berikut adalah ERD dari basis data yang digunakan dalam aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya yang dapat dilihat pada Gambar III-8 Entitas Aplikasi Simulasi Pencarian Rute Terpendek di Kota Tasikmalaya.

Gambar III-8 Entitas Aplikasi Simulasi Pencarian Rute Terpendek di Kota Tasikmalaya

Penjelasan untuk entitas-entitas pada gambar Gambar III-8 adalah sebagai berikut.

Tabel III-11 Entitas ERD No Entitas Atribut Keterangan

1. Admin Username Nama pengguna admin Password Sandi admin

2. Lokasi Id Nilai kunci data lokasi Nama_Lokasi Nama lokasi

(59)

45

III.1.8 Analisis Kebutuhan Fungsional

Analsis kebutuhan fungsional mendefinisikan aksi dasar yang ada dalam perangkat lunak yang dibangun untuk menerima dan memproses masukan dan menghasilkan keluaran.

III.1.8.1 Diagram Konteks

Diagram konteks adalah diagram yang menggambarkan secara umum yang menjadi masukkan, proses, dam keluaran yang terjadi pada sebuah sistem. Diagram konteks untuk perangkat lunak yang akan dibangun sebagai berikut :

info_login info_data_lokasi

data_login data_lokas i

0 Simulasi Pencarian Rute

Terpendek Admin

Gambar III-9 Diagram Konteks Web Service

III.1.8.2 DFD Level 1 Web service

(60)

data_lokasi data_lokasi info_data_lokasi

data_lokasi

data_admin info_data_login

data_login

Admin

1 Login

2 Olah Data

Lokasi Lokasi

Gambar III-10 DFD Level 1 Web Service

III.1.8.3 DFD Level 2 Web Service

Pada DFD level 2 web service, terdapat tiga proses utama yaitu tambah data lokasi, ubah data lokasi dan hapus data lokasi.

1. Tambah Data Lokasi

Pada Proses ini, admin menambahkan data lokasi dengan menginputkan nama lokasi, latitude dan longitude lokasi.

2. Ubah Data Lokasi

Pada Proses ini, admin mengubah data lokasi dengan menginputkan nama lokasi, latitude dan longitude lokasi yang baru.

3. Hapus Data Lokasi

Pada Proses ini, admin menghapus data lokasi.

(61)
[image:61.595.130.516.115.340.2]

47 data_lokasi data_lokasi data_lokasi data_lokasi data_lokasi data_lokasi info_data_lokasi info_data_lokasi data_lokasi info_data_lokasi data_lokasi data_lokasi Admin 2 Ubah Lokasi 3 Hapus Lokasi 1 Tambah Lokasi Lokasi

Gambar III-11 DFD Level 2 Web Service

Berikut ini adalah spesifikasi proses yang mana spesifikasi proses ini akan menjelaskan proses-proses pada DFD dengan lebih terperinci. Spesifikasi proses pada aplikasi simulasi ini dapat dilihat pada Tabel III-12 Spesifikasi Proses.

Tabel III-12 Spesifikasi Proses

NO Proses Keterangan

1

No Proses 1

Nama Proses Login

Input Data Login

Output Info Login

Destination (Tujuan) Admin Logika Proses

Jika Username dan Password benar maka admin masuk ke sistem, jika salah akan muncul info login invalid

2 No Proses 2

Nama Proses Olah Lokasi Data

Input Data Lokasi

Output Info data lokasi

Destination (Tujuan) Admin

Logika Proses 1. Admin dapat mengelola data lokasi 2. Sistem menyimpan semua data-data

(62)

3 No Proses 2.1

Nama Proses Tambah Lokasi

Input Data Lokasi

Output Info Data Lokasi

Destination (Tujuan) Admin

Logika Proses 1. Admin menambahkan data lokasi 2. Sistem menyimpan data yang

ditambahkan oleh admin

4 No Proses 2.2

Nama Proses Ubah Lokasi

Input Data Lokasi

Output Info Data Lokasi

Destination (Tujuan) Admin

Logika Proses 1. Admin mengubah data lokasi

2. Sistem menyimpan perubahan data yang dilakukan oleh admin

5 No Proses 2.3

Nama Proses Hapus Lokasi

Input Data Lokasi

Output Info Data Lokasi

Destination (Tujuan) Admin

Logika Proses 1. Admin menghapus data lokasi 2. Sistem menghapus data yang ingin

dihilangkan oleh admin III.1.8.4 Kamus Data DFD

[image:62.595.86.489.112.468.2]

Kamus data dapat membantu mendefinisikan data yang mengalir dengan lengkap diantara proses, penyimpanan dan entitas luar. Data tersebut dapat berupa masukan ataupun keluaran dari proses sistem. Kamus data pada aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya dapat dilihat padaTabel III-13 Kamus Data DFD.

Tabel III-13 Kamus Data DFD

NO. Data Keterangan

1. Nama data_login

Deskripsi Bersisi data username dan password untuk admin

Struktur Data username+password

Username [A-Z|a-z|0-9]

Password [A-Z|a-z|0-9]

2 Nama data_lokasi

(63)

49

lokasi, dan koordinat lokasi

Struktur Data id,nama_lokasi, latitude, longitude

Id [0-9]

nama_lokasi [A-Z|a-z|0-9]

Latitude [0-9]

Longitude [0-9]

III.1.8.5 Usecase Diagram Aplikasi Simulasi Android

Use case merupakan gambaran skenario dari interaksi antara user dengan sistem. Sebuah diagram use case menggambarkan hubungan antara aktor dan kegiatan yang dapat dilakukan terhadap aplikasi. Berikut adalah usecase model untuk aplikasi simulasi android.

Gambar III-12 Usecase Diagram Aplikasi Simulasi III.1.8.5.1 Definisi Aktor

Definisi aktor berfungsi menjelaskan peran setiap aktor yang terdapat pada use case. Definisi aktor pada aplikasi simulasi ini adalah sebagai berikut.

System

User

Pencarian Rute

Update Lokasi

PengaturanParameter

(64)

Tabel III-14 Definisi Aktor

No. Aktor Deskripsi

1 User Pengguna yang menggunakan aplikasi

simulasi pencarian rute terpendek. III.1.8.5.2 Definisi Use Case

Definisi Use Case berfungsi untuk menjelaskan proses yang terdapat pada setiap use case. Definisi usecase pada aplikasi simulasi ini dapat dilihat padaTabel III-15 Definisi Use Case.

Tabel III-15 Definisi Use Case

No. Use Case Deskripsi

1 Pencarian Rute Proses untuk mencari rute terpendek

2 Update Lokasi Proses untuk memperbaharui data-data lokasi 3 Pengaturan Proses untuk mengatur parameter algoritma

pencarian beam

III.1.8.5.1 Skenario Usecase

(65)
[image:65.595.106.518.103.767.2]

51

Tabel III-16 Skenario Use Case Pencarian Rute Identifikasi

Nomor 1

Nama Pencarian Rute

Tujuan Menampilkan form pencarian lokasi

Deskripsi Proses untuk memanggil form pencarian lokasi

Aktor User

Skenario Utama

Kondisi Awal User berada menu awal

Aksi Aktor Reaksi Sistem

1. Memilih menu Pencarian Rute

2. Menampilkan form pencarian lokasi 3.Memasukan lokasi awal dan lokasi

tujuan

4.Menekan tombol cari 5.Membaca inputan lokasi awal dan tujuan 6.Mencari rute dengan algoritma pencarian beam

7. Menampilkan hasil pencarian rute Kondisi Akhir Sistem menampilkan hasil pencarian rute

Tabel III-17 Skenario Use Case Update Lokasi Identifikasi

Nomor 2

Nama Update Lokasi

Tujuan Menampilkan kembali menu awal Deskripsi Proses untuk memperbaharui data lokasi

(66)

Skenario Utama

Kondisi Awal User berada menu awal

Aksi Aktor Reaksi Sistem

1. Memilih menu update lokasi

2. Mengambil data lokasi dari web service

3. Menampilkan menu utama Kondisi Akhir Sistem memperbaharu

[image:66.595.78.485.140.704.2]

i data lokasi dan kembali ke menu utama

Tabel III-18 Skenario Use Case Pengaturan Identifikasi

Nomor 3

Nama Pengaturan Parameter

Tujuan Mengatur Parameter Algoritma Pencarian Beam

Deskripsi Proses untuk mengatur nilai parameter algoritma pencarian beam

Aktor User

Skenario Utama

Kondisi Awal Berada di form pencarian lokasi

Aksi Aktor Reaksi Sistem

1.Menekan tombol pengaturan 2.Menampilkan form pengaturan parameter

3.Memasukan nilai parameter

(67)

53

III.1.8.6 Activity Diagram

[image:67.595.188.435.244.534.2]

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada eksekusi.

Gambar III-13 Activity Diagram Pencarian Lokasi

User Sistem

Menampilkan form pencarian

lokasi

Memasukan Lokasi Awal dan Tujuan

Menekan tombol cari

Menampilkan hasil pencarian

rute Membaca inputan lokasi awal dan tujuan

Mencari rute dengan algoritma pencarian beam Memilih menu

(68)
[image:68.595.160.407.123.362.2] [image:68.595.159.408.422.704.2]

Gambar III-14 Activity Diagram Update Lokasi

Gambar III-15 Activity Diagram Pengaturan Parameter

User Sistem

Memilih menu

update lokasi Mengambil datalokasi dari web service

Menampilkan menu utama

User Sistem

Menampilkan form pengaturan

parameter

Memasukan nilai parameter

Menyimpan parameter Menekan

tombol simpan Menekan tombol

(69)

55

III.1.8.7 Class Diagram

Kelas merupakan satu set objek yang memiliki atribut dan perilaku yang sama (Whitten, 2004: 410). Kelas dapat juga diartikan sebagai suatu definisi sumber daya yang termasuk didalamnya informasi-informasi yang menggambarkan fitur suatu entitas dan bagaimana penggunaanya.

[image:69.595.120.506.304.612.2]

Berikut adalah class diagram untuk aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya.

Gambar III-16 Class Diagram Aplikasi Simulasi III.1.8.8 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan

disekitar sistem (termasuk pengguna, display, dan sebagainya). Sequence diagram algoritma skripsi db BeamQUeue +removeAll() +addBack() +getPaths() +sort() HandlerLokasi +refresh() +availableDestination() +indexName() +hasString)() +indexId() Rute

+public boolean equals() +public String toString()

(70)
[image:70.595.168.407.174.389.2] [image:70.595.191.393.452.715.2]

terdiri atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait).

Gambar III-17 Pemilihan Menu Pencarian Lokasi

Gambar III-18 Pemilihan Menu Update

: User

PencarianRute HandlerLokasi Beam

1 : Memilih Menu Pencarian Rute

2 : Memasukan Lokasi Awal dan Tujuan

3 : doProses()

4 : getLokasi()

5 : indxName()

6 : doStep()

7 : Menampilkan Hasil Pencarian

: User

ActivityUtama

1 : Memilih Menu Update

2 : updateLokasi()

(71)
[image:71.595.199.440.121.387.2]

57

Gambar III-19 Pengaturan Parameter III.2 Perancangan Sistem

Tahap perancangan merupakan kelanjutan dari proses analisis. Perancangan sistem ini meliputi parancangan basis data, pencangan aristektur perangkat lunak, perancangan struktur menu, perancangan antarmuka, perancangan pesan, jaringan semantik, perancangan prosedural. Semua perancangan yang telah disebutkan diatas harus saling berhubungan agar menciptakan suatu sistem yang baik.

III.2.1 Perancangan Basis Data

Perancangan basis data dalam web service aplikasi simulasi pencarian rute terpendek di kota Tasikmalaya adalah sebagai berikut:

: User

PencarianRute Pengaturan

1 : onCreate()

2 : Setting()

3 : Mengisi Nilai Parameter

4 : onClick()

(72)

Tabel III-19 Perancangan Basis Data No. Nama Basis Data Atribut <

Gambar

Gambar III-1 Graph Berarah
Gambar III-2 Graph Tidak Berarah
Gambar III-5 Representasi Adjacency Matrix Dari Gambar III-4
Tabel III-2 Pseudocode Algoritma Pencarian beam
+7

Referensi

Dokumen terkait

Dari hasil uji coba yang telah dilakukan terhadap masing-masing algoritma penghitungan rute terpendek menggunakan data jaringan jalan utama Indonesia dengan jumlah

Gambar 4.10 Pengujian program ke-2 setelah simpul tujuan ditentukan 42 Gambar 4.11 Pencarian solusi dengan perhitungan manual pengujian program ke-2

Penelitian ini akan melakukan visualisasi pencarian lintasan terpendek pada beberapa buah graph menggunakan algoritma Floyd-Warshall dan algoritma Dijkstra1. Proses

Titik api terletak pada salah satu ruangan yang berada dalam sebuah labirin, sehingga dibutuhkan sebuah algoritma untuk mempercepat pencarian ruang terdekat dari

Pencarian rute jalan pada aplikasi web tersebut dilakukan dengan menggunakan metode algoritma A* yang biasa digunakan dalam game-game petualangan, dimana algoritma akan

Adapun tujuan dilakukannya penelitian ini adalah mengimplementasikan algoritma pencarian rute terpendek (algoritma dijsktra) pada kasus tambal ban di Kota Manado

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

Dalam menentukan simpul yang berprioritas algoritma ini membandingkan setiap nilai bobot dari simpul yang berada pada satu level, selanjutnya nilai bobot dari setiap simpul tersebut