Upload
nimda-rekcah
View
217
Download
0
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