MENGGUNAKAN ALGORITMA
FLOYD
SKRIPSI
MUHAMMAD ARSYAD
061401043
PROGRAM STUDI S1 ILMU KOMPUTER
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
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
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,
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
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.
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
URBAN TRANSPORTATION ROUTE SELECTION ON MOBILE DEVICE USING FLOYD ALGORITHM
ABSTRACT
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
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
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
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
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
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
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
URBAN TRANSPORTATION ROUTE SELECTION ON MOBILE DEVICE USING FLOYD ALGORITHM
ABSTRACT
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
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
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.
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
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.
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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
Algoritma Floyd:
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
1
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.
�(�) =�
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
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).
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:
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
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
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
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
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
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
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
Start
Kelola Daerah Kelola Jarak Kelola Angkutan
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.
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:
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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.
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.
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
Gambar 3.22 Rancangan halaman Kelola Jarak
5. Halaman Kelola Angkutan
Pada halaman ini pengguna dapat menambahkan angkutan baru, menghapus angkutan
dan mengubah angkutan.
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.
Gambar 3.25 Rancangan halaman Buat Solusi
8. Halaman Lihat Solusi
Pada halaman ini akan ditampilkan solusi yang telah diperoleh
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.
•
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.
• 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