Rabu, 28 Desember 2016

Tipe Variabel dalam Java

Setiapa ukuran variabel dalam Java meiliki tipe spesifik, yang menentukan ukuran dan layout memori; jangkauan nilai yang dapat disimpan ; dan operasi-operasi yang dapat dijalankan terhadap variabel.
Anda harus mendeklarasikan semua variabel sebelum digunakan.
Berikut ini bentuk dasar deklarasi variabel:

tipe data variabel [ = nilai] [, variabel [= nilai] ...];

Untuk mendeklarasikan lebih dari satu variabel dengan tipe tertentu, Anda dapat menggunakan tanda koma sebagai pemisah.
Berikut ini adalah contoh deklarasi dan inisialisasi variabel dalam Java:

int a, b,c; // Mendeklarasikan tiga int, a, b, dan c.
int a = 10, b = 10; //Contoh inisialisasi.
byte B = 22; // Inisialisasi variabel B dengan tipe byte.
double pi = 3.14159; // Deklarasi dan inisialisasi nilai pi.
char a = 'a' ; // variabel char a diinisialisasi dengan 
                   // nilai 'a'.
1.1 Variabel Lokal
  • Variabel lokal dideklarasikan di dalam method, konstruktor, atau blok.
  • Variabel lokal dibuat saat method, konstruktor atau blok mulai dijalankan dan akan dihapus saat selesai dijalankan.
  • Modifier akses tidak dapat digunkan untuk variabel lokal.
  • Variabel lokal hanya dapat digunkan di dalam method, constructor, atau blok tempat pendeklarasiannya.
  • Tidak ada nilai default untuk variabel lokal sehingga variabel lokal harus dideklarasikan dan diinisialisasikan sebelum digunakan.
Berikut ini contoh variabel lokal umur yang didefinisikan  di dalam method umurAnj() dan lingkup penggunaannya hanya di dalam method tersebut.

public class Tes
{
   public void umurAnj()
   {
     int umur = 0;
     umur = umur +7;
     System.out.println ("Umur anjing adalah : " + umur);
   }
   public static void main(String args[])
   {
     Tes tes = new Tes () ; tes.umurAnj();
   }
}

Kode tersebut akan menghasilkan output berikut:

Umur Anjing adalah: 7

Jika Anda tidak menginisialisasikan umur, akan terjadi error:

....
     int umur;
     umur = umur + 7;
....
Tes.java:4:variabel number might not have been initialiazed
 umur = umur + 7;

1 error

1.2 Variabel Instance
  •  Saat sebuah objek dibuat, tempat utnuk setiap variabel instance disiapkan dalam memori.
  • Variabel instance dibuat saat sebuah objek diabuat dengan menggunakan kata kunci 'new' dan dihapus saat objek tersebut dihapus.
  • Variabel instance dapat dideklarasikan dalam kelas sebelum atau sesudah penggunaan.
  • Modifier akses dapat digunakan pada variabel instance.
  • Variabel instance dapat digunakan oleh semua method, konstruktor, dan blok di dalam kelas.
  • Variabel instance mempunyai nilai default: untuk tipe numerik 0, untuk Boolean false dan untuk referensi objek  adalah null.
Berikut ini contoh penggunaanya:
import java.io.*;
public class Karyawan
{
   // variabel instance ini dapat digunakan oleh semua subkelas
   // (kelas anak).
   public String nama;
   // variabel gaji hanya dapat digunakan dalam kelas Karyawan. 
   private double gaji;
   // Variabel nama diinisialisasidalam konstruktor.
   public Karyawan (String namaKar)
   {
     nama = namaKar;
   }
   // Memasukkan nilai dalam variabel gaji.
   public void aturGaji (double gajiKar)
   {
     gaji = gajiKar;
   }
   // Method ini menampilkan informasi karyawan.
   public void tampilKar()
   {
      System.out.println ("nama : " + nama);
      System.out.println ("gaji : " + gaji);
   }
   public static void main (String args[])
   {
   public static void main (String args[])
   {
     Karyawan karSatu = new Karyawan ("Ransika");
     karSatu.aturGaji (1000);
     karSatu.tampilKar();
   }
}
Kode tersebut akan menghasilkan output berikut:
nama : Ransika
gaji : 1000
1.3 Variabel Kelas/Static
  •  Variabel kelas/static dideklarasikan dengan kata kunci static di dalam kelas, tetapi di luar method, konstruktor, atau blok.
  • Hanya ada satu salainan dari variabel kelas per kelas.
  • Variabel static biasanya dideklarasikan sebagai konstanta. Variabel konstanta nilainya tetap dan tidak berubah.
  • Variabel static dibuat ketika program dimulai dan dihapus saat berhenti.
  • Nilai default sama dengan variabel instance.
  • Variabel static dapat diakses dengan memanggil nama kelas NamaKelas.NamaVariabel.
  • Saat mendeklarasi variabel kelas dengan public static final, maka nama variabel (konstanta) dituliskan semua dalam huruf kapital. Jika variabel static tidak dideklarasikan dengan public final, Syntax penamaannya sama dengan variabel instance dan lokal.
Berikut ini contoh penggunaan variabel kelas:

import java.io.*;
public class Karyawan
{
   // variabel gaji adalah variabel private static
   private static double gaji;
   //DEPARTEMEN adalah konstanta
   public static final String DEPARTEMEN = "Pengembangan";
   public static void main (String args[])
  {
     gajin = 1000;
     System.ou,println(DEPARTEMEN+"gaji rata-ratanya:"+gaji);
   }
}

Berikut adalah hasil output dari kode di atas:
Pengembangan gaji rata-ratanya : 1000
   
      

Selasa, 27 Desember 2016

Tipe Data dalam Java

Variabel adalah lokasi-lokasi dalam memori untuk menampung nilai-nilai. Ini berarti saat Anda membuat variabel, Anda menyiapkan ruang penampungan dalam memori.
Berdasarkan tipe data dari sebuah variabel, sistem operasi mengalokasikan memori dan menentukan tipe nilai apa yang dapat ditampung dalam memori tersebut.
Ada dua tipe data dalam Java:
  • Tipe data primitif
  • Tipe data referensi/objek
1.1 Tipe Data Primitif
Terdapat delapan tipe data primitif yang didukung dalam Java. Tipe data primitif didefinisikan oleh bahasa dan diberi nama dengan sebuah kata kunci.
Berikut ini tipe data primitif dalam Java.

byte 
  • Tipe data byte merupakan integer 8-bit yang bersifat signed.
  • Nilai minimum adalah -128
  • Nilai maksimum adalah 127
  • Nilai default adalah 0
  • Tipe data byte digunakan untuk menghemat ruang pada array yang besar
  • Contoh: byte a = 100, byte b = -50
short
  • Tipe data short merupakan integer 16-bit yang bersifat signed
  • Nilai minimum adalah -32,768
  • Nilai maksimum adalah 32,767
  • Nilai default adalah 0
  • Tipe data short juga dapat menghemat ruang seperti pada tipe data byte
  • Contoh: short s = 10000, short r= -20000
int
  • Tipe data int merupakan integer 32-bit yang bersifat signed
  • Nilai minimum adalah -2,147,483,648
  • Nilai maksimum adalah 2,147,483,647
  • Nilai default adalah 0
  • Tipe data int digunakan secara umum untuk menampung nilai-nilai integral
  • Contoh: int a =100000, int b = -200000
long
  • Tipe data long merupakan integer 64-bit yang bersifat signed
  • Nilai minimum adalah --9,223,372,036,854,775,808
  • Nilai maksimum adalah 9,223,372,036,854,775,807
  • Nilai default adalah 0L
  • Tipe data long digunakan untuk menampung nlai-nilai dengan jangkauan  nilai yang lebih dari tipe data int
  • Contoh: int a= 100000L, int b = -200000L
float
  • Tipedata float merupakan nilai desimal 32-bit presisi tunggal
  • Float biasanya digunakan utnuk menghemat ruang pada array besar yang berisi nilai-nilai desimal
  • Nilai default adalah 0.0f
  • Tipe data float tidak pernah digunakan untuk nilai-nilai seperti nilai mata uang
  • Contoh: float fl = 234.5f
double
  • Tipe data double merupakan nilai desimal 64-bit presisi ganda
  • Double biasanya digunakan sebagai tipe data default untuk nilai desimal
  • Nilai default adalah 0.0d
  • Tipe data double tidak pernah digunkan untuk nila-nilai presisi seperti mata uang
  • Contoh: double d1 = 123.4
boolean
  • Tipe data Boolean merepresentasikan satu bit informasi
  • Hanya ada dua nilai yang mungkin: true (benar) dan false (salah)
  • Tipe data ini digunkan sebgai penanda kondisi benar/salah
  • Nilai default adalah false
  • Contoh: boolean satu = true
char
  • Tipe data char merupakan karakter Unicode 16-bit tunggal
  • Nilai minimum adlah '\uffff'
  • Tipe data char digunakan untuk menampung karakter apa saja
  • Contoh: char hurufA ='A'
1.2 Tipe Data Referensi
  • Variabel referensi dibuat dengan menggunkan konstruktor yang didefinisikan dalam kelas. Variabel ini digunakan untuk mengakses objek-objek. Variabel ini dideklarasikan sebagai tipe tertentu yang tidak dapat diubah. Sebagai contoh Karyawan, Anjing dsb.
  • Objek kelas dan berbagai tipe variabel array merupakan tipe data referensi
  • Nilai default adlah null
  • Variabel referensi dapat digunakan untuk mengacu pada objek dengan tipe yang sama atau yang kompetibel
  • Contoh: Hewan hewan("jerapah");
1.3 Literal dalam Java
Bahasa Java mendukung beberpa escape sequence untuk literal String dan char.


Notasi
Karakter yang direpresentasikan
\n
Baris baru
\r
Awal baris
\f
Halaman baru
\b
Backspace
\s
Spasi
\t
Tab
\”
Tanda petik dua
\’
Tanda petik
\\
Garis miring
\ddd
Karakter octal
\uxxxx
Karakter UNICODE hexadesimal

Objek dan Kelas Java

1.1 Objek dalam Java
Objek dalam Java dapat diandaikan seperti objek yang biasa Anda temui sehari-hari seperti Mobil, Anjing, Manusia, dan sebagainya. Semua objek yang ada memiliki keadaan dan perilakunya masing-masing.
Misalnya seekor anjing, memiliki keadaan - nama, jenis, warna, dan perilaku - menggonggong, tidur, makan, berlari.
Objek dalam perangkat lunak juga memiliki karakteristik yang sama yaitu memiliki keadaan dan perilaku.
Keadaan objek software disimpan dalam field-field dan perilakunya ditunjukkan melalui method-method.
Dalam pengembangan software, method-method beroperasi terhadap keadaan internal dari sebuah objek dan komunikasi antar objek terjadi melalui method-methodnya.

2.2 Kelas dalam Java
Sebuah kelas merupakan blue print/cetakan utnuk membuat tipa-tiap objek.
Berikut ini contoh kelas Anjing:

public class Anjing
{
   String jenis;
   int umur;
   String warna;
   void menggonggong()
  {
  }
  void lapar()
  {
  }
void tidur()
  {
  }
}

Sebuah kelas dapat memiliki jenis-jenis variabel berikut:
  • Variabel lokal: Variabel yang didefinisikan di dalam sebuah method, konstruktor, atau blok. Variabel ini dideklarasikan dan diinisialisasi di dalam method dan kemudian akan dihapus setelah method selesai dijalankan.
  • Variabel instance: Variabel yang ada di dalam kelas tetapiberada di luar method. Variabel ini diinisialisasi saat kelas dimuat. Variabel ini juga dapat diakses dari dalam method, konstruktor, atau blok dari kelas tersebut.
  • Variabel kelas: Variabel yang dideklarasikan di dalam sebuah kelas di luar method dan menggunakan kata kunci static.
1.3 Konstruktor
Setiap kelas memiliki konstruktor. Jika Anda tidak membuat konstruktor untuk sebuah kelas, compiler Java akan membuat kunstruktor default secara otomatis.
Setiap kali sebuah objek baru dibuat, satu atau lebih konstruktor akan dijalankan. Aturan utama dari sebuah konstruktor adalah memiliki nama yang sama dengan nama kelas tersebut. Sebuah kelas dapat memiliki lebih dari satu konstruktor.
Berikut ini contoh konstruktor:

public class Anjing
{
   public Anjing()
   {
   }
public Anjing (String nama)
   {
      //Konstruktor ini memiliki satu parameter, yaitu nama.
   }
}

1.4 Membuat Objek
Objek dibuat dari sebuah kelas. Pada Java, kata kunci new digunakan untuk membuat objek baru.
Berikut ini tiga langkah untuk membuat sebuah objek:
  • Deklarasi: Deklarasi variabel dengan nama variabel dan tipe objek.
  • Inisialisasisi: Kata kunci 'new' diikuti dengan pemanggilan konstruktor. Pemanggilan ini menginisialisasi objek baru.
  • Instansiasi: Kata kunci 'new' digunakan untuk membuat objek.
Berikut ini contoh untuk membuat objek baru:

public class Anjing
{
    public Anjing (String nama)
    {
//Konstruktor ini memiliki satu parameter, yaitu nama.System.out.println("nama yang diberikan:"+          nama);
     }
}

Jika Anda megcompile program tersebut, hasilnya adalah sebagai berikut:

namayang diberikan : tommy 

1.5 Mengakses Variabel Instance dan Method
Variabel instance dan method dapat diakses melalui objek-objek yang dibuat.
Berikut ini langkah-langkah untuk mengakses variabel instance:

/* Pertama-tama membuat objek*/
ReferensiObjek= new Konstruktor();

/*Memanggil variabel*/
ReferensiObjek.namaVariabel;

/*Sekarang Anda dapat memanggil method dari kelas */
ReferensiObjek.NamaMethod();

Berikut ini contoh penggunaannya:

public class Anjing
{
    int umurAnjing;
    public Anjing(String nama)
    {
       //Konstruktor ini memiliki satu parameter, yaitu nama.System.out.println ("Nama yang diberikan : "+ nama );
     }
     public void aturUmur (int umur)
     {
         umurAnjing = umur;
      }
      public int ambilUmur()
      {
        System.out.println ("Umur anjing adalah :"+ umurAnjing);
        return umurAnjing;
       }
      public static void main (String[]args)
      {
         /* Membuat objek */
         Anjing anjingku = new Anjing ("tommy");
         /* Memanggil method kelas untuk mengatur umur anjing */
         anjingku.aturUmur (2);
        /* Memanggil method kelas untuk mengambil umur anjing */
        anjingku.ambilUmur();
       /* Anda juga dapat mengakses variabel instance
        * sebagai berikut
         */
      System.out.println("Nilai variabel : "+
          anjingku.umurAnjing );
    }
}

Jika program tersebut dijalankan, akan menghasilkan output berikut:

nama yang diberikan : tommy
Umur anjing adlah : 2
Nilai variabel : 2       

4.6 Package Java
Saat Anda membuat suatu aplikasi dengan Java, Anda dapat menggunakan package yang berisi kelas-kelas yang sudah berisi kode-kode yang sesuai dengan kebutuhan Anda.
Untuk menggunakannya Anda perlu menyertakan semua kelas yang ada pada suatu direktori. Berikut ini contoh penggunaanya:

import java.io.*;

Contoh Kasus
Pada contoh kasus ini akan dibuat dua kelas yaitu karyawan dan Teskaryawan.
Kelas Karyawan memiliki empat variabel instance yaiyu nama, umur, posisi, dan gaji. Kelas ini memiliki satu konstruktor yang menggunakan parameter.

import java.io.*;
public class Karyawan
{
    String nama;
    int umur;
    String posisi;
    double gaji;
    // Ini adalah konstruktor kelas Karyawan
    public Karyawan (String nama)
    {
        this.nama = nama;
     }
     // Memasukkan umur Karyawan ke dalam variabel umur
     public void umurKar (int umurKar)
     {
        umur = umurKar;
     }
       /* Memasukkan posisi Karyawan ke dalam variabel posisi.*/
      posisi void posKar (String posKar)
     {
       posisi = posKar;
     }
       /* Memasukkan gaji Karyawan ke dalam variabel gaji.*/
       public void gajiKar (double gajiKar)
     {
       gaji = gajiKar;
     }
       /* Menampilkan informasi karyawan */
       public void tampilKar()
    {
        System.out.println ("Nama:"+ nama);
        System.out.println ("Umur:"+ umur);
        System.out.println ("Posisi:"+ posisi);
        System.out.println ("Gaji:"+ gaji);  
      }
}

Untuk menjalankan kelas tersebut, Anda perlu membuat method main dan objek. Pada contoh ini method main dan objek akan dibuat pada kelas lain.
Berikut ini kelas TesKaryawan yang akan membuat dua instance dan kelas Karyawan dan menggunakan method untuk setiap objek untuk memasukkan nilai pada variabel-variabelnya.  

import java.io.*/
public class TesKaryawan
{
   public static void main (String args[])
   {
     /* Membuat dua objek menggunkan konstruktor */
     Karyawan karSatu = new Karyawan ("James Smith");
     Karyawan karDua = new Karyawan ("Mary Anne");

     // Membuat method untuk setiap objek
     karSatu.umurKar (26);
     karSatu.posKar ("Senior Software Engineer");
     karSatu.gajiKar (1000);
     karSatu.tampilKar ();

     karDua.umurKar (21);
     karDua.posKar ("Software Engineer");
     karDua.gajiKar (500);
     karDua.tampilKar ();
   }
}

Compile kedua kelas dan jalankan TesKaryawan untuk menampilkan hasilnya:

c :> javac Karyawan.java
c :> vi TesKaryawan.java
c :> javac TesKaryawan.java
c :> java TesKaryawan

Nama:JamesSmith
Umur:26
Posisi:SeniorSoftwareEngineer
Gaji:1000.0

Nama:MaryAnne
Umur:21
Posisi:SoftwareEngineer
Gaji:500.0