• Tidak ada hasil yang ditemukan

Model Aplikasi Client/Server Untuk Meringankan Beban Sistem Aplikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "Model Aplikasi Client/Server Untuk Meringankan Beban Sistem Aplikasi"

Copied!
9
0
0

Teks penuh

(1)

Ahmad Jupri adalah Dosen Fakultas Ilmu Komputer UDINUS Semarang

107

Model Aplikasi Client/Server Untuk Meringankan

Beban Sistem Aplikasi

Ahmad Jupri

Abstract : Client model application / server application or with known two-level, where the first level contains the code that displays the data and interact with the user in this application form of Visual Basic. While the second level is a database server or a DBMS are the form in which SQL Server store procedure as a business service. With the work load split between the client and the server is possible to do so each application in accordance with the best hardware specifications that are used.

Keywords : SQL Server, Visual Basic, client, server, store procedur, business service

PENDAHULUAN

Pemrograman database multi user sampai dengan saat ini masih sering dijumpai terutama pada perusahaan kecil, bahkan pada perusahaan sekala menengahpun tidak sedikit yang masih menggunakan. Pada database dengan ukuran tidak terlalu besar dan pengguna jaringan yang tidak terlalu banyak, sistem tersebut tidak sulit untuk dilaksanakan. Tetapi jika dengan data yang cukup banyak (lebih dari 2 GB) atau pemakai jaringan sudah banyak, sistem jaringan akan sangat terbebani dengan lalu lintas data yang mengakibatkan kinerja menurun bahkan sistem bisa lumpuh. Padahal sejalan dengan perkembangan, data-data gambar yang berukuran besar mulai dilibatkan dalam pengolahan data. Hal ini menuntut dikembangkannya model sistem jaringan yang lebih baik. Misalnya dengan pemrograman client/server.

Pada artikel ini penulis mengimplementasikan arsitektur aplikasi client/server dalam pemrograman database menggunakan SQL Server sebagai data provider dan ditempatkan pada tier pertama, serta Visual Basic sebagai user intervace ditempatkan pada tier kedua, sedangkan business services akan ditempatkan pada tier pertama dan tier kedua dengan contoh aplikasi yang berbeda.

PEMBAHASAN

Arsitektur Aplikasi Client/Server

Ada beberapa tipe arsitektur model aplikasi yang dapat digunakan untuk membangun aplikasi. Salah satu yang akan dibahas pada artikel ini adalah model arsitektur clent/server. Dalam model arsitektur ini terdapat dua tingkat.

(2)

108 Techno.COM, Vol. 7 No. 2, Agustus 2008

Tingkat pertama dari aplikasi client/server adalah client tier atau presentation tier atau tingkat user interface. Tingkatan ini mengadung kode yang menampilkan data dan berinteraksi dengan user, dalam artikel ini berupa aplikasi Visual Basic. Aplikasi client meminta data dari database server dan menampilkannya pada suatu form. Setelah data berada pada komputer client, komputer mampu menampilkan data dalam berbagai cara dan mampu memanipulasi data secara lokal. Komunikasi antara clinet dan server dilangsungkan melalui komponen ADO(ActiveX Data Object)

Tingkatan kedua adalah database server atau DBMS. DBMS menerima banyak permintaan-permintaan data dari client dan harus mampu melayani semua. Server harus mampu mengambil data yang dibutuhkan dari tabel dan mengirimkannya kepada client dalam bentuk cursor. Server hanya perlu mengirimkan cursor kepada client dan membiarkan client yang memproses data.

Dari dua tingkatan diatas arsitektur client/server juga dikenal dengan istilah two-tier application, user interface berada pada tier pertama sedangkan data provider berada pada tier kedua. Ada dua macam arsitekur client/server yaitu :

 Client Centric

Selain user interface dan database server ada lagi satu komponen yang melekat pada arsitektur client/server, yaitu business services. Pada client centric business service berada pada tier client (dalam hal ini aplikasi Visual Basic). Proses validasi ataupun proses yang berhubungan dengan kegiatan bisnis akan dilakukan dalam tier client, dan server hanya digunakan sebagai penyedia dan penyimpan data.

 Server Centric

Kebalikan dari client centric, pada server centric proses validasi maupun proses yang berhubungan dengan kegiatan bisnis berada pada komputer server. Server selalu melakukan pengecekan terhadap setiap transaksi termasuk melakukan penolakan terhadap suatu transaksi. Dalam artikel ini digunakan salah satu fasilitas yang dimiliki oleh SQL Server yaitu store procedur sebagai contoh.

Dari kedua macam arsitektur client/server tersebut masing-masing mempunyai kelebihan dan kekurangan. Jika suatu aplikasi client/server yang menerapkan client centric dimana semua proses bisnis dilakukan di client, yaitu sebelum melakukan transaksi dengan server, maka fungsi server disini hanya sebagai penyedia dan penyimpan data. Sedangkan keuntungan dari server centric adalah pada saat suatu aplikasi melakukan perubahan pada proses bisnis. Misalnya suatu aplikasi penjualan barang, jika terjadi perubahan diskon terhadap barang yang dijual, cukup dilakukan perubahan pada server tanpa perlu melakukan perubahan pada setia client.

Database dan Tabel pada SQL Server

Dalam artikel ini penulis tidak membahas cara membuat database dan tabel dengan SQL Server karena sudah pernah dibahas pada artikel sebelumnya dan juga banyak buku-buku maupun artikel yang mengulasnya. Diasumsikan sudah ada sebuah database yang mempunyai beberapa tabel didalamnya salah satunya adalah tabel barang yang akan digunakan sebagai contoh aplikasi client/server pada pembahasan selanjutnya dalam artikel ini.

(3)

109 Model Aplikasi Client / Server (Jupri)

Database dan tabel disimpan pada Server/Tier Kedua sebagai Data Provider. Sedangkan struktur tabel tersebut adalah sebagai berikut :

Nama Database : Inventory Nama Tabel : Barang Primary Key : KodeBrg Foreign Key : -

Tabel 1. Tabel barang

No

Nama Field

Type

Size

Keterangan

1

KodeBrg

VarChar

5

Kode Barang

2

Nama

VarChar

20

Nama Barang

3

Satuan

VarChar

10

Nama Satuan

4

HargaBeli

Int

4

Harga Beli

5

HargaJual

Int

4

Harga Jual

Design Tampilan pada Tier Pertama (User Interface)

(4)

110 Techno.COM, Vol. 7 No. 2, Agustus 2008

Business Service diletakkan pada Tier Kedua (Data Provider)

Proses bisnis dalam aplikasi ini berupa perintah untuk memanipulasi 90

data baik statment insert, update, delete dan select. Statement insert dan update akan diletkkan pada komputer server dengan memanfaatkan salah satu fasilitas yang dimiliki oleh SQL Server, yaitu stored procedure. Sedangkan statement select dan delete akan ditempatkan pada komputer clinet menyatu dengan user interface. Hal ini bukan suatu keharusan melainkan penulis hanya bermaksud memberikan contoh tentang kedua arsitektur model client/server diatas (client centric dan server centric). Untuk server centric penulis memanfaatkan salah satu fasilitas dari SQL Server yaitu stored procedure. Pembuatan stored procedure ini dibuat dengan menggunakan statement Transact-Sql. Untuk menjalankan stored procedure digunakan perintah execute diikuti nama stored procedure dan diikuti oleh parameter masukan jika ada. Adapun stored procedure yang dibuat antara lain :

Stored procedure untuk menambah data barang

CREATE PROCEDURE AddBarang

@pKodeBrg nvarchar(5), @pNama nchar(20), @pSatuan nvarchar(10), @pHargaBeli int, @pHargaJual int

AS

DECLARE @ErrorCode int

INSERT Barang(KODEBRG, NAMA, SATUAN, HARGABELI, HARGAJUAL) VALUES (@pKodebRG, @pNama, @pSatuan, @pHargaBeli, @pHargaJual) SET @ErrorCode=@@ERROR IF (@ErrorCode=0) RETURN (0) ELSE RETURN (@ErrorCode) GO

Stored procedure untuk mengedit data barang

CREATE PROCEDURE EditBarang

@pKodeBrg nvarchar(5), @pNama nvarchar(20), @pSatuan nvarchar(10), @pHargaBeli Int, @pHargaJual int

AS

DECLARE @ErrorCode int

UPDATE Barang SET KODEBRG=@pKodeBrg, NAMA=@pNama, SATUAN=@pSatuan,

HARGABELI=@pHargaBeli, HARGAJUAL=@pHargaJual WHERE KodeBrg=@pKodeBrg SET @ErrorCode=@@ERROR

IF (@ErrorCode=0) RETURN (0)

(5)

111 Model Aplikasi Client / Server (Jupri)

ELSE

RETURN (@ErrorCode) GO

Untuk client centric penulis memanfaat event dari Visual Basic. Dalam artikel ini penulis membuat event untuk menghapus data(delete) dan menapilkan data(select). Adapun event tersebut adalah :

Event untuk menghapus data

Private Sub cmdHapus_Click() Dim x As String

x = MsgBox("Yakin Data diHapus", vbOKCancel, "Perhatian") If x = vbOK Then

Set rs = New ADODB.Recordset

strsql = "delete from barang where kodebrg='" & txtKodeBrg.Text & "'" rs.Open strsql, conn, adOpenDynamic, adLockOptimistic

Form_Load End If

End Sub

Event untuk menampilkan data

Set conn = New ADODB.Connection

conn.ConnectionString = "Provider=SQLOLEDB.1;" & _ "Integrated Security=SSPI;" & _ "Persist Security Info=False;" & _ "Initial Catalog=inventory;" & _ "Data Source=fasilkom"

conn.Open

conn.CursorLocation = adUseClient Set rs = New ADODB.Recordset

rs.Open "select * from barang", conn Set DataGrid1.DataSource = rs If rs.RecordCount = 0 Then cmdSimpan.Enabled = False kosong Else Tampil cmdTambah.Enabled = True End If rs.Requery End Sub

(6)

112 Techno.COM, Vol. 7 No. 2, Agustus 2008

Procedure-procedure selengkapnya pada Visual Basic Dim conn As ADODB.Connection

Dim rs As ADODB.Recordset Dim strsql As String

Private Sub cmdEdit_Click() If cmdEdit.Caption = "Edit" Then cmdEdit.Caption = "Batal" cmdSimpan.Enabled = True cmdTambah.Enabled = False cmdHapus.Enabled = False txtKodeBrg.SetFocus txtKodeBrg.Enabled = False Else cmdEdit.Caption = "Edit" Form_Load End If End Sub

Private Sub cmdHapus_Click() Dim x As String

x = MsgBox("Yakin Data diHapus", vbOKCancel, "Perhatian") If x = vbOK Then

Set rs = New ADODB.Recordset

strsql = "delete from barang where kodebrg='" & txtKodeBrg.Text & "'" rs.Open strsql, conn, adOpenDynamic, adLockOptimistic

Form_Load End If

End Sub

Private Sub cmdSimpan_Click() Dim oParam As ADODB.Parameter Dim ADOCmd As ADODB.Command Dim ADOError As ADODB.Error Set ADOCmd = New ADODB.Command ADOCmd.ActiveConnection = conn Set oParam = ADOCmd.CreateParameter Param.Name = "RETURN_VALUE"

Param.Type = adInteger

Param.Direction = adParamReturnValue ADOCmd.Parameters.Append oParam 'KODE BARANG

(7)

113 Model Aplikasi Client / Server (Jupri)

Set Param = ADOCmd.CreateParameter Param.Name = "pKodeBrg" Param.Type = adChar Param.Size = 5 Param.Direction = adParamInput Param.Value = txtKodeBrg.Text ADOCmd.Parameters.Append Param 'Nama

Set Param = ADOCmd.CreateParameter Param.Name = "pNama" Param.Type = adChar Param.Size = 20 Param.Direction = adParamInput Param.Value = txtNama.Text ADOCmd.Parameters.Append oParam Set Param = ADOCmd.CreateParameter Param.Name = "pSatuan" Param.Type = adChar Param.Size = 10 Param.Direction = adParamInput Param.Value = txtSatuan.Text ADOCmd.Parameters.Append oParam Set Param = ADOCmd.CreateParameter Param.Name = "pHargaBeli"

Param.Type = adInteger

Param.Direction = adParamInput Param.Value = txtHargaBeli.Text ADOCmd.Parameters.Append oParam Set Param = ADOCmd.CreateParameter Param.Name = "pHargaJual" Param.Type = adInteger Param.Direction = adParamInput Param.Value = txtHargaJual.Text ADOCmd.Parameters.Append oParam

If cmdTambah.Caption = "Batal" Then ADOCmd.CommandText = "AddBarang" ADOCmd.CommandType = adCmdStoredProc Else ADOCmd.CommandText = "EditBarang" ADOCmd.CommandType = adCmdStoredProc End If

(8)

114 Techno.COM, Vol. 7 No. 2, Agustus 2008

ADOCmd.Execute

If cmdTambah.Caption = "Batal" Then MsgBox ("Tambah Data Sukses Penuh") cmdTambah.Caption = "Tambah"

Else

MsgBox ("Update Data Sukses Penuh") cmdEdit.Caption = "Edit"

End If

Set ADOCmd = Nothing rs.Requery

rs.MoveLast Form_Load End Sub

Private Sub cmdTambah_Click()

If cmdTambah.Caption = "Tambah" Then cmdTambah.Caption = "Batal" cmdSimpan.Enabled = True txtKodeBrg.SetFocus kosong Else cmdTambah.Caption = "Tambah" Form_Load End If End Sub

Private Sub Form_Load()

Set conn = New ADODB.Connection

conn.ConnectionString = "Provider=SQLOLEDB.1;" & _ "Integrated Security=SSPI;" & _ "Persist Security Info=False;" & _ "Initial Catalog=inventory;" & _ "Data Source=fasilkom"

conn.Open

conn.CursorLocation = adUseClient Set rs = New ADODB.Recordset

rs.Open "select * from barang", conn Set DataGrid1.DataSource = rs

rs.Requery End Sub

(9)

115 Model Aplikasi Client / Server (Jupri)

Private Sub kosong() txtKodeBrg.Text = "" txtNama.Text = "" txtSatuan.Text = "" txtHargaBeli.Text = "" txtHargaJual.Text = "" End Sub

Private Sub Tampil()

Set txtKodeBrg.DataSource = Adodc1 Set txtNama.DataSource = Adodc1 Set txtSatuan.DataSource = Adodc1 Set txtHargaBeli.DataSource = Adodc1 Set txtHargaJual.DataSource = Adodc1 txtKodeBrg.DataField = "KodeBrg" txtNama.DataField = "Nama" txtSatuan.DataField = "Satuan" txtHargaBeli.DataField = "HargaBeli" txtHargaJual.DataField = "HargaJual" End Sub

KESIMPULAN

Dengan arsitektur client/server komputer yang berbeda melakukan tugas yang berbeda, setiap komputer bisa dioptimalkan untuk tugas tertentu, terjadi pembagian tugas antara komputer satu dengan yang lain dalam suatu jaringan.

Pada server centric perubahan pada tingkat business service bisa dilakukan pada komputer server saja, tidak harus ke semua client.

DAFTAR ISI

1. Evangelos Petroutsos, Menguasai Pemrograman Database dengan Visual Basic 6, PT Elex Media Komputindo, Jakarta 2002

2. Imam A.W. SQL Server 2000 , Graha Ilmu, Yogyakarta 2005

3. Michael Halvorson, Step by Step Microsoftr Visual Basic 6.0 Profesional, PT Elex Media Komputindo, Jakarta 2001

Gambar

Gambar 1. Design Tampilan Form Barang

Referensi

Dokumen terkait

Menurut Deutsch dan Bontekoei (1999), falsafah awal ditemui berkaitan dengan bidang psikologi muncul sejak zaman Socrates lagi iaitu permulaan kepada zaman

Hasil hutan kayu adalah hasil hutan yang diperoleh dari tegakan hutan / pohon berupa bahan-bahan berkayu / selulosa yang dapat langsung dimanfaatkan atau diolah kembali

Sasaran kawasan tanpa rokok adalah gedung kantor dan tempat kerja, tempat proses belajar mengajar, tempat pelayanan kesehatan, arena kegiatan anak- anak dan tempat ibadah

1 MENDESKRIPSIKAN DATA Secara Grafik Bab II 2 Tipe Data Data Kategori Numerik Diskrit Kontinu Contoh:  Status pernikahan  Agama  Warna Mata Contoh:  Jumlah anak

Berdasarkan hasil analisis dari penelitian yang dilakukan, maka dapat disimpulkan bahwa work family conflict berpengaruh negatif terhadap kepuasan kerja pada karyawan

Hubungan pengendalian dapat timbul sebagai akibat hubungan kepengurusan. Komisaris, Direksi dan atau Pejabat Eksekutif Bank beserta keluarganya ditetapkan sebagai

Nama Lokal : Lepu ayam Nama Latin : Pterois volitans Nama Internasional :

---Bahwa terdakwa POLLYCARPUS BUDIHARI PRIYANTO baik bertindak secara sendiri-sendiri ataupun bersama-sama dengan YETI SUSMIARTI dan OEDI IRIANTO (dalam berkas