1 of 13

Mata Kuliah : Rekayasa Perangkat Lunak�Minggu ke-12

2 of 13

Tujuan perkuliahan

  • Mahasiswa memahami tentang Software engineering models and methods

3 of 13

Arsitektur berbasis model (MDA)Model-driven architecture (MDA)

  • Model-Driven Architecture (MDA) adalah kerangka kerja pengembangan perangkat lunak yang berfokus pada penggunaan model sebagai elemen pusat dalam pengembangan perangkat lunak. MDA memungkinkan pemisahan antara abstraksi tinggi dari perangkat lunak dan detail implementasi. Hal ini mempermudah pemeliharaan, perubahan, dan transformasi sistem perangkat lunak.

4 of 13

Pola Desain Perangkat LunakSoftware Design Patterns

  • Software Design Patterns, atau Pola Desain Perangkat Lunak, adalah solusi umum untuk masalah desain perangkat lunak yang sering muncul. Mereka membantu dalam mengorganisasi struktur dan perilaku perangkat lunak sehingga lebih mudah dipahami, dikelola, dan diperbarui.
  • Contoh sederhana dari sebuah pola desain adalah "Singleton." Singleton adalah pola yang memastikan bahwa hanya satu instans dari kelas tertentu dapat dibuat. Ini berguna dalam situasi di mana Anda ingin membatasi akses ke sumber daya tunggal, seperti pengaturan konfigurasi, koneksi database, atau objek berbagi lainnya.

5 of 13

Pemodelan Arsitektur Perangkat LunakSoftware Architecture Modeling

  • Software Architecture Modeling adalah proses penggunaan model untuk menggambarkan struktur keseluruhan dari suatu sistem perangkat lunak. Ini mencakup komponen perangkat lunak, interaksi antara komponen, dan hubungan antara mereka. Model arsitektur membantu dalam memahami dan merancang sistem perangkat lunak secara keseluruhan.
  • Contoh:

Misalkan Anda sedang merancang aplikasi e-commerce yang kompleks. Dalam konteks Software Architecture Modeling, Anda akan membuat model yang menggambarkan komponen-komponen utama seperti "Pengguna," "Produk," "Keranjang Belanja," "Pembayaran," "Manajemen Persediaan," dan bagaimana mereka berinteraksi satu sama lain.

6 of 13

Pemodelan Berorientasi ObjekObject-oriented Modeling

  • Object-Oriented Modeling adalah pendekatan untuk permodelan perangkat lunak yang berfokus pada konsep objek, kelas, dan relasi antar objek. Dalam pendekatan ini, perangkat lunak dipecah menjadi objek-objek yang merepresentasikan entitas nyata dan kelas-kelas yang mendefinisikan struktur dan perilaku objek. Konsep OOP seperti pewarisan, polimorfisme, dan enkapsulasi digunakan untuk merancang dan memodelkan sistem perangkat lunak.
  • Contoh:

Misalkan Anda sedang merancang sistem perpustakaan. Dalam pendekatan Object-Oriented Modeling, Anda akan membuat objek-objek seperti "Buku," "Anggota Perpustakaan," dan "Pustakawan," serta mendefinisikan kelas-kelas yang mendeskripsikan atribut dan perilaku masing-masing objek. Sebagai contoh, kelas "Buku" dapat memiliki atribut seperti judul, penulis, dan nomor ISBN, serta metode untuk meminjam, mengembalikan, atau memeriksa status buku.

7 of 13

Pemodelan Berbasis KomponenComponent-based Modeling

  • Component-Based Modeling adalah pendekatan permodelan perangkat lunak yang berfokus pada penggunaan komponen sebagai elemen utama dalam merancang sistem. Komponen adalah unit perangkat lunak yang dapat digunakan kembali, independen, dan memiliki antarmuka yang jelas. Pendekatan ini memungkinkan pengembangan perangkat lunak yang modular, di mana komponen-komponen dapat disusun kembali untuk membuat berbagai aplikasi.
  • Contoh:

Misalkan Anda merancang aplikasi perbankan yang memiliki berbagai fitur, seperti manajemen akun, transfer dana, pembayaran tagihan, dan lainnya. Dalam pendekatan Component-Based Modeling, Anda akan mengidentifikasi setiap fitur sebagai komponen yang dapat digunakan kembali. Misalnya, Anda dapat memiliki komponen "Manajemen Akun," "Transfer Dana," dan "Pembayaran Tagihan."

8 of 13

Pemodelan DataData Modeling

  • Data Modeling adalah proses merancang struktur dan representasi data dalam sistem perangkat lunak. Ini melibatkan identifikasi entitas, atribut, relasi antar entitas, serta cara data akan disimpan, diakses, dan dimanipulasi dalam basis data. Data modeling membantu dalam memahami bagaimana data akan diorganisasi dan digunakan dalam aplikasi.
  • Implementasi Data Modeling melibatkan penggunaan alat-alat seperti Entity-Relationship Diagrams (ERD) atau database management systems (DBMS) untuk merancang dan mengelola basis data. Berikut contoh sederhana dari bagaimana Anda dapat menggambarkan entitas dan atribut dalam sebuah ERD:
    1. Entitas "Produk" dengan atribut "ID Produk," "Nama Produk," dan "Harga."
    2. Entitas "Supplier" dengan atribut "ID Supplier," "Nama Supplier," dan "Alamat."
    3. Entitas "Pesanan" dengan atribut "ID Pesanan," "Tanggal Pesanan," dan "Jumlah."

9 of 13

Pemodelan Proses BisnisBusiness Process Modeling

  • Business Process Modeling adalah pendekatan untuk menggambarkan alur kerja dan proses bisnis dalam suatu organisasi atau sistem perangkat lunak. Ini melibatkan penggunaan model untuk mengidentifikasi, menggambarkan, dan menganalisis berbagai tahapan dan aktivitas yang terlibat dalam menjalankan operasi bisnis. Business Process Modeling membantu dalam memahami, merancang ulang, dan memperbaiki proses bisnis.
  • Contoh sederhana Business Process Modeling adalah proses pengiriman barang dalam bisnis e-commerce. Dalam konteks ini, Anda akan mendokumentasikan langkah-langkah yang terlibat dalam menerima pesanan, mengemas barang, mengirimkannya, dan memproses pengembalian.

10 of 13

Pemodelan KasusUse Case Modeling

  • Use Case Modeling adalah teknik permodelan yang digunakan untuk menggambarkan interaksi antara sistem perangkat lunak dan pengguna atau entitas lainnya. Use case adalah skenario penggunaan yang mendefinisikan tindakan-tindakan yang dilakukan oleh pengguna atau sistem dalam konteks tertentu. Teknik ini membantu dalam merinci dan memahami persyaratan fungsional sistem.
  • Misalkan Anda merancang aplikasi perbankan. Sebagai contoh use case, Anda dapat memiliki "Transfer Dana," "Cek Saldo," "Membuat Akun Baru," dan "Mengganti Kata Sandi" sebagai skenario penggunaan yang berbeda. Setiap use case akan menggambarkan langkah-langkah yang harus diambil oleh pengguna atau sistem dalam konteks tersebut.

11 of 13

State Machine Modeling

  • State Machine Modeling adalah pendekatan permodelan yang digunakan untuk menggambarkan perilaku sistem perangkat lunak sebagai sejumlah keadaan (state) dan transisi antara mereka. Ini berguna untuk merancang sistem yang memiliki tingkat kompleksitas dalam mengelola berbagai kondisi yang mungkin terjadi selama operasionalnya.
  • Misalkan Anda merancang mesin penjual otomatis. Dalam konteks State Machine Modeling, Anda akan mengidentifikasi keadaan-keadaan seperti "Tidak Aktif," "Menunggu Uang," "Menunggu Pemilihan Produk," "Mengeluarkan Produk," dan "Mengeluarkan Kembalian." Anda akan mendefinis ikan transisi antara keadaan-keadaan ini berdasarkan peristiwa yang terjadi, seperti saat uang dimasukkan atau produk dipilih.

[State: Tidak Aktif] --> [State: Menunggu Uang]

[State: Menunggu Uang] --[Event: Uang Dimasukkan]--> [State: Menunggu Pemilihan Produk]

[State: Menunggu Pemilihan Produk] --[Event: Produk Dipilih]--> [State: Mengeluarkan Produk]

[State: Mengeluarkan Produk] --[Event: Produk Dikeluarkan]--> [State: Menunggu Uang]

[State: Mengeluarkan Produk] --[Event: Tidak Ada Produk Lagi]--> [State: Tidak Aktif]

12 of 13

Metode Formal Dalam Pemodelan Perangkat LunakFormal Methods In Software Modeling

  • Formal Methods adalah pendekatan matematis yang digunakan untuk memvalidasi dan memverifikasi sistem perangkat lunak. Pendekatan ini memungkinkan spesifikasi, desain, dan implementasi sistem untuk dianalisis secara matematis untuk memastikan bahwa sistem berperilaku sesuai dengan persyaratan yang diinginkan. Formal Methods membantu dalam mengidentifikasi kesalahan dan masalah potensial dalam sistem perangkat lunak.
  • Contoh sederhana adalah menggunakan logika proposisional untuk memverifikasi properti keamanan sederhana dalam sistem perangkat lunak. Sebagai contoh:
    • Properti: "Kunci harus selalu dikunci saat penggunaan selesai."
  • Anda dapat menggambarkan properti ini dalam logika proposisional dan menggunakan alat formal untuk memverifikasi bahwa properti ini selalu terpenuhi selama operasi sistem.

13 of 13