[Dokumentasi] Problem Pengaturan Alignment Teks dengan Justified pada Crystal Report 8.5

Pada crystal report 8.5 terdapat permasalahan yang berhubungan dengan pengaturan alignment teks untuk Justified, terutama apabila menggunakan crviewer sebagai kontrol untuk menampilkan laporan. Meski alignment teks sudah diatur menjadi justified, teks tersebut masih saja rata kiri. Untuk mengatasi hal tersebut, download service pack 3 untuk crystal report 8.5 (cr85win_en_sp3.exe).
Namun, masih terdapat kekurangan, di mana pada saat di preview, teks tersebut masih rata kiri. Alignment justified hanya dapat dilihat setelah laporan yang ditampilkan di print atau di export ke salah satu type file.

[Dokumentasi] Problem saat Export PDF pada Crystal Report 8.5

Mungkin sebagian dari kita mengalami suatu permasalahan di mana sistem informasi yang kita bangun dengan pelaporan menggunakan bantuan software Crystal  Report 8.5, untuk fitur export pdf tidak dapat berfungsi sebagaimana mestinya, hal itu terjadi saat aplikasi sudah diimplementasikan ke komputer client. Namun, pada saat kita melakukan development, fitur export pdf tersebut berjalan tanpa ada permasalahan. Sementara untuk fitur export ke type file yang lain, masih berfungsi dengan baik.
Solusi dari permasalahan tersebut, lakukan pengecekan pada file-file dll berikut :
1. crtslv.dll
2. ExportModeller.dll
Kemungkinan file-file dll tersebut belum terinstall di komputer client atau belum diregister. Distribusikan ulang file-file dll tersebut, lalu register ulang.

Catatan : Untuk menjalankan solusi ini, resiko ditanggung masing-masing,

[Dokumentasi] Fungsi terbilang pada Microsoft SQL

Hasil dari browsing diinternet untuk fungsi terbilang pada Microsoft SQL Server.
Sumber : http://songkar13.blogspot.com/2013/10/membuat-fungsi-terbilang-di-sql-server.html
CREATE FUNCTION terbilang(@the_amount money)
RETURNS varchar(250) AS
BEGIN
DECLARE
    @divisor    bigint,
    @large_amount    money,
    @tiny_amount    money,
    @the_word    varchar(250),
    @dividen    money,
    @dummy        money,
    @weight    varchar(100),
    @unit        varchar(30),
    @follower    varchar(50),
    @prefix    varchar(10),
    @sufix        varchar(10)
–SET NOCOUNT ON
SET @the_word = ”
SET @large_amount = FLOOR(ABS(@the_amount) )
SET @tiny_amount = ROUND((ABS(@the_amount) – @large_amount ) * 100.00,0)
SET @divisor = 1000000000000.00
IF @large_amount > @divisor * 1000.00
    RETURN ‘OUT OF RANGE’
   
WHILE @divisor >= 1
BEGIN       
    SET @dividen = FLOOR(@large_amount / @divisor)
    SET @large_amount = CONVERT(bigint,@large_amount) % @divisor
   
    SET @unit = ”
    IF @dividen > 0.00
        SET @unit=(CASE @divisor
            WHEN 1000000000000.00 THEN ‘TRILYUN ‘
            WHEN 1000000000.00 THEN ‘MILYAR ‘           
            WHEN 1000000.00 THEN ‘JUTA ‘               
            WHEN 1000.00 THEN ‘RIBU ‘
            ELSE @unit
        END )
    SET @weight = ”   
    SET @dummy = @dividen
    IF @dummy >= 100.00
        SET @weight = (CASE FLOOR(@dummy / 100.00)
            WHEN 1 THEN ‘SE’
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END ) + ‘RATUS ‘
    SET @dummy = CONVERT(bigint,@dividen) % 100
    IF @dummy < 10.00
    BEGIN
        IF @dummy = 1.00 AND @unit = ‘RIBU’
        BEGIN
            IF @dividen=@dummy
                SET @weight = @weight + ‘SE’
            ELSE
                SET @weight = @weight + ‘SATU ‘
        END
        ELSE
        IF @dummy > 0.00
            SET @weight = @weight + (CASE @dummy
                WHEN 1 THEN ‘SATU ‘
                WHEN 2 THEN ‘DUA ‘
                WHEN 3 THEN ‘TIGA ‘
                WHEN 4 THEN ‘EMPAT ‘
                WHEN 5 THEN ‘LIMA ‘
                WHEN 6 THEN ‘ENAM ‘
                WHEN 7 THEN ‘TUJUH ‘
                WHEN 8 THEN ‘DELAPAN ‘
                ELSE ‘SEMBILAN ‘ END)
    END
    ELSE
    IF @dummy BETWEEN 11 AND 19
        SET @weight = @weight + (CASE CONVERT(bigint,@dummy) % 10
            WHEN 1 THEN ‘SE’
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END ) + ‘BELAS ‘
    ELSE
    BEGIN
        SET @weight = @weight + (CASE FLOOR(@dummy / 10)
            WHEN 1 THEN ‘SE’
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END ) + ‘PULUH ‘
        IF CONVERT(bigint,@dummy) % 10 > 0
            SET @weight = @weight + (CASE CONVERT(bigint,@dummy) % 10
                WHEN 1 THEN ‘SATU ‘
                WHEN 2 THEN ‘DUA ‘
                WHEN 3 THEN ‘TIGA ‘
                WHEN 4 THEN ‘EMPAT ‘
                WHEN 5 THEN ‘LIMA ‘
                WHEN 6 THEN ‘ENAM ‘
                WHEN 7 THEN ‘TUJUH ‘
                WHEN 8 THEN ‘DELAPAN ‘
                ELSE ‘SEMBILAN ‘ END )
    END
   
    SET @the_word = @the_word + @weight + @unit
    SET @divisor = @divisor / 1000.00
END
IF FLOOR(@the_amount) = 0.00
    SET @the_word = ‘NOL ‘
SET @follower = ”
IF @tiny_amount < 10.00
BEGIN   
    IF @tiny_amount > 0.00
        SET @follower = ‘KOMA NOL ‘ + (CASE @tiny_amount
            WHEN 1 THEN ‘SATU ‘
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END)
END
ELSE
BEGIN
    SET @follower = ‘KOMA ‘ + (CASE FLOOR(@tiny_amount / 10.00)
            WHEN 1 THEN ‘SATU ‘
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END)
    IF CONVERT(bigint,@tiny_amount) % 10 > 0
        SET @follower = @follower + (CASE CONVERT(bigint,@tiny_amount) % 10
            WHEN 1 THEN ‘SATU ‘
            WHEN 2 THEN ‘DUA ‘
            WHEN 3 THEN ‘TIGA ‘
            WHEN 4 THEN ‘EMPAT ‘
            WHEN 5 THEN ‘LIMA ‘
            WHEN 6 THEN ‘ENAM ‘
            WHEN 7 THEN ‘TUJUH ‘
            WHEN 8 THEN ‘DELAPAN ‘
            ELSE ‘SEMBILAN ‘ END)
END
   
SET @the_word = @the_word + @follower
IF @the_amount < 0.00
    SET @the_word = ‘MINUS ‘ + @the_word
   
RETURN @the_word
END

[Dokumentasi] Penggunaan Fetch dan Cursor pada SQL Server 2000

Seringkali seorang programmer dihadapkan pada suatu kasus yang mengharuskan untuk memproses data dari tabel, di mana data tersebut tidak bisa hanya dengan menggunakan perintah select, akan tetapi harus diproses dengan menggunakan perulangan/looping. Sementara untuk membuat suatu program kecil, hal itu dianggap kurang praktis. Dalam Ms SQL Server (khususnya Ms SQL Server 2000), tersedia suatu fitur yang bisa digunakan, yakni Fetch dan Cursor.
Cursor dapat diartikan sebagai suatu variabel yang digunakan untuk menampung hasil query satu baris/record atau lebih, di mana ia juga menjadi penampung sekaligus pointer atas hasil eksekusi query.
Di sini, kita akan coba menguraikan penggunaan sederhana dari Fetch dan Cursor, sehingga bisa dikembangkan sendiri sesuai dengan kebutuhan.
Langkah pertama, kita buat satu tabel, dalam kasus ini kita gunakan tabel dengan nama Barang, dengan 3 field (Kode, NamaBarang dan Jumlah)
CREATE TABLE [Barang] (
[Kode] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[NamaBarang] [varchar] (150) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Jumlah] [int] NULL ,
CONSTRAINT [PK_Barang] PRIMARY KEY CLUSTERED
(
[Kode]
) ON [PRIMARY]
) ON [PRIMARY]
GO
Masukkan beberapa data ke dalam tabel yang baru dibuat
Insert Into Barang (Kode, NamaBarang, Jumlah) Values (‘1’, ‘Buku Tulis’, ‘100’)
Insert Into Barang (Kode, NamaBarang, Jumlah) Values (‘2’, ‘Pena’, ‘150’)
Insert Into Barang (Kode, NamaBarang, Jumlah) Values (‘3’, ‘Penggaris’, ’50’)
Selanjutnya kita buat Transact-SQL dengan menggunakan Fetch dan Cursor. Berikut tahapan-tahapan nya
1. Declare
Mendeklarasi nama cursor yang dilanjutkan dengan struktur query select
DECLARE [nama cursor] CURSOR FOR [Query]
Contoh:
DECLARE barang_cursor CURSOR FOR
SELECT Kode, NamaBarang, Jumlah FROM Barang
WHERE NamaBarang ”
ORDER BY Kode, NamaBarang
2. Open
Setelah didekalarasi, cursor harus tersebut dibuka terlebih dahulu sebelum digunakan.
OPEN [nama cursor]
Contoh:
OPEN barang_cursor
3. Fetch
Fetch merupakan perintah untuk mengambil isi cursor yakni hasil query pada saat cursor tersebut dideklarasikan dan berikutnya ditampung ke dalam variabel.
FETCH [nama cursor] INTO [variabel1, variabel2,..]
Contoh:
FETCH NEXT FROM barang_cursor
INTO @Kode, @NamaBarang, @Jumlah
Apabila hasil query lebih dari 1 baris, maka dapat ditambahkan perulangan dengan melihat kondisi @@FETCH_STATUS
4. Close dan Deallocate
CLOSE merupakan perintah untuk menutup Cursor, kemudian Deallocate digunakan untuk melepaskan.
CLOSE [nama cursor]
DEALLOCATE [nama cursor]
Contoh:
CLOSE barang_cursor
DEALLOCATE barang_cursor
Berikut Query Keseluruhan
/* Untuk memastikan bahwa kita menggunakan database yang benar, jalankan perintah use database di mana tabel tersebut digunakan */
USE Barang
GO
/* Deklarasikan variabel-variabel yang akan dijadikan tujuan penyimpanan hasil dari FETCH. */
DECLARE @Kode varchar(50), @NamaBarang varchar(150), @Jumlah int
/* Deklarasikan Cursor yang akan digunakan, dilanjutkan dengan perintah Select dari tabel yang akan diproses. */
DECLARE barang_cursor CURSOR FOR
SELECT Kode, NamaBarang, Jumlah FROM Barang
WHERE NamaBarang ”
ORDER BY Kode, NamaBarang
/* Mengidentifikasi Cursor */
OPEN barang_cursor
/*
Menjalankan fetch pertama dan menampung isi cursor ke dalam variabel-variabel.
Pastikan posisi-posisi variabel pada saat menjalankan fetch memiliki urutan yang sama dengan field-field yang seharusnya yang ada di dalam perintah SELECT di atas
*/
FETCH NEXT FROM barang_cursor
INTO @Kode, @NamaBarang, @Jumlah
/*
Lakukan Looping data yang dihasilkan oleh Cursor
Melakukan pengecekan @@FETCH_STATUS untuk memastikan apabila masih terdapat beberapa baris data.
*/
WHILE @@FETCH_STATUS = 0
BEGIN
/* Menampilkan nilai dari variabel-variabel hasil dari Fetch. */
PRINT ‘Barang : ‘ + @Kode + ‘ – ‘ + @NamaBarang + ‘ – ‘ + Cast(@Jumlah As Varchar(10))
/* Mengembalikan ke bagian FETCH jika baris data masih ada. Baris ini akan dieksekusi jika fetch sebelumnya berhasil dieksekusi. */
FETCH NEXT FROM barang_cursor
INTO @Kode, @NamaBarang, @Jumlah
END
/* Terakhir, jangan lupa untuk selalu menutup dan melepaskan Cursor yang sudah kita gunakan, setelah semua proses dijalankan */
CLOSE barang_cursor
DEALLOCATE barang_cursor
GO

[Dokumentasi] Visual Basic 6.0 menggunakan DBMS PostgreSQL

Beberapa langkah awal dalam menggunakan DBMS PostgreSQL sebagai database pada pemrograman Visual Basic 6.0, antara lain :
1. Lakukan instalasi psqlodbc untuk menghubungkan aplikasi dengan database. Psqlodbc dapat didownload dari http://www.postgresql.org/ftp/odbc/versions/msi/
2. Syntax Connectionstring :
With oConn
If .State = adStateOpen Then .Close
.ConnectionString = “Driver={PostgreSQL Ansi};Server=MyServer;Database=MyDatabase;User ID=MyUsername;Port=5432; Password=MyPassword”
.ConnectionTimeout = 0
.CursorLocation = adUseClient
.Open
End With
3. Jika ditemukan error yang berisi pesan “Provider cannot derive parameter information and SetParameterInfo has not been called.“, kemungkinan psqlodbc yang digunakan masih versi lama, coba lakukan reinstall psqlodbc dengan menggunakan versi terbaru.

[Dokumentasi] Contoh sederhana export excel dari Visual Basic 6.0

Dalam pemrograman basisdata, sebagai programmer, kita dituntut untuk dapat menghasilkan output berupa laporan. Cara menghasilkan laporan tersebut tentunya berbeda-beda. Salah satu cara menghasilkan output laporan adalah menampilkan laporan tersebut ke excel.
Berikut ini diuraikan langkah-langkah pembuatan output excel sederhana dengan menggunakan Visual Basic 6.0 :

  1. Buat satu project baru pada visual basic 6.0
  2. Tambahkan 1 CommandButton pada form dan beri nama Command1
  3. Buka code viewer pada form yang telah disediakan CommandButton tadi Deklarasikan object untuk menghasilkan file excel

    Dim oExcel As Object

    Dim oBook As Object
    Dim oSheet As Object
  4. Double Click pada CommandButton tadi untuk menambahkan code pada event click’- Set object yang telah dideklarasikan sebelumnya untuk membuat objek Excel
    Set oExcel = CreateObject(“Excel.Application”)
    Set oBook = oExcel.Workbooks.Add
    Set oSheet = oBook.Worksheets(1)‘- Lakukan pengaturan untuk masing-masing kolom
    oExcel.ActiveSheet.Cells(1, 1).ColumnWidth = 10
    oExcel.ActiveSheet.Cells(1, 2).ColumnWidth = 25
    oExcel.ActiveSheet.Cells(1, 3).ColumnWidth = 16
    ‘- Untuk membuat border pada cell, dapat dilihat pada listing code berikut
    ‘Borders Param -> 1 = left, 2 = right, 3 = top, 4 = bottom
    ‘LineStyle -> 1 = Continuos
    oExcel.Range(oExcel.ActiveSheet.Cells(1, 1), oExcel.ActiveSheet.Cells(6, 3)).Borders(1).LineStyle = 1
    oExcel.Range(oExcel.ActiveSheet.Cells(1, 1), oExcel.ActiveSheet.Cells(6, 3)).Borders(2).LineStyle = 1
    oExcel.Range(oExcel.ActiveSheet.Cells(1, 1), oExcel.ActiveSheet.Cells(6, 3)).Borders(3).LineStyle = 1
    oExcel.Range(oExcel.ActiveSheet.Cells(1, 1), oExcel.ActiveSheet.Cells(6, 3)).Borders(4).LineStyle = 1
    ‘- Lakukan pengaturan alignment pada cell
    ‘Set HorizontalAlignment per Cell
    oExcel.ActiveSheet.Cells(1, 1).HorizontalAlignment() = 3
    oExcel.ActiveSheet.Cells(1, 2).HorizontalAlignment() = 3
    oExcel.ActiveSheet.Cells(1, 3).HorizontalAlignment() = 3
    ‘- Pengaturan alignment juga dapat dilakukan sekaligus pada beberapa cell
    ‘Set HorizontalAlignment per Range
    oExcel.Range(oExcel.ActiveSheet.Cells(2, 1), oExcel.ActiveSheet.Cells(6, 1)).HorizontalAlignment() = 3
    ‘- Tampilkan data yang ingin dimuat dalam file excel tersebut, data dapat pula diambil dari database
    ‘Set Text into cells
    oExcel.ActiveSheet.Cells(1, 1).Value = “Nomor”
    oExcel.ActiveSheet.Cells(1, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(1, 3).Value = “Jumlah”
    oExcel.ActiveSheet.Cells(2, 1).Value = “1”
    oExcel.ActiveSheet.Cells(2, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(2, 3).Value = “Jumlah”
    oExcel.ActiveSheet.Cells(3, 1).Value = “2”
    oExcel.ActiveSheet.Cells(3, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(3, 3).Value = “Jumlah”
    oExcel.ActiveSheet.Cells(4, 1).Value = “3”
    oExcel.ActiveSheet.Cells(4, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(4, 3).Value = “Jumlah”
    oExcel.ActiveSheet.Cells(5, 1).Value = “4”
    oExcel.ActiveSheet.Cells(5, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(5, 3).Value = “Jumlah”
    oExcel.ActiveSheet.Cells(6, 1).Value = “5”
    oExcel.ActiveSheet.Cells(6, 2).Value = “Nama”
    oExcel.ActiveSheet.Cells(6, 3).Value = “Jumlah”
    ‘- Simpan file excel tersebut ke media penyimpanan
    ‘Save Excel File to Drive C
    oBook.SaveAs “C:Book1.xlsx”
    ‘- Tampilkan file excel yang telah dibuat
    ‘Show Excel , and if you wanna hide it, set to false
    oExcel.Visible = True
    ‘- Setelah selesai proses pembuatan file, kita dapat keluar dari excel
    ‘Exit from Excel
    oExcel.Quit
  5. Lakukan modifikasi sesuai kebutuhan Anda…

———————->>> bersambung  pada sesi export excel selanjutnya

[Dokumentasi] Reporting Program VB6 dengan Crystal Report 8.5 menggunakan TTX File (II)

Dalam tulisan kali ini, kita akan menampilkan data dari program aplikasi yang kita buat dengan VB6 ke laporan Crystal Report (TTX File). Di bagian sebelumnya, sudah disampaikan langkah-langkah pembuatan laporan Crystal Report dengan TTX File. Untuk menghubungkan laporan tersebut dari program aplikasi yang kita buat, dapat mengikuti langkah-langkah berikut :
1. Buka IDE Ms. VB 6, pilih New – Standard Exe, kemudian klik tombol Open
2. Pilih menu Project – Component (Ctrl+T), tab Controls akan menampilkan daftar komponen teregister yang dapat kita gunakan untuk program aplikasi kita, ceklis komponen Crystal Report Viewer Control, kemudian klik tombol OK
3. Pilih menu Project – References, ceklis Crystal Reports 8.5 ActiveX Designer Run Time Library dan Microsoft ActiveX Data Objects 2.x Library, kemudian klik tombol OK
4. Pada Toolbox akan menambah 1 komponen dengan nama CRViewer, drag komponen tersebut dan drop di form yang kita gunakan.
5. Atur tata letak komponen tersebut pada form, dalam kasus ini saya gunakan code berikut :
   Private Sub Form_Resize()
    CRViewer1.Top = 0
    CRViewer1.Left = 0
       CRViewer1.Width = Me.Width – 250
    CRViewer1.Height = Me.Height – 600
End Sub
5. Deklarasikan objek-objek berikut :
   Private cryApp As CRAXDRT.Application
   Private rptApp As CRAXDRT.Report
   Private oCn As New ADODB.Connection
   Private oRst As New ADODB.Recordset

6. Dalam contoh ini saya tambahkan prosedur koneksi ke database (tergantung jenis database yg digunakan, dalam kasus ini digunakan SQL Server), seperti berikut :
   Private Sub ConnectDB()
      With oCn
        .Provider = “SQLOLEDB”
        .Properties(“Data Source”) = “(LOCAL)”
        .Properties(“User ID”) = “user”   ‘Username SQL
        .Properties(“Password”) = “password”  ‘Password SQL
        .Properties(“Initial Catalog”) = “Barang”    ‘Nama Database
        .CursorLocation = adUseClient
        .ConnectionTimeout = 0
        
        If .State = adStateOpen Then .Close
        .Open
     End With
   End Sub
7. Pada event form_load, ketik kode berikut ini :
   Private Sub Form_Load()
       ‘Setting form Maximized

       Me.WindowState = vbMaximized
       
       ‘Memanggil prosedur koneksi database

       Call ConnectDB
       
       ‘Membuka recordset dari tabel bara
ng (tabel barang memiliki field Kode, NamaBarang dan Jumlah)

       With oRst
         If .State = adStateOpen Then .Close
           .Open “Select Kode, NamaBarang, Jumlah From Barang”, oCn
       End With
      
       ‘Dalam contoh ini, file report disimpan di C:testing dengan nama file rptBarang.rpt

       Set cryApp = New CRAXDRT.Application
       Set rptApp = cryApp.OpenReport(“C:TestingrptBarang.rpt”)
       ‘Setting data source report dari recordset
       rptApp.Database.SetDataSource oRst
       
       ‘Assign report ke komponen CRViewer untuk ditampilkan

       CRViewer1.ReportSource = rptApp
      CRViewer1.ViewReport
       
       Do While CRViewer1.IsBusy
           DoEvents
       Loop
      
      CRViewer1.Zoom 100
   End Sub
8. Jika ingin menggunakan parameter pada laporan, maka tambahkan listing kode berikut di kode di atas
       rptApp.ParameterFields.GetItemByName(“paramTest”).ClearCurrentValueAndRange
       rptApp.ParameterFields.GetItemByName(“paramTest”).AddCurrentValue “Test”
9. Running program aplikasi, yang telah dibuat, jika terdapat error, lakukan debugging…
Selanjutnya, silahkan kembangkan sendiri report anda dengan mengeksplorasi fungsi-fungsi yang ada… 🙂

[Dokumentas] Reporting Program VB6 dengan Crystal Report 8.5 menggunakan TTX File (I)

Ada beberapa cara menampilkan laporan dengan crystal report dari program yang kita buat menggunakan visual basic (khususnya VB6). Salah satu contoh yang saya anggap paling gampang dan tidak ribet yakni dengan menggunakan TTX File. Kenapa saya katakan paling gampang, karena dengan menggunakan TTX File, kita hanya memerlukan bantuan recordset sebagai datasource nya, sehingga kita hanya “bermain” dengan perintah SQL untuk menampilkan datanya.
Adapun langkah-langkah pembuatan laporan nya sebagai berikut :
1. Buka Crystal Report yang sudah terinstall di PC, kemudian di awal akan langsung menampilkan pilihan Create (buat report baru) atau Open (modifikasi laporan), pilih Create – As a Blank Report (akan ditampilkan form Data Explorer)
2. Pada Data Explorer, pilih More Data Sources – Active Data – Active Data (Field Definition Only)
3. Kita akan dihadapkan pada form Select Data Source. Di sini kita bisa membuat file TTX sendiri dengan menggunakan bantuan Notepad, jika kita sudah mengetahui format dan struktur field type yang digunakan. Namun dalam kasus ini kita pilih New untuk membuat TTX Baru (menggunakan bantuan CR), setelah itu akan tampil form database definition tool.
4. Pada database definition tool Kita tinggal mengisikan nama field pada Field Name dan tipe field pada Field Type, serta ukuran field jika menggunakan String. Sebagai contoh, kita buat ttx dengan Field berikut :
Kode String(50), NamaBarang String (150) dan Jumlah Number
5. Selesai menambah field-field yang akan dimasukkan ke laporan, tutup database definition tool, saat konfirmasi apakah TTX akan di simpan, pilih Yes, pilih lokasi tempat penyimpanannya.
6. Path dan nama file TTX yg telah disimpan tadi akan otomatis terpilih pada form select data source, Klik tombol OK, pada form Data explorer, pilih nama TTX yang baru saja dibuat, Klik tombol Add.
7. Setelah di add, perhatikan nama file TTX yang kita pilih, akan ada ceklis berwarna hijau yang berarti file TTX tsb sudah menjadi data source pada laporan yang akan dibuat, Klik Close untuk menutup form.
8. Selanjutnya kita akan dihadapkan pada antarmuka Crystal Report. Field-field yang sudah kita tambahkan pada file TTX tadi dapat kita lihat pada form Field Explorer (menu Insert – Field Object)
9. Terakhir, drag field yang ingin ditampilkan pada laporan dari field explorer, kemudian drop pada section detail, rapikan laporan tersebut agar kelihatan lebih bagus.
Bersambung ke Bagian Kedua, cara menghubungkan report dengan program yang dibuat dari VB 6… 🙂

[Dokumentasi] Konfigurasi PHP agar mendukung DB PostgreSQL

Pada saat kita menginstall PHP baik dengan menginstal paket PHP yang terpisah dengan Apache ataupun yang satu paket dengan Apachenya (ex : XAMPP), terkadang PHP tersebut belum mendukung penggunaan database PostgreSQL, untuk menjadikan PHP dapat mendukung penggunaan database PostgreSQL, berikut ini langkah-langkah yang perlu dilakukan :
a. Windows

  1. Edit php.ini dan php-pear.ini
  2.  Hilangkan tanda comment (;) pada
    • extension=php_pdo_pgsql.dll
    • extension=php_pgsql.dll
  3. Tambahkan path lokasi folder bin Postgre pada Environment Variable -> path
    ex : C:Program FilesPostgreSQL8.3bin
  4. Restart Windows
b. Debian
  1. Install paket php, postgresql, dan paket php postgre nya
    -> apt-get install php5-pgsql
    -> apt-get install libpq-dev
    apt-get install postgresql-8.4 php5-pgsql
  2. tambahkan baris berikut ke php.ini
    extension=pgsql.so
    extension=pdo_pgsql.so
  3. Restart service apachenya

[Dokumentasi] Membuat Contoh Model, View dan Controller, serta menghubungkan satu sama lainnya

Berikut contoh sederhana dari Model, Controller dan View pada CI dan cara menghubungkan satu sama lain

  1. Model -> merupakan bisnis proses yang mengatur data, khususnya data dari database
    class M_Pegawai extends CI_Model {
    function __construct() {
    parent::__construct();
    }
    function index() {
    echo “index”;
    }
    function getPegawai() {
    $data = $this->db->query(“Select * From tTable1”);
    return $data;
    }
    }
    /*end of file*/Penjelasan kode :

    • class M_Pegawai extends CI_Model : deklarasi class dengan nama M_Pegawai yang di inherit dari class CI_Model, yakni class Code Igniter yang menangani Model
    • function __construct() -> merupakan konstruktor, yang merupakan fungsi yang akan dijalankan paling awal, akan tetapi boleh di tiadakan
    • function index() -> merupakan fungsi default, jika saat memanggil class tanpa menyebutkan fungsinya
    • function getPegawai() -> merupakan salah satu contoh fungsi lain, fungsi ini digunakan untuk mengambil data dari database
    • $data = $this->db->query(“Select * From tTable1”); -> Assign variabel data dengan melakukan query select data dari database
    • return $data; -> mengembalikan nilai fungsi
  2. Controller
    class C_Pegawai extends CI_Controller {
    function __construct() {
    parent::__construct();
    $this->load->model(‘m_pegawai’);
    }
    function index() {
    $query = $this->m_pegawai->getPegawai();
    $data[‘que’] = $query->result();
    $data[‘numrows’] = $query->num_rows;
    $this->load->view(‘v_pegawai’,$data);
    }
    }
    /*end of file*/
  3. View -> Sebagai Front end ke user
    foreach ($que as $row)
    {
    echo “- “.$row->Table1Nama.””;
    }
    /*end of file*/
    WebRepOverall rating