260 likes | 427 Views
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 .
E N D
M. Tanzil Furqon, S.Kom Ilmu Komputer Universitas Brawijaya Pengenalan Java dan Object-Oriented Programming
Sejarah Java • Diperkenalkanpertama kali olehSun Microsystem, sebuahtim yang dipimpinoleh Patrick Naughton & James Gosling pada 1991 dengancode nameOak. • Pada 1995 Sun mengubahnamaOaktersebutmenjadiJava. • Java dibuatkarenaadanyamotivasiuntukmembuatbahasapemrograman yang portable & platform independent (tidaktergantungmesin & sistemoperasi).
Pengenalan Java • Teknologi Java diadopsioleh Netscape tahun 1996, JDK 1.1 diluncurkantahun 1996, kemudian JDK 1.2, berikutnya J2EE (Java 2 Enterprise Edition) yang berbasis J2SE yaituservlet, EJB dan JSP, dan yang terakhiradalah J2ME (Java 2 Micro Edition) yang diadopsioleh Nokia, Siemens, Motorolla, Samsung danSonyErison. • Meskipunadaanggapan yang salahbahwamunculnya Java karenaadanya internet, namunhalini (internet) memangmembantumenjadikan Java sangatterkenal yang padaakhirnyafokuspenggunaan Java beralihmenjadipemrogramanuntukinternet.
Java & WWW • Ketenaran Java sebagaibahasapemrograman web mengakibatkankerancuan, yaitumenganggap Java samadengan JavaScript. Walaupunkeduanyamenggunakanbahasapemrograman yang miripnamunsecaraesensikeduanyaberbeda. • JavaScript merupakanscripting language yang digabungdengan HTML yang tidakmemerlukankompilasikarenaiahanyadiinterpretasikan, dimanaweb browser yang bertanggungjawabuntukmelakukannya.
Java & WWW (2) • Sedangkan Java merupakanfull programming language, yang secaraesensisamadenganbahasapemrograman yang lain seperti VB dan C++, dimana agar dapatdigunakan, kode Java harusdikompilasimenjadibentuk yang dapatdieksekusiolehrun-time system Java (Java Virtual Machine). • Program Java tidakdieksekusioleh web browser melainkan web browser hanyabertindaksebagaikontainer yang memungkinkan Java tersebutdapatdieksekusididalamnya.
Java Bytecode • Java didesaindengankonseponce run anywhere, makahasilkompilasinyabukanmerupakan native code seperti yang dihasilkan VB,C,C++. • Hasilkompilasi Java adalahbytcode, yang merupakansekumpulaninstruksi yang sangatteroptimasi. Sehinggabytecodetersebutdapatdiakseslangsungseolah-olaholehmicroprosessor. Program inilah yang dikenaldengan JVM (java virtual machine). JVM itusendirimerupakaninterpreterdaribytecode.
Java Bytecode (2) • Denganmengonversisource codemenjadibytecode, memungkinkansuatu program dapatdieksekusidilingkungan yang berbeda(multiplatform). • Yang diperlukanhanyalah JVM yang harusdiimplementasikandisetiap platform dimanabytecodeituakandieksekusi, sedangkanbytecode-nyatetapsama, tidakadaperubahansamasekali. • Hal inisangatmemudahkanprogrammerkarenaiatidakperlumemikirkandimana program yang dibuatnyaakandieksekusi. • Distribusi aplikasi java .jar (+ lib)
Ilustrasi Kode Program Java Java Compiler Java Aplication / Java Class Virtual Machine/Java Interpreter Machine
Kelebihan Java • BersifatPortable & Platform Independent • Memilikigarbage collection yang dapatmendealokasimemorisecaraotomatis • Menghilangkanpewarisanberganda yang terdapatpada C++ • Mengurangi pointer aritmetik. Penggunaan pointer pada Java telahdibatasidenganmenggunakanreference • Memiliki array sejati • Mengurangikerancuanantarapemberiannilaipadastatemenkondisional (“=“ dengan “==“ padakondisi IF)
Karakteristik Java • Berorientasiobjek • Robust; mendorongpemrograman yang bebasdarikesalahan (bersifatstrongly typed & memilikirun-time checking) • Portable • Multithreading (terintegrasi) • Dinamis • Sederhana • Terdistribusi • Aman • Netralsecaraarsitektur(independent machine/system) • Interpreted (universal executed) • Berkinerjatinggi
Java Requirements • Java Requirements J2SE (Java 2 StandardEdition),JDK (Java Development Kit)dandokumentasi API (Application Programming Interface) Java. • Editor Netbeans, Eclipse, JCreator, dll. • Didalam JDK jugaterdapat compiler Java (javac) yang digunakanuntukmengkompilasisource code Java daninterpreter Java (java) yang digunakanuntukmengeksekusibytcode yang dihasilkanoleh 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 • Sintakbahasapemrograman java miripdenganbahasa C++
A development environment • Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.
An application environment • Merupakan standalone program yang tidakmemerlukan web browser untukmengeksekusi 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 tersimpandalam package-package, komponen GUI class, dan Collection API. • Web browser banyak web browser komersial yang menyediakanlingkungan Java Technology interpreter dan runtime.
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) • Serangkaiantugasdiselesaikandalambentukfungsiatauprosedur. • Cara pandang program adalahsuatuurutaninstruksi. • Programerharus me-break down suatu problem menjadi sub problem yang lebih simple. • Fungsidanprosedurmenjadifokusutama. • Fungsidanprosedurdigunakanuntukmemanipulasi data. • Data bersifatpasif.
Pemrograman Berorientasi Obyek • Fungsidan data bukanmenjadiduahal yang terpisah. • Fungsidan data menjadisatukesatuan yang disebutsebagaiobyekaktif. • Cara pandang program adalahserangkaianobyek yang bekerjasamauntukmenyelesaikansuatu 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 : • 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;
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