Pengantar Inheritance
Inheritance (pewarisan) adalah mekanisme dalam pemrograman berorientasi objek (OOP) yang memungkinkan sebuah kelas (child class) untuk mewarisi atribut dan metode dari kelas lain (parent class). Tujuannya adalah untuk meningkatkan struktur program, menghindari pengulangan kode, dan meningkatkan keterbacaan serta pemeliharaan kode.
Manfaat Inheritance
Inheritance memberikan berbagai manfaat struktural pada kode:
- Reusabilitas Kode: Memungkinkan reuse kode yang sudah ada pada parent class di child class.
- Konsistensi dan Keterbacaan: Dengan inheritance, struktur aplikasi dapat diatur secara hierarkis sehingga alur logika dan struktur program menjadi lebih jelas.
- Pemeliharaan Kode Lebih Mudah: Jika perubahan diperlukan pada fitur umum, kita hanya perlu mengubahnya di parent class, dan semua child class otomatis mewarisi perubahan tersebut.
Deskripsi Proyek
The Network Project bertujuan untuk membuat prototipe aplikasi jejaring sosial yang sangat sederhana. Dalam konteks ini, proyek hanya mencakup bagian kecil dari fitur dasar sebuah aplikasi jejaring sosial, seperti mengelola pengguna, menambahkan postingan, dan memanipulasi data pengguna.
Struktur dan Kelas Utama
Pada intinya, proyek ini memiliki beberapa kelas utama yang menggambarkan entitas sosial dalam aplikasi jejaring sosial:
User: Kelas
User
merepresentasikan individu pengguna dalam aplikasi. Atributnya mungkin termasukusername
,name
, danstatus
. Metode di dalamnya memungkinkan interaksi seperti meng-update status dan melihat informasi profil.Post: Kelas
Post
menggambarkan sebuah postingan yang bisa dibuat oleh pengguna. Setiap postingan mungkin memiliki atribut seperticontent
,timestamp
,author
, danlikes
. Metode pada kelas ini mungkin mencakup tindakan untuk menambah atau menghapus like.Network: Kelas
Network
berperan sebagai tempat untuk menyimpan daftar pengguna dan postingan dalam aplikasi. Kelas ini memungkinkan fungsi untuk menambah atau menghapus pengguna serta memanipulasi daftar postingan yang tersedia di aplikasi.
Implementasi Inheritance dalam Proyek
Studi kasus ini bisa mencakup penggunaan inheritance dalam menambah fitur pada aplikasi. Contohnya:
- Inheritance pada User Type: Anda bisa mengembangkan aplikasi ini dengan menambahkan beberapa tipe pengguna yang berbeda. Misalnya, Anda bisa membuat subclass
AdminUser
atauRegularUser
, yang masing-masing memiliki akses dan hak yang berbeda dalam sistem. - Polymorphism untuk Aksi Postingan: Dengan menerapkan inheritance pada
Post
, kita bisa membuat jenis-jenis postingan yang berbeda, sepertiImagePost
atauTextPost
. Setiap jenis postingan bisa memiliki cara yang berbeda dalam menampilkan konten atau mengolah data.
Encapsulation dan Akses Kontrol
Encapsulation atau pengkapsulan digunakan untuk melindungi data internal pada setiap kelas. Misalnya:
- Data pribadi dari
User
harus diakses melalui metode getter dan setter, bukan secara langsung. - Atribut
content
padaPost
sebaiknya bersifatprivate
atauprotected
untuk menjaga integritas data.
Contoh Kasus Penggunaan
- Menambahkan User: Administrator dapat menambah pengguna baru ke jaringan menggunakan metode di kelas
Network
. - Memposting Status: Pengguna dapat membuat objek
Post
baru yang berisi status atau gambar. Posting ini akan ditambahkan ke daftar posting di kelasNetwork
. - Interaksi pada Postingan: Pengguna dapat menambah atau menghapus "like" pada posting, yang ditangani melalui metode di dalam kelas
Post
.
Manfaat dari Struktur OOP di The Network Project
Studi kasus ini menunjukkan bahwa dengan struktur OOP:
- Program lebih modular dan mudah untuk dikembangkan lebih lanjut.
- Kode lebih mudah dipelihara, karena tiap kelas bertanggung jawab atas fungsinya sendiri.
- Fleksibilitas untuk memperluas sistem tanpa mengubah struktur dasar kode berkat penerapan inheritance dan encapsulation.
Peluang Pengembangan Lanjutan
- Menambah Komentar pada Postingan: Dengan membuat subclass
Comment
, kita dapat mengimplementasikan fitur komentar yang dapat ditautkan ke objekPost
. - Follower System: Dengan menambahkan atribut
followers
danfollowing
pada kelasUser
, pengguna bisa mengikuti satu sama lain, mirip dengan aplikasi media sosial modern. - Pengelolaan Data: Peningkatan pada struktur data, misalnya dengan menggunakan koleksi (list, map) yang lebih efisien untuk menampung pengguna dan postingan.
Latihan
- Buat rancangan class diagram dengan menggunakan inheritance
- Buat aplikasi yang bisa menampilkan list kendaraan yang tersedia, dan juga daftar nama penyewa beserta informasi detail kendaraan yang disewa
108 komentar
komentarNama : Samuel Marcellinus
ReplyNRP : 05111740000134
Link : Link
Nama : M. Fatih
ReplyNRP : 05111740000069
Link : Tugas
Nama : Yuki Yanuar Ratna
ReplyNRP : 05111740000023
Kelas : PBO A
Link : Tugas Database Akademik
Nama : Satria Ade Veda Karuniawan
ReplyNRP : 05111740000130
Kelas : PBO A
Link : Database
Nama : Ifta Jihan N
ReplyNRP : 05111740000034
Kelas : PBO A
Link : Tugas
Nama : Bobbi Aditya
ReplyNRP : 05111740000099
Kelas : PBO A
Link : ini linknya
Nama : Bima S. Ramadhan
ReplyNRP : 05111740000081
Kelas : PBO A
Link : click me
Nama : Bastian Farandy
ReplyNRP : 05111740000190
Kelas : PBO A
Link : Database Akademik
Nama : Reza Adipatria Maranatha
ReplyNRP : 05111740000186
Kelas : PBO A
Link : Link
Nama : Yudhistiro Adi Nugroho
ReplyNRP : 05111740000165
Kelas : PBO A
Link : Link
Nama : Karina Soraya P
ReplyNRP : 05111740000003
Kelas : PBO - B
Link : Database Akademik
Nama: Paramastri Ardiningrum
ReplyNRP: 05111740000019
Kelas: PBO-B
Link: Tugas Membuat Database Akademik
Nama: Ayu Mutiara Sari
ReplyNRP: 05111740000149
Kelas: PBO A
Link: tugas
Nama: Donny Fitrado
ReplyNRP: 05111740000171
Kelas: PBO A
Link: Link Tugas
Nama : Isnaini Nurul KurniaSari
ReplyNRP : 05111740000010
Kelas: PBO-B
Link : Database Akademik
Nama : Vinsensius Yuda Pratama
ReplyNRp : 05111740000156
Kelas: PBO B
Link: Database mahasiswa
Nama : Yemima Sutanto
ReplyNRP : 05111740000049
Kelas : PBO A
LINK : SIM Mahasiswa
Nama : Carlo Win Marshal
ReplyNRP : 05111740000098
Kelas : PBO B
LINK : https://enlightechtc.blogspot.com/2018/11/tugas-pbob-database-mahasiswa.html
Nama : Yasinta Yusniawati
ReplyNRP : 05111740000054
Kelas : PBO - B
link : klik here
Nama : Wasilatul Dewi Ningrum
ReplyNRP : 05111740000004
Kelas : PBO B
Link : Database Akademik Sederhana
Nama : Putri Endah Puspitasari
ReplyNRP : 05111740000039
Kelas: PBO - B
Link : database akademik
Nama : Zahrul Zizki Dinanto
ReplyNRP : 05111740000168
Kelas : PBO - b
link TUGAS PBO
Nama : Mohammad Rizaldi Huzein Prastomo
ReplyKelas: PBO B
NRP : 05111740000024
Link : Link tugas
Nama : Ahmad Syauqi
ReplyKelas: PBO B
NRP : 05111740000093
Link : Link tugas
Nama : Hendra Ramadani
ReplyNRP : 05111740000055
Kelas : PBO-B
Link : Database Akademik
Nama: Arino Jenynof
ReplyNRP: 05111740000096
Kelas: PBO B
Link: Database
Nama : Chaniyah Zulfa M.
ReplyNRP : 05111740000115
Kelas: PBO-B
LInk : Tugas_Database
Nama : M Thalut Nadhil Q
ReplyNRP : 05111740000143
Kelas : PBO B
Link : Database
Nama: Indira Nursyamsina Hazimi
ReplyNRP: 05111740000082
Kelas: PBO A
Link: Link Sistem Akademik
Nama; Muhammad Naufal Refadi
ReplyNRP: 05111740000097
Kelas: PBO-A
Link: Database Akademik
Nama: Elkana Hans Widersen
ReplyNRP: 05111740000127
Kelas: PBO A
Link: Database Akademik
Nama: Muhammad Aufa Wibowo
ReplyNRP: 05111640000184
Kelas: PBO A
Link: Database Akademik
Nama : Sherly Rosa Anggraeni
ReplyNRP : 05111740000018
Kelas : PBO-A
Link Tugas
Nama: Mohammad Nafis Naufally
ReplyNRP: 05111640000038
Kelas: PBO B
Link: Di sini
Nama: Zico Ritonda Bahen
ReplyNRP: 05111740000064
Kelas: PBO A
Link: Link
Nama : Lutfiyanti
ReplyNRP : 05111740000036
Kelas : PBO-B
Link : Database Akademik
Nama : Atika Rizki Nurakhmah
ReplyNRP : 05111740000015
Kelas : PBO A
Link : database akademik blue j
Nama : Timothyus Tanner
ReplyNRP : 05111740000018
Kelas PBO-A
Link Sistem Akademik
Nama : Ismail Arifin
ReplyNRP : 05111740007007
Kelas : PBO B
Link : Database Akademik Sederhana
Nama : Nandha Himawan
ReplyNRP : 05111740000180
Kelas : PBO A
Link : Sistem akademik
Nama: I Gede Agung Krisna Pamungkas
ReplyNRP: 05111740000135
Kelas: PBO-A
Link: SIAKAD
Nama : Nitama Nurlingga Yotifa
ReplyNRP : 05111740000059
Kelas : PBO A
Link : Sistem akademik
Nama :Arini Puspitasari
ReplyNRP : 05111740000040
Kelas: PBO-B
Link : database akademik
Nama : Edgar Andrew Hutauruk
ReplyNRP : 05111740000166
Kelas : PBO B
Link : database akademik
Nama :Hafidz Firman Asqalany
ReplyNRP : 05111740000195
Kelas: PBO A
Link :ini linknya
Nama : Muhammad Fadhlan Min Robby
ReplyNRP : 05111740000123
Kelas : PBO B
Link : database
Nama: Akmal Darari Rafif B
ReplyNRP: 05111640000148
Kelas: PBO A
Link: https://darariakmal.blogspot.com/2018/11/tugas-7-pbo-fox-rabbit-simulator.html
Nama : Ghannie Wijaya
ReplyNRP : 05111640000048
Kelas : PBO B
Link : Di sini
Nama : Fadhlan Aulia
ReplyNRP : 05111640000125
Kelas : PBO B
Link : Database Akademik
Nama : Chrisnady Anggaiswara
ReplyNRP : 05111640000153
Kelas : PBO B
Link : Database Akademik
Nama : Nadia Hasna
ReplyNRP : 05111740000077
Kelas : PBO A
Link : Database
Nama : Shawn Timothy Mulya Putra
ReplyNRP : 05111740000095
Kelas : PBO A
Link : Jawaban
Nama: Akmal Darari Rafif B
ReplyNRP: 05111640000148
Kelas: PBO A
Link: https://darariakmal.blogspot.com/2018/12/tugas-6-database-akademik.html
Nama : Puguh Santosa D
ReplyNRP : 5116100049
KElas : PBO - A
Link : Database akademik
Nama : Ahmad Yahya Abdul Aziz
ReplyNRP : 05111740000128
Kelas : PBO - A
Link : Civitas Akademika ITS
Nama : Muhammad Husni Ridhart Azzikry
ReplyNRP : 05111740000122
Kelas: PBO - B
Link : Academic DB
Nama : Muh. Shafwatallah Wahid
ReplyNRP : 05111740007002
Kelas: PBO - B
Link : Database
Nama : Alberto Sanjaya
ReplyNRP : 05111840000150
Kelas : PBO - D
link : (Latihan Inheritance
Nama : Segara Bhagas Dagsapurwa
ReplyNRP : 051118400000337
Kelas : PBO D
Tugas Inheritance
Nama : Farrel Muhammad Taqi
ReplyNRP : 05111840000071
Kelas : PBO A
Link : Latihan Inheritance
Nama : Risky Aswi Narni
ReplyNRP : 05111740000014
Kelas: PBO A
Latihan inheritance-database
link: inheritance-database
Nama: Julius
ReplyNRP: 05111840000082
Kelas: PBO A
Link: Latihan Inheritance
Nama: Yulia Niza
ReplyNRP: 05111840000053
Kelas: PBO A
Link: Latihan Inheritance
Nama : Iqbaal Pratama Putra
ReplyNRP : 05111840000021
Kelas : PBO D
Link: Tugas 4 (Latihan Inheritance)
Nama : Devi Hainun Pasya
ReplyNRP : 05111840000014
Kelas : PBO A
LINK : Tugas Inheritance
Nama : Fara Dinda Mutia K.
ReplyNRP : 05111840000112
Kelas : PBO D
Link : Tugas 4 PBO
Nama : Syubban Fakhriya
ReplyNrp : 05111840000042
Kelas : PBO A
Link : Tugas Inheritance
Nama : Arjun Aksan
ReplyNrp : 05111740000133
Kelas : PBO A
Link : Inheritance
Nama : I Gusti Agung Chintya Prema Dewi
ReplyNRP : 05111840000130
Kelas : PBO D
Link : Tugas Inheritance
Nama : Achmad Sofyan Pratama
ReplyNRP : 05111840000061
Kelas : PBO D
LINK : link INHERITANCE
Nama : M Yusuf Mukharom
ReplyNRP : 05111740000051
Kelas : PBO A
LINK : Tugas Inheritance
Nama : Adam Abelard Garibaldi
ReplyNRP : 05111840000125
Kelas : PBO A
LINK: Tugas Inheritance
Nama : Rafif Ridho
ReplyNRP : 05111840000058
Kelas : PBO D
Link : Link Tugas 4
Nama : Wardah Nabilah Rusyda
ReplyNRP : 05111840000046
Kelas : PBO D
Link : Tugas 4
Nama : Naulia Adam Kuncoro
ReplyNRP : 05111740000155
Kelas : PBO A
Link : INHERITANCE
Nama : Putu Putri Natih Devayanti
ReplyNRP : 05111840000163
Kelas : PBO-A
Link : Tugas Inheritance
Nama : Elvira Catrine Natalie
ReplyNRP : 05111840000016
Kelas : PBO-A
Link : INHERITANCE
Nama : Ignatius Dwiki Iskandar
ReplyNRP : 05111840000019
Kelas : PBO-D
Link : CD DVD Inheritance
Nama : Dicky Maulana Rozi
ReplyNRP : 05111740000083
Kelas : PBO - A
Link : Inheritance
Nama : Salsabila Harlen
ReplyNRP : 05111840000127
Kelas : PBO - A
Link : Tugas Inheritance
Nama : Ida Bagus Rai Widnyana
ReplyNRP : 05111740000087
Kelas: PBO -D
Link : Tugas Inheritance
Nama : Jordan Gilbert
ReplyNRP : 05111840000084
Kelas : PBO-D
link : Tugas PBO 4
Nama: Yaniar Pradityas Effendi
ReplyNRP: 05111840000047
Kelas: PBO D
LINK TUGAS INHERITANCE
Nama : Muhammad Rayhan Hakim
ReplyNRP : 05111740000160
Kelas : PBO A
Tugas : Latihan Inheritance
Link : https://gipenhakim.blogspot.com/2019/10/inheritance.html
Nama : Nikodemus Siahaan
ReplyNRP : 05111840000151
Kelas : PBO A
Link : Tugas 5 Inheritance
Nama : Imanuel Banifernando Simatupang
ReplyNRP : 05111840000085
Kelas : PBO d
Link :LINK TUGAS INHERITANCE
Hasil : Blog Dua Rupa
Marsha Nabilah
Reply05111840000027
PBO D
Tugas Inheritance
Nama : Ryan Rasyid A
ReplyKelas : PBO D
NRP : 05111840000079
Link : Link?
Nama : Maisie Chiara Salsabila
ReplyKelas : PBO D
NRP : 05111840000057
Link Tugas Inheritance
Nama: Intan Kusuma R
ReplyKelas: PBO D
NRP: 05111840000020
Link:
Link Inheritance
Nama : Aflakah Nur Farhana
ReplyKelas : PBO D
NRP : 05111840000120
link: LINK
Aaron Astonvilla
Reply05111840000131
PBO D
Link
Nama : Muhammad Ilham Indiano
ReplyNRP : 05111740000177
Kelas : PBO A
Tugas : Latihan Inheritance
Link : Ini Link
Nama : Imanuel Banifernando Simatupang
ReplyNRP : 05111840000085
Kelas : PBO D
Tugas : Latihan Inheritance
Link : Latihan intheritance
Nama: Bayu Surya Bawono
ReplyNRP: 05111840000114
Kelas: PBO-A
Tugas: Latihan Inheritance
Link: https://etspbo.blogspot.com/2019/11/inheritance.html
Nama : Muhammad Satryo Pamungkas Bimasakti
ReplyKelas : PBO D
NRP : 05111840000070
Link : Tugas 4
Nama: Abdi Dewa Maha Rupawan
ReplyKelas: PBO D
NRP: 05111840000003
Link: Tugas Inheritance
Nama : Ammar Alifian F
ReplyNRP : 05111840000007
Kelas : PBO - A
Link : Inheritance
Nama : Muhammad Fawwaz Zuhdan Nauvali
ReplyNRP : 05111740000106
Kelas : PBO A
Link : Inheritance