Senin, 25 Juni 2018

Pengantar Komputasi Modern # (Tugas 3)



Arsitektur Komputer Paralel
 
 
 
 
 
1. DEFINISI ARSITEKTUR KOMPUTER PARALEL
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan. Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.

Arsitektur paralel diperlukan karena :
  •     Tuntutan aplikasi
  •     Trend Teknolog
  •     Trend Arsitekture
  •     Ekonomi
  •     Trend saat ini:
– Kebanyakan mikroprosesor sekarang ini mempunyai fasilitas untuk mendukung multiprosesor.
– Server dan workstation berarsitektur multiprosesor : Sun, SGI, DEC, COMPAQ!…
– Mikroprosesor yad (dan sekarang) adalah multiprosesor

Untuk melakukan berbagai jenis komputasi paralel diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk digunakan perangkat lunak pendukung yang biasa disebut middleware yang berperan mengatur distribusi antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.

II.     TUJUAN PARALLEL PROCESSING

Tujuan utama dari pemrosesan paralel adalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.

III.     JENIS-JENIS ARSITEKUR KOMPUTER PARALLEL




Sesuai taksonomi Flynn, seorang Designer Processor, Organisasi Prosesor dibagi menjadi 4 :
A.    SISD (Single Instruction Single Data Stream)
Arus Instruksi Tunggal dan Data Tunggal

B.    SIMD (Single Instruction Multiple Data Stream)
Arus Instruksi Tunggal dan Multiple Data

C.    MISD (Multiple Instruction Single Data Stream)
Arus Multiple Instruksi dan Data Tunggal

D.    MIMD (Multiple Instruction Multiple Data Stream)
Arus Multiple Instruksi dan Multiple Data




1.  Organisasi Prosesor SISD
  •     Prosesor tunggal
  •     Aliran instruksi tunggal
  •     Data disimpan dalam memori tunggal
  •     Uni-processor









 Keterangan:
CU      : Control Unit
IS        : Instruction Stream (Arus Instruksi)
PU      : Processing Unit (Unit Pengolah yang biasa disebut ALU)
DS      : Data Stream (Arus Data)
MU     : Memory Unit (Unit Memori)

2.   Single Instruction, Multiple Data Stream – SIMD
  •     Single machine instruction
  •     Mengontrol eksekusi secara simultan
  •     sejumlah elemen-elemen pengolahan
  •     Berdasarkan Lock-step
  •     Setiap pengolahan elemen memiliki hubungan dengan memori data
  •     Setiap instruksi dieksekusi pada kumpulan data yang berbeda oleh prosesor yang berbeda
  •     Prosesor Vector and array

SIMD dibagi menjadi beberapa bentuk yaitu :
  •  Exclusive-Read, Exclusive-Write (EREW) SM SIMD
  •  Concurent-Read, Exclusive-Write (CREW) SM SIMD
  •  Exclusive-Read, Concurrent-Write (ERCW) SM SIMD
  •  Concurrent-Read, Concurrent Write (CRCW) SM SIMD



  3.  Multiple Instruction, Single Data Stream – MISD

    Rangkaian dari data
    Dikirimkan ke kumpulan prosesor
    Setiap prosesor mengeksekusi urutan instruksi yang berbeda
    Belum pernah diimplementasikan (komesial)


  4.   Multiple Instruction, Multiple Data Stream- MIMD

    Kumpulan/sejumlah prosesor
    Mengeksekusi secara simultan urutan instruksi yang berbeda
    Kumpulan data yang berbeda
    SMP, Cluster and sistem NUMA

 


 IV.     KOMPONEN-KOMPONEN UTAMA

Sistem komputer paralel dibedakan dari cara kerja memorinya menjadi shared memory dan distributed memory. Shared memory berarti memori tunggal diakses oleh satu atau lebih prosesor untuk menjalankan instruksi sedangkan distributed memory berarti setiap prosesor memiliki memori sendiri untuk menjalankan instruksi.

Adapun komponen-komponen utama dari arsitektur komputer paralel cluster PC antara lain:

    Prosesor (CPU). Bagian paling penting dalam sistem, untuk multicore terdapat lebih dari satu core yang mengakses sebuah memori (shared memory).
    Memori. Bagian ini dapat diperinci lagi menjadi beberapa bagian penyusunnya seperti RAM, cache memory dan memori eksternal.
    Sistem Operasi. Software dasar untuk menjalankan sistem komputer.
    Cluster Middleware. Antarmuka antara hardware dan software.
    Programming Environment dan Software Tools. Software yang digunakan untuk pemrograman paralel termasuk software pendukungnya.
    User Interface. Software yang menjadi perantara hardware dengan user.
    Aplikasi. Software berisi program permasalahan yang akan diselesaikan.
    Jaringan. Penghubung satu PC (prosesor) dengan PC yang lain sehingga memungkinkan pemanfaatan sumberdaya secara simultan.

Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:

 

Rabu, 25 April 2018

Pengantar Komputasi Cloud ( NoSQL Database )


Pengertian NoSQL Database

NOSQL menurut Wikipedia adalah sistem menejemen database yang berbeda dari sistem menejemen database relasional yang klasik dalam beberapa hal. NOSQL mungkin tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horisontal. Akademisi menyebut databaseseperti ini sebagai structured storage, istilah yang didalamnya mencakup sistem menejemen database relasional. NOSQL adalah database generasi terbaru yang mengarahkan kepada database yang tidak berelasi (non-relational), dapat disebarkan kepada siapapun (open-source) dan berskala horisontal (horizontal scale).

Johan Oskarsson dari Last.fm memperkenalkan kembali istilah NOSQL pada awal 2009 ketika ia menyelenggarakan sebuah acara untuk membahas “Distributed Open Source dan Non-relational Database”. Nama berusaha untuk label munculnya peningkatan jumlah non-relasional, didistribusikan menyimpan data, termasuk kloning open source dari Google Bigtable/MapReduce dan Amazon Dynamo.
Berbeda dengan basis data SQL dimana meskipun berbeda-beda pembuat namun cara kerja NOSQL maupun cara penggunaannya relatif sama. Contohnya sama-sama menggunakan tabel yang dihubungkan oleh relasi-relasi, manipulasi data dengan bahasa SQL dan sb. Basis data NOSQL bisa sangat berbeda satu sama lain.
Sebagian besar sistem NOSQL pada masa awal tidak berusaha untuk memberikan atomicity, konsistensi, isolasi dan daya tahan jaminan, bertentangan dengan praktik yang berlaku di antara sistem databaserelasional. Namun di kemudian hari, beberapa database NOSQL dengan pembaruan terkini sudah mampu mengintegrasikan database yang non-relasional ke dalam bentuk database relasional sehingga dapat mempermudah pengguna yang masih belum akrab dengan bahasa standar yang diterapkan NOSQL.

Pengelompokan database noSQL

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

        Bersumber dari halaman resmi NOSQL (http://nosql-database.org), NOSQL mengelompokkan database NOSQL ke dalam beberapa kategori, yaitu

1.    Wide Column Store / Column Families
Contoh : Accumulo, Casssandra, Clouddata, ConcourseDB, Hadoop /Hbase, Hypertable, kdb+, dll.

2.    Document Store
Contoh : CouchDB, Couchbase, Clusterpoint, Elasticserach, Mark-Logic, MongoDB, OrientDB, dll.

3.    Key Value / Tuple Store
Contoh : Aerospike, BangDB, BerkeleyDB, Chordless, DynamoDB, GenieDB, LevelDB, Riak, Redis, Oracle NOSQL Database, Tarantool, dll.

4.    Graph Databases
Contoh : ArangoDB, OrientDB, Infinite Graph, Neo4J, OpenLink Virtuoso, Stardog, WhiteDB, dll.
5.    Multimodel Databases
Contoh : Alchemy DB, ArangoDB, CortexDB, Datomic,FoundationDB, OrientDB, WonderDB, dll.

6.    Object Databases
Contoh : db4o, GemStone/S, HSS DB, Magma, Objectivity, siaqodb, Star-counter, VelocityDB, Versant, ZODB.

7.    Grid & Cloud Database
Contoh : Crate Data, GigaSpaces, GemFire, Hazelcast, Coherence, Queplix, dll.

8.    Solutions XML Databases
Contoh : BaseX, EMC Documentum xDB, eXist, Qizx,Sedna,  dll.

9.    Multidimensional Databases
Contoh : Globals, GT.M, Inter-systems Cache, MiniM DB, SciDB, dll.

10. Multidivalue Databases
Contoh : Model204 DB, OpenInsight, OpenQM, Reality, U2, dll.

11. Event Sourcing
Contoh : Eventstore.

12. Time Series Databases
Contoh : Axibase.



Diantara banyak database NOSQL yang ada berdasarkan riset salah satu website pada Juli 2015 menunjukkan database NOSQL paling populer saat ini secara berurutan adalah MongoDBApache CassandraRedisSolrElasticSearchHBaseSplunkmemcached, dan Neo4j.
Terdapat tiga hal besar yang mempengaruhi perkembangan ini yaitu jumlah user yang banyak, jumlah data yang besar dan cloud computing. Dan dengan 3 hal besar diatas juga menjadikan sistem database harus mampu bergerak secara :

1.   Data harus bisa bergerak secara flexible,
2.   Harus mampu bergerak secara cepat dengan data dan user yang besar;
3.   Dan yang terakhir peningkatan performa untuk dapat memuaskan user yang menginginkan pengolahan data yang cepat.

Perbedaan SQL dengan NoSQL

1)        Karena basisdata SQL bersifat relasional, dari sinilah asal nama sistem manajemen basisdata relasional (RDBMS), basisdata NoSQL adalah non-relasional atau terdistribusi. Basisdata SQL berbasis tabel sedangkan basisdata NoSQL berbasis dokumen, basisdata grafik, penyimpanan kolom lebar, atau pasangan kunci-nilai. Bahasa query terstruktur adalah asal SQL (Structured Query Language) mendapatkan namanya. Dalam NoSQL DB, fokus untuk permintaan berada pada koleksi dokumen. Hal ini kadang-kadang disebut Unstructured Query Language (UnQL). Sintaks UnQL bervariasi dari satu basisdata ke basisdata yang lain.

2)        Dalam basisdata SQL data dalam bentuk tabel yang terdiri dari sejumlah baris, sedangkan data dalam NoSQL tidak memiliki definisi skema standar yang harus dipatuhi. Basisdata NoSQL memiliki skema yang dinamis sementara basisdata SQL terdiri dari skema yang telah ditetapkan.

3)        Basisdata NoSQL adalah horizontal terukur sementara SQL DB vertikal terukur. Untuk memperbesar skala NoSQL DB, tambahkan server DB di cluster untuk load balancing. Untuk memperbesar skala SQL DB, tambahkan tenaga dari CPU, SSD, RAM dan perangkat keras lainnya pada server. Ini berarti NoSQL adalah pilihan terbaik jika skalabilitas adalah pertimbangan utama.
4)        SQL memungkinkan untuk interaksi karena merupakan bahasa query deklaratif. Setelah anda menyatakan apa yang anda inginkan misalnya untuk menampilkan, DB mengekstrak hasil setelah membangun algoritma secara internal. Dengan NoSQL, MapReduce, menjadi teknik permintaan prosedural, mengharuskan bahwa anda tidak hanya tahu apa yang anda inginkan, tetapi anda menyatakan persis bagaimana untuk menghasilkan jawabannya. Peningkatan interaksi dengan data memungkinkan untuk wawasan baru yang akan membantu pengembangan produk.

5)        SQL telah digunakan beberapa waktu dan ini menjelaskan mengapa menggunakan standar. Meskipun beberapa vendor memperkenalkan dialek untuk antarmuka mereka, intinya telah distandarkan dan spesifikasi tambahan seperti JDBC dan ODBC menyediakan antarmuka SQL yang stabil dan tersedia secara luas. Hal ini memungkinkan sebuah ekosistem operator dan alat manajemen untuk membantu dalam merancang, memantau, memeriksa, mengeksplorasi, dan membangun aplikasi pada sistem SQL. Ini berarti programmer SQL dan pengguna dapat menggunakan kembali pengetahuan UI dan API di sistem backend yang berbeda, sehingga mengurangi waktu pengembangan aplikasi. Standarisasi juga penting karena memungkinkan alat deklaratif ETL (Extract, Transform, Load) pihak ketiga. Alat-alat ini memungkinkan anda untuk mengalirkan data di sistem dan antar basisdata.

6)        Basisdata SQL lebih cocok untuk lingkungan permintaan-intensif kompleks. Hal ini karena NoSQL tidak memiliki antarmuka standar untuk melakukan query kompleks pada tingkat tinggi dan query pada NoSQL tidak sebaik query SQL.

7)        Basisdata NoSQL lebih cocok untuk penyimpanan data hirarkis. Hal ini karena NoSQL mengikuti metode penyimpanan pasangan kunci-nilai yang mirip dengan JSON data. Hal ini membuat NoSQL pilihan terbaik untuk data besar sejak saat ini, kebanyakan vendor SQL telah menambahkan dukungan tipe-JSON serta dukungan dokumen XML.

8)        Meskipun dimungkinkan untuk menggunakan NoSQL untuk transaksi biasa, SQL adalah pilihan terbaik untuk aplikasi tugas berat tipe-transaksional. Hal ini karena NoSQL tidak cukup stabil ketika sarat dengan aplikasi transaksional yang kompleks dan lalu lintas tinggi. SQL adalah cocok karena database-nya stabil dan menjanjikan integritas dan atomicity data. Hal ini terutama karena NoSQL belum dikembangkan selama SQL.

9)        Anda akan mendapatkan dukungan yang lebih baik dengan basisdata SQL, terutama karena SQL DB telah dikembangkan lebih lama. Ketika anda menyewa sebuah tim ahli DBA jarak jauh, kemungkinan bahwa sebagian besar DBA memiliki pelatihan di SQL DB. Namun, semakin banyak tim DBA jarak jauh saat ini memiliki pengalaman dengan NoSQL karena peningkatan permintaan. SQL DBs juga lebih dapat diandalkan karena mereka telah dicoba dan diuji selama beberapa tahun.

10)     Dengan SQL DB, penekanan pada sifat Atomicity, Consistency, Isolation and Durability (ACID) sifat. Di sisi lain, NoSQL DBs mengikuti teorema Consistency, Availability and Partition (CAP) Brewers.

11)     Basisdata SQL bisa bersumber tertutup dari vendor komersial atau bersumber terbuka sedangkan NoSQLs bersumber terbuka. Ini berarti NoSQL adalah pilihan yang lebih baik jika Anda ingin menghemat uang.
Contoh populer dari basisdata SQL adalah Oracle, MySQL, MS-SQL, Sqlite, dan Postgres sementara contoh populer dari NoSQL adalah MongoDB, HBase, Redis, Bigtable, RavenDb, CouchDB, Cassandra, dan Neo4j.

Kelebihan NoSQL di banding Relasional Database

Kelebihan NoSQL
  • NoSQL bisa menampung data yang terstruktur, semi terstruktur dan tidak terstuktur secara efesien dalam skala besar (big data/cloud).
  • Menggunakan OOP dalam pengaksesan atau manipulasi datanya.
  • NoSQL tidak mengenal schema tabel yang kaku dengan format data yang kaku. NoSQL sangat cocok untuk data yang tidak terstruktur, istilah singkat untuk fitur ini adalah Dynamic Schema.
  • Autosharding, istilah sederhananya, jika database noSQL di jalankandi 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.
  • karena bervariasinya produk dan format penyimpanan, berpindah antar satu produk database ke produk noSQL lainnya perlu waktu untuk belajar. Contohnya ketika anda pindah dari MongoDB ke Cassandra, maka anda harus belajar lagi dari awal, berbeda dengan database RDMS.





Software Dalam NoSQL       


Beberapa database NoSQL:



  • MongoDB
MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++.
  • Cassandra Apache
Cassandra Dikembangkan oleh APACHE. Aplikasi Inilah yang digunakan facebook untuk penyimpanan miliayaran data hingga saat ini.
  • CouchDB
CouchDB juga dikembangkan oleh APACHE. CouchDB adalah database yang benar-benar merangkul web. Menyimpan data Anda dengan dokumen JSON.  
  • Dan sebagainya.
Sumber :


Jumat, 30 Maret 2018

Pengantar Komputasi Modern

1. Teori Komputasi 





     Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas apakah dan bagaimanakah suatu masalah dapat dipecahkan pada model komputasi, menggunakan algoritme. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.
Untuk melakukan studi komputasi dengan ketat, ilmuwan komputer bekerja dengan abstraksi matematika dari komputer yang dinamakan model komputasi. Ada beberapa model yang digunakan, namun yang paling umum dipelajari adalah mesin Turing. Sebuah mesin Turing dapat dipikirkan sebagai komputer pribadi meja dengan kapasitas memori yang tak terhingga, namun hanya dapat diakses dalam bagian-bagian terpisah dan diskret. Ilmuwan komputer mempelajari mesin Turing karena mudah dirumuskan, dianalisis dan digunakan untuk pembuktian, dan karena mesin ini mewakili model komputasi yang dianggap sebagai model paling masuk akal yang paling ampuh yang dimungkinkan. Kapasitas memori tidak terbatas mungkin terlihat sebagai sifat yang tidak mungkin terwujudkan, namun setiap permasalahan yang "terputuskan" (decidable) yang dipecahkan oleh mesin Turing selalu hanya akan memerlukan jumlah memori terhingga. Jadi pada dasarnya setiap masalah yang dapat dipecahkan (diputuskan) oleh meisn Turing dapat dipecahkan oleh komputer yang memiliki jumlah memori terbatas.

Dalam kerjanya komputasi modern menghitung dan mencari solusi dari masalah yang ada, dan perhitungan yang dilakukan itu meliputi:

1. Akurasi
 Akurasi tentu merupakan masalah yang paling penting dalam memecahkan masalah, karena itu pada komputasi modern dilakukan perhitungan bagaimana bisa menghasilkan suatu jawaban yang akurat dari sebuah masalah. tentu kita pernah mendengar tipe data floating point yang biasa digunakan untuk menyimpan data numerik dalam bentuk pecahan. tipe data tersebut memiliki range penyimpanan numerik yang besar, sehingga dapat digunakan oleh komputer untuk melakukan komputas yang akurat

2. Kecepatan
  Manusia pasti menginginkan masalah dapat diselesaikan dengan cepat. Karena itu perhitungan masalah kecepatan adalah suatu hal yang penting komputasi harus dapat dilakukan dalam waktu yang cepat ketika megolah suatu data. sehingga perlu metode kecepatan untuk mengolah perhitungan dalam waktu singkat 

3. Problem Volume Besar
 Data yang besar tertentu membutuhkan suatu cara penyelesain yang khusu. Karena data yang besar dapat menjadi masalah jika ada yang terlewatkan. oleh karena itu digunakan metode down sizzing atau paralel pada komputas modern untuk menangani masalah volume yang besar. dengan metode ini data yang besar diparalelkan dalam pengolahannya sehingga dapat diorganisir dengan baik

4. Modeling
 Modelling merupakan suatu hal yang penting dalam melakukan suatu perhitungan yang rumit. Bayangkan saja kita dihadapi dalam suatu masalah perhitungan yang banyak dan kompleks, tetapi tidak ada model matematika yang  kita miliki. Perhitungan akan berjalan berantakan dan tidak akan mendapatkan hasil yang akurat, Maka dari itu komputasi modern membutuhkan modeling sebelum melakukan perhitungan

5. Kompleksitas/kerumitan
  Komputasi modern dirancang untuk menangani masalah yang kompleks, sehingga diterapkan pada Komputer. dengan menggunakan teori Big O. maka komputasi modern dapat melakukan perhitungan untuk memecahkan masalah kompleksitas yang kerap dihadapi


Jenis Jenis komputasi Modern ada 3 macam yaitu;
1. Mobile Computing
  Mobile Computing atau Komputasi bergerak merupakan kemajuan teknologi komputer sehingga dapat berkomunikasi menggunakan jaringan tanpa menggunakan kabel dan mudah dibawa atau berpindah tempat, tetapi berbeda dengan komputasi nirkabel

2. Grid Computing
  Komputasi Grid menggunakan komputer yang terpisah oleh geografis, didistibusikan dan terhubung oleh jaringan untuk menyelesaikan masalah komputasi dalam skala besar

3. Cloud Computing
  Komputasi Cloud merupakan gaya komputasi yang terukur dinamis dan sumber daya virtual yang sering meneyediakan layanan melalui internet. Komputasi Cloud menggambarkan pelengkan baru, komputasi dan layanan IT berbasis model dalam internet, dan biasanya melibatkan ketentuan dari keterukuran dinamis dan sumber data virtual yang sering menyediakan layanan melalui internet

Implementasi Komputasi Modern
  Salah Satu contoh adalah pada bidang "FISIKA"
F   Fisika : menyelesaikan permasalahan medan magnet dengan menggunakan komputasi fisika, dalam hal ini menentukan besarnya medan magnet dan membandiangkan hubungan antara medan magnet dengan panjang kawat. Implementasi komputasi modern di bidang fisika ada 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 / 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, 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.