2. Biaya komunikasi berkurang, karena yang ditransmisikan bukan sekedar data mentah.
3. Kerusakan pada salah satu komputer local berakibat kecil terhadap keseluruhan system
8. Memungkinkan beberapa bagian/local mengadakan percobaan konsep baru dan fasilitas baru untuk
mengurangi resiko kegagalan system secara keseluruhan
10. Pemeliharaan data lebih mudah, karena sumber data disesuaikan dengan daerah asalnya (database
terdistribusi).
11. Rentang komunikasi cukup jauh, bahkan bisa menembus seluruh dunia.
Kelemahannya :
4. Membahayakan dari segi keamanan data karena pemakai diberi keleluasaan kerja pada komputer
local.
Disamping kelebihan di atas system terpusat juga mempunyai kekurangan antara lain :
1. Bila komputer pusat mengalami kerusakan, maka seluruh system tidak dapat berfungsi
2. Kurang fleksibel dalam pelayanan, karena semua peralatan Bantu seperti hardisk, printer dan lain-
lainnya disimpan/dipasang pada tempat yaitu komputer pusat.
3. Bila beban kerja CPU sangat besar, maka unjuk kerja system akan turun
Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware dan
programming language yang berbeda.
2. Keterbukaan
Mendukung extensibility.
Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yg berbeda.
3. Keamanan
Shared resources dan transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
4. Scalability
Cegah bottleneck.
5. Penanganan Kegagalan
Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
6. Concurrency
7. Transparansi
Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja.
Access transparency:
Local & remote resources dapat diakses dengan operasi yang sama.
Location transparency:
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, yang
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.
Heterogenity
Pada sebuah sistem terdistribusi, banyak dijumpai berbagai macam elemen yang dapat menimbulkan
berbagai macam kendala jika disatukan. Heterogenitas yang dihadapi meliputi :
Jaringan
Hardware
Sistem Operasi
Bahasa Pemograman
Openess
Keterbukaan merupakan syarat agar suatu sistem dapat diperpanjang dan diimplementasikan kembali.
Ketersediaan spesifikasi dan dokumentasi interface utama software dari komponen sistem yang dibuat
untuk pengembang perangkat lunak adalah awal mula untuk menambah dan memperluas layanan
sistem terdistribusi. Maka dari itu para designer interface komponen sistem memperkenalkan "Request
For Comment" (RFC) yaitu serangkaian dokumen untuk mengatasi kompleksitas sistem tedistribusi yang
terdiri dari banyak komponen dari berbagai pengembang. Secara garis besar menurut buku Distributed
System Concept and Design yang ditulis oleh George Coulouris sebagai berikut :
Sistem Terdistribusi yang terbuka didasarkan pada penyediaan mekanisme komunikasi yang seragam dan
diterbitkannya interface untuk mengakses sumber daya.
Keterbukaan sistem terdistribusi dapat dibangun dari heterogenitas perangkat keras dan perangkat lunak
yang mungkin dari vendor yang berbeda. Tetapi kesesuaian dari setiap komponen dari standar yang
diterbitkan harus diuji dan diverifikasi terlebih dahulu untuk memastikan sistem bekerja dengan benar.
Security
Pada sistem terdistribusi terdapat lalu lintas transaksi data yang padat. Maka dari itu dibutuhkan
keamanan untuk menjaga data dari pihak yang tidak berwenang untuk mengaksesnya atau kecerobohan
dari diri kita sendiri. Untuk mengamankan informasi, dapat dilakukan dengan metode enkripsi, digital
signature, atau algoritma chscksum/hash. Dapat juga menggunakan security service seperti access
control, authentication, confidentiality, integrity dan non-repudiation.
Scalability
Sistem terdistribusi dapat dikatakan scalable jika mempunyai kemampuan mendukung berbagai ukuran
data atau jumlah pengguna yang menggunakannya. Ada berbagai tantangan desain sistem terdistribusi
scalable :
Permintaan untuk sumber daya terus meningkat, harus diikuti dengan perluasan sistem tetapi dengan
biaya murah agar kebutuhan itu terpenuhi.
Pertimbangkan pengelolaan sekumpulan data yang ukurannya sebanding dengan jumlah pengguna atau
sumber daya dalam sistem.
Pertumbuhan perangkat keras harus diiringi oleh pertumbuhan perangkat lunak agar perkembangan
teknologi stabil.
Menghindari bottleneck
Sumber daya yang sering diakses secara bersama-sama tanpa diikuti oleh sistem yang scalable dapat
membuat sistem bottleneck sehingga terjadi penurunan kinerja.
Ada beberapa cara agar tantangan ini dapat dihadapi seperti penggunaan algoritma yang dapat
menghindari bottleneck, distrukturisasi secara hirarkis, replikasi data, dan teknik caching.
Failure Handling
Didalam sistem terdistribusi proses yang dijalankan dapat mengalami kegagalan. Kegagalan itu bisa
terjadi secara bersama atau hanya sebagian komponen dari sebuah sistem. Dilain sisi komponen lain
dalam proses harus tetap berjalan dengan baik. Maka dari itu diperlukannya deteksi, retransmission,
redundansi penyimpanan data, penanganan eksepsi (misalnya timeout ketika menunggu sumber daya
web) atau Replikasi data pada beberapa mesin.
Concurrency
Adanya beberapa user sekaligus yang mengakses ke sumber yang disediakan pada sistem terdistribusi
merupakan tantangan yang harus dihadapi oleh sistem ini. Dibutuhkan penjadwalan ataupun deadlock
avoidance agar sistem berjalan dengan baik.
Transparency
Pada sistem terdistribusi, sistem berada ada pada transparency (penyembunyian) agar tidak terlihat
kompleksitas dari sistem tersebut. Transparency ini terdiri dari beberapa jenis :
· Access
User menganggap bahwa semuaresource adalah lokal contohnya pemetaan drive Samba server, NFS
atau pencetakan dokumen secara parallel pada local printer.
· Location
User tidak perlu mengetahui lokasi sumber daya pada sistem. Contohnya pada saat user mengakses web,
user tidak perlu mengetahui server mana yang diakses.
· Concurrency
user tidak perlu mengetahui keberadaan sistem paralel. Contohnya pada saat user menarik uang dari
mesin ATM pada saat yang bersamaan ada teman user yang mengirimkan uang ke rekening user.
· Replication
User tidak perlu mengetahui sumber daya orisinil atau replikasi yang diakses.
· Failure
· Migration/mobility
kemampuan melakukan relokasi sumber daya tanpa konfigurasi ulang oleh user.
· Performance
Delay
Jitter
Bandwidth
Loss packet
Througput