Selasa, 18 Maret 2014

Konsep Objek Terdistribusi dan Objek Interface



Sistem terdidtribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data, informasi, obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. Sementara Sistem komputer terdistribusi adalah sebuah sistem yang memungkinkan aplikasi komputer beroperasi secara terintegrasi pada lebih dari satu lingkungan yang terpisah secara fisis. Ciri khas sistem komputer terdistribusi adalah heterogenitas dalam berbagai hal: perangkat keras, sistem operasi, dan bahasa pemrograman.

Dalam membuat aplikasi client server, programmer masih harus membuat fungsi-fungsi yang sama untuk aplikasi yang berbeda. Kadang kala kode program yang sama digunakan dengan melakukan copy paste dan melakukan sedikit perubahan untuk menyesuaikan dengan aplikasi yang baru dibuat. Jika ada perubahan, fungsi tersebut dalam masing-masing aplikasi harus di update satu persatu lagi. Hal ini mengakibatkan perawatan program menjadi susah dan fungsi-fungsi tersebut dapat menjadi tidak konsisten satu sama lain.


  1. CORBA
Common Object Request Broker Architecture (CORBA) merupakan standar yang dikeluarkan oleh Object Management Group (OMG). CORBA didesain agar komponen cerdas diizinkan untuk dapat saling menjelajah satu dengan yang lain dan saling berinteraksi melalui suatu objek bus yang bernama ORB (Object Request Broker). Melalui ORB inilah objek–objek yang terletak di local atau di remote pada sistem terdistribusi berbasis CORBA saling berkomunikasi. Untuk mendefinisikan sistem berbasis CORBA terlebih dahulu kita harus mendefinisikan IDL (Interface Definition Language). 

CORBA dikatakan sebagai sebuah spesifikasi middleware yang ideal yang mendukung suatu sistem terdistribusi yang menerapkan teknologi berbasis objek, selain itu CORBA juga dikatakan sebagai suatu sistem yang terbuka, artinya bahwa teknologi CORBA merupakan sebuah standarisasi yang terbuka bagi siapasaja yang ingin menerapkan. Spesifikasi CORBA ini berisi sebuah spesifikasi  infrastruktur yang disebut Object Request Broker (ORB) yang memungkinkan aplikasi klien untuk dapat berkomunikasi dengan obyek secara remote. Spesifikasi ini meliputi antarmuka program, protokol komunikasi dan model obyek atau layanan yang memungkinkan aplikasi yang ditulis dengan berbagai macam bahasa pemrograman. Dengan adanya dua hal tersebut, pengembang dapat membangun sebuah aplikasi yang dapat berkomunikasi walaupun satu dengan yang lainnya menggunakan bahasa pemrograman yang berbeda.

CORBA membungkus kode program yang dibuat dengan bahasa pemrograman tertentu menjadi sebuah obyek yang ditambah dengan informasi mengenai kemampuan kode program dan cara mengaksesnya. Obyek tersebut dapat dipanggil oleh program lain melalui jaringan. CORBA menggunakan interface definition languange (IDL) untuk menunjukkan interface atau antarmuka yang dapat digunakan oleh program atau obyek lain. Dari IDL tersebut CORBA akan memetakannya ke implementasi yang lebih spesifik dari masing-masing bahasa pemrograman.

CORBA disusun oleh komponen-komponen utama :

  • ORB (Object Request Broker)
  •  IDL (Interface Definition Language)
  • DII (Dynamic Invocation Interface)
  •  OA (Object Adapter)
  •  IR (Interface Repositories)
Komponen CORBA pada sisi Client:

  • Client Application
  • Client IDL Stubs
  •  Dynamic Invocation Interface
  • Interface Repository
  • Client Side ORB Interface
  •  ORB Core
Komponen CORBA yang terletak di sisi Server

  • Server Side ORB Interface
  •  Static IDL Skeleton
  • Dynamic Skeleton Interface 4. Object Adapter
  • Server Side Implementation
   2. COM

Component Object Model (COM) adalah teknologi yang diciptakan oleh Microsoft untuk memungkinkan komunikasi antaraplikasi. Teknologi ini sudah  disediakan untuk beberapa platform tetapi kebanyakan digunakan untuk platform Windows. Teknologi ini sudah diperkenalkan oleh microsoft pada tahun 1993 tetapi baru populer pada tahun 1997. Perkembangan teknologi COM ini bermula dari teknologi OLE (Object Linking and Embedding) yang dibuat untuk memungkinkan aplikasi dapat saling bertukar data.

    3. DCOM

Pada tahun 1996 diperkenalkan Distributed Component Object Model (DCOM) sebagai jawaban Microsoft atas CORBA. DCOM dibandingkan dengan COM memiliki  kelebihan mampu untuk terdistribusi dan berkomunikasi antarkomponen melalui jaringan. DCOM dan CORBA saling berkompetisi untuk menjadi standar dalam distribusi komponen melalui internet. Namun dibalik kesulitan dalam hal keamanan, sebuah browser yang berjalan menggunakan teknologi http sudah dapat menggantikan teknologi tsb.

     4. RMI

Remote Method Invocation (RMI) adalah sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC. RMI menggunakan paradigma pemrograman berorientasi obyek (Object Oriented Programming). RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan dibolehkannya program Java memanggil method pada remote obyek, RMI membuat pengguna dapat mengembangkan aplikasi Java yang terdistribusi pada jaringan. RMI menyediakan mekanisme dimana server dan client berkomunikasi dan memberikan informasi secara timbal balik. Aplikasi semacam ini seringkali disebut aplikasi objek terdistribusi

Langkah-Langkah Pembuatan Program dengan RMI

Dalam RMI, semua informasi tentang satu pelayanan server disediakan dalam suatu definisi remote interface. Dengan melihat pada definisi interface, seorang pemrogram dapat memberitahukan method apa yang dapat dikerjakan oleh server, meliputi data apa yang diterima dan data apa yang akan dikirim sebagai tanggapan.
Definisi yang ada pada remote interface menentukan karakteristik methods yang disediakan server yang dapat dilihat oleh client. Client programmer harus dapat mengetahui methods apa yang disediakan server dan bagaimana memanggilnya langsung dengan melihat ke remote interface. Client mendapatkan referensi ke remote object melalui RMI registry.

Membangun suatu aplikasi terdistribusi menggunakan RMI meliputi 6 langkah. Keenam langkah tersebut adalah:
  • Mendefinisikan remote interface
  • Implementasi remote interface dan server
  • Pengembangan client (atau applet) yang menggunakan remote interface
  • Mengkompilasi source files dan mem-buat stub and skeletons
  • Memulai (start) RMI registry
  • Menjalankan server dan client
Artikel Terkait :
Arif Setianto
Hendy Pradana
Jaka Sudrajat
Mahin Aufa

Sumber :


 


Senin, 17 Maret 2014

Implementasi Komputasi



Komputasi sendiri sebenarnya dapat diartikan sebagai suatu cara yang digunakan untuk menemukan bagaimana pemecahan suatu masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan bagian dari ilmu komputer yang mempunyai tugas untuk menganalisa apa saja yang bisa dan tidak bisa dilakukan oleh secara komputasi, dari sini lah muncul Teori Komputasi yang menjadi sub-bidang ilmu komputer dan ilmu matematika.

Terdapat beberpa implementasi komputasi pada bidang ilmu sains, diataranya :

1.      Pada bidang Matematika
Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah - masalah matematika.

2.      Pada bidang Fisika
Terdapat Computational Physics yang mempelajari algoritma numerik untuk memecah kan teori kuantitatif fisika yang ada.

3.      Pada bidang Kimia
Terdapat Computational Chemistry yaitu penggunaan ilmu komputer untuk  membantu menyelesaikan masalah kimia, contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul.

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

5.      Pada 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.

 6.    Pada 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.

7.      Pada bidang  Sosiologi
Terdapat Computational Sosiology yaitu penggunaan metode komputasi dalam menganalisa fenomena sosial.

8.      Pada bidang  Biologi
Terdapat Bioinformatics merupakan aplikasi dari teknologi informasi dan   ilmu komputer dalam penelitian bidang biologi molekuler.

Banyak manfaat yang terjadi dengan adanya komputasi modern, diantaranya adalah: 

  • Perhitungan-perhitungan kompleks yang bisa mencapai ribuan data dapat dengan mudah dikerjakan manuisa dengan bantuan komputer. Hal ini tentunya dapat mengurangi waktu, biaya dan lain sebagainya.
  • Lahirnya komputer dapat membantu pekerjaan manusia, dalam berbagai bidang. Misalnya pada bidang kedokteran, pertanian, astronomi, teknologi, ekonomi dan lainnya. Bahkan komputer sekarang telah ada dalam hampir semua bidang di dunia ini.


Source :

Perkembangan Teori Komputasi



Definisi Komputasi ??

Komputasi sendiri sebenarnya dapat diartikan sebagai suatu cara yang digunakan untuk menemukan bagaimana pemecahan suatu masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan bagian dari ilmu komputer yang mempunyai tugas untuk menganalisa apa saja yang bisa dan tidak bisa dilakukan oleh secara komputasi, dari sini lah muncul Teori Komputasi yang menjadi sub-bidang ilmu komputer dan ilmu matematika.

Asal muasal komputasi sendiri adalah kebutuhan manusia untuk menghitung sebagai contoh dalam sistem barter sistem kalender dan lain lain. Seiring perkembangan zaman perhitungan manusia pun semakin kompleks dan banyak,  atas permasalahan tersebut  kebutuhan akan mesin penghitung makin dibutuhkan, maka lahirlah computer yang saat ini telah berkembang menjadi sebuah alat yang bisa melakukan banyak hal lebih dari sekedar perhitungan.

Pada saat ini penggunaan komputasi sendiri yaitu dengan menggunakan computer. Secara umum Ilmu Komputasi adalah bidang ilmu yang memiliki perhatian pada penyusunan model terkait dengan matematik dan teknik penyelesaian numeric serta penggunaan computer untuk menganalisis serta memecahkan masalah – masalah ilmu (sains). Dalam penggunaan praktis, biasanya komputasi digunakan dalam melakukan 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.

Perkembangan komputasi sendiri tidak terlepas dari adanya perkembanga panjang bit computer dan kecepatan yang terjadi pada komputasi itu sendiri.

Asal mula sebuah PC



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 :

  • 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:
  1. Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
  2. Sistem menggunakan standart dan protocol yang terbuka. 
  3. Sistem mencoba mencapai kualitas pelayanan yang canggi. yang lebih baik diatas kualitas komponen individe pelayan komputasi grid.
  • Cloud Computing
 Cloud Computing merupakan 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:
  1. Komputasi mobile menggunakan teknologi komputer yang bekerja seperti handphone, sedangkan komputasi grid dan cloud menggunakan komputer. 
  2. Biaya untuk tenaga komputasi mobile lebih mahal dibandingkan dengan komputasi grid dan cloud. 
  3. Komputasi mobile tidak membutuhkan tempat danmudah dibawa kemana-mana, sedangkan grid dan cloud membutuhkan tempat yang khusus.
  4. 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.
Source :