ccit oop pertemuan 1

24
Object Oriented Programming Class, Object, Atribute, Method, Constructor

Upload: wir-group

Post on 13-Jan-2017

137 views

Category:

Education


1 download

TRANSCRIPT

Page 1: CCIT OOP Pertemuan 1

Object Oriented Programming

Class, Object, Atribute, Method, Constructor

Page 2: CCIT OOP Pertemuan 1

Gia MuhammadCCIT-FTUI 2009, NIIT Software Engineering, J2EEUIN Syarif Hidayatullah Jakarta, Software Engineering

SpesialisasiDigital Image Processing & Artificial IntelligenceComputer Vision, Computer Graphic, Augmented Reality

[email protected] : giamuhammad

Page 3: CCIT OOP Pertemuan 1

Java & OOPJava Merupakan High Level LanguageJava merupakan bahasa object oriented

programming yang terbaik dari yang sudah ada (C++, Ada, Simula)

Selain OOP, Java memiliki karakteristik lain diantaranya, Simple, Terdistribusi, Multi Threaded, Secure, Multi Platform, Garbage Collector, dll

Multi Platform. 1 Kali menulis kode, 1 kali kompilasi, eksekusi dibanyak platform (Write Once, Running Everywhere)

Page 4: CCIT OOP Pertemuan 1

Arsitektur JavaJVM (Java Virtual Machine)JIT (Just in Time) Compiler

Page 5: CCIT OOP Pertemuan 1

Dasar AlgoritmaSequential

if – else if - elseLooping

ForDo - whileWhile

SelectiveSwitch - case

Page 6: CCIT OOP Pertemuan 1

Tipe Data Tipe data primitif

int char float double Boolean long short byte

Tipe data pada Java Object (Tipe data parrent dari semua tipe data) String Integer Double Float Byte

Pada dasarnya tipe data di java adalah sebuah class

Page 7: CCIT OOP Pertemuan 1

Access Specifier/Modifierprivate

Hanya dapat diakses oleh class-nya sendirifriendly

Hanya dapat diakses oleh class yang ada pada 1 package

protectedHanya dapat diakses oleh subclass-nya

publicDapat diakses oleh class apa saja

(Information Hidding)

Page 8: CCIT OOP Pertemuan 1

OOP – KeuntunganReal World Programming

Kode bisa mengikuti perilaku yang ada pada dunia nyataReusability of Code

Kode yang dibuat dapat dipakai berkali-kali dengan tujuan yang berbeda-beda

Modularity of CodeKode pada modul dapat di-maintain dengan mudah tanpa

mengganggu modul yang lainResillence to change

Perluasan sistem tidak memerlukan perombakan kode lagiInformation Hidding

Kode dapat disembunyikan dari akses kode-kode yang lain

Page 9: CCIT OOP Pertemuan 1

OOP – Class dan ObjectClass Terdiri dari

Atribut/Data Member/Variable Global Behaviour/Metode/Fungsi

Object Merupakan ‘instance’ dari sebuah Class Class yang telah dibuat dapat berkali-kali dipakai dengan cara

membuat objectnyaContoh

Class Manusia memiliki atribut warna kulit, nama dan identitas lainnya Memiliki perilaku(fungsi) seperti makan, berjalan, belajar, tumbuh dan

lainnya. (Real-World Programming) Object dari Class Manusia

Object pertama adalah “Budi” dari class Manusia, Object yang kedua adalah “Andi” dari class Manusia. Masing-masing objek dapat membedakan. (Reusability of Code)

Page 10: CCIT OOP Pertemuan 1

OOP – Class dan Object<modifer> class <nama class> {<atribut><fungsi>

}--------------------------------public class Manusia {String nama;Color warna_kulit;void Berjalan() {// statement/algoritma agar // manusia dapat berjalan}

}

Buatlah Class Hewan apa saja yang memiliki atribut dan perilaku(fungsi)(statement/algoritma pada fungsi kosongkan saja)

Page 11: CCIT OOP Pertemuan 1

Menjalankan ProgramMain, merupakan fungsi baku sebagai fungsi

start-up/launcher

Gunakan kode tersebut pada class yang akan dijalankan pertama kali

Compiling Codejavac <nama_class>.java | cth : javac Manusia.java

Menjalankan Programjava Manusia

public static void main(String[] args) {

}

Page 12: CCIT OOP Pertemuan 1

Membuat ObjectSebelum membuat object, program tidak

akan mengetahui bahwa class yang dibuat untuk apa.

Cara membuat objectnama_class nama_objek = new nama_class();

ataunama_class nama_objek = new

nama_constructor();Nama object bisa juga disebut nama variable

Page 13: CCIT OOP Pertemuan 1

Mengakses Atribut dan Fungsi dengan Objectnama_class nama_objek = new nama_class();nama_object.nama_atribut;nama_object.nama_method();----------Manusia m1 = new Manusia();m1.nama;

Buatlah Object dan Tampilkan/cetak salah satu atribut dari class

Page 14: CCIT OOP Pertemuan 1

Membuat Method/Fungsi

<modifier> <tipe_data> <nama_method> (<parameter>) {// algoritma/statement

}-----------------------public void Berjalan() {

}

Method atau Fungsi digunakan agar Class memiliki Perilaku dan memiliki tindakan tertentu

Page 15: CCIT OOP Pertemuan 1

Method/Fungsi dengan parameter

public void Hitung(int harga, int jumlah) {total = harga * jumlah;

}

Page 16: CCIT OOP Pertemuan 1

Method/Fungsi Return

public int Hitung(int harga, int jumlah) {return (harga * jumlah);

}

-----------------int hasil = this.Hitung(5000, 5);

Page 17: CCIT OOP Pertemuan 1

Method/Fungsi Rekursif

public void Hitung(int harga, int jumlah) {this.Hitung(harga, jumlah);

}

Fungsi Rekursif merupakan fungsi yang memanggil fungsi dirinya sendiri

Page 18: CCIT OOP Pertemuan 1

Method/Fungsi Overloading

public int Hitung(int harga) {return harga * 5;

}

public int Hitung(int harga, int jumlah) {return harga * jumlah;

}

Fungsi Overloading merupakan deklarasi fungsi dengan modifier, tipe data dan nama fungsi yang sama dengan parameter yang berbeda-beda

Page 19: CCIT OOP Pertemuan 1

Konstruktor

public class Manusia {public Manusia() {

}}

•Konstruktor merupakan fungsi yang akan dijalankan secara otomatis ketika object dari suatu class dibuat.•Konstruktor bisa dilakukan dengan cara Overloading.•Konstruktor tidak memakai tipe data

Page 20: CCIT OOP Pertemuan 1

Penggunaan keyword ‘this’

public class Manusia {String nama;public Manusia() {this.Bergerak();this.nama = “Andi”;}

public Bergerak() {

}}

•Keyword this dipakai untuk memanggil atribut dan fungsi pada class dirinya sendiri tanpa harus membuat object dari class dirinya sendiri

Page 21: CCIT OOP Pertemuan 1

Penggunaan ‘static’public class Manusia {

String nama;public Manusia() {this.Bergerak();this.nama = “Andi”;}

public Bekerja() {Pisau.target = “Kayu”;Pisau.Potong();}

}

Public class Pisau {static String target;static void Potong() {System.out.println(“Memotong + “ target);}

}

•Static digunakan jika suatu class hanya akan dipakai 1 instance/object

Page 22: CCIT OOP Pertemuan 1

Latihan Program Kalkulatorimport java.io.*;public class Pegawai {

String nama;public Pegawai(String nama_anda) {this.nama = nama_anda;}

public void Bekerja(int angka1, int angka2) {int hasil = 0;

Kalkulator kal = new Kalkulator();hasil = kal.Tambah(angka1, angka2);System.out.println(this.nama + " menghitung hasil tambah " + angka1 + " dan " + angka2 + ": " + hasil);hasil = kal.Kurang(angka1, angka2);System.out.println(this.nama + " menghitung hasil kurang " + angka1 + " dan " + angka2 + ": " + hasil);}

public static void main(String[] args) {int angka1, angka2;BufferedReader br = new BufferedReader(new InputStreamReader(System.in));try {System.out.print("Masukkan Nama Pegawai : ");Pegawai pgw = new Pegawai(br.readLine());System.out.print("Masukkan Angka Pertama : ");angka1 = Integer.parseInt(br.readLine());System.out.print("Masukkan Angka Kedua : ");angka2 = Integer.parseInt(br.readLine());pgw.Bekerja(angka1, angka2);} catch(Exception e) {}}

}

Page 23: CCIT OOP Pertemuan 1

Latihan Program KalkulatorPublic class Kalkulator {

public int Tambah(int a, int b) {return a+b;

}public int Kurang(int a, int b) {

return a-b;}

}

Page 24: CCIT OOP Pertemuan 1

Tugas 11. Buatlah Fungsi pembagian, perkalian dan pangkat pada class

Kalkulator2. Buatlah Konstruktor tanpa Parameter pada Class Pegawai

untuk meng-set value dari variabel nama menjadi “Nama_Pegawai”. Gunakan teknik Overloading pada Konstruktor. Pada saat membuat objek, panggil konstruktor tersebut.

Kumpulkan tugas beserta gambar dari output programnya dan file program yang sudah di-compile

Kirim Tugas ke email [email protected] lambat Rabu (18 April 2012) Pkl. 23.59Gunakan Subject dengan format Nama | Kelas | Nama TugasCth : Budi | 2OOP1 | Tugas 1