• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN SISTEM"

Copied!
62
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Permasalahan yang Dihadapi

3.1.1 Analisis Masalah

M asalah yang muncul dalam perparkiran kendaraan di suatu tempat, seperti pusat perbelanjaan, universitas, atau tempat umum lainnya, diantaranya adalah tidak tersedianya informasi parkir yang lengkap, informatif dan interaktif sehingga menyebabkan pengguna parkir cenderung kesulitan menemukan lokasi parkir yang kosong dan yang jaraknya diharapkan terdekat dari pintu masuk pengunjung. Sebagai akibatnya, waktu dan bensin akan banyak terbuang. Bahkan tidak jarang bagi pengendara mobil yang ingin memarkirkan kendaraannya menghabiskan waktu untuk mengelilingi seluruh area parkir dan mendapati kondisi tempat parkir ternyata sudah penuh.

Hal ini dapat disebabkan karena aplikasi sistem perparkiran yang dipakai saat ini masih belum memberikan informasi lokasi tempat parkir yang kosong yang bisa segera dijangkau oleh penggunanya.

3.1.2 Teknologi yang telah ada

Di Indonesia terdapat banyak sistem parkir seperti Secure Parking,

(2)

banyak digunakan di tempat-tempat parkir yang cukup sibuk seperti pertokoan, supermarket atau mal tersebut saat ini masih belum mengunakan konsep pencarian lokasi parkir yang kosong dengan menggunakan peta lokas i parkir. Kebanyakan dari sistem tersebut hanya mencatat waktu masuk dan waktu keluar dari mobil serta menghitung lamanya suatu mobil berada di tempat parkir yang digunakan untuk menghitung biaya sewa parkir. Sistem ini hanya penguntungkan pihak pemilik perparkiran dalam memudahkan menghitung sewa parkir dan keamanan kendaraan yang diparkir. Tetapi sistem ini belum menguntungkan pengguna parkir karena sistem tidak mengetahui penuh tidaknya tempat parkir sehingga kalau ada mobil masuk dan ternyata tempat parkir sudah penuh, maka mobil tersebut akan mencari sendiri lokasi parkir sampai tidak ditemukan lokasi parkir dan akhirnya keluar dan tidak jadi parkir. Pada kasus seperti ini penguna akan dirugikan karena waktu akan terbuang percuma dalam mencari lokasi parkir disamping itu juga akan terjadi pemborosan bahan bakar selama pencarian lokasi parkir

Beberapa teknologi lainnya sedang dikembangkan untuk semakin memenuhi kebutuhan pengguna dalam sistem perparkiran yang dapat memberikan informasi yang lengkap dan menjadikan waktu proses perparkiran tersebut lebih efektif dan penggunaan bahan bakar.semakin efisien. Diantaranya adalah upaya memasukkan salah satu bidang ilmu komputer Kecerdasan Buatan ke dalam aplikasi yang dibuat sehingga mampu memberikan informasi mengenai lokasi parkir yang kosong dengan jarak yang terdekat dari pintu masuk. Namun di negara kita, teknologi tersebut masih jarang sekali diimplementasikan.

(3)

3.1.3 Alternatif Pemecahan Masalah

Aplikasi sistem perparkiran yang banyak digunakan di tempat-tempat parkir yang cukup sibuk yang ada saat ini masih belum memberikan informas i lokasi tempat parkir yang kosong yang bisa segera dijangkau oleh penggunanya. Oleh karena itu, diperlukan suatu metode untuk memberikan informasi kepada pengguna parkir, tempat terdekat yang tersedia

Pemecahan dari masalah tersebut adalah sebuah sistem perparkiran yang menyimpan data peta lokasi parkir mobil disamping menyimpan data keluar-masuknya mobil yang parkir. Basis data spasial adalah model basis data yang menyimpan 2 jenis data yaitu data lokasi dan data aribut yang berguna untuk mendeskripsikan informasi tiap-tiap objek dalam suatu ruang tertentu (dalam hal ini dibatasi pada ruang lokasi parkir). Salah satu kelebihan menggunakan model basis data spasial adalah terhubungnya data wilayah (peta) dengan basis data. Dengan demikian, data spasial tersebut dapat digunakan untuk memberikan visualisasi lokasi parkir serta penyajian dan pencarian data kendaraan yang parkir di lokasi tersebut secara interaktif.

Dengan menyimpan data lokasi dan data atribut setiap plot-plot parkir yang merupakan representasi dari peta, aplikasi dapat mengolah data tersebut dengan mengimplementasikan algoritma shortest path untuk mencari dan menunjukkan arah menuju tempat parkir kosong yang terdekat dari pintu masuk parkir. Pada karcis parkir yang diberikan kepada pengendara mobil tidak hanya tertera plat nomor dan jam masuk saja, juga tertera arah atau

(4)

petunjuk melewati jalan mana saja supaya pengendara mobil dapat mencapai tempat parkirnya.

Sistem akan dikembangkan dengan tidak mengurangi kemampuan fungsional sistem parkir yang telah ada, yaitu dengan tetap mengimplementasikan sistem client-server dan dengan inputan berupa nomor mobil, sistem mencatat waktu masuk dan waktu keluar serta pelaporan transaksi parkir. Sistem dikembangkan dengan menambahkan fungsi input peta lokasi parkir dan kemampuan untuk mencari posisi tempat parkir kosong terdekat dengan pintu masuk. Selain itu kelebihan sistem yang akan dikembangkan ini adalah kemampuan memberikan petunjuk lokasi tempat parkir dan bagaimana mencapai lokasi parkir tersebut dengan petunjuk arah yang dicetak pada karcis parkir.

3.2 Analisis Kebutuhan

Kebutuhan data dan informasi dalam sistem parkir ini adalah :

• Dibutuhkan informasi apakah masih ada tempat parkir yang tersedia.

• Dibutuhkan data tentang kendaraan yang masuk dan keluar dari tempat parkir. • Dibutuhkan informasi tentang tempat parkir tersedia yang paling dekat

dengan pintu masuk parkir dan bagaimana mencapai lokasi parkir tersebut • Dibutuhkan data tentang lamanya kendaraan menggunakan lahan parkir.

• Dibutuhkan informasi data kendaraan yang menggunakan tempat parkir tertentu.

(5)

3.3 Perancangan Sistem

3.3.1 Kebutuhan fungsional

• Sistem menyimpan data lokasi dan data atribut/keterangan setiap plot parkir ke dalam basis data.

• Sistem memberikan informasi mengenai tempat parkir kosong terdekat kepada pengguna parkir.

• Sistem memberikan informasi petunjuk arah dalam tiket yang dicetak untuk mencapai lokasi tempat parkir yang ditentukan untuk pengguna parkir.

• Sistem memberikan informasi mengenai jumlah parkir yang tersedia secara interaktif kepada pengguna parkir.

• Sistem memberikan visualisasi lokasi parkir serta penyajian dan pencarian data kendaraan yang parkir di lokasi tersebut secara interaktif.

• Sistem memberikan informasi laporan transaksi parkir pada periode tertentu kepada pihak pengelola parkir.

3.3.2 Perancangan sistem

Perancangan sistem merupakan kegiatan pengembangan sistem dan prosedur baru dalam kaitannya dengan sasaran yang ingin dicapai dari penerapan sistem tersebut. Dengan demikian akan diketahui konsep dari sistem itu bekerja sehingga kebutuhan dan informasi yang dibutuhkan akan terdefinisi secara jelas.

(6)

Bagian dari sistem parkir yang akan dikembangkan antara lain : • Administrator

Administrator adalah orang yang bertugas mengoperasikan aplikasi server. Administrator berperan untuk meng-insert data-data plot parkir ke dalam bas is data pertama kali. Administrator juga berperan untuk mengaktifkan server karena aplikasi tidak dapat berjalan jika

server belum aktif. Di samping itu, administrator juga me-manage

data petugas loket, mencari data mobil yang sedang parkir, serta melihat laporan data-data transaksi parkir untuk kebutuhan manajemen, dan me-monitoring keadaan lokasi parkir.

• Petugas loket

Petugas loket terbagi menjadi dua, yaitu petugas loket parkir masuk dan petugas loket parkir keluar.

Petugas loket parkir masuk menjaga aplikasi di pintu loket masuk. Dan jika ada mobil datang untuk parkir, petugas loket bertugas memasukkan nomor mobil yang akan parkir. Dengan inputan nomor mobil, aplikasi akan memberikan informasi plot parkir terdekat beserta arah petunjuk jalan menuju tempat parkir tesebut, serta server akan memproses transaksi mobil masuk.

Petugas loket parkir keluar menjaga aplikasi di pintu loket keluar. Jika ada mobil akan keluar, petugas loket parkir keluar akan memasukkan nomor mobil yang keluar, sehingga transaksi mobil keluar akan

(7)

diproses oleh server dan petugas menerima pembayaran dari pengguna parkir.

Server

Server bertugas untuk melayani permintaan perintah dari client untuk

meng-generate tempat parkir yang paling dekat dengan pintu masuk (dengan metode shortest path). Hasil plot parkir yang di-generate akan dikirim balik ke aplikasi client. Server juga memproses transaksi mobil masuk dan keluar. Untuk menjaga validitas dan konsistensi data, proses manipulasi data akan dilakukan oleh server.

• Basis Data

Berisi data-data yang diperlukan sistem. Antara lain adalah locational

data plot-plot parkir, dan data-data mengenai transaksi parkir. Dalam

sistem ini, model basis data yang dipakai adalah model basis data spasial (dalam bentuk struktur data vektor) yang digabungkan dengan pendekatan basis data relasional. M odel basis data spasial itu sendiri menyimpan 2 jenis data : data lokasi dan data atribut. Pendekatan basis data relational digunakan untuk menggambarkan hubungan antara tabel-tabel. Untuk menghubungkan 2 tabel, di satu tabel akan terdapat kolom identifier(key) yang isinya merupakan reference ke suatu kolom di tabel lain.

(8)

3.3.3 Prosedur kerja sistem

Berikut ini adalah gambaran model sistem yang dikembangkan :

` ` Administrato r / Server Clien t 1 (Petugas Parkir Masuk)

Cl ient 2 (Petu gas Pa rki r Keluar)

Printer untuk men cetak ka rci s

masuk

Printer u ntuk me ncetak karcis

kel uar

Gambar 3.1 Model S mart Park S ystem

Prosedur / alur kerja sistem adalah sebagai berikut :

1. Ketika ada mobil datang untuk parkir, jika plot parkir sudah terisi semua, maka sistem akan memberikan pesan, sehingga mencegah mobil masuk untuk parkir.

2. Jika masih ada tempat parkir yang kosong, maka petugas loket akan mengentri data mobil yang masuk, dan mengirim request ke server untuk meng-generate tempat parkir yang kosong serta memberikan informasi petunjuk arah menuju plot parkir tersebut.

3. Server akan meng-generate tempat parkir yang kosong (dengan

(9)

meng-generate informasi petunjuk arah menuju plot parkir tersebut. Setelah itu server akan memasukkan data transaksi parkir masuk dan juga meng-update status plot parkir menjadi not available. Setelah data transaksi dimasukkan, hasil plotID dan petunjuk arah akan dikirim kembali ke aplikasi yang dijalankan petugas loket untuk dicetak di karcis masuk.

4. Karcis masuk akan dicetak, dan diberikan kepada pengguna parkir sebagai bukti parkir. Karcis masuk tersebut berisi informasi: Waktu Datang, Nomor M obil, nomor plot parkir yang ditempati dan petunjuk jalan menuju plot parkir tersebut dalam bentuk keterangan tertulis. 5. Jika mobil keluar, maka petugas loket parkir keluar akan mengentri

data mobil yang keluar, dan aplikasi akan memproses data transaksi mobil keluar, mengubah status plot parkir yang baru ditinggalkan menjadi available, dan menghitung biaya parkir. Petugas akan menerima pembayaran dari pengguna parkir, dan memberikan kembalian (jika ada) kepada pengguna parkir.

3.4 Perancangan UML

3.4.1 Class Diagram

Class Diagram dibawah ini menunjukan entitas yang ada pada sistem dan bagaimana entitas tersebut saling berhubungan.

(10)
(11)

3.4.2 Use Case Diagram

Use Case diagram di bawah memberikan gambaran mengenai sistem

“Smart Park” dari sudut pandang petugas loket, dimana petugas loket dapat

memilih menu pada aplikasi, baik untuk transaksi mobil masuk dan untuk transaksi mobil keluar.

(12)
(13)

3.4.2.1 Identifikasi Actor

Aktor yang berinteraksi dengan sistem meliputi sistem administrator, petugas loket dan server. Sistem administrator bertugas untuk mengelola aplikasi server. Sementara itu, petugas loket dapat melakukan berbagai aktivitas transaksi parkir masuk dan transaksi parkir keluar. Sedangkan server bertugas untuk menjalankan modul

shortest path.

3.4.2.2 Use Case S cenario

3.4.2.2.1 Use Case Log In

Deskripsi : Use case ini menggambarkan petugas loket ketika melakukan Log In pada aplikasi client.

Aktor : Petugas Loket Included Use Case : -

Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika petugas loket menjalankan aplikasi client.

2. Petugas loket memasukkan username dan password pada layar log in aplikasi client.

3. Aplikasi client melakukan pengecekan apakah server sudah aktif

4. Aplikasi client mengirimkan data username dan password ke server.

(14)

5. Aplikasi server melakukan koneksi database.

6. Aplikasi server melakukan pengecekan data username dan password dari database.

7. Aplikasi server mengirinkan hasil ke aplikasi client 8. Aplikasi server memutuskan koneksi database.

9. Aplikasi server mengirimkan hasilnya kepada aplikasi

client.

10. Aplikasi client nenampilkan hasil pengecekan ke layar. AKHIR USE CASE

3.4.2.2.2 Use Case Entry Car In

Deskripsi : Use case ini menggambarkan petugas loket ketika melakukan transaksi parkir masuk pada aplikasi client.

Aktor : Petugas Loket

Included Use Case : Find Nearest Available Space

Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika mobil datang.

2. Petugas loket memasukkan nomor polisi mobil.

3. Aplikasi client mengirimkan data transaksi parkir masuk ke aplikasi server.

4. Aplikasi server akan menjalankan modul mencari jarak terpendek mencapai plot parkir yang dapat ditempati.

(15)

5. Aplikasi server akan menjalankan transaksi insert transaksi mobil masuk ke database.

6. Aplikasi server akan mengirimkan data plot ID ke aplikasi client.

7. Aplikasi client akan menampilkan data transaksi parkir masuk dan mencetak karcis parkir masuk.

AKHIR USE CASE

3.4.2.2.3 Use Case Find Nearest Available Space

Deskripsi : Use case ini menggambarkan

server menjalankan modul mencari plot parkir terdekat dan

kosong.

Aktor : Server

Included Use Case : - Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika modul shortest path dipanggil. 2. Sistem akan menjalankan algoritma A* untuk mencari

plot parkir terdekat dan kosong dari data spasial lokasi parkir yang terdapat dalam basis data.

3. M odul shortest path akan mengembalikan nomor plot terdekat yang dapat ditempati ke sistem.

(16)

3.4.2.2.4 Use Case Show Directions to Nearest Available

Space

Deskripsi : Use case ini menggambarkan

server menjalankan modul menggenerate arah menuju plot

parkir yang kosong dan dapat ditempati. Aktor : Server

Included Use Case : - Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika sistem melakukan pengecekan di database kapasitas parkir yang dapat ditempati setiap rentang waktu tertentu

2. Sistem akan menjalankan algoritma A* untuk mencari plot parkir terdekat dan kosong dari data spasial lokasi parkir yang terdapat dalam basis data.

3. M odul algoritma mencari arah menuju nomor plot parkir akan mengembalikan hasil kepada sistem di

server

4. Server akan mengirimkan list arah ke client AKHIR USE CASE

(17)

3.4.2.2.5 Use Case Report Available Space and Used Space

Deskripsi : Use case ini menggambarkan server menjalankan modul menggenerate arah menuju plot parkir yang kosong dan dapat ditempati.

Aktor : Server

Included Use Case : - Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika sistem melakukan pengecekan di database kapasitas parkir yang dapat ditempati setiap rentang waktu tertentu

2. Aplikasi client akan mengirimkan request ke aplikasi

server.

3. Aplikasi server akan melakukan pengecekan ke

database berapa jumlah tempat parkir yang terisi dan

jumlah tempat parkir yang kosong (tersedia).

4. Aplikasi server akan mengirimkan angka tersebut ke aplikasi client.

AKHIR USE CASE

3.4.2.2.6 Use Case View Park

Deskripsi : Use case ini menggambarkan modul melihat peta parkir yang ada dilihat dari sisi sistem administrator dan petugas loket.

(18)

Aktor : Petugas Loket dan Sistem Administrator

Included Use Case : - Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika menu view park dipilih pada aplikasi server maupun aplikasi client.

2. Aplikasi akan melakukan query ke database untuk meretrieve data

3. Aplikasi client akan mengirimkan data ke aplikasi

server

4. Aplikasi server akan melakukan pengecekan apakah nomor polisi yang dimasukkan tersebut sedang parkir. 5. Aplikasi server akan melakukan insert transaksi parkir

keluar ke database.

6. Aplikasi server akan mengirimkan hasil ke aplikasi

client.

AKHIR USE CASE

3.4.2.2.7 Use Case Entry Car Out

Deskripsi : Use case ini menggambarkan

server menjalankan modul menggenerate arah menuju plot

parkir yang kosong dan dapat ditempati. Aktor : Petugas Loket

(19)

Included Use Case : - Langkah-langkah : AWAL USE CASE

1. Use case dimulai ketika mobil datang ke loket pintu keluar.

2. Petugas loket akan memasukkan nomor polisi mobil yang masuk

3. Aplikasi client akan mengirimkan data ke aplikasi

server

4. Aplikasi server akan melakukan pengecekan apakah nomor polisi yang dimasukkan tersebut sedang parkir. 5. Aplikasi server akan melakukan insert transaksi parkir

keluar ke database.

6. Aplikasi server akan mengirimkan hasil ke aplikasi

client.

AKHIR USE CASE

3.4.2.2.8 Use Case Log Out

Deskripsi : Use case ini menggambarkan petugas loket ketika melakukan transaksi parkir keluar

Aktor : Petugas Loket Included Use Case : -

Langkah-langkah : AWAL USE CASE

(20)

1. Use case dimulai ketika petugas loket memilih menu

Log Out.

2. Aplikasi client akan memutuskan koneksi ke aplikasi

server.

3. Aplikasi client akan menampilkan kembali layar Log In AKHIR USE CASE

3.4.3 Sequence Diagram

3.4.3.1 Sequence Diagram untuk Login Sukses

(21)

3.4.3.2 Sequence Diagram untuk Login Gagal

(22)

3.4.3.3 Sequence Diagram untuk Mengentri Mobil Masuk

(23)

3.4.3.4 Sequence Diagram untuk Mencari data kendaraan yang sedang parkir

(24)

3.4.3.5 Sequence Diagram Jika Ada Perubahan Kapasitas Parkir

(25)

3.4.3.6 Sequence Diagram Jika Tidak Ada Perubahan Kapasitas Parkir

Gambar 3.9 S equence Diagram Jika Tidak Ada Perubahan Kapasitas Parkir

3.4.3.7 Sequence Diagram untuk Mengentri Plot Parkir ke Database

Gambar 3.10 S equence Diagram untuk Mengentri Plot Parkir ke Database

(26)

3.4.3.8 Sequence Diagram untuk Parkir Keluar Jika Plat Nomor Ada di Basis Data

Gambar 3.11 S equence Diagram untuk Parkir Keluar Jika Plat Nomor Ada di Basis Data

(27)

3.4.3.9 Sequence Diagram untuk Parkir Keluar Jika Plat Nomor Tidak Ada di Basis Data

Gambar 3.12 S equence Diagram untuk Parkir Keluar Jika Plat Nomor Tidak Ada di Basis Data

(28)

3.4.3.10 Sequence Diagram untuk View Tempat Parkir

(29)

3.4.3.11 Sequence Diagram untuk Menambah Data User Baru

Gambar 3.14 S equence Diagram untuk Menambah Data User Baru

3.4.3.12 Sequence Diagram untuk Mengubah Data User Baru

(30)

3.4.3.13 Sequence Diagram untuk Menghapus Data User Baru

Gambar 3.16 S equence Diagram untuk Menghapus Data User Baru

(31)

3.4.3.14 Sequence Diagram untuk View Report

(32)

3.4.3.15 Sequence Diagram untuk Logout

(33)

3.4.4 Deployment Diagram

(34)

3.4.5 S tate Diagram

3.4.5.1 S tate Diagram untuk Parkir Masuk

(35)

3.4.5.2 S tate Diagram untuk Parkir Keluar

Gambar 3.21 S tate Diagram untuk Parkir Keluar

3.5 Perancangan Layar In put

3.5.1 Perancangan Layar In put untuk Aplikasi Server

Aplikasi Server adalah aplikasi yang dijalankan oleh Administrator. Fungsi-fungsi yang dapat dilakukan oleh server antara lain menginputkan data dari peta, mengatur user, melihat laporan transaksi parkir, dan lainnya.

(36)

3.5.1.1 Perancangan Layar Login untuk Administrator

M enu Login adalah menu yang digunakan untuk autentikasi

user (admin).

Gambar 3.22 Perancangan Layar Login untuk Administrator

3.5.1.2 Perancangan Layar Form Utama untuk Administrator

M enu Layar Utama adalah menu yang digunakan untuk memilih menu-menu yang dapat dijalankan oleh administrator.

(37)

3.5.1.3 Perancangan Layar View Report untuk Administrator M enu View Report adalah menu yang digunakan untuk melihat laporan transaksi parkir per periode tertentu

Gambar 3.24 Perancangan Layar View Report untuk Administrator

(38)

3.5.1.4 Perancangan Layar Searching untuk Administrator

M enu Searching adalah menu yang digunakan untuk mencari data transaksi parkir yang sesuai dengan nomor kendaraan yang diinputkan.

(39)

3.5.1.5 Perancangan Layar Manage User untuk Administrator

M enu Manage User adalah menu untuk mengatur petugas loket yang bertugas. Dapat memasukkan data petugas loket baru, mengubah dan menghapus data.

(40)

3.5.1.6 Perancangan Layar Menambah Data User Baru untuk Administrator

M enu Insert Data User Baru adalah menu yang digunakan untuk memasukkan data-data user baru.

Gambar 3.27 Perancangan Layar Menambah Data User Baru untuk Administrator

(41)

3.5.1.7 Perancangan Layar Mengubah Data User untuk Administrator

M enu Update Data User digunakan untuk mengganti data user yang lama dengan data yang baru.

Gambar 3.28 Perancangan Layar Mengubah Data User untuk Administrator

(42)

3.5.1.8 Perancangan Layar Menghapus Data User untuk Administrator

M enu Delete data user digunakan untuk menghapus data

user, sehingga user tersebut tidak mempunyai account lagi.

Gambar 3.29 Perancangan Layar Menghapus Data User untuk Administrator

(43)

3.5.1.9 Perancangan Layar Menampilkan Data Lokasi Parkir untuk Administrator

M enu View Parkir adalah menu yang digunakan untuk menampilkan visualisasi data lokasi parkir.

Gambar 3.30 Perancangan Layar Menampilkan Data Lokasi Parkir untuk Administrator

(44)

3.5.1.10 Perancangan Layar Memasukkan Data Plot-Plot Parkir

M enu M emasukkan data plot-plot parkir adalah menu yang digunakan untuk memasukkan data lokasi plot-plot parkir yang berasal dari peta dan dimasukkan ke dalam basis data.

Gambar 3.31 Perancangan Layar Memasukkan Data Plot –Plot Parkir

(45)

3.5.2 Perancangan Layar In put untuk Aplikasi Client

Aplikasi Client adalah aplikasi yang dijalankan oleh petugas loket parkir masuk dan keluar. Fungsi aplikasi client diantaranya adalah untuk mengentry parkir masuk dan parkir keluar dan melihat informasi parkir yang kosong dan tersedia.

3.5.2.1 Perancangan Layar Login untuk Client

M enu Login adalah menu yang digunakan untuk autentikasi

user (petugas loket).

(46)

3.5.2.2 Perancangan Layar Utama untuk Client

M enu Layar Utama adalah menu yang digunakan untuk memilih menu-menu yang dapat dijalankan oleh petugas loket.

(47)

3.5.2.3 Perancangan Layar Form Parkir Masuk untuk Client

M enu Parkir M asuk adalah menu yang digunakan untuk memasukkan data transaksi ketika ada mobil masuk.

Gambar 3.34 Perancangan Layar Form Parkir Masuk untuk

Client

(48)

3.5.2.4 Perancangan Layar Form Parkir Keluar untuk Client

M enu Parkir Keluar adalah menu yang digunakan untuk memasukkan data transaksi ketika ada mobil keluar.

Gambar 3.35 Perancangan Layar Form Parkir Keluar untuk

(49)

3.5.2.5 Perancangan Layar Menampilkan Data Lokasi Parkir untuk Client

M enu Tampil Data Lokasi adalah menu yang digunakan untuk menampilkan visualisasi lokasi parkir beserta keadaan penuh atau tidaknya.

Gambar 3.36 Perancangan Layar Menampilkan Data Lokasi Parkir untuk Client

(50)

3.6 Perancangan Basis Data 3.6.1 ERD Hasil Perancangan

Berikut ini adalah gambar Entity Relationship Diagram (ERD) hasil dari perancangan basis data pada ‘Smart Park System’ :

(51)

3.6.2 Perancangan Basis Data

1. Nama Tabel : MsNode Primary Key : NodeID Foreign Key : -

Keterangan : Tabel M sNode digunakan sebagai tabel yang menyimpan koordinat x dan y setiap node(titik) dari suatu peta.

Tabel 3.1 Rancangan Tabel MsNode

Nama Kolom Tipe Data Ukuran Keterangan

nodeID Integer - Nomor node

coordinateX Integer - Koordinat x node di peta

coordinateY Integer - Koordinat y node di peta

(52)

2. Nama Tabel : MsPath Primary Key : pathID

Foreign Key : fromNode, toNode

Keterangan : sebagai tabel yang menyimpan semua

path atau garis yang menghubungkan antara 2 node beserta

panjangnya.

Tabel 3.2 Rancangan Tabel MsPath

Nama Kolom Tipe Data Ukuran Keterangan

pathID Integer - Nomor path

fromNode Integer - Node awal dari

suatu path

endNode Integer - Node akhir dari

suatu path

(53)

3. Nama Tabel : MsPlot Primary Key : plotID Foreign Key : nodeID

Keterangan : sebagai tabel yang menyimpan nama plot-plot parkir yang ada di wilayah perparkiran beserta status terisinya.

Tabel 3.3 Rancangan Tabel MsPlot

Nama Kolom Tipe Data Ukuran Keterangan

plotID Varchar 6 Nama plot

nodeID Integer - Nomor node plot

tersebut

availableStatus SmallInteger - Status terisi dari

(54)

4. Nama Tabel : M sEmployee Primary Key : empID ForeignKey : -

Keterangan : sebagai tabel yang menyimpan data karyawan yang masih aktif.

Tabel 3.4 Rancangan Tabel MsEmployee

Nama Kolom Tipe Data Ukuran Keterangan

empID Varchar 5 Kode karyawan

empName Varchar 20 Nama karyawan

empAddress DateTime 50 Alamat

karyawan

telp Varchar 10 Telp karyawan

5. Nama Tabel : M sUser Primary Key : empID ForeignKey : empID

Keterangan : sebagai tabel yang menyimpan data data username yang digunakan untuk validasi log in di aplikasi loket parkir.

(55)

Tabel 3.5 Rancangan Tabel MsUser

Nama Kolom Tipe Data Ukuran Keterangan

empID Varchar 5 Kode karyawan

password Varchar 6 Password

karyawan untuk login di loket

6. Nama Tabel : TrPark Primary Key : transID

ForeignKey : plotID, empID_IN, empID_OUT Keterangan : sebagai tabel yang menyimpan transaksi-transaksi mobil masuk dan keluar dari tempat tersebut.

Tabel 3.6 Rancangan Tabel TrPark

Nama Kolom Tipe Data Ukuran Keterangan

TransID Integer - Nomor transaksi

PlotID Varchar 6 Nama plot yang

ditempati

carNumber Varchar 10 Nomor polisi

mobil yang parkir

date_IN DateTime - Waktu mobil

(56)

empID_IN Varchar 5 Karyawan yang mengentry mobil

masuk

date_OUT DateTime - Waktu mobil

keluar

empID_OUT Varchar 5 Karyawan yang

mengentry mobil keluar

3.7

Spesifikasi Modul

3.7.1 Pseudocode untuk Modul Generate Plot Tempat Parkir Terdekat dengan Metode Shortest Path dan Petunjuk Arah Menuju Plot Tersebut.

open database connection create priority queue object

create start_node as object from class Node set attribute nodeid of start_node = nodeid of

start node

set attribute cost of start_node = 0

set attribute vector_all_node_before of start node = NULL

create current_node as object from class Node current_node = start_node

create direction as object from Java class Vector While current_node is not empty park plot

begin

add nodeid of current_node to

(57)

set resultset to all rows contain end_node and its length from current_node

while resultset moved to next row is not after last row

begin

create new_node as object from class Node

set attribute nodeid = nodeid of current row

set attribute cost = cost from start_node to

current_node(1 node before new_node) + length of current row

set attribute

vector_all_node_before = vector_all_node_before of current_node(1 node before new_node)

push new_node into priority queue

end

current_node = result of pop priority queue

end

if current_node = plot park and available status of current_node = 0

begin

for i = 1 to size of vector_all_node_before begin

x1 = x of node at index i-1

y1 = y of node at index i-1

x2 = x of node at index i

y2 = y of node at index i

x3 = x of node at index i+1

y3 = y of node at index i+1

A = length from x1,y1,x2,y2

B = length from x2,y2,x3,y3

C = length from x1,y1,x3,y3 // line support to calculate angle

inner_angle = acos( (A*A+B*B-C*C)/(2*A*B) )

convert inner_angle from radian to decimal outer_angle = 180-inner_angle if angle < 20 degree do nothing if angle > 20 degree begin if (x2-x1)*(y3-y1)-(x3-x1)*(y2-y1) < 0 then

(58)

add "turn left " to direction if

(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1) > 0 then add "turn right " to

direction end

end

return name of park plot to client

return all the element of direction to client end

3.7.2 Pseudocode untuk Entri Mobil Masuk

open database connection

create object as object from class inParking

set atrribute carNumber = carNumber_param from client

set atrribute plotID = plotID_param from client set atrribute employeeID_IN = employeeID_IN_param

from client

set atrribute dateIN = dateIN_param from client execute query to database insert into table

trPark values carNumber,plotID, employeeID_IN, dateIN

execute query to database update table msplot set availableStatus to one where plotID = plotID (attribute)

send result to client

3.7.3 Pseudocode untuk Entri Mobil Keluar.

open database connection

create object as object from class outParking set attribute carNumber = carNumber_data from

client

set attribute plotID = plotID_data from client

set attribute employeeID_OUT = employeeID_OUT_data from client

set attribute dateOUT = dateOUT_data from client set resultset to get row from table trPark where carNumber = carNumber (attribute) and dateOUT is

NULL

if resultset moved to next row is not after last row

begin

execute query to update table trpark set dateOUT = dateOUT (attribute) where transID=transID(attribute)

(59)

execute query to update table msplot set statusAvailable = 0 where plotID = plotID (attribute)

timelength = range of minute from dateIN and dateOUT cost = timelength / 60 * 2000 if timelength modulus 60 !=0 cost = cost + 2000 end print ticket end

3.7.4 Pseudocode untuk Melihat Data Lokasi Parkir

user choose floor

remove all element at panel at this form add element picture of floor to panel

set resultset to query get all fields from table msNode and msPlot where availableStatus = 0 while resultset moved to next row is not after

last row begin

read plotID field from current row x = 0.33 * x from current row y = 0.33 * y from current row

create object image from java class Node set attribute label image = "o"

set attribute x image = x set attribute y image = y

set attribute tooltip image = "" add element image to panel

repaint panel

end

set resultset to query get all fields from table msNode and msPlot where availableStatus = 1 while resultset moved to next row is not after

last row begin

read plotID field from current row x = 0.33 * x from current row y = 0.33 * y from current row create object image

set attribute label image = "x" set attribute x image = x

set attribute y image = y

set resultset2 to query get carnumber field from table trpark where plotid = plotid (from this current row)

(60)

set attribute tooltip image = carnumber add element image to panel

repaint panel

end

3.7.5 Pseudocode untuk Mengaktifkan Server

set port

open ServerSocket waiting for Client

create Thread for each connected Client begin

open socket to connect to server

open input stream to receive data from server

open output stream to send data to server

end

3.7.6 Pseudocode untuk Mengirim Data ke Client

while client is connected begin

read input from client if client wants to login begin

check from database server

return status to client

end

else if client wants to logout begin

close socket

close input stream

close output stream

end

else if client send in_parking data begin

generate plot with ShortestPathGeneratorA

generate direction

insert transaction to TrPark

send plot, direction, and information to client

end

else if client send out_parking data begin

check carnumber from database

if carnumber exists

begin

update TrPark, set date_out

calculate parking cost

return data to client

end

(61)

else

return status to client

client show error message

end

end end

close socket

close input stream close output stream

3.7.7 Pseudocode untuk Kirim Data Ke Server

if client connected to server begin

if user login begin

create login packet

send loginpacket to server

accept status from server

if status = 0

show login failed message

else

show main form

end

else if user logout begin

send logout packet to server

accept status from server

close Socket

close application

end

else if a car entry to the parking area begin

create parking_in packet

send parking_in packet to server

accept data from server

show plot parking, direction

print parking_in ticket

end

else if a car out from parking area begin

create parking_out packet

send parking_out packet to server

accept data from server

if parking_out status is not success

show parking out error message

else

begin

show data parking transaction of carnumber

print parking_out ticket

end

end end

(62)

else begin

show error message exit application end

Gambar

Gambar 3.2 Class Diagram
Gambar 3.4 S equence Diagram untuk Login S ukses
Gambar 3.5 S equence Diagram untuk Login Gagal
Gambar 3.6 S equence Diagram untuk Mengentri Mobil Masuk
+7

Referensi

Dokumen terkait

Pada aplikasi ini pertama-tama client (petugas tol) diminta untuk memasukkan data nama pintu tol dan loket ke berapa dari pintu tol tersebut yang hendak diaktifkan.. Selain itu

No Pasien ter-generate /otomatis tampil Ubah Data nama, usia serta efek samping penyalahgunaan narkoba dengan data terbaru Pilih hasil identifikasi pada menu dropdown Klik

Saat suhu yang dipantau berada dibawah dari batas maksimal kemudian sistem akan mengirim pesan pemberitahuan bahwa suhu pada ruang server berada dibawah batas

Bendahara Pengeluaran Petugas Loket Administrator Staff TU System Usulan Memasukan Anggaran Mengelola Data Master Menerima Revisi Anggaran Input Pengajuan Pekerjaan Menerima

2 Server Merupakan aktor yang menerima perintah dari client dan menjalankan server. Gambar 3.10 Use Case Diagram Aplikasi Remote Mobile My Pc.. Identifikasi Use Case. Terdapat

Apabila sudah pernah mendaftar di Klinik Keluarga maka petugas administrasi pendaftaran pasien akan menanyakan apakah pasien membawa kartu pasien, jika pasien membawa maka

Petugas UPTD adalah pengguna sebagai pelapor yang diperbolehkan untuk login, melihat data akun, mengubah password, membuat laporan kerusakan jalan, melihat histori

Pada perancangan ini dibuat 2 kontrol logika fuzzy untuk mobil parkir secara otomatis agar dapat mengetahui perbandingan dari segi performansinya.. 3.1 Perancangan Sistem