Android

Android Operating System.

Database Management System

Create your own database with MySQL.

PHPMyAdmin

A tool written in PHP intended to handle the administration of MySQL over the WWW.

JQuery

The Write Less, Do More, JavaScript Library.

Java

Java Programming Language.

Jawaban UTS SMBD Semester Ganjil 2013/2014

Berikut ini jawaban UTS semester ganjil 2013/2014 IST Akprind Yogyakarta.
Mohon maaf jika ada kekurangan, jika lebih mohon dikembaikan hehehe

Download disini

Membuat Trigger di PostgreSQL

Kali ini saya akan menjelaskan cara membuat trigger di PostgreSQL. Pada kasus ini kita memiliki dua tabel yaitu tabel penjualan, dan tabel penjualan_item. Pertama kita buat dulu tabel-tabelnya:
CREATE TABLE penjualan(id_penjualan serial PRIMARY KEY, no_penjualan char(5), tgl_penjualan date, kd_customer char(5), total_penjualan int);
CREATE TABLE item(id_item serial PRIMARY KEY, id_penjualan char(5) references penjualann, kd_item char(5), quantity int, harga int);
Pada kasus ini kita akan membuat suatu trigger untuk  meng"update" nilai dari field total_penjualan pada table penjualan jika ada perubahan data pada tabel item, maka field total_penjualan akan ter"update" otomatis, dimana nilai total penjualan adalah perkalian dari  harga dengan quantity.

CREATE OR REPLACE FUNCTION tr_penjualan_item()
RETURNS trigger AS 
$$ 
BEGIN  
IF TG_OP = 'INSERT' THEN 
update penjualan set total_penjualan = total_penjualan + (NEW.quantity * NEW.harga) where id_penjualan = NEW.id_penjualan;
RETURN NEW;  
END IF;  
IF TG_OP = 'UPDATE' THEN 
update penjualan set total_penjualan = total_penjualan - (OLD.quantity * OLD.harga) where id_penjualan = OLD.id_penjualan;  
update penjualan set total_penjualan = total_penjualan + (NEW.quantity * NEW.harga) where id_penjualan = OLD.id_penjualan;
RETURN NEW;  
END IF;  
IF TG_OP = 'DELETE' THEN 
update penjualan set total_penjualan = total_penjualan - (OLD.quantity * OLD.harga) where id_penjualan = OLD.id_penjualan;  
RETURN OLD;  
END IF; 
END; 
$$ 
language plpgsql ;
CREATE TRIGGER tr_sales_item AFTER INSERT OR UPDATE OR DELETE ON item FOR EACH ROW EXECUTE PROCEDURE tr_penjualan_item();
Berikut hasil dari trigger diatas:
Pertama kita insert data ke tabel-tabel tersebut:
INSERT INTO penjualan (no_penjualan, tgl_penjualan, kd_customer, total_penjualan) values ('P0001','2014-01-01',0)
INSERT INTO penjualan_item (id_penjualan, kd_item, quantity, harga) values (1,'I001',2,10000)

Setelah terjadi perubahan pada tabel penjualan_item, maka trigger tr_sales_item akan secara otomatis berjalan dan mengeksekusi function tr_penjualan_item(), karena nilai awal dari total penjualan adala 0, maka nilai total_penjualan setelah terjadi perubahan pada table penjualan_item adalah 0 + (10000*2) = 20000.


Baiklah sekian tentang Trigger di PostgreSQL, Terima Kasih...

Membuat Replikasi Database Pada MySQL

Setelah melewati hari-hari yang melelahkan, akhirnya berhasil juga membuat replikasi MySQL. Sebelummya kita akan mengenal sekilas tentang replikasi terlebih dahulu. Replikasi adalah sebuah teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin.
 
Langkah-langkah replikasi:
 
1. Pastikan antara komputer Master dengan Komputer Slave telah terhubung jaringan.
Tes koneksi antara dua komputer tersebut dengan melakukan ping pada command prompt pada kedua komputer.

Pada Master :


 


Pada Slave :


 

2. Buatlah Database dengan struktur dan isi table yang sama, (pada komputer Master maupun pada komputer Slave).



 
3. Lakukan konfigurasi pada komputer Server 1 (Master) terlebih dahulu.
Ketik di command prompt:
mysql>  GRANT REPLICATION SLAVE ON *.* TO  ‘<nama user>’@’<IP slave>’ IDENTIFIED BY ‘<password user>’;
mysql>  FLUSH PRIVILEGES;
4. Masukkan ke directory C:/xampp/mysql/bin/my.cnf



Edit dengan notepad, cari [mysqld] tambahkan code di bawah ini:
server-id = 1
log-bin = C:\xampp\mysql\mysql-bin.log
binlog-do-db = varios_db



Jika sudah selesai simpan file konfigurasi MySQL. Lalu restart service MySQL.
5. Pada command prompt ketik :

mysql> RESET MASTER;
 
 
mysql> SHOW MASTER STATUS;
 
 

6. Selanjutnya, lakukan konfigurasi pada komputer Server 2 (Slave).
Masuklah ke directory C:/xampp/mysql/bin/my.cnf



Edit dengan notepad, cari [mysqld] tambahkan code di bawah ini:
server-id = 2
master-host = 192.168.10.26
master-user = slave
master-password = slave
master-connect-retry = 60
replicate-do-db = varios_db




jika sudah selesai simpan, lalu restart service MySQL.


7. Lakukan aktivasi replikasi, dengan masuk ke terminal Slave. Ketikkan kode berikut ini:
mysql> SLAVE STOP;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.10.26',MASTER_USER='slave', MASTER_PASSWORD='slave', MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=106;

mysql> START SLAVE;

mysql> SHOW SLAVE STATUS\G







Jika status menunjukan seperti gambar di atas artinya  aktivasi replikasi di slave berhasil dan berjalan dengan baik.
Untuk mencoba replikasi, lakukan perubahan data di salah satu tabel pada database yang ada di MASTER. Lalu Refresh database di SLAVE, maka data yang ada di tabel SLAVE juga otomatis akan berubah sama dengan yang di MASTER.

Membuat Aplikasi Peta GIS dengan Google Maps API

Nah, kali ini saya akan membagikan sebuah aplikasi peta GIS Sederhana dengan memanfaatkan Google Map API. Tepatnya tadi siang, ketika mengerjakan sebuah project agency travel dimana si klien minta dimasukkan layanan peta google. Tidak terlalu sulit memang untuk memasukkan layanan peta google ke halaman web, tinggal daftarkan nama web kita, dan kita akan mendapatkan API key dari google. Jika bermain-main dengan peta google ini, saya jadi ingat dengan layanan peta google yang hadir lebih dulu, yaitu Google Earth. Dengan aplikasi ini, kita bisa melihat peta secara 3 dimensi dan enaknya lagi kita bisa menandai beberapa tempat strategis dengan fungsi mark yang terdapat di aplikasi tersebut. “Kelemahannya apa?”. Yaw aplikasi ini harus diinstalkan di komputer kita masing-masing dan lumayan boros resources. Sehingga kurang cocok untuk perangkat mobile/bergerak yang lagi booming akhir-akhir ini. Maka dari itu saya punya ide untuk membuat aplikasi peta sederhana yang bisa diakses via browser, dan ada fitur untuk menandai tempat-tempat strategis dimana koordinat tempat-tempat tersebut kita simpan ke dalam database.

Saya menggunakan bantuan jQuery untuk menyimpan dan menghapus koordinat yang terdapat di dalam database via AJAX. Logikanya cukup mudah, pertama-tama tampilkan peta dengan fungsi berikut
function loadDataLokasiTersimpan(){
('#kordinattersimpan').load('tampilkan_lokasi_tersimpan.php');
}
setInterval (loadDataLokasiTersimpan, 3000);
   
function peta_awal(){
loadDataLokasiTersimpan();
var settingpeta = {
zoom: 10,
center: koorAwal,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
peta = new google.maps.Map(document.getElementById("kanvaspeta"),settingpeta);
google.maps.event.addListener(peta,'click',function(event){
tandai(event.latLng);
});
}
Jika ingin menampilkan koordinat peta yang tersimpan di dalam database, bisa menggunakan fungsi di bawah ini :
function carikordinat(lokasi){
var settingpeta = {
zoom: 10,
center: lokasi,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
peta = new google.maps.Map(document.getElementById("kanvaspeta"),settingpeta);
tanda = new google.maps.Marker({
position: lokasi,
map: peta
});
google.maps.event.addListener(tanda, 'click', function() {
infowindow.open(peta,tanda);
});
google.maps.event.addListener(peta,'click',function(event){
tandai(event.latLng);
});
}
Dan yang terakhir, kita akan membuat sebuah penanda/marker tempat-tempat yang menurut kita strategis. Untuk menandai, kita bisa menggunakan fungsi di bawah ini :
function tandai(lokasi){
$("#koorX").val(lokasi.lat());
$("#koorY").val(lokasi.lng());
tanda = new google.maps.Marker({
position: lokasi,
map: peta
});
}
Nah, sekian dulu postingan saya ini. Kalau ada pertanyaan, silahkan komentar di bawah postingan ini. Semoga bisa bermanfaat untuk rekan-rekan yang kebetulan sedang belajar Google Map API.

Happy Blogging and Keep Coding

Download disini

Rangkuman Praktikum SMBD Part II

Tabel dengan PRIMARY KEY
Untuk menjadikan filed kunci agar tidak terjadi duplikasi data
mysql> create table t_pegawai(id_mhs varchar(12) primary key, nama_peg varchar(50), alamat_peg varchar(50));
Table dengan nilai UNIQUE
Memberikan batasan bahwa nilai dalam sebuah kolom  harus distinct (atau tidak ada  data yang nilainya  sama)
mysql> create table t_parkir(id_parkir varchar(5) primary key, plat_no varchar(12), merk varchar(10), UNIQUE(plat_no));
Parameter IF NOT EXISTS
Untuk  mengecek apakah sebuah tabel dengan nama yang  sama sudah ada  atau belum sebelum membuat tabel
mysql> create table IF NOT EXISTS t_pegawai(id_peg varchar(8) primary key, nama_peg varchar(50), alamat_peg varchar(50));
Menyalin tabel dengan statement SELECT
Kita juga bisa membuat tabel baru dengan mengkopy isi dari tabel yang sudah ada, caranya
Pastikan kita sudah punya tabel yang sudah ada isinya.
mysql> create table t_parkir_copy as select*from t_parkir;
Membuat TEMPORARY TABLE
Temporary table adalah pembuatan table secara temporary atau sementara, jadi tabel tersebut akan ada sewaktu kita buat hingga kita mematikan SQL kita.
Sebagai contoh kita akan membuat tabel t_temporary
mysql> create temporary table t_temporary(id int(8));
Tabel dengan FOREIGN KEY
Satu atau beberapa kolom pada table yang merupakan primary key pada table satu namun diletakan pada table dimana tablenya berelasi dengan table dirinya
Misal kita punya  dua tabel yang saling berkaitan contoh :
tabel induk        : t_mobil dengan field(id_mobil, type)
tabel anak          : t_stok dengan field(id_stok, id_mobil, stok)
Kita buat dulu tabel induknya :
mysql> create table t_mobil(id_mobil varchar(8) primary key, type varchar(20));
mysql> desc t_mobil;
Buat tabel anak :
mysql> create table t_stok(id_stok varchar(8) primary key, id_mobil varchar(8), stok int(5), foreign key(id_mobil) references t_mobil(id_mobil));
Menambah Kolom pada Tabel
Dalam menambah kolom dalam tabel kita bisa menggunakan perintah alter table, contohnya kita akan menambahkan kolom pada tabel t_mobil :
mysql> alter table t_mobil add harga bigint(11);
Modifikasi Nama Tabel
Dalam memodifikasi definisi tabel contohnya jika kita ingin mengganti definisi dari t_mobil maka caranya :
mysql> alter table t_mobil rename to t_car;
Modifikasi Definisi Tabel
Dalam memodifikasi definisi tabel contohnya jika kita ingin mengganti definisi dari t_car maka caranya :
mysql> alter table t_car modify type varchar(15), modify series varchar(10);
Mengganti Nama KolomDalam memodifikasi nama kolom contohnya jika kita ingin mengganti nama kolom dari t_car maka caranya :
mysql> alter table t_car change harga harga_mobil bigint(11);
Menghapus Kolom
Cara untuk menghapus kolom dengan perintah ALTER TABLE adalah sbb, misal kita akan menghapus salah satu kolom di t_car, maka caranya :
mysql> alter table t_car drop harga_mobil;
Menghapus & Menambah Primary Key
Cara untuk menghapus & menambah primary key dengan perintah ALTER TABLE adalah sbb, misal kita akan menghapus & menambah primary key di suatu table, maka caranya :

Hapus primary key: mysql> alter table t_pegawai drop primary key;

Tambah primary key: mysql> alter table t_pegawai add primary key (id_peg);
Menghapus Semua Data dalam Tabel
Untuk menghapus seluruh isi dalam tabel menggunakan perintah TRUNCATE
Misal kita akan menghapus seluruh table dari tabel t_parkir_copy maka sytxnya sbb       
mysql> truncate table t_parkir_copy;
Mengubah data menggunakan UPDATE
Mengubah data dalam suatu tabel bisa dilakukan juga tanpa menggunakan perintah ALTER TABLE yaitu menggunakan perintah UPDATE, contohnya
mysql> update t_user set merk_kend='NISSAN' where no_plat='B-3454-SDE';
Mengganti data dari tabel
Kali ini cara mengganti data tabel tapi menggunakan perintah REPLACE, yang membedakan perintah ini dengan yang lain adalah, jika REPLACE digunakan pada tabel yang memiliki PRIMARY KEY atau nilai UNIQUE
mysql> replace into t_parkir( id_parkir, plat_no , merk) values ('11104','BH-36-B','ISUZU');
Menghapus data dari tabel
Menghapus data dalam basisdata bisa menggunakan perintah DELETE,
mysql> delete from t_parkir where id_parkir='11105';