• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN SISTEM"

Copied!
34
0
0

Teks penuh

(1)

BAB III

PERANCANGAN SISTEM

3.1 Perancangan Sistem

Dalam perancangan sistem ini dimulai dari sistem utama yaitu perancangan dan penempatan komponen-komponen elektronika (sensor/transducer/actuartor) di port board arduino. Adapun komponen tersebut adalah sebagai berikut :

1. RFID-reader, digunakan untuk membaca RFID-tag di kartu

2. LCD1602 digunakan untuk segala menampilkan aktivitas yang terjadi dalam bentuk tulisan di LCD baik dari proses inisialisasi kartu hingga respon dari server database.

3. Servo, digunakan untuk membuka dan menutup palang pintu berdasarkan output respon dari server database.

4. Phototransistor dan IR-Led, digunakan untuk mendeteksi dan menahan palang pintu jika mobil masih melintas di area palang pintu.

5. Shield Ethernet (Arduino), digunakan untuk melakukan proses

handshaking” dengan database server baik dari inisialisasi kartu hingga

(2)

Selain perancangan hardware di atas, penulis juga menggunakan pemrograman rekayasa perangkat lunak berbasis web dalam prosesnya. Pemrograman web ini tidak mampu berdiri sendiri, sehingga membutuhkan aplikasi pendukung berupa web server dan database server. Dikarenakan alasan lisensi dalam penggunaan aplikasi server, disini penulis menggunakan aplikasi server bersifat opensource

yang terkenal handal dan memiliki sistem keamanan yang kuat. Aplikasi

opensource tersebut adalah Apache untuk Web Server dan MySQL untuk

Database Server.

Apache dan MySQL merupakan salah satu aplikasi yang sering digunakan dalam dunia Internet, bahkan hampir rata-rata situs-situs perusahaan besar menggunakan aplikasi tersebut dalam websitenya. Salah satunya adalah website

http://www.mercubuana.ac.id yang juga menggunakan Apache dan Mysql dalam

web dan database servernya. Disamping itu, hampir setip forum IT aplikasi ini selalu membahas baik celah maupun parameter tips untuk meningkatkan performansi server terhadap segala kemungkinan serangan dari luar. Faktor kedua inilah selain lisensi di atas yang membuat penulis tertarik untuk mencoba menggabungkan antara arduino dan komponennya dengan aplikasi web dan database server berbasis opensource.

Aplikasi web dalam perancangan sistem ini terdiri dari file-file utama yang digunakan untuk proses interaksi antara hardware dan database server. File tersebut adalah sebagai berikut :

(3)

1. File verifikasi_rfid.php, peranan file verifikasi_rfid.php sangat penting karena dalam implementasinya file ini digunakan untuk :

a. Menerima paket data dari shield-ethernet arduino yang berisikan data RFID-tag kartu (hasil pembacaan RFID reader).

b. Melakukan proses query kedalam database dengan data rfid yang diterima sebagai pernyataan(if). Jika data rfid tersebut ditemukan dalam database, file verifikasi_rfid.php akan memberikan respon ke arduino untuk membuka palang pintu, dan sebaliknya jika tidak ditemukan atau data tidak valid, file verifikasi_rfid.php akan memberikan respon ke arduino untuk tidak membuka palang pintu.

c. Mencatat (log) jam dan tanggal kapan pintu palang terbuka berdasarkan “no polisi kendaraan” ke dalam database.

2. File login.html, digunakan untuk mengakses ke dalam database server. 3. File entry_data_mobil.php, form isian yang digunakan untuk memasukkan

data mobil ke dalam database.

4. File entry_data_kartu.php, form isian yang digunakan untuk memasukkan data kartu rfid yang kolerasi dengan “no polisi kendaraan” dari data mobil. Selain memasukkan data kartu, form ini juga memberikan masa aktif kartu yang terhitung secara otomatis selama setahun dari tanggal aktivasi kartu. 5. File query_log.php, digunakan untuk menampilkan banyaknya akses

terhadap palang pintu berdasarkan no polisi kendaraan, tanggal, bulan dan tahun.

(4)

Disamping file-file di atas, terdapat file-file pendukung yang bersifat membantu ke empat file utama di atas dalam proses komunikasi dengan database server, seperti :

1. tambah_data_mobil.php, 2. tambah_data_kartu.php, 3. hapus_data_mobil.php, 4. hapus_data_kartu.php,

Dari fungsi dan penggunaaan tiap komponen hardware dan software di atas dapat digambarkan secara ringkas dalam blok diagram sebagai berikut :

Gambar 3.1 Diagram Blok Perancangan Sistem RFID‐ Reader  Arduino  +  Ethernet  Shield

LCD Output 

Phototransistor  Servo  Server :   APACHE   MySQL 

(5)

Dengan berdasarkan diagram blok di atas, jika penulis terangkan secara diagram alur (flowchart) akan seperti di bawah ini :

S T A R T User Menempelkan  kartu  RFID‐reader  membaca tag  kartu ?   RFID‐reader  mengirimkan data  output ke arduino 

dan diberi nama 

variable “rfid”  Arduino login  ke Database  Server?  Menampilkan di LCD “Connection Failed” Arduino mengirimkan 

variable “rfid” ke server 

Query database  dengan variable  “rfid”?  Menampilkan di LCD  “Access Denied” Database me‐log 

aktivitas akses pintu 

terbaca tidak  berhasil  gagal berhasil  gagal 

(6)

Gambar 3.2 Diagram Alur Perancangan Sistem

Dari diagram alur di atas, LCD berperan penting dalam menginformasikan segala aktivitas yang dilakukan Arduino terhadap kartu RFID-tag. Selain menggunakan LCD, penulis juga menuliskan script ke dalam arduino, agar segala aktivitas bisa terbaca melalui port USB Arduino jika dihubungkan dengan menggunakan aplikasi terminal (seperti hyperterminal) yang berfungsi sama seperti fungsi LCD yaitu memonitor tahapan alur aktivitas arduino.

masih  

di area  

palang pintu 

Arduino Memerintahkan 

Servo untuk membuka & 

menahan palang 

Kendaraan 

sudah melewati 

palang ? 

Arduino Memerintahkan Servo 

untuk menutup palang 

Menampilkan di  LCD  E N D melewati palang pintu  B

(7)

Gambar 3.3 Informasi Aktivitas Sistem Melalui LCD

(8)

3.2 Perancangan Hardware

Dalam perancangan hardware ini, penulis hanya menggunakan port-port digital dari Board Arduino untuk dihubungkan ke sensor,transducer dan actuator. Penggunaan port-port tersebut antara lain :

Tabel 3.1 Penggunaan Port Digital Arduino

No. Digital Port Komponen

0 RFID-reader (ID-12)

1 Not Used

2 Servo Parallax 1800

3 Shield Ethernet Arduino

4 LCD1602 – 74HS595

5 Shield Ethernet Arduino

6 Shield Ethernet Arduino

7 LCD1602 – 74HS595

8 LCD1602 – 74HS595

9 Shield Ethernet Arduino

10 Shield Ethernet Arduino

11 Shield Ethernet Arduino

12 Phototransistor

(9)

Gambar 3.5 Arduino Duemilanove

Untuk memudahkan dalam penulisan perancangan hardware, di laporan ini penulis memecah bagian-bagian rangkaian beserta script untuk pemrograman arduino-nya. Sedangkan keseluruhan script arduino untuk sistem perancangan terlampir dalam lampiran di laporan ini. Rangkaian – rangkaian tersebut terdiri dari :

1. Perancangan rangkaian LCD 2. Perancangan rangkaian palang pintu 3. Perancangan rangkaian RFID

4. Konfigurasi Shield-Ethernet Arduino. 5. Perancangan PCB-board rangkaian

(10)

3.2.1 Perancangan Rangkaian LCD

Gambar 3.6 Perancangan Rangkaian LCD

Dari rangkaian di atas, penulis menggunakan IC shift register 74HC595 untuk menghemat penggunaan port digital yang akan dihubungkan dengan komponen LCD.

(11)

Tabel 3.2 Perbandingan Penggunaan Port Digital untuk LCD dengan Shift-Register dan tanpa Shift-Register

Port LCD

Not using SR Using SR

Digital Port Arduino

Port SR Digital Port Arduino LCD RS 12 6 - LCD Enable 11 10 - LCD D4 5 3 - LCD D5 4 2 - LCD D6 3 1 - LCD D7 2 15 - - - 14 4 - - 12 8 - - 11 7

Secara pemrograman arduino untuk LCD dengan menggunakan komponen shift register 74HC595 hampir sama dengan pemrograman arduino untuk LCD tanpa menggunakan komponen shift register. Perbedaannya adalah penggunaan library C, seperti gambar dibawah ini .

(12)

Gambar 3.7 Script Arduino untuk LCD tanpa Shift-Register

(13)

Output Program dari kedua program di atas adalah

Gambar 3.9 Output Script Arduino di LCD

3.2.2 Perancangan Rangkaian Palang Pintu

(14)

Gambar 3.11 Script Arduino untuk Rangkaian Palang Pintu

Output dari sample program di atas adalah palang pintu akan membuka selama 5 detik, jika dalam 5 detik tersebut sensor phototransistor mendeteksi benda/mobil berada di area palang pintu yang mengakibatkan terhalangnya penerimaan pancaran sinar infra merah maka palang pintu akan ditahan hingga benda/mobil tersebut melewati palang tersebut.

(15)

3.2.3 Perancangan Rangkaian RFID

Gambar 3.13 Script Arduino untuk Rangkaian RFID

Gambar 3.12 Perancangan Rangkaian RFID

(16)

Output dari program di atas dapat dilihat dengan menggunakan aplikasi terminal di operating system, seperti hyperterminal/ZOC di Microsoft Windows dengan menggunakan parameter baudrate 9600/8/N seperti di bawah ini :

Gambar 3.14 Output Script Arduino untuk RFID di Terminal

3.2.4 Konfigurasi Shield-Ethernet Arduino 3.2.4.1 Sistem Pengalamatan IP

Untuk komunikasi data dalam jaringan komputer, ada beberapa aspek yang perlu diperhatikan mengenai sistem pengalamatan IP atau yang dikenal dengan istilah IP Address. Beberapa aspek tersebut antara lain :

 Kelas Jaringan, untuk IPV4 kelas jaringan dibagi menjadi 3 kelas, dimana : Tabel 3.3 Kelas IPV4

Kelas Default Subnet Mask Range IP-Address

A 255.0.0.0 1.x.x.x – 126.x.x.x

B 255.255.0.0 128.x.x.x - 191.x.x.x

C 255.255.255.0 192.x.x.x – 223.x.x.x

(17)

 Topologi jaringan LAN atau WAN, jika menggunakan LAN umumnya dalam sebuah Network Address yang sama, namun jika menggunakan WAN bahkan internet pasti akan berbeda network-address dan diperlukan perangkat Router sebagai gateway/penghubung antara kedua network-address tersebut.

Gambar 3.15 Perencanaan Sistem Pengalamatan IP

IP Address : 192.168.69.110  Mask Address : 255.255.255.0  IP Gateway : 192.168.69.33  Protocol HTTP (80)  Web Server & Database Server  IP Address : 192.168.69.120  Netmask : 255.255.255.0   

(18)

Gambar 3.16 Script Arduino untuk Shield Ethernet

Dalam perancangan sistem ini, penulis menggunakan kelas C dengan Network Address 192.168.69.x dan topologi LAN. Seperti yang terlihat dalam potongan script arduino di atas, untuk sistem pengalamatan IP yang digunakan seperti yang terlihat dalam tabel di bawah ini :

Tabel 3.4 Perencanaan Sistem Pengalamatan IP

IP Address Alokasi untuk

192.168.69.120 Server (Database dan Web)

(19)

3.2.4.2 Proses Handshaking Paket Data

Gambar 3.17 Proses Handshaking Paket Data

Proses handshaking : Proses dimana pertukaran paket data antar host yang digunakan untuk mengawali komunikasi data dengan host lain, memelihara komunikasi ketika masih digunakan, dan kemudian menutup komunikasi bila tidak digunakan. Berdasarkan alur di atas, proses pengiriman data hasil pembacaan RFID-reader dikirim ke server dengan menggunakan protokol HTTP (80). Seperti halnya sebuah komputer yang sedang meminta tampilan website dari web server, Arduino juga menggunakan perintah sintak yang sama dalam mengakses webserver.

(20)
(21)

Hasil Output dari Script Arduino di atas adalah :

Gambar 3.20 Output Script Arduino dari Proses Handshaking

Sample script Arduino di atas mengirim data pembacaan RFID-tag 00007A79BE dengan variable IDString, ke webserver 192.168.69.120, IDString ini yang nantinya akan digunakan webserver untuk melakukan query ke dalam database server. Jika database menemukan data RFID-tag, webserver akan merespon”Y” yang berarti ACCESS-Granted untuk perintah membuka palang pintu, sebaliknya jika tidak ditemukan, webserver akan merespon “N” berarti ACCESS-DENIED

(22)

untuk tetap menutup palang pintu. Untuk proses query database, penulis membahasa dalam subbab tersendiri

3.2.5 Perancangan PCB-Board Rangkaian

Dalam perancangan hardware, beberapa rangkaian memerlukan PCB-Board tersendiri untuk menempatkan komponen dalam rangkaian di atas. Penulis membagi rangkaian ke dalam 3 PCB-Board sebagai berikut :

1 PCB-Board I, untuk rangkaian LCD dan RFID

(23)
(24)

2 PCB-Board II, untuk rangkaian Palang Pintu (Sensor dan Phototransistor)

Gambar 3.23 PCB-Board II Tampak Belakang Phototransistor 

(25)

3 PCB-Board III, untuk rangkaian Palang Pintu (LED)

Gambar 3.24 PCB-Board III Tampak Belakang 220 Ω 

(26)

Penghubung antara PCB-Board I dan PCB-Board II penulis menggunakan kabel serupa seperti kabel straight untuk jaringan data dengan antar muka konektor RJ-45, dimana pin-pinnya mempunyai susunan sebagai berikut :

Gambar 3.25 Pin-Assignment Konektor RJ-45

Tabel 3.5 Alokasi Pin RJ-45

Pin Alokasi 1 GND 2 NOT USED 3 PORT 4 ARDUINO 4 PORT 7 ARDUINO 5 PORT 0 ARDUINO 6 NOT USED 7 PORT 8 ARDUINO 8 VCC

(27)

Gambar 3.26 Maket Perancangan Sistem

3.3 Perancangan Rekayasa Perangkat Lunak

Dalam perancangan rekayasa perangkat lunak ini penulis membagi 2 sistem perancangan, yaitu :

 Perancangan Database

Men-design tabel sederhana yang berisikan data mobil dan data kartu yang akan digunakan dalam proses verifikasi kartu.

 Perancangan File Web Server

Men-design tampilan form entri yang digunakan untuk memasukkan data kartu dan data mobil ke dalam tabel-tabel database yang sudah dirancang.

(28)

3.3.1 Perancangan Database

Untuk perancangan database server, penulis menggunakan aplikasi server berbasis opensource yang sudah banyak digunakan, yaitu aplikasi MySQL. Aplikasi MySQL ini hampir sama dengan aplikasi Microsoft ACCESS baik dari struktur tabel maupun penggunaan SQL (Structure Query Language). Alasan penulis memilih MySQL adalah karena reliabilitas/ketahanan aplikasi jika diterapkan dalam jaringan data, terlebih jika database yang digunakan sudah sangat besar dan kompleks. Faktor inilah, hampir perusahaan skala nasional dan multinasional menggunakan MySQL sebagai aplikasi database utama untuk menyimpan data-data perusahaan yang bersifat rahasia.

Dalam perancangan database, penulis menggunakan hanya 3 tabel yang akan digunakan untuk menyimpan data kartu dan mobil, tabel-tabel inilah yang nantinya yang akan digunakan untuk menerima proses query dari data rfid yang dkirim oleh Shield Ethernet Arduino. Adapun tabel-tabel tersebut terdiri- dari :

 Tabel data_mobil : menyimpan data mobil berisi no polisi kendaraaan, merk, dan tipe kendaraan.

 Tabel data_kartu : menyimpan data kartu berisi no polisi kendaraan, rfid, tanggal aktivasi, tanggal kadaluarsa, akses portal.

 Tabel data log : menyimpan kapan dan tanggal portal terakses berdasarkan dari no polisi kendaraan.

(29)

Gambar 3.27 Perencanaan Field Tabel Database

Langkah – langkah dalam perancangan database adalah sebagai berikut :

1 Membuat Database

Setelah membuat rancangan database, langkah berikutnya dalam pembuatan suatu database dapat dilakukan dengan memberikan perintah SQL berikut :

Mysql> create database perusahaan;

Untuk memastikan apakah perintah tersebut berhasil dilakukan, diberikan perintah SQL berikut:

(30)

2 Memilih Database

Sebelum dapat membuat tabel diperlukan pemilihan database yang telah dibuat sebelumnya dengan perintah sebelumnya .

3 Membuat Tabel

Kemudian baru membuat tabel sesuai dengan bagan perancangan di gambar 3.26, dengan perintah :

 Tabel data_mobil

 Tabel data_kartu

 Tabel data_log

mysql> use perusahaan;

Mysql> create tabel data_mobil( > no_polisi varchar(10), > merk_kendaraan(10), > tipe_kendaraan(30));

Mysql> create tabel data_mobil( > no_polisi varchar(10), > rfid(10),

> tanggal_aktivasi date, > tanggal_kadaluarsa date);

mysql> create tabel data_log( > tanggal date,

> jam text,

> no_polisi varchar(10), > record text);

(31)

3.3.2 Perancangan File Web Server

Aplikasi web dalam perancangan sistem ini terdiri dari file-file utama yang digunakan untuk proses interaksi antara hardware dan database server. File tersebut adalah sebagai berikut :

1. File verifikasi_rfid.php, peranan file verifikasi_rfid.php sangat penting karena dalam implementasinya file ini digunakan untuk

a. Menerima paket data dari shield-ethernet arduino yang berisikan data RFID-tag kartu (hasil pembacaan RFID reader).

b. Melakukan proses query kedalam database dengan data rfid yang diterima sebagai pernyataan (if). Jika data rfid tersebut ditemukana dalam database, file verifikasi_rfid.php akan memberikan respon ke arduino untuk membuka palang pintu, dan sebaliknya jika tidak ditemukan atau data tidak valid, file verifikasi_rfid.php akan memberikan respon ke arduino untuk tidak membuka palang pintu.

c. Mencatat (log) jam dan tanggal kapan pintu palang terbuka berdasarkan “no polisi kendaraan” ke dalam database.

2. File login.html, digunakan untuk mengakses ke database server.

3. File entry_data_mobil.php dan tambah_data_mobil.php, form isian yang digunakan untuk memasukkan data mobil kedalam database. Script program terlampir dalam LAMPIRAN.

(32)

4. File entry_data_kartu.php dan tambah_data_kartu.php, form isian yang digunakan untuk memasukkan data kartu rfid yang kolerasi dengan “no polisi kendaraan” dari data mobil. Selain memasukkan data kartu, form ini juga memberikan masa aktif kartu yang terhitung secara otomatis selama setahun dari tanggal aktivasi kartu. Script program terlampir dalam LAMPIRAN.

Gambar 3.29 Entri Data Kartu

5. File query_log.php, digunakan untuk menampilkan banyaknya akses terhadap palang pintu berdasarkan no polisi kendaraan, tanggal, bulan dan tahun. cript program terlampir dalam LAMPIRAN.

(33)

3.3.2.1 Sistem Kerja File verikasi_rfid.php

Gambar 3.31 Sistem Kerja File verifikasi_rfid.php 2a

3

(34)

Dari gambaran di atas dapat disimpulkan sebagai berikut :

1. RFID reader membaca RFID-tag kartu yang kemudian mengirimkan data hasil pembacaan ke Arduino dengan ditampung dalam variable IDString. 2. Arduino melakukan komunikasi ke webserver dengan mengirimkan perintah

menggunakan protocol http (80) http://192.168.69.120/verifikasi_rfid.php?rfid=IDString, yang kemudian

webserver akan menampung IDstring yang berisi data RFID tersebut ke dalam variable $rfid.

3. Dengan variabel $rfid inilah yang kemudian menjadi kunci query ke tabel data_kartu dengan perintah "SELECT tanggal_kadaluarsa FROM data_kartu WHERE rfid='$rfid'.

4. Hasil query inilah akan dikembalikan ke webserver berupa karakter “N” atau “Y”.

5. Karakter-karakter tersebut dikirim ke Arduino sebagai respon dari verifikasi RFID-tag. Arduino membaca karakter tersebut dengan sebuah kondisi pernyataan, karakter “N” berarti “ACCESS DENIED” (Arduino memerintahkan palang pintu untuk tetap tertutup) dan “Y” berarti “ACCESS GRANTED” (Arduino memerintahkan palang pintu untuk terbuka beberapa detik)

File verifikasi_rfid di samping mengecek status kartu RFID-tag, file

ini juga akan melakukan pencatatan (log) jika data RFID ditemukan

dalam database di tabel kartu dengan perintah query

“INSERT INTO

data_log(tanggal, jam, no_polisi, record) VALUES (‘$tanggal’, ’$jam’, ’$no_polisi’,’Akses Portal)”.

Gambar

Gambar 3.1 Diagram Blok Perancangan Sistem RFID‐Reader Arduino + Ethernet ShieldLCD Output Phototransistor Servo  Server :    APACHE   MySQL 
Gambar 3.2 Diagram Alur Perancangan Sistem
Gambar 3.4 Informasi Aktivitas Sistem Melalui Port USB
Gambar 3.5 Arduino Duemilanove
+7

Referensi

Dokumen terkait

Tabel database admin Berfungsi untuk menyimpan data admin, yang akan login ke halaman administrator Tabel database karyawan Berfungsi untuk menyimpan

Tabel kategori digunakan untuk menyimpan data kategori barang yang terdiri dari 2 field, Kd_kategori sebagai primary key..

Perancangan mikrokontrol menggunakan raspberry pi sebagai mikrokontroller untuk mengolah data dari kamera dan melakukan instruksi pada output yaitu motor servo

Tabel Pengguna digunakan untuk menyimpan data Pengguna Pembangunan Perumahan selengkapnya mengenai struktur tabel ini dapat dilihat pada tabel III.7 di bawah ini :.

Fungsi : Untuk menyimpan data transaksi peminjaman, pengembalian, perpanjangan, dan buku hilang. Tabel 3.11

Sistem dirancang dilakukan dengan membuat perancangan Sitemap, Data Flow Diagram (DFD), Flowchart, Entity Relationship Diagram (ERD), Struktur Tabel, Database

Jenis dan Metode pengumpulan data digunakan penulis untuk mendapatkan data sebagai bahan kajian dalam penulisan Tugas Akhir dengan tujuan membuat suatu perancangan Aplikasi

Tabel orders digunakan untuk menyimpan rincian data Negara tujuan TKI hingga biaya yang diperlukan untuk menjadi TKI di Negara tersebut, selengkapnya mengenai struktur