Oktober 2005 - hari ini Senin, 18 Oktober 2005 - deadline PEN JELASAN SCRI PT

Minggu, 16 Oktober 2005 - hari ini Senin, 18 Oktober 2005 - deadline PEN JELASAN SCRI PT

Pada kode diat as kit a m em buat sebuah fungsi yait u show_deadline(). Fungsi ini m em iliki sat u param at er. Yait u $pilihan dim ana 0 unt uk m enam pilkan t anggal hari ini. Dan 1 unt uk m enam pilkan deadline dua hari ke depan. Selanj ut nya kit a m em buat variabel unt uk hari, t anggal, bulan, t ahun dan j um lah hari bulan sekarang.

Kesem uanya bert ipe int eger at au angka. I ni dim aksudkan agar kit a m udah unt uk m engolahnya dengan array. Anda dapat m elihat kem bali t abel 2.2 j ika m asih kurang j elas.

Karena st andar hari kom put er m engikut i orang- orang bule. Dim ana baisanya hari pert am a yang disebut adalah Monday at au Minggu. Maka m au t idak m au kit a j uga harus m engikut inya. Jadi kit a akan m em buat variabel $nama_hari yang bert ipe array dengan t uj uh elem en yait u Minggu, Senin dan set erusnya. Jadi isi dari $nama_hari[0] adalah Minggu, $nama_hari[1] adalah Senin dan set erusnya hingga elem en ke- 7 yait u $nama_hari[6] yang berisi Sabt u. Hal yang sam a berlaku unt uk array $nama_bulan.

Hal berikut nya yang kit a lakukan adalah m enent ukan penam bahan hari, bulan dan t ahun dari wakt u sekarang. Variabel yang kit a buat unt uk m engindikasikan penam bahan adalah $tglplus, $blnplus, dan $thnplus. Khusus unt uk $tglplus penam bahannya sudah kit a t et apkan yait u 2.

$hari_ini = $nama_hari[$hari]; $bulan_ini = $nama_bulan[$bulan]; $hari_nanti = $nama_hari[$hari + $tglplus];

Yang unik dari kode diat as adalah cara kit a m endapat kan index array dari variabel $nama_hari. Sepert i yang dit et apkan sebelum nya kalau isi dari $hari adalah date('w'). Jadi $hari akan m engem balikan nilai 0 sam pai 6 sesuai dengan hari sekarang. Sehingga isi dari $hari_ini akan m eruj uk pada st ring nam a hari sekarang. Begit u pula dengan $bulan_ini, hanya saj a karena nilai yang dikem balikan $nama_bulan adalah 1 sam pai 12. Kit a harus m enguranginya dengan angka 1 agar sesuai dengan index array yait u 0 sam pai 11. $hari_nanti akan m enam pilkan hari deadline dengan cara m enam bahkan index array dari $nama_hari dengan isi dari $tglplus yang sudah kit a t et apkan yait u 2.

if ($hari_nanti == null && $hari_ini == "Jumat") $hari_nanti = "Minggu"; if ($hari_nanti == null && $hari_ini == "Jumat") $hari_nanti = "Minggu";

Kode diat as berguna unt uk m enghandel index array yang t idak t erdefinisi( null) . Cont ohnya j ika hari ini Jum at m aka index $hari_nanti adalah 5 + 2 = 7. Karena index $nama_hari hanya sam pai 6 m aka $hari_nanti m enj adi t idak t erdefinisi. Unt uk it u kit a m enent ukan isi dari $hari_nanti m enj adi dua hari kedepan yait u Minggu. Begit u pula j ika hari ini adalah sabt u m aka haka index $hari_nanti 6 + 2 = 8. Karena index 8 t idak t erdefinisi m aka kit a t et apkan hari $hari_nanti m enj adi dua hari ke depan yait u Senin.

if ($jml_hari == 31) {

if($tgl_nanti > 31) {

$tgl_nanti = $tgl_nanti - 31; $blnplus = 1;

Unt uk apa kit a m em buat blok kode if diat as. Tanpa kode blok if diat as sebenarnya fungsi ini sudah berj alan dengan norm al. Tapi..., it u hanya unt uk t anggal 1 awal bulan sam pai 2 t anggal t erakhir dari bulan sekarang m isalnya 28 at au 29. Jika kit a t idak m enam bahkan blok if diat as m aka j ika m aksim al t anggal pada bulan sekarang 31 dan t anggal sekarang 30. Maka deadlinenya m enj adi 32, 32? Mana ada t anggal 32 bung! ! . Unt uk it u kit a perlu m enget ahui j um lah hari dalam bulan sekarang agar kit a dapat m enent ukan pengurangnya.

Kit a am bil cont oh m isalnya bulan sekarang Desem ber yang j um lah harinya 31. Maka blok if pada kode if ($jml_hari == 31) dij alankan. Jika t anggal deadline yang isinya pada $tgl_nanti lebih dari 31 m aka kit a kurangi dengan 31. Misalnya $tgl_nanti isinya 32 m aka kit a kurangi 31 sekarang $tgl_nanti m enj adi 1. Berart i ada pergant ian bulan m aka $blnplus kit a set m enj adi 1. Agar $bln_nanti m enj adi sat u bulan kedepan.

$bln_nanti = $nama_bulan[$bulan + $blnplus];

I si dari $bln_nanti m erupakan isi dari array $nama_bulan. $bulan akan m engem balikan nilai dari 0 hingga 11 set elah kit a kurangi sat u pada awal kode diat as. I si dari $blnplus awalnya adalah 0. Nam un akan m enj adi 1 j ika isi dari $tgl_nanti lebih dari j um lah t anggal sekarang.

if ($bln_nanti == null) {

$bln_nanti = "Januari"; $thnplus = 1;

$thn_nanti = $tahun + $thnplus;

Pada blok if diat as j ika nilai $bln_nanti t ak t erdefinisi( null) m aka index arraynya adalah 12. Karena pada $nama_bulan index 12 t idak ada m aka kit a t et apkan isi $bln_nanti m enj adi Januari. Ot om at is t ahun akan berubah j adi kit a t et apkan isi dari $thnplus m enj adi 1 agar t ahun bert am bah 1.