Definisi dan Karakteristik Perangkat Lunak

Gambar Ilustrasi Perangkat Lunak
(sumber : https://medium.com/@khusnijafar/belajar-menjadi-software-engineering-8c77032278d4)

Kecepatan proses dalam bisnis yang ada sekarang ini disebabkan karena kecanggihan teknologi perangkat lunak. Perangkat lunak semakin berkembang menyesuaikan kebutuhan manusia. Para pengembang berlomba – lomba menyajikan perangkat lunak yang memiliki efektifitas dan efisiensi dalam mendukung proses yang ada. Tentunya untuk mengembangkan perangkat lunak , kita perlu memahami terlebih dahulu karakteristik , proses dan praktek dari rekayasa perangkat lunak.

1. Karakteristik Perangkat Lunak

Pada saat ini , kita banyak sekali menemukan perangkat lunak yang memiliki banyak fungsi, contohnya saja kita lihat perangkat lunak pada telepon seluler, komputer, laptop dan lain – lain. Perangkat lunak berperan dalam menyajikan informasi dan menjadi gerbang menuju jaringan informasi global.

Peningkatan perkembangan dari peran perangkat lunak ini didukung oleh teknologi perangkat keras serta perubahan – perubahan dari arsitektur komputer , memori yang mendukung kecepatan proses, penyimpanan yang besar , dan bermacam – macam alat input output yang dapat mendukung, sehingga semua sistem yang berbasis komputer dapat saling terhubung sehingga dapat saling berkomunikasi dan berbagi informasi. Kecanggihan sistem tersebut , tentunya tidak lepas dari peran para pengembang perangkat lunak yang menjadi faktor dominan.

Gambar Karakteristik Perangkat Lunak
(sumber : https://kuliahso.wordpress.com/2017/02/23/karakteristik-perangkat-lunak/)

2. Definisi Perangkat Lunak

Banyak para pengguna perangkat lunak memahami fungsi dari perangkat lunak dan para ahli telah menjabarkan tentang deskripsi dari perangkat lunak sebagai berikut :

Menurut Ian Sommerville, perangkat lunak tidak hanya mencakup program komputer saja, akan tetapi juga termasuk semua dokumentasi dan konfigurasi data yang berhubungan yang diperlukan untuk membuat program beroperasi dengan benar. (Sommerville, 2003).

Sedangkan menurut Pressman mengemukakan bahwa perangkat lunak adalah instruksi – instruksi dalam hal ini adalah program komputer yang ketika dijalankan menyediakan fitur – fitur , fungsi – fungsi dan kinerja – kinerja yang dikehendaki pengguna, dalam perangkat lunak terdapat struktur data yang memungkinkan program – program dapat memanipulasi informasi, dan informasi tersebut tercetak dalam bentuk maya yang menggambarkan pengoperasian dan penggunaan program – program tersebut. (Roger S. Pressman,2012).

Dari definisi di atas dapat di simpulkan bahwa perangkat lunak adalah suatu program yang dapat beroperasi untuk memanipulasi informasi , yang di dalamnya terdapat instruksi – instruksi berupa fitur atau fungsi tertentu sehingga informasi yang telah di peroleh dapat tercetak dalam bentuk maya. Namun untuk lebih jelasnya memahami tentang perangkat lunak , kita dapat mengidentifikasi dari karakteristiknya . Berikut adalah karakteristik – karakteristik dari perangkat lunak (Roger S. Pressman, 2012) :

1. Perangkat lunak dikembangkan atau direkayasa, tidak diproduksi dalam konteks manufaktur.
2. Perangkat lunak tidak mengalami kelelahan, namun juga kinerja dapat memburuk, untuk itu di perlukan perancangan perangkat lunak dengan cara yang lebih baik.
3. Metode-metode rekayasa perangkat lunak pada dasarnya bertujuan untuk mengurangi simpangan angka kegagalan rekayasa perangkat lunak.
4. Meskipun industri terus beralih ke konstruksi berbasis komponen, sebagian besar perangkat lunak masih tetap dibuat berdasarkan spesifikasi yang di minta pengguna

Dengan melihat karateristik tersebut, ini memperlihatkan bahwa karakteristik dari perangkat lunak sangat berbeda dengan karakteristik perangkat keras.

3. Ranah Aplikasi Perangkat Lunak

Secara umum aplikasi perangkat lunak dibagi kedalam 7 (tujuh) kategori yaitu (Roger S. Pressman, 2012):

1. Perangkat lunak sistem , sekumpulan program yang ditulis untuk melayani program-program lain , yang melakukan pemrosesan struktur-struktur informasi yang kompleks namun umumnya bersifat terbatas. Contoh dari perangkat lunak sistem ini adalah sistem operasi , driver, perangkat lunak jaringan , dll).

2. Perangkat lunak aplikasi , program – program mandiri yang menjawab kebutuhan bisnis secara terperinci dengan melakukan pemrosesan data bisnis atau data teknis yang mendukung berjalannya operasi – operasi bisnis.

3. Perangkat lunak rekayasa , aplikasi yang telah memiliki algoritma yang penuh dengan kalkulasi data numerik. Contohnya adalah aplikasi untuk kebutuhan vulkanologi , astronomi , dan lain-lain.

4. Perangkat lunak yang tertanam, perangkat lunak yang berada pada suatu produk atau sistem dan digunakan untuk menjalankan dan mengendalikan fitur – fitur atau fungsi – fungsi untuk user. Contohnya tampilan indikator pada peralatan elektronik. Perangkat lunak lini produk, perangkat lunak yang dirancang untuk menyediakan kemampuan khusus untuk digunakan oleh pelanggan yang bersifat terbatas dan berkonsentrasi pada pasar tertentu . contohnya adalah pengolah kata, spreadsheet , dan lain – lain. Aplikasi web, perangkat lunak yang berpusat pada jaringan komputer , berisi sekumpulan file hypertext yang saling terhubung untuk menunjukkan informasi – informasi tertentu, berada lingkungan komputasi dan terintegrasi dengan sistem basis data.

5. Perangkat lunak kecerdasan buatan , perangkat lunak yang menggunakan algoritma non- numerik untuk memecahkan permasalahan-permasalahan rumit yang tidak dapat diselesaikan dengan komputasi atau analisis permasalahan langsung. Contohnya adalah sistem pakar , robotik, game , dll.

Para rekayasawan perangkat lunak bekerja keras untuk  membuat sistem baru, mengoreksi aplikasi, mengadaptasi dan meningkatkan kemampuannya. Seiring dengan kerja keras tersebut karena adanya perkembangan teknologi maka muncul tantangan-tantangan baru yang harus di hadapi oleh para rekayasawan diantanya adalah :

1. Pertumbuhannya jaringan nirkabel yang mengembangkan sistem dan perangkat lunak aplikasi untuk dapat berkomunikasi dengan jaringan yang sangat luas.
2. Kemudahan dalam pencarian sumber informasi melalui internet menantang para rekayasawan untuk membuat sebuah aplikasi yang sederhana yang menyediakan manfaat bagi pengguna akhir di seluruh dunia.
3. Berkembanganya open source menantang para rekayasawan untuk mengembangkan kode - kode dengan teknik – teknik yang memungkinkan pelanggan dan pengembang tahu perubahan – perubahan yang telah dibuat.

Selain kategori perangkat lunak diatas , dikenal juga adanya perangkat lunak warisan yaitu perangkat lunak yang telah terlebih dahulu dikembangkan. Perangkat lunak warisan ini dicirikan dengan panjangnya usia dan kekritisan bisnis. Perangkat lunak warisan ini bisa saja berkualitas buruk , perancangan yang tidak memungkikan untuk diperluas lagi, kode – kode rumit, buruknya dokumentasi , pengujian dan hasilnya tidak pernah diarsipkan, namun perangkat lunak warisan ini mendukung fungsi – fungsi bisnis inti. Jika perangkat lunak warisan ini memenuhi kebutuhan penggunanya dan beroperasi dengan baik tentunya tidak perlu diperbaiki. Namun, perangkat lunak warisan perlu dirubah atau dikembangkan karena beberapa alasan (Roger S. Pressman, 2012) :

1. Perlu diadaptasikan sehingga memenuhi kebutuhan lingkungan atau teknologi komputasi yang baru.
2. Perlunya ditingkatkan kinerjanya supaya menjalankan kebutuhan – kebutuhan bisnis baru.
3. Perlu di perluas agar dapat saling berkomunikasi dengan perangkat lunak modern atau basis data
modern.
4. Perlu dirancang ulang agar hidup dalam lingkungan jaringan komputer.

Dalam ranah perangkat lunak yang telah di jelaskan diatas , yang paling populer adalah aplikasi- aplikasi web. Menurut Powel aplikasi web pada dasarnya mempunyai sifat – sifat berikut (Roger S. Pressman, 2012) :

1. Kepadatan Jaringan , aplikasi web biasanya berada pada suatu jaringan komputer dan harus melayani client yang beragam.

2. Keserempakan, sejumlah besar pengguna mungkin akan mengakses aplikasi web secara serempak.

3. Jumlah pengguna akhir tidak dapat diprediksi.

4. Kinerja, jika aplikasi web yang dibuka tidak memiliki perfomace yang tinggi , maka pengguna akan meninggalkannya.

5. Ketersediaan, para pengguna menuntut akses 24 jam setiap harinya.

6. Digerakkan oleh data , menyajikan data baik itu teks, grafis, audio dan video.

7. Peka terhadap isi, kualitas dan karakter isi merupakan faktor penentu yang penting dari kualitas aplikasi.

8. Kesegaran, aplikasi web menunjukkan kedisiplinan waktu untuk merilis produk ke pasar dalam waktu beberapa hari saja.

9. Keamanan, karena aplikasi web tersedia melalui akses jaringan komputer, maka sulit membatasi jumlah pengguna akhir .

10. Estetika , daya tarik aplikasi web adalah tampilan dan nuansanya.

Sumber:

Setiayani Lila.(2018): Rekayasa Perangkat Lunak [Software Engineering]. Karawang: CV. Jatayu Catra Internusa

Komentar