Archive for » 2007 «

Monday, November 19th, 2007 | Author: Riza

Beberapa hari yang lalu aku bikin fungsi untuk mengambil MAC Address dari ethernet card. Fungsinya aku beri nama GetMacAddress(AEthNumber: Byte). Kembalian dari fungsi ini adalah string dari MAC address ethernet card ber-index AEthNumber. Kalau PC hanya mempunyai sebuah ethernet card, AEthNumber bisa diisi dengan 0 (nol). Fungsi GetMacAddress memanfaatkan unit NB30 bawaan delphi yang berisi beberapa record serta fungsi untuk mengambil informasi network device melalui NetBios.

Mumpung inget, tak dokumentasikan di sini. Sekalian share kali aja ada yang perlu. Code-nya seperti di bawah ini.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses NB30;
 
function GetMacAddress(AEthNumber: Byte): string;
var
  ncb: PNCB;
  errorCode: Char;
  adapter: PAdapterStatus;
begin
 
  New(ncb);
  { Inisiasi isi memory pada pointer ncb dengan char 0 };
  FillChar(ncb^, SizeOf(TNCB), 0);
  ncb^.ncb_command := Char(NCBRESET);
  ncb^.ncb_lana_num := Char(AEthNumber);
  errorCode := NetBios(ncb);
 
  { Reset kembali isi memory pointer nbc dengan char 0 };
  FillChar(ncb^, SizeOf(TNCB), 0);
  ncb^.ncb_command := Char(NCBASTAT);
  ncb^.ncb_lana_num := Char(AEthNumber);
  { Harus berisi 16 karakter }
 
  StrPCopy(ncb^.ncb_callname, '*         ');
 
  New(adapter);
  FillChar(adapter^, SizeOf(TAdapterStatus), 0);
  ncb^.ncb_buffer := Pointer(adapter);
  ncb^.ncb_length := SizeOf(TAdapterStatus);
 
  errorCode := NetBios(ncb);
  if (errorCode = Char(NRC_GOODRET)) or
  (errorCode = Char(NRC_INCOMP)) then
    Result := IntToHex(Ord(adapter^.adapter_address[0]), 2) + '-' +
          IntToHex(Ord(adapter^.adapter_address[1]), 2) + '-' +
          IntToHex(Ord(adapter^.adapter_address[2]), 2) + '-' +
          IntToHex(Ord(adapter^.adapter_address[3]), 2) + '-' +
          IntToHex(Ord(adapter^.adapter_address[4]), 2) + '-' +
          IntToHex(Ord(adapter^.adapter_address[5]), 2)
  else
    Result := '00-00-00-00-00-00';
 
  Dispose(ncb);
  Dispose(adapter);
end;

Begitu saja semoga bermanfaat. Kali aja ada yang mau ikutan nambahin.

Wednesday, October 31st, 2007 | Author: Riza

Disadari atau tidak, ternyata banyak orang-orang dilingkungan kita yang tidak percaya bahwa tuhan itu ada alias tidak bertuhan. Otomatis, ngga percaya tuhan, maka ngga akan percaya ada kehidupan lain yang kekal setelah mati. Belum lagi itambah golongan orang-orang yang percaya tuhan itu ada alias bertuhan, tapi cara hidupnya malah seperti orang yang tidak percaya tuhan. Sama sekali ngga mencerminkan manusia yang percaya tuhan. Yang ngakunya Islam ngga pernah solat. Ngga pernah puasa. Pendeknya kerap kali melakukan sesuatu yang diharamkan agama. Dan lebih celakanya lagi, melakukannya dengan tanpa rasa berdosa sedikitpun.

Continue reading

Category: Journals  | Tags: ,  | Leave a Comment
Monday, October 29th, 2007 | Author: Riza

Ah aliran sesat. Baca-baca berita di detik.com tentang aliran sesat lama-lama malah jadi jengkel. Kenapa jengkel? Karena menurut sudut pandang ane sebagai orang Islam kebanyakan, alasan yang mereka kemukakan untuk menyesatkan ajaran Islam yang sudah semestinya adalah sangat BODOH! Contohnya adalah waktu dua orang jemaat Al-Qiyadah memberikan pernyataan yang sangat BODOH dan jahiliyah. Salah satu dari mereka waktu ditanya reporter tv beberapa waktu yang lalu kira-kira bilang begini untuk ngeles, “Ah, penolakan seperti inikan kan sudah biasa terjadi. Dulu juga ketika nabi Isa As diutus, ummat nabi Musa (Yahudi) ngga ada yang percaya. Demikian juga ketika Muhammad diutus menjadi rasul. Ummat nabi Isa (Nasrani) tidak ada yang mau percaya. Apa bedanya dengan sekarang? Ketika Ahmad Moshaddeq (pendiri Al-qiyadah) diutus menjadi rasul, ummat Muhammad juga awalnya tidak percaya bukan? Hal seperti itu akan selalu berulang… “

Continue reading

Category: Islam  | Tags: , ,  | Leave a Comment
Tuesday, October 23rd, 2007 | Author: Riza

Bagaimana cara membuat sebuah selector grayscale-bitmap?

Kita tahu, bitmap adalah citra yang dihasilkan dari kumpulan pixel berwarna. Warna dari pixel ini berupakan perpaduan dari warna merah (R), hijau (G), dan biru (B). Intensitas yang berbeda untuk masing-masing komponen warna, ketika dicampur akan menghasilkan warna baru yang berbeda juga.

Masing-masing komponen warna memiliki intensitas dari 0 (nol) sampai 255. Sehingga jumlah warna yang berbeda yang bisa dibuat dengan mencampur komponen warna (R, G, dan B) adalah 24bit, atau setara dengan:

Continue reading

Friday, October 19th, 2007 | Author: Riza

Ada katak melompat ke dalam kolam
Plung…
Lalu sepi lagi

Category: Journals  | Tags: ,  | Comments off
Friday, October 12th, 2007 | Author: Riza

Setelah beberapa bulan terlibat dalam pengerjaan proyek game online (dari perancangan sampai development), akhirnya aku mendapatkan kenyataan bahwa hal paling awal yang musti dipikirkan benar adalah masalah Load Balancing. Terutama sekali untuk game online berjenis multi player, atau lebih dikenal dengan istilah MMOG atau Massive Multiple-player Online Game.

Mungkin timbuk pertanyaan. Seawal apakah? Jawabannya adalah seawal mungkin. Bahkan sebelum memulai fase desain high level untuk sistem, metoda/arsitektur load balancing mana yang akan digunakan harus sudah ditentukan. Mengabaikan desain load balancing dan langsung hajar masuk ke fase desain high level tidak akan menyebabkan game yang didevelop tidak bisa berfungsi. Tapi, seperti pengalamanku sendiri, load balancing akan menjadi momok dikemudian hari. Ujung-ujungnya high level sistem anda harus diubah total. Tau kan apa akibatnya mengubah high level proses jika aplikasi sudah jadi dibuat? Ditambah lagi, MMOG bukan hanya terdiri atas sebuah client dan sebuah server. Melainkan terdiri atas sebuah client dan banyak server. Ada game server, ada login server, ada world server, dan sebagainya.

Continue reading

Category: Game  | Tags: , , ,  | Leave a Comment
Thursday, October 11th, 2007 | Author: Riza

Beberapa hari yang lalu ada yang tanya di salah satu forum delphi, bagaimana cara membuat sebuah class yang bisa mengelola sekumpulan object baik itu object bertipe data sama maupun berbeda. Aku rasa ngga ada salahnya kalau di-share juga di sini. Pada contoh berikut, akan dibuat sebuah class TTableManager. Class ini akan mengelola sekumpulan object bertipe data TTable. Source code-nya terdiri dari 2 file, yaitu file unit berekstensi .pas, serta file project delphi berekstensi .dpr.

Continue reading

Category: Delphi  | Tags: , ,  | 2 Comments
Wednesday, October 10th, 2007 | Author: Riza

Februari, Maret, …, Oktober. Ngga kerasa sudah 9 bulan sejak pertama kali ke Bali. Waktu terasa berlalu begitu cepat. Egh, udah mau lebaran lagi. Apa memang begitu kali yah. Umur makin nambah, jatah hidup makin pendek, waktu terasa bergerak semakin cepat.

Sebenernya ngga nyangka juga bisa kelayapan sampai ke Bali. Rencana cuman pengen ngga lebih dari 4 bulan saja, egh ngga taunya molor sampe 9 bulan. Ada untungnya juga. Jadi bisa deket kalau mau le Lombok. Nyambangin keluarga di sana. Kepingin kasih liat maha karyaku ke mereka yang ada di Lombok. Cuman yang bikin kesel, tiket pesawat Bali - Lombok kok mahal banget yah. Harganya hampir sama dengan tiket Bali - Jakarta. Padahal lama terbang dari Bali ke Lombok ngga nyampe seperempat lama terbang dari Bali ke Jakarta. Nasib.. nasib…

Continue reading

Category: Journals  | Tags: , ,  | Leave a Comment