BAB III PERANCANGAN -...
Transcript of BAB III PERANCANGAN -...
10
BAB III
PERANCANGAN
Pada bab ini akan dijelaskan perancangan database, perancangan user interface pada
software yang dibuat, dan cara kerja dari sistem absensi sekolah/bimbel mengunakan sidik jari
dan online message gateway. Garis besar tahap perancangan sistem ini ditunjukkan pada Gambar
3.1.
Gambar 3.1 Tahapan Kerja Sistem Secara Keseluruhan.
Menghubungkan alat absensi dengan
komputer dan membuat program untuk
koneksinya.
Membuat program untuk mendapatkan data
absensi masuk secara real time (waktu riil).
Membuat database untuk menyimpan data
masuk dan input data telegram.
Menampilkan data pada user interface
(tampilan antar muka) program.
Membuat program untuk memproses data
yang masuk dari alat dan database agar sesuai
format API telegram lalu mengirimkannya
kepada bot/server telegram.
Melakukan ujicoba.
12
3.1. Perancangan Database
Database yang dibangun akan digunakan untuk menyimpan data dari mesin presensi saat
terdapat absensi pada tabel Presensi serta data utama user seperti nama, alamat, id dan chat id
pada tabel Person.
Berikut desain tabel yang digunakan:
Tabel 3.1 Tabel Person.
Nama Kolom Tipe Data Keterangan
[ID Person] int Primary Key
Nama varchar(50) Allow Null
Alamat varchar(50) Allow Null
[ID Telegram] varchar(50) Allow Null
Tabel 3.2 Tabel Presensi
Nama Kolom Tipe Data Keterangan
[ID Person] int Foreign Key
[Tanggal dan Waktu] varchar(50) Not Allow Null
[Status Presensi] varchar(10) Not Allow Null
Berikut Hubungan antar table pada database
Gambar 3.3 Hubungan Tabel Pada Database
13
3.2. Perancangan Software dan User Interface (UI)
Software/perangkat lunak ini di rancang untuk mengkoneksikan 2 alat Solution X100-C
dengan komputer lalu secara real-time/waktu sebenarnya menerima data dari alat terkoneksi, lalu
menyimpan dan memproses data tersebut, dan akhirnya mengirimkan data tersebut kepada orang
yang dituju melalui aplikasi pesan online Telegram
Software/Perangkat lunak yang dibuat memiliki UI/Tampilan Antar Muka sebagai
berikut:
Gambar 3.4 Tampilan Antar Muka Perangkat Lunak 1
15
Gambar 3.6 Tampilan Antar Muka Perangkat Lunak 3
Penjelasan 3 gambar tampilan antar muka di atas :
a) Kolom tulisan untuk mesin 1, masukan alamat ip mesin 1
b) Kolom tulisan untuk mesin 1, masukan port mesin 1
c) Tombol connect dan disconnect untuk mesin 1, klik tombol untuk koneksi dengan mesin.
d) Kolom tulisan untuk mesin 2, masukan alamat ip mesin 2
e) Kolom tulisan untuk mesin 2, masukan port mesin 2
f) Tombol connect dan disconnect untuk mesin 2, klik tombol untuk koneksi dengan mesin.
g) Label status koneksi mesin absensi 1
h) Label status koneksi mesin absensi 2
i) Tab Real Time Events , berisi list box yang akan mempilkan data.
j) List box real time events, menampilkan events yang terjadi secara real time.
k) Tab add/edit data, menampilkan tampilan untuk keperluan data yang di perlukan
16
l) Tab laporan, menampilkan laporan absensi yang terjadi.
m) Tampilan tabel person.
n) Label,dan textbox untuk menambah,menghapus, dan mengganti data.
o) Tombol add , digunakan untuk menambah data.
p) Tombol update, digunakan untuk mengubah data.
q) Tombol delete, digunakan untuk menghapus data.
r) Tabel laporan , menampilkan laporan absensi masuk.
3.3. Gambaran dan Cara Kerja Sistem Secara Keseluruhan
Perancangan sistem dalam proposal skripsi ini terdiri dari dua Alat absensi sidik
jari(X100C), Local Area Network (LAN), komputer utama/server, dan komputer/smartphone
client. Alat absensi di hubungkan kepada komputer menggunakan Lan dan switch,
Laptop/komputer digunakan untuk menjalan program utama dan menampilkan UI, serta sebagai
server, program utama berfungsi untuk menarik data secara real-time, menyimpan data,
mengirim perintah kepada bot agar bot mengirim pesan kepada komputer atau ponsel pintar yang
dituju. Gambar diagram cara kerja secara keseluruhan terdapat pada gambar 3.2.
17
N
Y
Gambar 3.7 Cara Kerja Sistem Secara Keseluruhan.
Start
Masukan
absensi
Pengguna 1 atau
grup A
menerima pesan
Pengguna 2 atau
grup B, menerima
pesan, dst
Cek
Kirim ke PC,
database, dan
tampilan antarmuka
Sesuaikan dengan
format API Telegram,
lalu kirim ke bot
Telegram bot/server
menerima perintah lalu
mengirim pesan sesuai
perintah
18
3.3.1 Cara Kerja Real Time Events
Pada bagian ini dijelaskan mengenai cara kerja fungsi Real Time events pada sistem ini :
a) Koneksikan alat dan komputer
b) Daftarkan real time events yang akan dipicu
c) Cek apakah acara yang didaftarkan terjadi.
d) Jika benar terjadi, simpan nilai yang kembali dari acara yang terjadi.
e) Kirimkan data yang diperlukan ke database, api telegram, dan tampilan antarmuka
program.
Berikut diagram penjelasanya[7] :
Gambar 3.8 Diagram Real Time Events 1
Sambungkan alat
Daftarkan Real Time
Events
Start
End
19
N
Y
Gambar 3.9 Diagram Real Time Events 2
Start
Apakah
Real Time
Events
dipicu ?
Menerima nilai/data yang
kembali/didapatkan dari Real
Time Events yang dipicu
Menyimpan/mengirim data
ke komputer, database, dan
API telegram.
End
20
Berikut potongan kode untuk real time events :
If axCZKEM1.RegEvent(iMachineNumber, 65535) = True Then AddHandler axCZKEM1.OnFinger, AddressOf AxCZKEM1_OnFinger AddHandler axCZKEM1.OnVerify, AddressOf AxCZKEM1_OnVerify AddHandler axCZKEM1.OnAttTransactionEx, AddressOf AxCZKEM1_OnAttTransactionEx End If
Private Sub AxCZKEM1_OnAttTransactionEx(ByVal sEnrollNumber As String, ByVal iIsInValid As Integer, ByVal iAttState As Integer, ByVal iVerifyMethod As Integer, _ ByVal iYear As Integer, ByVal iMonth As Integer, ByVal iDay As Integer, ByVal iHour As Integer, ByVal iMinute As Integer, ByVal iSecond As Integer, ByVal iWorkCode As Integer) lbRTShow.Items.Add("RTEvent OnAttTrasactionEx Has been Triggered,Verified OK") lbRTShow.Items.Add("...UserID:" & sEnrollNumber) Dim token As String = "379830121:AAFIYSe12o8_obkkhZfT9mCF68AWYVmN-ZA" writedb(sEnrollNumber, iYear, iMonth, iDay, iHour, iMinute, iSecond, iAttState) Dim id As String = getidtelegram(sEnrollNumber) kirim(id, token, iYear, iMonth, iDay, iHour, iMinute, iSecond, iAttState, sEnrollNumber) Tampildata2() End Sub
Penjelasan singkat fungsi-fungsinya, fungsi axCZKEM1.RegEvent digunakan untuk
mendaftarkan real time events yang ingin dipicu dan fungsi axCZKEM1.OnAttTransactionEx
digunakan untuk mendapat nilai kembali dari real time events.
21
3.3.2 Cara Kerja Koneksi Alat Absensi dan Komputer
Pada bagian ini akan dijelaskan bagaimana proses koneksi komputer dengan alat absensi.
Alat dihubungkan ke PC dengan kabel LAN dan Switch. Ip alat 1 di isi dengan nomer :
192.168.1.201, Ip alat 2 di isi dengan alamat : 192.168.1.202, ip pc di isi dengan alamat :
192.168.1.1 , Subnet mask kedua alat dan pc di isi dengan alamat : 255.255.255.0 . Kedua alat
berhasil terkoneksi secara bersamaan, jika alat lebih dari 2, maka cukup menjalankan 2 program
secara bersamaan atau lebih, lalu di koneksikan ke masing-masing alat sesuai alamat ip yang di
isikan pada alat.
Berikut potongan kode untuk koneksi ke mesin/alat absensi :
bIsConnected = axCZKEM1.Connect_Net(txtIP.Text.Trim(), Convert.ToInt32(txtPort.Text.Trim())) If bIsConnected = True Then btnConnect1.Text = "Disconnect" btnConnect1.Refresh() lblState.Text = "Current State FP1 : Connected" iMachineNumber = 1 ' Else axCZKEM1.GetLastError(idwErrorCode) MsgBox("Unable to connect the device,ErrorCode=" & idwErrorCode, MsgBoxStyle.Exclamation, "Error") End If
Penjelasan singkat fungsinya, fungsi axCZKEM1.Connect_Net digunakan untuk
menghubungkan alat dan komputer.
3.3.3 Aplikasi Koneksi ke Database
Pada bagian ini akan dijelaskan tentang database pada sistem skripsi ini. Agar database
dapat bekerja pada program, database perlu disambungkan dengan program terlebih dahulu,
setelah tersambung proses yang inginkan dapat berjalan, contohnya : tulis ke database, tampilkan
data dari database pada tabel, dan ambil data dari database.
Berikut diagramnya :
22
N
Y
Gambar 3.10 Diagram Database
3.3.4 Cara Kerja Pengiriman Pesan Telegram
Pada bagian ini akan dijelaskan tentang proses pengiriman pesan memalui telegram. Saat
ada absensi masuk, real time evetns akan terpicu, real time value di simpan pada database,
kemudian program mengambil/menggunakan data dari database dan real-time value untuk di
proses menjadi format yang sesuai api telegram, setelah format perintah sesuai dengan api
telegram, perintah tersebut dikirim menuju telegram bot. Lalu bot akan mengirim pesan sesuai
perintah yang diterima. Pengiriman pesan dapat tertunda jika terdapat masalah pada koneksi
internet dikarenakan pengiriman bergantung pada internet. Berikut gambar diagram prosesnya :
Start
Menunggu
perintah
End
Koneksi ke
database
Menjalankan
perintah (tulis,
ganti, hapus)
23
Gambar 3.11 Diagram Proses Pengiriman Pesan Telegram
Start
Absen
masuk
Bot mengirim pesan
sesuai perintah
End
Real Time
Events dipicu
Data dikirim ke
komputer dan database
Data diproses agar
sesuai API
API dikirim sebagai
perintah
24
Berikut potongan kode untuk mengirim perintah kepada bot telegram :
Dim uri As String = "https://api.telegram.org/bot" Dim pesan As String = token & "/sendmessage?chat_id=" & id & "&text=Pemberitahuan Bahwa " & sEnrollNumber & " , " & Tanggal & " -- Telah Melakukan Presensi " & Status uri = uri + pesan Try Dim fr As System.Net.HttpWebRequest Dim targetURI As New Uri(uri) fr = DirectCast(Net.HttpWebRequest.Create(targetURI), System.Net.HttpWebRequest) If (fr.GetResponse().ContentLength > 0) Then Dim str As New System.IO.StreamReader(fr.GetResponse().GetResponseStream()) str.Close() End If Catch ex As System.Net.WebException 'Error in accessing the resource, handle it End Try
Penjelasan singkat, uri adalah variabel untuk menyesuaikan data yang didapat dari
database dan alat agar sesuai format perintah/API. Lalu pengiriman menggunakan fungsi hhtp
web request.