Laman

Kamis, 27 Maret 2014

Tantangan Sistem Terdistribusi

Pada sebuah sistem terdistribusi, terdapat berbagai macam tantangan yang harus dihadapi oleh sistem ini agar kedepannya sistem terdistribusi dapat menghasilkan sistem yang tidak hanya efektif dan efisien tetapi dapat meningkatkan kinerja bagi penggunanya. Berikut beberapa tantangan yang harus dihadapi oleh sistem terdistribusi :

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
  • Implementasi dari pengembang yang berbeda

Sebagai contoh setiap pengembang memiliki jaringan yang berbeda-beda untuk komputer pada jenis jaringan yang berbeda akan membutuhkan implementasi protokol internet agar dapat saling bekomunikasi satu sama lain. Kemudian pada program-program yang dibuat oleh pengembang yang berbeda tidak dapat berinteraksi satu sama lain. Maka dari itu dibuatlah middleware untuk mengatasi permasalahan itu. Menurut buku Distributed System Concept and Design yang ditulis oleh George Coulouris, Middleware merupakan istilah untuk lapisan perangkat lunak yang menyediakan sebuah abstraksi pemograman dan menutupi heterogenitas seperti perangkat keras, sistem operasi, dan bahasa pemograman. Contoh middleware adalah The Common Object Request Broker (CORBA), Java Remote Method Invocation (RMI). Selain itu middleware juga menyediakan model persamaan komputasi pada pemograman server seperti remote object invocation, remote event notification, remote SQL access and distributed transaction processing. Untuk memecahkan heterogenitas pada  kode mobile digunakannlah java applet. 

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 :
  • Keterbukaan sistem dicirikan oleh diterbitkannya kunci utama interface mereka
  • 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 :
  • Mengendalikan sumber daya fisik

Permintaan untuk sumber daya terus meningkat, harus diikuti dengan perluasan sistem tetapi dengan biaya murah agar kebutuhan itu terpenuhi.
  • Mengendalikan penurunan kinerja
Pertimbangkan pengelolaan sekumpulan data yang ukurannya sebanding dengan jumlah pengguna atau sumber daya dalam sistem.
  • Mencegah habisnya sumber daya perangkat lunak
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
user tidak perlumengetahui kegagalan dan recovery sistem.
·      Migration/mobility
kemampuan melakukan relokasi sumber daya tanpa konfigurasi ulang oleh user.
·       Performance
perbedaan kinerja komponen sistem tidak perlu diketahui user



Qos ( Quality of Service )
Qos merupakan parameter yang digunakan untuk menunjukan kinerja pada suatu sistem pada saat pertukaran data. Sistem Terdistribusi harus mempunyai nilai Qos yang baik agar kualitas data atau transaksi informasi berjalan dengan baik. Parameter -parameter Qos sebagai berikut :


  • Delay
  • Jitter
  • Bandwidth
  • Loss packet
  • Througput

Referensi :
Coulouris George , Distributed System Concept and Design, Fifth Edition, Addison-Wesley, 2012



Link yang berkaitan :
http://bangunhutomo.blogspot.com/2014/04/sistem-terdistribusi-pendahuluan.html
http://insurgent.blogspot.com/2014/04/karakteristik-sistem-terdistribusi-2.html
http://mikodean.blogspot.com/2014/04/types-of-distributed-systems.html
http://bengore.blogspot.com/2014/04/permasalahan-sistem-terdistribusi-baru.html

Selasa, 25 Maret 2014

The Conclution Of Mobile Computing Effects To Education Computing Progress

In the mobile computing digital era has many roles in improving the quality in world of education. Because it could help and facilitate the day-to-day learning. The capabilities and characteristics of mobile computing also allows the distance learning process to be more effective and efficient and get better result. Even according to M. Mukhopadhay M., 1992 “Globalization has triggered a shift in education from to-face education conventional to more open education.

Many developed countries already implementing mobile computing technology in teaching and learning process. For example, mobile computing in developed countries is learning together in their education, or called collaborative learning, has been proven to improve test score and reduce dropouts by 22%. Mobile technology has found a way to be able to perform collaborative learning, in wich various students can discuss in the web forum to make database together, about anything based their location each other. In France, the project “Flexible Learning” has been applied to the system of education. It is reminiscent of Ivan Illich forecast early 70s on “Education without school (Deschooling Socieiy)”. Meanwhile in developing countries like Malaysia, “Problem Based Learning” with mobile learning technology or M-Learning is said still new in terms of its implementation. For Harvard Medical School project, ArcStream Solutions was hired to develop solutions based on the Palm OS mobile platform that facilitates communication between students and faculty, and which provide detailed program information. Florida State University College of Medicine is used to develop a solution ArcStream Clinical Data Collection System ( CDC ) which allows students to take and edit patient reports . But development continued in order to obtain good results for the quality of education in Indonesia .

The advantages of mobile computing: 
  • The use of e-books to be efficient in the learning process.
  • Being less expensive because of the lack of accommodation for buildings, school supplies, and transportation.
  •  Academic students can be controlled by the parents.


Disadvantages of mobile computing:
  • The storage capacity of mobile computing technology becomes a problem
  • Depending on the sophistication of the Internet and mobile devices
  • In terms of psychology, socialization or interaction of neighbor will be reduced this will result in people tend to be apathetic.

Client Server

Pada konsep pemrosesan sistem terdistribusi terdapat konsep yang terkenal ialah konsep client-server. Menurut para ahli definisi client server sebagai berikut :

Definisi client server menurut Budhi irawan (2005 : 30), Server adalah komputer database yang berada di pusat, dimana informasinya dapat digunakan bersama-sama oleh beberapa user yang menjalankan aplikasi di dalam komputer lokalnya yang disebut dengan Client.

Menurut Budi Sutedjo Dharma Oetomo  (2006), Arsitektur Client Servermerupakan model konektifitas pada jaringan yang membedakan fungsi komputer apakah sebagai client atau server. Arsitektur ini merupakan sebuah komputersebagai server yang bertugas memberikan layanan kepada terminal-terminallain(client)yang terhubung dalam sistem jaringan itu.

Menurut Agus Mulyanto (2009 : 41) mendefinisikan client-server sebagai arsitektur yang paling banyak digunakan saat ini. Dimana client dapat melakukan proses sendiri, ketika client meminta data, server akan mengirimkan data sesuai yang diminta, kemudian proses akan dilakukan di client.

Jadi dapat disimpulkan client-server adalah proses pendistribusian kerja aplikasi yang dibagi menjadi dua segmen yaitu client sebagai peminta layanan dan server sebagai pemberi layanan yang dihubungkan dengan jaringan komputer.

Model-Model Client Server
Dalam client-server terdapat beragai macam model yang dapat diimplementasikan dalam proses terdistribusi. Model-modelnya sebagai berikut :

Model Two Tier
Dalam model client/server, pemrosesan pada sebuah aplikasi terjadi pada client dan server.. Aplikasi ditempatkan pada computer client dan mesin database dijalankan pada server jarak-jauh. Aplikasi client mengeluarkan permintaan ke database yangmengirimkan 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). 


Kelebihan
– Mudah
– Menangani Database Server secara khusus
– Relatif lebih sederhana untuk di develop dan diimplementasikan.

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

Model Three Tier
Pada arsitektur Three Tier ini terdapat Application Server yang berdiri di antara Client dan Database Server. Contoh dari Application server adalah IIS, WebSphere, dan sebagainya.
Konsep model three-tier adalah model yang membagi fungsionalitas ke dalam lapisan-lapisan, aplikasi mendapatkan skalabilitas, keterbaharuan, dan keamanan.




Kelebihan :
- 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
- 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

Kekurangan:
- Lebih susah untuk merancang
- Lebih susah untuk mengatur
- Lebih mahal

Model Multi tier
Arsitektur Multi Tier adalah suatu metode yang sangat mirip dengan Three Tier. Bedanya, pada Multi Tier akan diperjelas bagian UI (User Interface) dan Data Processing. Yang membedakan arsitektur ini adalah dengan adanya Business Logic Server. Database Server dan Bussines Logic Server merupakan bagian dari Data Processing, sedangkan Application Server dan Client/Terminal merupakan bagian dari UI.


Kelebihan:
- Dengan menggunakan aplikasi multi-tier database, maka logika aplikasi dapat dipusatkan pada middle-tier, sehingga memudahkan untuk melakukan control terhadap client-client yang mengakses middle server dengan mengatur seting pada dcomcnfg.
- Dengan menggunakan aplikasi multi-tier, maka database driver seperti BDE/ODBC untuk mengakses database hanya perlu diinstal sekali pada middle server, tidak perlu pada masing-masing client.
- Pada aplikasi multi-tier, logika bisnis pada middle-tier dapat digunakan lagi untuk mengembangkan aplikasi client lain,sehingga mengurangi besarnya program untuk mengembangkan aplikasi lain. Selain itu meringankan beban pada tiap-tiap mesin karena program terdistribusi pada beberapa mesin.
- Relatif lebih mahal
- Memerlukan adaptasi yang sangat luas ruang lingkupnya apabila terjadi perubahan sistem yang besar.
Kekurangan:
- Program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier.
- Lebih mahal

Referensi : 
http://www.library.upnvj.ac.id/pdf/3tipdf/206511008/bab2.pdf
http://adhek09.wordpress.com/category/telematika/arsitektur/
http://iqbalhabibie.staff.gunadarma.ac.id/Downloads/files/31623/7.+Model+konsep+ClientServer.doc
http://naeli.staff.gunadarma.ac.id/Downloads/files/8479/Proses.pdf

Berikut materi yang berkaitan dengan proses sistem terdistribusi
http://mikodean.blogspot.com/2014/03/proses-thread.html
http://bengore.blogspot.com/2014/03/multithreading-models.html
http://bangunhutomo.blogspot.com/2014/03/agent-pada-sistem-terdistribusi.html
http://insurgent.blogspot.com/2014/03/software-agent-dan-karakteristik-bahasa.html



Senin, 17 Maret 2014

Layer Protokol Komunikasi Sistem Terdistribusi

Proses komunikasi pada sistem terdistribusi tidak dapat lepas dari jaringan komputer. Pada jaringan komputer ada yang bernama protokol untuk proses komunikasi. Protokol merupakan suatu aturan jalur proses komunikasi antar satu jaringan dengan jaringan lainnya.
Komponen Protokol :
1. Aturan atau prosedur (syntax)
    Mengatur pembentukan/pemutusan hubungan
    Mengatur proses transfer data
     2. Format atau bentuk (grammar) 
    Representasi pesan
3   3. Kosakata (semantik) 
    Jenis pesan dan makna masing-masing pesan

Fungsi Protokol :
       Fragmentasi dan reassembly
Membagi-bagi informasi menjadi beberapa paket pada saat pengiriman dan menyatukan paket-paket itu menjadi informasi kembali pada saat penerimaan.
        Encapsulation
Membungkus suatu informasi  dengan address, kode-kode koreksi dan lain-lain
3    Connection control
Membangun atau memutuskan hubungan (jalur) komunikasi data antara pengirim dan penerima
4    Flow control
Pengatur perjalanan data dari sisi pengirim ke sisi penerima.
5    Error control
Mengontrol terjadinya kesalahan yang terjadi pada waktu data dikirimkan
6    Transmission service
Memberi pelayanan dan kemanan data pada proses komunikasi antar jaringan.

Standarisasi Protokol
Dahulu proses komunikasi antar komputer tergantung dari vendor yang digunakan. Jadi proses komunikasi antar komputer tidak berjalan jika memakai vendor yang berbeda. Ini sangat sulit dilakukan, karena mereka mengunakan protokol dan format data yang berbeda-beda. Sehingga International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi.



Application
  • Menyediakan layanan jaringan seperti transfer file menggunakan FTP, halaman web menggunakan HTTP
  • Pertukaran informasi antara program komputer, seperti program e-mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.
  • Otentifikasi User
  • Contoh protokol : FTP, Telnet, SMTP, SNMP dll
Presentation

  • Merepresentasikan Data
  • Memastikan Data Dapat di baca dan digunakan oleh sistem
  • Menentukan format data, struktur data
  • Menyediakan enkripsi data
  • Contoh protokol : TDI, ASCII, EBCDIC, MIDI, MPEG dll
Session
  • Mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau diatur
  • Contoh Protokol : SQL, DNS, ASP NetBIOS dll
Transport
  • Pada layer ini data dikelompokkan dalam bentuk segmen
  • Menangani transportasi antar host
  • Menjamin relaibilitas data yang di salurkan
  • Membangun, memantain dan mematikan sirkuit virtual
  • Mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan
  • Menyediakan penanganan error (error handling)
  • Contoh protokol : TCP, UDP, SPX dll
Network
  • Pengalamatan dan routing
  • Mengkelompokkan data dalam paket
  • Menyalurkan paket data
  • Memilih jalur terbaik
  • Contoh Perangkat : Router, Switch Layer-3
  • Contoh Protokol : IPX, IP, IGRP, OSPF dll
Data Link
  • Pada layer ini bit data di kelompokkan menjadi frame.
  • Menyajikan format data yang akan di transmisikan dan cara akses kedalam sebuah jaringan
  • Menyajikan Deteksi Kesalahan
  • Contoh Perangkat : Hub, Switch, bridge
  • Contoh Protokol : ATM, FDDI, Frame Relay dll
Physical
  • Bertanggung jawab atas proses data menjadi bit dan mentransfernya melalui media, seperti kabel, dan menjadi koneksi fisik antar sistem.
  • Mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
  • Contoh protokol : RS-232,T1, E1, SONET, HUB, Repeater dll.

Referensi :
http://home.unpar.ac.id/~gatut/kuliah/AIK-342/protokol.html
http://naeli.staff.gunadarma.ac.id/Downloads/files/8465/Komunikasi_revisi.pdf
http://lecturer.eepis-its.edu/~hero/datahero/kuliah/PJJ-Jarkom/pdf/P8.pdf
http://mtk.blog.ittelkom.ac.id/blog/files/2012/10/Protokol-Pada-Jaringan-Komputer.pdf

Berikut materi yang berkaitan dengan komunikasi dalam sistem terdistribusi : 

Selasa, 11 Maret 2014

Tantangan Sistem Terdistribusi

Pada sebuah sistem terdistribusi, terdapat berbagai macam kendala yang mempengaruhi kinerja dari sistem ini. Inilah tantangan yang harus dihadapi oleh sistem ini agar kedepannya sistem terdistribusi dapat menghasilkan sistem yang tidak hanya efektif dan efisien tetapi bermanfaat banyak bagi penggunanya. Berikut beberapa tantangan yang harus dihadapi oleh sistem terdistribusi :

     1.      Heterogenity
Pada sebuah sistem terdistribusi, banyak dijumpai berbagai macam elemen yang dapat menimbulkan berbagai macam kendala jika disatukan. Contohnya sistem operasi yang berbeda seperti windows  dan linux, spesifikasi perangkat keras dan juga bahasa pemograman yang berbeda. Elemen-elemen inilah yang harus disatukan agar menghasilkan suatu sistem yang dapat menunjang pekerjaan manusia. Diharapkan internet protokol ataupun aplikasi seperti samba, corba, dan teknologi baru sekarang ini adalah cloud computing dapat mengatasi perbedaan-perbedaan tersebut. 
      2.      Openess
Sistem terdistribusi harus bisa diperluas, yakni dengan langkah pertama berupa memperkenalkan antarmuka komponennya. Akan tetapi, kesatuan dari komponen-komponen tersebut menajdi tantangan yang dihadapi. Maka dari itu perlu integrasi berbagai komponen yg dibuat oleh programmer atau vendor yg berbeda dengan mengikuti standart interface yang ada.
      3.      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.
      4.      Scalability
Sistem terdistribusi harus mempunyai kemampuan mendukung berbagai ukuran data atau jumlah pengguna yang menggunakannya. Maka dari itu dibutuhkan algoritma yang dapat menghindari efek bottleneck pada saat mengakses data. Selain itu, data juga distrukturisasi secara hierarkis agar dapat diakses dalam waktu yang singkat saja.
      5.      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.
      6.      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.
     7.      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
user tidak perlumengetahui kegagalan dan recovery sistem.
·      Migration/mobility
kemampuan melakukan relokasi sumber daya tanpa konfigurasi ulang oleh user.
·       Performance
perbedaan kinerja komponen sistem tidak perlu diketahui user



Referensi :
http://te.ugm.ac.id/~risanuri/distributed/ringk/Bab01_02.pdf
http://tele.informatik.uni-freiburg.de/lehre/ws02/dsys/lectures/dsys.part1.pdf
http://www.pribadiraharja.com/aliyah/pengantar_ds.pdf