Friday, October 7, 2016

SERVIS PRINTER_ CARA AGAR CARTRIDGE AWET




Mencegah lebih baik dari pada memperbaiki. Agar cartridge awet tidak cepat rusak, caranya hati-hati dalam pemakaian printer, perlu perawatan. Cartridge salah satu komponen printer yang sangat mudah rusak, jika tidak hati-hati dalam penggunaan. Cara ini dari pengalaman sebagai pengguna printer dan menjumpai beberapa kasus keluhan para pengguna printer, hanya sekedar sharing mungkin bisa berguna. Berikut cara berlaku untuk cartridge :
- Canon 810 CL 811, PG 40 CL 41, atau yang sejenis.
- HP 21 22, 802, 60, atau yang sejenis.


Yang perlu diperhatikan ada 2 bagian komponen dari Cartridge, yaitu : bagian head dan bagian chip

Agar head cartridge awet alias tidak cepat rusak :
Jangan sembarangan memilih tinta, belum tentu tinta dengan merk terkenal bagus untuk head printer. Untuk memilih tinta, mungkin artikel berikut bisa membantu, klik Tinta Printer IdamanDari pengalaman, permasalahan head buntu atau hasil cetak bergaris, sering terjadi akibat pemilihan tinta yang salah.
- Gunakan printer minimal 2 hari sekali untuk mencetak semua warna, untuk mencegah head buntu akibat tinta yang mengering.
- Tutuplah printer dengan kain jika tidak digunakan, terutama printer yang diinfus, seringkali debu berkumpul disekitar lubang tabung infus. Cara ini dilakukan untuk mencegah debu masuk bercampur dengan tinta, yang akhirnya menyumbat nozzle head cartridge. Lakukan cara ini terutama pada area banyak debu.
- Saat mencetak gambar full color, gunakan setting best/high/photo.
- Setiap mencetak 25 lembar hitam-putih, istirahatkan printer selama kira-kira 1 menit, kemudian baru melanjutkan untuk mencetak. Agar head cartridge tidak overheat. Biasanya bagi yang sering mencetak dalam jumlah banyak (seperti kantor, sekolah, rental, atau diburu tugas) tidak sabar melakukan hal ini, ya... akhirnya resiko cartridge rusaklah yang sering dijumpai. Akhir-akhir ini sering terjadi pada printer canon seri terbaru iP2770 cartridge 810 sering rusak hasil cetak bergaris.
- Setiap mencetak 4 lembar gambar full color, istirahatkan printer selama kira-kira 1 menit, kemudian baru melanjutkan untuk mencetak. Agar head cartridge tidak overheat.
- Hati-hati saat memegang cartridge, jangan menyentuh logam nozzle head cartridge, jangan sampai terjatuh, tergores.

Agar chip cartridge awet alias tidak cepat rusak :
- Jangan menyentuh bagian tembaga chip cartridge.
- Jangan sampai bagian tembaga chip cartridge terkena air atau tinta, akan menyebabkan konsleting.
- Jangan sampai bagian tembaga chip cartridge kotor.
Untuk menghindari chip rusak sebaiknya printer diinfus, sehingga cartridge tidak sering-sering dilepas untuk direfill. Bukan infusnya yang membuat awet chip cartridge, tapi catridge tidak sering-sering dilepas dipegang sehingga terhindar dari kelalaian memegang tembaga chip, chip terkena tinta, atau chip kotor.

SERVIS PRINTER_CARA MENGETAHUI JENIS KERUSAKAN CARTRIDGE

Cara mengetahui jenis kerusakan cartridge canon, berikut tips ringan yang harus diketahui bagi seorang teknisi printer. Bagaimana bisa memberi solusi jika permasalahannya belum diketahui?... yang ada malah salah dalam memberi solusi, kalaupun benar kemungkinan hanya kebetulan. Tips berikut hanya berdasar dari pengalaman dan sharing, semoga tips berguna dan bisa membantu.




Kembali lagi pada cara mengetahui jenis kerusakan pada cartridge printer Canon, langkah-langkahnya :
Siapkan tisu ---> tepelkan tisu pada ujung head


jika saat ditisu cartridge tidak mengeluarkan tinta dengan sempurna atau malah tidak keluar sama sekali
kemungkinan
head cartridge buntu

jika saat ditisu cartridge mengeluarkan tinta dengan sempurna, tapi saat digunakan untuk mencetak tidak keluar tinta
kemungkinan
head cartridge bocor/jebol
chip cartridge rusak

jika saat ditisu cartridge mengeluarkan tinta dengan sempurna, tapi saat digunakan untuk mencetak di layar monitor mengeluarkan pesan error atau muncul blingking pada lampu printer dan printer tidak bisa mencetak
kemungkinan
chip cartridge kotor atau rusak


Lakukan cara diatas untuk masing-masing warna. Lihat warna apa yang bisa keluar atau tidak keluar, untuk mengetahui kerusakan head buntu/bocor atau chip kotor/rusak.

SERVIS PRINTER_CARA MEMPERBAIKI CARTRIDGE RUSAK



Berikut tips cara memperbaiki cartridge yang rusak, trik memperbaiki cartidge yang error bermasalah. Cara ini bisa dipakai pada cartridge printer Canon, dimana cartridde-nya antara head-chip-inktank gabung menjadi satu. Antara lain bisa tipe :
- Cartridge PG 830 & CL 831
- Cartridge PG 810 & CL 811
- Cartridge PG 40 & CL 41
Gejala dan penyebab cartridge rusak ada banyak, namun secara umum kerusakan cartridge canon hanya ada dua macam, yaitu :rusak head cartridge dan rusak chip cartridge.


Untuk mengetahui jenis kerusakan cartridge, silahkan terlebih dahulu klik artikelnya jenis kerusakan cartridgead canon
Untuk mencegah agar cartridge tidak cepat rusak alias awet, silahkan klik artikelnya agar cartridge canon awet

OK sekarang mari langsung kita bahas satu per satu :

1. Head cartridge rusak

Penyebab
Head cartridge rusak bisa disebabkan oleh :
- penyumbatan akibat tinta yang mengering, sehingga tentu saja akan menyumbat jalannya tinta saat digunakan proses mencetak.
- kotoran atau sering kali debu yang masuk ke cartridge bersamaan bercampur masuknya tinta, sehingga menyumbat lubang-lubang head (bahasa kerennya nozle).
- panas berlebih akibat head yang dipaksa bekerja mencetak tanpa istirahat.
- ujung head tergores akibat benturan/bergesekan dengan benda yang lebih keras. diameter lubang head cartridge sangat kecil bahkan lebih kecil dari diameter rambut manusia, sehingga apabila ujung head ini terbentur/tergesek benda keras akan mudah sekali rusak.

Solusi
Head cartridge rusak yang masih bisa diperbaiki yaitu : head cartridge yang tersumbat baik oleh tinta yang mengering atau kotoran semisal debu yang masuk bercampur tinta. Solusi penangan tergantung kondisi kerusakan head cartridge, dari yang ringan sampai yang berat. Gejala penyumbatan cartridge tentu saja ditandai dengan tidak keluarnya tinta dengan sempurna saat mencetak.
- Penyumbatan ringan :
Lakukan proses cleaning menggunakan software dari bawaan printer, jika masih belum juga bisa membantu lakukan proses deep cleaning menggunakan software bawaan printer juga.
- Penyumbatan sedang :












Dengan menggunakan alat yang disebut dengan toolkit penyedot cartridge. Caranya pun mudah cukup pasang cartridge yang bermasalah pada toolkit kemudian sedot menggunakan suntikan.
- Penyumbatan berat :
Rendam head cartridge dengan menggunakan cairan cleaner (tentu saja bukan sembarang cairan cleaner), saat merendam jangan sampai membasahi sampai kena chip cartridge. Lamanya tergantung tingkat kerusakan penyumbatan head cartridge (bisa 15 menit, 1 jam, bahkan sehari). Kemudian kombinasikan juga menggunakan toolkit penyedot cartridge.
- Penyumbatan extra berat : Tidak bisa dijelaskan dengan mendetail (untuk menjelaskan bisa sampai satu bahan posting). Tapi intinya menggunakan printer Canon (yang sudah tidak dipakai/rusak) yang dimodifikasi diambil fungsi vakumnya. Nah... vakum inilah yang kita manfaatin untuk membersihkan penyumbatan pada cartridge, cara kerjanya dengan membuat sirkulasi aliran dengan menggunakan bantuan vakum printer Canon bekas yang dimodif tersebut. Membuat aliran sirkulasi disini, dengan menggunakan cairan cleaner.

2. Chip cartridge rusak
Chip yang rusak biasa ditandai dengan pesan-pesan error pada komputer seperti : unrecognized cartridge, not compatible atau cartridge belum terpasang, yang intinya cartridge rusak harus diganti. Namun jangan diganti terlebih dahulu, siapa tau cara berikut bisa membantu.
Penyebab
- konsleting pada konektor akibat terkena cairan misal tinta.
- kelebihan arus akibat tegangan listrik yang tidak stabil.
- kotoran yang melekat pada konektor chip cartridge.
- terakhir ini kerusakan yang disebabkan oleh cartridge itu sendiri (wah bingung... gimana maksudnya?...). untuk yang satu ini belum tau juga kebenaranya hanya dengar sharing membaca search di Google, namun pada kenyataannya sering kali juga terjadi kerusakan pada cartridge yang sudah habis level tintanya atau yang sudah beberapa kali disuntik refill. Kembali pada cartridge yang rusak disebabkan oleh cartridge itu sendiri. Jadi pihak produsen memang sengaja membuat cartridge yang hanya sekali pakai sampai tinta habis dan cartrige istilahnya dirancang merusak dirinya sendiri begitu level tinta original habis. Tentu saja tujuan produsen agar pembeli tidak bisa lagi merefill atau menggunakan kembali cartridge yang telah habis tersebut dan ujung-ujungnya dituntut untuk membeli tinta dari cartridge original (wah... panjang juga).
Solusi
- Chip kotor
bersihkan menggunakan cairan alkohol, usapkan dengan tisu pada bagian konektor chip yang kotor.
- Chip rusak
cara ini kadang bisa membantu, tingkat keberhasilannya 50:50. Tidak ada salahnya juga untuk dicoba, jika masih ada kemungkinan untuk berhasil. Yaitu dengan cara memanaskan konektor chip menggunakan ujung solder. caranya :
- gunakan solder dengan ujung yang lancip.
- panaskan solder dengan panas sedang.









- oleskan FLUX solder pada conector chip, agar kabel flexible chip tidak rusak terkena solder nantinya.
- tempelkan ujung lancip solder pada masing-masing konektor chip cartridge selama kurang lebih 5 detik (hati-hati jangan sampai mengenai kabel flexible nya), lakukan dengan hati-hati.

Berikut hanya share dari pengalaman memperbaiki cartridge yag rusak, masalah cartridge rusak banyak macamnya, tulisan berikut semoga bisa memberi gambaran solusi masalah cartridge.
Tips diatas juga bisa berlaku pada memperbaiki cartridge printer HP dengan karakteristik yang sama.

SERVIS PRINTER_CARA MELOBANGI CARTRIDGE_canon pixma


Cara Melakukan Reffil / Isi Ulang Tinta Printer Canon Pixma
Melakukan Reffil/Isi Ulang Tinta Canon merupakan hal yang wajib untuk di ketahui oleh kalian semua , tapi sebelum kita membahas tentang cara refil tinta kita ketahui  dulu tentang Printer Canon Pixma ini , Printer Canon Pixma Merupakan salah satu printer kelas dunia yang menggunakan sistemn inkjet di kelas entry level yang penggunanya juga sudah banyak sekali di tanah air ini . bukan hanya karena harganya yang terjangkau tetapi fungsi dan modelnya yang bermacam-macam menjadi daya tarik tersendiri pada printer jenis canon pixma ini .


Cara Refill Tinta Printer Canon Pixma Melalui Catridge
Cara Refill Tinta Printer Canon Pixma Melalui Catridge

Pengetahuan untuk mengisi tinta printer ini sangat perlu kalian pelajari karena selain untuk menghemat pengeluaran jika di bawa ke service printer , kalian juga lebih menghemat daripada membeli / mengganti catridge baru setiap isi tinta nya habis . untuk mempermudah pemahaman kali ini tips dari printer-hero contoh kan adalah cara refill atau mengisi ulang tinta  pada catridge bawaan printer canon IP2770 ,  

Cara refill tinta printer Canon iP2770 :

  1. Pastikan kalian sudah mengetahui cara yang benar untuk Melepas Catridge dari Printer kalian ( bisa kalian lihat pada buku petunjuk di kardus printer / CD penjelasan pengguna'an printer )
  2. Untuk Melakukan Refill atau isi Ulang kalian harus membeli Tinta Yang cocok dan satu merek dengan yang di gunakan pada standart printer
  3. Buka Stiker yang terdapat pada bagian atas Catridge , Di balik stiker tersebut ada 3 Lubang ( Untuk Catridge Warna ) dan 1 Lubang ( pada catridge Hitam ) .
  4. Coba Isikan Tinta menggunakan Jarum melewati 3 Lubang ( Atas Merah , Kuning Kanan , Kiri Biru atau lihat pada gambar catridge lubang di bawah ) Tersebut , jika bisa kalian lakukan maka kalian tidak harus memperbesar lubang untuk mengisi tinta , tapi jika tidak bisa kalian haru melakukan pembesaran lubang pada catridge tadi .
  5. Perbesar ukuran lubang pada catridge tadi Dengan Bor Kecil Jika kalian tidak memilki Bor Kecil kalian dapat menggunakan Solder , atau Obeng bor Khusus untuk melubangi Catridge .
  6. Bor Kecil Untuk melubangi Catridge agar dapat refill tinta
    Bor Kecil Untuk melubangi Catridge
    Obeng Bor khusus Untuk melubangi Catridge agar dapat refill tinta
    Obeng Bor khusus Untuk melubangi Catridge agar dapat refill tinta

    Solder dengan ujung kecil Untuk melubangi Catridge agar dapat refill tinta
    Solder dengan ujung kecil Untuk melubangi Catridge agar dapat refill tinta
  7. Bersihkan Bagian Atas Catridge , jangan Sampai ada Debu ataupun kotoran yang menimbun sebelum kita memperbesar bagian lubang catridge tersebut . 
  8. Siapkan Tisu , Sarung Tangan , Dan Suntikan ( Gunakan Bawaan Printer kalau Ada ) untuk mempersiapkan Refill tinta .
  9. Buat Lubang Pada Catridge di bagian yang terdapat lubang kecil dengan Perlahan dan jangan Terlalu Dalam , dan pastikan / kotoran bekas bor tadi jatuh keluar ( jangan masuk kedalam catridge ) , lebih disarankan untuk membuat lubang dengan bor kecil agar lebih mudah
    Lubang Isi Ulang Pada Catridge Hitam
    Lubang Isi Ulang Pada Catridge Hitam
    3 Lubang Pada Catridge Warna
    3 Lubang Pada Catridge Warna 
  10. Membuat lubangnya jangan terlalu besar , Yang terpenting agar jarum Suntik untuk injection dapat masuk itu sudah cukup
  11. Ketika Lubang Sudah selesai terbentuk ,  mulai injectkan atau sunttikan tinta ke lubang tersebut , dan di sarankan untuk tidak memegang/menyentuh bagian connector catridge (chip) , dan bagian Head (tempat tinta keluar) , ketika me- masukan jarum inject jangan terlalu dalam ,
  12. Ketika Mengisi Tinta Jangan Terlalu Banyak , Kurang Lebih 1 s/d 3 mili saja , jika terlalu banyak nanti catridge akan banjir dan bocor di bagian Head nya .
  13. Jika sudah kalian melakukan Refill tinta Printer melalui catridge tadi Dan menurut kalian sudah cukup , Tutup Kembali lubang pada catridge menggunakan Stiker tadi , jika rekat nya sudah hilang dapat kalian tambahkan isolasi pada bagian atas stiker untuk menutup lubang tadi , agar debu dan kootran tidak masuk .
  14. Pasang Kembali Catridge Pada Printer dengan perlahan dan hati - hati .

Selesai , Mudahkan Untuk Melakukan Refil Tinta printer melalui catridge tersebut , dan jika kalian belum bisa ataupun tidak berani melakukan hal di atas , mintalah untuk di dampingin oleh teman kalian yang lebih berpengalaman , cara tersebut sering sekali di lakukan oleh para pengguna printer yang aktif , sehingga mereka lebih menghemat pengeluaran dari rusaknya catridge / ganti . Semoga Bermanfaat dan silahkan di coba .







SERVIS PRINTER_Hasil print-putus-putus




SERVIS PRINTER_Hasil print-putus-putus



Mengesalkan memang bila pada saat mem-print lalu kemudian mendapat hasil cetak yang Putus-putus atau bahkan tidak ada (buram) baik itu untuk cartridge hitam maupun warna, dan parahnya lagi hal itu masih juga tetap terjadi meskipun cartridge baru saja di Isi Ulang Tinta / Refill.
Hal seperti ini sebenarnya sudah sering saya alami pada jenis printer canon iP2770, dan karena kebetulan ada juga yang menanyakan melalui kotak komentar pada artikel Resetter dan Cara Reset Canon PIXMA MP287, jadi sekalian saja saya share dalam post tutorial ini untuk sekedar berbagi.
Jika mendapati hasil cetak printer putus-putus atau buram, silahkan di cek dulu apakah tinta pada cartridge masih ada atau memang sudah minim. kalau memang masalah terjadi karena tinta sudah minim yah cukup lakukan pengisian ulang tinta saja. Tetapi apabila sudah dilakukan Refill namun hasilnya masih sama, maka kemungkinan cartridge printer bermasalah jadi coba lakukan tips berikut ini

 Lakukan cek noise/print head noise melalui menu maintenance di windows :

 

  1. Isi cartridge dengan tinta terlebih dahulu (jangan terlalu penuh)
  2. Masuk “Control Panel > Printer & Faxes”, kemudian klik kanan diriver printer lalu pilih “Printing Preference” kemudian pilih tab “Maintenance”
  3. Pada halaman Maintenance, lakukan pembersihan head dengan cara pilih satu persatu “Cleaning, Deep Cleaning, Print Head Alignment, Nozzle Check” (pilih satu persatu yah, tiap proses cek dan pembersihan akan memakan waktu beberapa detik)
  4. Jika menggunakan Infus, pastikan selang aliran tinta tdk putus2. (istilah biasanya : masuk angin)
  5. Matikan printer, kemudian lalu hidupkan kembali
 Jika proses diatas sudah dilakukan namun masih bermasalah, itu berarti head cartridge mengalami penyumbatan yang biasa disebabkan oleh tinta terlalu kental atau ada tinta yang kering didalamnya, jadi solusinya lakukan pembersihan cartridge printer dengan cara:

Pembersihan head printer yang tersumbat

  1. Lepaskan cartridge dari printer
  2. Lengketkan tisyu kering pada head cartridge (bagian keluarnya tinta dan ingat jangan sekali-kali menggosok bagian ini, karena akan merusak, jadi cukup di tempelkan saja)
  3. Biarkan tisyu tersebut beberapa menit meresap tinta untuk mengeluarkan tinta yang menyumbat
  4. Untuk memastikan saluran tinta berjalan dengan lancar, anda bisa melakukan sekali lagi dengan cara mengisi tinta kemudian resapkan tinta dengan tisyu
  5. Setelah saluran tinta di rasa berjalan dengan lancar, silahkan lakukan pengisian tinta lalu pasang kembali ke Printer
  6. Silahkan cetak beberapa document, dan kalau bisa untuk pertama kali ngeprint, gunakan setting dengan kualitas print tinggi (Quality Print > High).
Kalau masih bermasalah, lakukan pembersihan head printer yang tersumbat dengan cara berikut:




  1. Sediakan air panas di piring datar
  2. Celupkan head (bagian keluarnya tinta) ke dalam air panas kira-kira 0,5 cm (jangan terlalu dalam agar tidak merusak cartridge. contoh pada gambar, air jangan sampai menyentuh pada bagian chip). air akan berubah menjadi keruh, karena dampak dari mencairnya tinta yang mengendap/kering.
  3. Buang air yang sudah keruh dan ganti dengan air yang baru, kemudian rendam kembali head cartridge. Lakukan berulang-ulang sampai air rendaman tidak berubah warna lagi
  4. Angkat cartridge lalu bersihkan dan keringkan menggunakan tisyu (ingat jangan pernah menggosok bagian head dan jangan pula menyentuh bagian chip cartridge)
  5. Setelah bersih dan kering, Refill dan pasang kembali cartridge pada printer lalu silahkan lakukan pengetesan cetak document

Wednesday, October 2, 2013

WEB _ MEMBUAT TAMPILAN WEB SEDERHANA

WEB _ MEMBUAT TAMPILAN WEB SEDERHANA


cara membuatnya adalah
1.siapkan dan  buka notepad ++ atau dari New Text Document.txt juga bisa.

2. html berfungsi untuk membuat batasan pemprograman sehingga mencangkup daerah  itu saja. pada penjelansan berikutnya akan di ketahui fungsi aslinya, namun sebenarnya tidak terlalu penting fungsinya. Hanya pembatas saja antara head dan body nya.

3.head hanya berfungsi untuk judul saja, di isi atau tidak tidak terlalu berpengaruh besar.

4. body untuk menulis program.

5. kemudian ketik program berikut ini

download disini codingnya...


Monday, September 23, 2013

JAVA programing_Cara Memulai Membuat aplikasi Smart Phone_BEGINER

Cara Memulai Membuat aplikasi Smart Phone


Pasti anda bertanya-tanya tentang bagaimana membuat aplikasi handphone anda, dan ketika anda menginginkan untuk membuat sendiri maka ini lah cara sederhana untuk memulainya. Sebenarnya mudah ketika anda punya niatan dan aplikasi yang tepat serta referensi bacaan yang tepat.

BAB 1. MEMULAI JAVA MOBILE

Hal- hal yang di butuhkan adalah:
1. download dan install NetBeans IDE 6.9.1
2. Buat folder baru nama sembarang(contoh : BEGINER)
3. kemudian anda Buka aplikasi NetBeans IDE 6.9.1
4. Setelah terbuka, klick FIle dan New projeck
5. Click dan pilih pada Java ME kemudian click pula MOBILE APLICATION click next
6. kemudan pada  name and location. beri nama program anda dan kemudian pilih lokasi folder BEGINER.  dan janggan di centang create hello midlet dan next.
7. setelah sampai pada defauld platform selection,
      a.divice: memlih jenis hp apa yang anda pakai, jika tidak ada pilih yang paling menyamai.
      b.divice configuration: umumnya pilih CLDC_1.1
      c. pada Divice profile: untuk hp lama, gunakan MIDP_2.0 atau jika hp anda sudah mulai sedikit maju,
         pilih yang MIPD_2.1, namun biasanya hp china masih menggunakan MIDP_2.0 kemudian next dan
         finish

BAB 2. LANGKAH MEMBUAT JAVA APLICATION MOBILE.

Untuk memulainya, di samping kiri akan terdapat icon HP yang bernama sesuai dengan nama yang anda buat sebelumnya. Dan dari situ clik kanan dan pilih  New kemudian MIDLet.Untuk penamaan disini terserah anda pula. Setelah itu maka anda di haruskan mengetik koding2 java, yang tampilannya seperti ini

public class Midlet extends MIDlet {
    public void startApp() {
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }
}

anda tak perlu mengisi semuanya jika belum mampu, yang saya ajarkan di sini hanya aplikasi sederhana untuk menampilkan kata2 saja. Penjelasan koding di atas adalah:

1.    public void startApp() {  } INI berfungsi untuk menjalakan aplikasi .

2.    public void pauseApp() {}  ini berfungsi ketika anda menjalankan game atau aplikasi di hp, dan ternyata ada telphone masuk. maka program akan terpause otomatis. nanti ini kodingnya di sini.

3.     public void destroyApp(boolean unconditional) {} ini berfungsi untuk menutup aplikasi nantinya.


BERSAMBUNG ..

Thursday, May 10, 2012

VB 6

1.1 Membuat User Interface (UI)
Aktifkan VB 6 melalui tombol Start. Buka kembali project Latihan.vbp :


Tambahkan Form baru ke dalam Project :

Pada Jendela Form buatlah UI seperti ini :
(Gunakan komponen ListBox, ComboBox dan CommandButton)


Pengaturan property setiap object-nya adalah sebagai berikut :


Pada bagian Code Editor ketikkan kode programnya sebagai berikut :
Private Sub Form_Load()
Combo1.AddItem "Umar"
Combo1.AddItem "Salman"
Combo1.AddItem "Halimah"
Combo1.AddItem "Shafira"
End Sub
Private Sub Command1_Click()
List1.AddItem Combo1.Text
End Sub
Private Sub Command2_Click()
List1.RemoveItem List1.ListIndex
End Sub
Private Sub Command3_Click()
List1.Clear
End Sub

Simpan Form2 (nama file : Lat2.frm).





Klik menu Project > Project1 Properties lalu klik tab General. Gantilah Startup Object-nya menjadi
Form2 :

Coba jalankan Project1 :
􀀹 Untuk menambah isi ListBox : pilih “Umar” di dalam ComboBox kemudian klik tombol Add.
Ulangi untuk nama-nama yang lain secara acak.
􀀹 Untuk menghapus salah satu isi ListBox : pilih “Shafira” di dalam ListBox kemudian klik tombol
Delete.
􀀹 Untuk menghapus semua isi ListBox : klik tombol Clear.
Penjelasan kode program :
Private Sub Form_Load()
Combo1.AddItem "Umar"
Combo1.AddItem "Salman"
Combo1.AddItem "Halimah"
Combo1.AddItem "Shafira"
End Sub

Pada saat Form2 di-load ke dalam memori komputer, object Combo1 diisi dengan beberapa nama.

Private Sub Command1_Click()
List1.AddItem Combo1.Text
End Sub

Ketika seorang user meng-klik tombol Add (object Command1) maka isi object List1 ditambah sesuai dengan isi object Combo1 yang sudah dipilih.

Private Sub Command2_Click()
List1.RemoveItem List1.ListIndex
End Sub
Ketika seorang user meng-klik tombol Delete (object Command2) maka isi object List1 yang dipilih akan dihapus. Catatan : bila belum ada isi yang dipilih akan terjadi error.

Private Sub Command3_Click()
List1.Clear
End Sub

Ketika seorang user meng-klik tombol Clear (object Command3) maka semua isi object List1 akan dihapus. Cara penulisan (syntax) kode program untuk menggunakan method dari sebuah object adalah sebagai berikut :
nama_object.method [argument]
Perhatikan, setelah Anda mengetikkan tanda titik (dot) dibelakang nama_object maka VB 6 akan
menampilkan daftar property dan method yang dimiliki oleh nama_object :
Fasilitas ini akan membantu Anda agar tidak salah mengetikkan nama_object maupun method-nya. Komponen ComboBox dan ListBox memiliki beberapa method untuk mengatur isi (item) di dalamnya, yaitu :

􀂃 AddItem – method ini akan menambah isi sesuai dengan argument yang diberikan berupa tulisan. Setiap kali ada isi yang ditambahkan akan diberikan nomer index secara otomatis dimulai dari 0 (nol).
Contoh :
Combo1.AddItem “Umar” 􀃆 “Umar” adalah argument sebagai isi yang akan ditambahkan ke dalam object Combo1. List1.AddItem Combo1.Text 􀃆 property Text dari object Combo1 adalah argument sebagai isi yang akan ditambahkan ke dalam object List1.

􀂃 RemoveItem – method ini akan menghapus isi sesuai dengan argument yang diberikan berupa
nomer index dari isi yang dipilih. Setiap kali ada isi yang dihapus maka nomer index akan disusun ulang secara otomatis. Bila isinya tidak ada (kosong) nomer index-nya adalah –1.
Contoh :
List1.RemoveItem List1.ListIndex 􀃆 property ListIndex dari object List1 adalah argument sebagai nomer index isi yang akan dihapus.

􀂃 Clear – method ini akan menghapus semua isi (tidak membutuhkan argument).
Contoh :
List1.Clear 􀃆 semua isi object List1 akan dihapus.





Mengenal Visual Basic (VB) 1




1.1 Mengenal Visual Basic (VB)

Visual Basic adalah salah satu bahasa pemrograman komputer. Bahasa pemrograman adalah perintahperintah yang dimengerti oleh komputer untuk melakukan tugas-tugas tertentu. Bahasa pemrograman Visual Basic, yang dikembangkan oleh Microsoft sejak tahun 1991, merupakan pengembangan dari pendahulunya yaitu bahasa pemrograman BASIC (Beginner’s All-purpose Symbolic Instruction Code) yang dikembangkan pada era 1950-an. Visual Basic merupakan salah satu Development Tool yaitu alat bantu untuk membuat berbagai macam program komputer, khususnya yang menggunakan sistem operasi Windows. Visual Basic merupakan salah satu bahasa pemrograman komputer yang mendukung object (Object Oriented Programming = OOP).

1.2 Mengenal Integrated Development Environment (IDE) VB 6

Aktifkan VB 6 melalui tombol Start > Programs > Microsoft Visual Studio 6.0 >
Microsoft Visual Basic 6.0.
Tunggulah beberapa saat hingga muncul tampilan berikut :



Pilih Standard EXE dan klik tombol Open.
Anda akan melihat tampilan area kerja atau IDE VB 6. Kenali bagian-bagian utama di dalam IDE VB 6 berikut ini :





Keterangan :
􀁘 Menubar
􀁙 Toolbar
􀁚 Toolbox
Bila Toolbox tidak muncul klik tombol Toolbox ( ) pada bagian Toolbar atau klik menu
View > Toolbox.
􀁛 Jendela Form
Bila Jendela Form tidak muncul klik tombol View Object ( ) pada bagian Project Explorer atau
klik menu View > Object.
􀁜 Jendela Code
Bila Jendela Code tidak muncul klik tombol View Code ( ) di pada bagian Project Explorer atau
klik menu View > Code.
􀁝 Project Explorer
Bila Project Explorer tidak muncul klik tombol Project Explorer ( ) pada bagian
Toolbar atau klik menu View > Project Explorer.
􀁞 Jendela Properties
Bila Jendela Properties tidak muncul klik tombol Properties Window ( ) pada bagian Toolbar
atau klik menu View > Properties Window.

1.3 Memahami Istilah Object, Property, Method dan Event

Dalam pemrograman berbasis obyek (OOP), anda perlu memahami istilah object, property, method dan
event sebagai berikut :
Object : komponen di dalam sebuah program
Property : karakteristik yang dimiliki object
Method : aksi yang dapat dilakukan oleh object
Event : kejadian yang dapat dialami oleh object


Implementasinya dalam sebuah aplikasi misalnya anda membuat form, maka form tersebut memiliki property, method, dan event. Sebagaimana pemrograman visual lain seperti Delphi dan Java, VB juga bersifat event driven progamming. Artinya anda dapat menyisipkan kode program pada event yang dimiliki suatu obyek.

Friday, July 2, 2010

KOMNET-Teknik Routing Internet

Teknik Routing Internet

Konsep IP address, network address, subnet mask, broadcast address merupakan dasar dari teknik routing di Internet. Untuk memahami ini semua kemampuan matematika khususnya matematika boolean, atau matematika binary akan sangat membantu memahami konsep routing Internet. Contoh pertanyaan yang sering dilontarkan,

• Mengapa kita memilih IP address 192.168.1.5?
• Mengapa subnet mask yang digunakan 255.255.255.224? mengapa bukan angka lain?
• Mengapa network address 167.205.10.0?
• Mengapa broadcast address-nya 202.159.32.15?
• Dll.

Bagaimana menentukan semua alamat-alamat tersebut? Hal tersebut yang akan dicoba dijelaskan secara sederhana dalam tulisan ini.


Kalkulator - Alat bantu yang dibutuhkan

Untuk memudahkan kehidupan anda, ada baiknya menggunakan fasilitas kalkulator yang ada di Windows. Di Windows 98 dapat di akses melalui Start  Programs  Accessories  Calculator.

Calculator yang standar memang sulit digunakan untuk membantu kalkulasi biner, oleh karena itu pilih View  Scientific untuk memperoleh tampilan kalkulator scientifik yang dapat digunakan untuk perhitungan biner.

Dengan cara memindah mode operasi ke bin, maka nilai yang ada akan berubah menjadi binary. Pada gambar contoh diperlihatkan nilai awal 15 desimal, di pindahkan menjadi 1111 binary.



Sedikit Aljabar Boolean

Aljabar boolean adalah teknik menghitung dalam bilangan binary 101010111 dsb. Proses konversi dari desimal ke binary sudah tidak perlu kita pikirkan lagi karena sudah dibantu menggunakan kalkulator yang ada di Windows 98.

Dari sekian banyak fungsi yang ada di aljabar boolean, seperti and, or, xor, not dll., untuk keperluan teknik routing di Internet, kita hanya memerlukan fungsi “dan” atau “and”. Contoh,

1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0

atau yang lebih kompleks

11001010.10011111.00010111.00101101
di AND dengan
11111111.11111111.11111111.00000000
menjadi
11001010.10011111.00010111.00000000

Tidak percaya? Coba saja masukan angka-angka di atas ke kalkulator Windows, anda akan memperoleh hasil persis seperti tertera di atas. Pusing? Mari kita konversikan bilangan binary di atas menjadi bilangan desimal supaya anda tidak terlalu pusing melihat angka 10101 dsb. Dalam notasi desimal, kalimat di atas menjadi,

202.159.23.45
di AND dengan
255.255.255.0
menjadi
202.159.23.0

Cukup familiar? Coba perhatikan nilai-nilai alamat IP yang biasa kita masukan di Start  Settings  Control Panel  Network  TCP/IP Properties.

Kalau kita perhatikan baik-baik maka panjang sebuah alamat IP adalah 32 bit, yang dibagi dalam empat (4) segmen yang di beri tanda titik “.” antar segmen-nya. Artinya setiap segmen terdapat delapan (8) bit.



Alokasi jumlah alamat IP di Jaringan

Teknik subnet merupakan cara yang biasa digunakan untuk mengalokasikan sejumlah alamat IP di sebuah jaringan (LAN atau WAN). Teknik subnet menjadi penting bila kita mempunyai alokasi IP yang terbatas misalnya hanya ada 200 IP yang akan di distribusikan ke beberapa LAN.

Untuk memberikan gambaran, misalkan kita mempunyai alokasi alamat IP dari 192.168.1.0 s/d 192.168.1.255 untuk 254 host, maka parameter yang digunakan untuk alokasi adalah:

192.168.1.255 – broadcast address LAN
255.255.255.0 - subnet mask LAN
192.168.1.0 – netwok address LAN.
192.168.1.25 – contoh IP address salah workstation di LAN.

Perhatikan bahwa,

• Alamat IP yang pertama 192.168.1.0 tidak digunakan untuk workstation, tapi untuk menginformasikan bahwa LAN tersebut menggunakan alamat 192.168.1.0. Istilah keren-nya alamat IP 192.168.1.0 di sebut network address.

• Alamat IP yang terakhir 192.168.1.255 juga tidak digunakan untuk workstation, tapi digunakan untuk alamat broadcast. Alamat broadcast digunakan untuk memberikan informasi ke seluruh workstation yang berada di network 192.168.1.0 tersebut. Contoh informasi broadcast adalah informasi routing menggunakan Routing Information Protocol (RIP).

• Subnet mask LAN 255.255.255.0, dalam bahasa yang sederhana dapat di terjemahkan bahwa setiap bit “1” menunjukan posisi network address, sedang setiap bit “0” menunjukan posisi host address.

Konsep network address & host address menjadi penting sekali berkaitan erat dengan subnet mask. Perhatikan dari contoh di atas maka alamat yang digunakan adalah

192.168.1.0 network address
192.168.1.1 host ke 1
192.168.1.2 host ke 2
192.168.1.3 host ke 3
……
192.168.1.254 host ke 254
192.168.1.255 broacast address

Perhatikan bahwa angka 192.168.1 tidak pernah berubah sama sekali. Hal ini menyebabkan network address yang digunakan 192.168.1.0. Jika diperhatikan maka 192.168.1 terdiri dari 24 bit yang konstan tidak berubah, hanya delapan (8) bit terakhir yang berubah memberikan identifikasi mesin yang mana. Tidak heran kalau netmask yang digunakan adalah

(binary) 11111111.11111111.11111111.00000000
(desimal) 255.255.255.0.

Walaupun alamat IP workstation tetap, tapi netmask yang digunakan di masing-masing router akan berubah-ubah tergantung posisi router dalam jaringan. Bingung? Mari kita lihat analogi di jaringan telepon yang biasa kita gunakan sehari-hari, misalnya kita mempunyai nomor telepon yang dapat di telepon dari luar negeri dengan nomor,

+62 21 420 1234

Lokasi nomor telepon tersebut di Jakarta, dengan sentral sekitar senen & cempaka putih. Kita perhatikan perilaku sentral telepon di tiga lokasi

1. Sentral di Amerika Serikat
2. Sentral di Indosat Jakarta
3. Sentral telepon di Telkom Jakarta Gatot Subroto
4. Sentral telepon di Senen, Cempaka Putih.

Pada saat kawan kita di amerika serikat akan menghubungi rekannya di Jakarta dengan nomor +62 21 420 1234.

Pada sentral di Amerika Serikat, hanya memperhatikan dua digit pertama (+62), setelah membaca angka +62 tanpa memperdulikan angka selanjutnya maka sentral di Amerika Serikat akan menghubungi gerbang SLI di Indosat Jakarta untuk memperoleh sambungan. Perhatikan di sini netmask di sentral amerika serikat untuk jaringan di Indonesia hanya cukup dua digit pertama, selebihnya di anggap host (handset) di jaringan telepon Indonesia yang tidak perlu di perdulikan oleh sentral di Amerika Serikat.

Pada sentral Indosat Jakarta, berbeda dengan sentral di Amerika Serikat, akan memperhatikan dua digit selanjutnya (jadi total +62 21). Dari informasi tersebut sentral indosat mengetahui bahwa trafik tersebut untuk Jakarta dan akan meneruskan trafik ke sentral Telkom di Jl. Gatot Subroto di Jakarta. Perhatikan sekarang netmask menjadi empat (4) digit.

Pada sentral Telkom di Gatot Subroto Jakarta akan melihat tiga (3) digit selanjutnya (+62 21 420). Dari informasi tersebut maka sentral Telkom Gatot Subroto akan meneruskan trafik ke sentral yang lebih rendah kemungkinan di Gambir atau sekitar Senen. Perhatikan sekarang netmask menjadi tujuh (7) digit.

Pada sentral terakhir di Gambir atau Senen, akan dilihat pelanggan mana yang di tuju yang terdapat dalam empat digit terakhir (1234). Maka sampailah trafik ke tujuan. Nomor pelanggan kira-kira ekuivalen dengan host address di jaringan Internet.

Mudah-mudahan menjadi lebih jelas fungsi netmask. Secara sederhana netmask digunakan untuk memisahkan antara network address & host address untuk memudahkan proses routing di jaringan Internet. Dengan adanya netmask kita tidak perlu memperhatikan seluruh alamat IP yang ada, tapi cukup memperhatikan segelintir network address saja.

Beberapa contoh network address di Internet di Indonesia, dapat dengan mudah mengidentifikasi ISP atau pemilik jaringan tersebut, misalnya,

202.134.0.0 telkom.net
202.154.0.0 rad.net.id
202.159.0.0 indo.net.id
202.158.0.0 cbn.net.id
167.205.0.0 itb.ac.id

terlihat jelas bahwa terdapat sebuah struktur penomoran, terlihat sekali bahwa IP address dengan awalan 202 umumnya ISP dari Indonesia yang di alokasikan oleh penguasa IP di Internet seperti www.icann.org. Dengan teknik ini sebetulnya dari Internet untuk mengarah ke Indonesia cukup melakukan masking dengan mask

255.0.0.0

karena delapan (8) bit pertama yang perlu di mask. Biasanya pada router dapat juga di tulis dengan kalimat

202.159.0.0/8

ada slash /8 di belakang IP address menandakan bahwa cukup delapan (8) bit pertama yang perlu diperhatikan.

Selanjutnya untuk mengarahkan paket data ke jaringan internal di IndoNet (indo.net.id), maka masking pada router di IndoNet atau berbagai ISP di Jakarta adalah

255.255.0.0

atau pada router tersebut dapat digunakan routing ke arah

202.159.0.0/16

perhatikan sekarang slash yang digunakan adalah slah 16 (/16), artinya cukup diperhatikan 16 bit saja dari total 32 bit IP address yang ada.

Selanjutnya mengarahkan paket ke PT. Antah Berantah yang memiliki sambungan leased line di IndoNet, pada router di IndoNet dapat digunakan masking yang tidak terlalu normal misalnya

255.255.255.240

atau dapat digunakan pengalamatan

202.159.12.0/24

artinya router harus memperhatikan 24 bit pertama dari IP address.



Sintaks Penambahan Route

Setelah kita mengetahui pola fikir routing pada Internet, maka langkah selanjutnya yang perlu kita tahu adalah cara menambahkan route pada tabel route di komputer. Hal ini tidak terlalu sukar, perintah yang dapat digunakan adalah

C:> route (di Windows)

# route (di Linux)


di Windows format penambahan route tersebut sangat sederhana yaitu

C:> route add 202.159.0.0 netmask 255.255.0.0 192.168.0.1 metric 3

Di Linux format-nya dapat menjadi

# route add –net 202.159.0.0/16 gw 192.168.0.1 metric 3

Dimana 202.159.0.0 adalah network address (dapat juga kalau dibutuhkan kita memberikan routing ke sebuah host); 255.255.0.0 atau /16 adalah netmask yang digunakan; 192.168.0.1 adalah gateway yang digunakan; metric 3 menandakan prioritas routing, yang dapat dikosongkan saja.

Untuk melihat tabel routing di komputer kita dapat dilakukan dengan perintah

C:> netstat –nr (di Windows)
C:> route print (di Windows)

# netstat –nr (di Linux)
# route (di Linux)

Tentunya akan pusing kepala jika kita beroperasi pada jaringan yang kompleks. Sebaiknya kita menggunakan teknik routing yang automatis. Hal ini dapat dilakukan dengan mudah di Linux dengan menjalankan software seperti

# routed
atau
# gated

software routing seperti ini mungkin ada di Windows NT atau Windows 2000, tapi tidak pada Windows 98.

Wednesday, June 2, 2010

ORKOM-Sistem komputer

Sistem komputer adalah elemen-elemen yang terkait untuk menjalankan suatu aktifitas dengan menggunakan komputer. Elemen dari sistem komputer terdiri dari manusianya (brainware), perangkat lunak (software), set instruksi (instruction set), dan perangkat keras (hardware).

Dengan demikian komponen tersebut merupakan elemen yang terlibat dalam suatu sistem komputer. Tentu saja hardware tidak berarti apa-apa jika tidak ada salah satu dari dua lainnya (software dan brainware).
Download

Empat komponen dalam sistem komputer, yaitu :
1. Pemproses
Berfungsi untuk mengendalikan operasi komputer dan melakukan fungsi pemrosesan data.
Pemroses melakukan operasi logika dan mengelola aliran data dengan membaca instruksi dari memori dan mengeksekusinya.
Langkah kerja pemroses :
a. Mengembil instruksi biner dari memori
b. Mendekode instruksi menjadi aksi sederhana
c. Melakukan aksi
3 tipe operasi komputer :
a. Operasi aritmatika (ADD, SUBSTRACT, MULTIPLY, DIVIDE)
b. Operasi logika (OR, AND, XOR, INVERTION)
c. Operasi pengendalian (LOOP, JUMP)
Pemroses terdiri :
a. ALU (Aritmatic Logic Unit)
Berfungsi untuk melakukan operasi aritmatika dan logika.
b. CU (Control Unit)
Berfungsi untuk mengendalikan operasi yang dilaksanakan sistem komputer.
c. Register-register
Berfungsi untuk :
Membantu pelaksanaan operasi yang dilakukan pemroses Sebagai memori yang bekerja secara cepat, biasanya untuk tempat operand-operand dari operasi yang akan dilakukan.

Terbagi menjadi register data dan register alamat.
Register data terdiri dari general dan special purpose register.
Register alamat berisi :
a. Alamat data di memori utama
b. Alamat instruksi
c. Alamat untuk perhitungan alamat lengkap
Contoh : register indeks, register penunjuk segmen, register penunjuk
stack, register penanda (flag)
Pemroses melakukan tugasnya dengan mengeksekusi instruksi-instruksi di program dengan mekanisme instruksi sebagai berikut :
a. Pemroses membaca instruksi dari memori (fetch)
b. Pemroses mengeksekusi instruksi (execute)
Eksekusi program berisi pengulangan fetch dan execute. Pemrosesan satu instruksi disebut satu siklus instruksi (instruction cycle).

2. Memori
Berfungsi untuk menyimpan data dan program Biasanya volatile, tidak dapat mempertahankan data dan program yang
disimpan bila sumber daya energi (listrik) dihentikan.

Konsep program tersimpan (stored program concept), yaitu program (kumpulan instruksi) yang disimpan di suatu tempat (memori) dimana kemudian instruksi tersebut dieksekusi. Setiap kali pemroses melakukan eksekusi, pemroses harus membaca instruksi dari memori utama. Agar eksekusi dilakukan secara cepat maka harus diusahakan instruksi tersedia di memori pada lapisan berkecepatan akses lebih tinggi. Kecepatan eksekusi ini akan meningkatkan kinerja sistem.
Hirarki memori berdasarkan kecepatan akses :
-Register (tercepat)
-Chace memory
Memori berkapasitas terbatas, berkecepatan tinggi yang lebih mahal dibanding memori utama. Chace memory adalah diantara memori utama dan register, sehingga pemroses tidak langsung mengacu memori utama tetapi di cache
memory yang kecepatan aksesnya lebih tinggi.
-Main memory
-Disk chace (buffering)
Bagian memori utama untuk menampung data yang akan ditransfer dari/ke perangkat masukan/keluaran dan penyimpan sekunder. Buffering dapat mengurangi frekuensi pengaksesan dari/ke perangkat masukan/keluaran dan penyimpan sekunder sehingga meningkatkan kinerja sistem.
-Magnetic disk
-Magnetic tape, optical disk (terlambat)

3. Perangkat masukan dan keluaran (I/O)
Adalah perangkat nyata yang dikendalikan chip controller di board sistem atau card. Controller dihubungkan dengan pemroses dan komponen lainnya melalui bus. Controller mempunyai register-register untuk pengendaliannya yang berisi status kendali.

Tiap controller dibuat agar dapat dialamati secara individu oleh pemroses sehingga perangkat lunak device driver dapat menulis ke register-registernya sehingga dapat mengendalikannya. Sistem operasi lebih berkepentingan dengan pengendali dibanding dengan perangkat fisik mekanis. Perangkat I/O juga memindahkan data antara komputer dan lingkungan eksternal.
Lingkungan eksternal dapat diantarmuka (interface) dengan beragam perangkat, seperti :
a. Perangkat penyimpan sekunder
b. Perangkat komunikasi
c. Terminal
4. Interkoneksi antar komponen
Adalah struktur dan mekanisme untuk menghubungkan antar komponen dalam sistem komputer yang disebut bus.
Bus terdiri dari tiga macam, yaitu :
a. Bus alamat (address bus)
Berisi 16, 20, 24 jalur sinyal paralel atau lebih. CPU mengirim alamat lokasi memori atau port yang ingin ditulis atau dibaca di bus ini.Jumlah lokasi memori yang dapat dialamati ditentukan jumlah jalur alamat. Jika CPU mempunyai N jalur alamat maka dapat mengalamati 2 pangkat N (2N) lokasi memori dan/atau port secara langsung.
b. Bus data (data bus)
Berisi 8, 16, 32 jalur sinyal paralel atau lebih. Jalur-jalur data adalah dua arah (bidirectional). CPU dapat membaca dan mengirim data dari/ke memori atau port. Banyak perangkat pada sistem yang dihubungkan ke bus data tetapi hanya satu perangkat pada satu saat yang dapat memakainya.
c. Bus kendali (control bus)
Berisi 4-10 jalur sinyal paralel. CPU mengirim sinyal-sinyal pada bus kendali untuk memerintahkan memori atau port. Sinyal bus kendali antara lain :
• Memory read
Untuk memerintahkan melakukan pembacaan dari memori.
• Memory write
Untuk memerintahkan melakukan penulisan ke memori.
• I/O read
Untuk memerintahkan melakukan pembacaan dari port I/O.
• I/O write
Untuk memerintahkan melakukan penulisan ke port I/O.
Mekanisme pembacaan
Untuk membaca data suatu lokasi memori, CPU mengirim alamat memori yang dikehendaki melalui bus alamat kemudian mengirim sinyal memory read pada bus kendali. Sinyal tersebut memerintahkan ke perangkat memori untuk mengeluarkan data pada lokasi tersebut ke bus data agat dibaca CPU. Interkoneksi antar komponen ini membentuk satu sistem sendiri, seperti ISA (Industry Standard Architecture), EISA (Extended ISA) dan PCI (Peripheral Component Interconnect). Secara fisik interkoneksi antar komponen berupa “perkawatan”. Interkoneksi memerlukan tata cara atau aturan komunikasi agar tidak kacau (chaos) sehingga mencapai tujuan yang diharapkan.

ORKOM-RISC dan CISC

RISC dan CISC


CISC adalah singkatan dari Complex Intruction Set Computer dimana prosesor tersebut memiliki set instruksi yang kompleks dan lengkap. Sedangkan RISC adalah singkatan dari Reduced Instruction Set Computer yang artinya prosesor tersebut memiliki set instruksi program yang lebih sedikit. Karena perbedaan keduanya ada pada kata set instruksi yang kompleks atau sederhana (reduced).
Pendekatan CISC
Tujuan utama dari arsitektur CISC adalah melaksanakan suatu perintah cukup dengan beberapa baris bahasa mesin sedikit mungkin. Hal ini bisa tercapai dengan cara membuat perangkat keras prosesor mampu memahami dan menjalankan beberapa rangkaian operasi. Untuk tujuan contoh kita kali ini, sebuah prosesor CISC sudah dilengkapi dengan sebuah instruksi khusus, yang kita beri nama MULT. Saat dijalankan, instruksi akan membaca dua nilai dan menyimpannya ke 2 register yag berbeda, melakukan perkalian operan di unit eksekusi dan kemudian mengambalikan lagi hasilnya ke register yang benar. Jadi instruksi-nya cukup satu saja…Download

MULT 2:3, 5:2
MULT dalam hal ini lebih dikenal sebagai “complex instruction”, atau instruksi yang kompleks. Bekerja secara langsung melalui memori komputer dan tidak memerlukan instruksi lain seperti fungsi baca maupun menyimpan.

Satu kelebihan dari sistem ini adalah kompailer hanya menerjemahkan instruksi-instruksi bahasa tingkat-tinggi ke dalam sebuah bahasa mesin. Karena panjang kode instruksi relatif pendek, hanya sedikit saja dari RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut.
Pendekatan RISC
Prosesor RISC hanya menggunakan instruksi-instruksi sederhana yang bisa dieksekusi dalam satu siklus. Dengan demikian, instruksi ‘MULT’ sebagaimana dijelaskan sebelumnya dibagi menjadi tiga instruksi yang berbeda, yaitu “LOAD”, yang digunakan untuk memindahkan data dari memori ke dalam register, “PROD”, yang digunakan untuk melakukan operasi produk (perkalian) dua operan yang berada di dalam register (bukan yang ada di memori) dan “STORE”, yang digunakan untuk memindahkan data dari register kembali ke memori. Berikut ini adalah urutan instruksi yang harus dieksekusi agar yang terjadi sama dengan instruksi “MULT” pada prosesor RISC (dalam 4 baris bahasa mesin):

LOAD A, 2:3
LOAD B, 5:2
PROD A, B
STORE 2:3, A


Awalnya memang kelihatan gak efisien iya khan? Hal ini dikarenakan semakin banyak baris instruksi, semakin banyak lokasi RAM yang dibutuhkan untuk menyimpan instruksi-instruksi tersebut. Kompailer juga harus melakukan konversi dari bahasa tingkat tinggi ke bentuk kode instruksi 4 baris tersebut.
Bagaimanapun juga, strategi pada RISC memberikan beberapa kelebihan. Karena masing-masing instruksi hanya membuthukan satu siklus detak untuk eksekusi, maka seluruh program (yang sudah dijelaskan sebelumnya) dapat dikerjakan setara dengan kecepatan dari eksekusi instruksi “MULT”. Secara perangkat keras, prosesor RISC tidak terlalu banyak membutuhkan transistor dibandingkan dengan CISC, sehingga menyisakan ruangan untuk register-register serbaguna (general purpose registers). Selain itu, karena semua instruksi dikerjakan dalam waktu yang sama (yaitu satu detak), maka dimungkinkan untuk melakukan pipelining.

Memisahkan instruksi “LOAD” dan “STORE” sesungguhnya mengurangi kerja yang harus dilakukan oleh prosesor. Pada CISC, setelah instruksi “MULT” dieksekusi, prosesor akan secara otomatis menghapus isi register, jika ada operan yang dibutuhkan lagi untuk operasi berikutnya, maka prosesor harus menyimpan-ulang data tersebut dari memori ke register. Sedangkan pada RISC, operan tetap berada dalam register hingga ada data lain yang disimpan ke dalam register yang bersangkutan.

Hirarki Sistem Memori

Hirarki Sistem Memori


• Register yang berada dalam chip prosesor dan merupakan bagian integral dari prosesor itu sendiri. (dibaca dan ditulisi dalam satu siklus detak).
• Cache internal (on-chip). Kapasitas umumnya sekitar 8 KB. (Waktu yang diperlukan untuk mengakses data adalah beberapa siklus detak).
• Cache level kedua (Eksternal) yang kapasitasnya lebih besar dan ditempatkan di luar chip.

Contoh : Prosesor P6 (Pentium Pro), misalnya, cache level pertamanya berkapasitas 8KB untuk data dan 8 KB untuk instruksi. Cache level keduanya berkapasitas 256 KB, yang merupakan keping terpisah tetapi dikemas menjadi satu dengan prosesornya. Download

Rasio (Kena) dan Waktu Akses

Rasio kena waktu (h) didefinisikan sebagai perbandingan antara jumlah perujukan yang berhasil memperoleh kata dari cache dengan banyaknya perujukan yang dilakukan.

h = (jumlah perujukan yang berhasil) / ( jumlah perujukan)

Rasio luput (miss) adalah:

m = (1 – h)

Waktu akses rata-rata, dengan asumsi bahwa perujukan selalu dilakukan ke cache lebih dahulu sebelum ke memori utama, dapat dihitung sebagai berikut:

t a = t c + (1-h) t m

ta : waktu akses rata-rata
tc : waktu akses cache
tm : waktu akses ke memori utama.

Setiap kali prosesor terpaksa mengakses memori utama, diperlukan tambahan waktu akses sebesar tm(1-h).
Misalnya, bila rasio kena adalah 0,85, waktu akses ke memori utama adalah 100 ns dan waktu akses ke cache adalah 25 ns, maka waktu akses rata-rata adalah 55 ns.
Bila persamaan ta disusun ulang, dapat ditulis menjadi:

ta = t c {1/k + (1-h)}

dengan k adalah rasio antara waktu akses memori utama dengan waktu akses cache (tm/tc).Dari persamaan di atas dapat dilihat bahwa waktu akses rata-rata didominasi oleh rasio waktu akses memori utama dengan cache bila k kecil. Pada kasus di atas, dengan waktu akses memori utama 200 ns dan waktu akses cache 25 ns, maka k = 8. Rasio luput 1 prosen menyebabkan waktu akses rata-rata menjadi 27 ns, tidak jauh beda dengan waktu akses cache. Pada umumnya k berkisar antara 3-10.

ORKOM-DMA



DMA ialah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO). Untuk memulai sebuah transfer DMA, host akan menuliskan sebuah DMA command block yang berisi pointer yang menunjuk ke sumber transfer, pointer yang menunjuk ke tujuan transfer, dan jumlah byte yang ditransfer, ke memori. CPU kemudian menuliskan alamat command block ini ke pengendali DMA, sehingga pengendali DMA dapat kemudian mengoperasikan bus memori secara langsung dengan menempatkan alamatalamat pada bus tersebut untuk melakukan transfer tanpa bantuan CPU.

Tiga langkah dalam transfer DMA:
1. Prosesor menyiapkan DMA transfer dengan menyedia kan data-data dari perangkat, operasi yang akan ditampilkan, alamat memori yang menjadi sumber dan tujuan data, dan banyaknya byte yang ditransfer.
2. Pengendali DMA memulai operasi (menyiapkan bus, menyediakan alamat, menulis dan membaca data), sampai seluruh blok sudah di transfer.
3. Pengendali DMA meng-interupsi prosesor, dimana selanjutnya akan ditentukan tindakan berikutnya.
Pada dasarnya, DMA mempunyai dua metode yang berbeda dalam mentransfer data. Metode yang pertama ialah metode yang sangat baku dan sederhana disebut HALT, atau Burst Mode DMA, karena pengendali DMA memegang kontrol dari sistem bus dan mentransfer semua blok data ke atau dari memori pada single burst. Selagi transfer masih
dalam prosres, sistem mikroprosessor diset idle, tidak melakukan instruksi operasi untuk menjaga internal register. Tipe operasi DMA seperti ini ada pada kebanyakan komputer.
Metode yang kedua, mengikutsertakan pengendali DMA untuk memegang kontrol dari sistem bus untuk jangka waktu yang lebih pendek pada periode dimana mikroprosessor sibuk dengan operasi internal dan tidak membutuhkan akses ke sistem bus. Metode DMA ini disebut cycle stealing mode. Cycle stealing DMA lebih kompleks untuk diimplementasikan
dibandingkan HALT DMA, karena pengendali DMA harus mempunyai kepintaran untuk merasakan waktu pada saat sistem bus terbuka. Download




Kelemahan I/O terprogram dan Interrupt- Driven I/O

Proses yang terjadi pada modul I/O masih melibatkan CPU secara langsung, berimplikasi pada :
• Kelajuan transfer I/O yang tergantung kecepatan operasi CPU.
• Kerja CPU terganggu karena adanya interupsi secara langsung
Prinsip kerja DMA
• CPU akan mendelegasikan kerja I/O kepada DMA
• CPU hanya akan terlibat pada awal proses untuk memberikan instruksi lengkap pada DMA dan akhir proses saja
• CPU dapat menjalankan proses lainnya tanpa banyak terganggu dengan interupsi
• Melaksanakan transfer data secara mandiri :
1. DMA memerlukan pengambilalihan kontrol bus dari CPU
2. DMA akan menggunakan bus bila CPU tidak menggunakannya atau DMA memaksa CPU untuk menghentikan sementara penggunaan bus
3. Teknik cyclestealing, modul DMA mengambil alih siklus bus
Klasifikasi perangkat eksternal
• Human Readable, yaitu perangkat yang berhubungan dengan manusia sebagai
• pengguna komputer. Contoh: monitor, keyboard, mouse, printer, joystick, disk drive.
• Machine readable, yaitu perangkat yang berhubungan dengan peralatan. Biasanya berupa modul sensor dan tranduser untuk monitoring dan kontrol suatu peralatan atau sistem.
• Communication, yatu perangkat yang berhubungan dengan komunikasi jarak jauh. Contoh: NIC dan modem
Klasifikasi berdasar arah data
1. Perangkat output
2. Perangkat input
3. Kombinasi output-input.
Contoh perangkat output: monitor, proyektor dan printer.
Contoh perangkat input : keyboard, mouse, joystick, scanner, mark reader, bar code reader

ORKOM-CPU

CPU(CENTRAL PROCESSOR UNIT)


A. Pengertian CPU

CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain disket drive ada juga yang mempunyai hard disk dan CD ROM.

B. Fungsi CPU
Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.

a) Siklus fetch-eksekusi bisa dijelaskan sebagai berikut
# i. di awal setiap siklus, CPU akan membaca dari memori utama,
ii. sebuah register, yang disebut Program Counter (PC), akan mengawasi dan menghitung instruksi selanjutnya,
iii. ketika CPU membaca sebuah instruksi, Program Counter akan menambah satu hitungannya,
iv. lalu instruksi-instruksi yang dibaca tersebut akan dimuat dalam suatu register yang disebut register instruksi (IR), dan akhirnya
v. CPU akan melakukan interpretasi terhadap instruksi yang disimpan dalam bentuk kode binari, dan melakukan aksi yang sesuai dengan instruksi tersebut.Download

b) Siklus Intruksi
i. Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi berikutnya yang akan dieksekusi. Biasanya melibatkan penambahan bilangan tetap ke alamat instruksi sebelumnya. Misalnya, bila panjang setiap instruksi 16 bit padahal memori memiliki panjang 8 bit, maka tambahkan 2 ke alamat sebelumnya.
ii. Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
iii. Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan.
iv. Operand Address Calculation (OAC), yaitu menentukan alamat operand, hal ini dilakukan apabila melibatkan referensi operand pada memori.
v. Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
vi. Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
vii. Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori

Sub Siklus Intruksi
a. Fetch : membaca instruksi berikutnya dari memori ke dalam CPU
b. Execute : menginterpretasikan opcode dan melakukan operasi yang diindikasikan
c. Interrupt : Apabila interrupt diaktifkan dan interrupt telah terjadi, simpan status proses saat itu dan layani interrupt.

Aksi – Aksi CPU
i. CPU Memori, perpindahan data dari CPU ke memori dan sebaliknya
ii. CPU – I/0, perpindahan data dari CPU ke modul I/0 dan sebaliknya
iii. Pengolahan Data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data
iv. Kontrol, merupakan instruksi untuk pengontrolan fungsi atau kerja. Misalnya instruksi pengubahan urusan eksekusi

C. Komponen – Komponen CPU

a) Control Unit yang mampu mengatur jalannya program. Komponen ini sudah pasti terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. Termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU. Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output.
Tugas dari control unit ini adalah:
* Mengatur dan mengendalikan alat-alat input dan output
* Mengambil instruksi-instruksi dari memori utama.
* Mengambil data dari memori utama (jika diperlukan) untuk diproses.
* Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja dari ALU
* Menyimpan hasil proses ke memori utama.
b) Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. Secara analogi,register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika

c) Aritmetic Logic Unit yang bertugas untuk melakukan operasi aritmetika dan operasi logika berdasar instruksi yang ditentukan. ALU sering di sebut mesin bahasa karena bagian ini ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean yang masing-masing memiliki spesifikasi tugas tersendiri. Tugas utama dari ALU adalah melakukan semua perhitungan aritmatika (matematika) yang terjadi sesuai dengan instruksi program. ALU melakukan semua operasi aritmatika dengan dasar penjumlahan sehingga sirkuit elektronik yang digunakan disebut adder.
Tugas lain dari ALU adalah melakukan keputusan dari suatu operasi logika sesuai dengan instruksi program. Operasi logika meliputi perbandingan dua operand dengan menggunakan operator logika tertentu, yaitu sama dengan (=), tidak sama dengan , kurang dari, dan lebih besar atau sama dengan.
d) CPU Interconnections adalah sistem koneksi dan bus yang menghubungkan komponen internal CPU, yaitu ALU, unit kontrol dan register-register dan juga dengan bus-bus eksternal CPU yang menghubungkan dengan sistem lainnya, seperti memori utama, piranti masukan.

D. Cara Kerja CPU

Saat data dan/atau instruksi dimasukkan ke processing-devices, pertama sekali diletakkan di RAM (melalui Input-storage); apabila berbentuk instruksi ditampung oleh Control Unit di Program-storage, namun apabila berbentuk data ditampung di Working-storage). Jika register siap untuk menerima pengerjaan eksekusi, maka Control Unit akan mengambil instruksi dari Program-storage untuk ditampungkan ke Instruction Register, sedangkan alamat memori yang berisikan instruksi tersebut ditampung di Program Counter. Sedangkan data diambil oleh Control Unit dari Working-storage untuk ditampung di General-purpose register (dalam hal ini di Operand-register). Jika berdasar instruksi pengerjaan yang dilakukan adalah arithmatika dan logika, maka ALU akan mengambil alih operasi untuk mengerjakan berdasar instruksi yang ditetapkan. Hasilnya ditampung di Accumulator. Apabila hasil pengolahan telah selesai, maka Control Unit akan mengambil hasil pengolahan di Accumulator untuk ditampung kembali ke Working-storage. Jika pengerjaan keseluruhan telah selesai, maka Control Unit akan menjemput hasil pengolahan dari Working-storage untuk ditampung ke Output-storage. Lalu selanjutnya dari Output-storage, hasil pengolahan.

ORKOM-ORGANISASI CACHE

ORGANISASI CACHE




Perhatikan masalah penempatan suatu blok data/instruksi dari memori utama ke baris-baris cache.
Ada tiga macam organisasi cache
• organisasi cache dipetakan langsung (direct-mapped)
• asosiatif penuh (fully associative)
• asosiatif-kelompok ( set-associative).

Misalkan pengalamatan 32-bit
• 6-bit = offset menentukan byte mana dalam blok itu yang dialamati.
• 10 bit berikutnya menentukan pada baris mana blok yang diambil harus ditempatkan.
• Bit sisanya, yakni 16-bit paling atas = tag yang bersesuaian dengan baris cache.

Organisasi cache yang dipetakan langsung :
• menyimpan satu tag perbaris dalam larik tag-nya
• Selama pengaksesan memori, cache menggunakan bit-bit tengah alamat sebagai indeks ke larik tagnya.
• Tag dicocokkan dengan 16-bit teratas dari alamat memori yang diakses.
• Jika cocok, data yang ditunjukan oleh nilai offset akan dikirim ke prosesor. Bila tidak cocok, isi baris cache diganti dengan blok yang diperlukan, dari memori utama.
• Hanya memerlukan satu kali pembandingan untuk setiap akses ke cache.
• Cocok untuk sistem komputer yang memerlukan frekuensi detak tinggi

Dalam rancangan cache asosiatif-penuh :
• Suatu blok data dapat ditempatkan pada baris cache manapun.
• Alamat dibagi menjadi dua bagian yakni bit rendah dan bit tinggi.
• Bit rendah membentuk offset di dalam baris cache, sedangkan bit tinggi membentuk tag untuk dicocokkan dengan rujukan.
• Cache asosiatif-penuh harus punya mekanisme untuk menentukan ke dalam baris mana blok ditempatkan.
• Blok dapat ditempatkan dalam baris manapun yang kosong. Bila semua baris cache penuh harus ditentukan blok mana yang dikeluarkan dari cache.
• Digunakan prinsip LRU (least recently used) yakni blok yang paling lama tidak dipakai dikeluarkan dari cache.
• Cukup mahal mengimplementasikannya.
• Resiko : memperbanyak implementasi rangkaian hardware untuk membandingkan tag thdp semua brs cache.
Download

Dalam rancangan cache asosiatif-kelompok :
• Untuk memperkecil resiko tersebut sekaligus mengurangi terjadinya konflik alamat, dirancang organisasi cache yang lain yakni asosiatif-kelompok (set-associative).
• Satu kelompok terdiri atas beberapa baris.
• Bit alamat bagian tengah menentukan kelompok baris di mana suatu blok ditempatkan.
• Dalam setiap kelompok, cache dipetakan secara asosiatif-penuh.
• Memudahkan implementasi teknik LRU (least recently used).
• Bit tengah dari alamat digunakan untuk memilih sekelompok baris (bukan hanya satu baris seperti pada sistem pemetaan langsung).
• Tag alamat kemudian dicocokkan dengan tag seluruh baris cache yang dipilih.

Mikroprosesor Amd486DX2, misalnya, memiliki 8 KB cache asosiatif-kelompok empat-jalan (four-way set-associative) dengan baris masing-masing selebar 26 byte. Cache sebesar 8 KB tersebut dibagi menjadi 128 kelompok yang masing-masing terdiri atas empat baris.

Selain ketiga organisasi cache di atas, pada masa-masa awal pemanfaatan sistem cache beberapa jenis prosesor menggunakan cache, dengan pemetaan-sektor. Pada pemetaan sektor, baik memori utama maupun cache dibagi menjadi sektor-sektor. Setiap sektor terdiri atas sejumlah blok. Sembarang sektor pada memori utama dapat terpetakan ke sembarang sektor dalam cache, dengan suatu tag disimpan bersama tiap-tiap sektor dalam cache untuk mengidentifikasi alamat sektor memori utama. Dalam pengirimannya ke cache atau pengembaliannya ke memori utama, data/instruksi tidak dikirim sektor per sektor tetapi blok per blok.
Pada saat terjadi kesalahan sektor (sector miss) blok yang diperlukan dari satu sektor dipindahkan ke lokasi tertentu dalam satu sektor. Lokasi sektor dalam cache dipilih berdasarkan algoritma penggantian tertentu. Desain ini sudah tidak populer lagi karena prosentase kena (hit) lebih rendah dibanting dengan organisasi asosiatif-kelompok.

ORKOM-I/O

INPUT / OUTPUT DEVICE

Input-Output Device, merupakan bagian yang berfungsi sebagai penghubung antara komputer dengan lingkungan di luarnya. Dapat dibagi menjadi dua kelompok, yaitu

a. Input Device (Piranti Masukan), berfungsi sebagai media komputer untuk menerima masukan dari luar. Beberapa contoh piranti masukan :
- keyboard
- mouse
- touch screen
- scanner
- camera
- modem
- network card
- dll

b. Output Device (Piranti Keluaran), berfungsi sebagai media komputer untuk memberikan keluaran. Beberapa contoh piranti masukan :
- Monitor
- Printer
- Speaker
- Plotter
- Modem
- network card
- dll
1. Prinsip Perangkat Keras I/O
Batasan : bagaimana hardware tersebut di program
Manajemen perangkat I/O mempunyai beragam fungsi, diantaranya :
- mengirimkan perintah ke perangkat I/O agar menyediakan layanan
- menangani interupsi perangkat I/O
- menangani kesalahan pada perangkat I/O
- menyediakan interface ke pemakai
1.1. I/O Device
Perangkat I/O dapat dibedakan berdasarkan :
1. Sifat aliran data
Berdasarkan aliran data dibedakan menjadi :
a. Perangkat berorientasi blok (block-oriented devices)
Menyimpan informasi dan menukarkan (menerima / mengirim) informasi sebagai blok-blok berukuran tetap. Tiap blok mempunyai alamat tersendiri. Ukuran blok dapat beragam antara 128 s/d 1024 byte.
Ciri utamanya adalah : dimungkinkan membaca / menulis blok-blok secara independent, yaitu dapat membaca atau menulis sembarang blok tanpa harus melewati blok-blok lain.
Contohnya : disk, tape, CD ROM, Optical disk
b. Perangkat berorientasi karakter (character-oriented devices)
Mengirim atau menerima karakter dan tanpa peduli membentuk suatu struktur blok, not addresable dan tidak mempunyai operasi seek.
Contohnya : terminals, line printer, punch card, network interfaces, pita kertas, mouse
Klasifikasi diatas tidak mutlak, karena ada beberapa perangkat yang tidak termasuk kategori diatas, misalnya :
- clock yang tidak teramati secara blok dan juga tidak menghasilkan / menerima aliran karakter. Clock menyebabkan interupsi pada interval-interval yang didefinisikan.
- Memory mapped screen,
- sensor
2. Sasaran komunikasi
Berdasarkan sasaran komunikasi dibedakan menjadi :
a. Perangkat yang terbaca oleh manusia (human readable device)
Perangkat yang cocok untuk komunikasi dengan manusia.
Contohnya : VDT (Video Display Terminal) terdiri dari monitor, keyboard (+mouse)
b. Perangkat yang terbaca oleh mesin (machine readable device)
Perangkat yang cocok untuk komunikasi dengan perangkat elektronik.
Contohnya : disk, tape, sensor, controller, aktuator
c. Untuk komunikasi
Perangkat yang cocok untuk komunikasi dengan perangkat jarak jauh.
Contohnya : modem
1.2. Device Controller
Unit I/O berupa :
a. Komponen elektronik
Device controller / adapter adalah untuk mengaktifkan perangkat eksternal dan memberitahukan yang perlu dilakukan oleh perangkat / driver.
Contoh : unit tape megnetik diinstruksikan untuk kembali ke posisi awal, bergerak ke record berikutnya dan sebagainya.
b. Komponen mekanik
Contohnya : head, motor stepper, printer

1.3. Direct Memory Access (DMA)
DMA berfungsi membebaskan pemroses menunggui transfer data yang dilakukan I/O device. Saat pemroses ingin membaca atau menulis data, pemroses memerintahkan DMA Controller dengan mengirimkan informasi berikut :
- perintah penulisan / pembacaan
- alamat I/O device
- awal lokasi memori yang ditulis / dibaca
- jumlah word / byte yang ditulis / dibaca
setelah mengirimkan informasi itu ke DMA Controller, pemroses dapat melanjutkan kerja lain. Pemroses mendelegasikan operasi I/O ke DMA. DMA mentransfer seluruh data yang diminta ke / dari memori secara langsung tanpa melewati pemroses. Ketika transfer data selesai, DMA mengirimkan sinyal interupsi ke pemroses. Pemroses hanya dilibatkan pada awal dan akhir transfer data.
Operasi transfer antara perangkat dan memori utama dilakukan sepenuhnya oleh DMA, lepas dari pemroses dan hanya melakukan interupsi bila operasi telah selesai.
Keuntungan DMA :
- peningkatan kinerja prosesor atau I/O
- meminimasikan over head

Pada waktu data di tranfer dari controller ke memori, sektor berikut akan lewat dibawah head dan bits sampai ke controller. Controller sederhana tidak dapat melakukan I/O dalam waktu yang bersamaan, maka dilakukan interleaving (skip blok), memberi waktu untuk tranfer data ke memori. Interleaving ini terjadi pada disk bukan pada memori, seperti terlihat pada gambar di bawah ini.

2. Prinsip Software I/O

Ide Dasar : mengorganisasikan software dalam beberapa layer dimana level bawah menyembunyikan akses / kepelikan hardware untuk level diatasnya. Level atas membuat interface yang baik ke user.
Tujuan Software I/O
a. Konsep dalam desain software I/O
Device independence / tidak bergantung pada device yang digunakan
b. Penamaan yang seragam / Uniform Naming
Penamaan file berkas atau perangkat adalah string atau integer dan harus sederhana, tidak bergantung pada device
Contoh : seluruh disks dapat dibuat dengan hirarki sistem file (menggunakan NPS)
c. Penanganan kesalahan / Error Handling
Error harus ditangani sedekat mungkin dengan hardware
Contoh : pertama controller, device driver, dst. Dan jika tidak bisa ditangani beri pesan
d. Synchronous (blocking) vs Asynchronous (Interrupt Driver) transfer
Kebanyakan I/O adalah asinkron. Pemroses mulai transfer dan mengabaikan untuk melakukan kerja lain sampai interupsi tiba.
Program pemakai sangat lebih mudah ditulis jika operasi I/O berorientasi blok. Setelah perintah read, pemrogram kemudian ditunda secara otomatis sampai data tersedia di buffer. Terserah sistem operasi untuk menangani operasi yang sesungguhnya interrupt driver.
e. Sharable vs Dedicated Device
Beberapa perangkat dapat dipakai bersama seperti disk, tapi ada juga perangkat yang hanya satu pemakai yang dibolehkan memakai pada satu saat.
Misal : disk untuk sharable dan printer untuk dedicated

Tujuan diatas dapat dicapai dengan memisahkan software I/O menjadi 4 layers, yaitu :
1. Interrupt Handler
Interrupt harus disembunyikan agar tidak terlihat rutin berikutnya. Device driver di blok saat perintah I/O diberikan dan menunggu interupsi. Ketika interupsi terjadi, prosedur penanganan interupsi bekerja agar device driver keluar dari state blocked.

2. Device Drivers
Seluruh kode device dependent terletak di device driver. Tiap device driver menangani satu tipe / satu kelas device. Tugas dari device driver untuk menerima permintaan abstrak dari software device independent diatasnya dan melakukan layanan sesuai permintaan / mengeksekusinya.

3. Device Independent Operating System Software
I/O device-independent adalah : software I/O yang tak bergantung pada perangkat keras.
Fungsi dasar dari software device-independent :
- membentuk fungsi I/O yang berlaku untuk semua device
- menyediakan interface uniform / seragam ke user level software

Fungsi dari software I/O device-independent yang biasa dilakukan :
a. Interface seragam untuk seluruh device-driver
b. Penamaan device
c. Proteksi device
d. Memberi ukuran blok device agar bersifat device-independent
e. Melakukan Buffering
f. Alokasi penyimpanan pada blok devices
g. Alokasi dan pelepasan dedicated devices
h. Pelaporan kesalahan
4. User Space I/OSoftware
Sebagian besar software I/O berada di dalam sistem operasi yang di link dengan user program.
System call termasuk I/O, biasanya dalam bentuk prosedur (library procedures).
Contoh : count = write(fd,buffer,nbytes)
I/O prosedur dengan level lebih tinggi.
Contoh : printf (memformat output terlebih dahulu kemudian panggil write)

Yang tidak mempunyai library procedure, contohnya : spooling directory dan daemon (proses khusus) pada proses mencetak, transfer file, USENET

Layer
I/O reply I/O functions
User processes
Make I/O call; format I/O; spooling
Device-independent
software Naming protection, blocking, buffering, allocation
Device-drivers
Setup device register, check status
Interrupt handler
Wake up driver when I/O completed
Hardware
Perform I/O operation

Lapisan sistem I/O dan fungsi utama dari tiap lapisan (layer)
3. Disk
Tiga kelebihan disk dari main memory untuk penyimpanan :
1. kapasitas penyimpanan yang tersedia lebih besar
2. harga per-bit-nya lebih rendah
3. informasi tidak hilang meskipun power off

3.1. Perangkat Keras Disk
Disk diorganisasikan menjadi silinder-silinder dengan tiap permukaan terdapat head yang ditumpuk secara vertikal. Track terbagi menjadi sektor-sektor

Tiga faktor yang mempengaruhi waktu read/write block disk :
1. seek time (waktu menggerakkan lengan ke silinder)
2. rotational delay (waktu sector berputar ke head)
3. transfer time
yang sangat dominan adalah seek time, jadi performance dapat ditingkatkan dengan mengurangi waktu rata-rata seek

Proses seek pada disk driver : seek ke lebih dari satu disk secara bersamaan, read/write bersama dengan seek, read/write dalam waktu yang bersamaan dari dua drive

3.2. Algoritma Penjadwalan Akses Lintas Disk
Pada sistem multiprogramming, banyak proses yang melakukan permintaan read/write record disk. Proses membuat permintaan lebih cepat dibandingkan yang dapat dilayani disk, membentuk antrian permintaan layanan disk. Diperlukan penjadwalan disk agar memperoleh kerja optimal.
Terdapat dua tipe penjadwalan disk, yaitu :
1. Penjadwalan untuk optimasi seek, karena waktu seek lebih tinggi satu orde dibandingkan waktu rotasi, maka kebanyakan algoritma penjadwalan berkonsentrasi meminimumkan seek kumpulan atau antrian permintaan layanan disk.
2. Penjadwalan untuk optimasi rotasi, penjadwalan disk melibatkan pemeriksaan terhadap permintaan yang belum dilayani untuk menentukan cara paling efisien melayani permintaan-perminataan, dan memeriksa hubungan posisi di antrian permintaan. Antrian disusun kembali sehingga permintaan akan dilayani dengan pergerakan mekanis minimum.
Adapun beberapa metode yang digunakan :
a. Algoritma Pertama Tiba Pertama Dilayani (PTPD) / First Come, First Served (FCFS) Algorithm
Disk drive melayani satu permintaan pada sauatu saat dan melayaninya sesuai urutan kedatangannya. Permintaan yang duluan tiba, dilayani duluan.

Contoh : 40 silinder dengan urutan 11, 1, 36, 1, 16, 34, 9, 12

b. Algoritma Pungut / Pick Up Algorithm
c. Algoritma Waktu Cari Terpendek Dipertamakan (WCTD) / Shortest Seek Time First (SSTF) Algorithm
d. Algoritma Lift Singkat / LOOK Algorithm
e. goritma Lift Singkat Searah / C-LOOK Algorithm
f. Algoritma Lift Lengkap / SCAN Algorithm
g. Algoritma Lift Lengkap Searah / C-Scan Algorithm

3.3. I/O Error Handling / Penanganan Kesalahan I/O
Error yang umum terjadi adalah :
1. Error pemrograman
Kesalahan disebabkan pemrograman. Misalnya : request sektor yang tidak ada. Penanganannya : pembetulan program untuk komersial software, batalkan operasi dan berharap tidak akan terjadi lagi
2. Error checksum transient
Kesalahan disebabkan adanya debu diantara head dengan permukaan disk. Penanganannya : lakukan operasi berulang-ulang dan menandai sector yang rusak.
3. Error checksum permanent
Kesalahan disebabkan kerusakan disk. Misalnya harus dibuat daftar blok-blok buruk agar data tidak ditulisi di blok-blok buruk.
4. Error seek
Kesalahan ini ditanggulangi dengan mengkalibrasi disk supaya berfungsi kembali. Misalnya lengan harusnya ke silinder 6 ternyata ke 7. Penanganannya : kalibrasi ulang.
5. Error controller
Kesalahan ini ditanggulangi dengan menukar pengendali yang salah dengan pengendali yang baru. Misalnya controller menolak perintah akses. Penanganannya : reset.
6. Track at time caching
Kontroller mempunyai memori untuk menyimpan informasi track dimana ia berada, permintaan pembacaan blok track tersebut dilakukan tanpa pergerakan mekanik.
3.4. RAM Disk
RAM disk adalah disk driver yang disimulasikan pada memori akses acak (RAM). RAM disk sepenuhnya mengeliminasi waktu tunda yang disebabkan pergerakan mekanis dalam seek dan rotasi. RAM disk berguna untuk aplikasi yang memerlukan kinerja disk yang tinggi.
Devices block adalah media penyimpanan dengan 2 perintah : R (read) dan W (write). Normalnya blok-blok disimpan di disk berputar yang memerlukan mekanisme fisik.
Idenya adalah meniru driver dengan mengalokasikan terlebih dahulu satu bagian memori utama untuk menyimpan blok-blok data.
Keuntungannya : berkecepatan tinggi karena pengaksesan sesaat / instant, tidak ada waktu tunda seek dan waktu tunda rotasi. Sangat cocok untuk menyimpan program atau data yang sering diakses..
Main Memory (RAM)

4. Terminal
Semua komputer memerlukan terminal untuk komunikasi antar peralatan.
4.1. Terminal Hardware
Terminal hardware terbagi atas 2 kategori dasar, yaitu :

1. terminal interface melalui RS-232
RS-232 menghubungkan keyboard, monitor menggunakan serial interface, 1 bit dalam 1 waktu, dan menggunakan 25 pin konektor, dimana 1 pin untuk transmisi data, 1 pin untuk receive data dan 1 pin untuk ground, 22 pin yang lain digunakan untuk fungsi control atau ada pin yang tidak digunakan.
RS-232 dapat dikategorikan lagi menjadi :
a. hardcopy / printer, dimana tipe karakter dari keyboard ditransmisikan ke komputer, dan kemudian di cetak di kertas / printer.
b. Dumb CRT terminal / glass tty (teletype = terminal)
c. Intelligent CRT terminals, terdiri dari CPU dan memory, dan untuk program yang kompek digunakan EPROM atau ROM.
d. Blit, adalah terminal dengan powerful microprocessor
2. terminal memory-mapped
adalah interface melalui video RAM / video controller yang digunakan untuk monitor.
4.2. Terminal Software
Terminal Software terdiri dari :
1. Input Software
2. Output Software
Studi kasus
manajemen I/O
pada MS DOS
MS DOS mendukung beragam perangkat serial, yang diidentifikasikan dengan nama file khusus, hanya tidak disimpan di suatu direktori tertentu, misalnya :
a. con : perangkat konsol
b. com1 : perangkat communication port 1
c. com2 : perangkat communication port 2
d. pm : perangkat printer
e. lpt1 : perangkat line printer 1
f. lpt2 : perangkat line printer 2
g. aux : perangkat auxiliary
contoh :
copy a.txt con : tidak mengkopi file a.txt menjadi file con, tetapi menampilkan ke konsol
copy a.txt prn : tidak mengkopi file a.txt menjadi file prn, tetapi mengalirkan isi file a.txt ke printer sehingga printer akan mencetaknya
MS DOS memungkinkan pemakai memasang device driver sendiri setelah sistem di boot dengan penambahan pernyataan di file config.sys, misalnya ansi.sys, display.sys, mouse.sys, printer.sys, dll.
UNIX mengharuskan device driver dikompilasi ke kernel.