• Tidak ada hasil yang ditemukan

Menampilkan data dengan nilai tertinggi

Dalam dokumen PENGANTAR SISTEM BASIS DATA (Halaman 72-0)

BAB XI. SELEKSI DATA

H. Menampilkan Data Sesuai dengan Fungsi

I. Menampilkan data dengan nilai tertinggi

Untuk mencari nilai tertinggi pada suatu data didalam database. SQL menyediakan fungsi MAX. Query yang digunakan seperti berikut :

J. Menampilkan data dengan nilai terendah dalam sebuah tabel (MIN)

Untuk mencari nilai terendah pada suatu data didalam database. SQL menyediakan fungsi MIN. Query yang digunakan seperti berikut :

SELECT * FROM nama_tabel WHERE

RIGHT(nama_kolom,jumlah_karakter)=”karakter”;

SELECT MAX(nama_kolom) FROM nama_tabel;

SELECT * FROM nama_tabel WHERE

MID(nama_kolom,posisi_n,jumlah_karakter)=”karakter”;

SELECT MIN(nama_kolom) FROM nama_tabel;

BAB XII SQL JOINS

JOIN merupakan sebuah fungsi dalam SQL yang berguna untuk menggabungkan lebih dari satu tabel dimana tabel - tabel tersebut memiliki keterkaitan dan relasi yang berhubungan. Primary Key merupakan sebuah kolom yang merepresentasikan sebuah kolom unik yang ada pada satu tabel agar suatu tabel mampu berelasi dengan tabel yang lain. Kegunaan penggabungan tabel sendiri adalah untuk menyatukan tabel - tabel yang berhubungan sehingga mereka mampu memberikan detil pada setiap field - field di dalamnya.

Ada beberapa tipe JOIN, diantaranya adalah:

A. INNER JOIN

Tipe join ini akan mengambil semua row dari tabel asal dan tabel tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan jika tidak maka row tersebut tidak akan muncul.

Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan.

B. LEFT JOIN

Left Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.

C. RIGHT JOIN

Right Join memiliki fungsi yang bertolak belakang dengan left join, dimana right join akan menampilkan data secara keseluruhan pada tabel kedua (kanan), namun NULL pada tabel pertama (kiri).

Contoh :

Tabel mahasiswa

Nim nama_mahasiswa Kode_prodi

B11011 Ahmad Latief B

B11012 Fatimah Khairunissa B

C11090 Muhammad Fahmi C

C11091 Aulia Rani Tabel program_studi

kode_prodi nama_prodi

A Mesin Otomotif

B Manajemen Informatika

C Komunikasi Massa

D Perhotelan

E Farmasi

1) INNER JOIN Query:

Output:

Nim nama_mahasiswa nama_prodi

B11011 Ahmad Latief Manajemen Informatika B11012 Fatimah Khairunissa Manajemen Informatika C11090 Muhammad fahmi Komunikasi Massa

SELECT mahasiswa.nim, mahasiswa.nama_mahasiswa,

program_studi.nama_prodi FROM mahasiswa INNER JOIN program_studi

ON mahasiswa.kode_prodi = program_studi.kode_prodi

2) LEFT JOIN Query:

Output:

Nim nama_mahasiswa nama_prodi

B11011 Ahmad Latief Manajemen Informatika

B11012 Fatimah Khairunissa Manajemen Informatika C11090 Muhammad fahmi Komunikasi Massa

C11091 Aulia Rani NULL

3) RIGHT JOIN Query:

Output:

Nim nama_mahasiswa nama_prodi

B11011 Ahmad Latief Manajemen Informatika B11012 Fatimah Khairunissa Manajemen Informatika C11090 Muhammad fahmi Komunikasi Massa

NULL NULL Perhotelan

NULL NULL Farmasi

SELECT mahasiswa.nim, mahasiswa.nama_mahasiswa,

program_studi.nama_prodi FROM mahasiswa RIGHT JOIN program_studi

ON mahasiswa.kode_prodi = program_studi.kode_prodi SELECT mahasiswa.nim, mahasiswa.nama_mahasiswa,

program_studi.nama_prodi FROM mahasiswa LEFT JOIN program_studi

ON mahasiswa.kode_prodi = program_studi.kode_prodi

BAB XII

REPLIKASI DATABASE MySQL

A. Replikasi Database

Replikasi database adalah seperangkat teknologi yang digunakan untuk menyalin dan mendistribusikan data dari satu database ke database yang lain. Selanjutnya, mensinkronisasikan antar database untuk menjaga konsistensi. Dengan replikasi, data dapat didistribusikan ke lokasi yang berbeda dan pengguna yang jauh melalui LAN, WAN, Dial-up Connection, wireless connections, dan internet.

B. Manfaat Replikasi

Menghindari kemungkinan tidak semua data ter-backup karena saat proses ter-backup data manual dilakukan bisa saja terjadi perubahan data oleh client

Apabila server master mengalami kerusakan, database bisa segera dialihkan ke server slave

Replikasi master-slave berlangsung secara realtime dimana setiap perubahan pada data server master akan otomatis merubah data pada server slave

Berikut adalah contoh replikasi pada MySQL:

Persiapan :

1. 2 buah komputer yang masing-masing telah diinstall database MySQL, pada masing-masing komputer telah terdapat database dengan struktur tabel yang sama.

2. Kabel UTP Cross

Keterangan :

MASTER  database yang memiliki posisi utama SLAVE  database yang memiliki posisi kedua

 Komputer Master dengan IP address 192.168.1.1

 Komputer Slave dengan IP address 192.168.1.2 Tes koneksi antar 2 komputer dengan melakukan Ping IP Address, bila kedua komputer sudah terkoneksi maka lanjutkan langkah berikutnya:

1. Konfigurasi Komputer Master (Langkah 1)

a. Buka file my.ini, yang terdapat pada

“C:\xampp\mysql\bin”. Ketikkan beberapa teks berikut dibawah tanda [mysqld], tepat dibawah port 3306

server-id = 1

replicate-same-server-id = 0 auto-increment-increment = 2 auto-increment-offset = 1 master-host = 192.168.1.2 master-user = root

master-password = passworddatabaseslave master-connect-retry = 60

replicate-do-db =akademik PC MASTER

IP. 192.168.1.1

PC SLAVE IP. 192.168.1.2

log-bin =mysql-bin binlog-do-db = akademik Keterangan :

 192.168.1.2  IP address Komputer Slave

 master-user  username Komputer Slave yang akan mendapatkan hak untuk replikasi pada Komputer Master

 master-password  password komputer Slave

 replicate-do-db  nama database yang akan direplikasi

 binlog-do-db  nama database yang akan direplikasi

b. Restart MySQL

c. Masuk CMD kemudian ketikkan mysql -u root -p d. Berikan hak akses pada Komputer Slave dengan

mengetikkan grant replication slave on *.*

to root@192.168.1.2 identified by

‘passworddatabaseslave’;

e. Kemudian Ketikkan perintah flush privileges;

use akademik;

flush tables with read lock;

show master status;

>> nama File (mysql-bin.0000xx) dan Posisiton (xx), akan digunakan untuk konfigurasi selanjutnya f. Selanjutnya, jalankan perintah berikut :

unlock tables;

2. Konfigurasi Komputer Slave (Langkah 1)

a. Buka file my.ini, yang terdapat pada

“C:\xampp\mysql\bin”. Ketikkan beberapa teks berikut di bawah tanda [mysqld]

server-id = 2

 master-host  IP address Komputer Master

 master-user  username Komputer Master yang akan mendapatkan hak untuk replikasi pada Komputer Slave d. Berikan hak akses pada Server 1 dengan

mengetikkan grant replication slave on *.*

to root@192.168.1.1 identified by

‘passworddatabasemaster’;

e. Kemudian Ketikkan perintah:

flush privileges;

use akademik;

flush tables with read lock;

show master status;

>> nama File (mysql-bin.0000xx) dan Posisiton (xx), akan digunakan untuk konfigurasi selanjutnya f. Langkah terakhir, jalankan perintah berikut :

unlock tables;

3. Konfigurasi Komputer Master (Langkah 2)

a. Masuk ke command prompt dan login ke MySQL dengan mengetikkan perintah :

mysql –u root –p b. Jalankan perintah :

stop slave;

c. Selanjutnya jalankan perintah : CHANGE MASTER TO

 MASTER_HOST  IP address komputer slave

 MASTER_USER  username database komputer slave

 MASTER_PASSWORD  password komputer slave

 MASTER_LOG_FILE  Nama Log File

 MASTER_LOG_POS  log position d. Kemudian, jalankan perintah :

start slave;

show slave status\G;

 Pastikan bahwa “Slave_IO_RUNNING” dan

“Slave_SQL_Running” mempunyai nilai “Yes”.

Bila salah satu ada yang bernilai “No”, maka replikasi belum berhasil.

 Untuk melihat kesalahan jika terdapat nilai “No”

pada “Slave_IO_RUNNING” atau

“Slave_SQL_Running” maka bisa bisa dilihat pada “C:\xampp\mysql\data\mysql.err”

4. Konfigurasi Komputer Slave (Langkah 2)

a. Masuk ke command prompt dan login ke MySQL dengan mengetikkan perintah :

mysql –u root –p Jalankan perintah : stop slave;

b. Selanjutnya jalankan perintah : CHANGE MASTER TO

 MASTER_PASSWORD  password komputer master

 MASTER_LOG_FILE  Nama Log File

 MASTER_LOG_POS  log position

c. Kemudian, jalankan perintah : start slave;

show slave status\G;

 Pastikan bahwa “Slave_IO_RUNNING” dan

“Slave_SQL_Running” mempunyai nilai “Yes”.

Bila salah satu ada yang bernilai “No”, maka replikasi belum berhasil.

 Untuk melihat kesalahan jika terdapat nilai “No”

pada “Slave_IO_RUNNING” atau

“Slave_SQL_Running” maka bisa bisa dilihat pada “C:\xampp\mysql\data\mysql.err”

Setelah semua proses selesai, selanjutnya lakukan manipulasi data pada sebuah tabel yang telah dibuat. Jika komputer master melakukan manipulasi atau perubahan pada tabel, maka komputer slave yang terhubung juga akan mengalami perubahan pada tabel database.

DAFTAR PUSTAKA

Arbie, 2004. Manajemen Database dengan MySQL.

Yogyakarta : Andi

Binanto, Iwan. 2005. Konsep Dasar Program. Jakarta: PT.

Elex Media Komputindo.

Jogiyanto, Hartono. 2005. Analisis dan Desain Sistem Informasi, Edisi III. Yogyakarta: Andi.

Kadir, Abdul. 2009. Dasar Perancangan dan Implementasi Database Relasional, Edisi I. Yogyakarta: Andi.

Kusrini. 2007. Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta: Amikom.

Pamungkas, Canggih Ajika, Edy Susanto. 2017.

Implementasi Distributed Database Sebagai Disanter Recovery Center. Jurnal Informa. 3 (2) : 1-9.

TENTANG PENULIS

Canggih Ajika Pamungkas, M.Kom.

Penulis Lahir di Kabupaten Wonogiri 28 Februari 1989. Pendidikan formal penulis adalah S1 pada Program Studi Teknik Informatika, Fakultas Sains dan Teknologi, Universitas Islam Negeri Sunan Kalijaga Yogyakarta dan S2 pada Program Magister Teknik Informatika STMIK Amikom

Yogyakarta. Pada saat menyusun buku Pengantar Sistem Basis Data ini penulis tercatat sebagai dosen pada Program Studi Manajemen Informatika, Politeknik Indonusa Surakarta sekaligus sebagai Ketua Program Studi Sistem Informasi dengan Nomor Induk Dosen Nasional (NIDN) 0628028902.

Bidang ilmu yang ditekuni penulis yaitu pemrograman, basis data, jaringan komputer dan perangkat mobile.

Dalam dokumen PENGANTAR SISTEM BASIS DATA (Halaman 72-0)