C# - CRUD Menggunakan Entity Framework Dengan Metode Database First
Assalamu'alaikum wr.wb.
Pada kesempatan ini, saya akan memberikan tutorial tentang cara menggunakan entity framework untuk menambah, mengubah, ataupun menghapus pada database SQL Server. Cara yang saya berikan ini merupakan cara yang saya dapat dari internet yang kemudian dirangkum menjadi satu. Beberapa blog atau web memberikan tutorial yang membingungkan, ada juga yang bahkan gagal. Tentu itu sangat mengganggu pengunjung. Oleh karena itu, saya merangkum semua artikel tentang entity framework yang sudah saya baca sebelumnya di artikel ini. Untuk proses yang akan saya berikan adalah proses untuk menambah data dari database, mengubah data yang ada, dan sekaligus menghapus. Selain itu, saya juga memberikan tutorial untuk menampilkan data dengan entity framework.
Tutorial yang akan saya tunjukkan ini merupakan tutorial yang berisi tulisan beserta gambar yang dijelasjan nantinya. hal ini bertujuan agar pembaca dapat memahami tutorial tentang entity framework ini dengan baik. Semoga saja tidak terjadi error. Karena sebelum saya memposting, saya sudah mencobanya terlebih dahulu. Jadi In sya Allah tutorial ini tidak ada error. Namun tidak menutup kemungkinan untuk terjadi error karena perangkat yang digunakan berbeda, bisa jadi terdapat error dari perangkat yang berbeda. Karena itu' silahkan tinggalkan jejak di komentar agar kita bisa menyelesaikannya bersama.
Baca Juga
- Cara Menyisipkan gambar Di HTML Menggunakan Notepad
- Contoh Dimensional List Pada Python
- Lebih Lanjut Tentang SELECT di MySQL
Perlu diketahui bahwa artikel ini adalah lanjutan dari tutorial selebumnya yaitu Definisi dan cara menggunakan entity framework pada c#. Pada artikel tersebut saya sudah memberikan sedikit penjelasan dan cara untuk menggunakan entity framework, silahkan kunjungi artikel tersebut agar tidak terjadi kebingungan.
Sebenarnya tutorial ini bisa digabungkan dengan coding manual C#, karena tutorial entity framework ini hanya mempermudah akses ke database saja. selanjutnya untuk struktur kendali dan penerapan script tetaplah sama. Namun sebelumnya saya sarankan untuk mempelajari terlebih dahulu tentang konsep OOP pada C#. Meskipun tutorial entity framework ini sangat mempermudah, namun dasar dari semua ini adalah OOP. Dan apa daya mempelajari entity framework ini tanpa adanya pemahaman OOP.
Jika sudah sampai sini, saya rasa persiapannya sudah cukup. mari kita mulai tutorialnya.
1. Buat aplikasi seperti tutorial disini. Jika sudah, maka lanjutkan
2. Lihatlah pada bagian Solution Explorer. Posisi di Kanan atas. Buatlah folder baru dan beri nama View. Caranya adalah klik kanan pada project_entityFramework - add - new folder
Setelah Folder sudah dibuat, lalu klik kanan pada view - add - windows form. Itu untuk membuat form didalam folder tersebut. Jika sudah berhasil maka akan muncul tampilan seperti diatas.
Folder view tersebut berfungsi untuk menaruh atau meletakkan view / form didalam folder tersebut. Hal ini bertujuan agar tampilan project terkesan lebih rapi. Memang tidak ada hubungannya dengan program. Namun kita sebagai programmer apabila terdapat penambahan atau update akan terasa sulit jika tampilannya berantakan.
3. double klik form yang baru kita buat tersebut, lalu akan muncul tampilan form kosong ditengah. kita lihat di bagian kiri. terdapat tab data source yang masih tersembunyi (jika tidak ada, cara menampilkannya adalah ke menu tab view - other windows - data sources).
Jika sudah ada tampilan seperti diatas, klik saja Add New Data Source... Setelah itu maka akan muncul tampilan dibawah ini.
Tampilan diatas adalah tampilan untuk mengkonfigurasikan datasource. Terdapat tiga pilihan, Database, server, dan Object. Karena kita menggunakan konsep OOP, kita pilih saja Object. Lalu klik Next
Tampilan diatas adalah tampilan untuk memilih object yang dikonfigurasikan dengan data source. lihat pada project_entity_framework terdapat tanda panah kecil sebelum kotak putih, klik saja maka akan muncul pilihan baru. centang pada project_entity_framework. Lalu klik Finish.
4. Jika sudah melakukan langkah langkah diatas, maka datasource berhasil dibuat. Data source yang dibuat tersebut dikonfigurasikan dengan entity framework sehingga atribut dari data source tersebut sama dengan atribut yang ada pada entity framework. Dan atribut di entity framework sudah dikonfigurasikan dengan database. Artinya konfigurasi data source ke database melalui perantara entity framework. Begitulah OOP. Saling melempar data dari satu class ke class lain. Berikut ini adalah tampilan dari datasource tadi yang sudah berhasil dibuat
Lihatlah datasource diatas terdapat banyak sekali atribut. Jadi kita cukup buat satu data source saja dari satu project. lalu kita lihat terdapat menu dropdown DataGridView, Detail, None yang memiliki fungsi tersendiri. Dimana DatagridView berfungsi untuk memberikan menu tabel pada form, Detail berfungsi untuk memberikan menu text, dan None tidak memberikan apa - apa. Hal itu akan saya jelaskan nanti. untuk saat ini biarkan saja seperti itu.
5. Selanjutnya kita buka frmBarang.cs. jangan lupa data source jangan di close. klik pada barang di datasource dan drag ke tampilan form. Maka akan muncul DataGridview. Selanjutnya pada dropdown barang, pilih detail dan drag lagi ke form. Maka akan muncul textBox dan label. Dan desain seperti gambar dibawah ini :
Tutorial 1 - 5 ini adalah tutorial untuk membuat form dari data source. Kita hanya tinggal drag and drop saja. ini memang tidak ada kaitannya dengan entity framework, namun tutorial tadi sangatlah berguna untuk kecepatan dalam membuat aplikasi. Lihatlah kita bisa membuat tampilan seperti diatas hanya dalam ditungan detik.
Selanjutnya kita buat sendiri 5 button yang terdiri dari btnTambah, btnUbah, btnHapus, btnSimpan, dan btnBatal. lalu letakkan di posisinya masing - masing sesuai selera anda. button yang kita buat memiliki fungsinya masing - masing. Tentu untuk tambah, ubah, dan hapus hanyalah menentukan enabled saja.
untuk enabled. pada semua textbox, btnSimpan dan btnUbah, buatlah enabled = false di properties. Caranya klik sekali pada masing - masing item dan kita lihat di bagian kanan bawah. lalu kita cari enable.
Cara ini berfungsi agar textbox dan button tertentu tidak bisa diotak atik. Tentu ini sangat diperlukan dalam suatu aplikasi agar terhindar dari kesalahan memanipulasi data.
Setelah semuanya selesai, kita bisa melihat tampilan program pada frmBarang adalah seperti dibawah ini
program diatas masih kosong. Kita perlu menambahkan struktur kendali guna memanipulasi data ke database. Saya akan memberikan program secara berurutan agar tidak terjadi error. Silahkan copas saja dan pahami baik - baik. Berikut ini merupakan program yang dibutuhkan :
Variabel yang dibutuhkan
Letakkan script dibawah ini tepat diatas constructor (public FrmBarang). Jika terjadi error, arahkan corsor pada script yang error tersebut. Lalu akan muncul icon lampu. klik icon lampu tersebut dan pilih pilihan yang paling atas
Variabel diatas adalah variabel global yang mana variabel tersebut berada diluar fungsi. Hal ini karena variabel tersebut dibutuhkan oleh banyak fungsi. Maka dari itu variabel diatas saya buat menjadi variabel global agar semua fungsi didalam class dapat mengakses variabel tersebut.
Fungsi Refresh
Fungsi dibawah ini bisa diletakkan dimana saja asalkan berada diluar fungsi lain.
Fungsi diatas berguna untuk mengosongkan textbox dan mengisi kembali data di datagridview dari database. Fungsi ini sangat berpengaruh jika kita telah melakukan aksi crud, maka refresh diperlukan agar form kembali seperti awal kita membukanya.
Fungsi Convert ke Rupiah
Fungsi diatas berguna untuk mengubah tampilan inputan dari textboxt menjadi seperti rupiah. Misal saya inputkan angka 12000. Maka secara otomatis program akan mengubah angka tersebut menjadi 12,000. Ini sangat bergurna untuk menginput nilai yang besar seperti nilai desimal atau mata uang. Hal ini bertujuan agar tidak ada kesalahan dalam menginput.
Fungsi agar textbox hanya bisa diinput dengan angka
Fungsi diatas berguna untuk memberikan efek pada textbox agar hanya bisa diinput angka saja. Jika kita mengetik huruf, otomatis program tidak akan merespon sehingga huruf tersebut tidak tertulis di textbox. Hal ini sangat berguna untuk penginputan angka seperti penjumlahan atau stok. Karena database akan memberikan error jika sampai salah input.
Fungsi untuk enable textbox dan button
Fungsi diatas untuk memberikan efek pada textbox dan button yang di enabled false tadi. Selain itu terdapat fungsi refreshForm() didalamnya. Artinya ketika kita memanggil fungsi ini, maka secara otomatis fungsi refreshForm juga ikut terpanggil.
Program pada constructor (Public FrmBarang())
Disinilah letak constructor. constructor di program ini diisi dengan memanggil refreshForm dan angka. kita bisa lihat paa stok_barangTextBox dan harga_barangTextBox kita memanggil fungsi yang sama dengan event yang sama juga (keypress). Tentu itu sangat mempersingkat program.
Program pada btnSimpan
Disini adalah isi dari program btnSimpan. Fungsi dari btnSimpan sendiri dapat dibuat otomatis oleh program hanya dengan double klik button tersebut. Saya sarankan agar tidak mengetik fungsi tersebut sendiri karena itu tidak akan berpengaruh apa - apa.
pada btnSimpan bisa kita lihat bahwa kita melempar data dari textbox ke variabel yang ada pada class barang(class barang sudah dibuat oleh entity framework). Lalu kita memberikan aksi sesuai dengan isi dari variabel actionEnableText. Perbedaan aksi dari INSERT, UPDATE, DELETE sendiri adalah terletak pada EntityState yang digunakan. Bisa dilihat sendiri dari program diatas. untuk insert bisa menggunakan added, untuk update bisa menggunakan modified, untuk delete bisa menggunakan deleted
Lalu kita lihat saveChanges() setelah proses dilakukan. sebenarnya proses diatas seperti add, modified, dan delete tersebut hanyalah memanipulasi data di entity framework, namun belum kita simpan ke database. Maka dari itu saveChanges adalah fungsi yang dibutuhkan untuk menyimpannya.
Program pada btnUbah
Sama seperti btnSimpan. Untuk membuat fungsi diatas, cukup double klik button di design saja. Kita bisa melihat jika btnUbah di klik, maka akan mengubah actionEnableText dan memanggil fungsi enableTextBox
Program pada btnHapus
Sama seperti btnSimpan. Untuk membuat fungsi diatas, cukup double klik button di design saja. Kita bisa melihat jika btnHapus di klik, maka akan mengubah actionEnableText dan memanggil fungsi enableTextBox
Program pada btnBatal
Sama seperti btnSimpan. Untuk membuat fungsi diatas, cukup double klik button di design saja. Kita bisa melihat jika btnBatal di klik, maka memanggil fungsi enableTextBox
Program pada btnTambah
Sama seperti btnSimpan. Untuk membuat fungsi diatas, cukup double klik button di design saja. Kita bisa melihat jika btnTambah di klik, maka akan mengubah actionEnableText dan memanggil fungsi enableTextBox
Program CellDoubleClick
Sama seperti btnSimpan. Untuk membuat fungsi diatas, cukup klik pada datagridview tersebut, lalu kita lihat event (icon petir). Setelah itu kita cari cellDoubleClick. Dan double klik tulisat tersebut.
button di design saja. Kita bisa melihat jika kita double klik pada baris tertentu di tabel barang, kita bisa memberikan data pada textbox tertentu. Yang sudah dibedakan berdasarkan indexnya.
Program TextChanged rupiah
Sama seperti barang_dataGridView.klik pada textbox tersebut, lalu kita lihat event (icon petir). Setelah itu kita cari TextChanged. Dan double klik tulisat tersebut.. Kita bisa melihat jika kita mengetik pada textboxt harga_barang, maka secara otomatis angka tersebut terconvert ke bentuk rupiah.
Tampilan Program Keseluruhan
Setelah kita mengikuti tutorial diatas, maka program diatas adalah tampilan program secara keseluruhan. Itu artinya kita telah selesai dalam membuat program untuk CRUD dengan entity framework Database First. Dengan ini yang perlu kita lakukan hanyalah tinggal run dan mencoba aplikasi tersebut. Namun sebelum itu, pada Solution Explorer, kita buka program.cs. Lalu kita ganti Form1() dengan view.FrmBarang(). Hal itu bertujuan agar ketika project dijalankan, maka FrmBarang adalah frm yang pertama kali muncul.
Run Program
Coba kita run, lalu coba untuk mengetikkan sesuatu di textbox, pasti tidak bisa. Karena textboxt tersebut telah di enabled = false. Cara agar kita bisa mengetik di textbox adalah dengan menekan salah satu tombol (tambah, ubah, hapus). disini kita klik saja tombol tambah. Dan isi seperti data dibawah ini ;
Kita bisa melihat bahwa textbox bisa diinput setelah kita mengklik salah satu tombol dibawah. Ini karena perintah yang kita buat seperti itu. Hal ini bertujuan agar tidak ada kesalahan dalam pemilihan aksi. Kita juga bisa melihat di form tersebut, id_barang tidak bisa diisi. Karena id_barang adalah primary key identity yang artinya dapat terisi sendiri jika kita melakukan proses insert. Coba kita klik simpan dan lihat hasilnya
Jika tidak ada error, maka secara otomatis data tersimpan di database dan muncul di datagrid. Lalu kita lihat textbox kembali enabled = false.
Post a Comment for "C# - CRUD Menggunakan Entity Framework Dengan Metode Database First"