Perangkat lunak

**Perangkat lunak** (bahasa Inggris: *software*) adalah istilah khusus untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca, dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer. Perangkat lunak juga termasuk dokumen desain dan spesifikasi.

Sejarah perangkat lunak terkait erat dengan pengembangan komputer digital pada pertengahan abad ke-20. Program awal ditulis dalam bahasa mesin khusus perangkat kerasnya. Munculnya bahasa pemrograman tingkat tinggi pada 1958 memungkinkan instruksi yang lebih mudah dipahami manusia, yang membuat pengembangan perangkat lunak lebih mudah dan portabel antar arsitektur komputer yang berbeda. Perangkat lunak yang ditulis dalam bahasa pemrograman dijalankan melalui compiler atau interpreter untuk dieksekusi pada perangkat keras arsitektur tersebut. Seiring waktu, perangkat lunak menjadi semakin kompleks, terutama karena perkembangan dalam bidang jaringan, sistem operasi, dan basis data.

Perangkat lunak secara umum dapat dijeniskan menjadi dua jenis utama:

# sistem operasi, yang mengelola sumber daya perangkat keras dan memberikan layanan untuk aplikasi
# aplikasi, yang melakukan pekerjaan tertentu untuk pengguna

Munculnya komputasi awan memperkenalkan model pengiriman perangkat lunak baru *[[Perangkat lunak sebagai layanan|Software as a Service]]* (SaaS). Dalam SaaS, aplikasi disediakan oleh penyedia dan dan diakses melalui Internet.

Proses pengembangan perangkat lunak melibatkan beberapa tahap. Tahap-tahapnya termasuk rancangan perangkat lunak, pemrograman, pengujian, perilisan, dan pemeliharaan. Jaminan kualitas perangkat lunak dan keamanan adalah aspek kritis pengembangan perangkat lunak, karena kutu dan kerentanan keamanan dapat memicu kegagalan sistem dan pembobolan keamanan. Selain itu, masalah legal seperti lisensi perangkat lunak dan hak kekayaan intelektual berperan besar dalam distribusi produk perangkat lunak.

## Jenis
Di bawah ini ada beberapa contoh macam perangkat lunak, yaitu:

* Perangkat lunak aplikasi (*application software*) seperti pengolah kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti OpenOffice.org.
* Sistem operasi misalnya Linux dan Windows.
* Perkakas pengembangan perangkat lunak (*software development tool*) seperti Kompilator untuk bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
* Pengendali perangkat keras (*device driver*) yaitu penghubung antara perangkat perangkat keras pembantu, dan komputer adalah perangkat lunak yang banyak dipakai di swalayan, dan juga sekolah, yaitu penggunaan pemindahan kode batang pada aplikasi basis data lainnya.
* Perangkat tegar seperti yang dipasang dalam jam tangan digital, dan pengendali jarak jauh.
* Perangkat lunak bebas dan Perangkat lunak sumber terbuka
* Perangkat lunak gratis
* Perangkat lunak uji coba (*shareware*/trialware*)
* [[Perangkat lunak perusak]] (*malware'')

## Lihat pula
* Perangkat keras
* Spesifikasi kebutuhan perangkat lunak

## Referensi