Search This Blog

Saturday, March 31, 2018

Tugas Softskill 2

Cloud Computing
Komputasi awan adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet ("di dalam awan") tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain."

Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google Apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.

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.


Grid Computing
Komputasi grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
-          Sistem tersebut melakukan koordinasi terhadap sumberdaya komputasi yang tidak berada dibawah suatu kendali terpusat. Seandainya sumber daya yang digunakan berada dalam satu cakupan domain administratif, maka komputasi tersebut belum dapat dikatakan komputasi grid.
-          Sistem tersebut menggunakan standard dan protokol yang bersifat terbuka (tidak terpaut pada suatu implementasi atau produk tertentu). Komputasi grid disusun dari kesepakatan-kesepakatan terhadap masalah yang fundamental, dibutuhkan untuk mewujudkan komputasi bersama dalam skala besar. Kesepakatan dan standar yang dibutuhkan adalah dalam bidang autentikasi, otorisasi, pencarian sumberdaya, dan akses terhadap sumber daya.
-          Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

Contoh grid computing
-          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


Virtualisasi
Virtualisasi adalah istilah umum yang mengacu kepada abstraksi dari sumber daya komputer. Definisi lainnya adalah "sebuah teknik untuk menyembunyikan karakteristik fisik dari sumber daya komputer dari bagaimana cara sistem lain, aplikasi atau pengguna berinteraksi dengan sumber daya tersebut. Hal ini termasuk membuat sebuah sumber daya tunggal (seperti server, sebuah sistem operasi, sebuah aplikasi, atau peralatan penyimpanan terlihat berfungsi sebagai beberapa sumber daya logikal; atau dapat juga termasuk definisi untuk membuat beberapa sumber daya fisik (seperti beberapa peralatan penyimpanan atau server) terlihat sebagai satu sumber daya logikal."
Istilah virtualisasi sudah digunakan secara luas sejak 1960-an, dan telah diaplikasikan kepada beberapa aspek computer dari keseluruhan sistem komputer sampai sebuah kemampuan atau komponen individu. Secara umum semua teknologi virtualisasi mengacu kepada "menyembunyikan detail teknis" melalui enkapsulasi.

Contoh virtualisasi
Microsoft Hyper-V atau yang sebelumnya bernama Windows Server Virtualization merupakan virtualisasi yang bersifat hypervisor-based untuk sistem x64. Versi beta dari Hyper-V dipasarkan dengan edisi Windows Server 2008, dan versi finalnya dirilis tanggal 26 Juni 2008. Microsoft menyatakan bahwa produk ini merupakan suatu usaha dari Microsoft untuk menyediakan sebuah sistem operasi terbaik yang mendukung teknologi virtualisasi.


Distributed Computation dalam Cloud Computing
Kegiatan ini merupakan kumpulan beberapa computer yang terhubung untuk melakukan pendistribusian, seperti mengirim dan menerima data serta melakukan interaksi lain antar computer yang dimana membutuhkan sebuah jaringan agar computer satu dan lainnya bisa saling berhubung dan melakukan interaksi. Hal ini semua dilakukan dengan cloud computing yang seperti kita ketahui memberikan layanan dimana informasinya disimpan di server secara permanen dan disimpan di computer client secara temporary.

Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara parallel, para pengguna juga bisa memanfaatkannya secara bersamaan (tidak harus menunggu dalam antrian untuk mendapatkan pelayanan), terdiri dari banyak sistem sehingga jika salah satu sistem crash, sistem lain tidak akan terpengaruh, dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).
Distribusi komputasi ini memiliki definisi mempelajari penggunaan terkoordinasi dari computer secara fisik terpisah atau terdistribusi. Pada distributed computing ini, program dipisah menjadi beberapa bagian yang dijalankan secara bersamaan pada banyak computer yang terhubung melalui jaringan internet.

Contoh distributed computation dalam cloud computing
E mail service, facebook, google


MapReduce dan NoSql

MapReduce
Setiap istilah perlu definisi, dan harus ada kesepakatan akan definisi tersebut biar tidak terjadi salah pengertian ataupun salah paham diantara para pengguna istilah tersebut. MapReduce pun punya definisi. MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam cluster yang terdiri atas ribuan komputer. Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagi-bagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potongan-potongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

Contoh mapreduce
Contoh kasus map reduce adalah misalnya jika kita ingin menghitung jumlah penggunaan huruf dalam sebuah buku. Misal kita punya satu file teks besar yang berisi seluruh kalimat yang menyusun sebuah buku. Maka yang dilakukan oleh Map Reduce program yang menghitung penggunaan kata dalam buku tersebut kurang lebih sebagai berikut:
Proses Map:
-          Membaca tiap baris kalimat di dalam file teks tersebut.
-          Membaca tiap kata yang ada dalam beris tersebut dan membuat sebuah map untuk kata tersebut. Key dari map itu adalah kata tersebut sedangkan value dari map itu adalah 1.
-          Sampai disini hasil yang kita dapatkan dari dua langkah diatas adalah daftar map untuk semua kata dari file teks tersebut dengan value 1. Karena kita tidak menyatukan perhitungan kata-kata yang sama dalam satu map, maka tersapat map dengan key yang sama. Misal ada map kata ‘Dan’ => 1 berulang kali.
Proses Reduce:
-          Melakukan sorting atau pengelompokan map dengan kata-kata yang sama.
-          Menjumlahkan untuk mencari total dari kata-kata yang sama tersebut.
-          Sampai disini maka hasilnya adalah map dengan key yang unik setiap kata berikut dengan jumlah penggunaannya di buku tersebut.

NoSql
NoSQL adalah istilah yang dikenal dalam teknologi komputasi untuk merujuk kepada kelas yang luas dari sistem manajemen basis data yang di identifikasikan dengan tidak mematuhi aturan pada model sistem manajemen basis data relasional yang banyak digunakan.
NoSQL tidak dibangun terutama dengan table dan umumnya tidak menggunakan SQL untuk memanipulasi data, sehingga sering ditafsirkan sebagai “tidak hanya SQL”.

Contoh NoSql
Neo4J dan FlockDB


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. Document Database contohnya MongoDB, seiap satu object data disimpan dalam satu dokumen.

Contoh No Sql Database

Neo4J dan FlockDB


Source:

Saturday, March 10, 2018

Teori Komputasi

Teori Komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakan suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi. Terdapat beberapa tokoh yang memberikan pendapatnya mengenai teori komputasi, antara lain John S. Conery 

A computation is a sequence of simple, well-defined steps that lead to the solution of a problem. The problem itself must be defined exactly and unambiguously, and each step in the computation that solves the problem must be described in very specific terms. (John S. Conery, 2010)

Atau jika diartikan maka dapat disimpulkan bahwa, komputasi adalah sebuah urutan langkah sederhana, terdefinisi dengan baik yang mengarah pada pemecahan masalah. Masalahnya sendiri harus didefinisikan secara tepat dan tidak ambigu, dan setiap langkah dalam perhitungan yang memecahkan masalah harus dijelaskan dengan persyaratan yang sangat spesifik.

  • Area Ilmu Komputer
  1. Ilmu Komputer Teoritikal
  • Teori Komputasi
  • Teori Informasi dan coding
  • Algoritma dan data struktur
  • Teori bahasa pemrograman
  • Metode formal

      2. Ilmu Komputer Terapan 
  • Artificial intelligence
  • Arsitektur Komputer dan Engineering
  • Computer Performance Analysis 
  • Computer graphics and visual
  • Computational science 
  • Computer networks 
  • Concurrent, parallel and distributed systems 
  • Databases
  • Health informatics
  • Information science 
  • Software engineering 
  • Computer security and cryptography

Teori komputasi berkaitan dengan studi bagaimana persoalan dapat diseleaikan pada sebuah model dengan menggunakan algoritma. Model tersebut dinamakan model komputasi. Teori komputasi dibagi menjadi 3 ranting : 
  1. Teori otomata
  2. Teori komputabilitas 
  3. Teori kompleksitas
Teori otomata mengacu pada definisi dan sifat-sifat model komputasi. Sedangkan Teori komputabilitas bertujuan untuk memeriksa apakah persoalan komutasi dapat dipecahkan pada suatu model komputasi teoritis, dengan kata lain teori komputabilitas mengklarifikasi persoalan sebagai dapat dipecahkan atau persoalan yang tidak dapat dipecahkan. Teori kompleksitas bertujuan untuk mengkaji kebutuhan waktu dan ruang untuk memecahkan persoalan yang diseleaikan dengan pendekatan yang berbeda-beda, dengan kata lain mengklarifikasi persoalan sebagai mudah atau sukar. 
Beberapa model komputasi :
  1. Finite State Automata (FSA) / Finite State Machine (FSM) 
  2. Push Down Automata (PDA)
  3. Mesing Turing (Turing Mesin) atau TM
Di dalam teori komputasi, model komputasi yang sering dipakai adalah Mesin Turing.

Bidang-bidang Computing 
  1. Computer Science (CS), fokus pada kajian aspek teoritis dan algoritmis bidang computing hingga aplikasinya.
  2. Software Engineering (SE), fokus pada pengembangan (analisis, desain, implementasi, testing), pengopraian, dan pemeliharan perangkat lunak secara sistematis dan terukur.
  3. Information System (IS), fokus pada pengintegrasian solusi teknologi informasi dan proses bisnis untuk mempertemukan kebutuhan informasi bisnis suatu enterprise.
  4. Computer Engineering (CE), fokus pada desain konstruksi komputer atau sistem berbasis komputer. 
  5. Information Technology (IT), fokus pada penggunaan teknologi komuter untuk mempertemukan kebutuhan bisnis, pemerintah, pendidikan, kesehatan, dan organisasi lainnya.


Implementasi Komputasi

  • Dalam bidang Fisika
Fisikan komputasi adalah studi implementasi numerik algortima untuk memecahkan masalah di bidang fisika dimana teori kuantitatif yang sudah ada. Dalam fisika, berbagai teori yang berdasarkan permodelan matematika menyediakan prediksi yang akurat mengenai bagaimana sebuah sistem bergerak. Namun seringkali penggunaan permodelan matematika untuk sebuah sistem khusus yang bertujuan untuk menghasilkan prediksi yang bermanfaat tidak bisa dilakukan ketika itu. Hal ini terjadi karena solusi permasalahan tidak memiliki ekspresi bentuk tertutup atau terlalu rumit. dalam banyak kasus perkiraan numerik dibutuhkan.

Fisika komputasi adalah subjek yang berhubungan dengan berbagai perkiraan numerik, perkiraan solusi yang ditulis sebagai sejumlah besar bilangan terbatas (finite) dari operasi matematika sederhana (algoritma), dan komputer digunakan untuk melakukan operasi tersebut dan menghitung solusi dan errornya. 

Banyak perangkat lunak ataupun bahasa yang digunakan, baik MatLab, Visual Basic, Fortran, Open Source Physics (OSP), Labview, Mathematica, dan lain sebagainya digunakan untuk pemahaman dan pencarian solusi numerik dari masalah-masalah pada Fisika komputasi. Suatu yang menjadi fokus perhatioan kita disini adalah penggunaan visual basic sebagai alat bantu dalam pembelajaran dan pencarian solusi Fisika komputasi. Kini komputer bukan hanya digunakan untuk mengolah data praktikum atau membuat dokumen ilmiah, namun dapat digunakan untuk menghitung suatu perhitungan yang rumit.

  • Dalam bidang Kimia 
Kimia komputasi adalah cabang kimia yang menggunakan hasil kimia teori yang diterjemahkan ke dalam program komputer untuk menghitung sifat-sifat molekul dan perubahannya maupun melakukan simulasi terhadap sistem-sistem besar (markomolekul seperti protein atau sistem banyak molekul seperti gas, cairan, padatan, dan kristal cair), dan menerapkan program tersebut pada sistem kimia nyata. Contoh sifat-sifat molekul yang dihitung antara lain struktur , energi dan selisih energi, muatan, momen dipol, kereaktifan, frekuensi getaran dan besaran spektroskopi lainnya. 

Istilah kimia teori dapat didefinisikan sebagai deskripsi matematika untuk kimia, sedangkan kimia komputasi biasanya digunakan ketika metode matematika dikembangkan dengan cukup baik untuk dapat digunakan dalam program komputer. Perlu dicatat bahwa kata "tepat" atau "sempurna" tidak muncul disini, karena sedikit sekali aspek kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.

Terdapat beberapa pendekatan yang dapat dilakukan :
  1. Kajian komputasi dapat dilakukan untuk menemukan titik awal untuk sintesis dalam laboraturium.
  2. kajian komputasi dapat digunakan untuk menjelajahi mekanisme reaksi dan menjelaskan pengamatan pada reaksi di laboraturium.
  3. Kajian komputasi dapat digunakan untuk memahami sifat dan perubahan pada sistem makroskopis melalui simulasi yang berlandaskan hukum-hukum interaksi yang ada dalam system.

  • Dalam Bidang Matematika 
Implementasi komputasi dibidang matematika adalah numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah-masalah matematika. Bidang analisis numerik sudah dikembangkan berabad-abad sebelum penemuan komputer modern. Interpolasi linear sudah digunakan lebih dari 2000 tahun yang lalu. Banyak matematikawan besar dari masa lalu disibukkan oleh analisis numerik, seperti yang terlihat jelas dari nama algoritma penting seperti metode Newton, interpolasi polinomial Lagrange, eliminasi Gauss, atau metode Euler.

Buku-buku besar berisi rumus dan tabel data seperti interpoiasi titik dan koefisien fungsi diciptakan untuk memudahkan perhitungan tangan. Dengan menggunakan tabil ini kita bisa melihat nilai-nilai untuk diisikan ke dalam rumus yang diberikan dan mencapai perkiraan numeris sangat baik untuk beberapa fungsi. Karya utama dalam bidang ini adalahh penerbitan NIST yang disunting oleh Abramovich dan Stegun, sebuah buku setebal 1000 halam lebih. Buku ini berisi banyak seklai rumus yang umum digunakan dan fungsi serta nilai-nilainya dibanyak titik. 

Kalkulator mekanik juga dikembangkan sebagai alat untuk perhitungan tangan. Kalkulator ini berevolusi menjadi komputer elektronik pada tahun 1940. Kemudian ditemukan bahwa komputer juga berguna untuk tujuan administratif. Tetapi penemuan komputer juga mempengaruhi bidang analisis numerik, karena memungkinkan dilakukannya perhitungan yang lebih panjang dan rumit.


  • Dalam Bidang Ekonomi 
Implementasi pada ilmu pengetahuan ekonomi adalah mempelajari agent-based computational modeling, computational econometrics dan statistika, komputasi keuangan, computational modeling of dynamic macroeconomic system, pemrograman yang didesain khusus untuk komputasi ekonomi, dan pengembangan alat bantu dalam pendidikan komputasi ekonomi. Kerena dibidang ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh algoritma contohnya adalah teori statistika untuk memecahkan permasalahan keuangan.

Komputasi dapat digunakan untuk memecahan masalah ekonomi, contohnya seperti : Data Mining, dengan data mining sebuah perusahaan dapat memecahkan masalah dengan cara yang seefektif mungkin. Manfaat yang terjadi dengan adanya komputasi ini yaitu, perhitungan kompleks yang bisa mencapai ribuan data dapat dengan mudah dikerjakan manusia dengan bantuan komputer. Hal ini tentunya dapat mengurangi waktu, biaya dan lain sebagainya.


  • Dalam Bidang Geografi
Implementasi komputasi geografi adalah mengimplementasi atau mempraktekkan suatu model komputasi didalam faktor geografi, baik secara real maupun virtual. Geografi itu sendiri tidak selalu membahas tentang georafi Bumi dan cuacanya. Geografi yang dimaksud bisa saja berhubungan dengan dunia komputerisasi. Sebagai contoh adalah cloud computing. Cloud Computing didefinisikan sebagai sebuah model komputasi yang memungkinkan kita untuk memperoleh kenyamanan, akses on-demand terhadap kumpulan sumber daya komputasi, yang konfigurasinya dapat dilakukan dengan cepat, dan disertai sedikit usaha untuk mengelola dan berhubungan dengan penyedia layanannya.


  • Dalam Bidang Geologi 
Geologi adalah ilmu yang mempelajari bumi, komposisinya, struktur, sifat-sifat fisik, sejarah, dan proses pembentukannya. 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. Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat didalam tanah. 


Referensi :