Modul 2 · 2015. 12. 29. · maksimal 30 digit, dan no_hp dengan tipe data varchar dan panjang...

14
1 Modul 2 Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop Disusun oleh Sri Siska Wirdaniyati JURUSAN STATISTIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS ISLAM INDONESIA YOGYAKARTA 2013

Transcript of Modul 2 · 2015. 12. 29. · maksimal 30 digit, dan no_hp dengan tipe data varchar dan panjang...

  • 1

    Modul 2 Database Menggunakan Primary Key,

    Unique, Auto Increment, Alter-Add dan

    Alter-Drop

    Disusun oleh

    Sri Siska Wirdaniyati

    JURUSAN STATISTIKA

    FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

    UNIVERSITAS ISLAM INDONESIA

    YOGYAKARTA

    2013

  • 2

    BAB I

    PENDAHULUAN

    1.1 Kunci Primer

    Dalam membuat sebuah database pasti akan menemui sebuah record yang

    datanya tidak boleh sama dengan record yang lain. Agar data tidak kembar dapat

    membuat kolom yang dideklarasikan sebagai kunci primer atau primary key.

    Untuk membuat sebuah kuncir primer hanya boleh membuatnya sekali. Kunci

    primer sebenarnya diciptakan untuk menjadi kolom utama sebuah tabel. Dengan

    demikian data pada kolom kunci utama tidak mungkin kembar. Hal ini terjadi

    karena ketika memasukkan data yang sama, proses tersebut akan ditolak oleh

    database. Kondisi adanya data kembar dikenal dengan istilah redudansi data.

    Syarat utama untuk menciptakan kunci primer adalah kolom tersebut tidak

    boleh kosong atau diset dengan nilai NOT NULL. Syntax penulisan perintah

    menciptakan kunci utama/primer adalah :

    CREATE TABLE nama_tabel (

    Kolom_primer type (lenght) NOT NULL,

    Kolom_2 type (lenght),

    .......................,

    PRIMARY KEY (kolom_primer));

    Atau dapat ditulis dengan :

    CREATE TABLE nama_tabel (

    Kolom_primer type (lenght) NOT NULL

    PRIMARY KEY,

    Kolom_2 type (lenght),

    .......................,

    );

    1.2 Kolom/ Field Unik

    Kolom unik adalah sebuah bentuk kolom yang tidak mengizinkan adanya

    data kembar, apabila pada proses input didapati data kembar, proses tersebut akan

    dinyatakan gagal atau ditolak oleh database. Kolom unik sebenarnya memiliki

    prinsip serupa dengan primary key, yaitu data kembar. Selain itu, dalam satu tabel

    dapat dibentuk lebih dari satu kunci, baik kunci primer maupun kunci unik. Yang

    menjadi perbedaan adalah banhwa kunci primer akan selalu menjadi kunci utama,

    sedangkan kunci unik tidak demikian.

    Pada kunci unik, kolom harus didefinisikan dengan NOT NULL. Untuk

    membentuk kolom unik dapat menggunakan perintah UNIQUE. Berikut adalah

    syntax dasarnya :

  • 3

    Create table nama_tabel (

    Kolom _uniq type (lenght) not null,

    Kolom_2 type (lenght),

    .........................,

    Unique (kolom_uniq));

    Pada syntax di atas untuk menciptakan lebih dari satu kolom yang bernilai

    unik, ketika pendeklarasian tuliskan nama kolom apa saja yang akan dijadikan

    kunci unik, yaitu dengan menggunakan tanda koma sebagai penghubung, sehingga

    bentuk perintahnya akan seperti berikut:

    UNIQUE (kolom_uniq-1, kolom_uniq-2)

    1.3 Kolom/ Field Penambahan Otomatis

    Kolom dengan kemampuan yang dapat merekam dan tak harus memasukkan

    data namun dapat muncul sendiri secara otomatis diciptakan dengan metode Auto

    Increment.

    Dari istilah Auto Increment penambahan automatis yang dilakukan adalah

    penambahan yang sifatnya berurutan dari kecil menjadi besar. Auto Increment

    hanya dapat dibuat apabila data berupa angka atau integer (termasu Long Int dan

    Tiny Int).

    Metode penambahan automatis seperti ini biasanya digunakan untuk

    mendefinisikan sebuah kode berupa kunci utama seperti nomor record atau nomor

    urut pada baris tabel. Untuk membuat kolom kunci semacam itu digunakan

    AUTO_INCREMENT.

    Penggunaan bentuk Auto Increment memiliki syarat-syarat khusus yaitu

    data harus berupa data integer dan kunci primer atau primary key. Selain itu hanya

    diijinkan untuk membentuk sebuah kunci dengan kemampuan Auto Increment

    dalam satu tabel. Untuk membuat sebuah kolom Auto Increment dapat

    menggunakan perintah seperti berikut :

    CREATE TABLE nama_tabel (

    Kolom_primer type (lenght)

    NOT NULL AUTO_INCREMENT,

    Kolom_2 type (lenght),

    ............................,

    PRIMARY KEY (kolom_primer));

    Pada syntax di atas penentuan Auto Increment harus didefinisikan terlebih

    dahulu sebelum bentuk kuncinya. Syarat yang mungkin harus dipenuhi adalah

    kolom tersebut harus berupa data integer dan dipasang sebagai kunci utama bukan

    unik.

    1.4 Perubahan Kolom/ Field tabel

    MySQL memungkinkan melakukan perubahan struktur tabel tanpa

    mempengaruhi isi database tersebut. Untuk melakukan perubahan field tabel,

    query yang digunakan adalah ALTER TABLE, dengan syntax adalah :

  • 4

    ALTER TABLE nama_tabel alter_spesifikasi kondisi;

    Perubahan bentuk tabel dapat berkaitan degan ADD sebagai penambah

    kolom/field. Menambahkan kolom dapat diartikan sebagai langkah untuk

    menyisipkan sebuah field atau kolom baru ke dalam sebuah tabel untuk melakukan

    penambahan jumlah kolom ke dalam tabel yang telah dibuat, maka alter

    spesifikasi yang digunakan adalah ADD dengan syntax adalah:

    ALTER TABEL nama_tabel

    ADD nama_field type (lenght);

    1.5 Penghapusan Kolom/Field

    Apabila ada penambahan kolom, tentunya juga ada penghapusannya.

    Penghapusan ini sebenarnya jarang digunakan karena sudah barang tentu seorang

    pencipta database akan merancang sistem tabelnay sesempurna mungkin. Akan

    tetapi apabila terdapat kesalahan, misalnya field tersebut tidak digunakan lagi,

    maka sebaiknya dihilangkan saja, karena berpengaruh pada kapasitas tabel yang

    terbentuk.

    Seperti biasanya, penghapusan di dalam MySQL pastilah menggunakan

    query DROP. Syntax yang digunakan adalah :

    ALTER TABLE nama_tabel DROP nama_field;

  • 5

    BAB II

    DESKRIPSI KERJA

    Sebelum menciptakan database dengan penambahan kunci primer, kolom

    unik, auto increment, perubahan kolom dan penghapusan kolom, praktikan harus

    mengetahui terlebih dahulu langkah-langkah kerja. Langkah pertama adalah

    memastikan bahwa software MySQL ( appache2triad 5.4) telah terinstal dengan

    sukses. Langkah selanjutnya adalah membuka aplikasi MySQL dan menggunakan

    perintah primary key, unique, auto increment, alter dengan add dan alter dengan

    drop. Adapun cara membuka dan menggunakan perintah primary key, unique,

    auto increment, alter dan drop sebagai berikut :

    1. Klik Windows Explorer kemudian kilk Local Disk (C;)

    2. Pilih Folder apache2triad.

    3. Pilih folder mysql – folder bin.

    4. Klik aplikasi mysql sehingga akan tampil seperti pada gambar 2.1 di bawah

    ini.

    Gambar 2.1 mysql.exe

    Gambar 2.1 mysql.exe

  • 6

    5. Buatlah basis data baru dengan nama basis data seperti perintah: mysql>

    create database tes_online; kemudian tampilkan seluruh basis

    data yang telah di ciptakan dengan perintah: mysql> show databases;,

    dan aktifkan basis data dengan perintah: mysql> use tes_online;.

    6. Buatlah tabel dari basis data tes_online dengan isi kolom seperti perintah di

    bawah ini :

    mysql> create table peserta(

    -> user_id int (3) not null auto_increment,

    -> password int (6) not null,

    -> nama varchar (20),

    -> gender varchar (10),

    -> email varchar (30) not null,

    -> no_hp varchar (15),

    -> primary key (user_id),

    -> unique (password, email));

    7. Tampilkan kolom yang telah diciptakan dengan perintah : mysql> desc

    peserta;, kemudian isilah data kolom dengan perintah dan contoh seperti

    di bawah ini :

    mysql> insert into peserta

    ->(user_id, password, nama, gender, email,

    no_hp) values

    ->('220','123456','Amanda','perempuan','amand

    [email protected]', '085356576890');

    7. Tampilkan isian kolom dengan perintah : select*from peserta;.

    8. Tambahkan satu kolom pada tabel dengan dengan perintah dan contoh seperti

    di bawah ini :

    mysql> alter table peserta

    -> add tanggal_akses varchar (20);

    9. Hapuslah salah satu kolom pada tabel dengan perintah dan contoh seperti di

    bawah ini :

    mysql> alter table peserta

    -> drop no_hp;

    10. Setelah pengetikan perintah-perintah telah selesai, langkah terakhir adalah

    menampilkan tabel untuk memastikan bahwa basis data yang diciptakan

    sesuai dengan penambahan kunci primer, kolom unik, auto increment,

    perubahan (penambahan) kolom dan penghapusan kolom.

  • 7

    BAB III

    PEMBAHASAN

    Dalam Bab III tentang pembahasan ini praktikan akan menjelaskan basis

    data yang telah diciptakan dari sebuah kasus. Untuk penyelesaian praktikum kali

    ini praktikan mengambil kasus pendataan peserta tes online. Dalam pendataan ini

    praktikan menggunakan basis data dengan nama ‘tes_online’ dan sebuah tabel

    dengan nama ‘peserta’. Ada beberapa faktor pendukung yang menyebabkan

    praktikan mengambil kasus pendataan peserta tes online sebagai berikut :

    1. Pada zaman modern sekarang banyak para pemuda-pemudi khusunya pelajar

    ingin mengetahui intelegensi otaknya dengan pengerjaan soal. Salah satu

    media yang digunakan adalah pengerjaan soal secara online.

    2. Data-data peserta pengerjaan soal tidak disusun secara teratur dan baik

    sehingga banyak data peserta yang ganda atau tidak diketahui siapa yang

    menjawab soalnya.

    Berdasarkan faktor tersebut, pendataan peserta tes online memiliki tujuan

    dan fungsi sebagai berikut :

    1. Untuk mengetahui berapa banyak peserta ikut andil dalam pengerjaan soal

    secara online.

    2. Untuk dijadikan sebagai referensi pendataan basis data bagi para pembaca.

    Untuk penjelasan kasus basis data peserta tes online kali ini, praktikan

    mempergunakan printscreen MySQL dari basis data yang telah diciptakan seperti

    pada gambar 3.1 di bawah ini.

    SYNTAX CREATE DATABASE SYNTAX SHOW DATABASES

  • 8

    SYNTAX USE SYNTAX CREATE TABLE

    NOT NULL

    TYPE (LENGHT)

    SYNTAX KUNCI PRIMER DAN KOLOM UNIK

    SYNTAX AUTO_INCREMENT

    PENANDA KOLOM SEBAGAI KUNCI

    UTAMA DAN KOLOM UNIK

    SYNTAX INSERT INTO

    SYNTAX SELECT*FROM

    TIDAK ADA FIELD USER_ID

    FUNGSI AUTO_INCREMENT BEKERJA

  • 9

    Gambar 3.1 mysql.exe basis data peserta tes online

    Pertama kali MySQL terbuka, praktikan akan menemukan kalimat

    ‘Welcome to the MySQL monitor dan beberapa fungsi help MySQL. Fungsi help

    di dalam MySQL adalah fasilitas bantuan yang berkenaan dengan pengaturan

    server sendiri. Cara pengaksesannya dilakukan dengan mengetik perintah help.

    Selain itu, praktikan juga akan menemukan output ‘mysql >’ yang merupakan,

    prompt standar yang menandakan siap menerima perintah baru dari praktikan.

    Untuk menyelesaikan kasus, praktikan harus menciptakan basis data baru

    dengan menggunakan perintah create database. Create merupakan bahasa SQL

    dari bentuk query DDL (Data Definition Languange). Create database digunakan

    dalam penciptaan basis data baru yang akan digunakan praktikan ataupun

    programmer. Dalam penciptaan basis data baru ini, praktikan menggunakan nama

    basis data dengan kartu_anggota. Dalam penulisan create database kartu_anggota

    diakhiri tanda titik koma (;). Pada umumnya perintah MySQL memang selalu

    diakhiri dengan tanda titik koma (;). Pada penamaan nama basis data tidak boleh

    mengandung spasi karena akan menyebabkan syntax SQL mengalami error. Pesan

    error berguna untuk menidentifikasi kesalahan dari praktikan.

    Apabila penciptaan basis data berhasil, server akan mengeluarkan output

    ‘Query OK, 1 row affected (0,05 sec)’. Output itu menyatakan bahwa penciptaan

    basis data dengan nama tes_online dinyatakan berhasil sehingga apabila melihat

    SYNTAX ALTER-ADD

    SYNTAX ALTER-DROP

  • 10

    direktori data pada server MySQL dapat ditemukan sebuah direktori baru dengan

    nama tes_online, atau praktikan dapat juga melihat melalui perintah show.

    Show databases merupakan query untuk menampilkan basis data yang ada

    pada direktori data. Pengikutan huruf ‘s’ pada kata databases menunjukkan

    jumlah basis data di dalam direktori lebih dari satu, dengan kata lain show

    databases memiliki arti akan menampilkan semua basis data yang ada pada

    direktori server MySQL. Show databases akan menampilkan sebuah tabel dengan

    field Database yang meliputi minimal mysql, information_scema, dan basis data

    yang telah diciptakan.

    Bila telah ditentukan basis data yang akan digunakan, praktikan harus

    mengaktifkan basis data dengan menggunakan perintah use. Syntax use berarti

    menggunakan atau membuka yang bermakna bahwa praktikan telah masuk ke

    dalam sebuah basis data dan siap untuk menyelesaikan kasus. Perintah use

    dinyatakan berhasil jika server mengeluarkan output ‘Database changed’ yang

    berarti basis data yang digunakan telah diaktifkan.

    Apabila sudah masuk ke dalam basis data tes_online, praktikan telah

    diizinkan melakukan operasi pembuatan tabel dan isinya. Perintah untuk

    menciptakan tabel hampir sama dengan menciptakan basis data baru dengan

    menggunakan perintah create. Pada penciptaan basis data baru menggunakan

    perintah create database, maka penciptaan tabel menggunakan perintah create

    table. Create table adalah bahasa SQL dari bentuk query DDL (Data Definition

    Languange) yang berguna untuk melakukan penciptaan tabel.

    Dalam penyelesaian kasus ini, praktikan menciptakan tabel dengan nama

    ‘peserta’. Apabila pengetikan create table peserta telah selesai, praktikan harus

    menambahkan tanda kurung terbuka sebagai tanda awal dari penciptaan isi tabel.

    Maka secara otomatis bila tombol Enter ditekan akan ada output tanda panah (-->)

    yang menyatakan bahwa perintah MySQL tersebut dianggap belum selesai. Untuk

    penghubung nama-nama kolom digunakan tanda baca koma (,), sedangkan untuk

    mengakhiri perintah digunakan tanda baca titik koma (;).

    Pada tabel terdapat baris (recordset) dan kolom (field). Pada pembuatan field

    harus menggunakan Type (tipe data) dan Lenght (panjang record). Penggunaan

    tipe data dan panjang record merupakan batas ukuran data yang dapat di simpan di

    dalamnya.

    Dalam penyelesaian kasus ini, praktikan menggunakan field berisi user_id

    dengan tipe data int dan panjang record maksimal 3 digit, password dengan tipe

    data int dan panjang record maksimal 6 digit, nama dengan tipe data varchar dan

    panjang record maksimal 20 digit, gender dengan tipe data varchar dan panjang

    record maksimal 10 digit, email dengan tipe data varchar dan panjang record

  • 11

    maksimal 30 digit, dan no_hp dengan tipe data varchar dan panjang record

    maksimal 15 digit. Pada field user_id, password dan email diikuti dengan tulisan

    not null. Hal ini menyatakan bahwa kolom yang diisi tidak boleh kosong,

    sedangkan istilah boleh kosong di sebut dengan null atau null yes.

    Pada penyelesaian praktikum kali ini, praktikan menggunakan kunci primer

    (primary key) dan kolom unik (unique). Kunci primer dan kolom unik digunakan

    untuk mencegah data yang kembar dan dalam satu tabel dapat dibentuk lebih dari

    satu, atau dengan kata lain apabila diproses dan didapati data kembar maka

    dinyatakan gagal atau ditolak oleh basis data. Syarat untuk menciptakan kunci

    primer dan kolom unik adalah isian kolom tersebut tidak boleh kosong (not null).

    Perbedaaanya kalau kunci primer akan selalu menjadi kunci utama, sedangkan

    kolok unik tidak demikian. Dalam penyelesaian kali ini, kunci primer pada field

    user_id dan kolom unik pada field password dan email.

    Selain menggunakan kunci primer dan kolom unik, praktikan juga

    menggunakan auto_increment (penambahan otomatis) pada field user_id. Apabila

    praktikan lupa memasukkan user_id, maka secara otomatis field user_id akan

    terisi. Metode penambahan ini digunakan untuk mendefinisikan sebuah kode

    berupa kunci utama seperti nomor record atau nomor urut baris tabel. Berdasarkan

    hal tersebut bahwa auto_increment hanya dapat berfungsi pada data berupa angka

    (integer) dan kunci primer (primary key).

    Untuk melihat deskripsi tabel yang telah diciptakan, praktikan dapat

    menggunakan perintah desc peserta atau describe peserta sehingga server akan

    menampilkan sebuah tabel yang terdiri dari field, type, null, key, default dan extra.

    Field berisi nama kolom isian dan type berisi tipe data dan panjang record dari

    kolom isian. Sedangkan null berisi tulisan yes atau no. Yes menandakan bahwa

    kolom isian boleh kosong (null) dan no menandakan bahwa kolom isian tidak

    boleh kosong (not null). Pendeskirpsian kunci primer dan kolom unik terletak

    pada key. Apabila kolom key bertuliskan ‘PRI’ maka kolom isian mengandung

    kunci primer dan ‘MUL’ maka kolom isian mengandung kolom unik. Sedangkan

    default biasanya dapat digunakan pada hampir semua tipe data. Default berfungsi

    untuk menyediakan nilai bawaan untuk kolom seandainya tidak ada data yang di-

    input kepada kolom tersebut. Dengan kata lain, kolom default jika bertuliskan null

    berarti kalau tidak mengisikan data pada saat input data, maka secara otomatis

    akan kosong. Sementara Extra berfungsi untuk menentukan apakah nilai field

    merupakan auto increment atau tidak.

    Untuk memasukkan data atau entry data dapat digunakan perintah insert.

    Insert merupakan bahasa SQL dari bentuk query DML (Data Manipulation

    Language) yang berfungsi untuk melakukan pemanipulasian basis data yang telah

  • 12

    ada atau telah diciptakan sebelumnya. Peng-input-an data dengan insert into selalu

    diikuti kata values yang menyatakan urutan data yang akan di-input-kan.

    Apabila saat peng-input-an data pada user_id berupa data yang sama

    (kembar), maka server akan mengeluarkan output ‘ERROR 1062 (23000):

    Duplicate entry ‘220’ for key 1. Pesan error ini menyatakan bahwa data user_id

    yang di-input telah ada dan pesan ini berguna untuk mengidentifikasi kesalahan

    dari praktikan. Sedangkan apabila peng-input-an data tanpa menyebutkan field

    user_id seperti pada gambar 3.1 di atas, maka server akan secara otomatis akan

    menambahkan user_id secara urut. Pada saat proses penambahan inilah auto

    increment berfungsi.

    Apabila pemasukkan data telah selesai, praktikan bisa menampilkan hasil

    dari peng-input-an data. Hal ini sangat penting karena praktikan dapat melihat dan

    menyeleksi suatu data dalam tabel yang tidak berguna atau kurang. Perintah yang

    digunakan untuk menampilkan hasil dari peng-input-an data dapat menggunakan

    query select. Sama seperti halnya dengan insert, select juga merupakan bahasa

    SQL dari bentuk DML. Pada syntax select terdapat tanda bintang (*) yang berarti

    semua. Dengan adanya tanda bintang menyatakan bahwa server menampilkan

    secara keseluruhan data input di dalam tabel peserta.

    Dalam penyelesaian kasus kali ini, praktikan harus menambahkan dan

    menghapus satu kolom. Untuk menambahkan kolom menggunakan perintah alter

    dengan alter spesifikasi yang digunakan adalah add. Dalam penyelesaian kasus

    ini, praktikan menambahkan satu kolom dengan nama ‘tanggal_akses’. Sedangkan

    untuk menghapus kolom menggunakan perintah alter dengan spesifikasi drop.

    Dalam penyelesaian kasus ini, praktikan menghapus kolom dengan nama ‘no_hp’.

    Apabila proses alter dengan spefikiasi add dan drop selesai dan ditampilkan,

    maka hanya akan ada kolom dengan nama ‘user_id, password, nama, gender,

    email dan tanggal_akses’.

  • 13

    BAB IV

    PENUTUP

    Berdasarkan praktikum dengan menggunakan kunci primer (primary key),

    kolom unik (unique), auto increment, alter-add dan alter drop dengan kasus

    pendataan peserta tes online dapat disimpulkan bahwa :

    1. Penginputa data peserta tes online dalam basis data tidak akan ditemukan data

    user id yang kembar dan selalu berurut.

    2. Pengelolaan basis data peserta tes online dengan MySQL sangat membantu

    pendataan tersusun secara teratur dan sistematis.

  • 14

    DAFTAR PUSTAKA

    Hakim, Fajriya. 2011. Modul Praktikum. Yogyakarta : Jurusan Statistika Fakultas

    Matematika dan ilmu pengetahuan Alam Universitas Islam Indonesia

    Sidik, Betha. 2005. MySQL Untuk Pengguna, Administrator, dan Pengembangan

    Aplikasi Web. Bandung : Penerbit Informatika