UNIVERSITAS GUNADARMA

dokumen-dokumen yang mirip
Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Bahasa Pemrograman :: Polimorfism and Abstraction

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pemrograman Berorientasi Obyek. Ramos Somya

Membuat dan Menggunakan Class

CLASS, METHOD DAN MODIFIER

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Objek

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Pemrograman Berorientasi. Class dan Obyek 2

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Bab 8. Dasar-Dasar OOP

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

PEMROGRAMAN BERORIENTASI OBJEK

Class & Object 2. Imam Fahrur Rozi

Inheritance dan Kata Kunci static

INTERAKSI ANTAR OBJECT

Dasar-Dasar OOP di Java

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Inheritance (Pewarisan) Pengertian dasar inheritance

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL 1 PENGENALAN OOP

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

BEKERJA DENGAN JAVA CLASS LIBRARY

Bahasa Pemrograman :: Inheritance

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Object Oriented Programming 1

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Method yang ada pada parent class(superclass) didefinisikan kembali oleh kelas anaknya (subclass).

Jobsheet 09. Overloading and Overriding Method

2 TIPE DATA DAN VARIABEL

[Lanjutan] Nurochman

Object OOP. Polymor phism

MODUL 1. Class, Object, Constructor dan Method

IKG2I4 / Software Project I

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

KONSEP OOP: PEWARISAN / INHERITANCE

Dasar-Dasar OOP di Java

Praktikum 3 Konsep Class, Attribute dan Method

BAB II VARIABEL DAN TIPE DATA

Modul II Object Oriented Programming

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Praktikum 6 Class Design (Encapsulation)

KONSEP OOP: PEWARISAN / INHERITANCE

subclass class manapun private default protected public package yang sama

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Gambar 1: Hirarki class

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

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

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Kita akan membuat class yang mengandung informasi dari Siswa dan operasi operasi yang dibutuhkan pada record siswa.

BAHASA PEMROGRAMAN JAVA

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Polymorphism (Polimorfisme)

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Pemrograman Berbasis Objek (Polimorfisme)

Bahasa Pemrograman 2.

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

Modul Bahasa Pemrograman 1

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK (PBO) MODUL 4 PENGKAPSULAN

Dasar Pemrograman Java

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

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Bahasa Pemograman II. Object Oriented Programming

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Modul 2 Object Oriented Programming (OOP) I

BAB VII. CLASS DAN OBJECT

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

Konsep Dasar Pemrograman Berorientasi Objek

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Pemrograman Berorientasi. Inheritance

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

LAPORAN RESMI INHERITANCE

Daftar Isi. Daftar Isi... ii MODUL 1 PENGENALAN OOP Pengantar Class Atribut Method This Access Modifier...

ENKAPSULASI Data Hiding

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

Pengenalan JavaScript

MODUL 4 ENCAPSULATION, INHERITANCE DAN POLYMORPHISM

Diciptakan oleh James Gosling. Resmi diperkenalkan tahun Merupakan bahasa pemrograman berorientasi obyek murni. Pada awalnya hanya mampu

9/27/2011. Tujuan. Membuat Class Sendiri. Mendefinisikan Class. Mendefinisikan Class. Contoh. Petunjuk Penulisan Program

Transkripsi:

PEMROGRAMAN BERBASIS OBYEK Encapsulation 2IA08 1. Ade hardiyanto 50412121 2. Burhanuddin Ginting 51412532 3. Muhamad Iqbal Tawakal 54412803 4. Perdi Atmaja 55412663 5. Reza Cipta Permana 56412192 UNIVERSITAS GUNADARMA TEKNIK INFORMATIKA 2013/2014

Kata pengantar Segala puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan limpahnya maka kami boleh menyelesaikan tugas Pemrograman Berbasis Obyek dengan tepat waktu. Berikut ini kami mempersembahkan sebuah makalah dengan judul " ENCAPSULATION Kami menyadari bahwa masih sangat banyak kekurangan yang mendasar pada makalah ini. Oleh karena itu kami mengundang pembaca untuk memberikan kritik dan saran yang bersifat membangun untuk kemajuan ilmu pengetahuan ini. Dengan ini kami mempersembahkan makalah ini dengan penuh rasa terima kasih dan semoga Tuhan Yang Maha Esa memberkahi makalah ini sehingga dapat memberikan manfaat bagi kita semua. Jakarta,03 April 2014 Penyusun

DAFTAR ISI Kata Pengantar Daftar Isi Bab 1 Pendahuluan Enkapsulasi o Accessor Method o Mutator Method o Overloading o Overriding o Keyword This o Modifier o Variable dan Method Static Bab 2 Penutup Daftar Pustaka

Bab 1 PENDAHULUAN Komputer adalah perangkat yang mampu melakukan komputasi dan membuat keputusan logis. Komputer melakukan dengan kecepatan cahaya, milyaran kali lebih cepat dibanding manusia. Komputer mengolah data di bawah kendali sekumpulan instruksi yang disebut program/aplikasi komputer. Program ini menuntun komputer melakukan serangkaian aksi aksi yang dispesifikasikan. Saat ini, ongkos pengembangan perangkat lunak meningkat seiring dengan makin rumitnya aplikasi. Metode pengembangan yang baik mampu mereduksi ongkos pengembangan secara signifikan. Salah satu komponen pengembangan adalah kakas pengembangan adalah kakas pengembangan, di antaranya adalah bahasa pemrograman. Bahasa pemrograman yang ampuh dan nyaman meningkatkan produktivitas pengembangan. Bahasa Java member harapan menjadi perekat universal yang mengkoneksi pemakai dengan informasi dari web server, basis data, penyedia informasi dan sumber-sumber lain. Bahasa Java memiliki fitur keamanan built-in. Bahasa Java juga mempermudah pemrograman aplikasi multhithreading.

ENKAPSULASI Enkapsulasi adalah pembungkus, maksud pembungkus disini adalah untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktuwaktu, sekaligusmenjaga program tersebut. Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal inisangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal. Enkapsulasi menciptakan abstraksi untuk desain kelas. Jika anda ingin melindungi beberapa anggota dari kelas dasar maka timbullah situasi enkapsulasi. Dalam konsep ini ada tiga kata kunci yang digunakan. Konsep hak akses ini biasa di sebut Access Modifier. Access Modifier terdiri dari private, protected, dan public. Private memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan atau mengubah nilai dari property atau method tersebut. Protected memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunansifat) dari class tersebut. Public memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut. A. DASAR TEORI Encapsulasi atau Pengkapsulan adalah cara membungkus data dan method yang menyusun kelas sehingga kelas dapat dipandang sebagai suatu modul dan menyembunyikannya dari dunia luar. Dunia luar disini adalah data, method, kelas, interface, atau package lain yang mungkin akan berinteraksi dengan modul tersebut. Dengan kata lain enkapsulasi adalah suatu cara untuk menyembunyikan implementasi detail dari suatu class. Enkapsulasi mempunyai dua hal mendasar, yaitu : 1. Information Hiding Sebelumnya kita dapat mengakses anggota class baik berupa atribut maupun method secara langsung dengan menggunakan objek yang telah kita buat. Hal ini dikarenakan akses kontrol yang diberikan kepada atribut maupun method yang ada di dalam class tersebut adalah public. Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol private ketika mendeklarasikan atribut atau method. Proses ini disebut dengan information hiding.

2. Interface to access data Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap atribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut. Keuntungan menerapkan Encapsulasi adalah : Bersifat independen Suatu modul yang terencapsulasi dengan baik akan bersifat independen dari modul yang lainnya sehingga dapat digunakan pada bagian manapun dari program. Ia tidak akan terikat pada bagian tertentu dari program. Bersifat transparan Bila melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan juga oleh bagian program yang menggunakan modul tersebut. Menghindari efek diluar perencanaan Modul yang terencapsulasi dengan baik hanya akan berinteraksi dengan bagian program lainnya melalui variable-variabel input/output yang telah didefinisikan sebelunnya. Dengan demikian, akan mereduksi kemungkinan adanya hasil imbas pemrosesan yang di luar perencanaan semula. Melindungi listing program Saat program didistribusikan pada khalayak, untuk melindungi listing program. Anda dapat menerapkan prinsip enkapsulasi. Di sini pengguna hanya dapat menggunakan program melalui variable input atau output yang didefinisikan tanpa disertai bagimana proses yang terjadi di dalam modul tersebut. Accessor Methods Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan sembarang object dapat mengakses data kapansaja. Untukitu, kitadeklarasikan atribut dari class sebagai private. Namun, adakalanya dimana kita menginginkan object lain untuk dapat mengakses data private. Dalam hal ini kita gunakan accessor methods. Accessor Methods digunakan untuk membaca nilai variable pada class, baik berupa instance maupun static. Sebuah accessor method umumnya dimulai dengan penulisan get. Method ini juga mempunyai sebuah return value. Contoh penggunaan accessor method adalah getaverage, public class Studentrecord { private string name;

.... public double getaverage() { double result = 0; result=(mathgrade+englishgrade+sciencegrade)/3; return result; Method getaverage() menghitung rata rata dari 3 nilai siswa dan menghasilkan nilai return value dengan nama result. Mutator Method Bagaimana jika kita menghendaki object lain untuk mengubah data? Yang dapat kita lakukan adalah membuat method yang dapat member atau mengubah nilai variable dalam class, baik itu berupa instance maupun static. Method semacam ini disebut dengan mutator methods. Sebuah mutator method umumnya tertulis set. Salah satu dari implementasi mutator method : public class StrudentRecord { private string name;.... public void setnama (String temp) { nama = temp; Dimana, public Menjelaskan bahwa method ini dapat dipanggil object luar class void Method ini tidak menghasilkan return value setname Namadari method (String temp) Parameter yang akan digunakan pada method Pernyataan berikut : name = temp; mengidentifikasi nilai dari temp sama dengan name dan mengubah data pada instance variable name. Perlu diingat bahwa mutator methods tidak menghasilkan return value. Namun berisi beberapa argument dari program yang akan digunakan oleh method.

Overloading Overloading adalah method dengan nama yang sama dengan method lain pada suatu class tetapi dengan parameter yang berbeda. Tujuan dibuatnya overloading yaitu memudahkan penggunaan method dengan fungsi yang hampir sama. Berikut Contoh dari Overloading pada java. class Pertambahan{ public void tambah1(){ int a=5, b=10; System.out.println("Hasil Pertambahann dari method tambah1 ke-1 = "+(a+b)); //Method tambah1 di overloading dengan 2 parameter (int x, int y) public void tambah1(int x, int y){ System.out.println("Hasil Pertambahann dari method tambah1 ke-2 = "+(x+y)); public static void main(string [] args){ Pertambahan pp; pp = new Pertambahan(); pp.tambah1();//memanggil method tambah1 ke-1 pp.tambah1(5,5);//memanggil method tambah1 ke-2 Dari contoh di atas, method tambah1 pada class Pertambahan dioverloading, sehingga ada perbedaan parameter antara method tambah1() dengan mehtod tambah1(int x, int y). Output program overloading:

Overriding Overriding adalah method subclass sama dengan method super class, parameternya sama tetapi pernyataan atau implementasinya berbeda. Berikut contoh dari Overriding pada java dengan nama super class nya adalah Nama dan sub class nya adalah Siapa. class Nama{ public void Sapa(){ System.out.println("Achmad Cahya Aditya"); public static void main(string [] args){ Siapa ss; Nama nn; ss = new Siapa(); nn = new Nama(); ss.sapa();//memanggil method Sapa() pada class Siapa nn.sapa();//memanggil method Sapa() pada class Nama class Siapa extends Nama{ //Method Sapa() pada class Nama di override public void Sapa(){ System.out.println("Yesica Dwi Lestari"); Pada program di atas terlihat bahwa method Sapa() pada super class(class Nama) di override di sub class(class Siapa). Parameter pada kedua class tersebut sama yaitu tidak mempunyai paramater alias kosong, tetapi perbedaannya adalah implementasinya yaitu mencetak kalimat yang berbeda. Output program overriding:

Keyword this Keyword this adalah objek yang langsung digunakan tanpa didahului proses instansiasi. Penggunaan keyword ini yaitu bila ada attribute (non static) dari suatu kelas akan digunakan method yang berada dalam kelas yang sama, namun nama attribute tersebut dan nama parameter yang dilewatkan pada method tersebut SAMA. Keyword ini dapat digunakan secara implicit maupun eksplisit. Contoh penggunaan yang eksplisit : 1 2 3 4 5 6 7 8 9 10 11 12 13 class RectangleToy { private double width, height; public void setrectangle(double width, double height) { this.width = width; this.height = height; Pemanggilan attribute yang eksplisit, biasa digunakan untuk mengatasi panamaan yang sama. Pada contoh ini parameter di method setrectangle() menggunakan nama yang sama dengan attribute di kelas RectangleToy. Contoh pemanggilan implisit : 1 2 3 4 5 6 7 8 9 10 11 12 13 class RectangleToy { private double width, height; public void setrectangle(double new width, double new height) { width = new width; height = new height; Modifier

Penggunaan modifier berfungsi untuk melakukan enkapsulasi (membungkus data) pada objeck. Dengan menggunakan modifier kita dapat menentukan siapa saja yang boleh menggunakan atau mengakses member dari suatu objek. Ada empat macam modifier yang dikenal oleh Java, yaitu private, protected, public dan tanpa modifier. Class Modifier Bentuk penggunaan modifier pada class: modifier class NamaClass{ Modifier (default) Public Keterangan Class visible atau dapat digunakan hanya pada package yang sama Class visible terhadap semua package yang berbeda beda Contoh penggunaan: public class Manusia{...... Method Modifier Bentuk penggunaan method modifier: modifier tipe-data namamethod(parameter){

Berikut ini adalah daftar modifier yang dapat digunakan pada method. Modifier (default) public private protected Keterangan Method visible atau dapat digunakan hanya pada package yang sama Method visible pada semua package Method visible hanya di dalam class itu sendiri Method visible didalam package dan sub classnya Contoh penggunaan: public class Manusia{ private String nama; private String jenkel; public void setnama(string nama){ this.nama=nama; public void setjenkel(string jenkel){ this.jenkel=jenkel; public void cetak(){ System.out.println("Nama : "+nama); System.out.println("Jenis Kelamin : "+jenkel); public class DemoManusia{ public static void main(string args[]){

Manusia m = new Manusia(); m.setnama("hendro"); m.setjenkel("laki-laki"); m.cetak(); Variable dan Method static Bila variable atau method diberi modifier static, maka variable atau method tersebut menjadi milik kelas. Pengertian menjadi milik kelas adalah, kita dapat mengakses atau menggunakannya tanpa proses instansiasi object dari kelas tersebut (yang kita butuhkan hanya kelas tersebut dapat diakses). Contoh : Program 1 public class MyStatic1 { public static void main(string[] args) { System.out.println(A.variableStatic); A.methodStatic(); class A { static String variablestatic = "Hallo, aku " + "adalah A.variableStatic"; static void methodstatic() { System.out.println("Hallo, aku adalah " + "A.methodStatic()"); Program di atas akan menghasilkan : Hallo, aku adalah A.variableStatic Hallo, aku adalah A.methodStatic()

Semua instance akan berbagi method atau variable static, dengan kata lain, hanya akan ada 1 salinan method atau variable static untuk berapapun jumlah instance yang ada Contoh: Program 2 public class MyStatic2 { public static void main(string[] args) { A a1 = new A(); A a2 = new A(); A a3 = new A(); System.out.println("==========BEFORE"); System.out.println("a1.staticVariable = " + a1.staticvariable); System.out.println("a2.staticVariable = " + a2.staticvariable); System.out.println("a3.staticVariable = " + a3.staticvariable); A.methodStatic(); System.out.println("==========AFTER"); System.out.println("a1.staticVariable = " + a1.staticvariable); System.out.println("a2.staticVariable = " + a2.staticvariable); System.out.println("a3.staticVariable = " + a3.staticvariable); class A { static int staticvariable = 0; static void methodstatic() { staticvariable += 99; Program di atas akan menghasilkan : ==========BEFORE a1.staticvariable = 0 a2.staticvariable = 0 a3.staticvariable = 0 ==========AFTER a1.staticvariable = 99 a2.staticvariable = 99

a3.staticvariable = 99 Nilai dafault dari static variable adalah sama seperti nilai default dari non-static variable (instance variable): Contoh: Program 3 public class MyStatic3 { public static void main(string[] args) { System.out.println("Nilai default variable " + "static bertipe byte = " + A.staticByteVar); System.out.println("Nilai default variable " + "static bertipe short = " + A.staticShortVar); System.out.println("Nilai default variable " + "static bertipe int = " + A.staticIntVar); System.out.println("Nilai default variable " + "static bertipe long = " + A.staticLongVar); System.out.println("Nilai default variable " + "static bertipe float = " + A.staticFloatVar); System.out.println("Nilai default variable " + "static bertipe double = " + A.staticDoubleVar); System.out.println("Nilai default variable " + "static bertipe boolean = " + A.staticBooleanVar); System.out.println("Nilai default variable " + "static bertipe Class = " + A.staticReferenceVar); class A { static byte staticbytevar; static short staticshortvar; static int staticintvar; static long staticlongvar; static float staticfloatvar; static double staticdoublevar; static boolean staticbooleanvar; static Object staticreferencevar; Program di atas akan menghasilkan : Nilai default variable static bertipe byte = 0 Nilai default variable static bertipe short = 0 Nilai default variable static bertipe int = 0 Nilai default variable static bertipe long = 0

Nilai default variable static bertipe float = 0.0 Nilai default variable static bertipe double = 0.0 Nilai default variable static bertipe boolean = false Nilai default variable static bertipe Class = null Daftar Pustaka http://top-ilmu.blogspot.com/2012/12/overloading-dan-overriding-pada-java.html

http://terusbelajar.wordpress.com/2009/07/19/menggunakan-keyword-static-di-java/ http://catatan.desdrianton.net/scjp/content/static.htm http://maniakjava.wordpress.com/2011/07/04/fungsi-keyword-static-di-java/ JAVA revisi keempat. Dr Bambang Hariyanto