Anda di halaman 1dari 9

Nama : Andi Setiya Wardana

NPM

: 061323020
REVIEW PEMROGRAMAN OOP

Interpreter adalah perangkat lunak yang mampu mengeksekusi code program (yang
ditulis oleh programmer) lalu menterjemahkannya ke dalam bahasa mesin,
sehingga mesin melakukan instruksi yang diminta oleh programmer tersebut.
Perintah-perintah yang dibuat oleh programmer tersebut dieksekusi baris demi
baris, sambil mengikuti logika yang terdapat di dalam kode tersebut. Proses ini
sangat berbeda dengan compiler, dimana pada compiler, hasilnya sudah langsung
berupa satu kesatuan perintah dalam bentuk bahasa mesin, dimana proses
penterjemahan dilaksanakan sebelum program tersebut dieksekusi.
Sedangkan Compiler sendiri adalah program sistem yang digunakan sebagai alat
bantu dalam pemrogaman.Perangkat lunak yang melakukan proses penterjemahan
code (yang dibuat programmer) ke dalam bahasa mesin. Hasil dari terjemahan ini
adalah bahasa mesin. Pada beberapa compiler, output berupa bahasa mesin
dilaksanakan dengan proses assembler yang berbeda.
Untuk lebih jelas mengenai perbedaan antara Interpreter dengan Compiler, ada
baiknya saya jelaskan lebih terperinci mengenai dua hal ini.
Perbedaan antara Compiler dengan Interpreter :
1. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa
butuh kode sumber. Kalau interpreter butuh kode sumber.
2. Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin
dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek )
dan linking ( penggabungan kode objek dengan library ). Kalau interpreter
tidak ada proses terpisah.
3. JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan
berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan
oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode
objek dengan berbagai macam library.
4. Interpreter cocok untuk membuat / menguji coba modul (sub-routine /
program-program kecil). Maka compiler agak repot karena untuk mengubah
suatu modul / kode objek kecil, maka harus dilakukan proses linking /
penggabungan kembali semua objek dengan library yang diperlukan.
5. Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa
dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih
kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau
interpreter susah atau bahkan tidak bisa dioptimasikan.
Tingkat bahasa pemrograman :

1. Bahasa Pemrograman Tingkat Rendah (Assembler)


2. Bahasa Pemrograman Tingkat Sedang(C, Pascal, Fortran)
3. Bahasa Pemrograman Tingkat Tinggi(Java, C++, C#)
Sejarah pemrograman JAVA :
1. James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991
2. The language was initially called Oak after an oak tree that stood outside
Gosling's office
3. It went by the name Green later, and was later renamed Java, from a list of
random words
4. Gosling aimed to implement a virtual machine and a language that had a
familiar C/C++ style of notation
5. Sun Microsystems released the first public implementation as Java 1.0 in
1995
6. On May 8, 2007, Sun finished the process, making all of Java's core code
available under free software/open-source distribution terms (GNU Public
License)
Perangkat pemrograman JAVA :
1. Compiler (Interpreter): Java Standard Edition (JSE)
2. Code Editor:
Text/Code Editor:TextPad, Notepad++
Integrated Development Environment (IDE):Netbeans, Eclipse, JCreator
Istilah-Istilah dalam pemrograman berorientasi objek :
1. Objek
Untuk mempermudah pemahaman, maka disini akan dijelaskan melalui
analogi. Pada dasarnya semua benda yang adadi dunia nyata dapat dianggap
sebagai objek. Misalnya rumah, mobil, sepeda, motor, gelas, komputer, meja,
sepatu, dll. Setiap objek memiliki atribut sebagai status (state) dan tingkah
laku sebagai behavior.
Contoh objek : Motor. Maka atribute (state) nya adalah pedal, roda, jeruji,
speedometer, warna, jumlah roda. Sedangkan tingkah laku (behavior) nya
adalah kecepatan menaik, kecepatan menurun, dan perpindahan gigi motor.
Analogi pemrograman berorientasi objek sama dengan penggambara pada
dunia nyata seperti contoh di atas. Dalam OOP, state disimpan pada variabel
dan tingkah laku disimpan pada method.
Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan
fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek

merupakan dasar dari modularitas dan struktur dalam sebuah program


komputer berorientasi objek.
2. Class
Definisi class yaitu template untuk membuat objek. Class merupakan
prototipe atau blue prints yang mendefinisikan variabel-variabel dan methodmethod secara umum. Objek merupakan hasil instansiasi dari suatu class.
Proses pembentukan objek dari suatu kelas disebut sebagai instantiation.
Objek disebut juga sebagai instances.
Dalam bahasa teoretis OOP, class merupakan kumpulan atas definisi data
dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai
contoh class of dog adalah suatu unit yang terdiri atas definisi-definisi data
dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari
anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam
pemrograman berorientasi object.
Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang nonprogrammer sekalipun terkait dengan domain permasalahan yang ada, dan
kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri
dan independen (sebagaimana kode tersebut digunakan jika tidak
menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan
terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui
program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari
masalah ke sebuah program ataupun sebaliknya.
3. Attributes
Atribut adalah data yang membedakan antara objek satu dengan yang
lainnya.
Contoh Objek : VolcanoRobot ( a volcanic exploration vehicle), mempunyai
atribut sebagai berikut:
Status ~> exploring, moving, returning home
Speed ~> in miles per hour
Temperature ~> in Fahrenheit degrees
Dalam class, atribut sering disebut sebagai variabel. Atribut dibedakan
menjadi dua jenis yaitu Instance Variable dan Class Variable.
Instance variable adalah atribut untuk tiap objek dari kelas yang sama. Tiap
objek mempunyai dan menyimpan nilai atributnya sendiri. Jadi, tiap objek
dari class yang sama bokeh mempunyai nilai yang sama atau berbeda.

Class Variable adalah atribut untuk semua objek yang dibuat dari class yang
sama. Semua objek mempunyai nilai atribut yang sama. Jadi semua objek
dari class yang sama mempunyai hanya satu nilai yang value nya sama.
4. Behavior
Behavior/tingkah laku adalah hal-hal yang bisa dilakukan oleh objek dari
suatu class. Behavior dapat digunakan untuk mengubah nilai atribut suatu
objek, menerima informasi dari objek lain, dan mengirim informasi ke objek
lain untuk melakukan suatu tugas (task).
Contoh behavior untuk objek VolcanoRobot:
check current temperature
begin a survey
report its current position
Dalam class, behavior disebut juga sebagai methods. Methods sendiri adalah
serangkaian statements dalam suatu class yang menghandle suatu task
tertentu. Cara objek berkomunikasi dengan objek yang lain adalah dengan
menggunakan method.
5. Abstraksi
Abstraksi adalah kemampuan sebuah program untuk melewati aspek
informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada
inti. Setiap objek dalam sistem melayani sebagai model dari pelaku abstrak
yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan
berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan
bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga
dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan
sebuah pengabstrakan.
Konsep-konsenp dalam pemrograman berorientasi objek
1. Enkapsulasi (Encapsulation)
Definisi enkapsulasi: Pembungkusan variabel dan method dalam sebuah
obyek yang terlindungi serta menyediakan interface untuk mengakses
variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa
ditentukan hak aksesnya. Dalam OOP, konsep enkapsulasi sebenarnya
merupakan perluasan dari struktur dalam bahasa C.
Contoh: jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu,
sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga
baterai atau bertenaga gerak tidaklah penting kita ketahui.

Dengan kata lain enkapsulasi berfungsi untuk memastikan pengguna sebuah


objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara
yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk
mengakses keadaannya. Setiap objek mengakses interface yang
menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek
lainnya tidak akan mengetahui dan tergantung kepada representasi dalam
objek tersebut.
2. Pewarisan (Inheritance)
Pewarisan merupakan pewarisan atribut dan method dari sebuah class ke
class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi
disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya,
disebut sebagai multilevel inheritance.
Contoh : terdapat class sepeda dan sepeda gunung. Sepeda termasuk
superclass. Sepeda gunung termasuk subclass. Hal ini dikarenakan sepeda
gunung memiliki variabel dan method yang dimiliki oleh sepeda.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh
beberapa kelas dapat digabungkan dalam sebuah class induk sehingga setiap
kelas yang diturunkannya memuat hal-hal yang spesifik untuk kelas yang
bersangkutan.
Keuntungan Pewarisan
Subclass menyediakan state/behaviour yang spesifik yang membedakan
dengan
superclass,
sehingga
memungkinkan
programmer
untuk
menggunakan ulang source code dari superclass yang telah ada.
Programmer dapat mendefinisikan superclass khusus yang bersifat generik,
yang disebut abstract class (abstraksi), untuk mendefinisikan class dengan
tingkah laku dan state secara umum.
Single & Multiple Inheritance
Bahasa C adalah contoh multiple inheritance. Suatu class diperbolehkan
untuk mempunyai lebih dari satu superclass. Variabel dan method yang
diwariskan merupakan kombinasi dari superclass-nya. Java adalah contoh
single inheritance. Suatu class hanya boleh mempunyai satu superclass.
Multilevel Inheritance
Suatu subclass bisa menjadi superclass bagi class yang lain.
3. Polimorfisme

Polimorfisme adalah kemampuan suatu obyek untuk mempunyai lebih dari


satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin.
Metode tertentu yang berhubungan dengan sebuah pengiriman pesan
tergantung kepada objek tertentu di mana pesan tersebut dikirim.
Contohnya, bila sebuah burung menerima pesan gerak cepat, dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang
sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab
sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan
tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam
program dapat memegang berbagai jenis objek yang berbeda selagi program
berjalan, dan teks program yang sama dapat memanggil beberapa metode
yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini
berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui
penggunaan fungsi kelas-pertama.
Pemrograman dengan Java
Java sebagai salah satu bahasa pemrograman baru menjanjikan banyak kemudahan
bagi programer junior maupun senior. Tutorial ini akan membawa Anda mengenal
lebih jauh bahasa ini melalui pembahasan konsep model perancangan dan petunjuk
sederhana penggunaannya.
Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun
Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang
mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah
dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem
operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di
Internet sehingga dirancang agar aman dan portabel.
Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan
mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis
arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java
sebagai bahasa pemrograman Internet di mana sebuah program akan dijalankan
oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku
untuk level source code dan binary code dari program Java. Berbeda dengan bahasa
C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten
di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama
sekali jika Anda ingin mengkompile ulang di platform lain. Hasil dari mengkompile
source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik
terhadap mesin tertentu, melainkan berupa bytecode yang berupa file
berekstensi .class. Bytecode tersebut dapat langsung Anda eksekusi di tiap platform
yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap
bytecode tersebut.

JVM sendiri adalah sebuah aplikasi yang berjalan di atas sebuah sistem operasi dan
menerjemahkan bytecode program Java dan mengeksekusinya, sehingga secara
konsep bisa dianggap sebagai sebuah interpreter. Proses pengeksekusian program
Java dapat dilukiskan seperti di Gambar 1. Dengan cara ini, sebuah program Java
yang telah dikompilasi akan dapat berjalan di platform mana saja, asalkan ada JVM
di sana.
Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK)
yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs
java.sun.com. Interpreter untuk program Java sendiri sering juga disebut Java
Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java
Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk
mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin
menjalankan bytecode Java cukup dengan JRE saja. Namun untuk mengeksekusi
applet (sebuah bytecode Java juga) Anda biasanya tidak perlu lagi mendownload
JRE karena browser yang Java-enabled telah memiliki JVM sendiri.
Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup
besar yang dapat mempermudah Anda dalam membuat sebuah aplikasi dengan
cepat. Library ini sudah mencakup untuk grafik, desain user interface, kriptografi,
jaringan, suara, database, dan lain-lain.
Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi
objek secara gamblang adalah teknik untuk mengorganisir program dan dapat
dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah
mengimplementasikan berbagai fasilitas agar seorang programer dapat
mengoptimalkan teknik pemrograman berorientasi objek.

Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi
konsep orientasi objek dari C++ namun dengan menghilangkan aspek-aspek
kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini
mempermudah programer pemula untuk mempelajari Java namun mengurangi
keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di
balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri
membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat
menguasai penggunaan library-library tersebut.
Di dalam pembuatan program java ada beberapa yang harus diketahui, yaitu :
1.
2.
3.
4.
5.
6.

Program Hello World


Type Data
Variabel
Operator
Percabangan
Perulangan

7. dan Array
Konsep dasar pemograman java Graphical User InterFace (GUI) :
Konsep dasar di Java GUI adalah API, API adalah Application Programming InterFace
yang terdiri dari 2 Komponen, dan pada kali ini saya akan membahas sedikit
tentang Java GUI di Netbeans Melanjutkan materi yang sebelumnya. (Materi
Sebelumnya). API sendiri pada Java terdapat dua kompenen, Apa saja yuuuk Cek
dan baca baik-baik artikel ini.Konsep dasar pemograman java Graphical User
InterFace (GUI) - Konsep dasar di Java GUI adalah API, API adalah Application
Programming InterFace yang terdiri dari 2 Komponen, dan pada kali ini saya akan
membahas sedikit tentang Java GUI di Netbeans Melanjutkan materi yang
sebelumnya. (Materi Sebelumnya). API sendiri pada Java terdapat dua kompenen.
API untuk GUI di Java :
1. AWT (Abstract Windows Toolkit)
2. Swing Or JVC (Java Foundation Class)
Fitur Swing :
1. Komponen GUI Lengkap: button, listbox, combobox, textarea, dsb
2. Pluggable Look-and-Feel: tampilan GUI dapat diubah sesuai dengan kehendak
(tidak perlu mengikuti native sistem operasi)
3. Data Transfer Antar Komponen: drag and drop, copy and paste
4. Internationalization: proses desain aplikasi yang memungkinkan aplikasi
dijalankan sesuai dengan preferensi tanpa rekompilasi
5. Localization: proses translasi teks ke bahasa lokal dan menambahkan
komponen lokal
Komponen Dasar Swing :
1. Top-Level Container: kontainer dasar dimana komponen lainnya diletakkan
(JFrame, JDialog dan Applet)
2. Intermediate Container: kontainer perantara dimana komponen lainnya
diletakkan (JPanel, JScrollPane, JTabbedPane, JToolbar, JSplitPane)
3. Atomic Component: komponen yang memiliki fungsi spesifik dan menerima
interaksi langsung dari user (JButton, JLabel, JTextArea, dsb)
4. Layout Manager: mengatur tata letak dan posisi komponen dalam kontainer
(BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout)
5. Event Handling: menangani event yang dilakukan user (klik mouse, ketik
keyboard, perbesar frame, dan sebagainya)
Adapun pada versi awal peluncurannya pada tahun 1996 (selanjutnya disebut versi
1.0), bahasa pemrograman ini menyertakan beberapa paket standar yakni :
1. java.lang yakni sebuah kelas untuk elemen-elemen dasar
2. java.io yang merupakan kelas input dan output termasuk penggunaan file

3. java.util yakni kelas pelengkap seperti kelas struktur data dan kelas
penanggalan
4. java.net yakni kelas TCP/IP (untuk jaringan)
5. java.awt yakni kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
6. java.applet yakni kelas dasar aplikasi antarmuka untuk browser
Sejak awal dibuatnya oleh Sun Microsystem, Java diorientasikan agar memiliki
perangkat bergaya desktop dengan ToolkitJava yang dikenal dengan nama AWT
(Abstract Windowing Toolkit). Kemudian pada tahun 1997 muncul JFC (Java
Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan
pengembangan dari AWT. JFC ini mempunyai kode swing yang terdapat pada
package yang disediakan pada JAVA SDK versi 1.2 ke atas (Java 2).
GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna
yang memungkinkan seseorang untuk berinteraksi dengan program dengan
berbagai cara selain mengetik seperti halnya komputer, MP3 Player dll yang
berisikan banyak tombol bergambar/icon dibandingkan teks. GUI yang merupakan
kebalikan dari CLI (Command Line Interface) menggunakan icon grafis atau
indikator visual untuk kenyamanan user.
Java sendiri menyediakan dua buah pustaka grafis dalam paketnya yaitu AWT dan
Swing. Keduanya menyediakan komponen GUI yang dapat digunakan dalam
membuat aplikasi Java dan Applet. Tidak seperti komponen AWT yang
menggunakan native code, keseluruhan Swing menyediakan implementasi
platform-independent dimana aplikasi yang dikembangkan dengan platform yang
berbeda dapat memiliki tampilan yang sama.
Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis
dan tempat yang lebih kecil. Contoh : frames, panels.
2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima
masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text
fields.
3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan
mouse, penekanan tombol.
4. Listener yaitu suatu obyek yang menunggu suatu kejadian khusus dan akan
bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi.

Anda mungkin juga menyukai