Pages

Stop Exploitasi Hutan Indonesia!

Selasa, 05 Maret 2013

Program Hello World dalam ColdFusion


 Program Hello World dalam ColdFusion

Saat seorang user meminta sebuah halaman ColdFusion page (biasanya file dengan extension .CFM) dari webserver, ColdFusion Server akan menjalankan halaman dan mengeluarkan halaman standard HTML ke webserver untuk dikembalikan ke browser user. Dalam kasus simpel dimana hanya ada HTML tags dan tidak ada CFML tags dalam halaman, tidak ada proses yang dilakukan, dan HTML hanya melewatinya tanpa diubah. Jadi jika anda ingin menulis program "Hello World" dalam ColdFusion, ini hanya melibatkan HTML saja:
<HTML><BODY>

  Hello World

</BODY></HTML>

HelloWorld.cfm
Jika ada CFML tags maka ColdFusion akan memprosesnya, mengkalkulasi variabel, pernyataan if, dan looping, untuk kemudian di buat HTML. Jika anda familiar dengan C, maka anda bisa bandingkan dengan C preprocessor for HTML!
Mari kita tambahkan beberapa ColdFusion code ke dalam contoh Hello World kita. Kita akan menanyakan nama si user dan kemudian menampilkan Hello [nama]. Dalam standard HTML web page, kita harus memasukkan nama user dalam halamam terpisah adri halaman yang akan memprosesnya. Hal ini dikarenakan setelah sebuah halam ditampilkan dalam browser, maka komunikasi antara browser dengan server akan berhenti, jadi agar server dapat melakukan proses dibutuhkan halaman kedua. (Catatan: Dapat juga dilakukan untuk menjalan code dalam browse, tetapi ini akan membutuhkan JavaScript atau client-side addons lainnya ke HTML, dimana kita tidak menginginkannya.)
Catatan: Kenyataannya webpage berdiri sendiri (terpisah dari server) dan ini menjadi satu dari banyak hal yang membingungkan dari penulisan aplikasi web. Kadang-kadang dijelaskan sebagai stateless dan setiap halaman tidak secara otomatis minyimpan dalam memori atau status dari halaman sebelumnya sampai kode anda secara jelas menyampaikan informasi yang ada. Bandingkan situasi ini dengan sebuah pemrograman tradisional dalam Basic atau C, dimana kita dapat secara mudah memindahkan variabel global atau parameter dalam program kita. 
Kita tambahkan sebuah halaman baru GetName.cfm untuk mengambil nama user dan mengubah halaman tampilan menjadi HelloWorld2.cfm, seperti di bawah ini. 
<HTML><BODY>

<FORM NAME="GetName" ACTION="HelloWorld2.cfm" METHOD="post">

<INPUT TYPE="TEXT" NAME="FirstName">

<INPUT TYPE="SUBMIT" VALUE="OK">

</FORM>

</BODY></HTML>
GetName.cfm


<HTML><BODY>

<CFOUTPUT>

Hello #FirstName#

</CFOUTPUT>

</BODY></HTML>


HelloWorld2.cfm
Halaman pertama GetName.cfm adalah sebuah HTML murni untuk tampilan input. Halaman kedua HelloWorld2.cfm mengandung dua perintah ColdFusion - <CFOUTPUT> tag untuk menyalakan output ColdFusion variable(yang akan berpasangan dengan </CFOUTPUT> tag untuk mematikannya). Dan tanda pagar (#) sebagai pemisah variabel FirstName yang disampaikan sebagai variabel form dari halaman GetName.cfm. Saat halaman dijalankan dan anda mengetikkan nama Michael ke halaman pertama, hasilnya kemudian dapat kita lihat "Hello Michael"  dan HTML berikut akan di generate:
<HTML><BODY>

Hello Michael

</BODY></HTML>
Mari kita lakukan latihan terakhir dari contoh ini, yang akan mengatakan Selamat Pagi, Siang atau Malam tergantung waktu yang berlaku di server. Kita akan menggunakan fungsi ColdFusion Now() dan Hour() yang akan mengembalikan tanggal/jam (date/time) dan jam akan berada diantara  0 dan 23 dari nilai tanggal/jam. 
<HTML><BODY>

<CFOUTPUT>

<CFIF Hour(Now())GT 18>

  Selamat Malam

<CFELSEIF Hour(Now())GT 12>

  Selamat Siang

<CFELSE>

  Selamat Pagi

</CFIF>

#FirstName#

</CFOUTPUT>

</BODY></HTML>


HelloWorld3.cfm
Disini juga digunakan <CFIF> <CFELSE> </CFIF> tags yang akan menampilkan hasil yang berbeda-beda tergantung dari jam hari tersebut - apapun kondisinya. Harap diperhatikan karena kita menggunakan HTML, carriage return dalam text tidak akan berpengaruh dan salam "Selamat Pagi Michael" akan muncul dalam satu baris. Jika diinginkan dalam dua baris, kita harus gunakan standar linebreak HTML tag <BR> sebelum variabel #FirstName#.
ColdFusion memiliki lebih dari seratus fungsi  Arrays, Date and Time, Decisions, Display and Formatting, Dynamic Evaluation, List Processing, Structures, International, Mathematics, Strings, System values and Query manipulation.  Juga ada sekitar 70 tags untuk Database Manipulation, Data Output, Variable Manipulation, Flow-Control, Internet Protocols, File Management, Web Application Framework, ColdFusion Forms, External System Tags. Sebagai tambahan kita dapat menulis sendiri tag baru dalam ColdFusion or C.