Laman

27 Juni 2013

PEMBELAJARAN JAVA ARRAY (JAVA BEANS)

Java Array

Pengenalan Array
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

  int number1;     number1 = 1;
  int number2;     number2 = 2;
  int number3;     number3 = 3;                                                

Seperti yang dapat Anda perhatikan pada contoh diatas, hanya untuk menginisialisasi dan menggunakan variabel terutama pada saat variabel-variabel tersebut memiliki tujuan yang sama, dirasa sangat membingungkan. Di Java maupun di bahasa pemrograman yang lain, mereka memiliki kemampuan untuk menggunakan satu variabel yang dapat menyimpan sebuah data list dan kemudian memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array

                  0   1   2
NUMBER    1   2   3

Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa slot. Bayangkanlah array adalah sebuah variabel – sebuah lokasi memori tertentu yang memiliki satu nama sebagai identifier, akan tetapi ia dapat menyimpan lebih dari sebuah value.

Pendeklarasian Array
Array harus dideklarasikan seperti layaknya sebuah variabel. Apabila Anda mendeklarasikan array, Anda harus membuat sebuah list dari tipe data, yang diikuti oleh tanda kurung buka dan kurung tutup, yang diikuti oleh nama identifier.

Sebagai contoh,
    int [ ] ages;

atau Anda dapat menempatkan kurung buka dan kurung tutupnya setelah identifier.

Sebagai contoh,
    int ages[ ];

Setelah pendeklarasian, kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation ( Kata dalam Java yang berarti membuat ). Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya. Perlu dicatat, bahwa ukuran dari array tidak dapat diubah setelah Anda menginisialisasinya. Sebagai contoh,

//deklarasi                         atau bisa juga ditulis dengan,    
int ages[ ];                                                                             //deklarasi dan instantiate obyek
//instantiate obyek                                                                int ages[] = new int[100];
ages = new int[100];

Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java bahwa identifier ages akan digunakan sebagai nama array yang berisi data-data integer, dan kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen Selain menggunakan sebuah keyword baru
untuk meng-instantiate array, Anda juga dapat secara otomatis mendeklarasikan array, membangunnya, kemudian memberikan sebuah value.

Sebagai contoh,
//membuat sebuah array yang berisi variabel-variabel //boolean pada sebuah identifier. Array ini terdiri dari 4 //elemen yang diinisilisasikan sebagai value //{true,false,true,false}
boolean results[] ={ true, false, true, false };
//Membuat sebuah array yang terdiri dari penginisialisasian //4 variabel double bagi value {100,90,80,75}
double []grades = {100, 90, 80, 75};
//Membuat sebuah array String dengan identifier days. Array //ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

Pengaksesan sebuah elemen array
Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda harus menggunakan sebuah nomor atau yang disebut sebagai index atau subscript.

Sebuah nomor index atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap value apabila dibutuhkan. Index selalu dalam integer. Dimulai dari nol, kemudian akan terus bertambah sampai list value dari array tersebut berakhir. Perlu dicatat, bahwa elemen-elemen didalam array dimulai dari 0 sampai dengan (ukuranArray-1).

Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,
//memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
//mencetak elemen array yang terakhir System.out.print(ages[99]);

Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu, apabila Anda menggunakan tipe data reference seperti String, ia tidak akan diinisalisasi ke string kosong “”, sehingga Anda tetap harus membuat String array secara eksplisit.


Berikut ini adalah contoh, bagaimana untuk mencetak seluruh elemen didalam array. Dalam contoh ini digunakanlah loop, sehingga kode kita menjadi lebih pendek.

  public class ArraySample{
  public static void main( String[] args ){
  int[] ages = new int[100];
  for( int i=0; i<100; i++ ){
  System.out.print( ages[i] );
      }
    }
 }

Petunjuk penulisan program:
1. Biasanya, lebih baik menginisialisasi atau meng-instantiate array setelah Anda mendeklarasikannya. Sebagai contoh pendeklarasiannya

int []arr = new int[100];
lebih disarankan daripada,
int []arr;
arr = new int[100];

2. Elemen-elemen dalam n-elemen array memiliki index dari 0 sampai n-1. Perhatikan disini bahwa tidak
ada elemen array arr[n]. Hal ini akan menyebabkan array-index out-of-bounds exception.

3. Anda tidak dapat mengubah ukuran dari sebuah array

Panjang Array
Untuk mengetahui berapa banyak element didalam sebuah array, Anda dapat menggunakan length (panjang) field dalam array. Panjang field dalam array akan mengembalikan ukuran dari array itu sendiri. Sebagai contoh,
           arrayName.length
Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,
                                      public class ArraySample
                               {
                                      public static void main( String[] args ){
                                      int[] ages = new int[100];
                             for( int i=0; i<ages.length; i++ ){
                            System.out.print( ages[i] );
                       }
                }
           }

Petunjuk penulisan program:
1. Pada saat pembuatan loop untuk memproses elemen-elemen dalam array, gunakanlah length field didalam pernyataan pengkondisian dalam loop. Hal ini akan menyebabkan loop secara otomatis menyesuaikan diri terhada ukuran array yang berbeda-beda.
2. Pendeklarasian ukuran array di Java, biasanya digunakan constant untuk mempermudah. Sebagai contoh,
final int ARRAY_SIZE = 1000; //pendeklarasian constant
int[] ages = new int[ARRAY_SIZE];

Array Multidimensi
Array multidimensi diimplementasikan sebagai array didalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array.
Sebagai contoh,
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}

Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi. Misalnya saja, untuk mengakses element pertama dari baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.

1 Hari dalam seminggu
Buatlah sebuah String array yang akan menginisialisasi 7 hari dalam seminggu. Sebagai contoh,
String days[] = {“Monday”, “Tuesday”….};

Gunakan while-loop, kemudian print semua nilai dari array (Gunakan juga untuk do-while dan for-loop)Using a while-loop

Nomor terbesar
Gunakanlah BufferedReader dan JoptionPane, tanyakan kepada user untuk 10 nomor. Kemudian gunakan array untuk menyimpan 10 nomor tersebut. Tampilkan kepada user, input terbesar yang telah diberikan user

Struktur Program Java Program Java memiliki struktur sebagai berikut :
//NamaKelas.java
public class NamaKelas {
public static void main (String[] args)
{ //kode program } }

Yang dicetak tebal adalah reserved word (kata tercadang dari bahasa Java yang harus ditulis seperti adanya. Untuk pembuatan program dapat dilakukan menggunakan editor (seperti Notepad) atau menggunakan IDE (seperti Netbeans)

Mengkompilasi Program Java
Untuk mengkompilasi program dalam bahasa Java, maka minimal kita harus menginstall software JDK

(Java Development Kit). Yang paling sederhana adalah dengan menggunakan program javac.exe yang merupakan bawaan dari JDK dengan perintah :

Prompt > javac NamaKelas.java (enter)

Yang akan dihasilkan NamaKelas.class. Dan untuk menjalankannya dapat digunakan program java.exe dengan perintah :
Menggunakan IDE Netbeans Untuk menggunakan IDE NetBeans, maka harus terlebih dahulu dilakukan instalasi software NetBeans (mis : jdk-6u16-nb-6_7_1-windows-ml.exe). Untuk membuat project baru, maka aktifkan NetBeans, dan kemudian pilih menu File-New Project sehingga muncul Window

Karena pada praktikum ini, kita akan banyak membuat program Java yang berbasiskan mode console (teks), maka untuk setiap project yang dibuat, dipilih menu Java Application. Setelah dipilih menu Java Application, dan memberi nama aplikasi Java yang sesuai, maka akan tampil Window editor untuk membuat program, yang memiliki struktur seperti yang dijelaskan pada point P.1. Untuk menjalankan aplikasi yang telah dibuat, dapat dipilih mnu Run – Run Project atau toolbar ►.

Program Output, Proses dan Input
Tulis program berikut dan beri simpan sebagai file dengan nama Prak_101.java, kemudian kompile dan jalankan.

public class Prak_101 {
public static void main (String[] args) {
System.out.println(“Hello”);
System.out.println(“Selamat membuat program Java”);

Penggunaan Variabel
Program berikut akan mendeklarasikan suatu variabel untuk menampung suatu nilai (bertipe integer),
dan menampilkannya ke layar. Tulis, dan jalankan program berikut
public class Prak_102 {
public static void main (String[] args) {
int var_a, var_b;
var_a = 10;
var_b = 500;
System.out.println(“Variabel yang terdapat dalam program :”);
System.out.println(“var_a = ” + var_a);
System.out.println(“var_b = ” + var_b);
     }
}

perhitungan matematika
Program berikut adalah program untuk menjumlahkan 2 buah bilangan. Tulis dan jalankan programnya.
public class Prak_103 {
public static void main (String[] args) {
int bil_1, bil_2, hasil;
bil_1 = 10;
bil_2 = 500;
hasil = bil_1 + bil_2;
System.out.print(“Hasil Penjumlahan kedua bilangan :”);
System.out.println(hasil);
   }
}

Cobalah ubah nilai dari var bil_1 menjadi 10.5 dan bil_2 menjadi 500.5, apa yang terjadi ketika program dikompile. Untuk menyimpan bilangan pecahan gunakan tipe data float atau double. Program berikut adalah program untuk menghitung luas suatu persegi panjang. Tulis dan jalankan programnya.
(Prak_104.java)
public class Prak_104 {
public static void main (String[] args) {
float panjang = 12.5f;
float lebar = 5.5f;
float luas = panjang * lebar;
System.out.println(“Luas persegi panjang tersebut =” + luas);
  }
}

Menginputkan data dari keyboard Program berikut akan menerima masukan dari keyboard, dan menyimpannya ke dalam suatu variabel, dan kemudian menampilkannya ke layar. Untuk menggunakan masukan keyboard, digunakan library Scanner, dari paket java.util. Tulis dan jalankan program berikut. (Prak_105.java)
import java.util.Scanner;
public class Prak_105 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int var_a, var_b;
System.out.print(“Masukkan nilai var var_a :”);
var_a = masukan.nextInt();
System.out.print(“Masukkan nilai var var_b :”);
var_b = masukan.nextInt();
System.out.println();
System.out.println(“Variabel yang terdapat dalam program :”);
System.out.println(“var_a = ” + var_a);
System.out.println(“var_b = ” + var_b);
    }
}

Program Konversi Suhu
Program berikut adalah program untuk mengkonversi suhu Celcius yang diinputkan oleh pengguna ke dalam suhu Reamur yang dihasilkan oleh program. Tulis dan jalankan program berikut. (Prak_106.java)
import java.util.Scanner;
public class Prak_106 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
float celcius, reamur;
System.out.print(“Masukkan nilai suhu (celcius) : ”);
celcius = masukan.nextFloat();
reamur = 0.8f * celcius;
System.out.println();
System.out.print(“nilai suhu reamur dari input : ”);
System.out.println(reamur);
     }
}

Program dengan Kondisi IF
Program di bawah adalah program untuk menentukan suatu kelulusan mahasiswa terhadap suatu mata kuliah. Program tersebut menggunakan pernyataan If untuk penentuan keputusannya. Tulis dan jalankan program berikut (Prak_201.java).
import java.util.Scanner;
public class Prak_201 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
int nilai;
System.out.print(“Masukkan nilai akhir mata kuliahnya :”);
nilai = masukan.nextInt();
if (nilai < 55)
System.out.println(“Mahasiwa tersebut tidak lulus”);
    }
}

Jika diinputkan nilai < 55, maka akan muncul keterangan mahasiswa tersebut tidak lulus, tetapi jika nilai > atau = 55, maka program akan berhenti tanpa menampilkan suatu pesan

Program dengan pernyataan If..Else..
Sempurnakan program di atas dengan menambahkan pernyataan sebagaimana berikut. (Prak_202.java).
else System.out.println(“Mahasiwa tersebut lulus”);

Program dengan pernyataan If..Else.. bertingkat
Program di bawah adalah program untuk mengkonversi nilai angka ke nilai huruf, yang dilakukan dengan menggunakan pernyatan if..else.. bertingkat. Tulis dan jalankan program tersebut (Prak_203.java).
import java.util.Scanner;
public class Prak_203 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
System.out.print(“Masukkan nilai mata kuliahnya :”);
int nilai = masukan.nextInt();
if (nilai >= 80)
System.out.println(“Nilainya A”);
else if (nilai >= 70)
System.out.println(“Nilainya B”);
else if (nilai >= 55)
System.out.println(“Nilainya C”);
else if (nilai >= 40)
System.out.println(“Nilainya D”);
else
System.out.println(“Nilainya E”);
   }
}

Program dengan pernyataan Switch..Case.. Program berikut akan menampilkan tulisan sesuai dengan input yang diberikan, dengan batasan input 1 sampai 3. Tulis dan jalankan program berikut (Prak_204.java).
import java.util.Scanner;
public class Prak_204 {
public static void main (String[] args) {
Scanner masukan = new Scanner(System.in);
System.out.print(“Masukkan angka 1 - 3 : ”);
int bil = masukan.nextInt();
switch (bil) {
case 1 : System.out.println(“Satu”);break;
case 2 : System.out.println(“Dua”);break;
case 3 : System.out.println(“Tiga”);}
   }
}

Tidak ada komentar: