Saturday, August 18, 2018

CRUD di PHP dengan MySQLi


Sobat coding simpel, kali ini saya akan share cara melakukan CRUD (Create, Read, Update, Delete) atau operasi menambahkan data, membaca, mengupdate dan mendelete data di database dengan menggunakan MySQLi extension, pertanyaannya kenapa MySQLi extension? Kenapa dengan extension MySQL biasa?.
Jawabannya karena extension MySQL yang biasa digunakan untuk versi PHP terbaru sudah tidak didukung atau “deprecated”, jadi dianggap extension MySQL biasa dianggap tidak memadai lagi seiring perkembangan jaman terutama dilihat dari segi keamanan sistem informasi. Dari namanya saja sudah tidak usah ditanyakan lagi maka jenis database yang digunakan adalah database MySQL  dan untuk cara pembuatannya saya rasa tidak usah kita bahas disini karena selain sudah banyak yang membahasnya (tinggal googling aja) juga biasanya yang mencari dengan keyword MySQLi biasanya yang sudah tahu atau biasa menggunakan extension MySQL dan tentunya fasih dalam membuat (create) databasenya serta untuk syntax-syntax membuat database atau DDL (Database Definition Language) masih sama hingga sekarang. Baiklah tanpa berpanjang lebar lagi tahapan penggunaan extension ini tidak jauh berbeda dengan extension lamanya yakni:
  1. Menampilkan Data
Menampilkan data dengan extension MySQLi diawali dengan mengkoneksikan dulu dengan database yang digunakan yakni dengan menggunakan listing code berikut:

konek.php


Code pertama mendefinisikan variable koneksi yang berisikan eksekusi fungsi mysqli_connect() dengan parameter (“nama-host”,”user-name”,”password”,”nama-database”). 
Pada contoh diatas parameter yang digunakan menggunakan parameter hosting local=localhost dengan username=root, password=””(kosong) dan nama database=”dbContoh” 
Code berikutnya dengan statement control if menampilkan pemberitahuan koneksi database gagal bila tidak berhasil menghubungkan dengan database. 
Ada baiknya membuat file tersendiri listing code diatas, yakni save dengan nama konek.php  agar dapat di include kan pada file PHP yang lain seperti file tampil.php berikut.

tampil.php


Struktur code tampil.php diatas dimulai dengan tag-tag html untuk mempersiapkan tampilan tbl_contoh kemudian menyertakan konek.php agar dapat mengakses database MySQL, yang diakses lewat query $data dan kemudian ditampilkan lewat iterasi while dengan fungsi mysqli_fetch_array(), menarik field-field dari tabel tbl_contoh per baris dalam bentuk array.Yang hasilnya seperti gambar dibawah ini:


crud-php-mysqli-1
Menampilkan database

  1. Insert Data

Untuk insert data pertama-tama kita buat dulu form untuk input datanya seperti  form sederhana berikut:

tambah_a.php



Seperti gambar dibawah ini:

crud-php-mysqli-2
Form tambah data


Kemudian kita buat file tambah_b.php yang menerima input data yang dimasukan dalam form dengan listing code seperti berikut:

tambah_b.php


Yang hasilnya:

crud-php-mysqli-3
Tampilan data setelah di insert

  1. Update Data
Pertama-tama kita modifikasi sedikit file tampil.php agar menampilkan link edit dan hapus menjadi seperti ini:

tampil.php



crud-php-mysqli-4
Modifikasi tabel tampil data 
Setelah ini kita buat file edit.php yang menampilkan data yang akan diedit, dengan listing code seperti berikut:

edit.php



Dan hasil editing, data yang dimasukan akan diinput oleh update.php dengan listing code:

update.php




crud-php-mysqli-5
Form update data

  1. Delete Data
Dari sini kita tinggal membuat file hapus.php yang akan melakukan operasi hapus data di database, dengan listing code seperti berikut:

hapus.php



crud-php-mysqli-6
Alert data dihapus
Demikian sobat coding simpel, contoh-contoh cara menggunakan extension MySQLi pada operasi CRUD (Read, Update, Delete) di database. Semoga bermanfaat!! 





Tuesday, August 7, 2018

Export DataGridView VB.Net ke Ms. Excell

Jumpa lagi dengan tips, trik dan teknik seputar IT, pada kesempatan ini ane bakal share bagaimana caranya export data dari database yang ditampilkan di DataGridView dari aplikasi yang kita buat di .Net bisa di export menjadi file berformat xlsx atau file Microsoft Excel. Pertama-tama alat perang yang kita butuhkan antara lain:
  • Library Microsoft.Office.Interop.Excel yang agan-agan bisa download di sini
  • IDE Visual studio dan secangkir kopi
Pertama-tama kita buat sebuah database terlebih dahulu, bisa database sql ataupun Ms.Access keduanya sama saja, yang berbeda hanya pada syntax koneksi databasenya. Disini sebagai contoh kita gunakan MS.Access , seperti yang ditunjukan gambar dibawah ini. Saya membuat database bernama dbjnm dengan tabel bernama barang dengan field-field  sebagaimana berikut:

export-vb-to-xlsx-1
Rancangan database
Kemudian kita buka Visual studio dan buat sebuah project baru dengan bentuk Windows form application, yang kemudian kita tambahkan sebuah button, DataGridview untuk menampilkan data dari database, dan sebuah saveFileDialog seperti gambar dibawah ini:

export-vb-to-xlsx-2
Rancangan Form

Selanjutnya tekan F7 dan copas listing koneksi database berikut

Imports System.Data.OleDb
Public Class Form1
    Dim Conn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim da As OleDbDataAdapter
    Dim ds As New DataSet
    Dim dr As OleDbDataReader
    Dim LokasiDB As String
    Sub Koneksi()
        LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbjnm.accdb"
        Conn = New OleDbConnection(LokasiDB)
        If Conn.State = ConnectionState.Closed Then Conn.Open()
    End Sub

End Class

Ada baiknya bila kita sering menggunakan sebuah kumpulan perintah seperti listing koneksi diatas dapat kita buatkan modul tersendiri, sehingga mudah dipanggil dari class manapun. Sesudah itu kita save dan file database yang tadi kita buat, kita pindahkan ke folder ./bin/debug dari project kita,yang selanjutnya kembali ke visual studio form1 design, click 2x pada form, dan copas code dibawah ini:

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Koneksi()
        da = New OleDbDataAdapter("Select * from barang", Conn)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "barang")
        DataGridView1.DataSource = (ds.Tables("barang"))
        DataGridView1.Enabled = True
        Conn.Close()
    End Sub

Dari sini database sudah dapat ditampilkan bila kita start aplikasi yang kita buat bersamaan dengan dimuatnya form1, bila ada kesulitan khususnya database Accsess jangan lupa check Target CPU nya  sebaiknya x86 pada tab Compile di Project Properties seperti yang pernah kita bahas di artikel sebelumnya.
Selanjutnya kita masukan Library Microsoft.Office.Interop.Excel ke project kita dengan cara click kanan pada nama project di solution explorer dan pilih Properties yang akan menampilkan jendela properties yang selanjutnya pilih tab References dan click tombol add seperti gambar dibawah


export-vb-to-xlsx-3
Menambahkan library ke project

Yang mana akan menampilkan jendela reference manager, yang selanjutnya kita click tombol browse dan arahkan ke folder dimana agan mengextract library Microsoft.Office.Interop.Excel.dll tersebut, selanjutnya cukup pilih file tersebut click Ok dan kembali ke Form1 design. Sesudahnya kita tekan tombol F7 untuk menampilkan jendela kode, untuk membuat fungsi excel dan release object dengan cukup mencopas listing code berikut ini:

    Sub excel()
        Dim xlApp As Microsoft.Office.Interop.Excel.Application
        Dim xlWorkBook As Microsoft.Office.Interop.Excel.Workbook
        Dim xlWorkSheet As Microsoft.Office.Interop.Excel.Worksheet
        Dim misValue As Object = System.Reflection.Missing.Value
        Dim i As Integer
        Dim j As Integer

        xlApp = New Microsoft.Office.Interop.Excel.ApplicationClass
        xlWorkBook = xlApp.Workbooks.Add(misValue)
        xlWorkSheet = xlWorkBook.Sheets("sheet1")


        For i = 0 To DataGridView1.RowCount - 2
            For j = 0 To DataGridView1.ColumnCount - 1
                For k As Integer = 1 To DataGridView1.Columns.Count
                    xlWorkSheet.Cells(1, k) = DataGridView1.Columns(k - 1).HeaderText
                    xlWorkSheet.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString()
                Next
            Next
        Next
        SaveFileDialog1.Filter = "XLSX Files (*.xlsx)|*.xlsx"
        If SaveFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then xlWorkSheet.SaveAs(SaveFileDialog1.FileName)
        xlWorkBook.Close()
        xlApp.Quit()

        releaseObject(xlApp)
        releaseObject(xlWorkBook)
        releaseObject(xlWorkSheet)

    End Sub
    Private Sub releaseObject(ByVal obj As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
            obj = Nothing
        Catch ex As Exception
            obj = Nothing
        Finally
            GC.Collect()
        End Try

    End Sub

Selanjutnya kita kembali ke Form1, click 2x pada tombol Button1 dan ketik perintah untuk memanggil fungsi export ke excel tersebut, seperti code berikut:

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        excel()
    End Sub

Lalu   kita start untuk jalankan programnya, maka data di GridView akan dapat disimpan dalam format excel setelah kita meng click button1 (tombol yang disediakan) seperti gambar dibawah:


export-vb-to-xlsx-4
Hasil export ke xlsx

Untuk source code lengkapnya seperti dibawah ini:



Demikian tutorial cara mengexport DataGridView dari database ke file berformat xlsx (MS.Excel), semoga bermanfaat..

Sunday, August 5, 2018

Membuat Combobox Dinamis Pada VB.Net


Pada kesempatan kali ini ane share cara bikin combobox dinamis yang terkoneksi pada database di aplikasi VB.Net, untuk database yang digunakan pada kesempatan ini yaitu database MS. Access yang ekstensinya (.accdb). Combobox terkoneksi dengan database selain dinamis mengikuti update yang dilakukan di database agan, juga bisa berfungsi seperti search box sehingga bisa digunakan untuk mencari nama dari kategori yang dimaksudkan lewat input huruf yang dimasukan dalam combobox. Baiklah untuk langkah-langkah pembuatannya adalah sebagaimana berikut:
  • Buatlah sebuah database di Ms. Access seperti gambar dibawah ini
combobox-dinamis-di-vb-1
Desain database

Disini ane menggunakan nama database (dbjnm.accdb) sebagai contoh dan untuk cara bikin database di Access cukup mudah dan tutorialnya banyak bisa digoogling di mbah google. 
  • Setelah itu kita pindah ke Visual Studio, buat suatu project baru, dan masukan sebuah ComboBox dan DataGridView kedalam form agan seperti gambar dibawah, disini ane buat project bernama akses.

combobox-dinamis-di-vb-2
Perancangan form

  • Kemudian click form1 tersebut dan tekan f7 atau click kanan dan pilih view code Kemudian masukan copas listing code berikut:
Imports System.Data.OleDb
Public Class Form1
    Dim Conn As OleDbConnection
    Dim cmd As OleDbCommand
    Dim da As OleDbDataAdapter
    Dim ds As New DataSet
    Dim dr As OleDbDataReader
    Dim LokasiDB As String
    Sub Koneksi()
        LokasiDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=dbjnm.accdb"
        Conn = New OleDbConnection(LokasiDB)
        If Conn.State = ConnectionState.Closed Then Conn.Open()
    End Sub
    Sub isiCombo()
        cmd = New OleDbCommand("Select namaBarang from Barang", Conn)
        dr = cmd.ExecuteReader
        Do While dr.Read
            ComboBox1.Items.Add(dr.Item(0))
        Loop
    End Sub
End Class

  • Untuk syntax parameter  “Data Source=dbjnm.accdb” yang ada diatas sesuaikan dengan nama database yang agan gunakan, disini ane menggunakan “dbjnm.accdb”
  • Kembali ke Form1 design, click 2x pada Form1 kemudian copas kode dibawah ini:
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown
        ComboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend
        ComboBox1.AutoCompleteSource = AutoCompleteSource.ListItems
        Koneksi()
        da = New OleDbDataAdapter("Select * from barang", Conn)
        ds = New DataSet
        ds.Clear()
        da.Fill(ds, "Barang")
        DataGridView1.DataSource = (ds.Tables("Barang"))
        isiCombo()
    End Sub
  • Diatas bisa dilihat pada listing code, ane mengambil tabel barang dari database dbjnm kemudian menampilkannya di Data gridview, dan diakhiri dengan memanggil fungsi isiCombo() yang berfungsi menampilkan field namaBarang pada database dbjnm ke dalam ComboBox. 
  • Terakhir click 2x pada ComboBox1 di design Form1 kemudian ganti actionnya menjadi GotFocus dan copas code berikut:


Save kemudian jangan lupa masukan file databasenya di folder (./bin/debug) pada project agan, dan bila agan menggunakan windows 64 bit (x64) maka check Target CPU nya pada project properties terlebih dahulu, apakah sudah x86 atau belum seperti gambar berikut, karena bila tidak program tidak akan mau terkoneksi.


combobox-dinamis-di-vb-3
Mengatur target jenis sistem untuk kompilasi

Dan kemudian bila di run maka akan berjalan seperti gambar berikut:


combobox-dinamis-di-vb-4
Combobox yang terkoneksi dengan database (dinamis)

Listing sourcecode keseluruhan:





Demikian postingan ane pada kali ini tentang cara membuat ComboBox dinamis pada aplikasi VB.Net, semoga bermanfaat!!