Modul 6 : Pemrograman Berorientasi Objek - fzl-22/modul-alstrukdat-sainsdata GitHub Wiki

Link Pretest: https://forms.gle/RURKS1J3ihJ1b5fe6

Apa itu Pemograman Berbasis Objek?

Pemograman berbasis objek atau Object Oriented Programming adalah metode pemograman yang berorientasi pada objek. Metode ini dibuat untuk menyediakan kebutuhan pengembangan program yang semakin hari semakin kompleks. Salah satu kekompleksan dari kebutuhan pengembangan program adalah kebutuhan untuk menyimpan beberapa jenis data dan fungsi secara bersamaan dalam satu variabel. Kekompleksan tersebut tidak dapat dipenuhi oleh tipe data primitve yang hanya mengizinkan satu variabel mempunyai satu tipe data saja.

Sebenarnya selama ini kita telah menggunakan Pemrograman Berbasis Objek ketika menulis program dengan bahasa python. Hal tersebut dibuktikan ketika kita melihat tipe data dari sebuah value seperti di bawah ini:

print(type(5))
print(type('c'))

Output

<class 'int'>
<class 'str'>

Dapat dilihat pada output di atas ketika mengoutputkan tipe data dari value dan 5 terdapat class yang menunjukkan bahwa value tersebut adalah sebuah class. Bukti lainnya adalah ketika kita menuliskan tanda titik kepada variabel variabel. maka akan muncul banyak suggestion seperti di bawah ini:

Screenshot (342)

Dapat dilihat pada gambar di atas terdapat banyak suggestion method yang dimiliki oleh variabel kalimat. Hal tersebut menunjukkan bahwa kalimat adalah variabel yang merujuk pada sebuah objek dari class.

Untuk memahami lebih dalam mengenai pemrograman borirentasi objek maka dapat dilihat gambar di bawah ini:

Ilustrasi Object Oriented Programming

Jika kita lihat pada ilustrasi di atas terdapat beberapa terminologi dari pemgrograman berbasis objek yang perlu kita pahami yaitu:

  1. Object
  2. Class
  3. Atribute
  4. Method

Class

Class merupakan blueprint atau template untuk membentuk suatu objek. Dengan memiliki sebuah class maka kita dapat membuat banyak objek atau entitas yang memiliki ciri dan kemampuan yang serupa. Selain itu dengan class maka kita dapat memiliki banyak data dengan berbagai jenis dalam satu objek atau variabel saja. Adapun untuk membuat class dapat dilihat pada contoh di bawah ini:

class <nama_kelas>:
     // struktur class

Contoh:

class manusia:
     // struktur class manusia

Adapun untuk membuat nama dari class diusahakan menggunakan nama yang mewakili objek tersebut, misal jangan menggunakan nama class pacar untuk objek yang sudah jadi mantan😭lololoh ga bahaya ta?

Sad Man Crying Out Loud Meme

Object

Object merupakan produk dari class atau entitas yang dibentuk dengan membawa ciri dan kemampuan dari class. Object dapat dideklarasikan berulangkali dengan setiap object yang dideklarasikan tersebut membawa sifat dan ciri yang sama. Adapun untuk mendeklarasikan object dapat dilihat pada contoh berikut:

nama_variabel = nama_class()

Contoh:

Prabowo = manusia()
Jokowi = manusia()

RockOneEyebrowRaisedRockStaringGIF

Pada contoh di atas dapat dilihat bahwa terdapat 2 object dengan nama Prabowo dan Jokowi dan keduanya memiliki class yang sama yaitu Manusia. Dengan begitu object Prabowo dan Jokowi meskipun merupakan 2 object yang berbeda tetap akan memiliki ciri - ciri dan kemampuan yang sama.

Atribute

Atrubute merupakan variabel yang menyimpan data dan akan dibawa oleh setiap object. Data yang dibawa oleh setiap object akan sesuai dengan data yang dideklarasikan di dalam class object tersebut. Untuk mendeklarasikan atribute kita lebih baik berkenalan terlebih dahulu dengan constructor yaitu fungsi yang digunakan untuk membentuk suatu objek. Contoh:

class Nama_Kelas:
    nama_atribute = None
    nama_atribute = None  

Contoh:

class manusia:
    nama = None
    umur = None
    jenis_kelamin = None

Pada contoh di atas pada class manusia memiliki 3 buah atribute yaitu nama, umur, dan jenis_kelamin. Artinya setiap object yang dideklarasikan menggunakan class manusia akan membawa atau mempunyai 3 buah atribute tersebut. Hal tersebut dapat dibuktikan dengan gambar berikut:

image

Dapat dilihat terdapat 3 buah suggestion atribute pada class manusia. Dengan memilih atribute tersebut kita dapat melakukan pengaksesan (memberi dan menampilkan) nilai dari atribute. Contoh:

Jokowi = Manusia();

Jokowi.Nama = "Joko Widodo";
Jokowi.Umur = 61;
Jokowi.Gender = 'L';

Contoh di atas kita melakukan pemberian nilai terdapat setiap atributenya. Selain memberikan nilai kita dapat mengoutputkan nilai dari atribute tersebut dengan cara:

print(Jokowi.Nama)
print(Jokowi.Umur)
print(Jokowi.Gender)

Output:

Joko Widodo
61
L

Selain memberikan nilai atribute satu persatu kita dapat memberikan nilai secara sekaligus menggunakan constructor method sepeti di bawah ini:

class manusia:
    nama = None
    umur = None
    jenis_kelamin = None
    def __init__(self,nama,umur,jenis_kelamin):
        self.nama = nama
        self.umur = umur
        self.jenis_kelamin = jenis_kelamin

Dengan constructor kita dapat mempersingkat pendeklarasian dengan sebagai berikut:

Jokowi = manusia("Joko Widodo",64,"Lelaki")

Lebih singkat bukan?

WowOmgMemeGIF

Method

Methodadalah kemampuan yang dimiliki atau suatu yang dapat dilakukan oleh suatu class. Kemampuan tersebut digunakan untuk melakukan pengaksesan dan manipulasi terhadap nilai atribute. Kemampuan ini dilakukan melalui berupa fungsi yang dideklarasikan di dalam class. Karena merupakan sauatu fungsi maka method dapat mengembalikan suatu nilai melalui return valuenya. Untuk mendeklarasikan suatu method maka cukup deklarasikan suatu fungsi biasa di dalam classnya. Adapun untuk mendeklarasikannya dapat dilihat pada contoh berikut:

def NamaMethod(self):
    // statment

Ketika mendeklarasikan method pastikan terdapat sebuah parameter yaitu self, hal tersebut karena setiap memanggil method object akan mengirim dirinya sendiri juga sebagai parameter secara otomatis sehingga diperlukan sebuah parameter dengan nama self. Contoh Method:

def ShowData(self):
  print(f"Nama : {self.nama}\nUmur : {self.umur}\nJenis Kelamin : {self.jenis_kelamin}")

Untuk memanggil dan menggunakan method dapat dengan mudah dengan cara sebagai berikut:

Jokowi.ShowData()

Output:

Nama : Jokowi
Umur : 64
Jenis Kelamin : Lelaki

Adapun untuk contoh lengkap codenya adalah sebagai berikut:

class manusia:
    nama = None
    umur = None
    Jenis_Kelamin = None
    def __init__(self,nama,umur,jenis_kelamin):
        self.nama = nama
        self.umur = umur
        self.jenis_kelamin = jenis_kelamin
    def ShowData(self):
        print(f"Nama : {self.nama}\nUmur : {self.umur}\nJenis Kelamin : {self.jenis_kelamin}")

manusia_1 = manusia("Jokowi",64,"Lelaki")
manusia_1.ShowData()

SELESAIIII!!!!!!

SoExcited~GIF StandingOvationGIF

Soal Post Test

Link Post Test OOP

⚠️ **GitHub.com Fallback** ⚠️