Apa Fungsi String[] args pada Pemrograman Java?
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](https://d33wubrfki0l68.cloudfront.net/a2d772fbde5645ecbe9531b65ee7b753b5e09b59/d4426/img/java/args/program-tanpa-string-args.png)
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:
javaadalah perintah atau program berbasis teks;-versionadalah argumen yang kita berikan agar perintahjavamenampilkan 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.

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 
versionakan menampilkan versi program; - argumen 
helpakan menampilkan bantuan program; - argumen 
helloakan menampilkan pesanHello 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.

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.
Referensi : https://www.petanikode.com/java-args/