Tutorial OOP Java Part 15: Cara Mengakses Class Pada Package Yang Sama

Dalam tutorial sebelumnya kita telah bahas cara pembuatan package serta cara penggunaan perintah import. Dalam tutorial OOP Java kali ini akan disambung dengan cara mengakses class lain pada package yang sama.


Tidak Perlu Perintah Import

Jika kita ingin mengakses class pada package yang sama, itu tidak perlu perintah import, tapi cukup tambahkan perintah package di baris paling atas sebagai tanda class tersebut ada di package yang sama.

Khusus bagi yang men-compile file Java secara manual dari cmd menggunakan perintah javac dan java, ada cara khusus untuk menjalankan proses ini (akan kita bahas sesaat lagi). Tapi bagi yang menggunakan IDE Java seperti NetBeans, Eclipse atau Intellij Idea, proses compile sudah berjalan secara otomatis.

Sebagai bahan praktek, saya kembali memakai struktur folder D:\belajar_java dan D:\belajar_java\duniailkom. Kosongkan isi kedua folder agar tidak bentrok dengan praktek dari tutorial sebelumnya.

Pertama, silahkan buat file Komputer.java di dalam folder duniailkom dan ketik kode berikut:

package duniailkom;
 
public class Komputer {
   public String cekInfo() { 
    return "Ini berasal dari class Komputer Duniailkom"; 
  }
}

Ini kode yang sama seperti tutorial kita sebelumnya. Class Komputer berada di dalam package duniailkom dan memiliki 1 method cekInfo() yang mengembalikan sebuah string.

File diatas bisa dicompile seperti biasa, yakni dengan cara masuk ke directory tersebut, lalu compile dengan perintah javac Komputer.java. Hasilnya, file Komputer.class akan dibuat di dalam folder duniailkom.

Selanjutnya buat file kedua bernama BelajarJava.java di folder duniailkom juga, dan isi dengan kode program berikut:

package duniailkom;

class BelajarJava {
  public static void main(String args[]){ 
   
    Komputer KomputerAndi = new Komputer();
    System.out.println(KomputerAndi.cekInfo());
 
  }
}

Kembali, kode ini juga sama seperti yang kita pakai di tutorial package sebelumnya. Hanya saja sekarang posisi file ini ada di dalam folder duniailkom dan menjadi bagian dari package duniailkom. Ini ditandai dengan perintah package duniailkom di awal kode program.

Di dalam method main(), kita bisa langsung akses class Komputer tanpa proses import lagi, karena baik class Komputer dan class BelajarJava ada di package yang sama, yakni duniailkom.

Akan tetapi ketika di compile, akan muncul error berikut:

Error saat mengakses class pada package yang sama

Error cannot find symbol tampil karena cmd salah mengeksekusi class path Java. Penjelasannya sedikit rumit, namun ini hanya terjadi jika kita men-compile file Java yang didalamnya ada perintah untuk mengakses class lain di package yang sama. Error ini tidak muncul di file Komputer.java karena tidak ada pengaksesan class lain.

Salah satu solusi dari masalah ini adalah, mundurkan satu directory di cmd dari D:\belajar_java\duniailkom> ke D:\belajar_java>, lalu baru jalankan perintah compile sebagai berikut (1):

javac duniailkom\BelajarJava.java

Untuk menjalankan (run), ketik perintah berikut (2):

java duniailkom.BelajarJava

Kedua perintah ini dijalankan dari folder D:\belajar_java:

Cara compile class pada package yang sama

Itulah cara men-compile kode program Java untuk mengakses class pada package yang sama. Masalah ini hanya terjadi saat kode Java di compile secara manual. Jika menggunakan aplikasi IDE, proses compile sudah di proses secara otomatis.


Pewarisan Class Pada Package Yang Sama

Kita juga bisa mewariskan class pada package yang sama, dan cara compilenya persis seperti yang sudah kita praktekkan.

Sebagai contoh, saya akan buat class Laptop yang menurunkan class Komputer di package duniailkom:

package duniailkom;
 
class Laptop extends Komputer {
  
  public static void main(String args[]){ 
   
    Laptop laptopLisa = new Laptop();
    System.out.println(laptopLisa.cekInfo());
 
  }
}

Save kode program diatas sebagai Laptop.java di folder duniailkom.

Isi kode program hanya sekedar menurunkan class Komputer ke dalam class Laptop dengan perintah extends, lalu di baris 7 class Laptop di-instansiasi ke dalam object laptopLisa dan mengakses method cekInfo() yang di definisikan dari dalam class Komputer.

Sama seperti sebelumnya, proses compile harus kita lakukan dari dalam folder D:\belajar_java, tidak bisa langsung ke dalam folder D:\belajar_java\duniailkom.

Cara compile class pada package yang sama 2


Materi cara mengakses class pada package yang sama ini cukup penting untuk dipahami karena akan berhubungan ke tutorial-tutorial OOP Java selanjutnya, yakni tentang access modifier (pembatasan hak akses).

Materi tersebut akan kita mulai dengan membahas pengertian access modifier dalam bahasa Java.

7 Comments

  1. minke
    25 Jul 22
  2. rzl
    13 Aug 22
    • Andre
      14 Aug 22
      • Anonymous
        14 Mar 23
  3. Martin
    02 Nov 23
  4. Rendra
    08 Nov 23
    • Andre
      13 Nov 23

Add Comment

Leave a Reply to rzl Cancel reply