Archive for » 2008 «

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

Wednesday, December 03rd, 2008 | Author: Riza

Logo Indosat M2Ini adalah bulan kedua saya menggunakan layanan IM2. Saya memutuskan untuk melanjutkan menggunakan IM2 karena sejak mulai berlangganan akhir Oktober lalu, service yang diberikan IM2 cukup memuaskan. Tapi, sekitar 3 hari yang lalu, IM2 saya mulai bermasalah. Sejak tiga hari yang lalu sama sekali tidak bisa connect. Padahal baru saja saya isi ulang untuk berlangganan sampai akhir Desember nanti. Berkali-kali saya coba connect, hasilnya selalu saja pesan error Cannot connect to indosatM2 Invalid profile” atau “Cannot connect to IndosatM2 Invalid username or password“. Ada apa ini?

Continue reading

Tuesday, December 02nd, 2008 | Author: Riza

Bunda, Qeitbey, dan Aku.Sungguh ngga terasa waktu begitu cepat berlalu. Sepertinya belum lama aku foto bertiga bareng Qeitbey dan Bunda waktu acara syukuran kelahiran Qeitbey yang pertama. Eh, ngga terasa Qeitbey sekarang sudah 3,5 tahun saja. Tepatnya 3 tahun 4 bulan 6 hari. Qeitbey sekarang sudah mulai masuk PUD (Pendidikan Usia Dini) alias pra TK (Taman Kanak-kanak). Sudah pinter banget ngomong. Tiap hari ada saja omongan atau tingkahnya yang bikin geli. Dulu sebelum menikah dan punya anak, aku sering banget denger cerita dari teman-teman yang sudah berkeluarga. Cerita apalagi kalau bukan cerita tentang anak-anak mereka. Mereka bilang anak itu obat capek lah, anak itu sumber inspirasi lah.

Continue reading

Category: Journals  | Tags: ,  | 5 Comments
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

Thursday, November 27th, 2008 | Author: Riza

iPhone 3G

Membaca berita di detik.com tentang iklan iPhone yang dicekal oleh otoritas periklanan di Inggris jadi miris sendiri. Hak-hak konsumen di sana benar-benar dilindungi. Padahal menurut tulisan tersebut, iklan iPhone hanya sedikit mengesankan kalau smartphone itu bisa mendownload data via 3G dengan sangat cepat. Tapi otoritas periklanan di Inggris memutuskan untuk mencekal iklan tersebut karena dianggap bisa menyesatkan konsumen. Hebat ya. Coba bandingkan dengan iklan perang tarif antara operator GSM di Indonesia. Norak ya. :D

Category: Journals  | Tags: , ,  | 2 Comments
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

Tuesday, May 20th, 2008 | Author: Riza

Peringatan hari Kebangkitan Nasional tahun ini agak berbeda dari tahun-tahun sebelumnya. Terasa lebih istimewa. Jauh hari sebelum jatuh tanggalnya, Hari Kebangkitan Nasional tahun ini telah mulai disosialisasikan. Semua stasiun televisi secara bersama-sama menayangkan iklan layanan masyarakat tentang Hari Kebangitan Nasional. Semua isu dan event selalu dikaitkan dengan Hari Kebangkitan Nasional. Mulai dari promosi Tahun Kunjungan Wisata (Visit Indonesia Year) 2008 yang kedua setelah tahun 1991, sampai perhelatan bulu tangkis Piala Thomas dan Uber.

Hari Kebangkitan Nasional tahun ini terasa istimewa dan penting bukan hanya karena peringatannya yang keseratus. Tapi lebih dari itu, Hari Bangkitan Nasional tahun ini diperingati dalam kondisi di mana mulai turunnya rasa bangga berbangsa dan bernegara Indonesia di kalangan warga negara Indonesia sendiri. Kondisi di mana orang di negeri ini lebih suka menggunakan barang-barang luar negeri dari pada produksi negeri sendiri. Kondisi di mana makin merosotnya rasa bangga akan budaya Indonesia.

Continue reading

Tuesday, February 19th, 2008 | Author: Riza

Ada beberapa cara yang bisa digunakan untuk membuat single instance application. Saya hanya mau membagi sedikit trik lama yang sering saya gunakan yaitu dengan memanfaatkan API dari windows. Fungsi yang saya gunakan adalah CreateFileMapping dengan sedikit memodifikasi isi dari file project. Cara menggunakannya adalah sebagai berikut:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
...
 
uses Windows, … ;
 
const
  MAX_SIZE_HIGH = 0;
  MAX_SIZE_LOW = 32;
  { Bisa diganti dengan string apa saja yang akan menjadi Id
  dari aplikasi.}
  APP_IDENTIFIER = ‘th3-4ppl1c4t10nk3y’;
 
var
  hMap: THandle;
 
begin
  Application.Initialize;
 
  hMap := CreateFileMapping(0, nil, PAGE_READONLY, MAX_SIZE_HIGH,
  MAX_SIZE_LOW, APP_IDENTIFIER);
  if (hMap <> 0) and (GetLastError = ERROR_ALREADY_EXIST) then
 
  begin
    CloseHandle(hMap);
    Application.Terminate;
  end;
 
  …
 
  Application.Run;
end.

Semoga bermanfaat.