• Selama di sisi kiri cmd Windows terdapat tanda lebih besar tiga kali (>>>), maka artinya kita
sedang berada di dalam python interpreter.
• Untuk keluar dari python interpreter, ketik perintah quit() atau exit()
Alternatif lain untuk menjalankan Python adalah dari menu Windows.
file python atau python script
• Menjalankan Python dari cmd dan Python Interpreter seperti ini
cocok untuk menjalankan kode Python yang singkat dan hanya terdiri
dari 1 baris.
• Untuk menulis kode program yang panjang, kita bisa menulis
sebuah file python atau python script
Membuat File Kode Program Python
• simpan file ini dimana saja, namun agar lebih rapi saya akan menyimpannya
di D:\belajar_python\ dengan nama file hello_world.py. (Folder yang sudah dibuat)
• Untuk menjalankan kode python, pilih menu Run -> Run Module, atau bisa juga
tekan tombol F5.
Alternatif Editor Python
• Yang paling terkenal adalah PyCharm. PyCharm adalah IDE khusus
Python tersedia dalam versi berbayar dan gratis.
• Anaconda, yang merupakan editor Python dengan tampilan web-
based.
• Notepad++, Atom atau VS Code. Namun perlu menginstall beberapa
plugin tambahan agar lebih nyaman mengetik kode-kode Python.
Struktur Kode Program Python
• Python termasuk bahasa pemrograman yang sangat minimalis, yang
tidak butuh membuat struktur program apapun.
• Python, tidak ada kerangka program khusus yg wajib digunakan,
seperti kode program C, C++, dan Java, yg masing2 memiliki fungsi
main().
• Tetapi para programmer, python biasanya menggunakan bentuk
berikut untuk menuliskan kode program:
Def main()
# statement
If __nameme__ == “__main__” : #modul utama
main() #memanggil fungsi main()
Contoh :
Statement Terminator
• bahasa Python juga tidak perlu tanda titik koma ( ; ) di akhir setiap
perintah sebagaimana yang sering ditemukan dalam bahasa
pemrograman lain.
• Python menggunakan karakter new line sebagai pemisah perintah
• Karakter newline ini tidak lain adalah penanda pindah baris yang kita buat
dengan cara menekan tombol Enter.
print("Hello World")
web="Duniailkom"
print("Sedang belajar bahasa Python di "+web)
print("Semangat!!")
• Toleransi (;)
print("Hello World");
web="Duniailkom";
print("Sedang belajar bahasa Python di "+web);
print("Semangat!!");
case sensitif
• artinya huruf besar dan kecil dianggap berbeda
• seperti penulisan variabel dan keyword.
Komentar
• Comment ini ibarat notes atau catatan yang biasa dipakai untuk
menulis maksud dari kode tersebut
• Comment tidak akan diproses oleh interpreter Python
• comment akan mempermudah programmer lain untuk memahami
maksud dari kode yang ditulis
• Untuk membuat comment di dalam Python, awali sebuah baris
dengan tanda hash atau tanda pagar ( # ), seperti contoh berikut:
# ini adalah baris komentar
# kode program dibawah akan menampilkan angka 0 sampai 4
for x in range(0, 5):
print (x) # komentar juga bisa ditulis disini
Penggunaan dan tampilan Variabel dalam Bahasa Python
• dalam bahasa Python, untuk menggunakan variabel, tidak perlu mendeklarasikan variabel
tersebut berdasarkan tipe data yg dibutuhkan.
• Dalam bahasa Python, variabel bisa langsung ditulis pada saat akan digunakan. Untuk memberi
nilai ke dalam sebuah variabel (operasi assignment), gunakan tanda sama dengan ( = ), seperti
contoh berikut:
website = “UHAMKA”
harga = 20000
sukses = True
Mengubah Nilai Variabel dalam Bahasa Python
• Sepanjang penulisan program, nilai dari sebuah variabel bisa ditimpa
dengan nilai lain. Berikut contohnya:
Dalam bahasa pemrograman dasar lain seperti Pascal, C dan C++, setiap variabel harus di
deklarasikan akan bertipe apa dan hanya bisa diisi dengan tipe data tersebut sepanjang
kode program (tidak bisa ditimpa antar tipe data).
Aturan Penamaan Variabel dalam Bahasa Python
• Variabel bisa terdiri dari huruf, angka dan karakter underscore / garis
bawah ( _ ).
• Karakter pertama dari variabel hanya boleh berupa huruf dan
underscore ( _ ), tidak bisa berupa angka. Namun variabel yang
diawali dengan karakter underscore bisa bermakna khusus di dalam
Python.
• Variabel harus selain dari keyword. Sebagai contoh, kita tidak bisa
memakai kata continue sebagai nama variabel,
karena continue merupakan keyword atau perintah khusus dalam
bahasa Python.
• aturan penamaan variabel merujuk ke aturan penamaan identifier
• Identifier adalah sebutan untuk “nama sesuatu” yang ditulis oleh
programmer. Dan aturan di atas tidak hanya berlaku untuk nama
variabel saja, tapi juga untuk nama function, nama class, nama object
yang semuanya termasuk identifier
Konstanta Dalam Bahasa Python?
• bahasa Python tidak mengenal adanya konstanta, yakni variabel yang
nilainya tidak bisa diubah sepanjang kode program.
• Untuk mengatasi hal ini, kesepakatan programmer Python adalah
dengan membuat nama variabel dalam huruf besar untuk
menandakan sebuah konstanta, seperti kode program berikut:
PI = 3.14
BULAN_1 = "Januari"
NAMA_WEBSITE = “UHAMKA"
Jenis-jenis Tipe Data dalam Bahasa Python
Untuk tipe data float, nilai maksimumnya sama seperti tipe data double dalam
bahasa C dan C++, yakni 1.7976931348623157e+308.
Penulisan Notasi Ilmiah (Scientific Notation)
• Untuk tipe data float, kita bisa menulisnya menggunakan notasi ilmiah atau dalam bahasa inggris
disebut sebagai scientific notation.
• Dalam matematika, notasi ilmiah harus dinyatakan dalam 1 angka di depan koma. Angka 125 jika
kita tulis dalam bentuk notasi ilmiah menjadi 1,25 x 102.
• Di dalam bahasa Python (dan sebagian besar bahasa pemrograman lain), pangkat 10 ini diganti
dengan huruf e atau E. Sebagai contoh 1,2 x 102 bisa ditulis sebagai 1.2e2 atau 1.2E2. Berikut
contoh penggunaannya:
Tipe Data Boolean
• Tipe data ini hanya bisa diisi dengan salah satu dari 2 nilai: True atau False.
• Penulisan yang salah TRUE, true, FALSE, false (case sensisitif)
• Contoh :
Tipe Data List
• tipe data List adalah sebuah array, yakni tipe data yang berisi
kumpulan tipe data lain.
• Namun berbeda seperti array dalam bahasa pemrograman
lain, List bisa diisi dengan berbagai jenis data, tidak harus tipe data
yang sama.
• sebenarnya tipe data array di Python terdiri dari 4 jenis,
yakni List, Tuple, Set dan Dictionary. Ke empat tipe data ini mirip satu
sama lain dengan sedikit perbedaan.
Tipe Data List
• gunakan tanda kurung siku, kemudian setiap anggota list dipisah
dengan tanda koma.
• Contoh :
1. foo = ["Belajar", "Python", Hasil kode program python:
"di", “UHAMKA”] 1. ['Belajar', 'Python', 'di',
2. bar = [100, 200, 300, 400] ‘UHAMKA']
3. baz = ["Python", 200, 6.99, 2. [100, 200, 300, 400]
True] 3. ['Python', 200, 6.99, True]
4.
5. print(foo)
6. print(bar)
7. print(baz)
Mengakses Tipe Data List
• gunakan penomoran index.
• Data pertama bernomor index 0, data kedua bernomor index 1, dst.
• Nomor index ini ditulis di dalam tanda kurung siku:
• Contoh :
1. foo = ["Python", 200, 6.99, Hasil kode program python:
True, ‘UHAMKA', 99j] 1. Python
2. 2. 200
3. print(foo[0]) 3. 6.99
4. print(foo[1]) 4. True
5. print(foo[2]) 5. UHAMKA
6. print(foo[3]) 6. 99j
7. print(foo[4])
8. print(foo[5])
Mengganti Nilai Tipe Data List
• Nilai yang ada di dalam List bisa diganti atau diupdate
• Caranya, isikan data baru ke dalam nomor index seperti contoh
berikut:
Tipe data dictionary ini cocok dipakai untuk kelompok data yang
kompleks (terdiri dari banyak element)
Pembuatan Tipe Data Dictionary
• menggunakan tanda kurung kurawal { dan }
• setiap element merupakan pasangan dari key dan value.
• satu element dengan element lain dipisah dengan tanda koma
• Contoh :
1. foo = { 1: "Belajar", 2: "Python", 3: "di Hasil :
UHAMKA" } 1. <class 'dict'>
2. bar = { "mengapa": "Belajar", "apa": 2. <class 'dict'>
"Python", "dimana": "di UHAMKA" } 3. <class 'dict'>
3. baz = { 1: "Belajar", "apa": "Python", 4.
"dimana": "di UHAMKA" } 5. {1: 'Belajar', 2: 'Python', 3: 'di UHAMKA'}
4. 6. {'mengapa': 'Belajar', 'apa': 'Python',
5. print(type(foo)) 'dimana': 'di UHAMKA'}
6. print(type(bar)) 7. {1: 'Belajar', 'apa': 'Python', 'dimana': 'di
7. print(type(baz)) UHAMKA'}
8.
9. print(foo)
10.print(bar)
11.print(baz)
Nilai atau value dari setiap element dictionary bisa terdiri dari
berbagai tipe data:
1. foo = { 1: "Belajar", Hasil :
2. 2: ["Pascal", "C", "Python"], { 1: 'Belajar',
3. "website": “UHAMKA", 2: ['Pascal', 'C', 'Python'],
4. "menyerah" : False, 'website': ‘UHAMKA',
5. "target": 2020, 'menyerah': False,
6. "riwayat_sekolah": { 'target': 2020,
7. "SD": "SDN 3 Hijau Daun", 'riwayat_sekolah': {'SD': 'SDN 3 Hijau
8. "SMP": "SMP 7 Hijau Lumut", Daun',
9. "SMA": "SMA 8 Hijau Rumput"} 'SMP': 'SMP 7 Hijau Lumut',
10. } 'SMA': 'SMA 8 Hijau Rumput'}
11. }
12.print(foo)
variabel foo diisi dengan 6 element dictionary dengan tipe data yang berbeda-
beda, mulai dari string, boolean, number, list, hingga dictionary lain
Mengakses Element Dictionary
• tulis key atau index yang ingin diakses dalam kurung siku:
• Contoh :
print(foo["website"])
Mengubah Element Dictionary
• mengisi nilai ke dalam key atau index dictionary: (mirip seperti tipe
data list)
• Contoh :
print(foo)
Dengan menggunakan perintah dict(), kita tidak lagi memakai tanda kurung kurawal, tapi cukup tanda
kurung biasa. Selain itu key element juga tidak perlu menggunakan tanda kutip, dan tanda sama dengan
‘=’ dipakai untuk menginput nilai ke dalam element dictionary.
Ini hanya alternatif penulisan, bebas menggunakan cara biasa dengan tanda kurung kurawal, atau
menggunakan constructor dict() untuk membuat tipe data dictionary.
Jenis-jenis Operator dalam Bahasa Python
• Operand dan Operator:
• Operand adalah nilai asal yang dipakai dalam sebuah proses operasi
• Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari
proses tersebut.
• Contoh: operasi: 10 + 2
• 10 dan 2 disebut sebagai operand
• Tanda tambah (+) adalah operator
Jenis-jenis Operator :
• Operator Aritmatika
• Operator Perbandingan / Relasional
• Operator Logika / Boolean
• Operator Bitwise
• Operator Assignment (Penugasan)
• Operator Identitas (Identity)
• Operator Keanggotaan (Membership)
Operator Aritmatika
Operator Penjelasan Contoh
+ Penambahan 20 + 6, hasil: 26
– Pengurangan 20 – 6, hasil: 14
* Perkalian 20 * 6, hasil: 120
/ Pembagian 20 / 6, hasil: 3.3333
(real/pecahan)
// Pembagian (dibulatkan 20 // 6, hasil: 3
ke bawah)
% Modulus (sisa hasil 20 % 6, hasil: 2
bagi)
** Pemangkatan 20 ** 6, hasil:
64000000
Contoh Kode Program
x = 20 Hasil :
y=6 x + y = 26
x - y = 14
print('x + y =',x+y) x * y = 120
print('x - y =',x-y) x / y = 3.3333333333333335
print('x * y =',x*y) x // y = 3
print('x / y =',x/y) x%y=2
print('x // y =',x//y) x ** y = 64000000
print('x % y =',x%y)
print('x ** y =',x**y)
Operator Perbandingan / Relasional
Operator Penjelasan Contoh Hasil
== Sama dengan 5 == 5 True
!= Tidak sama 5 != 5 False
dengan
> Lebih besar 5>6 False
< Lebih kecil 5<6 True
>= Lebih besar 5 >= 3 True
atau
sama dengan
<= Lebih kecil atau 5 <= 5 True
sama dengan
Contoh Kode Program Operator Perbandingan
1. x = 7 Hasil :
2. y = 10 x=7
3. y = 10
4. print('x =',x)
5. print('y =',y) x == y hasilnya False
6. print('\n') x != y hasilnya True
7. x > y hasilnya False
8. print('x == y hasilnya',x==y) x < y hasilnya True
9. print('x != y hasilnya',x!=y) x >= y hasilnya False
10.print('x > y hasilnya',x>y) x <= y hasilnya True
11.print('x < y hasilnya',x<y)
12.print('x >= y hasilnya',x>=y)
13.print('x <= y hasilnya',x<=y)
Operator Logika
Operator Penjelasan Contoh Hasil
and True jika kedua True and True True
operand bernilai
True
or True jika salah True or False True
satu operand
bernilai True
not True jika not False True
operand bernilai
False
Operator Bitwise
• Bitwise adalah operator khusus untuk menangani operasi logika bilangan biner dalam bentuk bit.
• Bilangan biner sendiri merupakan jenis bilangan yang hanya terdiri dari 2 jenis angka, yakni 0 dan
1.
• Jika nilai asal yang dipakai bukan bilangan biner, akan dikonversi secara otomatis oleh bahasa
Python menjadi bilangan biner. Misalnya 7 desimal = 0111 dalam bilangan biner.
•IF Statement
•IF - ELSE Statement
•IF - ELIF - ELSE Statement
IF Bersarang(Nested IF)
IF Statement
#input data
var_presiden = input("Presiden Pertama Indonesia : ")
#Statement IF
if (var_presiden == "Soekarno") : print("Jawaban Anda Benar")
Hasil :
•Perulangan FOR
•Perulangan WHILE
•Perulangan Bersarang
Pernyataan Kontrol
Indentasi
• Penulisan teks yan menjorok ke kanan
• Peranan penting dalam penulisan pada Python
• Sebagai blok kode pada pernyataan if, while, da for
• Contoh :
If x > y :
print(“1”)
print(“2”) akan dieksekusi bergantung pada kondisi if
print(“3”)
Print (“4”) selalu dijalankan dan tidak tergantung pada kondisi if
• Tidak ada aturan pasti yang menentukan jumlah karakter spasi yang
digunakan, tapi umumnya digunakan 4 spasi oleh pemrogram.
Struktur IF
• Sebagai pengambilan keputusan dalam Python
•
Pernyataan if sederhana
• Format :
If kodisi:
pernyataan_pernyataan akan dijalankan hanya kalau
kondisi bernilai benar (True).
Contoh : #memperoleh bilangan terbesar dari dua Hasil :
bilangan
Bilangan terbesar : 100
X=5
Y = 100
Terbesar = x
If terbesar < y:
terbesar = y
Print (“bilangan terbesar : “, terbesar)
If…Else
• Format :
If kodisi_1:
pernyataan_pernyataan_1
Else:
pernyataan_pernyataan_2]
• Contoh : #memperoleh bilangan terbesar dari dua Hasil :
bilangan
Bilangan terbesar : 100
X=5
Y = 100
If x < y:
terbesar = y
Else:
terbesar = x
Print (“bilangan terbesar : “, terbesar)
If…Else - next
# penentuan kelulusan Hasil :
Nilai Ujian (0-100) : 79
Nilai = input(“nilai uujian (0-100) : “) Lulus
Nillai = int((nilai)
68 <= Nilai < 80 B Nilai = input (“Nilai Ujian {0-100) :”) Nilai = input (“Nilai Ujian {0-100) :”)
56 <= Nilai < 68 C Nilai = int(nilai) Nilai = int(nilai)
45 <= Nilai < 56 D
If nilai >= 80: If nilai >= 80:
Nilai < 45 E print(“A”) print(“A”)
Elif nilai >= 68: Elif nilai 68 <= nilai < 90:
print(“B”) print(“B”)
Elif nilai >= 56: Elif nilai 56 <= nilai < 68:
print(“C”) print(“C”)
Elif nilai >= 45: Elif nilai 45 <= nilai < 56:
print(“D”) print(“D”)
Else: Else:
print(“E”) print(“E”)
Hasil :
Nilai Ujian (0-100) : 65
C
Struktur FOR
• Berguna untuk meakukan penguangan suatu proses yang didasarkan
pada nila elemen-elemen list.
• Format :
For variable in list:
pernyataan_pernyataan_1
[else:
pernyataan_pernyataan_2
Contoh :
• String adalah semacam list
• Strukur FOR, bisa digunakan untuk mengambil karakter karakter yg
meyusun string tersebut.
• Contoh:
Struktur WHILE
• Struktur yang menangani pengulangan terhadap suatu proses
• Format :
While koondisi:
pernyataan_pernyataan_1
[ else:
Pernyataan_pernyataan_2 ]
• pernyataan_pernyataan_1 akan dijalankan terus menerus
sepanjang kondisi bernilai benar
• Pernyataan_pernyataan_2 akan dijalankan terakhir kali tepat
sebelum while berkhir.
Contoh :
Contoh WHILE - next
Run :
Abadi selamanya
Abadi selamanya
Abadi selamanya
…
Pernyataan Break
• Berfungsi untuk mengakhiri pengulangan pada pernyataa FOR dan
WHILE.
• Mengakibatkan bagian ELSE (Jika ada) tidak dijalankan.
• Contoh :
Pernyataan Continue
• Berguna untuk mengabaikan sisa pernyataan dalam blok kode pada suatu pernyataan pegulangan
dan eksekusi dilakukan untuk elemen berikutnya pada FOR atau kembali ke pengujian kondisi
untuk WHILE.
• Contoh :
Pernyataan Pass
• Pernyataan ini “tidak melakukan apa-apa”
• Diberikan pada pernyataan yg mengharuskan keberadaan suatu
pernyataan, padahal tidak memerlukannya.
• Contoh :
Pemrograman Berorientasi Objek
Konsep Dasar Pemrograman Berorientasi Objek pada Python
• Phyton adalah Bahasa yang mendukung beberapa paradigm
pemrograman :
• Dengan procedural (terstruktur)
• Dengan OOP (Object-Oriented Programming)
• Dengan fungsional
• Dalam OOP, suatu kelas dapat dibuat atau diturunkan dari kelas yang sudah ada
sebelumnya.
• Pewarisan (inheritance) adalah proses pembuatan kelas baru yan sifat-sifatnya akan
mengikuti atau mewarisi sifat-sifat dari kelas induknya
• Kelas baru diizinkan untuk mendefnisikan sifat-sifat tambahan (yang
sebelumnya tidak dimiliki oleh kelas induknya)
• Contoh : kelas manusia dapat diturunkan menjadi kelas-kelas baru yang sifatnya
bisa lebih spesifik lagi, misalnya: guru, programmer penulis, pengusaha, artis, dll.
Bahasa Istilah induk dan anak
pemrograman
C++ Base class dan derived class
Java Superclass dan subclass
delphi Ancestor class dan descendant class
Python Superclass dan subclass
Polimorfisme (polymorphism)
NamaObjek.NamaAtribut
Atau
NamaObjek.NamaMetode(param1, param2, ..)
Contoh program
Hasil Program kelas (2 objek dg nilai atribut yg berbeda) hasil juga
berbeda:
Objek kotak1
Panjang : 6
Lebar : 4
Tinggi : 3
Volume = 72
Objek kotak2
Panjang : 5
Lebar : 3
Tinggi : 2
Volume = 30
Mendefiniskan Metode
• Metode adalah fungsi yang didefinisikan di dalam kelas.
• Metode adalah aksi yang dapat diakukan oleh suatu objek.
• Selama suatu aksi masih bisa dilakukan oleh objek, maka dapat
dijadikan aksi tersebut sebagai metode
Contoh Program
Melakukan Overload terhadap Konstruktor
• Method Overloading adalah sebuah kemampuan yang membolehkan
sebuah class mempunyai 2 atau lebih method dengan nama yang
sama, yang membedakan adalah parameternya.
• Python tidak mendukung proses
Overload
• Python Buat trik untuk spt layaknya
Proses Overload
CONTOH overload-
Python
Trik :
• Menjadikan semua parameter sebagai parameter default.
• Dengan menjadikan parameter p, l, t sebagai parameter default
• Maka konstruktor dari kelas kotak dapat dipanggil dengan cara
berbeda
• # membuat objek pertama dengan konstruktor tanpa parameter
kotak1 = Kotak()
• # membuat objek kedua dengan konstruktor berparameter
kotak2 = Kotak(6, 5, 4)
Mendefinisikan Destruktor
• Destruktor adalah adalah method khusus yang dijalankan secara otomatis oleh
python interpreter pada saat sebuah objek dihapus.
• Meskipun Python memiliki fasilitas Garbage Collector (GC) yg secara otomatis
akan membuang objek-ojek sampah dari meori. Tapi masih bisa diizinkan
mendefnisikan destructor di dalam suatu kelas.
• Keterbatasan GC pada python adalah :
• Tidak bisa menutup file yg diakses, sebelum objek kelas tersebut akan dihapus dari
memori
• Tidak bisa menutup objek koneksi ke database di dalam konstruktor kelas.
• Keterbetasan GC tersebut bisa diatasi dengan Destruktor.
• Dalam Python Destruktor diimplementasika dengan metode __del__()
• Metode ini ditempatkan sebagai finalisasi dari suatu proses, misal :
Class MyFile(object)
def __int__(self, NamaFile): Contoh destruktcor
Uji cara kerja
destruktor # proses akses (buka) file
def __del__(self): Contoh destructor tutup file
# proses tutup file
Data Statis
• Atribut dari suatu kelas pada Python :
• Variabel Kelas (class variable)
• Atribut yang nilainya digunakan bersama-sama oleh semua objek dari kelas
bersangkutan
• Variabel yang didefinisikan di dalam kelas, tapi diluar metode
• Pada C++ dan Java diseut data statis
• Variabel objek (instance variable)
• Atribut yg dimiiki oleh setiap objek, dan didefinisikan di dalam metode.
• Nilai dari variabel objek akan berbeda-beda untuk masing-masing objek.
CONTOH
Hasil :
Keterangan :
Catatan :
1. Metode panggil sebagai metode statis (tanpa self krn metode ini harus bisa dipanggil
tanpa objek)
2. Direkomendasikan mengguunakan cara pertama
Bentuk umum dalam memanggil metode statis:
NamaKelas.NamaMetode(param1, param2, …)
Contoh :
DemoStatis.panggil()
Metode Statis-2
Metode Kelas
• Metode kelas akan menerima kelas sebagai parameter pertama, yaitu cls (class)
• Dua cara mendefinisikan metode kelas:
• Menggunakan decorator @classmethod Metode kelas dapat dipanggil
Contoh: 1. langusng dari kelasnya:
Class DemoMetodeKelas(object): Contoh :
# medefinisikan metode kelas DemoMetodeKelas.panggil()
@classmethod
Def panggil(cls): # self diganti cls: 2. melalui objek:
print(“Metode kelas dipanggil …”) Contoh :
obj = DemoMetodeKelas()
• Menggunakan fungsi classmethod() #memanggil metode kelas melalui objek
obj.panggil()
Contoh :
Class DemoMetodeKelas(object):
# medefinisikan metode kelas
@classmethod
Def panggil(cls): # self diganti cls:
print(“Metode kelas dipanggil …”)
# menggunakan funsi classmethod()
Panggil = classmethod(panggil)
Program pendefinisian dan penggunaan
metode kelas Metode kelas
contoh
Pewarisan
• Dalam pembuatan suatu program :
perlu menghindari duplikasi kode
tidak meletakkan kode-kode yang sama pada tempat yg berbeda
• Untuk itu dibutuhkan proses pewarisan (inheritance)
• Pada Python :
• Dapat dilakukan pendefinisian kelas baru yang merupakan turunan dari kela
lain, yg bertujuan untuk menambahkan sifat-sifat yang baru yg tidak dimiliki
oleh kelas induknya.
• Bentuk umum :
Class NamaSubclass(NamaSuperclass):
# isi kelas
CONTOH
Fungsi super()
Dari sebelumnya, masih terdapat adanya duplikasi kode pada definisi
kelas Kotak dan KotakWarna terlihat ketika mendefinisikan metode
__init__() dan cetakData() di dalam kelas kotakWarna
• Adalah proses pendefinisian kelas baru yang diturunkan dari dua kelas
induk atau lebih dari
• Bahasa C++ dan Python mendukung fitur ini
• Java tidak mendukung fitur ini
CONTOH
• Bentuk umum dalam Python :
class NamaSubclass(NamaSuperClass1, NamaSuperClass2, …):
• Catatan :
• Kelas Anak yang merupakan turunan dari kelas Induk1 dan Induk2 kelas
akan memiliki atribut a,b,c serta metode cetakA(), cetakB(), dan cetakC()
• kelas anak akan mewarisi sifat (metode dan atribut) yg dimilki oleh kelas-
kelas indukya.
Fungsi isinstance() dan issubclass()
• Ketika melakukan instansiasi kela, objek yg terbentuk akan bertipe
kelas itu sendiri.
• Untuk memeriksa keanggotaan dari objek ybs, dapat menggunakan
fungsi isintance(), dengan bentuk umum sbb:
Isintance(objek, NamaKelas)
Akan mengembalikan true jika objek yg diperiksa
merupakan wujud nyata atau turunan dari kelas yg
disertakan
Contoh :
Fungsi issubclass()
• Fungsi untuk memeriksa apakah suatu kelas merupakan turunan dari
kelas tertentu
• Bentuk umum:
Issubclass(NamaKelasTurunan, NamaKelasInduk)
Contoh :
Metode Abstrak dan Kelas Anak
• Metode dimana kelas abstrak sebagai kelas yg tidak dapat
diinstansiasi (tidak diizinkan untuk mebua objek dari kelas tsb.)
• Ciri dari kelas abstrak adalah memiliki satu atau lebih metode abstrak
di dalamnya.
• Metode abstrak adalah metode g sama sekalai tidak memiliki
implementai kode.
• Implementasi kode baru akan dilakukan di kelas-kelas turunannya.
• Dalam kelas abstrak, juga bisa mendefinisikan metode non-abstrak
Cara mendefinisikan kelas abstrak pada Python:
Class namaKelasAbstrak(object):
# metode abstrak
def NamaMetodeAbstrak(self, param1, param2, …)
pass
Atau :
Class namaKelasAbstrak(object):
# metode abstrak
def NamaMetodeAbstrak(self, param1, param2, …)
raise NotImplementedError
Contoh:
>>> class Abstrak(object):
def MetodeAbstrak(sef):
raise NoImplementedError
Catatan :
Pada kelas Abstrak di atas, dapat dilakukan Instansiasi. Contoh: a
adalah objek (instance) dari kelas Abstrak
Program penggunaan metode dan kelas Abstrak :
ABSTRAK
Obj.cetakData()
objcetakVolume()
• Menggunakan cara yang sama, tapi hasil yang diberikan berbeda
• Metode cetakData() dan cetakVolume() yang dipanggil akan tergantung dari
objek mana yang sedang ditunjuk oleh OBJ.