Minggu, 07 Oktober 2012

PROGRAM VISUAL


Fungsi Tanggal dan Waktu di C#



 misal kita bikin fungsi ambil tanggal hari ini
private void button1_Click(object sender, EventArgs e)
        {
            DateTime tgl = DateTime.Now;
            label1.Text = tgl.ToString();
        }

ketika method tersebut dijalankan biasanya secara default akan menghasilkan “bulan/tgl/tahun jam:menit:detik AM/PM”.
Ada beberapa pilihan cara memparsing nilai dari variabel tgl tadi
- ToLongDateString : Akan menghasilkan tanggal dalam format longdate (panjang)
- ToShortDateString : Akan menghasilkan tanggal dalam format shortdate (pendek)
- ToString(string format) : akan menghasilkan tanggal sesuai dengan format yang kita inginkan.

Anggap saja method yang pertama tadi menghasilkan nilai variabel tgl = 10/24/2008 2:48:19 PM. maka :
 String tglshort = tgl.ToShortDateString(); //akan menghasilkan "10/24/2008".
 String tgllong = tgl.ToLongDateString(); //akan menghasilkan "Friday, October 24, 2008".
 String tglformat = tgl.ToString("dd-MMM-yyyy"); //akan menghasilkan "24-Oct-2008".

dimana dd = tanggal, MMM = bulan dalam format 3 huruf, yyyy = tahun.
format ini bisa dirubah2 misal “dd/MM/yyyy” atau “MM/dd/yyyy” atau “MMM dd, yyyy”, dll
Semua cara parsing diatas akan memberikan nilai kembalian dengan tipe string.

Menampilkan atau mengambil gambar dengan C# pada database yang support SqlClient yaitu SQL Server :


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            textIdPerabot.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            comboModel.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            comboKategori.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textNmaPerabot.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            textHarga.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            Byte[] byteBLOBData = new Byte[0];
            byteBLOBData = (Byte[])(dataGridView1.CurrentRow.Cells[5].Value);
            MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
            pictureBox1.Image = Image.FromStream(stmBLOBData);

        }

Menyimpan gambar dengan VB.NET pada database yang support ODBC misal MySQL :


    Private Sub BtnUpdatePic_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUpdatePic.Click
        Dim tpic As Byte() = System.IO.File.ReadAllBytes(txtFile.Text)
        Dim con As New OdbcConnection
        con.ConnectionString = "driver={mysql odbc 3.51 driver};server=localhost;database=karyawan;uid=root;password= ;"
        con.Open()


        Dim cmd As New OdbcCommand
        cmd.Connection = con
        cmd.CommandType = CommandType.Text
        'PARAMETER HARUS PAKAI TANDA TANYA ? KHUSUS UNTUK ODBC
        cmd.CommandText = "UPDATE peserta SET gambar = ? WHERE idpeserta = '102' " ',@total)"
      
        cmd.ExecuteNonQuery()
       
        cmd.Dispose()
        con.Close()

   End Sub

Menampilkan atau mengambil gambar dengan VB.NET pada database yang support  ODBC misal MySQL  :

    Private Sub BtnViewPictMysql_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnViewPictMysql.Click
        Dim fstream As New IO.FileStream(IO.Path.GetDirectoryName(Application.ExecutablePath) & "\tmp.dat", IO.FileMode.Create)

        'fstream.Write(bs.Item(bs.Position)(4), 0, System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
        'fstream.Write(dgv1.Rows(0).Cells("gambar").Value, 0, System.Buffer.ByteLength(dgv1.Rows(0).Cells("gambar").Value))
        fstream.Write(dgv1.SelectedRows(0).Cells("gambar").Value, 0, System.Buffer.ByteLength(dgv1.SelectedRows(0).Cells("gambar").Value))
        PicFoto.Image = Image.FromStream(fstream)
        'PicFoto.SizeMode = PictureBoxSizeMode.Zoom

        fstream.Close()
    End Sub

Cara lain menyimpan gambar binary ke database dengan C#.NET :

            con.open
            string query = "update Jenis_Penyakit set gambar=@gambar where NAMA_PENYAKIT = '" + dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].Value.ToString() + "'";
            if (myconn.State.ToString() != "Open")
                myconn.Open();
            SqlCommand cmd = new SqlCommand(query, myconn);
            cmd.Parameters.Add("@gambar", SqlDbType.Image, 0 , "");
            cmd.Parameters[0].Value = tpic;
            cmd.ExecuteNonQuery();

Cara lain mengambil/menampilkan gambar binary dari database dengan C#.NET :

        private void dgGambarPenyakit_Click(object sender, EventArgs e)
        {
          
            myconn = koneksi.CON;
            SqlCommand cmdSelect = new SqlCommand("SELECT GAMBAR FROM JENIS_PENYAKIT WHERE NAMA_PENYAKIT = '" + dgGambarPenyakit.Rows[dgGambarPenyakit.SelectedRows[0].Index].Cells[1].Value.ToString() + "'", this.myconn);
           
            myconn.Open();
            byte[] barrImg = (byte[])cmdSelect.ExecuteScalar();


            if (barrImg != null)
            {
                string strfn = Convert.ToString(DateTime.Now.ToFileTime());
                FileStream fs = new FileStream(strfn,
                                  FileMode.CreateNew, FileAccess.Write);
                fs.Write(barrImg, 0, barrImg.Length);
                fs.Flush();
                fs.Close();
                this.myconn.Close();
                picPenyakit.Image = Image.FromFile(strfn);
            }
            else
            {
                picPenyakit.Image = null;
            }
        }


Cara lain menyimpan gambar binary ke database dengan VB.NET :

tpic = File.ReadAllBytes(oSketsa.FileName)


        If (tpic.GetType.ToString() <> "System.Object") Then
            da.UpdateCommand.Parameters("@Sketsa").Value = tpic
        End If
        'cm.Parameters.Add("@Sketsa", OdbcType.VarChar, 0, "").Value = pathCAD
        cm.ExecuteNonQuery()
        cn.Close()

Cara lain mengambil/menampilkan gambar binary dari database dengan VB.NET :

If (bs.Item(bs.Position)(4).GetType.ToString() <> "System.DBNull") Then
                Dim fstream As New FileStream(Path.GetDirectoryName(Application.ExecutablePath) & "\sket.dat", FileMode.Create)


                fstream.Write(bs.Item(bs.Position)(4), 0, System.Buffer.ByteLength(bs.Item(bs.Position)(4)))
                pSketsa.Image = Image.FromStream(fstream)
                pSketsa.SizeMode = PictureBoxSizeMode.Zoom


                fstream.Close()
            Else
                pSketsa.Image = Nothing
            End If

       
Menyimpan Gambar di Database MySQL dengan MySQLOledb


Public Function SiswaInsert(ByVal Siswa As Siswa) As MySqlDataReader
            Try
                Dim ms As MemoryStream = New MemoryStream()
                Siswa.Foto.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg)


                Dim Pic_arr(ms.Length) As Byte


                ms.Position = 0
                ms.Read(Pic_arr, 0, Pic_arr.Length)


                Dim StrSQL As String = "INSERT INTO siswa" & _
               " (Nis,Kelas_ID,Tahun_ID,Nama,Kota_lahir,Tanggal_lahir,Gender,Agama,Alamat,Telepon,Terima_dkelas,Tgl_terima,Id_ThnAjaran,Sekolah_asal,Anak_ke,Status_anak,Nama_Ayah,Nama_Ibu,Pekerjaan_Ayah,Pekerjaan_Ibu,Penghasilan_Ortu,Alamat_Ortu,Telp_Ortu,Foto_Siswa) " & _
               " VALUES (@Nis,@Kelas_ID,@Tahun_ID,@Nama,@Kota_lahir,@Tanggal_lahir,@Gender,@Agama,@Alamat,@Telepon,@Terima_dkelas,@Tgl_terima,@Id_ThnAjaran,@Sekolah_asal,@Anak_ke,@Status_anak,@Nama_Ayah,@Nama_Ibu,@Pekerjaan_Ayah,@Pekerjaan_Ibu,@Penghasilan_Ortu,@Alamat_Ortu,@Telp_Ortu,@Foto_Siswa);"


                Dim myCommand As MySqlCommand = New MySqlCommand(StrSQL, myconnection.open)
                myCommand.CommandType = CommandType.Text


                Dim parameterS_Nis As MySqlParameter = New MySqlParameter("@Nis", MySqlDbType.VarChar, 4)
                parameterS_Nis.Value = Siswa.Nis


                Dim parameterS_Kelas As MySqlParameter = New MySqlParameter("@Kelas_ID", MySqlDbType.Int16)
                parameterS_Kelas.Value = Siswa.Kelas


                Dim parameterS_Angkatan As MySqlParameter = New MySqlParameter("@Tahun_ID", MySqlDbType.Int16)
                parameterS_Angkatan.Value = Siswa.Angkatan


                Dim parameterS_Nama As MySqlParameter = New MySqlParameter("@Nama", MySqlDbType.VarChar, 50)
                parameterS_Nama.Value = Siswa.Nama


                Dim parameterS_KotaLahir As MySqlParameter = New MySqlParameter("@Kota_lahir", MySqlDbType.VarChar, 30)
                parameterS_KotaLahir.Value = Siswa.KotaLahir


                Dim parameterS_TglLahir As MySqlParameter = New MySqlParameter("@Tanggal_lahir", MySqlDbType.Date)
                parameterS_TglLahir.Value = Siswa.TglLahir


                Dim parameterS_Kelamin As MySqlParameter = New MySqlParameter("@Gender", MySqlDbType.VarChar, 1)
                parameterS_Kelamin.Value = Siswa.Kelamin


                Dim parameterS_Agama As MySqlParameter = New MySqlParameter("@Agama", MySqlDbType.VarChar, 10)
                parameterS_Agama.Value = Siswa.Agama


                Dim parameterS_Alamat As MySqlParameter = New MySqlParameter("@Alamat", MySqlDbType.VarChar, 100)
                parameterS_Alamat.Value = Siswa.Alamat


                Dim parameterS_Telepon As MySqlParameter = New MySqlParameter("@Telepon", MySqlDbType.VarChar, 15)
                parameterS_Telepon.Value = Siswa.Telepon


                Dim parameterS_TerimadKelas As MySqlParameter = New MySqlParameter("@Terima_dkelas", MySqlDbType.VarChar, 30)
                parameterS_TerimadKelas.Value = Siswa.TerimadKelas


                Dim parameterS_TglTerima As MySqlParameter = New MySqlParameter("@Tgl_terima", MySqlDbType.Date)
                parameterS_TglTerima.Value = Siswa.TglTerima


                Dim parameterS_ThnAjaran As MySqlParameter = New MySqlParameter("@Id_ThnAjaran", MySqlDbType.Int16)
                parameterS_ThnAjaran.Value = Siswa.ThnAjaran


                Dim parameterS_AsalSekolah As MySqlParameter = New MySqlParameter("@Sekolah_asal", MySqlDbType.VarChar, 30)
                parameterS_AsalSekolah.Value = Siswa.AslSekolah


                Dim parameterS_AnakKe As MySqlParameter = New MySqlParameter("@Anak_ke", MySqlDbType.VarChar, 30)
                parameterS_AnakKe.Value = Siswa.AnakKe


                Dim parameterS_StatusAnak As MySqlParameter = New MySqlParameter("@Status_anak", MySqlDbType.VarChar, 30)
                parameterS_StatusAnak.Value = Siswa.StatusAnak


                Dim parameterS_NamaAyah As MySqlParameter = New MySqlParameter("@Nama_Ayah", MySqlDbType.VarChar, 50)
                parameterS_NamaAyah.Value = Siswa.NamaAyah


                Dim parameterS_NamaIbu As MySqlParameter = New MySqlParameter("@Nama_Ibu", MySqlDbType.VarChar, 50)
                parameterS_NamaIbu.Value = Siswa.NamaIbu


                Dim parameterS_KerjaAyah As MySqlParameter = New MySqlParameter("@Pekerjaan_Ayah", MySqlDbType.VarChar, 30)
                parameterS_KerjaAyah.Value = Siswa.KerjaAyah


                Dim parameterS_KerjaIbu As MySqlParameter = New MySqlParameter("@Pekerjaan_Ibu", MySqlDbType.VarChar, 30)
                parameterS_KerjaIbu.Value = Siswa.KerjaIbu


                Dim parameterS_HasilOrtu As MySqlParameter = New MySqlParameter("@Penghasilan_Ortu", MySqlDbType.VarChar, 100)
                parameterS_HasilOrtu.Value = Siswa.PenghaslianOrtu


                Dim parameterS_AlamatOrtu As MySqlParameter = New MySqlParameter("@Alamat_Ortu", MySqlDbType.VarChar, 100)
                parameterS_AlamatOrtu.Value = Siswa.AlamatOrtu


                Dim parameterS_TelpOrtu As MySqlParameter = New MySqlParameter("@Telp_Ortu", MySqlDbType.VarChar, 15)
                parameterS_TelpOrtu.Value = Siswa.TelponOrtu


                Dim parameterS_Foto As MySqlParameter = New MySqlParameter("@Foto_Siswa", MySqlDbType.Blob)
                parameterS_Foto.Value = Pic_arr
                With myCommand.Parameters
                    .Add(parameterS_Nis)
                    .Add(parameterS_Kelas)
                    .Add(parameterS_Angkatan)
                    .Add(parameterS_Nama)
                    .Add(parameterS_KotaLahir)
                    .Add(parameterS_TglLahir)
                    .Add(parameterS_Kelamin)
                    .Add(parameterS_Agama)
                    .Add(parameterS_Alamat)
                    .Add(parameterS_Telepon)
                    .Add(parameterS_TerimadKelas)
                    .Add(parameterS_TglTerima)
                    .Add(parameterS_ThnAjaran)
                    .Add(parameterS_AsalSekolah)
                    .Add(parameterS_AnakKe)
                    .Add(parameterS_StatusAnak)
                    .Add(parameterS_NamaAyah)
                    .Add(parameterS_NamaIbu)
                    .Add(parameterS_KerjaAyah)
                    .Add(parameterS_KerjaIbu)
                    .Add(parameterS_HasilOrtu)
                    .Add(parameterS_AlamatOrtu)
                    .Add(parameterS_TelpOrtu)
                    .Add(parameterS_Foto)

                End With

                Dim result As MySqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
                Return result
            Catch SqlEx As MySqlException
                Throw New Exception(SqlEx.Message.ToString())
            End Try
        End Function


Mengambil Gambar dari MySQL dengan MySQLOledb


Dim objDataTable As New DataTable
    Private Sub btnOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOk.Click
        Try
            Dim DataControl As New AccessData.DataControl
            Dim myData As DataSet = DataControl.GetDataSet("Select * from siswa where nis = '" & txtNis.Text & "'")
            objDataTable = myData.Tables("data")
            If objDataTable.Rows.Count > 0 Then
                AddSiswa.Show()
                AddSiswa.txtNis.Text = objDataTable.Rows(0)("nis").ToString
                AddSiswa.txtNama.Text = objDataTable.Rows(0)("nama").ToString

                Dim stmBLOBData As MemoryStream = New MemoryStream()

                stmBLOBData.Write(objDataTable.Rows(0)("Foto_Siswa"), 0, System.Buffer.ByteLength(objDataTable.Rows(0)("Foto_Siswa")))

                AddSiswa.PictureBox1.Image = Image.FromStream(stmBLOBData)
           Else
                MsgBox("Data Tidak Ditemukan")
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub


Kamis, 27 September 2012

Mengubah Angka Menjadi Huruf / Terbilang

Secara default excel (baik generasi excel 2000, 2003 maupun 2007) tidak memiliki perintah terbilang. Perintah terbilang yang dimaksud disini adalah perintah atau formula untuk mengubah dari angka menjadi kata. Misalkan kita ingin mengubah angka 1,000 menjadi kata seribu, atau seribu rupiah. Kalau hanya sesekali mungkin tidak masalah kita ketik secara manual, bagaimana kalau harus berulang kali mengetikkannya, tentu merepotkan.
Untuk mempermudahnya, anda dapat menggunakan add-in yang ditambahkan sendiri. Download dulu add-in disini. Kemudian ekstrak dan install add-in tersebut. Sebelum install add-in, matikan dulu security macronya, supaya add-in ini bisa jalan.
Untuk Microsoft Office Excel 2000/2003 :
  1. Buka Excel anda.
  2. Masuk ke Tools >> Macro >> Security
  3. Pilih Low kemudian OK
  4. Masuk ke Tools >> Add-ins >> Browse
  5. Arahkan ke file terbilang.xla yang sudah anda download sebelumnya
  6. Jangan lupa aktifkan (centang) terbilang pada daftar add-in
  7. Klik OK dan siap digunakan
Untuk Microsoft Office Excel 2007 :
  1. Buka Excel Anda
  2. Klik Office Button (tombol yang bulat di pojok kiri atas ) pilih Excel Options
  3. Pilih Trust Centre >> Trust Centre Settings >> Macro Settings
  4. Pada Macro settings pilih Enable All Macro kemudian klik OK
  5. Masuk ke Menu Add-Ins (Di atas True Center)
  6. Klik Go
  7. Browse dan arahkan ke file terbilang.xla yang sudah anda download sebelumnya.
  8. Jangan lupa aktifkan (centang) terbilang padadaftar add-in
  9. Klik OK dan siap digunakan.
Contoh penggunaannya :
Pada cell A1 ketikkan 1000
Untuk menghasilkan terbilang di  cell  A2, ketik rumus
=terbilang(A1)
akan menghasilkan kata seribu
=terbilang(A1)&” rupiah”
akan menghasikan kata seribu rupiah
=proper(terbilang(A1)&” rupiah”)
akan menghasilkan kata Seribu Rupiah
=upper(terbilang(A1)&” rupiah”)
akan menghasilkan kata SERIBU RUPIAH

sumber :  http://biaseaje.wordpress.com/materi-komputer/mengubah-angka-menjadi-huruf-terbilang/

Cara Membuat Mail Merge di MS.Word 2007

Mail merge membantu kita untuk membuat sebuah dokumen (misalnya surat) yang isinya sama untuk penerima yang berbeda secara cepat dan mudah. Fitur ini sangat membantu terutama bila penerimanya sangat banyak.
Mail merge juga dapat digunakan untuk membuat sertifikat, label, dan amplop.


    Untuk membuat mail merge terdiri dari 2 dokumen, yaitu:
  • Dokumen Master, dokumen yang isinya sama untuk semua penerima.
  • Data Source, yaitu dokumen yang isinya khusus untuk masing-masing penerima, misalnya nama dan alamat penerima.
    Data source dapat berupa data di Excel, Access, Contact pada Outlook dan sebagainya.
    Pada tutorial ini, data source menggunakan Excel, karena cara ini lebih cepat. Selain itu:
  • Lebih mudah mengontrol dan menambah data baru.
  • Lebih mudah membaca data yang ditampilkan di lembar kerja Excel terutama bila kita ingin memperbaiki kekeliruan seperti salah pengejaan dan sebagainya.
  • Juga mempermudah menyalin data source pada dokumen Excel ke lembar kerja yang lain.
    Misalnya dalam membuat sertifikat pelatihan yang pesertanya lebih kurang sama, maka akan lebih mudah memilih nama pada lembar kerja tersebut dan menyalinnya ke dokumen (data source) baru.

Langkah-langkah membuat mail merge adalah sebagai berikut:

    Tahap I Membuat Data Source
  1. Buat data source di Excel seperti contoh di bawah ini dan simpan dengan nama Data Surat.
    data source mail merge
  2. Tahap II Membuat Dokumen Master
  3. Buat dokumen master surat di Word seperti contoh di bawah ini dan simpan dengan nama Master Surat.
    Beri jarak untuk menaruh nama dan alamat.
    Dokumen ini jangan ditutup karena kita akan lanjutkan ke langkah berikut: menggabungkan Data Source dengan Dokumen Master.
    Dokumen Master mail merge
  4. Tahap III Menggabungkan Data Source dengan Dokumen Master
  5. Pada Mailings tab, grup Start Mail Merge, klik Start Mail Merge.
    Start Mail Merge
  6. Selanjutnya kita akan memilih data source.
  7. Pada Mailings tab, grup Start Mail Merge, klik Select Recipients.
  8. Pilih Use Existing List, dan cari lokasi dokumen (Data Surat) pada kotak dialog Select Data Source. Kemudian klik Open untuk menampilkan kotak dialog Select Table.
  9. Pada kotak dialog Select Table, klik lembar kerja yang berisi sumber data dan pastikan kotak First row of data contains column headers dicentang. Kemudian klik OK.
  10. Sekarang kita akan menempatkan data pada masing-masing tempatnya.
  11. Taruh di kursor di bawah tulisan Kepada Yth., kemudian pada Mailings tab, grup Write & Insert Fields, klik Insert Merge Field dan pilih Nama.
  12. Lakukan juga hal yang sama pada Alamat dan sekarang tampilan dokumen akan seperti contoh di bawah ini.
    Data ditampilkan dalam tanda kurung siku dua <>.
    Tampilan Data Field
    • Tips:
    • Di sini kita dapat mengatur format surat, seperti memberi cetak tebal pada Nama dan sebagainya.
    • Bila hanya data tertentu saja yang ingin dipilih, lakukan cara berikut:
      1. Pada Mailings tab, grup Start Mail Merge, klik Edit Recipient List.
      2. Di kotak dialog Mail Merge Recipients, kosongkan kotak pada daftar seperti contoh di bawah ini.
    • Bila ada penambahan data baru di Excel, klik nama dokumen pada Data Source dan klik tombol Refresh. Data yang baru akan ditampilkan di daftar.
    • Mail Merge Recipients
  13. Untuk melihat hasil penggabungan, klik tombol PreviewResults.
    Surat akan ditampilkan per data. Klik tanda panah untuk berpindah antar data.
    Jika masih ada yang ingin diubah, klik lagi tombol PreviewResults dan lakukan perubahan yang diinginkan.
    Preview Result - Mail Merge
  14. Tahap IV Menyimpan dan Mencetak Mail MergeFinish and Merge
  15. Pada tahap ini, klik tombol Finish & Merge dan pilih:
    • Print Documents, untuk mencetak surat.
      Ada 3 pilihan:
      1. All untuk mencetak semua surat.
      2. Current record untuk mencetak surat pada halaman yang aktif.
      3. Isi nomor urut data pada kotak From dan To, untuk mencetak surat yang dipilih saja.
      Merge to Printer
    • Edit Individual Documents, untuk menyimpan hasil penggabungan ke dokumen baru.
      Pilihan sama dengan di atas (All, Current record dan nomor urut tertentu).
      Pada dokumen baru, setiap surat akan ditampilkan per halaman. Jangan lupa menyimpan dokumen baru tersebut.
  Sumber : http://computer1001.blogspot.com