Praktikum Basis Data Pertemuan 1

  Praktikum Basis Data Kusumodestoni (P. Toni) Hp. 085 640 11 58 65 kusumodestoni@gmail.com

Jl. KH. Hasyim As’ari no.3 Ungaran

   Lahir di Purbalingga, 22 Desember 1986

   SDN 2 Poka, Ambon

   SMPN 6, Purwokerto

   SMA Jurusan IPA , Ungaran

   S1, T. Informatika UDINUS, Semarang (2009)

   S2 , T. Informatika UDINUS, Semarang (2012)

   UNISNU, Universitas Islam NU Jepara ( Dosen Tetap )

   UDINUS, Universitas Dian Nuswantoro (

  Dosen Tidak Tetap )

  

Ketua Kelompok B11.4.2. :

Nama : Yudhi Aryo No. HP : 085741223940

  : 40% 4. Keaktifan Mahasiswa / Kehadiran

Mempunyai kartu peserta ujian (UTS / UAS)

  

Membawa surat keterangan tidak bisa ikut ujian

  

Mahasiswa yang dapat mengikuti ujian susulan:

  

   Mendapatkan tugas dari fakultas

   Sakit dan sedang rawat inap

   Ada keluarga yang meninggal (surat kematian)

  Tidak ada alasan lain untuk bisa ikut ujian susulan

Prosedur Ujian Susulan

  

Ajukan permohonan ke panitia pelaksana

ujian Yang menentukan boleh dan tidaknya

   mengikuti ujian susulan adalah Panitia Pelaksana Ujian bukan Dosen Ujian susulan dilakukan 1 kali, maksimal 4

  

hari setelah ujian berakhir dan serempak

untuk semua mata kuliah

Remidi Bagi yang nilainya kurang memuaskan

   dan melakukan remidi, belum tentu nilainya akan naik/berubah

  

Kurikulum Manajemen S-1 (Komputer)

N Semester Gasal Semester Genap o

  

1 Pengantar Teknologi P 2 1 Algoritma dan Pemrograman T 3 2

Informasi

  1

  

2 Sistem Basis Data T 2 3 Algoritma dan Pemrograman P 2 2

2 (Delphi)

  

3 Pemrograman Aplikasi P 2 5 Pemrograman Aplikasi 1 P 2 4

2 (Foxpro) (V.Basic) 4         Praktek Basis Data (Mysql) P 2 4

5         Analisa dan Perancangan T 3 6

Sistem

  

Mata kuliah ini berisi

implementasi dari materi

yang telah disampaikan

dalam mata kuliah Sistem

Basis Data.

  Apa Itu Basis Data ?

  Basis : gudang/markas/tempat berkumpul/

  • tempat bersarang ( Tempat Penyimpanan )

  

Data : representasi fakta dunia nyata yang

  • mewakili suatu obyek (manusia, benda, kejadian,

    dll) yang disimpan dalam bentuk teks, angka, gambar, bunyi, simbol, atau kombinasinya

  Basis data : kumpulan data yang saling

  • berhubungan yang diorganisasikan sedemikian rupa sehingga kelak dapat dimanfaatkan sedemikian rupa dan disimpan dalam media penyimpan elektronik

  

Berbagai Definisi Basis Data

Stephens dan Silberschatz, dkk

Plew ;2000 (2002)

  • Kumpulan data berupa
  • Informasi

  Menyimpan Informasi dan

  data

Mc Leod, dkk

  • kumpulan seluruh

Gehrke (2003)

  sumber daya berbasis

  • Kumpulan data yg

  Definisi

  komputer mendiskripsikan aktivitas

  Basis Data

Kesimpulan ?

  Basis data didefinisikan sebagai

  sekumpulan data yang saling berhubungan , disimpan dengan minimum redundansi untuk melayani banyak aplikasi secara optimal sehingga menghasilkan Informasi .

  Apa Itu Basis Data Database Administrator

  M

  file1

  Q O U

  file2

  D E U R

  file4

  Y L

  file3

  Sistem Basis Data User

  Input-Proses-Ouput

  Input Data

  Data Formulir

  Proses Informasi

  SBD

  

Tentang Penjualan mobil PT. Jaya Mobil periode 2000-2003

Data Penjualan Mobil PT. Jaya Mobil Tahun 2000-2003

  1200 1000 800 it

  Taruna n 600

  Kijang U

  400 200 2000 2001 2002 2003

  Tahun

Gambar 1.1. Grafik penjualan mobil periode 2000-20003 Gambar 1.1.

  Mahasiswa nim Nama_mhs alamat_mhs

  nim Nama_mhs Alamat_mhs Tgl_lahir

  Tabel Mahasiswa Kuliah

  Kode_kul

  Kode_kul Nama_kul sks semester

  Tabel Kuliah Nama_kul mempelajari

  Kode_kul Indeks_nilai

  N N

  nim semester sks

  nim Kode_kul Indeks_nilai

  Tabel Mempelajari/Tabel Nilai

  Tabel khusus yang mewakili himpunan relasi

  Tgl_lahir

  Entity Relationship Diagram (ERD)

Diagram (ERD)

   ERD adalah suatu diagram yang menggambarkan hubungan antar entity di dalam database.

   Skema tentang diagram pertama kali

diresmikan oleh Charles Bachman pada

tahun 1960-an, yang menggunakan kotak

segi empat untuk menunjukkan tipe-tipe

record dan tanda panah dari satu record ke record lain untuk menunjukkan hubungan one-to-many.

Basis data ERD

  

  ERD digunakan untuk memodelkan struktur data dan hubungan antar data.

  

  Dengan ERD kita mencoba menjawab pertanyaan seperti : data apa yang kita perlukan? Bagaimana data yang satu berhubungan dengan yang lain.

Entity

   Adalah objek dalam dunia nyata, berupa

  • Object fisik : Rumah, manusia, Kendaraan, Peralatan, dll
  • Object Konsep : Pekerjaan, Perusahaan, Rencana, kasus, dll

   Adalah suatu objek yang dapat dibedakan atau

dapat diidentifikasikan secara unik dengan

objek lainnya, dimana semua informasi yang

berkaitan dengannya dikumpulkan. Kumpulan

dari entity yang sejenis dinamakan Entity Set

Atribut

   Berfungsi untuk mendeskripsikan karakter entity atau relationship.

  Misal entity pegawai memiliki atribut nik, nama, alamat, nohp,dll

Relationships

   Menggambarkan hubungan antara satu atau lebih entity, yang digambarkan dalam bentuk diamond.

  Biasanya menunjukkan hubungan:

one-to-one, one-to-many, dan many-

to-many

  Atribut

  • Entity •
    • noktp nama alamat tgl_lahir jeniskelamin status nohp foto

Contoh lain

  Atribut

  • nomesin noplat model merk harga warna

    thn_pembuatan

Varian Entitas

  

  Entitas Lemah (Weak Entity) Berisi entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi.misal entitas Mahasiswa - orang tua & hobby, pegawai - tanggungan.

  

  Entitas kuat (Strong Entity) Entitas yang berdiri sendiri, keberadaannya tidak tergantung dengan entitas lain.

  Pegawai NIP

  Nama nama status

  Tanggungan miliki

  Entitas kuat (Strong Entity) Entitas Lemah (Weak Entity)

Simbol-simbol ER diagram

  Entity Atribut Multivalue

  Relationship Atribut

  Atribut Composite Weak Entity

  Atribut Derivatif Identifying Relationship

  Atribut key

Jenis Atribut

  Atribut Key - atribut yang digunakan untuk membedakan  data secara unik.misal nik, nim, no_peserta.

  Atribut Simple – atribut bernilai tunggal, misal nama,  harga, status.

  Atribut Multivalue - atribut memiliki sekelompok nilai  yang banyak, misal gelar, hobby.

  Atribut Composite – atribut yang masih dapat diuraikan  lagi, misal alamat, korban, waktu.

  

Atribut Derivatif – atribut yang dihasilkan dari turunan

 atribut lain, misal umur dari tanggal lahir.

Atribut Key

  PEGAWAI Id_pegawai

  nama alamatlengkap Tgl_lhr Gol_drh nohp jk foto agama

Namaruang lokasi kapasitas

  Kualitas Harga Nama

  Atribut Simple

BARANG idbarang

  Atribut Multivalue PEGAWAI

  agama Tgl_lhr Gelar

  Atribut Composite PEGAWAI

  nama Tgl_lhr namadepan namatengah namabelakang

  Tgl_lhr umur agama

  Atribut Derivatif

PEGAWAI

  Unary ( Derajat Satu ) Adalah satu buah relationship menghubungkan satu buah entity.

  Manusia Menikah

Contoh :

  Keterangan : Manusia menikah dengan manusia, relationship menikah hanya menghubungkan entity manusia.

  Binary ( Derajat Dua )

  Adalah satu buah relationship yang menghubungkan dua buah entity.

  Pegawai Kendaraan

  Contoh :

  Memiliki Keterangan :

Pegawai memiliki kendaraan, sebuah relationship memiliki mengubungkan entity Pegawai dan entity Kendaraan. Ternary ( Derajat Tiga ) Adalah satu buah relationship menghubungkan tiga buah entity.

  Pegawai

  Contoh :

  Bekerja Proyek Keterangan :

  Kota Pegawai pada kota tertentu mempunyai suatu Proyek.

  Bekerja mengubungkan Entity Pegawai, Proyek dan Kota

Cardinalitas Relasi

   One to One

Hubungan satu ke satu. Contoh seorang Dosen mengepalai satu jurusan

  NIP Kd_mk

  Nama jenis

  1

  1 Kendaraan Dinas Pegawai miliki

   One to Many

  Hubungan satu ke banyak. Contoh seorang Pelanggan membeli beberapa mobil.

  No_KP No_Mesin

  Nama Merk

  1 n

  Mobil Pelanggan Membeli

   Many to Many

Hubungan banyak ke banyak. Contoh mahasiswa mengambil matakuliah

  Nim Kd_mk

  Nama Nm_mk n m

  Matakuliah mahasiswa ambil

Contoh Diagram ER

  1 n Fakultas Daftar Mahasiswa

  1 n miliki ambil m n ajar

  Dosen Mata Kuliah n

  1 Mahasiswa nim Nama_mhs alamat_mhs

  nim Nama_mhs Alamat_mhs Tgl_lahir

  Tabel Mahasiswa Kuliah

  Kode_kul

  Kode_kul Nama_kul sks semester

  Tabel Kuliah Nama_kul mempelajari

  Kode_kul Indeks_nilai

  N N

  nim semester sks

  nim Kode_kul Indeks_nilai

  Tabel Mempelajari/Tabel Nilai

  Tabel khusus yang mewakili himpunan relasi

  Tgl_lahir

  Mahasiswa dapat: Mengetahui, Memahami, dan Mengimplementasi teori Basis data ke dalam (Menciptakan, merubah, Mysql menghapus serta memanipulasi

  1. Pertemuan ke : 1 Memahami dan memiliki pengetahuan tentang Mysql. (Pengenalan Mysql, Bagaimana Menjalankan

Mysql, melihat tanggal dan waktu dalam Mysql,

Mysql untuk perhitungan).

  2. Pertemuan ke : 2 s/d 3 Mengetahui tentang Database dalam Mysql. (Membuat database, melihat data base, menghapus database, membuat tabel dan melihat tabel).

  3. Pertemuan ke : 4 s/d 5

Mengetahui secara umum bahasa dalam SQL.

(DDL (Data Definition language), DML (Data Manipulation Language), DCL(Data Control Language))

  4. Pertemuan ke : 6 s/d 7 Mengetahui bagaimana mengelola tabel dalam Mysql. (Membuat tabel, mengubah struktur tabel, mengganti nama tabel, menghapus tabel,

  5. Pertemuan ke : 8 s/d 9 Memahami bagaimana mengakses data dalam

Mysql (Perintah Select, Klausal into, Klausal

from, Klausal where, Group by, Having, Klausal order by, Super Aggregate).

  6. Pertemuan ke : 10 - 12 Dapat memahami bagaimana menggabungkan beberapa tabel (Operator Join, Operator Relasi, Operator Between, Operator Like, Inner Join,

  1. Aripin , Modul Praktikum Basis Data, Semarang, 2003.

  2. Adi Nugroho “Konsep Pengembangan Sistem Basis Data, Penerbit Informatika, Bandung.

  3. Inge Martina, Ir, “Microsoft SQL Server 2000”, Penerbit PT. Elex Media Komputindo, Jakarta.

  4. Arbie, “Manajemen Database dengan Mysql”, Penerbit Andi Yogyakarta, 2004.

  Memahami Pengetahuan tentang SQL (Stucture Query Language)

  Pengenalan SQL Pengenalan SQL

   SQl singkatan dari Structured Query

Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Berfungsi sebagai bahasa

   SQL

  pemrograman basis data yang digunakan utk mengolah database .

  

  Dengan SQL kita dapat

Membuat basis data dan struktur tabel

  ◦

  ◦

Input, update, dan delete data dari tabel

  ◦

Membuat query sederhana dan kompleks

SQL

  

  SQL tersedia dalam banyak versi Ms.Access, DB2, MS SQL server, Oracle, MySQL, Sysbase, WampServer, XampServer,dll.

  My SQL My SQL

  

My SQL adalah sebuah database yang

berfungsi untuk penyimpanan data dalam

sebuah website.

  Dasar-dasar Perintah My Dasar-dasar Perintah My

SQL

SQL

  1.Membuat Database

  CREATE DATABASE [nama_database]   –> contoh :  CREATE DATABASE db_Data_Mahasiswa;

  2. Menghapus Database

  DROP [nama_database]  –> contoh : DROP db_Data_Mahasiswa;

  USE [nama_database] –> contoh : USE db_Data_Mahasiswa;

  4. Membuat Tabel

  CREATE TABLE [nama_tabel]                                                                                   ( [nama_kolom] [tipe_data] [nul / not null], [nama_kolom] [tipe_data] [nul / not null], ) contoh : CREATE TABLE tbl_mahasiswa; ( nim int NOT NULL PRIMARY KEY; nama vachar(25); nilai vachar(1); kota_asal vachar(20); )

  5. Mengisi Tabel

  INSERT [nama_tabel] VALUES ( ['isi_kolom1' , 'isi_kolom2', dst ] ) contoh :

  INSERT tbl_mahasisw (nim,nama,kota_asal)

  VALUES ( 682003001, ‘Roy’ , ‘Jambi’ );

  6. Menampilkan Isi Tabel

  SELECT * FROM [nama_tabel]; contoh : SELECT * FROM tbl_mahasiswa;

  7. Menghapus Tabel

  DELETE FROM [nama_tabel] WHERE [syarat]; contoh : DELETE FROM tbl_mahasiswa WHERE nama = ‘Roy’ ;

  Menghapus Seluruh Isi Tabel :

  DROP TABLE [ nama_tabel]  –> DROP

  8. Memperbaharui Isi Tabel

  UPDATE [nama_table] SET [nama_kolom] value WHERE [syarat] ; contoh : UPDATE tbl_mahasiswa SET nilai =’A’ WHERE nim=682003001;

  

Ada 2 (dua) jenis perintah dasar di dalam MySQL, yaitu DDL (Data Definition

Language) dan DML (Data Manipulation Language)

  1. DDL

Adalah perintah-perintah yang biasa digunakan untuk mendefinisikan

skema ke dalam DBMS, skema adalah deskripsi lengkap tentang struktur

tabel, rekaman, dan hubungan data pada basis data. contoh : create…

  2. DML Adalah Perintah-perintah yang digunakan untuk mengubah, memanipulasi dan mengambil data pada basis data. Tindakan meghapus (delete), mengubah (update) dan mengambil data adalah bagian dari DML. Contoh : insert, delete

  Ada 3 (tiga) kelompok besar tipe data yang dikenal di dalam Mysql :

  1. NUMERIC Jenis data angka , di dalamnya akan diklasifikasi kembali menjadi pecahan (float, single, double) dan bilangan bulan (integer, decimal).

  2. STRING Jenis data alphanumeric , bisa menampung gabungan dari angka, huruf maupun symbol yang diperbolehkan.

  3. DATE Jenis data dengan aturan satuan waktu, tahun, bulan, hari, jam menit serta detik bisa disimpan menggunakan jenis data ini.

  Tipe Data Keterangan Ukuran

  Integer atau Int [(m)]

  Signed value : -2147683648 to 2147683647 4 byte   Unsigned value : 0 to 4294967295   Decimal atau Dec (M,D)

  Bilangan desimal dengan nilai tergantung besaran M dan D

  M byte Tinyint [(m)] Signed value : -128 to 127 1 byte   Unsigned value : 0 to 255

    Smallint [(m)] Signed value : -32768 to 32767 2 byte   Unsigned value : 0 to 65535   Mediumint [(m)] Signed value : -8388608 to 838860 3 byte   Unsigned value : 0 to 16777215   Begint [(m)]

  Signed value : - 922337203685477808 to 9223372036854775807 8 byte

    Unsigned value : 0 to 18446744073709551615   Float (m,d) Bilangan pecahan presisi tunggal 4 byte Double [(m,d)] Bilangan pecahan presisi ganda 8 byte

Tipe Data Keterangan

  A Fixed-length character string : Char atau menyatakan deretan karakter (string) yang character lebarnya tetap yaitu maksimum adalah 255 karakter A variable-length character string : Data

  Varchar string dengan lebar data yang bervariasi (M), Maksimum lebar adalah 255 karakter

  Tinyblob A very small BLOB (binary large object) BLOB A small BLOB Mediumblob A medium-sized BLOB Longblob A large BLOB

Ukura Tipe Data Keterangan n

  Digunakan untuk tanggal dengan format "YYYY-

Date MM-DD" Range nilai : "1000-01-01" s.d "9999- 3 byte

12-31"

Digunakan untuk waktu dengan format

  

Time "hh:mm:ss" Range nilai : -838:59:59" s.d 3 byte

"838:59:59" Digunakan untuk tanggal dan waktu dengan

format "YYYY-MM-DD hh:mm:ss" Range

  Datetime 8 byte nilai :"1000-01-01 00:00:00" s.d "9999-12-31

  23:59:59" Digunakan untuk penulisan tanggal dan waktu Time stamp

  4 byte dengan format "YYYYMMDDhhmmss" Digunakan untuk penulisan tahun dengan Year

  1 byte format "YYYY" Range nilai : 1901 s.d 2155

Tipe Keterangan Data

  Penjumlahan + Pengurangan -

  Perkalian * / Pembagian

  % Mencari sisa hasil bagi

Tipe Data Keterangan

  = Sama dengan > Lebih besar dari < Lebih kecil dari >= Lebih besar dari atau sama dengan

  <= Lebih kecil dari sama dengan <> Tidak sama dengan != Tidak sama dengan Is Null Apakah semua nilai adalah null

  Apaah semua nilai berada di dalam pilihan In yang ada Apaah semua nilai tidak berada di dalam

  Not in pilihan yang ada Singkatan dari Reguler Expression, Nilai Regexp menjadi benar (true) bila nilai a sama dengan nilai b

  Praktikum Ke 1

START > Run… ( Putty ) [ Enter ] Host Name : 192.168.10.250 Protokol : SSH

  NIM

  Login as : b11xxyyyyy [ Enter ] Contoh : b110801234 [ Enter ] Password : a [ Enter ]

  

[b1108 01234@192.168.10.253~]$ mysql [ Enter ]

Catatan :

  Ketikkan perintah pada console , diakhiri dengan tanda “;”

(titik koma) dan eksekusi dengan menekan

tombol [ Enter ] Perhatikan penulisan huruf kecil / besar karena

  Ketik : help; atau \h atau \? Lalu [ Enter ] Contoh : mysql> \h [ Enter ]

  \c Lalu Ketik : [ Enter ] Contoh : mysql> salah perintah ……… \c [ Enter ]

  Keluar dari Mysql \q atau quit atau exit Lalu Ketik : [ Enter ] Contoh : mysql> \q [ Enter ]

  Mahasiswa nim Nama_mhs alamat_mhs

  nim Nama_mhs Alamat_mhs Tgl_lahir

  Tabel Mahasiswa Kuliah

  Kode_kul

  Kode_kul Nama_kul sks semester

  Tabel Kuliah Nama_kul mempelajari

  Kode_kul Indeks_nilai

  N N

  nim semester sks

  nim Kode_kul Indeks_nilai

  Tabel Mempelajari/Tabel Nilai

  Tabel khusus yang mewakili himpunan relasi

  Tgl_lahir

  Tabel MAHASISWA Nama Tipe Lebar Null? Kunci Kolom Data NOT nim CHAR

  12 NULL Primary Key nama_mhs

  VARCHAR 40     alamat_mh

  VARCHAR 50     tgl_lahir DATE       Tabel MEMPELAJARI Nama Tipe Lebar Null? Kunci Kolom Data

  NOT nim CHAR

  12 NULL Primary Key kode_kul CHAR 5     indeks_nilai CHAR 1    

  Tabel KULIAH Nama Tipe Lebar Null? Kunci Kolom Data

Lalu

Rumus: CREATE DATABASE <nama database>;

  [ Enter ]

  Contoh : Buat database PERKULIAHAN mysql&gt; CREATE DATABASE PERKULIAHANDB; [ Enter ]

  Rumus: SHOW DATABASES;

   Lalu [ Enter ]

  Rumus: USE &lt;namadatabase&gt;; Contoh : USE PERKULIAHANDB;

  Rumus: DROP DATABASE IF EXISTS &lt;namadatabase&gt;; Lalu [ Enter ] Contoh : DROP DATABASE IF EXISTS PERKULIAHANDB; [ Enter ]

Tabel MAHASISWA Nama Kolom Tipe Data Lebar Null? Kunci

  NOT nim CHAR

  12 Primary Key NULL nama_mhs

  VARCHAR 40     alamat_mh

  VARCHAR 50     tgl_lahir DATE      

Lalu

Rumus: CREATE DATABASE <nama database>;

  [ Enter ]

  Contoh : Buat database B110801234 mysql&gt; CREATE DATABASE B110801234DB; [ Enter ]

  Rumus: SHOW DATABASES;

   Lalu [ Enter ]

  Rumus: USE &lt;namadatabase&gt;; Lalu [ Enter ] Contoh : USE B110801234DB; [ Enter ]

  Rumus: DROP DATABASE IF EXISTS &lt;namadatabase&gt;; Lalu [ Enter ] Contoh : DROP DATABASE IF EXISTS B110801234DB; [ Enter ]

  1. Buatlah database dengan nama berikut ini :

  a. latihan1db

  b. latihan2db

  c. latihan3db

  2. Kemudian hapus database latihan3db dan latihan1db

  3. Pastikan database latihan1db tidak terhapus dengan melihat tampilan dalam daftar nama database menggunakan perintah SHOW DATABASES;

  Rumus: CREATE TABLE &lt;nama tabel&gt; ( &lt;field&gt; &lt;tipe data&gt;, &lt;field&gt; &lt;tipe data&gt;, ) [TYPE = &lt;tipe tabel&gt;]; Contoh : CREATE TABLE MAHASISWA ( nim INT NOT NULL AUTO_INCREMENT, nama_mhs VARCHAR (30), alamat_mhs VARCHAR (40), PRIMARY KEY (nim) ) TYPE = innodb;

  

TYPE=InnoDB merupakan perintah agar tabel

yang dibuat memiliki mesin penyimpanan

InnoDB. Jika anda tidak menyertakan perintah

tersebut, maka tabel akan disimpan dalam mesin penyimpanan MyISAM

Rumus: DROP TABLE IF EXISTS <nama tabel>;

  CONTOH

DROP TABLE IF EXISTS MAHASISWA;

  

SEKIAN

TERIMA KASIH