Anda di halaman 1dari 16

LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

Penyusun:

Aristya Miftahun Nur Rizky(220631100044)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2023
Modul V : Java Modifier

1.1 Tujuan

1. Memahami konsep modifier dalam Java.


2. Mengimplementasikan access modifier dan non-access modifier dalam
Java.
1.2 Landasan Teori
A. Access Modifier
• Access modifier untuk class
Modifier Deskripsi
public class dapat diakses class lain
default class dapat diakses class lain dalam package yang sama

• Access modifier untuk atribut, method, dan constructor


Modifier Deskripsi
public code dapat diakses semua class
private code hanya dapat diakses class yang
mendeklarasikannya
default code dapat diakses dalam package yang sama
protected code dapat diakses dalam package yang sama dan
subclass nya

B. Multiple Interface
• Modifier untuk class
Modifier Deskripsi
final class tidak dapat diturunkan ke class lain
abstract class tidak dapat digunakan untuk membuat objek
• Modifier untuk atribut dan method
Modifier Deskripsi
final Atribut dan method tidak dapat dioverride atau
dimodifikasi
static Atribut dan class milik class, bukan objek
abstract Hanya dapat digunakan oleh method dalam abstract class
protected code dapat diakses dalam package yang sama dan
subclass nya
C. Package
• Pengertian
Package adalah sarana/cara pengelompokkan dan pengorganisasian
kelas-kelas dan interface yang sekelompok menjadi suatu unit
tunggal dalam library.
• Deklarasi package
Bentuk umum deklarasi package :
package namaPackage;
Deklarasi tersebut akan memberitahukan kompilator, ke library
manakah
suatu kelas dikompilasi dan dirujuk.
Syarat nama package :
1) Diawali huruf kecil
2) Menggambarkan kelas-kelas yang dibungkusnya
3) Harus unik (berbeda dengan nama package standard)
4) Merepresentasikan path dari package tersebut.
5) Harus sama dengan nama direktorinya.
• Menggunakan package
Menggunakan Package
Ada dua cara menggunakan suatu package yaitu :
1) Kelas yang menggunakan berada dalam direktori (package)
yang sama dengan kelas-kelas yang digunakan. Maka tidak
diperlukan import.
2) Kelas yang menggunakan berada dalam direktori (package)
yang berbeda dengan kelas-kelas yang digunakan. Maka
pada awal source code di kelas pengguna harus
mencantumkan :
import namaPackage.NamaKelas; atau
import namaPackage.*;
1.3 Alat dan Bahan
1. Apache NetBeans 15
2. Laptop
1.4 Langkah-langkah Percobaan
1. Buatlah package anggota. Pada package anggota, buatlah class baru dengan
nama class “anggota” , “orang” dan “mahasiswa”. Class orang dan
mahasiswa berada pada file yang berbeda dengan class anggota, namun
masih pada package yang sama.
• Package data

package data;

import anggota.*;

public class main {

public static void main(String args[]) {


rumah rumah1 = new rumah(1, "Sidoarjo", new keluarga(10, "ani"));
System.out.println(rumah1.norumah + "\n" + rumah1.alamat + "\n"
+ rumah1.satu.nama + "\n" + rumah1.satu.jml);

//contoh pengambilan class beda package


orang org = new orang("adi", 10);
System.out.println("\n" + org.getnama());

//contoh pengambilan class beda package


mahasiswa mhs = new mahasiswa("rani", 20, "001", "PBO");

System.out.println("\n" + mhs.cetak2());
}
}
package data;
public class rumah {

int norumah;
String alamat;
keluarga satu;

public rumah(int norumah, String alamat, keluarga satu) {


this.norumah = norumah;
this.alamat = alamat;
this.satu = satu;
}
}

package data;
public class keluarga {

int jml;
String nama;

public keluarga(int jml, String nama) {


this.jml = jml;
this.nama = nama;
}
}
• Package anggota

package anggota;
public class anggota {

public static void main(String[] args) {


mahasiswa mhs = new mahasiswa("Aris", 10, "44", "kimia");
System.out.println(mhs.cetak2() + "\n" + mhs.cetak3());
}
}
package anggota;
public class mahasiswa extends orang {

String NIM, tugas;


int IPK;

public mahasiswa(String nama, int usia, String NIM, String tugas) {


super(nama, usia);
this.NIM = NIM;
this.tugas = tugas;
}

public String cetak2() {


return (super.getnama() + " " + super.getusia());

public String cetak3() {


return (super.getnama() + " " + tugas);
}
}
package anggota;
public class orang {

String nama;
int usia;

public orang(String nama, int usia) {


this.nama = nama;
this.usia = usia;
}

public String getnama() {


return nama;
}

public int getusia() {


return usia;
}
}
1.5 Hasil dan Analisa Percobaan

1. Hasil output dan analisa program seperti berikut :

Analisa :
Terdapat tiga package: `anggota`, `mahasiswa`, dan `orang`. Package
`mahasiswa` dan `orang` berada di dalam package `anggota`. Kelas `orang`
merupakan superclass yang memiliki variabel `nama` dan `usia`, serta getter
untuk mengakses nilai variabel tersebut. Kelas `mahasiswa` merupakan
subclass dari `orang` yang menambahkan variabel `NIM`, `tugas`, dan `IPK`.
Kelas `mahasiswa` memiliki konstruktor untuk menginisialisasi variabel dan
metode cetak untuk mencetak informasi mahasiswa. Program utama berada di
kelas `anggota`, yang membuat objek `mahasiswa` dengan informasi seperti
nama, usia, NIM, dan tugas, dan mencetak informasi mahasiswa tersebut.
Program ini memberikan contoh penggunaan pewarisan dan package dalam
pemrograman Java untuk memperlihatkan hubungan antara superclass dan
subclass, serta organisasi kode program yang terstruktur menggunakan
package.
2, Hasil output dan analisa program seperti berikut :

Analisa :

Terdiri dari tiga package: `data`, `anggota`, dan `keluarga`. Package


`data` berisi kelas `rumah`, `keluarga`, dan `main`. Kelas `rumah` memiliki
variabel `norumah`, `alamat`, dan objek `keluarga`. Kelas `keluarga` memiliki
variabel `jml` dan `nama`. Kelas `main` merupakan kelas utama yang membuat
objek `rumah` dan `keluarga`, serta mencetak informasi tentang nomor rumah,
alamat, nama keluarga, dan jumlah anggota keluarga. Selain itu, program juga
menunjukkan contoh pengambilan kelas dari package yang berbeda dengan
membuat objek `orang` dan `mahasiswa` dari package `anggota`. Program ini
memberikan contoh penggunaan kelas dan objek, serta pengambilan kelas dari
package yang berbeda dalam Java.

1.6 Tugas

1. Buatlah sebuah project yang memiliki 3 package. Terapkan semua akses


modifier di dalamnya!
• Package 1

package satu;
import tiga.Alamat;
public class Siswa {
private String nama;
protected int umur;
String kelas;
public double nilai;
private Alamat alamat;
public Siswa(String nama, int umur, String kelas, double nilai, Alamat
alamat) {
this.nama = nama;
this.umur = umur;
this.kelas = kelas;
this.nilai = nilai;
this.alamat = alamat;
}
public void infoSiswa() {
System.out.println("Nama: " + nama);
System.out.println("Umur: " + umur);
System.out.println("Kelas: " + kelas);
System.out.println("Nilai: " + nilai);
System.out.println("Alamat: " + alamat.getAlamatLengkap());
}
}
• Package 2

package dua;

import satu.Siswa;
import tiga.Alamat;

public class Main {


public static void main(String[] args) {
Alamat alamat = new Alamat("Jalan mawar No. 12", "Kota Tuban",
"Provinsi Jatim");
Siswa siswa = new Siswa("Parmin", 17, "11A", 85.5, alamat);
siswa.infoSiswa();
}
}
• Package 3

package tiga;

public class Alamat {


private String jalan;
private String kota;
private String provinsi;

public Alamat(String jalan, String kota, String provinsi) {


this.jalan = jalan;
this.kota = kota;
this.provinsi = provinsi;
}

public String getAlamatLengkap() {


return jalan + ", " + kota + ", " + provinsi;
}
}
Output :

Analisa :

Dalam contoh program yang diberikan, terdapat tiga package yang saling
berhubungan: `satu`, `dua`, dan `tiga`. Package `tiga` berisi kelas `Alamat` yang
digunakan oleh kelas `Siswa` yang berada di package `satu`. Kelas `Siswa`
memiliki beberapa variabel dengan akses modifier yang berbeda, seperti
private, protected, dan default. Variabel `alamat` di dalam kelas `Siswa`
menggunakan tipe data `Alamat` dari package `tiga`, yang memungkinkan
penyimpanan informasi alamat siswa. Program utama yang berada di package
`dua` membuat objek `Alamat` dan menginisialisasi objek `Siswa` dengan
menggunakan objek `Alamat` tersebut. Kemudian, metode `infoSiswa()`
dipanggil untuk mencetak informasi siswa beserta alamatnya. Dengan
menggunakan konsep package dan memisahkan kelas-kelas yang berkaitan ke
dalam package yang sesuai, program ini menjadi lebih terstruktur.
1.7 Kesimpulan

Access modifier adalah fitur dalam pemrograman yang mengatur


tingkat akses dan visibilitas suatu kelas, metode, atau variabel. Ada empat jenis
access modifier dalam Java: public, private, protected, dan default. Public
memberikan akses penuh dari mana saja, private membatasi akses ke dalam
kelas itu sendiri, protected memperbolehkan akses di dalam kelas, package, dan
subclass, sementara default memberikan akses terbatas pada level package.
Pemilihan access modifier yang tepat penting untuk mengendalikan tingkat
akses, menerapkan enkapsulasi, dan menjaga integritas program.
1.8 Lampiran

Gambar 1.5 Bukti mengikuti praktikum

Anda mungkin juga menyukai