MODUL XV, Algoritma Pemrograman I

KELASDAN OBYEK I
A.  DASAR TEORI
Kelas dalam java bisa dianalogikan dalam kehidupansehari-hari sebagai sebuah kelompok yang mempunyai sifat dan tingkah laku yangserupa  atau secara umum serupa. Kelompokdisini dapat kelompok benda maupun mahkluk hidup. Misalnya orang, kendaraan,binatang, TV, radio.
Mendeklarasikan Sebuah Kelas
Pada bagian ini kita dapat membahas kelas secaraluas. Termasuk atribut-atribut dan segala yang berkaitan dengan kelas yang adadi dalamnya.
Class KelasKu{
// deklarasi field, konstruktor dan method
}
Ituadalah deklarasi kelas dengan nama KelasKu. Deklarasi ini sudah sering kitabuat sebelumya dengan menambah kata kunci diawalnya. Isi dari kelas berisisemua kode yang disediakan untuk obyek yang diciptakan dari kelas, yaitukonstruktor untuk untuk inisialisasi obyek baru, deklarasi field yangmenetapkan keadaan kelas , obyek, dan method untuk mengimplementasikanlingkungan dari kelas dan obyeknya.
Komponen-komponen dalam deklarasikelas :
·        Modifier seperti public,private,dan modifier lainnya yang akan kita bicarakan kemudian.
·        Nama kelas dengan diawali huruf besarsebagai kesepakatan.
·        Nama dari induk kelasnya (superclass), jika ada, diawali dengankata kunci extends. Sebuah kelas hanya boleh mempunyai satu induk.
·        Daftar interface yang akandiimplementasikan dalam kelas, jika ada, diawali dengan kunci implement. Sebuahkelas boleh megimplementasikan dari satu interface.
·        Isi dari sebuah kelas yang diawali dandiakhiri dengan tanda kurung kurawal buka tutup.
Modifierpertama yang meyebabkan kita dapat mengkontrol apakah kelas-kelas lainmempunyai akses ke field anggota. Kita akan memfokuskan pada pembahasan kepublic dan private saja, modifier yang lain akan dibicarakan lebih lanjut padapembahasan mengenai pmrograman berorientasi obyek.
·        Modifier public : bisa diakses ke semuakelas
·        Modifier private : hanya bisa diakseskelas itu sendiri.
Tipe dan Nama Variabel
Semua variable harus mempunyai tipe. Kita bisamenggunakan tipe primitive seperti int, float, boolean dan lain-lain. Atau kitabisa menggunakan tipe referensi seperti larik, string, atau bahkan obeyeksekalipun.
            Semua variable apakah itufield-field, variable local atau parameter mengikuti atura penanaman yang samadengan kesepakatan yang berlaku dengan penanaman variable.
Aturandan konvensi penanaman yang sama digunakan untuk method nama kelas, kecuali:
·        Huruf pertama nama kelas harus capital
·        Kata pertama pada method harus katakerja.
Menyediakan Konstruktor untuk Kelas-kelas
Semuakelas berisi konstruktor yang dilibatkan untuk menciptakan obyek dari desainkelas. Deklarasi konstruktor nampak seperti deklarasi method kecualikonstruktor menggunakan nama yang sama dengan nama kelas dan tidak mempunyaitipe kembalian. Sebagai contoh PersegiPanjang mempunyai satu konstruktor.
publicPersegiPanjang(int panjangAwal, int lebarAwal){
panjang:panjangAwal;
lebar:lebarAwal;
}
Untukmenciptakan sebuah obeyk PersegiPanjang baru yang diberi nama persegi, sebuahkonstruktor diberi nama dengan new.
PersegiPanjangpersegi = new PersegiPajang(30,8);
newPersegiPajang(30,8); menciptakan ruangan dalam memori untuk obyek danmenginisialisasi fieldnya.
MeskipunpersegiPanjang hanya mempunyai satu konstruktor, kelas boleh mempunyai lebihdari satu konstruktor, termasuk konstruktor tanpa argument. Kalu sebuah kelasmempunyai lebih dari satu konstruktur, berarti dia juga bersifat overloading.
Melewatkan Informasi ke SebuahMethod atau Konstruktor
Deklarasiuntuk sbuah method atau sebuah konstruktor mendeklarasikan sebuah kjumlah atau argument untuk method atukonstruktor tersebut.
Tipe Parameter
Kitadapat menggunakan bebrapa tipe data untuk parameter dari sebuah method atraukonstruktor. Ini termasuk tipa data primitive seperti integer, boolean, floatdan lain-lain.
Jumlah Argumen yang Sembarang
Kitadapat menggunakan sebuah kontruktor yang disebut varargs untuk melewatisejumlah sembarang nilai ke method. Kita menggunakan varargs ketika kita tidaktahu berapa banyak dari tipe tertentu dari argument yag dilewatkan dalammethod. Ini adalah shortcut untuk menciptakan sebuah larik secara manual.
Dalamsebuah method intense atau konstruktor, this adalah sebuah orientasi ke obyekdimana method atau konstruktor dipanggil. Kita dapat mereferensi kebebrapamember dari obeyk sekarang dari dalam sebuah method intense atau konstruktordenganmenggunakan kata kunci this.
B.  PEMBAHASAN
Program:
1.class PersegiPanjang{
2.public int panjang;
3.public int lebar;
4.public void setPanjang(int nilaiBaru){
5. panjang= nilaiBaru;
6. }
7. publicvoid setLebar(int nilaiBaru){
8. lebar =nilaiBaru;
9. }
10. publicint getPanjang(){
11. returnpanjang ;
12. }
13. publicint getLebar(){
14. returnlebar;
15. }
16. publicint hitungLuas(){
17. returnpanjang * lebar;
18. }
19. publicint hitungKeliling(){
20. return2 * (panjang + lebar);
21. }
22. }
23. publicclass Panjang {
24. publicstatic void main(String args[]){
25. PersegiPanjangPP = new PersegiPanjang();
26. PersegiPanjangPP1 = new PersegiPanjang();
27. PP.setLebar(3);
28. PP.setPanjang(4);
29. System.out.println(“Panjang= “+PP.getPanjang());
30. System.out.println(“Lebar= “+PP.getLebar());
31. System.out.println(“Luas= “+PP.hitungLuas());
32. System.out.println(“Keliling= “+PP.hitungKeliling());
33. System.out.println(“”);
34. PP1.setLebar(5);
35. PP1.setPanjang(6);
36. System.out.println(“Panjang= “+PP1.getPanjang());
37. System.out.println(“Lebar= “+PP1.getLebar());
38. System.out.println(“Luas= “+PP1.hitungLuas());
39. System.out.println(“Keliling= “+PP1.hitungKeliling());
40. System.out.println(“”);
41. }
42. }
Hasiloutput program :
Pembahasan:
Baris1 sampai 4 adalah sebuah deklarasi kelasyang diberi nama PersegiPanjang. Dimana pada kelas ini tedapat  2 atribut yaitu atribut panjang yang bertipeinteger dan atribut lebar yang juga bertipe integer. Baris 4 sampai 6 adalahsalah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method setPanjang. Pada methodini berisi variabel nilaiBaru yang merupakan data bertipe integer. Dimanapanjang adalah nilaiBaru. Baris 7 sampai 9 adalah salah satu method yangterdapat pada kelas PersegiPanjang yang diberi nama method setLebar. Pada methodini berisi variabel nilaiBaru yang merupakan data bertipe integer. Dimana lebaradalah nilaiBaru. Baris 10 sampai 12 adalah salah satu method yang terdapatpada kelas PersegiPanjang yang diberi nama method getPanjang. Pada methodini terdapat return yang berfungsi untuk mengembalikan nilai variable panjang ke method.Baris 13 sampai 15 adalah salah satu method yang terdapat pada kelas PersegiPanjang yangdiberi nama method getLebar. Pada method ini terdapat return yang berfungsiuntuk mengembalikan nilai variable lebar ke method. Baris 16 sampai 18 adalah salah satumethod yang terdapat pada kelas PersegiPanjang yang diberi nama method hitungLuas yang bertipe integer. Yang mana hitungLuas marupakanhasil dari variabel panjang dikalikan dengan variabel lebar. Baris 19 sampai 21adalah salah satu method yang terdapat pada kelas PersegiPanjang yangdiberi nama method hitungKeliling yangbertipe integer. Yang mana hitungKeliling merupakan hasil dari variabel panjangditambah dengan variabel lebar kemudian dikalikan 2. Baris 23 samapai 24 secaraberurutan  adalah deklarasi kelas Panjang dan method main. Baris 25 dan 26 adalah deklarasi Fungsi baru yangdiberi nama PP dan PP1 yang terdapat pada kelas PersegiPanjang. Baris 27sampai 28 adalah nilai input yang ada dikomputer. Dimana pada method setLebar telahditentukan berisi nilai 3 dan pada method setPanjang berisi nilai 4. Baris 29 sampai 32  digunakan untuk menampilkan data panajang,lebar, hasil luas dan keliling sesuai dengan method getPanjang, getLebar,hitungluas dan hitungKeliling.
Program:
1.class Lingkaran {
2.private double radius;
3.void IsiJari(double radius){
4.this.radius=radius;
5.}
6.public double perolehPhi(){
7.return 3.14;
8.}
9.public double perolehKeliling(){
10.   return 2 * perolehPhi() * radius;
11.   }
12.   public double perolehLuas(){
13.   return perolehPhi() * radius * radius;
14.   }
15.   }
16.   public class PenentuMetode {
17.   public static void main(String args[]){
18.   Lingkaran bulatan = new Lingkaran();
19.   bulatan.IsiJari(75);
20.   System.out.println(“Phi =”+bulatan.perolehPhi());
21.   System.out.println(“Keliling =  “+bulatan. ());
22.   System.out.println(“Luas =”+bulatan.perolehLuas());
23.   }
24.   }
Hasiloutput program :
Pembahasan:
Baris1 sampai 3 adalah deklarasi kelas yangdiberi nama Lingkaran. Dimana padakelas ini tedapat  2 atribut yaituatribut radius yang bertipe double  danatribut IsiJari yang berisi radius yang bertipe double. Baris 4 menyatakanbahwa atribut radius = radius. Baris 6 sampai 8 adalah salah satu method yangterdapat pada kelas Lingkaran yang diberi nama method perolehPhi yang bertipe double. Yang mana Phi bernilai 3.14.Baris 9 sampai 11 adalah salah satu method yang terdapat pada kelas Lingkaran yangdiberi nama method perolehKeliling yangbertipe double. Yang mana perolehKeliling marupakan hasil dari 2 dikali perolehPhi() dikalikandengan radius. Baris 12 sampai 14 adalah salah satu method yangterdapat pada kelas Lingkaran yang diberi nama method perolehLuas yang bertipe double. Yang mana perolehLuas marupakanhasil dari dikali perolehPhi() dikalikan dengan radius kuadrat. Baris 16 sampai 17 adalah namakelas yang akan dibuat yaitu PenentuMetode.Dimana kelas ini merupakan program utama dalam java yang berarti memulaiprogram dengan method main. Baris 18 adalah deklarasi Fungsi baru yang diberi nama bulatan yangterdapat pada kelas Lingkaran. Baris 19 adalah nilai input yang ada dikomputer.Dimana pada method IsiJari telah ditentukan berisi nilai 75. Baris 20 sampai 22adalah pernyataan utuk menampilkan hasil dari method perolehPhi,perolehKeliling,perolehLuas.
C.  TUGAS
1.     Buat program untuk menghitung volumebalok/kubus dan menemtukan apakah bangun yang dimasukkan balok atau kubus.
Program :
import java.util.Scanner;
class Volume{
            publicint a;
            publicint b;
            publicint c;
            publicvoid setA(int nilaiBaru){
            a=nilaiBaru;
            }
            publicvoid setB(int nilaiBaru){
            b=nilaiBaru;
            }
            publicvoid setC(int nilaiBaru){
            c=nilaiBaru;
            }
            publicint hitungVolume(){
            returna*b*c;
            }
}
            publicclass TugasObyekBangunRuang{
                        publicstatic void main(String[]args){
            Scannermasuk=new Scanner(System.in);
            inta, b, c;
            VolumePP=new Volume();
            System.out.print(“MasukkanSisi 1: “);
            a=masuk.nextInt();
            System.out.print(“MasukkanSisi 2: “);
            b=masuk.nextInt();
            System.out.print(“MasukkanSisi 3: “);
            c=masuk.nextInt();
            if((a==b) && (b==c))
            System.out.println(“Datayang dimasuukkan : Kubus”);
            else
            System.out.println(“Datayang dimasuukkan : Balok”);
            PP.setA(a);
            PP.setB(b);
            PP.setC(c);
            System.out.println(“Volume   =”+PP.hitungVolume());
            }
}
Hasil output program :
 
2.     Tugas dari dosen pengampu.
Tidak ada tugas daridosen pengampu
D.  KESIMPULAN
Isi dari kelas berisi semua kode yang disediakanuntuk obyek yang diciptakan dari kelas, yaitu konstruktor untuk untukinisialisasi obyek baru, deklarasi field yang menetapkan keadaan kelas , obyek,dan method untuk mengimplementasikan lingkungan dari kelas dan obyeknya. Dalampenemaanvariabel kita bisa menggunakan tipe primitive seperti int, float,boolean dan lain-lain. Atau kita bisa menggunakan tipe referensi seperti larik,string, atau bahkan obeyek sekalipun. Deklarasi konstruktor nampak sepertideklarasi method kecuali konstruktor menggunakan nama yang sama dengan namakelas dan tidak mempunyai tipe kembalian. Deklarasi untuk sbuah method atausebuah konstruktor  mendeklarasikansebuah kjumlah atau argument untuk method atu konstruktor tersebut. Kita dapatmenggunakan bebrapa tipe data untuk parameter dari sebuah method atraukonstruktor. Ini termasuk tipa data primitive seperti integer, boolean, floatdan lain-lain.
E.   LISTING
Terlampir.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s