Class, Method, Attribute (Tugas OOP1)

Dalam PBO dasar kita harus memahami apa itu class, method, dan attribute, langsung saja penjelasannya.

  1. Class (Kelas)  digunakan untuk membuat objek, dan berperan sebagai tipe data dari objek. Class merupakan sarana pengkapsulan kumpulan data dan kumpulan method yang mengoperasikan kumpulan data tersebut.
  2. Attribute adalah segala sesuatu (data )yang berhubungan dengan karakteristik objek dalam setiap kelas. Tiap atribut memiliki nilai berbeda untuk setiap objek.
  3. Method merupakan tingkah laku dari suatu objek, jika bersifat static berarti tingkah laku semua objek dalam kelas tersebut.

Modifier untuk Method dan Attribute

1.       Public

Menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain dimanapun.

2.       Protected

Menyatakan bahwa kelas/method/attribute tersebut dapat diakses oleh kelas lain yang berada dalam satu package atau kelas lain tersebut merupakan turunannya.

3.        Private

Menyatakan bahwa kelas tersebut tidakdapat diakses sama sekali oleh kelas lain bahkan juga tidak dapat diturunkan. Berarti attribute-attribute yang private hanya dapat diakses oleh

method-method dalam kelas yang sama, kelas lain masih dapat mengakses melalui method-method tersebut asal modifiernya public.

Pertimbangan suatu attribute dideklarasikan private :

  1. Bila kelas lain tak memerlukan attribute tersebut.
  2. Melindungi suatu attribute dari kemungkinan nilainya diubah oleh method lain dari kelas lain.

4.        Final (no extended, no overrided)

  • Menyatakan bahwa suatu kelas tidak dapat menurunkan (extend) kelas lain.
  • Menyatakan bahwa suatu method tidak dapat dioverride oleh method lain.
  • Membentuk suatu attribute menjadi konstanta.

5.        Static (no need instanciation, no overrided)

Method dan attribute ada dua jenis, yaitu method dan attribute milik kelas serta method dan attribute milik suatu objek. Method dan attribute milik kelas, diakses melalui tiga cara, pertama melalui nama kelasnya, kedua melalui nama objek yang diinstant dari kelasnya, dan ketiga bebas tanpa didahului nama kelas atau nama objeknya. Method dan attribute milik objek, diakses hanya melalui nama objeknya. Method static tidak bisa dioverride. Method main() harus memiliki modifier static. Modifier static artinya method dan attribute milik kelas, menjadi sifat

bersama dari semua objek dalam kelas tersebut (tidak memerlukan instansiasi objek untuk menjalankannya).

Contoh System.out.println() bersifat static artinya untuk memanggil method println()tidak harus dilakukan instansiasi dari kelas System.

6.        Abstract (no instanciation, should be overrided)

Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurna-kan oleh kelas turunannya melalui override. Kelas seperti ini biasanya merupakan root suatu struktur kelas.  Konsekuensi penggunaan sifat abstract :

  1. Tidak dapat dibuat constructor yang abstract.
  2. Tidak dapat dibuat method yang static dan abstract (kedua sifat saling kontradiktif).
  3. Tidak diijinkan membuat method yang private dan abstract (kedua sifat ini juga saling kontradiktif).

7.       Synchronized (khusus modifier method)

Pada lingkungan multithread, dimungkinkan lebih dari satu jalui eksekusi yang berjalan di kode yang sama, kondisi tersebut dapat diatur sehingga pada selang waktu tertentu hanya ada satu jalur eksekusi yang diijinkan di method yang synchronized (eksekusi dilakukan secara mutual exclusive).

8.         Native (khusus modifier method)

Modifier ini digunakan untuk memanggil/mengakses method yang ditulis dalam bahasa C/C++. Seperti method yang abstract, method yang native hanya berupa prototype, implementasi method ini berada di file external (dalam folder yang sama).

9.         Transient (khusus modifier attribute)

Java memiliki konsep serialisasi, yaitu kemampuan untuk mentransformasikan objek menjadi suatu stream, sehingga objek dapat ditransfer dari suatu aplikasi ke aplikasi lainnya, atau dari suatu workstation ke workstation lainnya. Prinsip ini digunakan dalam aplikasi client-server.

Salah satu ketentuan serialisasi adalah tidak boleh ada perubahan nilai attribute suatu objek, saat objek tersebutditransformasikan menjadi stream, dan sebaliknya, namun suatu objek dapat memiliki nilai attribute yang boleh berubah (bersifat transient).

10.    Volatile (khusus modifier attribute)

Dalam manajemen thread, java dapat menyimpan nilai suatu attribute (yang sering diakses thread) menjadi cache value, sehingga tidak perlu selalu merujuk ke lokasi memori aslinya.

Attribute tersebut bersifat volatile, karena nilainya rentan berubah bila diakses oleh lebih dari satu thread.

11.    Extends

Bila terjadi pewarisan, kelas yang mewariskan method dan attributenya disebut kelas super, sedangkan yang diwariskan disebut subkelas. Kelas yang memiliki modifier ini berarti merupakan subkelas dari suatu kelas super.

Caranya :

[modifier1] class NamaSubKelas extends NamaKelasSuper { classBody }

12.    Implements

Kelas yang memilki modifier2 implements artinya kelas tersebut mengimplementasikan satu atau lebih interface. Bila terdapat lebih dari satu interface, gunakan tanda koma di antara interface-interface tersebut.

Caranya :

  • [modifer] class NamaKelas implements NamaInterface1, NamaInterface2 { classBody }

Selanjutnya contoh Program sederhana penggunaan class, attribute, Method :

Dalam C#
buat Class dahulu

public class Class1
 {
 public void LuasLing()
 {
 //deklarasi
 int jari;
 double luas;

 //input
 Console.WriteLine("Hitung Luas lingkaran");
 Console.Write("Masukkan jari-jari lingkaran : ");
 jari=Convert.ToInt32(Console.ReadLine());

 //proses
 luas=3.14*jari*jari;

 //output
 Console.Write("hasilnya = "+luas);

 Console.ReadLine();
 }
 }

lalu buat Main Program

class Program
 {
 public static void Main(string[] args)
 {
 Class1 c1=new Class1();
 c1.LuasLing();

 Console.ReadKey(true);
 }
 }

Screenshotnya
dalam versi Java

package tugas1_java;
import java.util.Scanner;

public class Main {

public static void main(String[] args) {
 Scanner inp = new Scanner (System.in);

//deklarasi
 int jari;
 double luas;

//input
 System.out.println("Hitung Luas lingkaran");
 System.out.println("Masukkan jari-jari lingkaran : ");
 jari=inp.nextInt();

//proses
 luas=3.14*jari*jari;

System.out.println("Hasilnya = "+luas);
 }

}

Screenshotnya

dalam versi C++

#include <iostream>
#include <cstdlib>

using namespace std;

int main()
{
 //deklarasi
 int jari;
 double luas;

//input
 cout << "Hitung Luas Lingkaran" << endl;
 cout << "Masukkan jari-jari lingkaran : ";
 cin>>jari;

//proses
 luas=3.14*jari*jari;

//output
 cout<<"Hasilnya = "<<luas<<endl;

system("pause");
 return 0;
}

Screenshotnya
sekian postingan saya, harap maklum karena masih beginner🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s