Sesuai dengan permintaan dari Dosen RPL, maka saya akan mempublikasikan jawaban saya atas soal Ujian Tengah Semester mata kuliah Rekayasa Perangkat Lunak pada blog ini. Adapun secara garis besar soal UTS ini merupakan sebuah perancangan perangkat lunak untuk sistem parkir pada sebuah mall. Untuk penamaan mall fiktif ini saya beri nama Grand Aden Mall Surabaya, sedangkan solusinya diberi nama SmartParking version 1.0
Diketahui:
Anda adalah seorang desainer arsitektur sistem yang baru saja memenangan sebuah tender pengerjaan proyek mesin parkir di suatu Mall. Dalam diskusi bersama user, anda menyepakati nama mesin tersebut adalah SmartParking. Mesin tersebut nantiya digunakan untuk mengelola secara rapi dan teratur mekanisme perparkiran, antara kendaraan yang akan parkir dan kendaraan yang akan keluar. Mesin tersebut tidak mempunyai alat otomatis yang dapat menangkap angka dari plat nomor kendaraan sehingga masuk dalam sistem komputer, tetapi mesin tersebut diatur secara manual oleh seorang operator. Operator adalah orang yang sudah terdaftar didalam sistem parkir SmartParking ini.
Manajemen parkir telah mengatur bagaimana suatu kendaraan masuk ke dalam area parkir. Area tersebut memiliki 1 gerbang parkir, sehingga kendaraan yang akan masuk dalam area mengatri satu baris. Pada gilirannya, setiap kendaraan berhenti ketika petugas parkir mencatat plat nomor kendaraan untuk diinputkan kedalam sistem. Agar pengemudi kendaraan tidak merasa disia-siakan berhenti dan menunggu beberapa saat sewaktu menunggu ingin masuk area, maka petugas parkir memberikan karcis tanda masuk kendaraan sebagai bukti penghargaan atas waktu yang terbuang. Kemudian kendaraan bisa diparkirkan di lahan parkir.
Dalam area parkir, pengemudi kendaraan ditawarkan jasa vallet parking dengan tambahan biaya. Namun, hal tersebut diluar sistem SmartParking. Saat kendaraan ingin keluar, karcis kendaraan yang diberikan saat kendaraan masuk, harus dikembalikan ke petugas parkir untuk memvalidasi antara bukti otentik (karcis) dengan realita (Plat nomor kendaraan). Informasi yang ada pada karcis pun dicocokkan untuk informasi yang ada pada sistem untuk mentarifkan biaya kendaraan tersebut.
Berikut ini adalah skenario sebuah sistem SmartParking sbb:
a. Memasukkan data authentkasi sebagai petugas parkir yang diketikkan melalui keyboard.
b. Mencatat (merekam) data kendaraan. Data yang dimasukkan adalah nomor plat polisi kendaraan masuk. Kemudian ada informasi data petugas dan jam masuk kendaraan serta nomor plat polisinya yang akan ditampilkan saat proses pemasukan data ini.
c. Mencatat (merekam) data kendaraan. Data yang dimasukkan adalah nomor plat polisi kendaraan yang akan keluar dan jam keluar kendaraan. Kemudian terdapat informasi total biaya parkir yang harus dibayar.
Pertanyaan:
Sesuai dengan tahapan dan output soal nomor 3, buatlah rancangan perangkat lunaknya.
Jawaban:
Sesuai dengan tahapan-tahapan pada Microsoft Solutions Framework (MSF) maka fase yang digunakan untuk perancangan perangkat lunak adalah Envisioning Phase dan Planning Phase.
Adapun proses pengerjaan rancangan sesuai metodologi dalam MSF Process Model adalah sebagai berikut:
- Analisa awal dengan hasil berupa Vision/Scope Document
- Membuat requirements list
- Membuat conceptual design
- Membuat logical design
- Membuat physical design
- Menyusun kebutuhan dan rancangan dalam sebuah Functional Specifications Document
Berikut adalah hasil dari pengerjaan soal UTS sesuai MSF Process Model
Analisa awal dengan hasil berupa Vision/Scope Document selengkapnya silahkan download (PDF) –> SmartParking Vision/Scope Document
Sebuah kutipan penting dari Vision/Scope Document:
VISI dari proyek ini adalah membuat sebuah produk bernama SmartParking. SmartParking adalah solusi manajemen perparkiran yang mudah untuk dioperasikan, aman, bebas dari kecurangan, cepat dalam melayani pelanggan dan mampu menambah pendapatan bagi Grand Aden Mall Surabaya.
Berikut adalah Scope fitur/fungsi yang terdapat pada solusi:
- Fitur log-in/log-out pengguna
- Fitur mode pemrosesan kendaraan masuk parkir
- Fungsi penyimpanan data kendaraan masuk area parkir
- Fungsi pencetakan karcis parkir
- Fitur mode pemrosesan kendaraan keluar parkir
- Fungsi penghitungan tarif parkir
- Fungsi pencetakan kuitansi parkir
- Fungsi pembuatan laporan per shift
- Fitur membuka dan menutup gerbang
- Fitur pengelolaan daftar operator
- Fitur pengaturan tarif parkir
Sistem akan didesain dengan dua kelompok fungsi utama yaitu fungsi-fungsi operator dan fungsi-fungsi admin. Dimana pada fungsi operator, sistem dapat berada pada mode pemrosesan kendaraan masuk dan mode pemrosesan kendaraan keluar. Sedangkan fungsi-fungsi admin adalah pengelolaan daftar operator dan pengaturan tarif parkir. Untuk lebih jelasnya silahkan lihat diagram hirarki proses di sebelah kiri.
Sedangkan untuk strategi rancangan teknis sistem (Technical Design Strategy) yaitu teknologi-teknologi yang digunakan untuk membentuk solusi SmartParking versi 1.0 dapat dilihat pada gambar berikut ini:
Membuat requirements list
Dari kebutuhan-kebutuhan yang ada pada Vision/Scope Document kemudian dijabarkan kembali menjadi sebuah requirements list pada gambar berikut ini:
Membuat conceptual design
Untuk conceptual design dari SmartParking dapat dilihat Use Case Diagram dibawah ini:
Membuat logical design
Dari Use Case Diagram yang terbentuk maka dibuatlah masing masing 6 buah Activity Diagram dan Sequence Diagram yang dapat dilihat dibawah ini:
Sedangkan Conceptual Class Diagram dari SmartParking v.1.0 adalah seperti pada gambar berikut ini:
Membuat physical design
Dari diagram-diagram yang terdapat pada logical design maka dapat dibuat sebuah Class Diagram seperti dibawah ini:
Terjemahan dari Class Diagram diatas adalah struktur data (tabel) berikut ini:
Tabel User | |
Atribut | Tipe Data |
IdUser | Char |
Password | Char |
JenisUser | Char |
Tabel User ini akan menyimpan data pengguna SmartParking beserta jenisnya (hak akses) yaitu “Admin” dan “Operator”
Tabel Kendaraan | |
Atribut | Tipe Data |
NoKendaraan | Char |
JamMasuk | DateTime |
IdOperatorCheckin | Char |
JamKeluar | DateTime |
IdOperatorCheckout | DateTime |
Biaya | int |
Tabel Kendaraan ini akan menyimpan data-data kendaraan yang parkir
Tabel Tarif | |
Atribut | TipeData |
Name | Char |
Value | Char |
Tabel Tarif ini akan menyimpan data tarif parkir yang berlaku saat ini. Untuk keperluan SmartParking akan dibuat 3 record yang masing-masing memiliki Name “TarifAwal”, “Durasi” dan “TarifPerjam”, dengan nilai dari konfigurasi yang bersangkutan akan dimasukkan kedalam field “Value”
Menyusun kebutuhan dan rancangan dalam sebuah Functional Specifications Document
Untuk Functional Specifications Document masih Under Construction
By: Alberto Aden on April 13, 2009
at 7:35 pm
cihuiii..
om ganteng kerennnn..
hahahaha
:p
By: Erick Gaul on Mei 30, 2009
at 12:41 am
@Erick: jgn gitu donk… khan jadi malu *shy* akakakak 😛
@yusi: lam kenal juga ^^
By: Alberto Aden on Juni 24, 2009
at 1:14 am
lam kenal….. nice blog
By: yusita on Juni 23, 2009
at 1:03 pm
gmana sih code untuk menghitung tarifnya,menyesuaikan waktu masuk hingga masuk keluar sehingga menghasilkan total tarif yg harus dibayar….saya mengalami kendala untuk membuat aplikasi sederhana sistem informasi parkir untuk UAS…..mohon bantuannya
By: panji on September 16, 2009
at 8:47 am
Ini baru namanya IT sejati,,thx ya sharing ilmunya,,sangat bermanfaat
By: Husin on Desember 9, 2009
at 1:41 am
Sama2
By: Alberto Aden on Desember 9, 2009
at 2:24 am