Pages

Jumat, 05 Oktober 2012

Tugas Provis


1. 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.


2. 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.
view plainprint?
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.          } 
Jika kita compile program diatas akan meminta inputan dari user dan menampilkannya di layar, output dari program diatas adalah :
view plainprint?
1.            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 :
view plainprint?
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.          } 

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.


3. 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.


4. Menampilkan Gambar di C#

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



5. Membaca File Teks dan Menampilkan Isinya

Saya akan mencoba menunjukkan kepada anda bagaimana mangambil informasi dari sebuah file text (.txt) dan kemudian menggunakan ArrayList untuk menampilkan informasi tersebut ke user. Berikut langkah-langkahnya:
1.            Buka Microsoft Visual Studio 2010.
2.            Buat project baru di Console Application in Visual C#.
3.            Tambahkan project references System.IO , System.Collections .
4.            Tambahkan code berikut didalam Main
static void Main(string[] args)
        {
            //Membuka sebuah file test.txt di E
            StreamReader objReader = new StreamReader("E:\\test.txt");
            //buat sebuah variabel string karena nilainya akan dimasukkan ke dalam ArrayList
            string sLine = "";
            ArrayList arrText = new ArrayList();
            while (sLine != null)
            {
                sLine = objReader.ReadLine();
                if (sLine != null)
                    arrText.Add(sLine);
            }
            objReader.Close();
            //menampilkan isi ArrayList ke layar
            foreach (string sOutput in arrText)
                Console.WriteLine(sOutput);
            Console.ReadLine();
        }

0 komentar:

Posting Komentar