December 2, 2009

MS Chart Pada VB 9/10


Seperti pada artikel saya step ke 16, untuk membuat Chart kita bisa menggunakan owc11. dan sebelumnya kita harus melakukan beberapa langkah terlebih dahulu.Atau kita bisa menggunakan 3rd party program untuk membuat chart, tapi tentunya tidak gratis.

Pada VS 2008 kita bisa menggunakan MS Chart komponen, pada saat installation VS 2008, komponen ini memang tidak ada pada toolbox, kita harus mendownload terlebih dahulu. Silahkan download pada link dibawah ini.

http://www.microsoft.com/downloads/details.aspx?FamilyId=130F7986-BF49-4FE5-9CA8-910AE6EA442C&displaylang=en (MSChart.exe)

http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&displaylang=en (MS Chart Control Add-on)

Setelah berhasil mendownload pada dua link di atas, hal pertama yang dilakukan adalah jalankan file MSChart.exe , lalu MSChart_VisualStudioAddOn.exe.

Coba buka VS 2008, dan liat pada toolbox > Data, maka ada sebuah komponen baru dengan nama chart.

Di bawah merupakan contoh code menggunakan komponen ini.

Dengan menggunakan LINQ

Dim db As New ChartDataContext

Dim hasil = From rep In db.REPs

Chart1.Series("Series1").Points.DataBindXY(hasil, "Name", hasil, "Sales")

Dan , dengan menggunakan DataReader

Dim myConnectionString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=chartdata.mdb"

Dim mySelectQuery As String = "SELECT Name, Sales FROM REPS WHERE RegionID <>

Dim myConnection As New OleDbConnection(myConnectionString)

Dim myCommand As New OleDbCommand(mySelectQuery, myConnection)

myCommand.Connection.Open()

Dim myReader As OleDbDataReader=myCommand.ExecuteReader(CommandBehavior.CloseConnection)

Chart1.Series("Default").Points.DataBindXY(myReader, "Name", myReader, "Sales")

myReader.Close()

myConnection.Close()


Untuk contoh lengkap bisa di dapat disini http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591

Note : Pada VB 2010, komponen ini sudah otomatis ada pada saat kita menginstall VS 2010.

Wassalam

November 19, 2009

Read/Write Configuration File (VB 9)


Setelah menggunakan VB 2005 keatas, banyak sekali para developer memanfaatkan suatu fitur baru yaitu My.Settings. Salah satu fungsi nya adalah untuk melakukan penyimpaanan informasi yang bisa di akses secara mudah dan cepat oleh aplikasi kita. Dan fitur banyak sekali di gunakan untuk menyimpan connection string dalam mengakses database. Lalu bagaimana membuat aplikasi yang fleksible dalam menyimpan connection string tanpa harus membuka secara langsung file konfigurasi nya. Untuk itu kita harus membuat sedikit code untuk mengakses dan memanipulasi data yang tersimpan di file tersebut. Bagaimana cara nya , ikuti trus artikel ini.
untuk artikel bisa didapatkan di  link
untuk source code di  link
Wassalam

November 10, 2009

Mengurangi size pada excel file dengan menggunakan VBA

Sering sekali kita menerima atau menemukan file excel kita berukuran yang sangat besar namum isi nya hanya sedikit, dan sangat tidak masuk akal. Isi yang sedikit tapi dengan Size bisa mencapai 5-10 MB.

Lalu bagaimana cara mengatasinya, banyak sekali caranya, misalkan dengan melakukan Save As ke .html, .csv format. Tapi hal ini pernah saya lakukan dan tidak berhasil dengan sempurna.

Tulisan ini mengajak kita untuk menyelesaikan masalah diatas dengan menggunakan VBA. Pasti akan timbul pertanyaan, apakah setiap file yang bermasalah akan menggunakan VBA, berarti kita akan selalu mengetikkan code jika menemui file yang bermasalah. Tentu jawaban nya tidak, kebayang jika kita memiliki 100 user dan 50% dari user sering mengalami masalah ini. Oleh karena kita akan membuat Add-Ins (.xla), dan akan di distribusikan ke user.

Ikuti langkah-langkah berikut :

  1. Create New Excel file dan simpan dengan nama Reduce
  2. Pada jendela excel, tekan Alt+F11 (untuk membuka jendela Visual Basic Editor)
  3. Pada jendela VBA, klik kanan VBA Project (Reduce) dan Insert > Module
  4. Pada Module ketikkan sintaks seperti dibawah

Option Explicit

Sub Reduce

Dim LastRow As Long

Dim LastCol As Long

Dim ColFormula As Range

Dim RowFormula As Range

Dim ColValue As Range

Dim RowValue As Range

Dim ws As Worksheet

Application.ScreenUpdating = False

Application.DisplayAlerts = False

On Error Resume Next

For Each ws In Worksheets

With ws

On Error Resume Next

Set ColFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _

LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)

Set ColValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _

LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious)

Set RowFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _

LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)

Set RowValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _

LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)

On Error GoTo 0

If ColFormula Is Nothing Then

LastCol = 0

Else

LastCol = ColFormula.Column

End If

If Not ColValue Is Nothing Then

LastCol = Application.WorksheetFunction.Max(LastCol, ColValue.Column)

End If

If RowFormula Is Nothing Then

LastRow = 0

Else

LastRow = RowFormula.Row

End If

If Not RowValue Is Nothing Then

LastRow = Application.WorksheetFunction.Max(LastRow, RowValue.Row)

End If

.Range(Cells(1, LastCol + 1).Address & ":IV65536").Delete

.Range(Cells(LastRow + 1, 1).Address & ":IV65536").Delete

End With

Next

Application.ScreenUpdating = True

Application.DisplayAlerts = True

MsgBox ("Selesai")

End Sub

  1. Simpan. Lalu Save As file tersebut dengan type .xla (Microsoft Office Excel Add-In) dengan nama Reduce.xla

Lalu bagaimana menggunakan nya, buka file yang bermasalah , dan Klik Tools > Add-Ins. Pada jendela Add-Ins aktifkan check box Reduce. Jika tidak ada cari (browse) dimana sewaktu kita menyimpan file .xla nya. (Ini dilakukan cukup sekali pada setiap PC). Dan untuk menjalankan nya, klik Tools > Macro > Macros

Jika pada jendela Macro tersedia “Reduce” Macro maka tinggal klik button Run, jika belum ketikkan “Reduce” pada Macro Name dan klik Run. Setelah ada pesan “Selesai”. Tutup dan lihat size nya sudah berkurang..

Selamat mencoba ..

Wassalam

October 23, 2009

VIDEO TUTORIAL (DEPLOYING USING MERGE MODULES)

Deployment bisa dikatakan sebagai hasil akhir dalam pembuatan aplikasi. Trus bagaimana jadi nya kalau hasil akhir ini tidak bisa di gunakan. Wah pasti sangat menyebalkan. Hal ini bisa terjadi pada aplikasi yang menggunakan Crystal Report. Jika pada saat melakukan deployment tidak menggunakan Merge Modules. Banyak sekali pertanyaan yang masuk ke saya berkenaan dengan ini. “Pak kok setelah di buat installer, trus di install ke PC lain, pas mau lihat laporan kok error”..

“Pak, apa artinya Invalid or Missing KeyCodeV3.dll”. dan banyak lagi.

Jadi untuk menjawab itu semua akan saya buat kan Video Tutorial bagaimana melakukan Deployment suatu project dengan menggunakan Merge Modules.

Silahkan download video tutorial nya disini

Note : untuk video ini saya menggunakan VS.Net 2003

Selamat mencoba ..

Wassalam

October 14, 2009

Paging DataGridView With LINQ


Masih pada ingat postingan artikel saya mengenai LINQ ? setelah mencoba akan kemudahan nya pasti akan membuat para pembaca tertarik untuk mendalami fungsi-fungsi LINQ. Masih menggunakan project yang sama topik yang sama (LINQ), saya akan memberikan trik bagaimana membuat Paging GridView dengan menggunakan LINQ.

Mungkin diantara pembaca sudah pernah membuat Paging Grid menggunakan Ado.net classic, seperti memanfaatkan ExecuteScalar dan lain-lain. Tapi bagaimana dengan LINQ apakah bisa ??? Bukan saja bisa, malah lebih mudah. Mari kita mulai project ini.

Note : Sebelum menerapkan aplikasi ini, sebaiknya mendownload artikel dan project sebelum postingan ini (Membuat Aplikasi Menjadi Lebih Mudah Dengan LINQ).

Buka project LatihanLINQ, dan tambahkan 1 form dan tambahkan 4 buah button, 1 label dan 1 DataGrdiView. Ubah properties dan atur letak komponen seperti diatas.

Form :

Name : F_Grid

Text : Paging Grid

StartPosition : CenterScreen

Button 1: Name = btnAwal , Text = <<

Button 2: Name = btnMundur, Text = <

Button 3: Name = btnMaju, Text = >

Button 4: Name = btnAkhir, Text = >>

Label : Name =lblStart, Text = Kosong

DatGridView1 : Name =DgView

Pada Project LatihanLINQ, buka class AccessSupplier.vb

Dan ketikkan sintak berikut didalam class AccessSupplier :

'Menampilkan jumlah baris table

Public Function GetTotalBaris() As Integer

Dim dc As New DataClassesDataContext

Dim hasil = (From sup In dc.GetTable(Of T_Supplier)() _

Select sup).ToList

Return hasil.Count 'menghitung jumlah element pada list

End Function

'menampilkan data dari n baris sebanyak n baris

Public Function GetSupplierRows(ByVal Awal As Integer, _

ByVal akhir As Integer) As List(Of T_Supplier)

Dim dc As New DataClassesDataContext

Dim hasil = (From sup In dc.GetTable(Of T_Supplier)() _

Order By sup.Sup_Code Select sup).Skip(Awal).Take(akhir).ToList

Return hasil

End Function

View Code untuk F_Grid, lalu ketikkan sintaks berikut di bawah Public Class F_Grid

Private AccessSupplier As New AccessData.AccessSupplier

Private NilAwal, NilTotal, NilBagi As Integer

Private NilPage As Integer = 2

Private Sub LabelRecord()

lblStart.Text = "Awal baris : " & (NilAwal + 1).ToString & " dari total : " + NilTotal.ToString

End Sub

Double click pada form F_Grid, dan ketikkan sintaks berikut :

Try

NilAwal = 0 'awal baris

NilTotal = AccessSupplier.GetTotalBaris 'mengambil total baris

DgView.DataSource = AccessSupplier.GetSupplierRows(NilAwal, NilPage) 'menampilkan data pada gridview

LabelRecord() 'menampilkan nilai baris dan total baris

Catch ex As Exception

MsgBox(ex.Message)

End Try

Double click button Maju dan ketik sintaks berikut :

Try

If (NilAwal + NilPage) <= NilTotal Then

NilAwal += NilPage

DgView.DataSource = AccessSupplier.GetSupplierRows(NilAwal, NilPage)

LabelRecord()

Else

MsgBox("Data sudah pada halaman terakhir", MsgBoxStyle.Information, "LINQ")

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

Button Mundur :

Try

If (NilAwal - NilPage) >= 0 Then

NilAwal -= NilPage

DgView.DataSource = AccessSupplier.GetSupplierRows(NilAwal, NilPage)

LabelRecord()

Else

MsgBox("Data sudah pada halaman pertama", MsgBoxStyle.Information, "LINQ")

End If

Catch ex As Exception

MsgBox(ex.Message)

End Try

Button Awal

Try

NilAwal = 0

DgView.DataSource = AccessSupplier.GetSupplierRows(NilAwal, NilPage)

LabelRecord()

Catch ex As Exception

MsgBox(ex.Message)

End Try

Dan button Akhir

Try

NilTotal = AccessSupplier.GetTotalBaris

NilBagi = NilTotal Mod NilPage

NilAwal = NilTotal - IIf(NilBagi <> 0, NilBagi, NilPage)

DgView.DataSource = AccessSupplier.GetSupplierRows(NilAwal, NilPage)

LabelRecord()

Catch ex As Exception

MsgBox(ex.Message)

End Try

Dan jalankan program, maka gridview menampilkan data per 2 baris sesuai dengan navigator yang kita tekan.

Selamat mencoba

Wassalam

October 9, 2009

Vb 9 with LINQ (MEMBUAT APLIKASI MENJADI LEBIH MUDAH DENGAN LINQ)

LINQ merupakan fitur baru pada Vb 9.0, dan fitur ini sangat membantu para programmer dalam membangun suatu aplikasi. Lalu apakah LINQ itu dan mahluk seperti apakah LINQ?? Mungkin masih banyak sekali di antara pembaca yang belum tau apa itu LINQ dan fungsi-fungsi nya. . Ada beberapa macam LINQ Provider seperti LINQ to Object, LINQ to XML, LINQ to SQL, LINQ to Datasets, tapi pada artikel ini kita akan membuat aplikasi dengan menggunakan LINQ to SQL.
Sesuai dengan judul diatas, dengan LINQ akan memudahkan kita dalam membuat aplikasi. Artikel ini akan menjelaskan step by step cara pembuatan aplikasi, dari pembuatan database dengan SQL Server 2005 Express, bekerja dengan Object Relational Desginer, sampai dengan penggunaan fungsi-fungsi LINQ untuk aplikasi.
untuk artikel lengkap nya dapat didownload disini dan project source code disini

October 2, 2009

Alhamdulillah saya mendapatkan Microsoft MVP VB.Net

Alhamdulillah adalah kata pertama sewaktu membaca email di bawah

“Dear Junindar Tasripin,

Congratulations! We are pleased to present you with the 2009 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Visual Basic technical communities during the past year.”

Award ini merupakan kado Indah dari Microsoft sebelum lahir nya anak saya (perkiraan dokter bulan desember J )

Ga lupa saya berterima kasih banyak kepada: Narenda & wely (thanks atas promote nya).

Teman-teman MUGI Batam : bro Aprizon, anam, atha, abe, FARaham, Rudy , john dan irawan. Thanks memberi kesempatan saya menjadi pengurus MUGI Batam.

Terima kasih buat rekan-rekan setia pembaca artikel-artikel saya di blog ini, maupun di geeks dan ilkom yang menjadi inspirasi dalam tulisan-tulisan saya.

Dan Terakhir buat Keluarga TERCINTA............. Thanks for your support

Semoga dengan mendapatkan ini membuat saya lebih baik dalam melakukan share ilmu terutama untuk Vb.Net.