Minggu, 01 Juli 2018 1 komentar

Parallel Computation


Parallel Computation 
   Parallel computation adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat programberjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya, Maksudnya program dijalankan dengan banyak CPU secara bersamaan dengan tujuan untuk membuat program yang lebih baik dan dapat diproses dengan cepat. Dapat diambil kesimpulan bahwa pada parallel processing berbeda dengan istilah multitasking, yaitu satu CPU mengangani atau mengeksekusi beberapa program sekaligus, parallel processing dapat disebut juga dengan istilah parallel computing.

A. Parallelism Concept

     Komputasi paralel didefinisikan sebagai penggunaan sekumpulan sumberdaya komputer secara simultan untuk menyelesaikan permasalahan komputasi. Secara prinsip komputer paralel membagi permasalahan sehingga menjadi lebih kecil untuk dikerjakan oleh setiap prosesor / CPU dalam waktu yang bersamaan/simultan / concurrent dan prinsip ini disebut paralelisme.

     Sebenarnya prinsip paralelisme juga sudah diterapkan dalam komputer serial misal dengan pipelining dan superscalar-nya namun demikian tidak memberikan solusi terbaik dalam hal meningkatkan performansi dikarenakan terbatasnya kemampuan untuk menambah kecepatan prosesor dan fenomena memory bottleneck.  Tingkat paralelisme dalam komputasi khususnya pada prosesor di antaranya :
Paralelisme bit-level. Contoh : prosesor 32 bit dan prosesor 64 bit.
Paralelisme instruction set-level. Contoh : CISC dan RISC.
Paralelisme thread-level. Contoh : Intel hyperthreading.

Konsep program parallel :
Memerintahkan set instruksi (pandangan programmer)
File executable (pandangan sistem operasi)

  Paralelisme lain yang juga berkembang dalam komputasi paralel adalah paralelisme data dan paralelisme fungsi. Perkembangan teknologi prosesor : prosesor singlecore superscalar, chip multiprocessor, prosesor multicore, hingga prosesor cell memberikan kontribusi terhadap peningkatan performansi komputer parallel.

B. Distributed Processing

     Pemrosesan paralel adalah pendekatan komputasi untuk meningkatkan tingkat di mana satu set data diolah dengan pengolahan bagian yang berbeda dari data pada waktu yang sama secara simultan atau bersamaan pada sebuah komputer dan berfungsi memecah beban besar menjadi beberapa beban kecil untuk mempercepat proses penyelesaian masalah.

   Didistribusikan pengolahan paralel menggunakan pemrosesan paralel pada beberapa mesin. Salah satu contoh dari hal ini adalah bagaimana beberapa komunitas memungkinkan pengguna untuk mendaftar dan mendedikasikan komputer mereka sendiri untuk memproses beberapa data set yang diberikan kepada mereka oleh server. Ketika ribuan pengguna mendaftar untuk ini, banyak data dapat diproses dalam jumlah yang sangat singkat.

     Tipe lain dari komputasi paralel yang kadang-kadang disebut "didistribusikan" adalah gagasan dari sebuah komputer paralel cluster. Sebuah cluster akan banyak CPU terhubung melalui kecepatan tinggi koneksi ethernet ke hub sentral (Server) yang memberi masing-masing beberapa pekerjaan yang harus dilakukan. Metode cluster mirip dengan metode yang dijelaskan dalam paragraf di atas, kecuali bahwa semua CPU secara langsung terhubung ke server, dan satu-satunya tujuan mereka adalah untuk melakukan perhitungan yang diberikan kepada mereka.

Parallel distributed computing dapat dibentuk dari :
Ada : digunakan konsep pertemuan yang menggabungkan fitur RPC dan monitor.
PVM (Parallel Virtual Machine) untuk mendukung workstation clusters
MPI (Message-Passing Interface) programming GUI untuk parallel computers.

C. Architectural Parallel Computer

Terdapat 4 macam arsitektur dari komputer paralel, yaitu:
     SISD (Single Instruction, Single Data) adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa processor.

    SIMD (Single Instruction, Multiple Data) menggunakan banyak processor dengan instruksi yang sama, namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1 mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2 mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk processor-processor yang lain. Beberapa contoh komputer yang menggunakan model SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan Cell Processor (GPU).

    MISD (Multiple Instruction, Single Data) menggunakan banyak processor dengan setiap processor menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah data dari urutan 1-100, namun algoritma yang digunakan untuk teknik pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer yang menggunakan model MISD.

    MIMD (Multiple Instruction, Multiple Data) menggunakan banyak processor dengan setiap processor memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD. Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.

D. Pengantar Thread Programming

      Thread adalah sebuah alur kontrol dari sebuah proses. Konsep threading adalah menjalankan 2 proses baik proses yang sama ataupun berbeda dalam satu waktu. Sebagai contoh sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network. Threading dibagi menjadi 2 yaitu :

     1.       Static Threading. Teknik ini biasa digunakan untuk komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya. Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan program counter dan mengeksekusi program secara independen. Sistem operasi menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang hendak menggunakan prosesor itu.

     2.       Dynamic Multithreading. Teknik ini merupakan pengembangan dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya programmer tidak harus pusing dengan protokol komunikasi, load balancing, dan kerumitan lain yang ada pada static threading. Concurrency platform ini menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun platformnya masih dalam pengembangan namun secara umum mendukung dua fitur : nested parallelism dan parallel loops.

E. Pengantar Massage Passing, Open MP

     Message Passing merupakan sebuah bentuk dari komunikasi yang digunakan di komputasi paralel, OOT (Object Oriented Programming) atau Pemrograman Berbasis Objek dan komunikasi interproses.
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang kemudian masing – masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.

   OpenMP (Open Multi-Processing) adalah sebuah antarmuka pemrograman aplikasi (API) yang mendukung multi processing shared memory pemrograman di C, C++ dan Fortran pada berbagai arsitektur, termasuk UNix dan Microsoft Windows platform. OpenMP Terdiri dari satu set perintah kompiler, perpustakaan rutinitas, dan variabel lingkungan yang mempengaruhi run-time. Banyak Aplikasi dibangun dengan model hibrida pemrograman paralel  dapat dijalankan pada komputer cluster dengan menggunakan OpenMP dan Message Passing Interface (MPI), atau lebih transparan dengan menggunakan ekstensi OpenMP non-shared memory systems.

F. Pengantar Pemrograman CUDA GPU

   CUDA (Compute Unified Device Architecture), merupakan sebuah arsitektur komputer parallel, dikembangkan oleh Nvidia. Teknologi ini dapat digunakan untuk menjalankan proses pengolahan gambar, video, rendering 3D, dll. VGA – VGA dari Nvidia yang sudah menggunakan teknologi CUDA yaitu : Nvidia GeForce GTX 280, GTX 260, dan seri sejenis untuk kelas mobile (VGA notebook). CUDA dapat memberikan proses dengan pendekatan bahasa C, sehingga programmer atau pengembang software dapat lebih cepat menyelesaikan perhitungan yang komplek. Bukan hanya aplikasi seperti teknologi ilmu pengetahuan yang spesifik. CUDA sekarang bisa dimanfaatkan untuk aplikasi multimedia. Misalnya mengedit film dan melakukan filter gambar. Sebagai contoh dengan aplikasi multimedia sudah mengunakan teknologi CUDA. Software TMPGenc 4.0 misalnya membuat aplikasi editing dengan mengambil sebagian proses dari GPU dan CPU. VGA yang dapat memanfaatkan CUDA hanya versi 8000 atau lebih tinggi.








Referensi


Sabtu, 21 April 2018 0 komentar

Komputasi Kuantum


A.      Pengertian Quantum Computing
   Merupakan alat hitung yang menggunakan mekanika kuantum seperti superposisi dan keterkaitan, yang digunakan untuk peng-operasi-an data. Perhitungan jumlah data pada komputasi klasik dihitung dengan bit, sedangkan perhitungan jumlah data pada komputer kuantum dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

B.      Entanglement
  Entanglement adalah bagian dari fenomena quantum mechanical yang menyatakan bahwa dua atau lebih objek dapat digambarkan mempunyai hubungan dengan objek lainnya. Penggunaan quantum entanglement saat ini diimplementasikan dalam berbagai bidang seperti pengiriman pesan-pesan rahasia yang sulit untuk di enkripsi dan pembuatan komputer yang mempunyai performa sangat cepat.

C.      Pengoperasian Data Qubit
    Komputer kuantum memelihara urutan qubit. Sebuah qubit tunggal dapat mewakili satu, nol, atau, penting, setiap superposisi quantum ini, apalagi sepasang qubit dapat dalam superposisi kuantum dari 4 negara, dan tiga qubit dalam superposisi dari 8. Secara umum komputer kuantum dengan qubit n bisa dalam superposisi sewenang-wenang hingga 2 n negara bagian yang berbeda secara bersamaan (ini dibandingkan dengan komputer normal yang hanya dapat di salah satu negara n 2 pada satu waktu). Komputer kuantum yang beroperasi dengan memanipulasi qubit dengan urutan tetap gerbang logika quantum. Urutan gerbang untuk diterapkan disebut algoritma quantum.Sebuah contoh dari implementasi qubit untuk komputer kuantum bisa mulai dengan menggunakan partikel dengan dua putaran menyatakan: “down” dan “up”. Namun pada kenyataannya sistem yang memiliki suatu diamati dalam jumlah yang akan kekal dalam waktu evolusi dan seperti bahwa A memiliki setidaknya dua diskrit dan cukup spasi berturut-turut eigen nilai , adalah kandidat yang cocok untuk menerapkan sebuah qubit. Hal ini benar karena setiap sistem tersebut dapat dipetakan ke yang efektif spin -1/2 sistem.

D.      Quantum Gates
      Quantum Gates / Gerbang Quantum merupakan sebuah aturan logika / gerbang logika yang berlaku pada quantum computing. Prinsip kerja dari quantum gates hampir sama dengan gerbang logika pada komputer digital. Jika pada komputer digital terdapat beberapa operasi logika seperti AND, OR, NOT, pada quantum computing gerbang quantum terdiri dari beberapa bilangan qubits, sehingga quantum gates lebih susah untuk dihitung daripada gerang logika pada komputer digital.

E.       Algoritma Shor
  Algoritma yang ditemukan oleh Peter Shor pada tahun 1995. Dengan menggunakan algoritma ini, sebuah komputer kuantum dapat memecahkan sebuah kode rahasia yang saat ini secara umum digunakan untuk mengamankan pengiriman data. Kode yang disebut kode RSA ini, jika disandikan melalui kode RSA, data yang dikirimkan akan aman karena kode RSA tidak dapat dipecahkan dalam waktu yang singkat. Selain itu, pemecahan kode RSA membutuhkan kerja ribuan komputer secara paralel sehingga kerja pemecahan ini tidaklah efektif.

    Algoritma Shor bergantung pada hasil dari teori bilangan. Hasil ini adalah: fungsi periodik. Dalam konteks algoritma Shor, n akan menjadi bilangan yang akan difaktorkan. Jika dua bilangan tersebut adalah coprime itu berarti bahwa pembagi umumnya adalah 1. Perhitungan fungsi ini untuk jumlah eksponensial, dari itu akan mengambil waktu eksponensial pada komputer klasik. Algoritma Shor memanfaatkan paralelisme kuantum untuk melakukan jumlah eksponensial operasi dalam satu langkah.





Referensi

Sabtu, 31 Maret 2018 1 komentar

Komputasi


Komputasi Cloud
     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.
     Contohnya lewat penggunaan email seperti Yahoo ataupun Gmail. Data di beberapa server diintegrasikan secara global tanpa harus mendownload software untuk menggunakannya. Pengguna hanya memerlukan koneksi internet dan semua data dikelola langsung oleh Yahoo dan juga Google. Software dan juga memori atas data pengguna tidak berada di komputer tetapi terintegrasi secara langsung melalui sistem Cloud menggunakan komputer yang terhubung ke internet.

Komputasi Grid
     Komputasi Grid adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.
Grid Computing erat kaitannya dengan metode komputasi paralel. Metode ini dapat membagi kerja komputer menjadi beberapa bagian sehingga, tidak memberatkan kerja komputer itu sendiri dan mempercepat kerja komputer.
Sebagai contoh, bila ada suatu perintah untuk mencari satu angka dari 100 angka, komputer tersebut memiliki 10 processor. Dengan adanya komputasi paralel, komputer tersebut dapat memecah kerja menjadi 10 bagian untuk mencari angka tersebut. hal ini tentu saja dapat mempercepat dan memperingan kerja komputer. Tentu saja masalah pembagian kerja komputer tersebut dalam skala kecil. Tapi dari sinilah grid computing dikembangkan. Grid computing semakin dikembangkan dengan adanya jaringan dan internet. Dengan jaringan, kerja komputer terbagi-bagi di satu tempat dan tempat lain, namun pekerjaannya tetap satu atau terhubung.

Virtualisasi
     Virtualisasi adalah sebuah teknik yang saat ini banyak diterapkan untuk memenuhi kebutuhan TI yang semakin tinggi namun diikuti dengan tuntutan untuk mengefisiensikan biaya yang digunakan semaksimal mungkin.  Virtualisasi adalah teknologi yang telah diterapkan secara luas saat ini dengan dampak peningkatan operasional dan finansial yang positif. Virtualisasi adalah konsep dimana akses ke sebuah hardware seperti server diatur sehingga beberapa operating system (guest operation system) dapat berbagi sebuah hardware.  Tujuan dari virtualisasi adalah kinerja tingkat tinggi, ketersediaan, keandalan, ketangkasan, atau untuk membuat dasar keamanan dan manajemen yang terpadu.
Contoh peralatan komputer yang dapat divirtualisasikan adalah
- Server
     Mulai dari perspektif akses dan manajemen, sebuah server fisik tunggal dapat menjadi beberapa server yang biasa disebut dengan virtual server atau virtual machine (VM)
- Desktop
     Mirip dengan virtualisasi server, virtualisasi desktop dapat berarti dua hal. Yang pertama, memungkinkan pengguna untuk menjalankan beberapa sistem operasi desktop (Apple Mac OS dan Microsoft Windows OS) di dalam komputer yang sama. Yang kedua virtualisasi memungkinkan data dan layanan yang dimiliki oleh pengguna diletakkan di komputer yang digunakan bersama dengan data dan layanan milik orang lain.
- Storage
     Satu tempat penyimpanan fisik dapat terlihat menjadi beberapa driver virtual. Dengan kata lain, dengan menggunakan windows yang terpisah di console manajemen yang umum, administrator IT dapat memperlakukan drive virtual seperti drive fisik.
- Application
    Saat memvirtualisasi, aplikasi yang ditulis untuk sebuah lingkungan sistem operasi dapat dijalankan di lingkungan operasi yang lain untuk meningkatkan kecocokan aplikasi dan kemudahan pengelolaan. Operasi akan diarahkan ke sistem operasi yang sesuai.
- Network
     Di dalan jaringan, sebuah router fisik dapat mendukung beberapa, alamat IP untuk membuat router virtual. Sama seperti sebuah switch Ethernet fisik dapat mendukung beberapa alamat MAC (media access control) untuk membuat switch virtual. Sebuah hardware fisik dapat dibagi menjadi beberapa router atau switch virtual untuk mengurangi biaya.

Distributed Computation dalam Cloud Computing
     Komputasi terdistribusi adalah bidang ilmu komputer yang mempelajari sistem terdistribusi. Sebuah sistem terdistribusi terdiri dari beberapa otonom komputer yang berkomunikasi melalui jaringan komputer. Komputer berinteraksi satu sama lain untuk mencapai tujuan bersama. Komputasi terdistribusi mentransformasikan banyak komputer dalam satu jaringan yang dapat digunakan secara efektif seperti halnya sebuah komputer sehingga memaksimalkan pengunaan sumber daya komputasi. Hal ini berarti setiap klien dalam jaringan dapat mengakses setiap file data yang terdapat dalam jaringan, menjalankan program komputer yang ada dalam jaringan.
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). 

MapReduce dan NoSQL
     MapReduce dan NoSQL (Not Only SQL) adalah sebuah pemrograman framework guna untuk membantu user mengembangkan sebuah data yang ukurannya besar dan dapat terdistribusi satu sama lain. MapReduce adalah salah satu konsep teknis yang sangat penting di dalam teknologi cloud karena dapat diterapkannya dalam lingkungan komputasi terdistribusi. Salah satu contoh penerapan nyata MapReduce dalam suatu produk adalah yang dilakukan Google. Dari functional programming map dan reduce, Google bisa menghasilkan file system distributed yang sangat scalable. 
NoSQL adalah istilah untuk menyatakan berbagai hal yang di dalamnya termasuk database sederhana yang berisikan key dan value seperti Memcache, ataupun non-database relational seperti MongoDB, Cassandra, CouchDB, dll. NoSQL memungkinkan tidak membutuhkan skema tabel dan umumnya menghindari operasi join dan berkembang secara horizontal. 

NoSQL Database 
     NoSQL adalah istilah yang dikenal dalam teknologi komputasi untuk merujuk kepada kelas yang luar dari sistem manajemen basis data yang di identifikasikan dengan tidak mematuhi aturan pada model sistem manajemen basis data relasional yang banyak digunakan. Database NoSQL merupakan horizontal terukur sedangkan pada SQL database vertikal terukur. Untuk memperbesar pada skala NoSQL hanya perlu tambahan server DB di cluster untuk load balancing.





Referensi :


Sabtu, 10 Maret 2018 1 komentar

Teori Komputasi


Komputasi
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.

Teori Komputasi
Teori komputasi adalah cabang ilmu komputer dan matematika yang membahas bagaimanakah suatu masalah dapat dipecahkan dengan model komputasi dengan menggunakan algoritma. Jadi secara umum teori komputasi itu dapat diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Bidang ilmu ini terutama membahas hal terkait komputabilitas dan kompleksitas, dalam kaitannya dengan formalisme komputasi.

Komputasi Modern
Komputasi Modern merupakan sebuah sistem yang akan menyelesaikan masalah matematis menggunakan komputer dengan cara menyusun algoritma yang dapat dimengerti oleh komputer yang berguna untuk menyelesaikan suatu masalah.  Dalam komputasi modern terdapat perhitungan dan pencarian solusi dari masalah. Perhitungan dari komputasi modern adalah akurasi, kecepatan, problem, volume dan besar kompleksitas.
Komputansi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu :
     1.       Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
     2.       Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
     3.       Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Implementasi Komputasi
  §  Bidang Fisika : Mempelajari implementasi algoritma numerik untuk memecahkan permasalahan teori kuantitatif fisika yang sudah ada. Sering dianggap sebagai cabang menengah diantara fisika teoritis dan fisika eksperimental.
  §  Bidang Kimia : Merupakan salah satu cabang kimia yang menggunakan ilmu komputer untuk membantu menyelesaikan masalah kimia. Hal yang dipaparkan dari dari teori kimia digabungkan dengan program komputer yang handal untuk menghitung struktur dan sifat molekul.
  §  Bidang Matematika : Terdapat numerical analysis yaitu sebuah algoritma dipakai untuk menganalisa masalah - masalah matematika.
  §  Bidang Ekonomi : Terdapat Computational Economics yang mempelajari titik pertemuan antara ilmu ekonomi dan ilmu komputer mencakup komputasi keuangan, statistika, pemrograman yang di desain khusus untuk komputasi ekonomi dan pengembangan alat bantu untuk pendidikan ekonomi.
  §  Bidang Geografi : Terdapat penggunaan komputasi yang diterapkan pada GIS (Geographic Information System) yang berguna untuk menyimpan, memanipulasi dan menganalisa informasi geografi.
  §  Bidang Geologi :  Pada bidang geologi teori komputasi biasanya digunakan untuk pertambangan, sebuah sistem komputer digunakan untuk menganalisa bahan-bahan mineral dan barang tambang yang terdapat di dalam tanah.








Referensi

 
;