BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1
Analisis Sistem Tahap analisis sistem digunakan untuk melakukan kajian terhadap
permasalahan yang terjadi pada sistem Paris (parking information system) dan kebutuhan-kebutuhan yang diharapkan sehingga dapat dibuat usulan perbaikan atau pengembangan. 3.1.1 Identifikasi Masalah Tahapan analisis dimulai dengan identifikasi masalah dengan cara melakukan observasi untuk meninjau langsung sistem yang berada di Stikom Surabaya. Langkah ini dilakukan untuk memahami sistem terlebih dahulu sebelum kemudian melakukan wawancara. Dimulai dari mendatangi pengembang sistem yaitu SSI (Solusi Sistem Informasi) kemudian melihat aplikasi baik aplikasi desktop ataupun website dan juga cara kerja perangkat keras yang digunakan. Terakhir yang perlu diketahui adalah SOP (Standar Operasional Prosedur) parkir yang diterapkan di Stikom agar lebih memahami jalan sistem. Langkah selanjutnya adalah wawancara untuk mendapatkan informasi tentang kekurangan ataupun kendala yang saat ini belum dapat diselesaikan. Wawancara dilakukan secara informal berdialog dengan staf SSI di ruang kerja. Dari wawancara ini SSI mengungkapkan rencara pengembangan Paris sebagai produk massal dan mengutarakan kekurangan yang belum terdapat pada sistem.
24
25
Kekurangan Paris antara lain adalah jika Paris memiliki banyak klien dan juga setiap klien memiliki banyak lokasi parkir yang berjauhan sehingga tidak mungkin dihubungkan dengan menggunakan kabel maka aplikasi Paris tidak bisa disatukan sehingga perlu dibuat satu aplikasi Paris pada setiap lokasi parkirnya. Kemudian dari kekurangan tersebut muncul permasalahan baru yaitu sistem Paris yang terpisah akan menyulitkan klien ataupun SSI dalam melakukan pengaturan, menambah data, ataupun membuat laporan parkir. Sistem Paris yang diterapkan di Stikom Surabaya memiliki sistem membership atau keanggotaan atau bisa disebut parkir berlangganan. Bagi mahasiswa ataupun karyawan Stikom yang parkir di lokasi Stikom tidak dikenakan biaya, namun untuk pihak luar akan dikenakan biaya parkir. Keanggotaan parkir ini sudah dapat ditangani oleh sistem Paris hanya saja, jika kemudian Paris dikembangkan menjadi multi lokasi untuk setiap klien maka data member seharusnya juga ikut tersebar ke semua lokasi parkir Paris. Bagi pengguna parkir memiliki keanggotaan parkir memiliki keuntungan dibandingkan bukan anggota, yaitu biaya parkir yang lebih murah bahkan gratis. Dan jika saja pengguna parkir bisa mengetahui ketersediaan slot parkir di lokasi yang akan dikunjunginya maka itu akan sangat membantu pengguna dalam memutuskan pergi ke lokasi atau menunda hingga terlihat ketersediaan slot parkir lebih banyak. 3.1.2
Kebutuhan Sistem Untuk mempermudah melakukan analisis kebutuhan sistem, diperlukan
pengelompokkan kebutuhan yaitu menjadi
kebutuhan fungsional dan non
26
fungsional. Kebutuhan fungsional adalah kebutuhan proses-proses untuk menyelesaikan masalah yang telah diidentifikasi sebelumnya. Sedangkan kebutuhan non fungsional adalah kebutuhan-kebutuhan tambahan untuk mendukung terwujudnya sistem. A.
Kebutuhan Fungsional Kebutuhan-kebutuhan untuk membuat Paris Manajemen Klien dan
kebutuhan fungsional Paris Manajemen Klien dijelaskan pada tabel 3.1 Kebutuhan Pengguna, dan tabel 3.2 Kebutuhan Fungsional. Tabel 3. 1 Kebutuhan Pengguna No.
Kebutuhan Pengguna
KP.1
Membuat aplikasi yang dapat mengelola Paris milik klien
KP.2
Membuat aplikasi yang dapat mengelola lokasi parkir milik Klien
KP.3
Membuat
aplikasi
android
yang
dapat
menginformasikan
ketersediaan slot parkir di lokasi Paris Tabel 3. 2 Kebutuhan Fungsional No.
Kebutuhan Fungsional
No. Kebutuhan Pengguna
KF.1
Membuat master klien
KP.1
KF.2
Membuat master lokasi parkir
KP.2
KF.3
Menjalankan Paris online
KP.2
KF.4
Membuat master slot parkir
KP.3
KF.7
Membuat master user Paris Manajemen KP.1 Klien
27
KF.8
Sikronisasi database
KP.2
KF.9
Sinkronisasi data slot parkir
KP.3
KF.10 Mendapatkan
Informasi
ketersediaan KP.3
slot parkir di suatu lokasi
B.
Kebutuhan Non Fungsional Kebutuhan Non Fungsional atau kebutuhan lain yang tidak termasuk
fungsi atau proses adalah sebagai berikut: 1. Karakteristik Sistem a. Membatasi hak akses aplikasi dengan fungsi login b. Sinkronisasi database bisa berjalan sendiri tanpa ada pengguna yang menjalankan c. Laporan disajikan dalam bentuk grafik 2. Perangkat lunak a. Menggunakan minimal Windows 7 b. XAMPP 5.6.3 i. PHP 5.6 ii. MySQL 5.0 iii. Filezilla server 0.9.41 c. Browser Google Chrome atau Mozilla Firefox 3. Kebutuhan Perangkat Keras a. Kebutuhan RAM komputer server minimal 1GB b. Kebutuhan Storage 1GB c. Jaringan Internet
28
3.2
Perancangan Sistem Berdasarkan hasil analisis, selanjutnya dibuat perancangan sistem dengan
tujuan membuat gambaran bagaimana solusi sistem akan dibangun dan berjalan. Perancangan sistem diharapkan mampu menyelesaikan permasalahan yang terjadi yaitu membuat aplikasi yang dapat mengelola klien dan banyak lokasi parkir, membuat aplikasi android untuk memberikan informasi ketersediaan slot parkir kepada member parkir. Aplikasi yang akan dibangun ini selanjutnya akan disebut PMK (Paris Manajemen Klien). PMK akan dibuat berbasis web dengan menggunakan bahasa pemrograman HTML, PHP, Javascript, dan MySQL juga menggunakan framework CodeIgniter. Adapun beberapa tahapan yang perlu dilakukan yaitu pembuatan diagram IPO (Input Process Output), System Flow, diagram berjenjang, DFD (Data Flow Diagram), ERD (Entity Relationship Diagram), struktur database, dan desain input output. 3.2.1 Diagram IPO (Input Process Output) Diagram IPO dibuat untuk membuat gambaran data apa saja yang dimasukkan sistem, tahapan-tahapan yang dilakukan sistem serta apa saja hasil dari aplikasi PMK.
29
Diagram IPO (Input Process Output) Input
Process
Output
Data slot
Membuat master slot parkir
List slot parkir
Data Paris Offline
Data Paris Online
Sinkronisasi database
Laporan pendapatan dan kehilangan klien Laporan pendapatan dan kehilangan lokasi parkir
Data lokasi parkir Sinkronisasi slot parkir
Informasi ketersediaan slot parkir
User id SSI / user id klien dan password
Login Paris Manajemen Klien
Tampilan aplikasi Paris Manajemen Klien
Data user Paris Manajemen Klien
Membuat master user Paris Manajemen Klien
List user Paris Manajemen Klien
Data klien
Membuat master klien
List klien
Akun database
Membuat master lokasi parkir
List lokasi parkir
Lokasi parkir yang dipilih
Menjalankan Paris Online
Tampilan Paris Online
Member id dan password
Login Paris Mobile
Tampilan aplikasi Paris Mobile
Phase
Data status slot parkir
Gambar 3. 1 Diagram IPO (Input Process Output)
30
Berikut adalah penjelasan dari diagram IPO berdasarkan gambar
3.1
Diagram IPO: a. Input Data-data yang diperlukan sebagai masukan aplikasi PMK adalah: 1. Data Slot Merupakan pengelompokan suatu area parkir di lokasi parkir Paris yang paling kecil (misalnya area parkir basement baris A1, basement baris A2, dll.). 2. Data Paris Offline Merupakan data yang berasal dari database di lokasi parkir untuk update database online. Data yang diupdate dari database offline adalah data transaksi parkir, catatan kehilangan, data gate parkir, counter tiket, histori reset tiket, dan data log aplikasi Paris. 3. Data Paris Online Merupakan data yang berasal dari database mirror milik lokasi parkir, database ini yang akan digunakan untuk aplikasi Paris Parking Slot Mobile melihat ketersediaan slot parkir di semua lokasi parkir. Data ini juga digunakan untuk melakukan update data master di database lokasi parkir (contoh: data member, biaya parkir, user/petugas parkir, dll.). 4. Data Lokasi Parkir
31
Merupakan data pembeda untuk masuk ke database Paris online. Di dalam data lokasi parkir terdapat akun database dari setiap Paris online (nama database, user database, dan password database). 5. Data status slot parkir Adalah data status apakah masing-masing slot parkir sedang dalam keadaan terisi oleh kendaraan atau tidak. 6. Data user id SSI / klien dan password Data user id dan password adalah identitas yang akan digunakan baik oleh SSI atau klien untuk masuk ke aplikasi Paris Manajemen Klien. 7. Data user Paris Manajemen Klien Adalah data pengguna Paris Manajemen Klien. Pengguna di sini adalah SSI yang akan mengelola Paris Manajemen Klien. 8. Data Klien Merupakan data identitas unik setiap klien Paris, Id klien nantinya akan menjadi kunci mencari lokasi parkir mana saja yang termasuk dalam satu group parkir. 9. Akun database Merupakan data masing-masing database Paris online. Data ini akan digunakan untuk bisa masuk ke masing-masing database dari aplikasi Paris Manajemen Klien. 10. Lokasi Parkir yang dipilih Merupakan id lokasi parkir .yang dipilih user untuk menjalankan aplikasi Paris Manajemen Klien.
32
11. Member id dan password Adalah identitas member untuk menggunakan aplikasi Paris Mobile.
33
b. Process 1. Membuat master slot parkir Adalah proses menambah, merubah, dan menghapus data slot parkir di lokasi parkir Paris. 2. Sinkronisasi database Adalah proses mengirim data transaksi dan kehilangan dari database Paris offline untuk di update di database Paris online dan selanjutnya mengambil data master dan pengaturan dari database Paris online kemudian di update di Paris offline. Proses sinkronisasi database akan dilakukan secara otomatis dengan melihat pengaturan jam sinkronisasi. 3. Sinkronisasi slot parkir Adalah proses mengirim data status slot parkir dari database Paris offline untuk di update di database Paris online. Proses ini akan dilakukan secara otomatis dengan melihat pengaturan interval waktu sinkronisasi. 4. Login Paris Manajemen Klien Adalah proses untuk masuk dan menggunakan aplikasi Paris Manajemen Klien. Proses ini dilakukan oleh user SSI dan klien dengan cara memasukkan user id dan password dan akan divalidasi oleh sistem apakah user tersebut berhak atau tidak. 5. Membuat master user Paris Manajemen Klien
34
Adalah proses untuk menambah, merubah, dan menghapus data user SSI yang akan bisa menggunakan aplikasi Paris Manajemen Klien. 6. Membuat master klien Adalah proses untuk menambah, merubah, dan menghapus data klien Paris. 7. Membuat master lokasi parkir Adalah proses untuk menambah, merubah, dan menghapus data lokasi parkir milik klien Paris. 8. Menjalankan aplikasi Paris online Adalah proses untuk masuk dan menjalankan aplikasi Paris online milik klien. Setelah masuk Paris online, SSI ataupun klien dapat melakukan perubahan data master atau pengaturan. 9. Login Paris Mobile Adalah proses untuk menggunakan aplikasi Paris mobile yang dapat memberikan informasi ketersediaan slot parkir di semua lokasi parkir milik klien tempat terdaftarnya member tersebut. c. Output 1. List slot parkir Adalah list atau daftar slot parkir dan id perangkat yang terpasang di parkir milik klien yang sebelumnya sudah disimpan. 2. Laporan pendapatan dan kehilangan klien Adalah laporan pendapatan dan kehilangan masing-masing klien yang didapat dari sinkronisasi database.
35
3. Laporan pendapatan dan kehilangan lokasi parkir Adalah laporan pendapatan dan kehilangan masing-masing lokasi parkir milik klien yang didapat dari sinkronisasi database. 4. Informasi ketersediaan slot parkir Adalah informasi jumlah slot parkir yang tersedia atau belum terisi kendaraan di semua lokasi parkir milik klien. 5. Tampilan aplikasi Paris Manajemen Klien Adalah halaman utama dari Paris Manajemen Klien. Dari halaman ini, user dapat berpindah ke menu-menu yang dimiliki Paris Manajemen Klien. 6. List user Paris Manajemen Klien Adalah list atau daftar user SSI yang sebelumnya sudah pernah tersimpan di sistem. 7. List klien Adalah list atau daftar klien Paris yang sebelumnya sudah tersimpan di sistem. 8. List lokasi parkir Adalah list atau daftar lokasi parkir dan akun database Paris online masing-masing lokasi yang sebelumnya sudah pernah tersimpan di sistem. 9. Tampilan Paris online Adalah halaman utama aplikasi Paris online. Melalui halaman ini, user dapat masuk ke menu-menu lainnya untuk melakukan tambah, ubah, ataupun hapus data master dan pengaturan.
36
10. Tampilan aplikasi Paris Mobile Adalah halaman utama aplikasi Paris mobile yang berisi informasi ketersediaan slot parkir di semua lokasi parkir milik klien.
37
3.2.2 System Flow A.
Paris Offline
1.
Membuat Master Slot parkir
Membuat Master Slot Parkir Klien
Sistem
mulai
List area parkir
Pilih area parkir
tambah
ya
hapus ya
tidak
B
edit
Isi form lokasi slot baru kemudian simpan
Tampilkan lokasi slot parkir
lokasi_slot
Form lokasi slot baru
A
tidak
A
tidak
kuota_parkir
ya
Tampilkan form dengan data lokasi slot yang dipilih
Ubah data klien kemudian simpan Simpan / update data lokasi slot slot
Isi ID alat kemudian simpan
B
Tampilkan list slot & ID Alat Hapus data slot
Hapus data lokasi slot
Phase
Selesai
Gambar 3. 2 System Flow Membuat Master Slot Parkir
38
Tabel 3. 3 Penjelasan System Flow Membuat Master Slot Parkir Membuat Master Slot Parkir Tujuan
Untuk menambah, merubah, dan menghapus slot parkir di suatu lokasi parkir klien
Masukan
Proses
-
Nama lokasi slot
-
Jumlah slot
-
Id perangkat
Tambah 1. Pilih area parkir yang ingin ditambah lokasi slot nya 2. Akan tampil list lokasi slot yang sudah ada 3. Isi form lokasi slot baru 4. Klik simpan 5. Akan tampil tabel slot di sebelah kanan 6. Isi id perangkat dari setiap slot 7. Klik simpan Ubah 1. Pilih area parkir uang ingin diubah lokasi slot nya 2. Akan tampil list lokasi slot yang sudah ada 3. Klik tombol edit pada lokasi slot yang ingin diubah 4. Nama lokasi slot, jumlah kapasitas slot dan tabel id perangkat akan tampil 5. Ubah data sesuai yang ingin diubah 6. Klik tombol simpan
39
Hapus 1. Pilih area parkir uang ingin diubah lokasi slot nya 2. Akan tampil list lokasi slot yang sudah ada 3. Klik tombol hapus pada lokasi slot yang ingin dihapus 4. Akan tampil konfirmasi hapus, tekan tombol ya Keluaran
Data Lokasi slot, slot dan id perangkat
Pemeran
SSI/klien
2.
Sinkronisasi Database
40
Sinkronisasi Database PARIS offline
PARIS Manajemen Klien
mulai
Request sinkron data
Klien_id Lokasi_id password temp Cek autentikasi aplikasi
Klien_id Lokasi_id Lokasi_password
Lokasi_parkir
Valid?
ya Buat file backup data transaksi
Ambil data DB klien
DB_nama DB_user DB_password
Klien
Ganti DB
Data transaksi
Data transaksi Ringkasan_kehilangan Data transaksi Update database
Request data master dan setting
Buat data backup master & setting
Data master & setting
Data master & setting
Update database
Data master & setting
DB Paris online Ringkasan_transaksi
DB Paris offline
Phase
selesai
Gambar 3. 3 System Flow Sinkronisasi Database Tabel 3. 4 Penjelasan System Flow Sinkronisasi Database Sinkronisasi Database Tujuan
Untuk menyamakan data di database Paris online dan Paris offline
Masukan
-
Proses
1. Pada server Paris offline, masuk ke aplikasi Paris offline
tidak
41
2. Pilih menu auto sync DB 3. Selesai, sinkronisasi database akan otomatis berjalan sesuai jam sinkronisasi yang telah ditentukan SSI dan disimpan di database tabel temp Keluaran
Database Paris online dan offline sama
Pemeran
Klien
42
3.
Sinkronisasi slot parkir
Sinkronisasi Slot Parkir Paris offline
Paris Manajemen Klien
mulai
Request sinkron data slot
Klien_id Lokasi_id password temp Cek autentikasi aplikasi
Klien_id Lokasi_id Lokasi_password
Lokasi_parkir
Valid?
ya Buat file backup data slot parkir
Ambil data DB klien
DB_nama DB_user DB_password
Klien
Ganti DB
Data slot parkir
Data slot parkir
Data slot Update data slot
Slot
tidak
Phase
selesai
Gambar 3. 4 System Flow Sinkronisasi Slot Parkir Tabel 3. 5 Penjelasan System Flow Sinkronisasi Slot Parkir Sinkronisasi Slot Parkir Tujuan
Untuk menyamakan status slot parkir di database Paris online dan Paris offline
Masukan
-
Proses
1. Pada server Paris offline, masuk ke aplikasi Paris
43
offline 2. Pilih menu auto sync DB 3. Selesai, sinkronisasi slot parkir akan otomatis berjalan sesuai interval waktu sinkronisasi yang telah ditentukan SSI dan disimpan di database tabel temp Keluaran
Data status slot Paris online dan offline sama
Pemeran
Klien
44
B.
Paris Manejemen Klien
1.
Login Paris Manajemen Klien
Login Paris Manajemen Klien User Klien / User SSI
Sistem
mulai
User SSI / Klien
Klien Id_klien Nama_klien User klien
List klien
User SSI
ketik user_id dan password
Lokasi_parkir ketik user_id, password dan pilih klien DB_nama DB_user DB_password Ambil data DB klien
Ganti DB
Cek data user tidak User_id, password benar & aktif ?
User (DB Paris Online) User_id User_password Status_aktif User (DB Paris Manajemen Klien)
ya Halaman utama Paris Manajemen Klien
Phase
Selesai
Gambar 3. 5 System Flow Login Paris Manajemen Klien
45
Tabel 3. 6 Penjelasan System Flow Login Paris Manajemen Klien Login Paris Manajemen Klien Tujuan
Mendapatkan hak akses untuk masuk ke aplikasi Paris Manajemen Klien
Masukan
- klien id (untuk user klien) - user id - password
Proses
1. Pilih klien dari combobox klien (untuk user klien) 2. Masukkan user id dan password 3. Klik login
Keluaran
Hak akses aplikasi
Pemeran
User klien/SSI
46
2.
Membuat Master User Paris Manajemen Klien
Membuat Master User Paris Manajemen Klien SSI
Sistem
mulai
List data User
User
Tambah / edit / hapus
tambah
ya
Form User baru
ya
Tampilkan form dengan data user yang dipilih
tidak
edit
Ubah data user kemudian simpan tidak Isi form user baru kemudian simpan Simpan / update data user hapus
ya
Hapus data user
Phase
tidak Selesai
Gambar 3. 6 System Flow Membuat Master User Paris Manajemen Klien
47
Tabel 3. 7 Penjelasan System Flow Membuat Master User Membuat Master User Paris Manajemen Klien Tujuan
Menambah, merubah, atau hapus data user Paris Manajemen Klien (user untuk SSI)
Masukan
- Nama user - password - status aktif
Proses
Tambah 1. Klik tombol tambah user baru 2. Isi semua kolom pada form 3. Klik simpan Ubah 1. Klik tombol ubah pada data user yang ingin diubah 2. Ubah data sesuai yang diinginkan 3. Klik simpan Hapus 1. Klik tombol hapus pada data user yang ingin dihapus 2. Akan ada konfirmasi, tekan tombol ya
Keluaran
Data user
Pemeran
SSI
48
3.
Membuat Master Klien
Membuat Master Klien SSI
Sistem
mulai
List data klien
Klien
Tambah / edit / hapus
tidak edit
tambah
Tampilkan form klien baru
ya
A
tidak tidak
hapus
ya
A Tampilkan form dengan data klien yang dipilih
ya
tidak Ubah data klien kemudian simpan
Isi form klien baru kemudian simpan
Simpan / update data klien
Hapus data Klien
Phase
Selesai
Gambar 3. 7 System Flow Membuat Master Klien Tabel 3. 8 Penjelasan System Flow Membuat Master Klien Membuat Master Klien Tujuan
Menambah, merubah, atau hapus data klien Paris
Masukan
- Nama Klien - tanggal daftar
49
- status aktif Proses
Tambah 1. Klik tombol tambah klien baru 2. Isi semua kolom pada form 3. Klik simpan Ubah 1. Klik tombol ubah pada data klien yang ingin diubah 2. Ubah data sesuai yang diinginkan 3. Klik simpan Hapus 1. Klik tombol hapus pada data klien yang ingin dihapus 2. Akan ada konfirmasi, tekan tombol ya.
Keluaran
Data Klien
Pemeran
SSI
50
4.
Membuat Master Lokasi Parkir
Membuat Master Lokasi Parkir SSI
Sistem
mulai List data klien
Klien
List lokasi_parkir
Lokasi_parkir
Pilih klien
Tambah / edit / hapus
tambah
Form lokasi parkir baru
ya
tidak
hapus
edit
tidak
ya
Tampilkan form dengan data lokasi parkir yang dipilih
Ubah data lokasi parkir kemudian simpan Isi form lokasi parkir baru kemudian simpan Simpan / update data user
tidak
Hapus data lokasi parkir
ya
Phase
Selesai
Gambar 3. 8 System Flow Membuat Master Lokasi Parkir Tabel 3. 9 Penjelasan System Flow Membuat Master Lokasi Parkir Membuat Master Lokasi Parkir Tujuan
- Menambah, merubah, atau hapus data lokasi parkir Paris - memasukkan akun database Paris online - memasukkan password untuk sinrkonasi dengan Paris offline
Masukan
- Nama lokasi
51
- alamat lokasi - status aktif - akun database - password sinkronasi Proses
Tambah 1. Buat akun database baru (di MySQL) 2. Buat database untuk Paris online 3. Import database Paris offline ke database online 4. Beri hak akses untuk akun yang tadi dibuat untuk dapat mengakses database. 5. Klik tombol tambah lokasi parkir baru 6. Isi semua kolom pada form termasuk data akun database dan password sinkronasi 7. Klik simpan Ubah 1. Klik tombol ubah pada data lokasi parkir yang ingin diubah 2. Ubah data sesuai yang diinginkan 3. Klik simpan Hapus 4. Klik tombol hapus pada data lokasi parkir yang ingin dihapus 5. Akan ada konfirmasi, tekan tombol ya 6. Delete database
52
7. Delete akun database Keluaran
Data lokasi parkir
Pemeran
SSI
5.
Menjalankan Aplikasi Paris Online
Menjalankan Aplikasi Paris Online SSI / Klien
Sistem
mulai
List klien
Pilih klien
klien
Tampilkan lokasi parkir
lokasi_parkir
Pilih lokasi parkir
Buat kode authentikasi
Pindah aplikasi Paris online
Cek authentikasi valid? tidak ya
Tampilkan pesan gagal masuk
Tampilkan aplikasi Paris online
Phase
Selesai
Gambar 3. 9 System Flow Menjalankan Aplikasi Paris Online
53
Tabel 3. 10 Penjelasan System Flow Menjalankan Aplikasi Paris Online Menjalankan Aplikasi Paris Online Tujuan
Untuk mengakses paris online
Masukan
-
Proses
1. Klik lokasi parkir yang ingin diakses
Keluaran
Halaman Paris online
Pemeran
SSI / Klien
54
C.
Paris
1.
Login Paris Mobile
Login Paris Mobile Member
mulai
Sistem
List klien
Id_klien Nama_klien
Klien Lokasi_parkir
Pilih klien, Isi member_id dan password
Ambil data DB klien
DB_nama DB_user DB_password
Ganti DB member_id password Status_aktif Cek data member
member
tidak member_id, password benar & aktif ?
ya
Lokasi_parkir
Kuota_parkir Informasi slot parkir
Lokasi_slot Slot
Phase
Selesai
Gambar 3. 10 System Flow Login Paris Mobile
55
Tabel 3. 11 Penjelasan System Flow Login Paris Mobile Login Paris Mobile Tujuan Masukan
Proses
Mendapatkan informasi ketersediaan slot parkir -
Member id
-
Password
-
Klien id
1. Aplikasi akan menampilkan list klien Paris 2. Pilih klien tempat member terdafar 3. Masukkan member id dan password 4. Klik tombol login 5. Aplikasi akan menampilkan semua lokasi parkir klien tersebut dan informasi ketersediaan slot parkir di lokasi-lokasi
Keluaran
Informasi ketersediaan slot parkir
Pemeran
Member
53
3.2.3 Konkteks Diagram Konteks Diagram adalah diagram paling dasar pada DFD. Pada konteks diagram digambarkan semua entitas luar dan satu proses secara keseluruhan tanpa memuat simbol data store. PARIS_offline
data_biaya_parkir data_kartu data_format_tiket data_hak_akses_emp data_hak_akses_menu data_instansi data_jenis_member data_kuota_parkir data_member data_mst_group_menu data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user data_lokasi_slot autentifikasi
PARIS_online
identitas_paris autentifikasi data_gate_parkir data_counter_tiket data_histori_reset_tiket data_log data_transaksi_parkir data_catatan_kehilangan data_slot
data_gate_parkir data_counter_tiket data_histori_reset_tiket data_log data_transaksi_parkir data_catatan_kehilangan data_slot
data_biaya_parkir data_kartu data_format_tiket data_hak_akses_emp data_hak_akses_menu data_instansi data_jenis_member data_kuota_parkir data_member data_mst_group_menu data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user data_lokasi_slot data_kendaraan data_mst_menu
1 PARIS id_klien id_member password Member
akun_database data_lokasi_slot data_slot list_data_klien informasi_ketersediaan_slot_parkir
identitas_klien data_lokasi_parkir Klien
list_data_klien list_data_lokasi_parkir list_data_user laporan_pendapatan_dan_kehilangan_klien laporan_pendapatan_dan_kehilangan_lokasi_parkir
SSI
laporan_pendapatan_dan_kehilangan_lokasi_parkir
Gambar 3. 11 Konteks Diagram Pada Gambar 3.13 konteks diagram terdapat satu proses utama yaitu Paris yang merupakan nama sistem dan lima entitas luar yaitu Paris online dan Paris offline yang merupakan aplikasi berbeda, kemudian member parkir, klien Paris, dan terakhir adalah SSI. Paris offline akan mengirim data transaksi parkir, catatan kehilangan dan beberapa data lain kemudian Paris online akan menerimanya dan berganti mengirimkan data pengaturan dan data master untuk di update di Paris offline.
54
Member akan memberikan masukan berupa data untuk melakukan validasi identitas dan sistem akan memberikan informasi tentang ketersediaan slot parkir di lokasi-lokasi Paris klien tempat terdaftarnya member tersebut. Klien Paris dalam konteks diagram memberikan data identitasnya seperti nama dan alamat, juga lokasi-lokasi parkirnya. Data yang akan diterima kembali oleh klien adalah laporan pendapatan dan kehilangan lokasi parkir. SSI dalam sistem ini memberikan masukan berupa akun database untuk aplikasi Paris online dan password aplikasi untuk Paris offline untuk dapat terkoneksi dengan server dan melakukan sinkronisasi database. Selain itu, data yang bersumber dari SSI adalah lokasi slot dan dan slot parkir. Sedangkan data yang dikeluarkan sistem untuk SSI adalah laporan pendapatan dan kehilangan klien, serta laporan pendapatan dan kehilangan lokasi parkir.
55
55
y
56
Diagram berjenjang diatas menjelaskan fungsional yang dibuat untuk sistem Paris. Terdapat tiga aplikasi yang dibuat atau ditambah fungsionalitasnya dan akan dijelaskan sebagai berikut: 1. Aplikasi Paris Offline Aplikasi Paris offline adalah aplikasi yang sudah ada sebelumnya dan dipakai di lokasi parkir untuk mengatur atau membuat laporan parkir. Aplikasi ini akan ditambahkan tiga fungsionalitas baru yaitu sinkronisasi database, sinkronisasi slot parkir, dan membuat master lokasi slot. 2. Aplikasi Paris Mobile Aplikasi ini adalah aplikasi android yang akan digunakan oleh member Paris untuk mendapatkan informasi tentang ketersediaan slot parkir di lokasi-lokasi parkir Paris. 3. Aplikasi Paris Manajemen Klien Aplikasi Paris Manajemen Klien adalah aplikasi yang dibuat untuk menjembatani semua aplikasi Paris klien. Aplikasi ini juga akan digunakan untuk membuat laporan gabungan dari semua klien dan semua lokasi parkir klien. 3.2.4 DFD (Data Flow Diagram) 1. DFD Level 0 DFD level 0 adalah decompose dari konteks diagram yang menjelaskan lebih rinci tiap aliran data dan proses aplikasi sistem Paris. Proses utama dari Paris terbagi menjadi tiga proses utama yang mewakili nama aplikasi baru dan aplikasi yang ditambah fungsionalitasnya yaitu Paris offline, Paris mobile, dan aplikasi
57
utama di tugas akhir ini yaitu Paris Manajemen Klien. Proses dari ketiga aplikasi ini akan dijelaskan pada level selanjutnya.
6
parking_mobile
1.3
data_lokasi_slot data_member data_slot data_kuota_parkir
1.2
akun_database
data_biaya_parkir data_format_tiket data_hak_akses_menu data_hak_akses_emp data_instansi data_jenis_member data_kartu data_kuota_parkir data_lokasi_slot data_mst_group_menu data_member data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user data_kendaraan data_mst_menu
ringkasan_transaksi
paris_offline
1.1
3
paris_manajemen_klien
ringkasan_kehilangan
data_biaya_parkir data_format_tiket data_hak_akses_emp data_hak_akses_menu data_instansi data_jenis_member data_kartu data_kendaraan data_kuota_parkir data_lokasi_slot data_member data_mst_group_menu data_mst_menu data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user
id_klien id_member password
data_lokasi_parkir identitas_klien
Klien
laporan_pendapatan_dan_kehilangan_klien laporan_pendapatan_dan_kehilangan_lokasi_parkir
Member
list_data_klien informasi_ketersediaan_slot_parkir
laporan_pendapatan_dan_kehilangan_lokasi_parkir
log_sync
PARIS_offline
identitas_paris kode_autentifikasi data_counter_tiket data_gate_parkir data_histori_reset_tiket data_log data_transaksi_parkir data_catatan_kehilangan data_slot
4
PARIS_online
SSI
data_lokasi_slot data_slot
5
data_lokasi_slot data_slot
data_kuota_parkir
data_counter_tiket data_gate_parkir data_histori_reset_tiket data_log data_transaksi_parkir data_catatan_kehilangan data_slot
1
user
2
data_user_klien
lokasi_parkir
klien
58
Gambar 3. 13 DFD Level 0
59
2. DFD Level 1 A. Sub Proses Paris Offline Proses yang pertama adalah master slot parkir. Fungsi proses ini adalah menyimpan detail area-area parkir di lokasi parkir dan id perangkat yang terhubung dengan server offline. Id perangkat yang dimaksud adalah sebuah alat infra merah atau gelombang ultrasonic yang akan mendeteksi sebuah slot parkir sedang dalam keadaan kosong atau dipakai. Perangkat tersebut akan mengirim status kepada server jika terdapat objek yang berada di slot parkir. Proses yang kedua adalah sinkronisasi database. Proses ini adalah proses menyamakan data antara Paris online dan Paris offline. Penyamaan data ini diperlukan untuk klien yang mengakses Paris dari luar lokasi parkir untuk mendapatkan data yang terbaru. Penyamaan data juga diperlukan oleh Paris offline karena klien yang ingin mengubah pengaturan atau menambah data tidak perlu lagi datang ke setiap lokasi, hanya perlu mengakses aplikasi Paris online dan otomatis data akan diupdate di Paris offline. Tahapan proses yang dilakukan pada sinkronisasi database adalah login aplikasi, export data Paris offline, import data Paris offline, export data Paris online, import data Paris online, dan membuat ringkasan transaksi dan ringkasan catatan kehilangan. Tahapan pertama adalah login Paris Manajemen Klien aplikasi. Setiap paris offline akan diberi id klien, id lokasi parkir, dan password aplikasi yang sebelumnya sudah diatur pada master lokasi parkir. Data-data itu akan digunakan untuk login dan server Paris akan melakukan cek apakah semua data valid atau tidak. Proses ini diperlukan untuk mencegah tidak ada pihak yang tidak berhak
60
masuk dan mengirim atau mengambil data di server Paris kecuali yang sudah terdaftar. Tahapan yang kedua adalah export data. Export data akan dilakukan oleh Paris offline dengan membuat file berformat JSON (Javascript Object Orientation). File JSON berisi data transaksi, catatan kehilangan dan beberapa data lain yang akan diupload ke server dan selanjutnya akan diupdate di database Paris offline. Tahapan keempat adalah export data Paris online yang berupa data master seperti biaya, user aplikasi Paris, kemudian data pengaturan seperti jam sinkronisasi database dan interval sinkonisasi data slot. Data export tersebut akan dimasukkan kedalam file JSON juga dan kemudian didownload oleh Paris offline dan akan diupdate di database Paris online. Proses ketiga adalah sinkronisasi slot parkir. Proses ini melakukan penyamaan data slot parkir dari database Paris offline ke database Paris online. Data yang diupdate hanya statusnya saja, apakah slot parkir sedang terisi atau tidak.
id_klien id_lokasi_parkir password
kode_autentifikasi
data_slot
PARIS_offline
Klien
data_lokasi_slot data_slot
1.1.1
1.1.2
data_biaya_parkir data_format_tiket data_hak_akses_emp data_hak_akses_menu data_instansi data_jenis_member data_kartu data_kendaraan data_kuota_parkir data_lokasi_slot data_member data_mst_group_menu data_mst_menu data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user
1.1.3
log
log_sync
data_biaya_parkir data_format_tiket data_hak_akses_emp data_hak_akses_menu data_instansi data_jenis_member data_kartu data_kendaraan data_kuota_parkir data_lokasi_slot data_member data_mst_group_menu data_mst_menu data_parameter_kehilangan data_setting data_temp data_tipe_kendaraan data_user
sinkronisasi_slot_parkir
6
log
sinkronisasi_database
laporan_pendapatan_dan_kehilangan_klien laporan_pendapatan_dan_kehilangan_lokasi_parkir
4
3
ringkasan_kehilangan
ringkasan_transaksi
ringkasan_transaksi_kehilangan
ringkasan_transaksi_parkir
membuat_master_slot_parkir
laporan_pendapatan_dan_kehilangan_lokasi_parkir
kode_autentifikasi data_catatan_kehilangan data_counter_tiket data_gate_parkir data_histori_reset_tiket data_log data_transaksi_parkir
kode_autentifikasi
id_klien id_lokasi_parkir password
SSI
list_kuota_parkir
data_slot
expired_kode_autentifikasi kode_autentifikasi
id_klien id_lokasi_parkir password
expired_kode_autentifikasi kode_autentifikasi
lokasi_parkir
PARIS_online
data_catatan_kehilangan data_counter_tiket data_gate_parkir data_histori_reset_tiket data_log data_transaksi_parkir
id_klien id_lokasi_parkir password
2
data_kuota_parkir
data_lokasi_slot data_slot
61
Ga mb ar 3. 14 DF D Le vel 1 Su b Pr os es Pa ris Off lin e
62
B. Sub Proses Paris Manajemen Klien Proses Paris Manajemen Klien memiliki banyak sub-sub proses yaitu login Paris Manajemen Klien, membuat master user, membuat master klien, membuat master lokasi parkir, dan menjalankan aplikasi Paris online. Proses pertama
adalah
login Paris Manajemen Klien. Proses ini
diperlukan untuk dapat mengakses proses-proses lainnya. Proses dimulai dengan memasukkan id user dan password dan id klien untuk user dari klien. Sistem akan mengecek apakah data yang dimasukkan valid atau tidak. Proses kedua adalah membuat master klien. Data yang diperlukan adalah nama, tanggal daftar, dan status aktif klien. Data keluaran dari proses ini adalah list data klien yang akan dialirkan ke SSI. Proses ketiga adalah membuat master lokasi parkir. Data bersumber dari dua entitas yaitu klien dan SSI, data dari klien adalah nama lokasi parkir dan alamat. Sedangkan dari SSI, data yang diberikan adalah password aplikasi dan akun database (nama, user, dan password). Keluaran dari sistem ini berupa list data lokasi parkir yang sebelumnya sudah pernah disimpan. Proses keempat adalah membuat master user. Data bersumber dari SSI yang berupa nama, password, dan status yang akan diberikan ke sistem untuk disimpan. Sedangkan keluaran yang dihasilkan sistem adalah list user dari data yang sudah pernah disimpan. Proses kelima adalah menjalankan Paris online. Data yang dikirim oleh klien atau SSI adalah id lokasi parkir yang ingin dilihat. Kemudian sistem akan melakukan redirect halaman ke Paris online sesuai yang dipilih.
id_lokasi_parkir
nama_klien tgl_daftar_klien status_klien
id_user nama_user password status_user
PARIS_online
list_data_lokasi_parkir
nama_lokasi_parkir alamat_lokasi_parkir
Klien
id_klien id_user password
list_data_klien 1.2.1
id_klien nama_klien
membuat_master_klien
1.2.2
membuat_master_lokasi_parkir
1.2.3
melihat_paris_online
1.2.5
db_nama db_password db_user
id_user nama_user status_user
login_paris_manajemen_ klien
user
lokasi_parkir
id_klien id_lokasi_parkir nama_lokasi_parkir alamat_lokasi_parkir db_nama db_password db_user
data_lokasi_parkir
2
5
klien
id_klien nama_klien status_klien tgl_daftar_klien
1
list_data_klien
list_data_lokasi_parkir
db_nama db_password db_user
id_lokasi_parkir
list_data_lokasi_parkir
SSI
id_user nama_user
1.2.4
nama_user password status_user
id_user nama_user password status_user
list_data_user
membuat_master_user
63
Ga mb ar 3. 15 DF D Le vel 1 Su b Pr ose s Par is Ma naj em en Kli en
64
C. Sub Proses Paris Mobile Pada sub proses Paris mobile hanya memiliki satu proses yaitu login Paris mobile. Proses ini menggambarkan aliran data untuk member parkir Paris. Member yang ingin mengetahui ketersediaan parkir di suatu lokasi parkir Paris mengakses aplikasi Paris mobile kemudian memasukkan id member, password dan memilih klien tempat terdaftarnya member tersebut maka sistem akan menampilkan halaman utama Paris mobile yang berisi informasi ketersediaan slot parkir di lokasi-lokasi parkir klien. Terdapat enam tahapan proses Paris mobile yaitu: 1. Tampilkan list klien paris Sebelum melakukan login, member akan diberikan daftar klien Paris. Dan member akan memilih klien mana yang merupakan tempat member tersebut terdaftar. 2. Login member Pada sub proses ini member memberikan member id, password dan id klien, kemudian berlanjut ke tahapan selanjutnya. 3. Ambil akun database klien Karena data member ada di database Paris online, dan bisa terdapat lebih dari satu Paris online milik klien tempat member terdaftar, maka sistem akan mencari akun database salah satu Paris online milik klien yang diinputkan id kliennya kemudian berlanjut ke tahapan selanjutnya. 4. Ganti database klien
65
Setelah mendapat akun database, selanjutnya sistem akan berganti untuk kemudian mengambil data member di database tersebut.
66
5. Ambil data member Untuk mengecek apakah id member dan passoword benar, sistem akan mengambil data member dengan id yang telah dimasukkan sebelumnya. Kemudian sistem akan memberikan hak akses jika data member valid. 6. Buat informasi ketersediaan slot parkir Jika data login valid, sistem juga akan otomatis membuat informasi ketersediaan slot parkir dari database-database Paris online milik klien. 1
klien
id_klien nama_klien
list_data_klien
2
Member
lokasi_parkir
db_nama db_password db_user
id_klien id_member password 1.3.1 login_member
informasi_ketersediaan_slot_parkir
id_member nama_member password status_member
data_kuota_parkir data_lokasi_slot data_slot
PARIS_online
Gambar 3. 12 DFD Level 1 Sub Proses Paris Mobile 3.2.6 ERD (Entity Relationship Diagram) Entity Relationship Diagram (ERD) adalah suatu desain sistem yang digunakan untuk merepresentasikan, menentukan dan mendokumentasikan kebutuhan-kebutuhan untuk sistem pemrosesan database. ERD juga menyediakan bentuk untuk menunjukkan struktur keseluruhan dari data pemakai. Dalam perencanaan sistem ini telah terbentuk ERD yang merupakan lanjutan dari pembuatan desain dengan menggunakan DFD. ERD terbagi menjadi menjadi CDM dan PDM. Berikut adalah penjelasannya:
log_sync
o
n
c
l
e
p
t
u
a
ringkasan_kehilangan
melakukan
Date Time Variable characters (50) Variable characters (50) Integer Variable characters (20)
a. C
Identifier_1
rk_id Variable characters (20) <M> rk_tgl Date rk_jam_awal Time rk_jam_akhir Time rk_parameter Variable characters (10) rk_jumlah Integer rk_denda Float
log_tgl log_jam log_aktifitas log_tabel log_jumlah log_status
klien
lokasi_parkir
mempunyai
memiliki
Identifier_1
memiliki
lokasi_id Variable characters (5) <M> lokasi_nama Variable characters (100) lokasi_alamat Variable characters (200) lokasi_password Variable characters (100) lokasi_db_nama Variable characters (50) lokasi_db_user Variable characters (50) lokasi_db_password Variable characters (100)
Identifier_1
klien_id Variable characters (15) <M> klien_nama Variable characters (100) klien_tgl_daftar Date klien_status_aktif Variable characters (1)
ringkasan_transaksi
Identifier_1
Identifier_1
rt_id Variable characters (20) <M> rt_tgl Date rt_jam_awal Time rt_jam_akhir Time rt_jumlah Float rt_biaya Float
mendaftarkan
user user_id Variable characters (20) <M> user_nama Variable characters (50) user_password Variable characters (50) user_aktif Variable characters (1)
66
Ga mb ar 3. 17 C D M Par is Ma naj em en Kli en
id_instansi nama_instansi alamat_instansi telepon email
instansi Integer Variable characters (100) Variable characters (100) Variable characters (50) Variable characters (100)
format_tiket id_format Integer header_tiket Variable characters (100) sub_header_tiket Variable characters (150) footer_tiket Variable characters (150) header_nota Variable characters (100) sub_header_nota Variable characters (150) footer_nota Variable characters (150)
gate_pembayaran
gate_keluar
gate_masuk
# o o o o o o o o o o o o
memiliki
menyediakan
# o o o
# o o o o o
id_menu nama_menu link_menu menu_parent group_modul
counter_tiket o jml_tiket Integer
memiliki
memiliki
lokasi_slot # ls_id Variable characters (5) o ls_nama Variable characters (100)
memiliki
memiliki
# o o o
# o o o o o o o o o
keluar
log # kd_log Variable characters (10) o jam_masuk_log Date & Time o jam_keluar_log Date & Time
mengakses
memproses
hak_akses_menu
data_kartu # kode_kartu Variable characters (20)
slot # slot_id Variable characters (5) o slot_status Variable characters (1) o slot_id_alat Variable characters (50) melihat
catatan_kehilangan kd_hilang Variable characters (15) tanggal Date & Time biaya_parkir Integer denda Integer plat_nomor_ck Variable characters (15) catatan Text kd_validasi Variable characters (20) foto_plat_nomor_ck Variable characters (200) foto_plat_kendaraan_ck Variable characters (200) foro_pengguna_kendaraan_ck Variable characters (200)
membayar
parameter_hilang kd_parameter Variable characters (3) nama_parameter Variable characters (20) biaya_hilang Integer status_parameter Variable characters (1)
mengalami
mst_menu Variable characters (11) Variable characters (50) Variable characters (100) Integer Variable characters (10)
gate_parkir kd_gate Variable characters (3) jenis_gate Variable characters (1) jenis_kendaraan Variable characters (3) ip_address Variable characters (15) keterangan_gate Variable characters (30) status_gate Variable characters (1)
# o o o o
kendaraan kd_kendaraan Variable characters (10) plat_nomor_kendaraan Variable characters (15) merk Variable characters (20) warna Variable characters (20)
memiliki
kuota_parkir # id_kuota Integer o area_parkir Variable characters (20) o kuota_parkir Integer
tipe_kendaraan # kd_tipe Variable characters (3) o tipe_kendaraan Variable characters (20)
memiliki
biaya_parkir kd_biaya Variable characters (3) gate_pembayaran Integer tipe_pembayaran Variable characters (20) biaya_awal Integer durasi_awal Integer durasi_awal_progresif Integer durasi_progresif Integer biaya_progresif Integer biaya_maks Integer tipe_biaya_inap Integer jam_inap Variable characters (30) biaya_inap Integer status_biaya Variable characters (1)
setting o status_gen_id_user Integer o status_gen_id_member Integer
temp o keterangan Variable characters (200) o nilai Variable characters (200)
# o o o o
# o o o o o o
mengakses
# o o o o o o o o o o o o
memproses
histori_reset # id_reset Integer o tgl_reset Date & Time o jumlah_terakhir Integer
menjaga menjaga2
jenis_member # kd_jns_member Variable characters (3) o jenis_member Variable characters (20)
memiliki
memiliki
member kd_member Variable characters (20) nama_member Variable characters (100) jenis_kelamin Variable characters (1) alamat_member Variable characters (100) tgl_daftar Date no_telp Variable characters (100) status_member Variable characters (1)
hak_akses_emp
transaksi_parkir kd_trans Variable characters (15) plat_nomor Variable characters (15) jam_masuk Date & Time jam_keluar Date & Time biaya Integer foto_plat_nomor Variable characters (200) foto_kendaraan Variable characters (200) foto_pengguna Variable characters (200) foto_plat_nomor_keluar Variable characters (200) foto_kendaraan_keluar Variable characters (200) foto_pengguna_keluar Variable characters (200) status_tiket Variable characters (5) lokasi_id Variable characters (3)
memproses
# o o o o o o mst_group_menu # id_group_menu Integer o nama_group_menu Variable characters (50)
user # kd_karyawan Variable characters (20) o nama_karyawan Variable characters (100) o jenis_kelamin_user Variable characters (1) o alamat_user Variable characters (100) o no_telp_user Variable characters (100) o password Variable characters (500) o tgl_daftar_user Date o status_user Variable characters (1)
memiliki
67
Ga mb ar 3. 18 C D M ta mb ah an dat ab ase Par is
h
b. P
y
s
i
c
a
l
D
rk_id lokasi_id klien_id rk_tgl rk_jam_awal rk_jam_akhir rk_parameter rk_jumlah rk_denda
varchar(20) varchar(5) varchar(15) date time time varchar(10) int float
ringkasan_kehilangan
varchar(5) varchar(15) date time varchar(50) varchar(50) int varchar(20)
log_sync
lokasi_id klien_id log_tgl log_jam log_aktifitas log_tabel log_jumlah log_status
lokasi_id klien_id lokasi_nama lokasi_alamat lokasi_password lokasi_db_nama lokasi_db_user lokasi_db_password
varchar(5) varchar(15) varchar(100) varchar(200) varchar(100) varchar(50) varchar(50) varchar(100)
lokasi_parkir
varchar(15) varchar(100) date varchar(1) varchar(20)
klien klien_id klien_nama klien_tgl_daftar klien_status_aktif user_id varchar(20) varchar(50) varchar(50) varchar(1)
user
rt_id lokasi_id klien_id rt_tgl rt_jam_awal rt_jam_akhir rt_jumlah rt_biaya
varchar(20) varchar(5) varchar(15) date time time float float
ringkasan_transaksi
user_id user_nama user_password user_aktif
68
Ga mb ar 3. 19 PD M Par is Ma naj em en Kli en
int varchar(100) varchar(100) varchar(50) varchar(100)
int varchar(20) varchar(3) int
ls_id varchar(5) id_kuota int ls_nama varchar(100)
lokasi_slot
id_kuota area_parkir kd_tipe kuota_parkir
kd_tipe varchar(3) tipe_kendaraan varchar(20)
slot_id ls_id slot_status slot_id_alat
varchar(3) varchar(20) int varchar(1)
varchar(5) varchar(5) varchar(1) varchar(50)
slot
kd_parameter nama_parameter biaya_hilang status_parameter
parameter_hilang
varchar(10) varchar(15) varchar(3) varchar(20) varchar(20) varchar(20)
kendaraan
varchar(3) varchar(1) varchar(3) varchar(15) varchar(30) varchar(1)
gate_parkir kd_gate jenis_gate jenis_kendaraan ip_address keterangan_gate status_gate
counter_tiket
histori_reset
kd_hilang kd_trans kd_parameter tanggal biaya_parkir denda catatan plat_nomor_ck gate_keluar gate_pembayaran kd_karyawan kd_validasi foto_plat_nomor_ck foto_plat_kendaraan_ck foro_pengguna_kendaraan_ck
varchar(15) varchar(15) varchar(3) datetime int int text varchar(15) varchar(3) varchar(3) varchar(20) varchar(20) varchar(200) varchar(200) varchar(200)
catatan_kehilangan
int datetime varchar(20) varchar(3) int
varchar(10) varchar(20) varchar(3) datetime datetime
log
kd_log kd_karyawan kd_gate jam_masuk_log jam_keluar_log
id_reset tgl_reset kd_karyawan kd_gate jumlah_terakhir
hak_akses_emp
varchar(15) varchar(3) varchar(20) varchar(20) varchar(3) varchar(3) varchar(3) varchar(20) varchar(15) datetime datetime int varchar(200) varchar(200) varchar(200) varchar(200) varchar(200) varchar(200) varchar(5) varchar(3)
transaksi_parkir
jenis_member
kd_jns_member varchar(3) jenis_member varchar(20)
varchar(20) varchar(100) varchar(1) varchar(100) date varchar(100) varchar(1) varchar(3)
member kd_member nama_member jenis_kelamin alamat_member tgl_daftar no_telp status_member kd_jns_member
id_group_menu int kd_karyawan varchar(20) group_modul varchar(10)
varchar(20) varchar(100) varchar(1) varchar(100) varchar(100) varchar(500) date varchar(1)
kd_trans kd_tipe kd_karyawan use_kd_karyawan gate_masuk gate_keluar gate_pembayaran kd_member plat_nomor_tp jam_masuk jam_keluar biaya foto_plat_nomor foto_kendaraan foto_pengguna foto_plat_nomor_keluar foto_kendaraan_keluar foto_pengguna_keluar status_tiket lokasi_id
kd_karyawan nama_karyawan jenis_kelamin_user alamat_user no_telp_user password tgl_daftar_user status_user
user
mst_group_menu id_group_menu int nama_group_menu varchar(50)
hak_akses_menu
kd_member varchar(20) kode_kartu varchar(20)
data_kartu
id_menu varchar(11) id_group_menu int group_modul varchar(10)
kd_gate varchar(3) jml_tiket int
varchar(11) varchar(50) varchar(100) int varchar(10)
mst_menu id_menu nama_menu link_menu menu_parent group_modul
kd_kendaraan plat_nomor_kendaraan kd_tipe kd_member merk warna
kuota_parkir
varchar(3) varchar(3) int varchar(20) int int int int int int int varchar(30) int varchar(1)
tipe_kendaraan
kd_biaya kd_tipe gate_pembayaran tipe_pembayaran biaya_awal durasi_awal durasi_awal_progresif durasi_progresif biaya_progresif biaya_maks tipe_biaya_inap jam_inap biaya_inap status_biaya
biaya_parkir
status_gen_id_user int status_gen_id_member int
setting
keterangan varchar(200) nilai varchar(200)
temp
id_instansi nama_instansi alamat_instansi telepon email
instansi
int varchar(100) varchar(150) varchar(150) varchar(100) varchar(150) varchar(150)
format_tiket
id_format header_tiket sub_header_tiket footer_tiket header_nota sub_header_nota footer_nota
69
Ga mb ar 3. 20 PD M ta mb ah an dat ab ase Par is
70
3.2.7 Struktur Database Struktur database adalah uraian struktur fisik dari table-tabel yang terdapat pada database. Fungsi dari struktur database adalah menyimpan data-data yang digunakan sistem untuk mengolah dan menghasilkan suatu hasil. Berikut adalah struktur penjelasan secara detail database yang digunakan: A.
Tambahan Tabel Paris 1. Tabel lokasi_slot Nama tabel
: lokasi_slot
Primary Key : ls_id Foreign key
: id_kuota
Fungsi
: menyimpan data lokasi slot Tabel 3. 12 Tabel Lokasi Slot
No
Nama Field
Tipe Data
Constraint
(Lebar)
Foreign Key Tabel
Kolom -
1
ls_id
varchar(5)
PK
-
2
id_kuota
Int
FK
kuota_parkir id_kuota
3
ls_nama
varchar(100) Not Null
2. Tabel slot Nama tabel
: slot
Primary Key : slot_id Foreign key
: ls_id
Fungsi
: menyimpan data slot
-
-
71
Tabel 3. 13 Tabel Slot No
Nama Field
Tipe Data
Constraint
(Lebar)
B.
Foreign Key Tabel
Kolom -
1
slot_id
varchar(5)
PK
-
2
ls_id
varchar(5)
FK
lokasi_slot ls_id
3
slot_status
varchar(1)
Not Null
-
4
slot_id_alat
varchar(50)
-
DATABASE PARIS MK 1. Tabel log_sync Nama tabel
: log_sync
Primary Key : slot_id Foreign key
:-
Fungsi
: menyimpan data log_sync Tabel 3. 14 Tabel log Sync
No
Nama Field
Tipe Data
Constraint
(Lebar) PK
Foreign Key Tabel
Kolom
-
-
1
lokasi_id
varchar(5)
2
klien_id
varchar(15) FK
Klien
klien_id
3
log_tgl
date
Not Null
-
-
4
log_jam
time
Not Null
-
-
5
log_aktifitas
varchar(50) Not Null
-
-
6
log_tabel
varchar(50) Not Null
-
-
72
7
log_jumlah
int
Not Null
-
-
8
log_status
varchar(20) Not Null
-
-
2. Tabel klien Nama tabel : klien Primary Key: klien_id Foreign key: Fungsi: menyimpan data klien Tabel 3. 15 Tabel Klien No
Nama Field
Tipe Data
Constraint
(Lebar)
Tabel
Kolom
-
-
1
klien_id
varchar(15)
2
klien_nama
varchar(100) Not Null
-
-
3
klien_tgl_daftar
Date
Not Null
-
-
4
klien_status_aktif varchar(1)
Not Null
-
-
5
user_id
FK
user
user_id
varchar(20)
3. Tabel user Nama tabel
: user
Primary Key : user_id Foreign key
:-
Fungsi
: menyimpan data user
PK
Foreign Key
73
Tabel 3. 16 Tabe User No
Nama Field
Tipe Data
Constraint
Foreign Key
(Lebar)
Tabel
Kolom
1
user_id
varchar(20) PK
-
-
2
user_nama
varchar(50) Not Null
-
-
3
user_password
varchar(50) Not Null
-
-
4
user_aktif
varchar(1)
-
-
Not Null
4. Tabel ringkasan_kehilangan Nama tabel
: ringkasan_kehilangan
Primary Key : rk_id, lokasi_id, klien_id Foreign key
:-
Fungsi
: menyimpan data ringkasan kehilangan Tabel 3. 17 Tabel Ringkasan Kehilangan
No
Nama Field
Tipe Data
Constraint
Foreign Key
(Lebar)
Tabel
Kolom -
1
rk_id
varchar(20) PK
-
2
lokasi_id
varchar(5)
lokasi_parkir lokasi_id
3
klien_id
varchar(15) FK
klien
klien_id
4
rk_tgl
date
Not Null
-
-
5
rk_jam_awal
time
Not Null
-
-
6
rk_jam_akhir
time
Not Null
-
-
7
rk_parameter
varchar(10) Not Null
-
-
FK
74
8
rk_jumlah
int
Not Null
-
-
9
rk_denda
float
Not Null
-
-
5. Tabel ringkasan_transaksi Nama tabel
: ringkasan_transaksi
Primary Key : rt_id, lokasi_id, klien_id Foreign key
:-
Fungsi
: menyimpan data ringkasan transaksi Tabel 3. 18 Tabel Ringkasan Transaksi
No
Nama Field
Tipe Data
Constraint
Foreign Key
(Lebar)
Tabel
Kolom -
1
rt_id
varchar(20) PK
-
2
lokasi_id
varchar(5)
lokasi_parkir lokasi_id
3
klien_id
varchar(15) FK
klien
klien_id
4
rt_tgl
date
Not Null
-
-
5
rt_jam_awal
time
Not Null
-
-
6
rt_jam_akhir
time
Not Null
-
-
7
rt_jumlah
float
Not Null
-
-
8
rt_biaya
float
Not Null
-
-
FK
6. Tabel lokasi_parkir Nama tabel
: lokasi_parkir
Primary Key : rt_id, lokasi_id, klien_id Foreign key
:-
75
Fungsi
: menyimpan data lokasi parkir Tabel 3. 19 Tabel Lokasi Parkir
No
Nama Field
Tipe Data
Constraint
(Lebar)
Foreign Key Tabel
Kolom
1
lokasi_id
varchar(5)
PK
-
-
2
klien_id
varchar(15)
FK
klien
klien_id
3
lokasi_nama
varchar(100) Not Null
-
-
4
lokasi_alamat
varchar(200) Not Null
-
-
5
lokasi_password
varchar(100) Not Null
-
-
6
lokasi_db_nama
varchar(50)
Not Null
-
-
7
lokasi_db_user
varchar(50)
Not Null
-
-
8
lokasi_db_password varchar(100) Not Null
-
-
3.2.8 Desain Input Output Desain input output dibuat untuk memberikan gambaran kepada programmer dan pengguna sistem bagaimana rupa aplikasi PMK dan cara interaksi sistem dengan penggunanya. Berikut adalah desain input output aplikasi PMK: 1.
Login Paris Manajemen Klien Halaman login digunakan untuk keamanan sistem. User klien atau user
SSI akan melakukan login dengan memilih nama klien yang terdaftar di sistem kemudian memasukkan id user dan password. Jika data yang dimasukkan valid maka halaman akan berpindah ke halaman dashboard Paris Manajemen Klien. Jika login gagal, sistem akan menampilkan jika data yang dimasukkan salah.
76
Gambar 3. 13 Desain Login Paris Manajemen Klien 2.
Membuat Master Klien Halaman ini digunakan oleh SSI untuk menambah, merubah, atau
menghapus data klien.
Gambar 3. 14 Desain Membuat Master Klien 3.
Membuat Master Lokasi Parkir Halaman ini digunakan untuk menambah, merubah, atau menghapus data
lokasi parkir klien. Dimulai dengan sistem yang menampilkan daftar klien yang terdaftar di sistem, kemudian SSI memilih klien yang akan ditambah atau diubah
77
datanya maka sistem akan menampilkan daftar lokasi parkir dari klien yang telah dipilih. Terdapat tombol tambah, edit atau hapus untuk melakukan proses-proses tersebut.
Gambar 3. 15 Desain Membuat Master Lokasi Parkir 4.
Membuat Master User Halaman ini digunakan oleh SSI untuk menambah, merubah, atau
menghapus data user SSI yang dapat masuk ke aplikasi Paris Manajemen Klien.
78
Gambar 3. 16 Desain Membuat Master User 5.
Menjalankan Paris Online Menjalankan paris online digunakan klien atau SSI untuk masuk ke Paris-
paris online. Pertama yang harus dilakukan adalah memilih klien dari daftar klien yang ditampilkan sistem, setelah dipilih akan muncul daftar lokasi parkir dari klien tersebut. Pilih lokasi parkir yang diinginkan dan halaman website akan berpindah ke Paris online lokasi yang telah dipilih.
Gambar 3. 17 Desain Menjalankan Paris Online 6.
Membuat Master Slot Parkir Halaman ini digunakan untuk menambah, merubah, atau menghapus data
slot parkir. Dimulai dengan sistem yang menampilkan daftar area parkir yang
79
terdaftar di sistem, kemudian SSI memilih area parkir yang akan ditambah atau diubah datanya maka sistem akan menampilkan daftar lokasi slot dari area yang telah dipilih. Terdapat tombol tambah, edit atau hapus untuk melakukan prosesproses tersebut.
Gambar 3. 18 Desain Membuat Master Slot Parkir 7.
Sinkronisasi Database dan Sinkronisasi Slot Parkir Sinkronisasi database dan sinkronisasi slot parkir adalah menu tambahan
di Paris offline, tampilannya akan seperti gambar dibawah ini. Terdapat 2 teks area yang menampilkan history sinkronisasi database dan sinkronisasi slot parkir.
Gambar 3. 19 Desain sinkronisasi database dan sinkronisasi slot parkir
80
8.
Laporan Pendapatan dan Kehilangan Klien Laporan pendapatan dan kehilangan klien akan terdapat 3 informasi yaitu
transaksi, pendapatan, dan kehilangan. Desainnya akan tampak seperti berikut:
Gambar 3. 20 Desain Laporan Pendapatan Klien 9.
Laporan Pendapatan dan Kehilangan Lokasi Parkir Laporan pendapatan dan kehilangan lokasi parkir akan terdapat 4
informasi yaitu transaksi, pendapatan, kehilangan, dan member. Desainnya akan tampak seperti berikut:
81
Gambar 3. 21 Desain Laporan Pendapatan Lokasi Parkir 10.
Login Paris Mobile Login Paris mobile ini digunakan untuk memberikan hak akses untuk
member parkir yang terdaftar di Paris untuk mendapatkan informasi ketersediaan slot parkir di lokasi-lokasi parkir Paris.
82
Gambar 3. 22 Desain Login Paris Mobile
Gambar 3. 23 Desain informasi Ketersediaan Slot Parkir 3.2.9 Rancangan Pengujian dan evaluasi Rancangan uji coba bertujuan untuk memastikan bahwa aplikasi telah dibuat dengan benar sesuai kebutuhan atau tujuan yang diharapkan. Kekurangan atau kelemahan sistem pada tahap ini akan dievaluasi sebelum diimplementasikan. Proses pengujian menggunakan Black Box Testing yaitu aplikasi akan diuji dengan melakukan berbagai percobaan untuk membuktikan bahwa aplikasi yang
83
telah dibuat sudah sesuai dengan tujuan. Berikut ini adalah tabel pengujian yang akan dilakukan untuk menguji aplikasi: Tabel 3. 20 Tabel Pengujian Requirement yang diuji Master lokasi slot
Fungsi yang diuji 1. Tambah lokasi slot 2. Edit lokasi slot 3. Hapus lokasi slot 4. Simpan id perangkat
Sinkronisasi database
1. Sinkronisasi database
Sinkronisasi slot parkir
1. Sinkronisasi slot parkir
Paris mobile
1. Login Paris Mobile
Login Paris Manajemen Klien
1. login user klien 2. login user SSI
Membuat Master klien
1. Tambah klien baru 2. Edit klien
Membuat Master Lokasi Parkir
1. Tambah lokasi parkir 2. Edit lokasi parkir
Membuat Master User
1. Tambah user baru 2. Edit user
Menjalankan Paris online
1. Menjalankan Paris online
Buat Laporan
1. Laporan
pendapatan
dan
kehilangan klien 2. Laporan
pendapatan
dan
84
kehilangan lokasi parkir A.
Desain Uji Coba Membuat Master Lokasi Slot Desain uji coba ini bertujuan untuk menguji apakah fungsi membuat
master lokasi slot dapat berjalan sesuai yang diharapkan. Desain uji coba master lokasi slot dilihat pada Tabel 3.21. Tabel 3. 21 Tabel Uji Coba Master Lokasi Slot Test
Output yang Status diharapkan
Tujuan
Input
1.
Tambah slot parkir
Nama lokasi slot, Data berhasil jumlah slot disimpan
2.
Mencoba menambah slot tanpa isi nama dan jumlah slot
3.
Edit lokasi slot
Nama lokasi slot, Data berhasil jumlah slot disimpan
4.
Hapus lokasi slot
Klik tombol hapus Data lokasi slot pada lokasi yang berhasil dihapus ingin dihapus
5.
Simpan perangkat
Case ID
B.
Harap form
lengkapi
id Id perangkat Data berhasil masing-masing slot disimpan
Sinkronisasi Database Desain uji coba ini bertujuan untuk menguji apakah fungsi sinkronisasi
database dapat berjalan sesuai yang diharapkan. Desain uji coba sinkronisasi database dilihat pada Tabel 3.22. Tabel 3. 22 Tabel Uji Coba Sinkronisasi Database Test Case ID
Tujuan
Input
Output yang Status diharapkan
85
Test Case ID 1.
C.
Tujuan
Input
Sinkronisasi database
-
Output yang Status diharapkan Sinkronisasi database berhasil
Sinkronisasi Slot Parkir Desain uji coba ini bertujuan untuk menguji apakah fungsi sinkronisasi
slot parkir dapat berjalan sesuai yang diharapkan. Desain uji coba sinkronisasi slot parkir dilihat pada Tabel 3.23. Tabel 3. 23 Tabel Uji Coba Sinkronisasi Database Test Tujuan
Case ID
Sinkronisasi parkir
1.
D.
Input slot
-
Output yang Status diharapkan Sinkronisasi data slot berhasil
Paris Mobile Desain uji coba ini bertujuan untuk menguji apakah fungsi Paris mobile
dapat berjalan sesuai yang diharapkan. Desain uji coba Paris mobile dilihat pada Tabel 3.24. Tabel 3. 24 Tabel Uji Coba Paris Mobile Test
Output yang Status diharapkan
Tujuan
Input
1.
Login Paris Mobile
Id klien, member, password
2.
Login Paris Mobile Id klien, id Data tidak dengan password member, password ditemukan atau yang salah salah password salah
Case ID
id Masuk ke dan aplikasi Paris Mobile dan menampilkan Informasi slot kosong
86
E.
Login Paris Manajamen Klien Desain uji coba ini bertujuan untuk menguji apakah fungsi login Paris
Manajemen Klien dapat berjalan sesuai yang diharapkan. Desain uji coba login Paris Manajemen Klien dapat dilihat pada Tabel 3.25. Tabel 3. 25 Tabel Uji Coba Login Paris Manajemen Klien Test Input
1.
Login user klien
Klien id, user id, Masuk ke dan password aplikasi Paris Manajemen Klien
2.
Login user klien Klien id, user id, Username atau dengan password password password tidak salah valid, silahkan masukkan kembali
3.
Login user SSI
4.
Login user SSI user id, password dengan password salah
Case ID
F.
Output yang Status diharapkan
Tujuan
user id, password
dan Masuk ke aplikasi Paris Manajemen Klien Username atau password tidak valid, silahkan masukkan kembali
Membuat Master Klien Desain uji coba ini bertujuan untuk menguji apakah fungsi membuat
membuat master klien dapat berjalan sesuai yang diharapkan. Desain uji coba membuat master klien dapat dilihat pada Tabel 3.26.
87
Tabel 3. 26 Tabel Uji Coba Membuat Master Klien Test
Output yang Status diharapkan
Tujuan
Input
1.
Tambah klien baru
Nama klien, Data berhasil tanggal daftar, dan disimpan status aktif
2.
Tambah klien baru Tanggal daftar dan Data belum tanpa memasukkan status aktif lengkap, mohon nama dicek dan dilengkapi terlebih dahulu
3.
Edit data klien
4.
Edit klien tanpa Tanggal daftar dan Data belum memasukkan nama status aktif lengkap, mohon dicek dan dilengkapi terlebih dahulu
Case ID
G.
Nama klien, Data berhasil tanggal daftar, dan disimpan status aktif
Membuat Master Lokasi Parkir Desain uji coba ini bertujuan untuk menguji apakah fungsi membuat
master lokasi parkir dapat berjalan sesuai yang diharapkan. Desain uji coba membuat master lokasi parkir dapat dilihat pada Tabel 3.27. Tabel 3. 27 Tabel Uji Coba Membuat Master Lokasi Parkir Test Case ID 1.
Tujuan Tambah parkir baru
Input
Output yang Status diharapkan
lokasi Nama lokasi parkir, Data berhasil alamat, password disimpan sinkronisasi database, nama database, user database, password
88
Test Case ID
Tujuan
Output yang Status diharapkan
Input database
2.
Tambah lokasi Alamat, password parkir baru tanpa sinkronisasi memasukkan nama database, nama database, user database, password database
3.
Edit lokasi parkir
4.
Edit lokasi parkir Alamat, password tanpa memasukkan sinkronisasi nama lokasi parkir database, nama database, user database, password database
H.
Data belum lengkap, mohon dicek dan dilengkapi terlebih dahulu
Nama lokasi parkir, Data berhasil alamat, password disimpan sinkronisasi database, nama database, user database, password database Data belum lengkap, mohon dicek dan dilengkapi terlebih dahulu
Membuat Master User Desain uji coba ini bertujuan untuk menguji apakah fungsi membuat
master user dapat berjalan sesuai yang diharapkan. Desain uji coba membuat master user dapat dilihat pada Tabel 3.28. Tabel 3. 28 Tabel Uji Coba Membuat Master User Test Tujuan
Input
1.
Tambah user baru
Nama password, status aktif
2.
Tambah user baru Password tanpa memasukkan
Case ID
Output yang Status diharapkan user, Data berhasil dan disimpan dan Data belum lengkap, mohon
89
Test
Output yang Status diharapkan
Tujuan
Input
nama
status aktif
dicek dan dilengkapi terlebih dahulu
3.
Edit data user
Nama password, status aktif
user, Data berhasil dan disimpan
4.
Edit user tanpa Password memasukkan nama status aktif
dan Data belum lengkap, mohon dicek dan dilengkapi terlebih dahulu
Case ID
I.
Menjalankan Paris Online Desain uji coba ini bertujuan untuk menguji apakah fungsi menjalankan
Paris online dapat berjalan sesuai yang diharapkan. Desain uji coba menjalankan Paris online dapat dilihat pada Tabel 3.29. Tabel 3. 29 Tabel Uji Coba Menjalankan Paris Online Test Case ID 1.
J.
Tujuan
Input
Output yang Status diharapkan
Menjalankan Paris Klik lokasi parkir Masuk online yang ingin aplikasi dikunjungi Paris online onlinenya dituju
ke Paris yang
Evaluasi Kesesuaian Hasil Akhir Sistem Evaluasi kesesuaian hasil akhir sistem adalah sebuah pengujian untuk
mengetahui apakah sistem yang dibangun telah memenuhi kebutuhan-kebutuhan yang terdapat pada latar belakang permasalahan. Sistem yang dibangun juga harus mengatasi permasalahan-pemersalahan yang telah diungkapkan pada latar belakang. Desain uji coba kesesuaian hasil akhir sistem dapat dilihat pada Tabel
90
3.31. Tabel 3. 30 Tabel Evaluasi Sistem No.
Kebutuhan 1.
Sistem dapat mengelola klienklien Paris
2.
Sistem dapat mengelola lokasilokasi parkir Paris
3.
Sistem dapat menginformasikan ketersediaan slot parkir di suatu lokasi Paris
Hasil
Bukti