Pemodelan Perangkat Lunak
1. Pengertian perangkat lunak
Perangkat
lunak merupakan program komputer yang berfungsi menghubungkan antara pengguna
dan komputer yang digunakan.
dapat dibilang perangkat lunak merupakan sebagai media
penerjemah perintah yang diberikan oleh pengguna kepada komputer untuk
selanjutnya diproses melalui perangkat keras komputer tersebut.Perangkat lunak
umumnya digunakan untuk mengontrol perangkat keras yang biasa disebut sebagai
device driver, melakukan proses penghitungan, berinteraksi dengan perangkat
lunak yang lebih mendasar lainnya, seperti sistem operasi dan bahasa
pemrograman.
Secara umum
ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem
operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan
perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman
seperti java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan
penrangkat yang digunakan untuk membantu dan memudahkan pekerjaan seseorang misalnya
saja Microsoft Excel, Word, dan Power Point
2. Pengertian Rekayasa Perangkat Lunak
Rekayasa
atau teknik merupakan penerapan ilmu dan teknologi untuk menyelesaikan
permasalahan manusia. Hal ni diselesaikan lewat pengetahuan, matematika, dan
pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang
berguna. Para praktisi teknik professional disebut perekayasa.
Rekayasa
perangkat lunak atau Software engineering dalam bahasa inggris merupakan bidang
ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti
cara-cara pengembangan, pemeliharaan , pembuatan, serta manajemen
kualitas perangkat lunak.
Rekayasa
perangkat lunak jugamerupakan disiplin rekayasa dengan perangkat lunak yang
dikembangkan. Biasanya proses melibatkan penemuan pada keinginan klien,
menyusunnya didalam daftar kebutuhan, merangcang arsitektur yang mampu
mendukung semua kebutuhan, perancangan, pengodean, pengujian, dan
pengintegrasian bagian yang terpisah, menguju keseluruhan, penyebaran, dan pemeliharaan
perangkat lunak.
3.perbedaan Rekayasa Perangkat Lunak dengan Ilmu
Komputer
Perbedaan
antara rekayasa perangkat lunak dengan ilmu koputer sudah terlihat dari Bahasa
Inggrisnya rekayasa perangkat lunak dalam Bahasa Inggris disebut sebagai
software engineering , sedangkan ilmu komputer dalam bahasa inggris disebut
science. Dari segi ilmu yang dipelajari rekayasa perangkat lunak
merupakan bidang ilmu yang mempelajari tentang perangkat lunak, sedangkan ilmu
komputer mempelajari tentang komputasi, perangkat keras, serta beragam topic
yang berkaitan dengan komputer.serta ilmu komputer lebih menekankan pada
pemrograman komputer sedangkan rekayasa perangkat lunak tidak. Selain itu
rekayasa perangkat lunak lebih mengedepankan prakteknya, sedangkan ilmu
komputer lebih mengedepankan teori.
4.Proses
perangkat lunak merupakan proses bagaimana sebuah perangkat lunak itu dapat
terbentuk yang dilakukan oleh perekayasa perangkat lunak, proses proses
tersebut diantaranya adalah :
A. Proses
spesifikasi perangkat lunak. Pada proses ini fungsi,kemampuan operasi perangkat
lunak yang akan dibuat harus diketahui terlebih dahulu.
B.Proses
pengembangan perangkat lunak. Setelah diketahui fungsi serta kemampuan
perangkat lunak yang akan dibuat selanjutnya perangkat lunak yang telah
memenuhi spesifikasi diproduksi.
C. Proses
validasi perangkat lunak. Pada proses validasi ini perangkat lunak yang telah
diproduksi akan divalidasi sebagai bukti perangkat lunak yang diproduksi
berguna sesuai kebutuhan yang diperlukan.
D. Evolusi
perangkat lunak. Dengan berkembangnya jaman perangkat lunak yang sudah
diproduksipun haruslah berevolusi agar tetap dapat berguna untuk memenuhi
kebutuhan pelanggan.
5. model
proses perangkat lunak
Model proses
perangkat lunak merupakan cara untuk memproses sebuah perangkat lunak dari nol
menjadi sebuah perangkat lunak yang siap untuk digunakan. Berikut merupakan
beberapa contoh model proses perangkat lunak yang biasa digunakan
A. Waterfall Model atau Model Air Terjun
- Sejarah model waterfall
Nama model
ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut
dengan “classic life cycle” atau model waterfall. Model ini pertama kali
yang diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering
dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software
Engineering (SE). Model ini melakukan pendekatan secara sistematis dan
berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui
harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
- Pengertian Waterfall
Waterfall
atau AIR terjun adalah model yang dikembangkan untuk pengembangan perangkat
lunak, membuat perangkat lunak. model berkembang secara sistematis dari
satu tahap ke tahap lain dalam mode seperti air terjun.
Model ini
mengusulkan sebuah pendekatan kepada pengembangan software yang sistematik dan
sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis,
desain, kode, pengujian dan pemeliharaan. Model ini melingkupi
aktivitas-aktivitas sebgai berikut : rekayasa dan pemodelan sistem informasi,
analisis kebutuhan, desain, koding, mengujian dan pemeliharaan.
Model pengembangan
ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan
sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan
berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai
dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.
- Tahapan atau fase model
waterfall
Ini adalah
gambar tahapan atau fase yang paling umum tentang model waterfall
Akan tetapi
Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis
besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah
Gambar dan penjelasan dari tahap-tahap yang dilakukan di dalam model ini
menurut Pressman:
1)
System / Information Engineering and Modeling. Permodelan ini diawali
dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke
dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat
berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb.
Tahap ini sering disebut dengan Project Definition.
2)
Software Requirements Analysis. Proses pencarian kebutuhan
diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program
yang akan dibuat, maka para software engineer harus mengerti tentang domain
informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb.
Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus
didokumentasikan dan ditunjukkan kepada pelanggan.
3)
Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi
representasi ke dalam bentuk “blueprint” software sebelum coding dimulai.
Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada
tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus
didokumentasikan sebagai konfigurasi dari software.
4)
Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah
komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat
dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding.
Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya
dikerjakan oleh programmer.
5)
Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan.
Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan,
agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan
kebutuhan yang sudah didefinisikan sebelumnya.
6)
Maintenance. Pemeliharaan suatu software diperlukan, termasuk di
dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya
seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak
ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada
software tersebut. Pengembangan diperlukan ketika adanya perubahan dari
eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau
perangkat lainnya.