RonnyFebrianSaputra MI 1C

  • Home
  • Tutorial Pemograman Web
  • Jaringan Komputer

Object-Oriented Programming

 Ronny Febrian Saputra     Januari 03, 2019     No comments   

Object-Oriented Programming


Apa itu Object-Oriented Programming (OOP)?

Pemrograman berorientasi objek, atau OOP singkatnya, adalah paradigma
 pemrograman yang menyediakan sarana untuk menyusun program sehingga sifat dan perilaku digabungkan menjadi objek individual. Misalnya, objek bisa mewakili seseorang dengan nama properti, umur, alamat, dll, dengan perilaku seperti berjalan, berbicara, bernafas, dan berlari. Atau email dengan properti seperti daftar penerima, subjek, badan, dll., Dan perilaku seperti menambahkan lampiran dan pengiriman.
 Dengan kata lain, pemrograman berorientasi obyek adalah sebuah pendekatan untuk pemodelan beton, hal-hal dunia nyata seperti mobil dan juga hubungan antara hal-hal seperti perusahaan dan karyawan, siswa dan guru, dll. Model OOP entitas dunia nyata sebagai objek perangkat lunak, yang memiliki beberapa data yang terkait dengannya dan bisa melakukan fungsi tertentu.
 Paradigma pemrograman umum lainnya adalah pemrograman prosedural yang menyusun program seperti resep karena menyediakan seperangkat langkah, dalam bentuk fungsi dan blok kode, yang mengalir secara berurutan untuk menyelesaikan tugas. Mengambil kunci adalah objek berada di pusat paradigma pemrograman berorientasi objek, tidak hanya mewakili data, seperti dalam pemrograman prosedural, namun juga dalam keseluruhan struktur program.
Class

Pada konsep pemrograman berbasis object, anda tidak akan asing lagi mendengar istilah class, object, attribute, behaviour, inheritance, dll. Semua itu pasti akan anda temui disemua bahasa pemrograman yang support OOP. Jika dianalogikan, class merupakan suatu tubuh dari OOP. Class merupakan abstraksi atau blueprint yang mendefinisikan suatu object tertentu. Class akan menampung semua attribute dan perilaku dari object itu. Berikut contoh implementasi class pada Python:
class Car: color = 'black' transmission = 'manual' def __init__(self, transmission): self.transmission = transmission print('Engine is ready!') def drive(self): print('Drive') def reverse(self): print('Reverse. Please check your behind.')


Jika diperhatikan, dalam class Car terdapat 2 attribute yaitu color = 'black', transmission = 'manual' dan method yaitu drive(), reverse(). Method dalam konsep OOP mewakili suatu 'behaviour' dari class atau object itu sendiri. Kita akan bahas lebih detail mengenai method.
Method
Fungsi method dalam konsep OOP adalah untuk merepresentasikan suatu behaviour. Dalam contoh di atas suatu object 'mobil' memiliki behaviour antara lain adalah bergerak dan mundur. Suatu method bisa juga memiliki satu atau beberapa parameter, sebagai contoh:
gear_position = 'N' def change_gear(self, gear): self.gear_position = gear print('Gear positiion on: ' + self.gear_position)
pada method change_gear() terdapat 1 parameter yaitu gear. Ketika method tersebut dipanggil dan anda tidak memberikan value pada parameter tersebut, maka program akan melempar error. Bagaimanapun juga parameter yang sudah didefinisikan pada suatu method harus memiliki value meskipun value tersebut None. Cara lainnya adalah dengan mendefinisikan default value pada parameter tersebut sejak awal method tersebut dibuat:
gear_position = 'N' def change_gear(self, gear='N'): self.gear_position = gear print('Gear positiion on: ' + self.gear_position) self.change_gear() >>> 'Gear position on: N' self.change_gear('R') >>> 'Gear position on: R'
Jika diperhatikan, terdapat keyword self pada salah satu parameter method di atas. Keyword self mengacu pada Class Instance untuk mengakses attribute atau method dari class itu sendiri. Dalam bahasa pemrograman Java, terdapat keyword this yang memiliki fungsi yang mirip dengan keyword self pada Python. Pemberian keyword selfpada parameter awal suatu method menjadi wajib jika anda mendefinisikan method tersebut di dalam block suatu class.
Suatu method juga bisa mengembalikan suatu value ketika method tersebut dipanggil. Berikut contoh implementasinya:
def get_gear_position(self): return self.gear_position gear_position = self.get_gear_position()
Constructor
Pada contoh awal tentang penjelasan class, terdapat sebuah method bernama __init__(). Method itulah yang disebut dengan constructor. Suatu constructor berbeda dengan method lainnya, karena constructor akan otomatis dieksekusi ketika membuat object dari class itu sendiri.
class Car: color = 'black' transmission = 'manual' def __init__(self, transmission): self.transmission = transmission print('Engine is ready!') ... honda = Car('automatic') >>> 'Engine is ready!'
Ketika object honda dibuat dari class Car, constructor langsung dieksekusi. Hal ini berguna jika anda membutuhkan proses inisialisasi ketika suatu object dibuat. Suatu constructor juga bisa memiliki satu atau beberapa parameter, sama seperti method pada umumnya namun constructor tidak bisa mengembalikan value.
Object
Object merupakan produk hasil dari suatu class. Jika class merupakan blueprint dari suatu rancangan bangunan, maka object adalah bangunan itu sendiri. Begitulah contoh analogi yang bisa saya gambarkan mengenai relasi antara class dan object. Berikut contoh implementasi dalam bentuk code program:
class Car: color = 'black' transmission = 'manual' gear_position = 'N' def __init__(self, transmission): self.transmission = transmission print('Engine is ready!') def drive(self): self.gear_position = 'D' print('Drive') def reverse(self): self.gear_position = 'N' print('Reverse. Please check your behind.') def change_gear(self, gear='N'): self.gear_position = gear print('Gear position on: ' + self.gear_position) def get_gear_position(self): return self.gear_position car1 = Car('manual') car1.change_gear('D-1') car2 = Car('automatic') gear_position = car2.get_gear_position() print(gear_position) >>> 'N'
Dari contoh di atas, terdapat 2 buah object car1 dan car2 yang dibuat dari class yang sama. Masing-masing dari object tersebut berdiri sendiri, artinya jika terjadi perubahan attribute dari object car1 tidak akan mempengaruhi object car2meskipun dari class yang sama.
Inheritance
Salah satu keuntungan dari konsep OOP ialah reusable codes yang bisa mengoptimalkan penggunaan code program agar lebih efisien dan meminimalisir redudansi. Semua itu berkat adanya fitur inheritance yang memungkinkan suatu class (parent) menurunkan semua attribute dan behaviour nya ke class (child) lain. Berikut contoh penerapannya:
class Tesla(Car): pass # use 'pass' keyword to define class only tesla = Tesla() tesla.drive() >>> 'Drive'
Pada potongan code di atas, class Tesla merupakan turunan dari class Car. Jika diperhatikan pada class Tesla tidak didefinisikan method drive() namun class tersebut bisa memanggil method drive(). Method tersebut berasal dari class parentnya yaitu class Car, sehingga tidak perlu lagi didefinisikan ulang pada class childnya. Dengan cara seperti ini anda bisa melakukan reusable codes sehingga source code menjadi lebih clean.
Overriding Method
Ada suatu kondisi dimana suatu method yang berasal dari parent ingin anda modifikasi atau ditambahkan beberapa fitur sesuai kebutuhan pada class child, disinilah peran dari 'overriding method'. Dengan menggunakan fungsi super(), anda bisa memanggil instance dari class parent di dalam suatu method untuk memanggil fungsi dari parent tersebut. Perhatikan contoh di bawah ini:
class Tesla(Car): def drive(self): super().drive() print('LOL Gas')
Private Attribute/Method
Tidak semua attribute maupun method bisa diturunkan pada class child. Anda bisa menentukan mana attribute atau method yang ingin diproteksi agar tidak bisa digunakan pada class turunannya. Berikut caranya:
__factory_number = '0123456789' def __get_factory_number(self): return self.__factory_number
Polymorphism
Terakhir dari konsep OOP adalah polimorfisme yang memungkinkan anda untuk membuat banyak bentuk dari satu object. Berikut contoh implementasinya:
class Car: def fuel(self): return 'gas' class Honda(Car): pass class Tesla(Car): def fuel(self): return 'electricity' def get_fuel(car): print(car.fuel()) get_fuel(Tesla()) get_fuel(Honda()) >>> 'electricity' >>> 'gas
</>Thanks
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Kirimkan Ini lewat EmailBlogThis!Bagikan ke XBerbagi ke Facebook
Ronny Febrian Saputra
Nama Saya Ronny Febrian Saputra Umur 16 thn Hobi Main Asal Sekolah SMKN 4 Payakumbuh Alamat Harau
Posting Lebih Baru Posting Lama Beranda

0 Comments:

Posting Komentar

Popular Posts

  • Pengertian Dual Boot Serta Kelebihan dan Kekurangan
    Pengertian Dual Boot Serta Kelebihan dan Kekurangan  Apa itu Dual Boot? Lalu apa saja kelebihan dan kekurangannya? Adakah manfaat...
  • Tkinter
    Tkinter    tkinter ini merupakan sebuah GUI yang digunakan oleh python secara build in yang artinya tidak perlu menginstall tamba...
  • Instal Laravel 5.7
    Saya rekomendasikan Anda untuk menginstall  composer  terlebih dahulu. Atau Anda bisa membaca kembali postingan terdahulu tentang  cara i...
  • Cara Membuat Schematic Diagram Sensor RFID
    Baiklah di postingan kali ini saya akan memebuat shecmatic Diagram tentang bagaimana membuat sensor rfid. sebelum kalian masuk kepembuata...
  • Sejarah Bahasa Pemograman Python
    Sejarah Bahasa Pemoggraman Python    Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan...
  • Game Dengan Python and PyGame
    Game Dengan Python and PyGame   Pada blog kali ini saya akan membuat game ular-ular dengan menggunakan bahasa pemograman Python dan...
  • Cara Penggunaan Return Value pada Pemrograman Python.
    Cara Penggunaan Return Value pada Pemrograman Python Pada tutorial kali ini kita akan membahas tentang  Cara Penggunaan Return V...
  • Python GUI Programming
    Pyhton GUI Programming (Tkinter) Tkinter adalah pustaka GUI standar untuk Python. Python bila dikombinasikan dengan Tki...
  • Kelebihan dan Kekurangan OpenSuse
    Kelebihan dan Kekurangan OpenSuse Berbicara Linux tentu tidak ada habisnya, mengingat sistem operasi yang satu ini memiliki varian...
  • Kelebihan Text Editor Atom
    1. Terhubung dengan project Github Kelebihan Text Editor Atom yang pertama, dengan menggunakan text editor Atom, kita bisa langsung ter...

Recent Posts

Unordered List

Pages

  • Beranda
  • Tutorial Pemograman Web

Text Widget

Blog Archive

  • ►  2021 (15)
    • ►  Juni (6)
    • ►  Mei (1)
    • ►  April (4)
    • ►  Maret (4)
  • ▼  2019 (39)
    • ►  Februari (16)
    • ▼  Januari (23)
      • Pengertian Dual Boot Serta Kelebihan dan Kekurangan
      • Framework Flask
      • 5 Alasan Programmer Memilih Sistem Operasi Linux
      • Macam-Macam Framework Python
      • 10 Bahasa pemogram yang populer di indonesia
      • Game Dengan Python and PyGame
      • PyGame
      • Game Tanya Jawab With Python
      • Membuat Program Pembagian Dengan Bahasa Pemograman...
      • HALAL NETWORK INTERNATIONAL (HNI)
      • Mengenal Variable Global dan Variable Local pada P...
      • Framework
      • Jenis-Jenis Database
      • Pengenalan Database
      • Kelebihan Dan Kekurangan Bahasa Pemograman PHP
      • Pengenalan Bahasa Pemograman PHP
      • Pengertian Framework Django
      • Kelebihan dan Kekurangan Bahasa Pemograman Python
      • Jenis-Jenis Sensor Arduino
      • Perulangan Pada Python
      • Object-Oriented Programming
      • Cara Penggunaan Return Value pada Pemrograman Python.
      • Mengenal IF dan Else pada Python
  • ►  2018 (17)
    • ►  Desember (17)

Sample Text

Copyright © ronnyfebriansaputra | Powered by Blogger
Design by Hardeep Asrani | Blogger Theme by NewBloggerThemes.com | Distributed By Gooyaabi Templates