• Tidak ada hasil yang ditemukan

Handout INF106 modul praktikum jum at 28 April 2017

N/A
N/A
Protected

Academic year: 2017

Membagikan "Handout INF106 modul praktikum jum at 28 April 2017"

Copied!
8
0
0

Teks penuh

(1)

Menghapus Duplikasi Data dengan Query DISTINCT

Pada Tutorial Belajar MySQL kali ini kita akan membahas tentang query DISTINCT. Query ini digunakan untuk menghapus atau mengeleminasi duplikasi dari hasil tampilan SELECT. Sama seperti query AS, ORDER BY, dan LIMIT, query DISTINCT ini digunakan sebagai tambahan dari query utamanya, yakni SELECT.

Jika anda ingin menggunakan data tabel yang sama, silahkan input ke dalam tabel_daftar dosen secara manual, atau menggunakan query LOAD DATA INFILE dibawah, untuk file txt dapat diperoleh dari sample data tabel daftar_dosen ver.2.

LOAD DATA INFILE 'D:\\MySQL\\daftar_dosen.txt' (sesuaikan dengan lokasi file di komputer anda) INTO TABLE daftar_dosen FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n';

Cara Menggunakan Query DISTINCT Untuk Menghapus Duplikasi

Penekanan untuk judul diatas, query DISTINCT digunakan hanya untuk memanipulasi tampilan hasil dari tabel. Duplikasi yang dihapus adalah untuk tampilan data, bukan tabel asli dari MySQL.

SELECT alamat FROM daftar_dosen ORDER BY alamat;

Dari hasil query tersebut, dapat dilihat bahwa nama kota yang sama akan tampil lebih dari sekali. Hal ini terjadi karena terdapat beberapa dosen yang kebetulan beralamat di kota yang sama dengan dosen lainnya. Jika yang kita inginkan bahwa untuk setiap kota yang sama, hasil query harus muncul 1 kali saja, kita akan memerlukan perintah DISTINCT.

Cara Penulisan Query DISTINCT

Format dasar penulisan query DISTINCT adalah sebagai berikut: SELECT DISTINCT nama_kolom FROM nama_tabel;

Nama_kolom adalah nama kolom yang akan ditampilkan.

Nama_tabel adalah nama tabel untuk kolom yang akan ditampilkan.

(2)

SELECT DISTINCT alamat FROM daftar_dosen ORDER BY alamat;

Dengan penambahan perintah DISTINCT di awal query SELECT, maka hanya data yang unik saja (data yang tidak sama) yang akan ditampilkan. Seandainya hasil query terdapat data yang sama lebih dari 1 kali tampil, perintah DISTINCT hanya akan menampilkannya 1 kali saja.

Namun jika kita menambahkan kolom nama_dosen seperti query berikut: SELECT DISTINCT nama_dosen,alamat FROM daftar_dosen

ORDER BY alamat;

Terlihat bahwa MySQL tetap menampilkan seluruh isi tabel tanpa ada yang dieliminasi. Hal ini dikarenakan query DISTINCT hanya mengeleminasi query yang unik, atau tidak sama dilihat secara baris per baris (per record). Dengan mengkombinasikan nama_dosen dengan alamat, maka setiap baris dianggap unik, kecuali terdapat nama dosen dan alamat yang persis sama.

(3)

Tipe data ini digunakan untuk menyimpan data yang berkaitan dengan tanggal dan waktu. Tipe data date, terdiri dari: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR.

Jenis tipe data DATE dalam MySQL

MySQL memiliki beberapa format untuk tipe data date. Format tipe data date tersebut adalah: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR. Perbedaan dari tipe-tipe tersebut terletak pada format penyimpanan data. Untuk lebih lengkapnya dapat dilihat dari tabel dibawah ini:

Tipe Data Jangkauan Ukuran Zero Value

DATE ‘1000-01-01’ to

MySQL menyediakan beberapa format yang dapat digunakan untuk input tipe data tanggal, masing masing untuk tipe data yang bersesuaian.

(4)

CCYY YY

Jika MySQL tidak dapat membaca format, atau data tidak tersedia, maka data akan diisi sesuai dengan nilai pada Zero Value.

Contoh query untuk membuat tabel dengan data DATE:

CREATE TABLE contoh_date (dat DATE, tim TIME, dattim DATETIME, timestam TIMESTAMP, yea YEAR);

DESCRIBE contoh_date;

Perhatikan pada saat mendefinisikan tipe data YEAR, pada query DESCRIBE kita dapat melihat bahwa MySQL memberikan nilai YEAR(4) sebagai nilai default. Kita dapat secara langsung mendefinisikan YEAR(2) jika menginginkan data tahun dengan 2 digit, namun hal ini tidak disarankan, karena dengan mendefinisikan tahun 26, akan menjadi ambigu, apakah itu tahun 1926 atau 2026, walaupun MySQL memiliki aturan akan mengkonversinya menjadi 2026.

MySQL menyediakan fungsi NOW() untuk memberikan tanggal server pada saat ini, dan kita akan menggunakannya sebagai nilai tiap kolom pada tabel contoh_date:

INSERT INTO contoh_date values (NOW(),NOW(),NOW(),NOW(),'2017');

Rangkuman materi basisdata :

1. MEMBUAT DAN MENGHAPUS DATABASE

a. CREATE DATABASE UNIVERSITAS;

b. CREATE DATABASE IF NOT EXISTS MAHASISWA;

Format [IF NOT EXISTS] akan membuat database jika database itu belum ada sebelumnya. Jika sudah ada, query CREATE DATABASE tidak akan menghasilkan apa-apa (database yang lama tidak akan tertimpa).

c. USE UNIVERSITAS;

(5)

e. DROP DATABASE [IF EXISTS] DATABASE_NAME;

Sama seperti query pada pembuatan database, pilihan [IF EXISTS] digunakan untuk menghilangkan pesan error jika seandainya database tersebut memang tidak ada.

2. MEMBUAT, MENGHAPUS DAN MANIPULASI TABEL

a. CREATE TABLE DATA_MAHASISWA ( NIM CHAR(9), NAMA CHAR(50), UMUR INT, TEMPAT_LAHIR CHAR(50), JURUSAN CHAR (30) );

b. CREATE TABLE DATA_MAHASISWA ( NIM CHAR(9) PRIMARY KEY, NAMA CHAR(50), UMUR INT, TEMPAT_LAHIR CHAR(50), JURUSAN CHAR (30) );

c. CREATE TABLE DATA_MAHASISWA ( NIM CHAR(9), NAMA CHAR(50), UMUR INT, TEMPAT_LAHIR CHAR(50), JURUSAN CHAR (30), UNIQUE (NIM, NAMA)); d. SHOW TABLES;

e. DESCRIBE DATA_MAHASISWA; f. DROP TABLE DATA_MAHASISWA;

g. RENAME TABLE DATA_MAHASISWA TO MAHASISWA;

h. ALTER TABLE MAHASISWA ADD NAMA_BELAKANG CHAR(25) AFTER NAMA; i. ALTER TABLE MAHASISWA DROP NAMA_BELAKANG;

j. INSERT INTO TABEL MAHASISWA (NIM, NAMA, UMUR, TEMPAT LAHIR, JURUSAN) VALUES ('2016071001’,’AHMAD AQIL HALIM’, 20, ‘JAKARTA’,’INFORMATIKA’);

k. UPDATE MAHASISWA SET NAMA=’AQIL’ WHERE NIM=’2016071001’; l. DELETE FROM MAHASISWA WHERE NIM=’2016071001’;

m. TRUNCATE MAHASISWA;

3. CARA MENAMBAHKAN DATA DARI FILE (LOAD DATA INFILE)

a. LOAD DATA INFILE 'D:\\MYSQL\\INPUT_DATA.TXT' INTO TABLE DAFTAR_DOSEN FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\R\N';

b. LOAD DATA LOCAL INFILE 'D:\\MySQL\\data_lagi.txt' REPLACE INTO TABLE daftar_dosen FIELDS TERMINATED BY '\t' ENCLOSED BY '\'' LINES STARTING BY '**' TERMINATED BY '|' IGNORE 1 LINES;

4. QUERY SELECT

(6)

b. SELECT NIM, NAMA FROM MAHASISWA

c. SELECT * FROM MAHASISWA WHERE IPK >= 3.0;

d. SELECT NAMA FROM MAHASISWA WHERE ALAMAT=’PAMULANG’; e. SELECT * FROM MAHASISWA WHERE IPK BETWEEN 2.75 AND 3.5; f. SELECT * FROM MAHASISWA WHERE NAMA LIKE ‘%ADI%’;

g. SELECT * FROM MAHASISWA WHERE NAMA LIKE ‘%A’; h. SELECT * FROM MAHASISWA WHERE NAMA LIKE ‘A%’;

i. SELECT NAMA, ALAMAT FROM MAHASISWA ORDER BY NAMA ASC; j. SELECT NAMA, ALAMAT FROM MAHASISWA ORDER BY NAMA DESC; k. SELECT * FROM MAHASISWA GROUP BY ALAMAT;

l. SELECT COUNT(*) FROM MAHASISWA;

m. SELECT SUM HARGA_BARANG FROM BARANG;

n. SELECT * FROM BARANG WHERE LEFT (KODE_BARANG,1) = “D”; o. SELECT * FROM BARANG WHERE RIGHT (KODE_BARANG, 2) = “2”; p. SELECT * FROM BARANG WHERE MID(KODE_BARANG, 2, 1) = “P”; q. SELECT MAX (IPK) FROM MAHASISWA;

r. SELECT MIN (IPK) FROM MAHASISWA;

SOAL LATIHAN

1. BUATLAH DATABASE RUMAH SAKIT BINTARO

2. BUATLAH TABEL DOKTER, TABEL SPESIALIS DAN TABEL JAGA DENGAN KETENTUAN SEBAGAI BERIKUT :

a. TABEL DOKTER b. TABEL SPESIALIS c. TABEL JAGA

(7)

a. DOKTER.TXT b. SPESIALIS.TXT c. JAGA.TXT

4. TAMPILKAN SEMUA RECORD DARI TABEL DOKTER, TABEL SPESIALIS DAN TABEL JAGA

5. TAMPILKAN INFORMASI DOKTER SPESIALIS YANG ADA DI RUMAH SAKIT BINTARO

6. HITUNG BERAPA JUMLAH DOKTER SPESIALIS YANG ADA DI RUMAH SAKIT BINTARO

(8)

8. TAMPILKAN JADWAL PRAKTEK SETIAP DOKTER SPESIALIS ADA DI RUMAH SAKIT BINTARO

9. TAMPILKAN NAMA DAN JADWAL DOKTER SPESIALIS YANG PRAKTEK DI HARI SENIN

Gambar

tabel dibawah ini:
TABEL JAGA

Referensi

Dokumen terkait

(5) Untuk kepentingan pemeriksaan di Pengadilan dalam perkara pidana atau perdata atas permintaan hakim sesuai dengan Hukum Acara Pidana dan Hukum Acara Perdata, Bupati

Maka peranan notaris yang di maksudkan dalam akta kelahiran anak di luar kawin itu sendiri adalah suatu akta yang di buat oleh Notaris itu sendiri berupa Akta

nya legitimasi Presiden yang dipilih se- cara langsung oleh rakyat pemilih tidak berakibat langsung pada pelemahan po-. sisi/kedudukan

Menurut Jogiyanto (2005: 11), sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung

Bagaimana merancang media yang memberikan informasi dan solusi cara membersihkan alat indera pada manusia dengan benar sehingga dapat menyadarkan akan adanya

seberkas sinar-X di jatuhkan pada sampel kristal, maka bidang kristal itu akan membiaskan sinar-X yang memiliki panjang gelombang sama dengan jarak antar kisi

Berdasarkan pada hasil penelitian dan pembahasan yang dilakukan penulis mengenai Pengaruh Kepemimpinan, Motivasi Kerja dan Lingkungan Kerja Terhadap Kinerja Karyawan Pada

Bahwa berdasarkan catatan, Pemerintah pada tanggal 20 Nopember 2000 telah mengajukan kepada DPR RI Rancangan Undang Undang tentang perubahan atas Undang Undang