Pengenalan Java dan Object-Oriented Programming

26
Pemrograman 2 Pengenalan Java dan Object- Oriented Programming M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya

description

M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya. Pengenalan Java dan Object-Oriented Programming. Sejarah Java. Diperkenalkan pertama kali oleh Sun Microsystem , sebuah tim yang dipimpin oleh Patrick Naughton & James Gosling pada 1991 dengan code name Oak . - PowerPoint PPT Presentation

Transcript of Pengenalan Java dan Object-Oriented Programming

Page 1: Pengenalan Java dan Object-Oriented Programming

Pemrograman 2

Pengenalan Java dan Object-Oriented

Programming

M. Tanzil Furqon, S.KomIlmu Komputer Universitas Brawijaya

Page 2: Pengenalan Java dan Object-Oriented Programming

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

Page 3: Pengenalan Java dan Object-Oriented Programming

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.

Page 4: Pengenalan Java dan Object-Oriented Programming

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.

Page 5: Pengenalan Java dan Object-Oriented Programming

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.

Page 6: Pengenalan Java dan Object-Oriented Programming

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.

Page 7: Pengenalan Java dan Object-Oriented Programming

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)

Page 8: Pengenalan Java dan Object-Oriented Programming

IlustrasiKode Program Java Java Compiler

Java Aplication / Java Class

Virtual Machine/Java Interpreter

Machine

Page 9: Pengenalan Java dan Object-Oriented Programming

Kelebihan Java1. Bersifat Portable & Platform Independent2. Memiliki garbage collection yang dapat mendealokasi

memori secara otomatis3. Menghilangkan pewarisan berganda yang terdapat pada

C++4. Mengurangi pointer aritmetik. Penggunaan pointer pada

Java telah dibatasi dengan menggunakan reference5. Memiliki array sejati6. Mengurangi kerancuan antara pemberian nilai pada

statemen kondisional (“=“ dengan “==“ pada kondisi IF)

Page 10: Pengenalan Java dan Object-Oriented Programming

Karakteristik Java1. Berorientasi objek2. Robust; mendorong pemrograman yang bebas dari

kesalahan (bersifat strongly typed & memiliki run-time checking)

3. Portable4. Multithreading (terintegrasi)5. Dinamis6. Sederhana7. Terdistribusi8. Aman9. Netral secara arsitektur (independent

machine/system)10. Interpreted (universal executed)11. Berkinerja tinggi

Page 11: Pengenalan Java dan Object-Oriented Programming

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.

Page 12: Pengenalan Java dan Object-Oriented Programming

Teknologi Java2Platform Enterprise Edition(J2EE) server-based function Standard Edition (J2SE) standard function Micro Edition (J2ME) small-ranged application

Page 13: Pengenalan Java dan Object-Oriented Programming

What is the Java Technology? A programming language A development environment An application environment A deployment environment

Page 14: Pengenalan Java dan Object-Oriented Programming

A programming language Sintak bahasa pemrograman java mirip dengan bahasa

C++

Page 15: Pengenalan Java dan Object-Oriented Programming

A development environment Teknologi java menyediakan: kompiler, interpreter,

documentation generator, class file packaging.

Page 16: Pengenalan Java dan Object-Oriented Programming

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)

Page 17: Pengenalan Java dan Object-Oriented Programming

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.

Page 18: Pengenalan Java dan Object-Oriented Programming

Pemrograman 2

Structured vs Object-Oriented

Page 19: Pengenalan Java dan Object-Oriented Programming

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.

Page 20: Pengenalan Java dan Object-Oriented Programming

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.

Page 21: Pengenalan Java dan Object-Oriented Programming

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.

Page 22: Pengenalan Java dan Object-Oriented Programming

Pemrograman Berorientasi Obyek (2) Now Structured+Object Oriented Programming (OOP) OOP create and work with object in structured

progamming

Page 23: Pengenalan Java dan Object-Oriented Programming

Structured vs Object-OrientedFocusing on the way

a computer handles tasks

Focusing on the task you are using the computer for

Page 24: Pengenalan Java dan Object-Oriented Programming

Contoh Kasus Pembuatan tipe data Titik :

Koordinat adalah sebuah variabel bertipe Titik yang didalamnya terdiri atas elemen variabel x dan y dimana cara pengaksesannya adalah:

typedef struct {Int x;Int y

} Titik

Titik Koordinat;

Koordinat.X=10;Koordinat.Y=15;

Page 25: Pengenalan Java dan Object-Oriented Programming

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

Page 26: Pengenalan Java dan Object-Oriented Programming

TERIMAKASIH