Sabtu, 28 April 2018

Komputasi Quantum

Komputasi Quantum

Komputasi Quantum dan Penjelasannya

Komputasi Quantum

Sebuah perhitungan yang menggunakan kuantum mekanika fenomena yang dilakukan untuk melakukan operasi data.

Komputasi quantum berkerja  dengan melakukan perhitungan menggunakan qubit (quantum bit), sedangkan pada perhitungan biasanya (klasik) perhitungan dilakukan dengan bit 0 atau 1.



  • Entaglement
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.
  • Pengoperasian Data Qubit
Dalam komputer kuantum, sejumlah partikel elemental seperti elektron atau foton dapat digunakan yang  bertindak sebagai representasi dari 0 dan  1. Setiap partikel-partikel ini dikenal sebagai qubit, sifat dan perilaku partikel-partikel ini membentuk dasar dari komputasi kuantum.

Proses Klasik dan Komputasi Quantum


Quantum Gates

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.

Contoh Input dan Output pada quantum gates :


Algoritma Shor

Suatu algoritma yang berjalan pada komputer kuantum yang berguna untuk faktorisasi bilangan bulat.

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

Map Reduce dan NoSQL beserta Contohnya

Map Reduce dan NoSQL beserta Contohnya

Map Reduce


Model pemrograman yang dirilis Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan parallel. MapReduce ada 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 diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna.

Macam-macam produk open source mengenai Map Reduce :
Apache Hadoop 
Pig 
Cascading 
Microsoft Dryad
IBM MapReduce Tool for Eclipse  
Skynet 
CouchDB  
NoSQL

NoSQL adalah konsep mengenai penyimpanan data non-relasional. NoSQL sangat berguna pada data-data yang terus-menerus berkembang, dimana  data tersebut sangat kompleks sehingga sebuah database relational tidak lagi bisa mengakomodir. 
Salah satu bentuknya adalah ketika suatu data saling berhubungan satu sama lain, maka akan muncul proses duplikasi data. 
Kelebihan NoSQL 

NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar.
Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
Jika database noSQL di jalankan di cluster server (multiple server) maka data akan tersebar secara otomatis dan merata keseluruh server
Kekurangan NoSQL

Hostingnya mahal. beberapa layanan di luar negeri mencharge biaya 100-200USD untuk hosting database noSQL.
Sulitnya mencari hosting Cpanel yang mendukung database MongoDB atau database noSQL lainnya.
Macam Macam NoSQL
CouchDB


CouchDB dikembangkan oleh Apache telah muncul sebelum mongoDB yaitu pada tahun 2005. CouchDB tidak menyimpan datanya dalam tabel melainkan dalam dokumen seperti halnya mongoDB.
Basis data ini juga merupakan proyek open source serta dikembangkan dalam bahasa pemrograman Erlang oleh karena itu kita bisa ikut berkontribusi dalam pengembangan CouchDB agar basis data ini lebih baik.
Cassandra

Cassandra merupakan sistem penyimpanan data terdistribusi untuk menangani jumlah data yang sangat besar dan terstruktur. Cassandra juga dikembangkan Apache.
Cassandra juga merupakan aplikasi open source yang ditulis dalam bahasa Java dengan lisensi Apache License 2.0. Untuk memproses datanya, Cassandra menggunakan bahasa sendiri yang mirip dengan SQL yaitu Cassandra Query Language (CQL).
MongoDB


MongoDB merupakan basis data yang paling populer diantara basis data NoSQL lainnya. Hal ini dikarenakan pemasangan maupun penggunaan mongoDB tidaklah sulit atau merepotkan penggunanya. Selain itu mongoDB juga merupakan salah satu basis data yang open source.
MongoDB merupakan basis data NoSQL yang document based. Ia menyimpan data-datanya dalam suatu dokumen JSON yang disebut BSON (Binary JSON). Dikembangkan sejak tahun 2009, mongoDB sekarang telah mendukung hampir semua bahasa pemrograman untuk dapat berinteraksi dengan mongoDB.
Riak 

Riak merupakan basis data NoSQL terdistribusi yang menyimpan datanya dalam bentu key-value. Riak menawarkan fitur high availability, fault tolerance, operational simplicaity, dan scalability. 
Riak memiliki dua versi yakni Open source edition dan Enterprise edition. Enterprise edition menawarkan dukungan berbayar intensif dari pengembangnya. Pengguna Open source edition dapat bermigrasi kapan saja ke Enterprise edition jika dibutuhkan. Erlang ditulis dalam bahasa pemrograman Erlang dengan lisensi Apache License 2.0.
Redis

Redis merupakan basis data berbasis key-value. Redis merupakan singkatan dari Remote Dictionary Server. Basis data ini dikembangkan oleh Salvatore Sanfilippo pada tahun 2009 dan ditulis dalam bahasa C. Redis banyak dipilih karena memiliki fitur in-memory, networked, dan durabilitas tinggi.
Redis mendukung banyak bahasa pemrograman seperti ActionScript, C/C++, C#, Clojure, Common LIsp, Dart, Erlang, Go, Haskell, Haxe, Io, Java, JavaScript (Node.js), Lua, Objective-C, Perl, PHP, Pure Data, Python, R, Ruby, Scala, Smalltalk, dan Tcl.

Pengantar Komputasi Cloud


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQCTrEwRZciKgtvDQ4-eqZ5LDq-l0cy15QuKUZz4yoXKM6X9o1eMxUdD0g_6JRYueWHeiiegMJ0jtLFh6eXhrRgrY73GA88NJm2dK4yi-IgeTcWeT-kGDpmC0wNVDdRXwcFCjzeZ8mNcA/s200/1.jpg
      A.  Pendahuluan

Perkembangan teknologi di era ini menggunakan konsep – konsep seperti social networking, open, share, colaborations, mobile, easy maintenance, one click, terdistribusi, scalability, concurency, dan transparan. Sampai saat ini trend teknologi Cloud Computing masih terus diteliti dalam penelitian – penelitian para pakar IT dunia. Dengan berbagai kelebihan dan kekurangan, Cloud Computing hadir dengan memudahkan akses data dari mana saja dan kapan saja, karena dengan memanfaatkan internet dan menggunakan perangkat fixed atau mobile device menggunakan internet cloud sebagai tempat penyimpanan data, aplikasi dan lainya. Teknologi ini akan memberikan banyak keuntungan baik dari sisi pemberi layanan (provider) atau dari sisi user. Penerapan teknologi ini memberikan dampak yang sangat signifikan bagi pengembangan teknologi itu sendiri, baik dari sisi pengguna maupun dari sisi industri.

Pengguna diuntungkan dengan semakin mudahnya memperoleh atau mengunduh data secara cepat dan mudah karena banyak layanan yang dibuka oleh pihak industri. Keuntungan bagi pihak industri pun tidak kalah besar dengan kemudahan yang didapat oleh pengguna, karena dengan semakin majunya teknologi cloud computing akan semakin memudahkan industri untuk memasarkan produk dan menyebarkan informasi secara meluas keseluruh penjuru dunia. 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.

     B.     Pengantar Komputasi Grid

Komputasi Grid sebenarnya merupakan sebuah aplikasi pengembangan dari jaringan komputer (network). Hanya saja, tidak seperti jaringan komputer konvensional yang berfokus pada komunikasi antar piranti (device), aplikasi pada grid computing dirancang untuk memanfaatkan sumber daya pada terminal dalam jaringannya. Grid Computing biasanya diterapkan untuk menjalankan sebuah fungsi yang terlalu kompleks atau terlalu intensif untuk dikerjakan oleh satu sistem tunggal. 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.

Menurut definisi 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. Dengan demikian, skala komputasi terdistribusi dapat ditingkatkan secara geografis lebih jauh lagi, melintasi batas – batas domain administrasi yang ada.

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.

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.Misalnya TCP/IP

Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.

Beberapa konsep dasar dari 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. Kegunaan / layanan dari sistem grid sendiri adalah untuk melakukan high throughput computing dibidang penelitian, ataupun proses komputasi lain yang memerlukan banyak resource komputer.

Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:
·         Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle.
·         Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas.
·         Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik.
·         Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPHRf2DGKxDeFcB0CVcQk7it6J1ZFH4Gvmu-IfcCWduzCtw5XX2xWOrNR4DOnzF9OUoq8DEYnQycRSXbsf9-Us2RWbwh0UpUrJm_pqPQgc061HpfK-uUN1H6SGIT4whVIx-rs8bLeOUFsg/s400/b.png

     C.    Virtualisasi

Ada dua istilah yang sedang popouler saat ini dalam hal teknologi komputasi, yaitu Virtualisasi dan Cloud computing, namun saat ini sepertinya banyak yang menganggap bahwa virtualisasi dan cloud computing adalah hal yang sama, padahal sebenarnya cloud computing itu lebih dari sekedar 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. Dalam prakteknya, dengan membeli dan memiliki satu buah mesin, anda seolah – olah memiliki banyak server, sehingga anda bisa mengurangi pengeluaran IT untuk pembelian server baru, komponen, storage, dan software pendukung lainnya.

Dalam hardware virtualization, perangkat lunak bekerja membentuk sebuah virtual machine yang bertindak seolah-olah seperti sebuah komputer asli dengan sebuah sistem operasi terinstall di dalamnya. Salah contoh yang mudah misalkan terdapat satu buah komputer yang telah terinstall GNU/Linux Ubuntu. Kemudian dengan menggunakan perangkat lunak virtualization semisal Virtualbox kita dapat menginstall dua buah sistem operasi lain sebagai contoh Windows XP dan FreeBSD.

Sistem operasi yang terinstall di komputer secara fisik dalam hal ini GNU/Linux Lubuntudisebut sebagai host machine sedangkan sistem operasi yang diinstall diatasnya dinamakan guest machine. Istilah host dan guest dikenalkan untuk memudahkan dalam membedakan antara sistem operasi fisik yang terinstall di komputer dengan sistem operasi yang diinstall diatasnya atau virtualnya.

Perangkat lunak yang digunakan untuk menciptakan virtual machine pada host machine biasa disebut sebagai hypervisor atau Virtual Machine Monitor (VMM). Menurut Robert P. Goldberg pada tesisnya yang berjudul “Architectural Principles For Virtual Computer Systems” pada hal 23 menyebutkan bahwa tipe-tipe dari VMM ada 2 yaitu :

Type 1 berjalan pada fisik komputer yang ada secara langsung. Pada jenis ini hypervisor / VMM benar-benar mengontrol perangkat keras dari komputer host-nya. Termasuk mengontrol sistem operasi-sistem operasi guest-nya. Contoh implementasi yang ada dan sudah saya coba secara langsung ialah VMWare ESXi. Adapun contoh yang lain yang ada seperti Microsoft Hyper-V.
Type 2 berjalan pada sistem operasi diatasnya. Pada tipe ini tentunya guest sistem operasi nya berada di layer diatasnya lagi.

Jenis virtualisasi perangkat-keras adalah sebagai berikut :

Perangkat-Keras
Istilah virtualisasi perangkat-keras mengacu kepada upaya menciptakan mesin virtual yang bekerja layaknya sebuah komputer lengkap dengan sistem operasi. Istilah mesin tuan-rumah(host) mengacu kepada mesin tempat virtualisasi bersemayam sementara istilah mesin tamu(guest) mengacu kepada virtual mesin itu sendiri. Istilah hyperviso mengacu kepada perangkat-lunak atau firmware yang membuat mesin virtual.

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.

Virtualisasi sebagian: Tidak semua aspek lingkungan disimulasikan tidak semua perangkat-lunak dapat langsung berjalan, beberapa perlu disesuaikan untuk dapat berjalan dalam lingkungan virtual ini.

Virtualisasi penuh: Hampir menyerupai mesin asli dan mampu menjalankan perangkat lunak tanpa perlu diubah.

Vitualisasi perangkat-keras harus dibedakan dengan emulasi perangkat-keras. Pada emulasi perangkat-keras sebuah perangkat-keras meniru kerja perangkat-keras lain, sementara pada virtualisasi perangkat-keras sebuah hypervisor (sebuah software) meniru kerja perangkat keras tertentu atau bahkan keseluruhan komputer. Lebih lanjuthypervisor jangan dirancu dengan emulator. Keduanya mempunyai definisi yang sama tapi domain pembicaraannya berbeda.

     D.    Distributed Computation dalam Cloud Computing

Komputasi terdistribusi merupakan bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer. Komputer yang saling berinteraksi untuk mencapai tujuan bersama. Suatu program komputer yang berjalan dalam sistem terdistribusi disebut program didistribusikan, dan didistribusikan pemrograman adalah proses menulis program tersebut. Distributed computing juga mengacu pada penggunaan sistem terdistribusi untuk memecahkan masalah komputasi. Dalam distributed computing, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.

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.

TEORI KOMPUTASI


A.   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 DIBAGI MENJADI 3
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.      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.

Ø  BEBERAPA MODEL KOMPUTASI:
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

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

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

CONTOH


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










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

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


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



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

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

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

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