Anda di halaman 1dari 48

Pemodelan

Perangkat Lunak
YULI DIANAH, S.T.
Materi :

 Gambaran Umum Perangkat Lunak


 Pemodelan Perangkat Lunak
 Pemodelan Data dan CASE Tool
 UML in Depth ( Kelas, Use Case, State, dll)
 Design Pattern
Gambaran Umum Perangkat Lunak

 Perangkat Lunak adalah suatu aplikasi program komputer yang di


dalamnya terdapat:
 Program itu sendiri,
 Konfigurasi yang digunakan,
 Dokumentasi yang menjelaskan struktur sistem,
 Dokumentasi yang menjelaskan bagaimana menggunakan
sistem,
 dan informasi tentang versi terbaru
 Produk Perangkat Lunak dikembangkan sesuai dengan siapa
pemakai perangkat lunak tersebut.
 Produk Perangkat lunak dibagi menjadi:
 Produk Generik, yang dijual pada pasar terbuka
 Produk Spesifik, yang dibuat dan dijual sesuai pesanan dari
pemakai.
Karateristik Perangkat Lunak

 Perangkat Lunak dikembangan atau


direkayasa, bukan produk manufaktur.
 Perangkat lunak bukan produk habis pakai
 Beberapa perangkat lunak dibangun secara
detail, tidak dirangkai dari komponen yang
ada.
Problem dalam Pembuatan
Perangkat Lunak

 Tidak memiliki waktu yang cukup dalam


mengumpulkan data pada proses pembuatan
perangkat lunak.
 Ketidakpuasan user pada S/W yang dibuat
 Kualitas S/W terkadang meragukan.
 Sulit dalam memaintenance S/W sekarang
Macam-Macam Perangkat Lunak

 Perangkat Lunak Berdasarkan Pemakai


 Generik: Perangkat lunak yang bisa digunakan
secara umum
 Spesifik: Perangkat lunak yang dibuat berdasarkan
pesanan
 Perangkat Lunak Berdasarkan Fungsional
 Interfacing
 Operating System
 Perangkat Lunak Aplikasi
 CASE Tools
Perangkat Lunak
Berdasarkan Pemakai
Generik: Perangkat lunak yang digunakan secara umum.
Sebagai contoh:
 Operating System, seperti Microsoft Windows,
 Word Processing, seperti Microsoft Word, WordPad
 Spreadsheet, seperti Microsoft Excell
 Beberapa aplikasi khusus bisa dibuat menjadi generik
dengan membuatnya general dan mudah digunakan siapa
saja seperti aplikasi akuntansi, aplikasi sekolah, dan lain-lain

Spesifik: Perangkat lunak yang dibuat berdasarkan pesanan.


Banyak Software House yang menghasilkan perangkat lunak
ini berdasarkan proyek/pesanan tertentu. Sebagai contoh:
Aplikasi Rumah Sakit, Aplikasi Pendidikan, Aplikasi Kesehatan,
dan lain-lain
Perangkat Lunak
Berdasarkan Fungsionalnya

 INTERFACING:
Perangkat lunak ini menghubungkan suatu perangkat
keras tertentu.
Seperti hardware driver, interfaces dengan perangkat
keras lain. Misal:
 Driver untuk Kamera, Handphone atau perangkat
keras lainnya
 Program interface seperti Sensor Suhu dengan LM555,
PPI 8255, Komunikasi Serial RS232.
Perangkat Lunak
Berdasarkan Fungsionalnya

 OPERATING SYSTEM: Perangkat lunak yang menjalankan


sistem komputer dan merupakan interface dari sistem
komputer dan program aplikasi yang berjalan diatasnya.
 Beberapa OS yang dikenal secara luas:
 Microsoft Windows
 Linux dan varians-nya, seperti Redhat, SuSE, Mandrake,
Debian, dsb.
 Unix
 FreeBSD
 Macintosh (Apple)
Perangkat Lunak
Berdasarkan Fungsionalnya
 PROGRAM APLIKASI: program ini digunakan untuk
keperluan tertentu, yang tujuannya membantu
pekerjaan manusia menjadi lebih mudah.
Program ini yang banyak dibahas dalam pembuatan
perangkat lunak.
 Program Aplikasi ini tergantung pada kebutuhan dari
program itu sendiri, seperti:
 Program Office
 Program Graphics Design
 Program Multimedia
 dan lain-lain
Persyaratan Perangkat Lunak

 Perangkat lunak harus memberikan bantuan dalam


merepresentasikan dan mengakses file-file eksternal yang
dibuat dengan alat bantu lain.
 Persyaratan Fungsional dan Non-Fungsional
 Persyaratan User
 Persyaratan Sistem
 Dokumentasi Persyaratan Perangkat Lunak
Persyaratan Fungsional
dan Non-Fungsional
 Persyaratan Fungsional: Pernyataan layanan
tentang bagaimana sistem harus bereaksi
terhadap input, sistem harus berlaku pada
situasi-situasi tertentu. Secara khusus
menyatakan apa yang tidak boleh dilakukan
sistem.
 Persyaratan Non Fungsional: Pernyataan
tentang batasan layanan dan fungsi yang
diberikan sistem.
 Persyaratan Domain: Persyaratan yang datang
dari domain aplikasi sistem dan merefleksikan
karakteristik domain tersebut
Persyaratan Non Fungsional

 Persyaratan Produk: persyaratan yang diambil


dari spesifikasi produk, seperti persyaratan
hardware untuk mendukung kinerja.
 Persyaratan Organisasi: persyaratan yang
berasal dari kebijakan dan prosedur pada
organisasi.
 Persyaratan Eksternal: Persyaratan yang
berasal dari faktor eksternal terhadap sistem
dan proses pengembangannya.
Ukuran Persyaratan Non
Fungsional
 Kecepatan dalam: Transaksi yang diproses/detik,
waktu tanggal user/event atau waktu refresh layar
 Ukuran dalam: KB atau jumlah Chip RAM
 Kemudahan penggunaan dalam: waktu pelatihan
atau jumlah frame help
 Kehandalan dalam: waktu rata-rata kegagalan,
probabilitas ketidaksediaan, kecepatan terjadinya
kegagalan, atau ketersediaan
 Ketahanan dalam: waktu start ulang setelah
kegagalan, prosentase event yang gagal, atau
probabilitas korupsi data
 Portabilitas dalam: prosentase pernyataan
tergantung target, atau jumlah sistem target
Persyaratan User

 Mendeskripsikan persyaratan fungsional dan non-


fungsional sehingga dapat dipahami oleh user yang
tidak memiliki pengetahuan teknik.
 Persyaratan user harus ditulis memakai bahasa natural,
formal dan diagram intuitif yang sederhana.
Persyaratan user tidak boleh didefinisikan memakai
model implementasi.
 Masalah yang sering muncul:
 Tidak Adanya Kejelasan
 Kesimpang-siuran Persyaratan
 Penggabungan Persyaratan
Persyaratan Sistem

 Persyaratan sistem ini lebih rinci dari persyaratan user,


dan berfungsi sebagai dasar kontrak untuk
implementasi sistem.
 Persyaratan sistem ini digunakan sebagai titik awal
perancangan sistem.
 Bahasa natural banyak digunakan dalam
mendefinisikan persyaratan sistem
Definisi Rekayasa
Perangkat Lunak
 Rekayasa Perangkat Lunak adalah disiplin ilmu yang
membahas semua aspek produksi perangkat lunak,
mulai tahap awal spesifikasi sistem sampai
pemeliharaan sistem setelah digunakan.
 Rekayasa Perangkat Lunak memakai pendekatan yang
sistematis dan terorganisir untuk menghasilkan
perangkat lunak berkualitas tinggi.
Tujuan Rekayasa
Perangkat Lunak

 Meningkatkan keakuratan, performance &


efficiency produk secara keseluruhan dalam
pengembangan
 Menerapkan metodologi yang terdefinisi
dengan baik untuk resolusi software
Perbedaan Rekayasa Perangkat
Lunak dan Ilmu Komputer

 Ilmu Komputer berhubungan dengan teori dan metode


yang mendasari sistem komputer dan perangkat lunak.
Teori ini merupakan suatu model fisik dan analitik untuk
menyelesaikan kasus yang spesifik.
 Rekayasa Perangkat Lunak berhubungan dengan
masalah-masalah praktis untuk menghasilkan suatu
perangkat lunak. Pendekatan dilakukan dengan model
bisnis dan strategi bisnis suatu perangkat lunak.
Perbedaan Rekayasa Perangkat
Lunak dan Rekayasa Sistem

 Rekayasa Sistem berhubungan dengan semua


aspek pengembangan sistem berbasis
komputer, termasuk perangkat keras,
perangkat lunak dan rekayasa proses.
 Rekayasa Perangkat Lunak adalah bagian dari
Rekayasa Sistem
Proses Perangkat Lunak

 Proses perangkat lunak adalah serangkaian kegiatan


yang tujuannya untuk mengembangkan atau evolusi
perangkat lunak.
 Kegiatan-kegiatan tersebut adalah:
 Spesifikasi perangkat lunak,
 Pengembangan perangkat lunak,
 Validasi perangkat lunak,
 Evolusi perangkat lunak
Pemodelan
Perangkat Lunak
Model Proses Pengembangan
Perangkat Lunak

 Model proses perangkat lunak adalah representasi yang


disederhanakan dari proses perangkat lunak yang
dipresentasikan dari sudut pandang tertentu.
Berikut adalah model pengembangan perangkat lunak:
 Model Air Terjun (Waterfall)
 Model Prototipe dan Evolutionary
 Model RAD
 Model Incremental
 Model Spiral
 Model 4 GT
Model Pengembangan
Perangkat Lunak

 Model air terjun (Model Waterfall).


Model ini adalah model klasik yang mengusung
pengembangan perangkat lunak yang sistematis,
berurutan/sekuensial dimulai pada tingkat dan kemajuan
system pada seluruh persyaratan dalam analisis,
perancangan (desain), pengkodean, pengujian (testing),
hingga ke tahap pemeliharaan dalam membangun
software (perangkat lunak)
Model Waterfall
Model Waterfall

Dari model Waterfall tersebut, dapat diringkas menjadi tahapan berikut:


a) Tahap analisis: pada tahap ini berlangsung proses pengumpulan kebutuhan
secara lengkap untuk dianalisis dan didefinisikan kebutuhan apa saja yang
harus dipenuhi oleh program yang akan dibuat, seperti memahami domain
permasalahan, tingkah laku, unjuk kerja dan interface (antar muka).
b) Tahap desain: proses ini melibatkan empat atribut sebuah program yaitu
struktur data, arsitektur, perangkat lunak, representasi interface, dan detail
(algoritma) prosedural.
c) Tahap pengkodean: proses penterjemahan desain ke dalam bentuk bahasa
mesin yang dapat dilakukan secara mekanis.
d) Tahap pengujian: proses ini dikerjakan setelah kode dirancang dan
difokuskan pada fungsi dan jumlah kesalahan untuk diperbaiki.
e) Tahap pemeliharaan: meliputi penyesuaian atau perubahan yang
berkembang seiring dengan adaptasi perangkat lunak dengan kondisi atau
situasi sebenarnya setelah disampaikan kepada konsumen atau pelanggan.
Model Evolutionary dan Prototype

Metode ini menyajikan gambaran yang lengkap


dari sistem, terdiri atas model kertas, model kerja
dan program.
Pihak pengembang akan melakukan identifikasi
kebutuhan pemakai, menganalisa sistem dan
melakukan studi kelayakan serta studi terhadap
kebutuhan pemakai, meliputi model interface,
teknik prosedural dan teknologi yang akan
dimanfaatkan.
Model Evolutionary dan Prototype

Secara ringkas, tahapan-tahapan dalam model prototyping adalah:


a) Tahap Pengumpulan kebutuhan: pada tahap ini, pelanggan dan
pengembang saling bantu dalam mendefinisikan format seluruh perangkat
lunak, menentukan keperluan dan garis besar sistem yang akan dirancang.
b) Tahap Quick design: membangun rancangan global sebagai contoh bagi
user.
c) Tahap Pembangunan Prototipe: proses perancangan sementara yang
fokusnya kepada penyajian kepada pelanggan, termasuk pengujian dan
penyempurnaan.
d) Tahap Evaluasi Pelanggan: di mana pelanggan melakukan pengujian
terhadap prototipe yang ada dan pengembang memperhalus analisis
kebutuhan pemakai.
e) Tahap Pembuatan dan Implementasi: tahap ini termasuk proses desain
(rancang), pengkodean dan testing
Model Evolutionary dan Prototype

 Pengembangan Eksplorasi:
 Sistem
berubah dengan adanya fitur-fitur
tambahan dari user.
 Prototype yang dapat dibuang (Throw-Away):
 Memahami persyaratan user untuk
mendapatkan definisi persyaratan yang lebih
baik.
Evolutionary

 Masalah-masalah dalam Pengembangan


Evolusioner
 Proses tidak dapat dilihat
 Sistem seringkali mempunyai struktur yang tidak
baik
 Mungkin diperlukan alat bantu khusus
 Model pengembangan evolusioner ini cocok
untuk aplikasi yang kecil dan life-cycle yang
pendek.
Evolutionary

Spesifikasi Versi Awal

Penjelasan
Garis Besar Pengembangan Versi Menengah

Validasi Versi Akhir


Model RAD (Rapid Aplication
Development)

 RAD adalah proses pembangunan Perangkat


Lunak yang menekankan pada siklus
pengembangan yang pendek dan singkat.
Model ini mengawinkan model waterfall dan
model component based construction.
Model RAD (Rapid Aplication
Development)

Secara ringkas, tahapan-tahapan RAD adalah sebagai berikut:


a) Tahap Pemodelan Bisnis: dibuat agar dapat menjawab
pertanyaan-pertanyaan berikut: informasi apa yang
mengontrol proses bisnis? Informasi apa yang didapat?
Siapa yang mendapatkannya? Untuk siapa informasi itu
ditujukan? Siapa yang akan memprosesnya?
b) Tahap Pemodelan Data: informasi-informasi yang dipadu
dari pemodelan bisnis dipilah-pilah ke menjadi sekumpulan
objek data yang masing-masing objek diidentifikasikan dan
ditentukan hubungan antara objek-objek tersebut.
Model RAD (Rapid Aplication
Development)

c) Tahap Pemodelan Proses: aliran informasi yang didapat dalam


proses pemodelan data diolah sedemikian untuk dapat
menopang fungsi-fungsi bisnis. Prosesnya dikreasikan untuk
menambah, memodifikasi, menghapus dan atau mendapatkan
kembali sebuah objek data.
d) Tahap Pembuatan Aplikasi: RAD dapat saja memakai kembali
komponen program yang sudah ada bila dimungkinkan, atau
membuat komponen yang dapat digunakan lagi bila diperlukan
di masa mendatang. RAD juga diasumsikan menggunakan teknik
generasi keempat (4GT).
e) Tahap Pengujian dan Pergantian: Proses RAD menekankan pada
pemakaian kembali yang memungkinkan berkurangnya
keseluruhan waktu pengujian, namun komponen harus diuji dan
harus dilatih secara penuh dan terintegrasi.
Model Incremental
Incremental Development Model

 Proses perangkat lunak dibagi menjadi serangkaian


increment yang dikembangkan secara bergantian.
 Keuntungan Pengembangan Incremental
 User tidak perlu menunggu seluruh sistem dikirimkan,
karena increment pertama mempunyai persyaratan
kritis dan perangkat lunak segera dapat digunakan.
 User dapat memakai increment pertama sebagai
prototype
 Resiko kegagalan proyek secara keseluruhan lebih
rendah
 Pengujian paling ketat diberlakukan pada increment
pertama.
Model Spiral
Model Spiral

 Spiral Model Description


 The development spiral consists of four quadrants
 Quadrant 1: Determine objectives, alternatives, and
constraints.
 Quadrant 2: Evaluate alternatives, identify, resolve risks.
 Quadrant 3: Develop, verify, next-level product.
 Quadrant 4: Plan next phases.
Model Spiral

 Model ini mengadaptasi dua model perangkat lunak


yang ada yaitu model prototyping dengan
pengulangannya dan model waterfall dengan
pengendalian dan sistematikanya.
 Model ini dikenal dengan sebutan Spiral Boehm.
Pengembang dalam model ini memadupadankan
beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-
persoalan tertentu selama proses pengerjaan proyek.
Model Spiral

Tahap-tahap model ini dapat dijelaskan secara ringkas sebagai berikut.


a) Tahap Liason: pada tahap ini dibangun komunikasi yang baik dengan
calon pengguna/pemakai.
b) Tahap Planning (perencanaan): pada tahap ini ditentukan sumber-sumber
informasi, batas waktu dan informasi-informasi yang dapat menjelaskan
proyek.
c) Tahap Analisis Resiko: mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
d) Tahap Rekayasa (engineering): pembuatan prototipe
e) Tahap Konstruksi dan Pelepasan (release): pada tahap ini dilakukan
pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan
diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
f) Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan
masukan berdasarkan hasil yang didapat dari tahap engineering dan
instalasi.
MODEL 4GT

Tahapan-tahapan model 4GT dapat diringkas sebagai berikut.


a) Tahap Pengumpulan Kebutuhan: tahap ini dimulai dengan mengumpulkan
serangkaian kebutuhan yang nantinya akan diterjemahkan ke dalam prototipe.
Namun, apabila pelanggan tidak yakin dengan apa yang diperlukan dan fakta-
fakta tidak jelas diketahui maka prototipe tidak dapat dikerjakan oleh peralatan
4GT.
b) Tahap Merancang Strategi: tahap ini dibutuhkan untuk proyek besar yakni dengan
menterjemahkan kebutuhan menjadi prototipe operasional agar tidak timbul
masalah yang sama jika dibuat dengan model konvensional. Namun, untuk proyek
skala kecil tahap ini dapat dihilangkan dengan langsung melakukan implementasi
dengan menggunakan bahasa generasi keempat (4GT).
c) Tahap Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini
dapat langsung dilakukan ketika kebutuhan telah jelas, dan untuk proyek besar
tahapan ini dijalankan setelah dirancang prototipe operasional. Implementasi yang
menggunakan 4GT memudahkan pengembang software untuk menjelaskan hasil
yang diharapkan yang nantinya akan diterjemahkan ke dalam bentuk kode sumber
dan kode objek.
d) Tahap Produksi: Tahap ini merupakan langkah terakhir yakni mengubah
implementasi 4GT ke dalam hasil akhir berupa produk.
Fase Utama Persyaratan
Perangkat Lunak

 Studi Kelayakan
 Elisitasi dan Analisis Persyaratan
 Spesifikasi Persyaratan
 Validasi Persyaratan
Spesifikasi Persyaratan
Perangkat Lunak

Elisitasi dan
Studi
Analisis
Kelayakan
Persyaratan
Spesifikasi
Persyaratan

Laporan Validasi
Model Sistem Persyaratan
Kelayakan

Persyaratan
User dan Sistem
Dokumen
Persyaratan
Kegiatan Perancangan
Perangkat Lunak
 Perancangan Arsitektural
 Spesifikasi Abstrak
 Perancangan Interface
 Perancangan Komponen
 Perancangan Struktur Data
 Perancangan Algoritma
Perancangan dan Implementasi
Perangkat Lunak

Spesifikasi Perancangan Arsitektur


Persyaratan Arsitektural Sistem

Spesifikasi Spesifikasi
Abstrak Perangkat Lunak

Perancangan Spesifikasi
Interface Interface

Perancangan Spesifikasi
Komponen Komponen

Perancangan Spesifikasi
Struktur Data Struktur data

Perancangan Spesifikasi
Algoritma Algoritma
Validasi Perangkat Lunak

Pengujian
Unit
Pengujian
Modul
Pengujian
Sub Sistem

Pengujian
Sistem 1
Pengujian
Sistem 2
Pengujian
Pengujian Integrasi Pengujian User
Komponen
Evolusi Perangkat Lunak

Definisi Pengajuan
Nilai Sistem Modifikasi
Persyaratan Perubahan
Yang Ada Sistem
Sistem Sistem

Sistem Sistem
Yang Ada Baru
Pemodelan Perangkat Lunak

 Pemodelan dan analisa dapat dianggap sebagai akar konsep dari


semua displin teknik karena keutamaannya dalam
mendokumentasikan dan mengevaluasi alternatif serta pilihan
desain.
 Pemodelan dilakukan pada awal analisa, spesifikasi dan validasi
persyaratan.
 Persyaratan yang dimaksud adalah semua kebutuhan pengguna,
kustomer dan stakeholder yang harus dipenuhi oleh sistem.
 Dalam pembuatan persyaratan melibatkan :
 Analisa studi kelayakan dari sistem yang akan dibuat,
 Memperoleh dan menganalisa kebutuhan dari stakeholder
 Pembuatan gambaran yang akurat terhadap sistem tentang apa yang
harus dilakukan sistem dan apa yang tidak.
 Validasi terhadap dokumen atau spesifikasi oleh stakeholder

Anda mungkin juga menyukai