Aplikasi Basis Data - repository.bsi.ac.id€¦ · Microsoft Access, MySQL, MariaDB, Oracle, Server...

of 123 /123
MODUL Aplikasi Basis Data Disusun Oleh: Feri Prasetyo H.

Embed Size (px)

Transcript of Aplikasi Basis Data - repository.bsi.ac.id€¦ · Microsoft Access, MySQL, MariaDB, Oracle, Server...

  • MODUL

    Aplikasi Basis Data

    Disusun Oleh:

    Feri Prasetyo H.

  • Kata Pengantar

    Puji Syukur kehadirat Tuhan Yang Maha Esa karena atas limpahan rahmat-Nya

    sehingga kami dapat menyelesaikan modul Logika Algoritma Untuk Masiswa semester

    2 matakuliah Aplikasi Basis Data. Pada modul ini diberikan contoh-contoh kasus untuk

    mempermudah memahami konsep database dengan menanpilkan Xampp merupakan

    suatu tools yang bersifat open source yang sering dipergunakan untuk pengembangan

    aplikasi berbasis website yang didalamnya sudah menyediakan paket seperti Apache,

    MySQL, MariaDB, PHP, phpMyAdmin, FileZilla, Tomcat, Xampp Control Panel,

    dengan konsep mengunakan command prompt sebagai sarana penulisan script bahasa

    SQL, dan Menggunakan PhpMyAdmin merupakan tools dengan Graphic User Interface

    yang dapat memudahkan dalam pengelolaan database pada MySQL.

    Kami menyadari masih banyak kekurangan dalam penyusunan modul ini. Oleh

    karena itu, kami sangat mengharapkan kritik dan saran demi perbaikan dan

    kesempurnaan modul ini.

    Kami mengucapkan terima kasih kepada berbagai pihak yang telah membantu

    proses penyelesain modul ini, Semoga modul ini dapat bermanfaat bagi kita semua,

    khususnya para peserta didik.

    Penulis

  • DAFTAR ISI

    Kata Pengantar ii

    Daftar Isi iii

    Konsep Dasar Basis Data 1

    MYSQL dan MariaDB 7

    Data Definition Language 21

    Data Manipulation Language 36

    Data Manipulation Language II 52

    Studi Kasus 67

    Review Materi 82

    Ujian Tengah Semester 83

    PhpMyAdmin 84

    Fungsi Join 100

    Fungsi Join II 110

    Review Materi 116

    Daftar pustaka 120

  • 1 | P a g e

    BAB I

    KONSEP DASAR BASIS DATA

    Konsep Dasar Basis Data

    Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita

    memiliki sebuah lemari arsip dan berwenang untuk mengelolanya. Atau kumpulan informasi

    yang terorganisasi dan disajikan untuk tujuan khusus. Prinsip utama basis data adalah

    pengaturan data atau arsip. Sedangkan tujuan utamanya adalah kemudahan dan kecepatan

    dalam pengambilan data atau arsip. Sedangkan sistem basis data merupakan perpaduan antara

    basis data dan sistem manajemen basis data (DBMS). DBMS (Database Management System)

    adalah software yang menangani semua akses ke basis data. Contoh dari DBMS yaitu

    Microsoft Access, MySQL, MariaDB, Oracle, Server 2000, Interbase, Paradox, dan Lain-Lain.

    Berikut susunan umum hierarki pada suatu basis data:

    Berikut penjabaran dari struktur basis data diatas:

    1. Karakter

    Merupakan bagian terkecil dalam database, dapat be rupa karakter numerik (angka 0 s/d

    9), huruf (A-Z, a-z) ataupun karakter-karakter khusus seperti *, &, %, #, dan lain-lain.

  • 2 | P a g e

    2. Field

    Merupakan bagian dari record yang menunjukkan suatu item data yang sejenis, misalnya

    field nama, field nim, dan lain sebagainya. Setiap field harus mempunyai nama dan tipe data

    tertentu. Isi dari field disebut Data Value. Dalam database, field ini disebut juga kolom.

    3. Record

    Merupakan kumpulan data value dari attribute yang berkaitan sehingga dapa menjelaskan

    sebuah entity secara lengkap. Misalnya record entity mahasiswa adalah kumpulan data

    value dari field. Dalam database, record disebut juga baris.

    4. Tabel

    Entity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisa berupa

    objek, orang, tempat, kejadian atau konsep yang informasi nya akan disimpan dalam

    database. Dalam aplikasi, penggunaan istilah entity sering disamakan dengan istilah tabel.

    Disebut tabel, karena dalam mempresentasikan datanya diatur dalam bentuk baris dan

    kolom. Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database

    tradisional, entity/tabel ini disebut juga dengan file.

    5. Database

    Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis sehingga menghasilkan

    informasi yang bernilai guna dalam proses pengambilan keputusan.

    BASIS DATA (DATA BASE) adalah himpunan kelompok data /kumpulan data yang saling berhubungan

    secara logis dan deskripsinya, yang disimpan secara bersama sedemikian rupa dan dirancang untuk memenuhi

    kebutuhan informasi organisasi.

    Prinsip Dan Tujuan Basis Data

    - Prinsip utamanya adalah pengaturan data/arsip.

    - Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan data/arsip. Yang sangat

  • 3 | P a g e

    ditonjolkan dalam basis data adalah pengaturan, pemilahan, pengelompokkan, pengorganisasian data

    yang akan kita simpan sesuai fungsi/jenisnya. Pengorganisasian data tersebut dapat dalam bentuk

    tabel terpisah atau dalam bentuk pendefinisian kolom (field) data dalam setiap tabel.

    Sistem Basis Data

    Sistem adalah sebuah tatanan yang terdiri atas sejumlah komponenfungsional yang saling berhubungan dan

    secara bersama-sama bertujuan untuk memenuhi suatu proses tertentu.

    Contoh : Sistem = kendaraan Komponen fungsional= pemantik/starter (untuk memulai pengapian),

    komponen pengapian (untuk pembakaran BBm yang membuat torak bekerja), dst.

    - Basis data hanyalah sebuah objek yang pasif.

    - Software/ aplikasi/ program adalah penggerak atau pengelolanya. –Sistema dalah gabungan dari ke

    duanya. Sistem Basis Data merupakan sistem yang terdiri atas kumpulan tabel data yang saling

    berhubungan dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/ atau

    program lain untuk mengakses dan memanipulasi tabel-tabel data tersebut.

    DBMS adalah perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, mengelola, dan

    mengontrol akses kebasis data. DBMS yang mengelola basis data relational disebut dengan Relational DBMS

    (RDBMS)

    Contoh perangkat lunak yang termasuk DBMS: dBase, FoxBase, Rbase, Microsoft-Access, Borland Paradox/

    Borland Interbase, MS-SQLServer, Oracle, Informix, Sybase, MySQL, dll.

  • 4 | P a g e

    Contoh penjabaran struktur basis data:

    Nama Database : mahasiswa_bsi Nama Tabel : mahasiswa

    Value (Nilai dari suatu Field yang terdiri dari karakter- karakter)

    Record Ke-1

    Record Ke-2

    Record Ke-3

    Field nim Field nama Field alamat

    Nama Tabel : Matakuliah

    kd_matkul nm_matkul Sks

    CPP Borland C++ 4

    ABD Aplikasi Basis Data 4

    VBS Visual Basic I 4

    Instalasi Xampp

    Untuk pembelajaran pada modul aplikasi basis data ini menggunakan software

    XAMPP. Untuk lebih lanjut mengenai berbagai produk xampp, silahkan kunjungi situs

    https://www.apachefriends.org/index.html. Xampp merupakan suatu tools yang bersifat open

    source yang sering dipergunakan untuk pengembangan aplikasi berbasis website yang

    didalamnya sudah menyediakan paket seperti Apache, MySQL, MariaDB, PHP,

    phpMyAdmin, FileZilla, Tomcat, Xampp Control Panel. Xampp sendiri telah tersedia juga

    untuk platform Windows mauppun Linux.

    nim Nama alamat

    12140001 Helga Elzar Adha Cawang

    12140002 Rifky Zarel Putra Jatiwaringin

    11140003 Fikri Putra Zarel Kaliabang

    https://www.apachefriends.org/index.html

  • 5 | P a g e

    Versi xampp yang digunakan dalam modul praktikum ini adalah xampp minimal versi

    5.6.3 dengan extensi PHP telah mendukung mysqli dan server MariaDB.

    Note :

    1. Untuk memudahkan pembelajaran instalasi xampp berada pada Localdisk C:\, setelah

    instalasi selesai pindahkan xampp control panel pada Taskbar Laptop/PC dengan cara

    masuk ke Explore, lalu arahkan ke lokasi penyimpanan saat Instalasi (pada contoh, saat

    instalasi memilih Lokasi di C:/xampp). Kemudian cari file aplikasi bernama xampp-

    control, lalu klik kanan pada file tersebut dan pilih Pin to Taskbar, seperti gambar

    dibawah ini:

    2. Lalu periksa Xampp Control Panel dengan menjalankannya pastikan tab MySQL dan

    Apache dalam kondisi Running.

  • 6 | P a g e

    3. Untuk memastikan kembali, silahkan buka web browser lalu ketikan dengan alamat

    http://localhost/xampp/ , jika berhasil tampil halaman pembuka xampp maka instalasi

    dikatakan berhasil pada Laptop/PC.

    http://localhost/xampp/

  • 7 | P a g e

    BAB II

    MYSQL dan MariaDB

    Pengenalan MySQL dan MariaDB

    MySQL adalah sebuah program database server yang mampu menerima dan

    mengirimkan datanya dengan sangat cepat, multi user serta menggunakan perintah standar

    SQL (Structure Query Language).

    MySQL merupakan hasil ciptaan dari Michael “Monty” Widenius, David Axmark,

    dan Allan Larson. Pada tahun 1995 mereka lalu mendirikan perusahaan bernama MySQL AB

    di Swedia. Tujuan awal diciptakannya MySQL yaitu untuk mengembangkan aplikasi web

    yang akan digunakan oleh salah satu klien MySQL AB. Database MySQL, biasa kita baca

    mai-es-ki-el merupakan perangkat lunak database yang berbentuk database relasional atau

    dalam bahasa basis data sering disebut dengan Relation Database Management System

    (RDBMS) yang menggunakan suatu bahasa permintaan bernama SQL. Perbedaan antara

    MySQL dan SQL, MySQL adalah program database server sedangkan SQL adalah bahasa

    yang digunakan didalamnya.

    Seiring akuisisi dan dimilikinya MySQL oleh Oracle, maka para pengembang awal

    MySQL membangun sebuah sistem manajemen database baru yang dinamakan MariaDB.

    Sehingga bisa dikatakan MariaDB merupakan open source pengembangan dari MySQL yang

    full free. Xampp sendiri telah mengganti database MySQL dengan MariaDB sejak versi 5.5.3.

    Sehingga modul praktikum ini menggunakan basis data dengan Jenis Server MariaDB.

    Pengenalan Command Prompt

    Basis Data terdapat dalam paket instalasi xampp yang telah dibahas pada bahasan

    sebelumnya. Letak lokasi tersimpannya database berada pada direktori C:\xampp\mysql\data

    (jika instalasi xampp berada pada localdisk C:\).

  • 8 | P a g e

    Pada pembelajaran ini, menggunakan media command prompt sebagai sarana

    penulisan script bahasa SQL. Untuk membuka command prompt pada Laptop/PC bisa

    menggunakan berbagai cara, berikut salah satu caranya:

    1. Pilih menu Start -> All Programs -> Accessories Kemudian Pilih Command Prompt.

    2. Klik Kanan pada command prompt atau cmd, lalu pilih Run as administrator.

    3. Berikut tampilan command prompt saat terbuka:

    4. Untuk memodifikasi tampilan dari command prompt, bisa dengan cara klik kanan pada

    kotak dialog, kemudian pilih properties.

    5. Pengaturan modifikasi dapat melalui tab Options, Font, Layout, Colors pada properties

    command prompt. Berikut hasil modifikasi tampilan yang telah dilakukan:

  • 9 | P a g e

    Menjalankan MariaDB dengan Command Prompt

    Dalam modul Aplikasi Basis Data ini, diasumsikan Instalasi Xampp berada pada

    Localdisk C. Perintah dibawah ini adalah untuk masuk kedalam MariaDB dengan user root.

    Saat command prompt telah dijalankan, ketikan perintah seperti dibawah ini:

    1. Ketikan perintah cd c:\ (lalu kemudian tekan Enter)

    2. Lalu ketikan perintah “xampp/mysql/bin/mysql.exe” –u root -p (lalu kemudian tekan

    Enter)

    3. Pada saat diminta untuk memasukkan password (saat instalasi xampp, secara default

    tidak ada password), tekan Enter pada keyboard (menandakan tidak ada password saat

    memasuki user root).

    4. Langkah lain, apabila memasuki mariadb dengan user root dan sudah dipastikan tidak ada

    password pada root (tanpa menuliskan “–p”), dapat menggunakan perintah dibawah ini:

  • 10 | P a g e

    Aturan Penulisan Perintah pada Command Prompt

    Hampir sebagian besar perintah sql dengan command prompt diakhiri dengan titik

    koma (;). Sebagai contoh perintah untuk melihat daftar database yang ada pada suatu user yaitu

    show databases; apabila perintah diketik lengkap maka perintah berhasil dijalankan, namun

    apabila kita belum menyelesaikan ketikan perintah maka secara otomatis command prompt

    akan meminta untuk mengetikkan perintah yang kurang. Seperti pada contoh berikut ini:

    Pada perintah show databases; yang pertama tertulis lengkap dan perintah berhasil

    dijalankan. Namun pada perintah yang kedua ketika kurang mengetikkan titik koma (;) lalu

    ditekan Enter pada keyboard, maka command prompt akan meminta kembali perintah yang

    kurang dan kita akan mengetikan perintah tersebut pada baris dibawahnya.

    Selain itu untuk memudahkan pembelajaran, command prompt memungkinkan fasilitas

    short key pada keyboard “agar pengetikan perintah yang sama tidak diketik ulang

    kembali” dengan menekan tombol tanda panah keatas/kebawah pada keyboard.

  • 11 | P a g e

    Mengenal User Dalam Basis Data

    Didalam Basis Data dapat terdiri dari beberapa user tergantung kebutuhan dari basis

    data. Sedangkan user tertinggi biasa disebut dengan istilah root, itu sebabnya sebagai langkah

    awal kita menjalankan MariaDB dengan command prompt menggunakan user root.

    Ketika sudah masuk kedalam MariaDB dengan user root, ketikkan beberapa perintah

    dibawah ini:

    show databases; (perintah ini digunakan untuk melihat daftar database pada user

    yang sedang login, dalam kasus ini user tertinggi root, maka seluruh database pada MariaDB

    akan terbuka). Note : Pengetikan script selalu diakhiri oleh titik koma “;”

    Use mysql; (perintah „use‟ digunakan untuk mengaktifkan suatu database)

    Select user, host from mysql.user; (perintah ini digunakan untuk elihat/menampilkan

    daftar user yang ada pada database)

  • 12 | P a g e

    Membuat dan Menghapus User Dalam Basis Data

    Untuk membuat dan menghapus user yang ada dalam Basis Data harus masuk

    menggunakan user root (user tertinggi), kemudian dengan mengetikan perintah dibawah ini:

    create user „user1‟@‟localhost‟; (membuat user tanpa password)

    create user „user2‟@‟localhost‟ identified by „123‟; (membuatu serdengan

    password=”123”)

    Untuk mengecek user yang telah dibuat, silahkan login menggunakan user tersebut,

    namun terlebih dahulu harus keluar dari root dengan perintah exit;

    exit; (perintah untuk keluar dari mysql)

    "xampp/mysql/bin/mysql.exe" -u user1 (perintah masuk sebagai user1 tanpa

    password)

    "xampp/mysql/bin/mysql.exe" -u user2 –p123 (perintah masuk sebagai user2

    dengan password=123)

  • 13 | P a g e

    Perhatikan perbedaan daftar database ketika masuk sebagai user biasa dengan user root.

    Ketika sudah berhasil membuat user, tampilkan kembali daftar user pada mysql dengan

    mengetik perintah “select user, host from mysql.user;“ (baca kembali materi yang telah

    dibahas sebelumnya)

    Sementara, apabila kita ingin menghapus suatu user, gunakan perintah “drop” dengan

    posisi user adalah root, seperti contoh kita akan menghapus “user1” berikut ini:

  • 14 | P a g e

    Membuat Database dan Tabel Sederhana

    Sebagai contoh pembuatan database dan tabel, user yang akan kita gunakan adalah

    root. Berikut langkah-langkahnya:

    Masuk kedalam MariaDB dengan user root

    Setelah masuk MariaDB, ketikan perintah berikut:

    Lihat hasilnya dengan perintah show databases;

    Lalu, untuk membuat tabel terlebih dahulu kita aktifkan database db_latihan1 dengan

    perintah use. (Tabel adalah bagian dari suatu Database, oleh sebab itu pembuatannya harus

    berada didalam suatu database yang diaktifkan terlebih dahulu).

    Perintah untuk membuat tabel, yaitu dengan perintah create table nama_tabel (spesifikasi

    tabel); (spesifikasi tabel dan tipe data akan dibahas pada bahasan selanjutnya)

    Untuk melihat daftar tabel pada suatu database, gunakan perintah show tables;

  • 15 | P a g e

    Sedangkan perintah untuk melihat struktur tabel, gunakan perintah desc mhs; atau

    describe mhs;

    Memberi Hak Akses (Privileges) pada user

    Setelah kita mempelajari tentang root, membuat dan menghapus user biasa, membuat

    database dan tabel. Sekarang kita akan membahas mengenai hak akses pada user.

    Pada suatu aplikasi database mysql, terkadang terdiri dari beberapa user yang dapat

    mengkases suatu database namun tidak semua memiliki hak akses penuh untuk melihat,

    merubah, atau menambahkan data record kedalam tabel-tabel yang ada pada database tersebut.

    Untuk itulah, diperlukan adanya hak akses (Privileges) terhadap database untuk user-user yang

    ada. Pemberian hak akses user hanya bisa dilakukan melalui root (user tertinggi). Berikut

    struktur perintah pemberian hak akses pada user:

    grant hak_akses on nama_database.nama_tabel to ‘nama_user’@’lokasi_user’;

    Penjelasan:

    - Grant -> perintah memberikan hak akses pada user

    - Hak_akses -> hak akses yang diperbolehkan bisa untuk melihat, merubah, menambah,

    atau bisa diberikan hak akses penuh.

    - Nama_database -> database yang akan diberikan hak akses. Jika ingin memberikan hak

    akses terhadap seluruh database yang ada diganti penulisnnya dengan tanda bintang (*).

    - Nama_tabel -> tabel yang akan diberikan hak akses. Jika ingin memberikan hak akses

    terhadap seluruh tabel dari suatu database yang ada diganti penulisnnya dengan tanda

  • 16 | P a g e

    bintang (*).

    - Nama_user -> nama user yang akan diberi hak akses.

    - Lokasi_user -> lokasi user yang akan diberi hak akses.

    Sebagai contoh, kita telah memiliki user bernama user2, database bernama db_latihan1,

    tabel bernama mhs.

    Jika kita ingin memberikan hak akses user2 hanya bisa melihat tabel mhs, maka

    perintah yang ada yaitu:

    grant select on db_latihan1.mhs to „user2‟@‟localhost‟;

    Jika didalam database db_latihan1 terdiri dari banyak tabel, dan akan diberikan hak

    akses seluruh tabel kepada user2, perintahnya menggunakan tanda bintang (*).

    grant select on db_latihan1.* to „user2‟@‟localhost‟;

    Jika kita ingin memberikan hak akses user2 secara penuh (melihat, menambah,

    merubah) terhadap tabel pada database db_latihan1, maka perintahnya menggunakan perintah

    „all‟

    grant all on db_latihan1.* to „user2‟@‟localhost‟;

    Untuk melihat hasilnya keluar terlebih dahulu dari root, kemudian masuk sebagai user2:

  • 17 | P a g e

    Setelah kita mempraktikan mengenai user dan memberi hak akses terhadap user. Maka

    selanjutnya akan dibahas mengenai jenis-jenis tipe data yang sering dipakai pada database.

    Tipe Data String

    Tipe data string yang berisi nilai berupa karakter atau huruf. Beberapa tipe data string

    yang mendukung database MariaDB, yaitu, CHAR, VARCHAR, BINARY, VARBINARY,

    TEXT, BLOB. Berikut penjabarannya:

    Char, yaitu tipe data yang disarankan bila digunakan untuk field tabel yang nantinya

    memiliki isi data dengan jumlah karakter yang tetap. Misal field “nim” pada tabel

    mahasiswa dengan size 8, dimana isi data tabel untuk nim akan tetap jumlah seluruh

    karakternya 8 digit karakter, tidak ada nim yang jumlah karakternya 9 karakter.

    (contoh nim=‟12161717‟,‟12171818‟,‟12181717‟, isi data field nim selalu tetap

    berjumlah 8 karakter).

    Varchar, berbeda dengan char, tipe data varchar disarankan apabila field tabel akan berisi

    data dengan jumlah karakter yang tidak tetap. Misal field nama, alamat, no_telp, dimana

    jumlah isi data pada untuk field-field tersebut biasanya tidak tetap.

    (contoh nama=‟budi santoso‟,‟rio kurnia‟,‟susanti‟, isi data field nama tidak

    selalu sama).

    Binary dan Varbinary, Sebenarnya kedua tipe data ini memiliki konsep yang hampir

    sama dengan char dan varchar. Yang membedakannya adalah struktur penyimpanan akan

    disimpan secara biner. Misal, suatu tipe data bertipe binary, yaitu kode dengan isi data =

    „A‟. jika char menyimpannya sebagai karakter „A‟, maka binary akan menyimpannya

    sebagai biner dari karakter A, yaitu 65.

    Text, apabila suatu tipe data membutuhkan isi data yang harus bisa menampung jumlah

    karakter yang banyak, maka disarankan untuk tidak menggunakan char maupun varchar,

  • 18 | P a g e

    tetapi gunakan tipe data Text. Tipe data text terbagi kedalam beberapa tipe data, yaitu,

    TINITEXT (jumlah karakter maksimum 255), TEXT (jumlah karakter maksimum

    6.5535), MEDIUMTEXT (jumlah karakter maksimum 16.777.215). LONGTEXT

    (jumlah karakter maksimum 4.294.967.295).

    (contoh field komentar yang bisa berisi dari banyak karakter dan berjumlah

    tidak pasti, maka disarankan menggunakan tipe data berjenis TEXT).

    Blob, tipe data ini memiliki konsep yang sama dengan tipe data TEXT, namun memiliki

    struktur penyimpanan seperti binary, atau menyimpan secara biner karakter yang

    disimpan kedalam filed. Terdiri dari TINYBLOB, BLOB, MEDIUMBLOB,

    LONGBLOB. Sehingga bisa dikatakan tipe data blob merupakan versi biner dari tipe data

    Text.

    Tipe Data Numeric

    Tipe data ini digunakan untuk menampung angka-angka yang dapat dilakukan untuk

    manipulasi perhitungan. Berikut beberapa diantaranya:

    Integer, tipe data untuk menampung angka berupa bilangan bulat. Tipe data ini terdiri dari

    beberapa jenis yang tergambar dalam tabel berikut ini:

    Misal, jika kita membutuhkan tipe data yang dapat menampung data angka hingga satuan

    jutaan atau lebih untuk 1 isi data bisa menggunakan tipe data integer, namun jika hanya

    menampung jumlah yang lebih sedikit bisa menggunakan smallint atau tinyint. Deklarasi

    Tipe Data Jangkauan SIGNED Jangkauan UNSIGNED Ukuran

    TINYINT -128 to 127 0 to 255 1 byte

    SMALLINT -32,768 to 32,767 0 to 65,535 2 bytes

    MEDIUMINT -8,388,608 to 8,388,607 0 to 16,777,215 3 bytes

    INT -2,147,483,648 to 2,147,483,647

    0 to 4,294,967,295 4 bytes

    BIGINT -9,223,372,036,854,775,808 to

    9,223,372,036,854,775,807

    0 to

    18,446,744,073,709,551,615

    8 bytes

  • 19 | P a g e

    TUGAS 1

    MATA KULIAH APLIKASI BASIS DATA

    Soal dikerjakan pada akhir pembahasan Pertemuan 2 (Setelah materi

    contoh bab 2 selesai dikerjakan)

    Jawaban berupa hasil pengerjaan perintah sql disimpan dalam bentuk

    screenshot tampilan.

    Soal dan Jawaban dikumpulkan pada perkuliahan Pertemuan 3

    Signed dan Unsigned dapat digunakan apabila isi data ingin bernilai negatif (signed) atau

    isi data seluruhnya bertipe positif (unsigned).

    Decimal (Fixed Point), tipe data yang menampung angka decimal dengan nilai pecahan

    yang tetap.

    Format penulisan -> DECIMAL(M[,D]). Misal suatu tipe data bernama berat

    dideklarasikan sebagai berikut,

    berat DECIMAL(4,2). Maka, berarti isi data akan memuat 4 digit angka, dengan 2 angka

    didepan koma dan 2 angka dibelakang koma. Contoh, „12,30‟,‟14.50‟, dsb.

    Float dan Double (Floating Point), kedua tipe data ini juga dapat menampung angka

    decimal, namun perbedaan dengan tipe data decimal (fixed point) adalah keakuratan dalam

    pembacaan prosesor komputer terhadap nilai pecahan.

    1. Buka aplikasi Command Prompt pada komputer anda. (Disarankan untuk membuka dari

    tahap awal).

    2. Masuklah kedalam MariaDB menggunakan user root.

    3. Tampilkan daftar database yang ada pada MariaDB.

    4. Tampilkan daftar user pada MariaDB.

    5. Buat user baru pada localhost dengan nama “NIMmasing-masing_coba2” dengan password “12345”.

    Contoh : Jika NIM mahasiswa = 12181234, maka user = 12181234_coba2

  • 20 | P a g e

    6. Buat user baru pada localhost dengan nama “ NIMmasing-masing_cobalagi” tanpa password.

    7. Tampilkan kembali daftar user pada MariaDB.

    8. Masih didalam user root, Buat Database dengan nama “db_ NIMmasing-masing_coba”.

    9. Aktifkan database db_NIMmasing-masing_coba, lalu buat dua buah tabel didalamnya.

    Tabel 1 dengan nama “buku”:

    Field Type Size

    Kd_buku Char 5

    Judul Varchar 40

    Penulis Varchar 35

    Penerbit Varchar 35

    Tabel 2 dengan nama “katalog”

    Field Type Size

    Kode Char 6

    Nama Varchar 30

    10. Tampilkan daftar tabel yang ada pada database db_coba.

    11. Tampilkan struktur tabel buku dan katalog.

    12. Beri hak akses penuh database db_NIMmasingmasing_coba kepada user

    “NIMmasingmasing_coba2”.

    13. Hapus user “NIMmasingmasing_cobalagi”, lalu keluar dari root.

    14. Masuk kedalam MariaDB menggunakan user “NIMmasingmasing_coba2”.

    15. Tampilkan daftar database pada NIMmasingmasing_coba2.

  • 21 | P a g e

    BAB III

    DATA DEFINITION LANGUAGE

    Data Definition Language merupakan kumpulan perintah atau query SQL yang

    digunakan untuk membuat, merubah, serta dapat pula menghapus dari suatu struktur dan

    definisi tipe data dari objek-objek, seperti tabel yang ada pada suatu database.

    Dibawah ini terdapat latihan-latihan praktikum Data Definition Language, dimana

    untuk kemudahan pembelajaran user yang dipakai adalah root.

    Latihan Praktikum Data Definition Language 1

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat dua buah database masing-masing dengan nama “komik_coba1” dan

    “komik_cobalagi”.

    3. Tampilkan seluruh daftar database yang ada.

  • 22 | P a g e

    4. Hapus database “komik_cobalagi”.

    5. Aktifkan database komik_coba1.

    6. Tampilkan daftar tabel pada database komik_coba1.

    7. Buat 3 buah tabel, dengan ketentuan sebagai berikut: Tabel “anggota” :

    Field Name Type Size Keterangan

    Id_anggota Char 4 Primary Key

    Nama Varchar 20

    Alamat Varchar 30

    No_telp Varchar 15

    Tgl_lahir Date -

  • 23 | P a g e

    (Primary Key adalah kunci utama dari suatu tabel, bersifat unik dan tidak boleh ada

    isi record yang sama/ganda). Saat membuat suatu tabel, field-field yang ada dapat diberikan

    nilai „not null‟ untuk memberikan validasi saat pengisian record tidak boleh kosong datanya.

    Penggunaan atribut not null disesuaikan dengan kebutuhan, namun secara default mysql akan

    memberikan nilai „null‟.

    Tabel “komik” :

    Field Name Type Size Keterangan

    Id_komik Char 5 Primary Key

    Judul Varchar 25

    Pengarang Varchar 30

    Thn_terbit Year -

    Jenis_komik Varchar 15

  • 24 | P a g e

    Tabel “pinjam” :

    Field Name Type Size Keterangan

    No_pinjam Int 4

    Id_anggota Char 4

    Id_komik Char 5

    Jumlah Int 2

    8. Tampilkan daftar tabel yang ada pada database.

  • 25 | P a g e

    9. Buka struktur tabel dari masing-masing tabel yang telah dibuat.

    10. Hapus primary key pada tabel anggota.

  • 26 | P a g e

    11. Buat field baru pada tabel anggota, yaitu, “tgl_daftar” dengan type = “date”.

    12. Ubah nama tabel “anggota” menjadi “anggota_warnet”.

    13. Buat field baru pada tabel komik, yaitu, “status” dengan type = “varchar” dan size =

    “10”.

  • 27 | P a g e

    14. Lihat struktur tabel pinjam.

    15. Beri Primary Key pada field “no_pinjam” pada tabel pinjam.

    16. Lihat kembali struktur tabel pinjam.

    17. Ubah nama tabel “pinjam” menjadi “transaksi”.

  • 28 | P a g e

    18. Buat primary key pada field “id_anggota” pada tabel anggota_warnet.

    19. Hapus field ”jenis_komik” pada tabel komik.

    20. Ganti field “jumlah” pada tabel transaksi menjadi “jml_komik” type=”Int” Size=”4”.

  • 29 | P a g e

    Latihan Praktikum Data Definition Language 2

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat database dengan nama “db_les_private”, kemudian tampilkan seluruh daftar

    database yang ada.

    3. Aktifkan database db_les_private.

    4. Buat sebuah tabel dengan nama “siswa”, ketentuan tabel sebagai berikut:

    Field Name Type Size Keterangan

    Nis Char 6 Primary Key

    Nama Varchar 40

    Tgl Date -

  • 30 | P a g e

    Kelas Varchar 15

    No_telp Varchar 18

    5. Lihat daftar tabel pada database db_les_private.

    6. Lihat struktur tabel pada tabel siswa.

    7. Ubah field “nama” pada tabel siswa menjadi “nama_siswa” type=”varchar” Size=”30”.

  • 31 | P a g e

    8. Ubah field “tgl” pada tabel siswa menjadi “tgl_lahir” (Type dan Size tidak berubah).

    9. Ubah field “kelas” pada tabel siswa menjadi “kelas_siswa” type=”varchar” Size=”20”.

    10. Hapus field “no_telp” pada tabel siswa.

  • 32 | P a g e

    11. Ubah nama tabel “siswa” menjadi “siswa_baru”.

    12. Lihat kembali struktur tabel siswa_baru.

    13. Buat kembali 2 buah tabel dengan ketentuan sebagai berikut:

    Tabel “tutor” :

    Field Name Type Size Keterangan

    Id_tutor Char 8

    Nama_tutor Varchar 30

    Jenis Varchar 20

    Jml_kelas Smallint 4

  • 33 | P a g e

    Tabel “ruang” :

    Field Name Type Size Keterangan

    Id_ruang Char 3

    Nama_ruang Varchar 10

    14. Lihat struktur tabel tutor dan ruang.

  • 34 | P a g e

    15. Buat primary key untuk “id_tutor” pada tabel tutor.

    16. Ubah “tipe data” dari field “jml_kelas” pada tabel tutor menjadi int(4).

    17. Tampilkan struktur tabel ruang, kemudian Ubah “tipe data” dari field “id_ruang” pada

    tabel ruang menjadi “Int”.

  • 35 | P a g e

    18. Hapus tabel “ruang” dari database db_les_private.

    19. Ubah nama tabel “tutor” menjadi “tutor_les”.

    20. Lihat kembali daftar tabel yang ada pada database db_les_private.

  • 36 | P a g e

    BAB IV

    DATA MANIPULATION LANGUAGE

    Berbeda dengan DDL yang berhubungan dengan struktur tabel pada bahasan

    praktikum sebelumnya. Maka, Data Manipulation Language merupakan kumpulan perintah

    atau query SQL yang digunakan untuk mengelola isi data didalam tabel-tabel pada suatu

    database, seperti menampilkan data, memasukan data, merubah isi data, serta menghapus isi

    data.

    Dibawah ini terdapat latihan-latihan praktikum Data Manipulation Language, dengan

    berbagai variasi-variasi query.

    Latihan Praktikum Data Manipulation Language 1

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_latihan_dml”, kemudian tampilkan seluruh

    daftar database yang ada.

    3. Aktifkan database db_latihan_dml.

  • 37 | P a g e

    4. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Id_buku Char 4 Primary Key

    Judul_buku Varchar 45

    Penulis Varchar 25

    Thn_terbit Year -

    Penerbit Varchar 45

    5. Lihat struktur tabel buku.

    6. Isikan data untuk tabel buku, dengan data sebagai berikut:

    Id_buku Judul_buku Penulis Thn_terbit Penerbit

    BK01 Perahu Kertas Dewi Lestari 2007 Abadi Jaya

    BK02 Laskar Pelangi Andrea Hirata 2004 Abadi Jaya

  • 38 | P a g e

    BK03 Sang Pemimpi Andrea Hirata 2005 Abadi Jaya

    BK04 Harry Potter 4 J.K.Rowling 2003 Indo Karya

    BK05 Warnet SQL DR. Nena 2009 Wacana Ria

    7. Tampilkan isi seluruh record pada tabel buku.(gunakan tanda * bila seluruh field

    ditampilkan)

    8. Tampilkan isi record tabel buku, hanya buku dengan penerbit = “Abadi Jaya”.

  • 39 | P a g e

    9. Tampilkan isi record dengan pengelompokan data berdasarkan penerbit. (data yang

    sama pada penerbit tidak akan dipanggil kembali, disebut juga Ascending)

    10. Tampilkan isi record dengan pengurutan data berdasarkan penerbit. (secara default

    pengurutan secara ascending dari A ke Z).

    11. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”.

  • 40 | P a g e

    12. Tampilkan isi record dengan Penulis bernama depan huruf= “A”. (pencarian data

    menggunakan like.

    13. Tampilkan isi record dengan Tahun terbit dibawah tahun 2005.

    14. Tampilkan isi record dengan Judul buku mengandung kata “SQL”.

  • 41 | P a g e

    15. Tampilkan isi record, dengan penulis = “Dewi Lestari”.

    16. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data

    berdasarkan penulis.

    17. Tampilkan isi record hanya field “judul_buku”, “penulis”, kemudian urutkan data

    berdasarkan penulis secara descending.

  • 42 | P a g e

    18. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”, dengan tahun

    terbit dibawah tahun 2005.

    19. Tampilkan isi record hanya field “judul_buku”, “penulis”, “thn_terbit”,

    “penerbit”, dengan tahun terbit dibawah tahun 2005, lalu urutkan berdasarkan

    “thn_terbit” secara descending.

    20. Tampilkan isi record hanya field “judul_buku”, “penulis”, “penerbit”, dengan penulis

    = “Andrea Hirata”, lalu urutkan secara descending berdasarkan “judul_buku”.

  • 43 | P a g e

    Latihan Praktikum Data Manipulation Language 2

    Pada lanjutan praktikum DML ini, akan dibahas penggunaan operator-operator yang

    sering digunakan didalam database mysql. Berikut diantaranya:

    Operator Aritmatika:

    Operator Keterangan

    + Penjumlahan

    - Pengurangan

    * Perkalian

    / Pembagian

    % Sisa Hasil Bagi (modulus)

    Operator Pembanding:

    Operator Keterangan

    = Sama Dengan

    != , Tidak sama dengan

    > Lebih besar

    < Lebih Kecil

    >= Lebih besar sama dengan

  • 44 | P a g e

    Operator Logika:

    Operator Keterangan

    And atau && Data Benar, bila kedua pembanding bernilai benar

    Not atau !

    Data Benar, bila data bernilai salah/tidak sesuai

    dengan nilai pembanding

    Or atau ||

    Data Benar, bila salah satu data bernilai benar,

    atau keduanya bernilai benar

    Xor

    Data dianggap benar jika hanya data pertama yang

    bernilai benar

    Selain operator-operator tersebut, terdapat pula perintah LIMIT, untuk membatasi

    dalam menampilkan data per baris pada suatu tabel, dengan bentuk penulisan:

    LIMIT baris_awal, jumlah_baris

    Berikut ini Latihan Praktikum Lanjutan untuk perintah DML:

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama

    “db_latihan_dml”.

    3. Tampilkan daftar tabel yang ada.

  • 45 | P a g e

    4. Buat tabel bernama “member”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Id_member Char 5 Primary Key

    Nama_member Varchar 40

    Alamat Varchar 75

    Semester Char 2

    Usia Char 2

    5. Lihat struktur tabel member.

    6. Isikan data untuk tabel member, dengan data sebagai berikut:

    Id_member Nama_member Alamat Semester Usia

    01001 Tio Ferdinand Jl. Serpong Raya No.11 4 21

    01002 Amad Sanches Jl. Cilenggang No.20 3 20

  • 46 | P a g e

    01003 Riki Bahagia Jl. Hutama Karya No.03 4 20

    01004 Rere Kurnia Jl. Smapal Serpong 167 2 19

    01005 Erni Susanti Jl. Nusa Loka 11 - BSD 1 18

    01006 Loki Nurdin Jl. BSD Raya No.20 1 18

    7. Tampilkan isi seluruh record pada tabel member.

  • 47 | P a g e

    8. Tampilkan isi record dengan Nama member bernama = “Erni Susanti”.

    9. Tampilkan isi record dengan usia = “dibawah 21 Tahun”.

    10. Tampilkan isi record, kecuali member bernama = “Rere Kurnia”.

  • 48 | P a g e

    11. Tampilkan isi record hanya field “nama_member”, “semester”, kemudian urutkan data

    berdasarkan semester.

    12. Tampilkan isi record hanya field “nama_member”, “semester”, “usia”, dimana usia

    berada “diantara 19-20 tahun”.

    13. Tampilkan isi record dengan usia = “diatas 18 Tahun” dan semester = “diatas semester

    2”.

  • 49 | P a g e

    14. Tampilkan isi record dengan usia = “diatas 18 Tahun” atau semester = “diatas semester

    2”.

    15. Tampilkan isi record hanya field “nama_member”, “alamat”, dimana member bernama

    depan huruf = “R”, kemudian urutkan data berdasarkan nama_member.

    16. Tampilkan isi record hanya field “nama_member”, “alamat”, “usia”, dimana usia berada

    “diatas 18 tahun”, kemudian urutkan data secara descending berdasarkan nama_member.

  • 50 | P a g e

    17. Tampilkan 4 isi record teratas dari tabel member. (gunakan perintah LIMIT)

    18. Tampilkan 5 isi record teratas dari tabel member, kemudian urutkan secara descending

    berdasarkan “semester”.

    19. Tampilkan isi record, hanya dari record ke-2 hingga record ke-4. (perhitungan record

    dimulai dari record 0, maka dirumuskan record ke-2 adalah LIMIT 1, sebanyak 3 record

    kebawah)

  • 51 | P a g e

    20. Tampilkan isi record, hanya dari record ke-1 hingga record ke-4, kemudian urutkan

    berdasarkan id_member.

  • 52 | P a g e

    BAB V

    DATA MANIPULATION LANGUAGE II

    Pada pembahasan praktikum data manipulation language ini, akan digunakan beberapa

    fungsi seperti:

    Fungsi Agregasi:

    Operator Fungsi Untuk Menghitung

    AVG Nilai Rata-rata

    COUNT Jumlah Data

    MAX Nilai Terbesar

    MIN Nilai Terkecil

    SUM Jumlah Nilai

    Fungsi DISTINCT:

    Fungsi pengurutan record tanpa perulangan isi record yang sama.

    SELECT DISTINCT nama_field FROM nama_tabel Fungsi Alias „AS‟:

    Fungsi yang digunakan untuk mengganti secara tampilan nama tabel atau nama field.

    nama_tabel_asli AS nama_tabel_alias nama_field_asli AS nama_ field_alias

    Fungsi CONCAT (Concatenates):

    Fungsi yang digunakan untuk menyambung kata.

    Berikut latihan-latihan praktikum data manipulation language lanjutan:

    Latihan Praktikum Data Manipulation Language 3

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_dml_lanjutan”, kemudian tampilkan seluruh

  • 53 | P a g e

    daftar database yang ada.

    3. Aktifkan database db_dml_lanjutan.

    4. Buat tabel bernama “pengajar”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Nip Char 4 Primary Key

    Nama Varchar 40

    Kota_asal Varchar 50

    Sks Int 2

  • 54 | P a g e

    5. Lihat struktur tabel pengajar.

    6. Isikan data untuk tabel pengajar, dengan data sebagai berikut:

    NIP Nama Kota_asal Sks Gaji

    0101 Ahmad Rio Tangerang 4 3.000.000

    0102 Iwan Kurniawan Serang 2 2.000.000

    0103 Asep Kusnandar Tangerang 4 3.000.000

    0104 Wati irawati Bandung 3 2.500.000

    0105 Neng Sukaesih Bandung 2 2.000.000

    0106 Maya Putriah Jakarta 2 2.000.000

    7. Tampilkan isi seluruh record pada tabel pengajar, kemudian urutkan secara descending

    berdasarkan field gaji.

  • 55 | P a g e

    8. Tampilkan rata-rata gaji pada tabel pengajar.

    9. Tampilkan gaji terendah pada tabel pengajar.

    10. Tampilkan jumlah total keseluruhan gaji pada tabel pengajar.

  • 56 | P a g e

    11. Tampilkan jumlah gaji dengan pengajar yang memiliki sks “lebih dari 3sks”.

    12. Tampilkan isi record hanya field “kota_asal” tanpa perulangan isi record yang sama,

    kemudian urutkan secara ascending berdasarkan kota_asal.

    13. Buat alias dengan nama “rata_gaji” untuk mencari nilai rata-rata gaji pengajar.

    14. Buat alias untuk tabel dengan nama “tp”, kemudian tampilkan record hanya field

    “nama”, “sks”, “gaji”.

  • 57 | P a g e

    15. Buat alias untuk field “nama” dengan nama “nama_pengajar”, kemudian tampilkan isi

    record hanya berdasarkan alias “nama_pengajar”.

    16. Buat alias untuk field “sks” dengan nama “jumlah_sks”, kemudian tampilkan isi record

    hanya field “nama”, “gaji” dan alias “jumlah_sks”.

  • 58 | P a g e

    17. Buat alias dengan nama “hasil”, dan merupakan hasil perkalian antara field sks dengan

    field gaji, kemudian tampilkan isi record.

    18. Buat alias dengan nama “bonus” dan merupakan hasil perkalian antara field sks dengan

    “100000”, kemudian tampilkan isi record hanya field “nama”, “sks”, “bonus”.

    19. Buat alias dengan nama “gaji_terbesar” untuk mencari nilai gaji terbesar pengajar.

  • 59 | P a g e

    20. Buat alias dengan nama “tunjangan” dan merupakan hasil perkalian antara field sks

    dengan “250000”, kemudian tampilkan isi record dan urutkan secara descending

    berdasarkan tunjangan.

    Latihan Praktikum Data Manipulation Language 4

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Aktifkan kembali database yang telah dibuat dilatihan sebelumnya dengan nama

    “db_dml_lanjutan”.

    3. Tampilkan daftar tabel yang ada pada database.

    4. Buat tabel bernama “mata_kuliah”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Kode_mtkul Char 3 Primary Key

  • 60 | P a g e

    Nama_mtkul Varchar 30

    Sks Int 2

    5. Lihat struktur tabel mata_kuliah.

    6. Isikan data untuk tabel mata_kuliah, dengan data sebagai berikut:

    Kode_mtkul Nama_mtkul Sks

    123 Algoritma Pemrograman 4

    124 Praktikum Basis Data 3

    125 Web Programming I 4

    126 Bahasa Inggris 2

    127 Multimedia 3

    128 Mobile Programming I 4

  • 61 | P a g e

    7. Tampilkan seluruh isi record pada tabel mata_kuliah.

    8. Tampilkan jumlah data dari isi record tabel mata_kuliah. (menghitung jumlah data isi

    record gunakan fungsi count).

    9. Tampilkan isi record dengan menggabungkan isi data dari field “nama_mtkul” dengan

    field “sks”, dengan penghubung string bernama “jumlah sks yaitu:”. (menggabungkan

    karakter yang mengandung spasi gunakan fungsi concat).

  • 62 | P a g e

    10. Buat alias dengan nama “daftar_mata_kuliah”, kemudian tampilkan isi record dengan

    menggabungkan isi data dari field “nama_mtkul” dengan field “sks”, dengan penghubung

    string bernama “jumlah sks yaitu:”.

    11. Buat alias dengan nama “Mata Kuliah” (menggunakan spasi) untuk field nama_mtkul,

    kemudian tampilkan isi record dan urutkan berdasarkan alias “Mata Kuliah”. (untuk

    membuat alias dengan menggunakan spasi gunakan tombol dengan simbol ` , biasa ada

    disebelah angka 1 pada keyboard).

  • 63 | P a g e

    12. Buat alias dengan nama “Jumlah SKS” (menggunakan spasi) untuk field sks, kemudian

    tampilkan hanya 4 record teratas.

    13. Ubah isi record untuk nama matakuliah = “Mobile Programming I”, menjadi “Java

    Programming I”.

  • 64 | P a g e

    14. Ubah isi record untuk nama matakuliah = “Bahasa Inggris”, jumlah sks menjadi “3”.

    15. Tampilkan isi record hanya field “nama_mtkul”, “sks”, dimana yang ditampilkan hanya

    jumlah sks 3.

  • 65 | P a g e

    16. Tambahkan isi record baru, yaitu kode_mtkul=”129”, nama_mtkul=”Java II”, sks=”4”.

    17. Tampilkan seluruh isi record tabel matakuliah.

    18. Ubah isi record untuk nama matakuliah = “Java II”, menjadi “Java Programming II”.

  • 66 | P a g e

    19. Hapus isi record dengan nama matakuliah = “Multimedia”.

    20. Tampilkan kembali seluruh isi record tabel matakuliah, dengan buat alias “Mata

    Kuliah” untuk field nama_mtkul dan “Jumlah SKS” untuk field sks.

  • 67 | P a g e

    BAB VI

    STUDI KASUS

    Pada bab ini akan dibahas mengenai studi kasus “perpustakaan“ dan merupakan

    Contoh dari Tugas Project mata kuliah Aplikasi Basis Data. Sebelum menuangkan rancangan

    basis data kedalam struktur fisik, terlebih dahulu harus membuat dokumentasi dalam bentuk

    logic berupa struktur basis data menggunakan bantuan Entity Relational Diagram atau disebut

    dengan istilah ERD dan Logical Relational Structure atau disebut dengan istilah LRS.

    Entity Relational Diagram merupakan pemodelan basis data dengan menggunakan

    diagram relasi antar entitas, dapat dilakukan dengan menggunakan suatu pemodelan basis data.

    Sementara LRS atau Logical Relational Structure atau untuk bahasan selanjutnya disebut LRS,

    merupakan Representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil

    relasi antar himpunan entitas. Pembahasan konsep dan pembuatan ERD dan LRS telah

    dibahas pada Mata Kuliah “Sistem Basis Data“.

    Contoh ERD dan LRS dari studi kasus perpustakaan dijabarkan dihalaman selanjutnya.

  • 68 | P a g e

    ERD Basis Data Perpustakaan

    LRS Basis Data Perpustakaan

  • 69 | P a g e

    Pembuatan Database Perpustakaan

    Didalam studi kasus ini yang akan dibahas mengenai database “perpustakaan”

    yang dapat digunakan untuk pemrograman web, serta “dapat dikembangkan dan

    disesuaikan kembali dengan kebutuhan” menjadi basis data untuk Mata Kuliah “Web

    Programming”.

    Berdasarkan konsep logis yang telah dibuat sebelumnya pada ERD dan LRS,

    maka langkah selanjutnya membuat database fisik dengan MariaDB, sebagai berikut:

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_perpusweb”, kemudian tampilkan seluruh

    daftar database yang ada.

  • 70 | P a g e

    3. Aktifkan database db_perpusweb.

    4. Buat beberapa tabel berikut ini: Tabel “admin” :

    Field Name Type Size Keterangan

    Id_admin Int 5 Primary Key, AUTO_INCREMENT

    Username Varchar 25

    Password Varchar 35

    Tabel “katalog_buku” :

    Field Name Type Size Keterangan

    id_katalog Int 5 Primary Key, AUTO_INCREMENT

    nama_katalog Varchar 45

  • 71 | P a g e

    Tabel “buku” :

    Field Name Type Size Keterangan

    id_buku Int 5 Primary Key, AUTO_INCREMENT

    id_katalog Int 5

    judul_buku Varchar 50

    pengarang Varchar 35

    thn_terbit Date -

    penerbit Varchar 50

    Tabel “anggota” :

    Field Name Type Size Keterangan

    id_anggota Int 5 Primary Key, AUTO_INCREMENT

    nama Varchar 45

  • 72 | P a g e

    no_telp Varchar 15

    alamat Varchar 50

    email Varchar 30

    password Varchar 35

    Tabel “peminjaman” :

    Field Name Type Size Keterangan

    id_pinjam Int 5 Primary Key, AUTO_INCREMENT

    id_anggota Int 5

    tgl_pinjam Date

    tgl_kembali Date

    status ENUM

    „Selesai‟,‟Belum Selesai‟

    jml_buku Int 2

  • 73 | P a g e

    Tabel “detail_pinjam” :

    Field Name Type Size Keterangan

    id_pinjam Int 5

    id_buku Int 5

    tgl_pengembalian Date

    denda Double

    status_buku ENUM

    „Kembali‟,‟Belum Kembali‟

    5. Tampilkan daftar tabel pada database

  • 74 | P a g e

    6. Tampilkan Struktur tabel masing-masing yang telah dibuat:

    - Struktur tabel admin

    - Struktur tabel katalog_buku

    - Struktur tabel buku

  • 75 | P a g e

    - Struktur tabel anggota

    - Struktur tabel peminjaman

    - Struktur tabel detail_pinjam

  • 76 | P a g e

    7. Isi beberapa tabel dengan record sebagai berikut, kemudian

    tampilkan hasilnya: Tabel admin:

    Id_admin Username password

    1 Admin Admin

    2 Xxx Xxx

  • 77 | P a g e

    Tabel katalog_buku:

    Id_katalog Nama_katalog

    1 Sains

    2 Hobby

    3 Komputer

    4 Komunikasi

    5 Hukum

    6 Agama

    7 Populer

    8 Bahasa

  • 78 | P a g e

    Tabel buku:

    Id_buku Id_katalog Judul_buku Pengarang Thn_terbit Penerbit

    1

    1

    Robotika Sederhana

    Siswoyo Utomo

    2013-01-01

    Wacana Ria

    2

    3

    Mahir dengan PHP

    Adri Kusuma

    2011-02-02

    Pustaka Bangsa

    3

    2

    Mahir Mewarnai

    Akhmad Rahmat

    2014-03-03

    CV.Indo Kreasi

    4

    1

    Hukum Fisika

    Kurnia Sandi

    2013-04-04

    Wacana Ria

    5

    8

    Mahir Bahasa Inggris

    Aliuddin

    2013-05-05

    CV.Indo Kreasi

    6

    4

    Public Speaking

    Pambudi Prasetyo

    2015-06-06

    Aldi Pustaka

    7

    3

    Trik SQL

    Ahdim Makaren

    2014-07-07

    Wacana Ria

    8

    6

    Kemurnian Agama

    Pambudi Prasetyo

    2014-08-08

    Aldi Pustaka

    9

    1

    Mikrokontroler

    Ahdim Makaren

    2012-09-09

    Wacana Ria

  • 79 | P a g e

  • 80 | P a g e

    Tabel anggota:

    Id_anggota Nama No_telp Alamat Email password

    1 Irfan Maulana 01244445555 BSD [email protected] 123

    2 Nur Kumalasari 01233335555 Ciledug [email protected] 123

    3 Sanjaya Wijaya 01211115555 Cimone [email protected] 123

    4 Eva Irfianingsih 01266665555 Tangerang [email protected] 123

    5 Ifqoh Permatasari

    01277775555 Cengkareng [email protected] 123

    6 Indah Riana 01288885555 Fatmawati [email protected] 123

    7 Tiwie

    Andrawati 01299995555 Warung Jati [email protected] 123

    8 Mus Dalifa 01200005555 Jatiwaringin [email protected] 123

    9 Hisbu Utomo 01233336666 Salemba [email protected] 123

    10 Zaenal Abidin 01233337777 Bekasi [email protected] 123

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]

  • 81 | P a g e

    8. Kerjakan beberapa perintah soal query SQL dibawah ini:

    a. Tampilkan daftar buku dengan nama penerbit = ”Wacana Ria”, kemudian urutkan

    berdasarkan “thn_terbit”.

    b. Tampilkan daftar buku dengan pengarang = ”Pambudi Prasetyo”.

    c. Buat alias untuk field “judul_buku” dengan nama “Buku Tersedia”. Tampilkan daftar

    buku hanya field “pengarang”, “penerbit”, dan alias “Buku Tersedia”.

    d. Tampilkan daftar buku hanya field “judul_buku”, “pengarang”, “thn_terbit”, kemudian

    urutkan secara descending berdasarkan “thn_terbit”.

    e. Tampilkan daftar buku dengan pengarang Selain “Ahdim Makaren”.

    f. Tampikan daftar Anggota dengan alamat “ciledug“.

    g. Tampilkan daftar Anggota dengan bernama depan “Mu”.

    h. Tampilkan daftar Anggota hanya field “nama”,”no_telp”,”alamat”, “email”, selain

    anggota beralamat di “Salemba”.

    i. Tampilkan daftar dengan No Telp 3 angka terakhir = “777”.

    j. Tampilkan jumlah data pada tabel anggota dan tabel buku.

  • 82 | P a g e

    TUGAS 2

    MATA KULIAH APLIKASI BASIS DATA

    Tugas individu

    Carilah kasus yang berbeda dan buat kombinasi pembahasan perintah

    DDL dan DML yang telah dibahas pada bab-bab sebelumnya.

    BAB VII

    REVIEW MATERI

  • 83 | P a g e

  • 84 | P a g e

    BAB IX

    PHPMYADMIN

    PhpMyAdmin merupakan tools dengan Graphic User Interface yang dapat

    memudahkan dalam pengelolaan database pada MySQL. Jika pada bahasan-bahasan

    sebelumnya dibahas query-query sql pembentuk tabel dan database menggunakan tools

    command prompt, pada bab ini akan dibahas menggunakan phpMyAdmin.

    Versi dari phpMyAdmin dan bahasa PHP yang diterima akan mengikuti dari versi

    Xampp yang terinstal pada Laptop/PC. Namun, pada Modul Aplikasi Basis Data ini,

    phpMyAdmin hanya dibahas dalam bab ini saja. Hal ini karena kemudahan dalam

    penggunaannya dan harus ditekankan adalah penguasaan query-query sql dalam membentuk

    abel serta basis data yang baik.

    Menjalankan phpMyadmin

    1. Pastikan pastikan tab MySQL dan Apache dalam kondisi Running pada Xampp Control

    Panel. (lihat kembali materi pembahasan instalasi xampp).

    2. Ketikan pada Browser alamat “localhost/phpmyadmin”.

  • 85 | P a g e

    Pada halaman pembuka terdapat pilihan untuk mengatur bahasa tampilan, serta melihat versi

    dari phpMyAdmin yang sedang dijalankan.

    Membuat Database baru

    Ketikan pada kotak “Ciptakan/Buat database baru”, lalu klik tombol “Ciptakan/Buat”.

    Buat database dengan nama “db_perpusweb2”.

  • 86 | P a g e

    Setelah membuat database baru, akan terlihat daftar tabel yang masih kosong (sisi

    sebelah kiri)

    Membuat Tabel Pada Database

    Ketika telah masuk kedalam database db_perpusweb2, maka kita ketikkan nama tabel

    beserta jumlah field yang ada pada tabel.

    Tabel-tabel pada latihan ini, dapat melihat struktur tabel pada db_perpusweb (bab studi

    kasus sebelum UTS).

    Tabel “admin” :

    Field Name Type Size Keterangan

    Id_admin Int 5 Primary Key, AUTO_INCREMENT

    Username Varchar 25

    Password Varchar 35

  • 87 | P a g e

    Jika sudah mengisi nama tabel dan jumlah kolom atau field klik tombol “Kirim atau Go”.

    Bila Primary Key, bersifat AUTO_INCREMENT, maka ceklis pada pilihan

    AUTO_INCREMENT atau A_I. Lalu Klik tombol Simpan.

    Tampilan ketika berhasil membuat tabel:

  • 88 | P a g e

    Latihan

    Lanjutkan pengerjaan database db_perpusweb2”, Lalu Buat Kembali beberapa tabel

    berikut ini menggunakan phpMyAdmin (lihat contoh pengerjaan pada pembuatan tabel

    admin):

    Tabel “katalog_buku” :

    Field Name Type Size Keterangan

    Id_katalog Int 5 Primary Key, AUTO_INCREMENT

    Nama_katalog Varchar 45

    Tabel “buku” :

    Field Name Type Size Keterangan

    Id_buku Int 5 Primary Key, AUTO_INCREMENT

    Id_katalog Int 5

    Judul_buku Varchar 50

  • 89 | P a g e

    Pengarang Varchar 35

    Thn_terbit Date -

    penerbit Varchar 50

    Tabel “anggota” :

    Field Name Type Size Keterangan

    Id_anggota Int 5 Primary Key, AUTO_INCREMENT

    Nama Varchar 45

    No_telp Varchar 15

    Alamat Varchar 50

    Email Varchar 30

    Password Varchar 35

    Tabel “peminjaman” :

    Field Name Type Size Keterangan

    Id_pinjam Int 5 Primary Key, AUTO_INCREMENT

    Id_anggota Int 5

    Tgl_pinjam Date

    Tgl_kembali Date

    Status ENUM

    „Selesai‟,‟Belum Selesai‟

    Jml_buku Int 2

    Tabel “detail_pinjam” :

    Field Name Type Size Keterangan

    Id_pinjam Int 5

  • 90 | P a g e

    Id_buku Int 5

    Tgl_pengembalian Date

    Denda Double

    Status_buku ENUM

    „Kembali‟,‟Belum Kembali‟

    Mengisi Record Pada Tabel

    Untuk mengisi record tabel pada phpMyAdmin, klik/pilih terlebih dahulu tabel yang akan diisi

    recordnya pada daftar tabel sebelah kiri, kemudian klik menu tab“Sisipkan/Tambahkan/Insert”.

    Untuk Tabel dengan primary key bersifat AUTO_INCREMENT, maka saat insert record

    tidak perlu diisi data pada field primary key.

    Untuk menampilkan hasilnya klik menu tab “Browse/Jelajahi”

  • 91 | P a g e

    Latihan

    Isilah record beberapa tabel yang telah dibuat berikut ini menggunakan phpMyAdmin

    (lihat contoh pengerjaan pada insert record tabel admin):

    Tabel katalog_buku:

    Id_katalog Nama_katalog

    1 Sains

    2 Hobby

    3 Komputer

    4 Komunikasi

    5 Hukum

    6 Agama

    7 Populer

    8 Bahasa

  • 92 | P a g e

    Tabel buku:

    Id_buku Id_katalog Judul_buku Pengarang Thn_terbit Penerbit

    1

    1

    Robotika Sederhana

    Siswoyo Utomo

    2013-01-01

    Wacana Ria

    2

    3

    Mahir dengan PHP

    Adri Kusuma

    2011-02-02

    Pustaka Bangsa

    3

    2

    Mahir Mewarnai

    Akhmad Rahmat

    2014-03-03

    CV.Indo Kreasi

    4

    1

    Hukum Fisika

    Kurnia Sandi

    2013-04-04

    Wacana Ria

    5

    8

    Mahir Bahasa Inggris

    Aliuddin

    2013-05-05

    CV.Indo Kreasi

    6

    4

    Public Speaking

    Pambudi Prasetyo

    2015-06-06

    Aldi Pustaka

    7

    3

    Trik SQL

    Ahdim Makaren

    2014-07-07

    Wacana Ria

    8

    6

    Kemurnian Agama

    Pambudi Prasetyo

    2014-08-08

    Aldi Pustaka

    9

    1

    Mikrokontroler

    Ahdim Makaren

    2012-09-09

    Wacana Ria

    Tabel anggota:

    Id_anggota Nama No_telp Alamat Email password

    1 Irfan Maulana 01244445555 BSD [email protected] 123

    2 Nur Kumalasari 01233335555 Ciledug [email protected] 123

    3 Sanjaya Wijaya 01211115555 Cimone [email protected] 123

    4 Eva Irfianingsih 01266665555 Tangerang [email protected] 123

    mailto:[email protected]:[email protected]:[email protected]:[email protected]

  • 93 | P a g e

    5 Ifqoh Permatasari 01277775555 Cengkareng [email protected] 123

    6 Indah Riana 01288885555 Fatmawati [email protected] 123

    7 Tiwie Andrawati 01299995555 Warung Jati [email protected] 123

    8 Mus Dalifa 01200005555 Jatiwaringin [email protected] 123

    9 Hisbu Utomo 01233336666 Salemba [email protected] 123

    10 Zaenal Abidin 01233337777 Bekasi [email protected] 123

    Mengubah dan Menghapus Isi Record Tabel

    Pilih terlebih dahulu tabel, kemudian klik menu “Browse” untuk menampilkan isi record

    pada tabel. Untuk Ubah bisa menggunakan icon pensil, sedangkan untuk Hapus bisa

    menggunakan icon tanda silang/strip merah.

    Mengubah dan Menghapus Field Struktur Tabel

    Pilih terlebih dahulu tabel, kemudian klik menu “Struktur” untuk menampilkan isi record

    pada tabel. Untuk Ubah bisa menggunakan icon pensil, memberi Primary Key menggunakan

    icon kunci, sedangkan untuk Hapus bisa menggunakan icon tanda silang/strip merah.

    Mengubah Nama Tabel

    Pilih terlebih dahulu tabel yang akan diubah namanya, kemudian klik menu

    “Operasi”.

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]

  • 94 | P a g e

    Membuat Relasi Tabel pada phpMyAdmin

    Pilih dan klik menu tab “Designer”

    Saat Menu Designer terbuka, secara default field-field pada database belum terbuka.

    Cara membuka field pada tabel klik tanda segitiga pada masing-masing kotak tabel.

    Kemudian buat relasi dengan mengklik icon “Create Relation”, relasikan field

    primary key pada masing-masing tabel ke tabel lain dengan field yang sama dengan teknik

    “drag and drop”.

  • 95 | P a g e

    Export Database

    Proses Export Database dibutuhkan apabila, kita hendak memindahkan pekerjaan yang

    berhubungan dengan database MySQL pada Laptop/PC satu dipindahkan ke Laptop/PC yang

    lain. Salah satu cara pemindahan database tersebut, harus dilakukan proses export terlebih

    dahulu, kemudian hasilnya bisa diimport pada Laptop/PC yang lain.

    Cara melakukan export database MySQL yaitu, pastikan halaman yang sedang aktif adalah

    database (tidak sedang membuka suatu tabel). Kemudian klik tab menu “Export”. Untuk berbagai

    kebutuhan, phpMyAdmin menyediakan versi convert database, untuk latihan kita bisa memilih option

    pilihan “sql”, lalu pilih Kompres File dalam bentuk ZIP. Setelah pemilihan selesai klik tombol Go.

  • 96 | P a g e

    Import Database

    Sedikit berbeda dari proses Export Database, sebelum melakukan proses import database kita

    diharuskan melakukan pembuatan database kosong pada phpMyAdmin. Proses selanjutnya, memilih

    file import yang akan dimasukan kedalam database, setelah memilih klik tombol Go.

    Hasil setelah proses import database berhasil:

  • 97 | P a g e

    Latihan Database phpMyAdmin :

    1. Buat database menggunakan phpMyAdmin dengan nama “db_latihan_sepatu”.

    2. Buat beberapa tabel pada database db_latihan_sepatu, sebagai berikut: Tabel “sepatu”:

    Field Name Type Size Keterangan

    Kd_sepatu Char 4 Primary Key

    merk Varchar 30

    Ukuran Varchar 10

    Harga Int 8

    Tabel “pembeli”:

    Field Name Type Size Keterangan

    Id_pembeli Int 5 Primary Key, AUTO_INCREMENT

    Nm_pembeli Varchar 35

  • 98 | P a g e

    Alamat Varchar 60

    No_hp Varchar 18

    Tabel “penjualan”:

    Field Name Type Size Keterangan

    No_fak Char 6 Primary Key

    Tgl_fak Varchar 35

    Id_pembeli Int 5

    Tabel “detail_penjualan”:

    Field Name Type Size Keterangan

    No_fak Char 6

    Kd_sepatu Char 4

    Jumlah Int 3

    3. Isi Record untuk masing-masing tabel sebagai berikut: Tabel “sepatu” :

    Kd_sepatu merk Ukuran Harga

    S001 Nike 40 300.000

    S002 Adidas 41 320.000

    S003 Xander 40 350.000

    S004 Mutiara 40 240.000

    S005 Bata 41 280.000

    S006 Penx 41 230.000

  • 99 | P a g e

    Tabel “pembeli”:

    id_pembeli Nm_pembeli Alamat No_hp

    1 Joko Pontianak 091212123434

    2 Butet Yogyakarta 091213134545

    3 Daeng Tegal 091214145656

    4 Putu Tasikmalaya 091215156767

    5 Neng Bandung 091216167878

    Tabel “penjualan”:

    No_fak Tgl_fak Id_pembeli

    FK0101 2017-11-02 1

    FK0102 2017-11-03 3

    FK0103 2017-11-04 4

    FK0104 2017-11-05 5

    Tabel “detail_penjualan”:

    No_fak Kd_sepatu Jumlah

    FK0101 S001 1

    FK0101 S002 2

    FK0102 S001 1

    FK0103 S005 3

    FK0104 S003 1

    FK0104 S006 1

    4. Buat relasi antar tabel dengan menggunakan “Designer phpMyAdmin”.

  • 100 | P a g e

    BAB X

    FUNGSI JOIN

    Setelah pembahasan-pembahasan sebelumnya telah dibahas mengenai proses

    menampilkan data dari sebuah tabel, untuk pembahasan bab ini akan dibahas mengenai konsep

    join. Join merupakan suatu perintah atau query yang digunakan untuk mendapatkan atau

    menampilkan data yang berasal dari dua buah tabel atau lebih.

    Syarat dari terpenuhinya query join adalah tabel-tabel yang digunakan dalam query

    haru memiliki relasi satu sama lain. (lihat bahasan studi kasus perpustakaan). Secara umum,

    query join yang sering digunakan terdiri dari Inner Join dan Outer Join.

    Berikut bentuk umum penulisan Query Inner Join:

    SELECT tabel1.*, tabel2.*

    FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;

    Ket : PK = Primary key, FK = Foreign Key

    Berikut ini adalah beberapa latihan praktikum meteri join:

    Latihan Praktikum Inner Join (studi kasus relasi antar 3 tabel)

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_join_kampus”, kemudian tampilkan seluruh

    daftar tabel yang ada.

    3. Aktifkan database db_join_kampus.

  • 101 | P a g e

    4. Buat tabel bernama “dosen”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Nip Char 5 Primary Key

    Nm_dosen Varchar 35

    Thn_masuk Year -

    Alamat Varchar 50

    5. Buat tabel bernama “mt_kuliah”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    kd_mtkul Char 3 Primary Key

    Nm_mtkul Varchar 30

    Sks Int 2

    6. Buat Tabel bernama “mengajar”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Id Int 3 Primary Key, AUTO_INCREMENT

  • 102 | P a g e

    Nip Char 5 Foreign Key

    kd_mtkul Char 3 Foreign Key

    7. Tampilkan struktur tabel dari masing-masing tabel yang telah dibuat.

    8. Isikan data untuk tabel dosen, dengan data sebagai berikut:

    NIP Nm_dosen Thn_masuk Alamat

    01011 Budi Santoso 2003 Tangerang

    01012 Rio Hermawan 2009 Jakarta

    01013 Tio Sandewa 2005 Jakarta

  • 103 | P a g e

    01014 Agus Supardi 2011 Bogor

    01015 Nurlaela Sari 2014 Depok

    9. Isikan data untuk tabel mt_kuliah, dengan data sebagai berikut:

    kd_mtkul Nm_mtkul Sks

    101 Algoritma 4

    202 PTIK 3

    303 SIM 4

    404 E-Commerce 2

    505 Agama 3

  • 104 | P a g e

    10. Isikan data untuk tabel mengajar, dengan data sebagai berikut:

    Id Nip kd_mtkul

    1 01011 101

    2 01011 303

    3 01012 202

    4 01012 404

    5 01012 303

    6 01013 505

    7 01013 101

    8 01014 404

    9 01015 202

    10 01015 303

    11. Tampilkan isi record dari ketiga tabel yang telah dibuat. (dengan perintah desc)

    12. Tampilkan daftar dosen yang mengajar mata kuliah =”SIM” menggunakan Inner Join.

  • 105 | P a g e

    13. Tampilkan hanya field “nm_dosen”, “nm_mtkul”, “thn_masuk” yang mengajar mata

    kuliah = “E-Commerce”, kemudian urutkan secara descending berdasarkan “thn_masuk”.

    14. Buat alias dengan nama “Nama Dosen” untuk field “nm_dosen” dan alias “Mengajar”

    untuk field “nm_mtkul”. Tampilkan hanya field NIP, alias Nama Dosen, alias Mengajar,

  • 106 | P a g e

    kemudian urutkan berdasarkan “nm_mtkul.

    Latihan Praktikum Outer Join (studi kasus relasi antar 2 tabel)

    Fungsi Outer Join yang akan dipraktikan terdiri dari Left dan Right Outer Join. Berikut

    akan dijabarkan latihan praktikum Outer Join.

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_join_buku”, kemudian tampilkan daftar tabel

    yang ada.

    3. Aktifkan database db_join_buku.

    4. Buat tabel bernama “buku”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Id_buku Int 3 Primary Key, AUTO_INCREMENT

    Judul

    Varchar

    40

    Thn_terbit Year -

  • 107 | P a g e

    Id_kategori Int 3

    5. Buat tabel bernama “kategori_buku”, dengan ketentuan sebagai berikut:

    Field Name Type Size Keterangan

    Id_kategori Int 3 Primary Key, AUTO_INCREMENT

    Nm_kategori Varchar 30

    6. Isi Record masing-masing tabel sebagai berikut: Tabel buku:

    Id_buku Judul Thn_terbit Id_kategori

    1 PTIK 2017 1

    2 SIM 2015 2

    3 APSI 2014 2

    4 RPL 2016 4

    5 LINUX 2014 5

    6 SO 2013 6

    Tabel kategori_buku:

    Id_kategori Nm_kategori

    1 Manajemen Informatika

    2 Sistem Informasi

    3 Ilmu Komputer

    4 Teknik Komputer

    5 Jaringan Komputer

  • 108 | P a g e

    7. Tampilkan Isi Record masing-masing tabel.

    8. Tampilkan isi Record dengan perintah Left Outer Join.

  • 109 | P a g e

    Berbeda dengan Inner Join, Fungsi Left Join, akan menampilkan data-data termasuk

    data yang tidak berelasi, dan akan ditampilkan secara default dengan nilai “NULL”.

    Left join akan menampilkan secara lengkap data dari “Tabel pertama (sebelah kiri)”,

    dalam contoh ini yaitu tabel buku ditampilkan terlebih dahulu, tetapi “karena id_kategori=6

    tidak ada isinya pada tabel kategori_buku, maka akan bernilai null pada tampilan tabel

    kategori_buku”.

    9. Tampilkan isi Record dengan perintah Right Outer Join.

    Right join akan menampilkan secara lengkap data dari “Tabel kedua (sebelah kanan)”, dalam

    contoh ini yaitu tabel kategori_buku ditampilkan setelah tabel buku, tetapi “karena pada tabel

    buku, tidak ada buku dengan id_kategori=3, maka akan bernilai null pada tampilan tabel buku”.

  • 110 | P a g e

    BAB XI

    FUNGSI JOIN II

    Setelah mempelajari dan mempraktikan fungsi join pada bab sebelumnya. Pada

    pembahasan bab ini, akan dijabarkan penggunaan fungsi percabangan “IF” didalam query join

    saat menampilkan data pada tabel-tabel yang berelasi didalam suatu database.

    Berikut Latihan Praktikum Fungsi Percabangan IF didalam query Join:

    Latihan Praktikum Join Lanjutan (studi kasus relasi antar 3 tabel)

    1. Masuk kedalam MariaDB melalui command prompt.

    2. Buat sebuah database dengan nama “db_join_rental”, kemudian aktifkan database

    db_join_rental.

    3. Buat 3 buah tabel dengan ketentuan sebagai berikut: Tabel “mobil_baru”:

    Field Name Type Size Keterangan

    Kd_mobil Char 3 Primary Key

    Nopol Varchar 20

    Jenis_mobil Varchar 20

    harga Double -

  • 111 | P a g e

    Tabel “penyewa”:

    Field Name Type Size Keterangan

    No_ktp Char 8 Primary Key

    Nama Varchar 40

    Alamat Varchar 70

    No_telp Varchar 15

    Tabel “penyewaan”:

    Field Name Type Size Keterangan

    Notrans Int 8 Primary Key, AUTO_INCREMENT

    No_ktp Char 8

    Kd_mobil Char 3

    Tgl_sewa Date

    Tgl_kembali Date

    Lama_sewa Double

    Jumlah_sewa Double

  • 112 | P a g e

    4. Isi Record masing-masing tabel sebagai berikut: Tabel mobil_baru:

    Kd_mobil nopol Jenis_mobil Harga

    M01 B 1234 KO Sedan 600.000

    M02 B 4321 BL Mini Bus 500.000

    M03 B 6789 MH Mini Bus 500.000

    M04 B 9876 MN Mini Bus 450.000

    M05 B 3333 LS Mini Bus 600.000

    Tabel penyewa:

    No_ktp Nama Alamat No_telp

    12345678 Cadas Atmojo Sukabumi 07123334444

  • 113 | P a g e

    23456789 Ria Ella Nurmala Tasikmalaya 07123335555

    34567890 Egi Kusumawati Bandung 07123336666

    56789012 Satria Mandala Karawang 07123337777

    67890123 Agung Gumelar Cikampek 07123338888

    Tabel penyewaan:

    5. Tampilkan isi record pada masing-masing tabel.

    6. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data

    diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),

    “jumlah_sewa” (diambil dari tabel penyewaan), “lama_sewa” (diambil dari tabel

  • 114 | P a g e

    penyewaan), serta buat alias dengan nama “total” (total didapat dari harga *

    jumlah_sewa * lama_sewa). Gunakan relasi Inner Join untuk menampilkan hasilnya.

    7. Tampilkan hanya field “tgl_sewa” (data diambil dari tabel penyewaan), “nama” (data

    diambil dari tabel penyewa), “kd_mobil” (data diambil dari tabel penyewaan),

    “jumlah_sewa” (diambil dari tabel penyewaan), “lama_sewa” (diambil dari tabel

    penyewaan), serta buat alias dengan nama “bonus1” (bonus1 didapat jika jumlah sewa

    “lebih besar atau sama dengan 2”, maka mendapat bonus ”Air Mineral” selain itu “No

    Bonus” ). Gunakan relasi Inner Join untuk menampilkan hasilnya.

  • 115 | P a g e

  • 116 | P a g e

    BAB XII

    REVIEW MATERI

    1. Buat database dengan nama db_review

    2. Buat 3 buah tabel dengan ketentuan sebagai berikut: Tabel dokter:

    Field Name Type Size Keterangan

    Id_dokter Int 3 Primary Key, AUTO_INCREMENT

    Nama Varchar 35

    Alamat Varchar 50

    No_telp Varchar 20

    Biaya_konsultasi Double -

    Tabel pasien:

    Field Name Type Size Keterangan

    Id_pasien Int 3 Primary Key, AUTO_INCREMENT

    Nama Varchar 35

    Alamat Varchar 50

    No_telp Varchar 20

  • 117 | P a g e

    Tabel periksa:

    Field Name Type Size Keterangan

    Noperiksa Int 3 Primary Key, AUTO_INCREMENT

    Tgl_periksa Date -

    Id_pasien Int 3

    Id_dokter Int 3

    Biaya Double -

    3. Isi Record pada tabel sebagai berikut: Tabel dokter:

    Id_dokter Nama alamat No_telp Biaya_konsultasi

    1 Sri Putri BSD 0217775555 50.000

    2

    Ade Wijaya

    Cimone

    0217776666

    100.000

    3 Hermawan Tangerang 0217778888 50.000

    4 Susanti Cengkareng 0217779999 75.000

    5 Ernes Ciledug 0217770000 100.000

    Tabel pasien:

    Id_dokter nama alamat No_telp

    1 Abdul Majid Tangerang 0314442222

    2 Ade Wijaya Tangerang 0314443333

    3 Hermawan Tangerang 0314445555

    4 Susanti Tangerang Selatan 0314446666

    5 Ernes Tangerang Selatan 0314447777

    Tabel periksa:

  • 118 | P a g e

    noperiksa Tgl_periksa Id_pasien Id_dokter biaya

    1 2017-11-24 1 3 30.000

    2 2017-11-24 3 1 30.000

    3 2017-11-26 2 3 30.000

    4 2017-11-28 4 2 30.000

    4. Buka struktur masing-masing tabel yang telah dibuat.

    5. Tampikan seluruh isi record pada masing-masing tabel.

    6. Ubah size pada field “nama” tabel dokter, menjadi size = “45”.

    7. Tampilkan isi record tabel dokter dengan nama dokter =”Sri Putri”.

    8. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),

    “biaya_konsultasi”, “tgl_periksa” dengan menggunakan fungsi inner join.

    9. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),

    “biaya_konsultasi”, “tgl_periksa”, “total_biaya”. Total_biaya merupakan alias yang

    dibuat (total_biaya didapat dari biaya_konsultasi+biaya), gunakan fungsi inner join.

  • 119 | P a g e

    10. Tampilkan hanya field “noperiksa”, “nama”(diambil dari tabel dokter),

    “biaya_konsultasi”, “tgl_periksa”, “total_biaya” “bonus”. Total_biaya merupakan

    alias yang dibuat (total_biaya didapat dari biaya_konsultasi+biaya). Buat alias kembali

    dengan nama “Bonus” (bonus didapat jika total_biaya >100.000, yaitu”Vitamin C”).

    gunakan fungsi inner join untuk mendapatkan hasilnya.

  • 120 | P a g e

    Daftar Pustaka

    Connolly, Thomas M & E Begg, Carolyn, Database System, Apractical Approach to Design,

    Implementation and Management, 2015, Pearson Education, United Kingdom

    Fathansyah, Sistem Basis Data, 2015, Informatika, Bandung

    Hariyanto, Bambang, Sistem Manajemen Basis Data, 2004 Informatika, Bandung

    Pahlevi, Said Mirza, Tujuh Langkah Praktis Pembangunan Basis Data, 2013, Elex Media

    Komputindo, Jakarta

    Simarmata, Janner, BasisData, 2010, Andi Offset, Yogyakarta

    Waljiyanto, Sistem Basis Data, 2003, Graha Ilmu,Yogyakarta