370 likes | 648 Views
PENGANTAR BAHASA JAVA. Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: Menjelaskan elemen pemrograman Java Menjelaskan struktur pemrograman Java.
E N D
PENGANTAR BAHASA JAVA Matakuliah : T0974 / Algoritma dan Metode Object Oriented Programming I Tahun : 2008 Versi : 1/0
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Menjelaskan elemen pemrograman Java • Menjelaskan struktur pemrograman Java
Outline Materi • Sejarah Java • Karakteristik Java • API, JDK, JRE • Java Platform • Program Sederhana Java • Anatomi Program Java • Escape Sequence • Unicode
Sejarah Java • Dikembangkan oleh tim • Pemimpin: James Gosling • Company: Sun Microsystem • Agustus 1991, bernama Oak • Januari 1995, berganti nama Java • Menjanjikan aplikasi berbasis “Write Once, Run Anywhere (WORA)” • Dapat dijalankan di web browser dengan teknologi Applet
Karakteristik Java (Buzzwords) • Simple • Object-oriented • Distributed • Interpreted • Robust • Secure • Architecture-neutral • Portable • High-performance • Multi-threaded • Dynamic
Application Program Interface (API) • Kumpulan predefined classes dan interfaces untuk mengembangkan program Java • 3 edisi Java API: • Java 2 Standard Edition (J2SE) • Aplikasi client-side, applet • Java 2 Enterprise Edition (J2EE) • Servlet, JSP • Java 2 Micro Edition (J2ME) • Cell phone
Java Development Toolkit (JDK) • Sekumpulan program terpisah untuk mengembangkan dan menguji program Java • Java Development Tools, aplikasi berbasiskan IDE (integrated development environment) untuk membuat program Java dengan cepat • JBuilder by Borland (www.borland.com) • NetBeans Open Source by Sun (www.netbeans.org) • Eclipse Open Source by IBM (www.eclipse.org) • Code Warrior by Metrowerks (www.metrowerks.com) • TextPad Editor (www.textpad.com) • JCreator LE (www.jcreator.com) • JEdit (www.jedit.org) • JGrasp (www.jgrasp.org) • BlueJ (www.bluej.org) • DrJava (http://drjava.sourceforge.net)
Java Development Toolkit (JDK) • Program pada JDK yang sering digunakan • Kompiler: javac • Mengkompilasi souce code (.java) menjadi bytecode (.class) • Interpreter: java • Mengeksekusi bytecode (.class) menjadi aplikasi • Debugger: jdb • Seperti interpreter, tetapi mampu men-debug aplikasi • Penampil applet: appletviewer • Menampilkan applet • Dokumentasi: javadoc • Mengkonversi source code (.java) menjadi dokumentasi (.html) • Kompresi: jar • Menghasilkan kompresi (.jar) dari bytecode (.class) dan file pendukung lain (seperti gambar, suara, video)
Java Runtime Environment (JRE) • Software yang diperlukan untuk menjalankan aplikasi berplatform Java • Java Virtual Machine (JVM): sekumpulan program untuk mengeksekusi java bytecode agar jalan pada platformnya • Java Bytecode: Sekumpulan instruksi yang dieksekusi oleh JVM. Panjangnya sebesar 1 byte per instruksi
Program Java Sederhana: Welcome // This application program prints Welcome to Java! public class Welcome { public static void main(String[] args){ System.out.println(“Welcome to Java!”); } }
Program Java Sederhana: Welcome // This application program prints Welcome to Java! public class Welcome { public static void main(String[] args){ System.out.println(“Welcome to Java!”); } } Class name Filename: Welcome.java Comments Class heading, Main method signature String
Program Java Sederhana: Welcome • Setiap program Java memiliki minimal 1 kelas. Cth:Welcome • Untuk menjalankan kelas, maka diperlukan method main • System.out.println merupakan statement untuk mencetak kalimat ke console
Creating, Compiling, Executing Source code (developed by the programmer) Create/Modify Source Code public class Welcome { Public static void main(String [] args) { System.out.println(“Welcome to Java!”); } } Save on the disk Source Code Compile Source Code e.g., javac Welcome.java Bytecode (generated by the compiler for JVM to read and interpret, not for you to understand) If compilation errors Stored in the disk … Method Welcome() 0 aload_0 … Method void main(java.lang.String[]) 0 getstatic #2 … 3 ldc #3 <String “Welcome to Java!”> 5 invokevirtual #4 8 return Bytecode Run Bytecode e.g., java Welcome If runtime errors or Incorrect result Result
Anatomi Program Java • Program/aplikasi terdiri dari: • Whitespace • Identifiers • Literal • Comments • Separators • Reserved words (keyword) • Modifiers • Statements • Blocks • Classes • Methods • The main method
Anatomi: Whitespace • Java adalah free-form language • Tidak perlu aturan indentation • Program dapat dibuat 1 baris saja • Terdapat minimal 1 whitespace di antara token yang tak beroperator • Contoh whitespace: space, tab, newline
Anatomi: Identifiers • Digunakan untuk menamakan class, method, dan variable • Terdiri dari huruf uppercase/lowercase, angka, underscore, atau tanda dollar ($) • Tidak boleh diawali dengan angka • Bersifat case-sensitive • Contoh identifier: • AvgTemp, args, count, f4, $test, this_is_ok
Anatomi: Literals • Nilai tetap • Dapat berupa bilangan bulat, bulang desimal, karakter, kata, boolean, tergantung tipe yang digunakan • Contoh: • 100 • 98.6 • ‘X’ • “This is a test”
Anatomi: Comments • Menggunakan notasi: • // untuk satu baris (line comment) • /* … */ untuk beberapa baris (paragraph comment) • Membantu programmer saling berkomunikasi dan mengerti program • Umumnya untuk mendokumentasikan internal program • Contoh comments: // This application program prints Welcome to Java! /* This application program prints Welcome to Java! */ /* This application program prints Welcome to Java! */
Anatomi: Separators/Punctuation • Karakter/notasi tertentu untuk tujuan tertentu • Contoh separators:
Anatomi: Reserved Words • Sering disebut keywords • Memiliki arti tersendiri bagi compiler • Tidak dapat digunakan untuk tujuan lain dalam program • Contoh keywords: • class Ketika compiler menemukan kata class, maka kata setelah class dianggap sebagai nama class • public, static, void • Java bersifat case-sensitive, public dianggap keyword, sedangkan Public tidak
Anatomi: Reserved Words • Contoh-contoh keyword lainnya: * disiapkan untuk Java versi berikutnya
Anatomi: Modifiers • Merupakan reserved words tertentu • Menunjukkan properti data, method, dan class • Contoh modifier: • public • static • private • final • abstract • protected
Anatomi: Statements • Merepresentasikan (rangkaian) aksi • Contoh: • System.out.println(“Welcome to Java!”); menyatakan statement untuk menampilkan tulisan “Welcome to Java!” • Setiap statements diakhiri dengan notasi semicolon (;)
Anatomi: Blocks • Ditandai dengan tanda kurung kurawal buka ({) dan tutup (}) • Setiap class memiliki class block yang terdiri dari data dan method • Setiap method memiliki method block yang terdiri dari statement • Block dapat bersifat nested (block in block) • Contoh: public class Test { public static void main(String[] args) { System.out.println(“Welcome to Java!”); } } Method Block Class Block
Anatomi: Classes • Inti dari konstruksi Java • Sebuah program terdiri dari minimal 1 class • Di dalam class terdiri dari data dan method (encapsulation)
Anatomi: Methods • Kumpulan statement yang di-encapsulated yang menunjukkan urutan operasi • Contoh: • System.out.println System.out standard output object println method dalam object hasil eksekusi akan ditampilkan di layar command prompt
Anatomi: Main method • Setiap aplikasi Java harus memiliki main method • Merupakan tempat mulainya eksekusi program • JVM mengeksekusi aplikasi Java melalui main method • Contoh main method: public static void main(String[] args) { // statements }
Escape Sequence • Merepresentasikan karakter khusus • Dimulai dengan karakter backslash ( \ ) dilanjutkan karakter tertentu
Escape Sequence Contoh penggunaan escape sequence
Did You Know? • Versi Java • 19 Februari 1997, Java 1.1 • hanya AWT • 08 Desember 1998, Java 1.2 • Codename: Playground, dikenal dengan Java 2, muncul platform J2SE, J2EE, J2ME • 08 Mei 2000, Java 1.3 • Codename: Kestrel, mengintegrasikan sound • 06 Februari 2002, Java 1.4 • Codename: Merlin, mengintegrasikan XML • 30 September 2004, Java 5.0 • Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan metode versi 1.x) • 11 Desember 2006, Java 6 • Codename: Mustang, menghilangkan metode versi x.0, mendukung Visual Basic, GUI Vista • (belum rilis) 2008, Java 7 • Codename: Dolphin, perbaikan beberapa bug pada versi sebelumnya
Did You Know? • Logo Java: • Maskot Java (Duke):
Advanced Learning • Java mendukung Unicode • Unicode: skema encoding yang dikembangkan oleh Unicode Consortium • Mendukung pertukaran, pemrosesan, dan penampilan bahasa-bahasa di dunia • Contoh: • Welcome dalam mandarin • I Love You dalam mandarin
Advanced Learning • Contoh pemakaian Unicode
Advanced Learning • import java.swing.JOptionPane; akan diterangkan pada session berikutnya • Untuk menampilkan kotak pesan grafik: JOptionPane.showMessageDialog (null,”…”,”…”,JOptionPane…); jenis pesan parent teks judul
Advanced Learning • Hasil eksekusi
Referensi • Introduction to Java Programming. 7ed. Liang. 2009. p40-48 • Java Programming Language. http://en.wikipedia.org/wiki/Java_(programming_language) • Java Software Platform. http://en.wikipedia.org/wiki/Java_(software_platform) • Java Bytecode. http://en.wikipedia.org/wiki/Java_bytecode • JDK. http://en.wikipedia.org/wiki/Java_Development_Kit • JVM. http://en.wikipedia.org/wiki/Java_Virtual_Machine • Logo Java. http://en.wikipedia.org/wiki/Image:Java_Logo.svg • Java Platform. http://en.wikipedia.org/wiki/Image:JavaPlatform.jpg • http://en.wikipedia.org/wiki/Image:Wave.svg • Java Characteristics. http://www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdf • History of Java. http://java.sun.com/features/1998/birthday.html • Lexical Structure. http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html