Prinsip
Perancangan
1.
Apa
yang dimaksud dengan objek? Apakah titik pandang berorientasi objek? Mengapa
suatu metode dianggap sebagai berorientasi objek? Jelaskan!
Jawab :
Objek
adalah sebuah benda. Meskipun objek memang tidak harus sebuah benda, namun cara
paling cepat untuk memahami tentang objek adalah membayangkannya sebagai sebuah
benda. Yang luar biasa dari cara berpikir berorientasi objek adalah kita dapat
melihat sebuah benda secara sederhana sebagai sebuah objek saja, atau kita
dapat melihat sebuah benda sebagai wujud dari kumpulan banyak objek yang
bekerja sama bergabung menjadi satu.
Model
data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih,
kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala
besar. Lebih jauh lagi, OOP lebih mudah dipelajari bagi pemula dibanding dengan
pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
2.
Jelaskan
apa yang dimaksud dengan “pemrograman berorientasi objek”!
Jawab :
Pemrograman
berorientasi objek (Inggris: object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data
dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.
Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima
pesan, memproses data, dan mengirim pesan ke objek lainnya.
3.
Jelaskan
perbedaan antara pendekatan konvensional (struktural) dengan pendekatan objek!
Jawab :
Perbandingan
|
Orientasi Objek
|
Konvensional
|
Pembangunan sistem
|
Lebih mudah
|
Lebih rumit
|
Waktu pengembangan,
level organisasi, ketangguhan, penggunaan kembali kode program
|
Lebih tinggi
|
Dibawah orientas objek
|
Fase desain dan
analisis
|
Adanya pemisahan,
sehingga meningkatkan komunikasi antar user dan developer
|
Tidak ada pemisahan
|
Batasan implementasi
sistem
|
Tidak dibatasi, desain
dapat diformulasikan dengan berbagai lingkungan eksekusi
|
Dibatasi
|
Analisis
|
Terlalu sering
menganalisis terhadap fungsionalitas sistem
|
Tidak berbasis pada
fungsionalitas sistem
|
Desain
|
Kemudahan dalam desain
|
Rumit
|
Kinerja team
|
Kurang ditekankan pada
kinerja team
|
Sangta ditekankan pada
kinerja team
|
Perubahan
|
Memungkinkan adanya
perubahan
|
Susah dilakukan
perubahan
|
Data dan method
|
Adanya
enkapsulasi antara data dan methode
|
Tidak adanya
enkapsulasi
|
Adaptasi
|
Sulit beradaptasi,
karena sering memakai metode terstruktur
|
Mudah beradaptasi
|
4.
Jelaskan
perbedaan antara Kelas dan Objek!
Jawab :
Objek adalah sebuah benda.
Meskipun objek memang tidak harus sebuah benda, namun cara paling cepat untuk
memahami tentang objek adalah membayangkannya sebagai sebuah benda. Yang luar
biasa dari cara berpikir berorientasi objek adalah kita dapat melihat sebuah
benda secara sederhana sebagai sebuah objek saja, atau kita dapat melihat
sebuah benda sebagai wujud dari kumpulan banyak objek yang bekerja sama
bergabung menjadi satu.
Class
atau Kelas merupakan kumpulan dari objek yang mempunyai sifat sejenis. Di dalam
dunia pemrograman, class digunakan untuk menciptakan objek. Satu class dapat
digunakan untuk membuat banyak object. Seumpama kita membangun rancangan rumah
yang digunakan untuk mebangun ratusan rumah, hal ini bisa dilakukan karena
semua object rumah yang dibangun memiliki karakteristik yang sama, sehingga
dapat dibuatkan semacam blueprintnya, tetapi object yang dibangun tetap akan
memiliki bentuk fisik tertentu. Kelas dapat didefinisikan menjadi sebuah
blueprint yang mendefinisikan variabel dan metode yang sama untuk semua objek
sejenis.
5.
Apa
yang dimaksud dengan Enkapsulasi, Pewarisan dan Polimorfisme? Jelaskan!
Jawab :
PENGAKAPSULAN (ENCAPSULATION)
Pengkapsulan adalah metode untuk
menggabungkan data dengan fungsi. Dalam konsep ini data dan fungsi digabung
menjadi satu kesatuan yaitu kelas. Konsep ini erat kaitannya dengan konsep
penyembunyian informasi (information hiding).
PEWARISAN (INHERITANCE)
Dari konsep pewarisan ini suatu
kelas bisa diturunkan menjadi kelas baru yang masih mewarisi sifat-sifat kelas
orangtuanya. Hal ini dapat dianalogikan dengan kelas manusia. Manusia merupakan
turunan dari orang tuanya dan sifat-sifat orang tua diwarisi olehnya. Bisa
ditarik kesimpulan bahwa semua kelas di dunia selalu memiliki hirarki yang
menggambarkan silsilah kelas tersebut.
POLIMORFISME (POLYMORPHISM)
Polimorfisme berarti kelas-kelas
yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang
sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu
fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang
berbeda-beda.
6.
Sebutkan
paradigm (metodologi) rekayasa perangkat lunak berorientasi objek!
Jawab :
Ada beberapa metode pengembangan
perangkat lunak berorientasi objek yang sudah dikenal, dan diantaranya adalah:
·
Object Oriented Analysis
(OOA) dan Object Oriented Design (OOD) dari Peter Coad dan Edward Yourdon
[1990]
·
Object Modeling
Technique (OMT) dan James Rumbaugh, Michael Blaha, William Premerlan, Frederick Eddy dan William Lorensen [1991]
·
Object Oriented Software
Engineering (OOSE) dan Ivar Jacobson [1992].erd,dfd……..
·
Booch Method dan Grady
Booch [1994]
·
Sritrop dan Steve Cook
dan John Daniels [1994].
·
UML (Unified Modeling
Language) dari James Rumbaugh. Grady Booch dan Ivar Jacobson [1997].
7.
Jelaskan
apa itu UML!
Jawab :
UML (Unified Modeling Language)
adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan mendokumentasikan
artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu
proses pembuatan perangkat lunak. Artifact dapat berupa model, deskripsi atau
perangkat lunak) dari system perangkat lunak, seperti pada pemodelan bisnis dan
system non perangkat lunak lainnya.
UML merupakan bahasa standar
untuk penulisan blueprint software yang digunakan untuk visualisasi,
spesifikasi, pembentukan dan pendokumentasian alat-alat dari sistem perangkat
lunak.
8.
UML
memiliki 9 diagram, jelaskan kesembilan diagram tersebut kemudian berikan
contohnya masing-masing!
Jawab :
a. Use case diagram
Use case diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan interaksi antara sistem
dan aktor, use case diagram juga dapat men-deskripsikan tipe interaksi antara
si pemakai sistem dengan sistemnya.
Inilah contoh dari use case diagram.
b. Activity Diagram
Activity diagram atau
diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan
proses-proses apa saja yang terjadi pada sistem.
Inilah contoh dari activity diagram.
c. Sequence diagram
Sequence diagram yaitu
salah satu jenis diagram pada UML yang menjelaskan interaksi objek yang
berdasarkan urutan waktu, sequence diagram juga dapat menggambarkan urutan atau
tahapan yang harus dilakukan untuk dapat menghasilkan sesuatu seperti pada use
case diagram.
Inilah contoh dari sequence diagram.
d. Class diagram
Class diagram yaitu
salah satu jenis diagram pada UML yang digunakan untuk menampilkan kelas-kelas
maupun paket-paket yang ada pada suatu sistem yang nantinya akan
digunakan. Jadi diagram ini dapat memberikan sebuah gambaran mengenai
sistem maupun relasi-relasi yang terdapat pada sistem tersebut.
Inilah contoh dari class diagram.
e. Statemachine
diagram
Statemachine diagram
yaitu salah satu jenis diagram pada UML yang menggambarkan transisi maupun
perubahan keadaan suatu objek pada sistem.
Inilah contoh dari statemachine diagram.
f. Communication
diagram
Communication diagram
yaitu salah satu jenis diagram pada UML yang dapat menggamabarkan tahapan
terjadinya suatu aktivitas dan diagram ini juga menggambarkan interaksi antara
objek yang ada pada sistem. Hampir sama seperti sequence diagram akan tetapi
communication diagram lebih menekankan kepada peranan masing-masing objek pada
sistem.
Inilah contoh dari communication diagram.
g. Deployment
diagram
Deployment diagram yaitu
salah satu diagram pada UML yang menunjukan tata letak suatu sistem secara
fisik, dapat juga dikatakan untuk menampilkan bagian-bagian softwere yang terdapat
pada hardwere dan digunakan untuk menerapkan suatu sistem dan hubungan
antara komponen hardwere. Jadi Deployment diagram intinya untuk menunjukan
letak softwere pada hardwere yang digunakan sistem.
Inilah contoh dari deployment diagram.
h. Component diagram
Component diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan softwere pada suatu
sistem. Component diagram merupakan penerapan softwere dari satu ataupun
lebih class, dan biasanya berupa file data atau .exe, source kode, table,
dokumen dsb.
Inilah contoh dari component diagram.
i. Object diagram
Object diagram yaitu
salah satu jenis diagram pada UML yang menggambarkan objek-objek pada suatu
sistem dan hubungan antarnya.
9.
Pilih
salah satu kasus di bawah ini :
Sistem
Informasi Perpustakaan
Sistem
Informasi Kepegawaian
Sistem
Informasi Akademik
Sistem
Informasi Rental Kendaraan
Gambarkan
diagram Use Case dan buatkan Skenario Use Case untuk kasus yang dipilih !
Jawab :
A. Usecase
Diagram
Use case diagram menggambarkan fungsionalitas sistem secara global.
Gambar 4.1 Use Case Diagram Sistem Informasi Perpustakaan Kampus (SISFOPERPUS)
B.
Skenario Use Case
Skenario use case digunakan
untuk memudahkan dalam menganalisa skenario yang akan kita gunakan pada
fase-fase selanjutnya dengan melakukan penilaian terhadap skenario tersebut.
1.
|
Nama Use Case
Aktor
Tujuan
|
:
:
:
|
Pendaftaran
Anggota
Anggota/Pengunjung,
Petugas Perpustakaan Melakukan pendaftarn anggota
|
Tabel 1.1 Skenario Use Case Daftar
Anggota.
Pengunjung
|
Sistem
|
1. Menyerahkan kartu mahasiswa
|
|
|
2. Memeriksa kartu mahasiswa
|
3. Mengisi formulir anggota
|
|
|
4. Membuat kartu anggota
|
5. Kartu Anggota
|
|
2.
|
Nama Use Case
Aktor
Tujuan
|
:
:
:
|
Peminjaman
Buku
Anggota/Pengunjung,
Petugas Perpustakaan Anggota meminjam buku
|
Tabel 1.2 Skenario use case meminjam buku.
Anggota
|
Sistem
|
1. Memperlihatkan kartu anggota
|
|
2. Memperlihatkan buku yang
akan dipinjam
|
|
|
3. Mencatat data anggota yang meminjam buku
|
|
4. Mencatat data buku yang dipinjam
|
3.
|
Nama Use Case
Aktor
Tujuan
|
:
:
:
|
Pengembalian
Buku
Anggota/Pengunjung,
Petugas Perpustakaan Anggota mengembalikan buku yang telah dipinjam
|
Tabel 1.3 Skenario Use Case Mengembalikan
Buku
Anggota
|
Sistem
|
1. Menyerahkan kartu anggota
|
|
2. Menyerahkan buku yang dipinjam
|
|
|
3. Mengecek kartu anggota
|
|
4. Mengecek data buku yang dipinjam
|
|
5. Denda
|
6. Informasi denda
|
|
10.
Dalam
hubungan antar Kelas, ada istilah Agregasi, Asosiasi dan Generalisasi. Jelaskan ketiga istilah tersebut.
Jawab :
·
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.
·
Agregasi,
yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
·
Relasi
Generalisasi digunakan dalam hubungan antara kelas induk dengan kelas turunan (
inherited) .
0 comments "Orientasi Objek", Baca atau Masukkan Komentar
Post a Comment
Rules:
1. No Spam