Anda di halaman 1dari 13

Praktikum Analisis dan Perancangan

PEMODELAN PERANCANGAN BERORIENTASI OBJEK

1.1. TUJUAN PRAKTIKUM :

a) Memahami konsep OOD.


b) Mahasiswa mampu mentransformasikan model kebutuhan kedalam model
perancangan OO dengan UML.
c) Menjelaskan proses normalisasi dari class diagram yang telah ada di dalam
dokumen kebutuhan.
d) Mahasiswa dapat menentukan object-object dinamis dari suatu class dan
mengambarkan state diagram dari object-object tersebut.
e) Mahasiswa mampu menyusun dan merancang komponen (algoritma).

1.2. DASAR TEORI

Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message
yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram
biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah
yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output
tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan
perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya.
Pada fase desain berikutnya, message akan dipetakan menjadi operasi/
metoda dari class yang akan dijelaskan pada sub bab berikutnya. Activation bar
menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan
diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus,
standar UML mendefinisikan ikon khusus untuk objek boundary, controller dan

Modul Praktikum Analisis dan Perancangan Sistem Halaman 46 dari 58


persistent entity. Penjelasan dapat dilihat pada Gambar 1. Contoh sequence
diagram dapat dilihat pada Gambar 2.

Gambar 5.1 Notasi squence diagram

Gambar 5.2 Contoh squence diagram

Modul Praktikum Analisis dan Perancangan Sistem Halaman 47 dari 58


Class diagram
Objek adalah gambaran dari entity, baik dunia nyata atau konsep dengan
batasan batasan dan pengertian yang tepat. Objek bisa mewakili sesuatu yang
nyata seperti komputer, mobil atau dapat berupa konsep seperti proses kimia,
transaksi bank, permintaan pembelian, dll. Setiap objek dalam sistem memiliki tiga
karakteristik yaitu State (status), Behaviour (sifat) dan Indentity (identitas).
Cara mengidentifikasi objek:
1. pengelompokan berdasarkan kata/frase benda pada skenario.
2. berdasarkan daftar kategori object, antara lain:
 objek fisik, contoh:pesawat telepon
 spesifikasi/rancangan/deskripsi, contoh: deskripsi pesawat
 tempat, contoh:gudang
 transaksi, contoh: penjualan
 butir yang terlibat pada transaksi, contoh: barang jualan
 peran, contoh :pelanggan
 wadah, contoh : pesawat terbang
 piranti, contoh:PABX
 kata benda abstrak, contoh: kecanduan
 kejadian, contoh:pendaratan
 aturan atau kebijakan, contoh:aturan diskon
 catalog atau rujukan, contoh: daftar pelanggan

Klas adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan


sebuah objek atau dengan kata lain Klas merupakan template untuk membentuk
object. Klas merupakan inti dari pengembangan dan desain berorientasi objek.
Klas menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/ fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan
objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi,
dan lain-lain.

Modul Praktikum Analisis dan Perancangan Sistem Halaman 48 dari 58


Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda/operasi
Penamaan class menggunakan kata benda tunggal yang merupakan abstraksi
yang terbaik. Atribut dan metoda dapat memiliki salah satu sifat berikut :
 Private (-) , tidak dapat dipanggil dari luar class yang bersangkutan
 Protected (#) , hanya dapat dipanggil oleh class yang bersangkutan dan anak
anak yang mewarisinya
 Public (+) , dapat dipanggil oleh siapa saja

- names
- address

+ CreditRating():String

Gambar 5.3 Contoh Class Diagram

Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak
yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan,
tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian
interface mendukung resolusi metoda pada saat run-time. Sesuai dengan
perkembangan class model, class dapat dikelompokkan menjadi package. Kita
juga dapat membuat diagram yang terdiri atas package.

Hubungan Antar Class


Dalam Obyek Oriented Design, klas-klas yang terbentuk dapat memiliki
hubungan satu dengan yang lainnya, sesuai dengan kondisi dari klas-klas yang
bersangkutan. Secara umum, hubungan antar kelas dapat dibedakan menjadi
Asosiasi, agregasi, komposisi, dependency, inheritance, realization.

Modul Praktikum Analisis dan Perancangan Sistem Halaman 49 dari 58


Gambar 5.4 Notasi relasi antar klas

Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class


yang memiliki atribut berupa class lain, atau class yang harus mengetahui
eksistensi class lain. Panah navigability menunjukkan arah query antar class.
Contoh :
Klas diagram dalam kasus “Dosen Mengajar Mahasiswa”. 1 Dosen dapat
mengajar banyak Mahasiswa. Dalam hubungan asosiasi, di dalam Klas Dosen ada
link atribut nim mahasiswa yg diperoleh dari Klas Mahasiswa.

Gambar 5.5 contoh Asosiasi

Agregasi, yaitu hubungan yang menyatakan suatu klas adalah bagian (“terdiri
atas kumpulan”) dari klas yg lain, namun kedua klas ini bisa berdiri sendiri.
Merupakan hubungan yang lebih kuat dari hubungan asosiasi.
Contoh :
 Klas Jurusan menyimpan nilai atribut dari mahasiswa dengan tipe data
Klas bentukan “Mahasiswa”.
 Mahasiswa dapat memiliki objek sendiri
 Jurusan dapat memiliki objek sendiri
 Mahasiswa menjadi bagian dari jurusannya.
 1 jurusan bisa memiliki banyak mahasiswa.

Modul Praktikum Analisis dan Perancangan Sistem Halaman 50 dari 58


Gambar 5.6 contoh Agregasi

Komposisi, merupakan bentuk khusus dari Agregasi di mana kelas yang


menjadi part (bagian) baru dapat diciptakan setelah kelas yang menjadi whole
(seluruhnya) dibuat dan ketika kelas yang menjadi whole dimusnahkan, maka
kelas yang menjadi part ikut musnah.
Contoh :
 Hubungan komposisi antara sebuah laptop dengan komponennya.
 Contoh objek:
 Laptop Asus A43S memiliki CPU intel core i7; VGA Nvidia 2GB;
 Laptop Toshiba S006 memiliki CPU intel core i5; VGA Nvidia 2GB;
Nilai CPU dan VGA tidak bisa didapat jika tidak melalui nilai objek Laptop. Ada
ketergantungan penuh dari class CPU & VGA ke Laptop, dengan Kata lain jika
Laptop tidak ada maka CPU dan VGA juga tidak ada.

Gambar 5.7 contoh Komposisi

Dependency, yaitu hubungan dimana satu klas tergantung/menggunakan klas


yang lain secara langsung.
Contoh :

Modul Praktikum Analisis dan Perancangan Sistem Halaman 51 dari 58


Klas Car menggunakan attribut atau method yang ada di Klas Wheel secara
langsung tanpa instansiasi objek Wheel.

Gambar 5.8 contoh Dependency

Pewarisan (inheritance), yaitu hubungan hirarkis antar class. Class dapat


diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya
dan menambahkan fungsionalitas baru, sehingga ia disebut anak (subclass) dari
class yang diwarisinya (superclass). Operasi pada superclass dapat di-override oleh
subclass (konsep polymorphism). Kebalikan dari pewarisan adalah generalisasi.
Contoh :
Klas Shape adalah super class dari Klas Square dan Circle, sehingga atribut dan
method Klas Shape diwarisi oleh Klas Square dan Circle namun Klas Square dan
Circle bisa memiliki atribut maupun method yg spesifik.

Gambar 5.9 contoh Inheritance

Realization, Hubungan antara Interface dan Klas, di mana suatu Klas (klien)
mengimplement perilaku dari interface namun secara spesifik menentukan
perilaku di dalam Klas.
Interface adalah prototype klas yang berisi definisi konstanta dan deklarasi
perilaku/method (hanya nama method tanpa definisi kode programnya).

Modul Praktikum Analisis dan Perancangan Sistem Halaman 52 dari 58


Ciri sebuah interface:
 Semua atribut adalah public dan final (semua atribut bertindak sebagai
konstanta). Dapat juga menambahkan modifier static.
 Semua method adalah abstract dan public
 Tidak boleh ada deklarasi konstruktor.
Contoh :

Gambar 5.10 contoh Realization

State Transiton Diagram


Use case dan skenario menyediakan cara untuk menggambarkan kelakuan
sistem yakni interaksi antara object-object di dalam sistem. Kadang-kadang
diperlukan untuk melihat kelakuan di dalam object. State transition diagram
menunjukkan state-state dari object tunggal, event-event atau pesan yang
menyebabkan transisi dari satu state ke state yang lain, dan action yang
merupakan hasil dari perubahan sebuah state. State transition diagram tidak akan
dibuat untuk setiap class di sistem. State transition diagram hanya dibuat untuk
class yang berkelakuan dinamis.
State adalah sebuah kondisi selama kehidupan sebuah object ketika object
memenuhi beberapa kondisi, melakukan beberapa action, atau menunggu sebuah
event. State dari sebuah object dapat dikarakteristikkan oleh nilai dari satu atau
lebih atribut- atribut dari class. State-state dari sebuah object ditemukan dengan

Modul Praktikum Analisis dan Perancangan Sistem Halaman 53 dari 58


pengujian/pemeriksaan atribut- atribut dan hubungan-hubungan dari object.
State transition diagram meliputi seluruh pesan dari object yang dapat mengirim
dan menerima. Skenario merepresentasikan satu jalur yang melewati sebuah state
transition diagram. Jarak waktu antara dua pesan yang dikirim oleh sebuah object
merepresentasikan sebuah state. Masing- masing diagram harus mempunyai satu
dan hanya satu start state ketika object mulai dibuat namun sebuah object boleh
mempunyai banyak stop state.

State

Gambar 5.11 Notasi untuk State

Event
Perubahan (transition) dari sebuah state ke state lainnya diakibatkan oleh
sebuah event digambarkan oleh state transition. Event yang menyebabkan
perubahan tersebut dituliskan di atas garis panah.

Pseudocode
Pseudocode adalah metode penulisan bahasa inggris sederhana yang
merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan,
sedangkan Code adalah kode program sehingga pseudocode bisa disebut sebagai
kode tiruan dari program sebenarnya yang dituliskan dalam standar bahasa inggris
untuk mendekatkan dengan perintah-perintah yang terdapat pada bahasa
pemrograman. Setiap Pseudocode akan selalu terdiri dari tiga bagian yaitu :

Judul (Header)
{Berisi Judul Algoritma/ method}

Kamus ( Deklarasi )
{Berisi Deklarasi Variabel atau Konstantan}

Algoritma ( Deskripsi )
{Berisi Inti Algoritma}

Modul Praktikum Analisis dan Perancangan Sistem Halaman 54 dari 58


Gambar 5.12 contoh pseudocode

1.3. SOAL-SOAL LATIHAN

1. Berdasarkan analisis klas modul pemodelan kebutuhan OO, buatlah klas


perancangan yang siap untuk di implementasikan
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

2. Sesuaikan diagram sekuens sesuai dengan level perancangan.


_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
3. Untuk setiap method pada klas yang telah diidentifikasi dalam soal No.1, buat
pseudocode-nya sesuai dengan kasus yang telah diuraikan!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Modul Praktikum Analisis dan Perancangan Sistem Halaman 55 dari 58


STUDI KASUS : DESAIN KLAS
Pabrik perakitan mobil tersebut berkeinginan untuk membuat program
aplikasi berbasis Web atau Desktop dengan kasus penggunaan sebagai berikut:
a. Simulasi perakitan mobil dilakukan oleh seorang Operator
b. Simulasi yang dapat dilakukan adalah simulasi pembuatan, pemasangan, dan
operasi yang dapat dilakukan oleh seluruh komponen Mobil
c. Proses simulasi sistem yang dilakukan oleh hanya dapat dilakukan setelah
seorang Manajer mengaktifkan program simulasi
d. Visualisasi proses simulasi yang dilakukan ditampilkan dalam dua antarmuka,
satu untuk Operator dan satu untuk Manajer.
e. Operator dapat melakukan seluruh operasi simulasi dan melihat tampilan
simulasi secara visual.
f. Selain dapat mengaktifkan dan menonaktifkan program simulasi, seorang
Manajer dapat melihat seluruh rangkaian proses simulasi.

Jawablah beberapa soal berikut dengan tepat, jelas, dan spesifik!

1. Lakukan analisis fungsionalitas dan penggunaan sistem lengkap dan lakukan


pemodelan dengan menggunakan Model Use Case (Use Case Diagram dan Use
Case Specification) berdasarkan kasus penggunaan program yang telah
diuraikan!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

2. Gambarkan aktivitas skenario penggunaan program/ sistem dalam Activity


Diagram.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Modul Praktikum Analisis dan Perancangan Sistem Halaman 56 dari 58


_______________________________________________________________
_______________________________________________________________

3. Lakukan analisis Boundary, Control, dan Entity dalam untuk setiap aktivitas
yang tergambar dalam skenario penggunan/use case scenario dan wujudkan
dalam Sequence Diagram.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

4. Gambarkan objek yang telah diidentifikasi dalam soal No.3 dan lengkapi
dengan jenis relasi, kardinalitas, dan modalitas antar class dalam Class
Diagram!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

5. Gambarkan Class Diagram lengkap beserta atribut, method, visibility, relasi,


kardinalitas, dan modularitas relasi antar objek yang diperoleh dari hasil
analisis class dan analisis Boundary, Control, dan Entity sehingga siap untuk
diimplementasikan!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Modul Praktikum Analisis dan Perancangan Sistem Halaman 57 dari 58


6. Lakukan analisis State yang mungkin untuk kasus penggunaan yang telah
diuraikan dan gambarkan dalam State Transition Diagram!
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________

Modul Praktikum Analisis dan Perancangan Sistem Halaman 58 dari 58

Anda mungkin juga menyukai