Pemrograman 2
Pengenalan Java dan
Object-Oriented
Programming
M. Tanzil Furqon, S.Kom
Ilmu Komputer Universitas Brawijaya
Sejarah Java
Diperkenalkan pertama kali oleh Sun Microsystem,
sebuah tim yang dipimpin oleh Patrick Naughton &
James Gosling pada 1991 dengan code name Oak.
Pada 1995 Sun mengubah nama Oak tersebut menjadi
Java.
Java dibuat karena adanya motivasi untuk membuat
bahasa pemrograman yang portable & platform
independent (tidak tergantung mesin & sistem operasi).
Pengenalan Java
Teknologi Java diadopsi oleh Netscape tahun 1996, JDK
1.1 diluncurkan tahun 1996, kemudian JDK 1.2,
berikutnya J2EE (Java 2 Enterprise Edition) yang berbasis
J2SE yaitu servlet, EJB dan JSP, dan yang terakhir
adalah J2ME (Java 2 Micro Edition) yang diadopsi oleh
Nokia, Siemens, Motorolla, Samsung dan SonyErison.
Meskipun ada anggapan yang salah bahwa munculnya
Java karena adanya internet, namun hal ini (internet)
memang membantu menjadikan Java sangat terkenal
yang pada akhirnya fokus penggunaan Java beralih
menjadi pemrograman untuk internet.
Java & WWW
Ketenaran Java sebagai bahasa pemrograman web
mengakibatkan kerancuan, yaitu menganggap Java
sama dengan JavaScript. Walaupun keduanya
menggunakan bahasa pemrograman yang mirip namun
secara esensi keduanya berbeda.
JavaScript merupakan scripting language yang digabung
dengan HTML yang tidak memerlukan kompilasi karena
ia hanya diinterpretasikan, dimana web browser yang
bertanggungjawab untuk melakukannya.
Java & WWW (2)
Sedangkan Java merupakan full programming language,
yang secara esensi sama dengan bahasa pemrograman
yang lain seperti VB dan C++, dimana agar dapat
digunakan, kode Java harus dikompilasi menjadi bentuk
yang dapat dieksekusi oleh run-time system Java (Java
Virtual Machine).
Program Java tidak dieksekusi oleh web browser
melainkan web browser hanya bertindak sebagai
kontainer yang memungkinkan Java tersebut dapat
dieksekusi didalamnya.
Java Bytecode
Java didesain dengan konsep once run anywhere, maka
hasil kompilasinya bukan merupakan native code seperti
yang dihasilkan VB,C,C++.
Hasil kompilasi Java adalah bytcode, yang merupakan
sekumpulan instruksi yang sangat teroptimasi. Sehingga
bytecode tersebut dapat diakses langsung seolah-olah
oleh microprosessor. Program inilah yang dikenal dengan
JVM (java virtual machine). JVM itu sendiri merupakan
interpreter dari bytecode.
Java Bytecode (2)
Dengan mengonversi source code menjadi bytecode,
memungkinkan suatu program dapat dieksekusi di
lingkungan yang berbeda (multiplatform).
Yang diperlukan hanyalah JVM yang harus
diimplementasikan di setiap platform dimana bytecode itu
akan di eksekusi, sedangkan bytecode-nya tetap sama,
tidak ada perubahan sama sekali.
Hal ini sangat memudahkan programmer karena ia tidak
perlu memikirkan dimana program yang dibuatnya akan
di eksekusi.
Distribusi aplikasi java .jar (+ lib)
Ilustrasi
Kode Program Java
Java Compiler
Java Aplication / Java Class
Virtual Machine/Java Interpreter
Machine
Kelebihan Java
1.
2.
3.
4.
5.
6.
Bersifat Portable & Platform Independent
Memiliki garbage collection yang dapat mendealokasi
memori secara otomatis
Menghilangkan pewarisan berganda yang terdapat pada
C++
Mengurangi pointer aritmetik. Penggunaan pointer pada
Java telah dibatasi dengan menggunakan reference
Memiliki array sejati
Mengurangi kerancuan antara pemberian nilai pada
statemen kondisional (“=“ dengan “==“ pada kondisi IF)
Karakteristik Java
1. Berorientasi objek
2. Robust; mendorong pemrograman yang bebas dari
kesalahan (bersifat strongly typed & memiliki runtime checking)
3. Portable
4. Multithreading (terintegrasi)
5. Dinamis
6. Sederhana
7. Terdistribusi
8. Aman
9. Netral secara arsitektur (independent machine/system)
10. Interpreted (universal executed)
11. Berkinerja tinggi
Java Requirements
Java Requirements J2SE (Java 2 Standard Edition),
JDK (Java Development Kit) dan dokumentasi API
(Application Programming Interface) Java.
Editor Netbeans, Eclipse, JCreator, dll.
Didalam JDK juga terdapat compiler Java (javac) yang
digunakan untuk mengkompilasi source code Java dan
interpreter Java (java) yang digunakan untuk
mengeksekusi bytcode yang dihasilkan oleh compiler
Java.
Teknologi Java2Platform
Enterprise Edition(J2EE) server-based function
Standard Edition (J2SE) standard function
Micro Edition (J2ME) small-ranged application
What is the Java Technology?
A programming language
A development environment
An application environment
A deployment environment
A programming language
Sintak bahasa pemrograman java mirip dengan bahasa
C++
A development environment
Teknologi java menyediakan: kompiler, interpreter,
documentation generator, class file packaging.
An application environment
Merupakan standalone program yang tidak memerlukan
web browser untuk mengeksekusi program (applet).
Contoh applet browser-based plugin (ex: multimedia
player di web)
A deployment environment
Terdapat 2 deployment environment utama:
JRE (Java Runtime Environment) yang menyediakan
class-class yang tersimpan dalam package-package,
komponen GUI class, dan Collection API.
Web browser banyak web browser komersial yang
menyediakan lingkungan Java Technology interpreter dan
runtime.
Pemrograman 2
Structured vs Object-Oriented
Pemrograman Terstruktur
Istilah Pemrograman Terstruktur (Structured
Programming) mengacu dari suatu kumpulan tehnik
yang dikemukan oleh Edsger Dijkstra.
Dengan teknik ini akan meningkatkan produktifitas
programmer, dengan mengurangi waktu yang
dibutuhkan dalam penulisan (write), pengujian (test),
penelusuran kesalahan (debug) dan pemeliharan
(maintain) suatu program.
Pemrograman Terstruktur (2)
Serangkaian tugas diselesaikan dalam bentuk fungsi
atau prosedur.
Cara pandang program adalah suatu urutan instruksi.
Programer harus me-break down suatu problem menjadi
sub problem yang lebih simple.
Fungsi dan prosedur menjadi fokus utama.
Fungsi dan prosedur digunakan untuk memanipulasi
data.
Data bersifat pasif.
Pemrograman Berorientasi Obyek
Fungsi dan data bukan menjadi dua hal yang terpisah.
Fungsi dan data menjadi satu kesatuan yang disebut
sebagai obyek aktif.
Cara pandang program adalah serangkaian obyek
yang bekerjasama untuk menyelesaikan suatu problem.
Pemrograman Berorientasi Obyek (2)
Now Structured+Object Oriented Programming (OOP)
OOP create and work with object in structured
progamming
Structured vs Object-Oriented
Focusing on the way
a computer handles
tasks
Focusing on the task
you are using the
computer for
Contoh Kasus
Pembuatan tipe data Titik :
typedef struct{
Int x;
Int y
} Titik
Titik Koordinat;
Koordinat adalah sebuah variabel bertipe Titik yang
didalamnya terdiri atas elemen variabel x dan y dimana
cara pengaksesannya adalah:
Koordinat.X=10;
Koordinat.Y=15;
Pada konsep diatas kita dapat membuat banyak variabel
dengan tipe titik akan tetapi dalam tipe titik tersebut kita
tidak dapat menambahkan suatu fungsi atau prosedur
untuk melakukan modifikasi titik
Variabel koordinat tidak bisa menyimpan fungsi atau
prosedur untuk melakukan modifikasi terhadap data
yang di simpannya
Solusi ?? Object (state + behaviour) variables +
method
TERIMAKASIH