SISTEM INFORMASI KERETA A P I

LAPORAN AKHIR
PRAKTIKUM PEMROGRAMAN WEB
LABORATORIUM PEMROGRAMAN LANJUT

SISTEM INFORMASI KERETA API

Disusun Oleh:
Nama/NIM : Lalu Kismara Hadi

/ 14523144

Nama/NIM : Shofwan Hanif

/ 14523150

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA
2016

ii


LAPORAN AKHIR
PRAKTIKUM PEMROGRAMAN WEB
LABORATORIUM PEMROGRAMAN LANJUT

SISTEM INFORMASI KERETA API
Asisten Pembimbing : M. Kausar Ramadhan

Disusun Oleh:
Nama/NIM : Lalu Kismara Hadi

/ 14523144

Nama/NIM : Shofwan Hanif

/ 14523150

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS ISLAM INDONESIA

2016

iii

iv

HALAMAN PERSEMBAHAN
Kami persembahkan Laporan Akhir Project Praktikum Pemrograman Web
ini kepada kedua orang tua kami yang selalu mendukung kami dan senantiasa
menyertakan kami dalam setiap doanya. Untuk rekan-rekan kami yang telah
memberi kami semangat untuk berjuang dan bertahan dalam setiap keadaan.
Untuk dosen pembimbing kami yang telah memberikan banyak ilmu bermanfaat
bagi kami yang InsyaAllah dapat kami pergunakan dengan baik suatu saat nanti,
serta kakak asisten yang telah membantu dan bersedia meluangkan waktunya
untuk berbagi ilmu dengan kami.
Terima kasih untuk semuanya. Semoga Allah SWT selalu melindungi dan
memberikan rahmat serta hidayahnya kepada semua pihak yang telah mendukung
dalam proses penyelesaian tugas Project Sistem Informasi Kereta Api ini.

v


MOTTO
“Sukses hanya bagi orang yang tetap semangat meski halangan dan rintangan di
depan mata.”
“Maka sesungguhnya bersama kesulitan itu ada kemudahan. Sesungguhnya
bersama kesuliatan itu ada kemudahan.”
(Q.S. Al-Insyirah: 5-6)
“Bermimpi tanpa mau melakukan sesuatu untuk membuat mimpi menjadi
kenyataan menggiring kita kepada kehidupan yang tidak pernah menghasilkan
buah.”

vi

KATA PENGANTAR
Assalamualaikum Wr.Wb.
Puji syukur kami panjatkan atas kehadirat Allah SWT yang telah
memberikan rahmat dan hidayah-Nya sehingga penyusunan laporan ini dapat
terselesaikan dengan baik. Sholawat serta salam senantiasa kita limpahkan kepada
junjungan kita Nabi Muhammad SAW beserta keluarganya, sahabatnya, serta
pengikutnya hingga akhir zaman.

Tujuan penulisan laporan Project Sistem Informasi Kereta Api ini adalah
sebagai syarat untuk menyelesaikan mata kuliah Praktikum Pemrograman Web.
Kami menemukan hambatan dan kesukaran dalam penyusunan laporan
project ini, maka dari itu kami menyampaikan rasa terima kasih yang sebesarbesarnya dan penghargaan yang setinggi-tingginya kepada semua pihak yang
terkait dalam penyelesaian tugas laporan ini sesuai dengan rentang waktu yang
telah diberikan. Terima kasih dan penghargaan itu diantaranya kami berikan
kepada :
1. Allah SWT yang telah memberi kami kekuatan, petunjuk, karunia, nikmat
serta hidayahnya.
2. Kedua orang tua kami yang selalu memberikan dukungan kepada kami
baik berupa moral ataupun material.
3. Dosen yang telah membimbing kami hingga kami dapat menyelesaikan
project ini.
4. Kakak-kakak asisten Laboratorium Informatika Terpadu yang telah
membimbing selama praktikum dan asistensi untuk menyelesaikan project
dan laporan ini.
5. Serta teman-teman yang tidak dapat kami sebutkan satu per satu yang
telah membagi ilmu, waktu, dan idenya kepada kami.

vii


Dan semoga Allah SWT meridhoi penyusunan laporan ini, sehingga bisa
membawa khazanah yang baru dan bermanfaat bagi kita semua.
Wassalamualaikum Wr.Wb.

Yogyakarta, 12 Juni 2016

penyusun

viii

TAKARIR
database

basis data

input

masukan


output

keluaran

programming project

proyek pemrograman

user

pengguna

screenshot

hasil tampilan

source code

kode program


flowchart

diagram alur

website

halaman situs

data flow diagram

diagram aliran data

entity relationship diagram

diagram relasi entitas

length

lebar


ix

DAFTAR ISI
HALAMAN JUDUL............................................................................................... ii
HALAMAN PENGESAHAN ................................................................................ iii
HALAMAN PERSEMBAHAN ............................................................................ iv
HALAMAN MOTTO ............................................................................................. v
KATA PENGANTAR ........................................................................................... vi
TAKARIR ........................................................................................................ vviiiii
DAFTAR ISI .......................................................................................................... ix
DAFTAR TABEL .................................................................................................. xi
DAFTAR GAMBAR ............................................................................................ xii
BAB I PENDAHULUAN ....................................................................................... 1
1.1.

Latar Belakang Masalah ........................................................................... 1

1.2.

Rumusan Masalah .................................................................................... 1


1.2.

Tujuan ....................................................................................................... 2

1.2.

Batasan Masalah ....................................................................................... 2

1.3.

Sistematika Penulisan ............................................................................... 2

BAB II METODOLOGI ......................................................................................... 4
2.1.

Analisis Kebutuhan .................................................................................. 4

2.2.


Struktur Tabel ........................................................................................... 5

BAB III PERANCANGAN .................................................................................. 19
3.1.

Entity Relathionship Diagram ............................................................... 19

3.2.

Data Flow Diagram ............................................................................... 20

3.3.

Desain Mockup ....................................................................................... 29

BAB IV HASIL DAN PEMBAHASAN .............................................................. 36
4.1.

Penjelasan dan Screenshot Program ...................................................... 36


4.2.

Kekurangan dan Kelebihan Program ..................................................... 48

4.3.

Source Code ........................................................................................... 49

BAB V PENUTUP .............................................................................................. 71
5.1.

Kesimpulan ............................................................................................. 71

5.2.

Saran ....................................................................................................... 71

x

DAFTAR PUSTAKA ........................................................................................... 72
LAMPIRAN .......................................................................................................... 73

xi

DAFTAR TABEL
Tabel 2.1 Struktur Tabel Admin............................................................................. 5
Tabel 2.2 Struktur Tabel Artikel ........................................................................... 6
Tabel 2.3 Struktur Tabel Kontak_Us ..................................................................... 8
Tabel 2.4 Struktur Tabel Kereta ............................................................................ 9
Tabel 2.5 Struktur Tabel Tujuan ......................................................................... 11
Tabel 2.6 Struktur Tabel Asal ............................................................................. 12
Tabel 2.7 Struktur Gerbong ................................................................................. 13
Tabel 2.8 Struktur Tabel Kursi ............................................................................ 14
Tabel 2.9 Struktur Tabel Pelanggan .................................................................... 16

xii

DAFTAR GAMBAR
Gambar 2.1 Tabel Admin ..................................................................................... 6
Gambar 2.2 Tabel Artikel ..................................................................................... 7
Gambar 2.3 Tabel Kontak_Us .............................................................................. 8
Gambar 2.4 Tabel Kereta .................................................................................... 11
Gambar 2.5 Tabel Tujuan ................................................................................... 12
Gambar 2.6 Tabel Asal ....................................................................................... 13
Gambar 2.7 Tabel Gerbong ................................................................................ 14
Gambar 2.8 Tabel Kursi ..................................................................................... 16
Gambar 2.9 Tabel Pelanggan .............................................................................. 18
Gambar 3.1 Entitty Relationship Diagram (ERD) ............................................. 19
Gambar 3.2 DFD Level 0 .................................................................................... 20
Gambar 3.3 DFD Level 1 .................................................................................... 21
Gambar 3.4 DFD Level 2 Manajemen Artikel ................................................... 22
Gambar 3.5 DFD Level 2 Manajemen Kereta .................................................... 23
Gambar 3.6 DFD Level 2 Manajemen Gerbong ................................................. 24
Gambar 3.7 DFD Level 2 Manajemen Kursi ...................................................... 25
Gambar 3.8 DFD Level 2 Manajemen Asal ....................................................... 26
Gambar 3.9 DFD Level 2 Manajemen Tujuan ................................................... 27
Gambar 3.10 DFD Level 2 Manajemen Kontak ................................................. 28
Gambar 3.11 Halaman Login............................................................................... 29
Gambar 3.12 Halaman Beranda Admin .............................................................. 29
Gambar 3.13 Halaman Sunting Artikel ............................................................... 30
Gambar 3.14 Halaman Ubah Data ....................................................................... 31
Gambar 3.15 Halaman Lihat Data ....................................................................... 31
Gambar 3.16 Halaman Lihat Artikel .................................................................. 32
Gambar 3.17 Halaman Pengaturan ...................................................................... 32
Gambar 3.18 Halaman Pemberitahuan Perubahan Password .............................. 33
Gambar 3.19 Halaman Utama Pengunjung ......................................................... 33

xiii

Gambar 3.20 Halaman Cari Jadwal ..................................................................... 34
Gambar 3.21 Halaman Hasil Pencarian ............................................................... 34
Gambar 3.22 Halaman Pesan............................................................................... 35
Gambar 3.23 Halaman Review Tiket .................................................................. 35
Gambar 4.1 Tampilan Home ............................................................................... 36
Gambar 4.2 Tampilan Cari Jadwal ...................................................................... 37
Gambar 4.3 Tampilan Hasil Pencarian Jadwal .................................................... 37
Gambar 4.4 Tampilan Halaman Detail ................................................................ 38
Gambar 4.5 Tampilan Cek Kursi ......................................................................... 39
Gambar 4.6 Tampilan Form Isi Data Pemesan ................................................... 39
Gambar 4.7 Tampilan Halaman Pilih Kursi ........................................................ 40
Gambar 4.8 Tampilan Review Tiket ................................................................... 41
Gambar 4.9 Tampilan Cetak / Unduh Tiket ........................................................ 42
Gambar 4.10 Tampilan Login Admin.................................................................. 42
Gambar 4.11 Tampilan Beranda Admin.............................................................. 43
Gambar 4.12 Tampilan Halaman Sunting Artikel ............................................... 43
Gambar 4.13 Tampilan Halaman Ubah Data ...................................................... 44
Gambar 4.14 Tampilan Halaman Lihat Data....................................................... 45
Gambar 4.15 Tampilan Halaman Daftar Artikel ................................................. 45
Gambar 4.16 Tampilan Halaman Pengaturan...................................................... 46
Gambar 4.17 Tampilan Pengaturan Password ..................................................... 47
Gambar 4.18 Tampilan Pengaturan Kontak ........................................................ 47

BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
Kereta Api adalah salah satu sarana transportasi yang cukup digemari di
kalangan masyarakat pada umumnya terutama, masyarakat yang tinggal di
daerah Pulau Jawa. Transportasi ini merupakan transportasi yang mampu
menampung penumpang dalam jumlah banyak. Selain itu, kereta api
beroperasi selama 24 jam penuh yang bisa digunakan oleh masyarakat untuk
berpergian.
Banyaknya minat masyarakat terhadap transportasi kereta api, membuat
para pekerja di bidang perkeretaapian perlu meningkatkan kinerjanya agar
dapat memberikan pelayanan terbaik kepada pengguna kereta api. Seiring
perkembangan teknologi yang semakin canggih, pekerja perkereta apian
dituntut untuk bisa bekerja secara efektif dan efisien.
Untuk menghadapi kondisi tersebut, perlu dibangun sebuah sistem yang
dapat dimanfaatkan dalam menunjang kegiatan operasional kereta api. Oleh
karena itu, sistem informasi kereta api adalah sarana yang akan
memudahkan, baik dari segi pekerja sebagai pengelola kereta api, maupun
dari segi masyarakat sebagai pengguna transportasi kereta api.

1.2. Rumusan Masalah
a. Bagaimana pekerja di bidang perkereta apian mengelola informasi yang
akan disajikan kepada penumpang secara cepat dan tepat?
b. Bagaimana pengguna transportasi kereta api bisa melihat informasi
jadwal keberangkatan kereta api secara mudah?

2

1.3. Tujuan
a. Membangun sistem informasi kereta api yang akan memudahkan pekerja
di
bidang perkeretaapian dalam mengelola informasi.
b. Dengan sistem informasi kereta api ini, pengguna transportasi akan
diberikan form pencarian jadwal kereta api yang memudahkan pengguna
mencari jadwal sesuai kehendaknya.

1.4. Batasan Masalah
a. Satu kereta hanya memiliki satu jenis kelas.
b. Data yang akan dimasukkan ke dalam database hanya dilakukan dengan
satu user.
c. Satu gerbong terdiri dari 10 kursi.
d. Sistem informasi ini hanya melayani pemesanan tiket kereta dengan tujuan
beberapa kota saja.

1.5. Sistematika Penulisan
Sistematika penulisan dalam penulisan laporan ini adalah sebagai berikut :

BAB I PENDAHULUAN
Membahas tentang latar belakang masalah, rumusan masalah, tujuan, batasan
masalah, serta sistematika penulisan dalam pembuatan laporan Project
Sistem Informasi Kereta Api ini.

BAB II METODOLOGI
Memuat uraian mengenai analisis kebutuhan dalam pelaksanaan Project
Sistem Informasi Kereta Api serta penjelasan mengenai struktur tabel yang
digunakan dalam Project Sistem Informasi Kereta Api.

3

BAB III PERANCANGAN
Memuat tentang perancangan – perancangan dasar dari Project Sistem
Informasi Kereta Api yang meliputi Entity Relationship Diagram (ERD) ,
Data Flow Diagram (DFD), dan Desain Mockup.

BAB IV HASIL DAN PEMBAHASAN
Memuat pembahasan serta hasil mengenai screenshot dan penjelasan tiap
halaman website, kelebihan dan kekurangan program, serta source code
program dari Project Sistem Informasi Kereta Api.

BAB V KESIMPULAN DAN SARAN
Memuat tentang kesimpulan yang dihasilkan dari keseluruhan program baik
pada tahap analisis, perancangan, serta penggunaan program. Bab ini juga
membahas tentang saran-saran yang berdasar pada keterbatasan –
keterbatasan yang dialami selama pembuatan Project Sistem Informasi
Kereta Api ini.

BAB II
METODOLOGI
2.1. Analisis Kebutuhan
Dalam analisis kebutuhan ini terdiri dari beberapa analisis, yaitu
analisis kebutuhan antarmuka, analisis perangkat lunak dan analisis
perangkat keras.

2.1.1. Analisis Kebutuhan Antarmuka
Dalam proses pembuatan project dan laporan ini di perlukan
antarmuka sebagai penghubung antara user dengan hardware. Maka
dari itu kami menggunakan antarmuka sistem operasi Windows 10
dan Ubuntu 16.04 untuk mempermudah serta memperlancar proses
pembuatan project dan laporan .

2.1.2. Analisis Kebutuhan Perangkat Lunak
Perangkat keras computer tidak akan berarti tanpa adanya
perangkat lunak , begitu pula sebaliknya. Perangkat lunak dan
perangkat keras saling membutuhkan dan saling mendukung satu
sama lain.
Perangkat

lunak

memberikan

instruksi-instruksi

kepada

perangkat keras untuk melakukan suatu tugas tertentu. Dalam
pembuatan laporan ini, kami menggunakan beberapa perangkat
lunak yaitu :
1. Pembuatan program menggunakan Sublime Text 3.
2. Penggunaan aplikasi XAMPP yang didalamnya Apache sebagai
Web Server dan MySQL yang digunakan sebagai database.
3. Penulisan laporan menggunakan Microsoft Office Word 2013
4. Perancangan Entity Relationship Diagram (ERD) dan Data Flow
Diagram (DFD) menggunakan yEd Graph Editor.

5

5. Perancangan desain Mockup dengan menggunakan aplikasi
Balsamiq 3.
6. Pengambilan Screenshot program menggunakan Shutter.

2.1.3. Analisis Kebutuhan Perangkat Keras
Untuk mendukung kinerja dari perangkat lunak maka, kami
menggunakan beberapa perangkat keras. Perangkat keras yang kami
gunakan adalah :
1. Laptop
2. Printer
3. Mouse
4. Keyboard
2.2. Struktur Tabel
2.2.1. Tabel Admin
Tabel admin adalah tabel yang digunakan sebagai tempat
penyimpanan data dari akun admin di dalam database.

Tabel 2.1 Struktur Tabel Admin
ATRIBUT DESKRIPSI

Id

username

password

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

Tidak

Tidak

Nomor id

int ,

dari admin

2 digit

Username
dari admin

Password
dari admin

varchar,
12
karakter
varchar,
13
karakter

6

Struktur tabel admin terdiri dari 3 kolom , yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan
length
2 digit. Digunakan untuk menyimpan id dari admin.
2.

Kolom username dengan tipe data varchar dengan length

sebanyak
12 karakter. Digunakan untuk menyimpan username dari admin.
3.

Kolom password dengan tipe data varchar dengan length

sebanyak
12 karakter. Digunakan untuk menyimpan password dari admin.

Kemudian di bawah ini adalah screenshot dari tabel admin yang
dibuat di dalam phpmyadmin.

Gambar 2.1 Tabel Admin

2.2.2. Tabel Artikel
Tabel artikel adalah tabel yang digunakan sebagai tempat
penyimpanan data dari artikel seperti judul artikel dan isi artikel
di dalam database.

Tabel 2.2 Struktur Tabel Artikel
ATRIBUT

Id
Judul

DESKRIPSI

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

Nomor id

int ,

dari admin

11 digit

Judul dari

Text

7

artikel
Isi dari

Isi

artikel

Text

Tidak

Tidak

Date

Tidak

Tidak

Tanggal
Tanggal

pembuatan
artikel

Struktur tabel artikel terdiri dari 4 kolom, yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan length
11 digit. Digunakan untuk menyimpan id dari admin.
2. Kolom judul dengan tipe data text dan digunakan untuk
menyimpan judul dari artikel.
3. Kolom isi dengan tipe data text dan digunakan untuk menyimpan
isi dari artikel.
4. Kolom tanggal dengan tipe data date digunakan untuk menyimpan
waktu tanggal pembuatan dari artikel.

Kemudian di bawah ini adalah screenshot dari tabel artikel yang
dibuat di dalam phpmyadmin.

Gambar 2.2 Tabel Artikel

8

2.2.3. Tabel Kontak_Us
Tabel kontak_us adalah tabel yang digunakan sebagai tempat
penyimpanan data kontak yang bisa dihubungi dari website sistem
informasi kereta api di dalam database.

Tabel 2.3 Struktur Tabel Kontak_Us
ATRIBUT DESKRIPSI
Nomor
No_telp

telepon yang

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

Varchar,
14

bisa

karakter

dihubungi
Email yang

Varchar,

bisa

400

dihubungi

karakter

email

Struktur tabel kontak_us terdiri dari 2 kolom, yaitu :
1. Kolom no_telp sebagai primary key dengan tipe data varchar
dan
length

14

karakter.

Digunakan

sebagai

tempat

untuk

penyimpanan data nomor telepon yang bisa dihubungi.
2. Kolom email dengan tipe data varchar dan length 400 karakter
yang digunakan sebagai tempat untuk penyimpanan data dari
email yang bisa dihubungi.

Kemudian di bawah ini adalah screenshot dari tabel kontak_us yang
dibuat di dalam phpmyadmin.

9

Gambar 2.3 Tabel Kontak_Us
2.2.4. Tabel Kereta
Tabel kereta adalah tabel yang digunakan sebagai tempat
penyimpanan data dari kereta seperti nama kereta, kelas, tanggal
keberangkatan, jam keberangkatan, jam tiba, tarif kereta, dan status
keberangkatan dari kereta di dalam database.

Tabel 2.4 Struktur Tabel Kereta

ATRIBUT

Id

Nama_kereta

Kelas

DESKRIPSI

TIPE
DATA

Nomor id dari

int ,

kereta

11 digit

Nama dari
kereta

Kelas dari
kereta

PRIMA
RY
KEY

FOREIGN
KEY

Ya

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

varchar,
400
karakter
varchar,
50
karakter

Tanggal
Tanggal

keberangkatan

date

dari kereta

Jam_berangkat

Jam_tiba

Jam

Varchar,

keberangkatan

5

kereta

karakter

Jam tiba

Varchar,

kerata

5

10

karakter
Tarif_dewasa

Tarif kereta

Decimal,

untuk dewasa

22,2

Tarif kereta
Tarif_anak

untuk anakanak

Status

Decimal,
22,2

Status

Varchar,

keberangkatan

200

kereta

karakter

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Struktur tabel kereta terdiri dari 9 kolom, yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan length 11
digit. Digunakan untuk menyimpan id dari kereta.
2. Kolom nama_kereta dengan tipe data varchar dan length 400
karakter.
Digunakan untuk menyimpan nama dari kereta.
3. Kolom kelas dengan tipe data varchar dan length 50 karakter.
Digunakan untuk menyimpan jenis – jenis kelas yang dimiliki oleh
kereta.
4. Kolom tanggal dengan tipe data date digunakan untuk menyimpan
tanggal keberangkatan dari kereta.
5. Kolom jam_berangkat dengan tipe data varchar dan length 5 karakter.
Digunakan untuk menyimpan waktu jam keberangkatan dari kereta.
6. Kolom jam_tiba dengan tipe data varchar dan length 5 karakter.
Digunakan untuk menyimpan waktu jam tiba dari kereta.
7. Kolom tarif_dewasa dengan tipe data decimal dan length 22,2.
Digunakan untuk menyimpan tarif kereta khusus penumpang dewasa.
8. Kolom tarif_anak dengan tipe data decimal dan length 22,2.
Digunakan untuk menyimpan tarif kereta khusus penumpang anak
anak.
9. Kolom status dengan tipe data varchar dan length 200 karakter.

11

Digunakan untuk menyimpan status keberangkatan dari kereta apakah
sudah berangkat atau belum.

Kemudian di bawah ini adalah screenshot dari tabel kereta yang
dibuat di dalam phpmyadmin.

Gambar 2.4 Tabel Kereta

2.2.5. Tabel Tujuan
Tabel tujuan adalah tabel yang digunakan sebagai tempat
penyimpanan data seperti nama tujuan di dalam database.

Tabel 2.5 Struktur Tabel Tujuan
ATRIBUT

Id

Nama_tujuan

Id_kereta

DESKRIPSI

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

Tidak

Ya

Nomor id

int ,

dari tujuan

11 digit

Nama dari
tujuan kereta

text

Id dari tabel

int,

kereta

11 digit

12

Struktur tabel tujuan terdiri dari 3 kolom , yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan
length
11 digit. Digunakan untuk menyimpan id dari tujuan.
2. Kolom nama_tujuan dengan tipe data text yang digunakan untuk
menyimpan nama tujuan kereta.
3. Kolom id_kereta sebagai foreign key dengan tipe data integer
dan
length 11 digit. Digunakan untuk menyimpan id dari tabel kereta.

Kemudian di bawah ini adalah screenshot dari tabel tujuan yang
dibuat di dalam phpmyadmin.

Gambar 2.5 Tabel Tujuan
2.2.6 Tabel Asal
Tabel asal adalah tabel yang digunakan sebagai tempat
penyimpanan data seperti nama asal di dalam database.

Tabel 2.6 Struktur Tabel Asal
ATRIBUT

Id

Nama_asal

Id_kereta

DESKRIPSI

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

Tidak

Ya

Nomor id

int ,

dari asal

11 digit

Nama dari
asal kereta

text

Id dari tabel

int,

kereta

11 digit

13

Struktur tabel tujuan terdiri dari 3 kolom , yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan
length
11 digit. Digunakan untuk menyimpan id dari asal.
2. Kolom nama_asal dengan tipe data text yang digunakan untuk
menyimpan nama asal kereta.
3. Kolom id_kereta sebagai foreign key dengan tipe data integer
dan
length 11 digit. Digunakan untuk menyimpan id dari tabel kereta.

Kemudian di bawah ini adalah screenshot dari tabel tujuan yang
dibuat di dalam phpmyadmin.

Gambar 2.6 Tabel Asal

2.2.7. Tabel Gerbong
Tabel gerbong adalah tabel yang digunakan sebagai tempat
penyimpanan data seperti posisi gerbong dari kereta di dalam
database.

Tabel 2.7 Struktur Tabel Gerbong
ATRIBUT

DESKRIPSI
Nomor id

Id

dari tabel
gerbong

Posisi_gerbong

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

Ya

Tidak

Tidak

Tidak

int ,
11 digit

Posisi dari

Varchar,

gerbong

2

14

karakter
Id_kereta

Id dari tabel

int,

kereta

11 digit

Tidak

Ya

Struktur tabel tujuan terdiri dari 3 kolom , yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan
length
11 digit. Digunakan untuk menyimpan id dari tabel gerbong.
2. Kolom posisi_gerbong dengan tipe data varchar dan length
sebanyak 2 karakter. Digunakan untuk menyimpan data posisi
gerbong dari kereta.
3. Kolom id_kereta sebagai foreign key dengan tipe data integer
dan
length 11 digit. Digunakan untuk menyimpan id dari tabel kereta.

Kemudian di bawah ini adalah screenshot dari tabel gerbong yang
dibuat di dalam phpmyadmin.

Gambar 2.7 Tabel Gerbong

2.2.8. Tabel Kursi
Tabel kursi adalah tabel yang digunakan sebagai tempat
penyimpanan data seperti posisi kursi dari kereta di dalam database.

Tabel 2.8 Struktur Tabel Kursi
ATRIBUT

DESKRIPSI

Id

Nomor id

TIPE

PRIMARY

FOREIGN

DATA

KEY

KEY

int ,

Ya

Tidak

15

dari tabel

255 digit

kursi

Posisi_kursi

Status

kd_booking

id_gerbong

id_pelanggan

Posisi dari
kursi

Status dari
kursi

Kode
booking

Varchar,
4

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Ya

Tidak

Ya

karakter
Varchar,
8
karakter
Varchar,
10
karakter

Id dari tabel

Int ,

gerbong

11 digit

Id dari tabel

Int,

pelanggan

11 digit

Struktur tabel tujuan terdiri dari 3 kolom , yaitu :
1. Kolom id sebagai primary key dengan tipe data integer dan
length
255 digit. Digunakan untuk menyimpan id dari tabel kursi.
2. Kolom posisi_kursi dengan tipe data varchar dan length
sebanyak 4 karakter. Digunakan untuk menyimpan data posisi
kursi dari kereta.
3. Kolom status dengan tipe data varchar dan length 8 karakter.
Digunakan untuk menyimpan data status dari kursi apakah masih
tersedia atau tidak.
4. Kolom kd_booking dengan tipe data varchar dan length 10
karakter. Digunakan untuk menyimpan data kode booking di
dalam database.
5. Kolom id_gerbong sebagai foreign key dengan tipe data integer
dan length 11 digit. Digunakan untuk menyimpan id dari tabel
gerbong.

16

6. Kolom id_pelanggan sebagai foreign key dengan tipe data
integer dan length 11 digit. Digunakan untuk menyimpan id dari
tabel pelanggan.

Kemudian di bawah ini adalah screenshot dari tabel kursi yang
dibuat di dalam phpmyadmin.

Gambar 2.8 Tabel Kursi

2.2.9. Tabel Pelanggan
Tabel pelanggan adalah tabel yang digunakan sebagai tempat
penyimpanan data pelanggan seperti nama pelanggan, nomor KTP
pelanggan, nomor telepon pelanggan, email, total pembayaran dan
tanggal pemesanan kereta.

Tabel 2.9 Struktur Tabel Pelanggan
ATRIBUT

DESKRIPSI
Nomor id

Id_pelanggan

dari tabel
pelanggan

No_ktp

TIPE

PRIMAR

FOREIGN

DATA

Y KEY

KEY

Ya

Tidak

Tidak

Tidak

int ,
11 digit

Nomor KTP

Varchar,

dari

25

17

pelanggan

Nama_pelanggan

No_telp

email

Total
Pembayaran

Tgl_pemesanan

Nama dari
pelanggan

karakter
Varchar,
100

Varchar,

Telepon

20

pelanggan

karakter

pelanggan
Total
pembayaran
pelanggan
Tanggal
pemesanan

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

karakter

Nomor

Email dari

Tidak

Varchar,
90
karakter
Decimal,
22,2

Date

Struktur tabel pelanggan terdiri dari 7 kolom, yaitu :
1. Kolom id_pelanggan sebagai primary key dengan tipe data integer dan
length 11 digit. Digunakan untuk menyimpan id dari tabel pelanggan.
2. Kolom no_ktp dengan tipe data varchar dan length 25 karakter
digunakan
untuk menyimpan data dari nomor KTP pelanggan.
3. Kolom nama_pelanggan dengan tipe data varchar dan length 100
karakter
digunakan untuk menyimpan nama pelanggan yang melakukan
pemesanan tiket kereta api.
4. Kolom no_telp dengan tipe data varchar dan length 20 karakter
digunakan
untuk menyimpan data nomor telepon dari pelanggan.
5. Kolom email dengan tipe data varchar dan length 90 karakter digunakan
untuk menyimpan data email dari pelanggan.

18

6. Kolom total_pembayaran dengan tipe data decimal dan length 22,2
digunakan untuk menyimpan data total pembayaran yang harus
dibayarkan oleh pelanggan.
7. Kolom tgl_pemesanan dengan tipe data date digunakan untuk
menyimpan data tanggal pemesanan yang dilakukan oleh pelanggan.

Kemudian di bawah ini adalah screenshot dari tabel pelanggan yang dibuat
di dalam phpmyadmin.

Gambar 2.9 Tabel Pelanggan

BAB III
PERANCANGAN

3.1. Entity Relathionship Diagram

Gambar 3.1 Entity Relationship Diagram (ERD)

20

3.2. Data Flow Diagram
3.2.1 DFD Level 0

Gambar 3.2 DFD Level 0.

21

3.2.2

DFD Level 1

Gambar 3.3 DFD Level 1

22

3.2.3

DFD Level 2 Manajemen Artikel

Gambar 3.4 DFD Level 2 Manajemen Artikel

23

3.2.4 DFD Level 2 Manajemen Kereta

Gambar 3.5 DFD Level 2 Manajemen Kereta.

24

3.2.5 DFD Level 2 Manajemen Gerbong

Gambar 3.6 DFD Level 2 Manajemen Gerbong.

25

3.2.6 DFD Level 2 Manajemen Kursi

Gambar 3.7 DFD Level 2 Manajemen Kursi.

26

3.2.7 DFD Level 2 Manajemen Asal

Gambar 3.8 DFD Level 2 Manajemen Asal.

27

3.2.8 DFD Level 2 Manajemen Tujuan

Gambar 3.9 DFD Level 2 Manajemen Tujuan.

28

3.2.9 DFD Level 2 Manajemen Kontak

Gambar 3.10 DFD Level 2 Manajemen Kontak.

29

3.3. Desain Mockup
3.3.1 Halaman Login.

Gambar 3.11 Halaman Login.

3.3.2 Halaman beranda Admin.

Gambar 3.12 Halaman beranda Admin.

30

3.3.3 Halaman Sunting Artikel.

Gambar 3.13 Halaman Sunting Artikel.

31

3.3.4 Halaman Ubah Data.

Gambar 3.14 Halaman Ubah Data.

3.3.5 Halaman Lihat Data.

Gambar 3.15 Halaman Lihat Data.

32

3.3.6 Halaman Lihat Artikel.

Gambar 3.16 Halaman Lihat Artikel.

3.3.7 Halaman Pengaturan.

Gambar 3.17 Halaman Pengaturan

33

3.3.8 Pemberitahuan perubahan password.

Gambar 3.18 Pemberitahuan perubahan password.

3.3.9 Halaman Utama Pegunjung.

Gambar 3.19 Halaman Utama Pengunjung.

34

3.3.10 Halaman Cari Jadwal.

Gambar 3.20 Halaman Cari Jadwal.

3.3.11 Halaman Hasil Pencarian.

Gambar 3.21 Halaman Hasil Pencarian.

35

3.3.12 Halaman Pesan.

Gambar 3.22 Halaman Pesan.

3.3.13 Halaman Review Tiket.

Gambar 3.23 Halaman Review Tiket.

BAB IV
HASIL DAN PEMBAHASAN
4.1. Penjelasan dan Screenshot Program
4.1.1 Frontend
a. Halaman home

Gambar 4.1 Tampilan home
Pada halaman home memuat isi artikel dan menu – menu
yang bisa digunakan seperti menu home , menu cari jadwal kereta
api, dan menu login admin.

37

b. Halaman menu cari jadwal kereta api

Gambar 4.2 Tampilan cari jadwal
Pada tampilan menu cari jadwal kereta api ini, tampilan yang
digunakan adalah tampilan secara pop up. Pada menu cari jadwal ini
digunakan untuk mencari jadwal kereta api berdasarkan tanggal , asal, dan
tujuan kereta.

c. Halaman hasil pencarian jadwal.

Gambar 4.3 Tampilan hasil pencarian jadwal.

38

Di halaman ini sistem menampilkan hasil pencarian jadwal yang
dilakukan oleh pelanggan sesuai kriteria yang dimasukkan. Keterangan
jadwal yang ditampilkan pada halaman ini hanya beberapa saja. Untuk
melihat keterangan jadwal kereta lebih lengkap, pelanggan diharuskan
menggunakan aksi detail.

d. Halaman Detail.

Gambar 4.4 Tampilan halaman detail.
Pada halaman detail, pengguna disuguhkan keterangan yang
lengkap dari jadwal kereta berserta tarif tiket untuk kalangan dewasa
dan kalangan anak dibawah kurang dari atau sama dengan tiga tahun.

Halaman ini juga menyediakan pengecekan kursi agar pelanggan
sebelum memesan bisa terlebih dahulu mengecek kursi yang masih
tersedia dengan cara mengarahkan cursor ke tulisan Cek Kursi.

39

Gambar 4.5 Tampilan cek kursi.
Selain itu, terdapat tombol PESAN untuk memulai langkah-langkah
pemesanan tiket.

e. Halaman Isi Data Pemesan.

Gambar 4.6 Tampilan form isi data pemesan.

40

Halaman ini muncul setelah pelanggan mengklik tombol pesan
pada halaman sebelumnya. Pada halaman ini, pelanggan atau pengguna
diharuskan memasukkan data diri yang digunakan sebagai identitas
pemilik tiket nantinya.

Di halaman ini juga terdapat menu jumlah penumpang yang terbagi
menjadi dua yaitu, dewasa dan anak. Jumlah penumpang ini digunakan
untuk membatasi jumlah kursi yang bisa di booking dan menghitung
total tarif tiket keseluruhannya.

f. Halaman Pilih Kursi.

Gambar 4.7 Tampilan halaman pilih kursi.
Halaman ini menampilkan kursi-kursi yang tersedia dari tiap
gerbong yang ada pada kereta. Kursi yang tersedia, bisa di booking oleh
pengguna dengan mengklik tombol booking sampai dengan jumlah
penumpang yang dibutuhkan.

Jika pengguna merasa ingin membatalkan pemilihan kursi dan
ingin memliki kursi yang berbeda dari sebelumnya, pengguna harus

41

mengklik tombol batal. Sedangkan kursi dengan status booked,
pengguna tidak bisa membooking kursi tersebut karena telah dibooking
oleh pengguna yang lain. Tombol lanjutkan digunakan untuk
mengarahkan pengguna ke halaman selanjutnya yaitu halaman review.

g. Halaman Review dan Cetak Tiket.

Gambar 4.8 Tampilan review tiket.
Pada halaman ini, sistem menampilkan seluruh keterangan lengkap
berupa nama hingga kode booking yang digunakan sebagai identitas
kepemilikian kursi yang telah dibooking. Sebagai alat bukti, tiket perlu
dicetak atau diunduh oleh pengguna dengan mengklik tombol cetak.

42

Gambar 4.9 Tampilan cetak/unduh tiket.
Agar tiket dapat diunduh, pengguna harus menyimpannya sebagai file
pdf. File pdf yang telah terunduh digunakan sebagai tanda bukti atas
kepemilikan tiket yang sah.

4.1.2 Backend
a. Halaman Login Admin.

Gambar 4.10 Tampilan login admin.

43

Menu login ini dapat ditemukan pada halaman utama website.
Menu login digunakan oleh Admin untuk masuk kedalam sistem
website.
b. Halaman Beranda Admin.

Gambar 4.11 Tampilan beranda admin.
Setalah admin melakukan login, admin akan diarahkan ke halaman
beranda yang berisi petunjuk penggunaan dari masing-masing navigasi
atau menu yang ada pada halaman khusus untuk admin ini.

c. Halaman Sunting Artikel.

44

Gambar 4.12 Tampilan halaman sunting artikel.
Pada halaman ini, admin dapat menambahkan artikel baru untuk
ditampilkan di halaman utama website.

d. Halaman Ubah Data.

Gambar 4.13 Tampilan halaman ubah data.
Halaman ubah data berfungsi untuk menambahkan jadwal kereta
beserta tarif untuk kalangan dewasa dan anak-anak. Jadwal yang

45

dimasukkan inilah yang akan tampil apabila pelanggan atau pengguna
website melakukan pencarian jadwal.

e. Halaman Lihat Data.

Gambar 4.14 Tampilan halaman lihat data.
Di halaman ini ditampilkan seluruh jadwal kereta yang telah
ditambahkan oleh admin. Ada beberapa aksi yang dapat dilakukan oleh
admin pada halaman ini seperti mengubah status kereta menjadi
berangkat dengan mengklik status kereta yang ada pada kolom status.
Dan menghapus jadwal kereta dengan mengklik aksi hapus.

46

f. Halaman Daftar Artikel.

Gambar 4.15 Tampilan halaman daftar artikel.
Sedangkan halaman daftar artikel berfungsi untuk menampilkan
seluruh judul artikel yang telah ditambahkan sebelumnya oleh admin.
Pada halaman ini terdapat tiga aksi yaitu edit, lihat artikel, hapus. Aksi
edit berfungsi untuk mengubah atau memperbaharui artikel yang ada
sebelumnya. Aksi lihat artikel berfungsi untuk melihat isi artikel secara
keseluruhan di halaman utama website. Dan aksi hapus berfungsi untuk
menghapus artikel yang ada dari sistem.

47

g. Halaman Pengaturan.

Gambar 4.16 Tampilan halaman pengaturan.
Halaman pengaturan merupakan halaman yang menyediakan
fasilitas pengubahan kata sandi dan kontak admin. Terdapat dua tombol
yang dapat digunakan yakni ubah sandi dan ubah kontak.

48

Gambar 4.17 Tampilan pengaturan password.
Untuk mengubah sandi, admin harus memasukkan kata sandi yang
lama dan diikuti dengan memasukkan kata sandi yang baru, kemudian
memasukkan kata sandi yang baru lagi untuk memverifikasi. Dengan
mengklik tombol simpan, kata sandi akan disimpan ke sistem. Tombol
pilihan pengaturan berfungsi untuk menampilkan kembali tombol ubah
sandi dan ubah kontak.

Gambar 4.18 Tampilan pengaturan kontak.

49

Untuk menu kontak, admin hanya perlu memasukkan nomer telpon
dan email atau memasukkan salah satu diantaranya bila ingin mengubah
nomer telpon atau email saja.

4.2. Kelebihan dan Kekurangan Program
4.2.1. Kelebihan

:

1. Bisa mencatat jadwal kereta api.
2. Bisa

menyimpan

artikel

yang

di

buat

oleh

admin

dan

menampilkannya pada halaman utama Transys.
3. Pelanggan dapat memesan tiket di website Transys.
4. Tiket dapat diunduh sebagai tanda bukti telah memesan tiket.
4.2.2. Kekurangan

:

1. Admin tidak bisa mengganti username yang digunakan untuk login
ke dalam website Transys.
2. Admin tidak bisa menambahkan gambar ke dalam artikel, hanya
berupa teks saja.
3. Admin tidak bisa melihat tarif dewasa dan tarif untuk anak pada
halaman lihat data yang telah dimasukkan sebelumnya pada halaman
ubah data kecuali, melalui database.
4. Pelanggan tidak bisa mendaftar ke Transys, hanya bisa mencari
jadwal dan memesan tiket.
5. Pelanggan yang memesan tiket untuk lebih dari 1 orang, data
pelanggan yang dimasukkan hanya berupa data diri pelanggan yang
memesan saja, tidak dengan data diri pelanggan yang dipesankan.
Oleh karena itu, pelanggan yang memesankan tadi merupakan
sebagai penanggung jawab tiket yang dibeli.
6. Dikarenakan kode booking menggunakan php random, terkadang
pelanggan mendapatkan kode booking yang sama dengan pelanggan
lainnya. Oleh Karena itu, pelanggan diharuskan mengisi ulang
kembali data diri sebelum melanjutkan ke pilih kursi.

50

4.3. Source Code
File index.php



Home Transys















Home
Cari Jadwal Kereta
Api
Login Admin


51














Cari Jadwal


Tanggal
(tanggal-bulan-tahun)<
br>



Copyright © 2016 by 14523144 dan 14523150
Transys : Sistem Informasi
Kereta Api



echo "$i";
}
echo "-";
echo "";
for($i=2016;$i
Asal

Yogyakarta - Stasiun Tugu
Bandung - Stasiun Hall
Semarang - Stasiun Semarang
Tawang
Malang - Stasiun Malang
Kotabaru
Surabaya - Stasiun Semut

Tujuan

Yogyakarta - Stasiun Tugu
Bandung - Stasiun Hall
Semarang - Stasiun Semarang
Tawang
Malang - Stasiun Malang
Kotabaru
Surabaya - Stasiun Semut

54


Cari



close

Login to TranSys





Login