Kamis, 16 Februari 2012

Enkripsi dengan md5() di PHP


MD5 (Message-Digest algortihm 5) ialah fungsi hash kriptografik yang digunakan secara luas dengan hash value 128-bit. Melakukan enkripsi terhadap password  sangat diperlukan untuk keamanan dari tangan-tangan jail para hacker. Meski sekarang sudah dapat di decrypt "Mau tau Caranya???" klik aja md5decryption.com.
Untuk meningkatkan keamanan bisa juga ditambahkan dengan  pengacak sebelum password.


Example -1:
Nama File : enkrip.php 

<?php
if (isset($_POST['submit'])){
$kata=$_POST['input1'];
$passwd=$_POST['input2'];

$enkrip1=md5($kata);
$enkrip2=md5($passwd);
echo "Hasil Enkrip Kata 1 :".$enkrip1."<br>";
echo "Hasil Enkrip Kata 2 :".$enkrip2."<br>";
}
?>
<html>
<head>
<title>Test md5</title>
</head>
<body>
<form action="" method="post">
Masukkan Kata 1 :<input type="text" name="input1"><br>
Masukkan Kata 2 :<input type="password" name="input2"><br>
<input type="submit" name="submit" value="Test">
</form>
</body>
</html>

Example -2:
Untuk menambah keamanan dari password anda dapat menambahkan pengacak. Pada contoh script di atas yang di bold(cetak tebal) kita akan melakukan perubahan sedikit dengan menambahkan pengacak.
Misalkan  :
$pengacak='123456'; //Contoh pengacaknya kasih yang lebih susah ok!
$enkrip2=$pengacak.md5($passwd).$pengacak;
Example -3:
Bisa Juga dengan menambahkan Fungsi DateTime
Misalkan :
$tgl=date("dmyHis");
$pengacak='123456'; 
$enkrip2=$tgl.md5($passwd).$pengacak;
Selamat mencoba, semoga bermanfaat.

Membuat function di PHP

Yukk,, kita simak :)
Berikan nama fungsi yang mencerminkan apa fungsinya. Nama fungsi dapat dimulai dengan huruf atau underscore (bukan angka).
Sebuah fungsi sederhana yang menulis nama saya ketika fungsi itu disebut:

<?phpfunction writeName()
{
echo “VIRA”;
}
echo “My name is “;
writeName();
?>

Output:
My name is VIRA
 Ngerti kan ? Selamat mencobaa.. :D

Rabu, 15 Februari 2012

Switch Case pada PHP

Salah satu perintah PHP yang menggunakan persyaratan setelah perintah If Else adalah perintah Switch atau dalam pengertian yang umum adalah saklar. Perintah akan dieksekusi apabila persyaratan terpenuhi.
Didalam blok perintah Switch membutuhkan perintah Break untuk mencegah agar eksekusi hanya pada persyaratan yang terpenuhi saja dan Default untuk memberikan perintah yang harus dieksekusi apabila persyaratan tidak terpenuhi.
Contoh penggunaan:
<?php
switch ($pesan)
{
case Sabtu:
echo "Kerja setengah hari";
break;
case Minggu:
echo "Libur";
break;
default:
echo "Ayo kerja!";
}
?>
Apabila variabel bernilai Sabtu maka akan muncul Kerja setengah hari, bila variabel bernilai Minggu maka akan muncul Libur dan apabila variabel bukan Sabtu atau Minggu maka akan muncul Ayo kerja!

Pembagian Halaman dalam PHP

Yukk,, gimana cara membuat paging (halaman) pada sebuah web menggunakan php. untuk databasenya kita menggunakan mysql..
Hal yang perlu diperhatikan dalam logika paging adalah posisi data yang ada di database dan limit/batas untuk menentukan berapa data yang akan ditampilkan. posisi data pertama dalam database dikenali/dimulai dari 0, dan limit merupakan batas tampilan data dari database. Jadi, jika kita ingin menampilkan hanya 3 data pada halaman 1 (1 s/d 3) maka perintahnya:
select * from nama_tabel LIMIT 0,3;
Setelah mengetahui logika paging, maka langkah-langkah untuk menerapkannya adalah sbb:
  1. Tentukan limit/batas, kemudian cek pada halaman dan posisi berapa pada saat skrip dijalankan
  2. Sesuaikan perintah SQL dengan limit/batas dan posisi
  3. Hitung total data dan halaman serta tampilkan link untuk navigasi halaman

untuk source file paging.php nya, silahkan download disini
oke, selamat mempelajari !!! semoga bermanfaat ^.^
Sumber:
Hakim, Lukmanul. 2008. Membongkar Trik Rahasia Para Master PHP. Yogyakarta: Lokomedia.
referensi tambahan buat temen-temen yang ingin mempelajari php secara online, disini tempatnya: diskusi web, gecko web, atau di ilmu website. oke silahkan memperdalam ilmu kalian . . ^^


Selamat mencoba :D

Menghitung Record di MySql

Halo, guys.
Sering kali kita memerlukan jumlah data/record yang kita miliki dalam satu table untuk berbagai keperluan, misal untuk keperluan paging, untuk kebutuhan reporting, dan lain-lain. Nah, cara gimana ? Yukk, liat..

Contoh :
tbl_mhs


id_mhs Nama tahun_masuk
1 Charles 2004
2 Susi 2003
3 Liliana 2004
4 Joko 2004
5 Merry 2007


Kita dapat menggunakan fungsi count( nama field ) yang dimiliki oleh MySql . Fungsi count ini digunakan untuk menghitung jumlah baris sesuai dengan kondisi dalam query kita. Misalkan sekarang saya mau menghitung jumlah mahasiswa yang tahun_masuknya 2007, maka dapat menggunakan query :
SELECT count(id_mhs) FROM tbl_siswa WHERE tahun_masuk='2007';
count(id_mhs) => sebenarnya tidak harus menggunakan id_mhs, kita dapat menggunakan field lain, yang penting ada field yang digunakan untuk dihitung, atau bisa juga menggunakan count(*).

Nah, cara di atas adalah cara sederhana untuk menghitung jumlah record. Sekarang akan saya jelaskan untuk kasus paging , biasanya untuk pertama kali kita lakukan 'select' data terlebih dahulu yang mana datanya untuk ditampilkan pada halaman website, setelah itu kita cari total record di database untuk keperluan generate link paging halaman,contoh seperti query dibawah ini :
query 1 : select * from tbl_mhs where tahun_masuk>=2004 limit 10,2;
query 2 : select  count(id_mhs) from tbl_mhs where tahun_masuk>=2004;

Pertama kita lakukan select data dengan limit sesuai sistem paging masing-masing ( ini dilakukan biasanya untuk mendapatkan record-record untuk ditampilkan ke halaman website), kemudian diperlukan data total record yang dimiliki table (tanpa limit) tetapi memiliki kondisi(where) yang sama, maka dilakukan query kedua. Cara ini bisa dilakukan tapi menurut saya kurang efektif karena kita melakukan statement pengambilan data ke table sebanyak 2x. Nah, ada cara supaya lebih efektif, yaitu :

query 1 :  SELECT SQL_CALC_FOUND_ROWS * FROM tbl_mhs where tahun_masuk>=2004 limit 10,2;
query 2 : SELECT FOUND_ROWS();
Dengan menambahkan SQL_CALC_FOUND_ROWS setelah 'select' maka kita bisa mendapatkan total record yang ada di dalam table di luar limit yang diberikan pada query 1. Hanya dengan memanggil query kedua (yg menggunakan perintah FOUND_ROWS() ) , kita bisa mendapatkan total record tanpa harus melakukan statement pengambilan data ulang dan diberi perintah count. Dari contoh table di atas , maka  perintah FOUND_ROWS() akan mengembalikan angka 4 (record yang memiliki tahun_masuk lebih besar sama dengan 2004 ada 4 record), walaupun pada query 1 menggunakan limit 10,2.

Selamat mencoba :D

Fungsi “substr();” dalam PHP

Apa sih substr itu ? substr() = Substring. Substring adalah fungsi yang digunakan untuk memperolek karakter dalam sebuah variable.
Begini jelasnya:
misalkan : $data berisi nama file gambar1.jpg . Nah disini saya mau ambil nama file nya saja tidak dengan ekstensinya . Caranya :

Dari rumus diatas akan menghasilkan “gambar1″  dan ekstensinya tidak ikut tampil.
Selain itu Substring juga dapat digunakan untuk mengambil karakter dari sisi kanan.Seperti berikut :

Fungsi diatas akan menghasilkan “.jpg” karena ia hanya mengambil karakter dari sisi kanan.
Fungsi substr() umumnya digunakan untuk mengambil beberapa karakter dari sisi kiri saja. Seperti:
 
Selamat mencobaaa :D 

Aplikasi Zodiak dengan Java

Halloo guys,,
Kali ini mau share nih Membuat Aplikasi Zodiak dengan Java..
capcuzzz aja dehh ...

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
import java.awt.Color;
import java.awt.Font;
import javax.swing.*;
import java.awt.event.*;
/**
*
* @author aries
*/
public class zod extends JFrame
{
zod()
{
setTitle(“Ramalan Bintang”);
setLocation(300,200);
setSize(350, 300);
setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
void komponen()
{
//membuat label
JLabel tgl=new JLabel(“Tanggal lahir”);
JLabel bln=new JLabel(“Bulan lahir”);
JLabel z=new JLabel(“Zodiak Anda”);
JLabel um=new JLabel(“Umum”);
JLabel p=new JLabel(“Keuangan”);
JLabel c=new JLabel(“Cinta”);
JLabel rm=new JLabel(“Ramalan anda :”);
JLabel mon=new JLabel(“Bulan”);
//font label
tgl.setFont(new Font(“comic sans MS”,Font.BOLD,14));
bln.setFont(new Font(“comic sans MS”,Font.BOLD,14));
z.setFont(new Font(“comic sans MS”,Font.BOLD,14));
um.setFont(new Font(“comic sans MS”,Font.BOLD,14));
p.setFont(new Font(“comic sans MS”,Font.BOLD,14));
c.setFont(new Font(“comic sans MS”,Font.BOLD,14));
mon.setFont(new Font(“comic sans MS”,Font.BOLD,14));


//membuat teks fild
final JTextField tg=new JTextField(5);
final JTextField bl=new JTextField(5);
bl.setToolTipText(“isi dengan angka”);
final JTextField zo=new JTextField(300);
final JTextField u=new JTextField(300);
final JTextField pek=new JTextField(300);
final JTextField cin=new JTextField(300);
final JTextField tb=new JTextField(25);
//pengaturan font output
zo.setFont(new Font(“comic sans MS”,Font.BOLD,20));
u.setFont(new Font(“comic sans MS”,Font.ITALIC,13));
pek.setFont(new Font(“comic sans MS”,Font.ITALIC,13));
pek.setFont(new Font(“comic sans MS”,Font.ITALIC,13));
cin.setFont(new Font(“comic sans MS”,Font.ITALIC,13));
tb.setFont(new Font(“arial MS”,Font.BOLD,14));
//membuat button
JButton ramal=new JButton(“Ramal”);
JButton hapus=new JButton(“Hapus”);
JButton ex=new JButton(“Exit”);
//warna font pada button
ramal.setForeground(Color.BLUE);
hapus.setForeground(Color.MAGENTA);
ex.setForeground(Color.RED);


getContentPane().setLayout(null);
getContentPane().add(tgl);
getContentPane().add(bln);
getContentPane().add(z);
getContentPane().add(um);
getContentPane().add(p);
getContentPane().add(c);
getContentPane().add(rm);
getContentPane().add(mon);


getContentPane().add(tg);
getContentPane().add(bl);
getContentPane().add(zo);
getContentPane().add(u);
getContentPane().add(pek);
getContentPane().add(cin);
getContentPane().add(tb);


getContentPane().add(ramal);
getContentPane().add(hapus);
getContentPane().add(ex);


//pengaturan label
tgl.setBounds(10, 10, 100, 25);
bln.setBounds(10, 40, 100, 25);
rm.setBounds(10, 100, 100, 25);
z.setBounds(10, 122, 100, 25);
um.setBounds(10, 152, 100, 25);
p.setBounds(10, 182, 100, 25);
c.setBounds(10, 212, 100, 25);
mon.setBounds(165, 40, 100, 25);


//pengaturan teks fild
tg.setBounds(100, 10, 50, 25);
bl.setBounds(100, 40, 50, 25);
zo.setBounds(100, 122, 145, 25);
u.setBounds(100, 152, 225, 25);
pek.setBounds(100, 182, 225, 25);
cin.setBounds(100, 212, 225, 25);
tb.setBounds(210, 40, 110, 25);


//pengaturan button
ramal.setBounds(100, 75, 70, 25);
hapus.setBounds(175, 75, 70, 25);
ex.setBounds(250, 75, 70, 25);


setVisible(true);
//proses
ramal.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
int t=Integer.parseInt(tg.getText());
int b=Integer.parseInt(bl.getText());
if (b==1)
{
tb.setText(“JANUARI”);
if (t<=18)
{
zo.setText(“CAPRICORN”);
u.setText(“manfaatkan IT yang tersedia”);
pek.setText(“pas-pasan”);
cin.setText(“lagi mesra-mesranya”);
}
else if (t<=31)
{
zo.setText(“AQUARIUS”);
u.setText(“jangan bertindak yang tak lazim”);
pek.setText(“atur keungan kamu”);
cin.setText(“ada yang naksir kamu”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==2)
{
tb.setText(“FEBRUARI”);
if (t<=18)
{
zo.setText(“AQUARIUS”);
u.setText(“jangan bertindak yang tak lazim”);
pek.setText(“atur keungan kamu”);
cin.setText(“ada yang naksir kamu”);
}
else if (t<=29)
{
zo.setText(“PISCES”);
u.setText(“luangkan waktumu untuk bersantai”);
pek.setText(“keungan kamu lagi menipis”);
cin.setText(“kamu lagi butuh perhatian saat ini”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==3)
{
tb.setText(“MARET”);
if (t<=20)
{
zo.setText(“PISCES”);
u.setText(“luangkan waktumu untuk bersantai”);
pek.setText(“keungan kamu lagi menipis”);
cin.setText(“kamu lagi butuh perhatian saat ini”);
}
else if (t<=31)
{
zo.setText(“ARIES”);
u.setText(“ada hal baru di awal pekan ini”);
pek.setText(“jangan boros”);
cin.setText(“dia lagi butuh perhatianmu”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==4)
{
tb.setText(“APRIL”);
if (t<=19)
{
zo.setText(“ARIES”);
u.setText(“ada hal baru di awal pekan ini”);
pek.setText(“jangan boros”);
cin.setText(“dia lagi butuh perhatianmu”);
}
else if (t<=30)
{
zo.setText(“TAURUS”);
u.setText(“waktunya kamu merubah sikapmu”);
pek.setText(“keuangan lancar”);
cin.setText(“lagi ada masalah”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==5)
{
tb.setText(“MEI”);
if (t<=20)
{
zo.setText(“TAURUS”);
u.setText(“waktunya kamu merubah sikapmu”);
pek.setText(“keungan lancar”);
cin.setText(“lagi ada masalah”);
}
else if (t<=31)
{
zo.setText(“GEMINI”);
u.setText(“ada persoalan dikehidupanmu”);
pek.setText(“keungan lagi boros”);
cin.setText(“mulailah PDKT dengan dia”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==6)
{
tb.setText(“JUNI”);
if (t<=21)
{
zo.setText(“GEMINI”);
u.setText(“ada persoalan dikehidupanmu”);
pek.setText(“keungan lagi boros”);
cin.setText(“mulailah PDKT dengan dia”);
}
else if (t<=30)
{
zo.setText(“CANCER”);
u.setText(“mulailah berpikir dewasa”);
pek.setText(“lagi bokek”);
cin.setText(“maafkanlah kesalahan dia”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==7)
{
tb.setText(“JULI”);
if (t<=22)
{
zo.setText(“CANCER”);
u.setText(“mulailah berpikir dewasa”);
pek.setText(“lagi bokek”);
cin.setText(“maafkanlah kesalahan dia”);
}
else if (t<=31)
{
zo.setText(“LEO”);
u.setText(“belajarlah dari pengelaman hidupmu”);
pek.setText(“mulailah untuk menabung”);
cin.setText(“jangan terlalu kasar dengannya”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==8)
{
tb.setText(“AGUSTUS”);
if (t<=22)
{
zo.setText(“LEO”);
u.setText(“belajarlah dari pengelaman hidupmu”);
pek.setText(“mulailah untuk menabung”);
cin.setText(“jangan terlalu kasar dengannya”);
}
else if (t<=31)
{
zo.setText(“VIRGO”);
u.setText(“hadapi masalahmu dengan semangat”);
pek.setText(“lagi hoki”);
cin.setText(“dia lagi butuh bantuanmu”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==9)
{
tb.setText(“SEPTEMBER”);
if (t<=22)
{
zo.setText(“VIRGO”);
u.setText(“hadapi masalahmu dengan semangat”);
pek.setText(“lagi hoki”);
cin.setText(“dia lagi butuh bantuanmu”);
}
else if (t<=30)
{
zo.setText(“LIBRA”);
u.setText(“hargailah pendapat orang lain”);
pek.setText(“penuh perhitungan”);
cin.setText(“dia lagi cari perhatianmu”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==10)
{
tb.setText(“OKTOBER”);
if (t<=23)
{
zo.setText(“LIBRA”);
u.setText(“hargailah pendapat orang lain”);
pek.setText(“penuh perhitungan”);
cin.setText(“dia lagi cari perhatianmu”);
}
else if (t<=31)
{
zo.setText(“SCORPION”);
u.setText(“perhatikanlah keluargamu”);
pek.setText(“lagi banyak pengeluaran”);
cin.setText(“lagi naksir yang lebih muda”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==11)
{
tb.setText(“NOVEMBER”);
if (t<=21)
{
zo.setText(“SCORPION”);
u.setText(“perhatikanlah keluargamu”);
pek.setText(“lagi banyak pengeluaran”);
cin.setText(“lagi naksir yang lebih muda”);
}
else if (t<=30)
{
zo.setText(“SAGITARIUS”);
u.setText(“jadilah diri kamu sendiri”);
pek.setText(“lagi seret”);
cin.setText(“dia lagi cemburu sama kamu”);
}
else
{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}


else if (b==12)
{
tb.setText(“DESEMBER”);
if (t<=21)
{
zo.setText(“SAGITARIUS”);
u.setText(“jadilah diri kamu sendiri”);
pek.setText(“lagi seret”);
cin.setText(“dia lagi cemburu sama kamu”);
}
else if (t<=31)
{
zo.setText(“CAPRICORN”);
u.setText(“manfaatkan IT yang tersedia”);
pek.setText(“pas-pasan”);
cin.setText(“lagi mesra-mesranya”);
}
else


{
JOptionPane.showMessageDialog(null,
“tanggal yang anda masukan salah”);
}
}
else
{
JOptionPane.showMessageDialog(null,
“bulan yang anda masukan salah”);
}
}
});


hapus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tg.setText(“”);
bl.setText(“”);
zo.setText(“”);
u.setText(“”);
pek.setText(“”);
cin.setText(“”);
tb.setText(“”);
}
});


ex.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
zod a=new zod();
a.komponen();
}
}


Kalau benar maka hasilnya akan seperti berikut ini :

gambar program
Selamat mencoba…… :D

Selasa, 14 Februari 2012

Edit Combo Box sesuai dengan Pilihan

Halloo guys ..
Saat ini saya akan share ke temen-temen cara mengedit combo box yang otomatis ke select yang sudah terhubung di database ..
ngerti gak maksudnya gimana ? hehehhe..
okeoke,, ginii ..
jadi kalian sudah menyimpan data dalam database, nah kita mengambil data tersebut agar keluar pada form edit di php.. Misalnya nih, di field Jenis Kelamin dipastikan data yang terisi kalo gak L ya P ..
nah ketika kita mau edit data melalui web php dan pake combo box, agar yang kepilih sesuai yang ada di database . ngerti ? Kalau bingung langusng aja deh :)


nah gimana caranya ?
sebelumnya, ingat kita harus sudah terconnect dengan database. kalau bingung, klik sini.. :)
kalau sudah terhubung dengan database, capcuzz deh ~
ayo kita tengok syntax php di bawah ini :

<select name="GenderPsn"> <?php if($x[3]=="L"){ $l="selected=selected"; } if($x[3]=="P"){ $p="selected=selected"; } ?> <option value="L" <?=$l?>>Laki-laki</option> <option value="P" <?=$p?>>Perempuan</option> </select>

nah, silakan copast :D boleh kok ..
$x[3] itu adalah array dari database, jadi sesuain sama data kalian yaaa :)
selamat mencobaaaaa :D

Senin, 13 Februari 2012

Membuat Combo Box Bulan di PHP

halooo guys..
kalau sebelumnya ita sudah membahas cara nampilkan tanggal, sekarang gimana denga cara nampilkan bulan sekarang dengan combo box di php ?
okee, langsung aja ..

Untuk menampilkan bulan Januari s/d Desember kita bisa pake array untuk menyimpan bulan-bulannya, menggunakan looping for untuk value optionnya , lalu agar yang terpilih adalah bulan ini, kita menggunakan fungsi date().
bingung ? okee, capcuzz deh gimana syntax nya :)

<select name="bulan">
<?php
$bulan = array("", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember");
for($y=1;$y<=12;$y++){
if($y==date("m")){ $pilih="selected";}
else {$pilih="";}
echo("<option value=\"$y\" $pilih>$bulan[$y]</option>"."\n");
}
?>
</select>

Simple kan ? gak perlu deh syntax yang panjang-panjang, bikin ribet :p
langsung aja deh kamu boleh copast (copy-paste) ke syntax php kamu.. :)
Selamat mencoba !! Thankyou :D

#Ayo lihat juga Membuat Combo Box Tanggal di PHP.

Membuat Combo Box Tanggal di PHP

halooo guys..
buat teman-teman yang kesulitan gimana sih cara nampilkan tanggal dan bulan sekarang dengan combo box di php ?
okee, langsung aja ..

Untuk menampilkan tanggal 1 s/d 31 kita bisa pake looping for , lalu agar yang terpilih adalah tanggal hari ini, kita menggunakan fungsi date().
bingung ? okee, capcuzz deh gimana syntax nya :)

<select name="tgl">
<?php
for ($i=1; $i <= 31; $i++) { //membuat looping tgl 1-31
if ($i == date("j")){ $selectdate ="selected";}//menentukan yang sesuai dg tanggal hari ini
else {$selectdate="";}
if ($i <=9 ) {$i2="0$i";}//jika tgl 1-9 menjadi 01-09, jika menggunakan type data DATE
else{$i2="$i";}//selain tgl 1-9 akan tetap
echo ("<option value=\"$i2\" $selectdate>$i2</option>"."\n");//untuk mengeluarkan pilihannya
}
?>
</select>

langsung aja deh kamu boleh copast (copy-paste) ke syntax php kamu.. :)
Selamat mencoba !! Thankyou :D

#Ayo lihat juga Membuat Combo Box Bulan di PHP.