Evolusi pemrograman telah beralih dari pengeksekusian instruksi langkah-demi-langkah menuju kepada pendekatan blok program yang lebih terorganisir, di mana blok kode tersebut dapat dibungkus menjadi subrutin dan fungsi yang telah ditetapkan. Pemrograman terstruktur atau prosedural memungkinkan kita mengatur program ke dalam blok logis, dapat diulang-ulang atau digunakan kembali. Pemrograman berorientasi objek mengambil langkah evolusi ini dengan meningkatkan program terstruktur untuk memungkinkan hubungan data dan logika digambarkan oleh satu abstraksi yang digunakan untuk menciptakan objek-objek tersebut. Object Oriented Programming (OOP) adalah sebuah pendekatan pemrograman di mana objek didefinisikan dengan metode (fungsi,action, atau events) dan sifat (nilai serta karakteristik), sehingga mudah dibaca, lebih banyak kode dapat digunakan kembali. Python merupakan salah satu bahasa pemrograman berorientasi objek. Objek adalah sesuatu yang menampung nilai/datadan dapat kita kenakan operasi tertentu.
• Class (Kelas) adalah struktur data yang bisa kita gunakan untuk mendefinisikan objek yang menyimpan data bersama-sama nilai-nilai dan perilaku (behavior). Kelas adalah suatu entitas yang merupakan bentuk program dari suatu abstraksi untuk permasalahan dunia nyata, dan instans dari class merupkan realisasi dari beberapa objek.
Bentuk Umum :
class (nama_kelas) :
(statement)
(statement)
• Inheritance (pewarisan) merupakan konsep dalam pemrograman berbasis objek yang memungkinkan untuk membuat suatu kelas dengan didasarkan pada kelas yang sudah ada sehingga mewarisi semua method dan atributnya. Dengan cara seperti ini, semua method dan atribut yang terdapat pada kelas induk diturunkan ke kelas turunannya. Namun kelas turunannya dapat menambah method baru atau atribut baru tersendiri.
Bentuk Umum :
class (nama_kelas_turunan):
(nama_kelas_induk):
(atribut-atribut)
(method-method)
• Method constructor merupakan sebuah method yang akan otomatis dipanggil ketika objek di instantiasi. Constructor umumnya digunakan untuk melakukan inisialisasi terhadap suatu variabel atau method.
Bentuk Umum :
class (nama_kelas):
def __init__(self, argumen-argumen):
(statement)
(statement)
Contoh Program:
class Pegawai:
def __init__(self, nama, gaji = 0):
self.nama = nama
self.gaji = gaji
def tunjangan(self, persen):
self.gaji = self.gaji + (self.gaji * persen)
def kerja(self):
print(self.nama, "Pekerjaannya")
def __repr__(self):
return "
class Koki(Pegawai):
def __init__(self,nama):
Pegawai.__init__(self,nama,100000)
def kerja(self):
print(self.nama, "Membuat Makanan")
class Pelayan(Pegawai):
def __init__(self,nama):
Pegawai.__init__(self,nama, 50000)
def kerja(self):
print(self.nama, "Melayani Costumer")
class PizzaRobot(Koki):
def __init__(self, nama):
Koki.__init__(self, nama)
def kerja(self):
print(self.nama, "Membuat Pizza")
if __name__ == "__main__":
agus = PizzaRobot("Agus")
print(agus)
agus.kerja()
agus.tunjangan(0.20)
print(agus)
print
for kelas in Pegawai, Koki, Pelayan, PizzaRobot:
objek = kelas(kelas.__name__)
objek.kerja()
Object Oriented Programming Python
Contoh Program Fungsi pada Python
#Mencetak Menu
def menu():
print "Menu Pilihan"
print
print "1. Persegi Panjang"
print "2. Lingkaran"
print "3. Segitiga"
print "4. Keluar"
def persegi():
print "Menghitung Luas Persegi Panjang"
p = input("Masukkan Panjang : ")
l = input("Masukkan Lebar : ")
luas = p*l
print "Luas Persegi Panjang adalah ",luas
print
print "Mau coba lagi [Y/N]? "
back = raw_input().upper()
if back == "Y":
menu()
else:
exit()
def lingkaran():
print "Menghitung Luas Lingkaran"
r = input("Masukkan Jari-Jari : ")
luas = 3.14*(r**2)
print "Luas Lingkaran adalah ",luas
print
print "Mau coba lagi [Y/N]? "
back = raw_input().upper()
if back == "Y":
menu()
else:
exit()
def segitiga():
print "Menghitung Luas Segitiga"
a = input("Masukkan Alas : ")
t = input("Masukkan Tinggi : ")
luas = (a*t)/2
print "Luas Segitiga adalah ",luas
print
print "Mau coba lagi [Y/N]? "
back = raw_input().upper()
if back == "Y":
menu()
else:
exit()
#Program Menghitung Luas
print "Selamat Datang di Program Untuk Menghitung Luas"
print "-----------------------------------------------"
print
menu()
while l:
#input
pilih = input("Masukkan pilihan : ")
if pilih == 1:
persegi()
elif pilih == 2:
lingkaran()
elif pilih == 3:
segitiga()
elif pilih == 4:
print "\n"*100
break
else:
print "Maaf pilihan yang anda masukkan tidak terdaftar"
print "Coba lagi [Y/N] ? "
coba = raw_input().upper()
if coba == "Y":
menu()
else:
print "\n"*100
break
Output Program:
Percabangan dan Perulangan pada Python
Percabangan
Percabangan adalah suatu keadaan dimana pernyataan dapat di eksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut. Pada Python untuk melakukan suatu pengecekan kondisi, terdapat tiga macam statemen. Antara lain :
• Perintah If
Statemen if digunakan untuk melakukan penyeleksian dimana jika kondisi bernilai benar maka progam akan mengeksekusi statemen dibawahnya.
Bentuk Umum :
if (kondisi) :
Statement
• Perintah If-Else
Statemen if – else digunakan untuk melakukan penyeleksian kondisi dimana jika kondisi bernilai benar maka program akan mengeksekusi statemen 1. Namun, jika nilai kondisi bernilai salah maka statemen 2 yang akan dieksekusi.
Bentuk Umum :
if ( kondisi ) :
statement 1
else :
statement 2
• Perintah If-Elif-Else
Statemen if - elif– else digunakan untuk melakukan penyeleksian kondisi dimana kondisi yang diberikan lebih dari 1 kondisi atau memiliki beberapa kondisi. Jika kondisi pertama bernilai benar maka lakukan seleksi kondisi ke-dua dan seterusnya.
Bentuk Umum :
if ( kondisi 1 ) :
statement 1
elif ( kondisi 2 ) :
statement 2
else:
statement 3
• Perintah If Bersarang
Kondisi bersarang adalah suatu kondisi di dalam kondisi tertentu, Jika terdapat 2 cabang kondisi maka di dalam salah satu cabang kondisi tersebut dapat pula di isi suatu kondisi tertentu.
Perulangan
Perulangan atau Loop adalah suatu bentuk kegiatan mengulang pengeksekusian suatu statement hingga berkali-kali sampai batas yang di inginkan. Perulangan pada Python antara lain:
• For
Perintah for dalam python mempunyai ciri khas tersendiri dibandingkan dengan bahasa pemrograman lain. Dalam python, statemen for bekerja mengulang berbagai macam tipe data sekuensial, misal seperti List.
Bentuk Umum :
for (variabel) in (objek) :
statement
else:
statement
Contoh Program:
x = input ('Masukkan Inputan : ')
for i in range(0, x):
print
for j in range(i,x):
print'*',
• While
Perintah While digunakan untuk mengulang eksekusi statemen dalam blok while selama nilai kondisinya benar. Dan ia akan keluar atau tidak melakukan eksekusi blok statemen jika nilai kondisinya salah.
Bentuk Umum :
while (kondisi) :
Statement
Contoh Program:
a="Gunadarma"
b=8
while a:
while b:
print a[b:9]
b=b-1
print a, ' '
a=a[1:]
Perintah Break
Perintah break digunakan untuk menghentikan jalannya proses iterasi pada statemen for atau while. Statemen yang berada di bawah break tidak akan di eksekusi dan program akan keluar dari proses looping.
Perintah Continue
Statemen continue menyebabkan alur program kembali ke perintah looping. Jadi jika dalam sebuah perulangan terdapat statemen continue, maka program akan kembali ke perintah looping untuk iterasi selanjutnya.
Perintah Pass
Statemen pass mengakibatkan program tidak melakukan tindakan apa-apa. Perintah pass biasanya digunakan untuk mengabaikan suatu blok statemen perulangan, pengkondisian, class, dan fungsi yang belum didefinisikan badan programnya agar tidak terjadi error ketika proses compilasi.

