Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
MODUL 4 Pemrograman ADO.NET : Disconnected Environtment TUJUAN : Mahasiswa mampu memahami dan menerapkan penggunaan sintak disconnected pada database, pada materi ini membahas koneksi secara terus-menerus ke database dengan menggunakan object connection, dataadapter dan dataset. Materi : Connection DataAdapter Dan Dataset Manipulasi Data Referensi : Deitel, 2002, Visual Basic .Net How To Program , Prentice Hall, New Jersey.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 52
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Aplikasi Tidak Terkoneksi Merupakan sebuah desain aplikasi yang melakukan pengambilan seluruh data dari database dan disimpan pada database lokal. Dengan demikian, transaksi yang terjadi dapat dilakukan secara lokal dan ditransfer ke database dalam bentuk batch. Umumnya aplikasi semacam ini digunakan untuk aplikasi-aplikasi mobile/Web Based. Karena ada penggunaan database lokal, aplikasi tidak terkoneksi membutuhkan penyimpanan data lokal berupa DataSet. Salah satu cara untuk membuat DataSet adalah dengan mempopulasikan data melalui SqlDataAdapter.
DataAdapter
DataTable/Dataset
(Query, Connection)
Database
Gambar 1. DataAdapter Pada Gambar 1 dapat dijelaskan bahwa melalui DataAdapter, data dapat dipopulasi untuk kemudian ditampung kedalam DataTable atau DataSet.
4.1 Object Connection Baik menggunakan disconnected maupun connected object Connection tetap dipakai, karena digunakan untuk membuka koneksi ke database.
4.2 DataAdapter Seperti yang terlihat pada Kode dibawah ini bahwa aplikasi tidak terkoneksi masih membutuhkan obyek koneksi (dalam hal ini adalah OracleConnection), sama seperti aplikasi terkoneksi. Perbedaannya adalah untuk aplikasi terkoneksi, setiap terjadi transaksi selalu melakukan cn.Open() dan cn.Close(). Sedangkan untuk aplikasi tidak terkoneksi, setiap terjadi transaksi tidak perlu melakukan cn.Open() dan cn.Close(). Untuk lebih jelasnya, buatlah tampilan seperti gambar dibawah ini :
Object DataGridView
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 53
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Masukkan sintak berikut ini kedalam kode anda : Imports System.Data.OracleClient Public Class mdl4 Dim cn As New OracleConnection Dim da As New OracleDataAdapter Dim ds As New DataSet Sub koneksi() cn = New OracleConnection("Data Source=orcl;Persist Security Info=True;User ID=hr;Unicode=True;password=hr;") End Sub Private Sub mdl4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load koneksi() da = New OracleDataAdapter("select no, satuan from tblsatuan", cn) da.Fill(ds, "xxx") DataGridView1.DataSource = ds.Tables("xxx").DefaultView End Sub End Class
Hasil ketika anda jalankan kode diatas adalah :
Seperti yang telah disebutkan sebelumnya bahwa kekuatan aplikasi database terletak pada query, maka dalam aplikasi tidak terkoneksi masih dibutuhkan query sebagai bahasa native dalam database. Query ini nantinya menjadi salah satu parameter dalam pembangunan OracleDataAdapter. Dari contoh, pada pembangunan OracleDataAdapter, dibutuhkan dua parameter yaitu query dan koneksi, sama seperti OracleCommand. Perbedaannya adalah OracleCommand membutuhkan ExecuteReader (dan sejenisnya) sedangkan OracleDataAdapter membutuhkan metode Fill yang sekaligus berfungsi untuk menampung hasil query kedalam DataSet. Dalam kode diatas terdapat “xxx”, “xxx” ini berfungsi untuk memberikan nama kepada Dataset sehingga semua hasil dari query table akan ditampung terlebih dahulu di variable “xxx”, kemudian akan ditampilkan pada Object DataGridView1. Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 54
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
4.3 Manipulasi Data Dalam sub bab ini menjelaskan tentang bagaimana cara memasukkan data ke dalam table TblSatuan yang sudah pernah anda buat pada pertemuan ke 3, dengan menggunakan sintak disconnected. buatlah tampilan seperti dibawah ini, untuk memasukkan data kedalam tblSatuan :
Sintak pada form load sama seperti diatas.
Double klik pada object button simpan, dan masukkan kode berikut ini : Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click da = New OracleDataAdapter("insert into tblsatuan values ('" & no.Text & "','" & Satuan.Text & "')", cn) da.Fill(ds, "xxx") MsgBox("data berhasil disimpan") ds.Clear() da = New OracleDataAdapter("select no, satuan from tblsatuan", cn) da.Fill(ds, "xxx") DataGridView1.DataSource = ds.Tables("xxx").DefaultView End Sub
hasil untuk sintak diatas adalah
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 55
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Latihan 1.
2.
Buatlah tampilan form seperti berikut ini :
untuk object Textbox yang ke 1 Setting Properties => Name = no; Font = 10Pt; untuk object Textbox yang ke 2 Setting Properties => Name = satuan; Font = 10Pt; untuk object Button yang ke 1 Setting Properties => Name = btnSimpan; Font = 10Pt; untuk object Button yang ke 2 Setting Properties => Name = btnUbah; Font = 10Pt; untuk object Button yang ke 3 Setting Properties => Name = btnHapus; Font = 10Pt; untuk object DataGridView Setting Properties => Name = DataGridView1; Font = 10Pt; Masukkan sintak untuk update dan delete (Sintak insert sudah anda lakukan pada sub bab 4.3 diatas), sebagai berikut :
Sintak untuk update data, double klik pada button update :
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 56
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Private Sub btnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUbah.Click da = New OracleDataAdapter("update tblsatuan set satuan='" & Satuan.Text & "' where no='" & no.Text & "'", cn) da.Fill(ds, "xxx") MsgBox("data berhasil diubah") ds.Clear() da = New OracleDataAdapter("select no, satuan from tblsatuan", cn) da.Fill(ds, "xxx") DataGridView1.DataSource = ds.Tables("xxx").DefaultView End Sub
Sintak untuk Hapus data, double klik pada button Hapus : Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click da = New OracleDataAdapter("delete tblsatuan where no='" & no.Text & "'", cn) da.Fill(ds, "xxx") MsgBox("data berhasil dihapus") ds.Clear() da = New OracleDataAdapter("select no, satuan from tblsatuan", cn) da.Fill(ds, "xxx") DataGridView1.DataSource = ds.Tables("xxx").DefaultView End Sub
3.
tambahkan sintak berikut ini untuk membuat auto number, setelah melakukan insert, update dan delete. tambahkan dibawah kode DataGridView1.DataSource
da = New OracleDataAdapter("select max(to_number(no))+1 from tblsatuan", cn) da.Fill(ds, "xx1") no.Text = ds.Tables("xx1").Rows(0).Item(0).ToString 4.
Sehingga sintak pada insert adalah sebagai berikut :
Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click da = New OracleDataAdapter("insert into tblsatuan values ('" & no.Text & "','" & Satuan.Text & "')", cn) da.Fill(ds, "xxx") MsgBox("data berhasil disimpan") ds.Clear() da = New OracleDataAdapter("select no, satuan from tblsatuan", cn) da.Fill(ds, "xxx") DataGridView1.DataSource = ds.Tables("xxx").DefaultView no.Text = "" Satuan.Text = "" da = New OracleDataAdapter("select max(to_number(no))+1 from tblsatuan", cn) da.Fill(ds, "xx1") no.Text = ds.Tables("xx1").Rows(0).Item(0).ToString End Sub
5.
Lakukan hal yang sama seperti poin 4 untuk update dan delete.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 57
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Pekerjaan Rumah (PR) & Catatan Tugas : 1. Ubahlah sintak pada latihan 3, menjadi sintak disconnected dan tampilan object listview diganti menjadi object datagridview. 2. Gunakan table TblBarang 3. Lakukan asistensi dan ttd asisten lab anda sebelum praktikum modul dimulai.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 58
Modul Pemrograman Desktop
Created by : Team Dosen P.Desktop
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR
Halaman 59