Doni El Rezen Purba, M.Kom Outline • Class • Method • Objek Introduction 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 (objek-objek 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. lebih jelasnya perhatikan ilustrasi berikut: Ilustration class lanjutan
• 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. Kode Java Class Anjing lanjutan
• 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. 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 (Behavior) • 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. Tipe Method 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. • 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. • dalam bahasa pemrograman tertentu ini dianggab sebagai procedur 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. • 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. • Lihat pada baris 2, method “getAge” ini mengembalikan nilai 3, nilai 3 tersebut adalah nilai yang ber-data type “int”. • Istilah ini di sebut dengan nama function 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. • Ilustrasi diatas “Dog” adalah class yang akan dibuatkan object-nya. • Object dari class “Dog” tersebut bernama “pretty”. • Object dari class “Dog” pada ilustrasi diatas ditambahkan assignment operator (=) yang digunakan untuk memberikan nilai object “pretty” ini dengan object baru dari class Dog, dengan menambahkan kata kunci “new” yang diikuti dengan “constructor Dog“ / “Dog()”, • Penamaan object mengikuti aturan penamaan pada variable. • Sekali object tersebut dibuat, semua anggota (attribute dan method) bisa diakses oleh object tersebut. Instansiasi (deklarasi objek) • Potongan kode diatas 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 merupakan class yang disediakan oleh java untuk menjadi data type yang berjenis object reference untuk sekumpulan karakter. • Contoh String color = new String(“blue”) • Ilustrasi diatas merupakan cara untuk mendeklarasikan String. • String juga merupakan class, sehingga cara mendeklarasikan object nya mirip seperti pada class Dog. • Cara singkat pendeklasaiannya seperti mendeklarasikan variable data type primitive. String color = “blue” • Bentuk terakhir ini lah yang sering kali digunakan dalam pemrograman. 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. 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 (,). Lihat gambar. 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. 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.
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 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.
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”. 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. Ilustrasi pertama dan kedua jika dihasilkan keluarannya sama. Yang pertama constructor tidak didefinisikan secara eksplisit sedangkan yang kedua constructor didefinisikan secara implisit. 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 selanjutnya: 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.