Bab 1. Pendahuluan
Pengertian Perangkat Lunak
-
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.
Tidak ada komentar:
Posting Komentar