Rabu, 19 Desember 2012

Hasil Edit -Edit

Keisengan semata yang membuatku untuk memutuskan mengedit foto.....
walaupun hasilnya pas- pasan....
ma'lum dalam tahapan belajar


Senin, 10 Desember 2012

Foto SMP

Kamis, 26 April 2012

Java Swing Make Over



SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya.

Source :

Rabu, 14 Maret 2012

CSS 3


CSS3

Kabarnya adalagi varian css3 yang sedang di rilis dan ada beberapa yang sudah di pakai bareng templates blogspot loh! Setelah versi css2.1 terciptalah css3 yang lebih baik. Dengan CSS3 ini kita bisa lebih mempercantik blog kita seperti membuat bayangan gambar, membuat bayangan teks, membuat efek blur, Membuat background dan tabel gradient dll. Ini dia sedikit element baru dari versi css3.

Borders
border-color
border-image
border-radius
box-shadow

Backgrounds
background-origin and background-clip
background-size
multiple backgrounds

Color
HSL colors
HSLA colors
opacity
RGBA colors

Text effects
text-shadow
text-overflow
word-wrap

User-interface
box-sizing
resize
outline
nav-top, nav-right, nav-bottom, nav-left

Selectors
attribute selectors

Basic box model
overflow-x, overflow-y

Generated Content
content

Other modules
media queries
multi-column layout

Web fonts
speech

Walau mayoritas web designer di seluruh dunia sangat antusias dengan CSS3 ini, penting juga untuk diketahui, sekarang hanya beberapa browser saja yang sudah mensupport CSS3 yaitu browser dengan engine webkit (safari, chrome) dan mozilla (firefox, flock).

Sedikit tutorial membuat gambar border bershadow dengan css3.

Copy pastekan code dhtml di bawah ini di notepad.


CSS3 Image Shadow








ingat pada atribut src="gantigambaranda.jpeg" simpan dengan ekstensi nama.html dan pada type files ganti all files. Ada juga border yang jadi image seperti element

border-width: 27px;
-moz-border-image: url(images/border.png) 27 repeat;
-webkit-border-image: url(images/border.png) 27 repeat;
border-image: url(images/border.png) 27 repeat;

shadows pada bayangan samping kanan dan bawah saja.

background:#FFF;
border:1px solid #000;
width:500px;
text-align:center;
height: 100px;
-webkit-box-shadow: 10px 10px 5px #888;
-moz-box-shadow: 10px 10px 5px #888;
-moz-border-radius:15px 0px 15px 0px;
-webkit-border-radius:15px;
padding: 5px 5px 5px 5px;

Source :

HTML 5

HTML5 adalah sebuah bahasa markah untuk menstrukturkan dan menampilkan isi dari Waring Wera Wanua, sebuah teknologi inti dari Internet. HTML5 adalah revisi kelima dari HTML (yang pertama kali diciptakan pada tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997[1]) dan hingga bulan Juni 2011 masih dalam pengembangan. Tujuan utama pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin.

HTML5 merupakan salah satu karya Konsortium Waring Wera Wanua (World Wide Web Consortium, W3C) untuk mendefinisikan sebuah bahasa markah tunggal yang dapat ditulis dengan cara HTML ataupun XHTML. HTML5 merupakan jawaban atas pengembangan HTML 4.01 dan XHTML 1.1 yang selama ini berjalan terpisah, dan diimplementasikan secara berbeda-beda oleh banyak perangkat lunak]] pembuat web.

Berikut ini merupakan tag -tag HTML 5





Keamanan Login WEB PHP

Tulisan ini diperuntukan bagi para newbie yang ingin membuat system login pada webnya dengan php. Saya akan melampirkan beberapa hal dasar yang harus kita perhatikan ketika membuat system login beserta contoh script sederhana. Apa yg akan saya paparkan berikut ini sebenarnya sangat umum dan dapat diperoleh dari berbagai sumber yang berhub dgn php. Semoga dapat memberi sedikit info tambahan untuk newbie-newbie baru.Ok langsung kita mulai.

Berikut ini hal-hal yg harus kita pertimbangkan ketika membuat login:
1.Pastikan form login adalah form dari server kita.
2.Amankan input text untuk user dan password,metoda dan format data.
3.Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable).
4.Expired time dari login yang dilakukan.
5.Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.

Sekarang contoh dari script untuk hal-hal tersebut.Saya hanya melampirkan satu logika dari banyak kemungkinan lain dalam membuatnya.Logika ini akan sangat beragam jadi bukanlah satu-satunya cara ataupun cara yang paling baik,silahkan buat sendiri untuk yg lebih baik atau lihat referensi lain.

1.Pastikan form login berasal dari server kita:

//file ini bernama index.php



login


Username :
Password :

”>






//akhir script index.php

-saat membuat form login(ex: index.php)sebagai default kita mulai dengan membuat session baru.
-session_name disini sebagai refrensi untuk session id di cookies dan URL.
-lalu daftarkan suatu variabel session baru SES_TOKEN dgn memakai fungsi session_register.
-Buat token berupa kata acak yg akan kita gunakan utk memastikan form-adalah dari kita.
-Lalu Encript token agar lebih rumit.(Pada dasarnya token ini mirip dgn session id)
-Tambahkan variabel enkript token tsb dalam form melalui hidden.
-Lalu pada file “cekmasuk.php” kita lakukan pemeriksaan apakah data yg kita terima dari form yg kita buat sebelumnya, akan saya jelaskan pada script cekmasuk.php.

2.Amankan input text untuk user dan password,metoda dan format data.
Pada saat kita menerima data maka sebelum kita olah data tersebut(utk kasus ini adalah user dan password),maka harus kita pastikan data tersebut tidak disisipi niat jahat. Untuk itu maka kita buat suatu fungsi filter,fungsi ini akan kita gunakan pada script
cekmasuk.php yang akan saya lampirkan diakhir.
//fungsi filter

function filter($word) {
$word = stripslashes(trim($word));
$word = nl2br($word);
$word = htmlentities($word);
return $word ;
}

Ini hanya contoh simple dengan memanfaatkan fungsi yg ada di php.Kita dapat tambahkan dengan membuat fungsi sendiri, misalkan filter kata-kata kotor(dijasakom sudah ada yg melampirkan),atau memanfaatkan regex untuk validasi yg lain.Silahkan berkreasi.

3.Hindari penggunaan register global (untuk php v 4.2.0 keatas sdh disable/off).
Untuk hal ini maka kita dapat memperoleh data yg dikirim melalui predefine variabel milik php,yaitu:
$HTTP_GET_VARS(untuk metoda get).
$HTTP_POST_VARS(untuk metoda post).dan masih ada lagi yg lainnya.

4.Expired Time dari login yang dilakukan.
Setiap login yg dilakukan user sering kali mereka tidak melakukan logout,hanya mendiamkan atau malah meninggalkan ketika masih login.Oleh karena itu expired time ini adalah wajib dalam sistem login.
Script secara lengkap akan ada pada script “cekmasuk.php”.

$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun

//waktu saat ini ketika mengakses
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);

//penambahan waktu mengakses akan digunakan untuk expired time
$ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);

5.Pastikan file yang tidak boleh diakses tidak dapat dipanggil secara langsung.
Berikan fungsi berikut disetiap awal script yg tdk anda inginkan dapat diakses langsung

if(ereg(‘cekmasuk.php’, $SCRIPT_NAME))
{
header(“Location: http://domainanda.com/index.php”);
die;
}

/********************************************************************/
//
//script akan menerima metoda post dari index.php
//file ini bernama cekmasuk.php
”" and $password<>”")
{
session_name(“secretsession”);
session_start();
switch ($_POST['form'])
{
case ‘login’:
$allowed = array();
$allowed[] = ‘form’;
$allowed[] = ‘user’;
$allowed[] = ‘password’;
$allowed[] = ‘enctoken’;
$allowed[] = ‘submit’;
$sent = array_keys($_POST);
if ($allowed == $sent)
{
if($_POST['enctoken']<>$SES_TOKEN)//periksa apakah form berasal dari kita atau session yg sama
{

//jika tidak maka kembali ke form
session_destroy();
header(“Location: http://domainanda.com/index.php”);
exit;
}

else
{
$clean_user=filter($_POST['username']);//bersihkan inputan
$clean_password=filter($_POST['password']);

//definisi waktu untuk expired time
if (authentication($clean_user,$clean_password))//cek user dalam database
{
$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);
$ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear);
session_register(“SES_PASSWORD”);//daftarkan session variabel baru
session_register(“SES_USERNAME”);
session_register(“SES_HASH”);
session_register(“T_TIMESTAMP”);
$T_TIMESTAMP=$ttimestamp;
$hashtoken=createRandomtoken();//buat token baru untuk disisipkan dalam setiap page system login

$enchash=enc_token($hashtoken);//token ini akan memastikan page hanya yg dari server dengan session yg sama
$SES_HASH=$enchash;
$SES_USERNAME=$clean_user;
$SES_PASSWORD = $clean_password;
}
else
{
unset ($submit);
unset ($user);
unset ($password);
}
}
}
break;
}
}
else
{
session_name(“secretsession”);
session_start();
opendb();
$query= “select * from $table_admin where nama=’$SES_USERNAME’”;//misalkan
database user ada pd table admin
$hasil= querydb($query);
$data= mysql_fetch_array($hasil);
closedb();
$USERNAME = $data["nama"];
$PASSWORD = $data["password"];
$HASH_TOKEN=$hash_token;

//untuk exired timed
$refresh_time=10; //dalam menit
$chour = date(“H”); //jam
$cmin = date(“i”); //menit
$csec = date(“s”); //detik
$cmon = date(“m”); //bulan
$cday = date(“d”); //tanggal
$cyear = date(“Y”); //tahun
$ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear);
$ttimestamp=$T_TIMESTAMP;

if ($ttimestamp < $ctimestamp) { session_unregister(“SES_PASSWORD”); session_unregister(“SES_USERNAME”); session_unregister(“SES_HASH”); session_unregister(“T_TIMESTAMP”); session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); $T_TIMESTAMP=$ttimestamp; } /********************************************************************/ //mulai fungsi pendukung function authentication($user, $pass) { global $table_admin; opendb(); $query=”select * from $table_admin where nama=’$user’”; opendb(); $hasil=querydb($query); closedb(); $data = mysql_fetch_array($hasil); $pass_inDB=$data["password"]; $enc_pass = md5($pass); if($pass_inDB == $enc_pass) { return TRUE; } else { return FALSE; } closedb(); } ?>

/********************************************************************/

Script tersebut dapat kita gunakan pada page yg berada dalam system login,ex: udahmasuk.php Maka dapat kita memanfaatkan dengan cara berikut:

//File ini bernama udahmasuk.php


-Fungsi opendb(),querydb(),closedb() adalah fungsi yg sy buat utk akses database,silahkan anda buat sendiri.
-Dengan menggunakan script tersebut bukan berarti kita telah membuat system login yg aman.Ingat ini hanya”Beberapa Hal Dasar”.
-Penambahan kata rahasia pada pembentukan token bisa menambah tingkat kesukaran untuk di tebak.
-Akhir kata seluruh hasil script tersebut bukanlah murni pemikiran saya tetapi merupakan penggabungan dari berbagai script yg sudah ada baik dari contoh help php,dan beberapa tulisan lain diantaranya adalah milik Chris Shiflett dan Jeff Johns.
-Untuk lebih jelas bagaimana memakai fungsi yg ada silahkan “RTFM”.
-Agar lebih mendalami masalah keamanan php silahkan kunjungi Chris Shiflett artikel di http://shiflett.org
-Tulisan Jeff Johns dapat anda lihat di http://www.phpfreaks.com

Source: ”") { session_name(“secretsession”); session_start(); switch ($_POST['form']) { case ‘login’: $allowed = array(); $allowed[] = ‘form’; $allowed[] = ‘user’; $allowed[] = ‘password’; $allowed[] = ‘enctoken’; $allowed[] = ‘submit’; $sent = array_keys($_POST); if ($allowed == $sent) { if($_POST['enctoken']<>$SES_TOKEN)//periksa apakah form berasal dari kita atau session yg sama { //jika tidak maka kembali ke form session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } else { $clean_user=filter($_POST['username']);//bersihkan inputan $clean_password=filter($_POST['password']); //definisi waktu untuk expired time if (authentication($clean_user,$clean_password))//cek user dalam database { $refresh_time=10; //dalam menit $chour = date(“H”); //jam $cmin = date(“i”); //menit $csec = date(“s”); //detik $cmon = date(“m”); //bulan $cday = date(“d”); //tanggal $cyear = date(“Y”); //tahun $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear); $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); session_register(“SES_PASSWORD”);//daftarkan session variabel baru session_register(“SES_USERNAME”); session_register(“SES_HASH”); session_register(“T_TIMESTAMP”); $T_TIMESTAMP=$ttimestamp; $hashtoken=createRandomtoken();//buat token baru untuk disisipkan dalam setiap page system login $enchash=enc_token($hashtoken);//token ini akan memastikan page hanya yg dari server dengan session yg sama $SES_HASH=$enchash; $SES_USERNAME=$clean_user; $SES_PASSWORD = $clean_password; } else { unset ($submit); unset ($user); unset ($password); } } } break; } } else { session_name(“secretsession”); session_start(); opendb(); $query= “select * from $table_admin where nama=’$SES_USERNAME’”;//misalkan database user ada pd table admin $hasil= querydb($query); $data= mysql_fetch_array($hasil); closedb(); $USERNAME = $data["nama"]; $PASSWORD = $data["password"]; $HASH_TOKEN=$hash_token; //untuk exired timed $refresh_time=10; //dalam menit $chour = date(“H”); //jam $cmin = date(“i”); //menit $csec = date(“s”); //detik $cmon = date(“m”); //bulan $cday = date(“d”); //tanggal $cyear = date(“Y”); //tahun $ctimestamp = mktime($chour,$cmin,$csec,$cmon,$cday,$cyear); $ttimestamp=$T_TIMESTAMP; if ($ttimestamp < $ctimestamp) { session_unregister(“SES_PASSWORD”); session_unregister(“SES_USERNAME”); session_unregister(“SES_HASH”); session_unregister(“T_TIMESTAMP”); session_destroy(); header(“Location: http://domainanda.com/index.php”); exit; } $ttimestamp = mktime($chour,$cmin+$refresh_time,$csec,$cmon,$cday,$cyear); $T_TIMESTAMP=$ttimestamp; } /********************************************************************/ //mulai fungsi pendukung function authentication($user, $pass) { global $table_admin; opendb(); $query=”select * from $table_admin where nama=’$user’”; opendb(); $hasil=querydb($query); closedb(); $data = mysql_fetch_array($hasil); $pass_inDB=$data["password"]; $enc_pass = md5($pass); if($pass_inDB == $enc_pass) { return TRUE; } else { return FALSE; } closedb(); } ?> /********************************************************************/ Script tersebut dapat kita gunakan pada page yg berada dalam system login,ex: udahmasuk.php Maka dapat kita memanfaatkan dengan cara berikut: //File ini bernama udahmasuk.php -Fungsi opendb(),querydb(),closedb() adalah fungsi yg sy buat utk akses database,silahkan anda buat sendiri. -Dengan menggunakan script tersebut bukan berarti kita telah membuat system login yg aman.Ingat ini hanya”Beberapa Hal Dasar”. -Penambahan kata rahasia pada pembentukan token bisa menambah tingkat kesukaran untuk di tebak. -Akhir kata seluruh hasil script tersebut bukanlah murni pemikiran saya tetapi merupakan penggabungan dari berbagai script yg sudah ada baik dari contoh help php,dan beberapa tulisan lain diantaranya adalah milik Chris Shiflett dan Jeff Johns. -Untuk lebih jelas bagaimana memakai fungsi yg ada silahkan “RTFM”. -Agar lebih mendalami masalah keamanan php silahkan kunjungi Chris Shiflett artikel di http://shiflett.org -Tulisan Jeff Johns dapat anda lihat di http://www.phpfreaks.com">

Koneksi Java Dengan Database

           Apabila kita ingin membuat sebuah aplikasi maka tidaklah afdol apabila kita tidak terkoneksi dengan database, DBMS sangat di perlukan dalam pemrograman database pada umumnya. Java Juga sangat mendukung DBMS ini. Dalam artikel kali ini kita akan membahas tentang Koneksi Database Java dengan MySQL menggunakan JDBC.

         Sebelum kita melakukan koneksi database tentunya kita harus menginstall JDBC driver dan database MySQL Tapi bila kita menguunakan IDE, Netbeans misalnya maka biasanya JDBC sudah terinstall pada saat kita menginstall IDE tersebut.


KONEKSI DATABASE JAVA DENGAN MySQL
Apabila sudah terinstall semua, maka langsung saja kita menuju ke source code nya, pada saat melakukan koneksi database dengan bahasa pemrograman java, kita harus me-load atau mengaktifkan driver JDBC terlebih dahulu :
  1. Class.forName(“com.mysql.jdbc.Driver”);
Setelah kita me-load driver JDBC nya koneksi ke database dapat dilakukan dengan perintah berikut :
  1. Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/database”,“root”,“rahasia”);
Arti dari perintah diatas :
dbms = jdbc:mysql (mysql)
host mysql server = localhost dengan port 3306
database = database

username mysql = root
password = rahasia
Atau perintah lengkap nya sebagai berikut :
Kita asumsikan namafile nya MySQLConnection.java
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.SQLException;
  4. import java.util.logging.Level;
  5. import java.util.logging.Logger;
  6. /*
  7. * To change this template, choose Tools | Templates
  8. * and open the template in the editor.
  9. */
  10. /**
  11. *
  12. * By Pasamu
  13. */

  14. public class MySQLConnection {
  15. private String url = “jdbc:mysql://localhost:3306/pasamu”;
  16. private String host = “localhost”;
  17. private int port = 3306;
  18. private String username = “root”;
  19. private String password = “vertrigo”;
  20. private String database = “sekolah”;
  21. private Connection conn = null;
  22. public MySQLConnection(){
  23. try {
  24. try {
  25. Class.forName(“com.mysql.jdbc.Driver”).newInstance();
  26. catch (InstantiationException ex) {
  27. Logger.getLogger(MySQLConnection.class.getName()).log(Level.SEVERE, null, ex);
  28. catch (IllegalAccessException ex) {
  29. Logger.getLogger(MySQLConnection.class.getName()).log(Level.SEVERE, null, ex);
  30. }
  31. catch (ClassNotFoundException ex) {
  32. Logger.getLogger(MySQLConnection.class.getName()).log(Level.SEVERE, null, ex);
  33. }
  34. }
  35. public Connection getConn() {
  36. if(conn==null){
  37. try {
  38. conn = DriverManager.getConnection(getUrl(), getUsername(), getPassword());
  39. catch (SQLException ex) {
  40. Logger.getLogger(MySQLConnection.class.getName()).log(Level.SEVERE, null, ex);
  41. }
  42. }
  43. return conn;
  44. }
  45. public void setConn(Connection conn) {
  46. this.conn = conn;
  47. }
  48. public String getDatabase() {
  49. return database;
  50. }
  51. public void setDatabase(String database) {
  52. this.database = database;
  53. }
  54. public String getHost() {
  55. return host;
  56. }
  57. public void setHost(String host) {
  58. this.host = host;
  59. }
  60. public String getPassword() {
  61. return password;
  62. }
  63. public void setPassword(String password) {
  64. this.password = password;
  65. }
  66. public int getPort() {
  67. return port;
  68. }
  69. public void setPort(int port) {
  70. this.port = port;
  71. }
  72. public String getUrl() {
  73. return url;
  74. }
  75. public void setUrl(String url) {
  76. this.url = url;
  77. }
  78. public String getUsername() {
  79. return username;
  80. }
  81. public void setUsername(String username) {
  82. this.username = username;
  83. }
  84. }

Kemudia Untuk Mencoba Koneksi, kita buat file baru kita asumsikan namamanya coba.java
  1. import com.mysql.jdbc.Connection;
  2. /*
  3. * To change this template, choose Tools | Templates
  4. * and open the template in the editor.
  5. */
  6. /**
  7. *
  8. * @author Wahyu Sumartha
  9. */
  10. public class Test {
  11. public static void main(String[] args) {
  12. MySQLConnection msqlc = new MySQLConnection();
  13. Connection conn = null;
  14. msqlc.setUrl(“jdbc:mysql://localhost:3306/pasamu”);
  15. msqlc.setUsername(“root”);
  16. msqlc.setPassword(“vertrigo”);
  17. try {
  18. msqlc.setConn(conn);
  19. msqlc.getConn();
  20. System.out.println(“Koneksi Berhasil”);
  21. catch (Exception e) {
  22. e.printStackTrace();
  23. System.out.println(“Koneksi Gagal”);
  24. }
  25. }
  26. }
     

Minggu, 11 Maret 2012

Event Handling

Event di Java

Kali ini saya akan membagikan pengetahuan mengenai event-event yang ada di Java, semoga bermanfaat dan menyenangkan. ^^

Event merupakan respon dari program ketika user melakukan tindakan terhadap GUI tertentu dalam aplikasi.

Agar komponen GUI yang kita buat dapat menghasilkan event ketika ada interaksi dari user terhadap GUI, seperti menekan tombol, keyboard, menggerakan mouse, dan sebagainya, diperlukan listener untuk melakukannya.

Dengan adanya listener ini, event yang dihasilkan dari GUI dapat merespon dari suatu interaksi yang ditujukan kepada suatu instruksi program.

Untuk dapat menggunakan listener, diperlukan sebuah Class yang terdapat pada java.awt.event.*;.

1. Elemen-elemen Event

Pemahaman mengenai elemen-elemen pada event mutlak diperlukan demi penangan event itu sendiri agar dapat berjalan sesuai instruksi. Berikut elemen-elemen pada event.

a. Event Source

Event source merupakan pembankit sebuah event. Contoh, klik mouse pada button akan membangkitkan sebuah ActionEvent, button tersebut berfungsi sebagai event sourcenya.

b. Event Handler

Event handler merupakan method yang menerima sebuah objek event, mendeklarasikan kemudian memproses interaksi dengan user.

awt merupakan package GUI yang menangani event, dengan interface yang disebut event listener. Setiap event terdapat interface listener, yang harus diisikan kedalam class dari object yang akan menerima event. Listener akan menetapkan method yang didefinisikan untuk menerima jenis event tsb. Method ini akan dipanggil dan dijalankan ketika event terjadi.

2. Kategori Event

a. Action, merupakan interface dari ActionListener, dengan method actionPerformed(ActionEvent).

b. Item, merupakan interface dari ItemListener, dengan method itemStateChange(ItemEvent).

c. Mouse, merupakan interface daru MouseListener, dengan 5 method:

> mouseClicked(MouseEvent)

> mousePressed(MouseEvent)

> mouseReleased(MouseEvent)

> mouseEntered(MouseEvent)

> mouseExited(MouseEvent)

d. Mouse motion, merupakan interface dari MouseMotionListener, dengan method mouseDragged(MouseEvent)

e. Key, merupakan interface dari KeyListener, dengan 3 method :

> keyPressed(KeyEvent)

> keyReleased(KeyEvent)

> keyTyped(KeyEvent)

f. Focus, merupakan interface dari FocusListener, dengan 2 method :

> focusGained(FocusEvent)

> focusLast(FocusEvent)

d. Window, merupakan interface dari WindowsListener, dengan 4 method :

> windowClosing(WindowEvent)

> windowOpened(WindowEvent)

> windowActived(WindowEvent)

> windowDeactived(WindowEvent)

Source : http://archavesta.wordpress.com/2010/11/29/event-di-java/

Contoh Event Handling

Contoh program berikut ini pada dasarnya sama dengan contoh program sebelumnya Hanya saja pada contoh kali ini, ditambahkan tombol Exit yang jika diklik program akan keluar.
Berikut ini tampilannya:




Source : http://contohprogram.info/java/contoh-program-event-handling-di-java-2.html#comments

Sabtu, 10 Maret 2012

Konsep Dasar Event Handling

EVENT HANDLING PADA JAVA(J2ME)

Event Handling
    Event berguna untuk menangani interaksi user dengan program, misalnya user memilih
    sebuah menu dalam aplikasi MIDlet.Untuk menangani event perlu
mengimplementasikan interface CommandListener dan atau ItemListener.
    CommandListener berfungsi untuk menangani jika user memilih Command tertentu
sedangkan ItemListener berfungsi untuk menangani jika user mengubah nilai seperti
misalnya mengubah pilihan pada ChoiceGroup.
Untuk memberikan gambaran sebuah event bekerja, perhatikan contoh berikut.




import javax.microedition.MIDlet.*;
import javax.microedition.lcdui.*;
public class NotHelloWorld2 extends MIDlet implements CommandListener{
private Command cmdExit;
private Display display;
public NotHelloWorld2()
{
display = Display.getDisplay(this);
cmdExit = new Command("Exit", Command.SCREEN,2);
}
public void startApp()
{
TextBox t = new TextBox("Not ","Not Hello World",256,0);
t.addCommand(cmdExit);
t.setCommandListener(this);
display.setCurrent(t);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
public void commandAction(Command cmd,Displayable disp)
{
if(cmd==cmdExit)
{
destroyApp(false);
notifyDestroyed();
}
}
}

Pemrograman aplikasi wireless dengan Java/J2ME 24
Pada contoh kedua ini, kita tambahkan sebuah Command untuk keluar dari aplikasi
yang telah kita buat pada contoh 1.
    Ketika program pertama kali dipanggil, maka state
berada pada Aktif, disini sebuah TextBox dan Command dibuat.
    Kemudian program
menunggu respon dari user dengan mengimplementasikan CommandListener. Ketika
user menekan Command “cmdExit” , maka program memanggil
metodh(destroyApp) untuk membunuh MIDlet.

GUI

Komponen Utama GUI java adalah JFC (Java Fundamental Class)
1. Koordinat GUI
Sistem Koordinat posisi window dan peletakan komponennya
mengikuti sistem koordinat kartesian 2 dimensi x-aksis dan y-aksis.
Penempatan dan dimensi dari komponen mengikuti aturan dasar
(x,y,lebar,tinggi)
2. AWT (Abstract Windows Toolkit)

merupakan paket dasar dalam pembentukan GUI dengan menggunakan platform yang terdapat dalam masing-masing OS (native resource)
Paket dasar : java.awt.component
Adapun struktur dasar window AWT
1. Frame atau Jwindow, sebagai komponen dasar window
2. Header, tempat judul dan standar exit-close
3. Menubar, tempat list menu
4. Kontainer object ContentPane, berfungsi sebagai kanvas tempat
komponen-komponen diletakkan
3. Swing
Product SUN dalam membangun GUI yang Independent sehingga bersifat cross platform dalam tampilan window yang dihasilkan.
Paket dasar: javax.swing.Jcomponent
4. Event Handler
Aksi-reaksi yang diberikan pada tiap-tiap komponen GUI
Jika pada aplikasi berbasis command prompt kita memanfaatkan masukan dari keyboard untuk melakukan suatu aksi atau perintah, maka pada aplikasi berbasis GUI juga dibutuhkan sumber inputan ataupun kondisi yang melekat pada masing-masing komponen didalam frame yang disebut dengan event.
Event kebanyakan dihasilkan oleh piranti utama input yaitu mouse dan keyboard, event model ini dinamakan low-level event. Dan ada pula event yang terjadi dikarenakan suatu proses pada komputasi yang biasanya berupa pesan atapun peringatan dikarenakan kondisi pada memori, prosesor ataupun yang lainnya yang disebut dengan semantic event.
Proses event:
1. Lingkungan aplikasi
2. Komponen Sumber event
3. Kejadian (event)
4. Penyampaian Kejadian (Listener)
5. Implementasi atau reaksi setelah diterimanya kejadian
dalam membangun aplikasi berbasis GUI kita menggunakan IDE(Integrated Development Invironment) seperti Netbeans

Source :  (Silahkan Copy Link Di bawah ini, Untuk mendapatkan Info lebih Lengkap)
http://elista.akprind.ac.id/upload/files/3424_Modul9-GUI.ppt
http://id.wikipedia.org/wiki/Antarmuka_pengguna_grafis
http://inf.uajy.ac.id/~sigit/2006/06/13/graphical-user-interface-gui-dari-masa-ke-masa/
http://sumber-java.blogspot.com/2009/06/pengertian-java.html
http://id.wikipedia.org/wiki/Java
http://dadan.biz
http://hendrabozzie.wordpress.com/2009/09/15/sistem-operasi-dari-masa-ke-masa-1981-2009/
http://lengehbuah.byethost16.com/?p=13

Contoh Penggunaan GUI

Berikut Ini merupakan Contoh - Contoh penggunaan GUI
mulai dari button, labe, text Area, Text Box, Dll







Pengertian Java GUI

Pengertian GUI

    Antar muka komputer yang berbasiskan grafis. Adalah citra grafis yang ditampilkan di layar komputer yang memungkinkan untuk mengakses aplikasi software dengan memakai menu dropdown, dialog box, radio button, check box, panel, tabs, toolbar, icon shortcuts dan tool lain.
    Atau bisa juga dikatakan jenis antarmuka pengguna yang memungkinkan orang untuk berinteraksi dengan program dengan lebih banyak dengan gambar daripada perintah teks.
    Sebuah GUI grafis menawarkan ikon, dan visual indikator, sebagai lawan dari antarmuka berbasis teks. Contoh perangkat yang menggunakan GUI:  perangkat genggam seperti MP3 Players, Portable Media Player dan perangkat Permainan. GUI ini dimulai pertama kali dengan X Windows hasil penelitian di MIT, kemudian Macintosh, Sun View, lalu disusul oleh Microsoft Windows, dan sistem operasi lainnya.

JAVA

    Java merupakan suatu teknologi perangkat lunak yang di dalamnya mencakup bahasa pemrograman. Selain itu Java juga merupakan suatu platform yang memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan suatu program.     Java sendiri pada awalnya dikembangkan pada lingkungan komputer oleh Sun Microsystem Inc. dengan tujuan untuk menghasilkan suatu bahasa komputer sederhana tanpa harus terikat pada arsitektur tertentu.     Maka tak heran jika dalam perkembangannya Java dapat dijalankan pada berbagai platform sistem operasi seperti Linux, Windows maupun Unix.

Karena keunikan dan kehandalannya, Java pun semakin banyak dikenal. Pada tahun 1995 Sun meluncurkan sebuah browser berbasis Java dengan julukan Hot Java, kemudian diikuti Netscape yang memutuskan untuk membuat browser dengan dilengkapi bahasa Java di dalamnya.
    Setelahnya ikut bergabung pula berbagai pengembang ternama diantaranya IBM dan Microsoft. Kemudian pada tahun berikutnya, Sun Microsystem Inc. merilis Java Software Development Kit (JDK) pertamanya, JDK 1.1. Dan terus berkembang dari pemrograman applet yang berjalan di browser menjadi pemrograman kelas dunia yang banyak digunakan untuk pengembangan aneka ragam aplikasi.
    Tidak hanya pada komputer, Java juga dapat berjalan pada bermacam-macam perangkat, mulai telepon genggam sampai aplikasi berskala enterprise pada komputer server.

JAVA GUI

    Dapat disimpulkan bahwa Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI.
    Tujuannya adalah menambahkan komponen-komponen yang tidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya  adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

Source :
http://en.wikipedia.org/wiki/Graphical_user_interface
http://www.total.or.id/info.php?kk=graphical%20user%20interface
http://signal5.wordpress.com/2008/11/29/sekilas-tentang-java/

Konsep Dasar GUI

Java GUI merupakan sebuah konsep yang memadukan dua buah teknologi yang ada yaitu Java dan GUI (Graphical User Interface). Seperti kita ketahui bersama Java merupakan bahasa pemrograman yang sudah mulai banyak digunakan saat ini karena beberapa kelebihan yang dimiliki seperti kemampuan multiplatform yang dimiliki, OOP, pustaka Class yang lengkap dsb.
Sejarah…
Adapun pada versi awal peluncurannya pada tahun 1996 (selanjutnya disebut versi 1.0), bahasa pemrograman ini menyertakan beberapa paket standar yakni :
  1. java.lang yakni sebuah kelas untuk elemen-elemen dasar
  2. java.io yang merupakan kelas input dan output termasuk penggunaan file
  3. java.util yakni kelas pelengkap seperti kelas struktur data dan kelas penanggalan
  4. java.net yakni kelas TCP/IP (untuk jaringan)
  5. java.awt yakni kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  6. java.applet yakni kelas dasar aplikasi antarmuka untuk browser
Sejak awal dibuatnya oleh Sun Microsystem, Java diorientasikan agar memiliki perangkat bergaya desktop dengan ToolkitJava yang dikenal dengan nama AWT (Abstract Windowing Toolkit). Kemudian pada tahun 1997 muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari AWT. JFC ini mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas (Java 2).
Apa sebenarnya GUI…???????
Menurut referensi yang saya dapatkan, GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna yang memungkinkan seseorang untuk berinteraksi dengan program dengan berbagai cara selain mengetik seperti halnya komputer, MP3 Player dll yang berisikan banyak tombol bergambar/icon dibandingkan teks. GUI yang merupakan kebalikan dari CLI (Command Line Interface) menggunakan icon grafis atau indikator visual untuk kenyamanan user.
Next, Java GUI….
Java sendiri menyediakan dua buah pustaka grafis dalam paketnya yaitu AWT dan Swing. Keduanya menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet. Tidak seperti komponen AWT yang menggunakan native code, keseluruhan Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
  1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh : frames, panels.
  2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
  3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse, penekanan tombol.
  4. Listener yaitu suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi.

http://aryavanjava.wordpress.com/category/java/
- http://id.wikipedia.org/wiki/Java
 - http://java.sun.com/developer/onlineTraining/Programming/BasicJava2
- http://www.dreamincode.net/forums/showtopic17705.htm
- http://java.sun.com/docs/books/tutorial/ui/features/index.html

Stream, Reader, dan Writer

Stream, Reader, dan Writer

    Tanpa bisa berinteraksi dengan dunia lain, suatu program tidak ada gunanya. Interaksi suatu program dengan dunia lain sering disebut input/output atau I/O. Sejak dulu, salah satu tantangan terbesar untuk mendesain bahasa pemrograman baru adalah mempersiapkan fasilitas untuk melakukan input dan output. Komputer bisa terhubung dengan beragam jenis input dan output dari berbagai perangkat. Jika bahasa pemrograman harus dibuat secara khusus untuk setiap jenis perangkat, maka kompleksitasnya akan tak lagi bisa ditangani.

    Salah satu kemajuan terbesar dalam sejarah pemrograman adalah adanya konsep (atau abstraksi) untuk memodelkan perangkat I/O. Dalam Java, abstraksi ini disebut dengan aliran (stream). Bagian ini akan memperkenalkan tentang aliran, akan tetapi tidak menjelaskan dengan komplit. Untuk lebih lengkapnya, silakan lihat dokumen resmi Java.

    Ketika berhubungan dengan input/output, kita harus ingat bahwa ada dua kategori data secara umum : data yang dibuat oleh mesin, dan data yang bisa dibaca manusia. Data yang dibuat mesin ditulis dengan model yang sama dengan bagaimana data tersebut disimpan di dalam komputer, yaitu rangkaian nol dan satu. Data yang bisa dibaca manusia adalah data dalam bentuk rangkaian huruf. Ketika kita membaca suatu bilangan 3.13159, kita membacanya sebagai rangkaian huruf yang kita terjemahkan sebagai angka. Angka ini akan ditulis dalam komputer sebagai rangkaian bit yang kita tidak mengerti.

    Untuk menghadapi kedua jenis data ini, Java memiliki dua kategori besar untuk aliran : aliran byte untuk data mesin (byte stream), dan aliran karakter (character stream) untuk data yang bisa dibaca manusia. Ada banyak kelas yang diturunkan dari kedua kategori ini.

    Setiap objek yang mengeluarkan data ke aliran byte masuk sebagai kelas turunan dari kelas abstrak OutputStream. Objek yang membaca data dari aliran byte diturunkan dari kelas abstrak InputStream. Jika kita menulis angka ke suatu OutputStream, kita tidak akan bisa membaca data tersebut karena ditulis dalam bahasa mesin. Akan tetapi data tersebut bisa dibaca kembali oleh InputStream. Proses baca tulis data akan menjadi sangat efisien, karena tidak ada penerjemahan yang harus dilakukan : bit yang digunakan untuk menyimpan data di dalam memori komputer hanya dikopi dari dan ke aliran tersebut.

    Untuk membaca dan menulis data karakter yang bisa dimengerti manusia, kelas utamanya adalah Reader dan Writer. Semua kelas aliran karakter merupakan kelas turunan dari salah satu dari kelas abstrak ini. Jika suatu angka akan ditulis dalam aliran Writer, komputer harus bisa menerjemahkannya ke dalam rangkaian karakter yang bisa dibaca maunsia.

    Membaca angka dari aliran Reader menjadi variabel numerik juga harus diterjemahkan, dari deretan karakter menjadi rangkaian bit yang dimengerti komputer. (Meskipun untuk data yang terdiri dari karakter, seperti dari editor teks, masih akan ada beberapa terjemahan yang dilakukan. Karakter disimpan dalam komputer dalam nilai Unicode 16-bit. Bagi orang yang menggunakan alfabet biasa, data karakter biasanya disimpan dalam file dalam kode ASCII, yang hanya menggunakan 8-bit. Kelas Reader dan Writer akan menangani perubahan dari 16-bit ke 8-bit dan sebaliknya, dan juga menangani alfabet lain yang digunakan negara lain.)

    Adalah hal yang mudah untuk menentukan apakah kita harus menggunakan aliran byte atau aliran karakter. Jika kita ingin data yang kita baca/tulis untuk bisa dibaca manusia, maka kita gunakan aliran karakter. Jika tidak, gunakan aliran byte. System.in dan System.out sebenarnya adalah aliran byte dan bukan aliran karakter, karenanya bisa menangani input selain alfabet, misalnya tombol enter, tanda panah, escape, dsb.

    Kelas aliran standar yang akan dibahas berikutnya didefinisikan dalam paket java.io beserta beberapa kelas bantu lainnya. Kita harus mengimpor kelas-kelas tersebut dari paket ini jika kita ingin menggunakannya dalam program kita. Artinya dengan menggunakan "import java.io.*" di awal kode sumber kita.

    Aliran tidak digunakan dalam GUI, karena GUI memiliki aliran I/O tersendiri. Akan tetapi kelas-kelas ini digunakan juga untuk file atau komunikasi dalam jaringan. Atau bisa juga digunakan untuk komunikasi antar thread yang sedang bekerja secara bersamaan. Dan juga ada kelas aliran yang digunakan untuk membaca dan menulis data dari dan ke memori komputer.

Source : http://java.lyracc.com/belajar/java-untuk-pemula/stream-reader-dan-writer

Contoh Stream IO

Berikut Merupakan Contoh Penggunaan Stream IO

    Program dengan menggunakan class FileOutputStream untuk menulis File.
    Perhatikan bahwa menulis file dapat menyebabkan Exception, karena itu diperlukan penangkapan sinyal exception bila terjadi error.

Contoh Random Access File

public static void main(String[] args) throws IOException{
          File f = new File("test3.txt");
         if (!f.isFile() || !f.canRead() || !f.canWrite()) throw new
        IOException();
          RandomAccessFile raf = new RandomAccessFile(f, "rw");
}

Konsep Dasar Stream IO

Stream IO

    Semua data di Java dibaca dan ditulis dengan menggunakan stream.
    Stream adalah representasi abstrak dari aliran data yang berjalan dari sumber (input stream) ke tujuan (output stream).
    Contoh:
    Membaca dan menulis file di dan ke harddisk
    Membaca dan menulis teks ke console.
    Membaca dan menulis melalui network

I/O Streams

    Untuk membaca, program membuka stream pada sumber ( file, memory, socket) dan membaca informasi secara sekuensial.
    Untuk menulis, program mengirim informasi ke tujuan dengan cara membuka stream tujuan, selanjutnya menulis informasi secara sekuensial.

Cara menggunakan stream
Prosedur penggunaan byte stream dan character stream sama

Input stream
    1. Membuat obyek yg berasosiasi dg data source.
    Mis : FileInputStream
    2. Membaca informasi dari stream dg menggunakan method obyek tsb.
    Mis: read()
    3. Bila selesai, panggil method close.

Output Stream

    1. Membuat obyek yg berasosiasi dg data destination.
    Mis : BufferedWriter
    2.Menulis informasi ke stream tujuan dg menggunakan method obyek tsb.
    Mis: write()
    3. Bila selesai, panggil method close.



InputStream and OutputStream Classes

    Level tertinggi pada hirarki package java.io adalah dua abstract class: InputStream dan OutputStream
    Keduanya langsung dibuat dengan meng- extend class Object.
    Class InputStream dan OutputStream mempunyai beberapa method dasar untuk membaca dan menulis bytes.


InputStream dan OutputStream
   
    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.

Hirarki Class InputStream dan OutputStream
InputStream
    FileInputStream
    ByteArrayInputStream
    FilterInputStream
        DataInputStream
        BufferedInputStream
        PushbackInputStream
    ObjectInputStream
    PipedInputStream
    SequenceInputStream

OutputStream
    FileOutputStream
    ByteArrayOutputStream
    FilterOutputStream
        DataOutputStream
        BufferedOutputStream
        PrintStream
    ObjectOutputStream
    PipedOutputStream


Stream IO

Sistem IO di Java adalah bagian dari library Java yang bertugas menangani input dan output dalam sebuah program Java. Input dan output ini bentuknya bisa bermacam-macam, di antaranya:
  1. Menangani input dan output dari dan ke standar output
  2. Menangani operasi file (membaca atau menulis file)
  3. Memproses data yang masuk melalui soket, dll
Arsitektur library IO di Java dirancang sedemikian rupa sehingga memudahkan dilakukannya ekstensi terhadap library yang sudah ada. Akan tetapi, rancangan tersebut membuat banyak orang yang baru belajar Java menjadi agak sulit untuk memahami sistem IO ini. Di post ini saya akan mencoba menjelaskan dasar dari sistem IO ini.
Pada dasarnya, membaca atau menulis IO itu adalah melakukan operasi pembacaan dan penulisan array of byte. Untuk urusan input, kelas dasar yang digunakan adalah java.io.InputStream, sementara untuk urusan output yang digunakan adalah kelas java.io.OutputStream. Kedua kelas tersebut merupakan kelas abstrak yang akan menjadi kelas dasar dalam IO di Java. Kelas-kelas yang mengimplementasikan InputStream antara lain AudioInputStream untuk membaca file dalam format audio, ByteArrayInputStream untuk membaca input dalam format byte array.
Walaupun sebenarnya operasi IO adalah operasi pembacaan dan penulisan array of byte, akan tetapi seringkali kita butuh untuk membaca dan menulis dalam format teks. Untuk lebih memudahkan dalam melakukan hal tersebut, Java menyediakan kelas abstrak Reader untuk melakukan operasi pembacaan stream dalam format teks dan kelas abstrak Writer untuk melakukan penulisan dalam format teks. Kelas-kelas yang mengimplementasikan kelas Reader antaranya InputStreamReader, BufferedReader, dan FileReader.

Rabu, 05 Oktober 2011

cinta
tuhan
saat aku menyukai seorang teman
ingatkanlah aku bahwa akan ada sebuah akhir
sehingga aku tetap bersama Yang tak pernah berakhir

tuhan
ketika aku merindukan seorang kekasih
rindukanlah aku kepada yang rindu cinta sejatimu
agar kerinduanku terhadap mu semakin menjadi

tuhan
jika aku hendak mencintai seseorang
temukanlah aku dengan orang yang mencintaimu
agar bertambah kuat cintaku padamu

tuhan
ketika aku sedang jatuh cinta
jagalah cinta itu
agar tidak melebihi cintaku padamu

tuhan
ketika aku berucap aku cinta padamu
biarlah kukatakan kepada yang hatinya tertaut padamu
agar aku tak jatuh dalam cinta yang bukan karena mu

sebagaimana orang yang tidak berucap
mencintai seseorang bukanlah apa apa
dicintai seseorang adalah sesuatu
dicintai orang yang kau cintai sangatlah berarti
tapi di cintai oleh sang pencipta adalah segalanya


Selasa, 04 Oktober 2011

Arti Facebook yang sebenarnya

Facebook  adalah sebuah layanan jejaring sosial dan situs web yang diluncurkan pada Februari 2004 yang dioperasikan dan dimiliki oleh Facebook, Inc.[1] Pada Januari 2011, Facebook memiliki lebih dari 600 juta pengguna aktif.[5][6] Pengguna dapat membuat profil pribadi, menambahkan pengguna lain sebagai teman dan bertukar pesan, termasuk pemberitahuan otomatis ketika mereka memperbarui profilnya. Selain itu, pengguna dapat bergabung dengan grup pengguna yang memiliki tujuan tertentu, diurutkan berdasarkan tempat kerja, sekolah, perguruan tinggi, atau karakteristik lainnya. Nama layanan ini berasal dari nama buku yang diberikan kepada mahasiswa pada tahun akademik pertama oleh administrasi universitas di AS dengan tujuan membantu mahasiswa mengenal satu sama lain. Facebook memungkinkan setiap orang berusia minimal 13 tahun menjadi pengguna terdaftar di situs ini.

Facebook didirikan oleh Mark Zuckerberg bersama teman sekamarnya dan sesama mahasiswa ilmu komputer Eduardo Saverin, Dustin Moskovitz dan Chris Hughes.[7] Keanggotaan situs web ini awalnya terbatas untuk mahasiswa Harvard saja, kemudian diperluas ke perguruan lain di Boston, Ivy League, dan Universitas Stanford. Situs ini secara perlahan membuka diri kepada mahasiswa di universitas lain sebelum dibuka untuk siswa sekolah menengah atas, dan akhirnya untuk setiap orang yang berusia minimal 13 tahun.
Studi Compete.com bulan Januari 2009 menempatkan Facebook sebagai layanan jejaring sosial paling banyak digunakan menurut pengguna aktif bulanan di seluruh dunia, diikuti oleh MySpace.[8] Entertainment Weekly menempatkannya di daftar "terbaik" akhir dasawarsa dengan komentar, "Bagaimana cara kita menguntit bekas kekasih kita, mengingat ulang tahun rekan kerja kita, mengganggu teman kita, dan memainkan permainan Scrabulous sebelum Facebook diciptakan?"[9] Quantcast memperkirakan Facebook memiliki 135,1 juta pengunjung bulanan di AS pada Oktober 2010.[10] Menurut Social Media Today pada April 2010, diperkirakan bahwa 41,6% penduduk Amerika Serikat memiliki akun Facebook
 berikut keuntungan dan kerugian facebook :

Kerugian

1. Mengurangi waktu efektif anda (karena anda bisa bermain facebook berjam-jam).
2. Pornografi (facebook sangat memungkinkan untuk penyebaran poto-poto yang berbau pornografi)
3. Menghabiskan uang Anda (silahkan cek billing warnet ketika anda bermain facebook diwarnet,awas tak terasa uang anda sudah banyak terpakai)
4. Tugas sekolah terbengkelai (bagi pelajar, awalnya pergi ke internet sih cari data buat tugas. Tetapi setelah sampai didepan komputer. Yang pertama dibuka adalah facebook, yang kedua facebook, dan yang ketiga facebook, facebookan terus deh. … akhirnya lupa deh tujuan awal ke internet)
5. Individualistik.(bagaimanapun silaturahmi tatap muka lebih kena di hati)
6. Kerjaan terbengkelai (bagi para bos, sering awasi karyawan anda, kalau tidak ingin kerjaan dikantor anda berantakan)
7. Meningkatkan rasa cemburu diantara suami/istri (pernah ada rekan kerja saya (cewek). Karena difacebook dia banyak teman pria waktu kuliah dulu yang sering menuliskan komentar . suaminya jadi cemberut katanya.)
8. Menimbulkan pertengkaran keluarga. (karena status di facebook tidak diganti sesuai dengan kenyataan. Awas pertengkaran keluarga mengintai anda.)
9. Black campaign (Say no to ….. , Katakan tidak untuk …… itulah yang akhir-akhir ini banyak muncul di facebook).
10. Spionase. (Shin Bet selaku lembaga keamanan israel memperingatkan penduduk Israel agar ekstra hati-hati kala memakai Facebook. Pasalnya, Shine Bet menemukan bukti bahwa musuh-musuhnya, yakni organisasi teror di negara-negara Arab memakai situs jejaring seperti Facebook untuk merekrut mata-mata atau bahkan membunuh orang Israel. User Facebook di Israel pun diperingatkan untuk tidak memberi nomor telepon atau membalas pesan orang asing.) (pen: jangan-jangan andalah yang memakai startegi itu yahudi!)

Keuntungan

1. Menjalin silaturahmi (Islam menganjurkan kita untuk saling manjaga tali silaturahmi antar sesama umat islam)
2. Tempat belajar (banyak game pembelajaran disini, seperti mencoba tes toefl dan lain sebagainya.)
3. Refreshing (facebook bisa digunakan untuk sedikit refreshing ditengah kepenatan anda bekerja dikantor, misalnya, seperti bermain game di facebook)
4. Bisnis (bagi orang yang bermata bisnis, facebook merupakan salah satu ladang bisnis yang cukup menggiurkan, lihat saja kolom iklan facebook, sepertinya tidak pernah sepi dari iklan, malah makin banyak saja yang beriklan.)
5. Tempat curhat (facebook bisa menjadi sarana curhat, kita tinggal menuliskan sepenggal kalimat yang menggirukan di kolom keadaan anda. Pasti deh komentar banyak berdatangan.)
6. Praktis (facebook mempunyai banyak fasilitas dibandingkan dengan situs jejaring lainnya. Sehingga lebih praktis dan komplit.contoh fasilitas yang todak da pada situs jejarin lainnya adalah chatting.)
7. Cari jodoh (facebook merupakan salah satu tempat yang bisa diandalkan untuk tempat mencari jodoh, pada bagian inilah Pondok Pesantren se Jawa-Madura yang tergabung dalam Forum Komunikasi Pondok Pesantren Putri (FMP3) mengharamkannya, larangan tersebut ditekankan pada adanya hubungan pertemanan spesial yang berlebihan. Apabila hubungan pertemanan spesial tersebut dilakukan untuk mengenal karakter seseorang dalam kerangka keinginan menikahinya dengan keyakinan keinginannya akan mendapatkan restu dari orang tua, hal tersebut tetap diperbolehkan. Dalam penentuan pernyataan tersebut, FMP3 menggunakan sejumlah dasar. Antara lain Kitab Bariqah Mahmudiyah halaman 7, Kitab Ihya’ Ulumudin halaman 99, Kitab Al-Fatawi Al-Fiqhiyyah Al-Kubra halaman 203, serta sejumlah kitab dan tausyiyah dari ulamak besar. Bagaimana dengan MUI ?. “Kami menghargai pendapat ulama itu, tapi menurut saya yang diharamkan itu kontennya yang bermuatan gosip, dan mengumbar keburukan privasi orang lain bahkan lebih parah lagi adanya gambar porno,” tandas Amidhan saat dihubungi detikINET, Senin (25/5/2009). Menurut Amidhan, ulama-ulama dari Jawa Timur tersebut tidak termasuk dalam wadah MUI pusat. Amidhan menambahkan, haramnya konten dalam Facebook berbeda dengan haramnya babi. “Kalau babi kan zatnya haram, kalau Facebook mau dipegang atau dimakan sah-sah saja.)
8. Tempat kampanye politik paling murah (bulan-bulan ini adalah waktunya untuk pemilu. Kampanye adalah hal biasa yang sering muncul setiap hari. Termasuk difacebook. Bila dibandingkan dengan media lainnya. Facebooklah yang paling murah digunakan untuk melakukan kampanye politik. Di iran , pemerintah Iran diisukan dengan pemblokiran facebook karena digunakan oleh pihak oposisi untuk kampanye menjelang pemilu presiden 12 juni. Tetapi hal itu dibantah oleh Presiden Iran, Mahmoud Ahmadinejad, menyangkal laporan yang menyebutkan negaranya telah ‘mengharamkan’ Facebook. Ahmadinejad mengatakan dirinya percaya pada kebebasan berekspresi.)

http://agungprudent.wordpress.com/2009/05/27/facebook-keuntungan-dan-kerugiannya/


 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India