Data Loading...
Sistem Basis data Flipbook PDF
Sistem Basis data
118 Views
67 Downloads
FLIP PDF 2.52MB
PENGENALAN MYSQL
STIMIK SEPULUH NOPEMBER JAYAPURA 2020
LEMBAR PENGESAHAN
Judul
: Modul Sistem Basis Data
Nama Mata Kuliah
: Sistem Basis Data
Kode Mata Kuliah
: 111045
Semester
: III
Tahun Akademik
: 2020/2021 Ganjil
Identitas Penyusun Modul Nama/NIDN
: [1] Jim Lahallo, M.Msi (NIDN)
Identitas Intitusi
: STIMIK 10 Nopember
Program Studi
: Teknik Informatika
Jayapura, Desember 2020
NIDN. 1418058001
PENGANTAR
Membangun basis data merupakan sebuah ketrampilan. Tidak ada cara yang lebih cepat dalam mempelajarinya, selain melalui praktikum. Ini adalah salah satu cara untuk mengasah keterampilan dalam membangun basis data. Basis data yang digunakan/diperkenalkan adalah basis data Client-Server MySQL. Penyusun berusaha agar pembahasan pada modul-modul praktikum ini dapat
langsung diterapkan pada komputer, tanpa penjelasan yang bertele-tele. Dengan demikian mahasiswa dapat langsung menerapkannya, dan menjadi terampil. Diharapkan dengan modul ini mahasiswa dapat lebih memahami dan dapat mengimplementasikan basis data dalam pemograman, baik itu desktop maupun website.
Jayapura, Desember 2020
LAB. STIMIK 10 NOPEMBER
ii
DAFTAR ISI
LEMBAR PENGESAHAN ........................................................................................ i PENGANTAR ...........................................................................................................ii DAFTAR ISI ...........................................................................................................iii
PETUNJUK PENGGUNAAN MODUL .................................................................. iv Modul 1 Pengenalan MySQL .................................................................................... 1 Modul 2 Struktuted Query Language (SQL) ............................................................. 9 Modul 3 Type Data Field ......................................................................................... 12 Modul 4 Mengubah Struktur Tabel .......................................................................... 17 Modul 5 DML (Insert) ............................................................................................. 20 Modul 6 Select, Update dan Delete.......................................................................... 23 Modul 7 Function dan Store Procedure .................................................................. 27 Modul 8 GUI phpMyAdmin .................................................................................... 32 Modul 9 Relasi Tabel dan Insert Data...................................................................... 35 Modul 10 Mengubah dan menghapus Data ............................................................. 37 DAFTAR ACUAN .................................................................................................. 39
iii
PETUNJUK PENGGUNAAN MODUL
Untuk mengoptimalkan pemanfaatan modul ini sebagai bahan pelatihan, beberapa langkah berikut ini perlu menjadi perhatian para peserta pelatihan. 1. Lakukan pengecekan terhadap kelengkapan modul ini, seperti kelengkapan halaman, kejelasan hasil cetakan, serta kondisi modul secara keseluruhan. 2. Bacalah petunjuk penggunaan modul serta bagian Pendahuluan sebelum masuk pada pembahasan kegiatan pembelajaran. 3. Pelajarilah modul ini secara bertahap dimulai dari kegiatan pembelajaran I sampai tuntas, termasuk didalamnya latihan sebelum melangkah ke kegiatan pembelajaran berikutnya. 4. Buatlah catatan-catatan kecil jika ditemukan hal-hal yang perlu pengkajian lebih lanjut atau disampaikan dalam sesi tatap muka. 5. Lakukanlah berbagai latihan sesuai dengan petunjuk yang disajikan pada masing-masing kegiatan pembelajaran. Demikian pula dengan kegiatan evaluasi dan tindak lanjutnya. 6. Disarankan tidak melihat kunci jawaban terlebih dahulu agar evaluasi yang dilakukan dapat mengukur tingkat penguasaan peserta terhadap materi yang disajikan. 7. Pelajarilah keseluruhan materi modul ini secara intensif. Modul ini dirancang sebagai bahan belajar mandiri Pengembangan keprofesian berkelanjutan. Selamat Mempelajari Modul!
iv
Modul 1
Pengenalan MySQL
A. Tujuan dan indikator capaian pembelajaran Tujuan Setelah mengikuti kegiatan pembelajaran 1 ini, peserta mampu memahami konsep Relational Model dan mentransformasikan ERD ke bahasa SQL dengan indikator capaian pembelajaran sebagai berikut. 1. Mengenal Lingkungan kerja MySQL 2. Mahasiswa dapat Mengakses MySQL Melalui Command Prompt 3. Mahasiswa memahami beberapa sintaks Bahasa DDL (Data Defenetion Languange) dan dapat menggunakannya B. Tugas Pendahuluan Jelaskan peran dari ERD dalam sebuah basis data, dan berikan contoh ERD yang anda ketahui C. Uraian Materi B.1. ERD Entity-Relationship Model adalah model untuk mendeskripsikan isi suatu basis data dalam bentuk entitas, atribut, dan relationship antar entitas. ER Model ini diperkenalkan pada tahun 1976 oleh P.P. Chen. ER Model terdiri objek-objek dasar berupa entitas yang dapat merepresentasikan data yang ada. Dimana entitas tersebut memiliki suatu atribut dan dapat berhubungan dengan entitas lain melalui relationship. Fungsi dari model ini sendiri yaitu untuk menjembatani objek-objek nyata dengan basis data. Apabila kumpulan entitas dalam ER Model telah dihubungkan secara lengkap dengan atribut dan relasinya, maka akan didapatkan Entity Relationship Diagram (ERD). Dimana ERD itu sendiri adalah diagram yang menggambarkan strutkur entitas dan hubungan antar entitas tersebut, untuk menggambarkannya digunakan beberapa notasi dan simbol. Berikut ini adalah notasi-notasi yang terdapat dalam Entity Relationship Diagram (ERD).
LABKOM STIMIK 1011 JAYAPURA | 1
No
Simbol
Arti
1
Entity Type (Strong Entity)
2
Weak Entity The
3
Relationship
4
Identifying Relationship
5
Attribute
6
Key Attribute
7
Multivalued Attribute
8
Composite Attribute
9
Derived Attribute
10
Total Participation
11
Cardinality ratio 1:N for E1:E2 in R
12
Structural Constraint (min, max) on Participation of E in R
1. Entitas (Entity) adalah objek atau hal spesifik yang dapat diidentifikasi dalam lingkungan pemakai yang kemudian direpresentasikan dalam database. Simbol dari entitas ini biasanya digambarkan dengan bentuk persegi panjang. Ada dua jenis entitas yakni: 1) Strong entity (entitas kuat) merupakan entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Entitas kuat selalu memiliki karakteristik yang unik disebut identifier
LABKOM STIMIK 1011 JAYAPURA | 2
(sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain) 2) Weak entity (entitas lemah) merupakan entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki identifier sendiri. Entitas lemah tidak memiliki arti apa-apa tanpa kehadiran entitas dimana mereka bergantung. Entitas yang di mana entitas lemah bergantung dinamakan identifying owner. Secara umum, dalam diagram ER entitas lemah memiliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian). 2. Atribut (Attribute) adalah sifat atau karakteristik yang digunakan untuk mendeskripsikan sebuah entitas. Contoh: Entitas mahasiswa mempunyai atribut NIM, nama, jenis kelamin, tanggal lahir, dan sejenisnya yang mencirikan bahwa dia mahasiswa. Isi data dari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NPM, 1 Nama, 1 Alamat. Simbol dari atribut ini biasanya digambarkan dengan bentuk oval. Ada beberapa jenis atribut yakni: 1) Simple Attribute (Atribut biasa) merupakan atribut yang memiliki nilai pasti dan tidak ganda. Misalnya: bagi setiap mahasiswa yang di kuliah di satu kampus, mereka hanya memiliki satu atribut NIM, jenis kelamin, dan sebagainya yang tidak bernilai ganda. 2) Composite Attribute (Atribut gabungan) merupakan atribut yang memiliki nilai gabungan dari beberapa atribut lainnya. Misalnya: nama bisa terdiri dari nama depan, nama tengah dan nama belakang atau alamat yang bisa terdiri dari jalan, nomor, kecamatan, kota. 3) Multi-valued Attribute (Atribut bernilai ganda) merupakan atribut yang memiliki nilai bisa lebih dari satu. Misalnya: no handphone yang dimiliki entitas mahasiswa, bisa saja satu mahasiswa memiliki lebih dari satu no hanphone. 4) Derived Attribute merupakan atribut yang nilainya dapat diperoleh dari nilai atribut lain. Misalnya: umur bisa menjadi atribut untuk seorang manusia, tetapi umur tersebut hanya dapat diperoleh, jika terdapat atribut tanggal lahir. Maka, umur adalah derived attribute yang nilainya bisa didapatkan dari kalkulasi tanggal lahir. 5) Key Attribute merupakan atribut yang memiliki nilai unik. Di mana nilai tersebut tidak berubah-ubah, seperti NIM, ID pegawai, dan sejenisnya. Key
LABKOM STIMIK 1011 JAYAPURA | 3
attribute juga tidak bisa bernilai NULL. Untuk atribut jenis ini, masih ada kemungkinan untuk menjadi composite attribute. Kemudian, untuk setiap entitas bisa saja memiliki lebih dari satu Key attribute. Contohnya, taksi yang memiliki nomor taksi dan plat mobil yang unik 3. Relasi (Relationship) merupakan hubungan yang terjadi antar satu atau lebih entitas. Relasi digambarkan dengan notasi belah ketupat. Ada jenis relasi rekursif dimana relasa ini menghubungkan satu entitas ke entitas itu sendiri. 4. Derajat Relasi atau Kardinalitas merupakan derajat yang menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas, misalkan hubungan antara entitas A dan B: 1) Satu ke satu (one to one), maksudnya adalah setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya. Contoh : Rektor dengan (dan) Universitas dengan relasi memimpin, mahasiswa dengan NIM dengan relasi memiliki, dll 2) Satu ke banyak (one to many), maksudnya adalah setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya. Contoh : Pembeli dengam Mobil dengan relasi membeli, Dosen dengan Mahasiswa dengan relasi Perwalian, dll 3) Banyak ke banyak (many to many), maksudnya adalah Setiap anggota entitas A dapat berhubungan dengan banyak anggota entitas B dan sebaliknya. Contoh : Pegawai dengan Proyek dengan relasi Bekerja pada, Pegawai dengan Bagian dengan relasi Ditugaskan ke, dll. Contoh gambar Entity Relationship Diagram bisa dilihat di bawah ini.
LABKOM STIMIK 1011 JAYAPURA | 4
B.2. Lingkungan Kerja MySQL dan Pengenalan DDL
MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL dikembangkan sekitar tahun 1994 oleh sebuah perusahaan pengembang software dan konsultan database bernama MYSQL AB yang berada di Swedia. Waktu itu perusahaan tersebut masih bernama TcX DataKonsult AB, dan tujuan awal dikembangkannya MySQL adalah untuk mengembangkan aplikasi berbasis web pada client. MySQL menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. Aturan dan ketentuan dalam perintah MySQL a. Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintahtertentu, misal : quit b. Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpan histori perintah-perintah yang pernah diberikan.
LABKOM STIMIK 1011 JAYAPURA | 5
c. Perintah dapat berupa perintah SQL atau perintah khusus MySQL. d. Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, tetapi case insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun huruf kecil. e. Aturan case sensitive diterapkan pada penamaan objek-objek dalam database seperti nama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unix dan Linux. Ada beberapa tanda yang sering muncul di prompt :
Langkah-langkah mengakses database melalui command prompr a. Aktifkan Command Prompt (CMD) melalui menu RUN
Ketik “cmd” pada kotak inputan kemudian klik “OK” b. Akses directory “xampp\mysql\bin” dengan perintah “cd\xampp\mysql\bin” seperti gambar di bawah ini
c. Aktifkan MySQL dengan perintah “mysql -uroot”
LABKOM STIMIK 1011 JAYAPURA | 6
Jika di “enter” maka hasilnya akan seperti gambar di bawah ini:
atau
Tampilan di atas menunjukkan bahwa kita telah terhubungan dengan MySQL Beberapa Peintah Dasar Pada Mysql a. Membuat Database Sintaks: “create database ;” Jika dieksekusi maka hasilnya seperti gambar di bawah ini:
b. Menampilkan daftar Database dengan sintaks: “show databases;” Seperti gambar di bawah ini:
LABKOM STIMIK 1011 JAYAPURA | 7
c. Menggunakan/mengaktifkan database yang telah dibuat Sintaks: “use ;” Kita tidak dapat membuat table, proses CRUD jika tidak ada database yang diaktifkan.
d. Menghapus Basisdata sintaks: “drop database ;”
Untuk memastikan bahwa database sudah terhapus, lihat di daftar database dengan sintaks: “show databases;” D. Kegiatan Praktikum Akses Database melalui Command Prompt (lakukan secara berulang-ulang sampai paham) Coba perintah DLL “create” sampai “drop” pada perintah di atas coba dengan nama database “Mahasiswa” (lakukan secara berulang-ulang sampai anda benar-memahaminya). E. Tugas Simpulkan Hasil praktikum anda pada modul ini dan dikumpulkan pada link tugas
LABKOM STIMIK 1011 JAYAPURA | 8
Modul 2 Struktuted Query Language (SQL)
1. Tujuan a. Mahasiswa dapat mengetahui dan memahami bahasa SQL pada MySQL sehingga mahasiswa dapat menggunakannya perintah-perintah tersebut untuk mengakses Server MySQL guna membangun basis data. b. Mengerti dan memahami sintaks penulisan dari SQL. 2. Tugas Pendahuluan a. Apa yang ada ketahui tentang Database Tabel Field Record b. Uraikan beberapa engine yang ada pada Mysql 3. Landasan Teori Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap Database Management Systems (DBMS), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD DDL (Data Definition Language), DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. Beberapa perintah dasar pada Mysql: DML digunakan untuk memanipulasi data yang ada dalam suatu tabel, seperti perintah Select, insert, delete, update, alter dan lain sebagainya Di bawah ini beberapa perintah DDL dan DML a. Membuat Database Sintaks: “create database ;” LABKOM STIMIK 1011 JAYAPURA | 9
b. Menampilkan daftar Database dengan sintaks: “show databases;” c. Menggunakan/mengaktifkan database yang telah dibuat Sintaks: “use ;” d. Membuat Tabel Bentuk umum: Create table ( nama_field1 tipe_data [constraints], nama_field2 tipe_data [constraints], … ) Dengan: nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom. tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya. constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key). Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer. Contoh:
Untuk menampilkan daftar tabel dalam database digunakan perintah: “show tables;” seperti di bawah ini
LABKOM STIMIK 1011 JAYAPURA | 10
Untuk melihat struktur tabel gunakan perintah “desc ” seperti contoh di bawah ini:
4. Tugas Praktikum Praktekkan sintaks sql di atas secara berulang-ulang sampai anda hafal dan paham maksud penggunaannya. Simpulkan hasil praktikum anda
LABKOM STIMIK 1011 JAYAPURA | 11
Modul 3 Type Data Field A. TUJUAN a. Mahasiswa mengetahui dan memahami type-type data pada MySQL. b. Mahasiswa dapat menggunakannya type-type data pada MySQL. c. Mahasiswa dapat lebih memahami sintaks sql B. Tugas Pendahuluan a. Pelajari type data yang ada pada mysql. b. Cari fungsi dan kegunaan dari constraints “AUTO INCREAMENT” C. Landasan Teori a. Tipe Data Numerik Tipe data numerik yaitu tipe data yang digunakan untuk menyimpan data numerik (angka). Nama
Fungsi
TINYINT
Menyimpan data bilangan
Jangkauan -128 s/d 127
bulat positif dan negatif. SMALLINT
menyimpan data bilangan
bulat positif dan negatif.
1 byte (8 bit).
: -32.768 s/d 32.767
bulat positif dan negatif. MEDIUMINT menyimpan data bilangan
Ukuran
: 2 byte (16 bit).
-8.388.608 s/d
Ukuran : 3
8.388.607
byte
(24
bit). INT BIGINT
menyimpan data bilangan
-2.147.483.648 s/d
4 byte (32
bulat positif dan negative
2.147.483.647
bit).
menyimpan data bilangan
± 9,22 x 1018
8 byte (64
bulat positif dan negatif. FLOAT
menyimpan data bilangan
bit). -3.402823466E+38 s/d
pecahan positif dan negatif -1.175494351E-38, 0, presisi tunggal
4 byte (32 bit)
dan 1.175494351E-38 s/d 3.402823466E+38.
LABKOM STIMIK 1011 JAYAPURA | 12
DOUBLE
menyimpan data bilangan
-1.79...E+308 s/d -
pecahan positif dan negatif 2.22...E-308, 0, dan presisi ganda.
8 byte (64 bit)
2.22...E-308 s/d 1.79...E+308.
REAL
menyimpan data bilangan
-1.79...E+308 s/d -
pecahan positif dan negatif 2.22...E-308, 0, dan presisi ganda.
8 byte (64 bit).
2.22...E-308 s/d 1.79...E+308.
DECIMAL
menyimpan data bilangan
-1.79...E+308 s/d -
8 byte (64
pecahan positif dan
2.22...E-308, 0, dan
bit).
negatif.
2.22...E-308 s/d 1.79...E+308.
NUMERIC
menyimpan data bilangan
-1.79...E+308 s/d -
8 byte (64
pecahan positif dan
2.22...E-308, 0, dan
bit).
negatif.
2.22...E-308 s/d 1.79...E+308.
b. Tipe Data Date dan Time Tipe data date dan time yaitu tipe data yang digunakan untuk menyimpan data tanggal dan waktu. Nama DATE
Fungsi
Jangkauan
menyimpan data tanggal
Ukuran
1000-01-01 s/d 9999-12-31 3 byte. (YYYY-MM-DD)
TIME
menyimpan data waktu
-838:59:59 s/d +838:59:59 3 byte (HH:MM:SS)
DATETIME menyimpan data tanggal '1000-01-01 00:00:00' s/d 8 byte dan waktu. YEAR
'9999-12-31 23:59:59'
menyimpan data tahun dari 1900 s/d 2155
1 byte
tanggal c. Tipe Data String (Text) Tipe data string yaitu tipe data yang digunakan untuk menyimpan data string (text).
LABKOM STIMIK 1011 JAYAPURA | 13
Nama CHAR
Fungsi
Jangkauan
menyimpan data string ukuran 0 s/d 255 karakter tetap.
VARCHAR
TINYTEXT
menyimpan data string ukuran 0 s/d 255 karakter (versi 4.1), dinamis.
0 s/d 65.535
menyimpan data text.
0 s/d 255 karakter (versi 4.1), 0 s/d 65.535
TEXT
menyimpan data text.
0 s/d 65.535
MEDIUMTEXT menyimpan data text
0 s/d 224 - 1 karakter
LONGTEXT
0 s/d 232 - 1 karakter
menyimpan data text.
d. Tipe Data BLOB (Biner) Tipe data blob digunakan untuk menyimpan data biner. Nama
Fungsi
BIT
Menyimpan data biner.
TINYBLOB
menyimpan
data
biner/
Jangkauan 64 digit biner Gambar 255 byte
ukuran kecil BLOB
Menyimpan data biner/ Gambar
4
MEDIUMBLOB Menyimpan data biner/ Gambar 224-1 byte kuran sedang LONGBLOB
Menyimpan data biner/ Gambar 232- 1 byte ukuran besar
e. Tipe Data yang Lain Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain, diantaranya adalah : Nama
Fungsi
ENUM
enumerasi (kumpulan data).
Jangkauan sampai dengan 65535 string.
LABKOM STIMIK 1011 JAYAPURA | 14
SET
combination (himpunan
sampai dengan 255 string
data).
anggota
D. Kegiatan Praktikum Buat basisdata dengan nama “krs” kemudian aktifkan basisdata tersebut Buat tabel-tabel di bawah ini: Tabel “mahasiswa” No. 1. 2. 3. 4. 5. 6. 7.
Field Npm Nm_Mhs Alamat No_kontak Tmp_lahir Tgl_lahir Jurusan
Type Data Varchar Varchar Varchar Varchar Varchar Date Varchar
Width 9 30 50 13 20
Key *
50
Tabel Matakuliah No. 1. 2. 3. 4.
Field Kdmk Nm_Matakuliah Sks Semester
Type Data Varchar Varchar int Int
Width
Key *
6 100 1 1
Type Data Varchar Varchar Varchar Varchar Varchar
Width 9 6 9 6 50
Key * * *
Type Data Varchar Varchar Varchar Varchar Varchar Date
Width 10 50 50 13 20
Key *
Width
Key * *
Tabel krs No. 1. 2. 3. 4. 5.
Field Npm Kdmk Thn_ajaran Semester Dosen_wali
Tabel Dosen No. 1. 2. 3. 4. 5. 6.
Field Npd Nm_Dosen Alamat No_kontak Tmp_lahir Tgl_lahir
Tabel Mengajar No. 1. Npd 2. Kdmk
Field
Type Data Varchar Varchar
9 6
LABKOM STIMIK 1011 JAYAPURA | 15
3.
Thn_Ajaran
Varchar
9
*
E. Tugas A. Simpulkan hasil praktikum anda B. Apa yang anda pahami tentang type data pada MySQL
LABKOM STIMIK 1011 JAYAPURA | 16
Modul 4 Mengubah Struktur Tabel A. Tujuan a. Mahasiswa dapat mengubah struktur tabel sesuai kebutuhan. b. Mahasiswa dalam lebih memahami perintah pada MySQL B. Tugas Pendahuluan Sebutkan fungsi Alter pada MySQL dan berikan 1 contoh penggunaannya C. Landasan Teori Perintah Perubahan Struktur Tabel pada MySQL
Ada empat macam perubahan yang dapat dilakukan terhadap struktur tabel, yaitu: 1) Perubahan terhadap nama field/kolom
LABKOM STIMIK 1011 JAYAPURA | 17
2) Perubahan terhadap tipe data 3) Penambahan field 4) Penghapusan field 1. Mengubah Nama attribute/field Perubahan yang terjadi hanya pada nama field/kolom saja. Nama field/kolom lama diganti dengan nama field/kolom yang baru. Untuk merubah nama field tersebut dapat digunakan perintah Change. Sintax:
Alter
Table
Nama_Table
Change
Nama_Field_Lama
Nama_Field_Baru Tipe_Data (Size); 2. Mengubah tipe data Perubahan yang terjadi hanya pada tipe data yang digunakan oleh field/kolom tertentu. Tipe data baru langsung disebutkan di belakang nama field/kolom, tanpa harus menyebutkan tipe data lama. Untuk merubah tipe data tersebut digunakan perintah Modify. Sintax: Alter Table Nama_Table Modify Nama_Field Tipe_Data_Baru (Size); 3. Menambahkan attribute/field Struktur tabel akan berubah dengan bertambahnya field/kolom baru di dalamnya. Untuk menambahkan field baru dapat digunakan perintah Add. Sintax: Alter Table Nama_Table Add Nama_Field_Baru Tipe_Data (Size); 4. Menghapus Field Struktur tabel dapat mengalami perubahan karena berkurangnya field/kolom tertentu. Untuk menghapus file dalam suatu table tersebut dapat dilakukan dengan perintah Drop Column. Sintax: Alter Table Nama_Table Drop Column Nama_Field;
LABKOM STIMIK 1011 JAYAPURA | 18
D. Kegiatan Praktikum Ulangi Kegiatan praktikum pada modul 3 point 1 dan 2 E. Tugas Buat buat table mahasiswa seperti yang terlihat pada modul 3 Ubah field Nm_Mhs menjadi nama_mahasiswa Tambahkan field gender Hapus field No_Kontak
LABKOM STIMIK 1011 JAYAPURA | 19
Modul 5 DML (Insert) A. Tujuan a. Mahasiswa dapat memahami penggunaan perintah DML khususnya sintax insert b. Mahasiswa dapat menyisipkan satu atau lebih data ke dalam tabel MySQL B. Tugas Pendahuluan Apa yang anda ketahui tentang perintah insert pada MySQL Berikan contoh penggunaan perintah insert C. Landasan Teori Bentuk umum: “insert into (field1, field2, …,n) value (value1,value2, …, n);” Contoh menyisipkan 1 data:
Contoh menyisipkan lebih dari 1 data:
Untuk melihat data yang telah disisipkan ke dalam table gunakan perintah:
LABKOM STIMIK 1011 JAYAPURA | 20
Contoh di atas adalah perintah untuk menyisipkan data pada tabel mahasiswa yang telah di buat pada modul 2 D. Kegiatan Praktikum a. Ulangi Kegiatan praktikum pada modul 3 point 1 dan 2 b. Isi tabel mahasiswa yang telah di buat dengan data di bawah ini: Npm 20071101 20071102 20071103 20071105 20071103
Nm_mhs Dedy Salmon Wali Wonda Yohanes Desena Yedida Amelia
Alamat Dok IX Dok V Klofkam Dok II Hamadi
No_kontak 0813445500 0813454567 0852445512 0811456345 -
Tmp_la Jayapura Malang Timika Oksibil Bandung
1 20071102 Emy Lenora T. Polimak 0813445509 Ambon
Tgl_lahi 12-0125-1028-0924-03-189 25-07-
Jurusan Tek. Info Tek. Info Tek. Info Tek. Info Tek. Info
1988 29-05-
S1 Tek. Info
c. Ulangi point “b” secara berulang-ulang sampai anda paham d. Kerjakan dirumah untuk tabel yang lain: Tabel Dosen Npd D-001 D-002 D-003 D-004
Nm_dosen Siti Nur Alam, ST. Rahmat H. Kiswanto, Syaiful Rizal Sjuaib, Tengadi Boney Bun,
Alamat Dok IX Dok V Klofkam Dok II
No_kontak 08134455001 08134545679 08524455124 0811456355
Tmp_la Jayapura Malang Timika Oksibil
Tgl_lahir 12-01-1975 25-10-1977 28-09-19 24-03-189
E. Tugas Masukkan data berikut ke dalam basis data anda Tabel krs Npm Kdmk 20071101 BAD340 20071101 CSD140 20071103 BAD340 20071105 BAD340 20071105 BHC240 20071105 CBP140 20071103 PAK340 20071102 STD340 20071102 STD340
Thn_ajaran 2008/2009 2008/2009 2008/2009 2008/2009 2008/2009 2008/2009 2008/2009 2008/2009 2008/2009
Semester Dosen_Wali Genap Siti Nur Alam, ST. Genap Siti Nur Alam, ST. Genap Siti Nur Alam, ST. Genap Rahmat H. Kiswanto, Genap Rahmat H. Kiswanto, Genap Rahmat H. Kiswanto, Genap Syaiful Rizal Sjuaib, Genap Tengadi Boney Bun, Genap Tengadi Boney Bun,
Tabel Mengajar Npd D-001 D-002
Kdmk Thn_Ajaran CBP140 2008/2009 BHC240 2008/2009
LABKOM STIMIK 1011 JAYAPURA | 21
D-003 D-004 D-005
PAK340 2008/2009 STD340 2008/2009 BAD340 2008/2009
LABKOM STIMIK 1011 JAYAPURA | 22
Modul 6 Select, Update dan Delete A. Tujuan a. Mahasiswa dapat memahami perintah Select, Update dan Delete pada pada DML. b. Mahasiswa dapat menggunakan perintah Select, Update dan Delete pada MySQL B. Tugas Pendahuluan Pada perintah select terdapat beberapa atribut “join” uraikan fungsi dan kegunaan dari “join” (tulis tangan pada folio bergaris) C. Landasan Teori a. Perintah “Select” Perintah “select” digunakan untuk menampilkan isi dari tabel, baik itu satu tabel atau lebih dari satu tabel yang saling berelasi. Bentuk umum: “SELECT [ * (all) | | ] FROM [nama tabel] [where (optional)]” Contoh 1 menampilkan seluruh data dan seluruh kolom:
Contoh 2 menampilkan data berdasarkan kondisi dan beberapa kolom
Perintah di atas mengambil data mahasiswa yang tinggal di “Sentani” dan menampilkan hanya colom npm, nama, kontak Contoh 3 menampilkan data dari tabel yang berelasi berdasarkan kondisi
LABKOM STIMIK 1011 JAYAPURA | 23
Perintah di atas dapat dilakukan dengan perintah join seperti di barah ini:
Keterangan contoh 3 Perintah di atas digunakan jika ingin menampilkan matakuliah praktikum yang pernah dikontrak oleh mahasiswa dengan npm “201211056”; b. Perintah “Update” Perintah update digunakan untuk memodifikasi atau merubah data pada suatu kolom yang ada pada sebuah tabel Bentuk umum: “UPDATE [nama_tabel] SET [kolom1 = nilai1, kolom2 = nilai2,…, n] [where];” Contoh:
LABKOM STIMIK 1011 JAYAPURA | 24
Perhatikan data pada contoh 1 pont a. data kedua adalah mahasiswa dengan nama “Ajenkris Y. Kungkung” kita ingin rubah menjadi “Wahyu Sidiq A. Prakoso”.
Tampilkan data mahasiswa dengan perintah “Select * from mahasiswa” untuk melihat perubahan
c. Perintah “Delete” Perintah delete digunakan untuk menghapus data dari tabel pada MySQL Bentuk umum “DELETE FROM [nama_tabel] WHERE [kondisi];” Contoh: Kita ingin menghapus data mahasiswa yang memiliki npm “201211056” dari tabel mahasiswa.
Tampilakan data pada tabel mahasiswa untuk memastikan
D. Kegiatan Praktikum Tampikan data dari tabel-tabel yang telah diisi pada modul 5
LABKOM STIMIK 1011 JAYAPURA | 25
Analisa keseluruhan tabel kemudian tampilkan informasi yang dapat ditampilkan dari tabel-tabel yang berelasi Coba rubah beberapa data dari tabel yang ada dengan perintah “Update” Coba hapus beberapa data dari tabel yang ada dengan perintah “Delete” E. Tugas Implementasikan perintah SELECT, UPDATE dan DELETE pada tabel-tabel yang ada pada modul 5
LABKOM STIMIK 1011 JAYAPURA | 26
Modul 7 Function dan Store Procedure 1. Tujuan Praktikum 1. Mahasiswa memahami dari function pada database 2. Mahasiswa mampu untuk mengimplementasikan function pada database MySQL 2. Tugas Pendahuluan Apa yang anda pahami tentang function dan store procedure pada MySQL 3. Landasan Teori 1. Store procedure Store procedure dan function adalah rangkaian program yang disimpan dalam database dan dapat dipanggil oleh program lain atau melalui SQL Prompt. Store procedure ditulis dalam bentuk suatu script. Untuk membuat stored procedure/function pada database digunakan pernyataan CREATE PROCEDURE atau CREATE FUNCTION. Keuntungan menggunakan store procedure: a) Cepat, kompilasi dilakukan didatabase (kadang disebut “pre compilation”)
sehingga mengurangi traffic b) Adanya pemisahan antara database dan access logic dengan application
logic sehingga program aplikasi menjadi lebih sederhana dan lebih ringkas c) Berupa obyek dalam database, sehingga menghilangkan ketergantungan
terhadap bahasa program yang digunakan d) Bersifat portable, jika bisa berjalan didatabase tersebut maka dipastikan
jika database bisa terinstall dimanapun maka store procedure pasti bisa dijalankan
LABKOM STIMIK 1011 JAYAPURA | 27
Bentuk Umum Store Procedure
Agar lebih jelas, perhatikan contoh penggunaannya berikut ini : contoh 1:
Dari contoh diatas terlihat bahwa parameter “x” (sebagai OUT) digunakan untuk menampung hasil dari perintah routine_body. Pernyataan “into x”, inilah yang mengakibatkan “x” menyimpan informasi nama (sebagai kolom yang ter-select). Untuk menjalankan procedure digunakan ststemen call. Pernyataan “call pMHS(@Nama)” menghasilkan informasi yang kemudian disimpan pada parameter “@Nama”. Kemudian untuk menampilkan informasi ke layar digunakan pernyataan “select @Nama”. Contoh 2 :
LABKOM STIMIK 1011 JAYAPURA | 28
Dari contoh yang kedua ini terlihat bahwa parameter “z” (sebagai IN) digunakan sebagai jalur untuk masukan routine dan parameter “x” dan “y” digunakan untuk menampung hasil dari perintah routine_body. Pernyataan “into x, y”, inilah yang mengakibatkan “x” dan “y” menyimpan informasi nama dan alamat (sebagai kolom yang ter-select). Pernyataan “call dMHS(@Nama, @Alamat)” menghasilkan informasi yang kemudian disimpan pada parameter @Nama dan @Alamat, sedangkan parameter “z” digunakan untuk menampung string „P01‟ yang kemudian digunakan
untuk
memproses routine_body . Kemudian untuk menampilkan
informasi ke layar digunakan pernyataan “select @Nama, @Alamat”. Jika diperhatikan pada contoh1 dan contoh2, dalam membuat routine selalu menggunakan delimiter. Hal ini digunakan untuk mengubah pernyataan delimiter dari “;” ke “//” ketika suatu procedure sedang didefinisikan. Sehingga sebelum delimiter ditutup, meskipun sudah ditekan enter masih dianggap satu-kesatuan perintah. Jika menggunakan perintah delimiter, maka untuk menutupnya digunakan karakter backslash („\‟) karena karakter ini merupakan karakter escape untuk MySQL 2. Function Secara default, routine (procedure/function) diasosiasikan dengan database yang sedang aktif. Untuk dapat mengasosiasikan routine secara eksplisit dengan database yang lain, buat routine dengan format: db_name.sp_name.
MySQL mengijinkan beberapa routine berisi statemen DDL, seperti CREATE dan DROP. MySQL juga mengijinkan beberapa stored procedure (tetapi tidak stored function) berisi statemen SQL transaction, seperti COMMIT. Stored LABKOM STIMIK 1011 JAYAPURA | 29
function juga berisi beberapa statemen baik yang secara eksplisit atau implisit commit atau rollback.
Contoh
Dari contoh diatas terlihat bahwa parameter “x” diperlakukan sebagai IN karena sebagaimana dijelaskan sebelumnya bahwa fungsi hanya bisa dilewatkan dengan parameter IN. Kemudian untuk pengembalian nilainya, digunakan tipe data dengan kisaran nilai tertentu (dalam hal ini char(40)) dengan diawali pernyataan returns. Pernyataan “concat('Nama : ', x)” merupakan routine_body yang akan menghasilkan gabungan string “Nama :” dengan nilai dari parameter “x” yang didapat ketika fungsi ini dieksekusi. Perintah yang digunakan untuk mengeksekusi fungsi adalah “select fcNamaMHS('Sholihun')”. 4. Tugas Praktikum Perhatikan function di bawah ini: DELIMITER $$ USE kampus$$ CREATE DEFINER=root@localhost FUNCTION xxxx(NIL CHAR(2), JSKS INT) RETURNS decimal(5,2) BEGIN IF NIL='A' THEN RETURN 4*JSKS; END IF; IF NIL='A-' THEN
LABKOM STIMIK 1011 JAYAPURA | 30
RETURN 3.4*JSKS; END IF; IF NIL='B+' THEN RETURN 3.7*JSKS; END IF; IF NIL='B' THEN RETURN 3*JSKS; END IF; IF NIL='B-' THEN RETURN 2.7*JSKS; END IF; IF NIL='C+' THEN RETURN 2.4*JSKS; END IF; IF NIL='C' THEN RETURN 2*JSKS; END IF; IF NIL='C-' THEN RETURN 1.7*JSKS; END IF; IF NIL='D+' THEN RETURN 1.4*JSKS; END IF; IF NIL='D' THEN RETURN 1*JSKS; END IF; IF NIL='E' THEN RETURN 0*JSKS; END IF; END$$ DELIMITER;
Berapa kembalian dari function tersebut jika dipanggil dengan perintah SELECT XXXX('A-',2);
LABKOM STIMIK 1011 JAYAPURA | 31
Modul 8 GUI phpMyAdmin A. Tujuan a. Mahasiswa dapat mengakses phpMyAdmin melalui Browser b. Mahasiswa dapat membuat database dan tabel melalui phpMyAdmin B. Tugas Pendahuluan Siapkan database yang telah dinormalisasi dari formulir isian C. Landasan Teori Phpmyadmin adalah sebuah aplikasi open source yang berfungsi untuk memudahkan manajemen MySQL. Dengan menggunakan phpmyadmin, anda dapat membuat database, membuat tabel, menginsert, menghapus dan mengupdate data dengan GUI dan terasa lebih mudah, tanpa perlu mengetikkan perintah SQL secara manual. Langkah-langkah untuk membuka phpMyAdmin adalah sebagai berikut: a. Aktifkan server apache dan MySQL pada XAMPP
b. Buka browser dan ketikkan “localhost/phpmyadmin” pada address bar kemudian enter
LABKOM STIMIK 1011 JAYAPURA | 32
c. Membuat Database
Pada kolom “create new database” ketikkan nama database yang akan dibuat, kemudian klik create untuk membuat database d. Membuat tabel Pilih Database “Data Buku” dan masukkan nama tabel pada kolom Create new table on database data buku yang tersedi. Masukkan jumlah fields nya.
Isilah nama field, pilih jenis type dan isi jumlah length nya. Jangan lupa Tentukan Juga Primary Key nya LABKOM STIMIK 1011 JAYAPURA | 33
Kemudian klik save
D. Kegiatan Praktikum Buat Database yang sudah dinormalisasi dengan GUI phpMyAdmin E. Tugas Carilah GUI IDE untuk MySQL dan jelaskan cara penggunaannya Tugas dibuat dalam bentuk bentuk tutorial
LABKOM STIMIK 1011 JAYAPURA | 34
Modul 9 Relasi Tabel dan Insert Data A. Tujuan 1. Mahasiswa dapat membuat relasi tabel melalui phpMyAdmin 2. Mahassiwa dapat menambahkan, Mengubah, Menghapus data melalui phpMyAdmin B. Landasan Teori a. Langkah-langkah pembuatan relasi Pilih Database kemudian pilih Designer
Pilih simbol relasi kemudian pilih Primery Key pada tabel pertama dan hubungkan dengan memilih Foreign Key pada tabel kedua.
b. Menyisipkan Data Setelah kita membuat Relasi, selanjutnya kita akan mencoba memasukan data Memasukan data, dapat di lakukan dengan cara : Pilih tabel yang akan dimasukan datanya dan pilih Tab Insert kemudian Pilih Go.
LABKOM STIMIK 1011 JAYAPURA | 35
C. Kegiatan Praktikum Sisipkan beberapa record data ke dalam tabel yang telah di buat Tarik kesimpulan
LABKOM STIMIK 1011 JAYAPURA | 36
Modul 10 Mengubah dan menghapus Data A. Tujuan a. Mahasiswa dapat memahami cara mengubah dan menghapus data melalui phpMyAdmin b. Mahasiswa dalam mempraktekkan cara mengubah dan mengapus data melalui phpMyAdmin B. Landasan Teori a. Cara mengubah Data Pilih tabel yang akan diubah datanya dan pilih Tab Browse. Pilih simbol pencil di depan record yang akan dihapus
Ubah data dan puluh Go b. Menghapus Data Pilih tabel yang akan dihapus datanya dan pilih Tab Browse. Pilih simbol silang di depan record yang akan dihapus
LABKOM STIMIK 1011 JAYAPURA | 37
Kemudian Pilih Go
LABKOM STIMIK 1011 JAYAPURA | 38
DAFTAR ACUAN [1] Date, C. J., Pengenalan Sistem Basisdata Jilid 1 Edisi Bahasa Indonesia, Jakarta, PT. Index Group Gramedia, 2004
[2] Hengky W. Pramana, Database Desktop versi 7.0, Jakarta : PT. Elex Media Komputindo, 1999. [3] Jim Lahallo, S.T., M.Kom, Modul Praktikum Basis Data, Jayapura, STIMIK 10 Nopember Jayapura
LABKOM STIMIK 1011 JAYAPURA | 39