Adakalanya untuk aplikasi yang kita buat, memerlukan perangkat pendukung yang terhubung melalui port serial pada komputer, seperti perangkat modem dan atau ponsel untuk aplikasi sms server. Sebenarnya, untuk mengetahui apakah suatu perangkat sudah terhubung atau tidak, kita bisa "membacanya" dari Device Manager yang ada (klik
start->Control Panel->System->Hardware->Device Manager atau klik
start->run ketik
devmgmt.msc lalu OK).
Toh, pada kenyataannya, seringkali hal ini dirasa kurang praktis, terlebih jika penggunaan aplikasi, melibatkan operator atau orang yang tidak begitu familiar dengan sistem komputer.
Device Manager Pada Visual Basic, persoalan ini bisa ditanggulangi dengan memanfaatkan kontrol MSComm, yang memang disediakan sebagai sarana komunikasi berbasis comm-port. Dengan kontrol ini, dimungkinkan terjadinya pengiriman data dari atau melalui suatu port serial ke aplikasi yang kita buat dan sebaliknya. Seperti misalnya membaca sms yang masuk ke ponsel dan sekaligus melakukan pengiriman sms dari aplikasi kita melalui ponsel tersebut, yang terhubung melalui suatu port serial.
Berikut adalah salah satu cara yang bisa kita gunakan untuk mengecek pada port yang mana suatu perangkat dihubungkan. Jika nantinya perangkat tersebut sudah digunakan untuk aplikasi yang lain, maka hasil yang ada adalah nihil, artinya perangkat tersebut tidak bisa digunakan untuk aplikasi kita. Sebaliknya, jika perangkat tersebut sudah terhubung secara benar dan masih
free, akan dihasilkan
output berupa nilai COM-nya, misal COM1, COM4 atau COM6. Basis penulisan menggunakan Visual Basic 6.0 dengan
output berupa array yang akan ditampilkan pada combo-box.
Untuk menggunakan kontrol MSComm, terlebih dahulu kita harus memasukkannya ke Toolbox, karena secara default kontrol ini tidak ditampilkan di Toolbox.
Pertama, kita buka window Components. Ada beberapa cara untuk membukanya:
1. Klik menu
Project->Components2. Klik
Ctrl+T3. Klik kanan pada Toolbox, lalu pilih Components
Window Components Selanjutnya akan terbuka window Components. Pada tab Control, cari dan centang
Microsoft Comm Control 6.0, lalu klik OK. Nah, sekarang kontrol MSComm telah ditampilkan di Toolbox, dengan ikon berupa gambar telepon. Klik dan seret gambar telepon tersebut ke dalam area form. Pada penggunaannya, kontrol ini tidak akan ditampilkan saat aplikasi dijalankan, tidak seperti ComboBox, TextBox ataupun ButtonCommand. Jadi, tidak masalah mau menempatkan kontrol ini di mana saja.
Kontrol MSComm di Toolbox Berikutnya, dikarenakan nantinya
output akan ditampilkan pada ComboBox, kita perlu memasukkan kontrol ini pula ke dalam form.
Form Setelah kontrol MSComm dan ComboBox masuk ke dalam form, sekarang kita buka editor Code. Untuk membukanya, ada beberapa cara:
1. Klik ganda pada sembarang area form atau klik ganda pada salah satu kontrol yang ada di form
2. Klik menu
View->Code3. Klik ikon View Code di pojok kanan atas window Project
Setelah editor Code terbuka, pada combo-box Object di bagian kanan atas editor, pilih
form hingga pada kotak editor akan muncul:
Private Sub Form_Load()
* tulis kode perintah di sini
End Sub
Ketikkan kode perintah berikut di dalamnya:
On Error Resume Next
Dim i As Integer
For i = 1 To 100
MSComm1.CommPort = i
MSComm1.PortOpen = True
If MSComm1.PortOpen Then
Combo1.AddItem "COM" & i
MSComm1.PortOpen = False
Else
End If
Next
Sekarang coba klik
F5 untuk melihat
preview aplikasi. Lihat pada combo-box. Kosong?
Tutup preview aplikasi. Sekarang kita sambungkan kabel data atau sejenisnya ke salah satu port serial. Klik lagi F5. Lihat pada combo-box. Bagaimana??
Penjelasan:Metode yang kita lakukan adalah mengecek satu persatu port yang ada. Saat port tersebut ditemukan aktif dan masih
free (belum dipakai aplikasi apapun), akan ditampilkan nilai COM-nya, sebaliknya, nilai tampilan adalah kosong.
Pertama, kita definisikan variable untuk nilai portnya. Kita gunakan variable
i yang kita definisikan sebagai integer:
Dim i As IntegerNilai variable ini adalah dari 1 hingga 100. Sebenarnya tidak harus 100. Angka ini (100) hanya untuk memastikan kemungkinan keberadaan port yang aktif. Jika ragu atau tidak diperlukan, angka ini bisa ditambahkan, atau sebaliknya, dikurangi.
Kedua, dengan menggunakan perintah pengulangan
For .. Next, kita lakukan pengecekan melalui perintah:
MSComm1.CommPort = i dan
MSComm1.PortOpen = TruePerintah
MSComm1.CommPort = i menunjuk port mana yang akan dieksekusi (dimulai dari COM1 hingga COM100). Sementara perintah
MSComm1.PortOpen = True untuk menguji apakah port tersebut aktif. Jika benar port tersebut aktif dan bisa digunakan, akan dilanjutkan dengan perintah
Combo1.AddItem "COM" & i dan
MSComm1.PortOpen = False. Sebaliknya, jika ternyata salah (error; port tersebut tidak aktif atau sedang aktif tapi telah digunakan oleh aplikasi lain), tidak ada tindak eksekusi apa-apa.
Perintah Combo1.AddItem "COM" & i menyatakan untuk menampilkan port yang bersangkutan dalam daftar combo-box. Sementara perintah MSComm1.PortOpen = False adalah untuk mengakhiri uji koneksi terhadap port tersebut.
Agar proses pengujian keberadaan port aktif bisa terus dilakukan berulang hingga port terakhir, kita tambahkan perintah On Error Resume Next. Sebab jika tidak, misalkan ternyata COM1 tidak aktif maka proses akan terhenti hanya sampai pengujian port tersebut.
(Berbagai Sumber)