Kamis, 20 Februari 2014

Argumen dari Command-line

Sebuah aplikasi Java dapat menerima sejumlah argumen dari command-line. Argumen dari command line memberikan kesempatan bagi user untuk mengatur operasi dari sebuah aplikasi dalam sekali pemanggilan program. User memasukkan argumen command line pada saat memanggil aplikasi dan menspesifikasikan argumen tersebut setelah nama dari class yang akan dijalankan.

Sebagai contoh, apabila Anda memiliki sebuah aplikasi Java dengan nama Sort, yang akan mengurutkan lima nomor, Anda dapat menjalankannya seperti berikut ini:



Perlu diperhatikan bahwa sebuah argumen dapat dipisahkan oleh ruang spasi. Pada bahasa pemrogr aman Java, jika kita akan memanggil sebuah aplikasi, sistem runtime akan memberikan argumen command-line ke method main yang dimiliki oleh aplikasi menggunakan sebuah array dari String. Lalu, setiap String di dalam array mewakili sebuah argumen commmand-line. Perhatikan deklarasi dari main method,

                                    public static void main( String[ ] args )

Argumen yang diberikan kepada program Anda akan disimpan kedalam sebuah array String dengan identifier args.

Pada contoh sebelumnya, argumen dari command-line yang akan diberikan kepada aplikasi sort command adalah sebuah array dengan lima buah String yaitu “5”,”4”,”3”,”2”, dan “1”. Anda dapat mengetahaui berapa banyak argumen dari command-line dengan cara melihat panjang dari attribute array. Sebagai contoh,

                                     int numberOfArgs = args.length;

Jika program Anda membutuhkan argumen command-line yang bertipe angka. Anda harus mengkonversi argumen String tersebut untuk merepresantasikan sebuah angka, misalnya “34” menjadi sebuah angka 34. Kode dibawah ini adalah sebuah potongan program untuk mengkonversi sebuah argumen command-line menjadi tipe integer.

                                        int firstArg = 0;
                                        if (args.length > 0){
                                             firstArg = Integer.parseInt(args[0]);
                                            }
parseInt akan melempar eksepsi NumberFormatException (ERROR) jika format args[0] tidak valid (bukan sebuah angka).





Argument Command-line di NetBeans

Untuk mengilustrasikan sebuah argumen yang diberikan dengan menggunakan NetBeans, marilah kita membuat sebuah program Java yang akan mencetak jumlah argumen dan argumen pertama diberikan pada program tersebut.

                                public class CommandLineExample
                              {
                                      public static void main( String[] args ){
                                      System.out.println("Number of arguments=" +
                                                                                     args.length);
                                       System.out.println("First Argument="+ args[0]);
                                  }
                          }

Sekarang, jalankan NetBeans, buat sebuah project yang baru, dan beri nama project ini CommanLineExample. Salin kode yang telah dituliskan diatas, kemudian dilakukan proses compile. Selanjutnya, ikutilah langkah-langkah berikut untuk memberikan argumen kepada program Anda dengan menggunakan NetBeans.

 Klik di Projects (dilingkari dibawah)


Klik kanan icon CommanLineExample dan akan keluar sebuah pop-up menu. Lalu klik pada properties.

Dialog mengenai project properties akan tampil :


Kemudian, klik Run -> Running Project

Pada kolom bernama Arguments, tuliskan argumen yang Anda ingin masukkan kedalam program. Dalam kasus ini kita akan mengetikkan 5 4 3 2 1. Kemudian, klik pada tombol OK.


Kemudian, cobalah untuk menjalankan (RUN) progam Anda

Seperti yang dapat Anda lihat, keluaran dari program Anda adalah jumlah dari argumen
yaitu 5, dimana argumen pertama juga memiliki nilai 5.



Sumber : Bahan ajar-JENI-Intro1-Bab08 Pengenalan Pemograman Komputer

Pendeklarasian Array

Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat mendeklarasikan array, anda harus membuat sebuah daftar dari tipe data, yang diikuti oleh sepasang tanda kurung [ ], lalu diikuti oleh nama identifier-nya. Sebagai contoh :

                                                          int [ ]ages;

atau Anda dapat menempatkan sepasang tanda kurung [ ] sesudah nama identifier. Sebagai
contoh :                                        
                                                           int ages[ ];

Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation (istilah 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. Sebagai catatan bahwa ukuran dari array tidak dapat diubah setelah anda menginisialisasinya. Sebagai contoh :

                                                         //deklarasi
                                                         int ages[ ];
                                                         //instantiate obyek
                                                         ages = new int[100];

atau bisa juga ditulis dengan,

                                                         //deklarasi dan instantiate obyek
                                                         int ages[ ] = new
                                                         int[100];
 
Pada contoh diatas, pendeklarasian tersebut akan memberitahukan kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data bertipe integer, dan dilanjutkan dengan membuat atau meng-instantiate sebuah array baru yang terdiri dari 100
elemen. Selain menggunakan sebuah pernyataan new untuk meng-instantiate array, Anda juga dapat mendeklarasikan, membangun, kemudian memberikan sebuah nilai pada array sekaligus dalam sebuah pernyataan.

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
//4variabel 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 angka atau yang disebut sebagai indeks atau subscript. Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeks selalu dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angka berikutnya sampai akhir array. Sebagai catatan bahwa indeks 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 seperti String, array tidak akan diinisalisasi menjadi string kosong “”. Untuk itu Anda tetap harus membuat String array secara eksplisit. Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam contoh ini digunakanlah pernyataan for 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] );

                                      }
                             }
                    }











Panjang Array

Untuk mengetahui berapa banyak elemen didalam sebuah array, Anda dapat
menggunakan atribut length dari array. Atribut ini 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] );
                                                     }
                                         }
                            }

Contoh source code program panjang array :



Output program :

 


Array Multidimensi

Array multidimensi diimplementasikan sebagai array yang terletak di dalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setela 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 elemen pertama dari baris pertama didalam array dogs, kita akan menulis :

                                         System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.

Source code program array multidimensi :


Output program :




Sumber : Bahan ajar-JENI-Intro1-Bab07 Pengenalan Pemograman Komputer

Mendeklarasikan dan membuat array


Pengenalan Array Pada Java

Array adalah suatu Object pada JAVA yang dapat menyimpan banyak variable dengan type data yang sama. Dan setiap value atau nilai variable dalam suatu Array, dapat diakses melalui angka-angka index. Adapun index dari suatu Array dimulai dari 0 (nol), bukan 1 (satu). Sebagai contoh, jika A merupakan sebuah Array dengan tipe Integer, maka notasi dari Array adalah A[n], dimana n merupakan angka index dari array tersebut, misal :

A[0] = 1, artinya index ke-0 pada array A bernilai 1;
A[1] = 2, artinya index ke-1 pada array A bernilai 2;
A[2] = 1, artinya index ke-2 pada array A bernilai 1;
A[3] = 0, artinya index ke-3 pada array A bernilai 0;
A[4] = 6, artinya index ke-4 pada array A bernilai 6;
A[5] = 5, artinya index ke-5 pada array A bernilai 5;
A[6] = 2, artinya index ke-6 pada array A bernilai 2;
A[7] = 0, artinya index ke-7 pada array A bernilai 0;
A[8] = 4, artinya index ke-8 pada array A bernilai 4;
A[9] = 0, artinya index ke-9 pada array A bernilai 0.

 Jika kita ilustrasikan, maka akan terlihat seperti gambar berikut :


Dalam memahami Array, terdapat 3 hal penting yang wajib dikuasai, yaitu :
1. Mendeklarasikan dan Mengkonstruksi (membuat) Array;
2. Mengakses elemen-elemen dalam Array;
3. Menentukan jumlah elemen dalam Array.

Untuk Mendeklarasikan Array berdasarkan letak kurung siku ([ ]) nya, dapat dilakukan dengan 2 cara, yaitu :
Cara 1 :  TipeArray[ ] namaArray
Cara 2 :  TipeArray namaArray[ ]

Contoh :
int[ ] jumlahSiswa;
double nilaiRatarata[ ];
String namaBulan[ ];

 Dalam Mengkonstruksi atau membuat Array, juga dapat dilakukan dengan 2 cara, yaitu :

Cara 1 :  Deklarasi dan konstruksi pada baris yang berbeda :
TipeArray[ ] namaArray;                      //Deklarasi
namaArray = new TipeArray [jumlahElemen];   //Konstruksi

Cara 2 :  Deklarasi dan konstruksi pada satu baris yang sama :
TipeArray[ ] namaArray = new TipeArray [jumlahElemen];

Contoh :
int[ ] jumlahSiswa;
jumlahSiswa = new int[10]
artinya, membuat Array dengan nama "jumlahSiswa", yang terdiri atas 10 elemen .

String namaBulan[ ] = new String[12];
artinya, membuat Array dengan nama "namaBulan", yang terdiri atas 12 elemen .

Selanjutnya, dalam membuat nilai elemen di dalamnya, dapat dilakukan dengan 2 cara  sebagai berikut :
Cara 1 : Tanpa mendeklarasikan jumlah elemen, melainkan langsung menuliskan nilai masing-masing elemennya yang diapit dengan tanda kurung kurawal :

String namaBulan[] = {"Januari", "Februari", "Maret", "April"
                      "Mei", "Juni", "Juli", "Agustus",
                      "September", "Oktober", "November",
                      "Desember"};

Cara 2 : Mendeklarasikan jumlah elemen, kemudian menuliskan nilai elemennya pada masing-masing indeks yang terbentuk :

String namaBulan[ ] = new String[12];
           
        namaBulan[0] = "Januari";
        namaBulan[1] = "Februari";
        namaBulan[2] = "Maret";
        namaBulan[3] = "April";
        namaBulan[4] = "Mei";
        namaBulan[5] = "Juni";
        namaBulan[6] = "Juli";
        namaBulan[7] = "Agustus";
        namaBulan[8] = "September";
        namaBulan[9] = "Oktober";
        namaBulan[10] = "November";
        namaBulan[11] = "Desember";

Sebuah array dapat diakses dengan menyatakan index dari Array tersebut. Index pertama dari array selalu nol, sedangkan index terakhir dari index Array selalu sebesar jumlah elemen array dikurangi satu. Object array memiliki sebuah variabel public length. Variabel ini menyatakan jumlah element yang ada di dalam array tersebut. length menyatakan jumlah element di dalam array, tapi length tidak pernah menyatakan apakah element-element itu telah diinisialisasi atau tidak. Ketika kita mengakses suatu element dengan index di luar batas, kita akan mendapat exception ArrayIndexOutOfBoundsException.

Pengertian index di luar batas adalah bila :
1. index array >= length
2. index array < 0
Contoh coding selengkapnya, dapat dicermati pada gambar berikut :


Jumat, 14 Februari 2014

Pernyataan break

Pernyataan break memiliki dua bentuk: tidak berlabel (unlabeled) dan berlabel (labeled).

Pernyataan break tidak berlabel (unlabeled)
Pernyataan break tidak berlabel (unlabeled) digunakan untuk menghentikan jal annya pern yataan switch. Sel ain itu pernyataan break unlabeled juga bi sa digunakan untuk menghentikan pernyataan-pernyataan for, while atau do-while loop.


Contohnya :
                      String names[ ] = {"Beah", "Bianca", "Lance", "Belle",
                                                      "Nico", "Yza", "Gem", "Ethan"};
                      String          searchName = "Yza";
                      boolean      foundName = false;

                      for( int i=0; i< names.length; i++ ){
                             if( names[i].equals( searchName )){
                                              foundName = true;
                                              break;
                             }
                      }
                      if( foundName ){
                                    System.out.println( searchName + " found!" );
                      }
                      else{
                                    System.out.println( searchName + " not found." );
                      }

Pada contoh diatas, jika string “Yza” ditemukan, pengulangan pada for loop akan dihentikan dan akan dilanjutkan ke pernyataan berikutnya yang terletak setelah pernyataan for.



Pernyataan break berlabel

Bentuk label dari pernyataan break akan menghentikan pernyataan d i luarnya, dimana sebelumnya harus diberikan label yang sudah di spesifikasikan pada program pada pernyataan break. Program berikut ini akan mencari nilai dalam array dua dimensi. Terdapat dua pengulangan bersarang (nested loop). Ketika sebuah nilai ditemukan, brea akan menghentikan pernyataan yang diberi label searchLabel yang terletak di luar pernyataan for loop.

                        int[ ][ ] numbers = {{1, 2, 3},
                                                       {4, 5, 6},
                                                       {7, 8, 9}};
                        int searchNum = 5;
                        boolean foundNum = false;

                        searchLabel:
                        for( int i=0; i<numbers.length; i++ ){
                               for( int j=0; j<numbers[i].length; j++ ){
                                                  if( searchNum == numbers[i][j] ){
                                                                  foundNum = true;
                                                                  break searchLabel;
                                                    }
                                      }
                        }

                        if( foundNum ){
                                      System.out.println( searchNum + " found!" );
                        }
                        else{
                                      System.out.println( searchNum + " not found!" );
                        }

Pernyataan break menghentikan pern yataan yang diberi label; dan tidak menjalankan aliran kon trol apapun pada label. Aliran kontrol pada label akan diberikan secara otomatis pada pernyataan yang terletak dibawah label.


Pernyataan Continue
Pernyataan continue memiliki dua bentuk: berlabel dan tidak berlabel. Anda dapat menggunakan pernyataan continue untuk melanjutkan pengulangan yang sedang dijalankan oleh pernyataan for, while, atau do- while loop.
-  Pernyataan continue tidak berlabel (unlabeled)
Bentuk pernyataan continue tidak berlabel (unlabeled) akan melewati bagian pernyataan setelah pernyataan ini dituliskan dan memeriksa eksepresi logika (boolean) yang mengkontrol pengulangan. Jika ekspresi logika (boolean) masih bernilai true, maka pengulangan tetap dilanjutkan. Pada dasarnya pernyataan ini akan melanjutkan bagian pengulangan pada pernyataan loop.

Berikut ini adalah contoh dari penghitungan angka dari “Beah” dalam suatu array.

                  String names[ ] = {"Beah", "Bianca", "Lance", "Beah"};
                  int count = 0;
                  for( int i=0; i<names.length; i++ ){
                         if( !names[i].equals("Beah") ){
                                           continue; //skip next statement
                          }
                          count++;
                   }
                   System.out.println("There are " + count + " Beahs in the list");



-  Labeled continue statement
Bentuk pernyataan continue berlabel (labeled) akan melanjutkan pengulangan yang sedang terjadi dan dilanjuti ke pengulangan berikutnya dari pernyataan pengulangan yang diberi label (tanda).

                 outerLoop:
                 for( int i=0; i<5; i++ ){
                    for( int j=0; j<5; j++ ){
                           System.out.println("Inside for(j) loop"); //message1
                            if( j == 2 )                 continue outerLoop;
                 }
                 System.out.println("Inside for(i) loop"); //message2
             }

Pada contoh ini, bagian message2 tidak pernah akan dicetak, karena pernyataan continue akan melewati pengulangan.

Pernyataan Return
Pernyataan return digunakan untuk keluar dari sebuah method. Pernyataan return memiliki dua bentuk: memberikan sebuah nilai, dan tidak memberikan nilai.

Untuk memberikan sebuah nilai, cukup berikan nilai (atau ekspresi yang menghasilkan sebuah nilai) sesudah kata return. Contohnya :

                       return ++count;
atau
                       return "Hello";

Tipe data dari nilai yang diberikan harus sama dengan tipe dari method yang dibuat. Ketika sebuah method void dideklariskan, gunakan bentuk return yang tidak memberikan nilai. Contohnya :
                       return;

Kita akan membahas lebih lanjut tentang pernyataan return ketika mempelajari tentang method.



Sumber : Bahan ajar-JENI-Intro1-Bab06 Pengenalan Pemograman Komputer

For loop

Pernyataan for loop memiliki kondisi hampir mirip seperti struktur pengulangan sebelumnya yaitu melakukan pengulangan untuk mengeksekusi kode yang sama sebanyak jumlah yang telah ditentukan.

Bentuk dari for loop :

                           for (InitializationExpression; LoopCondition; StepExpression){
                                    statement1;
                                    statement2;
                                    . . .
                           }

dimana,
                           InitializationExpression – inisialisasi dari variabel loop.
                           LoopCondition     - membandingkan variabel loop pada nilai batas tertentu
.                          StepExpression   - melakukan update pada variabel loop.

Berikut ini adalah contoh dari for loop :
                                 int i;
                                 for( i = 0; i < 10; i++ ){
                                          System.out.print(i);
                                 }

Pada contoh ini, pernyataan i=0 merupakan inisialisasi dari variabel. Selanjutnya, kondisi i<10 diperiksa. Jika kondisi bernilai true, pernyataan di dalam for loop dieksekusi. Kemudian, ekspresi i++ dieksekusi, lalu akan kembali pada bagian pemeriksaan terhadap kondisi i<10 lagi. Kondisi ini akan dilakukan berulang-ulang sampai mencapai nilai yang salah (false).

Contoh tadi, adalah contoh yang sama dari while loop :                                      
                                int i = 0;
                                while( i < 10 ){
                                           System.out.print(i);
                                           i++;
                                 }

Sumber : Bahan ajar-JENI-Intro1-Bab06 Pengenalan Pemograman Komputer

Do-while loop

Do-while loop mirip dengan while-loop. Pernyataan di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai benar(true).

Perbedaan antara while dan do-while loop adalah dimana pernyataan di dalam do-while loop akan dieksekusi sedikitnya satu kali.

Bentuk pernyataan do-while :
                                 do{
                                        statement1;
                                        statement2;
                                        . . .
                                  }while( boolean_expression );

Pernyataan di dalam do-while loop akan dieksekusi pertama kali, dan akan dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression tersebut bernilai true, pernyataan di dalam do-while loop akan dieksekusi lagi.

Berikut ini beberapa contoh do-while loop:

Contoh 1:
                  int x = 0;
                  do
                  {
                             System.out.println(x);
                             x++;
                  }while (x<10);
Contoh ini akan memberikan output 0123456789 pada layar.

Contoh 2:
                   //infinite loop
                   do{
                             System.out.println(“hello”);
                  } while (true);

Contoh di atas akan melakukan pengulangan terus menerus yang menulis kat a “hello” pada layar.

Contoh 3:
                 //one loop
                 // statement is executed once
                 do
                        System.out.println(“hello”);
                 while (false);

Contoh di atas akan memberikan output hello pada layar.

Panduan pemrograman:
1. Kesalahan pemrograman yang biasa terjadi ketika menggunakan do-while loop adalah
lupa untuk menulis titik koma (;) setelah ekspresi while.
do{
        ...
}while(boolean_expression)//- salah>tidak ada titik koma(;)
2. Seperti pada while loop, pastikan do-while loop anda berhenti pada suatu kondisi.


Sumber : Bahan ajar-JENI-Intro1-Bab06 Pengenalan Pemograman Komputer

While loop

Pernyataan while loop adalah pernyataan atau blok pernyataan yang diulang-ulang
sampai mencapai kondisi yang cocok.

 Bentuk pernyataan while :
                             while( boolean_expression ){
                                               statement1;
                                               statement2;
                                                      . . .
                              }

Pernyataan di dalam while loop akan boolean_expression bernilai benar (true).

Contoh, pada kode dibawah ini :
                            int i = 4;
                            while ( i > 0 ){
                                        System.out.print(i);
                                         i--;
                              }

Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i- -; dihilangkan, akan menghasilkan pengulangan yang terus menerus (infinite loop). Sehingga, ketika menggunakan while loop atau bentuk pengulangan yang lain, pastikan Anda memberikan pernyataan yang membuat pengulangan berhenti pada suatu kondisi.

Berikut ini adalah beberapa contoh while loop :

Contoh 1:
                 int x = 0;
                 while (x<10)
                {
                           System.out.println(x);
                           x++;
                }

Contoh 2:
                //infinite loop
                while(true)
                          System.out.println(“hello”);
Contoh 3:
               //no loops
              // statement is not even executed
              while (false)
                         System.out.println(“hello”);


Sumber : Bahan ajar-JENI-Intro1-Bab06 Pengenalan Pemograman Komputer