none
Pengalamanku Dengan DataSet - bagian 1 RRS feed

  • Diskusi Umum

  • Pengantar

    Sudah banyak orang yang menggunakan DataSet sebagai bagian dari aplikasi database pada program mereka. Sayangnya hanya sedikit sekali yang menggunakan DataSet sebagai pengganti database. Betul sekali, kebanyakan orang menggunakan DataSet hanya sebagai pem-binding ke database yang digunakan, semisal MS Access atau MS SQL Server. Padahal kalau mau dipikirkan kembali. Penggunaan DataSet cukuplah menguntungkan, diantaranya:

    • Tidak memerlukan driver. Jadi tidak terikat dengan fasilitas ODBC.
    • Penggunaan SQL yang sudah mulai dikurangi, semisal syntax select, insert, update, delete. Anda hanya akan menggunakan syntax tersebut bila anda menggunakan DataSet sebagai pem-binding database.
    • Tidak memerlukan parameter. Anda hanya menggunakan parameter bila anda menggunakan DataSet sebagai pem-binding database.

    Problem

    Pada dasarnya, aplikasi database memiliki banyak merk. Semisal dari Microsoft anda akan menemukan Microsoft Access dan Microsoft SQL Server. Bila anda seorang developer, dan anda juga membuat program database. Maka anda pun harus mengetahui apakah user yang anda tuju juga memiliki aplikasi database yang anda gunakan. Seandainya anda memiliki Microsoft Access, sedangkan user yang anda tuju tidak memilikinya, maka sudah bisa dipastikan program yang anda buat tidak akan berjalan.

    Kebenaran

    Sebelumnya, saya tidak pernah menyadarinya kalau DataSet bisa bertindak sebagai database. Hal itu bisa dilihat dari gambar dibawah ini:

    Struktur ADO .Net

    Pada gambar diatas, anda bisa menemukannya pada MSDNdengan topik ADO.Net Architecture. Dan pada gambar itu pulalah, coba anda lihat kembali pada tanda panah yang berada diantara .Net Framework Data Providerdengan DataSet. Disitu terlihat jelas, bahwasannya DataSet tidak memerlukan .Net Framework Data Provider, melainkan .Net Data Provider yang justru membutuhkan DataSet.

    Seandainya saya tidak pernah melihat gambar tersebut, maka saya tidak akan pernah menyadarinya, betapa kuatnya DataSet.


    1 Using ds As New DataSet
    2     ds.DataSetName = "My 1st DataSet"
    3

        ds.WriteXml(My.Computer.FileSystem.SpecialDirectories.Desktop & "\My 1st  DataSet.txt", XmlWriteMode.WriteSchema)

    4 End Using

    Lihatlah, cukup mudah bukan. Anda hanya butuh 4 baris kode saja. Pada contoh diatas, saya membuat file DataSet di desktop, dan tentunya dengan extension txt. Hal ini saya sengaja, agar anda bisa membukanya melalui notepad. Sekarang tujulah desktop anda, pasti anda akan menemukan filenya. Bila sudah ketemu, segeralah anda klik ganda file tersebut. Nantinya notepad akan muncul, dan memperlihatkan isinya seperti ini:

    1 <?xml version="1.0" standalone="yes"?>
    2 <My_x0020_1st_x0020_DataSet>
    3   <xs:schema id="My_x0020_1st_x0020_DataSet" xmlns="" xmlns:xs=http://www.w3.org/2001/XMLSchemaxmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    4    <xs:element name="My_x0020_1st_x0020_DataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
    5      <xs:complexType>
    6    <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    7      </xs:complexType>
    8    </xs:element>
    9  </xs:schema>
    10 </My_x0020_1st_x0020_DataSet>

    Pusing? Tidak apa-apa. Malahan anda tidak perlu memikirkannya. Yang perlu anda ketahui hanyalah kalimat _x0020_. Kalimat ini muncul karena anda menggunakan spasi. Jadi bila anda tidak menggunakan spasi maka kalimat ini tidak akan muncul. Setelah itu, matikan notepad anda.

    Sampai disini anda telah berhasil membuat file DataSet. Tahap berikutnya anda akan membuat DataTable.

    Aturan Main

    Sebelum mempelajari DataTable, gak ada salahnya mempelajari istilah-istilah yang ada. Hal ini terjadi lantaran banyak istilah lama yang diganti, atau bahkan ditiadakan. Berikut ini istilah-istilah yang sering digunakan:


    Istilah lama Istilah baru
    Table DataTable
    Field DataColomn
    Record DataRow
    RecordSet DataTable
    Filter RowFilter

    Membuat DataTable

    Pada VB 6, anda tidak bisa membuat Table bila tidak memiliki file database. Sedangkan VB .Net, anda bisa membuat DataTable tanpa perlu memiliki file database. Hal ini terjadi lantaran DataTable juga bersifat in-memory seperti DataSet. Untuk contoh kali ini, saya akan membuat DataTable mengenai biodata. Berikut ini kodenya:

    1 Dim vDBGView As New DataGridView
    2 Dim vTabel As New DataTable
    3 Private Sub
    Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
    MyBase.Load
    4     WithMe
    5         Try
    6            .Controls.Add(.vDBGView)
    7            .vDBGView.Dock = DockStyle.Fill
    8
    9            .vTabel.Columns.Add("Nama Depan", GetType(String))
    10            .vTabel.Columns.Add("Nama Belakang", GetType(String))
    11            .vDBGView.DataSource = .vTabel
    12         Catchex AsException
    13         EndTry
    14     EndWith
    15 End Sub

    Kode diatas diasumsikan anda memiliki file dengan nama Form1.vb. Setelah anda selesai mengetikkan kode diatas, langsung saja anda
    run, nantinya hasilnya akan seperti ini:

    form1

    Menarik bukan? Anda tidak memerlukan file database hanya untuk membuat DataTable. Hal ini tidaklah pernah terjadi pada VB 6. Bagi anda yang masih setia (atau mungkin fanatik) pada VB 6 (dan juga yang masih mengandalkan Microsoft Access atau Microsoft SQL Server sebagai databasenya), tentu anda akan gigit jari setelah melihat kegilaan VB .Net, hehehe.

    Thread ini belumlah selesai. Lantaran 1 thread hanya boleh memasukkan 2 gambar maksimumnya. Nantikan thread berikutnya.

    Jumat, 24 Februari 2012 15.13

Semua Balasan

  • di VB 6 juga bisa kok. Kalau tidak salah saya biasa membuat Recordset kosong yang tidak ada hubungan dengan database. Biasanya pada kasus tertentu, data-data pada Form Aplikasi, saya tidak langsung simpan pada tabel database, tapi simpan pada memory lalu tampilkan di Grid. jadi seolah-olah apa yang tampil di Grid tersebut dari table database.
    Sabtu, 24 Maret 2012 15.52
  • Hehehe...yang ini beda lho om Franky_Koe. Dikarenakan dicontoh tersebut saya menyimpannya kedalam file. Dengan kata lain, Anda bisa membuka filenya dikemudian hari. Jadi bisa dibilang DataSet adalah DataBase. Pengertian Recordset hanya mengacu kepada Table atau DataTable.

    Anda tidak percaya? Cobalah untuk mengeksplorasi DataSet.

    Ingat...tanpa bantuan DataBase Konvensional, semisal Microsoft Access atau MS SQL Server. Sehingga Anda tidak perlu berurusan dengan ConnectionString atau Parameter. Apalagi driver dari masing-masing DataBase konvensional.

    Minggu, 25 Maret 2012 07.11
  • Jadi ceritanya Mas Wahyu  sudah tidak menggunakan database lahi nih. hehehe...

    Bagi saya, Database tidak bisa disamakan dengan dataset.

    Minggu, 25 Maret 2012 13.39
  • Betul, tidak ada yang salah dengan kata-kata Anda. Tetapi, maksud dan tujuan yang ingin saya sampaikan adalah sebaliknya. DataSet bisa disamakan dengan DataBase. Insya Allah bila ada waktu, saya akan buat thread/artikel mengenai hal tersebut. Dan kalo Anda ada waktu luang, dan juga Anda mempunyai MSDN, cobalah buka-buka kembali mengenai DataSet, DataTable, DataColomn, dan DataRow. Dijamin Anda pasti akan terkejut dengan contoh-contoh yang diberikan.

    Minggu, 25 Maret 2012 13.59