Senin, 31 Agustus 2009

Bagaimana Memulai belajar JAVA

Untuk memulai belajar java, siapkan software berikut ini : JAVA SDK (Software Development KIT) dan Netbeans IDE. JAVA SDK adalah software java compiler beserta library yang dibutuhkan. Jika anda pernah belajar C/C++ maka library ini analoginya seperti file - file io.h, conio.h , system.h dst..

Sedangkan Netbeans kita analogikan sebagai TURBO C/C++ yang memudahkan kita dalam mengorganisasikan file - file yang berhubungan dalam pengembangan aplikasi.

Software harus diinstall berurutan, terutama jika dikomputer belum terinstall java JRE. Urutan Install adalah :
1. JAVA SDK
2. NetBeans IDE

Ikuti langkah proses install seperti biasa :).Saya menggunakan Java 6 dan Netbeans 6.5.

PERHATIAN : Jika anda menggunakan komputer tipe lama seperti PIV generasi 1 dan memori kurang dari 512 MB penggunaan Netbeans terbaru tidak disarankan. Sebaiknya gunakan IDE lain yang lebih ringan
Atau gunakan TextEditor biasa seperti Notepad++ atau CrimsonEditor dengan konsekuensi pengorganisasian file referensi (library) menjadi lebih sulit.




Welcome Screen Netbeans. Dari Sini, klik file new Project.


Di sini kita disajikan type project. untuk saat ini kita pilih java application


Berikan nama pada aplikasi anda. misal Lat1


Netbean akan menyiapkan struktur untuk pengembangan, kita akan disajikan source code dari file Main.java. Disini kita bisa memulai pembelajaran java dalam konteks belajar fitur bahasa java seperti percabangan, perulangan,class dan array.


Hal yang penting untuk dapat kita gunakan dikemudian hari adalah, pada saat kita membuat program dengan java , program kita akan dapat digunakan untuk lingkungan yang lebih luas.
Lingkungan yang lebih luas yang dimaksud adalah, program akan dapat berlaku sebagai mesin/logika/library dari aplikasi GUI/WEB/CONSOLE ataupun Mobile, jika memang library yang digunakan mendukung.

Jadi tidak seperti kita membuat program dengan VisualBasic yang hasilnya pasti hanya jalan di Windows. Ataupun membuat program dengan Turbo C/C++ yang hasilnya kita arahkan hanya jalan di DOS. Memprogram dengan java kita dapat artikan sebagaimana kita membuat Custom Control(OCX File/DLL File) di VisualBasic. Sehingga program(file JAR) dapat diikut sertakan dalam pengembangan aplikasi lainnya yang target Lingkungannya berbeda.



Membuat Kalender

Download Contoh Kode

Berikut ini adalah kode yang pernah saya buat. Walaupun tidak pernah saya berikan dalam kuliah, kode ini menggunakan prinsip - prinsip perulangan,pengecekan,class dan function.

Contoh penggunaannya adalah seperti ini :



<?php
include("kalender.class.php");
$kalender = new kalender();
echo $kalender->setActionPage("http://test/?mod=sched");
echo "<center>";
echo $kalender->printMyMonth(4,2010);
echo "</center>";
echo $kalender->printYear(2010);
?>

Hasilnya akan seperti ini :




Dan berikut ini adalah class Kalendernya. Simpan dengan nama kalender.class.php




class kalender
{
/*

Kalender dengan Fungsi Hari Besar
satiri.a@gmail.com
2006


Membutuhkan Kelas untuk koneksi ke MySQL
db.class.php
table.class.php



*/


var $tabel,$action;


function setTable($table)
{
$this->tabel=$table;
}

function setActionPage($action){
$this->action=$action;
}

function daySize($bulan,$tahun)
{
// tentuin jumlah hari dalam 1 bulan
// check yang paling besar dulu
$ok = checkdate($bulan,31,$tahun);
if($ok)
{
return 31;
}
else
{
$ok = checkdate($bulan,30,$tahun);
if($ok)
{
return 30;
}
else
{
$ok = checkdate($bulan,29,$tahun);
if($ok)
{
return 29;
}
else
{
return 28;
}
}
}

}

function printTimeOfDay($mulai,$sampai)
{
echo "<table width='100%' style='border:solid 1px;' border='1'>";
for($i=$mulai;$i<=$sampai;$i++)
{
if(($i%2)>1)
{
echo "<tr><td width='20%'>$i</td><td width='80%'> </td></tr>";
}
else
{
echo "<tr><td width='20%' bgcolor='#04a022'>$i</td><td width='80%'> </td></tr>";
}
}
echo "</table>";
}

function printShortMonth($bulan,$tahun,$shortest="no")
{
$namahari = array("Min","Sen","Sel","Rab","Kam","Jum","Sab");
$namabulan = array("Jan","Feb","Mar","Apr","Mei","Jun","Jul",
"Agt","Sep","Okt","Nop","Des");

$namahari2 = array("M","S","S","R","K","J","S");

if($shortest=="no")
{
$hasil = $this->printMyMonth($bulan,$tahun,$namabulan,$namahari);
}else
{
$hasil = $this->printMyMonth($bulan,$tahun,$namabulan,$namahari2);
}
return $hasil;
}

function printYear($tahun)
{
$c=1;
echo "<table border='0' align='center'>";
for($i=1;$i<=12;$i++)
{

//echo $c."<br>";
if($c==1)
{
echo "<tr>";
//echo "<td>$c</td>";
echo "<td valign='top'>".$this->printShortMonth($i,$tahun,"yes")."</td>";
}
else
{
if($c==3)
{
//echo "<td>$c</td>";
echo "<td valign='top'>".$this->printShortMonth($i,$tahun,"yes")."</td>";
echo "</tr>";
$c=0;
}
else
{
//echo "<td>$c</td>";
echo "<td valign='top'>".$this->printShortMonth($i,$tahun,"yes")."</td>";
}
}
$c++;
}
echo "</table>";
}

function printMyMonth($bulan,$tahun,$namabulan="",$namahari="")
{
$jhari = $this->daySize($bulan,$tahun);

if($namahari=="")
{
$namahari = array("Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu");
}

if($namabulan=="")
{
$namabulan = array("Januari","Februari","Maret","April","Mei",
"Juni","Juli","Agustus","September","Oktober",
"Nopember","Desember");
}


$c=1;
$chari=0;
for($i=1;$i<=$jhari;$i++)
{
$mydate = getdate(mktime(0,0,0,$bulan,$i,$tahun));
$cdate = getdate();


if($mydate["wday"]==6)
{
$minggu[$chari][$mydate["wday"]]=$i;
$chari++;
}
else
{
$minggu[$chari][$mydate["wday"]]=$i;
}




}


$hasil="";
$hasil.="<table style='border:solid 0px' cellspacing='1' width='80%'>";
$hasil.="<tr><td Colspan='7' class='headerkalender' align='center'><h3>".$namabulan[$bulan-1]." ".$tahun."</h3></td></tr>";
$hasil.="<tr>";

for($i=0;$i<=6;$i++)
{
$hasil.="<td style='border:solid 1px #DEDEDE' align='center'>".$namahari[$i]."</td>";
}
$hasil.="</tr>";

$jharikerja=0;
$jharilewat=0;
foreach($minggu as $seminggu)
{
$hasil.="<tr>";
for($i=0;$i<=6;$i++)
{

$tgl = $tahun."-".$bulan."-".$seminggu[$i];
$hasibesar = "";
//$haribesar = $this->getHaribesar($tgl);

//print_r($haribesar);
if($i==0 | $i==6)
{
$warna="#FF0000";
}
else
{
if($haribesar!="")
{
$warna="#FF0000";
$deskripsi = $haribesar[0];
//echo $deskripsi[0];
}
else
{
$deskripsi="";
$warna = "#0000FF";

if($seminggu[$i]!=null)
{
$jharikerja++;
if($seminggu[$i]<=$cdate["mday"])
{
$jharilewat++;
}
}
}
}


if($seminggu[$i]==$cdate["mday"])
{

$hasil.="<td align='center' bgcolor='#DEDEDE' style='border:solid 1px'>".
"<a href='".$this->action."&bulan=$bulan&tanggal=$seminggu[$i]&tahun=$tahun' title='".addslashes($deskripsi[0])."'>".
$seminggu[$i]."</a></td>";
}else
{
$hasil.="<td align='center' style='border:solid 1px #DEDEDE'>".
"<a href='".$this->action."&bulan=$bulan&tanggal=$seminggu[$i]&tahun=$tahun' title='".addslashes($deskripsi[0])."'>".
"<font color='$warna'>".$seminggu[$i]."</font></a></td>";

}
}
$hasil.="</tr>";
$haribesar="";
$deskripsi="";

}

$hasil.="<tr><td colspan='7'>Jumlah Hari Kerja : $jharikerja</td></tr>";
$hasil.="<tr><td colspan='7'>Sisa hari kerja : ".($jharikerja-$jharilewat)."</td></tr>";
$hasil.="</table>";

return $hasil;
}


function getHariBesar($tanggal)
{
// hasil berupa array
$sql = "select type,deskripsi,tanggal from haribesar where tanggal='".$tanggal."'";
$this->tabel->runQuery($sql);

$event="";
$tglevent="";
$c=0;
while($row=mysql_fetch_row($this->tabel->rs))
{
$event[$c]=$row[1];
$tglevent[$c]=$row[2];
$c++;
}

if($c>=1)
{
return array($event,$tglevent);
}else
{
return "";
}
}


function getAdminList($batas=20,$mulai=0,$return="no",$app)
{
$qry = "select id,type,deskripsi,tanggal ".
"from haribesar ".
"order by tanggal limit $mulai,$batas";
$this->tabel->connect();
$this->tabel->runQuery($qry);

$hasil = $hasil. "<!-- ide list --><table width=100% style='border:solid 1px #DEDEDE' border=1>";
while($row=mysql_fetch_array($this->tabel->rs))
{
$hasil = $hasil.
"<tr><td valign=top style='font-size:9pt' width='5%'>".$row[0]."</td>".
"<td valign=top style='font-size:9pt' width='10%'>".$row[3]."</td>".
"<td valign=top style='font-size:9pt' width='60%'>".$row[2]."</td>".
"<td style='font-size:9pt' size='25%' align='center'>".
"<a href='?app=".$app."&mode=setuju&id=".$row[0]."'>Setuju</a> | <a href='?app=".$app."&mode=tolak&id=".$row[0]."'>Tolak</a> |".
" <a href='?app=".$app."&mode=hapus&id=".$row[0]."'>Hapus</a> | <a href='?app=".$app."&mode=edit&id=".$row[0]."'>Edit</a> </td></tr>";
}
$hasil = $hasil. "</table><!-- ide list -->";

if($return=="no")
{
echo $hasil;
}
else
{
return $hasil;
}
}

}


Kamis, 13 Agustus 2009

Membuat Fungsi Combo Untuk menampilkan tanggal

Level : Pemula

Sebagai programmer :) , tentu akan sering berhadapan dengan pembuatan form yang membutuhkan form tanggal , misal untuk menampilkan tgl (angka 1-31) atau bulan (angka 1-12)
ataupun tahun (1970 - 2008)

Semua hal ini bisa dicapai apabila anda telah mengerti konsep perulangan dan konsep struktur combo/list itu sendiri.

Ok. untuk perulangan, anda bisa baca tulisan sebelumnya tentang perulangan. Sedangkan untuk struktur combo di html adalah sebagai berikut :


<select name="namacombo">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>



Jika kita lihat di browser maka hasilnya akan seperti gambar berikut ini :

Jika kita perhatikan pada struktur combo diatas maka akan tampak perulangan pada item

<option value="valuenya">Labelnya</option>

Nah, kira - kira pasti sudah mengerti arah pembicaraan ini ya. Betul , dengan perulangan (baik php/jsp) kita bisa membuat option yang tidak terbatas/sesuai dengan jumlah data/sesuai dengan kemauan kita

nah bagaimana kita - kira kodenya:

1. Ini adalah kode apabila kita ingin langsung mencapurkan di halaman html, dimana kode ini tidak disarankan karena tidak dapat dipakai ulang dihalaman lain yang membutuhkan :).



<select name="namacombo">
<?php
//membuat bulan 1 s.d. 12
for($i=1;$i<=12;$i++) { echo "<option value='$i'>$i</option>"; } ?> </select>



2. berikut ini adalah fungsi yang dapat digunakan ulang di setiap halaman




<?php

function combo($name, $mulai,$sampai){

$hasil = "<select name=\"$name\">";

for($i=$mulai;$i<=$sampai;$i++) { $hasil.= "<option value='$i'>$i</option>"; } $hasil.="</select>"; return $hasil; } //contoh penggunaan echo combo("tanggal",1,31); echo combo("bulan",1,12); echo combo("tahun",1990,2009); ?>


Nah ini adalah contoh penggunaannya. Semoga mengerti penggunaan perulangan dan functionnya.





Kaspersky Open Space Security

Jumat, 31 Juli 2009

Dasar pemrograman web : Input Output

Untuk mengerti lebih cepat baik pemrograman web PHP maupun Java, maka dibutuhkan pengertian tentang cara kerja web itu sendiri. Disini yang ingin saya tekankan adalah proses pengiriman data dari client/browser ke server/http server/aplikasi (java/php).

Jika anda telah sering menggunakan web untuk browsing, maka pasti anda akan mengenal Link dan Form. Link digunakan untuk diklik dan mengantarkan ke halaman tertentu, sedangkan form memang lebih jelas menunjukan ada data yang dikirim.



Link
Link atau tag a href (html) , biasanya berbentuk http://www.halamananda.com/index.php?id=10.
Disini, kita dapat secara jelas melihat di address bar browser bahwa ada variabel id yang bernilai 10. Ini merupakan cara pengiriman data/input dengan metode GET.

Jadi, singkatnya dengan menggunakan link maka kita mengirimkan data ke server dengan method GET.

Form
Form lebih kompleks, data - data yang dikirimkan bisa tidak tampak di address bar browser, tapi bisa juga tampak. Mengapa ini terjadi ? , ini karena tag form mengenal property method yang bisa berisi GET atau POST

Sehingga, dapat disimpulkan dengan sederhana :

1. Dengan menggunakan method GET, maka variabel akan terlihat di address bar
2. form bisa menggunakan GET atau POST
3. Dengan menggunakan method POST, data - data sensitive tidak akan terlihat di address bar
4. link menggunakan method GET


Implementasi
Untuk implementasi , php membedakan cara pembacaan data hasil pengiriman dengan method GET dan POST. Dalam php seluruh data hasil kiriman akan masuk kedalam suatu array $_GET apabila dikirim dengan link/method GET , dan akan masuk kedalam array $_POST apabila dikirim dengan form/method POST.

Java, JSP khususnya tidak membedakan antara GET dan POST. JSP hanya menggunakan method request.getParameter("namaparameter") untuk membaca data hasil kiriman baik POST maunpun GET

Kamis, 09 Juli 2009

Membuat Koneksi Java ke MySQL

Membuat koneksi di Java sebenernya sangat generic. yang perlu diingat adalah, connection string dan driver untuk koneksi.

Jadi, jika kita ingin membuat koneksi ke MySQL dari Java, maka siapkan :
1. Connection string --> jdbc:mysql://localhost/nama_database/
2. driver MySQL

Sedangkan, langkah - langkahnya adalah :

1. cek apakah driver di temukan. Nama driver : com.mysql.jdbc.Driver
2. buat koneksinya

Ok. sekarang kodenya


import java.sql.*;
import com.mysql.jdbc.Driver;

public static void main (String args[]){
String cs = "jdbc:mysql://localhost/nama_database";
String user = "user";
String password = "password";

Connection cn = null;

try{
Class.forName("com.mysql.jdbc.Driver");

//buat koneksinya
cn = ConnectionManager.getConnection(cs,user,password);

}catch(ClassNotFoundException cnfe){
//class tidak ditemukan
cnfe.printStackTrace();
}


}


Ok. Bila berhasil tanpa error, berarti anda telah berhasil membuat sambungan ke Java selanjutnya adalah bagaimana membuat recordset. berikut ini lanjutan kodenya




import java.sql.*;
import com.mysql.jdbc.Driver;

public static void main (String args[]){
String cs = "jdbc:mysql://localhost/nama_database";
String user = "user";
String password = "password";

Connection cn = null;

try{
Class.forName("com.mysql.jdbc.Driver");

try{

//buat koneksinya
cn = ConnectionManager.getConnection(cs,user,password);

// buat statement
Statement stm = cn.createStatement();


//buat resultset
ResultSet rs = stm.executeQuery("select * from nama_tabel");

}catch(SQLException sqle){
sqle.printStackTrace();
}
}catch(ClassNotFoundException cnfe){
//class tidak ditemukan
cnfe.printStackTrace();
}


}

Belajar SQL dengan Phpmyadmin dan MySQL : Update # Belajar SQL dengan Phpmyadmin dan MySQL : upd # Belajar SQL dengan Phpmyadmin dan MySQL :update # Belajar SQL dengan Phpmyadmin dan MySQL : delete

Fungsi update adalah untuk melakukan perubahan pada data di dalam tabel. Perubahan ini tentu tergantung situasi dan kondisi aplikasi.

Secara umum fungsi update mempunya syntax :

Syntax
update [nama tabel] set field=value[,field=value...] [where kondisi]

Keterangan
[nama tabel] = nama tabel dalam database anda, jangan ambil dari database tetangga. :)
field = field/kolom yang ada dalam tabel tadi, bukan tabel yang lain.
value= nilai yang sesuai dengan type data dari field tersebut.


Contoh :

Update customer set telp='021-99778787' where idcustomer=1
Update mahasiswa set email='asal@asal.com',kelas='2A' where nim='M7878'



Baca Juga
SQL Select
SQL Delete
SQL Insert