Recent Updates Page 2 RSS Hide threads | Tombol Pintas

  • yayakmpf 12:57 on 12 June 2008 Permalink | Balas

    Base64_Encode adalah salah satu fungsi enkripsi data yang tersedia pada PHP yang biasa dipakai oleh para programmer untuk meningkatkan pengamanan berbagai source code yang dibuatnya apalagi jika akan didistribusikan secara bebas.

    Nah, pada kesempatan ini saya bukan bermaksud mengajari para master, namun berbagi informasi saja terutama buat teman-teman yang mungkin dibikin bingung tujuh keliling gara-gara Base64_Encode yang bermunculan pada joomla.

    Pada beberapa komponen akan ditemukan
    eval(stripslashes(base64_decode(VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==)))
    Biasanya enskripsinya tersebut juga menyisipkan hal-hal yang kurang sip bagi pemakainya.

    Untuk menyelesaikannya coba kita lihat contoh ini:

    <?php
    $str=”This is an encoded string”;
    echo base64_encode($str);
    //hasil : VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==
    echo “
    “;
    //string dalam tanda petik adalah chipertext dari sting “VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==”
    $str = ‘VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==’;
    echo base64_decode(“$str”);
    //hasil : This is an encoded string
    ?>

    Coba gunakan cara berikut ini untuk memecahkan source code yang di enskripsi tersebut:
    <?php

    // Membuka filerahasia.txt
    $fp1 = fopen (“filerahasia.txt”, “r”);
    // Membaca isi content filerahasia.txt
    $contents = fread ($fp1, filesize (“filerahasia.txt”));
    // Menutup filerahasia.txt
    fclose($fp1);

    //Pada saat menemukan kalimat eval dan gzinflate di awal maka format
    while (preg_match(“/eval\(gzinflate/”,$contents)) {

    //Proses decode content di mulai

    $contents=preg_replace(“/<\?|\?>/”, “”, $contents);
    eval(preg_replace(“/eval/”, “\$contents=”, $contents));
    }

    // Membuka file hasil.txt
    $fp2 = fopen(“hasil.txt”,”w”);
    // Menulis content hasil decoding ke hasil.txt
    fwrite($fp2, trim($contents));
    // Tutup buku
    fclose($fp2);
    ?>

    Selamat mencoba, semoga sesuai harapan.

     
  • PHP 2 EXE ? Why NOT ? 

    yayakmpf 11:51 on 11 June 2008 Permalink | Balas

    PHP adalah bahasa programming yang mungkin diutak-atik tiap subuh oleh rekan2 webmaster. Sebenarnya inti tutorial ini bukan buat bahas PHP [lah terus..?], tp bahas yang namonyo Bamcompile yaitu freeware buat compile _script_ php jd EXE…[koq bisa...?] bamcompile itu kompiler PHP ke EXE lewat command prompt. executable file yang dihasilkan sepenuhnyah dijamin 100% standalone alias idak butuh library atau file lainnya. Selain itu bamcompile juga bisa membuat window khusus buat aplikasi PHP . Sebenernyah bamcompile ini ga seperti kompiler laen yang bisa buat native code tapi nyatanya juga bekerja

    Satu hal lagi yang menarik , bamcompile sudah dilengkapi dengan UPX tools [optional]. And, bamcompile hanya bisa 1 membuat program executable nyampe 500-600Kb aja [lumayan]. Bambalam ini diklaim sudah support dg PHP 4.4.4, tapi masih agak error dikit dgn PHP 5.

    Sebelum buat programnya, lebih baik mudeng dulu perintah-perintah yang ada di Bambalam. File project bambalam itu berekstensi *.bcp. Nah, di file projectnya itu ada perintah2 spt dibawah ini:

    mainfilemainfile.php ‘dengan mainfile.php sbg file yang bakan digunakan, namanya bebas
    outfileoutfile.exe ‘outfile.exe sebagai nama program outputnya yg pasti
    iconicon.ico ‘icon.ico sebagai ikon programnya.
    Compress ‘kompres program outputnya dengan UPX (ngga ada juga boleh…)
    donencode ‘maksudnya jangan encode file PHPnya
    windowed ‘pake perintah ini biar program kamu diberi window form.
    _embed_ddirectory/file.php ‘_embed_d-tin suatu file.php kedalam program.
    _embed_dwhole_directory ‘_embed_d-tin semua directory yang ada.
    _embed_ddirectory/*.* ‘_embed_d-tin file *.* apa aja ke dalam program.
    destinationdestination_path ‘tujuan kemana file dibuat, dg destination_path sebagai pathnya.
    extensionpath_to_extension ‘make ekstensi PHP yang dipunya, dg path_to_extension jd pathnya

    nah, perintah itu ketik aja dengan teks editor [notepad,dll]. Pada dasarnya perintah yang dibutuhkan tergantung dari project kamu, mau dikompress atau tidak, di beri window atau tidak , terserah.

    LETS MAKE IT

    Sekarang saatnya membuatnya. ekstrak bambalam.zip-nya, Terus buat folder dengan nama calculate (misalnya….) di dalam direktori bambalam berada. Nah didalam folder ini kalian taruh semua file yang dibutuhkzn, termasuk file projectnya.

    STEP 1

    Buat file projectnya, Source codenya spt ini. [jangan tulis yang warna hijau, itu cuma penjelasan] Tulis pakai Notepad terus simpan dengan nama calculate.bcp.

    ——————copy here——————————————————
    ; My Project CALCUTALOR ‘komentar kamu, bisa aja namanya
    mainfile calculate.php ‘tentuin file php utamanya
    outfile calculate.exe ‘tentuin file outputnya
    compress ‘hasilnya ntar dikompress
    windowed ‘dikasih window biar bagus
    icon calculatehal.ico ‘pake ikon juga, namanya hal.ico
    _embed_ calculate ‘masukin folder calculate diprogram
    extension calculatephp_winbinder.dll ‘pake ekstension khusus, php_winbinder.dll
    —————–end here——————————————————–

    biar ga usah ribet nantinya, buat juga file Batchnya. Pake notepad, simpen dengan nama apa aja asal ekstensinya *.bat. Isinya kayak gini:
    —————copy here———————————————————
    ….bamcompile calculate.bcp
    pause
    ————–end here———————————————————–

    Selanjutnya ekstrak file calculate.zip yang kamu punya ke folder project kamu. Di folder calculate ini ada file PHP yang dikompilasi, berikut ikon, resource, ekstensi (*.dll) sampai file include yang dibutuhin.

    STEP 2

    Sekarang kalian udah punya folder proyek, namanya calculate. Didalamnya ada folder calculate (hasil ekstrak calculate.zip) dan 2 file, calculate.bcp (file project) and file batch, berarti syarat-syaratnya udah lengkap. Tinggal compile deh. Jalanin file batch-kamu itu (double-click aja…). Beng-beng-beng….wow, muncul deh jendela DOS. Bambalam Compiler beraksi !.

    Tekan tombol apa saja, and JRENG….program dari _script_ php jadi EXE…[wak..ka..kak]
    Coba jalanin file Calculate.exe yang ada di folder proyek kamu (calculate).

    Buat download softwarenya disini :

    Download BAMBALAM

    Disadur dari http://indohacking.web.id/index.php?/content/view/12/1/

     
  • Kecerobohan IT Support yang Bisa Membahayakan Jaringan 

    yayakmpf 09:25 on 20 May 2008 Permalink | Balas

    Salah satu hal yang paling dikeluhkan support adalah kecerobohan yang dilakukan user. Namun sejujurnya, kita harus mengakui bukan pemula komputer saja yang mlakukannya. Seorang IT Support pun juga bisa melakukan kecerobohan. IT juga Manusia :D

    Gunakan log pada waktu menangani suatu masalah.
    Jika ada musibah yang menghancurkan komputer atau operating system gagal, dan Anda harus mulai lagi lagi awal. Situasinya bahkan tidak harus sedrastis itu; bagaimana jika Anda hanya melakukan perubahan baru yang tidak bekerja sesuai harapan, dan Anda tidak begitu ingat setting yang lama? Membuat dokumentasi memang membutuhkan waktu, tetapi sama seperti backup, itu patut dilakukan.

    Tidak Menyediakan Tempat untuk Log
    Salah satu cara untuk menghemat ruang harddisk adalah dengan tidak meng-enable log atau mengeset ukuran file log sekecil mungkin. Masalahnya adalah ruang harddisk relatif murah, dan berjam-jam menarik rambut pada waktu Anda menangani suatu masalah tanpa log, yang membantu Anda untuk mengetahui apa yang terjadi bisa jadi mahal, dalam hal uang dan frustasi. Beberapa aplikasi tidak meng-enable log mereka secara otomatis. Namun jika Anda ingin terhindar dari penderitaan pada waktu terjadi suatu masalah, lakukan filosofi “semua yang bisa di-log, harus di-log”.

    Tidak Meluangkan Waktu untuk Menginstalasi Update Penting
    Sindrom “Itu tidak akan pernah terjadi ke saya”, telah menjadi kejatuhan banyak jaringan. Ya, update dan patch kadang melumpuhkan aplikasi penting, menyebabkan masalah konektivitas, atau bahkan membuat operating system menjadi crash. Anda harus mengetes update secara menyeluruh, sebelum mengimplementasikan mereka untuk mencegah hal tersebut. Namun, Anda harus melakukannya sesegera mungkin, dan instalasi upadate begitu Anda anggap aman. Ingat bahwa Nimda dan virus besar lainnya atau worm telah membuat kerusakan sistem yang sulit diperkirakan, meskipun patch untuk mereka telah dirilis.

    Menghemat Waktu dan Uang dengan Tidak Melakukan Upgrade
    Meng-upgrade operating system dan aplikasi yang sangat kritikal bisa menghabiskan waktu dan mahal. Namun tidak melakukan upgrade untuk waktu yang lama bisa memberatkan beban Anda, terutama dalam hal sekuriti. Ada dua alasan untuk itu:

    Pertama, software baru biasanya mempunyai mekanisme sekuriti yang lebih banyak. Sekarang ini, fokus untuk menulis kode yang aman jauh lebih besar disbanding tahun-tahun dulu. Kedua, vendor biasanya menghentikan support untuk software lama setelah beberapa waktu. Itu berarti mereka tidak lagi merilis patch sekuriti untuk software tersebut. Jadi, jika Anda menjalankan software lama, Anda tidak terlindung dari ancaman-ancaman baru. Jika meng-upgrade semua sistem di organisasi Anda tidak memungkinkan, lakukan upgrade secara bertahap, dengan terlebih dulu memilih bagian yang paling rentan.

    Mengelola Password Secara Ceroboh
    Meskipun otentikasi multifaktor (smart card, biometric) semakin populer, sebagian besar organisasi masih bergantung pada user name dan password untuk masuk ke jaringan. Kebijakan password yang lemah dan pengelolaan password yang ceroboh, menciptakan link yang lemah sehingga memungkinkan penyerang untuk menyusup ke sistem Anda, tanpa perlu kemampuan teknis yang tinggi. _Beberapa manajer IT mempunyai gaya menajeman yang hebat dan beberapa ada yang kurang. Para manajer juga cukup sering melakukan kesalahan.

    Fokus pada Teknologi dan Bukan pada Bisnis
    Manajer TI biasa datang dari latar belakang teknis, baik infrastruktur atau pngembangan. Berdasarkan akar teknis,mereka cenderung memfokuskan diri ke bidang keahlian mereka sementara pada kenyataannya mereka harus mencari cara untuk men-support, menjalankan, dan meningkatkan bisnis. Untuk menjadi sukses, manajer TI harus menjadi pemimpin bisnis, dan mengubah fokus dan keahlian mereka ke isu dan masalah bisnis dulu.

    Berpikir “jauh di mata, jauh di hati”
    Penting untuk diingat bahwa dalam TI, tidak ada berita bukanlah berita baik. Manajer TI cenderung terus melangkah tanpa melihat kemajuan mereka. Pekerjaan paling besar adalah penilaian. Ada beberapa cara untuk melakukannya. Anda bisa melakukan analisis SWOT (Strengths, Weaknesses, Opportunities, dan Threats), atau Anda bisa melakukan penilaian TI secara formal. Anda bahkan bias menggunakan sistem scorecard untuk melihat di mana diri Anda.

    Berpikir Bahwa Tim Anda Telah Mengatasinya
    Pada acara TV “The Apprentice”, banyak tim yang berakhir karena si pemimpin mendelegasikan pekerjaan, tetapi tidak terus mengikuti untuk memastikan pekerjaan dilakukan dengan benar. Sudah menjadi tugas pemimpin untuk memastikan bahwa pekerjaan dilakukan dengan benar.

    Tidak Menginspeksi Apa yang Diharapkan
    Kesalahan ini bersumber dari kesalahan nomor 3, tetapi bias dibawa terus ke dalam aspek TI yang lain. Sebagai contoh, Anda mengharapkan performa yang baik dari server, tetapi tidak punya sistem untuk memastikan mereka bekerja pada kemampuan penuh. Pada akhirnya ini akan menuju ke perencanaan yang buruk, anggaran, karyawaan, dan seterusnya. Untuk menghindari hal tersebut, buat daftar lengkap ekspektasi untuk seluruh bagian Anda. Ini bisa meliputi proyek kritikal, performa jaringan dan server, kepuasan client, dan seterusnya. Cek lagi daftar tersebut untuk memastikan Anda telah menginspeksi semua ekspektasi. Buat checklist atau buat daftar disiplin harian untuk melihat semua yang perlu diinspeksi tiap hari.

    Tidak Membuat Perkongsian dengan Manajemen
    Banyak manajer TI yang melapor ke bagian operasional dan keuangan, daripada ke direktur. Satu-satunya cara supaya TI menjadi efektif dan elemen bisnis yang strategis adalah melalui perkongsian dengan para eksekutif. Anda harus membuat laporan, pengamatan, dan kepemimpinan Anda mempunyai Password harus panjang dan kompleks (atau lebih baik lagi, suatu kalimat), meminta user untuk mengganti mereka secara rutin, dan jangan perbolehkan penggunaan password yang sama secara berulang-ulang. Implementasikan kebijakan password melalui group policy Windows atau produk pihak ketiga. Pastikan bahwa user tahu pentingnya merahasiakan password, dan beritahu cara-cara yang mungkin dilakukan oleh orang lain untuk mengetahui password mereka. Jika memungkinkan, implementasi metode otentikasi kedua, selain password atau PIN.

    Ingin Selalu Menyenangkan Semua User
    Administrator jaringan bukanlah pekerjaan untuk seseorang yang harus disukai oleh semua orang. Anda seringkali akan membuat dan mengimplementasikan yang tidak disukai oleh user. Tahan keinginan untuk membuat pengecualian (“oke, kita akan mengonfi gurasi fi rewall supaya Anda bisa menggunakan instant messaging, karena Anda memintanya dengan sopan.”) Sudah menjadi tugas Anda untuk melihat bahwa user mempunyai akses yang dibutuhkan untuk melakukan pekerjaan mereka, dan tidak lebih.

    Ingin Selalu Mempersulit User
    Sama seperti pentingnya untuk bersikap tegas pada waktu sekuriti atau integritas jaringan dipertaruhkan, penting juga untuk mende ngar manajemen dan user Anda. Cari tahu apa yang mereka butuhkan untuk melakukan pekerjaan mereka, dan permudah mereka sebisa mungkin tetap di dalam batas tugas Anda (jaringan yang aman dan andal). Jangan sampai lupa alasan awal mengapa jaringan itu ada: supaya user bisa berbagi fi le dan perangkat, mengirim dan menerima email, mengakses Internet, dan seterusnya. Jika Anda mempersulit hal tersebut, mereka akan mencari cara untuk melewati prosedur sekuriti Anda, yang mungkin akan mendatangkan ancaman yang lebih buruk.

    Membuat Diri Anda Tidak Tergantikan dengan Tidak Melatih Orang Lain untuk Melakukan Pekerjaan Anda
    Ini merupakan kesalahan yang sering dilakukan di dunia bisnis, tidak hanya di TI. Anda pikir jika hanya Anda yang tahu bagaimana konfi gurasi mail server atau di mana semua switch berada, maka pekerjaan Anda akan aman. Ini juga yang menjadi alasan lain mengapa beberapa administrator tidak mendokumentasikan konfi gurasi jaringan dan perubahannya. Fakta yang menyedihkan adalah: tidak ada yang tidak tergantikan. Jika Anda mengalami kecelakaan keesokan harinya, perusahaan akan tetap berjalan. Sifat Anda yang merahasiakan segalanya akan membuat sesuatunya menjadi jauh lebih sulit bagi penerus Anda, tetapi pada akhirnya ia akan tahu. Sementara itu, dengan tidak melatih orang lain untuk melakukan pekerjaan Anda, bisa berarti Anda mengunci diri sendiri ke dalam posisi tersebut sehingga sulit untuk mendapatkan promosi, atau bahkan liburan._

    Terus Menguras Tenaga
    Banyak manajer IT yang tidak berlibur dalam setahun atau lebih dan secara rutin bekerja lebih dari 70 jam seminggu. Ini bukan hanya kesalahan, tetapi juga resep bencana. Kadang kita berpikir bisnis tidak akan berjalan tanpa kita. Yang sebenarnya adalah bisnis tidak bisa berjalan, jika kita terus memaksakan diri. Itu hanya mendorong turunnya produktivitas, dan pada akhirnya, Anda menyerah atau tidak puas. Tolonglah diri Anda, bisnis Anda, karyawan Anda, dan keluarga Anda, dan berliburlah.

    Tidak Mengetes Backup
    Salah satu aspek pekerjaan yang paling penting adalah memastikan backup yang andal. Kegagalan pada hardware tidak tidak dielakkan. Meskipun ada fault tolerance, tetapi itu juga bias gagal. Jangan pernah sedikit pun menganggap bahwa jika Anda punya tape dan jika semuanya terlihat oke di sistem Anda, maka semuanya oke. Anda harus mengetes backup secara reguler. Lakukan tes kerusakan, dan pastikan Anda bisa memulihkannya.

    Tidak Meminta Bantuan
    Manajer dan support yang mencoba mengatasi masalah sendiri tanpa memberitahu orang lain atau bahkan membaca manual, bisa berakibat fatal. Jika terlalu sulit, mintalah bantuan. Kunci manajemen TI yang sukses adalah bukan mengetahui jawaban yang benar; tapi bisa mencarinya dan menjalankan solusi secepat dan seefi sien mungkin. Jangan ragu untuk mendatangkan para ahli jika dibutuhkan.

    Tidak Meluangkan Waktu untuk Pengembangan Diri
    Tidak ada alasan untuk kesalahan ini. Pengembangan diri bukanlah tanggung jawab perusahaan, tapi Anda. Setiap manajer TI hendaknya meluangkan waktu paling sedikit 30 menit untuk pengembangan diri. Yang sering menjadi alas an adalah kurangnya waktu atau uang. Jawabannya ada di berhasil tidaknya pengaturan uang dan waktu.

    Tidak Mencari Penasihat Atau Pelatih
    Cara paling cepat untuk berhasil adalah dengan mencari seseorang yang ada di situ, dan kemudian meniru orang tersebut. Jalan paling cepat ke penderitaan, kerja keras, dan kegagalan adalah dengan berjalan sendiri. Apakah Anda di manajemen atau bukan, Anda harus selalu punya penasihat atau pelatih, dan Anda harus menasihati atau melatih orang lain. Seorang pelatih akan membantu Anda untuk mendapatkan lebih dengan menanamkan kebijaksanaan, tanggung jawab, dan nasihat penting pada waktu dibutuhkan. Dengan melatih atau menasihati orang lain, Anda tidak hanya melakukan hal yang sama, tetapi juga memantapkan konsep Anda dengan mengajarinya ke orang lain.

    Disadur dari http://www.pcmedia.co.id

     
  • Sekilas tentang RSS 

    yayakmpf 09:04 on 20 May 2008 Permalink | Balas

    RSS, atau lazim dikenal dengan Rich Site Summary ( kemudian disebut juga Really Simple Syndication), sebenarnya merupakan sebuah format berbasis XML yang digunakan untuk mendistribusikan content dan informasi dari sebuah website blog, berita, atau bahkan postcast (fi le media yang khusus didistribusikan via web). Apakah kegunaan RSS?Bayangkan anda memiliki beberapa website favorit yang menyediakan informasi khusus, misalnya mengenai resep masakan, kesehatan, olah raga, cerita, foto, dan lain sebagainya. Tanpa RSS, jika Anda ingin mendapatkan berita terbaru, Anda harus pergi ke masing-masing website tersebut untuk melihat apakah terdapat informasi terkini. Dapat dibayangkan jika setiap hari Anda harus mengunjungi website-website tersebut, yang mungkin juga jumlahnya setiap hari semakin banyak, seiring dengan kegia tan Anda surfi ng, dan menemukan websitewebsite baru yang menarik. Apalagi, saat Anda mengunjungi sebuah website dan ternyata Anda harus kecewa, karena berita pada website tersebut masih seperti yang Anda lihat terakhir kali atau belum di-update. RSS mengatasi permasalahan di atas, karena informasi-informasi tersebut yang akan datang kepada Anda, dapat Anda lihat melalui aplikasi dekstop yang khusus disediakan untuk keperluan tersebut (disebut dengan aplikasi RSS Feed Reader), atau RSS Feed Reader berbasis web, seperti Google Reader. Tentunya dari sisi developer website, harus menyediakan fi tur RSS dan meng-update berita terbaru pada website-nya, sehingga RSS Feed Reader dapat menampilkan perubahan content pada pengguna. Dalam hal ini, mungkin Anda melihat kemiripannya dengan newsletter yang dikirimkan melalui e-mail. Walaupun demikian, terdapat perbedaan nyata. Jika newsletter mengharuskan Anda untuk melakukan subscribe dan memasukkan alamat e-mail Anda, RSS tidak memerlukannya.

    RSS Feed Reader

    Anda yang ingin mendapatkan update berita dari website yang memiliki fi tur RSS, memerlukan suatu aplikasi untuk menampung content tersebut. Aplikasi ini dinamakan RSS Feed Reader atau disebut juga News Aggregator. Seperti telah disinggung sedikit di atas, RSS Feed Reader mengizinkan Anda untuk mengambil RSS feed dari berbagai website, dan menampilkannya untuk Anda baca, tanpa Anda perlu mengunjungi websitewebsite tersebut. Aplikasi RSS Feed Reader terbagi atas dua jenis, yaitu aplikasi desktop dan aplikasi web. Untuk aplikasi desktop, Anda harus men-download dan menginstalnya di dalam komputer Anda, sedangkan untuk aplikas web, Anda perlu mengunjungi situs yang menyediakan fasilitas RSS Feed Reader. Aplikasi desktop RSS Feed Reader yang tersedia sangat beragam, dikarenakan platform client yang mungkin berbeda-beda. Aplikasi desktop RSS Feed Reader pun tersedia dengan berbagai platform. Misalnya AmphetaDesk (http://www.disobey.com/amphetadesk) yang menyediakan AmphetaDesk untuk platform Windows, Mac, dan Linux. NewsGator dari http://www.newsgator.com bahkan menyediakan memampuan RSS Feed Reader yang terintegrasi dengan Outlook.

    RSS – Really Simple Syndication

    RSS pada artikel ini bukan merupakan singkatan dari Rumah Sangat Sederhana. Di dunia Internet, RSS dikenal sebagai sebuah teknologi yang dapat membuat Anda betah di “rumah”, dalam artian tidak selalu harus berselancar untuk mendapatkan informasi-informasi terbaru.

    FeedReader, aplikasi desktop RSS Feed Reader.

    (Resource Description Framework) standar, sebuah model metadata dengan variasi format dan sintaks. Pada pengembangan selanjutnya, RSS dikenal dengan sebagai Rich Site Summary, dan akhirnya sejak RSS 2.0, RSS dikenal dengan Really Simple Syndication. Format RSS saat ini berkiblat pada skema XML yang juga digunakan oleh teknologi lain, seperti Ajax. Seperti juga teknologi-teknologi lainnya, RSS terus berkembang dan mulai diarahkan juga untuk mendukung aplikasi peer-to-peer (P2P), sehingga mengizinkan aplikasi client men-download fi le secara otomatis pada saat RSS Feed Reader mendeteksi content baru. Setidaknya hal ini telah dimulai oleh aplikasi P2P BitTorrent. Bagaimana RSS Feed dibuat agar dapat dibaca dan ditampilkan RSS Feed Reader? Dalam hal ini Anda perlu memahami XML, juga terdapat perbedaan format antara versi-versi RSS. Untuk itu, Anda perlu memperhatikan header dan elemen RSS Feed yang digunakan pada masing-masing versi RSS. Wala pun demikian, semua RSS Feed harus mengikuti standar XML v1. Bagi Anda yang belum mengenal XML, XML atau Extensible Mark-up Language merupakan suatu spesifi kasi format yang dikembangkan oleh W3C, yang memang dikhususkan untuk keperluan dokumen web.

    XML menggunakan tag untuk menjelaskan content-nya, hal ini mirip dengan HTML (misalnya tag table, form, dan sebagainya pada HTML). Perbedaannya adalah pada XML Anda dapat membuat tag dengan nama yang Anda inginkan. Untuk memberi sedikit contoh dokumen XML yang membentuk RSS Feed, perhatikan kode berikut:

    http://localhost/news/con toh1.php

    Deskripsi berita Tue, 22 May 2007 07:15:12

    GMT http://localhost/news/test. html#item03

    Perhatikan bahwa kode XML di atas memiliki beberapa elemen/tag yang membentuk suatu data. Contohnya merupakan tag pembuka, dan ditutup dengan , di dalam tag tersebut dituliskan data lokasi berita yang dimaksud. Anda dapat juga menganalogikan dokumen XML dengan database, karena pada prinsipnya memang dokumen XML membentuk database (dengan tipe fi le teks) yang memiliki kolom dan baris. Kolom dalam hal ini adalah title, link, description, dan seterusnya. Dokumen XML di atas juga merepresentasikan satu baris/record data. Jika Anda ingin membuat data kedua, Anda dapat menuliskan dibawahnya dengan struktur yang sama, demikian seterusnya. Keunggulan dan kemudahan dari desain XML seperti contoh di atas adalah:

    1. Menghasilkan data yang langsung dan jelas.

    2. Dapat digunakan oleh Internet.

    3. Mendukung penggunaan yang luas dari berbagai aplikasi.

    4. Memudahkan pembuatan program yang membaca atau memroses dokumen XML.

    5. Dokumen XML dapat disiapkan dengan cepat dan mudah. Dengan keunggulan dan kemudahan tersebut,

    RSS dengan XML-based dapat dipergunakan pada berbagai kebutuhan. Selain membuatnya secara manual dengan text editor, Anda dapat juga menggunakan software dan tools yang tersedia di Internet untuk menciptakan RSS Feed. Contohnya adalah FeedForAll (http://www.feedforall. com), atau online tool seperti GoArticles, BlogStreet, Blog Harbor, dan lain-lain. Anda juga dapat menggunakan aplikasi web RSS Feed Reader. Beberapa penyedianya adalah My Yahoo (http://my.yahoo. com), Bloglines (http://www.bloglines.com), dan Google Reader (http://www.google. com/reader). Ambil contoh Google Reader. Jika Anda telah memiliki account e-mail Gmail, Anda dapat menggunakan username yang sama untuk mengakses Google Reader. Jangan lupa untuk mengaktifkan JavaScript enabled pada web browser yang Anda gunakan, agar fungsi-fungsi Google Reader berjalan. Baik aplikasi RSS Feed Reader berbasis web maupun desktop, harus memasukkan link sumber (link feed) pada aplikasi, agar content baru pada website bersangkutan dapat terbaca. Anda dapat memasukkan link feed secara manual, atau memasukkannya dari website yang bersangkutan. Umumnya website yang mendukung RSS, akan memiliki icon (umumnya bertuliskan RSS atau XML) yang dapat Anda klik, untuk kemudian memberikan pilihan untuk memasukkan link feed pada aplikasi RSS Feed Reader yang tersedia, Anda dapat memilih sesuai dengan aplikasi RSS Feed Reader yang Anda gunakan.

    RSS Feed dan XML

    Dari sisi developer website yang menyediakan fi tur RSS, Anda harus mengetahui secara lebih teknik mengenai RSS ini. Pada perjalanannya dari awal hingga saat ini, RSS memiliki berbagai versi, dimulai dari RSS 0.90 yang dibuat oleh Netscape. Pada saat itu, RSS dikenal sebagai RDF Site Summary. Penamaan ini berkaitan dengan ide draft pembuatannya yang menggunakan RDF

    Google Reader, aplikasi web RSS Feed Reader.

    Fungsi utama RSS adalah sebagai distribusi berita dan informasi, tetapi informasi seperti apa yang dapat diaplikasikan RSS? Banyak sekali ragam informasinya, yang tentunya akan menjadi nilai tambah bagi website Anda, jika fi tur RSS ini dapat menambah kenyamanan pengguna. Beberapa contoh penggunaan dan implementasi RSS adalah sebagai berikut:

    1. Headline Berita.

    Salah satu hal yang berbeda setiap hari adalah berita. Salah satu alternatif penyebaran berita dengan cepat hingga terbaca oleh Anda adalah melalui RSS.

    2. Lowongan Pekerjaan.

    Tidak dapat disangkal bahwa Internet merupakan salah satu sumber informasi bagi para pencari kerja, demikian juga sebaliknya. Perusahaan-perusahaan yang menyediakan lowongan kerja, mempercayakan Internet sebagai wadah untuk mencari kandidat-kandidat yang terbaik. Fitur RSS sangat membantu proses ini dengan mendistribusikan informasi mengenai lowongan pekerjaan pada pengguna.

    3. Jual Beli Barang.

    Menyerupai lowongan pekerjaan di mana terdapat supply dan demand dari dua pihak, jual beli barang di Internet juga melibatkan produsen dan konsumen yang saling membutuhkan. Tentunya menyenangkan bagi Anda, jika sebuah website menyediakan RSS sehingga Anda akan selalu mengetahui barang terbaru yang tersedia melalui RSS Feed Reader Anda.

    4. Jadwal Transportasi.

    Jasa transportasi merupakan salah satu jasa yang penting, dan tidak diragukan lagi sarana transportasi seperti kereta api, pesawat terbang, bis, dan lain-lain, sangat dibutuhkan masyarakat kota. Berita mengenai jadwal, delay, dan pengumuman lain yang dapat diedarkan melalui RSS akan menambah kredibilitas website penyedia informasi tersebut, ketepatan dan kecepatan update tentunya menjadi lebih urgent pada sisi ini.

    5. Pendidikan.

    Dunia pendidikan juga tidak lepas dari informasi, seperti pengumuman jadwal kuliah, libur, ujian, dan lain sebagainya.

    6. Hiburan.

    Salah satu bidang yang luas dan memberikan banyak kemungkinan untuk mengembangkan fi tur RSS untuk mendistribusikan berita hiburan. Berita dapat mengenai program televisi, fi lm, musik, permainan, atau suatu event. Masih banyak lagi contoh di mana Anda dapat menerapkan RSS pada website Anda.

    Atom

    RSS telah berkembang cukup pesat dan menandai kelahiran Atom, yaitu sebuah spesifi kasi syndication yang baru. Walaupun menimbulkan pro dan kontra dan perbandingan dengan RSS, bagaimanapun juga teknologi Atom ini hadir dengan tujuan memperbaiki kekurangan RSS. Kontra timbul karena Atom menggunakan spesifi kasi yang berbeda dengan RSS. Atom menggunakan sebuah format syndication yang juga XML-based, yang digunakan untuk web feed, dan Atom Publishing Protocol (APP) sebagai sebuah protokol HTTP-based untuk menciptakan dan meng-update website. Dengan perbedaan penggunaan dan masing-masing keunggulannya, baik RSS maupun Atom kini memiliki komunitasnya tersendiri.

    Website dengan RSS

    Dari sisi Anda sebagai pengguna, sekali lagi requirement yang dibutuhkan hanyalah sebuah RSS Feed Reader/News Aggregator, dan link URL dari RSS Feed yang bersangkutan. Sekali Anda memasukkan URL tersebut, maka RSS Feed Reader akan mengambil alih pekerjaan, dan selalu meng-update content dari link. Setelah Anda menentukan RSS Feed Reader favorit Anda, baik berupa aplikasi desktop atau aplikasi web, selanjutnya Anda tinggal mencari link atau RSS Feed yang ingin Anda masukkan. Proses memasukkan link ini umumnya disediakan secara otomatis oleh website yang memiliki fi tur RSS. Saat berselancar di dunia maya, Anda dapat memperhatikan apakah website favorit Anda menyediakan link RSS Feed. Hal ini dapat dengan mudah diketahui, karena umumnya website yang menyediakan RSS Feed menggunakan logo grafi k yang jelas untuk menandakan fi tur RSS. Logo tersebut umumnya bertuliskan RSS, XML, atau sebuah gambar gelombang radio. Anda akan merasakan kegunaannya, khususnya setelah Anda cukup banyak mendapatkan RSS Feed dari website-website tersebut, sehingga setiap hari Anda hanya perlu memantau RSS Feed Reader Anda untuk mengetahui informasi terbaru. Tidak seperti website yang pengunjungnya dapat di-tracking dengan mudah (misalnya dengan web counter yang menghasilkan jumlah pengunjung), RSS Feed memerlukan cara yang berbeda jika Anda ingin mengidentifi kasikan atau melakukan tracking terhadap pengguna. Salah satu cara tracking RSS adalah dengan menggunakan sebuah gambar transparan di dalam content, di mana gambar tersebut terhubung dengan server. Jumlah permintaan dapat diketahui dengan melihat log fi le pada web server. Selain itu, juga terdapat software pihak ketiga yang dapat memonitor request RSS Feed Anda. Data analisis disimpan dan disediakan oleh penyedia jasa tersebut. Apakah teknologi RSS ini suatu saat akan dapat menggantikan penggunaan email sebagai metode pengiriman content, mulai menjadi pembicaraan di kalangan profesional. Bagaimanapun, sejauh yang ditawarkan adalah kemudahan dan kenyamanan, metode apapun akan menjadi pilihan pengguna, dan RSS kini hadir sebagai salah satu alternatifnya._

    Logo sebagai indikasi RSS.

    _ http://www.rss pecifi cations.com/

    _ http://www.whatisrss.com/

    _ http://en.wikipedia.org/wiki/RSS_ (fi le_format)

    Disadur dari http://www.pcmedia.co.id

     
    • Koors 21:40 on 3 Juni 2008 Permalink | Balas

      wuih..
      oke banget om postinganye..
      boleh ditaro ditempat ane kaga? (kalo untuk link penulis sih pasti ditulis om).

      salam kenal om!

    • yayakmpf 14:52 on 10 Juni 2008 Permalink | Balas

      silahkan..
      salam knal jg

    • lambang 22:34 on 2 November 2008 Permalink | Balas

      goood………… goood………….. goood

  • Apakah AJAX itu ? 

    yayakmpf 08:57 on 20 May 2008 Permalink | Balas

    Bagi Anda yang sering berselancar pada dunia maya dan terbiasa mengakses berbagai website, tentunya dapat menjelaskan “keterbatasan” sebuah website yang sering ditemui, dibandingkan dengan aplikasi desktop. Sebagai contoh, jika Anda pernah melakukan chatting via web yang menggunakan refresh/reload halaman pada interval waktu tertentu, maka akan terlihat keseluruhan halaman tersebut memanggil ulang data setiap kali melakukan refresh. Refresh halaman web secara keseluruhan, tentu akan menyebabkan fl icker yang sedikit mengusik mata pengguna. Contoh lain, jika Anda sedang menunggununggu sebuah berita hangat pada sebuah website, Anda mungkin dengan tidak sabar melakukan “update berita” secara manual, dengan menekan tombol F5 (refresh). Sehingga tidak mengherankan jika pengguna web sangat hapal posisi tombol F5 tersebut. Jika Anda menganggap kasus-kasus di atas sebagai sebuah penderitaan bagi Anda sebagai pengguna website yang setia, maka Ajax akan meringankan penderitaan tersebut. Apakah sesungguhnya Ajax itu? Ajax merupakan singkatan dari “Asynchronous JavaScript and XML”, sebuah teknik dalam mengembangkan aplikasi web yang interaktif. Ajax sendiri bukan merupakan teknologi

    yang baru ditemukan, lebih tepatnya Ajax menggunakan gabungan beberapa teknologi

    dan pemrograman yang telah dikenal, seperti HTML, XML, JavaScript, DOM (Document Object Model), dan XMLHttpRequest. Bagaimana cara Ajax bekerja? Tentunya Anda mengetahui, saat sebuah halaman web merespon aksi Anda, maka halaman tersebut harus melakukan pertukaran data dengan server. Hal tersebut yang menyebabkan jeda waktu, dan kurang interaktifnya sebuah halaman website. Ajax mengatasinya dengan melakukan pertukaran data yang kecil dan dilakukan behind the scene, atau di belakang layer sehingga Anda tidak terganggu dengan prosesnya.

    Pentingnya Update Halaman Web

    Halaman web diperuntukkan untuk memberikan informasi kepada Anda, jika perlu informasi yang diberikan harus yang paling up-to-date. Di sisi lain, client hanya memiliki satu requirement utama, yaitu browser. Tentu saja tidak bijaksana jika sebuah

    website yang ingin menyebarkan informasi seluas mungkin, mengharuskan bermacammacam requirement dari sisi client. Karena itu, halaman web pada awalnya memerlukan refresh keseluruhan halaman untuk meng-update content dan informasinya.

    Tetapi bukan zaman teknologi namanya, jika tidak berusaha mencari jalan untuk mengatasi kekurangan tersebut. Teknik pemanggilan halaman web tanpa melakukan reload ulang keseluruhan halaman (disebut dengan istilah asynchronous loading) telah dikenal sejak tahun 1996-1997 dengan tipe elemen IFRAME dan LAYER, yang mungkin pernah Anda gunakan dalam mengembangkan sebuah website. Hal ini merupakan ide awal efek yang diperoleh dengan teknik Ajax, karena kedua elemen tersebut memiliki atribut src yang dapat mengambil link dari alamat URL external, ditambah dengan pemanggilan halaman menggunakan JavaScript yang memanipulasi halaman induk, maka akan didapat efek update halaman tanpa melakukan refresh keseluruhan halaman.

    Selanjutnya, menggunakan Java applet, dan client browser berkomunikasi dengan server dengan menggunakan JavaScript, dapat dihasilkan update data yang lebih baik lagi (tanpa melakukan refresh keseluruhan halaman).

    Mengenal Ajax

    Jika ada seorang rekan Anda bertanya, apa bedanya aplikasi desktop dengan aplikasi web? Janganlah sekali-kali menjawab bahwa aplikasi web kurang interaktif kepada pengguna, karena dengan teknik yang bernama Ajax, Anda dapat membangun halaman web yang interaktif, tidak kalah dengan aplikasi desktop.

    Google Suggest yang mengimplementasikan Ajax.

    2. Penggunaan Bandwidth.

    Dengan menghasilkan HTML secara local di dalam browser, halaman website

    dengan menggunakan Ajax dapat tampil relatif lebih cepat, dan menggunakan bandwidth yang lebih sedikit.

    3. Pemisahan Data, Format, Style, dan Function.

    Dari sisi programming, developer Ajax akan diajak untuk lebih memahami teknologi-teknologi di dalam Ajax, mencakup JavaScript, CSS, DOM, database, ataupun HTML/DHTML/XML sehingga penggunaan masing-masing teknologi tersebut memiliki fungsi yang jelas untuk menghasilkan website ala Ajax.

    Apa yang Diperlukan

    Pada dasarnya, Anda hanya membutuhkan requirement sederhana untuk dapat mengimplementasikan Ajax. Yang Anda perlukan di dalam sistem komputer Anda adalah sebuah text editor untuk keperluan mengetik program, web browser untuk menampilkan halaman web, dan sebuah web server, seperti IIS (Internet Information System) atau Apache Web Server. Ajax menggunakan object XMLHttpRequest yang diperkenalkan sejak dirilisnya Microsoft Internet Explorer 5.0. Karena itu, jika Anda menggunakan web browser Internet Explorer untuk keperluan Ajax, Anda harus menggunakan Internet Explorer 5.0 atau yang lebih baru. Untuk web browser lain yang mendukung Ajax, Anda dapat mempertimbangkan setidaknya browser Safari 1.2, Mozilla Firefox 1.0, Opera 8, atau Netscape 7. Tidak seperti fi le HTML yang dapat Anda tampilkan dengan langsung memanggil fi le tersebut pada sembarang direktori, Ajax harus dipanggil melalui alamat URL, dan bukan lokasi direktori. Jika Anda bingung membedakannya, http://localhost/test adalah sebuah alamat URL, sedangkan c:\Inetpub\www\test adalah lokasi direktori.

    Menulis Ajax

    Sekarang kita akan membahas sisi pemrograman Ajax, agar Anda dapat menghasilkan website interaktif seperti yang telah Anda lihat pada contoh. Ajax sendiri bukanlah sebuah bahasa pemrograman yang baru, tetapi lebih merupakan sebuah teknik yang menggunakan standar yang telah ada, khususnya dalam hal ini adalah JavaScript dan HTTP request. Anda perlu mengetahui dasar pemrograman JavaScript untuk memulai Ajax. Di bawah ini adalah contoh sebuah script dari JavaScript: function test()<SPAN style=”mso-spacerun: yes”> </SPAN>{ alert(“halo”); } Script di atas adalah sebuah contoh function JavaScript yang sederhana. Script di atas menghasilkan sebuah kotak pesan “halo” pada browser, di mana script tersebut dapat digabungkan pada fi le HTML Anda, dan dipanggil dengan suatu event. Misalnya event OnClick, OnLoad, dan lain sebagainya. Anda yang telah mengenal HTML dan JavaScript, tentunya telah terbiasa menggunakan event-event pada elemen HTML, dan function-function JavaScript.

    Sesuai dengan namanya, Ajax atau “Asynchronous JavaScript and XML”, pertukaran data antara server dan browser dilakukan secara asynchronous, di mana data yang dikirimkan dapat berupa sebuah plain text ataupun dalam format XML. Mengapa penting untuk mengetahui JavaScript? Karena di dalam JavaScript tersebut, Anda akan memanggil object XMLHttpRequest, yang merupakan object inti dari Ajax. Object XMLHttpRequest inilah yang membangun koneksi antara browser dengan server, dan dilakukan behind the scene untuk men-download data. Object XMLHttpRequest harus diinisiasi terlebih dahulu oleh web browser melalui JavaScript. Di dalam menciptakan object XMLHttpRequest, Anda perlu membedakan web browser yang digunakan, karena terdapat perbedaan dalam pembuatan object-nya. Web browser yang Anda gunakan dapat dikategorikan menjadi dua bagian, yaitu browser buatan Microsoft (Internet Explorer) dan browser yang non-Microsoft, seperti Mozilla Firefox, Opera, Netscape dan lain sebagainya. Di bawah ini adalah potongan kode Java- Script yang digunakan sebagai salah satu cara untuk melakukan penciptaan Object XMLHttpRequest. Tetapi cikal bakal kelahiran Ajax, tidak lain adalah pada saat dirilisnya Microsoft Internet Explorer 5. Microsoft memperkenalkan object XMLHttpRequest, yang merupakan object inti yang digunakan dalam Ajax. Mungkin Anda penasaran, apa saja sih kemampuan yang ditawarkan Ajax? Dari sisi interface, banyak sekali yang dapat Anda lakukan dengan Ajax. Untuk melihat contoh live, Anda dapat mencari melalui search engine. Beragam website yang menggunakan Ajax. Secara acak, penulis mencari beberapa website yang mendemonstrasikan kemampuan Ajax, satu contoh dapat Anda lihat pada alamat http://www.mathertel.de/AJAXEngine/ S03_AJAXControls/TreeView.aspx, di mana terdapat hierarki data menyerupai Windows Explorer, untuk menunjukkan kotakota

    di Amerika Serikat. Contoh lainnya terdapat pada salah satu variasi search engine Google, yang dikenal dengan Google Suggest yang beralamatkan di URL http://www.google. com/webhp?complete=1&hl=en. Setiap Anda mengetikkan sebuah huruf, Google Suggest secara otomatis akan menampilkan daftar kata yang kemungkinan ingin Anda cari, beserta dengan jumlah result-nya. Bisa dibilang, Google Suggest inilah yang mengawali pesatnya penggunaan Ajax. Secara keseluruhan, contoh di atas hanyalah beberapa contoh bagaimana dengan Ajax, website Anda akan semakin interaktif dan menarik, menyerupai aplikasi desktop. Point yang penting adalah walau bisa jadi tetap terdapat waktu tunggu atau delay akibat proses pertukaran data, tetapi proses dilakukan behind the scene, sehingga tidak mengganggu kenyamanan Anda.

    Keuntungan Menggunakan Ajax

    Ajax bukan hanya menjadi solusi akan permasalahan pentingnya update halaman web. Beberapa keuntungan lain yang didapatkan dari penggunaan Ajax adalah:

    1. User Interface.

    Adanya proses refresh pada halaman web tradisional mengindikasikan sebuah

    proses yang berat. Berbeda jika Anda menggunakan Ajax, di mana halaman dapat di-update secara otomatis, tanpa melakukan reload/refresh. Hal ini tentu saja mempercepat respon halaman terhadap interaksi dari pengguna. var XMLHttpRequestObject = false;

    if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest();

    } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject(“Microsoft.XMLHTTP”); } Kondisi if (window.XMLHttpRequest)

    akan bernilai true, jika web browser yang Anda gunakan adalah browser non-Microsoft, sementara kondisi if (window. ActiveXObject) akan bernilai true jika Anda menggunakan browser Microsoft Internet Explorer. Perbedaannya hanyalah pada cara pembuatan object XMLHttpRequest. Anda harus meletakkan script di atas pada awal

    program, dan di luar dari semua function JavaScript, karena kode tersebut harus dieksekusi terlebih dahulu sebelum objectnya digunakan. Anda dapat menyimpan program Anda ke dalam fi le dengan ekstensi fi le, umumnya seperti *.html, *.asp, *.aspx, *.php, dan sebagainya. Sebagaimana umumnya sebuah object, object XMLHttpRequest yang Anda ciptakan memiliki property dan method. Terdapat dua property penting, yaitu property ready- State dan status. Property ini menunjukkan keadaan object yang direpresentasikan dengan nilai numerik. Kondisi-kondisi di atas perlu diketahui, untuk menentukan langkah-langkah selanjutnya pada program. Terutama pada saat property readyState bernilai 4 (Complete) dan property status bernilai 200 (OK), yang merupakan kondisi di mana object XMLHttpRequest berjalan sebagaimana diharapkan sehingga Anda dapat melanjutkan proses yang diinginkan. Property di atas hanya digunakan untuk mendeteksi status dan keadaan object XMLHttpRequest. Untuk melakukan proses selanjutnya, Anda dapat menggunakan method yang disediakan oleh object XMLHttpRequest. XMLHttpRequest menyediakan methodmethod yang dapat Anda manfaatkan, seperti method open digunakan untuk membuka fi le pada lokasi URL yang ditentukan, di mana fi le tersebut merupakan fi le text yang berisikan data text biasa, XML, atau bahkan script dalam bahasa yang dikenal oleh web server Anda, misalnya ASP atau PHP. Contoh method lain yang disediakan oleh XMLHttpRequest adalah abort, yang digunakan untuk membatalkan request yang aktif. juga dikenal method send, yang berfungsi untuk mengirimkan request. Script ASP, PHP ataupun bahasa pemrograman lainnya, dapat Anda gunakan dalam Ajax untuk keperluan menghasilkan data yang dibutuhkan oleh object XMLHttpRequest, contohnya script Anda dapat mengakses table negara, dan menghasilkan data dalam format XML, yang akan dibaca oleh object XMLHttpRequest. Di sini Anda dapat melihat, teknik Ajax didukung oleh beragam teknologi dan bahasa pemrograman yang bekerja sama. Penulisan kode HTML, JavaScript, dan script pemrograman seperti PHP atau ASP dalam satu fi le seperti pada teknik Ajax ini, tentunya bukan hal yang baru, bagi Anda yang telah terbiasa melakukan web programming. Karena itu secara programming, teknik Ajax hanyalah sedikit modifi kasi, dan sama sekali tidak mengubah syntax atau paradigma apapun. Tetapi jika Anda baru memulai web programming, memang diperlukan pengenalan dan latihan yang lebih mendalam untuk mengimplementasikan Ajax, yang tentunya bukan hal yang mustahil tercapai dalam waktu yang relatif singkat jika kita memiliki motivasi dan minat.

    Ajax Framework

    Teknik Ajax terus berkembang seiring dengan kemampuannya yang mengagumkan untuk menciptakan website yang interaktif,dan dinamis. Untuk lebih memudahkan proses pemrograman bagi developer, maka dibuat Ajax Framework. Ajax Framework terdiri dari kumpulankumpulan fungsi dan library yang siap digunakan. Dengan adanya framework, developer yang menggunakan Ajax terbantu dari dua sisi, yaitu sisi client dan sisi server. Pada sisi client, framework menyediakan functionfunction JavaScript untuk mengirimkan request ke server. Pada sisi server, framework melakukan proses terhadap request yang diterima, mencari data yang diinginkan, dan mengirimkannya kembali pada web browser.

    Contoh framework yang dapat Anda gunakan adalah AjaxLib, yang beralamatkan di http://karaszewki.com/tools/ajaxlib/. Anda dapat men-download library JavaScript yang disediakan, dan menggunakannya untuk mendevelop website Anda. AjaxLib menyediakan function-function untuk keperluan sisi client. AjaxLib hanyalah satu contoh Ajax Framework yang dapat Anda temukan di Internet. Masih banyak pilihan Ajax Framework yang tersedia dan siap pakai, baik dari sisi client ataupun server.

    Ajax Framework dapat juga ditemui pada platform dan bahasa lainnya, misalnya pada platform Windows .NET yang dikenal dengan ASP.NET AJAX (sebelumnya dikenal dengan nama Microsoft Atlas), yang menyediakan komponen-komponen yang dapat Anda gunakan dengan mudah. Beberapa contoh komponen/control yang diambil dari ASP.NET AJAX berikut ini dapat memperkaya kreativitas Anda untuk menghasilkan

    web dinamis dan interaktif:

    1. AlwaysVisible.

    sebuah control yang mengijinkan Anda meletakkan sebuah informasi (misalnya pengumuman, tanggal dan jam, dan seterusnya) pada suatu posisi yang tetap di halaman web, walaupun halaman tersebut di-scroll atau di-resize.

    2. Animation.

    Untuk membuat animasi pada suatu event tertentu, seperti OnClick, OnLoad, OnMouseOver, dan lain-lain.

    3. CascadingDropDown.

    Teknik yang cukup umum digunakan dalam Ajax, yaitu memuat data dinamis

    NILAI KETERANGAN

    0 Uninitialized 1 Loading 2 Loaded 3 Interactive 4 Complete

    Tabel property readyState adalah sebagai berikut:

    NILAI KETERANGAN

    200 OK 201 Created 401 Unauthorized 403 Forbidden 404 Not Found 408 Request Time Out 500 Internal Server Error Property status memiliki lebih banyak kondisi, beberapa yang terutama antara lain adalah: di dalam sebuah dropdown.

    4. NumericUpDown.

    Banyak cara untuk memilih sebuah angka. Pada aplikasi desktop, Anda tentu telah terbiasa memilih angka dengan cara mengklik tombol up untuk menaikkan nilai pada sebuah textbox, atau klik tombol down untuk menurunkan nilai. Contohnya saat menentukan margin pada aplikasi Microsoft Word. Pada halaman web tradisional, Anda

    dapat menentukan angka dengan sebuah dropdown, ataupun mengetikkan secara manual angka tersebut. Jika Anda ingin berkreasi, control NumericUpDown ini membuat Anda dapat menciptakan tombol up dan down yang serupa dengan aplikasi desktop.

    5. UpdateProgress.

    Salah satu control untuk mengatasi permasalahan waktu tunggu pada Ajax. Saat proses behind the scene terjadi, mungkin Anda perlu menampilkan sebuah status progress yang terjadi, sehingga pengguna menyadari bahwa halaman web sedang bekerja dan memanggil data.

    Kerugian Ajax

    Apakah terdapat kerugian dengan menggunakan Ajax? Tepatnya adalah terdapat beberapa konsekuensi, jika Anda menggunakan Ajax. Antara lain adalah:

    1. Integrasi Browser.

    Browser memiliki engine tersendiri untuk mengolah history, sehingga Anda dapat kembali ke halaman sebelumnya dengan mudah, dengan mengeksekusi tombol “Back”. Dengan menggunakan Ajax, halaman yang diciptakan secara dinamis tidak ter-register di dalam engine browser, sehingga mungkin navigasi (seperti contoh tombol “Back”) akan tidak berjalan sesuai keinginan Anda. Walaupun demikian, bukannya tidak ada jalan atau trik pemrograman yang dapat mengatasi hal ini. Anda dapat mencari artikel-artikel Ajax yang memberikan tip untuk mengatasi hal ini, setidaknya hal ini memerlukan pemrograman yang relative rumit.

    2. Waktu Tunggu.

    Dengan Ajax, memang tidak terdapat lagi refresh keseluruhan halaman. Tetapi menimbulkan masalah baru, yaitu waktu tunggu yang terjadi karena pertukaran data antara request dari pengguna dengan response server, menjadi lebih terasa dan terkadang menyesatkan pengguna yang masih awam. Untuk itu, memberikan progress selama waktu tunggu, terlebih untuk data yang relatif cukup besar, akan dapat membantu permasalahan

    tersebut.

    3. Optimasi Search Engine.

    Sebuah website yang statik mudah untuk di-index di dalam search engine, tidak demikian dengan halaman yang dibuat dengan Ajax. Masalah serupa dihadapi oleh semua website yang dinamis, di mana search engine tidak dapat mengenali content website Anda.

    4. Kompatibilitas Browser.

    JavaScript merupakan bahasa pemrograman utama di dalam Ajax. Permasalahannya adalah masing-masing browser (juga browser yang sama tetapi dengan versi yang berbeda), mungkin mengimplementasikan JavaScript berbeda satu dengan yang lainnya. Untuk menghindarinya, JavaScript yang Anda gunakan perlu dites dengan berbagai browser. Sebaiknya Anda menghindari solusi menuliskan JavaScript yang berbeda untuk browser yang berbeda, untuk mendukung kompatibilitas browser. Cara ini dapat memperumit kode program Anda dan menjadi tidak efi sien.

    Open Source

    Penggunaan Ajax cukup diminati hingga saat ini. Terbukti dari sekian banyak framework yang ditawarkan, dan perkembanganperkembangan yang berbasis teknologi Ajax.

    Framework yang dikembangkan tidak jarang berbasis open source. Salah satu pengembangan lain dari teknologi Ajax dalam dunia open source adalah pengembangan AppML (Application Markup Language) dari W3Schools. AppML menggunakan Ajax dalam pengembangannya, dan merupakan platform independen. Daftar di atas dapat bertambah dengan lebih banyak lagi referensi dan website yang dapat Anda gunakan, dan tidak tertutup kemungkinan Anda sendiri yang akan mengembangkan Ajax dalam karya Anda.

    Pengembangan

    Ajax terus mengembangkan terobosanterobosan baru, salah satunya kemunculan Comet Ajax, sebuah teknik pemrograman yang memungkinkan web server mengirimkan data ke client, tanpa client melakukan request ke server. Hal ini membuat pemrograman aplikasi web semakin menyerupai pemrograman aplikasi desktop, karena memungkinkan kita menciptakan aplikasi berbasis event (eventdriven application), yang sebelumnya hanya dapat dijumpai pada aplikasi desktop. Untuk mewujudkan hal tersebut, diperlukan koneksi yang tidak terputus antara client dan server, paling tidak hingga server memberikan data yang dihasilkan dari sebuah event pada client. Hal ini memang merupakan masalah tersendiri, terutama jika jaringan Internet yang Anda gunakan kurang mendukung. Hal ini masih terus dikembangkan dari sisi server dan aplikasi, agar dapat memberikan dukungan yang lebih baik terhadap teknologi Comet ini.

    Penutup

    Walaupun bukan merupakan pemrograman yang terlalu kompleks (terutama jika Anda telah menguasai elemen-elemen dasar web seperti HTML, XML, CSS, JavaScript, ataupun script pemrograman seperti ASP dan PHP), teknik Ajax memerlukan latihan dan praktik yang serius untuk dapat menciptakan website interaktif yang lebih baik, lebih cepat, dan user friendly. Di samping itu, pemrograman Ajax dapat merealisasikan kreativitas Anda yang tidak terbatas. Semoga artikel ini dapat menjadi awal bagi Anda untuk mewujudkan sebuah situs refreshless browsing yang semakin memanjakan pengunjungnya._

    _ http://en.wikipedia.org/wiki/Ajax_ %28programming%29

    _ http://www.w3schools.com/ajax/

    _ http://www.onlamp.com/pub/a/ onlamp/2005/06/09/rails_ajax.html

    Disadur dari http://www.pcmedia.co.id

     
    • rahmat 17:08 on 10 Juli 2008 Permalink | Balas

      merequest web orang lain ke halaman kita bisa gak dengan ajax

  • Hacker Dunia Berkumpul di Indonesia Juni 2008 

    yayakmpf 04:06 on 16 May 2008 Permalink | Balas

    JAKARTA – Juni mendatang, Indonesia akan menjadi tuan rumah untuk event hacker terbesar di dunia. Event pertemuan hacker bertajuk Hacker’s Night: Warning Biggest Hacker Days Event In Indonesia ini, konon akan mengundang tokoh, pakar, konsultan, dan para ekspert TI ternama di dunia untuk berkumpul dan berdiskusi di Jakarta.

    Diawali ide seorang pengamat TI Enselmus Ricky, dikenal dengan nick Th0R, yang ingin mempertemukan hacker-hacker ternama dunia, maka setelah mencari-cari, akhirnya ia bertemu Warih dari InfoKom yang tertarik untuk mendengarkan ide dan coba merealisasikannya dengan menjadi event organizer.

    Kegiatan event ini meliputi diskusi dan sharing informasi seputar riset dan topik-topik menarik lainnya yang berkaitan dengan hacker. Selain itu, juga akan diadakan seminar yang melibati para ekspertis sebagai pembicaranya. “Namun, yang menjadi tujuan utama kami sebenarnya adalah untuk mengumpulkan hacker yang sebenarnya untuk datang dan bergabung pada event ini, baik menjadi pembicara maupun pendengar, yang pasti untuk berbagi ilmu dan pengetahuan seputar hacking,” papar Th0R secara ekslusif kepada okezone, Senin (12/5/2008). “Ya, Indonesia akan memiliki suatu hari penting bagi orang-orang yang ingin tahu, ingin belajar, atau ingin menjadi hackers,” ujarnya.

    Rencananya, event yang diadakan dengan dwibahasa, Bahasa Indonesia dan Inggris, akan diselenggarakan pada 12 Juni 2008, di Ruang Seminar Festival Komputer Indonesia, Jakarta Convention Center. Acara akan dimulai pada pukul 10.00 WIB hingga 17.00 WIB. Kemudian, akan dilanjutkan dengan acara sosialisasi ramah-tamah dan lainnya yang kemungkinan akan diadakan di bar atau pub.

    Adapun yang menjadi pembicara nantinya adalah Onno W Purbo (pakar TI), Desmond Devendran (konsultan senior TI), Eko Indrajit (kepala ID-SIRTI), Anselmus Ricky (atau dikenal dengan Th0R), Semi Yulianto (Certified Trainer dari EC Council), Irvan (konsultan keamanan), dan Jim Geovedi (pakar sekaligus konsultan keamanan). Event ini rencananya juga akan diramaikan oleh beberapa tokoh besar, yakni Eugene Dokukin (yang dikenal dengan nick MustLive – Russia White Hat Hacker & Security Expert), Greg Hoglund, Johnny Long, dan Robert “RSnake” Hansen.

    Ada beberapa harapan Th0R sebagai pencetus ide diadakannya event hacker terbesar ini, yakni ingin membuka dan mengubah pandangan masyarakat yang selama ini misinterpretasi antara hacker dan cracker. Lalu, berharap ini menjadi ajang sharing informasi yang lebih kompeten, karena pada event ini akan ada pembicaraan berbagai arah, seperti pembicara-peserta, peserta-pembicara, peserta-peserta.

    Selebihnya, Th0R ingin memberitahukan kepada dunia, baik regional maupun global, kalau Indonesia juga punya orang-orang bermutu dan berkualitas. Dan, yang terakhir, diharapkan para ahli yang lama “bersembunyi”, kini keluar dan membagi ilmunya kepada khalayak umum, supaya wacana pembelajaran InfoSec di Indonesia tambah maju dan berkembang.

    “Masak luar negeri udah ngomongin BioMetric Hacking, di Indonesia BioMetricnya ajah gak ada,” pungkas Th0R.

     
  • Setia setiap saat (sebuah renungan hidup) 

    yayakmpf 01:40 on 14 May 2008 Permalink | Balas

    Suatu ketika, ada seorang pedagang kaya yang mempunyai 4 orang istri.

    Dia mencintai istri yang keempat, dan menganugerahinya harta dan kesenangan yang banyak.
    Sebab, dialah yang tercantik diantara semua istrinya. Pria ini selalu memberikan yang terbaik buat istri keempatnya ini.

    Pedagang itu juga mencintai istrinya yang ketiga. Dia sangat bangga dengan istrinya ini, dan selalu berusaha untuk
    memperkenalkan wanita ini kepada semua temannya.
    Namun, ia juga selalu khawatir kalau istrinya ini akan lari dengan pria yang lain.

    Begitu juga dengan istri yang kedua. Ia pun sangat menyukainya. Ia adalah istri yang sabar dan pengertian.
    Kapanpun pedagang ini mendapat masalah, dia selalu meminta pertimbangan istrinya ini.
    Dialah tempat bergantung. Dia selalu menolong dan mendampingi suaminya, melewati masa-masa yang sulit.

    Sama halnya dengan istri yang pertama. Dia adalah pasangan yang sangat setia. Dia selalu membawa perbaikan bagi
    kehidupan keluarga ini. Dia lah yang merawat dan mengatur semua kekayaan dan usaha sangsuami.
    Akan tetapi, sang pedagang, tak begitu mencintainya.
    Walaupun sang istri pertama ini begitu sayang padanya, namun, pedagang ini tak begitu mempedulikannya.

    Suatu ketika, si pedagang sakit. Lama kemudian, ia menyadari, bahwa ia akan segera meninggal.
    Dia meresapi semua kehidupan indahnya, dan berkata dalam hati. “Saat ini, aku punya 4 orang
    istri. Namun, saat aku meninggal, aku akan sendiri. Betapa menyedihkan jika aku harus hidup sendiri.”

    Lalu, ia meminta semua istrinya datang, dan kemudian mulai bertanya pada istri keempatnya. “Kaulah yang paling
    kucintai, kuberikan kau gaun dan perhiasan yang indah. Nah, sekarang, aku akan mati, maukah kau mendampingiku dan menemaniku? Ia terdiam. “Tentu saja tidak, “jawab istri keempat, dan pergi begitu
    saja tanpa berkata-kata lagi.

    Jawaban itu sangat menyakitkan hati. Seakan-akan, ada
    pisau yang terhunus dan mengiris-iris hatinya.

    Pedagang yang sedih itu lalu bertanya pada istri ketiga.
    “Akupun mencintaimu sepenuh hati, dan saat ini, hidupku akan berakhir.
    Maukah kau ikut denganku, dan menemani akhir hayatku?
    Istrinya menjawab, Hidup begitu indah disini. Aku akan
    menikah lagi jika kau mati. Sang pedagang begitu terpukul dengan ucapan ini. Badannya mulai merasa demam.

    Lalu, ia bertanya pada istri keduanya. “Aku selalu berpaling padamu setiap kali mendapat masalah. Dan kau selalu mau
    membantuku. Kini, aku butuh sekali pertolonganmu. Kalau ku mati, maukah kau ikut dan mendampingiku? Sang istri menjawab pelan. “Maafkan aku,” ujarnya “Aku tak bisa menolongmu kali ini. Aku hanya bisa mengantarmu hingga ke liang kubur saja. Nanti, akan kubuatkan makam yang indah buatmu.
    Jawaban itu seperti kilat yang menyambar. Sang pedagang kini merasa putus asa.

    Tiba-tiba terdengar sebuah suara. “Aku akan tinggal denganmu. Aku akan ikut kemanapun kau pergi. Aku, tak akan
    meninggalkanmu, aku akan setia bersamamu. Sang pedagang lalu menoleh ke samping, dan mendapati istri pertamanya disana. Dia tampak begitu kurus. Badannya tampak seperti orang yang kelaparan. Merasa menyesal, sang pedagang lalu bergumam, “Kalau saja, aku bisa merawatmu lebih baik saat ku mampu, tak akan kubiarkan kau seperti ini, istriku.”

    Renungan :

    Teman, sesungguhnya kita punya 4 orang istri dalam hidup ini.
    Istri yang keempat, adalah tubuh kita. Seberapapun banyak waktu dan biaya yang kita keluarkan untuk tubuh kita supaya tampak indah dan gagah, semuanya akan hilang. Ia akan pergi segera kalau kita meninggal. Tak ada keindahan dan kegagahan yang tersisa saat kita menghadap-Nya.

    Istri yang ketiga, adalah status sosial dan kekayaan.
    Saat kita meninggal, semuanya akan pergi kepada yang lain.
    Mereka akan berpindah, dan melupakan kita yang pernah memilikinya.

    Sedangkan istri yang kedua, adalah kerabat dan teman-teman.
    Seberapapun dekat hubungan kita dengan mereka, mereka tak akan bisa bersama kita selamanya.
    Hanya sampai kuburlah mereka akan menemani kita.

    Dan, teman, sesungguhnya, istri pertama kita adalah jiwa dan amal kita. Mungkin, kita sering mengabaikan, dan melupakannya demi kekayaan dan kesenangan pribadi. Namun, sebenarnya, hanya jiwa dan amal kita sajalah yang mampu untuk terus setia dan mendampingi kemanapun kita melangkah. Hanya amal yang mampu menolong kita di
    akhirat kelak.

    Jadi, selagi mampu, perlakukanlah jiwa dan amal kita dengan bijak. Jangan sampai kita menyesal belakangan.

     
  • Konsep Dasar CakePHP (bag IV) 

    yayakmpf 03:32 on 12 May 2008 Permalink | Balas

    Mulai bagian ini anda harus pasang perhatian baik-baik. Pada manual resmi dari situs CakePHP.org sebelum Chapter Models ini ada satu chapter bernama Scaffold yang merupakan salah satu ‘hot feature’ dari Cake sendiri, dimana anda bisa membuat satu aplikasi lengkap cukup dengan menuliskan var $scaffold;, dan simsalabim!!! Akan tercipta aplikasi dengan action: index, add, edit, view, dan delete (sesuai dengan standar Cake, lengkap dari model hingga view.

    Namun dalam membangun aplikasi sering kita melakukan kustomisasi, misal dalam data validation ataupun penambahan logic atau action tertentu. Jadi pembahasan pembuatan aplikasi dengan feature scaffolding dan Bake akan saya simpan dulu. Menurut hemat saya, jika kita memulai latihan dari yang berat, maka ketika kita diminta untuk ‘berlomba’ di level yang lebih ringan, semuanya akan terasa sangat mudah.

    Section 1

    Apakah Model Itu?

    Dalam Chapter 2: Konsep Dasar, kita sudah menyinggung sedikit tentang konsep MVC, dimana Model menjadi bagian awalnya. Jika database ada di level presentation, maka Model berada pada level application logic. Boleh dikata bahwa suatu Model merupakan titik akses ke database, atau lebih tepatnya tabel di dalam database. Dalam konvensi Cake mengatur bahwa nama suatu tabel harus jamak, sedangkan nama Model merupakan bentuk tunggalnya (singular). Contoh: jika tabel bernama ‘users’ maka modelnya bernama ‘User’. Model juga dapat berisi validasi data, informasi asosiasi, dan metode lain yang berkaitan dengan tabel yang digunakan. Berikut contoh jika anda membuat Model User, yang kemudian disimpan di /app/model/user.php

    //Untuk membuat model dalam Cake anda harusmenurunkannya dari AppModel
    class User extends AppModel
    {
        // Pastikan untuk memulai dengan mendifinasikanvariabel modelnya sendiri.
        var $name = 'User';
        // Kemudian diikuti validasi data.
        var $validate = array();
     
        // Dan sertakan asosiasi jika ada.
     
        var $hasMany = array('Image' =>
                       array('className' => 'Image')
                       );
        // Anda juga dapat menyertakan function buatan anda sendiri:
        function makeInactive($uid)
        {
            //Silahkan tulis logic-nya disini...
        }
    }
    ?>

    Section 2

    Function dalam Model

    Jika kita lihat contoh kode di atas dari sisi OOP/PHP, suatu model adalah suatu class yang merupakan turunan dari AppModel. Class AppModel sendiri aslinya terletak dalam direktori /cake, tapi jika anda ingin merubahnya sesuai kebutuhan aplikasi anda, salinlah ke app/app_model.php. Jika anda cermati isi filenya, AppModel ini sendiri juga merupakan turunan dari class Model yang merupakan library Cake standar yang ada di cake/libs/model.php. Jika anda ingin mengetahui lebih banyak tentang function dalam Model, silahkan kunjungi http://api.cakephp.org untuk info lebih lengkap. Yang akan dibahas disini adalah function yang paling sering digunakan.

    Pengambilan Data

    Berikut adalah beberapa cara mendapatkan data menggunakan model:

    • findAll
    • string $conditions
    • array $fields
    • string $order
    • int $limit
    • int $page
    • int $recursive

    Mengembalikan field tertentu sampai dengan batasa $limut sesuai dengan $conditions (jika ada syarat/kondisi tertentu), dimulai dari halaman $page (defaultnya 1). $conditions berbentuk seperti statement SQL, semisal: $conditions=”description=’tutorial’ AND life_cycle>4”.

    Ketika opsi $recursive diset lebih besar dari 1, operasi findAll() akan mengembalikan model yang diasosiasikan dengan model yang ditemukan oleh findAll().

    • find
    • string $conditions
    • array $fields
    • string $order
    • int $recursive

    Mengembalikan field tertentu (atau seluruhnya jika tidak ditentukan) dari record pertama yang sesuai dengan $conditions.

    Ketika opsi $recursive diset ke suatu nilai integer antara 1 dan 3, find() akan mengembalikan model yang diasosiasikan dengan model yang ditemukan oleh find().

    • findAllBy
    • string $value

    Method ini bisa dipakai sebagai jalan pintas untuk mencari suatu nilai tertentu dari suatu field dalam tabel. Tinggal lekatkan field yang ingin anda cari, kemudian buatlah menjadi CamelCase (CamelCase adalah Case yang menjadikan setiap huruf awal dari setiap kata dalam suatu frase menjadi huruf capital, contoh: LastName, JobPosition, ProductOwner). Contoh (ketika digunakan dalam suatu Controller) seperti:

    $this->Post->findByTitle(‘My First Blog Post’);
    $this->Author->findByLastName(‘Rogers’);
    $this->Property->findAllByState(‘AZ’);
    $this->Specimen->findAllByKingdom(‘Animalia’);

    Hasil yang didapatkan dalam bentuk Array seperti find() atau findAll().

    • findNeighbours
    • string $conditions
    • array $field
    • string $value

    Method seperti ini mirip seperti jika kita menggunakan aplikasi kamus/dictionary. Biasanya jika kita mencari kata tertentu, maka akan diberikan pula kata yang mendekati bentuk kata tersebut. Hasil yang didapatkan berupa array, yang ditentukan oleh $field dan $value, dan dibatasi oleh $conditions. Namun hanya dapat digunakan pada tipe data ‘numeric’ dan ‘date’. Contoh:

    class ImagesController extends AppController
    {
    function view($id)
    {
    // Ini cara untuk mengambil data sebuah Image

    $this->set(‘image’, $this->Image->find(“id = $id”);

    // Tapi kita juga ingin melihat yang sebelum dan sesudahnya…

    $this->set(‘neighbours’, $this->Image->findNeighbours(null, ‘id’, $id);

    }
    }

    Kode di atas memberi kita suatu array $image[‘Image’], sekaligus dengan $ neighbours['prev']['Image']['id'] dan $neighbours['next']['Image']['id'] pada sisi view.

    • field
    • string $name
    • string $conditions
    • string $order

    Mengembalikan sebuah string dari field tunggal dari record pertama sesuai $conditions dan urut berdasar $order.

    • findCount
    • string $conditions

    Mengembalikan jumlah record sesuai $conditions.

    • generateList
    • string $conditions
    • string $order
    • int $limit
    • string $keyPath
    • string $valuePath

    Method ini merupakan cara cepat untuk mendapatkan sederet daftar pasangan nilai kunci –sangat cocok dipakai untuk membuat tag select HTML dari daftar Model aplikasi anda. Gunakan $conditions, $order, dan $limit sama seperti pada findAll(). $keyPath dan $valuePath merupakan tempat dimana Model dapat menemukan letak key dan value untuk daftar tadi.. Sebagai contoh, jika anda ingin meng-generate suatu daftar/list berdasar aturan pada model Role, dengan key berupa ids integer, maka bisa berbentuk seperti ini:

    $this->set(
    ‘Roles’,
    $this->Role->generateList(null, ‘role_name ASC’, null, ‘{n}.Role.id’, ‘{n}.Role.role_name’)
    );

    //Kode di atas akan menghasilkan:
    array(
    ‘1′ => ‘Account Manager’,
    ‘2′ => ‘Account Viewer’,
    ‘3′ => ‘System Manager’,
    ‘4′ => ‘Site Visitor’
    );

    • read
    • string $fields
    • string $id

    Gunakan read() ini untuk memperoleh field dan nilainya dari record yang telah diload atau record yang ditentukan oleh $id.

    Sebagai catatan, read() hanya akan mengambil data dari model asosiasi level pertama tanpa mempedulikan hasil $recursive dalam model. Untuk memperoleh level tambahan, gunakan find() atau findAll().

    • query
    • string $query
    • execute
    • string $query

    Perintah SQL biasa dapat dipanggil dengan method query dan execute. Perbedaan antara keduanya adalah query() digunakan untuk membuat custom SQL query (hasilnya dikembalikan). Sedangkan execute() digunakan untuk membuat custom SQL command (tidak membutuhkan nilai dikembalikan). Berikut contoh perintah SQL dengan query():

    query(“SELECT first_name FROM posters_table
    WHERE poster_id = 1″);
    $firstName = $ret[0]['first_name'];
    return $firstName;
    }
    }
    ?>

    Kondisi Pencarian Kompleks (menggunakan array)

    Kebanyakan pemanggilan pencarian dalam model dilakukan dengan melibatkan kondisi tertentu. Pendekatan yang paling sederhana adalah dengan menggunakan klausa WHERE dalam potongan kode SQL. Tetapi jika anda butuh sesuatu yang lebih, anda dapat menggunakan array yang membuat query menjadi lebih mudah untuk dibuat dan dibaca. Syntax ini dapat memisahkan setiap elemen dalam query (field, value, operator, dll) ke bagian yang bisa dimanipulasi. Salah satu contoh sederhana query berbasis array:

    $conditions = array(“Post.title” => “This is a post”);

    //Contoh penggunaan dalam suatu model:
    $this->Post->find($conditions);

    Kode di atas menjelaskan bahwa query akan mencari dalam Model Post yang mempunyai Title=”This is a post”. Untuk diperhatikan, bahwa lebih baik jika anda melakukan query dalam Cake selalu merujuk kepada Model, bukan tabel. Ini untuk menghindari terjadinya collision dalam aplikasi anda. Ok, lalu bagaimana jika kita ingin menggunakan operator? Hal tersebut sama mudahnya. Katakan jika kita ingin menemukan seluruh Post dimana title nya bukan “This is a post”:

    array(“Post.title” => ” This is a post”)

    Cake dapat menangani semua operator pembanding SQL, termasuk ekspresi seperti LIKE, BETWEEN, atau REGEX. Yang jadi catatan adalah jangan lupa memberi spasi antara operator dan ekspresi atau value. Satu-satunya pengualian disini adalah ekspresi IN (…). Baik, sekarang kita ingin mencari Post dengan beberapa value:

    array(“Post.title” => array(“First post”, “Second post”, “Third post”))

    Jika kita ingin membatasi lagi pencarian lagi caranya hanya dengan menambahkan pasangan key/value ke array:

    array( “Post.title” => array(“First post”, “Second post”, “Third post”), “Post.created” => “> ” . date(‘Y-m-d’, strtotime(“-2 weeks”)))

    Secara default, Cake menggunakan operator Boolean AND untuk operasi join seperti di atas. Jika kita ingin memakai operator Boolean lain, maka bisa dengan cara seperti ini:

    array(“or” => array ( “Post.title” => array(“First post”, “Second post”, “Third post”), “Post.created” => “> ” . date(‘Y-m-d’, strtotime(“-2 weeks”)) ))

    Cake menerima semua operand Boolean, seperti AND, OR, NOT, XOR, dll., dan bisa ditulis huruf kapital maupun tidak.Kondisi ini juga dapat dibuat bersarang. Berikut adalah contoh untuk query dengan tabel Posts dan Authors punya hubungan hasMany/belongTo, yang akan menghasilkan LEFT JOIN pada sisi Post. Kondisinya adalah anda ingin mencari kata ‘magic’ atau yang dibuat dua minggu yang lalu, tapi dibatasi pada Post yang ditulis oleh ‘Bob’:

    array (“Author.name” => “Bob”, “or” => array ( “Post.title” => “LIKE %magic%”, “Post.created” => “> ” . date(‘Y-m-d’, strtotime(“-2 weeks”) ))

    Menyimpan Data

    Untuk menyimpan data ke dalam model, tentu anda harus mengisinya dengan data yang ingin anda simpan. Data yang disimpan dengan method save() menghasilkan bentuk seperti berikut:

    Array( [NamaModel] => Array ( [namafield1] => ‘value’ [namafield2] => ‘value’ ))

    Cara paling mudah untuk mendapatkan data seperti ini adalah dengan menggunakan helper HTML (akan dibahas setelah pembahasan MVC), karena akan membuat elemen-elemen form yang namanya sesuai dengan aturan di Cake. Anda tidak harus menggunakannya: pada pokoknya hanya pastikan nama elemen formnya berbentuk seperti data[NamaModel][namafield]. Namun bagaimanapun juga $html->input(‘Model/fieldname’) adalah cara termudah.

    Data yang dikirim dari form secara otomatis akan terformat seperti di atas dan diletakkan dalam $this->data didalam Controller. Berikut contoh fungsi edit pada Controller Property:

    function edit($id)
    {

    //Catatan: Model Property secara otomatis diletakkan oleh Cake ke $this->Property.

    // Mengecek apakah form diisi data…
    if (empty($this->data))
    {
    $this->Property->id = $id;
    $this->data = $this->Property->read();//membaca field pada form
    }
    else
    {
    // Perhatikan cara menyimpan data berikut. Cake juga secara otomatis dapat melakukan validasi checking
    if ($this->Property->save($this->data['Property']))
    {
    //Pesan Flash yang ditampilkan dan redirect.
    $this->flash(‘Your information has been saved.’,
    ‘/properties/view/’.$this->data['Property']['id'], 2);
    }
    //jika ada field yang invalid atau gagal menyimpan, Cake juga akan merender halaman error.
    }
    }

    Perhatikan bagaimana operasi menyimpan ini terletak pada suatu kondisional validasi sesuai aturan yang telah dibuat. Lebih lanjut tentang Validasi Data akan dibahas nanti. Sekarang jika anda tidak ingin save() memvalidasi data anda gunakan save($data, false).

    Beberapa fungsi lain yang berguna:

    • del
      • string $id
      • boolean $cascade

    Menghapus model sesuai $id.

    Jika Model mempunyai ke Model-Model lain, dan ‘dependent key’ telah terdeklarasikan dalam array asosiasi, maka method del() ini akan menghapus Model-Model lain tersebut jika $cascade diset ‘true’.

    del() akan mengembalikan nilai true jika sukses.

    · saveField

    o string $name

    o string $value

    Digunakan untuk menyimpan nilai field tunggal.

    · getLastInsertId

    Mengembalikan nilai ID dari record yang terakhir dibuat.

    Callback Model

    Dalam Model Cake, dikenal juga Callback yang memperbolehkan anda untuk melakukan sesuatu sebelum atau setelah suatu operasi. Berikut method Callback dalam Cake:.

    · beforeFind

    o string $conditions

    Set ke ‘return true’ ketika anda ingin method find dieksekusi, dan ‘false’ jika ingin menghentikan perintah find.

    · afterFind

    o array $results

    Gunakan method callback yang satu ini jika ingin memodifikasi hasil operasi find() atau jika ingin melakukan operasi lain terhadap hasil find(). Parameter untuk method ini tentu saja hasil operasi find, dan keluarannya berupa hasil yang sudah diubah.

    • beforeValidate

    Gunakan callback ini untuk memodifikasi data Model sebelum divalidasi. Bisa juga digunakan untuk aturan validasi yang lebih kompleks, menggunakan Model::invalidate().Dalam konteks ini, data Model dapat diakses melalui $this->data. Method ini juga harus diset ke true, dan sebaliknya false jika ingin menghentikan save()..

    • beforeSave

    Callback ini juga diset ke true jika operasi save() ingin berlanjut, dan false jika ingin digagalkan. Contoh penggunaan beforeSave dalam penanganan format waktu di suatu database:

    // Berikut adalah field Date/time yang dibuat helper HTML:
    
    // Kode ini akan dilihat di View
    
    $html->dayOptionTag('Event/start');
    
    $html->monthOptionTag('Event/start');
    
    $html->yearOptionTag('Event/start');
    
    $html->hourOptionTag('Event/start');
    
    $html->minuteOptionTag('Event/start');
    
    /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    
    // Kode berikut akan ada di Model Event, callback beforeSave digunakan untuk merubah format waktu sebelum disimpan ke database:
    
    function beforeSave()
    
    {
    
     $this->data['Event']['start'] = $this->_getDate('Event', 'start');
    
     return true;
    
    }
    
    function _getDate($model, $field)
    
    {
    
     return date('Y-m-d H:i:s', mktime(
    
         intval($this->data[$model][$field . '_hour']),
    
         intval($this->data[$model][$field . '_min']),
    
         null,
    
         intval($this->data[$model][$field . '_month']),
    
         intval($this->data[$model][$field . '_day']),
    
         intval($this->data[$model][$field . '_year'])));
    
    }
    • afterSave
    • beforeDelete

    Set ke ‘return true’ ketika anda ingin penghapusan dieksekusi, dan ‘false’ jika ingin menghentikan perintah penghapusan.

    • afterDelete

    Section 3

    Variabel Model

    Ketika anda bekerja dengan Model, ada sejumlah variabel yang bisa anda manfaatkan untuk mendapat fungsi khusus dari Cake.

    $primaryKey

    Jika suatu Model merupakan suatu tabel dalam database, dan primary key tabel tersebut tidak bernama ‘id’, anda bisa guakan variabel ini untuk memberitahukan Cake nama primary key-nya.

    $recursive

    Variabel ini mengatur kedalaman tingkat pengambilan Model yang terasosiasi ketika menggunakan operasi find() dan findAll().

    Contoh : seandainya anda mempunyai Groups yang mempunyai banyak Users yang masing-masing mempunyai Articles.

    Opsi dalam Model::recursive

    $recursive = 0

    Cake mengambil data Group

    $recursive = 1

    Cake mengambil sebuah Group dan User yang terasosiasi

    $recursive = 2

    Cake mengambil sebuah Group, User yang terasosiasi, dan Articles yang dimiliki User tersebut

    $transactional

    Memberitahukan Cake apakah Model dapat melakukan transaksi atau tidak (seperti begin/commit/rollback). Menggunakan nilai Boolean. Hanya dapat untuk database tertentu.

    $useTable

    Jika tabel dalam database anda tidak berbentuk plural/mendapat akhiran ‘s’, dan anda tidak ingin menggantinya, set lah variabel ini ke nama tabel yang ingin anda gunakan.

    $validate

    Merupakan array yang digunakan untuk memvalidasi data ke model (akan ada pembahasan lebih lanjut di Chapter lain).

    $useDbConfig

    Masih ingat setting database pada Chapter sebelumnya di /app/config/database.php? Gunakan variabel ini untuk berpindah antara nama koneksi database yang ada di file tersebut. Nilai defaultnya adalah ‘default’.

     
  • Konsep Dasar CakePHP (bag III) 

    yayakmpf 03:15 on 12 May 2008 Permalink | Balas

    Sebelum memulai konfigurasi di Cake, saya minta anda untuk membuat suatu database bernama ‘blogcake’ lebih dulu. Silahkan buka phpMyAdmin dari web browser anda, cari kolom Create new database, ketik blogcake, kemudian klik tombol create. Jika benar, anda akan lanjut ke halaman baru yang menyatakan anda telah sukses membuat database baru dan anda sudah langsung memakai database tersebut. Sekarang klik tab SQL yang ada di atas frame sebelah kanan. Copy query berikut dan paste ke text area di halaman tersebut.

    CREATE TABLE posts (

    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,

    title VARCHAR(50),

    body TEXT,

    created DATETIME DEFAULT NULL,

    modified DATETIME DEFAULT NULL

    );

    /* Kemudian masukkan beberapa Post untuk testing*/

    INSERT INTO posts (title,body,created)

    VALUES (‘The title’, ‘This is the post body.’, NOW());

    INSERT INTO posts (title,body,created)

    VALUES (‘A title once again’, ‘And the post body follows.’, NOW());

    INSERT INTO posts (title,body,created)

    VALUES (‘Title strikes back’, ‘This is really exciting! Not.’, NOW());

    Klik go. Selanjutnya baru kita memulai tahap konfigurasinya.

    Section 1

    Konfigurasi Database

    Konfigurasi database pada Cake terdapat pada file app/config/database.php. Namun pada instalasi awal Cake tidak terdapat file tersebut, jadi anda harus mengcopy dari file database.php.default. Ubah namanya menjadi database.php saja.Buka file tersebut dengan web editor anda (Dreamweaver, Notepad++, EditPlus, atau yang lain) lihat pada bagian:

    var $default = array(‘driver’ => ‘mysql’,

    ‘connect’ => ‘mysql_connect’,

    ‘host’ => ‘localhost’,

    ‘login’ => ‘user’,

    ‘password’ => ‘password’,

    ‘database’ => ‘project_name’,

    ‘prefix’ => ”);

    Ubah bagian login dan password sesuai setting MySQL anda. Kemudian ‘project_name’ pada database menjadi blogcake seperti yang sudah kita buat tadi.

    Catatan untuk variabel ’prefix’ : jika anda memasukkan string ke dalamnya, maka jika anda melakukan query SQL untuk tabel akan mengarah ke prefix_namatabel. Contoh jika anda punya tabel posts seperti di atas, dan ’prefix’=>’blog_’, maka query akan mengarah ke ‘blog_posts’. Sekali anda mendefinisikan prefix, keseluruhan tabel dalam database harus mendapat imbuhan prefix tersebut. Dan untuk tabel HABTM join, anda cukup menambah prefix sekali: blog_categories_posts, bukan blog_categories_blog_posts.

    CakePHP mendukung beberapa driver dabatabase berikut:

    1. mysql

    2. postgres

    3. sqlite

    4. pear-drivername (contoh pear-mysql)

    5. adodb-drivername

    Kata kunci ‘connect’ pada koneksi $default mempersilahkan anda untuk menentukan apakah koneksi akan persistent atau tidak. (Baca komentar pada file database.php untuk menentukan tipe koneksi lebih lanjut). Sementara pada tutorial ini, kita isi dengan ‘mysql_connect’ saja.

    Selain itu, tabel dalam database anda juga harus mengikuti konvensi yang digunakan Cake. Memang kelihatannya cukup merepotkan pada mulanya, namun anda cukup percaya saja, kelak anda akan merasakan manfaatnya ketika memulai memaintenance aplikasi web anda, dan anda akan ‘tersihir’ bagaimana Cake dapat menghasilkan aplikasi berskala besar dengan cepatnya jika anda benar-benar mengikuti aturan Cake.Selain itu, anda bisa mendaftarkan aplikasi anda ke komunitas open source Cake. Ok, inilah aturan untuk tabel:

    1. Nama tabel biasanya berupa kata jamak/plural dalam bahasa Inggris, seperti “users, posts, polls”. Sebenarnya dalam bahasa Indonesia pun tidak masalah, cukup dengan menambahkan akhiran –s dibelakang nama tabel, contoh: “artikels, divisis, kategories”. Namun untuk Model (ingat konsep MVC-nya) untuk tabel yang bersangkutan nama modelnya berupa kata tunggal.

    2. Dalam tabel harus ada primary key bernama ‘id’.

    3. Jika ada relasi, gunakan foreign key seperti ‘article_id’. Nama tabel berupa kata tunggal/singular, diikuti underscore, kemudian diakhiri ‘id’.

    4. Jika dalam tabel terdapat kolom ‘created’ dan/atau ‘modified’, Cake secara otomatis akan mengisinya sesuai dengan keadaan.

    Selain $default dalam database.php, anda juga akan melihat seting $test connection di bawahnya. Silahkan isi sesuka anda dengan aturan sama seperti di atas, kemudian anda bisa menggunakannya dengan cara seperti:

    var $useDbConfig = ‘test’;

    Sampai disini, kita akan kembali mengetes instalasi Cake kita. Jika benar, anda akan mendapatkan hasil seperti ini:

    Section 2


    Konfigurasi Umum

    Konfigurasi umum/global Cake dapat ditemukan pada file app/config/core.php. Sebenarnya tidak ada yang anda perlu ubah untuk tutorial ini, namun saya akan tetap memberitahu anda beberapa point penting di file ini.

    DEBUG: defaultnya bernilai ‘1’, akan menampilkan pesan kesalahan pada kode yang anda buat pada aplikasi anda. Jika anda mengeset ke ‘2’, maka hasil query SQL akan ditampilkan di sisi bawah layar halaman. Selain 0, Cake akan merender error page sesuai kesalahan code pada aplikasi anda, seperti “Missing Controller”, “Missing Action”, dll.

    CAKE_SESSION_COOKIE: ubah nilainya ke nama cookie yang anda gunakan untuk user session di aplikasi anda.

    CAKE_SECURITY: ubah nilai ini untuk menentukan pengecekan level session. Cake akan menentukan akhir session, menggenerate session ids baru, dan menghapus session lama berdasar nilai yang anda masukkan. Nilai yang bisa anda tulis adalah:

    1. high: session akan berakhir setelah 10 menit dari tidak adanya aktifitas apapun, session ids diregenerasi pada setiap request.

    2. medium: session akan berakhir setelah 20 menit dari tidak adanya aktifitas apapun.

    3. low: session akan berakhir setelah 30 menit dari tidak adanya aktifitas apapun.

    CAKE_SESSION_SAVE: menentukan bagaimana data session akan disimpan. Silahkan memasukkan salah satu nilai berikut (urut dari yang paling low-security sampai high-security):

    1. cake: data session akan disimpan dalam tmp/ di instalasi Cake anda.

    2. php: data session akan disimpan sesuai definisi php.ini.

    3. database: data session akan disimpan ke suatu tabel sesuai di variabel $default, biasanya bernama cake_sessions. Di artikel lain saya akan mencontohkan penggunaan database untuk penanganan sessions. Namun sementara ini kita setting ke ‘php’ dulu.

    Section 3


    Konfigurasi Routing

    Routing merupakan bagian dari mod_rewrite PHP yang dapat ‘memetakan’ URL ke controller/action/params. Dengan routing URL bisa lebih cantik dan lebih dapat dikonfigurasi. Routing dapat ditentukan lewat file app/config/routes.php. Pattern/pola yang digunakan untuk routing seperti berikut:

    $Route->connect (‘URL’, array(‘controller’=>’controllername’, ‘action’=>’actionname’, ‘firstparam’))

    Dimana:

    1. URL adalah regular expression (regex) dari URL Cake yang akan anda petakan,

    2. controllername adalah nama controller yang anda akan sertakan

    3. actionname adalah nama action dari controller

    4. firstparam adalah nilai parameter pertama dari action yang anda tentukan

    Parameter lain yang menyertai firstparam akan dipassing sebagai parameter ke action controller.

    Dalam tutorial ini tidak ada yang perlu diubah dari file konfigurasi routing tersebut.

    Section 4


    Konfigurasi Routing Lanjut: Admin dan Webservices

    Masih dalam file yang sama (/app/config.core.php) anda bisa mengatur penanganan URL untuk admin dan webservices. Hal pertama yang kita bahas adalah routing URL admin. Tentu dalam aplikasi yang kita buat, ada hak istimewa sebagai admin yang kita berikan kepada user tertentu (Lebih lanjut tentang pemberian hak akses akan kita pelajari di fitur ACL=Access Control List). Biasanya saya lebih menyukai URL berbentuk /admin/posts/add atau /admin/posts/edit daripada /posts/adminAdd atau /posts/adminEdit.

    Untuk mengaktifkan fungsi ini di Cake, yang pertama kali dilakukan adalah menghilangkan komentar berupa tanda double slash (//) dari CAKE_ADMIN pada file /app/config/core.php. Nilai default dari CAKE_ADMIN ini adalah ‘admin’, tapi anda juga bisa mengubahnya ke nilai lain yang anda suka, seperti ‘superuser’, ‘su’, ‘atur’, dll. Ingatlah nilai yang anda masukkan ini, karena akan digunakan untuk controller (akan dibahas nanti). Nantinya, action dari admin ini akan bernama namaadmin_namaaction(). Berikut beberapa contoh URL, CAKE_ADMIN, dan action di controller:

    /admin/products/add CAKE_ADMIN = ‘admin’

    Nama action di ProductsController = ‘admin_add()’


    /superuser/news/post CAKE_ADMIN = ’superuser’

    Nama action di NewsController = ’superuser_post()’


    /su/posts/delete CAKE_ADMIN = ’su’

    Nama action di PostsController = ’su_delete()’


    Setelah diset variabel CAKE_ADMIN, maka anda dapat dengan mudah menggunakan routing admin ini dengan menggunakan:

    $this->params[CAKE_ADMIN];

    atau

    $this->params['admin'];

    (dengan anggapan bahwa ‘admin adalah variabel dari CAKE_ADMIN).

    Sesuai dengan catatan dari manual yang ada pada situs CakePHP.org bahwa dengan mengaktifkan routing admin ini tidak berarti anda menggunakan metode otentifikasi ataupun security tertentu. Anda harus mengesetnya sendiri, yang akan dijelaskan di chapter lain. (Sekali lagi) Sabar…

    Dengan cara yang sama, anda dapat mengaktifkan routing untuk fitur webservices sama mudahnya. Pertama, set WEBSERVICES di file yang sama ke ‘on’, kemudian anda tinggal menambahkan beberapa logic di Controller anda. Jadi, dengan mengaktifkan WEBSERVICES ini anda mengaktifkan suatu hal yang hampir sama dengan routing admin, kecuali beberapa prefix untuk routing ini sudah tersedia, seperti:

    1. rss

    2. xml

    3. rest

    4. soap

    5. xmlrpc

    Nantinya anda akan punya alternative View yang bisa diakses pada /rss/namaController/namaAction atau /soap/namaController/namaAction. Anda cukup membuat satu action untuk dua view: satu untuk halaman HTML biasa, dan yang lain untuk pemakai webservice.

     
    • dicky 12:44 on 5 Agustus 2008 Permalink | Balas

      wah makasih banyak om atas tulisannnya yang gamblang dan jelas pake bahasa indonesia…..

      soalnya aye lagi belajar cakephp membuat 1 aplikasi.

    • Tomy 22:25 on 9 November 2008 Permalink | Balas

      trus cara buat web service nya gmana mas?

      misalkan aja database nya isinya nama negara trus mo nyajiin nama negara yg berawal huruf ‘A’

      mohon bimbingannya..

    • Tyanz Permana 12:08 on 21 Desember 2008 Permalink | Balas

      mantap tutorialnya mas, saya tunggu kelanjutannya yah..

  • Konsep Dasar CakePHP (bag II) 

    yayakmpf 02:55 on 12 May 2008 Permalink | Balas

    Untuk melakukan instalasi CakePHP, dibutuhkan sebuah server yang memuat seluruh library dan program yang dibutuhkan untuk menjalankan CakePHP. Syarat yang harus dipenuhi dalam server itu adalah:

    1. Sebuah server HTTP (seperti Apache) dengan session enabled dan mod_rewrite(mod_rewrite ini lebih disukai dalam keadaan enabled)
    2. PHP 4.3.2 atau di atasnya (5.x)
    3. Database engine(MySQL, PostgreSQL, dan yang mendukung ADODB)

    Setelah anda mendapatkan CakePHP dari chapter1 sebelumnya, sekarang letakkan file .ZIP atau bentuk file yang terkompres tersebut ke DocumentRoot/webroot anda. Kalau anda mengikuti memakai AppServ yang terinstal di C:\, maka dalam file httpd.conf apache biasanya sudah tersetting ke C:/appserv/www. Selanjutnya ada dua cara instalasi CakePHP: menggunakan development setup, yang mempersilahkan untuk melihat sekaligus beberapa aplikasi CakePHP dalam satu domain, atau dengan production setup, yang memperbolehkan satu aplikasi CakePHP dalam satu domain.

    Sebelum mensetup Cake, pastikan mod_rewrite dalam httpd.conf Apache diperbolehkan. Caranya cari dalam folder instalasi Apache file conf/httpd.conf. Edit dengan notepad, hilangkan tanda pagar (#) di awal baris berikut:

     LoadModule rewrite_module modules/mod_rewrite.so

    Pastikan juga agar Apache mengijinkan akses .htaccess override. Di file yang sama, cari kata-kata AllowOverride pada atau , set ke All, sehingga menjadi AllowOverride All.

    Jika anda mengikuti langkah sebelumnya, untuk menginstal development setup anda tinggal mengekstrak ke folder /appserv/www. Sehingga nampak seperti berikut:


    /appserv

    /www

    /cake

    /app

    /cake

    /vendors

    .htaccess

    index.php

    Ketikkan localhost/cake pada browser anda, maka anda akan mendapatkan tampilan seperti berikut:


    (Perhatikan Your database configuration file is not present ! Pesan tersebut muncul karena memang sampai sejauh ini kita belum mengonfigurasi database apa yang aka digunakan. Harap sabar…)

    Nantinya, jika mod_rewrite dalam keadaan enabled, maka URL anda akan berbentuk seperti ini:

    http://www.example.com/cake/controllerName/actionName


    /param1/param2

    Contoh jika kita membuat Controller bernama ‘posts’, action-nya ‘edit’, dan parameter-nya adalah ‘1’ di localhost/cake, maka bentuk URL-nya: localhost/cake/posts/edit/1
    (Sebenarnya ada beberapa cara lain untuk men-setup Cake ke dalam Web Server. Tapi untuk sementara kita pakai cara yang paling sering dan paling mudah digunakan dulu)

     
c
Tulis postingan baru
j
tulisan berikutnya/komentar berikutnya
k
tulisan sebelumnya/komentar sebelumnya
r
balas
e
sunting
o
tampilkan/sembunyikan komentar
t
ke atas
l
masuk ke log
h
show/hide help
esc
batal