Pertemuan4 Konsep Object Oriented Programming pada Python

dokumen-dokumen yang mirip
Pertemuan2 Percabangan & Perulangan pada Python

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pertemuan 11 Object Oriented Program

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

AP2B Dini Triasanti STRUKTUR PEMROGRAMAN PYTHON

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

PRAKTIKUM I Class dan Obyek

Mengenal Object Oriented Programming (OOP)

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Inheritance (Pewarisan) Pengertian dasar inheritance

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

PEMROGRAMAN BERORIENTASI OBJEK

Konsep Pemrograman Berbasis Obyek

Michael Lionardi

PRAKTIKUM OBJECT ORIENTED PROGRAMING

MODUL 1 PENGENALAN ENVIROMENT C++

Pertemuan3 Fungsi pada Python

STRUKTUR PEMROGRAMAN PYTHON

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

STRUKTUR DENGAN ARRAY DAN FUNCTION

PEMROGRAMAN BERORIENTASI OBJEK

SUMBER BELAJAR PENUNJANG PLPG

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

APLIKASI PERHITUNGAN GAJI PEGAWAI DENGAN JAVA Disusun untuk memenuhi tugas matakuliah Pemrograman JavaIII

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Dasar Pemrograman Java

Object Oriented Programming 1

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Pemrograman Berorientasi Obyek. Ramos Somya

Inheritance dan Kata Kunci static

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

Citra Noviyasari, S.Si, MT SI - UNIKOM

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Praktikum 3 Konsep Class, Attribute dan Method

Modul II Object Oriented Programming

KASUS INHERITANCE. (Window, Multithreading dan Applet)

Object Oriented Programming LOGO

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PEMROGRAMAN PHP DASAR

Pemrograman Lanjut Review Class dan Object PTIIK

MINGGU V : PBO (PEWARISAN)

Konsep Pemrograman Berorientasi Obyek

2 Class dan Object (1)

PEMBUATAN APLIKASI PERHITUNGAN TRANSAKSI DENGAN JAVA

Daftar Isi. Daftar Isi... ii MODUL 1 PENGENALAN OOP Pengantar Class Atribut Method This Access Modifier...

Pemrograman Berorientasi. Abstract & Interface

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Pemrograman Berbasis Objek (Polimorfisme)

VISUAL BASIC Pengenalan VB NET

BAHASA PEMROGRAMAN. Untuk SMK. Kadarisman Tejo Yuwono Totok Sukardiyono Adi Dewanto. : Ratu Amilia Avianti. Perancang Kulit

BAB I Pengenalan Microsoft Visual Basic 6.0

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

2. Software yang dibutuhkan Untuk membuat sebuah program java, minimal yang dibutuhkan adalah:

MODUL 2 Constructor. Tujuan: Mahasiswa dapat mengenal dan memahami konsep constructor dan overloading constructor

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

IKG2I4 / Software Project I

PERANCANGAN BERORIENTASI OBJEK

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

Bahasa Pemrograman 2.

Oleh: Edo Yonatan Koentjoro, S. Kom. Ada orang lagi ngakses, yang tersesat di dalam goa Ini kunci menuju sukses, dengan belajar dan berdoa -EdTan-

MODUL PRAKTIKUM I PEMOGRAMAN BERORIENTASI OBJEK DENGAN PHP

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Modul 8. Pokok Bahasan: Class dan Object Field Metode Properti Deklarasi Objek dan Instantiasi Objek Constructor Event Inheritance

PENGENALAN JAVA (2)

MODUL 1 PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK(PBO) KELAS DAN OBJEK. TGL PRAKTIKUM : 24 September 2012 :ACHMAD FAJAR NORULLAH NRP :

1. ARRAY, RECORD DAN OBJECT ORIENTED PROGRAMMING (OOP)

Pemrograman Berorientasi Obyek. Konsep OOP

BAB VII. CLASS DAN OBJECT

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman I VB.Net. Oleh: Erik Perdana Ibrahim, S.Kom 2011

BAB II LANDASAN TEORI

MINGGU VII : RELASI ANTAR KELAS

Bab 2 Array, Record dan Object Oriented Programming (OOP) 3 BAB 2 TUJUAN PRAKTIKUM

MODUL 1 PENGENALAN OOP

Pemrograman Berorientasi. Class dan Obyek 2

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Fakultas Teknologi Informasi UJIAN AKHIR SEMESTER GENAP TAHUN AJARAN 2011/2013

MODUL 5 PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (I)

Algoritma Pemrograman 1

Algoritma Pemrograman 2C

Pengenalan Bahasa C++, Algoritma Pemrograman, Integrated Development Equipment (IDE) Visual C++ dan Dasar Dasar Bahasa C++

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

Transkripsi:

Pertemuan4 Konsep Object Oriented Programming pada Python Objektif: 1. Mahasiswa dapat mengetahui dan memahami konsep OOP 2. Mahasiswa dapat memahami konsep kelas dan method 3. Mahasiswa dapat membuat program sederhana dengan menggunakan konsep OOP Pertemuan4 59

P4.1 Teori Pendahuluan Python adalah bahasa pemrograman komputer berorientasi objek, yang berarti bahasa Python ini menyediakan fitur fitur yang mendukung pemrograman berorientasi objek. Beberapa karakteristik pemrograman berorientasi objek : a. Program program dibuat dari pendefinisian objek objek dan fungsi fungsi, dan kebanyakan perhitungan komputasi diekspresikan kedalam operasi pada objek. b. Masing masing pendefinisian objek merujuk ke beberapa objek atau konsep yang sebenarnya pada dunia nyata, dan fungsi fungsi pada objek dianalogikan sebagai interaksi pada objek Perkembangan 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 data / perilaku hubungan: Data dan logika sekarang digambarkan oleh satu abstraksi yang digunakan untuk menciptakan objekobjek tersebut. Kelas menyediakan pendefinisian dari setiap objek, dan objek merupakan perwujudan dari pendefinisian tersebut. Keduanya (kelas dan objek) adalah dua komponen yang vital dalam Object-Oriented Perogramming. Salah satu alasan yang paling penting untuk mempertimbangkan bekerja di OOP adalah bahwa ia menyediakan pendekatan pemodelan langsung dan memecahkan masalah di dunia nyata. Sebagai contoh, mari kita ambil permasalahan toko montir mobil di mana Anda akan mengambil mobil Anda untuk diperbaiki. Ada dua entitas umum yang harus diciptakan: manusia yang berinteraksi dengan dan dalam suatu "sistem", dan lokasi fisik untuk kegiatankegiatan yang mendefinisikan sebuah toko montir. Karena terdapat lebih banyak dan berbagai jenis yang pertama, kami akan menjelaskan terlebih dahulu, kemudian menyimpulkan dengan yang kedua. Sebuah kelas disebut Person akan dibuat untuk mewakili semua manusia yang terlibat dalam kegiatan tersebut. Person akan mencakup Pelanggan, Mekanik, dan Kasir. Masing-masing objek tersebut memiliki perilaku (behavior) serupa yang unik. Contohnya, semua objek memiliki method talk() dan drive_car() sebagai behavior untuk berbicara dan Konsep Object Oriented Programming pada Python 60

kemampuan berkendara. Untuk objek Mekanik, ia memiliki behavior repair_car(), objek Kasir memiliki behavior pay() dan cash_back(). Untuk kelas Person akan memiliki atribut drive_licence, dan untuk objek Mekanik memiliki tambahan atribut yaitu repair_certification. Kelas 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. Jika dianalogikan, kelas itu merupakan blueprint ( cetak biru ) dari sebuah objek (instans). Dalam Python, pendeklarasian class punya kesamaan seperti mendeklarasikan sebuah fungsi. Berikut adalah bentuk umum pendeklarasian sebuah kelas, class <nama_kelas> : <statemen> <statemen> Pendeklarasian kelas di awali dengan kata kunci class kemudian diikuti dengan nama kelasnya. Statemen-statemen dalam tubuh kelas dapat berupa atribut kelas dan method. Kelas umumnya di definisikan pada level teratas dari sebuah modul, dengan begitu objek dari kelas dapat di dibuat dimanapun dalam source code dimana kelas tersebut didefinisikan. Coba jalankan program dibawah ini : >>> class Cetak :... def cetak_sesuatu (self, string):... print Anda mencetak, string Atribut Kelas Atribut merupakan data atau bisa juga berupa fungsi-fungsi yang dimiliki oleh kelas tersebut. Atribut diakses melalui notasi bertitik. Atribut-atribut kelas terikat hanya untuk kelas-kelas dimana atribut tersebut didefinisikan. Atribut-atribut data merupakan veriabelvariabel yang kita deklarasikan. Variabel-variabel tersebut dapat digunakan seperti variabel lainnya dan dapat di ubah-ubah nilainya oleh method didalam kelas ataupun di dalam program utama. Konsep Object Oriented Programming pada Python 61

Method Contoh penggunaan Atribut Kelas: >>> class X:... bil = 100... >>> print X.bil 100 >>> X.bil = X.bil + 10 >>> print X.bil 110 Method merupakan fungsi yang melekat pada sebuah objek atau instan kelas. Contoh berikut menunjukkan penggunaan method dalam kelas. #Badan Class class TestMethod: def perkalian(self,a,b): c = a * b return c #program Utama objek = TestMethod() #instansiasi objek print(objek.perkalian(50,2)) Method Constructor 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 Method constructor adalah sebagai berikut, class <nama_kelas>: def init (self, <argumen-argumen>): <statemen> <statemen> Contoh Program 1: class Konstruktor: def init (self): print 'Kalimat ini akan langsung di cetak\n Ketika objek dibuat' # program utama objekkonst = Konstruktor() Konsep Object Oriented Programming pada Python 62

Contoh Program 2 : >>> class Kalimat(praktikum):... def_init_(self, kata):... self.kata = kata... self.cetak()... self.awal = self.kata + Ini variabel awal Method Destructor Method destructor dalam python merupakan method yang menyediakan proses khusus sebelum objek di hancurkan/dealokasi. Method constructor disebut del (). Method ini tidak akan dilaksanakan sampai semua referensi ke semua objek telah dihapus. Contoh : Inheritance (Pewarisan) >>> class C:... def init (self):... print "inisialisasi"... def del (self):... print "Objek Telah dihapus"... >>> c1 = C() inisialisasi >>> c2 = c1 >>> c3 = c1 >>> id(c1), id(c2), id(c3) (11789856, 11789856, 11789856) >>> del c1 >>> del c2 >>> del c3 Objek Telah dihapus 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. Pewarisan merupakan suatu mekanisme yang memungkinkan seorang pemrogram menciptakan suatu kelas baru berdasarkan kelas yang sudah tersedia tetapi tidak perlu menuliskan kode dari nol. 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. Konsep Object Oriented Programming pada Python 63

Atribut 1 Atribut 2 Atribut-n Kelas A Method X( ) Method Y( ) Kelas B Method Z( ) Pada contoh diatas, Kelas A merupakan Kelas Induk dan Kelas B disebut Kelas Anak. Ketika Kelas B dideklarasikan sebagai subkelas dari Kelas A, maka Dengan sendirinya Kelas B mewariskan semua atribut atau method yang dimiliki oleh Kelas A. Namun, Kelas B juga dapat membuat method sendiri. Bentuk Umum pembuatan Kelas turunan, class <nama_kelas_turunan>(<nama_kelas_induk>): <atribut-atribut> <method-method> Contoh program : class Ayah: def methodayah(self): print "Ini adalah Method Ayah" class Anak(Ayah): def methodanak(self): print "Ini adalah Method Anak" #deklarasi objek kelas Ayah p = Ayah() p.methodayah() Konsep Object Oriented Programming pada Python 64

#deklarasi objek kelas anak c = Anak() c.methodanak() c.methodayah() Output : Method Overriding Ini adalah Method Ayah Ini adalah Method Anak Ini adalah Method Ayah Sebuah method dikatakan Method overriding jika method dengan nama yang sama terdapat pada kelas induk dan kelas anaknya. Contoh program ; induk" anak" class induk: def cobaoverride(self): print "Hi... saya method override di kelas class turunan(induk): def cobaoverride(self): print "Hi... saya method override di kelas # Deklarasi objek Kelas Induk objekinduk = induk() objekinduk.cobaoverride() # Deklarasi objek kelas anak objekanak = turunan() induk.cobaoverride(objekanak) Contoh program Inheritance dengan Overriding : 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) print(self.nama, "Pekerjaannya") Konsep Object Oriented Programming pada Python 65

def repr (self): return "<Pegawai: nama = %s, gaji = %s>" % (self.nama, self.gaji) class Koki(Pegawai): def init (self,nama): Pegawai. init (self,nama,100000) print(self.nama, "Membuat Makanan") class Pelayan(Pegawai): def init (self,nama): Pegawai. init (self,nama, 50000) print(self.nama, "Melayani Costumer") class PizzaRobot(Koki): def init (self, nama): Koki. init (self, nama) print(self.nama, "Membuat Pizza") # Program Utama 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() Output: <Pegawai: nama = Agus, gaji = 100000> ('Agus', 'Membuat Pizza') <Pegawai: nama = Agus, gaji = 120000.0> ('Pegawai', 'Pekerjaannya') ('Koki', 'Membuat Makanan') ('Pelayan', 'Melayani Costumer') ('PizzaRobot', 'Membuat Pizza') Konsep Object Oriented Programming pada Python 66

P4.2 ContohKasus Contoh Kasus 1 Buatlah program sederhana yang menunjukkan sifat pewarisan dalam bahasa pemrograman Phyton. Langkah 1 Buka IDLE (Python GUI) yang ada di menu start, lalu klik menu file pilih new window (Ctrl + N). Langkah 2 Ketik listing program berikut : INGAT! Penggunaan spasi dan tabulasi dalam penulisan listing. Salah indentasi maka program tidak bisa running! class Ayah: def methodayah(self): print "Ini adalah Method Ayah" class Anak(Ayah): def methodanak(self): print "Ini adalah Method Anak" #deklarasi objek kelas Ayah p = Ayah() p.methodayah() #deklarasi objek kelas anak c = Anak() c.methodanak() c.methodayah() Setelah selesai klik menu file save. Simpan dengan nama pewarisan.py Konsep Object Oriented Programming pada Python 67

Langkah 3 Untuk menjalankan listing program diatas klik menu Run Run Module F5, maka akan muncul output seperti gambar dibawah ini. Output : Ini adalah Method Ayah Ini adalah Method Anak Ini adalah Method Ayah Contoh Kasus 2 : Buatlah contoh program sederhana yang menunjukkan proses Overiding pada bahasa pemrograman Phyton : Langkah 1 Buka IDLE ( Python GUI ) yang ada di menu start, lalu klik menu file pilih new window (Ctrl + N). Langkah 2 Ketik listing program berikut : Konsep Object Oriented Programming pada Python 68

INGAT! Penggunaan spasi dan tabulasi dalam penulisan listing. Salah indentasi maka program tidak bisa running! 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) print(self.nama, "Pekerjaannya") def repr (self): return "<Pegawai: nama = %s, gaji = %s>" % (self.nama, self.gaji) class Koki(Pegawai): def init (self,nama): Pegawai. init (self,nama,100000) print(self.nama, "Membuat Makanan") class Pelayan(Pegawai): def init (self,nama): Pegawai. init (self,nama, 50000) print(self.nama, "Melayani Costumer") class PizzaRobot(Koki): def init (self, nama): Koki. init (self, nama) print(self.nama, "Membuat Pizza") # Program Utama 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() Setelah selesai klik menu file save. Simpan dengan nama overiding.py Konsep Object Oriented Programming pada Python 69

Langkah 3 Untuk menjalankan listing program diatas klik menu Run Run Module F5, maka akan muncul output seperti gambar dibawah ini. Output: <Pegawai: nama = Agus, gaji = 100000> ('Agus', 'Membuat Pizza') <Pegawai: nama = Agus, gaji = 120000.0> ('Pegawai', 'Pekerjaannya') ('Koki', 'Membuat Makanan') ('Pelayan', 'Melayani Costumer') ('PizzaRobot', 'Membuat Pizza') P4.3 Latihan Lengkapilah program dibawah ini sehingga didapat Output seperti Berikut : Konsep Object Oriented Programming pada Python 70

P4.4 DaftarPustaka [1.] http://www.master.web.id/mwmag/issue/01/content/tutorial-python-1/tutorialpython-1.html, 27 Februari 2012 [2.] http://www.scribd.com/doc/30882425/tutorial-python-2, 28 Februari 2012 [3.] http://id.wikibooks.org/wiki/python_selayang_pandang, 29 Februari 2012 Konsep Object Oriented Programming pada Python 71