Selamat Datang Di Kelas AI (Beta)

Pengertian OOP (Object Oriented Programming)

Tim Kelas AI - 13 Jun 2024 (4 Minute Read)

Tim Kelas AI, 13 Jun 2024
4 Minute Read

Ketika kalian ngoding nih, pernah gak nemuin suatu kasus dimana kalian melakukan suatu fungsionalitas berkali-kali? Misal fungsi fungsi untuk memeriksa apakah suatu session (sesi autentifikasi) dari user dari sudah habis. Ribet gak sih kalau kalau kita harus meletakan codingannya satu per satu pada bagian-bagian yang ingin kita periksa? Ribet banget kan? Ya kalau cuma satu sih gak masalah, gimana kalau kita punya 27 bagian yang harus diperiksa sessionnya? Ribet banget kalau kita mau meletakan codingan yang sama pada bagian-bagian yang berbeda.

Misalkan gini, kita mau bikin codingan pada sebuah situs bokep (situs porno) dimana hanya orang-orang yang berusia 18+ yang boleh masuk. Kira-kira codingannya seperti ini:

umur = 16

if umur < 18:
    print('Gaboleh masuk')
else:
    print('Silahkan menikmati bokep tebaru kami')

Bayangin deh, ribet gak sih kalau kita harus bertanya ke user setiap mengakses halaman pada situs bokep kita? Berapakah umur anda? Lalu user akan menjawabnya. Atau mungkin kita harus meletakan codingan tersebut yang persis sama pada setiap fitur kita, misal setiap mengakses video, mengakses model, mengakses gambar, dan lain sebagainya. Ribet banget kan kita sebagai programmer? Kenapa gak kita bikin satu fungsionalitas melekat pada user dan bisa dipanggil berkali-kali aja sih?

Mungkin kalian berkata, membuat codingan diatas sebagai sebuah function adalah solusinya. Sehingga bisa dipanggil dari mana aja. Benarkah demikian? Ayo kita coba periksa logikanya satu-per satu.

Permasalahan Pada Function

Function dalam OOP adalah seperangkat fungsionalitas (fitur) untuk mengerjakan suatu task tertentu yang dibungkus dalam satu buah bundling yang bisa dipanggil dimana-mana. Jadi cukup ngoding sekali, kemudian function itu diletakan di semua tempat yang berbeda. Kita akan mencoba membuat codingan diatas menjadi sebuah function seperti ini:

def cek_umur(umur):
    if umur < 18:
        print('Gaboleh masuk')
    else:
        print('Silahkan menikmati bokep tebaru kami')

Lalu kita bisa memanggilnya dari mana saja seperti ini:

umur = 16
cek_umur(umur)
Gaboleh masuk

Lebih mudah bukan? Kita tinggal meletakan satu baris code aja di setiap halaman yang ingin kita periksa. Jadi gak usah ngoding berkali-kali. Lalu bagaimana jika ada user lain yang ingin masuk? Misalkan usianya 19 tahun. Kita coba cek apakah fungsinya berhasil?

umur = 19
cek_umur(umur)
Silahkan menikmati bokep tebaru kami

Yup, tetap berhasil. So, fungsi ini bisa dipanggil dimana saja dan oleh siapa saja. Tapi kalian tau gak kelemahannya? Yup, jika user yang sama ingin mengakses halaman yang berbeda, kalian akan terus ditanya. Dan ketika kalian menjawabnya, task dalam function tersebut akan bekerja dari awal lagi. Sungguh sangat tidak hemat memory bukan jika pertanyaan yang sama ditanyakan berkali-kali dan task yang sama dikerjakan berkali-kali. Disinilah paradigma OOP diperlukan.

Apa Itu OOP

OOP (Object Oriented Programming) adalah sebuah paradigma pemrograman yang berorientasi kepada sebuah object (intsance). Sedangkan object atau instance sendiri adalah sebuah variabel data yang sudah diolah kedalam sebuah class sehingga memiliki atribut dan fungsionalitasnya sendiri-sendiri. Keberadaan Class dan Object adalah ciri utama dari pemrograman  berorientasi object (OOP). Katika kalian ingin melakukan sesuatu, tinggal panggil saja class nya dan kalian dapat menghemat banyak baris code juga fungsionalitas yang bertumpuk. Kemudahan dan fleksibilitas itu membuat pemrograman berorientasi object menjadi lebih digemari. Salah satu bahasa pemrograman yang menggunakan paradigma OOP adalah Python.

Ada beberapa terminologi yang biasa kita temukan dalam OOP, antara lain: class, method, self, constructor, dan instance (object). Kita akan bahas satu-satu pada artikel berikutnya ya. Kalian juga bisa mempelajarinya langsung pada artikel dibawah ini:

Baca Juga: Class, Method, Contructor, Self, Object & Instance pada OOP disini

Object (Instance) Dalam OOP

Object atau instance, adalah sebuah variabel yang sudah diolah dalam sebuah class sehingga menjadi suatu individu baru yang memiliki atribut dan fungsionalitas didalamnya. Untuk membuat sebuah object, kita perlu membuat sebuah class terlebih dahulu. Kira-kira kalau fungsi untuk melakukan cek usia diatas kita jadikan sebuah class, kira-kira seperti ini:

class cek_umur():
    umur = 0

    def __init__ (self,umur):
        self.umur = umur

    def cek(self):
        if self.umur < 18:
            print('Gaboleh masuk')
        else:
            print('Silahkan menikmati bokep tebaru kami')

Kemudian ketika ada sebuah user masuk, katakanlah namanya Fachrie. Maka kita tinggal memasangkannya dengan class seperti ini:

fachrie = cek_umur(12)

Nah, sekarang Fachrie sudah berubah dari variabel biasa menjadi sebuah object. So, kalau suatu saat Fachrie ingin mengakses film bokep, kita tidak perlu meminta umurnya lagi, kita tinggal lihat saja dari atribut umur yang dia miliki seperti ini:

fachrie.umur
12

Dan kalau kita ingin memberi tahu apakah Fachrie boleh masuk atau tidak, kita tidak perlu memanggil function lagi, cukup memanggil method umur() yang sudah ada dalam dirinya. Kira-kira seperti ini:

fachrie.cek()
Gaboleh masuk

Pada codingan diatas, kita menemukan berbagai terminologi baru seperti class, self, def, dan lain sebagainya. So, apa itu? Kita akan mempelajari pada modul-modul berikutnya dibawah ini ya.

Baca Juga:

Artikel yang mungkin relate buat kamu

001

Class adalah sebuah wadah untuk menampung sebuah data dan/atau melakukan sebuah fungsionalitas pada data tersebut untuk disimpan kembali kedalam wadah tadi. Sehingga ketika ingin memanggilnya, ...

002

Method 'init' adadalah sebuah constructior dalam class python. Constructor adalah sebuah method yang berfungsi untuk mengkonstruksikan ulang objek tersebut. Constructor dinotasikan dengan def __init__(). Constructor ...


Baca Artikel Lainnya +