Category Archives: Dasar Basisdata (Database)

Pengetahuan Dasar Normalisasi Tabel Basis Data

Tulisan ini adalah bagian dari : Pengetahuan dasar Pengembangan Basis Data

Setelah Tabel tabel dibuat berdasar ER diagram maka tahap selanjutnya Tabel tabel tsb diperiksa validasinya  dan diperbaiki (normalisasi) struktur tabelnya.

Definisi Normalisasi 

Normalisasi adalah suatu teknik untuk memperbaiki struktur tabel dengan ketergantungan fungsional(KF) dan primary key . Perbaikan dengan memecah struktur tabel  ke dalam tabel-tabel  lebih kecil  secara bertahap untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Pemecahan tabel menjadi tabel tabel yg lebih kecil disebut dekomposisi.

Tujuan dari normalisasi

  • Untuk menghilangkan redudan( rangkap data) yg menyebabkan pemborosan memori. Data rangkap bisa dlm 1 tabel atau dalam banyak tabel.
  • Untuk mengurangi kompleksitas.
  • Untuk  menghindari anomali (ketidak konsistenan)  saat  update  data.

Proses Normalisasi

  1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis/diperiksa berdasarkan persyaratan tertentu ke beberapa tingkat (1NF, 2NF, 3NF  dst..).
  2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

Pemeriksaan Normalitas Tabel

Tabel yang dikategorikan normal hanya tabel yg berisi kolom kolom  yg berkaitan erat. Erat tidaknya antara kolom-kolom dalam satu tabel dinyatakan dalam ketergantungan fungsional (KF).

Misal dalam satu tabel kolom kolom B ditentukan nilainya oleh kolom kolom A, maka ini disebut B tergantung dengan A atau dengan kata lain A menentukan nilai B disimbolkan dengan A -> B.  contoh

—————————————
|noKtp  |  nama     | tempatLahir    |
—————————————-
|10001   | Abdullah |   Jakarta |
|10002   | Fatih        |   Yogya    |
|10003   | Abdullah |  Makasar |
|10004  | Dadan       | Bandung |
————————————

Beberapa KF yg ada di tabel diatas antara lain

noKtp –> nama
kolom  nama ditentukan oleh no_ktp

noKtp –> alamat
kolom alamat ditentukan oleh no_ktp

noKtp,nama –> tempatLahir
kolom tempatLahir ditentukan oleh kolom noKtp dan kolom nama

Kolom-kolom  sebelah kiri tanda panah disebut determinan (penentu) dan kolom-kolom disebelah kanan tanda panah disebut non-determinan.

Jenis jenis Ketergantungan fungsional (KF)

1. Ketergantungan penuh (KF penuh) ,   jumlah determinannya memiliki jumlah minimum yg diperlukan untuk menjaga KF terhadap kolom non-determinannya.

Yang dimaksud dengan jumlah  kolom minimal  adalah “untuk menjaga suatu KF” adalah jika  satu kolom saja dihapus dari kolom kolom determinan maka maka KF tidak berlaku lagi.

nim       nama         matakuliah     nilai

1002   Abdullah     matematika       C

1003   Putri             statistik                A

1004   Budi              kalkulus               D

nim,matakuliah –>  nilai

adalah KF penuh karena jika salah satu kolom dari determinan dihilangkan  KF tsb tdk lagi  menjadi KF penuh. Nilai bergantung (ditentukan) oleh nim dan mataKuliah.

2. Ketergantungan Sebagian (KF parsial), kolom  non determinannya bergantung kepada minimal  satu kolom determinan, KF parsial bisa ditemukan  jika suatu tabel mengandung composite key.

3. Ketergantungan Transitif (KF transitif),  misal A,B,C adalah himpunan kolom , jika A–>B  dan B–>C   maka  C bergantung secara transitif terhadap A  .   B–>C  adalah KF transitif. contoh pada tabel diatas :

noktp–>nama  dan nama–>tempatLahir  maka

noKtp–>tempatLahir adalah KF transitif.

Tabel yang baik atau  normal adalah tabel yg hanya memiliki Kf penuh ( tidak terdapat KF parsial dan KF transitif) .

Tingkatan /level  sebuah tabel

  • Bentuk Tidak Normal,  pada level  ini tabel mempuyai kolom yg berisi nilai ganda .
  • Bentuk Normal Pertama (1NF), pada level ini tabel sudah tdk ada lagi kolom yg berisi nilai ganda. Bisanya tabel hasil pemetaan dari ERD sudah dlm bentuk 1NF.
  • Bentuk Normal Kedua (2NF), pada level ini tabel tdk ada KF parsial
  • Bentuk Normal Ketiga (3NF), pada level ini tabel tdk ada KF transitif
  • Bentuk Normal Boyce-Codd (BCNF)
  • Bentuk Normal Keempat (4NF)

Untuk perancangan sebuah database minimal level 3NF sudah cukup memadai

contoh 1. Tabel daftar nilai mahasiswa .

contohkf

Tabel diatas sudah dlm bentuk 1NF karena setiap cell  (perpotongan baris dan kolom) hanya terdiri dari 1 data.

KF yang ada di tabel tsb bisa kita lihat dengan diagram KF sbb:

contohdiagramkf

tabel tersebut mengandung composite key idMahasiswa dan kodeMatakuliah yg menyebabkan adanya KF parsial.

Daftar KF  yg ada pada tabel tsb antara lain :

1.  idMahasiswa –>nama,jurusan

2.  kodeMatakuliah –> mataKuliah, idDosen, namaDosen

3.  idMahasiswa, kodeMatakuliah –>nilai

Normalisasi   bentuk 1NF  tabel diatas ke bentuk 2NF .

Tabel 2NF adalah tabel tanpa adanya  KF parsial. jadi tahapan merubahnya

  1.  Cari  kunci gabungan (composite key) jika ada  kemudian periksa KF parsial.
  2.  Untuk tiap KF parsial buat tabel baru  dgn kolom kolomnya terdiri dari kolom determinan dan non determinan dari KF parsial dan jadikan kolom determinan sebagai key.

contohdiagramkf0

Contoh 2  merubah bentuk norml  tabel 1NF ke bentuk normal 3NF, tabel berikut mempunyai composite key noFaktur dan kodeBarang.

contohdiagramkf2

KF parsial yg ada di tabel tsb antara lain

1. kodeBarang–>namaBarang,qtyBarang,harga,unit

2. noFaktur–>tgl, idPelanggan, pelanggan, idPegawai, Pegawai

Tabel 1NF  di dekomposisi menjadi 5 buah tabel 3NF  yaitu tabel tabel dgn KF penuh.

Contoh 3

contohdiagramkf1

Membuat Tabel dari Diagram Relasi Entitas (ERD diagram)

Tulisan ini adalah bagian dari : Pengetahuan dasar Pengembangan Basis Data

Setelah kita selesai membuat diagram relasi antar entitas (ERD)  selanjutnya kita akan membuat tabel tabel yg saling berhubungan berdasarkan ERD tsb.

Untuk Membuat tabel dari ERD ada beberapa aturan (rule) yg sudah ditetapkan antara lain

  • Untuk setiap Entitas buatlah sebuah tabel , nama entitas menjadi nama tabel dan rubah setiap atributnya menjadi kolom. Atribut komposit  rubahlah atribut penyusunnya menjadi kolom. Atribut key jadi kolom primary key. contoh :
  • Untuk relasi  satu ke banyak tambahkan kolom primary key ke tabel pada sisi banyak(child). Jika relasi ada atributnya tambahkan Atribut tsb menjadi kolom di tabel child. contoh:
  •  Untuk relasi entitas  satu ke satu  (kedua  entitas  nilai minimal multiplicity =1 ) gabungkan ke dua entitas menjadi satu tabel  dan salah satu atribut keynya menjadi nprimary key. contoh :
  • Untuk relasi entitas  satu ke satu  (salah satu atau kedua entitas bernilai  minimal multiplicity nya   =0) . Buatlah masing masing entitas menjadi tabel , primary key entitas yg menpunyai multiplicity 0 di copy ke tabel lainya. contoh:
  • Untuk relasi entitas banyak ke banyak , rubahlah/buatlah masing masing entitas menjadi tabel  dan atributnya menjadi kolom. kemudian tambahkan 1 tabel  dgn kolomnya adalah gabungan primary key ke dua kolom sebelumnya ditambah kolomdari atribut dari relationships . contoh:

to be continue

Pengetahuan Dasar ER-Diagram (Diagram Relasi Entitas)

Artikel ini adalah bagian dari

 http://pccontrol.wordpress.com/2014/01/26/pengetahuan-dasar-pengembangan-basis-data-database-development/

Skema pemodelan data adalah metode(cara cara) yang memungkinkan kita untuk memodelkan atau menggambarkan Database. Perangkat permodelan ini sering dalam bentuk diagram grafis misalnya diagram ER atau ER diagram (ERD) .Diagram ER (ERD) adalah tool grafis yang memfasilitasi pemodelan data.

ERD adalah bagian dari “model semantik ” dalam database. model Semantik mengacu pada model yang bertujuan untuk memperoleh inti dari data. ERD bukan satu-satunya alat pemodelan semantik, tetapi ERD  yang sudah umum dan populer .  Alat bantu diagram database yg juga sudah banyak dipakai yaitu Diagram relasi database yg dipakai oleh database microsoft Access pada akhir artikel akan kita lihat perbedaanya dgn ER-diagram .

Istilah istilah yg akan dipakai dlm membuat ERD

* Entitas : objek objek yg memiliki karakteristik yg sama.

Entitas dikategorikan ada 2 jenis :

  • Entitas kuat, yitu entitas yg keberadaanya tdk tergantung entitas lain
  • Entitas lemah, yaitu entitas yg bergantung oleh keberadaan entitas lain.

* Atribut : karakteristik dari entitas .  misal atribut mahasiswa antara lain  nim,nama,umur,alamat dll.

Atribut dapat digolongkan menjadi

  • Atribut sederhana atau  atribut tunggal , memiliki komponen tunggal .
  • Atribut campuran, atribut yg disusun dari beberapa atribut. misal  atribut alamat terdiri dari no rumah, kode pos, kota dll.
  • Atribut bernilai tunggal, atribut yg mempuyai 1 nilai saja. misal nama,nim,umur dll.
  • Atribut bernilai jamak, atribut yg mempuyai lebih dari 1 nilai. misal no hp, nama anak dll.
  • Atribut Turunan, atribut yg nilainya berdasar atribut lain.
  • Atribut kunci, atribut bernilai unik  untuk membedakan antara 1 objek  dgn objek  lain misal nim, no ktp dll.

Jika satu entitas tdk punya atribut kunci maka atribut kunci bisa dibentuk dari dua atribut yg bukan kunci . atribut kunci yg seperti ini disebut atribut kunci  komposit. Contoh atribut kunci komposit  terdiri dari atribut nama dan tglLahir, kemungkinannya kecil orang yg bernama sama mempunyai tgl lahir yg sama. jadi dua  atribut ini kemungkinan selalu berbeda pada  tiap objek entitas.

* Multiplicity:  jumlah suatu objek yg mungkin diasosiasikan dgn objek entitas yg lain. yang menentukan multiplicity bukan desainer database tapi penentu kebijakan organisasi  atau user. multiplicity terdiri dari 2 jenis:

1. Batasan kardinalitas /nilai maksimal multiplicity   yaitu  one (satu) atau many (banyak)

2. Batasan partisipasi / nilai minimal multiplicity ()  yaitu mandatory (satu)  atau optional (nol)

*Relationships: hubungan diantara entitas.

Penulisan ERD  bisa dilakukan dgn beberapa notasi diantaranya notasi UML, Crows’s foot dan notasi Chen , pada artikel ini saya menggunakan notasi Crows’s foot karena tools yg  digunakan yaitu ER assistant menggunakan notasi tsb. Contoh ERD dgn notasi Crow’s Foot spt gambar dibawah ini:

erddiagram

gambar 1

multiplicity

gambar 2

Tahap tahap membuat ERD

1. Tentukan entitas utama

Cari kata benda yg menjadi perhatian utama pemakai dlm dokumen spesifikasi kebutuhan pemakai (dokumen ini adalah hasil dari  tahapan analisa kebutuhan database ).

Buatlah daftar entitas yg ditemukan.

2. Tentukan hubungan/relationships entitas.

- Carilah kata kerja yg menjadi perhatian utama dari pemakai dlm dokumen spesifikasi kebutuhan pemakai.

-Untuk setiap entitas periksa apakah ada hubungan yg menjadi perhatian pemakai.

Buatlah daftar relationships antar entitas yg telah ditemukan.

3. Tentukan multiplicity ( yg menentukan nilai ini adalah user bukan database desiner, didapat lewat interview)

4. Tuliskan masing masing atribut

5. Menggambar ERD  (dlm artikel  ini menggunakan ER assistant)
Contoh aplikasi gratis untuk  membuat ERD adalah ER asisstant

istilaherdgambar 3

Contoh sederhana  ER diagram universitas :

erdgambar 4

Contoh pembuatan ERD dgn bantuan ER asisstant

Kita akan membuat  diagram entitas sebuah universitas.

langkah pertama  klik menu insert->entities ,

tentukan entitas utama yg ada di universitas  antara lain  dosen,mahasiswa, matakuliah,

erdstep1gambar 5

Langkah kedua membuat atribut dgn cara klik menu insert->atributes

Form untuk membuat Atribut dari entitas yg sudah dibuat

formatributgambar 6

Langkah ketiga membuat relasi antara entitas, klik menu insert-relationships

relasi yg akan anda buat  spt ini :

contohrelasi

gambar 7

relasi

gambar 8

Pada menu pembuatan relationships anda juga harus menentukan

 -Nilai maksimal multiplicity (batasan kardinalitas)  yaitu  one (satu) atau many (banyak)  dan

- Nilai minimal multiplicity (batasan partisipasi)  yaitu mandatory (satu)  atau optional (nol)

erddiagramrelasi

gambar 9

Cara baca gambar diatas bisa dari arah kiri maupun dari arah kanan spt sudah dijelaskan pada gambar 2.

Klasifikasi kardinalitas

1.  One to many  1-M maksimum kardinalitas =1 pada satu sisi dan maksimum kardinalitas > 1 disisi yg lain.

2.  Many to many M-N ,maksimum kardinalitas > 1 dikedua sisi.

3. One to one  1-1   , maksimum kardinalitas =1 dikedua sisi.

Perbedaan ERD dgn diagram relasi pada MS Access

1. Diagram relasi ms access tdk menggunakan nama untuk relationship tapi menggunakan nama primary key sebagai penamaan relatuonshipnya.

2. Diagram relasi ms access hanya menampilkan nilai maksimum kardinalitasnya (satu-kebanyak,banyak kebanyak, dsb).

3. ERD mengijinkan entitas dan relationship mempunyai atribut, Diagram relasi ms access hanya mengijinkan antitas memiliki kolom2.

Pengetahuan Dasar Pengembangan Basis Data (Database Development)

untuk pemula sebaiknya baca dulu artikel https://pccontrol.wordpress.com/2011/06/14/mengenal-dasar-database/  https://pccontrol.wordpress.com/2011/08/18/dasar-merancang-tabel-relasi-antar-tabel-dan-data-integrity-dgn-mysql-c/

Dasar Pengembangan Basis Data

Tahapan Pengembangan Basis Data

1. Analisa Kebutuhan Basis data.

2. Perancangan Basis data.

3. Pembuatan Basis data.

********************************************

1. Analisa kebutuhan basis data

Untuk menganalisa  kebutuhan basis data dapat dilakukan dengan cara

*  Mengetahui bagian mana saja  dari organisasi yang membutuhkan basis data ,  untuk  hal ini kita bisa melihat dari struktur organisasi.

* Mengetahui Siapa saja pemakai basis data dari tiap bagian dari organisasi tsb , untuk hal ini kita bisa dapatkan dgn cara interview.

* Mengetahui Fakta-fakta aktualdilapangan terkait dgn :

-  sebenarnya apa sih tujuan dibangunnya basis data di organisasi tsb. Untuk apa (keuntungan)  dibangunya basis data  ?

- Kebutuhan pemakai terhadap basis data. Data apa saja yg perlu disimpan?

- Kebutuhan transaksi . Data akan diapakan ?   record, edit,  cari, lihat ?

- Kebutuhan sistem basis data .  spesifikasi  sistim basis data spt apa yg dibutuhkan sistem yg akan dibangun?

untuk hal  tsb diatas kita bisa dapatkan dgn cara interview , observasi dilapangan dan  pemeriksaan dokumen dokumen yg digunakan dilapangan dll

2. Perancangan Basis Data

-Membuat Hubungan antara Entitas  dgn ER-diagram (ERD)  , caranya baca disini

- Membuat tabel tabel berdasarkan ER diagram (pemetaan ERD ke tabel).

-Normalisasi  (perbaikan) Tabel tabel .

perbaikan tabel disini bertujuan menghilangkan  data redudan  (data yg sama ) dan anomali  data ( data yg membingungkan pada saat update data).

3. Tahap Implementasi

-Pembuatan basis data dan tabel tabelnya menggunakan aplikasi client atau tool dari RDBMS (mysql,oracle,posgresql ,MsAccess dll).   Satu contoh client mysql adalah phpmyadmin. Antara lain membuat database dan tabel  di dlm DBMS dgn SQL   “CREATE  “

contoh membuat database dan tabel di DBMS   MySql

Nama database yg akan kita buat : perpustakaan

[root@host]# mysqladmin -u root -p create perpustakaan
Enter password:******

Nama tabel yg akan kita buat di dlm  database perpustakaan :  databuku_tbl

root@host# mysql -u root -p
Enter password:*******
mysql> use perpustakaan;
Database changed
mysql> CREATE TABLE databuku_tbl(
   -> buku_id INT NOT NULL AUTO_INCREMENT,
   -> buku_title VARCHAR(100) NOT NULL,
   -> buku_author VARCHAR(40) NOT NULL,
   -> PRIMARY KEY ( buku_id )
   -> );

to be continue

sumber:

Beginning Database Design  , Copyright © 2007 by Clare Churcher

http://www.esp.org/db-fund.pdf

Tujuh langkah praktis pembangunan basis data , Dr Said .MP

Dasar Merancang Tabel , Relasi antar Tabel dan Data Integrity dgn MYSQL – C#

Buat anda yang sedang atau pernah  kuliah di informatika mungkin artikel ini tdk terlalu berguna. Artikel ini saya tujukan buat anda yang belum pernah mempelajari dasar membuat  tabel di dalam sebuah database.

Merancang Tabel

Penjelasan tujuan perancangan tabel di dalam database diantaranya bisa dilihat pada contoh berikut:

Misalnya pada sebuah manufacture yang memproduksi  Televisi , mempunya tabel output produksi sbb:

no LINE TGL WAKTU MODEL SIZE Tujuan
 1 A  4/27/2010  09:03:22 AAA 14 Australia
2 A 4/27/2010  09:04:21 AAA 14 Australia
3 B 4/27/2010  09:05:13 ABC 21 Pilipina
4 B 4/28/2010  09:05:34 ABC 21 Pilipina
5 B 4/28/2010  09:06:22 ABC 21 Pilipina

TABEL 1

Tabel diatas sepertinya tampak biasa saja bagi anda yang belum pernah mempelajari dasar dasar merancang tabel / database. Tapi sebenarnya tabel diatas bukanlah tabel yang baik.  Kekurangan dari tabel diatas antara lain:

- Jika pada hari itu tdk ada produksi di line B , maka kita akan kehilangan informasi ttg model ABC.   ini disebut anomali.

- Jika saya ingin mengganti  data kolom  Tujuan  untuk  model ABC  dari Pilipina ke Banglades maka semua tujuan pd tiap  baris harus diganti satu persatu. begitu juga  jika size ingin dirubah maka semua data size  tiap baris harus dirubah. hal ini tentu bukan cara  yg efisien.

- Adanya  data yang sama di input berulang,   data size dan tujuan  untuk model yg sama akan diinput kembali  pada tiap baris  hal ini disebut redudant .  ini memboroskan  lokasi memori tempat menyimpan data.

Tabel yang baik tdk mengandung anomali ataupun redudant.

Untuk  memperbaiki tabel diatas,   hilangkan anomali dan redudant. Salah satu caranya adalah dengan membuat tabel di atas menjadi 2 tabel sbb:

Tabel MasterModel :

idmodel MODEL SIZE Tujuan
 01A AAA 14 Australia
01B AAA 14 Belgia
02A ABC 21 Jepang
02B ABC 21 Rusia
02C ABC 21 Pilipina

TABEL 2

Tabel OutputProduksi :

idmodel TGL WAKTU LINE
 01A   4/27/2010  09:03:22 A
01B  4/27/2010   09:04:21 A
02C  4/27/2010 09:05:13  B
02C  4/28/2010   09:05:34 B
02C  4/28/2010 09:06:22 B
02C  4/29/2010 09:06:22 A
02C  4/29/2010 09:06:22 A
02B  4/29/2010 09:06:22 B
02B  4/30/2010 09:06:22 B
01A  4/30/2010 09:06:22 A
02C  4/30/2010 09:06:22 A

TABEL 3

Setelah tabel 1 dipecah menjadi  dua tabel yaitu tabel 2 dan tabel 3 maka :

- Jika kita ingin merubah data pada model , size  atau  data pd kolom tujuan kita cukup sekali saja merubahnya yaitu pada tabel 2.

-  Jika tdk ada produksi pada tgl berapapun data informasi model tdk  akan hilang  dan tetap ada di tabel 2.

- Data output produksi menjadi lebih hemat memori karena kolom  model size dan tujuan tdk diikutkan dalam tabel output produksi.

Yang  jadi pertanyaan  sekarang adalah dari mana aplikasi tahu kalau tabel 3 mempunyai hubungan /relasi dengan tabel 2?

Pada contoh di atas idmodel pada tabel 3 mengacu pada idmodel pada tabel2.

kesimpulan yg bisa diambil dari  hubungan/relasi   antara tabel 2 dan tabel3 :

  • pertama : data dalam kolom  idmodel pada tabel2 tdk boleh kosong ( ketika kolom lain ada isinya) atau istilahnya NOT NULL.  contoh  pada baris kedua data pada tabel dibawah ini.
idmodel MODEL SIZE Tujuan
 01A AAA 14 Australia
AAA 14 Belgia
02A ABC 21 Jepang


  • kedua :  data dalam kolom idmodel tabel2  tidak boleh ada yg sama. contoh pada tabel dibawah ini data kolom idmodel ada yg sama hal ini tdk di izinkan.
idmodel MODEL SIZE Tujuan
 01A AAA 14 Australia
 01A AAA 14 Belgia
 02A ABC 21 Jepang
  • kolom idmodel pada tabel 3 mengacu pada idmodel tabel 2 dan isinya boleh kosong  atau NULL.

Dalam istilah database,  kolom  idmodel pada  tabel 2 disebut  Primary Key  yaitu  kolom yang unik sebagai indentitas record dlm sebuah tabel  dan idmodel pada tabel 3 disebut Foreign Key.

Untuk membuat  Tabel2  dengan Primary key dan tabel 3 dgn  Foreign Key  perintah nya  SQL untuk database mysql seperti dibawah ini:

CREATE TABLE MasterModel(
idmodel  INT  NOT NULL PRIMARY KEY,
MODEL    VARCHAR(50),
SIZE     VARCHAR(50),
Tujuan   VARCHAR(50),
);

Sedangkan untuk membuat tabel 3 dengan idmodel sebagai Foreign key
CREATE TABLE OutputProduksi(
idmodel FOREIGN KEY REFERENCES MasterModel(idmodel))
TGL    DATE,
WAKTU  TIME,
LINE   VARCHAR(10)
);
Baris perintah diatas memberitahu DBMS bahwa terjadi hubungan antara tabel sbb:

Relasi antara tabel

Data Integrity (integritas data) 

Data integrity  artinya data di database  benar dan konsisten. Ada dua aspek yang membentuk data integrity yaitu:

  • Entity Integrity  (EI) :  Bahwa nilai data pada primary key harus ada dan nilainya tdk boleh ada yang sama. DBMS (database managamen system spt SQL Server, MYSQl dll)  memberlakukan  EI  dgn tdk mengijinkan operasi INSERT atau UPDATE dan  menghasilkan pesan kesalahan jika ada Nilai kosong atau sama. Untuk membuat EI anda harus mendefinisikan kolom yg dijadikan Primary Key.
  • Referensial Integrity  adalah konsep database yang memastikan bahwa hubungan antara tabel tetap konsisten.  Misalnya Pada contoh hubungan tabel MasterModel dan OutputProduksi. Kita tidak bisa menghapus data model di tabel MasterModel, karena data tsb terkait ke tabel OutputProduksi.

to be continyu

referensi:

http://functionx.com/mysqlnet/csharp/Lesson12.htm

Contoh Koneksi C# dengan MS Access 2003 (*.mdb) dan 2007 (*.accdb)

Artikel ini adalah lanjutan/contoh program dari artikel Pengetahuan Dasar  ADO.NET   C#  untuk Pemrograman Database


using System;
using System.Data;
using System.Data.OleDb;
using System.Collections.Generic;
using System.Text; 

/*
untuk Ms aceess2007 ganti connStr dengan:
@"Provider=Microsoft.ACE.OLEDB.12.0;  Data Source=D:\dataaccess2007.accdb;Persist Security Info=False;"
*/  

private void cmdConnect_Click(object sender, EventArgs e)
        {
string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dataaccess2003.mdb;Persist Security Info=False;";
        if (connMsAccess != null)
            connMsAccess.Close();

            string connStrMsaccess = String.Format(connStr);

            try
            {
                connMsAccess = new OleDbConnection(connStrMsAccess);
                connMsAccess.Open();

                txtRemark.Text = "ONLINE";
                 tmrUpdate_datanya.Enabled = true;

            }
            catch
            {
                this.txtRemark.Text = "koneksi gagal";

            }
        }

private void tmrupdate_datanya_Tick(object sender, EventArgs e)
        {
            OleDbCommand cmdMsaccess = new OleDbCommand();
            cmdMsaccess.Connection = connMsAccess;
            cmdMsaccess.CommandText = "select * from tabel_output_akhir where id = 1";

            OleDbDataReader ReaderMsAccess = null;
            try
            {

                ReaderMsAccess = cmdMsaccess.ExecuteReader();

                while (ReaderMsAccess.Read())
                txtPlanF.Text = reader["plan"].ToString();
                txtTargetF.Text = reader["target"].ToString();
                txtActualF.Text = reader["actual"].ToString();

                ReaderMsAccess.Close();
                txtRemarkG.Text = "Network ok";
            }

            catch
            {
                txtRemarkG.Text = "terputus";
            }
        }

Koneksi Visual basic 6 (VB6) dengan Access 2007

Cara koneksi VB6 dengan ms access 2007 sama dengan ms access versi sebelumnya , perpedaanya pada connectionstringnya saja:

ini contoh menyimpan data melalui VB6  ke access 2007  :

Private Sub Command1_Click()
Dim Koneksi2007 As New ADODB.Connection
Dim RecordSetTabel As New ADODB.Recordset

'konection string untuk ms acces 2007

Koneksi2007.Open "Provider=Microsoft.ACE.OLEDB.12.0;  Data
Source=D:\dataaccess2007.accdb;Persist Security Info=False;"

RecordSetTabel.Open "TabelBarcode",Koneksi2007, adOpenStatic, adLockOptimistic

If  RecordSetTabel.Supports(adAddNew) Then
With  RecordSetTabel
.AddNew
.Fields("Barcode") = Me.txtBarcode.Text
.Fields("Date") = Me.txtDate.Text
.Fields("Time") = Me.txtTime.Text
.Fields("Mesin_No") = Me.txtStcNum.Text
.Fields("Status") = Me.txtStatus.Text         '  OK or NG
.Update
End With

Label1.Caption =  " data has been added to database successfully"
End If

RecordSetTabel.Close
Set  RecordSetTabel = Nothing
Koneksi2007 .Close
Set Koneksi2007 = Nothing
End Sub

Pengetahuan Dasar Database Buat Pemula

Apa itu database?

Database adalah kumpulan data yang terstruktur. Database digunakan untuk memenuhi kebutuhan informasi.

Contoh kegunaan  database

Database sangat penting jika anda membuat program aplikasi basis data di PC yang berhubungan dengan pengambilan data . Misalnya untuk penyimpanan data yang diambil dari microcontroller pada aplikasi pengukuran temperatur yang diambil tiap interval tertentu.

Hirarki / struktur database
Database isinya kumpulan tabel yg saling terhubung(dihubungkan  oleh kolom yg sama) .

Tiap tabel berisi baris baris data atau disebut jug record.

Tiap baris data terdiri dari kolom kolom . Kolom biasanya juga disebut field atau atribut .

jadi hirarkinya spt ini:

Database->Tabel->baris (record)->kolom(field).

Tabelnya mirip excel ada baris dan kolom , perbedaannya antara lain pada excel kita langsung berinterkasi dgn tabel sedangkan pada database kita mengakases tabel tabelnya melalui DBMS.

Pengelolaan Database

Software yg kusus membuat  dan mengelola Database disebut RDBMS (Relational database management system).

Kelebihan RDBMS antara lain:

  • Bisa meminta data(record) sesuai kriteria yang kita tentukan secara cepat.
  • Mengapdate dan memodikasi banyak record secara cepat pada saat yg sama.
  • mengambil data dari table yang berlainan secara bersamaan.
  • dan lain lain.

Dengan kelebihan-kelebihan tsb makanya MsExcel tidak termasuk RDBMS.

Contoh DBMS :

Database yang ada sekarang ini dikelompokan menjadi 2:

1. Database untuk Desktop cirinya:

  • Ukuran relatif kecil
  • User yang mengakses terbatas
  • Harga relatif murah
  • User friendly

Contoh : MSAccess, Foxpro , Lotus dsb
Contoh penggunaan : Administrasi sekolah , toko kecil ,

2. Database Server   cirinya:

  • Ukuran / kapasitas data Besar
  • User yang mengakses banyak
  • Harga relatif mahal

Contoh : Microsoft SQL Server, Oracle, DB2 dan yang free PosgreSQL ,Mysql.
Contoh pengggunaan : Database nasabah bank , database pelanggan operator telekomunikasi, data E-KTP penduduk seindonesia.

Kunci Relasi (Relation Keys)

Tiap record harus berbeda dari record yg lain. Contoh  sebuah tabel yg tdk diizinkan dlm sebuah  database  :

tabel1

tabel 1

bisa terjadi ada  data yg sama meskipun sebenarnya berbeda ,misalnya 2 orang mempunyai nama yg sama pendidikan yg sama dan sama sama tinggal dijakarta kan?.

supaya record berbeda (mempunyai indentitas yg berbeda tiap record) maka kita tambahkan  kolom no ktp

tabel2

tabel 2

kolom no_ktp sebagai pembeda antar record disebut kunci relasi (relation key). kunci relasi itu ada beberapa jenis antara lain super key,candidat key, primary key, foreign key  dan alternate key .

1. Super key  adalah kolom  atau kombinasi kolom yg nilainya unik(tdk sama)   membedakan  tiap baris data.  contoh  himpunan superkey dari tabel 2 {  (no_ktp), (no_ktp dan nama),  (no_ktp dan pendidikan), no_ktp dan alamat) }

2. candidate key  adalah  himpunan super key yg anggotanya tdk bisa lagi (dipecah)  menjadi super key.

contoh :  -(no_ktp dan nama) adalah bukan candidate key karena no_ktp bisa jadi super key.

                   – (no_ktp)  adalah candidate key karena tdk bisa lagi dipecah untuk membuat super key.

3. Primary Key adalah  satu candidate key yg dipilih/ditetapkan untuk membedakan data tiap baris dari tabel.  Contoh :  pada tabel 2 karena cuman ada 1 candidate key otomatis candidate key tsb menjadi primary key, yaitu kolom no_ktp

4. Foreign Key adalah satu kolom atau beberapa kolom yg nilainya sama dgn candidate key kolom yg lain.

5. Alternatif Key adalah candidate key  selain  primary key  ( candidate key yg tdk ditetapkan menjadi prymary key).

Tabel tabel didalam database saling berhubungan (relasional)melalui data kolom yang sama  hal ini disebut dgn database relasional.

Bahasa  standar untuk mengakses basis data  melalui RDBMS yaitu SQL (Structured Query Language). 

DATABASESISTIM

Beberapa standar SQL antara lain:

CREATE ,SELECT,UPDATE,DELETE dll

contoh penggunaan CREATE :

CREATE TABLE  databuku
(
judul varchar(255),
pengarang varchar(255),
penerbit varchar(255),
ISBN varchar(255)
);

Database yang saya pilih untuk contoh   menggunakan DBMS  Mysql . Untuk ini anda bisa menginstall Xampp caranya bisa dibaca di tulisan saya  :  Cara menginstall Xampp   .

Xampp adalah aplikasi untuk mengintasll Mysql, apache  dan phpmyadmin  sekaligus. Jadi Xampp sangat bagus untuk pemula yang ingin mempelajari database , pemrograman web  server (php,javascript)  .

Memulai membuat database di Mysql.

urutanya adalah membuat database ->membuat tabel->membuat kolom-kolom.

Sebelumnya anda harus sudah berhasil  menginstall Xampp.

1.  Buka phpmyadmin melalui pada IE , mozilla firefox atau google crom anda dgn cara ketik http://localhost/

lalu pilih menu phpmyadmin  maka akan muncul menu:

phpmyadmin (untuk mengelola database mysql)

2. Berikan nama database misal dataku , lalu klik ciptakan maka akan muncul menu:

menu membuat tabel baru

berilah nama tabel misal tabelku dengan jumlah kolom 3 buah , lalu klik go

membuat nama kolom / field

dkemudian akan muncul hasilnya sbb:

kolom /field yang sudah dibuat

Sekarang coba kita isikan data dengan mengklik tab sisipkan spt yang ditunjukan panah merah pada gambar diatas.   maka akan muncul menu sbb:

mengisi data

isikanlah data pada kolom yang tersedia kemudian klik Go

Jika pengisian data berhasil maka akan muncul pesan :     1 row(s) inserted.

Untuk melihat isi data  klik tab Browse.

sumber

http://www.esp.org/db-fund.pdf

Tutorial Pemrograman C# dengan Database Mysql

Artikel ini adalah  terkait  dgn  pembahasan  dasar  pemrograman C# dgn Database

Koneksi C# dengan Mysql

Untuk membuat  pemrograman C#  dan  database Mysql  yang kita butuhkan :

1. Database Mysql yang  sudah terinstal , kalau belum anda bisa mendownload di:

http://www.mysql.com/downloads/mysql/

pilih versi yang terakhir.

2. Data provider ( Driver)  untuk menghubungkan C# dengan database Mysql  bisa didownload di:

http://www.mysql.com/downloads/connector/net/

jika  database  Mysql dan driver koneksi Mysql  ke C#  di atas sudah terinstall barulah kita bisa membuat aplikasi C# yang mengelola database Mysql.

Membuat aplikasi sederhana C# dgn Mysql

1. Buka project baru

2. Tambahkan reference dengan cara  klik menu Project->Add reference…

akan muncul menu Add Reference, lalu cari  arahkan ke file mysql.data.dll  kelokasi folder dimana Mysql connector diinstall , yaitu di C:\Program Files\MySQL\MySQL Connector Net 6.3.5\Assemblies

menambahkan referensi mysql di  aplikasi C#

Menambahkan referensi mysql di aplikasi C#

3. Jika sudah berhasil menambahkan referensi Mysql di aplikasi kita maka akan tampak indikator spt gambar dibawah ini :

indikator telah terinstall Mysql connector

Indikator telah terinstal  Mysql connector

Contoh potongan  program di C#  untuk mengkoneksi data di MySql:

using System;using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using MySql.Data.MySqlClient;

namespace production_monitoring
 {

public class Form1 : Form	{
	private MySqlConnection conn;
        private Timer timer1;
        private TextBox textBox1; 
        private TextBox textBox2;  
       private TextBox textBox3;

 private void timer1_Tick(object sender, EventArgs e)
        {

            if (conn != null)
                conn.Close();

            string connStr = String.Format("server={0};user id={1}; password={2}; database=test; pooling=false",
                server.Text, userid.Text, password.Text);
            MySqlDataReader reader = null;

            try
            {
                conn = new MySqlConnection(connStr);
                conn.Open();
                MySqlCommand cmd = new MySqlCommand();
                cmd.Connection = conn;

                cmd.CommandText = "select * from linea where id = 1";

                reader = cmd.ExecuteReader()  ;
                while (reader.Read())
                textBox1.Text = reader["plan"].ToString() ;
                textBox2.Text = reader["target"].ToString();
                textBox3.Text = reader["actual"].ToString();
                int bal = int.Parse(textBox3.Text) - int.Parse(textBox2.Text);
                textBox4.Text = System.Convert.ToString(bal); 

            }
            catch (MySqlException ex)
            {
                MessageBox.Show("Error connecting to the server: " + ex.Message);
                timer1.Enabled = false;
            }

            timer1.Enabled = false;
        }
============================================================
      }
   }
output monitoring production display

output monitoring production display

Follow

Get every new post delivered to your Inbox.

Join 63 other followers