Modul 3 Pemrograman Desktop
Modul 3 Pemrograman Desktop
Desktop
MODUL 3
Pemrograman ADO.NET : Connected Environtment
TUJUAN :
Mahasiswa mampu memahami dan menerapkan penggunaan sintak connected pada database, pada materi
ini membahas koneksi secara terus-menerus ke database dengan menggunakan object connection, command
dan datareader.
Materi :
Connection
Command
DataReader
Referensi :
Deitel, 2002, Visual Basic .Net How To Program , Prentice Hall, New Jersey.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 34
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
ADO.NET
ADO.NET component adalah komponen dasar dari membangun aplikasi terintegrasi dengan database
pada visual basic.net/ visual studio dan komponen ini menyediakan class yang memungkinkan programmer
untuk menghubungkan ke database sebagai penyimpanan, melakukan umpan balik (dari database ke aplikasi),
memanipulasi dan memperbaruhi/mengubah data.
Pada bab ini, anda mempelajari koneksi dari aplikasi ke database, menjalankan/eksekusi SQL
Statement, umpan balik, dan mengubah data di database. ADO kepanjangan dari AxtiveX Data Object, di
dalam ADO.NET terdapat komponen data provider, data provider ini yang memungkinkan anda berintegrasi
dengan komponen-komponen database, seperti Open DataBase Connectivity (ODBC), Object Linking and
Embedding DataBase (OLE DB), SQL Server databases, dan Oracle databases. Contoh penggunaan data
provider dalam code :
ODBC
Imports System.Data.Odbc
OLE DB
Imports System.Data.OleDb
SQL SERVER
Imports System.Data.SqlClient
ORACLE
Imports System.Data.OracleClient
Dalam modul ini anda akan menggunakan data provider miliknya ORACLE karena database yang akan
digunakan adalah ORACLE, berikut ini Arsitektur ADO.NET :
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 35
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
3.1 Connection
OracleConnection adalah fasilitas yang dapat digunakan oleh programmer agar dapat berkomunikasi dengan
server/database oracle, koneksi dibutuhkan untuk mengirimkan request (command) dan menerima respon
(resultset).
a. ConnectionString
ConnectionString digunakan untuk mendefinisikan parameter-parameter yang dibutuhkan oleh
OracleConnection untuk membuat koneksi kedalam database ORACLE. Parameter tersebut meliputi :
Data Source=Nama Oracle Instance atau nama database yang anda gunakan atau bisa juga disebut
alamat dari server/alamat IP.
Persist Security Info=digunakan untuk apabila anda memasukkan username dan password database
secara spesifik, secara default bernilai TRUE.
User ID = digunakan untuk memasukkan username dari database
Contoh penerapan koneksi tanpa melalui tnsnames.ora adalah sebagai berikut :
Imports System.Data.OracleClient
End Sub
End Class
Imports System.Data.OracleClient
End Sub
End Class
Alamat TNSNAMES.ORA terdapat pada drive komputer hasil installer Oracle, contohnya adalah sebagai berikut
ini = D:\oracle\product\10.2.0\db_1\network\ADMIN\tnsnames.ora
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 36
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Imports System.Data.OracleClient
End Sub
End Class
Method close digunakan diawal untuk menanggulangi apabila ada lebih dari satu form yang menggunakan
koneksi ke database, sehingga ketika setiap form melakukan koneksi maka yang terjadi adalah koneksi akan di
Close() terlebih dahulu kemudian di Open() lagi, agar mengurangi crash pada aplikasi.
Atau anda bisa menggunakan model koneksi seperti berikut ini :
Imports System.Data.OracleClient
Sub koneksi()
conn.Close()
conn = New OracleConnection("data source=(DESCRIPTION = " & _
"(ADDRESS = (PROTOCOL = TCP)(HOST = agungtama-PC)(PORT = 1521)) " & _
"(CONNECT_DATA = " & _
"(SERVER = DEDICATED) " & _
"(SERVICE_NAME = orcl) " & _
") " & _
"); user id=hr; password=hr;")
conn.Open()
End Sub
End Class
Sub koneksi() digunakan untuk mempersingkat code, sehingga tampilan pada form_load akan lebih sedikit, 1
koneksi untuk banyak form.
Berikut ini adalah langkah-langkah yang dilakukan untuk koneksi ke database oracle :
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 37
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 38
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
6. Buka file tnsnames.ora dengan notepad atau editor teks yang lain.
7. Buat sebuah prosedure yang digunakan sebagai tempat koneksi, beri nama koneksi. Paste alamat yang
terdapat pada file tnsnames.ora pada connectionString.
Lakukan pengujian kesuksesan koneksi antara form dengan database, dengan cara klik F5 atau tekan tombol
Debug .
Atau anda bisa menggunakan
a. langkah 1-4 sama
b. langkah berikutnya adalah, arahkan kursor mouse ke server explorer kemudian tekan tombol
sehingga muncul dialog box, tekan change pada data source, maka akan muncul dialog box change
data source, dan pilih Oracle Database.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 39
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
c. setelah itu tekan OK, masukkan server name=instance name, username untuk instance name, dan
password untuk instance name pada database oracle, setelah itu tekan tombol Test Connection maka
tampilannya adalah sebagai berikut :
d. apabila sudah maka pada server explorer akan muncul data seperti berikut ini.
e. Kemudian klik kanan pada orcl.HR pilih properties, kemudian akan muncul properties box pada sisi
kanan, dan copy pada connection string, seperti gambar dibawah ini :
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 40
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
b. create table dengan nama table tblbarang, tbljenis_barang dan tblsatuan, dengan sintak seperti dibawah
ini :
table tblbarang :
create table TblBarang
(
Kode_Barang varchar2(50) not null,
Nama_Barang varchar2(50),
Jenis varchar2(50),
Satuan varchar2(50),
Harga_Beli integer,
Harga_Jual integer,
Stock integer,
CONSTRAINT pk_Barang primary key (Kode_Barang)
);
table tblsatuan :
create table TblSatuan
(
No integer,
Satuan varchar2(50)
);
table tbljenis_barang
create table TblJenis_Barang
(
No integer,
Jenis varchar2(50)
);
3.2 Command
Object Command digunakan untuk mengirimkan data query ke dalam database, baik query untuk
menampilkan data (SELECT) atau query untuk memanipulasi data (INSERT, UPDATE, DELETE), berikut ini
contoh penggunaan object command pada oracleCommand.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 41
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Imports System.Data.OracleClient
Sub koneksi()
conn.Close()
conn = New OracleConnection("data source=(DESCRIPTION = " & _
"(ADDRESS = (PROTOCOL = TCP)(HOST = agungtama-PC)(PORT = 1521)) " & _
"(CONNECT_DATA = " & _
"(SERVER = DEDICATED) " & _
"(SERVICE_NAME = orcl) " & _
") " & _
"); user id=hr; password=hr;")
conn.Open()
End Sub
3.3 DataReader
Method datareader digunakan untuk membaca data (SELECT) dari database setelah dikirimkan oleh object
command, method datareader ini berhubungan dengan object OracleCommand. Berikut ini contoh
penggunaan code dari object OracleCommand dan Object method datareader :
Imports System.Data.OracleClient
'''''''koneksi''''''''
Dim nomer, satuan As String
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
koneksi()
cmd = New OracleCommand("select no, satuan from tblbarang", conn)
dr = cmd.ExecuteReader()
If dr.HasRows = True Then
While dr.Read = True
nomer = dr.Item(0)
satuan = dr.Item(1)
End While
dr.Close()
End If
dr.Close()
cmd.Dispose()
End Sub
End Class
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 42
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
dr.HasRows=true dapat diartikan bahwa sintak tersebut digunakan untuk mengecek apakah ada data di table
yang akan ditampilkan, dr.read=True digunakan untuk membaca data, dr.Item(0) digunakan untuk
menampilkan data ke 0 atau kolom no pada object command, dst. method dr.close() untuk menutup sesi dari
datareader dalam membaca data, dan cmd.dispose() untuk menutup sesi object command sehingga object
command dapat digunakan untuk sesi lainnya tanpa terjadi crash.
3.4 ExecuteNonQuery
Method ExecuteNonQuery digunakan untuk mengaktifkan sintak yang dapat memanipulasi data (INSERT,
UPDATE, DELETE) dari database setelah dikirimkan oleh object command, Method ExecuteNonQuery ini
berhubungan dengan object OracleCommand. Berikut ini contoh penggunaan code dari object
OracleCommand dan method ExecuteNonQuery:
Imports System.Data.OracleClient
End Class
Atau
Imports System.Data.OracleClient
End Class
Latihan
1. Buatlah tampilan seperti berikut ini :
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 43
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
1 1
2 2 B
3 3
A
4
1 3 2 4
C
Keterangan Gambar :
Blok A :
untuk object Textbox yang ke 1 Setting Properties => Name = kdBrg; TabIndex = 0; Font = 10Pt;
untuk object Textbox yang ke 2 Setting Properties => Name = nmBrg; TabIndex = 1; Font = 10Pt;
untuk object Textbox yang ke 3 Setting Properties => Name = jns; TabIndex = 2; Font = 10Pt;
untuk object Textbox yang ke 1 Setting Properties => Name = satuan; TabIndex = 3; Font = 10Pt;
Blok B :
untuk object NumericUpDown yang ke 1 Setting Properties => Name = HB; TabIndex = 4; Font = 10Pt;
maximum=10000000;
untuk object NumericUpDown yang ke 2 Setting Properties => Name = HJ; TabIndex = 5; Font = 10Pt;
maximum=10000000;
untuk object NumericUpDown yang ke 3 Setting Properties => Name = stk; TabIndex = 6; Font = 10Pt;
maximum=10000;
Blok C :
untuk object Button yang ke 1 Setting Properties => Name = btnBr; TabIndex = 7; Font = 10Pt;
Text=Baru;
untuk object Button yang ke 2 Setting Properties => Name = btnSimpan; TabIndex = 8; Font = 10Pt;
Text=Simpan;
untuk object Button yang ke 3 Setting Properties => Name = btnUbah; TabIndex =9; Font = 10Pt;
Text=Ubah;
untuk object Button yang ke 4 Setting Properties => Name = btnHps; TabIndex = 10; Font = 10Pt;
Text=Hapus;
Blok D :
untuk object Listview Setting Properties => Name = ListView1; TabIndex = 11; Font = 10Pt; View = Details;
FullRowSelect = True;
Columns :
Columns 1 : Text = Kode Barang; width = 120; Columns 5 : Text = Beli; width = 100;
Columns 2 : Text = Nama Barang; width = 220; Columns 6 : Text = Jual; width = 100;
Columns 3 : Text = Jenis; width = 100; Columns 7 : Text = Stok; width = 100;
Columns 4 : Text = Satuan; width = 100;
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 44
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
2. Lakukan Imports, dan add reference untuk data oracle (sintak import dan add reference seperti diatas)
3. lakukan inisialisasi variable untuk connection, command dan datareader.
4. buat sub untuk koneksi.
5. dalam form load, panggil sub koneksi dengan cara koneksi()
6. berikut ini tampilan imports, inisialisasi, sub koneksi dan penggunaan koneksi dalam form load.
7. dalam form_load dibawah koneksi()masukkan sintak untuk menampilkan data pada listview, seperti
berikut ini :
Private Sub modul3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
koneksi()
ListView1.Items.Clear()
8. Double klik pada button baru di design form, button ini berfungsi untuk membersihkan inputan pada
textbox dan NumericUpDown.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 45
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
9. Double klik pada button simpan di design form, button ini berfungsi untuk memasukkan data ke table
tblbarang di Database.
Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles btnSimpan.Click
'''''digunakan untuk sintak DML, untuk button ini digunakan untuk insert data
cmd = New OracleCommand("insert into tblbarang values ('" & kdBrg.Text & "','" &
nmBrg.Text & "'," & _
"'" & jns.Text & "','" & satuan.Text & "'," & HB.Value & "," & HJ.Value & "," &
stk.Value & ")", conn)
cmd.ExecuteNonQuery()
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 46
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
10. Double klik pada button ubah di design form, button ini berfungsi untuk mengubah data ke table
tblbarang di Database berdasarkan primary key di table.
'''''digunakan untuk sintak DML, untuk button ini digunakan untuk update data
cmd = New OracleCommand("update tblbarang set nama_barang='" & nmBrg.Text & "'," & _
"jenis='" & jns.Text & "',satuan='" & satuan.Text & "',harga_beli=" & HB.Value &
",harga_jual=" & HJ.Value & ",stock=" & stk.Value & " where kode_barang='" & kdBrg.Text
& "'", conn)
cmd.ExecuteNonQuery()
11. Double klik pada button hapus di design form, button ini berfungsi untuk menghapus data ke table
tblbarang di Database berdasarkan primary key di table.
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 47
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 48
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 49
Modul Pemrograman Desktop Created by : Team Dosen P.Desktop
Jurusan Sistem Informasi, Fakultas Teknologi Industri, UPN “Veteran” JAWA TIMUR Halaman 50