Belajar Java | Contoh Coding Private Keyword Dan Public Keyword

Sebelum kita mengenal ke private keyword dan public keyword pada java, alangkah baiknya saya menjelaskan terlebih dahulu mengenai method.

Di Java, method adalah blok kode yang dapat dieksekusi secara berulang dengan mengirimkan input tertentu ke dalamnya dan mengembalikan hasil yang sesuai. Method digunakan untuk memecah program menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola, serta untuk menghindari penulisan kode yang berulang-ulang.

Method dapat didefinisikan di dalam kelas Java dan dapat dipanggil oleh program utama atau oleh method lainnya. Saat method dipanggil, input diteruskan ke dalam method dan kemudian method mengembalikan nilai keluaran.

Dalam definisi method, kita harus menentukan tipe data kembalian (jika ada), nama method, dan parameter yang akan diterima. Tipe data kembalian menunjukkan jenis nilai yang akan dikembalikan oleh method, sedangkan parameter digunakan untuk menerima input dari program yang memanggil method.

Berikut adalah contoh  method sederhana pada Java:

public int tambah(int angka1, int angka2) {
int hasil = angka1 + angka2;
return hasil;
}

Pada contoh di atas, method bernama "tambah" memiliki dua parameter bertipe data int (angka1 dan angka2), dan akan mengembalikan nilai bertipe data int yang merupakan hasil penjumlahan angka1 dan angka2.

apa itu public dan private keyword pada java

Di Java, keyword "public" dan "private" digunakan untuk mengatur aksesibilitas suatu class, method, atau variabel.

Keyword "public" menunjukkan bahwa class, method, atau variabel tersebut dapat diakses dari mana saja, baik dari dalam class itu sendiri maupun dari luar class. Dengan kata lain, keyword "public" membuat suatu class, method, atau variabel menjadi publik dan dapat diakses oleh seluruh program.

Contoh penggunaan keyword "public":

public class MyClass {
   public int myPublicVariable;
   public void myPublicMethod() {
   // kode method
   }
}

Sementara itu, keyword "private" menunjukkan bahwa class, method, atau variabel tersebut hanya dapat diakses dari dalam class itu sendiri. Dengan kata lain, keyword "private" membuat suatu class, method, atau variabel menjadi private dan tidak dapat diakses oleh program di luar class tersebut.

Contoh penggunaan keyword "private":

public class MyClass {
   private int myPrivateVariable;
   private void myPrivateMethod() {
     // kode method
}
}

Penggunaan keyword "public" dan "private" ini sangat penting dalam menjaga keamanan dan konsistensi program. Dalam praktiknya, penggunaan keyword "public" sebaiknya dibatasi sejauh mungkin, sedangkan penggunaan keyword "private" sebaiknya digunakan untuk menyembunyikan implementasi internal suatu class, method, atau variabel dari program di luar class tersebut.

Berikut adalah contoh program yang lebih kompleks menggunakan keyword "public" dan "private" pada Java. Program ini merupakan simulasi sistem pengiriman barang yang terdiri dari beberapa class, di mana setiap class menggunakan keyword "public" atau "private" sesuai dengan fungsinya masing-masing.

// Class Item, digunakan untuk merepresentasikan item yang akan dikirim
public class Item {
  private String name;
  private int weight;

  public Item(String name, int weight) {
    this.name = name;
    this.weight = weight;
  }

  public String getName() {
    return name;
  }

  public int getWeight() {
    return weight;
  }
}

// Class Shipping, digunakan untuk menghitung biaya pengiriman
public class Shipping {
  public double calculateShippingCost(Item item, String destination) {
    // kode untuk menghitung biaya pengiriman
  }
}

// Class Customer, digunakan untuk merepresentasikan pelanggan yang akan mengirim barang
public class Customer {
  private String name;
  private String address;

  public Customer(String name, String address) {
    this.name = name;
    this.address = address;
  }

  public String getName() {
    return name;
  }

  public String getAddress() {
    return address;
  }
}

// Class Order, digunakan untuk merepresentasikan pesanan pengiriman barang oleh pelanggan
public class Order {
  private Customer customer;
  private Item item;
  private String destination;
  private double shippingCost;

  public Order(Customer customer, Item item, String destination) {
    this.customer = customer;
    this.item = item;
    this.destination = destination;

    // menghitung biaya pengiriman
    Shipping shipping = new Shipping();
    this.shippingCost = shipping.calculateShippingCost(item, destination);
  }

  public Customer getCustomer() {
    return customer;
  }

  public Item getItem() {
    return item;
  }

  public String getDestination() {
    return destination;
  }

  public double getShippingCost() {
    return shippingCost;
  }
}

// Class Main, digunakan untuk menjalankan program
public class Main {
  public static void main(String[] args) {
    // membuat objek Customer dan Item
    Customer customer = new Customer("John", "Jl. Sudirman No. 123");
    Item item = new Item("Laptop", 2);

    // membuat objek Order
    Order order = new Order(customer, item, "Jakarta");

    // menampilkan informasi order
    System.out.println("Customer Name: " + order.getCustomer().getName());
    System.out.println("Customer Address: " + order.getCustomer().getAddress());
    System.out.println("Item Name: " + order.getItem().getName());
    System.out.println("Item Weight: " + order.getItem().getWeight() + " kg");
    System.out.println("Destination: " + order.getDestination());
    System.out.println("Shipping Cost: Rp. " + order.getShippingCost());
  }
}

Pada program di atas, class Item menggunakan keyword "private" pada atribut name dan weight, sehingga atribut tersebut tidak dapat diakses langsung dari luar class. Untuk mengakses nilai dari atribut tersebut, kita menggunakan method getter getName() dan getWeight() yang menggunakan keyword "public".

Class Shipping, Customer, dan Order menggunakan keyword "public" pada seluruh atribut dan method-nya, sehingga dapat diakses dari program di luar class tersebut.

Pada class Order, method calculateShippingCost() dari class Shipping menggunakan keyword "public" sehingga dapat diakses dari program di luar class Shipping. Sedangkan atribut customer, item, destination, dan shippingCost menggunakan keyword "private" agar tidak dapat diakses langsung dari luar class Order. Untuk mengakses nilai dari atribut tersebut, kita menggunakan method getter yang menggunakan keyword "public".

Pada class Main, kita membuat objek Customer dan Item menggunakan keyword "public" pada constructor-nya, sehingga dapat diakses dari program di luar class Customer dan Item. Kemudian, kita membuat objek Order dengan menggunakan objek Customer dan Item yang telah dibuat sebelumnya.

Pada saat membuat objek Order, kita menghitung biaya pengiriman dengan menggunakan objek Shipping yang telah dibuat di dalam constructor Order. Namun, method calculateShippingCost() pada class Shipping tidak dapat diakses dari luar class Shipping, sehingga nilai biaya pengiriman hanya dapat diakses melalui method getter getShippingCost() pada class Order.

Terakhir, pada class Main, kita menampilkan informasi order dengan menggunakan method getter pada class Order yang menggunakan keyword "public" untuk mengakses atribut customer, item, destination, dan shippingCost.

Dengan menggunakan keyword "public" dan "private" pada program di atas, kita dapat membatasi aksesibilitas atribut dan method pada setiap class sehingga dapat menjaga keamanan dan konsistensi program.

Selain itu, dengan menggunakan keyword "public" dan "private", kita juga dapat membuat program menjadi lebih modular dan mudah di-maintain. Dengan membatasi aksesibilitas atribut dan method pada setiap class, kita dapat mengurangi kemungkinan terjadinya kesalahan pada program, karena hanya method yang telah didefinisikan yang dapat memanipulasi nilai atribut pada class tersebut.

Selain itu, dengan menggunakan keyword "public" dan "private", kita dapat membuat program menjadi lebih fleksibel dan mudah diubah. Jika suatu saat nanti kita ingin merubah atau menambahkan fungsionalitas pada suatu class, kita dapat melakukannya tanpa harus khawatir memengaruhi class lain yang menggunakan class tersebut, asalkan kita memperhatikan batasan aksesibilitas pada setiap atribut dan method yang ada di dalam class tersebut.

Namun, perlu diingat bahwa penggunaan keyword "public" dan "private" pada program harus disesuaikan dengan kebutuhan dan desain program yang dibuat. Jika suatu atribut atau method memang membutuhkan akses dari luar class, maka kita dapat menggunakan keyword "public". Namun, jika suatu atribut atau method hanya perlu digunakan di dalam class tersebut, maka kita dapat menggunakan keyword "private". Dan jika suatu atribut atau method perlu digunakan di dalam class tersebut dan juga di dalam class turunannya, kita dapat menggunakan keyword "protected".

Dalam melakukan pengaturan aksesibilitas dengan keyword "public" dan "private", perlu diingat juga bahwa penggunaan keyword "public" sebaiknya dibatasi sebisa mungkin, karena aksesibilitas yang terlalu terbuka dapat menyebabkan program lebih rentan terhadap kesalahan dan penyalahgunaan. Sebaliknya, penggunaan keyword "private" yang terlalu banyak juga dapat membuat program menjadi kurang fleksibel dan sulit diubah di masa depan.

Dalam pengembangan program yang kompleks, perlu mempertimbangkan penggunaan keyword "public" dan "private" dengan baik agar program dapat berjalan dengan aman, mudah di-maintain, dan fleksibel.

Previous Post
No Comment
Add Comment
comment url