Anda di halaman 1dari 68

ST-RK-1.

16-082-007/R-

Modul
Praktikum

Praktikan bisa mengerti tentang konsep ADO (ActiveX Data


Object) connection yang diterapkan pada pembuatan aplikasi
database,
dengan menggunakan bahasa pemrograman
Microsoft Visual Basic 6.0.

Praktikum Pemrograman Client Server

DAFTAR ISI
Daftar Isi .................................................................................................. 1
Petunjuk Umum ...................................................................................... 3
MODUL 1 ................................................................................................ 5
1.1. ADO.NET....................................................................................... 6
1.2. Koneksi........................................................................................... 6
1.3. Connected Database...................................................................... 8
SqlCommand ................................................................................ 9
ExecuteReader .............................................................................. 9
Latihan ................................................................................................ 11
MODUL 2 .............................................................................................. 13
2.1. ExecuteScalar ............................................................................... 14
2.2. ExecuteNonQuery ....................................................................... 14
Latihan ................................................................................................ 16
MODUL 3 .............................................................................................. 19
3.1. Proses Bisnis ................................................................................ 20
3.2. Design Table ................................................................................ 21
3.3. Design Program........................................................................... 22
Latihan ................................................................................................ 23
MODUL 4 .............................................................................................. 25
4.1. Disconnected Database ............................................................... 26
4.2. Dataset.......................................................................................... 26
4.3. Sorting dan Filtering pada Dataset ............................................ 27
Latihan ................................................................................................ 29
MODUL 5 .............................................................................................. 31
5.1. Penambahan Data (Insert Data) ................................................. 32
5.2. Penghapusan Data (Delete Data) ............................................... 33
5.3. Pengubahan Data (Update Data) ............................................... 34
5.4. Menyimpan perubahan pada database ..................................... 34
Latihan ................................................................................................ 36
MODUL 6 .............................................................................................. 39
6.1. Membuat sebuah report ............................................................. 40
6.2. Menampilkan Report dari Aplikasi Windows ......................... 42
Crystal Report Viewer ............................................................... 42
6.3. Memfilter Data ............................................................................ 44
6.4. Passing parameter ke report ...................................................... 45
Latihan ................................................................................................ 46
MODUL 7 .............................................................................................. 49
7.1. Formula Field .............................................................................. 50
Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


7.2. Group Name Field ...................................................................... 52
7.3. Running Total Field .................................................................... 53
Latihan ................................................................................................ 55
MODUL 8 ............................................................................................... 57
8.1. Web Service ................................................................................. 58
8.2. SOAP, WSDL dan UDDI ............................................................ 58
8.3. Membuat Web Service ................................................................ 60
8.4. Implementasi Web Service ......................................................... 62
8.5. Web Service di WWW ................................................................ 63
Latihan ................................................................................................ 65

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

Petunjuk Umum
Tools yang digunakan untuk praktikum Pemrograman Client Server
adalah Ms. Visual Studio 2005 dengan database SQL Server 2000
yang terletak di server.
Pada saat pertama kali membuat project, pilih Visual Basic Projects
dan Windows Application sebagai template. Untuk modul 7 web
service, gunakan ASP.NET Web Service sebagai template.
Simpan di local dulu, setelah selesai baru pindahkan project web
yang dibuat ke server masing-masing.

Penting:
Gunakan selalu MSDN Library sebelum bertanya ke asisten/koasisten apabila ada kesulitan.

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 1
ADO.NET
Respect yourself and others will respect you.
Confucius (551 BC - 479 BC)

Tujuan :
Praktikan dapat melakukan koneksi ke database SQL SERVER
Praktikan dapat mengantisipasi bila terjadi error pada saat
melakukan koneksi pada database SQL SERVER
Praktikan dapat menggunakan DataReader
Materi :
SqlConnection, SqlCommand, SqlDataReader
Referensi :
Visual Basic .NET How To Program Second Edition, Deitel
http://www.connectionstrings.com
http://authors.aspalliance.com/aspxtreme/sys/data/sqlclient/
SqlConnectionClass.aspx

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


1.1. ADO.NET
ADO merupakan singkatan dari AxtiveX Data Object yang dipakai
untuk mengakses data dalam suatu database seperti SQL Server, Ms
Access, Oracle ataupun file seperti file Ms Excel.
Di dalam teknologi .Net, ADO classsic berkembang menjadi
ADO.Net dengan beberapa perubahan seperti perubahan object
recordset dalam ADO menjadi beberapa object dalam ADO.Net dan
lainnya dapat dilihat seperti gambar berikut
xxxConnection
Connection
xXxTransaction
xxxCommand

Command

xXxDataReader
Recordset
xXxDataAdapter

1.2. Koneksi
Untuk membuat koneksi dengan sebuah database, hal penting yang
harus diperhatikan adalah ConnectionString, class inilah yang
akan dipakai untuk membuka suatu koneksi dengan database.
ConnectionString
Di dalam ConnectionString terdapat beberapa bagian penting yaitu:
a.

Product / Provider (hanya untuk OLE DB .Net Data Provider)


Merupakan produk database yang akan kita pakai. Di dalam
ADO .Net ada beberapa Data Provider, seperti :

SQL Server .Net Data Provider


Dipakai oleh SQL Server versi 6.5 keatas

OLEDB .Net Data Provider


Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Dipakai oleh SQL Server 6, Access, Excel dan data source
lainnya.
ODBC .Net Data Provider

Data Source yang memiliki driver ODBC


b.

Server Name / Data Source


Merupakan nama server/ komputer tempat database berada

c.

Database Name / Initial Catalog


Merupakan nama database yang akan dipakai

d.

Security
Bagian ini akan membedakan, apakah koneksi akan dilakukan
secara windows authentication atau secara user authentication,
jika security yang dipakai berupa WindowsAuthentication
maka user dan password tidak diisikan

e.

User
Merupakan user yang dapat mengakses database tertentu dalam
sebuah server

f.

Password
Merupakan password dari user yang dipakai

Setiap datasource akan memiliki connectionstring yang berbedabeda. Bisa anda lihat pada http://www.connectionstrings.com.
Hal terpenting yang harus anda ingat adalah Class SQL Server
.NET Data Provider berada pada namespace System.Data.SqlClient.
dan untuk menggunakan namespace ini anda harus import
namespace ini, yaitu dengan koding berikut:
Import System.Data.SqlClient
Ada empat buah object dasar yang akan dipakai yaitu:

Connections digunakan untuk koneksi dan mengatur


operasi dalam database.
Commands digunakan untuk melakukan eksekusi
perintah dalam database.
DataReaders digunakan unruk membaca data secara
langsung dalam database ke dalam sebuah stream.

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

DataSets dan DataAdapters Digunakan untuk


menyimpan dan memanipulasi data memori sementara
dalam penyimpanan data.

Setelah kita mengenal sedikit tentang object connection, sekarang


kita akan mencoba membuat suatu koneksi dengan kondisi sebagai
berikut:
Object
Product
Server Name
Database Name

Nilai
Microsoft SQL Server 2000
Web-Server
Northwind

Security

Windows Authentication

xConString =Initial Catalog=Northwind; &


_
Data Source=Web-Server;" & _
Integrated Security=SSPI;"
Dim xCon As New SqlConnection(xConString)
xCon.Open()
Dengan memahami penggunaan Properties dan Constructor kita
bisa membuat sebuah koneksi dengan cara sebagai berikut:
xConString =Initial Catalog=Northwind; &
_
Data Source=Web-Server;" & _
Integrated Security=SSPI;"
Dim xCon As New SqlConnection()
xCon.ConnectionString = xConString
xCon.Open()
1.3. Connected Database
Salah satu metode koneksi yang ada di .Net adalah connected
database. Metode ini mengkoneksikan sebuah client pada sebuah
database dan mengambil atau memanipulasi data dalam database
tersebut secara langsung.
Setelah setelah sebuah client terkoneksi dengan sebuah database,
kita akan bisa mengakses memanipulasi database tersebut. Untuk
melakukan hal tersebut kita membutuhkan object SqlCommand.
8

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


SqlCommand
Untuk menjalankan sebuah perintah, baik itu berupa Query SQL
atau Transact SQL, object yang biasa dipakai adalah SqlCommand.
Setiap method memiliki fungsi yang berbeda, seperti terlihat pada
tabel berikut:
Item

Description

ExecuteReader

Menjalankan sebuah command yang


mengembalikan
sebuah
rows.
Dan
disimpan dalam sebuah SqlDataReader
dan navigasinya bersifat forward only.

ExecuteNonQuery

Digunakan untuk menjalankan perintah


seperti Transact-SQL INSERT, DELETE,
dan UPDATE.

ExecuteScalar

Perintah yang mengembalikan sebuah


nilai, seperti aggregate dari sebuah
database.

Mengirim CommandText ke dalam object


ExecuteXmlReader Connection dam membangun object
XmlReader.

ExecuteReader
Dengan menggunakan method ini, kita bisa menempatkan beberapa
buah row ke dalam object yang disebut dengan SqlDataReader,
seperti pada contoh berikut:
Public Sub BacaData()
Dim xConString As String
xConString =Initial Catalog=Northwind; &
_
Data Source=Web-Server;" & _
User Id=mhs; Password=rahasia;"
Dim xCon As New SqlConnection (xConString)
xCon.Open()

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Dim xQuery As String
xQuery = "SELECT * FROM Orders"
Dim xCommand
xCon)

As

New

SqlCommand(xQuery,

Dim xReader As SqlDataReader = _


xCommand.ExecuteReader()
Try
While myReader.Read()
MessageBox.Show(( _
xReader.GetInt32(0).ToString & _
", " & xReader.GetString(1)))
End While
Finally
Selalu
tutup
reader
bila
sudah
selesai.
xReader.Close()
Tutup connection bila sudah selesai.
xCon.Close()
End Try
End Sub

10

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_1, tambahkan satu form


dengan nama frmKoneksi dengan tampilan berikut:

2.

ComboBox nama provider berisi SQL Server 2000 dan Ms


Access. Apabila pilihan pertama dipilih, maka jenis koneksi
dengan SQL Server 2000 yang digunakan, begitu juga jika yang
dipilih Ms Access, koneksi yang digunakan adalah jenis untuk
Ms Access. Apabila Ms Access yang dipilih, maka TextBox nama
server tidak perlu diisi.

3.

Gunakan tipe connected connection dengan datareader.

4.

Apabila data ada, maka kolom pertama dan kedua dari table
yang ada ditampilkan pada ListBox.

5.

Ambil database Ms Access di http://web-server/client-server


untuk mencoba koneksi dengan Ms Access.

6.

Berikut tampilan jika memilih Ms Access:

Laboratorium Komputer STIKOM

11

Praktikum Pemrograman Client Server

12

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 2
CONNECTED DATABASE
In The World of Ninja,
Those who Break the Rules are Scum,
That's True.
But, Those who Abandon their Friends are
Worse than Scum
- Hatake Kakashi Naruto

Tujuan :
Praktikan dapat menggunakan command pada aplikasi
connected database
Materi :
SqlCommand, ExecuteNonQuery, ExecuteScalar
Referensi :
Introduction to Visual Basic .NET Programming with
Microsoft .NET
http://www.connectionstrings.com
Programming with Microsoft ADO. NET
Object lain yang dimiliki oleh class SqlCommand adalah:

Laboratorium Komputer STIKOM

13

Praktikum Pemrograman Client Server


2.1. ExecuteScalar
Method ini hanya dapat digunakan untuk menjalankan perintah
yang mengembalikan sebuah nilai. Seperti banyak dipakai dalam
menjalankan group function/ agregate function.
Contoh:
Public Sub HitungJumlahData()
Dim xConString As String
xConString=Initial Catalog=Northwind; & _
Data Source=Web-Server;" & _
User Id=mhs; Password=rahasia;"
Dim xCon As New SqlConnection (xConString)
Dim xQuery As String
xQuery="SELECT Count(OrderId) FROM Orders"
Dim xCommand
xCon)

As

New

SqlCommand(xQuery,

Dim xJml As Integer


Try
xCon.Open()
xJml = xCommand.ExecuteScalar()
Finally
'Tutup koneksi setelah selesai
xCon.Close()
End Try
End Sub

2.2. ExecuteNonQuery
Method ini biasanya digunakan untuk menjalankan perintah DML
(INSERT, UPDATE, DELETE), dengan menjalankan perintah melalui
method ini nilai kembalian yang akan dihasilkan adalah berupa
integer dari jumlah record yang berubah.
Contoh:
Public Sub MasukkanData()
14

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Dim xConString As String
xConString=Initial

Catalog=Northwind;

&

_
Data Source=Web-Server;" & _
User Id=mhs; Password=rahasia;"
Dim xCon As New SqlConnection (xConString)
Dim xQuery As String
xQuery = INSERT INTO Orders(OrderId, &
_
CustomerId) Values & _
(O-0001, C-0001)
Dim xCommand
xCon)

As

New

SqlCommand(xQuery,

Dim xJml As Integer


Try
xCon.Open()
xJml = xCommand.ExecuteNonQuery()
Finally
'Tutup koneksi setelah selesai
xCon.Close()
End Try
End Sub

Laboratorium Komputer STIKOM

15

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_2, tambahkan satu form


dengan nama frmDML dengan tampilan berikut:

2.

Jalankan script SQL berikut pada database masing-masing.


CREATE TABLE Praktikum
(
[Kode_Praktikum] Char(3)
CONSTRAINT
PK_Prak_KdPrak
PRIMARY
KEY,
[Nama_Praktikum] VarChar(50) NOT NULL,
[Koordinator] VarChar(30)
)
Insert into Praktikum values
('PWB','Pemrograman Web','Hatake Kakashi')
Insert into Praktikum values
('PV2','Pemrograman
Visual
Renji')

2','Abarai

Insert into Praktikum values


('PCS','Pemrograman Client Server','Roronoa
Zoro')

16

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


3.

Gunakan tipe connected connection dengan menggunakan


eksekusi yang sesuai untuk mendapatkan jumlah record pada
TextBox jumlah data.

4.

Gunakan tipe connected connection dengan menggunakan


eksekusi yang sesuai untuk melakukan perintah DML (Insert,
Update, Delete) sesuai dengan penekanan tombol.

5.

Gunakan field Kode_Praktikum sebagai primary key untuk


melakukan proses Update dan Delete pada table Praktikum.

6.

Apabila ada perubahan jumlah record pada table Praktikum


setelah operasi DML, maka TextBox jumlah data juga ikut
berubah.

7.

Tambahkan pesan di MessageBox Data berhasil masuk jika


proses Insert berhasil, Data berhasil diubah jika proses Update
berhasil, dan Data berhasil dihapus jika proses Delete berhasil.

Laboratorium Komputer STIKOM

17

Praktikum Pemrograman Client Server

18

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 3
TRANSAKSI (STUDI KASUS)
Manusia bisa Bahagia bisa Tidak
Adalah Tergantung Pilihannya Sendiri
- Abraham Lincoln Presiden Amerika Serikat

Tujuan :
Praktikan dapat menerapkan konsep database pada studi kasus
transaksi
Praktikan dapat membuat aplikasi berdasarkan studi kasus
Materi :
Proses Bisnis, Design Table,Design Program
Referensi :
Buku Latihan Visual Basic.Net, Drs. Ario Suryo Kusumo
Programming with Microsoft ADO. NET (chapter 3)
Introduction to Visual Basic .NET Programming with
Microsoft .NET
Pada pertemuan ini akan menerapkan konsep Connected Database
yang dipelajari pada Modul 1 dan Modul 2. Untuk contoh studi
kasus kali ini adalah sistem perpustakaan sederhana.
Laboratorium Komputer STIKOM

19

Praktikum Pemrograman Client Server


3.1. Proses Bisnis
Peminjam pada sistem perpustakaan ini harus terdaftar sebagai
anggota pada perpustakaan ini agar dapat diperbolehkan meminjam
koleksi. Koleksi yang tersedia pada perpustakaan ini terdiri dari
Buku, Majalah, Jurnal dan CD/DVD Program. Batas peminjaman
untuk masing-masing koleksi ini berbeda-beda. Untuk Buku adalah
1 minggu, majalah 4 hari, jurnal 1 hari dan CD/DVD Program 2 hari.
Apabila peminjam terlambat mengembalikan koneksi maka akan
dikenakan denda yang di hitung per hari keterlambatan. Denda
masing-masing koleksi adalah berbeda beda. Seperti yang terlihat
pada tabel dibawah
Jenis Koleksi
Buku
Majalah
Jurnal
CD/DVD Program

Lama Peminjaman
7 hari
4 hari
1 hari
2 hari

Denda per Hari


300
500
700
500

Batas maksimal untuk peminjam adalah 3 buku, 2 majalah, 1 jurnal


dan 1 CD/DVD Program. Peminjam tidak diperkenankan
meminjam melebihi batas yang ditentukan.

20

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


3.2. Design Table

Berikut beberapa keterangan tambahan mengenai design tabel


diatas.
Tabel jenis_koleksi digunakan untuk menyimpan data jenis koleksi
berserta lama peminjaman tiap koleksi ,besar denda per hari untuk
tiap koleksi dan batas_max untuk meyimpan batas maksimum
peminjaman jenis koleksi oleh peminjam.
Tabel koleksi digunakan untuk menyimpan data koleksi yang
tersedia, meliputi nama_koleksi, id_jenis_koleksi yang mereference ke
tabel jenis_koleksi, dan jumlah stock koleksi yang tersedia.
Tabel transaksi menyimpan data transaksi yang berisi id_pelanggan
yang mereference ke tabel pelanggan, serta waktu_peminjaman
untuk menyimpan tanggal transaksi peminjaman.

Laboratorium Komputer STIKOM

21

Praktikum Pemrograman Client Server


Tabel detail_transaksi digunakan untuk menyimpan detail transaksi
peminjaman. Yang dicatat dalam detail_transaksi ini adalah
id_transaksi yang mereference ke tabel transaksi id_koleksi yang
dipinjam dan tgl_kembali yang digunakan untuk mencatat tanggal
kembali tiap-tiap koleksi.
Untuk tiap id di setiap detail diisi menggunakan autnumber dari
database (kita tidak perlu membuat id sendiri).
3.3. Design Program
Dari deskripsi proses bisnis dan design tabel yang sebelumnya,
maka pada bagian ini akan dibahas mengenai garis besar Design
Program yang akan kita buat. Program yang akan kita buat terdiri
dari pembuatan program master peminjam, master koleksi dan
transaksi peminjaman.
Untuk Master peminjam dan Master koleksi meliputi hal-hal dasar
yang dibutuhkan yaitu proses penambahan, pengubahan dan
penghapusan data.
Sedangkan untuk transaksi peminjaman ada beberapa hal yang
perlu diperhatikan yaitu :
Ada pengecekan terhadap peminjam, apakah telah terdaftar
atau belum.
Ada pengecekan terhadap koleksi, apakah id koleksi yang
dimasukkan benar atau salah
Ada pengecekan terhadap jumlah peminjaman oleh peminjam
apakah sudah melebihi batas maksimal atau belum
(pengecekan per koleksi)
Ada pengecekan terhadap stock koleksi yang tersedia.
Ada pengurangan terhadap jumlah stock koleksi jika terjadi
transaksi peminjaman
Ada perhitungan tanggal kembali untuk tiap detail koleksi

22

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_3, tambahkan satu form


dengan nama frmTransaksi dengan tampilan berikut:

2.

Tombol cek disebelah textbox id peminjam digunakan untuk


mengecek data peminjam, apabila belum terdaftar munculkan
pesan Anda belum terdaftar, sedangkan apabila telah terdaftar
detail peminjam akan muncul pada Data Peminjam dibawahnya

3.

Tombol Tambahkan digunakan untuk memasukan detail


transaksi peminjaman ke dalam list view.

4.

Tombol Simpan digunakan untuk menyimpan transaksi ke


database

5.

Tombol Tutup digunakan untuk menutup Form

6.

Gunakan ketentuan design program pada materi modul ini.

Laboratorium Komputer STIKOM

23

Praktikum Pemrograman Client Server

Laboratorium Komputer STIKOM

24

Praktikum Pemrograman Client Server

MODUL 4
DISCONNECTED DATABASE
Sebuah kesuksesan yang besar dapat dicapai
setelah 99% kegagalan
- Soichiro Honda -

Tujuan :
Praktikan dapat menggunakan Dataset
Praktikan dapat melakukan sorting dan filtering dengan
menggunakan Dataview
Materi :
SqlDataAdapter, DataSet, DataView, dan DataGrid
Referensi :
Buku Latihan Visual Basic.Net, Drs. Ario Suryo Kusumo
Programming with Microsoft ADO. NET (chapter 3)
Introduction to Visual Basic .NET Programming with
Microsoft.NET
Microsoft .NET MSDN Visual Studio .Net

Laboratorium Komputer STIKOM

25

Praktikum Pemrograman Client Server


4.1. Disconnected Database
Berbeda dengan Connected Database yang telah dipelajari
sebelumnya. Disconnected Database hanya melakukan koneksi
dengan database disaat pengambilan dan transaksi data secara
keseluruhan. Jadi, semua seprubahan yang terjadi secara visual
belum berpengaruh langsung kedalam database.
4.2. Dataset
Dataset adalah sebuah class yang dipakai dalam disconnected
database. Dengan dataset ini, emua pekerjaan yang berhuungan
dengan database dapat dilakukan secara remote. Jadi semua koleksi
tabel dan relasi dari sebuah database dapat ditampung oleh sebuah
Dataset. Sebelum masuk kedalam pembahasan lebih dalam, satu hal
perlu untuk diingat adalah setiap form yang berhubungan dengan
sebuah database membutuhkan sebuah koneksi. Oleh karena itu,
SQLConnection tetap dipakai.
Dalam sebuah dataset semua tabel, baris, kolom, relasi semuanya
dianggap sebagai objek. Sehingga mampu memberikan kemudahan
dalam proses Indexing, Filtering, Sorting bahkan Searching.
Agar seluruh data dapat ditampung kedalam dataset, diperlukan
sebuah dataadapter. Contoh kode programnya adalah sebagai
Dim conn As SqlConnection
Dim da As SqlDataAdapter
Dim ds As New DataSet
Private Sub Form1_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
OpenConnection()
GetData("select
*
from
orders",
"orders")
End Sub
Private Sub OpenConnection()
Dim strcon As String = "Data Source=" &
_
"WEB-SERVER;" & _
"Initial Catalog=Northwind;" & _
"User ID=mhs;Password=rahasia"
26

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


conn = New SqlConnection(strcon)
conn.Open()
End Sub
Private Sub GetData(ByVal query As String,
ByVal tablename As String)
da = New SqlDataAdapter(query, conn)
da.MissingSchemaAction
=
MissingSchemaAction.AddWithKey
da.Fill(ds, tablename)
End Sub
da.MissingSchemaAction digunakan untuk mengambil strukutur
schema ang belum terambil ketika proses Fill. Dalam kasus ini yang
diambil adalah struktur Constraint dari tabel.
Pengambilan data dari sebuah data set menggunakan kode program
sebagai berikut:
Ditampung dalam sebuah DataGrid
Datagrid1.DataSouce=ds.Tables(orders).
_
DefaultView

&

Ditampung dalam control (TextBox,ComboBox,dll)


For i As Integer = 0 To ds. & _
Tables("orders").Rows.Count - 1
ComboBox1.Items.Add & _
(ds.Tables("orders").Rows(i).Item(1))
Next
4.3. Sorting dan Filtering pada Dataset
Sebuah query pasti mampu melakukan beberapa batasan terhadap
data-data apa saaja dari sebuah tabel, yang akan ditampilkan. Dan
bahkan melakukan pengurutan data berdasarkan filed yang diacu.
Hal ini dapat dilakukan oleh DataSet dengan menggunakan method
RowFilter dan Sort.

Laboratorium Komputer STIKOM

27

Praktikum Pemrograman Client Server


Untuk sorting data, kode program akan tampak sebagai berikut ini :
ds.Tables(orders).DefaultView. _
Sort=OrderID
Untuk filtering data, kode program akan tampak seperti berikut ini :
ds.Tables(orders).DefaultView. _
RowFilter=OrderId=O-0001
Yang perlu diingat untuk ke-2 method ini, keduanya hanya berlaku
bagi control yang melakukan binding kedalam database dan
berinterface Ilist. Sebagai contoh adalah DataGrid. Penggunaan
kedua method ini akan tampak pada DataGrid, namun tidak
berfungi
pada
control
lain
yang
tidak
berinterface
Ilist(ComboBox,TextBox,dll)

28

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_4, tambahkan satu form


dengan nama frmDataset dengan tampilan berikut:

2.

Download file mahasiswa.sql dari server (tanyakan pada


pengajar lokasi file tersebut). Jalankan file tersebut pada
database anda.

3.

Pada saat form pertama kali di load maka, data mahasiswa akan
otomatis muncul di datagrid.

4.

cari digunakan untuk mencari data menurut Kata Kunci


dan field yang bersangkutan. Hasil yang ditampilkan adalah
data yang mengandung Kata Kunci bukan data yang sama
persis dengan Kata Kunci

5.

Order digunakan untuk mengurutkan data berdasarkan field


pada combo box, dan metode pengurutan ditentukan oleh radio
button ascending atau discending.

6.

Tombol tutup digunakan untuk menutup form.

Laboratorium Komputer STIKOM

29

Praktikum Pemrograman Client Server

30

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 5
OPERASI PADA DATASET
Pertanyaan yang Paling Mendesak
Dalam Hidup Ini :
Apakah yang Kamu Perbuat
Bagi Orang Lain?
- Martin Luther King Jr. -

Tujuan :
Praktikan dapat membuat DML pada dataset
Materi :
Insert Data, Update Data, Delete Data, Simpan ke Database
Referensi :
Programming with Microsoft ADO. NET
Introduction to Visual Basic .NET Programming with
Microsoft.NET
Microsoft .NET MSDN Visual Studio .Net

Pada pertemuan sebelumnya kita telah mempelajari cara mengambil


data secara Disconnected Database yang disimpan dalam DataSet.
Laboratorium Komputer STIKOM

31

Praktikum Pemrograman Client Server


Selain itu kita juga mempelajari operasi filtering dan sorting pada
dataset. Pada pertemuan ini akan dibahas mengenai operasi DML
pada DataSet. Struktur tabel yang akan kita pakai adalah sebagai
berikut :
Tabel : mhs
NIM varchar(12) Primary Key
Nama Varchar(50)
Alamat varchar(100)
Untuk cara memasukan data dari database ke dalam DataSet
silahkan anda pelajari Modul sebelumnya.
5.1. Penambahan Data (Insert Data)
Awal
Nim

Nama

Alamat

Pesan Tempat
Dim xRow As DataRow
xRow = xSet.Tables("mhs").NewRow()
Setelah memesan tempat dengan menggunakan method NewRow
pada DataTable. Kita bisa mengilustrasikan tempat penyimpanan
sebagai berikut:
Nim
....

Nama
.......

Alamat
........

Pengisian DataRow
xRow(0) = "09410100999"
xRow(1) = "Hatake Kakashi"
xRow(2) = "Jl. Konoha Village no 999"
Atau bisa juga dengan menyebutkan nama kolomnya, seperti contoh
berikut:
xRow(Nim) = "06410100666"
xRow(Nama) = "Abarai Renji"
xRow(Alamat) = "Jl. Sehat no 123"
Dengan mengisi datarow, data belum masuk ke dalam dataset
sebelum method Add dijalankan.
xSet.Tables("mhs").Rows.Add(xRow)
32

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Tempat penyimpanan secara ilustrasi akan tampak seperti berikut:
Nim
09410100999

Nama
Hatake Kakashi

Alamat
Jl. Konoha Village no 999

5.2. Penghapusan Data (Delete Data)


Ada pepatah kuno mengatakan Ada Banyak Jalan Menuju Roma.
Di sini akan ditunjukkan beberapa cara untuk melakukan
penghapusan rows pada sebuah Dataset. Yang harus diperhatikan
adalah yang dihapus adalah objects berupa Row. Lihat contoh
berikut:
Cara Pertama
Dim xRow As DataRow
xRow = xSet.Tables("mhs").Rows.Find("0009")
If Not (xRow Is Nothing) Then
xRow.Delete()
End If
Cara Kedua
Dim xRow As DataRow
xRow = xSet.Tables("mhs").Rows.Find("0007")
If Not (xRow Is Nothing) Then
xSet.Tables(0).Rows.Remove(xRow)
End If
Cara Ketiga
If xSet.Tables(0).Rows.Count <> 0 Then
If Not (xSet.Tables(0).Rows(0) _
Is Nothing) Then
xSet.Tables(0).Rows(0).Delete()
End If
End If
Dari ketiga contoh di atas kita bisa melihat bahwa kita bisa
menghapus data yang ada pada dataset melalui object DataRow

Laboratorium Komputer STIKOM

33

Praktikum Pemrograman Client Server


5.3. Pengubahan Data (Update Data)
Cara Pertama
xSet.Tables(0).Rows(0).BeginEdit()
xSet.Tables(0).Rows(0).Item(0) = _
"07410100777"
xSet.Tables(0).Rows(0).Item(1) = _
"Kurosaki Ichigo"
xSet.Tables(0).Rows(0).Item(2) = _
"Jl. Buntu 999"
xSet.Tables(0).Rows(0).EndEdit()
Cara Kedua
Dim xRow As DataRow
xRow = xSet.Tables("mhs").Rows(0)
xRow.BeginEdit()
xRow (0) = "09410109876"
xRow (1) = "Uzumaki Naruto"
xRow (2) = "Jl. Pagi 123"
xRow.EndEdit()
Cara Ketiga
Dim xRow As DataRow
xRow = xSet.Tables("mhs").Rows.Find("0002")
If Not (xRow Is Nothing) Then
xRow.BeginEdit()
xRow (0) = "09410109876"
xRow (1) = "Miyabi-chan"
xRow (2) = "Jl. Hidup 69"
xRow.EndEdit()
End If
5.4. Menyimpan perubahan pada database
Seperti yang dijelaskan pada modul sebelumnya, pada disconnected
database perubahan pada DataSet yang terlihat secara visual
sebenarnya belum benar-benar tersimpan di dalam database. Oleh
karena itu kita perlu menambahkan instruksi tambahan untuk
menyimpan secara permanen pada database.

34

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Dim updtable As DataTable = _
ds.Tables("mhs")
'' Untuk proses deletes.
da.Update(updtable.Select(Nothing,
Nothing, DataViewRowState.Deleted))

'' Untuk proses updates.


da.Update(updtable.Select(Nothing,
_
Nothing, DataViewRowState.ModifiedCurrent))
'' Untuk proses insert.
da.Update(updtable.Select(Nothing,
Nothing, DataViewRowState.Added))

Laboratorium Komputer STIKOM

35

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_5, tambahkan satu form


dengan nama frmXML dengan tampilan berikut:

2.

Gunakan tipe disconnected connection dengan menggunakan


dataset yang melakukan query terhadap table Praktikum yang
dibuat pada latihan praktikum modul 2. Simpan struktur dan
data dari table Praktikum pada dataset.

3.

Gunakan dataset yang mempunyai struktur sesuai table


Praktikum pada datasource dari datagrid.

4.

Lakukan proses penambahan, pengubahan, dan penghapusan


data yang ada di dataset sesuai dengan penekanan tombol
Simpan, Ubah, atau Hapus.

5.

Link cari prak digunakan untuk mencari data pada dataset sesuai
dengan kode praktikum yang dimasukkan. Apabila data ada,

36

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


maka akan ditampilkan pada textbox nama praktikum dan
textbox koordinator.
6.

Textbox jumlah data sesuai dengan jumlah data yang ada pada
dataset.

7.

Tambahkan pesan di MessageBox Data berhasil masuk jika


proses Insert berhasil, Data berhasil diubah jika proses Update
berhasil, dan Data berhasil dihapus jika proses Delete berhasil.

Laboratorium Komputer STIKOM

37

Praktikum Pemrograman Client Server

38

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 6
CRYSTAL REPORT (1)
Banyak Kegagalan Dalam Hidup ini
Dikarenakan Orang-Orang Tidak Menyadari
Betapa Dekatnya Mereka dengan Keberhasilan
Saat Mereka Menyerah
- Thomas Alfa Edison -

Tujuan :
Praktikan dapat membuat laporan dengan Crystal Report
Praktikan dapat menggunakan Crystal Report
Praktikan mampu menampilkan laporan secara dinamis
Materi :
Crystal Report, Selection Formula, Parameter
Referensi :
Buku Latihan Visual Basic.Net, Drs. Ario Suryo Kusumo
http://aspalliance.com/articleViewer.aspx?aId=677&pId=2
Introduction to Visual Basic .NET Programming with
Microsoft.NET
Microsoft .NET MSDN Visual Studio .Net

Laboratorium Komputer STIKOM

39

Praktikum Pemrograman Client Server


6.1. Membuat sebuah report
Untuk membuat sebuah report kita hanya perlu menambahkan item
baru yaitu template Crystal Report pada aplikasi window.
Akan terlihat sebagai berikut:

Dengan
memilih
template
crystal report, akan muncul
kotak dialog untuk memilih
bentuk dari laporan yang akan
kita buat.

Kemudian akan muncul kotak dialog untuk memilih data yang mau
ditampilkan pada report tersebut.

Laboratorium Komputer STIKOM

40

Praktikum Pemrograman Client Server

Kemudian akan muncul kotak dialog untuk melakukan koneksi ke


data source tertentu, sebagai contoh data source yang dipakai
berupa SQL Server.

Secara sederhana contoh berikut akan menampilkan data mahasiswa


dengan cara sangat sederhana.
Laboratorium Komputer STIKOM

41

Praktikum Pemrograman Client Server

6.2. Menampilkan Report dari Aplikasi Windows


Untuk menampilkan report yang sudah kita buat, kita bisa
menggunakan Crystal Report Control atau dengan menggunakan
Crystal Report Viewer.
Crystal Report Viewer
Kita harus tambahkan Crystal Report Viewer ke dalam form kita.
Cara yang paling sederhana adalah dengan menghubungkan crystal
report viewer dengan properties Report Source dengan file report
yang akan ditampilkan.

Atau dengan menggunakan koding seperti berikut:


42

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


CrystalReportViewer1.ReportSource = _
"..\Nilai.rpt"
CrystalReportViewer1.Refresh()
Atau
Dim rpt As New Nilai
CrystalReportViewer1.ReportSource = rpt
CrystalReportViewer1.Refresh()
Atau
Dim rptDoc As New ReportDocument
rptDoc.Load("..\Nilai.rpt")
CrystalReportViewer1.ReportSource = rptDoc
CrystalReportViewer1.Refresh()
Untuk membuat supaya report yang kita buat bisa dinamis, seperti
adanya perubahan datasource pada saat runtime, perhatikan
gambaran berikut ini:
ReportDocument

Load()
Database.Table
s

CrystalReportViewer

ReportSource

CrystalReportViewer.ReportSource
ConnectionInfo

ReportDocument.Database.Tables
Tables

Server Name
DatabaseName
UserId
Password

TableLogoninfo.ConnectionInfo
Table

LogonInfo
ApplyLogOnInfo _
(TableLogOnInfo)
Location

TableLogOnInfo
Table.LogonInfo

ConnectionInfo

Contoh koding
Imports _
CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Koding:
Laboratorium Komputer STIKOM

43

Praktikum Pemrograman Client Server


Dim
Dim
Dim
Dim
Dim

crtableLogoninfo As New TableLogOnInfo


crConnectionInfo As New ConnectionInfo
CrTables As Tables
CrTable As Table
TableCounter

Dim crReportDocument As New ReportDocument


crReportDocument.Load _
("..\CrystalReport1.rpt")
With crConnectionInfo
.ServerName = "Web-Server"
.DatabaseName = "Northwind"
.UserID = "mhs"
.Password = "rahasia"
End With
CrTables = crReportDocument.Database.Tables
For Each CrTable In CrTables
crtableLogoninfo = CrTable.LogonInfo
crtableLogoninfo.ConnectionInfo = _
crConnectionInfo
CrTable.ApplyLogOnInfo(crtableLogoninfo)
CrTable.Location = "master." & _
CrTable.Location.Substring _
(CrTable.Location.LastIndexOf(".") + 1)
Next
CrystalReportViewer1.ReportSource = _
crReportDocument

6.3. Memfilter Data


Untuk melakukan filtering terhadap suatu data dalam sebuah report
digunakan
method
SelectionFormula
pada
object
CrystalReportViewer.
Contoh
CrystalReportViewer1.SelectionFormula = _
"{mahasiswa.NIM}='00410100033'"

44

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


6.4. Passing parameter ke report
Untuk membuat sebuah parameter pada report, anda tinggal klik
kanan pada field Explorer di desain report kita dan pilih new,
kemudian ikuti langkah-langkahnya.

Untuk memberi nilai pada sebuah parameter digunakan koding


berikut ini:
crReportDocument.SetParameterValue _
("nimmhs", txtNim.Text)

Laboratorium Komputer STIKOM

45

Praktikum Pemrograman Client Server


Latihan
1.

Buat project dengan nama Lat_Modul_6, tambahkan satu form


dengan nama frmWebService dengan tampilan berikut:

2.

Jalankan Script SQL berikut


CREATE TABLE Praktikan
(
[NIM] VarChar(11)
CONSTRAINT PK_Prtkn_Nim PRIMARY KEY,
[Nama] VarChar(40) NOT NULL,
[Kode_Praktikum] Char(3)
REFERENCES
Praktikum([Kode_Praktikum])
ON DELETE CASCADE ON UPDATE CASCADE
)
Insert into Praktikan values
('03410100073','Tom Cruise','PWB')
Insert into Praktikan values
('06410100666','Dian Sastrowardoyo','PCS')
Insert into Praktikan values
('07410100777','Edward Elric','PCS')

46

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Insert into Praktikan values
('01410100111','Doraemon','PV2')
Insert into Praktikan values
('05410100055','Miyabi-chan','PCS')
Insert into Praktikan values
('09410100666','Avatar','PWB')
3.

Combobox kode praktikum mengambil data dari tabel Praktikum


yang dibuat sebelumnya. Textbox nama praktikum otomatis
keluar sesuai dengan kode praktikum yang dipilih.

4.

Buat file crystal report dengan nama report_modul8 yang


menampilkan data praktikan sesuai dengan parameter
kode_praktikum yang dipilih. Tambahkan passing parameter
field dengan nama kode_prak untuk proses ini.

Laboratorium Komputer STIKOM

47

Praktikum Pemrograman Client Server

48

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 7
CRYSTAL REPORT (2)
Latihlah Kebiasaanmu,
Karena Kebiasaan akan Menjadikanmu
Sukses atau Menghancurkanmu
- Sean Covey The 7 Habits of Highly Effective Teens

Tujuan :
Praktikan dapat membuat laporan dengan Crystal Report
Praktikan mampu menampilkan laporan menggunakan group name
fields dan running total fields
Materi :
Formula Filed, Group Nam Field, Running Total Field
Referensi :
Buku Latihan Visual Basic.Net, Drs. Ario Suryo Kusumo
http://aspalliance.com/articleViewer.aspx?aId=677&pId=2
Introduction to Visual Basic .NET Programming with
Microsoft.NET
Microsoft .NET MSDN Visual Studio .Net

Laboratorium Komputer STIKOM

49

Praktikum Pemrograman Client Server


7.1. Formula Field
Perhatikanlah hasil dari report berikut:

Dalam tabel isi field status adalah M atau B, sedangkan di dalam


membuat sebuah laporan kita harus menampilkan informasi status
mahasiswa tersebut dengan menikah (M) atau belum menikah (B).
Untuk itu diperlukan sebuah formula field.
Caranya hampir sama dengan membuat ParameterFiled, dan kita
bisa mengeluarkan isi sebuah field dengan format yang kita
inginkan:
Di dalam formula editor kita bisa melakukan hal tersebut dengan
menambahkan koding seperti berikut

Laboratorium Komputer STIKOM

50

Praktikum Pemrograman Client Server

Untuk status
if {Mahasiswa.Status}="M" then
(
"Menikah"
)
else
(
"Belum Menikah"
)
Untuk jenis kelamin
if {Mahasiswa.Jns_Kelamin}="P" then
(
"Pria"
)
else
(
"Wanita"
)

Laboratorium Komputer STIKOM

51

Praktikum Pemrograman Client Server


Dan dengan mengganti field yang ada pada report dengan formula
field yang baru dibuat, hasilnya akan terlihat seperti berikut:

7.2. Group Name Field


Group name Fields digunakan apabila kita menginginkan
pengelompokan data pada laporan yang kita buat berdasarkan field
yang ada. Misalnya saja kita ingin membuat laporan detail yang
dikelompokkan menurut wilayah penjualan.
Dengan adanya Group Name Fileds ini kita dapat membuat
semacam sub total berdasarkan kriteria tertentu, misalnya sub total
berdasarkan Area Penjualan, Tanggal transaksi, dll
Klik kanan pada group name fields kemudian pilih insert group

52

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

Setelah muncul dialog seperti diatas anda dapat mengatur group


baru yang anda inginkan, anda dapat memilih berdasarkan field ang
sudah ada ataupun membuat group berdasarkan formula tertentu.
7.3. Running Total Field
Running total fields digunakan untuk membuat akumulasi data
pada field tertentu. Misalnya kita ingin membuat jumlah data
penjualan, jumlah data pemesanan, dll.
Dengan menggunakan Running Total Fields ini kita dapat membuat
sub total dengan mengkombinasikan pemakaiannya dengan group
name fields. Serta membuat Grand Total keseluruhan.
Klik kanan pada Running Total Fields kemudian new untuk
membuat Running Total Fields baru.

Laboratorium Komputer STIKOM

53

Praktikum Pemrograman Client Server

Dari kotak dialog ini kita dapat menentukan bagaimana kita ingin
melakukan penjumlahan (akumulasi data), menentukan field yang
sudah ada atau menggunakan formula dapat diatur lewat dialog ini.

54

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Latihan
1
2

3
4

Download file trans_penjualan.sql dari server (tanyakan pada


pengajar lokasinya). Jalankan pada database anda.
Buat laporan dengan tampilan sebagai berikut :

Laporan tersebut berisi data penjualan yang di kelompokan


berdasarkan kantor cabang.
Tampilkan sub total per kantor cabang beserta grand total
keseluruhan

Laboratorium Komputer STIKOM

55

Praktikum Pemrograman Client Server

56

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

MODUL 8
WEB SERVICE
It Has Become Appallingly Obvious
That Our Technology
Has Exceeded Our Humanity
- Albert Einstein -

Tujuan :
Praktikan dapat membuat
web service
Praktikan dapat menggunakan
web service
Materi :
Web Service
Referensi :
Buku Latihan Visual Basic.Net, Drs. Ario Suryo Kusumo
Programming with Microsoft ADO. NET (chapter 7)
Introduction to Visual Basic .NET Programming with
Microsoft.NET
Microsoft .NET MSDN Visual Studio .Net

Laboratorium Komputer STIKOM

57

Praktikum Pemrograman Client Server


8.1. Web Service
Web Service merupakan salah satu layanan terbesar di internet.
Teknologi ini menggunakan XML (Extensible Markup Language)
untuk membangun struktur dari data, SOAP (Simple Object Access
Protocol) digunakan untuk transper data, WSDL (Web Services
Description Language) untuk menggambarkan sebuah service dan
UDDI (Universal Description, Discovery and Integration) digunakan
untuk memperoleh daftar dari service yang tersedia.
Dengan adanya web service aplikasi dapat saling berkomunikasi
dengan aplikasi lainnya tanpa harus memusingkan hardware
maupun struktur dari komputer yang dipakai.
Salah satu kelebihan web service adalah menggunakan teknologi
XML artinya web service ini multi-platform alias bisa diakses di
semua jenis sistem operasi. Selain itu, user tidak perlu tahu dengan
bahasa apa web service itu dibuat, yang perlu mereka tahu adalah
fitur apa saja yang disediakan oleh web service tadi.
8.2. SOAP, WSDL dan UDDI
SOAP (Simple Object Access Protocol) adalah protokol berbasis XML
yang digunakan untuk pertukaran informasi pada web services.
SOAP mendefinisikan format XML dari web services. Dari format
XML tadi kita bisa tahu request dan response dari function yang ada
di web service seperti berapa jumlah parameter yang harus
dimasukkan, apa saja tipe data dari tiap parameter, dan tipe data
dari nilai balik.
Contoh tampilan SOAP web service:

58

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server

WSDL (Web Services Descriprtion Language) adalah dokumen XML


yang digunakan untuk mendiskripsikan methods (berbentuk
functions) apa saja yang disediakan oleh web service. Apabila pada
pembuatan web service dicantumkan deskripsi keterangan dari
function, maka pada WSDL akan ditampilkan keterangan tadi.
Contoh tampilan WSDL:

Laboratorium Komputer STIKOM

59

Praktikum Pemrograman Client Server


Di bawah ini contoh hasil tampilan dari web service HitungDiskon
pada function NamaLengkap yang parameternya diisi dengan
Dian dan Sastro, hasilnya seperti berikut:

UDDI (Universal Description, Discovery and Integration) adalah


web site yang digunakan untuk mendaftarkan web service yang
telah kita buat dan telah diposting di internet. Dengan adanya
UDDI, web service kita akan ditampilkan pada web site UDDI dan
bisa diketahui oleh orang lain yang mengaksesnya. Dengan UDDI
kita bisa mencari web service yang kita inginkan dan melihat web
service apa saja yang tersedia. Untuk info lebih jelas, bisa dilihat di
http://www.uddi.org atau di http://uddi.microsoft.com.
8.3. Membuat Web Service
Membuat web service di .Net tidaklah susah jika kita sudah tau
konsep tentang function. Sama seperti function, web service punya
nilai balik dalam tipe data tertentu yang bisa diambil untuk
diimplementasikan di aplikasi yang kita buat.
Berikut langkah membuat web service:

60

Buat project baru, pilih template ASP.NET Web Service


Beri nama project tadi, secara default akan disediakan satu
halaman web service dengan nama Service1.asmx,
ubahlah namanya sesuai keinginan untuk mendefinisikan
web service
Double click pada halaman tadi untuk masuk code editor,
buatlah sebuah function tapi awali dengan keyword :
<WebMethod()>
Lakukan build setelah function selesai dibuat
Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Contoh web service sederhana:
<WebMethod(Description:="Untuk
menampilkan
pesan Hello World")> _
Public Function HelloWorld() As String
Return "Hello World"
End Function

<WebMethod()> _
Public Function GetMessage() As String
Return "Today is the day"
End Function

<WebMethod()> _
Public Function SendMessage _
(ByVal message As String) As String
Return
"Message
received
as:
"
message
End Function

&

<WebMethod()> _
Public Function ReverseMessageFunction _
(ByVal message As String) As String
Return StrReverse(message)
End Function

<WebMethod()> _
Public Sub ReverseMessageSub _
(ByRef message As String)
message = StrReverse(message)
End Sub

Apabila dilakukan debug, maka hasil debug akan ditampilkan pada


browser dengan susunan URL seperti berikut:
http://namaserver/namaProjectWebServices/Na
maWebServices.asmx

Laboratorium Komputer STIKOM

61

Praktikum Pemrograman Client Server


8.4. Implementasi Web Service
Untuk melakukan implementasi pada web service kita bisa
melakukan web reference web service yang ada, berikut beberapa
langkahnya:

62

Buat project baru ato buka project yang akan digunakan untuk
memanfaatkan web service
Import web service yang ada dengan cara klik kanan pada nama
project, pilih Add Web Reference, akan muncul tampilan seperti
berikut:

Masukkan alamat URL pada textbox URL, lalu tekan tombol Go


untuk melihat service apa saja yang disediakan
Di sebelah kanan ada Web Reference Name untuk memberi nama
reference tadi, tekan tombol Add Reference untuk menaruh
alamat web tadi sebagai reference dari project yang dibuka
Apabila berhasil, maka nama web reference tadi akan muncul
pada folder Web Reference di Solution Explorer

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Penerapan di form:
Lakukan proses instance dari web service tadi dengan syntax:
Private namaObject As New _
namaWebReference.namaWebService
Misal:
Private xService As New _
ServiceHitungDiskon.HitungDiskon
Untuk menggunakan function yang ada, tinggal memanggilnya
seperti memanggil methods setelah kita menginstankan object dari
suatu class.
Misal:
xService.NamaLengkap(Dian, Sastro)
Karena web service berupa function, maka jangan lupa untuk
membuat variabel untuk menampung nilai balik sesuai dengan tipe
data yang dikembalikan.
8.5. Web Service di WWW
Menggunakan web service yang sudah ada, baik itu di lokal
komputer anda ataupun yang ada di internet, tidaklah begitu sulit
seperti yang banyak orang bayangkan. Yang perlu kita ketahui
adalah alamat dari web service yang akan kita pakai. Seperti
misalnya web service yang ada di google.
Caranya adalah dengan menambahkan web references pada projek
anda dan masukkan alamat web service yang ingin anda pakai,
seperti contoh berikut.
Cara menggunakannya adalah sebagai berikut

Laboratorium Komputer STIKOM

63

Praktikum Pemrograman Client Server

Private Sub btnSearch_Click(ByVal sender As


System.Object, ByVal e As _
System.EventArgs) Handles btnSearch.Click
' Create a Google Search object
Dim s As New _
com.google.api.GoogleSearchService
Dim xLisence As String
Dim xCari As String
xLisence = _
"0c3E0TVQFHJRqN4jYLYN33PX9TQ4IPIG"
xCari = txtSearchTerm.Text
Try
' Invoke the search method
Dim r As _
com.google.api.GoogleSearchResult= _
s.doGoogleSearch(xLisence, xCari, _
0, 1, False, "", False, "", "", "")
Extract the estimated number of
results for the search and display
Dim estResults As Integer = _
r.estimatedTotalResultsCount
lblSearchResults.Text = _
CStr(estResults)
Catch ex As _
System.Web.Services.Protocols.SoapException
MsgBox(ex.Message)
End Try
End Sub

64

Laboratorium Komputer STIKOM

Praktikum Pemrograman Client Server


Latihan
1.

Jalankan script SQL berikut pada database masing-masing.


CREATE TABLE Praktikan
(
[NIM] VarChar(11)
CONSTRAINT PK_Prtkn_Nim PRIMARY KEY,
[Nama] VarChar(40) NOT NULL,
[Kode_Praktikum] Char(3)
REFERENCES
Praktikum([Kode_Praktikum])
ON DELETE CASCADE ON UPDATE CASCADE
)
Insert into Praktikan values
('03410100073','Tom Cruise','PWB')
Insert into Praktikan values
('06410100666','Dian Sastrowardoyo','PCS')
Insert into Praktikan values
('07410100777','Edward Elric','PCS')
Insert into Praktikan values
('01410100111','Doraemon','PV2')
Insert into Praktikan values
('05410100055','Miyabi-chan','PCS')
Insert into Praktikan values
('09410100666','Avatar','PWB')

2.

Buat project web service dengan nama service_prak.asmx yang


mempunyai dua method berikut:
a.

Function bernama AmbilDataPrak yang mengembalikan


nilai berupa dataset berisi data dari tabel Praktikum.

b. Function
bernama
PraktikanByPraktikum
ketentuan seperti berikut:

dengan

Memiliki 1 inputan, yaitu kode_praktikum berupa


String.
Nilai yang dikembalikan berupa dataset berisi data dari
tabel Praktikan yang memiliki kode praktikum sesuai
inputan.

Laboratorium Komputer STIKOM

65

Praktikum Pemrograman Client Server


3.

Buat project windows application dengan nama Lat_Modul7 ,


tambahkan satu form dengan nama frmWebService dengan
tampilan berikut:

4.

Manfaatkan web service yang telah dibuat ke dalam


frmWebService. Gunakan method AmbilDataPrak pada
combobox kode praktikum. Nama praktikum otomatis muncul
ketika ada pemilihan kode praktikum di combobox.

5.

Method PraktikanByPraktikum digunakan ketika terjadi


penekanan tombol Lihat yang akan menampilkan data
praktikan pada datagrid berdasarkan kode praktikum yang
dipilih.

Textbox jumlah data berisi jumlah praktikan yang muncul di


datagrid.

66

Laboratorium Komputer STIKOM