Aplikasi Inventory Sederhana - Form Master Barang

Create: Sab, 05/16/2015 - 12:53
Author: nurhidayat
Aplikasi Inventory Sederhana User Interface Antarmuka Pengguna Form Utama Master Barang
<p><a href="http://pojokprogrammer.net/content/aplikasi-inventory-sederhana-form-ma…"><strong>Form Master Barang</strong></a> | Setelah sebelumnya kita berhasil membuat templare <a href="http://pojokprogrammer.net/content/aplikasi-inventory-sederhana-desain-…">desain user interface</a> dan <a href="http://pojokprogrammer.net/content/aplikasi-inventory-sederhana-data-ac…">data access layer</a>, berikutnya kita akan membuat form untuk mengelola proses <em><strong>CRUD </strong></em>(<em>Create, Read, Update, Delete</em>) untuk data Master Barang di Aplikasi Inventory ini. Untuk mengelola data master barang&nbsp;ini, kita memerlukan 2 (dua) buah form, yaitu <strong>Form List Barang</strong>, dan <strong>Form Entri Barang</strong>. Kedua form tersebut akan menggunakan metode <span style="color:#0000FF"><strong><em>data-binding </em></strong></span>untuk menampilkan data yang berhasil diambil menggunakan <em>library data access layer </em>yang kita buat sebelumnya.</p>
<!--break-->
<blockquote>
<p>Artikel ini adalah lanjutan dari artikel berseri tentang&nbsp;<strong><a href="http://pojokprogrammer.net/node/41">Tutorial Membuat Aplikasi Inventory Sederhana Menggunakan VB.net dan Database MySQL</a></strong>.&nbsp;</p>
</blockquote>
<h3>Data Binding</h3>
<p><strong>Data Binding adalah </strong>metode untuk menghubungkan elemen atau komponen user interface dengan data access layer di belakangnya. Dengan konfigurasi yang benar, maka perubahan apapun yang ada di data layer dapat langsung terlihat di user interface. Dan juga sebaliknya, perubahan yang kita lakukan di form user interface dapat langsung terseimpan ke database, hanya dengan memanfaatkan beberapa baris kode saja. Untuk mencapai hal ini, kita hanya perlu mengkonfigurasikan <em>property data-binding </em>yang ada di setiap elemen user interface yang terlibat. Jadi misalkan kita mempunyai sebuah TextBox yang di-<em>binding</em> ke sebuah DataSet, maka ketika kita mengisikan sesuatu, atau mengubah isi TextBox bersangkutan, maka secara otomatis data yang tersimpan di DataSet juga ikut berubah.</p>
<h3>Form Entri Barang</h3>
<p>Kita akan menggunakan <strong>satu buah form yang sama </strong>untuk proses menambah data baru (<em>Add New</em>) dan mengubah data lama (<em>Edit</em>) dikarenakan field yang terlibat akan sama, hanya berbeda behavior saat di awal melakukan inisialisasi data. Saat menambah data baru yang perlu dilakukan adalah menambahkan satu row kosong, sedangkan saat mengubah data yang dilakukan adalah mengambil ulang (<em>Retrieve</em>)&nbsp;data dari database. Langkah-langkah yang perlu dilakukan antara lain:</p>
<ul>
<li>
<p>Menyiapkan sebuah <em>Inherited Form</em> dari template frmEdit kemudian kita beri nama <em><strong>frmItemEdit</strong></em>. <strong>Untuk menambahkan form turunan </strong>dari template yang sudah kita buat di atas maka, maka silakan <strong>buka Form Dialog Add New Item</strong>, dan pilih Inherited Form seperti gambar di bawah ini, kemudian berikan nama form turunan dan klik tombol [Add]</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p><strong>Berikutnya </strong>akan muncul Dialog Box yang meminta kita untuk memilih Form superclass, atau Form template layout yang akan kita pakai sebagai parent, seperti tampak pada gambar di bawah ini.</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p>Menambahkan <strong>elemen user interface </strong>ke dalam frmItemEdit. Tambahkan semua elemen field yang diperlukan ke dalam form, sehingga tampak seperti desain form di bawah ini.</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p>Setting <strong>konfigurasi data-binding </strong>untuk setiap elemen User Interface. Pertama-tama pilih TextBox kode barang, kemudian cari <em>property </em>Text dalam group DataBinding, kemudian klik tombol dropdown dan pilih field <em>code </em>dari table <em>items </em>sebagai <em>data-binding</em>-nya seperti tampak pada gambar di bawah ini.</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p>Pada saat <strong>pertama kali kita melakukan setting data-binding, </strong>maka akan muncul beberapa komponen baru di bawah desain form, seperti tampak pada gambar di bawah ini. Selanjutnya lakukan setting data-binding untuk semua field lainnya.</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p>Menambahkan <strong>kode untuk membedakan inisialisasi data </strong>baru dengan edit data lama. Untuk membedakan proses inisialisasi databaru dengan edit data lama, maka kita manfaatkan constructor New dengan tambahan parameter id saat ketika kita ingin mengubah (edit) data lama.</p>
</li>
</ul>
<p>
</p>
<ul>
<li>
<p>Menambahkan <strong>kode untuk menyimpan perubahan data </strong>ke database. Untuk menambahkan kode penyimpanan data ke database, bukalah designer form, kemudian klik ganda&nbsp;(<em>double click</em>) button [Save] dan tambahkan kode seperti di bawah ini.</p>
</li>
</ul>
<p>
</p>
<h3>Form List Barang</h3>
<p>Sedangkan untuk melihat seluruh data barang yang tersimpan di database, kita akan membuatkan <strong>sebuah form list </strong>yang akan berisikan tombol-tombol (<em>button</em>) untuk proses tambah data, ubah data, dan delete data barang. Langkah-langkah yang perlu dilakukan antara lain,</p>
<ul>
<li><strong>Menyiapkan </strong>sebuah <em>Inherited Form </em>dari template frmList kemudian kita beri nama <em><strong>frmItemList</strong></em>. Cara membuat <em>Inherited Form </em>sama seperti saat kita membuat frmItemEdit di atas, silakan lakukan cara yang sama.</li>
<li>Berikutnya yang perlu kita lakukan adalah <strong>menambahkan elemen user interface </strong>ke dalam frmItemList. Elemen user interface yang harus di tambahkan di form list ini adalah DataGridView yang akan menampilkan seluruh data yang kita ambil dari database</li>
</ul>
<p>
</p>
<ul>
<li>Setting <strong>konfigurasi data-binding </strong>untuk setiap elemen User Interface. Proses setting data-binding ini bisa dilakukan lewat property Data Source, atau dapat juga dengan menggunakan shortcut context&nbsp;button kecil yang ada di atas design DataGridView, seperti tampak pada gambar di bawah ini.</li>
</ul>
<p>
</p>
<ul>
<li>Jika kita membuka kode sumber untuk frmItemList ini, maka akan terlihat bahwa Visual Studio secara otomatis menambahkan sebaris kode untuk mengambil data dari database menggunakan data access layer yang kita buat pada artikel sebelumnya. Rupanya Visual Studio cukup cerdas dengan menmbahkan kode sumber yang diperlukan untuk mengantisipasi para developer yang terlupa menambahkannya.</li>
</ul>
<p>
</p>
<ul>
<li>Menambahkan <strong>kode untuk mengambil data </strong>dari database. Proses pengambilan data (<em>data retrieval</em>) ini dilakukan pada saat Load Form, dimana kode sumbernya sudah ditambahkan secara otomatis oleh Visual Studio. Namun kita perlu tambahkan satu lagi ke button [Refresh] agar kita bisa mengambil ulang isi database. Caranya cukup dengan melakukan klik ganda (<em>double click</em>) pada <em>button4 </em>yang bertuliskan [Refresh]</li>
</ul>
<p>
</p>
<ul>
<li>Menambahkan kode untuk <strong>menampilkan form tambah data </strong>baru. Untuk menambah data baru, kita perlu memanggil frmItemEdit tanpa menggunakan parameter apapun agar form edit barang tahu kita akan menambahkan data baru. Caranya cukup dengan melakukan klik ganda (<em>double click</em>) pada <em>button1 </em>yang bertuliskan [Add], kemudian tambahkan kode berikut ini</li>
</ul>
<p>
</p>
<ul>
<li>Menambahkan kode untuk <strong>menampilkan form ubah data </strong>lama. Untuk mengubah data lama, yang kita perlu lakukan adalah memanggil frmItemEdit dengan memberikan parameter id agar form edit barang tahu kita akan menambahkan data baru. Caranya cukup dengan melakukan klik ganda (<em>double click</em>) pada <em>button2 </em>yang bertuliskan [Edit], kemudian tambahkan kode berikut ini</li>
</ul>
<p>
</p>
<ul>
<li>Menambahkna kode untuk <strong>menghapus data barang</strong>. Untuk menghapus data, yang kita perlu lakukan adalah mengambil row data yang akan dihapus, kemudian melakukan konfirmasi ke pengguna apakah benar-benar akan menghapus data yang dimaksud. Caranya cukup dengan melakukan klik ganda (<em>double click</em>) pada <em>button3 </em>yang bertuliskan [Edit], kemudian tambahkan kode berikut ini,</li>
</ul>
<p>
</p>
<h3>Simpulan</h3>
<p>Jika kita perhatikan kode sumber yang kita tuliskan di aplikasi ini sangat sedikit sekali dikarenakan kita menggunakan metode data-binding. Kita juga tidak perlu lagi repot-repot membuat perintah SQL untuk proses <strong><em>CRUD</em></strong>, karena proses <em>CRUD </em>ini sudah ditangani di data access layer. Dengan makin sedikit-nya kode yang harus kita tuliskan tentunya akan semakin meningkatkan produktifitas kita semua sebagai programmer dan semakin banyak karya-karya fenomenal yang bisa kita buat.</p>
<h3>Source Code</h3>
<p>Untuk memudahkan teman-teman mempelajari hal ini, silakan&nbsp;<strong><a href="http://pojokprogrammer.net/sites/default/files/tutorial/vbnet/BiruniLab…">Download Source Code Di Sini</a>.&nbsp;<span style="color:rgb(128, 0, 0)">Dibuat menggunakan Visual Studio 2013</span></strong>,&nbsp;&nbsp;</p>
<p><strong>Salam <span style="color:rgb(0, 0, 255)">Pojok</span><span style="color:rgb(255, 0, 0)">Programmer</span></strong>&nbsp;^_^</p>
<p>&nbsp;</p>
<p>/</p>