FAKULTAS TEKNOLOGI INDUSTRI
TEKNIK INFORMATIKA
2014
Pengantar Web
Sience (softskill)
CLIENT – SERVER
Nazzirul Fatta
55412275
2IA21
KATA PENGANTAR
Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, karena dengan pertolonganNya kami dapat menyelesaikan makalah yang berjudul “client-server”. Meskipun banyak rintangan dan hambatan yang kami alami dalam proses pengerjaannya, tapi kami berhasil menyelesaikannya dengan baik.
Tentunya ada hal-hal yang ingin kami berikan kepada para pembaca dari hasil tulisan ini. Karena itu saya berharap semoga makalah ini dapat menjadi sesuatu yang berguna bagi kita bersama.
Semoga makalah yang saya buat ini dapat membuat kita mengerti akan konsep dan pengertian dari client-server tersebut.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Di era globalisasi ini, dimana 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
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).
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.
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 :
- Menggunakan LAN untuk mendukung jaringan PC
- Masing-masing PC memiliki penyimpan tersendiri
- 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.
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.
• 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
• 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.
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.
• 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
• 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.
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:
- Kemudahan perubahan business logic di masa yang akan dating
- Business logic yang mudah diimplementasi dan dipelihara
- Aplikasi client dapat mengakses berbagai tipe DBMS yang berbeda-beda secara transparan.
DAFTAR PUSTAKA
DAFTAR PUSTAKA
Zainal
hakim., Pengertian Client server
http://www.zainalhakim.web.id/pengertian-client-server.html
diakses tanggal 11 mei 2014
Luviyani. client – server
Muhammad Abdullah. Arsitektur Client Server
http://achmad89.wordpress.com/2010/07/11/arsitektur-client-server.html
diakses tanggal 11 mei 2014
Slamet ridwan. Arsitektur Client Server
http://slametridwan.wordpress.com/arsitektur-client-server.html
diakses tanggal 11 mei 2014