Archive for the Category » Programming «

Thursday, May 14th, 2009 | Author: Riza

Code berikut adalah rutin program untuk melakukan search seluruh file dan subdirektori yang ada di dalam suatu drive atau direktori tertentu dan ditulis dalam bahasa pemrograman Delphi (object pascal). Searching dilakukan dengan teknik rekursi (recursion).

Continue reading

Tuesday, February 17th, 2009 | Author: Riza

Static method didefinisikan sebagai method (procedure/function) yang beroperasi pada level class, bukan pada level object. Dengan kata lain, sebuah method yang dideklarasikan sebagai static method bisa dipanggil tanpa terlebih dahulu membuat instan dari class tempat method tersebut dideklarasikan. Karena bisa dipanggil tanpa proses inisiasi object, sebuah static method hanya akan disimpan pada satu lokasi memory saja untuk satu aplikasi. Maka dengan sendirinya, walaupun merujuk pada suatu class, static method tidak bisa diakses melalui variabel seperti Self pada object pascal serta this pada C++.

Pada object pascal, static method disebut juga dengan class method (class function atau class procedure). Implementasi adalah dengan menambahkan reserved word class pada awal pendeklarasian sebuah procedure dan function. Perhatikan contoh cara mendeklarasikan static method pada object pascal berikut ini.

Continue reading

Saturday, February 07th, 2009 | Author: Riza

Style Windows Xp - Logo Windows XpSecara default, style Windows Xp tidak diimplementasikan secara otomatis ke aplikasi yang kita buat. Untungnya, Delphi versi 7 dan setelahnya telah menyediakan sebuah komponen khusus bernama XPManifest (TXPManifest). Sehingga hanya dengan menambahkan komponen ini ke salah satu form pada aplikasi yang dibuat, simsalabim! Begitu dijalankan, style aplikasi akan berubah menjadi style Windows Xp. Namun bagaimana jika masih menggunakan Delphi 6 seperti saya? Setelah mencari-cari akhirnya dapat juga cara mengimplementasikan style Windows Xp pada aplikasi yang dibuat tanpa menggunakan komponen tambahan. Langkahnya sebagai berikut:

Continue reading

Thursday, December 18th, 2008 | Author: Riza

RecursionRekursi atau recursion dalam matematika dan ilmu komputer diartikan sebagai fungsi yang dalam definisinya mengimplementasikan dirinya sendiri. Untuk lebih mudahnya, bisa dikatakan bahwa rekursi adalah fungsi yang memanggil dirinya sendiri.

Namun demikian, rekursi tidaklah hanya merupakan istilah eksak semata. Jika kita mau memperhatikan lagi dengan lebih teliti, ternyata ada banyak contoh rekursi di sekeliling kita. Rekursi dalam dunia nyata bisa terjadi salah satunya adalah jika kita meletakkan dua cermin secara berhadapan dan sejajar. Bayangan yang terjadi pada kedua cermin itulah rekursi. Contoh lain dari rekursi di dunia nyata adalah seperti yang diperlihatkan gambar-gambar di bagian akhir tulisan ini.

Dalam dunia matematika dan komputer, rekursi khususnya digunakan untuk menyelesaikan perhitungan yang rumit dan kompleks. Prinsip rekursi sebenarnya sederhana, yaitu memecah masalah menjadi masalah-masalah yang lebih kecil. Dengan memecah masalah menjadi bagian-bagian yang lebih kecil tersebut, masalah yang sangat kompleks dan rumit sekalipun akan lebih mudah untuk diselesaikan.

Continue reading

Wednesday, December 10th, 2008 | Author: Riza

Pascal's Triangle (Segitiga Pascal)Pemrograman visual yang termasuk dalam keluarga RAD (Rapid Application Development) ternyata bagaikan pedang bermata dua. Satu sisi memang memberikan kemudahan dan waktu development yang jauh lebih singkat dibanding pemrograman konvensional (non visual). Namun pada sisi yang lain justru seperti mengebiri kemampuan mencari algoritma programmer untuk memecahkan suatu masalah.

Walaupun ini pendapat pribadi yang tentu saja sangat subyektif, namun bagi programmer yang awalnya atau pernah berkecimpung dengan pemrograman non visual pasti berpendapat sama. Atau bisa jadi bukan karena pemrograman visual-nya. Tapi lebih karena faktor programmer itu sendiri yang malas mengasah kemampuan mencari algoritmanya. Atau mungkin karena kurikulum di kampus sekarang yang sudah tidak lagi mengajarkan mata kuliah tentang algoritma dengan mendalam. Padahal algoritma adalah sesuatu yang sangat esensial dalam dunia pemrograman. Programmer yang bagus pasti memiliki kemampuan yang bagus pula dalam mencari algoritma untuk memecahkan suatu masalah.

Continue reading

Sunday, December 07th, 2008 | Author: Riza

Setiap programmer pasti memiliki gayanya masing-masing dalam menulis program. Perbedaan gaya dalam menulis program (baca: programming style) ini bukanlah sesuatu yang salah tentu saja. Namun demikian, suatu programming style akan menjadi sesuatu yang bermasalah jika tidak mengikuti kaidah pemrograman yang baik dan benar.

Pradigma dalam menulis program sekarang sudah berubah. Suatu code program dikatakan bagus jika code program itu makin mudah dibaca (readable). Kalau kita telaah lebih jauh, ternyata 80% atau bahkan mungkin 90% dari siklus hidup sebuah software atau yang dikenal dengan Software Development Life Cycle dihabiskan untuk maintanance. Itulah sebabnya hasil dari proses software development harus mudah untuk dipelihara (maintainable). Dan syarat mutlak sebuah software maintainable tentu saja jika source code yang membangun software tersebut readable atau mudah dibaca. Semakin readable source code suatu program, jelas makin mudah source code tersebut dipahami sehingga makin mudah pula diperbaiki jika dikemudian hari ditemukan bug.

Untuk lebih jelasnya coba perhatikan contoh dalam C++ berikut.

Continue reading

Friday, November 28th, 2008 | Author: Riza

Animasi 2D mau bagaimana bentuknya pada dasarnya sama saja yaitu menampilkan gambar-gambar secara bergiliran. Untuk membuat animasi pada game 2D pada umumnya, sedikitnya ada tiga class yang terlibat. Ketiga class tersebut adalah:

  1. Class yang merepresentasikan citra/image yang akan dianimasikan. Biasanya disebut sprite. Dalam hal ini adalah TSprite.
  2. Container untuk menampung sprite objects. Container ini juga berperan sebagai sprite manager. Pada contoh code diberi nama TSpriteContainer.
  3. Class yang melakukan animasi. Bisa disebut sprite engine. Pada contoh code disebut TSpriteEngine.

Berikut adalah contoh code yang menampilkan teknik untuk melakukan animasi sederhana. Kelihatannya ribet yah. Mungkin iya karena code berikut adalah implementasi sederhana dari sebuah sprite engine untuk game 2D.

Continue reading

Tuesday, November 25th, 2008 | Author: Riza

Jika jumlah record yang di-query oleh suatu website dari database sudah cukup banyak jumlahnya, misalnya lebih dari 100 record, sepertinya sangat tidak bagus untuk menampilkan semua record tersebut dalam satu halaman saja. Alasan utamanya adalah pemborosan bandwidth karena sebenarnya, pengunjung website tersebut tidak akan pernah melihat semua record yang ditampilkan dari record pertama sampai terakhir. Mereka paling banyak hanya membutuhkan 20 record pertama. Selebihnya? Hmm … anda sudah tau sendiri. Siapa yang peduli!? Alasan lain adalah untuk menampilkan record set dengan jumlah record yang besar, website membutuhkan waktu yang cukup panjang

Continue reading