WWW.USBINOV.COMPiranti USB untuk PC, Laptop dan Raspberry Pi.

Mencoba Menjalankan File JAR Pada Raspberry Pi B+

Pada OS Raspbian, Java Runtime Environment (JRE) sudah terinstalasi (bawaan OS) sehingga Raspberry Pi dengan OS Raspbian siap menjalankan aplikasi Java. Tertarik dengan kemampuan Raspberry Pi untuk menjalankan file JAR, maka saya mencoba membuat beberapa program sederhana menggunakan Clojure pada komputer linux saya dan kemudian mencoba menjalankannya di Raspberry Pi.

Program pertama sangat sederhana, yakni hanya menampilkan tulisan pada layar console. Berikut adalah kode programnya dalam bahasa Clojure.

(ns hai.core
  (:gen-class))

(defn -main
  "Cuma mau bilang Hai..."
  [& args]
  (println "Hello, World!")
  (def a (/ 22 7.0)
  (println "PI =" a)
)

Program di atas akan menampilkan tulisan “Hello World!” dan nilai PI yakni 3.142857…. hasil dari kalkulasi 22/7.0. Setelah proses kompilasi hingga menghasilkan file aplikasi JAR. Saya kopi file hai.jar ke Raspberry Pi dan saya eksekusi dengan perintah:

$ java -jar hai.jar

Walhasil, hai.jar berhasil dieksekusi di Raspberry Pi. Java memang masih Rajanya Multi-platform. Write Once – Run Everywhere bukanlah omong-kosong. Hasil eksekusinya bisa dilihat pada gambar (screenshot) di bawah ini.

RASPI CLOJURE JAVA JAR

Iseng-iseng saya tambahkan perintah time untuk mengetahui seberapa lama waktu yang dibutuhkan oleh perintah java -jar hai.jar. Dan hasilnya bisa dilihat pada screenshot di atas bahwa waktu eksekusi untuk program hai.jar sangatlah lama, yakni 25,988 detik. Wew… lama sekali, bukan?

Nah, setelah mencoba dengan program console sederhana, saya mencoba membuat program Clojure dengan GUI sederhana menggunakan Swing. Program GUI ini berfungsi untuk menghitung luas lingkaran dengan masukan jejari lingkaran. Berikut adalah kode programnya.

(ns lingkaran.core
  (:gen-class)
  (:import [javax.swing JFrame JLabel JTextField JButton]
           [java.awt.event ActionListener]
           [java.awt GridLayout]))

(defn -main[]
  (let [frame (new JFrame "Luas Lingkaran")
         jejari-text (new JTextField)
         jejari-label (new JLabel "Jejari:")
         hitung-button (new JButton "Luas =")
         luas-label (new JLabel "Luas")
         linuxforte-text (new JLabel "Linux Forte")
         raspi-text (new JLabel "Raspberry Pi Notes")]
  (. hitung-button
    (addActionListener
      (proxy [ActionListener] []
        (actionPerformed [evt]
          (let [r (Double/parseDouble (. jejari-text (getText)))]
            (. luas-label (setText (str (* 3.14 (* r r))))))))))
  (doto frame
    (.setDefaultCloseOperation (JFrame/EXIT_ON_CLOSE))
    (.setLayout (new GridLayout 3 2 3 3))
    (.add jejari-label)
    (.add jejari-text)
    (.add hitung-button)
    (.add luas-label)
    (.add linuxforte-text)
    (.add raspi-text)
    (.setSize 400 150)
    (.setVisible true))))

Dan setelah proses kompilasi hingga menghasilkan file aplikasi JAR, saya kopi file lingkaran.jar ke Raspberry Pi dan mencoba menjalankannya dengan perintah:

$ java -jar lingkaran.jar

Dan program GUI menghitung luas lingkaran pun berhasi dieksekusi dengan baik pada platform Raspberry Pi. Hasil eksekusinya bisa dilihat pada screenshot di atas.

Kesimpulan

Sebenarnya tidak ada kesimpulan yang istimewa dari eksperimen ini. Eksperimen ini hanyalah sebuah pembuktian sederhana bahwa file aplikasi JAR yang saya buat di komputer x86 bisa bekerja dengan baik pada platform Raspberry Pi B+ (Arm6). Itu saja.

I’m A Clojure’s Newbie

Saya baru mulai belajar pemrograman Clojure. Dan sebagai pemula, tentu saya ingin sekali membuktikan bahwa file aplikasi JAR benar-benar bisa dijalankan pada semua platform dengan Java Runtime Environment. Dan hasil eksperimen ini membuat saya semakin semangat mempelajari Clojure.

Clojure adalah bahasa pemrograman dinamis dengan target Java Virtual Machine (JVM). Clojure mengompilasi kode program menjadi JVM bytecode. Selain Clojure dengan target JVM, Clojure juga memiliki varian lain yakni ClojureCLR dan ClojureScript. ClojureCLR adalah implementasi Clojure untuk Microsoft .NET, sedangkan ClojureScript adalah Clojure dengan target JavaScript.

Nah, cukup sekian Catatan Eksperimen Raspberry Pi kali ini. Selamat membaca catatan-catatan eksperimen saya yang lain. Semoga bermanfaat.

Selamat berkarya.

 

 

 

Add a Comment

Your email address will not be published. Required fields are marked *