Software Design Strategies and
Methods
Muhammad Ainul Yaqin
Definisi Desain Software
Desain didefinisikan sebagai proses
mendefinisikan arsitektur, komponen,
antarmuka, dan karakteristik lain dari sistem
atau komponen" dan "hasil dari proses [itu]”
Desain software didefinisikan sebagai aktivitas
siklus hidup rekayasa dan deskripsi struktur
internal yang akan menjadi dasar untuk
konstruksinya.
Hasil mendesain menggambarkan komponen
pada tingkat detail dan antarmuka di antara
komponen-komponen tersebut
Pentingnya Desain Software
Desain software membantu menentukan
bagaimana sebuah sistem akan bekerja dan
bagaimana ia akan terlihat
Desain software membantu memahami
kebutuhan dan anggaran waktu dan biaya yang
diperlukan
Desain software membantu memastikan kualitas
dan kehandalan produk yang dihasilkan
Desain software membantu memastikan bahwa
produk yang dihasilkan sesuai dengan kebutuhan
dan harapan pelanggan
Tantangan Desain Software
Keterbatasan waktu dan anggaran
Keterbatasan sumber daya
Kebutuhan yang berubah-ubah
Kebutuhan untuk memastikan
kompatibilitas dengan sistem lain
Kebutuhan untuk memastikan keamanan
dan privasi informasi
Keuntungan Desain Software
yang Baik
Produk yang lebih baik, yang memenuhi
kebutuhan dan harapan pelanggan
Waktu pengembangan yang lebih singkat
Biaya yang lebih efisien
Kemudahan dalam perawatan dan
pemeliharaan
Kemudahan dalam integrasi dengan sistem
lain
Desain Software yang Baik
Jelas
 Desain software yang baik harus jelas dan mudah
dipahami.
 Arsitektur dan spesifikasi harus didefinisikan
dengan jelas dan mencakup informasi yang
diperlukan untuk mengembangkan software.
 Tujuan dan fungsi software harus jelas dan sesuai
dengan kebutuhan pengguna.
Desain Software yang Baik
 Konsisten
 Desain software harus konsisten dan memenuhi
standar industri yang diterima.
 Penggunaan bahasa pemrograman, struktur data,
dan teknik desain harus konsisten dan sesuai
dengan standar.
 Struktur software harus mudah dikelola dan
memiliki konsistensi dalam membuat perubahan.
Desain Software yang Baik
Efisien
 Desain software harus efisien dalam
menggunakan sumber daya dan memiliki waktu
respon yang cepat.
 Proses desain harus mengoptimalkan performa
software dan memiliki kapasitas untuk mengatasi
beban kerja.
 Algoritma dan logika program harus efisien dan
memiliki tingkat kompleksitas yang rendah.
Desain Software yang Baik
Dapat dimodifikasi
 Desain software harus mudah dimodifikasi dan
diperbarui seiring dengan perubahan kebutuhan
pengguna.
 Struktur software harus memiliki fleksibilitas
untuk memperbarui kode dan menambah fitur
baru.
 Desain software harus memiliki kapasitas untuk
mengatasi bug dan masalah teknis dengan
mudah.
Desain yang Scalable dan Future-
proof
Desain software yang baik harus
memperhitungkan skalabilitas dan
kemampuan untuk memperbarui produk.
Ini memastikan bahwa software tetap
relevan dan bisa menyesuaikan diri dengan
perubahan lingkungan dan teknologi.
Skalabilitas
Skalabilitas adalah kemampuan software
untuk menyesuaikan diri dengan
pertumbuhan jumlah pengguna dan data.
Desain software yang baik harus
memperhitungkan skalabilitas dengan
memastikan bahwa software bisa bekerja
dengan baik pada skala yang berbeda dan
memiliki infrastruktur yang bisa
menyesuaikan diri dengan pertumbuhan.
Future-proof
Desain software yang baik harus
memperhitungkan bahwa produk akan
perlu diperbarui seiring dengan perubahan
teknologi dan lingkungan. Ini memastikan
bahwa software bisa menyesuaikan diri
dengan perubahan dan memperbaiki diri
sendiri untuk tetap relevan.
Strategi Desain Software
Stuctured Design
Function Oriented Design
Object Oriented Design
Structured Design
Desain terstruktur adalah suatu metode
pemecahan masalah dalam pembuatan
software, dengan membagi masalah besar
menjadi bagian-bagian yang lebih kecil dan
terstruktur.
Tujuan Structured Design
Mempermudah proses pemecahan masalah
dan pembuatan software
Membuat software lebih mudah dipahami
dan dikelola
Mempermudah proses debugging dan
perbaikan
Mempermudah proses modifikasi dan
perbaikan
Fungsi Structured Design
Menentukan alur kerja software
Menentukan bagian-bagian dari software
Membuat software lebih mudah dipahami
dan dikelola
Mempermudah debugging dan perbaikan
Mempermudah modifikasi dan perbaikan
Metode Structured Design
Hierarki Proses
 Menentukan proses besar
 Membagi proses besar menjadi bagian-
bagian lebih kecil
 Menentukan alur kerja bagian-bagian
kecil
Metode Structured Design
Modularitas
 Menentukan bagian-bagian dari software
 Membuat bagian-bagian software
independen
 Mempermudah debugging dan perbaikan
 Mempermudah modifikasi dan perbaikan
Metode Structured Design
Abstraction
 Menentukan bagian-bagian yang harus
didefinisikan secara abstract
 Membuat software lebih mudah dipahami
dan dikelola
 Mempermudah debugging dan perbaikan
 Mempermudah modifikasi dan perbaikan
Function Oriented Design
Function Oriented Design adalah salah satu
pendekatan desain software yang
memfokuskan pada pembagian tugas
berdasarkan fungsi-fungsi tertentu.
Fungsi-fungsi tersebut mewakili komponen
yang berbeda dalam sistem dan memiliki
tugas yang spesifik.
Fokus Function Oriented Design
Fokus utama Function Oriented Design
adalah memastikan bahwa setiap fungsi
dalam sistem memiliki tugas yang jelas dan
terdefinisi dengan baik.
Hal ini membantu memastikan bahwa
sistem memiliki alur kerja yang jelas dan
mudah diterapkan.
Modularitas
Modularitas adalah prinsip utama dalam
Function Oriented Design yang berfokus
pada pembagian tugas atau kode dalam
sebuah software menjadi bagian-bagian
yang lebih kecil dan terpisah yang disebut
modul.
Setiap modul memiliki fungsi spesifik dan
dapat digunakan dan dipelajari secara
terpisah, membuat software lebih mudah
dikelola dan dipahami.
Object Oriented Design
Object Oriented Design (OOD) adalah salah
satu pendekatan dalam desain software
yang menggunakan objek sebagai dasar
pemodelan sistem.
OOD memfokuskan pada pembuatan objek-
objek yang memiliki atribut dan perilaku
seperti objek yang ada dalam dunia nyata.
Setiap objek memiliki identitas, keterkaitan
dengan objek lain, dan ketergantungan
pada objek lain.
Prinsip Dasar Object Oriented
Design
 Abstraction: Memfokuskan pada pembuatan model
yang mewakili aspek-aspek penting dari sistem yang
dibangun, sambil mengabaikan detail-detail yang tidak
penting.
 Encapsulation: Menyembunyikan detail-detail
implementasi dari objek agar dapat digunakan oleh
objek lain tanpa harus memahami bagaimana objek
tersebut bekerja.
 Inheritance: Memungkinkan objek untuk memperoleh
karakteristik dari objek lain, sehingga membuat objek
baru dapat dibuat dengan cepat dan mudah.
 Polymorphism: Memungkinkan objek untuk memiliki
lebih dari satu bentuk dan perilaku yang berbeda.
Perbedaan Ketiga Strategi
Desain
Struktur: Structured Design menekankan
pada pembagian tugas dan pemecahan
masalah dalam blok-blok yang terpisah dan
terstruktur. Function Oriented Design
memfokuskan pada pembagian tugas
berdasarkan fungsi-fungsi tertentu,
sedangkan Object Oriented Design
memfokuskan pada pembagian tugas
berdasarkan objek dan hubungan antar
objek.
Perbedaan Ketiga Strategi
Desain
Abstraksi: Structured Design lebih bersifat
prosedural, Function Oriented Design
memfokuskan pada pembagian tugas
berdasarkan fungsi-fungsi tertentu,
sedangkan Object Oriented Design
memfokuskan pada abstraksi objek dan
hubungan antar objek.
Perbedaan Ketiga Strategi
Desain
Modularitas: Structured Design
memfokuskan pada modularitas sebagai
salah satu prinsip dasar, Function Oriented
Design juga memiliki prinsip modularitas,
sedangkan Object Oriented Design
memfokuskan pada kelas-kelas sebagai unit
modular.
Perbedaan Ketiga Strategi
Desain
Reusabilitas: Structured Design lebih
memfokuskan pada pemecahan masalah
dalam blok-blok terpisah, Function Oriented
Design memfokuskan pada fungsi-fungsi
sebagai unit modular, sedangkan Object
Oriented Design memfokuskan pada objek
dan kelas sebagai unit modular yang dapat
digunakan kembali dalam proyek lain.
Perbedaan Ketiga Strategi
Desain
Kejelasan: Structured Design cenderung
memiliki keterbacaan yang lebih baik,
Function Oriented Design memfokuskan
pada kejelasan fungsi-fungsi yang spesifik,
sedangkan Object Oriented Design
memfokuskan pada abstraksi objek dan
hubungan antar objek.
Objek Desain
•Arsitektur
•Alur Proses
•Alur Data
•Arsitektur Data
Desain
Software
Objek Desain
• Laporan-laporan
• Informasi hasil proses
Desain Output
• Dokumen-dokumen
• Data-data dari lapangan
Desain Input
• Berbasis alur proses
• Berbasis alur data
Desain Proses
Desain Database
Desain User Interface

More Related Content

PPTX
Design Concept
PPT
Rancangan perangkat lunak
PPTX
Pertemuan 2- Konsep Rekayasa Perangkat Lunak.pptx
PPT
Rancangan perangkat lunak
PDF
Perancangan terstruktur kelompok 1
PPTX
Materi Permodelan Perangkat Lunak 1.pptx
PPTX
Rekayasa Perangkat Lunak software design fundamentals
PPTX
PERANCANGAN PERANGKAT LUNAK
Design Concept
Rancangan perangkat lunak
Pertemuan 2- Konsep Rekayasa Perangkat Lunak.pptx
Rancangan perangkat lunak
Perancangan terstruktur kelompok 1
Materi Permodelan Perangkat Lunak 1.pptx
Rekayasa Perangkat Lunak software design fundamentals
PERANCANGAN PERANGKAT LUNAK

Similar to 04 Software Design Strategies and Methods (20)

PPTX
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
PPTX
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
PPTX
Sldc (software development life cycle
PPTX
materi pertemuan 5 RPL.pptx00000000000000
PPTX
Kelompok 5
PPTX
Rekayasa Perangkat Lunak Konsep Perancangan
PPTX
Rekayasa Perangkat Lunak Konsep Perancangan
PPTX
Siklus dalam Software Development Life Cycle
PPTX
perangkat lunak Berbasis objek teori if.
PPT
Aps12 design object_modeling
PPTX
W8 LA2 Carry Out Engineering Drawing
PPT
11122636 (5).ppt
PPTX
Pert 11 anisah 41812110004
PPTX
Pert 11 anisah 41812110004
PPTX
meet_05 - MDPL - INF Kls A.pptx
DOC
Buku ajar kecil 01
PPT
Chapt 5. interface design principles
DOCX
Rangkuman SDLC
PPTX
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)
DOCX
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
REKAYASA PERANGKAT LUNAK (REQUIREMENTS ANALYSIS FUNDAMENTALS)
Materi Pertemuan Pertama Rekayasa Perangkat Lunak
Sldc (software development life cycle
materi pertemuan 5 RPL.pptx00000000000000
Kelompok 5
Rekayasa Perangkat Lunak Konsep Perancangan
Rekayasa Perangkat Lunak Konsep Perancangan
Siklus dalam Software Development Life Cycle
perangkat lunak Berbasis objek teori if.
Aps12 design object_modeling
W8 LA2 Carry Out Engineering Drawing
11122636 (5).ppt
Pert 11 anisah 41812110004
Pert 11 anisah 41812110004
meet_05 - MDPL - INF Kls A.pptx
Buku ajar kecil 01
Chapt 5. interface design principles
Rangkuman SDLC
PRINSIP DAN KONSEP ANALISA (ANALYSIS CONCEPT AND PRINCIPLES)
Pbo perbandingan antara pemrograman procedural dengan pemrograman beroriant...
Ad

More from Ainul Yaqin (20)

DOCX
Daftar Judul Paper Artificial Intelligence in Information System
PDF
System Requirement Enterprise Resource Planning Koperasi Simpan Pinjam dan Da...
PDF
System Requirement Enterprise Resource Planning Jasa Penulisan dan Pembuatan ...
PDF
System Requirement Enterprise Resource Planning Peternakan Ayam dan Daftar Ju...
DOCX
Lembar Kerja Mahasiswa Information System
DOCX
Daftar Judul Paper Konsep Sistem Operasi
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
DOCX
Modul Persiapan Olimpiade Sains Nasional (OSN) Informatika
DOCX
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
DOCX
Daftar Judul Paper Artificial Intelligence in Information System
DOCX
Lembar Kerja Mahasiswa Rekayasa Perangkat Lunak
DOCX
Daftar Judul Paper Rekayasa Perangkat Lunak
PDF
Studi Kasus Praktikum Rekayasa Perangkat Lunak
DOCX
Modul Praktikum Rekayasa Perangkat Lunak
DOCX
Lembar Kerja Mahasiswa Fundamentals of Business Process Management
DOCX
Lembar Kerja Mahasiswa Mata Kuliah Graph Database
PPTX
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
PPTX
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
PPTX
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
PPTX
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Daftar Judul Paper Artificial Intelligence in Information System
System Requirement Enterprise Resource Planning Koperasi Simpan Pinjam dan Da...
System Requirement Enterprise Resource Planning Jasa Penulisan dan Pembuatan ...
System Requirement Enterprise Resource Planning Peternakan Ayam dan Daftar Ju...
Lembar Kerja Mahasiswa Information System
Daftar Judul Paper Konsep Sistem Operasi
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Modul Persiapan Olimpiade Sains Nasional (OSN) Informatika
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Daftar Judul Paper Artificial Intelligence in Information System
Lembar Kerja Mahasiswa Rekayasa Perangkat Lunak
Daftar Judul Paper Rekayasa Perangkat Lunak
Studi Kasus Praktikum Rekayasa Perangkat Lunak
Modul Praktikum Rekayasa Perangkat Lunak
Lembar Kerja Mahasiswa Fundamentals of Business Process Management
Lembar Kerja Mahasiswa Mata Kuliah Graph Database
Materi Kuliah Sistem Informasi 12 Audit Menggunakan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 11 Manajemen Proyek Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 10 Pengembangan Sistem Informasi.pptx
Materi Kuliah Sistem Informasi 09 Perencanaan Strategis Sistem Informasi.pptx
Ad

Recently uploaded (8)

PPT
Algoritma-Dan-Pemrograman-C---Tipe-Data.ppt
PPTX
Materi Informatika Kelas X - Pert 1.pptx
PPTX
Cara Kerja SMS Gateway dan Aplikasi Gratis Berbasis Web
PPTX
Full - Fase EF - Modul 1 - Mata Pelajaran Koding dan Kecerdasan Artifisial pa...
PPTX
Belajar Jaringan Komputer Presentasi dalam Biru Ilustrasi_20250827_093825_000...
PPT
Bab 1 Berpikir Komputasional - Part 1.ppt
PPTX
Belajar Pemrograman Komputer Dasar Cpp.pptx
PPTX
Modul Kebekerjaan Modul Kebekerjaan Modul Kebekerjaan
Algoritma-Dan-Pemrograman-C---Tipe-Data.ppt
Materi Informatika Kelas X - Pert 1.pptx
Cara Kerja SMS Gateway dan Aplikasi Gratis Berbasis Web
Full - Fase EF - Modul 1 - Mata Pelajaran Koding dan Kecerdasan Artifisial pa...
Belajar Jaringan Komputer Presentasi dalam Biru Ilustrasi_20250827_093825_000...
Bab 1 Berpikir Komputasional - Part 1.ppt
Belajar Pemrograman Komputer Dasar Cpp.pptx
Modul Kebekerjaan Modul Kebekerjaan Modul Kebekerjaan

04 Software Design Strategies and Methods

  • 1. Software Design Strategies and Methods Muhammad Ainul Yaqin
  • 2. Definisi Desain Software Desain didefinisikan sebagai proses mendefinisikan arsitektur, komponen, antarmuka, dan karakteristik lain dari sistem atau komponen" dan "hasil dari proses [itu]” Desain software didefinisikan sebagai aktivitas siklus hidup rekayasa dan deskripsi struktur internal yang akan menjadi dasar untuk konstruksinya. Hasil mendesain menggambarkan komponen pada tingkat detail dan antarmuka di antara komponen-komponen tersebut
  • 3. Pentingnya Desain Software Desain software membantu menentukan bagaimana sebuah sistem akan bekerja dan bagaimana ia akan terlihat Desain software membantu memahami kebutuhan dan anggaran waktu dan biaya yang diperlukan Desain software membantu memastikan kualitas dan kehandalan produk yang dihasilkan Desain software membantu memastikan bahwa produk yang dihasilkan sesuai dengan kebutuhan dan harapan pelanggan
  • 4. Tantangan Desain Software Keterbatasan waktu dan anggaran Keterbatasan sumber daya Kebutuhan yang berubah-ubah Kebutuhan untuk memastikan kompatibilitas dengan sistem lain Kebutuhan untuk memastikan keamanan dan privasi informasi
  • 5. Keuntungan Desain Software yang Baik Produk yang lebih baik, yang memenuhi kebutuhan dan harapan pelanggan Waktu pengembangan yang lebih singkat Biaya yang lebih efisien Kemudahan dalam perawatan dan pemeliharaan Kemudahan dalam integrasi dengan sistem lain
  • 6. Desain Software yang Baik Jelas  Desain software yang baik harus jelas dan mudah dipahami.  Arsitektur dan spesifikasi harus didefinisikan dengan jelas dan mencakup informasi yang diperlukan untuk mengembangkan software.  Tujuan dan fungsi software harus jelas dan sesuai dengan kebutuhan pengguna.
  • 7. Desain Software yang Baik  Konsisten  Desain software harus konsisten dan memenuhi standar industri yang diterima.  Penggunaan bahasa pemrograman, struktur data, dan teknik desain harus konsisten dan sesuai dengan standar.  Struktur software harus mudah dikelola dan memiliki konsistensi dalam membuat perubahan.
  • 8. Desain Software yang Baik Efisien  Desain software harus efisien dalam menggunakan sumber daya dan memiliki waktu respon yang cepat.  Proses desain harus mengoptimalkan performa software dan memiliki kapasitas untuk mengatasi beban kerja.  Algoritma dan logika program harus efisien dan memiliki tingkat kompleksitas yang rendah.
  • 9. Desain Software yang Baik Dapat dimodifikasi  Desain software harus mudah dimodifikasi dan diperbarui seiring dengan perubahan kebutuhan pengguna.  Struktur software harus memiliki fleksibilitas untuk memperbarui kode dan menambah fitur baru.  Desain software harus memiliki kapasitas untuk mengatasi bug dan masalah teknis dengan mudah.
  • 10. Desain yang Scalable dan Future- proof Desain software yang baik harus memperhitungkan skalabilitas dan kemampuan untuk memperbarui produk. Ini memastikan bahwa software tetap relevan dan bisa menyesuaikan diri dengan perubahan lingkungan dan teknologi.
  • 11. Skalabilitas Skalabilitas adalah kemampuan software untuk menyesuaikan diri dengan pertumbuhan jumlah pengguna dan data. Desain software yang baik harus memperhitungkan skalabilitas dengan memastikan bahwa software bisa bekerja dengan baik pada skala yang berbeda dan memiliki infrastruktur yang bisa menyesuaikan diri dengan pertumbuhan.
  • 12. Future-proof Desain software yang baik harus memperhitungkan bahwa produk akan perlu diperbarui seiring dengan perubahan teknologi dan lingkungan. Ini memastikan bahwa software bisa menyesuaikan diri dengan perubahan dan memperbaiki diri sendiri untuk tetap relevan.
  • 13. Strategi Desain Software Stuctured Design Function Oriented Design Object Oriented Design
  • 14. Structured Design Desain terstruktur adalah suatu metode pemecahan masalah dalam pembuatan software, dengan membagi masalah besar menjadi bagian-bagian yang lebih kecil dan terstruktur.
  • 15. Tujuan Structured Design Mempermudah proses pemecahan masalah dan pembuatan software Membuat software lebih mudah dipahami dan dikelola Mempermudah proses debugging dan perbaikan Mempermudah proses modifikasi dan perbaikan
  • 16. Fungsi Structured Design Menentukan alur kerja software Menentukan bagian-bagian dari software Membuat software lebih mudah dipahami dan dikelola Mempermudah debugging dan perbaikan Mempermudah modifikasi dan perbaikan
  • 17. Metode Structured Design Hierarki Proses  Menentukan proses besar  Membagi proses besar menjadi bagian- bagian lebih kecil  Menentukan alur kerja bagian-bagian kecil
  • 18. Metode Structured Design Modularitas  Menentukan bagian-bagian dari software  Membuat bagian-bagian software independen  Mempermudah debugging dan perbaikan  Mempermudah modifikasi dan perbaikan
  • 19. Metode Structured Design Abstraction  Menentukan bagian-bagian yang harus didefinisikan secara abstract  Membuat software lebih mudah dipahami dan dikelola  Mempermudah debugging dan perbaikan  Mempermudah modifikasi dan perbaikan
  • 20. Function Oriented Design Function Oriented Design adalah salah satu pendekatan desain software yang memfokuskan pada pembagian tugas berdasarkan fungsi-fungsi tertentu. Fungsi-fungsi tersebut mewakili komponen yang berbeda dalam sistem dan memiliki tugas yang spesifik.
  • 21. Fokus Function Oriented Design Fokus utama Function Oriented Design adalah memastikan bahwa setiap fungsi dalam sistem memiliki tugas yang jelas dan terdefinisi dengan baik. Hal ini membantu memastikan bahwa sistem memiliki alur kerja yang jelas dan mudah diterapkan.
  • 22. Modularitas Modularitas adalah prinsip utama dalam Function Oriented Design yang berfokus pada pembagian tugas atau kode dalam sebuah software menjadi bagian-bagian yang lebih kecil dan terpisah yang disebut modul. Setiap modul memiliki fungsi spesifik dan dapat digunakan dan dipelajari secara terpisah, membuat software lebih mudah dikelola dan dipahami.
  • 23. Object Oriented Design Object Oriented Design (OOD) adalah salah satu pendekatan dalam desain software yang menggunakan objek sebagai dasar pemodelan sistem. OOD memfokuskan pada pembuatan objek- objek yang memiliki atribut dan perilaku seperti objek yang ada dalam dunia nyata. Setiap objek memiliki identitas, keterkaitan dengan objek lain, dan ketergantungan pada objek lain.
  • 24. Prinsip Dasar Object Oriented Design  Abstraction: Memfokuskan pada pembuatan model yang mewakili aspek-aspek penting dari sistem yang dibangun, sambil mengabaikan detail-detail yang tidak penting.  Encapsulation: Menyembunyikan detail-detail implementasi dari objek agar dapat digunakan oleh objek lain tanpa harus memahami bagaimana objek tersebut bekerja.  Inheritance: Memungkinkan objek untuk memperoleh karakteristik dari objek lain, sehingga membuat objek baru dapat dibuat dengan cepat dan mudah.  Polymorphism: Memungkinkan objek untuk memiliki lebih dari satu bentuk dan perilaku yang berbeda.
  • 25. Perbedaan Ketiga Strategi Desain Struktur: Structured Design menekankan pada pembagian tugas dan pemecahan masalah dalam blok-blok yang terpisah dan terstruktur. Function Oriented Design memfokuskan pada pembagian tugas berdasarkan fungsi-fungsi tertentu, sedangkan Object Oriented Design memfokuskan pada pembagian tugas berdasarkan objek dan hubungan antar objek.
  • 26. Perbedaan Ketiga Strategi Desain Abstraksi: Structured Design lebih bersifat prosedural, Function Oriented Design memfokuskan pada pembagian tugas berdasarkan fungsi-fungsi tertentu, sedangkan Object Oriented Design memfokuskan pada abstraksi objek dan hubungan antar objek.
  • 27. Perbedaan Ketiga Strategi Desain Modularitas: Structured Design memfokuskan pada modularitas sebagai salah satu prinsip dasar, Function Oriented Design juga memiliki prinsip modularitas, sedangkan Object Oriented Design memfokuskan pada kelas-kelas sebagai unit modular.
  • 28. Perbedaan Ketiga Strategi Desain Reusabilitas: Structured Design lebih memfokuskan pada pemecahan masalah dalam blok-blok terpisah, Function Oriented Design memfokuskan pada fungsi-fungsi sebagai unit modular, sedangkan Object Oriented Design memfokuskan pada objek dan kelas sebagai unit modular yang dapat digunakan kembali dalam proyek lain.
  • 29. Perbedaan Ketiga Strategi Desain Kejelasan: Structured Design cenderung memiliki keterbacaan yang lebih baik, Function Oriented Design memfokuskan pada kejelasan fungsi-fungsi yang spesifik, sedangkan Object Oriented Design memfokuskan pada abstraksi objek dan hubungan antar objek.
  • 30. Objek Desain •Arsitektur •Alur Proses •Alur Data •Arsitektur Data Desain Software
  • 31. Objek Desain • Laporan-laporan • Informasi hasil proses Desain Output • Dokumen-dokumen • Data-data dari lapangan Desain Input • Berbasis alur proses • Berbasis alur data Desain Proses Desain Database Desain User Interface