Kelompok 5 - 1IA11 - OOP Python
Kelompok 5 - 1IA11 - OOP Python
Kelompok 5 - 1IA11 - OOP Python
PEMPROGRAMAN 2B (PYTHON)
KELOMPOK 5
class Product:
__vendor_message = "Ini adalah rahasia"
name = ""
price = ""
size = ""
unit = ""
def get_vendor_message(self):
print self.__vendor_message
Di bagian berikutnya, kita buat dua buah objek yang berbeda dengan
menggunakan class Product
.
p = Product("Ultora Milek")
p.set_price(5500)
print "%s dengan ukuran %s %s harganya Rp. %d" % (p.name, p.size, p.unit, p.price)
# print p.__vendor_message
p.get_vendor_message()
p1 = Product("Indomilek")
p1.set_price(5000)
print "%s dengan ukuran %s %s harganya Rp. % d" % (p.name, p.size, p.unit, p.price)
Padahal kita telah membuatnya di dalam class hanya saja atribut tersebut dilindungi dari
lingkungan luar. Dan yang terakhir kita memeriksa setiap objek apakah bernilai sama:
print p == p
print p1 == p1
print p == p1
Ternyata walaupun dihasilkan dari class yang sama, namun kedua objek tersebut merupakan
objek yang berbeda yang tinggal berada di dalam memory komputer kita.
2. INHERITANCE
inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep
inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai
entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class
turunan. Pewarisan merupakan mekanisme/cara membuat kelas baru dari kelas yang sudah
ada. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class. Konsep
inheritance digunakan untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi
kode program. Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam
kode program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent class),
super class, atau base class. Sedangkan class yang ‘menerima penurunan’ bisa disebut
sebagai class anak (child class), sub class, derived class atauheir class.
Deklarasi inheritance
Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti
dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler
Java bahwa kita ingin melakukan perluasan class.
contoh :
Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama
Object.
Misalnya saja terdapat sebuah class sederhana :
public class A {
…
}
Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class
Object.
public class A extends Object {
…
}
Single Inheritance
Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance, yaitu
suatu sublass hanya dapat mempunyai satu parent class. Dengan kata lain, suatu class hanya
dapat meng-extend satu class saja.
Jika dibutuhkan adanya multiple inheritance (satu class memiliki lebih dari satu parent
class) maka solusinya dapat menggunakan interface.
Multilevel Inheritance
Konsep inheritance yang ada di Java juga memperkenankan adanya multilevel inheritance.
Konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.
Pada saat program tersebut dikompilasi, maka kompiler Java akan menambahkan :
– Konstruktor class Parent
– Konstruktor class Child
– Pemanggilan konstruktor class Parent di kostruktor class Child
Keuntungan inheritance:
1. Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan
superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source
code dari superclass yang telah ada.
2. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang
disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
3. CONSTRUCTOR
class laptop {
3
4
private $pemilik;
5
private $merk;
6
7
// constructor sebagai pembuat nilai awal
8
public function __construct($pemilik, $merk) {
9 $this->pemilik = $pemilik;
10 $this->merk = $merk;
11 }
12
}
15
}
16
17
// buat objek dari class laptop (instansiasi)
18
$laptop_andi= new laptop("Andi", "Lenovo");
19
20
echo $laptop_andi->hidupkan_laptop();
21
echo "<br />";
22
23
25
26 echo $laptop_anto->hidupkan_laptop();
27 ?>
28
Pemrograman berorientasi objek atau dalam bahasa inggris disebut Object Oriented
Programming (OOP) adalah paradigma atau teknik pemrograman di mana semua hal dalam
program dimodelkan seperti objek dalam dunia nyata. Objek di dunia nyata memiliki ciri atau
attribut dan juga aksi atau kelakuan (behaviour).
Kita misalkan sebuah mobil. Mobil memiliki ciri punya ban, stang, kursi, pedal gas, rem, dan
lain sebagainya. Ada juga ciri warna, atau tahun keluaran berapa. Selain punya ciri, mobil
juga punya aksi atau sesuatu yang bisa dilakukan olehnya. Misalnya, ketika pedal diinjak apa
yang terjadi. Ketika di rem apa yang terjadi, dan lain sebagainya.
Program juga demikian. Semua unit dalam program bisa dianggap sebagai objek. Objek besar
dibangun dari objek – objek yang lebih kecil. Objek yang satu berinteraksi dengan objek
yang lain, sehingga semua menjadi sebuah kesatuan yang utuh.
Python dari awal dibuat sudah mengadopsi OOP. Selain itu Python juga bisa menggunakan
paradigma pemrograman lama yaitu pemrograman terstruktur. Oleh karena itu, Python
disebut bersifat hibrid.
Class
Protipe yang ditentukan penggunaan untuk objek yang mendifinisikan seperangkat atribut
yang menjadi ciri objek kelas apapun. Atribut adalah data anggota (variabel kelas dan
variabel contoh) dan metode, diakses melalui notasi titik.
Class variabel
Sebuah varibel yang dibagi oleh semua contoh kelas. Variabel kelas didefisikan dalam kelas
tapi di luar metode kelas manapun. Variabel kelas tidak digunakan sesering variabel contoh
Data member
Variabel kelas atau variabel contoh yang menimpan data yang terkait dengan kelas dan objek
Function overloading
Penugasan lebih dari satu perilaku ke fungsi tertentu. Operasi yang dilakukan bervariasi
menurut jenis objek atau argumen yang terlibat.
Instance variabel
Variabel yang didefinisikan di dalam sebuah metode dan hanya dimiliki oleh instance kelas
saat ini.
Inheritance
Pengalihan karakteristik kelas ke kelas lain yang berasal darinya.
Instance
Objek individu dari kelas tertentu. Objek obj yang termasuk dalam Lingkaran kelas,
misalnya, adalah turunan dari Lingkaran kelas.
Instantiation
Penciptaan sebuah instance dari sebuah kelas.
Method
Jenis fungsi khusus yang didefinisikan dalam definisi kelas.
Object
Contoh unik dari struktur data yang didefisikan oleh kelasnya. Objek terdiri dari kedua
anggota data (varibel kelas dan variabel contoh) dan metode
Operator overloading
Penugasan lebih dari satu fungsi ke operator tertentu.
Class Employee :
empCount = 0
self.name = name
self.salary = salary
Employee.empCount += 1
Emp1.displayEmployee()
Emp2.displayEmplayee()
Print (“Total Employee %d” % Employee.empCount)
Class Employee :
Empcount = 0
Self.Name = Name
Self.Salary = Salary
Employee.Empcount += 1
Emp1.displayEmployee()
Emp2.displayEmployee()
Print (“Total Employee %d” % Employee.empCount)
5. Parameter Masukan
Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi.
Fungsinya untuk menampung nilai data yang akan dijadikan sebagai masukan ke dalam
fungsi, itu artinya sebuah fungsi dapat menghasilkan nilai yang berbeda tergantung dari nilai
paramter yang dimasukan pada saat pemanggilan fungsi tersebut.
Contoh Parameter :
Outputnya
Contoh ke-2
Outputnya
Jadi, Parameter itu variabel untuk memperoses fungsi yang nanti kita masukkan.
6. FUNGSI PADA OBJECT
Deskripsi
Sintaks
o = object()
Parameter
Nilai Kembalian
Contoh
1. obj = object()
2.
3. Print (type(obj))
4. Print (dir(obj))
5.
Output
<class 'object'>
Class karyawan:
“Dasar Kelas untuk semua Karyawan”
Jumlah_mahasiswa = 0
Def tampilkan_jumlah(self):
Print(“Total Karyawan: ”, Karyawan.jumlah_karyawan)
Def tampilkan_profil(self):
Print(“Nama:”, self.nama)
Print(“gaji:”, self.gaji)
Karyawan1 = karyawan(“sarah”,1000000)
Karyawan1.tampilkan_profil()
Karyawan2.tampilkan_profil()
Print(“Total karyawan:”, karyawan.jumlah_karyawan)
Output:
(‘Nama:’, ‘sarah’)
(‘Gaji:’, 1000000)
(‘Nama :’, ‘Budi’)
(‘Gaji :’, 2000000)
(‘Total Karyawan :’, 2)
DAFTAR PUSTAKA
https://www.codepolitan.com/membuat-class-di-python-589528b4d558d
http://shodiqfarhan24.blogspot.com/2015/11/pengertian-inheritance.html
https://www.duniailkom.com/tutorial-belajar-oop-php-pengertian-constructor-dan-destructor/
https://www.pythonindo.com/fungsi-object/
https://www.petanikode.com/python-fungsi/
https://www.programiz.com/python-programming/function-argument
https://pythopemula.blogspot.com/2018/06/objek-dan-class-python.html