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 :
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.
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.
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.