cara membulatkan pecahan angka ratusan ke ribuan pada delphi

 IT  Comments Off on cara membulatkan pecahan angka ratusan ke ribuan pada delphi
Jul 292011
 

em, sedikit tips kali ini, tentang cara untuk membulatkan angka pecahan ratusan ke dalam ribuan. misal,
192.333 dibulatkan menjadi 192.000
174.250 dibulatkan menjadi 174.000
kalau ada pertanyaan, kenapa juga harus dibulatkan? sedangkan angka itu bukan angka pecahan atau desimal. OK, pembulatan seperti ini akan diperlukan untuk perhitungan data keuangan dengan jangkauan angka yang cukup besar. misal, bila kita bicara tentang pembayaran sebuah angsuran, bukankah sangat jarang bila ada angsuran dengan pecahan ratusan rupiah? terlebih jika jumlahnya mencapai jutaan rupiah. 🙂

kasus ini baru saja saya alami ketika saya membuat sebuah sistem keuangan. dan dari situ juga saya ada niat untuk share disini karena ternyata belum banyak yang menulis tentang ini. entah karena ini terlalu sepele sampai terlewatkan atau bagaimana saya kurang tahu. tapi, yah, semoga bermanfaat.:)

cara pembulatan tersebut cukup sederhana. algoritma yang saya pakai adalah membagi angka tersebut dengan angka 1000, kemudian mengalikannya kembali dengan angka 1000. jadi, untuk codenya kira-kira demikian:

angka := (angka div 1000) * 1000;

dimana angka adalah bilangan bertipe integer. apabila berupa bilangan real atau float, maka ditambah trunc() jadinya kira-kira begini untuk angka adalah bilangan real atau float:

angka := (trunc(angka) div 1000) * 1000;

demikian, semoga membantu. 🙂



Jul 232011
 

emmmm…. sebenarnya kali ini saya tidak akan menulis. (lhah… terus ngopo??) hehehe.  cuma mau share ja tentang tools untuk export data dari delphi ke berbagai format file yang ada. ceritanya, kemaren saya pusing bikin report dari delphi. nampaknya, untuk kasus ini qreport dan rave report belum cukup, bahkan terkesan terlalu sederhana untuk memenuhi model report yang diinginkan.belum lagi bila report harus di export ke format file lain seperti doc, docx, atau rtf nya ms word, xls atau xlsx nya ms excel, atau pdf, atau xml, atau yang lain… hemm… otak pun mulai berfikir.. berfikir sangat.. hingga akhirnya penelusuran jejak pun dimulai. mencari sebuah komponen yang bisa mendukung. singkat cerita, saya menemukan EMS Advanced Data Export Component Suite 4.2.0.6. tools yang menarik saya pikir begitu membaca sekilas tentang penjelasan produk nya :

====================

Advanced Data Export VCL is a component suite for Borland Delphi and C++ Builder that allows you to save your data in the most popular data formats for the future viewing, modification, printing or web publication. You can export data into MS Access, MS Excel, MS Word (RTF), Open XML Format, Open Document Format (ODF), HTML, XML, PDF, TXT, DBF, CSV and more! There will be no need to waste your time on tiresome data conversion – Advanced Data Export will do the task quickly and will give the result in the desired format.

Key Features

  • Data export into 17 most popular formats: MS Access, MS Excel, MS Word, Open XML Format, Open Document Format (ODF), RTF, HTML, XML, PDF, TXT, DBF, CSV, SYLK, DIF, LaTeX, SQL and Windows Clipboard
  • Delphi 5-7, 2005-2007, 2009, 2010, XE and C++ Builder 5-6, 2006-2007, 2009, 2010, XE support
  • Export of Unicode data. Manually preset text encoding for exported data (UTF-8, UTF-16/UCS-2, UTF-32/UCS-4, Latin1, Latin2, Latin5, Latin7 and more)
  • Saving data for future viewing, modification, printing or web publication
  • Easy-to-use wizard allows your end-users to export data quickly
  • Powerful export options for each data format
  • 100% native Delphi code
  • No additional libraries or software required to operate
  • Detailed help system and demo application
  • Powerful components and properties editors
  • Setting the user formats for each field separately
  • Multilanguage support

===============================================
Continue reading »

Feb 262011
 

ukey, setelah sekian lama g update… karena kesibukan… (sok sibuk nie :D) kali ini saya akan share tips n trick untuk customize dbgrid pada borland delphi 7. customize yang dimaksud adalah memebrikan warna pada record yang aktif di dbgrid tersebut.

hmm… gampang aja.. mudah, easy… 😀

cukup tambahkan aja kode berikut ini pada even DBGrid.OnDrawColumnCell.

codenya adalah :


type
TCustomDBGridCracker = class(TCustomDBGrid);

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
with TCustomDBGridCracker(Sender) do
if DataLink.ActiveRecord = Row - 1 then
Canvas.Brush.Color := clRed
else
Canvas.Brush.Color := clWhite;
DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

yups.. coba diliat efek setelah ditambah kode itu… 😀

sekian kawan, jika ada yang ditanyakan, silakan lewat komen atau email… thanks…

Jan 292011
 

Uke, kali ini kita kembali ke Delphi :D. saya ingin berbagi sebuah source code tentang tabu search yang merupakan bagian dari study Artificial Intelligent atau kecerdasan buatan. emh… sebenarnya banyak yang bisa disampaikan tentang tabu search. apa itu, bagaimana kerjanya, serta implementasinya. namun saya asumsikan saja bahwa anda sampai ke tulisan ini setelah anda mengetahui tentang tabu search dan mencari source code applikasi tersebut. jika demikian, maka tidak perlu bagi saya untuk menjelaskan lebih jauh. 😀 langsung saja saya sajikan screen shot programnya serta source code nya. untuk pertanyaan, atau diskusi, bisa via comment atau email. 😀 screen shot app :



screen shot tabu search

screen shot tabu search

screen shot tabu search 1



Continue reading »

Nov 292010
 

cara koneksi delphi dengan database mysql adalah satu hal yang banyak dipertanyakan. mengingat delphi tidak menyediakan default conector ke mysql. sedangkan mysql adalah salah satu database yang menjadi pilihan favorit. maka disini akan dituliskan tutorial sederhana untuk koneksi delphi ke mysql, dan dalam hal ini dipakai delphi 7.



langkah-langkah:
1. download zeos di sourceforge.net atau cari di gogel. 😀
2. extract file zeosdbo-6.6.5-stable.zip
3. Letakkan ke lokasi yang kamu inginkan, karena ini tidak akan kita hapus lagi.
4. Buka Delphi 7
5. File -> Close All
6. Buka File ZeosDbo.bpg yang ada di folder Zeos -> Packages\Delphi7
7. Pada Delphi Klik Project -> Compile All
8. File -> Close All
9. Pada Delphi Klik Tools -> Environment Options, Klik tab Library. Lalu klik tab Library, dan klik tombol elipsis di samping kanan combobox Library path.
10. Klik tombol di kanan textbox yang berada dibawah tulisan Greyed items denote invalid path, kemudian pilih folder zeos -> Packages\Delphi7\build
11. Klik OK 2 kali sampai Environment Option ditutup.
12.Dari Delphi, Buka file pada folder zeos -> Packages\Delphi7\ZComponentDesign.dpk. Lalu klik tombol Install…
13. Coba liat di bagian Komponen, biasanya dibagian kanan sendiri sudah terinstal zeosnya

jika berhasil, maka selamat belajar dan bekerja… 🙂

ups… lupa… 😀
bagi yang lum tahu cara koneksi ke database mysql pake zeos, caranya….

1. jalankan delphi… 😀
2. letakkan komponen zconnection yang terdapat pada tab zeos access.
3. ubah properti hostname menjadi localhost atau IP dari server database yang dituju.
4. isikan user n password sesuai dengan setingan database anda. defaultnya, username = root password nya dikosongi.
5. protocol di pilih mysql-5
6. database isikan dengan nama database yang ingin anda koneksikan.
7. terakhir, ubah connected menjadi true.

** jika ada error, dan ada peringatan bahwa tidak menemukan file libmysql.dll ato file library apapun, jangan panik dan teriak-teriak.. 🙂 search di komputer anda nama file tersebut, kemudian jika ketemu, copykan file tersebut ke system32 atau ke folder dimana anda menyimpan aplikasi yang membutuhkan koneksi ke mysql.

jika conected bisa diubah menjadi true, maka proses anda berhasil… 😀 selamat….

untuk step-step koneksi diatas, bisa dibolak-balik sesuai selera… asal bagian conected nya harus paling akhir.

kalo dah conect trus ngapain? ya terserah… 😀

prinsip kerja zeos seperti komponen standar ADO. kalo di ado ada adoconnection, di zeos zconnection, kalo di ADO ada ADOquery, di zeos ada zquery, begitu seterusnya… 🙂

ada pertanyaan?? 😀