Pengenalan Pemrograman Java (Class, Object, Attribute)


Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ­platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer­­. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel.

a. Class

Class  adalah  wadah  yang  berisi  abstraksi  (pemodelan)  dari  suatu  fungsi objek (benda),  yang  mendeskripsikan  data  (sifat  karakteristik)  dan  fungsi  yang  dimiliki oleh  objek tersebut.  Karena  kelas  merupakan  wadah  yang  akan  digunakan  untuk menciptakan  objek,  maka  jelaslah  bahwa  kita  harus  membuat  kelas  terlebih  dahulu sebelum membuat objek.

Dalam Java, kelas didefinisikan  menggunakan keyword class. Contoh class :

class Manusia{
String nama;
}

Pada kode diatas, kelas yang dibuat adalah kelas Manusia. Dan nama merupakan atribut yang dimiliki kelas Manusia tersebut. Contoh pembuatan objek untuk kelas manusia adlah sebagai berikut :

//membuat objek manusia
Manusia manusia = new Manusia ();
//mengubah nama objek manusia
manusia.nama="Denny Rahardjo"

b. Objek

Object adalah sekumpulan software yang terdiri dari variable dan method-method terkait.  Object  saling  berinteraksi  dengan  saling  memanggil  metode  dari  satu  object  ke object lainnya, disebut message. Dengan kata lain, object merupakan instance sebenarnya dari  sebuah  class.  Instance  dibuat  sewaktu  kita  melakukan  inisialisasi  class  dengan menggunakan kata kunci new.

Objek merupakan hasil dari sebuah kelas, jika diibaratkan objek adalah kue, maka kelas adalah cetakan kuenya, dimana kue dibuat dengan cetakan tersebut. Dan sebuah cetakandapat membuat beberapa kue, artinya sebuah kelas dapat membuat beberapa objek.

Perintah untuk membuat objek :

Kelasobjek= new Kelas()

Jika dalam kelas yang dibuat objek tersebut terdapat atribut, maka dapat dipanggi dengan . (titik) dan diakhiri dengan ()

Contoh :

//memanggil fungsi
objek.namaFungsi()

c. Attribute

Atribut dari sebuah kelas adalah variabel global yang dimilki sebuah kelas, misalkan pada kelas sebagai berikut:

class Elemen

 NilaiMatKul elmt
 Elemen next

 Elemen()
 {end constructor}
 {end class}

maka elmt dan next adalah atribut dari kelas Elemen. Atribut pada sebuah kelas memiliki izin akses jika kelas digunakan oleh kelas lain, izin akses itu seperti private, public dan protected.

Atribut Private
Izin akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain. Sebuah atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung oleh kelas yang membungkusnya, sedangakan kelas lainnya tidak dapat mengakses atribut ini secara langsung, misalkan kelas sebagai berikut:

class Elemen
 private NilaiMatKul elmt
 private Elemen next

 Elemen()
 {end constructor}
 {end class}

maka yang dapat mengakses elmt dan next hanyalah kelas Elemen sehingga jika sebuah kelas List di dalamnya mempunyai kode sebagai berikut:
Elemen e <- new Elemen
maka pengaksesan e.next tidak dizinkan pada kelas List. Agar isi dari sebuah atribut private dapat diakses oleh kelas lain dapat dibuat sebuah metode yang mengembalikan nilai atribut itu, misalnya sebagai berikut:public getNext() -> Elemen
-> next
{end getNext}
sehingga kelas lain akan mengakses atribut next pada kelas Elemen dengan kode Elemen n < e.getNext().

Atribut Public
Izin akses public sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:

class Elemen
 public NilaiMatKul elmt
 Elemen next

 Elemen ()
 {end constructor}
 {end class}

maka aatribut elmt dan next dapat diakses secara langsung oleh kelas lain, misalkan dengan kode:
Elemen e <- new Elemen()
e.next <- NULL
Jika sebuah atribut tidak ditulis izin aksesnya misalkan hanya ditulis Element next, maka interpreter Java akan menganggap atribut next mempunyai izin akses public.

Atribut Protected
Izin akses protected sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan kelas turunannya ( inheritance). Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya, misalkan pada kelas Elemen sebagai berikut:

class Elemen
 protected NilaiMatKul elmt
 protected Elemen next

 Elemen()
 {end constructor}
 {end class}

maka atribut elmt dan next dapat diakses secara langsung oleh kelas lain yang merupakan turunan kelas Elemen. Izin akses protecteddimaksudkan untuk melindungi atribut agar tidak diakses secara langsung oleh sembarang kelas lain, namun diizinkan diakses secara langsung oleh kelas turunannya.

 d. Scope Variable

Konsep lingkup (scope) merupakan konsep sangat penting berkaitan dengan waktu hidup variable. Lingkup sangat terkait erat dengan blok. Lingkup mengacu pada bagaimana bagian-bagian program berdampak pada waktu hidup variable. Setiap variable yang dideklarasikan di program mempunyai lingkup keberlakuan . Lingkup ditentukan oleh blok

Contoh :

class HellpWorld {
..............
}

Blok kelas sangat penting. Hampir semua keperluan di Java berkaitan dengan kelas atau milik suatu kelas. Metode didefinisikan di kelas yang memiliki metode tersebut. Secara sintaks maupun logik, segala sesuatu di Java berada di dalam suatu kelas tertentu.

Blok berikutnya adalah blok di dalam kelas seperti didefinisikan pada kode didalam metode main(), sebagai berikut :

public static void main(String[] args) {
}

Blok dalam berada/bersarang di dalam blok luar. Setiap variable yang didefinisikan di dalam blok lebih dalam adalah lokal blok itu dan tidak tampak ke blok luar, linkup variable didefiniskan sebagai blok dalam.

Perhatikan contoh berikut :

/*
 * Latihan Lingkup dalama Java
 * Dibuat tanggal 22 April 2012
 */
 package selamatdatang;

 /**
 *
 * @author Muhamad Farhan
 */
 public class SelamatDatang {

 public static void main(String[] args) {
 int intUtama = 10 ;
 cetakPesan();
 }

 public static void cetakPesan(){
 String strPesan = "Selamat datang di contoh lingkup dalam Java" ;
 System.out.println(strPesan);
 }
 }

Kelas SelamatDatang berisi dua metode : yaitu main() dan cetakPesan(). Metode main() men-deklarasikan variable integer intUtama lalu memanggil metode cetakPesan(). Metode cetakPesan() adalah metode yang mendeklarasikan variable strPesan lalu mencetak isi dari variable strPesan (isi variable strPesan adalah “Selamat datang di contoh lingkup dalam Java”).

Variable intUtama yang di definisikan di main() mempunyai lingkup terbatas di badan metode main(). Badan main () didefinisikan kurung kurawal. Serupa dengan itu varibale strPesan ada didalam lingkup metode cetakPesan(). Pentingnya lingkup adalah kenyataan bahwa variable tidak tampak diluar lingkupnya. Blok kelas SelamatDatang  sama sekali tidak mengetahui variable integer intUtama dan  variable strPesan. Metode main() tidak mengetahui variable strPesan dan metode cetakPesan() tidak mengetahui variable integer intUtama .

e. Overloading Methods

Java membolehkan kita untuk memiliki banyak method yang memiliki nama sama sepanjang setiap method  memiliki jenis argumen yang berbeda. Dengan kata lain, adalah boleh untuk memiliki dua method  berikut dalam satu class

public String printString(String string)
 public String printString(String string, int offset)

Teknik ini yang disebut dengan  method overloading. Nilai kembalian ”return value” dari method tidak lagi menjadi pusat perhatian. Dengan demikian, kedua method ini boleh berada di class yang sama

public int countRows(int number);
 public String countRows(int number);

Using Method Overloading

Deklarasi sebuah method dibentuk dari urutan : Nama method  jenis kembalian method (return value) dan parameter masukan membentuk apa yang disebut method’s signature. Method signature ini yang harus berbeda, dan tidak boleh sama dalam satu class. Jadi Nama method boleh sama selama return value atau parameter masukannya berbeda

public class MainClass {   
public void print(int a) {    
System.out.println(a);    }     

public void print(String a) {    
System.out.println(a); 
} 
}

Seperti yang saya jelaskan sebelumnya, bahwa diperbolehkan memiliki dua method pada class yang sama

public class MainClass {
   public int printNumber(int i) {
       return i*2;
   }

   public long printNumber(long i) {
       return i*3;
   }

   public static void main(String[] args) {

   }
 }

jika kita ingin memasukan argumen printNumber(3) maka kita menggunakan method berikut :

public int printNumber(int i)

f. Input/Output

Berikut ini adalah langkah-langkah yang perlu dilakukan untuk mendapatkan input:

1. Tambahkan di bagian paling atas code anda:

import java.io.*;

2. Tambahkan statemen berikut pada method main:

BufferedReader dataIn = new BufferedReader (new InputStreamReader(System.in));

3. Deklarasikan variabel String temporary dan gunakan fungsi readLine() untuk mendapatkan input serta ketikkan pada blog try-catch.

try {

String temp = dataIn.readLine();
} catch ( IOException e ){
System.out.println(“Terjadi kesalahan saat anda melakukan input ”)

}

Berikut  ini  adalah  langkah-langkah  yang  perlu  dilakukan  untuk  mendapatkan  input dari console dengan Scanner:

1. Menambahkan

Import java.until.Scanner;

2. Membuat objek dari kelas Scanner

Scanner input = new Scanner (System.in)

3. Memasukkan nilai dari masing-masing variabel dengan menggunakan bjek dari Scanner

System.out.print (“Masukkan nama : ”);
String nama = input.nextLine();
System.out.println (nama);

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