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

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

BEKERJA DENGAN JAVA CLASS LIBRARY

BAB 9 Bekerja dengan Java Class Library

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

SUMBER BELAJAR PENUNJANG PLPG

Dasar Pemrograman Java

Polymorphism (Polimorfisme)

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Reserved words Reserved words atau keywords merupakan kata-kata spesifik digunakan oleh compiler untuk keperluan pemrograman. Contoh reserved words

Pemrograman Lanjut Class, Instance Variable dan Method PTIIK

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

Membuat dan Menggunakan Class

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

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

OPERATOR-OPERATOR DALAM JAVA

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

T I P E D A T A P R I M I T I F V A R I A B E L D A N S T A T E M E N P E N U G A S A N E K S P R E S I D A N O P E R A T O R A R I T M A T I K A

Chapter 10 Polimorphism

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Nama : Julian Chandra W Telp :

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Modul Praktikum Bahasa Pemrograman 1

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

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

Percabangan & Perulangan

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

Pemrograman Berbasis Objek Operator dan Assignment

Operator dan Assignment

Tujuan. Dasar Pemrograman. Mempelajari Program Java Pertama. Mempelajari Program Java Pertama. Mempelajari Program Java Pertama

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

Tipe data primitif adalah tipe data dasar yang dikenali oleh Java dan bukan merupakan class. Tipe data primitif ini dapat dikenali dengan ciri

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

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

BAB 3 STRUKTURE PROGRAM JAVA

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

Bahasa Pemrograman :: Dasar Pemrograman Java

TIPE DATA, VARIABEL DATA DAN OPERATOR

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

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

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

MINGGU II : DASAR C# Tujuan Pembelajaran. Materi

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

Pemrograman Berorientasi Obyek. Operator & Assignment

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Bahasa Pemograman II. Object Oriented Programming

2 TIPE DATA DAN VARIABEL

PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 3 Konsep Class, Attribute dan Method

Pemrograman Lanjut. Class : Deeper Look 2

Struktur Dasar Pemrograman Java

MODUL 1. Class, Object, Constructor dan Method

Pemrograman Berorientasi. Class dan Obyek 2

BAB II VARIABEL DAN TIPE DATA

JAVA BASIC PROGRAMMING Joobshet

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

Pemrograman Berorientasi Obyek. Dasar Pemrograman Java

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Dasar-Dasar Pemrograman Java

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Bab 8. Dasar-Dasar OOP

Array Pendeklarasian Array

Bahasa Pemrograman 2.

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

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

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 2 DASAR PEMROGRAMAN JAVA

BAB 4. System.out.println("Hello world!");

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemrograman Berorientasi Object

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

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

Modul Praktikum 4 Pemograman Berorientasi Objek

Pengenalan pemrograman berorientasi obyek

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

DASAR PEMOGRAMAN JAVA

Dasar Pemrograman Java

PEMAHAMAN DASAR DASAR JAVA

Overriding Overloading Polymorphism

LAPORAN TUGAS AKHIR APLIKASI KALKULATOR BERBASIS JAVA

Dasar-Dasar Pemrograman Java

String. String merupakan tipe data untuk menyimpan nilai berupa teks.

BAB 4 ARRAY. number1 = 10; number2 = 20; number3 = 30;

Praktikum 2 Dasar Pemrograman Java dan Tipe Data

Dasar-dasar Pemrograman JAVA

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

MODUL 6 PERULANGAN. A. String. 1. Instansiasi dan Inisialisasi. M0601xxyyy.jar

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 2 DASAR PEMROGRAMAN JAVA

BAB 7. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel.

Konsep Dasar Pemrograman Berorientasi Objek

Modul 2. [access specifier] [tipe data] [nama variabel];

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

Understanding Class Definition. Viska Mutiawani, M.Sc

Pemrograman Dasar A R R A Y

Pemrograman Lanjut Review Class dan Object PTIIK

Transkripsi:

Tujuan Pada akhir pembahasan, siswa diharapkan dapat : JAVA Education Network Indonesia Bekerja dengan Java Class Library Pengenalan Pemrograman 1 Menjelaskan OOP dan beberapa konsepnya Membedakan antara Class dan Object Membedakan antara instance variable/method dengan Class (static) variable / method Menjelaskan tentang method dan cara untuk memanggil dan memberikan parameter pada method Mengidentifikasi jangkauan variable Casting tipe data primitif dan object Membandingkan object dan menentukan class dari sebuah object jeni.jardiknas.org Pengenalan OOP Object-Oriented programming atau OOP Menitikberatkan pada konsep dari object sebagai elemen dasar dari program. Object tersebut dikarakterisasikan oleh properties dan behaviors. Contoh dari Object Pengenalan OOP Object dalam kenyataan dapat diasumsikan sebagai sebuah perangkat lunak yang menggunakan properties sebagai data, dan behaviors sebagai method Enkapsulasi Enkapsulasi Method untuk menyembunyikan beberapa method tertentu dari implemensi Class tertentu. Dengan menempatkan batasan di sekitar properties dan method object kita, kita dapat menghindari terjadinya efek samping dari program dimana terjadi perubahan variable program melalui cara yang tidak diinginkan. Class dan Object Class Diasumsikan sebagai template, sebuah prototype dari object Merupakan struktur dasar dari OOP Dua tipe class member Fields (properties atau attributes) Menentukan tipe data yang digunakan oleh class Methods. Menentukan jalan operasional 1

Class dan Object Class dan Object Object Terdiri dari serangkaian data (properties) yang berupa variable yang menentukan karakteristik sebuah object, dan mengandung beberapa method (behavior) yang menjelaskan bagaimana bentuk object. Object adalah sebuah instance dari Class. Perhatikan contoh berikut untuk memahami antara Class dan Object : Classes dan Objects Class memiliki keunggulan dalam permasalahan penggunaan kembali. Programmer dapat menggunakan sebuah class berulang kali untuk membuat banyak object. Class Variables Classes terdiri dari Instance variables Instance methods Class Variables (static member variables) variable yang dimiliki oleh keseluruhan class Hal ini berarti bahwa mereka memiliki nilai (value) yang sama untuk semua object dalam class yang sama. Class Variables Sebagai Contoh, Instantiate Class Untuk membuat sebuah object atau instance dari class, digunakan operator new Sebagai contoh : String str2 = new String( Hello world! ); atau sama dengan, String str2 = "Hello"; 2

Instantiate Class Method Operator new Mengalokasikan memory untuk object dan membuat sebuah reference dari alokasi memory tersebut Pada saat anda membuat object, pada dasarnya anda meng-invokasi class constructor. Constructor Adalah sebuah method dimana anda menempatkan seluruh inisialisasi, nama constructor sama dengan nama class. Method Adalah sebagian kode terpisah yang dapat dipanggil oleh program utama atau method lain untuk melakukan suatu fungsi tertentu. Beberapa ciri method: Dapat menghasilkan satu ataupun tidak value. Setelah method telah selesai tereksekusi, proses kembali kepada method yang memanggilnya. Mengapa Menggunakan Methods? Memanggil Instance Variables Inti dari penyelesaian masalah yang efektif adalah memilah dan membagi permasalahan. Proses tersebut dapat dilakukan dalam Java dengan membuat method untuk menyelesaikan bagian tertentu atas permasalahan. Ambil sebuah permasalahan, kemudian dipilahkan menjadi beberapa bagian kecil, dan mengaturnya untuk dituliskan menjadi program skala besar. Untuk menggambarkan cara pemanggilan method, digunakan class String sebagai contoh. Gunakan Java API documentation untuk mengetahui seluruh method yang terdapat pada class String. Kemudian dibuat method kita sendiri, namun sekarang mari kita gunakan apa yang telah tersedia sebelumnya. Untuk memanggil instance method, tuliskan : ); nameofobject.nameofmethod( parameters Memanggil Instance Variables Perhatikan dua contoh method class String berikut : Memanggil Instance Variables Menggunakan methods, String str1 = "Hello"; char x = str1.charat(0); //return character H //disimpan dalam variable x String str2 = "hello"; //return boolean value true boolean result = str1.equalsignorecase( str2 ); 3

Parameter Passing Pass-by-Value Pass-by-Value Pada saat sebuah pass-by-value muncul, method tersebut membuat salinan value dari variable yang dilewatkan menuju method. Method tersebut tidak dapat secara langsung merubah argumen awal meskipun dapat mengubah parameter pada saat proses perhitungan. Seluruh tipe data primitif pada saat ditujukan pada method adalah pass-by-value. Parameter Passing Pass-by-Reference Pass-by-Reference Pada saat pass-by-reference muncul, reference untuk sebuah object kemudian dilewatkan untuk memanggil sebuah method. Hal ini berarti method tersebut membuat sebuah salinan reference dari variabel yang ditujukan pada method. Namun, tidak seperti pass-by-value, method tersebut dapat memodifikasi object sebenarnya yang ditunjuk oleh reference, meskipun dua reference yang berbeda digunakan dalam method, lokasi data yang ditunjuk adalah sama. Pass-by-Reference Memanggil Static Methods Static methods Method yang dapat terinvokasi tanpa menginstansiasi sebuah class (dalam arti tanpa menggunakan keyword new). Static methods dimiliki class secara keseluruhan dan tidak berupa instance atau object tertentu dari class. Static methods dibedakan dengan instance methods dalam sebuah class dengan menggunakan keyword static. Untuk memanggil sebuah static method, tuliskan, Classname.staticMethodName(params); 4

Memanggil Static Methods Jangkauan Variable Contoh dari static method : //mencetak data pada layar System.out.println( Hello world ); //konversi String 10, menjadi sebuah integer int i = Integer.parseInt( 10 ); //menghasilkan representasi String dari integer argument sebagai //integer basis 16 String hexequivalent = Integer.toHexString( 10 ); Jangkauan Menentukan di bagian mana dalam program variable tersebut dapat diakses. Menentukan lifetime dari variable atau berapa lama variable bertahan dalam memory Jangkauan ditentukan oleh penempatan deklarasi variabel dalam program. Secara sederhana, imajinasikan jangkauan adalah segala sesuatu dalam tanda {...}. Segala yang berada diluar tanda tersebut disebut dengan outer blocks, sebaliknya, disebut dengan inner blocks. Jangkauan Variable Contoh 1 Jangkauan variable adalah : Didalam blok yang mendeklarasikannya, dimulau pada baris dimana ia dideklarasikan, dan didalam inner blocks. Contoh 1 Contoh 2 Kode tersebut merepresentasikan 5 jangkauan yang dindikasikan oleh baris dan huruf yang merepresentasikan jangkauan tersebut. Diberikan variables i,j,k,m dan n, serta lima jangkauan A,B,C,D dan E. Jangkauan variable i adalah A. Jangkauan variable j adalah B. Jangkauan variable k adalah C. Jangkauan variable m adalah D. Jangkauan variable n adalah E. 5

Contoh 2 Pada method utama, jangkuan dari variables adalah, ages[] - jangkauan A i in B - jangkauan B i in C jangkauan C Pada method test, jangkauan variables adalah, arr[] - jangkauan D i in E - jangkauan E Jangkauan Variable Pada saat mendeklarasikan variable, hanya satu variable dengan identifier atau nama yang dapat dideklarasikan dalam sebuah jangkauan. Hal itu berarti jika anda menggunakan contoh deklarasi : { } int test = 10; int test = 20; Compiler akan menghasilkan error kecuali anda menggunakan nama berbeda untuk variabel dalam satu blok. Jangkauan Variable Panduan Penulisan Program Bagaimanapun, anda dapat menggunakan 2 variabel dengan nama sama, jika tidak dideklarasikan dalam satu blok int test = 0; System.out.print( test ); //..kode selanjutnya { int test = 20; System.out.print( test ); } Hindari variable dengan nama sama dideklarasikan dalam satu method.. Casting Casting Tipe Primitif Casting Mengkonversi tipe data dari satu tipe ke tipe yang lain Pokok pembahasan : Casting data dengan tipe primitif Casting objects Casting antara tipe primitif mengijinkan anda untuk mengkonversi nilai dari satu tipe ke tipe yang lain. Umumnya digunakan antar tipe data numerik. Terdapat satu tipe data yang tidak dapat dikonversi, yaitu boolean. Tipe Casting: Casting Implisit Casting Explisit 6

Casting Implisit Casting Implisit Untuk menggambarkan casting implisit, perhatikan contoh berikut : Misalkan kita ingin menyimpan sebuah data integer dalam sebuah variable dengan tipe data double. int numint = 10; double numdouble = numint; //casting implisit Pada contoh tersebut, karena variabel tujuan memiliki jangkauan lebih besar dibandingkan dengan data yang akan ditempatkan, data tersebut secara implisit tercasting menjadi tipe data double. Contoh lain : int numint1 = 1; int numint2 = 2; //hasilnya secara implisit tercasting menjadi double double numdouble = numint1/numint2; Casting Explisit Pada saat kita mengkoncersi sebuah data dengan tipe yang lebih besar menuju tipe lebih kecil, digunakan casting explisit. Bentuk casting explisit : (datatype)value dimana, datatype - bentuk tipe data konversi value - ekspresi yang menghasilkan value dari tipe sumber Contoh Casting Explisit Kita ingin mengcasting dari int menjadi char, atau sebaliknya. Sebuah character dapat digunakan sebagai int karena tiap character memiliki kode numerik sesuai posisinya dalam character set. Character 'A' == 65 char valchar = 'A'; int valint = valchar; System.out.print(valInt);//cast explisit:output 65 Contoh Casting Explisit Casting Objects double valdouble = 10.12; int valint = (int)valdouble; //konversi valdouble menjadi tipe int double x = 10.2; int y = 2; int result = (int)(x/y); //menghasilkan result sebagai int Instance dari class juga dapat tercasting menjadi instance dari class lain, dengan satu batasan :: Class asal dan tujuan harus terelasi sebagai sebuah inheritance, salah satu class harus berupa subclass dari class lain. Inheritance akan dibahas pada sesi selanjutnya Casting objects dapat dianalogikan untuk mengkonversi nilai primitif menuju tipe yang lebih besar, beberapa object tidak perlu mengalami casting secara explisit. 7

Casting Objects Contoh Casting Objects Gunakan, (classname)object dimana, classname, adalah nama class tujuan object, adalah reference untuk object asal Contoh berikut mengcasting sebuah instance dari class VicePresident menuju instance dari class Employee. VicePresident adalah subclass dari Employee dengan beberapa informasi tambahan. Employee emp = new Employee(); VicePresident veep = new VicePresident(); emp = veep; // casting explisit veep = (VicePresident)emp; Konversi Tipe Primitif menjadi Object dan sebaliknya Satu hal yang yang tidak dapat dilakukan dalam proses casting adalah mengcasting sebuah object menjadi tipe data primitif atau sebaliknya. Sebagai alternatif, package java.lang memiliki class yang mendukung setiap tipe data primitif : Float, Boolean, Byte dan lainnya. Disebut dengan class Wrapper Konversi Tipe Primitiv menjadi Object dan sebaliknya Class Wrapper Hampir seluruh class ini memiliki nama yang sama dengan tipe data, kecuali nama class yang dimulai dengan huruf kapital (Short dengan short, Double dengan double, dan sebagainya) Dua class memiliki nama yang membedakannya dengan tipe data: Character digunakan untuk variabel char, dan Integer untuk variabel int Penggunaan class yang mendukung tiap tipe primitif dilakukan dengan membuat object yang memiliki value yang sama Konversi Tipe Primitiv menjadi Object dan sebaliknya Contoh : Statement berikut membuat sebuah instance dari class Integer dengan value 7801(primitive -> Object) Integer datacount = new Integer(7801); Contoh berikut mengkonversi sebuah object Integer menjadi data primitif bertipe int. Hasilnya adalah int dengan value 7801 int newcount = datacount.intvalue(); Bentuk umum yang diperlukan dalam program adalah mengkonversi sebuah String menjadi tipe numerik, seperti int (Object -> primitive) String pennsylvania = "65000"; int penn = Integer.parseInt(pennsylvania); Membandingkan Objects Pada pembahasan sebelumnya, kita telah mempelajari tentang operator pembanding nilai. Hampir seluruh operator bekerja hanya untuk tipe primitiv, bukan object. Pengecualian peraturan tersebut terletak pada operator equal (==) dan not equal (!=). Jika diaplikasikan sebagai object, operator tersebut tidak akan bekerja sesuai harapan. Disamping memeriksa apakah object memiliki value yang sama dengan object lain, operator tersebut menentukan apakah kedua operator menunjuk object yang sama. 8

Membandingkan Objects Membandingkan Objects Contoh : 1 class EqualsTest 2 { 3 public static void main(string[] arguments) { 4 String str1, str2; 5 str1 = "Free the bound periodicals."; 6 str2 = str1; 7 System.out.println("String1: " + str1); 8 System.out.println("String2: " + str2); 9 System.out.println("Same object? " + (str1 == str2)); 10 str2 = new String(str1); 11 System.out.println("String1: " + str1); 12 System.out.println("String2: " + str2); 13 System.out.println("Same object? " + (str1 == str2)); 14 System.out.println("Same value? " + str1.equals(str2)); 15 } 16 } Hasil eksekusi program : String1: Free the bound periodicals. String2: Free the bound periodicals. Same object? true String1: Free the bound periodicals. String2: Free the bound periodicals. Same object? false Same value? True Membandingkan Objects Menentukan class dari sebuah object Catatan pada Strings: Terdapat kode: String str1 = Hello ; String str2 = Hello ; Dua referensi str1 dan str2 akan menunjuk object yang sama String literals teroptimasi di Java; jika Anda akan membuat sebuah String menggunakan literal dan kemudian mengunakan literal lain namun dengan character yang sama, Java mengetahui cara untuk mengembalikan object string pertama. Kedua string adalah object yang sama, anda harus melakukan cara yang lain untuk membuat object yang berbeda. Ingin menentukan class dari objet? Berikut ini caranya : Asumsikan kita memiliki object berikut : SomeClassName key = new SomeClassName(); Akan dibahas mengenai dua cara dalam mengetahui tipe tujuan object dengan menggunakan reference key. Method getclass() Method getclass() menentukan Class object (dimana Class adalah class) yang memiliki sebuah method getname(). Dalam hal ini, getname() menghasilkan sebuah string yang merepresentasikan nama dari class Sebagai contoh, String name = key.getclass().getname(); Operator instanceof instanceof memiliki dua operands: sebuah reference pada object pada sisi kiri, dan nama class pada sisi kanan. Expression tersebut menghasilkan nilai true atau false berdasar pada apakah object merupakan instance class yang dimaksud atau subclass lain. Sebagai contoh, boolean ex1 = "Texas" instanceof String; // true Object pt = new Point(10, 10); boolean ex2 = pt instanceof String; // false 9

Kesimpulan Classes dan Objects Instance variables Class Variables Instansiasi Class Methods Instance methods Pemberian Variable pada Method(Pass-by-value,Pass-byreference) Static methods Jangkauan variable Casting (object, tipe primitif) Konversi tipe primitif ke Objects dan sebaliknya Membandingkan object Menentukan class dari sebuah Object 10