Utak-atik Stored Procedure

23 06 2008

Haha… dengan sedikit malu-malu saya mengakui jika selama ini sangat jarang sekali menggunakan stored procedure.  Saya biasanya menyelesaikan masalah dengan menggunakan query demi query.

Well, salah satu keuntungan menggunakan stored procedure adalah pada meminimalkan beban bandwidth pada client ke server.  Jadi proses seluruhnya dilimpahkan ke server.  Client hanya mengirimkan input, lalu server mengolahnya, hasil keluarannya dikirimkan ke client.  Selama ini saya jarang sekali menggunakan stored procedure karena biasanya program yang saya buat merupakan program “stand-alone”, tidak perlu server.

Untuk memulai belajar, saya pikir lebih cocok menggunakan Firebird.  Sepertinya lebih simple jika dibandingkan dengan MSSQL, MySQL atau bahkan Oracle :)

Ada yang punya sumber-sumber (artikel, buku, tutorial) mengenai Stored Procedure di Firebird ?





Petals Around The Rose

3 06 2008

Teman saya memberitahukan mengenai permainan ini ketika sedang berbicara melalui telepon. Dia juga membuat posting di blognya berkaitan dengan permainan ini.

Coba mainkan game Petals Around The Rose di website ini.  Permainan ini cukup menarik sebagai brain-teaser.  Cuma ada 3 aturan yang harus anda perhatikan dalam game ini.  Jika anda berhasil memecahkannya, tidak ada salahnya mendaftar menjadi anggota Fraternity of Petals Around The Rose.

Ingat, jika anda berhasil memecahkannya, jagalah “rahasia” permainan ini baik-baik. Jangan bocorkan dan jangan beritahukan pada teman-teman anda :)  You are sworn to secrecy !!





Identifikasi Lagu (MP3 Fingerprint)

18 02 2008

Tadi pagi sempat nonton acara Sing A Song di RCTI. Menarik juga… itu komentar saya pada awalnya. Salah satu segmen pada acara tersebut mengingatkan saya pada ide lama yaitu bagaimana caranya supaya komputer bisa mengenali irama lagu dan mampu menyebutkan judul lagu dan penyanyinya dengan benar. Contoh kasusnya, kita dengar potongan lagu di radio. Lagu tersebut kebetulan enak didengar dan terasa familiar (sudah pernah dengar sebelumnya) tapi kita lupa judulnya.

Dengan memperdengarkan lagu tersebut pada komputer (atau perangkat lainnya seperti handphone, pda, dsb) maka gadget tersebut mampu menampilkan judul lagu dan nama penyanyinya.  Nantinya ide ini bisa dijadikan layanan komersial. Untuk setiap request yang berhasil (ditemukan judul lagu dan nama penyanyinya) maka operator memungut biaya tertentu. Jika tidak ditemukan maka hanya perlu membayar biaya gprs (jika memakai webservice) atau gratis (yang ini sepertinya tidak mungkin).

Lalu pertanyaannya apa yang membedakan satu lagu dengan lagu lainnya? pitch? frekuensi? Hmmm terus terang saya kurang ahli dalam bidang musik. Salah satu alternatif yang terbayang di otak saya saat ini dengan memetakan frekuensi dari file mp3 menjadi sebuah string (rangkaian karakter). Pemetaan dilakukan dengan melihat frekuensi dan pitch dari lagu tersebut.
Contoh :
Lagu Namidairo by YUI : F454D34E3FFDGAC987334DFGBC … 45DFGBC
Lagu Balonku ada 5 : 56FGCHGGDBOPQ45BCV … DBA

Jika ada potongan lagu lalu diubah dengan pemetaan tersebut menjadi 34E3FFDGAC…, maka dengan algoritma pencarian string ditemukan potongan tersebut cocok dengan lagu Namidairo by YUI.

Potongan lagu : 34E3FFDGAC
Namidairo by YUI : F454D34E3FFDGAC987334DFGBC … 45DFGBC

Tentu saja proses pemetaan ini perlu dilakukan dengan hati-hati karena kasus dimana lagu yang sama tapi dinyanyikan dengan irama berbeda sering ditemukan. Proses pencarian juga harus mampu mencari dengan suatu batas toleransi kemiripan (misal mirip 80%, mirip 92%). Proses pemetaan tersebut tujuannya untuk mencari “sidik jari” (fingerprint) dari suatu file mp3. Mungkin tidak terbatas untuk mp3 karena dimungkinkan untuk melakukan pemetaan format file audio lainnya seperti WMA, OGG, Wav dan sebagainya.

Ada yang berminat? atau ada yang ahli dalam teori musik dan punya pendapat lain mengenai cara mengenali suatu lagu? Ditunggu komentarnya :)