kegiatan belajar 2: pemrograman basis data › 2019 › 07 › tki-modul-3-rpl-kb2-1-… · 1....

37
1 Kegiatan Belajar 2: Pemrograman Basis Data A. Capaian Pembelajaran Mata Kegiatan Peserta dapat memahami pemrograman Basis Data B. Sub Capaian Pembelajaran Mata Kegiatan 1. Menjelaskan struktur hirarki basis data 2. Membuat normalisasi basis data 3. Menjalankan kelompok perintah DDL, DML dan DCL dalam basis data 4. Menjelaskan tipe data pada basis data 5. Menggunakan bahasa SQL Dasar untuk mengelola tabel dalam basis data 6. Membuat Form dalam database Access C. Pokok-pokok materi 1. Struktur Hierarki basisdata 2. Normalisasi basisdata 3. Kelompok perintah DDL, DML, dan DCL 4. Tipe data dalam basisdata 5. Bahasa SQL dasar untuk mengelola tabel dalam baasisdata 6. Pembuatan Form D. Uraian Materi 1. Struktur Hierarki Basis Data Definisi Struktur atau arsitektur Basis Data, Arsitektur basis data merupakan serangkaian pengetahuan tentang pemodelan data. Pengetahuan tentang File, table, field, record indeks, abstraksi data dan serangkaian konsep yang digunakan untuk membuat diskripsi struktur basis data. Melalui diskripsi Struktur basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan) data yang ditangani. Dalam basis data, data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut: Elemen (kolom atau field) data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin.

Upload: others

Post on 31-Jan-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

    Kegiatan Belajar 2: Pemrograman Basis Data

    A. Capaian Pembelajaran Mata KegiatanPeserta dapat memahami pemrograman Basis Data

    B. Sub Capaian Pembelajaran Mata Kegiatan1. Menjelaskan struktur hirarki basis data

    2. Membuat normalisasi basis data

    3. Menjalankan kelompok perintah DDL, DML dan DCL dalam basis data

    4. Menjelaskan tipe data pada basis data

    5. Menggunakan bahasa SQL Dasar untuk mengelola tabel dalam basis

    data

    6. Membuat Form dalam database Access

    C. Pokok-pokok materi1. Struktur Hierarki basisdata

    2. Normalisasi basisdata

    3. Kelompok perintah DDL, DML, dan DCL

    4. Tipe data dalam basisdata

    5. Bahasa SQL dasar untuk mengelola tabel dalam baasisdata

    6. Pembuatan Form

    D. Uraian Materi

    1. Struktur Hierarki Basis DataDefinisi Struktur atau arsitektur Basis Data, Arsitektur basis data merupakan

    serangkaian pengetahuan tentang pemodelan data. Pengetahuan tentang File,

    table, field, record indeks, abstraksi data dan serangkaian konsep yang

    digunakan untuk membuat diskripsi struktur basis data. Melalui diskripsi Struktur

    basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan)

    data yang ditangani. Dalam basis data, data diorganisasikan kedalam bentuk

    elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya

    adalah sebagai berikut:

    Elemen (kolom atau field) data adalah satuan data terkecil yang tidak

    dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa

    terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin.

  • 2

    Rekaman (record) merupakan gabungan sejumlah elemen data yang

    saling terkait. Istilah lain dari record adalah baris atau tupel.

    Berkas (file) adalah himpunan seluruh record yang bertipe sama

    Struktur hirarki sebuah database dapat digambarkan dalam diagram hirarki

    begai berikut :

    Gambar 2. 1. Struktur hirarki sistem basis data

    Gambar 2. 2. Struktur penyimpanan file dan tabel dalam basis data

    a. Skema Atau Abstraksi Basis DataAbstraksi data adalah merupakan tingkatan atau level bagaimana melihat data

    dalam sistem basis data. Abstraksi data diwujudkan dalam pemodelan data yang

  • 3

    merupakan sejumlah konsep yang digunakan untuk membuat diskripsi struktur

    basis data.Melalui diskripsi struktur basis data, dapat ditentukan jenis data dan

    hubungannya deangan data lain Skema basis data merupakan diskripsi dari

    basis data yang spesifikasinya ditentukan dalam tahap perancangan. Skema ini

    digunakan untuk memisahkan antara fisik basis data dan program aplikasi

    pemakai. Penggambaran skema bsisi data biasanya ditampilkan dalam diagram

    yang berisi sebagian detail data dari diskripsi basis data. Secara umum arsitektur

    basis data menggunakan arsitektur tiga skema yang meliputi tiga level yaitu :

    1. Level Internal atau skema internal. Level ini mendifinisikan secara detail

    penyimpanan basis data dan pengaksesan data. Pada level ini memuat diskripsi

    struktur penyimpanan basis data, menggunakan model data fisikal,

    2. Level Konseptual (skema konseptual), memuat diskripsi struktur basis data

    seara keseluruhan untuk semua pemakai. Level ini memuat diskripsitentang

    entity, atribut, relasi dan konstrain tanpa memuat diskripsi data secara detail.

    3. Level eksternal (skema eksternal atau view), mendefinisikan pandangan data

    terhadap sekelompok pemakai(local view) dengan menyembunyikan data lain

    yang tidak diperlukan oleh kelompok pemakai tersebut.

    Gambar 2. 3. Arsitektur tiga-skema sistem manajemen basis data

    b. Pemodelan dataPemodelan data merupakan sarana untuk melakukan abstraksi data.

    Merupakan sejumlah konsep untuk membuat diskripsi stuktur basis data.

    Kebanyakan model data memuat spesifikasi untuk operasi dasar (basic

    operation) dalam pengaksesan dan pembaharuan data. Pada perkembangan

  • 4

    terakhir dikenal dengan istilah tabiat data (data behavior) pada pemrograman

    berorientasi object. Terdapat sejumlah cara dalam merepresentasikan model

    dalam perancangan basis data. Secara umum pemodelan data dapat

    dikelompokkan menjadi dua yaitu :

    1. Object based logical model. Dalam pemodelan ini struktur atau hirarki basis

    data diilustrasikan berdasarkan object. Model ini meliputi: 1) Model

    keterhubungan entitas (Entity Relationalship Model atau ERD). 2) Model

    berorientasi object (Object-Oriented Model). 3) Model Data Semantik(Semantic

    Data Model). 2) Model data Fungsional (Function Data Model).

    2. Record-based logical model. Dalam model ini struktur basis data diilustrasikan

    berdasarkan record. Model ini meliputi: 1) Model relational (Relational Model). 2)

    Model Herarkis (Hierarchical Model). 3) Model Jaringan (Network Model).

    c. Struktur konseptual basis dataTiga konsep dasar dalam pembuatan diskripsi struktur basis data yaitu model

    data konseptual, model data fisikal dan model view.Konseptual data menyajikan

    konsep tentang bagaimana user basis data memandang atau memberlakukan

    data. Konseptual merupakan level tinggi (hight level) yang dekat dengan user.

    Didalam Konseptual data menjelaskan beberapa hal yaitu entitas, atribute, key

    dan relasi antar entitas.

    a) Entity atau Entitas

    Entitas adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat

    dibedakan antara satu dengan lainnya (unique).Setiap entitas memiliki beberapa

    atribut yang mendeskripsikan karakteristik dari objek. Entitas dapat berupa:

    Data Fisik (seperti mobil, rumah, manusia, pegawai, peserta didik.

    Abstrak atau konsep (seperti department, pekerjaan, mata pelajaran)

    Kejadian (pembelian, penjualan, peminjaman, dll)

    Entitas dapat dibedakan menjadi dua macam yaitu Entitas kuat dan entitas

    lemah. Entitas lemah adalah yang keberadaannya tergantung pada entitas lain.

    Gambar dibawah ini menjelaskan notasi umum entitas kuat dengan nama entitas

    pegawan dan entitas lemah dengan nama entitas tanggungan. Entitas

    tanggungan disebut sebagai entitas lemah karena jika data seorang pegawai

    dihapus maka data tanggungannya juga akan terhapus. Keberadaan data

    tanggungan tergantung pada data di pegawai

  • 5

    Gambar 2. 4. Notasi entitas kuat (kotak satu) dan entitas lemah kotak dua

    b) Atribute,

    Attribute merupakan karakteristik dari entitas atau relationship, yang

    menyediakan penjelasan detail tentang entitas atau relationship. Dalam

    penerapannya (level fisik) atribut merupakan field atau kolom dari sebuah tabel.

    Misalnya entitas mahasiswa memiliki atribute nama, alamat, NIM. Berdasarkan

    karakteristik sifatnya, atribut dapat dikelompokkan menjadi; 1) Simple attribute

    dan composite attribute. 2) Single valued attribute dan multi valued attribute. 3)

    Mandatory attribute 4) Derived attribute (attribut turunan) dan 5) key attribute.

    Simple Attribute atau atomic attribute adalah attribut terkecil yang tidak bisa

    dipilah lagi. suatu atribut yang tidak dapat dibagi-bagi lagi menjadi atribut yang

    lebih kecil. Contohnya adalah atribut JenisKel pada entitas pegawai.

    Composite attribute adalah atribut yang dapat dibagi menjadi atribut yang

    lebih kecil. Attribut ini dapat diartikan attribute atomic yang menggambarkan

    atribut dasar dengan suatu arti tertentu. Contoh: atribut Nama pada entitas

    pegawai dapat dipecah menjadi atribut NmDepan, Inisial dan NmBlk. Atribut

    nama merupakan composite attribute.

    Single value Attribute adalah suatu atribut yang hanya mempunyai satu nilai.

    Misalnya atribut NmDepan pada entitas pegawai. NmDepan seorang pegawai

    selalu bernilai satu nilai, tidak mungkin lebih dari satu.

    Multi Value attribute adalah atribut yang dapat memiliki lebih dari satu nilai

    yang jenisnya sama dari sebuah data tunggal. Misalnya atribut lokasi pada

    entitas departemen dapat berisi 2 nilai atau lebih seperti Surabaya atau Jakarta.

    Derived Attribute atau Attribut Turunan adalah atribut yang nilai-nilainya

    diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang

    berhubungan. Misalnya atribut JmlPegawai pada entitas Departemen. Gambar

    diatas menjelaskan simbol atau notasi Multi Value attribute

    c) Key attribute.

    Key adalah merupakan suatu atribut yang menandakan kunci dari suatu entitas

    yang bersifat unik. Key attribute adalah satu atau beberapa atribut yang

  • 6

    mempunyai nilai unik sehingga dapat digunakan untuk membedakan data pada

    suatu baris/record dengan baris lain pada suatu entitas. Key attribute dibedakan

    menjadi tiga yaitu: 1) Superkey 2) Candidat Key dan 3) Primary key Tabel

    dibawah ini menjelaskan beberapa contoh nama entitas beserta nama atribut-

    atributnya

    Tabel 2. 1. Daftar entitas dan atributnya

    Nama Entitas Nama Attribute

    Pegawai NIP, NUPTK, Nama, Alamat, Agama, Jenis Kelamin

    Siswa NIS, Nama, Alamat, Agama, Jenis Kelamin

    Mata Pelajaran Kode_mapel, Nama _mapel, Semester

    Departemen No, Nama, Lokasi

    Superkey adalah satu atau gabungan beberapa atribut yang dapat

    membedakan setiap baris data dalam sebuah tabel secara unik. Misalnya

    superkey untuk entitas pegawai antara lain: 1) NoKTP, Nama, Alamat, JenisKel,

    Gaji. 2) NoKTP, Nama, Alamat, JenisKel. 3) NoKTP, Nama, Alamat. 4) NoKTP,

    Nama. 5) Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu

    baris dengan baris yang lain). 6) NoKTP.

    Candidat Key adalah merupakan superkey yang jumlah atributnya paling

    sedikit. Misalnya candidat key untuk entitas pegawai antara lain:

    - Nama (jika dapat dijamin kalau tidak ada nama yang sama antara satu

    baris dengan baris yang lain)

    - NoKTP

    Primary key adalah suatu candidat key yang dipilih menjadi kunci utama

    karena sering dijadikan acuan untuk mencari informasi, ringkas, menjadi

    keunikan suatu baris. Misalnya NoKTP antara satu pegawai dengan pegawai lain

    pasti berbeda, dalam hal ini noKTP dapat digunakan sebagai suatu key.

  • 7

    Gambar 2. 5. Contoh model struktur entitas pegawai

    d. Struktur Fisik Basis DataPhysical data merupakan suatu konsep bagaimana diskripsi detail data

    disimpan dalam sebuah komputer. Physical data merupakan level rendah (low

    level) yang mendekati ke data sebenarnya. Dalam physical data menjelaskan

    definisi data yang meliputi nama atribut, type data (misalnya varchar, integer dll),

    size atau ukurannya data. Data yang diimplementasikan berupa table yang terdiri

    dari barisan data dalam kolom (field) dan baris (record). Setiap DBMS

    mempunyai aturan-aturan tersendiri dalam membuat definisi, struktur basis data

    dan tipe data yang digunakan.

    Tabel 2. 2. Jenis jenis tipe data dalam DBMS Microsoft access

    Text Digunakan untuk field alfanumeric (misalnya nama,alamat,kode pos), memiliki banyak karakter yaitu maksimal 255karakter pada setiap fieldnya.

    Memo Sama seperti text, tetapi dapat menampung kurang lebih64.000 karakter untuk tiap fieldnya, tapi tidak bisadiurutkan/diindekskan.

    AutoNumber Tidak dapat disi secara manual tapi terisi secara otomatisoleh Access, secara berurutan atau acak biasanyadigunakan untuk penomoran.

    Number Dapat digunakan untuk menyimpan data numeric yangakandigunakan untuk proses perhitungan matematis(mengurangi, menambahkan, mengkali dan membagi)suatu bilangan

    Date/Time Digunakan untuk data yang berjenis tanggal, waktu ataupenggabungan dari tanggal dan waktu

    Currency Tipe jenis number, tetapi pada awal angka selaludisertakan symbol currency default sesuai dengan regionalsetting yang digunakan, misalnya RP. $. Dapatmenggunakan angka dengan 15 dgiit dibelakang desimaldan 4 digit sesudah desimal

  • 8

    Yes/No Merupakan tipe data dengan 2 pilihan saja yaitu Yes (1atauTure) dan No (0 atau False). Format yang tersedia adalahYes/No, True/False, dan On/OFF

    OLE Object Digunakan untuk eksternal objek, seperti bitmap atau filesuara

    Hyperlink Digunakan untuk menyimpan alamat internet atau file yangditunjukan melalui alamat URL

    Lookup Wizard Jika menggunakan tipe data ini untuk sebuah field, makabisa memilih sebuah nilai dari tabel lain atau dari sebuahdaftar nilai yang ditampilkan dalam combobox

    Gambar 2. 6. Contoh diskripsi struktur tabel mahasiswa dan tabel dosen

    Gambar 2. 7. Contoh struktur tabel dalam basis data sistem nilai mahasisw

    2. Normalisasia. Bentuk-Bentuk Normalisasi

    Normalisasi data adalah proses yang berkaitan dengan model data relasional

    untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan

    yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–tabel data dalam

    bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal

    yaitu:

  • 9

    Pengulangan informasi.

    Potensi inkonsistensi data pada operasi pengubahan.

    Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data,

    keenam bentuk tersebut adalah :

    a) Bentuk Normal Tahap pertama (1st Normal Form)

    b) Bentuk Normal Tahap Kedua (2nd Normal Form)

    c) Bentuk Normal Tahap Ketiga (3rd Normal Form)

    d) Bentuk Normal Boyce - Code (BCNF)

    e) Bentuk Normal Tahap Keempat (4rd Normal Form)

    f) Bentuk Normal Tahap Kelima (4rd Normal Form)

    b. Proses-Proses Normalisasi dataDalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya

    dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel

    yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu

    dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk

    yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi

    data diperlihatkan dalam gambar dibawah ini:

  • 10

    Gambar 2. 8. Langkah-langkah proses normalisasi data

    c. Bentuk tidak normal (Unnormalized Form)Bentuk ini memiliki ciri-ciri, yaitu :

    1) Merupakan kumpulan data yang akan direkam

    2) Tidak ada keharusan mengikuti suatu format tertentu

    3) Dapat saja data tidak lengkap atau terduplikasi

    4) Data dikumpulkan apa adanya sesuai dengan kedatangannya.

    d. Bentuk Normal Tahap pertama (1st Normal Form)Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri antara lain yaitu:

    1) Setiap data dibentuk dalam flat file (file data/ rata)

    2) Data dibentuk dalam satu record demi satu record dan nilai dari field field

    a. berupa "atomic value", tidak dapat dibagi-bagi lagi.

    3) Tidak ada set atribute yang berulang ulang atau atribute bernilai ganda

    b. (multivalue).

    4) Tidak ada set atribut composite atau kombinasinya dalam domain data

    c. yang sama.

  • 11

    5) Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang

    d. mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan

    e. kata sehingga artinya lain.

    Contoh dari tabel yang belum memenuhi 1NF :

    Gambar 2. 9. Contoh data pada tabel yang belum memenuhi 1NF

    Atau bentuk entitas seperti berikut :

    Gambar 2. 10. Contoh lain dari data pada tabel lain yang belum memenuhi 1NF

    Untuk dapat memenuhi aturan 1NF, maka dilakukan penataan ulang data

    (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti

    gambar berikut :

  • 12

    Gambar 2. 11. Hasil dekomposisi tabel untuk memenuhi bentuk 1NF

    e. Bentuk Normal Tahap Kedua (2nd Normal Form)

    Bentuk normal kedua mempunyai syarat yaitu:

    1) Bentuk data telah memenuhi kriteria bentuk normal kesatu.

    2) Atribute bukan kunci haruslah bergantung secara fungsi pada kunci

    utama atau primary key.

    3) Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan

    dapat mewakili atribute lain yang menjadi anggotanya.

    Sebagai contoh ditentukan sebuah tabel siswa sebagai berikut :

    NIS Nama_siswa Alamat Kode_ Mapel Nama_Mapel Nama_Guru Nilai Tabel di

    atas telah memenuhi 1NF, namun belum memenuhi 2NF, {NIS, Kode_Mapel}

    yang dianggap sebagai primary key sedangkan:

    Gambar 2. 12. Contoh tabel siswa

    Tabel di atas perlu didekomposisi menjadi beberapa tabel untuk memenuhi

    syarat 2NF. Dekomposisi sesuai dengan functionaldependencynya (FD) adalah

  • 13

    sebagai berikut :

    FD 1 : {NIS, Kode_Mapel}Nilai

    FD 2 : NIS{Nama_siswa, Alamat}

    FD 3 : Kode_mapel{Nama_mapel, Nama_guru}

    Dari ketiga FD di atas, maka dilakukan dekomposisi tabel menjadi sebagai

    berikut :

    Tabel Nilai : (NIS, Kode_mapel, Nilai)

    Tabel Siswa :(NIS, Nama_siswa, Alamat)

    Tabel Mapel :(Kode_mapel, Nama_mapel, Nama_Guru)

    f. Bentuk Normal Tahap Ketiga (3rd Normal Form)Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-

    ciri sebagai berikut:

    1) Memenuhi bentuk 2 NF (normal kedua)

    2) Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci

    utama atau primary key.

    3) Setiap atribute bukan kunci haruslah bergantung hanya pada primary key

    dan pada primary key secara menyeluruh

    Berikut ini adalah contoh relasi yang telah memenuhi bentuk 2 NF, tetapi belum

    memenuhi bentuk 3 NF :

    NIS Nama_siswa Alamat_jln Alamat_kota Alamat_prov Kodepos

    Pada relasi di atas, masih terdapat atribut non primary key (yakni Alamat_kota

    dan Alamat_Prov) yang memiliki ketergantungan terhadap atribut non primary

    key yang lain, yaitu Kode_pos.

    Kodepos {Alamat_kota, Alamat_prov}

    Untuk memenuhi syarat 3NF, maka relasi tersebut harus didekomposisi sebagai

    berikut :

    Siswa : (NIS, Nama_siswa, Alamat_jn, Kodepos)

    Kodepos : (Kodepos, Alamat_kota, Alamat_prov)

    3. Perintah DDL, DML dan DCLSecara 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

  • 14

    bentuk standar yang ditetapkan ANSI. Jadi, perintah SQL pada semua software

    database hampir sama. Secara umum perintah-perintah dari DDL, DML dan DCL

    dapat anda lihat dari skema gambar diatas, dan untuk penjelasannya silahkan

    simak dibawah ini:

    Gambar 2. 13. Sql Command

    a. 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 :

    CREATE

    Perintah ini digunakan untuk membuat, termasuk diantaranya membuat database

    baru, tabel baru, view baru, dan kolom.

    Contoh: CREATE DATABASE nama_database

    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.

    Contoh: ALTER TABLE nama_tabel ADD nama_kolom datatype

  • 15

    RENAME

    Perintah yang digunakan untuk merubah nama Objek

    DROP

    Perintah ini digunakan untuk menghapus database dan tabel.

    Contoh: DROP DATABASE nama_database

    b. 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 :

    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.

    Contoh: UPDATE nama_tabel SET kolom1=data1, kolom2=data2,… WHERE

    kolom=data;

    INSERT

    perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam

    tabel. Penggunaannya setelah database dan tabel selesai dibuat.

    Contoh: INSERT INTO nama_tabel VALUES (data1, data2, dst…);

    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.

    Contoh: SELECT nama_kolom1, nama_kolom2 FROM nama_tabel;

  • 16

    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.

    Contoh: DELETE FROM nama_tabel WHERE kolom=data;

    c. 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

    :

    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.

    REVOKE

    perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk

    menghilangkan atau mencabut hak aksesyang telah diberikan kepada user oleh

    administrator.

    4. Tipe Data pada Basis DataTipe data digunakan untuk mendefinisikan suatu field atau kolom. Setiap

    kolom yang dibuat harus didefinisikan terlebih dahulu. Jenis – jenis tipe data ada

    bermacam – macam. Bisa numerik yang digunakan untuk angka dan proses

    perhitungan, bisa karakter / teks, tanggal atau Biner. Berikut ini Macam – macam

    tipe data yang digunakan di SQL :

    1. Tipe Numerik

    Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama

    data numeric adalah suatu data yang memungkinkan untuk dikenai operasi

    aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut

    ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe numerik:

    TINYINT

  • 17

    Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan

    negatif.

    Jangkauan : -128 s/d 127

    Ukuran : 1 byte (8 bit)

    SMALLINT

    Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan

    negatif..

    Jangkauan : -32.768 s/d 32.767

    Ukuran : 2 byte (16 bit).

    MEDIUMINT

    Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan

    negatif.

    Jangkauan : -8.388.608 s/d 8.388.607

    Ukuran : 3 byte (24 bit)

    INT

    Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan

    negatif.

    Jangkauan : -2.147.483.648 s/d 2.147.483.647

    Ukuran : 4 byte (32 bit).

    BIGINT

    Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan

    negatif.

    Jangkauan : ± 9,22 x 1018

    Ukuran : 8 byte (64 bit)

    FLOAT

    Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan

    negatif presisi tunggal.

    Jangkauan : 3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38

    s/d 3.402823466E+38.

    Ukuran : 4 byte (32 bit).

    DOUBLE / REAL

    Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan

    negatif presisi ganda.

  • 18

    Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d

    1.79…E+308.

    Ukuran : 8 byte (64 bit).

    DECIMAL / NUMERIC

    Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan

    negatif.

    Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d

    1.79…E+308.

    Ukuran : 8 byte (64 bit).

    2. Tipe Date dan Time

    Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu.

    Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe

    date dan time:

    DATE

    Penggunaan : digunakan untuk menyimpan data tanggal.

    Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)Ukuran : 3 byte.

    TIME

    Penggunaan : digunakan untuk menyimpan data waktu.

    Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)Ukuran : 3 byte.

    DATETIME

    Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.

    Jangkauan : ‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’Ukuran : 8

    byte.

    YEAR

    Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.

    Jangkauan : 1900 s/d 2155

    Ukuran : 1 byte.

    3. Tipe String (Text)

    Tipe data string digunakan untuk menyimpan data string (text). Ciri utama data

    string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika

    seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe

    field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:

    CHAR

    Penggunaan : digunakan untuk menyimpan data string ukuran tetap.

  • 19

    Jangkauan : 0 s/d 255 karakter

    VARCHAR

    Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.

    Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

    TINYTEXT

    Penggunaan : digunakan untuk menyimpan data text.

    Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)

    TEXT

    Penggunaan : digunakan untuk menyimpan data text.

    Jangkauan : 0 s/d 65.535 (216 – 1) karakter

    MEDIUMTEXT

    Penggunaan : digunakan untuk menyimpan data text.

    Jangkauan : 0 s/d 224 – 1 karakter

    LONGTEXT

    Penggunaan : digunakan untuk menyimpan data text.

    Jangkauan : 0 s/d 232 – 1 karakter

    4.Tipe BLOB (Biner)

    Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya

    digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB

    merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di

    MySQL yang termasuk ke dalam kelompok tipe blob:

    BIT (sejak versi 5.0.3)

    Penggunaan : digunakan untuk menyimpan data biner.

    Jangkauan : 64 digit biner

    TINYBLOB

    Penggunaan : digunakan untuk menyimpan data biner.

    Jangkauan : 255 byte

    BLOB

    Penggunaan : digunakan untuk menyimpan data biner.

    Jangkauan : 216 – 1 byte

    MEDIUMBLOB

    Penggunaan : digunakan untuk menyimpan data biner.

    Jangkauan : 224 – 1 byte

  • 20

    LONGBLOB

    Penggunaan : digunakan untuk menyimpan data biner.

    Jangkauan : 232 – 1 byte

    5. Tipe Data yang Lain

    Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe data

    di MySQL mungkin akan terus bertambah seiring dengan perkembangan versi

    MySQL. Berikut ini beberapa tipe data tambahan MySQL:

    ENUM

    Penggunaan : Enumerasi (kumpulan data).

    Jangkauan : Sampai dengan 65535 string.

    SET

    Pengunaan : Combination (himpunan data).

    Jangkauan : Sampai dengan 255 string anggotas

    5. Latihan SQL Menggunakan AccessPada sesi latihan ini dibahas tentang latihan Query menggunakan perintah

    SELECT pada SQL Microsoft Access. Ikutilah langkah berikut:

    a. Buat database dengan nama Akademik.mdbb. Buat tabel Fakultas dengan struktur sebagai berikut:

    Gambar 2. 14. Struktur tabel fakultas

    c. Buat tabel Prodi dengan struktur sebagai berikut:

  • 21

    Gambar 2. 15. Struktur Tabel Prodi

    d. Buat tabel Mahasiwa, dengan struktur tabel sebagai berikut:

    Gambar 2. 16. Struktur tabel Mahasiswa

    e. Relasikan Tabel dengan skema sebagai berikut:

    Gambar 2. 17. Skema Basis Data Akademik

    f. Masukkan Data Fakultas

    Gambar 2. 18. Data Tabel Fakultas

  • 22

    g. Masukkan Data Prodi

    Gambar 2. 19. Data prodi

    h. Masukkan Data Mahasiswa

    Gambar 2. 20. Data tabel Mahasiswa

    6. Bentuk Umum SQL

    SELECT DaftarField

    FROM namaTabel

    WHERE syarat

    catatan:

    SELECT, FROM dan WHERE disebut

    Klausa/perintah (ditulis apa adanya)

  • 23

    a. Menampilkan Seluruh field suatu tabel

    Menampilkan seluruh field pada tabel Fakultas

    SELECT *

    FROM Fakultas

    Menampilkan seluruh field pada tabel Prodi

    SELECT *

    FROM Prodi;

    Tampilkan seluruh field pada tabel Mahasiswa

    SELECT *

    FROM Mahasiswa

    b. Menampilkan beberapa Field

    Tampilkan Nama dan Alamat pada Tabel Mahasiswa.

    SELECT NamaMahasiswa, Alamat

    FROM Mahasiswa

    Tampilkan NamaFakultas dan Dekan pada tabel Fakultas

    SELECT NamaFakultas, NamaDekan

    FROM Fakultas

    Tampilkan Namaprodi saja pada tabel Prodi

    SELECT NamaProdi

    FROM Prodi

    Tampilkan KodeProdi dan Nama Prodi pada tabel Prodi

    SELECT KodeProdi, NamaProdi

    FROM Prodi

    c. Filter data

    Tampilkan semua isi field tabel Mahasiswa yang tinggal di Bantul

    SELECT *

    FROM Mahasiswa

    WHERE Alamat = “Bantul”

  • 24

    Tampilkan semua isi field pada tabel Prodi yang ode Fakultasnya = 4

    SELECT *

    FROM Prodi

    WHERE KodeFakultas = 4

    Tampilkan NamaProdi dan KetuaProdi prodi dimana KodeFakultas = 2

    SELECT NamaProdi, KetuaProdi

    FROM Prodi

    WHERE kodeFakultas = 2;

    d. Menampilkan data dari beberapa tabel

    Tampilkan NamaFakultas dan NamaProdi yang berasl dari tabel Fakultas

    dan Prodi

    SELECT NamaFakultas, NamaProdi

    FROM Fakultas, Prodi

    WHERE Fakultas.KodeFakultas = Prodi.KodeFakultas

    Tampilkan NamaProdi, NPM, NamaMahasiswa dari Tabel Prodi dan

    Mahasiswa.

    SELECT NamaProdi, NPM, NamaMahasiswa

    FROM Prodi, Mahasiswa

    WHERE Prodi.KodeProdi = Mahasiswa.KodeProdi

    Tampilkan NPM, NamaMahasiswa, NamaProdi, NamaFakultas dari tabel

    Prodi, Mahasiswa, Fakultas

    SELECT NPM, NamaMahasiswa, NamaProdi, NamaFakultas

    FROM Prodi, Mahasiswa, Fakultas

    WHERE (Prodi.KodeProdi = Mahasiswa.KodeProdi) AND

    (Fakultas.KodeFakultas = Prodi.KodeFakultas)

    e. Menggunakan nama field yang sama

    Tampilkan KodeFakultas, NamaFakultas, NamaProdi dari Tabel Fakultas

    dan Prodi

    SELECT Fakultas.KodeFakultas, NamaFakultas, NamaProdiFROM Fakultas, Prodi

  • 25

    WHERE Fakultas.KodeFakultas = Prodi.KodeFakultas Catatan: Nama

    tabel harus dicantumkan jika field tersebut juga ada pada tabel yang lain.

    Tampilkan NPM, NamaMahsiswa, KodeFakultas, NamaFakultas,

    KodeProdi, dan NamaProdi dari rabel Fakultas,

    Mahasiswa dan Prodi

    SELECT NPM, NamaMahasiswa,Fakultas.KodeFakultas,NamaFakultas, Prodi.KodeProdi, NamaProdi,FROM Prodi, Mahasiswa, Fakultas

    WHERE (Fakultas.KodeFakultas = Prodi.KodeFakultas) AND

    (Prodi.KodeProdi = Mahasiswa.KodeProdi)

    f. Operator Logika

    Tampilkan NamaMahasiswa dengan Kodeprodi = 11 dan alamat =

    “Bantul”

    SELECT NamaMahasiswa

    FROM Mahasiswa

    WHERE (KodeProdi = 11) AND (Alamat = “Bantul”)

    Tampilkan NPM, NamaMahasiswa dengan Alamat=”Bantul” atau

    Alamat=”Sleman”

    SELECT NPM, NamaMahasiswa

    FROM Mahasiswa

    WHERE Alamat = “Bantul” OR Alamat = “Sleman”

    Tampilkan NamaProdi dan NamaMahasiswa yang tinggal di Bantul

    SELECT NamaProdi, NamaMahasiswa

    FROM Prodi, Mahasiswa

    WHERE Alamat=“Bantul” AND Prodi.KodeProdi = Mahasiswa.KodeProdi

    Tampilkan NamaFakultas, NamaProdi, NPM, NamaMahasiswa yang

    tinggal di Bantul atau Sleman

    SELECT NamaFakultas, NamaProdi, NPM, NamaMahasiswa

    FROM Fakultas, Prodi, Mahasiswa

    WHERE (Fakultas.KodeFakultas = Prodi.KodeFakultas) AND

    (Prodi.KodeProdi = Mahasiswa.Kodeprodi) AND ((Alamat = “Bantul”) OR

    (Alamat=“Sleman”))

  • 26

    g. Operator NOT

    Tampilkan seluruh field tabel Mahasiswa yang tidak berlamat Bantul.

    SELECT *

    FROM Mahasiswa

    WHERE ALAMAT “Bantul’

    atau dengan menggunakan Klausa NOT dapat ditulis:

    SELECT *

    FROM Mahasiswa

    WHERE NOT (ALAMAT = “Bantul”)

    h. WILD CHAR

    * (Asterisk) –> artinya semua/bebas

    ? –> Menggantikan satu huruf

    Tampilkan Nama Mahasiswa yang huruf depannya A

    SELECT NamaMahasiswa

    FROM Mahasiswa

    WHERE NamaMahasiswa LIKE “A*”

    Tampilkan NamaMahasiswa yang huruf belangkangnya A

    SELECT NamaMahasiswa

    FROM Mahasiswa

    WHERE NamaMahasiswa LIKE “*A”

    Tampilkan NamaMahasiswa yang mengandung huruf a

    SELECT NamaMahasiswa

    FROM Mahasiswa

    WHERE NamaMahasiswa LIKE “*a*”

    Tampilkan NamaMahasiswa yang huruf keduanya a

    SELECT * NamaMahasiswa

    FROM Mahasiswa

    WHERE NamaMahasiswa LIKE “?A*”

  • 27

    i. Pengurutan (ORDER BY)

    Tampilkan NamaMahasiswa, Alamat dari Tabel Mahasiswa urut Alamat

    SELECT NamaMahasiswa, Alamat

    FROM Mahasiswa

    ORDER BY Alamat;

    Tampilkan Nama, Alamat dari tabel Mahasiswa urut Nama dengan urut

    menurun (Descending)

    SELECT NamaMahasiswa, Alamat

    FROM Mahasiswa

    ORDER BY NamaMahasiswa DESC;

    Tampilkan Alamat, Nama dari Tabel Mahasiswa urut Alamat,

    NamaMahasiswa

    SELECT Alamat, NamaMahasiswa

    FROM Mahasiswa

    ORDER BY Alamat, NamaMahasiswa;

    j. Fungsi Left (string,n)

    Mengambil n karakter dari kiri suatu string.

    Tampilkan 3 huruf nama mahasiswa

    SELECT Left(NamaMahasiswa, 3)

    FROM Mahasiswa;

    Tampilkan nama Mahasiswa yang huruf pertamnya

    SELECT NamaMahasiswa

    From Mahasiswa

    WHERE LEFT(NamaMahasiswa,1) =“A”

    k. Fungsi MID (string,i,n)

    Digunakan untuk mengambil n karakter dari string mulai posisi ke i.

    Tampilkan 3 karakter mulai dari karakter kedua dari NamaMahasiswa;

    SELECT MID(namamahasiswa, 2, 3)

  • 28

    FROM Mahasiswa;

    Jika terdapat nama “Ahmad” maka akan tampil “hma”

    l. Fungsi Right(string,n)

    Mengambil n karakter dari Kanan suatu string.

    Tampilkan 3 huruf terakhir nama mahasiswa

    SELECT RIGHT(NamaMahasiswa, 3)

    FROM Mahasiswa;

    Tampilkan nama Mahasiswa yang huruf terakhirnya A

    SELECT NamaMahasiswa

    FROM Mahasiswa

    WHERE RIGHT(NamaMahasiswa,1) =“A”

    m. Fungsi Ucase(string)

    Digunakan untuk mengubah string menjadi huruf kapital.

    Tampilkan nama mahasiswa dalam huruf kapital.

    SELECT UCASE (NamaMahasiswa) As NamaKapital

    FROM Mahasiswa

    n. Fungsi LCASE(string)

    Digunakan untuk mengubah string menjadi huruf kecil.

    Tampilkan nama mahasiswa dalam huruf kecil.

    SELECT LCASE (NamaMahasiswa) As NamaKecil

    FROM Mahasiswa

    o. Menggabungkan String

    Tampilkan nama Mahasiswa dan alamat dalam satu kolom.

    SELECT NamaMahasiswa + ‘ – ‘ + Alamat AS NamaAlamat

    FROM Mahasiswa

  • 29

    p. Fungsi Year(tanggal)

    Menampilkn tahun dari sebuah tanggal.

    Tampilkan tahun lahir dari Mahasiswa.

    SELECT YEAR (TanggalLahir) As TahunLahir

    FROM Mahasiswa;

    Tampilkan nama, umur dari mahasiswa

    SELECT NamaMahasiswa, YEAR(DATE())-

    YEAR(TGLLAHIR) AS Umur FROM Mahasiswa;

    Cara lain:

    SELECT NamaMahasiswa, (DATE()-TGLLAHIR)/365 AS Umur

    FROM Mahasiswa;

    q. Fungsi MONTH(tanggal)

    Digunakan untuk mengambil bulan dari tanggal

    1. Tampilkan nama, tgllahir, dan bulan lahir dari mahasiswa dalam kolom

    yang berbeda

    SELECT NamaMahasiswa, TanggallLahir, MONTH(TanggalLahir) AS

    BulanLahir

    FROM Mahasiswa;

    r. Fungsi DAY(tanggal)

    Digunakan untuk mengambil hari (1 – 31) dari data tanggal

    Tampilkan nama, tgllahir, dan hari lahir (1 – 31) dari mahasiswa;

    SELECT NamaMahasiswa, TanggallLahir, DAY(TanggalLahir) AS HariLahir

    FROM Mahasiswa;

    7. Latihan Pembuatan QueryQuery dalam Microsoft Access adalah sebuah permintaan atau panggilan

    suatu data dalam sebuah data base, sebenarnya Fungsi Queri ini mempunyai

    fungsi yang hampir sama dengan Filter pada Microsoft Excel. Query dalam

  • 30

    Microsoft Access mempunyai kelebihan dari Filter pada Microsoft Excel antara

    lain dapat menampilkan data dari dua table atau lebih dengan mudah. Untuk

    memahami Query kalian harus mampu membuat atau memahami table/database

    terlebih dahulu. Langkah langkah membuat Query dalam Microsoft Access.

    1. Membuat Query dalam Microsoft access, berarti Anda sudah mempunyai

    table/database,

    2. Bukalah database tersebut. Kemudian Klik Create terus pilih Query, seperti

    pada gambar dibawah ini .

    3. Pilihlah table yang akan dibuat Query, kemudian pilih Add seperti padagambar dibawah ini.

  • 31

    Gambar 2. 21. Query dalam Microsoft Access

    Ingat pembuatan Query adalah sebuah penyederhanaan dari sebuah table, kitajuga harus mempunyai table untuk dibuat Query. Pada gambar di atas yangakan kita buat Query adalah table dengan nama “Fakultas”, “Mahasiswa”, dan

    “Prodi” seperti pada gambar dibawah ini.

    4. Berilah centang pada data yang ingin kita tunjukkan pada tabel baru hasil

    pembuatan dari Query. Misalnya kita ingin menampilkan nama dan jumlah nilai

    sehingga akan, maka kita akan memilih kedua tersebut, perhatikan gambar

    dibawah ini untuk lebih memahami tentang pembuatan Query dalam Microsoft

    Access

  • 32

    Gambar 2. 22. Query dalam Microsoft Access

    Terlihat pada gambar di atas, field-field yang akan dipilih adalah NPM dari tabel

    Mahasiswa, Field NamaMahasiswa dari tabel Mahasiswa, field NamaProdi dari

    tabel Prodi dan Field NamaFakultas, dari tabel Fakultas, baris Sort dapatmembuat sort dalam query caranya hampir sama dengan sort dan filter padaMicrosoft Excel, show yang diconteng digunakan untuk menampilkan datatable.

    5. Setelah itu pilih View, kemudian pilih datasheet view, seperti pada gambardibawah ini

  • 33

    Gambar 2. 23. Query dalam Microsoft Access

    6. Tampilan akhir dari query yang akan kita buat nanti hasilnya adalah berupa

    datasheet, seperti pada gambar dibawah ini.

    Gambar 2. 24. Query dalam Microsoft Access

  • 34

    Pada gambar di atas tabel hanya menampilkan NPM, NamaMahasiswa,

    NamaProdi, NamaFakultas, ingat query ini sebenarnya hampir sama dengan

    filter dalam Microsoft Excel saja.

    8. Pembuatan Form

    Form digunakan untuk data entry (memasukan data) yang akan

    tersimpan dalam table atau query tergantung sumber (source) Form

    tersebut. Langkah membuat Form sbb:

    a. Pilih menu Create

    b. Klik icon Form

    Gambar 2. 25. Menu Create

    c. Sehingga muncul hasil seperti gambar di bawah ini

  • 35

    Gambar 2. 26. Form hasil query

    d. Jika ingin mendesain dengan lebih fleksibel, Klik Form

    Wizard, sehingga muncul dialog di bawah, lalu ikuti wizard

    yang ada.

    Gambar 2. 27. Form Wizard

  • 36

    e. Silakan Anda lanjutkan untuk memperoleh report yang sesuai

    tampilan yang diinginkan.

    E. RangkumanStruktur atau arsitektur basis data merupakan serangkaian pengetahuan

    tentang komponen penyusun data beserta hubungan komponen tersebut.

    Representasi struktur basis data diwujudkan dalam pemodelan data. Struktur

    tersebut meliputi File, table, field, record indeks, abstraksi data dan serangkaian

    konsep yang digunakan untuk membuat diskripsi struktur basis data. Abstraksi

    data merupakan suatu pendekatan dalam menggambarkan suatu data. Abstraksi

    data dapat diwujudkan dalam suatu skema basis data. Skema basis data

    merupakan diskripsi dari basis data yang spesifikasinya ditentukan dalam tahap

    perancangan. Skema ini digunakan untuk memisahkan antara fisik basis data

    dan program aplikasi pemakai.

    Arsitektur yang sering digunakan untuk membuat abstraksi data adalah arsitektur

    tiga skema yang meliputi tiga level yaitu: 1) Level Internal atau skema internal. 2)

    Level Konseptual atau skema konseptual 3) Level eksternal (skema eksternal

    atau view).

    Pemodelan data dapat dikelompokkan menjadi dua yaitu: 1) Object based

    logical model dan 2) Record-based logical model. Skema atau level Konseptual

    data menjelaskan tentang entitas, atribute, key dan relasi antar entitas. Entitas

    adalah obyek yang mewakili sesuatu dalam dunia nyata dan dapat dibedakan

    antara satu dengan lainnya (unique). Attribute merupakan karakteristik dari

    entitas atau relationship. Key adalah merupakan suatu atribut yang menandakan

    kunci dari suatu entitas yang bersifat unik Physical data merupakan suatu konsep

    bagaimana diskripsi detail data disimpan dalam sebuah komputer. Physical data

    menjelaskan definisi data yang meliputi nama atribut, type data (misalnya

    varchar, integer dll), size atau ukurannya data. Setiap DBMS mempunyai aturan-

    aturan tersendiri dalam

    membuat definisi, struktur basis data dan tipe data yang digunakan.

    Normalisasi data adalah proses yang berkaitan dengan model data relasional

    untuk mengorganisasi himpunan data dengan ketergantungan tinggi. Hasil dari

    proses normalisasi adalah tabel data dalam bentuk normal. Terdapat enam

  • 37

    bentuk normal tabel yaitu: 1) Bentuk Normal Tahap pertama (1st NF). 2) Bentuk

    Normal Tahap Kedua (2nd NF). 3) Bentuk Normal Tahap Ketiga (3rd NF). 4)

    Bentuk Normal Boyce - Code (BCNF). 5) Bentuk Normal Tahap Keempat (4rd

    NF). 6) Bentuk Normal Tahap Kelima (4rd NF) BCNF merupakan bentuk normal

    sebagai perbaikan terhadap 3NF. Suatu relasi yang memenuhi BCNF selalu

    memenuhi 3NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3NF

    belum tentu memenuhi BCNF. Karena dalam bentuk 3 NF masih memungkinkan

    terjadi anomali Suatu tabel relasional dikatakan dalam bentuk normal keempat

    (4NF) jika memenuhi beberapa ketentuan sebagai berikut: 1) Bila dan hanya bila

    telah berada dalam bentuk BCNF dan tidak ada multivalued dependency

    nontrivial. 2) Multivalued dependency (MVD) dipakai dalam bentuk normal

    keempat (4NF). 3) Dependensi ini dipakai untuk menyatakan hubungan one to

    manyBentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless

    decomposition menjadi tabel-tabel yg lebih kecil. Jika 4 bentuk normal

    sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk

    berdasarkan konsep join dependence.

    Penerapan normalisasi mengakibatkan efek samping yang tidak

    diharapkan,yaitu:1) Proses dekomposisi relasi akan mengakibatkan munculnya

    duplikasi rinci data pada atribut kunci penghubung (foreign key). 2) Dekomposisi

    relasi membuka kemungkinan tidak terpenuhi integritas refernsial (referential

    integrity) dalam basis data. 3) Dekomposisi relasi akan menghasilkan semakin

    banyak jumpak relasi baru, sehingga mengakibatkan inefisiensi proses

    menampilkan kembali data-data dari dalam basis data. 4) Adanya batasan

    penerapan pada beberapa DBMS untuk ukuran computer pribadi/PC, berkaitan

    dengan batas maksimal relasi yang dapat dibuka secara bersamaan

    F. TugasDalam kegiatan ini peserta didik akan melakukan eksperimen atau praktikum

    secara berkelompok satu kelompok terdiri dari dua sampai tiga orang.

    Eksperimen dilakukan melalui pengamatan terhadap contoh aplikasi pada

    kegiatan 1 kemudian merancang dan membuat struktur basis datanya. Bacalah

    seluruh langkah eksperimen dibawah ini kemudian lakukan dengan cermat dan

    teliti dengan perangkat yang telah disediakan.