Wednesday, March 24, 2010

OOP pada python (LP pert. 4)

1. Jelaskan konsep OOP pada python?


2.Jelaskan tentang class,inheritance dan constructor pada python!!

Jawab :

1. 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/data dan dapat kita kenakan operasi tertentu. Di dunia nyata ini, banyak hal yang bisa kita sebut objek. Buku misalnya, merupakan objek karena menampung informasi dan dapat kita baca (kenakan operasi baca) atau tulis (kenakan operasi tulis). Sepeda, binatang, manusia, semua juga bisa disebut objek.

>>> "aku seorang kapiten".split(" ")
['aku', 'seorang', 'kapiten']
Pada contoh di atas, kita membuat objek string bernilai “aku seorang kapiten” lalu mengenakan operasi split() pada objek string tersebut, yaitu dengan sintaks titik diikuti oleh nama operasi (yang disebut metode objek). Hasilnya adalah sebuah list—yang merupakan objek juga. List ini berisi 3 elemen, masing-masing elemennya adalah string yang telah dipecah (yang, lagi-lagi, merupakan objek pula). Sehingga lewat operasi split() kita telah menciptakan empat objek baru, sebuah list dan tiga buah string.
Konsep OOP sangat membantu dalam membuat aplikasi terutama yang berskala besar.


2. Kelas adalah objek yang kita pakai untuk membuat objek lain. Kelas di Python didefinisikan dengan kata kunci class. Bentuk umum class di python adalah:
class :
doc
data
fungsi

Doc mengacu pada dokumen string yang menjelaskan suatu class dan bersifat opsional. Semua tingkat akses data dalam kelas adalah 'public' karena python tidak mengenal tingkat akses 'private' dan tidak ada yang disembunyikan hingga semua data dapat diakses oleh kelas turunannya.



Inheritance : berarti turunan dari suatu class. Penurunan class akan membuat

semacam class anak yang akan mewarisi anggota class
utama atau orang tua serta bisa mengganti beberapa
anggota data atau membuat baru sehingga class anak ini
lebih spesifik. Hal-hal yang bisa dijadikan pedoman dalam
penurunan class adalah:
· Class orang tua disebutkan dalam tanda kurung
nama class anak
· Class anak akan mengambil semua anggota data
class orang tua yang berhak diambilnya bila class
orang tua masih memiliki orang tua juga
· Penurunan class bisa dilakukan dari banyak orang
tua secara berjenjang dengan dipisah oleh tanda
koma
· Bila class orang tua dan anak memiliki nama
anggota data yang sama, maka anggota class
anaklah yang berlaku.
Pendefinisian sintaksnya adalah sebagai berikut :

class NamaClassTurunan (NamaClassDasar):


...


Nama ClassDasar harus didefinisikan dalam ruang lingkup class turunan. Selain sebuah nama ClassDasar, sebuah ekspresi juga diperbolehkan. Contohnya pada saat menurunkan suatu class yang terdapat dalam suatu modul :

class NamaClassTurunan(namamodule.NamaClassDasar)

Menjalankan pendefinisian class turunan sama halnya dengan mendefinisikan class dasar. Pada saat suatu objek class dibangun, classDasar disertakan di dalamnya. Hal ini digunakan sebagai referensi attribut; jika permintaan terhadap suatu attribut tidak ditemukan di dalam class, kemudian mencari attribut tersebut ke dalam classDasar. Aturan ini berkelanjutan jika classDasar yang ditentukan merupakan classTurunan lain.

Constructor : semacam tipe khusus method yang kita pakai untuk menginstansiasi atau menciptakan sebuah objek di mana dari constructor itu menggunakan nama dari class yang kita gunakan juga. Constructor tidak bisa mengembalikan sebuah nilai.
Constructor operatornya __init__

Fungsi __init__ akan dijalankan secara otomatis ketika ada proses instansiasi. Bila terdapat penurunan class,maka constructor yang akan dipanggil adalah class anak. Agar constructor bisa dipanggil semua, kita harus memanggilnya secara eksplisit pada class anak.


1 comment:

  1. Hi there! Quick question that's completely off topic. Do you know how to make your site mobile friendly? My web site looks weird when browsing from my iphone. I'm trying to find a theme or plugin that might be able to fix this problem.
    If you have any suggestions, please share. Thanks!



    Also visit my blog :: natural cellulite treatment

    ReplyDelete