Data Loading...

Sistem Basis data Flipbook PDF

Sistem Basis data


118 Views
67 Downloads
FLIP PDF 2.52MB

DOWNLOAD FLIP

REPORT DMCA

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