Showing posts with label Tutorial-jQuery. Show all posts
Showing posts with label Tutorial-jQuery. Show all posts

Validasi Form JavaScript Dengan jQuery dan CodeIgniter

Posted by resrsr on Friday, March 15, 2013

jQuery Form Validation - jQuery, seperti sudah dibahas pada postingan sebelumnya tentang pengetian jQuery, memang memliki kegunaan yang sangat membantu para web developer. CodeIgniter, pada sisi yang lain merupakan sebuah framework yang sangat mudah dipelajari. Namun, CodeIgniter tetap memberikan performa yang bagus, walaupun banyak master-master programer PHP yang memberikan kritik tentang security, terutama pendekatannya yang menggunakan cookie untuk authentifikasi user.

Validasi Form Menggunakan jQuery dan CodeIgniter

Form Validation With jQuery and CodeIgniter

Pada tutorial kali ini, Materi Informatika akan membahas mengenai validasi form menggunakan jQuery dan CodeIgniter. Kita akan menggunakan jQuery untuk validasi pada sisi client (client-side) dan PHP dengan CodeIgniter untuk validasi pada sisi server (server-side). Bagaimanapun, mengetahui dasar jQuery dan CodeIgniter akan lebih memudahkan pemahaman tutorial jQuery ini. Namun, jika kamu belum mengetahui dasar jQuery ataupun dasar CodeIgniter tidak jadi masalah, karena Materi Informatika akan memulai tutorial ini dari dasar.

Download CodeIgniter dan jQuery

Untuk keperluan tutorial ini, kita membutuhkan jQuery, CodeIgniter dan juga jQuery validation plugin. Berikut adalah versi software yang digunakan pada tutorial ini:
  1. CodeIgniter (Version 2.0.2) Download
  2. jQuery (1.6.1) Download
  3. jQuery Validation Plugin: Download
Untuk diketahui, saat ini Google menyediakan CDN untuk jQuery. CDN adalah semacam server untuk menyimpan script yang dibutuhkan oleh website. Pada lain kesempatan, Materi Informatika akan membahas apa itu CDN.
Nah, dengan CDN ini, kamu tidak harus mendownload file jQuery, namun cukup menggunakan jQuery yang di tempatkan di CDN Google tersebut. Syaratnya, kamu harus terkoneksi dengan internet walaupun kamu membuat tutorial ini pada localhost. Untuk menggunakannya, tambahkan script berikut ini pada <head> :
https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js

Konfigurasi CodeIgniter

Langkah pertama adalah mengkonfigurasi CodeIgniter. Kita akan menambahkan helper url dan form ke autoload CodeIgniter. Buka file autoload yang berada di application/autoload.php dan tambahkan helper berikut (line 67 sepertinya):
$autoload['helper'] =array('url','form');

Layout HTML Untuk Form

Data pada CodeIgniter ditampilkan di bagian View. Ingat tentang MVC design-pattern?.Oleh karena itu, kita akan menuliskan kode html untuk form pada bagian view, dan file view yang sama akan ditampilkan jika validasi error. Namun, jika validasi sukses, tidak ada error terjadi, makan file view yang lain yang akan ditampilkan dengan pesan sukses tentunya.
Pertama, mari kita buat header dan footer view, sehingga kita bisa mengincludekannya di form_view dan success_view.

File views/common/header.php

<!DOCTYPE>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Form Validation - Gazpo.com</title>
        <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>css/style.css" />
        <script type="text/javascript" src="<?php echo base_url();?>js/jquery-1.6.1.min.js"></script>
        <script type="text/javascript" src="<?php echo base_url();?>js/jquery.validate.js"></script>
        <script type="text/javascript" src="<?php echo base_url();?>js/jquery.validate-rules.js"></script>

    </head>
    <body>
        <div id="wrapper"> <!-- close it in footer -->

File views/common/footer.php

<div id="footer">
            <p> Tutorial by Gazpo.com.</p>
        </div>
    </div>  <!-- /wrapper  -->
    </body<!-- closing body -->
</html>

Sekarang kita bisa menambahkannya pada form_view and success_view.

File form_view.php

File form_view berisi kode html untuk membentuk form. Pada file berikut, terdapat beberapa macam tipe input (text, radio, dropdown dll) untuk memberikan contoh pada validasi dengan berbagai macam tipe input.
Disini, untuk membuat sebuah form digunakan Form Helper dari CodeIgniter, jadi kita gunakan tag form_open daripada menggunakan tag <form>. Keuntungannya, url yang dibentuk sudah otomatis menggunakan base url.
<!-- include header -->
<?php $this->load->view('common/header'); ?>

    <!-- CodeIgniter Form tag -->
    <?php $attributes = array('id' => 'form');
          echo form_open('form/process', $attributes); ?>

    <h2>Form Validation with CodeIgniter and jQuery</h2>

    <div class="field">
    <label for="name">Name</label>
    <input class="input" id="name" name="name" type="text" />
    </div>

    <div class="field">
    <label for="password">Password</label>
    <input class="input" id="password" name="password" type="password" />
    </div>

    <div class="field">
    <label for="email">Email</label>
    <input class="input" id="email" name="email" type="text" />
    </div>   

    <div class="field">
    <label for="gender">Select Gender</label>
    <div class = "gender-fields">
    <input type="radio" class="radio" name="gender" value="male">Male
    <input type="radio" class="radio" name="gender" value="female">Female
    </div>
    </div>

    <div class="field">
    <label for="state">Select State</label>
    <select class="state" name="state">
        <option class="droplist" ></option>
        <option class="droplist" >Alabama</option>
        <option class="droplist" >Alaska</option>
        <option class="droplist" >Arizona</option>
    </select>
    </div>

    <div class="field">
    <label for="agree">Terms</label>
    <input type="checkbox" class="checkbox" name="terms" value="agree" />
    </div>

    <input type="submit" name="submit" class="submit" value="Submit">
    </form>

<!-- include footer -->
<?php $this->load->view('common/footer'); ?>

File views/success_view.php

File ini akan ditampilkan jika validasi sukses:

<!-- load header -->
<?php $this->load->view('common/header'); ?>

<!-- main content -->
<h3>Form was submitted successfully! </h3>

<!-- load footer -->
<?php $this->load->view('common/footer'); ?>


File CSS Untuk Layout

Yap, kode html kita sudah siap. Sekarang saatnya memberikan sedikit dekorasi agar terlihat bagus. Berikut file CSS untuk form kita tadi:

body {
    font-family: arial,verdana,sans-serif;
    color:#333333;
    font-size:13px;
    margin: 0 auto;
    background: #f5f5f5;
    }

#wrapper {
    margin: 0 auto;
    position: relative;
    background:#FFFFFF;
    width: 900px;
    border:10px solid #eaeaea;
    }

#form {
    padding: 10px;
    }

#form .field {
    margin-bottom:15px;
    }

#form label{
    display: block;
    float: left;
    font-weight: bold;
    margin-right:10px;
    text-align: right;
    width: 120px;
    line-height: 35px;
    font-size:14px;
    cursor: pointer;
    }

#form .checkbox{
    margin-top:10px;
    }

#form .input{
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
    background-color: #eaeaea;
    background: -moz-linear-gradient(top, #ffffff, #f2f2f2);
    background: -webkit-gradient(linear, left top, left bottom,
                color-stop(0.0, #ffffff), color-stop(1.0, #f2f2f2));
    border: 1px solid #cacaca;
    font-family: inherit;
    color: #797979;
    font-size: 15px;
    padding: 8px 10px;
    width: 300px;
    font-weight: bold;
    }

#form .state{
    border: 1px solid #b9bdc1;
    padding: 5px;
    font-size: 15px;
    font-family: inherit;
    font-weight: bold;
    color: #797979;
    }

#form :focus{
    -webkit-box-shadow: 0px 0px 4px #aaa;
    -moz-box-shadow: 0px 0px 4px #aaa;
    box-shadow: 0px 0px 4px #aaa;
    }

#form .gender-fields{
    padding-top:10px;
    }

    #form  span.error {
    color:red;
    padding-left:10px;
    }

#form .info{
    margin-left:130px;
    font-size: 12px;
    font-style:italic;
    color: #999;
    }

#form .submit{
    -moz-border-radius: 15px;
    -webkit-border-radius: 15px;
    font-family: arial,verdana,sans-serif;
    background-color: #dedede;
    background: -moz-linear-gradient(top, #ffffff, #eaeaea);
    background: -webkit-gradient(linear, left top, left bottom,
                color-stop(0.0, #ffffff), color-stop(1.0, #eaeaea));
    border: 1px solid #dedede;
    color: #484848;
    font-size:14px;
    font-weight: bold;
    padding: 8px 10px;
    cursor: pointer;
    margin-left:220px;
    }

/*-- Table design to display data in success view --*/

#display_data{
padding:10px;
}

#display_data .name{
    font-style: italic;
    text-decoration:underline;
    }

#display_data table{
    border:1px solid #e5eff8;
    margin:10px 0px;
    border-collapse:collapse;
    }

#display_data tr.even{
    background:#f7fbff
    }

#display_data tr.odd .title {
    background:#f4f9fe;
    }

#display_data td {
    border-bottom:1px solid #e5eff8;
    border-right:1px solid #e5eff8;
    color:#678197;
    padding:5px 8px;
    }

#display_data td.title{
    font-weight: bold;
    width:100px;
    text-align:right;
    }

#display_data td.info{
    font-style: italic;
    width:200px;
    }

#footer {
    width:60%;
    margin:20px auto;

    }

Controller Untuk Form

Kita perlu membuat file controller yang akan di gunakan utuk memproses form. Controller ini biasanya ada untuk action form. Buatlah file bernama form.php pada application/controllers/.
Pada fungsi index kita panggil file view untuk form:

class Form extends CI_Controller {
    public function index()
    {
        $this->load->view('form_view');
    }
Sekarang, seharusnya hasilnya bisa kita lihat melalui url:
1
http://localhost/form_validation/index.php/form
Dan form html tersebut akan terlihat seperti ini:

More aboutValidasi Form JavaScript Dengan jQuery dan CodeIgniter

Berkenalan Dengan Fungsi jQuery, jQuery Function ($)

Posted by resrsr on Monday, January 28, 2013

Fungsi jQuery - Bagi seorang pengamat JavaScript #halahhh.., inti dari library jQuery sebenarnya adalah fungsi jQuery (jQuery Function ($)). Fungsi ini adalah jantung dan jiwa dari jQuery dan digunakan dalam setiap baris kode ketika jQuery diimplementasikan. Sebagian besar developer dalam pengimplementasian (penerapan) jQuery menggunakan shortcut $() sebagai pengganti dari sintaks jQuery(). Hal ini untuk meringkas kode, seperti semboyan dari jQuery sendiri, Talk Less Do More #lhoooo.

Fungsi jQuery, jQuery Function ($)

 jquery-logo


Saya tidak akan terlalu jauh membahas teori pemrograman yang akan membuat fungsi jQuery ini terlihat semakin rumit, tapi pada pondasi dasarnya yaitu bagaimana membuat sebuah objek jQuery dan mengevaluasi ekspresi yang dikirimkan sebagai sebuah parameter. Inilah yang kemudian menentukan bagaimana respon atau tindakan yang harus diambil dan objek apa yang harus dimodifikasi oleh fungsi tersebut sesuai parameter tadi.

Perlu Diperhatikan

Catatan: Library JavaScript tertentu juga menggunakan fungsi $(), sehingga konflik mungkin dapat terjadi ketika kiita mencoba untuk menggunakan lebih dari satu library JavaScript secara bersamaan. jQuery menyediakan fungsi khusus untuk mencegah situasi ini dengan jQuery.noConflict(). Untuk informasi yang lebih lengkap, lihat http://docs.jquery.com/Core/jQuery.noConflict.

Memilih Elemen DOM Mengunakan Sintaks CSS

Kelebihan terpenting dan mendasar dari jQuery adalah pada selector engine-nya. Selector engine adalah cara sebuah script mengenali elemen DOM dalam sebuah dokumen HTML. Selanjutnya kita akan belajar berbagai metode yang berbeda dalam  memilih elemen dari Document Object Model (DOM) menggunakan jQuery.

Catatan: DOM adalah sekumpulan objek dan element yang membentuk HTML, XHTML, dan dokumen XML. DOM adalah platform dan bahasa independen, yang berarti bahwa pengembang dapat menggunakan berbagai jenis bahasa pemrograman (contoh JavaScript) untuk mengakses dan memodifikasi property dan informasi dari sebuah DOM pada berbagai platform (seperti web browser) tanpa masalah kompatibilitas.

Jenis-jenis Selector Pada jQuery

Salah satu fitur yang paling penting dan paling menarik dari jQuery adalah kemudahan yang pengembang dapatkan dalam memilih elemen DOM. Penggunaan pseudo-CSS selectors menambah daftar nilai lebih yang dimiliki jQuery dari library JavaScript yang lain. Pseudo-CSS memungkinkan pengembang untuk memilih elemen dalam dokumen HTML untuk kondisi-kondisi tertentu. Fitur ini akan sangat membantu bagi siapa saja, yang sebelumnya sudah familiar dengan selector CSS karena sintaks keduanya hampir identik.
Pada selector CSS, kita dapat memilih elemen DOM dengan berbagai metode, yaitu:
  • Basic selectors
  • Hierarchy selectors
  • Filters
  • Basic filters
  • Content filters
  • Visibility filters
  • Attribute filters
  • Child filters
  • Form filters

Kesimpulan


Pada dasarnya semua metode diatas digunkaan untuk mengakses elemen DOM pada sebuah halaman HTML. Jika sudah pernah dan familiar dengan CSS, maka untuk memahami selector pada jQuery cukup mudah, karena sebagian sintaks yang digunakan hampir sama.

Sekian penjelasan saya mengenai fungsi jQuery dan bagaimana dasar cara kerja jQuery dalam menghasilkan halaman website yang interaktif. Untuk penjelasan masing-masing metode di atas akan saya bahas pada postingan yang lain. Tetep update ya  , jangan lupa like, komentar, dan sharing kalau artikel di blog ini bermanfaat. See you…
More aboutBerkenalan Dengan Fungsi jQuery, jQuery Function ($)

Pengertian jQuery, A JavaScript Library

Posted by resrsr on Wednesday, January 16, 2013

Pengertian jQuery – Untuk memahami sepenuhnya tentang jQuery dan pengaplikasiannya dalam pemrograman web modern, sangat penting untuk mengambil momen sejenak untuk melihat kembali dari mana jQuery berasal, apa yang perlu dibangun untuk mengisi, dan bagaimana dan seperti apa bentuk pemrograman dalam JavaScript sebelum  jQuery tiba. Ok, dalam postingan kali ini kita akan belajar tentang library JavaScript dan bagaimana tools ini memenuhi kebutuhan developer, serta mengapa jQuery adalah library pilihan bagi sebagian besar pengembang web. Kita juga akan mempelajari dasar-dasar jQuerymacam - macam kegunaan library jquerytermasuk bagaimana membuat fungsi-fungsi yang tersedia untuk digunakan dalam aplikasi yang akan kita bangun dan bagaimana cara kerja dari core jQuery.

Memilih jQuery dari banyak JavaScript library yang lain

Pengertian jQuery, A JavaScript Library
macam-macam-javascript-libraries (image from onextrapixel.com)
JavaScript memiliki reputasi yang kurang baik dan lebih berat dalam pembuatan aplikasi web. Kurangnya kompatibilitas browser yang konsisten, debugging yang sulit (tidak lagi setelah kita tahu cara memakai firebug), dan sintaks yang mengintimidasi yang dapat membuat proses belajar JavaScript serasa mustahil. Kalimat terakhir lebih didasarkan pada pengalaman pribadi saat pertama kali melihat source code dari macam - macam jQuery.
Agar adil, semua hal yang membuat JavaScript terlihat sulit adalah bagian dari apa yang membuatnya begitu kuat, tetapi yang tidak  membuatnya lagi mengundang seorang pengembang web pemula yang ingin  menambahkan JavaScript untuk gudang nya.

Memahami Struktur jQuery JavaScript Library

Kurva belajar yang curam terkait dengan pemrograman JavaScript telah menjadi tempat yang membuat frustasi untuk para pengembang pemula selama bertahun-tahun, dan sebagai akibat dari frustrasi yang semakin menjadi, beberapa pengembang ambisius mulai membangun JavaScript library, juga sering disebut sebagai JavaScript framework. Perpustakaan ini ditujukan untuk menyederhanakan penggunaan JavaScript, untuk membuatnya lebih mudah diakses baik oleh pengembang yang baru mengenal JavaScript ataupun pengembang yang sudah terbiasa memakai JavaScript sebagai bahasa pemrograman client-side nya. Caranya adalah dengan menciptakan fungsi kontrol yang mudah yang digunakan untuk menghapus beberapa tugas berat dari JavaScript yang sering digunakan sehari-hari . Library ini sangat berguna dalam proses Asynchronous JavaScript and XML (AJAX) karena kompleksitas dalam melakukan tugas yang sama menggunakan pemrograman JavaScript biasa (tanpa library).

Pengertian jQuery, A JavaScript Library


Tujuan Diciptakannya jQuery

Library JavaScript bertujuan untuk menyediakan sintaks yang sederhana untuk tugas-tugas umum, yang berarti meningkatkan kecepatan alur kerja untuk pengembang dan kurva belajar yang tidak menakutkan untuk pemula. Library JavaScript juga menghilangkan kerumitan dalam hal pemrograman lintas-browser menggunakan JavaScript dengan melakukan semua pemeriksaan kompatibilitas browser dalam fungsi built-in, yang merupakan penghematan waktu yang besar ketika membuat aplikasi.

Macam-macam Library JavaScript

Beberapa librari JavaScript yang paling populer yang banyak digunakan adalah:


Memahami Kelebihan jQuery

Setiap framework JavaScript memiliki kelebihan masing-masing; tidak terkecuali  jQuery. Beberapa kelebihan jQuery menurut website resminya adalah sebagai berikut:

  1. Ukuran file kecil (sekitar 23KB untuk versi 1.7).
  2. Sintaks sangat sederhana.
  3. Chainable metode.
  4. Arsitektur plug-in yang mudah untuk mengembangkan framework.
  5. Dukungan komunitas online yang besar.
  6. Dokumentasi yang lengkap di http://api.jquery.com
  7. Ekstensi tambahan dari jQuery, seperti jQueryUI.

Memahami Sejarah jQuery

Otak dibalik jQuery – John Resig - pertama kali mengumumkan karyanya di NYC BarCamp pada awal tahun 2006 (lebih lanjut tentang BarCamp, lihat http://barcamp.org). Resig mencatat di situs webnya, ia menciptakan jQuery karena ia tidak puas dengan library yang saat itu tersedia dan merasa bahwa seharusnya framework-framework tersebut bisa jauh lebih baik dengan mengurangi ”syntactic fluff” dan menambahkan kontrol khusus untuk tindakan-tindakan yang bersifat umum (http://ejohn.org/blog/selectors-in-javascript/). jQuery segera menemukan komunitasnya yang mendukung pengembangan script dan dengan cepat mendapatkan momentum. Para pengembang datang untuk membantu menyempurnakan librari ini, dan akhirnya menghasilkan rilis stabil pertama dari jQuery, versi 1.0, pada tanggal 26 Agustus 2006. Sejak itu, jQuery telah berkembang ke versi 1.7.1 (saat tulisan ini dibuat) dan telah mempunyai plug-in yang banyak tersedia dari komunitas pengembang. Sebuah plug-in adalah ekstensi dari jQuery yang bukan bagian dari library inti.
More aboutPengertian jQuery, A JavaScript Library