MODUL XV, Algoritma Pemrograman I

KELAS DAN OBYEK I
A.   DASAR TEORI
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 disini dapat kelompok benda maupun mahkluk hidup. Misalnya orang, kendaraan, binatang, TV, radio.
Mendeklarasikan Sebuah Kelas
Pada bagian ini kita dapat membahas kelas secara luas. Termasuk atribut-atribut dan segala yang berkaitan dengan kelas yang ada di dalamnya.
Class KelasKu{
// deklarasi field, konstruktor dan method
}
Itu adalah deklarasi kelas dengan nama KelasKu. Deklarasi ini sudah sering kita buat sebelumya dengan menambah kata kunci diawalnya. Isi dari kelas berisi semua kode yang disediakan untuk obyek yang diciptakan dari kelas, yaitu konstruktor untuk untuk inisialisasi obyek baru, deklarasi field yang menetapkan keadaan kelas , obyek, dan method untuk mengimplementasikan lingkungan dari kelas dan obyeknya.
Komponen-komponen dalam deklarasi kelas :
·         Modifier seperti public, private, dan modifier lainnya 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 yang akan diimplementasikan dalam kelas, jika ada, diawali dengan kunci implement. Sebuah kelas boleh megimplementasikan dari satu interface.
·         Isi dari sebuah kelas yang diawali dan diakhiri dengan tanda kurung kurawal buka tutup.
Modifier pertama yang meyebabkan kita dapat mengkontrol apakah kelas-kelas lain mempunyai akses ke field anggota. Kita akan memfokuskan pada pembahasan ke public dan private saja, modifier yang lain akan dibicarakan lebih lanjut pada pembahasan mengenai pmrograman berorientasi obyek.
·         Modifier public : bisa diakses ke semua kelas
·         Modifier private : hanya bisa diakses kelas itu sendiri.
Tipe dan Nama Variabel
Semua variable harus mempunyai tipe. 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.
            Semua variable apakah itu field-field, variable local atau parameter mengikuti atura penanaman yang sama dengan kesepakatan yang berlaku dengan penanaman variable.
Aturan dan konvensi penanaman yang sama digunakan untuk method nama kelas, kecuali:
·         Huruf pertama nama kelas harus capital
·         Kata pertama pada method harus kata kerja.
Menyediakan Konstruktor untuk Kelas-kelas
Semua kelas berisi konstruktor yang dilibatkan untuk menciptakan obyek dari desain kelas. Deklarasi konstruktor nampak seperti deklarasi method kecuali 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 obeyk PersegiPanjang baru yang diberi nama persegi, sebuah konstruktor diberi nama dengan new.
PersegiPanjang persegi = new PersegiPajang(30,8);
new PersegiPajang(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 tanpa argument. Kalu sebuah kelas mempunyai lebih dari satu konstruktur, berarti dia juga bersifat overloading.
Melewatkan Informasi ke Sebuah Method atau Konstruktor
Deklarasi untuk sbuah method atau sebuah konstruktor  mendeklarasikan sebuah kjumlah atau argument untuk method atu konstruktor tersebut.
Tipe Parameter
Kita dapat menggunakan bebrapa tipe data untuk parameter dari sebuah method atrau konstruktor. Ini termasuk tipa data primitive seperti integer, boolean, float dan lain-lain.
Jumlah Argumen yang Sembarang
Kita dapat menggunakan sebuah kontruktor yang disebut varargs untuk melewati sejumlah sembarang nilai ke method. Kita menggunakan varargs ketika kita tidak tahu berapa banyak dari tipe tertentu dari argument yag dilewatkan dalam method. Ini adalah shortcut untuk menciptakan sebuah larik secara manual.
Dalam sebuah method intense atau konstruktor, this adalah sebuah orientasi ke obyek dimana method atau konstruktor dipanggil. Kita dapat mereferensi kebebrapa member dari obeyk sekarang dari dalam sebuah method intense atau konstruktor denganmenggunakan 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. public void setLebar(int nilaiBaru){
8. lebar = nilaiBaru;
9. }
10. public int getPanjang(){
11. return panjang ;
12. }
13. public int getLebar(){
14. return lebar;
15. }
16. public int hitungLuas(){
17. return panjang * lebar;
18. }
19. public int hitungKeliling(){
20. return 2 * (panjang + lebar);
21. }
22. }
23. public class Panjang {
24. public static void main(String args[]){
25. PersegiPanjang PP = new PersegiPanjang();
26. PersegiPanjang PP1 = 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. }
Hasil output program :
Pembahasan :
Baris 1 sampai 4 adalah sebuah deklarasi kelas yang diberi nama PersegiPanjang. Dimana pada kelas ini tedapat  2 atribut yaitu atribut panjang yang bertipe integer dan atribut lebar yang juga bertipe integer. Baris 4 sampai 6 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method setPanjang. Pada method ini berisi variabel nilaiBaru yang merupakan data bertipe integer. Dimana panjang adalah nilaiBaru. Baris 7 sampai 9 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method setLebar. Pada method ini berisi variabel nilaiBaru yang merupakan data bertipe integer. Dimana lebar adalah nilaiBaru. Baris 10 sampai 12 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method getPanjang. Pada method ini terdapat return yang berfungsi untuk mengembalikan nilai variable panjang ke method. Baris 13 sampai 15 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method getLebar. Pada method ini terdapat return yang berfungsi untuk mengembalikan nilai variable lebar ke method. Baris 16 sampai 18 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method hitungLuas yang bertipe integer. Yang mana hitungLuas marupakan hasil dari variabel panjang dikalikan dengan variabel lebar. Baris 19 sampai 21 adalah salah satu method yang terdapat pada kelas PersegiPanjang yang diberi nama method hitungKeliling yang bertipe integer. Yang mana hitungKeliling merupakan hasil dari variabel panjang ditambah dengan variabel lebar kemudian dikalikan 2. Baris 23 samapai 24 secara berurutan  adalah deklarasi kelas Panjang dan method main. Baris 25 dan 26 adalah deklarasi Fungsi baru yang diberi nama PP dan PP1 yang terdapat pada kelas PersegiPanjang. Baris 27 sampai 28 adalah nilai input yang ada dikomputer. Dimana pada method setLebar telah ditentukan 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.    }
Hasil output program :
Pembahasan :
Baris 1 sampai 3 adalah deklarasi kelas yang diberi nama Lingkaran. Dimana pada kelas ini tedapat  2 atribut yaitu atribut radius yang bertipe double  dan atribut IsiJari yang berisi radius yang bertipe double. Baris 4 menyatakan bahwa atribut radius = radius. Baris 6 sampai 8 adalah salah satu method yang terdapat 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 yang diberi nama method perolehKeliling yang bertipe double. Yang mana perolehKeliling marupakan hasil dari 2 dikali perolehPhi() dikalikan dengan radius. Baris 12 sampai 14 adalah salah satu method yang terdapat pada kelas Lingkaran yang diberi nama method perolehLuas yang bertipe double. Yang mana perolehLuas marupakan hasil dari dikali perolehPhi() dikalikan dengan radius kuadrat. Baris 16 sampai 17 adalah nama kelas yang akan dibuat yaitu PenentuMetode. Dimana kelas ini merupakan program utama dalam java yang berarti memulai program dengan method main. Baris 18 adalah deklarasi Fungsi baru yang diberi nama bulatan yang terdapat pada kelas Lingkaran. Baris 19 adalah nilai input yang ada dikomputer. Dimana pada method IsiJari telah ditentukan berisi nilai 75. Baris 20 sampai 22 adalah pernyataan utuk menampilkan hasil dari method perolehPhi, perolehKeliling, perolehLuas.
C.   TUGAS
1.      Buat program untuk menghitung volume balok/kubus dan menemtukan apakah bangun yang dimasukkan balok atau kubus.
Program :
import java.util.Scanner;
class Volume{
            public int a;
            public int b;
            public int c;
            public void setA(int nilaiBaru){
            a=nilaiBaru;
            }
            public void setB(int nilaiBaru){
            b=nilaiBaru;
            }
            public void setC(int nilaiBaru){
            c=nilaiBaru;
            }
            public int hitungVolume(){
            return a*b*c;
            }
}
            public class TugasObyekBangunRuang{
                        public static void main(String[]args){
            Scanner masuk=new Scanner(System.in);
            int a, b, c;
            Volume PP=new Volume();
            System.out.print(“Masukkan Sisi 1: “);
            a=masuk.nextInt();
            System.out.print(“Masukkan Sisi 2: “);
            b=masuk.nextInt();
            System.out.print(“Masukkan Sisi 3: “);
            c=masuk.nextInt();
            if ((a==b) && (b==c))
            System.out.println(“Data yang dimasuukkan : Kubus”);
            else
            System.out.println(“Data yang 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 dari dosen pengampu
D.   KESIMPULAN
Isi dari kelas berisi semua kode yang disediakan untuk obyek yang diciptakan dari kelas, yaitu konstruktor untuk untuk inisialisasi obyek baru, deklarasi field yang menetapkan keadaan kelas , obyek, dan method untuk mengimplementasikan lingkungan dari kelas dan obyeknya. Dalam penemaanvariabel 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 seperti deklarasi method kecuali konstruktor menggunakan nama yang sama dengan nama kelas dan tidak mempunyai tipe kembalian. Deklarasi untuk sbuah method atau sebuah konstruktor  mendeklarasikan sebuah kjumlah atau argument untuk method atu konstruktor tersebut. Kita dapat menggunakan bebrapa tipe data untuk parameter dari sebuah method atrau konstruktor. Ini termasuk tipa data primitive seperti integer, boolean, float dan 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