PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
APLIKASI PENCARIAN JALUR ALTERNATIF KERETA API BERBASIS WEB Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Oleh : AMIKO BINTORO 075314087
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2013
i
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
WEB-BASED TRAIN TRACK SEARCH APPLICATION A THESIS Presented as Partial Fulfillment of the Requirements To Obtain the SarjanaKomputerDegree In Informatics Engineering Department
By: AMIKO BINTORO 075314087
INFORMATICS ENGINEERING PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA
ii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2013
SKRIPSI
PENCARIAN JALUR ALTERNATIFKERETA API BERBASIS WEB
Oleh : AmikoBintoro 075314087
Telahdisetujuioleh :
DosenPembimbingTugasAkhir
JB Budi Darmawan, S.T., M.Sc.Tanggal : ………………..
iii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
SKRIPSI APLIKASI PENCARIAN JALURALTERNATIF KERETA API BERBASIS WEB
Dipersiapkandandisusunoleh : AmikoBintoro NIM : 075314087 Telahdipertahankan di depan Tim Penguji Padatanggal 17 September 2013 Dan dinyatakanmemenuhisyarat
SusunanPanitiaPenguji : NamaLengkap
Tandatangan
Ketua
Alb. AgungHadhiatma, M.T
………………
Sekretaris
Sri HartatiWijono, S.Si.,M.Kom. ……….........…
Anggota
JB Budi Darmawan, S.T., M.Sc.
………………
Yogyakarta, 16Oktober 2013 FakutasSainsdanTeknologi UniversitasSanata Dharma Dekan
P.H. Prima Rosa,S.Si., M.T.
iv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
HALAMAN PERSEMBAHAN
Untukgembala yang baik, TUHAN YESUS KRISTUS Untukkeluargaterkasih dan Untukteman-temantercinta
= TERIMA KASIH =
v
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya/ bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 14Oktober 2013 Penulis
AmikoBintoro
vi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertandatangan di bawahini, sayamahasiswaUniversitasSanataDharma : Nama :
AmikoBintoro
NIM
075314087
:
Demi
pengembanganilmupengetahuan,
sayamemberikankepadaperpustakaanUniversitaSanata Dharma karyailmiahsaya yang berjudul : APLIKASI
PENCARIAN
JALUR
ALTERNATIF
KERETA
API
BERBASIS WEB Besertaperangkat yang diperlukan( bila perlu ). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta Padatanggal :14 Oktober 2013 Yang menyatakan
AmikoBintoro
vii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
APLIKASI PENCARIAN JALUR ALTERNATIF KERETA API BERBASIS WEB
Abstraksi
Kereta Api merupakan salah satu transportasi masal yang cukup populer di Indonesia, khususnya di daerah Jawa. Bermacam kereta dengan berbagai jalur mengangkut ribuan orang setiap harinya, termasuk kereta api kelas eksekutif. Dengan banyaknya kereta yang melewati banyak stasiun, memungkinkan adanya sebuah jalural ternatif yaitu keretalain yang melewati stasiun yang sama. Untuk melakukan pencarian jalur alternatif ini tidak mudah, penumpang harus mengetahui kereta, stasiun, dan kursi yang masih kosong untuk setiap kereta pada jalur tersebut. Dengan banyaknya kereta dan stasiun yang dilewati, maka pencarian secara manual menjadi lama. Tujuandari skripsi ini adalah untuk membangun suatu aplikasi yang mampu membantu untuk melakukan pencarian jalur alternatif secara efisien dan melakukan pemesanan. Aplikasi dibangun dengan teknologi web dan basis data oracle menggunakan metodologi waterfall model.Untuk menggunakan aplikasi ini pengguna melakukan login, kemudian memasukan beberapa inputan berupa tanggal berangkat, stasiun asal, stasiun tujuan. Selanjutnya aplikasi menampilkan hasil pencarian yang kemudian bisa dipesan. Dari hasil pengujian oleh beberapa responden yaitu enam orang pengguna dan aktifis penggemar kereta api dapat disimpulkan bahwa sistem dapat berjalan dengan baik untuk melakukan pencarian jalur alternatif dan pemesanan.
viii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
WEB-BASED TRAIN TRACK SEARCH APPLICATION
Abstract
Train is one of popular public transportations in Indonesia, especially in Java. Various of trains with different of tracks carry thausand of people everyday, including in executive class train. Many trains that pass many stations urge us to make alternative tracks which depart the different trains from the same station. To search this alternative track is not easy, passenger should know trains, tracks, and seats that are still empty for each train.The passenger often miss some trains and stations due to the manual wasting time. This tessis goal is build an application to help search the alternative track efficienlly and order seat. TheAplication is build with web technology and the oracle database use waterfall model. To use this aplication user must login and enter several inputs, such as departure date, departure station and destination station. Then aplication show result of searching that can be ordered by passengers. Based on result of testing six users can be concluded that the application can both search alternative track and order seat as well.
ix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
KATA PENGATAR
Puji syukur kepada Tuhan Yesus Kristus yang telah memberikan kasih karunia, kemampuan dan kesempatan sehingga penulis dapat menyelesaikan tugas akhir dengan judul “APLIKASI PENCARIAN JALUR ALTERNATIF KERETA API BERBASIS WEB”.
Terimakasih yang
sebesar-besarnya kepada semua pihak yang telah
memberikan dukungan, semangat, serta bantuan sehingga penulis mampu menyelesaikan skripsi ini :
1.P.H Prima Rosa, S.Si.,M.Sc., selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta
2. Ibu Ridhowati Gunawan, S.Kom.,M.T., selaku ketua jurusan Program Studi Teknik Informatika Universitas Sanata Dharma Yogyakarta
3. Bapak JB Budi Darmawan S.T.,M.Sc., selaku dosen pembimbing atas kesabaran , saran dan waktu yang diberikan
4. Ibu Sri Hartati Wijono, S.Si.,M.Kom., dan Bapak Alb. Agung Hadhiatma.M.T, selaku dosen penguji atas saran dan kritikannya.
5. Orang tuasaya , Bapak Mikhael Dwi Puryanto dan Ibu Silvia Triwigati dan Bapak Nuhman dan adik-adik saya , Eunike Beti Wigati, AmKeb., dan Yosia Candra Pramudito yang telah memberikan seluruh dukungan, baik materiil maupun spiritual selama masa studi.
x
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
6. Teman-teman komunitas jimbez (Taufik, S.Kom., Leonardus ,S.Kom, AlbertusDio, S.Kom, RobertusAtyantama, Mariano Lucky Z, S.Kom, Markus Herjuno,S.Kom., Andri Yudha P., S.Kom., Yohanes Sapto Prabowo) atas dukungan penuh yang diberikan. 7. Gembala Sidang dan seluruh jemaat GBI M3, atas dukungan doa yang diberikan.
8. Teman-teman Mitra Perpustakaan Universitas Sanata Dharma atas dukungan dan semangat yang diberikan.
9. Teman-teman TI’07 dan semua pihak yang telah berperan serta baik secara langsung maupun tidak langsung sehingga penulis mampu menyelesaikan skripsi ini.
Penulis menyadari bahwa masih banyak kekurangan dalam penyusunan skripsi ini. Saran dan kritik sangat diharap kan untuk perbaikan kedepannya. Semoga dapat bermanfaat.
Yogyakarta, 14 Oktober 2013
Penulis
xi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR ISI
HALAMAN JUDUL BAHASA INDONESIA ..................................................... i HALAMAN JUDUL BAHASA INGGRIS ......................................................... ii HALAMAN PERSETUJUAN ............................................................................ iii HALAMAN PENGESAHAN .............................................................................. iv HALAMAN PERSEMBAHAN ............................................................................v HALAMAN PERNYATAAN KEASLIAN KARYA ........................................ vi HALAMAN PERSETUJUAN PUBLIKASI .................................................... vii ABSTRAK .......................................................................................................... viii ABSTRACT .......................................................................................................... ix KATA PENGANTAR ............................................................................................x DAFTAR ISI ........................................................................................................ xii DAFTAR TABEL ............................................................................................. xvii DAFTAR GAMBAR ........................................................................................ xviii BAB I PENDAHULUAN .......................................................................................1 1.1 Latar Belakang ...................................................................................................1 1.2 Rumusan Masalah ..............................................................................................2 1.3 Tujuan Penelitian ...............................................................................................3 1.4 Batasan Masalah ................................................................................................3 1.5 Metode Penelitian ..............................................................................................3 1.5.1 Perencanaan .................................................................................................3 1.5.2 Definisi Kebutuhan ......................................................................................4 1.5.3 Perancangan .................................................................................................4 1.5.4 Pengembangan .............................................................................................4
xii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
1.5.5 Integrasi dan Tes..........................................................................................4 1.6 Sistematika Penulisan ........................................................................................4 BAB II LANDASAN TEORI ................................................................................6 2.1 Aplikasi ..............................................................................................................6 2.2 Aplikasi Web......................................................................................................6 2.2.1 Hyper Text Markup Languages ( HTML)...........................................7 2.2.2 Java Server Pages ................................................................................7 2.2.2 Session dan Cookies ............................................................................9 2.3 Basisdata( Database ) ......................................................................................10 2.4 Model Waterfall ...............................................................................................10 2.4.1 Perencanaan ...............................................................................................11 2.4.2 Definisi Kebutuhan ....................................................................................11 2.4.3 Perancangan ...............................................................................................12 2.4.3.1 Logical Design ...............................................................................14 2.4.3.1 Physical Design..............................................................................15 2.4.4 Pengembangan ...........................................................................................15 2.4.5 Integrasi dan Tes........................................................................................15 BAB III ANALISIS DAN PERANCANGAN SISTEM ....................................16 3.1 Analisis Sistem .................................................................................................16 3.1.1 Gambaran Sistem Lama ................................................................................16 3.1.2 Gambaran Sistem Baru ..............................................................................17 3.2 Use Case ...........................................................................................................19 3.2.1 Use Case Diagram .....................................................................................19 3.2.2 Tabel Use Case ..........................................................................................19 3.2.3 Diagram Berjenjang...................................................................................23
xiii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.3 Data Flow Diagram (DFD) ..............................................................................24 3.3.1 DFD Level 0 ..............................................................................................24 3.3.2 DFD Level 1 ..............................................................................................26 3.3.2.1 DFD Level 1 Login ........................................................................26 3.3.2.2 DFD Level 1 Update Data Kereta ..................................................27 3.3.2.3 DFD Level 1 Update Data Kereta_template ..................................27 3.3.2.4 DFD Level 1 Update Data Stasiun .................................................28 3.3.2.5 DFD Level 1 Update Data Jam ......................................................28 3.3.2.6 DFD Level 1 Cari Jalur Alternatif .................................................28 3.3.2.7 DFD Level 1 Lihat Order ...............................................................29 3.4 Perancangan Database......................................................................................30 3.4.1 E-R Diagram ..............................................................................................30 3.4.2 Desain Logikal Basisdata ..........................................................................31 3.4.3 Desain Fisikal Basisdata ............................................................................32 3.4.3.1 Tabel Kereta ...................................................................................32 3.4.3.2 Tabel Stasiun ..................................................................................32 3.4.3.3 Tabel Kereta Template ...................................................................32 3.4.3.4 Tabel Kereta Berangkat..................................................................33 3.4.3.5 Tabel Gerbong................................................................................33 3.4.3.6 Tabel Kursi .....................................................................................33 3.4.3.7 Tabel Pengguna ..............................................................................34 3.4.3.8 Tabel Pesan ....................................................................................34 3.4.3.9 Tabel Has Stasiun...........................................................................34 3.5 DesainAntarMuka ............................................................................................35
xiv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3.5.1 Desain Halaman Home Admin ..................................................................35 3.5.2 Desain Halaman Login ..............................................................................35 3.5.3 Desain Halaman Hasil Pencarian ..............................................................36 3.5.4 Desain Halaman Update ............................................................................36 3.5.5 Desain Form Pesan ....................................................................................37 3.5.6 Desain Halaman Home User .....................................................................37 3.5.7 Desain Halaman Hasil Pencarian User ......................................................38 3.5.8 Desain Halaman Pesan User ......................................................................38 BAB IV IMPLEMENTASI DAN ANALISIS HASIL ......................................39 4.1 Antar Muka Pengguna Sistem..........................................................................39 4.1.1 Halaman Login dan Logout .......................................................................39 4.1.2 Halaman Home Admin ..............................................................................45 4.1.3 Halaman Hasil Pencarian ..........................................................................46 4.1.4 Halaman Update ........................................................................................52 4.1.5 Halaman Lihat Order .................................................................................60 4.1.6 Halaman Sisa Kursi ...................................................................................61 4.1.5 Halaman Home User .................................................................................64 4.2 Proses Generate Database ................................................................................67 BAB V ANALISIS HASIL ..................................................................................78 5.1 Analisis Hasil Perangkat Lunak .......................................................................78 5.2 Kelebihan dan Kekurangan Aplikasi ...............................................................79 BAB VI KESIMPULAN ......................................................................................80 6.1 Kesimpulan ......................................................................................................80 6.2 Saran.................................................................................................................80
xv
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR PUSTAKA ...........................................................................................81 LAMPIRAN ..........................................................................................................82
xvi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR TABEL
Gambar 3.1 Diskripsi Use Case .............................................................................19 Gambar 3.2 Penjelasan Gambar kereta ..................................................................32 Gambar 3.3 PenjelasanGambar stasiun ..................................................................32 Gambar 3.4 Penjelasan Gambar kereta_template ..................................................32 Gambar 3.5 Penjelasan Gambar kereta_berangkat ................................................33 Gambar 3.6 Penjelasan Gambar gerbong ...............................................................34 Gambar 3.7 Penjelasan Gambar kursi ....................................................................33 Gambar 3.8 Penjelasan Gambarpengguna .............................................................34 Gambar 3.9 Penjelasan Gambar pesan ...................................................................34 Gambar 3.10 Penjelasan Gambarhas_stasiun ........................................................34 Gambar 4.1 Database Connection ..........................................................................39 Gambar 4.2 Servlet Login Controller.....................................................................42 Gambar 4.3 Tampil Jalur.jsp ..................................................................................46 Gambar 4.4 Method Cari2......................................................................................48 Gambar 4.5 Update Stasiun....................................................................................53 Gambar 4.6 Method LihatDataStasiun...................................................................56 Gambar 4.7 Ubah Data Stasiun ..............................................................................58 Gambar 4.8 Method LihatDataStasiun2.................................................................60 Gambar 4.9 Generate Kereta Berangkat ................................................................64 Gambar 4.10 Generata Gerbong ............................................................................68 Gambar 4.11 Generata Kursi..................................................................................69
xvii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
DAFTAR GAMBAR
Gambar 2.1 Waterfall Model .................................................................................11 Gambar 2.2 Tools Requirements Definition ..........................................................12 Gambar 2.3 Tools Design E-R Diagram ................................................................12 Gambar 2.4 Tools Design DFD .............................................................................13 Gambar 3.1 Ilustrasi Alternatif ..............................................................................16 Gambar 3.2 Diagram Konteks................................................................................17 Gambar 3.3 Use Case .............................................................................................19 Gambar 3.4 Diagram Berjenjang ...........................................................................23 Gambar 3.5 DFD Level 0 Admin...........................................................................24 Gambar 3.6 DFD Level 0 User ..............................................................................25 Gambar 3.7 DFD Level 0 Sistem ...........................................................................25 Gambar 3.8 DFD Level 1 Login ............................................................................26 Gambar 3.9 DFD Level 1 Update Data Kereta ......................................................27 Gambar 3.10 DFD Level 1 Update data Kereta Template .....................................27 Gambar 3.11DFD Level 1 Update Data Stasiun ....................................................28 Gambar 3.12 DFD Level 1 Cari Jalur Alternatif....................................................28 Gambar 3.13 DFD Level 1 Lihat Order .................................................................29 Gambar 3.14 E-R Diagram ....................................................................................30 Gambar 3.15 Desain Logikal Basisdata .................................................................31 Gambar 3.16 Desain Halaman Home ....................................................................35 Gambar 3.17 Desain Halaman Login .....................................................................35 Gambar 3.18 Desain Halaman Hasil Pencarian .....................................................36 Gambar 3.19 Desain Halaman Update ...................................................................36 Gambar 3.20 Pesan ................................................................................................37 Gambar 3.21 Halaman Home Admin.....................................................................37 Gambar 3.22 Halaman Hasil Pencarian User .........................................................38 Gambar 3.23 Halaman Pesan User.........................................................................38 Gambar 4.1 Login ..................................................................................................39 Gambar 4.2 LoginGagal .........................................................................................42
xviii
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
Gambar4.3 Halaman Home Admin........................................................................45 Gambar 4.4 Halaman Hasil Pencarian ...................................................................46 Gambar 4.5 Form Pesan .........................................................................................51 Gambar 4.6 Pemesanan Berhasil............................................................................52 Gambar 4.7 Halaman Update .................................................................................52 Gambar 4.8 Ubah Data Stasiun ..............................................................................58 Gambar 4.9 Lihat Order .........................................................................................60 Gambar 4.10 Halaman Sisa Kursi. .........................................................................61 Gambar 4.11 Halaman Home User. .......................................................................64 Gambar 4.12 Halaman Hasil Pencarian. ................................................................65 Gambar 4.13 Form Pesan .......................................................................................66 Gambar 4.14 Pesan Berhasil ..................................................................................66
xix
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB I PENDAHULUAN
1.1.
Latar Belakang Kereta Api (KA) merupakan sarana transportasi darat yang cukup penting di Indonesia yang dikelola oleh PT. Kereta Api Indonesia ( Persero ), khususnya di daerah pulau jawa. Kereta Api di Jawa dapat diketegorikan ke dalam dua kategori yaitu KA barang dan KA penumpang . KA barang banyak dipakai untuk mendistribusikan barang-barang ke berbagai daerah di pulau jawa. KA penumpang digunakan untuk membantu mobilisasi orang dari daerah satu ke daerah lain. KA penumpang memiliki jenis dan kelas yang beragam. Mulai dari kelas ekonomi, ekonomi AC, Bisnis sampai kelas tertinggi kelas eksekutif yang dibedakan berdasarkan layanan yang diberikan pada masing-masing kelas. Kelas eksekutif sebagai kelas unggulan memiliki layanan terbaik diantara kelas yang lain seperti; gerbong yang berpendingin udara, tempat duduk yang nyaman, hiburan audio visual dan layanan lain yang membuat penumpang sangat nyaman. Selain itu KA kelas ini juga memiliki beberapa keunggulan lain, seperti pemberhentian yang lebih sedikit dibandingkan dengan KA kelas bisnis maupun ekonomi. Setiap kelas memiliki armada yang cukup banyak dengan berbagai jalur. Untuk kelas eksekutif terdapat dua ( 2 ) tipe yaitu jenis Argo yang namanya diambil dari nama-nama Gunung seperti ; Argo Bromo Anggrek , Argo Dwipangga , Argo Jati , Argo Lawu , Argo Muria , Argo Parahyangan , Argo Sindoro , Argo Wilis dan jenis Satwa yaitu : Bangunkarta , Bima , Gajayana , Sembrani , Taksaka , Turangga yang diberi nama berdasarkan nama hewan atau tokoh pewayangan. Untuk kelas eksekutif setiap harinya ribuan orang diangkut menggunakan KA (www.kereta-api.co.id).
1
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
2
Penumpang KA kelas eksekutif kebanyakan adalah orang-orang yang memiliki mobilitas tinggi dan sudah akrab dengan teknologi. Bahkan, sering harus melakukan tugas yang berbeda dalam satu waktu. Untuk mencari informasi tentang berbagai hal, salah satunya KA, mereka sering mengunakan internet. Dengan berbagai macam KA yang tersedia setiap harinya, maka teknologi digunakan untuk membantu pencariannya. Dari kasus ini bisa dicari alternatif jalur dengan memanfaatkan kursi yang masih kosong. Misalnya, seorang pemumpang ingin naik KA dari Purwokerto dengan tujuan Yogyakarta. Penumpang bisa memilih KA yang berangkat dari Purwokerto dengan tujuan Yogyakarta atau mencari KA lain yang melewati Purwokerto dan Yogyakarta. KA yang lain inilah yang dimaksud dengan alternatif. Untuk mendapat jalur alternatif ini maka penumpang harus mengetahui KA mana saja yang melewati kedua kota ini dan memiliki kursi yang masih kosong. Dengan teknologi yang ada sekarang dimungkinkan adanya suatu sistem yang mampu membantu menangani pencarian jalur alternatif khususnya pada KA eksekutif. Selain itu dengan aplikasi ini memungkinkan sebuah KA dapat terisi maksimum sepanjang jalur. Dengan adanya aplikasi ini diharapkan mampu memberikan peningkatan pelayanan bagi penumpang KA maupun pengelola KA.
1.2.
Rumusan Masalah Dari latar belakang di atas terdapat pokok masalah, yaitu : Bagaimana membangun aplikasi yang mampu melakukan pencarian dan pemesanan jalur alternatif kereta api.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
3
1.3.
Tujuan Penelitian : Membangun aplikasi jalur alternatif kereta api untuk membantu melakukan pencarian dan pemesanan jalur alternatif kereta api.
1.4.
Batasan Masalah : Adapun batasan masalah dari aplikasi jalur alternatif kereta api adalah: 1. Aplikasi hanya menangani pencarian jalur alternatif kereta api kelas eksekutif dan pemesanan kursi, dengan satu kursi untuk sekali pesan. 2. Dibangun dengan teknologi Web menggunakan Java dan Database Oracle Express Edition.
1.5.
Metode Penelitian : Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah metode waterfall. Dalam metode ini terdapat beberapa tahap yang dikerjakan secara berurutan. Tahap-tahapnya sebagai berikut ; ( Presman, 1996 ) 1.5.1
Perencanaan Ini adalah tahapan awal untuk membangun sebuah pandangan atau pengertian tentang produk perangkat lunak. Di tahapan ini dilakukan pengumpulan
data
untuk
mengevaluasi
sistem
lama
dan
mendeskripsikan pendekatan management dan teknikal sebagai pengembangan struktur project dasar.
1.5.2
Definisi Kebutuhan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
4
Tahapan definisi kebutuhan adalah tahapan dimana dilakukan pengumpulan proses yang selanjutnya akan dijadikan input tujuan. Masing – masing tujuan akan membutuhkan satu atau lebih requirements. 1.5.3
Perancangan Tahapan perancangan adalah tahap untuk melakukan perancangan produk yang akan dibuat yang mengacu pada use case yang ada. Tahapan ini meliputi design database dan design user interface.
1.5.4
Pengembangan Tahapan pengembangan dilakukan pengerjaan perangkat lunak yang telah dirancang pada tahap perencanaan, yaitu dengan coding sesuai dengan apa yang sudah direncanakan seperti coding database, user interface.
1.5.5
Integrasi dan Tes Pada tahap integrasi dan tes, semua hasil yang telah dibuat menjadi bahan tes untuk memastikan program berjalan dengan sempurna. Kesuksesan
dalam
menjalankan
program
menetapkan
bahwa
perangkat lunak yang dibuat, siap untuk diedarkan ke konsumen. Jika program mengalami kegagalan maka di tahapan ini akan diperlukan sebuah perbaikan untuk memastikan bahwa program benar – benar sempurna.
1.6.
Sistematika Penulisan : Bab I Pendahuluan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
5
Memberikan gambaran secara umum tentang isi skripsi yang meliputi: latar belakang, rumusan masalah, batasan masalah, tujuan dan manfaat, metode penelitian dan sistematika penulisan.
Bab II Landasan Teori Berisi konsep dasar dan teori-teori yang digunakan dalam penulisan skripsi meliputi aplikasi, aplikasi web dan database.
Bab III Analisa dan Perancangan Berisi gambaran umum sistem,
usecase diagram, sekenario
perancangan, analisa peracangan, perancangan basis data, perancangan tampilan masukan dan keluaran untuk pengguna. Bab IV Implementasi dan Pengujian Bab ini menjelaskan tentang implementasi ke dalam bentuk program berdasarkan desain yang telah dibuat dan pengujian aplikasi. Bab V Kesimpulan dan Saran Bab ini berisi semua simpulan yang didapatkan dari penelitian yang telah dilakukan. Simpulan menjawab rumusan masalah yang dituliskan pada bab pendahuluan secara ringkas dan jelas. DAFTAR PUSTAKA LAMPIRAN
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB II LANDASAN TEORI
2.1
Aplikasi Menurut Kamus Besar Bahasa Indonesia,(1998) “Aplikasi penerapan dari rancang sistem untuk mengolah data dan menggunakan aturan atau ketentuan bahasa pemrograman tertentu”. Aplikasi berasal dari kata application yang artinya penerapana atau lamaran atau penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju. (www.totalinfo.or.id)
2.2
Aplikasi Web Aplikasi Web adalah suatu aplikasi yang dapat membentuk halaman – halaman Web berdasarkan permintaan user ( pengguna ), merupakan salah satu contoh aplikasi client / server. Ada 2 ( dua ) pihak yang terlibat dalam aplikasi client / server yaitu client ( pemakai ) dan server ( penyedia ). Client mewakili pihak yang menggunakan layanan aplikasi, sedangkan server adalah pihak yang menyediakan layanan aplikasi. Pihak client mengunakan perangkat lunak Web browser, sering disebut browser saja, contohnya : Internet Explorer, Mozilla, Netscape. Pihak server menggunakan perangkat lunak Web server, contohnya Apache dan IIS ( Internet Information Server ). Web server biasanya juga menggunakan database server ( sebuah server yang melayani akses terhadap database ), contohnya : Oracle dan MySQL. Untuk membangun aplikasi Web digunakan bahasa pemrograman seperti : Java Server Pages ( JSP ), Hypertext Processor ( PHP ), Active Server Pages ( ASP ). 6
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
7
Dalam berkomunikasi, client dan server terhubung melalui Internet atau Intranet. Internet adalah kumpulan komputer atau jaringan komputer yang terhubung secara global ( seluruh dunia ) sedangkan Intranet adalah komputer yang terhubung dalam suatu jaringan dalam wilayah tertentu. Client akan melakukan request ( permintaan ) kepada server melalui protokol HyperText Transfer Protocol ( HTTP ) dalam bentuk HyperText Markup Language ( HTML ), kemudian server akan membalas dan mengirimkan dokumen sesuai yang direquest oleh client. (Kadir, 2004)
2.2.1
Hyper Text Markup Language ( HTML ) HTML adalah standar informasi yang berbasis hypertext yang dipakai pada Web. HTML bekerja menggunakan HyperText Transfer protocol ( HTTP ), suatu protokol komunikasi yang memungkinkan Web sever berkomunikasi dengan Web browser. Dengan adanya protocol ini maka antara Web Server dan Web browser dapat berkomunikasi. Aturan penulisan kode HTML : <TILTE>
2.2.2
JAVA SERVER PAGES ( JSP ) JSP adalah fitur pada bahasa java yang memungkinkan sebuah aplikasi Web yang menggunakan pendekatan pemrosesan pada sisi Server. Artinya sourcecode ( kode sumber ) dijalankan pada Web Server. Prinsip kerjanya
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
8
adalah client melakukan request halaman Web ( berupa dokumen JSP ) melalui Internet. Permintaan tersebut diterima oleh server kemudian dikirimkan ke JSP Servlet Engine. Servlet adalah teknologi Java yang memungkinkan pembuatan halaman Web yang bersifat dinamis dan diproses pada sisi server. Oleh JSP Servlet Engine dilakukan pemrosesan ( di-generate ) sehingga membentuk kode HTML dan dikirimkan ke client melalui Internet. Kode JSP pada dasarnya adalah kode HTML yang dilengkapi dengan tag - tag JSP. Ada 3 ( tiga ) jenis elemen JSP yaitu : 1. Ekspresi berbentuk <%= ekspresi %> yang dievaluasi dan disisipkan ke dalam output ( keluaran ). menyisipkan nilai java secara langsung sebagai output. Ekspresi java dievaluasi, dikonversi ke suatu String dan disisipkan dalam halaman Web. 2. Scriptlet berbentuk <% kode %> yg disisipkan kedalam metode service servlet. Mampu menyisipkan ekspresi yg lebih kompleks, memungkinkan menyisipkan arbitrary code ke dalam metode servlet yg akan dibuat untuk men-generate halaman. 3. Deklarasi berbentuk <%! kode %> yang disisipkan ke dalam body class servlet, diluar metode yang sedang digunakan. Karena tidak men-generate suatu output, maka memungkinkan mendefinisikan metode atau field yang disisipkan dalam main body ( badan utama ) dari class servlet ( diluar dari metode service yang memproses request ). Normalnya digunakan untuk konjungsi dengan ekspresi dan scriptlet. Cotohnya Kode JSP : <TILTE>Contoh kode JSP
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
9
<% Out.print(“Contoh kode JSP”) %> Pasangan <% dan %> merupakan salah satu model dari tag JSP. (Abdul Kadir, 2004) 2.2.3
SESSION dan COOKIE Session adalah catatan aktifitas bagi keseluruhan interaksi antara satu client dengan server. Server akan menandai client dengan ID session yang unik. Session akan dimulai ketika request pertama dan dapat diakhiri baik oleh server maupun client. Selama koneksi tidak terputus maka session akan tetap valid. Berikut Statement yang dipakai untuk pengaturan session: Statement untuk menciptakan session: session=request.getSession(true); Statement untuk membentuk session: setAtribut(String name, object nilai); Statement untuk membaca data session: getAtribut(String name); Statement untuk menghapus data session: session.removeAttribut(String name); (Kadir, 2004)
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
10
Sedangkan cookies sebuah informasi kecil yang dikirimkan oleh servlet ( server ) kepada web-browser ( client ) dan disimpan dalam mesin lokal yang nantinya
dapat dikirimkan kembali ke servlet . Salah satu
pemakaianya yaitu untuk menangani login. Dengan adanya cookies maka tidak perlu untuk melakukan login secara berulang-ulang saat mengakses sebuah web yang mensyaratkan login. ( Wijono, 2007 )
2.3
BASISDATA ( DATABASE ) Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri ( query ) basis data disebut sistem manajemen basis data ( database management system, DBMS ). Sistem basis data dipelajari dalam ilmu informasi. (Wesley, 2004) Salah satu contoh DBMS adalah Oracle dan MySql. Oracle sendiri memiliki kelebihan yaitu pada Procedural Language/Structured Query Language (PL/SQL) dan kemampuan untuk konsistensi dan proteksi data. Dalam pemrograman database , sering digunakan prosedur atau sering disebut juga Storade Procedure. Prosedure sendiri adalah salah satu tipe dari subprogram yang melakukan sebuah aksi.
2.4
MODEL WATERFALL Model waterfall adalah model pengembangan sisterm secara sekuensial. Yaitu pengembangan sistem secara bertahap, jika satu tahap
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
11
selessai baru dilaanjutkan dengan tahap berikutnya.. Menurut R.S. R Pressm man “Sofftware Enginneering : A Practitioner's P s Approach”” 1996 ada beberapa b tahhap peng gembangan system yanng bisa diliihat pada gambar g 2.1.. Tetapi paada peneelitian ini hannya sampai pada p tahap Integration I & Test.
Gam mbar 2.1 Waaterfall Modeel 2.4.1 Perencanaan P n Tahapan T perrencanaan ( project plaanning ) addalah membbangun sebuuah pandangan p t tentang sebbuah produkk perangkatt lunak. Di tahapan ini dilakukan d peengembangann struktur prroject dasar, seperti penggumpulan daata untuk u menggevaluasi siistem lamaa dan menndeskripsikann pendekattan management m t dan teknikaal. 2.4.2 Definisi D Keb butuhan Tahapan T Definisi kebutuuhan ( requuirements deefinition ) adalah a tahappan dimana d dilakkukan penguumpulan prooses yang seelanjutnya akan a dijadikkan in nput tujuan. Masing – masing m tujuaan akan mem mbutuhkan satu s atau lebbih requirements r s.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
12
Tools yang penulis gunakan untuk requirements definition seperti use case bisa dilihat pada Gambar 2.2 di bawah ini.
Tools :
Aktor
Use Case
Alur Data
Depends On
Gambar 2.2 Tools Requirements Definition 2.4.3
Perancangan Pada tahapan perancangan ( design ) dilakukan perancangan untuk produk yang akan dibuat yang mengacu pada use case yang ada. Tahapan ini meliputi design database ( Entity Relationalship Diagram ), DFD ( Data Flow Diagram ) dan design user interface. Tools yang digunakan untuk penulisan Entity Relationalship Diagram ( E_R Diagram ) menurut ( Atzeni, 2000 ),bisa dilihat pada Gambar 2.3 berikut:
Entitas
Relasi
Atribut
External Identifier Gambar 2.3 Tools Design E-R Diagram
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
13
Entitas merupakan simbol untuk sebuah tabel data tertentu yang memiliki atribut. Sedangkan relasi adalah sebuah hubungan antar tabel. Untuk atribut adalah isi dari sebuah entitas atau tabel data. Misalkan sebuah entitas mahasiswa memiliki beberapa atribut yaitu nim dan nama. Sedangkan external identifier adalah sebuah kondisi dimana sebuah atribut data tidak cukup untuk dijadikan identitas dengan jelas. Misalkan ada, ada mahasiswa mendaftarkan pada bemacam universitas, dua mahasiswa yang memiliki nomor registrasi yang sama. yang sama. Pada kasus ini, untuk menjadikan sebuah identitas mahasiswa yang jelas, kita membutuhkan
universitas
yang
bersangkutan
beserta
nomor
registrasinya. Untuk itu dibutuhkan kode universitas ditambahkan kedalam nim sehingga bisa dijadikan sebagai identitas yang jelas ( Atzeni, 2000 ). Tools yang penulis gunakan untuk design DFD bisa dilihat pada Gambar 2.4 di bawah ini :
proses
external entity
alur data
data storage
Gambar 2.4 Tools Design DFD 2.4.3.1 Logical Design
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
14
Logical design merupakan translasi dari conseptual model yang didefinisikan dalam fase-fase ke dalam bentuk model data yang diadopsi oleh database management system yang tersedia. Produk dari fase-fase tersebut dinamakan logical schema dari basis data dan hampir sama artinya dengan logical data model. Model logikal merepresentasikan data dalam sebuah alur yang terlepas dari physical design. Logical design merupakan sebuah gambar nonteknikal yang memberikan gambaran tentang apakah sistem dan apa yang dilakukannya. Dalam logical design akan diterjemahkan conceptual schema kedalam model data yang sesuai dengan DBMS yang digunakan. Hasil dari tahap ini adalah logical schema basis data yang mengacu pada logical data model. Logical data mode dapa disebut juga relational model. Dalam logical model ini, menggambarkan data secara logikal dan harus memperhatikan kriteria optimal yaitu: ada tidaknya redudansi data atau penyimpanan di beberapa tempat untuk data yang sama dan data yang tidak konsisten ( Atzeni, 2000 ). 2.4.3.2 Physical Design Physical design melanjutkan
logical schema yang kemudian di
implementasi secara fisik sesuai dengan DBMS yang digunakan dengan lebih detail. Selain itu, tahap ini merupakan bentuk perancangan basis data yang menterjemahkan kebutuhan bisnis ke dalam model sistem yang menggambarkan implementasi teknik dari kebutuhan bisnis itu sendiri ( Atzeni, 2000 ). 2.4.4
Pengembangan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
15
Tahapan pengembangan ( development ) dilakukan pengembangan perangkat lunak yang akan dibuat, yaitu dengan coding sesuai dengan apa yang sudah direncanakan sebelumnya pada tahapan design. 2.4.5
Integrasi dan Tes Selama pada tahapan integrasi dan tes ( integration and test ), semua menu yang telah dibuat menjadi bahan tes untuk memastikan program berjalan dengan sempurna. Kesuksesan dalam menjalankan program menetapkan bahwa perangkat lunak yang dibuat, siap untuk diedarkan ke konsumen. Jika program mengalami kegagalan maka di tahapan ini akan diperlukan sebuah perbaikan untuk memastikan bahwa program benar – benar sempurna.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB III ANALISIS DAN PERANCANGAN SISTEM
3.1
Analisis Sistem
3.1.1
Gambaran Sistem Lama PT. KERETA API INDONESIA (PERSERO) merupakan pengelola perkereta-apian di Indonesia yang memiliki visi menjadi penyedia jasa perkeretaapian terbaik yang fokus pada pelayanan pelanggan dan memenuhi harapan stakeholders. Dan misi menyelenggarakan bisnis perkeretaapian dan bisnis usaha penunjangnya, melalui praktek bisnis dan model organisasi terbaik untuk memberikan nilai tambah yang tinggi bagi stakeholders dan kelestarian lingkungan berdasarkan 4 pilar utama : keselamatan, ketepatan waktu, pelayanan dan kenyamanan. Untuk meningkatkan pelayanan PT KAI(PERSERO) memiliki sebuah website yang memuat berbagai informasi tentang kereta api, termasuk di dalamnya jadwal keberangkatan kereta api. Sampai saat ini belum ada sistem yang menangani pencarian jalur alternatif KA. Yang dimaksud jalur alternatif sebagai berikut : A
B
C
Gambar 3.1 Ilustrasi Alternatif Dari gambar 3.1 di atas terdapat kotak A, kotak B, dan kotak C sebagai stasiun. Garis panah menunjukan KA yang melewati stasiun tersebut. Jalur alternatif yaitu dengan mencari KA yang melewati jalur yang sama, pada hari yang sama juga. Pada contoh di atas jika tidak ingin naik KA merah, ada KA hitam.
16
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
17
Untuk mencari jalur alternatif, harus mememperhatikan beberapa hal. Yang pertama adalah KA apa saja yang tersedia.Yang ke dua KA berhenti di stasiun mana saja, jam tiba dan jam keberangkatan KA. Setelah mengetahui informasi tersebut kemudian menentukan KA apa yang akan dipilih, pada pukul berapa dan berganti KA di stasiun mana. 3.1.2
Gambaran Sistem Baru Sistem baru ini akan membantu pencarian jalur alternatif KA. Pengguna (user) dapat mengakses sistem baru ini untuk mencari jalur alternatif KA yang ada berdasarkan beberapa inputan. Setelah inputan dimasukkan, sistem akan langsung mencari jalur alternatif yang ada dan menampilkanya. Untuk diagram konteks
sistem baru ini ditunjukan oleh
Gambar 3.2 berikut : Aplikasi Pencarian Jalur Alternatif
User
Admin
Gambar 3.2 Diagram Konteks Dalam diagram konteks di atas menggambarkan bahwa user dan admin dapat berinteraksi dengan aplikasi. Untuk menggunakan aplikasi ini maka user harus melakukan login terlebih dahulu. Kemudian melakukan pencarian dengan memasukkan bebeberapa inputan yaitu tanggal berangkat, stasiun asal, stasiun tujuan dan jumlah kursi yang diinginkan. Setelah semua input dimasukan dan melakukan perintah pencarian dengan menekan tombol yang tersedia, maka aplikasi akan langsung melakukan proses pencarian dan menampilkan hasilnya dalam bentuk tabel. Dalam hasil pencarian juga terdapat link untuk pemesanan kursi. Untuk melakukan pemesanan kursi user
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
18
diminta untuk mengisikan data pribadi yaitu nama dan nomor KTP sebagai identitas ( id ) yang wajib diisikan. Untuk detail proses di atas dapat dilihat pada Use case. Untuk mempersiapkan sebuah kursi yang dapat dipesan maka dibutuhkan beberapa tabel diantaranya ; tabel untuk menyimpan data kereta, data stasiun, data jadwal keberangkatan, data pemesan dan data-data lain yang dibutuhkan. Skenario untuk mempersiapkan kursi yang dapat dipesan diawali dengan
sebuah
jadwal
keberangkatan
yang
ditangani
oleh
tabel
kereta_template. Tabel ini menyimpan informasi data kereta, data stasiun. Tabel ini memiliki tanggal awal berlaku dan akhir berlaku, dan akan digenerate kedalam ke dalam sebuah tabel kereta_berangkat yang menunjukan bahwa ada sebuah kereta yang akan diberangkatkan. Syaratnya adalah tanggal saat melakukan generate berada dalam rentang tanggal awal berlaku dan tanggal akhir berlaku. Setelah digenerate ke dalam tabel kereta_berangkat data dari kereta_template tadi akan mendapat tambahan tanggal_berangkat dan tanggal tiba. Kemudian data pada kereta_berangkat digenerate ke dalam tabel gerbong untuk mendapatkan nomor_gerbong berdasarkan banyaknya gerbong yang dimiliki. Kemudian data pada gerbong akan digenerate ke dalam tabel kursi. Pada tabel kursi ini ditambahkan nomor kursi dan semua stasiun yang dilewati. Pada tabel ini juga ditambahkan flag sebagai tempat untuk menandai apakah sebuah kursi dipesan atau tidak di setiap stasiunnya. Dalam tabel kursi inilah dilakukan proses pencarian jalur alternatif, jadi dapat dimunculkan kereta mana yang memiliki kursi yang masih kosong dan bisa dipesan. Ketika sebuah kursi dipesan maka akan dilakukan pengisian pada flag yang menandakan bahwa sebuah kursi sudah dipesan.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
19
3.2
Use Case
3.2.1
Use Case Diagram login <<depends
Cari Jalur Alternatif Pesan Kursi
user
Admin Lihat Order Update Data Kereta
Update Data Kereta Template
Update Data Stasiun
Update Data User
Gambar 3.3 Use Case 3.2.2
Table Use Case Tabel 3.1 Deskripsi Use Case Nama Use Case
Deskripsi Use Case
Aktor yang berpartisipasi
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
20
Login
Use case ini menggambarkan kejadian
dimana
admin
-
Admin User
-
Admin
-
Admin
-
Admin
dan
pengunjung masuk ke dalam sistem sesuai dengan akunnya sebelum
melakukan
aksi
di
dalam sistem. Update Data
Use case ini menggambarkan
Kereta
kejadian
dimana
admin
melakukan pengolahan update terhadap
data
menambah,
kereta
menghapus
seperti atau
mengubah data kereta. Update Data
Use case ini menggambarkan
Kereta
kejadian
Template
melakukan pengolahan update
dimana
admin
terhadap data kereta template seperti atau
menambah,menghapus mengubah
data
kereta
template. Update Data
Use case ini menggambarkan
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
21
Stasiun
kejadian
dimana
admin
melakukan pengolahan update data Stasiun, seperti menambah, menghapus, atau mengubah data Stasiun. Update Data
Use case ini menggambarkan
User
kejadian
dimana
-
Admin
-
Admin User
-
Admin User
admin
melakukan pengolahan update data user seperti menambah, mengubah, dan menghapus data user . Cari Jalur
Use case ini menggambarkan
Alternatif
kejadian dimana admin dan user melakukan
pencarian
jalur
alternative dari jalur KA yang tersedia. Pesan Kursi
Use case ini menggambarkan kejadian dimana admin dan user melakukan pemesanan kursi KA.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
22
Lihat Order
Use case ini menggambarkan
-
Admin
kejadian dimana Admin dan User melakukan pemeriksaan terhadap data pesan.
PLAGIAT MERUPAKAN MERUPAKAN TINDAKAN TINDAKAN TIDAK TIDAK TERPUJI TERPUJI PLAGIAT 23
3.2.3
Diagram Berjenjang
Aplikasi Pencarian Jalur Alternatif Kereta Api
1 Login
2 Update Data Kereta
3 Update Data Kereta Template
4 Update Stasiun
5 Update User
(Top Level)
6 Cari Jalur Alternatif
7 Lihat Order
8 Otomatisasi Basis Data
(Level 0) 2.1 Insert Data Kereta
3.1 Insert Data Kereta Template
2.2 Update Data Kereta
3.2 Update Data Kereta Template
2.3 Delete Data Kereta
3.3 Delete Data Kereta Template
4.1 Insert Data Stasiun
4.2 Update Data Stasiun
4.3 Delete Data Stasiun
8.1 Insert Data Kereta_bera ngkat, Gebong,Kur si
6.1 Pesan Kursi
6.1 Insert Data User
6.2 Update Data User
6.3 Delete Data User
(Level 1)
Gambar 3.4 Diagram Berjenjang
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
24
3.3
Data Flow Diagram (DFD)
3.3.1
DFD Level 0 Username, Password
1 Login
Username, Password
USER Data KERETA (NOMOR_KERETA, dll)
Data KERETA
2 Update Data Kereta
Data KERETA TEMPLATE
KERETA Data KERETA TEMPLATE (NOMOR_KERETA, NAMA_KERETA ,dll)
3 Update Data Kereta Template
KERETA TEMPLATE
Data STASIUN ( NOMOR_STASIUN, NAMA_STASIUN )
Data STASIUN
4 Update Data Stasiun
Admin
Data USER
5
STASIUN
Data User (ID_Anggota, Nama, password )
USER
Update Data User Tanggal Berangkat, Stasiun Asal, Stasiun Tujuan
6
Data KURSI (TGL_B, NOMOR_KERETA, NAMA_KERETA , dll )
KURSI
Cari Jalur Alternatif
Data PESAN
7 Pesan Tiket
Data order
8
Data PESAN ( ID, NAMA)
KURSI Data PESAN (NOMOR_BERANGKAT, STASIUN, dll )
Lihat Order
PESAN KURSI
Gambar 3.5 DFD Level 0 Admin
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
25
Data User
1 Login
Data Kursi
7
User
Data User (Password, nama) Data KURSI (TGL, NOMOR_KERETA,STAS_ ASAL, STAS_TUJUAN, dll )
User
KURSI
Cari Jalur Alternatif
Gambar 3.6 DFD Level 0 User
Data KERETA BERANGKAT
SISTEM
9 Copy Tabel KERETA_TEMPLATE 9 GenerateTabel_KE RETA_BERANGKAT
Data KERETA BERANGKAT
9
Data KERETA_TEMPLATE(TGL_ B, NO_KERETA, STAS_ASAL, STAS_TUJUAN, dll ) Data KERETA_BERANGKAT(TG L_B, NO_KER, STAS_ASAL, STAS_TUJUAN, dll )
KERETA_BERANGKAT Data GERBONG(TGL_B, NOMOR_KERETA, STAS_ASAL, STAS_TUJUAN, dll )
Generate Tabel GERBONG
9
KERETA_TEMPLATE
GERBONG
Data KURSI (TGL_B, NOMOR_KERETA,STAS_ ASAL, dll )
Generate Tabel KURSI
KURSI
Gambar 3.7 DFD Level 0 Sistem
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
26
3.3.2
DFD LEVEL 1
3.3.2.1 DFD Level 1 Login Data login
1.1 Input Data Username, password Admin, User
Status True
Pesan Error
Status False
1.2 Username, password
USER
Verifikasi Data User Status User
Status True
Gambar 3.8 DFD Level 1 Login
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
27
3.3.2.2 DFD Level 1 Update Data Kereta
2.1
NO_KER, NAMA_KER, TGL _AWAL_BERLAKU, TGL_AKHIR_BERLAKU
KERETA
Tampil Data KERETA NO_KER, NAMA_KER, TGL _AWAL_BERLAKU, TGL_AKHIR_BERLAKU, JML_KURSI, JML_GERBONG
Admin
Pesan Error
Pesan Sukses
Status False
2.2 Update Data KERETA
Status update
Status True
Gambar 3.9 DFD Level 1 Update Data Kereta
3.3.2.3 DFD Level 1 Update Data Kereta_Template
3.1 Tampil Data KERETA TEMPLATE
NO_KER, NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN KERETA_TEMPLATE
Admin
Pesan Error
Pesan Sukses
Status False
3.2 Update Data KERETA TEMPLATE
NO_KER, NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN
Status update
Status True
Gambar 3.10 DFD Level 1 Update data Kereta Template
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
28
3.3.2.4 DFD Level 1 Update Data Stasiun 4.1
NO_STASIUN, NAMA STASIUN
STASIUN
Tampil Data STASIUN
Admin
Pesan Error
Pesan Sukses
Status False
4.2 Update Data STASIUN
NO_STASIUN, NAMA_STASIUN
Status update
Status True
Gambar 3.11 DFD Level 1 Update Data Stasiun
3.3.2.5 DFD Level 1 Cari Jalur Alternatif
7.1 Data Kursi
Admin, User
NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN
KURSI
Tampil Jalur Alternatif
NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN
7.2 Pesan
NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN
Status Search
Gambar 3.12 DFD Level 1 Cari Jalur Alternatif
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
29
3.3.2.6 DFD Level 1 Lihat Order
Data Pesan
Admin
7.1
NAMA_PEMESAN,NO_KURSI, NAMA_KER, STASIUN_ASAL, STASIUN_TUJUAN,TGL_BERAN GKAT.
PESAN
Tampil Order
Gambar 3.13 DFD Level 1 Lihat Order
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
30
3.4
Perancangan Database
3.4.1
E-R Diagram FLAG
ID
PESAN
1
n
Has
KURSI n
NAMA
NOMOR_KURSI
Has USER_NAME
HAK_AKSES
1 GERBONG
PASSWORD NAMA
ID_ANGGOTA
PENGGUNA
n
NOMOR_GERBONG
Has
TGL_AKHIR_BERLAKU
JAM_BERANGKAT JAM_TIBA
TGL_AWAL_BERLAKU
KERETA TEMPLATE
1
n
1 n
Has
KERETA_BERANGKAT
n JML_KURSI
TANGGAL_TIBA
NOMOR_TEMPLATE
JML_GERBON
Has Has
1
JAM_TIBA
TANGGAL_BERANGKAT JAM_BERANGKAT
NAM_KERETA
n
KERETA
STASIUN NOMOR_KERETA NOMOR_STASIUN
Has NAMA_STASIUN
Gambar 3.14 E-R Diagram
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
31
3.4.2
Desain Logikal Basisdata kereta_template
kereta
PK nomor_template
PK nomor_kereta
nomor_kereta
nama_kereta
tanggal_awal_berlaku
arah
tanggal_akhir_berlaku jam_berangkat
jam_tiba
nomor_template
PK nomor_stasiun
jumlah_gerbong
nomor_stasiun
jumlah_kursi_tiap_gerbong
Jam_berangkat
jam_tiba
has_stasiun
stasiun nama_stasiun
kereta_berangkat PK nomor_berangkat PK tanggal_berangkat
tanggal_tiba
gerbong
pengguna
PK nomor_berangkat
PK id_anggota
PK tanggal_berangkat
nama
PK nomor_gerbong
user_name
password
hak_akses
tanggal_tiba
kursi
pesan
PK nomor_berangkat
PK id
PK tanggal_berangkat
nama
PK nomor_gerbong PK nomor_kursi PK stasiun
flag
tanggal_berangkat
Gambar 3.15 Desain Logikal Basisdata
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
32
3.4.3
Desain Fisikal Basisdata
3.4.3.1 Tabel Kereta Tabel ini untuk menyimpan data kereta. Tabel 3.2 Penjelasan tabel kereta Nama field Primary key
Tipe data
Panjang data
nomor_kereta number nama_kereta
varchar
100
arah
3.4.3.2 Tabel Stasiun Tabel ini untuk menyimpan data stasiun. Tabel 3.3 Penjelasan tabel stasiun Primary key
Nama field
Tipe data
nomor_stasiun
number
nama_stasiun
varchar
Panjang data
100
jam_berangkat timestamp jam_tiba
timestamp
3.4.3.3 Tabel Kereta_Template Tabel ini untuk menyimpan data kereta_template. Tabel 3.4 Penjelasan tabel kereta_template Primary key
Nama field
Tipe data
nomor_template
number
nomor_kereta
number
tanggal_awal_berlaku
number
tanggal_akhir berlaku
number
jam_berangkat
timestamp
jam_tiba
timestamp
jumlah_gerbong
number
Panjang data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
33
jumlah_kursi_tiap_gerbong number
3.4.3.4 Tabel Kereta_Berangkat Tabel ini untuk menyimpan data kereta berangkat. Tabel 3.5 Penjelasan tabel kereta_berangkat Nama field
Tipe data
Primary key
nomor_berangkat
number
Primary key
tanggal_berangkat
number
tanggal_tiba
number
Panjang data
3.4.3.5 Tabel Gerbong Tabel ini untuk menyimpan data gerbong tiap kereta berangkat. Tabel 3.6 Penjelasan tabel gerbong Nama field
Tipe data
Primary key
nomor_berangkat
number
Primary key
tanggal_berangkat
number
Primary key
nomor_gerbong
number
tanggal_tiba
number
Panjang data
3.4.3.6 Tabel Kursi Tabel ini untuk menyimpan data kursi tiap kereta berangkat. Tabel 3.7 Penjelasan tabel kursi Nama field
Tipe data
Primary key
nomor_berangkat
number
Primary key
tanggal_berangkat
number
Primary key
nomor_gerbong
number
Primary key
nomor_kursi
number
Primary key
Stasiun
number
Flag
number
tanggal_tiba
number
Panjang data
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
34
3.4.3.7 Tabel Pengguna Tabel ini untuk menyimpan data pengguna. Tabel 3.8 Penjelasan tabel pengguna Primary key
Nama field
Tipe data
Id_anggota
number
Nama user_name Password hak_akses
Panjang data
Varchar
100
Varchar
100
Varchar
8
Varchar
15
3.4.3.8 Tabel Pesan Tabel ini untuk menyimpan data kursi tiap kereta berangkat. Tabel 3.9 Penjelasan tabel pesan Primary key
Nama field
Tipe data
id
number
nama
varchar
Panjang data
100
3.4.3.9 Tabel has_stasiun Tabel ini untuk menyimpan data stasiun tiap kereta_template Tabel 3.10 Penjelasan tabel has_stasiun Nama field Primary key
Tipe data
Panjang data
nomor_template number nomor_stasiun
number
jam_berangkat
timestamp
jam_tiba
timestamp
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
35
3.5
Desain Antar Muka
3.5.1
Desain Halaman Home Admin Desain antar muka untuk halaman awal adalah seperti Gambar 3.17 berikut Home
Update
Lihat Order Login
‐Tanggal ‐ ‐Stasiun ‐Asal‐ ‐Stasiun Tujuan‐ ‐Jumlah Kursi‐ Cari
Gambar 3.16 Desain Halaman Home 3.5.2
Desain Halaman Login Desain antar muka untuk halaman login ditampilkan pada Gambar 3.18
berikut
Login
‐User Name‐ ‐Password ‐ Login
Gambar 3.17 Desain Halaman Login
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
36
3.5.3
Desain Halaman Hasil Pencarian Desain antar muka Hasil Pencarian ditampilkan pada Gambar 3.19 berikut; Home
Update
Lihat Order Logout
Nomor
Nama Kereta
Pesan
‐Tanggal ‐
1 Kereta1
pesan
2 Kereta1
pesan
‐Stasiun ‐Asal‐ ‐Stasiun Tujuan‐ ‐Jumlah Kursi‐ Cari
Gambar 3.18 Desain Halaman Hasil Pencarian 3.5.4
Desain Halaman Update Desain antar muka Halaman Update ditampilkan dalam Gambar 3.20 berikut; Home
Update
Lihat Order Logout
NomorKereta Nama Kereta
Ubah
Hapus
1 Kereta1 ubah hapus 2 Kereta2 ubah hapus
Update Kereta Update Stasiun Update Data User Update Harga
3 Kereta 3 ubah hapus
Gambar 3.19 Desain Halaman Update
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
37
3.5.5
Desain Form Pesan Desain antar muka untuk
Pesan ditunjukan dalam Gambar 3.21
berikut :
Kereta1 Stasiun asal‐stasiun tujuan Tanggal berangkat‐tanggal tiba Nomor KTP
Pesan
Batal
Gambar 3.20 Pesan
3.5.6
Desain Halaman Home User Desain antar muka Halaman Update ditampilkan dalam Gambar 3.22 berikut; Home
Pesan
Gambar 3.18 Desain Halaman Update Login
‐Tanggal ‐ ‐Stasiun ‐Asal‐ ‐Stasiun Tujuan‐ ‐Jumlah Kursi‐ Cari
Gambar 3.21 Halaman Home Admin
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
38
3.5.7
Desain Halaman Hasil Pencarian User Desain antar muka Hasil Pencarian ditampilkan pada Gambar 3.23 berikut; Pesan
Home
Logout
Nomor
Nama Kereta
Pesan
1 Kereta1
pesan
2 Kereta1
pesan
‐Tanggal ‐ ‐Stasiun ‐Asal‐ ‐Stasiun Tujuan‐ ‐Jumlah Kursi‐ Cari
Gambar 3.22 Halaman Hasil Pencarian User 3.5.8
Desain Halaman Pesan User Desain antar muka halaman pesan user ditampilkan pada Gambar 2.24 berikut :
Kereta1 Stasiun asal‐stasiun tujuan Tanggal berangkat‐tanggal tiba Nomor KTP
Pesan
Batal
Gambar 3.23 Halaman Pesan User
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
BAB IV IMPLEMENTASI DAN ANALISIS HASIL
4.1 4.1.1
Antar Muka Pengguna Sistem Halaman Login dan Logout Berikut adalah tampilan hasil implementasi rancangan untuk proses login, ditunjukan pada Gambar 4.1 berikut ;
Gambar 4.1 Login Dibawah ini adalah potongan listing untuk koneksi ke database , disajikan dalam listing 4.1 berikut : Listing 4.1 DatabaseConnection public class DatabaseConnection { String url = "jdbc:oracle:thin:@localhost:1521:XE"; String user = "skripsi"; String password = "skripsi"; ResultSet rs ;
39
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
40
public Statement st; Connection conn; public DatabaseConnection() { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException ex) { Logger.getLogger(DatabaseConnection.class.getName()).log(Level.SEVERE, null, ex); } try { conn = (Connection) DriverManager.getConnection(url, user, password); System.out.println("Your Connection Ready....^.^ \n"); st = conn.createStatement(); } catch (SQLException ex) { Logger.getLogger(DatabaseConnection.class.getName()).log(Level.SEVERE, null, ex); } } public Statement getSt(){ return st; } public int updateData(String sql) throws SQLException{ int i=0; i=st.executeUpdate(sql); return i;
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
41
} public void closeConnection() throws SQLException{ if(conn!=null){ conn.close(); System.out.println("Connection was close"); } } public Connection openConnection() throws SQLException{ conn= DriverManager.getConnection(url, user, password); return conn; } public ResultSet lihatData(String sql) throws SQLException{ ResultSet rset=null; rset=st.executeQuery(sql); return rset; }
Pada listing 4.1 diatas merupakan koneksi ke database, dengan user skripsi dan password skripsi. Untuk port yang dipakai adalah 1521. Gambar 4.1 merupakan tampilan untuk proses login. Untuk dapat mengakses sistem sampai ke tahap pemesanan maka user harus melakukan proses login terlebih dahulu. User diminta untuk memasukkan username dan password ,maka sistem akan melakukan pengecekan apakah username dan password yang dimasukkan valid atau tidak. Jika tidak, maka user diminta untuk mengulang proses login, dan menampilkan pesan “login GAGAL Silahkan Diulangi”, seperti pada gambar 4.2 di bawah :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
42
Gambar 4.2 Login Gagal Tetapi jika valid maka user akan mendapatkan tampilan halaman Home sesuai dengan hak akses yang dimiliki. Berikut adalah potongan listing program untuk proses login, disajikan dalam listing 4.2 berikut : Listing 4.2 ServletLoginController.jsp HttpSession session = request.getSession(true); session.setMaxInactiveInterval(‐1); response.setContentType("text/html;charset=UTF‐8"); PrintWriter out = response.getWriter(); String send = request.getParameter("send"); else if (send.equals("login")) { try { String user_Name = request.getParameter("username"); String password = request.getParameter("password"); Login_Aksi log = new Login_Aksi(); String level = log.getLevel(user_Name, password); boolean hasil = log.login(user_Name, password); if (hasil = true) { if (level.equals("admin")) {
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
43
session.setAttribute("admin", "administratornya"); RequestDispatcher rd = request.getRequestDispatcher("./Admin_Home.jsp"); rd.forward(request, response); } else if (level.equals("user")) { session.setAttribute("user", "usernya"); RequestDispatcher rd = request.getRequestDispatcher("./User_Home.jsp"); rd.forward(request, response); } else { System.out.println("Login salah"); response.sendRedirect("index.jsp?error=yes"); } } else { System.out.println("salah"); response.sendRedirect("index.jsp?error=yes"); }
Penjelasan Listing 4.2 Proses penerimaan variabel yang dimasukkan user dalam halaman login, terjadi pada baris berikut : String user_Name = request.getParameter("username");
String password = request.getParameter("password");
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
44
Untuk
penanganan
mengenai
login
selanjutnya
menggunakan
class
Login_Aksi, ditunjukan pada baris berikut : Login_Aksi log = new Login_Aksi();
Untuk pengecekan user dan mendapatkan hak akses menggunakan method getLevel, dan method login. Terjadi pada baris berikut : String level = log.getLevel(user_Name, password);
boolean hasil = log.login(user_Name, password);
Jika hasil pengecekan valid maka kemudian akan ditampilkan halaman yang sesuai dengan hak akses yang dimiliki, sebagai admin atau user biasa. Proses ini ditunjukan pada baris berikut : if (hasil = true) {
if (level.equals("admin")) {
session.setAttribute("admin", level); RequestDispatcher rd = request.getRequestDispatcher("./Admin_Home.jsp"); rd.forward(request, response); } else if (level.equals("user")) { session.setAttribute("user", level); RequestDispatcher rd = request.getRequestDispatcher("./User_Home.jsp"); rd.forward(request, response);
}
Jika pada proses di atas data tidak ditemukan, maka terjadi kesalahan dan proses login harus diulang. Proses ini terjadi pada baris berikut :
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
45
} else {
response.sendRedirect("index.jsp?error=yes")
4.1.2
Halaman Home Admin
Gambar 4.3 Halaman Home Admin
Gambar 4.3 merupakan halaman tampilan awal ketika proses login berhasil dan hak akses yang dimiliki adalah sebagai admin.Pada halaman ini terdapat beberapa menu yaitu menu Home, Pesan Kursi, Update, Lihat Order dan Menu Sisa Kursi. Pada halaman ini juga ditampilkan form Cari Jalur dengan 4 inputan, yaitu ; Tanggal Berangkat, Stasiun asal, Stasiun tujuan dan Jumlah Kursi. Form ini mendukung admin untuk bisa melakukan pencarian jalur alternatif. Untuk melakukan pencarian, admin diminta untuk memasukan inputan Tanggal Berangkat, Stasiun asal, Stasiun tujuan dan Jumlah Kursi yang tersedia. Kemudian menekan tombol cari. Secara otomatis sistem akan melakukan pencarian. Pada halaman ini juga terdapat tombol untuk melakukan logout, yang terdapat di sebelah kanan atas. Ketika admin ingin keluar dari aplikasi tinggal menekan tombol logout.
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
46
4.1.3
Halaman Hasil Pencarian
Gambar 4.4 Halaman Hasil Pencarian Gambar 4.4 menunjukan halaman hasil pencarian jalur kereta. Halaman ini akan muncul setelah user memasukan semua inputan yaitu ; Tanggal Berangkat, Stasiun asal, Stasiun tujuan dan Jumlah Kursi dan menekan
tombol
cari.
Halaman
ini
juga
mnampilkan
informasi
keberangkanya pada hari Jumat, 3 Januari 2012 dengan tujuan yaitu GAMBIR-YOGYAKARTA untuk 1 kursi. Sebelah kanan dari tabel hasil pencarian ini terdapat form Cari Jalur, jika ingin melakukan pencarian lagi tinggal melakukan langkah yang sama seperti pada halaman Home. Listing 4.3 di bawah merupakan potongan program untuk melakukan pencarian jalur.
Listing 4.3 Tampil_Jalur.jsp java.sql.ResultSet result = Aksi.Cari_Aksi.Cari2(tanggal, asal, tujuan, jumlah); out.println("BERANGKAT : " + tgl + " _ _ _ "); out.println("TUJUAN : " + stasiunA + "‐" + stasiunB + "_ _ _ KURSI : " +
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
47
jumlah); while (result.next()) { out.println("
"); out.println(" | "); out.println("" + result.getString("nomor_kereta") + " | "); out.println("" + result.getString("nama_kereta") + " | "); %> | <% out.print(""); %> | <% out.println("
"); }
Penjelasan Listing 4.3
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
48
Untuk melakukan pencarian dilakukan dengan memanggil kelas method Cari2, pada kelas Cari Aksi, yang ditunjukan pada baris berikut : java.sql.ResultSet result = Aksi.Cari_Aksi.Cari2(tanggal, asal, tujuan, jumlah);
Method Cari2 mendapatkan empat input yaitu; tanggal, asal, tujuan, dan jumlah. Listing 4.4 berikut merupakan potongan program method Cari2 : Listing 4.4 Method Cari2 public static ResultSet Cari2(String tgl, String stasiunA, String stasiunB, String jumlah) throws SQLException { DatabaseConnection connection = new DatabaseConnection(); ResultSet rs = null; String sql = "select k1.nomor_kereta, k1.nama_kereta, k2.nomor_template from kereta k1,(select t2.nomor_kereta,t2.nomor_template from kereta_template t2,(select nomor_berangkat as kereta from kursi_temp where tanggal_berangkat='" + tgl + "' and stasiun<='" + stasiunA + "' and stasiun='" + stasiunB + "'and flag is null group by nomor_berangkat having count(nomor_kursi)>='"+jumlah+"')t1 where t2.NOMOR_TEMPLATE=t1.kereta order by nomor_kereta)k2 where k1.NOMOR_KERETA=k2.nomor_kereta and k1.arah=1"; rs = (ResultSet) connection.lihatData(sql); return rs; }
Penjelasan Listing 4.4
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
49
Method Cari2 pada listing 4.4 di atas menunjukan bahwa method ini bertipe ResultSet dan memiliki 4 input bertipe String , ditunjukan pada baris berikut : public static ResultSet Cari2(String tgl, String stasiunA, String stasiunB, String jumlah)
Pada baris program berikut menunjukan method Cari2 melakukan koneksi ke database. DatabaseConnection connection = new DatabaseConnection();
Untuk mendapatkan data yang dicari digunakan perintah perintah query yang ditunjukan pada baris berikut : String sql = "select k1.nomor_kereta, k1.nama_kereta, k2.nomor_template from kereta k1,(select t2.nomor_kereta,t2.nomor_template from kereta_template t2,(select nomor_berangkat as kereta from kursi_temp where tanggal_berangkat='" + tgl + "' and stasiun<='" + stasiunA + "' and stasiun='" + stasiunB + "'and flag is null group by nomor_berangkat having count(nomor_kursi)>='"+jumlah+"')t1 where t2.NOMOR_TEMPLATE=t1.kereta order by nomor_kereta)k2 where k1.NOMOR_KERETA=k2.nomor_kereta and k1.arah=1";
Perintah query ini memiliki 4 paramaeter input yaitu tgl, StasiunA, StasiunB dan jumlah .Perintah ini dimulai dengan perintah select untuk memilih atau mengambil data yang kemudian diikuti baris yang dipilih yaitu nomor_kereta, nama_kereta dan nomor_template. Sedangkan k1 dan k2 untuk menandakan bahwa data ini berasal dari tabel yang berbeda. Kemudian diikuti tabel yang dipilih dimulai dengan perintah from. Dan diakhiri dengan perintah where. Nah pada perintah where ini dimasukkan parameter inputnya.Query ini
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
50
dikirimkan ke database untuk diproses menggunakan perintah yang ditunjukan pada baris berikut; rs = (ResultSet) connection.lihatData(sql);
Untuk mengembailkan nilai menggunakan perintah berikut; return rs;
Setelah melakukan pemanggilan method Cari2 program menampilkan hasil pencarian, ditunjukan pada baris berikut ; while (result.next()) { out.println("
"); out.println(" | "); out.println("" + result.getString("nomor_kereta") + " | "); out.println("" + result.getString("nama_kereta") + " | ");
Tombol pesan pada hasil pencarian, ditampilkan pada baris program berikut ; %> | <% out.print("");%> |
<%
Gambar 4.5 Form Pesan Gambar 4.5 di atas menampilkan sebuah form pemesanan. Form ini akan muncul jika tombol pesan pada gambar 4.4 ditekan. Form ini menampilkan detail pemesanan. Sebelum form ini dikirimkan untuk melanjutkan proses pemesanan, maka pengguna harus mengisikan data pemesan yang berupa nama dan nomor identitas yang digunakan. Kemudian klik tombol pesan jika setuju untuk memesan, jika tidak maka bisa menekan tombol batal untuk kembali ke menu sebelumnya. Setelah kursi berhasil
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
52
dipesan maka akan ditampilkan pesan bahwa pemesanan telah berhasil, dengan ditunjukan pada gambar 4.6 di berikut :
Gambar 4.6 Pemesanan Berhasil. 4.1.4
Halaman Update
Gambar 4.7 Halaman Update Gambar halaman update di atas adalah halaman update data untuk admin. Halaman ini memiliki empat (5) submenu, yaitu Update Kereta, Update Stasiun, Update Template , Update User dan Insert. Semuanya
PLAGIAT PLAGIATMERUPAKAN MERUPAKANTINDAKAN TINDAKANTIDAK TIDAKTERPUJI TERPUJI
53
memiliki struktur program yang sama, yaitu melakukan query ke dalam database berdasarkan tabel yang akan diubah. Listing potongan program untuk update data stasiun ditampilkan pada listing 4.5 berikut :
Listing 4.5 Update Stasiun <% java.sql.Statement statement = connectionku.openConnection().createStatement(); %> |