Jumat, 07 Desember 2012


UNDANG-UNDANG REPUBLIK INDONESIA
NOMOR 11 TAHUN 2008
TENTANG
INFORMASI DAN TRANSAKSI ELEKTRONIK


BAB VII

PERBUATAN YANG DILARANG

Pasal 27

(1) Setiap Orang dengan sengaja dan tanpa hak mendistribusikan dan/atau
mentransmisikan dan/atau membuat dapat diaksesnya Informasi Elektronik dan/atau Dokumen Elektronik yang memiliki muatan yang melanggar kesusilaan.

(2) Setiap Orang dengan sengaja dan tanpa hak mendistribusikan dan/atau
mentransmisikan dan/atau membuat dapat diaksesnya Informasi Elektronik dan/atau Dokumen Elektronik yang memiliki muatan perjudian.

(3) Setiap Orang dengan sengaja dan tanpa hak mendistribusikan dan/atau
mentransmisikan dan/atau membuat dapat diaksesnya Informasi Elektronik dan/atau Dokumen Elektronik yang memiliki muatan penghinaan dan/atau pencemaran nama baik.

(4) Setiap Orang dengan sengaja dan tanpa hak mendistribusikan dan/atau
mentransmisikan dan/atau membuat dapat diaksesnya Informasi Elektronik dan/atauDokumen Elektronik yang memiliki muatan pemerasan dan/atau pengancaman.

Pasal 28

(1) Setiap Orang dengan sengaja dan tanpa hak menyebarkan berita bohong dan
menyesatkan yang mengakibatkan kerugian konsumen dalam Transaksi Elektronik.

(2) Setiap Orang dengan sengaja dan tanpa hak menyebarkan informasi yang ditujukan
untuk menimbulkan rasa kebencian atau permusuhan individu dan/atau kelompokmasyarakat tertentu berdasarkan atas suku, agama, ras, dan antargolongan (SARA).

Pasal 29

Setiap Orang dengan sengaja dan tanpa hak mengirimkan Informasi Elektronik dan/atau
Dokumen Elektronik yang berisi ancaman kekerasan atau menakut-nakuti yang ditujukan
secara pribadi.

KETENTUAN PIDANA
Pasal 45

(1) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 27 ayat (1),
ayat (2), ayat (3), atau ayat (4) dipidana dengan pidana penjara paling lama 6 (enam) tahun dan/atau denda paling banyak Rp1.000.000.000,00 (satu miliar rupiah).

(2) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 28 ayat (1)
atau ayat (2) dipidana dengan pidana penjara paling lama 6 (enam) tahun dan/atau denda paling banyak Rp1.000.000.000,00 (satu miliar rupiah).

(3) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 29 dipidana
dengan pidana penjara paling lama 12 (dua belas) tahun dan/atau denda paling banyak Rp2.000.000.000,00 (dua miliar rupiah).

Pasal 30

(1) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum mengakses
Komputer dan/atau Sistem Elektronik milik Orang lain dengan cara apa pun.

(2) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum mengakses
Komputer dan/atau Sistem Elektronik dengan cara apa pun dengan tujuan untuk memperoleh Informasi Elektronik dan/atau Dokumen Elektronik.

(3) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum mengakses
Komputer dan/atau Sistem Elektronik dengan cara apa pun dengan melanggar, menerobos, melampaui, atau menjebol sistem pengamanan.

KETENTUAN PIDANA
Pasal 46

(1) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 30 ayat (1)
dipidana dengan pidana penjara paling lama 6 (enam) tahun dan/atau denda paling banyak Rp600.000.000,00 (enam ratus juta rupiah).

(2) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 30 ayat (2)
dipidana dengan pidana penjara paling lama 7 (tujuh) tahun dan/atau denda paling banyak Rp700.000.000,00 (tujuh ratus juta rupiah).

(3) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 30 ayat (3)
dipidana dengan pidana penjara paling lama 8 (delapan) tahun dan/atau denda paling banyak Rp800.000.000,00 (delapan ratus juta rupiah).

Pasal 31

(1) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum melakukan
intersepsi atau penyadapan atas Informasi Elektronik dan/atau Dokumen Elektronik dalam suatu Komputer dan/atau Sistem Elektronik tertentu milik Orang lain.

(2) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum melakukan
intersepsi atas transmisi Informasi Elektronik dan/atau Dokumen Elektronik yang tidak bersifat publik dari, ke, dan di dalam suatu Komputer dan/atau Sistem Elektronik tertentu milik Orang lain, baik yang tidak menyebabkan perubahan apa pun maupun yang menyebabkan adanya perubahan, penghilangan, dan/atau penghentian Informasi Elektronik dan/atau Dokumen Elektronik yang sedang ditransmisikan.

(3) Kecuali intersepsi sebagaimana dimaksud pada ayat (1) dan ayat (2), intersepsi yang
dilakukan dalam rangka penegakan hukum atas permintaan kepolisian, kejaksaan, dan/atau institusi penegak hukum lainnya yang ditetapkan berdasarkan undang-undang.
(4) Ketentuan lebih lanjut mengenai tata cara intersepsi sebagaimana dimaksud pada ayat
(3) diatur dengan Peraturan Pemerintah.

KETENTUAN PIDANA
Pasal 47

Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 31 ayat (1) atau ayat
(2) dipidana dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau denda paling
banyak Rp800.000.000,00 (delapan ratus juta rupiah).

Pasal 32

(1) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum dengan cara apa
pun mengubah, menambah, mengurangi, melakukan transmisi, merusak, menghilangkan, memindahkan, menyembunyikan suatu Informasi Elektronik dan/atau Dokumen Elektronik milik Orang lain atau milik publik.

(2) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum dengan cara apa
pun memindahkan atau mentransfer Informasi Elektronik dan/atau Dokumen Elektronik kepada Sistem Elektronik Orang lain yang tidak berhak.

(3) Terhadap perbuatan sebagaimana dimaksud pada ayat (1) yang mengakibatkan
terbukanya suatu Informasi Elektronik dan/atau Dokumen Elektronik yang bersifat rahasia menjadi dapat diakses oleh publik dengan keutuhan data yang tidak sebagaimana mestinya.

KETENTUAN PIDANA
Pasal 48

(1) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 32 ayat (1)
dipidana dengan pidana penjara paling lama 8 (delapan) tahun dan/atau denda paling banyak Rp2.000.000.000,00 (dua miliar rupiah).

(2) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 32 ayat (2)
dipidana dengan pidana penjara paling lama 9 (sembilan) tahun dan/atau denda paling banyak Rp3.000.000.000,00 (tiga miliar rupiah).

(3) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 32 ayat (3)
dipidana dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau denda paling banyak Rp5.000.000.000,00 (lima miliar rupiah).

Pasal 33

Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum melakukan tindakan apa
pun yang berakibat terganggunya Sistem Elektronik dan/atau mengakibatkan Sistem Elektronik
menjadi tidak bekerja sebagaimana mestinya.

KETENTUAN PIDANA
Pasal 49

Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 33, dipidana dengan
pidana penjara paling lama 10 (sepuluh) tahun dan/atau denda paling banyak
Rp10.000.000.000,00 (sepuluh miliar rupiah).

Pasal 34

(1) Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum memproduksi,
menjual, mengadakan untuk digunakan, mengimpor, mendistribusikan, menyediakan, atau memiliki:

a.       perangkat keras atau perangkat lunak Komputer yang dirancang atau secara khusus dikembangkan untuk memfasilitasi perbuatan sebagaimana dimaksud dalam Pasal 27 sampai dengan Pasal 33;

b.  sandi lewat Komputer, Kode Akses, atau hal yang sejenis dengan itu yang ditujukan
     agar Sistem Elektronik menjadi dapat diakses dengan tujuan memfasilitasi perbuatan sebagaimana dimaksud dalam Pasal 27 sampai dengan Pasal 33.

(2) Tindakan sebagaimana dimaksud pada ayat (1) bukan tindak pidana jika ditujukan untuk
melakukan kegiatan penelitian, pengujian Sistem Elektronik, untuk perlindungan Sistem Elektronik itu sendiri secara sah dan tidak melawan hukum.

KETENTUAN PIDANA
Pasal 50

Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 34 ayat (1) dipidana
dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau denda paling banyak
Rp10.000.000.000,00 (sepuluh miliar rupiah).

Pasal 35

Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum melakukan manipulasi,
penciptaan, perubahan, penghilangan, pengrusakan Informasi Elektronik dan/atau Dokumen
Elektronik dengan tujuan agar Informasi Elektronik dan/atau Dokumen Elektronik tersebut
dianggap seolah-olah data yang otentik.

Pasal 36

Setiap Orang dengan sengaja dan tanpa hak atau melawan hukum melakukan perbuatan
sebagaimana dimaksud dalam Pasal 27 sampai dengan Pasal 34 yang mengakibatkan
kerugian bagi Orang lain.

KETENTUAN PIDANA
Pasal 51

(1) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 35 dipidana
dengan pidana penjara paling lama 12 (dua belas) tahun dan/atau denda paling banyak Rp12.000.000.000,00 (dua belas miliar rupiah).

(2) Setiap Orang yang memenuhi unsur sebagaimana dimaksud dalam Pasal 36 dipidana
dengan pidana penjara paling lama 12 (dua belas) tahun dan/atau denda paling banyak Rp12.000.000.000,00 (dua belas miliar rupiah).

Pasal 37

Setiap Orang dengan sengaja melakukan perbuatan yang dilarang sebagaimana dimaksud
dalam Pasal 27 sampai dengan Pasal 36 di luar wilayah Indonesia terhadap Sistem Elektronik
yang berada di wilayah yurisdiksi Indonesia.

KETENTUAN PIDANA

Pasal 52

(1) Dalam hal tindak pidana sebagaimana dimaksud dalam Pasal 27 ayat (1) menyangkut
kesusilaan atau eksploitasi seksual terhadap anak dikenakan pemberatan sepertiga dari pidana pokok.

(2) Dalam hal perbuatan sebagaimana dimaksud dalam Pasal 30 sampai dengan Pasal 37
ditujukan terhadap Komputer dan/atau Sistem Elektronik serta Informasi Elektronik dan/atau Dokumen Elektronik milik Pemerintah dan/atau yang digunakan untuk layanan publik dipidana dengan pidana pokok ditambah sepertiga.

(3) Dalam hal perbuatan sebagaimana dimaksud dalam Pasal 30 sampai dengan Pasal 37
ditujukan terhadap Komputer dan/atau Sistem Elektronik serta Informasi Elektronik dan/atau Dokumen Elektronik milik Pemerintah dan/atau badan strategis termasuk dan tidak terbatas pada lembaga pertahanan, bank sentral, perbankan, keuangan, lembaga internasional, otoritas penerbangan diancam dengan pidana maksimal ancaman pidana pokok masing-masing Pasal ditambah dua pertiga.

(4) Dalam hal tindak pidana sebagaimana dimaksud dalam Pasal 27 sampai dengan Pasal
37 dilakukan oleh korporasi dipidana dengan pidana pokok ditambah dua pertiga.


Sumber : Undang-Undang ITE (Informasi dan Transaksi Elektronik)
                Yogyakarta; Penerbit New Merah Putih





CLASSPATH Netbeans


PATH adalah pemetaan suatu direktori pada suatu OS agara direktori tersebut bisa dikenal secara global  pada sistem.

CLASSPATH adalah untuk memberitahukan pada java bahwa sebuah class java tertentu (bisa berbentuk .jar atau .class) kita bisa simpan pada direktori/alamat file tertentu.

Pengaturan CLASSPATH

Pengaturan Dari Dos Prompt :

SET CLASSPATH = c:\libku\mysql-con-bin.jar;%CLASSPATH%

Pengaturan Dari Windows XP dan Windows 7 :

1. Control Panel-System muncul jendela System properties
2. Advanced klik Environment Variables
3. pada System variables klik New
4. pada New System Variable masuakan
   - Variable name  : CLASSPATH
   - Variable value : c:\libku\mysql-con-bin.jar;%CLASSPATH%




CLASSPATH EditPlus


MENU                   : KOMPILASI
COMAND            : C\J2sdk1.4.0\bin\JAVAC.exe
ARGUMENT        : $ (File Name)
INTIAL DIR         : $ (File Dir)

MENU                    : EXSEKUSI
COMAND              : C\J2sdk1.4.0\bin\JAVA.exe
ARGUMENT         : $ (File Name With Not Extention)
INTIAL DIR           : $ (File Dir)

Note :
                    KOMPILASI       =  JAVAC
                    EXSEKUSI          =  JAVA
        
           SN Edit ++

          User Id  =  AMIK
          Serial     =  D78C026348






Mebuat Library


1. Download file mysql-connector-java-5.1.6-bin.jar
2. Masuk jendela Library Manager, melalaui Tool-Libraries
3. klik New Library sehingga muncul jendela nya
   - Library Name : MySQL_Driver
   - Library Type : Class Libraries
4. lalau Ok, sehingga masuk kedalam daftar Library Manager
5. klik Add JAR/Folder
6. sehingga muncul jendela Browse JAR/Folder
7. lalau pilih file mysql-connector-java-5.1.6-bin.jar





OPERATOR JAVA


 import javax.swing.*;
import java.awt.*;
import java.lang.*;
import java.awt.event.*;

class MyFrame extends JFrame{

JPanel jpnMain=new JPanel();

private Container cont=new Container();
JButton bKeluar,bHapus,bTambah,bKurang,bBagi,bKali;
public JTextField tBil1,tBil2,tHasil;
JLabel judul,LBil1,LBil2,LHasil;
public int Bil1,Bil2,Hasil;

MyFrame (){

jpnMain.setLayout(null);
jpnMain.setBackground(Color.orange);
getContentPane().add(jpnMain, BorderLayout.CENTER);

setLocation (200,200);
setSize (400, 400);
setVisible (true);

cont=getContentPane();
cont.add (new JLabel ("hello"));


judul=new JLabel ("PROGRAM KALKULATOR");
judul.setFont(new Font("Arial", Font.BOLD, 18));
judul.setBounds(80, 10, 400, 20);
jpnMain.add(judul);


LBil1=new JLabel ("Bil. pertama");
LBil1.setForeground(Color.blue);
LBil1.setBounds(10, 50, 120, 20);
jpnMain.add(LBil1);

tBil1=new JTextField("");
tBil1.setForeground(Color.blue);
tBil1.setBackground(Color.pink);
tBil1.setBounds(140, 50, 120, 20);
jpnMain.add(tBil1);

LBil2=new JLabel("Bil2");
LBil2.setForeground(Color.blue);
LBil2.setBounds(10,80,120, 20);
jpnMain.add(LBil2);

tBil2=new JTextField("");
tBil2.setForeground(Color.blue);
tBil2.setBounds(140,80,120,20);
jpnMain.add(tBil2);

LHasil=new JLabel("Hasil");
LHasil.setBounds(10, 110,120,20);
LHasil.setForeground(Color.blue);
jpnMain.add(LHasil);

tHasil=new JTextField("");
tHasil.setForeground(Color.blue);
tHasil.setBounds(140, 110,120,20);
jpnMain.add(tHasil);

bKeluar=new JButton("keluar");
bKeluar.setIcon(new ImageIcon("exit.gif"));
bKeluar.setBounds (20, 200, 100,20);
bKeluar.setForeground(Color.blue);
jpnMain.add (bKeluar);
bKeluar.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e) {
dispose();
}
});
bHapus= new JButton("Hapus");
bHapus.setBounds(150,200,100,20);
bHapus.setBackground(Color.green);
jpnMain.add(bHapus);
bHapus.addActionListener(new hapus());

bTambah= new JButton("+");
bTambah.setBounds(270,200,100,20);
jpnMain.add(bTambah);
bTambah.addActionListener(new penambahan());

bKurang= new JButton("-");
bKurang.setBounds(150,230,100,20);
jpnMain.add(bKurang);
bKurang.addActionListener(new pengurangan());

bBagi= new JButton(":");
bBagi.setBounds(270,230,100,20);
jpnMain.add(bBagi);
bBagi.addActionListener(new pembagian());

bKali= new JButton("*");
bKali.setBounds(20,230,100,20);
jpnMain.add(bKali);
bKali.addActionListener(new perkalian());

show();
}
class hapus implements ActionListener {
public  void actionPerformed (ActionEvent e){
tBil1.setText("");
tBil2.setText("");
tHasil.setText("");
}
}

class  penambahan implements ActionListener {
public  void actionPerformed (ActionEvent e){
Bil1=(Integer.valueOf(tBil1.getText().trim())).intValue();
Bil2=(Integer.valueOf(tBil2.getText().trim())).intValue();
int Hasil=Bil1+Bil2;// utk operator
tHasil.setText(String.valueOf(Hasil));
}
}
class  pengurangan implements ActionListener {
public  void actionPerformed (ActionEvent e){
Bil1=(Integer.valueOf(tBil1.getText().trim())).intValue();
Bil2=(Integer.valueOf(tBil2.getText().trim())).intValue();
int Hasil=Bil1-Bil2;// utk operator
tHasil.setText(String.valueOf(Hasil));

}
}
class  perkalian implements ActionListener {
public  void actionPerformed (ActionEvent e){
Bil1=(Integer.valueOf(tBil1.getText().trim())).intValue();
Bil2=(Integer.valueOf(tBil2.getText().trim())).intValue();
int Hasil=Bil1*Bil2;// utk operator
tHasil.setText(String.valueOf(Hasil));
}
}
class  pembagian implements ActionListener {
public  void actionPerformed (ActionEvent e){
Bil1=(Integer.valueOf(tBil1.getText().trim())).intValue();
Bil2=(Integer.valueOf(tBil2.getText().trim())).intValue();
int Hasil=Bil1/Bil2;// utk operator
tHasil.setText(String.valueOf(Hasil));
}
}

}
public class tambah {
public static  void main (String[]args){
new MyFrame();
}
}





Replikasi Database

Replikasi memiliki pengertian sebagai suatu proses mengcopy atau mentransfer data dari suatu database ke database lain yang tersimpan pada komputer yang berbeda. Untuk melakukan proses replikasi dibutuhkan dua buah komputer atau lebih yang berfungsi sebagai server dengan satu server sebagai master dan yang satu sebagai slave. Tentunya dengan adanya koneksi jaringan.Konfigurasi di sisi Master

Tahapan selanjutnya adalah melakukan konfigurasi database di master, dengan sebelumnya apa nama database yang akan direplikasi dalam contoh ini menggunakan database coba.Buka dan edit file my.cnflog_bin = /var/log/mysql/mysql-bin.logbinlog-do-db = cobaserver-id = 1

Penjelasannya adalah sebagai berikut :server-id = id dari mesin masterlog_bin = alamat untuk menyimpan log binari mysqlbinlog-do-db = nama database yang akan direplikasi

Lakukan restart MySQL. Setelah proses restart selesai masuk kedalam prompt MySQL sebagai user root.# mysql -u root -pbahagiaBila sudah masuk kedalam prompt MySQL, kita akan membuat akses untuk slave mulai dari username dan IP dari komputer yang digunakan juga untuk passwordnya.# grant replication slave on nm_DB.* to ‘nm_user’@’host’ indentified by ‘password’ ;# flush privileges ;

Catat status master dari database coba.# use coba ;# flush tables with read lock ;# show master status ;# unlock tables ;

Setelah itu lakukan backup database yang akan direplikasi, setelah itu hasil backup database tadi di restore ke komputer sisi yang berfungsi sebagai slave.Konfigurasi di sisi SlaveBuka dan edit file my.cnf.server-id = 2master-host = 192.168.21.99master-user = slave_usermaster-password = passwordmaster-connect-try = 30replicate-do-db = coba

Penjelasannya adalah sebagai berikut :server-id = id dari mesin slavemaster-host = IP address komputermaster-user = user namemaster-password = passwordmaster-connect-try = waktu jeda (satuan detik)replicate-do-db = nama database

Sekarang lakukan untuk setting replikasinya. Masuk kedalam prompt MySQL disisi slave dengan user root.# slave stop ;# change master to master_host=’host’,# master_user=’slave_user’,# master_password=’password’,# master_log_file=’lihat di master status’,# master_log_pos=’lihat di master status’ ;# slave start ;# show slave status ;


contoh khasus :


Cara koneksi client server  ?

1. ada 2 laptop , laptop a dn laptop b.
2. laptop a rencana nya buat database, dan laptop b buat program nya , jadi laptop b mengakses database yang berada didalam laptop a ,

pertanyaan nya ??  Bagaimana cara koneksi di DATASOURCE nya?
jawab :

- untuk datasource-nya masukan alamat ip komputer A.
- nama localhost itu hanya diganti dng IP server tidak perlu ganti ip nya client.
- tinggal clientnya nembak ke IP server, sedangkan server itu tidak ada aplikasi apa-apa hanya -  database saja.
Ganti aja localhost dgn nama IP server itu menuju ke komputer databasenya.

gampangkan....

apa bila apa pesan ERORR seperti ini :

java.sql.SQLException: null,  message from server: "Host 'Brigadir-PC' is not allowed to connect to this MySQL server"

- cek seting Database nya
- cek Alamat IP server yang di tuju di PC mana database  nya berada.
- cek jangan sampai IP server sama dgn IP client sudah pasti konflik tidak bakalan bisa 
- tambah kan port untuk Client-Server yang harus sama. 









Database Mysql


Database : Database adalah sebuah system yang di buat untuk mengorganisasi, menyimpan dan menarik data dengan mudah. Database terdiri dari kumplan data yang terorganisir untuk 1 atau lebih penggunaan, dalam bentuk digital. Database digital di manage menggunakan Database Management System (DBMS), yang menyimpan isi database, mengizinkan pembuatan dan maintenance data dan pencarian dan akses yang lain.

Beberapa Database yang ada saat ini adalah : Mysql, Sql Server, Ms.Access,
Oracle, dan PostgreSql.


MySQL (Sructured Query Language) adalah salah satu jenis database server yang sangat terkenal. MySQL menggunakan bahasa SQL untuk mengakses database nya. Lisensi Mysql adalah FOSS License Exception dan ada juga yang versi komersial nya. Tag Mysql adalah “The World's most popular open source database”. MySQL tersedia untuk beberapa platform, di antara nya adalah untuk versi windows dan versi linux. Untuk melakukan administrasi secara lebih mudah terhadap Mysql, anda dapat menggunakan software tertentu, di antara nya adalah phpmyadmin dan mysql yog.


Phpmyadmin adalah sebuah aplikasi open source yang berfungsi untuk memudahkan manajemen MySQL. Dengan menggunakan phpmyadmin, anda dapat membuat database, membuat tabel, menginsert, menghapus dan mengupdate data dengan GUI dan terasa lebih mudah, tanpa perlu mengetikkan perintah SQL secara manual.


Xampp adalah sebuah paket kumpulan software yang terdiri dari apache, mysql, phpmyadmin, php, Perl, Freetype2,dll. Xampp berfungsi untuk memudahkan instalasi lingkungan php, di mana biasa nya lingkungan pengembangan web memerlukan php,apache,mysql dan phpmyadmin serta software-software yang terkait dengan pengembangan web. Dengan menggunakan xampp, kita tidak perlu menginstall aplikasi-aplikasi tsb satu persatu.

Selisih Tanggal atau Hari di Java Netbeans

Program yang dibuat berbasis GUI agar memiliki penampilan yang baik dengan langkah-langkah sebagai berikut :

a. Membuka Program NetBeans, lalu buat project baru dengan nama selisihHari atau nama     yang lain.


b. Kita buka project kemudian pada bagian source package kita klik kanan lalu cari new Jframe Form (untuk membuat frame form baru sebagai bingkai program kita) diberi nama LamaHariGUIdan pada bagian package kita beri nama GUI atau nama lain.


c. Selanjutnya kita isi frame form yang sudah kita buat dengan
1) 4 buah Label ( berada di Pallete bagian swing Control), Isi masing-masing label dengan tulisan yang kita kehendaki dengan cara :
Jlabel1 di klik kanan lalu edit text dan ganti dengan tulisan Tanggal Pinjam, 
- Jlabel2
 ganti dengan tulisan Tanggal Kembali
- Jlabel3
 dengan Lama dan 
- Jlabel4
 dengan hari.
2) 3 buah Text Field, masing-masing text field klik kanan lalu pilih Change Variable Name ...,
dan masukkan nama Text Field nya :
- JTextField1 dengan nama tPinjam, untuk isian tanggal pinjam
- JTextField2 dengan nama tKembali untuk isian tanggal kembali
- JTextField3 dengan nama tLama untuk isian lama hari
3) Langkah berikutnya pada JTextField2, klik kanan lalu pilih event -->action --> actionPerformed[tKembaliActionPerformed].
Isilah dengan source code dibawah ini :
private void tKembaliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try{

//Konversi dari string ke tanggal
Date TanggalPinjam =df.parse(tPinjam.getText());
Date TanggalKembali = df.parse(tKembali.getText());

//Tgl di konversi ke milidetik
long Hari1 = TanggalPinjam.getTime();
long Hari2 = TanggalKembali.getTime();
long diff = Hari2 - Hari1;
long Lama = diff / (24 * 60 * 60 * 1000);

tLama.setText(Long.toString(Lama));
} catch (ParseException e)
{
e.printStackTrace();
}


Df Format berfungsi untuk menentukan format tanggal yang kita inginkan.
Kemudian String yang kita masukkan dirubah ke bentuk tanggal dan yang terakhir kita konversi ke mili detik, dengan ketentuan (1 hari = 24 jam x 60 menit x 60 sekon x 1000 milidetik)
Setelah itu maka program yang kita buat dapat di jalankan.

Adapaun Source code secara lengkap dapat dilihat sebagai berikut :
package GUI;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
import java.io.*;

public class LamaHariGUI extends javax.swing.JFrame {

DateFormat df = new SimpleDateFormat("dd/MM/yyyy");

/** Creates new form LamaHariGUI */
public LamaHariGUI() {
initComponents();
}

/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {

tPinjam = new javax.swing.JTextField();
tKembali = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();

tLama = new javax.swing.JTextField();
jLabel4 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

tPinjam.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tPinjamActionPerformed(evt);
}
});

tKembali.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tKembaliActionPerformed(evt);
}
});

jLabel1.setText("Tanggal Pinjam");

jLabel2.setText("Tanggal Kembali");

jLabel3.setText("Lama");

tLama.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tLamaActionPerformed(evt);
}
});

jLabel4.setText("hari");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(96, 96, 96)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLabel2)
.addComponent(jLabel1)
.addComponent(jLabel3))
.addGap(54, 54, 54)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(tPinjam, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
.addComponent(tKembali)
.addGroup(layout.createSequentialGroup()
.addComponent(tLama, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel4)))
.addContainerGap(192, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(66, 66, 66)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tPinjam, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tKembali, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2))
.addGap(83, 83, 83)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tLama, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3)
.addComponent(jLabel4))
.addContainerGap(85, Short.MAX_VALUE))
);

pack();
}//

private void tPinjamActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

}

private void tKembaliActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
try{

//Konversi dari string ke tanggal
Date TanggalPinjam =df.parse(tPinjam.getText());
Date TanggalKembali = df.parse(tKembali.getText());

//Tgl di konversi ke milidetik
long Hari1 = TanggalPinjam.getTime();
long Hari2 = TanggalKembali.getTime();
long diff = Hari2 - Hari1;
long Lama = diff / (24 * 60 * 60 * 1000);

tLama.setText(Long.toString(Lama));


} catch (ParseException e)
{
e.printStackTrace();
}
}

private void tLamaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:

}

/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new LamaHariGUI().setVisible(true);
}
});
}

// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JTextField tKembali;
private javax.swing.JTextField tLama;
private javax.swing.JTextField tPinjam;
// End of variables declaration


}