Rabu, 09 Desember 2009

C/C++ : Download Turbo C/C++ 3.0 untuk belajar C/C++

Download Program Turbo C/C++ 3.0

Berikut ini adalah program aplikasi Turbo C/C++ 3.0 versi DOS. Program ini memang cukup lama, tahun 1990! :D , tapi jika hanya ingin belajar bahasa C/C++ maka program ini sangat memadai.

Selasa, 08 Desember 2009

PHP : Belajar AJAX dengan bantuan SAJAX

Download Contoh Kode

Saat ini aplikasi web selalu darahkan untuk menggunakan ajax. Dalam artikel ini, kita akan belajar mengimplementasikan ajax dengan menggunakan library bantuan dari modernmethod.com yang bernama sajax.

Kenapa menggunakan ajax

Aplikasi web berjalan halaman demi halaman. misalkan, jika kita ingin menambah data pada sebuah table maka akan melibatkan paling tidak 2 halaman, yaitu :

1. halaman form
2. halaman pemroses.

Apabila tidak ada data yang khusus ingin dimunculkan pada halaman form, maka proses standar menggunakan 2 halaman seperti dapat digunakan. masalah akan muncul apabila ada informasi yang ingin dimunculkan pada saat input data di form. misalkan data yang diinput adalah data order, yang pada saat kode produk diinput maka dihalaman yang sama akan muncul stok dan nama produk yang dmaksud.

Masalah tersebut bisa diatasi dengan 2 cara :
1. menggunakan window.open yang akan membuka window baru
2. menggunakan ajax

Kita hanya akan membicarakan solusi nomor 2 , yaitu ajax. Ajax menggunakan komponen browser yang disebut dengan XMLHttpRequest yang diciptakan pertama kali oleh Microsoft untuk browsernya Internet Explorer. Dengan menggunakan XMLHttpRequest ini ditambah dengan Javascript maka ajax dapat terlaksana .

Berikut ini contoh kode :

Jumat, 04 Desember 2009

PHP: Kode Contoh Tampilan Blog/Berita dengan Komentar

Download Contoh Kode

Contoh kode ini menunjukan dasar cara koneksi,menampilkan data,menghubungkan data/relasi.
Struktur data menggunakan myisam agar toleransi data salah bisa lebih besar.

Di dalam kode saya tulis komentar yang akan membuat pembacaan logika program menjadi lebih mudah.Silahkan di download dan dipelajari.Happy Coding!

PHP: Kode Contoh Tampilan Blog/Berita

Download Contoh Kode

Berikut ini adalah kode contoh untuk mapilan blog/berita. Kode ini sangat sederhana, cocok untuk anda yang baru memulai berhubungan dengan pemrograman php dengan database.

Jumat, 20 November 2009

ASP : Menggunakan Session Untuk Membatasi Hak Akses

Download Contoh Kode

Aplikasi web secara umum bersifat menyebar dan terbuka, berbeda dengan aplikasi desktop yang tertutup walaupun dalam satu jaringan (network). Untuk itu aplikasi web harus memiliki mekanisme pengecekan yang dapat membatasi hak akses atas halaman - halaman tertentu.

Logika Login
Untuk mengerti proses login, kita bisa membayangkan proses yang terjadi pada sebuah warnet dengan sistem prabayar.Proses di warnet dengan sistem prabayar adalah :

1. validasi login : customer membeli voucher -> jika uang yang diserahkan
kurang dari harga maka pembelian dibatalkan
2. memanfaatkan session : setelah mendapatkan voucher, customer mencari
workstation yang kosong dan menggunakan voucher tersebut.

Disini kita melihat ada proses validasi untuk mendapatkan voucher tersebut, proses validasi secara fisik adalah proses pembelian voucher. dikatakan valid apabila uang yang diserahkan oleh customer sesuai dengan harga voucher.

pada program kita analogikan uang sebagain user dan password yang kita gunakan sebagai kunci masuk untuk validasi login.proses pencarian user dan password dari database sesuai dengan masukan kita analogikan sebagai jumlah uang yang diserahkan.

Menyimpan Variabel kedalam session

untuk menulis variabel kedalam session kita menggunakan syntax session("namavar")=value.contoh:


<%
session("sudahlogin")="Y"
session("user")="budi"
%>


Rabu, 11 November 2009

PHP:Contoh Aplikasi Sistem Pakar

Download Disini

Berikut ini adalah contoh aplikasi sistem pakar dengan menggunakan php dan mysql. semoga dapat berguna untuk anda semua.

Aplikasi ini membutuhkan pengertian tentang : SQL,Function

Jumat, 06 November 2009

PHP: Mengapa Function Mengapa Class

Download Contoh Kode

Seringkali programmer pemula :) ( jangan marah ya kalo dibilang pemula ), akan bingung mengenai implementasi penulisan program terutama apakah akan menggunakan function atau menggunakan class. Tulisan ini akan mencoba memperlihatkan keuntungan menggunakan class dibanding dengan menggunakan function saja.

Berikut ini adalah contoh kode sederhana yang bisa menunjukan kekuatan penggunaan class dibanding dengan class saja




function luasKubus($panjang,$lebar,$tinggi){
$luas = $panjang*$lebar*$tinggi;
return $luas;
}

//penggunaan function
echo luasKubus(10,5,4);

//misal ada perubahan disalah satu parameter
//maka pada kasus function , parameter harus ditulis ulang semua
//kecuali apabila menggunakan variabel global

echo luasKubus(11,5,4);
echo luasKubus(12,5,4);
echo luasKubus(13,5,4);

/*
karena function tidak menyimpan nilai parameter yang telah dimasukan, maka
apabila ditanyakan parameter yang telah dimasukan, function tidak akan bisa
membantu, kecuali variabel telah disimpan sebelumnya di badan program
*/
?>


Kamis, 29 Oktober 2009

Soal - Soal Latihan ASP

Berikut ini soal - soal yang dapat digunakan untuk latihan ASP. Silahkan Dipelajari.

Latihan 1 - Materi : GET,Koneksi Database,SQL Delete

Senin, 26 Oktober 2009

ASP:Menggunakan Custom Server Object - Bagian 3 - Menggunakan Pustaka Custom pada aplikasi VB dan ASP

Setelah kita berhasil membuat dan mendaftarkan pustaka custom kedalam ssystem register windows. Kita akan coba memanfaatkan pustaka custom tersebut kedalam aplikasi VB6. Berikut ini langkah - langkahnya

1. New Project ->Standar Exe
2. Project References->KuliahPemrograman
Karena pustaka telah terdaftar, maka pada saat penambahan referensi kita dapat menemukan
pustaka tersebut didalam pustaka yang dapat kita gunakan. Check pada pustaka tersebut



ASP:Menggunakan Custom Server Object - Bagian 2 - Membuat Pustaka Object Windows dengan VB6

Setelah membaca artikel sebelumnya tentang pengenalan pustaka object windows, tentu kita ingin menambahkan fungsi - fungsi khusus yang kita ingin masukan dalam suatu aplikasi akan tetapi kita tidak ingin untuk selalu menulis ulang pada setiap aplikasi yang membutuhkan fungsi tersebut,

Kita langsung saja, berikut ini langkah - langkah membuat Pustaka object dengan menggunakan VB6 :

1. Buat project, pilih Activex dll

2. Setting nama project untuk menentukan nama library. Disini saya menggunakan KuliahPemrograman sebagai nama project, nama ini akan menjadi nama library. Sedangkan untuk class saya menggunakan BangunRuang.

3. Menulis Kode Program, saya mencontohkan dengan membuat 2 buah function yaitu luas segitiga dan luas persegi panjang.

ASP:Menggunakan Custom Server Object - Bagian 1 - Mengenal Pustaka Object Windows

Tahukah kamu, dengan menggunakan ASP dan mempunyai akses penuh ke server windows maka kita dipersenjatai oleh kekuatan windows?. Kekuatan windows yang dimaksud adalah akses untuk menggunakan seluruh pustaka object yang telah terdaftar di Windows.


Object Library/Pustaka Object
Masih bingung dengan kata - kata pustaka object ? OK, pustaka object atau Object Library adalah komponen program yang dapat kita gunakan untuk menambah kemampuan suatu aplikasi yang kita buat.Pustaka object ini ada didalam file - file .dll,lib ataupun ocx. Bagaimana cara mengetahu pustaka apa saja yang ada/terinstall di komputer anda ? Kita bisa menggunakan ms word (Office Secara umum) untuk mengetaui ini, karena ms word mempunyai fasilitas pemrograman.

Kamis, 15 Oktober 2009

ASP : Input/Output - Membaca data kiriman dari Form

Dalam sebuah aplikasi web tentu kita tidak hanya menggunakan link, melainkan kita juga menggunakan form sebagai media input data. Dalam artikel ini kita akan mencoba membaca data kiriman yang berasal dari sebuah form.




<form action="tujuan.asp" method="GET">
<input name="nama" type="text">
<input value="submit" type="submit">
</form>



Jika kita perhatikan kode html diatas, kode tersebut adalah kode minimal untuk membentuk form yang terdapat 1 buat inputbox dan 1 buah tombol submit.

Rabu, 14 Oktober 2009

ASP : Koneksi Ke Database dengan DSN

Dilatihan ini kita akan menggunakan DSN (Data Source Name) sebagai sumber datanya.
Untuk memulai latihan ini kita memertlukan beberapa persiapan :

Membuat Sumber Data
1. Buatlah database access dengan nama asp
2. simpan file tersebut di c:\inetpub\wwwroot\latihan
3. Buatlah System DSN dengana nama ASP, caranya :
Control Panel->Administrative tools->ODBC->System DNS->
add New->Microsoft Access Driver , lalu beri nama asp. lalu simpan (gambar menyusul)

ASP : Input/Output - Membaca query string/ browser addressbar

Untuk dapat menerima perintah/masukan data dari client/browser kita harus bisa membaca perintah yang biasanya ada/diselipkan di addressbar browser/url.

Kita akan menggunakan perintah

request.queryString("nama_variabel_query")

contoh:

1.

di address bar terlihat : http://localhost/latihan/?nama=budi

maka cara membacanya adalah :

namasaya = request.queryString("nama")


2.

di address bar terlihat : http://localhost/latihan/?panjang=10&lebar=10

maka cara membacanya adalah :

p = request.queryString("panjang")
l = request.queryString("lebar")


Yang perlu kita perhatikan adalah :

Selamat Datang di ASP

Setelah kita melakukan persiapan, kini saatnya kita mengetest server asp kita dengan kode - kode asp sederhana. Kita akan menggunakan VBScript sebagai bahasa pemrograman yang akan kita gunakan, karena selain VBScript, ASP juga mendukung JScript.

Sebagai pengingat, kita bekerja di folder latihan yang telah lebih dahulu kita siapkan.Buatlah file dengan nama default.asp dan simpan dalam folder latihan tersebut, file ini bisa kita buat dengan menggunakan Macromedia Dreamweaver ataupun TextEditor lain. Dalam hal ini saya menggunakan CrimsonEditor.

Isi Code default.asp :



<html>
<head>
<title>
hallo ASP
<title>
</head>
<% response.write("Hallo ASP") %>

</html>




Bila kita lihat dan perhatikan, maka kode asp berada diantara kode html yang lain, mengapa demikian ? karena pada dasarnya ASP kita gunakan untuk menghasilkan kode HTML/menggenerate html

response.write(variabel) kita gunakan untuk menulis kelayar/browser.

Selajutnya kita akan menggunakan cara yang lebih simple selain response.write



<html>
<head>
<title>
hallo ASP
<title>
</head>
<%="Hallo ASP"%>

</html>



Selanjutnya, kita akan mencoba menambahkan syntax VBScript pada aplikasi ASP kita. Kita akan mencoba menggunakan perulangan FOR..NEXT





<html>
<head>
<title>
hallo ASP
<title>
</head>

<%

for i = 1 to 10
response.write("Hallo ASP")
next

%>

</html>




Ok, sampai disini dulu pelajaran dalam perkenalan ASP, jangan lupa untuk membookmark blog ini , juga share di facebook anda :)

Baca Juga
Indeks ASP
Installasi ASP

Bagaimana memulai ASP ?

Untuk memulai pelajaran ASP, kita harus menyiapkan Sistem Operasi windows, karena ASP merupakan solusi dari Microsoft.

Installasi IIS (Internet Information System) Saya menggeneralisir bahwa kita akan menggunakan windowsXP SP2. Sekarang kita memastikan bahwa IIS sudah terinstall di WindowsXP.

Sebelumnya, kita siapkan dulu CD Installasi Windows. Dan Jika komputer anda menggunakan
deepfreeze/system protector silahkan non-aktifkan terlebih dahulu.


ControlPanel->Add/Remove Program->Add/Remove Windows Component , kemudian cari apakah Internet Information System sudah tercentang (checked). Jika Belum, centang dan lakukan installasi untuk IIS. Ikuti wizard yang ada ( Biasanya Hanya Next, Next dan OK :) ).
Windows akan meminta kita untuk memasukan CD Installasi.



Memastikan IIS telah Hidup/Berjalan Selanjutnya setelah selasai menginstallasi IIS, maka IIS akan hidup. Cara memastikannya
adalah : ControlPanel->Administrative Tools->Service , lalu pastikan World Wide Publishing telah berjalan. Jika belum berjalan (tombol play aktif, tekan tombol play sehingga tampak pada gambar dibawah ini)



Melihat Lokasi Document Root Pada saat IIS diinstall,windows akan membuat folder default di c:\inetpub, sedangkan c:\inetpub\wwwroot\ merupakan folder tempat dimana kita akan meletakan aplikasi asp kita.
Untuk selanjutnya buatlah folder latihan didalam folder c:\inetpub\wwwroot tesebut.


Sampai disini installasi kita sudah siap dan kita akan melanjutkan ke pelajaran berikutnya.

Baca Juga
Indeks ASP
Selamat Datang Di ASP

Indeks Pelajaran ASP (Active Server Pages)

ASP : Indeks Pelajaran ASP

Berikut ini adalah indeks pelajaran ASP yang akan saya lengkapi. Jika ada
usulan atau komentar, silahkan isi komen di artikel Ini.

1. Bagaimana Memulai ASP
2. Selamat Datang di ASP
3. Input/Output di ASP
QueryString
form

4. Menggunakan Database di ASP
Menggunakan ACCESS

Menggunakan MSSQL
Menggunakan MySQL

5. Session di ASP
6. Database Transaction di ASP

Lanjutan

7. Membuat COM Class dengan VisualBasic 6.0
8. Menggunakan COM Class di ASP

Indeks Latihan dan Soal

Selasa, 13 Oktober 2009

PHP : Latihan membuat class

Kita akan latihan membuat class, untuk itu kita akan mengikuti beberapa
tips ini :

1. Penamaan file mengikuti nama class
Misal : Mahasiswa -> nama file : Mahasiswa.class.php
2. Gunakan 1 file untuk 1 class
Lihat penjelasan nomor 1
3. Satukan class dalam 1 folder khusus, jangan dicampur dengan file bukan class
Hal ini berguna agar pencarian class menjadi lebih fokus


Selanjutnya, cara pembentukan class

1. Buat sebuah file, beri nama Mahasiswa.class.php lalu simpan
misal dengan wamp
c:\wamp\www\class\Mahasiswa.class.php

2. tulis kode berikut :





<?php

class Mahasiswa{
}

?>




Struktur ini sudah cukup untuk menyatakan bahwa kita telah mempunyai class
Mahasiswa.

Selanjutnya kita akan menambahkan fungsi/method kedalam class Mahasiswa



3. Menambahkan method



<?php

class Mahasiswa{

//construktor
function Mahasiswa($nama=""){
}


function cariData($filter){
//code php biasa
}

}

?>



Konstruktor

Disini kita menambahkan fungsi Mahasiswa, fungsi ini disebut konstruktor
artinya fungsi ini merupakan fungsi pembentuk Object yang terbentuk dari
class Mahasiswa.

Mengapa demikian ?, karena fungsi Mahasiswa ini akan dipanggil/executed
pada saat sebuah object Mahasiswa dibentuk.


Parameter Optional/Tidak wajib

Jika kita perhatikan, method mahasiswa memiliki satu parameter , yaitu $nama
, tetapi karena kita mendefinisikan $nama="" maka artinya parameter menjadi
tidak wajib atau optional

function Mahasiswa($nama=""){
}


4. Membentuk Object




<?php

//asumsi semua file class ada di folder class
include("class/mahasiswa.class.php");

//disini , new Mahasiswa akan menjalankan
//fungsi/method Mahasiswa dari class Mahasiswa yang ada di
//file Mahasiswa.class.php

$mahasiswa = new Mahasiswa("Budi Anduk");

?>




Nah, Cukup dulu latihannya semoga mudah dipahami. Artikel berikutnya akan saya tambah. Happy Coding!

Jumat, 09 Oktober 2009

PHP : Mengidentifikasi kebutuhan akan Class dan Object

PHP : Mengidentifikasi kebutuhan akan Class dan Object

Setelah kita cukup mengerti alasan mengenai kenapa kita harus belajar membuat class dan object,
sekarang saatnya kita coba dan latih kemampuan kita agar dapat diaplikasikasikan kedalam
proyek/pekerjaan/pelajaran/solusi yang akan datang.

Mengidentifikasi kebutuhan akan Class dan Object
Seringkali masalah ini menjadi momok bagi mereka yang memulai, yang perlu diingat disini adalah
class dan object akan sangat tergantung dari bagaimana cara kita memandang suatu masalah.Sehingga class dan object akan berkembang sesuai dengan arah kebutuhan masing - masing dan pada akhirnya tidak ada cara yang salah dalam menetapkan suatu class dan object melainkan efektif atau tidaknya Class dan Object tersebut karena pada dasarnya tujuan akhir/solusi sama2 tercapai.

misal :

Lampu Merah mempunya fungsi : menyala merah kuning atau hijau

pandangan A :
Misal : Memandang LampuMerah sebagai Object yang terintegrasi dan tidak terpisahkan.
Pandangan ini karena latar belakang A yang merupakan pengguna Jalan.

Buat class LampuMerah dengan fungsi merah(),kuning(),hijau()


<?php

class LampuMerah{

function LampuMerah(){
}

function merah(){
}

function kuning(){
}

function hijau(){
}

}
?>


pandangan B :
Misal : Memandang LampuMerah sebagai sebuah Object gabungan dari Object yang lain.
Pandangan ini karena latar belakang B sebagai Ahli Listrik dan B tidak hanya menggunakan
lampu sebagai LampuMerah, tapi dia juga akan menggunakan Lampu sebagai LampuDisko sehingga
dia memisahkan Lampu sebagai class tersendiri

Buat object Lampu,buat Object LampuMerah lalu gabungkan


<?php

class Lampu(){

var $warna;
function Lampu($warna){
$this->warna = $warna;
}

function menyala(){
}
}


class LampuMerah{

var $merah;
var $kuning;
var $hijau;

function LampuMerah($lampu1,$lampu2,$lampu3){
$this->merah = $lampu1;
$this->kuning = $lampu2;
$this->hijau = $lampu3;
}

function merahOn(){
$this->merah->menyala();
}

function hijauOn(){
$this->hijau->menyala();
}

function kuningOn(){
$this->kuning->menyala();
}

}
?>


Setelah kita melihat contoh diatas, maka jelas bagi kita bahwa tidak ada class yang benar atau salah
semua kembali kepada pandangan masing - masing akan fungsi yang dibutuhkan. sehingga yang terjadi adalah efektif atau tidaknyanya suatu solusi yang dibangun. sebagai catatan, langkah - langkah efektif yang terlah teruji oleh para ahli dalam menyelesaikan suatu masalah dalam pemrograman disebut dengan Pattern.

Nah semoga mudah ya memahami hal ini.Happy Coding!

Senin, 05 Oktober 2009

PHP : Mengapa menggunakan Class dan Object


Pada saat menggunakan aplikasi php buatan orang lain, seringkali programmer php yang baru belajar kesulitan dalam penggunaan object/class. Kesulitan ini bukan hanya karena kesulitan teknis yang sebenarnya dalam php tidak begitu berat. Kesulitan tersebut lebih disebabkan oleh karena masih ada pertanyaan yang menggantung tentang "mengapa harus menggunakan class dan object".

Disini saya akan menjelaskan contoh kongkrit tentang mengapa harus menggunakan object, dan bagaimana cara berpikir dan memandang masalah sebagai suatu object. Tetapi sebagaimana tidak ada gading yang tak retak, maka solusi menggunakan object inipun tidak serta merta menjadikan Object sebagai solusi utama, sehingga harus tetap dilihat kebutuhan yang sesuai dilapangan walaupun solusi berbasis object tetap disarankan.



Untuk yang pertama saya akan menuliskan suatu contoh perbandingan pemrograman dengan object
dan tanpa object (menggunakan function)


misalkan kita ingin membuat object input tanggal
dd mm yy

dalam tulisan sebelumnya , kita telah membuat function combo. function combo hanya berfungsi
menuliskan pilihan dari x - z. Jika kita masih mengandalkan fungsi combo saja maka kita akan terjebak masalah

  1. bagaimana jika combo digunakan untuk edit
    Misalkan, combo harus menampilkan tanggal tertentu. 
  2. Data tanggal pasti dipecah dulu baru diaplikasikan/distribusikan ke combo2 lain.Karena combo berdiri terpisah, maka harus ada penanganan data tanggal yang akan dimunculkan.penanganan ini akan menyita sebagian konsentrasi dan menambah jumlah baris di program utama
  3. Akan memiliki 3 control yang berbeda yang harus ditulis setiap kali ada isian tanggal.Ini disebabkan oleh combo yang berdiri terpisah 
  4. Jika inputan tanggal lebih dari 1 maka masalah = jumlah inputan x 3 :)
Dus, jika nomor 1 - 3 di kalikan dengan jumlah combo yang harus dimunculkan ?
misalkan untuk inputan karyawan membutuhkan 3 field : tgl lahir, tgl masuk kerja, tgl pengangkatan Sudah terbayang kan pusingnya ?

Baik, mungkin ada yang bilang tanpa object pun masalah itu akan selesai. tapi lihat kenyataan nomor 4  apakah anda mau melakukannya ? , saya sendiri akan memilih jumlah kode yang lebih sedikit daripada
harus melakukan kode yang sama berulang - ulang :)

Contoh Kode awal :
Kode ini untuk menampilkan satu tanggal

file : combo.php


<?php

function combo($nama,$mulai,$sampai,$terpilih){

//menampilkan angka dan angka terpilih
$i=0;

$html = "<select name='$nama'>";
for($i=$mulai;$i<=$sampai;$i++){ if($i==$terpilih){ $html.="<option value='$i' selected>$i</option>"; }else{ $html.="<option value='$i'>$i</option>"; } } $html .= ">/select<"; return $html; } ?>




file form.php

<?php

echo combo("tgl",1,31,5);
echo combo("bln",1,12,10);
echo combo("thn",2000,2009,2009);

?>

Contoh Kode dengan mengggunakan class

file : combotgl.class.php


<?php

class comboTgl{

var $dd,$mm,$yy;
var $curcdate;
var $maxday; // jumlah hari dalam bulan
var $name;
var $spanyear;
var $thisday; //curent system date

function comboTgl($nama,$tgl="",$yearupdown=5){

$this->name = $nama;
$this->spanyear = $yearupdown;
$this->thisday = getdate(strtotime(date("d-m-Y")));

//format tgl
if($tgl==""){
$this->curdate = getdate(strtotime(date("d-m-Y")));
}else{
$this->curdate = getdate(strtotime($tgl));
}

$this->dd= $this->curdate['mday'];
$this->mm= $this->curdate['mon'];
$this->yy= $this->curdate['year'];


//pastikan maxday terupdate
$this->maxDay();

}

function maxDay(){
if(checkdate($this->mm,31,$this->yy)){
$this->maxday = 31;
}

if(checkdate($this->mm,30,$this->yy)){
$this->maxday = 30;
}

if(checkdate($this->mm,29,$this->yy)){
$this->maxday = 29;
}

if(checkdate($this->mm,38,$this->yy)){
$this->maxday = 38;
}

}

function renderCombo(){

$tgl = $this->mcombo($this->name."d",1,$this->maxday,$this->dd);
$bln = $this->mcombo($this->name."m",1,12,$this->mm);
$thn = $this->mcombo($this->name."y",($this->yy-$this->spanyear),$this->thisday['year'],$this->yy);

$html = $tgl.$bln.$thn;
return $html;
}


function mcombo($nama,$mulai,$sampai,$selected){

//menampilkan angka dan angka terpilih
$i=0;


$html = ">select name='$nama'>";
for($i=$mulai;$i<=$sampai;$i++){ if($i==$selected){ $html.="<option value='$i' selected>$i</option>"; }else{ $html.="<option value='$i'>$i</option>"; } } $html .= "</select>"; return $html; } } ?>




Contoh Penggunaan Class combotgl


<?php

$cmb = new comboTgl("tgllahir","21-10-1989");
echo $cmb->renderCombo();

?>
 Saya harap dari tulisan ini dapat dimengerti tentang mengapa kita menggunakan Class dan Object sehingga tidak ada lagi halangan/rasa malas dari dalam diri kita untuk mulai belajar menggunakan class dan object tersebut. Happy Coding!

Baca Juga :

Latihan PHP : Fungsi Menampilkan tanggal dengan combo
Mengapa Fungsi Mengapa Prosedur
Semua tentang Fungsi dan Prosedur

Jumat, 02 Oktober 2009

Latihan Java : Array dari Object

Kali ini kita akan mencoba membuat Class atau Istilah yang tren "business object". Class ini merefleksikan cara kerja program.

Ceritanya : Program akan menggambarkan fungsi sebuah angkot, dimana angkot bertindak sebagai container ( tempat ) untuk kita memasukan penumpang.Angkot/kontainer tersebut harus memiliki batasan yang jelas tentang jumlah penumpang yang dapat ditampung. Oleh sebab itu kita menggunakan array, sesuai dengan sifat array yang definitif mengenai jumlah object/data yang dapat ditampungnya.

Class Penumpang , :


/**
 *
 * @author kuliahpemrograman.com
 */
public class Penumpang {
  
    private String jenis;

    //
    public Penumpang(String pekerjaan){
      this.jenis = pekerjaan;
    }

    public String getJenis(){
      return this.jenis;
    }
}


Class Angkot :
/**
*
* @author kuliahpemrograman.com
*/
public class Angkot {

private int maks,counter;
private Penumpang penumpang[];

public Angkot(int jumlahmaks){
penumpang = new Penumpang[jumlahmaks];
maks = jumlahmaks;
counter = 0;
}

public boolean addPenumpang(Penumpang p){
//
if(counter<(maks-1)){
penumpang[counter] = p; //menyimpang penumpang di array penumpang
counter++; //menulis jumlah penumpang saat ini
return true;
}else{
//sudah penuh
return false;
}
}

public int getJumlahPenumpang(){
//melihat jumlah penumpang berdasarkan
//counter
return counter;
}

public void showPenumpang(){
//menampilkan isi array
int i = 0;
for(i=0;i<counter;i++){
System.out.println(i+" "+penumpang[i]);
}
}
}


Class angkot memiliki
- Array yang bertype Penumpang
- Penghitung Jumlah Data/Counter
- Jumlah maksimal yang dapat ditampung

method :
  • boolean addPenumpang(Penumpang p) , fungsi ini digunakan untuk menambahkan Object penumpang kedalam array penumpang yang dimiliki oleh object angkot. fungsi ini juga akan mengecek apabila penumpang sudah penuh dan akan menghasilkan false jika penumpang sudah penuh/sesuai dengan jumlah yang diset diawal.
  • int getJumlahPenumpang(), fungsi ini menghasilkan nilai sesuai dengan jumlah penumpang yang telah dimasukan.
  • void showPenumpang(), fungsi ini akan menampilkan ke console/text daftar penumpang sesuai dengan jenis/pekerjaan penumpang
Program Main :

Berikut ini adalah contoh cara penggunaannya


 public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {      

        Angkot koasi = new Angkot(12); // set jumlah maksimal penumpang 12 orang
       
        Penumpang pelajarA = new Penumpang("Pelajar");
        Penumpang pelajarB = new Penumpang("Pelajar");
        Penumpang pelajarC = new Penumpang("Pelajar");
        Penumpang pelajarD = new Penumpang("Pelajar");

        Penumpang pekerjaA = new Penumpang("Pekerja");
        Penumpang pekerjaB = new Penumpang("Pekerja");
        Penumpang pekerjaC = new Penumpang("Pekerja");
        Penumpang pekerjaD = new Penumpang("Pekerja");

        koasi.addPenumpang(pelajarA);
        koasi.addPenumpang(pelajarB);
        koasi.addPenumpang(pelajarC);
        koasi.addPenumpang(pelajarD);

        koasi.addPenumpang(pekerjaA);
        koasi.addPenumpang(pekerjaB);
        koasi.addPenumpang(pekerjaC);
        koasi.addPenumpang(pekerjaD);

       //tampilkan isi dari angkot
        koasi.showPenumpang();

     }

}


Disini kita telah belajar bagaimana mengintegrasikan/meramu cara kerja java yang OOP dengan pengetahuan kita tentang array . Jika kurang mengerti silahkan bertanya. terimakasih.


Pengembangan :
Program angkot ini dapat dikembangkan lagi, misalkan :
  • sebuah Object tidak boleh mengisi angkot lebih dari 1x.
  • Penumpang mempunya nama,tujuan,nilai pembayaran
  • nilai pembayaran ditotal di method showPenumpang()

Rabu, 30 September 2009

Latihan Java : Array

Array adalah sekelompok jenis data yang sama yang jumlahnya telah diset sebelumnya. Untuk kelompok data yang berlainan jenis Java menggunakan Map.

Pembentukan Array

Berikut ini cara pembentukan array
cara 1.

int x[]; //menyatakan variabel adalah array
x = new int[10]; //menyatakan bahwa variabel berisi 10 element

cara 2.

int x[] = new int[10]; // cara ini merupakan singkatan dari cara diatas.


Pengisian Array

Untuk mengisi array cukup dengan menyebutkan element ke berapa yang akan diisi.

x[0]=1000;
x[1]=1576;

atau kita bisa menggunakan perulangan dalam pengisian array tersebut. namun tentunya perulangan tergantung dari  kondisi - kondisi yang berbeda dalam pemrograman.

Berikut ini contoh penggunaannya dalam program.


public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

//membuat array
int id[] = new int[10];

//mengisi array
int i = 0;
for(i=0;i&tl;10;i++){
id[i]=i;
}

//mencetak isi array
for(i=0;i<id.length;i++){
System.out.println(id[i]);
}
}

}

Kamis, 10 September 2009

Latihan Java : membuat function/method

Sekarang, kita akan berlatih menggunakan function/method. Jika anda telah membaca artikel saya tentang jenis function , maka latihan kali ini akan lebih mudah. tapi sebelumnya, kita akan bertanya pada diri kita dulu "kenapa harus membuat function/method?"

Mengapa Method/function diperlukan ?

Method/function diperlukan apabila kita memerlukan sesuatu secara berulang - ulang. contoh : awalnya boss mengerjakan semua hal, lalu kerjaan boss menjadi banyak dan memakan waktu dan perhatian, kemudian boss mempunyai anak buah yang pertama sekretaris, lalu administrasi umum, lalu office boy agar boss bisa fokus dengan kerjaan utama sementara office boy membuat kopi untuk boss. Jelaskah analogi ini ?

Awal : Bos -> mengerjakan semua hal

Next : Bos -> fokus kerjaan utama
sekretaris -> surat menyurat dan jadwal
admin umum -> pembelian dan lain2
office boy -> bersih - bersih kantor


Nah begitu juga dengan program, jika program terlalu besar dan tidak ada manajemen dalam penulisan program maka program akan berantakan persis seperti boss yang tenggelam dalam banyaknya pekerjaan yang harus dia handle.


Okay, untuk menulis method.contoh nama method : luasLingkaran


public double luasLingkaran(int jari){
double luas = pi*(jari*jari);
return luas;
}


Keterangan :
public -> method ini dapat dipanggil dari luar. misal
main = new Main();
System.out.println(main.luasLingkaran(10));

double -> method ini akan menghasilkan data bertype double.
jika ingin mengubah menjadi tidak menghasilkan apapun gunakan void

return -> kembalikan. ini karena method mempunyai deklarasi typedata double. sehingga
java akan memaksa pengembalian bertypedata double. dengan begitu return disini
tergantung dari typedata yang didefinisikan diawal.
Untuk typedata void, berarti tidak ada return.


Happy Coding!


Index Java
Latihan Java : Luas Lingkaran
Latihan Java : Segitiga
Latihan Java : Perulangan For

Mengapa Function/Procedure diperlukan








Jumat, 04 September 2009

Dasar Pemrograman Web : Port

Untuk mengerti cara aplikasi web secara umum bekerja kita harus mengerti hal - hal mendasar dari aplikasi web tersebut. Ditulisan - tulisan di blog ini banyak membahas tentang apache server,xampp,wamp , tomcat dan lain - lain. Tapi, jika kita kurang mengerti cara umum suatu web bekerja maka kita mungkin akan lebih sulit dalam menerima suatu kenyataan pelajaran yang kita dapatkan.

Prasyarat
Secara Umum Aplikasi Web akan berjalan apabila hal - hal ini terpenuhi :
1. Jaringan
2. Server Web (Apache HTTPD/IIS/Xitami/Apache Tomcat Dll)
3. Client (Browser : Firefox,flock,Chrome,IE,Opera Dll)


Jika kita perhatikan, nomor 1 adalah jaringan betul (kiwil mode on :D ) ? , nah pasti kita akan berpikir : "Mahal dong, komputer dirumah kan cuman 1" , OK .. yang dimaksud dengan jaringan adalah kemampuan komputer untuk membuat suatu sistem logis tentang bagaimana aplikasi berkomunikasi dengan aplikasi yang lain tanpa harus dikerjakan dari awal dan bersama-sama.


Protocol dan Port
Kemampuan ini ada karena adanya landasan yang disepakati bersama yaitu protocol. TCP/IP adalah protocol yang dikhususkan untuk jaringan. Implementasinya, akan membutuhkan suatu Object Imaginer yang disebut PORT.

PORT komputer berjumlah 65535 buah, yaitu dari 1 - 65535. Sebagian port tertentu disepakati sebagai port untuk aplikasi tertentu.

Berikut ini beberapa nomor port dan aplikasinya :
80 : http
25 : smtp
110:pop3
3306:mysql

Untuk melihat port lainnya bisa melihat di sini

Cara Pengecekan

Lalu bagaimana caranya mengetahui port tersebut aktif di komputer kita ?
untuk Windows->buka Dosprompt lalu ketik netstat -A
untuk Linux->buka console lalu ketik netstat | grep tcp


HTTP
Nah, setelah kita mengetahui caranya dan membuktikan port - port apa sajakah yang aktif dikomputer kita, maka jika suatu hari web server kita bermasalah kita dapat mulai mencek untuk memastikan bahwa :
1. Apakah Port 80 hidup , jika hidap lalu ..
2. Apakah Port 80 tidak digunakan oleh aplikasi lain, misal Skype atau IIS



Nah, demikian dasar pengenalan aplikasi web yang berkaitan dengan infrastruktur yang digunakan. jangan sungkan untuk bertanya. Happy coding!

Kamis, 03 September 2009

Latihan Java : Perulangan For

Untuk latihan kali ini, kita akan tetap menggunakan projek lat1 dari latihan sebelumnya karena agar kita tahu cara menambah file pada suatu project.



Untuk menambah file klik kanan pada package lat1->new->Java Class , lalu beri nama perulangan
Selanjutnya netbean akan membawa kita ke code editor.



Jika anda langsung mencoba menjalankan file perulangan.java , maka file ini tidak akan jalan seperti file main.java , kenapa ? Karena java hanya akan menjalankan sebuah class yang didalamnya terdapat function main.

Code Yang ditempilkan oleh netbean :


package lat1;

/**
*
* @author kuliahpemrograman.com
* makkul.com
*/

public class perulangan {

}



Tambahkan dengan function main agar class bisa dijalankan oleh netbean



package lat1;

/**
*
* @author kuliahpemrograman.com
*/
public class perulangan {

public static void main(String args[]){

int i = 0;
for(i=0;i<10;i++){
//print i
System.out.println(i);
}
}

}



Didalam perulangan ini, dialect yang digunakan oleh java sama persis dengan c/c++ dan juga php. Program tersebut akan mengulang selama i kurang dari 10 , maka yang tercetak adalah 0 sampai 9.

Untuk Diingat:
  1. Aplikasi java membutuhkan entry point untuk dijalankan, entry point ini adalah function main.
  2. dialect for pada java sama persis dengan c/c++ dan juga PHP



Index Java
Latihan Java : Menghitung Segitiga
Latihan Java : Menghitung Lingkaran
Persiapan Belajar Java

Latihan Java : Menghitung Luas Lingkaran

Di latihan sebelumnya kita telah belajar untuk menghitung luas segitiga , selanjutnya kita akan mencoba cara yang sama untuk meghitung luas lingkaran.

Rumus Luas lingkaran adalah PI*(jari-jari*jari-jari)
dimana PI = 3.14
dan jari - jari = setengah diameter.

berikut adalah code yang akan kita buat, berdasarkan rumus yang telah kita ketahui tersebut.


double pi = 3.14;
int jari = 10; //
double luaslingkaran = pi*(jari*jari);

//print out ke layar
System.out.println("Luas lingkaran : " + luaslingkaran);

Jika telah selesai ditulis, kita dapat jalankan dari menu run->run file ( tombol Shift+F6)


Contoh Program yang telah dijalankan

Kesimpulan
Apa yang kita lakukan pada latihan ini, sama persis dengan latihan kita sebelumnya
, perbedaannya hanya pada implementasi rumus matematik saja. Sehingga kita bisa simpulkan untuk inti dari pelajaran ini adalah :

1. Bagaimana membuat variabel di java
2. Bagaimana melakukan perhitungan di java


Beberapa hal yang juga perlu diperhatikan :
1. Bagaimana cara menulis komentar dengan menggunakan tanda //
2. Bagaimana menulis ke layar dengan menggunakan System.out.println();



Yup!, memang belum banyak yang kita dapat, tapi ingat dengan semangat untuk memulai hal yang kecil maka yang besar akan dapat dicapai. Happy Programming!



Index Java
Latihan Java : Luas Segitiga
Bagaimana Memulai Latihan Java

Selasa, 01 September 2009

Latihan Java : Luas Segitiga

Setelah kita mengerti bagaimana cara memulai latihan java, buatlah project dengan nama lat1.
Didalam project ini, jika kita ikuti langkah - langkah wizard dari netbean 6.5 maka kita akan mendapatkan file Main.java

Jika belum terlihat, maka klik package lat1 yang ada diproject explorer. Sehingga isi package terlihat. Cara ini seperti kita menggunakan Windows Explorer atau file browser.

Lalu kita ketik program tepat dibawah setelah kata - kata public static void main .
ketik program seperti ini :



int alas = 5;
int tinggi = 16;
double luassegitiga = (5*0.5)*tinggi;

System.out.println("Luas segitiga saya : " + luassegitiga);



Penjelasan


int alas = 5;
memesan variabel dengan nama alas dan dengan type int (integer) , lalu isi
dengan angka 5

int tinggi = 16;
memesan variabel dengan nama tinggi dan dengan type int(integer), lalu isi
dengan angka 16


double luassegitiga = (5*0.5)*tinggi;
memesan variabel bertype double (bilangan pecahan)
bernama luassegitiga yang diisi dengan hasil perhitungan sesuai rumus segitiga





Penting

- Dalam Java terbagi menjadi 2 jenis type data, yaitu primitif dan Object.
- Setiap variabel harus memiliki typedata , jadi tidak ada type data variant seperti VisualBasic

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

Membuat fungsi Login dengan PHP

Fungsi login memang menjadi fungsi yang harus ada di setiap aplikasi. Dengan adanya login maka program bisa membedakan kapan suatu fungsi dimunculkan, hak - hak user dan lain sebagainya.

Jadi, inti dari login adalah : memastikan user berhak dan membedakan user yang aktif

Lalu, apa yang harus diketahui sebelum bisa mengaplikasi login ?. Session, yah session adalah kuncinya. dengan mengerti cara kerja session maka anda akan mengerti prinsip login. Jadi sebaiknya, jika anda belum mengerti tentang session, baca dulu session

Cara Kerja
Berikut ini adalah contoh cara kerja session untuk login :
1. cek apakah variabel session tertentu sudah terbentuk
2. jika belum munculkan form login.
3. jika form disend, arahkan ke halaman pemroses login

Penjelasan
Ok. berikutnya penjelasan detail dari cara kerja tersebut
  1. mengecek apakah session sudah terbentuk, disini kita akan menggunakan variabel $_SESSION['user']. Dengan terbentuknya variabel ini, program akan menganggap bahwa user telah login:
if(isset($_SESSION['user'])){
echo "sudah login";
}else{
//munculkan form
}


2. jika belum munculkan form login.

if(isset($_SESSION['user'])){
echo "sudah login";
}else{
//munculkan form
}

3. jika form disend, arahkan ke halaman pemroses login. Berikut ini, proses yang terjadi di halaman pemroses login

session_start();


$user = $_POST['user'];
$password = $_POST['password'];

//proses dibawah ini tanpa database,
//tetapi jika diganti kedatabase tentu sudah mengerti ya

if($user=="budi" && $password=="rahasia"){

//jika ok buat variabel session
$_SESSION['user']=$budi;

//kembali ke menu
header("location:index.php");
}else{
//kembali ke halaman login
header("location:login.php");
}

Baca Juga
Mengenal Session
Koneksi Ke Database
Pencarian data dengan MySQL select

Kamis, 02 Juli 2009

Belajar SQL dengan MySQL : keyword select

Halo, sekarang kita belajar menggunakan perintah sql untuk pengambilan data. Selengkapnya ikuti tutorial berikut.

Persiapan
Create database
  1. siapkan database dengan nama lat1
  2. buat sebuah tabel dengan nama customer dengan field : nama varchar(50),alamat varchar(50),telpon varchar(35),fax varchar(35),email varchar(35),contact varchar(35).
  3. Isi tabel tersebut dengan 10 records.
create table step 1.
create table step 2. Klik save untuk membuat table.

Insert Data. Setelah Membuat table, maka akan ada menu insert.
Ini adalah tampilan setelah menu insert di klik. Klik Go untuk menyimpan/menjalankan query




Contoh Kasus :
1. cari customer dengan nama seperti "sarana"
2. cari customer dengan alamat seperti "jakarta"
3. cari customer yang memiliki email
4. cari customer yang memiliki telpon
5. cari customer yang memiliki email,telpon dan fax
6. hitung jumlah seluruh customer
7. hitung jumlah customer yang alamatnya seperti "jakarta"

Jawaban :
1. select * from customer where nama like '%sarana%'
2. select * from customer where alamat like '%jakarta%'
3. select * from customer where email is not null
4. select * from customer where telpon is not null
5. select * from customer where email is not null and telpon is not null and fax is not null

6. select count(*) from customer

7. select count(*) from customer where alamat like '%jakarta%'

Cara menjalankan perintah sql.
klik tab sql, lalu ketik perintah di textarea, lalu klik Go




Penjelasan

Select memiliki struktur : select [field|*] from table [where conditions]
dimana:
  • [field|*] = nama - nama field/kolom dari table atau * sebagai kata ganti semua field. jika menyebutkan field , gunakan tanda koma (,) sebagai pemisah nama - nama field.
  • [where conditions] = kondisi ini optional, artinya boleh digunakan dan boleh juga tidak. kondisi ini berfungsi sebagai filter terhadap data yang dihasilkan. contoh - contoh kondisi akan di tulis dalam artikel terpisah. Contoh kecil kondisi dapat dilihat di contoh diatas.
  • table = diganti dengan nama tabel yang ada di database.

Tips
  • Pemahaman perintah SQL membantu dalam menangani pemecahan masalah dalam aplikasi
  • Untuk Debugging aplikasi yang berkaitan dengan data, selalu cek query dengan menggunakan tools phpmyadmin ini.

Selamat belajar!

Baca Juga :
-
-



Rabu, 01 Juli 2009

Soal - Soal PHP MySQL

Pelajari dan praktekan, itulah kunci kesuksesan dalam belajar. Jika anda telah mempelajari materi - materi dari site ini, silahkan kerjakan soal - soal dibawah ini. Ingat, semakin banyak bertemu masalah dan berhasil menghadapinya, maka anda akan semakin kuat.

  1. Aplikasi Parkir , aplikasi ini mewajibkan pengertian tentang session,login,insert dan update. level 6
  2. Aplikasi Blog, aplikasi ini mewajibkan pemahaman atas session, struktur tabel html dan perulangan , level 5


Selamat Belajar!!.

Belajar SQL dengan Phpmyadmin dan MySQL : delete

Setelah puas main - main dengan perintah insert, sekarang saatnya kita bermain dengan perintah untuk meghapus data yaitu delete.

Delete sebenarnya cukup sederhana, hanya saja penggunaan filter yang memang menjadikan delete harus digunakan sangat hati - hati.

perintah dasar

delete from [nama tabel]

Penjelasan :

[nama tabel] adalah nama tabel dalam database aktif. PERHATIAN : jika perintah diatas dijalankan, maka seluruh record pada tabel akan hilang/terhapus

Dengan Filter


Delete from [nama tabel] where [kondisi]

Contoh :

1. hapus dari tabel customer , dimana nama mirip bandung
2. hapus dari tabel customer , dimana alamat null

Jawaban :
1. delete from customer where nama like '%bandung%'
2. delete from customer where alamat is null



Baca Juga
1. Menggunakan perintah Select
2. Menggunakan perintah insert

Belajar SQL dengan Phpmyadmin dan MySQL : Insert

Hallo, sebelum membaca ini sebaiknya kamu membaca artikel sebelumnya tentang phpmyadmin dan penggunaan keyword select. tapi jika kamu sudah bisa, silahkan meneruskan untuk membaca artikel ini.

asumsi :
xampp atau wamp sudah terinstall


Ok. Database yang akan kita gunakan untuk latihan ini adalah database pada artikel penggunaan select.

syntax insert :

insert into [nama tabel] field ([nama field1|, nama field 2 ..]) values (value1[,value2)

pengertian:
  • [nama tabel] adalah nama tabel yang ada dalam database, nama tabel ini ada di sebelah kiri jika dilihat dari phpmyadmin.
  • [nama field] adalah nama- nama kolom/field pada tabel. nama field ini boleh disebutkan satu atau lebih. apabila lebih dari satu, gunakan tanda koma (,) sebagai pemisah nama field
  • value adalah nilai dari field. jika field berupa tanggal atau text,varchar apit nilai dengan tanda kutip (boleh kutip 1, boleh kutip 2) . Sedangkan jika angka, tidak usah menggunakan tanda kutip


contoh :
  1. masukan databaru ke tabel customer dengan data hanya nama dan alamat , field lainnya dibiarkan kosong
  2. masukan record ke tabel customer, data hanya nama, sedangkan field lainnya kosong
  3. masukan record ke tabel customer untuk seluruh field

Buka tab SQL agar kita dapat mengetikan perintah insert

jawaban
  1. insert into customer (nama,alamat) values ('PT. Bijaksana raya','Jl. Kebagusan No.5 Jaksel');
  2. insert into customer(nama) values ('PT. Bontang sejahtera');
  3. insert into customer(nama,alamat,telpon,fax,email,kontak) values ('PT. Abadi jaya','Jl. raya Pasar Minggu No.11B, Jakarta Selatan','021-7676676','021-7676677','abadijaya@cbn.net.id','Maia Ahmad');
Perintah yang berhasil memberikan pesan : Inserted rows 1


Tips :

  • Selalu perhatikan nama - nama kolom/ field dengan benar
  • perhatikan pesan error yang dikeluarkan oleh phpmyadmin pada saat query dijalankan

Baca Juga :
Menggunakan SQL select
Menggunakan Update
Menggunakan Delete