bab iii perancangan sistem -...
Post on 24-Mar-2019
225 Views
Preview:
TRANSCRIPT
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
top related