Selasa, 05 Januari 2016

Mengulas tentang Mesran.blogspot.com

mesran.blogspot.com yaitu sebuah blog milik seorang dosen di PTS di Medan STMIK BUDIDARMA  yang biasa di panggil "Pak Mesran". mesran.blogspot.com ini berisi tentang ilmu dan informasi yang sangat bermanfaat dan dapat membantu seseorang untuk memahami dan mengerti tentang bahasa pemrograman. Pada mesran.blogspot.com terdiri beberapa artikel diantaranya artikel mengenai tips belajar bahasa pemrograman web serta beberapa bahasa pemrograman salah satunya Visual Basic dot Net serta program berorientasi Database sebagai contoh : Program Visual Basic Net Untuk Menampilkan Gambar/Image Dari Database MySQL. Selain itu di mesran.blogspot.com ini kita dapat mendownload silabus perkuliahan. Jadi apa salahnya kita buka mesran.blogspot.com dijamin kita pasti RUGI jika TIDAK berkunjung di mesran.blogspot.com

Kamis, 03 Desember 2015

Perintah DDL, DML dan DCL pada Mysql

Hay teman-teman..
ketemu kembali di blog SUHA LINK INFORMATION
Kali ini saya akan shere masih mengenai database mysql yaitu apa itu DDL DML dan DCL. SQL merupakan singkatan dari Structured Query Language. 
SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database.

Secara umum, SQL terdiri dari tiga bahasa, yaitu Data Definition Language(DDL), Data Manipulation Language (DML) dan Data Control Language (DCL). Implementasi DDL, DML dan DCL berbeda untuk tiap sistem manajemen basis data(SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.


Perintah DDL, DML dan DCL pada Mysql

Jadi, perintah SQL pada semua software database hampir sama. Untuk lebih lengkapnya teman bisah ke artikel saya sebelumnya Pengertian database dan Tipe data pada databases di Mysql.

Ok teman-teman silahkan simak tiga (3) Perintah pada Mysql.



1.  DDL (Data Definition Language)

DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.

Beberapa perintah dasar yang termasuk DDL ini antara lain : 

a. CREATE
Perintah ini digunakan untuk membuat, termasuk diantaranya membuat database baru, tabel baru, view   baru, dan kolom.

b. ALTER
Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.

c. RENAME
Perintah yang digunakan untuk merubah nama Objek

d. DROP
Perintah ini digunakan untuk menghapus database dan tabel.



2.  DML (Data Manipulation Language)

DML merupakan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.

Perintah SQL yang termasuk dalam DML antara lain :

a. UPDATE
Perintah ini digunakan untuk memperbaharui data lama menjadi data terkini. Jika anda memiliki data yang salah atau kurang Up To Date dengan kondisi sekarang, maka dapat diubah isi datanya dengan menggunakan perintah UPDATE.

b. INSERT
perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.

c. SELECT
Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.

d. DELETE
Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus adalah data yang tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi.



3.  DCL (Data Control Language)

DCL merupakan perintah SQL yang berhubungan dengan manipulasi user dan hak akses (priviledges).

Perintah SQL yang termasuk dalam DCL antara lain :

a. GRANT
Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.

b. REVOKE
perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak aksesyang telah diberikan kepada user oleh administrator.

Semogah artikel tentang Perintah DDL, DML, dan DCL pada Mysql dapat membantu teman-teman dalam pembuata database di Mysql.
Salam Sukses..

SISTEM BASIS DATA ==> Normalisasi Data


1. Pengertian Normalisasi 

  •Sebuah upaya untuk memperoleh sebuah basis data dengan struktur yang baik (ruang penyimpanan
    yang  efisien) dengan cara menerapkan sejumlah aturan (bentuk normal) pada setiap tabel yang menjadi anggota basis data tersebut. 

   Tujuan Normalisasi 
  •Agar data yang ada tidak redundan dan memiliki data integrity yang kuat sehingga ketika kita melakukan relasi antara tabel akan dengan mudah kita menjaga data integrity dan mendapatkan datanya. 

2. Langkah normalisasi
   1. Bentuk Normal ke Satu(1NF)
a. Syarat :
b. Tidak ada set atribut yang berulang atau bernilai ganda.
c. Telah ditentukannya primary key untuk tabel atau relasi.
d. Tiap atribut hanya memiliki satu pengertian.
e. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

   2. Bentuk Normal ke Dua(2NF)
a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
c. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key.

   3. Bentuk Normal ke Tiga(3NF)
a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
c. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja

3. Penerapan Bentuk Normalisasi

    Pada proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam sistem sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Berikut ini adalah contoh dokumen mengenai faktur pembelian barang pada PT. Revanda Jaya.
    Sehubungan dengan dokumen dasar tersebut, tahapan yang harus dilakukan untuk melakukan normalisasi data adalah sebagai berikut:


   1. Bentuk Unnormalisasi
      Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data tersebut didtas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada apa adanya seperti terlihat berikut ini :
                                  Gambar 7.2. Relasi faktur unnormalisasi

      Pada relasi diatas adalah dengan menuliskan semua data yang ada yang akan direkam, data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. Sulit dibayangkan bagaimana bentuk baris yang harus dibentuk untuk merekam data itu.

   2. Bentuk Normal Pertama (1 NF)
      Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk relasi adalah flat file. Dengan normal pertama kita dapat membuat satu tabel yang terdiri dari 11 Atribut yaitu: (No_Faktur, Kode_Supplier, Nama_Supplier, Kode_Barang, Nama_Barang, Tanggal, Jatuh_Tempo, Qty, Harga, Jumlah, Total ).
      Sehingga hasil daripada pembentukan normal pertama (1 NF) adalah sebagai berikut ini :
 
                                     Gambar 7.3. Relasi memenuhi 1 NF

    Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI insert, update dan delete berikut ini:
    a). Inserting / Penyisipan
        Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian.
    b). Deleting / Penghapusan
        Bila satu record / baris di atas dihapus, misal nomor faktur 779, maka berakibat pada penghapusan data supplier S02 (Hitachi) padahal data tersebut masih diperlukan.
    c). Updating / Pengubahan
        Kode dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah, maka di setiap baris yang ada harus dirubah, bila tidak menjadi tidak konsisten.
    Atribut jumlah (merupakan atribut turunan) seharusnya tidak perlu, karena setiap harga dikali kuantitas akan menghasilkan jumlah, sehingga hasilnya akan menjadi lebih konsisten.

   3. Bentuk Normal Kedua (2 NF)
      Bentuk normal kedua dengan melakukan dekomposisi relasi diatas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik. Melihat permasalahan faktur di atas, maka dapat diambil beberapa kunci kandidat : ( No_Faktur, Kode_Supplier, dan Kode_Barang ). Kunci kandidat tersebut nantinya bisa menjadi kunci primer pada relasi hasil dekomposisi.
      Dengan melihat normal pertama, kita dapat mendekomposisi menjadi tiga relasi berserta kunci primer yang ada yaitu : relasi Supplier (Kode_Supplier), relasi Barang (Kode_Barang), dan Relasi Faktur (No_Faktur). Dengan melihat ketergantungan fungsional atribut-atribut lain terhadap atribut kunci, maka didapatkan 3 (tiga) relasi sebagai berikut :
                                                                 Relasi Supplier
                                               

                                                                  Relasi Barang
                                               

                                                                   Relasi Faktur
                                 

                                                      Gambar 7.4. Relasi memenuhi 2 NF

      Kamus Data dari masing-masing relasi tersebut diatas adalah sebagai berikut:
      Supllier = { Kode_Supplier, Nama_Supplier }
      Barang = { Kode_Barang, Nama_Barang, Harga }
      Faktur = { No Faktur, Kode Barang Kode_Supplier, Tanggal, Jatuh_Tempo, Qty }

      Dengan pemecahan relasi di atas, maka untuk pengujian bentuk normal kesatu (1 NF) yaitu insert, update, dan delete akan terjawab. Kode dan nama supplier baru dapat masuk kapanpun tanpa adanya transaksi pada tabel faktur. Demikian pula untuk proses update dan delete untuk tabel Supplier dan Barang.
      Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur,
      yaitu :
    1). Atribut Quantitas pada relasi Faktur, tidak tergantung pada kunci utama, atribut tersebut bergantung fungsi pada Kode Barang + no_faktur, hal ini dinamakan ketergatungan transitif dan haruslah dipilah menjadi dua relasi.
    2). Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 5 macam barang maka 5 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus dipisahkan bila terjadi penggandaan tulisan berulang-ulang.

   4. Bentuk Normal Ketiga (3 NF)
       Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF).
       Untuk memenuhi bentuk normal ketiga (3 NF), maka pada relasi faktur harus didekomposisi (dipecah) lagi menjadi dua relasi yaitu relasi faktur dan relasi transaksi barang, sehingga hasilnya adalah sebagai berikut ini:

                        Gambar 7.5. Relasi memenuhi 3 NF

      Kamus Data dari masing-masing relasi tersebut diatas adalah sebagai berikut:
      Supllier = { Kode_Supplier, Nama_Supplier }
      Barang = { Kode_Barang, Nama_Barang, Harga }
      Faktur = { No Faktur, Kode_Supplier, Tanggal, Jatuh_Tempo }
      Transaksi_Barang = { No Faktur, Kode Barang Qty }
      Primary key pada relasi Supplier adalah Kode_Supplier, Primary key pada relasi Barang adalah Kode_Barang, Primary key pada relasi Faktur adalah No_Faktur dan Foreign keynya adalah Kode_Supplier, Primary key pada relasi Transaksi_Barang adalah No_Faktur, Kode_Barang dan keduanya juga menjadi Foreign key.



  5. ERD (Entity Relationship Diagram)
     Gambaran hubungan antar entitas / relasi yang terbentuk, adalah seperti terlihat pada gambar berikut ini :
                     

                                    Keterangan : * = Primary Key, ** =Foreign Key
                                    Gambar 7.6. ERD (Entity Relationship Diagram)

     Pengertian Hubungan (Relation) antar pada gambar ERD (entity relationship diagram) pada gambar di atas adalah sebagai berikut: 
a). Supplier ke Faktur relasinya adalah one to many, artinya adalah satu supplier mempunyai banyak faktur, faktur punya relasi terhadap supplier.
b). Faktur ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu faktur mempunyai beberapa transaksi barang (satu faktur terdiri dari satu atau lebih transaksi barang).
c). Barang ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu barang bisa terjadi beberapa kali transaksi pembelian barang.
     Implementasi ERD (entity relationship diagram) physical pada contoh diatas, bisa dituangkan kedalam database MS-Access aatau SQL Server, seperti terlihat pada gambar beikut ini:
                     
                                          
                                     Gambar 7.7. ERD dengan database MS-Access 2000

                                          
                                     Gambar 7.8. ERD dengan database SQL Server 2000

4. PENGERTIAN DENORMALISASI
    Denormalisasi database adalah pelanggaran aturan normalisasi atau menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa pengaksesan data pada database. Database yang telah normal disini dimaksudkan database yang redundansi datanya minim sehingga data yang disimpan tidak mengalami kerancuan dalam proses pengaksesan.
    Denormalisasi dapat menggunakan dua cara yaitu :
     • Dengan pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu dengan yang lain.
     • Dengan pembuatan tabel baru 
Cara yang pertama dilakukan apabila data yang didenormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.

  5. Sebutkan dan jelaskan setiap tahapan dalam denormalisasi data!
    • melalui pembuatan kolom baru pada tabel / mengabungkan kolom pada tabel satu dengan yang lain.
    • melalui pembuatan tabel baru.
    Cara yang pertama dilakukan apabila data yang didenormalisasi hanya kecil dan digunakan untuk mempermudah pengaksesan data apabila diakses dalam satu tabel. Sedangkan yang kedua dilakukan apabila data yang terdapat dalam tabel tersebut merupakan rangkuman / rekapitulasi dari satu atau beberapa tabel yang pengaksesannya terpisah dari tabel yang ada.h-pelanggaran


 6. Berikan contoh penerapan denormalisasi data Denormalisasi terbagi terdiri dari beberapa  
     bentuk yaitu :
     a.Atribut yang terderivasi (atribut turunan)
     Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari pegolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Atribut yang demikian sebenarnya dapat ditiadakan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada pada atribut lainnya.hal inilah yang disebut sebagai denormalisasi. Yang keberadaan atributnya bersifat redundan. Atribut semacam ini digunakan untuk menghindari proses perhitungan yang berulang dan memakan banyak waktu. 

  Contoh :
  Tampilkan berapa banyak matakuliah yang sudah diambil oleh mahasiswa tertentu!
                      
     Untuk menampilkan banyak mata kuliah; di lakukan denormalisasi yaitu dengan menambahkan beberapa table baru seperti total SKS , nama Dosen , Kode Dosen ,dll.        
   b.Atribut yang berlebihan
      Atribut yang berlebihan atribut yang menyatakan lebih dari satu fakta.Atribut berlebihan terbagi atas beberapa bagian yaitu : 
      Atribut terkodekan adalah atribut yang memiliki kode tambahan yang menunjukkan beberapa kondisi lainnya. 
      Contoh : id_mk di table kuliah yang didalamnya sudah terkandung data program studi. Data program studi ini sebenarnya tidak diperlukan lagi karena sudah ada atribut prog_studi di tabel kuliah.
     Tapi akan menjadi aneh jika kode matakuliah tidak mengikuti format aturan penulisan yang ada. Untuk itu kita bisa lakukan denormalisasi dengan tetap menuliskan kode matakuliah seperti di atas.
     Atribut gabungan adalah atribut yang terdiri dari atribut yang lain. 
     Contoh : Atribut nim di tabel mahasiswa merupakan gabungan dari tahun masuk/angkatan dengan program studi dan no urut mahasiswa. Dengan demikian atribut ini sebenarnya tidak atomik (bagian terkecil) karena masih bisa dibagi lagi.
      Misalnya : 702012136  (Ket: angkatan.jurusan.no urut).

   c.Tabel rekapitulasi (summary table)
     Laporan hasil rekapitulasi akan selalu merupakan hasil pengolahan dari semua tabel yang  ada. Pengolahan tersebut melibatkan banyak tabel sehingga akan membutuhkan waktu yang lama. Jika hal tersebut sering diakses dan diperlukan, maka perlu dibuat tabel khusus untuk menyimpan data hasil rekapitulasi tersebut.
     Pada contoh kasus sebelumnya, akan dibutuhkan waktu yang lama jika harus menghitung jumlah matakuliah, jumlah sks dan ipk mahasiswa yang pengolahannya berasal dari beberapa tabel. Untuk itu bisa dibuat tabel khusus, misal : rekap_mahasiswa yang berisi data tentang jumlah matakuliah, jumlah sks, ipk. Hal ini tentu saja akan menimbulkan redundansi, tapi dengan mempertimbangkan performansi,
     Denormalisasi pada kasus ini perlu dilakukan.

     
        

  
  7.Boyce-Codd bentuk normal (atau BCNF atau 3.5NF) 
     adalah bentuk normal yang digunakan dalam  normalisasi database. Ini adalah versi yang sedikit lebih kuat  dari bentuk normal ketiga (3NF) 



  8.Suatu relasi memenuhi BCNF,
     Jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah kunci kandidat (candidate keys). Determinan adalah gugus atribut dimana satu atau lebih atribut lain tergantung secara fungsional.

    Catatan:
    Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya cuma ada lima bentuk normal. Tiga bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.



KESIMPULAN
        Dari pembahasan kelompok kami diatas,normalisasi adalah Sebuah upaya untuk memperoleh sebuah basis data dengan struktur yang baik (ruang penyimpanan yang efisien) dengan cara menerapkan sejumlah aturan (bentuk normal) pada setiap tabel yang menjadi anggota basis data tersebut. Dari data diatas dapat disimpulkan,cara-cara melakukan normalisasi data: 1. Bentuk Normal ke Satu(1NF), 2. Bentuk Normal ke Dua(2NF), 3. Bentuk Normal ke Tiga(3NF) misalnya pembuatan faktur pembelian barang yang menggunakan normalisasi data. 
Lalu pengertian Denormalisasi database adalah pelanggaran aturan normalisasi atau menjabarkan suatu tataan database yang telah normal untuk meningkatkan performa pengaksesan data pada database. Lalu dapat kami simpulkan tahapan-tahapan: 
1.melalui pembuatan kolom baru pada table.
2.melalui pembuatan tabel baru.

         Dari tahapan diatas dapat diberikan contoh sebgai berikut:
denormalisasi pertama : total sks yang telah diambil seorang mahasiswa. ini dibentuk dari jumlah sks matakuliah yang pernah diambil.

denormalisasi kedua : pembuatan tabel jumlah kehadiran mahasiswa dalam satu semester. data ini dibentuk dari penjumlahan data harian mahasiswa.

Lalu pengertian Boyce-Codd bentuk normal (atau BCNF atau 3.5NF) adalah bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). 
           Dapat disimpulkan Suatu relasi memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada relasi tersebut adalah kunci kandidat (candidate keys). Determinan adalah gugus atribut dimana satu atau lebih atribut lain tergantung 
secara fungsional.