• Tidak ada hasil yang ditemukan

Modul Basis Data.pdf

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul Basis Data.pdf"

Copied!
74
0
0

Teks penuh

(1)

1

MODUL PRAKTIK

BASIS DATA I

PROGRAM D-3 REKAM MEDIS SEKOLAH VOKASI

UNIVERSITAS GADJAH MADA

(2)

2 IDENTITAS MAHASISWA

N a m a

:

...

...

...

...Laki-laki/

Perempuan*) N I M : ... Tempat/ Tgl. Lahir : ... A l a m a t : ...

..

...

...

T

elpon

... Semester/TA : ...

...

Kelas

: ……….

Tanda Tangan

...

*) coret yang tidak perlu

(3)

3 PRAKATA

Dengan mengucapkan puji syukur ke hadirat Tuhan Yang Maha Esa, dan oleh karena bimbingan dan penyertaan-Nya maka kami dapat menyelesaikan penyusunan Modul Praktek Basis Data I. Dengan terselesainya penyusunan Modul Praktek Basis Data I ini maka kami berharap kegiatan praktek yang merupakan pelaksanaan dari teori yang sudah di dapat di bangku kuliah dapat melengkapi ketrampilan mahasiswa dalam pelaksanaan tugas ketika bekerja di unit rekam medis.

Tidak lupa pada kesempatan ini, kami juga mengucapkan banyak terima kasih kepada semua pihak yang telah mendorong/menyemangati untuk segera terselesainya modul ini. Tentu kami juga mengucapkan terima kasih Ketua Program Studi Rekam Medis Sekolah Vokasi UGM yang sudah memberi kesempatan kepada kami untuk menyusun Modul Praktek Basis Data I.

Akhir kata, tentunya kami menyadari masih ada kekurangan dalam penyusunan Modul Praktek Basis Data I ini, untuk itu saran dan masukan yang sifatnya membangun untuk lebih baiknya Modul ini sangat kami harapkan.

Yogyakarta, Februari 2016

(4)

4 TATA TERTIB PRAKTIK

Mahasiwa yang sedang melaksanakan praktik harus memnuhi ketentuan sebagai berikut:

1. Mahasiswa masuk sesuai jadwal yang telah ditentukan, sesuai dengan pembagian kelas serta mengisi daftar hadir.

2. Mahasiswa yang tidak mengikuti praktik lebih dari 25% dari total pertemuan tanpa keterangan resmi, tidak berhak mengikuti responsi.

3. Program Studi tidak mengadakan ujian susulan responsi.

4. Mahasiswa tidak diberikan toleransi, jika nilai dari Akademik Diploma Rekam Medis UGM tidak keluar dikarenakan kesalahan mahasiswa sendiri (tidak mengecek kesesuaian kartu ujian dengan KRS).

5. Mahasiswa memakai pakaian rapi dan sopan: Pria :

- Kemeja lengan panjang/pendek dan celana panjang rapi, - Bersepatu,

- Tidak memakai T-shirt tanpa krah atau tanpa lengan. Wanita :

- Kemeja lengan panjang/pendek (tidak ketat atau transparan), - Rok atau celana panjang (tidak ketat atau transparan), - Bersepatu,

- Tidak memakai T-shirt tanpa krah atau tanpa lengan.

6. Mahasiswa tidak diperbolehkan merokok, makan dan minum pada saat praktik berlangsung.

7. Barang berharga milik peserta praktik menjadi tanggung jawab sendiri. 8. Dering HP harus dimatikan (silent) pada saat praktik.

9. Mahasiswa diwajibkan menjaga kebersihan dan ketertiban serta ketenangan belajar.

10. Mahasiswa dilarang membuang sampah dalam bentuk apa pun di dalam ruang praktik.

11. Instruktur/pengajar praktik berhak mencatat, memberikan sanksi atau melakukan tindakan seperlunya terhadap mahasiswa yang melanggar tata tertib.

(5)

5 PERENCANAAN PEMBELAJARAN

1. Nama matakuliah : Praktek Basis Data 1

2. Kode/SKS : VMU1253/ 1 SKS

3. Semester : Genap

4. Deskripsi Mata Ajaran :

Mata kuliah ini untuk memberikan bekal pemahaman ketrampilan dalam kegiatan tentang perancangan Basis Data yang efektif dan efisien serta implementasinya dalam Aplikasi Database Manajemen Sistem (DBMS). Perangkat yang dapat digunakan misalnya MySQL, Ms.Access, Dbase, Fox Pro, SQL Server, PostgreSQL atau sejenisnya.

5. Tujuan Pengajaran

Setelah mengikuti mata ajaran ini, mahasiswa diharapkan dapat: a. Menjelaskan model-model basis data

b. Merancang basis data yang efektif dan efisien

c. Implementasi basis data dengan perangkat lunak DBMS

d.

Memahami perkembangan basis data konvensial ke modern 6. Garis Besar Mata Ajaran

a. Pengenalan Basis Data

b. Perancangan Basis Data Menggunakan Entity Relationship Diagram (ERD)

c. Pengenalan MySQL

d. Data Definition Language (DDL) e. Data Manipulation Language (DML) f. Penggunaan JOIN dalam query database g. Penggunaan FUNCTION dalam Dasis Data h. Penggunaan Nested Query

(6)

6 MATERI 1

PENGENALAN BASISDATA

Kompetensi:

Mahasiswa mampu membuat konsep basis data dan kapan memanfaatkan basisdata serta mampu merancang basis data yang baik.

Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami kapan memanfaatkan basis data

b. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang baik.

Landasan teori:

Pengertian Basis Data

Basis data terdiri dari dua kata, yaitu basis dan data. Basis dapat diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan data adalah sekumpulan fakta yang tidak dapat digunakan karena belum diolah yang terdapat pada media penyimpanan dan diproses menjadi informasi yang dapat dimengerti oleh manusia.

secara konsep, database atau basis data adalah kumpulan dari data-data yang membentuk suatu berkas (file) yang saling berhubungan (relation) dengan tatacara yang tertentu untuk membentuk data baru atau infromasi. Basis data (database) juga dapat diartikan kumpulandari data yang saling berhubungan (relation) antara satu dengan yang lainnya yang diorganisasikan berdasarkan skema atau struktur tertentu.

Pada komputer, basis data disimpan dalam perangkat hardware penyimpanan, dan dengan software tertentu dimanipulasi untuk kepentingan atau kegunaan tertentu. Hubungan atau relasi data biasanya ditunjukkan dengan kunci (key) dari tiap file yang ada.

Tujuan penggunaan basis data

1. Kecepatan dan Kemudahan (Speed)

Dengan basis data pengguna dapat menyimpan data, melakukan perubahan/manipulasi terhadap data, menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis).

2 Efisiensi Ruang Penyimpanan (Space)

Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi (dalam bentuk file) antara kelompok data yang saling berhubungan.

3 Keakuratan (Accuracy)

Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb.

(7)

7 4 Ketersediaan (Availability)

Data yang sudah tidak dipakai/kadaluwarsa dipisahkan dari sistem database yang sedang aktif baik dengan cara penghapusan atau memindahkannya ke media backup untuk menghemat ruang penyimpanan. Di sisi lain, juga dilakukan pemanfaatan teknologi jaringan komputer agar data yang berada di suatu lokasi/cabang daat juga diakses oleh lokasi/cabang lainnya.

5 Kelengkapan (Completeness)

Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu. Untuk itu tidak hanya dengan melakukan penambahan record-record data, tapi juga melakukan perubahan struktur pada basis data (jika perlu) baik menambah field pada tabel ataupun bahkan menambah tabel baru.

6 Keamanan (Security)

Walaupun tidak semua sistem basis data menerapkannya, keamanan dalam penggunaan basis data diperlakukan pada sistem yang besar dan serius. Dengan penerapan ini, setiap pengguna dibedakan hak aksesnya; yakni ditentukan obyek-obyek mana saja yang bisa diakses dan proses apa saja yang bisa dia dilakukan.

7 Kebersamaan (Sharability)

Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai) dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data(karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). Operasi dasar pembuatan Basis data :

1) Pembuatan Basis Data (Create Database) Identik dengan pembuatan lemari arsip yang baru. 2) Penghapusan Basis Data (Drop Database)

Identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada) 3) Pembuatan File/Table baru ke suatu basis data (Create Table)

Identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.

4) Penghapusan File/Table dari suatu basis data (Drop Table)

Identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip. 5) Penambahan data baru ke suatu file/table di sebuah basis data (insert) Identik dengan penambahan lembaran arsip baru kesebuah map arsip. 6) Pengambilan data dari sebuah file/table (Retrieve/Search)

Identik dengan pencarian lembaran arsip dari sebuah map arsip. 7) Pengubahan data dari sebuah file/table (Update)

Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip. 8) Penghapusan data dari sebuah file/table (Delete)

Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.

(8)

8 Hirarki Data

Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun kedalam sebuah hirarki, mulai dari yang paling sederhana hingga yang paling komplek.

a) basis data, merupakan sekumpulan dari bermacam-macam tipe record yang memiliki hubungan antar record.

b) berkas/file, merupakan sekumpulan rekaman data yang berkaitan denngan suatu objek.

c) record , merupakan sekumpulan field/atribut/data item yang saling berhubungan terhadap obyek tertentu

 fixed length record, semua field dalam record memiliki ukuran yang tetap.

 Variabel length record, field-field dalam record dapat memiliki ukuran berbeda (metode penandaan yang digunakan adalah : end of record marker, indikator panjang, dan tabel posisi record)

d) field/atribut/data item, merupakan unit terkecil yang disebut data yang tidak dapat dipecah lagi menjadi unit lain yang bermakna.

fixed length field, memiliki ukuran yang tetap.

variabel length field, field-field dalam record dapat memiliki ukuran berbeda.

e) byte, adalah bagian terkecil yang dialamatkan dalam memori. byte mrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit yang menyatakan sebuah karakter dalam memori (I byte= I karakter)

f) bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1. sistem binner merupakan dasar yang dapat digunakan untuk komunikasi antara manusia dan mesin, yang merupakan serangkaian komponen elektronik dan hanya dapat membedakan 2 macam keadaan, yaitu ada tegangan dan tidak ada tegangan yang masuk ke rangkaian tersebut. Pemanfaaatan Ilmu Basis Data

Bidang Fungsional :  Kepegawaian  Pergudangan  Akuntansi  Reservasi  Layanan pelanggan Bentuk Perusahan :  Perbankan  Rumah sakit  Produsen barang  Sekolah  Telekomunikasi Perancangan Basis Data

Untuk merancang basis data kita perlu mengetahui terlebih dahulu komponen-komponen basis data tersebut. Komponen yang paling penting adalah entitas dan atribut.

(9)

9 1. Entitas

Entitas digunakan untuk menerapkan integritas pada tingakt entity (tabel), agar setiap instance (record/baris) pada sustu entity bersifat unique yang disebut sebagai primary key sehingga dapat dibedakan antara yang satu dengan yang lainnya.

Contohnya :

a.

Semua pelanggan atau pelanggan saja dengan entitas Ani, Budi, Amin dan seterusnya

b.

Semua mobil atau mobil apa saja dengan entitas mobil kijang, starlet dan lain-lain

c.

Semua mahasiswa atau mahasiswa saja dengan entitas Eti, Ahmad dll 2. Atribut

Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik dari entitas tersebut. Penentuan/pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model data. Penetapan atribut bagi sebuah entitas umumnya memang didasarkan pada fakta yang ada. Tetapi tidak selalu sepeti itu. Istilah atribut sebenarnya identik dengan pemakaian kolom data. Macam-macam atribut :

a. Atribut deskriptif

Adalah atribut-atribut yang tidak menjadi atau merupakan anggota dari primary key. Contoh : atribut-atribut nama_mhs, alamat_mhs dan tanggal_lahir

b. Atribut sederhana dan atribut komposit

Atribut sederhana adalah atribut atomic yang tidak dapat diuraikan lagi. Sedangkan atribut komposit adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna.Contoh atribut sederhana: atribut nama_mhs

Contoh atribut komposit: atribut alamat_mhs dimana alamat masih dapat diuraikan lagi menjadi alamat, nama kota, kode pos yang masing-masing memiliki makna

c. Atribut bernilai tunggal dan atribut bernilai banyak

Atribut yang bernilai tunggal ditujukan pada atribut-atribut yang memiliki paling banyak satu nilai untuk setiap basis data.

Contoh atribut bernilai tunggal : nim, nama_mhs, alamat_mhs dan tgl_lahir karena atribut-atribut tersebut hanya dapat bernilai satu nilai. Contoh atribut bernilai banyak : atribut hobi karena bisa diisi dengan banyak nilai. Seseorang bisa memiliki hobi lebih dari satu.

d. Atribut harus bernilai

Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harus berisi data. Jadi nilainya tidak boleh kosong (mandatory atribut).

Contoh : nim, nama_mhs karena setiap mahasiswa yang ingin datanya disimpan di tabel tersebut paling tidak harus diketahui nama dan nimnya.

e. Atribut turunan

Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Contoh penambahan atribut angkatan dan ip.

(10)

10 f. Normalisasi

Dalam perancangan basis data perlu dilakukan secara cermat agar dihasilkan basis data yang kompak dan efisien dalam penggunaan ruang penyimpanan, cepat dalam pengaksesan dan mudah dalam manipulasi data. Salah satu cara yang dapat dilakukan dalam merancang basis data adalah dengan melakukan normalisasi.

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah Vokasi UGM

(11)

11 LATIHAN/KASUS

MEMAHAMI BASIS DATA Alat dan bahan praktikum:

a. Modul praktikum b. Kertas HVS c. ATK

d. Internet

Kegiatan praktikum:

a. Masing-masing mahasiwa membentuk kelompok paling banyak 4 orang per kelompok dan menunjuk salah satunya sebagai ketua kelompok.

b. Setiap kelompok membuat pembahasan dan mencari contoh-contoh penggunaan database di lingkungan rekam medis.

c. Setiap kelompok membuat pembahasan tentang pentingnya database dalam pengelolaan berkas.

d. Masing-masing kelompok memaparkan hasil diskusi yang telah dilakukan kepada kelompok lain dan saling memberikan penjelasan, argumentasi, kritik, dan saran.

Penilaian:

a. Penilaian didasarkan pada proses diskusi, cara pengambilan keputusan, dan detail sebuah perencanaan.

b. Nilai kelompok menjadi nilai individu.

Kasus:

Jelaskan pengertian, tujuan penggunaan, serta operasi dasar pembuatan basis data!

(12)

12 MATERI 2

ERD

Kompetensi:

Mahasiswa mampu merancang suatu basis data yang baik. Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan basis data

b. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang baik.

Landasan teori:

Entity Relationship Diagram (ERD) merupakan salah satu bentuk pemodelan basis data yang sering digunakan dalam pengembangan sistem informasi. Dalam rekayasa perangkat lunak, sebuah Entity Relationsip Model (ERM) merupakan abstrak dan konseptual representasi data. Entity Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantic system. Dimana system seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entity Relationship ini disebut Entity Relationship Diagram , ER diagram, atau ERD.

ERD menyediakan notasi-notasi grafis untuk merepresentasikan model-model data dalam bentuk Entity Relationship Diagram. Model-model data tersebut biasa digunakan pada desain sistem informasi tingkat pertama, contohnya untuk mendeskripsikan kebutuhan informasi dan tipe informasi yang ingin disimpan pada basis data selama analisa.

Dalam pembentukan ERD terdapat 3 komponen yang akan dibentuk yaitu : a. Entitas

Pengertian entity (entitas) yaitu suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Pengertian lainnya menurut Brady dan Loonam (2010), entitas adalah objek yang menarik di bidang organisasi yang dimodelkan. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama akan membetuk sebuah Himpunan Entitas. Tetapi dalam penyebutannya, himpunan entitas ini tidak praktis sehingga sering disebut entitas saja. Contoh : Mahasiswa, Kartu Anggota Perpustakaan (KAP), dan Buku.

Varian Entitas:

1. Himpunan Entits Kuat (Strong Entity Sets)

Himpunan entitas ini tidak memiliki ketergantungan dengan enntitas lainnya. Himpunan entitas inilah yang biasanya dipakai dalam ERD. 2. Himpunan Entitas Lemah (Weak Entity Sets)

Himpunan entitas ini berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain. Biasanya entitas ini tidak memiliki atribut key.

3. Sub-Entitas (Subtype Entity)

Himpunan entitas ini beranggotakan entitas-enttas yang merupakan bagian dari himpunan entitas yang lebih superior/utama. Entitas ini merupakan hasil dekomposisi (spesialisasi) himpunan entitas berdasarkan pengelompokkan tertentu.

(13)

13 b. Hubungan (relasi/relationship)

Suatu hubungan (relasi) adalah hubungan antara dua jenis entitas dan direpresentasikan sebagai garis lurus yang menghubungkan dua entitas. Sekelompok relasi yang sejenis dan berada dalam lingkup yang sama akan membetuk sebuah Himpunan Relasi. Tetapi dalam penyebutannya, himpunan entitas ini tidak praktis sehingga sering disebut relasi saja. Contoh : Mahasiswa mendaftar sebagai anggota perpustakaan (KAP), relasinya adalah mendaftar.

c. Atribut

Atribut memberikan informasi lebih rinci (karakteristik) tentang jenis entitas. Penentuan atribut-atribut yang relevan bagi sebuah entitas merupakan hal yang penting dalam pembentukan model data. Penetapan ini biasanya memang didasarkan pada fakta yang ada. Tetapi karena proses normalisasi atau pertimbangan-pertimbangan tertentu, ada sejumlah atribut yang tidak berdasar fakta tetapi perlu ditambahkan. Atribut memiliki struktur internal berupa tipe data. Jenis-jenis atribut :

a. Atribut Key

Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data ( Row/Record ) dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya

b. Atribut simple

Atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi. Contoh : Alamat, penerbit, tahun terbit, judul buku.

c. Atribut Multivalue

Nilai dari suatu atribut yang mempunyai lebih dari satu (multivalue) nilai dari atribut yang bersangkutan Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.

d. Atribut Composite

Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau mempunyai sub attribute. Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang e. Atribut Derivatif

Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus

(14)

14 Relational

Relational adalah hubungan antara entity. Semisal pada contoh di atas entity manusia mempunyai hubungan dengan entity alamat yaitu ”tinggal di”. Di dalam merancang database hendaknya seluruh entity yang ada mempunyai hubungan dengan entity yang lain, minimal satu. Jika ada entity dalam database yang tidak mempunyai hubungan dengan satupun entity yang lain, maka akan timbul kesalahan dalam desain. Biasanya entity yang tidak berhubungan akan dihilangkan.

Macam relasi ada 4, antara lain :

1. One to one : Sebuah entitas A yang berpasangan dengan tepat satu entitas B. Demikian pula entitas B juga berpasangan tepat satu dengan entitas A. Contoh entitas mahasiswa yang berelasi dengan entitas skripsi secara one to one.

2. One to many : Sebuah entitas A yang berpasangan secara banyak (nol atau lebih) dengan entitas di dalam B. Sedangkan entitas B hanya berpasangan dengan tepat satu entitas di dalam A. Contoh : entitas mahasiswa yang berelasi dengan entitas dosen dalam hubungan dosen pembimbing. Relasi yang terjadi secara one to many. Karena seorang mahasiswa hanya memiliki 1 dosen pembimbing. Sedangkan seorang dosen bisa jadi memiliki mahasiswa bimbingan lebih dari satu.

3. Many to one : Sebuah entitas A yang berpasangan dengan tepat satu entitas di dalam B. Sedangkan entitas B dapat berpasangan secara banyak (nol atau lebih) dengan entitas di dalam A. (sama seperti one to many hanya dibalik pengertiannya)

(15)

15 4. Many to many : Sebuah entitas A yang berpasangan secara banyak (nol atau lebih) dengan entitas di dalam B. Dan entitas B juga dapat berpasangan secara banyak (nol atau lebih) dengan entitas di dalam A. Contoh : entitas mahasiswa yang berelasi dengan entitas matakuliah dalam hubungan KRS. Relasi tersebut adalah many to many. Karena seorang mahasiswa dapat mengambil banyak matakuliah. Sedangkan satu mata kuliah bisa jadi diambil oleh beberapa mahasiswa.

Primary Key

Entity adalah suatu objek yang berbeda dengan objek yang lainnya. Maka tiap entity harus mempunyai atribut yang dapat membedakan antara objek satu dengan yang lainnya. Misalnya entitas manusia, entitas ini tidak mempunyai atribut yang dapat membedakan antara objek manusia1 dengan objek manusia2. Namun apabila manusia tersebut menjadi pegawai (muncul entitas pegawai) maka objek manusia1 dan manusia2 sebagai anggota dari entitas pegawai akan mempunyai atribut yang membedakan, yaitu NIP. Atribut inilah yang disebut dengan key. Manusia1 dan manusia2 tidak mungkin memiliki NIP yang sama.

Key dapat terdiri dari beberapa atribut, yang biasa disebut dengan candidate key. Namun dalam prakteknya key sebisa mungkin hanya terdiri dari satu atribut. Hal ini untuk memudahkan dalam pengolahan data. Nah, untuk mendapatkan key dari candidate key (gabungan beberapa atribut), pilih atribut entitas yang paling unik (value dalam atribut tidak ada yang sama) dan bisa membedakan entitas tersebut dengan entitas yang lain. Jika sudah mendapatkannya, key itulah yang disebut sebagai primary key.

Semisal ada candidate key berupa nama, NIP, dan tanggal lahir. Maka perlu disortir, atribut mana yang paling unik dari ketiga atribut tersebut. Atribut nama tidak unik, karena ada kemungkinan dua entitas pekerja mempunyai nama yang identik. Demikian pula dengan atribut tanggal lahir, sangat bisa jadi dua entitas pekerja mempunyai tanggal lahir yang sama. Hanya atribut NIP saja yang pasti berbeda dari tiap-tiap entitas pekerja.

(16)

16 LATIHAN/KASUS

ERD Alat dan bahan praktikum:

a. Modul praktikum b. Kertas HVS c. ATK

d. Komputer yang sudah terinstal software visio Kegiatan praktikum:

Kegiatan 1: Membuat ERD

Pada kegiatan ini, digunakan contoh kasus sebagai berikut:

Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan disatu bagian (dapat pula dibeberapa bagian). Satu pegawai mendapat tugas disuatu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas diproyek.

Step 1 : Menentukan entitas.

Menentukan peran, kejadan lokasi, hal nyata dan konsep dimana penggunaan untuk menyimpan data. Dalam kasus ini maka entitasnya: pengawas, bagian, pegawai, proyek.

Step 2 : Menentukan relasi.

Menentukan hubungan antar pasangan entitas menggunakan matriks relasi.

Bagian Pegawai Pengawas Proyek

Bagian Ditugaskan

ke

Dijalankan oleh

Pegawai milik Bekerja

pada Pengawas menjalankan

Proyek Melibatkan

Step 3 : Gambar ERD sementara.

Entitas digambarkan dengan kotak dan relasi digambarkan dengan garis. Step 4 : Mengisi Kardinalitas

Dari gambaran permasalahan dapat diketahui bahwa:

 Masing-masing bagian hanya punya satu pengawas  Seorang pengawas bertugas disatu bagian

 Masing-masing bagian ada minimal satu pegawai

 Masing-masing pegawai bekerja paling tidak disatu bagian  Masing-masing proyek dikerjakan paling tidak oleh satu

pegawai

Step 5 : Menentukan Primary Key

Karena tidak disebutkan dalam contoh kasus, maka kita anggap sebagai berikut:

(17)

17  Entitas Pengawas mempunyai attribut IDPengawas, nama, alamat.

Maka primary key-nya IDPengawas.

 Entitas bagian mempunyai attribut namaBagian. Maka primary key-nya namaBagian.

 Entitas Pegawai mempunyai attribut IDPegawai, nama, alamat. Maka primary key-nya IDPegawai.

 Entitas Proyek mempunyai attribut NoProyek, Nama, waktu. Maka primary key-nya NoProyek.

Step 6 : Menggambar ERD Berdasarkan Kunci dan Kardinalitas

Step 7 : Menggambar ERD Berdasarkan Relasi, Kunci dan kardinalitas.. Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita perlu memperhatikan kemungkinan attribute yang muncul dari relasi ini. Misal dari relasi antara pegawai dan proyek, mungkin saja terdapat relasi jabatan (Dalam suatu proyek, seorang pegawai akan memiliki jabatan tertentu, seperti coordinator, anggota ataupun yang lain).

Penilaian:

Penilaian didasarkan hasil analisis dan ERD yang dibuat. Kasus:

Buatlah sebuah model database untuk sistem informasi puskesmas atau klinik. Tentukan entitas-entitas apa saja yang ada di dalamnya. Atribut-atribut penyusun entitas juga dideskripsikan. Tentukan primary key entitas yang kuat. Serta relasi antar entitas. Setelah itu coba gambarkan model tersebut dengan ERD!

(18)

18

(19)

19 MATERI 3

MySQL

Kompetensi:

Mahasiswa mampu merancang suatu basis data yang baik. Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan basis data

b. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang baik.

Landasan teori:

MySQL merupakan software sistem manajemen database (Database Management System, DBMS) yang sangat popular. MySQL bersifat open source. Website MySQL www.mysql.com menyediakan informasi terkini tentang MySQL.

Pengelolaan database dapat dilakukan dengan menggunakan perintah-perintah SQL (Structure Query Language), bahasa yang khusus digunakan untuk melakukan akses database relasional.

Perintah SQL dikelompokkan menjadi :

1.

DDL (Data Definition Language)

DDL merupakan perintah yang digunakan untuk membuat dan mendefinisikan database dan struktur datanya.

2.

DML (Data Manipulation Language)

DML adalah perintah yang digunakan untuk melakukan manipulasi atau pengelolaan data yang ada dalam database.

3.

DCL (Data Control Language)

Membuat Database

Dalam membuat database, yang sangat penting untuk diperhatikan adalah penulisan nama database tidak boleh menggunakan spasi dan karakter non standar. Bentuk penulisan untuk membuat database adalah :

Catatan :

 Dalam penulisan nama database tidak diperbolehkan menggunakan spasi atau karakter khusus lainnya.

 Nama sebuah database tidak boleh diawali dengan angka 1. Melihat database

Untuk melihat database yang baru saja dibuat atau database lain yang ada dalam server, dapat menggunakan perintah SHOW. Bentuk penulisan untuk melihat database yang ada di server adalah sebagai berikut :

SHOW DATABASES;

(20)

20 2. Mengaktifkan database

Setelah database dibuat, untuk dapat menggunakannya diperlukan perintah USE. Perintah ini selalu digunakan setiap user/pengguna akan mengakses table-table yang ada di dalamnya. Struktur penulisannya adalah sebagai berikut:

3. Menghapus database

Untuk menghapus database yang tidak dipakai atau database yang rusak, pengguna dapat mengunakan perintah DROP. Struktur penulisan untuk menghapus database adalah sebagai berikut :

Tabel

Membuat tabel

Struktur penulisan untuk menghapus database adalah sebagai berikut :

Perlu diperhatikan dalam pembuatan tabel, apakah database sudah diaktifkan sebelumnya. Jika belum, aktifkan database tersebut atau buat database baru jika belum tersedia. Hal ini dilakukan agar tabel yang akan dibuat mempunyai tempat dalam database. Tabel sebagai tempat penampungan data mempunyai dua bagian utama yaitu nama dan tipe data. Tipe data yang bisa digunakan dalam MySQL dapat dilihat dibawah ini.

Tipe data untuk bilangan

Tipe Data Keterangan

TINYINT

Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauan untuk bilangan bertanda: -128 sampai dengan 127 dan untuk yang tidak bertanda : 0 sampai dengan 255. Bilangan tak bertanda ditandai dengan tanda UNSIGNED

SMALLINT

Ukuran 2 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -32768 sampai dengan 32767 dan yang tidak bertanda : 0 sampai dengan 65535.

MEDIUMINT

Ukuran 3 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -8388608 sampai dengan 8388607 dan untuk bertanda : 0 sampai dengan 16777215

INT

Ukuran 4 byte. Bilangan bulat dengan jangkauan untuk bilangan bertanda : -2147483648 sampai dengan 2147483647 dan untuk yang tidak bertanda : 0 sampai dengan 4294967295

INTEGER Ukuran 4 byte. Sinonim dari INT CREATE TABLE

DROP DATABASE nama_database; USE nama_database;

(21)

21 BIGINT

Ukuran 8 byte. Bilangan bulat terbsar dengan jangkauan untuk bilangan bertanda : -9223372036854775808 sampai dengan 9223372036854775807 dan untuk yang tidak bertanda

: 0 sampai dengan 18446744073709551615 FLOAT Ukuran 4 byte. Bilangan pecahan

DOUBLE Ukuran 8 byte. Bilangan pecahan DOUBLE

PRECISION Ukuran 8 byte. Bilangan pecahan berpresisi ganda REAL Ukuran 8 byte. Sinonim dari DOUBLE

DECIMAL(M,D)

Ukuran M byte. Bilangan pecahan. Misalnya DECIMAL(5,2) dapat digunakan untuk menyimpan bilangan -99,99 sampai dengan 99,99

NUMERICAL(M,D)

Ukuran M byte. Sinonim dari DECIMAL. Misalnya NUMERICAL(5,2) dapat digunakan untuk menyimpan bilangan -99,99 sampai dengan 99,99

Tipe data untuk tanggal dan jam

Tipe Data Keterangan

DATETIME

Ukuran 8 byte. Kombinasi tanggal dan jam, dengan jangkauan dari „100-01-01 00:00:00‟ sampai dengan „9999-12-31 23:59:59‟

DATE Ukuran 3 byte. Tanggal dengan jangkauan dari „100-01-01‟ sampai dengan „9999-12-31‟

TIMESTAMP Ukuran 4 byte. Kombinasi tanggal dan jam dengan jangkauan „1970-01-01 00:00:00‟ sampai dengan tahun 2037

TIME Ukuran 3 byte. Waktu dengan jangkauan dari sampai dengan „838:59:59‟ „-838:59:59‟ YEAR Ukuran 1 byte. Data tahun antara 1901 sampai dengan 2155

(22)

22 Tipe data untuk karakter dan lain-lain

Tipe Data Keterangan

CHAR(M) Ukuran M byte,1 M 255 . Data string dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.

VARCHAR(M) Ukuran L=1 byte dengan L M dan 1 M 255 . Data string dengan panjang bervariasi, tergantung datanya TINYBLOB,

TINYTEXT L+1 byte, dengan L dengan panjang maksimum 255 karakter 28 . Tipe TEXT atau BLOB BLOB,TEXT L+2 byte, dengan L 216 . Tipe TEXT atau BLOB

dengan panjang maksimum 65535 karakter MEDIUMBLOB,

MEDIUMTEXT L+3 byte, dengan L

224 . Tipe TEXT atau BLOB dengan panjang maksimum 16777215 karakter

LONGBLOB,

LONGTEXT L+4 byte, dengan L dengan panjang maksimum 4294967295 karakter 232 . Tipe TEXT atau BLOB ENUM(„nilai1‟,

‟nilai2‟,…) Ukuran 1 atau 2 byte tergantung jumlah enumerasinya (maksimum 65535 nilai) SET(„nilai1‟,

„nilai2‟, …)

1, 2, 3, 4 atau 8 byte, tergantung jumlah anggota himpunan (maksimum 64 anggota)

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah Vokasi UGM

(23)

23 LATIHAN/KASUS

MySQL Alat dan bahan praktikum:

a. Modul praktikum b. Alat Tulis

c. Komputer yang sudah terinstal MySql Kegiatan praktikum:

1. mengarahkan alamat directory Windows Command Processor pada folder bin yang ada di dalam folder utama MySQL Server. Apabila instalasi dilakukan dengan benar, perintah untuk server MySQL seperti mysql, mysqld, mysqladmin, dan sejenisnya dapat dijalankan ketika alamat Command Processor berada pada directory bin tersebut. Contoh alamat bin pada MySQL:

C:\Program Files\MySQL\MySQL Server 5.6\bin> 2. masuk sebagai sebagai user MySQL

mysql –u root 3. Buat Database Puskesmas

4. Buat Tabel Pasien (noRM, nama, alamat, tanggalLahir), Dokter(noDokter, nama, spesialisasi)

Penilaian: a. Keaktifan mahasiswa dalam praktikum

b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur Kasus:

Buatlah tabel salary dengan deskripsi tabel sebagai berikut:

Atribut Tipe NULL

emp_no salary from_date to_date int(11) int(11) date date No No No No

(24)

24 LEMBAR KERJA

(25)

25 MATERI 4

DDL

Kompetensi:

Mahasiswa mampu merancang suatu basis data yang baik. Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan basis data

b. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang baik.

Landasan teori: 1. Membuat tabel

Struktur penulisan untuk menghapus database adalah sebagai berikut :

2. Melihat struktur tabel Perintah

digunakan untuk melihat struktur tabel yang telah dibuat. Namun sebelumnya pastikan sudah berada pada database yang mempunyai tabel tersebut.

3. Mengubah struktur tabel

Jika struktur tabel yang telah dibuat terdapat kesalahan atau menginginkan penggantian, dapat menggunakan perintah alter untuk mengubahnya. Ada empat macam perubahan dalam struktur tabel, yaitu : D perubahan nama field/kolom perubahan yang terjadi hanya sebatas pada nama field/kolom saja. Nama field/kolom yang lama diganti dengan nama filed/kolom yang baru

Struktur penulisan:

4. Perubahan tipe data

Perubahan yang terjadi hanya terbatas pada tipe data yang digunakan oleh field/kolom tertentu. Tipe data yang baru langsung disebutkan dibelakang nama field/kolom, tanpa harus menyebutkan tipe data yang lama.

Struktur penulisan:

ALTER TABLE namatabel MODIFY nama_field tipe_data_baru; ALTER TABLE nama_tabel CHANGE nama_field_lama

nama_filed_baru tipe_data; DESCRIBE nama_tabel;

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...)

[table_option ...] [partition options]

(26)

26 5. Penambahan field

Struktur tabel akan tambah dengan bertambahnya field/kolom baru didalamnya. Struktur penulisan :

6. Penghapusan field

Struktur tabel mengalamai perubahan akibat berkurangnya field/kolom tertentu. Struktur penulisan :

7. Mengganti nama tabel

Seringkali, penggantian tabel juga meliputi nama tabel itu sendiri. Struktur penulisan:

8. Menghapus tabel

Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi atau terjadi kesalahan. Perintah untuk menghapus tabel adalah drop table. Struktur penulisan :

PRIMARY KEY

Dari contoh pembuatan tabel dept_emp terdapat pendefinisian key berupa PRIMARY KEY, KEY, dan FOREIGN KEY. Untuk mendefinisikan PRIMARY KEY pada CREATE TABLE perintah umumnya adalah sebagai berikut:

PRIMARY KEY (nama_kolom);

Apabila yang akan menjadi PRIMARY KEY lebih dari satu kolom maka kolom-kolom yang disebutkan didalam tanda kurung dipisahkan dengan tanda koma (,). Walaupun dimungkinkan untuk menggunakan lebih dari satu kolom sebagai PRIMARY KEY, sebisa mungkin gunakan satu kolom saja yang bersifat unik. Kalau tidak ada satu kolom unik yang dapat menjadi PRIMARY KEY, pilihan lain selain menggunakan lebih dari satu kolom adalam menambahkan attribut/kolom pembantu (ID) sebagai PRIMARY KEY.

FOREIGN KEY

Pendefinisian FOREIGN KEY agak lebih rumit dari PRIMARY KEY. Karena dalam satu tabel dimungkinkan terdapat lebih dari satu FOREIGN KEY, maka FOREIGN KEY harus ada namanya. Hal ini untuk mempermudah identifikasi FOREIGN KEY terutama apabila akan ada penghapusan FOREIGN KEY. Perintah umum pendefinisian FOREIGN KEY pada CREATE TABLE adalah:

[CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name, ...)

REFERENCES tbl_name (index_col_name,...) [ON DELETE reference_option]

[ON UPDATE reference_option] Pilihan untuk reference_option adalah:

RESTRICT | CASCADE | SET NULL | NO ACTION Keterangan:

 CASCADE: apabila dilakukan DELETE atau UPDATE pada tabel induk, maka kolom pada tabel yang mengacunya juga akan dikenakan operasi yang sama.

DROP TABLE nama_tabel;

ALTER TABLE nama_tabel_lama RENAME nama_tabel_baru; ALTER TABLE nama_tabel DROP COLUMN namafield;

(27)

27  SET NULL: apabila dilakukan DELETE atau UPDATE pada tabel induk, maka kolom pada tabel anak (tabel yang mengacunya akan) diset nilainya menjadi NULL.

 RESTRICT: operasi DELETE dan UPDATE tidak boleh dilakukan pada tabel induk apabila nilai kolom tabel induk masih diacu oleh kolom tabel anak yang mengacunya.

 No ACTION: sama dengan RESTRICT. Perlu diperhatikan:

- Fitur FOREIGN KEY hanya dapat diterapkan apabila tabel induk dan tabel anak menggunakan storage engine yang sama (contoh: InnoDB). - Kolom yang dapat diacu sebagai FOREIGN KEY (kolom pada tabel

induk) harus terdapat dalam sebuah index.

- FOREIGN KEY tidak dapat diterapkan pada tabel sementara (temporary table).

- Tipe data kolom tabel induk yang diacu dan tipe data kolom tabel anak yang mengacu harus mirip (atau sama) dan sesuai; dapat menampung semua kemungkinan nilai data.

Keterangan lebih lanjut tentang FOREIGN KEY dapat dilihat pada MySQL Reference Manual pada bagian Using FOREIGN KEY Constraints.

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah Vokasi UGM

(28)

28 LATIHAN/KASUS

MySQL

Alat dan bahan praktikum: a. Modul praktikum

b. Alat Tulis

c. Komputer yang sudah terinstal MySql

Kegiatan praktikum: Kegiatan 1

1. Berikut ini merupakan aturan umum penulisan yang digunakan pada create database.

Create database nama_basis_data; Contoh penerapan :

Create database rumah_sakit;

2. Lalu kita buat contoh tabel pasien : Create table pasien

(

Kode_psn char(5) primary key, Nm_psn varchar(30) not null, Almt_psn varchar(50) null, Umur integer null

)

3. Setelah membuat tabel selanjutnya membuat contoh alter tabel Contoh penerapan dan penjelasan

a. Perintah SQL untuk menambahkan field status dan field pekerjaan pada tabel pasien yaitu :

Alter table pasien add status char(7), pekerjaan char(15)

b. Perintah SQL untuk menghapus field pekerjaan pada tabel pasien yaitu Alter table pasien drop pekerjaan

(29)

29 c. Perintah SQL untuk menghapus primary key pada tabel pasien yaitu : Alter table pasien drop constraint pk_kodpsn

4. Terakhir ketika akan menghapus tabel yaitu dengan cara drop contohnya hapus tabel pasien :

Drop table pasien;

Kegiatan 2

1. Buatlah tabel pasien dengan kolom berupa nama pasien, nomor rekam medis, alamat dan jenis kelamin !

2. Mengubah field id_periksa menjadi id_berobat ! 3. Menambahkan kolom biaya pada tabel periksa ! 4. Menghapus kolom biaya dari tabel periksa !

5. Merelasikan field no_rm pada tabel periksa dengan field no_rm pada tabel pasien!

6. Mengubah nama tabel pasien menjadi tabel pengunjung !

Penilaian:

a. Keaktifan mahasiswa dalam praktikum

b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

Kasus:

1. Buatlah tabel salary dengan deskripsi tabel sebagai berikut:

Atribut Tipe NULL

emp_no salary from_date to_date int(11) int(11) date date No No No No

2. Set emp_no dan from_date sebagai PRIMARY KEY!

3. Set emp_no sebagai FOREIGN KEY yang mengacu pada kolom emp_no di tabel employees dengan aksi ON DELETE CASCADE!

4. Lihat deskripsi tabel salary dan lihat perintah pembuatan tabel (CREATE TABLE) salary yang telah dibuat!

(30)

30 LEMBAR KERJA

(31)

31

MATERI 5

DML

Kompetensi:

Mahasiswa mampu menggunakan sintak-sintak di MySql untuk

memanipulasi data.

Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami sintak-sintak dalam basis data

b. Mahasiswa

mengerti dan memahami

bagaimana

melakukan

pengisian, perbaikan, penghapusan, pengambilan dan pencarian

kembali data

Landasan teori:

1.

INSERT

Perintah :

Nama_tabel adalah tabel yang akan diisi data. Field1, field2, field3,… adalah field-field (kolom) dari tabel yang akan diisi. Nilai1, nilai2, nilai3, … adalah data yang akan dimasukkan ke dalam tiap kolom yang disebutkan pada bagian field.

Penulisan nilai1, nilai2, nilai3 disesuaikan dengan tipe datanya jika tipe data merupakan kelompok tipe data karakter maka data harus diapit dengan menggunakan tanda petik (apostrophe).

Perintah insert dapat juga dituliskan langsung sebagai berikut :

Penulisan tanpa menyebutkan nama field dapat diberikan apabila akan mengisi ke seluruh field yang ada dalam tabel, urutan data dalam bagian values menunjukkan urutan field yang akan diisi. Jadi harus hati-hati menggunakan perintah insert apabila tidak menyatakan nama field karena bisa tertukar.

Contoh :

mysql> INSERT INTO pribadi

-> VALUES (12341, 'Hamdan Arif', 'Jl. Krapyak 2', 'Bantul', 'P',

-> '1964/05/12');

Query OK, 1 row affected (0.06 sec)

Kelebihan dengan menyebutkan nama field adalah kita tidak harus berurutan menyebutkan nama field dan datanya pada saat mengisikan, yang penting adalah urutan pasangan yang benar agar tidak tertukar. INSERT INTO nama_tabel VALUES(nilai1 [,nilai2 [,..]]); INSRT INTO nama_tabel (field1 [,field2 [field3 [,…]]]) VALUES (nilai1 [,nilai2 [,nilai3 [,..]]]);

(32)

32

2.

UPDATE

Perintah :

Nama_tabel adalah nama dari tabel yang akan diperbaiki datanya. Field1 adalah nama field dalam tabel yang akan diubah. Nilai1 adalah data yang akan dimasukkan ke dalam field1. field2 dan nilai2 adalah nama field dan datanya, dan seterusnya. Kondisi adalah criteria data dalam tabel yang akan diperbaiki.

Contoh :

mysql> UPDATE pribadi SET kota='Yogyakarta' WHERE kota='Yogya';

Query OK, 1 row affected (0.15 sec)

Rows matched: 1 Changed: 1 Warnings: 0

Perintah update digunakan untuk memperbaiki data dalam satu record (baris) dalam satu tabel. Perbaikan dapat dilakukan untuk satu record, beberapa atau seluruh record.

Hati-hati saat memberikan perintah update ini, jangan sampai lupa menuliskan kondisi data dalam tabel yang akan diperbaiki datanya. Jika kondisi tidak dituliskan maka bisa menyebabkan seluruh record dalam tabel akan diubah sesuai dengan field yang akan diperbaiki datanya.

3.

DELETE

Perintah:

 Nama_tabel adalah nama tabel yang akan dihapus datanya.  Kondisi adalah criteria data dalam tabel yang akan dihapus.

Perintah delete digunakan untuk melakukan penghapusan record dari suatu table yang memilik kondisi yang dinyatakan dalam pernyataan kondisi.

Hati-hati dalam memberikan perintah delete ini karena jika terlupa memberikan pernyataan kondisi, perintah ini akan menyebabklan terhapusnya seluruh isi tabel.

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi

Sekolah Vokasi UGM

Nugroho, Bunafit. 2005. Database Relasional dengan MySQL.

Yogyakarta. Andi

DELETE FROM nama_tabel [WHERE kondisi];

UPDATE nama_tabel SET field1=nilai1 [,field2=nilai2 [,…]] [WHERE kondisi];

(33)

33

LATIHAN/KASUS

MySQL

Alat dan bahan praktikum:

a. Modul praktikum

b. Alat Tulis

c. Komputer yang sudah terinstal MySql

Kegiatan praktikum:

Kegiatan 1

1. Berikut ini merupakan pembuatan database terlebih dahulu. Create database nama_basis_data;

Contoh :

Create database swalayan;

Lalu kita buat contoh tabel pribadi : Create table pribadi

(

nip char(10) primary key, nama varchar(30) not null, alamat varchar(50) null, kota varchar(20) not null, kelamin varchar(10) not null, tgl_lahir date not null,

(34)

34 2. Setelah membuat tabel maka memasukan data ke dalam tabel pribadi,

berikut merupakan aturan umum penulisan yang digunakan pada INSERT database.

INSERT INTO nama_tabel; Contoh penerapan :

INSERT INTO pribadi(nip,nama,alamat,kota,kelamin,tgl_lahir); 3. Setelah mengisi data dalam tabel selanjutnya membuat contoh update

update nama_tabel set field1=nilai1 where[kondisi];

Contoh penerapan dan penjelasan

UPDATE pribadi set nip= 127 where no=1;

4. Selanjutnya akan menghapus data dalam tabel yaitu dengan cara delete contohnya hapus tabel pasien :

Delete from nama_tabel [where kondisi];;

Kegiatan 2

1. Buatlah tabel pembeli dengan kolom berupa nid, nama_pembeli dan alamat! 2. Buatlah tabel transaksi dengan kolom no_transaksi, tgl_transaksi,

nama_barang, dan harga!

3. Gantilah alamat Agus menjadi bali ! 4. Hapus data ani!

Penilaian:

a. Keaktifan mahasiswa dalam praktikum

(35)

35

Kasus:

1. Buatlah tabel PEMBELI DAN TRANSAKSI dengan deskripsi tabel sebagai berikut:

Tabel pembeli

+---+---+---+

| nid | nama_pembeli | alamat |

+---+---+---+ | 123 | ani | jogja | | 345 | budi | jakarta | | 234 | agus | bandung | +---+---+---+ Tabel transaksi +---+---+---+---+---+

| nid | no_transaksi | tgl_transaksi | nama_barang | harga |

+---+---+---+---+---+ | 123 | D002 | 2014-05-12 | tas | 100000 | | 234 | D000 | 2014-05-27 | sepatu | 126000 | | 123 | D010 | 2014-06-06 | buku | 50000 | | 345 | D015 | 2014-06-09 | baju | 90000 | +---+---+---+---+---+

(36)

36 MATERI 6

DML (2)

Kompetensi:

Mahasiswa mampu menggunakan sintak-sintak di MySql untuk memanfaatkan dan memanipulasi data..

Maksud dan tujuan:

a. Mahasiswa mengerti dan memahami menggunakan sintak-sintak di MySql untuk memanipulasi data.

b. Mahasiswa mengerti dan memahami bagaimana melakukan pengisian, perbaikan, penghapusan, pengambilan dan pencarian kembali data

Landasan teori:

Perintah yang digunakan untuk menampilkan data adalah SELECT. Perintah ini akan menampilkan baris data yang ada pada basis data dalam bentuk tabel. Perintah SELECT tidak akan merubah data maupun struktur tabel yang disimpan. Untuk menampilkan data secara lengkap dari sebuah tabel digunakan perintah:

SELECT * FROM nama_tabel;

Tanda * mengisyaratkan bahwa semua kolom akan ditampilkan tanpa terkecuali, sedangkan nama_tabel diganti dengan nama tabel yang datanya ingin ditampilkan. Berikut adalah contoh untuk menampilkan semua data pada tabel employees:

SELECT * FROM employees;

Apa bila ingin menampilkan kolom-kolom tertentu saja, maka simbol * dapat diganti dengan nama kolom yang ingin ditampilkan. Berikut adalah contoh perintah untuk menampilkan data yang ada pada kolom first_name dan last_name pada tabel employees:

SELECT first_name, last_name FROM employees;

Penggunaan perintah SELECT dapat dilengkapi dengan klausa WHERE sebagai syarat spesifikasi data yang ingin ditampilkan. Contohnya adalah ketika ingin

(37)

37 ditampilkan data nama pegawai yang nama belakangnya Maximoff, maka perintahnya:

SELECT first_name, last_name FROM employees

WHERE last_name=’Maximoff’;

Klausa WHERE dapat berisi lebih dari satu persyaratan. Persyaratan satu dengan lainnya dapat disambung dengan menggunakan AND atau OR sesuai dengan kebutuhan. Persyaratan data yang digunakan dapat berupa sepesifikasi nilai kolom, jangkauan nilai kolom (untuk data numerik), kemiripan nilai kolom, dan lain sebagainya sesuai kebutuhan.

Berikut adalah contoh perintah untuk menampilkan data dari dua kolom dengan dua syarat, yaitu data yang ditampilkan harus mempunyai nomer pegawai (emp_no) 10005 atau setelahnya dan mempunyai nama belakang Wayne:

SELECT first_name, last_name FROM employees

WHERE emp_no>=10005 AND last_name='Wayne';

Perintah SQL yang berikutnya akan menampilkan nama depan dan nama belakang

pegawai yang nomer pegawainya diantara 10005 dan 10010:

SELECT first_name, last_name FROM employees

WHERE emp_no BETWEEN 10005 and 10010;

Between dapat juga digunakan untuk tipe data yang berkaitan dengan tanggal dan waktu. Contoh perintah berikut ini menggunakan variabel tahun sebagai parameter persyaratan BETWEEN untuk menampilkan data pegawai yang lahir tahun 1990 hingga 2000:

SELECT emp_no,first_name,last_name FROM employees

WHERE YEAR(birth_date) BETWEEN '1990'AND'2000';

Keterangan nilai NULL dan NOT NULL juga dapat digunakan untuk memilih data melalui klausa WHERE. Penggunaannya tidak dengan tanda sama

dengan (=)

namun dengan IS:

SELECT * FROM employees

WHERE first_name IS NULL;

(38)

38 Kata kunci IN dapat digunakan apabila persyaratan nilai kolom yang diinginkan lebih dari satu. Kata kunci IN juga dapat digunakan untuk membuat subquery yang akan dibahas pada sub-bab nested query. Berikut adalah contoh penggunaan kata kunci IN untuk menampilkan data pegawai

yang mempunyai

nomer pegawai 10001, 10005, atau 10010:

SELECT * FROM employees

WHERE emp_no IN (10001,10005,10010);

LIKE merupakan kata kunci dalam SQL yang digunakan untuk mendefinisikan suatu criteria yang lebih luwes (fleksibel). Kondisi yang dinyatakan dengan menggunakan LIKE dapat memfilter data sehingga kita dapat menampilkan suatu kriteria seolah dengan menggunakan bahasa inggris.

Kriteria yang dibentuk juga dapat digunakan untuk melakukan pemfilteran data secara mudah dengan menggunakan tanda %, yang memerintahkan agar database mencari semua data yang memiliki karakter apa saja, karena % mewakili karakater apa saja.

Perintah dengan kondisi LIKE

Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan sama dengan „data_yang_dicari‟. Perintah ini sama seperti menggunakan perintah select yang menggunakan tanda sama dengan pada bagian kondisi.

Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama_field yang disebutkan diawali dengan „data_yang_dicari‟.

Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki data dalam nama_field yang disebutkan pada bagian akhirnya ada „data_yang_dicari‟.

SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari’; SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari%’; SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari’;

(39)

39

Perintah ini akan menampilkan seluruh record dalam tabel yang data

dalam nama_field yang disebutkan mengandung

„data_yang_dicari‟. %

di awal dan % di akhir menunjukkan agar database mencarikan semua

record yang di awal atau di akhir data pada nama field yang

disebutkan terdiri atas karakter apa saja asalkan ada

„data_yang_dicari‟

dalam field tersebut.

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah Vokasi UGM

Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari%’;

(40)

40 LATIHAN/KASUS

MySQL Alat dan bahan praktikum:

a. Modul praktikum b. Alat Tulis

c. Komputer yang sudah terinstal MySql

Kegiatan praktikum

:

Kegiatan 1

1. Menggunakan database swalayan yang sudah pernah dibuat.

Selanjutnya menyeleksi atau melihat data yang ada di dalam tabel, berikut merupakan aturan umum penulisan yang digunakan pada

select nama_field from nama_tabel;

2. Menampilkan seluruh record dalam tabel yang memiliki data dalam nama field yang disebutkan sama dengan „data_yang_dicari’

SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari’;

3. Menampilkan data dengan seluruh record dalam tabel yang memiliki data dalam nama_field yang disebutkan diawali dengan „data_yang_dicari‟

SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari%’;

4. Selanjutnya menampilkan seluruh record dalam tabel yang memiliki data dalam nama_field yang disebutkan pada bagian akhirnya ada „data_yang_dicari‟. :

SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari’;

5. Terakhir menampilkan seluruh record dalam tabel yang data dalam nama_field yang disebutkan mengandung „data_yang_dicari‟. % di awal dan % di akhir menunjukkan agar database mencarikan semua record yang di awal atau di akhir data pada nama field yang

(41)

41 disebutkan terdiri atas karakter apa saja asalkan ada „data_yang_dicari‟ dalam field tersebut.

SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari%’;

Penilaian:

a. Keaktifan mahasiswa dalam praktikum

b.

Kemampuan

dalam menangkap dan menjalankan perintah Instruktur

Kasus:

Buatlah tabel Mahasiswa, MataKuliah dan KRS dengan deskripsi tabel sebagai berikut:

Tabel Mahasiswa

NIU

Nama

Prodi

00114

Alfi

Rekmed

01052

Wahyu

Rekmed

01104

Syifa

Pend. Dokter

00888

Anik

Gizi

00993

Agnes

Ilkom

00066

Derti

Kimia

00287

Syifa

Matematika

01040

Dahlia

Statistika

Tabel Kelas MK

Kode

Nama

A

Agama

B

Basdat

C

KKPMT

Tabel KRS

NIU

Kode

Nilai

00114

A

A

01052

A

B

01104

A

A

01052

B

B

01104

B

A

00993

B

B

00066

C

A

00287

C

C

01040

C

A

(42)

42

1

Tampilkan semua data di KRS

Tampilkan semua data di mahasiswa Ubah NIM mahasiswa dengan nim '01104' menjadi '01105'.

Tampilkan semua data di KRS Tampilkan semua data di mahasiswa

2.

Tampilkan semua data di KRS

Tampilkan semua data di matkul

Ubah kode matkul dengan kode 'B' menjadi 'M'. Tampilkan semua data di KRS

Tampilkan semua data di Matkul

Ubah kode matkul dengan kode 'M' menjadi 'B'.

3. Tampilkan nim mahasiswa yang mendapat nilai A untuk Matakuliah dengan kode B

(43)

43 MATERI 7

JOIN

Kompetensi:

Mahasiswa mampu menampilkan data dari 2 atau lebih tabel. Maksud dan tujuan:

c. Mahasiswa mengerti dan memahami join basis data

d. Mahasiswa mengerti dan memahami bagaimana menampilkan data dari 2 atau lebih tabel..

Landasan teori: JOIN

Table references atau disebut juga JOIN pada MySQL adalah sebuah cara untuk menggabungkan dua buah tabel atau lebih dengan persyaratan tertentu yang telah definisikan pada perintah SQL.

INNER JOIN

INNER JOIN, CROSS JOIN, dan JOIN pada MySQL mempunyai peranan yang sama dan dapat menggantikan satu sama lain. Tipe JOIN ini adalah yang paling sederhana dan relatif paling mudah dipahami. INNER JOIN menampilkan seluruh data pada tabel pertama (tabel kiri) yang mempunyai kecocokan dengan tabel kedua (tabel kanan). Representasi visual dari tipe JOIN ini adalah sebagai berikut:

INNER JOIN

Secara umum perintah INNER JOIN adalah sebagai berikut:

SELECT <select_list>

FROM Table_A as A

INNER JOIN Table_B as B

ON A.Key = B.Key;

(44)

44 Sebagai contoh perintah INNER JOIN untuk tabel A dan B dengan perintah:

SELECT *

FROM A INNER JOIN B

ON A.Nomer = B.Nomer;

Left JOIN

Left JOIN akan menampilkan seluruh data pada tabel pertama (tabel kiri) baik data yang mempunyai pasangan dengan data di tabel kedua (tabel kanan) maupun tidak, dan juga menampilkan data pada tabel kanan yang mempunyai pasangan dengan data di tabel kiri. Representasi visual dari tipe JOIN

ini adalah

sebagai berikut:

Secara umum perintah Left JOIN adalah:

SELECT <select_list>

FROM Table_A as A

LEFT JOIN Table_B as B

ON A.Key = B.Key;

Sebagai contoh perintah Left JOIN untuk tabel A dan B dengan perintah:

SELECT *

FROM A LEFT JOIN B

ON A.Nomer = B.Nomer;

(45)

45 Right JOIN

Right JOIN adalah kebalikan dari Left JOIN. Right JOIN akan menampilkan seluruh data pada tabel kedua (tabel kanan) baik data yang mempunyai pasangan dengan data di tabel kedua (tabel kanan) maupun tidak, dan juga menampilkan data pada tabel kiri yang mempunyai pasangan dengan data di tabel kanan. Representasi visual dari tipe JOIN ini adalah sebagai berikut:

Secara umum perintah Right JOIN adalah: SELECT <select_list> FROM Table_A as A

RIGHT JOIN Table_B as B ON A.Key = B.Key;

Sebagai contoh perintah Right JOIN untuk tabel A dan B dengan perintah: SELECT *

FROM A RIGHT JOIN B ON A.Nomer = B.Nomer;

Left Excluding JOIN

Left Excluding JOIN akan menampilkan data pada tabel pertama (tabel kiri) yang tidak mempunyai pasangan yang cocok dengan tabel kedua (tabel kanan). Bentuk JOIN ini mirip dengan Left JOIN namun tidak mengikut sertakan data pada tabel kiri yang mempunyai pasangan dengan data tabel kanan. Representasi visual dari tipe JOIN ini adalah sebagai berikut:

(46)

46 Secara umum perintah untuk menghasilkan Left Excluding JOIN adalah:

SELECT <select_list> FROM Table_A as A LEFT JOIN Table_B as B ON A.Key = B.Key

WHERE B.Key IS NULL;

Sebagai contoh perintah Left Excluding JOIN untuk tabel A dan B dengan perintah:

SELECT *

FROM A LEFT JOIN B ON A.Nomer = B.Nomer WHERE B.Nomer IS NULL;

Right Excluding JOIN

Right Excluding JOIN akan menampilkan data pada tabel kedua (tabel kanan) yang tidak mempunyai pasangan yang cocok dengan tabel pertama (tabel kiri). Bentuk JOIN ini mirip dengan Right JOIN namun tidak mengikutsertakan data pada tabel kanan yang mempunyai pasangan dengan data tabel kiri. Pada dasarnya Right Excluding JOIN adalah kebalikan dari Left Excluding JOIN. Representasi visual dari tipe JOIN ini adalah sebagai berikut:

Right Excluding JOIN

Secara umum perintah untuk menghasilkan Right Excluding JOIN adalah: SELECT <select_list>

FROM Table_A as A

RIGHT JOIN Table_B as B ON A.Key = B.Key

(47)

47 Sebagai contoh perintah Right Excluding JOIN untuk tabel A dan B dengan perintah:

SELECT *

FROM A RIGHT JOIN B ON A.Nomer = B.Nomer WHERE A.Nomer IS NULL;

Full Outer JOIN

Full Outer JOIN atau disebut juga Outer JOIN/Full JOIN adalah tipe JOIN yang akan menampilkan seluruh data dari tabel pertama (tabel kiri) dan tabel kedua (tabel kanan) dengan mencocokkan elemen kolom yang sesuai dan mengosongkan dengan memberikan nilai NULL jika tidak mempunyai data pasangan di tabel lainnya. Representasi visual dari tipe JOIN ini adalah sebagai berikut:

Full Outer JOIN

Pada MySQL tidak didukung kata kunci yang langsung dapat digunakan untuk melakukan Full Outer JOIN. Untuk mendapatkan data seperti pada Outer JOIN digunakan UNION dengan perintah sebagai berikut:

SELECT <select_list>

FROM Table_A as A

LEFT JOIN Table_B as B

ON A.Key = B.Key

UNION

SELECT <select_list> FROM Table_A as A

RIGHT JOIN Table_B as B ON A.Key = B.Key;

(48)

48 Sebagai contoh untuk mendapatkan Full Outer JOIN dari tabel contoh A dan B digunakan perintah sebagai berikut:

SELECT *

FROM A LEFT JOIN B

ON A.Nomer = B.Nomer

UNION

SELECT *

FROM A RIGHT JOIN B

ON A.Nomer = B.Nomer;

Outer Excluding JOIN

Full Outer Excluding JOIN atau disebut juga Outer Excluding JOIN/Full Excluding JOIN adalah tipe JOIN yang akan menampilkan seluruh data dari tabel pertama (tabel kiri) yang tidak mempunyai kecocokan/pasangan dengan tabel kedua (tabel kanan) dan seluruh data pada tabel kedua (tabel kanan) yang tidak mempunyai kecocokan dengan tabel pertama (tabel kiri). Representasi visual dari tipe JOIN ini adalah sebagai berikut:

Full Outer Excluding JOIN

Pada MySQL juga tidak didukung kata kunci yang langsung dapat digunakan untuk melakukan Full Outer Excluding JOIN. Untuk mendapatkan data seperti pada Full Outer Excluding JOIN digunakan UNION dengan perintah sebagai berikut:

SELECT <select_list> FROM Table_A as A LEFT JOIN Table_B as B ON A.Key = B.Key

WHERE B.Key IS NULL UNION

(49)

49 FROM Table_A as A

RIGHT JOIN Table_B as B ON A.Key = B.Key

WHERE A.Key IS NULL;

Sebagai contoh untuk mendapatkan Full Outer Excluding JOIN dari tabel contoh A dan B digunakan perintah sebagai berikut:

SELECT *

FROM A LEFT JOIN B

ON A.Nomer = B.Nomer

WHERE B.Nomer IS NULL

UNION

SELECT *

FROM A RIGHT JOIN B

ON A.Nomer = B.Nomer

WHERE A.Nomer IS NULL;

Daftar pustaka:

Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah Vokasi UGM

(50)

50 LATIHAN/KASUS

MySQL

Alat dan bahan praktikum: a. Modul praktikum

b. Alat Tulis

c. Komputer yang sudah terinstal MySql Kegiatan praktikum:

Kegiatan 1

1. Buatlah tabel employees dengan attribut emp_no, name 2. Buatlah tabel salary dengan deskripsi tabel sebagai berikut:

Atribut

Tipe

NULL

emp_no

salary

from_date

to_date

int(11)

int(11)

date

date

No

No

No

No

3. Set emp_no dan from_date sebagai PRIMARY KEY!

4. Set emp_no sebagai FOREIGN KEY yang mengacu pada kolom emp_no di tabel employees dengan aksi ON DELETE CASCADE!

5. Lihat deskripsi tabel salary dan lihat perintah pembuatan tabel (CREATE TABLE) salary yang telah dibuat!

Penilaian:

a. Keaktifan mahasiswa dalam praktikum

(51)

51

Kasus:

Buatlah database rental dengan tabel-tabel sebagai berikut:

Pemilik Mobil

noKTPMilik Nama Alamat noTelp noPlat Merk HargaSewa noKTPMilik warna

112 adi jogja 123 AD 3456 BB CRZ 500000 112 merah 113 agung jogja 123 AB 1719 QE Xenia 250000 114 silver

114 budi jogja 123 AB 1234 FC Inova 300000 113 hitam

116 lusi jogja 123 B 6756 TOP Inova 300000 114 hitam

penyewa sewa

noKTPSewa Nama Alamat noTelp noKTPSewa noPlat tglSewa tglKembali

232 badu bantul 123 234 AD 3456 BB 1 Maret 2014 2 Maret 2014 234 bidu bantul 123 234 AB 1719 QE 2 Maret 2014 3 Maret 2014 235 bude sleman 123 235 B 6756 TOP 4 Maret 2014 5 Maret 2014 265 oma jogja 123

(52)

52 Tampilkan daftar noPlat mobil yang pernah disewa oleh bidu

select sewa.noPlat from sewa, penyewa where sewa.noKtp = penyewa.noKTP and penyewa.nama='bidu'; Kapan saja bidu menyewa mobil

select tglSewa from penyewa, sewa where penyewa.noKTP=sewa.noKTP and penyewa.nama='bidu';

Tampilkan noKTP dan nama peminjam/penyewa yang pernah meminjam mobil dengan nomor plat B 6756 TOP

select penyewa.noKTP, penyewa.nama from penyewa, sewa where penyewa.noKTP=sewa.noKTP and sewa.noPlat='B 6756 TOP'; Tampilkan noKTP,nama pemilik dan merk mobilnya

select pemilik.noKtp, pemilik.nama, mobil.merk from mobil, pemilik where pemilik.noKtp = mobil.noKtpmilik;

Tampilkan noKTP, nama dan alamat peminjam/penyewa yang meminjam mobil setelah tanggal 2 Maret 2014 ………

Gambar

Tabel Mahasiswa
Table references atau disebut juga JOIN pada MySQL adalah sebuah cara untuk  menggabungkan  dua  buah  tabel  atau  lebih  dengan  persyaratan  tertentu  yang  telah definisikan pada perintah SQL
Tabel Mahasiswa
Tabel  Mahasiswa
+2

Referensi

Dokumen terkait

Jadi, hubungan perpustakaan dan prestasi belajar mahasiswa adalah dari perpustakaan sebagai pusat sumber ilmu pengetahuan dan pusat kegiatan belajar serta sumber

Permasalahan yang saat ini terjadi pada PT Onassis Wisata Cemerlang menurut Ibu Riama Chaidir selaku manajer pada PT Onassis Wisata Cemerlang adalah ingin

SELEKSI OLIMPIADE SAINS SMP TINGKAT KABUPATEN/KOTA TAHUN 2016. KEPALA DINAS PENDIDIKAN PROVINSI

Dalam novel Saman karya Ayu Utami, konflik batin dialami oleh beberapa tokoh.. yang mendukung cerita, termasuk konflik batin yang dialami

[r]

dan sisa asset dalam proses likuidasi perusahaan. Pada dasarnya ada dua jenis keuntungan yang diperoleh investor dengan.. membeli saham, yaitu deviden dan Capital Gain

Konformitas teman sebaya yang berada pada tataran remaja karang taruna di Dusun Gamping Desa Jambean, Sragen Jawa Tengah memiliki hubungan yang sigknifikan dengan perilaku

Dari keterangan Mikkelsen dapat diterjemahkan ke konteks pengamalan dalam batang tubuh Ikatan Pelajar Muhammadiyah; Dengan perencanaan partisipatif hen- daknya para