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