LAPORAN PRAKTIKUM
SISTEM BASIS DATA MySQL
DISUSUN OLEH
NAMA : CHANDRA FITRAH SIRAIT
NPM : 1414370513
KELAS : 3 MALAM C
FAKULTAS ILMU KOMPUTER
UNIVERSITAS PEMBANGUNAN PANCA BUDI
MEDAN
1 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
LAPORAN PRAKTIKUM
SISTEM BASIS DATA ( MySQL)
2 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
KELAS
3 MALAM C
FAKULTAS ILMU KOMPUTER
UNIVERSITAS PEMBANGUNAN
PANCABUDI MEDAN
2015
Nama Praktikan NPM
Mahasiswa
Tanggal
Kumpul
Tanda Tangan
Praktikan
Chandra Fitrah Sirait 1414370513 12/12/2015
Nama Penilai Tanggal
Koreksi
Nilai Tanda Tangan
Dosen
Indri Sulistianingsih, S.Kom
KATA PENGANTAR
Puji syukur kita panjatkan kehadirat Allah SWT yang telah memberikan
rahmat dan karunia –Nya sehingga penyusun dapat menyeselaikan Laporan
Praktikum Sistem Basis Data (MySQL) sebagai tugas praktek UAS dengan tepat
waktu.
Penyusun menyadari bahwa Laporan Praktikum Sistem Basis Data (MySQL)
ini masih jauh dari kesempurnaan karena penyusun mengerjakan Laporan ini sesuai
dengan informasi yang didapat di Mata Kuliah Sistem Basis Data MySQL.Oleh
karena itu, penyusun mengharapkan kritik dan saran dari para pembaca disemua
kalangan yang bertujuan untuk membangun kesempurnaan Laporan Praktikum
Sistem Basis Data (MySQL) ini.
Penyusun mengucapkan terima kasih yang sebesar-besarnya kepada semua
pihak yang telah ikut serta dalam pembuatan Laporan ini dari awal sampai akhir.
Akhir kata, penyusun berharap Laporan Praktikum Sistem Basis Data MySQL ini
dapat bermanfaat disemua kalangan masyarakat. Amin
Medan, 11 Desember 2015
Penyusun
3 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
DAFTAR ISI
1. Sampul Depan Laporan ......................................................................... 1
2. Kata Pengantar ......................................................................... 3
3. Daftar Isi ......................................................................... 4
4. BAB I PENDAHULUAN ....................................................................... 5-6
5. BAB II LANDASAN TEORI ................................................................... 7-26
6. BAB III HASIL PERCOBAAN ............................................................ 27-36
7. BAB IV ANALISA HASIL PERCOBAAN ......................................... 37-44
8. BAB V PENUTUP ....................................................................... 45
9. DAFTAR PUSTAKA ....................................................................... 46
4 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
BAB II PENDAHULAN
A. LATAR BELAKANG
Dalam era teknologi dan informasi sekarang ini disadari bahwa hampir semua
aspek kegiatan disegala bidang ditentukan oleh kualitas dari teknologi dan
informasi yang diterima dan dihasilkan. Pemakaian komputer sebagai salah
satu hasil dari teknologi saat ini sangat meluas dan memasyarakat tidak hanya
terbatas dalam lingkungan kerja tetapi juga dalam kehidupan sehari-hari.
Dimana dalam hal ini komputer merupakan alat bantu yang digunakan dalam
pengolahan informasi.
Kemajuan didalam bidang komputer yang sangat pesat dan kebutuhan akan
informasi yang semakin dirasakan, maka banyak instansi baik pemerintah
maupun swasta yang memanfaatkan komputer didalam meningkatkan
kinerjanya. Berbagai aktivitas dalam lingkungan kerja dapat lebih efisien dan
efektif, serta pengolahan data dapat dilakukan untuk mendapatkan informasi
yang cepat, tepat dan akurat.
Pengolahan data yang lambat, pembuatan laporan yang berulang serta
pemborosan waktu, tenaga dan biaya menjadi permasalahan utama pada
perusahaan ini dan tentu saja masih banyak permasalahan-permasalahan lain
yang terjadi.
5 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
B. TUJUAN PENELITIAN
SQL singkatan dari Structured Query Language. SQL digunakan untuk
berkomunikasi dengan database. Menurut ANSI (American National Standards
Institute), SQL merupakan bahasa standar untuk sistem manajemen database
relasional.
Perintah SQL digunakan untuk melakukan tugas-tugas seperti update data
atau mengambil data dari database. Beberapa sistem manajemen database relasional
umum yang menggunakan SQL adalah: Oracle, Sybase, Microsoft SQL Server,
Access, Ingres dan lain-lain.
Meskipun sebagian besar sistem database menggunakan SQL, kebanyakan dari
mereka juga memiliki ekstensi tambahan milik mereka sendiri yang biasanya hanya
digunakan pada sistem mereka.
Meskipun demikian, perintah - perintah SQL standar seperti "Select", "Insert",
"Update", "Delete", "Create", dan "Drop" dapat digunakan pada seluruh DBMS
tersebut.
BAB II PEMBAHASAN
A. Data Base
Bahasa database adalah bahasa khusus yang ditetapkan pembuat DMBS
( database management system ), tentang cara berinteraksi atau berkomunikasi antara
pemakai dengan database.
6 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Bahasa ini terdiri atas sejumlah perintah yang diformulasikan untuk dapat
diberikan oleh pengguna dan dikenali oleh DBMS. Salah satu bahasa database yang
populer adalah SQL.
B. SQL (Structured Query Language)
SQL ( dibaca "ess-que-el" ) singkatan dari Structured Query Language.
SQL( Structured Query Language ) adalah sebuah bahasa yang digunakan untuk mengakses data
dalam basis data relasional.
Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam
manajemen basis data relasional. Saat ini hampir semua serverbasis data yang ada
mendukung bahasa ini untuk melakukan manajemen datanya.
C. SEJARAH SQL (Structured Query Language)
SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang
membahas tentang ide pembuatan basis data relasiona l pada bulan Juni 1970. Artikel
ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data
dalam basisdata tersebut. Bahasa tersebut kemudian diberi nama SEQUEL
( Structured EnglishQuery Language ).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis
data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum
mengenai penamaan SEQUEL, IBM pun mengubahnya menjadiSQL .
7 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Implementasi basis data relasional dikenal dengan System/R .Di akhir
tahun1970- an, muncul perusahaan bernama Oracle yang membuat server basis data
popular yang bernama sama dengan nama perusahaannya.
Dengan naiknya kepopuleran Oracle maka SQL juga ikut populer sehingga saat ini
menjadi standar de facto bahasa dalam manajemen basis data. Standarisasi SQL
dimulai pada tahun 1986 ditandai dengan dikeluarkannya standar SQL oleh ANSI.
Standar ini sering disebut dengan SQL86.
Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki
lagi padatahun 1992. Versi terakhir dikenal dengan SQL92 . Pada tahun 1999
dikeluarkanstandar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi
kebanyakan mplementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada
server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing - masing
server memiliki dialek masing-masing.
D. Kelebihan MySQL
Handal, cepat dan mudah digunakan.
Dukungan SQL.
Multiplatform dan portable.
MySQL dapat berjalan stabil pada berbagai sistemoperasi seperti Windows, Linux,
FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
Perangkat lunak sumber terbuka.
MySQL di distribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi
GPL sehingga dapat digunakan secara gratis.
8 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Multi-user.
MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan
tanpa mengalami masalah atau konflik.
‘Performance Tuning'.
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana,
dengan kata lain dapat memproses lebih banyak SQL persatuan waktu.
Ragam tipe data.
MySQL memiliki ragam tipe data yang sangat kaya, seperti signed atau unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain.
Perintah dan Fungsi.
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select
dan Where dalam perintah ( query ).
Keamanan.
MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host,
dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
Skalabilitas dan Pembatasan.
MySQL mampu menangani database dalam skala besar, dengan jumlah rekaman
( records ) lebih dari 50 juta dan 60 ribu tabel serta 5 milyarbaris. Selain itu batas
indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
Konektivitas.
MySQL dapat melakukan koneksi dengan klien menggunakan protokolTCP / IP,
Unix soket ( UNIX ), atau Named Pipes ( NT ).
9 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Lokalisasi.
MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih
dari 20 bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya.
Antar Muka.
MySQL memiliki antar muka ( interface ) terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API ( Application Programming Interface
).
Klien dan Peralatan.
MySQL dilengkapi dengan berbagai peralatan ( tool ) yang dapat digunakan untuk
administrasi database, dan pada setiap peralatan yang ada disertakan petunjuk online.
Struktur tabel.
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER
TABLE dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.
Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
Memiliki lebih banyak type data seperti : signed / unsigned integer yang
memilikipanjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR,
VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR,
SET dan tipeENUM.
Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.
Mendukung terhadap fungsi penuh COUNT, COUNT DISTINCT, AVG , STD,
SUM, MAX AND MIN.
Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak
ODBC.
10 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi
ODBC2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect
ke MySQL server.
Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
Kita dapat menggabungkan beberapa table dari database yang berbeda dalam
query yang sama.
Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang
sangat jauh berbeda.
Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host -
Based’ Verifikasi.
E. Kekurangan MySQL
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro,
MySQL kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan
koneksi dari program visual tersebut, dan ini yang menyebabkan MySQL jarang
dipakai dalam program visual.
Data yang ditangani belum begitu besar.
Kelemahan MySQL dari dulu sampai sekarang itu adalah 'feature-creep',
artinya MySQL berusaha kompatibel dengan beberapa standard serta berusaha
memenuhinya.
Sampai sini terdengar bagus, namun kalau diungkapkan kenyataannya bahwa fitur-
fitur itu belum lengkap dan berperilaku sesuai standar.
F. Pemakaian Dasar
11 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language
( DDL ) dan Data Manipulation Language (DML). Implementasi DDL dan DML
berbeda untuk tiap sistem manajemen basis data (SMBD). 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.
PERINTAH MySQL
A. Perintah Dasar MySQL dengan Menggunakan Query Select.
Select Version.
Perintah query tersebut dipergunakan untuk menampilkan server versi MySQL.
Select Current_Date.
Perintah query tersebut dipergunakan untuk menampilkan tanggal saat ini.
Select Now.
Perintah query tersebut dipergunakan untuk menampilkan tanggal dan jam saat ini
Select User.
Perintah tersebut dipergunakan untuk mengetahui nama user yang bersangkutan
dannama client tempat user melakukan login. Dalam contoh di atas user
yangmelakukan login adalah root dan login melalui komputer lokal server MySQL
( localhost ).
Select Status.
Perintah query ini tidak digunakan dalam MySQL / menampilkan pesan error saat
dijalankan.
12 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Status
Perintah query ini digunakan untuk menampilkan status MySQL yang
sedang digunakan.
Help.
Perintah query ini digunakan untuk menampilkan perintah - perintah dos yang ada
pada MySQL.
Select (*,/,-,+).
Perintah query ini digunakan untuk operasi aritmatik ( kali, bagi, kurang dan
tambah ).
Select SIN.
Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka
menjadi derajat Sinus.
Select COS.
Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka
menjadi derajat Cosinus.
Select TAN.
Perintah query ini digunakan untuk operasi dalam matematika yang mengubah angka
menjadi derajat Tangen.
Select Least.
Fungsi Least digunakan untuk mendapatkan nilai terkecil dari sederetan bilangan atau
data yang ada. Seberapapun jumlah bilangan atau data yang ada, fungsi Leasttetap akan
mendapatkan nilai terkecil.
Select Greatest.
13 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Fungsi Greatest digunakan untuk mendapatkan nilai terbesar dari sederetan datayang
ada.
Select ABS.
Perintah query ini digunakan untuk mengubah setiap bilangan negatif menjadi
bilangan positif.
Select MOD.
Perintah query ini digunakan untuk menampilkan sisa hasil bagi1.
Select POW.
Perintah query ini digunakan untuk memangkatkan bilangan.
B. Data Defination Language.
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data
dan objek - objek yang diperlukan dalam basis data. Misalnya tabel, view, user, dan
sebagainya.
Secara umum, DDL yang digunakan adalah CREATE untuk membuat
objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang
sudah ada, dan DROP untuk menghapus objek dan SHOW Database digunakan untuk melihat
database yang sudah ada pada DBMS MySQL. DDL biasanya digunakan oleh
administrator basis data dalam pembuatan sebuah aplikasi basis data.
14 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
C. Elemen SQL
Elemen dari SQL yang paling dasar antara lain pernyataan, nama, tipe data,
ekspresi, konstanta dan fungsi bawaan.
Pernyataan
Perintah dari SQL yang digunakan untuk meminta sebuah tindakan kepada
DBMS. Pernyataan dasar SQL antara lain :
1. ALTER : Merubah struktur tabel
2. COMMIT : Mengakhiri eksekusi transaksi
3. CREATE : Membuat tabel, indeks
4. DELETE : Menghapus baris pada sebuah tabel
5. DROP : Menghapus tabel, indeks
6. GRANT : Menugaskan hak terhadap basis data kepada user
7. INSERT : Menambah baris pada tabel
8. REVOKE : Membatalkan hak kepada basis data
9. ROLLBACK : Mengembalikan pada keadaan semula apabila transaksi gagal
dilaksanakan
10. SELECT : Memilih baris dan kolom pada sebuah tabel
11. UPDATE : Mengubah value pada baris sebuah tabel
Nama
Nama digunakan sebagai identitas, yaitu identitas bagi objek pada DBMS.
Misal : tabel, kolom dan pengguna
15 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Tipe data
Tipe data yang ada dalam MYSQL :
1. Tipe data numerik antara lain :
TINYINT : Nilai integer yang sangat kecil.
SMALLINT : Nilai integer yang kecil.
MEDIUMINT : Nilai integer yang sedang.
INT : Nilai integer dengan nilai standar
BEGINT : Nilai integer dengan nilai besar.
FLOAT : Bilangan decimal dengan single-precission.
DOUBLE : Bilangan decimal dengan double-precission.
DECIMAL(M,D) : Bilangan float yang dinyatakan sebagai string.
M : jumlah digit yang disimpan,
D : jumlah angka dibelakang koma.
2. Tipe data String antara lain :
CHAR : Karakter yang memiliki panjang tetap yaitu sebanyakn
VARCHAR : Karakter yang memiliki panjang tidak tetap yaitu
maksimum
TINYBLOB : BLOB dengan ukuran sangat kecil
BLOB : BLOB yang memiliki ukuran kecil
MEDIUMBLOB : BLOB yang memiliki ukuran sedang
LONGBLOB : BLOB yang memiliki ukuran besar
TINYTEXT : teks dengan ukuran sangat kecil
16 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
TEXT : teks yang memiliki ukuran kecil
MEDIUMTEXT : teks yang memiliki ukuran sedang
LONGTEXT : teks yang memiliki ukuran besar
ENUM : kolom diisi dengan satu member enumerasi
SET : Kolom dapat diisi dengan beberapa nilai anggota
Himpunan
3. Tipe data tunggal dan jam :
DATE : date memiliki format tahun-bulan-tanggal
TIME : time memiliki format jam-menit-detik
DATETIME : gabungan dari format date dan time
Ekspresi
Ekspresi digunakan untuk menghasilkan/menghitung nilai. Misalnya :
jumlah=harga-diskon. Ekspresi aritmatika antara lain :
1. + : tambah
2. – : kurang
3. / : bagi
4. * : kali
Konstanta
Nilai yang tetap
Fungsi bawaan
17 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Fungsi adalah subprogram yang dapat menghasilkan suatu nilai apabila fungsi
tersebut dipanggil. Fungsi Agregat adalah fungsi yang digunakan untuk melakukan
summary, statistik yang dilakukan pada suatu tabel/query.
1. AVG(ekspresi) : digunakan untuk mencari nilai rata-rata dalam kolom dari tabel.
2. COUNT(x) : digunakan untuk menghitung jumlah baris dari sebuah kolom
dari tabel
3. MAX(ekspresi) : digunakan untuk mencari nilai yang paling besar dari suatu
kolom dari tabel
4. MIN(ekspresi) : digunakan untuk mencari nilai yang paling kecil dari suatu
kolom dari tabel
5. SUM(ekspresi) : digunakan untuk mengitung jumlah keseluruhan dari suatu
kolom dari table
J. Kelompok Penyataan SQL
Pernyataan SQL dapat dikelompokan menjadi 3 kelompok, yaitu : DDL, DML dan
DCL.
1. Pernyataan SQL kelompok DDL (Data Defination Language)
DDL berfungsi untuk mendefinisikan atribut basis data, table, atribut(kolom),
batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Perintah yang
digunakan biasanya : CREATE, ALTER, dan DROP
18 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Membuat Database
Syntax yang digunakan : CREATE DATABASE namadatabase;
Menghapus Database
Syntax yang digunakan : DROP DATABASE namadatabase;
Membuat Tabel
Syntax yang digunakan : CREATE TABLE namatabel;
Menghapus Database
Syntax yang digunakan : DROP DATABASE namadatabase;
Menghapus Tabel
Syntax yang digunakan : DROP TABEL namatabel;
Mendefinisikan null/not null
Syntax yang digunakan : CREATE TABLE namatabel
( Field1 TipeData1 NOT NULL, Field2 TipeData2)
Mendefinisikan Nilai Default
Syntax yang digunakan : CREATE TABLE namatabel ( Field1 TipeData1, Field2
TipeData2 DEFAULT nilai )
Mendefinisikan Primary Key pada Tabel Dapat dilakukan dengan 3 Syntax :
1. CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL PRIMARY KEY,
Field2 TipeData2 )
2. CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, PRIMARY
KEY(Field1)
19 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
3. ALTER TABEL namatabel ADD CONSTRAINT namaconstraint PRIMARY KEY
(NAMAKOLOM)
Menghapus Primary Key pada Tabel Syntax yang digunakan ada 2 :
1. ALTER TABLE namatabel DROP CONSTRAINT NAMACONSTRAINT;
2. ALTER TABLE NAMATABEL DROP PRIMARY KEY;
Menambah Kolom Baru pada Tabel
Syntax yang digunakan : ALTER TABEL NAMATABEL ADD newfield tipe
Mengubah Tipe Data atau Lebar Kolom pada Tabel
Syntax yang digunakan : ALTER TABEL namatabel MODIFY COLUMN field tipe
Mengubah Nama Kolom
Syntax yang digunakan : ALTER TABEL namatabel CHANGE COLUMN
namakolomlama namakolombaru tipe
Menghapus Kolom pada Tabel
Syntax yang digunakan : ALTER TABEL namatabel DROP COLUMN namakolom
Mendefinisikan Foreign Key pada Tabel Dapat dilakukan dengan 2 Syntax :
1. CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, FOREIGN
KEY (Field2) REFERENCES nama table induk (nama kolom induk) ON UPDATE
CASCADE ON DELETE NO ACTION)
2. ALTER TABEL namatabel ADD CONSTRAINT nama constraint FOREIGN KEY
(namakolom) REFERENCES nama table induk (nama kolom induk) ON UPDATE
CASCADE ON DELETE NO ACTION
20 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Menghapus Foreign Key
Syntak yang digunakan : ALTER TABEL namatabel DROP FOREIGN KEY nama
constraint
DML (Data Manipulation Language)
DML berfungsi untuk memanipuladi data yang ada di dalam basis data, contohnya
untuk pengambilan data, penyisipan data, pengubahan data dan penghapusan data.
Perintah yang digunakan biasanya adalah : INSERT, DELETE, UPDATE, dan
SELECT.
INSERT
menambah baris pada tabel. Syntax yang paling sering digunakan : INSERT INTO
namatabel VALUES (nilai1, nilai2, nilai-n)
DELETE
Menghapus baris pada tabel. Syntax : DELETE FROM namatabel [where kondisi
UPDATE
Mengubah isi beberapa kolom pada tabel. Syntax : UPDATE namatabel SET
kolom1=nilai1, kolom2=nilai2 [where kondisi]
SELECT
Menampilkan isi dari suatu tabel yang bisa dihubungkan dengan tabel yang lainnya
K. Keunggulan MySQL
Program yang multi-threaded, sehingga dapat dipasang pada server yang memiliki
mulit-CPU
21 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Didukung bahasa pemrograman umum seperti C, C++, Java, Perl, PHP, Python,
TCL, APls dls.
Bekerja pada berbagai platform
Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi
system database
Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi
system database
Memiliki system sekuriti yang cukup baik dengan verifikasi host
Mendukung ODBC untuk OS Microsoft Windows
Mendukung record yang memiliki kolom dengan panjang tetap
Software yang free
Saling terintegrasi dengan PHP
TIPE DATA MySQL
Char(M)
Tipe data ini digunakan untuk menyimpan data string dengan jumlah karakter
tertentu. Panjang maksimum karakter tipe data Char harus dinyatakan secara eksplisit
seperti contoh berikut: Judul CHAR(50)
Varchar(M)
Tipe data ini cocok digunakan untuk menyimpan data string dengan panjang yang
bervariasi. Sama seperti tipe data Char, panjang maksimum karakter yang akan
ditampung dalam field harus dinyatakanTipe Data. Beberapa jenis tipe data dalam
MySQL memiliki tipe tersendiri dalam tiap field di table databasenya.
22 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
MySQL mengenal beberapa type data field, yaitu :
1. Tipe data numeric
Tipe data numerik dapat dibedakan menajdi dua kelompok, yaitu tipe data integer dan
tipe data floating point. Tipe data integer untuk data bilangan bulat sedangkan tipe
data floating point digunakan untuk bilangan desimal. Tipe data numeric dapat kita
sajikan dalam table di bawah ini :
Tipe data Kisaran nilai
Tinyint (-128) – 127 atau 0-225
Smallint (-32768) – 32767 atau 0 – 65535
Mediumint (-8388608)-8388607 atau 0-16777215
Int (-2147683648)-(2147683647) atau 0-4294967295
Bigint (-9223372036854775808)-(9223372036854775807)
Atau 0 – 18446744073709551615
Float(x) (-3.402823466E+38)-(-1.175494351E-38),0,dan 1.175494351E-38 –
3.402823466E + 38
Float Idem Double (-1.7976E+308)–(-2.22E-308),0,dan(2.22E-308)- (1.79E+308)
Besar kebutuhan memori penyimpanan untuk masing-masing tipe data di atas sebagai
berikut :
Column type Storage required
TINYINT 1 byte
SMALLINT 2 bytes
MEDIUMINT 3 bytes
23 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
INT 4 bytes
INTEGER 4 bytes
BIGINT 8 bytes
FLOAT(4) 4 bytes
FLOAT(8) 8 bytes
FLOAT 4 bytes
DOUBLE 8 bytes
DOUBLE PRECISION 8 bytes
REAL 8 bytes
DECIMAL(M,D) M bytes (D+2, if M < D)
NUMERIC(M,D) M bytes (D+2, if M < D)
2. Tipe data string
Yang termasuk dalam tipe data string adalah tipe-tipe data berikut : Tipe
kolom Kebutuhan memori penyimpanan
CHAR(M) M bytes, 1 <= M <= 255
VARCHAR(M) L+1 bytes, where L <= M and 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 bytes, where L < 2^8
BLOB, TEXT L+2 bytes, where L < 2^16
MEDIUMBLOB,
MEDIUMTEXT
L+3 bytes, where L < 2^24
LONGBLOB,
24 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
LONGTEXT
L+4 bytes, where L < 2^32
ENUM
('value1','value2',...)
1 or 2 bytes, depending on the number of enumeration
values (65535 values maximum)
SET
('value1','value2',...)
1, 2, 3, 4 or 8 bytes, depending on the number of set
members (64 members maximum)
3. Tipe data waktu
Yang termasuk dalam tipe data tanggal dan waktu adalah sebagai berikut :
Column type Storage require
DATETIME 8 bytes
DATE 3 bytes
TIMESTAMP 4 bytes
TIME 3 bytes
YEAR 1 byte
4. Tipe data char() dan varchar() pada prinsipnya sama. Yang menjadi perbedaannya
adalah pada jumlah memori yang dibutuhkan untuk penyimpanan. Memori
penyimpanan yang dibutuhkan tipe data char() bersifat statis, besarnya tergantung
pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan.
Sebaliknya, tipe data varchar() besar memori penyimpanan tergantung terhadap
25 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
berapa karakter yang digunakan ditambah 1 byte yang berisi data jumlah karakter
yang digunakan.
BAB III HASIL PERCOBAAN
Pengantar Sintak Dasar Mysql
MySQL merupakan bahasa pemograman database di mana penulisan sintaknya tidak
serumit bahasa pemograman lainnya seperti java, C++ dan sebagainya. Satu hal yang
perlu diingat bahwa setiap penulisan script MySQL di Dos-Prompt harus selalu
diakhiri dengan tanda titik koma (;).
Di dalam source MySQL yang telah terinstal secara default telah terisi sebuah
database yang bernama mysql dan tes . Untuk dapat menampilkan apa saja nama
database yang telah ada maupun yang akan kita buat, gunakan sintak :
Mysql> show databases;
Perhatikan contoh di bawah ini :
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\Fyrman>cd..\..
C:\>cd/xampp/mysql/bin
C:\xampp\mysql\bin>mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
26 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Server version: 5.5.16 MySQL Community Server (GPL)
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cdcol |
| chandra |
| kampus |
| mysql |
| performance_schema |
| perpustakaan |
| perpustakaan2 |
| perpustakaan_gaul |
| phpmyadmin |
| rental |
| rental_cd |
| test |
27 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
| webauth |
+--------------------+
14 rows in set (0.11 sec)
mysql>
Contoh di atas menunjukkan bahwa dengan menggunakan
sintakshow databases; berarti kita dapat menampilkan seluruh nama database yang
telah ada. Sintak untuk bisa masuk kedalam salah satu system database tersebut
adalah :
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| cdcol |
| chandra |
| kampus |
| mysql |
| performance_schema |
| perpustakaan |
| phpmyadmin |
| rental |
| rental_cd |
| test |
28 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
| webauth |
+--------------------+
14 rows in set (0.11 sec)
mysql> use perpustakaan;
Database changed
mysql>
Dengan mengetikkan sintak use mysql; dan keluar kalimat database
change, berarti kita telah masuk ke dalam database mysql yang telah ada. Di setiap
database tentu ada terdapat beberapa table yang menjadi komponendasar sebuah
database. Sintak untuk menampilkan seluruh table yang telah ada di dalam database
mysql adalah :
mysql> use perpustakaan;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_perpustakaan |
+------------------------+
| nama |
| buku |
| pinjam |
+------------------------+
3 rows in set (0.10 sec)
29 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
mysql>
di dalam database perpustakaan sudah ada beberapa table yang telah default dari
mysql-nya sendiri. Didalam database tersebut ada table nama,buku dan pinjam di
mana tiap tablenya memiliki fungsi tertentu yang dapat diakses oleh tiap user.
Membuat Database Baru
Membuat database
Untuk membuat sebuah database dengan nama ‘formulir_pendaftaran’ kita tidak
perlu harus keluar terlebih dahulu dari salah satu database walau kita sebelumnya
telah masuk ke dalamnya, untuk membuatnya gunakan syntax berikut
create database formulir_pendaftaran;
mysql> create database formulir_pendaftaran -> ;
Query OK, 1 row affected (0.01 sec)
mysql>
Query OK, 1 row affected (0.01 sec) berarti kita telah berhasil membuat sebuah
database yang bernama formulir_pendaftaran. Dan untuk menghapusnya, gunakan
sintak sebagai berikut :
mysql>drop database formulir_pendaftaran;
Pada kondisi di atas, apabila kita lupa meletakkan tanda titik koma (;) di akhir kalimat
maka pada baris setelahnya akan keluar tanda (->). Di samping tanda tersebut harus
kita beri tanda titik koma (;) agar dapat berjalan dengan baik.
30 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Membuat table
Setelah kita memasuki sebuah database, kita dapat mulai membuat tabel – tabel
sesuai dengan keperluan kita. Dalam database dikenal primary key, yaitu field yang
menjadi acuan data terhadap field-field lainnya dan primary key tidak boleh
null.Misalkan nama tabelnya adalah ‘data_pelanggan’, maka sintaknya adalah :
create table data Perhatikan script di bawah ini :
mysql> create table data_pelanggan(
-> Nama char(30),
-> Alamat varchar(30),
-> id_formulir int(8));
Query OK, 0 rows affected (0.14 sec)
mysql>
untuk mengecek tabel formulir yang kita buat diatas dengan cara
(mysql>desc data_pelanggan;)
Lihatlah contoh scrip dibawah ini!!!!!
mysql> desc data_pelanggan;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
31 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
| Nama | char(30) | YES | | NULL | |
| Alamat | varchar(30) | YES | | NULL | |
| id_formulir | int(8) | YES | | 0 | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
mysql>
Mengisi table
Setelah tabel terbentuk, kita dapat memulai pekerjaan mengisi database. Syntax yang
digunakan adalah :
mysql>insert into data (field1,field2) values (valuefield1,valuefield2);
perhatikan contoh di bawah ini :
mysql> insert into data values ('Hafid','Medan’,'6789');
Query OK, 1 row affected (0.09 sec)
mysql> insert into data values ('Efen','Perbaungan','34567');
Query OK, 1 row affected (0.12 sec)
mysql> insert into data values ('Asmin','Mandala','9999');
Query OK, 1 row affected (0.07 sec)
mysql> insert into data values ('Dian','Pancurbatu','6789');
Query OK, row affected (0.06 sec)
mysql>
Untuk melihat hasilnya yaitu dengan cara (mysql> select * from data;).
32 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
mysql> select * from data_pelanggan;
+--------+------------+-------------+
| Nama | Alamat | id_formulir |
+--------+------------+-------------+
| Hafid | Medan | 6789 |
| Efen | Perbaungan | 34567 |
| Asmin | Mandala | 9999|
| Dian | Pancurbatu | 6789|
+--------+------------+-------------+
4 rows in set (0.00 sec)
mysql>
Tanda (*) merupakan perintah untuk menampilkan seluruh kolom beserta isinya. Jika
kita ingin menampilkan hanya kolom nama saja, maka
sintaknya adalah: (mysql>select field from nama_table;).
contoh :
select nama from data_pelanggan;
mysql> select nama from data_pelanggan;
+--------+
| nama |
+--------+
| Hafid |
| Efen |
33 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
| Asmin |
| Dian |
+--------+
4 rows in set (0.00 sec)
mysql>
Untuk mengurutkan data berdasarkan ascending atau descending yaitu dengan cara:
(Select * from data from data order by field asc;), dan sebaliknya.
mysql> select * from data_pelanggan order by nama asc;
+--------+------------+-------------+
| Nama | Alamat | id_formulir |
+--------+------------+-------------+
| Hafid | Medan | 6789 |
| Efen | Perbaungan | 34567 |
| Asmin | Mandala | 9999|
| Dian | Pancurbatu | 6789|
+--------+------------+-------------+
4 rows in set (0.00 sec)
34 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
mysql> select * from data_pelanggan order by alamat desc;
+--------+------------+-------------+
| Nama | Alamat | id_formulir |
+--------+------------+-------------+
| Hafid | Medan | 6789 |
| Efen | Perbaungan | 34567 |
| Asmin | Mandala | 9999|
| Dian | Pancurbatu | 6789|
+--------+------------+-------------+
4 rows in set (0.00 sec)
mysql>
BAB IV ANALISA HASIL PERCOBAAN
Perintah-perintah Dasar MySQL
Create Database
Digunakan untuk membuat database baru.
Syntax dasar: CREATE DATABASE database_nama
Contoh: CREATE DATABASE databaseku
Create Table
Digunakan untuk membuat tabel data baru dalam sebuah database.
35 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Syntax dasar: CREATE TABLE ( Column_name1 table_nama data_type
Column_name2 table_nama data_type Column_name3 table_nama data_type )
Contoh: CREATE TABLE bukutamu ( Id int, Nama varchar (255), Email
varchar(50), Kota varchar(255)
Select
Digunakan untuk memilih data dari table database.
Syntax dasar: SELECT column_name(s) FROM table_name Atau SELECT * FROM
table_name
Contoh 1: SELECT nama, email FROM buku tamu
Contoh 2: SELECT * FROM buku tamu
Select Distinct
Digunakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari
sebuah table database.
Syntax dasar: SELECT DISTINCT column_name(s) FROM table_name
Contoh: SELECT DISTINCT kota FROM buku tamu
Where
Digunakan untuk memfilter data pada perintah Select
Syntax dasar: SELECT column name(s) FROM table_name WHERE column_name
operator value
Contoh: SELECT * FROM buku tamu WHERE kota=’PAMULANG’
Order By
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu. Secara
default, urutan tersusun secara ascending (urut kecil ke besar). Anda dapat
36 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
mengubahnya menjadi descending (urut besar ke kecil) dengan menambahkan
perintah DESC.
Syntax dasar: SELECT column_name(s) FROM table_name ORDER BY
column_name(s) ASC|DESC
Contoh 1: SELECT * FROM bukutamu ORDER BY nama
Contoh 2: SELECT * FROM bukutamu ORDER BY id DESC
Like
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan
spesifikasi tertentu.
Syntax dasar: SELECT column_name(s) FROM table_name WHERE column_name
LIKE pattern
Contoh 1: SELECT * FROM bukutamu WHERE nama LIKE ‘a%’
Keterangan : Contoh di atas digunakan untuk pencarian berdasarkan kolom nama
yang berhuruf depan “a”.
Contoh 2: SELECT * FROM bukutamu WHERE nama LIKE ‘a%’
Keterangan : Contoh di atas digunakan untuk pencarian berdasarkan kolom nama
yang berhuruf belakang “a”.
In
Digunakan untuk pencarian data menggunakan lebih dari satu filter pada perintah
Where.
Syntax dasar : SELECT column_name(s) FROM table_name WHERE column_name
IN (value1,value2, . . .)
Contoh: SELECT * FROM bukutamu WHERE kota IN (‘Tangerang’,’Depok’)
37 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Between
Digunakan untuk menentukan jangkauan pencarian.
Syntax dasar: SELECT column_name(s) FROM table_name WHERE column_name
BETWEEN value1 AND value2
Contoh : SELECT * FROM bukutamu WHERE id BETWEEN 5 and 15
Keterangan : Contoh di atas digunakan untuk mencari data yang memiliki nomor id
antara 5 dan 15.
Insert Into
Digunakan untuk menambahkan data baru di tabel database.
Syntax dasar : INSERT INTO table_name VALUES (value1, value2, value3, . . .)
Atau INSERT INTO table_name (column1, column2, column3, . . .) VALUES
(value1, value2, value3, . . .)
Contoh 1 : INSERT INTO buku tamu VALUESm ( 1, ’Arlicious’,
’[email protected]’, ’Tangerang’)
Contoh 2: INSERT INTO buku tamu ( id , nama , email , kota ) VALUES ( 1,
’Arlicious’, ’[email protected]’, ’Tangerang’)
Update
Digunakan untuk mengubah/memperbarui data di tabel database.
Syntax dasar: UPDATE table_name SET column1=value,column2=value, . . .
WHERE some_column=some_value
Contoh : UPDATE bukutamu SET email=’[email protected]’, kota=’Tangerang’
WHERE
Delete
38 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Digunakan untuk menghapus data di table database. Tambahkan perintah Where
untuk memfilter data-data tertentu yang akan dihapus. Jika tanpa perintah Where,
maka seluruh data dalam tabel akan terhapus
Syntax dasar : DELETE FROM table_name WHERE some_column=some_value
Contoh: DELETE FROM bukutamu WHERE id=1
Full Join
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu
tabel.
Syntax dasar : SELECT column_name(s) FROM table_name1 FULL JOIN
table_name2 ON table_name1.column_name=table_name2 column_name
Contoh : SELECT bukutamu.nama,bukutamu.email,order.no_order FROM bukutamu
FULL JOIN order ON bukutamu.id=order.id ORDER BY bukutamu.nama
Union
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
Syntax dasar : SELECT column_name(s)FROM table_name1 UNION
column_name(s) FROM table_name2 Atau SELECT column_name(s) FROM
table_name1 UNION ALL SELECT column_name(s) FROM table_name2
Contoh : SELECT nama FROM mhs_kampus1 UNION SELECT nama FROM
mhs_kampus2
Alter Table
Digunakan untuk menambah, menghapus, atau mengubah kolom (field) pada tabel
yang sudah ada.
39 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Syntax untuk menambah kolom : ALTAR TABLE table_name ADD column_name
datatyoe
Contoh : ALTER TABLE Persons ADD DateOfBirth date Syntax untuk menghapus
kolom : ALTER TABLE table_name DROP COLUMN column_name
Contoh : ALTER TABLE Persons DROP COLUMN DateOfBirth
Syntax untuk mengubah kolom : ALTER TABLE table_name ALTER TABLE
clumn_name datatype
Contoh : ALTER TABLE Persons ALTER COLUMN DateOfBirth year
Now ()
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)
Syntax dasar : Now()
Contoh : SELECT NOW()
Drop Table
Digunakan untuk menghapus tabel beserta seluruh datanya.
Syntax dasar :
DROP TABLE table_name
Contoh :
DROP TABLE mhs
Drop Database()
Digunakan untuk menghapus database.
Syntax dasar :
DROP DATABASE database_name
AVG()
40 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Digunakan untuk menghitung nilai-rata-rata dari suatu data.
Syntax dasar :
SELECT AVG (column_name) FROM table_name
Contoh :
SELECT AVG(harga) AS Harga_rata2FROM order
Count()
Digunakan untuk menghitung jumlah (cacah) suatu data.
Syntax dasar :
SELECT COUNT (column_name) FROM table_name
Contoh :
SELECT COUNT(id) AS Jumlah_tamu FROM bukutamu
Max()
Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.
Syntax dasar :
SELECT MAX (column_name) FROM table_name
Contoh :
SELECT MAX(harga) AS Harga_termahal FROM order
Min()
Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.
Syntax dasar :
SELECT MIN (column_name) FROM table_name
Contoh:
SELECT MIN(harga) AS Harga_termurah FROM order
41 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Sum()
Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.
Syntax dasar :
SELECT SUM (column_name) FROM table_name
Contoh :
SELECT SUM(harga) AS Harga_total FROM order
Daftar Perintah DDL pada MySQL 5.0
Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link
untuk melihat rincian penggunaan dari perintah tersebut.
Pembuatan (CREATE)
o CREATE DATABASE
o CREATE FUNCTION
o CREATE INDEX
o CREATE PROCEDURE
o CREATE TABLE
o CREATE TRIGGER
CREATE VIEW
Perubahan (ALTER & RENAME)
o ALTER DATABASE
42 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
o ALTER FUNCTION
o ALTER PROCEDURE
o ALTER TABLE
o ALTER VIEW
o xRENAME TABLE
Penghapusan (DROP)
o DROP DATABASE
o DROP FUNCTION
o DROP INDEX
o DROP PROCEDURE
o DROP TABLE
o DROP TRIGGER
o DROP VIEW
BAB V
PENUTUP
A. Kesimpulan
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan
untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto
merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.
43 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan
manajemen datanya.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language
(DDL)dan Data Manipulation Language (DML). Implementasi DDL dan DML
berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI.
B. Saran
MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah
untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu,
source programnya pun dapat anda dapatkan secara gratis dan syntax - syntaxnya mudah
untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan
mudah dan cepat.
44 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015
DAFTAR PUSTAKA
http://www.scribd.com/doc/90453663/Makalah-SQL
http://lifeopensourch.blogspot.com/2012/07/makalah-basis-data-xamppsql.html
http://www.slideshare.net/AmbarSusilowati/makalah-tentang-database
http://ma-noer.blogspot.com/2013/01/makalah-sistem-database.html
45 | UNIVERSITAS PEMBANGUNAN PANCABUDI MEDAN 2015