Selasa, 16 Juni 2015

Cloud computing


Cloud computing adalah sebuah istilah dalam ilmu komputer yang berarti komputasi awan yang berbasis internet atau biasa dalam dunia IT dengan sebutan "The Cloud". Istilah lain dalam teknologi cloud computing yaitu Sebuah jaringan komputer yang saling berhubungan dengan komputer lain yang dapat dijalankan secara bersamaan. Cloud computing sebenarnya penerapannya terpaku pada satu server atau banyak yang telah disediakan yang layanannya berupa penyimpanan data di server.

Cloud computing yang datanya disimpan dalam server bersifat permanen artinya semua pengguna dapat mengakses secara bersamaan melalui akses internet, dan menggunakan datanya juga secara bersamaan. Untuk saat ini cloud computing menjadi sebuah tren teknologi terbaru 2014 dimana setiap orang akan melakukan penyimpanan datanya melalui cloud computing karena dengan menggunakan cloud computing data maka semua datanya akan aman karena terproteksi.

APA ITU VIRTUALISASI
Virtualisasi bisa diartikan sebagai pembuatan suatu bentuk atau versi virtual dari sesuatu yang bersifat fisik, misalnya sistem operasi,  perangkat storage/penyimpanan data atau sumber daya jaringan.
Virtualisasi bisa diimplementasikan kedalam berbagai bentuk, antara lain (Harry Sufehmi, Pengenalan Virtualisasi, 20090607) :
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

KEUNTUNGAN PENGGUNAAN VIRTUALISASI
1.       Pengurangan Biaya Investasi Hardware. Investasi hardware dapat ditekan lebih rendah karena virtualisasi hanya mendayagunakan kapasitas yang sudah ada. Tak perlu ada penambahan perangkat komputer, server dan pheriperal secara fisik. Kalaupun ada penambahan kapasitas harddisk dan memori, itu lebih ditujukan untuk mendukung stabilitas kerja komputer induk, yang jika dihitung secara finansial, masih jauh lebih hemat dibandingkan investasi hardware baru.
2.       Kemudahan Backup & Recovery. Server-server yang dijalankan didalam sebuah mesin virtual dapat disimpan dalam 1 buah image yang berisi seluruh konfigurasi sistem. Jika satu saat server tersebut crash, kita tidak perlu melakukan instalasi dan konfigurasi ulang. Cukup mengambil salinan image yang sudah disimpan, merestore data hasil backup terakhir dan server berjalan seperti sedia kala. Hemat waktu, tenaga dan sumber daya.
3.       Kemudahan Deployment. Server virtual dapat dikloning sebanyak mungkin dan dapat dijalankan pada mesin lain dengan mengubah sedikit konfigurasi. Mengurangi beban kerja para staff IT dan mempercepat proses implementasi suatu sistem
4.       Mengurangi Panas. Berkurangnya jumlah perangkat otomatis mengurangi panasnya ruang server/data center. Ini akan berimbas pada pengurangan biaya pendinginan/AC dan pada akhirnya mengurangi biaya penggunaan listrik
5.       Mengurangi Biaya Space. Semakin sedikit jumlah server berarti semakin sedikit pula ruang untuk menyimpan perangkat. Jika server ditempatkan pada suatu co-location server/data center, ini akan berimbas pada pengurangan biaya sewa
6.       Kemudahan Maintenance & Pengelolaan. Jumlah server yang lebih sedikit otomatis akan mengurangi waktu dan biaya untuk mengelola. Jumlah server yang lebih sedikit juga berarti lebih sedikit jumlah server yang harus ditangani
7.       Standarisasi Hardware. Virtualisasi melakukan emulasi dan enkapsulasi hardware sehingga proses pengenalan dan pemindahan suatu spesifikasi hardware tertentu tidak menjadi masalah. Sistem tidak perlu melakukan deteksi ulang hardware sebagaimana instalasi pada sistem/komputer fisik
8.       Kemudahan Replacement. Proses penggantian dan upgrade spesifikasi server lebih mudah dilakukan. Jika server induk sudah overload dan spesifikasinya tidak mencukupi lagi, kita bisa dengan mudah melakukan upgrade spesifikasi atau memindahkan virtual machine ke server lain yang lebih powerful

KERUGIAN PENGGUNAAN VIRTUALISASI
1.       Satu Pusat Masalah. Virtualisasi bisa dianalogikan dengan menempatkan semua telur didalam 1 keranjang. Ini artinya jika server induk bermasalah, semua sistem virtual machine didalamnya tidak bisa digunakan. Hal ini bisa diantisipasi dengan menyediakan fasilitas backup secara otomatis dan periodik atau dengan menerapkan prinsip fail over/clustering
2.       Spesifikasi Hardware. Virtualisasi membutuhkan spesifikasi server yang lebih tinggi untuk menjalankan server induk dan mesin virtual didalamnya
3.       Satu Pusat Serangan. Penempatan semua server dalam satu komputer akan menjadikannya sebagai target serangan. Jika hacker mampu menerobos masuk kedalam sistem induk, ada kemungkinan ia mampu menyusup kedalam server- server virtual dengan cara menggunakan informasi yang ada pada server induk
4.        
Perbedaan antara Virtualisasi dan Cloud Computing
Ada dua istilah yang sedang populer 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 sama, padahal sebenarnya cloud computing 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.
Sedangkan cloud computing adalah sebuah teknologi yang menggabungkan virtualisasi dan grid computing. Jadi selain ada proses virtualisasi,juga terdapat grid computing, dimana seluruh beban proses komputasi yang ada akan didistribusikan ke berbagai server yang saling terhubung di dalam cloud, sehingga prosesnya akan jauh lebih ringan. Dengan menggabungkan proses virtualisasi dan grid computing, Anda akan mendapatkan efisiensi dan hasil performa yang sangat optimal dalam proses komputasi. Dengan cloud computing, seolah-olah Anda memiliki infrastruktur super besar yang mampu melakukan proses komputasi dan penyimpanan data tanpa batas, padahal secara fisik, Anda tidak memiliki atau membeli apa-apa, semuanya berada di dalam "cloud" yang dapat Anda gunakan secara on-demand dan dapat diakses melalui jaringan private maupun publik. Kesimpulannya, cloud computing lebih dari sekedar virtualisasi. Cloud computing merupakan gabungan antara teknologi virtualisasi dan grid computing. Tentunya implementasi cloud computing mampu memberikan hasil yang jauh lebih efisien dan powerfull dalam hal proses komputasi dan pengelolaan resource IT secara terdistribusi.
Pengertian dan Fungsi Teknologi Cloud Computing
Kelebihan Cloud Computing:
1. Menghemat biaya dan ruang infratructure pembelian sumber daya komputer
2. Bisa mengakses file dimana saja dan kapan saja
3. Bisa menghemat waktu pada perusahaan sehingga bisa langsung fokus pada perkembangan infrastructure
4. Dapat dengan mudah di monitoring dari satu server
5. Operasional dan manajemen lebih mudah dan sederhana
6. Menghemat biaya operasional pada sistem informasi yang dibangun
7. Kolaborasi yang terpercaya

Kekurangan Cloud Computing:
1. Komputer akan menjadi lemot  atau lambat atau tidak bisa dipakai sama sekali bila internet putus
2. Komputer akan menjadi lambat kinerjanya jika koneksi internet kita juga lambat
3. Komputer akan menjadi sangat lambat karena diakses oleh banyak pengguna sehingga server akan menerima banyak sekali permintaan
4. Jika tidak mempunyai backup yang handal maka hal terburuk ini akan timbul karena semua data berada di satu server pada cloud computing


Karakteristik Cloud Computing:

1. On-Demand Self-Services
Merupakan sebuah layanan cloud computing yang harus dapat dimanfaatkan oleh para pengguna melalui beberapa mekanisme swalayan dan dapat langsung tersedia pada saat dibutuhkan oleh para pengguna.
2. Broad Network Access
Merupakan sebuah layanan cloud computing harus bisa diakses dari kapan saja, dimana saja, dengan software apa pun, yang terpenting kita terhubung ke jaringan internet. misal : Handphone, tablet.
3. Resource Pooling
Merupakan sebuah layanan cloud computing yang harus tersedia secara terpusat dan bisa membagi sumber daya secara cepat dan efisien.
4. Rapid Elasticity
Merupakan sebuah layanan cloud computing yang harus dapat menaikan dan menurunkan kapasitas sesuai dengan kebutuhan server dan pengguna.
5. Measured Service
Merupakan sebuah layanan cloud computing yang harus disediakan secara terukur dan teratur, karena ini akan dilakukan dalam proses pembayaran.
Sejarah Cloud Computing
Tahun 1960 John McCarthy, Pakar Komputasi dan Intelegensi Buatan dari MIT. “Suatu hari nanti, komputasi akan menjadi Infrastruktur publik seperti halnya listrik dan telepon.”  Ini adalah sebuah ide yang mengawali suatu bentuk komputasi yang kita kenal dengan istilah Cloud Computing. 
Tahun 1995 Larry Ellison, pendiri perusahaan Oracle. “Network Computing” Ide ini sebenarnya cukup unik dan sedikit menyindir perusahaan Microsoft pada saat itu. Intinya, kita tidak harus "menanam" berbagai perangkat lunak kedalam PC pengguna, mulai dari sistem operasi hingga perangkat lunak lainya. Cukup dengan koneksi dengan server dimana akan disediakan sebuah environment yang mencakup berbagai kebutuhan PC pengguna.
Pada era ini juga wacana “Network Computing” cukup populer. Banyak perusahaan yang menggalang sistem ini contohnya Sun Mycrosystem dan Novell Netware. Disayangkan kualitas jaringan komputer saat itu masih belum memadai, penggunapun cenderung memilih PC karena cenderung lebih cepat. 

Akhir Era-90 Lahir konsep ASP (Application Service Provider) yang ditandai dengan kemunculan perusahaan pusat pengolahan data. Ini merupakan sebuah perkembangan pada kualitas jaringan komputer. Akses untuk pengguna menjadi lebih cepat. 

Tahun 2000 Marc Benioff, mantan wakil presiden perusahaan Oracle. “salesforce.com” ini merupakan sebuah perangkat lunak CRM dengan basis SaaS (Software as a Service). Tak disangka gebrakan ini mendapat tanggapan hebat. Sebagai suksesor dari visi Larry Ellison, boss-nya. Dia memiliki sebuah misi yaitu “The End of Software”.  
2005 – Sekarang Cloud Computing sudah semakin meningkat populatitasnya, dari mulai penerapan sistem, pengunaan nama, dll. Amazon.com dengan EC2 (Elastic Computer Cloud); Google dengan Google App. Engine; IBM dengan Blue Cord Initiative; dsb. Perhelatan cloud computing meroket sebagaimana berjalanya waktu. Sekarang, sudah banyak sekali pemakaian sistem komputasi itu, ditambah lagi dengan sudah meningkatnya kualitas jaringan komputer dan beragamnya gadget yang ada. Contoh dari pengaplikasianya adalah Evernote, Dropbox, Google Drive, Sky Drive, Youtube, Scribd, dll.

Contoh Komputasi Awan 
Google Drive adalah layanan cloud storage dari Google yang diluncurkan pada akhir April 2012, yaitu layanan untuk menyimpan file di internet pada storage yang disediakan oleh Google. Dengan menyimpan file di Google Drive maka pemilik file dapat mengakses file tersebut kapanpun dimanapun dengan menggunakan komputer desktop, laptop, komputer tablet ataupun smartphone. Dan file tersebut dapat di share dengan orang lain untuk berbagi pakai dan juga kolaborasi peng-edit-annya. Kapasitas yang disediakan oleh google drive untuk layanan gratis adalah 5GB, untuk menggunakan kapasitas lebih dari itu maka akan dikenakan biaya tambahan. 
Dengan menggunakan Google Drive, berarti pemilik file telah memiliki back-up file nya di internet sehingga jika terjadi sesuatu pada file yang disimpan di komputer atau laptop, misalnya file tersebut rusak atau hilang atau terkena virus, atau komputer/laptopnya rusak yang menyebabkan tidak dapat digunakan, maka file yang berada di Google Drive tetap aman dan tetap dapat diakses menggunakan komputer lain yang terhubung ke internet.
Grid Computing
Pengertian dari 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.

Cara Kerja Grid Computing
Menurut tulisan singkat oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa suatu sistem melakukan komputasi grid yaitu :
1.      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.
2.      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.
3.      Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.
Keuntungan Grid Computing
Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:
1.      Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
2.      Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas
3.      Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik
4.      Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik
Secara generik, keuntungan dasar dari penerapan komputasi Grid, yaitu:
1.      Perkalian dari sumber daya: Resource pool dari CPU dan storage tersedia ketika idle
2.      Lebih cepat dan lebih besar: Komputasi simulasi dan penyelesaian masalah apat berjalan lebih cepat dan mencakup domain yang lebih luas
3.      Software dan aplikasi: Pool dari aplikasi dan pustaka standard, Akses terhadap model dan perangkat berbeda, Metodologi penelitian yang lebih baik
4.      Data: Akses terhadap sumber data global, dan Hasil penelitian lebih baik

Konsep Grid Computing
a.      Sumberdaya Infrastruktur
Mencakup hardware seperti penyimpan, prosesor, memori, dan jaringan; juga software yang didisain untuk mengelola hardware ini, seperti database, manajemen penyimpan, manajemen sistem, server aplikasi dan system operasi.
b.       Sumberdaya Aplikasi
Adalah perwujudan logika bisnis dan arus proses dalam software aplikasi. Sumberdaya yang dimaksud bisa berupa aplikasi paket atau aplikasi buatan, ditulis dalam bahasa pemrograman, dan merefleksikan tingkat kompleksitas. Sebagai contoh, software yang mengambil pesanan dari seorang pelanggan dan mengirimkan balasan, proses yang mencetak slip gaji, dan logika yang menghubungkan telepon dari pelanggan tertentu kepada pihak tertentu pula.
c.        Sumberdaya Informasi
Saat ini, informasi cenderung terfragmentasi dalam perusahaan, sehingga sulit untuk memandang bisnis sebagai satu kesatuan. Sebaliknya, grid computing menganggap informasi adalah sumberdaya, mencakup keseluruhan data pada perusahaan dan metadata yang menjadikan data bisa bermakna. Data bias berbentuk terstruktur, semi-terstruktur, atau tidak terstruktur, tersimpan di lokasi manapun, seperti dalam database, sistem file local.
Integrasi Database
          Integrasi database merupakan suatu penggabungan database yang dapat saling berhubungan satu sama lain dengan berbagai cara yang sesuai keperluan. Dalam melakukan integrasi database, data dalam sebuah sistem tidak boleh hilang atau kekurangan satu datapun.  Tujuan untuk melakukan integrasi database yaitu untuk mempermudah pekerjaan dalam mengelola data yang berskala besar. Dengan dilakukannya integrasi database maka database-database yang disekitarnya dapat saling berhubungan dengan mudah sesuai dengan keperluannya masing-masing.

Contoh dari database cloud computing
1. Xeround
Merupakan layanan database cloud dengan basis MYsql.Xeround saat ini telah tersedia di Amazon Web Services yang data centernya terletak di Amerika utara dan Eropa. Perangkat lunak ini menggunakan partisi virtual dimana data partisi yang dipisahkan – atau diabstraksikan – dari sumber daya fisik. Ini partisi virtual memegang salinan baik data dan indeks, untuk memastikan ketersediaan tinggi dan kinerja.
2. Microsoft Sql Azure Database
Microsoft ® SQL Azure ™ Database adalah database layanan awan relasional (RDBMS) yang dibangun pada SQL Server ® teknologi. Ini adalah, sangat tersedia scalable, multi-penyewalayanan database yang diselenggarakan oleh Microsoft di awan. Database SQL Azuremembantu untuk meringankan penyediaan dan penyebaran database multipel. Pengembang tidak perlu menginstal, setup, patch atau mengelola perangkat lunak apapun, karena semua itudiurus oleh Microsoft dengan platform ini sebagai layanan (PAAS). Ketersediaan tinggi dan toleransi kesalahan adalah built-in dan tidak ada administrasi fisik yang diperlukan.Pelanggan dapat menggunakan pengetahuan yang ada di T-SQL pengembangan dan modelrelasional data untuk simetri akrab dengan yang ada pada database lokal. Selain itu, pelanggan bisa mendapatkan produktif pada SQL Azure cepat dengan menggunakan perkembangan yang sama dan alat-alat manajemen yang mereka gunakan untuk lokal layanan database.
Distributed Computation dalam Cloud Computing
Komputasi Terdistribusi merupakan salah satu tujuan dari Cloud Computing, karena menawarkan pengaksesan sumber daya secara paralel, 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 dan juga dapat menghemat biaya operasional karena tidak membutuhkan sumber daya (resourches).

Bidang ilmu komputer yang berkaitan
Bidang ilmu komputer yang berkaitan dengan sistem terdistribusi disebut komputasi terdistribusi. Sebuah sistem terdistribusi terdiri dari lebih dari satu komputer self-directed berkomunikasi melalui jaringan. Komputer-komputer ini menggunakan memori lokal mereka sendiri. Semua komputer dalam sistem terdistribusi berbicara satu sama lain untuk mencapai tujuan bersama tertentu. Atau, pengguna yang berbeda pada setiap komputer mungkin memiliki kebutuhan individu yang berbeda dan sistem terdistribusi akan melakukan koordinasi sumber daya bersama (atau bantuan berkomunikasi dengan node lain) untuk mencapai tugas-tugas masing-masing. Node berkomunikasi menggunakan message passing. Komputasi terdistribusi juga dapat diidentifikasi sebagai menggunakan sistem terdistribusi untuk memecahkan masalah besar tunggal dengan melanggar itu dengan tugas, masing-masing yang dihitung masing-masing komputer dari sistem terdistribusi. Biasanya, mekanisme toleransi berada di tempat untuk mengatasi kegagalan komputer individu. Struktur (topologi, delay dan kardinalitas) dari sistem ini tidak dikenal di muka dan itu bersifat dinamis. Komputer individu tidak harus tahu segala sesuatu tentang seluruh sistem atau masukan lengkap (untuk masalah yang akan dipecahkan).
MapReduce dan NoSQL (Not Only SQL)
MapReduce adalah sebuah model pemrograman untuk pemrosesan data yang dapat mengolah data-data terdistribusi yang berukuran besar secara paralel.
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 produkadalah 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 merupakan kepanjangan dari Not Only SQL. Sesuai kepanjangannya NoSQL tidak menggunakan sintaks SQL untuk memyimpan data. Sebenarnya NoSQL ini dikembangkan pertama kali pada tahun 1998 oleh Carlo Strozzi. Lalu, pada tahun 2009, Eric Evans memperkenalkan kembali teknologi NoSQL. NoSQL ini jauh berbeda dengan relational database. Penyimpanan data dalam NoSQL tidak memerlukan skema tabel yang tetap seperti relational database.

NO SQL Database
           NO SQL pertama kali digunakan pada tahun 1998 sebagai nama untuk open source database yang ringan tidak mengekspos antarmuka SQL. Penulisnya, Carlo Strozzi, mengklaim bahwa sebagai gerakan NoSql “berangkat dari model relasional yang lebih tepat disebut NoREL atau sesuatu yang berpengaruh. Istilah ini diperkenalkan kembali pada awal 2009 oleh karyawan Rackspace, Eric Evans, ketika Johan Oskarsson dari Last.fm ingin mengorganisir sebuah acara untuk membahas open source database terdistribusi. Adapun kelebihannya, antara lain
Vendor relasional database besar (Oracle, IBM, Sybase dan Microsoft) merupakan andalan untuk menyimpan data.
Pertumbuhan internet yang semakin besar (mereka mencari RDBMS yang berbiaya rendah seperti MySQL dan PostgreSQL).
Pengunjung web yang besar menyebabkan lalu lintas data yang besar sehingga dapat mengakibatkan “efek slash dot”.


SUMBER


Minggu, 22 Maret 2015

Implementasi komputasi dalam bidang Fisika

             Komputasi sendiri adalah sebuah proses perhitungan, pemrosesan informasi atau pemecahan masalah dengan menggunakan algoritma. Komputasi merupakan bagian dari ilmu komputer yang mempunyai tugas untuk menganalisa apa saja yang bisa dan tidak bisa dilakukan oleh secara komputasi, dari sini lah muncul Teori Komputasi yang menjadi sub-bidang ilmu komputer dan ilmu matematika.

Asal muasal komputasi sendiri adalah kebutuhan manusia untuk menghitung sebagai contoh dalam sistem barter sistem kalender dan lain lain. seiring perkembangan zaman perhitungan manusia pun semakin kompleks dan banyak dari situ muncullah kebutuhan akan mesin penghitung, maka lahirlah komputer dan komputer pun berkembang menjadi sebuah alat yang bisa melakukan lebih dari sekedar perhitungan semata.

 Kembali ke teori komputasi, secara umum teori komputasi adalah ilmu yang menekankan pada penyusunan model matematika dan penyelesaian numerik serta penggunaan komputer untuk memecahkan persoalan dalam dunia sains. tapi pada perkembangannya sekarang ini teori komputasi juga digunakan untuk menemukan prinsip - prinsip baru dalam berbagai bidang.

Komputasi juga biasa disebut komputer secara fisik. Contoh dari sistem fisik yaitu komputer digital, komputer quantum, komputer penganalisa DNA, dll. dari sudut pandang ini sampai muncul cabang ilmu bernama Physic of Computation Bahkan ada sudut pandang yang lebih radikal berbasis dalil Digital Physic yang menyatakan bahwa evolusi alam semesta itu sendiri adalah sebuah proses komputasi – disebut Pancomputationalism.



Penerapan Model Komputasi:
- Mesin Mealy: mesin Mealy adalah otomasi fase berhingga (finite state automaton atau finite state tranducer) yang menghasilkan keluaran berdasarkan fase saat itu dan bagian masukan/input.
- Mesin Moore: otomasi fase berhingga (finite state automaton) di mana keluarannya ditentukan hanya oleh fase saat itu (dan tidak terpengaruh oleh bagian masukan/input).
- Petri Net: salah satu model untuk merepresentasikan sistem terdistribusi diskret. Sebagai sebuah model, Petri net merupakan grafik 2 arah yang terdiri dari place,transition, dan tanda panah yang menghubungkan keduanya.

Macam-macam Komputasi Modern:
Komputasi modern terbagi tiga macam, yaitu komputasi mobile (bergerak), komputasi grid, dan komputasi cloud (awan). Penjelasan lebih lanjut dari jenis-jenis komputasi modern sebagai berikut :

1. Mobile computing
Mobile Computing adalah sebuah paradigma baru dalam kemajuan teknologi yang dapat melakukan komunikasi dengan jaringan  nirkabel sehingga user mampu melakukan perpindahan.

2. Grid computing
secara singkat, komputasi grid atau grid computing adalah penggunaan sumber daya komputer secara bersama-sama dimana komputer tersebut terpisah secara geografis. Komputasi grid ini biasanya digunakan untuk memecahkan suatu permasalahan berskala besar.

3. Cloud computing
Cloud computing adalah kumpulan dari beberapa resources yang terintegrasi menjadi satu dan digunakan melalui web.
Sebenarnya, cloud computing ini didasarkan pada teknologi grid computing yang membuat skalabilitas suatu sistem komputasi menjadi sangat besar dengan cara menggabungkan beberapa sumber daya komputer menjadi satu resource.
Implementasi komputasi di dalam kehidupan sehari-hari : Fisika, Kimia, Matematika, Ekonomi, Geologi, Geografi.

Didalam bidang fisika:
Fisika komputasi menyediakan lebih luas, lebih seimbang, dan pendidikan yang lebih fleksibel dari fisika utama tradisional. Selain itu, menyajikan fisika dalam problemsolving ilmiah, paradigma adalah cara yang lebih efektif dan efisien untuk mengajar fisika daripada pendekatan tradisional. Dalam cabang ilmu fisika terdapat 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.

Ini dianggap sebagai pertengahan antara fisika teoritis dan fisika eksperimental. Implementasi ilmu dibidang fisika ini terletak pada implementasi algoritma numerik dalam memecahkan teori kuantitatif fisika yang sudah ada. Pemahaman fisika pada teori, experimen, dan komputasi haruslah sebanding, agar dihasilkan solusi numerik dan visualisasi /pemodelan yang tepat untuk memahami masalah fisika.

            Untuk melakukan perkerjaan seperti evaluasi integral, penyelesaian persamaan differensial, penyelesaian persamaan simultans, mem-plot suatu fungsi/data, membuat pengembangan suatu seri fungsi, menemukan akar persamaan dan bekerja dengan bilangan komplek yang menjadi tujuan penerapan fisika komputasi.


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