Perangkat Lunak & Rekayasa Perangkat Lunak
1.1 KARAKTERISTIK PERANGKAT LUNAK
Perangkat Lunak merupakan suatu produk yang dapat
menghantarkan informasi yang ada pada perangkat keras atau komputer dan dapat
di akses. Perangkat lunak pada zaman sekarang dapat mengirimkan informasi,
dapat mengubah data menjadi lebih baik dan perangkat lunak sekarang dapat
mengatur informasi bisnis untuk meningkatkan kompetisi yang ada. Perangkat
lunak mengalami perubahan yang besar dalam penyimpanan bisa dapat menjadi lebih
besar, dan banyak pilihan output(keluaran) dan input(masukan) yang Sdapat terhubung
dengan komputer lebih cepat dan canggih. Kecanggihan dalam perangkat lunak
mempunyai hasil yang sangat mengagumkan saat berhasil di operasikan dengan baik
tetapi akan menjadi masalah besar dalam membangun sistem yang kompleks.
Pada sektor industri, perangakat lunak sangat menajdi
dominan pada faktor perekonomian dan dunia industri. Para pakar industri telah
merancang teknologi yang dibutuhkan untuk menghantarkan aplikasi yang lebih
komplek yang dapat menggantikan program yang tunggal sebelumnya.
1.1.1 Definisi Perangkat Lunak
Perangkat lunak memiliki kemiripan dengan perangkat keras
tetapi kedua nya memiliki perbedaan dalam produksinya. Perangkat lunak tidak di
produksi manufaktur atau dalam jumlah yang banyak tetapi perangkat lunak hanya
dikembangkan atau di rekayasa. Sedangkan perangkat keras atau komputer di
produksi dalam jumlah banyak atau manufaktur.
Perangkat lunak pada dasarnya tidak terpengaruh oleh kondisi
kondisi lingkungan dan cuaca sehingga tidak mengalami kelelahan. Berbeda dengan
perangkat keras yang mudah mengalami kelelahan karena dapat terpengaruh oleh
kondisi-kondisi lingkungan dan cuaca di sekitarnya, atau dapat mudah lelah
karena cara salah pemakaian dan pengaruh debu serta getaran. Walaupun industri
selalu beralih komponen, perangkat lunak masih tetap berdasarkan spesifikasi
yang di inginkan oleh pengguna.
1.1.2 Ranah Aplikasi Perangkat Lunak
- Perangkat
Lunak Sistem Beberapa program yang dibuat untuk melayani
program-program untuk melakukan pemrosesan informasi yang kompleks dan
bersifat terbatas.
- Perangkat
Lunak Aplikasi Program yang dapat menjawab kebutuhannya sendiri
secara terinci. Aplikasi ini biasa nya ada pada bidang pemrosesan data
bisnis atau mendukung operasi bisnis.
- Perangkat
Lunak Rekayasa/ilmiah Memiliki algoritma yang lengkap dan penuh
dengan kalkulasi numerik. Aplikasi ini dikembangkan untuk kebutuhan
analisa ilmiah seperti astronomi hingga vulkanologi.
- Perangkat
Lunak yang Tertanam Aplikasi atau sistem yang digunakan untuk
menjalankann dan mengendalikan fungsi dan fitur bagu pengguna akhir dan bagi
sistem itu sendiri.
- Perangkat
Lunak Lini Produk Dibuat atau dirancang untuk kemampuan khusus
yang digunakan oleh pelanggan yang berbeda-beda.
- Aplikasi
Web Perangkat lunak yang tersambung pada jaringan komputer yang
menyediakan banyak aplikasi-aplikasi.
- Perangkat
Lunak Kecerdasan Buatan Memecahkan masalah-masalah yang rumit dan
tidak bisa dipecahkan dengan komputasi secara langsung tetapi dengan
menggunakan algoritma non-numerik.
1.1.3 Perangkat Lunak Warisan
Perangkat lunak yang lama dan sudah pernah di
kembangkan sering disebut dengan Perangkat Lunak Warisan. Terkadang perangkat
lunak warisan ini berkualitas sangat buruk. Perangkat Lunak Warisan juga
memiliki perancangan yang tidak memungkinkan untuk dikembangkan lagi. Dengan
seiringnya waktu Perangkat Lunak Warisan sering berubah seperti harus
meningkatkan kinerja supaya dapat menjalankan kebutuhan-kebutahan yang bisnis
atau perangkat lunak harus dirancang ulang-ulang yang dapat hidup dalam
mengoperasikan jaringan komputer.
1.2 KARAKTERISTIK KHAS DARI APLIKASI-APLIKASI WEB
Situs WEB(Website) pertama muncul dengan Word Wide Web(WWW),
ini terbentuk dari sekumpulan file hypertext yang berhubungan yang dapat
memberikan informasi teks dengan pola grafis yang terbatas. Perkembangan HTML
oleh perangkat yang baru berkembang memugkinkan perangkat lunak yang
mengembangkan aplikasi Web yang isinya bersifat informatif. Sifat-sifat yang
bisa ditemui dalam sebagian besar aplikasi Web sebagai berikut :
- Kepadatan
jaringan.
- Keserempakan.
- Jumlah
pengguna yang tidak dapat diprediksi.
- Kinerja.
- Keterseedian.
- Digerakan
oleh data.
- Peka
terhadap isi.
- Evolusi
yang berkeseimbangan,.
- Kesegaran.
- Keamanan.
- Estetika.
1.3 REKAYASA PERANGKAT LUNAK
Perangkat lunak menyatu dengan setiap kehidupan kita dan
sejumlah orang telah tertarik pada fitur dan fungsi yang ada pada aplikasi
tertentu yang telah berkembang secara drastis. Kebutuhan teknologi informasi
yang sekarang dibutuhkan oleh individu, bisnis dan pemerintah akan selalu
bertambah kompleks terus menerus. Apabila nilai aplikasi terntu bertambah,
memiliki kemungkinan usia perangkat lunak tersebut akan bertambah panjang.
Rekayasa Perangkat Lunak merupakan aplikasi ilmu komputer
untuk membangun perangkat lunak yang praktis yang membahas semua produksi dari
tahap awal, menganalisa kebutuhan pengguna sampai pemeliharaan sistem setelah
digunakan.
1.4 PROSES PERANGKAT LUNAK
Suatu proses sebenarnya sekumpulan
aktivitas, aksi, dan tugas yang dijalankan ketika suatu pekerjaan
dilakukan. Aktivitas biasanya berupaya mencapai tujuan umum dan
diterapkan diterapkan tanpa memperhatikan bagian aplikasi, ukuran, kerumitan
usaha, dan tingkat fleksibilitas yang diterapkan. Aksi mencakup
beberapa tugas yang menghasilkan suatu pekerjaan utama. Tugas berkonsentrasi
pada tujuan kecil namun terdefinisi dengan baik yang memberikan hasil nyata.
Suatu kerangka kerja proses membangun pondasi bagi proses
rekayasa perangkat lunak yang lengkap dengan cara mengidentifikasi beberapa
aktivitas kerangka. Selain itu kerangka kerja mencakup sekumpulan aktivitas
yang berperan sebagai penyangga. Kerangka kerja proses yang umum bagi rekayasa
perangkat lunak terdiri dari lima aktivitas berikut:
- Komunikasi. Sebelum
pekerjaan teknis dimulai, komunikasi dan kolaborasi dengan pelanggan
sangatlah penting untuk memahami tujuan stakeholder atas proyek perangkat
lunak yang sedang dikembangkan.
- Perencanaan. Kegiatan
ini untuk menyederhanakan suatu alur yang rumit dengan menciptakan suatu
peta yang membantu membimbing tim perangkat lunak.
- Pemodelan. Kegiatan
ini adalah pembuatan sketsa atau gambaran bagaimana bagian-bagian
pembentuk memiliki kecocokan dan karakteristik lain. Seorang rekayasawan
perangkat lunak melakukan hal tersebut dengan cara membuat baik model
untuk memahami kebutuhan perangkat lunak maupun rancangan yang memenuhi
kebutuhan tersebut.
- Konstruksi. Kegiatan
ini untuk membentuk kode dan pengujian yang sangat dibutuhkan untuk
menemukan kesalahan dalam kode program yang dihasilkan sebelumnya.
- Penyerahan
perangkat lunak ke pengguna. Perangkat lunak ditunjukan ke pelanggan
yang kemudian akan mengevaluasi produk dan akan memberikan tanggapan
berdasarkan evaluasi tersebut.
Lima aktivitas kerangka kerja yg umum tersebut biasanya
digunakan dalam masa pengembangan program. Rincian proses perangkat lunak bisa
berbeda pada setiap kasusnya, namun aktivitas kerangka kerja biasanya tetap
sama.
Aktivitas kerangka kerja proses rekayasa perangkat lunak
disempurnakan oleh aktivitas yang bertindak sebagai penyangga, kegiatan
penyangga pada umumnya mencakup hal-hal berikut ini:
- Penelusuran
dan Kendali memungkinkan tim perangkat lunak melakukan penilaian
terhadap progres perangkat lunak yang sedang berjalan.
- Manajemen
Resiko menilai resiko yg mungkin berpengaruh pada hasil akhir proyek
perangkat lunak.
- Penjaminan
Kualitas memperjelas dan melakukan kegiatan yang diperlukan untuk
memastikan kualitas perangkat lunak.
- Ulasan menilai
produk hasil karya rekayasa perangkat lunak sebagai usaha untuk mencari
dan memperbaiki kesalahan.
- Pengukuran menjelaskan
dan mengumpulkan tolok ukur proses dari proyek dan produk yang membantu
tim.
- Manajemen
konfigurasi mengatur efek perubahan di seluruh proses perangkat lunak
- Manajemen
penggunaan ulang menjelaskan kriteria bagi pengunaan kembali produk
kerja perangkat lunak.
- Persiapan
produk mencakup aktivitas yang diperlukan dalam menciptakan produk
kerja seperti model, dokumen, dan catatan.
1.5 PRAKTIK REKAYASA PERANGKAT LUNAK
- 5.1
Esensi Praktik
Dalam buku How to Solve It, George Poyla
membuat gambaran garis besar esensi pemecahan masalah dan menghasilkan esensi
praktik rekayasa perangkat lunak:
- Pahami
permasalahannya
- Rancang
Solusinya
- Laksanakan
rancangannya
- Periksa
ketepatan hasilnya
- 5.2
1.5.2 Prinsip-prinsip Umum
- Prinsip
Pertama: Alasan keberadaan perangkat lunak
Suatu prinsip perangkat lunak ada suatu alasan: memberikan
nilai tertentu bagi para pengguna.
- Prinsip
Kedua: Tetap Sederhana
Seluruh rancangan pada dasarnya harus sesederhana mungkin,
namun tidak terlalu sederhana sehingga mengabaikan hal yang perlu dicantumkan.
- Prinsip
Ketiga: Pertahankan Visi
Visi yang jelas penting bagi keberhasilan suatu proyek
perangkat lunak. Tanpa visi yang jelas proyek perangkat lunak akan berakhir
multitafsir.
- Prinsip
Keempat: Apa yang Anda Buat, Akan Digunakan Oleh Konsumen / Pelanggan
Spesifikasikan secara cermat kecocokannya dengan pengguna.
Lakukan perancangan dengan mengingat seiapa yang menggunakan nanti.
- Prinsip
Kelima: Membuka Diri Terhadap Mas Depan
Suatu sistem/perangkat lunak yang berjangka panjang memiliki
nilai lebih. Sistem/perangkat lunak harus siap beradaptasi dengan segala
perubahan.
- Prinsip
Keenam: Rancanglah Selangkah ke Depan Sehingga Dapat Digunakan Kembali
Penggunaan ulang akan menghemat waktu dan tenaga yang
diperlukan untuk mengembangkan perangkat lunak.
- Prinsip
Ketujuh: Pikirlah!
Prinsip terakhir ini munkin adalah yang paling sering
diabaikan. Menempatkan pikiran yang tepat sebelum bertindak selalu membuahkan
hasil yang lebih baik.
1.6 MITOS-MITOS PERANGKAT LUNAK
Mitos perangkat lunak, yaitu keyakinan yang keliru tentang
perangkat lunak. Mitos memiliki beberapa atribut yang terkadang bersifat
membahayakan.
Mitos Manajemen. Manajer dengan tanggung jawab
perangkat lunak,seperti manajer di sebagian disiplin ilmu, sering dibawah
tekanan, menjaga jadwal seara ketat, dan meningkatkan kualitas
Mitos Pelanggan. Dalam banyak kasus, pelanggan percaya
mitos tentang perangkat lunak karena manajer dan praktisi perangkat lunak
mengoreksi informasi yang keliru.
Mitos Praktisi. Mitos yang masih diyakini oleh praktisi
perangkat lunak sejak lebih dari 50 tahun adanya pemrograman. Awalnya
pemrograman dipandang sebagai bentuk seni.
Mitos perangkat lunak, yaitu keyakinan yang keliru tentang
perangkat lunak. Mitos memiliki beberapa atribut yang terkadang bersifat
membahayakan.
Mitos Manajemen. Manajer dengan tanggung jawab
perangkat lunak,seperti manajer di sebagian disiplin ilmu, sering dibawah
tekanan, menjaga jadwal seara ketat, dan meningkatkan kualitas
Mitos Pelanggan. Dalam banyak kasus, pelanggan percaya
mitos tentang perangkat lunak karena manajer dan praktisi perangkat lunak
mengoreksi informasi yang keliru.
Mitos Praktisi. Mitos yang masih diyakini oleh praktisi
perangkat lunak sejak lebih dari 50 tahun adanya pemrograman. Awalnya
pemrograman dipandang sebagai bentuk seni.
1.7 BAGAIMANA PROYEK PERANGKAT LUNAK DIMULAI?
Sebuah Proyek Perangkat Lunak dibuat atas dasar kebutuhan
dari Masyarakat dalam kehidupan sehari-harinya. Kebutuhan tersebut mulai dari
pekerjaan, pendidikan dan yang lainnya. Proyek Perangkat Lunak juga diadakan
tidak untuk membuat sebuah system, layanan yang baru tapi juga memperbaiki
sebuah system yang sudah rusak atau mengembangkan system yang sudah ada menjadi
lebih baik dan lebih kompleks lagi.
Bagaimana Proyek Perangkat Lunak Dimulai ? Prosesnya pada dasarnya sama yaitu
selalu diawali dengan yang namanya Perencanaan Proyek atau Project Planning
tersebut. Berikut adalah beberapa hal yang berpengaruh penting pada Planning
Project ini :
1.Estimasi
Estimasi (Perkiraan) diperlukan untuk memperkirakan sumber
daya, biaya, dan jadwal dalam pembuatan atau pengembangan sebuah perangkat
lunak. Berikut adalah ketidakpastian dalam estimasi ini :
- Project
Complexity (Kompleksitas Proyek) merupakan pengukuran relative yang
berpengaruh akibat adanya kebiasaan dengan usaha yang telah dilakukan
sebelumnya.
- Project
Size (Ukuran Proyek) Sangat berpengaruh dikarenakan bila ukuran bertambah
maka tingkat ketergantungan pada elemen perangkat lunak pun akan ikut
bertambah juga.
- Structural
Uncertainly (Ketidakpastian Struktural) dapat digunakan untuk melihat
masalah-masalah yang akan muncul.
Estimasi ini penting dikarenakan kita dapat memperkirakan
apakah client kita sewaktu-waktu mau merubah kebutuhannya akan perangkat lunak
yang sedang kita buat.
2.Tujuan Perencanaan Proyek
Tujuan dari perencanaan proyek adalah untuk membuat sebuah
kerangka kerja yang berguna untuk membuat sebuah estimasi mengenai sumber daya,
biaya, dan jadwal yang kiranya dapat dipertanggungjawabkan.
3.Ruang Lingkup
Ruang Lingkup Perangkat Lunak dibuat guna untuk
menggambarkan fungsi, kinerja, batasan, interface, dan reliabilitas. Fungsi
berguna untuk memberikan gambaran yang lebih detail saat memulai estimasi.
Kinerja berguna untuk melihat proses dan waktu yang dibutuhkan. Batasan sendiri
berguna untuk membuat batasan pada perangkat lunak mengenai perangkat keras
yang digunakan, memori pengunaan dan system informasi yang ada.
4.Sumber Daya
Sumber daya dibutuhkan untuk menyelesaikan sebuah perangkat
lunak yang meliputi beberapa sumber daya yaitu manusia, perangkat lunak dan
lingkungan (Perangkat Lunak dan Perangkat Keras).Namun ada juga beberapa
karateristik dari masing-masing sumber daya :
- Deskripsi
Sumber Daya
- Statemen
Ketersediaan
- Waktu
Kronologis Sumber Daya Yang Diperlukan
- Durasi
Waktu Sumber Daya
5.Teknik Dekomposisi
Saat masalah yang terjadi sangat kompleks untuk
dipertimbangkan sebagai satu kesatuan, maka kita mendekoposisi masalah,
menandainya sebagai serangkaian masalah yang lebih kecil dengan cara berikut :
A.Software Sizing
Estimasi proyek perangkat lunak didasarkan pada sejumlah hal
berikut :
- Mengestimasi
ukuran produk dengan tepat dan sesuai.
- Membagi
estimasi dalam berbagai hal dan ukuran.
- Melihat
kemampuan dari tim perangkat lunak.
- Membuat
syarat produk yang mengdukung usaha pengembangan perangkat lunak.
Ada pula pendekatan yang berpengaruh dalam teknik ini yaitu
secara langsung dan tidak langsung. Putnam dan Myres mengusulkan 4 pendekatan
yaitu :
- Fuzzy-logic
Sizing
Pendekatan yang menggunakan teknik reasoning aproksimasi
yang merupakan dasar bagi fuzzy logic(logika kabur). Perencana harus
mengidentifikasi tipe aplikasi, membuat besarnya dalam skala kuantitatif, dan
menyaring besaran itu dalam bentuk originil.
- Function
Point Sizing
Perencanaan pengembangan estimasi karakteritik domain
informasi.
- Standart
Component Sizing
Perangkat lunak dibangun dari sejumlah komponen yang standar
yang berbeda-beda yang umum bagi suatu era aplikasi tertentu.
- Change
Sizing
Pendekatan ini digunakan bila proyek melingkupi pemakaian
perangkat lunak yang ada harus dimodihikasi dengan banyak cara sebagai bagian
dari sebuah proyek.
B.Perkiraan Berdasarkan Masalah
Baris kode(LOC) dan titik fungsi (FP) digambarkan sebagai
pengukuran dasar di mana metrik produktivitas dapat dihitung. Data LOC dan FP
digunakan dalam dua cara :
- Sebagai
variabel untuk estimasi yang dipakai untuk mengukur masing-masing elemen
perangkat lunak
- Sebagai
metrik baseline yang dikumpulkan dari proyek yang lalu dan dipakai dalam
hubungannya dengan variabel estimasi untuk mengembangkan proyeksi kerja
dan biaya.
6.Keputusan Make-Buy
Keputusan ini menentukan sebagai akhir dari perencaan proyek
perangkat lunak dimana ada terdapat beberapa keputusan make buy :
- Perangkat
Lunak dapat dibeli.
- Komponen
perangkat lunak full-experience dan partial-experiance dapat diperoleh dan
dikembangkan sendiri.
- Perangkat
lunak dapat dibuat custom-built oleh kontraktor luar untuk memenuhi
spesifikasi pembeli.
Pada akhirnya keputusan make-bu ditentukan oleh beberapa
kondisi berikut ini :
- Tanggal
Penyampaian
- Biaya
Yang Diperlukan Dukungan








0 komentar:
Posting Komentar