PERTEMUAN
15
KELAS DAN OBYEK I
-
TUJUAN
-
Dapat mengenal istilah kelas dalam program java
-
Dapat membuat sebuah kelas
-
TEORI SINGKAT
Kelas dalam java bisa
dianalogikan dalam kehidupan sehari-hari sebagai sebuah kelompok yang
mempunyai sifat dan tingkah laku yang serupa atau secara umum serupa.
Kelompok di sini dapat kelompok benda maupun makluk hidup. Misal
orang, mobil, motor, sepeda, ayam, kucing, bunga.
-
Mendeklarasikan sebuah kelas
class
KelasKu
{
//deklarasi
field, konstruktor dan method
}
Pada bagian ini, kita
akan membahas kelas secara luas. Termasuk atribut-atribut dan segala
yang berkaitan dengan kelas yang ada di dalamnya. Mari kita
perhatikan definisi kelas berikut.
Itu adalah sebuah
deklarasi kelas dengan nama KelasKu. Deklarasi ini sudah sering kita
buat sebelumnya dengan menambah kata kunci public diawalnya. Isi dari
kelas (daerah antara dua tkita kurung kurawal) berisi semua kode yang
disediakan untuk obyek yang diciptakan dari kelas, yaitu konstruktor
untuk inisialisasi obyek baru, deklarasi field yang menetapkan
keadaan kelas dan obyeknya dan method untuk mengimplementasikan
lingkungan dari kelas dan obyeknya.
Secara umum, deklarasi
kelas dapat termasuk komponen-komponen
-
Modifier seperti public, private dan modifier yang lain yang akan kita bicarakan kemudian.
-
Nama kelas, dengan diawali huruf besar sebagai kesepakatan.
-
Nama dari induk kelasnya (superclass), jika ada, diawali dengan kata kunci extends. Sebuah kelas hanya boleh mempunyai satu induk
-
Daftar interface (dipisahkan dengan tkita koma) yang akan diimplementasikan dalam kelas, jika ada, diawali dengan kata kunci implements. Sebuah kelas boleh mengimplementasikanlebih dari satu interface
-
Isi dari kelas yang diawali dan diakhiri dengan tanda kurung kurawal buka dan tutup { }
Bagian yang tidak kalah
pentingnya adalah deklarasi variabel anggota. Ada beberapa macam
variabel yang ada di bagian ini.
-
Variabel anggota dalam sebuah kelas – ini disebut fields. Fields ini terletak di luar method. Dan bisa diakses dai method dengan menggunakan referensi ke kelas yang memiliki field tersebut (dengan memperhatikan aturan akses modifier)
-
Variabel dalam sebuah method atau blok kode – ini disebut variabel lokal. Variabel ini biasanya hanya digunakan selama method itu dikerjakan. Sehingga tidak perlu diakses dari luar method. Bahkan variabel yang ada di dalam blok bisa diakses dari blok itu saja.
-
Variabel dalam deklarasi method – ini disebut parameter. Parameter sudah pernah dibahas panjang lebar pada bagian sub program
Deklarasi field terdiri dari 3 komponen
-
Tidak ada atau ada modifier, seperti public atau private. Sebenarnya dengan tanpa menuliskan modifier, maka kita membuat deklarasi field tersebut sebagai default.
-
Tipe field. Pada perkembangan pembahasan selanjutnya, tipe ini bisa saja bukan hanya tipe sederhana tetapi tipe yang kompleks.
-
Nama field. Dalam pembuatan nama, aturan penamaan harus diikuti. Dan sangat dianjurkan untuk menggunakan huruf kecil sebagai huruf pertama.
-
Akses Modifier
Modifier pertama (paling
kiri) yang digunakan menyebabkan kita bisa mengontrol apakah
kelas-kelas lain mempunyai akses ke field anggota. Kita akan
memfokuskan pada pembahasan public dan private saja, modifier yang
lain akan dibicarakan lebih lanjut pada pembahasan mengenai
pemrograman berorientasi obyek.
-
Modifier public — field ini bisa diakses dari semua kelas.
-
Modifier private —field ini hanya bisa diakses dalam kelas itu sendiri.
-
Tipe dan Nama Variabel
Semua variabel harus mempunyai tipe. Kita bisa menggunakan tipe primitif seperti int, float, boolean dan lain-lain. Atau kita bisa menggunakan tipe referensi seperti larik, string atau bahkan obyek sekalipun.
Semua variabel, apakah itu field-field, variabel lokal atau parameter mengikuti aturan penamaan yang sama dengan kesepakatan yang berlaku tentang penamaan variabel
Aturan dan konvensi penamaan yang sama
digunakan untuk method, nama kelas, kecuali
-
Huruf pertama nama kelas harus kapital dan
-
Kata pertama (atau hanya) dalam nama method harus kata kerja.
-
Menyediakan Konstruktor untuk kelas-kelas
Sebuah kelas berisi
konstruktor yang dilibatkan untuk menciptakan obyek dari desain
kelas. Deklarasi konstruktor nampak seperti deklarasi method –
kecuali bahwa konstruktor menggunakan nama yang sama dengan nama
kelas dan tidak mempunyai tipe kembalian. Sebagai contoh,
PersegiPanjang mempunyai satu konstruktor
public
PersegiPanjang(int panjangAwal, int lebarAwal) {
panjang
= panjangAwal;
lebar
= lebarAwal;
}
Untuk menciptakan sebuah
obyek PersegiPanjang baru yang diberi nama persegi, sebuah
konstruktor dipanggil dengan operator new.
PersegiPanjang
persegi = new PersegiPanjang(30, 8);
new PersegiPanjang(30,
8) menciptakan ruangan dalam memori untuk obyek dan menginisialisasi
fieldnya.
Meskipun PersegiPanjang
hanya mempunyai satu konstruktor, kelas boleh mempunyai lebih dari
satu konstruktor, termasuk konstruktor yang tanpa argumen. Kalau
sebuah kelas mempunyai lebih dari satu konstruktor, berarti dia juga
bersifat overloading.
-
Melewatkan informasi ke sebuah Method atau Konstruktor
Deklarasi untuk sebuah
method atau sebuah konstruktor mendeklarasikan jumlah dan tipe
argumen untuk method atau konstruktor tersebut.
-
Tipe parameter
Kita dapat menggunakan beberapa tipe data untuk sebuah parameter dari sebuah method atau konstruktor. Ini termasuk tipe data primitif, seperti double, float, dan integer,.
-
Jumlah argumen yang sembarang
Kita dapat menggunakan sebuah konstruksi yang disebut varargs untuk melewatkan sejumlah sembarang nilai dke method. Kita menggunakan varargs ketika kita tidak tahu berapa banyak dari tipe tertentu argumen yang dilewatkan dalam method. Ini adalah shortcut untuk menciptakan sebuah larik secara manual (method sebelumnya dapat menggunakan varargs daripada sebuah larik)
Dalam sebuah method
instance atau konstruktor, this adalah sebuah referensi ke obyek yang
sekarang, yaitu obyek dimana method atau konstruktor dipanggil. Kita
dapat mereferensi ke beberapa member dari obyek sekarang dari dalam
sebuah method instance atau konstruktor dengan menggunakan kata kunci
this.
-
PELAKSANAAN PRAKTIKUM
Outputnya:
[Listing Terlampir]
PENJELASAN:
class PersegiPanjang
adalah
deklarasi kelas dengan nama
PersegiPanjang.
public int panjang;
adalah
deklarasi field dari kelas
PersegiPanjang dengan
tipe integer yang
dapat diakses oleh obyek lain
dengan nama variabel panjang.
public int lebar;
adalah
deklarasi field dari kelas
PersegiPanjang dengan
tipe integer yang
dapat diakses oleh obyek lain
dengan nama variabel lebar.
public void setPanjang(int nilaiBaru)
{ adalah
method yang bertipe void dan bersifat public, dengan
nama setPanjang yang
membuat variable baru
yaitu nilaiBaru yang bertipe
integer.
panjang = nilaiBaru;}
pemberian
nilai dari variable panjang
dengan
variable nilaiBaru.
public void setLebar(int nilaiBaru){
adalah
method yang bertipe void dan bersifat public, dengan
nama setLebar
yang membuat
variable baru
yaitu nilaiBaru yang bertipe
integer.
lebar = nilaiBaru;}
pemberian
nilai dari variable lebar
dengan
variable nilaiBaru.
public int hitungLuas() {
kontrutor
dari
field kelas
PersegiPanjang dengan
nama hitungLuas, bertipe integer yang
bisa diakses oleh obyek lain.
return panjang*lebar; }
pengembalian
perkalian antara nilai
variabel
panjang dengan variabel
lebar
untuk menyimpan nilai dalam variabel hitungLuas.
public int hitungKeliling() {
kontrutor dari
field kelas
PersegiPanjang dengan
nama hitungKeliling,
bertipe integer yang
bisa diakses oleh obyek lain.
Return
2*( panjang*lebar);
} pengembalian
perkalian 2
kali nilai variabel
panjang dengan variabel
lebar
untuk menyimpan nilai dalam variabel hitungLuas.
public class Panjang {
merupakan
nama kelas utama
yang dari program
dengan nama Panjang yang
disimpan dengan nama filenya
harus sama dengan nama kelas ini.
public
static void main(String[] args) {
merupakan
indikasi
nama suatu method dalam class Panjang
yang bertindak sebagai method utamanya.
PersegiPanjang PP = new
PersegiPanjang(); adalah
mencipkatan obyek baru dengan nama
PP untuk
mengganti kelas
PersegiPanjang.
PP.setPanjang(3);
merupakan
pernyataan method setPanjang pada kelas PersegiPanjang
yang menyimpang nilai 3.
PP.setLebar(4);
merupakan
pernyataan method setLebar
pada kelas PersegiPanjang
yang menyimpang nilai 4.
System.out.println("Luas
persegi panjang = "
+ PP.hitungLuas());
perintah untuk menampilkan
hasil
yang akan memanggil method
hitungLuas pada kelas Panjang.
System.out.println("Keliling ="+PP.hitungKeliling());
perintah untuk menampilkan
hasil
yang akan memanggil method
hitungKeliling
pada kelas Panjang.
Outputnya:
[Listing Terlampir]
PENJELASAN:
class Lingkaran
adalah deklarasi kelas dengan
nama Lingkaran.
private double radius;
adalah
field dari
variabel radius yang hanya
dapat diakses
dalam
kelas Lingkaran yang bertipe double.
void IsiJari(double radius){
method dari
kelas Lingkaran yang bertipe
void dengan
nama IsiJari yang
menyimpan
variabel radius sebagai nilainya.
this.radius=radius; }
kata
kunci this
adalah
sebuah referensi ke obyek yang sekarang, yaitu obyek dimana method
atau kontruktor dipanggil dalam hal ini adalah radius.
public double perolehPi(){
kontrutor dari
field kelas Lingkaran
dengan
nama perolehPi,
bertipe double
yang bisa
diakses oleh obyek lain.
return 3.14; }
untuk
membrikan nilai pada method
perolehPi.
public double perolehKeliling() {
kontrutor
dari
field kelas Lingkaran
dengan
nama perolehKeliling,
bertipe double
yang bisa
diakses oleh obyek lain.
return 2 * perolehPi() * radius;}
adalah
menentukan nilai
perolehKeliling dengan 2
kali nilai variable perolehPi
dengan
radius.
public double LuasLingkaran(){
konstrutor dari
field kelas Lingkaran
dengan
nama perolehLingkaran,
bertipe double
yang bisa
diakses oleh obyek lain.
return
2*perolehPi()*radius*radius;}}
adalah
menentukan nilai
perolehKeliling dengan 2
kali nilai variable perolehPi
dengan
radius kali
radius.
public class PenentuMetode {
merupakan
nama kelas utama
yang dari program
dengan nama PenentuMetode
yang disimpan
dengan nama filenya
harus sama dengan nama kelas ini.
public
static void main(String[] args) {
merupakan
indikasi
nama suatu method dalam class Panjang
yang bertindak sebagai method utamanya.
Lingkaran bulatan = new Lingkaran();
adalah
mencipkatan obyek baru dengan nama
bulatan
untuk mengganti
kelas Lingkaran.
bulatan.IsiJari(75);
merupakan pernyataan method
isiJari
pada kelas Lingkaran
yang menyimpang nilai 75.
System.out.println("Keliling = "
+bulatan.perolehKeliling()) ;
merupakan perintah untuk
menghasilkan output : Keliling = ‘ditambah nilai dari method
perolehKeliling pada kelas bulatan’
System.out.println("Luas = "
+bulatan.LuasLingkaran());
perintah untuk menampilkan
hasil
yang akan memanggil method
LuasLingkaran
pada kelas Lingkaran.
System.out.println("pi = "
+ bulatan.perolehPi()); } }
perintah untuk menampilkan
hasil
yang akan memanggil method
perolehPi
pada kelas Lingkaran.
-
TUGAS
Membuat program untuk
menghitung volume balok/kubus dan menentukan apakah bangun yang
dimasukkan balok atau kubus.
O
utputnya:
utputnya:
No comments:
Post a Comment