Minggu, 29 April 2018

Map Reduce dan NoSQL

Map reduce adalah sebuah model program dan sebuah asosiasi program untuk memproses dan menghassilkan set big data dengan pararel, algoritma distribusi dan sebuah cluster.
NoSQL Database
Basis data NoSQL adalah jenis basis data yang tidak menggunakan perintah SQL dalam memanipulasi (menyimpan maupun mengambil data) basis data tersebut.  Biasanya digunakan dalam pembuatan web-web yang real-time. NoSQL database berbeda dengan basis data yang berbasis SQL dimana jika SQL memiliki cara kerja yang sama. Basis data NoSQL bisa sangat berbeda satu sama lain. Dilihat dari cara penyimpanan data saja basis data NoSQL tersebar dari cara penyimpanan:
  • Key-Value based (disimpan dalam bentuk kunci-isi berpasangan)
  • Document based (disimpan dalam dokumen-dokumen)
  • Column based (disimpan dalam kolom-kolom)
  • Graph based (disimpan dalam bentuk graf)
Berikut ini beberapa contoh dari database NoSQL:
  1. MongoDB
  2. CouchDB
  3. Cassandra
  4. OrientDB
  5. Redis
  6. Riak
  7. Neo4j

Quantum Computation

Quantum computation atau komputasi quantum merupakan sebuah perhitungan yang menggunakan kuantum mekanika fenomena yang dilakukan untuk melakukan operasi data seperti superposisi dan belitan. Komputasi quantum berkerja dengan cara yang berbeda yaitu dengan melakukan perhitungan menggunakan qubit (quantum bit), sedangkan pada perhitungan biasanya (klasik) perhitungan dilakukan dengan bit 0 atau 1, dengan qubit, komputer dapat mengenal keduanya secara bersamaan dan akan mempercepat kerja dari proses tersebut.
Pada komputasi quantum terdapat beberapa hal yang harus diketahui diantaranya adalah:
  1. Entaglement
Entanglement adalah suatu teori mekanika quantum yang menggambarkan seberapa cepat dan betapa kuatnya keterhubungan partikel-partikel pada Quantum computer yang dimana jika suatu partikel diperlakukan “A” maka akan memberikan dampak “A” juga ke partikel lainnya. Entanglement memungkinkan informasi kuantum tersebar dalam puluhan ribu kilometer, dan hanya dibatasi oleh seberapa cepat dan seberapa banyak pasangan entanglement dapat bekerja dalam ruang. Sehingga oleh Albert Einsten dikatakan sebagai “Perbuatan Sihir Jarak Jauh”.

  1. Pengoperasian Data Qubit

Qubit merupakan kuantum bit, mitra dalam komputasi dengan digit biner atau bit dari komputasi klasik. Qubit adalah unit dasar informasi dalam komputer kuantum. Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan (dalam praktek, keberhasilan juga telah dicapai dengan ion), baik dengan biaya mereka atau polarisasi bertindak sebagai representasi dari 0 dan  1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini (seperti yang diungkapkan dalam teori kuantum ) membentuk dasar dari komputasi kuantum. Dua aspek yang paling relevan fisika kuantum adalah prinsip superposisi dan Entanglement
Bit digambarkan oleh statusnya, 0 atau 1. Begitu pula, qubit digambarkan oleh status quantumnya. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan 1 bit klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam. Dua status quantum potensial untuk qubit ekuivalen dengan 0 dan klasik. Namun dalam mekanika quantum, objek apapun yang memiliki dua status berbeda pasti memiliki rangkaian status potensial, disebut superposisi, yang menjerat kedua status hingga derajat bermacam-macam.


  1. Quantum Gates
Quantum gates merupakan gerbang dari kuantum yang berfungsi mengoperasikan bit yang terdiri dari 0 dan 1 juga dalam qubits sehingga proses yang terjadi lebih cepat, karena setiap perhitungan dilakukan secara bersamaan.




  1. Algoritma Shor
Algoritma Shor, dinamai matematikawan Peter Shor, adalah algoritma kuantum yaitu merupakan suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat. Algoritma Shor dirumuskan pada tahun 1994.  Inti dari algoritma ini merupakan bagaimana cara menyelesaikan faktorisasi terhaadap bilanga interger atau bulat yang besar.
Efisiensi algoritma Shor adalah karena efisiensi kuantum Transformasi Fourier, dan modular eksponensial. Jika sebuah komputer kuantum dengan jumlah yang memadai qubit dapat beroperasi tanpa mengalah kebisingan dan fenomena interferensi kuantum lainnya, algoritma Shor dapat digunakan untuk memecahkan kriptografi kunci publik skema seperti banyak digunakan skema RSA. Algoritma Shor terdiri dari dua bagian:
  • Penurunan yang bisa dilakukan pada komputer klasik, dari masalah anjak untuk masalah ketertiban -temuan.
  • Sebuah algoritma kuantum untuk memecahkan masalah order-temuan.
Hambatan runtime dari algoritma Shor adalah kuantum eksponensial modular yang jauh lebih lambat dibandingkan dengan kuantum Transformasi Fourier dan pre-/post-processing klasik. Ada beberapa pendekatan untuk membangun dan mengoptimalkan sirkuit untuk eksponensial modular. Yang paling sederhana dan saat ini yaitu pendekatan paling praktis adalah dengan menggunakan meniru sirkuit aritmatika konvensional dengan gerbang reversibel, dimulai dengan penambah ripple-carry. Sirkuit Reversible biasanya menggunakan nilai pada urutan n ^ 3, gerbang untuk n-qubit. Teknik alternatif asimtotik meningkatkan jumlah gerbang dengan menggunakan kuantum transformasi Fourier, tetapi tidak kompetitif dengan kurang dari 600 qubit karena konstanta tinggi.



Implementasi Komputasi Quantum
Pada 19 Nov 2013 Lockheed Martin, NASA dan Google semua memiliki satu misi yang sama yaitu mereka semua membuat komputer kuantum sendiri. Komputer kuantum ini adalah superkonduktor chip yang dirancang oleh sistem D – gelombang dan yang dibuat di NASA Jet Propulsion Laboratories.
NASA dan Google berbagi sebuah komputer kuantum untuk digunakan di Quantum Artificial Intelligence Lab menggunakan 512 qubit D -Wave Two yang akan digunakan untuk penelitian pembelajaran mesin yang membantu dalam menggunakan jaringan syaraf tiruan untuk mencari set data astronomi planet ekstrasurya dan untuk meningkatkan efisiensi searchs internet dengan menggunakan AI metaheuristik di search engine heuristical.

Selasa, 10 April 2018

Pengantar Cloud Computing dan Virtualisasi [Softskill]


Cloud computing
Cloud computing adalah gabungan pemanfaatan teknologi komputer dalam suatu jaringan dengan pengembangan berbasis internet. Menjadikan si internet sebagai pusat server untuk mengelola data dan juga aplikasinya. Pengguna tidak harus melakukan instalasi.
Manfaat cloud computing
  • Semua data disimpan pada server secara terpusat,
  • Keamanan data,
  • Fleksibilitas dan Skalabilitas yang tinggi,
  • Investasi jangka panjang.

Jenis layanan cloud computing

  • Software as a Service (SaaS) : Layanan yang menyediakan aplikasi jadi / siap pakai kepada End user. Ciri dari layanan ini adalah user tidak perlu membuat aplikasi, tidak perlu menyiapkan tempat dan juga infrastruktur. Contoh SaaS adalah gmail, ymail, facebook, twitter, dropbox. Atau yang berbayar seperti salesforce, office365, dsb.
  • Platform as a Service (PaaS) : Layanan yang menyewakan “tempat” untuk menjalankan aplikasi dari user. Tempat yang dimaksud seperti sistem operasi, database, framework, dsb yang merupakan wadah untuk berjalannya aplikasi. Ciri dari layanan ini adalah user tidak perlu melakukan maintenance dan tidak perlu menyiapkan infrastruktur. Sehingga user dapat tetap fokus membangun aplikasinya. Contoh Pass adalah Windows Azure, Amazon Web Service, GoogleApp Engine.
  • Infrastructure as a Service (IaaS) : Layanan yang menyewakan infrastruktur IT kepada user yang ingin membangun layanan cloud. Infrastruktur disini bersifat fisik, bisa berupa memory, penyimpanan, server, jaringan, dsb. Hal-hal seperti membuat aplikasi dan konfigurasinya diserahkan kepada user. Cloud provider hanya menyediakan infrastruktur berdasarkan request dari user. Ciri layanan ini adalah jika user ingin mengupgrade memory atau menambah server, user tinggal menghubungi provider kemudian provider akan menyediakan sesuai dengan permintaan. Contoh IaaS adalah Amazon EC2, Rackspace cloud.
Komputasi Grid
Grid Computing atau Komputasi Grid merupakan salah satu dari tipe data komputasi paralel. Karena penggunaan sumber daya nya 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 komputer yang terpisah menjadi semakin meningkat.
Konsep dasar komputasi grid
  • Sumber daya dikelola dan dikendalikan secara lokal.
  • Sumber daya berbeda dapat mempunyai kebijakan dan mekanisme berbeda, mencakup Sumber daya komputasi dikelola oleh sistem batch berbeda, Sistem storage berbeda pada node berbeda, Kebijakan berbeda dipercayakan kepada user yang sama pada sumber daya berbeda pada Grid.
  • Sifat alami dinamis: Sumber daya dan pengguna dapat sering berubah.
  • Lingkungan kolaboratif bagi e-community (komunitas elektronik, di internet)
  • Tiga hal yang di-sharing dalam sebuah sistem grid, antara lain : Resource, Network dan Proses.

Virtualisasi
Virtualisasi adalah sebuah teknologi, yang memungkinkan anda untuk membuat versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi, storage data atau sumber daya jaringan. Proses tersebut dilakukan oleh sebuah software atau firmware bernama Hypervisor. Hypervisor inilah yang menjadi nyawanya virtualisasi, karena dialah layer yang “berpura – pura” menjadi sebuah infrastruktur untuk menjalankan beberapa virtual machine.
Jenis virtualisasi perangkat keras
  1. Para-virtualisasi:Perangkat keras tidak disimulasikan tetapi perangkat-lunak tamu berjalan dalam domainnya sendiri seolah-olah dalam sistem yang berbeda. Dalam hal ini perangkat-lunak tamu perlu disesuaikan untuk dapat berjalan.
  2. Virtualisasi sebagian:Tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini.
  3. Virtualisasi penuh:Hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.

Distributed Computation dalam Cloud Computing

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

Pengantar Komputasi Modern [Softskill]

TEORI KOMPUTASI


  •  PENGERTIAN TEORI KOMPUTASI
Teori komputasi adalah cabang ilmu komputer teoritis, berkaitan dengan studi bagaimana persoalan(problem) dapat diselesaikan pada sebuah model dengan menggunakan algoritma. Model tersebut dinamakan model komputasi.

  • TEORI KOMPUTASI

1.      1.Teori otomata (automata theory)
Teori Otomata adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori bahasa formal. ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar. Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu.

2. Teori komputabilitas (computability theory)
Teori komputabilitas bertujuan untuk memeriksa apakah persoalan komputasi dapat dipecahkan pada suatu model komputasi teoritis. Dengan kata lain, teori komputabilitas mengklasifikasikan persoalan sebagai dapat dipecahkan (solvable) atau persoalan yang tidak dapat dipecahkan (unsolvable). 

3.      3. Teori kompleksitas (computational complexity theory)
Teori kompleksitas bertujuan untuk mengkaji kebutuhan waktu dan ruang untuk memecahkan persoalan yang diselesaikan dengan pendekatan yang berbeda-beda.
  
Dengan kata lain, teori kompleksitas mengklasifikasikan persoalan sebagai persoalan mudah (easy) atau persoalan susah (hard). Teori komputabilitas memperkenalkan beberapa konsep yang digunakan di dalam teori kompleksitas. Teori otomata mengacu pada definisi dan sifat-sifat model komputasi. Di dalam teori komputasi.
  • MODEL-MODEL KOMPUTASI
1 

 1.Finite State Automata (FSA)/Finite State Machine (FSM)(bentuk tunggal: automaton, plural: automata)
Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal sebagai Finite State Automata (FSA).

Secara formal FSA dapat didefinisikan sebagai TUPLE-5 : (K, VT, M, S, Z)
Dimana :
K         : himpunan hingga stata,
VT       : himpunan hingga simbol input (alfabet)
M         : fungsi transisi, menggambarkan transisi stata AH akibat pembacaan symbol input. (Fungsi transisi ini biasanya diberikan dalam bentuk tabel.)
S          : stata awal
Z          : himpunan stata penerima

Ada dua jenis Finite State Automata :
• Deterministic Finite Automata : transisi stata AH akibat pembacaan sebuah simbol
bersifat tertentu. “Jika pada setiap state dari FSA tersebut apabila menerima input
sebuah simbol maka HANYA ada SATU NEXT STATE yang mungkin dituju.”
M(DFA) : K x VT x K

• Non Deterministik Finite Automata : transisi stata AH akibat pembacaan sebuah simbol
bersifat tak tentu. “Jika FSA tersebut menerima input simbol maka minimal ada satu
state yang akan berpindah ke LEBIH DARI SATU NEXT STATE yang mungkin dituju.”
M(AHN) : K x VT x 2K


1.    2. Push Down Automata (PDA)

   PDA adalah mesin otomata yang memiliki kendali masukan menggunakan teknik LIFO (Last In First Out), untuk menentukan apakah suatu output diterima atau tidak oleh mesin tsb. Dalam melakukan proses peneerimaan input, PDA menggunakan memory stack. 
   Mekanisme kerja memory stack adalah menyimpan input pertama pada alamat paling bawah, input berikutnya di simpan pada alamat di atasnya, dan input terakhir di simpan pada alamat paling atas. Perintah operasi yang digunakan untuk menyimpan input pada stack adalah “push”. Sedangkan perintah operasi untuk mengeluarkan input yang telah tersimpan adalah “pop”.

Sebuah PDA dinyatakan dengan 7 Tupel:
Q = himpunan state
Σ = himpunan simbol input
T = simbol stack
Δ = fungsi transisi
S = state awal
F = state akhir
Z = top of stack


1.  3. Mesin Turing(Turing Machine atau TM)
Mesin Turing adalah model komputasi teoretis yang ditemukan oleh Alan Turing, berfungsi sebagai model ideal untuk melakukan perhitungan matematis. Walaupun model ideal ini diperkenalkan sebelum komputer nyata dibangun, model ini tetap diterima kalangan ilmu komputer sebagai model komputer yang sesuai untuk menentukan apakah suatu fungsi dapat selesaikan oleh komputer atau tidak (menentukan computable function). Mesin Turing terkenal dengan ungkapan " Apapun yang bisa dilakukan oleh Mesin Turing pasti bisa dilakukan oleh komputer."




  • BIDANG-BIDANG COMPUTING
ACM Computing Curricula 2005, membagi bidang computing menjadi 5 domain:
1. Computer Science(CS)
2. Software Engineering(SE)
3. Information System(IS)
4. Computer Engineering(CE)
5. Information Technology(TI)



Computer science fokus pada kajian aspek teoritis dan algoritmis bidang computing hinggaaplikasinya. aplikasinya.



Software engineering fokus pada Pengembangan (analisis, desain,implementasi, testing), pengoperasian, dan pemeliharan perangkat lunaksecara sistematis dan terukur.

Information systems fokus pada pengintegrasian solusi teknologi informasi dan proses bisnis untuk mempertemukan kebutuhan informasi bisnis suatu enterprise.

 Computer engineering fokus pada desain konstruksi komputer atau sistem berbasis computer.

Information technology fokus pada penggunaan teknologi komputer untuk mempertemukan teknologi computer untuk kebutuhan bisnis, pemerintahan, pendidikan, kesehatan, dan organisasi lain



  • IMPLEMENTASI KOMPUTASI
      Implementasi adalah kegiatan yang dilakukan untuk menguji data dan menerapkan sistem yang diperoleh dari kegiatan seleksi. Implementasi merupakan salah satu pertahanan dari keseluruhan pembangunan sistem komputerisasi dan unsur yang harus dipertimbangkan dalam pembangunan sistem komputerisasi yaitu masalah perangkat lunak, karena perangkat lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan disamping masalah perangkat keras. Contoh aplikasi berbasis cloud computing adalah salesforce.com, Google Docs. salesforce.com adalah aplikasi Customer Relationship Management (CRM) berbasis software as services, dimana kita bisa mengakses aplikasi bisnis: kontak, produk, sales tracking, dashboard, dll. Google Docs adalah aplikasi word processor, spreadsheet, presentasi semacam Microsoft Office, yang berbasis di server. Terintegrasi dengan Google Mail, file tersimpan dan dapat di proses dari internet.

Di zaman/masa modern saat ini perkembangan teknologi yang begitu cepat, Implementasi Komputasi banyak digunakan untuk berbagai bidang. Seperti : Bidang Fisika, Kimia, Matematika, Ekonomi, Geografi dan Geologi.

             Bidang Fisika

Implementasi komputasi modern di bidang Fisika adalah Computational Physics yang mempelajari suatu gabungan antara Fisika, Komputer Sains dan Matematika Terapan untuk memberikan solusi pada “Kejadian dan masalah yang kompleks pada dunia nyata” baik dengan menggunakan simulasi juga penggunaan Algoritma yang tepat.
Pemahaman Fisika pada teori, eksperimen dan komputasi haruslah sebanding. Agar dihasilkan solusi numerik dan visualisasi atau pemodelan yang tepat untuk memahami masalah Fisika. Untuk melakukan pekerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultan, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan kompleks yang menjadi tujuan penerapan Fisika komputasi.
Banyak perangkat lunak ataupun bahasa yang digunakan, seperti : 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.


             Bidang Kimia

Implementasi komputasi modern di bidang Kimia adalah Computational Chemistry yaitu penggunaan ilmu komputer untuk membantu menyelesaikan masalah Kimia. Contohnya penggunaan super komputer untuk menghitung struktur dan sifat molekul. 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 di sini, karena sedikit sekali aspek Kimia yang dapat dihitung secara tepat. Hampir semua aspek kimia dapat digambarkan dalam skema komputasi kualitatif atau kuantitatif hampiran.



          Bidang Matematika

Menyelesaikan sebuah masalah yang berkaitan dengan perhitungan Matematis, namun dalam pengertian yang akan dibahas dalam pembahasan komputasi modern ini merupakan sebuah sistem yang akan menyelesaikan masalah Matematis menggunakan komputer dengan cara menyusun Algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan masalah manusia.

               Bidang Ekonomi

Pemrograman yang didesain khusus untuk komputasi Ekonomi dan pengembangan alat bantu dalam pendidikan komputasi Ekonomi. Karena dibidang Ekonomi pasti memiliki permasalahan yang harus dipecahkan oleh Algoritma. Contohnya adalah memecahkan teori statistika untuk memecahkan permasalahan keuangan. Salah satu contoh komputasi di bidang Ekonomi adalah komputasi statistik. Komputasi statistik adalah jurusan yang mempelajari teknik pengolahan data, membuat program dan analisis data serta teknik penyusunan sistem informasi statistik, seperti : penyusunan basis data, komunikasi data, sistem jaringan, dan diseminasi data statistik.

                 Bidang Geografi

Geografi adalah ilmu yang mempelajari tentang lokasi serta persamaan dan perbedaan (variasi) keruangan atas fenomena fisik dan manusia di atas permukaan bumi. Komputasi dalam bidang Geografi biasanya di gunakan untuk peramalan cuaca, di Indonesia khususnya ada salah satu instansi Negara dengan nama BMKG (Badan Meteorologi Klimatologi dan Geofisika) yakni instansi negara yang meneliti mengamati tentang Metereologi, Klimatologi kualitas udara dan Geofisika supaya tetap sesuai dengan perundang undangan yang berlaku di Indonesia.

         Bidang Geologi

Geologi merupakan cabang Ilmu sains yang mempelajari tentang Bumi. Yakni komposisi, struktur, sifat-sifat, sejarah dan proses, komputasi Geologi umumnya digunakan dibidang pertambangan sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat didalam tanah. Implementasi pada bidang ini untuk memetakan letak sumber daya dan kontur dari permukaan bumi yang terdapat hasil tambang.