Rabu, 07 November 2012

Mengganti Regional Setting Komputer ( VB.Net)

Mengganti Regional Setting Komputer  adakalanya perlukan, untuk menghindari kesalahan antara presentasi program dan database, terutama data dgn type "datetime" , karena biaanya programer menyeting tanggal programnya dengan setting "english (US)" atau default komputernya, sedangkan USER biasanya menyeting regional setting dengan "indonesia" , nah biasanya disini terjadi kesalah.


Untuk mengatasi ini ada juga yang menggunakan "culture info"  atau "my.Application.ChangeCulture" , tapi ini hanya berlaku di aplikasi kita saja.

Code berikut akan mengganti/menetapkan regional setting komputer kita agar sesuai dengan setting aplikasi yg kita buat, jadi ga perlu repot2 menyuruh user mengganti secara manual dari kontrol panel, dan ga perlu kuatir si USEr pekok lupa menggantinya, karena setiap aplikasi jalan, otomatissss komputer mengubah regional setting yg kita tetapkan,,

Berikut Codenya :


Imports System.Runtime.InteropServices

Public Class Form1

    Private USASettings As New List(Of RegionalSettings)
    Private UKSettings As New List(Of RegionalSettings)

    Private Class RegionalSettings
        Public entry As String
        Public value As String
        Public Sub New(ByVal key As String, ByVal value As String)
            Me.entry = key : Me.value = value
        End Sub
    End Class

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        With USASettings
            .Add(New RegionalSettings("iCountry", "1"))
            .Add(New RegionalSettings("iCurrDigits", "2"))
            .Add(New RegionalSettings("iCurrency", "0"))
            .Add(New RegionalSettings("iDate", "1"))
            .Add(New RegionalSettings("iDigits", "2"))
            .Add(New RegionalSettings("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "1"))
            .Add(New RegionalSettings("iNegCurr", "0"))
            .Add(New RegionalSettings("iTime", "0"))
            .Add(New RegionalSettings("iTLZero", "0"))
            .Add(New RegionalSettings("Locale", "00000409"))
            .Add(New RegionalSettings("s1159", "AM"))
            .Add(New RegionalSettings("s2359", "PM"))
            .Add(New RegionalSettings("sCountry", "United States"))
            .Add(New RegionalSettings("sCurrency", "$"))
            .Add(New RegionalSettings("sDate", "/"))
            .Add(New RegionalSettings("sDecimal", "."))
            .Add(New RegionalSettings("sLanguage", "ENU"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dddd, MMMM dd, yyyy"))
            .Add(New RegionalSettings("sShortDate", "M/d/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "h:mm:ss"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "6"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With

        With UKSettings
            .Add(New RegionalSettings("iCountry", "44"))
            .Add(New RegionalSettings("iCurrDigits", "2"))
            .Add(New RegionalSettings("iCurrency", "0"))
            .Add(New RegionalSettings("iDate", "1"))
            .Add(New RegionalSettings("iDigits", "2"))
            .Add(New RegionalSettings("iLZero", "1"))
            .Add(New RegionalSettings("iMeasure", "0"))
            .Add(New RegionalSettings("iNegCurr", "1"))
            .Add(New RegionalSettings("iTime", "1"))
            .Add(New RegionalSettings("iTLZero", "1"))
            .Add(New RegionalSettings("Locale", "00000809"))
            .Add(New RegionalSettings("s1159", "AM"))
            .Add(New RegionalSettings("s2359", "PM"))
            .Add(New RegionalSettings("sCountry", "United Kingdom"))
            .Add(New RegionalSettings("sCurrency", "£"))
            .Add(New RegionalSettings("sDate", "/"))
            .Add(New RegionalSettings("sDecimal", "."))
            .Add(New RegionalSettings("sLanguage", "ENG"))
            .Add(New RegionalSettings("sList", ","))
            .Add(New RegionalSettings("sLongDate", "dd MMMM yyyy"))
            .Add(New RegionalSettings("sShortDate", "dd/MM/yyyy"))
            .Add(New RegionalSettings("sThousand", ","))
            .Add(New RegionalSettings("sTime", ":"))
            .Add(New RegionalSettings("sTimeFormat", "HH:mm:ss"))
            .Add(New RegionalSettings("iTimePrefix", "0"))
            .Add(New RegionalSettings("sMonDecimalSep", "."))
            .Add(New RegionalSettings("sMonThousandSep", ","))
            .Add(New RegionalSettings("iNegNumber", "1"))
            .Add(New RegionalSettings("sNativeDigits", "0123456789"))
            .Add(New RegionalSettings("NumShape", "1"))
            .Add(New RegionalSettings("iCalendarType", "1"))
            .Add(New RegionalSettings("iFirstDayOfWeek", "0"))
            .Add(New RegionalSettings("iFirstWeekOfYear", "0"))
            .Add(New RegionalSettings("sGrouping", "3;0"))
            .Add(New RegionalSettings("sMonGrouping", "3;0"))
            .Add(New RegionalSettings("sPositiveSign", ""))
            .Add(New RegionalSettings("sNegativeSign", "-"))
        End With

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each reg As RegionalSettings In UKSettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

        NotifyInternationalChanges()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        For Each reg As RegionalSettings In USASettings
            Microsoft.Win32.Registry.SetValue("HKEY_CURRENT_USER\Control Panel\International", reg.entry, reg.value)
        Next

        NotifyInternationalChanges()
    End Sub

    Private Sub NotifyInternationalChanges()
        'Ref: http://msdn.microsoft.com/en-us/library/windows/desktop/ms725497%28v=vs.85%29.aspx
        Dim HWND_BROADCAST As New IntPtr(&HFFFF) 'broadcast to entire system
        Dim Lparam As IntPtr = System.Runtime.InteropServices.Marshal.StringToBSTR("intl")
        SendNotifyMessage(HWND_BROADCAST, &H1A, UIntPtr.Zero, Lparam)
        System.Runtime.InteropServices.Marshal.FreeBSTR(Lparam)
    End Sub

    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Public Shared Function SendNotifyMessage(ByVal hWnd As IntPtr, _
                                             ByVal msg As UInt32, _
                                             ByVal wParam As UIntPtr, _
                                             ByVal lParam As IntPtr) As Boolean
    End Function

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

    End Sub
End Class

Minggu, 22 Juli 2012

Aplikasi Sekolah Gratis

Program ini didekasikan untuk dunia pendidikan, kami sadar banyak program sejenis yang lebih bagus/baik dari pada program ini, maka dari itu kami minta saran dan kritik anda, karena Pembuat program ini bukan dari kalangan akademik.
Isi program meliputi :


*SISWA>pendaftaran,penerimaan,seleksi mos,penempatan kelas,kelulusan
*Guru>jabatan,tunjangan dll
*Catatan>Nilai,BK dll
*Keuangan>Pembayaran,Pemasukan,Pengeluaran,Kas,RAB,Inventaris
*Perpus>Pinjam,pengembalian dan stok buku

konten yg Dalam Pengembangan:
*Rumus/Resep penyusun Nilai raport
*Laporan akan di perkomplit
*proses akhir periode
*History Transaksi


Kedepan program ini juga akan dilengkapi :
*Absensi Finger Print
*layanan SmS,untuk mengetahui informasi siswa lewat SMS seperti informasi (kehadiran/Absen,keuangan,Nilai dll) sehingga para orang tua dapat mengontrol anak-anak nya disekolah,,,

~Aplikasi ini GRATIS (hanya butuh register dari kami, register ini bertujuan agar tidak ada pihak lain yg menjual aplikasi ini~
~Untuk Kritik dan saran silahkan kesini:  https://www.facebook.com/groups/ProgramSekolah/ ~



DOWNLOAD APLIKASI DISINI:
http://upload.ugm.ac.id/458Realease.rar 

DOWNLOAD TOOLS UNTUK WIN 7
http://www.4shared.com/rar/moIJPxBI/Tools.html 


~Kami harap semoga aplikasi ini bermanfaat~






Jumat, 13 Juli 2012

FIXING CRYSTAL REPORT PROBLEM IN WIN 7 (MENGATASI MASALAH CRYSTAL REPORT DI WIN 7 ) VB .NET

mau ngisi blog males bgt,,,, drpd kosong mending saya nulis artikel ini aja, barang kali ada yg butuh,,,tp nek ra butuh yoooo ga popo,,,,butuh karepmuuuuuu,,,ra butuh yooooooooo matamuuuuuuuuu,,,,,!!!!wkwkwkwwkkwkwk
ok,langsung aja ke TKP....

Saya pernah mengalami masalah dengan crystal report ketika aplikasi yang saya buat saya pasang di win 7,,
padahal ketika saya pasang di win Xp ga ada masalah sama sekali,,,,

saya punya 2 cara untuk mengatasi masalah ini,,,,,wkwkwkwkwkwkwk kasih tau ga yaaaaaaaaaa,,,,,!!!!!!

ok,langsung saja,

* cara yang pertama yaitu dengan menginstal Visual studio nya ke PC dengan OS win 7 tersebut,,, tapi cara ini memakan waktu yang lama, jadi tinggalkan saja,,,wkwkwkwkwkwk saran saya anda memilih cara yang kedua,ok.

* cara yang kedua adalah : silahkan anda ambil file "CRRedist2005_x86.msi" di C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports
lalu anda install di PC dengan Os Win 7 tersebut,,,, 

SEMOGA BERMANFAAT,,,,!!!!!

Selasa, 03 Juli 2012

pass sql server password on crystal report runtime ( melewati/menghilangkan password sql server pada crystal report ketika runtime ) Code in VB .Net

wkwkwkwkwkwk sebelumnya ane minta maaf dalam penulisan judul barang kali salah,,,,,!!!!!!!!!!! :D :D maklum wong jowo,,,

ok,langsung ke TKP,,,
Dalam pembuatan laporan dengan menggunakan crystal report dgn database sql server biasanya biasanya pada saat runtime muncul logon yg berisi konfirmasi minta password akses,,,

perhatikan kode berikut :


 'deklarasi dataset buat isi source laporan
        Dim ds As New DataSet
        Dim cnn As SqlConnection


        'deklarasi string buat isi perintah query
         dim strsql as string


        'deklarasi string buat isi koneksi
         dim ConnectionString as string


        'deklarasi laporan
         dim laporan as new namaclasslaporan 'isi dengan laporan yg sudah dibuat misal anda sudah
                                              ' membuat laporanpembelian.rpt, maka isi dgn new laporanpembelian
       
        strsql="select * from pembelian" 'ganti dgn query nya sesuka anda
        'sesuaikan yg berawalan x dgn settingan anda
        ConnectionString=" Data Source=" + xServer + ";Initial Catalog=" + xDatabase +    ";Persist Security Info=True;User ID=" + xID + ";Password="+ xpass +""


        cnn = New SqlConnection(ConnectionString)
        cnn.Open()
        Dim DSCMD As New SqlDataAdapter(strsql, cnn)


        DSCMD.Fill(ds, "isi dgn nama Database")
        cnn.Close()
     
        LAPORAN.SetDataSource(ds.Tables(0))
       'ini buat login database di crystal report
        ObjectRpt.SetDatabaseLogon("user name database anda ","password database anda")
        crystalreportviewer.ReportSource = LAPORAN
        crystalreportviewer.Refresh()

pahami sendiri, ane lagi males nulis,,, klo belum paham silahkan PM,,,ok

Selasa, 26 Juni 2012

Enkripsi File Dengan Algoritma RIJNDAEL ( VB .NET )


DOWNLOAD PROJECT
Siapa sih yg ga kenal Algoritma ini,,,, Ni ada sedikit ulasan sejarahnya,,,


Hingga tahun 1990-an, algoritma kriptografi yang banyak dipakai adalah Data Encryption Standard (DES). Algoritma ini dipakai oleh National Institute of Standards and Technology (NIST) sebagai standar enkripsi data Federal Amerika Serikat.


DES termasuk dalam algoritma enkripsi yang sifatnya cipher block, yang berarti DES mengubah data masukan menjadi blok-blok 64-bit dan kemudian menggunakan kunci enkripsi sebesar 56-bit. Setelah mengalami proses enkripsi maka akan menghasilkan output blok 64-bit.


Seiring dengan perkembangan teknologi, kunci DES yang sebesar 56-bit dianggap sudah tidak memadai lagi. Pada tahun 1998, 70 ribu komputer di Internet berhasil membobol satu kunci DES dalam waktu 96 hari. Tahun 1999 kejadian yang sama terjadi lagi dalam waktu lebih cepat yaitu hanya dalam waktu 22 hari. Pada
tanggal 16 Juni 1998, sebuah mesin seharga 250 ribu dolar dapat dengan mudah memecahkan 25% kunci DES dalam waktu kira-kira 2,3 hari atau diperkirakan dapat memecahkan kunci DES dalam waktu 4,5 hari.


Adanya kenyataan bahwa algoritma kriptografi DES tidak lagi aman, maka NIST mulai memikirkan sebuah
algoritma kriptografi lain sebagai pengganti DES. Untuk itu diadakan kontes Internasional dimana pesertanya adalah ahli kriptografi dari seluruh dunia.Adapun diadakan secara terbuka dimaksudkan agar algoritma yang baru bukan dari produk badan pemerintah yang dapat dengan sengaja menanamkan backdoor pada algoritmanya. Backdoor ini dicurigai membuat plaintext dapat langsung dibaca tanpa harus menggunakan kunci.


Pada tahun 1997 kontes pemilihan suatu standar algoritma kriptografi baru pengganti DES dimulai dan diikuti oleh 21 peserta dari seluruh dunia. Algoritma yang akan dipilih selain harus memenuhi beberapa kriteria, yaitu


• Faktor keamanan, yang berarti algoritma tersebut harus tidak mudah dipecahkan oleh cracker, bersifat   acak atau tidak mudah diterka outputnya, dan tidak berdasar algoritma matematika tertentu.
• Faktor biaya, dimana diperhitungkan kecepatan prosesing pada baik pada hardware dan software, dan besarnya memory yang dipakai.


•Faktor karakteristik implementasi, yakni meliputi kesederhanaan algoritma yang digunakan, kemudahan dan keamanan dalam implementasi di hardware dan software.


Algoritma ini akan dinamakan Advanced Encryption Standard (AES).


Setelah melewati tahap seleksi yang ketat, pada tahun 1999 hanya tinggal 5 calon yaitu algoritma Serpent (Ross Anderson- University of Cambridge, Eli Biham- Technion, Lars Knudsen-University of California San Diego), MARS (IBM Amerika), Twofish (Bruce Schneier, John Kelsey, dan Niels Ferguson-Counterpane
Internet Security Inc, Doug Whiting-Hi/fn Inc, David Wagner-University of California Berkeley, Chris Hall Princeton University), Rijndael (Dr. Vincent Rijmen-Katholieke Universiteit Leuven dan Dr. Joan Daemen-
Proton World International), dan RC6 (RSA Amerika).


Setahun kemudian pada tahun 2000, algoritma Rijndael terpilih sebagai algoritma kriptografi yang selain aman juga efisien dalam implementasinya dan dinobatkan sebagai AES. Nama Rijndael sendiri berasal
dari gabungan nama penemunya.


Tapi maaf disini ane ga nulis alur algoritmanya,,, silahkan anda cari sendiri make guleee,,, disini ane cuma mau share coding make vb .net,,,ini juga punya org bule,,,,,

Klo ente mau nyari referensi tentang Cryptografi silahkan and beli bukunya um Dony Arius,,, disitu lengkap dari metodhe cryptografi kuno nyampe modern,,,, dari metode ceasar sampe metode hybrid,,,, wkwkwkwkwk jadi inget masa bikin skripsi dulu,,,,

Sebenarnya Algoritma RIJNDAEL ini juga buat jaman sekarang juga patut dipertanyakan keamanannya,,, makanya skrg org2 suka make algoritna Hybrid,,, ya walau ga mesti aman juga,,,, kok bisa??? yailaaaaaaaaaaaaaah,,,, model crypto ini kan mengandalkan kerahasiaan kunci, bukan kerahasiaan algoritmanya,,,

Cara paling aman adalah,,,,kita buat algoritma sendiri,,,trus kita tutup rapat2 algoritmanya,,,, ane jamin ga ada yg bisa buka tuh chipertext,,,kecuali anda dan tuhan,,,,betuuuuuuuuuuul ga,,,,,??????????

Ok,,ngomong2 soal cryptografi di vb .net sudah disediain referens buat ini,,jadi kita tinggal add saja,,,namanya "System.Security.Cryptography",,, dgn referens ini kita bisa enkrip dgn algoritma2 simetris, asimetris,,,, kaya DES,3DES, RIJNDAEL,HASH,MD5 DLL,,,,,,,,,,,,,,,,,,

OK DOWNLOAD LANGSUNG AJA SOURCE CODE NYA:
DOWNLOAD PROJECT

[SQL Server Query] Select all day list of month/year ( Menampilkan semua daftar hari dalam sebulan atau setahun)

Ada temen yg bertanya bagaimana menampilkan semua daftar hari dalam setahun,,,
seperti dibawah ini:
01/01/2011
02/01/2011
dst ...
01/02/2011
02/02/2011 
dst ....
01/12/2011
02/12/2011
....
31/12/2011

caranya dengan menggabungkan fungsi "dateadd" dan fungsi "union" untuk menggabungkan nilai "i" ,,,, untuk lebih jelasnya cek query berikut :

select HASIL from
(select HASIL = dateadd(day,i,'2011/01/01') from
(select i = i1.i + i2.i + i3.i + i4.i + i5.i + i6.i + i7.i+ i8.i + i9.i 
from
(select i = 0 union select 1) as i1 ,
(select i = 0 union select 2) as i2 ,
(select i = 0 union select 4) as i3 ,
(select i = 0 union select 8) as i4 ,
(select i = 0 union select 16) as i5 ,
(select i = 0 union select 32) as i6 ,
(select i = 0 union select 64) as i7 ,
(select i = 0 union select 128) as i8 ,
(select i = 0 union select 256) as i9 
) as joinI
) tampung
where HASIL < '2012/01/01'
order by HASIL
/*
Karena 1 tahun= 365 hari, maka kelipatan nya cukup sampai 256 yg berarti batas akhir record sampai 512,, Misal kita mau select hari dalam jangka 2 tahun yg berarti =730 hari, maka kelipatannya kita tambahin menjadi 514 ,biar record yg bisa dihasilkan sampai 1024 record,,,  
*/

PREVIEW :
SEMOGA BERMANFAAT,,,,!!!!!!!!!!!!!!!!!

Kamis, 14 Juni 2012

Dinamic Button Array / Array Tombol Dinamis ( code in .NET )

Untuk membuat aplikasi yg dinamis kita membutuh komponen objet yg dinamis pula,,, sebagai contoh dalam pembuatan POS RESTO, agar user mudah menambahkan dan menghapus MEJA, tentu kita membuat database untuk menampung data meja tersebut,,, dan data meja tadi kita buatkan Array Button yg kita masukan kedalam POS RESTO ,,, knp ini dibuat ????? sebagai SENIOR PROGRAMMER anda pasti sudah tau lah,,!!!!
biar lebih jelas, ni ada contoh preview POS RESTO :



perhatikan tombol2 yg ada di tengah,,, tombol tersebut dibuat dinamis dengan parameter table dibawah :


Nah,,, makin jelaskan kegunaan nya???

OK, Itu menggunakan Button Array,,,, klo di VB Classic setiap komponent object punya index yg berguna untuk array,,, tapi di VB .NET ??????

Nie ada contoh untuk button array dengan .Net,,,, tapi ini cuma menggunakan perulangan n array constant,,, tapi bisa anda kembangkan menjadi Dinamis tinggal olah LOGIKA anda,,,, gampang cuma tinggal ganti jadi array Dinamis dengan fungsi2 Array ,,,, klo dah gitu kan enak, tinggal sambungin ke DataBase aja,,,beres dech,,,

OK, ini PENAMPAKANnya,,,,



DOWNLOAD PROJECT