Sejarah perkembangan software
1956:Jhon bachus dan tim ibm nya menciptakan fortran dengan bahasa pemprograman tingkat tinggi.
1960:LISP meluncurkan model bahasa komputer untuk menulis program tiruan.
1965:orientasi bahasa benda dengan perakitan tambahan dengan simula,ditulis oleh kristen nygaard dan ole john dahl.
1969:bill gates&paul allen menyebutnya dengan “lake side programming group”menyetujui komputer dengan badan hukum pusat untuk mematenkan pdp-iq software.
1975:paul allen di dalam suratnya,bill gates menggunakan nama”micro-soft”menyerahkan kepada rekan kerja nya.untuk cepat2 menuliskan tentang referensi nya.
1976:untuk pertamakali nya microsoft di kembangkan,mereka menyebutnya dengan”the legend of micro-kid”.
1977:pemerintahan U.S mengadopsi data standar IBM,untuk membuka kode kunci pesan&untuk melindungi rahasia agensi mereka.
1978:microsoft mengumumkan produk ketiganya,MICROSOTF COBOL-80 dijual seharga 1 juta dolar U.S.
1979:micosoft mengumumkan,MICROSOFT BASIC untuk 8086 16 bit micropocessors.
1981:IBM memperkenalkan personal computer dengan penggunaan Microsoft 19 bit operting system,MS DOS 1.0,plus Microsoft BASIC,COBOL,PASCAL,dan produk Microsoft lainnya.
1983:Microsoft memperkenalkan word processing program,Microsoft word for MS DOS 1.00 .
1989:maxis memproduksi video game ,dengan kelas baru untuk pendidikan dan hiburan.
1995:windows 95 ships.
1997:deep blue defeats world chess champion.
1998:windows

Pengertian software
adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. Seperti nama lainnya itu, yaitu perangkat lunak, sifatnya pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat diliat dan disentuh oleh manusia, maka software atau Perangkat lunak tidak dapat disentuh dan dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda tapi kita bisa mengoperasikannya. Perangkat lunak dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna komputer untuk diteruskan ke atau diproses oleh perangkat keras.
Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras (yang sering disebut sebagai device driver), melakukan proses perhitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman), dan lain-lain.
Perangkat Lunak (software) merupakan suatu program yang dibuat oleh pembuat program untuk menjalankan perangkat keras komputer. Perangkat Lunak adalah program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data. Software sebagai penghubung antara manusia sebagai pengguna dengan perangkat keras komputer, berfungsi menerjemahkan bahasa manusia ke dalam bahasa mesin sehingga perangkat keras komputer memahami keinginan pengguna dan menjalankan instruksi yang diberikan dan selanjutnya memberikan hasil yang diinginkan oleh manusia tersebu

Perangkat lunak komputer berfungsi untuk :
1. Mengidentifikasi program
2. Menyiapkan aplikasi program sehingga tata kerja seluruh perangkat komputer terkontrol.
3. Mengatur dan membuat pekerjaan lebih efisien



Klasifikasi perangkat lunak
1. Lunak sistem

Juga disebut sebagai sistem operasi, itu adalah perangkat lunak yang digunakan oleh komputer untuk mengkonversi dan menerjemahkan input dari sumber yang berbeda ke dalam bahasa mesin. Ini adalah tugas OS untuk mengatur komponen perangkat keras komputer. Itu juga merupakan perangkat lunak Sistem menawarkan perisai perlindungan untuk semua aplikasi perangkat lunak lainnya. Dengan OS, dukungan juga diberikan kepada komponen fisik dari komputer. Banyak Os ada di pasar. Sistem operasi jendela adalah salah satu yang telah membuat banyak gelombang dalam sistem industri perangkat lunak. Sistem operasi lain juga berlimpah. Di antaranya adalah UNIX, yang digunakan untuk kantor besar setup dengan jaringan yang kuat. Kami juga memiliki HP-UX dan AIX, digunakan oleh komputer HP. Apache OS juga populer terutama dengan web server.

2. Perangkat lunak aplikasi:

Perangkat lunak aplikasi yang paling umum dikenal dan digunakan jenis perangkat lunak komputer. Perangkat lunak aplikasi mencakup hampir semua hari-hari kegiatan yang dilakukan dengan komputer. Beberapa contoh perangkat lunak aplikasi adalah Microsoft office suite yang meliputi Word, Excel, penerbit dan PowerPoint. Banyak orang secara ekstensif menggunakan aplikasi tersebut. Internet explorer, Netscape dan Mozilla Firefox, orang memperoleh akses untuk mengakses internet. Mengekspresikan pandangan adalah perangkat lunak yang digunakan untuk pengelolaan email. Salah satu ciri dari perangkat lunak aplikasi adalah antarmuka pengguna.

Perangkat lunak aplikasi
Sistem operasi dengan perangkat lunak bahasa tidak di tunjukkan untuk menyelesaikan permasalahan dalam aplikasi tertentu yang dihadapi oleh pemakai komputer.program yang ditunjukan untuk menyelesaikan suatu permasalahan dalam aplikasi tertentu di sebut program aplikasi atau program paket.ada dua cara untuk bisa mendapatkan program aplikasi yang di butuhkan yaitu dengan mengembangkan sendiri(sangat sulit dan perlu keahlian khusus)atau membelinya(mudah)

Saat ini banyak sekali program2 aplikasi yang tersedia di pasaran.program2 ini dapat diandalkan,dapat memenuhi kebutuhan pemakai dirancang dengan baik,relatif bebas dari kesalahan,mudah digunakan(user friendly),mempunyai dokumen yang memadai dan didukung oleh purna jual yang baik.program2 paket ini di gunakan untuk menyelesaikan masalah2 umum seperti membuat dokumen(word star,microsoft word),membuat slide presentasi(ms power point),penerbitan(adobe page maker),mengelola gambar(adobe photoshop)dsb.akan tetapi bila kita mempunyai permasalahan yang sifatnya khusus da unik sehingga tidak ada paket2 program yang sesuai untuk digunakan,maka dengan terpaksa harus dikembangkan program aplikasi sendiri,misalnya program sistem sks universitas andalas,program sistem keuangan perusahaan,dll.
3. Lunak bahasa pemrograman:

Jenis perangkat lunak komputer yang secara eksklusif digunakan oleh pemrogram komputer. Sebuah bahasa pemrograman adalah sekumpulan instruksi yang digunakan untuk membuat perangkat lunak aplikasi dan sistem operasi. Peralatan dasar yang digunakan oleh perangkat lunak pemrograman Compiler, interpreter, linker dan teks editor. Contoh perangkat lunak jenis ini adalah C + +, Simlab dan Jawa. Java adalah bahasa pemrograman untuk aplikasi internet. Kebanyakan program profesional pengembang menggunakan bahasa C + +. Program ini juga dapat digunakan dalam mengembangkan sistem operasi. PHP adalah bahasa lain digunakan untuk aplikasi internet. Sebuah kelas baru bahasa sekarang ada untuk perangkat mobile. Ini adalah ringan bahasa yang digunakan untuk merancang aplikasi mobile.

Semua Perangkat lunak komputer bekerja dengan bahasa pemrograman. Proses berjalan seperti reaksi berantai. Rantai ini dimulai dengan mentransfer perintah. Lunak komputer membangkitkan kode Machine yang berakhir seluruh proses
Perangkat lunak bahasa merupakan program khusus yang sudah dibuat oleh pabrik computer atau perusahaan perangkat lunak yang digunakan untuk mengembangkan program aplikasi.program ini berfungsi sebgagai penterjemah program yang ditulis dengan bahasa pemprogramancomputer menjadi bahasa mesin yang dapat di mengerti oleh computer .bila perangkat lunak bahasa ini tidak tersedia,maka pembuat program harus menuliskan programnya langsung dalam bahasa mesin yang berbentuk bilangan biner,dan hal ini sangat sulit dan rumit.

Perangkat lunak bahasa dapat dikategorikan menjadi:
1. Assembler(perakit):merupakan program yang digunakan untuk menterjemahkan program aplikasi yang ditulis dengan bahasa rakitan(assembly language) atau bahasa pemprogaman simbolik menjadi bahasa mesin.

dengan bahasa simbolik,masing2 kode operasi mesin tidak ditulis dengan bentuk bilangan biner,tetapi dengan suatu kode simbolik tertentu yang disebut dengan mnemonic.program yang ditulis dengan bahasa simbolik disebut dengan program sumber(source program) dan hasil terjemahannya dalam bentuk bahasa mesin disebut dengan program objek(object program=OBJ).proses pembuatan program obyek dari program sumber juga akan menapilkan daftar keslahan2 sintaks(jika ada)yang dibuat oleh pemprogram.kesalahan ini harus dibetulkan terlebih dahulu sebelum di proses lebih lanjut.

Walau penulisan program dengan bahasa simbolik lebih mudah dibanding dengan bahasa mesin,tetapi harus dirasakan kesulitan karena penulis program harus:
• Mengetahui susunan serta fungsi dari masing2 register di dalam cpu.
• Mengetahui dengan persis cara alokasi memori komputer yang di gunakan.
• Mengetahui fungsi2 yang di sediakan oleh OS.

Untuk mengatasi hal ini telah dikembangkan suatu bahasa yang lebih dekat dengan pemakai komputer yang di sebut bahasa tingkat tinggi(high level language),misalnya basic,fortran,pascal c,dsb.
Program yang di tulis dengan bahasa tingkat tinggi ini harus di terjemahkan ke dalam bahasa mesin agar dapat di mengerti oleh komputer.penerjemah ini dapat berupa kompilator atau interpreter.kompilator menterjemahkan setiap instruksi didalam suatu program sekaligus sama dengan assembler dan menghasilkan dengan program objek yang selanjutnya di link sehingga menghasilkan file exe.contoh perangkat lunak bahasa seperti ini adalah pascal,c,dan masih banyak lagi.sedangkan interpreter menterjemahkan instruksi satu persatu dan langsung di proses sebelumkomputer membaca instruksi selanjutnya,sehingga tidak dihasilkan program obyek maupun file exe.contoh untuk ini adalah:basic versi baku,dbase,dan sebagainya.
2. compiler: menterjemahkan setiap instruksi didalam suatu program sekaligus sama dengan assembler dan menghasilkan dengan program objek yang selanjutnya di link sehingga menghasilkan file exe.contoh perangkat lunak bahasa seperti ini adalah pascal,c,dan masih banyak lagi.
3.interpreter: menterjemahkan instruksi satu persatu dan langsung di proses sebelum komputer membaca instruksi selanjutnya,sehingga tidak dihasilkan program obyek maupun file exe.contoh untuk ini adalah:basic versi baku,dbase,dan sebagainya.



Perangkat lunak sumber terbuka
Perangkat lunak sumber terbuka (Inggris: open source software) adalah jenis perangkat lunak yang kode sumber-nya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya dilakukan oleh satu paguyuban terbuka yang bertujuan mengembangkan perangkat lunak bersangkutan. Anggota-anggota paguyuban itu seringkali sukarela tapi bisa juga pegawai suatu perusahaan yang dibayar untuk membantu pengembangan perangkat lunak itu. Produk perangkat lunak yang dihasilkan ini biasanya bersifat bebas dengan tetap menganut kaidah dan etika tertentu.
Semua perangkat lunak bebas adalah perangkat lunak sumber terbuka, tapi sebaliknya perangkat lunak sumber terbuka belum tentu perangkat lunak bebas, tergantung kaidah yang dipakai dalam melisensikan perangkat lunak sumber terbuka tersebut.
Perangkat lunak bebas
Perangkat lunak bebas (Inggris: free software) adalah istilah yang diciptakan oleh Richard Stallman dan Free Software Foundation [1] yang mengacu kepada perangkat lunak yang bebas untuk digunakan, dipelajari dan diubah serta dapat disalin dengan atau tanpa modifikasi, atau dengan beberapa keharusan untuk memastikan bahwa kebebasan yang sama tetap dapat dinikmati oleh pengguna-pengguna berikutnya. Bebas di sini juga berarti dalam menggunakan, mempelajari, mengubah, menyalin atau menjual sebuah perangkat lunak, seseorang tidak perlu meminta izin dari siapa pun.
Untuk menjadikan sebuah perangkat lunak sebagai perangkat lunak bebas, perangkat lunak tersebut harus memiliki sebuah lisensi, atau berada dalam domain publik dan menyediakan akses ke kode sumbernya bagi setiap orang. Gerakan perangkat lunak bebas (free software movement) yang merintis perangkat lunak bebas berawal pada tahun 1983, bertujuan untuk memberikan kebebasan ini dapat dinikmati oleh setiap pengguna komputer.
Dengan konsep kebebasan ini, setiap orang bebas untuk menjual perangkat lunak bebas, menggunakannya secara komersial dan mengambil untung dari distribusi dan modifikasi kode sumbernya. Walaupun demikian setiap orang yang memiliki salinan dari sebuah perangkat lunak bebas dapat pula menyebarluaskan perangkat lunak bebas tersebut secara gratis. Model bisnis dari perangkat lunak bebas biasanya terletak pada nilai tambah seperti dukungan, pelatihan, kustomisasi, integrasi atau sertifikasi.
Perangkat lunak bebas (free software) jangan disalahartikan dengan perangkat lunak gratis (freeware) yaitu perangkat lunak yang digunakan secara gratis. Perangkat lunak gratis dapat berupa perangkat lunak bebas atau perangkat lunak tak bebas. Sejak akhir tahun 1990-an, beberapa alternatif istilah untuk perangkat lunak bebas digulirkan seperti "perangkat lunak sumber terbuka" (open-source software), "software libre", "FLOSS", dan "FOSS".
Saat ini, umumnya perangkat lunak bebas tersedia secara gratis dan dibangun/dikembangkan oleh suatu paguyuban terbuka. Anggota-anggota paguyuban tersebut umumnya bersifat sukarela tetapi dapat juga merupakan karyawan suatu perusahaan yang memang dibayar untuk membantu pengembangan perangkat lunak tersebut.

MACAM MACAM PERANGKAT INPUT
Perangkat input berfungsi sebagai media yang menjadi antarmuka antara sistem komputer dan lingkungan luar sehingga sistem komputer dapat mengerti instruksi dari manusia. Saat ini sudah sangat beragam bentuk dan jenis dari perangkat input/output terutama dengan perkembangan sistem artificial intelligence dimana komputer dan manusia dapat berkomunikasi secara lebih interaktif.
• Keyboard

Keyboard merupakan papan kunci yang terdiri tombol dari huruf dari A-Z, angkat dari 0-9, karakter khusus seperti @, %, *, !, ?, dan beberapa tombol fungsi antara lain F1-F12, tombol windows, dll. Tombol-tombol ini digunakan untuk memasukkan perintah ke sistem komputer. Bentuk keyboard pada awalnya meniru dari bentuk tombol mesin ketik, sehingga sususan huruf dari keyboard saat ini sama persis dengan mesin ketik.
Cara kerja dari sebuah keyboard saat ini adalah jika ditekan sebuah tombol, maka suatu interrupt dari mesin aka timbul dan keyboard interrupt handler (sebagian kecil perangkat lunak yang merupakan bagian dari sistem pengoperasian) akan dimulai. Interrupt handler akan membaca register perangkat keras di dalam pengontrol keyboard untuk mendapatkan karakter yang baru saja ditekan. Ketika tombol dilepaskan, interrupt kedua akan ditimbulkan.
• Mouse

Mouse merupakan peralatan input yang berfungsi untuk menentukan posisi pointer pada layar komputer. Pada awalnya, mouse menggunakan sebuah bola kecil yang dapat digerakkan dengan bebas. Pergerakan dari monitor di layar tergantung dari pergerakan bola tersebut. Namun saat ini sudah banyak beredar mouse yang menggunakan sistem optik sebagai acuan gerakannya. Mouse ini tidak memiliki roda maupun bola. Dengan sistem ini, pergerakan mouse menjadi lebih akurat dan lebih halus.
Prinsip kerja mouse didasarkan pada dua gerakan, yaitu vertikal dan horisontal. Jika bola digerakkan secara vertikal, maka akan dihasilkan gerakan vertikal, jika bola digerakkan secara horisontal akan dihasilkan gerakan horisontal, dan jika digerakkan dua-duanya, maka akan membentuk gerakan diagonal.
Saat ini terdapat beberapa macam jenis mouse. Pada dasarnya mouse mempunyai tiga tombol. Namun terdapat juga mouse yang memiliki dua tombol, sebagai ganti tombol satunya kedua tombol tersebut harus ditekan secara bersamaan. Saat ini juga beredar jenis mouse yang mempunyai tombol scroll. Hal ini untuk memudahkan menggulung atau berpindah tampilan jika dokumennya cukup panjang.
• Touch Pad

Touch pad adalah perangkat yang fungsinya sama dengan mouse. Hanya saja gerakan pointer pada touchpad tergantung dari gerakan jari yang disentuhkan pada alat tersebut. Biasanya touch pad digunakan pada komputer mobile, yaitu laptop atau notebook. Touch pad sudah terintegrasi pada komputer jenis itu sehingga dapat menghemat tempat.
• Touch Screen

Touch Screen merupakan jenis perangkat input yang sangat populer saat ini. Perangkat ini berupa monitor yang dapat menerima input dari pengguna dengan cara ditekan pada sisi monitornya. Hal ini sangat memudahkan pengguna untuk mengoperasikan sistem operasi GUI sehingga dapat lebih interaktif. Monitor jenis ini memiliki dua peranan, yaitu sebagai input dan output.
• Pen Input

Pen input merupakan jenis perangkat input yang berfungsi sebagai pengganti pena untuk menulis maupun menggambar. Hal ini untuk memudahkan pekerjaan para desainer grafik agar lebih mudah untuk menggambar di komputer daripada menggunakan mouse. Biasanya terdapat alas sebagai media untuk menulis atau menggambar.
• Perangkat Entri Data
Perangkat ini berfungsi untuk melakukan proses entri data dari berbagai bentuk informasi untuk dapat disimpan sebagai data di komputer. Sebagian besar bentuk perangkat ini adalah berupa mesin pemindai (scanner) dan mesin capture. Beberapa jenis mesin ini adalah:
o Image scanner

yaitu alat untuk memindai sebuah objek gambar untuk disalin ke dalam bentuk file dengan format gambar agar dapat disimpan ke dalam komputer.
o Barcode scanner

yaitu alat untuk memindai kode barcode yang biasanya terdapat pada setiap produk, sebagai identitas bagi produk tersebut. Barcode merupakan sebuah bentuk pengkodean dari deretan angka ke dalam bentuk gambar. Barcode scanner digunakan untuk menyalin gambar barcode ke dalam bentuk pengkodean yang asli.
o Finger scanner

yaitu alat yang digunakan untuk memindai sidik jari seseorang untuk disalin menjadi informasi yang dapat disimpan ke dalam komputer. Setiap sidik jari manusia bersifat unik atau berbeda satu sama lain. Bentuk sidik jari dikodekan ke sebuah bentuk informasi yang dapat disimpan.
o Mikrofon

merupakan alat untuk mengubah gelombang suara menjadi gelombang listrik analog. Dari sinyal analog ini kemudian diubah ke bentuk sinyal digital oleh sebuah alat yang dinamakan sound card. Dari data digital ini komputer bisa mengenali suara yang dimasukkan ke dalam mikrofon sehingga bisa diproses oleh sistem komputer.
o Kamera Digital

merupakan alat untuk menangkap bentuk gambar atau pemandangan untuk disalin ke dalam bentuk format gambar komputer. Kelebihan karema digital adalah tidak memerlukan proses pemindaian untuk dapat menangkap gambar.
o WebCam dan HandyCam,

merupakan alat untuk menangkap objek gambar atau pemandangan secara real-time untuk disalin ke format video di dalam komputer. Format yang dihasilkan adalah berupa gambar bergerak. WebCam memiliki resolusi lebih rendah daripada HandyCam.
o Sensor

merupakan alat untuk menangkap fenomena alam untuk diterjemahkan ke dalam sistem komputer. Sensor dapat menangkap aksi seperti getaran, cahaya, warna, kelembapan udara, tekanan udara, suhu, dan lain-lain tergantung daripada jenis sensor.
MACAM MACAM PERANGKAT OUTPUT
Perangkat output berfungsi sebagai media yang menjadi antarmuka antara sistem komputer dan lingkungan luar sehingga sistem komputer dapat menyajikan informasi yang dapat dimengerti oleh manusia. Jenis perangkat output sangat beragam bergantung dari kebutuhannya.
• Display Screen

Display Screen merupakan perangkat untuk menampilkan gambar yang sedang disajikan oleh sistem komputer. Gambar yang ditampilkan adalah hasil pemrosesan data baik dari hasil input maupun proses sistem komputer. Display screen pada sistem komputer dipasang melalui port yang ada pada video adapter (biasanya disebut video card atau VGA card). Video adapter berfungsi untuk merubah kode digital grafik dari komputer menjadi sinyal yang dapat dimengerti oleh perangkat display screen. Kualitas dari display screen dipengaruhi oleh hal berikut:
o Resolusi, yaitu ukuran detail dari gambar yang dihasilkan. Gambar yang disajikan pada monitor tersusun atas titik yang memiliki warna sendiri-sendiri. Semakin banyak jumlah titik yang membentuk gambar monitor, semakin tinggi pula resolusinya. Contoh resolusi monitor adalah 800 x 600, yang berarti monitor tersebut memilik panjang 800 titik dan lebar 600 titik.
o Refresh Rate, yaitu ukuran frekuensi dari banyak pergantian frame gambar tiap detik. Setiap monitor menyajikan gambar bergerak yang sebenarnya merupakan rangkaian dari beberapa gambar statis. Setiap gambar yang menyusun rangkaian tersebut dinamakan frame. Jika sebuah monitor memiliki refresh rate 60 Hz, berarti monitor tersebut mengalami perubahan frame sebanyak 60 dalam 1 detik. Semakin tinggi refresh rate, semakin halus pula gambar bergerak yang dihasilkan.
o Color Depth, yaitu ukuran jumlah warna yang didukung oleh sebuah display screen. Color depth diukur dalam ukuran bit yang merupakan jumlah kombinasi biner dari warna. Jika sebuah monitor memiliki kedalaman warna 16 bit, maka jumlah warna yang dapat dihasilkan adalah 216 warna atau 65.536 warna. Monitor saat ini bisa mendukung warna sampai ukuran 32 bit atau sama dengan 4.294.967.296 warna.
Beberapa jenis dari display screen adalah:
o Monitor, menyajikan gambar pada layar kaca. Jenis monitor adalah CRT, LCD, dan Plasma.

o Proyektor Digital, menyajikan gambar dalam bentuk sinar yang dipancarkan ke sebuah layar penerima. Cara kerjanya seperti proyektor film yang butuh layar untuk menangkap gambar. Biasanya orang menyebut Digital Proyektor dengan nama Infocus atau LCD Display.

o Flat Panel, menyajikan gambar ke sebuah panel yang cukup besar. Sebuah flat panel bisa mencapai ukuran sebuah layar bioskop.

o Hardcopy Devic

Hardcopy device merupakan alat untuk menghasilkan hasil keluaran berupa hardcopy atau cetakan. Hardcopy device terdiri atas printer dan plotter, dimana printer digunakan untuk mencetak dengan ukuran standar sedangkan plotter digunakan untuk mencetak pada ukuran kertas yang sangat besar.
Printer memiliki ukuran untuk kualitas cetakan, yaitu DPI (Dot Per Inchi). DPI adalah jumlah titik yang dibuat tiap satu inci. Semakin besar ukuran DPI, semakin banyak pula jumlah titik yang dibuat sehingga ukuran titik menjadi semakin kecil dan kualitas cetakan menjadi semakin halus.
Printer hanya dapat mencetak pada kertas ukuran kecil sampai sedang (biasanya sampai ukuran A3), sedangkan plotter bisa mencetak pada kertas dengan ukuran yang sangat besar. Beberapa jenis printer adalah:
o Dot Matrix, memiliki nilai DPI yang sangat rendah sehingga memiliki hasil cetakan yang kurang bagus. Printer ini menggunakan pita tinta seperti pada mesin ketik untuk dapat menghasilkan cetakan di kertas.
o Laser, merupakan printer yang menggunakan teknologi laser untuk mencetak. Printer ini memiliki kualitas cetakan yang sangat bagus namun harganya cukup mahal. Printer laser juga bisa untuk mencetak di media plastik atau mika yang biasanya digunakan untuk presentasi.
o Tinta, merupakan printer yang menggunakan tinta cair untuk mencetak di kertas. Hasil cetakan printer ini cukup baik tergantung dari tipe printer. Biasanya hasil cetakan dari printer ini harus menunggu kering dulu sebelum digunakan karena menggunakan tinta cair.
o Thermal, merupakan printer yang menggunakan sistem pemanasan untuk menghasilkan cetakan pada medianya. Biasanya jenis printer ini digunakan untuk mencetak kartu sejenis kartu dan untuk mencetak sampul CD.
• Speaker
Speaker merupakan perangkat yang dapat menghasilkan gelombang suara. Speaker pada sistem komputer dipasang melalui port sound adapter.
Jadi komputer harus memiliki sound adapter (biasanya disebut sebagai sound card) supaya bisa menghasilkan suara.
Sound adapter bertugas mengubah sinyal digital dari komputer menjadi sinyal analog yang selanjutnya diubah oleh speker menjadi gelombang suara.
Saat ini sudah terdapat berbagai macam jenis speaker, mulai dari yang konvensional sampai yang memiliki subwoofer agar menghasilkan kualitas suara yang baik.

c. Perangkat jaringan
Pada perkembangan selanjutnya, sistem komputer telah memiliki banyak fungsi sehingga perkembangan perangkat keras juga semakin canggih. Sebagai contoh dengan adanya jaringan komputer dan internet saat ini. Teknologi jaringan membutuhkan perangkat keras khusus untuk dapat berkomunikasi dengan komputer lain. Selain itu perangkat penyedia suplai listrik juga menjadi bagian dari komputer yang berkembang semakin canggih.
Saat ini jaringan komputer telah menjadi teknologi yang semakin banyak digunakan secara luas oleh seluruh pengguna komputer. Agar antar satu komputer dengan komputer lain dapat saling berkomunikasi, maka diperlukan peralatan yang dapat mendukungnya. Pada perkembangannya, peralatan jaringan komputer dapat dikatakan semakin canggih, dimana dapat mendukung komunikasi data dalam jumlah besar dengan waktu yang singkat serta semakin pintar untuk dapat mengelola jaringan.

• Network Adapter

Network adapter merupakan alat untuk menghubungkan komputer dengan jaringan menggunakan kabel. Kecepatan koneksi pada sebuah komputer tergantung dari alat ini yang terdiri atas banyak jenis tergantung protokol yang digunakan. Jenis protokolnya antara lain adalah ethernet dan token ring. Pada protokol ethernet atau CSMA/CD memiliki beberapa kecepatan antara lain 100 Base T, 10 Base C, dan 1000 Base T.
Setiap network adapter mewakili sebuah alamat jaringan, sehingga jika dalam sebuah komputer terdapat 2 buah network adapter, maka komputer tersebut bisa memiliki 2 alamat yang dikenali oleh komputer lain. Biasanya orang menyebut koneksi ke jaringan ini sebagai interface. Setiap interface bisa berupa network adapter, node, dan wireless adapter.
• Wireless Adapter

Wireless adapter memiliki fungsi yang sama dengan network adapter, hanya saja alat ini tidak memerlukan kabel untuk terhubung ke jaringan. Wireless adapter memakai koneksi wireless dengan gelombang radio. Biasanya orang menyebutnya sebagai WLAN (Wireless Local Area Network). Agar dapat terkoneksi ke jaringan, komputer harus berada pada daerah yang tercakup oleh sinyal yang dipancarkan oleh Wireless Access Point.
• Modem

Modem merupakan singkatan dari modulator demodulator. Dari singkatannya dapat diartikan sebagai alat yang mengubah sinyal digital menjadi analog dan sebaliknya. Modem biasanya digunakan untuk melakukan koneksi ke jaringan melalui media analog, seperti jaringan telepon. Saat ini modem dapat digunakan untuk melakukan koneksi ke internet. Sudah banyak sekali provider internet yang menyediakan fasilitas ini seperti Telkom dan CBN.
• Switch/Hub

Switch dan hub merupakan alat yang digunakan untuk menghubungkan setiap komputer menjadi sebuah jaringan dengan topologi star/bintang dengan kabel. Setiap komputer yang memiliki network adapter dapat dihubungkan ke switch atau hub agar dapat saling berkomunikasi.
Perbedaan antara switch dan hub adalah cara kerjanya. Switch dapat membentuk saluran sendiri-sendiri untuk setiap koneksi sedangkan hub semua koneksi berada dalam sebuah saluran. Oleh karena itu jaringan yang menggunakan switch dapat lebih cepat dibandingkan dengan menggunakan hub.
• Router

Router merupakan alat untuk menghubungkan dua atau lebih jaringan komputer yang memiliki protokol yang sama. Dari namanya, router dapat dikatakan sebagai alat untuk merutekan data antar dua jaringan yang memiliki protokol sama. Peran router akan lebih signifikan jika jumlah jaringan yang terhubung cukup banyak karena selain fungsi di atas, router dapat memiliki kecerdasan untuk memilih rute yang dipakai dalam pengiriman data antar jaringan komputer. Pemilihan rute didasarkan pada optimasi waktu dan bandwidth agar data yang ditransmisikan dapat sampai lebih cepat dan selamat.
• Bridge

Bridge merupakan alat yang sejenis dengan router, tapi dapat digunakan untuk menghubungkan antara dua jaringan yang menggunakan protokol berbeda. Sebagai contoh, bridge dapat menghubungkan jaringan yang menggunakan ethernet dan menggunakan token ring.
• Wireless Access Point

Wireless access point memiliki fungsi yang hampir sama dengan switch atau hub, hanya saja digunakan pada jaringan wireless. Access Point bekerja dengan memancarkan sinyal sampai radius tertentu agar setiap komputer yang memilik wireless adapter dapat terhubung ke jaringan. Juga ada jenis router untuk koneksi wireless.
• Repeater

Merupakan alat untuk menguatkan sinyal pada transmisi data di jaringan komputer. Biasanya sebuah kabel memiliki panjang maksimal untuk dapat mentransmisikan data dengan baik. Jika harus menempuh jarak yang sangat jauh dibutuhkan repeater agar data yang ditransmisikan dapat sampai di tujuan. Sebagai contoh, jenis kabel twisted pair memiliki panjang maksimal 100 meter, jika harus mentransmisikan data pada jarak 1 km memerlukan beberapa buah repeater.
• Network Server

Network server merupakan sebuah komputer yang berfungsi untuk melayani aplikasi untuk komputer lain. Network server dapat berupa sebuah file server, database server, dan application server. Biasanya komputer yang digunakan sebagai server adalah komputer yang memiliki kemampuan lebih tinggi dari komputer biasa karena tugasnya yang cukup berat.
• Fluke

Fluke merupakan alat untuk mengukur atau mengecek kondisi jaringan komputer. Terdapat berbagai jenis fluke yang masing-masing mempunyai fungsi tersendiri. Contoh dari fluke adalah alat untuk mengecek kondisi kabel supaya dapat diketahui jika ada salah satu bagian yang putus di tengah. Posisi putusnya kabel juga dapat diketahui oleh alah ini. Terdapat juga jenis fluke untuk mengecek kondisi kabel fiber optik dan fluke untuk mengetahui performa dari jaringan komputer.
• Kabel
Kabel adalah alat untuk menghubungkan setiap peralatan yang ada pada jaringan komputer kecuali peralatan yang wireless. Setiap peralatan jaringan memiliki karakteristik yang berbeda tergantung dari protokol yang digunakan, sehingga banyak memunculkan standar dari bentuk kabel. Terdapat beberapa macam kabel yang digunakan pada jaringan komputer, yaitu:
o Kabel koaksial

yaitu kabel yang terdiri atas dua saluran. Bentuk kabel koaksial mirip dengan kabel untuk antena televisi. Kabel ini digunakan untuk koneksi jaringan dengan topologi bus.
o Kabel twisted pair

yaitu kabel yang terdiri atas delapan saluran. Kabel ini digunakan untuk koneksi jaringan dengan topologi bintang atau star. Panjang maksimum yang bisa dipakai adalah 100 meter, jika lebih dari itu diperlukan repeater. Biasanya orang menyebut konektor dari kabel ini dengan nama RJ-45.
o Fiber optic

yaitu kabel yang tersusun atas serat optik. Sinyal yang melalui kabel ini adalah berupa gelombang cahaya, bukan gelombang listrik seperti kabel lainnya. Kabel ini mempunyai kecepatan tinggi dan mampu menghantarkan pada jarak yang cukup jauh karena yang dihantarkan adalah gelombang cahaya.
o Kabel telepon

yaitu kabel yang terdiri atas empat saluran. Kabel ini biasanya digunakan untuk komunikasi telepon. Sebuah modem dial-up memiliki konektor untuk kabel ini agar dapat dihubungkan ke saluran telepon. Biasanya orang menyebut konektor dari kabel ini dengan nama RJ-11.
o Kabel serial

yaitu kabel yang terdiri atas sembilan saluran. Biasanya kabel ini digunakan untuk koneksi dari keyboard dan mouse ke komputer. Banyak sekali peralatan elektronik yang menggunakan port serial untuk berkomunikasi dengan peralatan lain. Protokol yang biasanya digunakan untuk komunikasi serial adalah RS232. Biasanya orang menyebut konektor kabel ini dengan nama DB-9.
o Kabel parallel

yaitu kabel yang terdiri atas dua puluh lima saluran. Kabel ini biasanya digunakan untuk koneksi dari printer ke sebuah komputer. Biasanya game pad juga menggunakan port paralel untuk koneksi ke komputer. Panjang maksimum dari kabel ini adalah antara 1 sampai 1,5 meter. Biasanya orang menyebut konektor kabel ini dengan nama DB-25
d. Perangkat Power
Sejak generasi pertama, komputer telah menggunakan sistem elektronik untuk cara kerjanya dimana energi listrik merupakan energi utama yang digunakan. Oleh karena itu dibutuhkan peralatan untuk menghubungkan antara komputer dengan jaringan listrik.
• Power Supply

Pada dasarnya setiap peralatan elektronik membutuhkan enekgi listrik dengan nilai tegangan yang rendah dan arus DC (Direct Current). Karena hampir semua perusahaan listrik menyediakan listrik dalam bentuk tegangan tinggi dan arus AC (Alternating Current), maka dibutuhkan sebuah alat yang merubah itu menjadi aliran listrik sesuai dengan kebutuhan komputer. Power supply adalah alat yang dapat mengubah aliran listrik menjadi aliran yang sesuai dengan kebutuhan komputer. Kemampuan power supply untuk mensuplai listrik diukur dengan satuan daya listrik (watt), contoh adalah power supply dengan daya 400 watt.
• Stavolt atau Voltage Regulator

Stavolt atau Voltage Regulator merupakan alat untuk mengatur nilai tegangan listrik ke sebuah nilai tertentu. Biasanya tegangan listrik yang disuplai perusahaan listrik sering mengalami perubahan tegangan, kadang terlalu rendah dan kadang terlalu tinggi karena adanya gangguan dalam transmisi. Gangguan tegangan tersebut dapat merusak alat yang tentu saja membutuhkan nilai tegangan listrik yang stabil. Oleh karena itu diperlukan alat ini untuk menstabilkan nilai tegangan listrik.
• UPS (Uninterrupted Power Supply)

UPS merupakan power supply yang memiliki kemampuan untuk menyimpan energi listrik dalam jumlah tertentu. Pada prinsipnya, jika listrik tiba-tiba padam akan mudah untuk merusak komponen dari komputer. Sebagai contoh sebuah harddisk yang sedang bekerja dengan putaran tinggi, tiba-tiba berhenti suplai listriknya akan sangat mengganggu untuk proses pemulihan ke kondisi semula. Untuk itu dibutuhkan UPS, dimana jika listrik tiba-tiba padam, sistem komputer akan disuplai oleh listrik yang telah disimpan UPS. Saat ini juga telah beredar Smart UPS, yaitu UPS yang lebih pintar. Smart UPS dapat mematikan dan menghidupkan komputer secara otomatis dan terjadwal.
MACAM MACAM PROCESSOR
Kedua merk processor tersebut merupakan merk yang paling banyak dicari dan digunakan oleh kebanyakan orang dan keduanya memiliki beberapa fitur yang cukup berbeda. Di antaranya adalah Intel menggunakan long instruction pipelines yang didesain menghasilkan skala kecepatan clock supertinggi. Sedangkan pada AMD sendiri tidak menggunakan fitur tersebut, melainkan lebih menggunakan fitur shorter Instruction pipelines yang menghasilkan efisiensi yang baik namun sayangnya tidak bisa menghasilkan skala kecepatan yang tinggi. Untuk kalangan umum pastinya kedua hal tersebut akan membingungkan, karenanya kami akan mencoba menjelaskan bagaimana kelebihan dan kerurangan dari masing-masing merk processor.

1. Intel Pentium 4 Family


Biasa disebut Pentium 4. Meski dalam satu keluarga namun memiliki kecepatan yang berbeda-beda. Demikian juga dengan socket yang digunakan. Versi terbanyak yang digunakan Pentium 4 adalah menggunakan socket 478. Pada versi terbarunya telah menggunakan socket LGA 775 untuk mendukung beberapa motherboard keluaran terbaru.

2. Prescott


Merupakan generasi pertama Pentium 4 yang memiliki 1 MB L2 cache dan memiliki kecepatan 3,8 GHz. Namun, pada processor ini memiliki kendala yang cukup signifikan, yaitu memiliki panas yang cukup tinggi. Dan processor ini belum mendukung operating system dan aplikasi 64-bit. Segi baiknya, processor ini memang memiliki kinerja yang baik untuk menunjang kebutuhan multiaplikasi dan gaming.

3. Extreme Edition Pentium



Merupakan jajaran processor premium dari Intel, untuk CPU desktop PC. Yang terbaru juga telah menggunakan socket LGA 775 dan berjalan di atas 3,46 GHz dengan fitur 512 K L2 cache ditambah dengan 2 MB L3 cache dan FSB sebesar 1066 MHz. Ia juga tersedia dalam versi 64-bit CPU.
4. Pentium D


Keluarga CPU Intel yang memiliki arsitektur dual-core. Beberapa seri yang sudah tersedia, di antaranya Pentium D 840, 830, dan 820 yang memiliki clock dari 2,80 sampai 3,20 GHz dengan FSB 800 MHz. Dengan L2 cache yang dimilikinya 2x1 Mb. Dengan dual-core, diharapkan mampu melakukan pemrosesan data dengan waktu yang lebih singkat. Selain itu, processor ini telah dilengkapi dengan EMT64T (Extended Memory 64 Technology) yang mendukung operating system dan aplikasi 64-bit.

Jika Anda tertarik untuk membeli processor keluaran Intel, agaknya jajaran processor Pentium D adalah pilihan ideal. Dual-core dan dukungan 64-bit menjadi alasan utama. Karena ke depannya semua aplikasi dan operating system akan menggunakan 64-bit. Di samping harga jual processor ini terbilang cukup relevan, yaitu sekitar US$279.
5. AMD Athlon 64 Family


AMD memiliki tiga jenis processor dengan performa yang berbeda. Yaitu, Athlon 64 dan FX Series, juga Sempron. Meski dari ketiganya memiliki basic teknologi yang sama, namun beberapa fitur dan harga yang ditawarkan memiliki perbedaan yang cukup berarti.
Pada dasarnya, processor AMD Athlon 64 mampu menghasilkan kecepatan yang tinggi terhadap aplikasi yang menggunakan banyak floating point dan kebutuhan bandwidth yang besar. Mengapa demikian?

6. AMD Athlon 64


Pada processor ini memiliki dua versi. Versi yang pertama yang masih menggunakan memory single-channel. Yaitu Athlon 64 yang menggunakan socket 75. Sedangkan yang kedua menggunakan socket 939 dan sudah memiliki teknologi memory dual-channel. Untuk harga, sudah barang tentu Athlon 64 754 memiliki harga yang lebih murah dibanding 939. Keduanya memiliki L2 cache sebesar 1 MB, sedangkan untuk kecepatan yang ditawarkan beragam, mulai dari 2,4 GHz sampai dengan 3,0 GHz.

7. Athlon 64 FX

Processor ini merupakan processor yang paling tepat untuk menunjang para gamer, karena selain dilengkapi dengan L2 cache sebesar 1 MB dengan kecepatan terendah yang ditawarkan sebesar 2,6 GHz. Pada processor keluaran AMD baik Athlon 64 ataupun Athlon 64 FX sudah mendukung aplikasi dan operating system 64-bit. Dan kini AMD telah mengeluarkan processor dualcore, yaitu AMD Athlon 64 X2, masih menggunakan socket 939
MACAM-MACAM MEMORY
Kata "memory" digunakan untuk mendiskripsikan suatu sirkuit elektronik yang mampu untuk menampung data dan juga instruksi program. Memory dapat dibayangkan sebagai suatu ruang kerja bagi komputer dan memory juga menentukan terhadap ukuran dan jumlah program yang bisa dijalankan dalam waktu yang sama, sekaligus juga jumlah data yang bisa diproses.Fungsi memory adalah untuk menyimpan data dan program.
Berdasarkan kecepatannya memory ada 4 macam yaitu :
1. Register
2. Cache memory
3. Main memory
4. Sekunder memory
Sehingga dapat dibuat hirarki memory seperti table berikut:
TERCEPAT
TERLAMBAT REGISTER
CACHE MEMORY
MAIN MEMORY
SEKUNDER MEMORY
Selain menyatakan hubungan kecepatan , hirarki tersebut juga menyatakan hubungan-hubungan lain , yaitu:
- Hubunan harga : semakin kebawah semakin murah (harga dihitung berdasarkan rupiah per bit data tersimpan ).
- Hubungan kapasitas : semakin keatas umumnya kapasitasnya semakin terbatas.
- Hubungan frekuensi pengaksesan : semakin keatas semakin tinggi frekuensi pengaksesan.
Sertiap kali pemroses melakukan eksekusi , pemroses harus membaca instruksi dari memory utama. Agar intruksi dapat dilakukan secara cepat maka harus diusahakan instruksi tersedia di memory pada hirarki berkecepatan akses lebih tinggi.Kecepatan ekseekusi ini akan meningkatkan kinerja system. Untuk itu terdapat konsep memory dua level yaitu ditampung dulu sementara di memory pada hirarki lebih tinggi.
1. REGISTER MEMORY

Merupakan jenis memory dimana kecepatan acces yang paling cepat, memory ini terdapat pada Cpu/processor.
Contoh :
Register data, register alamat , stack pointer register, Memory Address Register, I/O Address Register, dll.
2. CACHE MEMORY

Memory berkapasitas terbatas,berkecepatan tinggi yang lebih mahal dari pada memory utama.Cache memory ini ada diantara memory utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu pada memory utama agar kinerja dapat ditingkatkan.
Cache memory ini ada 2 macam yaitu :
1. Cache memory yang terdapat pada internal Processor, cache memory jenis ini kecepatan accesnya sangat tinggi ,dan harganya sangat mahal.Hal ini bias terlihat pada processor yang berharga mahal seperti P4,P3,AMD-ATHLON dllsemakin tinggi kapasitas L1,L2 Cache memory maka semakin mahal dan semakin cepat processor.
2. Chace memory yang terdapat diluar processor , yaitu berada pada Mother board , memory jenis ini kecepatan aksesnya sangat tinggi meskipun tidak secepat cache memory jenis pertama (yang ada pada internal prosesor). Semakin besar kapasitasnya maka semakin mahal dan cepat.hal ini dapat kita lihat pada motherboard dengan beraneka ragam kapasitas chace memory yaitu 256 kb,512 kb,1 Mb, 2 Mb dll.
3. MEMORI UTAMA
Memori ini berfungsi untuk menyimpan data dan program.
Jenis memori utama yaitu:
-Random Access Memory (RAM)

Ketika orang berpikir mengenai memory komputer, maka seringkali random access memory (RAM) lah yang mereka maksudkan. RAM terdiri dari sekumpulan chip. Chip-chip ini mampu untuk menampung:
data untuk diproses;
instruksi atau program, untuk memproses data;
data yang telah diproses dan menunggu untuk dikirim ke output device, secondary storage atau juga communication device;
instruksi sistem operasi yang mengontrol fungsi-fungsi dasar dari sistem komputer
Ada beberapa jenis RAM yang ada dipasaran saat ini yaitu SRAM , EDORAM , SDRAM , DDRAM, RDRAM , VGRAM dll.
Kapasitas penyimpanan dari RAM sangat beragam dalam berbagai komputer. Kapasitas merupakan faktor yang penting, karena dia menentukan seberapa banyak data yang bisa diproses dalam waktu yang sama dan seberapa besar dan kompleks progam yang bisa menempatinya. Sistem operasi di dalam komputer bertugas untuk mengatur penggunaan RAM sehingga program bisa berjalan dengan baik. Untuk mengerti kapasitas dari RAM, maka beberapa terminologi berikut ini sering digunakan.
Bit, yaitu suatu sistem penomoran biner yang mewakili unit terkecil dari data dalam suatu sistem komputer. Suatu bit hanya terdiri dari dua buah angka yaitu 1 dan 0. Di dalam komputer, sebuah 0 berarti suatu sinyal elektronik atau magnetis adalah tiada atau absen, sementara 1 berarti sebaliknya.
Byte, yaitu suatu grup dari delapan bit. Sebuah byte mewakili satu karakter, satu digit atau satu nilai. Kapasitas dari memory komputer, atau RAM, dinyatakan di dalam bytes atau sekumpulan dari bytes.
Data, instruksi dan program yang disimpan di dalam RAM sebenarnya disimpan dalam bentuk kumpulan bits yang merepresentasikan data, instruksi dan program tadi. Bit-bit ini disimpan ke dalam suatu bagian elektronik yang mikroskopis yang disebut dengan kapasitor.
-Read Only Memory

Read Only Memory (ROM) adalah suatu himpunan dari chip yang berisi bagian dari sistem operasi yang mana dibutuhkan pada saat komputer dinyalakan. ROM juga dikenal sebagai suatu firmware. ROM tidak bisa ditulisi atau diubah isinya oleh pengguna. ROM tergolong dalam media penyimpanan yang sifatnya non volatile. Chip ROM datang dari pabriknya dengan program atau instruksi yang sudah disimpan di dalamnya. Satu-satunya cara untuk mengganti kontennya adalah dengan mencopotnya dari komputer dan menggantinya dengan ROM yang lain. Chip ROM dapat berisi program yang sering digunakan, seperti rutin-rutin komputasi untuk menghitung akar suatu bilangan dan lain sebagainya.
Penggunaan dari ROM ini contohnya adalah sebagai media penyimpanan dari BIOS (Basic Input-Output System) yang diuat oleh pabriknya. BIOS merupakan bagian yang sangat kritis dari suatu sistem operasi, yang mana fungsinya memberi tahu komputer bagaimana caranya mengakses disk drive. Ketika komputer dinyalakan, RAM masih kosong dan instruksi yang ada pada ROM BIOS lah yang digunakan oleh CPU untuk mencari disk drive yang berisi file-file utama dalam sistem operasi. Komputer lalu memindahkan file-file tersebut ke dalam RAM dan kemudian menjalankannya.
Ada 4macam variasi dari ROM, yaitu:
- PROM, atau programmable read only memory. Yaitu rom yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi deprogram.Chip PROM adalah suatu chip yang kosong yang mana program dapat dituliskan ke dalamnya dengan menggunakan suatu peralatan khusus. Chip PROM dapat diprogram sekali dan biasanya digunakan oleh pabrik sebagai control device di dalam produk-produknya.
- RPROM,atau Re progamable ROM.Merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulang kali sesuai dengan yang diinginkan.
- EPROM, atau erasable programmable read only memory. EPROM mirip dengan PROM, tetapi program dapat dihapus dan program yang baru bisa dituliskan ke dalamnya dengan menggunakan suatu peralatan khusus yang menggunakan sinar ultraviolet. EPROM digunakan untuk controlling device, seperti robot dan sebagainya.
- EEPROM, atau electronic erasable programmable read only memory. Chip EEPROM dapat diprogram ulang dengan menggunakan suatu electric impulses yang khusus. Mereka tidak perlu dicabut atau diubah.
5. MEMORI SEKUNDER

Memori sekunder merupakan memori tambahan yang berfungsi untuk menyimpan data atau program .contohnya : hardisk,floppy disk,disket, flashdish,dll.