MODUL II,PBO 1

       MENGENAL OBYEK
 

I.      MAKSUDDAN TUJUAN
·        Memahami secara jelas bagian dari kelasmeliputi field atau variabel, method atau sub program dan cara pemanggilannya.
·        Membuat objek untuk melakukanpemanggilan method di dalam suatu kelas.
·        Menggunakan kelas Math, sebuah kelasyang 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.   TEORIDASAR
      Baganidentifikasi 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
Untukmembuat obyek digunakan kata kunci new:
NamaKelas NamaObyek=new NamaKelas();
Untukmemanggil 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 voidsetJejari(double jejari){
     this.jejari=jejari;
     }
public doublegetJejari(){
     return this.jejari;
     }
public double luas(){
     return (3.14 * this.jejari * this.jejari);
     }
public static doubleluas(double jejari){
     return (3.14 * jejari * jejari);
     }
}
           
                  Pembahasan:
Sesuai dengan struktur pada bagan kelas diatas kita buat kelas Lingkaran. Hanya satu jenis variabel atau field atauatribut yang ada yaitu jejari, karena di dalam metode penghitungan baik luasmaupun keliling suatu lingkaran yang diperlukan adalah variabel jari-jari ataujejari. Konstruktor yang dapat digunakan adalah public Lingkaran() yaitu untukmendefinisikan  nilai jejari = 1.0. Subprogram yang diperlukan adalah setJejari(double jejari) yaitu method untukmelakukan perubahan atau nilai ulang terhadap variabel jejari. Sedangkan methodgetJejari adalah program yang digunakan untuk mengambil nilai jejari agar dapatdigunakan.
Sedangkan dua method lainnya yaitu publicdouble luas() yaitu sebuah method dengan nilai balik bertipe double. Merupakanmethod non parameter merupakan proses penghitungan luas lingkaran. Namun karenamethod ini tidak berbentuk static maka untuk memanggilnya kita memerlukaninstaniasi berupa pembentukan objek. Sedangkan method tipe yang sama namundengan modul static sehingga apabila diperlukan sewaktu memanggil tidakmemerlukan instaniasi objek.
           
Membuat program kelas Setigita
public class Segitiga{
  //daftar field
  double alas;
  double tinggi;
  //konstruktor
  public Segitiga(){
        }
  public voidsetAlas(double alas){
        this.alas=alas;
        }
  public voidsetTinggi(double tinggi){
        this.tinggi=tinggi;
        }
  //method hitungluas segitiga
  public doubleluas(){
        return(0.5 *this.alas * this.tinggi);
        }
  public staticdouble luas(double alas, double tinggi){
        return (0.5* alas * tinggi);
        }
}
                  Pembahasan:
Sebagaimana kelas Lingkaran di atas, pada kelassetitiga kita perlu mendefinisikan variabel yang akan digunakan dalam kelasini. Pada penghitungan luas segitiga yang diperlukan adalah variabel tinggi danalas.  Coba kita lihat di atas, kitadapat saja membuat konstruktor namun tidak ada parameter atau statemen, karenakadang konstruktor tidak mesti dibutuhkan dalam sebuah kelas, sedangkan yangjelas wajib adalah variabel/atribut dan method dalam hal ini alas dan tinggi.Method yang diperlukan sama yaitu penghitungan luas dengan 2 macam method, satudengan menggunakan statemen static dan satunya lagi tanpa static.
Pada dua kelas ini yaitu lingkaran dan segitigabelum ada kelas main sehingga apabila dikompail bisa jalan namun apabiladirunning belum ada hasil yang ditampilkan. Oleh karena itu kita memerlukankelas lain untuk melakukan pemanggilan, yaitu dengan kelas Test1.javasebagaimana di bawah.
Praktek 2. Membuat Objek
Program Kelas Test1.
class Test1{
public static void main(String[]args){
     Lingkaranbunder1=new Lingkaran();
     bunder1.setJejari(100);
     System.out.println(“jejari= “+bunder1.getJejari());
     double hasil=bunder1.luas();
     System.out.println(“luas   = “+hasil);
     Lingkaranbunder2=new Lingkaran();
     bunder2.setJejari(50);
     System.out.println(“jejari= “+bunder2.getJejari());
     doublehasil2=bunder2.luas();
     System.out.println(“luas   = “+hasil2);
     Segitiga segitiga=newSegitiga();
     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 mendefinisikanmethod main, dimana method ini berfungsi untuk dapat menampung parameter berupastring dalam banyak argumen. Sehingga method ini dapat menampilkan argumenapapun yang terdifinisi pada kelas lainnya. Langkah yang kedua adalah melakukaninstaniasi pada kelas yang akan dipanggil. Pada kasus ini karena kita inginmemanggil kelas Lingkaran maka kita harus menginetaniasi kelas Lingkaranmenjadi objek bunder1 dan bunder2.  Barusetelah itu bunder1 dan bunder2 masing-masing dapat digunakan untuk melakukanpemanggilan terhadap method-method yang berada di dalam kelas Lingkaran, yaitukelas setJejari, getJejari dan luas. Demikian juga pada objek bunder2 berfungsisama dengan berubahan pada nilai variabel jejari. Pada program ini hasil dariperhitungan method luas dimasukkan ke dalam variabel hasil1 dan variabel hasil2dan tipenya ditentukan sama dengan tipe variabel jejari pada kelas Lingkaran.
Pada statemen baris selanjutnya kita difinisikanobjek segitiga agar dapat digunakan untuk memanggil method setAlas dansetTinggi. Baru setelah itu objek segitiga dapat dimanfaatkan untuk memanggilvariabel alas, variabel tinggi dan method luas.
Demikian selanjutnya setelah dikompail kelas Test1 inidapat dirunning dan menghasilkan keluaran sebagaimana di bawah:
HASIL RUNNING
Praktik 3. Menggunakan kelas tanpa instaniasiobjek
Pemanggilan method atau atribute suatu kelas dapatdilakukan tanpa instasiasi objek Program kelas Test2.
class Test2{
public static void main(String args[]){
System.out.println(“LuasLingkaran”);
System.out.println(Lingkaran.luas(100));
System.out.println(“LuasSetigita = “+Segitiga.luas(10,20));
}
}
HASIL RUNNING:
Pembahasan:
Pada praktek di atas kita membuat 4 kelas yangberbeda yaitu kelas Segitiga, kelas Lingkaran,  kelas Test1 dan kelas Test2 sesuai denganstruktur kelas yang tertera di awal praktek. Pada kelas Segitiga berisi denganvariabel / field /atribut penyusun segitiga yang terdiri dari variabel tinggibertipe double dan alas bertipe double pula. Karena untuk menentukan beberapamethod terkait segitiga yaitu untuk mencari luas segitiga. Kemudian setiapvariabel untuk memberikan suatu nilai maka perlu masing-masing method setteryaitu setAlas(double) dan setTinggi(double). Dan satu lagi kelas untuk mencobaapakah suatu method apabila mempunyai akses static dapat dipanggil tanpamenggunakan instasiasi objek. Dan ternyata dengan kelas Test2.java teoritersebut benar.  Method berikut:
    public staticdouble luas(double alas, double tinggi){
         return (0.5  *  alas*  tinggi)
         }
Dapat dipanggil langsung dengan menginstasiasiobjek dengan cara pemanggilan:
NamaKelas.method(10, 20)
dapat menghasilkan nilai luas segitiga.
IV.       LATIHAN
Penambahan Modul Keliling untuk menghitungkeliling lingkaran;
public class Lingkaran{
     double jejari;
public Lingkaran(){
     this.jejari=1.0;
     }
public void setJejari(double jejari){
     this.jejari=jejari;
     }
public double getJejari(){
     returnthis.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 menampilkanhasil perhitungan keliling:
class Test1{
public static void main(String[]args){
     System.out.println(“”);
     System.out.println(“MENGHITUNGLINGKARAN 1”);
     System.out.println(“==============================”);
     Lingkaranbunder1=new Lingkaran();
     bunder1.setJejari(100);
     System.out.println(“jejari   = “+bunder1.getJejari());
     doublehasil=bunder1.luas();
     System.out.println(“luas     = “+hasil);
     doublekeliling=bunder1.keliling();
     System.out.println(“keliling= “+hasil);
     System.out.println(“”);
     System.out.println(“MENGHITUNGLINGKARAN 2”);
     System.out.println(“==============================”);
     Lingkaranbunder2=new Lingkaran();
     bunder2.setJejari(50);
     System.out.println(“jejari   = “+bunder2.getJejari());
     doublehasil2=bunder2.luas();
     System.out.println(“luas     = “+hasil2);
     doublekeliling2=bunder2.keliling();
     System.out.println(“keliling= “+keliling2);
     Segitigasegitiga=new Segitiga();
     segitiga.setAlas(10);
     segitiga.setTinggi(20);
     System.out.println(“”);
     System.out.println(“MENGHITUNGSEGI 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 menambahkanmethod untuk menghitung keliling lingkaran. Tidak perlu mendefinisikanvariabel/atribut tambahan karena variabel yang diperlukan untuk menghitungkeliling lingkaran sama dengan yang digunakan untuk menghitung luas, yaitu cukupjejari. Namun yang kita perlukan adalah menambah method keliling pada kelasLingkaran. Setelah itu kita tinggal melakukan penambahan sintak pada kelasTest1 yang digunakan untuk menampilkan hasil perhitungan keliling lingkaran.Karena sudah ada instaniasi objek Lingkaran dengan nama bunder1 dan bunder2maka kita tinggal melakukan pemanggilan method dengan melibatkan objek tersebutyaitu:
     doublekeliling=bunder1.keliling();
     System.out.println(“keliling= “+hasil);
     doublekeliling2=bunder2.keliling();
     System.out.println(“keliling= “+keliling2);
Maka akan terdefinisi sebagai kelilinglingkaran 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, danmenampilkan data masukan:
import java.util.Scanner;
class Mahasiswa{
public String nomhs;
public String nama;
public String jurusan;
public float ipk;
   public voidsetNomhs(String nomhs){
        this.nomhs=nomhs;
        }
        StringgetNomhs(){
             returnthis.nomhs;
             }
   public voidsetNama(String nama){
        this.nama=nama;
        }
        StringgetNama(){
             returnthis.nama;
             }
   public voidsetJurusan(String jurusan){
        this.jurusan=jurusan;
        }
        StringgetJurusan(){
             returnthis.jurusan;
             }
   public voidsetIpk(Float ipk){
        this.ipk=ipk;
        }
        FloatgetIpk(){
             returnthis.ipk;
             }
   public voidtampil(String nomhs, String nama, String jurusan, Float ipk){
   System.out.println(“=======================================”);
        System.out.println(“TAMPILKANDATA 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 staticvoid main(String []args){
             Scannermasuk=new Scanner(System.in);
        Mahasiswamhs=new Mahasiswa();
        System.out.print(“No.mhs  = “);
             Stringnomhs=masuk.nextLine();
             mhs.setNomhs(nomhs);
        System.out.print(“Nama     = “);
             Stringnama=masuk.nextLine();
             mhs.setNama(nama);
        System.out.print(“Jurusan  = “);
             Stringjurusan=masuk.nextLine();
             mhs.setJurusan(jurusan);
        System.out.print(“IPK      = “);
             Floatipk=masuk.nextFloat();
             mhs.setIpk(ipk);
        mhs.tampil(nomhs,nama, jurusan, ipk);
        }
}
            Pembahasan:
Tugas Modul 2 ini memodifikasi pada tugas modul 1yaitu 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 karenaitu kita memerlukan package util.scanner yang harus diimpor sebagaimana barisawal program Mahasiswa di atas. Selain kita harus menginstaniasi kelas menjadiobjek untuk melakukan pemanggilan terhadap method-method sebagaimanadidefinisikan di atas dalam bentuk input keyboard yang merupakan turunan darikelas scanner. Sehingga apabila program dirunning maka akan meminta kitamemasukkan Nomhs, Nama, Jurusan dan IPK. Setelah itu data masukan akanditampung pada variabel yang sudah didefinisikan yang kemudian akan ditampilkansebagaimana penggunaan method tampil(nomhs, nama, jurusan, ipk) dengan objekmhs.
Beberapa perintah yang harus dikenal dalampenggunaan kelas scanner, yaitu pada awal kelas mesti memakai perintah “importjava.util.Scanner;”, kemudian juga harus membuat instaniasi objek dari kelasscanner dengan cara “Scanner mhs=new Scanner(System.in);. Baru setelah itu kitadapat menggunakan kelas scanner ini untuk pola pengisian variabel melaluimasukan keyboard.
HASIL RUNNING PROGRAM:
2.   Membuat kelas dengan atribut dan method dariMath
class KelasMatematik{
public static void main(String[]args){
     doublebil1=-23.456;
     doublebil2=23.456;
     doublebil3=34.543;
     System.out.println(“Fungsiabs(“+bil1+”)        =”+Math.abs(+bil1));
     System.out.println(“Fungsiceil(“+bil2+”)        =”+Math.ceil(+bil2));
     System.out.println(“Fungsifloor(“+bil3+”)       =”+Math.floor(+bil2));
     System.out.println(“Fungsimax(“+bil2+”, “+bil3+”) = “+Math.max(+bil1,+bil2));
     System.out.println(“Fungsimin(“+bil1+”, “+bil3+”) = “+Math.min(+bil1,+bil2));
     }
}
Pembahasan:
Program ini adalah sebagian cara memanfaatkankelas Math. Dengan beberapa method / fungsi abs yaitu untuk mengabsolutkansebuah bilangan sehingga selalu bernilai positif. Fungsi ceil yaitu untukmembulatkan ke atas terhadap bilangan pecahan dan floor untuk membulatkan kebawah sebuah bilangan pecahan. Sedangkan max dan min dapat digunakan untukmelakukan pemilihan/perbandingan bilangan yang tertinggi dan terendah. Padakelas Math ini kita tidak perlu melakukan import karena package Math ini sudahinclude pada java. sebagaimana kelas Scanner.
HASILOUTPUT:
V.        KESIMPULAN
Dapat dikataka pada modul 2 ini kesimpulanhampir sama dengan kesimpulan modul 1, yaitu sebagai berikut:
1.           Adatiga bagian penting dalam sebuah kelas yaitu field/variabel, konstruktor danmethod. Namun yang harus ada adalah atribut/variabel/field dan method.
2.           Adadua tipe pemanggilan terhadap method, method dengan parameter void dapatdilakukan pemanggilan langsung tanpa harus menginstaniasi dengan objek namunmethod tanpa void dalam melakukan pemanggilan harus menciptakan objek.
3.           Untukmemudahkan dalam pembuatan program dengan menggunakan kelas dan method langkahyang sistematis adalah dengan membuat struktur kelas terlebih dahulu, karenaakan memudahkan dalam pembuatan.
4.           Didalam java ada kelas yang sudah menjadi bawaan program java, seperti kelasMath. Kelas Math ini merupakan sekelompok method fungsi-fungsi matematis didalam program java. Kelas Math ini dapat dipanggil tanpa harus melakukanimport, dalam melakukan pemanggilan tinggal mendefinisikan dengan menuliskanMath di depan method yang diinginkan sebagai contoh: Math.ceil(doublebilangan).
5.           Contohlain kelas bawaan java adalah kelas Scanner, agak berlainan dengan kelas Math, kelas Scanner ini dalam melakukanpemanggilan harus melakukan import terlebih dahulu untuk dapat menggunakannya.Kita harus menuliskan statemen “import java.util.Scanner;”, pada baris sebelumkelas Scanner ersebut digunaka.
6.           Untukmenampilkan hasil operasi harus ada method main, yaitu method yang akanmenampung semua argumen yang berupa string untuk menampilkan data-data yangdiinginkan. 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