Berikut ini jawaban UTS semester ganjil 2013/2014 IST Akprind Yogyakarta.
Mohon maaf jika ada kekurangan, jika lebih mohon dikembaikan hehehe
Download disini
Mohon maaf jika ada kekurangan, jika lebih mohon dikembaikan hehehe
Download disini
Android Operating System.
Create your own database with MySQL.
A tool written in PHP intended to handle the administration of MySQL over the WWW.
The Write Less, Do More, JavaScript Library.
Java Programming Language.
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:
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)
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);
});
}
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);
});
}
function tandai(lokasi){
$("#koorX").val(lokasi.lat());
$("#koorY").val(lokasi.lng());
tanda = new google.maps.Marker({
position: lokasi,
map: peta
});
}
mysql> create table t_pegawai(id_mhs varchar(12) primary key, nama_peg varchar(50), alamat_peg varchar(50));Table dengan nilai UNIQUE
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
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
mysql> create table t_parkir_copy as select*from t_parkir;Membuat TEMPORARY TABLE
mysql> create temporary table t_temporary(id int(8));Tabel dengan FOREIGN KEY
tabel induk : t_mobil dengan field(id_mobil, type)Kita buat dulu tabel induknya :
tabel anak : t_stok dengan field(id_stok, id_mobil, stok)
mysql> create table t_mobil(id_mobil varchar(8) primary key, type varchar(20));Buat tabel anak :
mysql> desc t_mobil;
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
mysql> alter table t_mobil add harga bigint(11);Modifikasi Nama Tabel
mysql> alter table t_mobil rename to t_car;Modifikasi Definisi Tabel
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
mysql> alter table t_car drop harga_mobil;Menghapus & Menambah Primary Key
Hapus primary key: mysql> alter table t_pegawai drop primary key;Menghapus Semua Data dalam Tabel
Tambah primary key: mysql> alter table t_pegawai add primary key (id_peg);
mysql> truncate table t_parkir_copy;Mengubah data menggunakan UPDATE
mysql> update t_user set merk_kend='NISSAN' where no_plat='B-3454-SDE';Mengganti data dari tabel
mysql> replace into t_parkir( id_parkir, plat_no , merk) values ('11104','BH-36-B','ISUZU');Menghapus data dari tabel
mysql> delete from t_parkir where id_parkir='11105';
mysql> select * from pegawai;Query menggunakan parameter kondisi WHERE
SELECT * FROM <nama_table> WHERE <kondisi>CONTOH :
mysql> select * from pegawai where jabatan='Staff Junior';
mysql> select nama_peg from pegawai where jabatan like 'M______';Pada perintah diatas menunjukkan bahwa data yang diminta adalah data yang memuat Jabatan berawalan M dan berjumlah 7 huruf.
mysql> select nama_peg from pegawai where jabatan like 'M%';
mysql> select nama_peg from pegawai where alamat_peg like '%A';Perintah di atas menunjukkan data yang diminta adalah data nama pegawai yang alamatnya berakhiran huruf ‘A’
mysql> select * from pegawai LIMIT 5;Mengelompokkan hasil query menggunakan GROUP BY
mysql> select * from pegawai GROUP BY gaji;Mendapatkan jumlah anggota setiap kelompok menggunakan COUNT
mysql> select gaji, count(*) FROM pegawai GROUP BY gaji;Parameter kondisional dengan HAVING
mysql> select * from pegawai HAVING gaji > 6000000;Mengurutkan hasil query menggunakan ORDER BY
mysql> select * from pegawai ORDER BY nama_peg;Cross JoinOperasi tabel yang pertama adalah cross join atau disebut juga sebagai Cartesian join. Pada cross join, semua data dalam tabel yang pertama dipasangkan dengan semua data pada tabel yang kedua. Berikut adalah contohnya
mysql> select * from pegawai_join, jabatan;Equi-Join atau Inner Join
mysql> SELECT * FROM pegawai, jabatan WHERE pegawai.jabatan = jabatan. nama_jabatan;Natural Join
mysql> select * from pegawai_join NATUR AL JOIN jabatan;Left Join dan Right Join
mysql> select * from jabatan t1 LEFT JOIN pegawai_join t2 ON t1.id_jabatan = t2. id_jabatan;
mysql> select * from pegawai_join t1 RIGHT JOIN jabatan t2 ON t1.id_jabatan = t2.id_jabatan;
CREATE TRIGGER <trigger_name> <trigger_time> <trigger_event> ON <table> FOR EACH ROW <trigger_body statements>
mysql> DELIMITER (spasi)#
mysql> CREATE TRIGGER sebelum_insert BEFORE INSERT ON pegawai FOR EACH ROW
BEGIN
IF NEW.gaji IS NULL OR NEW.gaji = 0
THEN
SET NEW.gaji = 500000;
ELSE
SET NEW.gaji = NEW.gaji + 100000;
END IF;
END #
Query OK, 0 rows affected (0.23 sec)
Mysql> DELIMITER(spasi);
Mysql> DELIMITER #
mysql> CREATE TRIGGER before_update BEFORE UPDATE ON pegawai FOR EACH ROW BEGIN
UPDATE pegawai SET gaji=gaji+(NEW.gaji - OLD.gaji) WHERE nip=NEW.nip;
END #
Query OK, 0 rows affected (0.03 sec)
mysql> DELIMITER ;
mysql> UPDATE pegawai SET gaji = 2000000 WHERE nip="PEG-1017";
ERROR 1442 (HY000): Can't update table 'pegawai' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
mysql> create table pencatat(catatan varchar(50));
Query OK, 0 rows affected (0.48 sec)
mysql> delimiter #
mysql> CREATE TRIGGER trigger_cat AFTER UPDATE ON pegawai FOR EACH ROW
BEGIN
INSERT INTO pencatat
VALUES(concat('akun ',NEW.nip,' dari ',OLD.gaji, ' to ',NEW.gaji));
END
#
Query OK, 0 rows affected (0.17 sec)
mysql> delimiter ;
mysql> show triggers in lab4;
mysql> drop trigger before_update;
CREATE DATABASE(spasi)NAMA_DATABASE;Contoh : mysql> create : database t_mhs;Query OK, 1 row affected (0.09 sec)
Memakai database yang sudah kita buat sebelumnyaSHOW DATABASES;
Membuat table baruUSE(spasi)NAMA_DATABASE;Contoh : mysql> use t_mhs;Database changed
Melihat hasil table yang sudah kita buat sebelumnyaCREATE TABLE NAMA_TABEL(Nama_Kolom1(spasi)tipe_data(ukuran),Nama_Kolom2(spasi)tipe_data(ukuran),Nama_Kolom3(spasi)tipe_data(ukuran),Nama_Kolom4(spasi)tipe_data(ukuran));Contoh : mysql> create table t_mhs(nim varchar(10), nama_mhs varchar(50), alamat varchar(50), no_telp varchar(12));Query OK, 0 rows affected (0.16 sec)
Menginputkan data ke dalam tabel menggunakan perintah INSERTDESC(spasi)NAMA_TABEL;
mysql >INSERT(spasi)INTO(spasi)NAMA_TABEL(spasi)VALUES(’DATA_KOLOM1’, ’DATA_KOLOM2’, ’DATA_KOLOM3’, ’DATA_KOLOM4’);
Contoh: mysql> insert into t_mhs values( '111051357', 'adi', 'Sleman','085785367478');Menginputkan data ke dalam tabel menggunakan LOAD DATA
Query OK, 1 row affected (0.05 sec)
mysql> insert into t_mhs values( '111077857', 'benny', 'Semarang','085738907478');
Query OK, 2 row affected (0.05 sec)
mysql> insert into t_mhs values( '111078357', 'dewi', 'surabaya','085785367478');
Query OK, 3 row affected (0.05 sec)
mysql> insert into t_mhs values( '111090357', 'aries', 'bali','085785367478');
Query OK, 4 row affected (0.05 sec)
mysql> insert into t_mhs values( '111023357', 'hendra', 'jogja','085785367478');
Query OK, 5 row affected (0.05 sec)
LOAD(spasi)DATA(spasi)LOCAL(spasi)INFILE(spasi) ’LOKASI-FILE’(spasi) INTO(spasi)TABLE(spasi) NAMA_TABEL
Menghapus tableContoh : mysql> load data local infile 'D://km1/data.txt' into table t_mhs;Query OK, 5 rows affected (0.03 sec)Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
mysql> create table mat_kul(id_matkul varchar(10), nama_matkul varchar(50), sks int(1), semester int(1), dosen varchar(10));
Lihat tabel yang adaQuery OK, 0 rows affected (0.02 sec)mysql> desc mat_kul;
Hapus TABELmysql> show tables;
Buat database baruDROP(spasi)TABLE(spasi)NAMA_TABELmysql> drop table mat_kul;Query OK, 0 rows affected (0.02 sec)
Lihat database yang adamysql> create database coba;
Hapus databasemysql> show databases;
mysql> drop database coba;