BAB 1 - Mengenal Environment Pemrograman Java - TeachMeSoft

BAB 1 - Mengenal Environment Pemrograman Java

BAB 1 - Mengenal Environment Pemrograman Java

Capaian dan Indikator


1. Capaian Pembelajaran

Setelah mempelajari bab ini, mahasiswa diharapkan:
  1. Memahami perintah-perintah dasar: input, output serta tipe data
  2. Mengetahui cara mengkompilasi dan mengeksekusi kode program di dalam Java

2. Indikator

  1. Mampu menulis kode program sederhana
  2. Mampu melakukan komilasi dan eksekusi program melalui console

Uraian Materi


Java dikembangkan oleh suatu tim yang dipimpin oleh Patrick Naughton dan James Gosling dalam suatu proyek dari Sun Microsystem yang memiliki kode Green dengan tujuan untuk meghasilkan bahasa komputer sederhana yang dapat dijalankan di peralatan sederhana dengan tidak terikat pada arsitektur tertentu. Mula-mula James Gosling menyebut bahasa pemrograman yang dihasilkan dengan OAK, tetapi OAK sendiri merupakan nama dari bahasa pemrograman komputer yang sudah ada maka kemudian Sun mengubahnya menjadi Java.

Akhirnya setelah melalui beberapa transformasi dan proses, Sun meluncurkan browser Java yang disebut Hot Java yang mampu menjalankan applet. Versi-versi Java banyak dikembangkan hingga muncul JDK yang mempunyai teknologi Swing untuk menampilkan secara GUI. Teknologi Java yang disebut J2ME (Java 2 Micro Edition), sudah diadopsi oleh Nokia, Siemens, SonyEricson, Motorola, Samsung untuk menghasilkan apikasi mobile baik games maupun software bisnis dan  berbagai jenis software lain yang dapat dijalankan diperalatan mobile seperti ponsel.


A.  Mengenal Java SDK

SDK adalah kependekan dari Standard Development Kit, yang merupakan bekal utama bagi developer untuk membuat program dan menjalankan program Java. Secara garis besar, Java SDK terdiri dari:
  • Java Compiler (Javac)
  • Java Virtual Machine (sering disebut juga java Runtime Environment/ JRE)
  • Java Class Libraries (koleksi  class yang dapat digunakan  untuk menghasilkan program Java)
  • Java AplletViewer (program untuk menjalankan applet tanpa menggunakan browser)
  • Java Debugger dan tool lain
Mula-mula kode program ditulis dengan Bahasa Java (file berekstensi .java) akan dikompilasi oleh compiler menjadi suatu kode objek yang berupa file berekstensi .class yang disebut dengan istilah bytecode. Jadi, dalam Java, hasil akhir programnya tidak berupa file berekstensi .EXE, melainkan berkestensi .class. Selanjutnya file bytecode ini akan dieksekusi baris per baris oleh interpreter.

Dengan demikian, proses kompilasi hanya dilakukan sekali, akan tetapi proses interpretasi akan dilakukan setiap kali program dieksekusi. Dengan adanya konsep bytecode ini, dalam teknologi Java dikenal adanya istilah "write once,  run everywhere".

Ini berarti bahwa sekali kita menulis  program dalam Bahasa Java dan melakukan kompilasi  terhadapnya, maka bytecode-nya dapat  dijalankan di dalam platform sistem operasi manapun selama komputer tersebut terpasang  Java  Virtual Machine (JVM).


B.  Instalasi Java

Sebelum membuat sebuah program menggunakan Bahasa Java, maka kita perlu melakukan instalasi  software Java Plat form, Standar Edition (Java  SE). Software ini dapat di unduh melalui link http://www.oracle.com/technetwork/java/javase/downloads/index.htm1 untuk memperoleh Java SE versi terbaru (saat modul ini dibuat, versi terbaru adalah Java SE 9.0.1 ). Setelah Java SE berhasil diinstal, maka berikutnya kita mem butuhkan software  text editor untuk menulis kode program dalam Bahasa Java.

Saat ini banyak text editor yang dapat digunakan, salah satu diantaranya adalah Notepad++ . Untuk mempermudah dalam penulisan kode program, maka kita dapat menggunakan software Java IDE (Integrated Development  Environment ),  misalnya Netbeans, Eclipse, Jcreator,  Intellij Idea, atau yang lainnya.



C. Pengaturan CLASSPATH

Jika kita membuat kode program Java tanpa melalui IDE, maka proses kompilasi dan interpretasi program akan dilakukan melalui console (dalam command prompt ). Agar hal ini dapat dilakukan, maka perlu dilakukan pengaturan CLASSPATH pada console sebelum mengkompilasi dan mengeksekusi program.

Pengaturan CLASSPATH dilakukan untuk memberitahu komputer dimana software Java SE disimpan. Pada umumnya, komputer dengan sistem operasi berbasis Unix tidak memerlukan lagi pengaturan CLASSPATH.

Langkah pertama untuk melakukan pengaturan CLASSPATH (pada komputer berbasis Windows) adalah masuk ke aplikasi command prompt (cmd), kemudian ketikkan perintah di bawah ini.

C:\ SET PATH="C:\Program Files\Java\jdk1.8.0_141\bin"

Untuk menguji apakah pengaturan CLASSPATH tersebut sudah benar atau tidak, maka ketikkan  perintah javac pada cmd. Jika keluar peringatan 'javac' is not recognized  as an internal  or  external  command, operable program or batch file,  berarti pengaturan CLASSPATH gagal, jika tidak, maka berarti pengaturan telah berhasil.


D. Tipe Data

Di dalam Bahasa Java, tipe data dasar dapat dibedakan menjadi empat kelompok, yakni tipe data integer (bilangan bulat), tipe data floating-point (bilangan riil), tipe data karakter, dan tipe data boolean. Perlu diketahui bahwa pada Java, String bukan merupakan sebuah tipe data, melainkan sebuah objek, akan tetapi pada penggunaannya mirip seperti menggunakan sebuah tipe data.


1.  Tipe Data Integer
Tipe data integer (bilangan bulat) pada Java terbagi menjadi empat jenis tipe, yaitu byte, short , int, dan long. Semua tipe data ini bersifat signed (bertanda), yaitu tipe data yang dapat merepresentasikan nilai negatif maupun positif. Tidak seperti pada kebanyakan bahasa pemrograman lainnya, Java tidak mendukung nilai unsigned (tipe tanpa tanda, yakni tipe data yang hanya dapat menyimpan nilai positif).



2. Tipe Data Floating-Point
Tipe floating-point (bilangan riil) digunakan untuk merepresentasikan nilai-nilai yang mengandung pecahan atau angka desimal di belakang koma. Tipe data ini dibedakan menjadi dua macam, yakni tipe data float dan double.



3.  Tipe Data Karakter
Pada Java, tipe data char merupakan karakter Unicode yang dapat merepresentasikan semua karakter yang ada, yakni semua karaktet yang, tetdapat dalam semua bahasa (dalam lingkup internasional), seperti Bahasa Latin, Arab, Yunani, dsb.


4.  Tipe Data Boolean
Seperti bahasa pemrograman pada umumnya, tipe data boolean pada Java digunakan untuk menampung nilai logika, yakni true dan false. Perlu diingat, pada Java, nilai true tidak sama dengan nilai 1, begitupun dengan nilai false tidak sama dengan nilai 0. Tipe boolean adalah tipe data yang dikembalikan oleh semua operator rasional, seperti '==', '>', '<', '>=', '<='.


E. Variabel

Variabel terdiri atas variabel class, instance, dan lokal. Variabel class adalah variabel yang dapat    diakses  oleh semua  method didalam class,  termasuk static method seperti main. Variabel instance sama hal nya dengan variabel class, tetapi tidak menggunakan kata static dalam pendeklarasiannya.

Variabel instance terhubung dengan instance dari class. Jadi kita hahya bisa menggunakannya ketika membuat instance dari class. Karena static method tidak terhubung dengan instance dari class,  kita  tidak bisa menggunakan variabel instance dalam static method dan memasukkannya dalam main method.

Variabel lokal adalah variabel yang dideklarasikan di dalam badan method. Jadi kita hanya dapat menggunakan variabel tersebut hanya di dalam method. Method lain dalam class tidak peduli akan keberadaan variabel tersebut. Dan variabel lokal hanya akan ada jika method (yang memiliki variabel lokal tersebut) dieksekusi.

Dalam pendeklrasiannya kita tidak perlu menambahkan kata static (seperti yang harus dilakukan pada saat mendeklarasikan variabel class). Jika kata static digunakan dalam pendeklarasian variabel lokal, maka compiler akan menghasilkan pesan error dan menolak untuk melakukan compile terhadap program.

Sebuah variabel dideklarasikan dengan terlebih dahulu menuliskan tipe data yang ingin digunakan, kemudian baru menuliskan nama variabelnya, seperti pada contoh di bawa ini.


Pada saat deklarasi variabel, kita juga dapat langsung menginisialisasi nilai dari variabel tersebut, seperti contoh di bawah ini.



Contoh variabel statis:
public class SayHello{
 //Deklarasi class variable
 static String helloMessage = "Hello Programmer";
 public static void main (String args[]){
  System.out.println(helloMessage);
  System.out.println(myNickNameIs);
 }
 //Deklarasi class variable
 static String myNickNameIs = "ghaNOZ2480";
}

Output:



Keterangan program:
  • Public - Pengubah akses yang digunakan untuk kelas, atribut, metode, dan konstruktor, membuatnya dapat diakses oleh kelas lain
  • Static - Pengubah non-akses yang digunakan untuk metode dan atribut. Metode / atribut statis dapat diakses tanpa membuat objek kelas
  • Void - Menentukan bahwa suatu metode tidak boleh memiliki nilai balik
  • String[] args - dalam bahasa pemograman Java adalah larik dengan tipe data String yang bernama args. Nama tersebut disematkan untuk memperjelas bahwa program yang sedang berjalan ini menerima argumen eksternal saat dijalankan.


F.  Operator

Java merupakan bahasa pemrograman yang kaya akan operator. Secara umum, operator di dalam Java dibagi menjadi lima bagian: operator aritmatika, relasional, logika, dan bitwise, dan assignment.
1.  Operator Aritmatika
Operator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan, pengu angan, pembagian dan lain-lain. Tabel berikut ini menunjukkan daftar tabel operator aritmatika di dalam Java.


2.   Operator Relasional
Operator tersebut digunakan untuk membandingkan dua buah nilai (variabel) atau lebih, dimana  operator ini akan mengembalikan atau menghasilkan nilai True atau False. Berikut ini tabel yang berisi daftar operator relasional di dalam Java.


3.  Operator Logika
Operator ini menghasilkan nilai yang sama dengan operator relasional,  hanya saja penggunaannya  lebih pada operasi antara dua buah operand yang bertipe boolean. Berikut ini tabel yang berisi daftar operator logika di dalam Java.


4.  Operator Bitwise
Operator bitwise digunakan untuk memanipulasi nilai dari bitnya, sehingga diperoleh nilai yang lain. Berikut ini adalah daftar operator bitwise dalam Java.


5.   Operator Assignment
Operator assignment digunakan untuk memberikan suatu nilai ke sebuah varibel. Operator tersebut  ditandai dengan tanda sama dengan '='.  Tabel di bawah ini menunjukkan daftar operator assignment.




Latihan



A. Membuat Program Sederhana

  1. Menulis program
    Dengan  menggunakan Editor teks sederhana (misalnya notepad), tulislah program berikut (nomor baris tidak perlu dituliskan) :
    public class Program1{
     public static void main (String[] args){
      System.out.println("Hello World");
     }
    }
    
  2. Menyimpan program
    Simpanlah program diatas pada suatu folder yang sudah disediakan dengan ketentuan:
    -   nama file SAMA PERSIS dengan nama class yang nama class yang memiliki method main() (ingat : Java bersifat case sensitive)
    -   nama file berekstensi .java
    Simpan kode program tersebut dengan nama Programl.java, jangan lupa untuk mengubah bagian "Save as type" menjadi All Types (jangan simpan sebagai .txt).
  3. Kompilasi program
    Langkah berikutnya adalah mengkom pilasi kode program Java yang telah dibuat dengan cara masuk ke dalam command prompt kemudian masuk ke direktori dimana kode program tersebut disimpan. Jangan lupa, sebelumnya Anda harus melakukan pengaturan CLASSPATH terlebih dahulu. Ketikkan kata kunci javac diikuti dengan nama file yang ingin dikompilasi pada command prompt seperti contoh di bawah ini.
    D:\Praktikum\Java\ javac Programl.java     
    
    Setelah berhasil melakukan kompilasi, maka secara otomatis pada direktori dimana Anda menyimpan kode program tersebut akan muncul sebuah file baru yakni Programl.class. Barulah, kita bisa menjalankan file Programl.class dengan mengetikkan kata kunci java diikuti dengan nama file .class yang ingin dijalankan (nama file tidak diikuti ekstensi .class) seperti contoh di bawah ini.
    D:\Praktikum\Java\ java Programl     
    
    Jika berhasil, maka pada command prompt tersebut akan muncul tulisan "Hello World".


B.  ldentifikasi kesalahan

Jika masih ada pesan kesalahan, periksa lagi program diatas, termasuk proses penyimpanannya. Beberapa kesalahan yang sering muncul :
  1. Nama file yang disimpan tidak sesuai dengan nama class-nya.
    Utama.java:1: error: class Program1 is public, should be declared in a file named Program1.java
    public class Program1{
           ^
    1 error
    
  2. Tidak ada void main pada program.
    Exception in thread "main" java.lang.NoSuchMethodError: main
    
  3. Berikan contoh jenis-jenis kesalahan yang lain dan tunjukkan cara memperbaikinya
C. Penggunakan variabel dan tipe data

Tuliskan program di  bawah ini dan lakukan kompilasi. Apakah luaran yang dihasilkan?
public class Program1{
 //variable class
 static int a,b;
 static double c;
  
 public static void main(String[]args){
  //variable lokal
  int hasilTambah;
  double hasilKali;
  
  a = 10;
  b = -5;
  hasilTambah = a + b;
  hasilKali = hasilTambah * c;
  
  System.out.println("Hasil tambah = "+hasilTambah);
  System.out.println("Hasil kali   = "+hasilKali);
 }
}

Penjelasan program
Baris ke-3 dan ke-4 pada kode program di atas merupakan deklarasi variabel global berupa variabel a dan b yang bertipe int serta variabel c yang bertipe double. Sedangkan baris ke-8 dan ke-9 merupakan deklarasi dari variabel lokal berupa variabel hasilTambah yang bertipe int dan variabel hasilKali yang bertipe double yang dideklarasikan di dalam blok program utama (method main()).

Keterangan program :


Output



D. Memberikan input melalui keyboad dan menampilkan ke layar

Untuk mendapatkan inputan dari keyboard, ada 3 perintah input pemrograman java yang akan dibahas yaitu perintah input BufferedReader, perintah  input  Scanner, dan perintah input                JOptionPane.showlnputDialog. Sedangkan untuk perintah output program java ada 2 yaitu  menggunakan System.out.print dan JOptionPane.showMessageDialog.

Pada modul ini akan dikenalkan perintah memasukkan data melalui keyboard menggunakan Scanner  menampilkan input ke layar menggunakan System.out.print .
Contoh program:
import java.util.Scanner;

public class KelasScanner{
 public static void main(String [] args) {
  //Variabel 
  String nama;
  int umur;
  double tinggi;
  
  //instansi class Scanner
  Scanner s = new Scanner (System.in);
  
  //proses inputan
  System.out.print("\nMasukkan nama: "); nama = s.nextLine();
  System.out.print("\nMasukkan Umur: "); umur = s.nextInt();
  System.out.print("\nMasukkan Tinggi: "); tinggi = s.nextDouble();
  
  //output
  System.out.print("\nNama: "+nama);
  System.out.print("\nUmur: "+umur);
  System.out.print("\nTinggi: "+tinggi); 
 }
}


Keterangan program :



Output:



Tugas


  1. Tulislah program di bawah ini dan lakukan kompilasi.
    public class SayHelloC{
     public static void main(String [] args) {
     //deklarasi variabel lokal dalam main method 
     helloMessage = "Hello World";
     System.out.println(helloMessage); 
     String helloMessage;
     } //end of main method"
    }
    

    a.  Jika terjadi kesalahan pada saat kompilasi, tunjukkan pesan kesalahan yang ditampilkan pada layar
    b.  Apa arti pesan kesalahan tersebut?
    c.  Bagaimana cara memperbaiki nya?
  2. Buatlah sebuah program untuk menghitung harga akhir barang dari sebua supermarket yang telah didiskon sebesar 25%! Input dari program adalah harga awal barang sebelum didiskon (melalui keyboard)







Disqus comments