Sabtu, 15 Maret 2014

KONSEP RPC (REMOTE PROCEDURE CALL)

Remote Procedure Call (RPC)

Remote Procedure Call (RPC)
Definisi RPC
adalah suatu protokol yang menyediakan suatu mekanisme komuikasi antar proses yang mengijinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode sistem yang jauh (remote system).

- RPC digunakan untk membangun aplikasi klien server yang terdistribusi.
- Didasarkan pada memperluas konsep konvensional dari suatu prosedur dimana nantinya mempunyai    alamat sama dengan lokasi prosedur dipanggil.
- RPC mengasumsi keberadaan TCP atau UDP untuk membawa pesan data dalam komniasi suatu program.
- Protokol RPC dibangun diatas protokol eXternal Data Representasi (XDR) yang merupakan sandar representasi data dalam komunikasi remote.
-  Protokol RPC mengijinkan pengguna untuk bekerja dengan remote sebagaimana bekerja dengan prosedur lokal.



Protokol Message RPC
Didefinisikan dengan menggunakan deskripsi data XDR yang meliputi struktur, enumerasi, dan union.
Membutuhkan faktor-faktor pendukung :
1. Spesifikasi yang unik untuk tiap procedure call
2. Respon message yang sesuai untuk tiap message yang diminta.
3. Otentifikasi klien untuk tiap layanan 
Struktur Protokol Message RPC 
a. Call Message
• Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.
• Terdapat nilai-nilai unsigned integer yangdigunakan untuk mengidentifikasi prosedur remote, yang diminta:
   1. Nomor Program
   2. Nomor Versi dari Program
   3. Nomor Prosedur
 b. Reply Message
Dikirimkan oleh server jaringan, bervariasi tergantung apakah call message 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 





Selasa, 11 Maret 2014

PERKEMBANGAN TEORI KOMPUTASI

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). Maksudnya adalah ilmu untuk mencari solusi pada setiap masalah dengan menggunakan perhitungan matematis dan algoritma tertentu.
Pada jaman dulu kita melakukan perhitungan dengan alat-alat sederhana seperti pena dan kertas, atau kapur dan batu tulis, bantuan tabel atau bisa kita sebut sebagai bantuan tabel untuk mempermudah kita melakukan perhitungan. Yang menjadi masalah pada saat kita melakukan perhitungan, banyak hal yang menjadi kekurangan dalam melakukan perhitungan secara mental, seperti ketidak akuratan hasil hitung, efektifitas, dan juga tidak efisien dalam segi waktu. Maka dari itu semua, pada jaman sekarang ini kita sudah dihadirkan dengan teknologi komputasi yang lebih modern utuk melakukan perhitungan bahkan yang kompleks sekalipun yaitu dengan menggunakan kalkulator  dan juga komputer.
Pada awalnya perkembangan komputasi modern digagas oleh John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann menjadi salah satu ilmuwan terbesar pada zamannya. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya. Berkat teori-teori nya itulah pada saat itu komputer mengalami perkembangan dan kemajuan pesat itu dapat terlihat saat dia menjadi seorang konsultan pada pengembangan komputer ENIAC. karena jasa-jasa nya John von Neumann di sebut bapak komputasi modern. Dia juga merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan dengan pengendali pusat, I/O, dan memori.
Komputasi modern digunakan untuk menghitung :
-          Akurasi (big, Floating point)
pada komputasi modern dilakukan perhitungan bagaimana bisa menghasilkan suatu jawaban yang akurat dari sebuah masalah.
-          Kecepatan (dalam satuan Hz)
Komputasi harus dapat dilakukan dalam waktu yang cepat ketika mengolah suatu data. Sehingga perlu metode kecepatan untuk mengolah perhitungan dalam waktu singkat.
-          Problem Volume Besar (Down Sizzing atau paralel)
Data yang besar tentu membutuhkan suatu cara penyelesaian yang khusus. Karena data yang besar dapat menjadi masalah jika ada yang terlewatkan.
-          Modeling (NN & GA)
Jika kita dihadapi dalam suatu masalah perhitungan yang banyak dan kompleks, tetapi tidak ada model matematika yang kita miliki. Perhitungan akan berjalan berantakan dan tidak akan mendapatkan hasil yang akurat. Maka dari itu komputasi modern membutuhkan modeling sebelum melakukan perhitungan.
-          Kompleksitas (Menggunakan Teori big O)
Komputasi modern dirancang untuk menangani masalah yang kompleks, sehingga diterapkan pada komputer. Dengan menggunakan teori Big O, maka komputasi modern dapat melakukan perhitungan untuk memecahkan masalah kompleksitas yang kerap dihadapi.
Macam – macam Komputasi Modern :
-          Mobile Computing
Komputasi yang dapat berkomunikasi tanpa menggunakan 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.
-          Cloud Computing
Komputasi awan adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). suatu metode komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan, sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan")  tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya.
Berikut adalah implementasi atau penerapan komputasi dalam bidangnya masing – masing adalah sebagai berikut :
-          Matematika
Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah - masalah matematika. penerapan teknik-teknik komputasi matematika meliputi metode numerik, scientific computing, metode elemen hingga, metode beda hingga, scientific data mining, scientific process control dan metode terkait lainnya untuk menyelesaikan masalah-masalah real yang berskala besar. Contoh penggunaannya adalah program Mapple, dapat menyelesaikan banyak perhitingan yang ada pada bidang matematika.
-          Fisika
Computational Physics (Fisika) – Mempelajari implementasi algoritma numerik untuk memecahkan permasalahan teori kuantitatif fisika yang sudah ada. Menyelesaikan permasalahan medan magnet dengan menggunakan komputasi fisika, dalam hal ini menentukan besarnya medan magnet dan membandiangkan hubungan antara medan magnet dengan panjang kawat.
-          Kimia
Terdapat Computational Chemistry yaitu penggunaan ilmu komputer untuk  membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. Kajian komputasi juga dapat dilakukan untuk menjelajahi mekanisme reaksi dan menjelaskan pengamatan pada reaksi di laboratorium, serta memahami sifat dan perubahan pada sistem makroskopis melalui simulasi yang berlandaskan hukum-hukum interaksi yang ada dalam sistem.
-          Ekonomi
Mempelajari titik pertemuan antara ekonomi dan komputasi, meliputi agent-based computational modelling, computational econometrics dan statistika, komputasi keuangan, computational modelling of dynamic macroeconomic systems dan pengembangan alat bantu dalam pendidikan komputasi ekonomi.
-          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.
-          Geografi
Terdapat penggunaan komputasi yang diterapkan pada GIS (Geographic Information System) yang berguna untuk menyimpan, memanipulasi dan menganalisa informasi geografi.
Sumber :
http://prima-iamcome.blogspot.com/2014/03/perkembangan-teori-komputasi.html?showComment=1394548286744#c4501764899078803458

SISTEM TERDISTRIBUSI

Pengertian Sistem Terdistribusi

     Sistem Terdistribusi adalah kumpulan autonomous computers yang terhubung melalui sistem jaringan computer dan dilengkapi dengan system software tedistribusi untuk membentuk fasilitas computer terintegrasi.
       Pengertian lain Sistem terdistribusi adalah sebuah sistem dimana komponen software atau hardware-nya terletak di dalam jaringan komputer dan saling berkomunikasi menggunakan message passing (Message passing adalah sebuah teknik untuk melakukan sinkronisasi dan komunikasi antara proses-proses yang saling berinteraksi). Ada juga yang mengatakan Sistem Terdistribusi adalah sebuah sistem yang terdiri dari beberapa komponen yang terdapat di dalam sebuah jaringan komputer. Komponen-komponen tersebut saling berinteraksi dan berkomunikasi hanya dengan melalui pengiriman pesan.

Contoh Sistem Terdistribusi :
  • Internet.
  • Mobile Computing.
  • Sistem Otomasi Bank.
  • Deteksi Roaming Pada Telepon Seluler.
  • GPS (Global Positioning System).
  • Retail Point-of-Sale Terminals.
 Internet
  • Jaringan komputer dan aplikasi yang heterogen.
  • Mengimplementasikan protokol Internet.

Intranet

  • Jaringan yang teradministrasi secara local.
  • Terhubung ke internet melalui firewall.
  • Menyediakan layanan internal dan eksternal.

Mobile Computing (Sistem Komunikasi Telepon Seluler)

  • Menggunakan frekuensi radio sebagai media transmisi.
  • Perangkat dapat bergerak kemanapun asal masih terjangkau dengan frekuensinya.
  • Dapat menghandle/dihubungan dengan perangkat lain.

Contoh lain Sistem Terdistribusi

  • Sistem Telepon : ISDN, PSTN.
  • Network File System (NFS). (Arsitektur untuk mengakses sistem file melalui jaringan).
  • www. (Arsitektur client server yang diterapkan dalam infrastruktur internet).
Karakteristik Sistem Terdistribusi :
1. No global clock
–      Terdapat batasan pada ketepatan proses sinkronisasi clock pada sistem terdistribusi, oleh karena asynchronous message passing
–      Pada sistem terdistribusi, tidak ada satu proses tunggal yang mengetahui global state sistem saat ini (disebabkan oleh concurrency dan message passing)
2. Independent failure
–      Kemungkinan adanya kegagalan proses tunggal yang tidak diketahui
–      Proses tunggal mungkin tidak peduli pada kegagalan sistem keseluruhan
3. Concurrency of components
–      E.g. Beberapa pemakai browser mengakses suatu halaman web secara bersamaan.
–      Bagaimana jika ada operasi update?

Model Sistem Terdistribusi :
1. Sistem client - server
            Merupakan bagian dari model sistem terdistribusi yang membagi jaringan berdasarkan pemberi dan penerima jasa layanan.
2. Sistem point to point
            Merupakan bagian dari model sistem terdistribusi dimana sistem 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).


Sumber : http://penuhrahmatt.mdl2.com/mod/book/view.php?id=4

Materi Selanjutnya :  http://angga12casidy.wordpress.com/2014/03/12/sistem-terdistribusi/ 

Kelompok 5 :