Thursday, August 27, 2015

Laporan praktikum algoritma dan pemrograman java Pertemuan ke-15


PERTEMUAN 15
KELAS DAN OBYEK I


  1. TUJUAN
  • Dapat mengenal istilah kelas dalam program java
  • Dapat membuat sebuah kelas

  1. 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.

    1. 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
  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 { }
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
  1. Tidak ada atau ada modifier, seperti public atau private. Sebenarnya dengan tanpa menuliskan modifier, maka kita membuat deklarasi field tersebut sebagai default.
  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

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.




  1. 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.

  1. TUGAS
Membuat program untuk menghitung volume balok/kubus dan menentukan apakah bangun yang dimasukkan balok atau kubus.
O
utputnya:

No comments:

Post a Comment