Perangkat keras membutuhkan instruksi pengguna agar dapat berfungsi. Serangkaian instruksi yang mencapai satu hasil disebut program atau prosedur. Banyak program yang berfungsi bersama untuk melakukan tugas tertentu membentuk perangkat lunak (software).
Misalnya, perangkat lunak pengolah kata memungkinkan pengguna untuk membuat, mengedit, dan menyimpan dokumen. Browser web memungkinkan pengguna untuk melihat dan berbagi halaman web dan file multimedia. Ada tiga kategori utama perangkat lunak, yaitu :
- Perangkat Lunak Sistem
- Perangkat Lunak Aplikasi
- Perangkat Lunak Utilitas
Secara grafis, kategori perangkat lunak dapat disajikan seperti gambar berikut ini.
1. Perangkat Lunak Sistem
Perangkat lunak yang diperlukan untuk menjalankan bagian perangkat keras komputer dan perangkat lunak aplikasi lainnya disebut perangkat lunak sistem. Perangkat lunak sistem bertindak sebagai antarmuka antara perangkat keras dan aplikasi pengguna. Diperlukan antarmuka karena perangkat atau mesin perangkat keras dan manusia berbicara dalam berbagai bahasa.
Mesin hanya memahami bahasa biner yaitu 0 (tidak ada sinyal listrik) dan 1 (ada sinyal listrik) sementara manusia berbicara dalam bahasa Indonesia, Inggris, Jawa, Jerman, Sunda, Bengkulu, dan banyak bahasa lainnya. Bahasa Inggris adalah bahasa yang paling dominan berinteraksi dengan komputer. Perangkat lunak diperlukan untuk mengubah semua instruksi manusia menjadi instruksi yang dapat dimengerti mesin. Dan inilah tepatnya yang dilakukan oleh perangkat lunak sistem.
Berdasarkan fungsinya, perangkat lunak sistem terdiri dari tiga jenis yaitu:
- Sistem operasi (Operating System)
- Pengolah Bahasa (Language Processor)
- Driver Perangkat (Device Driver)
a. Sistem Operasi
Perangkat lunak sistem yang bertanggung jawab atas berfungsinya semua bagian perangkat keras dan interoperabilitasnya untuk melaksanakan tugas dengan sukses disebut sistem operasi/operating system (OS). Sistem operasi merupakan perangkat lunak pertama yang dimuat ke dalam memori komputer ketika komputer dihidupkan (booting). Sistem Operasi mengelola fungsi dasar komputer seperti menyimpan data dalam memori, mengambil file dari perangkat penyimpanan, menjadwalkan tugas berdasarkan prioritas, dan lain-lain.
b. Pengolah Bahasa
Fungsi penting dari perangkat lunak sistem adalah untuk mengubah semua instruksi pengguna menjadi bahasa yang dapat dimengerti mesin. Ketika berbicara tentang interaksi mesin dan manusia, maka bahasa terdiri dari tiga jenis, yaitu:
- Bahasa level mesin (Machine-level language)
- Bahasa ini tidak lain adalah string 0 dan 1 yang dapat dimengerti mesin. Ini sepenuhnya tergantung pada mesin.
- Bahasa tingkat rakitan (Assembly-level language)
Bahasa ini memperkenalkan lapisan abstraksi dengan mendefinisikan mnemonik. Mnemonik adalah bahasa seperti kata atau simbol yang digunakan untuk menunjukkan string 0 dan 1. Misalnya, kata “READ” dapat didefinisikan berarti bahwa komputer harus mengambil data dari memori. Instruksi lengkap juga akan memberi tahu alamat memori. Bahasa tingkat rakitan tergantung pada mesin.
- Bahasa tingkat tinggi (High-level language)
Bahasa ini menggunakan pernyataan seperti Bahasa Inggris dan sepenuhnya bebas dari mesin. Program yang ditulis menggunakan bahasa tingkat tinggi mudah dibuat, dibaca, dan dipahami.
Program yang ditulis dalam bahasa pemrograman tingkat tinggi seperti Python, Java, C ++, dan lain-lain disebut kode sumber (source code). Kumpulan instruksi dalam bentuk yang dapat dibaca mesin disebut kode objek atau kode mesin. Perangkat lunak sistem yang mengubah kode sumber ke kode objek disebut pengolah bahasa. Ada tiga jenis penerjemah bahasa, yaitu
- Assembler – mengubah program level rakitan menjadi program level mesin.
- Interpreter – mengubah program level tinggi menjadi program level mesin baris demi baris.
- Compiler – mengubah program level tinggi menjadi program level mesin sekaligus, buka baris demi baris.
c. Driver Perangkat
Perangkat lunak sistem yang mengontrol dan memantau fungsi perangkat tertentu pada komputer disebut driver perangkat. Setiap perangkat seperti printer, pemindai, mikrofon, speaker, dan lain-lain yang perlu dipasang secara eksternal ke sistem memiliki driver khusus yang terkait dengannya. Saat memasang perangkat baru, maka perlu menginstal drivernya sehingga OS tahu.
2. Perangkat Lunak Aplikasi
Perangkat lunak yang melakukan satu tugas khusus disebut perangkat lunak aplikasi. Perangkat lunak aplikasi sangat terspesialisasi dalam fungsi dan pendekatannya untuk menyelesaikan masalah. Sebagai contoh, perangkat lunak spreadsheet hanya dapat melakukan operasi pengolahan angka dan tidak ada yang lain. Perangkat lunak manajemen rumah sakit akan mengelola kegiatan rumah sakit dan tidak ada yang lain. Berikut adalah beberapa perangkat lunak aplikasi yang umum digunakan
- Pengolah kata (Word processor)
- Pengolah Angka Spreadsheet
- Pengolah Presentasi
- Manajemen basis data
- Pengolah Multimedia
3. Perangkat Lunak Utilitas
Perangkat lunak aplikasi yang membantu perangkat lunak sistem dalam melakukan pekerjaannya disebut perangkat lunak utilitas. Dengan demikian perangkat lunak utilitas sebenarnya merupakan persilangan antara perangkat lunak sistem dan perangkat lunak aplikasi. Contoh perangkat lunak utilitas meliputi sebagai berikut
- Perangkat lunak antivirus (Antivirus software)
- Kakas manajemen disk (Disk management tools)
- Kakas manajemen file (File management tools)
- Kakas kompresi (Compression tools)
- Kakas cadangan (Backup tools)