View metadata, citation and similar papers at core.ac.uk brought to you by CORE

provided by Universiti Teknologi Institutional Repository

PENILAIAN KAEDAH LALUAN TERPENDEK : RANGKAIAN JALAN RAYA KAJIAN KES : NEGERI DAN MELAKA

ROHAIZAN BINTI RAMLAN (Sarjana Teknologi Maklumat (Pembuatan), UTM)

Tesis ini telah dikemukankan sebagai memenuhi syarat penganugerahan Ijazah Sarjana Teknologi Maklumat (Pembuatan)

Fakulti Sains Komputer dan Sistem Maklumat Universiti Teknologi Malaysia

OKTOBER 2005 PSZ 19:16 (Pind.1/97)

UNIVERSITI TEKNOLOGI MALAYSIA

BORANG PENGESAHAN STATUS TESIS‹

JUDUL : PENILAIAN KAEDAH LALUAN TERPENDEK RANGKAIAN JALAN RAYA . KAJIAN KES : NEGERI JOHOR DAN MELAKA SESI PENGAJIAN : 2005/2006

Saya ROHAIZAN BINTI RAMLAN ( HURUF BESAR )

mengaku membenarkan tesis (PSM/Sarjana/Doktor Falsafah)* disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut :

1. Tesis adalah hak milik Universiti Teknologi Malaysia. 2. Perpustakaan Universiti Teknologi Malaysia dibenarkan membuat salinan untuk tujuan pengajian sahaja. 3. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran di antara institusi pengajian tinggi. 4. ** Sila tandakan (9 )

(Mengandungi maklumat yang berdarjah keselamatan atau SULIT kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972)

TERHAD (Mengandungi maklumat TERHAD yang telah ditentukan oleh organisasi/badan di mana penyelidikan dijalankan)

— TIDAK TERHAD

Disahkan oleh

(TANDATANGAN PENULIS) (TANDATANGAN PENYELIA)

Alamat Tetap: 53, Jln Ronggeng 26, Prof. Madya Dr. Ab Rahman Ahmad Tmn Nesa, 81300 Nama Penyelia , Johor.______Tarikh: 31 Oktober 2005 Tarikh: 31 Oktober 2005

CATATAN : * Potong yang tidak berkenaan. ** Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak berkuasa/ organisasi berkenaan dengan menyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT atau TERHAD. ‹ Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah dan Sarjana secara penyelidikan, atau disertai bagi pengajian secara kerja kursus dan penyelidikan, atau Laporan Projek Sarjana Muda. “Saya akui bahawa saya telah membaca karya ini dan pada pandangan saya karya ini adalah memadai dari segi skop dan kualiti untuk tujuan penganugerahan Ijazah Sarjana Teknologi Maklumat (Pembuatan).”

Tandantangan : ………………………………………….. Penyelia : Prof. Madya Dr. Ab Rahman Bin Ahmad Tarikh : 31 Oktober 2005 i

yS“a iukakyra in dhal lhsai kjraesy a irdsne aeiuklcun likad nansi rgak y gna-ip atynutas ehaltyas nakslejbusreynm ”.a

gnda Tt :… a NmunP sile :h onRiazn itBalR nm hkira T : 13Obotk re 502 iii

Faiz & Ayra… i

PENGHARGAAN

Dengan nama Allah yang maha pemurah lagi maha penyayang. Syukur kehadrat Illahi kerana dipermudahkan dalam segala urusan.

Jutaan terima kasih kepada Prof. Madya Dr Ab Rahman Bin Ahmad selaku penyelia di atas nasihat dan sokongan serta tunjuk ajar dan bantuan sepanjang perlaksanaan projek ini.

Ribuan terima kasih juga buat pensyarah-pensyarah yang membantu dalam memberikan nasihat serta panduan.

Ucapan teristimewa buat keluarga di atas doa dan sokongan sepanjang pengajian di UTM.

Buat rakan-rakan seperjuangan yang sentiasa bersama-sama dalam memberikan pendapat dan tunjuk ajar ketika diperlukan. ii

ABSTRAK

Penggunaan teknologi moden dalam mencari rangkaian laluan terpendek telah menyebabkan masalah pencarian laluan terpendek antara dua lokasi dapat diselesaikan. Kebanyakkan kajian laluan terpendek menggunakan rangkaian yang dijana secara rawak yang mana tidak mempunyai sifat rangkaian jalan raya yang sebenar. Terdapat pelbagai kaedah klasik yang digunakan untuk mencari laluan terpendek. Antara keadah-kaedah yang digunakan adalah Djikstra, Floyd-Warshall dan Bellman-Ford. Akan tetapi, setiap kaedah berikut mempunyai kekangan dan kelebihan untuk diimplementasi kepada rangkaian jalan raya sebenar. Penilaian akan dibuat dengan pengiraan terhadap kompleksiti algoritma serta masa larian menggunakan komputer. Berdasarkan penilaian, satu kaedah terbaik bagi mencari laluan terpendek rangkaian jalan raya bagi negeri Johor dan Melaka dikenalpasti. iii

ABSTRACT

Modern technology that is used to find the shortest path had clear up problems like finding the shortest path between the two location. Random networking, which didn’t have th e exact road network, is used in most of the shortest path’s research. There are vari ous classical methods that are used to find the shortest path. Some of it are Djikstra, Floyd-Warshall and Bellman-Ford. But every method has it’s restriction and advantage to im plement for the exact road networking. Assessment will be done by calculate the algorithm complexion and runtime using the computer. From the assessment, a proper method is found in order to find Johore’s and ’s shorte st path road networking. iv

KANDUNGAN

BAB PERKARA MUKA SURAT

Penghargaan i Abstrak ii Abstract iii Kandungan iv Senarai Jadual vii Senarai Rajah viii Senarai Istilah ix Senarai Lampiran x

BAB 1 PENGENALAN 1

1.1 Pendahuluan 1 1.2 Penyata Masalah 2 1.3 Kepentingan Kajian 3 1.4 Matlamat Kajian 3 1.5 Objektif Kajian 4 1.6 Skop Kajian 4 1.7 Aliran Bab dan Kajian 5 1.8 Kesimpulan 5

BAB 2 KAJIAN LITERATUR 6

2.1 Pengenalan 6 2.2 Struktur Jalan Raya Negeri Johor 6 v

2.3 Laluan Terpendek 8 2.4 Rangkaian 9 2.4.1 Nod dan Arka 10 2.5 Pengiraan Kompleksiti 11 2.6 Masa Larian 13 2.7 Algoritma-algoritma pilihan 14 2.7.1 Algoritma Djikstra 15 2.7.1.1 Algoritma 15 2.7.1.2 Langkah-langkah 16 penyelesaian 2.7.1.3 Contoh Pengiraan 17 2.7.1.4 Kompleksiti Algoritma 28 2.7.1.5 Perbincangan 28 2.7.2 Algoritma Bellman-Ford 29 2.7.2.1 Algoritma 29 2.7.2.2 Langkah-langkah 30 penyelesaian 2.7.2.3 Contoh Pengiraan 31 2.7.2.4 Kompleksiti Algoritma 42 2.7.2.5 Perbincangan 42 2.7.3 Algoritma Floyd Warshall 43 2.7.3.1 Algoritma 43 2.7.3.2 Langkah-langkah 44 penyelesaian 2.7.3.3 Contoh Pengiraan 45 2.7.3.4 Kompleksiti Algoritma 56 2.8 Perbincangan Umum 56 2.9 Kesimpulan 59

BAB 3 METODOLOGI 60

3.1 Pengenalan 60 3.2 Rangka Kerja Kajian 60 vi

3.3 Fasa 1: Perancangan 61 3.4 Fasa 2: Analisa masalah 62 3.5 Fasa 3: Implementasi 62 3.6 Fasa 4: Hasil 62 3.7 Pecahan Rangka kerja 63 3.8 Kesimpulan 64

BAB 4 HASIL DAN ANALISIS 65

4.1 Pengenalan 65 4.2 Pengiraan Kompleksiti 65 4.3 Masa Larian 67 4.3.1 Perbandingan Pertama 69 4.3.2 Perbandingan Kedua 78 4.4 Analisis 8 4.5 Kesimpulan 97

BAB 5 PERBINCANGAN DAN KESIMPULAN 98

5.1 Pengenalan 98 5.2 Kelebihan Kajian 99 5.3 Kelemahan Kajian 99 5.4 Cadangan Pembaikan 100

BIBLIOGRAFI 101

LAMPIRAN A Perancangan Projek I LAMPIRAN B Perancangan Projek II

vii

LAMPIRAN C Peta Laluan Jalan Raya Negeri Johor dan Melaka LAMPIRAN D Data Laluan Jalan Raya Negeri Johor dan Melaka viii

SENARAI JADUAL

NO. JADUAL TAJUK MUKA SURAT 2.1 Tandaan nod jalan negeri bagi setiap negeri 7 2.2 Rumusan data laluan secara keseluruhan 7 2.3 Rumusan data laluan negeri Johor dan Melaka 8 2.4 Kaitan di antara fungsi polinomial dengan kelajuan 13 komputer 2.5 Penyelesaian langkah 1 18 2.6 Penyelesaian langkah 2 18 2.7 Penyelesaian langkah 3 19 2.8 Penyelesaian langkah 4 19 2.9 Penyelesaian langkah 5 20 2.10 Penyelesaian langkah 6 20 2.11 Penyelesaian langkah 7 21 2.12 Penyelesaian langkah 8 21 2.13 Penyelesaian langkah 9 22 2.14 Penyelesaian langkah 10 22 2.15 Penyelesaian langkah 11 23 2.16 Penyelesaian langkah 12 23 2.17 Penyelesaian langkah 13 24 2.18 Penyelesaian langkah 14 24 2.19 Penyelesaian langkah 15 25 2.20 Penyelesaian langkah 16 25 2.21 Penyelesaian langkah 17 26 2.22 Penyelesaian langkah 18 26 2.23 Penyelesaian langkah 19 27

2.24 Jadual Cij bagi lelaran 1 46 ix

2.25 Jadual Dij bagi lelaran 1 46

2.26 Jadual Cij bagi lelaran 2 47

2.27 Jadual Dij bagi lelaran 2 47

2.28 Jadual Cij bagi lelaran 3 48

2.29 Jadual Dij bagi lelaran 3 48

2.30 Jadual Cij bagi lelaran 4 49

2.31 Jadual Dij bagi lelaran 4 49

2.32 Jadual Cij bagi lelaran 5 50

2.33 Jadual Dij bagi lelaran 5 50

2.34 Jadual Cij bagi lelaran 6 51

2.35 Jadual Dij bagi lelaran 6 51

2.36 Jadual Cij bagi lelaran 7 52

2.37 Jadual Dij bagi lelaran 7 52

2.38 Jadual Cij bagi lelaran 8 53

2.39 Jadual Dij bagi lelaran 8 53

2.40 Jadual Cij bagi lelaran 9 54

2.41 Jadual Dij bagi lelaran 9 54

2.42 Jadual Cij bagi lelaran 10 55

2.43 Jadual Dij bagi lelaran 10 55 2.44 Menunjukkan perbandingan masa larian dan 57 kompleksiti bagi algoritma Floyd-Warshall dan Johnson 2.45 Keputusan perbandingan masa proses bagi 58 algoritma Floyd-Warshall menggunakan set nod yang berbeza 2.46 Keputusan kadar kerumitan algoritma 58 4.1 Jumlah operasi untuk setiap kaedah yang telah 67 dibincangkan 4.2 Hasil larian Floyd-Warshall menggunakan ketiga- 70 tiga perkakasan bagi perbandingan pertama 4.3 Hasil larian Djikstra menggunakan ketiga-tiga 73 perkakasan bagi perbandingan pertama

x

4.4 Hasil larian Bellman-Ford menggunakan ketiga- 76 tiga perkakasan bagi perbandingan pertama 4.5 Hasil larian keseluruhan masa larian bagi Floyd- 79 Warshall bagi perbandingan kedua 4.6 Hasil larian keseluruhan masa larian bagi Djikstra 38 bagi perbandingan kedua 4.7 Hasil larian keseluruhan masa larian bagi Bellman- 68 Ford bagi perbandingan kedua 4.8 Perbandingan kaedah-kaedah laluan terpendek 95 xi

SENARAI RAJAH

NO. RAJAH TAJUK MUKA SURAT 2.1 Contoh graf berarah yang mengandungi enam nod 9 (A,B,C,D,E,F) dan sembilan arka dengan arka yang mempunyai pemberat 2.2 Contoh graf dengan empat nod 10 2.3 Contoh-contoh tandaan nod 10 2.4 Contoh graf dengan arka dan nod 11 2.5 Jenis-jenis arka a: Berpemberat Positif. 11 b: Berpemberat Negatif 2.6 Model rangkaian bagi Djikstra 17 2.7 Model rangkaian bagi Bellman-Ford 31 2.8 Model penyelesaian bagi langkah 1 32 2.9 Model penyelesaian bagi langkah 2 33 2.10 Model penyelesaian bagi langkah 3 34 2.11 Model penyelesaian bagi langkah 4 35 2.13 Model penyelesaian bagi langkah 5 36 2.14 Model penyelesaian bagi langkah 6 37 2.15 Model penyelesaian bagi langkah 7 38 2.16 Model penyelesaian bagi langkah 8 39 2.17 Model penyelesaian bagi langkah 9 40 2.18 Model penyelesaian bagi langkah 10 41 2.19 Model penyelesaian bagi pengiraan Bellman-Ford 42 2.20 Model rangkaian bagi Floyd-Warshall 45 3.1 Rangka kerja kajian 61 4.1 Masa larian janaan pertama Floyd-Warshall bagi 71 laluan Johor Bahru ke Skudai mengunakan xii

komputer riba 4.2 Hasil larian kedua bagi kaedah Floyd-Warshall 72 4.3 Masa larian janaan pertama Djikstra bagi laluan 74 Johor Bahru ke Skudai mengunakan komputer riba 4.4 Hasil larian kedua bagi kaedah Djikstra 75 4.5 Masa larian janaan pertama Bellman-Ford bagi 77 laluan Johor Bahru ke Skudai mengunakan komputer riba 4.6 Hasil larian kedua bagi kaedah Bellman-Ford 78 4.7 Masa larian kaedah Floyd-Warshall janaan Pertama 08 Bagi Komputer Riba 4.8 Masa larian kaedah Floyd-Warshall dari Johor 18 Bahru ke Skudai bagi komputer riba 4.9 Masa larian kaedah Floyd-Warshall dari 28 ke bagi komputer riba 4.10 Masa larian kaedah Djikstra dari Johor Bahru ke 48 Skudai bagi komputer riba 4.11 Masa larian kaedah Djikstra dari Merlimau ke 58 Batang Melaka bagi komputer riba 4.12 Masa larian Kaedah Bellman_Ford dari Johor 78 Bahru ke Skudai bagi komputer riba 4.13 Masa larian kaedah Bellman_Ford dari Merlimau 8 ke Batang Melaka bagi komputer riba 4.14 Hubungan masa larian bagi kaedah Floyd-Warshall 98 4.15 Hubungan masa larian bagi kaedah Djikstra 90 4.16 Hubungan masa larian bagi kaedah Bellman-Ford 90 4.17 Hubungan masa larian dengan laluan bagi kaedah 91 Floyd-Warshall 4.18 Hubungan masa larian dengan laluan bagi kaedah 92 Djikstra 4.19 Hubungan masa larian dengan laluan bagi kaedah 93 Bellman-Ford 4.20 Perbandingan masa larian bagi kaedah Djikstra dan 93 xiii

Bellman-Ford 4.21 Hubungan bilangan nod dengan masa larian 94 bagi kaedah Djikstra 4.22 Anggaran masa larian bagi ketiga-tiga kaedah 96 xiv

SENARAI ISTILAH

Pendaraban Matrik - Matrix Multiplication Pencontoh - Template Dwibahagian - Bipartite Arka - Acr Nod - Node Berarah - Directed Pemberat - Weight Mercu - Vertex Pinggir - Edge Orientasi Objek - Object Oriented Pangkalan Data - Database Pemberat - Cost Bukan Negatif - Non-Negative Punca Tunggal - Single Source Setiap Pasangan - All Pairs xv

SENARAI LAMPIRAN

LAMPIRAN TAJUK

A Perancangan Projek I B Perancangan Projek II C Peta Laluan Jalan Raya Negeri Johor dan Melaka D Data Laluan Jalan Raya Negeri Johor dan Melakar BAB 1

PENGENALAN

1.1 Pendahuluan

Laluan terpendek selalunya digunaka n dalam keadaan seharian seperti perjalanan di antara dua lokasi, samada berjalan dari satu bilik ke satu bilik yang lain, dari satu jalan ke jalan yang lain, atau dari satu bandar ke bandar yang lain. Dengan penyelesaian laluan terpendek juga, laluan yang dapat menjimatkan masa dan kos dapat dicari.

Data jalan raya negeri Johor dan negeri Melaka digunakan dalam kajian ini. Data digunakan bagi menunjukkan perbandingan masa larian di antara kaedah-kaedah laluan terpendek yang dipilih.

Struktur jalan raya yang telah meningkat menyebabkan rangkaian jalan rayanya bertambah. Ini merupakan satu pertambahan yang baik bagi pengguna jalan raya. Dengan ini, terdapat pelbagai alternatif jalan raya di setiap laluan. Keadaan ini menyumbangkan kepada masala h mencari laluan terpendek terbaik antara dua lokasi. 2

1.2 Penyata Masalah

Walaupun pengiraan laluan terpendek adalah matlamat utama dalam banyak sistem pengangkutan dan analisa rangkaian, tetapi untuk mendapatkan satu algoritma laluan terpendek bagi rangkaian jalan raya yang sebenar adalah sukar. Ini kerana kebanyakkan kajian yang dibuat menggunakan data yang dijana secara rawak. Di samping itu, tiada satu pun algoritma yang dikaji oleh penyelidik-penyelidik dapat menyediakan algoritma yang terbaik dan dapat mengatasi permasalahan yang timbul semasa pengiraan laluan terpendek dilakukan pada jaringan sebenar .]91[

Algoritma yang biasa digunakan untuk mendapatkan laluan terpendek adalah Djikstra dan digunakan secara meluas pada sistem GIS dan perisian yang dibangunkan menerusi model jaringan [2]. Manakala penggunaan algoritma Djikstra pula memang diketahui umum kepantasan penjanaan masanya. Akan tetapi, algoritma ini hanya mencari la luan bagi nod yang bersumber tunggal (single source shortest path). Larian terpaksa dilakukan berulang-ulang kali bagi mendapatkan laluan terpendek bagi nod yang dikehendaki. Pencarian kaedah yang terbaik diperlukan bagi memperbaiki masalah ini

Algoritma Floyd-Warshall merupakan algoritma yang terbaik bagi mencari laluan terpendek , tetapi menga mbil masa pengiraan yang lama 2].[ Ini berlaku kerana algoritma Floyd-Warshall menganggap setiap nod adalah nod punca. Manakala nod punca ini juga boleh dijadikan sebagai nod destinasi.

Algoritma Belman Ford pula hanya memperbaiki sedikit kelemahan yang ada pada algoritma Djikstra untuk kes-kes tertentu tetapi tidak dapat memperolehi keputusan yang lebih baik dari algoritma Djikstra .]2[ 3

Zhan dan Noon (198), telah membuat kajian berkenaan dengan kaedah laluan terpendek yang paling sesuai dengan struktur rangkaian jalan raya di Amerika Syarikat. Beliau mendapati Djikstra yang telah diubahsuai merupakan kaedah yang paling sesuai dengan rangkaian ini.

1.3 Kepentingan Projek

Kajian berkenaan pencarian algoritma terbaik bagi rangkaian jalan raya sebenar negeri Johor dan negeri Melaka belum lagi pernah di jalankan. Terutamanya kajian yang melibatkan keberkesanan algoritma Floyd-Warshall dalam laluan terpendek. Oleh itu, kajian ini merupakan satu permulaan bagi kajian-kajian yang melibatkan algoritma laluan terpendek khususnya algoritma Floyd-Warshall.

1.4 Matlamat Projek

Dengan adanya analisa perbandingan ini, diharap dapat membantu mengenalpasti dan membuktikan kaedah yang terbaik dalam mencari laluan terpendek berdasarkan kajian kes jalan raya negeri Johor dan negeri Melaka. Pembuktian dilakukan dengan mencari pengiraan kompleksiti dan masa larian bagi algoritma-algoritma yang dipilih. 4

1.5 Objektif Projek

Objektif utama projek ini adalah seperti berikut:

Membuat perbandingan algoritma yang sedia ada bagi mendapatkan algoritma laluan terpendek yang terbaik. Ini dilakukan dengan pembuktian dari segi:-

i. Pengiraan kompleksiti. ii. Masa larian.

1.6 Skop Projek

Bagi menghasilkan output yang sesuai, kajian akan mempertimbangkan beberapa kriteria :-

1. Skop bagi kaedah. i)aedah K yang digunakan adalah kaedah-kaedah laluan terpendek tradisional. (Djikstra,Bellman -Ford,Floyd Warshall.)

2. Skop bagi data. i) Data yang digunakan merupakan data sebenar dalam laluan jalan raya negeri Johor dan Melaka.

ii) Set data yang diuji tidak mengambil kira laluan negatif dalam struktur rangkaian.

iii) Rangkaian mempunyai laluan berarah dari nod ke semua nod dalam rangkaian tersebut.

iv) Rangkaian mempunyai laluan berarah dua hala. 5

v) Tidak mengambil kira halangan dalam rangkaian seperti faktor lampu isyarat, kesesakan dan jalan rosak.

3. Parameter yang ingin dikaji adalah dari segi masa larian dan pengiraan kompleksiti.

1.7 Aliran Bab dan Kajian

Analisa berkenaan dengan kajian literatur berada dalam bab dua. Bab ini menerangkan secara terperinci mengenai set data dan kaedah laluan terpendek tradisional serta membincangkan aplikasi dan penggunaan bagi setiap kaedah yang pernah digunakan. Bab tiga berkenaan dengan metodologi yang digunakan dalam membantu menyelesaikan kajian ini. Bab empat pula menerangkan hasil dan analisa bagi objektif yang ingin dicapai. Kesimpulan mengenai kaedah yang terbaik bagi kajian kes ini dinyatakan dalam bab ini. Seterusnya penambahbaikan dan kesimpulan terhadap kajian ini, berada dalam bab lima.

1.8 Kesimpulan

Bab ini merupakan bab pengenalan yang memberi pandangan keseluruhan berkenaan dengan perbincangan bagi bab-bab seterusnya. Dalam bab ini perbincangan mengenai penyataan masalah serta objektif kajian diberikan. Skop bagi kajian ini juga dihuraikan. Akhir sekali disertakan aliran bab serta kajian dalam tesis. BAB 2

KAJIAN LITERATUR

2.1 Pengenalan

Bab ini memberikan pengenalan berkenaan dengan jalan raya negeri Johor dan Melaka, laluan terpendek dan rangkaian. Manakala penerangan yang lebih jelas dihuraikan dalam kaedah-keadah yang dipilih. Ini termasuklah menyenaraikan algoritma, langkah-langkah penyelesaian, contoh pengiraan serta perbincangan aplikasi yang telah dihasilkan menggunakan kaedah tersebut. Perbincangan dan perbandingan secara umum dihuraikan di akhir bab ini.

2.2 Rangkaian Jalan Raya Negeri Johor dan Melaka

Jalan raya di Negeri Johor dan Melaka umumnya boleh dibahagikan kepada tiga iaitu lebuhraya, jalan Persekutuan dan jalan Negeri. Lebuhraya merupakan jalan yang dibina oleh kerajaan atau di swastakan kepada pihak lain. Pengguna yang menggunakan laluan ini akan dikenakan bayaran yang dipanggil tol. Jalan Persekutuan merupakan jalan yang diisytiharkan dalam ordinan Jalan Persekutuan (1959). Jalan Negeri merupakan jalan utama yang menghubungkan antara pusat pentadbiran daerah dalam setiap negeri. Sistem penandaan bagi lebuhraya adalah gabungan huruf E dan nombor. Contohnya E1, E2 dan E5. Bagi jalan Persekutuan, sistem penomboran tunggal digunakan seperti 1, 3, 50 dan 76. Manakala bagi jalan 7

Negeri pula, penandaannya adalah gabungan antara huruf pengenalan negeri dengan nombor-nombor. Contohnya J1 bagi negeri Johor, dan M9 bagi negeri Melaka. Penandaan bagi jalan-jalan ini bermula dari negeri Johor.

Lampiran C menunjukkan peta jalan raya negeri Johor dan Melaka. Peta dibahagikan mengikut negeri. Setiap jalan raya di warnakan mengikut jenis jalan. Bagi yang bewarna hijau merupakan lebuhraya. Jalan persekutuan bewarna merah, manakala warna biru adalah jalan negeri. Di samping itu, jalan Negeri ditandakan dengan nod yang yang mewakili negeri seperti Jadual 2.1.

Analisa telah dibuat bagi set data laluan negeri Johor dan Melaka menggunakan data dalam Lampiran D. Jadual 2.1 menunjukkan analisa bagi keseluruhan data negeri Johor dan Melaka. Jadual 2.3 menunjukkan hubungan di antara bilangan arka dan nod serta nisbah arka per nod bagi setiap negeri. Nisbah arka per nod menunjukkan perbezaan nilai nisbah di antara rangkaian buatan dengan rangkaian sebenar jalan raya. [21]. Rangkaian jalan raya sebenar dalam kajian ini mempunyai nilai nisbah arka per nod dalam lingkungan 3.45 hingga 9.16. Nilai ini berbeza dengan rangkaian buatan di mana nisbah arka per nod adalah lebih tinggi dari 10.00 [21].

Jadual 2.1 : Tandaan nod jalan Negeri bagi setiap negeri

Negeri Tandaan Johor J Melaka M

Jadual 2.2 : Rumusan data laluan secara keseluruhan

Bil Nod Bil Arka Nisbah Arka/Nod Johor dan Melaka 196 481 2.45 8

Jadual 2.3 : Rumusan data laluan negeri-negeri negeri Johor dan Melaka

Negeri Bil Nod Bil Arka Nisbah Arka/Nod Johor 146 339 2.32 Melaka 50 143 2.86

2.3 Laluan Terpendek

Laluan terpendek boleh didefinasikan sebagai jarak yang paling dekat untuk dilalui antara satu nod dengan nod yang lain [17]. Laluan terpendek selalu diaplikasikan dalam situasi seharian. Penggunaannya diperlukan ketika perjalanan di antara dua lokasi, samada dari satu bilik ke bilik yang lain, satu jalan ke jalan yang lain atau dari satu bandar ke bandar yang lain. Ia juga digunakan dengan meluas dalam sistem GIS (Geographical Information System).

Penggunaan laluan yang jauh merupakan satu pembaziran dari segi masa dan kos. Laluan terpendek dapat menyelesaikan masalah pembaziran. Ini kerana ia merupakan laluan yang memberi masa perjalanan yang terpantas tetapi juga dapat mengurangkan kos. Bagi kes kenderaan, kos mewakili beberapa faktor iaitu, jarak perjalanan, masa yang diperuntukkan, penggunaan bahan bakar dan pembayaran tol.

Laluan terpendek dibahagi kepada dua iaitu satu titik ke titik yang lain (Single-source shortest path) dan kesemua titik (All-pair shortest path). Djikstra adalah contoh algoritma laluan terpendek dari satu titik ke titik yang lain. Manakala Floyd-Warshall algoritma adalah contoh mencari laluan terpendek antara kesemua titik dengan konsep matrik.

10

Set graf diwakili oleh,

G {V , E} dengan: V : Kumpulan nod E : Kumpulan arka

2.4.1 Nod dan Arka

Nod mewakili bulatan yang terdapat pada graf [18]. Rajah 2.3 menunjukkan graf dengan empat nod. Nod biasanya ditandai dengan huruf atau pun nombor untuk membezakannya antara satu sama lain. Rajah 2.4 menunjukkan contoh tandaaan nod. Dalam pengiraan jarak, nod merujuk kepada punca atau denstinasi pada sesuatu graf.

1 2

3 4

Rajah 2.2 : Contoh graf dengan empat nod

Johor R 14

Rajah 2.3 : Contoh-contoh tandaan nod 11

Arka mewakili laluan yang menyambungkan antara dua nod. Arka mempunyai anak panah untuk menunjukkan arah laluan (Rajah 2.4). Tandaan pemberat bagi anak panah arka boleh bernilai positif atau negatif (Rajah 2.5). Terdapat juga arka yang tidak mempunyai anak panah. Ini merujuk laluan boleh dilalui dengan dua arah yang berlainan.

1 2

3 4

Rajah 2.4 : Contoh graf dengan arka dan nod

250 JB M -5 8 9

A 30.5 B

Rajah 2.5 : Jenis-jenis arka a = Berpemberat positif. b = Berpemberat negatif

2.5 Pengiraan Kompleksiti

Kompleksiti adalah kajian mengenai anggaran larian penggunaan komputer yang diperlukan untuk melaksanakan pengiraan. Kadar kompleksiti bagi algoritma adalah kos, pengiraan masa larian atau masa menyimpan yang menggunakan algoritma untuk menyelesaikan salah satu masalah yang diberikan. Pengiraan kompleksiti dilakukan untuk mendapatkan anggaran larian sebelum algortima dilarikan menggunakan komputer. 12

Kajian kerumitan pemprosesan mengukur keberkesanan dan masalah algoritma yang sedia ada secara praktikal atau teori. Dengan perubahan mendadak dalam teknologi komputer, maka pengukuran secara fizikal (masa larian, bilangan ingatan komputer) adalah tidak lagi berkaitan. Pengukuran yang lebih piawai adalah operasi komputer yang diperlukan untuk menyelesaikan masalah dalam kes yang berat (worst case).

Keputusan kompleksiti algoritma akan digambarkan dengan fungsi g(n) = n3. Secara amnya ia disebut dengan penggunaan tandaan O huruf besar iaitu O(n3). Tandaan O huruf besar akan mengukur masa dan saiz sesuatu penjanaan algoritma [21]. Selalunya disebut algoritma ini mengambil masa O(n3). Simbol ini mengingatkan bahawa fungsi ini menggambarkan kelakuan secara worst-case pada saiz yang besar.

Algoritma dengan masa larian O(logn), O(n), O(n2), O(n3) dan lain-lain lagi dikenali sebagai algoritma masa-polinomial. Manakala bagi algoritma dengan kompleksiti yang tidak boleh dibatas dengan fungsi polinomial dikenali sebagai algoritma masa-eksponen. Polinomial merupakan fungsi yang digunakan untuk keadaan praktik. Ini disokong dengan beberapa hujah yang berikut.

Dengan fungsi polinomial, ia lebih mudah untuk memanipulasi perubahan teknologi bagi mendapatkan peningkatan keputusan dalam kelajuan komputer. Ini dijelaskan dalam jadual yang berikut. 13

Jadual 2.4 : Kaitan di antara fungsi polinomial dengan kelajuan komputer.

Saiz Masalah yang diselesaikan dalam masa 1 jam Fungsi Komputer terkini Komputer dengan Komputer dengan kompleksiti masa kelajuan 100 kali kelajuan 1000 kali n N1 100N1 1000 N1 n2 N2 10N2 31.6 N2 n3 N3 4.64 N3 10 N3 2n N4 N4 + 6.64 N4 + 9.97 3n N5 N5 + 4.19 N5 + 6.29

Kesimpulannya, sesuatu masalah dianggap telah selesai secara efisyen apabila algoritma masa-polinomial telah dijumpai.

2.6 Masa Larian

Masa larian akan dibuat dengan beberapa jenis komputer untuk membandingkan hasilnya. Di antara jenis komputer yang digunakan adalah komputer riba, komputer persendirian dan komputer makmal. Spesifikasi komputer yang digunakan untuk pengujian adalah berbeza-beza dari segi jenama, unit pemprosesan pusat, pemproses, RAM dan cakera keras Dengan ini terdapat pelbagai hasil masa larian yang dapat memberi pembuktian yang lebih kukuh terhadap penganalisaan perkakasan komputer yang memberikan masa larian terbaik.

Program Pengaturcaraan yang digunakan untuk mengira masa larian adalah Microsoft Visual Basic 6.0. Di samping itu, Microsoft Access 2003 digunakan sebagai pengkalan data yang menyimpan nod, laluan antara dia nod dan nilai jarak bagi laluan.

Setelah program dijana, nod sumber dan nod destinasi dipilih. Seterusnya, tekan butang kaedah yang ingin diuji . Setelah pengiraan algoritma selesai, masa larian bagi kaedah yang dipilih, laluan terpendek serta jaraknya akan dipaparkan. 14

Masa larian yang dijana mewakili masa larian bagi pengiraan semasa proses algoritma sahaja. Ia tidak mengambil kira masa larian bagi input data dan output data.

Laluan yang dipilih untuk diuji adalah laluan yang mempunyai bilangan nod yang berbeza. Laluan yang dipilih juga adalah laluan dalam negeri Johor dan Melaka serta laluan yang menggabungkan kedua-dua buah negeri.

2.7 Kaedah-kaedah pilihan

Terdapat beberapa algoritma yang boleh digunakan bagi menyelesaikan masalah dalam laluan terpendek. Algoritma yang terlibat adalah Djikstra, Bellman- Ford dan Floyd-Warshall[6]. Bagi setiap kaedah, penerangan terperinci dibuat iaitu dari segi algoritma, langkah-langkah penyelesaian, contoh pengiraan dan perbincangan berkenaan aplikasi dan kajian yang pernah dijalankan secara umum. Setiap model pengiraan algoritma menggunakan data palsu. Ini bagi menyelaraskan proses pengiraan dan perbandingan. Algoritma-algoritma ini dibahagikan kepada tiga kumpulan iaitu :-

1. Mengira laluan terpendek untuk rangkaian satu punca dengan pemberat arka tidak negatif. 2. Mengira laluan terpendek satu punca. 3. Mengira laluan terpendek setiap pasangan.

Laluan terpendek dibahagi kepada dua iaitu :- 1. Satu titik ke titik yang lain (Single-source shortest path) 2. Satu titik kesemua titik (All-pair shortest path).

Djikstra dan Bellman-Ford adalah contoh algoritma laluan terpendek dari satu titik ke titik yang lain. Manakala Floyd-Warshall adalah contoh mencari laluan terpendek antara kesemua titik. 15

2.7.1 Algoritma Djikstra

Algoritma Djikstra merupakan algoritma yang memanipulasikan algoritma Prim dan Breadth-First Search (BFS). Dikenali juga sebagai laluan terpendek pertama (SPF). Djikstra membuat kiraan jarak terpendek bagi satu pasang nod [12]. Djikstra mengaplikasi kaedah greedy iaitu satu kaedah yang menggunakan penyelesaian yang mudah di mana, mencari laluan terpendek dari satu nod ke nod yang lain dengan memilih arka yang paling hampir dengan nod berkenaan. Bagi mengira jarak nod yang lain, pengiraan ulangan terpaksa dibuat. Ia merupakan algoritma yang paling ringkas dalam penyelesaian masalah laluan terpendek. Algoritma ini tidak dapat menyelesaikan pemberat bernilai negatif (tiada laluan) dan sekiranya wujud pemberat sedemikian, penyelesaian yang akan diberikan adalah infiniti.

Kesemua nod ditandai dengan jarak dari nod punca sebagai nilai sementara, kemudian nod yang mempunyai nilai jarak yang paling kecil dikembangkan dan nilai jarak berkenaan dikumpulkan secara tetap. Pengemaskinian nilai jarak dilakukan setelah mendapati nod yang baru ditemui dan proses ini berterusan sehinggalah tiada lagi nod yang tinggal pada graf berkenaan [7].

2.7.1.1 Algoritma

Berikut merupakan algoritma Djikstra :- begin P : ^`1 ; T : N \ ^`1 ; d 1 : 0 dan pred 1 : 0;

d j : C1 j dan pred j : 1untuk semua j  A 1 , dan d j : f selainnya; while P z N do begin (Pemilihan nod yang juga dikenali sebagai FINDMIN) 16

katalah i T menjadi suatu nod untuk d i min^`d j : j T ; P : P ‰ ^`i ;T : N \ ^`i ; (Pengemaskinian jarak) for setiap i, j  A i do

if d j > d i  Cij then

d j : d i  Cij dan pred j : i; end end

dengan : P : Kumpulan nod yang diumpukkan nilai pemberat yang tetap. T : Kumpulan nod yang diumpukkan nilai pemberat sementara. N : Jumlah nod dalam graf.

Cij : Nilai pemberat pada arka dari nod i ke nod i. i : Nod yang ke-i. j : Nod yang ke-j. d(j) : Jarak laluan terpendek ke nod j.

2.7.1.2 Langkah-langkah penyelesaian

Berikut merupakan langkah-langkah penyelesaian bagi algoritma Djikstra:-

Langkah 1: Cari nod K pada T dengan L’ (K) adalah minimum dan finite. Jika tidak K, berhenti (tiada laluan dari 1 ke nod lain). Jika K, umumkan K sebagai tetap dan masukkan K ke dalam P. Berhenti jika P = N. Labelkan aras (I , k) dimana T adalah nod yang telah dilabelkan, menunjukkan nilai min bagi L’ (K)

18

1. Umpukkan nilai A kedalam Nod Singgah (Jadual 2.5).

Jadual 2.5 : Penyelesaian langkah 1

Nod Nod Singgah Jarak Sementara A A0 0 B C D E F G H I J

2. Nod B, I dan H merupakan nod yang hampir dengan nod A. Umpukkan nilai sementara bagi nod-nod itu (Jadual 2.6). Nod B Sementara = 0 + 2 = 2 Nod H Sementara = 0 + 3 = 3 Nod I Sementara = 0 + 3 = 3

Jadual 2.6 : Penyelesaian langkah 2

Nod Nod Singgah Jarak Sementara AA0 0 B 2 C D E F G H 3 I 3 J 19

3. Pilih nilai sementara yang paling kecil dan umpukkan ke dalam Nod Singgah. Nod B mempunyai nilai sementara yang kecil (Jadual 2.7).

Jadual 2.7 : Penyelesaian langkah 3

Nod Nod Singgah Jarak Nilai Sementara A10 0 B 222 C D E F G H3 I3 J

4. Pilih nod yang paling hampir dengan Nod Singgah yang baru iaitu B. Kira dan umpukkan Nilai Sementara Nod C dan I (Jadual 2.8). Nod C = 2 + 3 = 5 Nod I = 2 + 1 = 3

Jadual 2.8 : Penyelesaian langkah 4

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C 5 D E F G H3 I 3 J 20

5. Pilih nilai sementara yang paling kecil dan umpukkan ke dalam Nod Singgah. Nod I mempunyai nilai sementara yang kecil (Jadual 2.9).

Jadual 2.9 : Penyelesaian langkah 5

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C5 D E F G H3 I 333 J

6. Nod J merupakan nod yang paling hampir dengan Nod Singgah yang baru. Kira dan umpukkan Nilai Sementaranya (Jadual 2.10). Nod J = 3 + 4 = 7

Jadual 2.10 : Penyelesaian langkah 6

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C5 D E F G H3 I333 J 7 21

7. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod H merupakan nilai yang terkecil (Jadual 2.11).

Jadual 2.11 : Penyelesaian langkah 7

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C5 D E F G H 433 I333 J7

8. Nod G merupakan nod yang paling hampir dengan Nod Singgah yang baru (Nod H). Kira dan umpukkan Nilai Sementaranya (Jadual 2.12). Nod G = 3 + 5 = 8

Jadual 2.12 : Penyelesaian langkah 8

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C5 D E F G 8 H43 3 I333 J7 22

9. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod C merupakan nilai yang terkecil (Jadual 2.13).

Jadual 2.13 : Penyelesaian langkah 9

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C 555 D E F G8 H43 3 I333 J7

10. Nod D merupakan nod yang boleh dihubungakan dengan Nod Singgah yang baru (Nod C). Kira dan umpukkan Nilai Sementaranya (Jadual 2.14). Nod D = 5 + 4 = 9

Jadual 2.14 : Penyelesaian langkah 10

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D 9 E F G8 H43 3 I333 J7 23

11. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod J merupakan nilai yang terkecil (Jadual 2.15).

Jadual 2.15 : Penyelesaian langkah 11

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D9 E F G8 H43 3 I333 J 677

12. Nod D merupakan nod yang boleh dihubungkan dengan Nod Singgah yang baru (Nod J). Kira dan umpukkan Nilai Sementaranya (Jadual 2.16). Nod D = 7 + 1 = 8

Jadual 2.16 : Penyelesaian langkah 12

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D 8 E F G8 H43 3 I333 J677 24

13. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod D dan J mempunyai nilai yang terkecil. Maka Nod D akan dipilih (Jadual 2.17).

Jadual 2.17 : Penyelesaian langkah 13

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D 788 E F G8 H43 3 I333 J677

14. Nod E merupakan nod yang boleh dihubungkan dengan Nod Singgah yang baru (Nod D). Kira dan umpukkan Nilai Sementaranya (Jadual 2.18). Nod E = 8 + 1 = 9

Jadual 2.18 : Penyelesaian langkah 14

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E 9 F G8 H43 3 I333 J677 25

15. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod G mempunyai nilai yang terkecil (Jadual 2.19).

Jadual 2.19 : Penyelesaian langkah 15

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E9 F G 888 H43 3 I333 J677

16. Nod F merupakan nod yang boleh dihubungkan dengan Nod Singgah yang baru (Nod G). Kira dan umpukkan Nilai Sementaranya (Jadual 2.20). Nod F = 8 + 1 = 9

Jadual 2.20 : Penyelesaian langkah 16

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E9 F 9 G88 8 H43 3 I333 J677 26

17. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod E dan F mempunyai nilai yang terkecil. Nod F diambil untuk menjadi pilihan (Jadual 2.21).

Jadual 2.21 : Penyelesaian langkah 17

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E9 F 999 G88 8 H43 3 I333 J677

18. Nod E merupakan nod yang boleh dihubungkan dengan Nod Singgah yang baru (Nod F). Kira dan umpukkan Nilai Sementaranya (Jadual 2.22). Nod E = 9 + 1 = 10

Jadual 2.22 : Penyelesaian langkah 18

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E10 F999 G88 8 H43 3 I333 J677 27

19. Pilih Nilai Sementara yang paling kecil bagi yang bukan Nod Singgah. Masukkannya ke dalam Nod Singgah. Nod E dan F mempunyai nilai yang terkecil. Nod F diambil untuk menjadi pilihan (Jadual 2.23).

Jadual 2.23 : Penyelesaian langkah 19

Nod Nod Singgah Jarak Nilai Sementara A10 0 B22 2 C55 5 D78 8 E 10 9 10 F999 G88 8 H43 3 I333 J677

Pengiraan dibuat bagi mendapatkan jarak terpendek dari nod A ke nod H.

Jarak Nod E – Jarak Nod D = 9 - 8 = 1 (Betul, Sama dengan nilai pemberat) Jarak Nod E – Jarak Nod F = 9 - 9 = 0 (Salah, nilai pemberat adalah 3)

Jadi nilai nod seterusnya adalah D, laluan semasa adalah E-D

Jarak Nod D - Jarak Nod J = 8 - 7 = 1 (Betul, Sama dengan nilai pemberat) Jarak Nod D - Jarak Nod C = 8 - 5 = 3 (Salah, nilai pemberat adalah 4)

Jadi nilai nod seterusnya adalah J, laluan semasa adalah E-D-J

Jarak Nod J - Jarak Nod G = 7 - 8 = -1 (Salah) Jarak Nod J - Jarak Nod I = 7 - 3 = 4 (Betul, Sama dengan nilai pemberat)

Jadi nilai nod seterusnya adalah I, laluan semasa adalah E-D-J-I

Jarak Nod I - Jarak Nod B = 3 - 2 = 1 (Betul, Sama dengan nilai pemberat) Jarak Nod I - Jarak Nod A = 3 - 0 = 3 (Betul, Sama dengan nilai pemberat) 28

Jadi laluan semasa yang boleh diterima pakai ada dua iaitu E-D-J-I-B-A dan E-D-J-I- A. Akan tetapi laluan E-D-J-I-A mempunyai bilangan nod yang kurang berbanding dengan laluan semasa E-D-J-I-B-A. Oleh itu, laluan E-D-J-I-A diambil pakai.

2.7.1.4 Kompleksiti Algoritma

Terdapat dua operasi dalam algoritma ini iaitu : 1. Mencari nilai pemberat arka minimum yang mempunyai darjah kekompleksan O(n2). 2. Pengemaskinian label yang mempunyai darjah kerumitan O(m). Oleh sebab itu, darjah kerumitan algoritma ini adalah O(n2 + m) | O(n2).

2.7.1.5 Perbincangan

Berikut merupakan beberapa kajian aplikasi penggunaan atau manipulasi kaedah Djikstra yang telah dihasilkan.

Agen Perkhidmatan berkualiti menggunakan algoritma Djikstra yang telah diubahsuai untuk mencari laluan terpendek di antara rangkaian internet yang memenuhi kehendak agen [3].

Kyu-Yeul et al.(2004) menggunakan algoritma Djikstra dalam menyelesaikan masalah susun atur kemudahan di bahagian yang bertingkat seperti kapal dan bangunan. Penggunaan algoritma ini membantu dalam mengira jarak di antara kemudahan yang ada.

Algoritma Djikstra digunakan dalam memilih pemotong yang sesuai bagi masalah pengisaran (milling) pelbagai bahagian [22] 29

Djikstra juga digunakan dalam menyelesaikan masalah laluan terpendek bagi rangkaian yang mempunyai kekangan masa dan kelajuan [10].

S. Namkoong et al.,(1998) menggunakan algoritma Djikstra ini bagi membantu menyelesaikan masalah pencarian laluan yang optimum bagi rangkaian pengangkutan bandar. Laluan yang optimum ini merupakan modul yang penting dalam membangunkan sistem bantuan jalan raya dan sistem kawalan trafik.

2.7.2 Algoritma Bellman-Ford

Algoritma ini juga dikenali dengan algoritma pencarian ke belakang. Ianya dapat menyelesaikan masalah pemberat yang bernilai negatif tetapi hanya untuk masalah laluan terpendek berpunca tunggal. Di samping itu ia dapat mengenalpasti kitaran negatif pada akhir penyelesaian [7].

2.7.2.1 Algoritma

Berikut merupakan algoritma Bellman-Ford :-

initialize d 1 : 0, d i : f, i 2,....,n

pulse  i, j  A, d j : min^d j , d i  Cij `

di mana: A : Set kumpulan arka

Cij : Nilai pemberat pada arka dari nod i ke nod j. d(j) : Jarak laluan terpendek ke nod j. i : Nod yang ke-i. j : Nod yang ke-j. 30

2.7.2.2 Langkah-langkah penyelesaian

Berikut merupakan langkah-langkah penyelesaian dalam menjana algoritma Bellman-Ford:-

Langkah 1: Setkan yr = 0, yv = ’, Pr = 0, Pv = -1 dan v  r.

Langkah 2: setkan i = 1

Langkah 3: Jika y = (yv : v  V) tidak memenuhi syrat yv +

cvw • yw bagi (v,w)  E, maka pergi ke langkah 4. Jika sebaliknya, pergi ke langkah 5.

Langkah 4: Jika yv + cvw < yw maka kemaskini yw = yv +

cvw dan Pw = v.

Langkah 5: Berhenti, laluan terpendek telah ditemui. Ulang pengiraan dari nod mula ke nod yang lain.

Langkah 6: Jika i = n di mana n = V . Berhenti, wujud

nilai pemberat negatif dalam kitaran.

Langkah 7: Setkan i = i + 1. Pergi ke langkah 4. Tamat apabila lelaran = n.

43

2.7.3 Algoritma Floyd-Warshall

Algoritma Floyd Warshall adalah direkabentuk untuk menyelesaikan laluan terpendek setiap pasang nod (all-pair shortest path) untuk graf yang mempunyai pemberat yang bernilai negatif [7]. Ia merupakan algoritma yang memberikan matrik kos dan matrik laluan khas untuk mengurangkan pengiraan pada arka dan storan data yang besar [13]. Penggunaan algoritma ini diaplikasikan dengan berkesan kepada sistem laluan terpendek yang berpusat. Sistem berpusat dapat mengawal laluan setiap kenderaan daripada terminal yang disediakan yang mempunyai pangkalan data (atribut dan ruang) yang besar dan mempunyai maklumat laluan terpendek untuk semua titik dalam jaringan [13].

Algoritma ini menghubungkan mana-mana nod pada graf dapat dipilih sebagai nod punca dan nod punca yang sedia ada dijadikan sebagai nod destinasi. Dalam kaedah ini dua matrik berbentuk n X n ditakrif iaitu matrik pemberat (dij) dan matrik laluan terpendek (spij).Terdapat n lelaran yang mesti dilakukan ke atas kedua-dua matrik D dan matrik SP.

2.7.3.1 Algoritma

Berikut merupakan algoritma Floyd Warshall :-

begin for setiap pasangan nod >@i, j  nu n do d>@i, j : f dan pred >@i, j : 0; for semua nod i  N do d>@i,i : 0;

for semua arka i, j  N do d>@i, j : Cij dan pred >i, j@: i; for setiap k : 1to N do for setiap >@i, j  N u N do if d>@i, j > d>@i,k  d >k, j @ then 44

begin d>@i, j : d >@i,k  d >@k. j ; pred >@i, j : pred >k, j @; end; end; dengan: i : Nod pada baris – i. j : Nod pada baris – j. N : Bilangan keseluruhan nod. k : Laluan melalui nod k. d[i,j] : Matriklaluan i ke j.

2.7.3.2 Langkah-langkah penyelesaian

Langkah-langkah penyelesaian bagi Floyd-Warshall ditunjukkan seperti berikut :-

Langkah 1: Setkan D0 = D dan C0 = C. Bermula pada Dj-1 dan Cj-1

Langkah 2: Untuk setiap lelaran hukum segitiga dipertimbangkan. Jika aj-1 (u,v) d aj-1 (u,j) + dj-1 (j,v) maka aj (u,v) = dj-1 (u,v) dan C (u,v) = Cj-1 (u,v). Jika tidak aj (u,v) = dj-1 (u,j) + dj-1 (j,v) dan C (u,v) = C j-1 (u,j). Tamat apabila bilangan lelaran = n.

dengan:

Cij : laluan terpendek dari nod i ke nod j.

Dij : pemberat dari nod i ke nod j. aj-1 : nilai semasa bagi lelaran n : bilangan matrik nXn

46

Jadual 2.24 : Jadual Cij bagi Lelaran 1

ABCDEFGHI J A 0 2 ’ ’ ’ ’ ’ 3 3 ’ B 2 0 3 ’’’’’1 ’ C ’ 3 0 4 ’’’’’’ D ’’4 0 1 ’’’’1 E ’’’1 0 3 ’’’’ F ’’’’3 0 1 ’’’ G ’’’’’1 0 5 ’ 1 H 3 ’’’’’5 0 [9] ’ I 31’’’’’’0 4 J ’’’1 ’’1 ’ 4 0

Jadual 2.25 : Jadual Dij bagi Lelaran 1

ABCDEFGHI J A 1 2 3 4 5 6 7 8 9 10 B 12345678910 C 12345678910 D 12345678910 E 12345678910 F 12345678910 G 12345678910 H 123456781 10 I 12345678910 J 12345678910 47

Lelaran 2

Seterusnya lelaran kedua dilaksakankan. Jadual 2.26 dan 2.27

menunjukkan cara mendapatkan Cij dan Dij dalam lelaran 2.

Jadual 2.26 : Jadual Cij bagi Lelaran 2

A BCDEFGHI J A 0 2 ’’’’’ 33’ B 2 0 3 ’ ’ ’ ’ ’ 1 ’ C5304’’’’4 ’ D ’ ’ 401’’’’1 E ’ ’’103’’’’ F ’ ’’’301’’’ G ’ ’’’’105’ 1 H 3 ’’’’’ 509’ I 3 1 4 ’’’’’04 J ’ ’’1 ’’1 ’ 40

Jadual 2.27 : Jadual Dij bagi Lelaran 2

A BCDEFGHI J A 1 2345678910 B 1 2 3 4 5 6 7 8 9 10 C223456782 10 D 1 2345678910 E 1 2345678910 F 1 2345678910 G 1 2345678910 H 1 2345678110 I 1 2 2 45678910 J 1 2345678910 48

Lelaran 3

Teruskan pengiraan dengan lelaran 3. Jadual 2.28 dan 2.29

menunjukkan pengiraan bagi mendapatkan matrik Cij dan Dij.

Jadual 2.28 : Jadual Cij bagi Lelaran 3

ABCDEFGH I J A 02’’’’’33’ B 203 [7] ’’’’1 ’ C 5 3 0 4 ’ ’ ’ ’ 4 ’ D [9] [7] 401’’’’1 E ’’’ 103’’’’ F ’’’’301’’’ G ’’’’’105’ 1 H 3 ’ ’’’’509’ I 314 [8] ’’’’04 J ’’’ 1 ’’ 1 ’ 40

Jadual 2.29 : Jadual Dij bagi Lelaran 3

ABCDEFGH I J A 12345678910 B 123 3 5678910 C 2 2 3 4 5 6 7 8 2 10 D33345678910 E 12345678910 F 12345678910 G 12345678910 H 12345678110 I 122 3 5678910 J 12345678910 49

Lelaran 4

Seterusnya lelaran 4 di kira. Jadual 2.30 dan 2.31 menujukkan

matrik Cij dan Dij bagi lelaran 4.

Jadual 2.30 : Jadual Cij bagi Lelaran 4

ABCDEFGHI J A 02’ ’’’’33’ B 2037 [8] ’’’1 [8] C 5304 [5] ’’’4 [5] D 9 7 4 0 1 ’ ’ ’ ’ 1 E [10] [8] [5] 103’’’’ F ’’’’ 301’’’ G ’’’’’105’ 1 H 3 ’’’’’509’ I 3148 [9] ’’’04 J [10] [6] [5] 1 [2] ’ 1 ’ 40

Jadual 2.31 : Jadual Dij bagi Lelaran 4

ABCDEFGHI J A 12345678910 B 1233 4 67894 C 2234 4 67824 D 3 3 3 4 5 6 7 8 9 10 E44445678910 F 12345678910 G 12345678910 H 12345678110 I 1223 4 678910 J4444 4 678910 50

Lelaran 5

Seterusnya lelaran 5 dilaksakankan. Jadual 2.32 dan 2.33

menunjukkan cara mendapatkan Cij dan Dij dalam lelaran 5.

Jadual 2.32 : Jadual SPij bagi Lelaran 5

ABCDEFGHI J A 02’’’’’33’ B 20378 [11] ’’18 C 53045 [8] ’’45 D 97401 [4] ’’’1 E 10 8 5 1 0 3 ’ ’ ’ ’ F ’’’’301’’’ G ’’’’’ 105’ 1 H 3 ’’’’’ 509’ I 31489 [12] ’’04 J 10 6 5 1 2 5 1 ’ 40

Jadual 2.33 : Jadual Dij bagi Lelaran 5

ABCDEFGHI J A 12345678910 B 12334 5 7894 C 22344 5 7824 D 33345 5 78910 E 4 4 4 4 5 6 7 8 9 10 F 12345678910 G 12345678910 H 12345678110 I 12234 5 78910 J 44444678910 51

Lelaran 6

Seperti lelaran yang sebelumnya, seterusnya hukum segitiga dilaksakan pada lajur dan baris F. Jadual 2.34 dan 2.35 menunjukkan

cara mendapatkan Cij dan Dij dalam lelaran 6.

Jadual 2.34 : Jadual Cij bagi Lelaran 6

ABCDEFGHI J A 02’’’’’33’ B 2037811 [12] ’ 18 C 530458 [9] ’ 45 D 974014 [5] ’’1 E 10 8 5 1 0 3 [4] ’’’ F ’ ’ ’ ’ 3 0 1 ’ ’ ’ G ’’’’[4] 105’ 1 H 3 ’’’’’ 509’ I 3148912 [13] ’ 04 J 10 6 5 1 2 51’ 40

Jadual 2.35 : Jadual Dij bagi Lelaran 6

ABCDEFGHI J A 12345678910 B 123345 6 894 C 223445 6 824 D 333455 6 8910 E 444456 6 8910 F 1 2 3 4 5 6 7 8 9 10 G 12346 678910 H 12345678110 I 122345 6 8910 J 44444678910 52

Lelaran 7

Seterusnya lelaran 7 iaitu baris dan lajur G dilaksakankan.

Jadual 2.36 dan 2.37 menunjukkan cara mendapatkan Cij dan Dij dalam lelaran 7.

Jadual 2.36 : Jadual Cij bagi Lelaran 7

ABCDEFGH I J A 02’’’’’ 33’ B 203781112 [17] 1 [8] C 5304589 [14] 4 [5] D 9740145 [10] ’ [1] E 10851034 [9] ’ [5] F ’’’’301 [6] ’ [2] G ’ ’ ’ ’ 4 1 0 5 ’ 1 H 3 ’’’[9] [6] 509[6] I 314891213 [18] 04 J 106512[2] 1 [6] 40

Jadual 2.37 : Jadual Dij bagi Lelaran 7

ABCDEFGH I J A 12345678910 B 1233456 7 9 7 C 2234456 7 2 7 D 3334556 7 9 7 E 4444566 7 9 7 F 1234567 7 9 7 G 1 2 3 4 6 6 7 8 9 10 H 1234777817 I 1223456 7 910 J 444447 7 7 910 53

Lelaran 8

Seterusnya baris dan lajur H pula akan melaksanakan hukum

segitiga. Jadual 2.39 dan 2.40 menunjukkan cara mendapatkan Cij dan

Dij dalam lelaran 8.

Jadual 2.39 : Jadual Cij bagi Lelaran 8

ABCDEFGHI J A 02’’[12] [9] [8] 33[9] B 20378111217 1 8 C 530458914 4 5 D 974014510 [19] 1 E 108510349 [18] 5 F [9] ’’’ 3016 [15] 2 G [8] ’’’ 4105 [14] 1 H 3 ’ ’ ’ 9 6 5 0 9 6 I 31489121318 0 4 J [9] 651221640

Jadual 2.39 : Jadual Dij bagi Lelaran 8

ABCDEFGHI J A 1234888898 B 1233456797 C 2234456727 D 33345567 8 7 E 44445667 8 7 F82345677 8 7 G8 2346678 8 10 H 1 2 3 4 7 7 7 8 9 7 I 12234567910 J84444777910 54

Lelaran 9

Seterusnya lelaran 9 dilaksakankan. Jadual 2.40 dan 2.41

menunjukkan cara mendapatkan Cij dan Dij dalam lelaran 9.

Jadual 2.40 : Jadual Cij bagi Lelaran 9

ABCDEFGHIJ A 02[7] [11] 129833 [7] B 2 0 3 7 8 11 12 17 1 [5] C 53045891445 D 97401451019 1 E 10851034918 5 F 9 ’’’301615 2 G 8 ’’’410514 1 H 3 ’’’965096 I 3 1 4 8 9 12 13 18 0 4 J [7] [5] 51221640

Jadual 2.41 : Jadual Dij bagi Lelaran 9

ABCDEFGHIJ A 129988889 9 B 123345679 9 C 2234456727 D 3334556787 E 4444566787 F 8234567787 G 82346678810 H 1234777897 I 1 2 2 3 4 5 6 7 9 10 J99444777910 55

Lelaran 10

Lelaran 10 merupakan lelaran yang terakhir kerana n = 10. Seperti lelaran yang lain, hukum segitiga akan dilaksanakan. Jadual

2.42 dan 2.43 menunjukkan cara mendapatkan Cij dan Dij dalam lelaran 10.

Jadual 2.42 : Jadual Cij bagi Lelaran 10

ABCDEFGH I J A 027[8] [9] 98337 B 203[6] [7] [7] [6] [11] 1 5 C 53045[7] [6] [11] 4 5 D[8] 7401[3] [2] 7 [5] 1 E 10 8 5 1 0 3 4 9 [6] 5 F 9 [7] [7] [3] 3016[6] 2 G 8 [6] [6] [2] [3] 105[5] 1 H 3 [11] [11] [7] [8] 65096 I 314[5] [6] [6] [5] [10] 0 4 J 7 5 5 1 2 2 1 6 4 0

Jadual 2.43 : Jadual Dij bagi Lelaran 10

ABCDEFGHI J A 12910 10 88899 B 12310 10 10 10 10 9 9 C 2234410 10 10 2 7 D10334510 10 7 10 7 E 4444566710 7 F 8 10 10 10 567710 7 G 8 10 10 10 10 67810 10 H 1 10 10 10 10 77897 I 12210 10 10 10 10 9 10 J 9 9 4 4 4 7 7 7 9 10 56

2.7.3.4 Kompleksiti Algoritma

Pada setiap lelaran, ambil kira nod lain sebagai nod pertengahan o O(n) lelaran. Dalam setiap lelaran, bandingkan n2 segitiga untuk n2 pasangan o O(n2). Oleh itu, darjah kekompleksan algoritma adalah = O(n3).

2.8 Perbincangan Umum

Laluan terpendek mempunyai pelbagai jenis aplikasi dalam pengangkutan dan komunikasi. Berikut merupakan beberapa perbincangan ringkas berkenaan dengan perbandingan dan pembaikan yang telah dibuat.

Yijie Han (2004) telah membuat satu pembaikan terhadap algoritma laluan terpendek setiap pasang nod (all-pair shortest path). Beliau menggunakan penguraian terhadap pendaraban matrik. Hasilnya masa larian adalah O(n3(log log n / log n)4/7). Walaupun terdapat perubahan dalam masa larian, beliau masih mengharap masa larian yang lebih baik dapat dicapai masa akan datang.

Bellman-Ford merupakan salah satu algoritma yang digunakan dalam membuat perbandingan bagi mencari laluan optimum dalam perkhidmatan rangkaian jalur lebar. Bilangan simulasi rangkaian topologi yang berbeza digunakan untuk membandingkan pencapaian di antara dua algoritma ini. Dan didapati algoritma Bellman-Ford ini tidak sesuai dalam masalah NP-complete [17].

Yin dan Zhou (2003) telah membuat perbandingan masa larian bagi algortima Floyd Warshall dan Johnson. Sebanyak 13 set data (n) yang berasingan telah digunakan dalam pengujian ini. Di dapati bagi set data (n) 10, 20, 30, 60, 90, 140, 57

190 algoritma Johnson mempunyai nilai masa larian kurang dari algoritma Floyd Warshall. Manakala bagi set data (n) 200, 220, 230, 250, 300, 250 algoritma Floyd Warshall memberikan nilai masa larian yang paling berkesan daripada algoritma Johnson. Ini membuktikan bahawa algoritma Johnson memang sesuai bagi graf yang tidak padat. Jadual 2.3 menunjukkan perbezaan masa larian dan kompleksiti di antara Floyd-Warshall dan Johnson.

Jadual 2.44 : Menunjukkan perbandingan masa larian dan kompleksiti bagi algoritma Floyd-Warshall dan Johnson.

Bil Bil. Masa larian Masa FW Johnson Nod FW Larian (n*n*n) (n(m+n log n)) Johnson 1 10 4476 1289 0.5595 0.461485003 2 20 4537 1575 0.567125 0.408291032 3 30 4541 1781 0.567625 0.361850065 4 60 5398 3358 0.67475 0.41379727 5 90 5606 3758 0.70075 0.332323987 6 140 5744 4414 0.718 0.265421221 7 190 5858 5376 0.73225 0.244896866 8 200 6010 6016 0.75125 0.261377893 9 220 5966 6211 0.74575 0.247004854 10 230 5955 6249 0.744375 0.238423721 11 250 5949 6074 0.743625 0.214338053 12 300 6031 6940 0.753875 0.20617736 13 350 5953 7437 0.744125 0.190779049

Mustafa (2003) membuat perbandingan masa proses bagi algoritma Floyd- Warshall menggunakan bilangan nod yang berlainan. Data set yang digunakan adalah 20, 41, 59, 90, 90, 123, 151, 192 dan 232. Keputusannya adalah, dengan Pertambahan bilangan nod, masa proses bagi algoritma juga akan bertambah. Jadual 2.4 menunjukkan hasil penjanaan nod menggunakan algoritma Floyd-Warshall. 58

Jadual 2.45 : Keputusan perbandingan masa proses bagi algoritma Floyd-Warshall menggunakan set nod yang berbeza.

Bil Bil. Bil. Arka Arka/Nod Masa Proses Nod Ratio (saat) 1 20 19 0.95000000 0.2226563 2 41 43 1.04878049 1.209961 3 59 67 1.13559322 3.141406 4 90 105 1.16666666 13.33984 5 123 147 1.19512195 34.87012 6 151 191 1.26490066 97.99219 7 192 247 1.28645833 166.48 8 232 300 1.29310340 324.39

Mustafa (2003) juga telah membuat pembuktian bahawa kerumitan pemprosesan bagi Floyd-Warshall bukan hanya bergantung pada pertambahan bilangan nod, tetapi dengan pertambahan bilangan arka juga akan mempengaruhi kompleksitinya. Ujian dilakukan pada enam set data yang mempunyai bilangan nod yang sama tetapi mempunyai bilangan arka yang berbeza. Keputusan yang diperolehi adalah seperti dalam Jadual 2.5. Diketahui bahawa kadar kerumitan algoritma Floyd- Warshall adalah O(n3). Ia bergantung pada nilai n iaitu bilangan nod. Di samping itu, Jadual 2.5 juga menunjukkan bahawa bilangan arka mempengaruhi masa penjanaan. Ini kerana setiap kali bilangan arka bertambah, nilai masa proses juga akan bertambah.

Jadual 2.46 : Keputusan kadar kerumitan algoritma.

Bil Bil. Nod Bil. Arka Arka/Nod Masa Proses (Ratio) (s) 1. 34 55 1.617647 2.021484 2. 34 60 1.764705 2.419922 3. 34 65 1.911764 3.019531 4. 34 70 2.058823 3.740234 5. 34 75 2.205882 4.781250 6. 34 80 2.352941 5.719727 59

Zhan dan Noon (1998) telah mencadangkan supaya kaedah Bellman-Ford tidak digunakan dalam pencarian laluan terpendek bagi rangkaian jalan raya di Amerika Syarikat. Ini kerana lariannya memberi masa yang panjang berbanding dengan Djikstra.

2.9 Kesimpulan

Dalam kajian literatur, penghuraian yang lebih jelas dilakukan terhadap faktor-faktor yang menyumbang dalam kajian ini. Data yang digunakan merupakan data sebenar dari rangkaian jalan raya negeri Johor dan Melaka. Maka, struktur jalan raya perlu diambil kira bagi memudahkan analisa terhadap rangkaian. Penerangan terhadap laluan terpendek dan rangkaian perlu, bagi mengetahui kaitannya dengan kajian ini.

Terdapat empat kaedah yang dinyatakan dalam bab ini iaitu, kaedah Djikstra, kaedah Bellman-Ford dan kaedah Floyd Warshall. Bab seterusnya adalah penerangan berkenaan metodologi yang diguna dalam kajian ini. BAB 3

METODOLOGI

3.1 Pengenalan

Bab ini akan menerangkan rangka kerja bagi kajian ini. Secara umumnya rangka kerja bagi membantu keseluruhan proses kajian serta menjelaskan prosidur dalam melaksanakan kajian. Rajah 3.1 dapat memberi gambaran secara mendalam berkenaan dengan kajian yang sedang dijalankan.

3.2 Rangka Kerja Kajian

Objektif utama kajian ini adalah untuk membuat perbandingan dalam kaedah laluan terpendek seterusnya mendapatkan kaedah yang terbaik. Rajah 3.1 menunjukkan rangka kerja yang digunakan dalam kajian. Secara amnya, ia terbahagi kepada tiga fasa yang penting iaitu analisa masalah, implementasi dan pengujian. 61

Pencarian Objektif Carta Fasa 1 Masalah & Skop Gantt Perancangan

Kajian Kemaskini Fasa 2 Metodologi Literatur Data Analisa Masalah

Fasa 3 Pengiraan Masa Larian Kompleksiti Implementasi

Fasa 4 Hasil

Rajah 3.1: Rangka kerja kajian

3.3 Fasa 1 : Perancangan

Pada fasa pertama, terdapat tiga aktiviti penting di dalam perancangan iaitu pencarian masalah, objektif dan skop serta perancangan sepanjang tempoh kajian. Bahagian ini telah diterangkan pada bab yang sebelumnya. 62

3.4 Fasa 2 : Analisa masalah

Fasa ini mencari algoritma laluan terpendek yang sesuai bagi kajian ini. Algoritma akan dipilih berdasarkan keberkesanannya dalam mencari laluan terpendek dan penggunaanya dengan meluas. Setiap algoritma yang dipilih akan dihuraikan secara terperinci.

Di samping itu data yang diperolehi akan di analisa bagi mendapatkan jarak dan maklumat-maklumat yang berkaitan. Data ini dikeluarkan dari peta rangkaian jalan raya negeri Johor dan Melaka.

3.5 Fasa 3 : Implementasi

Setelah algoritma dikenalpasti, proses pengiraan kompleksiti terhadap algoritma berkenaan akan dijalankan. Seterusnya masa larian akan dijana menggunakan kesemua algoritma yang dipilih dan data yang telah dikemaskini. Masa larian ini meliputi tiga perkakasan yang berbeza iaitu komputer riba, komputer persendirian dan komputer makmal. Hasil dari masa larian ini seharusnya selari dengan hasil dari pengiraan kompleksiti.

3.6 Fasa 4 : Hasil

Bahagian ini melibatkan rumusan yang dibuat terhadap perlaksanaan di fasa tiga. 63

3.7 Pecahan rangka kerja

Fasa 1 : Perancangan i. Cadangan tajuk projek ii. Mengkaji masalah projek iii. Menentukan objektif dan skop iv. Menyediakan Carta Gantt v. Menyediakan laporan awal

Fasa 2 : Analisa Masalah i. Mencari algoritma-algoritma yang sesuai dengan masalah. ii. Mencari maklumat berkenaan dengan algoritma-algoritma yang dipilih. iii. Membuat kajian yang lebih mendalam tentang algoritma-algoritma yang sesuai. iv. Membuat rangka kerja dan pemilihan metodologi. v. Membuat pengemaskinian serta analisa data. vi. Menyediakan perkakasan yang akan digunakan dalam menjana masa larian.

Fasa 3 : Implementasi i. Pengiraan kompleksiti bagi algoritma yang telah dipilih. ii. Menjana masa larian terhadap algoritma-algoritma menggunakan perkakasan yang telah ditetapkan..

Fasa 4 : Hasil i. Membuat rumusan dan kesimpulan berkenaan dengan hasil yang telah diimplementasi dalam fasa tiga. 64

3.8 Kesimpulan

Metodologi kajian adalah proses perlaksanaan sebenar bagi kajian. Fokus diberikan kepada fasa dua dan tiga. Dalam fasa dua, kajian literatur memainkan peranan penting dalam mendapatkan segala maklumat berkenaan dengan kaedah yang dipilih. Di samping itu, Pengemaskinian data dari peta jalan raya semenanjung Malaysia juga merupakan agenda yang penting. Seterusnya, analisa dijalankan ke atas data yang diperolehi. Set data inilah yang akan digunakan dalam fasa tiga.

Fasa tiga merupakan fasa implementasi dengan cara melakukan pengiraan kompleksiti terhadap kaedah-kaedah yang dipilih. Kemudian, masa larian dijana bagi mendapatkan masa yang terbaik dalam kaedah-kaedah tersebut. Bagi penjanaan masa larian, set data yang telah dikemaskini dalam fasa dua digunakan. BAB 4

HASIL DAN ANALISIS

4.1 Pengal

Hasil berkenaan pengiraan kompleksiti dan masa larian di antara kaedah- kaedah yang telah dipilih dinyatakan dalam bab ini. Perbandingan ini merupakan elemen penting dalam mencari kaedah yang terbaik dalam laluan terpendek bagi jaringan jalan raya di negeri Johor dan Melaka. Di samping itu, hasil pengiraan masa larian sebenar yang menggunakan set perkakasan komputer yang berlainan spesifikasi dihasilkan. Ini bagi mengukuhkan pembuktian terhadap pengiraan kompleksiti yang dilakukan. eputusanK yang ditunjukkan adalah dalam bentuk jadual dan rajah.

4.2 PengiraKoi tkmsple

Bagi mendapatkan kaedah yang terbaik, jumlah operasi dalam satu pengulangan dianggarkan bagi kaedah Djikstra, kaedah Bellman-Ford dan kaedah Floyd- Warshall. 6

1. K aedh Djikstra

Berdasarkan algoritma .62.1.1, bagi setiap N lelaran m emerlukan n penjumlahan, n2 kali proses dilakukan Æ n2 + n

Dengan

d j : d i  Cij

Bagi nilai n yang besar, n 2 adalah dominan. Maka kompleksiti bagi algoritma Djikstra adalah n2.

2. K aedh Bellman-Ford

Berdasarkan algoritma .62.2.1 ,bagi setiap Nlelaran m emerlukan N1penjum lahan. n, m, Æ n*m+ n

Dengan

 i, j  A, d j : min^d j , d i  Cij `

Bagi nilai n yang besar, nm adalah dominan. Maka kompleksiti bagi algoritma Bellman-Ford adalah nm.

3. K aedh Floyd Warshall

Berdasarkan algoritma .62.3.1 ,bagi setiap Nlelaran m emerlukan n penjumlahan, n xn xn= n 3, Æ n3 +n 76

Bagi nilai n yang besar n2 adalah dominan. Maka kompleksiti bagi algoritma Floyd Warshall adalah n2.

Dengan for setiap k : 1to N do

for setiap >@i, j  N u N do

ifd>i, j@ > d>@i,k  d >k, j @ then

d>@i, j : d >@i,k  d >@k. j ;

Jadual .14 Jum lah perasiO Untuk Setia p aedahK angY Telah Dibincangkan.

Kaedah Jumlah Op erasi Djikstra n2 +n Bellman-Ford nm +n Floyd-Warshall n3 +n2

Berdasarkan jadual .14 ,m enunjukkanloyd-W F arshall merupakan kaedah yang terbaik dalam pengiraan kompleksiti. Ini kerana ia memberikan jumlah operasi huruf Obesar yang bersifat kubik. Maka, pr oses algoritmanya lebih laju berbanding dengan Djikstra dan Bellman-Ford

4.3 asMnairl

Masa larian adalah pengiraan yang melibatkan proses algoritma laluan terpendek yang di jana. Masa mula dan masa tamat bagi algoritma menyelesaikan pengiraan diambil. Seterusmya jumlah bagi proses diperolehi sehingga ukuran milisaat. 86

Pembuktian masa larian dilakukan pada set perkakasan komputer yang mempunyai spesifikasi berbeza supaya dapat melihat kepelbagaian dalam masa larian yang diperolehi.

Bagi komputer riba, jenamanya adalah Compaq Presario 2200. omputerK ini mempunyai unit pemproses pusat Intel Celeron M ,pemproses .41 0hzG ,RAM sebanyak 42Mb serta cakera keras 51 bG akeraC keras mempunyai ruang kosong .21 b.G

Manakala bagi komputer persendirian, ia berjenama HP Pavilion mx704. omputerK ini menggunakan pemproses Intel Pentium 4 ,unit pemprosesan komputer .62 0 ,zHG RAM sebanyak 842MB serta cakera keras sebanyak 03bG dengan ruang kosong sebanyak .524 b.G

omputerK makmal pula berjenama Fujitsu . omputerK ini disambungkan dengan menggunakan rangkaian ANL ( Local Area Network.) omputerK ini mempunyai RAM sebanyak 025,41b,K cakera keras .641 bG dan sebanyak .74 9 bG ruang kosong.

Proses janaan ketiga-tiga kaedah laluan terpendek menggunakan dua perbandingan. Pertama, carian laluan te rpendek yang menggunakan data sumber dan destinasi sama, dijana sebanyak dua kali dan janaan laluan sumber dan destinasi yang berbeza diuji sekali sahaja. Penggunaan lalu an yang sama adalah supaya sebarang perubahan masa larian bagi perkakasan tertentu dapat dinilai. Setiap laluan mewakili bilangan nod yang berbeza. Ini dilakukan bertujuan untuk melihat ariasiv masa larian yang dihasilkan. Susunan ini akan memberikan satu hasil pemerhatian bilangan nod dengan masa larian.

Perbandingan yang kedua menggunakan set laluan yang sama dengan cara pertama. Perbezaanya adalah dari segi bila ngan proses janaan dan juga cara proses dilarikan. aluanL akan dijana kali pertama, seterusnya larian bagi laluan seterusnya 96 di catatkan. Tujuannya untuk melihat masa larian bagi setiap laluan apabila proses larian dilakukan secara berterusan.

Paparan jadual dan rajah bagi hasil proses janaan disusun bermula dengan kaedah Floyd-Warshall ,diikuti dengan kaedah Djikstra dan seterusnya kaedah Bellman-Ford.

4.3.1 nagidbreP amtreP

Jadual berikut merupakan hasil larian bagi kaedah Floyd-Warshall menggunakan ketiga-tiga perkakasan. Seterusnya rajah hasil masa larian dipaparkan untuk rujukan. anyaH rajah ha sil masa larian bagi komputer riba laluan pertama sahaja dipaparkan.

Jadual .24 menunjukkan hasil larian kaedah Floyd-Warshall menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, komputer riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. Di samping itu, setiap larian pertama perkakasan yang diuji, memberi nilai masa larian yang tetap. 07

Jadual .24 :asilH larian Floyd-Warshall menggunakan ketiga-tiga perkakasan bagi perbandingan pertama k Perasn Komputer Komputer Komputer Riab P ernsdia Malk m n121212aulL rohJBaurh .533056 .85017 .10900 - Sk udai rohJBa urh .533056 .81019 .10600 - rohJBa urh .532056 .85017 .10900 - Merlimau .533056 .96010 .10600 - Batang Melak rohJBa urh .533056 .96010 .10600 - Benabm rohJBa urh .533056 .96010 .10900 - Batang Melak

Rajah .14 menunjukkan hasil masa lari an proses janaan pertama bagi Floyd-Warshall dari nod Johor bahru ke nod Skudai. aluanL di jana menggunakan perkaksan komputer riba. Masa larian yang dijana adalah sebanyak .53 36saat. Ini kerana bagi kaedah Floyd-Warshall ,janaan algoritmanya mengambil kira keseluruhan nod yang digunakan dalam set yang diuji. lehO kerana ka jian kes bagi penilaian ini adalah negeri Johor dan Melaka, maka janaan bagi laluan pada rajah .14 menggunakan keseluruhan nod bagi negeri Johor dan Melaka iaitu sebanyak 691bilangan nod. 17

Rajah .14 : Masa larian janaan pertam a Floyd-Warshall bagi laluan Johor Bahru ke Skudai mengunakan komputer riba

Setelah janaan pertama bagi kaedah Floyd-Warshall dilarikan. Seterusnya, laluan bagi nod Johor Bahr u ke Skudai di larikan untuk kali kedua. Masa larian yang diperolehi adalah bernilai sifar. lehO kerana pada janaan pertama algoritma Floyd-Warshall telah mengira semua nod bagi negeri Johor dan Melaka, m aka pada larian kedua dan seterusnya nilai jarak dan laluan dapat terus dipaparkan. Oleh itu, nilai sifar diperolehi. Rajah .24 menunjukkan hasil masa larian Floyd-Warshall pada larian kedua. 27

Rajah .24 :asilH larian kedua bagi kaedah Floyd-Warshall

Seterusnya kaedah Djikstra diuji dengan ketiga-tiga perkakasan komputer. Sebanyak dua kali larian diuji secara berterusan pada janaan pertama. asilH m asa larian bagi kaedah Djikstra yang dijana menggunakan ketiga-tiga perkakasan dipaparkan dalam jadual berikut. Rajah bagi masa larian dipaparkan untuk rujukan. anyaH rajah hasil masa larian bagi komputer riba laluan pertama sahaja dipaparkan.

Jadual .34 m enunjukkan hasil larian kaedah Djikstra menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, kom puter riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal.

Jadual .34 :asilH larian Djikstra menggunakan ketiga-tiga perkakasan bagi perbandingan pertama 37

kPearsn Komputer Riba Komputer Komputer P ernsdia Malk m naulL 121212 rohJBaurh .00103 .0704 .0704 .0306 .130.13 - Skudai rohJBa urh .00704 .0103 .0306 .0704 .120.13 - Muar rohJBa urh .00704 .0103 .0306 .0306 .1103 .13 - Mersing Merlimau .00501 .0103 .0601 .0203 .070.07 - Batang Melak rohJBa urh .00103 .0704 .0704 .0704 .130.12 - Benabm rohJBa urh .00203 .0704 .0206 .0704 .130.14 - Batang Melak

Rajah .34 menunjukkan hasil masa lari an proses janaan pertama bagi Djikstra dari nod Johor Bahru ke nod Skudai. aluanL di jana menggunakan perkaksan komputer riba. Masa larian yang dijana adalah sebanyak 0.0 23 saat. Ini kerana bagi kaedah Djkstra ,janaan algoritmanya mengambil kira nod sumber dan nod destinasi yang digunakan. Bagi laluan ini, algoritma akan mengira laluan terpendek dari nod sumber ke nod destinasi. Seterusnya melakukan proses kebelakang untuk mencari laluan terpendek. 47

Rajah .34 : Masa larian janaan pertam a Djikstra bagi laluan Johor Bahru ke Skudai mengunakan komputer riba

Setelah janaan pertama bagi kaedah Djikstra dilarikan. Seterusnya, laluan bagi nod Johor Bahru ke Skudai di larikan untuk kali kedua. Masa larian yang diperolehi adalah bernilai .00 64saat. lehO kerana kaedah Djikstra mencari laluan terpendek berdasarkan nod sumber dan nod destinasi, maka masa larian kedua dan seterusnya akan memberi nilai. Rajah .44 menunjukkan hasil masa larian Djikstra pada larian kedua 57

Rajah .44 :asilH larian kedua bagi aedahK Djikstra

Kaedah yang terakhir sekali iaitu Bellman_Ford diuji dengan ketiga- tiga perkakasan komputer. Sebanyak dua kali larian diuji secara berterusan pada janaan pertama. asilH masa larian bagi kaedah Bellman-Ford yang dijana menggunakan ketiga-tiga perkakasan dipaparkan dalam jadual berikut. Rajah bagi masa larian dipaparkan untuk rujukan. anyaH rajah hasil m asa larian bagi komputer riba laluan pertama sahaja dipaparkan.

Jadual .44 m enunjukkan hasil larian kaedah Bellman-Ford menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, komputer riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. 67

Jadual .44 :asilH larian Bellman-Ford menggunakan ketiga-tiga perkakasan bagi perbandingan pertama k Perasn Komputer Komputer Komputer Riab P ernsdia Malk m naulL 121212 rohJBaurh .00704 .0704 .0206 .0206 .130.13 - Skudai rohJBa urh .00103 .0203 .0206 .0704 .140.13 - Muar rohJBa urh .00103 .0704 .0206 .0306 .140.12 - Mersing Merlimau .00601 .0601 .0501 .0203 .080.07 - Batang Melak rohJBa urh .00704 .0103 .0306 .0704 .1102 .17 - Benabm rohJBa urh .00704 .0103 .0704 .0306 .120.12 - Batang Melak

Rajah .54 menunjukkan hasil masa lari an proses janaan pertama bagi Bellman-Ford dari nod Johor Bahru ke nod Skudai. aluanL di jana menggunakan perkaksan komputer riba. Masa larian yang dijana adalah sebanyak .00 13saat. Ini kerana bagi kaedah Bellman-Ford ,cara pencarian laluan terpendeknya adalah berdasarkan kaedah Djikstra dengan mengambil kira nod sumber dan nod destinasi yang digunakan. Bagi laluan ini, algoritma akan mengira laluan terpendek dari nod sumber ke nod destinasi. Semasa proses pengiraan dijalankan, proses label laluan terpendek di lakukan. Seterusnya laluan terpendek di cari bermula dari nod sumber ke nod destinasi. 7

Rajah .54 : Masa larian janaan pertam a Bellman-Ford bagi laluan Johor Bahru ke Skudai mengunakan komputer riba

Setelah janaan pertama bagi kaedah Bellman-Ford dilarikan. Seterusnya, laluan bagi nod Johor Bahr u ke Skudai di larikan untuk kali kedua. Masa larian yang diperolehi adalah bernilai .00 13saat. lehO kerana kaedah Bellman-Ford mencari laluan terpendek berdasarkan nod sumber dan nod destinasi, m aka masa larian kedua dan seterusnya akan memberi nilai masa larian. Rajah .64 menunjukkan hasil m asa larian Bellman-Ford pada larian kedua 87

Rajah .64 :asilH larian kedua bagi kaedah Bellman-Ford

4.3.2 nagidbrePKe aud

Jadual berikut merupakan hasil larian bagi kaedah Floyd-Warshall menggunakan ketiga-tiga perkakasan. Seterusnya rajah hasil masa larian dipaparkan untuk rujukan. anyaH rajah ha sil masa larian bagi komputer riba laluan pertama sahaja dipaparkan.

Jadual .54 m enunjukkan hasil larian kaedah Floyd-Warshall menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, komputer riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. Di samping itu, larian ba gi laluan Johor Bahru ke Skudai yang diuji, m emberi nilai masa larian berbanding dengan 97

laluan yang seterusnya. Ini menunjukkan kaedah Floyd-Warshall tidak perlu membuat pengiraan laluan terpendek bagi laluan-laluan berikutnya.

Jadual .54 menunjukkan hasil larian kaedah Floyd-Warshall menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, komputer riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. Di samping itu, larian bagi laluan Johor Bahru ke Skudai yang diuji, memberi nilai masa larian berbanding dengan laluan yang seterusnya. Ini menunjukkan kaedah Floyd-Warshall tidak perlu membuat pengiraan laluan terpendek bagi laluan-laluan berikutnya.

Jadual .54 :asilH larian keseluruhan masa larian bagi Floyd-Warshall bagi perbandingan kedua

kPerasnKomputer Komputer Komputer Riab P ernsdia Malk m naulL Johr Bahru -Skudai .53396 .8192.88151 Johr Bahru-Ma 000 Johr Bahru-Mesing 000 Merlimau-Batang Melak 000 rohJBaBe-urh nabm 000 Johr Bahru-Batang Melak 000

Rajah .74 menunjukkan hasil masa la rian proses janaan pertama laluan Johor Bahru ke Skudai bagi Floyd-Warshall. aluanL di jana menggunakan perkaksan komputer riba. Masa larian yang dijana adalah sebanyak .53 74saat. Seperti masa larian Floyd-Warshall di perbandingan pertama, janaan algoritma Floyd-Warshall mengambil kira keseluruhan nod yang digunakan dalam set yang diuji. 08

Rajah .74 :Masa larian kaedah Floyd-Warshall janaan pertama bagi komputer riba

Setelah janaan pertama bagi kaedah Floyd-Warshall dilarikan. Seterusnya, laluan bagi nod Johor Bahr u ke Skudai di larikan untuk kali kedua. Masa larian yang diperolehi adalah bernilai sifar. lehO kerana pada janaan pertama algoritma Floyd-Warshall telah mengira semua nod bagi negeri Johor dan Melaka, m aka pada larian kedua dan larian bagi laluan seterusnya, nila i jarak dan laluan dapat terus dipaparkan. Oleh itu, nilai sif ar diperolehi. Rajah .84 menunj ukkan hasil masa larian Floyd-Warshall pada larian kedua. 18

Rajah .84 :Masa larian kaedah Floyd-Warshall dari Johor Bahru ke Skudai bagi komputer riba

Rajah .94 menunjukkan hasil larian yang dibuat bagi nod Merlimau ke Batang Melaka dan memberikan nilai sifar. Ini menunjukkan bagi kaedah Floyd-Warshall ,larian nod sum ber dan nod destinasi tidak di ambil kira, tetapi keseluruhan bilangan nod dikira dalam mendapatkan laluan terpendek bagi laluan tertentu. Maka laluan terpendek serta jarak bagi laluan seterusnya atau mana-mana laluan dapat dihasilkan setelah janaan pertama. 28

Rajah .94 :Masa larian kaedah Floyd-Warshall dari Merlimau ke Batang Melaka bagi komputer riba

Seterusnya kaedah Djikstra diuji dengan ketiga-tiga perkakasan komputer.. asilH m asa larian bagi kaedah Djikstra yang dijana menggunakan ketiga-tiga perkakasan komputer dipaparkan dalam jadual berikut. Hanya rajah hasil masa larian bagi komputer riba laluan Johor Bahru ke Skudai dan laluan Melaka ke Batang Melaka dipaparkan. Kedua-dua laluan ini merupakan laluan dari dua nergeri yang berbeza yang m empunyai bilangan nod yang berlainan.

Jadual .64 m enunjukkan hasil larian kaedah Djikstra menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, kom puter riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. 38

Jadual .64 :asilH larian keseluruhan masa larian Djikstra bagi perbandingan kedua

kPerasnKomputer Komputer Komputer Riab P ernsdia Malk m naulL Johr Bahru -Skudai .00103 .0704 .13 Johr Bahru-Ma .00103 .0306 .13 Johr Bahru-Mesing .00103 .0704 .13 Merlimau-Batang Melak .00501 .0103 .07 rohJBaBe-urh nabm .00704 .0306 .13 Johr Bahru-Batang Melak .00704 .0306 .12

Rajah .14 0menunjukkan hasil masa lari an proses janaan pertama bagi Djikstra dari nod Johor Bahru ke nod Skudai. aluanL di jana menggunakan perkaksan komputer riba. Masa larian yang dijana adalah sebanyak 0.0 13 saat. Ini kerana bagi kaedah Djkstra ,janaan algoritmanya mengambil kira nod sumber dan nod destinasi yang digunakan. Bagi laluan ini, algoritma akan mengira laluan terpendek dari nod sumber ke nod destinasi. Seterusnya melakukan proses kebelakang untuk mencari laluan terpendek. 48

Rajah .14 0 :Masa larian kaedah Djikstra dari Johor Bahru ke Skudai bagi komputer riba

Setelah janaan laluan Johor Bahru ke Skudai bagi kaedah Djikstra dilarikan. Seterusnya, la rian dibuat ke atas laluan bagi nod Merlimau ke Batang Melaka. Masa larian yang diperolehi adalah bernilai 0.0 51saat. Nilai ini berbeza dari m asa larian laluan pertama kerana kaedah Djikstra mencari laluan terpendek berdasarkan nod sumber dan nod destinasi, m aka masa larian bergantung kepada nod sumber dan nod destinasi. Rajah .14 1 menunjukkan hasil masa larian Djikstra laluan Merlimau ke Batang Melaka. 58

Rajah .14 1 :Masa larian kaedah Djikstra dari Merlimau ke Batang Melaka bagi komputer riba

aedahK yang terakhir bagi pe rbandingan kedua ialah kaedah Bellman_Ford yang diuji dengan ketiga-tiga perkakasan komputer. Sebanyak dua kali larian diuji secara berterusan pada janaan pertama. Hasil masa larian bagi kaedah Bellman-Ford yang dijana menggunakan ketiga-tiga perkakasan komputer dipaparkan dalam jadual berikut. Hanya rajah hasil m asa larian bagi komputer riba laluan Johor Bahru ke Skudai dan laluan Merlimau ke Batang Melaka sahaja dipaparkan.

Jadual .74 m enunjukkan hasil larian kaedah Bellman-Ford menggunakan ketiga-tiga perkakasan. Berdasarkan jadual, komputer riba menghasilkan masa larian yang terbaik diikuti dengan komputer persendirian dan akhir sekali komputer makmal. 68

Jadual .74 :asilH larian keseluruhan masa larian Bellman-Ford bagi perbandingan kedua

kPerasnKomputer Komputer Komputer Riab P ernsdia Malk m naulL Johr Bahru -Skudai .00704 .0704 .13 Johr Bahru-Ma .00704 .0306 .13 Johr Bahru-Mesing .00704 .0704 .13 Merlimau-Batang Melak .00501 .0103 .07 rohJBaBe-urh nabm .00203 .0306 .13 Johr Bahru-Batang Melak .00704 .0306 .12

Rajah .14 2menunjukkan hasil masa larian proses larian bagi Bellman- Ford dari nod Johor Bahru ke nod Skudai. aluanL di jana menggunakan perkakasan komputer riba. Masa larian yang dijana adalah sebanyak .00 74 saat. Pengiraan laluan terpendek bagi kaedah Bellman-Ford sama dengan kaedah Djikstra. Perbezaan kaedah ini dengan kaedah Djikstra adalah dari segi pencarian laluan terpendek. Di mana kaedah ini mencari laluan terpendek dari nod sumber. 78

Rajah .14 2 :Masa larian kaedah Bellman_Ford dari Johor Bahru ke Skudai bagi komputer riba

Setelah janaan laluan Johor Bahru ke Skudai bagi kaedah Bellman- Ford dilarikan. Seterusnya, larian dibuat ke atas laluan bagi nod Merlimau ke Batang Melaka. Masa larian yang diperolehi adalah bernilai 0.0 51saat. Nilai ini berbeza dari m asa larian laluan pertama kerana kaedah Bellman-Ford mencari laluan terpendek berdasarkan nod sumber dan nod destinasi, maka masa larian bergantung kepada nod sumber dan nod destinasi. Rajah .14 3 menunjukkan hasil masa larian Bellman-Ford laluan Merlimau ke Batang Melaka. 8

Rajah .14 3 :Masa larian kaedah Bellman_Ford dari Merlimau ke Batang Melaka bagi komputer riba

4.4 A nalis

Seterusnya analisis akan dibuat berdasarkan hasil dalam subtopik 4.3.1 dan sub topik .34.2 yang m enerangkan perbandingan masa larian bagi kaedah-kaedah laluan terpendek menggunakan ketiga-tiga perkakasan komputer. edua-duaK perbandingan menunjukkan komputer riba memberikan masa larian yang terbaik.. Ini diikuti dengan komputer persendirian dan komputer makmal. Apa yang dimaksudkan terbaik adalah perbandingan masalarian yang paling pantas di antara ketiga-tiga perkakasan komputer. esimK pulannya, sp esifikasi komputer memainkan peranan dalam menghasilkan masa larian yang terbaik. Analisis ini akan menggunakan masa larian dari perkakasan yang terbaik iaitu komputer riba. 98

4

) 3 saat 2

Masa larian ( 1

0 12 345 6 Larian Pertama .5363 3.563 3.526 3.563 3.5633.5 63 arianL Kedua 00 000 0 Bil Laluan

Rajah .14 :4ubunganH m asa larian bagi kaedah Floyd-Warshall

Rajah .14 4m enunjukkan secara jelas graf hubungan masa larian dengan laluan dalam Jadual .24 . Masa larian bagi Floyd-Warshall menurun setelah janaan pertama bagi setiap laluan pada larian pertama. arianL kedua dan seterusnya memberi nilai sifar. Ini adalah kerana bagi kaedah Floyd-Washall ,pencarian algoritmanya melibatkan semua nod di dalam rangkaian pada larian pertama. Bagi larian berikutnya jarak dan laluan terpendek di antara mana-mana nod terus dicapai. 09

0.050 0.045 0.040 0.035 0.030 Masa Larian (saat) 0.025 0.020 0.015 0.010 0.005 0.00 12 34 5 Larian Pertama 0.032 0.0470.047 0.031 0.032 arianL Kedua 0.046 0.0310.031 0.047 0.047 aluanL

Rajah .14 5 :ubunganH m asa larian bagi kaedah Djikstra

0.050 0.045 0.040 0.035 0.030 Masa Larian (saat) 0.025 0.020 0.015 0.010 0.005 0.00 12 34 56 aluanL Pertama0.0310.0310.0310.0160.0470.047 aluanL Kedua 0.0310.0320.0470.0160.0310.031 aluanL

Rajah .14 6 :ubunganH m asa larian bagi kaedah Bellman-Ford

Rajah .14 5dan .14 6m enunjukkan graf hubungan masa larian bagi kaedah Djikstra dan kaedah Bellman-Ford berdasarkan jadual .34 dan jadual .44. rafG 19 menunjukkan masa larian yang tetap bagi larian pertama serta larian seterusnya. Ini adalah kerana, kaedah Djikstra dan Bellman-Ford mencari laluan terpendek berdasarkan pencarian nod per nod.

4 3.5 3 2.5 2 1.5 Masa Larian Masa 1 0.5 0 123456 Laluan

Rajah .14 :7ubunganH m asa larian dengan laluan bagi kaedah Floyd-Warshall

Rajah .14 7m enunjukkan graf hubungan masa larian dengan laluan bagi kaedah Floyd-Warshall berdasarkan perbandingan kedua iaitu dalam jadual 4.5. Pada laluan pertama, kaedah ini m engambil masa larian yang agak lama berbanding dengan laluan yang seterusnya. Ini kerana, ia m enjana semua nod dalam data pada masa permulaan janaan. aluanL seterusnya akan memberi nilai sifar apabila di larikan pada janaan yang sama walaupun pada laluan yang berbeza. 29

0.05 0.045 0.04 ) 0.035

sa at 0.03 0.025 0.02

Masa Larian ( 0.015 0.01 0.005 0 12 34 56 aluanL

Rajah .14 :8ubunganH m asa larian dengan laluan bagi kaedah Djikstra

Rajah .14 8m enunjukkan graf hubungan masa larian dengan laluan bagi kaedah Djikstra. lehO kerana kaedah ini akan mencari laluan berdasarkan nod per nod, m aka akan terdapat perbezaan m asa larian pada laluan yang berlainan. 39

.005 .0054 .004 ) .0053 .003 .0052 .002 .0051 Masa Larian (saat .001 .0050 0 123 456 aluanL

Rajah .14 9 :ubunganH m asa larian dengan laluan bagi kaedah Bellman-Ford

Rajah .14 9m enunjukkan graf hubungan masa larian dengan laluan bagi kaedah Bellman-Ford lehO kerana k aedah ini juga akan mencari laluan berdasarkan nod per nod, m aka akan terdapat perbezaan m asa larian pada laluan yang berlainan.

0.05

) 0.04

saat 0.03

0.02

Masa Larian ( 0.01

0 12 345 6 Djikstra 0.0310.0310.0310.0150.0470.047 Bellman-Ford 0.0470.0470.0470.0150.0320.047 aluanL

Rajah .24 0 : Perbandingan masa larian bagi kaedah Djikstra dan Bellman-Ford 49

Rajah .24 0m enunjukkan graf hubungan masa larian bagi kaedah Djikstra dan Bellman-Ford. edua-keduanyaK m empunyai nilai masa larian yag hampir sama bagi setiap laluan. Ini adalah kerana, kaedah Bellman-Ford merupakan kaedah yang menggunakan cara pengiraan kaedah Djikstra tetapi berlainan hanya untuk mencari laluan berpemberat negatif. Oleh itu, kaedah Bellman-Ford boleh di kecualikan dalam analisis ini.

.61 Johor 146 .41

) .21 1 .80 .60

Masa (saat larian .40 .20 Melaka 50 0 1 Johor 146 1.453 Melaka 50 0.047 Negeri

Rajah .24 1 :ubunganH bilangan nod dengan m asa larian bagi kaedah Djikstra

Rajah .24 1m enunjukkan graf masa larian Floyd-Warshall bagi negeri Johor dan bagi negeri Melaka egeriN J ohor mempunyai bilangan nod sebanyak ,641 manakala negeri Melaka sebanyak 05 nod. rafG inim enunjukkan bahawa bilangan nod akan mempengaruhi masa larian bagi Floyd-Warshall. Jika dilihat pada graf, masa larian bagi negeri Johor yang mempunyai bilangan nod sebanyak 614nod adalah .41 35saat berbanding dengan m asa larian bagi negeri Melaka yang mempunyai bilangan nod sebanyak 50nod . esim K pulannya masa larian bagi Floyd- Warshall meningkat selari dengan bilangan nod. 59

Jadual .84 menunjukkan perbandingan masa larian bagi kaedah-kaedah laluan terpendek berdasarkan laluan yang dipilih. Bagi kaedah Djikstra ,secara keseluruhannya masa larian kaedah ini menunjukkan perbezaan disetiap laluan yang dijana. Begitu juga dengan kaedah Bellman-Ford yang menghasilkan nilai bagi setiap janaan laluan. Tetapi bagi kaedah Floyd-Warshall ,masa larian janaan pertama sahaja yang memberikan nilai. Bagi laluan seterusnya masa larian memberikan nilai sifar esimpulannyaK bagi kaedah Djikstra dan Bellman-Ford ,pengiraan laluan terpendek akan dilakukan setiap kali laluan dijana. Manakala bagi kaedah Floyd- Warshall ,keseluruhan nod akan dikira pada jana an pertama. Seterusnya bagi laluan yang berikutnya, nilai jarak dan paparan lalu an terus boleh di paparkan tanpa perlu membuat pengiraan semula nod.

Jadual .84 :Perbandingan kaedah -kaedah laluan terpendek

Kaedah Djikstra Bellman-Ford Floyd_Warshall naulL Johr Bahru – Skudai .00103 .0734 .564 rohJBa urh – rauM .00103 .0704 Johr Bahru – Mersing .00103 .0704 Merlimau –Batang Melak .00501 .0501 rohJBa urh –Be nabm .00704 .0203 rohJBa urhBa– gnat akleM .00704 .0704 69

01

Masa arianL Saat)( 8

6

4

2

0 1 Djikstra .0667 Bellman-Ford .2921 loyd-WF arshall .5336 aedahK

Rajah .24 2 :Anggaran M asa arianL Bagi etiga-TK iga aedahK

Rajah .24 2m enunjukkan graf bagi masa larian antara kaedah-kaedah laluan terpendek bagi keseluruhan data yang berjumlah 691nod nod( negeri Johor dan Melaka). Bagi kaedah Djikstra ,m asa lariannya adalah .06 67saat. Bellman-Ford pula memberikan masa larian sebanyak .29 21saat. M anakala Floyd-Warshall memberi masa larian paling sedikit iaitu .53 64 saat. Dari perbandingan ini menunjukkan kaedah Floyd-Warshall merupakan kaedah yang memberikan masa larian terbaik bagi set data negeri Johor dan Melaka. 79

5.4 Ke nalupmis

Bab hasil dan analisis menunjukkan hasil kajian dari segi pengiraan kompleksiti dan masa larian. Pengiraan kompleksiti bagi setiap kaedah yang dipilih, diterangkan untuk mendapatkan jumlah operasi dalam satu pengulangan bagi kaedah-kaedah yang dipilih. Seterusnya, pengujian masa larian yang menggunakan Microsoft Visual Basic 6.0 dan Microsoft Access 302dijalankan ke atas data negeri Johor dan Melaka. asilH bagi pengujian masa larian dilampirkan dalam rajah. asilH keseluruhan pengujian ditunjukkan dalam jadual serta rajah.

Analisis dilakukan bagi setiap hasil pengujian yang diperolehi. Seterusnya analisis ini akan dibincangkan serta di rumuskan pada bab yang terakhir iaitu bab perbincangan dan kesimpulan. BAB 5

PERBINCANGAN DAN KESIMPULAN

5.1 Pengenalan

Setelah hasil dan analisis dijalankan terhadap kaedah-kaedah yang dipilih, seterusnya memperolehi keputusan. Bab ini membincangkan serta mengupas hasil dan keputusan yang diperolehi itu dari segi objektif kajian. Selain itu, antara lain yang disentuh adalah kelebihan kajian, kelemahan kajian dan cadangan pembaikan kajian.

Kajian kes merupakan rangkaian jalan raya negeri Johor dan Melaka. Rangkaian ini mempunyai 196 bilangan nod. Di mana, negeri Johor mempunyai 146 nod dan negeri Melaka mempunyai 50 bilangan nod. Laluan yang diguna pakai adalah Lebuhraya, jalan Persekutuan dan jalan Negeri. Kajian melibatkan parameter kompleksiti dan masa larian. Di samping itu, kaedah laluan terpendek yang dikaji adalah kaedah Djikstra, Bellman-Ford dan Floyd-Warshall.

Pengiraan kompleksiti kira bagi ketiga-tiga kaedah laluan terpendek yang dikaji. Berdasarkan pengiraan, kaedah Djikstra memberikan nilai kompleksiti yang bersifat kuardatik, kaedah Bellman-Ford bersifat selari dan kaedah Floyd-Warshall bersifat kubik (Rujuk Jadual 4.1). Pengiraan kompleksiti menunjukkan Floyd- Warshall akan memberikan pengiraan yang terbaik di antara ketiga-tiga kaedah. 99

Penggunaan kaedah Djikstra dan Bellman-Ford dalam rangkaian jalan raya negeri Johor dan Melaka adalah tidak digalakkan. Ini kerana, berdasarkan analisis yang telah dibuat, kaedah Djikstra dan Bellman-Ford memberikan masa larian yang lama bagi 196 nod iaitu jumlah nod bagi negeri Johor dan Melaka (Rujuk Rajah 4.11). Dengan struktur jalan raya yang semakin bertambah bilangan nodnya pada masa hadapan menyebabkan penggunaan kaedah Djikstra dan Bellman-Ford tidak relevan.

Floyd-Warshall memberikan nilai masa larian yang terbaik antara ketiga-tiga kaedah (Rujuk Rajah 4.11). Dengan ini membuktikan, Floyd-Warshall merupakan kaedah laluan terpendek terbaik berdasarkan parameter pengiraan kompleksiti dan masa larian

5.2 Kelebihan Kajian

Dengan penggunaan aplikasi yang meluas menggunakan kaedah laluan terpendek, seharusnya kajian ini membantu dalam memastikan kelebihan kaedah yang digunakan. Setakat ini belum ada mana-mana pihak yang secara seriusnya membuat kajian penilaian kaedah terpendek menggunakan data sebenar semenanjung Malaysia seumpamanya di Malaysia.

5.3 Kelemahan Kajian

Penggunaan data laluan yang tidak menyeluruh di mana, data laluan diambil hanya laluan jalan raya Persekutuan dan laluan jalan raya Negeri serta Lebuhraya. Di samping itu, data laluan yang diperolehi tidak terkini. 100

5.4 Cadangan Pembaikan

Dari segi kajian secara keseluruhan, pada masa hadapan diharap kajian ini diteruskan dengan beberapa kaedah terbaru untuk menghasilkan kaedah yang paling baik antara yang terbaik. Di samping itu, pengujian boleh menggunakan bahasa +C atau Java untuk membuat perbandingan antaranya serta dapat mempertingkatkan hasil larian. Penggunaan data yang lebih mendalam ke laluan jalan raya kampung mungkin dapat memberi hasil larian yang berlainan.

Selain itu, kajian kaedah laluan terpendek bagi penggunaan algoritma yang telah diubahsuai boleh dilakukan untuk data kajian kes semenanjung Malaysia. Dengan ini, hasil dari algoritma klasik serta algoritma yang telah diubahsui boleh dihasilkan. 101

BIBLIOGRAFI

1 A.L. Roginsky, K.J. Christensen, V. Srinivasan (1999). New methods for shortest path selection for multimedia traffic with two delay constraints. Computer Communications 22 (1999) 1531–1539

2 Brian,, V.G (2000). Exploring Shortest Path Algorithms, Department Of Geography, University of Wisconsin.

3 Farag Sallabi, Ahmed Karmouch, Khaled Shuaib (2005).Design and implementation of a network domain agency for scaleable QoS in the Internet. Computer Communications 28 (2005) 12–24

4 Herbert S. Wilf (1994). Algorithms and Complexity. Internet Edition

5 Hochbaum, Dorit (1997), Graph Algorithms and Network Flows, IEOR, 266

6 http://www.ncgia.ucsb.edu/giscc/units/u064/u064.html

7 http://www.ece.nwu.edu/~guanghui/Transportation/spt/section3_2.html Bellman-Ford Algorithm, 13 Februari 2005

8 http:// users.forthnet.gr/ath/kimon/CC/CCC1b.htm An Introduction to Computational Complexity

9 Huabei Yin dan Yuejiao Zhou (2003), Empirical Evaluation of All-Pairs Shortest Paths Algorithms

10 Kiseok Sung , Michael G.H. Bell, Myeongki Seong, Soondal Park (2000). Shortest paths in a network with time-dependent flow speeds. European Journal of Operational Research 121 (2000) 32 – 39 102

11 Kyu-Yeul Lee, Myung-Il Roh, Hyuk-Su Jeong (2005). An improved genetic algorithm for multi-floor facility layout problems having inner structure walls and passages. Computers & Operations Research 32 (2005) 879–899.

12 Mc Hugh, james A (1990). "Algorithmic Graph Theory". Englewood Cliffs, N.J. Prentice-Hall.

13 Mustafa Anjang Ahmad (2003). Analisis Laluan Terpendek Untuk GIS Navigasi Kenderaan.

14 Saunders, Shane (2004). Improved Shortest Path Algorithms for Nearly Acyclic Graphs. University of Canterbury: Ph.D. Thesis.

15 S. Namkoong, J.-H. Rho, J.-U. Choi (1998). Development of the, Tree-Based Link Labeling Algorithm for optimal Path-Finding in Urban Transportation Networks. M&l. Computer. Modelling Vol. 27, No. +ll, pp. 51-65, 1998

16 Wem’s (2001), Peta Panduan Jalan dan Lebuhraya Malaysia

17 Wen-Lin Yang (2004). A comparison of two optimal approaches for the MCOP problem. Journal of Network and Computer Applications 27 (2004), 151–162

18 West, D.B (2001), Introduction To Graph Theory Second Edition, PrenticeHall, Inc

19 Yen, J.Y. Shortest Path Network Problems, Herstellung: Verlag Anton Hain KG-Meisenheim am Glan

20 Yijie Han (2004). Improved Algorithm for All Pairs Shortest Path. InformationProcessing Letters 9 (2004), 245-250.

21 Zhan, F. B. and Noon, C. E (1998). Shortest Path Algorithm : An Evaluation using Real Road Network. Transportation Science, Vol. 32, No. 1, February 1998. 103

22 Zhiyang Yao, Satyandra K. Guptaa, Dana S. Nau (2003). Algorithms for selecting cutters in multi-part milling problems. Computer-Aided Design 35 (2003) 825–839

ID Task Name Dec '04 Jan '05 Feb '05 Mar ' 11/29 12/6 12/13 12/20 12/27 1/3 1/10 1/17 1/24 1/31 2/7 2/14 2/21 2/28 1 1.0 Fasa Perancangan 2 1.1 Cadangan Tajuk Projek 3 1.2 Mengkaji masalah projek 4 1.3 Menentukan objektif dan skop 5 1.4 Membuat Carta Gantt 6 1.5 Menyediakan laporan awal 1/4 7 2.0 Fasa Analisis Masalah 8 2.1 Mencari algoritma-algoritma yang sesuai dengan masalah 9 2.2 Mencari maklumat berkenaan dengan algoritma-algoritma yang dipilih 10 2.3 Membuat kajian yang lebih mendalam tentang algoritma-algoritma yang sesuai 11 2.4 Membuat pengujian perbandingan di antara algoritma yang dipilih 12 2.5 Membuat rangka kerja dan pemilihan metodologi 13 2.6 Membuat pengemaskinian data lama dan data baru 14 Penyediaan laporan projek 1 15 Hantar draf kepada penyelia 16 Pembetulan laporan 17 Hantar laporan projek 1 kepada fakulti 2/24 18 Pembentangan Projek 1

Task Milestone External Tasks Project: Jadual Perancangan Projek I Split Summary External Milestone Date: Fri 11/25/05 Progress Project Summary Deadline

Page 1

ID Task Name Start Finish 2 3 4 5 6 7 8 9 10 11 Feb Mar Apr May Jun Jul Aug Sep Oct Nov 1 3.0 Fasa Implementasi Thu 7/14/05 Mon 10/17/05 2 3.1 Pengiraan Kompleksiti Thu 7/14/05 Fri 10/14/05 3 3.2 Penjanaan masa larian Tue 8/16/05 Mon 10/17/05 4 4.0 Hasil dan Analisa Mon 8/15/05 Tue 10/18/05 5 4.1 Menyenaraikan hasil yang didapati Mon 8/15/05 Sun 10/16/05 6 4.2 Menganalisa hasil yang telah diolah Tue 10/18/05 Tue 10/18/05 7 Penyediaan laporan projek 2 Sat 8/13/05 Thu 9/29/05 8 Hantar draf kepada penyelia Fri 9/30/05 Thu 10/6/05 9 Pembetulan laporan Mon 10/10/05 Wed 10/12/05 10 Hantar laporan projek 2 kepada fakulti Thu 10/13/05 Fri 10/14/05 10/13 11 Pembentangan Projek 1 Mon 10/17/05 Tue 10/18/05

Task Milestone External Tasks Project: Jadual Perancangan Projek II Split Summary External Milestone Date: Fri 11/25/05 Progress Project Summary Deadline

Page 1 Johor Melaka

ID NAMA 1 Johor Bahru 2 Tampoi 3 4 Skudai 5 6 (Interchange) 7 8 Masai 9 Kg. 10 11 Skudai Interchange 12 13 14 Kg. 15 16 Kg. 17 Senai Utara(Interchange) 18 19 20 Kg. Ayer 21 Kulai Interchange 22 Teck Wah Heng 23 Kg. 24 Kangkar Sg. Tiram 25 Sedenak (Interchange) 26 Pekan Nenas 27 Pontian Kecil 28 Kg. Teluk Kerang 29 Kg. Sawah 30 Bandar Permas 31 32 Kg. Serkat 33 Pontian Besar 34 Kayu Ara Pasong 35 Ayer Baloi 36 Ulu Sungai Ayer Baloi 37 Sanglang 38 39 Simpang Interchange 40 Layang-Layang 41 42 Renggam 43 44 (Interchange) 45 Interchange 46 Machap 47 Kg. Paya 48 Niyor ID NAMA 49 Kg. Semberong 50 Kg. Gajah 51 52 Kangkar 53 54 Kg. Semangar 55 56 57 Air Tawar 58 Kg. Hj. Mohd. Jambi 59 Gugusan Air Tawar 60 61 Sungai Mas 62 Semenchu 63 Mawai 64 Simpang Wa Ha 65 Bandar Easter 66 67 Kuala 68 Tanjung Sedili Kecil 69 70 Tanjung Gemoh 71 Tanjung Belungkor 72 Gugusan Felda Keledang 73 74 Punggai 75 Kg. Sg. 76 Tanjung 77 Kr. Dohol 78 Kg. Ulu Sedili 79 Rengit 80 Senggarang 81 Lapangan Terbang 82 Seri Gading 83 Tanjung Semberong 84 85 Batu Pahat 86 Peserai 87 88 Parit Puasa Darat 89 Tongkang Pecah 90 91 Seri Medan 92 Parit Ulong 93 Kg. 94 Interchange Utara 95 Yong Peng Interchange Selatan 96 Yong Peng ID NAMA 97 Kangkar Baharu 98 Ayer Hitam 99 Pekan Baru 100 101 102 103 Muar (Bandar Maharani) 104 105 106 Kesang 107 108 Batu Kangkar 109 Interchange 110 111 Tangkak 112 113 Gerisek 114 Kg. Teratai 115 116 117 118 Pagoh Interchange 119 120 121 Felcra Tebing Tinggi 122 123 124 Tumang 125 Felda Kg. Awat 126 Tenang 127 Felda Redong 128 129 Pekan Ayer Panas 130 131 Felda Maokil 132 133 134 135 Tanjung Leman 136 137 Kangkar Lengor 138 Kg. Sri Pantai 139 Mersing 140 Felda Nitar 141 Gugusan Felda Nitar 142 Felcra Tanah Abang 143 Kg. Tenglu 144 ID NAMA 145 Penyabong 146 Padang 147 148 Merlimau 149 Solok Pantai 150 Kg. Bukit 151 Bemban 152 153 Sempang Kerayong 154 Kesang Pajak 155 156 Batang Melaka 157 158 Sempang Bekoh 159 Bukit Asahan 160 Chin Chin 161 Jasin Interchange 162 Sempang Bugis 163 Kandang 164 Bandar Melaka 165 Ayer Molek 166 Tanjung Keling 167 Bukit Baru 168 Tangga Batu 169 170 Kg. Baharu 171 172 173 174 Besar 175 Kuala Linggi 176 Kg. 177 Felda Ramuan China 178 Lubuk China 179 Brisu 180 181 182 183 Kg. Paya Datok 184 Rembia 185 Melaka Pindah 186 187 Interchange 188 Simpang Ampat Interchange 189 190 Kemuning 191 Felda Hutan Percha 192 Felda Solok Menggong 193 Felda Bukit Bulat Machap 194 195 Sepang Kuala Sungga 196 Sempang Gading