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.
Pengenalan Bahasa Pemrograman Python
Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis objek. Python dapat digunakan untuk berbagai keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai platform sistem operasi. Seperti halnya bahasa pemrograman dinamis, python seringkali digunakan sebagai bahasa skrip dengan interpreter yang teintergrasi dalam sistem operasi Python memungkinkan Anda bekerja lebih cepat dan mengintegrasikan sistem Anda lebih efektif. Saat ini skrip python dapat dijalankan pada sistem berbasis :
* Windows
* Linux / Unix
* Mac OS X
* OS/2
* Amiga
Python dikembangkan oleh Guido Van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalh 1.2. Tahun 1995, Van Rossum pindah ke CNRI dan versi terakhir yang dikeluarkan adalah versi 1.6. Tahun 2000, Python versi 2.0 dikeluarkan oleh BeOpen. Saat ini pengembangan Python terus dilakukan oleh sekumpulan programer yang dikoordinir oleh Guido da Python Software Foundation. Saat ini distribusi Python sudah mencapa versi 2.6.1 dan versi 3.0. nama Python dipilih Guido sebagai nama bahasa ciptaannya karena kecintaan Guido pada acara televisi ”Monty Python’s Flying Circus”.
Tipe data yang terdapat pada Python, antara lain:
* Number
Tipe data Number merepresentasikan nilai-nilai berupa angka. Python menggolongkan beberapa tipe data umum seperti, Integer (bilangan bulat) dan Floating-point (bilangan desimal) ke dalam tipe data Number. Nilai dapat di masukkan kedalam beberapa variabel secara simultan.
* String
Selain angka, python juga mampu melakukan manipulasi string, yang dapat di ekspresikan dengan beberapa cara. Penulisan nilai string pada python menggunakan tanda petik satu
( ' ) atau tanda petik dua ( “ ).
* List
List sering disebut juga array pada bahasa pemrograman lain. List adalah jenis data campuran yang bisa memiliki komponen penyusun yang berbeda-beda. Sebuah list dapat dibuat dengan menggunakan tanda kurung siku [ ]. Anggota list didaftar dalam kurung siku tersebut dan masing-masing dipisahkan oleh tanda koma.
* Dictionary
Berbeda dengan list, dictionary memakai key untuk merujuk pada isi variabelnya. Sifat kedua jenis data ini hanya berbeda dalam beberapa hal saja. Untuk mendeklarasikan sebuah dictionary, Python memakai tanda { }.
Variabel
Variabel merupakan simbol yang mewakili nilai tertentu. Pembuatan variabel dalam python sangat sederhana. Berikut adalah ketentuan mengenai variabel dalam pyton,
* Variabel tidak perlu dideklarasikan mempunyai tipe data tertentu
* Penulisan variabel harus diawali dengan huruf, dan untuk karakter selanjutnya bisa berupa huruf atau angka
* Penulisan variabel tidak boleh dipisah oleh spasi( ) tetapi dengan inderscore ( _ )
Operator pada Python
Operator matematik berfungsi dengan normal di Python seperti dalam bahasa pemrograman yang lain. Ada beberapa catatan yang harus diperhatikan.
* Operasi pengisian beberapa variabel dengan nilai yang sama dapat dilakukan sekali jalan.
* Tanda ( ) dipakai untuk mengelompokkan operasi yang harus dilakukan terlebih dahulu.
* Pembagian bilangan integer dengan bilangan integer akan dibulatkan ke bawah.