# Bab 1. Bahasa Pemrograman Java ## 1.1 Sistem Komputer: Hardware dan Software Untuk memahami proses pemograman, kita perlu memahami komponen-komponen yang membentuk sebuah komputer. Komponen-komponen ini dikategorikan menjadi dua: Hardware dan Software. ### Hardware *Hardware* adalah istilah untuk komponen-komponen fisik yang membentuk komputer. Sebuah komputer adalah sebuah sistem dari komponen-komponen yang masing-masing mempunyai fungsi-fungsi tersendiri. Sistem komputer terdiri dari komponen-komponen utama berikut: - CPU (Central Processing Unit) - RAM (Random Access Memory) - Hard Disk - Device Input - Device Output #### CPU CPU (Central Processing Unit) adalah komponen komputer yang sering disebut sebagai jantung dari komputer. CPU mengatur semua kerja komputer. Tugas dari CPU adalah mengambil instruksi, memroses instruksi, dan memberikan hasil berupa data. Semua proses komputasi komputer dilakukan oleh CPU. #### RAM RAM adalah singkatan dari Random Access Memory atau sering disebut hanya dengan memori adalah komponen komputer yang bertugas sebagai tempat penyimpanan. RAM menyimpan instruksi-instruksi komputer sebelum diproses oleh CPU dan juga data-data yang diproses oleh instruksi-instruksi komputer. RAM bersifat volatile yang berarti sementara. Ketika komputer dimatikan, isi dari RAM terhapus. Kita dapat membanyangkan RAM sebagai almari yang terdiri dari laci-laci bernomor yang setiap lacinya dapat menyimpan data sebesar 1 byte. Nomor-nomor laci ini disebut sebagai alamat memori. Gambar berikut mengilustrasikan bagaimana RAM menyimpan data-data: // Ganti gambar sendiri ![](https://i.imgur.com/A6gL4HO.png) Pada gambar di atas diilustrasikan angka 149 disimpan pada alamat memori 16 dan angka 72 disimpan dalam alamat memori 23. > **Catatan**. Pada komputer data disimpan dalam bentuk bilangan biner. Bilangan biner adalah angka yang hanya terdiri dari 0 dan 1. Sedangkan, byte adalah 8 digit angka biner. #### Hard Disk Hard disk adalah tempat penyimpanan data untuk jangka panjang. Meskipun komputer dimatikan data-data dalam hard disk tidak hilang. #### Device Input Input adalah data yang komputer terima dari pengguna. Device yang menerima data dan mengirimkannya ke komputer disebut dengan device input. Device input yang umum berupa keyboard, mouse, scanner, dan camera. #### Devais Output Output adalah data yang komputer kirimkan untuk pengguna. Device output adalah device yang menerima output dan menyajikannya ke pengguna. Device output yang umum adalah monitor dan printer. ### Software Software adalah program-program yang berjalan pada komputer. Terdapat dua kategori software: sistem operasi dan software aplikasi. Sistem operasi adalah kumpulan program-program yang mengatur device-device hardware dan mengatur proses-prosesnya. Windows, Linux, dan Mac OS adalah contoh-contoh sistem operasi. Software aplikasi adalah program-program yang membuat komputer berguna bagi pengguna. Program-program ini melakukan tugas-tugas umum dan menyelesaikan persoalan-persoalan spesifik yang memenuhi kebutuhan pengguna. Word processing, spreadsheet, dan database adalah contoh-contoh software aplikasi. ## 1.2 Bahasa Pemrograman Java ### Bahasa Pemrograman Program adalah rangkaian instruksi-instruksi yang dieksekusi oleh komputer untuk mengerjakan tugas tertentu. Tentunya, kita perlu menuliskan instruksi-instruksi ini dalam sebuah bahasa yang dimengerti oleh komputer. Bahasa yang dimengerti komputer adalah bahasa mesin. Bahasa mesin adalah bahasa yang kosakatanya dalam bilangan biner (bilangan yang hanya terdiri dari angka 0 dan 1). Gambar berikut adalah ilustrasi dari bahasa mesin: ![How to Understand Binary Code - Instructables](https://content.instructables.com/ORIG/FH8/LKK7/I71QD48H/FH8LKK7I71QD48H.jpg?auto=webp =500x) Untuk menuliskan program dalam bahasa mesin sangatlah sulit. Dahulu di generasi awal komputer, programmer melakukannya. Oleh karena sulitnya menulis sebuah program dalam bahasa mesin, ilmuwan komputer menciptakan bahasa-bahasa pemrograman yang mudah dipahami dan mudah ditulis oleh manusia yang disebut dengan bahasa pemrograman high-level dan membuat program (dalam bahasa mesin) yang dapat menerjemahkannya ke bahasa mesin. Java adalah salah satu contoh dari bahasa pemrograman high-level. Bahasa pemrograman high-level lainnya antara lain adalah C, C++, Python, JavaSciprt, Ruby, Perl, Scheme, atau BASIC. Setiap bahasa pemrograman high-level mempunyai kosakata dan aturan penulisan tersendiri untuk menuliskan instruksi-instruksi. Dalam bahasa pemrograman high-level, instruksi disebut dengan ***statement*** dan aturan penulisan statement disebut sebagai ***syntax***. Aturan syntax ini membuat seolah bahasa pemrograman seperti sebuah kode untuk menuliskan instruksi-instruksi ke komputer. Oleh karena ini, programmer sering mengatakan program yang mereka buat sebagai kode komputer dan proses menulis program sebagai koding (dari bahasa Inggris *coding*). ### Compiler dan Java Virtual Machine Kita membuat program Java dengan mengetikkannya pada teks editor dan menyimpannya dalam sebuah file. File yang berisi program Java yang kita tulis disebut sebagai ***source code***. File source code Java haruslah berekstensi .java. Setelah kita menyimpan source code ke sebuah file, kita harus menjalankan compiler Java. Compiler adalah program yang menerjemahkan source code menjadi instruksi-instruksi yang dapat dijalankan komputer. Saat proses penerjemahan, compiler dapat memberitahukan error-error (kesalahan-kesalahan) syntax yang mungkin terdapat dalam program. Error-error syntax ini harus diperbaiki sebelum compiler dapat menerjemahkan source code. Setelah program bebas dari error syntax, compiler membuat sebuah file lain berisi instruksi-instruksi terjemahan. Compiler Java tidak menerjemahkan source code ke instruksi-instruksi bahasa mesin, namun ke dalam instruksi-instruksi byte code. Instruksi-instruksi byte code ini tidak dapat langsung dijalankan oleh komputer. Kita harus menjalankannya menggunakan *Java Virtual Machine* (JVM). JVM adalah program yang mensimulasikan sebuah komputer yang bahasa mesinnya adalah byte code. Gambar berikut mengilustrasikan proses membuat dan menjalankan sebuah program Java. // Gambar dibuat ulang dengan bahasa Indonesia ![](https://i.imgur.com/KDva2pI.png) Alasan Java menggunakan JVM adalah portabilitas. Portabilitas berarti kita hanya perlu melakukan kompilasi program satu kali ke bytecode, lalu kita dapat menjalankan bytecode ini pada berbagai jenis prosesor. Dalam bahasa pemrograman yang diterjemahkan ke bahasa mesin langsung, seperti bahasa C, jika kita ingin menjalankan program yang kita tulis pada dua komputer dengan prosesor yang berbeda pabrikan, kita harus mengkompilasi program kita ke masing-masing komputer. Misalkan kita ingin program yang kitat tulis berjalan di prosesor Intel dan ARM, kita harus mengkompilasi program dengan compiler yang bisa menerjemahkan ke bahasa mesin Intel dan juga menkompilasi program dengan compiler yang bisa menerjemahkan ke bahasa mesin ARM. Ini karena setiap prosesor dari pabrikan yang berbeda mempunyai bahasa mesin yang berbeda. ### Sejarah Bahasa Java Pada 1991, sebuah tim kerja yang diketuai oleh James Gosling dan Patrick Naugthon di perusahaan Sun Microsystem (sekarang dimiliki oleh perusahaan Oracle) mendesain bahasa pemrograman yang diberi nama "Green". Bahasa "Green" diperuntukkan untuk perangkat-perangkat comsumer, seperti handphone atau Smart TV. Bahasa ini didesain untuk menjadi sederhana, aman, dan dapat digunakan pada tipe prosesor apapun. Namun, saat itu tidak ada perusahaan pembuat perangkat consumer yang tertarik menggunakannya. Karena tidak ada yang tertarik menggunakan bahasa "Green" untuk perangkat consumer, pada tahun 1994, James Gosling mengubah peruntukkan bahasa tersebut untuk digunakan dalam internet. Bahasa "Green" dinamakan ulang menjadi bahasa Java. Pada pameran SunWorld tahun 1995, tim James Gosling mengenalkan web browser yang dibuat dari bahasa Java yang dapat mendownload dan menjalankan program Java kecil yang dikenal dengan applet. Applet memberikan browser kemampuan untuk menampilkan animasi dan berinteraksi dengan pengguna web browser. Gambar berikut memperlihatkan contoh applet yang dapat dijalankan dalam web browser. ![](https://i.imgur.com/QJZosY8.png) Demonstrasi applet ini pada pameran SunWorld mendapatkan pujian dan kekaguman dari pengunjung pameran. Semenjak itu, Java berkembang cepat menjadi bahasa pemrograman yang populer. Sekarang, Java telah menjadi bahasa pemrograman yang paling populer untuk mengembangkan tidak hanya applet untuk internet namun juga digunakan untuk membuat aplikasi yang berdiri sendiri. Salah satu penggunaan bahasa Java yang populer saat ini adalah untuk mengembangkan aplikasi handphone bersistem operasi Android. Dari tahun 1995 sampai dengan sekarang, Java telah mengalami beberapa kali pengembangan. Saat ini, Java telah mencapai versi 16. Tabel berikut mendaftar versi-versi Java dan tahun dikeluarkannya versi tersebut: // Gambar tabel diganti ![](https://i.imgur.com/cmFatQq.png) ### Aplikasi Java dan Applet Terdapat dua jenis program yang dapat kita buat dengan Java: aplikasi dan applet. Aplikasi adalah progam yang berdiri sendiri. Word processor, spreadsheet, dan database adalah contoh-contoh dari aplikasi. Applet adalah program kecil yang berjalan di software browser web. Applet berarti program kecil (App adalah singkatan dari application yang diterjemahkan menjadi app dan let adalah akhiran kata yang berarti kecil). Beberapa tahun yang lalu, applet sangat populer karena halaman-halaman web yang ditulis dengan HTML (Hypertext Markup Language) sangatlah terbatas. HTML hanya dapat digunakan untuk melayout dan menuliskan isi berupa teks dan grafik dari halaman web. HTML tidak mempunyai kemampuan untuk melakukan kalkulasi matematika dan berinteraksi dengan pengguna. Applet digunakan untuk mengekstensi keterbatasan HTML ini. Namun, saat ini applet telah berkurang kepopulerannya karena sekarang pengembang web lebih memilih menggunakan JavaScript dibandingkan menggunakan applet untuk menambahkan interaksi pengguna ke halaman web. ## 1.3 Instalasi dan Pengaturan JDK Untuk memulai membuat program dalam Bahasa Java, kita harus pertama kali mendonwload compiler Java dan JVM. Keduanya tersedia dalam satu paket yang disebut dengan JDK (Java Development Kit). Terdapat beberapa edisi JDK: - Java SE - SE singkatan dari Standard Edition. Edisi ini menyediakan semua tool-tool esensial utnuk menulis aplikasi Java dan applet. - Java EE - EE singkatan dari Enterprise Edition. Edisi ini diperuntukkan untuk mengembangkan aplikasi bisnis yang besar. - Java ME - ME singkatan dari Micro Edition. Edisi ini diperuntukkan untuk mengembangkan aplikasi kecil untuk perangkat consumer seperti handphone, pager, atau Smart TV. Pada praktikum ini, kita akan menggunakan Java SE. JDK dapat didownload di website Oracle pada alamat: ``` https://www.oracle.com/java/technologies/ ``` // Tambahkan tutorial instalasi JDK // Instalasi // Mengatur Path variabel environment // Cara mengetahui JDK telah terinstalasi. ![](https://i.imgur.com/AnyxbqV.png) ## 1.4 Integrated Development Environment Source code dari bahasa pemrograman adalah file teks biasa. Kita dapat menggunakan aplikasi teks editor apapun untuk menulis kode Java. Namun semakin kompleks program yang kita tulis, menggunakan teks editor akan menyulitkan dan memperlama proses pembuatan program. Integrated Development Environment (IDE) adalah aplikasi yang diperuntukkan untuk menulis program. IDE terdiri dari teks editor, compiler, debugger, dan utilitas-utilitas lainnya yang membantu penulisan program. Dengan IDE, kita tidak perlu menjalankan compiler dan JVM dari command prompt. Kedua proses tersebut dapat dilakukan dengan satu klik pada sebuah tombol. // Ganti gambar dengan gambar sendiri ![](https://i.imgur.com/iQjHKBr.png) Terdapat banyak IDE yang mendukung bahasa Java, antara lain IntelliJ IDEA, Eclipse, Netbeans, dan Visual Studio Code. Pada praktikum ini, kita akan menggunakan IDE Netbeans. ### Instalasi Netbeans // Ditambahkan ### Antar Muka IDE // Ditambahkan antar muka IDE ## 1.5 Menulis Program Java Pertama Pada bagian ini Anda akan menuliskan program Java pertama Anda. Untuk program pertama ini, Anda akan menuliskannya menggunakan teks editor. Ini bertujuan agar Anda dapat mengetahui langkah kompilasi dan langkah menjalankan program Java. Program-program selanjutnya akan kita tulis menggunakan IDE Netbeans. Ikuti langkah-langkah berikut untuk menuliskan Program Java Pertama Anda. **Langkah 1.** Ketikkan kode Java berikut pada editor teks seperti Notepad atau Notepad++. ***Program (SapaDunia.java)*** ```java // Program pertama Java public class SapaDunia { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` Gunakan tombol <kbd>Tab</kbd> untuk menuliskan teks yang menjorok ke dalam. ![](https://i.imgur.com/m3HwKkT.png) **Langkah 2.** Simpan program Java dalam file berekstensi .java dengan nama `SapaDunia.java`. ![](https://i.imgur.com/nD23QfR.png) Setiap source code Java harus disimpan dalam file dengan ekstensi *.java*. Simpan kode pada file bernama `SapaDunia.java`. **Langkah 3.** Buka aplikasi command prompt dan navigasi ke directory tempat Anda menyimpan file source code `SapaDunia.java` ![](https://i.imgur.com/eVSbuT9.png) Untuk pindah ke directory tempat source code disimpan gunakan perintah `cd <directory>`. Misalkan, jika Anda menyimpan source code `SapaDunia.java` di directory `C:\iLab` maka untuk navigasi ke directory tersebut, ketikkan: ``` C:\> cd C:\iLab ``` ![](https://i.imgur.com/SpGpc2e.png) **Langkah 4.** Kompilasi source code program Java dengan menjalankan perintah `javac SapaDunia.java` pada comand prompt. Sebelum kita dapat menjalankan program Java, kita harus mengkompilasi source code Java ke bytecode, kita melakukannya dengan mengetikkan perintah berikut pada command prompt: ``` javac NamaSourceCode.java ``` Untuk mengkompilasi source code Progrram 1-1, kita menjalankan perintah berikut: ``` javac SapaDunia.java ``` Compiler akan memberikan sebuah file bernama `SapaDunia.class` yang berisi hasil terjemahan source code dalam Java byte code. ![](https://i.imgur.com/2axBbiU.png) **Langkah 5.** Jalankan bytecode dari program pada JVM. Untuk menjalankan bytecode dari program pada JVM kita mengetikkan perintah berikut pada command prompt: ``` java NamaSourceCode ``` File Java bytecode program pertama, `ProgramPertama.class`, kita jalankan dengan: ``` java ProgramPertama ``` Perhatikan, kita tidak mengetikkan ekstensi `.class` ketika menjalankan perintah `java`. Saat program berjalan, program akan menampilkan teks berikut pada command prompt: ``` Hello, World! ``` ![](https://i.imgur.com/Lu0ZmJA.png) Teks yang ditampilkan oleh program pada command prompt disebut sebagai output program. Selamat! Anda telah berhasil menuliskan program Java pertama Anda. ### Menulis dan Menjalankan Program Menggunakan IDE // Diisi tutorial cara menuliskan program di atas pada IDE dan cara menjalankannya. ## 1.6 Menganalisa Program Pertama Kita akan menganalisa `SapaDunia.java`. Kode berikut adalah program `SapaDunia.java` yang kita tulis pada bagian sebelumnya: ```java= // Program pertama Java public class SapaDunia { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` Pada baris 1: ```java // Program pertama Java ``` Teks setelah `//` adalah *comment*. Compiler mengabaikan semua teks dari tanda `//` sampai dengan akhir baris. Kita dapat menulis apapun sebagai comment. Comment membantu pembaca program untuk memahami apa yang dikerjakan oleh program. Baris 2 adalah baris kosong. Kita menambahkan baris kosong untuk memudahkan kita membaca kode program. Baris 3 sampai dengan 9 disebut sebagai definisi class. Definisi class terdiri dari header dan body. Kita dapat mengartikan header sebagai judul dari definisi class dan body sebagai isi dari definisi class. Baris 3 adalah header dari class ini. Baris 4 sampai dengan baris 9 adalah body dari class. Baris 4 adalah tanda kurung kurawal buka yang menandakan awal dari body class ini. Baris 9 adalah tanda kurung kurawal tutup yang menandakan akhir dari body class ini. Gambar berikut mengilustrasikan konstruksi penulisan dari definisi class: ![](https://i.imgur.com/hpPMmIF.png) Kita akan membahas mengenai class secara detil nanti pada beberapa bab selanjutnya. Untuk saat ini, hal yang perlu kita ketahui mengenai class adalah setiap program Java harus setidaknya memiliki satu definisi class dan salah satu kegunaan dari class adalah sebagai wadah dari sebuah aplikasi. Ingat aplikasi adalah program yang berdiri sendiri. Header dari class pada baris ke 3: ```java public class SapaDunia ``` terdiri dari tiga kata: `public`, `class`, dan `SapaDunia`. Masing-masing kata ini mempunyai arti sebagai berikut: - `public` menandakan bahwa akses ke class ini tidak terbatas. Dengan kata lain, kata `public` menandakan bahwa class ini terbuka untuk public (terbuka untuk umum). Kata ini harus ditulis dalam huruf kecil semua. Kita akan membahas ini nanti pada pembahasan class. - `class` menandakan bahwa kita menuliskan definisi class. Kata ini harus ditulis dalam huruf kecil semua. - `SapaDunia` menandakan nama dari class. Nama dari class dapat kita tentukan sendiri. Gambar berikut mengilustrasikan bagian-bagian header dari class pada program `SapaDunia`: ![](https://i.imgur.com/THXTkzY.png) Pada contoh ini, kita menuliskan aplikasi kita dalam wadah `public class` bernama `ProgramPertama`. Terdapat dua hal penting yang perlu kita ketahui mengenai `public class` dalam Java: - Kita dapat membuat lebih dari satu class dalam sebuah file, tapi kita hanya dapat mempunyai paling banyak satu `public class` dalam satu file source code Java. - Nama dari `public class` harus sama dengan nama file source code. Pada contoh ini, kita mempunyai program dengan `public class` bernama `ProgramPertama` dan menyimpannya dalama sebuah file source code bernama `ProgramPertama.java` Di dalam body dari class pada baris 5 s.d 8 kita menuliskan sebuah definisi method. Definisi method seperti definisi class, memiliki bagian header dan body. Baris 5 adalah header dari method ini. Baris 6 adalah tanda kurung kurawal yang menandakan awal dari body dari method. Baris 7 adalah body dari method. Dan baris 8 adalah tanda kurung kurawal tutup yang menandakan akhir dari body dari method. Header dari method pada baris 5 dituliskan: ```java public static void main(String[] args) ``` Mirip dengan header pada definisi class, header dari definisi method terdiri dari nama dan informasi-informasi lainnya. Kata `main` adalah nama dari method ini. Kita akan membahas arti kata-kata lainnya yang terdapat pada header method ini pada Bab 5. Untuk saat ini, yang perlu kita perhatikan adalah nama dari method ini adalah `main` dan kata-kata lainnya diperlukan untuk penulisan header dari definisi method. ![](https://i.imgur.com/MGfw1eb.png) Pada body dari method `main`, baris 7, kita mempunyai: ```java System.out.println("Hello, World!"); ``` Baris ini adalah statement. Statement adalah instruksi yang kita perintahkan untuk komputer kerjakan. Penulisan statement harus diakhiri dengan tanda titik koma (`;`). Statement pada baris 7 ini memerintahkan komputer untuk mencetak teks "Hello, World" tanpa tanda kutip ganda ke layar. ![](https://i.imgur.com/jYu7ZKt.png) ### Hal-hal Penting dalam Program Java Berikut adalah ringkasan dari hal-hal yang perlu kita ketahui dalam program pertama kita dan juga dalam memulai membuat program lainnya: - Semua program Java harus disimpan dalam sebuah file dengan ekstensi `.java`. - File `.java` dapat berisi lebih dari satu class, namun hanya dapat mempunyai satu `public class`. - Jika file `.java` berisi sebauh `public class`, maka nama file tersebut harus sama dengan nama dari `public class`. Misalkan, jika dalam file berisi `public class` bernama `Pizza` maka file tersebut harus dinamakan dengan `Pizza.java`. - Setiap program aplikasi Java harus mempunyai method bernama `main`. - Statement-statement harus diakhiri dengan tanda titik koma (`;`). ### Kerangka Program Kita akan membahas mengenai class dan method nanti pada bab-bab selanjutnya. Untuk saat ini, kita akan menggunakan kerangka program berikut untuk menulis program Java: ```java public class NamaClass { public static void main(String[] args) { ... } } ``` Untuk membuat program baru, kita mengubah `NamaClass` dengan nama yang kita mau lalu kita menuliskan statement-statement dalam body dari method `main`. Kemudian file source code kita simpan dalam file berekstensi .java dengan nama file sama dengan nama class yang kita berikan. ![](https://i.imgur.com/UTuXqkZ.png) ## 1.7 Comment Comment (komentar) adalah catatan singkat berisi penjelasan dari baris program ataupun bagian dari program. Comment adalah bagian dari program namun compiler mengabaikannya. Kita menuliskan comment untuk programmer lain yang membaca kode program kita atau sebagai pengingat untuk diri kita sendiri. Terdapat dua cara menuliskan comment: comment satu baris dan comment multi baris. Kita telah melihat cara menulis comment satu baris pada program pertama kita. Comment satu baris ditulis dengan diawali `//` seperti berikut: ```java // Ini adalah comment. ``` Semua teks setelah `//` akan diabaikan oleh compiler. Comment multi baris ditulis dengan diawali dengan `/*` dan diakhiri dengan `*/`. Semua teks yang dituliskan setelah `/*` sampai dengan `*/` akan diabaikan oleh compiler. Berikut adalah contoh penulisan comment multi baris: ```java /* Comment multi baris dapat dituliskan lebih dari satu baris. */ ``` Program berikut mencontohkan penulisan comment pada program. ```java= /* Program: Comment.java Program ini menampilkan pesan Selamat Datang */ public class Comment { // Method main adalah titik awal mulai program. public static void main(String[] args) { System.out.println("Selamat Datang"); // Cetak Selamat datang } } ``` Comment satu baris dapat ditulis dimanapun dalam program, termasuk setelah penulisan statement. Pada baris 11 program di atas sebuah comment dituliskan stetelah statement. ## 1.8 Method `print` dan Method `println` Command prompt yang kita gunakan untuk mengkompilasi dan menjalankan program pertama kita disebut sebagai console. Console adalah antar muka untuk menjalankan program dan menampilkan output dari program berupa teks. ![](https://i.imgur.com/t53aqDU.png) Program haruslah memberikan output sehingga pengguna program dapat mengetahui hasil dari program tersebut. Program contoh kita menggunakan statement berikut untuk mencetak output berupa pesan teks `"Hello, World!"` ke console: ```java System.out.println("Hello, World!"); ``` Untuk menampilkan pesan teks lain, kita dapat mengubah teks `"Hello, World!"` dengan teks yang kita inginkan. Misalkan, statement berikut: ```java System.out.println("Pemrograman sangat menyenangkan!"); ``` menampilkan pesan teks berikut ke console: ``` Pemrograman sangat menyenangkan ``` `System.out.println` adalah sebuah method yang telah ditulis sebelumnya oleh pengembang bahasa Java dan disertakan dalam JDK. Method adalah rangkaian statement-statement yang diberikan nama dan melakukan tugas spesifik tertentu. Untuk menggunakan method kita harus memanggilnya. Untuk memanggil method kita perlu menuliskan: 1. Nama method yang ingin dipanggil (dalam contoh ini, `System.out.println`). 2. Nilai-nilai yang diperlukan oleh method untuk melakukan tugasnya (dalam contoh ini kita memberikan nilai seperti `"Hello, World"` atau `"Pemrograman sangat menyenangkan!"` ). Istilah teknis untuk nilai-nilai yang kita berikan ke method disebut sebagai ***argument***. Kita menuliskan argumen di dalam tanda kurung. >**Catatan**. Tanda titik yang memisahkan nama-nama object dibaca sebagai "dot." `System.out.println` dibaca "system dot out dot println". Teks yang kita tuliskan dengan diapit tanda kutip ganda: ``` "Hello, World!" ``` atau ``` "Pemrograman sangat menyenangkan!" ``` disebut sebagai **string**. String adalah istilah teknis dalam pemrograman untuk teks. Disebut string (untai) karena teks dapat dipandang sebagai untaian karakter-karakter. Terdapat dua method dasar untuk menampilkan pesan ke layar: `System.out.println` dan `System.out.print`. ### Method `System.out.println` Method `System.out.println` mencetak baris baru setelah mencetak teks. Sehingga teks berikutnya yang dicetak akan berada dalam baris baru. Sebagai contoh, lihat program berikut: ***Program (DuaBaris.java)*** ```java /* Ini contoh program sederhana Java yang mencetak dua baris pesan ke console. */ public class DuaBaris { public static void main(String[] args) { System.out.println("Pemrograman sangat menyenangkan!"); System.out.println("Saya senang sekali mempelajarinya!"); } } ``` ***Output Program (DuaBaris.java)*** ``` Pemrograman sangat menyenangkan! Saya senang sekali mempelajarinya! ``` Method `System.out.println` tanpa argument (dituliskan dengan mengosongkan teks dalam tanda kurung) digunakan untuk mencetak baris kosong. Program berikut mendemonstrasikan ini: ***Program (TigaBaris.java)*** ```java /* Ini contoh program sederhana Java yang mencetak tiga baris pesan yagn salah satunya baris kosong ke console. */ public class TigaBaris { public static void main(String[] args) { System.out.println("Pemrograman sangat menyenangkan!"); System.out.println(); // Method println tanpa argument mencetak baris kosong. System.out.println("Saya senang sekali mempelajarinya!"); } } ``` ***Output Program (TigaBaris.java)*** ``` Pemrograman sangat menyenangkan! Saya senang sekali mempelajarinya! ``` ### Method `System.out.print` Method `System.out.print` adalah method lain yang dapat juga digunakan untuk mencetak pesan ke layar. Perbedaan method `System.out.print` dengan method `System.out.println` adalah method `System.out.print` tidak mencetak baris baru. Program berikut mencontohkan penggunaan method `System.out.print`: ***Program (Menyenangkan.java)*** ```java /* Program ini mencontohkan penggunaan method print */ public class Menyenangkan { public static void main(String[] args) { System.out.print("Pemrograman "); System.out.print("Java "); System.out.println("sangat menyenangkan!"); System.out.println("Saya senang sekali mempelajarinya!"); } } ``` ***Output Program (Menyenangkan.java)*** ``` Pemrograman Java sangat menyenangkan! Saya senang sekali mempelajarinya! ``` ## 1.9 Error Seperti yang telah disebutkan sebelumnya, program harus ditulis mengikuti aturan-aturan penulisan yang disebut syntax. Kesalahan penulisan kode yang tidak mengikuti syntax, seperti kesalahan eja atau lupa menuliskan satu karakter seperti titik koma pada akhir statement, disebut dengan ***error syntax***. Error syntax akan menyebabkan program tidak dapat dikompilasi. Namun, ketika compiler menemukan error syntax pada program kita, compiler akan memberitahukan kita dengan menampilkan pesan error yang berisi error-error syntax apa saja yang terdapat dalam program sehingga kita bisa memperbaiki error-error syntax tersebut. Sebagai contoh, misalkan pada program berikut, kita lupa menuliskan titik koma setelah akhir dari statement `println`: ```java public class SatuBaris { public static void main(String[] args) { System.out.println("Pemrograman sangat menyenangkan!") } } ``` Ketika kita menjalankan compiler untuk source code program di atas, compiler akan memberikan pesar error seperti berikut: ``` SatuBaris.java:5: error: ';' expected System.out.println("Pemrograman sangat menyenangkan!") ^ 1 error ``` Pada bagian bawah pesan error, terdapat informasi mengenai banyaknya error yang ditemukan yaitu 1 error. Lalu, di baris pertama pesan, terdapat informasi mengenai, nama source code yang diikuti dengan informasi pada baris keberapa error syntax terjadi dan error syntax apa yang terdapat dalam baris tersebut. Angka 5 menunjukkan pada baris ke-5 program terdapat error dan error tersebut adalah compiler mengharapkan karakter `;` namun tidak dapat menemukannya. Pada baris selanjutnya, terdapat informasi statement mana yang menghasilkan error dan tanda `^` menunjukkan dimana karakter `;` seharusnya dituliskan. Gambar berikut menjelaskan pesan error compiler ini: ![](https://i.imgur.com/ksN9QjI.png) > **Catatan.** Bagaimana pesan error syntax ditampilkan bergantung pada versi JDK dan IDE yang digunakan. Namun, semua pesan error syntax akan berisi informasi pada baris keberapa error syntax terjadi dan error syntax apa yang terdapat dalam baris tersebut. Ketika compiler menemukan sebuah error syntax, compiler tidak langsung berhenti namun tetap berusaha memeriksa error-error syntax lainnya. Semua error-error syntax yang berhasil ditemukan oleh compiler akan ditampilkan pada pesan error compiler. Terkadang informasi pada pesan error syntax tidak begitu jelas memberitahukan error syntax apa yang terdapat dalam program kita. Misalkan, kita lupa menuliskan tanda kutip ganda pada awal dan akhir dari string seperti statement berikut: ```java System.out.println(Hello, World); ``` Compiler tidak akan memberikan pesan error syntax bahwa kita lupa menuliskan tanda kutip ganda, namun, compiler akan melaporkan error syntax ini sebagai "Cannot find symbol" yang berarti "Tidak dapat menemukan simbol". Compiler tidak begitu pintar untuk menyadari bahwa kita ingin menggunakan string dan kita lupa menuliskan tanda kurung ganda. Pada akhirnya, perbaikan error syntax ini kembali ke kita, apakah kita menyadari bahwa kita lupa menuliskan tanda kutip ganda. Error-error syntax adalah hal yang lazim kita temui ketika menulis program. Bahkan programmer berpengalaman sekalipun, setiap kali mengkompilasi program yang baru ditulisnya pertama kali akan selalu mendapatkan error-error syntax ini. Selain error syntax, terdapat jenis error lainnya yang disebut dengan ***error run-time***. Error run-time adalah error yang terjadi ketika program berjalan. Program dengan error run-time dapat dikompilasi namun ketika dijalankan program tersebut melakukan sesuatu tetapi tidak melakukan hal yang diharapkan. Error run-time disebabkan oleh kesalahan logika dalam program. Program dengan error run-time umumnya tidak memberikan pesan error namun menghasilkan output yang salah. Beberapa jenis error run-time dapat menyebabkan program berhenti di tengah jalan (tidak menyelesaikan eksekusi semua statement) dan menghasilkan sebuah **eksepsi**. Eksepsi adalah pesan error dari Java Virtual Machine. Sebagai contoh, program berikut mempunyai error run-time yang menghasilkan eksepsi: ```java= public class PembagianNol { public static void main(String[] args) { System.out.println(1 / 0); System.out.println("Selesai"); } } ``` Pada baris ke-5, kita menuliskan statement `println` dengan argument `1 / 0`. Ketika statement ini dieksekusi, komputer melakukan operasi pembagian 1 dengan 0 yang tidak mungkin dilakukan sehingga komputer berhenti menjalankan program dan keluar dari program. Sebuah eksepsi yang memberitahukan jenis error run-time akan ditampilkan seperti berikut: ``` Exception in thread "main" java.lang.ArithmeticException: / by zero at PembagianNol.main(PembagianNol.java:5) ``` Memperbaiki error run-time lebih sulit dibandingkan memperbaiki error syntax. Compiler akan mengkompilasi program dengan error run-time tanpa masalah namun program akan berjalan tidak sesuai dengan yang diharapkan. Oleh karena itu, umumnya programmer melakukan serangkaian pengujian program untuk memastikan program berjalan sesuai dengan yang diharapkan dan juga untuk mencari error-error run-time dalam programnya.