Chapter 8 Pengapsulan Peng

dokumen-dokumen yang mirip
Mengenal Object Oriented Programming (OOP)

BAB 2 LANDASAN TEORI

IMPLEMENTASI PERANGKAT LUNAK

PERANCANGAN BERORIENTASI OBJEK

Pengenalan Obyek. Arna Fariza. Materi

BAB II DASAR TEORI. terbagi atas beberapa tahap yaitu: perancangan basis data secara konseptual, logis dan fisis.

REKAYASA PERANGKAT LUNAK MATERI TM 10

PERANCANGAN BERORIENTASI OBJEK

PENDAHULUAN. A. Berorientasi Objek. 1. Karakteristik dari Objek

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

MODEL RELASIONAL. Model Data adalah kumpulan bentukanbentukan deskripsi data level tinggi yang menyembunyikan rincian penyimpanan data level rendah.

BAB II TINJAUAN PUSTAKA. yang ditandai dengan saling berhubungan dan mempunyai satu fungsi atau tujuan

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

1. Penggunaan Pemodelan

BAB II LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

BAB I PENDAHULUAN. I.1 Latar Belakang

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pertemuan Transformasi ER-MODEL INDIKATOR. 1. Memahami ER model 2. Menerapkan transformasi ER- Model ke Model Relasional.

MAKALAH REKAYASA PERANGKAT LUNAK ( KONSEP DESAIN PERANGKAT LUNAK )

Unified Modelling Language (UML)

Model Relational. Dian Dharmayanti

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

MAKALAH DESAIN PERANGKAT LUNAK. NAMA : RANI JUITA NIM : DOSEN : WACHYU HARI HAJI. S.Kom.MM

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

6. Kumpulan data yang diorganisir menggunakan metode tertentu sehingga menghasilkan informasi yang berguna bagi pemakainya, pengertian dari: JAWAB:

PRINSIP DAN KONSEP DESAIN

Nama : Rendi Setiawan Nim :

Pengenalan Pemrograman

SUMBER BELAJAR PENUNJANG PLPG

1 BAB III OBJEK DAN METODE PENELITIAN

Basis Data. Bab 1. Sistem File dan Basis Data. Sistem Basis Data : Perancangan, Implementasi dan Manajemen

2.1 Definisi Analisis Kebutuhan Analisis kebutuhan adalah proses menemukan permasalahan dan menghasilkan alternatif pemecahan yang relevan.

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

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Object Oriented Analaysis Object Oriented Design

ALGORITMA PEMROGRAMAN 1C PENDAHULUAN KONSEP BAHASA PEMROGRAMAN

Minggu 6 Prinsip & Konsep Desain

P10 Konsep & Prinsip Desain. A. Sidiq P.

5 Perancangan Perangkat Lunak

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

Materi 2 PERANCANGAN BASIS DATA (PBD) 3 SKS Semester 5 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya

Citra Noviyasari, S.Si, MT SI - UNIKOM

3. METODE PENELITIAN 3.1 Kerangka Pemikiran

RANCANGAN APLIKASI LATIHAN BELAJAR TENSES DENGAN METODE OBJECT ORIENTED DESIGN

PERANCANGAN BASIS DATA

MAKALAH ANALISIS & PERANCANGAN SISTEM II USE CASE DIAGRAM

Definisi Basis Data (1)

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

PertemuanI. Object Oriented

PROSES MODEL DESAIN PERANGKAT LUNAK

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

BAB III OBJEK DAN METODE PENELITIAN. Penulis melakukan penelitian pada Toko Nada Bandung yang beralamat di

BAB III OBJEK DAN METODE PENELITIAN. Penulis melakukan penelitian pada toko AP Music Gallery Bandung yang

KONSEP SISTEM MANAJEMEN BASIS DATA BERORIENTASI OBJEK (OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM/ OODBMS)

1. Analisis Desain 2. UML Sebagai Tools OOA

: ENDRO HASSRIE. Nim : : REKAYASA PERANGKAT LUNAK DESAIN PERANG LUNAK DAN REKAYASA PERANGKAT LUNAK

BAB II TINJAUAN PUSTAKA. 2.1 Komponen Sumber Daya Manusia dalam Ruang Lingkup Fakultas. Nuraeny (2010) mengemuckakan bahwa Sumber Daya Manusia

Judul. Deskripsi dan Spesifikasi Kebutuhan Sistem Berbasis Komputer. Oleh: Tim Dit. TIK UPI

-DATABASE (BASIS DATA)- Nama : Novriansyah Kelas : 2.DB.10 NPM : Dosen : Leli Safitri

Model Relational. S# Nama Status Kota S1 Hanato 20 Bandung S2 Andi 10 Jakarta S3 Shy 25 Surabaya S4 Tina 20 Medan

PEMBUATAN FRAMEWORK APLIKASI BISNIS BERDASARKAN POLA ACTIVE RECORD DAN KONSEP NAKED OBJECT

BAB 3 METODOLOGI PENELITIAN

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

PERANAN SISTEM INFORMASI DALAM PENGAMBILAN KEPUTUSAN MANAJEMEN

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

REKAYASA PERANGKAT LUNAK MATERI TM 12

Implementasi Sistem dan Maintenace Sistem. Sistem Informasi Universitas Gunadarma 2012/2013

Object-Oriented Design

DESAIN PERANGKAT LUNAK & REKAYASA PERANGKAT LUNAK

Notasi dalam UML. Actor

Disain System Berorientasi Objek (Unified Modeling Language) ( Studi Kasus : Sistem Informasi Manajemen Perpustakaan )

REKAYASA PERANGKAT LUNAK II

Perspektif Alur-kerja (workflow) - barisan kegiatan Perspektif Alur Data (Data flow) alur informasi Perspektif Peran/Aksi siapa melakukan apa.

BAB II LANDASAN TEORI

Konsep Dasar DBMS. Oleh : Devie Rosa Anamisa

Dibuat Oleh : 1. Andrey ( )

BAB II TINJAUAN PUSTAKA

UNIVERSITAS BINA NUSANTARA. Program Ganda Teknik Informatika Matematika Skripsi Sarjana Program Ganda Semester Genap 2003/2004

BAB I PERSYARATAN PRODUK

BAB VI SISTEM BASIS DATA DAN SISTEM BERORIENTASI OBJEK. "Pengantar Teknologi Informasi" 1

Pertemuan 9 PRINSIP DAN KONSEP DESAIN

Software Design. Konsep dan Prinsip Desain Struktur Desain. Mira/Rpl/Design

PERTEMUAN 2 MODEL DATA MODEL ENTITY RELATIONSHIP ( MODEL E-R)

Makalah Struktur Data Pesan. Disusun Oleh:

BAB V Abstraksi dan Generalisasi

Pertemuan 12 IMPLEMENTASI

PERTEMUAN 11 KONSEP PEMROGRAMAN BERORIENTASI OBJEK

MODUL 2 CANDIDATE CLASS DAN INTERACTION DIAGRAM

ABSTRAKSI DEKOMPOSISI PENGUJIAN Dalam REKAYASA PERANGKAT LUNAK

PERTEMUAN 2 DBMS & PERANCANGAN BASIS DATA

BAB II LANDASAN TEORI

BAB III LANDASAN TEORI. Flippo (1984) mendefinisikan sebagai berikut: Penarikan calon pegawai

Transkripsi:

Chapter 8 Pengapsulan

A. Abstraksi Abstraksi adalah kemampuan manusia untuk mengenali keserupaan antara objek-objek, situasisituasi, proses-proses yang berbeda di dunia nyata dan keputusan untuk berkonsentrasi pada keserupaankeserupaan itu dan mengabaikan perbedaan kecil Definisi abstraksi adalah : prinsip mengabaikan aspekaspek dari subjek yang tidak relevan untuk maksud tertentu untuk berkonsentrasi lebih penuh padanya Contoh : menghitung persamaan kecepatan benda jatuh dari atas ke bawah dengan percepatan beraturan, kita tidak perlu mempermasalahkan benda apa yang jatuh, namun berapa massa benda tersebut.

B. Abstraksi Berorientasi Objek Abstraksi merupakan pemeriksaan selektif terhadap aspekaspek tertentu pada suatu persoalan. Abstraksi memfokuskan pada aspek-aspek esensi, inheren dan mengabaikan properti properti yang merupakan akubatnya Pada pendekatan berorientasi objek, abstraksi yang digunakan berfokus pada apa objek itu Tujuan abstraksi adalah melakukan isolasi aspek-aspek penting untuk suatu maksud dan meniadakan aspek yang tidak penting Abstraksi prosedural/fungsional/algoritmik adalah salah satu bentuk abstraksi yang digunakan pada analisis yang dicirikan dengan function/subfunction

Abstraksi berorientasi objek Misalnya, kita menyatakan operasi/fungsi pembelian barang meskipun sebenarnya operasi itu terdiri dari pemeriksaan jumlah barang di stok, melakukan pendaftaran barang yang dipesan, pemeriksaan pesanan ke produsen dan sebaginya. Dalam hubungannya dengan pendekatan orientasi objek, maka abstraksi dapat dinyatakan sebagai berikut : Abstraksi menunjukkan karakteristik-karakteristik esensi jenis objek yang membedakannya dari jenis-jenis objek yang lain dan memberikan batasan konseptual yang didefinisikan dengan tegas, relatif terhadap perspektif pengamat [BOO94] Abstraksi entitas yaitu objek yang merepresentasikan model berguna entitas domain persoalan atau domain solusi.

C. Prinsip Pengapsulan Prinsip pengapsulan adalah penyembunyian informasi (information hiding). Prinsip ini digunakan ketika pengembangan seluruh struktur program yang masingmasing komponen program mengapsulkan atau menyembunyikan satu keputusan rancangan tunggal. Antarmuka masing-masing modul didefinisikan dengan suatu cara sehingga sekecil mungkin menyatakan cara kerja di dalamnya. Pengkapsulan adalah memisahkan aspek-aspek eksternal objek yang dapat diakses dari rincian-rincian implementasi internal

Prinsip pengapsulan.. Implementasi kelas objek dapat beribah tanpa berakibat pada aplikasi yang menggunakan Penyebab perubahan implementasi, antara lain : Meningkatkan kinerja Memperbaiki kesalahan program (bug) Mengonsolidasi kode program Berpindah ke sistem lain (porting) Efisiensi pengapsulan adalah membantu meminimalkan kerja ulang ketika mengembangkan sistem baru

Abstraksi dan Pengapsulan Merupakan konsep yang saling melengkapi : abstraksi berfokus pada perilaku objek yang dapat diobservasi sedangkan pengapsulan berfokus pada implementasi yang memberikan perilaku ini. Pengapsulan menyembunyikan semua rahasia yang tidak berkontribusi pada esensi. Prinsip untuk penggunaan praktis di program Mengabstraksikan fungsionalitas dan informasi yang berhubungan, yang bekerja bersama dan mengapsulkan di satu kelas objek Memutuskan fungsionalitas dan informasi yang diperlukan kelas-kelas objek lain terhadap kelas objek

ADT (Abstract Data Type) ADT memperluas UDT (User Defined Type) dengan menambahkan pengapsulan (encapsulation). ADT berisi representasi dan operasi tipe data Fasilitas ADT pertama kali muncul dengan implementasi class. Dengan ADT maka programmer dapat mendefinisikan sesuatu dengan cara yang lebih mendekati tipe-tipe di dunia nyata

Kelas (class) Kelas adalah tipe data abstrak yang dilengkapi implementasi parsial atau total. Kelas mendeskripsikan kelompok objek dengan properti-properti(atribut-atribut) serupa, perilaku (operasi-operasi) yang umum, keterhubungan terhadap himpunan objek-objek lain. Seperti halnya tipe data abstrak, kelas mendeskripsikan sekelompok struktur data yang dapat dibentuk oleh kelas, disebut instan kelas atau objek

D. Kegunaan dan Peran Kelas Kegunaan kelas Mengelompokkan objek-objek menjadi kelas-kelas berarti mengabstraksikan persoalan yang dihadapi. Abstraksi memberi kemampuan generalisasi beberapa kasus spesifik menjadi induk kasus-kasus serupa Definisi-definisi common (seperti nama kelas dan atribut) cukup disimpan sekali per kelas, bukan sekali per instan kelas (objek). Operasi-operasi dapat ditulis sekali per kelas. Semua objek dapat memanfaatkan kembali kode itu Peran kelas Pada pendekatan berorientasi objek, kelas mempunyai dua peran sebagai modul sekaligus sebagai tipe. Pada pendekatan terstruktu, peran modul dan tipe dipisahkan.

Kegunaan dan peran kelas. Modul adalah konsep sintaks karena dekomposisi menjadi modul-modul hanya berpengaruh terhadap teks program bukan fungsi perangkat lunak. Type adalah konsep deskripsi statis suatu objek. Type juga konsep semantik karena setiap tipe berpengaruh langsung terhadap eksekusi dengan mendefinisikan bentuk entitas-entitas perangkat lunak yang diciptakan dan dimanipulasi saat running. Kelas adalah tipe yang didefinisikan pemakai. Kelas menyediakan penyembunyian data, jaminan inisialisasi data, konversi tipe implisit untuk tipe yang didefinisikan pemakai.

Kegunaan dan peran kelas. Manfaat kelas, yaitu : Rincian implementasi internal dari data dan operasi tersembunyi dari dunia luar Struktur data dan operasi yang memanipulasi struktur data digabungkan di satu entitas tunggal Antarmuka antar objek-objek yang dikapsulkan disederhanakan.

E. Properti-Properti Kelas Kelas memiliki properti-properti sebagai berikut : 1. Nama, kelas harus memiliki nama yang membedakannya dengan kelas-kelas lain 2. Atribut, kelas dapat memiliki sejumlah atribut atau tidak sama sekali. Atribut merepresentasikan suatu properti dari sesuatu yang dimodelkan. Contoh, Orang mempunyai nama, tanggal lahir, alamat. 3. Operasi/metode, adalah implementasi layanan yang dapat diminta dari suatu objek kelas. Operasi adalah abstraksi sesuatu yang dapat dilakukan objek 4. Tanggung jawab, adalah kontrak atau kewajiban kelas. Contohnya, orang bertanggungjawab mengetahui nama, tanggal lahir, alamat dan bertindak menghitung umurnya bila diminta.

Properti-properti kelas.. Karakteristik unik yang membantu mengabstraksikan kelas, yaitu : Tangibility Apakah kelas merepresentasikan sesuatu yang fisik atau merepresentasikan informasi abstrak. Inclusiveness Apakah kelas atomik (yaitu tidak berisi kelas-kelas lain) atau kelas adalah agregat ( setidaknya berisi satu objek bersarang) Sequentually apakah kelas konkuren (memiliki alur kendali) atau sekuen, yaitu dikendalikan sumber daya eksternal Persistence Integrity apakah kelas dapat dikorupsi (yaitu sumberdayanya tidak dijaga dari pengaruh luar)

Properti-properti kelas.. Nama Kelas Petunjuk pemberian nama, antara lain : 1. Nama kelas seharusnya kata tunggal, dan seharusnya kata benda atau kata benda yang diikuti kata sifat 2. Nama yang dipilih seharusnya berasal dari kosa kata domain persoalan 3. Nama seharusnya merefleksikan sifat intrinsik 4. Kelas akan menjadi nama tipe di bahasa untuk itu sebaiknya disesuaikan dengan penamaan tipe di bahasa pemrogramannya 5. Menggunakan nama yang budah dibaca 6. Jangan membuat nama dengan nama prosedural

Properti-properti kelas. Atribut Kelas Adalah nilai data yang dimiliki objek-objek di satu kelas. Masing-masing atribut akan mempunyai nilai di masingmasing instan objek. Instan objek berbeda dapat mempunyai nilai-nilai yang sama atau berbeda untuk suatu atribut tertentu. Nama atribut dalam satu kelas harus unik. Operasi Adalah fungsi atau transformasi yang boleh diterapkan ke atau oleh objek-objek di satu kelas. Tanggung jawab Adalah kewajiban atau kontrak suatu kelas.

F. Petunjuk Sederhana Rancangan Kelas Selalu menjaga agar data adalah private; petunjuk harus diikuti dan paling penting tidak melanggar proses pengkapsulan Selalu lakukan inisialisasi data; Java tidak akan melakukan inisialisasi terhadap data lokal tapi menginisialisasi field-field instan objek Jangan terlalu banyak tipe dasar di dalam suatu kelas; apabila terlalu banyak perlu dibuatkan kelas tersendiri. Hal tersebut agar kelas tetap sederhana.

Petunjuk sederhana rancangan kelas Contoh : PersonClass private String Name; private Calendar Birth; private String Street; private String City; private String Province; private String PostCode; Dari contoh di atas dibagi menjadi beberapa kelas, misalnya private street, province, postcode.

DAFTAR PUSTAKA Hariyanto, B. 2007, esensi-esensi bahasa pemrograman JAVA Edisi 2, Bandung, Informatika