Posts Tagged ‘pemrograman’

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

[Linux] Konfigurasi Fitur Untuk Nano Text Editor

Nano adalah sebuah editor teks yang sudah terintegrasi dalam linux bersama VI dan Emacs. Ketiga software ini biasanya digunakan dalam shell linux.

Fitur yang kurang dari nano ini misalnya adalah indentasi otomatis, no wrap, backup file dan terutama untuk programmer adalah syntax color highlight.

Fitur-fitur tersebut bisa diaktifkan, tapi harus buat dulu satu file bernama “.nanorc” di folder home milik kita.

Disini saya buatnya pake nano, jadi konfigurasi nano menggunakan nano :D

Folder home yang saya gunakan adalah: “/home/irfan”, silakan sesuaikan dengan home folder masing-masing.

Langkahnya:

1. Dengan menggunakan console bawaan linux

   cd /home/irfan

2. Buat file baru dengan nama .nanorc

   nano .nanorc

3. Tuliskan perintah-perintah di bawah ini di file .nanorc untuk mengaktifkan fiturnya.

a. Mengaktifkan Indentasi Otomatis

   set autoindent

b. Mengaktifkan Backup File

   set backup

c. Menonaktifkan Text Wrap

   set nowrap

d. Mengaktifkan History Nano

   set historylog

e. Mengaktifkan Smooth Scrolling

   set smooth

f. Jarak indentasi, harus lebih besar dari 0

   set tabsize 8

Contoh dari file .nanorc yang saya punya

   # Use auto-indentation
   set autoindent
 
   # Backup files to filename~
   set backup
 
   # Use cut to end of line with ^K by default
   set cut
 
   # Enable ~/.nano_history for saving and reading search/replace strings.
   # set historylog
 
   # Do not convert files from DOS/Mac format
   set noconvert
 
   # Do not follow symlinks when writing files
   # set nofollow
 
   # Do not display the help lists at the bottom of the screen
   # set nohelp
 
   # Do not wrap text at all
   set nowrap
 
   # Use smooth scrolling as the default
   set smooth
 
   # Allow nano to be suspended with ^Z
   # set suspend
 
   # Use this tab size instead of the default; it must be greater than 0
   # set tabsize 8
 
   # Save automatically on exit, do not prompt
   # set tempfile

Yang berada dalam tanda pagar (#) berarti tidak akan dieksekusi karena dianggap komentar.

Dengan bantuan dari: linuxhowto

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

5 comments - What do you think?

Posted by irfan_ardiansah    Date: Monday, June 30, 2008

Categories: linux

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

Situs Untuk Menyederhanakan Link – http://oerl.co.cc

Baru aja iseng buat sebuah situs yang bernama http://oerl.co.cc/ menggunakan PHP dan MySQL. Situs ini berfungsi untuk menyederhanakan alamat situs yang panjang supaya lebih mudah diingat atau ditampilkan.

Misalnya link:

http://gadjah.net/2008/04/16/linux-mengendalikan-linux-menggunakan-sony-ericsson-p990i-dan-anyremote-melalui-bluetooth-studi-kasus-openoffice-impress/

Panjang banget kan, kalo dengan situs ini bisa kita persingkat menjadi: http://oerl.co.cc/IRKUS, coba aja diklik, pasti di-redirect ke halaman diatas. Dipersingkat karena kalo kita ngirim link via email, messenger dan linknya panjang biasanya terpotong, sedangkan kalo pendek kan gak mungkin terpotong.

Kenapa buat-buat yang seperti itu kan udah ada, alasannya sama kayak orang laen. Kalo mau pinter harus tetep belajar :D , kalo gak punya ide mo bikin apa, tiru aja yang udah ada. Toh gak ada yang ngelarang. Cuma mungkin yang kita buat belum sesempurna yang sudah ada.

Ayo, ayo pada berkunjung ke http://oerl.co.cc/, buatan Indonesia asli dan gratis. Tes ya, kalo ada bug tolong kasih tau ya.

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

3 comments - What do you think?

Posted by irfan_ardiansah    Date: Monday, June 9, 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: , , , ,

[Linux] Parameter dan File Konfigurasi Yang Dimiliki XAMPP

XAMPP Dalam Linux memiliki beberapa parameter yang digunakan untuk menjalankan dan menghentikan kerja seluruh server yang ada dalam XAMPP.

Parameter Deskripsi
start Menjalankan XAMPP
stop Menghentikan XAMPP
restart Menghentikan kemudian Menjalankan kembali XAMPP
startapache Hanya menjalankan Apache Server
startssl Menjalankan Apache dalam mode Secure Socket Layer
startmysql Hanya menjalankan MySQL Server
startftp Hanya menjalankan ProFTPD Server
stopapache Hanya menghentikan Apache Server
stopssl Menghentikan Apache dalam mode Secure Socket Layer
stopmysql Hanya menghentikan MySQL Server
stopftp Hanya menghentikan ProFTPD Server
reload Me-load ulang XAMPP
reloadapache Hanya Me-load ulang Apache Server
reloadmysql Hanya Me-load ulang MySQL Server
reloadftp Hanya Me-load ulang ProFTPD Server
php5 Aktifkan PHP5 dan Non Aktifkan PHP4
php4 Aktifkan PHP4 dan Non Aktifkan PHP5
phpstatus Mengecek Versi PHP yang aktif
backup Melakukan backup pada file konfigurasi XAMPP, log dan data
panel Menjalankan XAMPP Control Panel berbasis GUI
security Menjalankan perintah untuk mengecek Security XAMPP

Contoh Penggunaan:

/opt/lampp/lampp start

Posisi Folder dan File Penting Dalam XAMPP:

Folder/File Deskripsi
/opt/lampp/bin Folder File Eksekusi XAMPP
/opt/lampp/htdocs Folder File WebSite
/opt/lampp/etc/httpd.conf File Konfigurasi Apache
/opt/lampp/etc/my.cnf File Konfigurasi MySQL
/opt/lampp/etc/php.ini File Konfigurasi PHP
/opt/lampp/etc/proftpd.conf File Konfigurasi ProFTPD

Kenapa XAMPP digunakan? Karena untuk fungsi pengembangan XAMPP sudah sangat mewah, mendukung seluruh aplikasi-aplikasi yang dibutuhkan untuk pengembangan Web.

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

Be the first to comment - What do you think?

Posted by irfan_ardiansah    Date: Monday, May 26, 2008

Categories: linux

Tags: , , , , , ,

[Linux] Instalasi dan Penggunaan XAMPP For Linux

XAMPP adalah sebuah software web server apache yang didalamnya sudah tersedia database server mysql dan support php programming. XAMPP merupakan software yang mudah digunakan, gratis (pasti) dan mendukung instalasi di Linux dan Windows. Keuntungan lain adalah cuma nginstal sekali dapat Apache Web Server, MySQL Database Server, PHP Support (PHP4 dan PHP5) dan beberapa module.

Hanya bedanya kalo yang Windows sudah dalam bentuk instalasi grafis dan yang Linux dalam bentuk file terkompresi tar.gz. Sentuhan lain yang berbeda adalah Windows memiliki fitur menyalakan server secara grafis, sedangkan Linux masih berupa perintah dalam console. Karena yang Linux rada sulit, maka versi ini saja yang akan dibahas.

Dulu, XAMPP untuk Linux dinamakan LAMPP, sekarang namanya hanya XAMPP FOR LINUX.

Perintah yang dibahas disini menggunakan LinuxMint, jadi seharusnya berlaku untuk semua Ubuntu dan turunannya, dan dengan asumsi bahwa XAMPP sudah didonlot :D , saya pake yang versi 1.6.6, sesuaikan versinya ya.

Instalasi:

1. Akses Linux Shell (Console)

2. Ekstraksi akan dilakukan ke folder /opt, karena folder /opt milik root maka harus memiliki account su

sudo tar xvfz xampp-linux-1.6.6.tar.gz -C /opt

3. XAMPP sudah terinstall dalam folder /opt/lampp

Penggunaan:

1. Untuk menjalankan XAMPP tinggal menggunakan perintah ini dalam Shell

/opt/lampp/lampp start

Bila terjadi error otorisasi login, gunakan su

sudo /opt/lampp/lampp start

2. Bila perintah dieksekusi dan berhasil, maka akan muncul teks:

Starting XAMPP 1.6.6...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

Berarti Apache dan MySQL sudah berjalan di background.

Pengujian:

1. Buka Web Browser

2. Ketikkan http://localhost dalam Web Browser

3. Bila masuk ke dalam Web XAMPP berarti semua langkah telah berhasil dilakukan.

Pengamanan (Optional):

Secara default, ada beberapa faktor keamanan yang harus dikonfigurasi. Faktor keamanan yang masih harus dikonfigurasi adalah:

1. MySQL Administrator (root) tidak memiliki password.

2. MySQL Daemon dapat diakses dari jaringan

3. ProFTPD menggunakan password “lampp” untuk user “nobody”

4. PHPMyAdmin dapat diakses dari jaringan

5. Semua contoh dapat diakses dari jaringan

6. MySQL dan Apache bekerja dalam konfigurasi user yang sama (nobody)

Untuk memperbaiki beberapa faktor keamanan dapat digunakan perintah ini:

/opt/lampp/lampp security

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

10 comments - What do you think?

Posted by irfan_ardiansah    Date: Wednesday, May 21, 2008

Categories: linux

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