p1-aboutjava

Embed Size (px)

Citation preview

  • PENGANTAR BAHASA JAVA

  • Learning OutcomesPada akhir pertemuan ini, diharapkan mahasiswa akan mampu:Menjelaskan elemen pemrograman JavaMenjelaskan struktur pemrograman Java

  • Outline MateriSejarah JavaKarakteristik JavaAPI, JDK, JREJava PlatformProgram Sederhana JavaAnatomi Program JavaEscape SequenceUnicode

  • Sejarah JavaDikembangkan oleh timPemimpin: James GoslingCompany: Sun MicrosystemAgustus 1991, bernama OakJanuari 1995, berganti nama JavaMenjanjikan aplikasi berbasis Write Once, Run Anywhere (WORA)Dapat dijalankan di web browser dengan teknologi Applet

  • Karakteristik Java (Buzzwords)SimpleObject-orientedDistributedInterpretedRobustSecureArchitecture-neutralPortableHigh-performanceMulti-threadedDynamic

  • Application Program Interface (API)Kumpulan predefined classes dan interfaces untuk mengembangkan program Java3 edisi Java API:Java 2 Standard Edition (J2SE)Aplikasi client-side, appletJava 2 Enterprise Edition (J2EE)Servlet, JSPJava 2 Micro Edition (J2ME)Cell phone

  • Java Development Toolkit (JDK)Sekumpulan program terpisah untuk mengembangkan dan menguji program JavaJava Development Tools, aplikasi berbasiskan IDE (integrated development environment) untuk membuat program Java dengan cepatJBuilder 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 digunakanKompiler: javacMengkompilasi souce code (.java) menjadi bytecode (.class)Interpreter: javaMengeksekusi bytecode (.class) menjadi aplikasiDebugger: jdbSeperti interpreter, tetapi mampu men-debug aplikasiPenampil applet: appletviewerMenampilkan appletDokumentasi: javadocMengkonversi source code (.java) menjadi dokumentasi (.html)Kompresi: jarMenghasilkan kompresi (.jar) dari bytecode (.class) dan file pendukung lain (seperti gambar, suara, video)

  • Java Runtime Environment (JRE)Software yang diperlukan untuk menjalankan aplikasi berplatform JavaJava Virtual Machine (JVM): sekumpulan program untuk mengeksekusi java bytecode agar jalan pada platformnyaJava Bytecode: Sekumpulan instruksi yang dieksekusi oleh JVM. Panjangnya sebesar 1 byte per instruksi

  • Java Platform

  • Program Java Sederhana: Hello World// 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: Hello World// This application program prints Welcome to Java!

    public class Welcome {public static void main(String [] args) {System.out.println(Welcome to Java!);}}CommentsClass nameFilename: Welcome.javaClass heading,Main method signatureString

  • Program Java Sederhana: Hello WorldSetiap program Java memiliki minimal 1 kelas. Cth: WelcomeUntuk menjalankan kelas, maka diperlukan method mainSystem.out.println merupakan statement untuk mencetak kalimat ke console

  • Creating, Compiling, Executing Source CodeCreate/Modify Source CodeCompile Source Codee.g., javac Welcome.javaBytecodeRun Bytecodee.g., java WelcomeResultIf compilation errorsIf runtimeerrors orIncorrectresultpublic class Welcome { Public static void main(String [] args) { System.out.println(Welcome to Java!); }}Save on the diskSource code (developed by the programmer)Method Welcome() 0 aload_0

    Method void main(java.lang.String[]) 0 getstatic #2 3 ldc #3 5 invokevirtual #4 8 returnBytecode (generated by the compiler for JVM to read and interpret, not for you to understand)Stored in the disk

  • Anatomi Program JavaProgram/aplikasi terdiri dari:WhitespaceIdentifiersLiteralCommentsSeparatorsReserved words (keyword)ModifiersStatementsBlocksClassesMethodsThe main method

  • Anatomi: WhitespaceJava adalah free-form languageTidak perlu aturan indentationProgram dapat dibuat 1 baris sajaTerdapat minimal 1 whitespace di antara token yang tak beroperatorContoh whitespace: space, tab, newline

  • Anatomi: IdentifiersDigunakan untuk menamakan class, method, dan variableTerdiri dari huruf uppercase/lowercase, angka, underscore, atau tanda dollar ($)Tidak boleh diawali dengan angkaBersifat case-sensitiveContoh identifier:AvgTemp, args, count, f4, $test, this_is_ok

  • Anatomi: LiteralsNilai tetapDapat berupa bilangan bulat, bulang desimal, karakter, kata, boolean, tergantung tipe yang digunakanContoh:10098.6XThis is a test

  • Anatomi: CommentsMenggunakan notasi:// untuk satu baris (line comment)/* */ untuk beberapa baris (paragraph comment)Membantu programmer saling berkomunikasi dan mengerti programUmumnya untuk mendokumentasikan internal programContoh comments:// This application program prints Welcome to Java!/* This application program prints Welcome to Java! *//* This application program prints Welcome to Java! */

  • Anatomi: Separators/PunctuationKarakter/notasi tertentu untuk tujuan tertentuContoh separators:

  • Anatomi: Reserved WordsSering disebut keywordsMemiliki arti tersendiri bagi compilerTidak dapat digunakan untuk tujuan lain dalam programContoh keywords:classKetika compiler menemukan kata class, maka kata setelah class dianggap sebagai nama classpublic, static, voidJava bersifat case-sensitive, public dianggap keyword, sedangkan Public tidak

  • Anatomi: Reserved WordsContoh-contoh keyword lainnya:* disiapkan untuk Java versi berikutnya

  • Anatomi: ModifiersMerupakan reserved words tertentuMenunjukkan properti data, method, dan classContoh modifier:publicstaticprivatefinalabstractprotected

  • Anatomi: StatementsMerepresentasikan (rangkaian) aksiContoh:System.out.println(Welcome to Java!);menyatakan statement untuk menampilkan tulisan Welcome to Java!Setiap statements diakhiri dengan notasi semicolon (;)

  • Anatomi: BlocksDitandai dengan tanda kurung kurawal buka ({) dan tutup (})Setiap class memiliki class block yang terdiri dari data dan methodSetiap method memiliki method block yang terdiri dari statementBlock dapat bersifat nested (block in block)Contoh:public class Test { public static void main(String[] args) { System.out.println(Welcome to Java!); } }MethodBlockClassBlock

  • Anatomi: ClassesInti dari konstruksi JavaSebuah program terdiri dari minimal 1 classDi dalam class terdiri dari data dan method (encapsulation)

  • Anatomi: MethodsKumpulan statement yang di-encapsulated yang menunjukkan urutan operasiContoh:System.out.printlnSystem.out standard output objectprintln method dalam objecthasil eksekusi akan ditampilkan di layar command prompt

  • Anatomi: Main methodSetiap aplikasi Java harus memiliki main methodMerupakan tempat mulainya eksekusi programJVM mengeksekusi aplikasi Java melalui main methodContoh main method:public static void main(String[] args) {// statements}

  • Escape SequenceMerepresentasikan karakter khususDimulai dengan karakter backslash ( \ ) dilanjutkan karakter tertentu

  • Escape SequenceContoh penggunaan escape sequence

  • Did You Know?Versi Java19 Februari 1997, Java 1.1hanya AWT08 Desember 1998, Java 1.2Codename: Playground, dikenal dengan Java 2, muncul platform J2SE, J2EE, J2ME08 Mei 2000, Java 1.3Codename: Kestrel, mengintegrasikan sound06 Februari 2002, Java 1.4Codename: Merlin, mengintegrasikan XML30 September 2004, Java 5.0Codename: Tiger, awalnya berversi 1.5 (tetapi sudah menghilangkan metode versi 1.x)11 Desember 2006, Java 6Codename: Mustang, menghilangkan metode versi x.0, mendukung Visual Basic, GUI Vista(belum rilis) 2008, Java 7Codename: Dolphin, perbaikan beberapa bug pada versi sebelumnya

  • Did You Know?Logo Java:

    Maskot Java (Duke):

  • Advanced LearningJava mendukung UnicodeUnicode: skema encoding yang dikembangkan oleh Unicode ConsortiumMendukung pertukaran, pemrosesan, dan penampilan bahasa-bahasa di duniaContoh:Welcome dalam mandarin I Love You dalam mandarin

  • Advanced LearningContoh pemakaian Unicode

  • Advanced Learningimport java.swing.JOptionPane; akan diterangkan pada session berikutnyaUntuk menampilkan kotak pesan grafik:JOptionPane.showMessageDialog(null,,,JOptionPane);parentteksjuduljenis pesan

  • Advanced LearningHasil eksekusi

  • ReferensiIntroduction to Java Programming. 7ed. Liang. 2009. p40-48Java 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_bytecodeJDK. http://en.wikipedia.org/wiki/Java_Development_KitJVM. http://en.wikipedia.org/wiki/Java_Virtual_MachineLogo Java. http://en.wikipedia.org/wiki/Image:Java_Logo.svgJava Platform. http://en.wikipedia.org/wiki/Image:JavaPlatform.jpghttp://en.wikipedia.org/wiki/Image:Wave.svgJava Characteristics. http://www.cs.armstrong.edu/liang/intro6e/JavaCharacteristics.pdfHistory 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