Selasa, 01 Januari 2013

Pemrograman berorientasi objek

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
- Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Contoh macam-macam bahasa pemograman



Bahasa Pemrograman-
Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin (machine languange), sehingga dapat diterima dan dimengerti oleh komputer. Apabila languange software tidak tersedia, maka pembuat program harus menulis programnya langsung dengan bahasa mesin yang berbentuk bilangan-bilangan binary. Suatu instruksi program yang ditulis dalam bahasa mesin dapat berbentuk seperti 000100110010. Tanpa mengetahui arti tertentu dari masing-masing bagian dari bilangan binary tersebut secara persis, maka akan sangat sulit untuk mengerti dengan benar maksud dari instruksi tersebut.
Instruksi yang berbentuk bilangan binary disebut dengan object code. Sedangkan kumpulan dari instruksi-instruksi yang membentuk suatu program dalam bahasa mesin disebut dengan object program. Tiap-tiap instruksi object code terdiri dari operation code (op code) dan open and. Penulisan program dengan bahasa mesin dirasakan terlalu sulit dan memakan banyak waktu, maka dikembangkan languange software sebagai alternatif penulisan program yang lebih mudah. Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter.
1) Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (assembly) ke dalam bahasa mesin.
2) Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini biasa disebut kompilasi.
3) Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian menjalankan instruksi yang telah diterjemahkan tersebut.
Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin sehingga dapat diterima dan dimengerti oleh komputer. Pada dasarnya bahasa komputer dapat dibedakan menjadi empat macam, yaitu bahasa mesin dan bahasa assembly (kedua bahasa ini termasuk bahasa tingkat rendah/low level language), bahasa tingkat tinggi (high level language), dan bahasa generasi keempat.
1) Bahasa mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.
Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.
2) Bahasa assembly
Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan kata-kata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir.
3) Bahasa tingkat tinggi (high level languange)
Bahasa tingkat tinggi memiliki arti bahwa bahasa ini lebih mudah dimengerti oleh banyak orang karena memang dirancang untuk orang yang awam. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut.
a) BASIC (Beginners All-purposes Symbolic Instruction Code)
Bahasa program ini dikembangkan pada tahun 1965 di Darmouth College. Penciptanya adalah John Kemeny dan Thomas Kurtz. BASIC dipergunakan dalam aplikasi matematika. Selain itu, BASIC juga digunakan dalam beberapa aplikasi lainnya seperti akuntasi, permainan, file simulasi, dan lain-lain.
Keunggulan BASIC terletak pada kemudahan dalam pemakaiannya, sedangkan kelemahannya adalah tidak mendukung operasi bilangan kompleks dan penanganan terhadap berkas sangat terbatas sehingga tidak cocok untuk aplikasi bisnis.
b) LOGO
Bahasa ini dikembangkan untuk pendidikan dan simulasi pengajaran pada anak-anak dalam menyelesaikan masalah dan melakukan pemrograman. Ditemukan pada tahun 1967 oleh Seymour Papert dengan menggunakan LISP, yaitu satu jenis bahasa pemrograman untuk kecerdasan buatan. Logo sangat mudah digunakan untuk membuat gambar, sehingga banyak digunakan dalam menghasilkan laporan-laporan bisnis dalam bentuk grafik.
c) COBOL (Common Business Oriented Language)
Program jenis ini sering digunakan dalam dunia bisnis dan komersial, mulai dikembangkan pada tahun 1959. Namun sampai saat ini, program ini masih banyak digunakan pada jenis komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut.
1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin.
2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer.
3) Penanganan masukan dan keluaran mudah dilakukan.
4) Penanganan terhadap berkas sudah tersedia dan bahkan mendukung berbagai macam tipe-tipe berkas seperti sekuensial dan indeks.
Kelemahan dari bahasa ini adalah struktur penulisan program yang sangat banyak dan sangat kaku sehingga membuat programmer menjadi lelah dan bosan.
d) PASCAL
Bahasa ini ditemukan oleh Nicklaus Wirth tahun 1971. Bahasa ini dibuat untuk pengajaran pemrograman. Bahasa ini sangat populer di kalangan mahasiswa ilmu komputer dan teknik. Pascal memiliki keunggulan dibandingkan Fortran maupun Basic, yaitu sangat mudah dipelajari serta memiliki dukungan fungsi-fungsi matematika yang sangat lengkap. Namun Pascal juga memiliki kelemahan, yaitu tidak dapat mendukung operasi bilangan kompleks dan tidak mendukung sarana aplikasi bisnis. Keberadaan Pascal dapat pula dijadikan bahasa dasar dalam pembuatan kode perangkat lunak Delphi (software untuk pengembangan program di lingkungan Windows). Pascal juga digunakan sebagai landasan pembuatan kode pada Kylix, yaitu software pengembang program di lingkungan Linux.
e) Fortran (Formula Translator)
Fortran merupakan bahasa tingkat tinggi yang pertama kali diciptakan. Bahasa ini mulai dikembangkan pada tahun 1956 oleh John Backus di IBM. Fortran digunakan dalam bidang aplikasi matematika, yaitu dalam hal perumusan dan perhitungan sehingga menjadi andalan keunggulan dari bahasa ini. Namun Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami. Untuk membuat bahasa fortran, seorang programmer tidak harus mengetahui bahasa mesin, tetapi harus memahami tata bahasa dan peraturan bahasa fortran.
f) Algol (Algoritma Language)
Algol merupakan bahasa automatic yang cocok untuk memecahkan permasalahan yang membutuhkan perhitungan numerik untuk beberapa pengolahan logic.
g) PL/1 (Programming Language)
Programming language merupakan bahasa komputer yang dapat digunakan dalam segala bahasa. Pada kenyataannya bahasa ini sulit dipelajari dan hanya dapat digunakan pada mesin IBM.

h) RPG (Report Program Generation)
RPG adalah program untuk pengolahan laporan. Bahasa ini sangat populer di lingkungan minicomputer dan mainframe IBM. RPG diluncurkan pertama kali pada tahun 1964.
i) APL (Aritmathic Programming Language)
APL adalah bahasa komputer untuk memecahkan soal-soal matematika (ilmu hitung). Diperkenalkan dan diciptakan oleh Kenneth Iverson pada tahun 1962. Bahasa ini menggunakan keyboard khusus yang berisikan simbol-simbol yang kompleks yang memungkinkan untuk melakukan penyelesaian matematika yang kompleks.
4) Bahasa pemrograman generasi keempat
Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.

Sejarah Bahasa Pemrograman Cobol



apakah kalian mengetahui sejarah sebenarnya tentang cobol ? disini saya akan mencoba menjelaskan apakah yang di maksud cobol dalam arti kata sebuah bahasa pemograman, referensi yang saya ambil ini dari berbagai sumber dan buku terpercaya yang menerangkan dunia pemograman,
pemograman ini generasi kerabat dekatnya dari bahasa pemograman C, jadi sebelum beranjak lebih jauh , mari kita bersama – sama simak apakah cobol itu ?


COBOL (singkatan dari Common Business Oriented Language) adalah sebuah bahasa pemrograman generasi ketiga. Sesuai dengan namanya, maka bahasa COBOL mempunyai fungsi menyelesaikan masalah-masalah yang berhubungan dengan perdagangan, seperti sistem pengelolaan keuangan, laporan pengeluaran sebuah perusahaan dan lain-lain.
The COBOL 2002 standar termasuk dukungan untuk pemrograman berorientasi obyek dan fitur bahasa modern.

Sejarah dan spesifikasi

Spesifikasi COBOL diciptakan oleh Grace Hopper pada paruh kedua 1959. Adegan ditetapkan pada tanggal 8 April 1959 di sebuah pertemuan produsen komputer, pengguna, dan orang-orang universitas di University of Pennsylvania Komputasi Pusat. Amerika Serikat Departemen Pertahanan kemudian setuju untuk mensponsori dan mengawasi kegiatan berikutnya. Pertemuan dipimpin oleh Charles A. Phillips diadakan di Pentagon pada tanggal 28 Mei dan 29 tahun 1959 (tepat satu tahun setelah pertemuan ALGOL Z├╝rich 58), ada diputuskan untuk membentuk tiga komite: jangkauan pendek, menengah dan panjang (yang yang terakhir tidak pernah benar-benar terbentuk). Itu adalah Komite Pendek Range, dipimpin oleh Joseph Wegstein dari US National Bureau of Standar, bahwa selama bulan-bulan berikutnya menciptakan gambaran dari versi pertama dari COBOL. Komite ini dibentuk untuk merekomendasikan pendekatan jangka pendek untuk umum bahasa bisnis. Komite ini terdiri dari anggota mewakili produsen komputer enam dan tiga instansi pemerintah. Keenam produsen komputer itu Burroughs Corporation, IBM, Minneapolis-Honeywell (Honeywell Labs), RCA, Sperry Rand, dan Sylvania Produk Electric. Ketiga instansi pemerintah adalah US Air Force, David Taylor Model Basin, dan Biro Standar Nasional (sekarang Institut Nasional Standarisasi dan Teknologi). Komite jarak menengah dibentuk namun tidak pernah menjadi operasional. Pada akhirnya sebuah sub-komite dari Komite Range Pendek mengembangkan spesifikasi bahasa COBOL. Sub-komite itu terdiri dari enam individu:

* William Selden dan Tierney Gertrude IBM
* Howard Bromberg dan Diskon Howard RCA
* Vernon Reeves dan Jean Sammet E. Sylvania Produk Electric

subkomite ini menyelesaikan spesifikasi untuk COBOL pada bulan Desember 1959. Spesifikasi itu untuk sebagian besar terinspirasi oleh bahasa ARUS-Matic ditemukan oleh Grace Hopper – biasanya disebut sebagai “ibu dari bahasa COBOL” – bahasa IBM COMTRAN diciptakan oleh Bob Bemer, dan bahasa FAKTA dari Honeywell.


Keputusan untuk menggunakan nama “COBOL” dibuat pada pertemuan komite diselenggarakan pada tanggal 18 September 1959.

Kompiler COBOL pertama untuk kemudian diterapkan pada tahun 1960 dan pada tanggal 6 dan 7 Desember dasarnya sama COBOL program yang sudah dijalankan pada dua membuat berbeda dari komputer, sebuah komputer RCA dan Remington-Rand komputer Univac, menunjukkan kompatibilitas yang dapat dicapai.


ANS COBOL 1968

Setelah menjalani 1959 COBOL beberapa modifikasi dan perbaikan. Dalam upaya untuk mengatasi masalah ketidakcocokan antara berbagai versi COBOL, American National Standards Institute (ANSI) mengembangkan sebuah bentuk standar bahasa pada tahun 1968. Versi ini dikenal sebagai Standar Nasional Amerika (ANS) COBOL.

COBOL 1974

Pada tahun 1974, ANSI menerbitkan versi revisi (ANS) COBOL, berisi sejumlah fitur yang tidak ada di versi 1968.

COBOL 1985

Pada tahun 1985, ANSI diterbitkan masih versi lain revisi fitur baru yang tidak dalam standar 1974, terutama bahasa terstruktur membangun (“terminator lingkup”), termasuk END-IF, END-PERFORM, END-READ, dll

COBOL 2002 dan berorientasi obyek COBOL

Bahasa terus berkembang hari ini. Pada awal 1990 diputuskan untuk menambahkan objek-orientasi dalam revisi penuh berikutnya COBOL. Estimasi awal adalah untuk memiliki revisi selesai pada tahun 1997 dan CD ISO (Komite Draft) yang tersedia pada tahun 1997. Beberapa pelaksana (termasuk Micro Focus, Fujitsu, dan IBM) memperkenalkan sintaks berorientasi obyek berdasarkan konsep 1997 atau lain dari revisi penuh. Final disetujui Standar ISO (diadopsi sebagai standar ANSI by INCITS) disetujui dan tersedia pada tahun 2002.

Seperti bahasa pemrograman C + +, Java, object-oriented COBOL compiler yang tersedia bahkan sebagai bahasa bergerak ke arah standardisasi. Fujitsu dan Mikro Fokus saat ini dukungan berorientasi obyek kompiler COBOL kerangka penargetan. NET. [4]

2002 (revisi ke-4) dari COBOL termasuk banyak fitur lainnya di luar objek-orientasi. Ini termasuk (namun tidak terbatas pada):



* Dukungan Bahasa Nasional (termasuk namun tidak terbatas pada dukungan Unicode)

* Lokal pengolahan berbasis

* User-didefinisikan fungsi

* CALL (dan fungsi) prototip (untuk memeriksa parameter saat kompilasi)

* Pointer dan sintaks untuk mendapatkan dan membebaskan penyimpanan

* Memanggil konvensi ke dan dari bahasa non-COBOL seperti C

* Dukungan untuk eksekusi dalam kerangka lingkungan seperti Microsoft NET dan. Jawa (termasuk   COBOL yang dipakai sebagai Enterprise JavaBeans)

* Bit dan dukungan Boolean

* “Benar” dukungan biner (sampai dengan perangkat tambahan ini, item biner yang dipotong berdasarkan (spesifikasi basis-10) dalam Divisi Data)

* Dukungan Floating-point
* Standar (atau portabel) hasil aritmatika
* Generasi dan parsing XML

Sejarah standar COBOL

Spesifikasi disetujui oleh Komite Range Pendek penuh telah disetujui oleh Komite Eksekutif pada tanggal 3 Januari 1960, dan dikirim ke kantor percetakan pemerintah, yang diedit dan dicetak spesifikasi ini sebagai Cobol 60.

American National Standards Institute (ANSI) yang dihasilkan beberapa revisi standar COBOL, termasuk:

* COBOL-68
* COBOL-74
* COBOL-85
* Intrinsik Perubahan Fungsi – 1989
* Koreksi Perubahan – 1991

Setelah Perubahan tahun 1985 ANSI Standar (yang telah diadopsi oleh ISO), pengembangan utama dan kepemilikan diambil alih oleh ISO. Edisi berikut dan TRS (Laporan Teknis) telah diterbitkan oleh ISO (dan diadopsi sebagai ANSI) Standar:

* 2002 COBOL
* Laporan Teknis Finalizer – 2003
* Native XML sintaks Laporan Teknis – 2006
* Berorientasi Objek Koleksi Class Library – menunggu persetujuan akhir …

Sejak tahun 2002, standar ISO juga tersedia untuk publik dikodekan sebagai ISO / IEC 1989.

Pekerjaan maju pada revisi penuh berikutnya COBOL Standar. Hal ini diharapkan akan disetujui dan tersedia di awal 2010-an. Untuk informasi mengenai revisi ini, untuk melihat draft terbaru revisi ini, atau untuk melihat apa karya lain yang terjadi dengan COBOL Standar, lihat COBOL Standar Situs Web

Warisan

program COBOL sedang digunakan secara global di instansi pemerintah dan militer dan di perusahaan komersial, dan berjalan pada sistem operasi seperti IBM z / OS, para POSIX keluarga (Unix / Linux, dll), dan Windows Microsoft serta ICL’s sistem VME operasi dan OS Unisys ’2200. Pada tahun 1997, Grup Gartner melaporkan bahwa 80% dari bisnis dunia berlari pada COBOL dengan lebih dari 200.000.000.000 baris kode dalam keberadaan dan dengan estimasi 5000000000 baris kode baru setiap tahun.

Menjelang akhir abad kedua puluh tahun 2000 masalah adalah fokus upaya pemrograman COBOL signifikan, kadang-kadang oleh programmer yang sama yang telah merancang sistem dekade sebelumnya. Tingkat tertentu upaya yang diperlukan untuk kode COBOL telah dikaitkan baik dengan jumlah besar COBOL berorientasi bisnis, seperti COBOL adalah dengan desain bahasa bisnis dan aplikasi bisnis menggunakan tanggal berat, dan untuk membangun bahasa COBOL seperti klausa PICTURE , yang dapat digunakan untuk menentukan tetap-panjang bidang numerik, termasuk bidang dua-digit selama bertahun-tahun.

Pengertian Hardware dan Software



Hardware adalah perangkat keras dan software adalah perangkat lunak. Itu terjemahannya. Tapi penjelasan lebih tepatnya sebagai berikut:
Hardware/Perangkat keras adalah sebuah alat/benda yang kita bisa lihat, sentuh, pegang dan memiliki fungsi tertentu. Secara fisik ada wujudnya. Ada bentuknya.
Perangkat Hardware terdiri atas 3 jenis, yaitu:
1.    Perangkat masukan (Input device)
Perangkat masukan berfungsi untuk memasukkan data, baik berupa teks, foto, maupun gambar ke dalam komputer.Contoh perangkat input misalnya keyboard, mouse, light-pen, scanner, dan sebagainya.
2.    perangkat keluaran (Output device)
perangkat keluaran dipergunakan untuk menampung dan menghasilkan data yang dikeluarkan, misalnya monitor dan printer.
3.    Perangkat pengolah data (Processor)
Perangkat pengolah data dipergunakan untuk mengolah data.Pengolah data meliputi unit pengolah pusat (CPU/Central Processing Unit) dan juga mikroprosesor.
Macam-macam perangkat keras (hardware):

1.      CPU (Central Processing Unit)
Merupakan alat yang berfungsi sebagai pemroses data.CPU berisi rangkaian sirkuit yang menyimpan instruksi-instruksi pemrosesan dan penyimpanan data.

2.      Monitor
Merupakan alat yang mampu menampilkan teks maupun gambar dari data yang sedang diproses dalam CPU.

3.      Keyboard
Keyboard merupakan alat untuk memasukkan data maupun perintah ke CPU, biasanya terdiri atas rangkaian huruf, angka, dan tombol fungsi lainnya.

4.      Mouse
Mouse merupakan alat bantu untuk memberikan perintah dalam memproses data atau mengedit data.

5.      Printer
Priter merupakan alat yang memproduksi keluaran data (output) berbentuk cetak, berupa teks maupun gambar/grafik.

6.      CD ROM
Alat tambahan (alat peripheral) yang mampu menyimpan dan menuliskan data dan program melalui media CD (Compact Disk).Alat ini didesain mampu menuliskan dan membaca data atau program melalui sistem optik.

7.      Compact Disk (CD)
Media penyimpanan yang terbuat dari bahan plastik.Proses penyimpanan dan pembacaan data menggunakan sistem optik.

8.       Floppy Disk
Floppy disk merupakan alat tambahan untuk menyimpan atau menuliskan ke dalam disket maupun sebaliknya, ukuran yang umum digunakan adalah ukuran 3,5 inchi.

9.       Hardddisk
Harddisk merupakan alat tambahan untuk menyimpan data dalam kapasitas besar yang dilapisi secara magnetis, saat ini perkembangan harddisk sangat cepat dari daya tampung dan kecepatan membaca data.Perlu kalian ketahui saat ini harddisk memang mutlak ada dalam setiap computer atau laptop sebagai penyimpan sistem operasi yang permanen.

10.  Scanner
Scanner merupakan alat Bantu untuk memasukkan data berupa gambar atau grafik dan mengubahnya ke dalam bentuk digital sehingga dapat diproses dan digabungkan dengan bentuk data yang berupa teks.

11.  USB Flasdiks
Flasdisk merupakan tempat penyimpanan data yang paling digemari karena kapasitasnya yang besar dan beragam selain itu ukurannya yang kecil memudahkan kita untuk membawanya kemana-mana, hadirnya flasdisk telah menggantikan floppy disk yang dulu sering digunakan untuk penyimpanan data yang portable, kapasitas minimum flashdis adalah 128mb sedangkan untuk kapasitas maksimumnya bisa mencapai 40 Gb, lebih kecil dibanding Hardisk External yang kapasitasnya bisa mencapai 1 tera bite (1000 Gb).
Sedangkan Software / perangkat lunak,  adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah. Software secara fisik tidak ada wujudnya. Maka tidak bisa kita sentuh, tidak bisa kita pegang namun kita dapat menjalankannya dalam sebuah sistem operasi dan Yang hanya bisa kita pegang hanya media penyimpannya saja, seperti disket,CD, dsb. Perangkat lunak memiliki fungsi tertentu juga, dan biasanya untuk mengaktifkan perangkat keras. Bisa juga dikatakan perangkat lunak bekerja di dalam perangkat keras.

Contoh perangkat lunak: program akuntansi, program MS Office, dsb.

SUMBER : http://say2revolution.wordpress.com/2008/03/19/pengertian-hardware-dan-software/