28/03/12

Sepucuk Surat dari Ibu dan Ayah





Anakku...
ketika aku semakin tua,,
aku berharap kamu memahami dan memiliki kesabaran untukku

suatu ketika aku memecahkan piring,
atau menumpahkan sup diatas meja, karena penglihatanku berkurang
aku harap kamu tidak memarahiku
orang tua itu sensitif,,,
selalu merasa bersalah saat kamu berteriak.

16/03/12

Hatiku Buat Orang TUBAN :D

Wah udah lama nih gak nulis lagi :D
seneng akhirnya bisa nulis lagi karena aku di sibukkan sama kegiatan sekolah sama TA ku nih :D
ehm gini aku mau berbagi cerita nih tentang kehidupan cintaku :D
(tumben-tumben soale update tentang gini :D)
ehm gini temen-temen awal kisah ini :D
Ini Widya Ratnasari



(ini nih adek kelas aku yang aku sukai dari masih awal masuk) ==>(cantik ya :D)
dan setelah melewati banyak waktu dan aku tau si Dea (itu pangilannya ) ==> (sebenere gak nyambung nama pangilannya :D) udah gak jomblo lagi :(
ya sudahlah aku sabar menunggu demi DEA :)
ehm dan setelah aku pelan-pelan mendekati dan pernah mendapatkan penolakan dalam hal mendekati :(
akhirnya aku mulai dekati dia lagi :D
dan hasilnya positif :D
di tanggal 14-Februari-2012 saya ADITYA FAHMI APRIANTO menembak WIDYA RATNASARI :D
dan DITERIMA :D
(gak seneng gimana :D) ==> penantian yang lama berujung buah yang manis :D
dan ini kisah kita berdua selanjutnya :D

 (ini waktu seneng-senengnya aku sama dea ngerayain hari jadi kita :D )
dan kisah indah terus berlanjut :D

(ini waktu aku sama dea di paralayng kota batu :D seneng banget bisa seromantis itu :D)
dan aku harap kisah ini terus berlanjut sampai kita punya cucu WIDYA RATNASARI :D
makasih sayang :D

15/03/12

Kemampuan Yang Dimiliki Oleh Seorang Sniper


Semboyannya yang terkenal yakni one shot, one kill (satu tembakan, satu terbunuh). Begitulah hukum wajib para sniper. Tidak ada peluru yang terbuang. Tak ada kamus meleset, karena itu pertanda kegagalan. Laksanakan tugas, lalu hilang bak ditelan angin.
Sesuatu yang bersifat tersembunyi atau tersamar (undercover), selalu menarik untuk diungkap. Sniper atau penembak runduk adalah salah satu diantaranya. Sniper, atau penembak runduk adalah seorang prajurit infanteri yang secara khusus terlatih untuk mempunyai kemampuan membunuh musuh secara tersembunyi dari jarak jauh dengan menggunakan senapan.

Membuat ISO image sebuah CD/DVD

Membuat ISO image sebuah CD/DVD 

Jika ingin meng-copy sebuah CD atau DVD kedalam bentuk file image, pada Ubuntu dapat dilakukan dengan mengggunakan fungsi command line ‘cat’.
Berikut adalah tahapan dalam pembuatan file iso image sebuah CD atau DVD pada ubuntu :
1. Masukkan CD/DVD yang akan dicopy ke dalam bentuk ISO image
2. Lihat keterangan pada system hasil mounting CD/DVD tersebut dilokasi device mana pada komputer anda. Dapat dilihat dengan menjalankan command line :
# df -a
3. Pastikan anda mempunyai lokasi kosong yang besarannya sama atau lebih besar dari kebutuhan size dari CD/DVD yang akan dicopy
4. Ketika sudah mendapatkan informasi lokasi dari device CD/DVD tersebut, sekarang dapat dilakukan proses copy :
#cat /dev/sdc0 > /home/sawal/cdimage/backupcd.iso
Untuk memastikan hasil dapat dengan melakukan mounting terhadap file hasil tersebut, dengan cara :
1. Buat directory tempat file ISO image akan di mount. Misalnya :
# mkdir /media/iso
2. Lakukan mounting terhadap file hasil tersebut :
# mount -o loop /home/sawal/cdimage/backup.iso /media/iso
3. Jika berhasil di mount, anda dapat melihat isi file yang tadinya terdapat pada CD/DVD anda sekarang berada pada /media/iso
# ls -l /media/iso

Java Swing dan SWT

Java Swing dan SWT

Untuk urusan GUI (Graphical User Interface), pada pemrograman Java akan menggunakan class library yang telah disediakan oleh Java yang dapat digunakan yaitu bernama Swing.
Telah banyak tutorial yang menjelaskan apa dan seperti apa menggunakannya. Namun, bagaimana dengan sesuatu yang bernama SWT, apakah kegunaannya, samakah seperti Swing?

Swing pada dasarnya adalah sebuah kumpulan class  yang diturunkan dari AWT (Abstract Window Toolkit), sederhananya adalah komponen yang telah disiapkan oleh Java untuk urusan tampilan ke user berupa GUI.

Menampilkan Braisan Program pada WordPress

Menampilkan Barisan Program pada WordPress

Penasaran liat beberapa blog yang dapat menampilkan barisan program atau sering disebut source code pada tulisan-tulisan di blog mereka.

Kenali Pemrograman Java Dengan Cara Sederhana

Kenali Pemrograman Java Dengan Cara Sederhana

Untuk yang mungkin telah mempelajari pemrograman sebelumnya, atau para akademisi yang telah mendapatkan mata kuliah pemrograman, sering sekali ketika mendapatkan hal yang baru seperti pemrograman Java menjadi bingung.
Mudah-mudahan konsep pengenalan yang sedikit ini dapat membuka hal-hal yang masih membingungkan itu.

14/03/12

Inner Class dan Anonymous Inner Class

Inner Class dan Anonymous Inner Class
Contoh Menutup Window
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new CFListener());
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
class CFListener extends WindowAdapter {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(1);
}
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window
Example");
cf.launchFrame();
}
}

Lanjutan dari Anonymouse inner class pada papan...

Contoh Menutup Window
import java.awt.*;
import java.awt.event.*;
class CloseFrame extends Frame{
Label label;
CloseFrame(String title) {
super(title);
label = new Label("Close the frame.");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
dispose();
System.exit(1);
}
});
}
void launchFrame() {
setSize(300,300);
setVisible(true);
}
public static void main(String args[]) {
CloseFrame cf = new CloseFrame("Close Window Example");
cf.launchFrame();
}
}

Encripsi di Java

Encripsi Di Java 
Prosesnya adalah, Data melewati sebuah formula matematis yang disebut algoritma, kemudian mengubahnya menjadi data terenkripsi yang disebut sebagai ciphertext. Formula ini memerlukan sebuah variabel dari anda–yang disebut kunci–untuk mengembalikan data tersebut kembali ke bentuk asal, sehingga sangat sulit, bahkan hampir tidak mungkin, seseorang dapat memecahkan kode enkripsi tersebut. Tetapi tentu saja hal ini tidak berlaku jika orang tersebut berhasil mencuri kode enkripsi dari Anda. Jadi, berhati-hatilah dengan kode enkripsi yang Anda miliki.

> Ada dua jenis enkripsi:

1. Simetris
Dengan enkripsi simetris, Anda menjalankan sebuah file melalui program dan membuat sebuah kunci yang mengacak file. Kemudian Anda mengirim file terenkripsi melalui e-mail ke si penerima dan secara terpisah mentransmit kunci dekodingnya (mungkin berupa sebuah password atau file data lainnya). Si penerima, dengan menjalankan aplikasi enkripsi yang sama, menggunakan kunci yang Anda berikan untuk menyatukan kembali file yang telah diacak. Enkripsi simetris sangat mudah dan sangat cepat dalam penggunaannya, tetapi tidak seaman enkripsi asimetris, karena seseorang dapat saja mencegat kunci dan mendekoding pesan tersebut. Tetapi karena kecepatannya itu, saat ini enkripsi simetris banyak digunakan pada transaksi e-commerce.

2. Asimetris (juga disebut sebagai public key).
Enkripsi asimetris sangat kompleks–tetapi jauh lebih aman. Diperlukan dua buah kunci yang saling berhubungan: sebuah kunci publik dan sebuah kunci pribadi. Anda membuat kunci publik anda tersedia bagi siapa saja yang ingin anda kirim informasi terenkripsi. Kunci tersebut hanya dapat mengenkoding data, ia tidak dapat mendekodingnya. Kunci pribadi anda terjaga dengan aman. Saat orang-orang hendak mengirim informasi terenkripsi pada anda, mereka mengenkripsinya menggunakan kunci publik anda. Saat anda menerima chipertext tersebut, anda akan mendekripsikannya dengan menggunakan kunci pribadi anda. Enkripsi asimetris menambahkan tingkat keamanan pada data anda, tetapi akibatnya lebih banyak lagi waktu komputasi yang dibutuhkan, sehingga prosesnya menjadi sangat panjang dan lebih lama.

Contoh sederhana encripsi dan decripsi pada java :
#include 
#include 
#include 
#define maks 500

using namespace std;
class Enkripsi{
public:
Enkripsi();
void enkripsi();
void deskripsi();
void output();
private:
char chiper[maks];
int key;
char plain[maks];

};

Enkripsi::Enkripsi(){
cout<<"Masukkan kata : ";
cin.getline(chiper,sizeof(chiper));
cout<<"Masukkan key : ";
cin>>key;
cout<chiper[i] = (chiper[i]+key)%128;
}
}

void Enkripsi::deskripsi(){
for(int i=0;i

Enkripsi Java Aplett

Membuat Program Enkripsi Dengan Java Applet


Codingnya :
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import java.io.BufferedWriter;
import java.io.PrintWriter;

import java.io.FileWriter;
import javax.swing.JOptionPane;
import javax.swing.*;
import java.io.*;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.filechooser.FileFilter;

public class ta_java extends javax.swing.JFrame {
public ta_java() {
initComponents();
this.setTitle("Untitled - NOTES");
fc = new JFileChooser();
fc.addChoosableFileFilter(new jenisFile(EXT));
fc.addChoosableFileFilter(new jenisFile(EXT2));
fc.setAcceptAllFileFilterUsed(false);
fileBaru = true;
}
JFileChooser fc;
File file;
boolean fileBaru;
final String[] EXT = { ".csv" };
final String[] EXT2 = { ".txt", ".java" };

public String text,namafiletext;
private void msg(String pesan) {
JOptionPane.showMessageDialog(this,pesan,"Informasi", JOptionPane.INFORMATION_MESSAGE);
}
private boolean okToReplace() {
return (JOptionPane.showConfirmDialog(this, "File "+file.getName()+" Sudah Ada\n"+ "Akan Ditimpa ?",
"Peringatan",JOptionPane.YES_NO_OPTION)==0) ;
}

class jenisFile extends FileFilter {
private String[] s;
jenisFile(String[] sArg) {
s = sArg;
}
public boolean accept(File fArg) {
if (fArg.isDirectory())
return true;
for (int i = 0; i < s.length; ++i)
if (fArg.getName().toLowerCase().indexOf(s[i].toLowerCase()) > 0)
return true;
return false;
}
public String getDescription() {
String tmp = "";
for (int i = 0; i < s.length; ++i)
tmp += "*" + s[i] + " ";
return tmp;
}
}
private void SimpanFile() {
PrintWriter pw = null;
try {
pw = new PrintWriter(new BufferedWriter(new FileWriter(file)));
} catch (IOException e) {
msg("Gagal Simpan File : '" + file.getName());
return;
}
pw.print(isi1.getText());
pw.close();
this.setTitle(file.getName()+" - NOTES" );
fileBaru = false;
}

class Enskripsimd5 {

private String convertToHex(byte[] data) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < data.length; i++) {
int halfbyte = (data[i] >>> 4) & 0x0F;
int two_halfs = 0;
do {
if ((0 <= halfbyte) && (halfbyte <= 9)) {
buf.append((char) ('0' + halfbyte));
} else {
buf.append((char) ('a' + (halfbyte - (int) geser.getValue())));
}
halfbyte = data[i] & 0x0F;
} while (two_halfs++ < 1);
}
return buf.toString();
}
public String MD5(String text)
throws NoSuchAlgorithmException, UnsupportedEncodingException {
MessageDigest md;
md = MessageDigest.getInstance("MD5");
byte[] md5hash = new byte[32];
md.update(text.getBytes("iso-8859-1"), 0, text.length());
md5hash = md.digest();
return convertToHex(md5hash);

}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new ta_java().setVisible(true);
}
});
}
private String readFile(File file){
String result="";
try{
FileInputStream fis=new FileInputStream(file);
BufferedInputStream bis=new BufferedInputStream(fis);
DataInputStream dis=new DataInputStream(bis);
while(dis.available()!=0){
result +=dis.readLine()+"\n";
}
}
catch(FileNotFoundException e){
}
catch(IOException e){
}
return result;
}
private void bukaActionPerformed(java.awt.event.ActionEvent evt) {
JFileChooser fc= new JFileChooser();
JFrame jf= new JFrame();
int ret= fc.showOpenDialog(jf.add(fc));
if(ret==JFileChooser.APPROVE_OPTION) {
File file=fc.getSelectedFile();
text=readFile(file);
isi1.setText(text);
namafiletext=file.getPath().toString();
nama_file.setText(namafiletext);
}
}
private void simpanActionPerformed(java.awt.event.ActionEvent evt) {
if (fileBaru)
simpan.doClick();
else
SimpanFile();
}
private void simpan_sbgActionPerformed(java.awt.event.ActionEvent evt) {
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION){
file = fc.getSelectedFile();
if (!file.exists() || okToReplace())
SimpanFile();
}
}
private void baruActionPerformed(java.awt.event.ActionEvent evt) {
isi1.setText("");
isi1.requestFocus();
this.setTitle("Untitled - NOTES");
fileBaru = true;
}
private void keluarActionPerformed(java.awt.event.ActionEvent evt) {
System.exit(0);
}

private void ubahActionPerformed(java.awt.event.ActionEvent evt) {
isi1.setEnabled(true);
}
private void md5_1ActionPerformed(java.awt.event.ActionEvent evt) {
save2.setEnabled(true);
password2.setEnabled(true);
pass2.setEnabled(true);
isi2.setEnabled(true);
saveas2.setEnabled(true);
md5_2.setEnabled(true);
random2.setEnabled(true);

Enskripsimd5 md5 = new Enskripsimd5();
try {
isi2.setText(md5.MD5(isi1.getText()));

} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(ta_java.class.getName()).log(Level.SEVERE, null, ex);
} catch (UnsupportedEncodingException ex) {
Logger.getLogger(ta_java.class.getName()).log(Level.SEVERE, null);
}
}
private void random1ActionPerformed(java.awt.event.ActionEvent evt) {
save2.setEnabled(true);
password1.setEnabled(true);
pass2.setEnabled(true);
isi2.setEnabled(true);
saveas2.setEnabled(true);
md5_2.setEnabled(true);
random2.setEnabled(true);
String randomKey = "";
double randomNumber;
for (int i = 0; i < isi1.getText().length(); i++) {
randomNumber = Math.random() * 25 + 65;
randomKey = randomKey + (char) randomNumber;
}

isi2.setText(randomKey);
}
private void save2ActionPerformed(java.awt.event.ActionEvent evt) {
if (fileBaru) {
saveas2.doClick();
} else {
SimpanFile();
}
}
private void saveas2ActionPerformed(java.awt.event.ActionEvent evt) {
if (fc.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
file = fc.getSelectedFile();
if (!file.exists() || okToReplace()) {
SimpanFile();
}
}
}
private void random2ActionPerformed(java.awt.event.ActionEvent evt) {
String randomKey = "";
double randomNumber;
for (int i = 0; i < isi2.getText().length(); i++) {
randomNumber = Math.random() * 25 + 65;
randomKey = randomKey + (char) randomNumber;
}

isi1.setText(randomKey);
}
private void password1ActionPerformed(java.awt.event.ActionEvent evt) {
if (pass2.getText().equals(pass1.getText())) {
msg("password anda benar : " + pass1.getText());
isi1.setText(isi2.getText());
} else {
msg("password anda salah : " + pass1.getText());
}
}
private void password2ActionPerformed(java.awt.event.ActionEvent evt) {
if (pass1.getText().equals(pass2.getText())) {
msg("password anda benar : " + pass2.getText());
isi2.setText(isi1.getText());
} else {
msg("password anda salah : " + pass2.getText());
}
}

Mengenal Stream I/O

Mengenal STREAM I/O

Program komputer bisa berguna jika ia bisa berinteraksi dengan dunia lain. Interaksi di sini maksudnya input/output atau I/O. Sebenarnya saya masih newbie banget, tapi karena saya ada tugas menulis tentang ini jadi saya berbekal browsing dan mengumpulkan data dari sana sini, saya akan share masalah STREAM IO (ups curhat).

KONSEP DASAR STREAM I/O

Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream)

contohnya :
-membaca dan menulis file di dan ke harddisk
-membaca dan menulis teks ke console
-membaca dan menulis melalui network

Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial. 

 Cara menggunakan Stream:
InputStream dan OutputStream adalah abstract class untuk stream I/O, yaitu untuk membaca dan menulis data dari dan ke file.
Untuk membaca digunakan class yang mengimplementasikan InputStream, contoh : FileInputStream.
Untuk menulis digunakan class yang mengimplementasikan OutputStream, contoh : FileOutputStream.

Membaca File: FileInputStream :
1. Definisikan nama file yang akan dibaca melalui class File, atau nama file lengkap dengan path.
2. Periksa apakah file tersebut ada (exist) dan tipenya adalah file (bukan direktori).
3. Siapkan obyek FileInputStream untuk membaca isi file.
4. Baca input dengan menggunakan method read(), dan bila tidak ada input lagi, FileInputStream memberikan indikator -1 sebagai tanda tidak ada lagidata yang akan dibaca.
5. Gunakan method close() untuk menutup FileStream. 


Reader dan Writer
Digunakan untuk membaca dan menulis data tekstual. 
Untuk mempercepat performance, gunakan fasilitas buffering dengan: BufferedReader. 
Untuk membaca teks baris per baris digunakan teknik sebagai berikut: 
File f = new File(“c:\\oop\\text.txt”);
FileReader fr = new FileReader(f);
BufferedReader fin= new BufferedReader(fr);
sumber : dari banyak sumber