Saat awal-awal beralajar Java, kita sering menuliskan String[] args pada fungsi main().

class Program {
    public static void main(String[] args){
        //...
    }
}

Tanpa String[] args program tidak akan bisa dieksekusi. Bahkan akan mendapatkan error seperti ini.

Eksekusi program tanpa string[] args

Fungsi main() tidak akan dikenali sebagai fungsi main() karena tidak memiliki parameter String[] args.

Apa sih kegunaan dari String[] args?

Kenapa kita harus menuliskannya?

Mengenal Program Berbasis Teks

Sebelum menjawabnya, saya ingin memperkenalkan tentang program berbasis teks atau CLI (Command Line Interface).

Program berbasis teks adalah program yang hanya memiliki tampilan dalam bentuk teks saja, biasanya dieksekusi melalui CMD atau Terminal.

Pada program berbasis teks, kita sering mendengar yang namanya argumen, flags, opsi, dsb.

Contoh:

java -version

Keterangan:

  • java adalah perintah atau program berbasis teks;
  • -version adalah argumen yang kita berikan agar perintah java menampilkan nomer versinya.

Nah salah satu cara agar program kita bisa menerima argumen seperti itu adalah melalui parameter String[] args.

Bagaimana caranya, berikan contoh donk?

Argumen untuk Program Berbasis Teks

Parameter String[] args berupa array dengan tipe data String.

Parameter tersebut akan menampung semua argumen yang kita berikan ke program.

Contoh:

$ programku argumen1 argumen2 argumen3

Maka parameter atau variabel args akan berisi:

["argumen1", "argumen2", "argumen3"]

Selanjutnya tugas kita tinggal melakukan manipulasi dan pemrosesan terhadap argumen-argumen tersebut.

Mari kita coba…

Buatlah sebuah program Java baru bernama Petanikode.java, lalu isi dengan kode berikut:

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

        System.out.println("Argumen yang diberikan:");

        for(int i = 0; i < args.length; i++){
            System.out.println(args[i]);
        }

    }
}

Setelah itu lakukan kompilasi melalui Terminal, dan eksekusi programnya dengan memberikan beberapa argumen.

Kompilasi dan Eksekusi program petani kode

Pada eksekusi tersebut, kita memberikan tiga argumen ke program Petanikode, yaitu tes, 123, dan percobaan.

Program Java dengan Argumen

Baik, kita sudah tahu cara mengambil argumen melalui parameter args.

Sekarang mari kita coba membuat program sederhana.

Requirement:

Berikut ini beberapa argumen yang akan kita berikan ke program.

  • argumen version akan menampilkan versi program;
  • argumen help akan menampilkan bantuan program;
  • argumen hello akan menampilkan pesan Hello World;
  • argumen hello [nama] akan menampilkan ucapan salam, misal: Hello Petani Kode.

Mari kita buat…

Silahkan buat program java baru dengan nama Petani.java, lalu isi dengan kode berikut.

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

        // cek dulu apakah ada argumen yang diberikan atau tidak
        if(args.length > 0){

            switch(args[0]){
                case "version":
                    // tampilkan versi program
                    System.out.println("Petani Version 1.0.0");
                    break;
                case "help":
                    // tampilkan bantuan program
                    System.out.println("Gunakan Perintah berikut:");
                    System.out.println("Petani version \t\t untuk mengecek versi");
                    System.out.println("Petani help \t\t untuk menampilkan bantuan ini");
                    System.out.println("Petani hello \t\t untuk menampilkan pesan hello world");
                    System.out.println("Petani hello [nama] \t untuk menampilkan pesan hello [nama]");
                    break;
                case "hello":
                    // tampilkan pesan hello
                    if (args.length > 1){
                        System.out.println("Hello " + args[1]);
                    } else {
                        System.out.println("Hello World!");
                    }
                    break;
                default:
                    // tampilkan ucapan argumen tidak dikenali
                    System.out.println("argumen tidak dikenali, silahkan ketik `Petani help` untuk bantuan");
            }

        }

    }
}

Setelah itu lakukan kompilasi dan eksekusi dengan memberikan beberapa argumen.

Eksekusi program java dengan argumen

Akhir Kata…

Jadi begitulah manfaat dan fungsi dari String[] args.

Tugasnya untuk menyimpan nilai argumen yang diberikan dari CMD atau terminal, sehingga kita bisa mengolahnya dalam program.

Kita akan banyak membutuhkan String[] args apabila ingin membuat program berbasis teks yang memiliki argumen.