MODUL II,PBO 1

       MENGENAL OBYEK
 

I.       MAKSUD DAN TUJUAN
·         Memahami secara jelas bagian dari kelas meliputi field atau variabel, method atau sub program dan cara pemanggilannya.
·         Membuat objek untuk melakukan pemanggilan method di dalam suatu kelas.
·         Menggunakan kelas Math, sebuah kelas yang sudah terbundel menjadi paket pada program java antara lain abs(double a), ceil(double a), floor(double a), max(double a, double b) dan min(double a, double b).
II.    TEORI DASAR
      Bagan identifikasi variabel dan method sebuah obyek mobil.
Variabel Instan
Nomor Plat
ABC 111
XYZ123
Warna
Biru
Merah
Manufaktur
Mitsubisi
Toyota
Kecepatan
50 km/h
100 km/h
Method Instan
Method Akselerasi
Method Belok
Method Rem
Untuk membuat obyek digunakan kata kunci new:
NamaKelas NamaObyek=new NamaKelas();
Untuk memanggil method dapat digunakan sintaks sebagai berikut:
            namaObyek.nama_method([parameter]);
III. PELAKSANAAN
Praktik 1. Buat Kelas Diagram sebagai berikut:
Lingkaran
Double jejari;
Public void lingkaran()
Public void setJari(double)
Public double getJejari()
Public double luas()
Public static double luas(double)
Segitiga
Double alas;
Double tinggi;
Public void SEgitiga()
Public void setAlas(double)
Public void setTinggi(double)
Public double luas()
Public static double luas(double)
Test1
Public static void main(String []args)
Test1
Public static void main(String []args)
Kode program kelas Lingkaran:
public class Lingkaran{
     double jejari;
public Lingkaran(){
     this.jejari=1.0;
     }
public void setJejari(double jejari){
     this.jejari=jejari;
     }
public double getJejari(){
     return this.jejari;
     }
public double luas(){
     return (3.14 * this.jejari * this.jejari);
     }
public static double luas(double jejari){
     return (3.14 * jejari * jejari);
     }
}
           
                  Pembahasan:
Sesuai dengan struktur pada bagan kelas di atas kita buat kelas Lingkaran. Hanya satu jenis variabel atau field atau atribut yang ada yaitu jejari, karena di dalam metode penghitungan baik luas maupun keliling suatu lingkaran yang diperlukan adalah variabel jari-jari atau jejari. Konstruktor yang dapat digunakan adalah public Lingkaran() yaitu untuk mendefinisikan  nilai jejari = 1.0. Sub program yang diperlukan adalah setJejari(double jejari) yaitu method untuk melakukan perubahan atau nilai ulang terhadap variabel jejari. Sedangkan method getJejari adalah program yang digunakan untuk mengambil nilai jejari agar dapat digunakan.
Sedangkan dua method lainnya yaitu public double luas() yaitu sebuah method dengan nilai balik bertipe double. Merupakan method non parameter merupakan proses penghitungan luas lingkaran. Namun karena method ini tidak berbentuk static maka untuk memanggilnya kita memerlukan instaniasi berupa pembentukan objek. Sedangkan method tipe yang sama namun dengan modul static sehingga apabila diperlukan sewaktu memanggil tidak memerlukan instaniasi objek.
           
Membuat program kelas Setigita
public class Segitiga{
  //daftar field
  double alas;
  double tinggi;
  //konstruktor
  public Segitiga(){
        }
  public void setAlas(double alas){
        this.alas=alas;
        }
  public void setTinggi(double tinggi){
        this.tinggi=tinggi;
        }
  //method hitung luas segitiga
  public double luas(){
        return(0.5 * this.alas * this.tinggi);
        }
  public static double luas(double alas, double tinggi){
        return (0.5 * alas * tinggi);
        }
}
                  Pembahasan:
Sebagaimana kelas Lingkaran di atas, pada kelas setitiga kita perlu mendefinisikan variabel yang akan digunakan dalam kelas ini. Pada penghitungan luas segitiga yang diperlukan adalah variabel tinggi dan alas.  Coba kita lihat di atas, kita dapat saja membuat konstruktor namun tidak ada parameter atau statemen, karena kadang konstruktor tidak mesti dibutuhkan dalam sebuah kelas, sedangkan yang jelas wajib adalah variabel/atribut dan method dalam hal ini alas dan tinggi. Method yang diperlukan sama yaitu penghitungan luas dengan 2 macam method, satu dengan menggunakan statemen static dan satunya lagi tanpa static.
Pada dua kelas ini yaitu lingkaran dan segitiga belum ada kelas main sehingga apabila dikompail bisa jalan namun apabila dirunning belum ada hasil yang ditampilkan. Oleh karena itu kita memerlukan kelas lain untuk melakukan pemanggilan, yaitu dengan kelas Test1.java sebagaimana di bawah.
Praktek 2. Membuat Objek
Program Kelas Test1.
class Test1{
public static void main(String[]args){
     Lingkaran bunder1=new Lingkaran();
     bunder1.setJejari(100);
     System.out.println(“jejari = “+bunder1.getJejari());
     double hasil=bunder1.luas();
     System.out.println(“luas   = “+hasil);
     Lingkaran bunder2=new Lingkaran();
     bunder2.setJejari(50);
     System.out.println(“jejari = “+bunder2.getJejari());
     double hasil2=bunder2.luas();
     System.out.println(“luas   = “+hasil2);
     Segitiga segitiga=new Segitiga();
     segitiga.setAlas(10);
     segitiga.setTinggi(20);
     System.out.println(“Alas   = “+segitiga.alas);
     System.out.println(“Tinggi = “+segitiga.tinggi);
     System.out.println(“Luas   = “+segitiga.luas());
     }
}
                        Pembahasan:
Pertama-tama yang diperlukan adalah mendefinisikan method main, dimana method ini berfungsi untuk dapat menampung parameter berupa string dalam banyak argumen. Sehingga method ini dapat menampilkan argumen apapun yang terdifinisi pada kelas lainnya. Langkah yang kedua adalah melakukan instaniasi pada kelas yang akan dipanggil. Pada kasus ini karena kita ingin memanggil kelas Lingkaran maka kita harus menginetaniasi kelas Lingkaran menjadi objek bunder1 dan bunder2.  Baru setelah itu bunder1 dan bunder2 masing-masing dapat digunakan untuk melakukan pemanggilan terhadap method-method yang berada di dalam kelas Lingkaran, yaitu kelas setJejari, getJejari dan luas. Demikian juga pada objek bunder2 berfungsi sama dengan berubahan pada nilai variabel jejari. Pada program ini hasil dari perhitungan method luas dimasukkan ke dalam variabel hasil1 dan variabel hasil2 dan tipenya ditentukan sama dengan tipe variabel jejari pada kelas Lingkaran.
Pada statemen baris selanjutnya kita difinisikan objek segitiga agar dapat digunakan untuk memanggil method setAlas dan setTinggi. Baru setelah itu objek segitiga dapat dimanfaatkan untuk memanggil variabel alas, variabel tinggi dan method luas.
Demikian selanjutnya setelah dikompail kelas Test1 ini dapat dirunning dan menghasilkan keluaran sebagaimana di bawah:
HASIL RUNNING
Praktik 3. Menggunakan kelas tanpa instaniasi objek
Pemanggilan method atau atribute suatu kelas dapat dilakukan tanpa instasiasi objek Program  kelas Test2.
class Test2{
public static void main(String args[]){
System.out.println(“Luas Lingkaran”);
System.out.println(Lingkaran.luas(100));
System.out.println(“Luas Setigita = “+Segitiga.luas(10,20));
}
}
HASIL RUNNING:
Pembahasan:
Pada praktek di atas kita membuat 4 kelas yang berbeda yaitu kelas Segitiga, kelas Lingkaran,  kelas Test1 dan kelas Test2 sesuai dengan struktur kelas yang tertera di awal praktek. Pada kelas Segitiga berisi dengan variabel / field /atribut penyusun segitiga yang terdiri dari variabel tinggi bertipe double dan alas bertipe double pula. Karena untuk menentukan beberapa method terkait segitiga yaitu untuk mencari luas segitiga. Kemudian setiap variabel untuk memberikan suatu nilai maka perlu masing-masing method setter yaitu setAlas(double) dan setTinggi(double). Dan satu lagi kelas untuk mencoba apakah suatu method apabila mempunyai akses static dapat dipanggil tanpa menggunakan instasiasi objek. Dan ternyata dengan kelas Test2.java teori tersebut benar.  Method berikut:
    public static double luas(double alas, double tinggi){
         return (0.5  *  alas *  tinggi)
         }
Dapat dipanggil langsung dengan menginstasiasi objek dengan cara pemanggilan:
NamaKelas.method(10, 20)
dapat menghasilkan nilai luas segitiga.
IV.       LATIHAN
Penambahan Modul Keliling untuk menghitung keliling lingkaran;
public class Lingkaran{
     double jejari;
public Lingkaran(){
     this.jejari=1.0;
     }
public void setJejari(double jejari){
     this.jejari=jejari;
     }
public double getJejari(){
     return this.jejari;
     }
public double luas(){
     return (3.14 * this.jejari * this.jejari);
     }
//Menambah modul keliling lingkaran
public double keliling(){
     return (0.5 * this.jejari * this.jejari);
     }
public static double luas(double jejari){
     return (3.14 * jejari * jejari);
     }
}
Ditambahkan juga pada program test1.java berupa sintak untuk menampilkan hasil perhitungan keliling:
class Test1{
public static void main(String[]args){
     System.out.println(“”);
     System.out.println(“MENGHITUNG LINGKARAN 1”);
     System.out.println(“==============================”);
     Lingkaran bunder1=new Lingkaran();
     bunder1.setJejari(100);
     System.out.println(“jejari   = “+bunder1.getJejari());
     double hasil=bunder1.luas();
     System.out.println(“luas     = “+hasil);
     double keliling=bunder1.keliling();
     System.out.println(“keliling = “+hasil);
     System.out.println(“”);
     System.out.println(“MENGHITUNG LINGKARAN 2”);
     System.out.println(“==============================”);
     Lingkaran bunder2=new Lingkaran();
     bunder2.setJejari(50);
     System.out.println(“jejari   = “+bunder2.getJejari());
     double hasil2=bunder2.luas();
     System.out.println(“luas     = “+hasil2);
     double keliling2=bunder2.keliling();
     System.out.println(“keliling = “+keliling2);
     Segitiga segitiga=new Segitiga();
     segitiga.setAlas(10);
     segitiga.setTinggi(20);
     System.out.println(“”);
     System.out.println(“MENGHITUNG SEGI TIGA”);
     System.out.println(“==============================”);
     System.out.println(“Alas   = “+segitiga.alas);
     System.out.println(“Tinggi = “+segitiga.tinggi);
     System.out.println(“Luas   = “+segitiga.luas());
     }
}
Pembahasan:
Pada praktek modul 1 ini diminta untuk menambahkan method untuk menghitung keliling lingkaran. Tidak perlu mendefinisikan variabel/atribut tambahan karena variabel yang diperlukan untuk menghitung keliling lingkaran sama dengan yang digunakan untuk menghitung luas, yaitu cukup jejari. Namun yang kita perlukan adalah menambah method keliling pada kelas Lingkaran. Setelah itu kita tinggal melakukan penambahan sintak pada kelas Test1 yang digunakan untuk menampilkan hasil perhitungan keliling lingkaran. Karena sudah ada instaniasi objek Lingkaran dengan nama bunder1 dan bunder2 maka kita tinggal melakukan pemanggilan method dengan melibatkan objek tersebut yaitu:
     double keliling=bunder1.keliling();
     System.out.println(“keliling = “+hasil);
     double keliling2=bunder2.keliling();
     System.out.println(“keliling = “+keliling2);
Maka akan terdefinisi sebagai keliling lingkaran dengan setJejari nilai yang pertama dan setJejari nilai yang ke dua, yakni blunder1.keliling() dan blunder2.keliling().
HASIL RUNNNING PROGRAM
V.          TUGAS
Melengkapi kelas Mahasiswa (Modul 1) dengan paket Scanner, memberikan fasilitas menerima masukan dari keyboar, dan menampilkan data masukan:
import java.util.Scanner;
class Mahasiswa{
public String nomhs;
public String nama;
public String jurusan;
public float ipk;
   public void setNomhs(String nomhs){
        this.nomhs=nomhs;
        }
        String getNomhs(){
             return this.nomhs;
             }
   public void setNama(String nama){
        this.nama=nama;
        }
        String getNama(){
             return this.nama;
             }
   public void setJurusan(String jurusan){
        this.jurusan=jurusan;
        }
        String getJurusan(){
             return this.jurusan;
             }
   public void setIpk(Float ipk){
        this.ipk=ipk;
        }
        Float getIpk(){
             return this.ipk;
             }
   public void tampil(String nomhs, String nama, String jurusan, Float ipk){
   System.out.println(“=======================================”);
        System.out.println(“TAMPILKAN DATA MAHASISWA : “);
   System.out.println(“=======================================”);
        System.out.println(“No. Mhs. = “+this.nomhs);
        System.out.println(“Nama     = “+this.nama);
        System.out.println(“Jurusan  = “+this.jurusan);
        System.out.println(“IPK      = “+this.ipk);
   }
   public static void main(String []args){
             Scanner masuk=new Scanner(System.in);
        Mahasiswa mhs=new Mahasiswa();
        System.out.print(“No. mhs  = “);
             String nomhs=masuk.nextLine();
             mhs.setNomhs(nomhs);
        System.out.print(“Nama     = “);
             String nama=masuk.nextLine();
             mhs.setNama(nama);
        System.out.print(“Jurusan  = “);
             String jurusan=masuk.nextLine();
             mhs.setJurusan(jurusan);
        System.out.print(“IPK      = “);
             Float ipk=masuk.nextFloat();
             mhs.setIpk(ipk);
        mhs.tampil(nomhs, nama, jurusan, ipk);
        }
}
            Pembahasan:
Tugas Modul 2 ini memodifikasi pada tugas modul 1 yaitu membuat program kelas Mahasiswa dengan beberapa method yaitu setNomhs, setNama, setJurusan dan setIpk. Variabel yang dimiliki juga sama yaitu nomhs, nama, jurusan dan ipk. Program dibuat agar dapat menerima masukan oleh karena itu kita memerlukan package util.scanner yang harus diimpor sebagaimana baris awal program Mahasiswa di atas. Selain kita harus menginstaniasi kelas menjadi objek untuk melakukan pemanggilan terhadap method-method sebagaimana didefinisikan di atas dalam bentuk input keyboard yang merupakan turunan dari kelas scanner. Sehingga apabila program dirunning maka akan meminta kita memasukkan Nomhs, Nama, Jurusan dan IPK. Setelah itu data masukan akan ditampung pada variabel yang sudah didefinisikan yang kemudian akan ditampilkan sebagaimana penggunaan method tampil(nomhs, nama, jurusan, ipk) dengan objek mhs.
Beberapa perintah yang harus dikenal dalam penggunaan kelas scanner, yaitu pada awal kelas mesti memakai perintah “import java.util.Scanner;”, kemudian juga harus membuat instaniasi objek dari kelas scanner dengan cara “Scanner mhs=new Scanner(System.in);. Baru setelah itu kita dapat menggunakan kelas scanner ini untuk pola pengisian variabel melalui masukan keyboard.
HASIL RUNNING PROGRAM:
2.   Membuat kelas dengan atribut dan method dari Math
class KelasMatematik{
public static void main(String[]args){
     double bil1=-23.456;
     double bil2=23.456;
     double bil3=34.543;
     System.out.println(“Fungsi abs(“+bil1+”)        = “+Math.abs(+bil1));
     System.out.println(“Fungsi ceil(“+bil2+”)        = “+Math.ceil(+bil2));
     System.out.println(“Fungsi floor(“+bil3+”)       = “+Math.floor(+bil2));
     System.out.println(“Fungsi max(“+bil2+”, “+bil3+”) = “+Math.max(+bil1,+bil2));
     System.out.println(“Fungsi min(“+bil1+”, “+bil3+”) = “+Math.min(+bil1,+bil2));
     }
}
Pembahasan:
Program ini adalah sebagian cara memanfaatkan kelas Math. Dengan beberapa method / fungsi abs yaitu untuk mengabsolutkan sebuah bilangan sehingga selalu bernilai positif. Fungsi ceil yaitu untuk membulatkan ke atas terhadap bilangan pecahan dan floor untuk membulatkan ke bawah sebuah bilangan pecahan. Sedangkan max dan min dapat digunakan untuk melakukan pemilihan/perbandingan bilangan yang tertinggi dan terendah. Pada kelas Math ini kita tidak perlu melakukan import karena package Math ini sudah include pada java. sebagaimana kelas Scanner.
HASIL OUTPUT:
V.        KESIMPULAN
Dapat dikataka pada modul 2 ini kesimpulan hampir sama dengan kesimpulan modul 1, yaitu sebagai berikut:
1.            Ada tiga bagian penting dalam sebuah kelas yaitu field/variabel, konstruktor dan method. Namun yang harus ada adalah atribut/variabel/field dan method.
2.            Ada dua tipe pemanggilan terhadap method, method dengan parameter void dapat dilakukan pemanggilan langsung tanpa harus menginstaniasi dengan objek namun method tanpa void dalam melakukan pemanggilan harus menciptakan objek.
3.            Untuk memudahkan dalam pembuatan program dengan menggunakan kelas dan method langkah yang sistematis adalah dengan membuat struktur kelas terlebih dahulu, karena akan memudahkan dalam pembuatan.
4.            Di dalam java ada kelas yang sudah menjadi bawaan program java, seperti kelas Math. Kelas Math ini merupakan sekelompok method fungsi-fungsi matematis di dalam program java. Kelas Math ini dapat dipanggil tanpa harus melakukan import, dalam melakukan pemanggilan tinggal mendefinisikan dengan menuliskan Math di depan method yang diinginkan sebagai contoh: Math.ceil(double bilangan).
5.            Contoh lain kelas bawaan java adalah kelas Scanner,  agak berlainan dengan kelas Math, kelas Scanner ini dalam melakukan pemanggilan harus melakukan import terlebih dahulu untuk dapat menggunakannya. Kita harus menuliskan statemen “import java.util.Scanner;”, pada baris sebelum kelas Scanner ersebut digunaka.
6.            Untuk menampilkan hasil operasi harus ada method main, yaitu method yang akan menampung semua argumen yang berupa string untuk menampilkan data-data yang diinginkan. Tanpa method main ini suatu kelas tidak akan ditampilkan.
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