Software developer yang fokus mengembangkan aplikasi di atas platform .NET dan Android. Senang mempelajari teknologi baru terutama di bidang OOP, Design Pattern, ORM, Continuous Integration & Deployment dan arsitektur Microservice.
Maksud DAO disini bukan komponen Microsoft DAO yang populer di kalangan programmer vb untuk mengakses database tapi DAO disini lebih ke penerapan konsep DAO yang diperkenalkan Java untuk mengakses database.
Dalam konsep DAO kita akan memisahkan module program menjadi beberapa bagian/layer yaitu :
Presentation
Business Logic
Data Access
Untuk presentation layer berhubungan dengan UI (user interface) .
Business Logic biasanya berhubungannya dengan entity class dan entity class sendiri merupakan representasi tabel-tabel yang ada di database biasanya juga disebut dengan istilah class model.
Terakhir Data Access yaitu bagian yang menangani urusan akses database biasanya terdapat operasi CRUD (Create, Read, Update, Delete).
Untuk kasusnya yang gampang aja :), kita akan mencoba mengakses data siswa yang mempunyai empat field yaitu nomor induk, nama, tempat lahir dan tanggal lahir.
Memulai project baru
Jalankan Visual Basih 6 kemudian pada dialog New Project aktifkan tab New kemudian pilih Standar EXE dan akhiri dengan menekan tombol Open.
Membuat Presentation Layer
Pada saat membuat project baru secara default sudah disiapkan 1 buah project plus formnya
kemudian lakukan perubahan properties seperti gambar berikut :
untuk tampilannya kita akan desain seperti berikut :
Membuat Business Logic
Business Logic ada hubungannya dengan entity class yang merupakan representasi dari tabel-tabel yang ada didatabase.
Berdasarkan struktur tabel siswa diatas kita akan membuat sebuah class dengan nama Siswa yang mempunyai empat buah property yaitu Nomor Induk, Nama, Tempat Lahir dan Tanggal Lahir.
Jadi property ini sudah mewakili method mutator dan accessor yang sudah biasa kita kenal penggunakannya di Java.
Untuk menampung class-class yang berhubungan dengan Business Logic kita akan menambahkan project baru dengan tipe ActiveX DLL, adapun caranya seperti berikut :
Klik menu File -> Add Project setelah itu akan tampil dialog Add Project
kemudian pilih ActiveX DLL dan klik tombol Open
setelah itu akan ditambahkan 1 buah project dan class
kemudian lakukan perubahan properties seperti gambar berikut :
Adapun kode lengkap untuk class Siswanya adalah sebagai berikut :
Membuat Data Access
Lapisan ini biasanya berisi operasi CRUD (Create, Read, Update, Delete), tapi kita akan menggunakan istilah yang sedikit berbeda untuk nama operasinya yaitu :
Save
Update
Delete
GetAll
GetByName
GetByNIS
Biasanya untuk penamaan classnya cukup menambahkan akhiran (suffixes) Dao untuk setiap class entitynya. Contoh untuk class entity Siswa, biasanya class Data Accessnya diberi nama SiswaDao.
Oke langsung saja kita tambahkan project baru dengan mengklik menu File -> Add Project setelah itu akan tampil dialog Add Project
kemudian pilih ActiveX DLL dan klik tombol Open
setelah itu akan ditambahkan 1 buah project dan class
kemudian lakukan perubahan properties seperti gambar berikut :
Adapun kode lengkap untuk class SiswaDaonya adalah seperti berikut :
1. Method Save
2. Method Update
3. Method Delete
4. Method GetAll
5. Method GetByName
6. Method GetByNIS
Class SiswaDao diatas membutuhkan referensi/library tambahan berikut :
Karena class SiswaModel dan SiswaDao berbeda project sehingga untuk mengakses class Siswa berikut propertiesnya dari SiswaDao perlu ditambahkan referensi SiswaModel.
Referensi Microsoft Scripting Runtime mirip dengan class Collection.
Terakhir kita akan membahas bagaimana mengakses class Siswa dan SiswaDao dari form Siswa tapi sebelumnya kita harus menambahkan referensi SiswaModel, SiswaDataAccess, Microsoft ADO 2x dan Microsoft Scripting Runtime.
Beberapa waktu yang lalu saya merilis sebuah library dengan nama WhatsApp NET Client. Library ini merupakan hadiah dari saya untuk teman-teman .NET De...
WhatsApp NET Client adalah library untuk .NET Developer yang digunakan untuk mengembangkan aplikasi WhatsApp klien berbasis desktop. Library ini dikembangkan...
Comments