You are on page 1of 10

Algoritma dan Pemrograman IC

ABSTRAKSI DAN GENERALISASI


Abstraksi adalah deskripsi dari suatu masalah pada level generalisasi tertentu, sehingga memungkinkan kita untuk berkonsentrasi pada aspek kunci dari masalah tersebut tanpa memperhatikan hal-hal detail. Abstraksi dapat membantu kita untuk fokus pada hal-hal penting dari suatu masalah Abstraksi melibatkan pengindentifikasian kelas-kelas (classes) dari suatu object, sehingga memungkinkan kita menggroupkannya. Dengan cara tersebut kita bekerja dengan sedikit parameter/variabel dari kelas-kelas yang ditinjau. Contoh : Monitoring Ban sepeda Mobil : berbagai macam sistem monitoring : sepeda balap, sepeda gunung : sedan, jeep, wagon, truk, dll

TINGKATAN ABSTRAKSI
Abstraksi Fungsional Pengelompokan kasual Abstraksi data Abstraksi cluster Abstraksi sistem

GENERALISASI
Generalisasi adalah perluasan suatu aplikasi yang meliputi suatu daerah object yang lebih besar dengan jenis yang berbeda atau jenis yang sama.

BINDING

Abstraksi dan Generalisasi

halaman 1

Algoritma dan Pemrograman IC

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. Binding merupakan pusat dari konsep definisi semantic bahasa pemrograman Bahasa pemrograman berbeda satu dengan yang lainnya karena: Perbedaan jumlah entitas yang dapat ditangani Jumlah attribute yang dapat ditempelkan ke entitas yang dapat ditangani Waktu kemunculan binding (binding time) Stabilitas binding (binding yang sudah terbentuk bersifat tetap atau dapat dimodifikasi)

JENIS BINDING
Ada dua tipe / jenis binding bila dilihat dari control yang digunakan untuk binding data, yaitu : 1. Simple Binding 2. Complex Binding Kalau dilihat dari sisi waktu pengikatan data (binding) bisa dibedakan lagi ke dalam dua jenis, yaitu : 1. Early Binding 2. Late Binding
Abstraksi dan Generalisasi halaman 2

Algoritma dan Pemrograman IC

Contoh Binding
Language definition time binding Language implementation time binding Compile-time (translation-time) binding Execution-time (Run-time) binding

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 Setiap kelas hanya menampakkan interface yang diperlukan untuk berkomunikasi dengan dunia luar melalui message dan menyembunyikan (encapsulating)/implementasi aktual di dalam kelas. Kita hanya membutuhkan pemahaman tentang interface (methode), tidak perlu paham tentang internalnya (implementation). Pengapsulan merupakan kemamupan sebuah obyek kelas untuk membatasi akses client ke reprensentasi internal obyek (data dan fungsi)

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. Generalisasi dan abstrak sering digunakan bersama-sama. Abstrak digeneralisasi dengan parameterisasi untuk mendapatkan manfaat yang lebih besar. Di dalam parameterisasi satu atau
Abstraksi dan Generalisasi halaman 3

Algoritma dan Pemrograman IC

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.

Prinsip Analogi
Prinsip analogi ada ketika suatu penyesuaian pada pola di antara 2 object yang berbeda. Dimana object dapat digantikan dengan object tunggal yang parameterized untuk melakukan rekonstruksi yang menyangkut object yang asli

Prinsip Parameterisasi
Prinsip Parameterisasi adalah suatu parameter yang secara umum mungkin berasal dari beberapa domain. Istilah parameter formal dan parameter nyata sering disebut dengan argumentasi

SUBSTITUSI
Kegunaan abstraksi dan generalisasi tergantung pada substitusi.

Prinsip korenpondensi
Prinsip terkait. korespondensi adalah suatu formalitas yang menyangkut aspek

/pengarahan prinsip abstrak yang mengandung substitusi dan definisi saling

Struktur Block

Abstraksi dan Generalisasi

halaman 4

Algoritma dan Pemrograman IC

1. Block merupakan suatu bagian dari scope-defining bahasa pemrograman.


Artinya, Block merupakan suatu definisi wilayah bagian bahasa pemrograman. 2. Block merupakan urutan dari statemen yang executable yang diperlakukan sebagai suatu unit Block disebut subprogram atau routine di kebanyakan bahasa pemrograman

Struktur Block dari suatu bahasa pemrograman

Program main; --deklarasi lokal Main; Procedure Subpro1; ---deklarasi lokal Subpro1; Procedure Subpro3; ---deklarasi lokal Subpro3; Procedure Subpro4; ---deklarasi lokal Subpro4; Begin --Statemen untuk subprog1; End Subprog1; Procedure Subprog2; --Deklarasi lokal Subprog2; Begin --Statemen untuk Subpro2; End Subprog2; Begin --Statemen untuk main; End main

Aturan Cakupan
Dynamic Scope Suatu subprogram yang didefinisikan di satu tempat dalam suatu program dan dapat dipanggil dari lingkungan yang berbeda (lingkungan dimana subprogram tersebut tidak didefinisikan) Static Scope
Abstraksi dan Generalisasi halaman 5

Algoritma dan Pemrograman IC

Subprogram didefinisikan

dipanggil

dari

lingkungan

tempat

subprogram

tersebut

LINGKUNGAN
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).

Abstraksi dan Generalisasi

Abstraksi dan Generalisasi

halaman 6

Algoritma dan Pemrograman IC

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

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

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 adalah binding di mana nama-nama yang di dalamnya terikat dipergunakan (langsung atau tidak langsung) di bindingnya itu sendiri

Enkapsulasi
Sebuah modul umumnya terdiri dari dua bagian: bagian ekspor dan bagian lokal Bagian ekspor dari sebuah modul terdiri dari deklarasi bahasa untuk simbolsimbol yang tersedia untuk digunakan dalam bagian modul dan modul lain yang mengimpornya dan deklarasi modul yang memberikan simbol dari modul lain yang tersedia untuk digunakan dalam bagian modul dan dalam modul lain yang mengimpornya

Prinsip Generalisasi
Abstraksi dan Generalisasi halaman 7

Algoritma dan Pemrograman IC

Sebuah generik adalah sebuah entitas yang bisa dikhususkan (dijabarkan lebih jauh) terhadap invokasi Prinsip analogi: Ketika ada kecocokan pola antara dua obyek berbeda, obyekobyek ini bisa digantikan oleh sebuah obyek yang diberikan parameter untuk memungkinkan rekonstruksi obyek-obyek aslinya Prinsip parameterisasi sebuah parameter dari sebuah generik bisa terbentuk dari domain

Substitusi
Penggunaan abstraksi dan generalisasi bergantung pada substitusi. Ikatan keduanya terkandung pada prinsip berikut: Prinsip Korespondensi: Mekanisme binding parameter dan mekanisme definisi adalah setara

Struktur Blok
Sebuah blok adalah sebuah konstruksi yang membatasi cakupan definisi yang terkandung di dalamnya Ada tiga dasar struktur blok: monolitik, flat dan nested Syntax blok: let Definitions in Body end Body where Definitions

Struktur Blok
Syntax di atas menyatakan dua tipe blok, yang pertama membutuhkan definisi sebelum body dan yang kedua membutuhkan definisi sesudah body Monolitik hanya terdiri dari satu blok saja Flat body nya bisa saja mengandung blok-blok tambahan tetapi blok bagian dalam tidak mengandung blok

Abstraksi dan Generalisasi

halaman 8

Algoritma dan Pemrograman IC

Nested jika blok-blok dimungkinkan untuk bersarang (nested) di dalam blok lain

Aturan Cakupan (Scope)


Tindakan mempartisi sebuah program mengangkat masalah cakupan namanama 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

Aturan Cakupan (Scope)


Aturan cakupan dinamis menentukan cakupan masing-masing asosiasi dalam hal dinamisasi eksekusi program Aturan cakupan statis disebut juga aturan cakupan leksikal

Prosedur dan Fungsi


Sebuah program bisa saja terdiri dari sebuah program utama yang pada saat eksekusi memanggil subprogram yang pada gilirannya bisa saja memanggil subprogram lain, dan seterusnya. Setiap subprogram bisa memiliki data lokalnya sendiri yang bisa ditemukan dalam record aktivasi

Parameter dan Argumen


Sebuah generik dikatakan strict dalam sebuah parameter jika dia membutuhkan nilai parameter dan non-strict dalam sebuah parameter jika dia tidak membutuhkan nilai dari parameter Evaluasi lazy adalah sebuah skema evaluasi di mana argumennya dievaluasi hanya pada saat dibutuhkan
Abstraksi dan Generalisasi halaman 9

Algoritma dan Pemrograman IC

Mekanisme Pemasukkan Argumen


Mekanisme penggandaan mengharuskan nilai-nilai dikopi ke sebuah generik ketika dia dimasukkan dan dikopi keluar dari generik ketika generik dihentikan. Bentuk pemasukkan parameter ini sering disebut passing by value.

Mekanisme Pemasukkan Argumen


Mekanisme definisi seakan-akan abstrak itu dikelilingi oleh sebuah blok di mana di dalamnya ada sebuah definisi yang mengikat parameter ke argumen itu. Sebuah parameter dikatakan passed by reference jika argumennya adalah sebuah address

Cakupan dan Blok


Sebuah variabel yang dideklarasikan dalam sebuah blok memiliki jangka waktu hidup (lifetime) dimulai dari sebuah record aktivasi diciptakan untuk blok itu hingga record aktivasi itu dihapus

Abstraksi dan Generalisasi

halaman 10

You might also like