1 / 26

Pengenalan Java dan Object-Oriented Programming

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 .

kieve
Download Presentation

Pengenalan Java dan Object-Oriented Programming

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

  8. Ilustrasi Kode Program Java Java Compiler Java Aplication / Java Class Virtual Machine/Java Interpreter Machine

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

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

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

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

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

  14. A programming language • Sintakbahasapemrograman java miripdenganbahasa C++

  15. A development environment • Teknologi java menyediakan: kompiler, interpreter, documentation generator, class file packaging.

  16. An application environment • Merupakan standalone program yang tidakmemerlukan web browser untukmengeksekusi program (applet). • Contoh applet  browser-based plugin (ex: multimedia player di web)

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

  18. Structured vs Object-Oriented

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

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

  21. Pemrograman Berorientasi Obyek • Fungsidan data bukanmenjadiduahal yang terpisah. • Fungsidan data menjadisatukesatuan yang disebutsebagaiobyekaktif. • Cara pandang program adalahserangkaianobyek yang bekerjasamauntukmenyelesaikansuatu problem.

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

  23. Structured vs Object-Oriented • Focusing on the way a computer handles tasks • Focusing on the task you are using the computer for

  24. 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;

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

  26. Terimakasih

More Related