BAB 3 PERANCANGAN SISTEM

advertisement
29
BAB 3
PERANCANGAN SISTEM
3.1
Blok Diagram Sistem
Blok diagram sistem absensi ini dapat dilihat pada gambar 3.1 di bawah ini.
Gambar 3.1. Diagram Blok Sistem
Fungsi – fungsi dari blok diatas adalah sebagai berikut :
a. Fungsi dari database server adalah menyimpan data absensi. Data tersebut
berupa Nama, ID, jadwal kerja, jam masuk, jam keluar, keterlambatan, dan
tanggal absen. Data absen tersebut diproses ketika modul Dallas DS80C400
menerima input dari barcode reader dan mengirimkannya ke server. Dan
server akan memberikan data hasil proses data absen tersebut di kirim
kembali ke modul dallas DS80C400 untuk ditampilan ke LCD.
30
b. Fungsi Dallas DS80C400 adalah sebagai interface network microcontroller
yang akan menerima data dari komputer ke sistem minimum atau sebaliknya
melalui koneksi Ethernet ( LAN ).
c. Fungsi sistem minimum AT89S52 adalah sebagai interface pengelola data
serial dari input dari sensor menjadi data yang siap digunakan dan juga
menerima input dari sistem TINI untuk menjadi informasi yang dapat
ditampilkan.
d. Fungsi LCD adalah menampilkan informasi mengenai waktu dan tanggal saat
itu, serta menampilkan hasil proses server berupa nama dan status dari
absennya. Selain itu LCD digunakan untuk menampilkan informasi
kesalahan-kesalahan pada input, seperti misalnya ’Id anda tidak terdaftar’.
e.
Fungsi Barcode Reader adalah sebagai pembaca input berupa data barcode
yang dimiliki oleh setiap anggota pada kartu identifikasinya. Dimana data
dari kartu identifikasi tersebut merupakan kode unik dari anggota tersebut.
3.2
Perancangan Perangkat Keras
Perancangan perangkat keras dibagi ke dalam modul – modul sebagai berikut :
3.2.1
Rangkaian Sistem minimum AT89S52
Perancangan sistem minimum berbasiskan AT89S52 berfungsi sebagai
pusat pemrosesan output dan input dari modul Dallas DS80C400. Dimana modul
Dallas ini hanya memiliki port serial untuk berkomunikasi dengan device,
sedangkan inputnya adalah data hasil sensor barcode.
31
3.2.1.1 Rangkaian komunikasi konversi protokol Serial dengan protokol RS-232
Dalam suatu sistem, jika terdapat beberapa protokol yang berbeda maka
akan dibutuhkan suatu converter agar semua bagian dari sistem dapat saling
mengenali informasi yang diberikan. Oleh karena itu dibutuhkan rangkaian
konversi, seperti misalnya:
Gambar 3.2 Rangkaian RS-232
Sistem komunikasi antara Dallas DS80C400 dengan sistem minimum
AT89S52 adalah menggunakan komunikasi secara serial. Protokol yang
digunakan adalah protokol RS – 232. Dengan rangkaian diatas maka informasi
yang dikirmkan oleh AT89S52 dapat dimengerti oleh Dallas.
32
3.2.1.2 Rangkaian LCD dengan sistem minimum AT89S52
LCD yang dipakai berupa sebuah LCD tipe karakter yang memiliki
display 20 karakter x 4 baris. Modul ini terhubung langsung dengan sistem
minimum AT89S52.
Gambar 3.3 Pin pada modul LCD
LCD tersebut akan digunakan untuk menampilkan berbagai informasi
yang perlu untuk ditampilkan
3.2.1.3 Rangkaian Barcode dengan sistem minimum
Pada Barcode Scanner protokol yang digunakan adalah protokol PS/2 dan
protokol ini agak berbeda dengan protokol serial pada umumnya maka pada
bagian ini akan digambarkan cara dan sistem penggunaannya.
33
Pin no
Fungsi
1
Data
2
Reserved
3
Ground
4
+ 5 Volts
5
Clock
6
Reserved
Gambar 3.4 Pin pada konektor PS/2
Barcode yang digunakan dalam perancangan sistem, menggunakan
keyboard mode, dimana sistem pengiriman data adalah secara serial dan
synchronous. Sehingga agar dapat melakukan komunikasi, maka pin ke 5 yaitu
pin untuk clock dihubungkan dengan interrupt pada modul AT89S52 dan pin
data dihubungkan dengan pin P2.0 (port 2.0). Ketika barcode mendeteksi adanya
data maka barcode akan mengirimkan sinyal ke sistem minimum sebagai berikut
Gambar 3.5 Pengiriman paket data
Perubahan clock dari high ke low ( falling edge ) menandakan adanya
data sehingga dengan perubahan ini maka akan memberi sinyal interrupt kepada
sistem minimum agar mengambil data dari pin 2.0. Format pengiriman datanya
adalah start bit, data ( 8 bit ), parity bit dan stop bit, seperti yang terlihat pada
gambar 3.5 .
34
3.2.2 Rangkaian Dallas DS80C400
Modul kedua selain sistem minimum AT89S52 adalah Dallas TINI
DS80C400. Bahasa pemograman yang digunakan untuk modul ini adalah Java,
dimana pada TINI pemrograman dilakukan agar packet pengiriman data melalui
protokol TCP dapat di ubah kedalam format RS-232 dan sebaliknya paket data
serial dapat diubah kedalam format yang sesuai dengan protokol TCP agar dapat
dikenali oleh sistem lain yang ada dalam jaringan.
3.2.2.1 Rangkaian serial DS80C400
Sesuai dengan datasheet, Mikrokontroller DS80C400 ini terdiri atas 3
port serial, 1 port CAN, dan 1 port 1-wire. Namun pada modul DSTINIS400
hanya ada dua buah serial port yang aktif yaitu serial 0 dan 4, yang telah
terintegrasi dalam modul tersebut. Pada sistem ini port serial yang digunakan
adalah serial 4.
Gambar 3.6 Modul TINI dan port serial
35
3.3
Perancangan Perangkat Lunak
Perancangan perangkat lunak disini adalah perancangan program yang
dibuat untuk mengirimkan data yang dimulai dari modul TINIDS80X400 menuju
server dan sebaliknya. Sebagian besar dari perangkat lunak untuk komunikasi
dibuat dalam bahasa pemrograman java. Sementara perangkat lunak yang
digunakan untuk keamanan dibuat dalam pemrograman visual basic 6.0.
3.3.1
Perancangan Serial to Ethernet
Program ini digunakan untuk mengkonversikan dari data serial yang
berupa byte menjadi data yang sesuai dengan protokol TCP sehingga data dapat
dikirimkan melalui protokol tersebut. Pada dasarnya program ini bertujuan untuk
membuka saluran koneksi antara TINIDS80X400 dengan modul serial dan juga
membuka saluran koneksi logical antara TINIDS80X400 dengan komputer
server yang digunakan untuk mengolah database.
Adapun diagram alir program ini adalah sebagai berikut :
36
Gambar 3.7 Diagram alir Serial to Ethernet utama
Diagram tersebut menunjukan aliran kerja dari program Serial to ethernet
yang terdapat pada modul TINI DS80X400. Dimana pada bagian awal, program
membuat suatu koneksi menuju serial dan menuju ethernet dimana pada
inisialisasi telah ditentukan nilai-nilai variabel yang ingin diterapkan seperti
antara lain pada koneksi serial ditetapkan nilai baud rate yaitu sebesar 9600 bps,
jumlah bit 8, stopbits 1, dan nilai parity none, nilai tersebut diset berdasarkan
default setting dari data barcode scanner yang ada. Sementara untuk koneksi
ethernet, yang diset disini adalah IP address dari server dan nomor port yang
digunakan untuk melakukan koneksi dengan server.
37
Jika terdapat koneksi dengan server maka dibuatlah 3 thread atau
program mandiri yang memiliki fungsi sebagai berikut:
1. Jam digital
Start
Status
Run?
Tidak
End thread
Ya
Get Date
Day-month-year-time
Send to Serial line
Gambar 3.8 Diagram alir jam digital
Bagian program ini (gambar 3.8) berfungsi untuk menampilkan tanggal,
bulan, tahun, jam, serta menit pada layar LCD dengan cara mengambil date
dari real time clock yang terdapat pada TINI dan mengirimkannya melalui
jalur serial agar dapat diproses oleh AT89S52 agar dapat ditampilkan pada
LCD.
38
2. Serial Writer
Gambar 3.9 Diagram alir Serial Writer
Diagram alir diatas (gambar 3.9) merupakan diagram alir bagian program
yang dibuat untuk menerima data dari server melalui ethernet yang berupa
Stream of String dan mengolahnya untuk menjadi sekelompok byte yang
dikirmkan satu persatu menuju AT89S52 untuk diolah dan ditampilkan, data
39
yang dimaksud disini adalah berupa input balik atau tanggapan terhadap
input yang berupa nomor identifikasi pada barcode.
Karena port komunikasi serial hanya satu sedangkan kedua thread diatas
(jam digital dan serial writer) menggunakan port yang sama (serial 4). Maka
perlu dibuat distribute lock, dimana ketika program Jam Digital sedang
mengakses port serial untuk mengirimkan data berupa tampilan waktu, maka
program Serial Writer tidak diperbolehkan untuk melakukan akses melalui
port serial tersebut, agar data yang dikirimkan tidak saling bertumpukan. Jika
program
Serial
Writer
ingin
menggunakan
port
serial
untuk
menulis/mengirimkan data yang didapat dari port ethernet, maka program
Serial Writer akan memberi tahu program Jam Digital bahwa ia ingin
menggunakan port tersebut, sehingga setelah program Jam digital selesai
melakukan satu fungsi rutinnya (mengirimkan string berisi keterangan
waktu), lock (hak akses terhadap port serial 4) diberikan pada Serial Writer
sehingga program dapat mengirimkan data yang didapatnya dari port ethernet
menuju modul AT89S52, dan setelah pengiriman data selesai maka lock
kembali diserahkan pada Jam Digital, sehingga program Jam Digital dapat
kembali mengirimkan data berisi keterangan waktu melalui serial port 4
untuk ditampilkan pada modul LCD melalui modul AT89S52.
3. Serial Reader
Diagram alir pada gambar 3.10 menggambarkan cara kerja bagian
program
yang
digunakan
untuk
menerima
input
dari
serial
dan
meneruskannya pada ethernet. Prosesnya adalah sebagai berikut, pertama
dengan cara membaca satu persatu byte yang dikirimkan oleh modul
40
AT89S52 dan kemudian mengelompokkannya dalam sebuah string, untuk
dikirimkan menuju server setelah semua byte selesai dikirim oleh modul
AT89S52. Data berbentuk string tersebut dikirimkan melalui local dan
remote port yang terbentuk pada saat koneksi client-server antara TINI
dengan server dimulai. Adapun nomor local port tersebut dari modul adalah
tetap selama koneksi berlangsung, dan akan berbeda pada koneksi
berikutnya.
Gambar 3.10 Diagram alir Serial Reader
41
3.3.2
Perancangan program MultiThreadServer
Program ini digunakan pada komputer server untuk menerima dan
mengolah informasi yang dikirimkan oleh TINI.
Program ini dibagi menjadi dua bagian utama yaitu bagian komunikasi
dengan device dan bagian komunikasi dengan aplikasi My SQL.
3.3.2.1 Komunikasi dengan device (TINI)
Bagian program ini (diagram alir seperti terlihat pada gambar 3.11)
berawal dengan dibukanya port untuk mendengarkan permintaan koneksi dari
client (TINI), dimana jika terdapat request atau permintaan dari client, maka
akan dibuat program mandiri untuk komunikasi client-server untuk masing
masing client.
Pada masing-masing koneksi client-server, program berfungsi untuk
menerima data dari TINI yang dikirimkan melalui ethernet dan menyimpannya
dalam suatu buffer string yang akan diproses pada program bagian koneksi
dengan My SQL. Selain itu bagian program SerialToEthernet ini mengirimkan
tanggapan balik hasil pengolahan dengan database di server, kepada client.
42
Gambar 3.11 Diagram alir MultiThreadServer bagian 1
43
3.3.2.2 Koneksi dengan My SQL
Fungsi bagian koneksi dengan My SQL (gambar 3.12) ini adalah
mengolah string yang diterima oleh bagian pertama, dengan cara membuka
koneksi dengan database My SQL pada port aplikasi yang dihubungkan dengan
program oleh driver yang disediakan My SQL.
Lalu selanjutnya informasi yang diterima akan dibandingkan dengan
yang terdapat pada database, sehingga akan diperoleh informasi berupa nama dan
status absensi sebelumnya pada hari yang sama. Dan jika informasi tersebut
dianggap sah (terdaftar pada database) maka akan dilakukan
update pada
database tersebut. Dan apabila tidak sesuai, maka tanggapan yang sesuai akan
diberikan. Setelah semua proses dengan database selesai maka koneksi dengan
database akan diputus dan kembali ke bagian pertama untuk melakukan
komunikasi dengan client lagi.
Diagram alir bagian program pengolah informasi ini dapat dilihat pada
gambar 3.12.
44
Gambar 3.12 Diagram alir MultiThreadServer bagian 2
45
3.3.3
Perancangan perangkat lunak keamanan – firewall
Untuk mengatasi masalah keamanan dimana agar tidak ada user selain
TINI yang dapat mengakses program sistem pada komputer server, maka
dibuatlah sebuah program firewall sederhana menggunakan pemrograman visual
basic yang ditujukan khusus untuk sistem absensi ini.
Firewall ini menggunakan sistem IPtable dimana module yang digunakan
diambil dari open license yang ada. Berikut adalah Diagram alir program ini :
Gambar 3.13 Diagram alir firewall
46
Program diatas berfungsi dengan cara membandingkan antara sebuah IP
address yang baru masuk ke dalam IP table, dengan yang terdapat dalam list
yang dibuat. Alamat IP hanya akan diperiksa jika alamat IP tersebut berusaha
mengakses socket/port yang disediakan khusus untuk program sistem. Jika
alamat IP tersebut berusaha mengakses port khusus tersebut, maka alamat IP
tersebut akan dibandingkan dengan database alamat IP yang dibuat pada list yang
disediakan. Jika terdapat dalam list maka berarti alamat IP tersebut
diperbolehkan untuk mengakses sehingga akan dibiarkan. Sebaliknya jika tidak
terdapat dalam list maka IP tersebut akan dihapuskan dari IP table sehingga
komunikasi antara server dengan komputer pada alamat itu akan diblok sehingga
akses untuk program sistem tidak akan diberikan.
3.3.4
Perancangan Database
Nama Database
:
absen
Nama Tabel
:
anggota
Keterangan
:
Tabel yang berisi data anggota
Tabel 3.1 Tabel anggota
Nama Field
Type
Key
Keterangan
ID
varchar(10)
Primary Key
Menyimpan No. ID Anggota
Nama
varchar(30)
-
Menyimpan Nama Anggota
47
Nama Tabel
:
jadwal
Keterangan
:
Tabel yang berisi jadwal kehadiran setiap anggota
Tabel 3.2 Tabel jadwal
Nama field
Type
Key
ID
Date
Hari
Time
Primary Key
Jadwal_masuk
Time
-
Jadwal_keluar
Time
-
Nama Tabel
:
absen
Keterangan
:
Tabel yang berisi data absensi setiap anggota
Primary Key,
Foreign Key
Keterangan
Menyimpan No. ID anggota
Menyimpan jadwal absen
anggota berdasarkan hari
Menyimpan jadwal absen
jam masuk anggota
Menyimpan jadwal absen
jam keluar anggota
Tabel 3.3 Tabel absen
Nama field
Type
Key
ID
Date
Cur_date
Time
Primary key
Jam_masuk
Time
-
Jam_keluar
Time
-
Status
Varchar(7)
-
Keterlambatan
Int(11)
Primary Key,
Foreign Key
Keterangan
Menyimpan No. ID anggota
Menyimpan tanggal pada
saat absen dilakukan
Menyimpan absen jam
masuk anggota
Menyimpan absen jam
keluar anggota
Menyimpan status absen
anggota
Menyimpan jumlah
keterlambatan anggota
48
Gambar 3.14 Relasi antar tabel
3.3.5
Perancangan GUI (graphical user interface)
Pada sistem ini terdapat dua GUI, yaitu GUI Database yang
menggunakan bahasa pemrograman Java dan GUI Firewall yang menggunakan
bahasa pemograman Visual Basic 6.0. GUI Database berfungsi untuk
memudahkan user dalam mengakses database, sedangkan GUI Firewall
digunakan untuk membatasi akses host ke sistem absensi ini berdasarkan nomor
port dan IP address.
Adapun rancangan tampilan GUI tersebut adalah sebagai berikut:
49
Gambar 3.15 Tampilan GUI Menu Utama untuk mengakses database MySQL
Gambar 3.16 Tampilan GUI Pencarian Data untuk mengakses database MySQL
50
Gambar 3.17 Tampilan GUI untuk firewall yang menunjukkan koneksi yang terjadi
Gambar 3.18 Tampilan GUI firewall bagian IP address dan port list
51
Gambar 3.19 Tampilan GUI firewall bagian log untuk menunjukan
status dan report dari semua koneksi
3.3.6
Rancang Bangun Sistem
Pada bagian ini akan digambarkan bagaimana bentuk dari sistem ini baik
berupa blok diagramnya maupun bentuk keseluruhannya nantinya.
Gambar 3.20 Blok diagram sistem
52
Gambar 3.21 Ukuran perancangan sistem
Adapun perancangan sistem yang dibuat secara keseluruhan adalah
tampak pada gambar 3.20 – 3.23 dilihat dari sisi samping, depan, maupun atas
dengan ukuran-ukuran bentuk sistem yang dibuat
Gambar 3.22 Perancangan Sistem tampak samping kiri
Gambar 3.23 Perancangan Sistem tampak samping kanan
53
Gambar 3.24 Perancangan Sistem tampak depan
Gambar 3.25 Perancangan Sistem tampak atas
Download