Kamis, 25 Oktober 2012

MENULIS DAN MEMBACA FILE DI C#

Hampir semua bahasa pemrograman menyediakan function untuk melakukan proses baca atau tulis pada suatu file, mirip seperti java C# pun juga menggunakan stream untuk melakukan proses read dan write. Berikut ini adalah source code utama untuk melakukan proses write ke file
using (StreamWriter tulis = new StreamWriter(@"C:\bobot1.txt", false))

Sekarang mari kita implementasikan source code diatas ke dalam sebauh project, seperti biasanya siapkan terlebih dahulu project kosong, klik file new project pada IDE visual studio 2010 setelah itu akan muncul sebuah kotak dialog project name, silahkan masukan nama project, tidak ada aturan khusus dalam penamaan project. Untuk langkah demi langkah selanjutnya silahkan ikuti instruksi instruksi dibawah ini
langkah 1 : tambahkan beberapa toolbox yang diguanakan seperti text, label dan button. Atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini

 Gambar 1. Preview desain aplikasi
langkah 2 : tambahkan library agar C# dapat melakukan operasi input dan output. pada header program tambahakan library seperti berikut ini
using System.IO;

langlah 3 : Double klik pada button satu (button yang berlabelkan save) untuk membangkitkan event single klik pada button tersebut (untuk lebih detail tentang even silahkah klik macam-macam event di C#) tambahakan source code berikut ini pada event singel klik pada button1
 try
     {
       using (StreamWriter tulis = new  StreamWriter(@"C:\fileku.txt", false))
                {
                    tulis.Write(textBox1.Text);
                }
            }
            catch (Exception error)
            {
       MessageBox.Show("Terjadi kesalahan\n" + error.ToString());
    }

langkah 4 : lakukan hal yang sama untuk button2 (button yang berlabelkan READ) untuk membangkitkan event single klik (keterangan lebih lanjut tentang event klik macam-macam event di C#) masukan source code berikut ini
 using (StreamReader sr = new StreamReader(@"C:\fileku.txt"))
            {
                String line;               
                while ((line = sr.ReadLine()) != null)
                {
                    textBox2.Text = line;                      
                }                
            }

langkah 5 : done, program selesai dibuat. Jika langkah langkah diatas dilakukan dengan benar, maka saat program dijalankan program akan tampil seperti pada gambar diatas, setalah user memasukan text string di textBox1 dan menekan tombol save, file text akan disimpan oleh program berupa file.text di directory C:\fileku.txt. Berikut ini hasil preview program yang telah dirunning

Gambar 2. Preview hasil running program
dan setelah itu bisa dilihat di directory C:\fileku.txt. disitu terlihat terdapat file yang dibuat oleh program untuk menyimpan string yang diinputkan oleh user

Gambar 3. File text di directory C

Jika button read pada program diklik maka semua string yang ada di file fileku.text dibaca semuanya, berikut ini adalah preview hasil program
 Gambar 4. Preview hasil running program




ABOUT DATABASE


Pengertian Database

Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik untuk memperoleh informasi dari basis data tersebut.
Database adalah representasi kumpulan fakta yang saling berhubungan disimpan secara bersama, untuk memenuhi berbagai kebutuhan.
Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu untuk tujuan tertentu pula.
Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan olehpara pengguna.



Asal Mula Istilah Database



Istilah “database” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal yang di luar bidang elektronika, artikel mengenai database komputer. Catatan yang mirip dengan database sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi danm kumpulan data yang berhubungan dengan bisnis.

Konsep Dasar Database



Konsep dasar database adalah kumpulan dari catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai database model atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah yaitu mewakili semua informasi dalam bentuk tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel.

Perangkat Untuk Membuat Database.



Database dapat dibuat dan diolah dengan menggunakan suatu program komputer, yaitu yang biasa disebut dengan software (perangkat lunak).Software yang digunakan untuk mengelola dan memanggil kueri (query) database disebut Database Management System (DBMS) atau jika diterjemahkan kedalam bahasa indonesia berarti “Sistem Manajemen Basis Data”.

DBMS terdiri dari dua komponen, yaitu Relational Database Management System (RDBMS) dan Overview of Database Management System (ODBMS). RDBMS meliputi Interface Drivers, SQL Engine, Transaction Engine, Relational Engine, dan Storage Engine. Sedangkan ODBMS meliputi Language Drivers,Query Engine, Transaction Engine, dan Storage Engine.

Sedangkan level dari softwarenya sendiri, terdapat dua level software yang memungkinkan untuk membuat sebuah database antara lain :
High Level Software dan Low Level Software.

Yang termasuk di dalam High Level Software, antara lain Microsoft SQL Server, Oracle, Sybase, Interbase, XBase, Firebird, MySQL, PostgreSQL, Microsoft Access, dBase III, Paradox, FoxPro, Visual FoxPro, Arago, Force, Recital, dbFast, dbXL,Quicksilver, Clipper, FlagShip, Harbour, Visual dBase, dan Lotus Smart Suite Approach. Sedangkan yang termasuk di dalam Low Level Software antara lainBtrieve dan Tsunami Record Manager.

Tipe Database

Terdapat 12 tipe database, antara lain Operational database, Analyticaldatabase, Data warehouse, Distributed database, End-user database, External data base, Hypermedia databases on the web, Navigational database, In-memory data bases, Document-oriented databases, Real-time databases, dan RelationalDatabase.
Selanjutnya hal - hal yang berhubungan dengan database adalah :


a. Field (medan) menyatakan data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh fieldyaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang.

b. Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris.
c. Tabel menghimpun sejumlah record. Sebagai contoh, data pribadi dari semua pegawai disimpan dalam sebuah tabel.
d. Primary Key dan Foreign Key :
Primary Key adalah merupakan attribute yang paling sedikit yang dapat membedakan setiap baris data dalam sebuah table secara unik yang dipilih berdasarkan seringnya diadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Foreign Key adalah kolom yang diambil dari primary key entitas lain yang menunjukkan hubungan antar dua table tersebut.
Jenis-jenis Key Atribut dan Contohnya :
~ Super Key :
Merupakan satu atau gabungan attribute yang dapat membedakan setiap baris data dalam sebuah table secara unik.
Contoh :

Super Key untuk entitas Anggota
- No Anggota, Nama, Alamat, JenisKel
- No Anggota, Nama, Alamat
- No Anggota, Nama
- Nama (jika dijamin bahwa tidak ada yang sama)
- No Anggota
~ Candidat Key : Super Key yang jumlah attributnya paling sedikit
Contoh :

Candidat Key pada entitas Anggota
- Nama (jika dijamin tidak ada nama yang sama)
- No Anggota
~ Primary Key : Candidat key yang dipilih berdasarkan seringnya dijadikan acuan, lebih ringkas, dan lebih menjamin keunikan key.
Contoh :

Primary Key untuk entitas Anggota
- No Anggota

e. Relasi Entitas
Relasi menyatakan hubungan antar entitas, termasuk terhadap entitas itu sendiri (rekursif)

Jenis – jenis Relasi antar Entitas berdasarkan Derajat Kardinalitas dan Derajat Relasi Maksimum – Minimum

~ Satu ke satu (one to one)
Setiap data pada entitas A berhubungan dengan maksimal satu data pada entitas B, begitu pula sebaliknya.


RelasiOneToOne

~ Satu ke banyak (one to many) atau Banyak ke satu (many to one)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, tetapi data pada entitas B berhubungan maksimal hanya dengan sebuah data di A.

~ Banyak ke banyak (many to many)
Setiap data pada entitas A bisa berhubungan dengan banyak data pada entitas B, demikian pula sebaliknya.


RelasiManyToMany

Derajat Relasi Minimum-Maximum
Menunjukkan hubungan (korespondensi) minimum yang boleh terjadi dalam sebuah relasi antar entitas.
Misalnya: pada relasi “bekerja untuk” pada entitas pegawai terhadap departemen Derajat relasi minimumnya adalah satu. Dalam arti lain, setiap pegawai minimal harus memiliki sebuah relasi terhadap Departemen, atau setiap pegawai selalu memiliki tempat di mana dia bekerja.
Notasi (x,y) pada relasi menunjukkan derajat minimum (x) dan derajat maksimum (y) pada sebuah relasi.
Partisipasi total bisa dinotasikan dengan memberikan derajat relasi minimum (x) = 1.
f.composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.

Hal ini sering bingung dengan kunci composite, meskipun ini juga merupakan kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian, setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.

Contohnya, suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang lain.

Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita mengidentifikasi seorang mahasiswa oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada modul kunci utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena NamaBelakang + NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah kunci komposit.

Tidak ada pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa atribut dalam kunci senyawa dapat menjadi kunci asing. Memang, kunci asing mungkin sendiri menjadi kunci majemuk.

Senyawa kunci hampir selalu berasal dari entitas atributif atau asosiatif (tabel) dalam model, tapi ini tidak mutlak.

sumber 


LANGKAH - LANGKAH MEMBUAT DATABASE DAN TABEL DI MS. ACCESS

Database adalah file data yang berisi objek seperti tabel, query, report dan lainnya. Pada tampilan awal dari program Acces 2007, anda dapat membuat sebuah Database baru atau membuka database yang telah dibuat sebelumnya.
Berikut Langkah-Langkahnya:

Langkah 1

Klik Menu Start-All Program – Ms. Office – Ms.Access 2007

Langkah 2

Klik Blank Database, tentukan lokasi penyimpanan dan nama database, klik tombol Create

Maka akan tampil area kerja Ms. Access 2007, seperti gambar dibawah ini:
Office Button : adalah pengganti menu file yang biasa anda temukan pada versi sebelumnya
Quick Access Toolbar  : adalah customizable yang berisi perintah-perintah penting seperti save, undo, redo dan masih banyak lagi perintah yang dapat anda tambahkan sendiri sesuai dengan keperluan.
Ribbon : merupakan pengganti Toolbar yang sering anda temukan pada versi sebelumnya.
Database Object : merupakan objek-objek yang telah diaktifkan dan digunakan dalam sebuah database. Contohnya seperti : Table, Form, Report, Macro dll.
Object Preview : Tampilan object yang anda aktifkan seperti table, form, report, dll
View Shortcut : adalah fitur dalam Access 2007 yang berguna untuk mengubah tampilan objek dengan mode tertentu sesuai dengan objek yang digunakan. Contohnya: Design View, Layout View, DataSheet View, Form View dll.
A.      Membuat Table Menggunakan DataSheet View
Tabel Data Mahasiswa PalComTeh

Berikut langkah-langkahnya:

Langkah 1

  • Masih pada jendela Ms. Acces 2007 yang aktif
  •  Ketika anda mebuat database baru, sebuah tabel secara otomatis akan tampil didalam Preview object
  • Klik tombol Close untuk menutuk jendela tab Table 1 yang aktif, dengan cara klik tombol Close yang terletak di sudut kanan atas.

Langkah 2

Anda dapat membuat tabel baru, dengan cara klik Create – Table dalam group Tables, seperti gambar dibawah ini:

Maka tabel baru akan tampil, untuk mengganti nama field pada tabel dengan cara double klik pada nama field tersebut, seperti gambar dibawah ini:
Field baru akan tampil disebelah kanan field Nama, lanjutkan dengan memberi nama field lainnya.

Langkah 3

Jika telah selesai klik Datasheet – View – Design View, seperti gambar dibawah ini:

Langkah 4

Kotak dialog Save As akan tampil, simpan tabel dengan nama tb_mahasiswa dan klik Ok.
Anda dapat melihat keterangan tabel yang dibuat yaitu nama field, tipe data, penggunaan primary key dan lainnya.

Langkah 5

Kembali ketampilan seblumnya, klik Design – View – Datasheet View, seperti gambar dibawah ini:
Langkah 6

Masukan data kedalama Field-field yang telah disediakan.

Langkah 7

Untuk menambah, mengedit atau pindah data record, dapat menggunakan fungsi record yang disediakan dibawah jendela object.

B.      Membuat Tabel Menggunakan Design View

Tabel Data Mahasiswa PalComTech
Berikut Langkah-langkahnya:
Masih di database Latihan 1 yang aktif

Langkah 1

Tambahkan tabel baru, klik Create – Table Design, seperti gambar dibawah ini:

Langkah 2

Masukan Field data yang disediakan.

Langkah 3

Jika telah selesai gunakan Primary Key pada field Nim, seperti pada gambar dibawah ini:
Note : Primary Key berfungsi sebagai pengunci data,
Agar pengimputan data yang sama tidak dapat di proses di
Dalam sebuah field.

Langkah 4

Klik Design – View – Datasheet View, seperti gambar dibawah ini:

Jika tampil kotak dialog seperti dibawah ini, pilih Save dan simpan dengan nama Tb_data_mahasiswa, seperti gambar dibawah ini:

Langkah 5

Setelah seluruh field di buat, masukanlah datanya seperti gambar dibawah ini:






Kamis, 04 Oktober 2012

MENAMPILAKAN GAMBAR DI C#


Menyimpan dan Mengambil Gambar Binary di Database pada C#.NET dan VB.NET
Cara menyimpan gambar atau file binary pada database dengan VB.NET dan C#.NET, serta menampilkan gambar atau file binary dari database  dengan VB.NET dan C#.NET dapat dilakukan dengan beberapa cara, menggunakan SqlClient, Oledb, Odbc, FileStream, MemoryStream. Di bawah ini beberapa contoh cara-caranya :

Menyimpan gambar dengan C# pada database yang support SqlClient yaitu SQL Server :

private void btnEditPerabotan_Click(object sender, EventArgs e)
        {
            SqlConnection cn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=SPP_5922;Integrated Security=true");
            MemoryStream ms = new MemoryStream();
            pictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);


            byte[] Pic_arr = new byte[ms.Length];
            ms.Position = 0;
            ms.Read(Pic_arr, 0, Pic_arr.Length);


            SqlCommand cmdb = new SqlCommand("Update Perabot set Perabot_Id= @perabotid, Perabot_Name= @perabotname,Harga=@harga, Kategori_Id= @kategoriid, Model_Id= @modelid, Gambar=@gambar where Perabot_Id =@perabotid", cn);
            cmdb.Parameters.AddWithValue("@perabotid", textIdPerabot.Text);
            cmdb.Parameters.AddWithValue("@perabotname", textNmaPerabot.Text);
            cmdb.Parameters.AddWithValue("@harga", textHarga.Text);
            cmdb.Parameters.AddWithValue("@kategoriid", comboKategori.Text);
            cmdb.Parameters.AddWithValue("@modelid", comboModel.Text);
            cmdb.Parameters.AddWithValue("@gambar", Pic_arr);
            cn.Open();
            try
            {
                int res = cmdb.ExecuteNonQuery();
                if (res > 0)
                {
                    MessageBox.Show("data berhasil disimpan");
                    RefreshGridPerabot();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                cn.Close();
            }
        }


Menyimpan gambar dengan VB.NET pada database yang support Oledb yaitu MS Access :


If Not PicCover.Image Is Nothing Then


    _buku.Cover = PicCover.Image


End If




Public Function addBuku(ByVal _buku As Buku) As Boolean
        Dim con As OleDbConnection = Connection.CON


        Try
            Dim ms As MemoryStream = New MemoryStream()
            _buku.Cover.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)


            con.Open()
            Dim sc As OleDbCommand = New OleDbCommand("INSERT INTO BUKU VALUES('" + _buku.IdBuku + "','" + _buku.Judul + "','" + _buku.Ringkasan + "',#" + _buku.TglTerbit.ToShortDateString + "#," + _buku.Harga.ToString + ", @cover)", con)
            Console.WriteLine(sc.CommandText)


            sc.Parameters.AddWithValue("@cover", Pic_arr)


            sc.ExecuteNonQuery()
            Return True
        Catch e As System.Data.SqlClient.SqlException


            Return False


        Catch e2 As Exception


            Return False


        Finally


            con.Close()
        End Try
    End Function


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
Sumberhttp://cariprogram.blogspot.com/2012/05/menyimpan-dan-mengambil-gambar-binary.html

TIMER DI C#


Tutorial kali ini adalah tutorial untuk membuat suatu jam digital di C#, kita akan menggunakan jam local atau jam yang ada pada system. untuk lebih jelasnya mari kita mulai membuat projectnya.
seperti biasa, siapkan project baru dengan cara klik file pilih new project, untuk project name silahkan isi sesuai dengan keinginan, karena tidak ada batasan dalam memberi nama pada suatu project kecuali menggunakan karakter karakter yang memang dilarang digunakan dalam menamai sebuah file, sekarang mari kita buat langsug projectnya
langkah pertama : tambahkan 3 komponen label pada form yang telah disiapkan tadi, dan juga tambahkan komponen timer ke dalam form. atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini

Gambar 1. Preview desain aplikasi
jika komponen timer ditambahkan kedalam form. tidak akan terjadi perubahan, akan tetapi lihat pada bagian bawah. akan muncul icon jam. itulah yang dinamakan dengan komponen timer

Langkha kedua : pada komponen timer yang telah ditambahkan kedalam form, double klik untuk membangkitkan event timerTIck. setelah itu tambahkan code berikut ini pada event yang muncul
            jamku = DateTime.Now;
            label2.Text = jamku.Hour.ToString();
            label1.Text = jamku.Minute.ToString();
            label3.Text = jamku.Second.ToString();     

langkah ketiga : pada event onLoad tambahkan source code berikut ini.
             jamku = DateTime.Now;
            timer1.Enabled = true;

dan  jangan lupa untuk mendeklatasikan variable global DateTime jamku

langkah keempat : Done. program selesai dibut, jika langkah langkah diatas dilakukan dengan benar maka, saat program dirunning tampilannya akan seperti gambar dibawah ini

Gambar 2. Hasil running program
Untuk lebih memudahkan dalam memahami tutorial ini. 
download binary filenya disini
dan juga download full projectnya disini.
fore more information contact on informasi@csharp-indonesia.com 
Sumber: http://www.csharp-indonesia.com/2011/01/membuat-jam-digital-di-c-c-sharp.html

FUNGSI STRING DI C#

String adalah suatu tipe data bentukan seperti halnya array, bahakan string bisa disebut array of char, yaitu array dari tipe data char (karakter), sehingga membentuk suatu tipe data baru yang bisa menyimpan susunan huruf atau karekter lainnya.
  1. using System;  
  2. namespace InputOutput  
  3. {  
  4.     class Program  
  5.     {  
  6.         static void Main(string[] args)  
  7.         {  
  8.             String nama = Console.ReadLine();  
  9.             Console.WriteLine("Nama Anda : " + nama);  
  10.         }  
  11.     }  
  12. }  
using System;
namespace InputOutput
{
    class Program
    {
        static void Main(string[] args)
        {
            String nama = Console.ReadLine();
            Console.WriteLine("Nama Anda : " + nama);
        }
    }
}

Jika kita compile program diatas akan meminta inputan dari user dan menampilkannya di layar, output dari program diatas adalah :

  1. Nama Anda : Yohanda Mandala  
Nama Anda : Yohanda Mandala
Selain itu kita juga bisa melakukan suatu rekayasa pada tipe data string dengan menggunakan method methodnya, sebagai contoh adalah mencetak suatu string secara terbalik seperti dalam contoh dibawah ini :

  1. using System;  
  2.   
  3. namespace String  
  4. {  
  5.     class Program  
  6.     {  
  7.         static void Main(string[] args)  
  8.         {  
  9.             string kata = "abcdefghi";  
  10.             char[] x = kata.ToCharArray();  
  11.             for (int i = kata.Length - 1; i >= 0; i--)  
  12.                 Console.Write(x[i]);  
  13.         }  
  14.     }  
  15. }  
using System;
namespace String
{
    class Program
    {
        static void Main(string[] args)
        {
            string kata = "abcdefghi";
            char[] x = kata.ToCharArray();
            for (int i = kata.Length - 1; i >= 0; i--)
                Console.Write(x[i]);
        }
    }
}

Maka ketika kita compile yang keluar bukanlah string "abcdefghij" akan tetapi justru sebaliknya yaitu "jihgfedcba".
kata.Length() Adalah method yang digunakan untuk mendapatkan panjang dari string tersebut. Didalam hal ini panjang dari string tersebut adalah 10, untuk penghitungannya dimulai dari 0, sehingga karakter “a” pada stringg tersebut berada pada indeks ke-0 dan karakter “j” berada pada indeks ke “9”.
kata.ToCharArray() adalah method yang digunakan untuk merubah string menjadi array of char.
Untuk melihat fungsi fungsi apa saja yang terdapat di string pada C# bisa dilihat di dokumentasi dari C# di Visual Studio.

FUNGSI TANGGAL DAN WAKTU DI C#

Secara default type datetime pada c# akan memberikan kembalian berupa tanggal dan waktu.
kalau tidak percaya coba bikin fungsi yang mengambil tanggal saat ini, pasti akan diberi kembalian berupa tanggal dan jam/waktu.
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”.
Terus gimana kalau yang kita butuhin cuman tanggalnya? gak butuh jamnya.
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.