Rabu, 30 Maret 2011

Program Luas Trapesium

package luastrapesium;

import javax.swing.*;
public class Main {
    public static void main(String[] args) {
      System.out.println("Program untuk menghitung luas trapesium");
      String rusuk1="";
      rusuk1 = JOptionPane.showInputDialog("Masukkan panjang rusuk atasnya : ");
      int ru1=Integer.parseInt(rusuk1);
      String rusuk2="";
      rusuk2 = JOptionPane.showInputDialog("Masukkan panjang rusuk bawahnya :");
      int ru2=Integer.parseInt(rusuk2);
      String tinggi="";
      tinggi = JOptionPane.showInputDialog("Masukkan tingginya : ");
      int t=Integer.parseInt(tinggi);
      int l1=(ru2-ru1)/2*t/2;
      int l2=ru1*t;
      int s=(((ru2-ru1)/2)*((ru2-ru1)/2))+(t*t);
      double m=Math.sqrt(s);
      System.out.println("Panjang rusuk atasnya ="+(ru1));
      System.out.println("Panjang rusuk bawahnya ="+(ru2));
      System.out.println("Tingginya ="+(t));
      System.out.println("Luasnya ="+((l1*2)+l2));
      System.out.println("Kelilingnya ="+((ru1+ru2)+(m*2)));
    
    }

}

Program Keliling Lingkaran

package kelilinglingkaran;


public class Main {
    public static void main(String[] args) {

        double phi=3.14;
        double r = 20;
        double keliling=40;

        keliling =2*phi*r;

        System.out.println("===================");
        System.out.println("Keliling 40 =+Keliling");
        System.out.println("===================");
    }

}

Sabtu, 26 Maret 2011

Program For (Looping)

package pernyataanfor;

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
     Scanner input = new Scanner (System.in);
     int n, m;
     System.out.println("Masukan n");n=input.nextInt();
     n =input.nextInt();
     System.out.println("Masukan m");m=input.nextInt();
     m =input.nextInt();
     for (int i= 1;i<=m; i++)
     if  (i  %2= =1)
     System.out.println(i);
     else
     System.out.println(i+"*");
    }
}

Kamis, 24 Maret 2011

program Array

package classmain;

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
    Scanner input = new Scanner (System.in);
        String[]nama=new String[3];
        for (int i=1;i<3;i++){
            System.out.print("Masukan Nilai"+i+":");
            nama [i]=input.next();
        }

        for(int a=1;a<3;a++){
            System.out.print(nama [a]+"");
        }
    }

}

Program Fibonacci

import java.util.Scanner;
public class Fibonacci
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int n;
    System.out.print("Masukan Nilai n = ");
    n=in.nextInt();
    System.out.println("Jumlah Nilai Fibonacci = " +Fibonaci(n));
  }
    static int Fibonaci(int n)
  {
    if ((n == 1)||(n==2))
    return (1);
      else
    return (Fibonaci(n-1)+Fibonaci(n-2));
  }
}

Rabu, 23 Maret 2011

Menghitung Luas Segitiga

package tugas;


import java.util.Scanner ;
class Segitiga
{
    public static void main(String[] args)
    {
       Scanner input=new Scanner (System.in);
       double a, t, luas;
       System.out.print("Masukan Alas Segitiga="); a= input.nextDouble();
       System.out.print("Masukan tinggi Segitiga="); t= input.nextDouble();
       luas=0.5*a*t;
       System.out.print("Luas Segitiganya adalah =" +luas);
    }

}

Jumat, 18 Maret 2011

Luas lingkaran

package publicclassmain;

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        {
          float p= 3.14f,luas;
          int r;

          Scanner sc= new Scanner (System. in);

          System.out.println("Masukan Nilai Jari-jari Anda =");
          r=sc.nextInt();

          luas=p*r*r;

                System.out.println("phi      :"+p);
                System.out.println("jari-jari    :"+r);
                System.out.println("luas          :"+luas);
        }
    }

}

run:
Masukan Nilai Jari-jari Anda =

class kubus

package publicclasskubus;


import java.util.Scanner ;
 class kubus {
    public static void main(String[] args) {
      Scanner input = new Scanner (System.in);
      System.out.println("Masukan sisinya  =");
      int s=input.nextInt();
      int luas= s*s;
      System.out.println("Luasnya  =" + luas);
    }

}





run:
Masukan sisinya  =


Kamis, 17 Maret 2011

Input Nilai Java

package INPUTNILAI;


import java.util.Scanner ;
 class inputnilai {
    public static void main(String[] args) {
    Scanner input = new Scanner (System.in);

    String nama;
    String npm;
    String jurusan;
    double tgs;
    double uas;
    double rata;

    System.out.println("Nama   =");
    nama=input.next();
    System.out.println("Npm    =");
    npm=input.next();
    System.out.println("Jurusan   =");
    jurusan=input.next();
    System.out.println("tugas     =");
    tgs=input.nextDouble();
    System.out.println("uas      =");
    uas=input.nextDouble();

    rata=(tgs+uas)/2;
  
    System.out.println("Nama           =+Nama");
     System.out.println("Npm             =+Npm");
       System.out.println("Jurusan        =+Jurusan");
         System.out.println("rata-ratanya      ="+rata);

  
    }

}
 
run:
Nama   =

 

Rabu, 16 Maret 2011

Construktor DogRun

Construktor adalah jenis metod yang akan otomatis dipanggil jika suatu objek dibuat.
Construktor didefinisikan secara public dan namanya sama dengan nama classnya.
Construktor dapat didefinisikan lebih dari satu definisiContoh : untuk Dog ditambah definisi construktor tanpa parameter, menjadi :

  public Dog( ) { }

  public Dog(String nm, int um){nama=nm; umur=um;}

Misalkan dalam class DogRun didefinisikan objek yourDog.

  Dog yourDog=new Dog();


Maka jika dalam class DogRun dipanggil :

  yourDog.seyHello();

Outputnya : (nilai nama dan umur digunakan nilai default)

Konstruktor Class Java

Adalah  kita  membuat  lebih  dari  konstruktor  pada  satu  class.
Ini sangat berguna jika  kita  ingin  memasukkan parameter  yang  berbeda  pada  konstruktor.
Terdapat  dua  cara  untuk  konstruktor  yaitu:
·         memberikan  parameter yang  berbeda  pada  konstruktor  yang  baru.
·         Memberikan  setidaknya  satu  parameter  yang  berbeda  pada  konstruktor  yang  baru
Class  cariHanphone{
                String merek;
                String camera;
                Int memory;
                Int harga;
                cariHanphone(String merek, String camera)
                {
                                this.merek=merek;
                                this.camera=camera;
                }
                cariHanphone(String merek, String camera, Int memory, Int harga)
                {
                                this.merek=merek;
                                this.camera=camera;
                                this.memory=memory;
                                this.harga=harga;
                }
}
class Hanphone{
         public  static  void  main(String[] args) {
                        cariHanphone spekHanphone;
                        spekHanphone = new cariHanphone(“3 Giga”,”Dual Card”);
                      System.out.println(“Spesifikasi Hanphone  1:”);
                      System.out.println(“Merek   : ” + spekHanphone.merek);
                      System.out.println(“Camera  :  “  +  spekHanphone.camera);
                      System.out.println(“---------------------------------------“);

                      cariHanphone beliHanphone;
                      beliHanphone = new cariHanphone(“Samsung”,”Dual Card”,1,500000);
                      System.out.println(“Spesifikasi  Hanphone 2: “);
                      System.out.println(“Merek  : “  + beliHanphone.merek);
                      System.out.println(“Camera  :  “  + beliHanphone.Camera);
                      System.out.println(“Memory  :  “  + beliHanphone.Memory);
                      System.out.println(“Harga  :  “  +  beliHanphone.Harga);
         }
}
Keterangan:
Pada  class cariHanphone  diatas terdapat  2  konstruktor, yaitu:
·         cariHanphone(String  merek,  String  Camera)
·         cariHanphone(String  merek,  String  Camera,  Int  Memory,  Int  Harga)
Hasil:

Spesifikasi Hanphone  1:
Merek : Dual Card
Memory: 3 Giga
--------------------------------
Spesifikasi  Hanphone  2:
Merek : Samsung
Memory : 3 Giga
Harga  :  500000

Konsep Encapsulation

Encapsulation merupakan salah satu konsep yang sangat penting dalam pemrograman berorientasi obyek.
Konsep dasarnya sangat sederhana, yaitu memproteksi setiap atribut dari suatu class. Dalam hal ini atribut dari suatu class tidak boleh diakses secara langsung dari luar class. Maka tidak mengherankan bila setiap atribut lalu diberi visibility private. Lalu bagaimana bila suatu saat nilai dari atribut tersebut ingin diakses ataupun ingin diubah? Jawabannya sederhana saja, dengan menggunakan accessor dan mutator. Untuk melakukan akses terhadap nilai dari suatu atribut kita dapat menggunakan accessor, sedangkan untuk menlakukan pengubahan terhadap nilai dari suatu atribut kita dapat menggunakan mutator. Untuk lebih jelasnya dapat melihat contoh sederhana berikut ini.

//class dengan nama Kemeja
class Kemeja {
//atribut warna bertipe data String
private String warna;
//mutator untuk atribut warna
public void setWarna(String warna) {
this.warna = warna; //penggunaan kata kunci this
}
//accessor untuk atribut warna
public String getWarna() {
return warna;
}
}

Accessor secara konvensi akan selalu diawali dengan kata get dan diikuti dengan nama atribut yang akan diakses. Oleh karenanya accessor seringkali dikenal dengan nama getter.
Sedangkan mutator secara konvensi akan selalu diawali dengan kata set dan diikuti dengan nama atribut yang akan diubah nilainya. Oleh karenanya mutator seringkali dikenal dengan nama setter.
Pada setter seringkali juga digunakan kata kunci this. Penggunaan kata kunci this pada setter ini dibutuhkan ketika ada kesamaan antara nama parameter yang digunakan dengan nama atribut yang akan diubah nilainya. Kata kunci this digunakan untuk membedakan antara nama atribut dengan nama parameter.
Lalu apa konsekuensi dari penerapan encapsulation ini? Konsekuensinya sederhana saja. Misalkan kita akan membuat suatu objek dari class Kemeja.

Kemeja kemejaku = new Kemeja();

Maka ketika kita ingin memberi nilai "hijau" pada atribut kemejaku, kita tidak bisa melakukan hal semacam ini

kemejaku.warna = "biru";

Mengapa? Karena visibility dari atribut warna adalah private sehingga atribut tersebut tidak dapat diakses dari luar class. Yang dapat kita lakukan adalah dengan menggunakan setter seperti berikut ini

kemejaku.setWarna("biru");

Dan bila kita ingin mencetak nilai atribut warna, kita dapat melakukannya dengan cara

System.out.println(kemejaku.getWarna());

Sederhana sekali khan penerapan dari konsep encapsulation ini?
Bagi Anda yang baru memulai mempelajari konsep pemrograman berorientasi objek teruslah semangat mempelajarinya karena Anda akan banyak sekali menemui konsep-konsep menarik di dalamnya :) 
Terima Kasih.....

Java pada class, objek, modifier

mari kita membahas tentang class, objek, metod, modifier public,static, private, void

class, objek dan metod

Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data
Objek adalah bentuk konkrit dari class yang dengannya data dan metod dapat direalisasikan

Dibawah ini adalah contoh dari class dan objek

public class Catrun {
public static void main (string[] args) {
cat myCat=new cat ("meichan",4);
cat yourCat=new cat ("imut",3);
myCat.bark();
myCat.sayHello();
system.out.println ("kenalkan kucingmu :");
yourCat.sayHello();
}
}


Pada program diatas "Cat" merupakan class. Kemudian yang menjadi objek adalah "yourCat".
Terima kasih ......

Selasa, 15 Maret 2011

program java luas lingkaran

Menghitung Luas Lingkaran

 

Package  lingkaran;
            import  java.util.Scanner;
            public  class  luaslingkaran
            {
                 public  static  void  main  (String  args [] )
                 {
                                Scanner  masuk=new  Scanner   (System.in);
                                double  phi  =3.14;
                                int  r;
                                double  luas;
                                System.out.println(“Nama      :   Hadi Atmoko”);
                                System.out.println(“input  jari-jari  lingkaran:”);
                                r=masuk.nextInt();
                                luas=phi   *  r  *  r;
                                System.out.println(“luas  lingkaran: “      +luas);
              }
         }
 kita dapat jalankan dari menu run->run file ( tombol Shift+F6)

Program yang telah dijalankan

Kesimpulan
Apa yang kita lakukan pada latihan ini, sama persis dengan latihan kita sebelumnya
, perbedaannya hanya pada implementasi rumus matematik saja. Sehingga kita bisa simpulkan untuk inti dari pelajaran ini adalah :

1. Bagaimana membuat variabel di java
2. Bagaimana melakukan perhitungan di java


Beberapa hal yang juga perlu diperhatikan :
1. Bagaimana cara menulis komentar dengan menggunakan tanda //
2. Bagaimana menulis ke layar dengan menggunakan System.out.println();



Yap!, memang belum banyak yang kita dapat, tapi ingat dengan semangat untuk memulai hal yang kecil maka yang besar akan dapat dicapai. Happy Programming!


double pi = 3.14;
int jari = 10; //
double luaslingkaran = pi*(jari*jari);

//print out ke layar
System.out.println("Luas lingkaran : " + luaslingkaran);

Pengertian Class dan Object

Pengertian Class dan Object
Didalam Java kita mengenal yang namanya Object Oriented Programming (OOP). Java adalah bahasa yang murni berorientasi object sehingga kita tidak bisa mendefinisikan object diluar class atau memakai class itu secara langsung.

Mungkin Anda pernah mendengar kata class sebelumnya dalam bahasa pemrograman.Class diumpamakan seperti cetakan yang berguna untuk mencetak suatu object. Contoh dari sebuah cetakan/class tersebut misalnya cetakan dari sebuah mobil sedan. Mobil sedan tentunya mempunyai konsep. Konsep inilah yang akan dipakai untuk membentuk/mencetak hingga menjadi mobil sedan. Oleh karena itu konsep bisa berarti class atau cetakan.

Contoh cetakan/class/konsep dari mobil sedan adalah sebagai berikut :
Mempunyai mesin
Mempunyai roda sebanyak 4 yaitu 2 didepan dan 2 dibelakang
Mempunyai setir
Mempunyai body atau kerangka dengan panjang, lebar dan tinggi
Mempunyai warna
Mempunyai perseneling
Mempunyai knalpot

Sampai akhirnya didalam pabrik, cetakan/class/konsep tersebut dapat digunakan untuk membuat banyak object baru tentunya dengan berbeda nama/merk.

Class juga bisa diilustrasikan atau diumpamakan dengan makhluk hidup. Contohnya adalah hewan mamalia yaitu kucing. Didalam ilmu biologi, kucing tergolong dalam class hewan pemakan daging atau karnivora dan tentunya mempunyai bentuk atau konsep. Tuhan Yang Maha Kuasa sudah sudah menentukan bentuk daripada class kucing tersebut.

Class Dog mempunyai konsep sebagai berikut :
Mempunyai kaki sebanyak 4 yaitu 2 didepan dan 2 dibelakang
Mempunyai suara yaitu“gug...gug...”
Mempunyai golongan/family yaitu hewan bertulang belakang atau vertebrata dan termasuk golongan mamalia pemakan daging atau karnivora

Nah didalam Java, class mempunyai makna yang sama dengan ilustrasi diatas. Didalam Java kita tidak bisa sembarangan membuat, menciptakan atau mewujudkan suatu object tanpa didasarkan pada konsep/cetakan/class. Oleh karena itu Java adalah bahasa pemrograman yang murni berorientasi object atau dengan kata lain semua pekerjaan yang dikerjakan menggunakan bahasa Java harus dilakukan didalam class.
JAVA CLASS DAN OBJECT
4.1 Mendefinisikan Class
Sebelum menulis class, pertama pertimbangkan dimana akan menggunakan class
dan bagaimana class tersebut akan digunakan. Pertimbangkan pula nama yang tepat
dan tuliskan seluruh informasi atau properti yang ingin diisikan pada class. Jangan
sampai terlupa untuk menuliskan secara urut method yang akan digunakan dalam
class.
Dalam pendefinisian class, dituliskan :
class {
*
*
*
}
dimana :
adalah sebuah access modifier, yang dapat dikombinasikan dengan tipe
modifier lain.
Pada bagian ini, kita akan membuat sebuah class yang berisi record dari siswa. Jika
kita telah mengidentifikasikan tujuan dari pembuatan kelas, maka dapat dilakukan
pemberian nama yang sesuai. Nama yang tepat pada class ini adalah StudentRecord.
Untuk mendefinisikan class, kita tuliskan :
public class StudentRecord
{
//area penulisan kode selanjutnya
}
dimana,
Public - Class ini dapat diakses dari luar package
Class - Keyword yang digunakan di pembuatan class Java
StudentRecord - Identifier yang menjelaskan class
4.2 Deklarasi Atribut
Dalam pendeklarasian atribut, kita tuliskan :
[= ];

Langkah selanjutnya adalah mengurutkan atribut yang akan diisikan pada class.
Untuk setiap informasi, urutkan juga tipe data yang yang tepat untuk digunakan.
Contohnya, tidak mungkin menginginkan untuk menggunakan tipe data integer
untuk nama siswa, atau tipe data string pada nilai siswa.
Berikut ini adalah contoh informasi yang akan diisikan pada class StudentRecord :
name - String
address - String
age -Int
math grade - double
english grade - double
science grade - double
average grade – double
4.3 Instance Variable
Jika kita telah menuliskan seluruh atribut yang akan diisikan pada class, selanjutnya
kita akan menuliskannya pada kode. Jika kita menginginkan bahwa atribut – atribut
tersebut adalah unik untuk setiap object (dalam hal ini untuk setiap siswa), maka kita
harus mendeklarasikannya sebagai instance variable :
Sebagai contoh :
public class StudentRecord
{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
//area penulisan kode selanjutnya
}
dimana,
private disini menjelaskan bahwa variabel tersebut hanya dapat diakses oleh class itu
sendiri. Object lain tidak dapat menggunakan variabel tersebut secara langsung.
4.4 Class Variable atau Static Variables
Disamping instance variable, kita juga dapat mendeklarasikan class variable atau
variabel yang dimiliki class sepenuhnya. Nilai pada variabel ini sama pada semua
object di class yang sama. Anggaplah kita menginginkan jumlah dari siswa yang
dimiliki dari seluruh kelas, kita dapat mendeklarasiakan satu static variable yang

akan menampung nilai tersebut. Kita beri nama variabel tersebut dengan nama
studentCount.
Berikut penulisan static variable :
public class StudentRecord
{
//area deklarasi instance variables
private static int studentCount;
//area penulisan kode selanjutnya
}
Kita gunakan keyword : ’static’ untuk mendeklarasikan bahwa variabel tersebut
adalah static.
Maka keseluruhan kode yang dibuat terlihat sebagai berikut :
public class StudentRecord
{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;
//area penulisan kode selanjutnya
}
4.5 Deklarasi Methods
Sebelum kita membahas method apa yang akan dipakai pada class, mari kita
perhatikan penulisan method secara umum.
Dalam pendeklarasian method, kita tuliskan :
(*) {
*
}
dimana,
dapat menggunakan beberapa modifier yang berbeda

dapat berupa seluruh tipe data, termasuk void
identifier atas class
::= [,]
4.6 Accessor Methods
Untuk mengimplementasikan enkapsulasi, kita tidak menginginkan sembarang
object dapat mengakses data kapan saja. Untuk itu, kita deklarasikan atribut dari
class sebagai private. Namun, ada kalanya dimana kita menginginkan object lain
untuk dapat mengakses data private. Dalam hal ini kita gunakan accessor methods.
Accessor Methods digunakan untuk membaca nilai variabel pada class, baik berupa
instance maupun static. Sebuah accessor method umumnya dimulai dengan
penulisan get. Method ini juga mempunyai sebuah return
value.
Sebagai contoh, kita ingin menggunakan accessor method untuk dapat membaca
nama, alamat, nilai bahasa Inggris, Matematika, dan ilmu pasti dari siswa.
Mari kita perhatikan salah satu contoh implementasi accessor method.
public class StudentRecord
{
private String name;
::
public String getName(){
return name;
}
}
dimana,
public - Menjelaskan bahwa method tersebut dapat diakses object luar kelas
String - Tipe data return value dari method tersebut
getName - Nama dari method
() - Menjelaskan bahwa method tidak memiliki parameter apapun
Pernyataan berikut, return name; dalam program kita menandakan akan ada
pengembalian nilai dari instance variable name pada pemanggilan method.
Perhatikan bahwa return type dari method harus sama dengan tipe data terhadap data
pada pernyataan return. Akana didapatkan pesan kesalahan sebagai berikut bila tipe
data yang digunakan tidak sama :

StudentRecord.java:14: incompatible types
found : int
required: java.lang.String
return age;
^
1 error
Contoh lain dari penggunaan accessor method adalah getAverage,
public class StudentRecord
{
private String name;
::
public double getAverage(){
double result = 0;
result = ( mathGrade+englishGrade+scienceGrade )/3;
return result;
}
}
Method getAverage() menghitung rata – rata dari 3 nilai siswa dan menghasilkan
nilai return value dengan nama result.
4.7 Mutator Methods
Bagaimana jika kita menghendaki object lain untuk mengubah data? Yang dapat kita
lakukan adalah membuat method yang dapat memberi atau mengubah nilai variable
dalam class, baik itu berupa instance maupun static. Method semacam ini disebut
dengan mutator methods. Sebuah mutator method umumnya tertulis set
.
Mari kita perhatikan salah satu dari implementasi mutator method :
public class StudentRecord
{
private String name;
::
public void setName( String temp ){
name = temp;
}
}
dimana,
public - Menjelaskan bahwa method ini dapat dipanggil object luar kelas

void - Method ini tidak menghasilkan return value
setName - Nama dari method
(String temp) - Parameter yang akan digunakan pada method
Pernyataan berikut :
name = temp; mengidentifikasi nilai dari temp sama dengan name dan
mengubah data pada instance variable name.
Perlu diingat bahwa mutator methods tidak menghasilkan return value. Namun berisi
beberapa argumen dari program yang akan digunakan oleh method.
4.8 Multiple Return Statements
Sebuah method dapat mempunyai banyak return values selama tidak pada blok
program yang sama. Dapat juga menggunakan konstanta disamping variabel sebagai
return value.
Sebagai contoh, perhatikan method berikut ini :
public String getNumberInWords( int num ){
String defaultNum = "zero";
if( num == 1 ){
return "one"; //mengembalikan sebuah konstanta
}
else if( num == 2){
return "two"; //mengembalikan sebuah konstanta
}
// mengembalikan sebuah variabel
return defaultNum;
}
4.9 Static Methods
Kita menggunakan static method untuk mengakses static variable studentCount.
public class StudentRecord
{
private static int studentCount;
public static int getStudentCount(){
return studentCount;
}
}

dimana,
public - Menjelaskan bahwa method ini dapat diakses object luar kelas
static - Method ini adalah static dan pemanggilannya menggunakan [namaKelas].
[namaMethod].
Sebagai contoh :
studentRecord.getStudentCount
Int - Tipe return dari method. Mengindikasikan method tersebut harus mempunyai
return value berupa integer
getStudentCount - Nama dari method
public - Menjelaskan bahwa method ini dapat diakses object luar kelas
( ) - Method ini tidak memiliki parameter apapun
Pada deklarasi di atas, method getStudentCount() akan selalu menghasilkan return
value 0 jika kita tidak mengubah apapun pada kode program untuk mengatur
nilainya. Kita akan membahas pengubahan nilai dari studentCount pada pembahasan
constructor.
Berikut ini adalah kode untuk class StudentRecord :
public class StudentRecord
{
private String name;
private String address;
private int age;
private double mathGrade;
private double englishGrade;
private double scienceGrade;
private double average;
private static int studentCount;
/**
* Menghasilkan nama dari Siswa
*/
public String getName(){
return name;
} /**
* Mengubah nama siswa
*/
public void setName( String temp ){
name = temp;
} // area penulisan kode lain

/**
* Menghitung rata – rata nilai Matematik, Bahasa Inggris, * * Ilmu Pasti
*/
public double getAverage(){
double result = 0;
result = ( mathGrade+englishGrade+scienceGrade )/3;
return result;
} /**
* Menghasilkan jumlah instance StudentRecord
*/
public static int getStudentCount(){
return studentCount;
}
}
Berikut ini contoh kode dari class yang mengimplementasikan class StudentRecord :
public class StudentRecordExample
{
public static void main( String[] args ){
//membuat 3 object StudentRecord
StudentRecord annaRecord = new StudentRecord();
StudentRecord beahRecord = new StudentRecord();
StudentRecord crisRecord = new StudentRecord();
//Memberi nama siswa
annaRecord.setName("Anna");
beahRecord.setName("Beah");
crisRecord.setName("Cris");
//Menampilkan nama siswa “Anna”
System.out.println( annaRecord.getName() );
//Menampilkan jumlah siswa
System.out.println("Count="+StudentRecord.getStudentCount());
}
}
Output dari program adalah sebagai berikut :
Anna
Student Count = 0
4.10 Referensi this
Referensi this digunakan untuk mengakses instance variable yang dibiaskan oleh
parameter. Untuk pemahaman lebih lanjut, mari kita perhatikan contoh pada method
setAge. Asumsikan kita mempunyai kode deklarasi berikut pada method setAge.
public void setAge( int age ){
age = age; //SALAH!!!
}

Nama parameter pada deklarasi ini adalah age, yang memiliki penamaan yang sama
dengan instance variable age. Parameter age adalah deklarasi terdekat dari method,
sehingga nilai dari parameter tersebut akan digunakan. Maka pada pernyataan :
age = age;
kita telah mengidentifikasi nilai dari parameter age kepada parameter itu sendiri. Hal
ini sangat tidak kita hendaki pada kode program kita. Untuk menghindari kesalahan
semacam ini, kita gunakan metode referensi this. Untuk menggunakan tipe referensi
ini, kita tuliskan :
this.
Sebagai contoh, kita dapat menulis ulang kode hingga tampak sebagai berikut :
public void setAge( int age ){
this.age = age;
}
Method ini akan mereferensikan nilai dari parameter age kepada instance variable
dari object StudentRecord.
4.11 Overloading Methods
Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat method
dengan nama yang sama namun mempunyai fungsi yang berbeda menurut parameter
yang digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan
dikenal sebagai overloading method.
Overloading method mengijinkan sebuah method dengan nama yang sama namun
memiliki parameter yang berbeda sehingga mempunyai implementasi dan return
value yang berbeda pula. Daripada memberikan nama yang berbeda pada setiap
pembuatan method, overloading method dapat digunakan pada operasi yang sama
namun berbeda dalam implementasinya.
Sebagai contoh, pada class StudentRecord kita menginginkan sebuah method yang
akan menampilkan informasi tentang siswa. Namun kita juga menginginkan operasi
penampilan data tersebut menghasilkan output yang berbeda menurut parameter yang
digunakan. Jika pada saat kita memberikan sebuah parameter berupa string, hasil
yang ditampilkan adalah nama, alamat dan umur dari siswa, sedang pada saat kita
memberikan 3 nilai dengan tipe double, kita menginginkan method tersebut untuk
menampilkan nama dan nilai dari siswa. Untuk mendapatkan hasil yang sesuai, kita
gunakan overloading method di dalam deklarasi class StudentRecord.
38
public void print( String temp ){
System.out.println("Name:" + name);
System.out.println("Address:" + address);
System.out.println("Age:" + age);
}
public void print(double eGrade, double mGrade, double sGrade){
System.out.println("Name:" + name);
System.out.println("Math Grade:" + mGrade);
System.out.println("English Grade:" + eGrade);
System.out.println("Science Grade:" + sGrade);
}
Jika kita panggil pada method utama (main) :
public static void main( String[] args )
{
StudentRecord annaRecord = new StudentRecord();
annaRecord.setName("Anna");
annaRecord.setAddress("Philippines");
annaRecord.setAge(15);
annaRecord.setMathGrade(80);
annaRecord.setEnglishGrade(95.5);
annaRecord.setScienceGrade(100);
//overloaded methods
annaRecord.print( annaRecord.getName() );
annaRecord.print( annaRecord.getEnglishGrade(),
annaRecord.getMathGrade(),
annaRecord.getScienceGrade());
}
Kita akan mendapatkan output pada panggilan pertama sebagai berikut :
Name:Anna
Address:Philippines
Age:15
Kemudian akan dihasilkan output sebagai berikut pada panggilan kedua :
Name:Anna
Math Grade:80.0
English Grade:95.5
Science Grade:100.0
Jangan dilupakan bahwa overloaded method memiliki property sebagai berikut :
1. Nama yang sama
2. Parameter yang berbeda
3. Nilai kembalian (return) bisa sama ataupun berbeda

4.12 Deklarasi Constructor
Telah tersirat pada pembahasan sebelumnya, Constructor sangatlah penting pada
pembentukan sebuah object. Constructor adalah method dimana seluruh inisialisasi
object ditempatkan.
Berikut ini adalah property dari Constructor :
1. Constructor memiliki nama yang sama dengan class
2. Sebuah Constructor mirip dengan method pada umumnya, namun hanya
informasi –informasi berikut yang dapat ditempatkan pada header sebuah
constructor, scope atau identifikasi pengaksesan (misal: public), nama dari
konstuktor dan parameter.
3. Constructor tidak memiliki return value
4. Constructor tidak dapat dipanggil secara langsung, namun harus dipanggil
dengan menggunakan operator new pada pembentukan sebuah class.
Untuk mendeklarasikan constructor, kita tulis,
(*) {
*
}
4.12.1 Default Constructor
Setiap kelas memiliki default constructor. Sebuah default constructor adalah
constructor yang tidak memiliki parameter apapun. Jika sebuah class tidak memiliki
constructor apapun, maka sebuah default constructor akan terbuat secara implisit :
Sebagai contoh, pada class StudentRecord, bentuk default constructor akan terlihat
seperti dibawah ini :
public StudentRecord()
{
//area penulisan kode
}
4.12.2 Overloading Constructor
Seperti telah kita bahas sebelumnya, sebuah constructor juga dapat dibentuk menjadi
overloaded. Dapat dilihat pada 4 contoh sebagai berikut :
public StudentRecord(){
//area inisialisasi kode;
}
public StudentRecord(String temp){
this.name = temp;
}

public StudentRecord(String name, String address){
this.name = name;
this.address = address;
}
public StudentRecord(double mGrade, double eGrade, double sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
}
4.12.3 Menggunakan Constructor
Untuk menggunakan constructor, kita gunakan kode – kode sebagai berikut :
public static void main( String[] args )
{
//membuat 3 objek
StudentRecord annaRecord=new StudentRecord("Anna");
StudentRecord beahRecord=new StudentRecord("Beah","Philippines");
StudentRecord crisRecord=new StudentRecord(80,90,100);
//area penulisan kode selanjtunya
}
Sebelum kita lanjutkan, mari kita perhatikan kembali deklarasi static variable
studentCount yang telah dibuat sebelumnya. Tujuan deklarasi studentCount adalah
untuk menghitung jumlah object yang dibentuk pada class StudentRecord. Jadi, apa
yang akan kita lakukan selanjutnya adalah menambahkan nilai dari studentCount
setiap kali setiap pembentukan object pada class StudentRecord. Lokasi yang tepat
untuk memodifikasi dan menambahkan nilai studentCount terletak pada constructornya,
karena selalu dipanggil setiap kali objek terbentuk. Sebagai contoh :
public StudentRecord(){
//letak kode inisialisasi
studentCount++; //menambah student
}
public StudentRecord(String temp){
this.name = temp;
studentCount++; //menambah student
}
public StudentRecord(String name, String address){
this.name = name;
this.address = address;
studentCount++; //menambah student
}

public StudentRecord(double mGrade, double eGrade, double sGrade){
mathGrade = mGrade;
englishGrade = eGrade;
scienceGrade = sGrade;
studentCount++; //menambah student
}
4.12.4 Pemanggilan Constructor Dengan this()
Pemanggilan constructor dapat dilakukan secara berangkai, dalam arti dapat
memanggil constructor di dalam constructor lain. Pemanggilan dapat dilakukan
dengan referensi this(). Perhatikan contoh kode sebagai berikut :
1: public StudentRecord(){
2: this("some string");
3:
4: }
5:
6: public StudentRecord(String temp){
7: this.name = temp;
8: }
9:
10: public static void main( String[] args )
11: {
12:
13: StudentRecord annaRecord = new StudentRecord();
14: }
Dari contoh kode diatas, pada saat baris ke 13 dipanggil akan memanggil constructor
dasar pada baris pertama. Pada saat baris kedua dijalankan, baris tersebut akan
menjalankan constructor yang memiliki parameter String pada baris ke-6.
Beberapa hal yang patut diperhatikan pada penggunaan this() :
1. Harus dituliskan pada baris pertama pada sebuah constructor
2. Hanya dapat digunakan pada satu definisi constructor. Kemudian metode ini dapat
diikuti dengan kode – kode berikutnya yang relevan

4.13 Access Modifiers
Pada saat membuat, mengatur properties dan class methods, kita ingin untuk
mengimplementasikan beberapa macam larangan untuk mengakses data. Sebagai
contoh, jika diinginkan beberapa atribut hanya dapat diubah hanya dengan method
tertentu, jika diinginkan menyembunyikannya dari object lain pada class. Di JAVA,
implementasi tersebut disebut dengan access modifiers.
Terdapat 4 macam access modifiers di JAVA, yaitu : public, private, protected dan
default. 3 tipe akses pertama tertulis secara ekplisit pada kode untuk
mengindikasikan tipe akses, sedangkan yang keempat yang merupakan tipe default,
tidak diperlukan penulisan keyword atas tipe.
4.13.1 Akses Default (Package Accessibility)
Tipe ini mempersyaratkan bahwa hanya class dalam package yang sama yang
memiliki hak akses terhadap variabel dan methods dalam class. Tidak terdapat
keyword pada tipe ini.
Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
int name;
//akses dasar terhadap metode
String getName(){
return name;
}
}
Pada contoh diatas, variabel nama dan method getName() dapat diakses dari object
lain selama object tersebut berada pada package yang sama dengan letak dari file
StudentRecord.
4.13.2 Akses Public
Tipe ini mengijinkan seluruh class member untuk diakses baik dari dalam dan luar
class. Object apapun yang memiliki interaksi pada class memiliki akses penuh
terhadap member dari tipe ini. Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
public int name;
//akses dasar terhadap metode
public String getName(){

return name;
}
}
Dalam contoh ini, variabel name dan method getName() dapat diakses dari object
lain.
4.13.3 Akses Protected
Tipe ini hanya mengijinkan class member untuk diakses oleh method dalam class
tersebut dan elemen – elemen subclass. Sebagai contoh :
public class StudentRecord
{
//akses pada variabel
protected int name;
//akses pada metode
protected String getName(){
return name;
}
}
Pada contoh diatas, variabel name dan method getName() hanya dapat diakses oleh
method internal class dan subclass dari class StudentRecord. Definisi subclass akan
dibahas pada bab selanjutnya.
4.13.4 Akses Private
Tipe ini mengijinkan pengaksesan class hanya dapat diakses oleh class dimana tipe
ini dibuat. Sebagai contoh :
public class StudentRecord
{
//akses dasar terhadap variabel
private int name;
//akses dasar terhadap metode
private String getName(){
return name;
}
}
Pada contoh diatas, variabel name dan method getName() hanya dapat diakses oleh
method internal class tersebut.


Rabu, 02 Maret 2011

Percobaan If-else

Percobaan percabangan if-else

Percobaan percabangan if-else
public static void main(String[] args) {
   int point;
    point=3;
      System.out.println("===================");
      System.out.println("Nama  : Hadi atmoko"); 
      System.out.println("Point :"+ point);
       if(point >= 3)
          System.out.println(" Ket : dapat medali EMAS");
       else if  (point >= 2)
          System.out.println("Ket : dapat medali PERAK");
       else if (point >= 1)
          System.out.println("Ket : dapat medali PERUNGGU");
       else
          System.out.println("Ket : tidak dapat medali");
               
System.out.println("===========================");
    }
        // TODO code application logic here
    }

Percobaan Switch-Case

Percobaan switch-case

Percobaan membuat percabangan tentang kejuaraan dan dapat mendali…
Menggunakan percabangan switch-case



class kejuaraan {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int Point;

      Point = 3;
        System.out.println("====================");
        System.out.println("Nama : Hadi Atmoko");
        System.out.println("Point : " + Point);
        switch (Point){
            case 1:
                   System.out.println("ket : Perunggu");
                   break;
            case 2:
                   System.out.println("ket : Perak");
                   break;
            case 3:
                   System.out.println("ket : emas");
                   break;
                   default:

        System.out.println("=====================");

        // TODO code application logic here
        }
    }
}

Selasa, 01 Maret 2011

Pencabangan

1.         Pencabangan
a.        If-else
Bentuk umumnya sebagai berikut:

If  (Boolean-expression)  statement1;  [else  statement2;]

Klausa else boleh ditulis boleh tidak.  Setiap  statement dapat berupa kumpulan  pernyataan  yang  dibatasi  dengan  kurung-kurawal.  Biasanya,  untuk  amannya,  kurung-kurawal  ini  tetap  digunakan, Walaupun  hanya  ada  satu  statement.  Berikut  contoh  pemakaian:

Int  dataTersedia;
// …
If  (dataTersedia  >  0)  {
   ProsesData ();
   DataTersedia  -=  n;
}  else  {
    TungguDataBerikut ();
}
Contoh coding
Class  praktek1
{
       public  static  void  main (String  args[] )
              {
                  Int  nilai
                   Nilai = 70;
                        System.out.println(“=====================”);
                        System.out.println(“Nama  :  Duo  Maxwell “);
                        System.out.println(“Nilai        :    +  nilai  );
                        If (nilai  >  90 )
                           System.out.println(“ Ket  :  Istimewa  euy   ! “);
                        else
                            System.out.println(“ Ket  :  Tidak  Istimewa “);
                            System.out.println(“===================”);
              }
}



b.      Break
Proses  break  memerintahkan  runtime  untuk  menjalankan  program  di  belakang  blok  tertentu.  Untuk  dapat  ditunjuk,  sebuah  blok  diberi  nama,  dan  java  bentuk  label  untuk  menyatakan  nama  suatu  blok.  Berikut  contoh  penggunaannya:

      Class  Break  {
         Public  static  void  main (String  args [] )  {
              Boolean  t=true;
     a :     {
     b :         {
     c :              {
                          System.out.println (“Pernyataan  ini  tidak  akan  pernah  dieksekusi”);
                       }
                       System.out.println(“Ini  juga  tidak  akan  pernah  dieksekusi”);
                    }
                    System.out.println(“Ini  setelah  b”);
                }
            }
       }

    Sebagai  catatan,  break  juga  dapat  digunakan  tanpa  label  untuk  keluar  dari  suatu  loop.

c.       Switch-case
Bentuk  umumnya  adalah  sebagai  berikut:

Switch  (expression )  {
     case  value1:
          statement;
          break;
     case  value2:
          statement2;
          break;
     case  valueN:
          statement;
          break;
      default:
           statement  default;
}

Nilai  expression  dibandingkan  dengan  setiap  nilai  pada  pernyataan  case  (value).  Jika  ada  yang  cocok,  maka  urutan  statement  yang  ada  di  belakang  pernyataan  case  akan  dieksekusi.  Jika  tidak  menuliskan  break,  maka  eksekusi  akan  dilanjutkan  ke case  selanjutnya.



Contoh  Coding
Class  praktek2
{
       Public  static  void  main (String  args []);
              {
                  Int  nilai;
                   Nilai = 6;
             System.out.println("======================");                                                   
                        System.out.println(“Nama  :  Helena  Peacecraft”);
                        System.out.println(“Nilai   :      +   nilai   );
                        switch (nilai)   {
                                     case  10:
                                     case  9 :
                                                 System.out.println(“Ket  :  Istimewa” );
                                     case  8 :
                                     case  7 :
                                                   System.out.println(“Ket  :  Bagoess”);
                                                   break;
                                     case  6 :
                                                   System.out.println(“Ket  :  Cukup”);
                                                   break;
                                                   default :

                                                   System.out.println (“Ket   : Kurang”);
                                                   }
                  System.out.println (“========================”);
 }
          




d.      Return
Return  menyebabkan  eksekusi  menyabang  kembali  ke  pemanggil  method.  Contoh  pemakaian  return  berikut  menyebabkan  eksekusi  kembali  ke  pemanggilnya,  dalam  hal  ini  adalah  runtime  java.

class  ReturnDemo  {
    public  static  main  void (String  args[] )  {
         boolean  t=true;
         System.out.println (“Sebelum  return”);
         If  (t)
            return;
         System.out.println (“ Pernyataan  ini  tidak  akan  pernah  dieksekusi”);
   }
              }