Anda di halaman 1dari 55

• E-mail : ysetiawanj@atmaluhur.ac.

id
• Homepage : ysetiawanj.atmaluhur.ac.id
• WA : +62 852 6 852 1 825
• Ruangan : BSI (Bagian Sistem Informasi)
Telegram Group:
Instruksi + Materi + Soal + Koordinasi + Diskusi
(Pertanyaan terkait materi tanyakan di GROUP)
Planning
Analysis
Design
Implementation

Model
Pengembangan
PL
Rencana Pembahasan Pertemuan / Pertemuan
1. Pendahuluan / Pengenalan RPL
a. Latar belakang RPL (Definisi PL, Peran PL, Mitos dalam RPL)
b. Karakteristik PL dan proses PL
c. Definisi RPL
d. Kategori PL
e. What is “good software”?
2. Proses PL dan RPL (System Engineering)
a. Perbedaan Produk dan Proses
b. Aktivitas Fundamental dari Proses PL
c. Project suggestion
d. System engineering
3. Feasibility Studies
a. Definisi feasibility studies
b. Faktor-faktor penghambat feasibility studies
c. Teknik melakukan feasibility studies
4. Manajemen proyek PL
a. Overview
Rencana Pembahasan Pertemuan / Pertemuan
5. Model Proses
a. Model Waterfall
b. Model Proses Inkremental
1) Model Incremental
2) Model Rapid Application Development (RAD)
c. Model Proses Evolutionary
1) Model Prototyping
2) Model Spiral
3) Model Concurnet Development
d. Model Proses Khusus
e. Model Berbasis Komponen
6. Analisis dan Rekayasa Kebutuhan (Konsep dan prinsip RPL):
a. Area analisis
b. Prinsip analisis
c. Pengelolaan dan validasi kebutuhan
7. Spesifikasi kebutuhan PL (Software Requirement Specification (SRS)):
a. Prinsip SRS yang baik
b. Overview template dokumen SRS
Rencana Pembahasan Pertemuan / Pertemuan
8. Pemodelan Analisis Berorientasi Obyek (awalnya terstruktur, Ganti ke UML)
a. Definisi dan Prinsip
b. Alamat Bantu Pemodelan Sistem (Data Flow Diagram (DFD), Data Dictionary (DD), PSpec
9. Konsep dan prinsip desain PL
a. Konsep desain
1) Abstraction
2) Refinement
3) Modularity
4) Arsitektur PL
5) Hirarki control
6) Struktur data
7) Prosedur PL
8) Information hiding
b. Desain modular yang efektif
1) Functional independence
2) Cohesion
3) coupling
Rencana Pembahasan Pertemuan / Pertemuan
10. Tahapan desain:
a. Desain data
b. Desain arsitektural
c. Desain antarmuka
d. Transform mapping
e. Transaction mapping
11. Dokumentasi desain (SW design document)
a. Prinsip SDD yang baik
b. Overview template SW design document
12. Pengujian PL
a. Prinsip dan tujuan pengujian SW
b. Strategi pengujian:
1) Unit testing
2) Integration testing
3) Validation testing
4) System testing
c. Desain kasus uji
d. Teknik pengujian white box (basic path testing, flow graph testing)
e. Teknik pengujian black box
f. Review pembuatan test plan dokumen pengajuan
Rencana Pembahasan Pertemuan / Pertemuan
13. Penjaminan mutu PL (software quality assurance (SQA)):
a. Overview SQA
Bagian 1 - PENDAHULUAN
Perangkat Lunak / PL (software / SW) adalah
serangkaian instruksi yang memberi tahu
komputer cara melakukan tugas tertentu. Ini
adalah komponen inti dari sistem komputer
yang memungkinkan perangkat keras
(hardware / HW) untuk berinteraksi dengan
pengguna dan menjalankan fungsi-fungsi yang
diperlukan. Secara umum, PL dapat dibagi
menjadi dua kategori utama: PL sistem dan PL
aplikasi.
Bagian 1 - PENDAHULUAN

Sistem Operasi: Program yang mengelola


sumber daya perangkat keras dan
menyediakan layanan untuk aplikasi PL.
Contoh: Microsoft Windows, macOS, dan
Linux.
Bagian 1 - PENDAHULUAN

Driver Perangkat: PL yang


memungkinkan sistem operasi
berkomunikasi dengan
perangkat keras, seperti
printer, kartu grafis, soundcard,
dan lainnya.
Bagian 1 - PENDAHULUAN

Aplikasi Produktivitas: Program yang membantu pengguna melakukan tugas-tugas


sehari-hari, seperti pengolah kata (Word), spreadsheet (Excel), presentasi (PowerPoint),
Calculator, Zoom, dst.
Bagian 1 - PENDAHULUAN

PL Kreatif: Aplikasi untuk keperluan desain grafis, pengeditan foto, dan


pengembangan multimedia, seperti Adobe Photoshop dan Adobe Premiere.
Bagian 1 - PENDAHULUAN

PL Keamanan: Program-program yang melindungi sistem komputer dari ancaman,


seperti antivirus dan firewall.
Bagian 1 - PENDAHULUAN

Permainan (Game): Aplikasi yang dikembangkan khusus untuk hiburan, seperti game
komputer dan konsol.
Bagian 1 - PENDAHULUAN
PL memiliki peran yang sangat penting dalam pengoperasian komputer dan
perangkat teknologi informasi lainnya, seperti: Menyediakan Antarmuka
Pengguna yang memungkinkan pengguna untuk berinteraksi dengan
komputer melalui antarmuka pengguna grafis (GUI) atau baris perintah;
Manajemen Sumber Daya perangkat keras seperti CPU, memori, perangkat
penyimpanan, dan perangkat input/output; Menjalankan Aplikasi PL yang
berbeda, seperti pengolah kata, spreadsheet, dan browser web; Kontrol
Eksekusi Program untuk memastikan bahwa berbagai aplikasi dapat berjalan
secara bersamaan dan saling berbagi sumber daya dengan efisien;
Manajemen Data terkait menyimpan, mengelola, dan memanipulasi data
dalam basis data. Contohnya adalah sistem manajemen basis data (DBMS)
seperti MySQL atau Microsoft SQL Server; Keamanan Sistem untuk
melindungi sistem dari ancaman dan serangan, seperti PL antivirus, firewall,
dan alat keamanan jaringan; PL Pengembangan Aplikasi memberikan alat dan
lingkungan untuk pengembangan aplikasi baru, termasuk editor kode,
compiler, dan debugger; PL Jaringan memungkinkan komunikasi dan
pertukaran data antar komputer dalam jaringan, serta menyediakan layanan
seperti email, web, dan file sharing; PL Hiburan memberikan pengalaman
hiburan, seperti PL permainan (game), pemutar musik, dan pemutar video;
Pemeliharaan dan Pembaruan PL yang dapat memperbaiki bug, meningkatkan
keamanan, dan menghadirkan fitur-fitur baru.
Bagian 1 - PENDAHULUAN

RPL (Software Engineering) adalah


disiplin ilmu dan praktik yang terkait
dengan pengembangan, pemeliharaan,
manajemen, dan evolusi PL. Tujuan
utama RPL adalah menghasilkan PL
berkualitas tinggi yang memenuhi
kebutuhan pengguna, dihasilkan dengan
efisien, dan dapat diandalkan. RPL
melibatkan proses sistematis yang
mencakup analisis kebutuhan,
perancangan, implementasi, pengujian,
dokumentasi, dan pemeliharaan PL.
Bagian 1 - PENDAHULUAN

Analisis Kebutuhan: Memahami dan


mendokumentasikan kebutuhan pengguna
dan sistem yang akan diimplementasikan.
Bagian 1 - PENDAHULUAN

Perancangan PL: Membuat desain


sistem yang mencakup struktur dan
arsitektur PL serta algoritma yang
digunakan.
Bagian 1 - PENDAHULUAN

Implementasi: Menerjemahkan desain


PL ke dalam bahasa pemrograman dan
membangun aplikasi atau sistem.
Bagian 1 - PENDAHULUAN

Pengujian: Memverifikasi bahwa PL


berfungsi sebagaimana mestinya dan
memenuhi kebutuhan pengguna. Ini
melibatkan pengujian fungsional,
pengujian kinerja, dan pengujian
keamanan, di antara lain.
Bagian 1 - PENDAHULUAN

Manajemen Proyek: Mengelola sumber


daya, jadwal, dan risiko dalam
pengembangan PL untuk memastikan
proyek selesai tepat waktu dan dalam
anggaran.
Bagian 1 - PENDAHULUAN

Manajemen Konfigurasi: Melacak dan


mengelola perubahan pada PL, termasuk
versi-versi yang berbeda dari suatu
sistem.
Bagian 1 - PENDAHULUAN

Dokumentasi: Menciptakan
dokumentasi yang komprehensif untuk
memahami, mengoperasikan, dan
memelihara PL.
Bagian 1 - PENDAHULUAN

Pemeliharaan dan Evolusi: Memastikan bahwa PL tetap beroperasi dengan baik setelah
peluncuran awal dan dapat diperbarui untuk memenuhi kebutuhan yang berubah.
Bagian 1 - PENDAHULUAN

Estimasi Waktu yang Tepat:


Mitos: "Estimasi waktu pengembangan PL dapat diprediksi dengan akurat."
Realitas: Memprediksi waktu pengembangan PL seringkali sulit karena kompleksitas tugas dan
perubahan yang mungkin terjadi selama proses pengembangan.
Bagian 1 - PENDAHULUAN

Perubahan Kebutuhan:
Mitos: "Kebutuhan proyek tidak akan berubah
setelah ditetapkan."
Realitas: Kebutuhan seringkali dapat berubah
seiring waktu karena perubahan dalam
lingkungan bisnis atau pemahaman yang lebih
baik tentang kebutuhan pengguna.
Bagian 1 - PENDAHULUAN
Produktivitas Programmer:
Mitos: "Semakin banyak jam kerja, semakin
produktif seorang programmer."
Realitas: Produktivitas tidak selalu berkorelasi
dengan jumlah jam kerja. Kualitas dan
efisiensi pekerjaan juga berperan penting.
Bagian 1 - PENDAHULUAN

Automatisasi Solusi Semua:


Mitos: "Semua tugas pengembangan dapat
diotomatisasi."
Realitas: Beberapa aspek pengembangan,
seperti pemikiran kreatif dan desain, masih
memerlukan keterlibatan manusia.
Bagian 1 - PENDAHULUAN

Ukuran Kode sebagai Metrik


Kualitas:
Mitos: "Semakin banyak baris
kode, semakin baik PLnya."
Realitas: Kualitas PL tidak selalu
berkorelasi dengan ukuran kode.
Kode yang efisien dan terkelola
dengan baik lebih penting.
Bagian 1 - PENDAHULUAN

Kemampuan Superhero
Programmer:
Mitos: "Seorang programmer yang
sangat berbakat dapat
menyelesaikan segala masalah
sendirian."
Realitas: Pengembangan PL
seringkali adalah usaha tim, dan
kolaborasi yang baik
meningkatkan kualitas hasil akhir.
Bagian 1 - PENDAHULUAN

Proyek Yang Terlambat Bisa


Diperbaiki dengan Menambah
Programmer:
Mitos: "Menambah lebih banyak
programmer akan mempercepat
proyek yang terlambat."
Realitas: Terkadang, menambah
anggota tim pada tahap terlambat
dapat memperlambat proyek lebih
lanjut karena waktu yang diperlukan
untuk pelatihan dan koordinasi.
Bagian 1 - PENDAHULUAN

PL yang baik adalah kombinasi dari


fungsionalitas, keandalan, kinerja,
usabilitas, pemeliharaan, skalabilitas,
keamanan, kompatibilitas,
kekokohan, dan kepatuhan terhadap
standar etika dan hukum. Mencapai
kualitas ini memerlukan pendekatan
RPL yang terstruktur dan metodis
sepanjang siklus pengembangan.
Bagian 1 - PENDAHULUAN

Fungsionalitas:
PL dapat memenuhi kebutuhan yang telah
ditentukan dan mencapai tujuan yang
diinginkan.
Selain itu, PL dapat menghasilkan user
experience yang positif dan user-friendly.
Bagian 1 - PENDAHULUAN

Keandalan (Reliability):
Stabilitas: PL harus stabil dan dapat
diandalkan, dengan sedikit gangguan,
kesalahan, atau perilaku yang tidak
diinginkan.
Konsistensi: PL seharusnya memberikan
hasil yang akurat dan dapat diprediksi
dalam berbagai kondisi.
Bagian 1 - PENDAHULUAN

Kinerja (Performance):
Efisiensi: PL yang baik adalah yang efisien
dalam penggunaan sumber daya,
memberikan kinerja optimal tanpa
konsumsi sumber daya yang tidak perlu.
Responsivitas: PL seharusnya merespons
cepat terhadap input pengguna dan
menyelesaikan tugas dalam batas waktu
yang dapat diterima.
Bagian 1 - PENDAHULUAN

Usabilitas:
Intuitif: PL harus mudah digunakan dan
dinavigasi, dengan antarmuka yang intuitif yang
memerlukan pelatihan minimal bagi pengguna.
Aksesibilitas: Harus dapat diakses oleh pengguna
dengan berbagai tingkat keahlian dan, jika
berlaku, mematuhi standar aksesibilitas.
Bagian 1 - PENDAHULUAN

Pemeliharaan (Maintainability):
Modularitas: Kode PL sebaiknya bersifat modular dan terorganisir dengan baik, memudahkan
pemeliharaan, pembaruan, dan perluasan.
Dokumentasi: PL yang baik disertai dengan dokumentasi komprehensif yang membantu
pengguna dan pengembang memahami fungsionalitas dan penggunaannya.
Bagian 1 - PENDAHULUAN

Skalabilitas:
Adaptabilitas: PL seharusnya dapat menangani
beban yang meningkat dan dapat diubah
ukurannya untuk menampung pertumbuhan data
atau pengguna.
Fleksibilitas: Harus dapat beradaptasi dengan
perubahan kebutuhan dan mudah diintegrasikan
dengan sistem lain.
Bagian 1 - PENDAHULUAN

Keamanan:
Perlindungan Data: PL yang baik memberikan
prioritas pada keamanan data sensitif, dengan
menerapkan enkripsi, otentikasi, dan mekanisme
otorisasi.
Pengurangan Risiko: Dikembangkan dengan
praktik keamanan terbaik untuk mengurangi risiko
kerentanan dan melindungi terhadap ancaman
potensial.
Bagian 1 - PENDAHULUAN

Kompatibilitas:
Interoperabilitas: Harus kompatibel dengan PL
dan sistem lainnya, memungkinkan integrasi
yang mulus dan pertukaran data.
Dukungan Cross-Platform: Bila mungkin, PL
seharusnya berfungsi secara konsisten di
berbagai sistem operasi dan perangkat.
Bagian 1 - PENDAHULUAN

Robustness (Kokoh):
Penanganan Kesalahan: PL harus dapat
menangani kesalahan dengan baik, memberikan
pesan kesalahan yang bermakna, dan pulih
dengan baik dari situasi yang tidak terduga.
Pengujian: Pengujian yang ketat, termasuk
pengujian unit, pengujian integrasi, dan
pengujian sistem, berkontribusi pada kekokohan
PL.
Bagian 1 - PENDAHULUAN

Kepatuhan (Compliance):
Kepatuhan Hukum dan Regulasi: PL yang
baik mematuhi hukum, regulasi, dan
standar industri yang relevan.
Pertimbangan Etika: Dikembangkan dan
digunakan dengan cara yang etis,
menghormati privasi pengguna dan
menghindari praktik-praktik yang tidak etis.
Bagian 1 - PENDAHULUAN
Produk PL Proses PL / Model SDLC
(Hasil Akhir) (Pembuatan / Pengembangan)
Bagian 1 - PENDAHULUAN

Planning
Analysis
Design
Implementation
Tugas Pendamping
Jelaskan tentang model pengembangan PL berikut ini, kemudian sebutkan kelebihan dan
kekurangan tiap-tiap dari model pengembangan PL berikut ini: (cantumkan URL website
sumber yang saudara gunakan)
1. Waterfall
2. Prototyping
3. Incremental
4. Agile Software Development
5. Rapid Application Development (RAD)
6. Dynamic System Development
7. Spiral
8. Extreme Programming
9. Feature-Driven Development (FDD)
10. Joint Application Development
11. Lean Development
12. Rational Unified Process (RUP)
13. Concurent Development
Terimakasih

Anda mungkin juga menyukai