14 Desember 2017
Pemrograman Java dengan Apache Ant

Tulisan kali ini akan membahas tentang penggunaan Apache Ant dalam pemrograman java. Apache Ant merupakan tool yang fungsi utamanya adalah untuk mengotomatiskan proses dalam pembuatan program java. Tool ini akan bermanfaat jika kita terpaksa harus membuat program dalam sistem operasi yang tidak memiliki antarmuka grafis (GUI) atau tidak ingin menggunakan aplikasi IDE (NetBeans, Eclipse, dan sejenisnya).

Instalasi dan Konfigurasi

Apache Ant bisa di-download dari alamat url http://ant.apache.org/bindownload.cgi, dan disediakan dalam format berkas .zip dan .tar.gz. Download format berkas yang bisa anda gunakan kemudian ekstrak di direktori yang anda inginkan.

Untuk bisa menggunakan Apache Ant, kita perlu membuat variabel sistem dengan nama %ANT_HOME% dan menambahkan folder bin dari direktori Apache Ant kedalam variabel %PATH%. Perhatikan langkah-langkah berikut :

  1. Diasumsikan kita mengestrak berkas yang sudah didownload sebelumnya pada direktori C:\Program Files\, maka nilai variabel %ANT_HOME% adalah C:\Program Files\apache-ant-1.10.1 (versi yang saya gunakan adalah 1.10.1).

  2. Dalam direktori Apache Ant terdapat folder dengan nama bin yang berisi file-file yang bisa dieksekusi. Nilai yang akan kita tambahkan ke dalam variabel %PATH% adalah C:\Program Files\apache-ant-1.10.1\bin.

Direktori Apache Ant

  1. Variabel sistem dapat disetting melalui Control PanelSystem and SecuritySystemAdvanced System Settings ⇒ Pada jendela System Properties klik tombol Environment Variables. Untuk menambah variabel baru klik tombol New dan untuk memodifikasi variabel yang sudah ada klik tombol Edit. Hasil akhir dari konfigurasi adalah sebagai berikut :

Variabel ANT_HOME

Variabel PATH

  1. Kita bisa menguji hasil konfigurasi melalui aplikasi Command Prompt dengan mengetikkan perintah ant, seperti berikut :

Command Prompt

Menggunakan Apache Ant

Apache Ant menggunakan sebuah file XML dengan nama build.xml. File build.xml berisi sebuah project dan sebuah project menampung paling sedikit satu buah target. Target akan menampung satu atau lebih elemen perintah yang harus dikerjakan.

Contoh sederhana dari file build.xml adalah sebagai berikut :

<?xml version="1.0"?>
<project name="HelloWorldGUI" basedir="." default="init">   <!-- project  -->
  <target name="init">                                      <!-- target   -->
    <mkdir dir="classes"/>                                  <!-- task 1   -->
    <mkdir dir="dist"/>                                     <!-- task 2   -->
  </target>
</project>

Penjelasan :

Eksekusi dua atau lebih target secara berurutan dapat dilakukan dengan memanfaatkan atribut depends. Perhatikan contoh berikut :

<target name="A"></target>
<target name="B" depends="A"></target>

Pada contoh diatas, target B bergantung (depends) kepada target A. Tiap kali kita memanggil target B, Apache Ant akan mengerjakan task pada target A baru kemudian mengerjakan task pada target B.

Contoh Program

Dalam contoh ini kita akan membuat sebuah program java menggunakan Apache Ant. Kita tentukan direktori project yaitu C:\HelloWorldGUI. Dalam direktori tersebut, kita membuat sebuah folder baru dengan nama src yang nantinya akan menampung kode program java. Selain itu kita juga membuat file build.xml seperti berikut :

<?xml version="1.0"?>
<project name="HelloWorldGUI" basedir="." default="build">

  <target name="clean">
    <delete dir="classes"/>
    <delete dir="dist"/>
  </target>

  <target name="init">
    <mkdir dir="classes"/>
    <mkdir dir="dist"/>
  </target>

  <target name="build" depends="clean,init">
    <javac includeAntRuntime="false" srcdir="src" destdir="classes"/>
  </target>

  <target name="test" depends="build">
    <java classpath="classes" classname="com.sad301.Main" fork="true" spawn="true"/>
  </target>

  <target name="dist" depends="build">
    <jar destfile="dist/HelloWorldGUI.jar" basedir="classes"/>
  </target>

</project>

Sampai disini kita bisa lanjutkan ke penulisan kode program. Ketikkan kode berikut kemudian simpan pada folder src dengan nama Main.java.

package com.sad301;

import javax.swing.*;

public class Main extends JFrame {

  public Main() {
    setTitle("Hello World GUI");
    setSize(400, 400);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }

  public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> {
      (new Main()).setVisible(true);
    });
  }

}

Berdasarkan file build.xml diatas, kita memiliki 5 pilihan target yaitu :

  1. clean ⇒ target ini akan menghapus folder classes dan dist
  2. init ⇒ target ini akan membuat folder dengan nama classes dan dist
  3. build ⇒ target ini akan meng-compile kode program yang tersimpan di folder src dan menyimpan file .class hasil kompilasi di folder classes. Target ini juga akan mengerjakan clean dan init
  4. test ⇒ target ini menjalankan program java yang tersimpan di folder classes. Target ini juga akan mengerjakan build
  5. dist ⇒ target ini mengepak file-file .class menjadi file .jar didalam folder dist. Target ini juga akan mengerjakan build

Jalankan kembali aplikasi command prompt, kemudian pindah ke direktori C:\HelloWorldGUI. Pada direktori tersebut kita bisa eksekusi Apache Ant dengan menyebutkan salah satu dari 5 target diatas, sebagai contoh :

ant dist

Output dari perintah diatas adalah sebagai berikut :

Command Prompt 2