Vous êtes sur la page 1sur 10

Abstraksi

• Salah satu cara menangani kompleksitas dengan abstraksi.


• Abstraksi
– proses pemusatan perhatian pada karakteristik yang esensial dari
suatu objek atau aktivitas yang kompleks
– prinsip pengabaian aspek-aspek yang tidak relevan dengan tujuan
(pengamatan) kini agar lebih memusatkan perhatian pada hal-hal
yang relevan saja (Dictionary of Computing, Oxford University
Press, 1986)
• Tujuan Abstraksi
• pemusat perhatian (attention focussing)
− bertujuan untuk melihat hal-hal yang relevan saja, contoh:
warna baju bercorak
• pemilihan cara pandang (viewpoint selection)
− bertujuan untuk mengarahkan persepsi, contoh: istilah CAT
• pengingat (recoding by information chunking)
− bertujuan untuk memahami, contoh: Mobil = {VW, BMW,
Kijang, dll}

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 1


Konsep
• Cara abstraksi dalam menyelesaikan persoalan perangkat lunak
menentukan paradigma yang digunakan
• Paradigma memiliki abstraksi dasar/utama yang mendasari perekayasa
dalam memodelkan/mengabstraksikan sistem

• Pada pengembangan perangkat lunak ada dua abstraksi konsep:


– Pada tingkat persoalan sesungguhnya:
• mewakili hal yang ada pada domain persoalan
• menyangkut: benda, aktivitas, organisasi, kejadian, dll
– Sebagai hasil dari abstraksi persoalan sesungguhnya:
• formulasi dari maksud yang sama atas suatu abstraksi
• menyangkut besaran utama pada paradigma yang bersangkutan
• Paradigma berarah objek: abstraksi dasar = konsep objek

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 2


Abstraksi pada Paradigma Berarah Objek
Abstraksi
(model)

Model Model Model Model Model


Hubungan Template Benda Aktivitas Kesalahan

Tipe
Properti
Model
Operasi

Asosiasi Generalisasi Klasifikasi Data Fungsional Proses Eksepsi

Objek

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 3


Konsep Berarah Objek
• Objek
– entitas yang memiliki: jatidiri (identity), tahana (state), kelakuan
(behaviour)
– bereaksi terhadap pesan (message) yang diberikan oleh objek lain
– sering disebut juga instance
• Pembungkusan (encapsulation)
– menyembunyikan informasi (information hiding atau abstraction
barrier - Meyer)
– mengamankan informasi (protection: informasi yang ada hanya
dapat diakses dengan cara tertentu)
– informasi yang disembunyikan/diamankan berupa ciri objek:
• objek lain berupa data, hubungan antar-objek isian
(containment) susunan (composition)
• objek lain berupa akses ke objek lain, hubungan antar-objek:
kenalan (association)
• fungsi
• prosedur
10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 4
Konsep Berarah Objek (2)
• Kelas
– sekumpulan objek yang mempunyai ciri yang sama tergabung
dalam satu kelas
– ≈ tipe objek, tetapi lebih dari itu
– merupakan cetakan (template) objek yang menggambarkan:
• apa ciri objek
• bagaimana objek dibangun
• bagaimana objek bereaksi atas pesan &kesalahan
• bagaimana objek mati
– kelas yang bisa dibuatkan objek aktualnya (instantiated) disebut
kelas konkrit
– kelas yang hanya merupakan cetakan untuk kelas lain yang
mewarisinya disebut kelas abstrak
• Pewarisan (inheritance)
– mewarisi sifat-sifat orang-tuanya: data & fungsi/prosedur
– kelas orang-tua disebut juga base class atau superclass
– kelas anak/turunan disebut juga derived class atau subclass
10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 5
Konsep Berarah Objek (3)
– umumnya objek dari kelas anak memiliki kekhasan tertentu yang
tidak dimiliki sebelumnya oleh objek dari kelas orang-tuanya
kekhasan tersebut = pengkhususan (specialisation)
– bila yang ditemukan terlebih dulu adalah kelas anak, maka kelas
orang-tua adalah pengumuman dari kelas anak (generalisation)
• Kebanyakrupaan (polymorphism)
– menunjukkan bahwa ada banyak objek yang berasal dari kelas
yang berbeda dapat bereaksi pada pesan yang sama
– ada tiga cara untuk mendapatkan kebanyakrupaan:
• pewarisan: semua objek dari kelas turunan merupakan
banyakrupaan dalam hal sifat yang diturunkannya
• protokol (C++: sebagai pewarisan, Objective C: murni):
mendefinisikan antarmuka yang bisa didefinisikan di banyak
kelas
• manual: menetapkan nama yang sama dan cara pemanggilan
yang sama Î sulit menjaga ketaatasasan & keseragaman

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 6


Analisis & Perancangan Berarah Objek
• Proses analisis bertujuan untuk:
– memodelkan konsep pada domain persoalan dalam objek-objek
– menggambarkan hubungan antar objek-objek tersebut
– menggambarkan secara umum komunikasi antar objek
– memodelkan domain persoalan dari berbagai sudut pandang
• Proses perancangan bertujuan untuk:
– menggambarkan secara detil komunikasi antar objek
– menentukan objek-objek pendukung lain selain objek-objek
domain persoalan
– menentukan pemilahan sistem
– menentukan ciri objek secara detil
– menetapkan penggunaan objek-objek pustaka yang telah tersedia

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 7


Contoh Metode Analisis dan Perancangan Berarah Objek
• Metode-metode awal (akhir 80an - 1991)
– Sally Shlaer/Stephen Mellor OOA/D
– Peter Coad/Edward Yourdon OOA/D
– James Rumbaugh’s et.al OMT (Object Modelling Technique)
– Rebecca Wirfs-Brock’s et.al RDD (Responsibility Driven Design)
• Metode yang diperkaya (1991 - awal 1995)
– Ivar Jacobson’s et.al. OOSE (Object-Oriented Sofware
Engineering - Objectory)
– Ian Graham’s SOMA (Semantic Object Modelling Approach)
– Brian Henderson-Sellers’ MOSES (Methodology for Object-
Oriented Software Engineering of System)
– Grady Booch’s OOAD
– Derek Coleman’s et.al. Fusion
• Usaha pemersatuan metode
– OPEN(Object Process and Environment Notation)
– UML (bukan metode!)

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 8


Pemrograman Berarah Objek
• Jenis
– Murni: Smalltalk, Eiffel, Simula
• entitas yang ada hanya objek
• menginduk ke satu objek
– Hybrid: C++, Objective-C, Object Pascal
• ada entitas lain selain objek
• bisa tidak menginduk ke mana-mana
• Ciri (features)
– type checking: static/strong dan dynamic/weak
– binding: static dan dynamic
– genericity Æ template
– assertions
– exception handling
– garbage collection

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 9


Pengujian & Metrik Berarah Objek
• Pengujian Modul = pengujian kelas
• Pengujian Integrasi
– thread-based: berdasarkan rangkaian reaksi objek-objek akibat
penyampaian pesan
– use-based: berdasarkan derajat kebebasan suatu kelas
• independent class = kelas yang relatif tidak terlalu bergantung
pada keberadaan kelas lain dalam ‘hidupnya’
• dependent class = kelas yang (sangat) bergantung pada
keberadaan kelas lain dalam ‘hidupnya’

• Metrik
– Chidamber & Kemerer
– Lorentz & Kidd
– Binder

10/22/03 Analisis, Perancangan, Pemrograman, dan Pengujian Berarah Objek 10

Vous aimerez peut-être aussi