CARNIT
Prepared by
29/10/2016
Table of Contents
Y1.Pendahuluan.............................................................................................................................
1.1 GambaranUmumSistemSaatIni................................................................................................
1.2 IdentifikasiPermasalahanSistemSaatini....................................................................................
1.3 AnalisaAlternatifSolusi..............................................................................................................
2. GambaranUmumSistem........................................................................................................
2.1 RuangLingkup............................................................................................................................
2.2 UsersStories................................................................................................................................
2.3 DesainBasisData......................................................................................................................
2.4 ClassDiagram............................................................................................................................
3. Sistem......................................................................................................................................
3.1 ArsitekturSistem.......................................................................................................................
3.2 PengujianSistem........................................................................................................................
Revision History
Name Date Reason For Changes Version
Ruang Lingkup 26 September Saran seperti uber 1.1
2016
User Scenario 03 Oktober Kurang spesifik, Tidak ada alternatif 2.1
2016
ER Model 11 Oktober Entity lebih di spesifikan, Belum terdapat entity 3.1
2016 menyimpan order
Sequence Diagram 17 Oktober Add inventory mobil dan driver harus dipisah untuk 4.1
2016 memudahkan
Pembagian Tugas
Name TLC* User Stories Status
M. Adam Bahtiar MAB Registrasi On Progress
Satria Huda P SHP
Fiqih Nugra A FNA Log In On Progress
Fadhilah Salsabila FS
Aldipsa Juli B AJB Pemesanan On Progress
Jundan Barofil H JBH
M. Agung Nugroho MAN
Dony Kurniawan P DKP Controlling On Progress
Pranowo K PK
Nindyasanti N. E NNE Add Inventory On Progress
Putri Diva Aulia PDA
*TLC : Three Letter Code (kode untuk mengidentifikasikan personil pengembang perangkat lunak
1. Pendahuluan
1.1Gambaran Umum Sistem Saat Ini
CARNIT adalah suatu software aplikasi berbasis website yang dibuat dengan tujuan untuk membantu
customer dalam melakukan transaksi penyewaan mobil. CARNIT memudahkan customer untuk menyewa
mobil secara online. Terdapat fitur Login, Registrasi, add Inventory, Pemesanan, dan Controlling.
Penyewaan mobil dapat dilakukan dengan cara mengisi form registrasi untuk menjadi member, mengisi
form penyewaan, dan memilih jenis mobil yang diinginkan. Setalah proses pemesanan dikonfirmasi oleh
Front Office, maka customer akan mengetahui tarif sewa yang harus dibayarkan. Semuanya dapat
dilakukan secara online. CARNIT memiliki fitur add Inventory dan Controlling yang memudahkan front
office mengontrol inventory perusahaan berupa mobil beserta drivernya dan memudahkan Front Office
untuk mengontrol mobil yang sedang disewakan.
Kesulitan pengecekan unit mobil yang tersedia, sehingga membutuhkan waktu yang lama
dalam pengambilan mobil yang diinginkan customer.
Kesulitan penentuan tarif sewa karena destinasi yang tidak menentu, sehingga dilakukan
perhitungan manual yang dapat menimbulkan kesalahan perhitungan.
Kesulitan dalam pegecekan driver yang sedang bertugas, sehingga pengecekan dilakukan
secara manual dan tidak menutup kemungkinan terjadi manipulasi informasi.
Customer harus datang ke tempat rental untuk melakukan pemesanan, sehingga customer
akan sulit melakukan pemesanan jika memiliki hal yang sangat penting (mobilitas sulit).
1
1.3 Analisa Alternatif Solusi
Dengan menggunakan aplikasi web yang real-time, costumer dapat melihat secara
langsung unit mobil yang tersedia.
Dapat secara otomatis menghitung biaya yang harus dibayar oleh costumer sesuai
destinasi yang dipilih dan berapa lama mobil disewa.
Sistem akan secara otomatis mengecek driver yang sedang tidak bertugas dan secara
otomatis akan ditambahkan ketika costumer memesan mobil.
Aplikasi ini dapat diakses dari mana pun dan kapan pun karena berbasis web sehingga
costumer tidak perlu mengunjungi tempat rental mobil.
CARNIT merupakan software atau perangkat lunak berbasis web yang dibuat dan dikembangkan
dengan tujuan untuk membantu bisnis penyewaan mobil. Sistem ini dibangun dengan
menggunakan bahasa pemrograman PHP standart. CARNIT akan memiliki banyak database
diantaranya, Front Office, Customer, Order, Driver, Mobil, dll.
Carnit sendiri memiliki fitur yaitu :
1. Registrasi untuk Customer
2. Log in untuk Customer
3. Log in untuk Front Office
4. Order Mobil
5. Controlling :
Cek Status Mobil
Cek Order
6. Add Inventory :
Add Car
Add Driver
2
Use Case Diagram
Front Office sebagai Admin dapat melakukan Login kedalam sistem, melakukan penambahan
inventory melalui halaman fitur Add Inventory, dan dapat melakukan kontrol/pengendalian
terhadap mobil yang termasuk dalam inventory melalui halaman cek Status dan cek Order.
Owner sebagai pemilik mobil dapat melakukan Login kedalam sistem, dan dapat melakukan
kontrol/pengendalian terhadap mobil yang termasuk dalam inventory melalui halaman cek Status
dan cek Order.
User sebagai customer dapat melakukan Login ke dalam sistem dengan melakukan Registrasi
terlebihdahulu untuk mendapatkan username dan password, kemudian user dapat melakukan
Order mobil melalui fitur Order.
2.1Ruang Lingkup
3
2.2Users Stories
US05 Front Office Halaman untuk menambah Saya dapat melakukan NNE
inventory mobil penambahan inventory mobil PDA
dengan menginputkan data-
data sesuai form yang di
sediakan.
Halaman untuk menambah Saya dapat melakukan
inventory driver penambahan driver dengan
menginputkan data-data sesuai
form yang di sediakan.
4
Customer mengisi form pendaftaran seluruhnya.
5
Sequence Diagram Registrasi
2.2.2 US02-Login
6
Scenario login benar
Given : Saya berada di page login dan memiliki e-mail dan password.
When : Saya mengisi form yang terdiri dari kolom email dan password lalu saya klik
tombol log in.
Then : Muncul notif login berhasil dan saya masuk ke dalam sistem.
Scenario username/password salah
Given : Saya berada di page login dan saya telah mendaftar dengan email dan memiliki
password.
When : Saya telah mendaftar dengan email dan memiliki password lalu saya mengisi form yang
terdiri dari kolom email dan password (terdapat kesalahan pada email/password yang
diinput ) dan saya klik tombol log in.
Then : Muncul warning email / password yang anda masukan salah di sebelah tombol log in
dan email yang diisikan sebelumnya masih tertera di kolom email.
Scenario email belum terdaftar
Given : Saya berada di page login dan saya belum mendaftar dan belum memiliki akun.
When : Saya mengisi form yang terdiri dari kolom email dan password lalu saya klik tombol log
in.
Then : Saya tidak bisa masuk ke dalam sistem dan kembali ke page login lalu muncul warning
email yang anda masukan belum terdaftar. Daftar disini.
When : Saya klik tombol Daftar disini.
Then : Saya masuk ke dalam page registrasi.
Given : Saya berada di page login dan saya memiliki e-mail dan password.
When : Saya mengisi form pada salah satu kolom email saja/password saja lalu saya klik
tombol log in.
Then : Saya tidak bisa masuk ke dalam sistem dan kembali ke page login lalu muncul warning
email / password yang anda masukan salah.
7
Given : Saya berada di page login dan saya memiliki e-mail dan password.
When : Saya tidak bisa mengingat password akun saya lalu saya klik lupa password.
Then : Saya masuk ke halaman lupa password.
When : Saya memasukan email pada kolom form masukan email untuk atur ulang password:
lalu lalu saya klik tombol kirim.
Then : Saya masuk ke halaman verifikasi password baru.
When : Saya memasukan password baru pada form kolom masukan password baru : yang
saya dapat dari server dan dikirimkan ke e-mail saya pada tahap sebelumnya lalu saya klik
tombol masuk.
Then : Login berhasil dan saya masuk ke dalam sistem.
8
Sequence Diagram Log In
2.2.3 US03-Controling
Given : Saya berada di halaman controlling dan saya memiliki data nopol mobil.
When : Saya memasukkan nopol dan menekan tombol next.
Then : Muncul notif dari sistem bahwa nopol mobil tersebut tidak terdaftar.
Mobil terdaftar
Given : Saya berada di halaman controlling dan saya memiliki data nopol mobil.
When : Saya memasukkan nopol dan menekan tombol ok.
Then : Akan muncul notif mobil terdaftar dan akan tampil status mobil tersebut.
9
User Interface Controlling
10
Sequence Diagram Controlling
11
2.2.4 US04-Order
Mobil Tersedia
12
Sequence Diagram Order
13
2.2.5 US05-Add Inventory
Mobil
Terdapat kolom data informasi mobil baru ada yang belum terisi
Driver
14
When : FO berada di page form add inventory lalu memasukkan beberapa data informasi driver
baru saja dan menekan tombol save.
Then : Sistem memberikan notifikasi dengan memberi tanda berwarna merah pada kolom
yang belum terisi.
Terdapat kesalahan dalam saat input no.telp driver
Given : FO memiliki data driver baru.
When : FO berada di page form add inventory lalu memasukkan data informasi driver baru (no.
telp diinput huruf semua) dan menekan tombol save.
Then : Sistem memberikan notifikasi no.telp salah.
And : Sistem akan memberikan perintah untuk mengisi ulang kolom no.telepon.
15
Sequence Diagram Add Mobil
16
Sequence Diagram Add Driver
17
2.3DesainBasisData
2.3.1 CDM
Driver
TipeMobil id_driver <pi> Integer <M> Order
id_type <pi> Integer <M> Memiliki Tipe nama_driver Text rent_code <pi> Integer <M>
type Integer alamat_driver Text total_biaya Decimal
Identifier_1 <pi> no_telp_driver Integer no_rek Integer
Identifier_1 <pi> Identifier_1 <pi>
Controlling
Pegawai
id_pegawai <pi> Integer <M>
nama_pegawai Text
Melapor alamat_pegawai Text
email_pegawai Text
Identifier_1 <pi>
18
2.3.2 PDM
Driver Order
TipeMobil id_driver integer <pk> rent_code integer <pk>
id_type integer <pk> plat_nomor longvarchar <fk> id_pegawai integer <fk3>
plat_nomor longvarchar <fk> nama_driver longvarchar plat_nomor longvarchar <fk2>
type integer alamat_driver longvarchar email_customer longvarchar <fk1>
no_telp_driver integer total_biaya decimal
no_rek integer
Mobil
OwnerMobil plat_nomor longvarchar <pk> Customer
id_number longvarchar <pk> id_pegawai integer <fk5>
id_pegawai integer <fk> id_type integer <fk2> email_customer longvarchar <pk>
alamat_owner longvarchar id_number longvarchar <fk1> nama_customer longvarchar
no_telp_owner integer email_customer longvarchar <fk4> alamat_customer longvarchar
email_owner longvarchar id_driver integer <fk3> no_telp_customer integer
status longvarchar
Pegawai
id_pegawai integer <pk>
nama_pegawai longvarchar
alamat_pegawai longvarchar
email_pegawai longvarchar
19
20
2.4ClassDiagram
LogIn(C)
+ <<Constructor>> LogIn_c_() LogInPage
+ inputEmail ($email) :void
+ inputPassword($pass) :void
+ checkForm() :boolean
+ logOut() :void
# <<Destructor>> finalize() :void
Customer(M)
+ <<Constructor>> Customer_m_()
+ setCustKtp($no_ktp) :void
+ setCustName($name) :void 1..*
+ setCustAlamat($loc) :void
+ setCustEmail ($email) :void
+ getCustomer($email,$pass) :void
# <<Destructor>> finalize() :void 1..*
Registrasi(C)
+ <<Constructor>> Registrasi_c_()
Pegawai(M) + inputNama($regisName) :void Regist
+ inputAlamat($registAlamat) :void
+ inputKtp($noKtp) :void
+ <<Constructor>> Pegawai_m_() + inputEmail ($email) :void
+ setPegawaiName(stringname) :void + inputPassword($pass) :void
+ setPegawaiId($id_pegawai) :void + inputVeriPass($passVeri) :void
+ setPegawaiAlamat($alamat_pegawai) :void + addCustomer() :void
+ setPegawaiKtp($ktp_pegawai) :void + checkForm() :void
+ getPegawai($id_employee,$pass) :void # <<Destructor>> finalize() :void
+ getDataOrder($rent_code) :void
# <<Destructor>> finalize() :void
*
* MainMenu
Order(C)
DataOrder(M)
+ <<Constructor>> Order_c_() Order
+ <<Constructor>> DataOrder_m_() + inputName($nameCust) :void
+ setName($nama_order) :void + inputKtp($ktpCust) :void
+ setKtp($cust_ktp) :void + pickCar() :void
+ setPeriod() :void 1..* + pickPeriod() :void
+ getMobil ($plat_nomor) :void 1..* + inputJemput($alamatJemput) :void
+ getDriver($id_driver) :void + choosePayment() :void
+ setDestination($tujuan) :void + checkForm() :boolean
+ getOrder($rent_code) :void # <<Destructor>> finalize() :void
# <<Destructor>> finalize() :void
AddMobil (C)
Mobil (M)
+ <<Constructor>> AddMobil_c_()
+ <<Constructor>> Mobil_m_() + inputTipe($tipe) :void
+ setTipe($tipe) :void + inputPlat($platNomor) :void
+ setPlat($plat_nomor) :void * + inputW arna($warna) :void
+ setW arna($warna) :void * + inputKapasitas($kapasitas) :void
+ setKapasitas($kapasitas) :void + inputTanggalMasuk($tanggalMasuk) :void FO
+ setTanggalMasuk($tanggal_masuk) :void + checkForm() :boolean
+ getMobil ($plat_nomor) :void # <<Destructor>> finalize() :void
+ getOrder($rent_code) :void
# <<Destructor>> finalize() :void
1..* *
1..* AddDriver(C)
Driver(M) + <<Constructor>> AddDriver_c_()
+ <<Constructor>> Driver_m_() + inputName($nama) :void
+ setNama($namaDriver) :void + pickGender() :void
+ setGender() :void + inputTtl ($kota,$tanggal,$bulan,$ :void
+ setTtl ($kota,$tanggal,$bulan,$ :void tahun)
tahun) + inputKtp($ktpDriver) :void
1..* + inputSim($noSim) :void
+ setKtp($ktp_driver) :void 0..* + inputNoTelp($telpDriver) :void
+ setSim($no_sim) :void + inputAlamat($alamatDriver) :void
+ setTelp($telp_driver) :void + inputGoldar($goldar) :void
+ setGoldar($goldar) :void + checkForm() :boolean
+ setAlamat($alamat) :void 1..* # <<Destructor>> finalize() :void
+ getDriver($id_driver) :void
+ getMobil ($plat_nomor) :void
# <<Destructor>> finalize() :void Controlling(C)
+ <<Constructor>> Controlling_c_()
+ inputPlat($platNomor) :void
+ checkForm() :boolean
# <<Destructor>> finalize() :void
21
3. Sistem
3.1ArsitekturSistem
Controlling Order
22
3.2PengujianSistem
3.2.1 US01Login
3.2.2 US02Registrasi
23
ID Deskripsi Input Expected Actual Result status
Result
SC-21 Semua kolom Nama dony pesan -> Data tersimpan ke V
form telah terisi Gender Laki-laki registrasi database cust_acc
Alamat Jl.Bendul berhasil
Email
donykurniawan@gmail.com
No. telp 0817738383838
Password 123
Password verification 123
SC-22 Semua kolom Nama Pesan-> I
form belum Gender terdapat form
terisi Alamat yang masih
Email kosong
No. telp
Password
Password verification
SC-23 Hanya kolom Nama dony Pesan-> I
form nama Gender terdapat form
yang terisi Alamat yang masih
Email kosong
No. telp
Password
Password verification
24
No. telp
Password
Password verification
SC-25 Hanya kolom Nama doni Pesan-> I
form Gender laki-laki terdapat form
nama,gender Alamat jl.bendul yang masih
,alamat yang Email kosong
terisi No. telp
Password
Password verification
SC-26 Hanya kolom Nama doni Pesan-> I
form Gender laki-laki terdapat form
nama,gender Alamat jl.bendul yang masih
,alamat,ema Email kosong
il yang terisi No. telp
Password
Password verification
SC-27 Hanya kolom Nama doni Pesan-> I
form Gender laki-laki terdapat form
nama,gender Alamat jl.bendul yang masih
,alamat,ema Email kosong
il,no.telp dnykurniawan@gmail.com
yang terisi No. telp 0813233232323
Password
Password verification
SC-28 Kolom form Nama doni Pesan-> I
password Gender laki-laki terdapat form
verificarion Alamat jl.bendul yang masih
kosong Email kosong
dnykurniawan@gmail.com
No. telp 0813233232323
Password 123
25
Password verification
3.2.3 US03OrderCustomer
26
SC-35 Email kosong Nama Fadhilah Pesan harap Pesan harap I
Email mengisi form email mengisi form
yang masih
Alamat Jl. Bendul 3
kosong
No.telp 08132323233
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa 2 hari
Metode pembayaran tunai
SC-36 No. telp Nama Fadhilah Pesan harap Pesan harap I
kosong Email fadhilah@gmail.com mengisi form no.telp mengisi form
yang masih
Alamat Jl. Bendul 3
kosong
No.telp
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa 2 hari
Metode pembayaran tunai
SC-37 No. KTP Nama Fadhilah Pesan harap Pesan harap I
kosong Email fadhilah@gmail.com mengisi form no.ktp mengisi form
yang masih
Alamat Jl. Bendul 3
kosong
No.telp 08132323233
No.Ktp
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa 2 hari
Metode pembayaran tunai
27
metode Email fadhilah@gmail.com memilih metode mengisi form
pembayaran Alamat Jl. Bendul 3 pembayaran yang masih
kosong
No.telp 08132323233
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa 2 hari
Metode pembayaran
SC-40 Tanggal sewa Nama Fadhilah Pesan harap Pesan harap I
kosong Email fadhilah@gmail.com mengisi form tanggal mengisi form
sewa yang masih
Alamat Jl. Bendul 3
kosong
No.telp 08132323233
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa
Lama sewa 2 hari
Metode pembayaran tunai
SC-41 Lama sewa Nama Fadhilah Pesan harap Pesan harap I
kososng Email fadhilah@gmail.com mengisi lama sewa mengisi form
yang masih
Alamat Jl. Bendul 3
kosong
No.telp 08132323233
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa
Metode pembayaran tunai
SC-42 Mobil sedang Nama Fadhilah Pesan Mobil yang Pesan Mobil I
tidak tersedia Email fadhilah@gmail.com anda pesan sedang yang anda pesan
tidak tersedia di sedang tidak
Alamat Jl. Bendul 3
garasi tersedia di garasi
No.telp 08132323233
No.Ktp 7173828237737
Alamat jemput Jl.Bendul 3
Tanggal sewa 2des 2016
Lama sewa 2 hari
Metode pembayaran tunai
28
3.2.4 US04Controlling
3.2.4.1 Cek Status Mobil
ID Deskripsi Input Expected Result Actual Result Status
SC-41 Cek status Mobil : Avanza Mobil : Avanza V
Plat nomor mobil : L Plat nomor mobil : L
mobil 32 B 32 B
Status : tersedia Status : tersedia
3.2.5 US05AddInventory
3.2.5.1 Add Mobil
ID Expected Result Actual Result status
Deskripsi Input
Skenario
SC-51 Semua field Tipe mobil keluarga Pesan > Data Pesan > Terdapat V
Nopol L 22 L
diisi sesuai mobil berhasil Kolom Field yang
Warna mobil merah
ketentuan Kapasitas 4 orang ditambahkan masih kosong
Tanggal masuk garasi
12 des 2016
29
SC-52 Kolom Tipe mobil keluarga I
Nopol 22
No.Polisi Pesan > Silahkan Pesan > Terdapat
Warna mobil merah
tidak diisi Kapasitas 4 orang isi nopol dengan Kolom Field yang
Tanggal masuk garasi
sesuai benar masih kosong
12 des 2016
ketentuan
SC-53 Terdapat Tipe mobil Pesan > Terdapat Pesan > Terdapat I
Nopol L 22 L
kolom form Kolom Field yang Kolom Field yang
Warna mobil merah
pada add Kapasitas 4 orang masih kosong masih kosong
Tanggal masuk garasi
car tidak
12 des 2016
diisi
30
sesuai Gol. Darah A
No.telp 0817277272
ketentuan
Alamat jl.bendul
SC-53 Terdapat namasatria Pesan > Terdapat Pesan > I
jenis kelamin laki-laki
textfield form Kolom Field yang Terdapat Kolom
TTL 20 des 1997
pada add No.ktp masih kosong Field yang
driver yang 71616161616161 masih kosong
Sim 0289182198291
kosong
Gol. Darah A
No.telp 0817277272
Alamat jl.bendul
31