Makalah Interface
Makalah Interface
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
4
BAB II
PEMBAHASAN
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).
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.
8
Pada contoh di atas, kelas "Car" mengimplementasikan interface "Vehicle"
dan harus mengimplementasikan ketiga metode yang didefinisikan oleh interface
tersebut.
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;
Class Item
public class Item implements Pembelian {
private String name;
private double price;
private String description;
private String category;
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");
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.
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.
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