Anda di halaman 1dari 65

PERANCANGAN PERANGKAT

LUNAK BERBASIS OBJEK


Khairul Ummi, M.Kom
Deskripsi Matakuliah

 Mahasiswa mampu memahami berbagai konsep UML


dari Perancangan Berorientasi Objek dengan
komponen - komponennya
Penilaian

 Absensi
 Tugas
 Quis
 Uts
 UAS
Materi Perkuliahan Teori

 Mampu mengetahui dan memahami Pengenalan Model - Model Proses


 Mampu mengetahui dan memahami Pengenalan Model – Model Khusus
 Mampu mengetahui dan memahami Siklus Proses Perangkat Lunak 1
 Mampu mengetahui dan memahami Siklus Proses Perangkat Lunak 2
 Mampu Mengetahui dan memahami Konsep Perancangan
 Mampu Mengetahui dan memahami Analisis Perancangan Level Komponen
 Mampu mengetahui dan memahami Analisis Perancangan Berbasis Pola
 Ujian Tengah Semester
 Mampu mengetahui dan memahami Analisis dan perancangan menggunakan UML
(Analysis and Design Using UML)
 Mampu mengetahui dan memahami Konsep Diagram Use Case (Use Case Diagram)
 Mampu Mengetahui dan Memahami Konsep Diagram Activity (Activity Diagram)
 Mampu Mengetahui dan Memahami Konsep Diagram Sequence (Squance Diagram)
 Mampu mengetahui dan Memahami Konsep Diagram Class (Class Diagram)
 Mampu mengetahui dan Memahami Konsep Object Diagram
 Mampu mengetahui dan Memahami Perancangan Konsep dan Prinsip Collaboration
Diagram
 Ujian Akhir Semester
Materi Perkuliahan Praktek

 Pengenalan Java dan IDE


 Eclipse
 Android Studio
 Database MySql or SQL Server
Perkuliahan

 Materi dapat dilihat di E-learning Kampus


http://elearning.potensi-utama.ac.id
 untuk pertemuan 1 dan 7 (sebelum UTS) serta (setelah
UTS) 9 dan 15, maka setiap Dosen Wajib melakukan Zoom
(min 45 menit) (jikalau bisa setiap kuliah )
 Untuk diskusi akan dilakukan melalui forum yang ada
dihalaman E-learning Kampung http://elearning.potensi-
utama.ac.id (wajib harus ada setiap perkuliahan
berlangsung).
Pengenalan Model - Model Proses

Part-1
Bahan Materi

 Model Proses Generik


 - Mendefinisikan framework activity
 - Process Pattern
 Model Perspektif
 - Model Waterfall
 - Model Incremental
 - Model-model Evolusi
 - Model-model Konkuren
Pendahulan

 Serangkaian proses terstruktur yang dibutuhkan


untuk mengembangkan sistem
 Spesifikasi
 Perancangan
 Validasi
 Evolusi
 Model proses perangkat lunak adalah gambaran
abstrak dari suatu proses. Model ini menyajikan
deskripsi suatu proses dari beberapa sudut pandang
tertentu.
Konsep Perancangan Berorientasi
Objek

 Perancangan/pemodelan adalah pendeskripsian atau


gambaran bentuk tertentu sebelum memulai
pengkodingan. Konsep pemodelan berorientasi objek
merupakan konsep yang digunakan untuk
menyederhanakan segala jenis permasalahan yang
ada dalam sebuah sistem dengan menggunakan
banyak objek.
Pemodelan Sistem

 Model sistem perangkat lunak yang sistematis dan terstruktur


mempunyai tahapan- tahapan tertentu yang bisa dikembangkan
untuk menjadikan sebuah aplikasi atau sistem tersebut lebih baik.
Konsep yang digunakan untuk menyederhanakan segala jenis
permasalahan yang ada dalam sebuah sistem (tahap awal
pengembangan). Pemodelan sistem adalah proses
mengembangkan model sistem, dengan masing – masing model
mewakili perspektif yang berbeda dari sistem itu.
Aspek yang paling penting tentang model sistem
adalah bahwa ia meninggalkan detail. Ini adalah representasi
abstrak dari sistem. Model biasanya didasarkan pada notasi grafis,
yang hampir selalu didasarkan pada notasi dalam Unified Modeling
Language (UML). UML adalah bahasa pemodelan visual untuk
menjelaskan sebuah sistem perangkat lunak. Yang termasuk UML
antara lain Diagram Kelas, Diagram Activity, Diagram Use Case.
Tujuan Pemodelan Perangkat Lunak

 – Media Komunikasi
– Sarana Pendukung Sistem
– Proses Pengujian
– Mendefinisikan Struktur
– Perilaku Sistem
Metode Pengembangan Perangkat
Lunak

 Metode pengembangan perangkat lunak terdapat beberapa


macam metode pengembangan diantaranya adalah metode
waterfall, metode prototype, metode spiral, metode RAD,
metode agile dan metode scrum.
Metode pengembangan perangkat lunak adalah suatu kerangka
aktivitas yang digunakan untuk membuat, merancang,
merencanakan, meningkatkan, dan mengaplikasikan fungsi
program.
 Metode adalah suatu cara sistematis yang digunakan untuk
melaksanakan pekerjaan guna mencapai tujuan yang diinginkan.
Dapat disimpulkan bahwa pengertian metode pengembangan
perangkat lunak adalah sebuah cara sistematis untuk merancang
dan meningkatkan fungsi program agar pemakai lebih mudah
dalam mengoperasikan perangkat lunak.
Model Proses PL Generik

 Model waterfall
 Memisahkan dan membedakan fase-fase spesifikasi dan
pengembangan.
 Pengembangan evolusioner
 Spesifikasi, pengembangan, dan validasi bercampur aduk
 RPL berbasis komponen
 Sistem dirakit dari komponen yang ada.
 Ada banyak varian dari model ini misalnya pengembangan
formal yang menggunakan proses mirip waterfall tapi
spesifikasinya adalah spesifikasi formal yang disesuaikan
melalui beberapa tahapan sampai menjadi rancangan yang
bisa diimplementasi.
pengenalan Model Waterfall

 Metode waterfall merupakan suatu proses


pengembangan perangkat lunak berurutan, model
berkembang secara sistematis dari satu tahap ke
tahap lain seperti halnya dengan air terjun, melewati
fase-fase perencanaan, pemodelan, implementasi
(konstruksi), dan pengujian.
Fase Model Waterfall

 Analisis dan definisi kebutuhan


 Perancangan sistem dan perangkat lunak
 Implementasi dan pengujian unit
 Operasi dan pemeliharaan
Fase Model Waterfall

 Dalam metode waterfall, fase-fasenya berurutan sebagai berikut:


1. System And Modeling, mencari kebutuhan dari keseluruhan sistem
yang akan diaplikasikan ke dalam bentuk perangkat lunak.
2. Software Requirements Analysis, proses pencarian kebutuhan
diintensifkan dan difokuskan pada perangkat lunak.
3. Design, mengubah kebutuhan menjadi representasi ke dalam
bentuk blueprint perangkat lunak.
4. Coding, implementasi dari bentuk desain diubah menjadi bentuk
bahasa pemrograman yang dikerjakan oleh programmer.
5. Testing, Pengujicobaan fungsi-fungsi program agar terbebas dari
bug atau error.
6. Maintenance, Pemeliharaan suatu perangkat lunak dan di
dalamnya termasuk pengembangan.
Fase Model Waterfall

 Masalah utama dari model ini adalah kesulitan untuk


mengakomodasi perubahan setelah proses berjalan.
Satu fase harus selesai sebelum pindah ke fase
selanjutnya.
Masalah Model Waterfall

 Pembagian proyek yang tidak fleksibel menjadi tahapan


yang berbeda membuatnya susah untuk menanggapi
kebutuhan pelanggan yang berubah.
 Oleh sebab itu, model ini hanya cocok jika kebutuhan
sudah dimengerti dengan baik dan perubahan terbatas
selama proses perancangan.
 Tidak banyak bisnis yang memiliki kebutuhan yang stabil.
 Model ini kebanyakan digunakan untuk proyek rekayasa
sistem besar yang sistemnya dikembangkan pada
beberapa tempat.
Metode Prototype

 Metode prototype merupakan proses pembuatan


model perangkat lunak yang pengembang dan
pengguna saling berinteraksi selama proses
pembuatan. Pengguna memiliki gambaran dasar
program dan diijinkan melakukan pengujian awal
sehingga pengembang dapat dengan mudah
memodelkan perangkat lunak yang akan dibuat
Ada 7 tahapan metode prototype
yaitu:

1. Pengumpulan Kebutuhan, mengidentifikasi semua kebutuhan.


2. Membangun Prototyping, perencanaan sementara yang berfokus
pada penyajian pelanggan.
3. Evaluasi Prototyping , apakah sudah sesuai dengan keinginan
pelanggan.
4. Mengkodekan Sistem, disepakati diterjemahkan kedalam bahasa
pemrograman yang sesuai.
5. Menguji Sistem, mengetes sistem yang sudah menjadi perangkat
lunak yang siap dipakai.
6. Evaluasi Sistem, apakah sistem yang sudah jadi sudah sesuai
dengan yang diharapkan.
7. Menggunakan Sistem, perangkat lunak diterima pelanggan siap
dipakai.
Metode Spiral

 Motode Spiral adalah gabungan dari Model


Prototyping dan Model Waterfall dengan penekanan
yang tinggi pada analisis risiko tiap tahapannya.
Metode spiral dilakukan dalam lima
langkah

1. Komunikasi, pemilik proyek menyampaikan kebutuhannya


kepada pengembang perangkat lunak.
2. Perencanaan mendetail tentang proyek yang digarap seperti
estimasi biaya, batas waktu, pengaturan jadwal, identifikasi
lingkungan kerja, sumber-sumber informasi untuk melakukan
literasi. Hasilnya adalah dokumen spesifikasi kebutuhan sistem.
3. Analisis untuk mengidentifikasi berbagai kemungkinan yang
bisa terjadi selama pengembangan dan menghasilkan suatu
solusi alternatif secara teknis untuk menyelesaikannya.
4. Pengembangan perangkat lunak.
5. Evaluasi dari pelanggan. Mereka dapat memberikan masukan
dan tanggapan, mengevaluasi produk kerja sesuai kebutuhan.
Metode RAD (Rapid Application
Development)

 Metode RAD (Rapid Application Development)


merupakan model proses untuk menghasilkan sebuah
sistem dengan penekanan pada mempersingkat
waktu pengerjaan dan proses agar segera mungkin
mengaplikasikan sistem perangkat lunak tersebut
secara cepat dan tepat.
Alur kerja hanya dibagi menjadi tiga
tahap

1. Requirements Planning
Pengguna dan pengembang bertemu untuk mengidentifikasi
tujuan dan syarat aplikasi, dimana seluruh pihak terlibat aktif
dalam setiap perumusannya.
2. RAD Design Workshop
Pengembang menunjukkan tampilan visual desain dan alur
kerja kepada pengguna. Berkomunikasi dengan pengguna
untuk merancang sistem. Pengguna menanggapi sehingga
pengembang bisa langsung menyempurnakannya.
3. Implementation
Implementasi dari desain ke bahasa pemrograman, sistem diuji
dan diperkenalkan.
Metode Agile

 Metode Agile adalah kumpulan dari metode-metode


pengembangan perangkat lunak yang berbasis pada
iterative dan incremental model. agile memungkinkan
mengembangkan perangkat lunak yang memiliki
requirement yang mudah berubah dengan cepat.
Tahapan metode agile ada 6

1. Perencanaan, pengembang dan pengguna merencanakan tentang


kebutuhan untuk perangkat lunak yang akan dibuat.
2. Implementasi, proses dimana programmer melakukan
pengkodean perangkat lunak.
3. Tes Perangkat Lunak, menguji perangkat lunak yang telah dibuat
dan memperbaikinya jika terdapat bug agar kualitas perangkat
lunak terjaga.
4. Dokumentasi, proses dokumentasi perangkat lunak
mempermudah proses maintenance kedepannya.
5. Deployment, menguji kualitas sistem, setelah memenuhi syarat
maka perangkat lunak siap di deployment.
6. Pemeliharaan, perangkat lunak dipelihara secara berkala karena
tidak ada perangkat lunak yang 100% bebas dari bug
Metode Scrum

 Scrum adalah kerangka kerja dalam pemodelan perangkat


lunak yang menggunakan metode perencanaan,
pengerjaan, pengecekan, dan tindak lanjut. Kesalahan yang
dilakukan banyak orang adalah pengecekan dan tindak
lanjut pekerjaan dilakukan setelah kerjaan itu selesai.
Dengan scrum, pengecekan dan tindak lanjut kerjaan
dilakukan selama pengerjaan. Ini mendorong untuk
melakukan perbaikan sesegera mungkin ketika sebuah
kesalahan terjadi. Dengan begitu suatu kerjaan akan lebih
cepat diperbaiki dan tidak perlu mengulang dari awal
sehingga lebih menghemat waktu
5 tahapan metode scrum

1. Product Backlog, bertujuan menentukan prioritas dalam


mengerjakan sprint.
2. Sprint Planning Meeting, semua tim berkumpul
mengidentifikasi tugas masing-masing.
3. Daily Scrum, evaluasi karena proses untuk mendiskusikan
berbagai kendala.
4. Sprint Review Meeting, anggota tim mendemonstrasikan
yang sudah dikerjakannya dalam periode satu sprint.
5. Sprint Retrospective, anggota tim bisa menyampaikan
pendapat dan evaluasi mengenai kinerja selama
menerapkan scrum.
Pengembangan Evolusioner

 Pengembangan eksploitori
 Tujuannya adalah bekerja dengan pelanggan dan mengevolusi
sistem akhir dari spesifikasi kerangka awal. Harus dimulai
dengan kebutuhan yang telah dimengerti dengan baik dan
menambahkan fitur ketika diusulkan pelanggan.
 Throw-away prototyping
 Tujuannya adalah mengerti kebutuhan sistem. Harus dimulai
dengan kebutuhan yang tidak dimengerti dengan baik untuk
menjelaskan apa yang benar-benar dibutuhkan.
Pengembangan Evolusioner

 Masalah
 Kurangnya visibilitas proses
 Sistem seringkali berstruktur buruk
 Keahlian khusus mungkin dibutuhkan.
 Penerapan
 Untuk sistem interaktif ukuran sedang
 Untuk bagian dari sistem besar (misalnya antarmuka
pengguna)
 Untuk sistem umur pendek
Pengembangan Evolusioner
RPL Berbasis Komponen

 Berdasarkan pada penggunaan ulang sistematis di mana


sistem diintegrasikan dari komponen-komponen yang ada
atau sistem COTS.
 Tahapan proses
 Analisis komponen
 Modifikasi kebutuhan
 Perancangan sistem dengan penggunaan ulang
 Pengembangan dan itegrasi
 Pendekatan ini semakin banyak digunakan ketika standar
komponen muncul.
Pengembangan Berorientasi Penggunaan
ulang
Iterasi Proses

 Kebutuhan sistem SELALU berevolusi sepanjang


proyek sehingga iterasi proses dimana tahapan lebih
awal dikerja ulang selalu menjadi bagian proses untu
sistem besar.
 Iterasi dapat diterapkan pada model proses generik
manapun.
 Dua pendekatan (yang berhubungan)
 Pengembangan meningkat;
 Pengembangan spiral.
Pengembangan Meningkat

 Pengembangan dan penyerahan dibagi menjadi


beberapa bagian yang meningkat dengan tiap
peningkatan menghasilkan bagian fungsionalitas yang
dibutuhkan.
 Kebutuhan pengguna diprioritaskan dan kebutuhan
prioritas tertinggi dimasukkan dalam bagian awal.
 Sekali pengembangan bagian dimulai, kebutuhan
dibekukan meskipun untuk peningkatan selanjutnya
dapat terus berevolusi.
Pengembangan Meningkat
Kelebihan Pengembangan Meningkat

 Nilai pelanggang dapat dihasilkan dengan tiap


peningkatan sehingga fungsionalitas sistem tersedia
lebih awal.
 Bagian awal berlaku sebagai purwarupa untuk
membantu memperoleh kebutuhan untuk
peningkatan selanjutnya.
 Tingkat kegagalan keseluruhan proyek yang lebih
kecil
 Layanan sistem prioritas tertinggi cenderung untuk
menerima pengujian terbesar.
Pemrograman Ekstrim

 Pendekatan pengembangan berdasarkan pada


pengembangan dan penyampaian bagian yang sangat
kecil dari fungsionalitas.
 Bersandarkan pada peningkatan kode konstan,
keterlibatan pengguna dalam tim pengembangan dan
pemrograman.
Pengembangan Spiral

 Proses diwakili sebagai spiral dari pada sebagai urutan


aktivitas.
 Tiap putaran dalam spiral mewakili satu fase dalam
proses.
 Tidak ada fase tetap seperti spesifikasi atau
perancangan – putaran dalam spiral dipilih
berdasarkan apa yang dibutuhkan.
 Resiko dinilai secara eksplisit dan diselesaikan
sepanjang proses.
Model Spiral
Sektor Model Spiral

 Penentuan tujuan
 Tujuan spesifik untuk fase diidentifikasi
 Penilaian dan pengurangan resiko
 Resiko dinilai dan dilakukan aktivitas untuk mengurangi resiko
utama.
 Pengembangan dan validasi
 Model pengembangan untuk sistem yang dipilih dapat berupa
model generik manapun.
 Perencanaan
 Proyek diulas dan fase selanjutnya dari spiral direncanakan.
Aktivitas Proses

 Spesifikasi perangkat lunak


 Perancangan dan implementasi perangkat lunak
 Validasi perangkat lunak
 Evolusi perangkat lunak
Spesifikasi Perangkat Lunak

 Proses penentuan layanan apa yang dibutuhkan dan


batasan pada operasi dan pengembangan sistem.
 Proses rekayasa kebutuhan
 Studi kelayakan;
 Elisitasi dan analisis kebutuhan;
 Spesifikasi kebutuhan;
 Validasi kebutuhan.
Proses Rekayasa Kebutuhan
Perancangan dan Implementasi

 Proses mengkonversi spesifikasi sistem menjadi sistem


yang dapat dijalankan.
 Perancangan perangkat lunak
 Perancangan struktur perangkat lunak yang merealisasikan
spesifikasi;
 Implementasi
 Menerjemahkan struktur ini ke dalam program yang dapat
dijalankan;
 Aktivitas perancangan dan implementasi berhubungan
dekat dan mungkin saling tumpang tindih.
Aktivitas Proses Perancangan

 Perancangan arsitektur
 Spesifikasi abstrak
 Perancangan antarmuka
 Perancangan komponen
 Perancangan struktur data
 Perancangan algoritma
Proses Perancangan PL
Metode Terstruktur

 Pendekatan sistematis untuk mengembangkan


perancangan perangkat lunak.
 Rancangan biasanya didokumentasikan sebagai satu set
model grafis.
 Model-model
 Model objek;
 Model urutan;
 Model perubahan status;
 Model struktural;
 Model aliran data.
Pemrograman dan Debugging

 Penerjemahan suatu rancangan menjadi program dan


menghilangkan kesalahan dari program tersebut.
 Pemrograman merupakan aktivitas perorangan –
tidak ada proses pemrograman.
 Para pemrogram melaksanakan pengujian program
untuk menemukan kegagalan dalam program dan
menghilangkan kegagalan ini dalam proses
debugging.
Proses Debugging
Validasi Perangkat Lunak

 Verifikasi dan validasi (V & V) ditujukan untuk


menunjukkan bahwa sistem sesuai dengan
spesifikasinya dan memenuhi kebutuhan pelanggan
sistem.
 Melibatkan proses pengecekan dan pengulasan serta
pengujian sistem.
 Pengujian sistem melibatkan eksekusi sistem dengan
kasus pengujian yang dikembangkan dari spesifikasi
data sebenarnya yang akan diproses oleh sistem.
Proses Pengujian
Tahapan Pengujian

 Pengujian komponen atau unit


 Komponen secara terpisah diuji;
 Komponen mungkin berupa fungsi atau objek atau
pengelompokan koheren dari entitas ini.
 Pengujian sistem
 Pengujian sistem sebagai keseluruhan. Pengujian sifat
munculan merupakan hal yang penting.
 Pengujian penerimaan
 Pengujian dengan data pelanggan untuk memeriksa bahwa
sistem memenuhi kebutuhan pelanggan.
Fase Pengujian
Evolusi Perangkat Lunak

 Perangkat lunak pada dasarnya fleksibel dan dapat


berubah.
 Karena perubahan kebutuhan melalui situasi bisnis
yang berubah, perangkat lunak yang mendukung
bisnis harus juga berevolusi dan berubah.
 Meskipun telah ada batas antara pengembangan dan
evolusi (pemeliharaan), ini menjadi semakin tidak
relevan karena semakin sedikit sistem yang benar-
benar baru.
Evolusi Sistem
RUP

 Model proses modern dikembangkan dari pengerjaan


UML dan proses yang berkaitan.
 Normalnya dideskripsikan dari 3 sudut pandang
 Sudut pandang dinamis yang menunjukkan fase-fase
 Sudut pandang statis yang menunjukkan aktivitas-
aktivitas proses
 Sudut pandang praktek yang menganjurkan praktek
yang baik.
Model Fase RUP

Phase iteration

Inception Elaboration Construction Transition


Fase RUP

 Permulaan
 Membuat kasus bisnis untuk sistem.
 Perluasan
 Mengembangkan pemahaman dari ranah masalah dan
arsitektur sistem.
 Konstruksi
 Perancangan sistem, pemrograman, dan pengujian.
 Transisi
 Memasang sistem padal lingkungan operasinya.
Praktek Yang Baik RUP

 Mengembangkan sistem secara iteratif


 Mengelola kebutuhan
 Menggunakan arsitektur berbasis komponen
 Secara visual memodelkan perangkat lunak
 Memverifikasi mutu perangkat lunak
 Mengendalikan perubahan terhadap perangkat lunak
CASE

 Computer-aided software engineering (CASE) adalah


perangkat lunak yang mendukung proses pengembangan
dan evolusi perangkat lunak.
 Otomasi aktivitas
 Penyunting grafis untuk pengembangan model sistem;
 Kamus data untuk mengelola entitas rancangan;
 Pembangun antarmuka pengguna grafis bagi konstruksi
antarmuka pengguna;
 Debugger untuk mendukung pencarian kegagalan program;
 Penertemah terotomasi untuk membangkitkan versi baru
program.
Hal-hal Penting

 Proses perangkat lunak adalah aktivitas yang terlibat


dalam memproduksi dan mengevolusi sistem perangakat
lunak.
 Model proses adalah gambaran abstrak dari proses-proses
ini.
 Aktivitas umumnya adalah spesifikasi, perancangan dan
implementasi, validasi dan evolusi.
 Model proses generic menggambarkan organisasi proses
perangkat lunak. Contohnya adalah model waterfall,
pengembangan evolusioner, dan RPL berbasis komponen.
 Model proses iteratif menggambarkan proses perangkat
lunak sebagai siklus aktivitas.
Hal-hal Penting

 Rekayasa kebutuhan merupakan proses


pengembangan spesifikasi perangkat lunak.
 Proses perancangan dan implementasi mengubah
spesifikasi menjadi program yang dapat dijalankan.
 Validasi melibatkan pemeriksaan bahwa sistem
memenuhi spesifikasinya dan keperluan pengguna.

Anda mungkin juga menyukai