0% menganggap dokumen ini bermanfaat (0 suara)
373 tayangan16 halaman

Makalah Interface

Makalah ini membahas tentang interface dalam pemrograman berorientasi objek (OOP). Interface digunakan untuk mendefinisikan perilaku umum yang harus dimiliki oleh kelas-kelas tertentu. Interface memisahkan antara definisi dan implementasi metode agar memudahkan pengembangan aplikasi."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
373 tayangan16 halaman

Makalah Interface

Makalah ini membahas tentang interface dalam pemrograman berorientasi objek (OOP). Interface digunakan untuk mendefinisikan perilaku umum yang harus dimiliki oleh kelas-kelas tertentu. Interface memisahkan antara definisi dan implementasi metode agar memudahkan pengembangan aplikasi."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 16

INTERFACE

PEMROGRAMAN BERORIENTASI OBJEK

Disusun guna memenuhi tugas mata kuliah


OOP

Dosen Pengampu:
Jasman Pardede

Oleh:
Yoga Ramadan - 152021126

KELAS CC
PROGRAM STUDI INFORMATIKA
INSTITUT TEKNOLOGI NASIONAL
TAHUN 2023
KATA PENGANTAR

Puji syukur Sa panjatkan kepada Tuhan Yang Maha Esa, karena atas limpahan
rahmatnya penyusun dapat menyelesaikan makalah ini tepat waktu tanpa ada
halangan yang berarti dan sesuai dengan harapan.
Ucapan terima kasih kami sampaikan kepada bapak Jasman Pardede sebagai
dosen pengampu mata kuliah OOP yang telah membantu memberikan arahan dan
pemahaman dalam penyusunan makalah ini.
Saya menyadari bahwa dalam penyusunan makalah ini masih banyak
kekurangan karena keterbatasan kami. Maka dari itu penyusun sangat mengharapkan
kritik dan saran untuk menyempurnakan makalah ini. Semoga apa yang ditulis dapat
bermanfaat bagi semua pihak yang membutuhkan.

Bandung, 27-03-2023

Yoga Ramadan

2
DAFTAR ISI

Hlm
COVER…………………………………………………………………… i
KATA PENGANTAR……………………………………………………. ii
DAFTAR ISI……………………………………………………………… iii
BAB I: PENDAHULUAN
1.1 Latar Belakang …………………………………………………………. 4
1.2 Rumusan Masalah ……………………………………………………… 4
1.4 Tujuan Penulisan ………………………………………………….......... 4
BAB II: PEMBAHASAN
2.1 Pengertian OOP……...……….................................................................. 5
2.2 Interface dalam OOP……………………..…………………………....... 7
2.3 Contoh Penggunaan Interface, Diagram Class beserta Programnya……. 10
BAB III: PENUTUP
3.1 Kesimpulan……………………………………………………………... 15
3.2 Saran……………………………………………………………………. 15
DAFTAR PUSTAKA……………………………………………………… 16

3
BAB I
PENDAHULUAN

1.1 Latar Belakang


Pemrograman berorientasi objek atau dikenal dengan Objek Oriented
Programming (OOP) merupakan paradigma pemrograman yang berorientasikan
kepada objek. Semua data dan fungsi dalam program di bungkus dalam kelas-kelas
atau objek-objek. Pengertian orientasi objek berarti bahwa kita mengorganisasi
perangkat lunak sebagai kumpulan dari objek tertentu yang memiliki struktur data
dan perilakunya.
Dalam OOP, interface menjadi salah satu konsep yang penting dan
diperkenalkan untuk memungkinkan kelas-kelas yang berbeda berkomunikasi satu
sama lain. Interface memungkinkan programmer untuk menentukan perilaku umum
yang harus dimiliki oleh kelas-kelas yang menggunakan interface tersebut.
Dalam implementasinya, interface memungkinkan programmer untuk
memisahkan antara definisi dan implementasi metode, sehingga memudahkan dalam
pengembangan aplikasi yang kompleks. Hal ini juga memungkinkan programmer
untuk memperluas aplikasi dengan menambahkan kelas-kelas baru tanpa
mempengaruhi kelas-kelas yang sudah ada.

1.2 Rumusan Masalah


a. Pengertian OOP?
b. Interface OOP?
c. Contoh kasus Interface?
1.3 Tujuan Penulisan
a. Dapat mengetahui pengertian OOP secara umum
b. Dapat mengetahui penggunaan Interface dalam (OOP)

4
BAB II
PEMBAHASAN

2.1 Pengertian OOP (Object Oriented Programming)

Banyak orang pertama kali belajar program menggunakan bahasa yang tidak
berorientasi objek. Program non-OOP mungkin salah satu daftar panjang dari
perintah. Lebih program yang kompleks akan kelompok daftar perintah ke dalam
fungsi atau subrutin masing-masing yang mungkin melakukan tugas tertentu.
Dengan desain semacam ini, biasanya untuk data program untuk dapat diakses
dari setiap bagian dari program tersebut. Sebagai program tumbuh dalam ukuran,
memungkinkan fungsi apapun untuk memodifikasi setiap bagian dari data berarti
bahwa bug dapat memiliki dampak yang luas jangkauannya. Sebaliknya, pendekatan
berorientasi objek mendorong para programmer untuk tempat data di mana tidak
langusng dapat diakses oleh seluruh program.
Sebaliknya data diakses dengan memanggil tertulis fungsi khusus, yang biasa
disebut metode, baik yang dibundel dengan data atau warisan dari “objek kelas” dan
bertindak sebagai perantara untuk mengambil atau memodifikasi data tersebut.
Pemrograman yang membangun yang menggabungkan data dengan satu set metode
untuk mengakses dan mengelola data tersebut disebut objek.
Sebuah program berorientasi objek biasanya akan mengandung berbagai jenis
objek, masing-masing jenis yang sesuia untuk jenis tertentu dari data yang kompleks
untuk dikelola atau mungkin ke objek dunia nyata atau konsep seperti rekening bank,
pemain hoki, atau buldoser. Sebuah program mungkin berisi beberapa Salinan dari
setiap jenis objek, satu untuk setiap objek dunia nyata program ini berurusan dengan
OOP.
Sebagai contoh, ada bisa menjadi salah satu rekening bank untuk setiap

5
account objek dunia nyata di sebuah bank tertentu. Setiap salinan dari objek rekening
bank akan sama dalam metode ini menawarkan untuk memanipulasi atau membaca
data, tetapi data dalam setiap objek akan berbeda mencerminkan sejarah yang
berbeda dari setiap account.
Objek dapat dianggap sebagai pembungkus data mereka dalam satu set fungsi
yang dirancang untuk memastikan bahwa data yang digunakan tepat, dan untuk
membantu dalam menggunakan. Metode ini objek biasanya akan mencakup
pemeruksaan dan perlindungan yang khusus untuk jenis data objek berisi. Sebuah
objek juga dapat menawarkan sederhana digunakan, metode standar untuk melakukan
operasi tertentu pada data, sementara menyembunyikan secara spesifik tentang
bagaimana tugas-tugas yang dicapai.
Dengan cara ini perubahan dapat dibuat dengan struktur internal atau metode
obyek tanpa memerlukan bahwa sisa program dimodifikasi, Pendekatan ini juga dapat
digunakan untuk menawarkan metode standar di berbagai jenis objek.
Sebagai contoh, beberapa jenis benda mungkin menawarkan metode cetak. Setiap
jenis objek yang mungkin menerapkan metode cetak dalam cara yang berbeda, yang
mencerminkan jenis data yang berbeda masing-masing berisi, tetapi semua metode
cetak yang berbeda mungkin disebut dengan cara standar yang sama dari tempat lain
di program ini.
Fitur-fitur ini menjadi berguna terutama Ketika lebih dari satu programmer
berkontribusi kode untuk proyek atau Ketika tujuannya adalah untuk menggunakan
Kembali kode di antara proyek. Pemrograman berorientasi objek memiliki akar yang
dapat ditelusuri ke tahun 1960-an. Sebagai perangkat keras dan software menjadi
semakin kompleks, pengelolaan sering menjadi perhatian. Para peneliti mempelajari
cara untuk menjaga kualitas software dan pemrograman berorientasi objek yang
dikembangkan Sebagian untuk mengatasi masalah-masalah umum dengan sangat
menekankan diskrit, unit dapat digunakan kembali logika.

6
Teknologi ini befokus pada data daripada proses, dengan program yang terdiri
dari modul mandiri(kelas), setiap contoh(objek) yang berisi semua informasi yang
dibutuhkan untuk memanipulasi data struktur sendiri (anggota). Hal ini berbeda
dengan yang ada pemrograman modular yang telah dominan selama bertahun-tahun
yang difokuskan pada fungsi dari sebuah modul, bukan data spesifik, tetapi juga
disediakan untuk penggunaan kembali kode, dan cukup dapat digunakan Kembali
unit-diri dari logika pemrograman, memungkinkan kolaborasi melalui penggunaan
modul terkait (subrutin). Pendekatan yang lebih konvensional, yang masih tetap,
cenderung untuk mempertimbangkan data dan perilaku secara terpisah. Program
berorientasi objek dengan demikian dapat dilihat sebagai kumpulan objek
berinteraksi, yang bertentangan dengan model konvensional, di mana program
dipandang sebagai daftar tugas (subrutin) untuk melakukan. Dalam OOP, setiap objek
dapat menerima pesan, pengolahan data, dan mengirim pesan ke objek lainnya. Setiap
objek dapat dilihat sebagai “mesin” independent dengan peran yang berbeda atau
tanggung jawab. Tindakan (metode) pada obyek-obyek yang terkait erat dengan
objek. Sebagai contoh, OOP struktur data cenderung “membawa operator sendiri
main dengan mereka” (atau setidaknya “mewarisi” mereka dari obyek yang sama atau
kelas).

2.2 Inteface dalam OOP

Dalam pemrograman berorientasi objek (OOP), interface adalah sebuah


kontrak yang didefinisikan oleh sebuah kelas, yang menentukan metode yang harus
diimplementasikan oleh kelas-kelas yang mengimplementasikan interface tersebut.
Interface menyediakan abstraksi tingkat tinggi terhadap perilaku kelas, memisahkan
implementasi dari spesifikasi, dan memungkinkan pengguna untuk berinteraksi
dengan objek secara konsisten tanpa mengetahui detail implementasinya.

7
Secara sederhana, sebuah interface adalah daftar metode tanpa implementasi
yang harus diimplementasikan oleh kelas-kelas yang mengimplementasikan interface
tersebut. Interface mendefinisikan tipe data baru yang dapat digunakan sebagai tipe
variabel, sehingga memungkinkan polymorphism dalam OOP. Setiap kelas yang
mengimplementasikan interface harus mengimplementasikan semua metode yang
didefinisikan oleh interface tersebut.

Berikut adalah contoh sederhana penggunaan interface dalam bahasa pemrograman


Java:
public interface Vehicle {
public void start();
public void stop();
public void move();
}

Pada contoh di atas, sebuah interface bernama "Vehicle" didefinisikan dengan


tiga metode: "start()", "stop()", dan "move()". Setiap kelas yang
mengimplementasikan interface ini harus mengimplementasikan ketiga metode
tersebut.

Berikut adalah contoh kelas yang mengimplementasikan interface "Vehicle":

public class Car implements Vehicle {


public void start() {
// implementasi logika untuk memulai mobil
}
public void stop() {
// implementasi logika untuk menghentikan mobil
}
public void move() {
// implementasi logika untuk memindahkan mobil
}
}

8
Pada contoh di atas, kelas "Car" mengimplementasikan interface "Vehicle"
dan harus mengimplementasikan ketiga metode yang didefinisikan oleh interface
tersebut.

Dalam OOP, interface adalah cara yang efektif untuk menerapkan


polimorfisme dan meningkatkan fleksibilitas kode Anda. Interface memungkinkan
Anda untuk memisahkan spesifikasi dari implementasi, sehingga memudahkan untuk
memodifikasi atau mengganti implementasi kelas tanpa mempengaruhi kode yang
menggunakannya.

2.3 Contoh kasus penggunaan Interface, Program beserta Diagram Classnya

Diagram Class:

Source Code:
Interface Pembelian
public interface Pembelian {
public double getPrice();
public String getDescription();
public String getCategory();
}

9
Class Customer
public class Customer {
private String name;
private String address;
private double balance;

public Customer(String name, String address, double balance) {


this.name = name;
this.address = address;
this.balance = balance;
}

public String getName() {


return name;
}

public String getAddress() {


return address;
}

public double getBalance() {


return balance;
}

public void setBalance(double balance) {


this.balance = balance;
}

public String toString() {


return name + " - " + address + " - Rp " + balance;
}

public void purchase(Pembelian item) {


if (balance >= item.getPrice()) {
System.out.println(name + " membeli " + item.getDescription() + " seharga Rp "
+ item.getPrice() + ".");
balance -= item.getPrice();
} else {
System.out.println(name + " tidak memiliki saldo cukup untuk membeli " +
item.getDescription() + ".");
}
}
}

Class Item
public class Item implements Pembelian {
private String name;
private double price;
private String description;
private String category;

public Item(String name, double price, String description, String category) {


this.name = name;
10
this.price = price;
this.description = description;
this.category = category;
}

public double getPrice() {


return price;
}

public String getDescription() {


return description;
}

public String getCategory() {


return category;
}

public String toString() {


return name + " - " + description + " (" + category + ") - Rp " + price;
}
}

Class Mainstore
public class MainStore {
public static void main(String[] args) {
// Membuat beberapa barang
Item item1 = new Item("Buku", 20000, "Buku tulis", "Stationery");
Item item2 = new Item("Pensil", 5000, "Pensil 2B", "Stationery");
Item item3 = new Item("Kopi", 10000, "Kopi sachet", "Makanan");
Item item4 = new Item("Soda", 15000, "Minuman soda kaleng", "Minuman");

// Membuat beberapa pelanggan


Customer customer1 = new Customer("Agus", "Jl. Sudirman No. 10", 50000);
Customer customer2 = new Customer("Budi", "Jl. Merdeka No. 5", 100000);

// Menampilkan informasi barang


System.out.println("Daftar barang:");
System.out.println(item1);
System.out.println(item2);
System.out.println(item3);
System.out.println(item4);
System.out.println();

// Menampilkan informasi pelanggan


System.out.println("Daftar pelanggan:");
System.out.println(customer1);
System.out.println(customer2);
System.out.println();

// Pelanggan Agus membeli buku


customer1.purchase(item1);
System.out.println(customer1);
System.out.println();

// Pelanggan Budi membeli kopi


customer2.purchase(item3);

11
System.out.println(customer2);
System.out.println();
 
// Pelanggan Agus membeli soda
customer1.purchase(item4);
System.out.println(customer1);
System.out.println();
 
// Pelanggan Budi membeli pensil
customer2.purchase(item2);
System.out.println(customer2);
System.out.println();

}
}

Output:

12
Program di atas adalah contoh implementasi penggunaan interface dengan
studi kasus sebuah toko dengan pelanggan dan transaksi menggunakan bahasa
pemrograman Java

Pada program ini, terdapat tiga kelas yaitu "Customer", "Item", dan
"Transaction". Kelas "Customer" merepresentasikan pelanggan yang akan melakukan
transaksi di toko. Kelas "Item" merepresentasikan barang atau produk yang dijual di
toko. Sedangkan kelas "Transaction" merepresentasikan transaksi yang dilakukan
oleh pelanggan pada barang tertentu.

Kelas "Item" mengimplementasikan interface "Purchasable" yang memuat


method "getPrice" dan "getDescription". Implementasi method "getPrice" digunakan
untuk mendapatkan harga barang, sedangkan method "getDescription" digunakan
untuk mendapatkan deskripsi barang.

Kelas "Customer" memiliki atribut nama dan saldo. Method "purchase"


digunakan untuk melakukan pembelian barang pada toko dengan melakukan
pengecekan terhadap saldo yang dimiliki. Jika saldo mencukupi, maka transaksi
berhasil dilakukan dan saldo pelanggan akan dikurangi sebesar harga barang. Jika
saldo tidak mencukupi, maka transaksi akan gagal dan pesan kesalahan akan
ditampilkan.

Kelas "Transaction" merepresentasikan transaksi yang dilakukan oleh


pelanggan pada barang tertentu. Kelas ini memiliki atribut pelanggan, barang, jumlah,
dan total harga. Method "toString" digunakan untuk menampilkan informasi
transaksi.

13
Dalam program di atas, juga terdapat contoh penggunaan kelas-kelas tersebut.
Ada tiga pelanggan yang melakukan pembelian pada beberapa barang di toko,
kemudian hasilnya ditampilkan di output program. Selain itu, terdapat penambahan
dua method pada interface "Purchasable" yaitu "getStock" dan "setStock" agar dapat
melakukan pengecekan stok barang dan melakukan perubahan stok ketika ada
pembelian atau pengiriman barang. Implementasi kedua method tersebut dapat dilihat
pada kelas "Item".

14
BAB III
PENUTUP

3.1 Kesimpulan
Dalam bahasa pemrograman berorientasi objek, interface merupakan konsep
yang sangat penting. Interface adalah sebuah kontrak antara kelas-kelas yang berbeda
yang menyediakan sebuah metode atau perilaku umum yang harus diimplementasikan
oleh kelas-kelas yang menggunakan interface tersebut.

Kelas-kelas yang menggunakan interface tersebut harus


mengimplementasikan semua metode atau perilaku yang ada pada interface. Dengan
menggunakan interface, kita dapat memastikan bahwa kelas-kelas tersebut memiliki
perilaku atau metode yang sama, sehingga memudahkan dalam pengembangan
aplikasi yang kompleks dan meningkatkan fleksibilitas dalam pemrograman.

3.2 Saran
Meskipun penulis menginginkan kesempurnaan dalam penyusunan makalah ini, akan
tetapi pada kenyataannya masih banyak kekurangan yang perlu penulis perbaiki. Hal ini
dikarenakan masih minimnya pengetahuan penulis.

Oleh karena itu kritik dan saran yang membangun dari para pembaca sangat
diharapkan sebagai bahan evaluasi untuk ke depannya. Sehingga bisa terus menghasilkan
penelitian dan karya tulis yang bermanfaat bagi banyak orang.

15
DAFTAR PUSTAKA

https://www.petanikode.com/java-oop-interface/
https://blog.rosihanari.net/konsep-interface-dan-implementasinya-di-java/

16

Anda mungkin juga menyukai