PEMROGRAMAN DASAR PENGENALAN DAN STRUKTUR JAVA (STATEMENT OUTPUT) Tri Afirianto, S.T., M.T. [email protected] Universitas Brawijaya Tujuan Istruksional Khusus • Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu: • Membuat program sederhana yang memberikan output Sejarah JAVA • Diciptakan 1991 (James Gosling et al. – Sun Microsystems) • Awalnya disebut Oak – diambil dari nama pohon di luar jendela Gosling • Namanya berubah menjadi Java karena sudah ada bahasa lain yang bernama Oak • Nama Java diambil karena mereka suka meminum kopi Java Kelebihan JAVA • Open Source • Berbasis obyek • Memori ringan • Platform independent • Handal & Aman Kompilasi (Compiling) JAVA Sumber gambar: https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html JDK (Java Development Kit) • JDK berisi tool yang digunakan untuk membangun program Java, dan JRE (Java Runtime Environment) • Tool terdiri dari compiler (javac.exe), Java application launcher (java.exe), Appletviewer, dll … • Compiler mengubah kode java menjadi bytecode • Java application launcher membuka JRE, memuat class, dan memanggil method utama (main method) • JRE untuk menjalankan program. JRE ditujukan untuk mengeksekusi file Java, yaitu: JRE = JVM + Java Packages Classes Sumber: http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/ JRE (Java Runtime Environment) • JRE berisi JVM (Java Virtual Machine), class library, dan file pendukung lainnya • Tidak memiliki development tool seperti compiler, debugger, dll • JVM menjalankan program, dan menggunakan class library, dan file pendukung lainnya yang disediakan JRE Sumber: http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/ JVM (Java Virtual Machine) • Ketika meng-compile file Java, output yang dihasilkan bukan ‘.exe’ namun ‘.class’ • ‘.class’ terdiri dari bytecode Java yang dimengerti oleh JVM • JVM mengartikan (interpret) bytecode ke dalam kode mesin tergantung pada sistem operasi dan hardware • Bertanggung jawab untuk semua hal seperti garbage collection, array bounds checking, dll… JVM merupakan platform dependent Sumber: http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/ JDK vs JRE vs JVM Sumber: http://www.javabeat.net/what-is-the-difference-between-jrejvm-and-jdk/ Program Java Pertama: Menampilkan Teks • Aplikasi • Program yang mengeksekusi menggunakan Java Interpreter • Contoh program • Lihat program kemudian menganalisis setiap baris Contoh Program Welcome1.java 1 2 3 4 5 6 7 8 9 10 11 12 13 // Fig. 2.1: Welcome1.java // Text-printing program. public class Welcome1 { // main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome to Java Programming!" ); } // end method main } // end class Welcome1 Program Output Welcome to Java Programming! Penjelasan Program 1 // Fig. 2.1: Welcome1.java • Komentar diawali dengan: // • • • • Komentar diabaikan selama eksekusi program Dokumentasi dan penjelasan kode Kode mudah dibaca Komentar tradisional: /* ... */ /* Berikut komentar tradisional. Dapat dipisah menjadi beberapa baris */ 2 // Text-printing program. • • Komentar pada baris lain Catatan: nomor baris bukan bagian dari program, hanya sebagai referensi Penjelasan Program (lanj) 3 • Baris kosong • • Program mudah dibaca Diabaikan oleh program: • 4 Baris kosong, spasi, tab public class Welcome1 { • Awal deklarasi kelas untuk class Welcome1 • • Setiap program Java memiliki setidaknya satu kelas yang didefinisikan Kata kunci: reserved word oleh Java • • Kata kunci class diikuti nama kelas Nama kelas: huruf besar setiap awal kata • SampleClassName Penjelasan Program (lanj) 4 public class Welcome1 { • Nama kelas disebut identifier • • • Sekumpulan karakter terdiri dari huruf, angka, garis bawah (_), dan tanda dolar ($) Tidak boleh diawali angka, tidak boleh ada spasi Contoh: Welcome1, $value, _value, button7 • • 7button tidak valid Java bersifat case sensitive • a1 dan A1 berbeda Penjelasan Program (lanj) 4 public class Welcome1 { • Nama file • • Nama file harus sama dengan nama kelas dengan ekstensi .java Kurung kurawal kiri { • • 7 Setiap awal kelas Diakhiri kurung kurawal kanan } pada akhir deklarasi (baris 13) public static void main( String args[] ) • Bagian dari setiap aplikasi Java • Aplikasi memulai mengeksekusi pada main • • • Dalam kurung menandakan method dari main Aplikasi Java memiliki satu atau lebih method Salah satu method harus bernama main Penjelasan Program (lanj) 7 public static void main( String args[] ) • Method dapat mengerjakan tugas dan mengembalikan informasi 8 • void berarti method main tidak mengembalikan • informasi Saat ini ikuti contoh di atas (menggunakan void) { • Kurung kurawal kiri menandakan awal deklarasi method • Diakhiri kurung kurawal kanan } (baris 11) Penjelasan Program (lanj) 9 • System.out.println( "Welcome to Java Programming!" ); Memerintahkan komputer untuk melakukan tindakan • Cetak karakter string • • • Objek output standar Mencetak ke command window (mis: MS-DOS prompt) Method System.out.println • • • Spasi pada string tidak diabaikan oleh compiler System.out • • • String: sekumpulan karakter di dalam tanda petik Menampilkan string disertai baris baru Argumen berada dalam tanda kurung Baris ini dikenal sebagai statement • Statement harus diakhiri dengan tanda titik koma ; Penjelasan Program (lanj) 11 } // end method main • Akhir deklarasi method 13 } // end class Welcome1 • Akhir deklarasi kelas • Boleh menambahkan komentar untuk memantau akhir kurung • INGAT! Compiler mengabaikan komentar • Komentar dapat ditambahkan pada baris yang sama setelah kode Meng-compile Program • Jika tidak ada error, maka Welcome1.class akan dibuat • Memiliki bytecode yang merepresentasikan aplikasi • Bytecode diteruskan ke Java interpreter Mengeksekusi Program • Interpreter memuat file .class untuk kelas Welcome1 • Ekstensi .class diabaikan dari perintah • Interpreter memanggil method main Mengeksekusi Welcome1 pada command prompt Win2000 Modifikasi Program • Modifikasi program dengan hasil sama namun memiliki kode berbeda • Welcome2.java menghasilkan output yang sama dengan Welcome1.java • Dengan kode berbeda 9 10 System.out.print( "Welcome to " ); System.out.println( "Java Programming!" ); • Baris 9 menampilkan “Welcome to ” dengan kursor yang tersisa di akhir baris • Baris 10 menampilkan “Java Programming!” pada baris yang sama dengan kursor pada baris berikutnya Contoh Program 2 Welcome2.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 // Fig. 2.3: Welcome2.java // Printing a line of text with multiple statements. public class Welcome2 { // main method begins execution of Java application public static void main( String args[] ) { System.out.print( "Welcome to " ); System.out.println( "Java Programming!" ); } // end method main } // end class Welcome2 Program Output Welcome to Java Programming! System.out.print menjaga kursor tetap berada pada baris yang sama, sehingga System.out.println melanjutkan pada baris yang sama. Statement Java • Karakter baris baru (\n) • Diinterpretasi sebagai “karakter spesial” oleh method System.out.print dan System.out.println • Menyatakan kursor berada pada baris selanjutnya • Contoh Welcome3.java 9 System.out.println( "Welcome\nto\nJava\nProgramming!" ); • Jeda baris pada \n • Penggunaan • Dapat digunakan pada System.out.print dan System.out.println untuk membuat baris baru Contoh Program 3 Welcome3.java 1 2 3 4 5 6 7 8 9 10 11 12 13 // Fig. 2.4: Welcome3.java // Printing multiple lines of text with a single statement. public class Welcome3 { // main method begins execution of Java application public static void main( String args[] ) { System.out.println( "Welcome\nto\nJava\nProgramming!" ); } // end method main } // end class Welcome3 Program Output Welcome to Java Programming! Perhatikan bagaimana baris baru yang dihasilkan setiap \n Statement Java (lanj) • Karakter escape • Diawali dengan tanda backslash (\) • Menghasilkan output dengan karakter spesial Escape Sequence Deskripsi \n Baris baru Meletakkan kursor pada awal baris berikutnya \t Tab horizon Menggerakkan kursor pada tab berikutnya \r Carriage return (CR) Meletakkan kursor pada awal baris saat ini (kolom pertama); tidak menuju baris selanjutnya Seluruh karakter yang dihasilkan setelah CR akan menimpa karakter sebelumnya pada baris tersebut \\• A Backslash Untuk mencetak karakter backslash \”• a Petik ganda Untuk mencetak tanda petik ganda Contoh: System.out.println( “\”dalam tanda petik\””) Hasil: “dalam tanda petik” LATIHAN • Buat program sederhana yang memberikan output! Filosofi Pemrograman “Good programmer write code for machine….. Great Programmer write code for other programmer…..”