REVIEW STRUKTUR DASAR JAVA & OOP
TUJUAN INSTRUKSIONAL
• Mahasiswa mampu :
Mengigatkan kembali pemahaman tentang class dan obyek
Membedakan antara class dan obyek
TOPIK
MENGENAL OBJEK & CLASS
Fitur OOP
Deklarasi class
Deklarasi Atribut
Deklarasi metode
Pengaksesan anggota obyek
Life Cycle dari Objek
Tipe Reference
Pass by value
MENGENAL OBJEK & CLASS
Paradigma Class dan Objek
Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti : kucing, meja, rumah, orang , dll.
Persoalannya, bagaimana memindahkan pemikiran objek di dunia nyata menjadi objek di dunia software atau pemrograman, khususnya Java?
Class dapat diumpamakan seperti spesifikasi atau blueprint.
Ambil contoh objek nyata yang akan dipindahkan adalah objek orang.
Jadi dapat diumpamakan bahwa Tuhan memiliki class Orang yang kemudian membuat banyak objek dari class Orang tsb, dan contoh objek tersebut adalah Anda sendiri.
Dari definisi class Orang di atas, kita bisa membuat objek-objek berdasar class tersebut.
Objek-objek yang dibuat perlu disimpan dalam variabel yang akan menyimpan referensi/address dari objek yang dibuat.
Proses pembuatan objek sering disebut sebagai instansiasi class, sedangkan objeknya disebut sebagai instance dari class
Data Member
Setiap objek „orang pasti memiliki : nama, tinggi badan, berat badan, warna rambut,
warna kulit, jenis kelamin, menggunakan kacamata, dll
Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang sering
disebut sebagai : data member (data field/attribut).
Contoh pemisalan objek orang nyata menjadi kode program dalam class Orang :
class Orang {
String nama; //nama orang
int tinggiBadan; //dalam cm
int beratBadan; //dlm kg
String warnaRambut; //hitam, pirang, coklat
String warnaKulit; //sawoMatang, hitam, putih
String jenisKelamin; //pria atau wanita
boolean berkacamata; //bila berkacamata berarti true
}
Method
Selain memiliki atribut(STATE) yang diimplementasikan sebagai data member di atas, manusia juga dapat melakukan suatu aksi atau pekerjaan tertentu (BEHAVIOR)
Contoh aksi/behavior yang umum adalah menangis dan tertawa
Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi method sbb :
void menangsi() {
System.out.println(“hik..hikk..hik…”);
}
void tertawa() {
System.out.println(“ha..ha..ha..ha..”);
}
Method merupakan perwujudan aksi atau tindakan dari dunia nyata di dalam pemrograman komputer.
Method dalam dunia pemrograman juga “pasti melakukan sesuatu aksi”, misalnya menampilkan String di konsol
Memindahkan orang dari dunia nyata menjadi class Orang
Ilustrasi perbedaan antara class dan objek
Dari gambar di atas dapat dipahami bahwa suatu class dapat memiliki banyak objek, dan setiap objek akan mewarisi data member dan method yang sama dari class Untuk membuat objek Orang dari class Orang, gunakan keyword new sbb :
Orang orang1 = new Orang(“Izzuddin A Afif”);
Orang orang2 = new Orang(“Muhammad Fairuz”);
setiap objek dapat memiliki state atau nilai data member yang berbeda (hanya nama dan
tipe variabel yang sama)
Ilustrasi pembuatan objek dari class
FITUR OOP
Encapsulation
Inheritance
Polymorphism FITUR OOP
Enkapsulasi=>suatu cara untuk menyembunyikan implementasi detail dari suatu class dalam rangka menghindari akses yang ilegal. Contoh : konsep class & modifier.
Inheritansi => dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan.
Dengan konsep inheritance, sebuah class dapat
mempunyai class turunan. Contoh : extends
Polymorphism=> kemampuan untuk merepresentasikan 2 bentuk yang berbeda. Contoh : overriding
DEKLARASI CLASS
<modifier> class
<classname> {
[deklarasi_atribut]
[deklarasi_konstruktor]
[deklarasi_metode]
}
CONTOH
public class Mahasiswa
{
}
Ket : modifier, nama class
DEKLARASI ATRIBUT / MEMBUAT VARIABEL
<modifier><tipe><nama_atribut>;
CONTOH
public class Mahasiswa {
public int nrp;
public String nama;
}
Ket : atribut
DEKLARASI METODE
<modifier><return_type><nama_metode>
([daftar_argumen])
{
[<statement>]
}
CONTOH
public class Mahasiswa {
public int nim;
public String nama;
public void info() {
System.out.println(nim + " " + nama + " " + "adalah Mahasiswa UMJ“);
}
}
Ket : Metode
PENGAKSESAN ANGGOTA OBYEK
Output
1 Ahmad adalah Mahasiswa UMJ
LIFE CYCLE DARI OBJEK
Creation (Membuat objek)
Use (Menggunakan objek)
Destruction (Menghapus objek)
CONTOH
public class MyDate {
private int day=1;
private int month=1;
private int year=2000;
//konstruktor
public MyDate(int day, int month, int
year) {…}
}
public class TestMyDate {
public static void main(String args[]) {
MyDate today = new MyDate(10,11,2006);
}
}
DECLARING OBJEK (MEMBUAT OBJEK)
MyDate today = new MyDate(10, 11, 2006);
Pernyataan diatas terdiri dari 3 langkah :
Deklarasi objek MyDate today ;
Alokasi Memori menggunakan kata kunci new MyDate(10, 11, 2006);
Inisialisasi Objek tergantung dari konstruktornya
MEMBUAT OBJEK
MyDate today = new MyDate(10, 11, 2006);
Today????
MyDate today = new MyDate(10, 11, 2006);
MEN-ASSIGN REFERENCE VARIABLE
MENGGUNAKAN OBJEK
Ada 2 cara :
Memanipulasi variabelnya
Menggunakan metode dari objek tersebut
MENGHAPUS OBJEK
The Garbage Collector
The Java platform has a garbage collector that periodically frees the memory used by objects that are no longer needed
PASS BY VALUE
Java tidak membolehkan adanya pass by reference, jadi hanya mengijinkan pass by value.
Ketika argumen yang di-passing adalah bertipe reference type, maka anggotaanggota (data member) dari argumen tersebut diperlakukan sebagai pass by reference, sedangkan argumennya tetap (dianggap) sebagai pass by value
TIPE ARGUMENT
Nilai yang dikirim melalui argument dapat berupa variabel reference maupun variabel biasa.
Jika yang dikirim ke method adalah value atau variabel biasa =>Pass by value
Jika yang dikirim ke method adalah alamat memori atau variabel reference => Pass by reference
PASS BY VALUE
Mengirimkan value/nilai ke parameter method
Contoh :
String nama = “Shanti”;
Mahasiswa.getNama(nama);
Ket : Variabel biasa
PASS BY REFERENCE
Mengirimkan alamat memori/referensi ke parameter method
Contoh :
Student maba = new Student();
Mahasiswa.getNama(maba);
Ket : Variabel reference
CONTOH
public class MyDate {
private int day=1;
private int month=1;
private int year=2000;
public MyDate(int day, int month, int
year) {
…
}
public void setDay(int day) {
// change the day
}
public void print() {
// print the day, month and year
}
}
public class TestMyDate {
public static void changeInt(int value) {
value = 10;
}
public static void changeObjectRef(MyDate
ref) {
ref = new myDate(3, 5, 2003);
}
public static void changeObjectAttr(Mydate
ref) {
ref.setDay(5);
}
public static void main(String args[]) {
int x=5;
changeInt(x);
System.out.println(x);
MyDate today=new
MyDate(10,10,2005);
changeObjectRef(today);
today.print();
changeObjectAttr(today);
today.print();
}
}
HASIL EKSEKUSI
> java TestMyDate
5
10-10-2005
5-10-2005
CLASS FUNDAMENTALS: MAIN METHOD
The main() Method
public static void main(String[] args)
public : method main() dapat diakses oleh apa saja, termasuk java technology interpreter.
static : keyword ini berfungsi untuk memberi tahu kompiler bahwa method main bisa langsung digunakan dalam context class yang bersangkutan. Untuk mengeksekusi/menjalankan method yang bertipe static, tidak diperlukan instance nya.
void : menunjukkan bahwa method main() tidak mengembalikan nilai
main : merupakan nama method utama dari program java
String [] args : Menyatakan bahwa method main() menerima single parameter yaitu args yang bertipe array. Digunakan pada saat memasukkan parameter pada saat menjalankan program.
Contoh: java TestGreeting args[0] args[1] …
CONTOH PROGRAM
Implementasikan UML class diagram dalam program untuk class Tabungan
Tabungan
- saldo : int
+ Tabungan(initsaldo : int)
+ getSaldo() : int
+ simpanUang(jumlah : int)
+ ambilUang(jumlah : int) : boolean
Output
Jumlah uang yang disimpan : 8000
Jumlah uang yang diambil : 6000 true
Jumlah uang yang disimpan : 5500
Jumlah uang yang diambil : 4000 true
Jumlah uang yang diambil : 1600 false
Jumlah uang yang disimpan : 3500
Saldo : 3500
CLASS CUSTOMER
Output
Yuliana, Setiowati Age:29
Stanley, Clark Age:8
Jane, Graff Age:16
Nancy, Goodyear Age:69 Output
CLASS CUSTOMERS
Yuliana Setiowati Age:29
Stanley Clark Age:8
Jane Graff Age:16
Nancy Goodyear Age:69
12000
CLASS TESTCUSTOMER2
DATA MEMBER
Disebut juga variabel atau atribut
Variabel dibagi menjadi dua :
o Variabel instance : variabel yang dimiliki oleh setiap objek. Masing-masing objek mempunyai nilai variabel instance yang berbeda
Variabel class : variabel yang dimiliki oleh class. Semua objek dari class tersebut akan mempunyai nilai yang sama. Ciri dari variabel class dengan menambahkan kata kunci static
contoh private static double bunga
CONTOH PROGRAM
Class Tabungan2 terdiri dari dua variabel:
o Variabel instance : saldo
o Variabel class : bunga (kata kunci static)
Method public String toString() =>mengubah objek menjadi String
METHOD OVERLOAD
Sebuah class dapat memiliki beberapa method dengan nama yang sama.
Pembeda antara method-method tersebut adalah parameter.
CONTOH
public void print (String temp){
System.out.println(“Name:”+name);
System.out.println(“Address:”+address);
System.out.println(“Age”+age);
}
public void print(double eGrade, double mGrade, double
sGrade){
System.out.println(“Name”+name);
System.out.println(“Math Grade”+mGrade);
System.out.println(“English Grade”+eGrade);
System.out.println(“Science Grade”+sGrade);
}
RINGKASAN
Tipe data dalam Java: primitive dan reference
Dalam meng-evaluasi sebuah expression, perhatikan precedence dan associativity dari operator, dan tipe operand
Flow Control: branch, loop
Class & Object
o Object adalah instance dari class
o Behaviour sebuah object dinyatakan dalam method
o State sebuah object is dinyatakan dalam field
DAFTAR PUSTAKA
L.N. Harnaningrum, Struktur Data menggunakan Java, Graha ilmu, 2010
Siswanto, Algoritma & Struktur Data Linier, Graha Ilmu, 2010
Ruli Manurung, Ade Azurat, Struktur Data dan Algoritma, Fasilkom UI, 2008
Nana Ramadiyanti, “Pengenalan Pemrograman berbasis Obyek”, 2009, Laboratorium Komputer Vision, Pens-ITS
Monday, April 21, 2014
REVIEW STRUKTUR DASAR JAVA & OOP
Subscribe to:
Post Comments (Atom)
No comments:
Write komentarTerimakasih Atas Kunjungan Anda..
Kritik dan Saran Anda membantu blog ini lebih baik..