VB - SQL Server using ADO Training Module

76
Pelatihan Database Programming – UPK Fisika ITB – 2003 1 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.

description

Training module of creating simple database application using Microsoft Visual Basic and SQL Server through ADO connectionWritten by Houari, 2003In Indonesian language

Transcript of VB - SQL Server using ADO Training Module

Page 1: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

1

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.

Page 2: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

2

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.

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.

IDPelanggan Nama

IDPembelian IDPelanggan

Pelanggan

Pembelian

Page 3: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

3

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

Page 4: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

4

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

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

Database Server

Internet

Script

HTML

Database

Komponen ActiveX

Client

Page 5: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

5

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

Page 6: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

6

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.

Page 7: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

7

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.

Page 8: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

8

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).

Page 9: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

9

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

Page 10: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

10

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

Page 11: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

11

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.

Page 12: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

12

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

Page 13: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

13

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.

Page 14: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

14

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.

Page 15: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

15

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

Page 16: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

16

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

Page 17: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

17

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 % _ (garis bawah) [] [^] [-]

Mencocokkan semua karakter Mencocokkan satu karakter Mencocokkan satu karakter dalam tanda kurung Mencocokkan setiap karakter yang tidak terdapat dalam tanda kurung Mencocokkan setiap karakter

program% akan mencari semua kata yang dimulai dengan program b_y akan mencari semua kata yang terdiri dari 3 huruf diawali dengan b dan diakhiri dengan y [YI]nez akan mencari kata Ynez atau Inez %q[^u]^ akan mencari kata yang mengandung karakter q tapi tidak diikuti oleh karakter u [a-c]% akan mencari semua kata yang

Page 18: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

18

#

pada range tertentu Mencocokkan satu karakter numerik

diawali dengan huruf a,b, atau c DI## akan mencari semua kata yang 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() SUM() AVG() MIN() MAX()

Mengembalikan banyaknya nilai pada kolom yang ditentukan Mengembalikan jumlah nilai pada kolom yang ditentukan Mengembalikan nilai rata-rata pada kolom yang ditentukan Mengembalikan nilai terkecil pada kolom yang ditentukan Mengembalikan nilai terbesar pada kolom yang ditentukan

Contohnya adalah sebagai berikut USE Northwind SELECT COUNT(CustomerID) FROM Customers WHERE Country = “Germany”

Page 19: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

19

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

Page 20: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

20

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

Page 21: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

21

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

Page 22: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

22

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)

Page 23: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

23

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

Page 24: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

24

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 ALTER TABLE DROP TABLE

Membuat tabel baru Mengubah struktur tabel 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

Page 25: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

25

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

Page 26: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

26

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.

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:

Aplikasi Visual Basic

Kontrol Data

Engine Database

DBMS

DB

Page 27: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

27

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

Page 28: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

28

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.

Page 29: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

29

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

Page 30: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

30

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.

Page 31: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

31

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

Page 32: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

32

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

Page 33: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

33

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.

Page 34: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

34

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.

Page 35: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

35

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

Page 36: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

36

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.

Page 37: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

37

Page 38: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

38

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.

Page 39: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

39

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

Page 40: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

40

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 Command2 Command3 Command4 Command5

Caption Caption Caption Caption Caption

<< Awal < Sebelumnya Berikutnya > Akhir >> Tambah

Page 41: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

41

Command6 Command7 Command8

Caption Caption Caption

Update Hapus 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

Page 42: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

42

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

Page 43: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

43

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 Pessimistic Optimistic Optimistic batch updates

Recordset dibuka hanya untuk dibaca. Digunakan untuk mencegah perubahan pada data Provider data melakukan apa yang perlu untuk menjamin penyuntingan pada record, biasanya dengan mengunci record pada Data Source sesegera mungkin sewaktu penyuntingan Record hanya dikunci apabila metode Update dipanggil 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

Page 44: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

44

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 Update Delete Requery

Menambahkan/menyisipkan baris kosong ke dalam recordset agar dapat diisi dengan record yang baru Mengupdate (menyimpan recordset ke tabel di database) Menghapus recordset 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.

Page 45: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

45

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.

Page 46: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

46

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

Page 47: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

47

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

Page 48: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

48

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.

Page 49: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

49

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

Page 50: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

50

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.

Page 51: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

51

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:

Page 52: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

52

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.

Page 53: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

53

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.

Page 54: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

54

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

Page 55: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

55

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:

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).

Label Textbox

ADO Data Control

Page 56: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

56

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 Label2 Label3 Text1 Text2 Text3

Caption Caption Caption DataSource DataField DataSource DataField DataSource DataField

Nama Perusahaan Kontak Jabatan Adodc1 CompanyName Adodc1 ContactName Adodc1 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

Page 57: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

57

Properti Nilai RowSource ListField BoundColumn

Adodc1 CompanyName 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.

Page 58: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

58

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:

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 Text2 Text3 Text4 Text5 DataList1

DataSource DataField DataSource DataField DataSource DataField DataSource DataField DataSource DataField RowSource ListField BoundColumn

Adodc1 ProductName Adodc1 CategoryName Adodc1 QuantityPerUnit Adodc1 UnitPrice Adodc1 UnitsInStock Adodc1 ProductName ProductName

Label

DataList control ADODC Text

Page 59: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

59

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

3. Klik kanan ADODC, pilih ADODC Properties 4. Pada tab General pilih Use Connection String. Klik Build

Label

DataGrid

Command

ADODC

Page 60: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

60

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 & "%'")

Page 61: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

61

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).

Page 62: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

62

Page 63: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

63

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

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"

Listbox

Command Combobox

Page 64: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

64

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

Page 65: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

65

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"

Page 66: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

66

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

Command

Common Dialog

Image

Page 67: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

67

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

Page 68: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

68

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)

Page 69: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

69

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

Nilai dari properti masing-masing komponen adalah sebagai berikut

Komponen Properti Nilai MSHFlexGrid Text1

Name FixedCols AllowUserResizing Name Text

Msgrid 0 1-flexResizeColumns txtTgl <kosongkan>

MSHFlexGrid

Command4

Label

Text4 Checkbox

Text1

Text3

Text2

Command1 Command2

Command3

Page 70: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

70

Text2 Text3 Text4 Command1 Command2 Command3 Command4 Checkbox1

Name Text Name Text Name Text MultiLine Caption Caption Enabled Caption Enabled Caption Enabled Name Caption

txtCari <kosongkan> txtUrut <kosongkan> txtNotes <kosongkan> True Buka Koneksi Tampilkan Semua False Cari Judul False Urutkan False chUrut 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

Page 71: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

71

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

Page 72: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

72

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

Page 73: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

73

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

Page 74: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

74

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.

Page 75: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

75

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.

Page 76: VB - SQL Server using ADO Training Module

Pelatihan Database Programming – UPK Fisika ITB – 2003

76

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]