TUGAS 1 PEMROGRAMAN SISTEM TERSEBAR

OLEH DEWA GDE ADI MURTHI UDAYANA 0905021068 VB

JURUSAN MANAJEMEN INFORMATIKA FAKULTAS TEKNIK DAN KEJURUAN

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

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

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

Penerapan sistem terdistribusi dengan arsitektur yang menggunakan COM+ ini dapat memberikan dukungan dalam hal pelayanan vendor programming tools. 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. Jadi. tapi bisa dibeberapa server. . COM+ Merupakan hasil pengembangan dari komponen COM dan MTS. sistem operasi. Komponen-komponen tersebut berinteraksi satu sama lain menggunakan infrastruktur yang disediakan oleh MTS/COM+. sehingga memudahkan dalam hal developing. COM+ menyediakan service berbasis enterprise yang didasarkan pada Component Object Model (COM) untuk membangun sistem distribusi. Distributed application adalah software aplikasi yang terdiri dari komponen-komponen yang terletak tidak hanya di satu server. dan database server terhadap teknologi client-server yang akan dibuat.method yang berada di dalamnya lintas proses dan lintas batasan host. Keandalan COM+ telah teruji sejak lama sebagai alternatif dalam membangun sistem distibusi dan transaksi.

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

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

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

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

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

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

Sign up to vote on this title
UsefulNot useful