Minggu, 21 Juni 2015

Grid Computing (Komputasi Grid)

A. Pengertian Grid Computing


Secara definisi Grid Computing (Komputasi Grid) adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.





Dalam buku The Grid: Blue Print for a new computing infrastructure dijelaskan bahwa yang dimaksud dengan komputasi grid adalah infrastruktur perangkat keras dan perangkat lunak yang dapat menyediakan akses yang bisa diandalkan, konsisten, tahan lama dan tidak mahal terhadap kemampuan komputasi mutakhir yang tersedia.


Latar Belakang
Perkembangan kecepatan prosesor berkembang sesuai dengan Hukum Moore, meskipun demikian bandwith jaringan komputer berkembang jauh lebih pesat. Semakin cepatnya jalur komunikasi ini membuka peluang untuk menggabungkan kekuatan komputasi dari sumber-sumber komputasi yang terpisah. Perkembangan ini memungkinkan skala komputasi terdistribusi ditingkatkan lebih jauh lagi secara geografis, melintasi batas-batas domain administrasi yang sudah ada.

Pesatnya perkembangan teknologi komputer di negara-negara maju, membuat para penelitinya semakin haus akan tenaga komputasi yang dapat menjawab tantangan dan permasalahan yang mereka hadapi. Walaupun sudah memiliki supercomputer dengan kapasitas yang sangat tinggi , apa yang sudah ada ini pun dirasa tetap kurang, karena mereka berusaha memecahkan permasalahan yang lebih besar lagi. Setelah semua komputer yg dimiliki seorang "peneliti haus tenaga komputasi" dipergunakan habis-habisan untuk memecahkan masalahnya, setelah berbagai cara untuk memecahkan masalah dicoba, dan dipilih yang paling efisien, tapi tetap masalahnya belum bisa dipecahkan juga, apa yang harus dia lakukan? Komputasi grid adalah salah satu jawaban dari pertanyaan ini.

Definisi
Menurut tulisan singkat Whats Is The Grid yang ditulis oleh Ian Foster ada check-list yang dapat digunakan untuk mengidentifikasi bahwa 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.
  • Sistem tersebut berusaha untuk mencapai kualitas layanan yang canggih, (nontrivial quality of service) yang jauh diatas kualitas layanan komponen individu dari komputasi grid tersebut.


Jadi, Apa itu Grid Computing atau Komputasi Grid?


Bisa disimpulkan bahwa Grid Computing atau Komputasi Grid ini adalah penggunaan sumber daya yang melibatkan banyak komputer yang terdistribusi dan terpisah secara geografis untuk memecahkan persoalan komputasi dalam skala besar.


B. Kelemahan dan Kelebihan Grid Computing

Setelah mengetahui apa itu Grid Computing, selanjutnya pada artikel ini akan dijelaskan tentang kelebihan dan kekurang Grid Computing, berikut adalah penjelasannya.

Kelebihan Grid Computing :
  • Lebih hemat biaya dalam penggunaan sejumlah tertentu sumber daya komputer.
  • Sebagai cara untuk memecahkan masalah yang mungkin tidak dapat dipecahkan tanpa sejumlah besar daya komputasi
  • Sumberdaya dari banyak komputer dapat kooperatif dan dimanfaatkan secara sinergis, serta dikelola sebagai sebuah kolaborasi mencapai tujuan bersama
  • 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
 

Kekurangan Grid Computing
Menurut Myerson (2009), penggunaan grid computing tidak terlepas dari beberapa isu serta resiko yang mungkin dapat terjadi bagi perusahaan.

Beberapa isu yang harus dipertimbangkan dan diperhatikan, antara lain:
  • Tidak adanya interoperabilitas antar sistemInteroperabilitas adalah kemampuan dari suatu sistem untuk berinteraksi dan berfungsi dengan sistem lain, di masa kini atau di masa mendatang, tanpa batasan  akses atau implementasi. 
  • Dalam  grid computing, permasalahan yang paling sering dijumpai adalah perbedaan format data yang dapat menghambat impor dan ekspor data dari komputer satu ke  komputer lainnya. Hal ini menyebabkan tidak terjadinya interperobilitas dalam sistem  grid computingsehingga diperlukan reformat data atau penggunaan suatu aplikasi agar data tersebut bisa diubah dan dipakai dalam suatu format tertentu. 
  • Hadirnya biaya tersembunyi. Misal, suatu perusahaan bisa dikenakan biaya yang lebih tinggi dari jaringan penyedia layanan  grid computing untuk penyimpanan dan aplikasi database yang berisi terabyte data. Hal ini mungkin melampaui biaya perusahaan  yang sedang berhemat  untuk  infrastruktur baru,  training bagi karyawan, atau pembiayaan untuk lisensi baru beberapa perangkat lunak. 
  • Latency data yang besar. Latency data yang besar seringkali menjadi kendala bagi perusahaan akibat letaknya  yang jauh dari penyedia layanan atau terpisah secara geografis dengan perusahaan penyedia layanan grid computing


C. Implementasi Grid Computing
Setelah mengetahui kelebihan dan keurangan dari Grid Computing ini, selanjutnya adalah tentang Implementasi Grid Computing.

Contoh yang terkenal dari komputasi grid dalam domain publik adalah SETI yang sedang berlangsung (Search for Extraterrestrial Intelligence) @ Home proyek di mana ribuan orang berbagi siklus prosesor yang tidak terpakai dari PC mereka dalam pencarian luas untuk tanda-tanda "rasional" sinyal dari luar angkasa. Menurut John Patrick, IBM wakil presiden untuk strategi Internet, "hal besar berikutnya akan komputasi grid.

Sejumlah perusahaan, kelompok profesional, konsorsium universitas, dan kelompok lain telah mengembangkan atau sedang mengembangkan kerangka kerja dan perangkat lunak untuk mengelola proyek komputasi grid. Masyarakat Eropa (EU) mensponsori sebuah proyek untuk grid untuk fisika energi tinggi, observasi bumi, dan aplikasi biologi. Di Amerika Serikat, Teknologi Grid Nasional prototyping grid komputasi untuk infrastruktur dan akses grid untuk orang-orang. Sun Microsystems menawarkan perangkat lunak Engine Grid. Digambarkan sebagai pengelolaan sumber daya didistribusikan (DRM) alat, Grid Engine memungkinkan insinyur di perusahaan-perusahaan seperti Sony dan Synopsys ke kolam renang siklus komputer hingga 80 workstation pada suatu waktu. (Pada skala ini, komputasi grid dapat dilihat sebagai kasus yang lebih ekstrim load balancing.)

Sumber :

http://thesaprol.blogspot.com.html

Logika sebuah Aplikasi Sederhana Client-Server TCP Sederhana :

Dibawah ini ada beberapa contoh listing program untuk mengecek ip, nama komputer, mengganti nama komputer dengan ip, menampilkan host name dan ip address, membuat aplikasi client-server TCP sederhana menggunakan bahasa pemrograman java.

Ø  Berikut adalah contoh listing program untuk mendapatkan ip yang sedang digunakan : 



            Pada statement diatas pertama listing program akan mengimport java.net. Kemudian kita buat class bernama getIP, selanjutnya kita mendeklarasikan InetAddress host benilai null kemudian host akan didapatkan dari nilai InetAddress host dan terakhir pada byte ip didapatkan nilai dari hostAddress. Langkah terkahir terdapat suatu perulangan for dimana di bagian ini akan terjadi pada saat variabel i bernilai 0, dan nilai variabel i lebih kecil dari IP jika kondisi ini terpenuhi maka nilai i akan bertambah.

Ø  Berikut adalah contoh listing program untuk mendapatkan nama komputer yang sedang dipakai : 


            Pada statement diatas Pertama – tama program akan mengimport java.net, kemudian kita buat class bernama getName. Selanjutnya kita deklarasikan InetAddress host = null; dan host = InetAddress.getLocalHost(); maksudnya adalah InetAddress host bernilai null dan host didapatkan dari nilai InetAddress pada localhost.

Ø  Berikut adalah contoh listing program untuk mengganti nama komputer dengan ip yang sedang digunakan : 



            Pada statement diatas pertama program akan mengimport java.net terlebih dahulu dan masuk pada nama class yang dibuat yaitu IPtoName. Untuk program ini terdapat kondisi if dimana jika program nilainya lebih besar sama dengan ( = ) 0 maka cetak nama pemakai dan IPtoName lalu program akan kembali ke semula dan program akan mendeklarasikkan String host yaitu 0 dan InetAddress address bernilai null. Kemudian program akan mengulang ke bagian address yang terdapat di InetAddress pada host kemudian apabila perulangan tersebut tidak terpenuhi maka akan mencetak invalid IP – malformed ip.
Kemudian untuk hasil output ini pada saat menjalankan program masukkan terlebih dulu IPAddress kemudian host name dari komputer. Jika sudah maka jalankan kembali program java tersebut maka host name tersebut akan terganti dengan IP. Dan akan mencetak IP komputer yang lain yaitu 10.189.46.244 dengan host name 10.189.46.244 seperti tampilan diatas.

 Ø  Berikut ini adalah program untuk menampilkan host name dan ip address pada komputer yang digunakan : 



        Statement diatas pertama program akan mengimport java.net kemudian program akan masuk ke dalam class program yang bernama NsLookup. Pada program utama ini akan mencetak Pemakai : Java NsLookup hostname kemudian aka mendeklarasikan String host adalah 0 dan InetAddress address bernilai null kemudian apabila host tidak dikenal maka akan tampil Unknown host. Untuk bagian listing byte ip nilainya didapat dari address lalu apabila i > 0 dan i

Listing Aplikasi Client-Server TCP Sederhana :

Aplikasi Client-Server TCP sederhana
simpleServer.java
import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println(“Aplikasi Server hidup …”);
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println(“Terima : ” + line);
if (line.compareTo(“salam”) == 0) {
os.writeBytes(“salam juga”);
} else {
os.writeBytes(“Maaf, saya tidak mengerti”);
}
} catch (IOException e) {
System.out.println(e);
}
try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}
simpleClient.java
import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println(“Unknown Host: ” + e1);
} catch (IOException e2) {
System.out.println(“Erorr io: ” + e2);
}
// Menulis ke server
try {
System.out.print(“Masukkan kata kunci: “);
userInput = stdin.readLine();
os.writeBytes(userInput + “\n”);
} catch (IOException ex) {
System.out.println(“Error writing to server…” + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println(“Dari server: ” + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println(“Error writing….” + x);
}
}
}

1. Compile kedua program diatas pada cmd (javac simpleServer.java dan javac simpleClient.java). Jika memakai 1 pc buka 2 cmd, jika tidak bisa membuka 2 cmd sekaligus buka cmd yang lainnya denga run as administrator.

2. Jalankan server terlebih dahulu, kemudian buka cmd baru untuk menjalankan client. Pada server java simpleServer sedangkan client java simpleClient (nama pc server).

3. Pada client masukkan masukkan kata kunci “salam” dan coba ketikkan kata apa saja dan juga perhatikan pada server apakah kata tersebut masuk atau tidak.


Ø  Berikut output jika kata kunci yang dimasukkan benar : 



Ø  Berikut output jika kata kunci yang dimasukkan salah : 




Instalasi Windows Server 2012 ( Step by Step )

1. Masukkan DVD atau ISO Installer. Lalu mulai hidupkan Server / PC / VM. Proses start up akan tampil seperti gambar dibawah ini.


2. Selanjutnya kita pilih Jenis Windows Server yang akan digunakan. Kita bisa memilih Windows Server 2012 Datacenter Server with a GUI  atau Essential Server. Lebih detail akan versi Windows Server 2012 ini, silahkan simak link dibawah ini :


3. Klik “I Accept the license terms” lalu klik Next.


4. Saat muncul pilihan dibawah ini, klik “Custom : Install Windows only ( advanced )”.


5. Selanjutnya proses pemilihan harddisk, saya sarankan agar melakukan partisi lebih dulu sebelum proses installasi dengan meng-klik “Drive Option ( advanced ).



6. Lakukan partisi masing-masing harddisk.


7. Pilih harddisk yang akan kita install OS Windows Server 2012, lalu klik Next.


8. Tunggu proses seperti gambar dibawah ini hingga selesai.



9. Setelah semua proses diatas selesai, selanjutnya klik menu “Restart Now”.



10. Selanjutnya tunggu proses konfigurasi awal hingga selesai dan selanjutnya akan melakukan proses Auto Restart.



12. Saat muncul tampilan untuk mengisi produk key, kita bisa entry 
sesuai license yang kita miliki atau kita klik menu Skip.



13. Selanjutnya akan muncul tampilan untuk entry password Administrator ( Admin Local ). Masukkan password sesuai dengan yang kita inginkan lalu kita klik Finish.



14. Selanjutnya akan muncul tampilan dibawah ini, tekan tombol Ctrl + Alt + Del bersamaan.


15. Lalu masukkan password Administrator yang telah kita buat tadi.


16. Selanjutnya akan muncul tampilan seperti gambar dibawah ini yang menunjukkan bahwa kita sudah masuk ke dalam Windows Server 2012 dan siap kita konfigurasi untuk keperluan sesuai kebutuhan kita.


17. Beberapa hal yang perlu kita konfigurasi lebih dulu adalah mengenai harddisk kedua kita yang biasanya belum di Online-kan. Masuk ke menu File and Storage Services pada Server Manager. Pilihharddisk lalu Klik kanan dan pilih Online.


18. Selanjutnya setelah status harddisk Online, klik kanan lalu pilih New Volume untuk membuatpartisi dan format harddisk.


19. Kemudian kita juga perlu melakukan konfigurasi IP Address untuk server kita ini. Masuk ke menuNetwork and Sharing Center lalu kita setting IP Address untuk ethernet server kita ini sesuai jaringan LAN kita.


20. Kita juga perlu melakukan konfigurasi pada Hostname Server kita. Misalnya pada contoh ini saya berikan Hostname / Nama Komputer dengan XPS-DC-SERVER.



21. Okey, untuk tahap installasi OS Windows Server 2012 sudah selesai.

Minggu, 26 April 2015

CLOUD COMPUTING

Cloud computing mungkin masih samar terdengar bagi orang awam. Tetapi keberadaan cloud computing di era digital kini sebenarnya telah terasa di tengah masyarakat dalam kehidupan sehari hari seperti penggunaan email dan juga media sosial.
Sloud storage

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.

Manfaat Cloud Computing Serta Penerapan Dalam Kehidupan Sehari – hari
Setelah penjabaran definisi singkat diatas tentu penggunaan teknologi dengan sistem cloud cukup memudahkan pengguna selain dalam hal efisiensi data, juga penghematan biaya. Berikut manfaat manfaat yang dapat dipetik lewat teknologi berbasis sistem cloud.

1.    Semua Data Tersimpan Di Server Secara Terpusat
Salah satu keunggulan teknologi cloud adalah memungkinkan pengguna untuk menyimpan data secara terpusat di satu server berdasarkan layanan yang disediakan oleh penyedia layanan Cloud Computing itu sendiri. Selain itu, pengguna juga tak perlu repot repot lagi menyediakan infrastruktur seperti data center, media penyimpanan/storage dll karena semua telah tersedia secara virtual.

2.    Keamanan Data
Keamanan data pengguna dapat disimpan dengan aman lewat server yang disediakan oleh penyedia layanan Cloud Computing seperti jaminan platform teknologi, jaminan ISO, data pribadi, dll.

3.    Fleksibilitas dan Skalabilitas yang Tinggi
Teknologi Cloud menawarkan fleksibilitas dengan kemudahan data akses, kapan dan dimanapun kita berada dengan catatan bahwa pengguna (user) terkoneksi dengan internet. Selain itu, pengguna dapat dengan mudah meningkatkan atau mengurangi kapasitas penyimpanan data tanpa perlu membeli peralatan tambahan seperti hardisk. Bahkan salah satu praktisi IT kenamaan dunia, mendiang Steve Jobs mengatakan bahwa membeli memori fisik untuk menyimpan data seperti hardisk merupakan hal yang percuma jika kita dapat menyimpan nya secara virtual/melalui internet.


Sumber :

http://pusatteknologi.com/pengertian-manfaat-cara-kerja-dan-contoh-cloud-computing.html

KOMPUTASI


KOMPUTASI

Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma. Komputasi merupakan subbagian dari matematika. Selama ribuan tahun, perhitungan dan komputasi menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental dan kadang-kadang menggunakan tabel. Karena perkembangan jaman makan komputasi sekarang menggunakan komputer. Komputasi yang menggunakan komputer inilah maka disebut dengan Komputasi Modern. Komputasi modern digunakan untuk memecahkan masalah yang ada, perhitungan komputasi modern yaitu seperti :

Ø  Akurasi (bit, floating point)
Ø  Kecepatan (dalam satuanHz)
Ø  Problem volume besar (paralel)
Ø  Modeling (NN dan GA)
Ø  Kompleksitas (menggunakan Teori Bog O)

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. Pada paruh pertama abad 20, banyak kebutuhan komputasi ilmiah bertemu dengan semakin canggih komputer analog, yang menggunakan mekanis atau listrik langsung model masalah sebagai dasar perhitungan. Namun, ini tidak dapat diprogram dan umumnya tidak memiliki fleksibilitas dan keakuratan komputer digital modern.



George stibitz secara internasional diakui sebagai ayah dari komputer digital modern.
sementara bekerja di laboratorium bel di November 1937, stibitz menciptakan dan membangun sebuah relay berbasis kalkulator ia dijuluki sebagai "model k" (untuk "meja dapur", di mana dia telah berkumpul itu), yang adalah orang pertama yang menggunakan sirkuit biner untuk melakukan operasi aritmatika. Kemudian model menambahkan kecanggihan yang lebih besar termasuk aritmatika
dan kemampuan pemrograman kompleks.



Salah satu tokoh yang sangat mempengaruhi perkembangan komputasi modern adalah John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya . Beliau juga merupakan salah satu ilmuwan yang terkait dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.

Von Neumann dilahirkan di Budapest, ibu kota Hungaria, pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann dan Margaret Kann. Max Neumann memperoleh gelar dan namanya berubah menjadi Von Neumann. Max Neumann adalah seorang Yahudi Hungaria yang bergelar doktor dalam ilmu hukum. Dia juga seorang pengacara untuk sebuah bank. Pada tahun 1903, Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang sains, penulis, seniman dan musisi. Pada tahun 1921, Von Neumann disekolahkan ayahnya ke Universitas Berlin untuk menjadi insinyur teknik kimia. Berselang dua tahun kemudian ia melanjutkan pendidikan ke Zurich. Sebenarnya Von Neumann kurang tertarik dengan bidang kimia atau bidang engineering, namun ayahnya mendorong dia untuk mempelajari kimia. Pada waktu itu teknik kimia sedang populer dan menjanjikan karier yang cerah bagi para insinyurnya. Oleh karena itu, ayahnya mengharuskan Von Neumann mengikuti pendidikan kimia tanpa gelar selama dua tahun di Berlin, lalu melanjutkan di Eidgennossische Technische Hochschule (ETH) Zurich pada bidang yang sama. Ujian masuk ETH terkenal sulit, bahkan Albert Einstein pernah gagal dalam ujian masuk di tahun 1895 dan berhasil lulus pada ujian tahun berikutnya.

Keinginan Von Neumann untuk mempelajari matematika dilakukannya pada musim panas setelah studinya di Berlin dan sebelum masuk ETH Zurich. Dia menjadi mahasiswa program doktor pada Universitas Budapest. Tesis doktornya bertemakan aksiomasisai teori himpunan (set theory) yang dikembangkan George Cantor. Pada masa itu, set theory merupakan salah satu topik 'menantang' di dunia matematika.
Di tahun 1926 pada umur 22 tahun, Von Neuman lulus dengan dua gelar yaitu gelar S1 pada bidang teknik kimia dari ETH dan gelar doktor (Ph.D) pada bidang matematika dari Universitas Budapest. Von Neumann sangat tertarik pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Von Neumann menjadi seorang konsultan pada pengembangan komputer ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

Contoh komputasi modern sampai dengan lahirnya ENIAC :
Konrad Zuse’s electromechanical “Z mesin”.Z3 (1941) sebuah mesin pertama menampilkan biner aritmatika, termasuk aritmatika floating point dan ukuran programmability. Pada tahun 1998, Z3 operasional pertama di dunia komputer itu di anggap sebagai Turing lengkap.
Berikutnya Non-programmable Atanasoff-Berry Computer yang di temukan pada tahun 1941 alat ini menggunakan tabung hampa berdasarkan perhitungan, angka biner, dan regeneratif memori kapasitor.Penggunaan memori regeneratif diperbolehkan untuk menjadi jauh lebih seragam (berukuran meja besar atau meja kerja).
Selanjutnya komputer Colossus ditemukan pada tahun 1943, berkemampuan untuk membatasi kemampuan program pada alat ini menunjukkan bahwa perangkat menggunakan ribuan tabung dapat digunakan lebih baik dan elektronik reprogrammable.Komputer ini digunakan untuk memecahkan kode perang Jerman.
The Harvard Mark I ditemukan pada 1944, mempunyai skala besar, merupakan komputer elektromekanis dengan programmability terbatas.

Lalu lahirlah US Army’s Ballistic Research Laboratory ENIAC ditemukan pada tahun 1946, komputer ini digunakan unutk menghitung desimal aritmatika dan biasanya disebut sebagai tujuan umum pertama komputer elektronik (ENIAC merupaka generasi yang sudah sangat berkembang di zamannya sejak komputer pertama Konrad Zuse ’s Z3 yang ditemukan padatahun 1941).

Sumber :
http://newprofil.blogspot.com/2011/02/komputasi-modern.html