BAB I
PENDAHULUAN
1. Latar Belakang
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.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak
sebagai penerapan suatu pendekatan yang sistematis, disiplin dan
terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak,
serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan
engineering atas perangkat lunak.
Rekayasa atau teknik adalah penerapan ilmu dan teknologi untuk
menyelesaikan permasalahan manusia. Hal ini diselesaikan lewat pengetahuan,
matematika, dan pengalaman praktis yang diterapkan untuk mendesain objek atau
proses yang berguna. Para praktisi teknik professional disebut
perekayasa (sarjana teknik).
Perkembangan ilmu pengetahuan inilah yang kemudian mengubah
cara teknik bekerja hingga seperti sekarang ini. Orang tidak lagi begitu
mengandalkan metode coba dan ralat dalam menciptakan atau mendesain peralatan,
melainkan lebih mengutamakan ilmu pengetahuan sebagai dasar dalam mendesain.
Istilah software engineering, pertama kali digunakan pada akhir
tahun 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan
konferensi tentang software engineering di Jerman dan kemudian dilanjutkan pada
tahun 1969. Meski penggunaan istilah software engineering dalam konferensi tersebut
menimbulkan perdebatan tajam tentang aspek engineering dari pengembangan
perangkat lunak, ada banyak pihak yang menganggap bahwa konferensi tersebutlah
yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak.
2. Rumusan Masalah
Rumusan masalah dari
rekayasa perangkat lunak yaitu :
v Jelaskan definisi Rekayasa perangkat lunak
v Kemukakan faktor dan aspek dari Rekayasa Perangkat Lunak.
3. Tujuan
Tujuan dari Rekayasa Perangkat Lunak yaitu sebagai menyeduakan
sebuah kerangka kerja guna membangun perangkat lunak dengan kualitas yang lebih
tinggi.
4. Manfaat
v Mahasiswa.
Untuk menpermudah mahasiswa dalam mengerjakan tugas dan
mempergunakan software aplikasi dalam pembelajarannya sehari-hari dan
mengetahui factor-faktor dari setiap pemakaian softwere.
v Dosen
Untuk memberikan materi kepada mahasiswa dan memberikan tugas
dengan menggunakan softwere aplikasi sesuai dengan mata kuliah yang di bawakan.
BAB II
PEMBAHASAN
1. Definisi Rekayasa Perangkat Lunak
Definisi Rekayasa Perangkat Lunak Menurut Fritz
Bauer : “Penerapan dan pemanfaatan prinsip-prinsip rekayasa untuk menghasilkan
perngkat lunak yang ekonomis yang handal dan bekerja secara efisisen pada
mesin-mesin yang nyata” Karakteristik Perangkat Lunak Dikembangkan atau
direkayasa, tidak dibuat dalam pengertian pada umumnya. Tidak ‘lapuk’ atau
mengalami penyusutan secara fisis.
Pada umumnya dibuat secara khusus, tidak
disusun dari komponen-komponen yang telah ada. Problem Perangkat Lunak
Perangkat lunak tidak berfungsi secara baik (kualitas yang
kurang).Ketidaktepatan penjadwalan proses dan biaya produksi. Produktivitas
yang belum dapat memenuhi tuntutan kebutuhan pemakai. Pemeliharaan yang sukar.
Perkembangan teknologi perangkat keras di luar kemampuan programmer untuk
membuat perangkat lunak yang dapat memanfaatkan potensi
perangkat keras secara maksimal.
Rekayasa perangkat lunak (RPL atau SE [Software
Engineering]) adalah satu bidang profesi yang mendalami cara-cara pengembangan
perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi
pengembangan perangkat lunak, dan sebagainya.
Pada
tahun 2004, istilah rekayasa perangkat lunak secara umum digunakan dalam tiga
arti, yaitu :
1. Sebagai istilah umum untuk berbagai kegiatan yang dulunya bernama
pemrograman atau analisis sitem.
2. Sebagai istilah yang luas untuk analisis teknis dari semua
aspek-aspek praktis yang bertentangan dengan teori pemrograman computer, dan
3. Sebagai istilah yang mewujudkan advokasi suatu pendekatan spesifik
ke pemrograman computer, satu hal yang mendesak yang diperlakukan sebagai
profesi rekayasa daripada sebuah seni atau kerajinan, dan advokasi dari
kodifikasi praktis yang disarankan dalam bentuk metodologi rekayasa perangkat
lunak.
Rekayasa perangkat lunak adalah disiplin
rekayasa dengan perangkat lunak yang dikembangkan. Biasanya proses melibatkan
penemuan pada keinginan klien, menyusunnya di dalam daftar kebutuhan,
perancangan, pengodean, pengujian, dan pengintegrasian bagian yang terpisah,
menguji keseluruhan, penyebaran dan pemeliharaan perangkat lunak.
Disiplin masih berada dalam pertumbuhannya
(tahap awal perkembangan/pengembangan) sebagai suatu disiplin rekayasa. Kita
tidak pernah mempunyai pengalaman yang cukup, maupun kumpulan data empiris yang
cukup untuk secara sistematis memahami dan meramalkan siklus hidup proyek
perangkat lunak.
The Software Engineering Body of Knowledge
(SWEBOK) membagi rekayasa perangkat lunak ke dalam 10 area pengetahuan, yaitu :
·
Kebutuhan perangkat
lunak,
·
Perancangan perangkat
lunak,
·
Konstruksi perangkat
lunak,
·
Pengujian perangkat
lunak,
·
Pemeliharaan
perangkat lunak,
·
Manajemen
konfigurasi perangkat lunak,
·
Manajemen perangkat
lunak,
·
Proses perangkat
lunak,
·
Metode dan tool
perangkat lunak, dan
·
Kualitas perangkat
lunak.
2. Faktor-Faktor Rekayasa Perangkat Lunak
Berbagai faktor yang memengaruhi perncanaan,
manajemen, dan pemilihan aktivitas SQM dan teknik-teknik adalah sebagai berikut
:
·
Daerah system yang
akan ditempati perangkat lunak (safety-critical, mission-critical, dan business
critical),
·
Kebutuhan system dan
perangkat lunak,
·
Komponen komersial
(eksternal) atau standar (internal) untuk digunakan di dalam sistem,
·
Standar rekayasa
perangkat lunak spesifik yang bisa diterapkan,
·
Metode dan tool
perangkat lunak yang digunakan untuk pengembangan dan pemeliharaan, dan untuk
peningkatan dan evaluasi kualitas,
·
Anggaran, staf,
organisasi proyek, rencana, dan penjadwalan dari semua proses-proses,
·
Pengguna yang
diharapkan dan penggunaan system, dan
·
Tingkat integritas
system.
Informasi pada factor ini memengaruhi bagaimana
proses SQM diorganisasikan dan didokumentasikan, bagaimana aktivitas SQM
spesifik dipilih, dan sumber daya apa yang diperlukan dan yang akan memaksakan
batas atau usaha.
1. Keterkaitan
Dalam situasi dengan kegagalan system yang
mungkin mempunyai konsekuensi yang sangat hebat, keterkaitan keseluruhan
(perangkat keras, perangkat lunak, dan manusia) adalah kebutuhan kualitas yang
utama disamping kemampuan dasar. Keterkaitan perangkat lunak mencakup
karakteristik toleransi kesalahan, keselamatan, keamanan, dan usabilitas.
Keandalan juga menjadi sebuah ukuran yang dapat digambarkan dalam hubungannya
dengan keterkaitan.
Badan literature untuk system harus sangat
dapat tergantung (“kepercayaan tinggi” atau “system integritas tinggi”).
Istilah untuk mekanisme tradisional dan system elektrik yang tidak boleh
mencakup perangkat lunak telah di import untuk mendiskusikan ancaman atau
risiko, integritas system, dan konsep yang berhubungan, dan mungkin menemukan
acuan yang dikutip untuk bagian ini.
2. Tingkat integritas perangkat lunak
Tingkat integritas ditentukan berdasarkan pada
konsekuensi kegagalan dari perangkat lunak. Dalam perangkat lunak yang
mementingkan keselamatan atau keamanan, teknik-teknik seperti analisis risiko
untuk keselamatan atau analisis ancaman untuk keamanan mungkin digunakan untuk
mengembangkan suatu aktivitas perencanaan yang akan mengidentifikasi daerah
yang potensial terhadap kekacauan. Sejarah kegagalan dari perangkat lunak juga
bisa membantu mendeteksi kesalahan dan menilai kualitas. Tingkatan integritas (
miasalnya, gradasi integritas) akan di usulkan di dalam suatu perangkat lunak.
3. Faktor Tim
Tim dapat digambarkansebagai suatu kelompok
perseorangan yang telah terorganisasi untuk kepentingan bekerja bersama untuk
mencapai sekumpulan tujuan yang tidak bisasecara efektif dicapai oleh
perseorangan yang bekerja sendiri. Efektivitas suatu tim mungkin diukur dalam
hasil terhadap penerimaa pelanggan, kemampuan tim, dan kepuasan perseorangan.
Masukan perseorangan dan organisasi dengan
mantap memengaruhi masukan tim. Proses pekerjaan tim ditandai oleh usaha yang
mengarah pada tujuan, pengetahuan dan keahlian yang digunakan, strategi
pengadopsian, dadan dinamika kelompok. Konstruksi tim dan manajemen merupakan
sebuah tantangan kritis di dalam pemecahan masalah yang dikendalikan perangkat
lunak (software-driven). Sebuah tim akan memerlukan :
·
Identifikasi tujuan,
·
Definisi strategi,
·
Manajemen tugas,
·
Manajemen waktu,
·
Penempatan sumber
daya,
·
Komposisi tim
antardispilin ilmu,
·
Waktu control,
·
Pelatihan,
·
Komunikasi tim,
·
Keterpaduan tim, dan
·
Evaluasi dan jaminan
kualitas.
Karakteristik utama dari kesuksesan tim mencakup :
1. Pembagian tujuan
Harus ada kesadaran bersama pada tujuan tim
umum dari semua anggota tim. Berbagi tujuan adalah sasaran yang langsung,
panduan dan pengintegrasian usaha perseorangan untuk mencapai hasil yang
diharapkan.
2. Kolaborasi efektif
Suatu tim harus bekerja sebagai tim. Tim ini
memerlukan kerja sama, individu pemberi kontribusi, pertukaran gagasan dan
pengetahuan oleh individu, dan pembangunan hubungan antarpribadi, dan
kepercayaan. Lingkungan proyek memudahkan dan mendorong kerja sama yang efektif
dan interoperasi.
3. Kemampuan individual
Masing-masing anggota tim harus dilatih dan
dipandu agar bisa bekerja sama dengan anggota tim lainnya,
·
Pembagian misis dan
tujuan,
·
Penyebaran informasi
lengkap tentang jadwal, aktivitas, dan prioritas
·
Pengembangan suatu
pemahaman peran dari tiap anggota tim,
·
Pemahaman untuk memperhatikan
konflik dan kebutuhan untuk memecahkannya
·
Secara efisien
memanfaatkan kemampuan perseorangan
·
Secara efektif
menyebarkan pertemuan –pertemuan,
·
Dengan teliti
mengevaluasi kinerja dari tiap anggota tim, dan
·
Secara terus menerus
memperbarui keahlian perseorangan untuk menemukan kebutuhan yang ada.
Indicator tambahan
dari operasi yang efektif meliputi tingkat dari keterlibatan dan keikutsertaan
manajemen proyek, focus pada tujuan, tanggung jawab bersama, orientasipada
pemikiran secara strategis, dan kecepatan untuk tanggap terhadap tantangan dan
peluang. Karakteristik kinerja tim ini memerlukan tiap-tiap anggota tim untuk
menyokong ide, beroperasi pada lingkungan yang berisi keanekaragaman keahlian ,
memahami kontribusi dari yang lain, berbagi pengetahuan, menanyakan tingkat
pemahaman secara aktif, mengambil bagian dengan penuh semangat, dan melatih
fleksibilita.
4. Faktor Pelanggan
Ada suatu kebenaran yang mutlak, yaitu rekayasa
perangkat lunak harus bisa menjadi pengendali pelanggan (customer-driver).
Bagian ini mempertimbangkan beberapa karakteristik dan teknik khusus dari
lingkungan pengembangan perangkat lunak yang dikendalikan pelanggan
(customer-driven), yang meliputi :
1. Pengembangan yang dikendalikan pelanggan bersifat padat kebutuhan
dan dikendalikan fitur Karena kebutuhan pelanggan adalah prioritas yang
tertinggi, kebutuhan pelanggan harus secara hati-hati dikumpulkan, dikenali,
ditetapkan, divisualisasikan, dan secara internal, diprioritaskan
anatarkebutuhan sendiri. Sebagai konsekuensinya, kebutuhan rekayasa menjadi
kunci tahap strategis antarproses rekayasa perangkat lunak.
2. Pengembangan yang dikendalikan pelanggan bersifat iterative
Pengembangan iterative menjadi penting karena mengizinkan umpan balik yang luas
dan pemberian jawaban untuk umpan balik.
3. Pengembangan yang dikendalikan pelanggan bertujuan untuk
mengembangkan aplikasi-aplikasi terbaik (killer application) Teknik ini adalah
satu-satunya cara untuk bertahan pada pasar yang sangat tinggi kompetisisnya.
4. Pengembangan yang dikendalikan pelanggan sangat menghargai waktu
pemasaran. Waktu berarti kesempatan sehingga aplikasi harus direkayasa secara
cepat dan efisien, cukup untuk menangkap peluang pasar yang bergantung waktu..
5. Pengembangan yang dikendalikan pelanggan berusaha untuk memberikan
kepuasan pada banyak stakeholder melalui situasi yang saling menguntungkan Setiap
aktivitas pengembangan perangkat lunak melibatkan banyak orang, masing-masing
mempunyai tujuan dan pandangan yang berbeda. Oleh karena itu, rekonsiliasi yang
efektif dari konflik atas kebutuhan system menjadi sebuah factor kunci dalam
meyakinkan kepuasan pelanggan.
6. Pengembangan yang dikendalikan pelanggan berfokus pada kualitas
produk dan layanan. Jaminan kualitas menyiratkan pengaturan proses perangkat
lunak, seperti pengembang dan pelanggan yang dicukupi dengan kualitas dan
konsistensi barang-barang atau jasa yang dihasilkan atau yang disediakan.
Pengembangan yang dikendalikan pelanggan memandang pelanggan sebagai mitra,
tidak hanya sebagai pembeli
7. Dalam meyakinkan harapan pelanggan, pelanggan perlu duduk bersama
dengan pengembang pada masing-masing tahap proses pengembangan perangkat lunak.
Hal tersebut dapat memperkecil resiko dan mengurangi siklus waktu selama proses
pengembangan.
8. Pengembangan yang dikendalikan pelanggan dapat dikostumisasi,
dipersonalisasi, dan sesuai dengan kebutuhan individu dan perubahan pada
kebutuhan Tidak ada dua bisnis atau perseorangan yang sama (permintaan dan
kebutuhan bertukar-tukar dan meningkat bahkan antarorganisasi tunggal).
Mengenali perbedaan perseorangan dan keanekaragaman organisasi menjadi suatu
kerumitan dalam penyediaan solusi yan efektif.
9. Pengembangan yang dikendalikan pelanggan diarahkan oleh psikologi
kognitif Psikologi kognitif mendapat pemikiran seperti bahasa untuk program
sumber perangkat lunak. Oleh karena itu, suatu pendekatan pengembangan
perangkat lunak yang dikendalikan pelanggan perlu menguji luas perancangan
perangkat lunak denagn teliti untuk mencerminkan kebutuhan pelanggan sebagai
kebutuhan yang dirasakan oleh pelanggan.
10.
Pengembangan yang
dikendalikan pelanggan harus informative dan mudah
diakses Perancangan suatu solusi perangkat lunak di dalam “era pelanggan”
(customer age) memerlukan layanan pelanggan yang penuh, dan mendukung bantuan
yang terdokumentasi dengan baik dan web interaktif. Aplikasi tidak menyediakan
informasi pendukung, seperti subjek kepada keluhan pelanggan, ketidakpuasan,
dan penolakan.
11.
Keamanan dan privasi
adalah suatu pertimbangan dalam solusi yang dikendalikan pelanggan Untuk
mendapatkan kepercayaan pelanggan, perekayasa perangkat lunak harus merancang
system yang dapat dipercaya, dan peka akan invasi privasi atau serangan peretas
(hacker). Keamanan dan privasi merupakan perhatian utama dari pelanggan
perangkat lunak.
3. Aspek Rekayasa Perangkat Lunak
Aspek multidisiplin ilmu factor manusia menjelma
pada tingkat masalah, isu yang dibahas adalah disiplin yang terkait dengan
orang-orang yang dapat membantu seseorang untuk memahami dasar masalah. Pada
tingkat solusi, perhatian yang utama adalah disiplin yang terkait dengan
orang-orang yang memungkinkan seseorang untuk ditunjuk di dalam pemecahan
masalah yang lebih baik.
Suatu proyek dapat dipikirkan sebagai kelompok
trugas dan aktivitas yang dilakukan di dalam periode dan pertemuan spesifik.
Sebuah proyek melibatkan suatu kumpulan sumber daya temporer yang ada
bersama-sama untuk memecahkan sebuah masalah spesifik
Tatnall dan Shackleton (1995), Rosenau (1998),
dan Meredith dan Mantel (1995) mengidentifikasi beberapa fitur karakteristik
proyek dan menjelaskn bahwa proyek itu unik. Proyek harus diselesaikan pada
periode waktu tertentu. Definisi proyek yang benar menjadi penting pada
manajemen proyek. Definisi proyek membantu menetapkan suatu lingkup yang jelas
untuk proyek dan bertindak sebagai dasar perencanaan proyek.
Langkah-langkah yang diperlukan untuk menggambarkan
sebuah awal proyek dilakukan dengan menggambarkan peluang proyeknya, penyediaan
uraian latar belakang yang menerapkan kebutuhan pada proyek, dan kemudian
menggambarkan tujuan untuk proyek. Setelah mengidentifikasi stakeholder dan
sumber daya yang tersedia, seseorang harus mengidentifikasi proyek yang terkait
yang akan memengaruhi atau dipengaruhi oleh proyek dalam pertimbangan
Seseorang kemudian mengidentifikasi
kriteria-kriteria untuk memutuskan apakah suatu proyek itu baik, pemahamannya
mencakup batasan proyek, asumsi, dan risiko, seerti halnya implikasi seperti
batasan dan asumsi untuk risiko proyek. Manajemen proyek dapat digambarkan
sebagai sekumpulan prinsip, metode, alat, dan teknik untuk perencanaan,
pengorganisasian, penempatan pekerja, pengarahan, dan pengendalian aktivitas
yang berkaitan dengan proyek untuk mencapai tujuan proyek di dalam waktu, di
bawah biaya, dan batasan kinerja.
Aktivitas manajemen proyek dapat digolongkan menurut tahapan
proyek, yaitu :
1. Konsepsi proyek
Tujuan dari tahap
konseptual adalah untuk menentukan kelayakan proyek. Sasaran akan diujidalam
konteks lingkungan bisnis, cara alternative akan ditetapkan dan dievaluasi, dan
perkiraan persiapan biaya, jadwal, dan risiko yang dikerjakan akan ditentukan.
Puncak dari tahap ini adalah keputusan, misalnya keputusan untuk meneruskan
proyek.
2. Perencanaan
Kinerja, biaya, dan
perkiraan jadwal ditentukan sampai batas pemerincian rencana untuk pelaksanaan
proyek dapat dibuat. Anggaran dan jadwal akan dikembangkan, tim proyek dibentuk,
dan system manajemen proyek dibentuk untuk memandu manajemen proyek..
3. Eksekusi
Manajer proyek akan
bertanggung jawab untuk mengatur sumber daya yang diperlukan untuk memenuhi
sasaran. Penekanan dari tanggung jawab bergeser dari perencanaan untuk control.
4. Terminasi
Tahap ini dapat
dipicu dengan terminasi premature atau dengan pencapaian kesuksesan dari
tujuan.
BAB III
PENUTUP
DAFTAR PUSTAKA
4. http://blog.pgpaud.ac.id/dokumen/rekayasa+perangkat+lunak
Tidak ada komentar:
Posting Komentar