Modul T01 - Object Oriented Programming
Modul T01 - Object Oriented Programming
Programmning
Definisi OOP
• Object oriented programming (OOP) merupakan paradigma
pemrograman yang menggunakan konsep objek sebagai dasar untuk
merancang dan mengembangkan perangkat lunak.
• OOP merupakan salah satu paradigma dalam programming yang
sangat populer. Dapat digunakan oleh banyak bahasa pemrograman
seperti PHP, Python, Java, C++, C#, Perl, dsb.
• Beberapa bahasa pemrograman menggunakan OOP sebagai paradigma
utama pengembangan program seperti Java, C# dan Dart.
Sejarah Singkat
• Pemrograman Berorientasi Objek (OOP) adalah paradigma
pemrograman yang pertama kali dikembangkan pada tahun 1960-an.
Ole-Johan Dahl dan Kristen Nygaard dari Norwegia adalah pionir dalam
pengembangan OOP.
• lan Kay adalah seorang ilmuwan komputer yang mengembangkan
Smalltalk di Palo Alto Research Center pada tahun 1970-an.
• Bjarne Stroustrup mengembangkan C++ pada tahun 1980-an sebagai
perluasan dari bahasa C dan mulai memperkenalkan fitur-fitur OOP.
• Konsep OOP telah diterima secara luas dan diadopsi dalam banyak
bahasa pemrograman modern seperti Java, C#, Python, PHP dan lain-
lain.
OOP di Python
• Python Dikembangkan oleh Guido van Rossum pada akhir 1980-
an dan dirilis pada tahun 1991.
• Pengembangan program di Python adalah bersifat multi
paradigma.
• OOP sudah disupport oleh Python sejak Python versi awal.
Kelebihan OOP
• Mendekati Realitas Dunia Nyata: Memungkinkan pemodelan
objek dan hubungan antara objek seperti di dunia nyata,
memudahkan pemahaman dan perancangan.
• Modularitas: Kode dapat dipecah menjadi modul atau kelas
yang terpisah, memudahkan pengorganisasian dan
pemeliharaan.
• Reusabilitas: Kode yang ditulis dalam bentuk kelas dapat
digunakan kembali dalam berbagai proyek atau bagian kode
yang berbeda.
Kelebihan OOP
• Memudahkan Kolaborasi: Tim pengembang dapat bekerja
pada bagian-bagian kelas yang berbeda tanpa mengganggu
bagian lainnya, mengurangi konflik.
• Mengurangi Duplikasi Kode: Kode yang sama dapat
ditempatkan di dalam metode kelas dan digunakan oleh berbagai
objek.
Kekurangan OOP
• Kompleksitas Awal: Pengembangan dalam gaya OOP dapat
membutuhkan waktu lebih lama untuk perencanaan dan desain
awal.
• Overengineering: desain yang terlalu berorientasi objek dapat
mengarah pada overengineering, di mana solusi yang sederhana
dapat menjadi kompleks dan lebih rumit daripada yang
diperlukan.
Contoh: Aplikasi E-learning.
Tentukan objek apa saja kira-kira yang dapat dibentuk dari aplikasi ini???
Contoh Objek E-learning
1.Mahasiswa:
• Property: Nama, NIM, Email
• Metode: Registrasi, Login, Mengakses Materi
2.Dosen:
• Property : Nama, NIP, Email
• Metode: Registrasi, Login, Menyusun Materi
3.Mata Kuliah:
• Property : Nama Matakuliah, Materi, sks
• Metode: Menampilkan Tugas, Mengelola Kuis
4.Tugas:
• Property : Nama Tugas, Batas Waktu
• Metode: Menerima Pengumpulan, Menilai Tugas
5.Forum Diskusi:
• Property : Judul Thread, Tanggal Posting
• Metode: Membuat Thread Baru, Menghapus Thread, Melihat status Thread
Dst…
Terima Kasih