Konsep Pemrograman Berorientasi Objek (1)
January 2, 2019
Mempelajari konsep Objek oriented tidak berarti semata-mata mempelajari bahasa pemrogramannya saja. Idealnya, dengan memahami konsep Object Ortiented, maka bahasa apapun dapat dijadikan tools untuk memperjelas konsep tersebut. Adakalah, kita langsung mempraktekkan bahasa pemrograman, tanpa memahami konsep OO yang terkadung di dalamnya. Tulisan beriku tini merangkum kembali konsep OO yang harus dikuasai dengan baik oleh seorang pemrogram.
Terdapat 5 materi besar dalam mempelajari Pemrograman Beroientasi Objek. Yaitu:
- Kelas dan Objek
- Interaksi antar Objek
- Relasi antar Objek
- Collection
- Advance topics:
- Abstract dan Interface
- Polimorphism
- Static dan Final
Menurut Grady Booch, objek adalah benda; yang memiliki id, state, dan behavior. State adalah kumpulan value untuk setiap atribut yang menempel pada objek tersebut. Sedangkan behavior menunjukkan perilaku objek, direpresentasikan dengan metode/fungsi yang dapat mengubah state. Sebagai contoh, kelas Student/Mahasiswa adalah objek. Mahasiswa memilik atribut nama dan nomor induk serta IPK. Mahasiswa memiliki perilaku belajar agar value dari IPK dapat berubah.
Kelas digambarkan sebagai template atau cetak biru dari sebuah objek. Kelas menggambarkan struktur dari sebuah objek. Template atau cetak biru ini menjadi dasar pembuatan objek. Objek yang berasal dari Kelas yang sama, akan memiliki atribut dan metode/fungsi yang sama. DIkatakan bahwa objek adalah instansiasi dari Kelas.
Mengacu ke notasi Unified Modeling Language (UML), kelas digambarkan dalam bentuk diagram sebagai berikut. Terdiri dari 3 area. Area pertama menunjukkan Nama Kelas, area kedua menunjukkan kumpulan atribut, dan area ketiga menunjukkan kumpulan metode/fungsi
Berdasarkan digram kelas tersebut, kita dapat melakukan pemrograman dengan bahasa Java sebagai berikut:
public class Mahasiswa {
String nama;
String nim;
Double ipk;}
Sedangkan di bahasa PHP, didapat kode sebagai berikut:
class Mahasiswa {
private $nama;
private $nim;
private $ipk;}
Sedangkan dalam bahasa Pyhton:
class Mahasiswa:
nama = “”
nim = “”
ipk = 0
Python in NetBeans IDE 8.0.2
November 21, 2016
Manja ๐ค . Iyya sih.. ๐
Programming yang bisa dilakukan dengan editor biasa dan dijalankan melalu command prompt; saya tetap gunakan IDE untuk mempermudahnya. Kurang cool ya? ๐
Meskipun saya bukan fanatik, tapi saya ini kalo sudah suka (Java) ya suka; ga tertarik lagi untuk melihat yang lain. Da aku mah gitu orangnya. Tapi berhubung Python ini terus digembar gembor sebagai bahasa kekinian, minimal menurut http://www.tiobe.com/tiobe-index/ (5 besar), menurut http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages (ranking 3), dan menurut http://pypl.github.io/PYPL.html (dia ranking 2!). Mau ga mau, suka tidak suka, saya harus sekedar tahu dan bisa say โHello World!โ Dengan python ini. Literate ya ๐
Meskipun bahasa ini sudah lama rilisnya, 20 February 1991; 25 years ago, oleh Guido van Rossum , Python semakin popular belakangan ini. Eh penasaran bagaimana menghitung popularitas suatu bahasa? Bisa dicek di sini https://en.wikipedia.org/wiki/Measuring_programming_language_popularity. Atau mungkin dia pake buzzer robot sehingga indeks popularitasnya menaik ๐๐
Hush ๐
Kembali ke Python. Semua resource ada di https://www.python.org/. versi stabil bisa diambil di https://www.python.org/downloads/; saya lebih suka versi 2.7.x donโt ask ya, kenapa dia ada keluarga 3.5.x sementara 2.7.x pun tetap dikembangkan. Bedanya apa? Tanya mas Guildo aja ya. Atau baca-baca di sini. https://en.wikipedia.org/wiki/History_of_Python.
Berhubung ini bahasa scripting dengan interpreter, nah loh; dulu saya tahunya script ya script; ga bisa dibilang bahasa. Jadi kalo saya bilang โbahasa scriptingโ koq jadi tampak suka suka saya ya? Ya jadi kita bisa jalankan kodingan kita (nah loh, ada kodingan dan skriptingan) langsung dengan interpreter melalui command prompt.
Di situlah saya merasa malas ๐ด๐ด . Manja! Saya mau pake IDE. Manja ya ๐๐. Sterotipe kodingan line of code itu kayaknya sok keren banget ya (apalagi kalo dia hitam putih), dibandingkan pake IDE yang warna warni centil dan dilengkapi autocomplete. Biarin. Ini masalah preferensi ๐.
Dari sekian pilihan IDE for python (baca sendiri di sini https://wiki.python.org/moin/IntegratedDevelopmentEnvironments) saya akhirnya memilih.. Netbeans ๐. Donโt ask why, itu krn udah ada aja di komputer aku ๐ฃ. dan diam-diam aku mempelajari โHow to porting Python to Javaโ, vice versa ๐. Begitulah. Sekalinya Java tetap Java! #sikap. Oh ya. Sebetulnya orang-orang menggunakan PyCharm, sepertinya lebih mudah. http://www.jetbrains.com/pycharm/
Nah. Ketika memilih Netbeans IDE itu; saya menyimak video ini.
Ga susah koq. Caranya:
- Siapkan netbeans (8.0.2). jangan lupakan JRE dan JDK sudah include; silahkan cek di situs Netbeans atau di situs Java. Pokoknya, please Get the Correct Version of NetBeans IDE.
- Siapkan python (download dan ekstrak); ambil di situs python, bisa juga di http://plugins.netbeans.org/plugin/56795. Pastikan, Get the Python Plugin for NetBeans IDE 8.0.2.
- Add sebagai plug in, buka plug in manager (dari menu Tools, pilih sub menu Plugins, pilih tab Downloaded, Tekan tombol Add Plugins; add seluruh file Python Plugin for Netbeans yang telah diekstrak)
- Buat projek baru dg Python
- Siapkan program Hello World!
Udah.
Ini contoh program “Hello World!”
__author__ = "pbasari" __date__ = "$Nov 15, 2016 12:06:21 PM$" f __name__ == "__main__": print "Hello World"
Untuk menjalankannya, cukup tekan tombol Run. Easy. Dan cukup mudah untuk koder Malas Manis Manja seperti saya.
Oh ya. Python tidak mengenal Begin โ End; tapi dia menggunakan indentasi untuk setiap blok pemrogramannya. Saya sih senang, karena membuat programmer mau ga mau, harus tertib indentasi!
Selanjutnya. Belajar Python, bisa dicek di https://www.youtube.com/watch?v=N4mEzFDjqtA (sebenernya saya nonton X Factor; Astaga! Honey G masih bertahan!!). Ups. Kembali ke video tutorial; dia menggunakan PyCharm sebagai IDE. Gampang banget lho.
Untuk Dokumentasi Python tutorial lengkap bisa dilihat di https://docs.python.org/2/tutorial/index.html. Ke depan, saya akan membuatkan Tutorial OOP dengan Python. Tentu tetap dengan IDE Netbeans๐.
__Manja__