Form Transaksi – Antara Teori dan Praktek di Lapangan

[s.basis.data|akuntansi|lab.soft|pert.9]

Diagram ERD di bawah ini menunjukan transaksi pembelian barang ke suplier dengan relasi many to many. Perlu diketahui bahwa ERD dalam perancangan basis data masuk dalam wilayah konsep. Banyak mahasiswa yang rancu dalam memahami perancangan dari sisi konsep dengan implementasinya berupa pentabelan (record structure).

Secara teori (lihat buku Elmasri tentang basis data) ERD di atas harus dimodifikasi untuk pentabelannya mengingat dalam satu record di tabel pembelian di atas tidak bisa memiliki lebih dari satu isian, alias multi-valued. Namun perkembangan terkini kabarnya basis data objek bisa mengakomodir hal tersebut. Namun untuk database relasional perlu tambahan tabel yang dibahas di postingan ini. Ada sedikit polemik antara teori dengan praktek.

Komposit Primary Key

Dengan database management system (DBMS) sederhana, misalnya access, ERD di atas secara teoritis dibentuk relasi berikut:

Bentuk Form transaksinya dengan Access kira-kira seperti di bawah ini:

Dalam tabel detil nanti ada dua isian yaitu 6 + b001 dan 6 + b002. Jika KdBarang diisi barang yang sama, misalnya b001 semua, maka sistem akan menolak karena dalam tabel detil pembelian ada dua record yang sama (6+b001 dua kali). Karena seharusnya 6 + b001 diisi satu kali dengan jumlah dua (jika masing-masing tadi berjumlah satu). Bentuk record detilnya sebagai berikut, perhatikan tidak ada kombinasi KdPembelian dan Kdbarang yang sama dalam tabel tersebut.

Menambah Primary Key Baru

Komposit primary key tidak mengijinkan redundansi (dobel) kombinasi primary key (kode pembelian + kode barang), alias dua kode barang diinput dua kali di sub-form (sisi detail). Jadi harus menambah jumlah barang yang sama tersebut, misalnya kode barang kecap tidak boleh diinput dua kali (masing-masing berjumlah satu), tetapi cukup sekali dan jumlahnya 2. Padahal praktek di lapangan, misalnya di supermarket-supermarket dengan scan barcode tentu saja asal scan tidak perlu mengetahui apakah barang yang sama sudah discan sebelumnya. Solusinya terkadang dengan menambahkan satu kunci baru. Kasihan kasirnya ketika kode barang yang sama sebelumnya telah terscan, yang baru mau diinput menolaknya.

Jadi dari pada kasir diminta mengumpulkan jumlah kode barang yang sama kemudian ditotal, kasir bisa langsung menscan barang yang sama tersebut berkali-kali. Tabel transaksinya kira-kira berikut ini:

Tentu saja dengan cara komposit primary key (KdPembelian+KdBarang) tanpa ID sistem akan menolak, tapi dengan cara ini barang yang sama akan diberikan ID yang berbeda. Tapi secara teori, primary key komposit dua kunci yang terlibat (KdPembelian dan KdBarang) masih tetap jadi dasar materi perkuliahan basis data. Sekian, semoga bermanfaat.

Iklan

Mengubah Text Box Pada Form Ms Access 2013 menjadi Combo Box

[basis.data|akuntansi|lab.soft|u.t.s]

Form merupakan salah satu aplikasi untuk berinteraksi dengan basis data. Dalam penerapannya, pengguna tidak seharusnya mengisi data lewat Database Management System (DBMS) yang memang hanya level administrator yang boleh membukanya. Oleh karena itu perancangan Graphic User Interface (GUI) dalam bentuk form sangat menentukan tingkat user friendly dari aplikasi yang dibuat. Postingan ini kelanjutan dari post sebelumnya tentang pembuatan FORM. Di sini ada sedikit tambahan bagaimana dalam menginput data, khususnya isian berupa primary key harus sesuai dengan yang ada di basis data. Di bawah ini merupakan relasi mahasiswa yang mengambil perkuliahan pada tabel jadwal. Ketika mengisi KRS maka mahasiswa menjadwalkan perkuliahan lebih dari satu kelas.

Membuat Form

Anggap kita sudah membuat form transaksi KRS lewat Form Wizard yang disediakan oleh Ms Access. Pastikan mahasiswa menjadi form utama sementara kelas-kelas yang harus diambil adalah sub-formnya.

Mengkonversi Text Box Menjadi Combo Box

Pada bagian text box yang akan dirubah menjadi combo box klik kanan dan pilih Change to – pilih Combo box. Jika dijalankan lewat mode View (di pojok kiri atas pada menu home) akan tampak combo box di salah satu field, misalnya dalam contoh ini kode. Hanya saja masih kosong dan perlu diset lebih lanjut.

 

Mengeset Row Source

Untuk mengeset isian dari combo box dengan cara mengisi field pada tabel yang sesuai lewat Property. Jalankan property dengan mengklik kanan pada text box dan pilih form property. Cara yang lebih cepat adalah dengan menekan alt + enter.

Jalankan form yang baru saja dirancang, lalu coba combo box yang baru saja dibuat. Pastikan seluruh kode kelas yang ada di tabel tampak di combo box. Berbeda dengan List Box, combo box bisa mengisi tanpa memilih, alias menambah baru. Dengan combo box, kode kelas yang diisi pasti sudah terdaftar di tabel kelas. Demikian pula informasi tentang kelas tersebut langsung muncul di isian, misalnya nama dosen pengampu mata kuliah dan lain-lainnya. Sekian semoga bermanfaat.

 

Menggambar Entity Relationship Diagram (ERD) dengan Ms Visio 2013

[basis.data|akuntansi|lab.soft|pert.7]

Beberapa alat bantu rekayasa perangkat lunak saat ini sudah mampu membangkitkan kode dari diagram yang digambar. Namun jika hanya ingin sekedar menggambar, dengan Microsoft Visio pun bisa dengan mudah dibuat. Salah satu diagram yang dibahas dalam perkuliahan sistem basis data adalah Entity Relationship Diagram (ERD). Diagram ini menggambarkan relasi antara satu entitas dengan entitas lainnya. Entitas di sini merupakan abstraksi dari sistem real ke dalam sistem basis data, misalnya informasi-informasi yang terkait dengan barang, pelanggan, atau pun yang dalam bentuk transaksi seperti transaksi penjualan, pembelian, pemesanan dan sejenisnya.

Memulai Penggambaran

Visio yang digunakan dalam postingan ini adalah Microsoft Visio 2013. Aplikasi ini terpisah dengan paket Microsoft Office lainnya (Word, Excel, Access, dan Outlook). Agak merepotkan karena perlu membeli lisensi software tersebut. Tetapi jika sudah ada, apa salahnya untuk dimanfaatkan. Pilih jenis Shape untuk basis data: Basic Shapes Software & Database Databasebe Chen’s Databae Notation. Di sini kita coba menggunakan jenis notasi Chen yang sudah digunakan sejak tahun 70-an, walau saat ini kalah pamor dengan Crow’s Foot Database.

Ada empat bentuk dasar yang tersedia antara lain: Entitas, Relationship, Attribute, dan konektor relationship. Misalkan kita ingin menambahkan dalam model sebuah entitas, katakanlah barang. Drug mouse dari Entity ke bidang kerja. Hasilnya adalah segiempat dengan warna biru. Untuk merubahnya tekan format yang transparan (3).

Dobel klik pada Entity lalu isikan namanya. Atur ukuran huruf beserta warnanya agar mudah dibaca, karena default-nya adalah biru muda dan agak sulit dibaca. Untuk membuat Entity yang lain ada baiknya mongkopi dari yang sudah jadi karena tidak perlu mengeset huruf dan ukurannya lagi. Buat relasi barangmembeli suplier. Primary key, seperti biasa ditulis dengan garis bawah. Relasi gunakan bentuk Relationship Connector di jajaran Chen’s Database Notation dan BUKAN di bagian atas, karena nanti agak repot harus menghapus panahnya.

Gambar ERD di atas dikenal dengan istilah perancangan basis data secara konseptual (conceptual database planning). Secara konsep memang ERD di atas masuk akal, tetapi secara fisik tidak bisa diterapkan, khususnya di tabel pembelian (relasi membeli). Ketika barang dibeli dari suplier tertentu, berisi bisa lebih dari satu barang, padahal dalam tabel tidak bisa diterapkan satu field berisi lebih dari satu record. Oleh karena itu diperlukan konversi dari ERD ke Logical Record Structure (LRS) yang masuk dalam tahap perancangan basis data logikal. Biasanya muncul satu tabel baru bernama DetilPembelian untuk mengakomodir hubungan Many-to-Many.

Membuat Form Input pada Microsoft Access

[basis.data|akuntansi|lab.software|pert.6]

Setelah sistem basis data terbentuk, tugas berikutnya adalah membuat interface pengguna dengan basis data. Salah satu mata kuliah pendukung interface tersebut adalah interaksi manusia dan komputer. Bentuk real-nya adalah Graphic User Interface (GUI). Untuk contoh kita ambil Form Data Mahasiswa dari tabel mahasiswa di bawah ini.

Merancang Interface

Microsoft Access menyediakan sarana pembuatan GUI dalam bentuk form. Cara yang termudah dalam pembuatan form adalah lewat wizard yang dapat diakses lewat menu Create From Wizard. Terlebih dahulu sorot dengan mouse tabel mahasiswa di sisi MS Access.

 

Langkah pertama adalah pemilihan tabel yang dalam contoh kasus ini adalah tabel mahasiswa. Pilih saja seluruh field yang diminta oleh wizard. Lanjutkan dengan menekan Next.

Tabel ini hanya sekedar contoh, untuk disain yang terbaik sesuaikan dengan kebutuhan sistem yang akan dirancang. Tahapan-tahapan dalam pembuatan basis data dapat diketahui dari berbagai macam referensi tentang database design.

Selanjutnya adalah pemilihan bentuk form (columnar, tabular, datasheet, dan justified). Untuk kali ini akan dicoba bentuk yang Columnar karena bentuk ini bentuk yang sering dipakai dengan tombol kontrol di bawahnya (simpan, tambah, maju, mundur, dan sejenisnya).

Akhiri dengan menekan tombol Finish yang kemudian memunculkan form yang dihasilkan. Untuk mendisain ulang dengan menambah kontrol, tekan di sisi kiri atas View Design View. Tambahkan di bagian Footnot GUI untuk menambahkan tombol kontrol New untuk menambah satu record.

Ada enam kontrol yang disediakan MS Access: Record Navigation, Record Operation, Form Operation, Report Operation, Application, dan Misceleneous. Lanjutkan dengan meneken Next karena jika menekan FINISH maka Access akan memberi simbul tambah dalam bentuk gambar. Dengan menekan Next maka kita bisa mengisi indikator di tombol tersebut sesuai dengan keinginan, misalnya “Tambah Data”. Tambahkan dengan tombol pasangan dari Tambah Data yaitu Save. Juga pilih kontrol Record Operation. Jalankan untuk menguji penambahan data yang baru saja dibuat. Selamat Mencoba.

 

 

Membuat Kunci Komposit

[basis.data|akuntansi|lab.software|pert.4]

Kunci komposit adalah kunci yang merupakan gabungan dari beberapa field. Misalnya mahasiswa yang mengambil beberapa kelas mata kuliah dan kelas mata kuliah yang memiliki beberapa mahasiswa. Hal itu akibat dari hubungan/relasi Many-to-Many yang mengharuskan dibentuk satu tabel baru (Lihat Post sebelumnya). Untuk membuat kunci komposit pada Ms Access, gunakan SHIFT ketika menyorot field-field yang akan dijadikan primary key. Setelah itu tekan simbol key.

Problem Many-to-Many Pada Sistem Basis Data

[sist.basis.data|akuntansi|lab.software|pert.3]

Dalam relasi suatu basis data dikenal beragam kardinalitas, antara lain: one-to-one, one-to-many dan many-to-many. Kardinalitas (cardinality) merupakan derajat jumlah suatu hubungan entitas. Entitas sendiri merupakan suatu abstraksi independen dari hal-hal yang terlibat dalam suatu sistem, misalnya dosen, mahasiswa, karyawan, dan lain-lain. Misalnya antara dosen dengan kelas, hubungannya biasanya one-to-many yaitu satu dosen mengajar satu atau lebih kelas dan satu kelas diampu oleh satu dosen (walaupun bisa saja lebih dari satu dosen). Jika dimodelkan konsepnya (conceptual model) akan berbentuk seperti ini (digambar online dengan ini: https://cloud.smartdraw.com/):

Untuk hubungan one-to-many, semua sistem basis data bisa membuat model logikanya beserta implementasi fisiknya. Caranya adalah dengan menambahkan satu Foreign Key di tabel kelas, yaitu nip dosen yang merupakan primary key pada tabel dosen nantinya. Sebaliknya untuk hubungan many-to-many, sistem basis data yang ada saat ini tidak bisa langsung memodelkan model konsep, misalnya atribut kelas dengan mahasiswa yang mengambil kelas tersebut. Di sini many-to-many karena satu kelas lebih dari satu siswa dan satu siswa mengambil lebih dari satu kelas.

Beberapa teknik mengharuskan konversi dari ERD ke Logical Record Structure (LRS). Beberapa alat bantu perancangan basis data, seperti Datanamic Dezign ketika ada hubungan Many-to-Many akan menghasilkan satu tabel baru di tengah-tengahnya (defaultnya bernama mahasiswa-kelas, dalam contoh ini, misalnya kita beri nama tabel perkuliahan. Tabel baru tersebut mengambil kode kelas dan nomor pokok mahasiswa sebagai kunci tamu (Foreign Key).

Biasanya tabel baru tersebut berjenis tabel transaksi, misalnya mahasiswa yang mendaftarkan dalam KRS-nya kuliah apa yang akan diambil. Biasanya kunci utamanya (Primary Key) adalah gabungan npm dan kode_kelas, tapi bisa saja menggunakan kode baru, misalnya generated numbers. Nyambung dengan ERD di atasnya, dalam tabel kelas ada kunci tamu kode dosen (NIP). Jadi kelas yang diambil oleh seorang siswa dapat diketahui dosen yang mengajarnya. Jika ingin melihat list peserta kuliah suatu kode kelas, dapat menggunakan perintah select untuk kode kelas tertentu di tabel perkuliahan tersebut. Tinggal praktekan pembuatan tabel-tabelnya.

Praktek Kode Standar SQL dengan Ms Access – CREATE TABLE

Structure Query Language (SQL) merupakan bahasa standar dalam mengakses suatu basis data. Bahasa ini dikatakan standar karena dapat dipergunakan untuk beragam sistem manajemen basis data (DBMS) seperti Ms Access, MySQL, Oracle, dan lain-lain.

Membuat/Create Tabel Baru

SQL memiliki tiga jenis instruksi, antara lain: data definition language (DDL), data manipulation language (DML) dan data control language (DCL). Salah satu instruksi penting dalam DDL adalah pembuatan tabel baru. Biasanya dengan cara mengklik pembuatan tabel, sebuah tabel dengan mudah dibuat dengan wizard yang ada di Ms Access. Tetapi ternyata dapat dibuat juga dengan script SQL seperti DBMS lainnya. Buka Microsoft Access yang disertakan satu paket dengan Microsoft Office.

Buka menu Create dan pilih Query Design untuk mempersiapkan jendela kode SQL. Tekan Close ketika diminta memilih tabel mana yang akan dibuat.

Buka teori tentang tata cara membuat suatu tabel dengan kode SQL. Searching saja di Google tata caranya. Untuk mengisi kode tekan SQL yang terletak di kiri atas jendela Access.

Lanjutkan dengan menulis kode SQL. Di sini kita mengambil contoh membuat tabel “dosen” yang berisi field-field antara lain: nip, nama, dan mata kuliah:

CREATE TABLE dosen (nip int primary key, nama varchar(25), mkul varchar(20));

Field “nip” yang merupakan “primary key” bertipe integer sementara “nama” dan “mkul” bertipe tex atau dalam Access dikenal dengan nama “varchar”. Jika nama memiliki panjang 25, mata kuliah (mkul) memiliki panjang 20 karakter. Tekan tombol tanda seru untuk menjalankan kode SQL tersebut. Jika tidak ada kesalahan maka tabel dosen dengan tiga atribut tersebut terbentuk. Silahkan menggunakan perintah lainnya misalnya untuk DML dengan instruksi SELECT yang akan mengambil data suatu tabel di database kita. Selamat mencoba.