Method, Class, dan Object

Object-Oriented Programming

Object-Oriented Programming (OOP) merupakan paradigma pemrograman yang menjadikan suatu objek sebagai fokus dalam mengembangkan aplikasi. OOP bertujuan untuk mempermudah programmer dalam memahami permasalahan dalam pengembangan sistem karena OOP mendekatkan programmer memahami permasalahan pengembangan sistem sebagaimana menghadapi permasalahan sehari-hari.

Objek bisa diselaraskan dengan entitas, seperti manusia, hewan, furniture, dan lain-lain. Setiap objek memiliki karateristik dan perilaku (behavioral). Selain itu objek juga memiliki komponen-komponen (objekobjek lain) penyusunnya (misal mobil di dalamnya ada cases, roda, body, dan mesin). Objek bisa menurunkan sifat ke objek-objek lain. Objek juga bisa memiliki hubungan dengan objek-objek lain. Nampak sekali bahwa penjelasan tersebut sama seperti yang terjadi di dunia nyata.

Class

Class merupakan blueprint/rancangan dari suatu objek. Class adalah gambaran umum dari suatu objek. Dikatakan bahwa Anjing adalah class, maka class Anjing memiliki karakteristik/atribute dan perilaku/behavioral yang dimiliki oleh anjing pada umumnya. Untuk lebih jelasnya perhatikan ilustrasi berikut:

Ilustrasi diatas memperlihatkan bahwa class Dog memiliki attribute (age) dan bahavioral (bark, eat, dan chase cat). Attribute dan behavioral tersebut umum dimiliki oleh anjing sehingga setiap objek yang memiliki attribute dan behavioral tersebut dikategorikan sebagai anjing. Di Java, untuk mendeklarasikan class menggunakan kata kunci “class” yang diikuti dengan nama class-nya.

class Dog {
 int age;

 void bark(){
 System.out.println("anjing menggongong");
 }

 void eat(){
 System.out.println("anjing makan");
 }

 void chaseCat(){
 System.out.println("anjing mengejar
kucing");
 }
}

Pada baris 1 dideklarasikan “class Dog”. Class Dog ini memiliki attribut “age” dan behavioral “bark”, “eat”, dan “chaseCat” yang dideklarasikan di dalam kurung kurawal. Attribut dan behavioral tersebut merupakan anggota/member dari class Penjelasan detail tentang attribut dan behavioral dibahas pada bahasan berikutnya.

Penamaan class mengikuti aturan penamaan seperti variable namun ada perbedaan sedikit, yaitu setiap kata harus diawali dengan huruf kapital/huruf besar. Misal, class “mydog” terdiri dari kata “my” dan “dog” maka huruf “m” pada “my” huruf kapital dan huruf “d” pada “dog” harus kapital juga. Dari “mydog” menjadi “MyDog”. Hal ini dimaksud supaya nama suatu class itu mudah untuk dibaca.

Attribute

Attribute merupakan karakteristik dari suatu class. Attribut ini berupa suatu variable yang terletak tepat di dalam class. Variable yang berupa attribut ini juga disebut dengan variable global (kebalikan dari variable lokal) karena variabel global tersebut bisa diakses di setiap behavioral. Cara mendeklarasikan attribut sama dengan cara mendeklarasikan variable karena attribut juga merupakan variable.

Method

Method merupakan sebutan untuk behavioral/function di Java. Method selalu memiliku kurung lengkung atau “()”, kurung lengkung tersebut bisa juga disemati suatu variable atau parameter. Parameter sendiri adalah sebutan dari variabel yang terletak dalam kurung lengkung suatu method. Aturan penamaan method sama dengan aturan penamaan variable. Pembahasan tersebut bisa dilihat di penjelasan tentang variabel.

Method sendiri ada dua jenis: (1) void dan (2) return.

void Method

void method adalah method yang tidak mengembalikan suatu nilai. Dilihat sekilas, void method dapat diidentifikasi dengan adanya kata kunci “void” di depan nama method.

void eat(){
 System.out.println("anjing makan");
 }

Ilustrasi di atas adalah method void karena secara kasat mata method tersebut di depan nama method-nya (eat) memiliki kata kunci “void”. Void bisa disebut dengan method tidak mengembalikan nilai karena method ini ketika dipanggil tidak memiliki nilai yang bisa disimpan di suatu variabel.

return Method

return method adalah method yang mengembalikan nilai. Method ini bisa diidentifikasi dengan adanya data type di depan nama method-nya dan kata kunci return di dalam method-nya.

int getAge(){
 return 3;
 }

Pada baris 1 di depan nama method, “getAge” terdapat data type “int” sehingga di dalam method ini harus mengembalikan “int” juga. Kata kunci “return” digunakan untuk mengembalikan nilai. Dilihat pada baris 2, method “getAge” ini mengembalikan nilai 3, nilai 3 tersebut adalah nilai yang ber-data type “int”.

Object

Object adalah representasi dari class. Katakan bahwa Anjing adalah class-nya maka doggy, pretty, dan sweety adalah objectnya. Class masih berupa blueprint/rancangan sedangkan object adalah wujud nyatanya.Cara mendeklarasikan object sebagai berikut:

Untuk membuat object terlebih dahulu harus tahu class yang akan dibuatkan object-nya. Pada ilustrasi diatas “Dog” adalah class yang akan dibuatkan object-nya. Object dari class “Dog” tersebut bernama “pretty”. Berikutnya, untuk benar-benar “pretty” adalah object dari class “Dog” maka pada ilustrasi diatas ditambahkan assignment operator (=) yang digunakan untuk memberikan nilai object “pretty” ini dengan object baru dari class Dog, yaitu caranya dengan menambahkan kata kunci “new” yang diikuti dengan “constructor Dog“ / “Dog()”, constructor akan dibahas pada bahasan berikutnya. Sedangkan, penamaan object mengikuti penamaan pada variable. Sekali object tersebut dibuat, semua anggota (attribute dan method) bisa diakses oleh object tersebut.

Dog.java

package Class;
class Dog {
 int age;

 int getAge(){
 return 3;
 }
 void bark(){
 System.out.println("anjing menggongong");

 void eat(){
 System.out.println("anjing makan");
 }

 void chaseCat(){
 System.out.println("anjing mengejar
kucing");
 }
}

DogTest.java

package Class;
public class DogTest {
 public static void main(String [] args){
 Dog pretty = new Dog();
 pretty.bark();
 pretty.eat();
 pretty.chaseCat();
 }
}

Ada dua file java yang saling terkait, yaitu Dog.java dan DogTest.java. Dog.java adalah blueprint dari Dog sedangkan DogTest.java adalah penerapan blueprint tersebut dalam bentuk object. Pada file DogTest.java baris 5 menunjukkan sistem membuat object baru, pretty, dari class Dog. Sekali object tersebut dibuat, semua member (attribute / method) bisa diakses. Pada baris 6 – 8 menunjukkan cara mengakses member Dog, yaitu dengan cara memanggil nama object-nya diikuti dengan titik beserta member yang ingin diakses.

String

String adalah deretan dari karakter yang terangkum dalam tanda petik dua / double quote (“). Karakter tersebut bisa terdiri dari angka, huruf, dan special character. String juga adalah class yang disediakan oleh java untuk menjadi data type yang berjenis object reference untuk sekumpulan karakter.

String color = new String(“blue”)

Ilustrasi diatas merupakan cara untuk mendeklarasikan String karena String juga merupakan class maka cara mendeklarasikan object nya mirip seperti pada class Dog. Namun, ada cara singkatnya seperti mendeklarasikan variable data type primitive. Bentuk terakhir ini lah yang sering kali digunakan dalam pemrograman.

String color = “blue”

Parameter

Parameter adalah local variable yang terletak pada tanda kurung lengkung suatu method. Dengan adanya parameter suatu method akan lebih dinamis dalam menghasilkan suatu output.

void bark(String name){
 System.out.println(name + " menggongong");
}

Pada baris 1 menunjukkan bahwa method bark memiliki parameter “String name” yang nantinya akan mempengaruhi output pada baris 2. Parameter pada method bisa terdiri lebih dari satu, dengan cara memisahkannya dengan tanda koma (,).

void bark(String name, int amount){
 System.out.println(name +" menggongong "+ amount
+" kali");
}

Dengan adanya parameter tersebut, saat class tersebut dibuatkan objectnya dan memanggil method “bark” harus mengisi setiap parameter tersebut dengan nilai yang sesuai dengan data type-nya.

public class DogTest {
 public static void main(String [] args){
 Dog pretty = new Dog();

 pretty.bark("Pretty", 5);
 }
}

Method Overloading

Method Overloading Method overloading adalah method yang dalam satu class memiliki nama yang sama namun yang membedakan adalah data type dan jumlah parameter pada method-method tersebut.

void bark(){
 System.out.println("Anjing menggongong");
 }

 void bark(String name){
 System.out.println(name +" menggongong");
 }

 void bark(int amount){
 System.out.println("Anjing menggongong "
+amount+ " kali");
 }

 void bark(String name, int amount){
 System.out.println(name+ " menggongong
"+amount + " kali");
 }

Terdapat empat “method bark” pada baris 1, 5, 9, dan 14. Keempat method tersebut memiliki nama yang sama, yaitu: bark, namun berbeda dari segi data type dan jumlah parameternya.

static Method

static method adalah method yang ketika diterapkan tidak memerlukan instance object sehingga untuk menggunakannya cukup dengan memanggil class-nya. Cara mendeklarasikan static method sebagai berikut:

static void methodName(argument){}

static String methodName(argument){}

Untuk membuat static suatu method hanya menambahkan kata kunci “static” di depan method-nya sehingga untuk menggunakannya hanya memanggil nama class-nya.

ClassName.methodName(arguments)

static void eat(){
 System.out.println("anjing makan");
 }
public class DogTest {
 public static void main(String [] args){
 Dog.eat();
 }
}

static Field

static Field adalah variable yang ketika diterapkan tidak memerlukan instance object sehingga untuk menggunakannya cukup dengan memanggil class-nya. Cara mendeklarasikan static field sebagai berikut:

static int r;

Untuk membuat static suatu variable hanya menambahkan kata kunci “static” di depan variable-nya sehingga untuk menggunakannya hanya memanggil nama class-nya.

this

Kata kunci “this” diletakkan didepan attribut dan method ketika dipanggil. “this” digunakan untuk emphasis / penekanan bahwa member tersebut milik dari class bersangkutan.

public class Dog {
 int age;

 int getAge(){
 return age;
 }
}
public class Dog {
 int age;

 int getAge(){
 return this.age;
 }
}

Ilustrasi diatas jika dijalankan tidak memiliki perbedaan, untuk ilustrasi pertama method “getAge” mengembalikan nilai integer “age”, namun untuk memanggil attribute “age” tidak menggunakan kata kunci “this” sedangkan ilustrasi kedua menggunakan “this”.

public class Dog {
 int age;

 void setAge(int age){
 this.age = age;
 }
 int getAge(){
 return this.age;
 }
}

Perhatikan pada baris 4 – 6 pada method “setAge”, pada kasus ini kata kunci “this” sangat dibutuhkan karena pada method tersebut terdapat dua variable yang memiliki nama yang sama, yaitu “age”, oleh karena itu sistem harus diberi tahu variable “age” tersebut merujuk pada attribut “age” (baris 2) atau parameter “age” (baris 6). Pada baris 5, “this.age” (sisi kiri sama dengan) merujuk pada attribute “age” sedangkan age (sisi kanan sama dengan) merujuk pada parameter.

Constructor

Constructor adalah method yang memiliki nama yang sama dengan nama class-nya. Biasanya method ini digunakan untuk memberikan nilai inisiasi dari suatu class. Setiap kali membuat class secara otomatis sistem membuatkan constructor secara implisit. Sebenarnya, method ini seringkali dipanggil sekali setiap kali membuat object baru.

class Dog {

}
class Dog {
 Dog(){}
}

Ilustrasi pertama dan kedua jika dihasilkan keluarannya sama. Yang pertama constructor tidak didefinisikan secara eksplisit sedangkan yang kedua constructor didefinisikan secara implisit.

Dog pretty = new Dog();
class Dog {

 String name;

 Dog(){}

 Dog(String name){
 this.name = name;
 }
}

Ilustrasi diatas menjukkan constructor yang overloading, sehingga ketika membuat object baru, programmer bisa memilih constructor yang baris ke 5 atau baris ke 7, seperti yang diilustrasikan sebagai berikut:

public class DogTest {
 public static void main(String [] args){
 Dog pretty = new Dog();
 Dog doggy = new Dog("Doggy");
 }
}

Pada baris 3 memanggil constructor yang tidak memiliki parameter sedangkan pada baris 4 memanggil constructor yang memiliki parameter.

Rangkuman

Object-Oriented Programming (OOP) merupakan paradigma pemrograman yang menjadikan suatu objek sebagai fokus dalam mengembangkan aplikasi.

Class merupakan blueprint / rancangan dari suatu objek. Class adalah gambaran umum dari suatu objek.

Attribute merupakan karakteristik dari suatu class. Attribut ini berupa suatu variable yang terletak tepat di dalam class.

Method merupakan sebutan untuk behavioral/function di Java. Method selalu memiliku kurung lengkung atau “()”, kurung lengkung tersebut bisa juga disemati suatu variable atau parameter. Method sendiri ada dua jenis: (1) void dan (2) return.

void method adalah method yang tidak mengembalikan suatu nilai. return method adalah method yang mengembalikan nilai. Object adalah representasi dari class. String adalah deretan dari karakter yang terangkum dalam tanda petik dua / double quote (“). Parameter adalah local variable yang terletak pada tanda kurung lengkung suatu method.

Method overloading adalah method yang dalam satu class memiliki nama yang sama namun yang membedakan adalah data type dan jumlah parameter pada method-method tersebut.

static method adalah method yang ketika diterapkan tidak memerlukan instance object sehingga untuk menggunakannya cukup dengan memanggil class-nya.

static Field adalah variable yang ketika diterapkan tidak memerlukan instance object sehingga untuk menggunakannya cukup dengan memanggil class-nya.

Kata kunci “this” diletakkan didepan attribut dan method ketika dipanggil. “this” digunakan untuk emphasis / penekanan bahwa member tersebut milik dari class bersangkutan. Constructor adalah method yang memiliki nama yang sama dengan nama class-nya.

Leave a Reply

Your email address will not be published. Required fields are marked *