ActiveX Data Object (ADO)

ActiveX Data Object (ADO)
Oleh :
Edi Sugiarto, S.Kom, M.Kom

Pendahuluan
• ActiveX Data Object merupakan komponen
standar microsoft untuk akses data.
• ADO dapat digunakan untuk mengakses
berbagai sumber data, termasuk seperti ms
access dan sql server, serta database non
microsoft seperti oracle, sybase, mysql
• Pada akhirnya ADO menggantikan DAO dan
RDO yang merupakan teknologi akses data
sebelumnya.

Apa Itu ADO ?
• ADO merupakan antarmuka pemrograman
tingkat tinggi untuk OLE DB.
• ADO menggunakan hirarki Objek Model
untuk memungkinkan aplikasi membuat,
menerima, mengubah, dan menghapus data

dari sumber data yang didukung oleh OLE DB.
• ADO berisi serangkaian Objek COM berbasis
hirarki dan koleksi.
• Diperkenalkan pertama kali pada 1996

• ADO terdiri dari 9 objek dan 4 koleksi.
• Koleksi ADO antara lain :
– Fields : berisi kumpulan field objek
– Properties : merupakan perangkat yang digunakan
untuk pembeda antar objek
– Parameters : objek dapat memiliki beberapa
parameter perintah untuk mengubah perilakunya
– Error : digunakan untuk menangani kesalahan.

• Objek ADO Antaralain :








Connection
Command
Recordset
Record
Stream
Parameter

• Field
• Property
• Error

Bagaimana Cara Kerja ADO?
• Membuat Koneksi ke Database
• Menjalankan Perintah
• Mengambil dan Memanipulasi Data

Membuat Koneksi ke
Database

• ADO membuat koneksi ke database menggunakan
objek Connection
• Objek Connection menjadi pintu gerbang ke dalam
database sehingga semua operasi yang dilakukan
pada database harus melalui objek Connection ini.
• Untuk membuat koneksi kita perlu memberitahu pada
ADO tentang informasi database mana yang akan di
akses berikut attribut yang lain termasuk user dan
password

Objek Connection pada ADO
Dim conn As New ADODB.Connection
• Properties dan fungsi yang sering digunakan :








ConnectionString
CursorLocation
Open
BeginTrans
CommitTrans
Execute

Contoh menggunakan Objek
Connection
• Contoh koneksi menggunakan OLE DB
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist
Security Info=False; User ID=sa; Password=sa; Initial
Catalog=APLBISNIS_GENAP2010;Data Source=ENIGMA"
conn.Open
End Sub

Contoh menggunakan Objek

Connection
• Contoh koneksi menggunakan ODBC DSN
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "dsn=pa_genap2010"
conn.Open
End Sub

Menjalankan Perintah
• Setelah ADO membuka koneksi maka kita
dapat menentukan satu atau lebih perintah
melalui ADO tersebut terhadap suatu database.
• Perintah-perintah terbebut dapat berupa
– Pemanggilan tabel
– Pernyataan SQL
– Atau pemanggilan prosedur tersimpan (Store
Procedure)

• Kita dapat menyiapkan perintah yang akan

dijalankan pada objek Command
• Beberapa properties yang sering digunakan
pada objek Command
– Active Connection : untuk menentukan sebuah
objek Connection
– CommandText : berisi berupa pernyataan SQL
– CommandType : menyatakan jenis/tipe perintah
– Execute : menjalankan pernyataan

Objek Command pada ADO
Dim command As New ADODB.command
• Properties dan Fungsi yang sering digunakan :






ActiveConnection
CommandText

CommandType
CreateParameter
Executer, dll.

Contoh menggunakan Objek
Command
Private Sub cmdSimpan_Click()
Dim command As New ADODB.command
Set command = New ADODB.command
command.ActiveConnection = conn
command.CommandType = adCmdText
command.CommandText = "insert into pa_pelanggan " _
& "(kode, nama, alamat) values ('PL008‘ " _
& ",'BP. LUTFI ARIF','JL. PEMUDA NO 5 SEMARANG')"
command.Execute
End Sub

Mengambil
dan Memanipulasi Data
• Record-record yang dihasilkan pernyataan

SQL direpresentasikan oleh sebuah objek yang
dikenal dengan istilah Cursor atau Recordset
(pada ADO)
• Cursor adalah sekumpulan baris yang
dihasilkan dari satu atau lebih tabel, cursor
merupakan informasi mentah yang diberikan
DBMS dan berada pada server.

• Recordset adalah sebuah objek ADO yang
menyimpan baris-baris yang dihasilkan dari
pernyataan SQL,
• Objek recordset juga dapat berada pada client
atau pada server
• Objek recordset menjadi inti dari
pemrograman database karena sebagian besar
operasi yang anda lakukan pada database
berlangsung melalui objek recordset.

Objek Recordset pada ADO
Dim rs As New ADODB.Recordset

• Properties dan Fungsi yang sering digunakan :
– Open
– ActiveConnection
– AddNew
– Find
– CursorLocation
– CursorType
– MoveNext, MovePrev, MoveLast, MoveFirst.

Contoh Menggunakan Objek
Recordset
Private Sub cmdCari_Click()
Dim rs As New ADODB.Recordset
Set rs = conn.Execute("select * from pa_pelanggan " _
& " where kode='PL008'")
If Not rs.EOF Then
MsgBox "Pelanggan dengan nama " & rs!nama & "
ditemukan"
End If
End Sub


Ada Pertanyaan ?

Objek Utama ADO

Objek Utama ADO
• ActiveX Data Objek memiliki tiga Objek
Utama untuk mendukung kemampuan akses
data.
• Tiga objek tersebut antaralain :
– Objek Connection
– Objek Command, dan
– Objek Recordset

Objek Connection
• Berfungsi untuk melakukan koneksi ke
database.
• Selain berfungsi membuat dan menutup
koneksi pada database, objek Connection
dapat menjalankan perintah pada database dan

mengambil Recordset

Menggunakan ConnectionString
• Object Connection memiliki properties yg
paling penting yaknik ConnectionString.
• Properties ConnectionString digunakan untuk
menentukan database mana yang akan di
hubungkan
• ConnectionString merupakan sebuah string
panjang dengan beberapa atribut yang
dipisahkan oleh titik koma.

Contoh ConnectionString
• Koneksi ke Oracle database dengan OLEDB:
Provider=OraOLEDB.Oracle.1;Password=;Persist
Security Info=True; User ID=; Data
Source=;

• Koneksi ke Oracle database dengan ODBC:
Driver={Microsoft ODBC for Oracle}; Server=
Uid=; Pwd=;

• Koneksi ke SQL Server database dengan
OLEDB:
Provider=SQLOLEDB.1;Password=;Persist Security
Info=True;User ID=;Initial Catalog=;Data
Source=(local);

• Koneksi ke SQL Server database dengan
ODBC:
Driver={SQL Server};Server=;
Database=; Uid=;Pwd=;

• Koneksi ke Mysql database dengan OLEDB:
Provider=MySQLProv; Data Source= ; User
Id=; Password=;

• Koneksi ke Mysql database dengan ODBC:
Driver={mySQL ODBC 3.51 Driver}; Server=;
Port=3306; Database=; Uid=;
Pwd=;

• Koneksi ke MS Access Database dengan
OLEDB:
Provider=Microsoft.Jet.OLEDB.4.0; Data Source=
c:\\myDb.mdb; User Id=;
Password=

• Koneksi ke MS Access Database dengan
ODBC:
Driver={Microsoft Access Driver (*.mdb)};
Dbq=c:\\mydb.mdb; Uid=;Pwd=;

Koneksi Berbasis DSN
• DSN merupakan struktur data spesifik yang
berisi informasi tentang sumber data tertentu
yang dikenal oleh komputer.
• DSN hanya menggambarkan nama dari
kumpulan pengaturan yang ada pada ODBC.
• Dengan DSN maka ConnectionString menjadi
sangat sederhana.

Contoh Koneksi
berbasis DSN
• Koneksi string menggunakan dsn cukup
dengan menyertakan dsn dan dilanjutkan nama
dari dsn yang telah dibuat.
dsn=
Contoh
Conn.open “dsn=toko_buku”

Membuka dan Menutup
koneksi
• Untuk membuka koneksi maka gunakan
metode open
conn.open
• Untuk membuka koneksi gunakan metode
close
conn.close
Set conn = nothing

Objek Command
• Bertugas membawa informasi mengenai
perintah-perintah yang akan dikerjakan
• Perintah dapat berupa nama tabel, pernyataan
SQL, atau prosedur tersimpan (Store
Procedure)
• Perintah tersebut ditentukan oleh properti
CommandText

Properties CommandType
• Objek Command memiliki properties
CommandType yang digunakan untuk
menentukan tipe perintah yang dikerjakan
antaralain :
adCmdText : Pernyataan SQL
adCmdStoredProc : Store Procedure
adCmdTable : Perintah SQL yang Menyatakan Nama Tabel
adCmdTableDirect : Perintah menggunakan nama tabel
langsung
– adCmdUknown : perintah tidak dikenali, DBMS akan menebak
dan menjalankan.





Status pada Objek Command
• Objek Command memiliki properties State
yang digunakan untuk menentukan status saat
ini dari perintah.
• Status tersebut antaralain:





adStateClosed : ditutup
adStateOpen : dibuka
adStateExecuting : dijalankan
adStateFetching : membaca baris

Objek Recordset
• merupakan objek yang dapat diprogram
dimana cursor-cursor dsimpan.
• Dengan objek Recordset, kita dapat
memanipulasi baris-baris cursor, melihat fieldfieldnya, serta meng-update tabel-tabel yang
mendasarinya
• Objek Recordset dapat memilih lokasi cursor,
apakah akan berada pada server atau di
download ke client.

Jenis Cursor pada Objek
Recordset
• ADO mendukung empat jenis cursor, dan kita
dapat menentukan jenis cursor yang diinginkan
dengan menentukan nilai dari properties
CursorType
• Cursor tersebut antaralain :





adOpenForwardOnly
adOpenKeyset
adOpenDynamic
adOpenStatic

Cursor Forward-Only
(adOpenForwardOnly)





Merupakan Cursor default dari ADO
Hanya satu kali pembacaan baris
Sederhana namun terbatas
Tidak perlu menyimpan informasi mengenai
baris yang telah dibaca
• Cocok jika digunakan pada pembacaan record
tabel dan bukan untuk operasi penyisipan atau
pencarian

Cursor Statis (adOpenStatic)
• Lebih fleksibel namun lebih mahal dari cursor
forward-only
• Dapat melihat baris ke semua arah
• Namun tidak dapat melihat modifikasi yang
telah dibuat oleh user lain
• Tidak memperhatikan perubahan terakhir dari
data sumber.

Cursor Keyset
(adOpenKeyset)
• Dengan cursor keyset server tidak mengambil
baris sesungguhnya dari database
• Server membuat daftar kunci pada baris-baris
milik cursor dan menggunakan kunci tersebut
untuk mengakses filed-field dari sumber data
• Dapat melihat perubahan setiap kali user
berpindah ke baris lain cursor
• Dapat melihat baris ke semua arah

Cursor Dinamis
(adOpenDynamic)
• Cursor paling dinamis dan paling mahal
• Serupa dengan keyset yakni tidak membaca
baris-baris namun melalui pointer yang
menunjuk pada baris sesungguhnya
• Jika terjadi perubahan data maka kunci untuk
baris terbaru disisipkan ke dalam cursor

Lokasi Cursor pada Objek
Recordset
• Sebuah cursor dapat berada pada server
maupun pada client, dalam hal ini bergantung
pada nilai properties CursorLocation.
• Konstanta untuk cursor location antaralain:
– adUseClient : membuka cursor pada client
– adUseServer : membuka cursor pada server

Ada Pertanyaan ?

Terima kasih

Daftar Pustaka
• Greg Perry (2000), “Sams Teach Yourself Visual Basic 6 in 21
Days, Professional Reference Edition”, Macmillan Computer
Publishing, ISBN: 0672315424.
• Francesco Balena (1999),”Programming Microsoft Visual
Basic 6.0”, Microsoft Press, ISBN : 0-7356-0558-0