Pemograman


Bulan delapan  tanggal delapan tahun dua ribu tujuh (08-08-2007) angka yang indah, Saya sangat serius mempelajari PostgreSQL maklum karena saya baru migrasi database  dari Ms SQL Server ke MySQL dari MySQL ke PostgreSQL. PostgreSQL database yang berlogo GAJAH kalau kita tau tentang gajah adalah binatang yang kuat dalam segala hal, mungkin ini yang mengilhami developer postgresql untuk membuat logo gajah dan saya sudah merasakan betapa cepatnya postgres dalam memproses data dengan SQL walau saya harus melakukan penyusuaian sintak SQL  karena ada sedikit perbedaan dengan Ms SQL Server,MySQL, Tetapi yang saya rasakan banyak sintak SQL Postgres yang sangat memudahkan kita dalam mengquery data sedikit contoh :

select t1.* from(select kode_barang,nama_barang,min(tanggal_faktur) as tanggal_faktur from mst_transaksi_pembelian group by kode_barang,nama_barang)t1 where substr(tanggal_faktur,6,2)=’02′ order by t1.tanggal_faktur

 

ini adalah data hasil query sintak SQL diatas :

kode_barang nama_barang                                          tanggal_faktur

601204            BUKU FOLIO IDORA 300                    2007-02-19

601202            BUKU KAS Q IDORA 2K-100             2007-02-19

601207            BUKU KAS Q IDORA  3K-100            2007-02-19

601206            BUKU KELUAR MASUK IDORA        2007-02-19

601203            BUKU FOLIO IDORA 200                    2007-02-19

601205            BUKU FOLIO IDORA 100                    2007-02-19

Kalau kita perhatikan saya mengquery data dengan transaksi pada bulan 02 (dua), jika kita dengan menggunakan MsSQL Server atau MySQL kita harus merubah format tanggal_faktur tersebut dengan tipe Teks padalah jika field tanggal selalu dengan tipe field Date() arti kata Postgres “KAU TAU YANG KUMAU” asik yaaa.. berterimakasih dengan developer Postgres. Ibarat wanita Postgres itu “SUDAH CANTIK+SEKSI GRATIS LAGI” siapa yang nggak mau haaahaaaaaa aya-aya wae… ono-ono aeee, Hari gini masih ada yang Gratis hiiiheiiiiii… apalagi ditambah saat ini Microsoft or bang Bill lagi kehabisan uang hiihiiiiiii maaf bang bill becanda…. sweping software lagi galak-galaknya disamping untuk memperbaiki citra Negara kita Indonesia yang terkenal dengan …….. anda pasti sudah tau kan hiiihiii mungkin anda salah satu diantara …… atau penggunanya hihiiiiii termasuk saya sendiri, habis mau gimana kalau kita tidak ….. kapan kita bisa pinter hihiiiii, semuanya kembali ke diri masing-masing aja oke broooo.. kok udah jauh yaa ceritanya dari database maaf kelewatan asik membicarakan yang ……  dengan adanya database yang Free alias gratis sangat membantu kita semua di dunia ini yang membutuhkan database apalagi para programmer yang hanya punya modal sedikit tetapi ingin mendapatkan keuntungan yang melimpah ruah dari membangun sistem pasti tertawa lebar huaaaahaaaaaa asikkkkkk… selamatlah para programmer,software house dan banyak lagi yang diuntungkan terlebih perusahaan owner tersenyum… tetapi kalau orangnya  IT ngomong ke owner pak kita harus beli database Ms SQL Server  License langsung owner stresss…. dan Tanya berapa harganya yang pasti pak dijawab orang ITnya lebih mahal Ms SQL Server daripada Sepeda Motor baru pak waahwaaah sabar dulu yaaa saya pikirkan, setelah itu giliran orang ITnya yang stresss cari solusi dan intinya kembali lagi kalau kita harus Belajar dan Belajar terus tidak ada hentinya untuk memecah masalah yang saya ceritakan ini. Karna saya sudah mengalaminya, makanya saya bisa ceritaaaaaaaaaaaa….. ini belum lagi kalau orang IT developernya bilang begini ke owner pak OS server kita juga harus pake yang License pak, haaaa apa kaget ownernya berapa harganya Mahal pak wah,wah,wah,wah nggak ada yang murah dijawab dengan orang ITnya ada pak OS yang murah bapak Bikin Sendiri… ya kalau begitu mulai besok kamu saya PECAT, karna saya mau bikin OS sendiri yang murah hahaaahaaaa…..  sedikit saya jelaskan kalau saya tidak pernah fanatik terhadap sesuatu kita bebas memilih yang mana dan pada intinya kita hanya tinggal menghitung cost and benefit maksudnya brooooo hidup ini sudah susah jangan tambah susah cari yang gampang aja walau cari yang gampang itu juga tidak mudah… intinya semakin banyak kita explore berbagai macam database semakin banyak kita mendapatkan ilmu… semua database client server baik dan masing-masing memiliki kelebihan dan kekurangan seperti kita MANUSIA tidak ada yang SEMPURNA….

Epson Printer Codes

Epson Printer Codes ini berfungsi untuk mengatur Font and Size, pada pembuatan report dengan base text. Contoh @Prow()+1,1 Say CHR(27)+CHR(69) && ‘Hurup Tebal’

Characters ASCII codes Effect
[ESC] @ 27 64 Reset printer
[ESC] x 1
27 120 49 ‘Near Letter Quality’ On
[ESC] x 0
27 120 48 ‘Near Letter Quality’ Off
[ESC] 4
27 52 Italics On
[ESC] 5
27 53 Italics Off
[ESC] G
27 71 Double Strike On
[ESC] H
27 72 Double Strike Off
[ESC] M
27 77 Elite (12 chars per inch) font size
[ESC] P
27 80 Pica (10 chars per inch) font size
[ESC] [SI]
[SI]
27 15
15
Condensed Print
[DC2]
18 Cancel Condensed Print
[ESC] [SO]
[SO]
27 14
14
Enlarged (one line)
[DC4]
[LF]
20
10
Cancel Enlarged
[ESC] W l
27 87 49 Enlarged (more than one line)
[ESC] W 0
27 87 48 Cancel Enlarged (more than one line)
[ESC] - 1
27 45 49 Underline On
[ESC] - 0
27 45 48 Underline Off
[ESC] E
27 69 Bold On
[ESC] F
27 70 Bold Off
[ESC] S 1
27 83 49 Subscript (e.g. x1)
[ESC] S 0
27 83 48 Superscript (e.g. x2)
[ESC] T
27 84 Cancel Super/Subscript
[ESC] R n
27 82 n Select different foreign character set
[ESC] % 0 n
27 37 n Select internation character set n
[ESC] ! n
27 33 n Change print mode
[ESC] 0 27 48 1/8″ line spacing
[ESC] 1 27 49 7/9″ line spacing
[ESC] 2 27 50 1/6″ line spacing
[ESC] 3 n 27 51 n n/216″ line spacing
[ESC] A n 27 65 n n/72″ line spacing
[ESC] T n 27 84 n n/216″ line feed
[ESC] C n 27 67 n Page length (n = no. of lines)
[ESC] C 0 n 27 67 48 n Page length (n = no. of inches)
[ESC] N n 27 78 n Perforation skip (n = no. of lines)
[ESC] 0 27 48 Cancel peforation skip
[ESC] D n n n n 27 68 Set tab stops to n n n n
[ESC] B n n n n 27 66 Set vertical tab stops to n n n n
[ESC] Q n 27 81 n Set right margin
[ESC] l n 27 108 n Set left margin
[BEL] 7 Sound bell
[BS]
8 Backspace
[HT] 9 Horizontal Tab
[LF] 10 Line Feed
[VT] 11 Vertical Tab
[FF] 12 Form Feed (new page)
[CR]
13 Carriage Return
[DC1] 17 Printer Enable
[DC3] 19 Printer Disable
[CAN] 24 Cancel last line
[DEL] 127 Delete last character
[ESC] < 27 60 Home Print head
[ESC] U 1 27 85 49 Undirectional printing on
[ESC] U 0 27 85 48 Undirectional printing off
[ESC] s 1 27 115 49 Half speed printing on
[ESC] s 1 27 114 48 Half speed printing off
[ESC] 8 27 56 Ignore paper empty
[ESC] 9 27 57 Cancel ignore paper empty
[ESC] K n1 n2 27 75 n1 n2 Single density graphics no. of data = n2 * 256 + n1
[ESC] L n1 n2 27 76 n1 n2 Double density graphics no. of data = n2 * 256 + n1
[ESC] Y n1 n2 27 89 n1 n2 Double speed, Double density graphics.
[ESC] Z n1 n2 27 90 n1 n2 Quad density graphics
[ESC] * m n1 n2 27 42 m n1 n2 8 dot graphics modes, m = mode
[ESC] ? n m 27 63 n m Change graphics mode n to work as m. n is K, L, Y, or Z
[ESC] & 0 n m a p1 … p11 27 38 48 n m a p1 … p11 Redefine character. p1..p11 = character data. a = attribute, n+m characters to change.

Procedure MySQLLogin

parameters puid,ppwd,phost,pdatabase
public lhhandle
lcconnectionstring =”Driver={MySQL ODBC 3.51 Driver};” + ;
“Server=” +phost+ “;” + ;
“uid=” +alltrim(lower(puid)) + “;” + ;
“password=”+alltrim(lower(ppwd)) + “;” + ;
“database=”+(pdatabase)+”;” + ;
“port=3306;” + ;
“option=3;”
lhhandle = sqlstringconnect(lcconnectionstring, .t.)
Return

Contoh penggunaan Procedure Diatas

puid=’user’

ppwd=’password’

phost=’ip’

pdatabase =’database’

=MySQLLogin(‘ira’,'iraira’,'192.168.3.100′,’inventory’)

Procedure koneksi VFP dgn MySQL Database bisa berfungsi jika di komputer Client sudah di Install DRIVER MySQL ODBC 3.51. yang bisa di Download di sini (Download-> MySQL)

Command di VFP untuk Query Table dari Database yang anda miliki

SQLExec(lhhandle,’select kode_pelanggan,nama_pelanggan,alamat from pelanggan’ ,’Curspelanggan’)

dengan perintah SQLExce() diatas Curspelanggan menjadi Cursor native VFP jadi kita menjadi mudah untuk melakukan apa saja dgn Cursor tersebut.

Command SQLExec() berfungsi untuk melakukan perintah SQL (Insert,Update,Select,Delete,AlterTable). semua perintah tersebut bisa berfungsi sesuai dengan Hak User yang telah diatur sebelumnya di MySQL Database.

Tips

untuk penulisan SQL Command biasakan  dgn menulis hurup kecil atau lowercase karna sangat berguna bila anda menggunakan Operating System Linux.  Anda bisa menggunakan Server yg multi Platform windows or Linux

Selamat Mencoba