Jumat, 12 September 2008

The Power of XML

The Power of XML
XML adalah eXtensible Markup Language, sebuah bahasa markup yang dapat dipergunakan secara luas. Yup dengan XML aku mendapatkan banyak keuntungan. XML memberikan lapisan tambahan dalam aplikasi ataupu sistem informasi. Jika sebelumnya aplikasi client server memiliki arsitektur seperti ini



Maka dengan XML arsitektur aplikasi client server dapat menjadi seperti


Dengan xml sebagai lapisan transport maka antara client dan server dapat digunakan platform yang berbeda. Maksudnya bisa saja client menggunakan platform JAVA sedangkan server menggunakan PHP+Apache atau client menggunakan Visual Basic sedangkan Server menggunakan Java dan lain sebagainya. Dengan bantuan XML maka dapat dilakukan komunikasi multiplatform dengan sistem operasi yang berbeda-beda. Dengan konsep ini maka dapat dibuat suatu aplikasi yang berbeda-beda platform tetapi terintegrasi menjadi satu dalam lingkup sistem informasi manajemen. Dengan konsep ini juga platform tidak menjadi batasan dalam mengembangkan suatu sistem informasi tetapi platform dapat disesuaikan sesuai dengan kebutuhan konsumen dan kemampuan dari platform tersebut. Dengan konsep ini juga database di webserver yang digunakan secara bersama dapat diakses. Biasanya server terutama paket webserver untuk hostingan yang disewa tidak memberikan akses database ke mesin selain dari server mereka sendiri biasanya mereka menggunakan localhost untuk setiap konsumennya. Tapi dengan konsep ini aplikasi web dan aplikasi desktop dapat mengakses database yang sama (dalam kasus ini online menggunakan server yang dipakai bersama) dan menggunakan file – file seperti image, pdf, word dan lain lain secara bersama. Tentunya perlu ditambahkan protocol TCP/IP sebagai alat komunikasi di network dan perancangan security yang bagus supaya akses thdp resource hanya diperbolehkan untuk yang berhak saja.

”Digitalindo Design offer the best service for you”

Regards,
Very, Engineer in Digitalindo Design (http://www.digitalindodesign.com/)

Jumat, 01 Agustus 2008

Load Image From URL with Delphi

Finally setelah bergelut lama dengan Indy (Internet Direct) akhirnya aku mendapatkan cara bagaimana me-load gambar dari URL akhirnya aku mendapatkan cara me-load gambar dari URL menggunakan Stream. Sebenarnya seh aku bukan programmer yang fokus ke aplikasi desktop but fokus ke web programming tapi karena tuntutan keperluan dari institusi dimana Sistem Informasi yang aku buat membutuhkan otomatisasi dalam pengambilan gambar melalui webcam akhirnya aplikasi ini kubuat. Rancangan utama aplikasi ini adalah mengambil gambar melalui webcam yang terpasang, meng-capture dan mengirim gambar yang sudah di-capture ke server. Cara mengirim gambar ke server melalui HTTP alias port 80 berarti agent diserver menggunakan bahasa pemrograman server side. Yup keuntungan dari menggunakan agent jenis ini adalah aplikas kita dapat jalan di sistem operasi manapun.

Aplikasi ini digabungkan dengan aplikasi2 lain seperti aplikasi pendaftaran dan lain2. Setelah melakukan perjalanan panjang dalam membuat aplikasi ini akhirnya aku menemukan masalah. Masalahnya adalah bagaimana cara melihat foto2 yang ada diserver. Delphi secara default tidak menyediakan mekanisme untuk melihat gambar di server melalui URL. Akhirnya setelah lama bergelut dengan masalah ini (aku udah coba cari di Google dan bertanya di forum but nothing useful) dan masalah dengan kemalasanku aku menemukan cara untuk memecahkan masalah ini yaitu menggunakan stream.

Ups ternyata setelah dicoba dengan cara apapun stream juga tidak berhasil. Tetapi setelah aku begelut lama dengan stream aku menemukan ternyata selain FileStream, BlobStream ada Stream yang lain juga yang berjenis StringStream. Yup inilah pembuka jalan untuk menampilkan gambar. Stream biasa tidak bisa menampilkan gambar karena stream biasa hanya menampung ekstensi dari gambar saja string biasa hanya menampung isi ÿØÿà dari HTTP.

Akhirnya setelah menemukan StringStream (aku menemukan cara ini singkat loch, not more than 15 minutes, no google help and manual help) dan menemukan cara mengkonversi Stream ke StringStream aku bisa menampilkan gambar dari URL baik online maupun hanya sekedar localhost ke aplikasi delphi.

Oke lets start our toturial

  • Pastikan ada komponent Tedit, IdHTTP, Tbutton dan Timage.
  • Kita akan menampilkan image dari URL ke Timage.
  • Sekarang object2 yang di-instance dari class2 diatas biarkan saja secara default ditentukan oleh delphi.
  • Jangan lupa menggunakan uses JPEG dibagian atas.
  • Gambar akan ditampilkan dengan event onclick dari button dengan URL yang diketikkan dari Tedit.
  • Buat variabel yang diperlukan seperti

strimnya : TStream;

jp : TJPEGImage;

§ Oke sekarang buat Stream dari strimnya

strimnya := TStream.Create;

§ Sekarang ubah stream menjadi StringStream

strimnya := TStringStream.Create(IdHTTP1.Get(Edit1.Text));

§ Setelah stream didapat dan disimpan dalam variabel sekarang buat JPEG nya

jp := TJPEGImage.Create;

§ Baru sekarang load JPEG nya dari stream yang sudah disimpan di variabel strimnya

jp.LoadFromStream(strimnya);

§ Save ke file yang sudah disiapkan, misalnya a.jpg didalam direktori yang sama dengan aplikasi.

jp.SaveToFile(ExtractFilePath(Application.ExeName)+'a.jpg');

§ Setelah disimpan sekarang gambar bisa ditampilkan ke Timage

Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'a.jpg');

§ Oia sekedar tambahan, jika ingin menggunakan resource jangan lupa untuk ”membebaskan” resource yang digunakan sehingg memori akan lebih kecil untuk aplikasi coz memori yang dipakai dilepaskan setelah digunakan

§ For complete of source code di event onclick dari button

procedure TForm1.Button1Click(Sender: TObject);

var

strimnya : TStream;

jp : TJPEGImage;

begin

//

strimnya := TStream.Create;

try

strimnya := TStringStream.Create(IdHTTP1.Get(Edit1.Text));

jp := TJPEGImage.Create;

try

jp.LoadFromStream(strimnya);

jp.SaveToFile(ExtractFilePath(Application.ExeName)+'a.jpg');

Image1.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'a.jpg');

finally

jp.Free;

end;

finally

strimnya.Free;

end;

end;

§ Oke just it all...

”Digitalindo Design offer the best service for you”

Regards,

Very, Engineer in Digitalindo Design (http://www.digitalindodesign.com/)

Jumat, 18 Juli 2008

FAKTA-FAKTA TENTANG UNSUR WANITA

(Menurut Ahli Kimia Pria):

Jika kau menciumnya, kau bukan gentleman
Jika kau tidak menciumnya, kau bukan lelaki
Jika kau memujinya, ia akan mengira kau ngegombal
Jika kau tidak memujinya, kau adalah lelaki tak berguna
Jika kau setuju semua keinginannya, dia akan ngelonjak
Jika kau tidak setuju, kau tidak pengertian
Jika kau bercinta dengannya, kau dicurigai “sudah ahli”
Jika kau tidak bercinta dengannya, kau bukan lelaki
Jika kau kunjungi dia sering-sering, dia pikir kau membosankan
Jika tidak kau kunjungi sering-sering, dia menuduhmu main sama orang lain
Jika kau berpakaian rapi, dia bilang kau menarik perhatian wanita lain
Jika kau tidak berpakaian rapi, dia bilang kau berantakan
Jika kau cemburu, dia bilang kau jahat
Jika kau tidak cemburu, dia bilang kau tidak cinta padanya
Jika kau ingin bercinta, dia kata kau tidak menghormatinya
Jika kau tidak ingin bercinta, dia pikir kau tidak suka padanya
Jika kau telat satu menit, dia akan marah-marah
Jika dia telat satu jam, dia bilang itu memang seharusnya seorang wanita
Jika kau mengunjungi wanita lain, dia akan menuduh kau punya wanita lain
Jika dia dikunjungi lelaki lain, “Oh! Sudah biasa, kami wanita!”
Jika kau menciumnya sebentar, dia tuduh kau orangnya dingin
Jika kau menciumnya lama, dia teriak bahwa kau kurang ajar
Jika kau gagal membantu dia menyeberang jalan, kau kurang etika
Jika kau berhasil membantunya menyeberang jalan, dia anggap itu taktik lelaki
Jika kau menatap wanita lain, dia tuduh kau buaya
Jika dia ditatap lelaki lain, dia berkata bahwa mereka mengaguminya
Jika kau membiayai hidupnya, dia pikir kau meremehkannya
Jika kau tidak membiayai hidupnya, dia pikir kau pelit
Jika kau bercinta dengan wanita lain, dia minta putus
Jika dia bercinta dengan lelaki lain, “Bukan salahku! Dia yang memaksa!”
Jika kau berhasrat bercinta dengannya, dia anggap hanya itu yang kau inginkan
Jika kau tidak berhasrat bercinta dengannya, dia anggap kau jual mahal
Jika kau bicara, dia ingin kau sendiri mendengar yang kau bicarakan
Jika kau mendengar, dia ingin kau yang bicara
Jika saat bercinta dia diam saja,dia minta dicumbu
Jika saat bercinta kau diam saja, dia juga diam saja
Jika dia menangis, kau salah telah membuatnya menangis
Jika kau menangis, dia pergi darimu karena kau bukan lelaki sejati

Oh Tuhan!
Kau menciptakan UNSUR bernama “WANITA”
Sangat simple, tapi sangat kompleks
Sangat lemah, tapi sangat kuat pengaruhnya
Sangat membingungkan, tapi sangat indah dipandang..

Selasa, 08 Juli 2008

Catatan Di Ujung Senja

Ku tatap senja khatulistiwa

Merona jingga

Menemani masa

Melepaskan dahaga...

Ketika hati bersendu

Matahari merenggut syahdu...

Engkau lah terang yang ku dekap dalam gelap

Saat bumi bersiap diri untuk selamanya lelap

By : Wira Pratama Elvira Putri

Minggu, 22 Juni 2008

Hari-Hariku Tanpamu

Serasa seabad waktu berjalan tanpamu…

Hari-hariku serasa sepi tanpamu..

Ada bagian yang hilang dalam diriku...

Bagian yang selalu menceriakan hariku...

Dengan senyummu dan tawamu...

Suaramu yang menemani hariku..

Tiada kudengar lagi...

Sepi dalam keramaian...

Hampa dalam keberadaan

Entah kapan ini akan berakhir..

Mimpi buruk yang selalu menghantuiku...

Aku ingin ini semua hanyalah mimpi buruk

Dan ketika aku terbangun mimpi buruk ini akan lenyap..

Dan kudapati dirimu disampingku...

Kembali menemaniku hariku...

Dan kembali mengisi perjalananku dengan senyum dan tawamu...

Kenapa harus berpisah jika kita harus bertemu..

Kuingin dirimu tercipta untukku...

Tercipta untuk menemaniku...

Disetiap langkahku...

Selamanya....

Untuk seseorang yang pernah mengisi hari-hariku dan aku sayang selamanya....

My Love Won’t never die for you, Forever.....

Sabtu, 21 Juni 2008

keindahan yang TUHAN berikan kepada lelaki

nah setelah melewati malam minggu yang membosankan diwarnet akhirnya
aku bisa membuat slogan asli buatanku sendiri. Slogan ini aku buat setelah melihat2
gambar2 nature dan gambar cewe2 di FS... nah ada kesamaan di kedua gambar/foto..
akhirnya lahirlah sloganku...
didunia ini ada dua keindahan yang diberi TUHAN kepada lelaki... Alam dengan segala keajaibannya dan wanita dengan kecantikan dan keindahannya...

nah pertanyaannya itu betul nda seh??
hehehe....


Kamis, 19 Juni 2008

My Last Saturday

Feel something different….

Something I can’t say

Something terrible…

Something more I hate than ever….

Someone I miss forever

Someone I Love….

Someone priceless….

Someone valueful for me..

Someone I can’t see again…

She leaves me and all my memorise

And now I know the meaning of you

Which can’t be describe with

Everything……

Because you are my everything

I hate to say but this is the true

And the true will never fall

The true will always on surface

In every heart of lover

I hate my last Saturday….

Minggu, 15 Juni 2008

Lagi Suka Lagu Kerispatih Neh...

Bila Rasa Ini Rasa Mu....
Gila ni lagu liriknya mendalam banget,top abis dah....

Sabtu, 14 Juni 2008

Sepenggal Kata Cinta Untukmu………

Kuakui aku memang mencintaimu…

Walaupun awalnya aku hanya ingin mempermainkanmu…..

Tapi tak dapat kupungkiri rasa sayang terus tumbuh untukmu…

Semakin dalam karena rasa sayangmu kepadaku….

Semakin larut dan menjadikan rasa ini menjadi rasa cinta dan

Ingin memilikimu seutuhnya...

Kuakui aku memang salah...

Kuakui aku memang salah....

Salah dalam menunjukkan rasa sayangku kepadamu....

Salah dalam menunjukkan rasa cintaku kepadamu.......

Sejenak pun aku tak berusaha untuk mengertimu........

Maafkan aku yang telah menyakitimu....

Sekarang aku merasakan rasa sayangmu untukku sangat berarti...

Aku hampa dalam ketiadaan dirimu...

Aku sepi dalam ketiadaanmu hadirmu....

Sekarang aku merasakan bagaimana rasa cinta yang sebenarnya...

Rasa yang datang dari lubuk hati yang paling dalam...

Rasa yang dulunya kupermainkan....

Rasa yang dulunya hanya kuanggap untuk orang yang lemah....

Sepenggal kata cinta ini kutulis hanya untukmu...

Kutulis dengan tinta cinta yang akan abadi untukmu....

Kutulis dengan segenap rasa sayangku untukmu....

Kutulis hanya untuk kekasih hatiku tercinta.....

Meskipun kita telah berpisah aku akan selalu sayang kamu

Akan kujaga rasa ini untukmu,

hanya ada satu tempat dihatiku dan ini hanya untukmu...

aku akan terus sayang sampai kapanpun....

aku berharap kita akan bertemu dalam situasi yang berbeda....

situasi dimana aku bisa menerima keadaan aku untukmu....

situasi dimana rasa kita akan bersatu...

situasi dimana aku bisa menerima perbedaan yang telah memisahkan kita...

situasi dimana tidak ada lagi rasa sakit karena emosi sesaat....

situasi dimana aku dan kamu akan bersatu untuk selamanya...

tapi tidak untuk sekarang......................

love YOU Forever....

Very dan Wira dari masa kami kenalan, bersatu dan berpisah 2007-2008

Uploading Asynchronous Using YUI

Setelah lama bergelut dan sibuk dengan KKN kalau dikampusku namanya KP alias Kerja Praktek aku menemukan cara mengupload file dengan ajax. Yang aku gunakan yaitu XHR alias XMLHttpRequest dengan Library Yahoo User Interface (YUI). Aku menemukan di suatu blog kalau mengupload file yaitu dengan membuat XHR meng-connect formnya dan mengubah parameter success didalamnya menjadi upload. Beda dengan ajax biasanya yang menggunakan success. Ini bagi yang biasa menggunakan YUI loh….

Sip mari kita mulai aja tutorialnya…

File yang pertama upload.html

Yang pertama konekkan dulu File JS nya

Setelah itu buat script javascriptnya

Function UploadYUI(){

function makeRequest(){

var div = document.getElementById('container');

var handleSuccess = function(o){

if(o.responseText !== undefined){

div.innerHTML = o.responseText;

}

};

var handleFailure = function(o){

if(o.responseText !== undefined){

div.innerHTML += "

  • Status code message: " + o.statusText ;

    }

    };

    var callback =

    {

    upload:handleSuccess,

    failure:handleFailure

    };

    YAHOO.util.Connect.setForm('form1', true);

    var sUrl = "upload2.php";

    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);

    }

    }

    Bagian yang aku tebalin itulah kunci dalam mengubah post dan get ajax di YUI menjadi upload. Selain itu juga kita harus mengkoneksikan form dengan YUI menjadi true ini supaya enctype kita bisa dibaca. Dengan mengkoneksi form dengan YUI berarti kita memberi informasi tambahan ke YUI bahwa ajax yang digunakan untuk mengupload….

    Sip setelah membuat javascriptnya sekarang kita buat formnya.





    Kalau dilihat dari javascriptnya karena mendefinisikan variabel dengan object maka disarankan untuk menuliskan javascriptnya dibagian akhir.
    Oke lengkapnya file upload.htm



    Oke sekarang kita membuat file untuk menerima hasil kiriman filenya ke server. Aku biasa gunakan PHP. Sip ayo kita mulai

    upload2.php

    print_r($_FILES);

    ?>

    Kok singkat banget?? Ya iyalah masa iya donk sich?? Hehe…. File upload2.php hanya aku gunakan untuk melihat apakah filenya diterima server secara asynchronous dan ternyata ini berhasil ni buktinya

    Bisa dilihat kalau server memberikan respon filenya diterima…

    Sekian deh,selamat mencoba...

    Oia aku ada masalah dalam mengupload YUI dengan multiple jika aku gunakan satu form untuk banyak file. Tapi kalau satu form untuk satu file aja seh lancar2 aja....

    Makasih uda mau baca blog aku...

  • Senin, 28 April 2008

    Konfigurasi php 5.2.3, apache 2.2.3 dan mysql 5.1 di windows

    Mungkin tutorial yang aku tulis cupu bgt bagi yang sudah mahir bagi yang master jgn diledekin ya…. Coz aku masih muda bgt neh…heheh,,,,,,
    Yup kebanyakan dari kita pengguna php, apache dan mysql hanya menggunakan server instant seperti phptriad, appserve dan server instant lain. Alasannya sederhana, biar lebih praktis aja….
    Heheh, emang seh betul tapi mengingat ini software adalah produk open source dan kita tau open source itu perkembangannya pesat bgt coz dikerjain oleh byk org. Maka jika ngandalin server instant maka mesin kita akan terbatas dari orang yang buat(config ni sbnrnya) server instant tsb. Yah kalau kayak gitu ketinggalan trus dunx… misalnya ada php versi baru trus apache baru atau mysql baru, pengguna server instant mesti nungguin team pembuat server instantnya. Lama dunx…. Nah lo, sekarang kenapa kita nda gunain server yang manual aja.. Alasan susah sebenarnya seh masuk akal karena aku juga merasa kesusahan dalam mengconfig ketiga software ini. Tutorial yang aku baca cuma sampai menghubungkan apache dan php aja giliran menghubungkan php dan mysql gagal. Bingung juga awalnya tapi dengan tekad dan kerja keras(heheh….) akhirnya bisa deh,heheh….
    Yup kita mulai aja ya…Yang pertama kita mesti dapatin ketiga software ini(php,apache dan mysql) di official website mereka.
    Untuk php : www.php.net
    Untuk apache : www.apache.org
    Untuk MySQL : www.mysql.com
    (solusi lain: kopi aja dari teman kamu jika ada,heheh… lebih gampang loh).
    Nah setelah dapat ketiganya sekarang extract php yang kamu download dan letakin di direktori yang kamu inginkan. Misalnya negh : C:\php5\
    Kemudian install apache (installnya mudah kok karena udah ada installshield wizard, tinggal ikutin aja). Untuk ngetes apakah servis apache udah jalan kamu tinggal panggil http://localhost/ . Jika ada tulisannya maka kamu sukses jika nda install apachenya lagi aja,heheh….
    Kemudian install MySQL. Install nya juga mudah karena udah ada installshield wizard, ikutin aja petunjuknya. Oia dibagian MySQL.com sign up kamu skip aja, biar cepat. Nah kemudian dibagian akhir kamu pilih ‘configure the Mysql server now’ trus kamu pilih standard configuration aja trus centang semua pilihan yang ada disitu seperti ‘Install as windows service’ , ‘Launch The MySQL server automatically’ dan Include Bin directory In windows path’. Oia supaya MySQL kamu lebih secure kamu jangan centang pilihan ‘Create an anymous account’ coz dengan jika kamu centang all user bisa masuk ke MySQL kamu. Cukup pilih ‘modify security settings’ dan isikan password kamu. Access remote machine itu terserah kamu(tergantung kebutuhan) Klik next. Dan kemudian klik execute. Jika semuanya sukses maka di windows kamu sudah ada apache, php dan MySQL.
    Tambahan dikit
    jika kamu mau login ke MySQL kamu dengan settingan diatas, cukup panggil/ketikkan mysql –u root –p di command prompt kamu dan kamu akan dimintai password. Jika mysql belum kamu atur sebagai environment variable, kamu masuk ke path mysql kamu misalnya cd C:\Program Files\MySQL\MySQL Server 5.1\bin di command prompt kemudian lakukan hal yang sama sprti diatas. Kamu akan dimintai password root kamu. Tinggal masukkan aja passwordnya. Jika kamu mencentang ‘Create an anymous account’ pada configure MySQL maka cukup ketikkan mysql aja nda perlu options lain dibelakangnya. Tapi ini akan membuat orang lain dengan mudah mendapat akses root.

    Apakah cukup sampai disini??belum…
    Sekarang giliran kita konfigurasi php, apache dan MySQL biar bisa saling berhubungan.
    Yang pertama kita konfig dulu apache nya biar bias me-load module php 5 kamu. Buka directory tempat kamu nginstall apache(missal C:\Program Files\Apache Software Foundation) kemudian cari directory conf dan cari file ‘httpd.conf’. Nah inlah file konfigurasi untuk apache nya. Buka dg text editor kamu(misalnya notepad atau yg lainnya) dan cari baris dimana apache me-load module yang digunakan. Kalau tidak salah baris load module dimulai dari 67 sampai banyaknya module yang ada di apache(Note:: tidak semua module mesti di-load apache, semua tergantung kebutuhan tapi untuk konfigurasi pertama biarkan saja apa adanya). Jika udah dapat, di baris load-module itu tambahin directory tempat kamu nyimpan file ‘php5apache2_2.dll’. file ini adalah library dimana apache dapat dihubungkan dg php sesuai dengan versi apache dan php nya. Di file php yang kamu extract disitu ada file ‘php5apache2_2.dll’ tinggal kamu simpan pathnya dan tambahin di konfig apache
    Misalnya : LoadModule php5_module C:/php5/php5apache2_2.dll.

    Kemudian pada bagian ‘DefaultType text/plain’ kamu tambahin type file yang kamu load modulenya yaitu file dengan extension *.php alias file php kamu. Pada bagian ‘AddType’ tambahin aja ‘AddType application/x-httpd-php .php’ seperti gambar.

    Kemudian kopikan file php5ts.dll ke direktori C:\WINDOWS\system32\ . file php5ts.dll sudah ada sewaktu kamu mengextract php kamu.
    Nah setelah selesai kamu tinggal cari baris dimana kita mengkonfig document root. Document root adalah tempat dimana kamu meletakkan script php. Kalau tidak salah konfig document root dimulai dari baris 150.
    Ubah document root sesuai dengan yang kamu inginkan misalnya DocumentRoot "C:/websiteku"


    Jangan lupa jika kamu sudah mengubah path document root kamu jg mesti mengubah pada baris 178 seperti digambar


    Setelah itu untuk mengetes apakah apache dan phpnya telah terhubung letakkan file php di path document root kamu misalnya : phpinfo.php
    Tulis di file phpnya
    phpinfo();
    ?>




    Restart apache kamu Kemudian buka browser kamu dan ketikkan http://localhost/ dan jika kamu ada lihat file phpinfo.php kamu, tinggal klik aja file nya dan jika ada muncul info ttg php kamu maka kamu sukses menghubungkan apache dan php kamu.
    Oia jgn lupa copikan file php.ini-dist di direktori php kamu ke C:\WINDOWS\ dan ubah nama filenya menjadi php.ini . file ini akan mengatur behaviour dari php kamu. Di file ini kamu bisa mengatur behaviour dari php kamu seperti meng-on kan register global dan yang tidak kalah pentingnya mengatur(me-manage) extension dari php kamu.
    Manage extension dimulai dari baris 476 kamu bisa lihat banyak sekali keterangan disini yang bisa kamu baca. Yang tak kalah penting set path extension kamu ke tempat kamu meletakkan extension kamu. Cek path php kamu dan cari kumpulan file dengan extension *.dll dan awalan php_ itulah extension php kamu. Simpan pathnya dan tulis ke php.ini kamu(kira2 baris 476 yang ada tulisan ; Directory in which the loadable extensions (modules) reside.

    Dibawahnya kamu bisa set extension_dir misalnya menjadi "C:/php5\ext\" . ini contoh aja kamu bs sesuaikan dengan directory kamu. Pada bagian Dynamic Extensions kira kira baris 568 kamu bisa hidupkan(aktifkan) extension kamu caranya hapus tanda ; didepan nama file extension kamu(misalnya ; extension=php_mysql.dll menjadi extension=php_mysql.dll). Extension ini merupakan extension untuk MySQL kamu. Konfigurasi lain di file php.ini bisa disesuaikan dengan kebutuhn kamu.

    Mungkin byk yang nulis ttg konfigurasi apache 2 dan php 5. Tapi yang tidak kalah penting(menurut aku) yaitu sewaktu kita mencoba menghubungkan php dan MySQL nya.
    Yup kita sekarang akan coba mengkonfig php dan MySQL. Yang pertama kita mesti pastikan path untuk extension php kamu benar. Sebelumnya kita sudah mengkonfig extension_dir jadi sekarang tinggal mengaktifkan file php_mysql.dll kamu caranya hapus tanda ; didepan nama filenya. Diatas sudah kita bahas cara mengaktifkan file extension(contoh filenya juga untuk MySQL!!!heheh…). sekarang copy file libmysql.dll yang ada di direktori php kamu. File ini sudah include sewaktu kamu mendowload php. File ini merupakan library untuk windows supaya bisa terhubung ke MySQL. Copikan ke path C:\windows\system32\ . bagian ini kadang kadang terlupakan sewaktu kita mencoba menghubungkan php dan mysql. Tanpa file ini segala fungsi mysql diphp akan tidak dikenal akan muncul pesan error seperti kita membuat fungsi baru(bahasa kerennya user defined function) tapi path file kita atau fungsinya belum dideklarasikan kira kira seperti :


    Nah setelah file kita kopikan sekarang restart apache kamu dan buat file untuk mengetes koneksi ke MySQL kira kira contoh file nya bernama connect.php dan isi filenya
    $user_db = "root";
    $user_password = "very";
    $host = "127.0.0.1";
    $sambung = mysql_connect($host,$user_db,$user_password) or die('Invalid Query!!'.mysql_error());

    if($sambung)
    {
    echo("sukses menyambungkan mysql dan php");
    }
    ?>


    Sekarang panggil file yang kita buat untuk mengetes php dan mysql jika muncul pesan maka kamu sukses menghubungkan(misal kalau file contoh akan muncul pesan ‘sukses menyambungkan mysql dan php’) maka php kamu sukses terhubung ke MySQL.

    Tambahan dikit:
    Jika kamu sudah pernah mengkonfig php dan mysql menggunakan file libmysql.dll sebelumnya maka library libmysql.dll akan terload secara permanent di windows dan kamu tidak perlu mencopy file ini lagi. Tapi jika terjadi error maka copy aja lagi file ini. Biasanya MySQL 5 membutuhkan file libmysql.dll .
    Thanx ya udah mau baca tulisan ku yang cupu bgt,hehhe….. Mudah mudahan IT Indonesia berkembang pesat dan makin byk orang orang yang expert di bidang IT dan jgn lupa untuk terus mengasah kemampuan kita cOz itu dalam bgt,heheh…(hati hati loh kelelep…).
    Cayo Indonesia IT….

    Beberapa fungsi date/time di MySQL…

    Sorry sebelumnya kalau ada yang salah dalam penulisan artikel ini maklum baru newbie dalam membuat artikel..hehhee…. yup kita mulai aja yach!!!

    MySQL memang cocok banget waktu dipasangin dengan php apalagi sekarang fungsi didalam php untuk MySQL sudah built in. Entah mulai versi berapa yang pasti seh di php5 tidak memerlukan extensions lagi untuk MySQL. Saking cocoknya php dengan MySQL beberapa programmer php melupakan bahwa MySQL memiliki fungsi yang sudah built in yang memberikan kita kemudahan dalam melakukan beberapa pengolahan data. Yup…. data adalah hal yang paling penting dalam database. Tanpa data tidak akan ada informasi. Betul nda??huehuehe… Bahasanya nyantai aja yach… jangan yang terlalu formal. Bayangin kalau kita bisa menggunakan fungsi yang ada dalam MySQL tentunya kita bisa membuat distribusi pekerjaan antara database server dan webserver kita dan tentunya web yang kita buat juga semakin powerful…. Betul nda??? Yakin aja dech!!! Heheeh…….. penulis menyadari hal ini sewaktu melihat senior yang juga suhu penulis yang lagi nyusun skripsinya… makacih banget uda buka mataku tentang MySQL. Yup katanya makaci juga,heheheh……
    Hal yang paling krusial dan yang mau saya bahas adalah yang menyangkut masalah waktu… yup waktu… kenapa waktu karena kebanyakan beberapa table dibuat kolom untuk waktu dengan tipe data string(varchar). Kalau waktu tidak menjadi data masukan penting dalam pengolahan data, is ok lah!!! Tapi bagaimana jika waktu menjadi data masukan penting bagi pengolahan data… bisa repot kita kalau menggunakan tipe data varchar untuk kolom waktu…. Repot?? Yup repot jika kita mengandalkan php sebagai pemroses utama karena kita akan berhadapan dengan algoritma lagi untuk memprosesnya…. Padahal MySQL uda nyiapin fungsinya sendiri.
    Kalau mau nampilkan tanggal dalam php kita gunakan fungsi $waktu = date("d-m-Y H:i:s") dan akan tercipta waktu(misalnya) : 01-10-2007 21:30:20 dan setelah decompile oleh php data yang udah ada ini kita masukin ke MySQL misalnya dengan query INSERT INTO table(kolom1,kolom2,….) VALUES(‘$waktu’,…….) dan data telah dimasukkan ke MySQL dengan data waktu yang dibuat oleh php. Hmmm……. cara ini emang benar tapi gmn kalau data ini akan kita proses, misalnya kita ambil tanggalnya maka kita harus gunakan fungsi diphp misalnya kita ambil data di dalam table dan kita masukkan ke $waktu_proses maka kita akan gunain fungsi string substr ( string string, int start [, int length] ). Misalnya scriptnya menjadi : $tanggal = substr($waktu,0,2) dan akan tercipta output 01. Yup sekilas emang seh nda rumit, karena data yang diperlukan masih kecil bayangin kalau kita mau nampilin nama harinya… nah loh bingung kan!!!!
    Oke penulis punya suatu cara yang simple, kenapa simple??karena kita akan gabungin fungsi diphp dengan fungsi di MySQL. Yup prosesnya terpisah ada dua server yang mengerjakannya yaitu web server dan database server. Dan penulis yakin ini akan lebih cepat.
    Oke langsung aja yach…..
    Yang pertama yang perlu diperhatikan adalah settingan waktu antara webserver dan database server kita jika waktu webserver dan database server kita sesuai dengan (misalnya GMT+07) yang kita inginkan yach emang kondisinya paling ideal. Dan waktunya mesti sama, waktu webserver mesti sama dengan waktu database server kita… knpa?? Karena jika beda output yang kita inginkan akan miss atau meleset.. knp??karena output waktu antara database server dan web server akan beda sehingga nda konsisten. Nah loh diulang lagi!!!heheh……..
    Oke kita anggap aja kondisinya sudah ideal,webserver dan databaseserver memiliki zona waktu yang anda inginkan dan keduanya memiliki waktu yang sama.
    Kita lanjut ke bagian pemasukkan data. Hal yang paling penting di database yaitu pemilihan tipe data karena kita mau masukkin data dengan waktu yang lengkap yaitu dari tanggal sampai ke detiknya maka pilihan data yang tepat yaitu datetime. Yup datetime akan merekam waktu dengan lengkap dari tanggal sampai detik. Waktu yang direkam yaitu waktu di database server anda. Ok jika tipe data nya uda benar maka untuk kita harus memperhatikan format waktu yang digunakan dalam MySQL anda. Jika anda menggunakan PHPMYADMIN sebagai interface MySQL anda maka anda bisa melihat opsi • Show MySQL system variables dihalaaman utama PHPMYADMIN dan anda bisa melihat system variable dari MySQL anda mulai dari date format,datetime format,time format dll. Nah misalnya datetime format dari MySQL anda adalah %Y-%m-%d %H:%i:%s maka anda akan mendapat waktu,misalnya 2007-06-22 21:44:00. Sudah sampai disini, ada pertanyaan???hehehe…. yang sudah master jangan nanya dunx penulis masih cupu negh coding php nya….. udah sekarang kita lanjutin aja..
    Setelah tipe data uda genah maka kita akan lanjut ke memasukkan data ke MySQL nya. Jika diawal kita perlu banyak proses diphp mulai dari penggunaan fungsi date() dan formatnya dilanjutkan querynya lagi maka jika kita manfaatin fungsi built in di MySQL maka kita hanya butuh query. Yup query…. Kenapa query??karena didalam query kita bisa memasukkan fungsi MySQL. Misalnya kita akan memasukkan data waktu sekarang mulai dari tanggal sampai detik maka kita hanya perlu query INSERT INTO table(kolom1,kolom2,….) VALUES(now(),…….) yup hanya dengan query ini maka kita udah memasukkan data waktu mulai dari tahun sampai detik sesuai dengan format datetime MySQL anda. So easy and simple, yang anda butuhkan hanya query, anda tidak perlu fungsi tambahan di php seperti date() dan yang lainnya. Sekarang jika kita mau menampilkan data dari table, misalnya mau menampilkan tanggalnya, maka caranya juga gampang seperti tadi. Yah cuma butuh query, kita tidak perlu repot repot mengambil data dari table kemudian menampungnya di variable dan mengambil substring dari variable,,,kebanyakan tau!!! Yang kita butuhkan hanya query!!! Yup Cuma query!!! Nda percaya??? Penulis buktikan yach!!! Data yang uda kita masukin tadi, misalnya di nama tabelnya tabel1 dan nama kolomnya kolom1 maka kita hanya butuh query SELECT dayofmonth(kolom1) FROM tabel1. dan boom… data yang diberikan oleh MySQL sudah berupa tanggal dalam 1 bulan jika datanya 2007-06-22 21:44:00 maka MySQL akan memberikan data 22. mudah kan??? Kita nda perlu repot repot mengambil data dari table kemudian menampungnya di variable dan mengambil substring dari variable…. Dgn cara begini aplikasi kita akan semakin powerful…percaya kan??
    Ok beberapa fungsi date/time MySQL yang dapat anda gunakan seperti :
    1. dayofweek() fungsi ini akan mengembalikan nilai int yang merupakan hari dalam satu minggu.
    2. dayofmonth() fungsi ini akan mengembalikan nilai int yang merupakan hari dalam satu bulan.
    3. dayofyear() fungsi ini akan mengembalikan nilai int yang merupakan hari dalam satu tahu dengan range 1-366.

    Sekarang bagaimana jika kita mau nampilkan nama hari dari data 2007-06-22 21:44:00??? Kalau kita ngandalin php saja maka kita akan repot banget karena penelusuran saya di manual php di generate pada tanggal 03 00:56:38 2007 saya tidak mendapatkan fungsi built in nya dan jika kita ngandalain php saja maka kita akan direpotkan dengan algoritma yang harus kita buat untuk mendapatkannya. Yup, algoritma kita buat dan kita sudah meghabiskan waktu yang lumayan banyak, belum lagi pekerjaan lain yang menunggu kita. Pekerjaan lain seperti makan, minum, mandi, tidur, ngerjain tugas kuliah dan lain lain,heheh…. Nda kok canda!!!
    Uda ah candanya balik lagi ke masalah menampilkan nama hari… Melihat kerepotan yang akan ditimbulkan oleh masalah ini maka penulis menyarankan menggunakan fungsi yang sudah MySQL buat yaitu fungsi dayname() . Yup dayname(), dengan fungsi ini kita nda perlu repot repot buat algoritma yang panjang, kita hanya butuh query dengan fungsi dayname()… penulis contohin nih , misalnya di nama tabelnya tabel1 dan nama kolomnya kolom1 maka kita hanya butuh query SELECT dayname(kolom1) FROM tabel1 dan boommmm lagi…. Kita dapatin nama harinya… yup nama harinya dalam bahasa inggris(tau bhs inggris kan???heheh!!!) maka kita cukup direpotkan saja dengan konversi dari nama hari dalam bahasa inggris ke bahasa yang akan kita tampilkan(mau bhs jawa,bhs melayu,dan bhs lain).. yah tentunya code untuk konversinya ditulis dalam php dung….. mudah bukan??
    Oh iya satu tips lagi dari penulis… sewaktu semester 3 penulis dan teamnya mengerkjakan tugas suatu mt kuliah yang asyik bgt yaitu Rekayasa Perangkat Lunak(RPL) yang dosennya asyik bgt juga!!! Heheh…. Maaf nih pak ada dimasukin!!! Di sini kami buat modul untuk SI Hotel yaitu cek in dan cek out nya.. masalahnya kami kebingungan untuk menghitung banyak hari tamu menginap… setelah mencari (sampai tugas tu dikumpulin team kami belum berhasil juga nemukan caranya,hehehe….) dan akhirnya mendapatkannya penulis mendapatkan algoritma didalam ebook PHP 5 in Practice By Elliot White III, Jonathan Eisenhamer yang diterbitkan oleh Sams disini ditulis caranya yang panjang, mau lihat codenya?? Dibawah ni :
    Listing 3.1.1. Number of Days Between Two Dates
    // Set the default timezone to US/Eastern
    date_default_timezone_set('US/Eastern');

    // Will return the number of days between the two dates passed in
    function count_days($a, $b) {
    // First we need to break these dates into their constituent parts:
    $a_parts = getdate($a);
    $b_parts = getdate($b);

    // Now recreate these timestamps, based upon noon on each day
    // The specific time doesn't matter but it must be the same each day
    $a_new = mktime(12, 0, 0, $a_dt['mon'], $a_dt['mday'], $a_dt['year']);
    $b_new = mktime(12, 0, 0, $b_dt['mon'], $b_dt['mday'], $b_dt['year']);

    // Subtract these two numbers and divide by the number of seconds in a
    // day. Round the result since crossing over a daylight savings time
    // barrier will cause this time to be off by an hour or two.
    return round(abs($a_new - $b_new) / 86400);
    }

    // Prepare a few dates
    $date1 = strtotime('12/3/1973 8:13am');
    $date2 = strtotime('1/15/1974 10:15pm');
    $date3 = strtotime('2/14/2005 1:32pm');

    // Calculate the differences, they should be 43 & 11353
    echo "

    There are ", count_days($date1, $date2), " days.

    ";
    echo "

    There are ", count_days($date2, $date3), " days.

    ";
    ?>


    Banyakkan??? Nah setelah coba coba mengoprek MySQL penulis mendapatkan cara yang mudah yang memanfaatkan fungsi di MySQL. Fungsi yang digunakan yaitu dayofyear(). Kenapa fungsi ini??karena tanggal untuk 1 tahun akan terus bertambah dan tidak akan berulang dengan range 1-366 dan hal ini berarti kita cukup mengambil dayofyear() dari kolom cek in dan dayofyear() dari kolom cek out dan kalkulasikan tanggalnya dengan cara menguranginya….. mudah bukan??? Emang sich cara ini punya kelemahan. Kelemahannya jika tamu menginap di akhir tahun maka tanggal dalam tahun akan berulang kembali… tapi cara ini cukup mempermudah jika asumsi penginapan tidak berbeda dalam 1 tahun(kalau bhs kerennya cross year!!betul nda ya??pasti semua mikir penulis sok tahu!!!heheheh… maklum masih muda).


    Yup masih banyak fungsi date/time function di MySQL yang dapat digunakan… untuk lebih jelasnya lihat manual dari MySQL…
    Sekian dari penulis jika ada kekurangan dimaafin, jika ada saran, kritik atau sanggahan silahkan hubungi penulis di email vry_27@yahoo.co.id
    Very
    Wassalam….
    Sumber : MySQL/PHP Database Applications, Jay Greenspan and Brad Bulger Published by M&T Books
    Always expand your skill and beware of euphoria because it will kill you guys!!!

    Selasa, 15 April 2008

    huah..... ngantuk!!!

    today is hari selasa..
    bahasanya campur negh... hari ini aku ngerjain web pesanan izenca sebuah perusahaan produk kesehatan. Udah seminggu aku ngerjainnya,kerja tim. Ternyata kerja tim lebih enak daripada kerja sendirian. Kerjanya lebih cepat,akhirnya aku dapat keguanaan antara memisahkan konten dengan layer presentation,udah lama make tapi nda terasa benar kegunaannya. Sekarang aku merasa gunanya coz kerja tim,jadi dalam tim akan lebih cepat jika masing2 ngerjain tugasnya. Nah dengan teknik memisahkan antara konten dengan isinya maka masing2 anggota tim bisa fokus ke pengerjaan kontennya masing2...
    ni struktur direktorinya

    yah ternyata menggunakan direktori yang banyak dengan template lebih enak ketimbang coding satu halaman penuh