Perangkat lunak komputer (bahasa Inggris: computer software) adalah data pada sebuah sistem komputer yang disimpan secara digital, termasuk program komputer dan berbagai informasi yang dapat dibaca dan ditulis oleh komputer. Berbeda dari perangkat keras yang berwujud fisik, perangkat lunak tidak memiliki wujud secara fisik. Perangkat lunak berisi instruksi yang membuat perangkat keras dapat menjalankan tugas tertentu. Tanpa adanya perangkat lunak, perangkat keras komputer tidak bisa dioperasikan.
Definisi
Perangkat lunak adalah suatu program yang digunakan dalam komputer berupa instruksi-instruksi (perintah) yang dapat dimengerti oleh komputer. Perangkat lunak inilah yang mengoperasikan perangkat keras. Dengan adanya perangkat lunak, pengguna dapat meminta komputer untuk melakukan berbagai pekerjaan, seperti mengetik, mendengar musik, dan menonton video.
Dalam struktur sistem komputer, sistem operasi adalah perangkat lunak lapisan pertama yang diletakkan pada media penyimpan (hard disk). Perangkat lunak lainnya berada pada lapisan kedua. Batas antara perangkat keras dan perangkat lunak kadang tidak tegas. Firmware, misalnya, adalah perangkat lunak yang ditanam ke dalam perangkat keras.
Klasifikasi
Perangkat lunak umumnya dibagi berdasarkan fungsinya.
Sistem operasi. Sistem operasi adalah program yang bertindak sebagai perantara antara pengguna dengan perangkat keras komputer. Sistem operasi bertugas mengatur dan mengendalikan perangkat keras serta memberikan kemudahan bagi pengguna. Tanpa sistem operasi, pengguna hanya bisa menjalankan program booting. Contoh sistem operasi modern adalah Linux, Android, iOS, Mac OS X, dan Microsoft Windows.
Sistem operasi keluarga Windows dikembangkan oleh Microsoft Corporation, yang didirikan oleh Bill Gates dan Paul Allen pada 4 April 1975. Varian Windows meliputi MS-DOS, Windows 9x, Windows NT, Windows 7, Windows 8, dan Windows Server. Windows adalah sistem operasi yang paling banyak digunakan di Indonesia, dipilih karena dianggap mudah digunakan. Windows bersifat berbayar, dan harga lisensinya dianggap mahal oleh sebagian pengguna, sehingga penggunaan versi bajakan cukup marak.
Linux adalah sistem operasi yang bersifat open source. Pengembangannya dapat dilakukan secara bebas dan didistribusikan tanpa lisensi. Beberapa distribusi Linux yang banyak digunakan adalah Debian GNU/Linux, Ubuntu, Linux Mint, Red Hat Enterprise Linux, Fedora, dan Arch Linux.
Utilitas. Utilitas adalah perangkat lunak yang didesain untuk membantu proses analisis, konfigurasi, optimasi, dan pengelolaan komputer. Fungsinya antara lain untuk backup data, pemulihan sistem, kompresi data, dan penanganan virus.
Program aplikasi. Program aplikasi adalah subkelas perangkat lunak yang memanfaatkan kemampuan komputer langsung untuk melakukan tugas yang diinginkan pengguna. Beberapa program aplikasi digabung menjadi suatu paket yang disebut application suite, contohnya Microsoft Office dan OpenOffice.org.
Contoh program aplikasi yang umum diinstal setelah pemasangan sistem operasi antara lain: WinRAR untuk mengarsip dan mengompres file; Microsoft Office untuk pengolahan dokumen, spreadsheet, dan presentasi; browser web seperti Google Chrome, Mozilla Firefox, dan Opera; antivirus seperti Avast Free Antivirus; serta pembaca PDF seperti Foxit Reader.
Untuk keperluan multimedia, terdapat aplikasi pemutar media seperti Windows Media Player, Winamp, dan VLC Media Player. VLC Media Player dapat memutar berbagai format video maupun audio, termasuk DVD dan VCD, dan tersedia secara gratis untuk Windows, Linux, Mac OS, dan beberapa sistem operasi lainnya. Di sisi pengolahan grafis, GIMP (GNU Image Manipulation Program) adalah aplikasi open source untuk mengolah grafis bitmap, yang dapat digunakan untuk membuat logo, mengubah resolusi gambar, dan mengedit foto.
Peran sistem operasi dalam sistem komputer
Sistem operasi punya beberapa peran dalam mengelola sumber daya komputer. Sebagai kernel, sistem operasi adalah program yang berjalan terus-menerus selama komputer dinyalakan. Sebagai guardian, sistem operasi menyediakan kontrol akses yang melindungi file dan mengawasi proses pembacaan, penulisan, atau eksekusi data. Sebagai gatekeeper, sistem operasi mengendalikan siapa saja yang berhak masuk ke dalam sistem.
Sistem operasi juga berfungsi sebagai penjadwal (optimizer) yang mengatur penggunaan CPU, memori, dan perangkat I/O. Sebagai interface, sistem operasi menjembatani pengguna dengan perangkat keras sehingga pengguna tidak perlu berurusan dengan bahasa mesin atau perangkat level bawah.
Arsitektur perangkat lunak sistem operasi
Arsitektur perangkat lunak adalah struktur yang menjadi landasan untuk menentukan keberadaan komponen perangkat lunak dan cara mengelola komponen tersebut agar saling berinteraksi. Beberapa model arsitektur sistem operasi modern antara lain: sistem monolitik, sistem berlapis, sistem client/server, sistem virtual machine, dan sistem berorientasi objek.
Pada sistem monolitik, struktur sistem operasi bersifat sederhana dan dilengkapi dengan operasi pelayanan (system call). Model ini bekerja dengan mengambil parameter pada tempat yang telah ditentukan, seperti register atau stack, lalu mengeksekusi instruksi trap pada mode monitor.
Mesin virtual
Mesin virtual sistem adalah perangkat berupa platform sistem yang lengkap dan dapat menjalankan sebuah sistem operasi secara utuh. Mesin virtual proses, sebaliknya, didesain untuk menjalankan satu program komputer tertentu. Perangkat lunak yang berjalan di dalam mesin virtual dibatasi sumber dayanya dan tidak dapat mengakses ke luar batasan dunia maya tersebut.
Virtual Machine Monitor (VMM) atau hypervisor adalah bagian perangkat lunak yang membuat atau mensimulasikan mesin virtual. Mesin virtual dibedakan menjadi dua: VM Type I yang tidak menggunakan host operating system, dan VM Type II yang menggunakannya. Type II juga disebut paravirtual machine, dan kinerjanya lebih rendah dibanding Type I karena bergantung pada host OS.
Aplikasi yang menyediakan sistem mesin virtual antara lain VMware, VirtualBox, dan Virtual PC. Oracle VM VirtualBox adalah perangkat lunak yang dapat digunakan untuk membangun sistem virtualisasi, yaitu mengeksekusi sistem operasi tambahan di dalam sistem operasi utama.
Masalah pada perangkat lunak
Masalah pada perangkat lunak diklasifikasikan menjadi tiga kategori: perangkat lunak BIOS, sistem operasi, dan program aplikasi.
Pada tingkat BIOS, masalah yang terjadi antara lain komputer mati total, layar blank tanpa aktivitas, atau pengaturan hardware yang kacau karena POST tidak berjalan. Pada tingkat sistem operasi, gejala yang muncul bisa berupa kegagalan booting, kinerja booting yang lambat, Windows Explorer tidak bisa dijalankan, Start Menu tidak berfungsi, atau prosedur shutdown yang gagal. Pada program aplikasi, masalah yang muncul antara lain program tidak ditemukan di Start Menu, program tidak bisa dijalankan, kinerja lambat, atau file data tidak ditemukan karena ekstensinya berubah.
Ancaman keamanan perangkat lunak
Ancaman keamanan informasi bisa berupa serangan pada perangkat lunak, pencurian kekayaan intelektual, pencurian identitas, sabotase, dan pemerasan informasi.
Malware adalah perangkat lunak yang sengaja dirancang untuk menyebabkan kerusakan pada komputer, server, pengguna, atau jaringan komputer. Jenis-jenis malware termasuk virus komputer, worms, Trojan horses, ransomware, spyware, adware, rogue software, wiper, dan scareware. Tidak semua masalah pada perangkat lunak disebabkan malware; perlu identifikasi lebih lanjut apakah masalah tersebut berasal dari malware atau dari bug perangkat lunak.
Antivirus digunakan untuk mendeteksi dan membersihkan virus dari komputer. Keamanan jaringan lokal dapat dikelola dengan menginstal perangkat lunak antivirus atau anti-malware, selain penggunaan firewall dan protokol keamanan seperti WPA atau WPA2.
Perkembangan sistem operasi
Perkembangan sistem operasi dibagi ke dalam beberapa generasi. Generasi kedua (1955-1965) memperkenalkan Batch Processing System, yaitu pekerjaan yang dikerjakan dalam satu rangkaian dan dieksekusi secara berurutan. Generasi ketiga (1965-1980) dikembangkan untuk melayani banyak pengguna melalui terminal secara online. Sistem operasi menjadi multi-user, multi-programming, dan multi-tasking.
Generasi keempat (1980-2000-an) menggunakan Graphical User Interface (GUI), yaitu antarmuka berbasis grafis. Pada masa ini dimulai era komputasi tersebar (distributed computing), di mana komputasi dipecah ke banyak komputer.
Generasi selanjutnya memperkenalkan sistem operasi bergerak (mobile) pada perangkat seperti PDA, laptop, dan notebook. Sistem operasi jaringan virtual juga berkembang, sehingga dalam satu jaringan hanya perlu satu sistem operasi di server. Generasi ini merupakan awal tren mobile computing, yang didominasi oleh Android, iOS, Blackberry OS, Windows Mobile, Windows Phone, dan Symbian.