PERANGKAT LUNAK
Perangkat lunak atau software adalah
sekumpulan data elektronik yang tersimpan dan dikendalikan oleh perangkat
komputer. Data elektronik tersebut meliputi instruksi atau program yang
nantinya akan menjalankan perintah khusus. Perangkat lunak juga disebut sebagai
bagian sistem dalam komputer yang tidak memiliki wujud fisik yang diinstal
dalam sebuah komputer atau laptop agar bisa dioperasikan.
KARAKTERISTIK
PERANGKAT LUNAK
Berikut ini adalah
beberapa karakteristik rekayasa perangkat lunak yaitu:
- Sebuah Perangkat
Lunak itu dikembangkan dan tidak diproduksi masal seperti pada umumnya
perangkat keras. Disini sebuah perangkat lunak hanya dibuat satu dan tidak
dibuat dalam jumlah yang banyak sedangkan perangkat keras dibuat dalam
jumlah besar.
- Sebuah Perangkat
Lunak tidak pernah Usang. Hal ini sangat berbeda dengan perangkat keras,
dimana sebuah perangkat keras akan usang dimakan waktu. Perhatikan saat
kita membeli sebuah Gadget dengan Spek Processor Snapdragon 835, Ram 8 GB,
Rom 64 GB, Kamera 16 MB, maka perangkat Gadget ini semakin lama akan usang
dan dengan ditandai biasanya adalah PERFORMANSI dari Perangkat Keras yang
menurun, Harga yang semakin murah, dan lain-lainnya (Soumyakanti, 2017).
- Beberapa Perangkat
Lunak dikembangkan secara custom (pesanan) sedangkan Perangkat Keras
dikembangkan berdasarkan sistem Component-Based Assembly. Disini
sebuah perangkat lunak selain dikembangkan dengan cara umumnya, beberapa
perangkat lunak juga ada yang dikembangkan dengan cara pesanan.
KATEGORI PERANGKAT LUNAK
1. Perangkat Lunak Sistem Operasi
Perangkat
lunak sistem operasi berfungsi untuk mengendalikan seluruh sistem kerja
mendasar yang ada di komputer. Jenis perangkat ini merupakan platform yang
memungkinkan perangkat lunak dan aplikasi lain untuk dapat berfungsi. Sistem
operasi mengatur segala proses, termasuk mengelola memori, menerjemahkan input,
output, tabel pengkodean, dll. Pada intinya, Perangkat ini menghubungkan
pengguna, perangkat keras, dan perangkat lunak aplikasi agar dapat digunakan
sebagai secara bersamaan. Contoh dari perangkat lunak sistem operasi adalah
Microsoft Windows, linux, Mac, IOS Apple, Google Android, dan OS Windows
Phone.
2. Perangkat Lunak Aplikasi
Sesuai
namanya, macam perangkat lunak ini adalah deretan aplikasi atau program yang
tersedia di komputermu yang biasa digunakan untuk membantu menyelesaikan tugas
tertentu. Aplikasi menjadi jenis software yang paling sering digunakan oleh
banyak orang sekaligus dikenal sebagai perangkat non esensial yang berarti
harus diinstal terlebih dahulu dan dioperasikan sesuai kebutuhan penggunanya.
Contohnya seperti Adobe Photoshop, Skype, Adobe Premiere, Ms. Excel, dan masih
banyak lagi.
3. Perangkat Lunak Pemrograman
Perangkat
lunak Pemrograman adalah software yang berguna untuk menerjemahkan
instruksi-instruksi dari bahasa program ke kode bahasa mesin melalui prosedur
tertentu agar dapat diterima dan dibaca oleh komputer. Perangkat lunak ini
umumnya digunakan oleh seorang programmer untuk menerjemahkan, menulis,
menguji, mengembangkan, hingga men-debug software lain, seperti perangkat lunak
sistem dan perangkat lunak aplikasi. Misalnya saja Python, PHP, Java, C ++,
BASIC, COBOL, FORTRAN, dan Pascal.
Terdapat
3 level bahasa pemrograman, yakni:
1.
Bahasa tingkat rendah (low level language)
Bahasa ini disebut juga sebagai bahasa mesin di
mana pengkodeannya menggunakan angka 0 dan 1.
2.
Bahasa tingkat tinggi (high level language)
Pengkodean bahasa pemrograman ini menggunakan
bahasa Inggris. Beberapa contohnya seperti yang telah disebutkan di atas yaitu
BASIC, COBOL, FORTRAN, dll.
3.
Bahasa generasi keempat (4 GL)
Bahasa ini berfokus terhadap objek atau yang
dikenal dengan Object Oriented Programming (OOP). Contohnya adalah Delphi,
Visual Basic, Visual C++.
4. Perangkat Lunak Tambahan/Program Bantu (Utility)
Software ini merupakan aplikasi yang berguna untuk membantu pengelolaan komputer, seperti mengkompres file, melindungi sistem, memformat disket, mengkopi data, mengatur harddisk, dan lain-lain. Contohnya seperti Winzip, Antivirus, Scandisk, Norton Utility, dan Defragment.
JENIS PERANGKAT LUNAK
1. Perangkat Lunak
Berbayar – Software yang
mengharuskan penggunanya untuk membayar dengan harga tertentu untuk bisa
menggunakan perangkat lunak tersebut. Meskipun sudah dibeli, namun lisensi untuk menyebarluaskan tidak diberikan kepada pengguna,
karena tindakan tersebut termasuk ilegal. Contoh software berbayar
adalah Adobe Photoshop, Microsoft Office, Microsoft Windows dan sebagainya.
2.
Freeware – Perangkat lunak ini gratis dan dapat digunakan tanpa
batas waktu tertentu. Biasanya pengembang software membuat perangkat lunak ini
untuk komunitas tertentu. Hak cipta tetap dipertahankan sehingga siapa saja
dapat melakukan update software terbaru. Contoh software freeware adalah Google
Chrome, Mozilla Firefox, dan sebagainya.
3.
Free Software – Pengguna harus membeli perangkat lunak ini terlebih
dahulu, setelah itu pengguna bebas untuk melakukan penggandaan, modifikasi,
hingga distribusi.
4.
Shareware – Perangkat lunak yang dibagikan secara gratis untuk
keperluan tertentu. Biasanya sebagai uji coba dengan fitur terbatas, dan
penggunaan dengan waktu yang terbatas (biasanya 15 atau 30 hari). Shareware
dibagikan secara gratis untuk memberikan pengguna kesempatan untuk mencoba
menggunakan program sebelum membeli lisensi versi lengkap dari perangkat lunak
tersebut.
5.
Malware – Perangkat lunak ini dianggap sebagai perusak,
sehingga bisa berbahaya jika disalahgunakan. Tujuan perangkat lunak ini untuk
menyusup, bahkan merusak sistem jaringan komputer. Contoh malware adalah spyware
(perangkat lunak pengintai), adware (perangkat lunak untuk iklan yang tidak
jujur), virus komputer, dan software lainnya yang dibuat dengan tujuan
merugikan.
6.
Open Source
Software – Perangkat lunak yang
bersifat terbuka, sehingga kode sumbernya dapat dipelajari, dimodifikasi,
ditingkatkan dan disebarluaskan. Perangkat ini biasanya diperoleh secara gratis
dan digunakan oleh komunitas tertentu untuk dikembangkan dengan lisensi GPL (General
Public License). Contoh perangkat lunak ini adalah Linux, yang fungsinya
setara dengan Microsoft Windows.
7.
Firmware – Perangkat lunak penyimpanan yang hanya dapat dibaca,
atau Memory Read Only. Software ini bersifat paten
sehingga tidak bisa dilakukan modifikasi atau pengembangan meskipun terdapat
masalah dalam fungsinya. Biasanya firmware telah menyatu
dengan perangkat keras, sehingga dianggap bukan perangkat lunak seutuhnya.
PERANGKAT
LUNAK WARISAN
Dalam
komputasi, sistem warisan adalah metode lama, teknologi, sistem komputer, atau
program aplikasi, “dari, berhubungan dengan, atau menjadi sebuah sistem
komputer sebelumnya atau usang.”
Sistem
Perangkat Lunak warisan yg berumur lebih dari beberapa tahun menjadi mahal utk
diubah karena beberapa alasan :
1.
Berbagai
bagian sistem diimplementasi oleh tim yg berbeda. Tidak ada gaya pemrograman yg
konsisten diseluruh sistem.
2.
Sebagian/seluruh
sistem diimplementasikan dengan bahasa program bahasa program lama. Outsourcing
yg mahal dari pemeliharaan sistem mungkin terjadi karena staf yg bersangkutan
tidak paham dengan bahasa program tsb.
3.
Dokumentasi
sistem sering tidak memadai.
4.
Pemeliharaan
bertahun-tahun biasanya merusak struktur sistem sehingga semakin sulit
dipahami.
5.
Sistem
telah dioptimasi untuk pemakaian ruang & kecepatan eksekusi & tidak
ditulis utk dipahami.
6.
Data
yg diolah sistem mungkin disimpan di file yg berbeda & struktur filenya
tidak kompatibel. Mungkin ada duplikasi data, data tidak akurat & tidak
lengkap
KEGAGALAN
PERANGKAT LUNAK
Saat ini, sebagian besar bisnis sangat bergantung
pada software untuk
operasi sehari-hari, baik secara internal maupun eksternal yang berhubungan
dengan pelanggan. Akibatnya, menjadi semakin jelas bahwa kegagalan perangkat
lunak sedang meningkat dan berdampak besar pada organisasi global. Tingkat
kegagalan proyek perangkat lunak berkisar antara 50% – 80%.
Berikut merupakan berbagai penyebab kegagalan perangkat lunak yang paling umum:
- Perhitungan yang salah
- Pengeditan data salah
- Pengeditan data tidak efektif
- Pengkodean / implementasi aturan bisnis yang salah
- Kinerja perangkat lunak yang tidak memadai
- Data yang membingungkan atau menyesatkan
- Perangkat lunak yang sulit digunakan
- Perangkat lunak usang
- Pemrosesan tidak konsisten
- Sulit untuk memelihara dan memahami
- Hasil atau kinerja yang tidak dapat diandalkan
- Dukungan kebutuhan atau tujuan bisnis yang tidak memadai
- Tidak lagi didukung oleh vendor
- Antarmuka yang salah atau tidak memadai dengan sistem lain
- Pencocokan dan penggabungan data yang salah
- Pencarian data yang menghasilkan hasil yang salah
- Pemrosesan hubungan data yang salah
- Penanganan file dan data salah
- Kontrol keamanan tidak memadai
- Ketidakmampuan untuk menangani kapasitas data produksi
REKAYASA PERANGKAT LUNAK
Rekayasa perangkat lunak (RPL, atau dalam bahasa
Inggris: Software
Engineering atau SE)
adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat
lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan
perangkat lunak dan manajemen kualitas.
PROSES PERANGKAT LUNAK
Proses perangkat lunak
(Software process) adalah suatu struktur yang diterapkan pada pengembangan
suatu produk perangkat lunak yang bertujuan untuk mengembangkan sistem dan
memberikan panduan yang bertujuan untuk menyukseskan proyek pengembangan sistem
melalui tahap demi tahap.
PRAKTEK REKAYASA PERANGKAT LUNAK
Praktek rekayasa perangkat lunak mencakup
prinsip-prinsip, konsep, metode dan alat-alat yang menerapkan seluruh proses
perangkat lunak. Setiap proyek rekayasa perangkat lunak berbeda namun, satu set
dari prinsip-prinsip umum berlaku untuk proses secara keseluruhan dan praktek
dari setiap aktivitas kerangka terlepas dari proyek atau produk.
MITOS REKAYASA PERANGKAT LUNAK
1.
Mitos
managements
A. Kita tidak perlu mengubah
pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita
lakukan sekarang ini sudah kita lakukan 10 tahun yang lalu.
Realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments
B. Kita sudah mempunyai buku
yang berisi standarisasi dan prosedur untuk pembentukan software.
Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan jaman ( out of date ).
C. Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa programmer saja. Konsep ini sering disebut Mongolian harde concept.
2.
Mitos Langganan / Customer
A. Pernyataan tujuan umum
sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan
menyusul kemudian.
Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan terhadap usaha-usaha pem- bentukkan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adalah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer.
B. Kebutuhan proyek yang terus
menerus berubah dapat dengan mudah diatasi karena software itu bersifat
fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi
dampak dari peru- bahan berbeda dari waktu ke waktu.
Kesimpulan : Jika perubahan mendekati akhir penyelesaian, maka biaya akan lebih besar.
3.
Mitos Praktisi
A. Tidak ada metode untuk
analisis disain dan testing terhadap suatu pekerjaan, cukup menuju ke depan
terminal dan mulai coding.
Realitasnya
: Metode untuk analisis desain dan testing diperlukan dalam pengembangan
software.
B. Segera setelah software
digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan
cara “CATCH AS CATCH CAM”.
Realitasnya
: Diperlukan budget yang besar dalam maintenance software. Pemeliharaan
software harus diorganisir dan direncanakan.
1