Terdapat dua paradigma dalam programming yang paling terkenal, yaitu Struktural Programming dan Object Oriented Programming. Paradigma disini adalah dasar/cara berpikir saat seseorang melakukan pemograman. Struktural adalah paradigma dimana program/kode yang kita buat berjalan sesuai dengan urutan yang sudah ditentukan, pada umumnya menggunakan if-else looping. Ini akan menjadi cukup memusingkan saat kita akan membuat sebuah program yang kompleks. Sedangkan, Object Oriented Programming (OOP) adalah suatu paradigma dimana kode kita dikumpulkan/dimisalkan menjadi sebuah objek. Contoh paling mudah adalah jika kita ingin membuat sebuah program tentang rumah, maka rumah itu kita misalkan objek yang tentu saja objek tersebut memiliki karakteristik tersendiri, misalkan warna, lokasi, dan harga. Saat kita akan butuh data karakteristik(instance) yang dibutuhkan maka kita tinggal melakukan pemanggilan. Show
sumber: https://www.geeksforgeeks.org/ Python sendiri merupakan bahasa pemograman yang dapat menggunakan konsep OOP tapi juga dapat mengimplementasikan konsep Structural Programming. Istilah – Istilah Dalam OOPBeberapa istilah utama yang terdapat pada OOP diantaranya :
Mendefinisikan ClassMendefiniskan class sangat mudah, secara sederhana dapat kita tuliskan seperti.
Seperti definisinya, class diatas akan menjadi cetak biru dari objek/instance yang akan masukkan pada tahap selanjutnya. Lalu kita inisiasikan objek dari class yang telah kita buat.
Kode diatas artinya objek mobil1 dan mobil2 memakai class mobil sebagai cetak biru untuk objek tersebut. Artinya semua variabel, atau metode nantinya akan mengikuti class mobil. Sekarang kita akan masukan atribut/variabel dalam objek yang kita buat. kita akan masukkan jenis dan warna dari objek tersebut.
Jika kita menggunakan metode print() untuk melihat atribut dan objek yang telah kita buat maka kita akan mendapatkan
Pada hasil pertama kita diperlihatkan bahwa mobil satu merupakan sebuah objek. Pada hasil kedua kita diperlihatkan bahwa atribut jenis pada objek mobil1 bernilai “sedan”. Pada hasil terakhir kita ingin melihat atribut apa saja yang dimiliki oleh objek tersebut. Mendefinisikan __init__ MethodMetode pertama yang akan kita kenal adalah metode init. Seperti namanya Metode ini digunakan sebagai inisiasi class yang kita jalankan jadi saat kita memanggil class tersebut sebagai sebuah objek maka metode ini akan dijalankan terlebih dahulu.
Seperti yang terlihat, saat kita menginisiasi pembuatan objek mobil1 maka dengan otomatis print(“ini mobil saya”) terjalankan. Jadi apa gunanya hal ini? dengan melakukan ini maka kita bisa lebih menyederhanakan kode yang kita tulis sehingga lebih mudah dibaca. Kita akan coba masukkan atribut jenis dan warna pada fungsi init tersebut.
Dan jika kita print maka akan menghasilkan,
Kesederhaan ini akan lebih terlihat lagi jika apa yang kita lakukan menjadi lebih rumit sehingga membutuhkan banyak sekali atribut maka kita hanya membutuhkan satu baris saja untuk menginisiasi sebuah objek. https://laabidigh.medium.com/class-and-instance-attributes-e8b02f40d753 Variabel Kelas & Variabel ObjekAtribut yang kita buat sebelumnya adalah atribut objek, apa maksudnya? Maksudnya adalah atribut tersebut hanya menjadi miliki objek yang didefinisikan. Misal untuk mobil1 jenisnya adalah sedan sedangkan untuk mobil2 jenisnya adalah SUV. Atribut kelas adalah atribut yang menjadi milik si class tersebut artinya nilainya akan sama untuk semua metode di dalam class tersebut.
Membuat Object MethodSebuah class memliki metode didalamnya yang dapat kita variasikan fungsinya tidak seperti metode init. Kalau kita menggunakan pemisalan sederhana, Jika objek yang kita maksudkan adalah kalkulator maka yang termasuk ke dalam metode yang dimaksud adalah operasi tambah, kurang, bagi, dan kali. Sekarang kita akan mencoba membuat metode pada class mobil sebelumnya.
Lalu kita lakukan inisiasi dan pemanggilan maka akan menghasilkan,
Metode diatas adalah contoh metode yang tanpa argumen, sehingga saat melakukan pemanggilan kita tidak perlu mengisikan argumen ke dalam kurung. Selain metode tersebut, ada juga metode dengan argumen yang akan kita contohkan dengan membuat sebuah fungsi untuk menghitung sisa tangki dari jarak tempuhnya. Sekarang mari kita buat atribut baru, yaitu efisiensi. Efisiensi disini adalah berapa liter bensin yang hilang untuk 10 km.
Lalu kita buat fungsi untuk menghitung sisa bensin pada tangki
Lalu kita panggil metode tersebut, karena pada fungsinya kita dapat melihat bahwa dibutuhkan argumen jarak maka pemanggilan metodenya akan sedikit berbeda dengan memasukkan satu argumen jarak dalam kilometer.
Sampai sini kalian sudah bisa mengenal OOP dan memuat class sederhana. dengan memanfaatkan atribut/variabel dan metode/fungsi yang sesuai. Kita akan mencoba untuk mengaplikasikan hal tersebut pada materi-materi kita kedepannya. Sifat – Sifat OOP pada PythonInheritanceInheritance adalah sifat penurunan, yaitu menurunkan sifat yang dimiliki kelas utama (parent) class kepada kelas yang diturunkan (childc class). Sekarang mari kita coba menerapkan inheritance Kita persiapkan dulu kelas parent yang ingin kita gunakan.
Sekarang kita persiapkan child class
Nah hal menarik dapat terjadi, walau class SUV tidak memiliki metode print_warna dan print_merk secara langsung, akan tetapi karena metode tersebut dapat kita panggil karena class SUV mendapatkannya dari class mobil.
Hasilnya
EncapsulationSuatu objek pada python dapat kita batasi akses yang dimiliki terhadap objek tersebut dengan menggunakan encapsulation. caranya adalah dengan menggunakan dua garis bawah (__) sebelum nama variabel.
Hasilnya
Saat kita menggunakan encapsulation pada variabelnya,
Hasilnya
PolymorphismSeperti pada namanya, polymophism adalah kemampuan suatu metode memiliki banyak bentuk. kita persiapkan banyak bentuknya terlebih dahulu dalam bentuk class
Lalu kita persiapkan metode utamanya,
Sekarang mari kita inisiasi objectnya,
Setelah kita mari kita masukkan ke dalam fungsi kita sebelumnya,
Hasilnya Bisa Terbang Tidak Bisa TerbangDaftar Pustaka:Instance class and Static methods – realpython Apa itu inheritance pada python?Inheritance adalah sebuah proses dimana sebuah class mengambil semua properti dan semua metode dari kelas lain. Instruksi: Penulisan nama kelas menurut perjanjian para coder Python sedunia adalah huruf pertama huruf kapital.
Apa itu polymorphism di Python?Polymorphism adalah kemampuan untuk mengambil bentuk yang berbeda. Polymorphism dalam Python memungkinkan kita untuk mendefinisikan metode pada child class dengan menggunakan nama yang sama seperti pada parent class.
Apa itu inheritance pada OOP?Dalam konsep OOP, inheritance adalah suatu kemampuan membentuk class baru yang memiliki fungsi turunan dan mirip dengan fungsi yang sudah ada sebelumnya. Dengan kata lain, inheritance menurunkan atau mewariskan metode yang dimilikinya kepada class lain.
Apa itu Enkapsulasi pada python?Encapsulation adalah teknik membatasi akses pada method yang dimiliki sebuah object dari luar object tersebut. Teknik ini bermanfaat untuk beberapa hal yakni: Menyembunyikan kompleksitas internal dari sebuah class/object, sehingga yang terlihat dari luar hanya attributes/methods yang relevan.
|