1 / 15

Abstraksi dan Generalisasi

Abstraksi dan 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. Binding.

dacey-buck
Download Presentation

Abstraksi dan Generalisasi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Abstraksi dan 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

  2. 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

  3. 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

  4. 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 dan deklarasi modul yang memberikan simbol dari modul lain yang tersedia untuk digunakan dalam bagian modul dan dalam modul lain yang mengimpornya

  5. Prinsip Generalisasi • Sebuah generik adalah sebuah entitas yang bisa dikhususkan (dijabarkan lebih jauh) terhadap invokasi • Prinsip analogi: 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 • Prinsip parameterisasi  sebuah parameter dari sebuah generik bisa terbentuk dari domain

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

  7. 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 endBody where Definitions

  8. 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 • Nested  jika blok-blok dimungkinkan untuk bersarang (nested) di dalam blok lain

  9. Aturan Cakupan (Scope) • Tindakan mempartisi sebuah program mengangkat masalah cakupan nama-nama • Ada empat pilihan: • Semua nama tersedia secara global • Semua nama eksternal tersedia secara lokal • Hanya nama-nama yang diekspor secara eksplisit tersedia secara global • Hanya nama-nama eksternal yang diimpor secara eksplisit yang tersedia secara lokal

  10. Aturan Cakupan (Scope) • Aturan cakupan dinamis  menentukan cakupan masing-masing asosiasi dalam hal dinamisasi eksekusi program • Aturan cakupan statis  disebut juga aturan cakupan leksikal

  11. 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

  12. 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

  13. 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.

  14. 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

  15. 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

More Related