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.
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.
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
3.2. Perancangan Software dan User Interface (UI)
Softwa re/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
Softwa re/Perangkat lunak yang dibuat memiliki UI/Tampilan Antar Muka sebagai berikut:
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.
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
N
Y
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] :
Sambungkan alat
Daftarkan Real Time Events
Start
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.
Berikut potongan kode untuk real time events :
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
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(),
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.
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
Start
Menunggu perintah
End Koneksi ke
database
Menjalankan perintah (tulis,
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
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