Berdasarkan fungsinya, perangkat lunak dapat dibagi menjadi 3 kelompok besar, yaitu perangkat lunak sistem biasa juga disebut sebagai sistem operasi, bahasa
pemrograman, dan perangkat lunak aplikasi. Dalam hal ini, perangkat lunak yang penulis buat adalah perangkat lunak aplikasi. Perangkat lunak aplikasi sejatinya
adalah program yang didesain khusus untuk menyelesaikan masalah spesifik pengguna, seperti melakukan tugas mengetik dokumen, manipulasi foto, merancang
bangunan ataupun menghitung zakat.
2.2.1 Karakteristik Perangkat Lunak
Perangkat lunak memiliki beberapa karakteristik sebagai berikut: 1. Perangkat lunak tidak dapat rusak wear out.
Pada umumnya jika sebuah komponen perangkat keras rusak, maka dapat diganti dengan spare part sedangkan perangkat lunak tidak memiliki spare
part . Perangkat lunak tidak rentan terhadap gangguan lingkungan yang menyebabkan menjadi rusak. Perawatan atau pemeliharaan perangkat lunak
memiliki kompleksitas yang lebih tinggi dibandingkan perawatan perangkat keras.
2. Perangkat lunak dikembangkan atau direkayasa tidak dalam pengertian klasik. Fase pembuatan perangkat keras membuat masalah kualitas yang tidak ada
pada perangkat lunak. 3. Sebagian besar perangkat lunak dibuat berdasarkan pesanan.
Universitas Sumatera Utara
Pada perangkat lunak tidak memiliki katalog komponen, ini memungkinkan untuk memesan perangkat lunak yang off-the-self, tetapi hanya sebagai unit
yang complete, bukan sebagai komponen yang dapat dipasang kembali ke dalam program yang baru.
2.2.2 Komponen Perangkat Lunak
Komponen perangkat lunak dibuat dengan meletakkan struktur data perangkat lunak, atribut prosedur dan kebutuhan-kebutuhan yang terkait. Komponen utama rekayasa
perangkat lunak yaitu teknologi, manajemen perancangan dan manusia. Selain itu, atribut yang dipakai merupakan ukuran kualitas perangkat lunak. Di antaranya adalah
sebagai berikut: 1. Kegunaan, yaitu pemenuhan terhadap kebutuhan pengguna.
2. Keandalan, yaitu kemampuan melaksanakan fungsi yang diinginkan. 3. Kejelasan, yaitu penulisan program dilakukan secara jelas dan mudah
dimengerti.
2.2.3 Pengembangan Perangkat Lunak
Adapun proses pengembangan perangkat lunak sama seperti proses pengembangan keteknikan lainnya. Sebuah model mengenai proses pengembangan perangkat lunak
diturunkan dari aktivitas rekayasa keteknikan yang diterima oleh manajemen proyek perangkat lunak karena menawarkan cara membuat proses pengembangan yang lebih
baik.
Universitas Sumatera Utara
Gambar 1.0 Model Pengembangan Perangkat Lunak
2.3 Software Penghitung Zakat