Tugas 2 Softskill Pengantar Komputasi Modern

1. Komputasi Cloud (Cloud Computing)

Cloud Computing adalah gabungan dari pemanfaatan teknologi (komputasi) dan pengembangan berbasis internet (awan). Cloud Computing merupakan sebuah metode penggabungan dari berbagai pemanfaatan beberapa teknologi dimana kemampuan TI disediakan sebagai layanan berbasis internet.

Contoh Cloud Computing seperti Ymail atau Gmail. Anda tidak perlu software atau hardware (server) untuk menggunakannya. Semua Konsumen hanya perlu koneksi Internet dan mereka dapat mulai mengirimkan email. Software manajemen email dan server semuanya ada di cloud (internet) dan secara total di kelola oleh provider seperti Yahoo, Google, etc. Konsumen hanya perlu menggunakan software itu sendiri dan menikmati manfaatnya.


Perhatikan titik-titik komputer/server sebagai gabungan dari sumber daya yang akan dimanfaatkan. Lingkaran-lingkaran sebagai media aplikasi yang menjembatani sumber daya dan cloud-nya adalah internet. Semuanya tergabung menjadi satu kesatuan dan inilah yag dinamakan cloud computing.Analoginya adalah, “Jika anda membutuhkan Susu, anda tidak perlu membeli sapi. Karena yang anda butuhkan adalah Susunya (manfaatnya) bukan Sapinya (Software/hardware). Itu sama saja dengan anda menggunakan software atau hardware seperti mengirim email, dan lain-lain tanpa harus memiliki Aplikasi Penyedia layanannya.

Contoh Cloud Computing

Cloud computing saat ini sedang populer, namun apa contoh dari Cloud Computing itu, berikut adalah lima contoh dari sekian banyak Cloud Computing saat ini:

  • Email
Email adalah salah satu alat komunikasi yang sudah cukup lama ada. Dalam email tersimpan data-data pada saat kita mengirimkan atau menerima data. Yang berupa tulisan atau file. Data-data tersebut dapat kita akses sewaktu-waktu kita perlukan , tanpa kita harus menyimpan data tersebut pada komputer pribadi sendiri. Orang lain juga dapat mengakses data tersebut tapi tentunya yang hanya menerima email itu saja.
  • Data storage online
Penyimpanan data pada komputer personal tentu akan santa terbatas. Jika harus membeli server sendiri amat sangat mahal sekali. Oleh sebab itu saat ini kita dapat menyewa atau bahkan ada yang menyediakan server gratis yang dapat kita akses secara online. Contohnya adalah Humyo, ZumoDrive, Microsoft’s SkyDrive, S3 from Amazon, dan masih banyak yang lain.
  • Colaboration Tools
Penkolaborasian data sering kali diperlukan. Karena data yang ingin kita simpan bermacam-macam jenisnya dan fungsinya. ada banayk tools yang dapat digunakan. Conothnya adalah Spicebird, Mikogo, Stixy and Vyew t.
  • Virtual Office
Sering kita memerlukan office untuk memproses data-data. Saat ini kita dapat menggunakan office tidak hanya yang sudah terinstall namun kita juga dapat menggunakan office yang disediakan secara online. Contohnya antara lain Ajax13, ThinkFree and Microsoft’s Office Live.
  • Kekuatan ekstra processing 
Bila membutuhkan kekuatan untuk memproses secara cepat tanpa perlu membeli perangkat tambahan maka salah satu solusinya adalah Amazon’s EC2 virtual computing ini juga dapat diatur sesuai dengan kebutuhan individu masing -masing orang. Contoh yang lain adalah AbiCloud, Elastichosts and NASA’s Nebula platform.

2. Komputasi Grid

Grid Computing atau Komputasi Grid merupakan salah satu dari tipe Komputasi Paralel, adalah penggunaan sumber daya yang melibatkan banyak komputer terpisah secara geografis namun tersambung via jalur komunikasi (termasuk Internet) untuk memecahkan persoalan komputasi skala besar. Semakin cepat jalur komunikasi terbuka, maka peluang untuk menggabungkan kinerja komputasi dari sumber-sumber komputasi yang terpisah menjadi semakin meningkat. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas-batas domain administrasi yang ada.

Sebagai sistem terdistribusi dengan non-interaktif beban kerja yang melibatkan sejumlah besar file. Apa yang membedakan grid computing dari konvensional sistem komputasi kinerja tinggi seperti komputasi cluster adalah grid lebih cenderung longgar digabungkan, heterogen, dan geografis.

Grid computing merupakan salah satu jenis dari komputasi modern. Grid computing adalah arsitektur TI baru yang menghasilkan sistem informasi perusahaan yang berbiaya rendah dan lebih adaptif terhadap dinamika bisnis. Dengan grid computing, sejumlah komponen hardware dan software yang modular dan independen akan dapat dikoneksikan dan disatukan untuk memenuhi tuntutan kebutuhan bisnis. Lebih jauh, dari sisi ekonomi, implementasi grid computing berarti membangun pusat komputasi data yang tangguh dengan struktur biaya variatif yang bias disesuaikan dengan kebutuhan.

Contoh Grid Computing:

Oracle 10g

Untuk software Oracle 10g adalah singkatan dari grid. Fokus dari versi baru Oracle ini adalah untuk memudahkan perusahaan menyederhanakan proses implementasi grid computing di luar kerangka kerja komputasi akademik, teknik, riset dan saintifik.

Oracle 10g meliputi:

Oracle Database 10g

Oracle Aplication Server 10g

Oracle Enterprise Manager 10g

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

4. Distributed Computation dalam Cloud Computing

Salah satu defenisi sederhana dari komputasi terdistribusi adalah proses berjalannya sebuah aktivitas komputasi yang dilakukan oleh lebih dari satu komputer yang berbeda. Selain itu Komputerisasi yang terdistribusi sangat menarik sebab operasi yang interaktif yang membiarkan lebih banyak komputer dalam kondisi idle yang lebih banyak. 

Proses ini dimana menjalankan aspek yang terdistribusi (misalnya pada saat menjalankan mesin juga melaksanakan pekerjaan lain) ini biasanya didesain untuk memprioritaskan pekerjaan ringan, penggunaan juga memperhitungkan tenaga yang terbuang percuma. 

Komputerisasi yang terdistribusi juga merupakan cakupan penelitian yang aktif dan kaya akan literatur. 

Konferensi tentang komputersisasi terdistribusi yang terkenal adalah The Internasional Conference on Dependable Systems and Networks (Konferensi internasional pada sistem dan jaringan handal) dan the ACM Symposium on principles of distributed computing ( ACM – Symposium pada prinsip-prinsip komputerisasi terdistribusi). 

Jurnal-jurnal termasuk the journal of parallel and distributed computing (jurnal tentang komputerisasi yang paralel dan terdistribusi) IEEE transactions on parallel and distributed systems ( IEEE- transaksi pada sistem yang paralel dan terdistribusi) dan lain-lain.

Distributed computing mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer.

5. Map Reduce & No SQL (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.

MapReduce adalah model pemrogramana rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan parallel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, MapReduce dibagi menjadi 2 proses utama, yaitu Map dan Reduce. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terditribusi dalam tiap komputer dalam cluster (kelompok komputer yang saling terhubung). Hasilnya deserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

Berikut daftar produk open source mengenai Map Reduce:
  • Apache Hadoop – http://hadoop.apache.org (open source)
  • Pig – http://incubator.apache.org/projects/pig.html
  • Cascading – http://www.cascading.org
  • Microsoft Dryad – http://research.microsoft.com/research/sv/Dryad/
  • IBM MapReduce Tool for Eclipse – http://www.alphaworks.ibm.com/tech/mapreducetools
  • Skynet – http://skynet.rubyforge.org
  • CouchDB – http://incubator.apache.org/couchdb
NoSQL adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS ataupun ODBMS. Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Dalam NoSQL, setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya. NoSQL Database adalah sebuah database yang bertipe NoSQL, yaitu database ini tidak mengenal istilah relational dan tidak menggunakan konsep schema. Contoh dari NoSQL Database salah satunya adalah MongoDB.

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.

6. No SQL Database

Database NoSQL adalah database yang tidak menggunakan realasi antar tabel dan tidak menyimpan data dalam format tabel kaku (kolom yang fix) seperti layaknya Relasional Database.

Pengelompokan database NoSQL
Secara umum, database NoSQL dibagi menurut format penyimpanan dokmentnya . Berikut ini adalah pengelompokan database NoSQL berdasarkan model (penyimpanan) datanya
  • Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen. Dokumen sendiri bisa terdiri dari key-value, dan value sendiri bisa berupa array atau key-value bertingkat.
  • Graph , Format penyimpanan data dalam struktur graph. Format ini sering dipakai untuk data yang saling berhubungan seperti jejaring social. Contoh database noSQL dengan format ini adalah Neo4J dan FlockDB. FlockDB dipakai oleh Twitter.
  • Key – Value,  contoh database jenis ini adalah Apache Cassandra.
  • Object Database. Format database yang disimpan dalam object-object, Object disini sama dengan pengertian object di Pemrograman Berorientasi Object, Contoh databasenya adalah Db4o.
  • Tipe lainnya adalah tabular, tuple store dan berbagai jenis lain yang tidak terlalu populer.

Kelebihan NoSQL di banding Relasional Database
  • NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  • Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  • NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
  • Autosharding, istilah sederhananya, jika database noSQL dijalankan di cluster server (multiple server) maka data akan tersebar secara otomatis dan merata ke seluruh server.
Kekurangan dari database NoSQL sendiri, minimal bagi saya adalah Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL. Selain itu, saya belum pernah menemukan hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.

Selain itu, karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk NoSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.

Sumber:

Comments