Antarmuka Port Serial-2: Aplikasi Visual Basic untuk Membaca ID Alat

Catatan: Bagian-2 (klik disini untuk membaca Bagian-1) ini ditulis dengan asumsi Anda sudah pernah minimal membuat program sederhana menggunakan Visual Basic 6.0. Jika belum, disarankan untuk belajar dengan tingkat dasar dulu, buku2 atau tutorialnya sudah banyak sekali. Menggunakan Simulator port Serial yang telah dibahas sebelumnya, akan kita gunakan untuk belajar membuat program dalam Visual Basic 6.0 untuk membaca ID dari board, dalam hal ini simulator port serial yang telah dibahas sebelumnya. Jika Anda belum mengetahui protokol simulator ini silahkan baca kembali artikel sebelumnya. Klik disini untuk mengunduh simulator port serial. Baiklah… Yang harus dilakukan pertama adalah instalasi Visual Basic 6.0 terlebih dulu (kecuali sudah ada di komputer Anda). Selain itu tidak dibutuhkan fasilitas port apapun di komputer Anda, karena ini adalah simulator port serial dan bahkan, boleh percaya atau tidak, saat Anda mengaktifkan simulator serial pada software ini, komputer akan memberikan indikator bunyi seakan-akan ada alat USB yang ditancapkan, demikian juga pada saat dinon-aktifkan. Sebagaimana telah dicoba pada artikel/tutorial Bagian-1. Aktifkan VB6 dan buatlah proyek baru (EXE), perhatikan Gambar 1.

Gambar 1. Perhatikan kotak merah (Standard EXE)

Sertakan juga komponen Microsoft COMM Control 6.0 (perhatikan Gambar 2). Untuk mengaktifkan jendela ini (Gambar 2), gunakan menu Project -> Components.. (atau tekan Ctrl+T), sehingga ditampilkan jendela seperti pada Gambar 2.

Gambar 2

Centang pada komponen Microsoft COMM Control 6.0 (Gambar 2) kemudian klik Ok, sehingga pada bagian koponen VB6.0 akan ditambahkan komponen tersebut (Gambar 3).

Gambar 3

Ok… selanjutnya kita buat GUI-nya atau Form-nya mengikuti Gambar 4, masing-masing objek nama-namanya sudah ada di Gambar 4 tersebut, ingat juga untuk menempatkan komponen COMM-nya juga (saya beri tanda kotak merah dan dengan nama MSComm1).

Gambar 4

Inti dari program VB ini adalah mengirimkan id alat saja, artinya saat tombol Open ditekan, maka program VB akan langsung mengirimkan perintah “id” pada simulator port serial (dalam hal ini menggantikan board yang terpasang di lapangan, misalnya). Untuk itu disiapkan sebuah subrutin yang nantiya digunakan untuk melakukan hal tersebut, namanya subrutin kirim_id(), sebagai berikut…

Private Sub kirim_id() 
Dim pj As Byte 
On Error GoTo salah 
  MSComm1.Output = "id" & vbCr 
  buffer = "" 
  Do 
    DoEvents 
    buffer = buffer & MSComm1.Input 
  Loop Until InStr(buffer, vbCr) 
  pj = Len(buffer) 
  Text1.Text = Mid(buffer, 1, pj - 2) 
  Exit Sub 
salah: 
  MsgBox "Ada kesalahan kirim data", vbOKOnly, "Peringatan" 
End Sub

Sedangkan variabel buffer sebaiknya dituliskan di baris paling atas dari listing VB..

Dim buffer As Variant

Artinya panjang buffer-nya menyesuaikan. Subrutin kirim_id() diawali dengan pendefinisian variabel pj sebagai byte, yang digunakan untuk menyimpan panjang data yang diterima dari port serial. Informasi panjang string inilah yang akan digunakan untuk memotong string agar dapat ditampilkan melalui objek Text1.Text dengan tepat (tanpa adanya karakter Cr (carriage return) dan Lf (line feed) alias ENTER, perhatikan instruksi Mid(buffer,1,pj-2) yang digunakan untuk memotong dua karakter terakhir yaitu Cr dan Lf). Dengan asumsi port serial sudah dibuka (open), diawali dengan jebakan jika terjadi kesalahan selama berkomunikiasi dengan port serial (perhatikan pernyataan On Error), maka dialihkan ke label “salah:”, yaitu menampilkan pesan kesalahan “Ada kesalahan kirim data”. Langkah selanjutnya adalah mengirimkan perintah “id” yang diikuti dengan karakter Cr ke port serial (perhatikan instruksi MSComm1.Output). Instruksi yang ada di dalam Do..Loop merupakan serangkaian instruksi yang digunakan untuk menangkap data dari port serial yang kemudian disimpan kedalam variabel buffer hingga diterima karakter Cr (saja). Baru kemudian dilakukan penghitungan panjang string yang diterima (instruksi pj=Len(buffer)) dan pemotongan string seperti dijelaskan sebelumnya. Pada saat pertama kali dijalankan program dijalankan, VB akan mengisi pilihan COM terlebih dahulu melalui subrutin…

Private Sub Form_Load() 
Dim i As Byte 
  For i = 1 To 16 
    Combo1.AddItem (i) 
  Next i 
 cmdTutup.Enabled = False 
End Sub

Untuk tombol “Buka COM” dituliskan subrutin…

Private Sub cmdBuka_Click() 
Dim pj As Byte 
On Error GoTo salah 
  MSComm1.CommPort = Combo1.ListIndex + 1 
  MSComm1.Settings = "9600,N,8,1" 
  MSComm1.PortOpen = True 
  Call kirim_id 
  cmdTutup.Enabled = True 
  cmdBuka.Enabled = False 
  Exit Sub 
salah: 
  MsgBox "Ada yang salah di COM" & Combo1.ListIndex + 1, _ 
  vbOKOnly, "Peringatan!" 
End Sub

Anda perhatikan cara pengaturan port serial, port berapa yang akan dibuka (MSComm1.CommPort), kecepatan dan seting bitnya apa saja (MSComm1.Settings), kemudian proses membuka port (MSComm1.PortOpen). Dilanjutkan mengirim perintah “id” dan mengaktifkan tombol Close dan mematikan tombol Open. Sedangkan untuk tombol “Tutup COM” menggunakan subrutin…

Private Sub cmdTutup_Click() 
On Error GoTo salah 
  MSComm1.PortOpen = False 
  cmdTutup.Enabled = False 
  cmdBuka.Enabled = True 
  Text1.Text = "id Alat" 
  Exit Sub 
salah: 
  MsgBox "Tidak bisa menutup COM", vbOKOnly, "Peringatan!" 
End Sub

Cukup sederhana bukan? Silahkan mencoba dan silahkan berdiskusi melalui komentar di artikel ini, terima kasih!

This entry was posted in Mikrokontroler and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s