Professional Documents
Culture Documents
PENDAHULUAN
Rekayasa perangkat lunak (software engineering) adalah suatu proses rancang bangun.
Beberapa definisi tentang rekayasa perangkat lunak :
• Pembentukan dan penggunaan prinsip rekayasa (engineering) untuk mendapatkan
perangkat lunak secara ekonomis namun andal dan dapat bekerja secara efesien pada
komputer (Fritz Bauer, 1968).
• Penerapan pendekatan yang sistematis, disiplin, dan terukur untuk pengembangan,
operasi, dan pemeliharaan perangkat lunak (IEEE, 1993).
• Suatu disiplin yang mengintegrasikan proses/prosedur, metode, dan perangkat tools
untuk pembangunan perangkat lunak komputer (Pressman, 97).
• Merupakan aplikasi dari prinsip-prinsip sains untuk
Proses RPL dimulai jauh sebelum “Coding” dilakukan dan berlanjut terus setelah versi
awal dari program selesai dikerjakan.
Sisi Sponsor :
Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor ingin
menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas organisasi.
Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan biaya yang
rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal, fleksibel dan
efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan dari sistem
tersebut harus serendah mungkin.
Sisi Pemakai :
Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas-
tugasnya. Karena itu perangkat lunak harus menyediakan fungsi-fungsi yang
dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat
lunak harus dapat menghasilkan output yang konsisten. Selain itu pemakai harus
merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan
mudah untuk diingat.
Sisi Maintainer/modifier :
b. Tujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yang
efisien.
c. Sedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat pada
waktunya.
Mitos : Kita sudah punya buku yang berisi standard dan prosedur yang banyak untuk
pengembangan perangkat lunak. Bukankah hal ini sudah cukup untuk mencari semua
yang ingin diketahui ?
Kenyataan : Buku-buku itu memang lengkap, tapi apakah digunakan ? Apakah praktisi
perangkat lunak sadar dengan keberadaannya? Apakah cocok dengan pengembangan
yang modern? Apakah benar-benar lengkap ? Pada banyak kasus jawabannya adalah
tidak.
Mitos : Staff Kami mempunyai alat Bantu pengembangan yang canggih, bahkan
dibelikan komputer generasi terbaru.
Kenyataan : Masalah pengembangan perangkat lunak yang berkualitas lebih penting
dari sekedar komputer yang terbaru. CASE (Computer Aided Software Engineering)
tools lebih penting daripada perangkat keras untuk mendapatkan kualitas dan
produktifitas yang baik, tapi banyak pengembang perangkat lunak yang tidak
menyadarinya.
Mitos : Sebuah kalimat umum yang menyatakan objektif sudah cukup untuk memulai
menulis program. Kita bias perinci lagi nanti.
Kenyataan : Definisi yang tidak jelas, justru akan menggagalkan usaha pengembangan
perangkat lunak. Justru diperlukan deskripsi formal dan detil dari domain informasi,
fungsi, performansi, antarmuka, batasan desain, dan kriteria validasi. Karakteristik ini
hanya bias didapat melalui komunikasi total antara pelanggan dan pengembang.
Mitos : Kebutuhan proyek akan terus berubah, tapi perubahan ini akan dapat ditanggapi
dengan mudah karena perangkat lunak itu bersifat fleksibel
Kenyataan : memang betul kebutuhan perangkat lunak akan berubah, namun
dampaknya tergantung pada waktu pemunculannya. Jika muncul pada tahap definisi,
pengaruhnya tidak banyak, lebih kebelakang dampaknya akan lebih besar.
Mitos : Faktor penentu suksesnya proyek adalah program yang dapat berjalan
Kenyataan : Program hanyalah salah satu komponen dari perangkat lunak.
Dokumentasi penting sebagai dasar pengembangan yang sukses serta sebagai penunjuk
untuk pemeliharaan perangkat lunak
5. Pengujian (Testing)
Setelah kode program selesai testing dapat dilakukan. Testing memfokuskan pada
logika internal dari perangkat lunak, fungsi eksternal dan mencari segala
kemungkinan kesalahan dan memriksa apakah sesuai dengan hasil yang diinginkan.
6. Pemeliharaan (Maintenance)
Merupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah
perangkat lunak dipergunakan. Kegiatan :
• Corrective Maintenance : Mengoreksi kesalahan pada perangkat lunak, yang
baru terdeteksi pada saat perangkat lunak dipergunakan
• Adaptive Maintenance : Penyesuaian dengan lingkungan baru, misalnya sistem
operasi atau sebagai tuntutan atas perkembangan sistem komputer, misalnya
penambahan printer driver
• Perfektive Maintenance : Bila perangkat lunak sukses dipergunakan oleh
pemakai. Pemeliharaan ditujukan untuk menambah kemampuannya seperti
memberikan fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
B. Prototyping Model
Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan
objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan
outputnya, sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasi
sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil. Cakupan
aktivitas dari prototyping model terdiri dari :
1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang
sudah diketahui.
2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype.
D. Spiral Model
Merupakan model proses perangkat lunak yang memadukan wujud
pengulangan dari model prototyping dengan aspek pengendalian dan sistematika dari
linear sequential model, dengan penambahan elemen baru yaitu analisis resiko. Model
ini memiliki 4 aktivitas penting, yaitu :
1. Perencanaan (Planning), penentuan tujuan, alternatif dan batasan
2. Analisis resiko (Risk Analysis), analisis alternatif dan identifikasi/pemecahan resiko
3. Rekayasa (Engineering), pengembangan level berikutnya dari produk
4. Evaluasi Pemakai (Customer Evaluation) penilaian terhadap hasil rekayasa
Salah satu keuntungan penggunaan model 4GT adalah pengurangan waktu dan
peningkatan produktivitas secara besar, sementara kekurangannya terletak pada
kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahsa
pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
Untuk aplikasi yang yang kecil, adalah mungkin untuk langsung berpindah dari
pengumpulan kebutuhan ke implementasi dengan menggunakan 4GL. Tapi untuk
aplikasi yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau
digunakan 4GL. Penggunaan 4GT tanpa perencanaan yang matang (untuk proyek skala
besar) akan meyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek,
ketidakpuasan pelanggan) seperti dengan metode konvensional.
Estimasi
Dalam aktifitas utama proyek yaitu perencanaan, dilakukan estimasi :
• Sunber daya manusia (ukuran orang/bulan)
• Jangka waktu kronologis (Ukuran waktu kalender)
• Biaya (Ukuran uang Rp)
Analisis Resiko
Analisis resiko sangat penting dalam manajemen proyek perangkat lunak. Beberapa
hal yang harus diperhatikan berkaitan dengan resiko adalah ;
• Masa yang akan dating : resiko apa yang mempengaruhi trend (kecenderungan)
proyek perangkat lunak
• Perubahan : Bagaimana perkembangan dunia mempengaruhi keawetan dan
kesuksesan perangkat lunak
• Pilihan : metode apa yang dipakai, berapa orang diperlukan, seberapa tinggi kualitas
perangkat lunak dan sebagainya
• Perkiraan resiko
Memperhitungkan lebih lanjut estimasi resiko dalam bentuk : [ri, li, xi] dengan
ri : resiko
li : kemungkinan terjadinya
xi : akibat dari resiko dengan memprioritaskan resiko dan memulai memikirkan cara
mengendalikan dan atau mengurangi resiko yang mungkin terjadi
• Proyeksi resiko
Disebut juga estimasi resiko, adalah usaha untuk mengukur setiao resiko dengan 2
cara :
1. Kemungkinan adanaya resiko
2. Konsekuensi (masalah yang bisa timbul karena resiko)
Penjadwalan
Langkah-langkah yang dilakukan dalam penjadwalan :
• Identifikasi sekumpulan tugas
• Pastikan keterkaitan antar tugas
• Estimasi usaha untuk tiap-tiap tugas
• Tentukan pekerja dan sumber-sumber lainnya
• Buat jaringan tugas
• Buat jadwal kerja berdasarkan waktu
Menurut Basili dan Zelkowitz ada 5(lima) faktor yang mempengaruhi produktivitas perangkat
lunak :
• Faktor manusia : jumlah dan tingkat keahlian tim
• Faktor masalah : Tingkat kerumitan masalah yang harus dipecahkan
• Faktor proses : Teknik analisis dan desain, bahasa dan tools
• Faktor produk : keandalan dan performansi sistem berbasis komputer
• Faktor sumber daya : ketersediaan tools, sumber-sumber perangkat keras dan
perangkat lunak
Requirements
spesifications
Correct Erroneous
spesification Spesification
Design
Design based
Correct Erroneous
on erroneous
design design
spesification
Implementation
Programs Programs
Correct Programing based on based on
programs errors erroneous erroneous
design spesification
Testing
uncoretable
correct coretable hidden
errors
functions errors error
Imperfect program
product
3. Berorientasi objek
Berbeda dengan pendekatan-pendekatan sebelumnya, pendekatan berorientasi objek
memandang sistem yang akan dikembangkan sebagai suatu kumpulan objek yang
berkorespondensi dengan objek-objek dunia nyata. Pada pendekatan ini, informasi
dan proses yang dipunyai oleh suatu objek “dienkapsulasi” (dibungkus) dalam satu
kesatuan. Beberapa metode pengembangan sistem yang berorientasi objek ini
diantaranya adalah :
• Object Oriented Analysis (OOA) dan Object Oriented Design (OOD) dari Peter
Coad dan Edward Yourdon [1990].
• Object Modelling Technique (OMT) dari James Rumbaugh [1987].
• Object Oriented Software Engineering (OOSE)
Elemen-elemen DFD
Ada empat elemen yang membentuk suatu Data Flow Diagram, yaitu :
1. Aliran Data (Data Flow)
• Pipa saluran dimana paket informasi yang diketahui komposisinya mengalir.
• Penghubung antar proses yang merepresentasikan informasi yang dibutuhkan proses
sebagai masukan atau informasi yang dihasilkan proses sebagai keluaran.
• Aliran paket informasi dari satu bagian sistem ke bagian sistem lainnya.
• Umumnya mengalir antar proses, tetapi dapat juga mengalir keluar masuk dari ke
file (data store) atau dari ke sumber tujuan data.
• Data yang dinyatakan dengan aliran data boleh datang dari beberapa dokumen, jadi
tidak perlu dirinci menjadi dokumen-dokumen tersebut.
• Diberi nama sesuai dengan substansi isi dari paket informasi (bukan nama dokumen)
yang mengalir.
• Jumlah aliran data yang masuk dan keluar proses harus sama
2. Proses
• Transformasi aliran data yang datang menjadi aliran data yang keluar.
• Transformasi bagaimana satu atau beberapa masukan diubah menjadi keluaran.
• Menjelaskan proses-proses transformasi data apa saja yang ada dalam sistem atau
yang harus dikerjakan oleh sistem. Komponen-komponen fisik tidak dapat
diidentifikasikan sebagai proses.
• Diberi nama dan nomor yang akan dipergunakan untuk keperluan identifikasi. Nama
yang diberikan harus dapat menjelaskan apa yang dilakukan oleh proses. Nama
proses baisanya ditulis dalam kata kerja.
Berikut adalah tabel yang menunjukkan notasi yang digunakan dalam DFD.
Tabel 4.1. Simbol Data Flow Diagram
DEMARCO/YOURDON GANE/SARSON KETERANGAN
Aliran Data
Proses
Entitas Eksternal/
Terminator
Data Store
Penggambaran DFD
Ada dua pendekatan penggambaran/pembuatan DFD yaitu pendekatan fisik dan logika.
Pendekatan Fisik
• Mengerjakan apa atau siapa yang mengerjakan proses-proses dalam sistem.
• Biasanya penggambaran DFD fisik dilakukan untuk alasan :
¾ Kemudahan tahap awal dalam menguraikan interaksi antar komputer fisik
suatu sistem.
¾ Memberi kemudahan bagi pihak pemakai untuk memahami sistem dilihat
dari sudut pandangnya.
¾ Merupakan salah satu cara yang mudah untuk mendapatkan pengesahan dan
verifikasi dari pemakai.
• Cukup efektif dalam mengkomunikasikan sistem pada pihak pemakai.
Pendekatan Logika
• Menggambarkan proses atau fungsi transformasi data yang ada dalam sistem (bukan
apa atau siapa yang mengerjakannya).
Diagram Konteks
Menggambarkan secara umum konteks yang terjadi dalam sistem antara dunia internal
dan dunia eksternal yang berbatasan. Merupakan lapisan teratas terhadap sistem yang
akan di bahas.
• Saat ini ada banyak variasi penulisan kamus data, yang secara umum dibedakan
menjadi bentuk lengkap (long form) dan bentuk ringkas (short form).
Contoh
Id. Barang = Kode_Brg + Nama_Brg + Satuan + Hrg_Beli + Hrg_Jual + Banyak
Kode_Brg = 1 {character} 6
Nama_Brg = 1 {character} 20
Satuan = 1 {character} 3
Hrg_Beli = 3 {numeric} 10
Hrg_Jual = 3 {numeric} 10
Banyak = 1 {numeric} 6
character = [A-Z(a-z(0-9(-( (]
numeric = [0-9]
Contoh
Nomor : 3.0
Nama Proses : Buat laporan penjualan
Jenis : Pembuatan laporan
Masukan : File Barang, file Jual dan periode transaksi
Keluaran : Laporan penjualan
Deskripsi
Begin
Buka file BARANG dan file JUAL
Baca data periode tanggal transaksi
Saring (filter) data pada file JUAL sesuai periode tanggal
transaksi
Cetak Laporan Penjualan
Tutup file BARANG dan file JUAL
End
3. Hasil aplikasi
Sistem pengembangan berorientasi struktur data memerlukan analisis untuk membuat
prototype laporan (paper prototype) tentang keluaran yang diinginkan oleh system.
Identifikasi prototype yang utama adalah keluaran dari system dan operasi dari
informasi tiap bagian (item) yang menyusun keluaran tersebut. Setelah prototype
selesai, hirarki informasi dapat dimodelkan dengan diagram Warnier Orr.
2. Antarmuka Metapor
Grafik (gambar) yang merepresentasikan entitas system sedemikian hingga dapat
disamakan dengan pemakai system secara familiar. Contohnya Control panel dalam
perancangan punya entitas button.
3. Antarmuka Menu
• Pemakai memilih salah satu dari sejumlah menu yang tersedia untuk menjalankan
perintah pada komputer. Pemilihan dilakukan dengan menggunakan mouse atau
peralatan penunjuk lainnya.
Keuntungan :
• Pemakai tidak perlu tahu nama perintah
• Usaha pengetikan menjadi minimal
• Beberapa dari kondisi kesalahan pemakai dapat dihindari (kesalahan sintaks
perintah jarang terjadi)
Spesifikasi kebutuhan perangkat lunak atau Software Requirements Spefication (SRS) adalah
sebuah dokumen yang berisi pernyataan lengkap dari apa yang dapat dilakukan oleh
perangkat lunak, tanpa menjelaskan bagaimana hal tersebut dikerjakan oleh perangkat lunak.
Suatu SRS harus mencantumkan tentang deskripsi dengan lingkungannya. Mencakup
antarmuka untuk perangkat keras, perangkat lunak, komunikasi dan pemakai.
SRS bisa terdiri dari banyak dokumentasi yang saling melengkapi. Suatu SRS harus
dapat :
1. Menguraikan definisi masalah
2. Menguraikan masalah dengan tepat dengan cara yang tepat pula
Objektif SRS
1. Persetujuan kerja dengan pelanggan
2. Daftar kebutuhan teknis yang harus dipenuhi oleh perangkat lunak
Keberhasilan pengembangan perangkat lunak bisa dilihat dari 10 aspek atau titik pandang,
yaitu :
1. Ketelitian dari pembuatnya
2. Kualitas dari spesifikasi perangkat lunaik yang dihasilkan (Baik, jika ada sedikit
kesalahan).
3. Integritas
4. Ketelitian
5. Proses Pembuatan yang mantap
6. Mudah dikembangkan
7. Jumlah versi yang tidak banyak
8. Ketelitian dari model pengembangan yang digunakan untuk meramal atribut
perangkat
lunak
9. Efektivitas rencana tes dan integrasi
10. Tingkat persiapan untuk sistem perawatan (mempersiapkan pencarian bugs)
1. PENDAHULUAN
1.1. Tujuan
1.2. Ruang Lingkup
1.3. Definisi
1.4. Referensi
1.5. Sistematika
2. DESKRIPSI UMUM
2.1. Perspektif
2.2. Kegunaan
2.3. Karakteristik Pengguna
2.4. Batasan-batasan
2.5. Asumsi dan Ketergantungan
Perancangan adalah langkah awal pada tahap pengembangan suatu produk atau
sistem. Perancangan dapat didefinisikan sebagai proses untuk mengaplikasikan berbagai
macam teknik dan prinsip untuk tujuan pendefinisian secara rinci suatu perangkat, proses atau
sistem agar dapat direalisasikan dalam suatu bentuk fisik. Tujuan perancangan adalah
menghasilkan suatu model atau penggambaran dari suatu entity yang akan dibangun
kemudian.
Proses Perancangan :
Merupakan proses kreatif dalam pembangunan perangkat lunak untuk memecahkan
suatu persoalan. Model dari proses perancangan secara garis besar terdiri dari empat
tahap proses, yaitu :
1. Mengemukakan suatu solusi
2. Membangun model dari solusi tersebut
3. Evaluasi model terhadap spesifikasi kebutuhan yang telah ada
4. Menjabarkan rincian spesifikasi dari solusi tersebut
Proses perancangan mempunyai masukan, fungsi dan keluaran
• Masukan proses perancangan
Model informasi, model fungsional dan model behavioral, dan spesifikasi kebutuhan
lain yang diperoleh setelah proses analisis kebutuhan.
• Fungsi proses perancangan
Ada dua fungsi yang dipunyai oleh proses perancangan, yaitu translasi/
pengembangan dari spesifikasi perangkat lunak, dan penjabaran bagaimana perangkat
lunak menjadi berfungsi dan bagaimana spesifikasi perangkat lunak dapat
diimplementasikan.
• Keluaran proses perancangan
Perancangan data, perancangan arsitektural, perancangan prosedural dan perancangan
antarmuka pemakai (User Interface).
Adapun dari sudut pandang teknis, kegiatan perancangan terdiri atas aktivitas sebagai
berikut :
1. Perancangan data
2. Perancangan arsitektural
3. Perancangan prosedural
4. Perancangan antarmuka pemakai
Tahap perancangan mempunyai peran yang cukup penting, karena akan digunakan
sebagai basis dari implementasi dan pengembangan perangkat lunak tahap selanjutnya.
Sebagai basis implementasi, diperlukan penjabaran aspek perangkat lunak dari berbagai
sudut pandang. Semakin kompleks sistem perangkat lunak, semakin banyak sudut
pandang perancangan yang dihasilkan sehingga seluruh aspek perangkat lunak tercakup
penjabarannya. Secara umum, ada empat sudut pandang pemodelan perancangan
perangkat lunak, yaitu :
1. Perilaku (behaviour)
2. Fungsional
3. Pemodelan data
4. Struktural
Perancangan Terstruktur
Ada beberapa pengertian tentang Perancangan Terstruktur (Structured Design), dan
diantaranya adalah :
• Pendekatan disiplin perancangan perangkat lunak yang menganut pada sekumpulan
aturan tertentu berdasarkan prinsip-prinsip seperti top-down design, stepwise
refinement, dan analisis aliran data (IEEE, 1983).
• Gabungan teknik, strategi dan metode untuk merancang sistem perangkat lunak dan
program melalui tahap demi tahap prosedur perancangan, baik perancangan sistem
maupun perancangan rinci, yang didukung oleh sekumpulan strategi perancangan,
petunjuk dan teknik-teknik dokumentasi (MAR,1985).
SIMBOL KETERANGAN
Module
Simbol ini menunjukkan suatu modul
Connection
Digunakan untuk menghubungkan
modul, atau simbol untuk menyatakan
pemanggilan modul.
Couple
Menunjukkan data atau elemen kontrol
yang dikirimkan atau diterima dari satu
modul. Panah dengan lingkaran kosong
menunjukkan data, sedangkan panah
dengan lingkaran yang diblok
menunjukkan elemen kontrol.
Dalam perkembangannya, ada dua simbol yang ditambahkan pada structure chart, yaitu :
Loop
Menunjukkan suatu pengulangan di
dalam modul
Decision
Menunjukkan suatu penyeleksian kondisi
di dalam modul, atau menunjukkan
transform center
A Modul pemanggil
Notasi untuk
Parameter input Notasi untuk parameter
yang dikirimkan x, y p, q Otuput yang diberikan pada
kepada modul Modul pemanggil
yang dipanggil
B C
Transform Analysis
Transform analysis atau analisis tranformasi adalah model aliran informasi yang
digunakan untuk merancang program dengan mengenali komponen-komponen
fungsional utama serta masukan dan keluarannya. Dalam DFD, sebuah transformasi
direfrentasikan oleh suatu jaringan yang berbentuk linear (linear network). Gambar 5.3
menunjukkan sebuah DFD yang berbentuk tranformasi.
D 4 F
3
C E
5
2
B G
6
1
A
Gambar 6.3 DFD dengan Bentuk Transformasi
Structure chart hasil pengubahan DFD yang berbentuk transformasi di atas ditujukan oleh
Gambar 6.4 berikut ini .
The
Sistem
C D
c D E
E
B E G D F
B C G F
Transaction Analysis
Transaction Analysis atau analisis transaksi merupakan strategi perancangan alternatif
yang digunakan untuk merancang program-program yang memproses transaksi, yaitu
elemen data yang memicu sebuah aksi. Gambar 5.5 berikut memperlihatkan sebuah DFD
yang berbentuk transaksi.
A
U C YY F V H
D
G
transaction center ZZ transaction modules
Untuk mengubah DFD dengan bentuk transaksi menjadi structure chart, tahap proses
yang harus dilakukan adalah :
1. Tentukan pusat transaksi (transaction center) dengan menelaah DFD
2. Kenali modul-modul transaksi dari DFD berdasarkan sfesifikasi masalahnya.
3. Gambarkan pusat transaksi sebagai modul pemanggil untuk setiap modul transaksi
dan lengkapi dengan sub fungsi yang dibutuhkan untuk setiap modul.
Gambar 6.6 berikut menunjukkan structure chart yang dihasilkan dari DFD yang
berbentuk transaksi.
U
A H
E F D G
Get A XX YY ZZ Put H
Keterangan :
Menyatakan transaction center
9.1. Pendahuluan
A. Konsep Dasar Pendekatan Objek
• Suatu teknik atau cara pendekatan baru dalam melihat permasalahan dari sistem
(sistem perangkat lunak, sistem informasi, atau sistem lainnya).
• Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan
sebagai suatu kumpulan objek yang berkorespondensi dengan objek-objek dunia
nyata.
• Ada banyak cara untuk mengabstraksikan dan memodelkan objek-objek tersebut,
mulai dari abstraksi objek, kelas, hubungan antar kelas sampai abstraksi sistem.
• Saat mengabstraksikan dan memodelkan objek ini, data dan proses-proses yang
dipunyai oleh objek akan dienkapsulasi (dibungkus) menjadi satu kesatuan.
Contoh:
Tinjau aktivitas kuliah pada suatu sistem akademik sebagai berikut:
Dosen
Materi Kuliah
Mahasiswa
Dari aktivitas kuliah tersebut, secara eksplisit ada 3 objek yang langsung dapat
dikenali yaitu Dosen yang memberikan kuliah, Mahasiswa yang mengikuti kuliah,
dan Materi Kuliah yang disampaikan. Secara implisit, ada 2 objek lain yang bisa
dikenali lagi yaitu Jadwal kapan kuliah diadakan dan Nilai yang didapat mahasiswa
dari kuliah yang sudah diikutinya. Abstraksi dan pemodelan untuk salah satu dari
kelima objek tersebut, misalnya untuk objek Dosen adalah:
Objek
• Objek adalah abstraksi dari sesuatu yang mewakili dunia nyata seperti benda,
manusia, satuan organisasi, tempat, kejadian, struktur, status atau hal-hal lain yang
bersifat abstrak.
• Suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi
(kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya.
• Dalam konteks OOP, objek adalah instansiasi (yang dibentuk secara seketika) dari
kelas pada saat eksekusi (seperti halnya deklerasi variabel pada pemograman
prosedural). Jadi semua objek adalah instan dari kelas.
• Objek mempunyai siklus hidup: diciptakan, dimanipulasi, dan dihancurkan.
Kelas
• Kelas adalah kumpulan dari objek-objek dengan karakterikstik yang sama.
• Kelas adalah definisi statik dari himpunan objek yang sama yang mungkin lahir atau
diciptakan dari kelas tersebut.
• Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi), hubungan
(relationship) dan arti.
• Suatu kelas dapat diturunkan dari kelas yang lain, dimana atribut dari kelas semula
dapat diwariskan ke kelas yang baru.
Kesimpulan:
• Objek adalah model eksekusi, sementara kelas adalah deskripsi statik dari objek yang
mungkin lahir pada saat eksekusi.
• Pada saat eksekusi yang kita punyai adalah objek, sementara dalam pemodelan
(analisis dan perancangan) dan teks program yang kita lihat adalah kelas.
Property Objek
Sebuah objek pada dasarnya mempunyai property sebagai berikut:
Atribut
• Nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.
• Merupakan ciri dari sebuah objek
• Dipunyai secara individual oleh sebuah objek.
• Contoh: berat, warna, jenis, nama, dan sebagainya.
Layanan (Service)
• Metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.
• Fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh
objek.
• Dapat berasal dari:
- model objek
- event
- aktivitas atau aksi keadaan
- fungsi
DFD
Data Dictionary
Structured English Structured Chart C, C,
Pseudo-code Cobol Black Box Cobol
E-R Diagram
ANALISIS DESAIN IMPLEMENTASI PENGUJIAN PERAWATAN
• Jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu.
Aplikasi yang dikembangkan pada saat ini sangat beragam (apliksi bisnis, real-time,
utility dan sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan
tuntunan kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua
jenis aplikasi tersebut.
Metode Rumbaugh
• Diperkenalkan oleh James Rumbaugh, Michael Blaha, William Premerlan, Frederick
Eddy dan William Lorensen pada tahun 1991.
• Lebih dikenal dengan Object Modeling Technique (OMT) yang dapat digunakan baik
untuk analisis maupun desain.
• Selain model-model fisik dari objek, pendekatan analisis dilkukan juga untuk model-
model dinamik dan model fungsional.
• Tahap atau skema pelaksanaan:
- Tentukan ruang lingkup masalah
- Buat model objek
• Identifikasi kelas yang relevan dengan permasalahan
• Definisikan atribut dan asosiasi
• Definisikan keterkaitan (link) antar kelas dan objek
• Organisasikan kelas objek dengan menggunakan pewarisan
Metode Jacobson
• Diperkenalkan oleh Ivar Jacobson dengan nama Object Oriented Software
Engineering (OOSE) pada tahun 1992.
• Merupakan versi yang juga sederhana dari metode berorientasi objek.
• Sudut pandang atau fokus analisis ditekankan pada “use case”, yaitu deskripsi atau
skenario yang menggambarkan bagaimana pemakai berinteraksi dengan produk atau
sistem yang akan dikembangkan.
• Tahap atau skema pelaksanaan:
- Identifikasi pemakai sistem dan semua tanggung jawabnya
- Buat model kebutuhan
• Definisikan aktor dan tanggung jawabnya
• Identifikasi use-case untuk setiap aktor
• Inisialisasi gambaran sistem objek dan hubungannya
- Buat model analisis
Metode Booch
• Diperkenalkan oleh Grady Booch pada tahun 1994.
• Meliputi proses pengembangan makro dan mikro, dengan anggapan bahwa analisis
dan desain merupakan rangkaian kesatuan aktivitas yang tidak dipisahkan.
• Tahap atau skema pelaksanaan:
- Identifikasi kelas dan objek
• Identifikasi kandidat objek
• Identifikasi skenario yang relevan
• Definisikan atribut dan layanan untuk setiap kelas
- Identifikasi Semantik dari kelas dan objek
• Pilih skenario kemudian analisis
• Pilih objek dan daftar peran serta tanggung jawabnya
• Cari colaborasi diantara objek-objek
- Identifikasi hubungan diantara kelas dan objek
• Definisikan ketergantungan yang ada diantara objek
• Jelaskan peran dari setiap objek
• Validasi berdasarkan skenario
FURNITURE
CHABLE CHAIR
PROJECT LANGUAGE
PERSON
- Kualifikasi
Hubungan asosiatif berkualifikasi antara 2 kelas objek.
Contoh:
organization office
- Ordering
Hubungan berdasarkan urutan kejadian.
Contoh:
{ordered}
WINDOW SCREEN
• Nama hubungan dan garis atau anak panah digunakan untuk menyatakan hubungan
antar kelas-kelas tersebut.
• Abaikan asosiasi yang tidak tepat karena:
- asosiasi antara kelas yang diabaikan
- asosiasi implementatif atau tidak relevan
- asosiasi yang berupa aksi
- asosiasi ternary
- asosiasi turunan
Create
Simpan_Peminjaman Simpan_pemesanan
Update_Peminjaman
DaftarAnggota_Baru
Hapus_Anggota
REGISTRASI PEMINJAMAN
Tanggal ld_Rak
Kapasitas
Status
Pendaftaran
Penghapusan
Didaftar
Diisi
Dihapus
KOLEKSI
Id_Koleksi
Judul
Tahun
Tipe
Status
Kelas
Subkelas
Didaftar
Dipinjam
Dikembalikan
Dipesan
Dihapus
ANGGOTA
Nama
Tanggal_Daftar
DaftarAnggota_Baru
Hapus_Anggota
DOSEN MAHASISWA
NIP
NIM
Tanggal_diangkat
PELAYANAN
Tanggal
Id_Koleksi
Tipe_Koleksi
Id_Anggota
Create
Simpan_Peminjaman
Simpan_pemesanan
Update_Peminjaman
Tanggal
Id_Koleksi
Tipe
Id_Anggota
Create
0,m 1,m
0,1 0,m
KOLEKSI ANGGOTA
Id_Koleksi Nama
Judul Tanggal_Daftar
Tahun
Tipe
Status DaftarAnggota_Baru
Kelas Hapus_Anggota
Subkelas
Didaftar
Dipinjam
Dikembalikan
Dipesan
Dihapus
• Identifikasi Subjek
ANGGOTA
(KE OBJEK ANGGOTA)
PELAYANAN
(KE OBJEK PELAYANAN)
KOLEKSI
(KE OBJEK KOLEKSI)
RAK
REGISTRASI RAK
DOSEN MAHASISWA
Tujuan Perancangan
• Secara umum, tujuan perancangan adalah menghasilkan suatu model atau
penggambaran dari suatu entitias yang akan dibangun kemudian.
• Dalam konteks perancangan berorientasi objek (OOD), tujuan perancangan adalah
menurunkan objek-objek dari setiap kelas dan bagaimana mengimplementasikan
hubungan, perilaku dan komunikasi antar objek-objek tersebut [PRE97].
Proses Perancangan
Merupakan proses kreatif dalam pembangunan perangkat lunak untuk memecahkan suatu
persoalan. Model dari proses perancangan secara garis besar terdiri dari empat tahap
proses:
• Mengemukakan suatu solusi
• Membangun model dari solusi tersebut
• Evaluasi model terhadap spesifikasi kebutuhan yang telah ada
• Menjabarkan rincian spesifikasi dari solusi tersebut
Tahap Perancangan
Dari sudut pandang manajemen proyek, perancangan terdiri dari dua bagian, yaitu:
• Perancangan awal (preliminary design)
Menentukan arsitektur perangkat lunak secara keseluruhan (preliminary design).
- Bagaimanakah lingkungan programnya?
- Bagaimana bentuk penyimpanan datanya?
- Bagaimana bentuk antarmukanya?
• Perancangan rinci (detailed design)
Menentukan modul program (prosedural) yang harus dibuat
Adapun dari sudut pandang teknis, kegiatan perancangan terdiri dari aktivitas:
• Perancangan arsitektural program
- arsitektural logika
- arsitektural fisik
• Perancangan modul program (prosedural)
• Perancangan data
- struktur data internal
Metode Rumbaugh
• Perform design system
• Conduct object design
• Implement control mechanisms defined in system design
• Adjust class structure to strengthen inheritance
• Design messaging to implement the object relationship (associations)
• Package classes and associations into modules
Metode Jacobson
• Consider adaptions to make the idealized analysis model fit the real world
environment
• Create blocks as the primary design object
• Create an interaction diagram shows how stimuli are passed between blocks
• Organize blocks into subsystems
• Review the design work
Metode Booch
• Architectural plannning
• Tactical design
• Release planning
Coad, Peter and Edward Yourdan. 1991. Object Oriented Analysis. New Jersey : Prentice
Hall.
Coad, Peter and Edward Yourdan. 1991. Object Oriented Design. New Jersey : Prentice Hall.
Goodland, Mike. 1995. SSADM A Practical Approach Version 4. London : Mc Graw Hill
Handoko, Mary. 1999. Bahan Kuliah Manajemen Proyek Perangkat Lunak. Bandung :
Magister Informatika ITB
Jacobson, I. 1995. Object Oriented Software Engineering. Edinburg Gate Harlow : Addison
Wesley.
Laksmiwati, Hira. 1998. Bahan-bahan Kuliah Rekayasa dan Analisis Perangkat Lunak.
Bandung : Magister Informatika ITB
Lorent, M and J Kidd. 1994. Object Oriented Sotfware Metrics. New Jersey : Prentice Hall.
Mahyuzir, Tavri D. 1989. Analisisa dan Perancangan Sistem Pengolahan Data. Jakarta :
Elex Media Komputindo
Mahyuzir, Tavri D. 1991. Pengantar Analisis dan Perancangan Perangkat Lunak. Jakarta :
Elex Media Komputindo
Santoso. Oerip S. 1999. Bahan-bahan Kuliah Uji Kualitas Perangkat Lunak. Bandung :
Magister Informatika ITB
Sucahyo, Yudho Giri. 1997. Bahan Kuliah Rekayasa Perangkat Lunak. Jakarta : Ilmu
Komputer UI
Suharto, Toto. 2001. Diktat Kuliah Rekayasa Perangkat Lunak. Bandung : STT Telkom
Rumbaugh, J. 1991. Object Oriented Modeling and Design. Edinburg Gate Harlow : Addison
Wesley.