Dokumen tersebut merupakan laporan praktikum mengenai algoritma dan pemrograman yang membahas tentang kelas dan objek dalam bahasa pemrograman Java. Laporan tersebut menjelaskan pengertian kelas, cara membuat kelas, menambahkan field, konstruktor, dan method pada kelas, serta contoh kode program sederhana mengenai kelas persegi panjang dan lingkaran.
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
KELAS DAN OBYEK
1. LAPORAN PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN
Disusun Oleh :
Eka Cahya Budhi Nugraha
125410150
SEKOLAH TINGGI MANAJEMEN INFORMATIKA
DAN KOMPUTER
AKAKOM
YOGYAKARTA
OKTOBER 2012
2. Pertemuan ke-15
KELAS DAN OBYEK 1
1. Tujuan
Mahasiswa mengenal istilah kelas dalam pemrograman java dan dapat
membuat sebuah kelas.
2. Teori Singkat
Kelas adalah definisi umum untuk himpunan objek sejenis, merupakan bentuk
logic.
a. Mendeklarasikan sebuah Kelas
class KelasKu {
//deklarasi field, konstruktor dan method
}
Merupakan sebuah deklarasi kelas dengan nama KelaskKu,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
1. Modifier seperti public, private dan modifier yang lain yang
akan kita bicarakan kemudian.
2. Nama kelas, dengan diawali huruf besar sebagai kesepakatan.
3. Nama dari induk kelasnya (superclass), jika ada, diawali
dengan kata kunci extends. Sebuah kelas hanya boleh
mempunyai satu induk
4. 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
5. Isi dari kelas yang diawali dan diakhiri dengan tanda kurung
kurawal buka dan tutup { }
3. 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.
Variabel dalam sebuah method atau blok kode – ini disebut
variabel lokal.
Variabel dalam deklarasi method – ini disebut parameter.
Deklarasi field terdiri dari 3 komponen
1. Tidak ada atau ada modifier, seperti public atau private.
2. Tipe field. Pada perkembangan pembahasan selanjutnya, tipe ini
bisa saja bukan hanya tipe sederhana tetapi tipe yang kompleks.
3. 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
4. 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.
5. 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.
3. Pembahasan Listing
Listing 1
1. class PersegiPanjang{
2. public int panjang;
3. public int lebar;
4. public void setPanjang(int nilaiBaru){
5. panjang = nilaiBaru;
6. }
7. public void setLebar(int nilaiBaru){
8. lebar = nilaiBaru;
9. }
10. public int hitungLuas(){
11. return panjang*lebar;
12. }
13. public int hitungKeliling(){
14. return 2*(panjang+lebar);
15. }
16. }
17. public class Panjang{
18. public static void main(String[] args) {
19. PersegiPanjang PP = new PersegiPanjang();
20. PP.setLebar(3);
21. PP.setPanjang(4);
22. System.out.println("Luas = " + PP.hitungLuas());
23. System.out.println("Keliling = " + PP.hitungKeliling());
24. }
25. }
class PersegiPanjangmerupakan deklarasi kelas dengan nama kelas
PersegiPanjang.
6. public int panjang;merupakan field dari kelas PersegiPanjang yang diberi
nama panjang, bertipe integer dan dapat diakses oleh obyek lain.
public int lebar;merupakan field dari kelas PersegiPanjang yang diberi nama
lebar, bertipe integer dan dapat diakses oleh obyek lain.
public void setPanjang(int nilaiBaru) { merupakanmethod yang bertipe void
dan bersifat public, yang diberi nama setPanjang yang nilainya tergantung pada
nilai dari variable nilaiBaru yang bertipe integer.
panjang = nilaiBaru;}merupakan keterangan bahwa nilai dari variable
panjang adalah nilai dari variable nilaiBaru.
public void setLebar(int nilaiBaru){merupakan method yang bertipe void
dan bersifat public, yang diberi nama setLebar yang nilainya tergantung pada nilai
dari variable nilaiBaru yang bertipe integer.
lebar = nilaiBaru;}merupakan keterangan bahwa nilai dari variable lebar
adalah nilai dari variable nilaiBaru.
public int hitungLuas() { merupakan field dari kelas PersegiPanjang yang
diberi nama hitungLuas, bertipe integer dan dapat diakses oleh obyek lain.
return panjang*lebar;}merupakan perkalian antara nilai variable panjang
dengan lebar yang dimana hasilnya disimpan pada field hitungLuas.
public int hitungKeliling() { merupakan field dari kelas PersegiPanjang yang
diberi nama hitungKeliling, bertipe integer dan dapat diakses oleh obyek lain.
return panjang*lebar;}merupakan jumlah dari variable panjang dan lebar
yang dikalikan 2 yang dimana hasilnya disimpan pada field hitungKeliling.
public class Panjang{menyatakan nama kelas umum yang diberi nama
Panjang, sehingga program ini harus disimpan dengan nama Panjang.java agar
dapat di compile.
public static void main(String[] args) {mengindikasikan nama suatu
method dalam class Panjang yang bertindak sebagai method utama.
PersegiPanjang PP = new PersegiPanjang();menyatakan bahwa PP adalah
variable baru pengganti Persegi Panjang.
PP.setPanjang(3);merupaka pernyataan bahwa nilai 3 merupakan nilai
dari method setPanjang pada kelas PersegiPanjang.
7. PP.setLebar(4);merupaka pernyataan bahwa 4 merupakan nilai dari
method setLebar pada kelas PersegiPanjang.
System.out.println("Luas = " + PP.hitungLuas());merupakan
perintah untuk menghasilkan output : Luas = ‗ditambah nilai dari method
hitungLuas pada kelas PP‘
System.out.println("Keliling = " +
PP.hitungKeliling());}}merupakan perintah untuk menghasilkan output : Keliling
= ‗ditambah nilai dari method hitungKeliling pada kelas PP‘
Listing 2
1. class Lingkaran{
2. private double radius;
3. void IsiJari(double radius){
4. this.radius=radius;}
5. public double perolehPi(){
6. return 3.14; }
7. public double perolehKeliling(){
8. return 2 * perolehPi() * radius; }
9. public double LuasLingkaran(){
10. return 2 * perolehPi() * radius * radius;}}
11. public class PenentuMetode{
12. public static void main(String[] args){
13. Lingkaran bulatan = new Lingkaran();
14. bulatan.IsiJari(75);
15. System.out.println("Keliling = " +
16. bulatan.perolehKeliling());
17. System.out.println("Luas = " +
18. bulatan.LuasLingkaran());
19. System.out.println("pi = " + bulatan.perolehPi());
20. }
21. }
class Lingkaran{merupakan deklarasi kelas dengan nama kelas Lingkaran.
private double radius;merupakan field yang hanya bias diakses didalam
kelas Lingkaran yang diberi nama radius dan bertipe double.
void IsiJari(double radius){method yang bertipe void yang diberi nama
IsiJari dimana nilainya adalah sesuai dengan nilai radius.
this.radius=radius; }
public double perolehPi(){merupakan method public yang bertipe double dan
diberi nama perolehPi.
return 3.14; }nilai dari method perolehPi
public double perolehKeliling() {merupakan method public yang bertipe
double dan diberi nama perolehKeliling.
return 2 * perolehPi() * radius;}merupakan perkalian antara 2 dengan nilai
variable perolehPi dan radius ( rumus mencari keliling lingkaran) yang hasilnya
disimpan dalam variable PerolehKeliling.
public double LuasLingkaran(){merupakan method public yang bertipe
double dan diberi nama LuasLingkaran.
8. return 2 * perolehPi() * radius * radius; } }merupakan perkalian
antara 2 dengan nilai variable perolehPi dan radius kuadrat (rumus mencari luas
lingkaran) yang hasilnya disimpan dalam variable LuasLingkaran.
public class PenentuMetode {menyatakan nama kelas umum yang diberi
nama PenentuMetode, sehingga program ini harus disimpan dengan nama
PenentuMetode.java agar dapat di compile.
public static void main(String[] args) {mengindikasikan nama suatu
method dalam class PenentuMetode yang bertindak sebagai method utama.
Lingkaran bulatan = new Lingkaran();menyatakan bahwa bulatan adalah
variable baru pengganti Lingkaran.
bulatan.IsiJari(75);merupakan nilai dari variable IsiJari yaitu 75, dalam
program ini berarti jari-jari lingkarannya adalah 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());merupakan
perintah untuk menghasilkan output : Luas = ‗ditambah nilai dari method
LuasLingkaran pada kelas bulatan‘
System.out.println("pi = " + bulatan.perolehPi()); } }merupakan perintah
untuk menghasilkan output : pi = ‗ditambah nilai dari method perolehPi pada
kelas bulatan‘
Listing 3
1. import java.util.Scanner;
2. class balokkubus{
3. int panjang,lebar,tinggi,volume;
4. public void setPanjang(int p){
5. panjang = p; }
6. public void setLebar(int l) {
7. lebar = l; }
8. public void setTinggi(int t) {
9. tinggi = t; }
10. public int getPanjang() {
11. return panjang; }
12. public int getLebar() {
13. return lebar; }
14. public int getTinggi() {
15. return tinggi; }
16. public int getVolume() {
17. return panjang*lebar*tinggi;}
18. public boolean isKubus() {
19. if ((panjang==lebar) && (lebar==tinggi))
20. return true;
21. else
9. 22. return false;}}
23. public class balokkubus1{
24. public static void main(String[] args) {
25. Scanner data = new Scanner(System.in);
26. balokkubus bk = new balokkubus();
27. int panjang,lebar,tinggi,volume;
28. System.out.print("Msukkan panjang = ");
29. bk.setPanjang(data.nextInt());
30. System.out.print("Masukkan lebar = ");
31. bk.setLebar(data.nextInt());
32. System.out.print("Masukkan tinggi = ");
33. bk.setTinggi(data.nextInt());
34. System.out.println("volume =
"+bk.getVolume());
35. if (bk.isKubus())System.out.println("Kubus");
36. elseSystem.out.println("Balok");
37. }
38. }
import java.util.Scanner;script ini berguna untuk mengimport library atau
fasilitas yang sudah ada pada java itu sendiri agar program dapat menerima
inputan dari pengguna.
class BalokKubus{merupakan deklarasi kelas dengan nama kelas
BalokKubus.
int panjang,lebar,tinggi,volume;menyatakan bahwa variable panjang, lebar,
tinggi, dan volume bertipe integer.
public void setPanjang(int p){merupakan method yang bertipe void dan
bersifat public, yang diberi nama setPanjang yang nilainya tergantung pada nilai
dari variable p yang bertipe integer.
panjang = p; }merupakan keterangan bahwa nilai dari variable panjang
adalah nilai dari variable p.
public void setLebar(int l){merupakan method yang bertipe void dan bersifat
public, yang diberi nama setLebar yang nilainya tergantung pada nilai dari
variable l yang bertipe integer.
lebar = l; }merupakan keterangan bahwa nilai dari variable lebar adalah nilai
dari variable l.
public void setTinggi(int t){merupakan method yang bertipe void dan
bersifat public, yang diberi nama setTinggi yang nilainya tergantung pada nilai
dari variable t yang bertipe integer.
tinggi = t; }merupakan keterangan bahwa nilai dari variable tinggi adalah
nilai dari variable t.
public int getPanjang() {merupakan field dari kelas BalokKubus yang diberi
nama panjang, bertipe integer dan dapat diakses oleh obyek lain.
return panjang; }menampilkan nilai dari variable panjang.
public int getLebar() {merupakan field dari kelas BalokKubus yang diberi
nama Lebar, bertipe integer dan dapat diakses oleh obyek lain.
10. return lebar; }menampilkan nilai dari variable lebar.
public int getTinggi() {merupakan field dari kelas BalokKubus yang diberi
nama Tinggi, bertipe integer dan dapat diakses oleh obyek lain.
return tinggi; }menampilkan nilai dari variable tinggi.
public int getVolume() {merupakan field dari kelas BalokKubus yang diberi
namaVolume, bertipe integer dan dapat diakses oleh obyek lain.
return panjang*lebar*tinggi;}perkalian antara nilai panjang, nilai lebar dan
nilai tinggi, dalam program ini merupakan rumus mencari volume.
public boolean isKubus() {method isKubus yang bertipe Boolean dan
bersifat public.
if ((panjang==lebar) && (lebar==tinggi))return true;jika nilai panjang
sama dengan nilai lebar dan nilai lebar sama dengan nilai tinggi maka nilai dari
isKubus adalah benar.
elsereturn false;}}jikan nilai panjang tidak sama dengan lebar atau nilai lebar
tidak sama dengan tinggi maka nilai dari isKubus ini adalah false.
public class BalokKubus1{menyatakan nama kelas umum yang diberi nama
Panjang, sehingga program ini harus disimpan dengan nama Panjang.java agar
dapat di compile.
public static void main(String[] args) {mengindikasikan nama suatu
method dalam class BalokKubus1 yang bertindak sebagai method utama.
Scanner data = new Scanner(System.in);merupakan variable baru untuk
menyimpan input dari pengguna.
BalokKubus bk = new BalokKubus();menyatakan bahwa bk adalah variable
baru pengganti BalokKubus.
int panjang,lebar,tinggi,volume;menyatakan variable panjang, lebar, tinggi
dan volume bertipe integer.
System.out.print("Masukkan Panjang = ");merupakan perintah untuk
menghasilkan output : Masukkan Panjang =
bk.setPanjang(data.nextInt());merupakan perintah yang digunakan untuk
membaca integer yang diketikkan pengguna dari keyboard dan ditampung ke
method setPanjang pada kelas bk.
System.out.print("Masukkan Lebar = ");merupakan perintah untuk
menghasilkan output : Masukkan Lebar =
bk.setLebar(data.nextInt());merupakan perintah yang digunakan untuk
membaca integer yang diketikkan pengguna dari keyboard dan ditampung ke
methodsetLebar pada kelas bk.
System.out.print("Masukkan Tinggi = ");merupakan perintah untuk
menghasilkan output : Masukkan Tinggi =
bk.setTinggi(data.nextInt());merupakan perintah yang digunakan untuk
membaca integer yang diketikkan pengguna dari keyboard dan ditampung ke
method setTinggi pada kelas bk.
11. System.out.println("volume = "+bk.getVolume());merupakan perintah
untuk menghasilkan output : volume = ‗ditambah nilai dari method getVolume
pada kelas bk‘
if (bk.isKubus())System.out.println("Kubus");jika nilai Boolean dari
method bk.isKubus adalah true, maka program akan menghasilkan keluaran :
Kubus.
elseSystem.out.println("Balok");}}jika nilai Boolean dari method
bk.isKubus adalah false, maka program akan menghasilkan keluaran : Balok.
4. Kesimpulan
Kelas adalah definisi umum untuk himpunan objek sejenis, merupakan bentuk
logic. Isi dari kelas diawali dan diakhiri dengan tanda kurung kurawal ―{}‖
dimana berisi semua kode yang disediakan untuk obyek yang diciptakan dari
kelas, yaitu konstruktor, deklarasifield, dan method.