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 :
 



Selasa, 11 Maret 2014

Tantangan Sistem Terdistribusi

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. Sistem Terdistribusi juga dapat dikatakan sebagai sekumpulan komputer otonom yang  terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat  sebagai satu komputer.

Tantangan yang ada dalam Sistem Terdistribusi yaitu :
1. Keheterogenan komponen (heterogenity)
  • Suatu sistem terdistribusi dapat dibangun dari berbagai network, operation system, hardware dan  programming language yang berbeda.
  • IP dapat digunakan utk mengatasi perbedaan jaringan.
  • Middleware mengatasi perbedaan lainnya.
2. Keterbukaan

  • Mendukung extensibility.
  •  Setiap komponen memiliki antarmuka (interface), yang di-publish ke komponen lain.
  • Perlu integrasi berbagai komponen yang dibuat oleh programmer atau vendor yg berbeda. 
 3. Keamanan

  • Shared resources dan transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
  •  Cegah denial of service.
 4. Scalability
  • Penambahan pemakai membutuhkan penambahan resource yang konstan.
  •  Cegah bottleneck.
  • Jika perlu, gunakan replikasi.
5. Penanganan Kegagalan
  • Setiap proses (komputer atau jaringan) dapat mengalami kegagalan secara independen.
  •  Komponen lain harus tetap berjalan dengan baik.
  • E.g. failed branch in a distributed banking system.
6. Concurrency
  • Multiple users with concurrent requests to a shared resources.
  •  Setiap resource harus aman di lingkungan tersebut di atas.
7. Transparansi
Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebagai satu sistem saja.
  • Access transparency:
          Local & remote resources dapat diakses dengan operasi yang sama.

  • Location transparency:
          – Resource dapat diakses tanpa tahu di mana lokasinya.
          – Bagaimana pendapat Anda mengenai hyperlink & URL?
  • Concurrency transparency:
          – Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
          – Bagaimana jika beberapa pemakai secara bersamaan akan mengubah suatu berkas?
  • Replication transparency:
          Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
  • Failure transparency:
          Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
  • Mobility transparency:
          Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program.
  • Performance transparency:
          Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
  • Scaling transparency:
          Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

Artikel Terkait :
Definisi Sistem Terdistribusi
Karakteristik Sistem Terdistribusi
Model Sistem Terdistribusi
Permasalahan Sistem Terdistribusi

Referensi :
Adang Suhendra, Kuliah Sistem Terdistribusi 1 & 2
Budi Susanto, Pengantar Sistem Terdistribusi
Willy Sudiarto Raharjo, Pengantar Sistem Terdistribusi

Senin, 10 Maret 2014

Karakteristik Sistem Terdistribusi


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. Sistem Terdistribusi juga dapat dikatakan sebagai sekumpulan komputer otonom yang  terhubung ke suatu jaringan, dimana bagi pengguna sistem terlihat  sebagai satu komputer.



Karakteristik Sistem Terdistribusi
Hal yang diperhatikan dalam membangun sistem terdistribusi :
a. Transparency (Kejelasan)

  • Access transparency
          Local & remote resources dapat diakses dengan operasi yang sama.
  •  Location transparency
           Resource dapat diakses tanpa tahu di mana lokasinya.
  •   Migration (Mobility) transparency 
            Resource dan klien dapat berpindah tanpa mempengaruhi operasi pemakai atau program
  • Replication transparency
           Pemakai maupun pemrogram aplikasi tidak perlu mengetahui adanya replikasi resource, yang dapat meningkatkan kehandalan dan unjuk kerja.
  •  Concurency transparency
            Beberapa proses dapat sama-sama menggunakan suatu resource tanpa saling interferensi.
  •   Failure transparency
            Pemakai dan pemrogram aplikasi dapat menyelesaikan tugasnya walaupun ada kegagalan hardware atau software.
  •  Performance transparency
             Sistem dapat dikonfigurasi ulang untuk meningkatkan unjuk kerja, sejalan dengan perubahan beban sistem.
  •  Scaling transparency
            Sistem dan aplikasi mudah bertambah luas tanpa perubahan struktur sistem dan algoritma aplikasi.

b. Communication

Komponen pada sistem terdistribusi harus melakukan komunikasi dalam suatu urutan sebagai berikut :

  • Infrastruktur jaringan (interkoneksi dan software jaringan)
  •  Metode dan Model komunikasi yang cocok
           - Metode komunikasi : Send, Receive, Remote Procedure Call
 
           - Model Komunikasi : client - server communication, groupmulticast

c. Performance and Scalability

Faktor yang mempengaruhi kinerja (performance) :
  • Kinerja dari pada personal workstations
  • Kecepatan infrastruktur komunikasi
  • Fleksibilitas dalam membagi beban kerja
Scalability
Sistem tetap harus memperhatikan efesiensi walaupun terdapat penambahan secara signifikan user atau sumber daya yang terhubung :

  • Cost (biaya) penambahan sumber daya (resources) harus reasonable.
  • Penurunan kinerja (performance) diakibatkan oleh penambahan user atau sumber daya harus terkontrol.
d. Heterogenity

Aplikasi yang terdistribusi biasa berjalan dalam keberagaman :

  • Hardware : mainframes, workstations, PC’s, server dll.
  •  Software : UNIX, MS Windows, IMB OS/2, LINUX dll.
  • Devices : teller machine, robot, sistem manufacturing dll.
  • Network dan Protocol : Ethernet, FDDI, ATM, TCP/IP dll
Melihat keaneka ragaman di atas maka salah satu solusi yang bisa diterapkan adalah Middleware : berfungsi sebagai jembatan untuk komunikasi dan proses.

e. Opennes

Hal terpenting yang harus dimiliki oleh sistem terdistribusi adalah opennes (keterbukaan) dan flexibility (fleksibilitas) :

  • Setiap layanan (services) harus dapat diakses oleh semua user.
  •  Mudah dalam implementasi, install dan debug services.
  •  User dapat membuat dan menginstall service yang telah dibuat oleh user tersebut.
Aspek kunci pada opennes :
  • Interface dan Protocol yang standard (seperti protokol komunikasi di internet)
  •  Support terhadap keanekaragaman. (dengan membuat midleware seperti CORBA)

f. Reliability dan Fault Tolerance

Availability : kalau mesin mati (down), sistem tetap harus berjalan dengan jumlah layananan yang tersisa.
  • Komponen yang sangat vital (critical resources) berjumlah seminimal mungkin.
  • Software dan Hardware harus direplikasi : kalau terjadi kegagalan / error maka yang lain akan menangani.
  • Data dalam sistem tidak boleh hilang.copy file disimpan secara redundan pada server lain, tapi tetap harus dijaga konsistensi datanya. 
Fault Tolerance : Sistem harus bisa mendeteksi kegagalan dan melakukan tindakan dengan dasar sebagai berikut :
  • Mask the fault (menutupi kegagalan) : tugas harus dapat dilanjutkan dengan menurunkan kinerja tapi tanpa terjadi kehilangan data atau informasi.
  • Fail Gracefully : membuat suatu antisipasi terhadap suatu kegagalan ke suatu prosedur yang telah direncanakan dan memungkinkan untuk menghentikan proses dalam waktu yang  singkat tanpa menghilangkan informasi atau data.
g. Security

  • Confidentiality : keamanan terhadap data yang diakses oleh user yang tidak diperbolehkan (unauthorizes user)
  • Integrity : keamanan terhadap kelengkapan dan autentikasi data.
  • Availability : Menjaga agar resource dapat selalu diakses.
  • Hal lain yang harus dijamin dalam sistem terdistribusi : penggunaan rerources yang tepat oleh user yang berlainan.  


Referensi :
http://ade.staff.gunadarma.ac.id/Downloads/files/32064/01+Pengenalan+Sistem+Terdistribusi.pdf
http://www.akademik.unsri.ac.id/download/journal/files/gdr/Pendahuluan%20SisTer.ppt
http://lecturer.ukdw.ac.id/budsus/sil020304/sistemterdistribusi.pdf
http://sitialiyah.staff.gunadarma.ac.id/Downloads/files/11435/Week1+Pengantar+SisTer.pdf