Minggu, 17 Desember 2017

Klasifikasi Pipeline pada processor

Pipeline

   Pipeline adalah suatu cara yang digunakan untuk melakukan sejumlah kerja secara bersama tetapi dalam tahap berbeda yang dialirkan secara kontinu pada unit pemrosesan. Dengan Pipeline, unit pemrosesan akan selalu bekerja sehingga memaksimalkan kerja microprocessor. Pada microprocessor yang tidak menggunakan pipeline, satu instruksi dilakukan sampai selesai, setelah selesai baru instruksi berikutnya dilakukan. Sedangkan microprocessor yang menggunakan teknik pipeline, ketika satu instruksi diproses, maka instruksi berikutnya dapat dikerjakan dan diproses dalam waktu yang bersamaan. Tetapi, instruksi yang diproses secara bersamaan ini, ada dalam tahap proses yang berbeda. Jadi, ada  sejumlah tahap yang akan dilewati oleh sebuah instruksi.
   Dengan penerapan pipeline ini pada microprocessor akan didapatkan peningkatan dalam untuk kerja microprocessor. Hal ini terjadi karena beberapa instruksi dapat dilakukan secara parallel dalm waktu yang bersamaan. Namun, karena beberapa instruksi diproses secara bersamaan ada kemungkinan instruksi tersebut sama-sama memerlukan resource yang sama, sehingga diperlukan adanya pengaturan yang tepat agar proses tetap berjalan dengan benar. Sedangkan ketergantungan terhadap data bias muncul, misalnya instruksi yang berurutan memerlukan data dari instruksi yang sebelumnya. Kasus jump juga perlu diperhatikan. Karena ketika sebuah instruksi meminta untuk mrelompat ke suatu memori tertentu akan terjadi perubahan program counter, sedangkan instruksi yang sedang berada dalam salah satu tahap tidak mendukung dan mengharapkan terjadinya perubahan program counter.

Klasifikasi Pipeline

   Pipeline dapat kita klasifikasikan menurut fungsi dan konfigurasinya. Secara fungsional, pipeline dapat diklasifikasikan menjadi tiga kelompok pokok : pipelining aritmatika, instruksi, dan prosesor. Ramamoorthy dan Li (1977) mengajukan tiga skema untuk mengklasifikasikan pipeline menurut konfigurasi dan strategi kendalinya : unifungsi atau multifungsi dan skalar atau vector.
            1    Klasifikasi Berdasarkan Fungsi
  • Pipelining Aritmatika
       Proses segmentasi fungsi dari ALU dari sistem yang muncul dalam kategori ini.
a. Pipelining Instruksi
   Dalam suatu komputer non-pipeline, CPU bekerja melalui suatu siklus yang berkesinambungan dari fetch-decode-eksekusi untuk semua instruksinya. Proses fetch suatu instruksi tidak akan dimulai sampai eksekusi instruksi sebelumnya selesai. Untuk mem-pipeline fungsi ini, instruksi-instruksi yang berdampingan di-fetch dari memori ketika instruksi yang sebelumnya di-decode dan dijalankan. Proses pipelining instruksi instruction look ahead, mem-fetch instruksi secara berurutan. Dengan demikian, jika suatu instruksi menyebabkan percabangan keluar dari urutan itu maka pipe akan dikosongkan dari seluruh instruksi yang telah di-fetch sebelumnya dan instruksi percabangan tersebut di-fetch. Proses pipelining instruksi dikerjakan pada hampir semua komputer berkemampuan tinggi.
b. Pipelining Processor
   Sewaktu stage dari suatu pipeline, prosesor aktual dan latch-latch saling berbagi memori di  antara prosesor-prosesor tersebut, sehingga pipeline tersebut disebut sebagai pipeline prosesor. Dalam pipeline ini, setiap prosesor mempunyai suatu tugas tertentu yang akan dijalankan pada aliran data. Pipelining banyak prosesor(multiple prosesor) merupakan konsep yang relatif baru dan belum umum.
            2    Klasifikasi Berdasarkan Konfigurasi
  • Unifungsi dan Multifungsi
   Kemampuan suatu pipeline menjalankan hanya satu jenis pokok operasi disebut sebagai pipeline unifungsi. Misalnya, perkalian floating-point mensyaratkan pipeline agar juga menjalankan operasi yang sama pada setiap kelompok input. Jika pipeline dapat menjalankan fungsi-fungsi yang berbeda maka disebut sebagai pipeline multifungsi. Fungsi-fungsi yang berbeda itu bisa dijalankan baik pada waktu yang bersamaan ataupun berbeda, dengan menghubungkan subkelompok-subkelompok stage yang berbeda dalam pipeline. Pipeline disusun seperlunya sesuai dengan nilai input kendali tambahan.
  • Static atau Dynamic
   Ketika instruksi-instruksi yang berjenis sama akan dijalankan secara bersamaan waktunya, maka digunakan pipeline statis. Pipeline ini dapat berupa pipeline fungsional maupun multifungsional tetapi mungkin mengasumsikan hanya satu konfigurasi fungsional pada suatu waktu. Suatu pipeline multifungsi statis dapat bekerja paling baik jika fungsi yang akan dijalankan tidak sering berubah. Antara perubahan, pipeline terlihat sebagai pipeline unifungsi dan mengulangi operasi yang sama berulang-ulang. Sebelum mengganti fungsi tersebut, kelompok input terakhir dari fungsi sebelumnya harus benar-benar telah melewati pipeline. Kemudian pipeline dikonfigurasikan untuk fungsi yang baru dan input yang baru boleh masuk ke dalam pipe. Dengan pipeline dinamis, beberapa konfigurasi fungsional dapat muncul sekaligus. Hal ini berarti harus digunakan sebuah pipeline multifungsional. Dalam kasus ini, konfigurasi pipe berubah-ubah secara konstan, tergantung pada data mana untuk fungsi yang mana pada stage yang mana untuk setiap penangguhan clock. Pipeline dinamis memerlukan kendali yang sangat kompleks dan mekanisme perangkat untuk mengkonfigurasikan pipe bagi input-input tertentu. Untuk alasan ini, pipelining aktual tidak berada di bawah kendali programmer melainkan dibangun kedalam arsitektur mesin tersebut.
  • Skalar atau Vector
   Suatu pipeline skalar memproses serangkaian operasi skalar pada operand skalar. Salah satu  contoh berupa operasi ADD dalam loop FOR. Pipeline vector dirancang untuk memproses instruksi vektor dengan menggunakan operand vektor.Komputer yang mempunyai instruksi-instruksi vektor disebut sebagai prosesor vektor.

sumber : 

https://www.google.co.id/search?q=klasifikasi+pipeline&oq=klasifikasi+pipeline&aqs=chrome..69i57.10565j0j8&sourceid=chrome&ie=UTF-8
 

Kamis, 14 Desember 2017

Klasifikasi pada arsitektur komputer pararel dan macam gangguan pada sistem distribusi

Klasifikasi pada arsitektur komputer pararel dan macam gangguan pada sistem distribusi 

 
Arsitektur Paralel

Paralelisme dalam suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:
1. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.

2. Tingkat prosedur: antara prosedur-prosedur dan di dalam loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.

3. Tingkat instruksi: antara fase-fase sebuah siklus instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.
 
4. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit aritmatika. Salah satu contohnya adalah adder paralel. Telah banyak usaha untuk mengklasifikasikan perancangan arsitektur komputer paralel. Namun tidak ada satupun yang mampu memisahkan semua jenis perancangan menjadi kelompok-kelompok yang berbeda.
 
Skema klasifikasi yang paling umum digunakan adalah taksonomi Flynn. Kita akan membahas pula dua skema lainnya yaitu: Shore dan Feng.

Klasifikasi Flynn

Michael J. Flynn memperkenalkan suatu skema untuk mengklasifikasikan arsitektur suatu komputer dengan melihat bagaimana mesinnya menghubungkan instruksi-instruksinya ke data yang sedang diproses. Berikut klasifikasinya:

1. SISD: single instruction stream, single data stream. Merupakan suatu komputer serial konvesional dimana instruksi-instruksi dijalankan satu per satu dan sebuah instruksi tunggal berhubungan dengan paling banyak satu operasi data.

2. SIMD: single instruction stream, multiple data stream. Dalam sebuah komputer SIMD, suatu instruksi tunggal mengawali sejumlah besar operasi.

3. MISD: multiple instruction stream, single data stream. Kelas MISD melaksanakan beberapa operasi instruksi secara bersamaan pada sebuah item data tunggal.

4. MIMD: multiple instruction stream, multiple data stream. Sebuah komputer MIMD dicirikan oleh eksekusi lebih dari satu instruksi pada saat yang bersamaan, dimana setiap instruksi beroperasi pada beberapa aliran data.

Klasifikasi Shore

J.E. Shore membuat klasifikasi arsitektur komputer yang didasarkan pada organisasi bagian-bagian penyusun suatu komputer dan membedakannya menjadi enam jenis mesin.

1. Mesin I. Pada komputer ini, satu instruksi dikerjakan pada suatu waktu dan masing-masing beroperasi pada satu word dalam suatu waktu.

2. Mesin II. Komputer ini juga menjalankan satu instruksi pada suatu waktu, namun ia beroperasi pada sebuah irisan dari suatu bit dalam suatu waktu, bukannya semua bit dalam suatu word data.

3. Mesin III. Sebuah komputer dalam kelas ini memiliki dua unit pengolahan yang dapat beroperasi pada data, satu word dalarn suatu waktu atau suatu irisan bit dalam suatu waktu.

4. Mesin IV. Komputer jenis ini dicirikan oleh sejumlah elemen (unit pengolahan dan unit memori), semua di bawah kendali sebuah unit kendali logika (CLU) tunggal.

5. Mesin V. Mesin V dihasilkan dengan mengubah Mesin IV sedemikian sehingga elemen-elemen pengolahan dapat berkomunikasi dengán tetangga terdekat mereka.

6. Mesin VI. Komputer ini, disebut sebagai array logika-dalam-memori, merupakan sebuah mesin dengan logika prosesor yang tersebar dalam memori.
Klasifikasi Feng

Tse-yum Feng (1972) menyarankan pengklasifikasian arsitektur komputer atas tingkatan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan bit. 
Pasangan ini diklasifikasikan menjadi empat kelompok sebagai berikut:

1. Jika n = 1 dan m = I maka tidak terjadi paralelisme. Word dan bit diproses satu per satuan waktu. Hal ini disebut sebagai word serial/bit serial(WSBS).

2. Jika n> 1 dan m = 1 maka paralelisme itu disebut sebagai word paralel/bit serial (WPBS). Dalam hal ini, semua n irisan bit diproses satu per satuan waktu.

3. Paralelisme word serial/bit paralel (WSBP) terjadi jika n = 1 dan m> 1. Dengan demikian sejumlah n word diproses satu per satuan waktu tetapi sejumlah m bit dan masing-masing word diproses secara paralel.

4. Kategori terakhir disebut sebagai word paralel/bit paralel (WPBP) dan merupakan suatu paralelisme dimana n > 1 dan m > 1. Dalam hal ini, sejumlah nm bit diproses secara bersamaan.

Komputer sekuensial berdasarkan klasifikasi Flynn adalah kelompok komputer SISD  hanya mempunyai satu unit pengendali untuk menentukan instruksi yang akan dieksekusi. Pada setiap satuan waktu hanya satu instruksi yang dapat dieksekusi, dimana kecepatan akses ke memori dan kecepatan piranti masukan dan keluaran dapat memperlambat proses komputasi.

Beberapa metoda dibangun untuk menghindari masalah tersebut, seperti penggunaan cache memory. Namun komputer sekuensial ini tetap mengalami keterbatasan jika menangani masalah yang memerlukan kecepatan tinggi. Hal-hal tersebut di atas pada akhirnya melatarbelakangi lahirnya sistem komputer paralel. 

Berdasarkan klasifikasi Flynn, komputer paralel termasuk kelompok SIMD atau MIMD. Komputer paralel mempunyai lebih dari satu unit pemroses dalam sebuah komputer yang sama.

Hal yang membuat suatu komputer dengan banyak prosesor disebut sebagai komputer paralel adalah bahwa seluruh prosesor tersebut dapat beroperasi secara simultan. Jika tiap-tiap prosesor dapat mengerjakan satu juta operasi tiap detik, maka sepuluh prosesor dapat mengerjakan sepuluh juta operasi tiap detik, seratus prosesor akan dapat mengerjakan seratus juta operasi tiap detiknya[Les93].

Pada dasarnya aktivitas sebuah prosesor pada komputer paralel adalah sama dengan aktivitas sebuah prosesor pada komputer sekuensial. Tiap prosesor membaca (read) data dari memori, memprosesnya dan menuliskannya (write) kembali ke memori. Aktivitas komputasi ini dikerjakan oleh seluruh prosesor secara paralel.

Macam-macam Gangguan pada sistem distribusi

1. Gangguan beban lebih

Gangguan ini sebenarnya bukan gangguan murni, tetapi bila dibiarkan terus menerus berlangsung dapat merusak peralatan listrik yang dialiri oleh arus tersebut. Karena arus yang mengalir melebihi dari kapasitas peralatan listrik dan pengaman yang terpasang melebihi kapasitas peralatan, sehingga saat beban melebihi pengaman tidak trip. Misal : kapasitas penghantar 300 A dan pengaman di setting 350 A tetapi beban mencapai 320 A, sehingga pengaman tidak trip dan penghantar akan terbakar.

2. Gangguan hubung singkat

Gangguan hubung singkat, dapat terjadi antar fasa (3 fasa atau 2 fasa) atau 1 fasa ketanah dan sifatnya bisa temporer atau permanen.

Gangguan permanen antara lain :

Gangguan hubung singkat, bisa terjadi pada kabel atau pada belitan transformator tenaga yang disebabkan karena arus gangguan hubung singkat melebihi kapasitasnya, sehingga penghantar menjadi panas yang dapat mempengaruhi isolasi atau minyak transformator, sehingga isolasi tembus. Pada generator yang disebabkan karena adanya gangguan hubung singkat atau pembebanan yang melebihi kapasitas. Sehingga rotor memasok arus dari eksitasi berlebih yang dapat menimbulkan pemanasan yang dapat merusak isolasi sehingga isolasi tembus. Disini pada titik gangguan memang terjadi kerusakan yang permanen. Peralatan yang terganggu tersebut, baru bisa dioperasikan kembali setelah bagian yang rusak diperbaiki atau diganti.

Gangguan temporer, antara lain :

Flashover karena sambaran petir (penghantar terkena sambaran petir), flashover dengan pohon, penghantar tertiup angin yang dapat menimbulkan gangguan antar fasa atau penghantar fasa menyentuh pohon yang dapat menimbulkan gangguan 1 fasa ketanah. Gangguan ini yang tembus (breakdown) adalah isolasi udaranya, oleh karena itu tidak ada kerusakan yang permanen. Setelah arus gangguannya terputus, misalnya karena terbukanya circuit breaker oleh relai pengamannya, peralatan atau saluran yang terganggu tersebut siap dioperasikan kembali.

3. Gangguan Tegangan Lebih
Gangguan tegangan lebih yang diakibatkan adanya kelainan pada sistem, dimana tegangan lebih dibedakan atas :

- Tegangan lebih dengan power frekuensi, misal : pembangkit kehilangan beban yang diakibatkan adanya gangguan pada sisi jaringan, sehingga over speed pada generator, tegangan lebih ini dapat juga terjadi adanya gangguan pada pengatur tegangan secara otomatis (Automatic Voltage Regulator).

- Tegangan lebih transient karena adanya surja petir (lightning surge) yang mengenai peralatan listrik atau saat pemutus (PMT) yang menimbulkan kenaikan tegangan yang disebut surja hubung (switching surge).

4. Gangguan Ketakstabilan (Instability)

Gangguan hubung singkat atau lepasnya pembangkit, dapat menimbulkan ayunan daya (power swing) atau menyebabkan unit-unit pembangkit lepas sinkron, ayunan dapat menyebabkan salah kerja relai. Lepas sinkron dapat menyebabkan berkurangnya pembangkit, karena tripnya pembangkit yang besar dari spinning reserve, maka frekuensi akan terus turun atau terpisahnya sistem yang selanjutnya dapat menyebabkan gangguan yang lebih luas bahkan sistem terjadi keruntuhan (collapse).

Sumber :
 
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
MARSUDI, DJITENG.,” Operasi Sistem Tenaga Listrik “, Yogyakarta, Graha Ilmu, 2006

Selasa, 03 Oktober 2017

Aljabar Boolean

Aljabar Boolean

Aljabar Boolean adalah salah satu aljabar yang berkaitan dengan variabel-variabel biner dan operasi-operasi logika.  Variabel-variabel dalam aljabar boole dinyatakan dengan huruf-huruf seperti : A, B, C, …, X, Y, Z.   Sedangkan dalam aljabar Boolean terdapat 3 operasi logika dasar yaitu : AND, OR dan NOT (Komplemen).
Sebuah fungsi Boolean adalah sebuah ekspresi aljabar yang dibentuk dengan variabel-variabel biner, simbol-simbol operasi logika, tanda kurung dan tanda “=”.   Untuk sebuah nilai yang diberikan pada variabel , fungsi Boolean dapat bernilai 1 atau 0.
Contoh fungsi Boolean :
f   =   X + Y ’ . Z
Fungsi f sama dengan 1 jika X = 1 atau jika kedua nilai Y ‘ dan Z = 1. 
f = 0 dalam hal lain.
Tetapi kita juga dapat menyatakan bahwa jika Y ‘ = 1, maka Y = 0, karena Y ‘ adalah komplemen dari Y.   Secara ekuivalen dapat dinyatakan bahwa :
f   =   1   
jika X = 1  atau  Y.Z = 0.1
Hubungan antar sebuah fungsi dengan variabel-variabel binernya dapat disajikan dalam bentuk sebuah Tabel Kebenaran (Truth Table). Untuk menyajikan sebuah fungsi dalam sebuah tabel kebenaran, kita membutuhkan sebuah daftar 2n kombinasi 1 dan 0 dari n buah variabel biner.
Contoh :  
f   =   X + Y ’ . Z
∑ variabel = 3 (X, Y’ dan Z)
2n  =   23   =   8  kombinasi 0 dan 1.
Maka tabel kebenarannya adalah sebagai berikut :
Sebuah fungsi Boolean dapat diubah menjadi sebuah diagram logika yang terdiri dari gerbang-gerbang logika.

Contoh : 
f   =   X + Y ’ . Z
Diagram logikanya :
                                      
Kegunaan dari aljabar Boolean adalah memberikan fasilitas penulisan dalam perancangan rangkaian digital. Aljabar Boole menyediakan alat untuk dibuat :
  1. Mengekspresikan dalam bentuk aljabar sebuah tabel kebenaran yang merupakan hubungan antara variabel-variabel,
  2. Mengekspresikan dalam bentuk aljabar hubungan input dan output diagram logika,
  3. Mendapatkan rangkaian-rangkaian yang lebih sederhana untuk fungsi yang sama.

Relasi-Relasi Dasar Aljabar Boolean :

       Keterangan :
  • Relasi (1), (2), (3) dan (4) disebut dengan Hukum penjalinan dengan konstanta.
  • Relasi (5) dan (6) disebut Hukum perluasan.
  • Relasi (7) dan (8) disebut Hukum komplementasi
  • Relasi (9) dan (10) disebut Hukum komutatif.
  • Relasi (11) dan (12) disebut Hukum asosiatif.
  • Relasi (13) dan (14) disebut Hukum distributif.
  • Relasi (14) tidak dapat digunakan dalam aljabar biasa, tetapi relasi ini sangat berguna dalam memanipulasi ekspresi-ekspresi aljabar boole.
  • Relasi (15) dan (16) disebut Dalil de Morgan.
  • Relasi (17) menyatakan jika suatu variabel dikomplemenkan sebanyak dua kali maka akan didapat nilai asli dari variabel tersebut.
  • Relasi (18) dan (19) disebut Hukum absorpsi.

Definisi Aljabar Boolean

Aljabar adalah sistem aljabar pada suatu himpunan S dengan dua operasi yaitu penjumlahan ( + ) dan perkalian ( . ) yang didefinisikan pada himpunan tersebut.
Misalkan terdapat :
  • Dua operator biner: + dan ⋅
  • Sebuah operator uner: ’. 
  • B : himpunan yang didefinisikan pada operator +, ⋅, dan ’ 
  • 0 dan 1 adalah dua elemen yang berbeda dari B.
Clue :
(B, +, ⋅, ’)

Maka, disebut Aljabar Boolean jika untuk setiap a, b, c ∈ B berlaku aksioma-aksioma atau postulat Huntington atau hukum-hukum berikut:

Hukum-Hukum Aljabar Boolean


1. Closure:
  • (i) a + b ∈ B 
  • (ii) a ⋅ b ∈ B 
2. Identitas: 
  • (i) a + 0 = a 
  • (ii) a ⋅ 1 = a
3. Idempoten: 
  • (i) a + a = a 
  • (ii) a ⋅ a = a
4. Komplemen:
  • (i) a + a’ = 1 
  • (ii) aa’ = 0
5. Dominansi: 
  • (i) a ⋅ 0 = 0
  • (ii) a + 1 = 1 
6. Involusi:
  • (i) (a’)’ = a
7. Penyerapan: 
  • (i) a + ab = a 
  • (ii) a(a + b) = a
8. Komutatif: 
  • (i) a + b = b + a 
  • (ii) ab = ba
9. Asosiatif:
  • (i) a + (b + c) = (a + b) + c 
  • (ii) a (b c) = (a b) c
10 Distributif:
  • (i) a + (b c) = (a + b) (a + c) 
  • (ii) a (b + c) = a b + a c
11. De Morgan: 
  • (i) (a + b)’ = a’b’ 
  • (ii) (ab)’ = a’ + b’
12. Hukum 0/1:
  • (i) 0’ = 1 
  • (ii) 1’ = 0

Contoh:
Buktikan (i) a + a’b = a + b dan (ii) a(a’ + b) = ab

Penyelesaian:
(i) a + a’b = (a + ab) + a’b (Penyerapan)
                 = a + (ab + a’b) (Asosiatif)
                 = a + (a + a’)b (Distributif)
                 = a + 1 • b (Komplemen)
                 = a + b (Identitas)

(ii) adalah dual dari (i)

Prinsip Dualitas

Jika suatu kesamaan aljabar boolean B benar maka dual dari B ,diperoleh dengan cara mengganti setiap + dengan . atau sebaliknya dan mengganti 1 dengan 0 atau juga sebaliknya, juga bernilai benar.

Aplikasi Aljabar Boolean


A. Jaringan Pensaklaran (Switching Network)

Saklar, yaitu objek yang mempunyai dua buah keadaan; buka dan tutup. Tiga bentuk gerbang paling sederhana:

1. Output b hanya ada jika dan hanya jika x dibuka ⇒ x 
 
2. Output b hanya ada jika dan hanya jika x dan y dibuka ⇒ xy
 
 3. Output c hanya ada jika dan hanya jika x atau y dibuka ⇒ x + y
 
B. Rangkaian pensaklaran pada rangkaian listrik:

1. Saklar dalam hubungan SERI: logika AND
 2. Saklar dalam hubungan PARALEL: logika OR
 
 
Sumber :
http://www.gatewan.com/2016/01/mengenal-aljabar-boolean.html

SISTEM INPUT / OUTPUT (I/0)

SISTEM INPUT / OUTPUT (I/0)

Pengertian Sistem
Sistem berasal dari bahasa Latin (systema) dan bahasa Yunani (sustema) adalah suatu kesatuan yang terdiri dari komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi, materi atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.

Pengertian Sistem Input (Masukan)
Pengertian input (masukan) yaitu energi yang dimasukkan ke dalam sistem dan menentukan keluaran sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input). Umumnya data yang diperlukan adalah sebagai masukan sistem yang diturunkan dari kebutuhan informasi. Agar data dapat diterima oleh komputer dengan baik, komputer memiliki peralatan yang berfungsi untuk hal ini yang disebut dengan input device. Input device (Perangkat Keras Masukan) adalah Perangkat untuk memasukkan data dari luar ke dalam suatu memori dan processor untuk diolah guna menghasilkan informasi yang diperlukan. Beberapa alat input mempunyai fungsi ganda,yaitu disamping sebagai alat input juga berfungsi sebagai alat output sekaligus. Alat yang demikian disebut sebagai terminal. Terminal dapat dihubungkan ke sistem komputer dengan menggunakan kabel langsung atau lewat alat komunikasi. Contoh: Modem, Ethernet, ATM, PDA, kamera digital dll.

Terminal digolongkan menjadi :
-     -Intelligent terminal, mempunyai alat pemroses dan memori di dalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali dan dapat diprogram oleh pemakai.
           Contoh: PC.
-      -Non intelligent terminal (dumb terminal), hanya berfungsi sebagai alat memasukkan input dan penampil  output, dan tidak bisa diprogram karena tidak mempunyai alat pemroses.
          Contoh : Teleprinter.  
-   -Smart Terminal, mempunyai alat pemroses dan memori didalamnya sehingga input yang terlanjur dimasukkan dapat dikoreksi kembali, tetapi tidak dapat diprogram oleh pemakai kecuali pabrik pembuatnya.
          Contoh : Calculator, Telepon.
 
Pengertian output (keluaran) 
Output (keluaran) yaitu hasil dari suatu proses atau aktifitas menerima data dari hasil pengolahan pada bagian pemrosesan. Tentu saja pada bagian ini diperlukan juga peralatan yang bekerja, dimana peralatan tersebut disebut dengan output device. Output device (Perangkat Keras Keluaran) Adalah Perangkat yang berfungsi untuk mengeluarkan hasil pemrosesan ataupun pengolahan data yang berasal dari CPU kedalam suatu media yang dapat dibaca oleh manusia ataupun dapat digunakan untuk penyimpanan data hasil proses. Berdasarkan bentuk
outputnya, unit output terdiri dari :
a.   Hardcopy device, alat yang digunakan untuk mencetak output ( misal: tulisan, angka, karakter dan simbol-simbol ) serta image ( grafik dan gambar ) pada media hard ( keras ) seperti kertas dan film. Contoh : Printer.
b.   Drive device, berupa alat yang digunakan untuk merekam atau menyimpan hasil output dapam bentuk yang hanya dapat dibaca oleh mesin, dan juga berfungsi sebagai alat output maupun alat input. Contoh : Flashdisk, Harddisk, Disket dan CD.
c.     Softcopy device, alat yang digunakan untuk menampilkan tulisan ( kata, angka, karakter dan simbol-simbol ) serta image ( grafik dan gambar ) ke dalam sinyal elektronik. Contoh : Monitor, Alpha Numerik Display, Projector dan Speaker.

Input dan Output terbagi menjadi dua bagian, yaitu :
1.      Mekanisme I/O (alat input dan output) perangkat dari input dan output itu sendiri seperti keyboard, paper feeder, tape head dan sebagainya.
2.      Pengontrol I/O (I/O controller/system I/O) komponen yang mengatur aliran informasi antara perangkat I/O dan komputer.
 
Contoh I/O :
         Perangkat yang hanya berfungsi sebagai alat input,digolongkan menjadi alat input langsung dan alat inputtidak langsung
 ž Alat input langsung Input yang dimasukkan langsung diproses oleh alat pemroses. Contoh :
Ø Keyboard.
Ø Pointing Devices, contoh : mouse, touch pad.
Ø Scanning Devices, contoh : barcode reader, scanner.
Ø Image Capturing dan Digitising Devices. Image Capturing Device, contoh : kamera digital,       webcams. Digitising Device, contoh : graphics tablets, digital notebook.
Ø Voice Recognizer, contoh : microphone. Alat Input tidak langsun Melalui media tertentu sebelum suatu inputdiproses oleh alat pemroses.
ž Keypunch Yang dilakukan melalui media punched card (kartu plong).
ž Key-to-tape Yang merekam data ke media berbentuk pita (tape) sebelum diproses alat pemroses.
ž Key-to-disk Yang merekam data ke media magnetic disk (misalnya disket atau harddisk) sebelum diproses lebih lanjut.
 
Sumber :
http://rekayasa-komputer.blogspot.co.id/2014/10/sistem-input-output-i0.html