Selasa, 22 Maret 2016

Remote Procedure Call


Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah  server harus menyediakan layanan  remote procedure.Pendekatan yang dilakuan adalah sebuah  server membuka  socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu haruS menghubungi  port yang mana,  client bisa me-request kepada sebuah  matchmaker pada sebuah RPC  port yang tetap.  Matchmaker akan memberikan  port apa yang digunakan oleh prosedur yang diminta client.
RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak  remote procedure. RPC menggunakan  socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya, biasanya RPC  ini digunakan untuk administrasi sistem. Sehingga seorang administrator jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.

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
Fitur dalam RPC:
1. Batching Calls
Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2. Broadcasting Calls
Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3. Callback Procedures
Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
4. Select Subrutin
Memeriksa deskripsi suatu file dan messages dalamantrian untuk melihat apakah siap dibaca atau ditulis,atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas).

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 format transimisi. 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
Fitur dalam RPC:
Batching Calls: Fitur Batching calls mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara sequence ( berurutan )
Broadcasting Call: Fitur Broadcasting mengijinkan klien untuk mengirimkan paket data kejaringan dan menunggu balasan dari network. FItur ini menggunakanprotokol yang berbasiskan paket data seperti UDP/IP sebagai mediumnya.Broadcast RPC membutuhkan layanan port mapper RPC untuk mengimplementasikan fungsinya.
Menggunakan select SubrutiN: Fitur ini akan memeriksa deskripsi dari suatu file dan messages dalamantrian untuk melihat apakah mereka siap untuk dibaca (diterima) atauditulis (dikirim), atau mereka dalam kondisi ditahan sementara. Prosedurini mengijinkan server untuk menginterupsi suatu aktivitas, memeriksadatanya, dan kemudian melanjutkan proses aktivitas tersebut.

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

Senin, 07 Maret 2016

Tugas P1

  A.  Pengertian Komputasi
   Ilmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaankomputer 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.
    Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. Bidang ini juga berbeda dengan teori dan percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.
      Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ini dibagi menjadi dua cabang: teori komputabilitas dan teori kompleksitas, namun kedua cabang berurusan dengan model formal komputasi.
      Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.

  B.   Perkembangan Implementasi Komputasi
Implementasi Komputasi Modern pada Bidang Ekonomi
Pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi. Karena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan.
Salah satu contoh komputasi di bidang ekonomi adalah komputasi statistik. Komputasi statistik adalah jurusan yang mempelajari teknik pengolahan data, membuat program, dan analisis data serta teknik penyusunan sistem informasi statistik seperti penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik.

Implementasi Komputasi modern pada bidang Geografi
Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan, dan perbedaan (variasi) keruangan atas fenomena fisik, dan manusia di atas permukaan bumi. Komputasi  dalam bidang geologi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi, Klimatologi, dan Geofisika) yakni instansi negara yang meneliti mengamati tentang metereologi klimatologi kualitas udara dan geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

Implementasi Komputasi modern pada bidang Fisika
Implementasi komputasi modern di bidang fisika ada Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan algoritma yang tepat. Pemahaman fisika pada teori, eksperimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualisasi / pemodelan yang tepat untuk memahami masalah Fisika.Untuk melakukan pekerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultan, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan kompleks yang menjadi tujuan penerapan fisika komputasi. Banyak perangkat lunak ataupun bahasa yang digunakan, baik MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi.

  C.   Pentingnya Komputasi Modern
Untuk memecahan masalah berdasarkan suatu inputan dengan menggunakan algoritma dimana penerapannya menggunakan berbagai teknologi yang telah berkembang seperti komputer. Dengan begitu waktu yang diperlukan untuk menemukan solusi atas masalah lebih cepat dan keakuratan dari selousi tersebut lebih tinggi dibandingkan dengan komputasi terdahulu yang umumnya menggunakan pena dan kertas maupun kapur dan batu tulis atau dikerjakan dengan menggunakan bantuan tabel.

 D.  Keterkaitan antara mobile computing dengan cloud computing
Mobile Computing adalah sebuah paradigma baru dalam kemajuan teknologi yang dapat melakukan komunikasi dengan jaringan  nirkabel sehingga user mampu melakukan perpindahan. Sekumpulan hardware, data dan perangkat lunak aplikasi yang mampu berpindah tempat. Kelas tertentu dalam sistem terdistribusi dimana beberapa node dapat bergerak bebas dan melakukan koneksi pada jaraingan yang berbeda.
Cloud computing merupakan pelengkap terbaru di dalam komputasi modern yang berbasis model dalam internet yang membuat suatu inovasi, dimana segala aktifitas komputerisasi dilakukan melalui internet : web.

Keterkaitannya yaitu:
-Mobile computing menggunakan teknologi mobile untuk menjalankannya seperti handphone, carputer dan ultra mobile PC, sedangkan grid dan cloud computing menggunakan PC pada umumnya untuk menjalankannya.
-Biaya untuk pengadaan energi bagi mobile computing cenderung lebih mahal dibanding grid dan cloud computing apabila tidak ada sumber daya listrik karena membutuhkan sumber daya pengganti yaitu baterei.
-Mobile computing tidak terlalu membutuhkan tempat yang besar untuk mengoperasikannya dibanding grid dan cloud computing karena cenderung portable dan mudah dibawa kemana saja.

-Pada mobile computing, proses komputasi cenderung dilakukan sendiri oleh user. Pada grid computing, proses komputasi dilakukan terpusat maupun tidak terpusat dimana consumer membutuhkan discovery server. Pada cloud computing, proses komputasi membutuhkan ASP dan internet sebagai media penghubung.

Sumber :
http://shinuta-mine.blogspot.co.id/2011/09/mobile-computing-komputasi-bergerak.html
http://indrianaharianja.blogspot.co.id/2013/04/hubungan-cloud-computing-dengan.html
https://ianspace.wordpress.com/2011/03/05/komputasi-modern/
http://istanateknologi.blogspot.co.id/2015/04/pengertian-komputasi-dan-teori-komputasi.html
http://bintorobagus.blogspot.co.id/2015/04/implementasi-komputasi-modern-pada.html