Modern Computation

v Cloud Computing
Cloud computing mungkin masih samar terdengar bagi orang awam. Tetapi keberadaan cloud computing di era digital kini sebenarnya telah terasa di tengah masyarakat dalam kehidupan sehari hari seperti penggunaan email dan juga media sosial.
Secara umum, definisi cloud computing (komputasi awan) merupakan gabungan pemanfaatan teknologi komputer (komputasi) dalam suatu jaringan dengan pengembangan berbasis internet (awan) yang mempunyai fungsi untuk menjalankan program atau aplikasi melalui komputer – komputer yang terkoneksi pada waktu yang sama, tetapi tak semua yang terkonekasi melalui internet menggunakan cloud computing.
Teknologi komputer berbasis sistem Cloud ini merupakan sebuah teknologi yang menjadikan internet sebagai pusat server untuk mengelola data dan juga aplikasi pengguna. Teknologi ini mengizinkan para pengguna untuk menjalankan program tanpa instalasi dan mengizinkan pengguna untuk mengakses data pribadi mereka melalui komputer dengan akses internet.
Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.
Contoh Cloud Computing.
Lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.
Berikut adalah penjelasan singkat tentang Cloud Computing, sistem yang telah mendunia yang dapat membantu perusahaan atau organisasi dalam efisiensi penyimpanan data. Beberapa faktor seperti ketersediaan internet yang dibutuhkan sebagai jalur utama dalam distribusi data, kualitas vendor akan layanan sistem Cloud maupun masalah keamanan dan privasi seperti serangan peretas/hacker dalam meretas internet patut menjadi pertimbangan tersendiri sebelum anda beralih ke sistem Cloud. Selain vendor yang harus meningkatkan kualitas pelayanan mereka, pengguna juga diharapkan dapat lebih bijak dalam memilih kualitas vendor yang akan mereka gunakan untuk mengelola data berbasis Cloud Computing.
v Grid Computing
 
Secara umum, definisi Grid Computing itu sendiri adalah sebuah sistem komputasi terdistribusi, yang memungkinkan seluruh sumber daya (resource) dalam jaringan, seperti pemrosesan, bandwidth jaringan, dan kapasitas media penyimpan, membentuk sebuah sistem tunggal secara vitual. Seperti halnya pengguna internet yang mengakses berbagai situs web dan menggunakan berbagai protokol seakan-akan dalam sebuah sistem yang berdiri sendiri, maka pengguna aplikasi Grid computing seolah-olah akan menggunakan sebuah virtual komputer dengan kapasitas pemrosesan data yang sangat besar.
Ide awal komputasi grid dimulai dengan adanya distributed computing, yaitu mempelajari penggunaan komputer terkoordinasi yang secara fisik terpisah atau terdistribusi. Sistem terdistribusi membutuhkan aplikasi yang berbeda dengan sistem terpusat. Kemudian berkembang lagi menjadi parallel computing yang merupakan teknik komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Grid computing menawarkan solusi komputasi yang murah, yaitu dengan memanfaatkan sumber daya yang tersebar dan heterogen serta pengaksesan yang mudah dari mana saja. Globus Toolkit adalah sekumpulan perangkat lunak dan pustaka pembuatan lingkungan komputasi grid yang bersifat open-source. Dengan adanya lingkungan komputasi grid ini diharapkan mempermudah dan mengoptimalkan eksekusi program-program yang menggunakan pustaka paralel. Dan Indonesia sudah menggunakan sistem Grid dan diberi nama InGrid (Inherent Grid). Sistem komputasi grid mulai beroperasi pada bulam Maret 2007 dan terus dikembangkan sampai saat ini. InGrid ini menghubungkan beberapa perguruan tinggi negeri dan swasta yang tersebar di seluruh Indonesia dan beberapa instansi pemerintahan seperti Badan Meteorologi dan Geofisika.
Contoh Grid Computing
·       Scientific Simulation: Komputasi grid diimplementasikan di bidang fisika, kimia, dan biologi untuk melakukan simulasi terhadap proses yang kompleks. Untuk lebih jelasnya kunjungi halaman berikut:
·       Medical Images: Penggunaan data grid dan komputasi grid untuk menyimpan medical-image.
Contohnya adalah eDiaMoND project

·       Computer-Aided Drug Discovery (CADD): Komputasi grid digunakan untuk membantu penemuan obat. Salah satu contohnya adalah: Molecular Modeling Laboratory (MML) di University of North Carolina (UNC)


·       Big Science: Data grid dan komputasi grid digunakan untuk membantu proyek laboratorium yang disponsori oleh pemerintah
Contohnya terdapat di DEISA

·       e-Learning: Komputasi grid membantu membangun infrastruktur untuk memenuhi kebutuhan dalam pertukaran informasi dibidang pendidikan. Contohnya adalah AccessGrid


·       Visualization: Komputasi grid digunakan untuk membantu proses visualisasi perhitungan yang rumit. Contohnya dapat dilihat di website berikut:
·       Microprocessor design: komputasi grid membantu untuk mengurangi microprocessor design cycle dan memudahkan design center untuk membagikan resource lebih efisien. Contohnya ada di Microprocessor Design Group at IBM Austin

v Virtualisasi
Virtualisasi berasal dari kata dasar virtual yang berarti maya. Virtualisasi sendiri dalam dunia komputer merupakan sebuah proses pengimplementasian perangkat lunak dalam sebuah fungsi perangkat keras komputer tak nyata yang mana kinerjanya menyerupai perangkat keras sebenarnya atau bahkan lebih. Sebagai contoh : Sistem Operasi, Perangkat penyimpanan serta Jaringan. Selain itu, virtualisasi dapat diimplementasikan dalam berbagai bentuk, antara lain (Harry Sufehmi, Pengenalan Virtualisasi, 2009-06-07):
  1. Network Virtualization : VLAN, Virtual IP (untclustering), Multilink
  2. Memory Virtualization : pooling memory dari node-node di cluster
  3. Grid Computing : banyak komputer = satu
  4. Application Virtualization : Dosemu, Wine
  5. Storage Virtualization : RAID, LVM
  6. Platform Virtualization : virtual computer
Karena dalam hal ini virtualisasi mengacu pada proses penciptaan kerja mesin secara virtual layaknya perangkat sebenarnya, maka terdapat beberapa jenis virtualisasi, diantaranya:
  • Para-virtualisasi: Menjalankan sebuah perangkat lunak dalam sebuah host dengan menyesuaikan domain sendiri seolah berada dalam sistem yang berbeda.
  • Virtualisasi sebagian: Membuat sebuah lingkungan virtual  hanya untuk menjalankan program atau perangkat lunak tertentu , kondisi yang dialami adalah lingkungan dimana tidak semua aspek disimulasikan.
  • Virtualisasi penuh: Mirip dengan para-virtualisasi dimana hampir menyerupai perangkat asli dan mampu menjalankan perangkat lunak secara keseluruhan. Yang membedakan adalah tidak ditempatkan pada domain sendiri.

v Distributed Computing
Image result for distributed computing











Distributed computing adalah metode penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam prakteknya, seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.
Komputer paralel secara kasar dapat diklasifikasikan menurut tingkat di mana hardware mendukung paralelisme, dengan komputer multi-core dan multi-prosesor yang memiliki elemen pemrosesan ganda dalam satu mesin, sedangkan cluster, MPP, dan grid menggunakan beberapa komputer untuk bekerja pada hal yang sama tugas. Khusus arsitektur komputer paralel kadang-kadang digunakan bersama prosesor tradisional, untuk mempercepat tugas-tugas tertentu.
Untuk menjalakan operasinya, komputasi paralel membutuhkan 3 hal sebagai berikut
1. Algoritma
2. Bahasa pemrograman
3. Compiler

Sumber daya komputer (computer resource) dapat terdiri dari sebuah komputer dengan beberapa processor, atau beberapa komputer yang terhubung oleh sebuah jaringan, atau pun kombinasi antara keduanya. Processor mengakses data melalui shared memory. Beberapa supercomputer parallel processing system memiliki ratusan bahkan ribuan microprocessor. Dengan bantuan dari parallel processing, sejumlah komputasi dapat dijalankan dalam satu waktu, memangkas waktu yang dibutuhkan untuk menyelesaikan sebuah project. Parallel processing sangat berguna untuk project yang membutuhkan komputasi komplek, seperti weather modelling dan efek digital spesial (special effect digital). Dengan bantuan dari parallel processing, masalah yang sangat kompleks dapat terselesaikan dengan efektif dan lebih efisien. Parallel computing dapat secara efektif digunakan untuk tugas-tugas (task) yang melibatkan begitu banyak komputasi, untuk dapat dibagi menjadi task-task yang lebih kecil.
Contoh sistem yang diterapkan pada obyek 3D yang besar dan rinci, interpretasi geometrik yang melekat seri membatasi kecepatan generasi gambar. Untuk mempercepat prosedur menafsirkan, sebuah Graphic Processing Unit (GPU) metode berbasis memanfaatkan Compute Arsitektur Unified Device (CUDA) yang diusulkan dalam tulisan ini. Pendekatan terfokus melibatkan dua tahap: pertama adalah scan sekuensial pada string yang dihasilkan negara dari derivasi dari L-sistem yang berjalan pada CPU, yang kedua adalah komputasi paralel pada GPU dengan CUDA. Simbol dalam string negara diinterpretasikan sebagai perintah penyu dan kura-kura primitif grafis yang menyatakan tergantung pada operasi perkalian matriks di scan sekuensial. Kemudian dengan posisi dan arah tercakup dalam penyu negara, garis (silinder) yang dihasilkan dan primitif grafik diubah menjadi sistem koordinat penyu menggunakan ribuan benang paralel dalam fase komputasi. Dibandingkan dengan metode lain, metode yang diusulkan lebih efisien.

v Map Reduce danNoSQL (Not Only SQL)
 
Map Reduce dan NoSQL (Not Only SQL) adalah sebuah pemogramaan framework guna untuk membantu user mengembangankan sebuah data yang ukuran besar dapat terdistribusi satu sama lain. Map-Reduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud terutama karena dapat diterapkannya dalam lingkungan distributed computing. Dengan demikian akan menjamin skalabilitas aplikasi kita.
Salah satu contoh penerapan nyata map-reduce ini dalam suatu produk adalah yang dilakukan Google. Dengan inspirasi dari functional programming map dan reduce Google bisa menghasilkan filesystem distributed yang sangat scalable, Google Big Table. Dan juga terinspirasi dari Google, pada ranah open source terlihat percepatan pengembangan framework lainnya yang juga bersifat terdistribusi dan menggunakan konsep yang sama, project open source tersebut bernama Apache Hadoop.
NoSQL adalah istilah untuk menyatakan berbagai hal yang didalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun yang lebih canggih yaitu non-database relational seperti MongoDBCassandraCouchDB, dan yang lainnya.
Wikipedia menyatakan NoSQL adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NoSQL mungkin tidak membutuhkan skema table dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut database seperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional.

v NoSQL
Image result for nosql
Nosql adalah sebuah memcache dari bagian database sederhana yang berisi key dan value. Database ini bersifat struktur storage dimana sistem databasenya yang berbeda dengan sistem database relasional. Nosql tidak membutuhkan skema table dan menghindari operasi join dan berkembang secara horizontal.
Selain itu NoSQL merupakan suatu bahasan yang jauh dari arti kata yang dibaca. Tidak berarti tanpa sql query. Melainkan bagaimana suatu sql query digunakan seminimal mungkin dalam suatu program database. Dengan memanfaatkan teknologi NoSQL ini, diharapkan mampu mengurangi beban server. Selain itu, hal ini juga memudahkan programmer dalam membuat suatu program dan proses pengembangannya. Penjelasan lebih mengenai NoSQL database akan dijelaskan pada sub bab dibawah ini.
Database NoSQL, juga disebut Not Only SQL, adalah sebuah pendekatan untuk pengelolaan datadan desain database yang berguna untuk set yang sangat besar data terdistribusi. NoSQL, yang mencakup berbagai teknologi dan arsitektur, berusaha untuk memecahkan masalah skala bilitas dan kinerja data yang besar yang database relasional tidak dirancang untuk menangani.NoSQL ini sangat berguna ketika perusahaan perlu untuk mengakses dan menganalisis sejumlah besar data terstruktur atau data yang disimpan dari jarak jauh pada beberapa virtual server di awan.
Berlawanan dengan kesalahpahaman yang disebabkan oleh namanya, NoSQL tidak melarangbahasa query terstruktur (SQL) Meskipun benar bahwa beberapa sistem NoSQL sepenuhnya non-relasional, yang lain hanya menghindari fungsi relasional dipilih seperti skema tabel tetap dan bergabung dengan operasi. Sebagai contoh, daripada menggunakan tabel, database NoSQL mungkin mengatur data menjadi objek, kunci / nilai berpasangan atau tupel
libraryeproceeding.telkomuniversity.ac.id/index.php/.../319
Beberapa database NoSQL:
  • MongoDB
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++.
  • Cassandra Apache
Cassandra Dikembangkan oleh APACHE. Aplikasi Inilah yang digunakan facebook untuk penyimpanan miliayaran data hingga saat ini.
  • CouchDB
CouchDB juga dikembangkan oleh APACHE. CouchDB adalah database yang benar-benar merangkul web. Menyimpan data Anda dengan dokumen JSON.  

Daftar Pustaka:

Komentar