Upload
voanh
View
216
Download
0
Embed Size (px)
Citation preview
PENDAHULUAN
Pemanfaatan perangkat lunak berperan erat bagi perkembangan di
semua lini, baik itu institusi pendidikan, lingkungan bisnis, maupun
kalangan pribadi.
Tentunya berpulang dari penggunaan perangkat lunak tersebut,
sampai sejauh mana fungsinya dapat diberdayakan dan seberapa
besar biaya yang dibutuhkan untuk penerapannya.
Pemilihan perangkat lunak yang sejalan dengan kebutuhan harus
benar-benar diperhatikan, karena itu perencanan awal dimulai
dengan mengindentifikasi kebutuhan di lingkungan yang ada.
Setelah proses identifikasi kebutuhan didaftarkan, kita dapat
memilih perangkat lunak seperti apa yang akan digunakan.
Pemamfaatan aplikasi yang berbasis client-server sangat banyak
dan sering dijumpai di sekitar kehidupan kita dan tampa kita
sadarai bahwa aplikasi tersebut merupakan aplikasi yang
mengadopsi sistem client-server,
CONTOH:
Sistem Informasi pengurusan KRS di Kampus
Aplikasi Pembayaran Rekening Listrik atau Air.
Aplikasi Pemesanan Tiket Pesawat Terbang.
Aplikasi Perbankkan, dan masih banyak yang lainnya.
Contoh diatas merupakan aplikasi yang menggunakan 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
Client dapat mengopersikannya dari mana saja selama terhubung
dengan media internet dan data yang telah kita inputkan disimpan di
server
Data yang telah kita simpan dapat diambil kapanpun dan dimana pun
selama kita terhubung dengan dengan server tersebut.
DEFINISI
Aplikasi yang berbasis client- server itu sendiri didefinisikan:
1. Komputasi client-server melibatkan pembagian suatu aplikasi ke
dalam beberapa task dan meletakkan setiap task pada platform
yang dapat menangani secara efisien.
2. Pemrosesan data bisa berada pada client atau di-split diantara
client dan server.
3. 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”.
JARINGAN CLIENT SERVER
Jaringan komputer atau dalam bahasa inggris disebut sebagai
computer network adalah sebuah interkoneksi (saling
keterhubungan) antara kelompok satu dengan kelompok lain.
Dengan menggunakan jaringan, komputer-komputer akan menjadi
satu kesatuan sehingga bisa saling mengakses dan membagi
resource.
Jaringan komputer juga dapat disambungkan ke internet.
Arsitektur jaringan Client Server merupakan model konektivitas
pada jaringan yang membedakan fungsi computer sebagai Client dan
Server.
Arsitektur ini menempatkan sebuah komputer sebagai Server.
Server ini yang bertugas memberikan pelayanan kepada terminal-
terminal lainnya tang terhubung dalam system jaringan atau yang
kita sebut Clientnya.
Server juga dapat bertugas untuk memberikan layanan berbagi
pakai berkas (file server), printer (printer server), jalur komunikasi
(server komunikasi).
Pada model arsitektur ini, Client tidak dapat berfungsi sebagai
Server, tetapi Server dapat berfungsi menjadi Client (server non-
dedicated).
Prinsip kerja pada arsitektur ini sangat sederhana, dimana Server
akan menunggu permintaan dari Client, memproses dan memberikan
hasil kepada Client,
Sedangkan Client akan mengirimkan permintaan ke Server,
menunggu proses dan melihat visualisasi hasil prosesnya.
Sistem Client Server ini tidak hanya diperuntukkan bagi
pembangunan jaringan komputer skala luas.
Sistem ini menggunakan protokol utama Transmision Control
Protocol/Internet Protocol (TCP/IP), sedangkam sistem operasi
yang digunakan antara lain Unix, Linux dan Windows NT.
KEUNTUNGAN
Memungkinkan akses basis data yang besar
Menaikkan kinerja
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.
Biaya untuk hardware dapat dikurangi
Hanya server yang membutuhkan storage dan kekuatan proses yang
cukup untuk menyimpan dan mengatur basis data
Biaya komunikasi berkurang
Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan
hanya bagian yang dibutuhkan untuk akses basis data melewati
jaringan, menghasilkan data yang sedikit yang akan dikirim melewati
jaringan
Meningkatkan kekonsistenan
Server dapat menangani pemeriksaan integrity sehingga batasan
perlu didefinisikan dan validasi hanya di satu tempat, aplikasi
program mengerjakan pemeriksaan sendiri
Map ke arsitektur open-system dengan sangat alami
KERUGIAN
Jika traffic jaringan terlalu padat, server bisa hang karena
overload.
Pada jaringan client-server, jika server down, maka jaringan akan
down.
Riskan terhadap ancaman
Dasar Pemrograman Client/Server
Prototipe Pemrograman Client/Server
Pemrograman berbasis Client/Server mempunyai dua komponen
utama, yaitu mesin Client dan mesin Server.
Mesin Client digunakan untuk meminta layanan kepada server data.
Sedangkan mesin Server digunakan untuk menyimpan data
sekaligus memberikan layanan terkait dengan database yang
tersimpan.
Untuk bisa berkomunikasi diperlukan sebuah media komunikasi
data. Perhatikan gambar dibawah, untuk lebih jelasnya.
Hardware
Dari gambar diatas, dalam tataran harware diperlukan sebuah
mesin Server (computer server) dan mesin Client (computer
Client).
Untuk dapat komunikasi, keduanya dihubungkan dengan media
komunikasi baik berupa kabel ataupun media komunikasi yang lain.
Karena sebuah server melayani semua permintaan dari Client, maka
diperlukan spesifikasi computer yang baik.
Kualifikasi tersebut diantaranya,
kecepatan processor,
besarnya memori, dan
besarnya media simpan.
Software
Dalam tataran software, diperlukan Sistem operasi yang bekerja
dalam kedua mesin, Database generator yang diletakan di server
untuk menangani database dan memberikan serta menangani
layanan.
Dalam mesin Client, diperlukan sebuah aplikasi untuk meminta
layanan ke server. Disamping itu, diperlukan sebuah software yang
menjembatani komunikasi antara database generator dan aplikasi
yang biasa disebut „Connector‟.
Saat ini tersedia banyak database generator (database server),
baik yang berlisensi (berbayar) maupun yang free. Misalkan;
Berbayar : Oracle, SQLServer, DB2 dan lain
Tidak berbayar: MySQL, PosgreSQL, FreeBSD dan lain.
Connector biasanya akan dikeluarkan oleh Database generator
masing-masing, tergantung platform koneksinya (ODBC-Open
DataBase Connectivity, ADO – ActiveX Data Object ataupun yang
lain) .
Aplikasi database terdistribusi dikembangkan dalam bentuk arsitektur client/server.
Pada umumnya sistem client/server beroperasi dilingkup jaringan komputer, yang memecah pemrosesan aplikasi antara sisi client (front-end) dan sisi server (back-end).
Proses yang terjadi yaitu memecah suatu proses antara sisi client dan server, sehingga client akan memproses sebagian resourcenya, sedang pemrosesan yang lain diserahkan pada sisi server.
Client dan server dapat berada pada komputer yang sama, atau dapat juga berada pada komputer yang berbeda yang saling terhubung pada suatu jaringan komputer (network).
Secara umum, komputer disebut: Client: jika ia menerima layanan tertentu dari server, dan disebut
Server: jika ia memberi layanan tertentu pada client.
Arsitektur Client - Server
Arsitektur DBMS telah mengikuti trend sejalan dengan kemajuan arsitektur sistem komputer.
Permulaan arsitektur DBMS dimulai dgn bentuk Arsitektur DBMS Terpusat (Centralized DBMS Architecture). Pada arsitektur ini digunakan komputer main frame yg menyediakan semua proses utama spt fungsinya pada DBMS (user application programs & user
interface programs). Bentuk arsitektur terpusat ini menggambarkan pengaksesan
terminal-terminal komputer (client) pada komputer server, berupa display informasi dan kontrol saja, karena pada terminal komputer tidak memungkinkan memiliki resource yang lebih.
Seiring perkembangan teknologi dan turunnya harga hardware, banyak terminal user digantikan dengan PC, akan tetapi DBMS masih ditempatkan terpusat (Application program execution & user interface processing ditempatkan pada satu mesin).
Arsitektur DBMS Terpusat (Centralized DBMS Architecture)
Gambar fisik Arsitektur Terpusat
Arsitektur DBMS Terpusat (Centralized DBMS Architecture)...
Secara berangsur-angsur, sistem DBMS mulai dapat ditempatkan pada sisi user yang dikenal dengan arsitektur DBMS Client/Server.
Arsitektur Client/Server dibangun untuk memenuhi lingkungan komputing dimana sejumlah PC, workstation, file server, printer, database server, web server serta peralatan lainnya dapat saling terhubung via network.
Ide dasar arsitektur client/server ini adalah mendefinisikan spesifik server dengan kemampuan yang khusus pula.
Sebagai contoh: menghubungkan berbagai PC sebagai client pada file server yang menangani berbagai file pada mesin client, mesin lain dapat dirancang sebagai printer server yang terhubung pada berbagai printer, mesin server lain
Web server atau e-mail server, dsb.
Dasar Arsitektur Client/Server
Gambar Logic Arsitektur Two-Tier Client/Server
Mesin-mesin client menyediakan interface yang sesuai bagi user sebagai penghubung dalam menggunakan server-server tersebut.
konsep ini dapat diganti dengan adanya software khusus yang tersimpan pd mesin server yang spesifik pula (DBMS,CAD package, dll).
Dasar Arsitektur Client/Server...
Gambar Fisik Arsitektur Two-Tier Client/Server
Dasar Arsitektur Client/Server...
Konsep arsitektur client/server mengasumsikan sebuah kerangka dasar (framework) yang terdiri atas banyak PC yang terhubung melalui LAN beserta tipe-tipe jaringan komputer lainnya.
Suatu Client adalah mesin user yang menyediakan kemampuan user interface dan local processing.
Suatu Server adalah mesin yang menyediakan berbagai service ke mesin client (file access, printing, archiving, or database access).
Ada kemungkinan suatu mesin hanya menginstall software client saja, yang lain software server, atau bahkan keduanya pada satu mesin (seperti pada gambar physical client/server sebelumnya).
Dua jenis utama dari dasar arsitektur DBMS tersebut yang mendasari framework client/server: two-tier client/server dan three-tier client/server.
Dasar Arsitektur Client/Server...
Pada dasarnya arsitektur two-tier sering disebut sebagai arsitektur client/server, yang terdiri komputer client dan komputer server, yang berinteraksi melalui protokol yang sifatnya well-defined.
Dalam arsitektur client/server tradisional, client hanya mengimplementasikan GUI (Graphical User Interface), sedang server hanya mengimplementasikan logika bisnis dan manajemen data.
Client tersebut disebut thin client (klien tipis).
Logika
Aplikasi
DBMS
Network
Client
Client
...
Arsitektur Two-Tier Client/Server untuk DBMS
Pada bentuk yang lain, terdapat juga client yang lebih powerfull dgn mengimplementasikan UI dan logika bisnisnya sedang sisanya pada sisi server, yang disebut thick client (klien tebal).
Logika
Aplikasi
DBMSNetwork
Client
Client
...
Logika
Aplikasi
Arsitektur Two-Tier Client/Server untuk DBMS…
Model thick client memiliki beberapa kelemahan: 1. Tidak memiliki tempat pusat untuk memperbaharui dan
memelihara logika bisnis, karena berjalan pada sisi client. 2. Rasa saling percaya antara client & server.
(Penggunaan strore procedure pada client) 3. Tidak dapat menangani jumlah client yang besar. 4. Thick client tidak diskalakan seiring dengan pertambahan
akses aplikasi dan sistem database.
Pada database client/server, saat pengaksesan DBMS dibutuhkan: program membuka koneksi ke DBMS server, sekali koneksi terbuat maka program client dapat berkomunikasi dengan DBMS.
Contoh: ODBC (Open Database Connectivity) yang menyediakan API (Application Programming Interface), JDBC, yg digunakan program client Java utk akses ke DBMS.
Arsitektur Two-Tier Client/Server untuk DBMS…
Interaksi antara client dan server selama pemrosesan query SQL adalah sebagai berikut :
1. Client melakukan parsing query pemakai dan memecahnya ke dalam sejumlah query independent untuk setiap tempat. Setiap query tersebut dikirim ke server yang sesuai.
2. Setiap server memproses query lokal dan mengirim relasi hasil ke client.
3. Client mengkombinasikan hasil sub query untuk memproduksi hasil dari query asal yang dikirim.
Pada pendekatan ini : Server SQL : juga disebut transaction server (database processor
(DP) / back-end machine / DBMS), sedangkan
Client : disebut application processor (AP) atau front-end machine.
Arsitektur Two-Tier Client/Server untuk DBMS…
Arsitektur Three-Tier Client/Server merupakan model yang lebih maju dengan memisahkan antara logika aplikasi dari manajemen data, yang meliputi: 1. Presentation Tier (Client)
Berisi interface natural yang dibutuhkan user untuk membuat request, menyediakan input dan melihat hasil. (GUI, Web Interface).
2. Middle Tier (Application Layer/Web Server)
Berisi logika aplikasi untuk dieksekusi, berbagai macam kode program (C++, Java, dll) sebagai proses bisnis logic yang kompleks. (Application Programs, Web Pages).
3. Data Management Tier (Database Server)
Berisi DBMS.
Arsitektur Two-Tier Client/Server for DBMS...
Gambar arsitektur Three-Tier Client/Server:
Arsitektur Two-Tier Client/Server for DBMS...
Berbagai keuntungan arsitektur three-tier:
1.Sistem Heterogen
Mendukung pada berbagai platform yang berbeda. Sehingga modify code pada suatu tier tidak berdampak pada tier yang lain.
2.Thin Client
Membutuhkan kemampuan komputasi yang memadai pada presentation layer (biasanya web browser).
3.Akses Data Terintegrasi
Kemampuan middle tier dalam mengatur koneksi pada semua sistem database yang terlibat secara terpusat.
4.Stabilitas pada Banyak Client
Kemampuan middle tier dalam mengatur hubungan database pada client.
5.Kemudahan dalam Pengembangan Software
Masing-masing tier dapat dikembangkan lebih lanjut (debug, test) tanpa mempengaruhi yang lain.
Arsitektur Two-Tier Client/Server for DBMS...
Pada arsitektur 3-tier memisahkan antara user interface, business interface dan data provider dalam bagian yang berbeda.
Istilah arsitektur N-tier sendiri muncul disebabkan karena dimungkinkannya suatu aristektur aplikasi terdiri dari banyak tier didalamnya.
Arsitektur N-Tier / Multi-Tier Client Server Database
Pada gambar aplikasi N-tier diatas digambarkan bagaimana suatu pelanggan internet ingin memesan buku secara online pada situs amazon.com.
Pelanggan dapat melihat katalog buku amazon.com yang sebenarnya ada pada database amazon.com. Setelah pelanggan ingin memesan salah satu buku, maka pelanggan tersebut perlu memasukkan informasi mengenai dirinya dan yang terlebih penting adalah data mengenai kartu kreditnya.
Tentunya data kartu kredit pelanggan tersebut harus divalidasi terlebih dahulu informasinya, seperti PIN, masa berlaku kartu, limit kredit, dsb. Setelah itu, barulah transaksi pemesanan buku itu selesai.
Dari ilustrasi diatas kita melihat berapa banyak tier yang terlibat dalam suatu sistem.
Case:
Sumber: http://charless.wordpress.com/2008/0
5/02/arsitektur-model-aplikasi-saat-
ini/
Arsitektur N-Tier / Multi-Tier Client Server Database...