Minggu, 18 Oktober 2015

     Instruksi harus diberikan kepada komputer agar dapat memecahkan suatu masalah. Langkah-langkah yang dilakukan untuk memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrograman komputer. Pemrograman komputer bukanlah hal yang sederhana. Kegiatan ini memerlukan ketelitian dan kemauan untuk bekerja dalam jangka waktu yang lama.


1. Pemrograman komputer


       Dalam komunikasi sehari-hari seorang harus berbicara dalam bahasa yang sama dengan orang tersebut. Hal ini berlaku juga untuk berkomunikasi dengan komputer. Kita harus menggunakan bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi. Pada dasarnya komputer adalah sebuah mesin digital, artinya komputer hanya mengenal kondisi adanya arus (dilambangkan sebagai angka 1) atau tiadanya arus (dilambangkan sebagai angka 0). Dengan kata lain sandi 1 dan 0 harus digunakan untuk melakukan pemrograman. Sandi tersebut dikenal sebagai bahasa mesin. Kita dapat membayangkan bagaimana sulitnya menggunakan bahasa mesin sebagai bahasa pemrograman.


     Karena bahasa mesin sangat sulit maka muncul ide untuk melambangkan untaian sandi 1 dan 0 dengan singkatan kata yang mudah dipahami manusia. Sebagai contoh dalam prosesor Intel terdapat perintah 0011 1010 0000 1011. Perintah dalam bahasa mesin ini artinya sama dengan perintah assembly CMP AL, 0D yang artinya bandingkan nilai register AL dengan 0D. CMP sebenarnya adalah singkatan dari compare. Dapat dilihat disini bahwa perintah tersebut lebih mudah dipahami dibandingkan dengan urut-urutan bilangan biner seperti tersebut diatas.


     Pemrograman dengan basa assembly untuk banyak orang masih dirasakan terlalu sulit. Karena hal tersebut akhirnya dikembangkan suatu bahasa pemrograman yang lebih yang lebih mudah digunakan. Bahasa pemrograman ini menggunakan bahasa generasi ketiga atau disingkat 3GL, biasa juga disebut sebagai high-level language. Contoh dari bahasa ini adalah bahasa Basic, Pascal, C, C++, COBOL, dsb.


     Bahasa generasi ketiga biasanya menggunakan kata-kata dalam bahasa Inggris karena bahasa inggris merupakan bahasa internasional. Sebagai contoh anda dapat menuliskan perintah berikut dalam bahasa Pascal . Sebagai contoh :

writeln(‘Hallo’); {Pascal}

printf(“Hallo”); // C

cout << “Hallo” << endl; // C++

ketiga pernyataan diatas bertujuan sama yaitu menuliskan teks “Hallo” ke keluaran standar biasanya ke layar komputer.


     Ketiga perintah sederhana diatas sebenarnya terdiri dari puluhan atau mungkin ratusan pernyataan assembly. Perangkat lunak yang menterjemahkan program dalam bahasa yang mudah dipahami manusia ke dalam bahasa mesin dapat digolongkan menjadi dua jenis yaitu compiler atau interpreter.


     Interpreter menerjemahkan program baris per baris, artinya jika suatu baris akan dieksekusi maka baris tersebut harus diterjemahkan terlebih dahulu kedalam bahasa mesin. Apabila baris berikutnya akan dieksekusi maka baris tersebut baru diterjemahkan ke dalam bahasa mesin. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic.


     Compiler akan menterjemahkan menterjemahkan semua perintah kedalam bahasa mesin kemudian menjalankan hasil terjemahannya. Hasil terjemahan, untuk selanjutnya disebut sebagai binary file, ini disimpan dalam file atau memori. Contoh bahasa pemrograman yang menggunakan compiler adalah adalah Pascal, C, dan C++


     Perkembangan bahasa pemrograman tidak hanya sampai pada generasi ketiga saja. Ada generasi lanjutan bahasa pemrograman yaitu 4GL (fourth generation language). Bahasa ini banyak digunakan untuk pengembangan aplikasi database. Salah satu contohnya adalah SQL (structured query language). Pada bahasa ini perintah yang diberikan lebih manusiawi misalnya : “Select Name, Address from Employee” untuk mengambil data Nama dan Alamat dari tabel Karyawan.


2. Langkah-langkah dalam pemrograman komputer


     Dalam melakukan suatu kegiatan, siapapun memerlukan langkah-langkah yang harus dilalui. Demikian juga dengan pemrograman komputer. Urut-urutan langkah yang disajikan disini tidak bersifat mutlak artinya tidak harus melakukan dari langkah pertama, kedua dan selanjutnya. Ada beberapa langkah yang mungkin atau harus diulang sampai beberapa kali. Berikut ini adalah langkah-langkah yang harus dilakukan dalam pemrograman komputer :


  1. Mendefinisikan masalah. Langkah pertama ini sering kali tidak dilakukan oleh banyak pemrogram. Begitu mendapat perintah untuk membuat suatu program, mereka langsung menulis programnya tanpa mendefinisikan masalahnya terlebih dahulu.
  2. Menentukan solusi. Setelah masalah didefinisikan dengan jelas, masukan apa yang diberikan sudah jelas, keluaran apa yang diinginkan sudah jelas, langkah selanjutnya adalah mencari jalan bagaimana masalah tersebut diselesaikan. Apabila permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan. 
  3. Memilih algoritma. Langkah ini merupakan salah satu langkah penting dalam pemrograman komputer. Pemilihan algoritama yang salah akan menyebabkan program tidak dapat berjalan dengan baik.
  4.  Menguji program. Setelah program selesai ditulis, program tersebut harus diuji. Pengujian meliputi : keberhasilan kompilasi, keberhasilan output dan keberhasilan pemecahan kasus.
  5. Menulis dokumentasi. Hal ini biasanya dilakukan bersamaan dengan menulis program. Artinya pada setiap baris program , atau setiap beberapa baris program dilakukan penulisan komentar. Dokumentasi merupakan hal yang sangat penting.Dokumentasi diperlukan terutama pada saaat akan melakukan perubahan program atau membaca program yang sudah ada. Komentar-komentar oendek pada program biasanya sudah cukup. Namun akan lebih baik jika dituliskan pada file terpisah untuk kemudian dicetak diatas kertas bilamana perlu.
  6. Perawatan. Langkah ini dilakukan setelah program selesai dibuat dan sudah digunakan oleh pengguna. Hal yang paling sering terjadi disini adalah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna ingin menambahkan fisilitas baru. Apabila hal seperti ini terjadi harus dilakukan revisi terhadap program.


3. Algoritma


     Meskipun pada penjelasan diatas algoritma hanyalah bagian dari 7 langkah dalam pembuatan program, namun ia memiliki posisi yang teramat penting. Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Dalam kehidupan sehari-hari sebenarnya kita juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh untuk menulis surat diperlukan langkah-langkah sebagai berikut :


  1. Mempersiapkan kertas dan amplop
  2. Mempersiapkan alat tulis
  3. Mulai menulis.
  4. Memasukkan kertas ke dalam amplop.
  5. Pergi ke kantor pos untuk mengeposkan surat tersebut.

     Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut dengan algoritma. Jadi sebenarnya kita menggunakan algoritma baik dengan sadar maupun tanpa kita sadar.

     Dalam banyak kasus, algoritma yang dilakukan tidak selalu berutan seperti diatas. Kadang-kadang harus memilih dua atau beberapa pilihan. Sebagai contoh jika kita ingin makan, kita harus menentukan akan memasak sendiri atau dirumah makan. Jika kita memilih untuk makan dirumah makan kita akan menjalankan algoritma yang berbeda jika kita ingin memasak sendiri. Didalam pemrograman hal tersebut dikenal sebagai percabangan.

     Dalam kasus lain lagi mungkin kita harus melakukan langkah-langkah tertentu beberapa kali Sebagai contoh, saat kita menulis surat, sebelum memasukkan kertas ke dalam amplop, mungkin kita harus memeriksa apakah surat tersebut sudah benar atau belum. Jika belum benar berarti kita harus menyisihkan kertas baru untuk memperbaiki surat tersebut. Demikian seterusnya sampai surat yang dibuat sesuai dengan yang diharapkan. Hal seperti ini disebut sebagai pengulangan.


4. Contoh algoritma untuk memecahkan masalah matematika


     Misalkan kita ingin menghitung luas lingkaran dari masukan berupa jari-jari lingkaran Rumus luas lingkaran adalah :

Luas = R2

Maka algoritma untuk menghitung luas lingkaran adalah :


  1. Masukkan R
  2. Pi = 3.14
  3. Luas = Pi * R * R
  4. Tulis Luas

     Perhatikanlah bahwa tanda = berarti merupakan pemberian nilai kepada variabel-variable yang berada disebelah kiri. Sebagai contoh untuk baris kedua, nilai 3.14 diberikan pada variable Pi. Berikutnya nilai Pi * R * R diberikan kepada variabel Luas.


     Baris pertama dari algoritma diatas meminta masukkan dari pengguna berupa jari-jari lingkaran yang disimpan pada variabel R. pada baris kedua nilai disimpan pada variabel dengan nama Pi. Baris ketiga menghitung luas lingkaran dengan rumus R2 atau yang dituliskan Pi * R * R. Luas lingkaran ini disimpan pada variabel Luas. Baris terakhir menuliskan luas lingkaran tersebut.


5. Urut-urutan (Sequence)

     Urut-urutan atau sequence adalah rangkaian tindakan yang dilakukan secara berurut. Contoh algoritma yang diperlihatkan diatas menunjukkan program yang berurut. Untuk memudahkan memahami algoritma, diagram alur akan sangat membantu. Contoh dari diagram tersebut terdapat pada gambar 1















Gambar 1. Algoritma Perhitungan Luas Lingkaran


6. Pseudocode


     Pseudocode adalah penulisan program dengan menggunakan bahasa yang kita pergunakan sehari hari. Bahasa yang digunakan bisa saja bahasa Indonesia, Bahasa Inggris, C-like, Pascal-like ataupun bentuk bentuk yang lainnya. Contoh pseudococde dari algoritma diatas adalah :

Program : Menghitung Luas Lingkaran

Mulai

Masukkan nilai jari-jari kedalam variabel R

Masukkan 3.14 kedalam variabel Pi

Masukkan hasil perkalian Pi dengan R kuadrat kedalam variabel Luas

Tampilkan nilai variabel luas

Selesai

     Apapun bentuk tampilan algoritma anda yang terpenting adalah logika dari program yang anda buat.



7. Percabangan dan Pengulangan


     Tidak setiap program memiliki algoritma yang hanya terdiri dari urut-urutan saja. Pada kenyataannya hal tersebut tidak mungkin terjadi pada pemrograman didunia sains atau bisnis. Sebuah program selalu terdiri dari urut-urutan(sequence), percabangan (condition), dan pengulangan (repetition). Percabangan dan pengulangan selalu dilakukan terhadap pernyataan-pernyataan program yang berbentuk urut-urutan.

     Percabangan adalah pemilihan kondisi untuk menentukan pernyataan mana yang akan dieksekusi selanjutnya. Sedangkan pengulangan adalah penentuan apakah suatu kondisi sudah terpenuhi untuk mengulangi atau menghentikan pengulangan eksekusi sebuah pernyataan program atau sebuah urut-urutan pernyataan program.

     Kita akan mempelajari percabangan dan pengulangan setelah menguasai dengan baik penulisan algoritma secara urut-urutan (sequential).

Materi dasar Algoritma dan Pemograman

Sebelum belajar algoritma pemrograman, akan lebih baik kita pahami terlebih dahulu langkah-langkah pembuatan suatu program. Terdapat beberapa langkah umum dalam pembuatan suatu program yaitu:
  1. Mendefinisikan masalah
  2. Mencari solusinya
  3. Menentukan algoritma
  4. Menulis program
  5. Menguji program
  6. Mendokumentasikan program
  7. Merawat program
Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan. langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut.
Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat. penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
Merawat program
Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Dari penjelasan diatas, dapat kita peroleh kesimpulan bahwa pembelajaran algoritma pemrograman adalah bagian dari langkah-langkah pembuatan program. Untuk lebih jelasnya tentang algoritma pemrograman akan diulas sebagai berikut :


Algoritma
Definisi dari algoritma antara lain :
-  Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
- Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.
- Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika.
- Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan  untuk memecahkan suatu permasalahan.
Menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas (berhingga)
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous)
3. Algoritma memiliki nol atau lebih masukan (input)
4. Algoritma mempunya nol atau lebih keluaran (output)
5. Algoritma harus efektif dan efisien.
 PROGRAM
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Kata  algoritma dan kata program seringkali dipertukarkan dalam penggunaannya.  Algoritma adalah urutan langkah-langkah penyelesaian masalah sedangkan Program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut programmer. Tiap-tiap  langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer. Secara garis besar komputer tersusun atas empat komponen utama, yakni:
1. piranti masukan berfungsi untuk memasukkan data atau program ke dalam memori komputer
2. piranti keluaran berfungsi untuk menampilkan hasil dari eksekusi program komputer
3. unit pemroses utama berfungsi mengerjakan operasi-operasi dasar
4. memori berfungsi untuk menyimpan program dan data atau informasi.
Proses Eksekusi Program
Mekanisme eksekusi sebuah program adalah sebagai berikut:
1. Program disimpan di dalam memori melalui piranti masukan.
2. Ketika sebuah program dieksekusi maka setiap instruksi  program akan dikirim dari memori ke unit pemroses utama. Unit pemroses utama kemudian akan menjalankan operasi sesuai instruksi-instruksi yang dibaca.
3. Apabila sebuah instruksi membutuhkan data masukan, maka piranti masukan akan membaca data masukan, mengirimkan ke memori kemudian mengirimkan ke unit pemroses utama untuk diproses.
4. Apabila eksekusi program menghasilkan data keluaran, maka data keluaran akan disimpan di dalam memori, kemudian dikirim ke piranti keluaran.
Perbedaan interpreter dan compiler
Interpreter
1. Menerjemahkan instruksi per instruksi.
2. Source program tidak harus ditulis lengkap.
3. Bila terjadi kesalahan instruksi, dapat langsung diperbaiki secara interaktif.
4. Tidak menghasilkan objek program
5. Pemrosesan program lebih lambat, karena setiap instruksi yang dikerjakan harus diinterpretasi ulang.
6. Source code program terus dipergunakan.
Compiler
1. Menerjemahkan secara keseluruhan.
2. Source program harus ditulis lengkap.
3. Bila terjadi kesalahan dalam kompilasi, source program harus dibenarkan dan proses kompilasi diulang kembali.
4. Menghasilkan objek program.
5. Pemrosesan program lebih cepat, karena program sudah dalam bahasa mesin.
6. Source code program dipergunakan satu kali pada saat kompilasi program.
PENULISAN ALGORITMA
Pada umumnya terdapat tiga jenis cara penulisan algoritma, yakni :
1.  Cara deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Contohnya : Algoritma 
Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum di antara ketiga bilangan tersebut.
Deskripsi :
(1) baca bilangan 1.
(2) baca bilangan 2.
(3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan tersebut MAX.
(4) baca bilangan 3.
(5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar, pilih MAX dan sebut bilangan tersebut MAX.
(6) keluarkan sebagai output MAX.
2. Pseudocode
Pseudocode  adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi  pseudocode  adalah  memberikan kemudahan bagi  programmer  untuk menerjemahkan  ke  notasi bahasa pemrograman, karena terdapat korespondensi antara  setiap pseudocode dengan notasi bahasa pemrograman.
Contoh : Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan bulat maksimum di antara ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 : integer {bilangan yang dicari maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
read(Bil1,Bil2)
if (Bil1>=Bil2) then
Bil1←MAX
else
Bil2←MAX
read(Bil3)
if (Bil3>=MAX) then
Bil3←MAX
write(MAX)
3. Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-rutan prosedur dari suatu program.  Flowchart menolong analis dan programmer  untuk memecahkan masalah ke  dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Bila seorang analis dan  programmer  akan membuat  flowchart, ada  beberapa petunjuk yang harus diperhatikan, seperti:
1.  Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.
2.  Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan  deskripsi kata kerja, misalkan MENGHITUNG PAJAK PENJUALAN.
5. Setiap langkah dari aktivitas harus berada pada urutan yang benar
6. Gunakan simbol-simbol flowchart yang standar.
Simbol-simbol yang sering digunakan dalam flowchart antara lain:
Simbol Flowchart
Simbol Flowchart
Contoh flowchart untuk menghitung jumlah dua buah bilangan yakni sebagai berikut :
Contoh 1
Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik berikut :
1.  Sederhana (Simple) Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan  pointer  yang rumit dan multiple  inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (Object Oriented) Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan  kembali. Pemrograman berorientasi objek memodelkan dunia nyata ke  dalam objek dan melakukan interaksi antar objek-objek tersebut
3. Terdistribusi (Distributed) Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya networking libraries yang terintegrasi pada Java
4. Interpreted Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source  code  Java yang telah dikompilasi menjadi Java  bytecodes  dapat dijalankan pada  platform yang berbeda-beda
5. Robust Java mempuyai reliabilitas yang tinggi.  Compiler  pada Java mempunyai kemampuan mendeteksi  error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai  runtime-exception handling untuk membantu mengatasi error pada program.
6. Secure Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut
7. Architecture Neutral Program Java  bersifat  independent  platform. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan menggunakan Java Virtual Machine
8. Portable Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang
9. Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan
10. Dynamic Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan  properties ataupun  method  dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
Mekanisme eksekusi program di Java
Lingkungan pemrograman pada Java menggunakan  compiler  sekaligus interpreter  agar dapat berjalan pada platform  yang berbeda. Java  compiler melakukan kompilasi pada  source  code  (.java) menjadi Java  bytecodes (.class) seperti ditunjukkan oleh Gambar Berikut :
Kompilasi di Java
Program Java hasil kompilasi akan dapat dijalankan pada berbagai platform sistem komputer dengan menggunakan Java Virtual machine (JVM). JVM disebut juga bytecodes interpreter atau Java runtime interpreter. Tidak seperti bahasa pemrograman lainnya, platform Java mempunyai dua komponen, yaitu:  
1. Java  Virtual  machine  (JVM)  yang merupakan fondasi untuk platform Java yang dapat digunakan di berbagai platform perangkat keras.
2. Java  Application  Programming  Interface  (Java API)yang merupakan kumpulan komponen-komponen perangkat lunak siap pakai untuk berbagai keperluan penulisan program.

Sabtu, 17 Oktober 2015


Komponen - Komponen Perangkat Keras Pada Komputer
Perangkat Keras Komputer di sebut juga Arsitektur Komputer dan juga dapat didefinisikan dan dikategorikan sebagai ilmu dan sekaligus seni mengenai cara interkoneksi komponen-komponen perangkat keras untuk dapat menciptakan sebuah komputer yang memenuhi kebutuhan fungsional, kinerja, dan target biayanya. Namun disini kita hanya akan membahas arsitektur pada umumnya, Secara garis besar arsitektur computer dapat di bagi menjadi 4 yaitu :

  1. Central processing unit (CPU), yang mengendalikan semua unit sistem computer yang lain/mengubah input menjadi output. Dirincikan sbb :  Primary storageControl unit (unit pengendali), membuat semua unit bekerja sama sebagai suatu system, Arithmatika and logical Unit, tempat berlangsungkan operasi perhitungan matematika dan logika. Secondary storage (penyimpanan sekunder ), menyedikan tempat untuk menyimpan program dan data saat tidak digunakan.
  2. Unit Input, memasukkan data ke dalam primary storage.
  3. Unit Output, mencatat dan atau mencetak hasil pengolahan. (penyimpanan primer), berisi data yang diolah & program,...
  4. Primary storage : tempat penyimpanan

CPU ( Central Processing Unit )
Central Processing Unit, Disinilah jantung atau nyawa dari sebuah komputer. Disinilah tempat dimana semua proses yang dilakukan oleh sebuah komputer berlangsung. Berikut adalah organ utama dalam CPU :

  • Processor : Menjalankan program.
  • Motherboard : Motherboard adalah rumah dari perangkat dimana semua yang berhubungan untuk dapat masuk kedalam system harus melalui motherboard.
  • Video Graphics Adapter ( VGA ) : Perantara untuk menterjemahkan keluaran dari processor untuk ditampilkan  ke monior.
  • Power Supply Unit ( PSU ) : Mensuplai tenaga untuk semua komponen yang ada dalam  computer. Serta untuk menstabilkan voltase secara otomatis.
  • Harddisk : Salah satu jenis memori penyimpanan dalam computer.
  • Memory ( kecepatan ) : Semakin besar kapasitas memory semakin leluasa sebuah computer untuk mengeksekusi program.
Peralatan Input
Alat input dibagi ke dalam dua golongan yaitu alat input langsung dan tidak langsung. Alat input langsung memungkinkan input diproses secara langsung oleh CPU melalui alat input tanpa terlebih dahulu dimasukkan ke dalam media penyimpanan ekternal. Alat input langsung terdiri dari beberapa golongan yaitu: keyboard, pointing device, scanner, voice recognizer. Alat input tidak langsung , dimana data yang dimasukkan tidak langsung diproses oleh CPU, tetapi direkam terlebih dahulu ke suatu media mechine readable form ( bentuk dapat dibaca oleh komputer dan merupakan penyimpanan ekternal). Alat input tidak langsung terdiri dari: keytocard, keytotape, keytodisk, dsb

  • Keyboard : Penciptaan keyboard komputer diilhami oleh penciptaan mesin ketik yang dasar rancangannya di buat dan di patenkan oleh Christopere Lathan pada tahun 1868.
  • Mouse : dapat digerakan kemana saja berdasarkan arah gerakan tangan kita.
  • Scanner : suatu alat elektronik yang fungsinya mirip dengan mesin foto kopi.
  • Monitor : disebut juga layar computer, berfungsi untuk menampilkan informasi yang dapat dilihat.
  • Printer : digunakan untuk mencetak data / informasi pada kertas
  • Speaker : berfungsi untuk mengeluarkan informasi berupa suara
  • Processor : sebagai pusat pengolah data dan pengendali kerja perangkat lainnya.
  • Mainboard : sebagai kerangka mesin computer tempat processor dan komponen – komponen lainnya dipasang
  • Diskette Drive : disebut floppy drive, yaitu tempat memasukkan floppy disk (disket). Berfungsi membaca dan menulis data pada disket.
  • CD Drive : tempat memasukkan CD, berfungsi membaca dan atau menulis data pada CD/VCD
  • Harddisk : adalah tempat penyimpanan data. Harddisk berada dalam casing (badan) komputer dan jarang di pindah-pindahkan (disebut fixed disk)
  • Memory (RAM) tempat penyimpanan data sementara. RAM singkatan dari Random Accses Memory, yaitu memori yang bias diakses secara acak oleh processor.
  • VGA – Card : komponen yang berfungsi menampilkan gambar / tampilan pada monitor. (Video Graphics Array)
  • Sound Card : komponen yang berfungsi mengolah data menjadi suara yang akan ditampilkan pada speaker
  • LAN Card : komponen yang akan menghubungkan computer dengan computer lainnya. Tidak selalu ada pada computer, dan dipasang jika diperlukan saja.
  • Modem : komponen yang diperlukan jika kita ingin koneksi internet, atau untuk mengirim data melalui jaringan telepon.
  • Stabilizer : menstabilkan arus listrik sehingga arus yang masuk ke dalam power supply komputer tidak terlalu naik – turun yang bisa menyebabkan kerusakan peralatan elektronik dan data.
  • UPS : untuk mencegah komputer mati ketika terjadi pemadaman arus listrik mendadak. Pada waktu listrik padam, UPS otomatis menyediakan daya listrik untuk computer.
Peralatan Output
Output yang dihasilkan dari pemroses dapat digolongkan menjadi empat bentuk, yaitu tulisan ( huruf, angka, symbol khusus ), image ( dalam bentuk grafik atau gambar ), suara , dan bentuk lain yang dapat dibaca oleh mesin ( machine-readable form ). Peralatan output dapat berupa :

Hard-copy device  yaitu alat yang digunakan untuk mencetak tulisan dan image pada media keras seperti kertas atau film.
Soft-copy device yaitu alat yang digunakan untuk menampilkan tulisan dan image pada media lunak yang berupa sinyal elektronik. Contoh :>> Printer : Output device yang berfungsi mencetak data ( Dokumen, Picture, web page, dll ) >> Monitor : Output device yang berfungsi menampilkan data-data dari CPU. >> Projector : Sama halnya monitor, projector berfungsi menampilkan data-data dari CPU, badanya adalah ukuran keluaran projector jauh lebih besar dari monitor. >> Speaker : Alat keluaran untuk device yang berupa suara.

Komponen - Komponen Perangkat Lunak Pada Komputer
Program Aplikasi (Software Application)
Program aplikasi merupakan software yang siap digunakan oleh user untuk memudahkan pekerjaan penggunanya. Program aplikasi dapat dibedakan menjadi :
a.      Word Processing
Merupakan program ppengolah kata yang dapat digunakan untuk menulis, menyunting naskah. Contohnya adalah Microsoft Word 2003, Microsoft Word 2010, Lotus Ami Pro, dan lain-lain.
b.     Desktop Publishing
Merupakan program yang dapat digunakan untuk mengatur tata letak suatu naskah sebelum dicetak. Contohnya adalah Ventura Publisher dan Page Maker.
c.      Program Spreadsheet
Merupakan program yang dapat digunakan untuk mengolah angka. Data numerik diolah secara berkolom. Contoh dari program ini adalah Microsoft Excel, Lotus Improv, dan lain-lain.
d.     Database Management System
Program ini dugunakan untuk menyimpan, mengolah data, dan kemudian menghasilkan informasi. Data yang diolah berupa database. Conytohnya adalah Paradox, Microsoft Acces, My Sql, dan sebagainya.
e.      Graphics
Dengan program ini kita dapat mengolah data berupa graphic seperti menggambar, meberi warna, membuat animasi, mengedit foto, dan lain-lain. Contoh dari program Graphic adalah Corel Draw, Adobe Photoshop, Photoshine, dan lain-lain.
f.      Program Akuntansi
            Program ini digunakan untuk mengatur keuangan. Biasanya pihak yang menggunakan program ini adalah perusahaan-perusahaan dengan cash flow yang besar. Contoh program ini adalah Pacioli 2000, Peach Tree Accounting, dan sebagainya.
g.     Program Statistik
Program jenis ini digunakan untuk melakukan penelitian yang berhubungan dengan analisis statistik. Contohnya adalah Statistica, SAS, dsb.
h.     Communication
Program jenis ini digunakan untuk melakukan komunikasi dengan pengguna lain. Contohnya adalah Carbon Copy, DataFax, dsb.
i.       Multimedia
Program ini berhubungan dengan pekerjaan-pekerjaan multimedia. Contohnya adalah Adobe Premiere Pro, Microsoft Video, dan lain-lain.
j.       Game
Program ini merupakan program permainan saja. Contohnya Prince Of Persia Need For Speed, GTA, dan lain-lain.
k.     Antivirus
Merupakan program yang digunakan untuk mendeteksi dan membasmi virus komputer. Contohnya sangatlah banyak seperti Avira, AVK Kasper Sky, Smadav, dan lain-lain.