Senin, 27 April 2015

To be and Tenses

TO BE
To be adalah komponen penting dalam kalimat bahasa Inggris karena to be adalah kata kerja  yang harus ada pada setiap kalimat. Fungsi Kata Kerja To be adalah menghubungkan Subyek kalimat dengan predikat atau obyek kalimat yang terdiri dari kata sifat (adjective), noun (kata benda), keterangan waktu dan keterangan tempat.



Present Perfect Tense
Present perfect tense adalah suatu bentuk kata kerja yang digunakan untuk menyatakan suatu aksi atau situasi yang telah dimulai di masa lalu dan masih berlanjut sampai sekarang atau telah selesai pada suatu titik waktu tertentu di masa lalu namun efeknya masih berlanjut.


Present Continuous Tense
Present continuous tense atau present progressive tense adalah bentuk kata kerja yang digunakan untuk menyatakan aksi yang sedang berlangsung sekarang (present) atau rencana di masa depan (future). Karena dapat digunakan pada present atau future, tense ini sering diiringi adverb of time untuk memperjelasnya.


Past Tense
Simple past tense adalah suatu bentuk kata kerja sederhana untuk menunjukkan bahwa suatu kejadian terjadi di masa lampau. Pada simple past tense, waktu kejadian (yesterday, last two days, last year) atau periode waktunya (for two months, for a day, for an hour) dapat disebutkan secara spesifik.


Sumber: http://afyahrachmadianty.blogspot.com/

Selasa, 21 April 2015

Pengenalan Sistem Terdistribusi

Pengenalan Sistem Terdistribusi

Definisi Sitem Terdistribusi
Sistem Terdistribusi adalah Sekumpulan komputer otonom yang terhubung kesuatu jaringan, dimana bagi pengguna sistem terlihat sebagai satu komputer.
Dengan menjalankan sistem terdistribusi, komputer dapat melakukan : Koordinasi Aktifitas dan berbagi sumber daya: hardware, software dan data.

Contoh Sistem Terdistribusi
  1. Sistem Telepon : ISDN, PSTN
  2. Manajemen Jaringan: Adminstrasi sesumber jaringan
  3. Network File System (NFS) : Arsitektur untuk mengakses
  4. sistemfile melalui jaringan
  5. WWW : Arsitektur client/server yang diterapkan diatas Infrastruktur internet, Shared Resource (melaluiURL)
  6. dll


KeuntunganSistemTerdistribusi
  • Performance
  • Distribution
  • Reliability (Fault tolerance)
  • Incremental Growth
  • Sharing Data/Resources


Kelemahan pada sistem terdistribusi adalah
  1. Kesulitandalammembangunperangkatlunak
  2. Bahasa pemrogramman, sistem operasi dll.
  3. MasalahJaringan: merancang& mengimplementasikan sistem.
  4. Masalah Keamanan: berbagidata/sumberdaya
  5. Berkaitan dengan keamanan data dll.


KarakteristikSistemTerdistribusi
Hal yang diperhatikan dalam membangun sistem terdistribusi:
a. Transparency (Kejelasan)
b. Communication (Komunikasi)
c. Performance & Scalability (KinerjadanRuangLingkup)
d. Heterogenity(Keanekaragaman)
e. Opennes(Keterbukaan)
f. Reliability dan Fault Tolerancy(Kehandalan danToleransi Kegagalan)
g. Security (Kemanan)

Model dalamSistemTerdistribusi
a. Model Arsitektur(Architectural Models)
b. Model Interaksi(Interaction Models)
c. Model Kegagalan(Failure Models)

a. Architectural Models
Cara kerja antar komponen sistem dan bagaimana komponen tsb berada pada sistem terdistribusi:
- Client -Server Model
- Proxy Server
- Peer processes ( peer to peer )

Client-Server Model
Model client-server biasanya berbasiskan protokol request/reply.
Contoh: Implementasi RPC (Remote Procedure Calling) danRMI (Remote Method Invocation) :
  • client mengirimkan request berupa pesan ke server untuk mengakses suatu service.
  • server menerima pesan tersebut dan mengeksekusi request client dan mereply hasil ke client


Proxy Server
  • menyediakan hasil copy (replikasi) dari resource yang diatur oleh server lain
  • dipakai untuk menyimpan hasil copy web resources.
  • Ketika client melakukan request kes erver, proxy server diperiksa apakah yang diminta oleh client terdapat pada proxy server.
  • Diletakkan pada setiap client atau dapat dipakai bersama oleh beberapa client. Tujuannya adalah meningkatkan performance dan availibity dengan mencegah frekwensi akses ke server.


Peer Process
  • Semua proses(object) mempunyai peranyang sama.
  • Proses berinteraksi tanpa adanya perbedaan antara client dan server.
  • Polakomunikasi yang digunakan berdasarkan aplikasi yang digunakan.
  • •Merupakan model yang paling general dan fleksible.


b. Interaction  Models 
dibagi menjadi dua bagian:
  • Synchronous distributed system
  • Asynchronous distributed system Synchronous Distributed System
  • Batas atas dan batas bawah waktu pengeksekusian dapat diset.
  • Pesan yang dikirim, diterima dalam waktu yang sudah ditentukan
  • Fluktuasi ukuran antara waktu lokal berada dalam suatu batasan.


Beberapa hal yang penting untuk diperhatikan synchronous distributed sistem:
  • terdapat satu waktu global
  • dapat memprediksi perilaku(waktu)
  • dimungkinkan dan aman untuk menggunakan mekanisme timeout dalam mendekteksi error atau kegagalan dalam proses atau komunikasi


Asynchronous Distributed System
Banyak sistem terdistribusi yang  menggunakan model interaksi ini(termasuk Internet)
  • Tidak ada batasan dalam waktu pengkeksekusian.
  • Tidak ada batasan dalam delay transmission (penundaan pengiriman)
  • Tidak ada batasan terhadap fluktuasi waktu local. Asynchronous system secara parktek lebih banyak digunakan.


c. Failure Models
Kegagalan apa saja yang dapat terjadi dan bagaimana efek yang ditimbulkan?
  • Omission Faluires
  • Arbitary Failures
  • Timing Failures


Model Kegagalan (Failure Models) dibutuhkandalam membangun suatu sistem dengan prediksi terhadap kagagalan yang mungkin terjadi.

OmmisionFailures :
Ketika prosesor dan kanal komunikasi mengalami kegagalan untuk melakukan halyang seharusnya dilakukan.

Dikatakan tidak mempunyai ommision failures apabila:
•Terjadi keterlambatan (delayed) tetapi akhirnya tetap tereksekusi.
•Sebuah aksi dieksekusi walaupun terdapat kesalahan pada hasil.

Dengan synchronous system, ommision failures dapatdideteksi dengan timeouts.

ArbitaryFailures
  • kegagalan yang paling buruk dalam sistem.
  • Tahapan proses atau komunikasi diabaikan atau yang tidak diharapkan terjadi dieksekusi -> hasil yang diharapkan tidak terjadi atau megeluarkan hasil yang salah.


Timing Failures
  • Dapat terjadi pada synchronous system, dimana batas waktu diatur untuk eksekusi proses, komunikasi dan fluktuasi waktu.
  • Timing Failures terjadi apabila waktu yang telah ditentukan terlampaui.

Sumber : http://loveensimple.blogspot.com/2014/01/catatan-pengenalan-sistem-terdistribusi.html

Komunikasi Dalam Sistem Terdistribusi

Komunikasi Dalam Sistem Terdistribusi

Interproses komunikasi adalah jantung dari semua sistem terdistribusi. Tidak masuk akal untuk mempelajari sistem terdistribusi tanpa hati-hati dengan cara bahwa proses pada mesin yang berbeda dapat saling bertukar informasi. Komunikasi dalam sistem terdistribusi selalu didasarkan pada pesan tingkat rendah yang lewat seperti yang ditawarkan oleh jaringan yang mendasarinya. Sistem terdistribusi modern biasanya terdiri dari ribuan atau bahkan jutaan proses yang tersebar di seluruh jaringan internet.
Dalam pembahasan kali ini, kita mulai dengan membahas aturan bahwa proses berkomunikasi harus ada yang dikenal sebagai protokol, dan cocencrate. Pada penataan tersebut protokol dalam bentuk lapisan. Dari tampilan diempat luas dan model yang digunakan untuk komunikasi terbagi atas: prosedur panggilan jarak jauh (RMC), remote metode doa (RMI), pesan middleware berorientasi (MOM) dan streams.
Model pertama untuk komunikasi dalam sistem terdistribusi adalah panggilan prosedur remote (RPC). Sebuah RPC bertujuan menyembunyikan sebagian besar seluk-beluk pesan lewat, dan sangat ideal untuk aplikasi client-server. perbaikan untuk model RPC datang dalam bentuk doa metode remote (RMIs), yang didasarkan pada gagasan obyek terdistribusi. RPC dan RMIs dibahas dalam bagian terpisah.
Pesan-berorientasi middleware (MOM) adalah disebut juga sebagai suatu message-queuing sistem, suatu kerangka pesan, atau sekedar messaging sistem. MOM dapat membentuk suatu lapisan middleware yang penting untuk aplikasi perusahaan melalui Internet. MOM dapat menerbitkan dan mendaftar model, suatu klien dapat mendaftarkan sebagai penerbit atau seorang langganan dari pesan. Pesan dikirimkan hanya untuk tujuan yang relevan dan hanya sekali, dengan berbagai metoda komunikasi yang mencakup komunikasi one-to-many atau many-to-many. Sumber data dan tujuan dapat decoupled di bawah model tersebut.

1. Protocol Layer
Protokol merupakan sebuah rule, prosedur dan pengaturan sejumlah operasi peralatan komunikasi data, dalam komunikasi data, aturan-aturan meliputi cara membuka hubungan, mengirim paket data, menginformasi jumlah data yang diterima, dan meneruskan pengiriman data. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Prinsip dalam membuat protokol ada tiga hal yang harus dipertimbangkan, yaitu efektivitas, kehandalan, dan Kemampuan dalam kondisi gagal di network. Protokol distandarisasi oleh beberapa organisasi yaitu IETF, ETSI, ITU, dan ANSI.
Tugas yang biasanya dilakukan oleh sebuah protokol dalam sebuah jaringan diantaranya adalah :
  1. Melakukan deteksi adanya koneksi fisik atau ada tidaknya komputer / mesin lainnya.
  2. Melakukan metode “jabat-tangan” (handshaking).
  3. Negosiasi berbagai macam karakteristik hubungan.
  4. Bagaimana mengawali dan mengakhiri suatu pesan.
  5. Bagaimana format pesan yang digunakan.
  6. Yang harus dilakukan saat terjadi kerusakan pesan atau pesan yang tidak sempurna.
  7. Mendeteksi rugi-rugi pada hubungan jaringan dan langkah-langkah yang dilakukan selanjutnya.
  8. Mengakhiri suatu koneksi.

Dalam Model OSI terdapat 7 layer dimana masing-masing layer mempunyai jenis protokol sesuai dengan peruntukannya. Sebuah standar protokol yang dikenal sebagai OSI (Open System Interconection) model dengan aisitrktur sebagai berikut.
Arsitektur OSI dibuat berlapis-lapis dengan fungsi yang berbeda pada setiap lapisannya. Lapisan yang lebih tinggi menyembunyikan kerumitan dari operasi di lapisan yang lebih rendah dan suatu lapisan hanya dapat di akses oleh lapisan yang ada di atasnya atau di bawahnya.Hal tersebut di maksudkan untuk memberi kemudahankepada para pembuat perangkat keras dan perangkat lunak komunikasi dalam mengembangkan berbagai protokol yang berbeda sesuai kebutuhan. Namun tetap mereka harus mematuhi standar yang telah di berikan OSI.
Lapisan layer protokol tersebut dapat di golongkan lebih jauh menjadi:
  • Low level Layers
  • Transport Layers
  • Higher Level Layer

  
a.      Low level Layers
  • Yang termasuk Low layers adalah lapisan-lapisan sebagi berikut:
  • Physical Layer: Spesifikasi dan implementasi dari bit-bit dan proses transmisi dari pengirim ke penerima. Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengkabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio.
  • Data Link Layer: Bertanggung jawab mengurusi perubahan bit=bit data menjadi frame untuk mengatasi error dan penontrolan pengiriman frame. Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Data link layer melakukan tugasnya dengan meletakkan pola bit khusus pada awal dan akhir dari setiap frame untuk menandai mereka, serta komputasi checksum dengan menjumlahkan semua byte dalam bingkai dengan cara tertentu.

Ketika frame tiba, penerima recomputes checksum dari data dan membandingkan hasilnya dengan checksum mengikuti frame. Jika setuju, frame dianggap benar dan diterima. Jika mereka tidak setuju, penerima meminta pengirim untuk retrasmit itu. Frame ditugaskan nomor urut (di header), sehingga semua orang dapat memberitahukan yang mana.
  • Network Layer: Mengatur bagaimana paket-paket di arahkan berdasarkan alamat logik. lapisan bertanggung jawab untuk menerjemahkan alamat logis jaringan ke alamat fisik jaringan. Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer. Lapisan ini juga member identitas alamat, jalur perjalanan pengiriman data, dan mengatur masalah jaringan misalnya pengiriman paket-paket data.
  • Saat ini, mungkin protokol jaringan yang paling banyak digunakan adalah IP connectionless (Internet Protocol), yang merupakan bagian dari protokol internet. Sebuah paket IP dapat dikirim tanpa pengaturan apapun. Setiap paket IP diarahkan ke tujuan yang independen dari semua orang lain. Tidak ada jalur internal dipilih dan diingat.

  
b.      Transport Layers
Merupakan lapisan yang memberi fasilitas komunikasi bagi kebanyakan sistem tersebar. Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadap paket-paket yang hilang di tengah jalan.
Pada lapisan ini terdapat dua macam protokol yang sering digunakan, yaitu:
  1. Transport Control Protocol (TCP) adalah protocol yang connection-oriented, yang berarti komunikasi yang melewatinya membutuhkan handshaking untuk mengatur koneksi end-to-end. Koneksi dapat dibuat dari client ke server, dan kemudian banyak data dapat dikirimkan melalui konesi itu. TCP memiliki karakteristik sebagai berikut:

  • Connection-oriented merupakan sistem yang akan berkomunikasi harus terlebih dulu saling mengetahui dan sepakat
  • Reliable, tersedia mekanisme menjamin paket yang rusak atau hilang dikirim ulang
  • Stream –oriented communication
  • Membutuhkan sumberdaya komputasi dan jaringan lebih dari UDP
  • User Datagram Protocol (UDP) adalah protocol connectionless message-based yang lebih sederhana. Di protocol connectionless, tidak ada usaha yang dibuat untuk koneksi end-to-end. Koumikasi dicapai dengan mengirimkan informasi satu arah, dari source ke destination tanpa mengecek untuk melihat apakah tujuan masih ada, atau apakah koneksi disiapkan untuk menerima informasi. Paket UDP melewati jaringan dalam unit-unit yang berdiri sendiri. UDP memiliki karakteristik sebagai berikut:

Connectionless, tidak memerlukan adanya saling mengetahui dan kesepakatan
Unreliable datagram communication, tidak tersedianya mekanisme yang menjamin paket rusak atau dikirim ulang.

Manfaat TCP dibandingkan dengan UDP adalah bahwa ia bekerja andal melalui jaringan apapun. Kelemahan yang jelas adalah bahwa TCP memperkenalkan overhead yang jauh lebih, terutama dibandingkan dengan kasus-kasus di mana jaringan yang mendasarinya sangat handal, seperti dalam sistem area lokal. Ketika kinerja dan kehandalan yang dipertaruhkan, solusi alternatif selalu untuk menggunakan UDP, dan mengkombinasikannya dengan kesalahan tambahan dan kontrol aliran yang dioptimalkan untuk aplikasi tertentu. Kelemahan dari pendekatan ini adalah bahwa pekerjaan pembangunan banyak ekstra perlu dilakukan, tetapi juga bahwa solusi proprietary diperkenalkan, yang mempengaruhi keterbukaan sistem.
Apa yang membuat TCP begitu menarik dalam banyak kasus, adalah bahwa hal itu tidak disesuaikan untuk mendukung jawaban perilaku permintaan sinkron interaksi klien yang paling server. Dalam keadaan normal, ketika pesan tidak tersesat, menggunakan TCP untuk interaksi client server hasil seperti yang ditunjukkan pada gambar 2-4 (a). Pertama, klien memulai setup sambungan, yang dilakukan dengan menggunakan tiga cara protokol jabat tangan, ditampilkan sebagai tiga pesan pertama di gambar 2-4 (a). Protokol ini diperlukan untuk kedua belah pihak untuk mencapai kesepakatan pada urutan penomoran untuk paket yang akan dikirim melalui sambungan. Ketika koneksi telah dibentuk, client mengirimkan permintaannya (pesan 4), langsung diikuti oleh paket memberitahu server untuk menutup koneksi (pesan 5).
Gambar 2-4 (a) Pengoperasian normal TCP. (B) Transaksional TCP
Server merespon dengan segera mengakui bahwa ia menerima permintaan klien, piggybacked dengan pengakuan bahwa koneksi akan clossed bawah (pesan 6). Server kemudian melakukan pekerjaan yang diminta dan mengirimkan jawaban kepada klien (pesan 7), diikuti dengan permintaan untuk melepaskan koneksi juga (pesan 8). Klien hanya perlu merespon dengan pengakuan untuk menyelesaikan komunikasi dengan server (pesan 9).
Jelas, banyak overhead dalam TCP berasal dari benar-benar mengelola koneksi. Ketika TCP digunakan untuk interaksi client server, itu jauh lebih murah untuk menggabungkan pengaturan koneksi dengan segera mengirimkan permintaan, dan seperti bijaksana untuk menggabungkan mengirimkan jawaban dengan menutup koneksi. Protokol yang dihasilkan disebut TCP untuk Transaksi, disingkat T / TCP, dan esensi dari bagaimana ia beroperasi di bawah kondisi normal ditunjukkan pada gambar 2-4 (b).
Apa yang terjadi dalam keadaan normal, adalah bahwa klien mengirimkan pesan tunggal (ditampilkan sebagai pesan 1) yang berisi tiga potongan informasi: permintaan untuk mengatur koneksi, permintaan layanan yang sebenarnya, dan permintaan memberitahu server yang segera bisa merobek turun koneksi sesudahnya.
Server merespon setelah ia dilayani permintaan yang sebenarnya, sehingga dapat mengirim jawaban bersama dengan data yang diperlukan untuk menerima koneksi, dan segera meminta rilis, ditampilkan sebagai pesan pada Gambar 2. 2-4 (b). Sekali lagi, klien hanya perlu mengakui rilis final dari koneksi (pesan 3).

c.         Higher Level Layer
Di atas lapisan transport. OSI membedakan tiga lapisan tambahan. Dalam prakteknya, hanya lapisan aplikasi yang pernah digunakan. Bahkan, di suite internet protocol, segala sesuatu di atas lapisan transport dikelompokkan bersama-sama. Dalam menghadapi sistem middleware, akan kita lihat dalam bagian ini bahwa baik OSI maupun pendekatan internet benar-benar tepat. Dalam Higher Level Layer ini terbagi menjadi tiga lapisan tambahan yaitu:
1. Sesi dan Presentasi Protokol
Lapisan sesi dasarnya merupakan versi yang disempurnakan dari lapisan transport. Menyediakan kontrol dialog, untuk melacak pihak mana saat berbicara, dan menyediakan fasilitas sinkronisasi. Sehingga jika terjadi kecelakaan, yang terakhir ini berguna untuk memungkinkan pengguna memasukkan pos-pos pemeriksaan dalam transfer yang panjang. Hal ini diperlukan untuk kembali hanya untuk pos pemeriksaan terakhir, daripada semua jalan kembali ke awal. Dalam prakteknya, beberapa aplikasi tertarik dalam lapisan sesi dan jarang didukung. Hal ini tidak hadir dalam acara suite protokol Internet.
Berbeda dengan lapisan bawah, yang prihatin dengan mendapatkan bit dari pengirim ke penerima andal dan efisien, lapisan presentasi berkaitan dengan arti dari bit. Pesan yang paling tidak terdiri dari string bit acak, tetapi informasi lebih terstruktur seperti nama orang, alamat, jumlah uang, dan sebagainya. Pada lapisan presentasi adalah mungkin untuk menentukan catatan yang berisi bidang-bidang seperti ini dan kemudian memiliki Sener memberitahukan penerima bahwa pesan berisi catatan tertentu dalam format tertentu. Hal ini memudahkan untuk mesin dengan representasi internal yang berbeda untuk berkomunikasi.

2. Protocol Application
Menyediakan layanan untuk aplikasi misalnya transfer file, email, akses suatu komputer atau layanan. Lapisan aplikasi OSI awalnya dimaksudkan untuk menampung koleksi aplikasi jaringan standar seperti untuk surat elektronik, transfer file, dan emulasi terminal. Sampai saat ini telah menjadi wadah untuk semua aplikasi dan protokol yang dalam satu cara atau yang lain tidak masuk ke dalam salah satu lapisan yang mendasarinya. Dari perspektif model referensi OSI, hampir semua sistem terdistribusi hanya aplikasi.
Ada juga banyak tujuan umum protokol yang berguna untuk banyak aplikasi, tetapi yang tidak dapat dikualifikasikan sebagai protokol transport. Dalam banyak kasus, protokol seperti jatuh ke dalam kategori protokol middleware, yang akan kita bahas selanjutnya.

3. Middleware Protocol
Middleware adalah sebuah aplikasi yang logis tinggal di lapisan aplikasi, tetapi yang mengandung banyak tujuan umum protokol yang menjamin lapisan mereka sendiri, independen lainnya, aplikasi yang lebih spesifik. Perbedaan dapat dibuat antara tingkat tinggi protokol komunikasi dan protokol untuk membangun layanan middleware berbagai.
Dibuat untuk menyediakan layanan layanan protokol yang seragam dan dapat digunakan oleh aplikasi-aplikasi yang berbeda-beda. Pada lapisan ini terdapat sekumpulan protokol komunikasi yang beragam yang memungkinkan berbagai macam aplikasi dapat berkomunikasi. Middleware juga memberi fasilitas marshalling dimana terdapat proses pengubahan data dalam komunikasi antar proses menjadi bentuk yang siap dikirim melalui jaringan sehingga dapat tetap konsisten sampai di si penerima data dan kebalikannya.
Middleware komunikasi protokol mendukung tingkat tinggi layanan komunikasi. Misalnya, di bagian dua berikutnya kita akan membahas protokol yang memungkinkan proses untuk memanggil prosedur atau invok obyek pada mesin remote dengan cara yang sangat transparan. Demikian juga, ada layanan komunikasi tingkat tinggi untuk menetapkan dan sinkronisasi aliran untuk mentransfer data real-time, seperti yang diperlukan untuk aplikasi multimedia. Sebagai contoh terakhir, beberapa sistem middleware menawarkan layanan multicast handal yang skala untuk ribuan penerima tersebar di wide area network.
Beberapa protokol komunikasi middleware yang sama bisa juga termasuk dalam lapisan transport, tapi mungkin ada alasan spesifik untuk menjaga mereka pada tingkat yang lebih tinggi. Misalnya, multicasting layanan yang handal Taht skalabilitas jaminan dapat diimplementasikan hanya jika persyaratan aplikasi diperhitungkan. Akibatnya, sistem middleware mungkin menawarkan yang berbeda (merdu) protokol, masing-masing pada gilirannya diimplementasikan dengan menggunakan protokol transport yang berbeda, tapi mungkin menawarkan antarmuka tunggal.

Konsep objek terdistribusi dan object interface
Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer namun seiring dengan perkembangannya, sistem ini dinilai tidak efisien lagi.  Dalam membuat aplikasi client server, programmer masih harus membuat fungsi-fungsi yang sama untuk aplikasi yang berbeda. Kadang kala kode program yang sama digunakan dengan melakukan copy paste dan melakukan sedikit perubahan untuk menyesuaikan dengan aplikasi yang baru dibuat. Jika ada perubahan, fungsi tersebut dalam masing-masing aplikasi harus di update satu persatu lagi. Hal ini mengakibatkan perawatan program menjadi susah dan fungsi-fungsi tersebut dapat menjadi tidak konsisten satu sama lain.
CORBA
Common Object Request Broker Architecture (CORBA) merupakan standar yang dikeluarkan oleh Object Management Group (OMG). Spesifikasi CORBA ini berisi sebuah spesifikasi  infrastruktur yang disebut Object Request Broker (ORB) yang memungkinkan aplikasi klien untuk dapat berkomunikasi dengan obyek secara remote. Spesifikasi ini meliputi antarmuka program, protokol komunikasi dan model obyek atau layanan yang memungkinkan aplikasi yang ditulis dengan berbagai macam bahasa pemrograman.
CORBA membungkus kode program yang dibuat dengan bahasa pemrograman tertentu menjadi sebuah obyek yang ditambah dengan informasi mengenai kemampuan kode program dan cara mengaksesnya. Obyek tersebut dapat dipanggil oleh program lain melalui jaringan. CORBA menggunakan interface definition languange (IDL) untuk menunjukkan interface atau antarmuka yang dapat digunakan oleh program atau obyek lain. Dari IDL tersebut CORBA akan memetakannya ke implementasi yang lebih spesifik dari masing-masing bahasa pemrograman.
COM
Component Object Model (COM) adalah teknologi yang diciptakan oleh Microsoft untuk memungkinkan komunikasi antaraplikasi. Teknologi ini sudah  disediakan untuk beberapa platform tetapi kebanyakan digunakan untuk platform Windows. Teknologi ini sudah diperkenalkan oleh microsoft pada tahun 1993 tetapi baru populer pada tahun 1997. Perkembangan teknologi COM ini bermula dari teknologi OLE (Object Linking and Embedding) yang dibuat untuk memungkinkan aplikasi dapat saling bertukar data.
DCOM
Pada tahun 1996 diperkenalkan Distributed Component Object Model (DCOM) sebagai jawaban Microsoft atas CORBA. DCOM dibandingkan dengan COM memiliki  kelebihan mampu untuk terdistribusi dan berkomunikasi antarkomponen melalui jaringan. DCOM dan CORBA saling berkompetisi untuk menjadi standar dalam distribusi komponen melalui internet. Namun dibalik kesulitan dalam hal keamanan, sebuah browser yang berjalan menggunakan teknologi http sudah dapat menggantikan teknologi tsb.
RMI
Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). 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.
RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi

Langkah-Langkah Pembuatan Program dengan RMI
Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.

Membangun suatu aplikasi terdistribusi menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
1. Mendefinisikan remote interface
2. Implementasi remote interface dan server
3. Pengembangan client (atau applet) yang menggunakan remote interface
4. Mengkompilasi source files dan mem-buat stub and skeletons
5. Memulai (start) RMI registry
6. Menjalankan server dan client


Sumber: 
http://penuhrahmatt.mdl2.com/mod/book/view.php?id=4&chapterid=2 
http://damaraaaa.wordpress.com/2013/03/19/konsep-objek-terdistribusi-dan-object-interface/

Proses Dalam Sistem Terdistribusi

Proses Dalam Sistem Terdistribusi

A. Pengertian Sistem Terdistribusi
Sistem terdistribusi merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui Local Area Network ataupun melalui Wide Area Network dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas komputer terintegrasi.
Proses dalam sistem terdistribusi dijalankan secara bersamaan (execute concurrently) dimana proses berinteraksi untuk bekerjasama dalam mencapai tujuan yang sama dan mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui jaringan komunikasi.
Struktur sistem terdistribusi dapat dilihat dari gambar dibawah ini :

Dalam sistem terdistribusi prosesor yang dimiliki bervariasi, dapat berupa small microprocessor, workstation, minicomputer, dan lain sebagainya. Sebenarnya ada beberapa hal mendasar yang membedakan antara jaringan komputer yang merupakan dasar dari konsep sistem terdistribusi dengan sistem terdistribusi itu sendiri yaitu komputer otonom yang secara eksplisit terlihat, sedangkan pada sistem terdistribusi komputer otonom transparan dan juga memiliki lebih banyak masalah dibanding dengan jaringan komputer.

B. Karakteristik Sistem Terdistribusi
Ada tiga karakteristik sistem terdistribusi antara lain sebagai berikut:

1. Concurrency of components
Pengaksesan suatu komponen/sumber daya (segala hal yang dapat digunakan bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses halaman web secara bersamaan

2. No global clock
Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.

3. Independent failures of components
Setiap komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.

Hal ini menyebabkan kesulitan dalam mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.


C. Tujuam Sistem Terdistribusi
Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan yang ingin dicapai, diantaranya :
  1. Untuk memberikan akses bagi pengguna untuk dapat mengembangkan sumber daya sistem.
  2. Peningkatan kecepatan komputasi.
  3. meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

Dalam penggunaanya sistem terdistribusi sangat diperlukan karena:
1. Performance  : Sekumpulan prosesor dapat menyediakan kinerja yang lebih tinggi daripada komputer yang terpusat

2. Distribution : Banyak aplikasi yang terlibat, sehingga lebih baik jika dipisah dalam mesin yang berbeda (contoh: aplikasi perbankan, komersial)

3. Reliability  : Jika terjadi kerusakan pada salah satu mesin, tidak akan mempengaruhi kinerja system secara keseluruhan

4. Incremental Growth : Mesin baru dapat ditambahkan jika kebutuhan proses meningkat

5. Sharing Data/Resource : Segala hal yang dapat digunakan bersama dalam jaringan komputer.
Meliputi hardware (e.g. disk, printer, scanner), juga software (berkas, basis data, obyek data).

6. Communication  : Menyediakan fasilitas komunikasi antar manusia.

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

E. Alasan Membangun Sistem Terdistribusi
Ada empat alasan utama untuk membangun sistem terdistribusi, yaitu:

1. Resource Sharing
Dalam sistem terdistribusi, situs-situs yang berbeda saling terhubung satu sama lain melalui jaringan sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A

2. Computation Speedup
Apabila sebuah komputasi dapat dipartisi menjadi beberapa subkomputasi yang berjalan bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan demikian, hal ini meningkatkan kecepatan komputasi (computation speedup)

3. Reliability
Dalam sistem terdistribusi, apabila sebuah situs mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik

4. Communication
Ketika banyak situs saling terhubung melalui jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.

Selain itu ada beberapa alasan lain membangun sistem terdistribusi, yakni :
  • Distribusi fungsi : Komputer memiliki kemampuan fungsi yang berbeda-beda (client/server, Host/terminal, Data gathering / data processing)
  • Distribusi beban/keseimbangan : Pemberian tugas ke prosesor secukupnya sehingga unjuk kerja seluruh sistem teroptimasi
  • Replika Kekuatan : Kumpulan PC memiliki kekuatan yang lebih besar dari super komputer
  • Pemisahan Fisik : Untuk kehandalan atau redundansi sistem
  • Ekonomis : Kumpulan mikroprosesor memberikan harga/unjuk kerja yang lebih baik dibandingkan dengan mainframe.


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

G. Contoh dari sistem terdistribusi

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

4. World wide web
  • Arsitektur client/server tebuka yang diterapkan di atas infrastruktur internet
  • Shared resources (melalui URL)

Sumber : http://www.blogsitaufik.web.id/2013/12/mengenal-sistem-terdistribusi.html