Perubahan itu Perlu

Selasa, 18 Maret 2014

Remote Procedure Calls (RPC)

Kelebihan RPC
  • Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan procedure.  Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low  level details seperti  socket, marshalling &unmarshalling.
  •  Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission- critical application yg memerlukan scalability, fault tolerance, & reliability.

Kekurangan RPC
  •  Tidak fleksibel terhadap perubahan:
Static relationship between client & server at run-time.
  • Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.
Struktur Protokol Message RPC
  • Call Message
  • Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.
  • Terdapat nilai-nilai unsigned integer yang digunakan untuk mengidentifikasi prosedurremote yang diminta:
1. Nomor Program
2. Nomor Versi dari Program

3. Nomor Prosedur

  • Reply Message
  • Dikirimkan oleh server jaringan, bervariasi tergantung apakah call messages yang diminta klien diterima atau ditolak.
  • Mengandung informasi:
1. RPM mengeksekusi call message dengan sukses
2. Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih tinggi atau lebih rendah ditolak)
3.Program remote tidak tersedia pada sistem remote
4. Program remote tidak mendukung versi yang diminta klien
5. Nomor prosedur yang diminta tidak ada

Prinsip RPC dalam program Client-Server
Skema RPC ini dilakukan juga pada proses-proses yang running di komputer  berlainan
  • ƒ Sebelum mekanisme RPC digunakan, data  harus di-packaging ke dalam formattransimisi. Langkah ini dinamakan marshalling
  • ƒProxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data
dan meminta instans dari komponen (remote)
  • ƒStub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan .

Langkah-langkah dalam RPC
1.  Prosedur client memanggil client stub
2.  Client stub membuat pesan dan memanggil OS client
3.  OS client mengirim pesan ke OS server
4.  OS server memberikan pesan ke server stub
5.  Server stub meng-unpack parameter-parameter untuk memanggil server
6.  Server mengerjakan operasi, dan mengembalikan hasilnya ke server stub
7.  Server stub mem-pack hasil tsb dan memanggil OS server
8.  OS server mengirim pesan (hasil) ke OS client
9.  OS client memberikan pesan tersebut ke client stub
10.  Client stub meng-unpack hasil dan mengembalikan hasil tersebut ke client

Object Remote
Meskipun teknologi RPC ini relatif sudah memberikan kenyamanan bagi developer, tapi perkembangan yang terjadi di bidang pemrograman berorientasi objek akhirnya menuntut kehadiran teknologi baru. Sederet teknologi akhirnya benar-benar muncul, antara lain;RMI (Remote Method Invocation),CORBA(Common Object Request Broker Architecture), dan SOAP (Simple Object Access Protocol).

Materi Selanjutnya :




Minggu, 16 Maret 2014

Perkembangan Teori Komputasi dan Penerapan di bidangnya

Apabila kita langsung membahas tentang komputasi, mungkin banyak dari kita yang belum mengetahui tentang definisi dari komputasi itu sendiri. Jika kita mengacu pada wikipedia arti dari komputasi itu sendiri adalah sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma.
Namun sekarang komputasi telah digunakan dengan menggunakan komputer. Secara umum ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Lalu, perkembangan komputasi tidak terlepas dari perkembangan panjang bit komputer dan kecepatan komputasi itu sendiri.
Asal mula sebuah PC

Mari kita lihat sejarah latar belakang sebuah PC modern, dimana diawali pada tahun 1981, kurang lebih 32 tahun. PC diperkenalkan pertama kali oleh IBM yang bekerja pada microcomputer 16-bit menggunakan Intel 8086 atau 8088 sebagai processornya dan menggunakan sistem operasi Microsoft (DOS, akhirnya Windows).
PC benar-benar mengalami perkembangan begitu jauh dimulai dari microprocessor 8-bit (seperti Commodore 64), yang cukup terkenal sampai akhir tahun 1980-an. PC yang tampak diatas, merupakan komputer hybrid (cangkokan) yang sangat menarik. Ditandai oleh peralihan dari arsitektur 8-bit ke arsitektur 16-bit. PC tersebut memuat dua processor yaitu: 8-bit Z80 dan 16-bit 8088. Sehingga dimungkinkan untuk bekerja pada beberapa sistem operasi yang berbeda, seperti CP/M dan MS-DOS 2.
Setiap processor memiliki jalur (bus) sendiri-sendiri, membagi RAM sebesar 128 KB secara bersama. Dan itu merupakan kemajuan mesin yang istimewa.
Lebar Bit 
Pertama kali microprocessor yang diproduksi oleh Intel adalah 4 bit. Ini berarti, pada suatu operasi tunggal, processor bisa melakukan proses sebanyak 4 bit panjangnya. Dengan kata lain lebar mechine word adalah 4 bit. Intel 4004 merupakan jenis processor 4-bit dengan arsitektur 4-bit.
Nantinya processor bisa memproses sebesar 8 bit dalam satu satuan waktu, seperti Intel 8008, 8080. PC merupakan pelopor komputer 16-bit. Dengan mengembangkan processor 80386-nya, mereka telah berubah menjadi arsitektur 32-bit yang masih dipakai sampai sekarang. Selanjutnya terus berkembang lebih jauh lagi dengan arsitektur 64-bit (misalnya Processor Itanium dari Intel dan Processor Athlon 64 dari AMD).
Macam-macam Komputasi Modern
Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid dan komputasi cloud. Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut:
Mobile Computing.
Mobile Computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel. Contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smartphone dan lain sebagainya.
Grid Computing
Komputasi Grid menggunakan komputer yang terpisah oleh geografis, didistribusikan dan terhubung oleh jaringan untuk menyelesaikan masalah komputasi skala besar.
Ada beberapa daftar yang dapat digunakan untuk mengenali sistem komputasi grid, yaitu:
  • Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat 
  • Sistem menggunakan standart dan protocol yang terbuka 
  • Sistem mencoba mencapai kualitas pelayanan yang canggi. yang lebih baik diatas kualitas komponen individe pelayan komputasi grid. 
Cloud Computing
Komputasi Cloudmerupakan gaya komputasi yang terukut dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet. Komputasi Cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasi model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.
Adapun perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud, dapat dilihat penjelasannya dibawah ini:
  • Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer. 
  • Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud. 
  • Komputasi mobile tidak membutuhkan tempat danmudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
  • Untuk komputasi mobile proses tergantung si pengguna, komputasi grid proses tergantung pengguna mendapatkan server atau tidak, dan komputasi cloud prosesnya membutuhkan jaringan internet sebagai penghubungnya.

Dan juga implementasi sudah diterapkan dalam bidangnya masing-masing yang sering kita jumpai atau pelajari di dalam kehidupan sehari-hari kita seperti berikut ini:

 - Bidang Fisika
Computational Physics (Fisika) – Mempelajari implementasi algoritma numerik untuk memecahkan permasalahan teori kuantitatif fisika yang sudah ada.
  – Bidang Biologi
Bioinformatics (Biologi) – Merupakan sebuah aplikasi dari teknologi informasi dan ilmu komputer terhadap bidang biologi molekuler.

 - Bidang Kimia
Computational Chemistry (Kimia) – Merupakan salah satu cabang kimia yang menggunakan ilmu komputer untuk membantu menyelesaikan masalah kimia.

 - Bidang Matematika
Contoh penggunaannya adalah program Mapple, dapat menyelesaikan banyak perhitingan yang ada pada bidang matematika, 

 - Bidang Ekonomi
Terdapat Computational Economics yang mempelajari titik pertemuan antara ilmu ekonomi dan ilmu komputer mencakup komputasi keuangan, statistika, pemrograman yang di desain khusus untuk komputasi ekonomi dan pengembangan alat bantu untuk pendidikan ekonomi.

 - Bidang Geologi
Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah.

 - Bidang Geografi
Terdapat penggunaan komputasi yang diterapkan pada GIS (Geographic Information System) yang berguna untuk menyimpan, memanipulasi dan menganalisa informasi geografi.

Senin, 10 Maret 2014

Materi Sistem Terdistribusi

Fungsi Sistem Operasi

Secara garis besar Sistem Operasi mempunyai 2 tugas utama, yaitu sebagai :
a. Pengelola Seluruh Sumber Daya Pada Sistem Komputer (Resource Manager).
Yang dimaksud dengan sumber daya pada sistem komputer adalah semua komponen yang memberikan fungsi (manfaat) atau dengan pengertian lain adalah semua yang terdapat atau terhubung ke sistem komputer yang dapat untuk memindahkan, menyimpan, dan memproses data,serta untuk mengendalikan fungsi-fungsi tersebut.

Sumber daya pada sistem komputer, antara lain :

1) Sumber daya fisik
Contoh dari sumber daya fisik diantaranya keyboard, bar-code reader, mouse, joystick, lightpen, track-ball, touchscreen, pointing devices, floppy disk drive, hard-disk, tape drive, optical disk, CD ROM drive, CRT, LCD, printer, modem, ethernet card, PCMCIA, RAM, cache memory, register, kamera, sound card, radio, digitizer, scanner, plotter, dan sebagainya.
Salah satu sasaran yang harus dicapai sistem operasi adalah dapat emanfaatkan
seluruh sumber daya agar dapat digunakan secara efektif dan efisien mungkin.

2) Sumber daya abstrak
Terdiri dari : :
Data, misalnya :Semaphore untuk pengendalian sinkronisasi proses-proses, PCB (Process Control Block) untuk mencatat dan mengendalikan proses, tabel segmen, tabel page, i-node, FAT, file dan sebagainya.
Program yang berupa kumpulan instruksi yang dapat dijalankan oleh sistem komputer, yang dapat berupa utilitas dan program aplikasi pengolahan data tertentu.

b. Penyedia layanan (extended/virtual machine)
Secara spesifik berfungsi :
- Memberi abstaksi mesin tingkat tinggi yang lebih sederhana dan enyembunyikan
kerumitan perangkat keras. Sistem operasi menyediakan system call (API=Application Programming Interface) yang berfungsi menghindarkan kompleksitas pemograman dengan memberi sekumpulan instruksi yang mudah digunakan.
- Basis untuk program lain. Program aplikasi dijalankan di atas sistem operasi yang bertujuan untuk memanfaatkan dan mengendalikan sumber daya sistem komputer secara benar, efisien, dan mudah dengan meminta layanan sistem operasi.

Komponen Inti Sistem Operasi
- Komponen sistem operasi terdiri dari
- manajemen proses,
- manajemen memori utama,
- manajemen berkas,
- manajemen sistem I/O,
- manajemen penyimpanan sekunder,
- sistem proteksi,
- jaringan dan
- Command-Interpreter System.


Materi Selanjutnya :

Andryan S             : bolehdilihat.wordpress.com/2014/03/11/materi-sistem-terdistribusi

Ahya Muklis          : http://amoekinspirasi.wordpress.com/2014/03/11/materi-sistem-terdistribusi/

Sabrina Ayudya utami   : http://sabrinaami.blogspot.com/2014/03/tugas-sistem-terdistribusi.html


M. Aceng              : http://ace-kebebasan.blogspot.com/2014/03/materi-sistem-terdistribusi.html?m=1