MODUL I MODEL DESAIN TUJUAN : - Mahasiswa mengetahui cara pertama kali mengenal model desain dan dapat mempraktekannya. TEORI : DEFINISI MODEL DESAIN - Merupakan abstraksi dari penerapan (implementasi) suatu sistem perangkat lunak (software) - Digunakan untuk menyusun desain sistem perangkat lunak (software) agar mendapatkan bukti bahwa desain perangkat lunak (software) tersebut dibuat sebaik mungkin - Tersusun atas semua kelas-kelas desain, paket desain, beserta kolaborasi dan relationships antarelemen. KELAS DESAIN <<Class Module>> clsmahasiswabaru Gambar 1. Kelas Desain Kelas Desain menggambarkan sebuah abstraksi dari satu atau berbagai kelas dalam implementasi. Nama untuk tiap-tiap kelas desain bergantung pada bahasa pemrograman yang berpadanan dengan kelas tersebut dalam implementasi. Suatu kelas desain dapat memiliki beberapa operasi dan atribut. 4
Operasi Operasi dari sebuah objek didefinisikan oleh kelas dari objek tersebut. Suatu perilaku tertentu dari sebuah objek dapat dimainkan melalui operasi, yang mungkin mempengaruhi atribut dan relationship yang dimiliki objek tersebut, dan menyebabkan operasi yang lain dimainkan juga. Atribut Sebuah atribut adalah sifat yang diberi nama dari sebuah objek. Atribut diberi nama dengan kata benda yang menggambarkan peran atribut dalam hubungannya dengan objek tersebut. Sebuah atribut dapat memiliki sebuah nilai awal ketika objek tersebut dibuat. TUGAS : 1. (Dari menu Start, klik Programs, pilih Programming, pilih Rational Rose 2000 Enterprise Edition, maka akan muncul seperti berikut ini : Klik Rational Unified Process dari menu yang tampil, lalu klik OK, kemudian praktekkan cara membuat Kelas Desain. 2. Buatlah 5 buah kelas-kelas Desain. 5
MODUL II MEMBUAT MODEL DESAIN TUJUAN : - Mahasiswa bisa menyesuaikan istilah dalam UML dengan Visual Basic dan COM (Component Object Model) - Membuat Rancangan Tabel pada Microsoft Access TEORI : Terminologi UML dengan Visual Basic/COM UML Operation Parameter Atributes Visual Basic/COM Method Argument Property Memetakan Model Desain ke dalam Kode Visual Basic Elemen Model Class Class Utility Interface Packege Property (Attribute) Method (Operation) Visual Basic Benda dalam project dengan tipe yang sama dengan stereotype kelas tersebut dalam model. Module Class Module Tidak diterjemahkan ke dalam kode Property atau constant, bergantung pada stereotype dari property tersebut dalam model Method, Property Get, Set, atau Let Procedure, deklarasi Declare atau Event, bergantung pada stereotype method tersebut dalam model. Interface 6
Interface adalah sebuah elemen model yang mendefinisikan sebuah himpunan dari berbagai perilaku (operasi)yang ditawarkan oleh sebuah kelas, subsistem atau komponen (biasa disebut classifier). Sebuah interface dalam UML adalah sebuah kelas dengan stereotype interface, dengan notasi seperti pada gambar di bawah ini : Gambar 2. Notasi Interface Interface dalam sebuah model dari aplikasi Visual Basic digunakan untuk : - Menggambarkan sebuah public class module dalam project Visual basic (tidak dipakai dalam StAndard EXE project, karena project ini tidak dapat memiliki public class module). - Sebuah interface yang diarahkan untuk suatu komponen COM yang dimpor, menggambarkan sebuah interface COM dalam type library komponen tersebut. Class Utility Sebuah class utility menggambarkan sebuah himpunan servis yang disediakan oleh sebuah modul dalam sistem perangkat lunak (software) yang sedang dibangun. Sebuah class utility dipetakan ke dalam sebuah module dalam Visual Basic. Properties yang dimilikinya dipetakan sebagai variable module, public, ataupun private, dan method yang dimiikinya dipetakan sebagai method baik public ataupun private dari modul tersebut. TUGAS : 7
1. Buatlah interface untuk hubungan antara actor (pelaku), dan class diagramnya ( Pendaftaran dan Registrasi), seperti di bawah ini : 2. Buatlah Database yang bernama PENERIMAAN MAHASISWA BARU menggunakan Microsoft Access, yang memiliki 2 tabel yaitu PENDAFTARAN, dan REGISTRASI. PENDAFTARAN terdiri dari : NOMOR PENDAFTARAN (Number) TANGGAL PENDAFTARAN (Date) NAMA PENDAFTAR (Text) ALAMAT PENDAFTAR (Text) JURUSAN (Text) REGISTRASI terdiri dari : NOMOR REGISTRASI (Number) JUMLAH SUMBANGAN (Number) 8
MODUL III MEMBUAT MODEL DESAIN (LANJUTAN) TUJUAN : - Mahasiswa dapat membuat Gambaran Arsitektur Sistem Aplikasinya PRAKTEKKAN : Buatlah seperti di bawah ini : Gambar 3. Gambaran Arsitektur Sistem Penerimaan Mahasiswa Baru Cara Mempraktekkan : 9
1. Buatlah Tulisan Gambaran Arsitektur Sistem Penerimaan Mahasiswa Baru dengan cara klik dahulu tombol Text Box ( ) yang terdapat pada toolbox diagram. 2. Klik tombol Package ( ) yang terdapat pada toolbox diagram, dan buatlah nama-nama dari package tersebut. 3. Klik Dependency or instantiates ( ) yang terdapat pada toolbox diagram, hubungkan antar package-package yang sudah dibuat. TUGAS : Buatlah : 1. Gambaran arsitektur Sistem Penerimaan Mahasiswa Baru seperti yang terdapat di Gambar 3! 2. Sebuah Gambaran Arsitektur Sistem Pemesanan Tiket Kereta Api sebagai contoh dari Model Desain! (Buat beberapa sistemnya terlebih dahulu, setelah itu buat server dari sistem tersebut, setelah itu berikan hubungannya / dependency relationship) 10
MODUL IV MENGGUNAKAN MODEL ANALISIS UNTUK MEMBUAT MODEL DESAIN TUJUAN : - Mahasiswa dapat membuat model desain dari model analisis yang telah dibuat TEORI : Jika model analisis sudah dibuat, maka dapat digunakan sebagai acuan pada saat membuat model desain. Berbagai design properties dalam kelas desain seperti operasi dan atribut, menggambarkan bagaimana mendesainkan sebuah kelas analisis. Kelas-kelas analisis menggambarkan peran-peran yang dimainkan instance (satu contoh) dari elemen-elemen desain. Peran-peran tersebut dapat diisi satu atau lebih elemen model desain. Sebuah elemen desain juga dapat diisi beberapa peran. Berikut ini, cara pemetaan model desain dari model analisis yang mungkin terjadi, yaitu : Sebuah kelas analisis dapat menjadi sebuah kelas tunggal dalam model desain Sebuah kelas analisis dapt menjadi suatu bagian dari sebuah kelas dalam model desain Sebuah kelas analisis dapat menjadi sebuah kelas aggregate dalam model desain. (Artinya bahwa bagian-bagian dari kelas aggregate tersebut mungkin tidak dapat dimodelkan secara eksplisit dalam model nalisis) 11
Sebuah kelas analisis dapat menjadi sebuah kelompok dari kelas-kelas yang mewarisi dari kelas yang sama dalam model desain Sebuah kelas analisis dapat menjadi sekelompok kelas-kelas yang berhubungan secara fungsional dalam model desain Sebuah kelas analisis dapat menjadi sebuah paket dalam model desain ( berarti bahwa kelas tersebut menjadi sebuah komponen) Sebuah kelas analisis dapat menjadi sebuah relationship dalam model desain Sebuah relationship antarkelas analisis dapat menjadi sebuah kelas dalam model desain Kelas-kelas analisis menangani functional requirements utama dan memodelkan objek dari ruang lingkup masalah, sedangkan kelas-kelas desain menangani non-functional requirements dan memodelkan objek-objek dari ruang lingkup solusi Kelas-kelas analisis dapat digunakan untuk menggambarkan objek-objek yang diharapkan didukung oleh sistem yang sudah dibuat, tanpa mempertimbangkan seberapa banyak dari kelas-kelas tersebut dapat didukung perangkat lunak (software). Maka, bagian dari sebuah kelas analisis dapat direalisasikan oleh perangkat keras (hardware), dan karenanya tidak dimodelkan dalam model desain. Berbagai jenis kelas analisis (boundary, entity, atau control) yang akan didesainkan memberikan arahan untuk membuat kelas-kelas desain. 12
Praktekkan : Buatlah seperti di bawah ini : Gambar 4. Menggunakan Model Analisis untuk membuat Model Desain Cara mempraktekkan : 1. Buatlah Interface-interface ( ) yang terdapat pada toolbox diagram. Bentuk Interface dibedakan menjadi 3 (sesuai dengan kelas analisis), yaitu : a. Boundary ( ) 13
b. Control ( ), dan c. Entity ( ) 2. Setelah membuat Interface, klik 2 kali pada gambar interface yang sudah dibuat, pada tab General, isi ruang Name sesuai dengan namanya masingmasing, dan isi ruang Stereotype sesuai dengan nama kelasnya (boundary, control, atau entity).(buat semua interfacenya) 3. Klik Unindirectional Association ( ) yang terdapat pada toolbox diagram, draglah antara interface-interface yang sudah dibuat. (tanda panah menjelaskan bahwa adanya arah komunikasi antar interface, oleh karena itu, klik kanan pada hubungan asosiasi tersebut, kemudian klik Navigable). TUGAS : Setelah mempraktekkan gambar di atas. buatlah Model Analisis lain (bebas) untuk membuat Model Desainnya! 14
MODUL V MENDESAINKAN KELAS BOUNDARY DARI MODEL DESAIN TUJUAN : - Mahasiswa dapat mendesain kelas boundary dari model desain TEORI : Dalam analisis, biasanya terdapat sebuah kelas boundary untuk tiap-tiap jendela (window) atau untuk tiap-tiap form atau untuk tiap-tiap group dari form-form yang secara fungsional berhubungan dalam user interface. Oleh karena itu, sebuah kelas boundary menggambarkan satu bagian dari user interface, misalnya form. Kelas boundary yang menggambarkan interaksi dengan sistem luar biasanya menggambarkan suatu referensi ke dalam sebuah activex component atau DLL. Setelah Model Analisis yang digunakan untuk membuat Model Desain sudah selesai dibuat, maka dapat disiapkan untuk membuat model desain untuk User Interface (UI) aplikasi Sistem Penerimaan Mahasiswa Baru. Untuk itu, ikuti langkah-langkah dibawah ini, yaitu : 1. Buat modul utama untuk Sistem Penerimaan Mahasiswa Baru, dengan cara : Klik ikon class ( ) pada toolbox diagram, kemudian klik pada area diagram yang dibuka. 2. Klik dua kali pada kelas yang sudah dibuat. 3. Buka Spesification elemen yang baru tersebut. 15
4. Pada tab General, isi ruang Name dengan Main_Mod, ruang Type dengan ClassUtility, dan ruang Stereotype dengan Module. 5. Klik OK untuk menutup Spesification. 6. Dengan cara yang sama, buat frmmain dengan type Class, stereotypenya MDI Form, frmpembelianformulir, frmpembayaranformulir, frmpengembalianformulir dan frmdatasheetpmb, dengan type-nya tetap Class dan stereotype-nya Form, sehingga didapatkan gambar 5 seperti di bawah ini : Gambar 5. Gambaran UI (User Interface) untuk Sistem Penerimaan Mahasiswa Baru 16
TUGAS : 1. Buat seperti gambar 5 di atas dengan mengikuti langkah-langkah mempraktekkannya. 2. Buat Gambaran UI-nya dari Model Desain yang sudah Anda buat pada Bab IV. 17
MODUL VI MENDESAINKAN KELAS ENTITY & CONTROL DARI MODEL DESAIN TUJUAN : - Mahasiswa dapat mendesain kelas entity dan control dari model desain TEORI : 1. Mendesainkan Kelas Entity Kelas entity menggambarkan unit-unit informasi yang diolah. Oleh karena itu, dalam desain model, kelas entity dibentuk menjadi bagian yang mendasar pada database. Pada gambar 4 di bab IV, terdapat dua kelas entity yang akan didesainkan, yaitu Pendaftaran Mahasiswa Baru dan Pendaftaran Baru. Kedua kelas entity tersebut disatukan dalam satu kelas desain, clsmahasiswabaru dan clspmb. Disini kita akan mengerjakan paket Business Objects PMB yang sudah dibuat, yaitu langkah-langkahnya sebagai berikut : a. Buka diagram Main dalam paket Busines Objects PMB yang sudah dibuat. b. Dengan mengikuti langkah 1angkah 1 sampai dengan langkah 6 pada bab V, buatlah dua kelas dengan nama clsmahasiswabaru dan dan clspmb dengan stereotype Class Module. Setelah langkah a dan b dikerjakan, maka didapatkan gambar sebagai berikut : 18
Gambar 6. Gambaran Business Objects Sistem Penerimaan Mahasiswa Baru 2. Mendesainkan Kelas Control Sebuah object control berperan dalam mengatur alur sebuah use case. Karenanya, kelas control kemungkinan besar akan menghasilkan class module dalam model desain. Dalam model ini, kelas control Membuat Pendaftaran Baru, yang bertugas mengkoordinasikan penambahan pendaftaran baru akan menjadi bagian dari kelas clsmahasiswabaru dan clspmb (sesuai dengan poin kedua cara pemetaan model desain dari model analisis yang sudah dibuat). Hal ini terlihat ketika Anda menentukan operasi untuk kelas tersebut. TUGAS : 19
3. Buat seperti gambar 6 di atas dengan mengikuti langkah-langkah mempraktekkannya. 4. Buat Gambaran Business Objects-nya dari Model Desain yang sudah Anda buat pada Bab IV. 20
MODUL VII MENENTUKAN ASSOCIATION RELATIONSHIP & AGGREGATION RELATIONSHIP TUJUAN : - Mahasiswa dapat mengetahui dan membuat association dan aggregation relationship TEORI : Asosiasi (association) menggambarkan mekanisme komunikasi suatu objek dengan objek lainnya. Asosiasi juga dapat menggambarkan kebergantungan antarkelas, yaitu suatu perubahan yang terjadi pada suatu kelas dapat dirasakan oleh kelas lainnya. Sedangkan aggregation relationship memperlihatkan bahwa suatu objek secar fisik ( objek aggregate = instance dari kelas aggregate) dibentuk dari objekobjek lain, atau secara logis mengandung objek lain. Untuk lebih jelasnya, ikuti langkah-langkah seperti di bawah ini: 1. Buka diagram Main, yang terdapat pada paket UI PMB yang sudah dibuat sebelumnya. 2. Klik ikon Unindirectional Association ( ), kemudian klik pada MDIForm frmmain, dan drag ke Form frmpembelianformulir, untuk membuat asosiasi dari frmmain ke frmpembelianformulir. 3. Klik kanan pada asosiasi yang baru saja dibuat, dan pilih Open Spesification untuk membuka spesification relationship tersebut. 21
4. Ketik f1 pada ruang Role A (Element A adalah frmpembelianformulir) Gambar 7. Association Spesification 5. Klik OK untuk menutup Spesification. 6. Ulangi langkah 1 sampai dengan langkah 5 untuk membuat asosiasi dari frmmain ke frmdatasheetpmb, dari frmmain ke frmpembayaranformulir,dari frmmain ke frmpengembalianformulir, dari frmpembelianformulir ke frmpembayaranformulir, dan dari frmdatasheetpmb ke frmpengembalianformulir, sehingga didapatkan gambar : 22
Gambar 8. Menentukan Asosiasi antar Elemen dalam UI PMB 7. Buat diagram lain dalam paket Business Objects PMB yang bernama Hubungan dengan UI. 8. Buka diagram tersebut. 9. Drag frmpembayaranformulir, frmpengembalianformulir, kelas modul clsmahasiswabaru, dan clspmb ke dalam area diagram. 10. Buat asosiasi dari frmpembayaranformulir ke clsmahasiswabaru, dan dari frmpengembalianformulir ke clspmb, sehingga didapatkan gambar seperti di bawah ini : 23
Gambar 9. Diagram Hubungan dengan UI, Menggambarkan Hubungan Elemen-elemen UI dengan Elemen-elemen dalam Business Objects TUGAS : 5. Buat seperti gambar 8 dan gambar 9 di atas dengan mengikuti langkahlangkah mempraktekkannya. 6. Buat Asosiasi-nya dari Gambaran UI yang sudah Anda buat pada Bab IV. 24
7. Buat Gambaran Hubungan UI dengan Business Objectnya dari system yang sudah anda buat. 25
MENENTUKAN OPERASI & ATRIBUT DALAM KELAS DESAIN MODUL VIII TUJUAN : - Mahasiswa dapat menentukan Operasi dan Atribut dalam suatu kelas desain TEORI : 1. Menentukan Operasi Untuk membantu menentukan operasi(operation) dalam suatu kelas desain, maka harus dilihat peran kelas analisis yang berpadanan dengan kelas desain tersebut. Operasi diperlukan untuk mendukung pesan-pesan (messages) yang muncul dalam sequence diagram (yang menjelaskan use case realization) yang telah dibuat. Jika ada message yang tidak memungkinkan untuk dipadankan dengan sebuah operasi, message tersebut menggambarkan perilaku kelas yang diperkirakan akan dimainkan. Operasi, type, return type, dan parameter harus diberi nama dengan aturan yang berlaku dalam bahasa implementasi. Untuk setiap operasi, tentukan visibility yang paling mengikat operasi tersebut(sequence diagram). Untuk menentukan operasi untuk kelas-kelas desain yang sudah dibuat, ikuti langkah-langkah berikut : a. Buka Spesification untuk Main_Mod. b. Buka tab Operations dari Spesification tersebut. 26
c. Klik kanan pada ruang Operation, kemudian pilih Insert. Akan muncul satu operasi yang ada pada ruang Operation, dengan visibility public (muncul dengan ikon ). d. Klik Main pada ruang Operation yang bertuliskan opname, untuk member nama operasi yang baru saja dibuat. Lihat gambar di bawah ini : Gambar 10. Menggunakan Spesification untuk Menentukan Operasi e. Klik OK untuk menutup Spesification. Sehingga Main_Mod akan menjadi : Gambar 11. Operasi Main dalam Main_Mod 27
Jika operasi Main tidak muncul, klik kanan pada Main_Mod, pilih Option > Show All Operations. Kita baru saja membubuhkan sebuah operasi pada Main_Mod. f. Lakukan hal yang sam pad form frmpembayaranformulir, dengan Operasi di bawah ini (tulisan dalam kurung adalah keterangan) : Form_Load (Menjalankan Form) Form_Rezise (Mengubah Ukuran resize/grid ketika form di resize) Form_KeyDown Form_Unlock (Merespon penekanan kunci/keypress) (Menutup Form) cmdadd_click (Mengosongkan formulir untuk diisi permohonan baru dengan mengklik command button Add) cmdcancel_click cmdupdate_click cmdclose_click cmdfirst_click cmdlast_click cmdnext_click cmdprevious_click (Membatalkan) (Menambahkan permohonan baru) (Menutup formulir) (Pindah ke record pertama) (Pindah ke record terakhir) (Pindah ke record berikutnya) (Pindah ke record sebelumnya) setbuttons (Menetapkan properties command button) g. Jadikan semua operasi yang sudah dibuat pada langkah f di atas memiliki visibility Private (ikon ). Lihat gambar berikut : 28
Gambar 12. Menentukan Visibility Operasi h. Klik kanan pada operasi Form_Unload, pilih Spesification untuk menentukan properties dari operasi tersebut. i. Pilih tab Detail pada Spesification operasi tersebut. j. Klik kanan pada ruang Name dan pilih Insert. k. Ketik Cancel untuk memberi nama argument tersebut. l. Jadikan type argument tersebut sebagai integer. (Dapat dilakukan dengan meng-klik pada ruang Type atau meng-klik dua kali argument tersebut. Untuk membuka Spesification argument tersebut, kemudian pilih Integer pada ruang Type). Seperti gambar berikut : 29
Gambar 13. Menambahkan Parameter (Argument) dalam suatu operasi m. Klik OK untuk menutup Spesification argument. n. Anda dapat mengisi keterangan dalam kurung ke dalam ruang dokumentasi pada Spesification operasi bersangkutan. Dokumentasi tersebut akan diubah menjadi documentation code saat di-generate ke dalam kode. o. Klik OK untuk menutup Spesification operasi. p. Klik OK untuk menutup Class Spesification. 30
Gambar 14. Menambahkan dokumentasi untuk suatu operasi q. Tambahkan operasi yang sama dengan yang dibubuhkan pada frmpembayaranformulir pada frmpengembalianformulir, sehingga didapatkan class module sebagai berikut : 31
Gambar 15. Operasi pada frmpembayaranformulir dan frmpengembalianformulir 2. Menentukan Atribut Langkah-langkah yang dilakukan dalam menentukan Attribute sebuah kelas, sama seperti langkah-langkah menentukan Operasi. Bedanya, dalam Attribute melalui tab Attribute. Atribut tersebut adalah : mbaddnewflag dengan type Boolean (Untuk menandai jika akan dilakukan tambahan permohonan baru/ tekan cmdadd) mbdatachanged dengan type Boolean (Menandai jika data telah berganti karena aksi tertentu yang memindahkan focus ke record lainnya) 32
Jika kedua Class Module (frmpembayaranformulir dan frmpengembalianformulir) sudah ditentukan Attribut-nya, maka didapatkan gambar : Gambar 16. Attribute pada frmpembayaranformulir dan frmpengembalianformulir TUGAS : 1. Praktekkan cara-cara menentukan Operasi dan Attribut seperti langkah-langkah di atas (Buat seperti contoh dari gambar-gambar yang ada di atas)! 2. Setelah itu, buatlah operasi dan attribute seperti gambar di bawah ini : 33
3. Tentukan dan buatlah Operasi dan Atribut dari Class Module yang sudah Anda buat! 34