Maju-maju Nankatsu...!

Maju-maju Nankatsu...!
_Tsubasa Kecil_

_Tsubasa Besar_

Jumat, 25 Februari 2011

KOMPUTASI TERDISTRIBUSI


Latar Belakang Komputasi Terdistribusi
Dalam komputasi terdistribusi, suatu program dipecah ke dalam bagian-bagian yang berjalan secara simultan (bersamaan) pada banyak komputer yang berkomunikasi di atas suatu jaringan. Komputasi terdistribusi merupakan suatu bentuk dari komputasi paralel, tetapi komputasi paralel sangat umum digunakan untuk menggambarkan bagian-bagian program yang berjalan secara simultan pada banyak prosesor dalam komputer yang sama. Kedua tipe pemrosesan iniy memerlukan pembagian suatu program ke dalam bagian-bagian yang berjalan secara bersamaan, tetapi program-program terdistribusi sering harus berhadapan dengan lingkungan yang heterogen, link jaringan dengan latency bervariasi, dan kegagalan yang tidak dapat diprediksi, baik di dalam jaringan maupun komputer.
Pengaturan interaksi antar komputer yang mengeksekusi komputasi terdistribusi merupakan pekerjaan utama. Agar mampu memanfaatkan berbagai jenis komputer, maka protokol atau saluran komunikasi sebaiknya tidak mengandung atau menggunakan suatu informasi yang tidak dapat dipahami oleh mesin tertentu. Sistem harus dapat memastikan messages benar-benar tersampaikan dengan benar, juga saat messages invalid maka sistem harus melakukan langkah-langkah antisipasi. Jika ini tidak ditangani kemungkinan akan menyebabkan sistem down dan berbagai aktifitas berikutnya di dalam jaringan akan ditolak (reject). Faktor penting lain adalah kemampuan untuk men-deploy software ke komputer lain secara portable sehingga memungkinkan eksekusi dan interaksi dengan jaringan yang telah ada. Ini mungkin tidak akan praktis ketika mengunakan hardware dan sumber daya berbeda, dimana kita harus memikirkan cara lain seperti cross-compiling atau melakukan porting software tersebut secara manual.
Pada sistem client-server dengan server tunggal, server akan memiliki beban yang semakin berat jika semakin banyak aplikasi yang ada di server dan semakin banyak client yang me-request aplikasiaplikasi tersebut. Salah satu solusi untuk bisa mengatasi masalah tersebut adalah dengan memanfaatkan sistem komputasi terdistribusi. Dalam sistem ini, aplikasi-aplikasi akan didistribusikan secara fisik maupun logik. Secara fisik, aplikasi akan didistribusikan ke beberapa mesin, sehingga server akan merupakan sebuah kesatuan yang terdiri dari beberapa mesin. Salah satu deskripsi sederhana untuk menjelaskan sistem terdistribusi ini adalah sistem layanan nasabah di sebuah bank. Teler ibarat sebuah server yang digunakan untuk melayani berbagai macam transaksi, seperti stor tabungan, transfer, dan pengambilan tabungan. Transaksi-transaksi itu bisa dianggap sebagai aplikasi-aplikasi yang bisa dilakukan oleh sebuah server. Jika nasabah yang antri untuk dilayani semakin banyak sementara teler hanya satu orang, maka beban teler akan berat, antrian akan sangat lama untuk bisa dilayani semua. Solusinya adalah dengan menambah beberapa teler, sehingga antrian bisa didistribusikan ke beberapa teler itu. Dalam konteks sistem terdistribusi secara logik, sistem akan dibagi-bagi berdasarkan aplikasi logik, sistem model ini tidak memandang apakah setiap aplikasi itu berada di mesin yang sama atau berbeda. Untuk membangun aplikasi komputasi terdistribusi, maka memerlukan framework yang bisa mendukung integrasi dari beberapa aplikasi. Salah satu framework yang digunakan (dan yang akan dipakai) dalam tulisan ini adalah arsitektur CORBA (Common Object Request Broker Architecture).

Definisi Komputasi Terdistribusi
Dalam memahami komputasi terdistribusi (distributed computing) dapat dilakukan dengan berbagai macam cara. Salah satu defenisi sederhana dari komputasi terdistribusi adalah proses berjalannya sebuah aktifitas komputasi yang dilakukan oleh lebih dari satu komputer yang berbeda. Pemahaman lain tentang komputasi terdistribusi adalah sebuah distribusi sebagian dari sebuah sistem informasi melalui banyak sistem komputer di banyak lokasi (Burd: 2003) 
 Sistem terdisitribusi juga merupakan kumpulan autonomous computers yang terhubung melalui sistem jaringan computer dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas computer terintegrasi.
Sekarang ini banyak sekali produk-produk yang pasarkan juga telah banyak proyek yang mengembangkan apa yang disebut Komputasi Terdistribusi ini, yaitu pengembangan sebuah arsitektur system yang menciptakan adanya distribusi proses data antar jaringan system yang tersambung. Sebagai contoh proyek adalah proyek Seti@Home, sebuah proyek yang berupaya mengungkap adanya kehidupan yang centas (ET) di luar angkasa. Proyek lain yang dikembangkan saat ini dan dikembangkan dengan metode komputasi terdistribusi ( Brain H.Rudal, 2005), diantaranya;
a. Einstain@home, sebuah proyek yang mengungkap tentang teori Einstain tentang grafitasi serta hokum relativitas yang sampai saat ini belum bisa dibuktikan;
b. Brain Fingerprinting, sebuah proyek amerika yang akan membuat system yang dapat mengungkap informasi yang ada pada otak manusia;
c. Climate model forecast future, ini merupakan proyek yang akan memproyeksikan kondisi cuaca dunia akibat efek rumah kaca.
Dengan system ini kondisi cuaca bumi hingga setengah abad kemudian dapat segera diprediksi. Komputasi terdistribusi ini banyak diminati disebabkan metode ini lebih efiein, yaitu memanfaatkan kondisi idle/diamnya sebuah proses kerja CPU, media penyimpanan yang terdapat pada ratusan maupun ribuan sistem komputer yang terkoneksi yang bekerja bersama-sama menyelesaikan satu pekerjaan. Walaupun masih banyak kelemahan, seperti terbatasnya aplikasi untuk kompilasi, maupun 'bottleneck' pada jalur bandwith, ditambah lagi masalah keamanan serta standarisasi juga merupakan masalah lain yang tidak dapat diabaikan.
Beberapa perusahaan telah bertahun-tahun membuat dan memasarkan sistem komputasi terdistribusi, dan juga telah mengembangkan berbagai macam inisiatif dan arsitektur sehingga memungkinkan adanya pendistribusian proses data dan obyek lintas jaringan system yang terkoneksi. Hal yang menarik dari sebuah komputasi terdistribusi telah ditemukan dan dirasakan pada perkembangannya yang terakhir. Dan ini akan menjadi fokus pembahasan di mana terdapat mengkondisikan 'idle'nya sebuah CPU, media penyimpanan dalam ratusan bahkan ribuan system yang terkoneksi untuk bersama-sama menyelesaikan satu permasalahan tertentu.
Perkembangan model pemprosesan tertentu sangat lah terbatas, sehingga kompilasi aplikasi, kondisi 'bottlenecks' pada bandwith, ditambah lagi tingkat keamanan, standarisasi menjadi sebuah tantangan sendiri. Pada tahun terakhir beberapa perusahaan seperti Napster, Intel, Microsoft, Sun dan Compaq akhirnya dapat berupaya menyelesaikan permasalahan di atas, yaitu bagaimana menjadikan komputasi terdistribusi ini menjadi sebuah konsep yang cerdas dalam perkembangan system informasi modern.
Dalam perkembangannya, untuk memahami konsep komputasi terdistribusi dapat dilakukan pembandingan dengan berbagai macam konsep lain yang masing-masing memiliki karakteristik yang berbeda, diantaranya adalah cluster computing dan grid computing.

Cara Kerja Komputasi Terdistribusi
Cara kerja komputasi terdistribusi adalah beban kerja akan didistribusikan ke komputer-komputer yang terhubung untuk diselesaikan dimana semua itu dikendalikan oleh suatu sistem operasi. Pengguna hanya cukup melakukan pengaturan sistem operasi, kemudian sistem operasilah yang akan melakukan tugasnya mengorganisasi kemampuan dan tugas ke komputer-komputer itu.
Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya.
Tujuan lain yang ingin dicapai dalam komputasi terdistribusi adalah transparansi. Kenyataan bahwa sumber daya yang dipakai oleh pengguna sistem terdistribusi berada pada lokasi fisik yang terpisah, tidak perlu diketahui oleh pengguna tersebut. Transparansi ini memungkinkan pengguna sistem terdistribusi untuk melihat sumber daya yang terpisah tersebut seolah-olah sebagai satu sistem komputer tunggal, seperti yang biasa digunakannya.

Proses
·         Dijalankan secara bersamaan (execute concurrently)
·         interaksi untuk bekerjasama dalam mencapai tujuan yang sama
·         mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan yang dikirim melalui jaringan komunikasi

Karakteristik Komputasi Terdistribusi
Ciri khas dari komputasi terdistribusi adalah heterogenitas dalam berbagai hal seperti perangkat keras, sistem operasi, dan bahasa pemrograman karena tidak mungkin untuk mengembangkan sistem terdistribusi yang homogen secara paksaan, karena secara alamiah sistem komputer terdistribusi tumbuh dari lingkungan yang heterogen. Kata kunci dalam menjembatani perbedaan-perbedaan yang muncul adalah interoperabilitas (interoperability).
Ciri lain dari komputasi terdistribusi adalah dimana pemakai tidak perlu menyadari komputer mana yang bekerja untuk melaksanakan tugas komputasi. Ibaratnya, pemakai ingin ini dan mendapat hasil komputasi yang diingkan tanpa memandang oleh siapa pekerjaan itu dikerjakan. Semua alokasi sumber daya dan penanganan kerja dikendalikan oleh sistem operasi. Dicirikan pula menggunakan banyak komputer yang saling terhubung dalam suatu jaringan komputer, untuk melakukan komunikasi proses antar komputer yang bekerja.

Kegunaan Komputasi Terdistribusi
Kegunaan komputasi terdistribusi antara lain adalah untuk membantu manusia dalam melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, memperlancar pelayanan situs web yang sering dikunjungi, pengetesan algoritma misal dalam benchmarking masalah-masalah yang berkaitan dengan algoritma genetika, pendukung server basis data yang besar dan banyak client pengaksesnya, dan lain sebagainya. Seperti diketahui bahwa kebutuhan manusia akan komputasi yang cepat dan akurat yang tidak dapat ditangani oleh sebuah mesin komputer misal perhitungan dalam peramalan posisi benda langit di lembaga penelitian luar angkasa. Selain itu digunakan pula untuk menangani beban permintaan yang besar semisal search engine agar mampu menangani ribuan request serentak tanpa mengalami gangguan penundaan pelayanan, contohnya Google yang memiliki komputer cluster terbesar didunia.

Dampak Komputasi Terdistribusi
Komputasi terdistribusi memiliki dampak baik dan buruk bagi kehidupan umat manusia antara lain manusia lebih mudah dan lebih cepat untuk mendapatkan informasi yang mereka inginkan, membantu manusia untuk melakukan perhitungan yang sangat besar supaya dapat diselesaikan dengan cepat, tepat dan akurat, membantu perusahaan-perusahaan besar dalam masalah basis data perusahaan, dan lain sebagainya. Selain itu sistem komputasi terdistribusi juga memiliki dampak yang kurang baik karena membuat manusia semakin tergantung kepada komputer atau mesin, komputasi terdistribusi juga sering disalahgunakan untuk hal-hal yang kurang baik atau untuk kejahatan, dan penggunaan komputasi terdistribusi oleh personal kadang kala menjadi suatu pemborosan karena mereka tidak memiliki masalah sebesar perusahan atau institusi.
Selain itu, dampak dengan adanya komputasi terdistribusi adalah mempercepat penyelesaian tugas oleh komputer. Karena pengerjaannya paralel oleh karena itu dapat selesai dengan cepat dan dapat mengatur beberapa komputer dengan sistem operasi. Dampak yang paling terasa adalah pada bidang animasi. Jika pada saat merender suatu video animasi yang berdurasi panjang dengan menggunakan 1 komputer maka penikmat film akan dapat menonton film animasi tersebut beribu-ribu tahun lamanya. Dengan komputasi terdistribusi dapat dipercepat proses renderingnya dengan membagikan tugas-tigas kesetiap komputer yang saling terhubung.

Kelebihan & Kekurangan Komputasi Terdistribusi
Kelebihan
1)      Terdapat berbagai tipe sistem komputer terdistribusi dan banyak tantangan selama perancangan dan implementasinya. Tujuan utama dari sistem komputasi terdistribusi adalah untuk menghubungkan para pengguna dan sumber daya dalam cara yang transparent, open dan scalable. Idealnya, ini akan membuat sistem lebih fault-tolerant daripada sistem komputer stand-alone.
2)      Openness merupakan properti dari sistem terdistribusi dimana setiap sub-sistem secara kontinu terbuka untuk berinteraksi dengan sistem lain. Protokol web services adalah standard yang memungkinkan sistem terdistribusi di-extend dan di-scale. Secara umum, suatu sistem terbuka yang bersifat scalable memberikan keuntungan lebih dibandingkan sistem yang tertutup dan self-contained (menyatu).
3)      Konsekuensinya, sistem terdistribusi terbuka memberikan beberapa tantangan berikut:
4)      Monotonicity. Begitu sesuatu dipublikasikan di dalam sistem terbuka (open system) maka tidak dapat diambil kembali.
5)      Pluralism. Sub-sistem-subsistem berbeda dalam sistem open distributed dapat mempunyai informasi yang heterogen, mungkin pula overlap dan menyebabkan konflik. Tidak ada pengatur kebenaran sentral dalam sistem open distributed.
6)      Unbounded nondeterminism. Secara asinkron, subsistem-subsistem dapat naik dan turun, dan link komunikasi dapat masuk dan keluar antar sub-sistem dalam sistem open distributed. Karena itu, waktu yang diperlukan untuk menyelesakan suatu operasi tidak dapat dibatasi dan dipastikan.
7)      Pembagian sumber daya antar komputer dibuat lebih mudah
8)      Menyediakan kinerja yang baik dengan mendistribusikan beban kerja ke komputer-komputer dan mengerjakan bagian dari pekerjaan itu secara bersamaan pada beberapa processor
9)      Menjadikan sistem keseluruhan lebih handal, karena kegagalan yang terjadi pada salah satu komponen dapat ditangani oleh komponen yang setingkat lainnya

Kekurangan
1)      Jika tidak direncanakan dengan tepat, suatu distributed system dapat menurunkan reliabilitas total dari komputasi jika ketidak-tersediaan dari suatu node dapat menyebabkan gangguan bagi node-node lain. Troubleshooting dan diagnosing terhadap masalah dalam distributed system dapat menjadi lebih sulit, karena perlu analisis yang berkaitan dengan node jauh atau menginspeksi komunikasi antar node di dalam sistem.
2)      Banyak tipe komputasi tidak cocok bagi lingkungan terdistribusi, biasanya yang berhubungan dengan jumlah komunikasi jaringan atau sinkronisasi yang dibutuhkan antar node. Jika bandwidth, latency, atau persyaratan komunikasi begitu signifikan, maka tidak ada keuntungan dari distributed computing dan kinerja dapat lebih burukk daripada lingkungan non-distributed.
3)      Penggunaan energi yang digunakan untuk menghidupkan komputer-komputer yang digunakan sebagai “cluster”
4)      Peralatan pendukung lainnya misalkan piranti jaringan yang digunakan untuk menghubungkan antar komputer

5)      Delay komunikasi yang terjadi tidak dapat diprediksi karena melibatkan banyak komponen serta tidak adanya referensi clock yang universal yang dapat dijadikan system clock

Pentingnya Komputasi Terdistribusi
 Contoh Umum:
§  Internet, global jaringan interkoneksi computer yang berkomunikasi melalui IP (Internet Protocol) Protocol;
§  Intranet, jaringan teradministrasi terpisah dengan batasan pada kebijakan keamanan local;
§  Mobile dan komputasi diberbagai tempat, laptops, PDA, mobile phone, printers, peraltan rumah, dll
§  World Wide Web (www), sistem untuk publikasi dan akses sumber daya dan layanan melalui Internet.

Arsitektur Komputasi Terdistribusi
Banyak arsitektur perangkat lunak dan keras yang bervariasi yang digunakan untuk komputasi terdistribusi. Pada tingkat yang lebih rendah, penghubungan beberapa CPU dengan menggunakan jaringan sangat dibutuhkan. Pada tingkat yang lebih tinggi menghubungkan proses yang berjalan dalam CPU tersebut dengan sistem komunikasi juga dibutuhkan.
Arsitektur umum yang memungkinkan sistem terdistribusi antara lain:
  • klien-server: klien menghubungi server untuk pengambilan data, kemudian server memformatnya dan menampilkannya ke pengguna.
  • arsitektur 3-tier: Kebanyakan aplikasi web adalah 3-Tier.
  • arsitektur N-tier: N-Tier biasanya menunjuk ke aplikasi web yang menyalurkan lagi permintaan kepada pelayanan enterprise. Aplikasi jenis ini paling berjasa bagi kesuksesan server aplikasi.
  • Tightly coupled: biasanya menunjuk kepada satu set mesin yang sangat bersatu yang menjalankan proses yang sama secara paralel, membagi tugas dalam bagian-bagian, dan kemudian mengumpulkan kembali dan menyatukannya sebagai hasil akhir.
  • Peer-to-peer: sebuah arsitektur di mana tidak terdapat mesin khusus yang melayani suatu pelayanan tertentu atau mengatur sumber daya dalam jaringan. Dan semua kewajiban dibagi rata ke seluruh mesin, yang dikenal sebagai peer.
  • Service oriented di mana sistem diatur sebagai satu set pelayanan yang dapat diberikan melalui antar-muka standar.
  • Mobile code: berdasarkan prinsip arsitektur mendekatkan pemrosesan ke sumber data
  • Replicated repository: Di mana repository dibuat replikanya dan disebarkan ke dalam sistem untuk membantu pemrosesan online/offline dengan syarat keterlambatan pembaharuan data dapat diterima.
  • Space based : Mengacu ke suatu infrastruktur yang membuat ilusi atau virtualisasi dari satu ruang-alamat (address-space) tunggal. Data secara transparan direplikasi sesuai dengan kebutuhan aplikasi.
 Aspek dasar yang lain dari arsitektur komputasi terdistribusi adalah metode untuk mengkomunikasikan dan mengkoordinasi kerja antar proses-proses konkuren. Melalui berbagai protokol message passing, proses dapat berkomunikasi secara langsung dengan yang lain, umumnya dalam suatu hubungan master/slave. Sebagai alternatif, suatu arsitektur “database-centric” memungkinkan (enable) komputasi terdistribusi dikerjakan tanpa suatu bentuk komunikasi inter-process langsung, menggunakan suatu database bersama (shared database).

Infrastruktur Komputasi Terdistribusi
Ø  Moab Grid Suite — Cluster workload management, reporting tools, and end user submission portal
Ø  Remote procedure call — This high-level communication mechanism allows processes on different machines to communicate using procedure calls even though they don't share the same address space.
Ø  Distributed objects — Systems like CORBA, Microsoft D/COM, Java RMI, ReplicaNet [1]
Ø  SOAP
Ø  XML-RPC
Ø  GLOBE
Ø  Acute [2] — Distributed functional programming with migration based on OCaml.
Ø  PYRO — Python Remote Objects
Ø  BOINC — Berkeley Open Infrastructure for Network Computing
Ø  GLOBUS — Home of the Globus Toolkit

Konkurensi
Komputasi terdistribusi mengimplementasikan suatu jenis konkurensi. Ini berhubungan erat dengan pemrograman konkuren, sehingga kadang tidak dibicarakan sebagai topik terpisah.

o   Sistem Multiprocessor
Sistem multiprocessor adalah suatu komputer yang mempunyai lebih dari satu CPU pada motherboardnya. Jika sistem operasi dibangun untuk memanfaatkan kelebihan ini, maka SO tersebut dapat menjalankan proses-proses berbeda (atau thread-thread berbeda yang dimiliki oleh proses yang sama) pada CPU-CPU berbeda.

o   Sistem Multicore
CPU-CPU Intel dari era Pentium 4 terbaru (Northwood dan Prescott) menerapkan suatu teknologi bernama Hyper-threading yang memungkinkan lebih dari satu thread (biasanya dua) untuk berjalan pada CPU yang sama. Produk processor yang lebih baru seperti Sun UltraSPARC T1, AMD Athlon 64 X2, AMD Athlon FX, AMD Opteron, Intel Pentium D, Intel Core, Intel Core 2 dan Intel Xeon menyertakan banyak core processor juga untuk meningkatkan jumlah thread yang dapat dieksekusi.

o   Sistem Multicomputer
Multicomputer dapat dianggap berupa suatu komputer NUMA loosely atau cluster yang tightly coupled. Multicomputer biasanya digunakan ketika diperlukan power komputasi tinggi tetapi lingkungan mempunyai ruang fisik atau tenaga listrik terbatas.

Topik Terkait
o   Taksonomi Komputasi
Tipe-tipe dari sistem terdistribusi didasarkan pada sistem taksonomi Flynn; single instruction, single data (SISD), single instruction, multiple data (SIMD), multiple instruction, single data (MISD), dan multiple instruction, multiple data (MIMD).

o   Cluster Komputer
Suatu cluster terdiri dari banyak mesin stand-alone yang bertindak secara paralel melintasi suatu jaringan lokal berkecepatan tinggi. Komputasi terdistribusi berbeda dengan komputasi cluster dalam hal komputer-komputer dalam suatu lingkungan komputasi terdistribusi umumnya tidak secara eksklusif menjalankan tugas-tugas “group”, sedangkan komputer-komputer tercluster biasaya lebih tightly coupled. Komputasi terdistribusi juga sering terdiri dari mesin-mesin yang tersebar luas secara geografis.

o   Komputasi Grid
Suatu grid menggunakan sumber daya dari banyak komputer terpisah, dengan bebas dihubungkan oleh suatu jaringan (bisanya Internet), untuk menyelesaikan masalah-masalah komputasi skala besar. Grid-grid publik dapat menggunakan idle time dari ribuan komputer di dunia. Aransemen demikian memungkinkan penanganan data sangat besar, proses yang sebenarnya memerlukan power super komputer mahal atau memang tidak mungkin diselesaikan. Bahasa Pemrograman

Hampir semua bahasa pemrograman yang mempunyai akses ke hardware dapat menangani pemrograman terdistribusi. Remote procedure call (RPC) mendistribusikan perintah-perintah SO melalui koneksi jaringan. Sistem seperti CORBA, Microsoft DCOM, Java RMI dan lain-lan, mencoba memetakan rancangan berorientasi obyek ke jaringan. Sistem loosely coupled berkomunikasi melalui dokumen-dokumen antara yang umumnya human readable (seperti. XML, HTML, SGML, X.500, dan EDI).

Contoh
Berbagai proyek komputasi terdistribusi telah tumbuh pada dalam tahun-tahun terakhir. Banyak yang basis volunteer, dan melibatkan pengguna-pengguna yang mendonasikan power komputasi yang tidak digunakan untuk bekerja pada masalah komputasi yang menarik. Contoh proyek demikian termasuk proyek Folding@home di Jurusan Kimia universitas Stanford, yang difokuskan pada simulasi protein folding untuk menemukan obat penyakit dan memahami sistem biophysical; World Community Grid, suatu usaha untuk membuat grid komputasi terbesar di dunia untuk menangani proyek penelitian ilmiah yang bermanfaat bagi kemanusiaan, berjalan dan didanai oleh IBM; SETI@home, difokuskan pada analisis data radio-telescope untuk mendapatkan bukti sinyal cerdas dari angkasa, dikelola oleh Space Sciences Laboratory di University of California, Berkeley; LHC@home, digunakan untuk membantu merancang dan men-tune Large Hadron Collider, dikelola oleh CERN di Geneva; dan distributed.net yang bertitik-berat pada pemecahan berbagai cryptographic cipher.
Suatu proyek komputasi terdistribusi juga sering melibatkan kompetisi dengan sistem terdistribusi lain. Kompetisi ini dapat bertujuan prestige, atau bermaksud membujuk pengguna untuk mendonasikan power pemrosesan ke proyek tertentu. Sebagai contoh, stat races adalah ukuran kerja suatu proyek komputasi terdistribusi, berapa kemampuan komputasi selama sehari atau seminggu. Ini telah menjadi begitu penting dalam praktek, hampir semua proyek komputasi terdistribusi menawarkan analisis statistik online dari kinerja mereka, diupdate setidaknya harian jika tidak real-time.

Kesimpulan
Komputasi terdistribusi adalah proses berjalannya sebuah aktifitas komputasi yang dilakukan oleh lebih dari satu komputer yang berbeda. Sistem terdistribusi merupakan kumpulan autonomous computers yang terhubung melalui sistem jaringan computer dan dilengkapi dengan sistem software tedistribusi untuk membentuk fasilitas computer terintegrasi. Cara kerjanya adalah beban kerja akan didistribusikan ke komputer-komputer yang terhubung untuk diselesaikan dimana semua itu dikendalikan oleh suatu sistem operasi. Pengguna hanya cukup melakukan pengaturan sistem operasi, kemudian sistem operasilah yang akan melakukan tugasnya mengorganisasi kemampuan dan tugas ke komputer-komputer itu. Tujuan dari komputasi terdistribusi adalah menyatukan kemampuan dari sumber daya (sumber komputasi atau sumber informasi) yang terpisah secara fisik, ke dalam suatu sistem gabungan yang terkoordinasi dengan kapasitas yang jauh melebihi dari kapasitas individual komponen-komponennya. Komputasi terdistribusi memiliki dampak baik dan buruk bagi kehidupan umat manusia sesuai dengan kelebihan dan kekurangannya.

 Daftar Pustaka





KOMPUTASI MODERN


 Sejarah Komputasi Modern
Pada paruh pertama abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern.
George stibitz secara internasional diakui sebagai ayah dari komputer digital modern. Sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model k" (untuk "meja dapur", di mana dia telah berkumpul itu), yang adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk aritmatika dan kemampuan pemrograman kompleks. Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957).
Konsep dasar arsitektur komputer modern adalah konsep sebuah sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory. Konsep ini pertama kali digagasi oleh John Von Neumann. Beliau di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Karya – karya yang dihasilkan adalah karya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.

John Von Neumann, Sang Penggagas Komputasi Modern
John von Neumann (1903-1957) adalah ilmuan yang meletakkan dasar-dasar komputer modern. Dalam hidupnya yang singkat, Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann meningkatkan karya-karyanya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu.
Von Neumann dilahirkan di Budapest, Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Setelah bergelar doktor dalam ilmu hukum, dia menjadi pengacara untuk sebuah bank. Pada tahun 1903, Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi.
Von Neumann juga belajar di Berlin dan Zurich dan mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Keahlian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.
Setelah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton serta menjadi salah satu pendiri Institute for Advanced Studies.
Dipicu ketertarikannya pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Sebagai konsultan pada pengembangan ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.
Berikut ini beberapa contoh komputasi modern sampai dengan lahirnya ENIAC :
o   Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
o   Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
o   Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman.
o   The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.
o   Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan padatahun 1941).

·         Tahun 1940 komputer yang semula dikhususkan sebagai instrument untuk science, berubah menjadi produk komersil.
·         Tahun 1945 di temukan Bug Komputer oleh Grace Murray Hopper
·         Tahun 1947 tanggal 23 Desember ditemukan transistor yang pertama kali oleh Bardeen dan Walter Brattain bersama dengan William Shockley
·         Tahun 1951 dimulai sebuah gagasan microprogramming oleh Maurice Wilkes
·         Tahun 1951-1952 Grace Murray Hopper mengembangkan A-O, yang merupakan compiler pertama.
·         Tahun 1957 John Backus dan kolega IBM mengirimkan Compiler Fortran yang pertama.
·         Tahun 1958 Jack Kilby menghasilkan prototype semiconductor IC
·         Tahun 1960 merupakan timbulnya system kecil seperti word length, register structure, Number of Addresses, I/O channel, Floating point hardware.
·         Tahun 1960 juga Paul Baran yang bekerja di Rand Corp. menemukan dasar packet switching untuk data komunikasi.
·         Tahun 1962 video game pertama kali di temukan oleh Steve Russell yang merupakan seorang lulusan MIT.
·         Tahun 1964 mouse ditemukan oleh Doug Engelbart.
·         Tahun 1969 munculnya internet oleh DARPA
·         Tahun 1970 merupakan kedatangan PC (personal computer).
·         Tahun 1970 ditemukan UNIX oleh Dennis Ritchie dan Kenneth Thomson.
·         Pada tahun 1970 juga floppy disk dan daisywheel printer di tunjukkan kepada umum (debut pertama).
·         Tahun 1971 Ray Tomlinson of Bolt Beranek dan Newmen pertama kali mengirimkan jaringan surat e-mail.
·         Tahun 1971 Niklaus Wirth menemukan Pascal
·         Tahun 1972 di temukan bahasa C oleh Dennis Ritchie di Bell Labs.
·         Tahun 1973 Robert Metcalfe menuliskan catatan di “Ether Acquisition” yang mendeskripsikan Ethernet.
·         Tahun 1973 Robert Metcalfe dan David Boggs menemukan Ethernet.
·         Tahun 1976 merupakan tahun pertama kalinya muncul supercomputer dengan vektorial arsitektur.
·         Tahun 1976, Steve Jobs dan Steve Wozniak mendesain dan membangun Apple I yang terdiri dari kebanyakan papan circuit.
·         Tahun 1977, Steve Jobs dan Steve Wozniak tergabung dalam Apple computer pada 3 januari.
·         Tahun 1978, Muncul MS
·         Tahun 1978, Wordstar yang merupakan software pengolah kata diperkenalkan dan meluas.
·         Tahun 1979 telepon seluler di test di Jepang dan Chicago.
·         Tahun 1980 IBM memilih PC-DOS dari Microsoft sebagai OS (Operating System)
·         Tahun 1980 bahasa Ada muncul yang di temukan oleh Departemen Pertahanan US.
·         Tahun 1980 portable computer seberat 24 pounds lahir.
·         1 januari 1983, muncul TCP/IP
·         Tahun 1984, muncul Apple Macintosh
·         Tahun 1984, muncul DNS
·         Tahun 1985 menyebarnya sistem networking.
·         Tahun 1990 tim Barners Lee Menemukan WWW yaitu aplikasi internet yang membawa perkembangan dan perubahan besar di dunia internet.
·         Tahun 1991 Trovalds menempatkan UNIX di IBMnya.
·         Tahun 1992 muncul istilah surfing
·         Tahun 1993 pentium milik intel diperkenalkan kepada umum pada bulan Maret
·         Tahun 1993 muncul NSCA Mosaic
·         Tahun 1994 muncul Yahoo dan Netscape Navigator 1.0
·         Tahun 1995 muncul bahasa pemrograman Java pada bulan Mei.
·         Pada Desember 1994 maka Spyglass milik Microsoft telah dibayar dan diberi lisensi, sehingga untuk web browser yang nantinya nama spyglass tersebut akan diganti dengan nama Internet Explorer.
·         Pada 1995 spyglass sudah menjadi bagian dari OS dan bagian dari windows

Definisi Komputasi Modern
Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental dan kadang-kadang menggunakan tabel. Karena perkembangan jaman maka komputasi sekarang menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern. Komputasi modern digunakan untuk memecahkan masalah yang ada, perhitungan komputasi modern yaitu seperti :
§  Akurasi (bit, floating point)
§  Kecepatan (dalam satuanHz)
§  Problem volume besar (paralel)
§  Modeling (NN dan GA)
§  Kompleksitas (menggunakan Teori Bog O)

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.
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.
Teknologi komputasi adalah aktivitas penggunaan dan pengembangan teknologi komputer, perangkat keras, dan perangkat lunak komputer. Ia merupakan bagian spesifik komputer dari teknologi informasi.
Pengertian Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi juga bisa diartikan sebagai cara untuk menyelesaikan sebuah masalah dariinputan data dengan menggunakan algoritma.

Karakteristik Komputasi Modern
Karakteristik komputasi modern ada 3 macam, yaitu :
1)      Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
2)      Komputer-komputer terhubung ke jarinagn yang luas dengan kapasitas bandwidth yang beragam.
3)      Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Jenis-jenis Komputasi Modern
Jenis-jenis komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

1.      Mobile computing
Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel.
Dan berdasarkan penjelasan tersebut, untuk kemajuan teknologi ke arah yang lebih dinamis membutuhkan perubahan dari sisi manusia maupun alat. Dan dapat dilihat contoh dari perangkat komputasi bergerak seperti GPS, juga tipe dari komputasi bergerak seperti smart phone, dan lain sebagainya.

2.      Grid computing
Komputasi grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelasaikan masalah komputasi skala besar.
Ada beberapa daftar yang dapat dugunakan untuk mengenali sistem komputasi grid, adalah :
Ø  Sistem untuk koordinat sumber daya komputasi tidak dibawah kendali pusat.
Ø  Sistem menggunakan standard dan protocol yang terbuka.
Ø  Sistem mencoba mencapai kualitas pelayanan yang canggih, yang lebih baik diatas kualitas komponen individu pelayanan komputasi grid.

3.      Cloud computing
Komputasi cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.
Komputasi cloud menggambarkan pelengkap baru, konsumsi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber daya virtual yang sering menyediakan layanan melalui internet.

Berikut ini adalah perbedaan dan persamaan komputasi mobile, komputasi grid dan komputasi cloud.
Perbedaan antara komputasi mobile, komputasi grid dan komputasi cloud :
  •  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 dan mudah 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.

Persamaan antara komputasi mobile, komputasi grid, dan komputasi cloud :
* Ketiganya merupakan metode untuk melakukan komputasi, pemecahan masalah, dan pencarian solusi.
* Ketiganya memerlukan alat proses data yang modern seperti komputer, laptop atau telepon genggam untuk menjalankannya.

Dampak Adanya Komputasi Modern
Dampak dari adanya komputasi modern adalah dapat membantu manusia untuk menyelesaikan masalah-masalah yang kompleks dengan menggunakan komputer. Salah satu contohnya adalah biometric. Biometric berasal dari kata Bio dan Metric. Kata bio diambil dari bahasa yunani kuno yang berarti Hidup sedangkan Metric juga berasal dari bahasa yunani kuno yang berarti ukuran, jadi jika disimpulkan biometric berarti pengukuran hidup.
Tapi secara garis besar biometric merupakan pengukuran dari statistic analisa data biologi yang mengacu pada teknologi untuk menganalisa karakteristik suatu tubuh (individu). Dari penjelasan tersebut sudah jelas bahwa Biometric menggambarkan pendeteksian dan pengklasifikasian dari atribut fisik. Terdapat banyak teknik biometric yang berbeda, diantaranya :
o   Pembacaan sidik jari / telapak tangan
o   Geometri tangan
o   Pembacaan retina / iris
o   Pengenalan suara
o   Dinamika tanda tangan.

Dan menurut Don Tapscott (1995) dalam bukunya yang berjudul “The Digital Economy : Promise and Peril In The Age of Networked Intelligence” menggambarkan bagaimana dampak teknologi komputasi pada kehidupan manusia. Aplikasi teknologi kurang sempurna tanpa dukungan mesin pintar yang berkemampuan analitik. Kehadiran teknologi komputasi yang semakin canggih telah merubah gaya hidup manusia dan tuntutan pada kompetensi manusia. Kini kehidupan manusia semakin tergantung pada komputer. Berikut ini hal-hal yang menggambarkan konsep kepintaran komputasi yang didukung dengan aplikasi teknologi.

1. Produk yang digerakkan sistem komputer
a. Smart car (mobil pintar)
b. Smart card (kartu pintar)
c. Smart house (rumah pintar)
d. Smart road (jalan pintar)
2. Perancangan produk dikelola oleh komputer
3. Proses kerja yang digerakkan oleh komputer
4. Komputer menjadi sarana komunikasi yang efektif
5. Komputer sebagai pusat informasi

Di samping berdampak struktural pada peri kehidupan manusia, teknologi juga membangkitkan proses kultural dalam masyarakat yang diterpanya. Inilah gejala yang oleh N. Postman disebut technopoly, yang olehnya digambarkan sebagai berikut :
“Technopoly is a state of culture. It is also a state of mind. It consist in the deification of technology, which means that the culture seeks it’s satisfactions in technology, and takes it’s orders from technology”

 Maka, yang menjadi masalah ialah sejauh mana suatu masyarakat siap memasuki zaman yang ditandai oleh supremasi teknologi sebagai daya pembangkit budaya baru tanpa merapuhkan ketahanan budayanya sendiri. Dengan demikian, maka tidak keliru pula untuk menyatakan bahwa dominasi teknologi akan berlanjut dengan berseminya budaya baru yang melahirkan berbagai nilai baru pula yang cenderung menjadi acuan perilaku manusia modern dalam berbagai pola interaksi dengan sesamanya.

Kesimpulan
Konsep dasar arsitektur komputer modern adalah konsep sebuah sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory. Konsep ini pertama kali digagasi oleh John Von Neumann. John Von Neumann juga merupakan salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern. Komputasi modern memiliki beberapa jenis, yaitu Mobile Computing, Grid Computing dan Cloud Computing.
Komputasi merupakan subbagian dari ilmu komputer dan matematika. Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Karena perkembangan jaman maka komputasi sekarang menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern.
Komputasi modern dapat membantu manusia untuk menyelesaikan masalah-masalah yang kompleks dengan menggunakan komputer.

 Daftar Pustaka