Indah Wahyuni
A
BSTRAKSI
DAN
ABSTRAKSI & GENERALISASI
Abstraksi adalah penekanan pada gagasan,
kualitas dan properti, bukan pada detail tertentu (penekanan pada detail)
Generalisasi adalah perluasan dari aplikasi
yang mengarah pada domain yang lebih besar dari obyek yang sama atau tipe yang berbeda
. P emro gr ama n, 2 01 2 2 Abst& Gen, Indah Wa hyuni
ABSTRAKSI
Membantu untuk fokus pada hal-hal penting dari
suatu masalah
Melibatkan pengindentifikasian kelas-kelas
(classes) dari suatu object, sehingga
memungkinkan utk menggroupkannya.
Bekerja dengan sedikit parameter/variabel dari
kelas-kelas yang ditinjau.
Contoh :
Ban sepeda : sepeda balap, sepeda gunung Mobil : sedan, jeep, wagon, truk, dll
. P emro gr ama n, 2 01 2 3 Abst& Gen, Indah Wa hyuni
TINGKATAN ABSTRAKSI
Abstraksi Fungsional
Komponen mengimplementasikan satu fungsi, misalnya fungsi matematika.
Pengelompokkan Kasual
Komponen merupakan sekumpula entitas yang berhubungan longgar (loossly related) yang
mungkin berupa deklarasi data, fungsi, dsb.
Abstraksi Data
Komponen merepresentasikan abstraksi data atau kelas perangkat lunak berorientasi objek.
. P emro gr ama n, 2 01 2 4 Abst& Gen, Indah Wa hyuni
TINGKATAN ABSTRAKSI
Abstraksi Kluster
Komponen merupakan sekumpulan kelas yang berhubungan yang bekerja sama.
Abstraksi Sistem
Komponen merupakan sistem yang berdiri sendiri. Eg. API (application programming interface) yg dpt mengakses command dan operasi. . P emro gr ama n, 2 01 2 5 Abst& Gen, Indah Wa hyuni
BINDING
Obyek yang terikat pada nama disebut bindables
(terikat) pada bahasa
Yang termasuk bindable adalah: data primitif,
nilai kumpulan, referensi ke variabel, tipe-tipe, dan abstraksi yang executable
. P emro gr ama n, 2 01 2 6 Abst& Gen, Indah Wa hyuni
BINDING
Attribute : nilai internal atau data terkait pada suatu
objek yang menunjukkan ciri-ciri atau sifat-sifat dari obyek serta penggambaran keadaan (state) obyek
Contoh :
Nama objek : mobil Attribute :
Merek : toyota Silinder: 2000cc Warna : merah
Status : baru / jalan Tahun : 2006
Binding : Pengaturan nilai attribute
Descriptor : informasi attribute yang diisikan dalam
tempat penyimpanan untuk setiap entitas.
. P emro gr ama n, 2 01 2 7 Abst& Gen, Indah Wa hyuni
JENIS-JENIS BINDING
Collateral binding : melakukan binding secara
terpisah satu sama lainnya dan kemudian menggabungkan binding-binding itu untuk menghasilkan sekumpulan lengkap binding
Sequential binding : melakukan binding dalam
urutan kemunculan mereka
Recursive binding : binding di mana
nama-nama yang di dalamnya terikat dipergunakan (langsung atau tidak langsung) di bindingnya itu sendiri . P emro gr ama n, 2 01 2 8 Abst& Gen, Indah Wa hyuni
ENKAPSULASI
Pengkapsulan berarti mengemas beberapa item
bersama-sama menjadi satu unit yang tertutup dalam rangka menyembunyikan struktur
internal suatu obyek dari lingkungan/dunia luar
Pengkapsulasan sering dianggap sebagai
“penyembunyian informasi” . P emro gr ama n, 2 01 2 9 Abst& Gen, Indah Wa hyuni
Setiap kelas hanya menampakkan interface yang
diperlukan untuk berkomunikasi dengan dunia luar melalui message dan menyembunyikan
(encapsulating)/implementasi aktual di dalam kelas.
Pengapsulan merupakan kemampuan sebuah
obyek kelas untuk membatasi akses client ke reprensentasi internal obyek (data dan fungsi)
. P emro gr ama n, 2 01 2 10 Abst& Gen, Indah Wa hyuni
ENKAPSULASI
Sebuah modul umumnya terdiri dari dua bagian:
bagian ekspor dan bagian lokal
Bagian ekspor dari sebuah modul terdiri dari:
Deklarasi bahasa untuk simbol-simbol yang
tersedia untuk digunakan dalam bagian modul dan modul lain yang mengimpornya
Deklarasi modul yang memberikan simbol dari
modul lain yang tersedia untuk digunakan dalam bagian modul dan dalam modul lain yang
mengimpornya . P emro gr ama n, 2 01 2 11 Abst& Gen, Indah Wa hyuni
ENKAPSULASI
PRINSIP GENERALISASI
Prisip generalisasi adalah suatu bentuk umum
dari suatu kesatuan yang khusus.
Contoh :
lamda p.B’
Dimana lamda menyatakan suatu abstrak yang menandakan generalisasi B jika p dipanggil oleh suatu parameter B’
Prinsip generalisasi tergantung pada prinsip
analogi . P emro gr ama n, 2 01 2 12 Abst& Gen, Indah Wa hyuni
Abstrak digeneralisasi dengan parameterisasi
untuk mendapatkan manfaat yang lebih besar.
Di dalam parameterisasi satu atau lebih bagian
dari suatu kesatuan dapat digantikan dengan suatu nama baru.
Nama yang digunakan sebagai suatu parameter
ketika abstrak yang telah diparameterkan dilibatkan dengan suatu binding parameter
disebut argumentasi. . P emro gr ama n, 2 01 2 13 Abst& Gen, Indah Wa hyuni
PRINSIP GENERALISASI
PRINSIP ANALOG
Ketika ada kecocokan pola antara dua obyek
berbeda, obyek-obyek ini bisa digantikan oleh sebuah obyek yang diberikan parameter untuk memungkinkan rekonstruksi obyek-obyek
aslinya . P emro gr ama n, 2 01 2 14 Abst& Gen, Indah Wa hyuni
PRINSIP PARAMETERISASI
Adalah sebuah parameter dari sebuah generik
bisa terbentuk dari domain
. P emro gr ama n, 2 01 2 15 Abst& Gen, Indah Wa hyuni
SUBSTITUSI
Penggunaan abstraksi dan generalisasi
bergantung pada substitusi.
Ikatan keduanya terkandung pada prinsip
berikut:
Prinsip Korespondensi: Mekanisme binding
parameter dan mekanisme definisi adalah setara . P emro gr ama n, 2 01 2 16 Abst& Gen, Indah Wa hyuni
PRINSIP KORESPONDENSI
Adalah suatu formalitas yang menyangkut aspek
/ pengarahan prinsip abstrak yang mengandung subtitusi dan definisi yang saling terkait.
. P emro gr ama n, 2 01 2 17 Abst& Gen, Indah Wa hyuni
STRUKTUR BLOK
Sebuah blok adalah sebuah konstruksi yang
membatasi cakupan definisi yang terkandung di dalamnya
Syntax blok:
let Definitionsin Body end
Body where Definitions
Syntax di atas menyatakan dua tipe blok, yang
pertama membutuhkan definisi sebelum body dan yang kedua membutuhkan definisi sesudah body . P emro gr ama n, 2 01 2 18 Abst& Gen, Indah Wa hyuni
Block merupakan
suatu definisi wilayah bagian bahasa
pemrograman.
Urutan dari statemen
yang executable yang diperlakukan sebagai suatu unit Block disebut subprogram atau routine di kebanyakan bahasa pemrograman . P emro gr ama n, 2 01 2 19 Abst& Gen, Indah Wa hyuni
STRUKTUR BLOK
Ada tiga dasar struktur blok: monolitik, flat dan
nested
Monolitik : hanya terdiri dari satu blok saja
Flat : body nya bisa saja mengandung blok-blok
tambahan tetapi blok bagian dalam tidak mengandung blok
Nested : jika blok-blok dimungkinkan untuk
bersarang (nested) di dalam blok lain
. P emro gr ama n, 2 01 2 20 Abst& Gen, Indah Wa hyuni
STRUKTUR BLOK
ATURAN CAKUPAN (SCOPE)
Tindakan mempartisi sebuah program
mengangkat masalah cakupan
nama-nama
Ada empat pilihan:
1. Semua nama tersedia secara global
2. Semua nama eksternal tersedia secara lokal
3. Hanya nama-nama yang diekspor secara
eksplisit tersedia secara global
4. Hanya nama-nama eksternal yang diimpor
secara eksplisit yang tersedia secara lokal
. P emro gr ama n, 2 01 2 21 Abst& Gen, Indah Wa hyuni
Dynamic Scope
Suatu subprogram yang didefinisikan
di satu tempat dalam suatu program
dan dapat dipanggil dari lingkungan
yang berbeda
Static Scope
Subprogram dipanggil dari lingkungan
tempat subprogram tersebut
didefinisikan
. P emro gr ama n, 2 01 2 22 Abst& Gen, Indah Wa hyuniLINGKUNGAN
Lingkungan lokal suatu subprogram Q terdiri
atas bermacam-macam identifier yang
dideklarasikan di bagian atas dari subprogram Q.
Nama variabel, nama parameter formal, dan
nama subprogram diperhatikan disini.
Nama subprogram di sini merupakan nama
subprogram yang didefinisikan secara lokal di dalam suprogram Q (nested subprogram)
. P emro gr ama n, 2 01 2 23 Abst& Gen, Indah Wa hyuni
. P emro gr ama n, 2 01 2 24 Abst& Gen, Indah Wa hyuni