Senin, 07 November 2016

Algoritma dan Flowchart, Dasar Pemrograman 

Tujuan Pembelajaran
Diharapkan dapat:
1. Mengerti tentang algoritma
2. Membuat algoritma dari suatu permasalahan
3. Mengerti tentang flowchart
4. Membuat flowchart dari suatu permasalahan
Pendahuluan
1. Komputer adalah alat bantu untuk menyelesaikan masalah
2. Dalam menyelesaikan masalah dengan komputer perlu merumuskan langkah-langkah penyelesaian masalah dalam sekumpulan instruksi
3. sekumpulan instruksi yang dimengerti oleh komputer disebut dengan program
Bahasa Pemrograman
1. Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa pemrograman, dibedakan menjadi:
· Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin.
· Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penerjemah.
Penerjemah:
· Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
· Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++, dll.
Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari ilmu komputer
2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah
3. Algoritma adalah blueprint dari program
4. Sebaiknya disusun sebelum membuat program
5. Kriteria suatu algoritma:
· Ada input dan output
· Efektifitas dan efisien
· Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana B
2. Tuangkan larutan dari bejana B ke dalam bejana A
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut:
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3.Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma
1. Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3. Algortima memiliki nol atau lebih masukan.
4. Algoritma memiliki nol atau lebih keluaran.
5. Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
Memrogram dan Bahasa Pemrograman:
1. Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2. Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.
Notasi Algoritma:
1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
2. Notasi algoritma dapat berupa:
· Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
Jika nilai >= 60 maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak lulus
Tulis nama dan keterangan.
Tahapan Pembuatan Program:
1. Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang digunakan.
2. Merealisasikan dengan langkah-langkah sebagai berikut:
Contoh Algoritma:
1. Mengirim surat kepada teman:
· Tulis surat pada secarik kertas surat
· Ambil sampul surat
· Masukkan surat ke dalam sampul
· Tutup sampul surat dengan perekat
· Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
· Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
· Tempel prangko pada sampul
· Bawa sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
· Masukkan sebuah bilangan sembarang
· Bagi bilangan tersebut dengan 2
· Hitung sisa hasil bagi pada langkah 2
· Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
· Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil
Flowchart
1. Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu algoritma
3. Ada 2 macam flowchart:
· System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis penyimpanan dalam proses pengolahan data.
· Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program.
Contoh program Flowchart
Simbol-simbol Flowchart
1. Flow Direction Symbols (simbol penghubung alur)
2. Processing Symbols (simbol proses)
3. Input-Output Symbols (simbol input-output)
Tabel Simbol-simbol Flowchart
Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
· Input
· Proses
· Output
5. Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat
6. Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.
Pseudocode:
1. Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama : String
Nilai : Integer
Keterangan : String
Deskripsi:
Read (nama, nilai)
if nilai >= 60 then
Keterangan = 'lulus'
else
Keterangan = 'tidak lulus'
write (nama, keterangan)
Aturan Penulisan Teks Algoritma
1. Judul Algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2. Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3. Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.
Contoh Pseudocode:
1. Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
{
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
} (ini spesifikasi algoritma)
2. Deklarasi
const phi = 3.14 {nilai konstanta phi}
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3. Deskripsi
Read (R)
Luas = phi * R * R
Keliling = 2 * phi * R
Write (luas, keliling)

Materi ini saya dapat dari pembelajaran kuliah waktu semester 1. Baru sempat saya posting.
Mohon maaf jika posting ini ada beberapa yang sama dengan sumbernya.

Untuk materi yang lebih luasnya  silahkan klik  disini
Sekian terimakasih

Wiridan sesudah solat fardhu

- Sangat dianjurkan untuk kita semua, sesudah selesai sholat fardhu untuk membaca wirid dan dizkir yang kemudian dilanjutkan dengan doa setelah sholat. Kata orang tua, jika seseorang saat selesai salam (dalam sholat) langsung pergi tanpa terlebih dahulu wirid dan dzikir, maka kelak di alam kubur ia akan menjadi seekor monyet. Entah itu benar adanya atau hanya sekedar menakut-nakuti anaknya agar mereka pada melakukan wirid dan dzikir sesudah / setelah sholat fardhu.

Untuk lebih jelasnya, silakan langsung saja simak dan pelajari wirid dan dzikir sesudah sholat dalam bahasa arab,

    (3×)ﺃَﺳْﺘَﻐْﻔِﺮُ ﺍﻟﻠﻪَ ﺍﻟﻌَﻈِﻴْﻢَ ﺍَﻟَّﺬِﻱ ﻵ ﺇِﻟَﻪَ ﺇِﻟَّﺎ ﻫُﻮَ ﺍْﻟﺤَﻲُّ ﺍْﻟﻘَﻴُّﻮْﻡُ ﻭَﺃَﺗُﻮْﺏُ ﺇِﻟَﻴْﻪِ

ﻻَ ﺇِﻟَﻪَ ﺇِﻟَّﺎ ﺍﻟﻠﻪُ ﻭَﺣْﺪَﻩُ ﻻَ ﺷَﺮِﻳْﻚَ ﻟَﻪُ، ﻟَﻪُ ﺍْﻟﻤُﻠْﻚُ ﻭَﻟَﻪُ ﺍْﻟﺤَﻤْﺪُ ﻳُﺤْﻴِﻲ ﻭَﻳُﻤِﻴْﺖُ ﻭَﻫُﻮَ ﻋَﻠَﻰ ﻛُﻞِّ ﺷَﻲْﺀٍ ﻗَﺪِﻳْﺮٌ(×3)

ﺍَﻟﻠَّﻬُﻢَّ ﺃَﻧْﺖَ ﺍﻟﺴَّﻼَﻡُ ﻭَﻣِﻨْﻚَ ﺍﻟﺴَّﻼَﻡُ ﻭَﺇِﻟَﻴْﻚَ ﻳَﻌُﻮْﺩُ ﺍﻟﺴَّﻼَﻡُ، ﻓَﺤَﻴِّﻨَﺎ ﺭَﺑَّﻨَﺎ ﺑِﺎﻟﺴَّﻼَﻡُ ﻭَﺃَﺩْﺧِﻠْﻨَﺎ ﺍْﻟﺠَﻨَّﺔَ ﺩَﺍﺭَ ﺍﻟﺴَّﻼَﻡِ ﺗَﺒَﺎﺭَﻛْﺖَ ﺭَﺑَّﻨَﺎ ﻭَﺗَﻌَﺎﻟَﻴْﺖَ ﻳَﺎ ﺫَﺍﺍﻟْﺠَﻼَﻝِ ﻭَﺍْﻹِﻛْﺮَﺍﻡِ

ﺃَﻋُﻮْﺫُ ﺑِﺎﻟﻠﻪِ ﻣِﻦَ ﺍﻟﺸَّﻴْﻄَﺎﻥِ ﺍﻟﺮَّﺟِﻴْﻢِ

ﺑِﺴْﻢِ ﺍﻟﻠﻪِ ﺍﻟﺮَّﺣْﻤَﻦِ ﺍﻟﺮَّﺣِﻴْﻢِ

ﺍﻟْﺤَﻤْﺪُ ِﻟﻠﻪِ ﺭَﺏِّ ﺍْﻟﻌَﺎﻟَﻤِﻴْﻦَ . ﺍﻟﺮَّﺣْﻤَﻦِ ﺍﻟﺮَّﺣِﻴْﻢِ . ﻣَﺎﻟِﻚِ ﻳَﻮْﻡِ ﺍﻟﺪِّﻳْﻦِ . ﺇِﻳَّﺎﻙَ ﻧَﻌْﺒُﺪُ ﻭَﺇِﻳَّﺎﻙَ ﻧَﺴْﺘَﻌِﻴْﻦُ . ﺍﻫْﺪِﻧَﺎ ﺍﻟﺼِّﺮَﺍﻁَ ﺍْﻟﻤُﺴْﺘَﻘِﻴْﻢَ . ﺻِﺮَﺍﻁَ ﺍﻟَّﺬِﻳْﻦَ ﺃَﻧْﻌَﻤْﺖَ ﻋَﻠَﻴْﻬِﻢْ ﻏَﻴْﺮِ ﺍْﻟﻤَﻐْﻀُﻮْﺏِ ﻋَﻠَﻴْﻬِﻢْ ﻭَﻻَ ﺍﻟﻀَﺂﻟِّﻴْﻦَ . ﺁﻣِﻴْﻦَ

ﻭَﺇِﻟﻬُﻜُﻢْ ﺇِﻟﻪٌ ﻭَﺍﺣِﺪٌ ﻵ ﺇِﻟﻪَ ﺇِﻟَّﺎ ﻫُﻮَﺍﻟﺮَّﺣْﻤﻦُ ﺍﻟﺮَّﺣِﻴْﻢُ . ﺍَﻟﻠﻪُ ﻵﺍِﻟﻪَ ﺍِﻻَّ ﻫُﻮَﺍْﻟﺤَﻲُّ ﺍْﻟﻘَﻴُّﻮْﻡُ ﻻَﺗَﺄْﺧُﺬُﻩ ﺳِﻨَﺔٌ ﻭَﻻَﻧَﻮْﻡٌ ﻟَﻪُ ﻣَﺎﻓِﻰ ﺍﻟﺴَّﻤﻮَﺍﺕِ ﻭَﻣَﺎﻓِﻰ ﺍْﻻَﺭْﺽِ ﻣَﻦْ ﺫَﺍﻟَّﺬِﻱْ ﻳَﺸْﻔَﻊُ ﻋِﻨْﺪَﻩ ﺍِﻻَّﺑِﺎِﺫْﻧِﻪ ﻳَﻌْﻠَﻢُ ﻣَﺎﺑَﻴْﻦَ ﺍَﻳْﺪِﻳْﻬِﻢْ ﻭَﻣَﺎﺧَﻠْﻔَﻬُﻢْ ﻭَﻻَﻳُﺤِﻴْﻄُﻮْﻥَ ﺑِﺸَﻴْﺊٍ ﻣِﻦْ ﻋِﻠْﻤِﻪ ﺍِﻻَّﺑِﻤَﺎﺷَﺂﺀَ ﻭَﺳِﻊَ ﻛُﺮْﺳِﻴُّﻪُ ﺍﻟﺴَّﻤﻮَﺍﺕِ ﻭَﺍْﻻَﺭْﺽَ ﻭَﻻَﻳَﺆﺩُﻩُ ﺣِﻔْﻈُﻬُﻤَﺎ ﻭَﻫُﻮَﺍﻟْﻌَﻠِﻲُّ ﺍﻟْﻌَﻈِﻴْﻢُ

ﺇِﻟَﻬَﻨَﺎ ﺭَﺑَّﻨَﺎ ﺃَﻧْﺖَ ﻣَﻮْﻻَﻧَﺎ ﺳُﺒْﺤَﺎﻥَ ﺍﻟﻠﻪِ
ﺳُﺒْﺤَﺎﻥَ ﺍﻟﻠﻪ ×33

ﺳُﺒْﺤَﺎﻥَ ﺍﻟﻠﻪِ ﻭَﺑِﺤَﻤْﺪِﻩِ ﺩَﺍﺋِﻤًﺎ ﺃَﺑَﺪًﺍ ﺍَﻟْﺤَﻤْﺪُ ِﻟﻠﻪِ
ﺍَﻟْﺤَﻤْﺪُ ِﻟﻠﻪِ ×33

ﺍْﻟﺤَﻤْﺪُ ِﻟﻠﻪِ ﻋَﻠﻰَ ﻛُﻞِّ ﺣَﺎﻝٍ ﻭَﻓِﻲ ﻛُﻞِّ ﺣَﺎﻝٍ ﻭَﺑِﻨِﻌْﻤَﺔِ ﻳَﺎ ﻛَﺮِﻳْﻢُ
ﺍﻟﻠﻪُ ﺃَﻛْﺒَﺮُ ×33

ﺍﻟﻠﻪُ ﺃَﻛْﺒَﺮُ ﻛَﺒِﻴْﺮًﺍ ﻭَﺍْﻟﺤَﻤْﺪُ ِﻟﻠﻪِ ﻛَﺜِﻴْﺮًﺍ ﻭَﺳُﺒْﺤَﺎﻥَ ﺍﻟﻠﻪِ ﺑُﻜْﺮَﺓً ﻭَﺃَﺻِﻴْﻼً، ﻻَ ﺇِﻟَﻪَ ﺇِﻻَّ ﺍﻟﻠﻪُ ﻭَﺣْﺪَﻩُ ﻻَ ﺷَﺮِﻳْﻚَ ﻟَﻪُ، ﻟَﻪُ ﺍْﻟﻤُﻠْﻚُ ﻭَﻟَﻪُ ﺍْﻟﺤَﻤْﺪُ ﻳُﺤْﻴِﻲ ﻭَﻳُﻤِﻴْﺖُ ﻭَﻫُﻮَ ﻋَﻠَﻰ ﻛُﻞِّ ﺷَﻲْﺀٍ ﻗَﺪِﻳْﺮٌ . ﻭَﻻَ ﺣَﻮْﻝَ ﻭَﻻَ ﻗُﻮَّﺓَ ﺇِﻻَّ ﺑِﺎﻟﻠﻪِ ﺍْﻟﻌَﻠِﻲِّ ﺍْﻟﻌَﻈِﻴْﻢِ

ﺃَﺳْﺘَﻐْﻔِﺮُ ﺍﻟﻠﻪَ ﺍْﻟﻌَﻈِﻴْﻢَ ‏( ﺛﻼﺙ ﻣﺮﺍﺕ ‏) ، ﺇِﻥَّ ﺍﻟﻠﻪَ ﻏَﻔُﻮْﺭٌ ﺭَﺣِﻴْﻢٌ

ﺃَﻓْﻀَﻞُ ﺍﻟﺬِّﻛْﺮِ ﻓَﺎﻋْﻠَﻢْ ﺃَﻧَّﻪُ

ﻻَ ﺇِﻟَﻪَ ﺇِﻻَّ ﺍﻟﻠﻪُ ×33

ﻻَ ﺇِﻟَﻪَ ﺇِﻻَّ ﺍﻟﻠﻪُ ﻣُﺤَﻤَّﺪٌ ﺭَﺳُﻮْﻝُ ﺍﻟﻠﻪِ ﺻَﻠَّﻰ ﺍﻟﻠﻪُ ﻋَﻠَﻴْﻪِ ﻭَﺳَﻠَّﻢَ، ﻛَﻠِﻤَﺔُ ﺣَﻖٍّ ﻋَﻠَﻴْﻬَﺎ ﻧَﺤْﻴَﺎ ﻭَﻋَﻠَﻴْﻬَﺎ ﻧَﻤُﻮْﺕُ ﻭَﺑِﻬَﺎ ﻧُﺒْﻌَﺚُ ﺇِﻥْ ﺷَﺂﺀَ ﺍﻟﻠﻪُ ﻣِﻦَ ﺍْﻵﻣِﻨِﻴْﻦَ

Kemudian dilanjutkan dengan bacaan doa setelah sholat .
Perlu diketahui, setiap daerah mungkin berbeda-beda untuk bacaan wirid dan dzikirnya ketika selesai sholat. Bacaan diatas merupakan dzikir dan wirid yang singkat dan biasa kami baca (sesuai di daerah tempat kami tinggal).

Sekian dulu, mohon maaf bila ada kekurangan.

Sabtu, 05 November 2016

Sejarah Komputer

Pengertian komputer
Komputer adalah alat yang dipakai untuk mengolah data menurut perintah yang telah dirumuskan. Kata komputer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan per hitungan aritmetika , dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada
mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmetika , tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika .
Secara luas, Komputer dapat didefinisikan sebagai suatu peralatan elektronik yang terdiri dari beberapa komponen, yang dapat bekerja sama antara komponen satu dengan yang lain untuk menghasilkan suatu informasi berdasarkan program dan data yang ada. Adapun komponen komputer adalah meliputi : Layar Monitor, CPU, Keyboard, Mouse dan Printer (sbg pelengkap). Tanpa printer komputer tetap dapat melakukan tugasnya sebagai pengolah data, namun sebatas terlihat dilayar monitor belum dalam bentuk print out (kertas).
Dalam definisi seperti itu terdapat alat seperti
slide rule, jenis kalkulator mekanik mulai dari
abakus dan seterusnya, sampai semua komputer elektronik yang kontemporer . Istilah lebih baik yang cocok untuk arti luas seperti "komputer" adalah "yang mem proses informasi " atau " sistem pengolah informasi ."
Saat ini, komputer sudah semakin canggih. Tetapi, sebelumnya komputer tidak sekecil, secanggih, sekeren dan seringan sekarang. Dalam sejarah komputer, ada 5 generasi dalam sejarah komputer.
Generasi komputer
Generasi pertama
Dengan terjadinya Perang Dunia Kedua, negara-negara yang terlibat dalam perang tersebut berusaha mengembangkan komputer untuk mengeksploit potensi strategis yang dimiliki komputer. Hal ini meningkatkan pendanaan pengembangan komputer serta mempercepat kemajuan teknik komputer. Pada tahun 1941, Konrad Zuse, seorang insinyur Jerman membangun sebuah komputer, Z3, untuk mendesain pesawat terbang dan peluru kendali.
Pihak sekutu juga membuat kemajuan lain dalam pengembangan kekuatan komputer. Tahun 1943, pihak Inggris menyelesaikan komputer pemecah kode rahasia yang dinamakan Colossus untuk memecahkan kode rahasia yang digunakan Jerman. Dampak pembuatan Colossus tidak terlalu memengaruhi perkembangan industri komputer dikarenakan dua alasan. Pertama, Colossus bukan merupakan komputer serbaguna(general-purpose computer), ia hanya didesain untuk memecahkan kode rahasia. Kedua, keberadaan mesin ini dijaga kerahasiaannya hingga satu dekade setelah perang berakhir.
Usaha yang dilakukan oleh pihak Amerika pada saat itu menghasilkan suatu kemajuan lain. Howard H. Aiken (1900-1973), seorang insinyur Harvard yang bekerja dengan IBM, berhasil memproduksi kalkulator elektronik untuk US Navy. Kalkulator tersebut berukuran panjang setengah lapangan bola kaki dan memiliki rentang kabel sepanjang 500 mil. The Harvard-IBM Automatic Sequence Controlled Calculator, atau Mark I, merupakan komputer relai elektronik. Ia menggunakan sinyal elektromagnetik untuk menggerakkan komponen mekanik. Mesin tersebut beropreasi dengan lambat (ia membutuhkan 3-5 detik untuk setiap perhitungan) dan tidak fleksibel (urutan kalkulasi tidak dapat diubah). Kalkulator tersebut dapat melakukan perhitungan aritmatik dasar dan persamaan yang lebih kompleks.
Perkembangan komputer lain pada masa kini adalah Electronic Numerical Integrator and Computer (ENIAC), yang dibuat oleh kerja sama antara pemerintah Amerika Serikat dan University of Pennsylvania. Terdiri dari 18.000 tabung vakum, 70.000 resistor, dan 5 juta titik solder, komputer tersebut merupakan mesin yang sangat besar yang mengonsumsi daya sebesar 160 kW.
Komputer ini dirancang oleh John Presper Eckert (1919-1995) dan John W. Mauchly (1907-1980), ENIAC merupakan komputer serbaguna (general purpose computer) yang bekerja 1000 kali lebih cepat dibandingkan Mark I.
Pada pertengahan 1940-an, John von Neumann (1903-1957) bergabung dengan tim University of Pennsylvania dalam usaha membangun konsep desain komputer yang hingga 40 tahun mendatang masih dipakai dalam teknik komputer. Von Neumann mendesain Electronic Discrete Variable Automatic Computer (EDVAC) pada tahun 1945 dengan sebuah memori untuk menampung baik program ataupun data. Teknik ini memungkinkan komputer untuk berhenti pada suatu saat dan kemudian melanjutkan pekerjaannya kembali. Kunci utama arsitektur von Neumann adalah unit pemrosesan sentral (CPU), yang memungkinkan seluruh fungsi komputer untuk dikoordinasikan melalui satu sumber tunggal. Tahun 1951, UNIVAC I (Universal Automatic Computer I) yang dibuat oleh Remington Rand, menjadi komputer komersial pertama yang memanfaatkan model arsitektur Von Neumann tersebut.
Baik Badan Sensus Amerika Serikat dan General Electric memiliki UNIVAC. Salah satu hasil mengesankan yang dicapai oleh UNIVAC dalah keberhasilannya dalam memprediksi kemenangan Dwilight D. Eisenhower dalam pemilihan presiden tahun 1952.
Komputer Generasi pertama dikarakteristik dengan fakta bahwa instruksi operasi dibuat secara spesifik untuk suatu tugas tertentu. Setiap komputer memiliki program kode biner yang berbeda yang disebut "bahasa mesin " (machine language). Hal ini menyebabkan komputer sulit untuk diprogram dan membatasi kecepatannya. Ciri lain komputer generasi pertama adalah penggunaan
tube vakum (yang membuat komputer pada masa tersebut berukuran sangat besar) dan
silinder magnetik untuk penyimpanan data.
Generasi kedua
Pada tahun 1948, penemuan transistor sangat memengaruhi perkembangan komputer. Transistor menggantikan tube vakum di televisi, radio, dan komputer. Akibatnya, ukuran mesin-mesin elektrik berkurang drastis.
Transistor mulai digunakan di dalam komputer mulai pada tahun 1956. Penemuan lain yang berupa pengembangan memori inti-magnetik membantu pengembangan komputer generasi kedua yang lebih kecil, lebih cepat, lebih dapat diandalkan, dan lebih hemat energi dibanding para pendahulunya. Mesin pertama yang memanfaatkan teknologi baru ini adalah superkomputer. IBM membuat superkomputer bernama Stretch, dan Sprery-Rand membuat komputer bernama LARC. Komputer-komputer ini, yang dikembangkan untuk laboratorium energi atom, dapat menangani sejumlah besar data, sebuah kemampuan yang sangat dibutuhkan oleh peneliti atom. Mesin tersebut sangat mahal dan cenderung terlalu kompleks untuk kebutuhan komputasi bisnis, sehingga membatasi kepopulerannya. Hanya ada dua LARC yang pernah dipasang dan digunakan: satu di Lawrence Radiation Labs di Livermore, California, dan yang lainnya di US Navy Research and Development Center di Washington D.C. Komputer generasi kedua menggantikan bahasa mesin dengan bahasa assembly. Bahasa assembly adalah bahasa yang menggunakan singkatan-singakatan untuk menggantikan kode biner.
Pada awal 1960-an, mulai bermunculan komputer generasi kedua yang sukses di bidang bisnis, di universitas, dan di pemerintahan. Komputer-komputer generasi kedua ini merupakan komputer yang sepenuhnya menggunakan transistor. Mereka juga memiliki komponen-komponen yang dapat diasosiasikan dengan komputer pada saat ini: printer, penyimpanan dalam disket, memory, sistem operasi, dan program.
Salah satu contoh penting komputer pada masa ini adalah 1401 yang diterima secara luas di kalangan industri. Pada tahun 1965, hampir seluruh bisnis-bisnis besar menggunakan komputer generasi kedua untuk memprosesinformasi keuangan.
Program yang tersimpan di dalam komputer dan bahasa pemrograman yang ada di dalamnya memberikan fleksibilitas kepada komputer. Fleksibilitas ini meningkatkan kinerja dengan harga yang pantas bagi penggunaan bisnis. Dengan konsep ini, komputer dapat mencetak faktur pembelian konsumen dan kemudian menjalankan desain produk atau menghitung daftar gaji. Beberapa bahasa pemrograman mulai bermunculan pada saat itu. Bahasa pemrograman Common Business-Oriented Language (COBOL) dan Formula Translator (FORTRAN) mulai umum digunakan. Bahasa pemrograman ini menggantikan kode mesin yang rumit dengan kata-kata, kalimat, dan formula matematika yang lebih mudah dipahami oleh manusia. Hal ini memudahkan seseorang untuk memprogram dan mengatur komputer. Berbagai macam karier baru bermunculan (programmer, analis sistem, dan ahli sistem komputer). Industr peranti lunak juga mulai bermunculan dan berkembang pada masa komputer generasi kedua ini.
Generasi ketiga
Walaupun transistor dalam banyak hal mengungguli tube vakum, namun transistor menghasilkan panas yang cukup besar, yang dapat berpotensi merusak bagian-bagian internal komputer. Batu kuarsa (quartz rock) menghilangkan masalah ini. Jack Kilby, seorang insinyur di Texas Instrument, mengembangkan sirkuit terintegrasi (IC : integrated circuit) pada tahun 1958. IC mengkombinasikan tiga komponen elektronik dalam sebuah piringan silikon kecil yang terbuat dari pasir kuarsa. Pada ilmuwan kemudian berhasil memasukkan lebih banyak komponen-komponen ke dalam suatu chip tunggal yang disebut semikonduktor. Hasilnya, komputer menjadi semakin kecil karena komponen-komponen dapat dipadatkan dalam chip. Kemajuan komputer generasi ketiga lainnya adalah penggunaan sistem operasi (operating system) yang memungkinkan mesin untuk menjalankan berbagai program yang berbeda secara serentak dengan sebuah program utama yang memonitor dan mengkoordinasi memori komputer.
Generasi keempat
Setelah IC, tujuan pengembangan menjadi lebih jelas: mengecilkan ukuran sirkuit dan komponen-komponen elektrik. Large Scale Integration (LSI) dapat memuat ratusan komponen dalam sebuah chip. Pada tahun 1980-an, Very Large Scale Integration (VLSI) memuat ribuan komponen dalam sebuah chip tunggal.
Ultra-Large Scale Integration (ULSI) meningkatkan jumlah tersebut menjadi jutaan. Kemampuan untuk memasang sedemikian banyak komponen dalam suatu keping yang berukurang setengah keping uang logam mendorong turunnya harga dan ukuran komputer. Hal tersebut juga meningkatkan daya kerja, efisiensi dan keterandalan komputer. Chip Intel 4004 yang dibuat pada tahun 1971membawa kemajuan pada IC dengan meletakkan seluruh komponen dari sebuah komputer (central processing unit, memori, dan kendali input/output) dalam sebuah chip yang sangat kecil. Sebelumnya, IC dibuat untuk mengerjakan suatu tugas tertentu yang spesifik. Sekarang, sebuah mikroprosesor dapat diproduksi dan kemudian diprogram untuk memenuhi seluruh kebutuhan yang diinginkan. Tidak lama kemudian, setiap peranti rumah tangga seperti microwave, oven, televisi, dan mobil dengan electronic fuel injection (EFI) dilengkapi dengan mikroprosesor.
Perkembangan yang demikian memungkinkan orang-orang biasa untuk menggunakan komputer biasa. Komputer tidak lagi menjadi dominasi perusahaan-perusahaan besar atau lembaga pemerintah. Pada pertengahan tahun 1970-an, perakit komputer menawarkan produk komputer mereka ke masyarakat umum. Komputer-komputer ini, yang disebut minikomputer, dijual dengan paket peranti lunak yang mudah digunakan oleh kalangan awam. Peranti lunak yang paling populer pada saat itu adalah program word processing dan spreadsheet. Pada awal 1980-an, video game seperti Atari 2600 menarik perhatian konsumen pada komputer rumahan yang lebih canggih dan dapat diprogram.
Pada tahun 1981, IBM memperkenalkan penggunaan Personal Computer (PC) untuk penggunaan di rumah, kantor, dan sekolah. Jumlah PC yang digunakan melonjak dari 2 juta unit pada tahun 1981 menjadi 5,5 juta unit pada tahun 1982. Sepuluh tahun kemudian, 65 juta PC digunakan. Komputer melanjutkan evolusinya menuju ukuran yang lebih kecil, dari komputer yang berada di atas meja (desktop computer) menjadi komputer yang dapat dimasukkan ke dalam tas (laptop), atau bahkan komputer yang dapat digenggam (palmtop).
IBM PC bersaing dengan Apple Macintosh dalam memperebutkan pasar komputer. Apple Macintosh menjadi terkenal karena memopulerkan sistem grafis pada komputernya, sementara saingannya masih menggunakan komputer yang berbasis teks. Macintosh juga memopulerkan penggunaan peranti mouse.
Pada masa sekarang, kita mengenal perjalanan IBM compatible dengan pemakaian CPU: IBM PC/486, Pentium, Pentium II, Pentium III, Pentium IV (Serial dari CPU buatan Intel). Juga kita kenal AMD k6, Athlon, dsb. Ini semua masuk dalam golongan komputer generasi keempat.
Seiring dengan menjamurnya penggunaan komputer di tempat kerja, cara-cara baru untuk menggali potensial terus dikembangkan. Seiring dengan bertambah kuatnya suatu komputer kecil, komputer-komputer tersebut dapat dihubungkan secara bersamaan dalam suatu jaringan untuk saling berbagi memori, peranti lunak, informasi, dan juga untuk dapat saling berkomunikasi satu dengan yang lainnya. Jaringan komputer memungkinkan komputer tunggal untuk membentuk kerja sama elektronik untuk menyelesaikan suatu proses tugas. Dengan menggunakan perkabelan langsung (disebut juga Local Area Network atau LAN), atau [kabel telepon, jaringan ini dapat berkembang menjadi sangat besar.
Generasi kelima
Mendefinisikan komputer generasi kelima menjadi cukup sulit karena tahap ini masih sangat muda. Contoh imajinatif komputer generasi kelima adalah komputer fiksi HAL9000 dari novel karya Arthur C. Clarke berjudul 2001: Space Odyssey. HAL menampilkan seluruh fungsi yang diinginkan dari sebuah komputer generasi kelima. Dengan kecerdasan buatan (artificial intelligence atau AI), HAL dapat cukup memiliki nalar untuk melakukan percapakan dengan manusia, menggunakan masukan visual, dan belajar dari pengalamannya sendiri.
Walaupun mungkin realisasi HAL9000 masih jauh dari kenyataan, banyak fungsi-fungsi yang dimilikinya sudah terwujud. Beberapa komputer dapat menerima instruksi secara lisan dan mampu meniru nalar manusia. Kemampuan untuk menterjemahkan bahasa asing juga menjadi mungkin. Fasilitas ini tampak sederhana. Namun fasilitas tersebut menjadi jauh lebih rumit dari yang diduga ketika programmer menyadari bahwa pengertian manusia sangat bergantung pada konteks dan pengertian ketimbang sekadar menterjemahkan kata-kata secara langsung.
Banyak kemajuan di bidang desain komputer dan teknologi yang semakin memungkinkan pembuatan komputer generasi kelima. Dua kemajuan rekayasa yang terutama adalah kemampuan pemrosesan paralel, yang akan menggantikan model non Neumann. Model non Neumann akan digantikan dengan sistem yang mampu mengkoordinasikan banyak CPU untuk bekerja secara serempak. Kemajuan lain adalah teknologi superkonduktor yang memungkinkan aliran elektrik tanpa ada hambatan apapun, yang nantinya dapat mempercepat kecepatan informasi.
Jepang adalah negara yang terkenal dalam sosialisasi jargon dan proyek komputer generasi kelima. Lembaga ICOT (Institute for new Computer Technology) juga dibentuk untuk merealisasikannya. Banyak kabar yang menyatakan bahwa proyek ini telah gagal, namun beberapa informasi lain bahwa keberhasilan proyek komputer generasi kelima ini akan membawa perubahan baru paradigma komputerisasi di dunia.