-
13
BAB III
PERANCANGAN SISTEM
Pada bab ini akan dibahas mengenai cara kerja sistem,
perancangan sistem yang
meliputi perangkatkerasdanperangkat lunak. Pada perancangan
perangkat keras akan
dijelaskan fungsi dan cara kerjahardwareyang digunakan pada
sistem, desain dan
skematik rangkaian, serta blok diagram dan penjelasannya.Pada
perancangan perangkat
lunak akan dijelaskan fungsi dan cara kerja software yang
digunakan pada sistem, serta
desain dan flowchart dari program yang akan dibuat, diikuti
dengan penjelesannya.
3.1. Cara Kerja Sistem
Sistem dibagi menjadi tiga bagian utama, yaitu prosedur untuk
pemesanan
ruang, prosedur untuk pemakaian ruang, serta prosedur untuk
pembatalan pemesanan
ruang. Semua prosedur di atas dilakukan pada aplikasi desktop
dengan menggunakan
PC. Aplikasi desktop ini digunakan sebagai GUI untuk
berinteraksi dengan pengguna.
Sistem yang diajukan hanya berfungsi untuk ruangan dengan 1
pintu yang akan
ditampilkan pada miniatur. Pintu keluar yang berfungsi juga
sebagai pintu masuk.
Selain itu tempat pemesanan dan pembatalan ruangan masih berada
pada tempat yang
sama.
Pemesanan ruang merupakan salah satu fitur yang terdapat pada
menu dan dapat
ditemukan pada aplikasi desktop. Pemesanan ruang merupakan
prosedur pertama yang
harus dilakukan pada sistem peminjaman ruang. Apabila menu ini
dipilih, maka aplikasi
desktop akan meminta jadwal pemesanan ruang, lama pemesanan,
fasilitas eletronik
yang akan dipakai. Setelah pemesanan dilakukan maka aplikasi
desktop akan meminta
otentifikasi RFID peminjam. Pemesanan akan berhasil apabila
jadwal yang akan
dipesan masih kosong dan berada pada jam aktif kampus. Hanya
pemesanan yang
berhasil dilakukan yang akan dicatat pada database. Pengguna
masih dapat melakukan
pemesanan lagi pada jadwal yang belum terisi. Pemesanan ruang
dapat dilakukan
beberapa kali dengan peminjam yang sama pada jadwal yang berbeda
dengan maksimal
10 pemesanan. Pemesanan ruang memilki batas minimum dan maksimal
pemesanan,
yaitu 1 hari sebelumnya sampai 30 hari sebelumnya.
-
14
Pembatalan pemesanan ruang merupakan fitur sampingan pada menu
yang
terdapat di aplikasi desktop yang juga merupakan prosedur utama
untuk melakukan
pembatalan pemesanan ruang. Apabila menu ini dipilih, maka
aplikasi desktop akan
meminta otentifikasi RFID. Setelah otentifikasi RFID berhasil
dilakukan, maka aplikasi
desktop akan melakukan pengecekan data terhadap pengguna RFID
pada database.
Apabila terdapat pemesanan dengan nomor RFID tersebut, maka
aplikasi desktop akan
menampilkan pemesanan-pemesanan ruang dengan nomor RFID
tersebut. Peminjam
bisa memilih jadwal mana yang akan dihapus atau pemesanan mana
yang akan
dibatalkan. Oleh karena itu fitur ini hanya bisa digunakan
apabila pengguna sudah
melakukan pemesanan ruang. Pembatalan ini akan berpengaruh
kepada database. Data
pemesanan yang dibatalkan akan dihapus dari database. Pembatalan
ruang tidak dapat
dilakukan pada waktu yang sudah berlalu.
Untuk prosedur pemakaian ruang harus sudah melakukan pemesanan
ruang
terlebih dahulu. Ruang kelas akan terbuka setelah pengguna
melakukan otentifikasi
RFID juga pencocokan data pada database. Otentifikasi RFID
dilakukan pada saat
aplikasi desktop memasuki prosedur idle. Hanya peminjam yang
telah melakukan
pemesanan serta berada tepat seperti pada jam yang telah
dijadwalkan yang bisa
membuka kunci tersebut dan hanya terbuka selama 1 menit dan akan
terkunci kembali
apabila peminjam tidak membuka pintunya. Apabila peminjam
berhasil membuka
kunci, maka aliran listrik pada ruangan juga akan terhubung.
Peminjam juga dapat
menggunakan fasilitas-fasilitas umum yang tersedia pada ruangan
seperti kursi, lampu,
saklar-saklar listrik, dan lain-lain. Peminjam juga dapat
memakai fasilitas-fasilitas
elektronik sesuai dengan pada saat pemesanan. Buzzer akan
menyala sebentar pada saat
10 menit sebelum waktu pemakaian habis sebagai peringatan
pertama dan akan menyala
sebentar lagi pada saat 5 menit sebelum waktu pemakaian habis
sebagai peringatan
kedua. Pada peringatan kedua akan diikuti dengan terputusnya
listrik pada ruangan dan
fasilitas elektronik. Pintu memiliki pemberat yang akan membuat
pintu selalu dalam
kondisi tertutup dan akan terkunci setelahnya. Buzzer akan terus
berbunyi apabila pintu
terbuka lebih dari 2 menit hingga pintu tertutup kembali.
-
15
Gambar 3.1. Desain miniatur ruang
3.2. Perangkat Keras
Pada bagian ini akan dijelaskan mengenai perancangan desain dari
perangkat
keras yang akan digunakan dalam pembuatan sistem.Bagian ini
sendiri akan terpecah
menjadi 2 bagian utama yaitu, diagram blok beserta penjelasannya
dan skematik
rangkaian dari tiap modul yang digunakan.
3.2.1. Diagram Blok Sistem
Gambar 3.2. Diagram blok perangkat keras
Diagram blok perangkat keras merupakan diagram blok keseluruhan
sistem.
Pada diagram blok ini dapat terlihat tugas-tugas yang dibutuhkan
oleh sistem dilakukan
oleh beberapa perangkat keras. Berikut penjelasan dari diagram
blok:
-
16
1. Motor DC
Berfungsi sebagai kunci elektrik pada pintu. Motor DC akan
digunakan
dengan mengubah-ubahpolaritasnya. Perubahan polaritas dilakukan
oleh
driver motor.
2. Driver Motor
Berfungsi sebagai rangkaian untuk mengubah polaritas dari motor
DC dan
penguat arus pada motor. Perubahan polaritas akan diatur dari
keluaran
mikrokontroler. Merupakan penghubung antara motor DC dengan
mikrokontroler.
3. LED
Berfungsi sebagai penanda dari penggunaan fasilitas elektrik
juga
terhubungnya listrik pada ruangan. Fasilitas elektriknya berupa
AC/Kipas,
MIC, dan LCD. LED terhubung pada relay.
4. Relay
Berfungsi sebagai penghubung antara mikrokontroler dan LED.
Karena
sistem masih berupa prototype dan pada kenyataannya untuk
mengkontrol
tegangan AC yang dilakukan oleh seperangkat rangkaian DC
dibutuhkan
relay.
5. RFID Reader
Berfungsi untuk membaca kartu RFID. Pada kartu RFID terdapat
kode unik
yang disebut UID. UID inilah yang akan dibaca pada kartu oleh
RFID
Reader.
6. Mikrokontroler
Berfungsi sebagai pengolah data yang berinteraksi langsung
dengan tiap
modul yang digunakan baik sebagai penerima input seperti RFID
Reader
maupun penghasil output seperti driver motor. Mikrokontroler
akan
mengirim data ke PC dan menerima perintah dari PC.
7. Buzzer
Berfungsi sebagai peringatan. Suara pada buzzer akan
dikendalikan oleh
mikrokontroler.
-
17
8. Bluetooth
Berfungsi sebagai alat komunikasi antara mikrokontroler
dengan
PC.Bluetooth pada mikrokontroler akan berfungsi sebagai slave
sementara
bluetooth pada PC akan berfungsi sebagai master.
9. PC
Berfungsi untuk mengolah data yang dikirim melalui bluetooth
oleh
mikrokontroler juga mengirim perintah yang diperlukan kepada
mikrokontroler melalui bluetooth. Disini terdapat GUI yang dapat
digunakan
untuk berinteraksi oleh pengguna.
3.2.2. Skematik Rangkaian
Bagian ini berisi skematik rangkaian dari beberapa modul yang
akan digunakan
dalam perancangan sistem. Modul yang akan digunakan dalam
perancangan sistem
adalah modul mikrokontroler, modul bluetooth, modul relay, modul
driver motor, dan
modul RFID Reader.
3.2.2.1. Modul Mikrokontroler
Modul mikrokontroler yang digunakan adalah Arduino UNO. Arduino
UNO
sendiri menggunakan IC ATmega 328p sebagai mikroprosesornya.
Arduino UNO dapat
diprogram dengan menggunakan software Arduino IDE. Untuk
memprogram Arduino
cukup dengan menhubungkan kabel USB dengan komputer karena board
sudah
dilengkapi dengan downloader.
Tabel 3.1. Konfigurasi pin pada Arduino UNO
Pin Keterangan
A0 Saklar di dalam ruangan
A1 Saklar penanda kondisi pintu
0 Pin RX pada HC-06
1 Pin TX pada HC-06
2 Buzzer
3 LED listrik ruangan
4 CCW driver motor
5 CW driver motor
6 Relay untuk LED AC/kipas
7 Relay untuk LED MIC
8 Relay untuk LED LCD
-
18
9 Pin RST pada MFRC 522
10 Pin SS pada MFRC 522
11 Pin MOSI pada MFRC 522
12 Pin MISO pada MFRC 522
13 Pin SCK pada MFRC 522
Gambar 3.3 Konfigurasi board Arduino UNO[11]
3.2.2.2. Modul Bluetooth
Bluetooth HC-06 hanya dapat berfungsi sebagai slave. Komunikasi
HC-06
diatur seperti penggunaan serialport melalui TX dan RX. HC-06
dapat diatur dengan
memasukki AT Mode yang diatur dengan AT command. Pengaturan yang
dapat
dilakukan oleh AT Mode pada HC-06 seperti pengaturan baudrate,
nama, password.
-
19
Gambar 3.4. Konfigurasi HC-06 ke ArduinoUNO[12]
3.2.2.3. Modul Driver Motor
Driver motor yang digunakan disusun oleh 4 transistor TIP 41
dengan
membentuk rangkaian H-Bridge. Driver motor ini berfungsi untuk
mengubah polaritas
untuk mengunci dan membuka kunci searah ataupun berlawanan arah
dengan jarum
jam.Selain mengubah polaritas, driver motor dapat memperkuat
arus masukkan pada
motor DC.
Gambar 3.5. Skematik driver motor H-Brigde
-
20
3.2.2.4. Modul Relay
Sebelum arus mengalir masuk kepada fasilitas elektrik, maka
output dari
mikrokontroler untuk pengaturan penggunaan fasilitas elektrik
terhubung kepada relay
12 volt 5 kaki. Agar dapat dilakukan kontrol dari
mikrokontroler, maka diperlukan
transistor yang berfungsi untuk menghidupkan dan mematikan
relay.
Gambar 3.6. Skematik relay
3.2.2.5. Modul RFID Reader
Modul MFRC 522 menggunakan SPI (SS, MOSI, MISO, SCK) untuk
berkomunikasi dengan Arduino UNO. Arduino UNO sendiri memiliki
feature SPI
sehinggaMFRC 522 tinggal menyesuaikan dengan pin-pin SPI pada
Arduino UNO.
Modul ini akan membaca tag ataupun kartu RFID yang terdapat MF1
IC S50 di
dalamnya.
Gambar 3.7. Konfigurasi MFRC 522 ke Arduino UNO[13]
-
21
3.3. Perangkat Lunak
Pada bagian ini akan dijelaskan mengenai perancangan desain dari
perangkat
lunak yang akan digunakan dalam pembuatan sistem. Bagian ini
sendiri akan terpecah
menjadi 3 bagian utama yaitu, perancangan pada database,
perancangan pada arduino,
dan perancangan pada visual studio atau aplikasi desktop.
3.3.1 Perancangan Database
Tabel 3.2. tabel_rfid
Nama Tabel Tipe Data Keterangan
id varchar(45) not null, primary key
nama varchar(45) not null
status varchar(45) not null
fakultas varchar(45) not null
uid varchar(45) not null
Tabel 3.3. tabel_pemesanan
Nama Tabel Tipe Data Keterangan
id_pemesan varchar(45) not null, foreign key
tanggal_masuk date not null
jam_masuk time(4) not null
durasi int not null
ac_kipas int not null
lcd int not null
mic int not null
keperluan varchar(45)
Database akan diimplementasikan ke dalam sebuah softwaredatabase
yaitu,
MySQL Server 5.7. MySQL Server dapat dikontrol dengan
menggunakan query seperti
softwaredatabase pada umumnya. Penggunaan MySQL Server sendiri
tergolong cukup
mudah dengan featureworkbench yang telah tersedia. Workbench
pada MySQL Server
merupakan GUI yang digunakan untuk dapat mempermudah pengguna
dalam
mengelola penggunaan database. Dikarenakan kebutuhan database
yang tidak terlalu
besar dengan data akses tunggal, MySQL Server dianggap mampu
memenuhi semua
kebutuhan untuk dapat menunjang berjalannya sistem dengan
baik.Selain MySQL
Server, featureConnector/ODBC 5.3 diperlukan untuk menghubungkan
antara database
dengan platformsoftware yang digunakan sebagai pembuat aplikasi
desktop.
-
22
Terdapat dua tabel yang berisi informasi yang diperlukan untuk
menunjang
sistem. Dua tabel ini nantinya akan diimplementasikan ke dalam
database pada MySQL
Server. Pada tabel_rfid terdapat informasi tentang pengguna
RFID. Pada kolom id akan
berisi informasi tentang nomor induk mahasiswa atau nomor induk
karyawan dari
pengguna yang terdiri dari 9 digit angka yang diasumsikan
sebagai karakter. Kolom id
akan digunakan sebagai kode unik bagi setiap pengguna. Pada
kolom nama akan berisi
infromasi tentang nama dari pengguna. Pada kolom status akan
berisi informasi tentang
status dari pengguna yang terdiri dari mahasiswa, dosen, dan
staff. Pada kolom fakultas
akan berisi informasi tentang fakultas pengguna. Pada kolom uid
akan berisi informasi
dari kartu RFID yang digunakan oleh pengguna. Pada
tabel_pemesanan terdapat
informasi tentang pemesanan ruang. Pada kolom id_pemesan akan
berisi informasi
tentang id pengguna yang akan melakukan peminjaman ruang. Karena
id_pemesan
mengarah kepada id pada tabel_rfid, maka id_pemesanan atur
sebagai foreign key. Pada
kolom tanggal_masuk akan berisi infromasi tentang tanggal
pemakaian ruang. Pada
kolom jam_masuk akan berisi informasi tentang jam pemakaian
ruang. Pada kolom
durasi akan berisi lamanya waktu pemakaian ruang. Pada kolom
ac_kipas, lcd, dan mic
akan berisi angka 1 yang menandakan ada peminjaman fasilitas
pada kolom terkait
ataupun 0 yang menandakan tidak ada peminjaman fasilitas pada
kolom terkait. Pada
kolom keperluan akan berisi informasi tentang keperluan dari
pemakaian ruang dan
kolom ini boleh dikosongkan.
3.3.2 Diagram Alir pada Arduino
Dengan menggunakan perangkat lunak Ardunio IDE 1.8, Arduino
dapat
diprogram sesuai dengan kebutuhan. Arduino IDE sendiri merupakan
perangkat lunak
yang memang telah disediakan oleh pengembang dan pembuat
Arduino. Di dalam
Arduino terdapat library yang berisi perintah-perintah yang
dapat digunakan. Cukup
dengan melakukan deklarasi pada awal pembuatan koding, maka
perintah-perintah yang
terdapat dalam library tersebut dapat digunakan. Library juga
dilengkapi dengan
contoh-contoh program yang langsung dapat dicoba yang memiliki
fungsi sesuai
dengan keterangan yang tertera pada judulnya. Salah satu modul
yang digunakan dalam
perancangan sistem ini adalah RFID Reader MFRC 522. Apabila
dilihat dari library
tersedia yang dapat diunduh dan bukan standart library yang
sudah ada pada waktu
-
23
melakukan instalasi, pengembang Arduino telah menyediakan
library MFRC 522 yang
dapat diunduh sehingga pengguna MFRC 522 yang juga menggunakan
Arduino sebagai
mikrokontroler dapat mengakses feature yang terdapat pada MFRC
522 tanpa harus
mengakses setiap register-nya.
Terdapat tiga kondisi utama pada koding Arduino, kondisi pertama
adalah cek
apakah MFRC 522 membaca adanya kartu RFID yang terbaca, kondisi
kedua adalah
cek apakah HC-06 membaca adanya perintah yang dikirim melalui
bluetooth PC,
kondisi ketiga adalah cek apakah kondisi kunci dalam keadaan
tertutup atau terbuka.
Pada kondisi pertama dilakukan dengan memanfaatkan contoh koding
yang terdapat
pada library MFRC 522. Pada library terdapat contoh koding untuk
melakukan
pembacaan UID pada kartu RFID. Kondisi pertama didapatkan dengan
menjalankan
fungsi untuk membaca UID yang terdapat pada contoh koding. Pada
kondisi kedua
didapatkan dengan melakukan pembacaan serial pada bluetooth.
Eksekusi akan
dilakukan bedasarkan karakter yang terbaca oleh bluetooth. Hasil
eksekusi berupa
output yang langsung terhubung baik pada relay maupun driver
motor. Pada kondisi
yang ketiga dilakukan pengecekan kondisi kunci terbukanya kunci,
apabila kunci
terbuka maka dilakukan dua pengecekan, apabila pintu masih dalam
kondisi tertutup
selama 1 menit maka kunci akan terkunci kembali, apabila pintu
dalam kondisi terbuka
selama 2 menit maka buzzer akan terus berbunyi hingga pintu
tertutup kembali.
-
24
Mulai
Cek RFID yang
terbaca?
Cek perintah dari
PC?
Kirim ke PC
via bluetooth
Kondisi kunci
terbuka?Pintu terkunci
Proses
sesuai
perintah
Cek kondisi
pintu terbuka?
Buzzer hidup
1 menit sudah
berlalu?
2 menit sudah
berlalu?Buzzer mati
Ya
Tidak
Ya
Ya
Tidak
Ya
Cek kondisi
pintu terbuka?
TidakYa
Cek kondisi
pintu terbuka?Tidak
Ya
Tidak
Tidak
Tidak
Ya
Ya
Tidak
Gambar 3.8. Diagram alir pada arduino
3.3.3 Diagram Alir pada Aplikasi Desktop
Pada aplikasi desktop terdapat tiga prosedur utama, prosedur
untuk melakukan
pembatalan, prosedur untuk melakukan pemesanan, dan prosedur
untuk melakukan
pemakaian ruang. Ketiga prosedur ini memiliki fungsi yang
berbeda-beda dan memiliki
diagram alirnya masing-masing. Aplikasi desktop hanya
menjalankan ketiga prosedur
ini secara berulang-ulang tergantung dari prosedur mana yang di
request oleh si
pengguna melalui GUI.
-
25
Mulai
Permintaan
Pemesanan
Dilakukan?
Permintaan
Pembatalan
Dilakukan?
Permintaan
Pemakaian Ruang
Dilakukan?
Tidak
Tidak
Tidak
Ya
Ya
Ya
Melakukan
Pembatalan
Melakukan
Pemesanan
Melakukan
Pemakaian
Ruang
Gambar 3.9. Diagram alir pada aplikasi desktop
3.3.4 Diagram Alir Prosedur Pemesanan Ruang
Prosedur ini digunakan untuk melakukan pemesanan ruang. Diagram
alir ini
dieksekusi apabila dilakukan request untuk prosedur pemesanan
pada diagram alir
aplikasi dekstop dan apabila prosedur sudah selesai dilakukan
maka diagram alir akan
kembali kepada diagram alir aplikasi dekstop. Terdapat proteksi
tambahan saat
menjalankan prosedur seperti rentang waktu peminjaman antara
10-30 hari dan juga
maksimal pemesanan yang dapat dilakukan untuk satu pengguna
adalah 10 pemesanan.
-
26
Mulai
Selesai
Otentifikasi
RFID?
Pilih Jadwal
dan Fasilitas
Jadwal Kosong, Jam
Aktif, dan Belum
Maksimal Pesan?
Ya
Pemesanan
Berhasil
Ya
Pesan Lagi
Ya
Tidak
Tidak
Gambar 3.10. Diagram alir pemesanan
Gambar 3.11. Desain GUI prosedur pemesanan ruang
-
27
3.3.5 Diagram Alir Prosedur Pemakaian Ruang
Prosedur ini digunakan untuk melakukan pemakaian ruang. Diagram
alir ini
dieksekusi apabila dilakukan request untuk prosedur pemakaian
ruang pada diagram alir
aplikasi dekstop dan apabila prosedur sudah selesai dilakukan
maka diagram alir akan
kembali kepada diagram alir aplikasi dekstop. Prosedur ini dapat
dikatakan prosedur
idle karena prosedur ini bekerja bedasarkan waktu real dan tanpa
memerlukan request
dari button pada GUI terlebih dahulu seperti pada prosedur
pemesanan dan pembatalan.
Mulai
Selesai
Otentifikasi
RFID dan Cek
Jadwal?
Kunci
Terbuka 1
Menit
Cek Waktu?
Ya
Ya
Ya
Tidak
Listrik Ruangan
Terhubung?
Fasilitas
Elektronik
Berfungsi?
Menghubung
kan Listrik
Ruangan
Tidak
Menghubung
kan Fasilitas
Elektronik
Tidak
Ya
Pintu Terbuka 2
Menit Lebih?
Ya
Tidak
Tidak
Buzzer
Buzzer dan Listrik
Ruang dan Fasilitas
Elektronik Terputus
Gambar 3.12. Diagram alir pemakaian ruang
-
28
Gambar 3.13. Desain GUI prosedur pemakaian ruang
3.3.6 Diagram Alir Prosedur Pembatalan Pemesanan
Prosedur ini digunakan untuk melakukan pembatalan. Diagram alir
ini
dieksekusi apabila dilakukan request untuk prosedur pembatalan
pada diagram alir
aplikasi dekstop dan apabila prosedur sudah selesai dilakukan
maka diagram alir akan
kembali kepada diagram alir aplikasi dekstop. Terdapat proteksi
tambahan saat
menjalankan prosedur seperti untuk pemesanan yang sudah melewati
waktu real tidak
dapat dibatalkan.
Gambar 3.14. Desain GUI prosedur pembatalan
-
29
Mulai
Otentifikasi
RFID
Ada
Pemesanan?
Pilih Jadwal
yang Akan
Dihapus
Selesai
Pembatalan
Berhasil
Ya
Ya
Tidak
Tidak
Gambar 3.15. Diagram alir pembatalan