Membuat Plugin jquery (Part 2)

dokumen-dokumen yang mirip
Membuat Plugin jquery (Part 1)

Dasar Pemrograman Web. Pemrograman Web. Adam Hendra Brata

Pengenalan Script. Definisi HTML

Bab 5. Cascading Style Sheet (CSS)

Dasar Pemrograman Web. Pemrograman Web. Adam Hendra Brata

Pemrograman Web. Cascading Style Sheets. Created by : Rifqi Sambas Khairurrohman

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Contoh Syntax: Contoh di atas menunjukkan. S e l e c t o r : h 1. P r o p e r t y : c o l o r. V a l u e : r e d. (red).

HTML (HyperText Markup Language)

MODUL PRAKTIKUM PEMROGRAMAN WEB

Nama : Yohandes Efindo NIM : Kelas : F. Terjemahan halaman 4-5. Tag HTML

Manual Seting Member Card Pada SLiMS 7 (Cendana)

PEMROGRAMAN BERBASIS WEB. Part 1,2 HTML. By Rolly Yesputra Sekolah Tinggi Manajemen Informatika dan Komputer Royal Kisaran, 2018

Secara garis besar, terdapat 3 cara menginput kode CSS, yaitu metode Inline Style, Internal Style Sheets, dan External Style Sheets.

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Pemrograman Web Week 4. Team Teaching

Struktur Umum File Dengan Bahasa HTML

Mahasiswa memahami Pengertian, fungsi, aplikasi untuk menjalankan JavaScript, cara menjalankan kode, cara memasukkan kode JavaScript ke dalam HTML

Pengenalan JavaScript

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI. autentikasi dan otorisasi user. Aplikasi belum menggunakan teknologi responsive

[SANGAT MUDAH] Cara Membuat Tab dengan Bootstrap

PT QWORDS COMPANY INTERNATIONAL

KISI-KISI SOAL TEORI UJIAN SEKOLAH

PENDAHULUAN Yosef Murya Kusuma Ardhana. ST., M.Kom

Bu k u Ma n u a l Web Si t e SK PD Pem er i n t a h K a b u pa t en Ma l a n g

Persiapan. Jalankan server apache dari XAMPP control panel Ekstrak file yang telah dibagikan, Salin folder week_8 ke htdocs

Teks dan Background SERIF SANS-SERIF MONOSPACE

Desain Grafis. RAHMADY LIYANTANTO liyantanto.wordpress.com

BAB 2 TINJAUAN PUSTAKA. : Multi sistem operasi, bisa Windows, Linux, Mac OS, maupun Solaris

PEMBUATAN BAHAN AJAR KIMIA BERBASIS WEB MENGGUNAKAN MICROSOFT FRONTPAGE

Belajar Dasar HTML 5. It s all about 4rt, not how smart you are. S u p p o r t e d b y : [ C y b e r 4 r t C r e w ]

KKN SISDAMAS Panduan Penggunaan Blog KKN ( UIN SGD BANDUNG) UIN Sunan Gunung Djati Bandung. Pusat Teknologi Informasi dan Pangkalan Data

WEB STATIS MEMBUAT TUTORIAL PENGGUNAAN FRAMEWORK CSS

Persiapan. File latihan.rar diekstrak. Contoh apabila Bahan diekstrak di d:\

Area kerja. Gambar 1. Tampilan awal MS FrontPage

Pemrograman Web Week 2. Team Teaching

Pemrograman WEB PERTEMUAN KE-1

Cara membuat HTML dasar

PANDUAN DASAR MEMBUAT WEBSITE

Keuntungan Memisahkan presentation sebuah dokumen dari content document itu sendiri Mempermudah dan mempersingkat pembuatan dan pemeliharaan dokumen w

Trik Mudah Membuat CMS Website dari Nol

Kurikulum Qt. Chapter 4 Function. Fungsi

MODUL 1 PENGENALAN HTML

MODUL 1 HTML. (HyperText Mark-Up Language)

LAPORAN PRAKTIKUM MONITORING BERBASIS WEB

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

Materi 1 Komputer Aplikasi IT (KAIT) 2 SKS Semester 1 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya nizar.radliya@yahoo.com

Pemrograman Web. Amar Hikmawan TKJ Kelas X SMK Muh 1 Klaten Utara Klaten

Chapter 2. Tipe Data dan Variabel

Fungsi : Dasar Fungsi

Pelatihan Intel XDK. Modul 3. Pengenalan Intel XDK Development Tools. Dikembangkan oleh Intel Software.

KAJIAN 3 Web Responsive

Daftar Isi. 2 P a g e

Interactive Broadcasting

Posting, Edit dan Hapus Berita

Membuat Plugin Wordpress Sederhana

AJAX. Pemrograman Web. Rajif Agung Yunmar, S.Kom

Modul 3 CSS CASCADE STYLE SHEET

CSS. Cascading Style Sheet. Spesifikasi lengkap di :

HTML 5. Geolocation Web SQL Database, media penyimpanan database lokal

Pert 11 DASAR-DASAR WEB DESIGN

JavaScript. Pemrograman Web 1. Genap

Link Categories, digunakan untuk mengelompokkan link ke dalam kategorikategori

Materi 2 Komputer Aplikasi IT (KAIT) 2 SKS Semester 1 S1 Sistem Informasi UNIKOM 2014 Nizar Rabbi Radliya nizar.radliya@yahoo.com

BAB II DASAR TEORI. subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi,

Interactive Broadcasting

Mengenal dan Mengedit HTML

BAB 2. Membuat Halaman Web Sederhana. Materi

BAB II TINJAUAN PUSTAKA DAN DASAR TEORI

Membuat Login Pop Up Dengan JqueryUI

PETUNJUK PENGGUNAAN PENGISIAN SASARAN KERJA PEGAWAI DAN REALISASI SECARA ONLINE

PEMROGRAMAN WEB 1 JavaScript Rio Andriyat Krisdiawan, M.Kom

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

Panduan Dasar Membuat Website

BAB I PERKENALAN HTML

PENGABDIAN MASYRAKAT PELATIHAN PEMBUATAN WEB UNTUK USTADZ DAN PENGELOLA PONDOK PESANTREN SEBAGAI MEDIA INFORMASI DI KABUPATEN/KOTA KEDIRI

DASAR-DASAR WEB DESIGN

Mengelola Bagian Utama Website Sekolah

Membuat Layout Web Mengunakan Table

TAG UTAMA HTML. Materi. Heading Paragraf Font Breakline Horisontal Line

Pemrograman Web PRAKTIKUM 3 CSS. TUJUAN BELAJAR Mahasiswa dapat menggunakan css untuk mengatur gaya tampilan elemenhtml

BAB I PERKENALAN HTML

CSS (Cascading Style Sheet) Oleh : Devie Rosa Anamisa

BAB III Validasi HTML5

Memulai Google+ 2.1 Registrasi Google+

PHP & MYSQL. Ingat, PC anda tidak memerlukan tambahan khusus atau apapun untuk melihat hasil eksekusi kode PHP anda. Mengapa?

PENGEMBANGAN SISTEM INFORMASI AKREDITASI

DESAIN WEB STATIS DAN HTML. Dahlan Abdullah Website :

Tag HTML Container. Nuryani Sofia Dewi / / Kelas A

MODUL PEMOGRAMAN WEB I STMIK IM BANDUNG MODUL PEMOGRAMAN WEB I. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

MODUL PEMOGRAMAN WEB I STMIK IM BANDUNG MODUL PEMOGRAMAN WEB I. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Perancangan Website Ujian. Teknik Elektro UNDIP Berbasis HTML

PHP mendukung komentar yang digunakan pada C, C++ dan Shell Unix. Sebagai contoh:

PEMROGRAMAN WEB 1 CSS

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

Web Programming (WP) Step 2 [ HTML & PHP BASIC]

Tutorial Pengenalan HTML (Hypertext Markupable Language)

BAB 2 TINJAUAN PUSTAKA DAN DASAR TEORI

Transkripsi:

Membuat Plugin jquery (Part 2) Oleh: muhamad iqbal ini adalah bagian kedua dari seri membuat plugin jquery, hal yang dibahas mengenai pembuatan plugin yang dapat dipakai untuk aplikasi sesungguhnya dan juga memperkenalkan sebuah plugin yang akan menjadi studi kasus pertama dalam seri tutorial ini. Plugin Yang Sebenarnya Pada bagian sebelumnya kita sudah membahas tentang seluk beluk plugin dan juga membahas sebuah contoh plugin yang sangat sederhana. Contoh yang dibahas sebelumnya merupakan ilustrasi minimal sebuah plugin, akan tetapi sebenarnya kita belum membahas hal hal lain yang mesti kita tambahkan agar plugin kita menjadi plugin yang sebenarnya. Apa saja yang perlu kita tambahkan? Yang pertama adalah rantai. Merantaikan Plugin Merantaikan (chaining) sebuah fungsi merupakan salah satu fitur jquery, kita bisa dengan mudah untuk melakukan beberapa aksi secara berantai pada satu atau beberapa elemen html (elemen yang dipilih selektor) tanpa perlu kembali memanggil ulang selektor dan bahkan hanya dilakukan dengan hanya satu baris kode. Coba tambahkan baris berikut kedalam script pada file html yang sudah kita buat pada bagian sebelumnya. //tag <p>, dengan font biru, class= paragrafbiru, dan ditambahkan plugin $("p").css("color","blue").addclass("paragrafbiru").pluginku(); Kode diatas membuat semua tag <p> pada halaman web tulisannya berwarna biru, kemudian ditambahkan kelas paragrafbiru dan terakhir ditambahkan plugin. Sekarang kita ubah sedikit kode diatas sehingga menjadi //tag <p>, dengan font biru, class= paragrafbiru, dan ditambahkan plugin $("p").css("color","blue").addclass("paragrafbiru").pluginku(); yang terjadi adalah warna teks tidak berubah menjadi biru, dan penyebabnya adalah tidak lain dan

tidak bukan karena pluginku() tidak berantai, dan ketika fungsi.css() dipanggil terjadi kesalahan pada program. Salah satu tujuan kita saat menggunakan plugin adalah agar bisa digunakan selayaknya fungsi lain pada jquery, dan agar tujuan itu tercapai tenyata tidaklah sulit, cukup dengan menambah satu baris kode pada plugin kita yaitu return this; dan baris tersebut ditambahkan pada kode plugin sehingga menjadi +function($){ $.fn.pluginku = function(){ this.text("ini dihasilkan oleh plugin"); return this; //satu baris ini yg menjaga mata rantai tidak terputus }; }(jquery); Jika ada yang merasa penjelasan yang diberikan terlalu panjang hanya untuk menjelaskan 2 kata yaitu return this, ingatlah bahwa dalam mengembangkan perangkat lunak kesalahan paling kecil sekalipun mampu mengakibatkan bencana nasional. Menyediakan Pilihan Hal berikutnya yang mesti dilakukan untuk membuat plugin yang sebenarnya adalah dengan menyediakan pilihan atau opsi. Maksudnya adalah plugin yang kita buat seharusnya dapat dipergunakan secara fleksibel dengan cara memberikan opsi pada pengguna untuk melakukan kostumisasi terhadap hasil kerja (output) dari plugin. Sebagai ilustrasi kita kembali ke contoh kita yaitu pluginku(), yang outputnya selalu teks berisi ini dihasilkan oleh plugin. Teks tersebut merupakan teks default yang dihasilkan plugin, dan tentu saja teks default tidak selalu dibutuhkan, misalkan kita ingin menggantikan teks tersebut dengan ini bukan teks default. Sekarang kita lihat dulu dari sisi pengguna, selama ini kita memanggil plugin dengan sintaks $(/*selektor */).pluginku(); dengan menyediakan opsi maka kita juga bisa memanggil plugin dengan cara $(/*selektor */).pluginku( opsi );

jadi untuk merubah output plugin, kita mengirim variabel opsi saat pemanggilan. variabel opsi sendiri merupakan sebuah objek javascript yang berisi pasangan kunci dan nilai (key-value pair, untuk lebih lanjut silahkan pelajari tentang objek di javascript). Objek yang kita maksud memiliki struktur seperti ini var opsi = { teks : "ini bukan teks default" } $(/*selektor */).pluginku( opsi ); //atau dengan alternatif lain tanpa variabel opsi $(/*selektor */).pluginku({ teks : "ini bukan teks default" }); //cara kedua lebih sering dipakai orang orang, cek saja di internet pertama tama yang perlu diketahui adalah key-value pair pada contoh diatas yaitu satu pasangan dengan key adalah teks dan value berupa string "ini bukan teks default", dalam javascript sebuah objek dapat dituliskan sebagai kumpulan key-value pair yang dipisahkan tanda koma didalam sebuah kurung kurawal ( { key : value, key : value } ). Walaupun kode diatas belum dapat berjalan, tapi kita sudah dapat menetapkan beberapa hal (dari sisi pengguna) yaitu objek digunakan hanya jika kita ingin melakukan kostumisasi, untuk mengatur teks, maka kita menggunakan teks dan mengisikan nilai berupa string yang kita kehendaki. Setelah kita mengetahui bagaimana plugin kita nantinya akan dipergunakan, selanjutnya kita akan kembali membongkar mesin dalam plugin kita. Kita akan membuat objek default yang akan dipakai didalam plugin kita dan kemudian akan diuji apakah pengguna mempergunakan opsi atau tidak, langsung saja sehingga plugin kita menjadi +function($){ $.fn.pluginku = function( opsi ){ //setting default plugin, berisi teks default var defsetting = { teks : "ini dihasilkan oleh plugin" } //$.extend() digunakan untuk menggabungkan objek var setting = $.extend(defsetting, opsi); //setting, objek yang digunakan sebagai output this.text(setting.teks); //setting.teks, menampilkan teks return this; };

}(jquery); defsetting merupakan objek default yang kita bicarakan sebelumnya, kemudian hal yang selanjutnya dilakukan adalah memanggil fungsi.extend() untuk menggabungkan objek, bagi mereka yang ingin informasi lengkapnya, silahkan cari referensi fungsi jquery.extend() di website referensi jquery. Pertanyaanya adalah, untuk apa menggabungkan objek? jawabannya adalah untuk mengetahui apakah pengguna merubah setting atau tidak. extend() menerima parameter berupa objek, dan pada contoh diatas kita menggunakan dua objek yaitu defsetting dan opsi, danyang kemudian terjadi adalah objek pertama ditambah oleh objek kedua. Sebagai ilustrasi misalkan kita mempunyai 2 objek sop buah sop1 = { apel: manis, jeruk: asem, pepaya: lumayan } sop2 = { nanas: lezat, semangkat: nikmat, pepaya: enak } dengan kedua objek diatas, bagaimana jika kita melakukan operasi $.extend(sop1, sop2) maka hasilnya akan menjadi { apel: "manis", jeruk: "asem", pepaya: "enak", nanas: "lezat", semangkat: "nikmat" } dan bila melakukan operasi $.extend(sop2, sop1) maka hasilnya akan menjadi { nanas: "lezat", semangkat: "nikmat", pepaya: "lumayan", apel: "manis", jeruk: "asem" } coba perhatikan pada nilai pepaya, pepaya terdapat pada kedua objek dengan nilai berbeda dan pada operasi extend() nilai dari objek pertama akan ditimpa oleh objek kedua jika memiliki nama yang sama. Itulah sebabnya mengapa pada operasi pertama pepaya memiliki nilai enak sedangkan pada operasi kedua pepaya memiliki nilai lumayan.

Jika kita kembali kepada contoh plugin, maka kita sudah mengetahui bahwa jika teks diganti oleh objek opsi maka setelah memanggil extend() teks default akan ditimpa nilainya oleh teks pada opsi sehingga bisa diubah sesuai keinginan pengguna. Dan sekarang plugin kita sudah mampu untuk menyediakan pilihan bagi penggunanya, silahkan salin kode diatas dan coba jalankan. Cukup sampai disini kita menggunakan contoh plugin (yang tidak berguna) itu, karena kita akan menggantikannya dengan yang lebih berguna. Studi Kasus tab plugin Misalkan kita mempunyai sebuah halaman web seperti ini misalkan halaman tersebut adalah sebuah artikel yang terdiri dari 3 bagian dan masing2 memiliki link diatasnya untuk navigasi langsung ke bagian tersebut (dengan hash / # pada link), untuk memperindah tampilan dan memudahkan navigasi, kita dapat membuat layoutnya menjadi

berbentuk tab seperti ini bagaimana membuat halaman tersebut menjadi tab? solusinya dapat ditebak, yaitu dengan plugin. misalkan kita anggap plugin tersebut sudah selesai, dan sekarang kita menggunakan sudut pandang pengguna. Pertama kita harus mengikuti requirement atau kebutuhan untuk mempergunakan plugin tersebut pada file html kita. requirement yang dimaksud adalah format markup agar plugin kita nanti dapat berjalan sesuai dengan tujuan pembuatnya juga tujuan kita sebagai pengguna, dan format yang dimaksud adalah membuat sebuah blok <div></div> yang akan menjadi tempat atau container plugin kita, misalkan kita membuat sebuah <div> yang lebarnya 50% layar dan memiliki ID tab-container <div id="tab-container"style="width:50%;"> <!-- disini berisi markup untuk tab kita --> </div> kemudian di dalam container tersebut barulah kita menuliskan isi tab kita, tab kita terdiri dari header atau bagian kepala untuk navigasi dan content yang menjadi wadah untuk isi masing - masing tab. header merupakan sebuah list (<ul>) yang berisi link ke masing - masing isi tab, untuk contoh diatas maka markup yang ditulis adalah <div id="tab-container" style="width:50%;"> <ul class="tab"> <li class="tab-header active">

<a href="#tab1">judul tab pertama</a> </li> <li class="tab-header"> <a href="#tab2">judul tab kedua</a> </li> <li class="tab-header"> <a href="#tab3">judul tab ketiga</a> </li> </ul> <!-- akhir dari header, dilanjutkan ke content--> itu adalah markup header yang kita perlukan, jadi formatnya adalah didalam container kita perlu membuat sebuah list <ul> dengan kelas tab dengan didalamnya terdapat list <li> dengan kelas tab-header dan didalamnya terdapat link yang menunjuk ke ID content yang akan kita buat nanti. Ingat bahwa setiap nama kelas wajib seperti itu karena merupakan requirement dari plugin. Sekarang kita lanjutkan kembali untuk konten <div class="tab-content" id="tab1"> <h3>ini isi dari tab pertama</h3> </div> <div class="tab-content" id="tab2"> <h3>ini isi dari tab kedua</h3> </div> <div class="tab-content" id="tab3"> <h3>ini isi dari tab ketiga</h3> </div> <!-- akhir dari content, dilanjutkan dengan tag </div> untuk menutup container --> lanjutkan bagian header dengan markup diatas, peraturannya sama bahwa tiap elemen <div> kelas

harus tepat seperti pada contoh, sedangkan untuk id boleh sesuai keinginan asalkan sama seperti alamat link pada bagian header. Setelah selesai membuat markup diatas sekarang adalah bagian pentingnya, yaitu menggunakan plugin <script> //pastikan jquery dan plugin sudah di include $(function(){ $("#tab-container").simpeltab(); }); </script> sangat mudah, cukup dengan hanya satu baris kode pemanggilan plugin dan kemudian seakan sulap halaman web kita berubah rasa dan penampilannya menjadi lebih mutakhir. Sekarang kita sudah mengetahui cara mempergunakan plugin tersebut, sekarang kita akan membahas plugin itu sendiri. Karena plugin kita perlu nama, dan plugin kita merupakan plugin yang sederhana, maka izinkan saya untuk memperkenalkan simpeltab. Tapi sabar dulu, karena itu akan disajikan pada part selanjutnya, oke sampai jumpa. Tentang Penulis muhamad iqbal Mahasiswa di bidang studi computer science. sementara ini masih menjelajahi secara umum seputar pengembangan web, aplikasi android, dan embedded system.