Tag: Programming

Perjalanan Zaitun Time Series menuju APICTA 2009 Melbourne (Part 1: INAICTA)

image Indonesia Information and Communication Technology Award (INAICTA) merupakan ajang tahunan berskala nasional yang diselenggarakan oleh Departemen Komunikasi dan Informatika (Depkominfo) yang bertujuan untuk meningkatkan kreativitas para professional di bidang ICT, mendorong pemanfaatan dan pertumbuhan ICT di semua lini industri, juga mempersiapkan pelaku teknologi informasi lokal untuk menghadapi kompetisi global. Ajang ini terbuka bagi seluruh masyarakat Indonesia baik dari kalangan akademisi, praktisi, perusahaan, lembaga riset, ataupun perorangan. INAICTA tahun 2009 mengangkat tema “Digital Creative for National Building” dengan visi memposisikan ICT sebagagai variabel yang memungkinkan untuk dimanfaatkan oleh bangsa Indonesia untuk meningkatkan martabat bangsa di dunia internasional.

Berikut ini adalah catatan perjalanan tim pengembang Zaitun Time Series dari awal mengikuti ajang INAICTA 2009 sampai akhirnya menjadi juara kategori Research and Development.

Continue reading “Perjalanan Zaitun Time Series menuju APICTA 2009 Melbourne (Part 1: INAICTA)”

VB lagi VB lagi

Untuk sementara, rewriting Zaitun Time Series module di tunda. Cause ada request bikin aplikasi data entry, dan lagi2 pake vb6 (vb jadul).

Udah lumayan lupa sih ama bahasa vb. But ga papa dicoba lagi.
Sebenarnya gak suka ama style bahasa vb. terlalu ribet. banyak keyword.
Apalagi vb6, bahasa yang menurutku kacau. oop gak, terstruktur jg gak. tau deh bahasa apa. Dan banyak yang gak konsisten gt.
Makanya aq milih bahasa yang turunannya C spt C++, C#, Java, PHP.
lebih enak lah. konsisten. siip.

Yang paling kuingat adalah statement lucu buat penanganan error di vb6:
On Error Go To Hell
Kalau error ya ke laut aja lah. hehe.

But. g papa tetep dikerjain aja lah:
Ini aq kutip aja sebagian source code nya. itung2 buat nginget2 bahasa nya vb6:

Public Function Simpan() As String
On Error GoTo Hell
simpan = True

rsBatch.Open "batch", strCon, adOpenStatic, adLockOptimistic
rsBatch.AddNew

rsBatch.Fields("prov") = batch.txtProvinsi.Text
rsBatch.Fields("kab") = batch.txtKabupaten.Text
rsBatch.Fields("kec") = batch.txtKecamatan.Text
rsBatch.Fields("desa") = batch.txtDesa.Text

rsBatch.Update
rsBatch.Close

Exit Function

Hell:
simpan = False
If Err.Number = -2147467259 Then
    MsgBox "Sudah ada data dengan primary key sama"
Else: MsgBox "Error: " & Err.Number & " " & Err.Description
End If
End Function

Ini critanya buka koneksi database, tabel tertentu, trus ngeadd recordnya habis itu di simpen. gitu aja.
Kalo error ke laut aja. 😛

How to read an Excel File with C#

Setelah nyari2 kemana2 dapet juga library buat baca tulis file excel di c#.

Setelah utak atik bentar jadilah kelas ExcelReader. Kelas ini membaca file Excel dengan memanfaatkan library excellibrary. http://code.google.com/p/excellibrary/

and. here is the code:

using System;
using System.Collections.Generic;
using System.IO;
using System.Data;
using ExcelLibrary.Office.Excel;

namespace zaitun.Data
{
 public class ExcelReader
 {

private DataSet data;
private string filePath;

public ExcelReader(string filePath)
{
this.filePath = filePath;
}

public DataSet ReadData()
{
Workbook book = Workbook.Open(this.filePath);

this.data = new DataSet();

foreach (Worksheet sheet in book.Worksheets)
{
DataTable table = new DataTable(sheet.Name);
for (int i = sheet.Cells.FirstColIndex; i <= sheet.Cells.LastColIndex; i++)
{
table.Columns.Add();
}

for (int i = sheet.Cells.FirstRowIndex; i <= sheet.Cells.LastRowIndex; i++)
{
Row xlrow = sheet.Cells.GetRow(i);
DataRow row = table.NewRow();
for (int j = xlrow.FirstColIndex; j <= xlrow.LastColIndex; j++)
{
Cell cell = xlrow.GetCell(j);

row[j - xlrow.FirstColIndex] = cell.Value;
}

table.Rows.Add(row);
}

this.data.Tables.Add(table);
}

return this.data;
}
}

}

Kelas ini membaca file excel yang path-nya didefinisikan di konstruktor kelas ini yaitu parameter filePath.

Hasil pembacaannya diumpan balik dalam objek DataSet melalui fungsi Read Data. Objek dataset merepresentasikan satu workbook excel. didalam DataSet ada beberapa DataTable yang di excel berupa Worksheet.

Berikut contoh implementasi dari kelas excelreader

ExcelReader excel = new ExcelReader(filePath);
DataSet excelData = excel.ReadData();

Akhirnyaaa.. Ketemu juga ama LGPL

Setelah beberapa hari berjuang nyari library alternatif untuk ExcelDataReader dan AForge.NET. Akhirnya ketemu juga library yang lisensinya LGPL. horeee…

Sebagai ganti dari ExcelDataReader yang fungsinya untuk read and write file excel. Telah ku dapetin library excellibrary di http://code.google.com/p/excellibrary/

Untuk gantiin AForge ada 2 alternatif: encog-cs (http://code.google.com/p/encog-cs/) atau Neural.NET (http://www.penguinwerks.com/neuralnet.php)

Matur nuwun sanget kuucapin pada Mas Rahmat yang telah bantu2 nyariin library nya. thanks a lot. Walau lama g ketemu ama dia. tapi orangnya masih tetep baik. hehe.

Next step=> coba2 library nya. semoga bisa menggantikan yang udah ada, atau bahkan lebih bagus. siip. Ntar malem nglembur coding lagi. horeee.

Liburan… Lupakan kerjaan di kantor. hehehe

GPL vs LGPL

Beberapa hari yang lalu, aku coba melihat-lihat lebih jelas tentang macam-macam lisensi software, terutama yang open source.

Ada 2 lisensi yang menarik perhatian ku: GNU General Public License (GPL) ama GNU Lesser General Public License (LGPL). Mengapa menarik perhatianku?? Karena 2 lisensi ini dipakai oleh komponen-komponen yang kupakai untuk mendevelop aplikasiku: Zaitun Time Series.

Ada perbedaan ternyata yang aku baru ngeh saat itu. Untuk GPL, aplikasi yang menggunakannya harus berlisensi GPL. sebaliknya LGPL aplikasi yang menggunakannya bisa bebas lisensinya.

What about my software????

Zaitun Time Series saat ini menggunakan 2 library yang lisensinya GPL: ExcelDataReader dan AForge.NET.

jadi gimana niiih??