Modul Lengkap Pemrograman Client Server
-
Upload
alief-chandra -
Category
Documents
-
view
256 -
download
1
Transcript of Modul Lengkap Pemrograman Client Server
-
8/15/2019 Modul Lengkap Pemrograman Client Server
1/79
Modul Pemrograman Client-Server
andris_faesal
1
PEMROGRAMAN CLIENT-SERVER
with Borland Delphi 7 and M S!L
"#
andris_faesal
-
8/15/2019 Modul Lengkap Pemrograman Client Server
2/79
Modul Pemrograman Client-Server
andris_faesal
2
$t%i& "'%i(ora %atara%
)*+)
-
8/15/2019 Modul Lengkap Pemrograman Client Server
3/79
Bab I
Introduction with Database Client-Server
1 Pendahuluan
Pemanfaatan !erang"at luna" ber!eran erat bagi !er"embangan di semua
lini# bai" itu institusi !endidi"an# ling"ungan bisnis# mau!un "alangan !ribadi
$entun%a tida" ber!ulang dari !enggunaan !erang"at luna" tersebut# sam!ai se&auh
mana fungsin%a da!at diberda%a"an dan sebera!a besar bia%a %ang dibutuh"an
untu" !enera!ann%a Pemilihan !erang"at luna" %ang se&alan dengan "ebutuhanharus benar-benar di!erhati"an# "arena itu !erencanan awal dimulai dengan
mengindentifi"asi "ebutuhan di ling"ungan %ang ada Setelah !roses identifi"asi
"ebutuhan didaftar"an# "ita da!at memilih !erang"at luna" se!erti a!a %ang a"an
diguna"an $ulisan "ali ini# mem!er"enal"an salah satu bentu" client'server dengan
mengambil contoh !enggunaan server sebagai media atau !erang"at "eras %ang
diguna"an untu" men%im!an data sedang"an client berfungsi sebagai media atau
!erang"at "eras %ang diguna"an sebagai tem!at mengolah data atau !roses %ang
lain sebelum nantin%a disim!an "e databasePemamfaatan a!li"asi %ang berbasis client-server sangat ban%a" dan sering
di&um!ai di se"itar "ehidu!an "ita dan tam!a "ita sadarai bahwa a!li"asi tersebut
meru!a"an a!li"asi %ang mengado!si sistem client-server# se!erti (
- Sistem Informasi !engurusan )*S di )am!us S$MI) Bumigora Mataram
- +!li"asi Pemba%aran *e"ening ,istri" atau +ir
- +!li"asi Pemesanan $i"et Pesawat $erbang
- +!li"asi Perban""an# dan masih ban%a" %ang lainn%a
Contoh diatas meru!a"an a!li"asi %ang mengguna"an server sebagai
tema!at !en%im!anann%a dan client sebagai tem!at in!ut data atau !roses lainn%a
Selain contoh diatas# %ang termasu" a!li"asi %ang mengado!si s%stem client-server
%aitu faceboo"# %ahoo# google# atau media %ang lain %ang mana "ita sebagai client
da!at mengo!ersi"ann%a dari mana sa&a selama terhubung dengan media internet
dan data %ang telah "ita in!ut"an tadi da!at disim!an di com!uter server# dan data
%ang telah "ita sim!an tadi da!at "ita ambil "a!an!un dan dimana !un selama "ita
terhubung dengan dengan server tersebut
-
8/15/2019 Modul Lengkap Pemrograman Client Server
4/79
2 Definisi
Dari !endahuluan diatas# a!li"asi %ang berbasis client- server itu sendiri
didefinisi"an sebagai beri"ut (
a )om!utasi client-server melibat"an !embagian suatu a!li"asi "e dalam bebera!a
tas" dan meleta""an setia! tas" !ada !latform %ang da!at menangani secara
efisien
b !emrosesan data bisa berada !ada client atau di-s!lit diantara client danserver
c Server dihubung"an "e client melalui suatu åan
Sehingga da!at disim!ul"an bahwa %ang dima"sud dengan a!li"asi
berbasis client- server itu sendiri %aitu sebuah sistem dimana client dan server terhubung satu sama lain untu" mela"u"an !roses data dalam sebuah
åan. /dot0
ambar 1 Client-server
-
8/15/2019 Modul Lengkap Pemrograman Client Server
5/79
ambar 2 Client server dengan ob%e" terdistribusi
ambar 3eb based technolog%
Dari !en&elasan diatas da!at disim!ulan bahwa !erbedaan client dan server
adalah sebagai beri"ut (
+ Client
-
8/15/2019 Modul Lengkap Pemrograman Client Server
6/79
✓ +!li"asi ini di buat dengan bahasa !emrograman %ang mendu"ung "one"si
"e server
✓ +!li"asi %ang di la%ani
✓ +!li"asi ini da!at ber&alan di sistem o!erasi %ang sama dengan server# da!at
!ula berbeda
✓ Pemrosesan untu" !resentasi dileta""an !ada mesin user /"om!uter client0
-
8/15/2019 Modul Lengkap Pemrograman Client Server
7/79
B Server /server basis data0
✓ Software server menerima !ermintaan data dari software client dan
mengirim"an hasiln%a "e client
✓ Sebuah a!li"asi mesin basis data disebut server &i"a (
o Da!at men%im!an"an database
o Da!at dia"ses oleh ban%a" !ema"ai
✓ Da!at dia"ses oleh ban%a" !ema"ai dalam wa"tu bersamaan /concurenc%
acces0 Da!at men&aga sendiri /dari level database0 tida" ter&adin%a
!engubahan data oleh dua atau lebih user !ada baris %ang sama /loc"ing0
✓ Mendu"ung bahasa transa"sional
Contoh Contoh Server se!erti (
➢ 4racle 56 i
➢ Microsoft S7l Server 2666
➢ M% S7, /+!ace ' 8am!!0
➢ Interbase Server 96
➢ PosgreS7, :2
➢Informi;
➢ Dll
-
8/15/2019 Modul Lengkap Pemrograman Client Server
8/79
Bab II
)ebutuhan Software !ada "om!uter Client dan"om!uter Server
Sebelum beran&a" "e Pra"te"# mari "ita mengenal terlebih dahulu "ebutuhan
a"an software %ang a"an "ita guna"an dalam !embuatan a!li"asi berbasis client-server
diantaran%a (
+ Database
Database %ang a"an "ita guna"an untu" membangun sebuah a!li"asiberbasis client-server ini %aitu S7, /Structured 7uer% ,anguage0 adalah sebuah
bahasa !emrograman %ang diguna"an untu" ber"omuni"asi dengan server# dimana
S7, itu sendiri terbagi men&adi bagian %aitu (
✓ DM, /data mani!ulation language0 %aitu bahasa untu" memani!ulasi data#
✓ DD, /Data Definition ,anguage0 Bahasa un tu" mendefinisi"an stru"tur database
➢ C*
-
8/15/2019 Modul Lengkap Pemrograman Client Server
9/79
triger adalah event !engha!usan data# !engu!date-an data# !enambahan
data /detele#u!date#insert0
?iews
?iew meru!a"an tam!ialn virtual dari data %ang tersim!an di server ?iew di
buat untu" "e!entingan !enam!ilan data# &i"a dibutuh"an tam!ilan data %ang
tida" sama stru"turn%a dengan stru"tur tabel secara fisi"
@ Store Procedure
Pengertian !rocedure sama dengan !rocedure !ada umumn%a se"elom!o"
!erintah %ang diguna"an untu" menger&a"an rutin tertentu dan tida"
menghasil"an "eluaran secara e;!lisit Procedure dan function &uga sering
&uga di"enal dengan sub rutin Perbedaann%a han%a function da!at
mengembali"an nilai'"eluaran secara e;!lisit Pada bebera!a !rodu" server
database han%a tersedia !rocedure sa&a se!erti di Ms S7, Server !ada
!rodu" lain se!erti !ostgreS7, han%a tersedia function sa&a Sebagian besar
server !rogramming di guna"an untu" mendefinisi"an store !rocedure
9 >unction
A ser
4leh "arena !engguna dari database %ang disim!an di database server di
guna"an oleh ban%a" orang /shared0 %ang memegang "om!uter client ma"a
user &uga harus didefinisi"an
: rou!
ser user dengan ha" %ang sama atau ham!ir sama a"an di"lom!o"an
dalam satu gru!'"elom!o"
Permission ' *ight
a" dari user terhada! ob%e" ob%e" %ang ada se!erti tabel#store !rocedure
dan view a" %ang da!at diberi"an adalah ha" untu" select# ha" untu"
insert# ha" untu" u!date# ha" untu" delete# ha" untu" e;ecute ser %ang
berbeda da!at diberi ha" %ang berbeda beda tergantung des"ri!si "eamanan
%ang dibuat
5 $ransaction
Pengertian transa"si sangat !enting dalam !embuatan !rogram !engolahan
data# "arena data %ang tersim!an harus diusaha"an agar teta! logic Sebuah
transa"si adalah se"um!ulan !erintah %ang di&alan"an dan semua !erintah
itu harus di&alan"an dengan su"ses semua# ma"a transa"si disebut menca!ai
-
8/15/2019 Modul Lengkap Pemrograman Client Server
10/79
commit +tau semua !erintah tersebut gagal semua atau disebut transa"si
disbut menca!ai rollbac" Perintah %ang berhubungan dengan transa"si
adalah(
▪ Begin transaction
▪ Commit $ransaction
▪ *ollbac" $ransaction
Setia! transa"si %ang didefinisi"an harus bera"hir !ada !erintah commit
transaction berarti transa"si berhasil dila"sana"an dan rollbac" transaction
berarti transa"si gagal dila"sana"an
B 4DBC
4!en Database Connection atau dising"at 4DBC /Data Sources0 adalah sebuah
fasilitas !enghubung antara database dengan !rogram a!li"asi %ang lain Sehingga
"ebutuhan terhada! 4DBC ini sangatlah !enting untu" men&alan"an sebuah a!li"asi
berbasis client-server ini#
ntu" ;am!! membutuh"an 4DBC minimum versi 919 /M% S7, 4DBC 919
Driver0 %ang harus diinstal terlebih dahulu di "om!uter client %ang nantin%a a"an
memanggil database "e server# bagi %ang belum menginstal a!li"asi ini da!at
mendownload a!li"asi ini secara bebas di internet "arena sifatn%a %ang free &uga
ambar @ a!li"asi odbc 919 for windows 2 bit
Setelah a!li"asi tersebut diinstal !ada "om!uter client# ma"a untu" menga"sesn%a
atau mengguna"an a!li"asi ini %aitu de!at melalui Control !anel EF +dministrative
$ools EF lalu !ilih Data Sources /4DBC0 +tau da!at melalu fasilitas !encarian di
windows dengan mene"an Ctrl G * !ada "e%bord lalu "eti" 4DBC+D2 lalu te"an
-
8/15/2019 Modul Lengkap Pemrograman Client Server
11/79
ambar 9 >orm 4DBC
C Borland Del!hi
Del!hi adalah sebuah bahasa !emrograman visual di ling"ungan windows
/ under windows0 %ang mengguna"an bahasa !ascal sebagai Com!iler )eberadaan
bahasa !emrograman Del!hi tida" bisa di!isah"an dari bahasa $urbo !ascal %ang
diluncur"an !ada tahun 15 oleh Borland International Incor!oration $urbo !ascal
memang dirancang untu" di&alan"an !ada o!erasi D4S /Dis" 4!erating S%stem0
%ang meru!a"an sistem o!erasi %ang ban%a" diguna"an !ada saat ini
-
8/15/2019 Modul Lengkap Pemrograman Client Server
12/79
ambar A >orm 4DBC
-
8/15/2019 Modul Lengkap Pemrograman Client Server
13/79
Modul Pemrograman Client-Server
andris_faesal
16
+lasan menga!a mengguna"an a!li"asi Borland del!hi :6 "arena
meru!a"an !ilihan bagi sebagian "alangan !rogrammer untu" membuat a!li"asi
al ini disebab"an "elebihan %ang ada !ada borland del!hi :6 beri"ut ini bebera!a
"elebihan borland del!hi :6 antara lain (
1 Berbasis 4b&e" 4rientid !rogramming# se!erti bagian %ang ada !ada !rogram
di!andang sebagai suatu ob&e" %ang mem!un%ai sifat-sifat %ang da!at diubah
dan diatur # sehingga "ita da!at membuat tam!ilan sebuah !rogram dengan
desain "ita sendiri tan!a harus membuat codding %ang !an&ang
2 Suatu file
-
8/15/2019 Modul Lengkap Pemrograman Client Server
14/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
15/79
Dire!resentasi"an sebagai suatu field /"olom0 "um!ulan dari atribut-atribut %ang
saling berhubungan adalah record /baris0 Suatu DBMS /Database Management
S%stem0 meru!a"an !erantara !ema"ai dengan database dalam media
-
8/15/2019 Modul Lengkap Pemrograman Client Server
16/79
!en%im!an /storage0 contoh DBMS ( Interbase# MS S7, Server# M%S7,#
4racle# +ccess# Parado; dan PostreS7, Sebagian besar DBMS diguna"an
untu" mengolah database relational sehingga sering disebut sebagai *DBMS
e $abel Database
Database relational men%im!an semua datan%a dalam tabel-tabel $abel adalah
sebuah stru"tur data %ang terdiri dari "um!ulan baris dan "olom
ambar : $am!ilan database M S7,
2 Pembuatan Database
Dalam !ra"te" "ita "ali ini# "ita a"an mengguna"an a!li"asi 8am!! sebagai
tool database +lasan menggun"an ;am!! sebagai database di"arena"an bersi!at
free# selain itu a!li"asi ini da!at di&alan"an !ada server %ang mengguna"an multi
!latform atau sistem o!erasi %ang berbeda dengan sistem o!erasi client se!erti
linu; atau se&enisn%a
-
8/15/2019 Modul Lengkap Pemrograman Client Server
17/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
18/79
Gambar 8. Shortcut xampp control panel
4) Sebelum "ita memulai !ra"te" "ita "ali ini# anda terlebih dahulu
mem!ersia!"an tools %ang a"an "ita guna"an "ali ini %aitu ( ;am!!-win2 versi 1:
atau diatasn%a# /sa%a saran"an mengguna"an versi 1: atau versi 1:@ %ang lebih
stabil0
Setelah a!li"asi ;am!! terinstal di "om!uter anda# ma"a "ita sia! untu"
memulai !embuatan database# 4)# beri"ut lang"ah-lang"ahn%a (
a Kalan"an a!li"asi "ontrol !anel dari ;am!! /;am!! control !anel0
ambar 5 a!li"asi ;am!! control !anel "eti"a baru di&alan"an
-
8/15/2019 Modul Lengkap Pemrograman Client Server
19/79
b $e"an tombol start !ada bagian +!ace dan M% S7,
Ki"a mengingin"an tools ini ber&alan secara automatis "eti"a "om!uter n%ala#
ma"a "ita bisa mencentang ce"list a!ace dan M% S7, %ang berada di sam!ing
"iri
ambar 16 a!li"asi ;am!! control !anel
c Bu"a a!li"asi broser
Setelah a!lia"asi ;am!! "ontrol !anel di&alan"an# lalu men&alan"an tools a!ace
dan M% S=l berhasil# ma"a a!li"asi ;am!! tersebut bisa ditutu! dan selan&utn%a
bu"a a!li"asi broser %ang ada di "om!uter anda /sa%a saran"an mengguna"an
a!li"asi MoJilla >irefo;0 Pada bagian alamat *, tulis"an alamat server %ang
"ita ingin guna"an#
)arena %ang "ita guna"an !ada !ra"te" "ali ini %aitu satu "om!uter sebagai
server se"aligus sebagai client# ma"a alamat ,* %ang "ita guna"an %aitu (
htt!(''localhost'!h!m%admin atau htt!(''12:661'!h!m%admin# atau da!at &uga
mengguna"an nama "om!uter itu sendiri misaln%a
htt!(''nama"om!uter'!h!m%admin
http://localhost/phpmyadminhttp://127.0.0.1/phpmyadminhttp://127.0.0.1/phpmyadminhttp://namakomputer/phpmyadminhttp://namakomputer/phpmyadminhttp://localhost/phpmyadminhttp://127.0.0.1/phpmyadminhttp://namakomputer/phpmyadmin
-
8/15/2019 Modul Lengkap Pemrograman Client Server
20/79
ambar 11 a!li"asi MoJilla >irefo; "eti"a membu"a database server
d Buat Database
ntu" membuat database# mula-mula "eti" nama database %ang "ita ingin buat
di "olom create new database /versi
-
8/15/2019 Modul Lengkap Pemrograman Client Server
21/79
ambar 12 membuat database baru
-
8/15/2019 Modul Lengkap Pemrograman Client Server
22/79
e Buat $able
Setelah database berhasil dibuat ma"a !roses selan&utn%a %ang "ita "er&a"ana
%aitu membuat table# dimana $abel adalah sebuah stru"tur data %ang terdiri dari
"um!ulan baris dan "olom# %ang berfungsi untu" men%im!an data dalam bentu"
record
ntu" membuat table dengan cara mengisi nama table %ang "ita ingin buat di
"olom name dan ¨ah fields %eng ada !ada table tersebut !ada "olom
number of fields se!eti gambar dibawah ini
ambar 1 membuat table baru
Setelah table berhasil dibuat ma"a a"an muncul tam!ilan baru %ang meminta anda
mengisi nama field# u"uran field# t%!e field se!erti %ang tam!a" !ada gambar dibawah
-
8/15/2019 Modul Lengkap Pemrograman Client Server
23/79
ambar 1@ mengisi identitas fields
-
8/15/2019 Modul Lengkap Pemrograman Client Server
24/79
Setelah semua terisi lalu lan&ut"an untu" mene"an tombol save
,an&ut"an !embuatan tabel ini hingga semua table %ang dibutuh"an selesai dibuat#
beri"ut adalah table-table %ang "ita buat (
1 $able Barang /barang0
Lo Lama >ields $%!e data fields "uran >ields )et
1 )d_barang ?archar 16 "e%
2 Lm_barang ?archar 26
Satuan ?archar 19
@ arga_beli Decimal
9 arga_&ual Decimal
2 $able Barang Masu" /barang_masu"0
Lo Lama >ields $%!e data fields "uran >ields )et
1 )d_masu" ?archar 16 "e%
2 $gl_masu" Date
Id_distributor ?archar 9
@ Kumlah Int
$able Distributor /distributor0
Lo Lama >ields $%!e data fields "uran >ields )et
1 Id_distributor ?archar 9 "e%
2 Lm_distributor ?archar 26
+lamat ?archar @6
@ Lo_$el! ?archar 1
@ $able $ransa"si /transa"si0
Lo Lama >ields $%!e data fields "uran >ields )et
1 )d_transa"si ?archar 162 $gl_transa"si Date
)d_barang ?archar 16
@ Lm_Barang ?archar 26
9 Satuan ?archar 19
A arga_beli Decimal
: Kumlah Int
$otal Decimal
-
8/15/2019 Modul Lengkap Pemrograman Client Server
25/79
Cara membuat relasi didalam database yaitu (masih jendela Mozilla ire!ox" #li#menu $esi%ner di dalam database& dan buat relasi seperti diba'ah ini
Setelah semua table dibuat ma"a a"an tam!a" semua table tersebut se!ert
gambar dibawah ini (
ambar 19 $am!ilan table %ang telah dibuat
f Buat *elasi antar database
*elasi meru!a"an hubungan antara table satu dengan table %ang lain dimana
antara table tersebut harus memili"i field %ang sama
Men%ata"an relasi antar table bahwa hubungan foreign "e% dengan !rimar% "e%#
Sebuah foreign "e% tida" da!at dimasu""an "edalam sebuah table bila !rimar%"e% tida" atau belum ada
-
8/15/2019 Modul Lengkap Pemrograman Client Server
26/79
ambar 1A $am!ilan table %ang telah dibuat
-
8/15/2019 Modul Lengkap Pemrograman Client Server
27/79
Pembuatan a" +"ses
Pembuatan a" a"ses disini dima"sud untu" memberi"an "eamanan ' securit% !ada
database %ang "ita buat sehingga da!at terlindungi dari orang-orang %ang bu"an
ha" a"sesn%a disini
Pembuatan ha" a"ses dila"u"an dengan cara membuat user name dan !assword
baru di dalam server database# dimana user tersebut han%a da!at menga"ses satu
database atau lebih tergantung ha" a"ses %ang dimili"i user %ang dibuat tersebut
ntu" !embuatan ha" a"ses didalam server da!at dila"u"an dengan 2 cara# daat
dila"u"an melalui global setting %aitu !embuatan user dengan cara langsung
melalui server database atau local setting %aitu membuat user melalui database
tersebut
Beri"ut lang"ah-lang"ah !embuatan ha" a"ses (
a lobal Setting
1 Bu"a menu home database atau "eti" alamat htt!(''localhost'!h!m%admin
2 !ada !age sebelah "anan# "li" menu Privileges I a" a"ses# dan a"an
muncul se!erti gambar dibawah ini (
ambar 1: $am!ilan Pengguna database
Setelah gambar diatas muncul# "li" +dd a Lew ser I $ambah"an
Pengguna Baru !ada "iri bawah# sehingga muncul gambar dibawah ini (
http://localhost/phpmyadminhttp://localhost/phpmyadmin
-
8/15/2019 Modul Lengkap Pemrograman Client Server
28/79
Modul Pemrograman Client-Server
andris_faesal
26
ambar 1 $am!ilan tambah Pengguna baru
Pada gambar tersebut terda!at 9 "olom in!utan# dimana %ang diin!ut"an
disini %aitu(
➢ ser name ( nama !engguna databasen%a
➢ ost ( Lama "om!uter client %ang "ita guna"an#
ost disini terbagi men&adi @ bagian# %aitu (
▪▪▪ +n% ost ( %aitu si user da!at dari "om!uter mana
sa&a untu" menga"ses database server "arena ha" n%a disini
bebas# sehingga semua client d!at menga"ses database server ini
▪▪▪ ,ocal ( %aitu !engguna %ang bisa menga"ses server
database ini %aitu dirin%a sendiri /"om!uter sebagai server
se"aligus sebagai client0# dan user lain dari client lain ' luar tida"
da!at meng"ases la%anan server database ini
▪▪▪ se ost $able ( %aitu !engguna %ang telah didaftar"an
terlebih
dahulu dalam database
▪▪▪ se $e;t >ield ( %aitu !engguna %ang telah didaftar"an terlebih
dahulu user dan !asswordn%a "e dalam database %ang telah
disia!"an
➢ Password ( !assword dari user %ang diguna"an
➢ *et%!e ( salinan dari !assword %ang "ita isi sebelumn%a %ang bertu&uan
untu" membuat validasi !assword
➢ enerate Pasword ( meru!a"an sebuah fasilitas !embuatan !assword
secara automatis# ta!i sa%a saran"an agar tida" mengguna"an ini
@ Isi "olom-"olom tersebut sesuai "ebutuhan %ang diingin"an# sebagia contoh
"ita a"an membuat user bernama admin dan da!at dia"ses dari client mana
sa&a %aitu dengan mengguna"an tanda !ersen /N0 !ada "olom host %ang
berasti bebas# sedang"an !assword dan *e-$%!e isi dengan ang"a 12@9
-
8/15/2019 Modul Lengkap Pemrograman Client Server
29/79
ambar 15 $am!ilan !engisian Pengguna baru
9 Setelah mengisi "olom diatas# dilan&ut"an dengan mencentang semua ce"lis
!ada tab global setting %ang bertu&uan untu" men%etu&ui semua a"ses %angdi ingin"an atau bisa mencentang sesuai butuh"an usern%a tersebut
ambar 26 $am!ilan !engisian Pengguna baru
A Setelah mencetang semua !rivasi ' ha" a"ses sesuai "ebutuhan# lalu "li"o
ntu" membuat user %ang "ita isi tersebut
b ,ocal Setting
ntu" setting lo"al ham!ir sama lang"ahn%a dengan setting global# han%a disini
si user tersebut han%a diberi"an ha" a"ses untu" database tersebut dan tida"
da!at menga"ses database %ang lain atau membuat database %ang baru# beri"ut
lang"ah-lang"ahn%a (
1 Bu"a menu home database atau "eti" alamat htt!(''localhost'!h!m%admin
dan !ilih databasa %ang a"an dia"ses oleh user tersebut
http://localhost/phpmyadminhttp://localhost/phpmyadminhttp://localhost/phpmyadmin
-
8/15/2019 Modul Lengkap Pemrograman Client Server
30/79
2 !ada !age sebelah "anan# "li" menu Privileges I a" a"ses# dan a"an
muncul se!erti gambar dibawah ini (
-
8/15/2019 Modul Lengkap Pemrograman Client Server
31/79
Gambar )). *ampilan tambah +en%%una baru
ambar 21 $am!ilan Pengguna database
Setelah gambar diatas muncul# "li" +dd a Lew ser I $ambah"an
Pengguna Baru !ada "iri bawah# sehingga muncul gambar dibawah ini (
Pada gambar tersebut terda!at 9 "olom in!utan# dimana %ang diin!ut"an
disini %aitu(
➢ ser name ( nama !engguna databasen%a
➢ ost ( Lama "om!uter client %ang "ita guna"an#
ost disini terbagi men&adi @ bagian# %aitu (
-
8/15/2019 Modul Lengkap Pemrograman Client Server
32/79
▪ +n% ost ( %aitu si user da!at dari "om!uter mana sa&a untu"
menga"ses database server "arena ha" n%a disini bebas# sehingga
semua client d!at menga"ses database server ini
-
8/15/2019 Modul Lengkap Pemrograman Client Server
33/79
Gambar ),. *ampilan pen%isian +en%%una baru
▪ ,ocal ( %aitu !engguna %ang bisa menga"ses server database ini
%aitu dirin%a sendiri /"om!uter sebagai server se"aligus sebagai
client0# dan user lain dari client lain ' luar tida" da!at meng"ases
la%anan server database ini
▪ se ost $able ( %aitu !engguna %ang telah didaftar"an terlebih
dahulu dalam database
▪ se $e;t >ield ( %aitu !engguna %ang telah didaftar"an terlebih dahulu
user dan !asswordn%a "e dalam database %ang telah disia!"an
➢ Password ( !assword dari user %ang diguna"an
➢ *et%!e ( salinan dari !assword %ang "ita isi sebelumn%a %ang bertu&uan
untu" membuat validasi !assword
➢ enerate Pasword ( meru!a"an sebuah fasilitas !embuatan !assword
secara automatis# ta!i sa%a saran"an agar tida" mengguna"an ini
@ Isi "olom-"olom tersebut sesuai "ebutuhan %ang diingin"an# sebagia contoh
"ita a"an membuat user bernama admin dan da!at dia"ses dari client mana
sa&a %aitu dengan mengguna"an tanda !ersen /N0 !ada "olom host %ang
berasti bebas# sedang"an !assword dan *e-$%!e isi dengan ang"a 12@9
9 Setelah mengisi "olom diatas# lalu turun "e bagian bawah dan te"an
tombol
o tan!a mencentang a!a!un di halaman ini
A Setelah mene"an tombol o# ma"a a"an muncul halaman baru %ang
berisi"an database to"o tersebut# disana semua ce"lis dicentang atau sesuai
"ebutuhan ha" a"ses %ang diingin"an ses!erti gambar dibawah ini
-
8/15/2019 Modul Lengkap Pemrograman Client Server
34/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
35/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
36/79
Gambar )-. orm $/C Con0%uration
c Setelah gambar diatas muncul# dilan&ut"an untu" mengisi "olom in!utan %ang
disedia"an# dimana !en&elasanan%a dari "olom tersebut %aitu (
➢➢➢
Data
Source
Lame
(
Meru!a"an
nama
Data
Source
%ang
nantin%a a"an "ita !anggil mengguna"an a!li"asi !emrograman !ada
Bab selan&utn%a
➢➢➢ Descri!tion ( meru!a"an "eterangan tambahan %ang tida" wa&ib
untu" diisi
➢➢➢
Server
(
Lama
server
atau
alamat
server
tem!at
database berada# !emanggilan server ini da!at dila"u"an dengan 2
cara %aitu nama "om!uter server atau alamat IP "om!uter berada
tergantung &enis åan %ang ada disana
➢➢➢ ser ( meru!a"an nama !engguna %ang telah "ita daftar"an
!ada server database se!erti materi sebelumn%a /!embuatan a" a"ses0
➢➢➢
Password
(
meru!a"an
!assword
!engguna
%ang
telah
"ita
daftar"an !ada server database se!erti materi sebelumn%a /!embuatan
a" a"ses0
➢➢➢ Database ( Meru!a"an nama database %anng a"an "ita !anggil '
guna"an
-
8/15/2019 Modul Lengkap Pemrograman Client Server
37/79
d Setalah memahami !en&elasan diatas# selan&ut"an%a "ita a"an mengisi "olom
tersebut sesuai "ebutuhan se!erti contoh in!utan beri"ut(
➢➢➢
Data
Source
Lame
E
db_to"o
➢➢➢
Descri!tion
E
di"osong"an
-
8/15/2019 Modul Lengkap Pemrograman Client Server
38/79
➢➢➢
Server
(
loc a l h os t
atau
1 2 : 66 1
➢➢➢ ser ( admin
➢➢➢ Password ( 12@9
➢➢➢ Database ( to"o
ambar 2: >orm 4DBC Configuration %ang telah diisi
e Setelah mengisi semua "olom se!erti contoh diatas# selan&utn%a mencoba
a!a"ah "one"si berhasil atau tida" dengan cara mene"an tombol $est# &i"a
"one"si berhasil ma"a a"an meuncul !esan su"ses# dan &i"a tida" coba !eri"sa
"embali "one"si åan anda atau ha" a"ses oleh user %ang nada buat
sebelumn%a hingga !roses berhasil
ambar 2 Pesan )onfigurasi 4DBC %ang telah berhasil ter"one"si
-
8/15/2019 Modul Lengkap Pemrograman Client Server
39/79
f Setelah berhasil ter"one"si# lang"ah selan&utn%a menutu! >orm )onfigurasi
4DBC tersebut dengan mene"an tombol 4) hingga nama 4DBC %ang "ita buat
tadi muncul di dalam daftar 4DBC
-
8/15/2019 Modul Lengkap Pemrograman Client Server
40/79
ambar 25 Daftar Lama 4DBC %ang telah di buat
g Setelah berhasil membuat 4DBC ma"a !roses "one"si telah berhasil sam!ai
disini# tinggal membuat a!li"asin%a mengguna"an Program a!li"asi Borland
Del!hi !ada Bab selan&utn%a
-
8/15/2019 Modul Lengkap Pemrograman Client Server
41/79
Membu#a 1 membuat project $elphi /aru
Gambar ,2. Membu#a +roject /aru $elphi.
Bab ?
Im!lementasi with Borland Del!hi1 Pembuatan Datamodule
Datamodule meru!a"an sebuah form %ang terda!at di dalam Del!hi %ang
merfungsi untu" menem!at"an "om!onen-"om!onen database atau "om!onen
%ang lain %ang a"an diguna"an bersama oleh form-form dalam satu !ro&ect del!hi
Cara !embuatan Datamodule %aitu dengan membuat !ro&ect del!hi terlebih
dahulu melalui !ilih Lew EF DataModule# beri"ut lang"ah-lang"ahn%a
a
-
8/15/2019 Modul Lengkap Pemrograman Client Server
42/79
Gambar ,3. +roject /aru $elphi.
Membuat $atamodule.Cara membuatnya yaitu den%an Menu ile 45 6e' 45 $ata Module.Meleta##an #omponen database& antara lain satu buah 7$Connection&
Modul Pemrograman Client-Server
andris_faesal
6
Buah +747uer%# dan 9 buah DataSource
ambar 2 >orm Datamodule
-
8/15/2019 Modul Lengkap Pemrograman Client Server
43/79
Modul Pemrograman Client-Server
andris_faesal
1
d Setelah meleta""an semua "om!onen di dalam >orm DataModule se!erti
ambar diatas# la"u"an !engaturan se!erti dibawah ini (
-
8/15/2019 Modul Lengkap Pemrograman Client Server
44/79
1 +D4 Connection
➢ anti nama +D4Connection 1 E hub
➢ Doble "li" lalu !anggil Databasen%a
➢ bah ,oginProm!t men&adi >alse
➢ bah Connection men&adi $rue
2 +D4 7uer% 1
➢ Lame ( 7Barang
➢ Connection ( hub
➢ S7, ( Select H >rom Barang 4rder b% )d_Barang
➢ +ctive ( $rue
+D4 7uer% 2
➢ Lame ( 7Distributor
➢ Connection ( hub
➢ S7, ( Select H >rom distributor 4rder b% id_distributor
➢ +ctive ( $rue
@ +D4 7uer%
➢ Lame ( 7Masu"
➢ Connection ( hub
➢ S7, ( Select H >rom Masu" 4rder b% )d_Masu"
➢ +ctive ( $rue
9 +D4 7uer% @
➢ Lame ( 7$ransa"si
➢ Connection ( hub
➢ S7, ( Select H >rom transa"si 4rder b% )d_$ransa"si Desc
➢ +ctive ( $rue
A +D4 7uer% 9
➢ Lame ( 7)ode
➢ Connection ( hub
➢ S7, ( Select H >rom $ransa"si 4rder b% )d_$ransa"si Desc
➢ +ctive ( $rue
: +D4 7uer% A
➢ Lame ( 7Stoc"
➢ Connection ( hub
-
8/15/2019 Modul Lengkap Pemrograman Client Server
45/79
➢ S7, ( Select 7SisaH# BarangLm_Barang# BarangSatuan#
Barangarga_Kual# Barangarga_Beli from 7Sisa# Barang where
7Sisa)d_BarangEBarang)d_Barang order b% 7Sisa)d_Barang
➢ +ctive ( $rue
+D4 7uer% :
➢ Lame ( 7Ma%a
➢ Connection ( hub
➢ S7, ( Select H >rom transa"si 4rder b% )d_$ransa"si Desc
➢ +ctive ( $rue
5 DataSource 1
➢ Lame ( DBarang
➢ Dataset ( 7Barang
16 DataSource 2
➢ Lame ( DDistributor
➢ Dataset ( 7Distributor
11 DataSource
➢ Lame ( DMasu"
➢ Dataset ( 7Masu"
12 DataSource @
➢ Lame ( D$ransa"si
➢ Dataset ( 7$ransa"si
1 DataSource 9
➢ Lame ( DMa%a
➢ Dataset ( 7Ma%a
e Setelah Semua "om!onen di dalam >orm Datamodule tersebut di atus sesuai
urutan dan lang"ah-lang"ah diatas# sehingga tam!a" se!erti gambar dibawah ini
dan semua ter"one"si dengan bai"# ma"a "ita telah berhasil membuat >orm
Datamodule !ada a!li"asi %ang "ita bangun# dan lang"ah selan&utn%a %aitu
!embuatan >orm In!utan
-
8/15/2019 Modul Lengkap Pemrograman Client Server
46/79
ambar >orm Datamodule %ang telah di isi
2 Pembuatan >orm
ntu" Pembuatan >orm di Del!hi %aitu dengan Menu >ile EF Lew EF >orm# ma"a
a"an muncul sebuah >orm "osong %ang berfungsi untu" menem!at"an semua
"om!onen-"om!onen visual %ang a"an diguna"an untu" a!li"asi %ang "ita
bangun
-
8/15/2019 Modul Lengkap Pemrograman Client Server
47/79
ambar @ >orm )osong
Dari >orm $ersebut# desainlah 9 >orm dengan tam!ilan form !ada gambar Q gambar
beri"ut ini (
-
8/15/2019 Modul Lengkap Pemrograman Client Server
48/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
49/79
Gambar ,. orm $ata $istributor.
orm $ata /aran% Masu#
c >orm Data Distributor
d
ambar >orm Data Barang Masu"
-
8/15/2019 Modul Lengkap Pemrograman Client Server
50/79
e >orm$ransa"si
ambar 5 >orm $ransa"si
Setelah anda membuat semua form tersebut# lang"ah selan&utn%a "ita a"an
menulis"an !erintah-!erintah atau source code !ada masing-masing form tersebut
Pada bab selan&utn%a# "ita a"an mem!ela&ari &enis-&enis !erintah %ang berfungsi
untu" men%im!an data record antara lain se!erti (
1 Save record with Pro!erties
2 Save record with Inde;
Save record with >ield b% Lame# dan
@ Save record with $rigger
-
8/15/2019 Modul Lengkap Pemrograman Client Server
51/79
Bab ?I
Save record with Pro!erties
Pen%im!anan *ecord mengguna"an fasilitas Pro!erties meru!a"an metode
atau cara !en%im!anan record %ang !aling sederhana dan membutuh"an !erintah %ang
tida" !an&ang
Sebagai bahan !ra"te" "ita "ali ini# "ita mengguna"an >orm Data Barang
/gambar A0# di dalam >orm tersebut fasilitas in!ut datan%a mengguna"an "om!onen
DB
-
8/15/2019 Modul Lengkap Pemrograman Client Server
52/79
procedure */aran%.ormSho'(Sender *bject"; be%in11 #eti#a !orm a#ti! ma#a perintah di e#se#usi .Clear;=/aran%.S=>.7dd(?Select @ rom /aran% rder by AdB/aran%?"; =/aran%.7ctie4*rue;Dnd; $/Ddit3.Dnabled4alse; $/Ddit).Dnabled4alse;
Beri"ut leng"a!n%a (
1 DB
-
8/15/2019 Modul Lengkap Pemrograman Client Server
53/79
$/Ddit,.Dnabled4alse; $/DditE.Dnabled4alse; $/Ddit9.Dnabled4alse; /aru.Dnabled4*rue;end;
procedure */aran%.ormClose(Sender *bject; ar 7ction *Close7ction";be%in$ataModule).=/aran%.Close;11atau $ataModule).=/aran%.7ctie4alse;end;
procedure */aran%./aruClic#(Sender *bject"; be%in11untu# baru $/Ddit3.Dnabled4*rue; $/Ddit).Dnabled4*rue; $/Ddit,.Dnabled4*rue; $/DditE.Dend;
procedure */aran%.SimpanClic#(Sender *bject"; be%in11untu# tombol Simpan113. Halidasi
I! ($/Ddit3.*ext4??"or($/Ddit).*ext4??"or($/Ddit,.*ext4??"or ($/DditE.*ext4??"or($/Ddit9.*ext4??"/e%inSho'Messa%e(?Inputan M7sih #oson%...JJJ?"; $/Ddit3.Setocus;Dnd Dlse /e%in11). Simpan$ataModule).=/aran%.+ost;11,. men%embali#an #e settin%an a'al ormSho'(Sender";Dnd; end;
procedure */aran%./atalClic#(Sender *bject"; be%in11untu# tombol /atalI! Messa%e$l%(?Ka#in in%in membatal#an proses...L?&mt
-
8/15/2019 Modul Lengkap Pemrograman Client Server
54/79
mbACancel&"4mr# *hen /e%in$ataModule).=/aran%.Cancel;ormSho'(Sender"; Dnd;
end;
procedure */aran%.:bahClic#(Sender *bject"; be%in11untu# :bah $/Ddit3.Dnabled4alse; $/Ddit).Dnabled4*rue; $/Ddit,.Dnabled4*rue; $/DditE.end;
procedure */aran%.FapusClic#(Sender *bject"; be%in11untu# tombol FapusI! Messa%e$l%(?Ka#in in%in men%hapus data baran%...L?&mtocate(?AdBbaran%?ode&N"*hen /e%inSho'Messa%e(?/aran% tida# ditemu#an& coba la%i?"; ormSho'(Sender";Dnd; end;
Modul Pemrograman Client-Server
andris_faesal
@6
-
8/15/2019 Modul Lengkap Pemrograman Client Server
55/79
-
8/15/2019 Modul Lengkap Pemrograman Client Server
56/79
Ddit).*ext4??;Ddit,.*ext4??;DditE.*ext4??; Ddit3.Dnabled4alse; Ddit).Dnabled4alse; Ddit,.Dnabled4alse; DditE.Dnabled
end;
procedure *$istributor./aruClic#(Sender *bject"; be%inDdit3.Dnabled4*rue; Ddit).Dnabled4*rue; Ddit,.Dnabled4*rue; DditE.Dnabled4*rue;'ith $ataModule)& =$istributor do /e%inI! =$istributor.PecordCount4 *hen Ddit3.*ext4?$3? elseDdit3.*ext4ormatloat(?$?&=$istributor.PecordCountO3"; Dnd;/aru.Dnabled4alse; Simpan.Dnabled4*rue; /atal.Dnabled4*rue; :bah.Dnabled4alse; Fapus.end;
procedure *$istributor.SimpanClic#(Sender *bject"; be%in11untu# simpanI! (Ddit3.*ext4??"or(Ddit).*ext4??"or(Ddit,.*ext4??"or (DditE.*ext4??" *hen
/e%inSho'Messa%e(?Inputan #uran% len%#ap...JJJ?"; Ddit).Setocus;Dnd else /e%in
-
8/15/2019 Modul Lengkap Pemrograman Client Server
57/79
procedure *$istributor./atalClic#(Sender *bject"; be%in11untu# batalI! Messa%e$l%(?Ka#in in%in membatal#an +roses...LL?& mt
-
8/15/2019 Modul Lengkap Pemrograman Client Server
58/79
asu#.7ppend; =Masu#.ield/y6ame(?AdBMasu#?".7sStrin%4>Aode.Caption; =Masu#.ield/y6ame(?AdB/aran%?".7sStrin%4
Bab ?III
Save record with >ield b% Lame
Pen%im!anan *ecord dengan mengguna"an field b% Lame %aitu metode atau
cara !en%im!anan record %ang mengguna"an nama field beeserta ti!e data dari field
tersebut disaat menulis"an "oddingn%a Penggunaan field name untu" !en%im!anan
record ini bermanfaat untu" mem!erce!at "iner&a !rogram di"arena"an "onfersi ti!e
data dila"u"an di "odding bu"an di !rogram se!erti !enggunaan inde; !ada materi
sebelumn%a# "e"urangan dari !enggunaan metode ini %aitu "odding men&adi aga"!an&ang di"arena"an !enggun"aan ti!e data tersebut %ang a"an di"onfersi terlebih
dahulu sebelum disim!an
Sebagai bahan !ra"te" "ita "ali ini# "ita mengguna"an >orm Data Barang Masu"
/gambar 0# di dalam >orm tersebut fasilitas in!ut datan%a mengguna"an "om!onen
-
8/15/2019 Modul Lengkap Pemrograman Client Server
59/79
sedang"an !ada in!utan
-
8/15/2019 Modul Lengkap Pemrograman Client Server
60/79
procedure *Masu#.ormSho'(Sender *bject"; be%in11untu# on sho'nya >Aode.Caption4??;
Ddit3.*ext4??; $ate*ime+ic#er3.$ate46o'; Ddit).*ext4??;Ddit,.*ext4??; Ddit3.Dnabled4alse; Ddit).Dnabled4alse; Ddit,.Dnabled4alse; >6ama.Caption'ith $ataModule) do /e%in11untu# table masu# =Masu#.S=>.Clear;=Masu#.S=>.7dd(?Select @ rom /aran%BMasu# ?O ?rder by AdBMasu# $esc?"; =Masu#.7ctie4*r11untu# table baran% =/aran%.7ctie4alse; =/aran%.7ctie4*rue;11untu# table distributor =$istributor.7ctie4alse; =$istributor.7ctie4*rue;Dnd; end;
procedure *Masu#./aruClic#(Sender *bject"; be%in11 untu# baru Ddit3.Dnabled4*rue; Ddit).Dnabled4*rue; Ddit,.Dnabled4*rue; $ate*ime+ic#er3.$11buat #ode'ith $ataModule)& =Masu# do /e%in
-
8/15/2019 Modul Lengkap Pemrograman Client Server
61/79
I! =Masu#.PecordCount4 *hen >Aode.Caption4?I63? else>#ode.Caption4ormatloat(?I6?&=Masu#.PecordCountO3"; Dnd;end;
procedure *Masu#.SimpanClic#(Sender *bject"; be%in113 HalidasiI! (Ddit3.*ext4??"or(Ddit).*ext4??"or(Ddit,.*ext4??" *hen /e%inSho'Messa%e(?Inputan masih #oson% bro...JJJ?"; Ddit3.Setocus;Dnd else /e%in11) Simpan6ama.Caption4=/aran%?6mB/aran%?N; >Qual.Caption4Curr*oStr(=/aran%?Far%aBQual?N"; >/eli.Dnd Dlse /e%inSho'Messa%e(?Aode /aran% tida# di#enal..JJ?"; Ddit3.Clear;>6ama.Caption4??; >Qual.Caption4?Pp ?; >/eli.Caption4?Pp ?; >Satuan.Caption4??; Ddit3.SetDnd; Dnd;end;
-
8/15/2019 Modul Lengkap Pemrograman Client Server
62/79
procedure *Masu#./)Clic#(Sender *bject"; be%in11ce# distributor 'ith $ataModule) do /e%inI! =$istributor.>ocate(?IdB$istributor?&Ddit).*ext&N" *hen /e%in
>$istributor.Caption4=$istributor?6mB$istributor?N; Ddit,.Setocus;Dnd else /e%inSho'Messa%e(?I$ $istributor tida# di#enal..JJ?"; Ddit).Clear;>$istributor.Caption4??; Ddit).Setocus;Dnd; Dnd;end;
procedure *Masu#./atalClic#(Sender *bject"; be%in11untu# batalI! Messa%e$l%(?Ka#in in%in membatal#an +roses...LL?&mt
-
8/15/2019 Modul Lengkap Pemrograman Client Server
63/79
=Maya.S=>.Clear; =Maya.S=>.7dd(?Insert *ransa#si ?O?(#dB*ransa#si& *%lB*ransa#si& AdB/aran%& 6mB/aran%& ?O ?Satuan& har%aBbeli& jumlah& total" alue=Maya.DxecS=>;
Bab I8
Save record with $rigger
Pen%im!anan *ecord dengan mengguna"an $rigger %aitu metode atau cara
!en%im!anan record %ang mengguna"an !erintah S7, /Stru"tur 7uer% ,anguage0
disaat menulis"an "oddingn%a Penggunaan !erintah S7, untu" !en%im!anan record
ini sama se!erti !erintah-!erintah sebelumn%a han%a berbeda !ada saat !roses
sim!ann%a sa&a# dimana !ada materi-materi sebelumn%a "ita mengguna"an !erintah
+!!and untu" menambah record baru dan Post untu" men%im!an record# teta!i !ada
$riger ini "ita han%a menggun"an !erintah Insert !ada S7,n%a
Sebagai bahan !ra"te" "ita "ali ini# "ita mengguna"an >orm $ransa"si /gambar
50# di dalam >orm tersebut fasilitas in!ut datan%a mengguna"an "om!onen
-
8/15/2019 Modul Lengkap Pemrograman Client Server
64/79
procedure **ransa#si.ormSho'(Sender *bject"; be%in11 perintah on sho' Ddit3.*ext4??;
-
8/15/2019 Modul Lengkap Pemrograman Client Server
65/79
Ddit).*ext4??;Ddit,.*ext4??; $ate*ime+ic#er3.$ate46o'; >6ama.Caption4??; >Satuan.Caption4??; >Far%a.Ca'ith $ataModule) do /e%in
=Stoc#.S=>.Clear;=Stoc#.S=>.7dd(?Select =Sisa.@& /aran%.6mB/aran%& ?O ?/aran%.Satuan& /aran%.Far%aBQual& /ara?'here =Sisa.AdB/aran%4/aran%.AdB/aran% order by ?O ?=Sisa.AdB/aran%?";=Stoc#.7ctie4*rue;11 =*ransa#si.S=>.Clear;=*ransa#si.S=>.7dd(?Select @ rom *ransa#si rder by ?O ?AdB*ransa#si $esc?";=*ransa#si.7ctie4*rue;11 Maya =Maya.S=>.Clear;=Maya.S=>.7dd(?Select @ rom *ransa#si 'here ?O ?#dB*ransa#si li#e ?O=uotedStr(Ddit3.*ext"O? r=Maya.7ctie4*rue; Dnd;end;
procedure **ransa#si.ormClose(Sender *bject; ar 7ction *Close7ction";
be%in11 untu# on closenya $ataModule).=Stoc#.Close; $ataModule).=*ransa#si.Close; $ataModule).end;
procedure **ransa#si./aruClic#(Sender *bject"; ar #odeInte%er;be%in11untu# *ransa#si baru11+embuatan #ode tomatis'ith $ataModule)& =*ransa#si do /e%in=*ransa#si.S=>.Clear;
-
8/15/2019 Modul Lengkap Pemrograman Client Server
66/79
Modul Pemrograman Client-Server
andris_faesal
96
Q*ransaksi.)Q.Add!")elect /d_*ransaksi From *ransaksi "0"1roup by /d_*ransaksi rder by /d_*ransaksi Desc"%;Q*ransaksi.Acti3e'(*rue;
&f Q*ransaksi.4ecord5ount( *$enkode'(6 elsekode'(Q*ransaksi.4ecord5ount 0 6;
Edit6.*e,t'(FormatDate*ime!"yyMMdd"7o8%0FormatFloat!""7kode%;
Edit2.*e,t'("";Edit+.*e,t'("";Date*imePicker6.Date'(o8;ama.5aption'("9";)atuan.5aption'("9";:arga.5aption'("4p ";*otal.5aption'("9";Edit6.Enabled'(*rue;
Edit2.Enabled'(*rue;Edit+.Enabled'(*rue;Date*imePicker6.Enabled'(*rue;Baru.Enabled'(False;*amba$.Enabled'(*rue;Batal.Enabled'(*rue;5etak.Enabled'(*rue;)elesai.Enabled'(*rue;5ek.Enabled'(*rue;Edit2.)etFocus;
End;end;
procedure *F*ransaksi.*amba$5lick!)ender' *bect%;
3ar i'Byte;begin
-
8/15/2019 Modul Lengkap Pemrograman Client Server
67/79
Ddit).*ext4??;Ddit,.*ext4??;>6ama.Caption4??; >Satuan.Caption4??; >Far%a.Caption4?Pp ?; >*otal.Caption4??;
11 Se%ar#an table Maya =Maya.S=>.Clear;=Maya.S=>.7dd(?Select @ rom *ransa#si 'here ?O ?#dB*ransa#si li#e ?O=uotedStr(Ddit3.*ext"O? r=Maya.7ctie4*rue; har%aBtotal4;or i43 to =Maya.PecordCount do /e%in=Maya.Pec6o4i; total4=Maya?*otal?N; har%aBtotal4har%aBtotalOtotal;Dnd;>*otal.Caption4ormatCurr(?Pp R&RR?&har%aBtotal"; Dnd;Dnd; end;
procedure **ransa#si.Ce#Clic#(Sender *bject"; be%in'ith $ataModule) do /e%inI! =Stoc#.>ocate(?AdB/aran%?&Ddit).*ext&N"*hen /e%in>6ama.Caption4=Stoc#?6mB/aran%?N; >Satuan.Caption4=Stoc#?Satuan?N; beli4=Stoc#?Far%a
Dnd else /e%inSho'Messa%e(?Aode baran% tida# ada..JJ?"; Ddit).*ext4??;>6ama.Caption4??; >Satuan.Caption4??; Ddit).Setocus;Dnd; Dnd;end;
procedure **ransa#si.Ddit,Chan%e(Sender *bject"; be%inI! (Ddit,.*ext4??" *hen
jml4 else jml4Str*oInt(Ddit,.*ext"; *otal4jml@jual; >Far%a.Caption4ormatCurr(?Pp R&RR?&end;
procedure **ransa#si.SelesaiClic#(Sender *bject"; be%inormSho'(Sender"; end;
-
8/15/2019 Modul Lengkap Pemrograman Client Server
68/79
procedure **ransa#si./atalClic#(Sender *bject"; ar i/yte;be%in
I! Messa%e$l%(?Ka#in in%in membatal#an semua transa#si..LL?&mt
-
8/15/2019 Modul Lengkap Pemrograman Client Server
69/79
b. *ambah#an P+roject3 ( "pada tab P7HD lalu $oble Ali# sehin%%a a#an
terlihat %ambar seperti diba'ah ini.
Bab 8
Im!lementasi with *e!ort
1 Pembuatan ,a!oran Mengguna"an *ave *e!ort
a $ambah"an *vDataSetConnection1 / 0!ada tab *+?orm $am!ilan *ave *e!ort
c Setelah tam!il >orm se!erti gambar diatas# selan&utn%a buat Data 4b&ect
dengan cara )li" >ile F )li" Lew Data 4b&ect# lalu !ilih Direct Data ?iew dan
Le;t lalu !ilih *vDataSet
-
8/15/2019 Modul Lengkap Pemrograman Client Server
70/79
ambar @2 Pembuatan Data ?iew
d Setelah ,ang"ah selesai# selan&utn%a membuat *e!ort dengan cara )li"
Menu $ools F *e!ort 3iJards F Sim!le $able dan a"an muncul tam!ilan se!eti
gambar dibawah ini# lalu Le;t dan $e"an +,, untu" menam!il"an semua >ield
%ang ingin diceta" dan te"an Le;t hingga >inish I enerate
ambar @ Pemilihan Data ?iew
-
8/15/2019 Modul Lengkap Pemrograman Client Server
71/79
ambar @@ Pemilihan >ield Lame
e Selelah lang"ah @ selesai# ma"a a"an tam!a" se!erti gambar dibawah ini
-
8/15/2019 Modul Lengkap Pemrograman Client Server
72/79
Gambar E9. Pae Peport yan% telah terisi.
f Selan&utn%a sim!an !ro&ect re!ort tersebut dengan nama *Lota !ada dire"tori
!ro&e" a!li"asi diatas %ang anda bangun
g ntu" !erintah memanggil ,a!oran *ave dari Del!hi guna"an Perintah (
procedure *F*ransaksi.5etak5lick!)ender' *bect%;begin
43Proect6.ProectFile'("4ota.ra3";43Proect6.E,ecute;
end;
2 Pembuatan la!oran Mengguna"an 7uic" *e!ort
a ntu" membuat la!oran mengguna"n 7uic" re!ort !ertama "ali tambah"an
)om!onen 7uic" *e!ort "e dalam del!hi dengan cara "li" menu com!onent
lalu !ilih Install Pac"ages dan a"an muncul form se!etri gambar dibawah ini
Setelah itu "li" tombol +dd lalu cari file dcl=rt:6b!l di folder C(Program
>ilesBorlandDel!hi:Bin ,alu "li" $ombol 4!en lalu 4)
-
8/15/2019 Modul Lengkap Pemrograman Client Server
73/79
Gambar E-. Install pac#a%es =uic# Peport.
b. Qi#a +a#et =uic# Peport berhasil di install ma#a a#an muncul tab =uic# Peseperti %ambar diba'ah ini.
Gambar E. *oolbar =Peport.
c. :ntu# membuat Peport& Selanjutnya Ali# ile 5 6e' 5 ther #emudianPeport sehin%%a a#an muncul seperti %ambar diba'ah ini.
!ort
!ilih
-
8/15/2019 Modul Lengkap Pemrograman Client Server
74/79
Gambar E8. Membuat Peport baru.
#omponen report pada toolbar =Peport& dan la#u#an 1 desainlah tampilan report seperti report diba'ah ini
d Setelah mene"an tombol 4)# ma"a a"an muncul sebuah >orm *e!ort %ang
mana form *e!ort tersebut a"an digun"an untu" menem!at"an "om!onen-
-
8/15/2019 Modul Lengkap Pemrograman Client Server
75/79
ambar @5 Desain *e!ort
-
8/15/2019 Modul Lengkap Pemrograman Client Server
76/79
cedure **ransa#si.Ceta#Clic#(Sender *bject"; be%inh $ataModule)& =*ransa#si do /e%in>.Clear;>.7dd(?Select @ rom *ransa#si rder by AdB*ransa#si?"; 7ctie4*rue;*ransa#si.PecordCount5 *hen /e%intu# tampil $ata P*ransa#si.+reie';tu# ceta# $ata P*ransa#si.+rint;
d else /e%inssa%e$l%(?Maa!& *ransa#si /elum ada& data transa#si ?O ?tida# dapat diceta#?&mtIn!ormation&mbAN&"; ormSho'(Sended; Dnd;
;
/eri#ut adalah hasil preie' dari report yan% #ita desain diatas.
e Selan&utn%a ganti nama >orm tersebut dengan nama *$ransa"si agar lebih
mudah mengingatn%a
f ntu" !erintah memanggil ,a!oran 7*e!ort dari Del!hi guna"an Perintah (
g
ambar 96 *e!ort %ang telah di Preview
-
8/15/2019 Modul Lengkap Pemrograman Client Server
77/79
Demi"ian Modul sing"at "ali ini# semoga dengan modul ini ada da!at mengasah
"emam!uan anda secara bela&ar terus dan sering-seting mencoba hal-hal %ang baru
-
8/15/2019 Modul Lengkap Pemrograman Client Server
78/79
$ugas
( Dari modul diatas# buatlah sebuah !ro&ect a!li"asi mulai dari database# selasi#a!li"asi hingga da!at menceta" la!oran dengan leng"a! /a!li"asi la%a" !a"ai0Pro&ect di"um!ul"an dalam bentu" la!oran serta !ro&ect a!li"asin%aBeri"ut contoh &uduln%a (
1 +!li"asi Pen&ualan $i"et )a!al ,aut
2 +!li"asi *awat Ina! +!li"asi ,aundr%@ +!li"asi !engurusan SPP dan S)S
9 +!li"asi Servis dan !en&ualan +sesoris motor A +!li"asi !en%ewaan la!angan >utsal
: +!li"asi !en&ualan D?D +!li"asi !en&ualan di *umah ma"an
5 +!li"asi Perceta"an16 +!li"asi Pemilu11 +!li"asi !en%ewaan bu"u
12 +!li"asi *encar 1 +!li"asi !en&ualan motor ' mobil di showroom1@ +!li"asi !ela%anan !engobatan di *umah sa"it
19 +!li"asi Pemba%aran *e"ening "oran1A +!li"asi !ela%anan !a&a" ga&i !egawai
1: +!li"asi !engurusan iJin !emasangan i"lan di tata "ota mataram1 +!li"asi !engga&ian !etugas "ebersihan tata "ota mataram15 +!li"asi !er!an&ang S$L) "eliling
26 +!li"asi "ursus mengemudi21 +!li"asi Perceta"an
22 +!li"asi !ela%anan !engobatan di *umah sa"it2 +!li"asi Pembelian BBM di !ertamina
2@ +!li"asi Pen&ualan $i"et )a!al ,aut29 +!li"asi *awat Ina!2A +!li"asi Pemba%aran i"lan di lombo" !ost2: +!li"asi !en%ewaan la!angan >utsal
2 +!li"asi !en&ualan di *umah ma"an
25 +!li"asi !en%ewaan bu"u6 +!li"asi !emba%aran listri" ' PD+M1 +!li"asi !en%ewaan bu"u
2 +!li"asi !endataan P), di "ota mataram
-
8/15/2019 Modul Lengkap Pemrograman Client Server
79/79
*eferensi
Daftara Pusta"a
htt!(''andrisfaesalblogs!otcom
http://andrisfaesal.blogspot.com/http://andrisfaesal.blogspot.com/