Top Banner
Bekerja dengan Java class library
55

Bekerja dengan Java class library

Jan 03, 2016

Download

Documents

umberto-potter

Bekerja dengan Java class library. tujuan. Pada akhir pembahasan, peserta diharapkan dapat : Menjelaskan OOP dan beberapa konsepnya Membedakan antara Class dan Object Membedakan antara instance variable / method dengan Class(static) variable / method - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Bekerja dengan Java class library

Bekerja dengan Java class library

Page 2: Bekerja dengan Java class library

tujuan

Pada akhir pembahasan, peserta diharapkan dapat :

• Menjelaskan OOP dan beberapa konsepnya• Membedakan antara Class dan Object• Membedakan antara instance variable/method dengan

Class(static) variable/method • Menjelaskan tentang method serta cara untuk memanggil dan

memberikan parameter pada method• Mengidentifikasi jangkauan variabel• Casting tipe data primitif dan object• Membandingkan object dan menentukan class dari sebuah object

Page 3: Bekerja dengan Java class library

Pengenalan OOP

Object-Oriented programming (OOP)

– Menitikberatkan pada konsep object sebagai elemen dasar dari program.

– Object tersebut dikarakterisasi oleh property dan behavior.

Page 4: Bekerja dengan Java class library

Pengenalan OOP

Contoh Object :

Object dapat diasumsikan sebagai sebuah perangkat lunak, yang menggunakan property sebagai data, dan behavior sebagai method

Page 5: Bekerja dengan Java class library

Enkapsulasi

Enkapsulasi

– Method untuk menyembunyikan beberapa method tertentu dari implementasi Class tertentu.

– Dengan menempatkan batasan di sekitar property dan method object kita, perubahan variabel program melalui cara yang tidak diinginkan dapat dihindari.

Page 6: Bekerja dengan Java class library

Class dan Object

Class – Diasumsikan sebagai template, sebuah prototype dari object– Merupakan struktur dasar dari OOP

Dua tipe class member– Field (property atau attribute)

• Menentukan tipe data yang digunakan oleh class

– Method • Menentukan jalan operasional

Page 7: Bekerja dengan Java class library

Class dan Object

Object

– Terdiri dari: • kumpulan data (property), berupa variabel yang

menentukan karakteristik sebuah object • beberapa method (behavior) yang menjelaskan

bagaimana bentuk object.

– Object adalah sebuah instance dari Class.

Page 8: Bekerja dengan Java class library

Class dan Object

Berikut ini merupakan contoh Class dan Object :

Page 9: Bekerja dengan Java class library

Class dan Object

• Class memiliki kelebihan dengan salah satu karakteristiknya yaitu, reusable.

• Programmer dapat menggunakan sebuah class berulang kali untuk membuat banyak object.

Page 10: Bekerja dengan Java class library

Class Variable

Class terdiri dari :

– Instance variable

– Instance method

– Class Variable (static member variable)• variabel yang dimiliki oleh keseluruhan class• Variabel tersebut memiliki nilai (value) yang sama untuk semua

object dalam class yang sama.

Page 11: Bekerja dengan Java class library

Class Variable

Sebagai Contoh,

Page 12: Bekerja dengan Java class library

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";

Page 13: Bekerja dengan Java class library

Instantiate Class

Operator new – Mengalokasikan memory untuk object dan membuat

sebuah reference dari alokasi memory tersebut – Pada saat pembuatan object, class constructor

dipanggil.

Constructor merupakan sebuah method dimana penginisialisasian ditempatkan, nama constructor sama dengan nama class.

Page 14: Bekerja dengan Java class library

Method

Method merupakan bagian code yang dapat dipanggil oleh program utama atau method lain untuk melakukan suatu fungsi tertentu.

Beberapa ciri method: – Dapat me-return value atau tidak sama sekali.– Setelah method telah selesai dieksekusi, proses

kembali kepada method yang memanggilnya.

Page 15: Bekerja dengan Java class library

Alasan Menggunakan Method

• Inti dari pemecahan 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, pilah menjadi beberapa bagian kecil, kemudian atur penulisannya menjadi program berskala besar.

Page 16: Bekerja dengan Java class library

Memanggil Instance Variable

• Berikut ini merupakan contoh pemanggilan method menggunakan class String.

• Gunakan Java API documentation untuk mengetahui seluruh method yang terdapat pada class String.

• Pemanggilan instance method, dapat didklarasikan pada dengan menggunakan sintaks berikut ini :

nameOfObject.nameOfMethod( parameters );

Page 17: Bekerja dengan Java class library

Memanggil Instance Variable

Perhatikan dua contoh method class String berikut :

Page 18: Bekerja dengan Java class library

Memanggil Instance Variable

Menggunakan methods,

String str1 = "Hello";

char x = str1.charAt(0); //return character H //disimpan dalam variable x

String str2 = "hello";

//return boolean value trueboolean result = str1.equalsIgnoreCase( str2 );

Page 19: Bekerja dengan Java class library

Parameter Passing

Pass-by-Value

– Pada saat sebuah pass-by-value muncul, method tersebut membuat copy dari value variabel yang di-passing ke method.

– Method tersebut tidak dapat langsung mengubah argumen awal, meskipun dapat mengubah parameter pada saat proses perhitungan.

– Seluruh tipe data primitif pada saat ditujukan ke method merupakan pass-by-value.

Page 20: Bekerja dengan Java class library

Pass-by-Value

Page 21: Bekerja dengan Java class library

Parameter Passing

Pass-by-Reference

– Pada saat pass-by-reference muncul, reference untuk sebuah object di-passing untuk memanggil sebuah method.

– Method tersebut membuat sebuah copy reference dari variabel yang ditujukan ke 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.

Page 22: Bekerja dengan Java class library

Pass-by-Reference

Page 23: Bekerja dengan Java class library

Pass-by-Reference

Page 24: Bekerja dengan Java class library

Memanggil Static Method

Static method– Method yang dapat dipanggil tanpa penginstansiasian class

(tanpa menggunakan keyword new).– Static method tidak hanya dimiliki oleh instance atau object

tertentu dari class, tetapi oleh class secara keseluruhan. – Keyword static digunakan oleh static method di dalam sebuah

class, untuk membedakannya dengan instance method.

Pemanggilan static method, dapat diklarasikan dengan sintaks berikut ini,

Classname.staticMethodName(params);

Page 25: Bekerja dengan Java class library

Memanggil Static Method

Contoh dari static method :

//mencetak data pada layarSystem.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 );

Page 26: Bekerja dengan Java class library

Jangkauan Variabel

Jangkauan

– Menentukan pada bagian mana dalam program, suatu variabel tersebut dapat diakses.

– Menentukan lifetime variabel, atau lamanya variabel bertahan dalam memory

– Jangkauan ditentukan oleh penempatan deklarasi variabel dalam program.

• Jangkauan adalah segala sesuatu dalam tanda {...}, atau yang disebut juga dengan inner block

• Sedangkan segala sesuatu yang berada diluar tanda tersebut disebut dengan outer block

Page 27: Bekerja dengan Java class library

Jangkauan Variabel

Jangkauan suatu variabel adalah :Didalam blok yang mendeklarasikannya, dimulai pada baris dimana variabel tersebut dideklarasikan, dan didalam inner block.

Page 28: Bekerja dengan Java class library

Contoh 1

Page 29: Bekerja dengan Java class library

Contoh 1

• Code pada slide sebelumnya, merepresentasikan 5 jangkauan yang dindikasikan oleh baris dan huruf yang merepresentasikan jangkauan tersebut.

• Terdapat 5 variabel 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.

Page 30: Bekerja dengan Java class library

Contoh 2

Page 31: Bekerja dengan Java class library

Contoh 2

Pada method main(), jangkauan dari variabel adalah, – ages[] - jangkauan A – i in B - jangkauan B– i in C - jangkauan C

Pada method test(), jangkauan variabel adalah, – arr[] - jangkauan D – i in E - jangkauan E

Page 32: Bekerja dengan Java class library

Jangkauan Variabel

• Pada saat pendeklarasian variabel, hanya satu variabel dengan identifier atau nama, yang dapat dideklarasikan dalam sebuah jangkauan.

• Hal itu berarti jika contoh deklarasi di bawah ini dijalankan :

{ int test = 10; int test = 20;

}

Compiler akan menghasilkan error, kecuali variabel menggunakan nama yang berbeda dalam satu blok.

Page 33: Bekerja dengan Java class library

Jangkauan Variabel

Dua variabel dapat menggunakan nama yang sama, jika tidak dideklarasikan dalam satu blok.

int test = 0; System.out.print( test ); //..kode selanjutnya{

int test = 20; System.out.print( test );

}

Page 34: Bekerja dengan Java class library

Panduan Penulisan Program

Hindari penamaan variabel dengan nama sama, yang dideklarasikan dalam satu method.

Page 35: Bekerja dengan Java class library

Casting

CastingMengkonversi tipe data dari satu tipe ke tipe yang lain

Pokok pembahasan :– Casting data dengan tipe primitif– Casting object

Page 36: Bekerja dengan Java class library

Casting Tipe Primitif

• Pengkonversian nilai dari satu tipe ke tipe yang lainnya, dapat dilakukan pada casting tipe primitif.

• Umumnya digunakan antar tipe data numerik.

• Terdapat satu tipe data yang tidak dapat dikonversi, yaitu boolean.

• Tipe Casting:– Casting Implisit– Casting Explisit

Page 37: Bekerja dengan Java class library

Casting Implisit

berikut ini merupkan contoh deklarasi, penyimpanan sebuah data integer dalam sebuah variabel dengan tipe data double.

int numInt = 10;double numDouble = numInt; //casting

implisit

Pada code di atas, variabel tujuan memiliki jangkauan lebih besar dibandingkan dengan data yang akan ditempatkan, data tersebut secara implisit tercasting menjadi tipe data double.

Page 38: Bekerja dengan Java class library

Casting Implisit

Contoh lain :

int numInt1 = 1;int numInt2 = 2;

//hasilnya secara implisit tercasting menjadi double

double numDouble = numInt1/numInt2;

Page 39: Bekerja dengan Java class library

Casting Explisitcasting explisit digunakan pada saat kita mengkonversi sebuah data dengan tipe yang lebih besar menuju tipe lebih kecil.

sintaks casting explisit :

(dataType)value

dataType - bentuk tipe data konversi value - ekspresi yang me-return value dari tipe

sumber

Page 40: Bekerja dengan Java class library

Contoh Casting Explisit

Berikut ini merupakan contoh proses casting 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

Page 41: Bekerja dengan Java class library

Contoh Casting Explisit

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

Page 42: Bekerja dengan Java class library

Casting Object

Instance dari class juga dapat di-casting menjadi instance dari class lain, dengan satu batasan :: – Class asal dan tujuan harus direlasikan dalam inheritance, salah

satu class harus berupa subclass dari class lain.

• Casting object digunakan untuk mengkonversi nilai primitif menuju tipe yang lebih besar, beberapa object tidak perlu mengalami casting secara explisit.

Page 43: Bekerja dengan Java class library

Casting Object

Gunakan sintaks berikut untuk casting object,

(classname)object

classname - nama class tujuan object - reference untuk object asal

Page 44: Bekerja dengan Java class library

Contoh Casting Object

Berikut ini merupakan contoh proses casting sebuah instance dari class VicePresident ke instance dari class Employee.

VicePresident merupakan subclass dari class Employee dengan beberapa informasi tambahan.

Employee emp = new Employee(); VicePresident veep = new VicePresident(); emp = veep;

// casting explisit veep = (VicePresident)emp;

Page 45: Bekerja dengan Java class library

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

Page 46: Bekerja dengan Java class library

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

• Integer untuk variabel int

– Penggunaan class yang mendukung tiap tipe primitif dilakukan dengan membuat object yang memiliki value yang sama

Page 47: Bekerja dengan Java class library

Konversi Tipe Primitiv menjadi Object dan sebaliknya

Contoh :

– Statement berikut digunakan untuk membuat sebuah instance dari class Integer dengan value 7801(primitive -> Object)

Integer dataCount = new Integer(7801);

– Pengkonversian sebuah object Integer menjadi data primitif bertipe int. Hasilnya adalah int dengan value 7801

int newCount = dataCount.intValue();

– Program pada umumnya, memerlukan pengkonversian sebuah String menjadi tipe numerik, seperti int (Object -> primitive)

String pennsylvania = "65000";

int penn = Integer.parseInt(pennsylvania);

Page 48: Bekerja dengan Java class library

Membandingkan Object

• Hampir seluruh operator digunakan pada tipe primitif, bukan object.

• Kecuali pada operator equal (==) dan not equal (!=). Kedua operator tersebut berfungsi untuk :– memeriksa apakah object memiliki value yang sama dengan

object yang dibandingkan– menentukan apakah kedua operator menunjuk object yang

sama.

Page 49: Bekerja dengan Java class library

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 }

Page 50: Bekerja dengan Java class library

Membandingkan Objects

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

Page 51: Bekerja dengan Java class library

Membandingkan Objects

Catatan untuk String:

String str1 = “Hello”;String str2 = “Hello”;

– Dua referensi str1 dan str2 akan menunjuk object yang sama

– String literal teroptimasi di Java; jika suatu String menggunakan literal dan kemudian literal lain juga digunakan 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.

Page 52: Bekerja dengan Java class library

Menentukan class dari sebuah object

Bagaimana cara menentukan class dari object?

Asumsikan terdapat object berikut :

SomeClassName key = new SomeClassName();

Berikut ini akan dibahas mengenai dua cara untuk mengetahui tipe tujuan object dengan menggunakan reference key.

Page 53: Bekerja dengan Java class library

Method getClass()

• Method getClass() digunakan untuk 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();

Page 54: Bekerja dengan Java class library

Operator instanceOf

• instanceOf memiliki dua operand: – sebuah reference object pada sisi kiri– nama class pada sisi kanan.

• Exkspresi 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

Page 55: Bekerja dengan Java class library

Kesimpulan

• Class dan Object– Instance variable– Class variable

• Instansiasi Class• Method

– Instance method– Pemberian variabel pada Method(Pass-by-value,Pass-by-reference)– Static method

• Jangkauan variabel• Casting (object, tipe primitif)• Konversi tipe primitif ke Object dan sebaliknya• Membandingkan object• Menentukan class dari sebuah Object