Senin, 19 November 2012

Inheritance


di Java, cara membuat turunan dari sebuah kelas adalah dengan kata “extends”, misalnya anda punya Kelas “Bentuk2D” lalu anda ingin memecah lagi menjadi yang lebih spesifik menjadi “Persegi Panjang lalu anda ingin memecah lagi menjadi yang lebih spesifik menjadi "Balok"  
 
Kelas Parent
 
public abstract class Bentuk2D {
   
//state
    int panjang = 1;
    int lebar = 1;
    int tinggi = 1;
//behaviour
    public abstract double hitungluas();
    public abstract String getBentuk();
}

Turunan Pertama

public class Persegipanjang extends Bentuk2D{
     //turunan pertama dari Bentuk2D
    public void SetPanjanglebar(int panjang1, int lebar1){
//method void tanpa nilai kembali disini mengatur panjang1 dan lebar1 dengan tipe int
        panjang = panjang1;
        lebar = lebar1;

//panjang1 menunjuk panjang di kelas Bentuk2D
//lebar1 menunjuk lebar di kelas Bentuk2D

            }
   
    @Override
    public double hitungluas(){//method hitungluas dengan type double
        return panjang*lebar;//menerima nilai kembalian
    }

   
    public String getBentuk() {//method getBentuk dengan type String
        return "Persegi Panjang";//menerima nilai kembalian
    }
}
 
 
Turunan Kedua
 
 public class Balok extends Persegipanjang{//turunan dari class Persegipanjang
    public void setTinggi(int tinggi1){

//method void tanpa nilai kembali disini mengatur panjang1 dan lebar1 dengan tipe int
        tinggi = tinggi1;//tinggi1 menunjuk tinggi di kelas Bentuk2D   
}
    public double hitungVolume(){//method hitungVolume dengan type double
        return hitungluas()*tinggi; //menerima nilai kembalian
      
    }
    @Override
    public String getBentuk() {

//method getBentuk dengan type String
         return "Balok";
//menerima nilai kembalian
     }
}
 
 


























Minggu, 28 Oktober 2012

Pendeklarasian Objek, Class, Method, dan Overloading

Persegi Panjang

Pengertian Konstruktor

Konstruktor pada Java merupakan method khusus yang dipakai oleh Java untuk membuat sebuah object didalam kelas dan tiap kelas boleh memiliki lebih dari satu konstruktor.
Karakteristik Konstruktor:
1.Konstruktor harus menggunakan nama yang sama dengan class.termasuk huruf besar dan kecilnya.
2.Dalam satu class bisa terdapat lebih dari satu konstruktor.
3.konstruktor akan dieksekusi setiap kli ada pembuatan objek.
4.Setiap class harus mempunyai paling tidak sebuah konstruktor.

5.konstruktor tidak memiliki hak akses.
6.Jika sudah mendeklarasikan konstruktor, maka konstruktor default tidak akan dibuat oleh kompiler Java.
Sebuah class memiliki beberapa konstruktor.Konstruktor yang dibuat lebih dari satu dibunakan untuk keperluan berikut:
1.Menentukan nilai Instance variabel yang berbeda. Jadi, pada setiap konstruktor diinisialisasi variabel yang berbeda.
2.Melakukan tugas awal dengan menjalankan metode tertentu,seperti untuk melakukan penghitungan. Jadi, selama konstruktor dijalankan,akan dilakukan penghitungan.
Contoh deklarasi konstruktor



/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package praktikum2;

/**
 *
 * @author DeeperKyo
 */
public class persegipanjang1 {
    private int lebar;

    //inisialisasi var lebar yang memiliki tipe data int
    private int panjang;
    //inisialisasi var lebar yang memiliki tipe data int

    persegipanjang1(){//identifier_class([tipe identifier,tipe identifier,...]){
        // merupakan konstuctor dari klas persegipanjang1
        // konsructor harus sama persis dengan nama klasnya
        // tetapi tidak memiliki hak akses
        panjang = 10;
// inisialisasi variabel panjang = 10
        lebar =12;
// inisialisasi variabel lebar = 12
    }

    persegipanjang1 (int panjang, int lebar){
        // deklarasi method dan parameter
        this.panjang = panjang;
        // panjang yang dideklarasikan menunjuk pada panjang
        // yang ada pada class
        this.lebar = lebar;
    }

// metode hitung hasil merupakan metode overloading, dimana nama methodnya sama tetapi beda parameternya.
    public void hitungHasil(){
        // memdeklarasikan hitung hasil yang void(tidak menerima nilai kembali)
        System.out.println(lebar*panjang);
    }


    public void hitungHasil(int panjang, int lebar){
// memasukan method hitung hasil dengan parameter int panjang dan lebar.
        setpanjang(panjang);
        setlebar(lebar);
        hitungHasil();
    }

//metode setter
    public void setlebar(int lebar){
        if(lebar>0){
            this.lebar = lebar;
        }
        else{
            System.out.println("inputan anda salah");

        }
    }
    public void setpanjang(int panjang){
        if(panjang>0){
            this.panjang= panjang;
        }
        else{
            System.out.println("inputan anda salah");
        }
    }
    public int getpanjang(){
        return panjang;
    }
    public int getlebar(){
        return lebar;
    }
    public static void main(String [] args){

        // Membuat object
        persegipanjang1 a = new persegipanjang1();
        a.hitungHasil();

        // Memanggil method dan menunjuk nilai parameter
        a.hitungHasil(20, 10);
        persegipanjang1 b = new persegipanjang1(11,12);
        b.hitungHasil();
        b.hitungHasil(12, 10);
        persegipanjang1 c = new persegipanjang1();
        c.setlebar(8);
        c.setpanjang(12);
        c.hitungHasil();
        c.hitungHasil(120, 2);
        c.hitungHasil(a.getpanjang(),a.getlebar());
        c.hitungHasil(b.getpanjang(),b.getlebar());
        c.hitungHasil(c.getpanjang(),c.getlebar());
    System.out.println();
    }

}


Pengertian Parameter

Statistik parametrik berhubungan dengan inferensi statistik yang membahas parameter-parameter populasi jenis data interval atau rasio distribusi data normal atau mendekati normal.
Parameter merupakan kerakteristik dari hasil pengukuran suatu objek.Ukuran parameter statistika   dihitung dari data sampel atau populasi. Parameter statistika yang seiring digunakan dalam analisis statistika adalah rata-rata, varian atau deviasi standar, dan korelasi.

Pengertian Overloading , Overriding , Inheritance , Encapsulation

Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :

  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama
Sample Overloading pada function TaxCalc pada C#.Net :

public static double TaxCalc(double pamt1, double prate1, double pamt2,
double prate2)
{
double taxamt;

Console.WriteLine(“Using method with 4 arguments”);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);

return taxamt;
} // *** TaxCalc ***
// This method only takes two arguments: an amount and a rate
public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;

Console.WriteLine(“Using method with 2 arguments”);
taxamt = pamt1 * prate1;

return taxamt;
} // *** TaxCalc ***
// This method only takes one argument: an amount
public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;

Console.WriteLine(“Using method with 1 argument”);
taxamt = pamt * taxrate;

return taxamt;
} // *** TaxCalc ***
// This method only takes one argument as well but it differs
// from the above in the argument type.
public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);

if (whichtable == “TaxTable1″)
taxrate = 0.15;

return taxrate;
}

Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya

contoh Overriding pada C#.Net

abstract class ShapesClass
{
    abstract public int Area();
}

class Square : ShapesClass
{
    int x, y;
    // Because ShapesClass.Area is abstract, failing to override
    // the Area method would result in a compilation error.
    public override int Area()
    {
        return x * y;
    }
}
 
Enkapsulasi = Pembungkusan , maksudnya di sini semua objek yang kita definisikan / bisa juga informasi kita sembunyikan di dalam enkapsulasi tersebut agar tidak dapat dibaca oleh kelas lain yang tidak berhak membacanya. maksudnya secara lebih jelas agar memastikan agar object hanya dapat di ubah oleh object yang mendapat ijin untuk mengubahnya , bila tidak memiliki ijin maka tidak dapat mengubahnya atau membacanya.
Polymorphism = Memiliki Banyak Bentuk.

Contoh Polymorphism

public class BaseClass
{
    public void DoWork() { }
    public int WorkField;
    public int WorkProperty
    {
        get { return 0; }
    }
}

public class DerivedClass : BaseClass
{
    public new void DoWork() { }
    public new int WorkField;
    public new int WorkProperty
    {
        get { return 0; }
    }
}
Inheritance = Pewarisan , Mewariskan objek yang dimiliki ke pada objek yang diturunkan , bersifat menyeluruh.
Kelas yang mewariskan biasa di sebut super class / class induk
Kelas yang diwariskan biasa di sebut sub class / kelas anak
Secara lebih singkat begini :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg .
Ini merupakan inheritance terhadap A kepada B , dan inheritance bukan hanya dapat 1x diwariskan , tetapi dapat lebih dari 1x. seperti berikut :
A sebagai Ayah memiliki Anak bernama B , A berkulit Hitam maka B akan berkulit Hitam jg . dan B pun memiliki anak C maka C pun akan berkulit hitam
Keuntungan dari inheritance :
- Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup menurunkan dari class induk
- Memudahkan dan Mempercepat pemprogramman , mengurangi Code
Sample inheritance dalam C#.Net

public class A
{
    public A() { }
}

public class B : A
{
    public B() { }
}

Method dasar ada dua jenis yaitu getter() dan setter().
Method getter adalah untuk mengambil informasi isi attribut dalam suatu class.
Method setter adalah untuk memberikan isi attribut dalam suatu class.

contoh:
public class Dog{
// information hidding
private int weight(){
// Method jenis getter()
public int weight(){
return weight;
}
// method jenis setter()
public void setWeight ( int newWeight) {
weight = new Weight;
}

}

Senin, 01 Oktober 2012

b. Menghitung nilai mata uang yang diinputkan oleh user dalam JAVA.
daftar mata uang sebagai berikut : seratus ribu, lima puluh ribu, dua puluh ribu, sepuluh ribu, lima ribu, dua ribu, seribu, lima ratus, seratus, lima puluh, dan dua puluh lima rupiah.
Berikut codingnya :
package pecahan.uang;

/**
 *
 * @author RyanDoni
 */
import java.util.*;
public class PecahanUang {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
     long bil1, uang;

  do
  {
    //inputan dari keyboard
    System.out.print("Jumlah uang = ");
    Scanner obj = new Scanner(System.in);
    uang = obj.nextLong();
 
    if (uang<50)
    {
       System.out.println("Maaf, tidak ada nominal uang "+
                          "sebesar "+uang+" rupiah");
       continue;
    }
    else
    {
       // besar 100000
       if (uang >= 100000)
       {
           bil1 = uang / 100000;
           System.out.println("Pecahan 100000 sebanyak "+bil1);
       }

       // antara 50000-100000
       uang = uang % 100000;
       if ((uang >= 50000) && (uang <100000))
       {
           bil1 = uang / 50000;
           System.out.println("Pecahan  50000 sebanyak "+bil1);
       }
 
       // antara 20000-50000
       uang = uang % 50000;
       if ((uang >= 20000) && (uang <50000))
       {
           bil1 = uang / 20000;
           System.out.println("Pecahan  20000 sebanyak "+bil1);
       }

       // antara 10000-20000
       uang = uang % 20000;
       if ((uang >= 10000) && (uang <20000))
       {
           bil1 = uang / 10000;
           System.out.println("Pecahan  10000 sebanyak "+bil1);
       }

       // antara 5000-10000
       uang = uang % 10000;
       if ((uang >= 5000) && (uang <10000))
       {
           bil1 = uang / 5000;
           System.out.println("Pecahan   5000 sebanyak "+bil1);
       }

       // antara 2000-5000
       uang = uang % 5000;
       if ((uang >= 2000) && (uang <5000))
       {
           bil1 = uang / 2000;
           System.out.println("Pecahan   2000 sebanyak "+bil1);
       }

       // antara 1000-2000
       uang = uang % 2000;
       if ((uang >= 1000) && (uang <2000))
       {
           bil1 = uang / 1000;
           System.out.println("Pecahan   1000 sebanyak "+bil1);
       }

       // antara 500-1000
       uang = uang % 1000;
       if ((uang >= 500) && (uang <1000))
       {
           bil1 = uang / 500;
           System.out.println("Pecahan    500 sebanyak "+bil1);
       }

       // antara 200-500
       uang = uang % 500;
       if ((uang >= 200) && (uang <500))
       {
          bil1 = uang / 200;
          System.out.println ("Pecahan    200 sebanyak "+bil1);
       }

       // antara 100-200
       uang = uang % 200;
       if ((uang >= 100) && (uang <200))
       {
          bil1 = uang / 100;
          System.out.println ("Pecahan    100 sebanyak "+bil1);
       }

       // antara 50-100
       uang = uang % 100;
       if ((uang >= 50) && (uang <100))
       {
          bil1 = uang / 50;
          System.out.println ("Pecahan     50 sebanyak "+bil1);
       }
 
       // kurang 50
       uang = uang % 50;
       if ((uang > 0) && (uang <50))
       {
          bil1 = uang ;
          //satuan
          if (bil1<10)
         System.out.println ("Pecahan      "+bil1+
                                 " ikhlaskan saja");
      else if (bil1>=10)//puluhan
         System.out.println ("Pecahan     "+bil1+
                                 " ikhlaskan saja");
       }
     }
   }while(uang!=0);

 }
}


 Hasil Output


a. Menghitung Matriks Kembar dalam JAVA

Program Perkalian Matrix Ordo 2x2 dan Ordo 2x3

 Berikut codingnya :

package perkalianmatriks;

/**
 *
 * @author RyanDoni
 */
import javax.swing.*;
public class PerkalianMatriks {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
     int A [][] = new int [2][2];
        int B [][] = new int [2][3];
        int hasil[][]=new int [2][3];

        String  dataA [][] = new String [2][2];
        //String  dataA [][] = new String [3][3];
        String dataB [][] =new String[2][3];
        String hasilS [][] = new String [2][3];
      
  
        int i,j,k,m;
        i=0;
        j=0;
        k=0;
        m=0;
      

//  *****************************  MATRIKS A ********************

        do
        {
            j=0;
            do
            {      
                dataA[i][j]=  JOptionPane.showInputDialog(" Masukan data A [" + i + "]["+ j + "]" );
                A[i][j]= Integer.parseInt(dataA[i][j]);
      
                j++;
            }while (j<2); //end do j
  
            i++;
        }while(i<2);   // end do i


//    ************  MATRIKS B ***************

    k=0;
        do
        {
            m=0;
            do
            {      
                dataB[k][m]=  JOptionPane.showInputDialog(" Masukan data B [" + k + "]["+ m + "]" );
                B[k][m]= Integer.parseInt(dataB[k][m]);
      
                m++;
            }while (m<3); //end do j
  
            k++;
        }while(k<2);   // end do i
  

//   **************  Menampilkan data pada Matriks A ***************      
      
        for (k=0; k<2; k++ ) // for pada  ini untuk menampilkan data
        {
            for (m=0; m<2; m++ )
            {
                 System.out.print("  "+A[k][m]); // Menampilkan data A [i][j]
           
            }
   
            System.out.println();   // memubuat baris ke bawah
        }
            System.out.println("\n\n");


//   **************  Menampilkan data pada Matriks B ***************



        for (k=0; k<2; k++ ) // for pada  ini untuk menampilkan data
        {
            for (m=0; m<3; m++ )
            {
                 System.out.print("  "+B[k][m]); // Menampilkan data B [k][m]
               
            }
   
            System.out.println();   // memubuat baris ke bawah
        }

// **********  UNTUK MENGALIKAN KEDUA MATRIKS DI ATAS  ***********

                for (i=0; i<2; i++)
                {     
                     for (j=0; j<3; j++)
                        {
                            hasil[i][j] = 0; 
                            for (k=0; k<2;  k++)
                            {
                            hasil[i][j] += A[i][k] * B[k][j];
                            }
                         }
              }
            System.out.println("\n\n");
            System.out.println("  Hasilnnya adalah = ");
            System.out.println("\n");

// ******************* UNTUK MENAMPILKAN HASIL*********************

             for(i=0; i<2; i++)
                {
                     for(j=0; j<3; j++)
                     {
                         //System.out.println("hasil tambah adalah:");
                         System.out.print(" "+ hasil[i][j]);
                      }
                         System.out.println(" ");
                 }
   
                System.out.println();   // memubuat baris ke bawah
        }
      
    }


Hasil Output























Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More