Fungsi adalah subprogram atau sekumpulan kode yang diberi nama tersendiri. Pendekatan pemrograman berorientasi objek membuat pengembangan program dapat dilakukan dengan lebih mudah, mengurangi duplikasi kode dan mengurangi kesalahan.
Pada pemrograman berorientasi objek terdapat dua istilah yang sangat terkenal yaitu kelas dan objek. Perbedaan kelas dan objek dapat dijelaskan melalui analogi :
- kelas itu seperti cetakan kue.
- kelas adalah cetakan untuk objek
MENGGUNAKAN OBJEK
Objek dibuat dengan mula-mula membuat variabel yang kelak merujuk ke objek. Variabel seperti ini biasa disebut variabel objek. Selanjutnya objek diciptakan melalui new dan hasilnya ditugaskan ke variabel objek
Contoh :
//nama file berkas : objektanggal.java
import java.util.Date;
public class objektanggal
{
public static void main (String[] args)
{
Date waktusekarang=new Date();
System.out.println("Tanggal dan Waktu Sekarang : "+waktusekarang);
}
}
Hasil :
Tanggal dan Waktu Sekarang : Tue Oct 14 12:31:15 ICT 2019Perlu diketahui bahwa Date adalah kelas yang disediakan Java yang berhubungan dengan tanggal dan waktu. Kelas ini terdapat pada paket java.util.Date. Variabel waktusekarang merujuk ke objek yang berisi tanggal dan jam saat pernyataan dijalankan.
Adakalanya Anda perlu memanggil variabel instan yang terdapat pada suatu objek.
Bentuk pemanggilan :
namaVariabelObjek.namaVariabelInstanUntuk memanggil metode yang tedapat pada suatu objek diperlukan notasi sebagai berikut :
namaVariabelObjek.namaMetode()atau jika metode melibatkan argumen :
namaVariabelObjek.namaMetode(argumen1, argumen2, ...)Contoh :
//nama file berkas : metode1.java
public class metode1
{
public static void main (String[] args)
{
String teks = "Selamat Belajar Java";
System.out.println(teks.toUpperCase());
System.out.println(teks.charAt(5)); }
}
Hasil :
SELAMAT BELAJAR JAVAPerintah teks.toUpperCase() merupakan contoh pemanggilan objek yang tidak melibatkan argumen dimana perintah tersebut berguna untuk menghasilkan string dengan seluruh huruf berupa huruf kapital.
a
Perintah teks.charAt(5) merupakan contoh pemanggilan metode objek yang melibatkan sebuah argumen dimana perintah tersebut berguna untuk memperoleh sebuah karakter yang terletak pada posisi ke-6 karena posisi pertama karakter dimulai dari nol.
MENCIPTAKAN KELAS
Kelas pada Java didefinisikan dengan menggunakan kata kunci class.
Contoh :
//nama file berkas : kelasmobil.javaHasil :
class mobil
{
String warna;
int tahun;
}
public class kelasmobil
{
public static void main (String[] args)
{
mobil mobilku = new mobil();
mobilku.warna ="Merah";
mobilku.tahun = 2008;
System.out.println("Warna mobilku adalah "+mobilku.warna);
System.out.println("Dibuat tahun : "+mobilku.tahun);
}
}
Warna mobilku adalah Merah
Dibuat tahun : 2008
KELAS DAN METODE
Sebuah kelas pada umumnya tersusun atas variabel instan dan metode untuk objek. Metode adalah fungsi (subprogram) yang melekat pada sebuah objek atau instan kelas.
Contoh :
//nama file berkas : kelasmetode.javaHasil :
class mobil
{
String warna;
int tahun;
void isidata(String warnamobil, int tahunmobil)
{
warna=warnamobil;
tahun=tahunmobil;
}
String isiwarna()
{
return warna;
}
int isitahun()
{
return tahun;
}
}
public class kelasmetode
{
public static void main (String[] args)
{
mobil mobilku = new mobil();
mobilku.isidata("Hitam", 2008);
System.out.println("Warna mobilku adalah "+mobilku.isiwarna());
System.out.println("Dibuat tahun : "+mobilku.isitahun());
}
}
Warna mobilku adalah HitamKeterangan :
Dibuat tahun : 2008
- Metode isidata() digunakan untuk mengisikan data warna dan tahun
- Pernyataan warna=warnamobil; dan tahun=tahunmobil; digunakan untuk mengisikan nilai parameter ke variabel instan
- Kata kunci void menyatakan bahwa metode ini tidak mempunyai nilai balik (nilai yang diberikan oleh metode ketika dipanggil)
- Metode isiwarna() digunakan untuk memperoleh isi variabel instan dengan tipe yang sama yaitu String. Sedangkan return warna() merupakan pernyataan untuk memberikan nilai baliknya sekaligus mengakhiri eksekusi metode.
KATA KUNCI THIS
Kata kunci this digunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang.
Contoh :
//nama file berkas : kelasthis.java
class mobil
{
String warna;
int tahun;
void isidata(String warna, int tahunmobil)
{
this.warna=warna;
this.tahun=tahunmobil;
}
}
public class kelasthis
{
public static void main (String[] args)
{
mobil mobilku = new mobil();
mobilku.isidata("Silver", 2008);
System.out.println("Warna mobilku adalah "+mobilku.warna);
System.out.println("Dibuat tahun : "+mobilku.tahun);
}
}
Hasil :
Warna mobilku adalah Silver
Dibuat tahun : 2008
LINGKUP VARIABEL
Bila dalam suatu metode terdapat pemanggilan terhadap suatu variabel, Java menggunakan konsep sebagai berikut. Mula-mula variabel akan dianggap berada pada lingkup blok sekarang. Jika tidak ada, Java akan mencarikannya pada blok yang lebih luar. Begitu seterusnya.
Berdasarkan konsep lingkup variabel seperti ini, dimungkinkan untuk membuat variabel yang bersifat lokal.
Contoh :
//nama file berkas : lingkupthis.javaHasil :
class mobil
{
String warna="Merah";
int tahun=2008;
void mobilku()
{
String warna="Biru";
int tahun=2008;
System.out.println("Warna dan tahun pada metode mobilku : "
+warna+" dan "+tahun);
System.out.println("Warna dan tahun pada kelas instan mobil : "
+this.warna+" dan "+this.tahun);
}
}
public class lingkupthis
{
public static void main (String[] args)
{
mobil proses = new mobil();
proses.mobilku();
}
}
Warna dan tahun pada metode mobilku : Biru dan 2008
Warna dan tahun pada kelas instan mobil : Merah dan 2008
PENENTU AKSES : PRIVATE DAN PUBLIC
Pada pemrograman yang berorientasi objek, akses terhadap suatu variabel instan di luar kelas biasanya tidak diperkenankan. Sebagai penggantinya, disediakan metode yang diperlukan untuk mengakses variabel instan.
Berkaitan dengan boleh-tidaknya suatu variabel instan diakses dari luar kelas, Java menyediakan penentu akses yaitu :
- public
berarti bahwa pengaksesan suatu variabel instan atau metode dapat dilakukan dari luar kelas - private
berarti bahwa pengaksesan suatu variabel instan atau metode hanya dapat dilakukan di dalam kelas, tidak bisa diakses dari luar kelas.
Contoh :
//nama file berkas : penentuakses.javaHasil :
class siswa
{
String nama;
void isidata(String nama)
{
this.nama=nama;
}
String isinama()
{
return this.nama;
}
}
public class penentuakses
{
public static void main (String[] args)
{
siswa siswaku = new siswa();
siswaku.isidata("Sekar Ayu");
System.out.println("Nama Siswa (metode) adalah "+siswaku.isinama());
System.out.println("Nama Siswa (variabel instan) adalah "+siswaku.nama);
}
}
Nama Siswa (metode) adalah Sekar AyuProgram akan error jika ditambahkan private di depan String nama; tetapi jika ditambah public tidak akan terjadi kesalahan. Sekilas terlihat bahwa suatu variabel yang tidak diberi penentu akses apapun, variabel tersebut memiliki sifat yang sama dengan jika diberi penentu akses public, namun sebenarnya variabel tersebut memiliki makna yang berbeda.
Nama Siswa (variabel instan) adalah Sekar Ayu
Perhatikan gambar berikut :
METODE KELAS
Kadangkala dijumpai pemanggilan metode dengan bentuk :
namaKelas.namaMetode() bukan dalam bentuk namaVariabelObjek.namaMetode()Contoh :
//nama file berkas : metodekelas.javaHasil :
public class metodekelas
{
public static void main (String[] args)
{
double akar = Math.sqrt(25);
System.out.println("Akar dari 25 adalah "+akar);
}
}
Akar dari 25 adalah 5.0
Perhatikan bahwa pada program di atas tidak terdapat penciptaan objek. Metode sqrt dapat dipanggil secara langsung dengan menggunakan Math (nama kelas yang tersedia pada Java yang berkaitan dengan penanganan berbagai operasi matematika).
Untuk membuat metode kelas (metode yang dapat dipanggil dengan menyebutkan nama kelas), Anda dapat menggunakan bentuk :
static tipe namaMetode(parameter1, parameter2,...) { ... }Kata kunci static merupakan kunci untuk membuat metode kelas.
Contoh :
//nama file berkas : kuadrat.javaHasil :
class matematika
{
static public double kuadrat(double nilai)
{
return nilai*nilai;
}
}
public class kuadrat
{
public static void main (String[] args)
{
double bilangan = matematika.kuadrat(5);
System.out.println("Kuadrat dari 5 adalah "+bilangan);
}
}
Kuadrat dari 5 adalah 25.0
TUGAS
1. Buat program untuk menghitung gaji harian PT. XYZ dengan ketentuan :
- Gaji pokok karyawan Rp. 2000/jam
- Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang besarnya 1.5 dari gaji pokok
- Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang makan sebesar Rp. 3500
- Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur sebesar Rp. 4000
Gunakan fungsi kelas dan metode
- Input : NIP, Nama, Jumlah jam kerja
- Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lembur
Sekian Artikel tentang Kelas dan Objek Pada Pemrograman Java.