September 3, 2026
Laporan Praktikum Objcet Oriented Programming : Class And Object
Halo teman-teman semuanya perkenalkan nama saya Cahyo Adi Nugroho, saya adalah salah satu mahasiswa teknologi informasi dari Universitas…

By Cahyoadi
7 min read
Halo teman-teman semuanya perkenalkan nama saya Cahyo Adi Nugroho, saya adalah salah satu mahasiswa teknologi informasi dari Universitas Tidar. Di blog medium ini saya akan menjelaskan tentang laporan praktikum Object Oriented Programming (OOP) atau biasa disebut Pemrograman Berorientasi Objek (PBO). Laporan ini akan berfokus pada pembahasan class dan object menggunakan bahasa pemrograman java pada apache netbeans. Simak penjelasan dibawah ini.
CAPAIAN PEMBELAJARAN
- CAPAIAN PEMBELAJARAN 1 Mahasiswa memahami konsep dasar class dan object dalam pemrograman berorientasi objek.
- Mahasiswa mampu mengimplementasikan class dan membuat object di dalam program.
ALAT DAN BAHAN
- Seperangkat komputer lengkap/Laptop dengan koneksi internet
- Web Browser (Chrome/Firefox/Opera/Edge/Safari/dll)
- Aplikasi Kantor (Microsoft Office/Libre Office/WPS Office/etc)
- JDK (https://www.oracle.com/java/technologies/downloads/)
- Netbeans (https://netbeans.apache.org/front/main/download/)
DASAR TEORI
Kelas pada Java berfungsi sebagai cetak biru (blueprint) untuk menciptakan sebuah objek. Di dalam kelas ini, dideklarasikan atribut serta method yang mendefinisikan sifat dan perilaku dari objek yang akan dibuat. Untuk mengubah kelas tersebut menjadi bentuk objek nyata, kita melakukan instansiasi menggunakan operator new.
Kita bisa menggunakan kelas bawaan dari pustaka Java API maupun merancang kelas sendiri untuk menjaga kelancaran logika . Untuk menjaga keamanan data di dalam kelas, Java menyediakan kata kunci modifier seperti public, private, dan protected untuk membatasi hak akses dari kelas lain. Sebagai contoh, membatasi akses variabel dengan modifier private membuat data tersebut hanya bisa diolah secara internal di dalam kelas itu sendiri demi menjaga integritas data agar tidak sembarangan diubah dari luar.
ketika jumlah kelas dalam program semakin banyak, kita dapat mengelompokkannya secara terstruktur ke dalam wadah bernama package. Package ini bekerja mirip seperti direktori atau folder penyimpanan yang mengklasifikasikan kelas-kelas yang saling berhubungan.
- Membuat project dan package
Untuk mempraktikan penerapan penggunaan kelas kita dapat membuat projek baru dan akan saya beri nama "PraktikmPBO3". Setelah itu ganti package menjadi "praktikum3".
Terkadang build tool java pada netbeans tidak mengenali package yang baru, build tools akan tetap membaca package lama atau package default yang udah kita ganti sehingga hal ini akan membuat eror padahal ga ada kode yang salah. Agar maven atau build tool java lainnya dapat membaca nama package yang baru kita harus menyetingnya pada berkas package di area kiri netbeans → pencet reafctor → pencet rename.
dan di menu rename ketikan nama package yag baru lalu pencet refactor. sekarang build tool java seperti maven akan mengenali packge yang baru.
- Membuat class dan method
Selanjutnya adalah membuat class, kita akan membuat class bernama hewan dengan 2 atribut yaitu nama dengan tipe data string dan umur dengan tipe data integer. Untuk membuat class kita akan membuatnya di file baru dengan packagenya praktikum3 yang sudah kita buat sebelumnya. Selain class kita juga akan membuat method yang dengan keluaran "hewan bersuara".
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**
*
* @author LENOVO
*/
public class hewan {
String nama;
int umur;
void suara() {
System.out.println("Hewan bersuara");
System.out.println("------------------------------");
System.out.println();
}
}/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**
*
* @author LENOVO
*/
public class hewan {
String nama;
int umur;
void suara() {
System.out.println("Hewan bersuara");
System.out.println("------------------------------");
System.out.println();
}
}- Membuat object
Setelah class dan methodnya udah siap, sekarang kita akan membuat object. Untuk membuat object sebenarnya kodenya bisa diketikan di file utama tadi atau membuat file lagi yang khusus object. Disini saya membuat file lagi yang khusus menuliskan kode untuk object.
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**^
*
* @author LENOVO
*/
public class main {
public static void main() {
hewan kucing = new hewan();
kucing.nama = "joni";
kucing.umur = 3;
kucing.suara();
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**^
*
* @author LENOVO
*/
public class main {
public static void main() {
hewan kucing = new hewan();
kucing.nama = "joni";
kucing.umur = 3;
kucing.suara();
}
}
Dengan begitu obejct dengn nama kucing sudah siap. ===urong bar====
- Menambahkan konstructor
Konstructor adalah method khusus dalam OOP yang namanya sama persis dengan nama kelasnya dan dipanggil secara otomatis saat suatu objek dibuat menggunakan kata kunci 'new'. Deangan dibuatnya konstructor kita harus memasukkan nilai atribut sebagai argumrn. Hal ini bertujuan untuk mencegah erorr saat atribut berisi kosong karena lupa misalnya. Konstructor akan mengeluarkan nila 0 atau null jika suatu atribut tidak diisi.
Disini kita juga akan menerapkan private sehingga atribut tidak bisa diakses dari luar kelas sembarangan. Untuk mengakses atribut dari luar kelas dalam kondisi private kita harus menggunakan konsep setter dan getter. Setter untuk mengisi atau mengedit atribut sedangkan getter untuk mengambil nilainya.
Pada bagian ini kita juga akan membuat beberapa method baru.
kelas :
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**
*
* @author LENOVO
*/
public class hewan {
private String nama;
private int umur;
//membuat constructor
public hewan(String nama, int umur) {
this.nama = nama;
this.umur = umur;
}
//membuat getter nama untuk mengambil nilai pada atribut 'nama'
public String getNama() {
return nama;
}
//membuat setter nama untuk mengisi nilai pada atribut 'nama'
public void setNama(String nama) {
this.nama = nama;
}
//membuat getter nama untuk mengambil nilai pada atribut 'umur'
public int getUmur() {
return umur;
}
//membuat setter nama untuk mengisi nilai pada atribut 'umur'
public void setUmur(int umur) {
this.umur = umur;
}
//method suara
void suara() {
System.out.println("Hewan bersuara");
System.out.println("------------------------------");
System.out.println();
}
//method inpo
void inpo() {
System.out.println("INI METHOD INPOO (BUKAN INFO)");
System.out.println("Nama: " + getNama() + ", Umur: " + getUmur());
System.out.println("------------------------------");
System.out.println();
}
//method berlari
void berlari() {
System.out.println("Hewan sedang berlari");
System.out.println();
}
}/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**
*
* @author LENOVO
*/
public class hewan {
private String nama;
private int umur;
//membuat constructor
public hewan(String nama, int umur) {
this.nama = nama;
this.umur = umur;
}
//membuat getter nama untuk mengambil nilai pada atribut 'nama'
public String getNama() {
return nama;
}
//membuat setter nama untuk mengisi nilai pada atribut 'nama'
public void setNama(String nama) {
this.nama = nama;
}
//membuat getter nama untuk mengambil nilai pada atribut 'umur'
public int getUmur() {
return umur;
}
//membuat setter nama untuk mengisi nilai pada atribut 'umur'
public void setUmur(int umur) {
this.umur = umur;
}
//method suara
void suara() {
System.out.println("Hewan bersuara");
System.out.println("------------------------------");
System.out.println();
}
//method inpo
void inpo() {
System.out.println("INI METHOD INPOO (BUKAN INFO)");
System.out.println("Nama: " + getNama() + ", Umur: " + getUmur());
System.out.println("------------------------------");
System.out.println();
}
//method berlari
void berlari() {
System.out.println("Hewan sedang berlari");
System.out.println();
}
}objek :
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**^
*
* @author LENOVO
*/
public class main {
public static void main(String[] args) {
//object kucing
hewan kucing = new hewan("jhon", 3);
kucing.suara();
kucing.inpo();
kucing.berlari();
//object anjing
hewan Anjing = new hewan("smith", 5);
Anjing.suara();
Anjing.inpo();
Anjing.berlari();
}
}/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package praktikum3;
/**^
*
* @author LENOVO
*/
public class main {
public static void main(String[] args) {
//object kucing
hewan kucing = new hewan("jhon", 3);
kucing.suara();
kucing.inpo();
kucing.berlari();
//object anjing
hewan Anjing = new hewan("smith", 5);
Anjing.suara();
Anjing.inpo();
Anjing.berlari();
}
}output :
cd C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3; "JAVA_HOME=C:\\Program Files\\Apache NetBeans\\jdk" cmd /c "\"C:\\Program Files\\Apache NetBeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" \"-Dexec.executable=C:\\Program Files\\Apache NetBeans\\jdk\\bin\\java.exe\" -Dexec.mainClass=praktikum3.main -Dexec.classpathScope=runtime -Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\Apache NetBeans\\java\\maven-nblib\\netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-plugin:3.6.3:exec"
Scanning for projects...
--------------------< com.mycompany:PraktikmPBO_3 >---------------------
Building PraktikmPBO_3 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------
--- resources:3.4.0:resources (default-resources) @ PraktikmPBO_3 ---
skip non existing resourceDirectory C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3\src\main\resources
--- compiler:3.15.0:compile (default-compile) @ PraktikmPBO_3 ---
Nothing to compile - all classes are up to date.
--- exec:3.6.3:exec (default-cli) @ PraktikmPBO_3 ---
Hewan bersuara
------------------------------
INI METHOD INPOO (BUKAN INFO)
Nama: jhon, Umur: 3
------------------------------
Hewan sedang berlari
Hewan bersuara
------------------------------
INI METHOD INPOO (BUKAN INFO)
Nama: smith, Umur: 5
------------------------------
Hewan sedang berlari
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 0.878 s
Finished at: 2026-09-03T06:00:42+07:00
------------------------------------------------------------------------cd C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3; "JAVA_HOME=C:\\Program Files\\Apache NetBeans\\jdk" cmd /c "\"C:\\Program Files\\Apache NetBeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" \"-Dexec.executable=C:\\Program Files\\Apache NetBeans\\jdk\\bin\\java.exe\" -Dexec.mainClass=praktikum3.main -Dexec.classpathScope=runtime -Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\Apache NetBeans\\java\\maven-nblib\\netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-plugin:3.6.3:exec"
Scanning for projects...
--------------------< com.mycompany:PraktikmPBO_3 >---------------------
Building PraktikmPBO_3 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------
--- resources:3.4.0:resources (default-resources) @ PraktikmPBO_3 ---
skip non existing resourceDirectory C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3\src\main\resources
--- compiler:3.15.0:compile (default-compile) @ PraktikmPBO_3 ---
Nothing to compile - all classes are up to date.
--- exec:3.6.3:exec (default-cli) @ PraktikmPBO_3 ---
Hewan bersuara
------------------------------
INI METHOD INPOO (BUKAN INFO)
Nama: jhon, Umur: 3
------------------------------
Hewan sedang berlari
Hewan bersuara
------------------------------
INI METHOD INPOO (BUKAN INFO)
Nama: smith, Umur: 5
------------------------------
Hewan sedang berlari
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 0.878 s
Finished at: 2026-09-03T06:00:42+07:00
------------------------------------------------------------------------TUGAS
Tugas tersebut menuntut saya untuk membuat sebauh class bernama mobil dengan 4 atribut pada akhirnya. Selain itu saya juga harus membuat method untuk class mobil memiliki getter dan setter serta membuat method lainnya. Pada main.java yaitu file yang akan mengahasilkan objectnya, saya harus membuat 2 object yang berbeda dari class mobil.
Untuk kode pemrogaman tugas saya akan meletakannya pada package yang baru yaitu "tuugas_paraktikum3" agar file main.java tidak tabrakan dengan yang ada di package "praktikum3". Selain itu hal ini juga bertujuan agar programnya terlihat lebih rapi.
- Class
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package tuugas_praktikum3;
public class mobil {
//1. membuat class mobil (private untuk enkapsulasi)
private String merk;
private String model;
private int tahun;
private String warna; // Atribut tambahan baru
//2. constructor
public mobil(String merk, String model, int tahun, String warna) {
this.merk = merk;
this.model=model;
this.tahun=tahun;
this.warna=warna;
}
//3. getter dan setter
//-merk
public String getMerk() {
return merk;
}
public void setMerk(String merk) {
this.merk=merk;
}
//-model
public String getModel() {
return model;
}
public void setModel(String model) {
this.model=model;
}
//-Tahun
public int getTahun() {
return tahun;
}
public void setTahun(int tahun) {
this.tahun=tahun;
}
//-warna
public String getWarna() {
return warna;
}
public void setWarna(String warna) {
this.warna=warna;
}
//method StarteEngine
public void startEngine(){
System.out.println("Mesin mobil" + "menyala");
}
//method displayinfo
public void displayinfo(){
System.out.println("Merk : " + merk);
System.out.println("model : " + model);
System.out.println("tahun : " + tahun);
System.out.println("warna : " + warna);
System.out.println("=================================");
}
}/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package tuugas_praktikum3;
public class mobil {
//1. membuat class mobil (private untuk enkapsulasi)
private String merk;
private String model;
private int tahun;
private String warna; // Atribut tambahan baru
//2. constructor
public mobil(String merk, String model, int tahun, String warna) {
this.merk = merk;
this.model=model;
this.tahun=tahun;
this.warna=warna;
}
//3. getter dan setter
//-merk
public String getMerk() {
return merk;
}
public void setMerk(String merk) {
this.merk=merk;
}
//-model
public String getModel() {
return model;
}
public void setModel(String model) {
this.model=model;
}
//-Tahun
public int getTahun() {
return tahun;
}
public void setTahun(int tahun) {
this.tahun=tahun;
}
//-warna
public String getWarna() {
return warna;
}
public void setWarna(String warna) {
this.warna=warna;
}
//method StarteEngine
public void startEngine(){
System.out.println("Mesin mobil" + "menyala");
}
//method displayinfo
public void displayinfo(){
System.out.println("Merk : " + merk);
System.out.println("model : " + model);
System.out.println("tahun : " + tahun);
System.out.println("warna : " + warna);
System.out.println("=================================");
}
}Penjelasan :
Disini saya membuat class bernama mobil dengan 4 atribut didalamnya yaitu merk, model, tahun, dan warna. Didalam kelas juga ada beberapa methode seperti 'stratengine', 'displayinfo' untuk menampilkan informasi data object, dll.
- Main
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package tuugas_praktikum3;
/**
*
* @author LENOVO
*/
public class main {
public static void main(String[] args) {
//menciptakan 2 objek
mobil mobil1 = new mobil("toyota", "avanza", 2020, "hitam");
mobil mobil2 = new mobil("honda", "civic", 2022, "merah");
//menampilkan informasi dari method displayinfo
System.out.println("==NFORMAASI AWAL MOBIL==");
mobil1.displayinfo();
mobil2.displayinfo();
//method startengine
System.out.println("==MENYALAKAN MESIN==");
mobil1.startEngine();
mobil2.startEngine();
System.out.println();
//Mrngubah warna
System.out.println("==PROSES MENGUBAH WARNA==");
System.out.println("Mengubah warna mobil 1 menjadi 'putih'...");
mobil1.setWarna("Putih");
System.out.println();
//menampilkan informasi mobil terbaru
System.out.println("==INFORMASI TERBARU SETELAH PERUBAHAN==");
mobil1.displayinfo();
}
}/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package tuugas_praktikum3;
/**
*
* @author LENOVO
*/
public class main {
public static void main(String[] args) {
//menciptakan 2 objek
mobil mobil1 = new mobil("toyota", "avanza", 2020, "hitam");
mobil mobil2 = new mobil("honda", "civic", 2022, "merah");
//menampilkan informasi dari method displayinfo
System.out.println("==NFORMAASI AWAL MOBIL==");
mobil1.displayinfo();
mobil2.displayinfo();
//method startengine
System.out.println("==MENYALAKAN MESIN==");
mobil1.startEngine();
mobil2.startEngine();
System.out.println();
//Mrngubah warna
System.out.println("==PROSES MENGUBAH WARNA==");
System.out.println("Mengubah warna mobil 1 menjadi 'putih'...");
mobil1.setWarna("Putih");
System.out.println();
//menampilkan informasi mobil terbaru
System.out.println("==INFORMASI TERBARU SETELAH PERUBAHAN==");
mobil1.displayinfo();
}
}Di file main ini saya mendeklarasiakan 2 obcjet mobiil yaitu 'toyota' dan 'honda'. 2 object ini memiliki nilai atribut yang berbeda setiap atributnya. Pemanggilan method 'displayinfo' akan menampilkan data dari setiap object. Pemangnggilan method 'stratengine' akan menampilkan output yang telah diatur.
Pada pemanggilan method 'setwarna', objec 'mobil1' akan diubah warnanya, karena method ini berfungsi untuk mengubah warna object. Terakhir method 'displayinfo' akan dipanggil lagi untuk menampilkan informasi mobil1 dan mobil2 yang terbaru.
- Output
cd C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3; "JAVA_HOME=C:\\Program Files\\Apache NetBeans\\jdk" cmd /c "\"C:\\Program Files\\Apache NetBeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" \"-Dexec.executable=C:\\Program Files\\Apache NetBeans\\jdk\\bin\\java.exe\" -Dexec.mainClass=tuugas_praktikum3.main -Dexec.classpathScope=runtime -Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\Apache NetBeans\\java\\maven-nblib\\netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-plugin:3.6.3:exec"
Scanning for projects...
--------------------< com.mycompany:PraktikmPBO_3 >---------------------
Building PraktikmPBO_3 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------
--- resources:3.4.0:resources (default-resources) @ PraktikmPBO_3 ---
skip non existing resourceDirectory C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3\src\main\resources
--- compiler:3.15.0:compile (default-compile) @ PraktikmPBO_3 ---
Nothing to compile - all classes are up to date.
--- exec:3.6.3:exec (default-cli) @ PraktikmPBO_3 ---
==NFORMAASI AWAL MOBIL==
Merk : toyota
model : avanza
tahun : 2020
warna : hitam
=================================
Merk : honda
model : civic
tahun : 2022
warna : merah
=================================
==MENYALAKAN MESIN==
Mesin mobilmenyala
Mesin mobilmenyala
==PROSES MENGUBAH WARNA==
Mengubah warna mobil 1 menjadi 'putih'...
==INFORMASI TERBARU SETELAH PERUBAHAN==
Merk : toyota
model : avanza
tahun : 2020
warna : Putih
=================================
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 0.801 s
Finished at: 2026-09-03T07:45:07+07:00
------------------------------------------------------------------------cd C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3; "JAVA_HOME=C:\\Program Files\\Apache NetBeans\\jdk" cmd /c "\"C:\\Program Files\\Apache NetBeans\\java\\maven\\bin\\mvn.cmd\" -Dexec.vmArgs= \"-Dexec.args=${exec.vmArgs} -classpath %classpath ${exec.mainClass} ${exec.appArgs}\" \"-Dexec.executable=C:\\Program Files\\Apache NetBeans\\jdk\\bin\\java.exe\" -Dexec.mainClass=tuugas_praktikum3.main -Dexec.classpathScope=runtime -Dexec.appArgs= \"-Dmaven.ext.class.path=C:\\Program Files\\Apache NetBeans\\java\\maven-nblib\\netbeans-eventspy.jar\" --no-transfer-progress process-classes org.codehaus.mojo:exec-maven-plugin:3.6.3:exec"
Scanning for projects...
--------------------< com.mycompany:PraktikmPBO_3 >---------------------
Building PraktikmPBO_3 1.0-SNAPSHOT
from pom.xml
--------------------------------[ jar ]---------------------------------
--- resources:3.4.0:resources (default-resources) @ PraktikmPBO_3 ---
skip non existing resourceDirectory C:\Users\LENOVO\Documents\NetBeansProjects\PraktikmPBO_3\src\main\resources
--- compiler:3.15.0:compile (default-compile) @ PraktikmPBO_3 ---
Nothing to compile - all classes are up to date.
--- exec:3.6.3:exec (default-cli) @ PraktikmPBO_3 ---
==NFORMAASI AWAL MOBIL==
Merk : toyota
model : avanza
tahun : 2020
warna : hitam
=================================
Merk : honda
model : civic
tahun : 2022
warna : merah
=================================
==MENYALAKAN MESIN==
Mesin mobilmenyala
Mesin mobilmenyala
==PROSES MENGUBAH WARNA==
Mengubah warna mobil 1 menjadi 'putih'...
==INFORMASI TERBARU SETELAH PERUBAHAN==
Merk : toyota
model : avanza
tahun : 2020
warna : Putih
=================================
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 0.801 s
Finished at: 2026-09-03T07:45:07+07:00
------------------------------------------------------------------------KESIMPULAN
Konsep class dan objek merupakan fondasi paling mendasar dalam pemrograman berorientasi objek. Class bertindak sebagai cetak biru atau kerangka rancangan yang mendefinisikan atribut dan perilaku yang kita buat. Sementara itu, objek adalah wujud nyata yang dilahirkan dari cetak biru tersebut di dalam memori komputer menggunakan operator new. Proses instansiasi ini juga menjadi lebih efisien berkat adanya constructor, yang secara otomatis memberikan nilai awal pada atribut objek tepat saat objek tersebut diciptakan.
Enkapsulasi dalam menjaga keamanan data di dalam kode program juga menjadi aspek yang lumayan penting. Dengan membatasi hak akses menggunakan modifier private, atribut penting di dalam kelas tidak dapat diubah secara sembarangan dari luar kelas. Terakhir, pengorganisasian kelas-kelas ke dalam struktur package sangat membantu dalam merapikan berkas program.
Penulis : Cahyo Adi Nugroho, Mahasiswa S1 Teknologi Informasi,Fakultas Teknik, Universitas Tidar Magelang
Referensi : Modul 3 — Kelas dan Objek.pdf
Tautan Github: https://github.com/cahyoadi-hash/OOP-Object-Oriented-Programming-/commit/f9683ca366fb745060670a8b6eb083afc33804ce