Belajar Regular Expression

Regular Expression, sering ditulis/disebut juga Regex / Regexp, adalah deretan karakter spesial yang mendefinisikan sebuah pola dalam pencarian teks. Bisa dibilang Regex itu seperti wildcard tapi lebih pintar, top markotop lah.

Setiap bahasa pemrograman menyediakan Regex engine yang berbeda. Engine di Java ga sama dengan PHP, beda juga dengan JavaScript. Karena beda engine, belum tentu ekspresi Regex yang disupport oleh satu bahasa juga disuport bahasa yang lain. Biarpun begitu, sintaks Regex tetep sama di mana-mana.

Dalam artikel ini kita akan kenalan dengan Regex dalam JavaScript. Dibanding Java & PHP, regex dalam JavaScript bisa dibilang terbatas. Artinya, semua regex dalam JavaScript pasti bisa dikopi ke dalam program Java & PHP tapi ga semua regex di Java & PHP bisa dipake di JavaScript.

Kenapa pake Regex? Regex menyederhanakan pencarian teks. Memang untuk pencarian sederhana kita bisa pake fungsi-fungsi String dan Array seperti substr(), indexOf(), slice(), dll tapi kalo pencariannya rumit, jauh lebih enak kalo pake Regex. Contohnya begini, misalnya kita mau menghitung banyaknya “ku” , “Ku”, “Kau”, dan “kau” dalam lirik lagunya Andra & The Backbone.

Kau begitu sempurna
Di mataku kau begitu indah
Kau membuat diriku akan slalu memujimu

Di setiap langkahku
Ku kan slalu memikirkan dirimu
Tak bisa kubayangkan hidupku tanpa cintamu

Janganlah kau tinggalkan diriku
Takkan mampu menghadapi semua
Hanya bersamamu ku akan bisa

Kau adalah darahku
Kau adalah jantungku
Kau adalah hidupku
Lengkapi diriku
Oh sayangku, kau begitu
Sempurna.. Sempurna..

Kau genggam tanganku
Saat diriku lemah dan terjatuh
Kau bisikkan kata dan hapus semua sesalku

Pake Regex, cukup begini bisa ketemu hasilnya ada 26 :

/(ka?u)/gi 

Kalo mau silakan coba hitung pake fungsi-fungsi String dan Array 🙂

Continue reading →

Otomatisasi dengan Gulp

Gulp adalah sebuah program utilitas untuk otomatisasi pemrosesan file. Program ini bisa kita pake untuk minifikasi skrip (dengan plugin), kopi file dari satu tempat ke tempat lain, dan sebagainya. Kalo Anda pake Mac, program ini mirip dengan Automator, jadi bisa disebut juga task runner karena fungsi utamanya jalanin task.

Dari titel di websitenya,

Gulp: “The streaming build system”

Jadi, apa itu stream?

Kalo kita baca-baca di Wikipedia, istilah file stream banyak disebut dalam artikel yang ada kaitannya dengan I/O (input/output). Sederhananya, file stream adalah sederetan data, representasi sebuah file, yang bisa kita baca, modifikasi, & simpan dalam bentuk file lagi. File stream dibuat di memori pada waktu kita buka sebuah file. Modifikasi sebuah stream terjadi sangat cepat karena dilakukan saat data masih ada di memori sebelum disimpan kembali dalam bentuk file. Karena itulah, dibanding task runner lain seperti Grunt, Gulp lebih cepat dalam memodifikasi file.

Instalasi

Karena Gulp adalah program untuk NodeJS. Tentu step pertama adalah instal Node. Proses instalasinya di luar konteks tutorial ini, jadi silakan Anda coba sendiri.

Setelah kita instal Node, kita instal gulp pake NPM (Node Package Manager). Perintahnya begini:

npm install gulp

Terus pastikan gulp ada di system path.

Continue reading →

Belajar Laravel 4 : 02. Artisan

laravel_logo

Seperti framework modern yang lain, Laravel juga punya command-line utility yang disebut Artisan (pake “t“, bukan arisan). Dalam bab ini, kita akan berkenalan dengan Artisan & coba bikin perintah sendiri. Daftar perintah (command) yang udah bawaan Laravel 4 bisa diliat pake perintah:

php artisan list

Dari sekian banyak command, beberapa yang nantinya sering kita pake adalah:

  • migrate
  • migrate:rollback
  • controller:make
  • routes
  • db:seed
  • up
  • down

Main-main dengan Artisan

Kita mau coba bikin command sederhana yang bisa nerima input & menghasilkan output di terminal. Kita bikin kalkulator aja.

Pertama kita bikin subdirektori laler di app/commands/. Terus kita ketik perintah berikut:

php artisan command:make Calc --command=laler:calc --path=app/commands/laler --namespace=Laler

Continue reading →

Belajar Laravel 4 : 01. Instalasi Composer, Laravel & Laler

Ingin belajar Laravel 4 tapi nggak tau mulai dari mana? Udah baca-baca tutorial & dokumentasi tapi tetep nggak ngeh? Dalam seri tutorial kali ini saya akan bagi pengalaman saya bikin web apps pake Laravel.

Kita akan bikin aplikasi yang fungsi dasarnya mirip Twitter di mana user bisa saling follow/unfollow, posting status, & kirim direct-message. Pokoknya nggak terlalu sederhana tapi juga nggak terlalu rumit. Biasa-biasa aja lah.

Aplikasi ini kita kasih nama “Laler”, akronim dari “LAraveL mirip TwittER“. Kreatif kan?! Hehe 🙂 Continue reading →

Making Rotatable IsoGroup

In this article, I will show you how to make a rotatable IsoGroup in As3Isolib. Well, I don’t actually rotate the group but instead, I reposition the group’s children so that the group appears to be rotated. 🙂

If you’re new to As3Isolib, you can learn a bit about the basics here. If you know the library already, you might want to skip step 1.

Basic steps:

  • Subclass the IsoGroup
  • Map the group’s children’s positions to a 2d array
  • Add rotation logic
  • Rotate the array
  • Use the array to reposition the children
  • Render

What I need:

  1. as3ds Array2 class
  2. an algorithm to rotate a 2d rectangular array. Just google it. It’s everywhere 🙂

Continue reading →