Modul Lengkap Pemrograman Client Server
Modul Lengkap Pemrograman Client Server
by
andris_faesal
Bab I
Introduction with Database Client-Server
1. Pendahuluan
Pemanfaatan perangkat lunak berperan erat bagi perkembangan di semua
lini, baik itu institusi pendidikan, lingkungan bisnis, maupun kalangan pribadi.
Tentunya tidak berpulang dari penggunaan perangkat lunak tersebut, sampai sejauh
mana fungsinya dapat diberdayakan dan seberapa besar biaya yang
dibutuhkan
server
sebagai
temapat penyimpanannya dan client sebagai tempat input data atau proses lainnya.
Selain contoh diatas, yang termasuk aplikasi yang mengadopsi system client-server
yaitu facebook, yahoo, google, atau media yang lain yang mana kita sebagai client
dapat mengopersikannya dari mana saja selama terhubung dengan media internet
dan data yang telah kita inputkan tadi dapat disimpan di computer server, dan data
yang telah kita simpan tadi dapat kita ambil kapanpun dan dimana pun selama kita
terhubung dengan dengan server tersebut.
2. Definisi
Dari pendahuluan diatas, aplikasi yang berbasis client- server itu sendiri
didefinisikan sebagai berikut :
a. Komputasi client-server melibatkan pembagian suatu aplikasi ke dalam beberapa
task dan meletakkan setiap task pada platform yang dapat menangani secara
efisien.
b. pemrosesan data bisa berada pada client atau di-split diantara client dan
server.
c. Server dihubungkan ke client melalui suatu jaringan
Sehingga dapat disimpulkan bahwa yang dimaksud dengan aplikasi
berbasis client- server itu sendiri yaitu sebuah sistem dimana client dan server
terhubung satu sama lain untuk melakukan proses data dalam sebuah
jaringan. (dot).
Gambar 1. Client-server
Bab II
Kebutuhan Software pada komputer Client dan
komputer Server
Object
penambahan
data (detele,update,insert).
3. Views
View merupakan tampialn virtual dari data yang tersimpan di server. View di
buat untuk kepentingan penampilan data, jika dibutuhkan tampilan data yang
tidak sama strukturnya dengan struktur tabel secara fisik.
4. Store Procedure
Pengertian procedure sama dengan procedure pada umumnya sekelompok
perintah yang digunakan untuk mengerjakan rutin tertentu dan tidak
menghasilkan keluaran secara explisit. Procedure dan function juga sering
juga dikenal dengan sub rutin. Perbedaannya hanya function dapat
mengembalikan nilai/keluaran secara explisit. Pada beberapa produk server
database hanya tersedia procedure saja seperti di Ms. SQL Server pada
produk lain seperti postgreSQL hanya tersedia function saja. Sebagian besar
server programming di gunakan untuk mendefinisikan store procedure.
5. Function
6. User.
Oleh karena pengguna dari database yang disimpan di database server di
gunakan oleh banyak orang (shared) yang memegang komputer client maka
user juga harus didefinisikan.
7. Group
User user dengan hak yang sama atau hampir sama akan
diklompokan
hak
untuk
insert, hak untuk update, hak untuk delete, hak untuk execute. User yang
berbeda dapat diberi hak yang berbeda beda tergantung deskripsi keamanan
yang dibuat.
9. Transaction
Pengertian transaksi sangat penting dalam pembuatan program pengolahan
data, karena data yang tersimpan harus diusahakan agar tetap logic. Sebuah
transaksi adalah sekumpulan perintah yang dijalankan dan semua perintah
itu harus dijalankan dengan sukses semua, maka transaksi disebut mencapai
commit. Atau semua perintah tersebut gagal semua atau disebut transaksi
disbut mencapai rollback. Perintah yang berhubungan dengan transaksi
adalah:
Begin transaction
Commit Transaction
Rollback Transaction
Setiap transaksi yang didefinisikan harus berakhir pada perintah commit
transaction berarti transaksi berhasil dilaksanakan dan rollback transaction
berarti transaksi gagal dilaksanakan.
B. ODBC
Open Database Connection atau disingkat ODBC (Data Sources) adalah sebuah
fasilitas penghubung antara database dengan program aplikasi yang lain. Sehingga
kebutuhan terhadap ODBC ini sangatlah penting untuk menjalankan sebuah aplikasi
berbasis client-server ini,
Untuk xampp membutuhkan ODBC minimum versi 5.1.5 (My SQL ODBC
5.1.5
Driver) yang harus diinstal terlebih dahulu di komputer client yang nantinya akan
memanggil database ke server, bagi yang belum menginstal aplikasi ini dapat
mendownload aplikasi ini secara bebas di internet karena sifatnya yang free juga.
Setelah aplikasi tersebut diinstal pada komputer client, maka untuk mengaksesnya
atau menggunakan aplikasi ini yaitu depat melalui Control panel => Administrative
Tools => lalu pilih Data Sources (ODBC). Atau dapat melalu fasilitas pencarian di
windows dengan menekan Ctrl + R pada keybord lalu ketik ODBCAD32 lalu tekan
Enter, maka akan muncul sebuah form dengan tampilan seperti gambar dibawah
ini
:
C. Borland Delphi
Delphi adalah sebuah bahasa pemrograman visual di lingkungan windows
( under windows) yang menggunakan bahasa pascal sebagai Compiler. Keberadaan
bahasa pemrograman Delphi tidak bisa dipisahkan dari bahasa Turbo pascal yang
diluncurkan pada tahun 1983 oleh Borland International Incorporation. Turbo pascal
memang dirancang untuk dijalankan pada operasi DOS (Disk Operating System)
yang merupakan sistem operasi yang banyak digunakan pada saat ini.
7.0
karena
10
Bab III
Pembuatan Database dan Manajeman User
1. Definisi Database
Database adalah kumpulan fakta-fakta sebagai representasi dari dunia nyata
yang berhubungan dan mempunyai arti tertentu.
Database managemen system adalah sebuah program komputer yang
memungkinkan pengguna untuk membuat dan memelihara database sehingga
pengguna
dapat
memasukkan,
mengubah,
menghapus,
memanipulasi,
dan
memperoleh kembali data tersebut dengan mudah. Sebagai contoh DBMS yang
sering kita gunakan adalah My SQL, Ms. Access, Ms. SQL Server, dan lain-lain.
Suatu database terdiri beberapa object, diantaranya tabel, view, domain,
stored procedure, dan triger. Obyek-obyek database menyimpan semua informasi
mengenai struktur database dan data.
Istilah-istilah dalam Database diantaranya :
a. Entitas
Adalah suatu objek, yang mana data akan disimpan, diorganisasikan dan
dimanipulasi. Segala informasi, yang ingin kita ketahui adalah Entitas, misalnya
orang, tempat, atau benda. Contoh suatu Entitas misalnya Pelanggan Toko dan
data Inventori Toko.
b. Attribut
adalah Informasi atau data tunggal berkenaan terhadap suatu Entitas. Bila kita
menganggap Inventori Toko sebagai suatu Entitas, maka Keterangan Produk,
Harga Produk, dan Ketersediaan (Stok) Produk adalah Atribut .
c. Entitas
Direpresentasikan sebagai suatu Tabel. Suatu tabel berisi field-field (kolomkolom) yang saling berhubungan (field adalah bagian atau potongan informasi).
Contoh: Dalam Tabel Inventori akan berisi field-field (kolom-kolom) seperti Kode
Produk, Keterangan Produk, Ketersediaan Produk, Harga Produk, dan lain-lain..
d. Atribut
perantara
pemakai
dengan database
dalam media
Server,
MySQL,
Kelebihan dari xampp sendiri yang telah suport dengan apace didalamnya,
my sql sebagai databasenya. Selain itu terdapat Filezila yang biasa digunakan untuk
menyimpan file ke dalam server.
OK. Sebelum kita memulai praktek kita kali ini, anda terlebih dahulu
mempersiapkan tools yang akan kita gunakan kali ini yaitu : xampp-win32 versi 1.7.3
atau diatasnya, (saya sarankan menggunakan versi 1.7.3 atau versi 1.7.4 yang lebih
stabil).
Setelah aplikasi xampp terinstal di komputer anda, maka kita siap untuk
memulai pembuatan database, OK, berikut langkah-langkahnya :
a. Jalankan aplikasi kontrol panel dari xampp (xampp control panel).
nyala,
maka kita bisa mencentang ceklist apace dan My SQL yang berada di samping
kiri.
nama
komputer
http://namakomputer/phpmyadmin.
itu
sendiri
misalnya
d. Buat Database
Untuk membuat database, mula-mula ketik nama database yang kita ingin buat
di kolom create new database (versi English) I ciptakan database baru (versi
indonesia), setelah itu tekan tombol create.
e. Buat Table
Setelah database berhasil dibuat maka proses selanjutnya yang kita kerjakana
yaitu membuat table, dimana Tabel adalah sebuah struktur data yang terdiri dari
kumpulan baris dan kolom, yang berfungsi untuk menyimpan data dalam bentuk
record.
Untuk membuat table dengan cara mengisi nama table yang kita ingin buat di
kolom name dan jumlah fields yeng ada pada table tersebut pada kolom
number of fields sepeti gambar dibawah ini.
dibawah.
No
Nama Fields
Ukuran Fields
Ket
key
Kd_barang
Varchar
10
Nm_barang
Varchar
20
Satuan
Varchar
15
Harga_beli
Decimal
Harga_jual
Decimal
2.
No
Nama Fields
Ukuran Fields
Ket
10
key
Kd_masuk
Varchar
Tgl_masuk
Date
Id_distributor
Jumlah
3.
Varchar
Int
No
Nama Fields
Ukuran Fields
Ket
key
Id_distributor
Varchar
Nm_distributor
Varchar
20
Alamat
Varchar
40
No_Telp
Varchar
13
Ukuran Fields
10
4.
No
Nama Fields
Kd_transaksi
Varchar
Tgl_transaksi
Date
Kd_barang
Varchar
10
Nm_Barang
Varchar
20
Satuan
Varchar
15
Harga_beli
Decimal
Jumlah
Total
Int
Decimal
Ket
Setelah semua table dibuat maka akan tampak semua table tersebut sepert
gambar dibawah ini :
f.
Relasi merupakan hubungan antara table satu dengan table yang lain dimana
antara table tersebut harus memiliki field yang sama.
Menyatakan relasi antar table bahwa hubungan foreign key dengan primary key,
Sebuah foreign key tidak dapat dimasukkan kedalam sebuah table bila primary
key tidak atau belum ada.
Cara membuat relasi didalam database yaitu (masih jendela Mozilla Firefox ) klik
menu Designer di dalam database, dan buat relasi seperti dibawah ini :
saja
database
sekaligus sebagai client), dan user lain dari client lain / luar tidak
dapat mengkases layanan server database ini.
Retype : salinan dari password yang kita isi sebelumnya yang bertujuan
untuk membuat validasi password.
20
6. Setelah mencetang semua privasi / hak akses sesuai kebutuhan, lalu klik
Go
Untuk membuat user yang kita isi tersebut.
b. Local Setting
Untuk setting lokal hampir sama langkahnya dengan setting global, hanya disini
si user tersebut hanya diberikan hak akses untuk database tersebut dan tidak
dapat mengakses database yang lain atau membuat database yang baru, berikut
langkah-langkahnya :
1. Buka menu home database atau ketik alamat http://localhost/phpmyadmin
dan pilih databasa yang akan diakses oleh user tersebut.
2. pada page sebelah kanan, klik menu Privileges I Hak akses, dan akan
muncul seperti gambar dibawah ini :
Any Host : yaitu si user dapat dari komputer mana saja untuk
mengakses database server karena hak nya disini bebas, sehingga
semua client dpat mengakses database server ini.
terlebih
5. Setelah mengisi kolom diatas, lalu turun ke bagian bawah dan tekan
tombol
Go tanpa mencentang apapun di halaman ini.
6. Setelah menekan tombol Go, maka akan muncul halaman
baru
yang
berisikan database toko tersebut, disana semua ceklis dicentang atau sesuai
kebutuhan hak akses yang diinginkan sesperti gambar dibawah ini
7. Setelah mencetang semua privasi / hak akses sesuai kebutuhan, lalu klik
Go
Untuk membuat user yang kita isi tersebut, dan Selesai.
Bab IV
Koneksi Clinet-Sever dan ODBC
Berdasarkan Penjelasan ODBC di Bab II sebelumnya, dijelaskan apa itu ODBC dan
cara PengInstalasiannya, Berikut adalah langkah-langkah cara pembuatan ODBC ;
a. Untuk membuat ODBC baru, klik tombol Add, maka akan keluar form seperti
dibawah ini :
b. Cari dan pilih setup data source bernama MySQL ODBC 5.1 Driver , jika Data
Source tersebut tidak ada, maka instal terlebih dahulu aplikasi ODBC sesuai
penjelasan diatas. Jika sudah, maka langkah selanjutnya menekan tombol Finish
hingga Form ODBC Configuration muncul.
c. Setelah gambar diatas muncul, dilanjutkan untuk mengisi kolom inputan yang
disediakan, dimana penjelasananya dari kolom tersebut yaitu :
Data Source Name : Merupakan nama Data Source yang
nantinya akan kita panggil menggunakan aplikasi pemrograman pada
Bab selanjutnya.
Description : merupakan keterangan tambahan yang tidak wajib
untuk diisi.
Server
Nama
server
atau
alamat
server
tempat
mencoba
apakah koneksi berhasil atau tidak dengan cara menekan tombol Test, jika
koneksi berhasil maka akan meuncul pesan sukses, dan jika tidak coba periksa
kembali koneksi jaringan anda atau hak akses oleh user yang nada buat
sebelumnya hingga proses berhasil.
f.
Konfigurasi
ODBC tersebut dengan menekan tombol OK hingga nama ODBC yang kita buat
tadi muncul di dalam daftar ODBC.
sampai
Borland
Bab V
Implementasi with Borland Delphi
1. Pembuatan Datamodule
Datamodule merupakan sebuah form yang terdapat di dalam Delphi yang
merfungsi untuk menempatkan komponen-komponen database
atau
komponen
yang lain yang akan digunakan bersama oleh form-form dalam satu project delphi.
Cara pembuatan Datamodule yaitu dengan membuat project delphi terlebih
dahulu melalui pilih New => DataModule, berikut langkah-langkahnya.
a.Membuka / membuat project Delphi Baru
Membuat Datamodule.
Cara membuatnya yaitu dengan Menu File => New => Data Module.
Meletakkan komponen database, antara lain : satu buah ADOConnection, 7
Buah AQOQuery, dan 5 buah DataSource.
30
31
1. ADO Connection
Ganti nama ADOConnection 1 = "hub "
Doble klik lalu panggil Databasenya
Ubah LoginPrompt menjadi False
Ubah Connection menjadi True
2. ADO Query 1
Name
: QBarang
Connection
: hub
SQL
Active
: True
3. ADO Query 2
Name
: QDistributor
Connection
: hub
SQL
Active
: True
4. ADO Query 3
Name
: QMasuk
Connection
: hub
SQL
Active
: True
5. ADO Query 4
Name
: QTransaksi
Connection
: hub
SQL
Active
: True
6. ADO Query 5
Name
: QKode
Connection
: hub
SQL
Active
: True
7. ADO Query 6
Name
: QStock
Connection
: hub
SQL
: Select QSisa.*,
Barang.Harga_Jual,
Barang.Nm_Barang, Barang.Satuan,
Barang.Harga_Beli
from
QSisa,
Barang
where
: True
8. ADO Query 7
Name
: QMaya
Connection
: hub
SQL
Active
: True
9. DataSource 1
Name
: DBarang
Dataset
: QBarang
10. DataSource 2
Name
: DDistributor
Dataset
: QDistributor
11. DataSource 3
Name
: DMasuk
Dataset
: QMasuk
12. DataSource 4
Name
: DTransaksi
Dataset
: QTransaksi
13. DataSource 5
Name
: DMaya
Dataset
: QMaya
2. Pembuatan Form
Untuk Pembuatan Form di Delphi yaitu dengan Menu File => New => Form, maka
akan muncul sebuah Form kosong yang berfungsi untuk menempatkan semua
komponen-komponen visual yang akan digunakan untuk aplikasi yang kita
bangun.
Dari Form Tersebut, desainlah 5 Form dengan tampilan form pada gambar gambar
berikut ini :
e. FormTransaksi
Setelah anda membuat semua form tersebut, langkah selanjutnya kita akan
menuliskan perintah-perintah atau source code pada masing-masing form tersebut.
Pada bab selanjutnya, kita akan mempelajari jenis-jenis perintah yang berfungsi
untuk menyimpan data record antara lain seperti :
1. Save record with Properties.
2. Save record with Index
3. Save record with Field by Name, dan
4. Save record with Trigger
Bab VI
Save record with Properties
Berikut lengkapnya :
1. DBEdit1
Datasource
: DataModule2.DBarang
Datafield
: Kd_Barang
2. DBEdit2
Datasource
: DataModule2.DBarang
Datafield
: Nm_Barang
3. DBEdit3
Datasource
: DataModule2.DBarang
Datafield
: Satuan
4. DBEdit4
Datasource
: DataModule2.DBarang
Datafield
: Harga_Beli
5. DBEdit5
Datasource
: DataModule2.DBarang
Datafield
: Harga_Jual
Setelah semua diatur sesuai petunjuk diatas, selanjutnya kita mengisi perintah
perintah / sourcecode yang dibutuhkan, yang perlu di ingat perintah-perintah yang kita
gunakan untuk mengakses record adalah sebagai berikut :
a. Menambah Record baru : Datamodule2.QBarang.Append;
b. Menyimpan Record baru : Datamodule2.QBarang.Post;
c. Membatalkan Record baru : Datamodule2.QBarang.cancel;
d. Menghapus Record : Datamodule2.QBarang.Delete;
e. Merubah Record : Datamodule2.QBarang.Edit;
Dari semua jenis perintah diatas, berikut adalah perintah keseluruhan dari form
data barang diatas.
procedure TFBarang.FormShow(Sender: TObject); begin
// ketika form aktif maka perintah di eksekusi With DataModule2 do
Begin
QBarang.SQL.Clear;
QBarang.SQL.Add('Select * From Barang Order by Kd_Barang'); QBarang.Active:=True;
End; DBEdit1.Enabled:=False; DBEdit2.Enabled:=False;
40
Bab VII
Save record with Index
penggunaan
untuk
DBEdit
penyimpanan
menggunkan
lambang
index
([nomer index]), berikut contoh penulisan codding / source code menggunkan index :
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:=''; Edit1.Enabled:=False; Edit2.Enabled:=False; Edit3.Enabled:=False; Edit4.Enabled:=
end;
Bab VIII
Save record with Field by Name
penggunaan
untuk
DBEdit
penyimpanan
(Number),
sedangkan pada inputan Edit3 menggunakan tipe String, perbedaan tipe data disini
yang harus mekakukan konfersi tipe data yang dari String ke Integer menggunakan
perintah StrToInt (String ke Integer).
Berikut adalah perintah keseluruhan dari form data Distributor diatas.
Bab IX
Save record with Trigger
Penyimpanan Record dengan menggunakan Trigger yaitu metode atau cara
penyimpanan record yang menggunakan perintah SQL (Struktur
Query
Language)
Edit2.Text:='';
Edit3.Text:=''; DateTimePicker1.Date:=Now; LNama.Caption:='-'; LSatuan.Caption:='-'; LHarga.Ca
with DataModule2 do Begin
QStock.SQL.Clear;
QStock.SQL.Add('Select QSisa.*, Barang.Nm_Barang, '+ 'Barang.Satuan, Barang.Harga_Jual, Baran
'where QSisa.Kd_Barang=Barang.Kd_Barang order by '+ 'QSisa.Kd_Barang');
QStock.Active:=True;
//--- QTransaksi.SQL.Clear;
QTransaksi.SQL.Add('Select * From Transaksi Order by '+ 'Kd_Transaksi Desc');
QTransaksi.Active:=True;
//--- Maya QMaya.SQL.Clear;
QMaya.SQL.Add('Select * From Transaksi where '+ 'kd_Transaksi like '+QuotedStr(Edit1.Text)+' Or
QMaya.Active:=True; End;
end;
50
Edit2.Text:='';
Edit3.Text:='';
LNama.Caption:='-'; LSatuan.Caption:='-'; LHarga.Caption:='Rp O'; LTotal.Caption:='-';
//--- Segarkan table Maya QMaya.SQL.Clear;
QMaya.SQL.Add('Select * From Transaksi where '+ 'kd_Transaksi like '+QuotedStr(Edit1.Text)+' Or
QMaya.Active:=True; harga_total:=O;
For i:=1 to QMaya.RecordCount do Begin
QMaya.RecNo:=i; total:=QMaya['Total']; harga_total:=harga_total+total;
End;
LTotal.Caption:=FormatCurr('Rp #,##O',harga_total); End;
End; end;
Bab X
Implementasi with Report
c. Setelah tampil Form seperti gambar diatas, selanjutnya buat Data Object
dengan cara Klik File > Klik New Data Object, lalu pilih Direct Data View dan
Next lalu pilih RvDataSet
e. Selelah langkah 4 selesai, maka akan tampak seperti gambar dibawah ini.
f.
Selanjutnya simpan project report tersebut dengan nama RNota pada direktori
projek aplikasi diatas yang anda bangun.
g. Untuk perintah memanggil Laporan Rave dari Delphi gunakan Perintah :
procedure TFTransaksi.CetakClick(Sender: TObject);
begin
RvProject1.ProjectFile:='RNota.rav';
RvProject1.Execute;
end;
port
b. Jika Paket Quick Report berhasil di install maka akan muncul tab Quick Re
seperti gambar dibawah ini.
c.
Untuk membuat Report, Selanjutnya Klik File > New > Other kemudian
Report sehingga akan muncul seperti gambar dibawah ini.
pilih
d. Setelah menekan tombol OK, maka akan muncul sebuah Form Report yang
mana form Report tersebut akan digunkan untuk menempatkan komponenkomponen report pada toolbar QReport, dan lakukan / desainlah tampilan report seperti report dibawah ini :
e. Selanjutnya ganti nama Form tersebut dengan nama RTransaksi agar lebih
mudah mengingatnya.
f.
procedure TFTransaksi.CetakClick(Sender:
Berikut adalah hasilTObject);
previewbegin
dari report yang kita desain diatas.
with DataModule2, QTransaksi do Begin
SQL.Clear;
SQL.Add('Select * From Transaksi Order by Kd_Transaksi'); Active:=True;
If QTransaksi.RecordCount>O Then Begin
//untuk tampil Data RTransaksi.Preview;
//untuk cetak Data RTransaksi.Print;
End else Begin
MessageDlg('Maaf, Transaksi Belum ada, data transaksi '+ 'tidak dapat dicetak',mtInformation,[mbOK],O); FormShow(Sender
End; End;
end;
g.
Demikian Modul singkat kali ini, semoga dengan modul ini ada dapat mengasah
kemampuan anda secara belajar terus dan sering-seting mencoba hal-hal yang baru.
Tugas
:
Dari modul diatas, buatlah sebuah project aplikasi mulai dari database, selasi,
aplikasi hingga dapat mencetak laporan dengan lengkap (aplikasi layak pakai)
Project dikumpulkan dalam bentuk laporan serta project aplikasinya.
Berikut contoh judulnya :
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Referensi
Daftara Pustaka
http://andrisfaesal.blogspot.com
60