APENDAHULUAN
1.1
Latar Belakang
Di
era globalisasi ini, Adimana segala sesuatunya itu berjalan dengan cepat,
kemajuan teknologi semakain memudahkan manusia untuk berkomunikasi dan saling
bertukar informasi. Semua orang di zaman sekarang ini hampir setiap
individu sudah memiliki komputer.
Di
mana didalam dunia komputer ada yang namanya client server, Client merupakan
sembarang sistem atau proses yang melakukan suatu permintaan data atau layanan
ke server sedangkan server ialah, sistem atau proses yang menyediakan data atau
layanan yang diminta olehclient.
Client-Server
adalah pembagian kerja antara server dan client yg mengakses server dalam suatu
jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri
dari client dan server yang saling berkomunikasi ketika mengakses server dalam
suatu jaringan.
1.2
Tujuan Client Server
Tujuan
Client Server untuk membantu perusahaan-perusahaan dalam meningkatkan
pengintegrasian data, distribusi informasi dan sebagainanya tentnya yang
berhubungan dengan client server, ini juga menempatkan sebuah komputer sebagai
server yang bertugas sebagai pusat pengolahan dan layanan bagi
terminal-terminal lain (client) yang terhubung dalam sistem jaringan tersebut.
1.3
Manfaat Client Server
Manfaat
yang bisa didapatkan dari client server ini tidak jauh berbeda dengan tujuannya
yaitu dapat membantu perusahaan-perusahaan dalam pengolahan sebuah data atau
pengintegrasian data yang akan dikirimkan, distribusi informasi dan berbagai
peralatan menjadikan sistem jaringan semakin diminati untuk diimplementasikan
oleh perusahaan.
Ada beberapa manfaat dari client
server diantara lain :
A. Memungkinkan akses basis data yang besar
B.
Menaikkan kinerja
C. Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU
yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah
merubah mesin server jika hanya memproses basis data.
D. Biaya untuk hardware dapat dikurangi
E. Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk
menyimpan dan mengatur basis data
BAB II
PEMBAHASAN
2.1.
PENGERTIAN CLIENT - SERVER
I.
Server
Server adalah sebuah sistem komputer yang menyediakan
jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan
prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi
dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan
atau network operating system. Server juga menjalankan perangkat lunak
administratif yang mengontrol akses terhadap jaringan dan sumber daya yang
terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan
memberikan akses kepada workstation anggota jaringan.
1.
Server Aplikasi (Application server)
2. Server Data (Data Server)
3. Server Proxy (Proxy Server).
Fungsi
server
1.
Server Aplikasi
Server yang digunakan untuk menyimpan berbagai macam aplikasi yang dapat
diakses oleh client, server data sendiri digunakan untuk menyimpan data baik
yang digunakan client secara langsung maupun data yang diproses oleh server
aplikasi.
2. Server Proxy
Berfungsi untuk mengatur lalu lintas di jaringan melalui pengaturan proxy.
Orang awam lebih mengenal proxy server untuk mengkoneksikan komputer client ke
Internet.
II.
Client
Komputer
Client adalah komputer yang meminta (request) satu layanan tertentu ke suatu
server. Komputer client harus dilengkapi dengan aplikasi client khusus dan
menjalankannya, sehingga dapat memanfaatkan layanan yang ditawarkan server.
Sebagai contoh, untuk mengambil sebuah file dari file server, suatu program di
komputer client harus memformat sebuah request (permintaan) dan mengirimkannya
kepada program yang sedang berjalan di server. Selanjutnya, server akan
mengirimkan file yang diminta sesuai dengan permintaan program client tersbut.
Server dan client harus menggunakan suatu cara yang sama
untuk berkomunikasi dan mengirimkan file antara satu komputer dengan yang lain,
cara ini disebut sebagai protocol atau sering disebut Transmision
Control Protocol/Internet Protocol (TCP/IP), sedangkam sistem operasi yang
digunakan antara lain Unix, Linux dan Windows NT.
Lingkungan
Database Client/Server di Internet :
A.
Menggunakan LAN untuk mendukung
jaringan PC
B.
Masing-masing PC memiliki penyimpan
tersendiri
C.
Berbagi hardware atau software
2.2. KOMPONEN CLIENT-SERVER
Dalam menjalankan sebuah arsitektur client-server, maka
dibutuhkan beberapa komponen agar arsitektur tersebut berjalan dengan baik dan
lancar. Komponen tersebut diantaranya :
1. User
Disini user adalah sebagai end-user yang mengakses client
untuk mendapatkan layanan. Dapat dikatakan juga bahwa sebuah user atau end-user
adalah ketika melakukan proses akhir menggunakan sitem client-server ini,
misalnya seorang manager perusahaan.
2. Client
Client dapat berupa sebuah pemproses yang banyak dilakukan
di sebuah server dimana bagian-bagian dalam lingkup pekerjaannya ditentukan
oleh program komputer. Salah satu hal yang terpenting dalam sistem
client-server adalah User Interface (UI), yang digunakan user untuk
berkomunikasi.
3. Network dan Transmisi.
Server dan client dapat terkoneksi dengan sebuah media
transmisi yang dapat berupa kabel, wireless, atau fiber. Dengan media ini
memungkinkan sebuah perusahaan untuk melakukan enterprice network yang lebih
besar dalam sebuah departemen. Arsitektur yang digunakan dapat berupa OSI atau
yang sekarang banyak digunakan yaitu TCP/IP.
4. Servers.
Sebagai server, server haruslah memiliki kemampuan untuk
mengontrol software, menjalankan program aplikasi, dan mengakses database
dengan mudah dan cepat. Sebuah server harus mendukung spesifikasi yang
mendukung resource sharing seperti Network Server Operating System, Multiple
User Interface, GUI (Graphic User Interface), dialog oriented antara
client-server language seperti SQL dan database arsitektur.
2.3 APLIKASI CLIENT-SERVER
A. Client/Server (two tier)
Dalam
model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan
server. Client/server adalah tipikal sebuah aplikasi two-tier dengan
banyakclient dan sebuah server yang dihubungkan melalui sebuah jaringan.
Aplikasi ditempatkan pada computer client dan mesin database dijalankan pada
server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yang
mengirimkan kembali data ke client-nya.
Model
Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan : client
(yang meminta serice) dan server (yang menyediakan service). Tiga komponen
tersebut yaitu :
1. User Interface. Adalah antar muka program aplikasi yang berhadapan dan
digunakan langsung oleh user.
2. Manajemen Proses.
3. Database. Model ini memisahkan peranan user interface dan database dengan
jelas, sehingga terbentuk dua lapisan.
Dalam
model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan
server. Client/server adalah tipikal sebuah aplikasi two-tier dengan banyak
client dan sebuah server yang dihubungkan melalui sebuah jaringan, seperti
terlihat dalam gambar 1.2. Aplikasi ditempatkan pada komputer client dan mesin
database dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan
permintaan ke database yang mengirimkan kembali data ke client-nya.
Dalam
client/server, client-client yang cerdas bertanggung jawab untuk bagian dari
aplikasi yang berinteraksi dengan user, termasuk logika bisnis dan komunikasi
dengan server database.
Aplikasi-aplikasi
berbasis client/server memiliki kekurangan pada skalabilitas. Skalabilitas
adalah seberapa besar aplikasi bisa menangani suatu kebutuhan yang meningkat –
misalnya, 50 user tambahan yang mengakses aplikasi tersebut. Walaupun model
client/server lebih terukur daripada model berbasis host, masih banyak
pemrosesan yang terjadi pada server. Dalam model client/server semakin banyak
client yang menggunakan suatu aplikasi, semakin banyak beban pada server.
Koneksi
database harus dijaga untuk masing-masing client. Koneksi menghabiskan sumber
daya server yang berharga dan masing-masing client tambahan diterjemahkan ke
dalam satu atau beberapa koneksi. Logika kode tidak bisa didaur ulang karena
kode aplikasi ada dalam sebuah pelaksanaan executable monolitik pada client.
Ini juga menjadikan modifikasi pada kode sumber sulit. Penyusunan ulang
perubahan itu ke semua komputer client juga membuat sakit kepala.
Keamanan
dan transaksi juga harus dikodekan sebagai pengganti penanganan oleh COM+/MTS.
Bukan berarti model client/server bukanlah merupakan model yang layak bagi
aplikasi-aplikasi. Banyak aplikasi yang lebih kecil dengan jumlah user terbatas
bekerja sempurna dengan model ini. Kemudahan pengembangan aplikasi client/server
turut menjadikannya sebuah solusi menarik bagi perusahaan.
Pengembangan
umumnya jauh lebih cepat dengan tipe sistem ini. Siklus pengembangan yang lebih
cepat ini tidak hanya menjadikan aplikasi meningkat dan berjalan dengan cepat
namun juga lebih hemat biaya.
Kelebihan
dari model client/server
• Mudah
• Menangani Database Server secara khusus
• Relatif lebih sederhana untuk di develop dan diimplementasikan.
• Lebih cocok diterapkan untuk bisnis kecil.
Server
database berisi mesin database, termasuk tabel, prosedur tersimpan, dan trigger
(yang juga berisi aturan bisnis). Dalam system client/server, sebagian besar
logika bisnis biasanya diterapkan dalam database.
Server
database manangani :
• Manajemen data
• Keamanan
• Query, trigger, prosedur tersimpan
• Penangan kesalahan
Arsitektur
client/server merupakan sebuah langkah maju karena mengurangi beban pemrosesan
dari komputer sentral ke computer client. Ini berarti semakin banyak user
bertambah pada aplikasi client/server, kinerja server file tidak akan menurun
dengan cepat. Dengan client/server user dari berbagai lokasi dapat mengakses
data yang sama dengan sedikit beban pada sebuah mesin tunggal. Namun masih
terdapat kelemahan pada model ini. Selain menjalankan tugas-tugas tertentu,
kinerja
dan skalabilitas merupakan tujuan nyata dari sebagian besar aplikasi.
Kekurangan dari model client/server :
• Kurangnya skalabilitas
• Koneksi database dijaga
• Tidak ada keterbaharuan kode
• Tidak ada tingkat menengah untuk menangani keamanan dan transaksi skala
kecil.
• Susah di amankan.
• Lebih mahal.
B.
Three-Tier / Multi-Tier
Model
three-tier atau multi-tier dikembangkan untuk menutupi keterbatasan pada
arsitektur client/server. Dalam model ini, pemrosesan disebarkan di dalam tiga
lapisan (atau lebih jika diterapkan arsitektur multitier). Lapisan ketiga dalam
arsitektur ini masing-masing menjumlahkan fungsionalitas khusus, diantaranya :
·
Layanan presentasi (tingkat client)
·
Layanan bisnis (tingkat menengah)
·
Layanan data (tingkat sumber data)
Layanan
presentasi atau logika antarmuka pengguna ditempatkan pada mesin client. Logika
bisnis dikeluarkan dari kode client dan ditempatkan dalam tingkat menengah.
Lapisan layanan data berisi server database. Setiap tingkatan dalam model
three-tier berada pada komputer tersendiri
Konsep
model three-tier adalah model yang membagi fungsionalitas ke dalam
lapisan-lapisan, aplikasi-aplikasi mendapatkan skalabilitas, keterbaharuan, dan
keamanan.
Arsitektur
Three Tier merupakan inovasi dari arsitektur Client Server. Pada arsitektur Three
Tier ini terdapat Application Server yang berdiri di antara Client dan Database
Server.
Contoh
dari Aplikasi untuk model ini adalah IIS, WebSphere, dan sebagainya.
Application Server umumnya berupa business process layer, dimana bisa didevelop
menggunakan PHP, ASP.Net, maupun Java. Sehingga kita menempatkan beberapa
business logic kita pada tier tersebut. Arsitektur Three Tier ini banyak sekali
diimplementasikan dengan menggunakan Web Application. Karena dengan menggunakan
Web Application, Client Side (Komputer Client) hanya akan melakukan instalasi
Web Browser.
Dan
saat komputer client melakukan inputan data, maka data tersebut dikirimkan ke
Application Server dan diolah berdasarkan business process-nya. Selanjutnya
Application Server akan melakukan komunikasi dengan database server. Biasanya,
implementasi arsitektur Three Tier terkendala dengan network bandwidth.
Karena
aplikasinya berbasiskan web, maka Application Server selalu mengirimkan Web
Application-nya ke computer Client. Jika kita memiliki banyak sekali client,
maka bandwidth yang harus disiapkan akan cukup besar, Sedangkan network
bandwidth biasanya memiliki limitasi. Oleh karena itu biasanya, untuk mengatasi
masalah ini, Application Server ditempatkan pada sisi client dan hanya
mengirimkan data ke dalam database server. Konsep model three-tier adalah model
yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasiaplikasi
mendapatkan skalabilitas, keterbaharuan, dan keamanan.
Kelebihan
arsitektur Three Tier :
• Segala sesuatu mengenai database terinstalasikan pada sisi server, begitu
pula dengan pengkonfigurasiannya. Hal ini membuat harga yang harus dibayar
lebih kecil.
• Apabila terjadi kesalahan pada salah satu lapisan tidak akan menyebabkan
lapisan lain ikut salah
• Perubahan pada salah satu lapisan tidak perlu menginstalasi ulang pada
lapisan yang lainnya dalam hal ini sisi server ataupun sisi client.
Skala besar.
• Keamanan dibelakang firewall.
• Transfer informasi antara web server dan server database optimal.
• Komunikasi antara system-sistem tidak harus didasarkan pada standart
internet, tetapi dapat menggunakan protocol komunikasi yang lebvih cepat dan
berada pada tingkat yang lebih rendah.
• Penggunaan middleware mendukung efisiensi query database dalam SQL di pakai
untuk menangani pengambilan informasi dari database.
Beberapa
Keuntungan Arsitektur Three-Tier
·
Keluwesan teknologi
·
Mudah untuk mengubah DBMS
engine
·
Memungkinkan pula middle
tier ke platform yang berbeda
·
Biaya jangka panjang yang rendah
·
Perubahan-perubahan cukup dilakukan
pada middle tier daripada pada aplikasi keseluruhan
·
Keunggulan kompetitif
·
Kekampuan untuk bereaksi thd
perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada
mengubah keseluruhan aplikasi
Kekurangan
arsitekture Three Tier :
• Lebih susah untuk merancang
• Lebih susah untuk mengatur
• Lebih mahal
C.
Aplikasi N-tier
Stored
procedure ternyata tidak mencukupi untuk sistem dimana database disimpan pada
lebih dari satu server, karena bisa jadi terdapat client yang tidak dapat
mengakses procedure tersebut. Mungkin Anda bertanya, apa perlunya menyimpan
database lebih dari satu server? Tentu saja Anda juga menginginkan perusahaan
yang menggunakan aplikasi Anda dapat berkembang, bukan? Penggunaan lebih dari
satu database sangat memungkinkan saat sebuah perusahaan telah memiliki divisi
yang cukup besar dimana harus memiliki database tersendiri. Dalam kasus
penggunaan lebih dari satu server database, Anda perlu mengimplementasikan
strategi development yang berbeda, pendekatan yang baik adalah dengan
menggunakan model n-tier. Huruf “n” pada n-tier menunjukkan variabel numerik yang
dapat berisi angka sebanyak apapun, misalnya 3-tier, 4-tier dan seterusnya.
Karena itu sebuah aplikasi n-tier memiliki 3 atau lebih tingkatan logical,
umumnya aplikasi n-tier saat ini menggunakan 3-tier.
Untuk
menggambarkannya, Anda dapat membayangkan skema disain aplikasi two-tier yang
mengimplementasikan business logic pada stored procedure seperti yang telah
diterangkan diatas, kemudian melakukan improvisasi disain dengan menambahkan
sebuah tingkatan (tier) sebagai middle tier sebagai business object, arsitektur
inilah yang dikenal dengan 3-tier. Perbedaan nyata dengan 2-tier adalah,
business object pada 3-tier terpisah dari aplikasi client dan elemen database.
Sehingga dapat digambarkan bahwa sistem 3-tier secara umum terbentuk dari
tingkatan client, business dan database.
Untuk
membayangkan penerapan 3-tier dalam kehidupan sehari-hari yang mungkin paling
sering Anda temui adalah penerapan Internet ataupun Intranet.
Pada aplikasi Internet/Intranet, terdapat client yang menjalankan browser dan
meminta informasi dari middle-tier yang berupa HTTP Server. Middle-tier akan
meminta data pada server database, kemudian mengirimkannya kembali kepada HTTP
Server. HTTP Server akan mengirimkan kepada browser dalam bentuk page/halaman
web.
Sebuah
sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat pada
client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan beberapa
database yang digunakan secara bersamaan. Dalam pembahasan berikut ini, akan
dijelaskan contoh kasus penerapan 3-tier. Bayangkan sebuah sistem 3-tier, yang
terdiri dari client, business dan database.
BAB III
PENUTUP
KESIMPULAN
Dalam
konteks basis data, client mengatur interface berfungsi sebagai workstation
tempat menjalankan aplikasi basis data. Client menerima permintaan pemakai,
memeriksa sintaks dan generate kebutuhan basis data dalam SQL atau bahasa yang
lain. Kemudian meneruskan pesan ke server, menunggu response dan bentuk
response untuk pemakai akhir.
Model
Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan : client
(yang meminta serice) dan server (yang menyediakan service).
Tiga
komponen tersebut yaitu :
1. User Interface. Adalah antar muka program aplikasi yang berhadapan dan
digunakan langsung oleh user.
2. Manajemen Proses.
3. Database. Model ini memisahkan peranan user interface dan database dengan
jelas, sehingga terbentuk dua lapisan.
Model
three-tier atau multi-tier dikembangkan untuk menjawab keterbatasan pada
arsitektur client/server. Dalam model ini, pemrosesan disebarkan di dalam tiga
lapisan (atau lebih jika diterapkan arsitektur multitier).
Sebuah
sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat pada
client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan beberapa
database yang digunakan secara bersamaan.
Diantara
keuntungan-keuntungan yang dapat diperoleh dari arsitektur n-tier (atau 3-tier
pada umumnya), yang terutama adalah:
1.
Kemudahan perubahan business logic
di masa yang akan dating
2.
Business logic yang mudah
diimplementasi dan dipelihara
3.
Aplikasi client dapat mengakses
berbagai tipe DBMS yang berbeda-beda secara transparan.