Lompat ke konten Lompat ke sidebar Lompat ke footer

Nama Kelas File Java dan Fungsinya

Pada materi sistem penamaan pada Java diberitahukan bahwa "nama class dan nama file harus sama". Ketika aturan ini dilanggar maka pesan error akan muncul seperti pada program seperti contoh berikut.


Sebelum mempelajari materi tentang Nama Kelas File Java dan Fungsinya, terlebih dahulu pelajari materi tentang: Cara Mengeksekusi Platform Independent Java, Menghubungkan Database Java Menggunakan JDBC, dan Menjalankan Program Java Tanpa Method Main.

Contoh:

/***** File name: Trial.java ******/

public class Bons

{

 

public static void main(String[] args)

{System.out.println("Hello"

+" world");}

 

}

Output:
javac Trial.java
Trial.java:9: error: class Bams is public, should be declared in a file named Bams.java
public class Bams
^
1 error

Namun informasi tersebut ternyata tidak sepenuhnya benar (mitos), karena aturan tersebut bisa dilanggar seperti contoh program berikut ini.

Contoh:

/***** File name: Trial.java ******/

class Bams

{

public static void main(String[] args)

{System.out.println("Hello"

+" world");}

 

}


Step 1
javac Trial.java
Step 1 akan menciptakan Bams.class tanpa pesan error karena class sudah dibuat dalam bentuk public.

Step 2
java Bams
 
Mitos, nama class dan nama file harus ditulis sama pada bahasa pemrograman Java hanya jika class tersebut dideklarasikan dengan tipe public.

Dengan beberapa fitur ajaib, sekarang file .class dapat dieksekusi seperti program berikut. Sangat mungkin untuk memiliki beberapa main class dalam satu file Java, guna untuk kepentingan debug, pendekatan seperti ini bisa digunakan pada bahasa Java. Dimana setiap class dapat dieksekusi secara terpisah untuk menguji fungsi class masing-masing dengan persyaratan bahwa konsep inheritence tidak dipergunakan pada program ini. Namun secara umum akan lebih aman jika mengikuti mitos yang sudah ada.

Contoh:

/*** File name: Trial.java ***/

/* main method 1 */

class UntukBams

{

public static void main(String[] args)

{System.out.println("Makan nasi padang");}

}

 

 

/* main method 2 */

class BamsTest

{

public static void main(String[] args)

{System.out.println("Makan nasi soto");}

 

}

Ketika kode program tersebut akan dikompilasi, maka akan dihasilkan dua .class file UntukBams.class dan Bonstest.class, dan karena kedua class tersebut memiliki main() method yang berbeda, maka kedua class tersebut bisa dijalankan secara terpisah.

Ketika java UntukBams dieksekusi, maka output yang dihasilkan adalah Makan nasi padang.
ketika java BamsTest dieksekusi, maka output yang dihasilkan adalah Makan nasi soto.

Baca Juga:

Contoh:

// Progam Java untuk

// menemukan luas area pada

// segitiga

class Triangle {

int x, y;

 

void printArea(){

System.out.println("Luas are"

+"a segitiga adalah: " 

+ x * y / 2);

}

 

}

 

 

class Demo {

public static void main(String args[]){

// Menciptakan object

Triangle t = new Triangle();

t.x = 10;

t.y = 13;

t.printArea();

}

 

}

Catatan: Disini terdapat dua buah classTriangle dan Demo. Lantas, class mana yang namanya digunakan sebagai nama file?

Jawabannya adalah class dengan nama Demo harus digunakan sebagai mana file. Alasannya adalah karena class Demo memiliki main method dan pada bahasa pemrograman Java, eksekusi program dimulai pertama kali dari method main.

Filename: Demo.java
Compilation: javac Demo.java
Run: java Demo
Output: Luas area segitiga adalah:65

Aturan Penamaan Kelas dalam File Java
  • Nama Kelas dan Nama File Sama: Dalam Java, jika memiliki kelas publik dalam suatu file, maka nama kelas tersebut harus sama dengan nama file tersebut. Ini adalah aturan yang harus diikuti untuk memastikan konsistensi dan kejelasan. 
    • /* Contoh file: MyClass.java */ public class MyClass { /* Kode kelas */ }
  • Hanya Satu Kelas Publik per File: Hanya boleh ada satu kelas publik dalam satu file, dan nama file harus sesuai dengan nama kelas publik tersebut.
    • /* Contoh file: MyFirstClass.java */ public class MyFirstClass { /* Kode kelas */ } class AnotherClass { /* Kode kelas lain (tidak boleh publik) */}

Kelebihan Aturan Penamaan Kelas dalam File Java:
  • Konsistensi dan Keterbacaan: Dengan menetapkan aturan bahwa nama kelas harus sama dengan nama file, maka telah dilakukan peningkatan konsistensi dan keterbacaan dalam struktur proyek Java. Ini membuat mudah bagi pengembang untuk menemukan kelas yang dicari.
  • Konvensi Umum: Aturan ini mengikuti konvensi umum dalam dunia pemrograman Java. Oleh karena itu, pengembang Java pada umumnya mengikuti aturan ini untuk menjaga konsistensi antarprojek dan antartim.
  • Penanganan Kelas Publik: Dengan adanya aturan bahwa hanya boleh ada satu kelas publik per file, dan nama file harus sesuai dengan nama kelas publik tersebut, JVM dapat dengan mudah menemukan titik awal eksekusi (method main) dalam program Java.

Aturan penamaan kelas dalam file Java, khususnya bahwa nama kelas harus sama dengan nama file dan hanya boleh ada satu kelas publik per file, memberikan kerangka kerja yang konsisten dan dapat diandalkan untuk pengembangan aplikasi Java. Ini membantu meningkatkan keterbacaan kode, konsistensi, dan memudahkan pengelolaan struktur proyek.

Meskipun aturan penamaan kelas dalam file Java memiliki kelebihan, ada beberapa kekurangan yang perlu diperhatikan:
  • Batasan pada Kelas Publik: Aturan bahwa hanya boleh ada satu kelas publik per file dapat menyebabkan keterbatasan dalam pengorganisasian kode. Dalam beberapa kasus, ada kebutuhan untuk menyertakan beberapa kelas dengan akses publik dalam satu file.
    • /* Contoh file: UtilityClasses.java */ public class UtilityClass1 { /* Kode kelas utilitas */ } public class UtilityClass2 { /* Kode kelas utilitas lainnya */ }
  • Penanganan Kelas Non-Publik: Aturan ini lebih fokus pada kelas-kelas publik, sehingga tidak memberikan panduan yang ketat untuk kelas-kelas non-publik. Pengaturan nama file untuk kelas-kelas non-publik mungkin kurang konsisten atau jelas dalam beberapa situasi.
    • /* Contoh file: NonPublicClasses.java */ public class PublicClass { /* Kode kelas publik */ } class PackagePrivateClass { /* Kode kelas non-publik */ }
  • Kemungkinan Panjang Nama File: Jika nama kelas memiliki nama yang panjang atau kompleks, maka nama file juga akan menjadi panjang dan mungkin sulit dikelola. Ini dapat mempengaruhi keterbacaan dan kepraktisan.
    • /* Contoh file: ThisIsAVeryLongClassNameWithLotsOfWords.java */ public class ThisIsAVeryLongClassNameWithLotsOfWords { /* Kode kelas */ }
  • Kemungkinan Konflik Nama File: Dalam proyek besar atau ketika bekerja dengan banyak pustaka eksternal, ada kemungkinan konflik nama file jika kelas yang berasal dari sumber yang berbeda memiliki nama yang sama. Ini dapat memunculkan masalah pengelolaan nama file.
    • /* Contoh file: SomeClass.java (dari pustaka A) */ public class SomeClass { /* Kode kelas dari pustaka A */ }
    • /* Contoh file: SomeClass.java (dari pustaka B) */ public class SomeClass { /* Kode kelas dari pustaka B */}
  • Kompleksitas Struktur Direktori: Dalam beberapa proyek yang besar, aturan penamaan file dapat memunculkan struktur direktori yang kompleks untuk menjaga konsistensi. Hal ini dapat membuat manajemen proyek menjadi lebih sulit.
    • /src
    •    /com
    •       /example
    •          /package1
    •             MainClass.java
    •             UtilityClass.java
    •          /package2
    •             AnotherClass.java

Aturan penamaan kelas dalam file Java memiliki beberapa kekurangan, terutama terkait dengan keterbatasan pada kelas publik, manajemen nama file yang panjang, potensi konflik nama file, dan kompleksitas struktur direktori. Pengembang perlu mempertimbangkan kebutuhan proyek dan tingkat fleksibilitas yang diinginkan ketika memutuskan untuk mengikuti atau memodifikasi aturan ini.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Dina Putri Septiana, Dwi Aulia Jannah, Dyan Nugraha Putra, Erika Febriana, dan Faizzah Hikmawati.

5 komentar untuk "Nama Kelas File Java dan Fungsinya"

  1. Kenapa method main sangat penting pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Main Method sangat penting digunakan untuk memulai eksekusi program. Ketika mulai menulis kode program maka programmer artinya telah menulis baris pertama dari program yaitu "public static void main(String Args[])", hal ini dikarenakan kompilator Java tidak dapat memahami apapun kecuali main method dan segera setelah kompilator mendapatkan baris kode program tersebut, maka akan mulai dilakukan eksekusi program dari aliran normal.

      Hapus
    2. Main method digunakan kompilator sebagai titik awal untuk mulai membaca program.

      Hapus
  2. Kenapa eksekusi program oleh kompilator Java harus dimulai dari main method tidak dari method lain?

    BalasHapus
    Balasan
    1. Karena Java adalah bahasa program berbasis JVM atau mesin virtual. Dimana setiap kali program Java dikirimkan ke JVM, maka program tersebut akan mencari method main atau method utama dan akan memanggilnya, satu-satunya hal yang JVM ketahui tentang program yang dikirim adalah bagaimana cara memanggil main method dari program yang dikirim tersebut. Program Java yang tidak mengandung main method, maka JVM tidak akan pernah menemukan program yang dikirim tersebut dan kode program yang terdapat pada program yang dikirimkan tersebutpun juga tidak akan pernah dieksekusi oleh JVM.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -