Abstraksi dan Generalisasi

dokumen-dokumen yang mirip
BAB V Abstraksi dan Generalisasi

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

PertemuanI. Object Oriented

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

Konsep Dasar Pemrograman Berorientasi Obyek I JAVA. Anugrah Kusuma Seno Adi Putra

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Catatan Kuliah PAM 282 Pemrograman Komputer II

Pengenalan Obyek. Arna Fariza. Materi

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

MATERI 5 Procedure. Pendeklarasian suatu procedure pada program : PROGRAM Judul_Program; PROCEDURE Nama_Prosedur; BEGIN. {Statemen prosedur} END.

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Sub Program : Prosedur. Tim Pengajar KU1071 PTI A Semester I 2009/2010

Dasar Pemrograman TIP FTP UB

dengan menyebutkan judul prosedurnya. dalam bentuk prosedur-prosedur. diperlukan.

Pemrograman Dasar M E T H O D / F U N G S I

ALGORTIMA DAN PEMROGRAMAN

MEMORI. Gambar 1. Hirarki Memori

1.1 Mengenal Visual Basic (VB) 1.2 Mengenal Integrated Development Environment (IDE) VB 6

STRUKTUR BAHASA PEMROGRAMAN

PERANCANGAN BERORIENTASI OBJEK

PERANCANGAN BERORIENTASI OBJEK

Algoritma Pemrograman 2B (Pemrograman C++)

Praktikum 14. Sistem File 1 KONSEP FILE POKOK BAHASAN: TUJUAN BELAJAR:

Algoritma Pemrograman

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

4.1 Struktur Rancangan Puncak-Turun dengan Procedure

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

BAB IV HASIL PENELITIAN DAN PENERAPAN

Bahasa Pemrograman 2.

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

MODUL VII STORED PROCEDURE

SUBPROGRAM (SUBRUTIN)

Pertemuan 3 Prosedur dan Fungsi

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Prosedur dan Fungsi di Turbo Pascal

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

Memudahkan dalam pengembangan program Menghemat ukuran program

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Data & Architecural Design. Tim RPL Progdi Teknik Informatika

PRINSIP DAN KONSEP DESAIN

Aplikasi Rekursif dalam Analisis Sintaks Program

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

TUGAS DASAR PEMROGRAMAN KELAS C DOSEN PENGAMPU : IKA ATSARI DEWI, STP, MP

Procedure bertujuan untuk membagi-bagi sebuah program menjadi beberapa sub program, sehingga program menjadi lebih sederhana dan efisien.

RENCANA PELAKSANAAN PEMBELAJARAN

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

DISTRIBUTED OBJECT CORBA & RMI. Sistem terdistribusi week 13

Agi Putra Kharisma., S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

Prosedur. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Bahasa Pemograman II. Object Oriented Programming

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Citra Noviyasari, S.Si, MT SI - UNIKOM

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Algoritma Pemrograman

Pengembangan Aplikasi Perangkat Lunak

MODUL VII STORED PROCEDURE

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

DAFTAR SIMBOL. Gambar Nama Fungsi

BAB I KONSEP DASAR PEMROGRAMAN

Algoritma Pemrograman [BS204]

1. Penggunaan Pemodelan

Pemrograman Berorientasi. Inheritance

Bab VI Value, Domain dan Type

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

Mengenal Object Oriented Programming (OOP)

PERTEMUAN - 3 PEMROGRAMAN MODULAR

MODUL 5 SUBPROGRAM / FUNGSI

MINGGU VII : RELASI ANTAR KELAS

Paradigma Pemrograman Berorientasi Objek

Dasar Pemrograman Java

BEKERJA DENGAN JAVA CLASS LIBRARY

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Dasar C. Minggu 6

Object Oriented Programming 1

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

Pemrograman Prosedural PENDAHULUAN. Tim Pengajar KU1071 Sem

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Untuk mengurangi pengulangan program yang sama agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

BAB II. 2.1 Model Data High Level Data Model (Conceptual Data Model)

Kurikulum Qt. { Basic OOP } Chapter 4. Function

VISUAL BASIC Pengenalan VB NET

Perjalanan sebuah intruksi

TUGAS MATA KULIAH TEKNIK KOMPILASI

PROSEDUR DENGAN PARAMETER. Mahasiswa dapat memahami penggunaan prosedur dengan parameter. Mahasiswa dapat membuat prosedur dengan parameter.

Gambar 1. Blok Utama Komputer

DASAR PEMROGRAMAN. Konsep Pemrograman Berorientasi Objek. Yoannita

Algoritma dan Pemrograman PROSEDUR. Oleh: Eddy Prasetyo N

Algoritma Pemrograman

Transkripsi:

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 1 ABSTRAKSI Abstraksi dapat membantu kita untuk fokus pada halhal 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 kelaskelas yang ditinjau. Contoh : Ban sepeda Mobil : sepeda balap, sepeda gunung : sedan, jeep, wagon, truk, dll 2 1

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

Jenis-jenis binding Collateral binding melakukan binding secara terpisah satu sama lainnya dan kemudian menggabungkan bindingbinding 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 5 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. 6 3

ENKAPSULASI Kita hanya membutuhkan pemahaman tentang interface (methode), tidak perlu paham tentang internalnya (implementation). Pengapsulan merupakan kemampuan sebuah obyek kelas untuk membatasi akses client ke reprensentasi internal obyek (data dan fungsi) 7 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 8 4

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 9 Generalisasi dan abstrak sering digunakan bersamasama. 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. 10 5

Prinsip Generalisasi 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 11 Substitusi Penggunaan abstraksi dan generalisasi bergantung pada substitusi. Ikatan keduanya terkandung pada prinsip berikut: Prinsip Korespondensi: Mekanisme binding parameter dan mekanisme definisi adalah setara 12 6

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

Struktur Block 1. Block merupakan suatu bagian dari scopedefining 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 15 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 16 8

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 17 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 Subprogram dipanggil dari lingkungan tempat subprogram tersebut didefinisikan 18 9

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) 19 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 20 10

Parameter dan Argumen Sebuah generik dikatakanstrict 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 21 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 22 11