TUGAS 1 PEMROGRAMAN SISTEM TERSEBAR

OLEH DEWA GDE ADI MURTHI UDAYANA 0905021068 VB

JURUSAN MANAJEMEN INFORMATIKA FAKULTAS TEKNIK DAN KEJURUAN

alamat. Masing-masing desa menangani skema kependudukan: skema – kependudukan = (nomor_ktp. Orang tersebut meminta KTP baru di desa B. Masing-masing computer merupakan sebuah lokasi kemudian ada satu lokasi yang menangani tentang data kependudukan semua desa. nama_desa. lokasi akan berbagi skema global. Jika penambahan dilakukan di desa maka ini dianggap lokal jika tidak dianggap global. Penerapan sistem terdistribusi dari segi basis data : 1. nama_desa) Lokasi yang mempunyai tentang menangani skema-desa: Skema – desa = (jumlah_penduduk. Pada sistem basis data terdistribusi yang ideal. kota) Contoh untuk menggambarkan perbedaan antara dua tipe kependudukan.UNIVERSITAS PENDIDIKAN GANESHA SINGARAJA 2011 SOAL : Sebutkan dan jelaskan contoh-contoh dari masing-masing komponen sistem tersebar! A. lokal dan global pada satu daerah adalah menambah data penduduk pada sebuah desa. Sebaliknya untuk sebuah kependudukan dimana seseorang akan pindah dari desa A ke desa B. Semua lokasi akan menjalankan software DBMS terdistribusi yang sama dan masing-masing lokasi akan mengetahui keberadaan lokasi yang lainnya. Contoh Basis Data terdistribusi Pada SI Kependudukan Misalkan sebuah daerah terdiri atas empat desa masing-masing desa memiliki komputer yang menangani data kependudukan pada desa. karena yang harus diakses terletak pada dua lokasi berbeda. Jika dibangun dari awal sebuah basis data terdistribusi yang mungkin dapat mencapai .

adalah suatu sistem yang terbentuk dari beberapa harddisk/drive. Sehingga secara logikal hanya "terlihat" sebuah harddisk dengan kapasitas yang besar (jumlah kapasitas keseluruhan harddisk). jumlah harddisk yang dibutuhkan adalah minimal 5 (n+3. RAID 1 Biasa disebut dengan modus mirroring. Pada awalnya. Sistemnya adalah menggabungkan kapasitas dari beberapa harddisk. n > 1). Namun ditambahkan tiga harddisk lagi untuk pariti hamming. digunakan untuk membentuk sebuah partisi yang sangat besar dari beberapa harddisk dengan biaya yang efisien. sehingga data menjadi lebih reliable. Namun . Sistemnya adalah menyalin isi sebuah harddisk ke harddisk lain dengan tujuan: jika salah satu harddisk rusak secara fisik. kita biasa membuat beberapa partisi dalam satu harddisk.tujuan di atas. Nah. masing-masing dengan skemanya sendiri dan mungkin menjalankan DBMS berbeda. RAID 0. dengan RAID. RAID RAID.dalam kenyataannya basisdata terdistribusi harus dibuat dengan menggabungkan beberapa sistem basis data yang sudah ada. Sistem semacam ini kadang disebut sistem multi basisdata atau sistem basisdata teridstribusi heterogen. kita dapat membuat satu partisi dari beberapa harddisk. Secara sederhana. Karena itu. Redundant Array of Inexpensive(Independent) Disks. RAID 2 RAID 2. Membutuhkan minimal 2 harddisk. RAID 0 Juga dikenal dengan modus stripping. Penerapan sistem terdistribusi dari segi hardware : 1. maka data tetap dapat diakses dari harddisk lainnya. Ketiga harddisk terakhir digunakan untuk menyimpan hamming code dari hasil perhitungan tiap bit-bit yang ada di harddisk lainnya. juga menggunakan sistem stripping. B. Membutuhkan minimal 2 harddisk. RAID 3 .

Karena itu. Di balik layar. bukan bit. Misalnya jika sebuah harddisk mengalami kerusakan. Kebutuhan harddisk minimalnya juga sama. n > 1). n >1). 3 (n+1 . Penerapan sistem terdistribusi dari segi software : 1. namun hanya ditambahkan sebuah harddisk lagi untuk parity. C. COM+ menggunakan sebuah protocol yang bernama Remote Procedure Call (RPC) untuk mengeksekusi method- . juga menggunakan sistem stripping.RAID 3. tidak menggunakan harddisk khusus untuk menyimpan paritinya. maka kerusakan dua buah harddisk pada saat yang bersamaan masih dapat ditoleransi. namun dengan pariti yang terdistribusi. jumlah harddisk yang dibutuhkan adalah minimal 3 (n+1 . Dengan adanya penambahan pariti sekunder ini. Hal ini dilakukan untuk mempercepat akses dan menghindari bottleneck yang terjadi karena akses harddisk tidak terfokus kepada kumpulan harddisk yang berisi data saja.. COM+ COM+ adalah suatu teknologi middlware yang merupakan solusi microsoft untuk membuat application server atau yang sering disebut sebagai middle-tier. maka hal ini masih dapat ditoleransi dan tidak mengakibatkan kerusakan data di harddisk bersistem RAID 6. Yakni. Sehingga jumlah harddisk minimalnya adalah 4 (n+2 . Juga menggunakan harddisk tambahan untuk reliability. saat proses pertukaran harddisk tersebut terjadi kerusakan lagi di salah satu harddisk yang lain. beberapa business object disimpan. n >1). RAID 4 Sama dengan sistem RAID 3. Pada middle-tier inilah. yakni dengan penambahan parity menjadi 2 (p+q). namun paritinya tersebut disebar ke seluruh harddisk. RAID 5 RAID 5 pada dasarnya sama dengan RAID 4. RAID 6 Secara umum adalah peningkatan dari RAID 5. Kebutuhan harddisk minimalnya juga sama. COM+ memungkinkan penggunaan objek-objek yang ada lintas jaringan komputer oleh aplikasi client. Harddisk terakhir digunakan untuk menyimpan parity dari hasil perhitungan tiap bit-bit yang ada di harddisk lainnya. namun menggunakan parity dari tiap block harddisk. n > 1). 3 (n+1 .

sistem operasi. Keandalan COM+ telah teruji sejak lama sebagai alternatif dalam membangun sistem distibusi dan transaksi.method yang berada di dalamnya lintas proses dan lintas batasan host. Jadi. Distributed application adalah software aplikasi yang terdiri dari komponen-komponen yang terletak tidak hanya di satu server. COM+ Merupakan hasil pengembangan dari komponen COM dan MTS. dan database server terhadap teknologi client-server yang akan dibuat. Komponen-komponen tersebut berinteraksi satu sama lain menggunakan infrastruktur yang disediakan oleh MTS/COM+. Bentuk arsitektur COM+ dapat dilihat pada gambar berikut ini : Microsoft Transaction Server (MTS) atau juga populer dengan COM+ ini adalah produk microsoft yang pada dasarnya menyediakan infrastruktur untuk developer dalam mengembangkan distributed application. . COM+ menyediakan service berbasis enterprise yang didasarkan pada Component Object Model (COM) untuk membangun sistem distribusi. Penerapan sistem terdistribusi dengan arsitektur yang menggunakan COM+ ini dapat memberikan dukungan dalam hal pelayanan vendor programming tools. sehingga memudahkan dalam hal developing. tapi bisa dibeberapa server.

yang biasanya didesain untuk bekerja pada lingkungan yang terdiri dari banyak bahasa dan heterogen. Mandriva. oleh karenanya. Fedora. dan NIS untuk memberikan layanan kepada mesin client oleh karena itu tidak perlu kita menginstalasi Linux di masing-masing mesin client satu per satu. Bayangkan menginstall linux di 40. Hal ini menjadi menarik pada saat implementasi Linux dimana user kadang kala masih menginginkan booting ke mesin Windows dan menjalankan beberapa aplikasi yang hanya tersedia di Windows. Penerapan sistem tersebar dari segi prosedur : RMI (Remote Method Invocation) adalah cara programmer Java untuk membuat program aplikasi Java to Java yang terdistribusi. DRBL termasuk clonezilla. Jika DRBL server sudah siap. CentOS dan SuSE. DRBL memberikan banyak flexibilitas saat implementasi Linux. Java RMI yang ada pada bahasa Java telah didesain khusus sehingga hanya bisa bekerja pada lingkungan Java. D.Sistem RMI terdiri atas tiga layer/lapisan. dan begitu juga sebaliknya. . solusi open source untuk memanage implementasi system operasi linux di banyak client. stub/skeleton layer. Program-program yang menggunakan RMI bisa menjalankan metode secara jarak jauh. misalnya CORBA. yaitu stub pada sisi klien (berupa proxy). atau 10 client satu per satu! DRBL memungkinkan mengkonfigurasi semua client komputer dengan cara menginstalasi dari satu server saja. dan skeleton pada sisi server. DRBL memungkinkan lingkungan diskless atau sistemless di sisi mesin client. sehingga program dari server bisa menjalankan method di komputer klien. mesin client dapat booting melalui PXE/etherboot (diskless). 30.2. Pemodelan objek pada CORBA tidak boleh mengacu pada bahasa tertentu. DRBL (Diskless Remote Boot in Linux) DRBL (Diskless Remote Boot in Linux) adalah free software. Red Hat. Ubuntu. Hal ini berbeda dengan sistem RMI lainnya. DRBL menggunakan sumber daya hardware yang terdistribusi dan memungkinkan client untuk mengakses secara penuh hardware lokal. sistem operasi lain (seperti Windows) yang terinstalasi di mesin client tidak akan berubah. "DRBL" tidak akan menyentuh client harddisk. DRBL dapat bekerja di Debian. aplikasi untuk partisi dan disk cloning yang mirip dengan Symantec Ghost® DRBL menggunakan PXE/etherboot. yaitu : 1. NFS.

pengurusannya dan remote object tracking. transport layer. yaitu tiap layer bersifat independen terhadap layer lainnya. atau return value dari method tersebut akan dikirim melalui skeleton. dan meneruskan panggilan ke server object melalui remote reference layer. Jawaban. Hubungan antara layer-layer tersebut dapat dijelaskan pada gambar berikut : Klien Serve Aplikasi Sistem RMI Stub Remote Reference Layer Stub Skeleton Skeleton Transport layer Sebuah remote method invocation dari klien ke remote server object akan melalui layerlayer pada sistem RMI dari layer transport pada sisi klien ke layer transport pada sisi server. Sebuah klien yang menjalankan method pada remote server object sebenarnya menggunakan stub atau proxy yang berfungsi sebagai perantara untuk menuju remote server object tersebut. reference ke remote object sebenarnya merupakan reference ke stub lokal. Panggilan tersebut sebenarnya diteruskan ke skeleton yang berada di sisi server. Sebagai contoh.2. implementasi transport yang digunakan RMI adalah yang berbasis TCP (menggunakan Java socket). remote reference layer dan transport layer pada sisi . panggilan tersebut diteruskan melalui remote reference layer. Pada sisi klien. yaitu set up koneksi. dan bisa diganti oleh implementasi alternatif tanpa mengganggu layer lainnya. yaitu perilaku remote reference (misalnya pemanggilan kepada suatu objek) 3. Stub ini adalah implementasi dari remote interface dari sebuah remote object. Stub dibuat dengan menggunakan kompiler rmic. Layer application berada di atas sistem RMI. Batas antar masing-masing layer disusun oleh interface dan protokol tertentu. remote reference layer. Skeleton untuk remote object ini akan meneruskan panggilan ke kelas remote object implementation yang menjalankan method yang sebenarnya. Supaya sebuat panggilan method tersebut bisa sampai di remote object. tapi bisa digantikan dengan menggunakan UDP.

Sedangkan pada server dijalankan program WhiteboardServer Implementation yang berupa implementasi dari interface WhiteboardServer. sehingga bisa diakses oleh klien. Implementation class merupakan kelas yang mengimplementasikan remote interface. Program WhiteboardServer Implementation ini bersifat public. komputer klien bisa memanggil remote object yang berada di server.rmi. RMI digunakan agar dosen. interface WhiteboardClientManifest ini adalah remote interface untuk klien. dan stub pada sisi klien. Sedangkan pada Projector. dan program rmiregistry yang sedang dijalankan di komputer server (rmiregistry terdapat dalam paket JDK). Setelah itu. Kelas Whiteboard Client Manifest Implementation merupakan kelas yang mengimplementasikan interface WhiteboardClientManifest. Dalam program Chat. ke komputer server. . Kelas WhiteboardClient adalah tampilan yang dimunculkan pada komputer klien. Program RMI memerlukan remote interface.RemoteException.Remote. bisa mengatur indeks tampilan pada Projector yang berlangsung pada komputer mahasiswa.klien. remote reference layer. Remote interface harus meng-extend interface java. maupun berupa aplikasi. program yang dijalankan di komputer klien bisa berupa applet. WhiteboardServer juga merupakan remote interface. Dengan menggunakan RMI. kelas-kelas implementasi dari remote interface tesebut (implementation class). Dengan RMI. Teknik dalam RMI salah satunya adalah dynamic stub loading. yang berfungsi sebagai klien lainnya. lalu melalui transport layer. sehingga komputer klien bisa menjalankan method-method tertentu di komputer server. penggunaan RMI terletak pada pengiriman graphics dan image antara komputer server dan klien. Pada Whiteboard. yang berfungsi untuk membuat klien me-load stub yang belum ada di komputernya. sedangkan penggunaan RMI dilakukan oleh kelas Whiteboard Client Manifest Implementation. Whiteboard dan Projector. Pada paket Whiteboard. Dalam konsep RMI. server akan mengeluarkan output berupa hasil percakapan antar pengguna kepada semua komputer klien. Whiteboard Client Manifest Implementation dan WhiteboardServer Implementation adalah implementation classes. Server juga bisa menjadi klien dari suatu remote object. sebagai klien.rmi. baik dosen maupun mahasiswa. Stub mengimplementasi remote interface yang sama dengan yang diimplementasikan oleh remote object. Setiap method pada remote interface harus meng-throw java. RMI digunakan untuk memasukkan input dari para pengguna. RMI digunakan untuk program-program Chat.

penyampaiannya dilakukan dengan pass by reference. Security manager ini diperlukan untuk menjaga agar kelas-kelas yang dipakai tidak melakukan operasi-operasi yang bisa mengancam keamanan sistem. Implementation class juga menyediakan implementasi dari method yang bisa dijalankan secara remote. yaitu proxy pada sisi klien untuk remote object. setelah konstruktor dipakai untuk menciptakan instance. Bentuk atau format dari URL tersebut adalah : //host/nama_object.Serializable. argumen ke-2). implementation class juga harus me-register atau mendaftarkan paling tidak sebuah remote object pada RMI remote object registry. semua argumen untuk remote method dan semua return value dari remote method bisa berupa object bertipe apa saja. Biasanya referensi diambil dengan cara dijadikan parameter dari suatu remote method.Implementation class perlu mendefinisikan konstruktor untuk remote object. dan nama_object harus berupa nama berbentuk string. asal object-object tersebut mengimplementasi interface java. Untuk keperluan bootstrapping. Pada method main di implementation class. ataupun security manager yang sebelumnya telah didefinisikan dulu secara khusus oleh sang programmer. yang bisa berupa RMISecurityManager. Pada program implementation class. suatu instance dari remote object harus diciptakan. komputer-komputer klien bisa mencari nama objek tersebut. klien sebelumnya harus membuat referensi kepada remote object tersebut. Untuk remote objects.rebind(URL. Tambahan lagi. Dalam method main. Konstruktor akan menghasilkan remote object. sekaligus membuat instance dari remote object tersebut. mengambil referensi ke remote-object. RMI menyediakan registry yang bisa mem-bind suatu URL ke remote object. Referensi untuk suatu remote object sebenarnya merupakan referensi untuk sebuah stub. . sebuah remote object akan siap untuk mendengar method-method panggilan dari komputer klien.io. Agar komputer klien bisa menjalankan method di remote object. dan seterusnya menjalankan method pada objek tersebut. Setelah suatu remote object diregistrasi di server. Jika dalam method main tidak terdapat security manager. ataupun diambil dari return value suatu remote method. Selain itu implementation class juga perlu membuat dan menjalankan Security Manager. RMI akan membuat referensi ke stub dari remote object dengan referensi yang ditentukan oleh argumen kedua dari perintah Naming. dan sebagai hasilnya. RMI tidak bisa digunakan karena kelas-kelas RMI tidak akann diijinkan untuk di-load. diperlukan pembuatan dan pemasangan sebuah security manager.

komputer server akan melakukan referensi ke stub yang berada di komputer klien.  Perusahaan CEAS Consulting yang menyediakan jasa custom re-engineering dan otomasi proses untuk perusahaan-perusahaan manufakturing dan teknik.Objek implementasi yang ada di komputer klien (remote implementation objects) akan selalu berada di komputer klien. Protokol yang dipakai oleh RMI adalah Java Object Serialization dan HTTP. Protokol HTTP digunakan untuk mem-"POST" sebuah remote method invocation dan mengembalikan data keluaran untuk situasi ketika komputer klien dan server dipisahkan oleh firewall. Contoh implementasi dari RMI di antaranya :  Perusahaan programming Avitek yang berlokasi di Amerika Serikat. membuat program sistem accounting untuk intranet yang memungkinkan klien untuk meng-update dan mengubah data dengan mudah. Gambaran program mereka adalah seperti berikut: . telah membuat program sistem terdistribusi untuk klien mereka. Tujuan dari proyek ini adalah untuk membuat dan mendukung pembuatan dari bukti nyata untuk konsep penggunaan Java yang dikombinasikan dengan database. jadi sewaktu klien melakukan pencarian ke remote object yang ada ada di registry di server. Protokol Object Serialization digunakan unntuk meneruskan panggilan klien dan mentransfer data.

Tujuan dari proyek ini adalah untuk membuat dan mendukung pembuatan dari bukti nyata untuk konsep penggunaan Java yang dikombinasikan dengan database. Protokol HTTP digunakan untuk mem-"POST" sebuah remote method invocation dan mengembalikan data keluaran untuk situasi ketika komputer klien dan server dipisahkan oleh firewall. membuat program sistem accounting untuk intranet yang memungkinkan klien untuk meng-update dan mengubah data dengan mudah. telah membuat program sistem terdistribusi untuk klien mereka. Setelah suatu remote object diregistrasi di server. komputer server akan melakukan referensi ke stub yang berada di komputer klien. komputer-komputer klien bisa mencari nama objek tersebut. dan nama_object harus berupa nama berbentuk string.tersebut adalah : //host/nama_object. • Perusahaan CEAS Consulting yang menyediakan jasa custom reengineering dan otomasi proses untuk perusahaan-perusahaan manufakturing dan teknik. mengambil referensi ke remote-object. Gambaran program mereka adalah seperti berikut: .rebind(URL. Contoh implementasi dari RMI di antaranya : • Perusahaan programming Avitek yang berlokasi di Amerika Serikat. RMI akan membuat referensi ke stub dari remote object dengan referensi yang ditentukan oleh argumen kedua dari perintah Naming. Protokol yang dipakai oleh RMI adalah Java Object Serialization dan HTTP. argumen ke-2). jadi sewaktu klien melakukan pencarian ke remote object yang ada ada di registry di server. Objek implementasi yang ada di komputer klien (remote implementation objects) akan selalu berada di komputer klien. dan seterusnya menjalankan method pada objek tersebut. Protokol Object Serialization digunakan unntuk meneruskan panggilan klien dan mentransfer data.