100% menganggap dokumen ini bermanfaat (1 suara)
1K tayangan76 halaman

VB - SQL Server Using ADO Training Module

Dokumen tersebut membahas konsep dasar database client/server dan relasional database. Secara singkat, dokumen menjelaskan bahwa database terdiri atas beberapa tabel yang saling berhubungan, sistem manajemen database digunakan untuk mengelola database, dan arsitektur client/server memungkinkan pengguna mengakses database melalui klien.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
1K tayangan76 halaman

VB - SQL Server Using ADO Training Module

Dokumen tersebut membahas konsep dasar database client/server dan relasional database. Secara singkat, dokumen menjelaskan bahwa database terdiri atas beberapa tabel yang saling berhubungan, sistem manajemen database digunakan untuk mengelola database, dan arsitektur client/server memungkinkan pengguna mengakses database melalui klien.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 76

Pelatihan Database Programming – UPK Fisika ITB – 2003

I Konsep Database Client/Server


Database
Database (basis data) adalah sebuah objek yang kompleks untuk menyimpan informasi yang
terstruktur, yang diorganisir dan disimpan dalam suatu cara yang mengizinkan pemakainya
mengambil informasi dengan cepat dan efisien. Perancangan database dilakukan agar
penggunanya dapat mengambil data dengan mudah. Informasi dipecah-pecah ke dalam tabel-
tabel dan setiap tabel menyimpan atribut yang berbeda (atribut dalam perancangan database
biasa disebut entitas [entity]), misalnya satu tabel menyimpan informasi pelanggan, tabel lain
menyimpan informasi produk, dan sebagainya. Database yang mengandalkan hubungan antar
tabel disebut dengan relational database.

Gambar 1. Sebuah database berisi beberapa tabel

Sebuah tabel terdiri dari data fields (biasa disebut kolom) dan data records (biasa disebut
baris). Data field berisi elemen terkecil data yang dapat disimpan di dalam database, dan
setiap field berisi hanya satu elemen data. Contohnya, jika ingin menyimpan nama pelanggan,
anda harus membuat data field di dalam tabel dan beri nama, misalnya NamaPelanggan. Jika
ingin menyimpan alamatnya, anda harus membuat field lain, misalnya Alamat.

Data records adalah kumpulan dari data field yang saling terkait dalam satu baris. Sebuah data
record berisi hanya satu copy dari setiap data field yang telah ditentukan. Contohnya, sebuah
data record tidak bisa berisi lebih dari satu data field NamaPelanggan.

Relational Database
Sebagaimana halnya sebuah data record dapat berisi beberapa data field, sebuah database
dapat berisi beberapa tabel yang saling berhubungan (related). Penggunaan hubungan antar
tabel sangat efisien untuk menyimpan data yang kompleks. Misalnya, sebuah tabel yang
menyimpan data pelanggan dapat dihubungkan dengan tabel lain yang menyimpan daftar
barang yang sudah dibeli oleh pelanggan, yang selanjutnya dapat dihubungkan dengan tabel
yang menyimpan data barang. Hubungan antar tabel ini akan memudahkan pemeliharaan
(maintenance) struktur data. Jika semua data dicamputkan di dalam tabel yang sama, akan
ada informasi yang berulang. Ini adalah situasi yang sangat tidak boleh terjadi, atau dengan
kata lain jangan pernah menggandakan informasi dalam merancang dan memrogram database.

1
Pelatihan Database Programming – UPK Fisika ITB – 2003

Karenanya, entitas pada setiap tabel tidak boleh independen satu sama lain. Misalnya,
pembelian dilakukan oleh pelanggan tertentu, maka baris-baris pada tabel Pelanggan harus
dihubungkan ke baris-baris dari tabel Pembelian yang menyimpan data pembelian oleh
pelanggan. Database yang didasarkan pada hubungan semacam itu disebut database relasional
(relational database).

Key Field
Hubungan antar tabel diimplementasikan dengan menyisipkan baris-baris dengan nilai yang
sama pada dua tabel yang dihubungkan. Dua field dari masing-masing tabel yang bernilai sama
dinamakan key field. Perhatikan gambar berikut ini.

Pelanggan
IDPelanggan Nama Pembelian

IDPembelian IDPelanggan

Gambar 2. Relasi antar tabel

Field IDPelanggan dari tabel Pelanggan adalah primary key, karena field tersebut
mengidentifikasikan satu orang pelanggan. Primary key tidak perlu menunjukkan entitas yang
diidentifikasinya, tetapi field ini harus unik pada seluruh tabel. Misalnya kita bisa saja
mempunya pelanggan dengan nama yang sama, karenanya untuk membedakannya diperlukan
sebuah kode yang unik, dalam hal ini, nomor ID pelanggan (kode unik ini banyak digunakan
dalam data yang kita temui sehari-hari: nomor induk kependudukan/KTP, nomor induk
mahasiswa, nomor induk pegawai, dan sebagainya).

Baris-baris yang berhubungan pada tabel mengulangi primary key dari baris yang
dihubungkannya pada tabel lain. Salinan dari primary key di dalam tabel yang lain disebut
dengan foreign key. Field ini tidak perlu unik, dan semua field bisa menjadi foreign key.
Sebuah field menjadi foreign key apabila sesuai dengan primary key pada tabel lain. Pada tabel
Pembelian, field IDPelanggan adalah foreign key dari primary key pada tabel Pelanggan dan
nilai yang sama mungkin muncul pada banyak baris di tabel Pembelian.

Tipe Relasi
Jika ingin membuat hubungan antar tabel, harus ditentukan terlebih dahulu bagaimana tabel
itu dihubungkan dan field mana saja yang menjadi primary key atau foreign key. Primary key
bersifat unik untuk setiap baris, sementara foreign key mungkin muncul pada lebih dari satu
baris. Hubungan ini disebut dengan satu-ke-banyak (one-to-many), misalnya satu baris pada
tabel JenisBarang menunjuk ke banyak baris pada tabel Barang.

Selain itu, hubungan antar tabel juga dapat berupa hubungan banyak-ke-banyak (many-to-
many), misalnya antara tabel Barang dengan tabel Penjualan. Sebuah penjualan dapat terdiri
dari lebih dari satu barang, dan sebaliknya, suatu jenis barang dapat dijual berkali-kali. Untuk
mengatasi hal ini biasanya dibuat sebuah tabel baru yang terhubung dengan hubungan one-to-
many ke tabel Barang dan hubungan many-to-one ke tabel Pembelian.

2
Pelatihan Database Programming – UPK Fisika ITB – 2003

Aturan Normalisasi
Dalam perancangan database ada aturan normalisasi yang digunakan untuk memperhalus
struktur database untuk meningkatkan kecepatan akses dan integritas database. Database
dianggap normal jika tidak ada perulangan informasi atau tidak menimbulkan keanehan pada
proses update atau delete. Ada tiga aturan normalisasi, masing-masing disebut dengan first
normal form (1NF), second normal form (2NF) dan third normal form (3NF). Sebelum suatu
aturan ditetapkan, aturan yang ada dibawahnya harus ditetapkan terlebih dahulu, artinya
sebelum 2NF ditetapkan, tabel harus berupa 1NF dan seterusnya.

First normal form memiliki aturan bahwa sebuah tabel tidak boleh mengandung kelompok yang
berulang. Second normal form memiliki aturan bahwa setiap field yang tidak bergantung
sepenuhnya pada primary key harus dipindahkan ke tabel lain. Third normal form memiliki
aturan bahwa tidak boleh ada kebergantungan antara field-field non key. Dengan demikian,
apabila aturan normalisasi ditetapkan, kita akan memiliki beberapa tabel yang memiliki relasi
antar fieldnya.

Gambar 3. Struktur tabel yang terdiri dari 3 data fields

Sistem manajemen database


Sebelum teknologi database diciptakan, orang biasa menyimpan data pada file biasa (flat file).
Akan tetapi lama kelamaan kebutuhan akan metoda penyimpanan data yang lebih efisien dan
struktur makin diperlukan. Adapun struktur database pada media penyimpanan agak berbeda.
Informasi secara fisik disimpan dan diambil dari database oleh sebuah program yang disebut
database management system (DBMS). DBMS adalah aplikasi yang paling kompleks, digunakan
untuk mengelola semua informasi di dalam database sehingga aplikasi bisa mengakses informasi
tersebut melalui pernyataan yang dibuat dengan Structured Query Language (SQL), sebuah
bahasa yang menentukan operasi tingkat tinggi. Operasi ini disebut dengan query. Bahasan
lebih lanjut mengenai query akan dijelaskan pada bab X dari modul ini.

Adapun fungsi yang disediakan oleh DBMS adalah sebagai berikut


ƒ Mengizinkan aplikasi mendefinisikan struktur database dengan pernyataan SQL yang disebut
dengan Data Definition Languange (DDL)
ƒ Mengizinkan aplikasi memanipulasi informasi yang disimpan di dalam database dengan
pernyataan SQL yang disebut dengan Data Manipulation Language (DML)
ƒ Melindungi integritas database dengan menerapkan aturan yang dimasukkan ke dalam
perancangan database tersebut.

Arsitektur Client/Server
Sistem client/server dibangun sehingga database dapat berada di komputer pusat, yang dikenal
dengan nama server dan dapat di-share diantara beberapa user. User mengakses server melalui
client atau aplikasi server.

ƒ Pada sistem client/server dua-tingkat (two-tier), user menjalankan aplikasi pada komputer
lokal (client), yang terhubung melalui network ke server yang menjalankan DBMS. Aplikasi

3
Pelatihan Database Programming – UPK Fisika ITB – 2003

client menjalankan business logic dan kode untuk menampilkan keluaran kepada user (juga
dikenal sebagai thick client). Business logic adalah tingkatan yang menyederhanakan akses
client ke dalam database yang mengandung logik dari aplikasi.
ƒ Pada sistem client/server banyak-tingkat (multi-tier), aplikasi client berjalan pada dua
lokasi:
à Thin client berjalan pada komputer lokal milik user dan berfokus kepada menampilkan
keluaran (result) kepada user
à Business logic berada pada aplikasi server yang berjalan pada server. Thin clients me-
request fungsi dari aplikasi server berupa aplikasi multi-thread yang mampu bekerja
dengan banyak user secara bersamaan. Aplikasi server adalah aplikasi yang membuka
koneksi ke server database dan dapat dijalankan pada server yang sama dengan
database, atau dapat dihubungkan dengan server terpisah yang berfungsi sebagai server
database

Komponen
ActiveX

Internet

Script Database

Client

Database Server

HTML

Gambar 4. Contoh aplikasi multi-tier untuk aplikasi web

Kapan menggunakan arsitektur Client/Server?


Tidak semua aplikasi membutuhkan arsitektur client/server. Hal-hal berikut ini biasanya
menjadi pertimbangan untuk menggunakan arsitektur ini.

ƒ Ukuran database
Banyak mengasumsikan bahwa hanya ukuran databaselah faktor terpenting ketika akan
berpindah ke arsitektur client/server, padahal tidak hanya itu. Biasanya arsitektur
client/server diperlukan bila data yang harus ditampung mulai dari sekitar 50 hingga 100
MB.
ƒ Kompleksitas database
Salah satu faktor yang menjadi masalah dalam database adalah kerumitan (kompleksitas)
database, yaitu berapa banyak tabel yang ada di dalamnya, apakah relasinya rumit,
memerlukan banyak penggabungan tabel untuk suatu query, dan lain-lain. Semakin
kompleks suatu database, lebih baik ditangani oleh satu database server tersendiri.
ƒ Jumlah user / pengguna
Database client/server sangat cocok untuk digunakan oleh banyak user secara bersamaan
(concurrent). Biasanya masalah performa timbul ketika jumlah user yang menggunakan /
mengakses database bersamaan di atas 20.
ƒ Data sharing

4
Pelatihan Database Programming – UPK Fisika ITB – 2003

Salah satu keunggulan client/server adalah data bisa diakses dari client dengan aplikasi
apapun, misalnya mengakses melalui ODBC (Open Database Connectivity) yang dimiliki oleh
Windows.

Gambar 5. Konektivitas database menggunakan ODBC

5
Pelatihan Database Programming – UPK Fisika ITB – 2003

II SQL Server

SQL Server adalah DBMS dari Microsoft yang mudah dihubungkan dengan Visual Basic 6 karena
VB6 sudah dilengkapi dengan semua driver dan piranti yang dibutuhkan untuk mengakses SQL
Server. SQL Server biasa ditempatkan di bagian server dari sistem client/server.

Instalasi
Instalasi SQL Server sangat mudah, sama halnya seperti anda menginstal aplikasi biasa untuk
dijalankan di sistem operasi Windows. SQL Server yang digunakan untuk pelatihan ini adalah
SQL Server 7 yang dapat dijalankan pada Windows 95/98 maupun Windows NT/2000/XP.

Kebutuhan minimal instalasi SQL Server 7


• Pentium 166MHz
• 64MB RAM, 180MB ruang harddisk

Berikut adalah langkah-langkah instalasi SQL Server


• Masukkan cd SQL Server ke dalam CD-ROM, kemudian pilih Install SQL Server 7.0
Components.
• Pilih Database Server - Full Product or Database Server - Desktop Edition.
• Pilih tipe instalasi: typical, minimum atau custom
• Jika anda memilih custom, tentukan komponen yang akan diinstal; tentukan character set,
sort order dan unicode collation; tentukan network libraries
• Jika anda menggunakan Windows NT/2000/XP, masukkan username dan password untuk
SQL Server, atau gunakan account dari sistem lokal (account anda pada Windows)

SQL Server Service Manager


Service manager berfungsi untuk menjalankan dan mengakhiri layanan SQL Server pada
komputer anda. Untuk menjalankan SQL Server pilih Start Æ Programs Æ Microsoft SQL Server
7.0 Æ Service Manager. Pilih jenis layanan MSSQLServer pada kotak layanan lalu tekan Start.
Agar layanan ini dijalankan otomatis setiap kali komputer dinyalakan, pilih ‘Autostart Service
when OS starts’.

Setelah SQL Server berjalan, perhatikan icon yang menunjukkan aktivitas layanan pada sistem
tray. Anda bisa menjalankan, menghentikan dan menghentikan sementara (pause) layanan
dengan melakukan klik kanan pada icon tersebut.

Gambar ... Icon yang menunjukkan layanan SQL Server sedang berjalan

Enterprise Manager
Enterprise manager berfungsi untuk melakukan penyuntingan dan pengelolaan semua objek SQL
Server. Melalui enterprise manager anda dapat membuat tabel, menghapus database,
menentukan relasi, dan sebagainya. Selain itu, jika anda berperan sebagai database
administrator, anda dapat melakukan perintah-perintah manajemen user, seperti menambah
user, mengubah hak user, dan lain-lain. Gambar ... menunjukkan tampilan enterprise manager.

Bagian sebelah kiri menunjukkan direktori/folder SQL Server yang berisi objek-objek sesuai
dengan yang ditunjukkan oleh nama folder tersebut. Bagian sebelah kanan menampilkan secara
detail kandungan masing-masing objek. Berikut ini adalah objek-objek SQL Server.

6
Pelatihan Database Programming – UPK Fisika ITB – 2003

Gambar ... Tampilan Enterprise Manager

Database
Folder ini berisi daftar database yang ada pada SQL Server, dilambangkan oleh icon berbentuk
tabung berwarna kuning. Masing-masing database memiliki objek sebagai berikut

Diagrams menampilkan gambar struktur database. Disini anda dapat memanipulasi struktur
database, misalnya menambahkan relasi, menentukan properti dan sebagainya

Tables menampilkan daftar tabel yang ada dalam database tersebut. Disini anda dapat
membuat tabel, menentukan fields dan sebagainya.

Views menampilkan bagian dari tabel, atau kombinasi dari banyak tabel dan mengandung
informasi tertentu yang dibutuhkan oleh client. View didasarkan pada pernyataan-pernyataan
SQL.

Stored Procedures menampilkan prosedur tersimpan yang ditulis dalam bahasa T-SQL
(Transact-SQL), yaitu bahasa pemrograman SQL yang hanya dimiliki oleh SQL Server. Disini anda
dapat melihat dan menyunting prosedur yang ada, maupun membuat prosedur baru.

Users menampilkan para user yang berhak melihat dan/atau mengedit database.

Roles menampilkan peranan (roles) yang dimiliki user.

Rules menampilkan aturan untuk menetapkan nilai pada field tertentu dari sebuah tabel.

7
Pelatihan Database Programming – UPK Fisika ITB – 2003

Defaults menampilkan definisi nilai-nilai default untuk setiap field. Nilai-nilai ini digunakan
jika tidak ada nilai yang diberikan oleh user atau aplikasi untuk field tertentu.

User Defined Data Types menampilkan user-defined data types (UDT), yaitu tipe data yang
dapat anda tentukan sendiri berdasarkan tipe data yang sudah ada.

Data Transofrmation Service (DTS)


Folder ini berisi utilitas untuk mengimpor data ke dalam SQL Server dan mengekspor data dari
SQL Server.

Management
Berisi piranti yang digunakan untuk mengelola database.

Security
Tempat DBA membuat login, menugaskan peran pada user dan menentukan server.

Support Services
Tempat untuk mengkonfigurasikan layanan pendukung SQL Server, yaitu Distributed
Transaction Coordinator (DTC, piranti pengelola transaksi) dan SQL Server Mail (yang berfungsi
untuk membuat pesan e-mail dari dalam SQL Server).

8
Pelatihan Database Programming – UPK Fisika ITB – 2003

Membuat Database di SQL Server Enterprise Manager


Untuk membuat database baru di enterprise manager, klik-kanan folder database kemudian
pilih new database... hingga muncul jendela database properties seperti terlihat pada gambar.
Tentukan nama database yang akan anda buat pada kotak isian Name. Lokasi file database (file
dengan tipe data/ekstensi *.mdf) akan ditentukan secara default pada direktori dimana anda
menginstal SQL Server. Untuk mengubah lokasi file, klik tombol pda kolom Location untuk
menentukan lokasi yang anda inginkan.

Di bagian bawah anda dapat menentukan properti file database, terutama yang berkaitan
dengan ukuran database anda. File growth digunakan untuk menentukan berapa besar
pertumbuhan ruang media penyimpanan yang disiapkan untuk database, sedangkan maximum
file size menentukan berapa banyak ruang media penyimpanan yang disiapkan untuk database.

Tekan OK untuk membuat database.

Membuat tabel
Sekarang kita akan membuat tabel di dalam database Penjualan. Untuk membuat tabel, klik
kanan database Penjualan dan pilih New Æ Table.... Jendela New Table akan muncul dan anda
akan diminta untuk menuliskan nama tabel yang hendak dibuat. Beri nama’Pembeli’, lalu tekan
OK. Sekarang sebuah tabel telah terbuat dan anda harus menentukan atribut/entitas dari tabel
ini, dengan menambahkan field ke dalam tabel.

Menentukan field
Perhatikan jendela New Table, di dalamnya terdapat kolom-kolom yang berfungsi untuk
menentukan parameter-parameter dari field yang akan dibuat di dalam sebuah tabel (anda
dapat membaca online book SQL Server untuk mengetahui lebih jauh mengenai fungsi dari
masing-masing kolom).

• Column Name berfungsi untuk menentukan nama field. Tidak ada aturan tertentu mengenai
penamaan sebuah field, tetapi yang harus diperhatikan adalah bahwa nama field lebih baik
sesuai dengan data apa yang akan disimpan di dalamnya.
• Datatype berfungsi untuk menentukan tipe data /domain sebuah field. Gunakan tipe data
yang sesuai dengan data yang akan disimpan. Tipe data yang ada dalam SQL Server adalah
sebagai berikut

9
Pelatihan Database Programming – UPK Fisika ITB – 2003

Jenis Integer
• bit, Integer data dengan nilai 1 atau 0.
• int, Integer (seluruh angka bulat) dari -2^31 (-2,147,483,648) hingga 2^31 - 1
(2,147,483,647).
• smallint, Integer dari 2^15 (-32,768) hingga 2^15 - 1 (32,767).
• tinyint, Integer dari 0 hingga 255.

Jenis decimal dan numeric


• decimal, presisi tepat dan data skala numerik dari -10^38 -1 hingga 10^38 -1.
• numeric, sama dengan decimal.

Jenis money and smallmoney


• money, nilai data uang (monetary) dari -2^63 (-922,337,203,685,477.5808) hingga 2^63 - 1
(+922,337,203,685,477.5807), dengan akurasi hingga sepersepuluh ribu monetary unit.
• smallmoney, data monetary dari -214,748.3648 hingga +214,748.3647, dengan akurasi
hingga sepersepuluh ribu monetary unit.

Jenis Approximate Numerics


• float, data bilangan float (pecahan) dari -1.79E + 308 hingga 1.79E + 308.
• real, data float dari -3.40E + 38 hingga 3.40E + 38.

Jenis datetime and smalldatetime


• datetime, data waktu dan tanggal dari January 1, 1753, hingga December 31, 9999, dengan
akurasi hingga sepertigaratus detik atau 3.33 milidetik
• smalldatetime, data waktu dan tanggal dari January 1, 1900, hingga June 6, 2079, dengan
akurasi satu menit

Jenis Character Strings


• char, data karakter non-unicode dengan panjang yang tetap (Fixed-length) dengan panjang
maksimum hingga 8 ribu karakter
• varchar, data karakter non-unicode dengan panjang yang bergantung variabel (variable-
length) dengan panjang maksimum hingga 8 ribu karakter
• text, data karakter non-unicode dengan panjang bergantung variabel dengan panjang
maksimum hingga 2^31 - 1 (2,147,483,647) karakter

Tipe data lainnya dapat anda lihat pada MS SQL online book

• Length berfungsi untuk menentukan panjang maksimum data yang bisa disimpan oleh field
• Precision berfungsi untuk menentukan banyaknya digit yang digunakan oleh tipe data yang
dipilih.
• Scale berfungsi untuk menentukan banyaknya digit di sebelah kanan tanda desimal
• Allow Nulls berfungsi untuk menentukan apakah sebuah field boleh dikosongkan atau tidak
• Default Value berfungsi untuk menentukan nilai awal (default) dari suatu field
• Identity berfungsi untuk menentukan apakah suatu field berisi data yang meningkat secara
otomatis (auto increment)
• Identity Seed berfungsi untuk menentukan nilai awal dari Identity
• Identity Increment berfungsi untuk menentukan besar peningkatan Identity
• Is RowGuid berfungsi untuk membuat kolom identifier yang unik secara global

10
Pelatihan Database Programming – UPK Fisika ITB – 2003

Untuk tabel Pembeli tentukan field dengan parameter berikut ini:

Column Name Datatype Length Allow Nulls


IDPembeli int 4 no
Nama varchar 50 yes
Alamat varchar 100 yes
Telp char 10 yes

Menentukan Primary Key


Untuk menentukan primary key dari sebuah tabel, klik kanan baris dari field yang ingin
dijadikan primary key, kemudian pilih Set Primary Key. Icon ‘key’ (kunci) akan ditampilkan di
sebelah kiri nama field.

Perhatikan bahwa untuk menjadikan sebuah field sebagai primary


key, tipe datanya haruslah berupa int, smallint, tinyint, decimal
atau numerik dengan scale 0.

Setelah selesai menentukan parameter dalam tabel, tekan tombol


Save (icon disket) untuk menyimpan tabel yang telah dibuat dan
tutup jendela New Table. Sekarang anda akan melihat bahwa
sebuah tabel baru telah berada dalam direktori Tables.

Mengedit dan Menghapus Table


Untuk mengedit struktur sebuah tabel, klik kanan icon tabel pada direktori tabel, kemudian
pilih design table. Sedangkan untuk menghapusnya, anda bisa menekan tombol [Del] atau
memilih menu Delete dengan meng-klik kanan icon tabel. Ketika menghapus sebuah tabel,
anda akan dimintai konfirmasi penghapusan tabel.

11
Pelatihan Database Programming – UPK Fisika ITB – 2003

Untuk mengetahui struktur suatu tabel, anda dapat menekan [Enter] pada icon tabel yang anda
pilih. Jendela Table Properties akan muncul seperti gambar berikut ini.

Menambah Tabel
Sekarang coba buat tabel lainnya dengan parameter berikut ini

Tabel Barang
Column Name Datatype Length Allow Nulls
IDBarang int 4 no Key
Nama varchar 50 no
Jenis int 4 no
Persediaan int 4 no
Harga int 4 no
Diskon int 4 no
Tabel JenisBarang
IDJenis int 4 no Key
Kategori varchar 50 no
Tabel Penjualan
IDPenjualan int 4 no Key
IDFaktur int 4 no
IDBarang int 4 no
Jumlah int 4 no
Tabel Faktur
IDFaktur int 4 no Key
IDPembeli int 4 no

12
Pelatihan Database Programming – UPK Fisika ITB – 2003

Waktu varchar 15 no
TotalJumlah int 4 no
TotalHargaJual int 4 no
Tabel Pemesanan
IDPemesanan int 4 no Key
IDSupplier int 4 no
Jumlah int 4 no
Harga int 4 no
Tabel Supplier
IDSupplier int 4 no Key
Nama varchar 50 no
Alamat varchar 100 no
Telp char 10 no

Membuat Diagram Database


SQL Server Enterprise Manager memiliki fasilitas untuk membuat diagram dengan menggunakan
wizard. Dari diagram tersebut akan terlihat relasi antar tabel dengan jelas. Langkah
penggunaannya adalah:

1. Klik kanan mouse pada objek Diagram, lalu pilih new database diagram
2. Pilih tabel yang diinginkan untuk ditampilkan ke dalam diagram.

Setelah muncul jendela New Diagram, tentukan relasi antar tabel dengan menyeret field-field
yang akan direlasikan dari suatu tabel ke tabel lain. Jendela Create Relationship akan muncul
untuk memastikan field mana yang menjadi penanda relasi antar tabel

Lakukan penentuan relasi untuk setiap field yang bersesuaian antar tabel, hingga terbentuk
diagram relasi seperti pada gambar berikut ini. Jika sudah selesai, tekan tombol Save (icon
disket). Anda akan dimintai konfirmasi mengenai tabel-tabel yang anda sertakan dalam diagram.

13
Pelatihan Database Programming – UPK Fisika ITB – 2003

Memasukkan Data ke dalam Tabel


Setelah anda memiliki tabel dengan strukturnya, sekarang anda dapat mengisi data ke dalam
tabel. Pilih objek Tables, klik kanan tabel yang ingin diisi, kemudian pilih Open Table Æ Return
all rows. Maka jendela tabel yang dipilih akan muncul dan anda dapat langsung mengisi data
pada field yang sesuai.

Perhatikan : untuk mengisi data pada suatu field yang memiliki relasi dengan tabel lain, anda
harus memperhatikan kesesuaian isinya. Misalnya untuk field IDJenis pada tabel Barang, harus
sesuai dengan field IDJenis pada tabel JenisBarang.

14
Pelatihan Database Programming – UPK Fisika ITB – 2003

III Structured Query Language (SQL)

Structured Query Language (SQL) adalah bahasa non-prosedural yang tidak menyeriakan
struktur pemrograman. SQL adalah bahasa tingkat tinggi yang digunakan untuk menentukan
operasi yang ingin dijalankan pada suatu database.

Pernyataan SQL dikategorikan ke dalam dua kategori utama


ƒ pernyataan untuk memanipulasi data: Data Manipulaton Language
ƒ pernyataan untuk mendefinisikan objek database: Data Definition Language

Selection Query dan Action Query


Pernyataan pada banyak DML dari bahasa SQL juga dikenal dengan istilah query. Ada dua jenis
query yaitu selection query dan action query.
ƒ Selection query mengambil informasi dari database dan tidak memodifikasi database.
Semua selection query diawali dengan pernyataan SELECT.
ƒ Action query memodifikasi data pada tabel-tabel database dan diawali dengan salah satu
pertnyataan berikut: INSERT, UPDATE, atau DELETE.

Untuk menjalankan pernyataan SQl, anda dapat menggunakan Query Analyzer. Jalankan Query
Analyzer, pilih database yang ingin dikenai pernyataan SQL, kemudian ketikkan query-nya di
jendela Query. Misalnya pilih database Northwind dan tuliskan query berikut ini:

SELECT * FROM Customers

kemudian tekan tombol Execute atau [Ctrl+E] untuk menjalankan perintah tersebut. Hasilnya
akan muncul pada panel di bagian bawah.
Untuk memilih database, anda juga dapat menggunakan pernyataan USE

USE Northwind
SELECT * FROM Customers

Perhatian: penulisan query bersifat case insensitive, artinya penulisan SELECT akan memiliki
pengaruh yang sama dengan penulisan Select maupun select.

Data Manipulation Language

Data Manipulation Language (DML) terdiri atas pernyataan-pernyataan berikut:

Pernyataan Tindakan
SELECT Mengambil record-record dari database
INSERT Menyisipkan record-record ke dalam database
UPDATE Memperbaharui (update) record-record pada database
DELETE Menghapus record-record pada database

SELECT
Bentuk paling sederhana dari pernyataan SELECT adalah:

SELECT fields FROM tables

dengan fields dan tables adalah daftar yang dipisahkan dengan koma yang terdiri atas field-
field yang ingin diambil dari database serta tabel tempat mereka berada. Misalnya untuk
mengambil informasi nama perusahaan dan informasi kontak dari suatu perusahaan pada tabel
Customers, gunakan pernyataan berikut ini

15
Pelatihan Database Programming – UPK Fisika ITB – 2003

SELECT CompanyName, ContactName, ContactTitle


FROM Customers

Sedangkan untuk mengambil semua field, gunakan tanda bintang

SELECT * FROM Customers

Klausa WHERE
Jika anda ingin membatasi jumlah baris yang dihasilkan oleh query, gunakan klausa WHERE
pada pernyataan SELECT, dengan bentuk seperti berikut:

SELECT fields
FROM tables
WHERE condition

Condition merupakan ekspresi yang digunakan untuk menyaring data yang ingin ditampilkan,
misalnya:

SELECT * FROM Customers


WHERE Country = “Germany”

akan menghasilkan semua kolom pada tabel Customers yang berasal dari Germany (kolom
Country bernilai ‘Germany’). Untuk memilih pelanggan dari negara yang berbahasa Jerman,
anda dapat menggunakan klausa WHERE berikut:

WHERE Country = “Germany” OR


Country = “Austria” OR
Country = “Switzerland”

Apabila anda menggabungkan banyak tabel di dalam query, klausa WHERE harus selalu
disertakan untuk menentukan kriterianya. Misalnya untuk menampilkan semua nama produk
bersamaan dengan kategorinya. Informasi yang anda butuhkan berasal dari dua tabel, yaitu
nama produk dari tabel Products dan kategorinya ada di tabel Category, dan menentukan
bahwa CategoryID keduanya harus sama.

SELECT ProductName, CategoryName


FROM Products, Categories
WHERE Products.CategoryID = Categories.CategoryID

Pada pernyataan di atas, SQL engine akan mencari di setiap baris pada tabel Products yang
bersesuaian pada tabel Categories, lalu menambahkanfield ProductName dan CategoryName ke
dalam hasilnya. Baris-baris tersebut dicocokkan field CategoryID yang sama.

Perhatikan, apabila field-field pada dua tabel yang berbeda memiliki nama field yang sama,
tuliskan nama tabel dari masing-masing field, dan pisahkan dengan tanda titik.

SELECT Products.CategoryID, Categories.CategoryID

Jika nama field atau tabel memiliki spasi, gunakan kurung siku [ ] untuk menuliskannya

SELECT * FROM [Order Details]

Anda juga dapat menggunakan klausa WHERE dengan menetapkan suatu nilai tertentu

USE Biblio
SELECT Titles.Title FROM Titles

16
Pelatihan Database Programming – UPK Fisika ITB – 2003

WHERE Titles.PubID=722

SELECT Titles.Title
FROM Titles, Publishers
WHERE Titles.PubID = Publishers.PubID
AND Publishers.Name = “SYBEX”

Kata kunci AS
AS digunakan untuk menentukan nama kolom yang akan ditampilkan pada recordset

USE Northwind
SELECT CustLName AS [Nama Keluarga], CustFName AS [Nama Depan]
FROM Customers

Anda juga dapat menggabungkan field-field pada daftar select menggunakan operator
concatenation ‘+’

SELECT CustFName + “, “ + CustLName AS [Nama Lengkap]

Jika nilai dalam suatu field adalah data numerik, operator + akan menjumlahkan nilai keduanya

Kata kunci LIKE


LIKE digunakan untuk menyaring baris dengan pernyataan yang mendekati nilai suatu kolom,
misalnya

USE Biblio
SELECT Titles.Title FROM Titles, Publishers
WHERE Titles.PubID = Publishers.PubID AND
Publishers.Name LIKE “JOHN WILEY%”

Pernyataan di atas akan menampilkan semua judul buku dengan nama penerbit mengandung
kalimat yang diawali dengan JOHN WILEY.

SELECT Titles.Title FROM Titles


WHERE Titles.Title LIKE “%WINDOWS%”

Pernyataan di atas akan menampilkan semua judul buku yang mengandung kata WINDOWS.

Karakter-karakter berikut digunakan dengan kata kunci LIKE (wildcard character)

Karakter Fungsi Contoh


% Mencocokkan semua karakter program% akan mencari semua kata
yang dimulai dengan program

_ (garis bawah) Mencocokkan satu karakter b_y akan mencari semua kata yang
terdiri dari 3 huruf diawali dengan b dan
diakhiri dengan y

[] Mencocokkan satu karakter [YI]nez akan mencari kata Ynez atau


dalam tanda kurung Inez

[^] Mencocokkan setiap karakter %q[^u]^ akan mencari kata yang


yang tidak terdapat dalam tanda mengandung karakter q tapi tidak
kurung diikuti oleh karakter u
[-] Mencocokkan setiap karakter [a-c]% akan mencari semua kata yang

17
Pelatihan Database Programming – UPK Fisika ITB – 2003

pada range tertentu diawali dengan huruf a,b, atau c

# Mencocokkan satu karakter DI## akan mencari semua kata yang


numerik diawali DI dan diikuti dengan 2 karakter
numerik

Kata kunci DISTINCT


Kata kunci ini berfungsi untuk menghilangkan duplikasi hasil query pada satu kolom.

SELECT DISTNICT Country FROM Customers

akan menghasilkan kolom Country yang setiap barisnya tidak memiliki duplikasi, bandingkan
dengan

SELECT Country FROM Customers

Kata kunci ORDER


ORDER berfungsi untuk mengurutkan hasil query, sintaksnya adalah sebagai berikut

ORDER BY column1, column2, ...

misalnya

SELECT CompanyName, ContactName FROM Customers


ORDER BY Country, City

Untuk menentukan urutan gunakan ASC untuk meningkat, DESC untuk menurun (secara default
adalah ASC)

Perhitungan Matematis
Anda dapat melakukan perhitungan matematis melalui query SQL

SELECT Orders.OrderID, ProductID,


[Order Details].UnitPrice *
[Order Details].Quantity * (1 – [Order Details].Discount)
FROM Orders, [Order Details]
WHERE Orders.OrderID = [Order Details].OrderID

Fungsi Agregat
Fungsi agregat berfungsi untuk menghitung field-field tertentu dari semua baris yang dihasilkan
oleh query. Fungsi-fungsi tersebut melakukan perhitungan matematis dasar: menjumlah,
menghitung, merata-rata nilai.

Fungsi Aksi
COUNT() Mengembalikan banyaknya nilai pada kolom yang ditentukan
SUM() Mengembalikan jumlah nilai pada kolom yang ditentukan
AVG() Mengembalikan nilai rata-rata pada kolom yang ditentukan
MIN() Mengembalikan nilai terkecil pada kolom yang ditentukan
MAX() Mengembalikan nilai terbesar pada kolom yang ditentukan

Contohnya adalah sebagai berikut

USE Northwind
SELECT COUNT(CustomerID) FROM Customers
WHERE Country = “Germany”

18
Pelatihan Database Programming – UPK Fisika ITB – 2003

SELECT SUM(Quantity) FROM [Order Details]


WHERE ProductID = 11

SELECT ProductID AS Produk,


COUNT(ProductID) AS [Invoice],
MIN(Quantity) AS [Min],
MAX(Quantity) AS [Max],
AVG(Quantity) AS [Rata-rata]
FROM [Order Details]
GROUP BY ProductID
ORDER BY ProductID

Mengelompokkan baris
Fungsi agregat beroperasi pada semua baris yang dipilih oleh query. Misalkan ingin menghitung
jumlah baris suatu kolom berdasarkan nilai pada kolom lain dan menampilkan hasil keduanya.
Untuk melakukan hal ini digunakan klausa GROUP BY

SELECT COUNT(CustomerID), Country


FROM Customers
GROUP BY Country

Pernyataan diatas akan menampilkan banyaknya customer di setiap negara.

Perhatikan bahwa semua field yang disertakan pada daftar SELECT harus merupakan bagian
dari fungsi atau bagian dari klausa GROUP BY

USE Northwind
SELECT ProductName,
SUM(Quantity * [Order Details].UnitPrice *
(1 – Discount)) AS [Pendapatan Total]
FROM [Order Details], Products
WHERE Products.ProductID = [Order Details].ProductID
GROUP BY ProductName
ORDER BY ProductName

Membatasi Grup
Untuk membatasi jumlah baris yang akan muncul pada hasil yang diberikan oleh pernyataan
GROUP BY, gunakan klausa HAVING. Penggunaannya mirip dengan WHERE, tetapi HAVING hanya
bisa digunakan pada GROUP BY dan semua field yang digunakan pada klausa HAVING juga harus
muncul pada daftar GROUP BY, atau sebagai argumen dari fungsi matematik

USE Northwind
SELECT ProductID, SUM(Quantity)
FROM [Order Details]
GROUP BY ProductID
HAVING SUM(Quantity) > 1000

Anda tentu saja dapat menggunakan WHERE dan HAVING secara bersamaan. Yang harus
diperhatikan adalah dimana menggunakannya

USE Northwind
SELECT Products.ProductName, [Order Details].ProductID,
SUM(Quantity) AS [Items Sold]
FROM Products, [Order Details]
WHERE [Order Details].ProductID = Products.ProductID

19
Pelatihan Database Programming – UPK Fisika ITB – 2003

AND Products.UnitPrice >= 50


GROUP BY [Order Details].ProductID, Products. ProductName
HAVING SUM(Quantity) > 1000
ORDER BY Products.ProductName

Kata kunci IN dan NOT IN


Digunakan pada klausa WHERE untuk menentukan daftar nilai yang harus sesuai atau harus
tidak sesuai dengan kolom tertentu.

USE Northwind
SELECT CompanyName FROM Customers
WHERE Country IN (“Germany”,”Austria”,”Italy”)

Hasil pernyataan di atas akan menghasilkan recordset yang sama dengan pernyataan berikut

USE Northwind
SELECT CompanyName FROM Customers
WHERE Country = “Germany” OR
Country = “Austria” OR
Country = “Italy”

Biasanya penggunaan klausa IN atau NOT IN disertai oleh subquery

SELECT DISTINCT Country FROM Customers


WHERE Country NOT IN (SELECT Country FROM Suppliers)

Subquery
Subquery adalah sebuah query yang digunakan sebagai bargian dari query lain. Perhatikan
untuk contoh berikut ini. Pernyataan

USE Northwind
SELECT DISTINCT ProductID
FROM [Order Details], Customers, Orders
WHERE [Order Details].OrderID = Orders.OrderID AND
Orders.CustomerID = Customers.CustomerID AND
Customers.Country = “Austria”

kita gunakan untuk menampilkan semua produk yang dipesan oleh customer dari Austria.
Sekarang kita akan membuat query untuk menampilkan nama produk yang ada di daftar ini.
Untuk menampilkannya gunakan subquery

USE Northwind
SELECT ProductID, ProductName FROM Products
WHERE ProductID IN
(SELECT DISTINCT ProductID
FROM [Order Details], Customers, Orders
WHERE [Order Details].OrderID = Orders.OrderID AND
Orders.CustomerID = Customers.CustomerID AND
Customers.Country = “Austria”)

Kata kunci BETWEEN


BETWEEN berfungsi untuk menentukan suatu range nilai dan membatasi pemilihan baris yang
hanya mengandung kolom tertentu, dinyatakan dengan sintaks berikut ini
field BETWEEN column >= minValue AND column <= maxValue

20
Pelatihan Database Programming – UPK Fisika ITB – 2003

Misalkan kita ingin menampilkan pesanan yang dilakukan pada kuartal pertama tahun 1997,
gunakan pernyataan berikut

USE Northwind
SELECT OrderID, OrderDate, CompanyName
FROM Orders, Customers
WHERE Orders.CustomerID = Customers.CustomerID AND
(OrderDate BETWEEN ‘1/1/1997’ AND ‘3/31/1997’)

Menggabungkan Tabel-tabel
Dengan klausa WHERE anda dapat menggabungkan dua tabel atau lebih berdasarkan pada nilai
dari kedua kolom di dalam kedua tabel. Tetapi klausa WHERE harus digunakan untuk
mengekspresikan batasan yang melibatkan satu atau lebih tabel, dan bukan untuk
menghubungkan tabel. Walaupun klausa WHERE juga bisa digunakan, tetapi metode yang paling
tepat untuk menggabungkan tabel adalah menggunakan operasi JOIN.

SELECT Titles.Title, Publishers.Name


FROM Titles
INNER JOIN Publishers ON Titles.PubID = Publihsers.PubID

Pernyataan di atas akan menghasilkan baris-baris nama buku dari tabel titles dan nama
penerbit dari tabel publishers, dimana tabel titles memiliki kesesuaian pada field PubID dengan
tabel publishers. Jika dibandingkan dengan pernyataan berikut ini

SELECT Titles.Title, Publishers.Name


FROM Titles, Publishers
WHERE Titles.PubID = Publihsers.PubID

akan memberikan jumlah baris yang berbeda. Hal ini terjadi karena pada tabel titles, field
PubID bisa memiliki nilai NULL, sedangkan pada tabel publishers tidak bisa. Judul buku dengan
nilai Null pada kolom PubID tidak akan cocok dengan baris apapun pada tabel Publishers dan
akan dilewatkan.

Sintaks operator JOIN adalah sebagai berikut

FROM Table1
[INNER | LEFT | RIGHT | FULL] JOIN Table2 ON Table1.col = Table2.col

Inner Join
Penggabungan ini menghasilkan semua pasangan baris-baris yang cocok pada kedua tabel dan
membuang baris-baris yang tidak cocok.

SELECT Cities.CityName, Countries.CountryName


FROM Cities
INNER JOIN Countries ON Cities.CountryID = Countries.CountryID

Pernyataan tersebut akan menghasilkan semua kota yang memiliki negara (dan sebaliknya),
serta membuang baris-baris yang memiliki nilai NULL

Left Join
Penggabungan ini menghasilkan semua record dari tabel yang pertama (kiri) dari kedua tabel,
bahkan jika tidak ada nilai yang cocok pada record pada tabel yang kedua (kanan).

SELECT Cities.CityName, Countries.CountryName


FROM Cities
LEFT JOIN Countries ON Cities.CountryID = Countries.CountryID

21
Pelatihan Database Programming – UPK Fisika ITB – 2003

Pernyataan tersebut menghasilkan semua record pada tabel Cities (kiri) walaupun tabel
Countries (kanan) memiliki nilai NULL

Right Join
Penggabungan ini menghasilkan semua record dari tabel yang kedua (kanan) dari kedua tabel,
bahkan jika tidak ada nilai yang cocok pada record pada tabel yang pertama (kiri).

SELECT Cities.CityName, Countries.CountryName


FROM Cities
RIGHT JOIN Countries ON Cities.CountryID = Countries.CountryID

Pernyataan tersebut menghasilkan semua record pada tabel Countries (kanan) walaupun tabel
Cities (kiri) memiliki nilai NULL

Full Join
Penggabungan ini menghasilkan semua baris yang biasanya dihasilkan oleh operasi inner join
ditambah baris-baris dari tabel kiri atau kanan yang tidak memenuhi kondisi penggabungan.

SELECT Cities.CityName, Countries.CountryName


FROM Cities
FULL JOIN Countries ON Cities.CountryID = Countries.CountryID

Pernyataan tersebut menghasilkan semua record pada tabel Cities (kiri) dan tabel Countries
(kanan) walaupun keduanya memiliki nilai NULL

Latihan SQL
Sekarang coba tuliskan query untuk menampilkan hasil seperti yang diinginkan pada persoalan
berikut ini

ƒ Produk dengan harga per unit tertentu (gunakan database Northwind)


ƒ Produk yang jumlah pesanannya melebihi jumlah stok (Northwind)
ƒ Produk dan kategorinya yang bersesuaian (Northwind)
ƒ Jumlah produk untuk masing-masing kategori (Northwind)
ƒ Nama lengkap pegawai yang gajinya dengan selang tertentu (Northwind)
ƒ Produk yang paling laku terjual (Northwind)
ƒ Produk yang paling menguntungkan (Northwind)
ƒ Pegawai yang paling banyak menjual produk (Northwind)
ƒ Pelanggan yang paling banyak membeli produk (Northwind)
ƒ Pengarang yang tinggal di tempat (State) yang sama (Biblio)
ƒ Pengarang dengan royalti terbesar (Biblio)
ƒ Buku dengan pengarang lebih dari satu orang (Biblio)
ƒ Pengarang dengan buku lebih dari satu (Biblio)

22
Pelatihan Database Programming – UPK Fisika ITB – 2003

DELETE

Pernyataan DELETE berfungsi menghapus satu atau lebih baris pada tabel dan tidak perlu
ditentukan daftar field-nya, tetapi yang harus ditentukan adalah mana baris yang akan dihapus.
Sintaks dari DELETE adalah:

DELETE FROM table_name


WHERE condition

Misalnya, pernyataan

DELETE FROM Customers


WHERE Country = “Germany”

akan menghapus seluruh baris pada tabel Customers yang field Country-nya bernilai “Germany”.

Untuk menghapus seluruh baris dari tabel, gunakan pernyataan DELETE tanpa menggunakan
klausa WHERE. Pernyataan

DELETE FROM Categories

akan menghapus seluruh baris pada tabel Categories.

INSERT

Pernyataan INSERT berfungsi menyisipkan sebuah baris baru ke dalam tabel. Sintaksnya adalah:

INSERT INTO table_name (column list) VALUES (value list)

Pernyataan ini akan menambahkan sebuah baris ke dalam tabel table_name dan menugaskan
nilai yang ditentukan ke dalam field-field baris. Kedua daftar harus ditutup dengan tanda
kurung. Nilai pertama dari value list diberikan pada kolom pertama pada column list, nilai
kedua pada value list akan diberikan pada kolom kedua pada column list, dan seterusnya.
Dengan demikian kedua daftar ini harus sesuai satu sama lain. Keduanya harus memiliki jumlah
item yang sama, serta jenis nilainya harus sesuai dengan jenis kolom.

Pernyataan

INSERT INTO Customers (CustomerID, CompanyName, ContactName)


VALUES (“SYBEX”, “Sybex, Inc.”, “Tobias Smythe”)

akan menyisipkan baris baru untuk kolom-kolom yang ada di column list dengan nilai yang ada
di value list. Jika hendak memasukkan nilai baru ke seluruh kolom, anda dapat mengabaikan
penulisan column list selama anda dapat mengurutkan value list dengan benar.

INSERT INTO Customers


VALUES (“ELEX”, “Elex Media Komputindo”, “Diana”,
“Sales Representative”,“Palmerah Selatan”, “Jakarta”,
NULL , “10221”, “Indonesia”, “62-21-5551234”,
“62-21-5501235”)

Cara lain untuk memberikan nilai kolom ke dalam pernyataan INSERT adalah dengan
menggunakan SELECT dari tabel lain. Misalnya untuk menyisipkan alamat kontak dari tabel
Customers ke dalam tabel PhoneBook, gunakan pernyataan berikut

23
Pelatihan Database Programming – UPK Fisika ITB – 2003

INSERT INTO PhoneBook


SELECT ContactName, Phone, Fax FROM Customers

UPDATE

Pernyataan UPDATE berfungsi mengupdate (memperbaharui) kolom-kolom pada baris tertentu.


Pernyataan UPDATE bisa mempengaruhi banyak baris, tetapi tetap berada dalam satu tabel.
Sintaksnya adalah:

UPDATE table_name
SET column1 = value1, column2 = value2, ....
WHERE condition

Contohnya, pernyataan

UPDATE Customers
SET Country = “Germany”
WHERE Country = “W. Germany” OR Country = “E. Germany”

akan mengupdate field Country dari tabel Customer yang tadinya bernilai “W. Germany” atau
“E. Germany” menjadi “Germany”.

Selain itu anda juga dapat menggunakan operator matematik dalam pernyataan UPDATE

UPDATE Products
SET UnitPrice = UnitPrice * 0.025
WHERE SupplierID = 3

Pernyataan di atas akan mengupdate harga baru untuk produk yang SupplierID-nya = 3.

Data Definition Language

Pernyataan Data definition language (DDL) adalah pernyataan SQL yang mendukung
pendefinisian atau deklarasi objek database, terdiri atas pernyataan-pernyataan berikut

Pernyataan Fungsi
CREATE TABLE Membuat tabel baru
ALTER TABLE Mengubah struktur tabel
DROP TABLE Menghapus tabel

CREATE TABLE
Untuk membuat tabel menggunakan pernyataan CREATE TABLE pada dasarnya sama dengan
menggunakan Enterprise Manager, hanya saja anda harus menuliskan semua parameter yang
berkaitan dengan pembuatan tabel: nama kolom, tipe data, panjang data, nilai awal dan
sebagainya. Sintaksnya adalah

CREATE TABLE table_name


(
column_name data_type [NULL | NOT NULL { [ PRIMARY KEY | UNIQUE ] } ]
[ IDENTITY (seed, increment) ]
[ DEFAULT constant_expression ], ....
}

Contohnya

24
Pelatihan Database Programming – UPK Fisika ITB – 2003

CREATE TABLE Barang


{
IDBarang int(5) NOT NULL PRIMARY KEY,
NamaBarang varchar(50) NOT NULL,
IDBarang int(4) NOT NULL,
Harga money,
Persediaan int(4)
)

ALTER TABLE
Pernyataan ALTER TABLE berfungsi untuk menambah atau mengurangi jumlah kolom pada tabel
serta mengubah parameter dari suatu kolom. Sintaksnya adalah

ALTER TABLE table_name


{ [ ADD column_name column_definition ]
[ DROP column_name ]
[ ALTER COLUMN column_name new_column_definition ]
}

Contoh pernyataan untuk menambah kolom

ALTER TABLE Barang


ADD Diskon int

Menghapus kolom

ALTER TABLE Barang


DROP COLUMN Diskon

Mengubah parameter kolom

ALTER TABLE Barang


ALTER COLUMN Harga int NOT NULL

DROP TABLE
Pernyataan ini berfungsi untuk menghapus sebuah tabel. Sintaksnya adalah

DROP TABLE table_name

Misalnya

DROP TABLE Barang

25
Pelatihan Database Programming – UPK Fisika ITB – 2003

IV Pemrograman Database

Dalam manajemen database, aplikasi Visual Basic berperan sebagai front-end terhadap
database, artinya aplikasi Visual Basic menyediakan antarmuka antara user dengan database.
Aplikasi Visual Basic tidak secara langung berinteraksi dengan database, karena ada dua
komponen di antaranya, yaitu kontrol data dan engine databse.
ƒ Kontrol data adalah objek Visual Basic yang menghubungkan aplikasi dengan database
melalui engine database
ƒ Engine database adalah program yang mengelola informasi dalam database.

Aplikasi Visual Basic

Kontrol Data

Engine Database

DBMS

DB

Recordset
Recordset adalah objek yang mewakili koleksi records dari satu atau lebih tabel. Dalam
pemrograman database anda tidak dapat mengakses database secara langsung. Satu-satunya
cara untuk menampilkan atau memanipulasi records adalah lewat objek recordset. Sebuah
recordset dibangun atas kolom dan baris dan sama dengan tabel, tetapi recordset dapat
mengandung data dari berbagai tabel. Salah satu contoh recordset adalah apa yang bisa kita
panggil melalui query SQL.

Recordset terdiri dari tiga jenis :


ƒ DynaSets, yaitu tampilan data yang dapat diupdate, biasanya dibuat melalui SQL
ƒ SnapShots, yaitu tampilan data statis yang hanya dapat dibaca (read-only), juga dapat
dibuat melalui SQL
ƒ Tables, yaitu tampilan langsung dari isi sebuah tabel.

Active Data Object (ADO)


Active Data Object adalah sebuah komponen untuk mengakses komponen database yang
menggunakan beberapa objek yang sangat fleksibel yang memilki properti, metode serta event-
event sendiri. Struktur dari model objek ADO merefleksikan operasi yang anda lakukan pada
database.

Adapun objek-objek ADO adalah:

26
Pelatihan Database Programming – UPK Fisika ITB – 2003

ƒ Connection object, yaitu objek yang membuat koneksi ke database


ƒ Command object, yaitu objek yang mengeksekusi command / perintah terhadap database
ƒ Recordset object, yaitu objek yang menyimpan record yang diterima dari database atau
record yang akan diupdate ke database.

Dalam pelatihan ini kita akan menggunakan ADO dalam tiga cara:
ƒ Melalui data form wizard
Wizard didesain untuk melakukan langkah demi langkah mengatur pilihan tampilan dan
kemudian secara otomatis menghasilkan form Visual Basic yang berisi kontrol data, tombol
perintah dan kode sumber untuk mengelola database.
ƒ Melalui data environment dan data control
Data environment dan data control memungkinkan kita untuk mendisain koenksi ke
database dan mengambil record yang diinginkan.
ƒ Melalui kode program
Menggunakan kode program memang lebih sulit dibandingkan dua cara di atas, tetapi
memiliki kelebihan dalam fleksibilitas pemanggilan data serta kustomisasi pemrograman.

Objek ADO

27
Pelatihan Database Programming – UPK Fisika ITB – 2003

Koneksi VB dengan Database

Ada beberapa cara yang dapat digunakan untuk menghubungkan VB dengan database
ƒ Menggunakan Data Link
Anda dapat menggunakan program data link untuk membuat dan mengelola koneksi antara
komputer dan OLEDB. Sebuah data link mempopulasi sebuah file .udl yang dapat digunakan
sebagai acuan untuk koneksi database di saat lain. Jika ADO atau OLEDB terinstall dengan
baik pada sistem, anda dapat mengakses program data link dengan cara berikut ini
1. Buka Windows Explorer
2. Pilih folder tempat anda akan menyimpan file udl. Buat file baru dengan cara memilih
menu File Æ New Æ Text Document
3. Pada menu Tools, pilih Folder Options. Pada tab View, hilangkan pilihan Hide file
extensions for known file types, kemudian tekan OK
4. Klik kanan file teks yang anda buat di tahap 2, dan rename menjadi file bertipe data
udl, misalnya ‘mydata.udl’
5. Akan muncul peringatan bahwa perubahan tipe data file akan menyebabkan file tidak
dapat digunakan. Untuk file udl, anda dapat mengabaikan peringatan ini. Klik Yes
6. Jalankan file tersebut untuk membuka jendela Data Link Properties.

Setelah jendela Data Link Properties terbuka, anda dapat menentukan koneksi ke database.
Ikuti langkah berikut ini:
1. Pilih tab Provider
2. Pilih provider yang tepat untuk database anda. Dalam pelatihan ini kita akan
menggunakan provider untuk SQL Server. Pilih Microsoft OLE DB Provider for SQL Server,
kemudian tekan Next.

28
Pelatihan Database Programming – UPK Fisika ITB – 2003

3. Pada tab Connection, tentukan nama server, informasi account dan nama database.
Jika anda menggunakan SQL Server di komputer lokal, kosongkan nama server,
kemudian pilih Use Windows NT integrated security.
4. Pilih database Northwind di nama database
5. Klik Test Connection untuk menguji apakah koneksi data berhasil atau tidak. Jika
berhasil, akan tampil pesan seperti ini

6. Tekan OK untuk melanjutkan


7. Parameter-parameter pada tab Advanced berfungsi untuk menentukan setting jaringan
dan perizinan akses. Tab All berfungsi untuk melihat dan mengedit parameter-
parameter yang telah ditentukan lewat tab Provider, Connection dan Advanced.
8. Tekan OK jika sudah selesai.

File udl ini dapat digunakan jika kita hendak membuat aplikasi database yang server
database-nya tidak tetap. Kita tinggal menentukan lokasi file udl-nya saja dalam aplikasi

29
Pelatihan Database Programming – UPK Fisika ITB – 2003

VB yang kita buat. Selanjutnya jika lokasi database berubah, kita hanya perlu merubah
parameter dalam file udl.

ƒ Menggunakan Data Sources ODBC


Anda dapat menggunakan Data Sources Open Database Connectivity (ODBC) untuk
mengakses data dari berbagai jenis database management system. Misalnya, jika anda
memiliki program yang mengakses data dari database SQL, ODBC akan mengizinkan anda
untuk menggunakan program yang sama untuk mengakses data dari database Visual FoxPro.
Untuk melakukan hal ini, anda harus menambahkan komponen software berupa driver ke
dalam sistem. ODBC membantu anda dalam menambah dan mengkonfigurasi driver tersebut.

Untuk mengkonfigurasi koneksi SQL lewat ODBC, ikuti langkah berikut ini:
1. Buka Control Panel
2. Pilih Administative Tools, kemudian pilih Data Sources (ODBC) hingga muncul jendela
ODBC Data Source Administrator.

3. Pilh tab User DSN, kemudian pilih Add


4. Pada jendela Create New Data Source pilih SQL Server kemudian klik Finish.
5. Pada jendela Create a New Data Source to SQL Server, tentukan nama koneksi,
deskripsi koneksi (jika perlu) serta nama server database. Tekan Next untuk
melanjutkan
6. Pada tampilan berikutnya anda diminta mengatur informasi account SQL Server. Pilih
With Windows NT authentication using the network login ID, lalu tekan Next
7. Pada tampilan berikutnya, pilih database Northwind kemudian tekan Next dan tekan
Finish.
8. Berikutnya akan muncul kotak dialog informasi ODBC MS SQL Server Setup. Klik Test
Data Source untuk memeriksa apakah koneksi yang dibuat sudah benar.
9. Akan muncul pesan CONNECTED SUCCESSFULLY jika koneksi tersambung dengan benar.
Klik OK jika sudah selesai.

30
Pelatihan Database Programming – UPK Fisika ITB – 2003

Dengan menggunakan Data Source ODBC, pada saat pembuatan aplikasi anda hanya perlu
menentukan nama koneksi ODBC pada saat pemrograman. Selanjutnya anda tinggal
mengubah parameter dalam ODBC.

Data Form Wizard

Data form wizard merupakan add-in, yaitu bagian yang harus ditambahkan terlebih dahulu ke
dalam lingkungan VB. Untuk melakukannya ikuti langkah berikut ini

1. Jalankan VB pada proyek standard EXE.


2. Klik menu Add-Ins kemudian klik item menu Add-In Manager.
3. Akan muncul kotak dialog Add-In Manager yang menampilkan semua program add-in
yang tersedia. Pada Available Add-Ins pilih VB 6 Data Form Wisard. Kemudian tandai
pada kotak cek Loaded/Unloaded. Jika anda menginginkan Wizard selalu tampil setiap
kali VB dijalankan, tandai pada kotak cek Load on Startup
4. Kemudian klik OK.

Jendela Add-In Manager

Melalui data form wizard ini kita akan membuat aplikasi database yang dapat digunakan tanpa
harus mengetikkan kode program.

Record Tunggal
Apilkasi ini hanya akan menampilkan satu record saja. Untuk melakukan navigasi digunakan
kontrol data ADO. Ikuti langkah berikut ini untuk membuatnya:

1. Jalankan VB pada standard EXE, kemudian pilih menu Add-Ins dan klik item menu Data
Form Wizard

31
Pelatihan Database Programming – UPK Fisika ITB – 2003

2. Pada jendela Introduction, pilih None pada pertanyaan pemilihan profile lalu tekan
Next. Pemilihan profile di sini berfungsi untuk me-load profile yang pernah kita simpan
sebelumnya. Profile berisi data-data yang dibutuhkan dalam wizard.
3. Pilih jenis database yang ingin dikoneksikan. Karena kita menggunakan SQL Server, pilih
Remote (ODBC) kemudian klik Next

32
Pelatihan Database Programming – UPK Fisika ITB – 2003

4. Pada jendela Connect Information, tuliskan informasi Database, Driver dan nama server
pada tempat yang telah tersedia. Isikan ‘Northwind’ pada nama database, ‘SQL Server’
pada Driver dan nama server sesuai dengan PC yang anda gunakan, lalu tekan Next.
(Anda juga dapat memilih DSN dari daftarnya, jika anda sudah membuat Data Source di
ODBC).
5. Pada jendela Form, beri nama Employees pada form yang akan dibuat wizard.
Berikutnya pilih Single Record pada tampilan daftar pilihan Form Layout. Disini anda
dapat memilih beragam jenis tampilan form:
ƒ Single Record, form hanya menampilkan satu record setiap saat.
ƒ Grid (Datasheet), untuk menampilkan kontrol DataGrid (tabel) pada form.
ƒ Master/Detail, menampilkan sumber record master yang dikaitkan dengan sumber
record detail yang menunjukkan hubungan one-to-many.
ƒ MS HflexGrid, menampilkan form yang menampilkan data secara tabular.
ƒ MS Chart, menampilkan form yang berisi grafik
Kemudian anda harus memilih salah satu dari tiga tipe Binding:
ƒ ADO Data Control, menggunakan kontrol data ADO
ƒ ADO Code, menggunakan kode program
ƒ Class, menggunakan class (digunakan dalam OOP)
Pilih ADO Data Control kemudian tekan Next.
6. Pada layar Record Source, dalam kotak drop-down Record Source terdapat semua tabel
dalam database Northwind, pilih Employees. Perhatikan semua field dalam tabel
Employees akan muncul di kotak Available Fields.
7. Berikutnya pindahkan fields yang ingin ditampilkan pada form dari kotak Available
Fields ke kotak Selected Fields. Pindahkan fields berikut: EmployeeID, FirstName,
LastName, BirthDate, Address, PostalCode dan HomePhone. Tekan Next untuk
melanjutkan.
8. Pada waktu program berjalan disediakan tombol untuk memanipulasi record aktif oleh
pemakai. Tombol dapat dipilih pada pesan Available Control, tetapi hanya ditampilkan
pada hasil akhir. Tombol yang disediakan adalah:
ƒ Add Button, untuk menambah record baru ke database
ƒ Update Button, untuk memasukkan semua perubahan yang dilakukan pada field
entry data ke dalam database.
ƒ Delete Button, untuk menghapus record aktif dalam database.
ƒ Refresh Button, untuk mengulang query.
ƒ Close Button, untuk menutup form dan keluar dari program
Klik Next untuk melanjutkan
9. Tekan Finish, maka anda akan mendapatkan tampilan form pada VB.

33
Pelatihan Database Programming – UPK Fisika ITB – 2003

10. Sekarang anda harus menetapkan form yang baru dibuat ini sebagai Startup Form.
Untuk itu pilih menu Project Æ Project1 Properties. Pada kotak dialog Project
Properties atur startup object-nya menjadi Employees. (Anda juga bisa menghapus
Form1 jika diinginkan).

Jalankan program dengan menekan F5 atau tombol Run.

Grid
Wizard dapat membuat form yang berisi datagrid (tabel). Ketika program dijalankan, kontrol
data ADO tidak akan ditampilkan. Langkah pembuatannya sama dengan Record Source, hanya
saja anda harus memilih Grid (Datasheet) di jendela Form (langkah ke-5).

Master/Detail
Wizard dapat membuat form yang berisi data yang menunjukkan relasi one-to-many. Sebagai
contoh, kita akan menggunakan tabel Orders sebagai master (one) dan Order Details sebagai
detail (many). Untuk itu ikuti langkah berikut ini:

1. Ulangi langkah 1-4 pada aplikasi Single Record.


2. Pada jendela Form, beri nama form OrderDetails, pilih form layout Master/Details,
kemudian tekan Next.
3. Pada Master Record Source pilih Orders sebagai record source dan pilih field OrderID dan
OrderDate, kemudian tentukan field OrderDate sebagai dasar pengurutan. Klik Next.
4. Berikutnya pada Detail Record Source pilih Order Details sebagai Record Source dan pilih
semua field dan tentukan field ProductID sebagai dasar pengurutan, kemduian klik Next.
5. Pada jendela Record Source Relation pilih OrderID (Orders) sebagai master dan OrderID
(Order Details) sebagai details. Klik Finish.

34
Pelatihan Database Programming – UPK Fisika ITB – 2003

Relasi antara Order dan Order Details

HFlexGrid
Wizard dapat membuat form yang berisi data tabular menggunakan kontrol HFlexGrid. Kontrol
ini bersifat read-only, sehingga kita tidak dapat mengubahnya. Langkah pembuatannya:

1. Ulangi langkah 1-4 pada aplikasi Single Record.


2. Pilih layout MS HFlexGrid dan beri nama form CustomersCountry. Klik Next.
3. Pada Record Source pilih tabel Customers dengan field Country dan CompanyName,
kemudian klik Next.
4. Pada jendela Select Grid Type pilih Outline. Pilihan outline akan menampilkan tabel
dengan pengelompokkan, seperti penggunaan GROUP BY dalam query SQL.
5. Pada Set Appearance Style pilih style yang anda inginkan, misalnya Contemporary.
Tampilan yang dihasilkan masing-masing style akan diperlihatkan di bagian bawah form.
Klik Next.
6. Tentukan lebar kolom pada jendela berikutnya dengan men-drag kolom di bagian bawah.
Klik Next
7. Berikutnya tentukan pilihan apakah user dapat mengubah lebar kolom atau tidak dengan
mengeset Allow Column Dragging and Sorting

35
Pelatihan Database Programming – UPK Fisika ITB – 2003

8. Tekan Finish untuk menyelesaikan.

Diagram
Wizard dapat membuat form yang berisi data dalam format diagram/grafik.

1. Ulangi langkah 1-4 pada aplikasi Single Record.


2. Pilih MS Chart pada kotak dialog form, beri nama GrafikPenjualan. Klik Next.
3. Pilih Record Source OrderDetails dengan field UnitPrice dan Quantity kemudian klik Next.
4. Sebagai sumbu X adalah UnitPrice dan sumbu Y adalah Quantity. Pilih Count pada Select
the aggregate function to summarize the Y axis with, kemudian klik Next.
5. Pilih tipe diagram yang diinginkan kemudian klik Next.
6. Pilih mode tampilan yang diinginkan, kemudian klik Next. Disini anda dapat memilih apakah
form tersebut menampilkan legend, markers atau stack series.
7. Berikutnya anda diminta untuk menentukan judul-judul. Masukkan teks yang sesuai dengan
judul yang anda pilih pada daftar, kemudian klik Next.
8. Tekan Finish untuk mengakhiri.

36
Pelatihan Database Programming – UPK Fisika ITB – 2003

37
Pelatihan Database Programming – UPK Fisika ITB – 2003

V Disain Database dengan Data Project

Untuk membuat project database VB menyediakan fasilitas disain database menggunakan Data
Project. Data Project akan menyediakan sebuah Form dan dua buah ActiveX Designer. Sebuah
Designer adalah tambahan khusus yang menyederhanakan disain komponen-komponen yang
akan digunakan dalam pemrograman database. Aplikasi database bergantung kepada dua
komponen dasar:

ƒ Satu atau lebih komponen DataEnvironment


ƒ Satu atau lebih komponen DataReport

Komponen DataEnvironment mengizinkan kita untuk mendisain koneksi ke database dan


mengambil records yang diinginkan. Komponen DataReport memudahkan kita untuk mendisain
report (laporan) dan menggunakannya dari dalam aplikasi yang kita buat. Kedua komponen
didasari oleh tools yang dimiliki VB dan tidak memerlukan pemrograman.

Pada bagian ini kita akan mempelajari cara menggunakan DataEnvironment dan DataReport
ActiveX Designer. Untuk memudahkan, kita akan mengambil suatu contoh kasus.

Aplikasi Customers
Aplikasi ini berfungsi untuk
ƒ Melihat daftar pelanggan
ƒ Melihat daftar pesanan yang dilakukan pelanggan
ƒ Mencetak laporan

Disini, selain menggunakan ActiveX Designer, kita juga akan menggunakan kontrol ActiveX
berikut ini:
ƒ ADODC (ADO Data Control), berfungsi untuk menyambungkan aplikasi dengan database,
membawa recordset
ƒ MSHFlexGrid, adalah grid hirarkial yang memungkinkan user untuk membangun aplikasi
spreadsheet dan dapat mempopulasi data dari DataEnvironment Designer.

Melihat Daftar Pelanggan


Untuk menggunakan Data Project pada VB ikuti langkah berikut ini:

1. Pada jendela New Project pilih Data Project Tekan Open.


2. Anda akan melihat di Project Explorer bahwa VB menyediakan sebuah Form dan dua buah
ActiveX Designers.

3. Klik dua kali pada DataEnvironment1 hingga muncul kotak dialog DataEnvironment
4. Klik kanan pada Connection1 dan pilih Properties untuk membuka jendela Data Link
Properties. Gunakan jendela ini untuk memilih koneksi database.

38
Pelatihan Database Programming – UPK Fisika ITB – 2003

5. Pilih Microsoft OLE DB Providers for ODBC Drivers pada tab Provider, kemudian pilih
Nortwhind pada combo Use data source name. (Northwind adalah nama data source yang
pernah kita buat sewaktu mempelajari koneksi database). Tekan OK jika koneksi sudah
selesai dibuat.

6. Kembali ke jendela DataEnvironment. Klik kanan Connection1 kemudian pilih Add Command
hingga muncul ojek Command1 dibawah objek Connection1
7. Klik kanan Command1 dan pilih Properties untuk membuka jendela Comman1 Properties

8. Pada tab General, set nama Command menjadi Pelanggan dan Connection menjadi
Connection1.
9. Pada kotak isian Database Object, pilih Table sehingga anda dapat melihat daftar tabel dari
database Northwind.
10. Pilih tabel Customers (dbo.Customers)
11. Tekan OK untuk kembali ke jendela DataEnvironment.
12. Klik pada tanda + di depan Command1 untuk menampilkan daftar field pada tabel
Customers.
13. Sekarang tampilkan Form1 pada layar.
14. Dengan Form dan DataEnvironment masih terlihat pada layar, seret Command1 dari
DataEnvironment ke dalam Form. VB akan membuat pasangan Label dan TextBox sesuai

39
Pelatihan Database Programming – UPK Fisika ITB – 2003

dengan fields yang ada pada DataEnvironment. Jika anda tidak ingin menggunakan
semuanya, cukup seret fields yang anda perlukan ke dalam Form.
15. Pindah ke Form dan aturlah posisi komponen-komponen tersebut agar indah dipandang
mata.

Setelah mendapatkan komponen yang akan menampilkan fields dari tabel Customers dalam
Single Record, sekarang kita akan membuat tombol navigasi dan utilitas untuk melengkapi
aplikasi yang kita buat.

1. Tambahkan 8 buah komponen Command ke dalam Form dengan cara meng-klik dua kali
komponen Command Button dari Toolbox di sebelah kiri
2. Atur ukuran dan posisi kedelapan tombol tersebut agar indah dipandang mata dan tentukan
properties-nya melalui jendela Object Properties di sebelah kanan dengan nilai seperti
pada tabel berikut ini:

Komponen Properties Nilai


Command1 Caption << Awal
Command2 Caption < Sebelumnya
Command3 Caption Berikutnya >
Command4 Caption Akhir >>
Command5 Caption Tambah

40
Pelatihan Database Programming – UPK Fisika ITB – 2003

Command6 Caption Update


Command7 Caption Hapus
Command8 Caption Refresh

Sehingga form anda akan tampil seperti gambar berikut ini

3. Berikutnya anda harus memfungsikan command button yang anda pasang agar bekerja
sesuai dengan fungsinya. Pertama-tama yang akan kita lakukan adalah menuliskan kode
program untuk empat tombol pertama di bagian atas. Tuliskan kode program berikut ini
pada jendela View Code

Private Sub Command1_Click()


DataEnvironment1.rsPelanggan.MoveFirst
End Sub

Private Sub Command2_Click()


If DataEnvironment1.rsPelanggan.BOF Then
MsgBox "Anda sudah sampai pada awal record"
Else
DataEnvironment1.rsPelanggan.MovePrevious
If DataEnvironment1.rsPelanggan.BOF Then
DataEnvironment1.rsPelanggan.MoveFirst
End If
End If
End Sub

41
Pelatihan Database Programming – UPK Fisika ITB – 2003

Private Sub Command3_Click()


If DataEnvironment1.rsPelanggan.EOF Then
MsgBox "Anda sudah sampai pada akhir record"
Else
DataEnvironment1.rsPelanggan.MoveNext
If DataEnvironment1.rsPelanggan.EOF Then
DataEnvironment1.rsPelanggan.MoveLast
End If
End If
End Sub

Private Sub Command4_Click()


DataEnvironment1.rsPelanggan.MoveLast
End Sub

4. Jalankan program dengan menekan tombol Run atau F5

Penjelasan Kode Program


Kode program yang baru saja anda tulis berfungsi untuk menelusuri isi dari recordset yang
dibawa oleh DataEnvironment.

ƒ Tombol pertama, Command1, berfungsi untuk menampilkan record paling awal (pertama)
dari recordset. Hal ini dimungkinkan dari perintah

DataEnvironment1.rsPelanggan.MoveFirst

Event MoveFirst pada kode program berfungsi untuk membawa kursor pada record pertama
pada recordset.
ƒ Begitu pula halnya dengan tombol Command4, yang berfungsi untuk menampilkan record
paling akhir menggunakan event MoveLast.
ƒ Tombol Command2 berfungsi untuk membawa kursor pada record sebelumnya dari posisi
record yang ditampilkan di layar. Di sini anda harus memberi struktur kontrol pencabangan
If untuk menghindari munculnya pesan error. Dengan menggunakan perintah

If DataEnvironment1.rsPelanggan.BOF Then

maka ketika recordset sudah mencapai posisi pertama (BOF, Beginning of File, yaitu
properti DataEnvironment yang mengindikasikan apakah posisi record sudah sampai di awal
record atau belum) anda dapat menghindari pesan error dengan membuat pesan sendiri
menggunakan perintah MsgBox.
ƒ Hal yang sama dilakukan pada Command3 yang berfungsi membawa kursor pada record
paling akhir (EOF adalah kebalikan dari BOF).

Berikutnya kita akan membuat kode program untuk empat tombol di bagian bawah. Tutup
program jika masih berjalan.

Agar recordset dapat dimanipulasi (dapat dilakukan perintah Add, Update, Delete), terlebih
dahulu lakukan langkah berikut ini:

1. Kembali ke jendela DataEnvironment. Klik kanan Pelanggan dan pilih Properties hingga
muncul jendela Properties untuk command Pelanggan.
2. Pilih tab Advanced.
3. Pada pilihan Lock Type pilih 3-Optimistic. Perintah ini berfungsi untuk memungkinkan
dilakukannya manipulasi pada recordset. Tekan OK

42
Pelatihan Database Programming – UPK Fisika ITB – 2003

Parameter Lock berfungsi untuk menentukan penguncian pada recordset yang sedang
diakses. Dalam pemrograman database menggunakan VB, ada 4 jenis Lock yang dapat anda
pilih

Nilai Penjelasan
Read-only Recordset dibuka hanya untuk dibaca. Digunakan untuk mencegah
perubahan pada data

Pessimistic Provider data melakukan apa yang perlu untuk menjamin


penyuntingan pada record, biasanya dengan mengunci record pada
Data Source sesegera mungkin sewaktu penyuntingan

Optimistic Record hanya dikunci apabila metode Update dipanggil

Optimistic batch updates Dibutuhkan untuk batch update sebagai lawan dari immediate
update.

4. Terakhir, ketikkan kode program berikut ini pada jendela View Code

Private Sub Command5_Click()


DataEnvironment1.rsPelanggan.AddNew
End Sub

Private Sub Command6_Click()


DataEnvironment1.rsPelanggan.Update
End Sub

Private Sub Command7_Click()


DataEnvironment1.rsPelanggan.Delete
End Sub

43
Pelatihan Database Programming – UPK Fisika ITB – 2003

Private Sub Command8_Click()


DataEnvironment1.rsPelanggan.Requery
End Sub

5. Jalankan program dengan menekan tombol Run atau F5.

Penjelasan Kode Program


Perintah pada kode program berfungsi untuk memanipulasi data. Melalui event yang anda
tuliskan pada properti rsPelanggan anda dapat segera mengetahui fungsi dari masing-masing
event.

Event Fungsi
AddNew Menambahkan/menyisipkan baris kosong ke dalam recordset agar dapat diisi
dengan record yang baru

Update Mengupdate (menyimpan recordset ke tabel di database)

Delete Menghapus recordset

Requery Mengulangi query recordset (refresh)

Jika sudah selesai:


ƒ simpan form dengan nama frmPelanggan.frm
ƒ simpan DataEnvironment1 dengan nama DataPelanggan
ƒ simpan program dengan nama Pelanggan.vbp pada folder Pelanggan

Melihat Daftar Pesanan Pelanggan


Pada aplikasi berikut ini kita akan menggunakan DataEnvironment untuk merelasikan dua buah
tabe. Ikuti langkah berikut ini:

1. Mulai dengan Data Project yang baru dan buat koneksi ke Northwind sebagaimana halnya
telah diterangkan pada aplikasi sebelumnya.
2. Ganti properti Name pada DataEnvironment1 menjadi DataEnvironment2. Ganti nama form
menjadi frmPesanan.
3. Tambahkan objek Command baru dan buka properties-nya.

44
Pelatihan Database Programming – UPK Fisika ITB – 2003

Nama perusahaan tersimpan pada tabel Customers, maka pilih Table sebagai Database
Object dan Customers (dbo.Customers) sebagai Object Name. Beri nama Pelanggan pada
Command Name.
Untuk setiap customer, kita ingin menampilkan ivoice-nya. Karena itu kita harus mendisain
objek Command yang lain. Objek Command yang baru ini adalah ‘anak’ dari Command1.
Artinya, setiap kali Command1 diposisikan ke sebuah customer, Command anak akan berisi
invoice dari customer tersebut.

4. Pada DataEnvironment, klik kanan Command1 dan pilih Child Command


5. Pada jendela Properties dari Command2, tentukan Table sebagai Database Object dan
Orders sebagai Object Name. Beri nama Pesanan pada Command Name
6. Karena Pesanan adalah perintah anak, kita harus menghubungkannya dengan perintah
‘ibu’-nya. Klik tab relation dan pilih Pelanggan sebagai Parent Command.
7. Sekarang anda harus menentukan relasinya. Tabel Customers dan Orders memiliki dua field
yang sama yaitu CustomerID. Ini adalah koneksi antara kedua command itu. Pilih
CustomerID pada Parent Fields dan Child Fields/Parameter lalu klik Add. Relasinya akan
muncul pada kotak di bagian bawah sebagai CustomerID TO CustomerID.
8. Tekan OK untuk menyelesaikan.

Berikutnya kita akan menampilkan nilai subtotal dari sebuah order. Nilai ini sudah
tersimpan dalam sebuah View (stored procedure pada SQL Server). Untuk menampilkannya,
kita set perintah untuk ini sebagai anak dari command Pesanan.

9. Kembali ke jendela DataEnvironment, dan tambahkan Command anak untuk command


Pesanan.
10. Pada properties anak tersebut, pilih View sebagai Database Object dan Order Subtotals
sebagai Object Name. Tentukan Command Name-nya sebagai Subtotal.
11. Pada tab Relation, pilih Pesanan sebagai Parent Command dan pilih field OrderID di bagian
Relation Definition dan tekan Add.

45
Pelatihan Database Programming – UPK Fisika ITB – 2003

Kita telah membuat hirarki perintah dengan menghubungkan total invoice dengan jumlah
invoice dari customers. Sekarang kita harus menentukan nilai totalnya. Nilai total biasanya
ditentukan dari perintah anak. Ikuti langkah berikut ini:

1. Pada properties command Pesanan, pilih tab Aggregates.


2. Tambahkan sebuah aggregate baru dengan menekan tombol Add.
3. Tentukan Aggregate Settings sebagai berikut: Order Total sebagai Name, Sum sebagai
Function, SubTotal sebagai Aggregate On dan Subtotal sebagai Field. Perhatikan gambar di
bawah ini

4. Tekan OK untuk menyelesaikan.

Berikutnya kita harus menentukan aggregate untuk command Pelanggan. Ikuti langkah berikut
ini:

1. Buka properties Pelanggan dan pilih tab Aggregates


2. Tambahkan sebuah aggregate baru dengan menekan tombol Add.
3. Tentukan Aggregate Settings sebagai berikut: TotalOrders sebagai Name, Count untuk
Function, Pesanan untuk Aggregate On dan OrderID untuk Field.

Terakhir, kita harus menghitung jumlah invoice yang dikeluarkan untuk masing-masing
pelanggan. Untuk itu tambahkan aggregate baru pada tempat yang sama dengan Aggregate
Settings sebagai berikut: CustomerTotal sebagai Name, Sum sebagai Function, Pesanan
sebagai Aggregate On dan OrderTotal sebagai Field. Kemudian tekan OK

46
Pelatihan Database Programming – UPK Fisika ITB – 2003

Jika proses yang anda lakukan benar, maka pada jendela DataEnvironment anda akan melihat
hirarki untuk objek comand Pelanggan adalah sebagai berikut.

Berikutnya, kita akan menampilkan hirarki ini di layar dalam bentuk tabel hirarki menggunakan
MSHFlexGrid. Ikuti langkah berikut ini:

1. Tampilkan Form1 dan pilih komponen MSHFlexGrid dari toolbox

47
Pelatihan Database Programming – UPK Fisika ITB – 2003

2. Pilih DataEnvironment2 dari daftar properti DataSource, dan pilih Pelanggan dari properti
DataMember. Grid akan terikat pada recordset hirarkial yang diberikan oleh
DataEnvironment2.
3. Klik kanan MSHFlexGrid dan pilih Retrieve Structure. Seluruh field yang terdaftar pada
DataEnvironment1 akan ditambahkan pada grid sebagai header. Anda tidak akan melihat isi
dari setiap field, karenanya kita harus menentukan field apa yang akan tampil pada kolom-
kolom pada grid dan dengan cara bagaimana,
4. Klik kanan MSHFlexGrid dan pilih Properties untuk menampilkan jendela properti
MSHFlexGrid dan pilih tab Bands.

Tab Bands berisi informasi mengenai band kontrol dan field yang muncul di masing-masing band.
Band adalah bagian dari kontrol yang berhubungan dengan objek command. Band pertama
berhubungan dengan command Pelanggan, dan band berikutnya berhubungan dengan anak
command tersebut. Di bagian bawah anda dapat melihat daftar field dari objek Pelanggan.

5. Pilih field yang ingin anda tampilkan: CompanyName, TotalOrders dan CustomerTotal.
6. Pilih Band 1 (Pesanan) dan pilih kolom OrderID, OrderDate dan OrderTotal
7. Pilih Band 2 (SubTotal) dan pilih kolom SubTotal.

Sekarang MSHFlexGrid sudah dapat menampilkan isi dari masing-masing field. Sebelum program
dijalankan, tambahkan kode program berikut ini agar grid dapat berubah ukurannya sesuai
dengan besarnya jendela program

Private Sub Form_Resize()


MSHFlexGrid1.Top = 100
MSHFlexGrid1.Left = 100
MSHFlexGrid1.Width = frmPesanan.Width - 250
MSHFlexGrid1.Height = frmPesanan.Height - 500
End Sub

8. Tekan F5 untuk menjalankan program. Hasilnya akan terlihat seperti pada gambar berikut.

48
Pelatihan Database Programming – UPK Fisika ITB – 2003

Pada Grid ini anda dapat menekan tombol [-] untuk menutup (collapse) baris atau [+] untuk
membuka baris.

Jika sudah selesai:


ƒ simpan form dengan nama frmPesanan.frm
ƒ simpan DataEnvironment dengan nama DataPesanan
ƒ simpan program dengan nama PelangganOrder.vbp pada folder Pesanan

Mencetak Laporan
Berikutnya kita akan menggunakan disainer yang kedua, yaitu DataReport Designer yang
berfungsi untuk meng-generate laporan. Ikuti langkah berikut ini:

1. Klik dua kali pada Data Report Designer di Project Explorer hingga jendela Data Report
ditampilkan di layar.
2. Untuk menghubungkan DataReport dengan objek command Pelanggan, pilih
DataEnvironment2 pada DataSource dan Pelanggan pada DataMember di DataReport
properties.
3. Klik kanan DataReport dan pilih Retrieve Structure. Akan muncul pertanyaan untuk
merubah layout. Klik Yes. Anda akan mendapati DataReport memiliki layout sebagaimana
ditampilkan pada gambar berikut ini

49
Pelatihan Database Programming – UPK Fisika ITB – 2003

Sekarang kita harus menentukan isi dan format laporan. Untuk itu ikuti langkah berikut ini:

1. Hilangkan jarak yang dialokasikan untuk grup dengan cara menyeret bagian bawah masing-
masing grup untuk grup-grup berikut ini: Detail (SubTotal_Detail), dan grup-grup
dibawahnya.
2. Sekarang kita akan menambahkan nomor halaman pada laporan kita. Klik kanan area
dibawah Page Header dan pilih Insert Control, kemudian pilih Current Page Number.
3. Pada Toolbox di sebelah kanan, pilih tab DataReport untuk menampilkan komponen-
komponen yang bisa digunakan dalam DataReport.
4. Klik dua kali pada komponen Label dan tentukan properti caption-nya menjadi “Halaman
ke-“.
5. Ambil data yang ingin ditampilkan dari DataEnvironment1 dengan cara menyeretnya dari
jendela DataEnvironment1 ke dalam DataReport.
6. Pertama, seret CompanyName dari command Pelanggan ke Group Header
(Pelanggan_Header). Ubah ukuran font-nya menjadi Verdana Bold 12 melalui jendela
properties. Ganti caption “Company Name” di label sebelah kiri menjadi “Nama
Perusahaan”.
7. Kemudian seret TotalOrders dari command Pelanggan ke Group Header
(Pelanggan_Header). Ubah font-nya menjadi Verdana Bold 10.
8. Seret CustomerTotal dari command Pelanggan ke area yang sama dan ubah font-nya
menjadi Verdana Bold 10. Ganti caption “Customers Total:” di label sebelah kiri menjadi
“Jumlah Pembelian:”.
9. Masih di area grup yang sama, klik dua kali komponen label. Beri caption OrderID. Lakukan
hal yang sama untuk label Total Order. Sesuaikan font-nya.

50
Pelatihan Database Programming – UPK Fisika ITB – 2003

10. Terakhir, seret dari command Pesanan OrderID dan OrderTotal ke Group Header
(Pesanan_Header). Hilangkan pasangan sebelah kiri untuk masing-masing command dan
atur posisinya. Hasil akhir dari layout dapat anda lihat pada gambar berikut ini.

Berikutnya, tambahkan tombol pada Form untuk menampilkan jendela laporan pencetakan.
Letakkan di bawah MSHFlexGrid dan beri caption “Cetak”.

Kode program yang sudah kita tulis sebelumnya harus kita ubah sedikit agar tombol dapat
diletakkan di posisi yang benar. PERIKSA DULU kode program yang lama, lalu ubah sesuai
dengan kode program berikut ini

Private Sub Form_Resize()


MSHFlexGrid1.Top = 100
MSHFlexGrid1.Left = 100
MSHFlexGrid1.Width = frmPesanan.Width - 250
MSHFlexGrid1.Height = frmPesanan.Height - 1000
Command1.Left = 100
Command1.Top = MSHFlexGrid1.Height + 150
End Sub

Kemudian tambahkan kode program untuk tombol tersebut

Private Sub Command1_Click()


DataReport1.Show
End Sub

Jalankan program dengan menekan F5.

Jika proses yang anda lakukan sesuai dengan yang dicontohkan, jika tombol Cetak di-klik, akan
tampil di layar print preview seperti berikut:

51
Pelatihan Database Programming – UPK Fisika ITB – 2003

Anda dapat menekan tombol Print untuk mencetak, atau tombol Export untuk menyimpan
laporan ke dalam format lainnya.

Jika sudah selesai, simpan program.

Menyatukan program
Sekarang kita ingin agar program-program yang telah kita buat ditampilkan dalam program
tersendiri. Disini kita harus menggunakan Multiple Document Interface (MDI). Untuk itu ikuti
langkah berikut ini:

1. Buat proyek baru Standard EXE.


2. Tambahkan Form baru melalui menu Project Æ Add MDI Form.
3. Pada form MDIForm1, tambahkan menu dengan menekan tombol menu editor
pada toolbar hingga muncul jendela Menu Editor.

52
Pelatihan Database Programming – UPK Fisika ITB – 2003

4. Tambahkan menu baru dengan Caption: Daftar Pelanggan, Name: mnuPelanggan.


5. Klik Next.
6. Tambahkan menu kedua dengan Caption: Daftar Pesanan, Name: mnuPesanan.
7. Klik OK.
8. Pada properti MDIChild, pilih WindowState menjadi 2-Maximized.

Setelah membuat menu, sekarang kita harus memanggil objek-objek yang dibutuhkan untuk
program kita ini.

1. Tambahkan file frmPelanggan dan file DataPelanggan dari folder proyek Pelanggan dengan
cara memilih menu Project Æ Add File.
2. Tentukan properti MDIChild menjadi True untuk frmDataEnv.
3. Ulangi langkah 1 dan 2 untuk file frmPesanan, file DataPesanan dan file DataReport dari
folder proyek Pesanan.
4. Tuliskan kode program berikut ini pada jendela View Code

Private Sub mnuPelanggan_Click()


frmDataEnv.Show
End Sub

Private Sub mnuPesanan_Click()


frmPesanan.Show
End Sub

5. Sekarang anda harus menetapkan MDI Form ini sebagai Startup Form. Untuk itu pilih menu
Project Æ Project1 Properties. Pada kotak dialog Project Properties atur startup object-
nya menjadi MDIForm1. (Anda juga bisa menghapus Form1 jika diinginkan).
6. Jalankan program dengan menekan F5.
7. Jika sudah selesai, simpan semua file ke dalam folder Data Environment Project.

53
Pelatihan Database Programming – UPK Fisika ITB – 2003

VI Kontrol Data ADO (ADO Data Control)

Recordset adalah dasar dari pemrograman database. Dengan menggunakan data control user
dapat mengambil dan menampilkan recordset pada aplikasi yang dibuatnya. Menggunakan
tombol yang ada pada data control, user dapat berpindah di antara records dari recordset.
Menekan tombol paling kiri akan menampilkan record paling awal, dan menekan tombol di
sebelahnya akan menampilkan record yang sebelumnya. Menekan tombol paling kanan akan
menampilkan record paling akhir, dan menekan tombol di sebelahnya akan menampilkan record
berikutnya.

Cara paling mudah untuk menggunakan ADO pada proyek anda adalah dengan menambahkan
ADODC ke dalam form. Untuk menggunakan ADODC dalam proyek Standard EXE, anda harus
menambahkan komponen ini ke dalam toolbox dengan langkah sebagai berikut:

1. Klik kanan Toolbox, kemudian pilih Components.


2. Pada jendela Components pilih Microsoft ADO Data Control 6.0 (OLEDB) dengan mengecek
kotak isian. Tekan OK
3. Perhatikan di Toolbox sekarang anda dapat melihat bahwa komponen ADODC sudah
ditambahkan di dalamnya.

Di bagian ini kita akan membuat beberapa aplikasi menggunakan ADO Data Control

54
Pelatihan Database Programming – UPK Fisika ITB – 2003

Aplikasi 1
Aplikasi ini akan menampilkan data pelanggan menggunakan ADODC. Ikuti langkah berikut ini:

1. Buat project baru dengan Standard EXE


2. Tambahkan ADO Data Control ke dalam toolbox
3. Susun pada form komponen-komponen seperti pada gambar berikut ini:

Textbox
Label

ADO Data Control

4. Klik kanan ADODC, pilih ADODC Properties hingga muncul jendela properti ADODC
5. Pada tab General, pilih Use ODBC Data Source Name, pada daftar yang tersedia pilih
Northwind (nama data source yang telah anda buat waktu yang lalu).

55
Pelatihan Database Programming – UPK Fisika ITB – 2003

Pada tab General, anda dapat menentukan sumber koneksi database menggunakan
ƒ Data Link File
Disini anda dapat menggunakan file udl. Dengan menekan tombol Browse, anda dapat
mencari lokasi file udl yang anda perlukan
ƒ ODBC Data Source
Disini anda dapat menggunakan data source yang harus dibuat terlebih dahulu lewat ODBC
pada Control Panel
ƒ Connection String
Disini anda dapat membuat aturan koneksi sendiri dengan menekan tombol Build. Pada saat
tombol tersebut ditekan, akan ditampilkan jendela data link yang sama dengan pada saat
anda membuat file udl.

6. Pilih tab RecordSource


7. Pada pilihan Command Type, pilih adCmdTable. Ini adalah jenis dari RecordSource.
8. Pada list dibawahnya akan muncul daftar tabel yang ada pada database. Pilih tabel
Customers.
9. Tekan OK untuk kembali ke form.
10. Tentukan properti untuk masing-masing komponen yang telah anda pasang pada form
berikut ini:

Komponen Properti Nilai


Label1 Caption Nama Perusahaan
Label2 Caption Kontak
Label3 Caption Jabatan
Text1 DataSource Adodc1
DataField CompanyName
Text2 DataSource Adodc1
DataField ContactName
Text3 DataSource Adodc1
DataField ContactTitle

11. Untuk menampilkan jumlah record yang ada pada recordset, tambahkan kode program
berikut pada jendela View Code

Private Sub Form_Load()


Adodc1.Caption = "Jumlah record: " & Adodc1.Recordset.RecordCount
End Sub

12. Jalankan program dengan menekan F5.

Pada program yang baru anda buat, anda dapat menelusuri (browsing) seluruh record pada
recordset dengan menekan tombol pada ADODC.

Sekarang kita akan menambahkan komponen lain ke dalam aplikasi. Yang akan ditambahkan
adalah komponen data-bound List. Ikuti langkah berikut ini:

1. Tambahkan komponen Microsoft Data List Controls 6.0 (OLEDB) dari jendela Components
(caranya lihat halaman 54).
2. Pasang komponen DataList pada Form

Pada komponen ini kita akan menampilkan nama perusahaan. Kemudian, akan kita connect
komponen ini pada ADODC sehingga setiap nama perusahaan dipilih dari daftar tersebut,
textbox akan menampilkan data pada field lain dari record yang sama.

3. Tentukan properti dari DataList berikut ini

56
Pelatihan Database Programming – UPK Fisika ITB – 2003

Properti Nilai
RowSource Adodc1
ListField CompanyName
BoundColumn CustomerID

4. Tambahkan kode program berikut ini agar pada saat list dipilih field dapat menampilkan
nilai yang sesuai

Private Sub DataList1_Click()


Adodc1.Recordset.Bookmark = DataList1.SelectedItem
End Sub

5. Jalankan program dengan menekan F5

Penjelasan kode program


ƒ Perintah

Adodc1.Caption = "Jumlah record: " & Adodc1.Recordset.RecordCount

berfungsi untuk menampilkan caption dari ADODC (Adodc1.Caption) yaitu (=) kalimat /
string "Jumlah record: " digabungkan dengan perintah yang mengembalikan jumlah
record pada recordset dari ADODC (Adodc1.Recordset.RecordCount) menggunakan
operator penggabungan string &

ƒ Properti Bookmark pada perintah

Adodc1.Recordset.Bookmark = DataList1.SelectedItem

berfungsi untuk mengidentifikasi baris pada RecordSource. Dengan mengeset properti ini
berdasarkan suatu nilai, yaitu item yang dipilih pada list (DataList1.SelectedItem),
maka data control akan dipaksa untuk menampilkan baris yang sesuai.

Jika sudah selesai, simpan project.

57
Pelatihan Database Programming – UPK Fisika ITB – 2003

Aplikasi 2
Pada aplikasi ini kita akan menggunakan pernyataan SQL pada ADODC. Ikuti langkah berikut:

1. Buka project baru Standard EXE


2. Tambahkan komponen ADODC dan Data List pada toolbox, kemudian susun komponen-
komponen pada form seperti pada gambar berikut ini:

Label

Text DataList control


ADODC

3. Klik kanan ADODC, pilih ADODC Properties.


4. Pada jendela properti ADODC, pilih tab General dan pilih Use ODBC Data Source Name
Northwind
5. Pada tab RecordSource, set adCmdUnknown pada pilihan CommandType
6. Pada kotak isian Command Text (SQL), tuliskan query berikut ini

SELECT ProductName, CategoryName, QuantityPerUnit, UnitPrice, UnitsInStock


FROM Products
LEFT JOIN Categories ON Products.CategoryID = Categories.CategoryID
ORDER BY ProductName

(PERHATIKAN: anda tidak dapat melakukan pindah baris pada kotak isian tersebut sebagaimana
halnya query SQL ditampilkan di atas.)

7. Tentukan properti dari masing-masing komponen pada form berikut ini:

Komponen Properti Nilai


Text1 DataSource Adodc1
DataField ProductName
Text2 DataSource Adodc1
DataField CategoryName
Text3 DataSource Adodc1
DataField QuantityPerUnit
Text4 DataSource Adodc1
DataField UnitPrice
Text5 DataSource Adodc1
DataField UnitsInStock
DataList1 RowSource Adodc1
ListField ProductName
BoundColumn ProductName

58
Pelatihan Database Programming – UPK Fisika ITB – 2003

8. Tuliskan kode program berikut ini pada View Code

Private Sub DataList1_Click()


Adodc1.Recordset.Bookmark = DataList1.SelectedItem
End Sub

9. Jalankan program dengan menekan F5. Hasilnya akan mirip seperti gambar di bawah ini

Aplikasi 3
Pada aplikasi ini kita akan membuat aplikasi yang dapat mencari dan menyaring (melakukan
filter) pada sebuah recordset. Untuk aplikasi ini kita akan menggunakan database Pubs. Untuk
membuatnya, ikuti langkah berikut ini:

1. Buka project baru StandardEXE, tambahkan komponen ADODC dan Data Grid
controls pada toolbox
2. Susun form seperti gambar berikut ini

Label
Command

DataGrid

ADODC

3. Klik kanan ADODC, pilih ADODC Properties


4. Pada tab General pilih Use Connection String. Klik Build

59
Pelatihan Database Programming – UPK Fisika ITB – 2003

5. Buatlah sebuah koneksi ke database Pubs pada SQL Server (ikuti petunjuk pembuatan
connection string sebagaimana halnya membuat koneksi di file udl)
6. Pada tab RecordSource, pilih adCmdUnknown pada CommandType
7. Tuliskan query berikut ini pada kotak isian Command Text (SQL)

SELECT title, au_lname, au_fname


FROM titles
LEFT JOIN titleauthor ON titleauthor.title_id=titles.title_id
LEFT JOIN authors ON authors.au_id=titleauthor.au_id

8. Atur properti DataSource pada DataGrid dengan nilai Adodc1


9. Klik kanan DataGrid dan pilih Retrieve Fields. Jika muncul kotak dialog pertanyaan, tekan
Yes untuk menampilkan daftar field yang dihasilkan query.
10. Klik dua kali komponen Command1 dan tuliskan kode program berikut ini:

Private Sub Command1_Click()


Adodc1.Recordset.Find ("Title LIKE '%" & Text1.Text & "%'")
End Sub

11. Jalankan prorgam dengan menekan tombol F5

Penjelasan kode program


Aplikasi yang baru saja anda buat menggunakan fasilitas Find (pencarian) dari ADODC
(Adodc1.Recordset.Find). ADODC menghasilkan recordset yang berisi judul buku beserta
nama pengarangnya. Perintah

Adodc1.Recordset.Find ("Title LIKE '%" & Text1.Text & "%'")

akan memindahkan cursor pada record yang memenuhi syarat, yaitu nilai yang anda masukkan
ke dalam kotak isian Text1 ("Title LIKE '%" & Text1.Text & "%'")

60
Pelatihan Database Programming – UPK Fisika ITB – 2003

VII Pemrograman Active Data Objects

Anda sudah mempelajari bagaimana menampilkan dan memanipulasi data lewat komponen-
komponen ADO. Sekarang saatnya untuk menggunakan ADO itu sendiri melalui kode program.
Walaupun lebih rumit dibandingkan dengan menggunakan ADODC maupun Data Environment,
pemrograman ADO dapat memberikan hasil yang lebih fleksibel pada program yang anda buat.

Untuk mengerti bagaimana pemrograman ADO, ada baiknya kalau anda memahami sekilas
dasar-dasar ADO.

ADO Object Model


Objek ADO sudah diterangkan sekilas di awal, berikut adalah penjelasan lebih terperinci dari
masing-masing objek.

Connection
Ini adalah objek paling tinggi dan merepresentasikan koneksi ke sumber data (datasource).
Secara normal, anda menciptakan koneksi ke sumber data dan mengeluarkan command
terhadap objek connection untuk menerima record yang diinginkan dari database atau
mengupdate database. Tetapi, anda mungkin saja untuk menciptakan connection pada saat
melakukan request objek recordset. Objek Connection adalah persamaan dari objek connection
pada DataEnvironment ActiveX Designer.

Command
Objek ini merepresentasikan pernyataan SQL yang dapat diproses oleh Data Source. Objek
command mungkin tidak dapat menampilkan hasil apapun atau menampilkan recordset dari
record yang di-request. Untuk meng-set up objek command, anda harus menentukan
pernyataan SQL dan parameternya (jika diperlukan). Parameter tersebut ditambahkan pada
Parameters Collection dari objek command.

RecordSet
Objek ini menangani hasil dari eksekusi objek command pada database. RecordSet dapat
diciptakan dengan hanya menentukan connection string untuk Data Source ke metode Open
dari RecordSet.

Menggunakan Active Data Objects


Untuk menggunakan Active Data Objects pada aplikasi yang anda buat, anda harus
menambahkan reference pada ADO Object library dengan cara berikut ini:

1. Buka menu Project


2. Pilih References untuk menampilkan jendela References
3. Cek kotak Microsoft ActiveX Data Objects 2.n Library (n menunjukkan angka versi dari ADO,
mungkin berbeda-beda di setiap komputer)

Setelah ADO Library ditambahkan ke project, anda dapat melihat objek-objek yang ada di
dalamnya dan anggota-anggotanya dengan Object Browsers (tekan tombol F2 untuk
menampilkannya).

61
Pelatihan Database Programming – UPK Fisika ITB – 2003

62
Pelatihan Database Programming – UPK Fisika ITB – 2003

Untuk memahami penggunaan ADO, kita akan langsung menggunakannya dalam beberapa
aplikasi.

Aplikasi 1
Aplikasi ini akan menampilkan daftar Customers pada negara yang dipilih dari combo box. Ikuti
langkah berikut ini:

1. Buka project baru StandardEXE


2. Tambahkan ADO pada refernce (lihat halaman 61).
3. Atur form dengan komponen sesuai dengan gambar berikut ini

Command Combobox

Listbox

4. Buka View Code dan tuliskan kode berikut ini

Dim CN As New ADODB.Connection


Dim RS As New ADODB.Recordset

Di sini anda menuliskan perintah untuk mendeklarasikan variabel connection dan recordset
Berikutnya, anda harus membuka koneksi pada saat aplikasi dijalankan, untuk itu, tambahkan
kode program berikut untuk event Load Form

Private Sub Form_Load()


ConnString = "Provider=MSDASQL.1;Persist Security Info=False;Data
Source=Northwind"
CN.ConnectionString = ConnString
CN.Open
cmdString = "SELECT DISTINCT Country FROM Customers ORDER BY Country"
RS.CursorType = adOpenDynamic
RS.CursorLocation = adUseServer
RS.Open cmdString, CN
While Not RS.EOF
If Not IsNull(RS.Fields("Country")) Then Combo1.AddItem RS.Fields("Country")
RS.MoveNext
Wend
Combo1.ListIndex = 0
If RS.State = adStateOpen Then
RS.Close
End If
cmdString = "SELECT * FROM Customers ORDER BY Country"

63
Pelatihan Database Programming – UPK Fisika ITB – 2003

RS.CursorType = adOpenDynamic
RS.CursorLocation = adUseServer
RS.Open cmdString, CN
End Sub

Penjelasan kode program

ConnString = "Provider=MSDASQL.1;Persist Security Info=False;Data


Source=Northwind"

Variabel ConnString berisi connection string, yaitu argumen yang berisi string yang menentukan
parameter dari suatu koneksi
ƒ Provider, menentukan tipe database provider yang akan anda hubungkan
ƒ Persist Security Info, menentukan apakah informasi pengamanan (password dan login)
diperlukan
ƒ Data Source, menentukan nama data source pada ODBC

CN.ConnectionString = ConnString

Di sini anda harus menentukan bahwa connection string dari command CN adalah variabel
ConnString

CN.Open

Buka connection

cmdString = "SELECT DISTINCT Country FROM Customers ORDER BY Country"

Variabel cmdString adalah pernyataan SQL yang akan di-request ke database

RS.CursorType = adOpenDynamic

Di sini anda menentukan tipe cursor dari recordset RS.


Cursor adalah informasi yang mendasari recordset. Sebuah recordset adalah representasi dari
record yang dipilih, yang menyederhanakan manipulasi record. Sebagai programmer, anda
melihat tabel dari record, setiap baris terdiri dari field-field. ADO tidak melihat tabel. ADO
melihat cursor, yang biasanya berisi informasi yang memungkinkan cursor untuk menampilkan
record pada aplikasi sebagai baris-baris fields. Ada empat jenis cursor:

ƒ adOpenDynamic, yaitu recordset selalu disesuaikan dengan record pada database. Cursor
ini memungkinkan user untuk menampilkan penambahan, perubahan dan penghapusan yang
dilakukan user dan mendukung semua metode Move (MoveNext, MoveLast, dsb.)
ƒ adOpenKeySet, berlaku seperti dynamic, tetapi cursor ini mencegah user dari melihat
record yang ditambah atau dihapus user lain. Perubahan yang terjadi pada record yang
dipilih oleh user lain akan tetap terlihat. Cursor ini mendukung semua metode Move.
ƒ adOpenStatic, menyediakan duplikat statis dari record yang dipilih. Cursor ini mendukung
semua metode Move, tetapi semua perubahan yang dilakukan oleh user tidak dapat terlihat.
ƒ adOpenForwardOnly, sama dengan cursor dynamic tetapi cursor ini hanya memungkinkan
user untuk menampilkan record. Penggunaan cursor ini sangat baik jika anda hanya akan
membuat tampilan yang hanya dapat dibaca (read-only).

RS.CursorLocation = adUseServer

Di sini anda menentukan lokasi dari cursor. Cursor dapat dibuka pada dua lokasi, di Server
(adUseServer) atau di Client (adUseClient).

RS.Open cmdString, CN

64
Pelatihan Database Programming – UPK Fisika ITB – 2003

Buka recordset yang ada pada variabel cmdString dengan koneksi pada CN

While Not RS.EOF


If Not IsNull(RS.Fields("Country")) Then Combo1.AddItem RS.Fields("Country")
RS.MoveNext
Wend

Struktur kontrol perulangan While Not .. Wend yang berfungsi untuk mengisi komponen Combo1
dengan field Country dari recordset RS

If RS.State = adStateOpen Then


RS.Close
End If

Struktur kontrol pencabangan If .. Then .. Else yang akan memeriksa apakah recordset dalam
keadaan terbuka atau tertutup.

cmdString = "SELECT * FROM Customers ORDER BY Country"


RS.CursorType = adOpenDynamic
RS.CursorLocation = adUseServer
RS.Open cmdString, CN

Perintah ini akan menampilkan daftar customer yang diurutkan berdasarkan negaranya.

Berikutnya, tambahkan kode program untuk Command1, agar listbox menampilkan daftar
pelanggan sesuai dengan pilihan negara.

Private Sub Command1_Click()


country = Combo1.Text
List1.Clear
If Combo1.Text = "" Then Exit Sub
RS.MoveFirst
RS.Find "Country='" & country & "'"
If RS.EOF Then
MsgBox "No record found"
Else
While RS.Fields("Country") = country
List1.AddItem RS.Fields("CompanyName")
RS.MoveNext
If RS.EOF Then Exit Sub
Wend
End If
End Sub

Penjelasan kode program

RS.MoveFirst

Cursor pada recordset RS dipindahkan ke awal

RS.Find "Country='" & country & "'"

Mencari recordset yang sesuai dengan variabel country, yaitu nilai yang dipilih pada combo box

If RS.EOF Then
MsgBox "No record found"

65
Pelatihan Database Programming – UPK Fisika ITB – 2003

Jika recordset langsung pergi ke akhir record ketika dilakukan pencarian (artinya tidak
ditemukan record yang sesuai), maka tampilkan pesan.

Else
While RS.Fields("Country") = country
List1.AddItem RS.Fields("CompanyName")
RS.MoveNext
If RS.EOF Then Exit Sub
Wend
End If

Jika record ditemukan, maka disini struktur kontrol perulangan While .. Wend digunakan untuk
menampilkan field CompanyName dari record yang memiliki field Country yang sesuai. Setiap
kali ditemukan suatu record, maka nilainya dimasukkan ke dalam list box (List1.AddItem
RS.Fields("CompanyName")). Kemudian cursor akan dipindahkan ke record berikutnya
(RS.MoveNext).

5. Jalankan program dengan menekan tombol F5


6. Simpan program jika sudah selesai.

Aplikasi 2
Pada aplikasi berikut ini, kita akan menggunakan objek ADO untuk memanipulasi recordset.
Sebelum membuat aplikasinya, buat terlebih dahulu Data Source (ODBC) untuk database Pubs.
Beri nama data source tersebut “Pubs” (anda tentunya sudah dapat membuat data source
ODBC, lihat halaman 30).

Berikutnya adalah membuat aplikasinya. Ikuti langkah berikut ini:

1. Buat project baru StandardEXE.


2. Tambahkan komponen Microsoft Common Dialog Control dan reference ADO Library.
3. Atur form sesuai dengan gambar berikut ini:

Label

Common
Dialog

Command

Image

66
Pelatihan Database Programming – UPK Fisika ITB – 2003

4. Tuliskan kode program berikut ini

Dim CN As New ADODB.Connection


Dim RS As New ADODB.Recordset

Private Sub Command1_Click()


RS.MoveFirst
End Sub

Private Sub Command2_Click()


RS.MovePrevious
If RS.BOF Then RS.MoveFirst
End Sub

Private Sub Command3_Click()


RS.MoveNext
If RS.EOF Then RS.MoveLast
End Sub

Private Sub Command4_Click()


RS.MoveLast
End Sub

Private Sub Command5_Click()


RS.AddNew
End Sub

Private Sub Command6_Click()


RS.Update
End Sub

Private Sub Command7_Click()


RS.Delete
End Sub

Private Sub Command8_Click()


RS.Requery
End Sub

Private Sub Form_Load()


Set CN = New ADODB.Connection
CN.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Pubs"

Set RS = New ADODB.Recordset


RS.Open "SELECT publishers.pub_id, pub_name, city, country, logo " & _
"FROM publishers " & _
"LEFT JOIN pub_info " & _
"ON pub_info.pub_id=publishers.pub_id", _
CN, adOpenKeyset, adLockOptimistic

Set Text1.DataSource = RS
Text1.DataField = "pub_id"
Set Text2.DataSource = RS
Text2.DataField = "pub_name"
Set Text3.DataSource = RS
Text3.DataField = "city"
Set Text4.DataSource = RS
Text4.DataField = "country"
Set Image1.DataSource = RS
Image1.DataField = "logo"

End Sub

67
Pelatihan Database Programming – UPK Fisika ITB – 2003

Private Sub Image1_DblClick()


On Error GoTo salah
CommonDialog1.DialogTitle = "Ambil gambar"
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
Exit Sub
salah:
MsgBox "Gambar tidak ada"
Exit Sub
End Sub

Penjelasan kode program


ƒ Kode program untuk Command sudah kita bahas sebelumnya, berfungsi untuk menavigasi
recordset (Command1 – Command4) dan memanipulasi recordset (Command5 – Command8).
ƒ Penjelasan kode program untuk event Load Form adalah sebagai berikut

Set CN = New ADODB.Connection


CN.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=Pubs"

Perintah di atas berfungsi untuk membuka koneksi ke data source Pubs di ODBC

Set RS = New ADODB.Recordset


RS.Open "SELECT publishers.pub_id, pub_name, city, country, logo " & _
"FROM publishers " & _
"LEFT JOIN pub_info " & _
"ON pub_info.pub_id=publishers.pub_id", _
CN, adOpenKeyset, adLockOptimistic

Perintah di atas berfungsi untuk membuka recordset dengan pernyataan SQL “SELECT
publishers.pub_id, pub_name, city, country, logo FROM publishers LEFT JOIN
pub_info ON pub_info.pub_id=publishers.pub_id” pada koneksi CN. Cursor dibuka dengan
tipe adOpenKeyset dan tipe lock-nya adalah adLockOptimistic. Perintah di atas sama dengan
menuliskan perintah seperti ini:

RS.Open “SELECT publishers.pub_id, pub_name, city, country, logo FROM


publishers LEFT JOIN pub_info ON pub_info.pub_id=publishers.pub_id”, CN
RS.CursorType = adOpenKeyset
RS.LockType = adLockOptimistic

Setelah menentukan connection, command dan recordset, kita harus mengikat (bounding)
komponen-komponen untuk menampilkan isi dari recordset.

Set Text1.DataSource = RS
Text1.DataField = "pub_id"
Set Text2.DataSource = RS
Text2.DataField = "pub_name"
Set Text3.DataSource = RS
Text3.DataField = "city"
Set Text4.DataSource = RS
Text4.DataField = "country"
Set Image1.DataSource = RS
Image1.DataField = "logo"

Perintah di atas berfungsi untuk mengikat (bounding) Text1 hingga Text4 dan Image1 agar
menampilkan nilai sesuai dengan field yang ditentukan pada properti DataField-nya.

CommonDialog1.DialogTitle = "Ambil gambar"


CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)

68
Pelatihan Database Programming – UPK Fisika ITB – 2003

Perintah di atas berfungsi untuk menampilkan gambar yang diambil dari file pada Image1 pada
saat Image1 di klik dua kali.

5. Jalankan program dengan menekan tombol F5


6. Simpan project jika sudah selesai.

Aplikasi 3
Aplikasi berikut ini menunjukkan penggunaan MSHFlexGrid, pengurutan data dan pencarian
data. Disini kita akan menggunakan file udl sebagai sumber data.

Buatlah terlebih dahulu file udl pada direktori C:\ dengan nama “pubs.udl” sebagai koneksi ke
database Pubs di SQL Server.

Ikuti langkah pembuatan aplikasinya berikut ini:

1. Buka project baru StandardEXE.


2. Tambahkan komponen Microsoft Hierarchial FlexGrid Control 6.0 (OLEDB).
3. Tambahkan reference ADO Library.
4. Atur form seperti gambar berikut ini

MSHFlexGrid

Command2
Command1
Label

Command3

Text1 Text2

Text4 Text3 Command4


Checkbox

Nilai dari properti masing-masing komponen adalah sebagai berikut

Komponen Properti Nilai


MSHFlexGrid Name Msgrid
FixedCols 0
AllowUserResizing 1-flexResizeColumns
Text1 Name txtTgl
Text <kosongkan>

69
Pelatihan Database Programming – UPK Fisika ITB – 2003

Text2 Name txtCari


Text <kosongkan>
Text3 Name txtUrut
Text <kosongkan>
Text4 Name txtNotes
Text <kosongkan>
MultiLine True
Command1 Caption Buka Koneksi
Command2 Caption Tampilkan Semua
Enabled False
Command3 Caption Cari Judul
Enabled False
Command4 Caption Urutkan
Enabled False
Checkbox1 Name chUrut
Caption Terbalik

5. Tuliskan kode program berikut ini

Dim con As New ADODB.Connection


Dim rs As New ADODB.Recordset
Public strsql As String

Private Sub Command1_Click()


Set con = New ADODB.Connection
con.ConnectionString = "FILE NAME=C:\pubs.udl"
con.Open
strsql = "select title_id, title, type, price from titles"
Command2.Enabled = True
msgrid.Enabled = True
End Sub

Private Sub Command2_Click()


Set rs = New ADODB.Recordset
rs.Open strsql, con, adOpenForwardOnly, adLockReadOnly
Set msgrid.DataSource = rs
rs.Close
Set rs = Nothing
Command3.Enabled = True
Command4.Enabled = True
End Sub

Private Sub Command3_Click()


If txtCari.Text <> "" Then
msgrid.Clear
Set rs = con.Execute(strsql & " WHERE title LIKE '%" & _
txtCari.Text & "%'")
Set msgrid.DataSource = rs
rs.Close
txtCari.Text = ""
End If
End Sub

Private Sub Command4_Click()


If txtUrut.Text <> "" Then
msgrid.Clear
On Error GoTo salah
If chUrut.Value = Checked Then
Set rs = con.Execute(strsql & " ORDER BY " & txtUrut.Text & " DESC")
Else

70
Pelatihan Database Programming – UPK Fisika ITB – 2003

Set rs = con.Execute(strsql & " ORDER BY " & txtUrut.Text & "")
End If
Set msgrid.DataSource = rs
rs.Close
txtUrut.Text = ""
Exit Sub
salah:
MsgBox "Tidak ada kolom " & txtUrut.Text
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)


con.Close
Set con = Nothing
End Sub

Private Sub msgrid_Click()


Dim pil As Long
Dim a As String
pil = msgrid.RowSel
a = msgrid.TextMatrix(pil, 0)
Set rs = con.Execute("select notes,pubdate from titles where title_id='" & a &
"'")
On Error Resume Next
txtTgl.Text = rs.Fields("pubdate")
txtNotes.Text = rs.Fields("notes")
rs.Close
End Sub

Penjelasan kode program


ƒ Di sini kita menggunakan file udl sebagai sumber data, oleh karena itu, connection string
untuk ADO connection menggunakan string berikut ini:

con.ConnectionString = "FILE NAME=C:\pubs.udl"


con.Open

Perintah tersebut akan dijalankan pada saat tombol Command1 ditekan.

ƒ Berikutnya adalah perintah untuk mengambil data, yang dilakukan pada saat tombol
Command2 ditekan

Set rs = New ADODB.Recordset


rs.Open strsql, con, adOpenForwardOnly, adLockReadOnly
Set msgrid.DataSource = rs

Perintah di atas akan membuka pernyataan SQL yang disimpan pada variabel strsql dan
mengikatnya pada komponen msgrid

ƒ Untuk mencari data pada recordset, kita gunakan pernyataan SQL untuk mencari data
berdasarkan kriteria tertentu, menggunakan klausa WHERE pada recordset

If txtCari.Text <> "" Then


msgrid.Clear
Set rs = con.Execute(strsql & " WHERE title LIKE '%" & _
txtCari.Text & "%'")
Set msgrid.DataSource = rs
rs.Close
txtCari.Text = ""
End If

71
Pelatihan Database Programming – UPK Fisika ITB – 2003

Pada perintah di atas, pernyataan set rs = con.Execute(.. berfungsi untuk


mengeksekusi pernyataan SQL pada properti Execute dari objek connection, dimana
hasilnya langsung ditugaskan pada recordset rs.

ƒ Berikutnya adalah kode program untuk mengurutkan data berdasarkan field tertentu. Kita
gunakan klausa ORDER BY pada recordset

If txtUrut.Text <> "" Then


msgrid.Clear
On Error GoTo salah
If chUrut.Value = Checked Then
Set rs = con.Execute(strsql & " ORDER BY " & txtUrut.Text & " DESC")
Else
Set rs = con.Execute(strsql & " ORDER BY " & txtUrut.Text & "")
End If
Set msgrid.DataSource = rs

Perintah ini akan dijalankan sesuai dengan nilai yang dimasukkan pada textbox txtUrut.
Jika checkbox chUrut dipilih, maka urutan akan terbalik (DESC)

ƒ Kita tambahkan perintah berikut ini untuk event Klik grid

Dim pil As Long


Dim a As String
pil = msgrid.RowSel
a = msgrid.TextMatrix(pil, 0)
Set rs = con.Execute("select notes,pubdate from titles where title_id='" & a
& "'")
On Error Resume Next
txtTgl.Text = rs.Fields("pubdate")
txtNotes.Text = rs.Fields("notes")

agar pada saat suatu baris pada grid dipilih / di-klik, textbox txtTgl dan txtNotes akan
menampilkan field Pubdate dan Notes dari record yang dipilih tersebut.

ƒ Perhatikan pada setiap prosedur Sub, anda akan melihat pernyataan rs.Close. Pernyataan
ini berfungsi untuk menutup recordset setelah digunakan agar dapat dibuka kembali di
prosedur yang lain. Hal ini dilakukan karena kita menggunakan variabel yang sama, yaitu rs,
sebagai variabel penyimpan objek recordset.

6. Jalankan program dengan menekan F5


7. Simpan project

72
Pelatihan Database Programming – UPK Fisika ITB – 2003

Melakukan Kompilasi (Compile) dan Paket Instalasi

Kompilasi
Visual Basic adalah aplikasi pembuat program yang merupakan interpreter. Artinya, pada saat
suatu program di-run (dengan menekan tombol F5), program yang anda buat belum di-compile
(belum dibuatkan executed file-nya). Untuk membuat executed file (EXE) pada VB, anda harus
menggunakan menu File Æ Make <nama project>.exe...

Pada saat anda memilih menu ini, akan muncul jendela Make Project dan anda akan diminta
untuk menentukan lokasi penyimpanan executed file tersebut. Melalui jendela Make Project itu
pula anda dapat mengatur properti dari project yang hendak anda buat. Perhatikan gambar
berikut ini

Pada jendela project properti anda dapat mengatur properti:


ƒ Nama project
ƒ Icon yang akan digunakan untuk file anda
ƒ Versi program
ƒ Infromasi versi program

Paket Instalasi
Setelah anda mendapatkan file EXE, anda dapat menjalankan program yang anda buat di VB
tanpa harus masuk terlebih dahulu ke dalam program VB dengan menjalankan file EXE tersebut.
Tetapi jika anda hendak menjalankan program di komputer lain yang tidak terinstal program VB,
anda harus membuat terlebih dahulu paket instalasinya.

Hal ini harus dilakukan karena program EXE yang anda buat membutuhkan file-file pendukung
yang dinamakan library file. File ini berisi data-data mengenai komponen-komponen yang anda

73
Pelatihan Database Programming – UPK Fisika ITB – 2003

gunakan di dalam program anda. Karena kita tidak tahu secara persis dimana letak file library
yang berisi data mengenai suatu komponen, maka disediakanlah fasilitas paket.

Fasilitas ini berfungsi untuk membuatkan sebuah paket instalasi yang terdiri dari file EXE, file
library serta file lain yang dibutuhkan oleh program yang anda buat. Jika paket sudah selesai
dibuat, anda dapat menggunakan paket instalasi ini untuk diinstal di komputer yang tidak
terinstal program VB.

Langkah pembuatan paket instalasi adalah sebagai berikut:

1. Pilih Start Æ Programs Æ Microsoft Visual Basic Æ Microsoft Visual Basic Tools Æ Package
and Deployment Wizard. Maka akan muncul jendela Package and Deployment Wizard
seperti gambar berikut ini.

2. Pilih file project (*.vbp) yang ingin anda buat paket instalasinya, kemudian tekan tombol
Package. Tunggu sebentar pada saat wizard mendata seluruh file yang tergabung dalam
project.
3. Pada jendela Package Type pilih Standard Setup Package pada pilihan Package type, lalu
tekan Next.
4. Tentukan direktori paket. Setelah selesai tekan Next. Jika direktori belum ada, wizard
akan bertanya apakah direktori tersebut akan dibuat terlebih dahulu. Tekan Yes.
5. Akan muncul kotak dialog yang menunjukkan Missing Dependency Information. Biarkan
kosong pada kotak cek, tekan OK.
6. Berikutnya wizard akan mengkonfirmasi file-file yang akan disertakan pada paket instalasi.
Anda dapat menambah atau mengurangi file di tahapan ini. Tekan Next jika sudah selesai.
7. Berikutnya anda akan diminta untuk menentukan apakah paket instalasi ini tergabung
dalam satu file besar atau dipisah-pisah dengan ukuran tertentu. Pada pilihan Cab options,
anda dapat membuat paket dalam satu file (single cab) maupun banyak file (multiple cab).
Pilih single cab lalu tekan Next.

74
Pelatihan Database Programming – UPK Fisika ITB – 2003

8. Selanjutnya anda diminta untuk memberi judul pada paket instalasi. Beri nama yang sesuai
dengan program yang anda buat lalu tekan Next.
9. Selanjutnya anda diminta untuk menentukan lokasi start menu program yang anda buat.
Tekan Next jika setuju dengan setting yang diberikan oleh wizard.
10. Berikutnya anda akan diminta untuk menentukan lokasi instalasi file. Jangan ubah lokasi
yang telah diberikan oleh wizard jika anda tidak yakin dengan penggunaan file tersebut.
Klik Next untuk melanjutkan.
11. Pada jendela Shared Files anda akan diminta untuk menentukan apakah sebuah file akan
dipakai oleh program lain atau tidak. Jika ya, cek file yang ingin di-share. Jika tidak,
biarkan kosong dan tekan Next.
12. Terakhir, anda diminta untuk memberi nama pada langkah-langkah yang baru saja anda
kerjakan. Tekan Finish untuk menyelesaikan.
13. Tunggu sebentar ketika wizard membuatkan paket instalasi untuk anda.
14. Setelah selesai, wizard akan menampilkan laporan pembuatan paket instalasi. Anda dapat
menyimpan informasi ini jika perlu. Klik Close untuk menutupnya.
15. Klik Close jika sudah selesai membuat paket instalasi.

Sekarang perhatikan direktori dimana anda menyimpan paket ini. Di sana akan ada file-file
yang termasuk ke dalam package.

75
Pelatihan Database Programming – UPK Fisika ITB – 2003

Jika anda hendak menginstal program yang anda buat pada komputer lain yang tidak terinstal
VB, anda harus meng-copy seluruh isi direktori Package. Untuk menginstal program tersebut,
tinggal klik file Setup.exe dan ikuti petunjuk instalasi.

Setting Database
Pengaturan koneksi database mungkin berbeda-beda untuk setiap komputer, terutama nama
server yang digunakan. Pada saat anda membuat paket instalasi, tidak terdapat pengaturan
koneksi database. Untuk itu anda harus membuat kembali konfigurasi koneksi database yang
sesuai dengan program yang anda buat.
ƒ Menggunakan file data link
Jika anda menggunakan file data link (*.udl), anda dapat menyertakan file udl tersebut ke
dalam paket. Ketika aplikasi diinstal pada komputer, file udl tersebut akan ada di direktori
instalasi yang anda pilih. Disini anda dapat mengkonfigurasi ulang koneksi database pada
file udl.
ƒ Menggunakan ODBC Data Source
Jika anda menggunakan ODBC Data Source, anda harus membuat kembali data source
dengan nama yang sama pada komputer yang anda instal. Langkah pembuatannya sama
dengan pembuatan data source pada saat anda mengembangkan aplikasi di komputer anda.

Kontak

Jika anda membutuhkan bantuan lebih lanjut dalam pemrograman VB dengan MS SQL Server
(atau dengan database lainnya) anda dapat menghubungi penulis pada alamat berikut ini

Houari Sabirin
[email protected]

76

Anda mungkin juga menyukai