Kata Pengantar

Assalaamu'alaykum warrahmatullahi wabarakaatuh, selamat datang!

Sistem online berbasis web saat ini menjadi tujuan utama para pengembang software untuk memudahkan dan mempercepat proses bisnis antara perusahaan dan konsumennya. Sistem online bisa diterapkan pada hampir semua proses bisnis misalkan penjualan, pembelian, bursa efek (trading), transaksi perbankan, dan sebagainya.

Sistem pemesanan tiket kereta api online kami pilih sebagai objek untuk dianalisa serta diimplementasikan. Dalam laporan akan dibahas secara detil mulai dari penjelasan sistem yang berisikan deskripsi, tujuan, batasan sistem dan definisi pengguna, selanjutnya analisis sistem, desain sistem, detil desain dan implementasi yang berisikan user interface beserta coding program sistem pemesanan tiket kereta api online.

Sistem pemesanan tiket kereta api online mempunyai menu khusus untuk pemesan atau customer antara lain menu halaman utama yang menampilkan jadwal perjalanan kereta api, halaman pencarian jadwal perjalanan, halaman pemesanan tiket kereta api, kemudian dilanjutkan ke halaman pembayaran menggunakan kartu kredit, selain itu ada menu untuk melakukan perubahan dan pembatalan pemesanan tiket yang bisa dilakukan sebelum atau sesudah melakukan pembayaran dengan syarat yang berlaku. Hasil dari pemesanan tiket berupa tiket elektronik yang bisa langsung di cetak dan di kirim ke email pemesan tiket.

Agar mudah menelusuri dokumentasi dari sistem ini, maka kami buat susunan sebagai berikut:

Bab 1 Penjelasan Sistem

Berisi definisi dari deskripsi, tujuan, batasan dan pengguna sistem

Bab 2 Analisis Sistem
Bagian (1) berisi desain use case diagram dan use case specifications

Bagian (2) berisi desain sequence diagram, collaboration diagram dan analysis class


Bab 3 Desain Sistem

Berisi CRC, VOPC dan design class


Bab 4 Detil Desain dan Implementasi Sistem
Berisi package diagram, layer diagram, component diagram dan deployment diagram

Semoga bermanfaat,
wassalaamu'alaykum warrahmatullahi wabarakaatuh

Bab IV Detil Desain dan Implementasi Sistem











A. Package Diagram

B. Layer Diagram

C. Component Diagram

D. Deployment Diagram

Bab III Desain Sistem

A. Class Responsibility Collaboration (CRC) Card



Boundary Objects:
a. Class MainForm

MainForm

Deskripsi: Class untuk melihat jadwal perjalanan kereta api sesuai rute yang dipilih

Responsibilities:

Menampilkan pilihan rute perjalanan

Menampilkan pilihan kelas kereta

Membaca pilihan rute dan kereta dari customer

Mengirim request jadwal perjalanan

Collaborators:

Routes

Trains

b. Class SearchForm

SearchForm

Deskripsi: Class untuk mencari jadwal perjalanan kereta api sesuai pilihan customer

Responsibilities:

Membaca pilihan rute dari customer

Membaca pilihan kelas dari customer

Mengirim request jadwal perjalanan

Menampilkan detil jadwal perjalanan pilihan customer

Collaborators:

Routes

Trains

c. Class ReservationForm

ReservationForm

Deskripsi: Class untuk menampilkan control inputan pemesanan

Responsibilities:

Menampilkan control pemesanan

Menampilkan pilihan stasiun

Menampilkan pilihan detil kereta

Membaca pilihan dan masukan dari customer

Mengirim pilihan customer untuk diproses sebagai transaksi pemesanan

Collaborators:

Routes

Trains

GetRoutes

GetTrains

Reservations

d. Class PaymentForm

PaymentForm

Deskripsi: Class untuk menampilkan control inputan pembayaran pesanan

Responsibilities:

Membaca masukan ReservationID

Menampilkan detil pesanan customer

Membaca masukan informasi kartu kredit dari customer

Menampilkan detil informasi pembayaran pesanan customer

Collaborators:

Reservations

Payments

e. Class CancellationForm

CancellationForm

Deskripsi: Class untuk menampilkan control inputan pembatalan pesanan

Responsibilities:

Membaca masukan ReservationID

Menampilkan status dan detil pesanan customer

Menampilkan detil pengembalian pembayaran pesanan customer

Collaborators:

Reservations

Payments

f. Class PreviewForm

PreviewForm

Deskripsi: Class untuk menampilkan summary pesanan customer

Responsibilities:

Menampilkan detil pesanan customer

Menampilkan control button untuk melanjutkan ke transaksi pembayaran

Collaborators:

Reservations

g. Class ViewConfirmationForm

ViewConfirmationForm

Deskripsi: Class untuk menampilkan detil pesanan dan pembayaran customer

Responsibilities:

Menampilkan detil pesanan customer

Menampilkan detil pembayaran customer

Menampilkan control button send receipt to email

Menampilkan control button print receipt

Collaborators:

Reservations

Payments

ConfirmationControl

Controller objects:

a. Class Routes

Routes

Deskripsi: Class untuk mendapatkan daftar rute perjalanan kereta api

Responsibilities:

Merequest detil informasi rute perjalanan kereta api (stasiun asal, stasiun tujuan, waktu keberangkatan, nomor kereta, harga tiket)

Menerima detil informasi rute perjalanan kereta api

Collaborators:

GetRoutes

b. Class Trains

Trains

Deskripsi: Class untuk mendapatkan daftar detil informasi kereta api

Responsibilities:

Merequest detil informasi kereta api (no kereta,nama kereta, kapasitas penumpang, kelas,nomor tempat duduk)

Menerima detil informasi kereta api

Collaborators:

GetTrains

c. Class Reservations

Reservations

Deskripsi: Class untuk melakukan pemesanan customer

Responsibilities:

Melakukan transaksi yang berhubungan dengan pemesanan perjalanan kereta api

Collaborators:

Routes

Trains

ReservationForm

PreviewForm

Payments

ReservationDb

d. Class Payments

Payments

Deskripsi: Class untuk melakukan pembayaran pesanan customer

Responsibilities:

Melakukan transaksi yang berhubungan dengan transaksi pembayaran pesanan dan pengembalian pembayaran pesanan customer

Collaborators:

Routes

Reservations

PaymentForm

CancellationForm

ReservationDb

e. Class ConfirmationControl

ConfirmationControl

Deskripsi: Class untuk melakukan konfirmasi pesanan dan pembayaran customer

Responsibilities:

Mengirim konfirmasi pesanan dan pembayaran customer melalui email

Mencetak konfirmasi pesanan dan pembayaran customer

Collaborators:

ViewConfirmationForms

Entity Object:

ReservationsDb

ReservationsDb

Deskripsi: Class untuk melakukan operasi query database

Responsibilities:

Menerima request create connection

Membuat koneksi dengan controller class

Menerima masukan query (insert,update,delete)

Collaborators:

GetRoutes

GetTrains

Reservations

Payments






B. View Of Participating Classes (VOPC)
C. Class Diagram

Bab II Analisis Sistem (2)














C. Sequence Diagram
View Schedule
Search Schedule
Make Reservations
Make Payments
Modify Reservations
Make Cancellations
View Confirmations
















D. Collaboration Diagram
View Schedule
Search Schedule
Make Reservations
Make Payments
Modify Reservations
Make Cancellations
View Confirmations

E. Analysis Class Diagram

Bab II Analisis Sistem (1)

A. Use Case Diagram


B. Use Case Specification


Use Case Name

View Schedules

Description

Berfungsi untuk menampilkan jadwal kereta api berdasarkan rute perjalanan yang dipilih.

Actor

Customer

Pre Condition

Halaman utama website telah tampil

Normal Flow

Pilih link rute perjalanan yang tersedia

Post Condition

Halaman informasi jadwal perjalanan kereta api tampil dengan informasi stasiun keberangkatan, stasiun tujuan, nomor kereta, nama kereta, waktu keberangkatan, waktu tiba, dan harga kereta sesuai kelas masing-masing.

Alternatif Flow

· Jika customer ingin melakukan pencarian lebih detil maka bisa menggunakan menu search Schedule.



Use Case Name

Search Schedules

Description

Berfungsi untuk melakukan pencarian jadwal perjalanan dan menampilkan hasil pencarian jadwal kereta api berdasarkan pilihan kelas kereta dan rutenya.

Actor

Customer

Pre Condition

Halaman pencarian telah tampil

Normal Flow

1. Memilih stasiun asal

2. Memilih stasiun tujuan

3. Memilih kelas kereta

Post Condition

Halaman pencarian menampilkan daftar jadwal keberangkatan kereta sesuai dengan pilihan rute dan kelas kereta yang dipilih yaitu nama kereta, nomor kereta, waktu keberangkatan, waktu tiba dan harga tiket sesuai dengan kelas kereta.

Alternatif Flow

1. Jika hasil pencarian tidak ditemukan maka akan muncul pesan error “Rute perjalanan yang anda cari tidak ditemukan”

2. Jika halaman pencarian tidak bekerja dengan semestinya maka cutomer bisa menghubungi call center kereta.


Use Case Name

Make Reservations

Description

Berfungsi untuk melakukan pemesanan tiket kereta api secara online

Actor

Customer

Pre Condition

Halaman pemesanan perjalanan telah tampil

Normal Flow

1. Memilih stasiun asal

2. Memilih stasiun tujuan

3. Memilih Nama Kereta

4. Memilih Kelas Kereta

5. Mengisikan jumlah penumpang dewasa

6. Mengisikan jumlah penumpang anak-anak/lansia

7. Mengisikan tanggal keberangkatan

8. Mengisikan nomor KTP

9. Mengisikan nama lengkap

10. Mengisikan alamat

11. Mengisikan nomor telepon

12. Menekan tombol submit untuk menyimpan data pemesanan

Post Condition

1. Muncul informasi bahwa pesanan telah tersimpan

2. Informasi pesanan ditampilkan

Alternatif Flow

- Jika inputan kosong atau salah muncul pesan error sesuai dengan kesalahan atau inputan pada form pemesanan.

- Jika pesanan belum tersimpan, ada kemungkinan koneksi lambat atau terputus.



Use Case Name

Make Cancellations

Description

Berfungsi untuk melakukan pembatalan pemesanan tiket kereta secara online untuk pesanan yang telah disimpan baik yang belum dibayar maupun yang telah dibayar.

Actor

Customer

Pre Condition

1. User telah melakukan pemesanan tiket dan disimpan

2. Halaman pembatalan pesanan telah tampil

Normal Flow

1. Mengisikan nomor pemesanan

2. Melihat detil pesanan yang akan dibatalkan

3. Menekan tombol submit untuk melakukan pembatalan pesanan

Post Condition

1. Proses pembatalan pesanan telah tersimpan

2. Muncul pesan pembatalan

Alternatif Flow

1. Jika inputan kosong atau salah muncul pesan error sesuai dengan kesalahan atau inputan pada form pemesanan.


Use Case Name

Modify Reservations

Description

Berfungsi untuk melakukan perubahan pemesanan tiket kereta secara online untuk pesanan yang telah disimpan baik yang belum dibayar maupun yang telah dibayar.

Actor

Customer

Pre Condition

Halaman perubahan pesanan telah tampil

Normal Flow

1. Mengisikan nomor pemesanan (ReservationID)

2. Melihat detil pesanan yang akan diubah

3. Memilih stasiun asal

4. Memilih stasiun tujuan

5. Memilih nama kereta

6. Memilih kelas kereta

7. Mengisikan jumlah penumpang dewasa

8. Mengisikan jumlah penumpang anak-anak/lansia

9. Mengisikan nomor KTP

10. Mengisikan nama lengkap

11. Mengisikan alamat lengkap

12. Mengisikan nomor telepon

13. Menekan tombol submit untuk menyimpan pemesanan.

Post Condition

1. Proses perubahan pesanan telah tersimpan

2. Muncul pesan perubahan pesanan sukses

Alternatif Flow

2. Jika inputan kosong atau salah muncul pesan error sesuai dengan kesalahan atau inputan pada form pemesanan.



Use Case Name

Make Payments

Description

Berfungsi untuk melakukan pembayaran pemesanan tiket kereta secara online untuk pesanan yang telah disimpan dengan kartu kredit.

Actor

Customer

Pre Condition

1. Halaman preview pemesanan tampil

2. User melakukan klik pada tombol Next untuk melakukan pembayaran

3. Halaman pembayaran pesanan telah tampil

4. Nomor pemesanan telah tampil

Normal Flow

1. Melihat detil pesanan yang telah dilakukan.

2. Memasukkan tipe credit card

3. Memasukkan nomor credit card

4. Memasukkan nama pemegang credit card

5. Menekan tombol submit untuk memproses pembayaran

Post Condition

1. Proses pembayaran pesanan telah dilakukan

2. Muncul halaman konfirmasi

Alternatif Flow

3. Jika inputan kosong atau salah muncul pesan error sesuai dengan kesalahan atau inputan pada form pemesanan.


Use Case Name

View Confirmations

Description

Berfungsi untuk mengirimkan konfirmasi pemesanan melalui email ataupun dicetak

Actor

Customer

Pre Condition

1. User telah melakukan pembayaran pesanan

2. Halaman konfirmasi telah tampil

Normal Flow

Untuk mengirim konfirmasi melalui email:

1. Masukkan alamat email penerima

2. Menekan tombol send email

Untuk mencetak konfirmasi, tekan tombol “print this”

Post Condition

Muncul pesan bahwa:

i. Email konfirmasi telah terkirim, atau

ii. Halaman konfirmasi telah dicetak

Alternatif Flow

4. Jika dari halaman konfirmasi belum muncul pesan sukses, periksa koneksi internet.