Translate

Membuat Aplikasi Manajemen Akses Sederhana Untuk Pintu Akses Sederhana Menggunakan Visual Basic





Mungkin Sobat sudah membaca postinganku tentang pembuatan pintu akses sederhana dan penambahan fitur komunikasinya. Rasanya kurang lengkap kalau penambahan fasilitas tersebut tidak dilengkapi dengan aplikasi yang bisa dijalankan di PC sehingga sobat bisa melihat bagaimana panel dapat berinteraksi dengan PC.

Pada kesempatan ini, aku akan memanfaatkan aplikasi Visual Basic untuk membuat aplikasi sistem manajemen akses sederhana namun tidak menutup kemungkinan bisa dilakukan dengan aplikasi Gambas bagi penggemar Linux. Keduanya hampir sama, yaitu sama-sama mengadopsi format penulisan pemrograman Basic yang populer dan terus berkembang sesuai tuntutan kebutuhan jaman.

Ayo kita mulai...

Pertama kita buka dulu aplikasi Visual Basic. Penulis menggunakan Microsoft Visual Basic 6.0. Kita namai saja project manajemen akses yang akan dibuat dengan nama prjAkses1.

Setelah itu pada forms yang akan digunakan dinamai frmAkses1. Untuk Caption dapat diisi dengan “Manajemen Akses Sederhana” sehingga nanti saat dibuka, pada jendela aplikasi kita akan muncul nama itu.

Berikutnya adalah membuat sebuah label dengan nama lblNomorUnit dengan caption “Nomor Unit :”. Kemudian di samping label tersebut dibuatkan kotak teks (TextBox) dengan nama txtNomorUnit. Untuk properti alignment kita pilih ‘2 – Center’ agar isi pada kotak teks nantinya ditengah dan ubah isi dari txtNomorUnit.Text dengan 0 agar tampilannya menunjuk pada alamat 0. Kemudian ubah properti MaxLength menjadi 2 saja.

Buatlah frame bernama fraTransaksi yang akan menampilkan transaksi dengan caption dapat diisi “Transaksi On-Line”. Di dalam kotak fraTransaksi kita masukkan TextBox dengan nama txtTransaksi yang isi Text-nya juga dikosongkan. Ubah beberapa properti dari txtTransaksi yaitu pada Locked diubah menjadi True agar tidak bisa mengubah isi kotak tersebut. MultiLine juga diubah menjadi True agar dapat menampung data dan menampilkan dalam banyak baris. Kemudian ScrollBars dipilih ‘2 – Vertical’.

Pada bagian paling bawah buatlah dua buah CommandButton masing-masing bernama cmdPulseOpen dengan caption “PULSE OPEN” dan cmdByPass dengan caption awal “BYPASS UNIT”

Nah pembuatan jendela tampilan sudah selesai. Selanjutnya tinggal melengkapi beberapa hal lagi.

Kita perlu menambahkan sebuah komponen untuk dapat menjalankan aplikasi komunikasi serial. Hal ini perlu dilakukan karena biasanya pada kotak Component belum ada maka klik kanan pada kotak Toolbox tabulasi General dan pilih Components lalu carilah ‘Microsoft Comm Control 6.0’ dan kemudian klik Apply. Sekarang fasilitas komunikasi serial sudah tersedia. Klik 2 kali kotak ikon bergambar telepon dan itu akan memasukkannya pada bingkai kerja kita. Klik ikon bergambar telepon yang bernama MsComm1 dan pindahkan ke tempat yang tidak menghalangi lembar kerja biasa aku suka menaruhnya di pojok, lalu ubah Settings menjadi “1200,n,8,1”.

Hasil dari persiapan pembuatan jendela aplikasi Manajemen Akses Sederhana dapat dilihat berikut ini:



Akhirnya kita harus menuliskan beberapa perintah berkaitan dengan aplikasi yang akan dibuat. Hal pertama adalah mendeklarasikan beberapa variabel yang akan digunakan. Kita setidaknya memerlukan 2 buah variabel yaitu BufSerial dengan jenis data string dan Heksa dengan jenis Long.

Dim BufSerial$, Heksa&

Kemudian pada saat aplikasi dimulai, kita perlu memeriksa status gerbang serial yang digunakan. Jika belum aktif maka perlu diaktifkan.

Private Sub Form_Load()
    If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
End Sub

Perintah yang berkaitan dengan tombol perintah atau CommandButton dapat dilihat berikut ini:

Private Sub cmdByPass_Click()
    MSComm1.Output = Chr$(txtNomorUnit.Text)
    If cmdByPass.Caption = "BYPASS UNIT" Then
        MSComm1.Output = "B"
        cmdByPass.Caption = "UNBYPASS UNIT"
        cmdPulseOpen.Enabled = False
        txtTransaksi.Text = "ByPass Unit : " & txtNomorUnit.Text & _
vbCrLf & txtTransaksi.Text
    Else
        MSComm1.Output = "U"
        cmdByPass.Caption = "BYPASS UNIT"
        cmdPulseOpen.Enabled = True
        txtTransaksi.Text = "UnByPass Unit : " & txtNomorUnit.Text & _
vbCrLf & txtTransaksi.Text
    End If
End Sub

Pada kotak tombol BYPASS, saat tombol ini diklik maka kali pertama adalah mengirim Nomor Unit kemudian memeriksa status Caption. Jika caption berisi ‘BYPASS UNIT’ maka perintah selanjutnya mengirim karakter ‘B’ ke perangkat akses yang terhubung sesuai dengan alamat yang tercantum. Setelah itu mengubah isi caption menjadi ‘UNBYPASS UNIT’ dan menonaktifkan tombol ‘PULSE OPEN’. Aktifitas ini juga direkam dalam transaksi.

Sebaliknya jika caption pada cmdByPass berisi ‘UNBYPASS UNIT’ maka perintah akan mengirim karakter ‘U’ kemudian mengaktifkan tombol ‘PULSE OPEN’ dan aktifitas juga disimpan pada transaksi.

Private Sub cmdPulseOpen_Click()
    MSComm1.Output = Chr$(txtNomorUnit.Text)
    MSComm1.Output = "P"
    txtTransaksi.Text = "Kirim Pulse Open : " & txtNomorUnit.Text & _
vbCrLf & txtTransaksi.Text
End Sub

Sama halnya dengan perintah sebelumnya, pada klik cmdPulseOpen, hal pertama adalah mengirim alamat nomor unit diikuti dengan pengiriman karakter ‘P’ dan menyimpan transaksi.

Private Sub txtNomorUnit_Change()
    If txtNomorUnit.Text <> "0" Then
        If Val(txtNomorUnit.Text) = 0 Or Val(txtNomorUnit.Text) > 15 Then txtNomorUnit.Text = ""
    End If
End Sub

Pada kotak teks kita perlu untuk melakukan filtering di mana karakter yang hanya dapat diterima adalah karakter berjenis angka dan nilai yang dapat dimasukkan adalah antara 0 sampai dengan 15.

Bagian terakhir dari program kita adalah penangan data serial yang masuk. Variabel yang dideklarasikan di awal digunakan di sini. Setiap byte dari data serial yang diterima ditampung pada BufSerial. Jumlah banyaknya data dari BufSerial diperiksa. Pertama, jika jumlahnya 2 atau lebih maka byte kedua yang berisi kode akan diperiksa untuk kode ‘P’ atau Pulse Open yang berasal dari perangkat akses. Jika kode sesuai maka data yang diterima akan dimasukkan dalam transaksi.

Private Sub MSComm1_OnComm()
    BufSerial = BufSerial + MSComm1.Input
        If Len(BufSerial) >= 2 Then
                If Mid(BufSerial, 2, 1) = "P" Then
                    txtTransaksi.Text = "Pulse Door Open : " & txtNomorUnit.Text & vbCrLf & txtTransaksi.Text
                    BufSerial = "": Exit Sub
                End If
            End If

Perintah berikutnya adalah jika kode yang diterima bukanlah ‘P’ maka jumlah data ditunggu hingga mencapai 5 untuk bisa diproses. Jika jumlahnya sudah mencapai 5 maka pemeriksaan kode dilakukan untuk menentukan apakah transaksi dari panel diterima atau ditolak.

        If Len(BufSerial) = 5 Then
            If Asc(Mid(BufSerial, 2, 1)) = 9 Then
                Heksa = Asc(Mid(BufSerial, 5, 1))
                Heksa = Heksa + (Asc(Mid(BufSerial, 4, 1)) * 256)
                Heksa = Heksa + (Asc(Mid(BufSerial, 3, 1)) * 65536)
                txtTransaksi.Text = "Kartu : " & Heksa & " Akses Diterima" & ", Unit : " & _
Asc(Left(BufSerial, 1)) & vbCrLf & txtTransaksi.Text
            ElseIf Asc(Mid(BufSerial, 2, 1)) = 1 Then
                Heksa = Asc(Mid(BufSerial, 5, 1))
                Heksa = Heksa + (Asc(Mid(BufSerial, 4, 1)) * 256)
                Heksa = Heksa + (Asc(Mid(BufSerial, 3, 1)) * 65536)
                txtTransaksi.Text = "Kartu : " & Heksa & " Akses Ditolak" & ", Unit : " & _
Asc(Left(BufSerial, 1)) & vbCrLf & txtTransaksi.Text
            End If
            BufSerial = ""
        End If
End Sub

Variabel Heksa digunakan untuk mengkonversikan bilangan heksadesimal yang diterima dan mengubahnya menjadi desimal.

Penulis sempat mencoba menggunakan aplikasi ini pada perangkat dengan nomor unit 3 dan hasilnya sebagai berikut:



Demikian aplikasi Manajemen Akses Sederhana yang dibuat. Masih sangat sederhana dan ini merupakan SDK (source Data Kit) dari perangkat akses sederhana yang dibuat. Jika sobat adalah seorang Software Engineer maka aplikasi ini dapat dikembangkan jika perlu menggunakan fitur database sehingga aplikasi bisa tampak lebih elegan.



Udah ya, makasih udah baca postingan aku. Semoga bisa bermanfaat, sukur-sukur bisa diterapkan oleh sobat semua.

Salam....

Tidak ada komentar:

Posting Komentar