Perancangan Aplikasi Sistem Pendukung Keputusan Pemilihan Trayek Angkutan Kota Pada Perangkat Mobile Menggunakan Algoritma Floyd

(1)

MENGGUNAKAN ALGORITMA

FLOYD

SKRIPSI

MUHAMMAD ARSYAD

061401043

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2011


(2)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

MUHAMMAD ARSYAD 061401043

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2011


(3)

Judul : PERANCANGAN APLIKASI SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN TRAYEK ANGKUTAN KOTA PADA

PERANGKAT MOBILE MENGGUNAKAN

ALGORITMA FLOYD

Kategori : SKRIPSI

Nama : MUHAMMAD ARSYAD

Nomor Induk Mahasiswa : 061401043

Program Studi : S1 ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 24 Maret 2011 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri B, ST, M.Comp.Sc, MEM Maya Silvi Lydia, B.Sc., M.Sc NIP. 197510082008011011 NIP 197401272002122001

Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP 196203171991021001


(4)

PERANCANGAN APLIKASI SISTEM PENDUKUNG KEPUTUSAN PEMILIHAN TRAYEK ANGKUTAN KOTA PADA PERANGKAT MOBILE

MENGGUNAKAN ALGORITMA FLOYD

SKRIPSI

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

Medan, 26 Februari 2011

MUHAMMAD ARSYAD 061401043


(5)

Bismillahirrahmanirrahim.

Alhamdulillah, puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Shalawat beriring salam penulis persembahkan kepada Nabi Besar Muhammad SAW.

Ucapan terima kasih penulis sampaikan kepada Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku pembimbing pertama dan Bapak M. Andri B, ST, M.Comp.Sc, MEM, selaku pembimbing kedua yang telah banyak meluangkan waktunya untuk memberikan masukan-masukan kepada penulis dalam penyelesaian skripsi ini. Ucapan terima kasih juga ditujukan kepada Bapak Prof. Dr. Tulus, M.Si, selaku pembanding pertama dan Bapak Syahriol Sitorus, S.Si, MIT, selaku pembanding kedua yang telah memberikan kritik dan saran yang sangat bermanfaat dalam penyelesaian skripsi ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom, dan Ibu Maya Silvi Lydia, B.Sc, M.Sc. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Ilmu Komputer FMIPA USU.

Skripsi ini penulis persembahkan untuk kedua orang tua dan keluarga yang telah memberikan doa, dukungan dan motivasi, ayahanda tercinta H. Buyung Effendy, S.Ag (alm) dan ibunda tercinta Fauziyah yang selalu sabar dalam membesarkan dan mendidik penulis , serta kakanda tersayang Muhammad Hasnul Arifin, Syarifah Aini, S.Pd (almh) dan Muhammad Yusuf, yang tak henti-hentinya mendoakan, mendukung dan memotivasi penulis hingga terselesaikannya skripsi ini. Kepada yang tersayang Amelia Astari, terima kasih atas dukungan dan semangat yang tak henti-hentinya diberikan kepada penulis, terima kasih atas cinta dan kisah yang telah terukir. Tidak lupa ucapan terima kasih juga penulis ucapkan buat sahabat-sahabat terbaik, Muhammad Alvin, Riky Andi Syahputra, Yahdin Faridhi, Suharsono, Putri Ramadhani S, Faurina Sari, Siti Rezeki, Syauvika Lubis, teman-teman S1 Ilmu Komputer angkatan ’06, serta teman-teman dan pihak-pihak yang tak dapat penulis sebutkan satu per satu yang telah banyak membantu dan mendukung penulis selama ini. Semoga Allah SWT memberikan imbalan atas apa yang telah diberikan.


(6)

Angkutan kota adalah alat transportasi umum yang banyak digunakan oleh penduduk kota. Salah satu permasalahan yang sering dialami oleh pengguna angkutan kota adalah sulitnya memilih trayek angkutan kota yang sesuai dengan tujuan yang dikehendaki dengan jarak yang terpendek. Untu menyelesaikan permasalahan lintasan terpendek telah dikembangkan berbagai algoritma, salah satunya adalah algoritma Floyd. Algoritma Floyd adalah salah satu metode untuk mencari lintasan terpendek dalam graf berbobot dengan bobot sisi negatif atau positif. Dalam penelitian ini, algoritma Floyd digunakan untuk membangun solusi yang akan digunakan sebagai basis data dari aplikasi sistem pendukung keputusan yang dibangun. Pengambilan keputusan merupakan suatu hal yang sangat penting dan sering dijumpai dalam kehidupan sehari-hari. Dengan mobilitas manusia yang semakin tinggi, maka pengambilan keputusan pun harus cepat, akurat dan dapat digunakan sewaktu-waktu, untuk itu perlu adanya sistem pengambilan keputusan yang dapat di akses lewat perangkat mobile. Aplikasi sistem pendukung keputusan yang dibangun berbasis

mobile web agar pengguna dapat langsung menggunakannya tanpa harus meng-install

terlebih dahulu. Aplikasi dirancang dengan menggunakan notasi pemodelan flowchart dan Unified Modelling Language serta diimplementasikan ke dalam bahasa pemrograman PHP. Dari penelitian ini diperoleh bahwa untuk membangun solusi dengan algoritma Floyd dibutuhkan waktu yang lama sesuai dengan data yang dimasukkan, dan solusi yang dihasilkan untuk suatu masalah bisa lebih dari satu.


(7)

URBAN TRANSPORTATION ROUTE SELECTION ON MOBILE DEVICE USING FLOYD ALGORITHM

ABSTRACT

Urban transportation is public transportation that is widely used by residents of the city. One of the problems often experienced by users of urban transportation is difficult to choose urban transportation route in accordance with the desired destination with the shortest distance. To solve the shortest path problem, have been developed various algorithms one of which is the Floyd algorithm. Floyd algorithm is one method for finding the shortest path in a weighted graph with weights the negative or positive. In this research, Floyd algorithm is used to build solution that will be used as a database of decision support system application are built. Decision making is a very important and often encountered in daily life. With increasing human mobility, then the decision must also be fast, accurate and can be used at any time, for that we need a decision support system which can be accessed via mobile devices. Application of decision support system built based on mobile web so that users can directly use it without having to install it first. Application designed using modeling notation flowchart and Unified Modeling Language and implemented into the programming language PHP. From this research it was found that to build solutions with Floyd's algorithm takes a long time in accordance with the data entered, and the resulting solution to a problem can be more than one.


(8)

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 4

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 5

1.7 Sistematika Penulisan 6

Bab 2 Landasan Teori 7

2.1 Sistem Pendukung Keputusan 7

2.1.1 Konsep Dasar Sistem Pendukung Keputusan 8 2.1.2 Karakteristik Sistem Pendukung Keputusan 9

2.1.3 Komponen Sistem Pendukung Keputusan 10

2.2 Sistem Transportasi 11

2.2.1 Angkutan Kota 12

2.2.2 Jaringan Trayek 13

2.3 Graf 15

2.3.1 Sejarah Graf 15

2.3.2 Definisi Graf 16

2.3.3 Jenis-jenis Graf 17

2.3.4 Lintasan Terpendek (Shortest Path) 19

2.3.5 Algoritma Floyd 19

2.4 Perangkat Mobile 21

2.5 Unified Modelling Languange 22

2.5.1 Komponen-Komponen Unified Modelling Language (UML) 23 2.5.1.1 Diagram Use-case (Use Case Diagram) 23 2.5.1.2 Diagram Aktivitas (Activity Diagram) 25

2.6 Pengujian Sistem 26

2.6.1 Pengujian Black Box 27

Bab 3 Analisis dan Perancangan Sistem 28


(9)

3.1.2 Analisis Sasaran Pengguna 28 3.1.3 Analisis Spesifikasi Perangkat Lunak 29

3.1.4 Analisis Algoritma 29

3.2 Perancangan Aplikasi 29

3.2.1 Perancangan Konseptual 29

3.2.1.1 Flowchart Aplikasi 30

3.2.1.2 Pendeskripsian Fungsionalitas Aplikasi 32 3.2.1.3 Pendeskripsian Proses dan Aktivitas dalam Aplikasi

3.2.2 Perancangan Fisik 43

3.2.2.1 Perancangan Database 43

3.2.2.2 Perancangan Antarmuka 44

Bab 4 Implementasi dan Pengujian 53

4.1 Implementasi 53

4.1.1 Tampilan Penggunaan Aplikasi 54

4.1.1.1 Tampilan Mobile 54

4.1.1.2 Tampilan Server 58

4.2 Pengujian 65

4.2.1 Pengujian Aplikasi Mobile 66

4.2.1.1 Proses Input Daerah Asal 66

4.2.1.2 Proses Input Daerah Tujuan 66

4.2.1.3 Proses Lihat Hasil 67

4.2.2 Pengujian Aplikasi Server 67

4.2.2.1 Proses Import Data 67

4.2.2.2 Proses Kelola Daerah 68

4.2.2.3 Proses Kelola Angkutan 68

4.2.2.4 Proses Kelola Trayek 69

4.2.2.5 Proses Buat Solusi 69

4.2.2.6 Proses Lihat Solusi 70

Bab 5 Kesimpulan dan Saran 74

5.1 Kesimpulan 74

5.2 Saran 74


(10)

Halaman Tabel 3.1 Penjelasan activity diagram aplikasi mobile 36 Tabel 3.2 Penjelasan activity diagram proses Login 37 Tabel 3.2 Penjelasan activity diagram proses Import Data 38 Tabel 3.3 Penjelasan activity diagram proses Kelola Daerah 39 Tabel 3.4 Penjelasan activity diagram proses Kelola Jarak 40 Tabel 3.5 Penjelasan activity diagram proses Kelola Angkutan 41 Tabel 3.6 Penjelasan activity diagram proses Kelola Trayek 42 Tabel 3.7 Penjelasan activity diagram proses Buat Solusi 43 Tabel 3.8 Penjelasan activity diagram proses Lihat Solusi 44

Tabel 3.9 Penjelasan tabel daerah 45

Tabel 3.10 Penjelasan tabel angkutan 45

Tabel 3.11 Penjelasan tabel jarak 46

Tabel 3.12 Penjelasan tabel trayek 46

Tabel 3.13 Penjelasan tabel graf 46

Tabel 3.14 Penjelasan tabel sementara 47

Tabel 3.15 Penjelasan tabel login 47

Tabel 3.16 Penjelasan tabel solusi 48

Tabel 4.1 Hasil Pengujian Proses Input Daerah Asal 69 Tabel 4.2 Hasil Pengujian Proses Input Daerah Tujuan 69

Tabel 4.3 Hasil Pengujian Proses Lihat Hasil 70

Tabel 4.4 Hasil Pengujian Proses Import Data 70

Tabel 4.5 Hasil Pengujian Proses Kelola Daerah 71

Tabel 4.6 Hasil Pengujian Proses Kelola Angkutan 71

Tabel 4.7 Hasil Pengujian Proses Kelola Trayek 72

Tabel 4.8 Hasil Pengujian Proses Buat Solusi 72


(11)

Halaman

Gambar 2.1. Posisi Sistem Pendukung Keputusan 3

Gambar 2.2. Model Konseptual SPK 5

Gambar 2.3 Contoh Trayek Langsung 9

Gambar 2.4 Contoh Lain Trayek Langsung 9

Gambar 2.5 Graf yang merepresentasikan jembatan Königsberg 10 Gambar 2.6 Tiga buah graf (a) graf sederhana, (b) graf ganda, (c) graf semu 12

Gambar 2.7 Graf berarah 13

Gambar 2.8 Contoh Graf 21

Gambar 2.9 Contoh Use Case Diagram 25

Gambar 2.10 Contoh Activity Diagram 26

Gambar 3.1 Flowchart Aplikasi Mobile 31

Gambar 3.2 Flowchart Aplikasi Server 32

Gambar 3.3 Aktor 33

Gambar 3.4 Diagram Use Case untuk aktor angkoters 34 Gambar 3.5 Diagram Use Case untuk aktor administrator 34 Gambar 3.6 Activity Diagram pada aplikasi mobile 35

Gambar 3.7 Activity Diagram proses Login 36

Gambar 3.8 Activity Diagram proses Import Data 37 Gambar 3.9 Activity Diagram proses Kelola Daerah 38 Gambar 3.10 Activity Diagram proses Kelola Jarak 39 Gambar 3.11 Activity Diagram proses Kelola Angkutan 40 Gambar 3.12 Activity Diagram proses Kelola Trayek 41 Gambar 3.13 Activity Diagram proses Buat Solusi 42 Gambar 3.14 Activity Diagram proses Lihat Solusi 43 Gambar 3.15 Rancangan Tabel pada Database Aplikasi Pemilihan Angkot 45 Gambar 3.16 Rancangan halaman input daerah asal 49

Gambar 3.17 Rancangan halaman daerah tujuan 49

Gambar 3.18 Rancangan halaman hasil 50

Gambar 3.19 Rancangan halaman Login 51

Gambar 3.20 Rancangan halaman Import Data 51

Gambar 3.21 Rancangan halaman Kelola Daerah 52

Gambar 3.22 Rancangan halaman Kelola Jarak 53

Gambar 3.23 Rancangan halaman Kelola Angkutan 53

Gambar 3.24 Rancangan halaman Kelola Trayek 54

Gambar 3.25 Rancangan halaman Buat Solusi 55

Gambar 3.26 Rancangan halaman Lihat Solusi 55

Gambar 4.1 Halaman Daerah Asal 57

Gambar 4.2 Pilih Daerah Asal 58

Gambar 4.3 Halaman Daerah Tujuan 59

Gambar 4.4 Pilih Dearah Tujuan 59

Gambar 4.5 Halaman Hasil 60


(12)

Gambar 4.8 Halaman Kelola Daerah 61

Gambar 4.9 Halaman Kelola Jarak 63

Gambar 4.10 Halaman Kelola Angkutan 64

Gambar 4.11 Halaman Kelola Trayek 65

Gambar 4.11 Halaman Buat Solusi 66

Gambar 4.12 Hasil Floyd 66

Gambar 4.13 Jalur Hasil Floyd 67

Gambar 4.14 Rute yang Tersedia 67


(13)

Angkutan kota adalah alat transportasi umum yang banyak digunakan oleh penduduk kota. Salah satu permasalahan yang sering dialami oleh pengguna angkutan kota adalah sulitnya memilih trayek angkutan kota yang sesuai dengan tujuan yang dikehendaki dengan jarak yang terpendek. Untu menyelesaikan permasalahan lintasan terpendek telah dikembangkan berbagai algoritma, salah satunya adalah algoritma Floyd. Algoritma Floyd adalah salah satu metode untuk mencari lintasan terpendek dalam graf berbobot dengan bobot sisi negatif atau positif. Dalam penelitian ini, algoritma Floyd digunakan untuk membangun solusi yang akan digunakan sebagai basis data dari aplikasi sistem pendukung keputusan yang dibangun. Pengambilan keputusan merupakan suatu hal yang sangat penting dan sering dijumpai dalam kehidupan sehari-hari. Dengan mobilitas manusia yang semakin tinggi, maka pengambilan keputusan pun harus cepat, akurat dan dapat digunakan sewaktu-waktu, untuk itu perlu adanya sistem pengambilan keputusan yang dapat di akses lewat perangkat mobile. Aplikasi sistem pendukung keputusan yang dibangun berbasis

mobile web agar pengguna dapat langsung menggunakannya tanpa harus meng-install

terlebih dahulu. Aplikasi dirancang dengan menggunakan notasi pemodelan flowchart dan Unified Modelling Language serta diimplementasikan ke dalam bahasa pemrograman PHP. Dari penelitian ini diperoleh bahwa untuk membangun solusi dengan algoritma Floyd dibutuhkan waktu yang lama sesuai dengan data yang dimasukkan, dan solusi yang dihasilkan untuk suatu masalah bisa lebih dari satu.


(14)

URBAN TRANSPORTATION ROUTE SELECTION ON MOBILE DEVICE USING FLOYD ALGORITHM

ABSTRACT

Urban transportation is public transportation that is widely used by residents of the city. One of the problems often experienced by users of urban transportation is difficult to choose urban transportation route in accordance with the desired destination with the shortest distance. To solve the shortest path problem, have been developed various algorithms one of which is the Floyd algorithm. Floyd algorithm is one method for finding the shortest path in a weighted graph with weights the negative or positive. In this research, Floyd algorithm is used to build solution that will be used as a database of decision support system application are built. Decision making is a very important and often encountered in daily life. With increasing human mobility, then the decision must also be fast, accurate and can be used at any time, for that we need a decision support system which can be accessed via mobile devices. Application of decision support system built based on mobile web so that users can directly use it without having to install it first. Application designed using modeling notation flowchart and Unified Modeling Language and implemented into the programming language PHP. From this research it was found that to build solutions with Floyd's algorithm takes a long time in accordance with the data entered, and the resulting solution to a problem can be more than one.


(15)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Untuk menunjang kegiatan sehari-hari, penggunaan sarana transportasi umum masih sangat dibutuhkan masyarakat khususnya di wilayah perkotaan. Salah satu sarana transportasi yang banyak digunakan adalah angkutan kota. Angkutan kota yang ada pada sebuah kota umumnya memiliki beberapa trayek yang berbeda antara satu dengan yang lain. Dengan banyaknya trayek yang ada terkadang menimbulkan berbagai masalah. Beberapa masalah yang muncul antara lain, sulitnya calon penumpang dalam memilih trayek angkutan kota khususnya bagi pendatang baru, dan sulitnya memilih trayek angkutan kota dengan lintasan terpendek bagi penduduk lokal. Ada beberapa alasan yang menyebabkan hal tersebut terjadi, antara lain: kurangnya informasi yang disediakan oleh angkutan kota mengenai trayeknya, tidak tersedianya angkutan kota yang menuju langsung ke tujuan yang diinginkan penumpang, dan kurangnya informasi mengenai nama-nama angkutan kota yang beredar di suatu kota khususnya bagi pendatang baru.

Pengambilan keputusan merupakan aktifitas penting dalam kehidupan sehari-hari. Pengambilan keputusan akan sangat menentukan keberadaan dan perkembangan dalam proses pencapaian tujuan ke depan. Melihat keadaan mobilitas manusia yang semakin tinggi, maka pengambilan keputusan pun harus cepat, akurat dan dapat digunakan sewaktu-waktu, untuk itu perlu adanya sistem pengambilan keputusan yang dapat mendukung mobilitas manusia. Agar dapat membantu pengambilan keputusan sesuai dengan mobilitas manusia yang semakin tinggi, maka sangat tepat bila ada aplikasi pengambilan keputusan yang bisa di akses lewat perangkat mobile. Salah satu


(16)

sehari-hari adalah pemilihan trayek angkutan kota dengan lintasan terpendek.

Algoritma Floyd adalah salah satu metode untuk mencari jalan terpendek dalam graf berbobot (dengan bobot sisi negatif atau positif). Algoritma ini salah satu varian dari pemrograman dinamis yaitu suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya solusi-solusi tersebut dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu (Novandi, 2007).

Berdasarkan hasil riset yang diungkapkan United Nation dan dipaparkan di gelaran Mobile World Congress 2010 yang berlangsung di Barcelona, 15-18 Februari 2010, pengguna ponsel semakin membengkak. Pada tahun 2010, jumlah pengguna alat telekomunikasi ini pun diprediksi bakal menembus angka lima miliar pengguna (Suryadhi, 2010). Dengan besarnya jumlah pengguna ponsel di dunia, dapat disimpulkan bahwa peran ponsel semakin penting bagi kehidupan manusia.

Saat ini ponsel tidak hanya digunakan sebagai alat komunikasi seperti layanan telepon dan SMS (Short Message Service) saja, tetapi juga dapat digunakan sebagai alat multimedia untuk mengambil foto, merekam video, memutar musik, game,

browsing internet,chatting,dll. Atas dasar itulah penulis ingin membuat sebuah

aplikasi berbasis mobile berupa sistem pendukung keputusan pemilihan trayek angkutan kota dengan menerapkan algoritma Floyd dan teknologi PHP. Sehingga pengguna yang nantinya akan memakai aplikasi ini dapat terbantu dalam memilih angkutan kota dengan efisien.

1.2Rumusan Masalah

Berdasarkan latar belakang di atas, maka rumuskan masalahnya adalah bagaimana menerapkan algoritma Floyd dalam bahasa pemrograman PHP untuk sistem


(17)

perangkat mobile.

1.3Batasan Masalah

Agar tidak meluasnya pembahasan, maka penelitian ini dibatasi padahal sebagai berikut:

1. Penelitian ini hanya membahas implementasi algoritma Floyd untuk mencari trayek angkutan kota dengan lintasan terpendek serta tidak membandingkannya dengan algoritma pencarian lintasan terpendek yang lain. 2. Parameter yang digunakan dalam menentukan lintasan terpendek hanya

bergantung pada jarak tempuh dan diasumsikan kondisi lalu lintas lancar. 3. Informasi angkutan kota (angkot) yang digunakan adalah KPUM (Koperasi

Pengangkutan Umum Medan).

4. Jarak antar daerah diperoleh melalui Google Maps.

5. Jumlah daerah direduksi untuk mempersingkat waktu pembuatan solusi. 6. Solusi yang dihasilkan dibatasi hanya dengan menyambung satu kali angkot. 7. Perancangan aplikasi menggunakan flowchart dan UML (Unified Modeling

Language).

8. Aplikasi dibangun menggunakan bahasa pemrograman PHP versi 5.2. 9. Database Management System yang digunakan adalah MySQL versi 5.

10.Browser yang diutamakan adalah Mozilla Firefox versi 3.6 ke atas dan Google

Chrome versi 5.0 ke atas. Sedangkan browser yang digunakan dalam perangkat mobile adalah Opera Mini versi 5.

11.Perangkat mobile yang digunakan dalam penelitian ini berupa ponsel. Ponsel yang digunakan unuk pengujian aplikasi ini adalah Sony Ericsson W980 dengan tampilan layar TFT 262.144 warna dan beresolusi 240x320 piksel. 12.Pengujian dilakukan dengan metode Black Box Testing.


(18)

Tujuan dari penelitian ini adalah menerapkan algoritma Floydpada sistem pendukung keputusan pemilihan trayek angkutan kota dengan lintasan terpendek pada perangkat

mobile.

1.5Manfaat Penelitian

Manfaat dari penelitian ini adalah memudahkan para pengguna sistem dalam mengambil keputusan untuk memilih trayek angkutan kota ke tujuan tertentu dengan lintasan terpendek melalui perangkat mobile.

1.6Metode Penelitian

Dalam proses pengerjaan skripsi ini penulis menggunakan beberapa tahapan metode penelitian, yaitu:

1. Studi Literatur

Mempelajari literatur tentang teori dasar yang mendukung penelitian ini dan penelitian-penelitian terdahulu.

2. Analisis dan Pengumpulan Data

Pada tahap ini dilakukan analisis kebutuhan aplikasi yang akan dibuat, seperti analisis jalur trayek angkutan kota, serta mengumpulkan data trayek angkutan kota.

3. Perancangan Sistem

Pada tahap ini hasil analisis akan menjadi dasar perancangan aplikasi SPK pemilihan trayek angkutan kota dengan lintasan terpendek. Rancangan dibuat menggunakan Unified Modeling Language (UML) dalam bentuk use case

diagram, activity diagram, dan class diagram.

4. Implementasi Sistem

Pada tahap ini akan dilakukan pengimplementasian dari rancangan yang telah dibuat ke dalam bahasa pemrograman PHP.


(19)

Dalam tahap ini dilakukan pengujian aplikasi yang sudah dibangun. Pengujian ini mencakup apakah implementasi telah sesuai dengan teori, atau apakah program mengalami kesalahan. Pengujian dilakukan dengan metode black-box

testing.

6. Dokumentasi Sistem

Pada tahap ini akan dilakukan pembuatan laporan skripsi secara lengkap.

1.7Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian berikut:

BAB 1 PENDAHULUAN

Bab pendahuluan ini berisikan mengenai latar belakang masalah, identifikasi masalah, batasan masalah tentang apa yang akan diberikan didalam penulisan ini, maksud dan tujuan dari penulisan, metode penelitian serta sistematika penulisan.

BAB 2 LANDASAN TEORI

Bab ini menjelaskan tentang tinjauan teoritis mengenai Sistem Pendukung Keputusan, Sistem Transportasi, Graf, Algoritma Floyd,

Unified Modelling Languange, dan pengujian dengan metode Black Box.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan tentang analisis dan perancangan aplikasi dengan menggunakan flowchart dan Unified Modelling Language (UML) dan pembangunan aplikasi dengan menggunakan PHP.


(20)

Bab ini membahas tahapan implementasi dari perancangan yang telah dibuat pada bab sebelumnya. Pengujian aplikasi dilakukan dengan metode black box.

BAB 5 KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan.


(21)

BAB 2

LANDASAN TEORI

Sistem Pendukung Keputusan

Sistem Pendukung Keputusan (SPK) adalah sistem berbasis komputer interaktif, yang membantu para pengambil keputusan untuk menggunakan data dan berbagai model untuk memecahkan masalah-masalah tidak terstruktur (Scott Morton, 1971 dalam Turban et al, 2005). Menurut (Keen et al, 1978 dalam Turban et al, 2005) sistem pendukung keputusan memadukan sumber daya intelektual dari individu dengan kapabilitas komputer untuk meningkatkan kualitas keputusan. SPK adalah sistem pendukung berbasis komputer bagi para pengambil keputusan manajemen yang menangani masalah-masalah tidak terstruktur.

Menurut Azhar (1995), dari pengertian SPK maka dapat ditentukan karakteristiknya antara lain:

1. Mendukung proses pengambilan keputusan, menitikberatkan pada management by

perception.

2. Adanya interface manusia atau mesin dimana manusia (user) tetap memegang kontrol proses pengambilan keputusan.

3. Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur dan tak struktur.

4. Memiliki kapasitas dialog untuk memperoleh informasi sesuai dengan kebutuhan 5. Memiliki subsistem-subsistem yang terintegrasi sedemikian rupa sehingga dapat


(22)

6. Membutuhkan struktur data komprehensif yang dapat melayani kebutuhan informasi seluruh tingkatan manajemen.

Konsep Dasar Sistem Pendukung Keputusan

Sistem Pendukung Keputusan (SPK) mulai dikembangkan pada tahun 1960-an, tetapi istilah sistem pendukung keputusan itu sendiri baru muncul pada tahun 1971, yang diciptakan oleh G. Anthony Gorry dan Micheal S.Scott Morton, keduanya adalah profesor di MIT. Hal itu mereka lakukan dengan tujuan untuk menciptakan kerangka kerja guna mengarahkan aplikasi komputer kepada pengambilan keputusan manajemen.

Sementara itu, perintis sistem pendukung keputusan yang lain dari MIT, yaitu Peter G.W. Keen yang bekerja sama dengan Scott Morton telah mendefenisikan tiga tujuan yang harus dicapai oleh sistem pendukung keputusan, yaitu:

1. Sistem harus dapat membantu manajer dalam membuat keputusan guna memecahkan masalah semi terstruktur.

2. Sistem harus dapat mendukung manajer,bukan mencoba menggantikannya. 3. Sistem harus dapat meningkatkan efektivitas pengambilan keputusan manajer.

Tujuan-tujuan tersebut mengacu pada tiga prinsip dasar sistem pendukung keputusan (Kadarsah, 1998 dalam Oetomo, 2002), yaitu:

1. Struktur masalah : untuk masalah yang terstruktur, penyelesaian dapat dilakukan dengan menggunakan rumus-rumus yang sesuai, sedangkan untuk masalah terstruktur tidak dapat dikomputerisasi. Sementara itu, sistem pendukung keputusan dikembangkan khususnya untuk menyelesaikan masalah yang semi-terstruktur.

2. Dukungan keputusan : sistem pendukung keputusan tidak dimaksudkan untuk menggantikan manajer, karena komputer berada di bagian terstruktur, sementara manajer berada dibagian tak terstruktur untuk memberikan penilaian dan melakukan analisis. Manajer dan komputer bekerja sama sebagai sebuah tim pemecah masalah semi terstruktur.


(23)

3. Efektivitas keputusan : tujuan utama dari sistem pendukung keputusan bukanlah mempersingkat waktu pengambilan keputusan, tetapi agar keputusan yang dihasilakn dapat lebih baik.

Gambar 2.1. Posisi Sistem Pendukung Keputusan (Sumber: Oetomo,2002 )

Karakteristik Sistem Pendukung Keputusan

Sistem pendukung keputusan dirancang secara khusus untuk mendukung seseorang yang harus mengambil keputusan-keputusan tertentu. Menurut Oetomo (2002), ada beberapa karakteristik sistem pendukung keputusan, yaitu:

1. Interaktif

SPK memiliki user interface yang komunikatif sehingga pemakai dapat melakukan akses secara cepat ke data dan memperoleh informasi yang dibutuhkan.

2. Fleksibel

SPK memiliki sebanyak mungkin variabel masukkan, kemampuan untuk mengolah dan memberikan keluaran yang menyajikan alternatif-alternatif keputusan kepada pemakai.

Solusi

Manajer

Solusi

manajer dengan

dukungan

komputer

Solusi

Komputer

Tidak

Terstruktur

Semi

Terstruktur


(24)

3. Data kualitas

SPK memiliki kemampuan menerima data kualitas yang dikuantitaskan yang sifatnya subyektif dari pemakainya, sebagai data masukkan untuk pengolahan data. Misalnya: penilaian terhadap kecantikan yang bersifat kualitas, dapat dikuantitaskan dengan pemberian bobot nilai seperti 75 atau 90.

4. Prosedur Pakar

SPK mengandung suatu prosedur yang dirancang berdasarkan rumusan formal atau juga beberapa prosedur kepakaran seseorang atau kelompok dalam menyelesaikan suatu bidang masalah dengan fenomena tertentu.

Komponen Sistem Pendukung Keputusan

Menurut Surbakti (2002), komponen-komponen dari SPK adalah sebagai berikut: 1. Data Management

Termasuk database, yang mengandung data yang relevan untuk berbagai situasi dan diatur oleh software yang disebut Database Management System (DBMS).

2. Model Management

Melibatkan model finansial, statistikal, management science, atau berbagai model kualitatif lainnya, sehingga dapat memberikan ke sistem suatu kemampuan analitis, dan manajemen software yang dibutuhkan.

3. Communication

User dapat berkomunikasi dan memberikan perintah pada DSS melalui subsistem ini. Ini berarti menyediakan antarmuka.

4. Knowledge Management

Subsistem optional ini dapat mendukung subsistem lain atau bertindak atau bertindak sebagai komponen yang berdiri sendiri.


(25)

Gambar 2.2 berikut adalah model konseptual SPK:

Gambar 2.2. Model Konseptual SPK (Sumber: Surbakti, 2002)

Sistem Transportasi

Sistem adalah suatu kumpulan atau himpunan dari unsur atau variable-variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung sama lain (Al Fatta, 2007).

Sedangkan transportasi adalah kegiatan pemindahan barang atau penumpang dari suatu tempat ke tempat lain (Salim, 2006). Sehingga sistem transportasi dapat diartikan sebagai gabungan dari beberapa komponen atau objek yang saling berkaitan dalam hal pengangkutan


(26)

Sistem transportasi terdiri atas angkutan muatan dan manajemen yang mengelola angkutan tersebut.

1. Angkutan Muatan

Sistem yang digunakan untuk mengangkut muatan dengan menggunakan alat angkut tertentu dinamakan moda transportasi (mode of transportation). Dalam pemanfaatan moda transportasi ada tiga moda yang dapat digunakan yaitu:

a. Pengangkutan melalui darat b. Pengangkutan melalui laut c. Pengangkutan melalui udara

Dalam bab ini hanya akan dibahas tentang pengangkutan melalui darat, yaitu mengenai angkutan kota dan trayek.

2. Manajemen

Manajemen sistem transportasi terdiri dari dua kategori: a. Manajemen pemasaran dan penjualan jasa angkutan b. Manajemen lalu lintas angkutan

2.2.1 Angkutan Kota

Angkutan kota atau angkot adalah angkutan dari satu tempat ke tempat lain dalam satu daerah kota atau wilayah ibukota kabupaten atau dalam daerah khusus ibukota dengan menggunakan mobil bus umum atau mobil penumpang umum yang terikat dalam trayek bus yang mempunyai asal dan tujuan perjalanan tetap, lintasan tetap dan jadwal tetap maupun tidak berjadwal

Setiap jurusan angkutan kota dibedakan melalui warna armadanya atau melalui angka. Angkutan kota sebenarnya cuma diperbolehkan berhenti di halte-halte atau tempat perhentian bus tertentu, namun pada prakteknya semua sopir angkot akan menghentikan kendaraannya di mana saja untuk menaikkan dan menurunkan penumpang. Pelanggaran lain yang dilakukan adalah memasukkan orang dan barang bawaan dalam jumlah yang melebihi kapasitas mobil, dan pintu belakang yang tidak ditutup sama sekali atau tidak


(27)

ditutup dengan rapat. Pelanggaran-pelanggaran seperti ini biasanya diabaikan oleh aparat karena sistem penegakan hukum yang lemah. Tarif angkot biasanya ditetapkan oleh pemerintah daerah setempat, namun orang yang menumpang jarak pendek atau anak sekolah biasanya membayar lebih sedikit. Hal ini tidak dirumuskan dalam peraturan tertulis, namun menjadi praktik umum. Semua angkot di Indonesia memiliki plat nomor berwarna kuning dengan tulisan warna hitam, sama dengan kendaraan-kendaraan umum lain.

2.2.2 Jaringan Trayek

Trayek angkutan adalah lintasan kendaraan umum atau rute untuk pelayanan jasa angkutan orang dengan mobil. Menurut Abubakar et al (1998), dalam penyusunan jaringan trayek telah ditetapkan hierarki trayek yang terdapat dalam PP41 tahun 1993 yaitu:

1. Trayek Utama

a. Mempunyai jadwal tetap sebagaimana tercantum pada kartu pengawasan kendaraan yang dioperasikan.

b. Melayani angkutan antar kawasan utama, antara kawasan utama dan pendukung dengan ciri melakukan perjalana ulang-alik secara tetap.

c. Dilayani hanya oleh mobil bus, baik untuk angkutan pelayanan ekonomi dan untuk pelayanan ekonomi.

d. Pelayanan angkutan secara terus menerus, berhenti pada tempat-tempat untuk menaikkan dan menurunkan orang yang telah ditetapkan untuk angkutan kota.

2. Trayek Cabang

a. Mempunyai jadwal tetap sebagaimana tercantum pada kartu pengawasan kendaraan yang dioperasikan.

b. Melayani angkutan antar kawasan pendukung, antara kawasan pendukung pemukiman.


(28)

c. Dilayani hanya oleh mobil bus, baik untuk angkutan pelayanan ekonomi dan untuk pelayanan non ekonomi.

d. Pelayanan angkutan secara terus menerus, berhenti pada tempat-tempat untuk menaikkan dan menurunkan orang yang telah ditetapkan untuk angkutan kota.

3. Trayek Ranting

a. Tidak mempunyai jadwal tetap

b. Pelayanan angkutan secara terus menerus, berhenti pada tempat-tempat untuk menaikkan dan menurunkan orang yang telah ditetapkan untuk angkutan kota. c. Melayani angkutan dalam kawasan pemukiman.

d. Dilayani oleh mobil bus dan/atau mobil penumpang

4. Trayek Langsung

Bila permintaan untuk suatu daerah asal-tujuan tertentu sudah tinggi, maka dapat dipertimbangkan untuk diberikan pelayanan langsung. Pelayanan langsung ditujukan untuk mengurangi jumlah transfer yang dilakukan dalam melakukan perjalanan, dapat dibentuk trayek-trayek panjang yang dapat menghindari penumpang untuk transfer sehingga dapat menghemat waktu perjalanan, biaya dan akan mengurangi beban terminal.

a. Mempunyai jadwal tetap sebagaimana tercantum pada kartu pengawasan kendaraan yang dioperasikan.

b. Pelayanan angkutan secara terus menerus, berhenti pada tempat-tempat untuk menaikkan dan menurunkan orang yang telah ditetapkan untuk angkutan kota. c. Melayani angkutan antar kawasan utama dengan kawasan pendukung dan

kawasan pemukiman.


(29)

Gambar 2.3 Contoh Trayek Langsung

Gambar 2.4 Contoh Lain Trayek Langsung

Graf

Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak terapan sampai saat ini. Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graf adalah dengan menyatakan objek sebagai noktah, bulatan, atau titik, sedangkan hubungan antara objek dinyatakan dengan garis.

Sejarah Graf

Menurut catatan sejarah, masalah jembatan Königsberg adalah masalah yang pertama kali menggunakan graf, yaitu pada tahun 1736. Di kota Königsberg yang sekarang bernama kota Kaliningrad, terdapat sungai Pregal yang mengalir mengitari pulau Kneiphof lalu bercabang menjadi dua buah anak sungai


(30)

Ada tujuh buah jembatan yang menghubungkan daratan yang dibelah oleh sungai tersebut. Masalah jembatan Königsberg adalah apakah mungkin melalui ketujuh buah jembatan itu masing-masing tepat satu kali, dan kembali lagi ke tempat semula? Sebagian penduduk kota sepakat bahwa memang tidak mungkin melalui setiap jembatan itu hanya sekali dan kembali lagi ke tempat asal mula keberangkatan, tetapi mereka tidak dapat menjelaskan mengapa demikian jawabannya, kecuali dengan cara coba-coba. Pada tahun 1736, seorang matematikawan Swiss, L.Euler, adalah orang pertama yang berhasil menemukan jawaban masalah itu dengan pembuktian yang sedehana. Ia memodelkan masalah ini ke dalam graf. Daratan dinyatakan sebagai titik, yang disebut simpul (vertex), dan jembatan dinyatakan sebagai garis, yang disebut sisi (edge). Setiap titik diberi label huruf A, B, C, dan D. graf yang dibuat Euler diperlihatkan pada Gambar 2.5.

A D

B C

Gambar 2.5 Graf yang merepresentasikan jembatan Königsberg (Sumber: Munir, 2005, Hal: 355)

Jawaban yang dikemukakan oleh Euler adalah, orang tidak mungkin melalui ketujuh jembatan itu masing-masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap. Yang dimaksud dengan derajat adalah banyaknya garis yang bersisian dengan simpul. Sebagai contoh, simpul C memiliki derajat 3 karena ada tiga buah garis yang bersisian dengannya, simpul B dan D juga berderajat dua, sedangkan simpul A berderajat 5. Karena tidak semua simpul berderajat genap, maka tidak mungkin dilakukan perjalanan berupa sirkuit (yang dinamakan sirkuit Euler) pada graf tersebut.


(31)

Definisi Graf

Graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V, E), yang dalam hal ini V adalah himpunan tidak-kosong dari simpul-simpul (vertices atau

node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang

simpul (Munir, 2005). Definisi tersebut menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Semua graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya harus ada minimal satu. Graf yang hanya mempunyai satu buah simpul tanpa sebuah sisinpun dinamakan graf travial.

Simpul pada graf dapat dinomori dengan huruf, seperti a, b, c…, v, w …, dengan bilangan asli 1, 2, 3, …, atau gabungan keduanya. Sedangkan sisi yang menghubungkan simpul u dengan simpul v dinyatakan dengan pasangan (u, v) atau dinyatakan dengan lambang e1, e2, …. Dengan kata lain, jika e adalah sisi yang menghubungkan simpul u

dengan simpul v, maka dapat ditulis sebagai e = (u, v)

Jenis-jenis Graf

Graf dapat dikelompokkan menjadi beberapa kategori bergantung pada sudut pandang pengelompokannya. Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda, berdasarkan jumlah simpul, atau berdasarkan orientasi arah pada sisi.

Berdasarkan ada tidaknya sisi ganda pada suatu graf, maka secara umum graf dapat digolongkan menjadi dua jenis:

1. Graf sederhana (simple graph), yaitu graf yang tidak mengandung sisi ganda. Pada graf sederhana, sisi adalah pasangan tak urut. Jadi, menuliskan sisi (u, v) sama saja dengan (v, u). G1 pada Gambar 2.6(a) adalah contoh graf sederhana.

2. Graf tak sederhana (unsimple graph), yaitu graf yang mengandung sisi ganda. Ada dua macam graf tak sederhana, yaitu graf ganda (multi graph) dan graf semu (pseudograph). Graf ganda adalah graf yang mengandung sisi ganda. Sisi ganda yang


(32)

menghubungkan sepasang simpul bisa lebih dari dua buah. G2 pada Gambar 2.6(b)

adalah contoh graf ganda. Graf semua adalah graf yang mengandung gelang (loop).

G3 pada Gambar 2.6(c) adalah contoh graf semu.

1 3 4 4 3 2 1 4 2 e1 e2 e5 e7 e4 e3 e6 1 e2 e3 e6 e4 e7 e5

(a) G1 (b) G2 (c) G3

Gambar 2.6 Tiga buah graf (a) graf sederhana, (b) graf ganda, (c) graf semu (Sumber: Munir, 2005, Hal: 356)

Jumlah simpul pada graf disebut kardinalitas graf, dan dinyatakan dengan n = |V|, dan jumlah sisi dinyatakan dengan m = |E|. Pada Gambar 2.4, G1 mempunyai n = 4, dan m

= 4, sedangkan G2 mempunyai n = 3, dan m = 4

Sisi pada graf dapat mempunyai orientasi arah. Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas dua jenis:

1. Graf tak berarah (undirect graph), yaitu graf yang tidak mempunyai arah. Pada graf tak berarah, urutan pasangan simpul dihubungkan oleh sisi tidak diperhatikan. Tiga buah graf pada Gambar 2.6 adalah graf tak berarah.

2. Graf berarah (direct graph), yaitu graf yang setiap sisinya diberikan orientasi arah. Pada graf berarah, (u, v) dan (v, u) menyatakan dua buah busur yang berbeda, dengan kata lain (u, v) (v, u). Graf berarah ditunjukkan pada Gambar 2.7..

1

3

4

G4

Gambar 2.7 Graf berarah (Sumber: Munir, 2005, Hal: 359)


(33)

Lintasan Terpendek (Shortest Path)

Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan optimasi. Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan adalah bahwa semua bobot bernilai positif. Kata terpendek jangan selalu diartikan secara fisik sebagai panjang minimum, sebab kata terpendek berbeda-beda maknanya bergantung pada tipikal persoalan yang akan diselesaikan. Namun secara umum terpendek berarti meminimalisasi bobot pada suatu lintasan di dalam graf.

Ada beberapa macam persoalan lintasan terpendek, antara lain: 1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path) 2. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path)

3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain (single-source

shortest path)

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate shortest path)

Algoritma Floyd

Algoritma Floyd pertama kali diperkenalkan oleh Robert Floyd pada tahun 1962. Algoritma ini adalah salah sa varian dari pemrograman dinamis yaitu suatu metode yang melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya solusi-solusi tersebut dibentuk dari solusi yang berasal dari tahap sebelumnya dan ada kemungkinan solusi lebih dari satu (Novandi, 2007).


(34)

Algoritma Floyd:

1. n rows(F)

2. D(0 )⃪ F 3. for k 1 to n

4. do for i to n 5. do for j to n

6. ���(�)⃪�������(�−�),���(�−�)+���(�−�)�

7. return D(n)

Running time dari algoritma Floyd ditentukan oleh perulangan for bersarang

rangkap tiga pada baris 3-6. Setiap eksekusi dari baris ke-6 mengambil O(1) kali. Sehingga algoritma ini berjalan dalam waktu Θ (n3) (Cormen et al, 1990).

Algoritma Floyd membandingkan semua kemungkinan lintasan pada graf untuk setiap sisi dari semua simpul. Algoritma ini mampu mengerjakan proses perbandingkan

ini sebanyak Θ(n3) kali (bandingkan dengan kemungkinan jumlah sisi sebanyak Ω(n2) (kuadrat jumlah simpul) pada graf, dan setiap kombinasi sisi diujikan). Hal tersebut bisa terjadi karena adanya perkiraan pengambilan keputusan (pemilihan lintasan terpendek) pada setiap tahap antara dua simpul, hingga perkiraan tersebut diketahui sebagai nilai optimal.

Pencarian lintasan terpendek dengan menggunakan algoritma Floyd dapat dilihat dalam contoh kasus berikut. Diketahui sebuah graf seperti pada Gambar 2.8, permasalahannya adalah bagaimana menemukan lintasan terpendek antara semua pasangan simpul.


(35)

1 4 2 3 2 3 2 7 7 5 11 6

Gambar 2.8 Contoh Graf (Sumber: Boffey, 1982)

Langkah-langkah untuk mendapatkan lintasan terpendek antara semua pasangan simpul dengan menggunakan algoritma Floyd:

1. Representasi graf dalam matriks ketetanggaan.

2. Matriks n x n untuk graf dimana n adalah jumlah simpul.

3. Jika i=j maka sisinya bernilai 0, dan jika tidak ada jarak antara i ke j maka sisinya bernilai ∞.

4. Jarak terpendek dari A ke B adalah perpotongan antara baris dan kolom.

�(�) = � � ∞ �� ∞ � � ∞ ∞ � � � � � � � � �⃪ � � � � � � � � � � � � � � � � � � �(�) = � � ∞ �� ∞ � � ∞ ∞ � � � � � � � � �⃪ � � � � � � � � � � � � � � � � � � �(�) = � � � �� ∞ � � ∞ ∞ � � � � � � � � �⃪ � � � � � � � � � � � � � � � � � �


(36)

�(�) = � � � �� ∞ � � � ∞ � � � � � � � � �⃪ � � � � � � � � � � � � � � � � � � �(�) = � � � �� �� � � � �� � � � � � � � � �⃪ � � � � � � � � � � � � � � � � � � Perangkat Mobile

Mobile phone adalah sebuah alat elektronik yang digunakan untuk telekomunikasi mobile

(telepon, pesan teks atau transmisi data bergerak) pada jaringan selular. Pada saat ini, selain fungsi dasar untuk berkomunikasi, mobile phone telah dilengkapi dengan beberapa layanan seperti email, internet, kamera, video recorder, MP3 player, radio, GPS dan permainan digital.

Menurut Avestro (2007), perangkat mobile phone memilki banyak tipe dalam hal ukuran, desain, dan layout, tetapi memiliki kesamaan karakteristik yang sangat berbeda dari sistem komputer desktop. Perbedaan itu antara lain :

1. Ukuran yang kecil

Mobile phone memiliki ukuran yang kecil karena memperhitungkan faktor

kenyamanan dan mobilitas pengguna. 2. Memori yang terbatas

Mobile phone memiliki primary memory dan secondary memory yang terbatas.

Keterbatasan inilah salah satu faktor yang mempengaruhi penulisan program. Dengan memory yang terbatas, pertimbangan-pertimbangan khusus harus diambil dalam penggunaan sumber daya.


(37)

3. Kemampuan proses yang terbatas

Mobile phone tidaklah setangguh komputer desktop atau laptop. Sumber daya yang

ada dalam mobile phone dikemas dalam ukuran yang sangat compact sehingga membatasi kemampuan prosesnya.

4. Konsumsi daya rendah

Mobile phone menghabiskan sedikit daya dibandingkan dengan mesin komputer

desktop. Perangkat mobile phone harus menghemat daya agar bisa berjalan dalam waktu yang lama tanpa harus sering mensuplai daya.

5. Kuat dan dapat diandalkan

Karena perangkat mobile phone selalu dibawa kemana saja, perangkat ini harus cukup kuat menghadapi benturan, gerakan dan tetesan air.

6. Konektivitas yang terbatas

Perangkat mobile phone memilki konektivitas yang rendah bahkan ada yang tidak tersambung. Media koneksi yang biasa dipakai pada mobile phone adalah wireless.

Unified Modelling Languange

Unified Modeling Language (UML) adalah bahasa grafis untuk mendokumentasikan,

menspesifikasikan, dan membangun sistem perangkat lunak yang berorientasi objek (Hariyanto, 2004, hal: 259). Selain berorientasi objek, UML menerapkan banyak level abstraksi, tidak bergantung pada proses pengembangan, dan tidak bergantung bahasa dan teknologi. Standar UML dikelola oleh OMG (Object Management Group).

UML menyediakan diagram-diagram yang sangat kaya dan sangat dapat diperluas sesuai kebutuhan pengguna. Diagram adalah representasi grafis dari elemen-elemen tertentu beserta hubungannya (Hariyanto, 2004, hal: 259). Diagram sangat penting karena diagram menyediakan representasi secara grafis dari sistem (atau bagiannya). Representasi grafis dapat memudahkan pemahaman terhadap sistem yang akan dibangun.


(38)

Komponen-Komponen Unified Modelling Language (UML)

Menurut Hariayanto (2004) diagram UML dibagi dalam dua kelompok besar yaitu diagram perilaku (behavioral diagram) dan diagram struktur (structural Diagram). Diagram perilaku digunakan untuk memvisualisasikan, menspesifikasikan, membangun dan mendokumentasikan aspek dinamis dari sistem. Diagram perilaku di UML terdiri dari:

1. Diagram use-case (Use case diagram) 2. Diagram sekuen (Sequence diagram)

3. Diagram kolaborasi (Collaboration diagram) 4. Diagram statechart (Statechart diagram) 5. Diagram aktivitas (Activity diagram)

Diagram struktur digunakan untuk memvisualisasi, menspesifikasikan, membangun dan mendokumentasikan aspek statik dari sistem. Diagram struktur UML terdiri dari:

1. Diagram kelas (Class diagram) 2. Diagram objek (Objek diagram)

3. Diagram komponen (Component diagram) 4. Diagram deployment (Deployment diagram)

Diagram Use-case (Use Case Diagram)

Use Case adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use Case

mendeskripsikan interaksi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Flower, 2005). Diagram use-case menyediakan cara mendeskripsikan pandangan eksternal terhadap sistem dan interaksi-interaksinya dengan dunia luar. Diagram use-case melibatkan:


(39)

2. Aktor sebagai entitas luar yang berkomunikasi dengan sistem, 3. Use-case adalah fungsionalitas yang dipersepsi oleh aktor dan 4. Relasi sebagai hubungan antara aktor dengan use-case

Contoh diagram use-case dapat dilihat pada Gambar 2.8 berikut:

Gambar 2.9 Contoh Use Case Diagram (Fowler, 2004, Hal: 147)

Diagram Aktivitas (Activity Diagram)

Activity diagram adalah teknik untuk menggambarkan logika prosedural, proses bisnis

dan aplikasi kerja (Fowler, 2005). Activity diagram sebenarnya mirip dengan flowchart namun diperluas dengan menunjukkan aliran kendali dari satu aktivitas ke aktivitas lain dan mendukung behavior paralel. Activity diagram menunjukkan aliran kendali satu aktivitas ke aktivitas lain. Diagram ini digunakan untuk memodelkan aspek dinamis dari


(40)

sistem. Activity diagram berupa operasi-operasi dan aktivitas-aktivitas di use-case. Diagram aktivitas dapat digunakan untuk:

1. Pandangan dalam yang dilakukan di operasi 2. Pandangan dalam bagaimana objek-objek bekerja

3. Padanngan dalam di aksi-aksi dan pengaruhnya pada objek-objek 4. Pandangan dalam dari suatu use-case

5. Logik dari proses bisnis

Contoh diagram aktivitas dapat dilihat pada Gambar 2.9 berikut:

Gambar 2.10 Contoh Activity Diagram (Fowler, 2004, Hal: 164)


(41)

Pengujian Sistem

Pengujian sistem merupakan proses mengeksekusi sistem perangkat lunak untuk menentukan apakah sistem perangkat lunak tersebut cocok dengan spesifikasi sistem dan berjalan sesuai dengan lingkungan yang diinginkan (Al Fatta, 2007, hal: 169). Pengujian sistem sering diasosiasikan dengan pencarian bug, ketidaksempurnaan program, kesalahan pada baris program yang menyebabkan kegagalan pada eksekusi sistem perangkat lunak.

Pengujian Black Box

Pengujian dengan metode black box adalah pengujian yang terfokus pada apakah unit program memenuhi kebutuhan yang disebutkan dalam spesifikasi. Cara pengujiannya hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai dengan outputnya, maka untuk menyelesaikannya diteruskan pada pengujian dengan metode white box.


(42)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis Kebutuhan Aplikasi

Analisis sistem adalah bagaimana memahami dan menspesifikasikan dengan detail apa yang harus dilakukan oleh sistem (Al Fatta, 2007). Tahapan analisis kebutuhan merupakan tahap awal untuk membangun sebuah sistem atau aplikasi. Dengan adanya analisis ini diharapkan agar nantinya dihasilkan aplikasi yang baik dan sesuai dengan kebutuhan.

3.1.1 Analisis Pasar

Berdasarkan hasil riset yang diungkapkan United Nation dan dipaparkan di gelaran Mobile World Congress 2010 yang berlangsung di Barcelona, 15-18 Februari 2010, pengguna ponsel semakin membengkak. Pada tahun 2010, jumlah pengguna alat telekomunikasi ini pun diprediksi bakal menembus angka lima miliar pengguna (Suryadhi, 2010). Dengan besarnya jumlah pengguna ponsel di dunia, dapat disimpulkan bahwa peran ponsel semakin penting bagi kehidupan manusia.

3.1.2 Analisis Sasaran Pengguna

Aplikasi Pemilihan Trayek Angkot yang dibuat ini diharapkan dapat digunakan oleh siapa saja, mulai dari anak usia Sekolah Dasar (SD) sampai orang dewasa. Aplikasi ini


(43)

khususnya ditujukan kepada orang-orang yang biasa menggunakan angkutan kota dalam kesehariannya untuk bepergian. Pengguna diharapkan dapat mengambil keputusan dengan cepat dan tepat dengan bantuan dari aplikasi yang didesain dengan sederhana dan ringkas ini.

3.1.3 Analisis Spesifikasi Perangkat Lunak

Adapun syarat bagi pengguna Aplikasi Pemilihan Angkot ini adalah pengguna memiliki perangkat ponsel yang sudah memiliki browser yang terhubung dengan jaringan internet

3.1.4 Analisis Algoritma

Berikut ini merupakan langkah-langkah untuk membangun solusi pada Aplikasi Pemilihan Trayek Angkot:

1. Buat matriks n x n, dimana n adalah jumlah daerah.

2. Buat graf untuk setiap trayek angkutan. Untuk satu trayek angkutan maka akan dibentuk n graf, dimana n adalah jumlah trayek angkutan. Dan untuk dua trayek angkutan maka akan dibentuk �× (� − �) ×� graf, dimana n adalah jumlah trayek angkutan dan d adalah jumlah daerah transit. Ini dilakukan karena akan dikombinasikan ke keseluruhan trayek angkutan dengan daerah transit.

3. Terapkan algoritma Floyd dari setiap graf yang sudah dibuat. 4. Simpan solusi.

3.2Perancangan Aplikasi

Menurut John Burch dan Gary Grudnitski dalam Yatini (2007), perancangan didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam suatu kesatuan yang utuh dan berfungsi.


(44)

Perancangan sistem dapat dibagi menjadi dua tahap yaitu perancangan konseptual dan perancangan fisik yang tujuan utamanya adalah menghasilkan suatu rancangan yang mampu memenuhi kebutuhan pengguna aplikasi.

3.2.1 Perancangan Konseptual

Tahapan perancangan ini menitikberatkan pada perencanaan konsep, misalnya sistem kontrol, rancangan modul dan aliran data. Pada tahap ini akan digambarkan alur kerja sistem dengan menggunakan flowchart dan Unified Modelling Language yang akan memberikan konsep yang jelas mengenai aplikasi yang akan dibangun.

3.2.1.1Flowchart Aplikasi

Flowchart (diagram alir) merupakan diagram yang memperlihatkan aliran kontrol seluruh

sistem termasuk program, input dan output. (Whitten, 1998). Dengan adanya flowchart, maka runtutan proses berjalannya suatu aplikasi dapat dilihat lebih jelas. Aplikasi yang dirancang terdiri dari dua bagian, yaitu aplikasi untuk mobile dan aplikasi untuk server. Secara garis besar, langkah-langkah yang ada pada kedua aplikasi dapat dilihat pada Gambar 3.1 dan Gambar 3.2 berikut.


(45)

START

Input Daerah Asal, Daerah

Tujuan

Cari id_daerah_asal dan id_daerah_tujuan di

tabel_solusi

Tampilkan Solusi berdasarkan id_daerah_asal

dan id_daerah_tujuan

END


(46)

Start Input Username, Password Validasi OK? T

Kelola Daerah Kelola Jarak Kelola Angkutan

KELOLA TRAYEK

Buat solusi Kelola Trayek

T T T

T Lihat Solusi T Logout User Login sebagai Admin Y End Y Import Data T T daerah, jarak, trayek Y Simpan ke database Tambah, ubah. hapus daerah Y Simpan ke database Simpan ke database Simpan ke database Simpan ke database Tambah, ubah. hapus angkutan Tambah, ubah. hapus jarak Tambah, ubah. hapus trayek

Y Y Y

Solusi Y Simpan ke database Pilih angkutan1, angkutan2, daerah_transit Y Tampilkan solusi T


(47)

Gambar 3.1 menggambarkan proses pada aplikasi versi mobile. Pengguna akan diminta memasukkan daerah asal dan tujuan. Kemudian menekan tombol Lanjut untuk mendapatkan hasil. Gambar 3.2 menggambarkan proses pada aplikasi server. Aplikasi ini hanya bisa digunakan oleh administrator. Menu yang terdapat dalam aplikasi server ini adalah Import Data, Kelola Daerah, Kelola Jarak, Kelola Angkutan, Kelola Trayek, Buat Solusi, dan Lihat Solusi.

3.2.1.2Pendeskripsian Fungsionalitas Aplikasi

Diagram berikut menunjukkan aktor yang ada pada aplikasi. Pada dasarnya aktor yang ada pada aplikasi ini terbagi menjadi dua, yaitu Angkoters dan Administrator yang

di-generalisasi sebagai aktor Pengguna. Angkoters merupakan pengguna aplikasi mobile

dan Administrator merupakan pengguna aplikasi server.


(48)

Fitur-fitur yang digunakan oleh angkoters diperlihatkan pada diagram use case berikut:

Gambar 3.4 Diagram Use Case untuk aktor angkoters

Fitur-fitur yang digunakan oleh administrator diperlihatkan pada diagram use case berikut:


(49)

3.2.1.3Pendeskripsian Proses dan Aktivitas dalam Aplikasi Pemilihan Angkot

Berikut ini akan dijelaskan proses yang terdapat pada aplikasi pemilihan angkot, yaitu proses pada aplikasi mobile dan aplikasi server

A. Proses pada aplikasi mobile

Berikut ini adalah activity diagram dan tabel proses pada aplikasi mobile


(50)

Tabel 3.1 Penjelasan activity diagram aplikasi mobile Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses jalannya aplikasi

mobile

Normal Flow 1. Pengguna menentukan daerah asal dan menekan tombol Lanjut. 2. Pengguna menentukan daerah tujuan dan menekan tombol

Lanjut

3. Aplikasi akan menampilkan solusi

Alternatif Flow Tidak ada Pre Condition Tidak ada

B. Proses pada aplikasi server

1. Proses Login


(51)

Gambar 3.7 Activity Diagram proses Login Tabel 3.2 Penjelasan activity diagram proses Login Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses login pada aplikasi server

Normal Flow 1. Pengguna memasukkan username dan password.

2. Aplikasi akan melakukan validasi terhadap data yang dimasukkan.

3. Jika data valid maka pengguna akan masuk ke sistem sebagai administrator. Jika tidak pengguna diharuskan memasukkan data yang valid

Alternatif Flow Tidak ada Pre Condition Tidak ada

2. Proses Import Data


(52)

Gambar 3.8 Activity Diagram proses Import Data

Tabel 3.2 Penjelasan activity diagram proses Import Data Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses impor data pada aplikasi server

Normal Flow 1. Pengguna mencari file *.csv yang akan diimpor 2. Pengguna menekan tombol import

3. Data yang dimasukkan akan disimpan di database aplikasi

server Alternatif Flow Tidak ada

Pre Condition Pengguna sudah melakukan login

3. Proses Kelola Daerah


(53)

Gambar 3.9 Activity Diagram proses Kelola Daerah Tabel 3.3 Penjelasan activity diagram proses Kelola Daerah Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses kelola daerah pada aplikasi server

Normal Flow 1. Pengguna dapat menambahkan daerah baru, mengubah daerah yang sudah ada atau menghapus daerah yang sudah ada

2. Perubahan akan disimpan di database aplikasi server

Alternatif Flow Tidak ada

Pre Condition Pengguna sudah melakukan login

4. Proses Kelola Jarak


(54)

Gambar 3.10 Activity Diagram proses Kelola Jarak

Tabel 3.4 Penjelasan activity diagram proses Kelola Jarak Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses kelola jarak pada aplikasi server

Normal Flow 1. Pengguna dapat menambahkan jarak baru, mengubah jarak yang sudah ada atau menghapus jarak yang sudah ada

2. Perubahan akan disimpan di database aplikasi server

Alternatif Flow Tidak ada

Pre Condition Pengguna sudah melakukan login


(55)

Berikut ini adalah activity diagram dan tabel proses Kelola Angkutan

Gambar 3.11 Activity Diagram proses Kelola Angkutan Tabel 3.5 Penjelasan activity diagram proses Kelola Angkutan Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses kelola angkutan pada aplikasi server

Normal Flow 1. Pengguna dapat menambahkan angkutan baru, mengubah angkutan yang sudah ada atau menghapus angkutan yang sudah ada

2. Perubahan akan disimpan di database aplikasi server

Alternatif Flow Tidak ada


(56)

6. Proses Kelola Trayek

Berikut ini adalah activity diagram dan tabel proses Kelola Trayek

Gambar 3.12 Activity Diagram proses Kelola Trayek Tabel 3.6 Penjelasan activity diagram proses Kelola Trayek Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses kelola trayek pada aplikasi server

Normal Flow 1. Pengguna dapat menambahkan trayek baru atau menghapus trayek yang sudah ada

2. Perubahan akan disimpan di database aplikasi server

Alternatif Flow Tidak ada


(57)

7. Proses Buat Solusi

Berikut ini adalah activity diagram dan tabel proses Buat Solusi

Gambar 3.13 Activity Diagram proses Buat Solusi

Tabel 3.7 Penjelasan activity diagram proses Buat Solusi Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses membuat solusi pada aplikasi server

Normal Flow 1. Pengguna dapat memilih dua pilihan yaitu Buat solusi (autosubmit) dan Buat solusi.

2. Jika memilih Buat solusi (autosubmit) maka solusi akan dicari dan ditampilkan sejenak selama 1 detik hingga semua solusi didapatkan. Selama proses berlangsung solusi yang didapatkan


(58)

disimpan di tabel sementara

3. Jika memilih buat solusi maka solusi akan ditampilkan dengan cara memilih buat solusi seanjutnya. Pengguna harus memilih menu ini secara terus menerus hingga semua solusi ditampilkan. Solusi yang dihasilkan akan disimpan di tabel solusi.

Alternatif Flow Tidak ada

Pre Condition Pengguna sudah melakukan login

8. Proses Lihat Solusi

Berikut ini adalah activity diagram dan tabel proses Lihat Solusi

Gambar 3.14 Activity Diagram proses Lihat Solusi Tabel 3.8 Penjelasan activity diagram proses Lihat Solusi Perihal Keterangan

Deskripsi Proses ini berfungsi untuk menunjukkan proses melihat solusi yang sudah diperoleh


(59)

transit.

2. Aplikasi akan menampilkan solusi jika menemukan kombinasi yang sesuai

Alternatif Flow Tidak ada

Pre Condition Pengguna sudah melakukan login

3.2.2 Perancangan Fisik

Pada tahap ini rancangan yang telah dibuat pada perancangan konseptual diterjemahkan ke dalam bentuk fisik sehingga terbentuk spesifikasi yang lengkap. Tahapan ini menitikberatkan pada proses rancangan database dan rancang bangun antarmuka (interface).

3.2.2.1Perancangan Database

Berikut ini rancangan tabel pada Aplikasi Pemilihan Angkot yang akan digunakan pada aplikasi:


(60)

Gambar 3.15 Rancangan Tabel pada Database Aplikasi Pemilihan Angkot

Tabel 3.9 Penjelasan tabel daerah

Field Tipe Data Null Keterangan

id_daerah BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record daerah.

nama_daerah VARCHAR(50) Tidak Nama daerah.

Lat VARCHAR(20) Ya Titik latitude di peta

Lng VARCHAR(20) Ya Titik longiitude di peta

Tabel 3.10 Penjelasan tabel angkutan

Field Tipe Data Null Keterangan

id_angkutan BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record angkutan.


(61)

Tabel 3.11 Penjelasan tabel jarak

Field Tipe Data Null Keterangan

id_jarak BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record jarak.

id_daerah_asal VARCHAR(50) Tidak FOREIGN KEY ke tabel daerah kolom id_daerah

id_daerah_tujuan VARCHAR(20) Tidak FOREIGN KEY ke tabel daerah kolom

id_daerah

Jarak VARCHAR(20) Tidak Jarak antara daerah asal ke daerah tujuan

Tabel 3.12 Penjelasan tabel trayek

Field Tipe Data Null Keterangan

id_trayek BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record trayek.

id_daerah_asal VARCHAR(50) Tidak FOREIGN KEY ke tabel daerah kolom id_daerah

id_daerah_tujuan VARCHAR(20) Tidak FOREIGN KEY ke tabel daerah kolom

id_daerah

id_angkutan VARCHAR(20) Tidak FOREIGN KEY ke tabel angkutan kolom

id_angkutan

Tabel 3.13 Penjelasan tabel graf

Field Tipe Data Null Keterangan

id_graf BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record graf.

id_angkutan_1 BIGINT(20) Tidak FOREIGN KEY ke tabel angkutan kolom id_angkutan

id_angkutan_2 BIGINT(20) Ya FOREIGN KEY ke tabel angkutan kolom

id_angkutan

id_daerah_transit BIGINT(20) Ya FOREIGN KEY ke tabel daerah kolom

id_daerah


(62)

Tabel 3.14 Penjelasan tabel sementara

Field Tipe Data Null Keterangan

id_solusi BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record graf.

id_angkutan_1 BIGINT(20) Tidak FOREIGN KEY ke tabel angkutan kolom id_angkutan

id_angkutan_2 BIGINT(20) Ya FOREIGN KEY ke tabel angkutan kolom

id_angkutan

id_daerah_transit BIGINT(20) Ya FOREIGN KEY ke tabel daerah kolom

id_daerah

id_daerah_asal BIGINT(20) Tidak FOREIGN KEY ke tabel daerah kolom

id_daerah

id_daerah_tujuan BIGINT(20) Tidak FOREIGN KEY ke tabel daerah kolom

id_daerah

Rute VARCHAR(255) Tidak Rute angkutan

Jarak DOUBLE Tidak Jarak yang ditempuh dari daerah asal ke

daerah tujuan

Tabel 3.15 Penjelasan tabel login

Field Tipe Data Null Keterangan

username VARCHAR(20) Tidak PRIMARY KEY. Username pengguna password VARCHAR(100) Tidak Password pengguna

Tabel 3.16 Penjelasan tabel solusi

Field Tipe Data Null Keterangan

id_solusi BIGINT(20) Tidak PRIMARY KEY. AUTO INCREMENT. Pengenal record graf.

id_angkutan_1 BIGINT(20) Tidak FOREIGN KEY ke tabel angkutan kolom id_angkutan

id_angkutan_2 BIGINT(20) Ya FOREIGN KEY ke tabel angkutan kolom id_angkutan

id_daerah_transit BIGINT(20) Ya FOREIGN KEY ke tabel daerah kolom id_daerah


(63)

Tabel 3.16 Penjelasan tabel solusi (Lanjutan)

id_daerah_asal BIGINT(20) Tidak FOREIGN KEY ke tabel daerah kolom id_daerah

id_daerah_tujuan BIGINT(20) Tidak FOREIGN KEY ke tabel daerah kolom id_daerah

Rute VARCHAR(255) Tidak Rute angkutan

Jarak DOUBLE Tidak Jarak yang ditempuh dari daerah asal ke daerah tujuan

3.2.2.2Perancangan Antarmuka

Perancangan antarmuka merupakan tahap penting, sebab di sini pengguna akan melakukan interaksi dengan aplikasi. Antarmuka yang akan dibangun harus sederhana namun cukup menarik dalam arti tidak berlebihan sehingga mudah dipahami dan dipelajari pengguna.

Rancangan antara muka dibagi menjadi dua bagian, yaitu rancangan aplikasi

mobile dan rancangan aplikasi server.

A. Rancangan Antarmuka Aplikasi Mobile

Berikut ini adalah rancangan antarmuka pada aplikasi mobile.

1. Halaman input daerah asal

Halaman input daerah asal akan alangsung ditampilkan jika pengguna membuka aplikasi ini. Pada halaman ini pengguna dapat langsung memilih daerah asal langsung dari list yang disediakan. Pengguna juga dapat melakukan pencarian terlebih dahulu dengan memilih menu cari. Rancangan halaman input daerah asal dapat dilihat pada Gambar 3.16


(64)

Gambar 3.16 Rancangan halaman input daerah asal

2. Halaman input daerah tujuan

Setelah menentukan daerah asal, selanjutnya pengguna harus menentukan daerah tujuan. Caranya sama seperti pada proses menentukan daerah asal. Rancangan halaman input daerah asal dapat dilihat pada Gambar 3.17


(65)

3. Halaman hasil

Setelah menentukan daerah asal dan tujuan, untuk menampilkan hasil maka pengguna harus menekan tombol lanjut. Aplikasi akan menampilkan halaman hasil yang menunjukkan solusi angkutan kota yang sesuai. Rancangan halaman hasil dapat dilihat pada Gambar 3.18

Gambar 3.18 Rancangan halaman hasil

B. Rancangan Antarmuka Aplikasi Server

Berikut ini adalah rancangan antarmuka untuk aplikasi server

1. Halaman Login

Pada aplikasi server, pengguna harus melakukan login terlebih dahulu. Begitu pengguna membuka aplikasi, maka halaman yang ditampilkan adalah halaman login. Halaman login terdiri dari dua field dan satu tombol , yaitu field Username, Password dan tombol login. Jika data yang dimasukkan salah, maka aplikasi akan menampilkan pesan error. Rancangan halaman hasil dapat dilihat pada Gambar 3.19


(66)

Gambar 3.19 Rancangan halaman Login

2. Halaman Import Data

Pada halaman ini, pengguna dapat memasukkan data dengan cara mengimpor dari file *.csv yaitu file yang dihasilkan oleh Ms. Excel. Data yang dimasukkan berupa daftar daerah, jarak dan trayek. Data yang diimpor akan dimasukkan ke dalam database.


(67)

3. Halaman Kelola Daerah

Pada halaman ini pengguna dapat menambahkan daerah baru, menghapus daerah dan mengubah daerah. Dibagian kanan ditampilkan peta yang berasal dari Google Maps. Dengan bantuan peta ini, pengguna dapat meletakkan posisi daerah yang ada ke dalam peta dengan simbol titik.

Gambar 3.21 Rancangan halaman Kelola Daerah

4. Halaman Kelola Jarak

Pada halaman ini pengguna dapat mengelola jarak antar daerah. Data daerah ditampilkan dalam bentuk matriks n x n. Rancangan halaman kelola jarak dapat dilihat pada Gambar 3.22 berikut


(68)

Gambar 3.22 Rancangan halaman Kelola Jarak

5. Halaman Kelola Angkutan

Pada halaman ini pengguna dapat menambahkan angkutan baru, menghapus angkutan dan mengubah angkutan.


(69)

6. Halaman Kelola Trayek

Pada halaman ini pengguna dapat menambahkan trayek baru dan menghapus trayek. Untuk membuat trayek baru, pengguna cukup memilih titik-titi yang terdapat pada peta.

Gambar 3.24 Rancangan halaman Kelola Trayek

7. Halaman Buat Solusi

Pada halaman ini pengguna dapat memilih dua menu, yaitu menu Buat Solusi (autosubmit) dan menu Buat Solusi. Perbedaannya adalah, pada Buat Solusi (autosubmit) solusi akan dicari dan disimpan ke database secara otomatis. Aplikasi akan mencari semua kemungkinan solusi dari data yang ada. Pada Buat Solusi, pada dasarnya sama saja, perbedaannya untuk mendapatkan solusi selanjutnya pengguna harus terus menerus memilih menu buat solusi selanjutnya. Rancangan halaman kelola jarak dapat dilihat pada Gambar 3.25 berikut.


(70)

Gambar 3.25 Rancangan halaman Buat Solusi

8. Halaman Lihat Solusi

Pada halaman ini akan ditampilkan solusi yang telah diperoleh


(71)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1Implementasi

• Pembahasan ini memaparkan proses implementasi dari hasil perancangan sistem yang telah dilakukan pada bab sebelumnya. Implementasi dilakukan untuk memperoleh hasil dari perangkat lunak yang telah dirancang. Implementasi berisi kebutuhan hardware dan software yang dibutuhkan untuk menjalankan aplikasi.

• Aplikasi Pencarian Angkot dibangun dengan bahasa pemrograman PHP dan database MySQL. Kebutuhan hardware untuk Aplikasi Administrasi berupa server dengan software berikut:

1. Web server Apache versi 2.x

2. PHP versi 5.2.x

3. MySQL server versi 5.x.

4. Sistem operasi Windows/Linux.

Untuk tampilan mobile, kebutuhan hardware yang diperlukan berupa ponsel yang dilengkapi dengan browser bawaan, atau untuk hasil yang lebih baik dapat menggunakan aplikasi Opera Mini versi 5.

• • • •


(72)

4.1.1 Tampilan Penggunaan Aplikasi

Tampilan aplikasi dibagi menjadi dua bagian, yaitu tampilan untuk mobile dan tampilan untuk server.

4.1.1.1Tampilan mobile

Tampilan aplikasi yang diimplementasikan pada mobile adalah sebagai berikut:

A. Halaman Daerah Asal

Halaman Daerah Asal merupakan halaman pertama yang muncul ketika aplikasi ini dijalankan. Halaman ini diperlihatkan pada Gambar 4.1.


(73)

• Pada halaman ini pengguna diminta untuk menentukan daerah asal. Sebagai contoh, pengguna memasukkan Mandala sebagai daerah asal seperti terlihat pada Gambar 4.2 berikut.

Gambar 4.2 Pilih Daerah Asal

B. Halaman Daerah Tujuan

Setelah menekan tombol lanjut, maka halaman yang ditampilkan adalah halaman Daerah Tujuan. Halaman Daerah Tujuan diperlihatkan pada Gambar 4.3.


(74)

Gambar 4.3 Halaman Daerah Tujuan

• Pada halaman ini pengguna diminta untuk menentukan daerah tujuan. Sebagai contoh, pengguna memasukkan Tembung sebagai daerah tujuan seperti terlihat pada Gambar 4.4 berikut.


(75)

C. Halaman Hasil

Pada halaman ini ditampilkan hasil pencarian angkot yang diinginkan. Halaman hasil diperlihatkan oleh Gambar 4.5 dan Gambar 4.6 berikut.

Gambar 4.5 Halaman Hasil


(76)

Setelah hasil ditampilkan, pengguna dapat kembali ke halaman awal dengan memilih menu Cari lagi.

4.1.1.2 Tampilan server

Tampilan aplikasi yang diimplementasikan pada server adalah sebagai berikut:

A. Halaman Import Data

Pada halaman ini, pengguna dapat mengimport data yang berasal dari Microsft Excel dengan extensi .csv. Data yang diimport adalah daerah, jarak dan trayek.


(77)

B. Halaman Kelola Daerah

Pada halaman ini pengguna dapat menambah daerah baru, mengubah dan menghapus daerah yang telah ada. Pengguna juga dapat mengubah posisi daerah yan berada di peta dengan cara menggeser titik-titik merah yang tersedia.

Gambar 4.8 Halaman Kelola Daerah

C. Halaman Kelola Jarak

Pada halaman ini pengguna dapat mengubah jarak dengan cara mengetikkan di kolom-kolom yang telah disediakan. Setelah mengubah jarak, pengguna harus menekan tombol Simpan untuk menyimpan data yang telah diubah.


(78)

Gambar 4.9 Halaman Kelola Jarak

D. Halaman Kelola Angkutan

Pada halaman ini pengguna dapat menambah angkutan baru, mengubah dan menghapus angkutan yang telah ada.


(79)

Gambar Halaman 4.10 Halaman Kelola Angkutan

E. Halaman Kelola Trayek

Pada halaman ini pengguna dapat menambah trayek baru dan menghapus trayek yang telah ada. Untuk menambahkan trayek baru, pengguna cukup memilih dua titik yang terdapat pada peta.


(80)

Gambar Halaman 4.11 Halaman Kelola Trayek

F. Halaman Buat Solusi

Pada halaman ini terdapat dua menu, yaitu Buat Solusi (Auto Submit) dan Buat Solusi. Perbedaannya adalah jika pengguna memilih Buat Solusi (Auto Submit), maka solusi akan dibuat dan disimpan secara otomatis. Sedangkan jika pengguna memilih Buat Solusi, maka solusi akan dibuat secara manual. Solusi yang ditampilkan berupa graf dari jalur angkot, hasil Floyd dari graf, jalur hasil Floyd dan rute yang tersedia.


(81)

Gambar 4.11 Halaman Buat Solusi


(82)

Gambar 4.13 Jalur Hasil Floyd


(83)

G. Halaman Lihat Solusi

Pada halaman ini pengguna dapat melihat solusi yang telah disimpan.

Gambar 4.15 Halaman Lihat Solusi

4.2 Pengujian

Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhan-kebutuhan yang dispesifikasikan atau mengidentifikasi perbedaan-perbedaan antara hasil yang diharapkan dengan hasil yang terjadi (Hariyanto, 2004).

Pengujian aplikasi pemilihan angkot ini dilakukan dengan metode black-box, yaitu suatu metode pengujian yang memeriksa kecocokan masukan dengan keluaran yang diberikan. Metode Black box hanya melakukan pengujian dengan membandingkan


(84)

masukan dan keluaran yang dihasilkan apakah sesuai dengan harapan atau tidak. Pengujian dilakukan untuk aplikasi mobile dan server

4.2.1 Pengujian Aplikasi Mobile

4.2.1.1Proses Input Daerah Asal

Hasil pengujian pada Proses Input Daerah Asal diperlihatkan pada Tabel 4.1

Tabel 4.1 Hasil Pengujian Proses Input Daerah Asal

No. Pengujian Hasil yang Diharapkan Hasil Pengujian

1. Cek daftar daerah asal yang tersedia

Daerah asal tersedia dalam bentuk

list

OK 2. Pilih salah satu daerah

asal

Daerah asal terpilih OK

3. Cek penekanan tombol Lanjut setelah daerah asal dipilih

Halaman daerah tujuan ditampilkan

OK

4 Cek penekanan tombol Lanjut jika daerah asal tidak dipilih

Kembali ke halaman daerah asal OK

4.2.1.2Proses Input Daerah Tujuan

Hasil pengujian pada Proses Input Daerah Tujuan diperlihatkan pada Tabel 4.2

Tabel 4.2 Hasil Pengujian Proses Input Daerah Tujuan

No. Pengujian Hasil yang Diharapkan Hasil Pengujian

1. Cek daftar daerah tujuan yang tersedia

Daerah tujuan tersedia dalam bentuk list

OK 2. Pilih salah satu daerah

tujuan


(85)

Tabel 4.2 Hasil Pengujian Proses Input Daerah Tujuan (Lanjutan)

No. Pengujian Hasil yang Diharapkan Hasil Pengujian

3. Cek penekanan tombol

Lanjut setelah daerah asal dipilih

Halaman hasil ditampilkan OK

4 Cek penekanan tombol

Lanjut jika daerah asal tidak dipilih

Kembali ke halaman daerah tujuan OK

4.2.1.3Proses Lihat Hasil

Hasil pengujian pada Proses Lihat Hasil diperlihatkan pada Tabel 4.3

Tabel 4.3 Hasil Pengujian Proses Lihat Hasil

No. Pengujian Hasil yang Diharapkan Hasil Pengujian

1. Lihat hasil pencarian Halaman hasil menampilkan hasil

pencarian

OK

2. Cek penekanan link Cari

Lagi

Kembali ke halaman input daerah asal OK

4.2.2 Pengujian Aplikasi Server

4.2.2.1Proses Import Data

Hasil pengujian pada Proses Import Data diperlihatkan pada Tabel 4.4

Tabel 4.4 Hasil Pengujian Proses Import Data

No. Pengujian Hasil yang Diharapkan Hasil Pengujian

1. Pilih data yang akan

dimasukkan

Data yang akan dimasukkan terpilih OK

2. Cek penekanan tombol

Import

Data masuk ke dalam database OK


(1)

6. Hapus nama angkutan yang tersedia

Nama angkutan dihapus OK

4.2.2.4Proses Kelola Trayek

Hasil pengujian pada Proses Kelola Trayek diperlihatkan pada Tabel 4.7

Tabel 4.7 Hasil Pengujian Proses Kelola Trayek

No. Pengujian Hasil yang Diharapkan Hasil Pengujian 1. Pilih angkutan dari daftar Trayek angkutan yang dipilih

ditampilkan

OK 2. Tambah trayek baru Trayek baru ditambahkan OK 3. Hapus trayek yang

tersedia

Trayek dihapus OK

4.2.2.5Proses Buat Solusi

Hasil pengujian pada Proses Buat Solusi diperlihatkan pada Tabel 4.8

Tabel 4.8 Hasil Pengujian Proses Buat Solusi

No. Pengujian Hasil yang Diharapkan Hasil Pengujian 1. Pilih menu Buat Solusi

(Autosubmit)

Solusi dibuat secara otomatis OK 2. Pilih menu Buat Solusi Solusi dibuat secara manual dengan

memilih menu Buat Solusi Berikutnya

OK

4.2.2.6Proses Lihat Solusi

Hasil pengujian pada Proses Lihat Solusi diperlihatkan pada Tabel 4.9


(2)

73

Tabel 4.9 Hasil Pengujian Proses Lihat Solusi

No. Pengujian Hasil yang Diharapkan Hasil Pengujian 1. Pilih Angkutan 1 Tabel graf, hasil Floyd, jalur Floyd

dan rute yang tersedia ditampilkan berdasarkan angkutan yang dipilih

OK

2. Pilih Angkutan 2 dan Daerah transit

Tabel graf, hasil Floyd, jalur Floyd dan rute yang tersedia ditampilkan berdasarkan angkutan 1, angkutan 2 dan daerah transit yang dipilih


(3)

BAB 5

KESIMPULAN DAN SARAN

5.1Kesimpulan

Berdasarkan studi literatur dan pengujian yang telah dilakukan, dapat diambil beberapa kesimpulan sebagai berikut:

1. Algoritma Floyd dapat diterapkan sebagai salah satu metode pengambilan keputusan. 2. Sistem pendukung keputusan dapat diterapkan ke dalam sistem berbasis mobile,

sehingga dapat diakses lebih cepat dan efisien.

3. Aplikasi SPK ini dapat dijadikan sebagai sumber informasi untuk pencarian angkutan kota dengan lintasan terpendek.

4. Algoritma Floyd berjalan dalam waktu Θ (n3) sehingga semakin banyak jumlah data yang dimasukkan, maka semakin lama pula proses pembuatan solusi.

5.2Saran

Berikut adalah saran-saran untuk pengembangan lebih lanjut terhadap aplikasi pemilihan trayek angkutan kota:

1. Aplikasi SPK ini menggunakan parameter jarak untuk menentukan lintasan terpendek, sebaiknya ditambahkan parameter lain seperti waktu, biaya, kemacetan lalu lintas, dll. 2. Membandingkan dengan algoritma pencarian lintasan terpendek lain seperti algoritma

Dijkstra.


(4)

75

3. Pengujian dilakukan dengan melibatkan pengguna langsung untuk mendapatkan hasil pengujian yang lebih baik.


(5)

Abubakar, Iskandar dkk. 1998. Sistem Transportasi Kota. Jakarta: Direktorat Bina Sistem Lalu Lintas dan Angkutan Kota.

Al Fatta, Hanif. 2007. Analisis dan Perancangan Sistem Informasiuntuk Keunggulan Bersaing Perusahaan dan Organisasi Modern. Edisi ke-1. Yogyakarta: ANDI Anonymous. Sony Ericsson W980.

http://www.gsmarena.com/sony_ericsson_w980-2249.php. Diakses tanggal 1 Juni 2010.

Avestro, Joyce. 2007. Pengembangan Perangkat Mobile : http://sites.google.com/a-/meruvian.org/meruvian/jeni/JENI_2__Materi.zip?attredirects=0&d=1. Diakses tanggal 23 Februari 2010.

Boffey, T.B. 1982. Graph Theory in Operation Research. London: University of Liverpool.

Cormen, T.H, Leiserson, C.E, and Riverst, R.L. Introduction to Algorithms. London: The MIT Press

Fowler, Martin. 2004. UML Distilled 3th Ed. Panduan Singkat Bahasa Pemodelan Objek Standar. Yogyakarta : Penerbit Andi.

Jong Jek Siang. 2002. Matematika Diskrit dan Aplikasinya pada Ilmu Komputer. Yogyakarta: ANDI.

Hariyanto, Bambang. 2004. Rekayasa Sistem Berorientasi Objek. Bandung : Informatika Bandung.

Munir, Rinaldi. 2005. Matematika Diskrit. Edisi ke-3. Bandung: Informatika.

Novandi, R.A.D. 2007. Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path). Makalah. Bandung: Institut Teknologi Bandung.

Oetomo, B.S.D. 2002. Perencanaan dan Pembangunan Sistem Informasi. Yogyakarta: ANDI.

Salim, Abbas. 2006. Manajemen Transportasi. Jakarta: Raja Grafindo Persada.


(6)

75

Surbakti, Irfan. 2002. Sistem Pendukung Keputusan (Decision Support System). Surabaya: Jurusan Teknik Informatika Fakultas Teknologi Informasi Institut Teknologi Sepuluh November.

Suryadhi, Ardhi. 2010. Pengguna Ponsel Diprediksi Tembus 5 Miliar.

Turban, E, Aronson, J. E, dan Liang, Ting-Peng. 2005. Decision Support Systems and Intelligent Systems (Sistem Pendukung Keputusan dan Sistem Cerdas). Jilid I. Edisi 7. Terjemahan Dwi Prabantini. Yogyakarta: ANDI.

Whitten, Jeffrey, L. and Bentley, Lonnie, D. 1998. System Analysis and Design Method. Fourth Edition. New York : Irwin McGraw Hill.

Yatini, Indra. 2007. Interaksi Manusia dan Komputer. Yogyakarta : Graha Ilmu.