Artikel Terbaru

8 Pertimbangan yang Harus Dilakukan untuk Memilih Wallet Bitcoin

Wallet Bitcoin adalah program yang digunakan untuk mengirim dan menerima data transaksi Bitcoin, menyimpan catatan Bitcoin, dan memantau saldo Bitcoin. Sama seperti ketika seseorang memerlukan program email yang digunakan untuk mengelola data email -nya, pada Bitcoin juga terdapat program sejenis yang dapat digunakan untuk mengelola data Bitcoin tersebut, berupa wallet interface pada setiap node blockchain Bitcoin. Wallet digunakan untuk memantau alamat Bitcoin pada blockchain dan juga dapat digunakan untuk memperbarui saldo Bitcoin pada setiap transaksi.

7 Langkah Menjalankan Class File pada Direktori Java

Pada arikel ini akan dipelajari cara menggunakan project utilitiesclasses, dan anggotanya pada bahasa pemrograman Java. Sebelum mulainya kegiatan, terlebih dahulu pelajari beberapa keyword berikut:

Classpath
Classpath adalah lokasi dari JVM saat memulai eksekusi program. Sama hal nya dengan perilaku loading dinamis klasik, ketika progam Java dieksekusi JVM akan mencari dan melakukan loading classClasspath memberi tahu JVM dimana lokasi file system untuk mendefinisikan file class. Variabel dan method yang dapat diakses dan tersedia di classpath disebut sebagai variabel classpath. secara otomatis JVM selalu mengakses classpath class ketika mengeksekusi program. JVM selalu menuju bagian dalam dari classpath untuk mencari classes atau src.

JVM mencari dan melakukan loading class dalam urutan berikut ini:
  • satu, mencari bootstrap class: class yang fundamental bagi Java Platform (Membandingkan mana yang berfungsi lebih penting antara public class dari Java Class Library dan Private Class).
  • dua, mencari extension class: package yang berada pada direktori extensi dari JRE atau JDK, jre/lib/ext/ user-defined packaged, dan libraries.

Menggunakan import keyword
Import keyword digunakan pada Java untuk me-ngimport class dari classpath project saat ini. Import class juga bisa dilakukan dari packcages yang berbeda tetapi dari classpath yang sama. Hal yang perlu diingat bahwa package dari class dimulai dari classpath. Jika program memiliki struktur direktori seperti berikut:

a > b > c > d > class A

dan classpath dimulai dari c, maka class program harus berada pada package d bukan pada a, b, c.

Menggunakan classpath -cp option
Import keyword juga bisa melakukan import class dari classpath saat ini, sedangkan import classpath yang berada di luar class tidak bisa digunakan. Contoh, telah dibuat sebuah src dalam sebuah file Java yang menggunakan beberapa utility class, dimana file Java tersebut juga dibutuhkan pada pekerjaan project yang kedua. Maka pada situasi ini, import keyword tidak berfungsi lagi karena project pertama berada pada classpath yang berbeda. Untuk menyelesaikan permasalahan tersebut bisa menggunakan solusi perintah -cp ketika melakukan kompilasi dan eksekusi program.

Lanjutkan dengan contoh berikut ini. Ciptakan struktur direktori seperti diperlihatkan pada gambar 1.

Menjalankan Class File pada Direktori Menggunakan Bahasa Pemrograman Java
Gambar 1 Menjalankan Class File pada Direktori Menggunakan Bahasa Pemrograman Java

Dari gambar 1 sekarang dimiliki dua buah project Java yang mengandung src dan classes. Pada direktori src, terdapat .java file yang berisi kode program, dan pada direktori classes terdapat .class file yang telah di-generate setelah proses kompilasi program dijalankan.

Berikut langkah-langkah yang dilakukan untuk menjalankan class Java yang terdapat pada direktori yang berbeda.
step 1, Ciptakan utility class: ciptakan A.java pada direktori src beserta isi kode programnya.

/* java utility class */

public class A

{

 

public void test()

{System.out.println("Test()"

+" method dari class A");}

 

}


step 2, Kompilasi utility class: Buka terminal (cmd pada Windows) dimana lokasi proj1 berada, dan eksekusi program dengan perintah berikut:

cp_tutorial/proj1>cd src
cp_tutorial/proj1/src>javac -d ../classes A.java

-d Option: digunakan untuk menyimpan output menuju direktori yang berbeda. Jika tidak menggunakan perintah ini (-d) maka class file akan diciptakan pada direktori src. Namun, hal tersebut merupakan hal yang baik karena dapat secara tetapmenjaga kode program dan class file terpisah setelah perintah -d menyediakan lokasi dari direktori class file untuk disimpan.

catatan: pada tahap ini, jika masih ada hasil kompilasi program yang hasilnya error, maka harus segera diselesaikan terlebih dahulu.


step 3, Perika apakah A.java telah berhasil dikompilasi: periksa pada bagian direktori class proj1 apakah class file telah diciptakan atau belum. Biasanya proses tersebut telah diciptakan jika kompilasi program telah berjalan dengan sukses.

step 4, Buat class main dan lakukan kompilasi: Selanjutnya pindah kebagian direktori proj2. Pada bagian ini juga terdapat dua direktori untuk alasan yang sama seperti sebelumnya. Ciptakan MainClass.java pada direktori src seperti kode program berikut dan lakukan kompilasi program setelahnya.

/* Java class melakukan eksekusi program program Java*/

 

public class MainClass{

public static void main(String[] args)

{

System.out.println("In main"

+" class");

A a1 = new A();

a1.test();

}

 

}

Output:
cp_tutorial/proj2>cd src
cp_tutorial/proj2/src>javac -d ../classes MainClass.java
MainClass.java:4: error: cannot find symbol
                A a1 = new A();
                ^
symbol:   class A
location: class MainClass
MainClass.java:4: error: cannot find symbol
                A a1 = new A();
                           ^
symbol:   class A
location: class MainClass
2 errors

Seperti yang diperhatikan pada hasil sebelumnya, kompilasi memberikan error pada hasil akhir program karena simbol A tidak ditemukan pada project. Jika ingin menggunakan classes A dari proj1 maka dapat menggunakan perintah -cp option untuk memasukkan kode program proj1 seperti diperlihatkan pada step 5.

Step 5, Kompilasi dengan perintah -cp option:

cp_tutorial/proj2>cd src
cp_tutorial/proj2/src>javac -d ../classes -cp 
../../proj1/classes MainClass.java

Sekarang kode program dapat dikompilasi dengan sukses dan MainClass.class dapat diciptakandalam direktori classes yang terdapat pada classpath dan didalamnya juga terdapat path (jalur) yang diberikan beserta classpath saat ini, dan ketika JVM sudah menemukan simbol A dalam class, maka proses kompilasi program berjalan sukses.

Step 6, Eksekusi program: Coba lakukan eksekusi program berikut dengan mengikuti perintah (command) yang telah diberikan berikut ini:

cp_tutorial/proj2/src>cd ../classes
cp_tutorial/proj2/classes>java MainClass
Exception in thread "main" java.lang.NoClassDefFoundError: A
        at MainClass.main(MainClass.java:4)
Caused by: java.lang.ClassNotFoundException: A
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 1 more

Setelah program dijalankan ternyata masih didapati pesan error, hal ini karena JVM memberitahukan A path hanya pada waktu kompilasi saja. Ketika MainClasss dieksekusi, class tersebut tidak mengetahui bahwa ada class A lain pada project lainnya pula.

Step 7, Eksekusi program menggunakan -cp option) Siapkan kembali path dari class A.

cp_tutorial/proj2/classes>java -cp ../../proj1/classes; MainClass
In main class
Test() method of class A

Sekarang program telah berhasil dijalankan.

catatan: Jangan lupa menambahkan simbol semicolon (;) pada bagian akhir dari path yang telah dibuat.

Cara menjalankan program Java dengan Jar pada classpath
Program juga bisa menggunakan jar file sebagai pengganti dari class file pada classpath yang berbeda. Tahapan proses yang dilakukan adalah sama dengan mengganti folder menggunakan jar dan class name menggunakan jar name. Ibarkatkan telah dimiliki sebuah direktori jar file lib, setelah itu lakukan kompilasi program dengan perintah eksekusi berikut:

cp_tutorial/proj2/src>javac -d ../classes -cp ../../proj1/lib MainClass.java

Kemudian lakukan eksekusi program.

cp_tutorial/proj2/classes>java -cp ../../proj1/lib; MainClass

Komentar

  1. Apa fungsi dari class file pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Classa file pada bahasa Pemrograman Java adalah format yang ditentukan secara tepat untuk bahasa pemrograman Java yang akan dikompilasi. Kode sumber program Java dikompilasi menjadi class file yang dapat dimuat dan dijalankan oleh JVM apapun pada program Java. Class file mungkin berjalan melintasi jaringan sebelum dimuat oleh JVM.

      Hapus
  2. Setiap kali sesorang programmer menulis program dalam bahasa pemrograman Java, maka file .java kemudian akan dikompilasi oleh kompilator, dimana kompilator akan mengambil kode sumber yang telah dibuat dan kemudian akan mengubahnya menjadi class file yang dapat dijalankan pada JVM.

    Hal ini menjelaskan bahwa Java dapat dijalankan pada OS apapun selama OS tersebut menggunakan JVM.

    BalasHapus
  3. Apa yang dimaksud dengan utility class atau utilitas pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Utility class, atau juga disebuat sebagai helper class, merupakan class yang terdapat pada bahasa pemrograman Java, yang hanya berisi method static, tanpu disertai status apapun, dan tidak dapat menbuat instance apapun. Class ini berisi banyak method-method terkait, sehingga dapat digunakan kembali pada seluruh aplikasi atau program.

      Hapus

Posting Komentar

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

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Perbedaan stdio.h dan stdlib.h pada Bahasa C

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

Perbedaan Antara int main() dan int main(void) pada Bahasa C

Enkapsulasi pada Java

3 Jenis Utama Looping pada Java