ActiveX OCX dengan Visual Basic


Istilah "tier" sering dipergunakan untuk menjelaskan lapisan-lapisan aplikasi pada rekayasa software. Tier - tier tersebut biasanya terdiri dari:
1. Tier Presentasi (Presentation Layer)
2. Tier Busnis Proses (Bussiness Process Layer)
3. Tier Data (Data Layer)


1. Tier Presentasi
Tier Presentasi adalah istilah yang dipergunakan untuk menyebutkan apa yang nampak dihadapan kita, sebut saja User Interface atau istilah Indonesia-nya kita sebut sebagai antar muka. Apa yang sedang anda baca ini adalah antar muka (tier presentasi) dari aplikasi WEB yang saya bangun.

Berdasarkan pengalaman, antar muka bisa berupa halaman HTML beserta dengan kontrol-kontrol user interface bawaan yang dibangun dari halaman HTML itu sendiri (lihat pembahasan kita mengenai Form). Namun user interface bisa juga berupa ActiveX OCX. ActiveX OCX bisa dibuat dengan berbagai Tool pengembangan seperti Delphi, Visual C++ dan Visual Basic. Di sini kita membangun OCX dengan tool Visual Basic.

Pembangunan antar muka dengan halaman HTML dapat dibuat dengan cepat dengan menggunakan Tool pengembangan Visual Interdev atau FrontPage editor atau dapat juga dengan menggunakan editor teks sederhana seperti notepad nya windows. Namun sebagai pengembang yang sudah biasa dengan Visual Basic, saya lebih suka menggunakan Visual Interdev karena kemiripannya dengan Visual Basic. Di sini kita akan membangun antar muka yang berupa ActiveX OCX. Sebab pembangunan antar muka HTML sudah kita bahas pada HTML Form Bab sebelumnya.

Mengapa membangun antar muka ActiveX OCX? 
Jika anda pernah membuat aplikasi windows yang dibangun dengan Visual Basic, maka dengan hanya sedikit modifikasi, aplikasi windows anda telah menjadi aplikasi WEB. Dengan demikian anda dapat memperpendek siklus pengembangan aplikasi. Antar muka ActiveX OCX, baris-baris kodenya tidak nampak. Karena Active OCX terkompilasi. Hal ini umumnya disukai oleh produsen software aplikasi untuk menjaga kerahasiaan aplikasi yang dibangun.
Jika anda sudah terbiasa dengan Visual Basic, membuat antar muka aplikasi WEB menggunakan keahlian Visual Basic anda tentunya lebih menyenangkan dan lebih mantap.

Untuk menjalankan ActiveX OCX pada browser, browser terlebih dahulu harus melakukan download ActiveX OCX tersebut ke mesin komputer client, disini istilah client yang saya maksud adalah komputer tempat browser dijalankan. Ketika mendownload ActiveX OCX, biasanya browser Internet Explorer meminta konfirmasi keamanan untuk memastikan bahwa OCX yang anda buat benar-benar aman dijalankan pada komputer tersebut.


Membuat ActiveX OCX
Dalam project ini saya menganggap anda telah terbiasa membuat aplikasi Windows dengan Visual Basic. Jika anda masih pemula di Visual Basic, sebaiknya anda pelajari dulu bagaimana membuat aplikasi Windows dengan Visual Basic.
Untuk membuat antar muka OCX, buka project baru, pilih ActiveX control lalu klik tombol open.
klik disini untuk lihat gambar. Setelah anda klik open maka Visual Basic akan memunculkan project ActiveX OCX yang kosong. Klik di sini untuk lihat gambar.
Jika anda sudah pernah membuat aplikasi windows, maka dengan modifikasi sedikit saja, form windows ada tadi sudah menjadi antar muka WEB. Untuk membuat aplikasi WEB ini saya hanya mengcopy dari aplikasi windows yang pernah saya buat dan ditambah dengan sedikit modifikasi saja. Klik di sini untuk lihat gambarnya. Coba perhatikan gambar tersebut mirip dengan aplikasi windows.

Tadi saya mengatakan hanya perlu modifikasi sedikit untuk membuat form aplikasi windows menjadi ActiveX OCX yang dibuat dengan Visual Basic. Untuk membuat ActiveX OCX kita dapat berinteraksi dengan Internet Explorer, (kita katakan di sini IE adalah sebagai container dari ActiveX OCX kita).
ActiveX tidak dapat berdiri sendiri. Ia hanya dapat berjalan pada containernya.
Proses nya adalah begini. OCX kita berjalan pada browser. "Komunikasi antara OCX dengan browser bisa dilakukan oleh Script yang ada pada browser."  Script pada browser dapat berkomunikasi dengan property, methode dan event yang ada pada OCX.
Untuk tujuan ini biasanya saya menggunakan Visual Interdev. Dengan menggunakan Visual Interdev, event, property dan methode yang ada pada browser dapat dengan mudah kelihatan persis seperti Visual Basic memperlakukan objek form textbox dan lain-lain.
Untuk memudahkan proses debug dalam pembuatan OCX, lebih dahulu OCX ini dites pada Visual Basic (katakanlah form1 sebagai containernya), Klik di sini untuk lihat gambarnya. Coba pada perhatikan gambar tersebut saya bekerja dengan dua project sekaligus. Project pertama adalah project dengan tipe standard windows yang akan dipergunakan sebagai project tester OCX dan yang kedua adalah project OCX itu sendiri.
Sedikit Modifikasi kode yang saya sebutkan tadi terlihat seperti di bawaih ini:

Public Property Let strConn(ByVal strNewConn As String)
   m_strConn = strNewConn 
  PropertyChanged "strConn" 
  Set conn = New ADODB.Connection conn.Open m_strConn 

   Form_Load
End Property

Private Sub UserControl_ReadProperties(PropBag As _
  PropertyBag)
    m_strConn = PropBag.ReadProperty("strConn")
End Sub

Private Sub UserControl_Show()
  Dim ctl As Object Frame1.BackColor = Ambient.BackColor
  Picture1.BackColor = Ambient.BackColor
  UserControl.BackColor = Ambient.BackColor
End Sub

Karena saya menganggap anda telah terbiasa dengan Visual Basic dalam pembuatan aplikasi windows, maka saya hanya menjelaskan sedikit istilah kode-kode di atas.
Istilah "Ambient" dipakai untuk menyebutkan container nya.
Dalam hal ini saya memberikan kode agar OCX menyesuaikan warna latar belakangnya dengan warna latar belakang container.

Di sini kita telah membuat property OCX kita dengan nama "strConn". Property strConn inilah nanti yang akan berkomunikasi dengan Script yang ada di browser kita. Jadi nilai strConn yang ada pada session ASP nantinya kita masukkan ke dalam OCX kita.
Di bawah ini adalah contoh kodenya:

<SCRIPT language=vbscript>
  Sub window_onload
   ctlAbsen.strConn = "<%=Session("strConn")%>"
  End Sub
</SCRIPT>

Coba perhatikan kode di atas objek OCX kita adalah ctlAbsen yang mempunyai property strConn. Property ini memeperoleh nilai strConn yang telah kita simpan pada session ASP.

Dari manakah objek OCX ctlAbsen itu? Coba perhatikan kode di bawah ini:

<OBJECT classid= CLSID:977B1E20-C0D1-11D8-87E7-0050FCE296F9codeBase=ctlPegawai.CAB#version=1,0,0,0 id=ctlAbsen>
  <PARAM NAME="_ExtentX" VALUE="10504">
  <PARAM NAME="_ExtentY" VALUE="7329">
  <PARAM NAME="strConn" VALUE="">
</OBJECT>

Kode di atas bukanlah kode yang diketikkan secara manual, tetapi blok kode tersebut otomatis dibuat ketika kita mengcopykan objek OCX yang telah kita buat. Objek tersebut diawali dengan tag
<OBJECT> dan diakhiri dengan tag </OBJECT>.


Kembali      Daftar Isi