CLASS, METHOD DAN MODIFIER

dokumen-dokumen yang mirip
PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Class dan Obyek 2

Membuat dan Menggunakan Class

UNIVERSITAS GUNADARMA

Pemrograman Berorientasi. Abstract & Interface

2 TIPE DATA DAN VARIABEL

BAB II VARIABEL DAN TIPE DATA

Bahasa Pemrograman 2.

Inheritance dan Kata Kunci static

Bahasa Pemrograman 2.

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

Pemrograman Berorientasi Objek

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

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

Modul II Object Oriented Programming

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

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

Praktikum 3 Konsep Class, Attribute dan Method

Jobsheet 09. Overloading and Overriding Method

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Abstract Class dan Interface. Viska Mutiawani, M.Sc

PEMAHAMAN DASAR DASAR JAVA

MODUL 1 PENGENALAN OOP

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

MODUL 1. Class, Object, Constructor dan Method

Class & Object 2. Imam Fahrur Rozi

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

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

INTERAKSI ANTAR OBJECT

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

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

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

BAB I PENGANTAR 1.1 Bahasa Pemrograman Java

IKG2I4 / Software Project I

BAB I PENGANTAR 1.1 Bahasa Pemrograman Java

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

Dasar-Dasar OOP di Java

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

PEWARISAN D E W I S A R T I K A, M. K O M

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

Bab 8. Dasar-Dasar OOP

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

Bahasa Pemrograman :: Polimorfism and Abstraction

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

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

BAHASA PEMROGRAMAN JAVA

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

SUMBER BELAJAR PENUNJANG PLPG

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

IKG2I4 / Software Project I

TPI4202 e-tp.ub.ac.id

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

Dasar-Dasar OOP di Java

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

Konsep Dasar Pemrograman Berorientasi Objek

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

Gambar 1: Hirarki class

INFORMATION HIDING, ENCAPSULATION, POLYMORHISM

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Politeknik Elektronika Negeri Surabaya

PEMROGRAMAN BERORIENTASI OBJEK

subclass class manapun private default protected public package yang sama

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

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

Polymorphism (Polimorfisme)

PAKET DAN INTERFACE MUH. IZZUDDIN MAHALI, M.CS. PT. Elektronika FT UNY

Praktikum 6 Class Design (Encapsulation)

Chapter 9 Pewarisan Pe

Pengenalan pemrograman berorientasi obyek

Pemrograman Berorientasi. Inheritance

Dasar Pemrograman Java

Paket dan Interface. Nur Hasanah, M.Cs

Pewarisan, Polimorfisme, dan Interface

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

Method / Fungsi / Sub Program

PERTEMUAN 3 OBJEK DAN CLASS

BAB 3 CLASS DAN OBJECT. Tujuan:

Bahasa Pemrograman :: Inheritance

[Lanjutan] Nurochman

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Badiyanto, S.Kom., M.Kom. PBO java

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

:: abstract class + interface. :: abstract class

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

DASAR PEMOGRAMAN JAVA

Pemrograman Lanjut. Class : Deeper Look 2

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Transkripsi:

CLASS, METHOD DAN MODIFIER

CLASS (KELAS) Kelas easmendefinisikan sekumpulan objek yang memiliki kesamaan sifat dan perilaku Ada dua kelompok kelas : kelas standard kelas yang didefinisikan sendiri Kumpulan dari method/kelas standard dalam java dikenal dengan API (Aplication Programming Interface)

Pengertian Kelas untuk membuat objek, dan berperan sebagai tipe data dari objek sarana pengkapsulan kumpulan data/properti dan kumpulan method

Membuat Class dan Obyek dalam JAVA Dibentuk sebuah Class yang merupakan interface (bentuk) dari obyek yang akan dibuat Setelah Class didefinisikan, maka Obyek dapat dideklarasikan sebagai bentuk dari Class tsb (instance of a class)

Misal Diagram Class : -var1 : int MyClass -var2 : double -var3 : String +metoda1() : void +metoda2() : int

Deklarasi Class : public class MyClass { //Deklarasi Anggota Kelas(member) int var1; double var2; String var3; void metoda1 (parameter ) { int metoda2 (parameter ) {

Anatomi Kelas [modifier1] class NamaKelas [modifier2] { classbody Classbody : properti/attribute, constructor dan method Modifier sifatnya optional, menunjukkan sifat sifat tertentu dari kelasnya, methodnya, atau attributenya

10 keyword modifier1 : 1. akses (public, protected, default, private) 2. final 3. static 4. abstract 5. synchronized 6. native 7. storage (transient, volatile) 2 keyword modifier2, yaitu extends dan implements.

DEKLARASI ATTRIBUTE (VARIABEL ANGGOTA DATA) Letak di dalam classbody (di luar method). Bentuk umum : [modifier] tipedata namavariabel; [public] [static] final tipedata NAMA_KONSTANTA = nilai; Contoh : public class CircleClass { public static final double PI= 3.14159265358979323846; public double x, y, r; // dan seterusnya

METHOD Tingkah khlk laku dari suatu objek Letak di dalam classbody Bentuk umum : [modifier] tipe_return_value namamethod(tipe parameter) { methodbody; Modifier boleh lebih dari satu (dipisah oleh spasi). Method dpt tdk mempunyai nilai balik, disebut sebagai void, atau mempunyai nilai balik berupa tipe primitive Java atau class. Pasangan tipe dan parameter dapat lebih dari satu (dipisah oleh koma).

Contoh Method : public void f1() { System.out.println( Fungsi f1 ); public int f2() { return 300; public String f3() { return Hallo Apa Khabar ; f1 menjalankan routine untuk mencetak string f2 memberikan nilai balik berupa tipe integer f3 memberikan nilai balik berupa String

Method Bentuk umum method main() sebagai berikut : [modifier] tipe_return_value main(string args[]) { methodbody Ada dua sintaks pemanggilan suatu method : namaobjek.namamethod([nilaiparamater]); namakelas.namamethod([nilaiparamater]);

Parameter Parameter (argumen) : daftar variabel yg disertakan pada sebuah method Variabel ini akan diolah sebagai input Variabel ini akan diolah sebagai input untuk method tersebut

Ruang Lingkup Variabel Disebut juga sbg Variable Scope : jangkauan nilai yg berlaku untuk sebuah variabel. Variable dapat diakses secara global, lokal atau hanya dalam satu blok saja.

1 Program public class MyClass { int v = 100; //var global int x = 0; //var global public void mysubroutine1() { int v = 300; // var lokal 2 System.out.println( var= + v); public void mysubroutine2() { for (int i=0; i<v; i+=100) 3 System.out.println( i= + i); i=v; //Error, i tidak dapat diakses //i hanya di blok for-loop public static void main (String args[]) { int x=100; //var lokal int y; 4 int z; z=x;

no 3 pada program diubah: public class MyClass { int v = 100; //var global 1 int x = 0; //var global 2 3 4 public void mysubroutine1() { int v = 300; // var lokal System.out.println( var= + v); public void mysubroutine2() { int i; for (i=0; i<v; i+=100) System.out.println( i= + i); v=i; //i lokal, dapat diakses //v global, nilai diganti dengan i public static void main (String args[]) { int x=100; //var lokal int y; int z; z=x;

Tidak semua member (class, attribute, dan method) dapat diakses method, berikut ttbl tabel aksesnya : method static static non static non static member (class, attribute, method) static boleh lewat objek ataupun class, boleh langsung kalau dalam kelas sendiri non static boleh lewat objek, langsung tidak boleh, lewat class tidak boleh static boleh lewat objek ataupun class, boleh langsung kalau dalam kelas sendiri non static boleh hanya lewat objek, langsung tidak boleh, lewat class tidak boleh

Method static Keyword static di depan nama method berarti sebagai penempatan memori (alokasi memori) Java Run Time akan segera menyiapkan memori untuk menempatkan code yang berkunci kata static (static loading), sedangkan yang tidak menggunakan kata static (non static), akan diaktifkan pada saat dibutuhkan (dynamic loading)

Contoh : public class MyClassXYZ { public static void printx() { public void printy() { static int i; public void printz() { int z; public static void main(string arg[]) { Proses Loading (eksekusi awal) oleh Java Run Time dilakukan untuk method main(), printx() dan printy(). Method printz() tidak dilakukan Loading sebelum ada program code yang memanggilnya.

Method static Method static tidak dapat mengakses variabel di luar method tersebut bila variabel tersebut bukan static Method static tidak dapat mengeksekusi Method static tidak dapat mengeksekusi method lain yang bukan static

public class MyStatic { int saldo = 400; Contoh : public void cetaksaldo() { System.out.println( println( Saldo = + saldo); public static void main(string args[]) { saldo = 300; cetaksaldo(); Program main akan mengakses variabel saldo dan menjalankan method cetak. Kompilasi memberikan pesan error. Error variabel saldo bukan tipe static (belum ada di memori), dan class belum dialokasikan ke memori, sedangkan main() adalah method static yg lebih dulu pada awal aplikasi diinisialisasi, code main() diaktifkan ke memori.

Maka variabel saldo diberi kata static : public class MyStatic { static int saldo = 400; public void cetaksaldo() { System.out.println( Saldo = + saldo); public static void main(string args[]) { saldo = 300; cetaksaldo(); M ih b ik Masih memberikan pesan error. Error method cetaksaldo() membutuhkan kunci kata untuk alokasi memori static

Maka method cetaksaldo diberi kata static : public class MyStatic { static ti int saldo = 400; public static void cetaksaldo() { System.out.println( Saldo = + saldo); public static void main(string args[]) { saldo = 300; cetaksaldo();

Method getter dan setter Method dasar ada dua jenis yaitu getter() dan setter(). Method jenis getter() merupakan methodmethod yang berfungsi untuk mendapatkan informasi idari class, sedangkan jenis setter() berfungsi untuk menentukan isi atribut (variabel) dalam class.

Contoh Method getter dan setter public class Dog { private int weight; // information hiding public int getweight() { //getter return weight; ih Public void setweight(int newweight) { //setter weight = newweight; public class TesDog { public static void main(string[] args) { Dog d = new Dog(); d.setweight(42); System.out.println( println( Dogd s ds weight is +d.getweight())

Overloading terhadap Method mendefinisikan df dua atau lbh lebih method di dalam kelas sama, nama sama, deklarasi parameter berbeda. Tugas dari method method yang dioverloading tersebut berbeda.

Contoh Overloading terhadap Method import java.lang. *; public class Perkalian { private double pangkat(int a, int b) { double hasil = 1.0; //kode program return hasil; private double pangkat(double a, int b) { double hasil = 1.0; //kode program return hasil; public static void main(string[] args) { Perkalian kali = new Perkalian(); System.out.println(kali.pangkat(10,308)); p ( System.out.println(kali.pangkat(0.5,2)); // dst untuk data yg lain

Keyword this 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 implisit maupun eksplisit.

Keyword this Contoh penggunaan yang eksplisit i : class RectangleToy { private double width, height; public void setrectangle(double t width, double height) hiht){ this.width = width; this.height = height; Contoh pemanggilan implisit : class RectangleToy { private double width, height; public void setrectangle(double newwidth, double newheight) { width = newwidth; height = newheight;

CONSTRUCTOR method yang tidak memiliki return value (secara implisit adalah instant dari kelasnya), nama sama dengan nama kelas, dapat diberi modifier akses (public, protected, default, private). Bentuk umum : [modifier] NamaConstructor(tipe namaparameter) { constructorbody; Tujuan constructor dibuat adalah untuk melakukan inisialisasi yang diperlukan objek baru.

Program MyClass : public class MyClass1 { /*Creates new MyClass1 */ public MyClass1() { f1(); int x = f2(); System.out.println( t x = + x); String s; s = f3(); System.out.println(s); public void f1() { System.out.println( Fungsi f1 ); public int f2() { return 300; public String f3() { return Hallo Apa Khabar ; public static void main (String args[]) { new MyClass1();

class PersonToy { String name; String addressline; int age; public PersonToy() { name = ; addressline = ; age = 0; Contoh constructor dan overloadingnya : public PersonToy (String newname, String newaddress, int newage) { name = newname; addressline = newaddressline; age = newage;

MODIFIER untuk menentukan hubungan suatu unsur kelas dengan unsur kelas lainnya, contohnya hubungan kepemilikan antara kelas dan objek. Modifier Akses : 1. public, 2. protected, 3. default, 4. private

Tabel Wilayah Modifier Akses Wilayah Akses public protected default private Di kelas yg sama Beda kelas, x di package yg sama Beda kelas, x x beda package, di kelas turunan Beda kelas, beda package, tidak di kelas turunan x x x

Modifier Final no extended class no overrided method membentuk suatu attribute t menjadi konstanta.

Modifier Static no need instanciation. method dan attribute milik kelas, menjadi sifat bersama dari semua objek dalam kelas tersebut t(tidak memerlukan instansiasi i iobjek untuk menjalankannya). no overrided method method main() harus memiliki modifier static.

Modifier Abstract no instanciation Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) should be overrided method method d yang abstract bt tharus disempurnakan oleh kelas turunannya melalui override. Konsekuensi penggunaan sifat abstract : 1. Tidak dapat dibuat constructor yang abstract. 2. Tidak dapat dibuat method yang static dan abstract (kedua sifat sali ng kontradiktif). 3. Tidak diijinkan membuat method yang private dan abstract (kedua sifat ini juga saling kontradiktif).

Modifier khusus modifier method Synchronized Pada lingkungan multithread, dimungkinkan lebih dari satu jalur eksekusi yang berjalan di kode yang sama, kondisi tersebut dapat diatur sehingga pada selang waktu tertentu hanya ada satu jalur eksekusi yang diijinkan di method yang synchronized (eksekusi dilakukan secara mutual exclusive). Native Modifier ini digunakan untuk memanggil/mengakses methodyang ditulis dalam bahasa C/C++. Seperti method yang abstract, method yang native hanya berupa prototype, implementasi method ini berada di file external (dalam folder yang sama).

Modifier khusus modifier attribute

Modifier Extends Bila terjadi pewarisan, kelas yang mewariskan method dan attributenya disebut kelas super, sedangkan yang diwariskan disebut subkelas. Kelas yang memiliki modifier ini berarti merupakan subkelas dari suatu kelas super. Caranya : [modifier1] class NamaSubKelas extends NamaKelasSuper { classbody

Modifier Implements Kelas yang memilki modifier implements artinya kelas tersebut mengimplementasikan satu atau lebih interface. Bila terdapat lebih dari satu interface, gunakantandakoma koma diantarainterface interface interface tersebut. Caranya : [modifer] class NamaKelas implements NamaInterface1, NamaInterface2 { classbody cass