java 5 oop_update
DESCRIPTION
Java5TRANSCRIPT
Jurusan Teknik Elektro
JAVA 5Program Studi D3 Teknik Telekomunikasi
Agenda
A. Haidar, ST., MT.
Kelas1
Objek2
Konstruktor3
Overloading4
2
Definisi Kelas
Beberapa penjelasan mengenai Class, dinyatakan sebagai sekumpulan objek yang memiliki kesamaan keadaan dan perilaku.
Namun dari kesamaan tersebut memungkinkan setiap objek memiliki spesifikasi yang membedakan satu dan lainnya.
A. Haidar, ST., MT.3
Definisi Kelas (cont.)
A. Haidar, ST., MT.4
Class SepedaClass Sepeda
SubClass1(Mountain Bike)
SubClass1(Mountain Bike)
SubClass2(Race Bike)SubClass2(Race Bike)
Definisi Kelas (cont.)
Misalkan di dalam kehidupan sehari-hari, diibaratkan suatu class merupakan gambaran dari SEPEDA, dimana jika terdapat kumpulan SEPEDA maka kesamaan yang dimiliki diantaranya adalah dua roda, saddle (tempat duduk), stang sepeda, rem, velg roda, jari-jari sepeda, rantai sepeda, dsb.
A. Haidar, ST., MT.5
Definisi Kelas (cont.)
Namun dibalik kesamaan tersebut setiap SEPEDA memiliki spesifikasi baik karakter lain atau sifat lain atau keadaan lain yang membedakan antara satu dan lainnya.
APA SAJA KAH ITU….???
A. Haidar, ST., MT.6
Objek Sepeda
A. Haidar, ST., MT.7
SubClass1(Mountain Bike)
SubClass1(Mountain Bike)
ObjekMTB1(Mountain Bike)
ObjekMTB1(Mountain Bike)
ObjekMTB2(Mountain Bike)
ObjekMTB2(Mountain Bike)
Objek Sepeda (cont.)
A. Haidar, ST., MT.8
SubClass1(Mountain Bike)
SubClass1(Mountain Bike)
Objek1(Race Bike)
Objek1(Race Bike)
Objek2(Race Bike)
Objek2(Race Bike)
Pemrograman Objek
Bagaimana merealisasikan objek sepeda secara pemrograman???
A. Haidar, ST., MT.9
Pemrograman Objek (cont.)
Andaikan sepeda yang digunakan adalah sepeda BMX
Perilaku dan kondisi apa saja yang dikerjakan saat menggunakan sepeda???
A. Haidar, ST., MT.10
Pemrograman Objek (cont.)
Mengatur Irama saat mengayuh sepeda
Mempercepat
Memperlambat
???? …..
A. Haidar, ST., MT.11
Pemrograman Objek (cont.)
Perilaku-perilaku tersebut dapat dianggap sebagai metoda-metoda yang harus dibuat DALAM PEMROGRAMAN
HOW TO CREATE IT IN JAVA PROGRAMMING…???
A. Haidar, ST., MT.12
Deklarasi Kelas
Pendefinisian Kelas (minimal), terdiri atas :• Variabel Kelas (Field)• Konstruktor• Metode
Pendefinisian Kelas (Lengkap), terdiri atas :• Modifiers1, modifiers2• Nama Kelas• Nama Super Kelas (optional), jika menggunakan kata kunci
extends• Nama Interface (optional), jika menggunakan kata kunci
implements• Tubuh Kelas (The Class Body), diantara tanda “ { } “
A. Haidar, ST., MT.13
Kelas dan Objek (cont.)
Bentuk pendefinisian Kelas (class) :
Classbody terdiri dari : Attribute (variabel kelas) Konstruktor (Constructor) Metode (method)
A. Haidar, ST., MT.
(modifier1) class NamaKelas (modifier2) { classbody}
14
Kelas dan Objek (cont.)
Hal penting dalam Pemrograman JAVA adalah sebagai berikut : Pendeklarasian Kelas Pembuatan (pendeklarasian) suatu objek Pemanggilan variabel Pemanggilan Metode
Pembuatan Objek pada kelas :
NamaKelas NamaObjek = new NamaKelas();
Atau
NamaKelas NamaObjek = new NamaKelas(...,...);
A. Haidar, ST., MT.
Apabila dalam kelas tersebut terdapat konstruktor15
Kelas dan Objek (cont.)
Pemanggilan atau penggunaan variabel melalui suatu objek :
NamaObjek.NamaVariabel = nilai tertentu;
contoh :
TasMu.Panjang = 20;
TasMu.Bahan = “Kain”;
A. Haidar, ST., MT.16
Method
Method dapat didefinisikan sebagai suatu perilaku dari suatu objek misalkan perilaku untuk mengubah suatu kondisi atau keadaan sebelumnya yang dimiliki oleh objek.
Method juga dapat dikategorikan seperti prosedur pada bahasa pemrograman PASCAL atau dikatakan sebagai fungsi seperti pada pemrograman C/C++.
A. Haidar, ST., MT.17
Method (cont.)
Komponen utama dari suatu method : Modifiers, diantaranya adalah public, private, defaults
dan protected Return type, merupakan tipe data yang menjadi nilai
hasil yang diberikan oleh method kepada pemanggil method, jika method yang dibuat tidak memiliki nilai return maka harus mencantumkan keyword void sebelum “nama method”
Nama Method, Body of Method, isi atau konten dari suatu method
A. Haidar, ST., MT.18
Method (cont.)
Komponen utama suatu method : Parameter method, bisa diisikan sesuai kebutuhan atau
tidak digunakan, dengan membuat seperti parameter kosong, contoh :
public void datamu ( ){
// body of method ….
}
public int dataku (int x, int y) {
// body of method …..
return z; // menghasilkan nilai return bertipe int
}
A. Haidar, ST., MT.19
Pemanggilan Method
Proses pemanggilan method dapat dikategorikan berdasarkan kesamaan status atau sifat dari akses modifier
Jika method pemanggil dan yang dipanggil memiliki akses modifier static atau non-static serta berada dalam class yang sama, maka proses pemanggilan dapat dilakukan dengan menggunakan nama Method yang dipanggil
A. Haidar, ST., MT.20
Pemanggilan Method (cont.)
Jika method pemanggil adalah static method dan method yang dipanggil adalah non-static method, dan kedua method berada dalam class yang sama atau tidak, maka proses pemanggilan harus dilakukan melalui objek, seperti berikut :NamaClass NamaObjek = New NamaClass();
NamaObjek.NamaMethodyangDipanggil( );
atau NamaClass NamaObjek = New NamaClass();
NamaObjek.NamaMethodyangDipanggil(tipeData NamaParameter );
A. Haidar, ST., MT.21
Pemanggilan Method (cont.)
Jika method pemanggil adalah non-static method dan method yang dipanggil adalah static method, dan kedua method berada di dalam class yang sama atau tidak, maka proses pemanggilan harus dilakukan melalui class, seperti berikut :NamaClass.NamaMethodyangDipanggil( );
atau
NamaClass.NamaMethodyangDipanggil(tipeData NamaParameter );
A. Haidar, ST., MT.22
Pemanggilan Method (cont.)
Jika method pemanggil dan method yang dipanggil adalah static method, namun berada di lokasi class yang berbeda maka proses pemanggilan harus dilakukan melalui class, seperti berikut :NamaClass.NamaMethodyangDipanggil( );
atau
NamaClass.NamaMethodyangDipanggil(tipeData NamaParameter );
A. Haidar, ST., MT.23
Konstruktor
Konstruktor adalah suatu metode yang memiliki nama seperti nama Kelasnya
Konstruktor pada JAVA tidak memiliki nilai return dan biasanya digunakan untuk memberikan nilai awal (inisialisasi) pada suatu variabel Kelas
Konstruktor dapat digunakan apabila pada suatu kelas access modifier pada variabel ingin dibuat private, karena tanpa konstruktor maka akses terhadap variabel tersebut hanya bisa pada kelas yang sama (tidak untuk kelas lain di luar kelas tersebut)
A. Haidar, ST., MT.24
Konstruktor
Penggunaan konstruktor :access modifier NamaKelas (int a, int b, int c,...dll){
variabelKelas_1 = a;
variabelKelas_2 = b;
variabelKelas_3 = c;
dst.
} Contoh :
public NamaKelas (int a, int b, int c){
Warna = a;
Panjang = b;
}A. Haidar, ST., MT.25
Konstruktor(cont.)
[<modifier>] <class _name> (<argument>*) {
<statement>} Example ; 1 public class Dog {
2
3 private int weight;
4
5 public Dog() {
6 weight = 42;
7 }
8 }
A. Haidar, ST., MT.26
DEFAULT CONSTRUCTOR
Sll ada paling sedikit satu constructor pada setiap class
Defaul constructor akan ada secara otomatis jika penulis tidak memberikan constructor berupa : Default Constructor tidak memiliki argument Body Constructor tidak kosong
Default memungkinkan anda untuk menciptakan instansiasi-instansiasi objek dengan new Xxx () tanpa harus menulis constructor
A. Haidar, ST., MT.27
Overloading
Merupakan cara membuat beberapa konstruktor dan metode dengan penamaan yang sama
Tujuan penggunaan overloading pada JAVA adalah agar menghasilkan fungsi metode yang berbeda-beda pada nama metode yang sama
A. Haidar, ST., MT.28
Use overloading as follows:public void println(int i)
public void println(float f)
public void println(String s)
Argument lists must differ. Return types can be different.
A. Haidar, ST., MT.29
OVERLOADING CONSTRUCTOR
• As with methods, constructors can be overloaded.
An example is: public Employee(String name, double salary, Date
DoB) public Employee(String name, double salary) public Employee(String name, Date DoB) • Argument lists must differ. • You can use the this reference at the first line of
a constructor to call another constructor.
A. Haidar, ST., MT.30
Contoh
1 public class Employee { 2 private static final double BASE_SALARY = 15000.00; 3 private String name; 4 private double salary; 5 private Date birthDate; 6 7 public Employee(String name, double salary, Date DoB) { 8 this.name = name; 9 this.salary = salary; 10 this.birthDate = DoB; 11 } 12 public Employee(String name, double salary) { 13 this(name, salary, null); 14 } 15 public Employee(String name, Date DoB) { 16 this(name, BASE_SALARY, DoB); 17 } 18 // more Employee code...
A. Haidar, ST., MT.31
Overloading (cont.)
Contoh :
public perkalian (int x, int y){
isi metode... (tubuh metode)
}
public perkalian (int x, int y, int z){
isi metode... (tubuh metode)
}
A. Haidar, ST., MT.32
Overloading (cont.)
Contoh :
public perkalian (int x, int y){
isi konstruktor... (tubuh konstruktor)
}
public perkalian (int x, int y, int z){
isi konstruktor... (tubuh konstruktor)
A. Haidar, ST., MT.33
Contoh Permasalahan
Contoh Kelas Overloading
A. Haidar, ST., MT.34
Jurusan Teknik Elektro
Program Studi Teknik Telekomunikasi