Nama : NURAIDA DWI UTARI
Kelas : X RPL 1
Progam Keahlian : Rekayasa Perangkat Lunak (RPL)
BAB
1 PENDAHULUAN
Perangkat lunak adalah seluruh perintah yang
digunakan untuk memproses informasi.
-
Program adalah kumpulan perintah
yang dimengerti oleh komputer.
-
Prosedur adalah perintah yang
dibutuhkan oleh pengguna dalam memproses inforamasi (O’Brein, 1999)
-
Pengertian RPL : Suatu disiplin
ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal
yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan
pengguna, desain, pengkodean pengujian sampai pemeliharaan sistem setelah
digunakan.
-
Tujuan RPL : Memperoleh biaya
produksi perangkat lunak yang rendah, menghasilkan perangkat lunak yang
kinerjanya tinggi dan menghasilkan perangkat lunak yang biaya perawatannya
rendah.
-
Ruang Lingkup RPL : 1. Software
requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat
lunak. 2. Software design mencakup proses penentuan arsitektur. 3. Software
construction berhubungan dengan detil pengembangan perangkat lunak. 4. Software
testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. 5.
Software maintenance mencakup upaya upaya perawatan perangkat lunak telah
dioperasikan. 6. Software configuration management berhubungan dengan usaha
perubahan konfigurasi perangkat lunak. 7. Software engineering management
berkaitan dengan pengelolaan dan pengukuran RPL. 8. Software engineering tools
and methods mencakup kajian teoritis tentang alat bantu dan metode RPL. 8.
Software engineering process berhubungan dengan definisi, implementasi,
pengukuran, pengelolaan, perubahan dan perbaikan proses RPL. 9. Software
quality menitikberatkan pada kualitas dan daur hidup perangkat.
-
Rekayasa perangkat lunak dan
disiplin ilmu komputer (Computer Science) lahir pada awal – awal tahun 1940-an
yang merupakan integrasi dari teori algoritma.
-
Klasifikasi disiplin ilmu
komputer menurut ACM (1998) : Computer Scienc – Section A komputasi umum –
Section B perangkat lunak – Section C organisasi sistem komputer – Section D
perangkat lunak – Section E data – Section F teori komputasi – Section G
Matematika konmputasi – Section H sistem informasi – Section I metodologi
komputasi – Section J aplikasi komputer di bidang lain – Section K aspek lain.
-
Klasifikasi disiplin ilmu
komputer menurut Denning (2000) : Computer Science – Algoritma & Struktur
data – bahasa pemrograman – arsitektur komputer – sistem operasi dan jaringan –
rekayasa perangkat lunak – basis data dan pencarian informasi – intelegensia
buatan dan robotika – grafis – interaksi komputer manusia – ilmu pengetahuan
komputasi – pengorganisasian informatika – bio informatics
-
Klasifikasi disiplin ilmu
komputer menurut Wikipedia (2007) Computer Science – dasar matematika komputasi
– teori komputasi – algoritma dan struktur data – bahasa pemrograman dan
compliers – concurrent parallel dan sistem terdistribusi – rekayasa perangkat
lunak – komunikasi – basis data – intelijensia buatan – komputer grafis dan
visual – interaksi manusia komputer – komputasi untuk ilmu pengetahuan.
-
Rekayasa perangkat lunak dan
disiplin ilmu lain, 1. Bidang ilmu manajemen meliputi akutansi, financial,
pemasaran, manajemen, operasi, ekonomi, analisis, kuantitatif, manajemen sumber
daya manusia, kebijakan dan strategi bisnis. 2. Bidang ilmu matematika meliputi
aljabar linier, kalkulus, peluang, statistic, analisis numeric dan matematika
diskrit. 3. Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan
dengan proyek. 4. Bidang ilmu manajemen kualitas meliputi pengembangan sistem
kualitas manajemen resiko dan keandalan. 5. Bidang ilmu ergonomika menyangkut
hubungan (interaksi) antara manusia dengan komponen – komponen lain dalam
sistem komputer. 6. Bidang ilmu rekayasa sistem meliputi teori sistem, analisis
biaya – keuntungan, pemodelan, simulasi, proses dan operasi bisnis.
-
Perkembangan rekayasa perangkat
lunak : 1. Tahun 1940-an, komputer pertama yang membolehkan pengguna menulis
kode program langsung. 2. Tahun 1950-an, generasi awal interpreter dan bahasa
macro generasi pertama compiler. 3. Tahun 1960-an, generasi kedua compiler
komputer mainframe mulai dikomersialkan, pengembangan perangkat lunak pesanan,
konsep software engineering mulai digunakan. 4. Tahun 1970-an, perangkat
pengembang perangkat lunak, perangkat minicomputer terkenal. 5. 1980-an,
perangkat komputer personal (PC) komersial, perangkat minicomputer komersial.
6. 1990-an pemrograman berorientasi objek (OOP), agile process dan extreme
programming, peningkatan drastis kapasitas memori, peningkatan penggunaan
internet. 7. Tahun 2000-an, platform interpreter modem (Java, .Net, PHP, dll), outsourcing.
-
Rekayasa perangkat lunak dan
pemecahan masalah : Masalah dan gejala. Masalah (problem) adalah perbedaan
antara kondisi yang terjadi dan kondisi yang diharapkan atau boleh juga
diartikan sebagai perbedaan antara kondisi sekarang dengan tujuan yang
diinginkan. Gejalan adalah tanda/petunjuk terjadinya suatu masalah.
Tipe – tipe masalah : 1. Masalah
pemenuhan standar, tipe masalah dalam kelompok ini adalah masalah – masalah
yang berhubungan dengan pencapaian standar yang telah ditetapkan dalam sebuah
organisasi. 2. Masalah pemilihan alternatif,
masalah dalam kelompok ini berhubungan dengan bagaimana memilih solusi
terbaik dari berbagai alternatif berdasarkan criteria – criteria tertentu. 3.
Masalah pemenuhan kepuasan konsumen, pada organisasi – organisasi yang bersifat
profit (mencari keuntungan). 4. Masalah pencapaian tujuan, tipe ini mirip tipe
pertama (masalah pemenuhan standar).
-
Pemecahan masalah adalah sebuah
proses di mana suatu situasi diamati kemudian bila ditemukan ada masalah dibuat
penyelesaiannya dengan cara menentukan masalah, mengurangi atau menghilangkan
masalah atau mencegah masalah tersebut terjadi.
-
Secara umum proses pemecahan
masalah dapat dilakukan dengan empat tahapan utama, yaitu : 1. Memahami dan
mendefinisikan masalah 2. Membuat rencana untuk pemecahan masalah, mencari
berbagai cara penyelesaian yang mungkin diterapkan dan membuat rencana
pemecahan masalah. 3. Merancang dan menerapkan rencana untuk memperoleh cara
penyelesaiannya. 4. Memeriksa dan menyampaikan hasil dari pemecahan masalah.
BAB 2 METODE REKAYASA PERANGKAT LUNAK
Model
proses rekayasa perangkat lunak
-
Setiap model yang dikembangkan
mempunyai karakteristik sendiri – sendiri. Namun, secara umum ada persamaan
dari model – model, yaitu : 1. Kebutuhan terhadap definisi masalah yang jelas.
2. Tahapan – tahapan pengembangan yang teratur. 3. Stakeholder berperan sangat
penting dalam keseluruhan tahapan pengembangan. 4. Dokumentasi merupakan bagian
penting dari pengembangan perangkat lunak. 5. Keluaran dari proses pengembangan
perangkat lunak harus bernilai ekonomis.
-
The Waterfall model, tahapan –
tahapan dalam The Waterfall Model secara ringkas adalah sebagai berikut: 1.
Tahapan investigasi dilakukan untuk menentukan apakah terjadi suatu masalah
atau adakah peluang suatu sustem informasi dikembangkan. 2. Tahap analisis
bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa
kondisi yang ada. 3. Tahap disain bertujuan menentukan spesifikasi detil dari
komponen – komponen sistem informatika. 4. Tahap implementasi merupakan tahapan
untuk mendapatkan atau mengembangakan hardware dan software. 5. Tahapan
perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan.
-
Phototyping model, phototyping
adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara
langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen –
komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan
konstruksi aktual dilakukan (Howard, 19977).
-
Klasifikasi prototyping model
(Harris, 2003): 1. Reusable prototype, prototype yang akan ditransformasikan
menjadi produk final 2. Throwaway prototype, prototype yang akan dibuang begitu
selesai menjalankan maksudnya. 3. Input / output prototype, prototype yang
terbatas pada antar muka pengguna (user interface). 4. Processing protoytype,
prototype yang meliputi perawatan file dasar dan proses – proses transaksi. 5.
System prototype, prototype yang berupa model lengkap dari perangkat lunak.
-
Strategi utama dalam prototyping
adalah kerjakan yang mudah terlebih dahulu dan sampaikan hasil kepada pengguna
sesegera mungkin. Adapun tahapan – tahapannya yang dibagikan oleh Harris (2003)
dijelaskan sebagai berikut: 1. Identifikasi kandidat prototyping. 2. Rancang
bangun prototype dengan bantuan software seperti word processor. 3. Uji
prototype untuk memastika prototype dapat dengan mudah dijelaskan untuk
demonstrasi, 4. Siapkan prototype USD (User’s System Diagram). 5. Evaluasi
dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika
diperlukan. 6. Tranformasikan prototype untuk menjadi perangkat lunak yang
beroperasi penuh.
-
Unfied Process (UP) atau kadang
disebut sebagai Unified Software Development Process (USDP) adalah kerangka
proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat
lunak, interatif dan tumbuh-kembang
(Alhir,2005).
-
Penjelasan singkat untuk empat
tahapan dalam UP adalah sebagai berikut: 1. Inception, tahapan ini merupakan
tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek perangkat
lunak dilakukan. 2. Elaboration, tujuan dari tahap ini adalah untuk mendapatkan
gambaran umum kebutuhan, persyaratan dan fungsi – fungsi utama perangkat lunak.
3. Construction, tujuan dari tahapan ini adalah membangun perangkat lunak
tersebut siap digunakan. 4. Transition, tahap ini difokuskan pada bagaimana
menyampaikan perangkat lunak yang sudah jadi pada pengguna.
-
Beberapa jenis yang disediakan
dalam UML, amtara lain adalah : 1. Use-case diagram. 2. Activity diagram. 3.
Class diagram. 4. Sequence diagram. 5. State machine diagram. 6. Component
diagram
-
Tahapan rekayasa perangkat lunak
: analysis – design – coding (construction) – testing – maintenance.
-
Analisis sistem adalah sebuah
teknik pemecahan masalah yang menguraikan sebuah sistem menjadi komponen –
komponennya dengan tujuan mempelajari
seberapa bagus komponen – komponen tersebut bekerja dan berinteraksi untuk
tujuan mereka. Model proses adalah model yang memfokuskan pada seluruh proses
di dalam sistem yang mentranformasikan data menjadi informasi (Harris, 2003).
-
Umumnya ada empat notasi yang
sering digunakan dalam PDF : 1. External entinity 2. Proses 3. Data store 4.
Data flow
-
Aturan – aturan dalam DFD
Kelompok
|
|
Umum
|
-
Input- input ke suatu process akan selalu
berbeda dengan output-outputnya
-
Obyek – obyek
|
External entinity
|
-
Nama yang dipakai pada external entity selalu
menggunakan kata benda
-
Data tidak boleh mengalir secara langsung
|
Process
|
-
Nama yang dipakai pada process selalu
menggunakan kata kerja
-
Tidak ada process yang hanya menghasilkan output
-
Tidak ada process yang hanya menerima input
|
Data storage
|
-
Nama yang dipakai pada data storage selalu
menggunakan kata benda
-
Data tidak boleh mengalir secara langsung
|
Data flow
|
-
Nama yang dipakai pada data flow selalu
menggunakan kata benda
-
Data flow di antarra dua notasi hanya memiliki
satu arah aliran.
-
Percabangan (fork)
-
Penggabungan (join)
-
Data flow menuju data storageberarti terjad
update data
-
Data flow dari data storage berarti terjadi
pembacaan/ pengambilan data
|
-
Desain perangkat lunak adalah
tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari
solusi berbasis komputer (Whitten et al, 2004)
-
Konstruksi adalah tahapan
menerjemahkan hasil design logis dan fisik ke dalam kode-kode program computer.
-
Pengujian sistem melibatkan semua
kelompok pengguna yang telah direncanakan pada tahap sebelumnya.
-
Perawatn dan konfigurasi
-
Tipe perawatan corrective
dilakukan jika terjadi kesalahan atau biasa dikenal dengan bugs.
-
Tipe perawatan routine biasa juga
disebut preventive maintenance dilakukan secara rutin
-
Tipe perawatan sistem upgrade
dilakukan jika ada perubahan dari komponen komponen yang terlibat dalam
perangkat lunak tersebut.