Anda di halaman 1dari 16

LAPORAN RESMI

MODUL III
INHERITANCE

PEMROGRAMAN BERBASIS OBJEK III

NAMA : TOUFAN ADI YANSYAH


N.R.P : 180441100070
DOSEN : YUDHA DWI PUTRA NEGARA S.KOM., M.KOM
ASISTEN : MOHAMMAD YUSRIL IHZA MAULANA
TGL PRAKTIKUM : 13 MARET 2019

Disetujui : 20 Maret 2019


Asisten

Mohammad Yusril Ihza Maulana


170441100056

LABORATORIUM BISNIS INTELIJEN SISTEM


JURUSAN SISTEM INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
BAB I
PENDAHULUAN

1.1 Latar Belakang


Python adalah bahasa pemrograman interpretatif multiguna. Tidak seperti
bahasa lain yang susah untuk dibaca dan dipahami, python lebih menekankan
pada keterbacaan kode agar lebih mudah untuk memahami sintaks. Hal ini
membuat Python sangat mudah dipelajari baik untuk pemula maupun untuk
yang sudah menguasai bahasa pemrograman lain. Bahasa ini muncul pertama
kali pada tahun 1991, dirancang oleh seorang bernama Guido van Rossum.
Sampai saat ini Python masih dikembangkan oleh Python Software
Foundation. Bahasa Python mendukung hampir semua sistem operasi, bahkan
untuk sistem operasi Linux, hampir semua distronya sudah menyertakan
Python di dalamnya. Dengan kode yang simpel dan mudah
diimplementasikan, seorang programmer dapat lebih mengutamakan
pengembangan aplikasi yang dibuat, bukan malah sibuk mencari syntax error.
Dengan adanya inheritance, itu akan memudahkan pekerjaan karena
inheritance sendiri adalah konsep pemrograman dimana sebuah class dapat
menurunkan property dan method yang dimilikinya kepada class lain dan
menghindari duplikasi program

1.2 Maksud dan Tujuan


a. Maksud
Modul ini membahas tentang inheritance yang merupakan warisan
atau turunan. Python memungkinkan untuk mengambangkan suatu class
berdasarkan lebih dari satu class yang sudah ada.
b. Tujuan
1. Mahasiswa mampu memahami konsep pembuatan class melalui
penurunan lebih dari satu class induk.
2. Mahasiswa mampu mengaplikasikan konsep tersebut tersebut melalui
python
BAB II
DASAR TEORI

2. Dasar Teori
2.1. Inheritance
Inheritance (Pewarisan) Inheritance atau Pewarisan/Penurunan adalah
konsep pemrograman dimana sebuah class dapat ‘menurunkan’ property dan
method yang dimilikinya kepada class lain. 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.

Definisi class berdasarkan lebih dari class induk pada python bisa dilakukan
dengan syntaksis berikut ini

class <nama class> [(class dasar 1,class dasar


2, ...)]:

[“teks untuk dokumentasi class ”]

<perintah-perintah Python>
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()

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.

Latihan 1

class Kendaraan(object):

def __init__(self, nama):

self.nama = nama

self.penumpang = []
def tambah_penumpang(self, nama_penumpang):

self.penumpang.append(nama_penumpang)

# membuat class Mobil yang merupakan turunan


Kendaraan

class Mobil(Kendaraan):

pintu_terbuka = False

def buka_pintu(self):

self.pintu_terbuka = True

def tutup_pintu(self):

self.pintu_terbuka = False

mobnas = Mobil("MobilSaya")

# mobnas akan memiliki properti dari Kendaraan

mobnas.tambah_penumpang("Lina")

print "Penumpang: " + str(mobnas.penumpang)

# dan memiliki properti Mobil

mobnas.buka_pintu()

print "Pintu terbuka: " + str(mobnas.pintu_terbuka)\

2.2. 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'.

Latihan 2
class AnggotaSekolah:

"representasi anggota sekolah"


def __init__(self, nama, umur):

self.nama = nama

self.umur = umur

print ('membuat anggota sekolah baru: %s' %


self.nama)

def info(self):

"cetak info"

print('Nama: %s, Umur: %s' % (self.nama,


self.umur))

# subclass

class Guru(AnggotaSekolah):

"representasi guru"

def __init__(self, nama, umur, gaji):

AnggotaSekolah.__init__(self, nama, umur)

self.gaji = gaji

print ('membuat guru: %s' % self.nama)

def info(self):

AnggotaSekolah.info(self)

print ('Gaji: %s' % self.gaji)

# subclass

class Siswa(AnggotaSekolah):

"representasi siswa"

def __init__(self, nama, umur, nilai):

AnggotaSekolah.__init__(self, nama, umur)


self.nilai = nilai

print ('membuat siswa: %s' % self.nama)

def info(self):

AnggotaSekolah.info(self)

print ('Nilai: %s' % self.nilai)

guru = Guru('Lina', 40, 3000000)

siswa = Siswa('yusril', 25, 75)

# cetak baris kosong

print

anggota = [guru, siswa]

for x in anggota:

x.info()
BAB III

IMPLEMENTASI

3.1 Tugas Praktikum


1. Membuat Class bangun datar, memiliki method untuk menghitung luas
dan keliling Membuat 4 subclass bangun datar(bebas),dengan memiliki
fungsi yang sama Tambahkan beberapa fungsi lain sesuai kebutuhan
2. Buatlah Class makhlukhidup dan 3 Sub Class turunannnya. Class Makhluk
Hidup Berisi kesamaan dari ke 3 Sub Classnya dan minimal 1 Methode
(terserah). 3 Sub Class berisi rincian dari masing masing Class tersebut
dengan methode menambah dan menampilkan rincian makhlukhidup.
3. Buatlah Kelas Lingkaran, dengan atribut jari-jari dan method
menampilkan jari2, menghitung luas permukaan (yaitu luas lingkaran
tersebut), dan keliling lingkaran. Buatlah kelas tabung (merupakan sub
kelas dari lingkaran), dengan atribut tambahan tinggi tabung dan method
luas permukaan(yaitu luas permukaan tabung).
4. buatlah kelas pecahan, dengan atribut pembilang dan penyebut dan method
menampilkan pecahan tersebut dengan menampilkan pecahan paling
sederhana
3.2 Jawaban Praktikum
1. a. Source Code
b. Run
2. a. Source code
b. Run
3. a. Source code

b. Run
4. a. Source code

b. Run
BAB IV
PENUTUP

4.1 Analisa
Inheritance (Pewarisan) Inheritance atau Pewarisan/Penurunan adalah
konsep pemrograman dimana sebuah class dapat ‘menurunkan’ property dan
method yang dimilikinya kepada class lain. Konsep inheritance digunakan
untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode
program

4.2 Kesimpulan
Inheritance adalah konsep pemrograman dimana sebuah class dapat
‘menurunkan’ property dan method yang dimilikinya kepada class lain.
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 dengan adanya inheritance kita
menghindari adanya duplikasi kode program serta mempermudah pekerjaan
kita karena kita hanya perlu memanggil kode yang dibutuhkan tanpa perlu
menulis ulang program.

Anda mungkin juga menyukai