Archive for the ‘java’ Category

[Java] Input Data Melalui Console Menggunakan Class Scanner

Monday, June 23rd, 2008

Dulu untuk menginput data melalui Console dalam Java merupakan hal yang sulit, beda dengan Pascal atau C yang sudah menyediakan sintaksnya, Java belum menyediakan sintaks input melalui Console, untuk melakukannya kita harus membuat sebuah program yang lumayan kompleks kalo untuk pemula.

Untungnya sejak JavaSE versi 5.0 fitur untuk melakukan input melalui Console sudah disediakan dengan menggunakan class Scanner yang dipanggil melalui pustaka java.util.Scanner

Class Scanner ini memiliki method-method yang bisa menerima berbagai tipe data, misalnya integer, string atau float jadi kita gak usah bikin program lagi, tinggal pake aja.

Seperti sintaks-sintaks Java yang lain, pemanggilannya seperti ini:

import java.util.Scanner;
 
public class UjiScan {
  public static void main (String[] args) {
     Scanner in = new Scanner(System.in);
  }
}

Contoh penggunaannya seperti ini:

import java.util.Scanner;
 
public class UjiScan {
        public static void main (String[] args) {
                //Deklarasi Scanner:
                Scanner in = new Scanner(System.in);
 
                //Untuk Menerima Kata:
                System.out.print("Kata: ");
                String kata = in.nextLine();            
                System.out.println("Hello, " + kata);
 
                //Untuk Menerima Kalimat:
                System.out.print("Kalimat: ");
                String kalimat = in.nextLine();         
                System.out.println("Hello, " + kalimat);
 
                //Untuk Menerima Integer:
                System.out.print("Angka 1: ");
                int angka1 = in.nextInt();
                System.out.print("Angka 2: ");
                int angka2 = in.nextInt();              
                int hasil = angka1 + angka2;            
                System.out.println("Hasil Penjumlahan " + angka1 + " dan " + angka2 + " adalah: " + hasil);
 
                //Untuk Menerima Float:
                System.out.print("Angka 1: ");
                float angkafloat1 = in.nextFloat();
                System.out.print("Angka 2: ");
                float angkafloat2 = in.nextFloat();
                float hasilfloat = angkafloat1 + angkafloat2;           
                System.out.println("Hasil Penjumlahan " + angkafloat1 + " dan " + angkafloat2 + " adalah: " + hasilfloat);      
        }
}

Technorati : , , ,
Del.icio.us : , , ,

[Linux] Setting PATH Untuk Kompilasi File JAVA

Monday, June 16th, 2008

Linux dan Windows menggunakan cara yang berbeda untuk menyetting PATH. Walau secara konsep sama, tetapi perintah yang digunakan berbeda. Untuk Linux sendiri bila kita memiliki beberapa Command Prompt Shell, maka setiap Shell akan memiliki caranya sendiri untuk menyetting PATH.

Karena yang digunakan LinuxMint dan menggunakan Shell BASH (Bourne Again Shell), maka perintah yang digunakan menyesuaikan.

Asumsi bahwa Java dalam Linux diinstall di alamat ini

/usr/local/jdk1.6.0

Ada dua cara yang bisa dilakukan, yaitu:

1. Cara Non Permanen

Kalo menggunakan cara non permanen, setiap kita nutup window console maka perintah harus diketik lagi. Perintahnya adalah:

   export PATH=$PATH:/usr/local/jdk1.6.0/bin

2. Cara Permanen

Kalo menggunakan cara permanen maka perintah akan tersimpan dalam file konfigurasi BASH jadi gak perlu diketik ulang.

Misalnya alamat home folder berada di /home/irfan

Maka perintah yang digunakan adalah:

   cd /home/irfan
   nano .bashrc

Kemudian tambah lagi satu baris perintah seperti ini:

   PATH=$PATH:/usr/local/jdk1.6.0/bin

Kalo sudah beres, langsung di save dan coba restart BASH-nya, kalo blon berhasil coba restart Linux-nya.

Technorati : , , , ,
Del.icio.us : , , , ,

[Java] Membuat File JAR

Friday, June 13th, 2008

File JAR dalam Java digunakan sebagai file koleksi library (pustaka) dan/atau sebagai file eksekusi aplikasi. Untuk membuat File JAR dibutuhkan JDK dan perintah jar sudah berada dalam PATH Sistem Operasi yang digunakan.

Bila File JAR digunakan sebagai file koleksi pustaka yang isinya tidak bisa dieksekusi maka perintah untuk membuatnya adalah seperti ini:

   jar cvf NamaJar.jar Nama1.class Nama2.class Nama3.class

atau

   jar cvf NamaJar.jar .

Perhatikan tanda baca titik, tanda baca ini memerintahkan kepada perintah jar untuk menginput semua file dan folder dalam FOLDER INI secara rekursif ke dalam NamaJar.jar

Bila File JAR digunakan sebagai file eksekusi, maka yang pertama harus dibuat adalah File Manifest. File Manifest digunakan untuk memberitahukan Java mana file yang harus dieksekusi. Biasanya file yang harus dieksekusi memiliki perintah:

   public class Nama1 {
     public static void main(String[] args) {
 
     }
   }

Membuat File Manifest:

   Manifest-Version: 1.0
   Created-By: Irfan Ardiansah
   Main-Class: Nama1

Berikan sebuah baris kosong setelah perintah Main-Class, karena perintah jar akan selalu mengabaikan baris terakhir. Simpan dengan nama misalnya manifest.txt Kemudian kita buat File JAR:

   jar cvfm NamaJarEksekusi.jar manifest.txt Nama1.class Nama2.class Nama3.class

atau

   jar cvfm NamaJarEksekusi.jar manifest.txt .

Untuk menjalankan file eksekusi ini gunakan perintah

   java -jar NamaJarEksekusi.jar

Technorati : , , ,
Del.icio.us : , , ,

[Java] Menjalankan Aplikasi JAR

Thursday, June 5th, 2008

Untuk menjalankan Aplikasi Java SE yang sudah berada dalam JAR, digunakan perintah sebagai berikut:

   java -jar NamaFile.jar

Dengan catatan bahwa perintah java sudah berada dalam PATH Sistem Operasi yang digunakan.

Sedangkan untuk menjalankan Aplikasi Java ME yang sudah berada dalam JAR, harus menggunakan Telepon Seluler yang sudah mendukung instalasi aplikasi berbasis Java ME. Untungnya kebanyakan Telepon Seluler yang dijual dipasaran sekarang sudah bisa diinstalasi Java ME.

Kalo maksa pengen pake di PC, silakan cari emulator JAR Java ME yang bertebaran di internet, pake google aja carinya ya.

Technorati : , , ,
Del.icio.us : , , ,

[Java] Variabel dan Tipe Data Primitif

Wednesday, May 28th, 2008

Tipe Data Primitif dalam Java ada 8 (delapan) yang dibagi ke dalam beberapa kelompok dan diurutkan berdasarkan Nilai Minimum dan Nilai Maksimumnya:

1. Bilangan Bulat:

a. byte (Minimum: -128, Maksimum: 127)

b. short (Minimum: -32,768, Maksimum: 32,767)

c. int (Minimum: -2,147,483,648, Maksimum: 2,147,483,647)

int merupakan tipe data yang biasa digunakan untuk nilai-nilai bilangan bulat, kecuali ada alasan untuk menggunakan tipe data bilangan bulat lainnya.

d. long

Minimum: -9,223,372,036,854,775,808

Maksimum: 9,223,372,036,854,775,807

2. Bilangan Desimal:

a. float

float merupakan tipe data yang biasa digunakan untuk nilai-nilai bilangan desimal, kecuali ada alasan untuk menggunakan tipe data bilangan desimal lainnya, misalnya ingin mendapatkan angka dibelakang koma yang lebih spesifik dengan menggunakan double.

b. double

3. Karakter:

char: Hanya menerima sebuah karakter, yang berada diantara single quote, misal ‘a’

4. Boolean:

boolean: Hanya menerima dua jenis pernyataan, true atau false.

Variabel digunakan untuk menyimpan data yang sesuai dengan tipe data yang digunakan, contohnya

   tipeData namaVariabel1;
 
   namaVariabel1 = isiAwal;
 
   tipeData namaVariabel2 = isiAwal;

Dalam Java Variabel memiliki dua posisi penempatan:

1. Lokal

public class Lokal {
 public static void main (String[] args) {
  int angka1 = 1;
  int angka2 = 3;
 }
}

2. Global

public class Global {
 int angka1 = 1;
 int angka2 = 3;
 
 public static void main (String[] args) {
 
 }
}

Contoh Penggunaan Tipe Data Primitif Dalam Java:

public class Lokal {
 public static void main (String[] args) {
  int angka = 123456;
 
  float desimalKecil = 1;
  double desimalBesar = 1.887;
 
  char huruf = 'a';
 
  boolean kebenaran = true;
 
  System.out.println(angka);
  System.out.println(desimalKecil);
  System.out.println(desimalBesar);
  System.out.println(huruf);
  System.out.println(kebenaran);
 }
}

Technorati : , , , ,
Del.icio.us : , , , ,

[Java] Melakukan Kompilasi dan Eksekusi Program JAVA

Thursday, May 15th, 2008

Untuk melakukan kompilasi dan eksekusi file Java, yang pertama kali harus dilakukan adalah menyetting Crimson Editor bila kita menggunakannya atau menyetting PATH dan ClassPATH bila kita menggunakan Command Prompt atau Console yang semuanya telah dibahas dalam tutorial sebelumnya.

Bila menggunakan software Crimson Editor untuk mengetikkan program Java, maka hanya tinggal menggunakan Hot Key-nya untuk melakukan kompilasi dan eksekusi file Java. Pada tutorial sebelumnya kita sudah menggunakan F7 untuk kompilasi dan F5 untuk eksekusi. Setelah kita mengetikkan program dan melakukan kompilasi dengan F7, Crimson Editor harus memiliki tampilan seperti ini:

Crimson_1

Kalau Crimson Editor tidak menampilkan teks apapun, coba cek ke setting Kompilasi Java, pastikan kalau Capture Output sudah diceklist. Tapi kalau ternyata tampilannya muncul tapi tidak seperti gambar maka kemungkinan ada salah tulis/ketik pada kode program, coba cek apakah penulisannya sudah sama (huruf, tanda titik-koma, tanda kurung).

Kalau tampilannya sudah sama, maka langsung coba eksekusi dengan F5, tampilannya adalah:

Crimson_2

Untuk yang menggunakan Command Prompt atau Console, tolong dipastikan lagi kalau PATH dan ClassPATH sudah disetting, kalau belum maka program tidak akan jalan.

Caranya adalah langsung saja mengetikkan perintah di bawah ini di dalam folder tempat kita menyimpan kode program, misalkan kalau Hello.java disimpan di drive C, maka disinilah kita mengetikkan perintah kompilasi dan eksekusi. Cara ini juga berlaku dalam Linux.

Kompilasi:
javac Hello.java

Hasilnya akan kelihatan seperti ini:

Console_1

Bila tidak terjadi kesalahan dalam PATH, ClassPATH atau penulisan kode program, maka kompilasi tidak akan menampilkan pesan apapun (berarti kompilasi berhasil dan program tinggal dieksekusi)

Eksekusi:
java Hello

Hasilnya adalah:

Console_2

Technorati : , , ,
Del.icio.us : , , ,

[Java] Program Pertama - “Hello, World” Dalam Console

Tuesday, May 13th, 2008

Setelah kita melakukan setting PATH secara manual menggunakan Command Prompt/Console atau melakukan setting konfigurasi pada Crimson Editor, sekarang kita coba untuk mengetikkan sebuah program yang hanya akan menampilkan teks Hello, World.

Dalam java, teks yang diketikkan akan memiliki sifat case-sensitive (jadi kata yang diketikkan akan memiliki arti yang berbeda bila hurufnya beda, contoh: java, Java, JAVA adalah tiga kata yang berbeda karena ukuran hurufnya beda)

Program dalam java harus mengikuti beberapa kaidah tertentu, misalnya nama file harus sama dengan nama class dari program tersebut, contoh:

public class NamaFile {
 
}

berarti nama file dari class di atas adalah NamaFile.java. Kalau kita tidak menggunakan cara ini, maka program akan error waktu dikompilasi.

Nama file dalam java harus diakhiri dengan akhiran .java, supaya dapat dikenali sewaktu file dikompilasi. Program pertama kita akan memiliki nama file Hello.java

public class Hello {
 public static void main (String[] args) {
  System.out.println("Hello, World");
 }
}

1. Karena program kita memiliki nama file Hello.java, maka class-nya akan bernama Hello.

2. Perintah: “public static void main (String[] args)” adalah perintah yang akan dicari oleh java untuk mengeksekusi program yang telah kita buat, tapi ini hanya berlaku kalau kita buat program untuk Windows atau Command Prompt/Console. Sekarang kita masih menggunakan perintah ini.

3. Perintah: System.out.println(”Hello, World”) adalah perintah untuk mencetak kata/kalimat “Hello, World” ke layar Command Prompt/Console

4. Coba bedakan dengan beberapa kombinasi perintah di bawah ini, dimana bedanya?

public class HelloLagi {
 public static void main (String[] args) {
  System.out.print("Hello, ");
  System.out.print("World");
 }
}

Simpan dengan nama file: HelloLagi.java

public class LagiLagiHello {
 public static void main (String[] args) {
  System.out.println("Hello, ");
  System.out.println("World");
 }
}

Simpan dengan nama file: LagiLagiHello.java

Technorati : , , , ,
Del.icio.us : , , , ,

[Linux] Mengendalikan Linux Menggunakan Sony Ericsson P990i dan AnyRemote Melalui Bluetooth - Studi Kasus OpenOffice Impress

Wednesday, April 16th, 2008

Pertamanya dapet tutorial dari blog http://dheche.songolimo.net/wp/index.php/2007/09/17/mengontrol-fedora-7-memakai-p990i/ dan http://devel.reinikainen.net/content/view/48/40/

Kita gunakan LinuxMint 4.0 yang berbasis Ubuntu, sehingga kita coba sesuaikan tulisannya untuk Ubuntu dan turunannya. Btw, semua perintah diketikkan dalam Terminal.

Kebutuhan Awal:

1. Dongle Bluetooth (gak mungkin gak pake ini kan :)

2. Ponsel yang mendukung javame library untuk bluetooth (JSR-82), disini kita pakai Sony Ericsson P990i, kebetulan AnyRemote bekerja juga dalam mode Flip Close

3. Software bluetooth (Untuk LinuxMint kebetulan sudah lengkap dan sudah newest version yaitu bluez), kalo belum ada atau gak pasti, bisa download software bluez:

sudo apt-get install bluez-pin bluez-utils

4. Software AnyRemote, karena dalam repository debian belum ada, maka men-download file yang berekstensi *.deb (http://anyremote.sourceforge.net/), dan sewaktu tutorial ini ditulis, versi yang terbaru adalah versi 4.4-2.

a. anyremote_4.4-2_i386.deb (software - WAJIB)

b. anyremote-data_4.4-2_i386.deb (file Konfigurasi - WAJIB)

c. anyremote-doc_4.4-2_i386.deb (dokumentasi - OPTIONAL)

d. AnyRemote Java Client (kita pakai yang anyRemote64.jar untuk diinstall di ponsel - WAJIB)

Langkah Mendeteksi Bluetooth Ponsel:

1. Memastikan bahwa fitur bluetooth sudah terinstal dan berjalan baik

sudo /etc/init.d/bluetooth start

2. Memastikan bahwa dongle bluetooth sudah menyala (Hasilnya harus UP - Lewati langkah 3 bila hasilnya UP)

3. Bila ternyata hasilnya DOWN

sudo hciconfig hci0 up

4. Pastikan bluetooth dalam ponsel sudah menyala dan berada dalam mode Discoverable (P990i: Visible to other devices)

5. Cek apakah ponsel bisa dideteksi oleh Linux

Langkah Koneksi Komputer:

1. Asumsi

a. AnyRemote sudah diinstall di Linux

b. Ponsel sudah bisa dideteksi oleh hcitool scan

c. AnyRemote sudah diinstall di Ponsel (anyRemote64.jar)

2. Yang akan dikendalikan adalah OpenOffice Impress yang sudah terinstall dengan manis di LinuxMint

3. Jalankan AnyRemote dalam Linux

anyremote -f /usr/share/anyremote/cfg-data/Server-mode/ooimpress.cfg

Langkah Koneksi Ponsel:

1. Jalankan AnyRemote dalam ponsel

2. Cari bluetooth yang lagi menyala (pake fitur search yang dimiliki oleh anyRemote64.jar)

3. Kalo ketemu bluetooth yang diinginkan langsung Connect

4. Eksekusi OpenOffice Impress, pilih sebuah file presentasi dan jalankan SlideShow (bisa juga menjalankan langsung lewat ponsel)

5. Langsung deh geser kiri, kanan, awal, akhir menggunakan AnyRemote

Lumayan, dengan menggunakan software AnyRemote ini, gak jadi beli alat presentasi khusus :D

Technorati : , , , , ,
Del.icio.us : , , , , ,

[Windows] Setting ClassPATH Untuk Eksekusi File JAVA

Tuesday, April 15th, 2008

ClassPath adalah sebuah perintah untuk menentukan lokasi dimana tempat class-class milik Java berada, tanpa menggunakan ClassPath maka Java tidak akan mengetahui dimana saja lokasi-lokasinya. Elemen yang dimiliki oleh ClassPath bisa berupa folder dan/atau file JAR. File JAR adalah sebuah file terkompresi yang didalamnya berisi folder dan class-class Java, baik yang dibuat oleh Java ataupun yang dibuat oleh kita.

Ada tiga cara yang dapat dilakukan untuk melakukan setting ClassPath di Windows, yaitu:

1. Melalui Command Prompt (Harus mengetahui dimana folder jdk berada):

Dengan menggunakan perintah:

   SET CLASSPATH=.;C:\Program Files\Java\{versi java}\lib\{nama file jar};C:\FolderJava\Classes;

Bila lokasinya dalam bentuk jar maka harus dipanggil satu persatu, tapi bila bentuknya file class, maka yang dipanggil adalah foldernya.

Perhatikan bahwa ada tanda titik setelah tanda samadengan yang berarti cari dulu di folder INI sebelum cari ditempat lain.

Contoh:

   SET CLASSPATH=.;C:\Program Files\Java\JDK1.5.0_06\lib\tools.jar;C:\Program Files\Java\JDK1.5.0_06\lib\rt.jar;D:\Latihan\Classes;

2. Melalui Argumen Java:

Dengan menggunakan perintah:

   javac -classpath ".;C:\Program Files\Java\{versi java}\lib\{nama file jar};C:\FolderJava\Classes;" NamaFile.java

Contoh:

   javac -classpath ".;C:\Program Files\Java\JDK1.5.0_06\lib\tools.jar;C:\Program Files\Java\JDK1.5.0_06\lib\rt.jar;D:\Latihan\Classes;" Hello.java

3. Melalui Konfigurasi System:

Dengan menggunakan cara yang sama seperti setting PATH, hanya saja setelah menekan tombol New urutannya rada berbeda (Langkah a - e):

f. Bila variable ClassPATH sudah ada maka tekan tombol Edit (seperti pada gambar), kalau belum ada maka tekan tombol New pada blok User Variables

Environment Variable

g. Variable Name: ClassPath

h. Variable Value:

   .;C:\Program Files\Java\{versi java}\lib\{nama file jar};C:\FolderJava\Classes;

Contoh:

   .;C:\Program Files\Java\JDK1.5.0_06\lib\tools.jar;C:\Program Files\Java\JDK1.5.0_06\lib\rt.jar;D:\Latihan\Classes;

i. Bila menggunakan Edit, maka sisipkan perintah yang sama di Variable Value, yang dipisahkan dengan tanda ; (titikkoma - semicolon) dengan perintah sebelumnya

j. Kemudian restart komputer

Error yang terjadi bila ternyata Java tidak menemukan lokasi sebuah class mirip seperti contoh ini:

Exception in thread "main" java.lang.NoClassDefFoundError: MyProgram/class

Technorati : , , , ,
Del.icio.us : , , , ,

[Linux] Software AnyRemote Untuk Mengendalikan Linux Lewat Ponsel

Sunday, April 13th, 2008

AnyRemote (http://anyremote.sourceforge.net/) adalah sebuah software remote control untuk Linux melalui koneksi Bluetooth, Infra Merah, Wireless LAN (WiFi) atau TCP/IP.

Koneksi dilakukan dengan menggunakan:

1. Ponsel yang sudah terinstall AnyRemote java client

2. Linux yang sudah mendukung driver Bluetooth, Wireless atau Infra Merah dan sudah terinstall AnyRemote

AnyRemote berfungsi sebagai layer komunikasi antara Ponsel dan Linux, dan secara prinsip dapat dikonfigurasi untuk mengendalikan semua software yang ada di Linux.

Aku sudah mencoba AnyRemote ini di LinuxMint yang berbasis Ubuntu, ponsel P990i dan berhasil mengendalikan OpenOffice Impress dan Exaile Media Player.

AnyRemote dapat digunakan melalui Terminal Console, KDE atau GNOME, tapi aku lebih suka mengaturnya melalui Terminal Console, lebih fleksibel sih dan lebih sedikit software dependensinya (Dependency Hell :p).

AnyRemote mendukung koneksi melalui

1. Bluetooth menggunakan java client dengan ponsel yang mendukung pustaka JSR-82

2. Wireless LAN (WiFi) menggunakan java client dengan ponsel yang mendukung WiFi

3. Infra Merah, btw, sepertinya ini mah sudah obsolete, masa mengendalikan komputer cuma sejauh 10cm, pake mouse aja ;p

4. TCP/IP, kalo PC dan ponsel terkoneksi melalui internet juga dengan menggunakan java client

5. Bluetooth, Infra Merah atau Kabel Data menggunakan AT-Commands, dengan menggunakan cara ini ponsel yang akan dikendalikan oleh AnyRemote

6. Web, dengan menambah satu software lagi di sisi Linux (anyremote2http), kalo yang ini mengendalikan Linux-nya menggunakan Web Browser yang ada di ponsel.

AnyRemote dapat berfungsi dengan semua ponsel ber-bluetooth, tapi yang pasti berfungsi untuk:

  • Sony Ericsson
  • Nokia Series40 dan Series60
  • Motorola
  • Benq Siemens

Technorati : , , , , ,
Del.icio.us : , , , , ,