11 Maret 2009

Tes Prosesor Intel Core i7

Wow Intel mengeluarkan prosesor terbarunya, Intel Core i7. Setelah sebelumnya hanya jadi penonton dan ngiler doank atas teknologi-teknologi terbaru hardware komputer (soalnya cepet banget ganti-ganti dengan yang lebih baru, selain faktor ekonomi tentunya), kini aku punya kesempatan untuk mencicipi teknologi terbaru Intel ini. Prosesor ini tergabung bersama komponen lainnya menjadi satu set komputer lengkap yang dibeli bosku. Sebelumnya sudah tahu beberapa hari sebelum komputer datang bahwa bosku mau beli komputer dengan Intel Core i7 sebagai prosesornya. Tapi mesti nunggu dulu, motherboard-nya mesti pesan dulu. Satu set komputer dengan monitor LCD 19” widescreen tersebut dibanderol Rp. 10 juta plus. Well, cara yang tepat untuk menghamburkan duit. Andai punya kantong tebal seperti si bos…
Komputer terbaru ini datang dengan sistem operasi Windows Vista 64 bit. Berarti sesuatu yang baru lagi untuk dicoba. Apakah programku bisa jalan pada Windows 64 bit? Katanya sih prosesor 64 bit (x64) bisa kompatibel dengan program yang dibuat pada platform 32 bit. Tapi apa benar begitu, aku coba saja. Ya memang instalasi program bisa jalan semua dan lancar. Memang ada sesuatu hal yang mengganjal, pada Windows 64 bit ini, Program Files dan mungkin direktori sistem yang lain, ada 2, satu untuk program 64 bit pada direktori Program Files, dan satunya lagi untuk yang 32 bit pada direktori Program Files (x86). Semoga tidak berpengaruh pada programku. Memang disengaja install Windows 64 bit, soalnya si bos rencana menambah memori hingga 6GB. Windows yang 32 bit maksimal bisa pakai 4GB (teori), prakteknya hanya 3,5GB yang dibaca.
Kesanku tentang komputer baru ini baguslah, ga isa ngomong lebih. Windowsnya sudah diinstall dari tokonya. Aku juga tidak melakukan benchmark atau perbandingan atau semacamnya disebabkan masalah waktu. Mungkin memang lebih bertenaga, cuma aku memang tidak terlalu merasakannya. Coba aja kalo ditambahi VGA sekelas AMD Radeon HD 4870 yang harganya US$400 keatas mungkin yahud kali ya. Bisa betah didepan komputer dan ga pengen pulang kantor nih…

Baca selengkapnya...

10 Maret 2009

Lokalisasi Message Dialog pada Delphi (Alternatif)

Pada bagian sebelumnya sudah dijelaskan cara untuk lokalisasi Delphi dialog dengan mengedit file “Consts.pas” bawaan dari Delphi. Cara tersebut sebetulnya kurang dianjurkan, dan ada cara lain yang lebih elegan. Misalkan kita ingin mengganti kata-kata pada dialog yang pakai bahasa Inggris tersebut dengan bahasa Jawa seperti yang diingini bos pemilik warung Jawa. Cara ini tidak mengedit file “Consts.pas”, tapi kita membuat unit sendiri dan menerjemahkan kata-kata yang diinginkan. Skrip contoh dibawah ini bisa digunakan.
unit BosoJowo;

interface

implementation

uses Windows, Consts;

procedure HookResourceString(aResStringRec: PResStringRec; aNewStr: PChar);
var
  OldProtect: DWORD;
begin
  VirtualProtect(aResStringRec, SizeOf(aResStringRec^), PAGE_EXECUTE_READWRITE, @OldProtect);
  aResStringRec^.Identifier := Integer(aNewStr);
  VirtualProtect(aResStringRec, SizeOf(aResStringRec^), OldProtect, @OldProtect);
end;

initialization
  HookResourceString(@SMsgDlgConfirm, 'Takon');
  HookResourceS
tring(@SMsgDlgYes, 'Iyo');
  HookResourceString(@SMsgDlgNo, 'Ora');
  HookResourceString(@SMsgDlgCancel, 'Gak Sido');

end.
Unit diatas bisa ditambahkan pada project yang kita buat. Unit tersebut cukup ditambahkan di file .dpr, tidak perlu ditambahkan di tiap form atau unit. Dengan kode diatas jika dari Delphi kita memberikan perintah:
MessageDlg('Simpen setelane?', mtConfirmation, [mbYes, mbNo, mbCancel], 0);
Maka outputnya akan seperti dibawah ini.








Dengan begini bos Suparno pun tidak perlu pusing belajar bahasa asing lagi untuk memakai program komputer yang diinginkannya.

Baca selengkapnya...

06 Maret 2009

Lokalisasi Message Dialog pada Delphi

Suatu saat Suparno, bos warung Jawa terkemuka ingin mengkomputerisasi segala keperluan bisnisnya dengan program komputer, seiring dengan usahanya yang maju pesat dan beberapa cabang yang akan dibuka. Setelah menyeleksi beberapa program (seperti tender instilah kerennya) yang ditawarkan, agaknya kurang cocok. Walaupun ada yang sudah pakai bahasa Indonesia, tapi tidak disemua bagian pakai bahasa Indonesia. Lebih baik lagi kalo ada yang pakai bahasa lokalnya, bahasa Jawa.
Kisah diatas berdasarkan kenyataan, bukan cuma karangan doang, meski nama fiktif belaka. Semakin banyaknya kebutuhan dalam negeri akan program komputer, berarti semakin dibutuhkan pula program yang pakai bahasa lokal. Pada kasus pengembangan program pada Delphi, hal seperti input dialog, message dialog atau yang lainnya mungkin sangat sering dipakai dalam program. Didalam Delphi sendiri sudah disediakan fungsi untuk itu, tapi dengan bahasa Inggris. Kata-kata seperti Yes, No, Cancel dan semacamnya mungkin sudah sering kita lihat.
Bagaimana bila ingin pakai bahasa lainnya? Mungkin ada yang bilang, ya bikin dialog sendiri, gitu aja kok repot! Tapi sebenarnya itu bisa dilakukan tanpa perlu repot bikin dialog baru lagi. Cara yang paling cepat adalah ganti kata-kata tersebut. Pada direktori $(DELPHI)\Source\VCL ($DELPHI adalah direktori instalasi Delphi) terdapat file “Consts.pas”. Dalam file ini terdapat resource string yang dipakai untuk kata-kata pada dialog yang biasanya dipakai pada saat memanggil procedure/fungsi ShowMessage() atau MessageDlg(). Misalnya kita ingin mengganti kata “Yes” dengan “Ya”, maka ganti baris “SMsgDlgYes = '&Yes';” dengan “SMsgDlgYes = '&Ya';”, kemudian compile program.

Baca selengkapnya...

05 Maret 2009

Tes Windows Terbaru, Windows 7 Beta

Windows terbaru tiba, meski masih beta. Microsoft mengeluarkan Windows terbarunya yaitu Windows 7 yang digembar gemborkan itu. Pada saat aku beli majalah PC Media 03/2009, bonusnya Windows 7 beta (ada pada bonus DVD). Instalasinya biasa aja, mungkin lebih cepat dibanding install Windows Vista. Dibanding Windows Vista, tidak ada perbedaan yang signifikan dalam soal user interface, bahkan bisa dibilang sama. Yang aku dengar juga Windows ini bukan Windows yang benar-benar baru, tapi dibangun dari core Windows Vista. Keunggulannya bla bla bla..., bisa baca sendiri di majalah atau dari berbagai sumber.
Yang bikin aku tertarik dengan Windows ini adalah tentu saja berhubungan dengan kompatibilitas program yang aku buat. Apa bisa jalan lancar atau gimana (jangan-jangan error lagi seperti waktu kejadian sebelumnya). Dimulai dengan proses instalasi SQL Server 2008 Express. Aku coba install tanpa komponen pendukung (Windows Installer 4.5, .Net Framework, Windows PowerShell) seperti pada Windows XP atau Windows Vista, ternyata bisa! Ini mungkin satu keunggulan dari Windows 7, ga perlu repot nginstall macem-macem, meski memang ini adalah hal yang tergolong lumrah, makin baru produk, berarti harusnya juga makin mendukung hal-hal yang baru. Instalasi SQL Server 2008 Express dengan setting default relatif lancar (HORE).
Kemudian beralih ke instalasi program sendiri, setelah instalasi database dan komponen buat server selesai, giliran yang porsi client. Setelah selesai, dicoba, ternyata jalan bos. OK juga nih Windows 7. Kemungkinan nantinya untuk migrasi dari Windows XP ke Windows yang lebih baru, mungkin aku pilih Windows 7 ketimbang Windows Vista. Bukannya bermaksud promosi tapi memang lebih simpel dan mendukung teknologi yang lebih baru.

Baca selengkapnya...

04 Maret 2009

Error Program Pada SQL Server 2008 Express + Vista (Solusi)

Beberapa saat yang lalu program yang aku buat di lingkungan Windows XP (jalan, ok) dicoba dijalankan di komputer client yang pake Windows Vista. Hasilnya error (ga tau detailnya soalnya bukan aku yang install). Seletah aku coba di Windows Vista, mulai dari install SQL Server 2008 Express, OK, kemudian install programku beserta databasenya juga tidak ada masalah. Masalah muncul setelah program dijalankan, error kadang-kadang muncul pada saat proses string/yang berhubungan dengan karakter. Errornya kira-kira seperti ini: “Cannot resolve the collation conflict between "Latin1_General_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.”.
Pada komputer yang aku gunakan untuk bikin program (Windows XP) collation default untuk sistemnya adalah “SQL_Latin1_General_CP1_CI_AS”, sedangkan pada Windows Vista yang aku pake buat coba-coba collation-nya adalah “Latin1_General_CI_AI”. Ya jadinya gitu, sql servernya ngomel-ngomel $&@#*^... Setelah nyari kesana kemari, akhirnya ada cara buat solusi masalahnya, caranya adalah dengan menambahkan klausa COLLATE pada query. Misalnya: select id, name COLLATE Latin1_General_CI_AI from tbl1. Waduh, berarti musti ngubah semua querynya dong, aaaarrghh!
Aku cari aja jalan lain, soalnya lama banget ngubah querynya. Aku coba liat books online sql server ada dijelaskan tentang collation. Disitu dijelaskan bahwa collation merupakan “bit pattern” (sudah ngartikan ke Indonesia, artikan sendiri yach…) yang mewakili tiap karakter dan merupakan aturan-aturan bagaimana karakter tersebut diurutkan dan dibandingkan. Jadi kira-kira begini, ada satu collation yang menganggap sama huruf besar dan kecil, sedangkan ada collation lain yang membedakannya, selain itu juga ada collation yang melambangkan karakter kanji, arab, dan lain sebagainya. Wah sebelumnya ga pernah peduli, berhubung ada error yang musti diperbaiki, jadi peduli.
Setelah nyari lagi di books online ada perintah sql yang bisa mengganti collation dari suatu database yaitu ALTER DATABASE. Dengan perintah ini kita bisa mengganti collation dari database: ALTER DATABASE COLLATE . Pake ALTER TABLE juga bisa, tapi cuma per tabel saja, kalo ALTER DATABASE satu database. Tapi cara seperti ini sempat bikin ragu, setelah ganti collation ada masalah pada program ga ya?
Kemudian setelah berbagai cara diatas aku tempuh cara terakhir. Pada waktu install SQL Server 2008, ada pilihan untuk setting collationnya. Ini yang aku ubah sesuai dengan collation databaseku, jadi collation sistem mengikuti collation databaseku. Pada Windows Vista, collation defaultnya adalah Windows Collation (Latin1_General_CI_AI) sedangkan pada Windows XP defaultnya adalah SQL Collation (SQL_Latin1_General_CP1_CI_AS). Selesai masalahnya.

Baca selengkapnya...

03 Maret 2009

Menambahkan MySQL pada Installer Program dengan Inno Setup

Setelah sebelumnya program dan MySQL diinstall terpisah oleh user, aku jadi berpikir bisa ga installernya dijadikan satu biar user ga usah repot nginstall MySQL dengan berbagai settingnya. Ternyata bisa tuh. Berikut ini akan dijelaskan bagaimana caranya dengan menggunakan program installer yang aku pake: Inno Setup 5.2.3. Sebelumnya sudah dijelaskan bagaimana cara silent install MySQL, dan itu juga diperlukan disini nantinya.
Ada beberapa section pada script Inno Setup diantaranya adalah Setup, Tasks, Files, Registry, Run dan masih ada beberapa yang lain. Ada cara yang mudah untuk menjalankan installer MySQL, yaitu lewat section [Run]. Pada section ini, terdapat file-file yang dijalankan setelah instalasi program sukses. Misalkan kita menyertakan file mysql.msi kedalam installer program kita dengan kode seperti ini:
[Files]
Source: "mysql.msi"; DestDir: "{tmp}"
Dengan kode diatas akan mengcopy file mysql.msi yang disertakan program ke temporary direktory. Jika ingin menjalankan file tersebut setelah instalasi program, maka bisa menambahkan kode seperti ini:
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\mysql.msi"" /qn INSTALLDIR=""{app}"" DATADIR=""{app}"""
Kode diatas akan menjalankan silent install MySQL dengan direktori install tujuan dan direktori data ke direktori yang dipilih. Setelah instalasi selesai, MySQL semestinya juga sudah terinstall.

Baca selengkapnya...

02 Maret 2009

Silent Install MySQL 5

MySQL tidak hanya bisa diinstall dengan interaksi user, tetapi bisa dilakukan tanpa campur tangan user. User tidak perlu klik next, next, next (padahal ga liat/baca apa yang yang dipilih, asal klik aja pokok beres) sampe selesai. Ada cara biar proses instalasi MySQL ga perlu interaksi user. Cara ini bisa digunakan bagi yang ingin membuat installer program jadi satu dengan instalasi MySQL.
Pertama adalah mendapatkan installer MySQL (bisa didapat dari websitenya http://www.mysql.com) yang ekstensinya .msi bukan yang .exe. Dari file ini kita bisa silent install (install secara diam-diam?) MySQL. Yang dimaksud silent install adalah install tanpa ada campur tangan dari user, jadi user ga perlu klik sana klik sini atau input apa, jadi tinggal jalankan programnya akan install sampai selesai. Untuk bisa begini dibutuhkan program yang namanya “msiexec.exe” (di Windows XP sudah ada secara default). Bisa dicek caranya ketik msiexec di command prompt atau dari Start->Run, kira-kira akan muncul dialog seperti dibawah ini.



















Dari gambar diatas bisa dilihat ada beberapa pilihan parameter yang bisa digunakan untuk installasi. Misal /i untuk install program atau /x untuk uninstall program. Yang perlu diperhatikan disini adalah parameter /qn yang akan menginstall program tanpa ada user interface dan campur tangan user. Jadi untuk silent install MySQL (misal nama file: “mysql51.msi”) kira-kira perintahnya seperti ini: msiexec.exe /i “\mysql51.msi” /qn. Untuk uninstall tinggal ganti parameter /i dengan /x.
Dengan perintah seperti diatas, instalasi MySQL akan diinstall pada direktori defaultnya di “\MySQL\MySQL Server 5.1” dan direktori penyimpanan data di “\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1” pada MySQL 5.1. Kalo mau install ditempat lain bisa dengan menambahkan parameter “INSTALLDIR=” untuk menentukan direktori instalasi MySQL dan “DATADIR=” untuk direktori data.

Baca selengkapnya...

01 Maret 2009

Mencari Program Installer yang Cocok

Selama ini aku buat program tanpa adanya installer, jadi ya tinggal copy & paste saja beres. Pada awalnya sih ok aja. Masalah timbul setelah makin banyak file yang ditambahkan, juga untuk edit registry Windows. Jadi susah ngurusnya, maka dari itu aku putuskan buat installer buat programku. Selain itu juga agar tampak lebih profesional (ga nyombong ya...).
Sebenarnya, hal seperti ini bukan yang pertama bagiku. Pada jaman dulu kala juga pernah nyoba bikin installer dari beberapa program yang ada seperti InstallShield Express bawaannya Delphi, InstallShield 7 Professional atau Wise Installer adalah beberapa yang sudah aku coba. Meskipun begitu jarang aku bikin installer, alasannya kadang ruwet bahasanya ada yang pake C jadi susah, kemudian bagi aku juga ga penting-penting amat selain ga ada waktu karna dihabisin buat program dan segala tetek bengeknya.
Kemudian setelah beberapa lama, aku pertimbangkan lagi untuk buat installer. Sebelumnya juga aku survei dan coba-coba dulu apa program installer yang paling cocok. Seletah nyari sana sini, akhirnya aku dapet program namanya Inno Setup versi 5.2.3. Ada beberapa pertimbangan yang buat aku untuk kemudian pake program ini, selain free, mudah dan simpel juga bahasa/skrip yang digunakan adalah Pascal jadi ga usah repot-repot belajar bahasa lain. Beberapa fitur lain yang ada antara lain:
  • Bisa digunakan di semua versi Windows mulai NT 4.0 atau 9x sampai Vista (tanpa service pack).
  • Support aplikasi 64bit (x64 atau Itanium).
  • Dapat dibuat jadi satu file exe atau dipecah jadi beberapa file.
  • Mendukung kompresi file, jadi file output bisa lebih kecil ukurannya.
  • Shortcut ke Start Menu atau Desktop.
  • Pembuatan registry.
  • Instalasi multi bahasa.
  • Source code tersedia (Delphi).
Yah keunggulan lainnya adalah bebas biaya alias free of charge meski digunakan untuk membuat aplikasi komersial. Bagi yang mau coba bisa didownload secara gratis di websitenya http://www.jrsoftware.org.

Baca selengkapnya...