OBJECT ORIENTED PROGRAMMING (OOP)

Davina Aurellia Putri Salvya
7 min readMar 21, 2024

Java Programming Language

Halo~

Kali ini kita akan membahas tentang Object Oriented Programming (OOP) dalam Bahasa Pemrograman Java.

OOP (Object-Oriented Programming) adalah paradigma pemrograman yang berpusat pada konsep objek yang memiliki data dan kode yang terkapsulasi di dalamnya. Dalam pemrograman Java, OOP didukung sepenuhnya dan memiliki beberapa konsep utama sebagai berikut:

  • Kelas (Class): Kelas adalah blueprint atau cetak biru dari objek. Ia mendefinisikan properti (variabel) dan metode (fungsi) yang dimiliki oleh objek.
  • Objek (Object): Objek adalah instance atau perwujudan nyata dari sebuah kelas. Objek memiliki state (nilai properti) dan perilaku (metode) yang didefinisikan dalam kelasnya.
  • Inheritance (Pewarisan): Inheritance memungkinkan sebuah kelas untuk mewarisi properti dan metode dari kelas lain (kelas induk atau kelas dasar). Kelas anak dapat menambahkan properti dan metode baru atau mengoverride metode yang diwarisi dari kelas induk.
  • Encapsulation (Pengkapsulan): Encapsulation adalah konsep menyembunyikan detail implementasi dari kelas dan hanya mengekspos antarmuka (interface) kepada dunia luar. Ini dicapai dengan menggunakan modifier akses seperti `public`, `private`, dan `protected`.
  • Abstraction (Abstraksi): Abstraksi adalah konsep menyembunyikan detail yang tidak penting dan hanya menampilkan detail yang penting dari sebuah objek.
  • Polymorphism (Polimorfisme): Polimorfisme adalah konsep di mana objek dari kelas yang berbeda dapat merespons pesan atau metode yang sama dengan cara yang berbeda.

Dalam Java, OOP memungkinkan pengembang untuk membuat kode yang modular, fleksibel, dan mudah dikelola. Dengan menggunakan OOP, kode dapat diorganisir dalam kelas yang terstruktur, yang memudahkan penggunaan kembali kode (code reuse), pemeliharaan, dan pengembangan aplikasi yang lebih besar dan kompleks.

Selanjutnya kita akan latihan membuat program yang dapat menerima inputan user dan menampilkannya seperti Input data mahasiswa, berikut langkah-langkahnya:

Setelah membuat project, buatlah package bernama com.entryNilai, lalu dalam package tersebut buatlah class bernama Mahasiswa. Deklarasikan atribut-atribut yang dibutuhkan seperti berikut.

package com.entryNilai;

public class Mahasiswa0082 {
private int Nim;
private String Nama;
private String Alamat;
private String Prodi;
private String NoTelp;
}

Kemudian masih didalam class Mahasiswa, tambahkan getter dan setter method untuk atribut-atribut tersebut.

public int getNim() {
return Nim;
}

public void setNim(int nim) {
Nim = nim;
}

public String getNama() {
return Nama;
}

public void setNama(String nama) {
Nama = nama;
}

public String getAlamat() {
return Alamat;
}

public void setAlamat(String alamat) {
Alamat = alamat;
}

public String getProdi() {
return Prodi;
}

public void setProdi(String prodi) {
Prodi = prodi;
}

public String getNoTelp() {
return NoTelp;
}

public void setNoTelp(String noTelp) {
NoTelp = noTelp;
}

Buat satu class lagi dengan nama EntryMahasiswa, jadikan class tersebut sebagai class main() pada program. Dalam class EntryMahasiswa, deklarasikan terlebih dahulu scanner dan tambahkan import java.util.Scanner;

package com.entryNilai;
import java.util.Scanner;

public class EntryMahasiswa008 {
private static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
}
}

Selanjutnya buat program sederhana input data mahasiswa dengan memanggil setter getter class mahasiswa di dalam main class, berikut kode nya :

public static void main(String[] args) {
Mahasiswa0082 mhsn = new Mahasiswa0082();
Order ord = new Order();

System.out.println("=====Input Data Mahasiswa=====");
System.out.print("Masukkan NIM anda : ");
int nim = scanner.nextInt();
scanner.nextLine(); //membersihkan buffer
System.out.print("Masukkan nama anda : ");
String nama = scanner.nextLine();
System.out.print("Masukkan alamat anda : ");
String alamat = scanner.nextLine();
System.out.print("Masukkan program studi anda : ");
String prodi = scanner.nextLine();
System.out.print("Masukkan nomor telepon anda : ");
String noTelp = scanner.nextLine();

mhsn.setNim(nim);
mhsn.setNama(nama);
mhsn.setAlamat(alamat);
mhsn.setProdi(prodi);
mhsn.setNoTelp(noTelp);

System.out.println("\n\nHasil Input Data Mahasiswa : ");
System.out.println("NIM : " + mhsn.getNim());
System.out.println("Nama : " + mhsn.getNama());
System.out.println("Alamat : " + mhsn.getAlamat());
System.out.println("Program Studi : " + mhsn.getProdi());
System.out.println("Nomor Telepon : " + mhsn.getNoTelp());
}

Jalankan Program tersebut, output yang akan keluar adalah seperti berikut:

Gambar 1 Output1

Selanjutnya tambahkan sebuah class baru dengan nama Order, dan lengkapi class tersebut dengan attribute serta buat juga setter dan getternya sebagai berikut:

package com.entryNilai;
import java.util.Date;

public class Order {
private int Id;
private Date tanggalInput;
private double ipSem1;
private double ipSem2;
private double ipSem3;
private double ipSem4;
private double ipSem5;
private double ipSem6;
private double ipk;

public int getId() {
return Id;
}

public void setId(int id) {
Id = id;
}

public Date getTanggalInput() {
return tanggalInput;
}

public void setTanggalInput(Date tanggalInput) {
this.tanggalInput = tanggalInput;
}

public double getIpSem1() {
return ipSem1;
}

public void setIpSem1(double ipSem1) {
this.ipSem1 = ipSem1;
}

public double getIpSem2() {
return ipSem2;
}

public void setIpSem2(double ipSem2) {
this.ipSem2 = ipSem2;
}

public double getIpSem3() {
return ipSem3;
}

public void setIpSem3(double ipSem3) {
this.ipSem3 = ipSem3;
}

public double getIpSem4() {
return ipSem4;
}

public void setIpSem4(double ipSem4) {
this.ipSem4 = ipSem4;
}

public double getIpSem5() {
return ipSem5;
}

public void setIpSem5(double ipSem5) {
this.ipSem5 = ipSem5;
}

public double getIpSem6() {
return ipSem6;
}

public void setIpSem6(double ipSem6) {
this.ipSem6 = ipSem6;
}

public double getIpk() {
return ipk;
}

public void setIpk(double ipk) {
this.ipk = ipk;
}
}

Buatlah inputan untuk memasukkan semua nilai (format tanggalInput : dd/MM/yyyy). Hitung IPK dengan ketentuan ipk = jumlah seluruh ip/6.

System.out.print("\nMasukkan ID anda : ");
int id = scanner.nextInt();
scanner.nextLine(); // membersihkan buffer
System.out.print("Masukkan Tanggal Input (dd/MM/yyyy) : ");
String tanggalInputStr = scanner.nextLine();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date tanggalInput;
try {
tanggalInput = formatter.parse(tanggalInputStr);
} catch (ParseException e) {
System.out.println("Format tanggal yang dimasukkan salah!");
return;
}
System.out.print("Masukkan IP Semester 1 anda : ");
double ip1 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 2 anda : ");
double ip2 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 3 anda : ");
double ip3 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 4 anda : ");
double ip4 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 5 anda : ");
double ip5 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 6 anda : ");
double ip6 = scanner.nextDouble();

ord.setId(id);
ord.setTanggalInput(tanggalInput);
ord.setIpSem1(ip1);
ord.setIpSem2(ip2);
ord.setIpSem3(ip3);
ord.setIpSem4(ip4);
ord.setIpSem5(ip5);
ord.setIpSem6(ip6);

double totalIP = ip1 + ip2 + ip3 + ip4 + ip5 + ip6;
double ipk = totalIP / 6;
ord.setIpk(ipk);

Gabungkan kode-kode tersebut sesuai urutannya, berikut urutannya :

  • Class Mahasiswa
package com.entryNilai;

public class Mahasiswa0082 {
private int Nim;
private String Nama;
private String Alamat;
private String Prodi;
private String NoTelp;

public int getNim() {
return Nim;
}

public void setNim(int nim) {
Nim = nim;
}

public String getNama() {
return Nama;
}

public void setNama(String nama) {
Nama = nama;
}

public String getAlamat() {
return Alamat;
}

public void setAlamat(String alamat) {
Alamat = alamat;
}

public String getProdi() {
return Prodi;
}

public void setProdi(String prodi) {
Prodi = prodi;
}

public String getNoTelp() {
return NoTelp;
}

public void setNoTelp(String noTelp) {
NoTelp = noTelp;
}
}
  • Class Order
package com.entryNilai;
import java.util.Date;

public class Order {
private int Id;
private Date tanggalInput;
private double ipSem1;
private double ipSem2;
private double ipSem3;
private double ipSem4;
private double ipSem5;
private double ipSem6;
private double ipk;

public int getId() {
return Id;
}

public void setId(int id) {
Id = id;
}

public Date getTanggalInput() {
return tanggalInput;
}

public void setTanggalInput(Date tanggalInput) {
this.tanggalInput = tanggalInput;
}

public double getIpSem1() {
return ipSem1;
}

public void setIpSem1(double ipSem1) {
this.ipSem1 = ipSem1;
}

public double getIpSem2() {
return ipSem2;
}

public void setIpSem2(double ipSem2) {
this.ipSem2 = ipSem2;
}

public double getIpSem3() {
return ipSem3;
}

public void setIpSem3(double ipSem3) {
this.ipSem3 = ipSem3;
}

public double getIpSem4() {
return ipSem4;
}

public void setIpSem4(double ipSem4) {
this.ipSem4 = ipSem4;
}

public double getIpSem5() {
return ipSem5;
}

public void setIpSem5(double ipSem5) {
this.ipSem5 = ipSem5;
}

public double getIpSem6() {
return ipSem6;
}

public void setIpSem6(double ipSem6) {
this.ipSem6 = ipSem6;
}

public double getIpk() {
return ipk;
}

public void setIpk(double ipk) {
this.ipk = ipk;
}
}
  • Class EntryMahasiswa
package com.entryNilai;
import java.util.Scanner;
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

public class EntryMahasiswa008 {
private static Scanner scanner = new Scanner(System.in);

public static void main(String[] args) {
Mahasiswa0082 mhsn = new Mahasiswa0082();
Order ord = new Order();

System.out.println("=====Input Data Mahasiswa=====");
System.out.print("Masukkan NIM anda : ");
int nim = scanner.nextInt();
scanner.nextLine(); //membersihkan buffer
System.out.print("Masukkan nama anda : ");
String nama = scanner.nextLine();
System.out.print("Masukkan alamat anda : ");
String alamat = scanner.nextLine();
System.out.print("Masukkan program studi anda : ");
String prodi = scanner.nextLine();
System.out.print("Masukkan nomor telepon anda : ");
String noTelp = scanner.nextLine();

mhsn.setNim(nim);
mhsn.setNama(nama);
mhsn.setAlamat(alamat);
mhsn.setProdi(prodi);
mhsn.setNoTelp(noTelp);

System.out.print("\nMasukkan ID anda : ");
int id = scanner.nextInt();
scanner.nextLine(); // membersihkan buffer
System.out.print("Masukkan Tanggal Input (dd/MM/yyyy) : ");
String tanggalInputStr = scanner.nextLine();
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date tanggalInput;
try {
tanggalInput = formatter.parse(tanggalInputStr);
} catch (ParseException e) {
System.out.println("Format tanggal yang dimasukkan salah!");
return;
}
System.out.print("Masukkan IP Semester 1 anda : ");
double ip1 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 2 anda : ");
double ip2 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 3 anda : ");
double ip3 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 4 anda : ");
double ip4 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 5 anda : ");
double ip5 = scanner.nextDouble();
System.out.print("Masukkan IP Semester 6 anda : ");
double ip6 = scanner.nextDouble();

ord.setId(id);
ord.setTanggalInput(tanggalInput);
ord.setIpSem1(ip1);
ord.setIpSem2(ip2);
ord.setIpSem3(ip3);
ord.setIpSem4(ip4);
ord.setIpSem5(ip5);
ord.setIpSem6(ip6);

double totalIP = ip1 + ip2 + ip3 + ip4 + ip5 + ip6;
double ipk = totalIP / 6;
ord.setIpk(ipk);


System.out.println("\n\nHasil Input Data Mahasiswa : ");
System.out.println("NIM : " + mhsn.getNim());
System.out.println("Nama : " + mhsn.getNama());
System.out.println("Alamat : " + mhsn.getAlamat());
System.out.println("Program Studi : " + mhsn.getProdi());
System.out.println("Nomor Telepon : " + mhsn.getNoTelp());

System.out.println("\nID : " + ord.getId());
System.out.println("Tanggal Input : " + formatter.format(ord.getTanggalInput()));
System.out.println("IP Semester 1 : " + ord.getIpSem1());
System.out.println("IP Semester 2 : " + ord.getIpSem2());
System.out.println("IP Semester 3 : " + ord.getIpSem3());
System.out.println("IP Semester 4 : " + ord.getIpSem4());
System.out.println("IP Semester 5 : " + ord.getIpSem5());
System.out.println("IP Semester 6 : " + ord.getIpSem6());
System.out.println("IPK : " + ord.getIpk());


}
}

Jalankan program tersebut, output akan terlihat seperti berikut :

Gambar 2 Ouput2
Gambar 3 Output3

Baiklah cukup sekian pembahasan kita kali ini, sampai jumpa di pembahasan selanjutnya.

--

--