Anda di halaman 1dari 15

PENGENALAN SISTEM TERDISTRIBUSI

DIFINISI

"A system in which hardware or software components

located at networked computers communicate and

coordinate their actions only by message passing."

[Coulouris]

"A system that consists of a collection of two or more

independent computers which coordinate their

processing through the exchange of synchronous or

asynchronous message passing."

"A distributed system is a collection of independent

computers that appear to the users of the system as a

single computer." [Tanenbaum]

"A distributed system is a collection of autonomous

computers linked by a network with software designed to

produce an integrated computing facility."

Jadi secara umum bisa dikatakan bahwa :

Sistem komputer terdistribusi adalah sebuah sistem Yang memungkinkan aplikasi komputer

beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis.

(Lukito Eddi)
Komponen dasar sistem terdistribusi

Selain jaringan, Ada 3 komponen dasar dalam satu model sistem terdistrubusi :

1. Webserver : server pengelola sistem / tempat menaruh source code program yang

merupakan otak dari sistem itu sendiri.

2. Database server : Mesin yang digunakan sebagai server untuk menyimpan database

3. File server : Mesin yang digunakan sebagai server untuk menyimpan file/konten yang

berhubungan dengan sister.

Mengapa komponen tersebut harus terdistribusi ? Karena ada 3 alasan utama yang paling

mendasar yaitu :

1. Distribusi fungsi : Karena komputer memiliki kemampuan fungsi yang berbeda

(distribusi fungsi), contoh : fungsi utama file server yang menitikberatkan pada space

harddrive tentu berbeda dengan fungsi utama webserver yang mengutamakan

kecepatan prosesor dan kemampuan memori yang besar.

2. Distribusi beban keseimbangan : Pemberian tugas ke prosesor secukupnya

sehingga unjuk kerja seluruh sistem teroptimasi.

3. Distribusi fisik : sistem yang menggantungkan pada fakta bahwa komputer secara

fisik terpisah (e.g., untukmencapai kehandalan).

Saya juga akan memberikan 3 alasan mengapa anda harus mulai menerapkan sistem ini di

perusahaan :
1. Penambahan Quota bukan merupakan solusi total untuk mengatasi masalah

bandwidth.Contoh : apakah dengan melebarkan jalan akan menuntaskan masalah

kemacetan dijakarta, atau hanya mengurangi ?

2. Fakta bahwa kebutuhan informasi internal (cabang/jobsite) tidak harus tersentralisasi.

3. Peningkatan jumlah aplikasi berbanding lurus dengan penambahan quota bandwidth,

sehingga harus ada solusi pintar untuk mengoptimalkan pemakaian bandwidth.

Selain itu saya juga akan memberikan 3 kendala utama (konsekuensi) yang mungkin terjadi

dalam penerapan sistem terdistribusi :

1. Kompleksitas dalam perancangan arsitektur software.

2. Sistem terdistribusi sangat tergantung pada jaringan.

3. Pendistribusian data memunculkan masalah keamanan (security).

Dan tentu saja saya juga akan memberikan 3 solusi yang saya gunakan untuk mengatasi

kendala diatas :

1. Yang kita butuhkan untuk mengatasi masalah ini adalah tools, banyak sekali tools

yang dapat anda gunakan, dan karena penulis bekerja di lingkungan windows maka

tool saat ini yang penulis gunakan adalah adalah MS.Visual Studio Team System

(VSTS).

2. Scheduler update agar data tetap tersentalisasi

3. Selain trik-trik dalam pemrograman, Policy ISMS (http://id.wikipedia.org/wiki/ISMS)

juga wajib diterapkan.

OK, Sekarang apa yang akan distribusikan dalam sistem anda ?, sebagai seorang

system analyst anda tentu dapat menganalisa dan memetakan serta mengkombinasikan

antara kebutuhan user dengan kemampuan dari lingkungan infrastruktur IT sendiri. Tidak

selalu kita harus mendistribusikan Fileserver bersama dengan Database server, dan tentu

saja saya tidak akan bicara panjang lebar tentang bagaimana cara anda melakukannya. Saya

hanya akan membagi ini menjadi 3 model pendistribusian dan teknik bagaimana cara

melakukannya pada artikel berikutnya (seri 2).


DISTRIBUSI FILE

Distribusi file adalah bagian dari sistem informasi terdistribusi dimana konten-konten

(file berupa fisik) yang terdapat dalam sistem, terdistribusikan di setiap fileserver lokal.

Beberapa hal yang harus diperhatikan dalam sistem distribusi konten :

1. Asumsikan growth file yang mungkin akan tersimpan dalam kurun waktu tertentu, dan

kompilasikan dengan kemampuan space pada file server lokal. Cara yang paling

gampang adalah dengan mengalikan jumlah asumsi maksimal pengguna sistem

perhari dengan batas maksimal besar file yang boleh diupload.

Contoh kita asumsikan jumlah klik/hari adalah 50 user dan maksimal upload dokumen

adalah 500Kb maka growth spacenya adalah 50 x 500 = 25000Kb = 25 Mb/hari.

2. Sistem yang dikembangkan sebaiknya friendly terhadap modifikasi besar maksimal file

yang bisa di upload per lokal server. Contoh : seorang admin di server lokal bisa

memodifikasi sendiri batas maksimal file yang boleh diuplaod ke server lokal.

3. Perhatikan model pengelolaan data dari konten itu sendiri. Contoh : Data terus

berkembang dan disimpan dalam tape atau akan secara otomatis terhapus dalam

kurun waktu tertentu.

4. Perhatikan pula hirarki direktori dalam pengorganisasian file.

5. Perhatikan juga kemampuan server lokal, server lokal yang digunakan merupakan

dedicated server atau bukan.


DISTRIBUSI DATABASE (MULTI DATABASE)

Distribusi database adalah bagian dari sistem informasi terdistribusi dimana

arsitektur databasenya dirancang sedemikian rupa sehingga data yang berupa record dapat

terdistribusikan di setiap database server lokal dan dapat bekerja secara terintegrasi dan

simultan.

Karena memang cukup kompleks, terus terang, sampai pada saat saya menulis artikel ini,

konsep dari distribusi database ini belum teraktualisasi, namun kira-kira inilah prinsip kerja

distribusi database :

Dan hal yang perlu diperhatikan adalah bagaimana sistem dirancang untuk membaca alamat

IP user/client dan mentransformasikannya menjadi suatu connection string database.

DISTRIBUSI FILE & DATABASE


Model pendistribusian ini adalah gabungan dari 2 model distribusi yang telah

dijelaskan diatas, dan tentu saja hal-hal yang perlu diperhatikan dalam mensimulasikan

model pendsitribusian ini adalah gabungan dari keduanya.

2.5. Evolusi Aplikasi Enterprise

Dahulu sistem bersifat Centralized Approach.


Yaitu sistem dimana bersifat stand alone, dan terpusat.
Single system for all processing needs
Sehingga: physical limitations of scalability, single points of failure,
limited accessibility from remote locations
Bersifat single-tier : presentasi, logic business, code, dan data menjadi
satu kesatuan, tidak dipisah-pisah.
Kekurangan single-tier:
Aplikasi Enterprise
Ahmadi Yuli Ananta, ST. Program Studi Manajemen Informatika 8
o Menyebabkan perubahan terhadap salah satu komponen diatas
tidak mungkin dilakukan, karena akan mengubah semua bagian.
o Tidak memungkinkan adanya re-usable component dan code.
Sekarang sistem bersifat Distributed Approach
Yaitu sistem dimana bersifat tersebar dan multiproses.
Sistem ini bersifat On Demand Software dan Software as Service
On Demand Software: berarti software tersebut mampu mendukung
sistem terdistribusi sehingga dapat diakses melalui Internet
Software as a Service berarti software tersebut berlaku sebagai server
dan memberikan pelayanan kepada customer melalui Internet.
Bersifat multi-tier : presentasi, logic business, dan data terpisah pisah
menjadi lapisan-lapisan tersendiri
Multitier
Multi-tier bisa terdiri dari 2-tier, 3-tier, n-tier.
Contoh multi-tier adalah aplikasi client-server (2-tier) dimana
business logic (di server) dan presentasi (di client) terpisah dalam
beberapa lapisan (tier).
Konsekuensi : tantangan untuk mengupdate software aplikasi untuk
jumlah client yang banyak dengan biaya minimun dan gangguan
yang kecil
Kelebihan N-Tier
Cepat dan dapat menurunkan biaya pengembangan. Aplikasi baru
dapat dibuat lebih cepat menggunakan kembali data access
component dan data bisnis yang ada.
Perubahan pada suatu komponen tertentu tidak mempengaruhi
komponen lain. Perubahan pada satu tier tidak berpengaruh pada
tier lain.
Perubahan lebih dapat di-manage. Lebih mudah untuk mengganti
salah satu komponen bisnis dengan yang baru dalam business-tier
Aplikasi Enterprise
Ahmadi Yuli Ananta, ST. Program Studi Manajemen Informatika 9
(business logic) daripada menggantu ratusan application client
diseluruh dunia.

Gambar 2.1. Gambaran Tier

Dalam penggunaanya sistem terdistribusi sangat diperlukan karena:


Performance
Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang
terpusat
Distribution
Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda
(contoh: aplikasi perbankan, komersial)
Reliability
Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara
keseluruhan
Incremental Growth
Mesin baru dapat ditambahkan jika kebutuhan proses meningkat
Sharing Data/Resource
Resource adalah:
Segala hal yang dapat digunakan bersama dalam jaringan komputer.
Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).
Communication
Menyediakan fasilitas komunikasi antar manusia
Beberapa contoh dari sistem terdistribusi yaitu :
1. Internet, merupakan suatu bentuk jaringan global yang menghubungkan komputer denga satu
sama lainnya, yang dapat berkomunikasi dengan media IP sebagai protokol.

2. Intranet
Jaringan yang teradministrasi secara lokal
Biasanya proprietary
Terhubung ke internet (melalui firewall)
Menyediakan layanan internal dan eksternal
3. Sistem terdistribusi multimedia
Biasanya digunakan pada infrastruktur internet
Karakteristik
Sumber data yang heterogen dan memerlukan sinkronisasi secara real time
Video, audio, text Multicast
Contoh:
- Teleteaching tools (mbone-based, etc.)
- Video-conferencing
- Video and audio on demand
4. Mobile dan sistem komputasi ubiquitous
Sistem telepon Cellular (e.g., GSM)
Resources dishare : frekuensi radio, waktu transmisi dalam satu frekuensi, bergerak

Komputer laptop, ubiquitous computing


Handheld devices, PDA, etc
5. World wide web
Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
Shared resources (melalui URL)
6. Contoh distribusi yang lainnya seperti
Sistem telepon seperti ISDN, PSTN
Manajemen jaringan seperti Administrasi sesumber jaringan
Network File System (NFS) seperti Arsitektur untuk mengakses sistem file melalui
jaringan.

1.2. Karakteristik Sistem Terdistribusi


Dalam system terdistribusi terdapat beberapa karakteristik yaitu :
1. No global clock
- Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena
asynchronous message passing
- Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat
ini (disebabkan oleh concurrency dan message passing)
2. Independent failure
- Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
- Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan
3. Concurrency of components
- E.g. Beberapa pemakai browser mengakses suatu halaman web secara bersamaan.
- Bagaimana jika ada operasi update?

1.3. Model Sistem Terdistribusi


Dalam pelaksanaannya sistem terdistribusi memiliki berbagai bentuk (model), yaitu :
1. Sistem client - server
Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan
pemberi dan penerima jasa layanan. Pada sebuah jaringan akan didapatkan: file server, time
server, directory server, printer server, dan seterusnya.

2. Sistem point to point


Merupakan bagian dari model sistem terdistribusi dimana sistem dapat sekaligus berfungsi
sebagai client maupun server.
3. Sistem terkluster
Adalah gabungan dari beberapa sistem individual (komputer) yang dikumpulkan pada
suatu lokasi, saling berbagi tempat penyimpanan data (storage), dan saling terhubung dalam
jaringan lokal (Local Area Network). Sistem kluster memiliki persamaan dengan sistem paralel
dalam hal menggabungkan beberapa CPU untuk meningkatkan kinerja komputasi. Jika salah
satu mesin mengalami masalah dalam menjalankan tugas maka mesin lain dapat mengambil
alih pelaksanaan tugas itu. Dengan demikian, sistem akan lebih handal dan fault tolerant dalam
melakukan komputasi.
Dalam hal jaringan, sistem kluster mirip dengan sistem terdistribusi (distributed
system). Bedanya, jika jaringan pada sistem terdistribusi melingkupi komputer-komputer
yang lokasinya tersebar maka jaringan pada sistem kluster menghubungkan banyak
komputer yang dikumpulkan dalam satu tempat.
1.4. Permasalahan Sistem Terdistribusi
Masalah dengan sistem terdistribusi yang dapat dimunculkan antara lain berkaitan
dengan :
* Software - bagaimana merancang dan mengatur software dalam Distribusi Sistem
* Ketergantungan pada infrastruktur jaringan
* Kemudahan akses ke data yang di share, memunculkan masalah keamanan

Dalam setiap penggunaan suatu sistem, banyak sekali ditemui permasalahan


permasalahan yang muncul, begitu juga dengan sistem terdistribusi. Selain permasalahan
permasalahan yang akan dihadapi terdapat tantangan tantangan dalam sistem terdistribusi.

1.5. Tantangan Sistem Terdistribusi


Tantangan yang ada dalam Sistem Terdistribusi yaitu :
1. Keheterogenan komponen (heterogenity)
2. Keterbukaan (openness)
3. Keamanan (security)
4. Scalability
5. Penanganan kegagalan (failure handling)
6. Concurrency of components
7. Transparansi

1. Keheterogenan
* Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware
dan programming language yang berbeda.
* IP dapat digunakan utk mengatasi perbedaan jaringan.
* Middleware mengatasi perbedaan lainnya.
2. Keterbukaan
* Mendukung extensibility.
* Setiap komponen memiliki antarmuka (interface), yg di-publish ke komponen
lain.
* Perlu integrasi berbagai komponen yg dibuat oleh programmer atau vendor
ygberbeda.
3. Keamanan
* Shared resources & transmisi informasi rahasia perlu dilengkapi dengan enkrips
* Cegah denial of service.
4. Scalability
* Penambahan pemakai membutuhkan penambahan resource yg konstan
* Cegah bottleneck.
* Jika perlu, gunakan replikasi.
5. Penanganan Kegagalan
* Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
* Komponen lain harus tetap berjalan dgn baik.
* E.g. failed branch in a distributed banking system.
6. Concurrency
* Multiple users with concurrent requests to a shared resources.
* Setiap resource hrs aman di lingkungan tersebut di atas.
7. Transparansi
Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja.
* Access transparency:
Local & remote resources dapat diakses dengan operasi yg sama.
* Location transparency:
Resource dapat diakses tanpa tahu di mana lokasinya.
Bagaimana pendapat Anda mengenai hyperlink & URL?
* Concurrency transparency
Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas:
* Replication transparency:
Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource,
yg dapat meningkatkan kehandalan dan unjuk kerja.
*Failure transparency:
Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada
kegagalan hardware atau software.
*Mobility transparency:
Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
*Performance transparency:
Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan
beban sistem.
*Scaling transparency:
Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma
aplikasi.

DEFINISI DAN PERAN MIDDLEWARE SISTEM


TERDISTRIBUSI

Definisi Middleware :
sebagai sebuah aplikasi yang secara logic yang terletak diantara lapisan aplikasi Middleware
didefinisikan seperti software yang menghubungkan komponen perangkat lunak atau aplikasi
yang berisi sekumpulan layanan yang memungkinkan agar beberapa proses dapat berjalan
untuk satu atau beberapa mesin computer untuk saling berinteraksi dalam sebuah jaringan.
Teknologi ini berkembang untuk menyediakan untuk Interoperabilitas dalam dukungan yang
koheren didistribusikan pindah ke arsitektur, yang paling sering digunakan untuk mendukung
dan mempermudah kompleksitas, aplikasi didistribusikan.
Middleware juga bisa disebut application layer) dan lapisan data dari sebuah arsitektur layer-
layer TCP/IP [1].
Penggunaan middleware ini sangat dibutuhkan untuk bermigrasi dari aplikasi mainframe ke
aplikasi client/server dan juga untuk menyediakan komunikasi antar platform yang berbeda
termasuk server web, server aplikasi, dan alat-alat serupa yang mendukung pengembangan
aplikasi dan pengiriman Middleware yang paling banyak dipublikasikan :
Microsoft's COM/DCOM (Component Object Model)
Object Management Group's Common Object Request Broker Architecture (CORBA),
RMI (Remote Method Invocation)

1. DCOM /Distributed Component Object Model adalah protokol yang berfungsi untuk
mengaktifkan komponen pada perangkat lunak (software) agar dapat berkomunikasi langsung
dengan jaringan. (Spangler, 2004). Tujuan DCOM adalah agar komponen yang telah dibuat
dapat diregister di suatu komputer dan di akses oleh banyak komputer lain. DCOM sendiri
bukan merupakan teknologi beru karena teknologi ini banyak dipakai dalam sistem distribusi
pada sistem jaringan TCP/IP. Protokol yang digunakan oleh DCOM dapat meliputi:
Protokol TCP/IP
Protokol UDP/IP
Protokol HTTP
Protokol RPC

2. CORBA merupakan sebuah spesifikasi middleware yang ideal untuk mendukung dan
mengaplikasikan sistem komputer terdistribusi. Arsitektur CORBA berbasis pada model objek.
Model ini berasal dari abstraksi inti model objek yang didefinisikan oleh OMG dalam sebuah
petunjuk OMA (Object Management Architecture). CORBA bersifat open, maksudnya bahwa
CORBA bisa dipakai oleh setiap orang yang ingin menggunakan standarisasi CORBA ini.
Sehingga akan muncul perbedaan-perbedaan dalam menggunakannya, seperti perbedaan
platform ataupun bahasa pemrograman. Tetapi hal ini justru menjadi kelebihan CORBA bahwa
CORBA mampu mengkomunikasikan sistem yang memiliki perbedaan-perbedaan tersebut.

3. RMI (Remote Method Innovation)


RMI adalah sebuah tekhnik pemanggilan method remote yang lebih secara umum lebih baik
dari RPC. RMI menggunakan paradigma pemrograman berorientasi obyek. RMI
memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan
dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna
dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan.
Tujuan :
1. Menyediakan fasilitas bagi programmer untuk dapat mendistribusikan objek yang digunakan
pada beberapa proses yang berbeda.
2. Dapat berjalan dalam satu mesin ataupun di beberapa mesin yang terhubung dengan jaringan.
Aplikasi Obyek Terdistribusi
Aplikasi RMI sering kali terdiri dari dua program terpisah yaitu server dan client.
1. Aplikasi Server
Membuat beberapa remote objek
Menyediakan referensi terhadap objek-objek tersebut sehingga dapat diakses
Menunggu RMI client merequest server
2. Aplikasi Client
Mendapatkan referensi remote ke satu atau lebih objek remote di server
Menjalankan method dari objek tersebut
Meminta pemanggilan ke beberapa remote objek berbasarkan referensi yang
diterimanya.

PERAN MIDDLEWARE TERHADAP SISTER :


Middleware adalah software yang dirancang untuk mendukung pengembangan sistem
tersebar dengan memungkinkan aplikasi yang sebelumnya terisolasi untuk saling berhubungan.
Dengan bantuan middleware, data yang sama dapat digunakan oleh customer service,
akuntansi, pengembangan, dan manajemen sesuai kebutuhan. Di sini middleware dapat
berfungsi sebagai penerjemah informasi sehingga setiap aplikasi mendapatkan format data
yang dapat mereka proses.
Pengertian Middleware adalah sebuah aplikasi yang secara logic berada diantara lapisan
aplikasi (application layer) dan lapisan data dari sebuah arsitektur layer-layer TCP/IP
[1]. Middleware bisa juga disebut protokol. Protokol komunikasi middleware mendukung
layanan komunikasi aras tinggi. Software yang berfungsi sebagai lapisan konversi atau
penerjemah yaitu :
1. Software penghubung yang berisi sekumpulan layanan yang memungkinkan beberapa
proses dapat berjalan pada satu atau lebih mesin untuk saling berinteraksi pada suatu jaringan
juga sebagai integrator.
2. Middleware saat ini dikembangkan untuk memungkinkan satu aplikasi berkomunikasi
dengan lainnya walaupun berjalan pada platform yang berbeda.
Contoh Layanan Middleware
Transaction Monitor
1. Produk pertama yang disebut middleware.
2. Menempati posisi antara permintaan dari program client dan database, untuk menyakinkan
bahwa semua transaksi ke database terlayani dengan baik
Messaging Middleware
1. Menyimpan data dalam suatu antrian message jika mesin tujuan sedang mati atau overloaded
2. Mungkin berisi business logic yang merutekan message ke ujuan sebenarnya dan memformat
ulang data lebih tepat
3. Sama seperti sistem messaging email, kecuali messaging middleware digunakan untuk
mengirim data antar aplikasi
Contoh Layanan Middleware
Distributed Object Middleware
Contoh: RPC, CORBA dan DCOM/COM
Middleware basis data
menyediakan antarmuka antara sebuah query dengan beberapa database yang terdistribusi
Contoh: JDBC, ODBC, dan ADO.NET
Application Server Middleware

J2EE Application Server, Oracle Application Server

Anda mungkin juga menyukai