Posts Tagged ‘algoritma’

[Java] Penggunaan Kondisi Part 1

Kondisi dipake untuk memilih salah satu dari beberapa pilihan yang muncul saat buat program, hasil yang didapatkan dari kondisi ini cuma dua, yatu TRUE atau FALSE.

Semua bahasa pemrograman punya perintah ini, dalam Java ada tiga versi perintah kondisi, yaitu:

  • Kondisi IF
  • Kondisi Switch Case
  • Kondisi Ternary Operator

Operator yang dapat digunakan:

  • ==
  • >
  • <
  • >=
  • <=
  • !=
  • !

Khusus untuk perbandingan String digunakan method equals.

Kondisi juga dapat digabungkan dengan menggunakan operator seperti:

  • and, simbolnya: &&
  • or, simbolnya: ||
  • xor, simbolnya: ^

Cara Penggunaan Kondisi IF:

int i = 5;
 
if (i < 10) {
 System.out.println(i);
}
else if (!(i >= 10)) {
 System.out.println(i);
}
else {
 System.out.println(i);
}

Kondisi IF dengan String:

String password = "irfan";
 
if (password.equals("irfan")) {
 System.out.println(password);
}
else {
 System.out.println("password salah");
}

Kondisi IF dengan Operator Penggabungan:

int i = 5;
 
if ((i < 10) && (i == 5)) {
 System.out.println(i);
}
else if ((i >= 10) || (i <= 20)) {
 System.out.println(i);
}
else {
 System.out.println(i);
}

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Friday, November 21, 2008

Categories: java, linux, windows

Tags: , , , ,

Resin Quercus Server – Buat Program Pake PHP dan Java Sekaligus Part 3

Untuk memecahkan permasalahan yang terjadi saat menggunakan beberapa pustaka Java yang dianggap invalid ternyata sangat mudah, dengan cara membuat class Java baru untuk membungkus class yang sudah ada.

Misalnya class String yang method length-nya dianggap invalid oleh Resin.

Kita buat class Java baru seperti ini:

package gadjah;
 
import java.lang.String;
 
public class StringKu {
        private String value;
 
        public StringKu(String value) {
                this.value = value;
        }
 
        public int length() {
                return value.length();
        }
}

Masih dengan asumsi bahwa Resin disimpen di D:\Java\resin-3.1.7a\, maka file class Java di atas di-copy ke direktori

   D:\Java\resin-3.1.7a\webapps\ROOT\WEB-INF\classes\gadjah\

Trus ditest menggunakan file PHP, misalnya seperti ini:

<?php
	import gadjah.StringKu;
 
	$nama = new StringKu('irfan ardiansah');	
 
	$pjg = $nama->length();
 
	echo $pjg;
?>

Seharusnya sekarang setelah file PHP dieksekusi maka akan tampil jumlah huruf dari kata yang diinput. Mudah kan.

Jadi sepertinya untuk beberapa class dan method blon didukung oleh Resin, sehingga harus pake cara muter-muter untuk mendapatkan hasil yang diinginkan. Tapi cara alternatif biasanya akan membuat kita jadi tambah cerdas :D

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Monday, November 3, 2008

Categories: java, linux, windows

Tags: , , ,

Resin Quercus Server – Buat Program Pake PHP dan Java Sekaligus Part 2

Setelah tau cara konfigurasi Resin, sekarang kita coba buat program pake PHP dulu, misal disimpan dengan nama file info.php

  <?php
    phpinfo();
  ?>

Dengan asumsi bahwa direktori Resin ada di D:\Java\resin-3.1.7a\, kita simpan file info.php di direktori

   D:\Java\resin-3.1.7a\webapps\ROOT\

Trus setelah Resin Server dijalankan, coba akses http://localhost:8080/info.php, pasti akan muncul informasi server yang digunakan. Walau isinya gak sama dengan punya Apache.

Sekarang kita coba gabungkan PHP dan Java, kita akan buat program PHP yang manggil pustaka Java yang dimisalkan disimpan dengan nama file coba.php

<?php
 import java.util.Random;
 
 $acak = new Random();
 
 $angka = $acak->nextInt(10);
 
 echo $angka;
?>

Coba jalankan, pasti gak ada error, padahal kita pake pustaka Random milik Java.

Tapi ternyata Resin masih memiliki bug, beberapa pustaka Java tidak dapat dikenali, misalnya

<?php
 import java.lang.String;
 
 $nama = new String('irfan ardiansah');
 
 echo $nama;
 echo '<br />';
 echo '<br />';
 
 $pjg = $nama->length();
 
 echo $pjg;
?>

tulisan irfan ardiansah akan muncul dilayar, tapi method length() milik Java akan menyebabkan program menjadi error, tampilannya seperti ini

irfan ardiansah
 
/D:/Java/resin-3.1.7a/webapps/ROOT/MyBean.php:10: Fatal Error: 'length' is an unknown method of binary(15) "irfan ardiansah".

Seharusnya yang tampil di layar adalah 15. Payahnya di forum-nya dah bertanya tapi gak ada yang ngejawab. Akhirnya nemuin jawabannya sendiri yang ternyata sederhana banget.

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Friday, October 31, 2008

Categories: java, linux, windows

Tags: , , ,

Resin Quercus Server – Buat Program Pake PHP dan Java Sekaligus Part 1

Resin sih sebuah Application Server untuk Java seperti Apache Tomcat atau Glassfish, jadi digunakan untuk buat program untuk JavaEE.

Keunggulan Resin dibanding yang laen adalah dia sudah support juga bahasa pemrograman PHP, jadi kita bisa kombinasikan Java dan PHP
sekaligus.

Kok bisa ya, ternyata karena dalam Resin ada satu pustaka yang namanya Quercus, Quercus ini yang menerjemahkan perintah PHP menjadi perintah Java dan sebaliknya.

Kalo gak mau pake Resin, pengennya pake Tomcat atau Glassfish ternyata bisa aja, kita tinggal download pustaka Quercus-nya aja tanpa perlu download Resin.

Enaknya Resin adalah karena dia berbasis Java maka gak perlu diinstall, hanya tinggal diekstrak dan kita tinggal setting Environment Variables-nya.

Resin memerlukan beberapa setting, diantaranya CLASSPATH, JAVA_HOME dan RESIN_HOME, maka kita buat sebuah file namanya setpath.bat.

Asumsi yang digunakan adalah Windows, Java dan Resin diinstall di D:\Java

SET CLASSPATH=D:\Java\JDK1.5.0_06\lib\tools.jar;.   
 
SET JAVA_HOME=D:\Java\JDK1.5.0_06
 
SET RESIN_HOME=D:\Java\resin-3.1.7a
 
java -jar resin.jar

Save dengan nama setpath.bat trus simpan di direktori lib milik Resin, kebetulan ada di D:\Java\resin-3.1.7a\lib\

Eksekusi setpath.bat, otomatis juga Resin server langsung jalan. Tinggal buat program deh.

4 comments - What do you think?

Posted by irfan_ardiansah    Date: Wednesday, October 29, 2008

Categories: java, linux, windows

Tags: , , ,

[Java] Mrogram Java dengan Bahasa Pemrograman Lain

Java punya beberapa varian, misal JavaSE untuk pemrograman Desktop dan Applet, JavaEE untuk pemrograman Web dan aplikasi berbasis Enterprise atau JavaME untuk pemrograman berbasis perangkat bergerak atau yang lebih dikenal di Indonesia dengan nama hape.

Tapi ternyata Java juga disupport oleh beberapa bahasa pemrograman lain, jadi kita bisa bikin program java pake bahasa tersebut, atau sebaliknya kita bikin program untuk bahasa tersebut dengan menggunakan Java. Jadi seperti peribahasa "Sekali Dayung Dua sampai Tiga Pulau Terlampaui".

Digunakan untuk yang ingin belajar banyak bahasa pemrograman tapi gak mau nginstal banyak software, karena semua tools yang dipake semuanya dibuat menjadi pustaka Java berekstensi jar, jadi gak perlu install, hanya tinggal ekstrak aja.

1. GWT (Google Web Toolkit)

GWT dipake untuk membuat aplikasi web berbasis AJAX tapi bahasa pemrograman yang kita pakai adalah Java, dibuat oleh team google. Tampilan yang dihasilkan dari aplikasi khas banget dengan ciri google.

2. Jython

Kombinasi antara Java dan Python, Bisa buat aplikasi Python menggunakan Java atau sebaliknya buat aplikasi Java menggunakan Python.

3. JRuby

Kombinasi antara Java dan Ruby. Punya support untuk Ruby on Rails, dengan nama JRuby on Rails. Untuk yang udah denger sebuah bahasa scripting yang namanya ruby, tapi blon nyobain sampe saat ini.

4. QTJambi

Yup, namanya Jambi seperti nama sebuah provinsi di Sumatera. Mungkin idenya dicomot dari Java yang nama sebuah pulau di negara kita juga :-P . QT adalah sebuah windows framework berbasis C++, tapi digabungkan dengan Java sehingga kita bisa pake library QT di bahasa pemrograman Java.

5. ZK

Dengan ZK kita bisa membuat aplikasi web berbasis AJAX untuk JavaEE tanpa perlu ngerti bagaimana sintaks dari AJAX itu sendiri. Hanya tinggal memanggil tag-tag yang perintahnya mirip dengan tag HTML. Tinggal gabungin dengan Servlet atau JSP.

6. Quercus

Kalo yang ini bukan sebuah bahasa pemrograman, tapi sebuah web server yang sanggup menangani PHP dan Servlet. Jadi kita buat program tetep pake PHP, oleh server ini akan diterjemahkan menjadi pustaka Java. Sehingga kita bisa mengimport pustaka Java di source PHP.

Baru 6 aja yang ke-ulik, itu juga masih dasarnya blon sampe pemrograman kompleks. Kayak ada waktu aja untuk mendalami semuanya :-P . Yang penting gak ketinggalan teknologi dulu deh.

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Monday, October 27, 2008

Categories: java, linux, myself, windows

Tags: , , ,

[Java] Membuat Penghitung Waktu Dengan Timer dan TimerTask

Dengan menggunakan pustaka Timer dan TimerTask milik Java, kita bisa membuat program untuk menghitung waktu maju dan mundur. Pustaka ini dimiliki oleh java.util. Karena waktu dihitung menggunakan milidetik, maka jangan lupa kalo 1 detik = 1000 milidetik.

Ada dua parameter penting yang harus diingat, yaitu delay dan periode. Delay digunakan untuk memberitahu program kapan penghitungan dimulai, sedangkan periode digunakan untuk mengulang waktu.

Algoritma Menghitung Waktu Maju

import java.util.*;
 
public class TimerTest {
    static int minute = 0;
    static int second = 0;
 
    public static void main(String[] args) {
        int delay = 0;
        int period = 1000;
 
        Timer timer = new Timer();
 
        timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
               if (second < 60){
                System.out.println(minute + ":" + second);
               }
               else if (second >= 60) {
                second = 0;
                minute++;
                System.out.println(minute + ":" + second);
               }
               second++;
            }
        }, delay, period);
    }
}

Algoritma Menghitung Waktu Mundur

import java.util.*;
 
public class TimerTest {
    static int second = 0;
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
 
        int delay = 0;
        int period = 1000;
 
        System.out.print("Second: ");
        second = in.nextInt();
 
        final Timer timer = new Timer();
 
        timer.scheduleAtFixedRate(new TimerTask() {
            public void run() {
               if (second >= 0){
                System.out.println(second);
               }
               else {
                timer.cancel();
               }
               second--;
            }
 
        }, delay, period);
    }
}

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

6 comments - What do you think?

Posted by irfan_ardiansah    Date: Thursday, August 28, 2008

Categories: java

Tags: , , ,

[Java] Input Data Melalui Console Menggunakan Class Scanner

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 : , , ,

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Monday, June 23, 2008

Categories: java, linux, windows

Tags: , , ,

[PHP] Mendapatkan Angka Random

Perintah untuk mendapatkan angka random dalam PHP menggunakan sebuah
fungsi yang bernama mt_rand(), mt_rand() merupakan sebuah fungsi yang sudah terintegrasi dengan PHP sehingga tidak perlu menginstall pustaka apapun, dengan contoh seperti ini:

1. Mendapatkan sebuah angka random:

<?php
 $angka = mt_rand();
 echo $angka;
?>

2. Mendapatkan sebuah angka random berdasarkan range:

<?php
 $angka = mt_rand(0, 99);
 echo $angka;
?>

Dengan memakai perintah diatas, maka angka random yang muncul
merupakan angka yang berada diantara 0 sampai 99 (0 <= angka <= 99)

3. Mendapatkan banyak angka random, misalnya 10 angka random

<?php
 $banyakAngka = 10;
 
 for ($i = 0; $i < $banyakAngka; $i++) {
  $angka = mt_rand();
  echo $angka;
  echo '<br />';
 }
?>

4. Mendapatkan banyak angka random berdasarkan range, misalkan 10 angka random dan range-nya 1 sampai 50.

<?php
 $banyakAngka = 10;
 
 for ($i = 0; $i < $banyakAngka; $i++) {
  $angka = mt_rand(1, 50);
  echo $angka;
  echo '<br />';
 }
?>

5 comments - What do you think?

Posted by irfan_ardiansah    Date: Thursday, June 19, 2008

Categories: myself

Tags: , , ,

[Java] Variabel dan Tipe Data Primitif

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 : , , , ,

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Wednesday, May 28, 2008

Categories: java

Tags: , , , ,

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

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 : , , , ,

2 comments - What do you think?

Posted by irfan_ardiansah    Date: Tuesday, May 13, 2008

Categories: java

Tags: , , , ,