30
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.

PENDAHULUAN - · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

  • Upload
    voanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 2: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 3: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 4: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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”.

Page 5: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 6: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 7: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 8: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 9: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 10: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 11: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 12: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

Hardware

Dari gambar diatas, dalam tataran harware diperlukan sebuah

mesin Server (computer server) dan mesin Client (computer

Client).

Page 13: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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.

Page 14: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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) .

Page 15: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 16: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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)

Page 17: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

Gambar fisik Arsitektur Terpusat

Arsitektur DBMS Terpusat (Centralized DBMS Architecture)...

Page 18: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 19: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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...

Page 20: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

Gambar Fisik Arsitektur Two-Tier Client/Server

Dasar Arsitektur Client/Server...

Page 21: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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...

Page 22: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 23: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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…

Page 24: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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…

Page 25: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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…

Page 26: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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...

Page 27: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

Gambar arsitektur Three-Tier Client/Server:

Arsitektur Two-Tier Client/Server for DBMS...

Page 28: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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...

Page 29: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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

Page 30: PENDAHULUAN -   · PDF filedalam beberapa task dan meletakkan setiap task pada platform yang ... (Centralized DBMS Architecture) ... berbagai macam kode program (C++,

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...