Kena Cacar Air Euy!


Dasar, setelah bertahun-tahun dapat menghindar dari penyakit yang satu ini. Malah kenanya pas lagi nganterin anak untuk imunisasi. Ada anak lain yang sedang kena cacar air ngantri periksa ke dokter, eh dua minggu kemudian dateng deh totol-totol disertai sakit kepala dan meriang.

Gak jadi jalan-jalan deh liburan ini, malah dikarantina di rumah orang tua. Sedangkan istri dan anak ditinggal di mertua, untungnya istri dah pernah kena, yang takut kena sih karena di rumah mertua ada dua bayi. Takut ketularan dua-duanya.

Tags: ,

[Java] Membaca File Teks


Membaca file teks dalam Java bisa menggunakan class yang namanya:

FileReader dan BufferedReader

Keduanya berada dalam pustaka java.io.

IO merupakan singkatan dari Input Output. Jadi semua pekerjaan yang membutuhkan transaksi data yang berada dalam harddisk dan jaringan bisa menggunakan pustaka ini.

import java.io.*;
 
public class BacaFileTeks {
	public void baca(String namaFile) {
		try {
			FileReader html = new FileReader(namaFile);
			BufferedReader baca = new BufferedReader(html);
 
			String lihat = "";
			int i = 0;
			char huruf = 'a';
 
			while ((lihat = baca.readLine()) != null) {
				for (i = 0; i < lihat.length(); i++) {
					huruf = lihat.charAt(i);
					System.out.print(huruf);
				}
			}
 
			baca.close();
 
		}
		catch (IOException e) {
			System.out.println("Error Dalam Membaca File");
		}
	}
}

Kemudian dipanggil dengan langsung memanggil juga nama file yang akan dibaca, misal:

public class Uji {
	public static void main (String[] args) {
		BacaFileTeks b = new BacaFileTeks();
		b.baca("D:\\Free.txt");
	}
}

Tags: , ,

[Java] Permainan Tebak Angka Dengan Applet dan Random Number


Coba sekarang dengan menggunakan angka random. Dengan angka random pasti hasilnya lebih sulit ditebak. Logikanya sama seperti kemaren hanya applet-nya aja yang diubah. Untuk memanggil random kita harus gunakan pustaka:

Kemudian memanggil angka acak dari 1 - 100, karena angka acak dimulai dari 0 maka angka acak harus ditambah 1.

import java.util.Random;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
 
public class RanTA extends Applet {
	private int random, seek;
	private TextField t1, t2;
	private Button b1, b2;
	TebakAngka tA;
	Random ran;
 
	public void init() {
		random = 0; seek = 0;
 
		t1 = new TextField(40);
		t2 = new TextField(40);
 
		b1 = new Button("Random");
		b2 = new Button("Seek");
 
		ran = new Random();
 
		add(t1);
		add(b1);
		add(b2);
		add(t2);
 
		t2.setText("Tekan Tombol Random Untuk Mengacak Angka Dari 1 - 100");
 
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				random = 1 + ran.nextInt(100);
				t2.setText("Silakan Tebak Dari 1 - 100");
				t1.setText("");
			}
		});
 
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				seek = Integer.parseInt(t1.getText());
				tA = new TebakAngka(random, seek);
				t2.setText(tA.getNilai());
			}
		});
	}
}

Tags: , , ,

[Java] Permainan Tebak Angka dengan Applet


Kita coba buat permainan tebak angka pake Java dan Applet. Applet adalah pemrograman web yang berbasis client, jadi tidak perlu di-upload ke server untuk menjalankannya.

Untuk menjalankan applet ada dua cara, dengan menggunakan program appletviewer bawaan JDK atau dipanggil pake html menggunakan html tag khusus applet.

Yang mau dibuat adalah permainan tebak angka. Ada 3 TextBox (t1, t2, t3) dan 2 Button (b1, b2) yang digunakan. Kita pake pustaka awt dan applet milik java.

TextBox t1 untuk menyimpan angka yang akan ditebak, kemudian b1 ditekan untuk menyembunyikannya.

TextBox t2 untuk menyimpan angka tebakan, kemudian b2 ditekan untuk menebaknya.

Algoritma Tebak Angka:

public class TebakAngka {
	private int angka1;
	private int angka2;
 
	public TebakAngka (int angka1, int angka2) {
		this.angka1 = angka1;
		this.angka2 = angka2;		
	}
 
	public String getNilai() {
		String tampil = "";
 
		if (angka1 == angka2) {
			tampil = "Tebakan benar!";
		}
		else if (angka1 > angka2) {
			tampil = "Tebakan salah, harusnya lebih besar dari " + angka2;
		}
		else if (angka1 < angka2) {
			tampil = "Tebakan salah, harusnya lebih kecil dari " + angka2;
		}
 
		return tampil;
	}
}


Algoritma Applet:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
 
public class TApplet extends Applet {
	private TextField t1, t2, t3;
	private Button b1, b2;
	private int hide, seek;
	private TebakAngka tA;
 
	public void init() {
		t1 = new TextField(40);
		t2 = new TextField(40);
		t3 = new TextField(40);
 
		b1 = new Button("Hide");
		b2 = new Button("Seek");
 
		add(t1);
		add(t2);
		add(b1);
		add(b2);
		add(t3);
 
		t3.setText("Masukkan sebuah angka dari 1 - 100, kemudian tekan Hide");
 
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				hide = Integer.parseInt(t1.getText());
				t1.setText("");
				t2.setText("");
				t3.setText("Isikan sebuah angka, kemudian tekan Seek");
			}
		});
 
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ae) {
				seek = Integer.parseInt(t2.getText());
				tA = new TebakAngka(hide, seek);
				t1.setText(tA.getNilai());
			}
		});	
	}
}

Perintah untuk memanggil Applet menggunakan HTML, class Applet harus berada dalam folder yang sama dengan html-nya:

<applet code="TApplet" width=320 height=240></applet>

Tags: , ,

Instalasi VMWare Tools di LinuxMint


VMWare tools dipake di Guest OS untuk mempercepat waktu respon dari OS tersebut, dari segi jaringan, dukungan hardware dan respon software. Biasanya diinstall di OS yang sudah memiliki Windows sendiri. Untuk OS yang tidak memiliki Windows, misalnya Ubuntu Server gak usah dilakukan karena responnya berbasis text mode.

LinuxMint yang kupake masih yang versi 5.0 (Elyssa), karena repositori yang kupunya masih versi Ubuntu 8.04. Males kalo harus online, jadi coba offline aja dulu. Ternyata lumayan rumit, karena versi kernel yang dipake di Ubuntu 8.04 itu versi 2.6.24 dan itu bermasalah dengan VMWare Tools.

Asumsinya adalah punya koneksi internet yang cepet atau dvd repositori ubuntu. VMWare Server yang dipake versi 1.0.6 build-91891 dan untuk OpenVM Tools versi 2008.11.18-130226 (Sesuaikan kalo bukan pake versi ini)

1. Update LinuxMint:

sudo apt-get update

2. Install beberapa software dependensi:

sudo apt-get install build essential linux-headers-`uname -r` libproc-dev libdumbnet-dev

3. Buat folder baru untuk VMWare di home folder, misalkan /home/irfan:

mkdir /home/irfan/uji

4. Mount Instalasi VMWare Tools dari menu VMWare
a. VM -> Install VMWare Tools
b. Sekarang CD-ROM LinuxMint akan berisi VMWare Tools

5. Kopi VMWare Tools yang tar.gz ke folder uji(/home/irfan/uji)

cp /media/cdrom0/*.tar.gz /home/irfan/uji

6. Download OpenVM Tools dari Sourceforge, ambil yang paling baru simpan ke folder uji:

http://open-vm-tools.sourceforge.net/

7. Masuk ke folder uji:

cd /home/irfan/uji

8. Ekstrak OpenVM Tools:

tar -zxvf open-vm-tools-2008.11.18-130226.tar.gz

9. Ekstrak VMWare Tools:

tar -zxvf VMwareTools-1.0.6-91891.tar.gz

10. Masuk ke folder OpenVM:

cd open-vm-tools-2008.11.18-130226

11. Install OpenVM Tools (harus sebagai root)

sudo -s
 
./configure --without-x --without-icu &amp;&amp; make

12. Selesaikan konfigurasi OpenVM Tools:

cd modules/linux
 
for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done
 
cd ../../..
 
mv -f open-vm-tools-2008.11.18-130226/modules/linux/*.tar vmware-tools-distrib/lib/modules/source/

13. Instalasi VMWare Tools:

cd vmware-tools-distrib
 
./vmware-install.pl

14. Tidak perlu ada jawaban yang diubah, teken enter aja terus sampe instalasi beres, kemudian restart:

Beres deh. Hampir semua dikutip dari blog http://lifein0and1.com/2008/05/16/fixed-problems-vmware-tools-in-ubuntu-hardy-heron-server-as-guest/ dengan modifikasi sedikit untuk LinuxMint dan versi software terbaru.

Tags: , , , ,

[Ubuntu Server] Instalasi dan Konfigurasi VNC Server


VNC itu adalah sebuah teknologi yang bisa mengizinkan kita untuk mengakses komputer lain secara remote. Kalo di Windows XP namanya Remote Desktop.

Jadi kita bisa bekerja atau ngendaliin komputer remote pake laptop atau pake komputer lain. Atau mengawasi orang yang lagi bekerja di komputer remote :D atau malah ngejailin orang?

Jadi kan kalo dah pake VNC Server gak usah lagi masuk ke ruang server yang dingin, langsung aja utak-atik lewat laptop dari ruangan atau gedung manapun asal ada koneksi jaringan intranet.

VNC Server ada banyak versi, comot aja yang paling cocok. Misalnya pake:

sudo apt-get install vnc4server vnc4-common

Kalo kita dah nginstal VNC Server, asumsinya di server dah diinstall Window Manager, karena percuma punya VNC Server kalo hanya berbasis console, mendingan pake SSH Server + Putty aja.

Coba jalanin dulu VNC Servernya:

Kalo udah beres langsung matiin:

vncserver -kill :1

Trus edit file xstartup yang biasanya ada di home direktori:

nano /home/irfan/.vnc/xstartup

Karena servernya pake IceWM, maka hapus isi dari xstartup dan ganti jadi:

#!/bin/sh
 
icewm

Kalo pake Gnome atau KDE tinggal sesuaikan aja.

Jalanin lagi VNC Server dengan cara sebelumnya.

Installin VNC Client di komputer lain untuk ngakses Server ini. Client yang aku pake yaitu TightVNC Viewer, cuma 250kB dan gak usah diinstall.

Tags: , , , ,

[Java] Penggunaan Kondisi Part 2


Contoh lain dari penggunaan kondisi IF yang dikombinasikan dengan operator penggabungan adalah seperti ini:

import java.util.Scanner;
 
public class NilaiAkhir {
 public static void main(String[] args) {
  Scanner in = new Scanner(System.in);
 
  System.out.print("Nilai Akhir: ");
  int nilai = in.nextInt();
 
  char hMutu = ' ';
 
  if ((nilai >= 80) && (nilai <= 100)) {
    hMutu = 'A';
  }
  else if ((nilai >= 60) && (nilai < 80)) {
    hMutu = 'B';
  }
  else if ((nilai >= 40) && (nilai < 60)) {
    hMutu = 'C';
  }
  else if ((nilai >= 20) && (nilai < 40)) {
    hMutu = 'D';
  }
  else if ((nilai >= 0) && (nilai < 20)) {
    hMutu = 'E';
  }
  else {
    System.out.println("Inputan Tidak Sesuai!");
    System.out.println("Silakan ulangi lagi");
  }
 
  if ((nilai >= 0) && (nilai <= 100)) {
    System.out.println("Huruf Mutu Untuk Nilai " + nilai + " adalah: " + hMutu);
  }  
 }
}

Kalo penggunaan kondisi IF untuk String-nya seperti ini:

import java.util.Scanner;
 
public class NilaiAkhir {
 public static void main(String[] args) {
  Scanner in = new Scanner(System.in);
 
  System.out.print("Username: ");
  String uName = in.next();
 
  System.out.print("Password: ");
  String uPass = in.next();
 
  if ((uName.equals("irfan") && uPass.equals("nafri"))) {
   System.out.println("Password benar. Sukses!");
  }
  else {
   System.out.println("Password salah. Ulangi");
  }
 }
}

Tags: , , ,

[Ubuntu Server] Membuat Video Streaming Server Dengan VLC


Ternyata buat video streaming server di Ubuntu gampang-gampang susah, pertamanya mau pake PHPMotion, tapi ternyata PHPMotion rumit sekali cara instalasinya. Banyak dependensi yang harus dipenuhi dan hampir sebagian besar harus di kompilasi sendiri.

Setelah baca-baca ternyata VLC Player juga sanggup jadi streaming client maupun server. Jadi untuk menjalankan streaming Video On Demand (VOD) ini kita harus punya VLC Player dan menjalankannya seperti di bawah ini.

Seperti biasa download dan install dulu VLC Player, untuk Ubuntu Server perintahnya:

sudo apt-get install vlc vlc-plugin-esd mozilla-plugin-vlc

Trus konfigurasi dulu film yang mau di-streaming-kan dengan cara buat file baru:

nano streamingvideo.vlm

Misalnya:

  • Posisi file di: /opt/movie/Heroes/HeroesS03E01.avi
  • Shortcurt: hs03e01
  • IP Server: 192.168.1.1

Maka isi dari streamingvideo.vlm adalah:

new hs03e01 vod enabled
setup hs03e01 input "/opt/movie/Heroes/HeroesS03E01.avi"

Berikutnya jalanin VLC yang berfungsi sebagai server:

sudo vlc --intf telnet --vlm-conf streamingvideo.vlm

Tinggal akses deh dari komputer laen yang juga terinstall VLC dari Windows atau Linux:

Cara Susah:

vlc rtsp://192.168.1.1/hs03e01

Cara Gampang:

  1. Buka VLC Player
  2. Menu: Media -> Open Network
  3. Protocol: RTSP
  4. Address: 192.168.1.1/hs03e01
  5. Play

Kalo settingannya bener, tunggu beberapa detik langsung deh tuh video streaming.

Tags: , , , , , ,

[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);
}

Tags: , , , ,

[Ubuntu Server] Instalasi dan Konfigurasi DHCP Server


DHCP Server dibuat supaya kita gak usah setting ulang IP Address manual setiap melakukan koneksi ke jaringan yang berbeda-beda, jadinya server yang ngasih IP Address, client hanya tau beres aja.

sudo apt-get install dhcp3-server

Biasanya setelah instalasi akan menampilkan pesan error, ini wajar karena kita blon konfigurasi DHCP Server-nya.

Misalnya setting yang ingin digunakan seperti ini:

DNS Server 	: 192.168.81.81
Range		: 192.168.81.101 - 192.168.81.150
Network		: 192.168.81.0
Subnet		: 255.255.255.0
Broadcast	: 192.168.81.255

Masuk ke konfigurasi DHCP:

sudo nano /etc/dhcp3/dhcpd.conf

Terus hapus isinya, ganti dengan konfigurasi seperti ini:

ddns-update-style none;
 
option domain-name-servers 192.168.81.81;
 
default-lease-time 86400;
max-lease-time 604800;
 
authoritative;
 
subnet 192.168.81.0 netmask 255.255.255.0 {
 range 192.168.81.101 192.168.81.150;
 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.81.255;
 option routers 192.168.81.81;
}

Trus restart DHCP Server:

sudo /etc/init.d/dhcp3-server restart

Dah, tinggal sambungkan komputer-komputer lain ke jaringan kita, semua akan mendapatkan IP Address masing-masing dan sudah disetting sampe ke DNS Servernya secara otomatis.

Tags: , , , ,