Archive for 2014
Gerakan1000Blogger Funtastic HIMAKA
SELAMAT ULANG TAHUN YANG KE - 15
BUAT JURUSAN TERCINTA
HIMAKA STTPLN JAKARTA
(HIMPUNAN MAHASISWA TEKNIK INFORMATIKA)
SEMOGA SEMAKIN SUKSES JAYA DAN TETAP SATU!!
SELAMAT MEMPERINGATI HARI AIDS SEDUNIA
1 DESEMBER 2014
JAUHI PENYAKITNYA BUKAN ORANGNYA!!
INDONESIA BERSIH TANPA AIDS!!
#GERAKAN1000BLOGGER #HIMAKASTTPLN
@funtastic2014
TUGAS KELOMPOK SQL
Pada tugas SQL ini kami akan membuat Database Penyewaan
Buku. Tabel yang kita butuhkan ada 5 tabel yaitu :
1.
Tabel_Penyewa
·
kode_penyewa
·
nama_penyewa
·
alamat
·
telp_penyewa
·
tanggal_lahir
2.
Tabel_Buku
·
kode_buku
·
judul_buku
·
penerbit
·
jenis_buku
3.
Tabel_Sewa
·
kode_penyewa
·
kode_buku
·
mulai_sewa
·
akhir_sewa
·
jumlah_buku
4.
Tabel_Petugas
·
kode_petugas
·
nama_petugas
5.
Tabel_Pembayaran
·
kode_pembayaran
·
kode_penyewa
·
kode_petugas
·
harga_sewa
·
bayar
·
kembali
Bahasa pemrograman yang akan kita pakai adalah PHP
dikoneksikan dengan ORACLE.
Progress koneksi:
1. Menghubungkan database ORACLE dengan PHP
2. Mengganti password administrator
3.Pengaturankoneksi ke PHP
4.Coding koneksi
5. Koneksi sukses
Struktur tabel :
Kumpulan materi Pemrograman SQL (Teknik Informatika STTPLN)
Pertemuan 1
Pembahasan : Kontrak Kuliah dan Pengenalan tentang Database
Download : Pertemuan 1 SQL
Pertemuan 2
Pembahasan : Pengenalan tentang SQL dan DDL (Data Definition Language)
Download : Pertemuan 2 SQL
Pertemuan 3 dan 4
Pembahasan : DML (Data Manipulation Language) dan DCL (Data Control Language)
Download : Pertemuan 3&4 SQL
Pertemuan 5
Pembahasan : Pengelompokan Data dan Pengurutan Data
Download : Pertemuan 5 SQL
Pertemuan 6
Pembahasan : Sub-Query dan View
Download : Pertemuan 6 SQL
Semoga materinya bermanfaat :)
Pembahasan : Kontrak Kuliah dan Pengenalan tentang Database
Download : Pertemuan 1 SQL
Pertemuan 2
Pembahasan : Pengenalan tentang SQL dan DDL (Data Definition Language)
Download : Pertemuan 2 SQL
Pertemuan 3 dan 4
Pembahasan : DML (Data Manipulation Language) dan DCL (Data Control Language)
Download : Pertemuan 3&4 SQL
Pertemuan 5
Pembahasan : Pengelompokan Data dan Pengurutan Data
Download : Pertemuan 5 SQL
Pertemuan 6
Pembahasan : Sub-Query dan View
Download : Pertemuan 6 SQL
Semoga materinya bermanfaat :)
Event Kampus
- Tanggal : 05 Desember 2014
- Lokasi : Kampus STT-PLN
- Kategori : CompetitionOthersSeminar & Talkshow
1. I-CARE ( 1 Desember 2014)
I-CARE berarti Informatika Peduli. Pada hari pertama ini yang bertepatan dengan hari HIV/AIDS sedunia, ada beberapa kegiatan yang akan dilaksanakan:
- Acara pembukaan dari rangkaian acara Lustrum ke III Teknik Informatika STT-PLN
- Bakti sosial dan penggalangan dana untuk penderita HIV/AIDS
- Gerakan 1000 blogger dengan tema HIV/AIDS
- Lomba design branding dengan tema HIV/AIDS
- Talk show oleh LSM dengan tema HIV/AIDS
- Penampilan Stand Up Comedy STT-PLN
I-PLAY merupakan penyelenggaraan turnamen PES 2013 dan DOTA 2. Acara ini dimulai pada hari kedua FUNTASTIC hingga Final pada hari keempat. Acara ini dilaksanakan di Kamus STT-PLN sekaligus pembukaan bazaar yang diadakan selama dua hari ( 2 – 3 Desember).
3. I-CLOUD ( 4 Desember 2014)
I-CLOUD merupakan tema dari Seminar Nasional yang dilaksanakan pada hari keempat FUNTASTIC. One day Seminar yang mengangkat tema tentang Cloud Preneurship. Dengan pembicara professional dari MICROSOFT dan VM-WARE yang akan membahas kebutuhan sistem Cloud yang semakin diminati dan kaitan penggunaannya pada seorang entrepreneur.
4. I-FUN ( 5 Desember 2014)
I-FUN adalah hari terakhir sekaligus pelaksanaan malam puncak dari serangkaian acara FUNTASTIC. Pada hari ke lima ini ada beberapa kegiatan yang akan dilaksanakan yaitu:
- Lomba angkatan Teknik Informatika
- Lomba mural/graffity dengan tema HIV/AIDS
- Penampilan band Teknik Informatika, band STT-PLN dan ban pengisis acara lainnya.
Wanna join us?
Wiwit: 085790755818
Nanda: 085243755519
Pendaftaran Lomba
Erman: 085785785860
#Pembukaan bazaar dibuka untuk umum
Support by : +Seputar Kampus
Fungsi View pada Pemrograman SQL
View adalah perintah query yang disimpan pada database dengan
suatu nama tertentu, sehingga bisa digunakan setiap saat untuk melihat
data tanpa menuliskan ulang query tersebut.
Kegunaan VIEW:
Keuntungan VIEW:
Contoh query :
View dengan alias :
Query diatas juga dapat ditulis seperti ini:
contoh :
Aturan dalam VIEW :
Kita tidak bisa menggunakan operasi DML melalui VIEW jika didalam VIEW tersebut terdapat :
contoh :
Syntax dasar perintah untuk membuat view adalah sebagai berikut :
CREATE
[OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement
[OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement
Kita menggunakan opsi OR REPLACE jika kita ingin mengganti view
dengan nama yang sama dengan perintah tersebut. Jika tidak maka perintah
CREATE VIEW akan menghasilkan error jika nama view yang ingin dibuat
sudah ada sebelumnya.
Anda dapat menambahkan fungsi sql, pernyataan WHERE dan JOIN kedalam view dan menyajikan data dalam AS jika data itu berasal dari satu table.
SYNTAKS PERINTAH MEMBUAT SQL VIEW
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
FROM table_name
WHERE condition
Kegunaan VIEW:
- Menyembunyikan Kolom atau Baris
- Fungsi built-in layer
- Menampilkan hasil dari penghitungan
- Menyediakan level isolasi antara data tabel dan View data pengguna
- Memberikan trigger berbeda pada view yang berbeda dari tabel yang sama
- Memberikan proses permission yang berbeda untuk view yang berbeda dari tabel yang sama
- Menyembunyikan Sintak SQL yang rumit
- Membatasi akses data
- Menyediakan data yang independen
- Menampilkan view yang berbeda-beda dengan data yang sama
- Memudahkan query yang kompleks
Contoh query :
CREATE VIEW view_empUntuk menampilkan view yang kita buat:
AS SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 80;
SELECT * FROM nama_viewQuery diatas akan membuat sebuah view yang bernama view_emp yang menampilkan data dari tabel employees yang bekerja pada department_id = 80.
View dengan alias :
CREATE VIEW view_emp2
AS SELECT employee_id ID_NUMBER, last_name NAME,
salary*12 ANN_SALARY
FROM employees
WHERE department_id = 50;
Query diatas juga dapat ditulis seperti ini:
CREATE VIEW view_emp2(ID_NUMBER, NAME, ANN_SALARY)
AS SELECT employee_id ID_NUMBER, last_name NAME,
salary*12 ANN_SALARY
FROM employees
WHERE department_id = 50;
Memodifikasi VIEW dengan CREATE OR REPLACE :
CREATE OR REPLACE VIEW view_emp2(ID_NUMBER, NAME, ANN_SALARY)Dengan menggunakan CREATE OR REPLACE, bila sudah ada view dengan nama yang sama dengan view yang akan kita buat, maka view terdahulu tersebut akan ditimpa dengan view yang baru.
AS SELECT employee_id ID_NUMBER, last_name NAME,
salary*12 ANN_SALARY
FROM employees
WHERE department_id = 50;
Membuat VIEW yang Kompleks
maksud dari view yang kompleks adalah kita menambahkan fungsi-fungsi lain dalam subquery seperti JOIN, GROUP FUNCTION, SET OPERATOR dll.contoh :
CREATE OR REPLACE VIEW dept_Sal(name, MinSal, MaxSal, avgSal)
AS
SELECT d.department_name, MIN(e.salary),
MAX(e.salary),AVG(e.salary)
FROM employees e JOIN departments d
ON (e.department_id = d.department_id)
GROUP BY d.department_name
Aturan dalam VIEW :
Kita tidak bisa menggunakan operasi DML melalui VIEW jika didalam VIEW tersebut terdapat :
- GROUP FUNCTION
- GROUP BY
- DISTINCT
- ROWNUM
- Kolomnya didefinisikan dengan ekspresi(salary + 2)
- NOT NULL kolom pada base table(tabel yang disebutkan setelah kata AS ) yang tidak dipilih oleh view
WITH CHECK OPTION
dengan klausa WITH CHECK OPTION, kita dapat membatasi perubahan yang diakibatkan oleh penggunaan operasi DML. sehinga jika adanya perubahan pada view, tidak mempengaruhi pada base tabelnyacontoh :
CREATE OR REPLACE VIEW view_emp2Dengan query diatas kita tidak dapat merubah department_id yang sudah ditentukan pada VIEW view_emp2 tetapi masih dapat melakukan perubahan terhadap data lain dan juga jika kita melakukan operasi DML pada VIEW view_emp2, data pada tabel EMPLOYEES tidak akan berubah
AS
SELECT *FROM employees
WHERE department_id = 20
WITH CHECK OPTION CONSTRAINT viewEmp2_ck ;
READ ONLY
Dengan READ ONLY kita tidak dapat melakukan operasi DML terhadap VIEW yang kita buat, sehingga view tersebut hanya dapat dilihat atau dibacaCREATE OR REPLACE VIEW view_emp2
AS
SELECT *FROM employees
WHERE department_id = 20
READ ONLY;
Menghapus VIEW
DROP VIEW nama_view
Sumber :
Tugas SQL Sub Query dan View
Dari tabel nilai yang telah pernah anda buat sebelumnya carilah nilai mahasiswa yang nilanya diatas rata-rata?
jawab :
SELECT nama,nilai
FROM mahasiswa, nilai
WHERE nilai > (SELECT avg (nilai) FROM nilai)
nama_barang varchar (25),
satuan varchar (20) ,
stok int,
constraint pk_kode_barang primary key (kode_barang)
);
INSERT INTO barang
VALUES ('ELK-01','Rice cooker','Buah',20);
INSERT INTO barang
VALUES ('ELK-02','Lemari es','unit',8);
INSERT INTO barang
VALUES ('ELK-03','televisi','unit',30);
INSERT INTO barang
VALUES ('ELK-04','Radio/Tape','Buah',35);
1. SELECT nama_barang, stok
FROM barang
WHERE stok < (SELECT avg (stok) FROM barang)
2. select pelanggan.kode_pelanggan, nama from pelanggan, pembelian
where pelanggan.kode_pelanggan = pembelian.kode_pelanggan
and kode_pembelian = (select kode_pembelian from pembelian where jum_pembelian = select max(jum_pembelian) from pembelian));
3. CREATE VIEW v_pelanggan as
SELECT nama, alamat, telepon
FROM pelanggan
WHERE kota ='jakarta'
SELECT * from v_pelanggan
4. CREATE VIEW V_PLGN_BELI as
SELECT kode_pelanggan, jum_pembelian, tgl_pembelian
FROM pembelian
SELECT * from V_PLGN_BELI
5. CREATE VIEW V_JUM_BELI as
SELECT nama_barang, nama, tgl_pembelian, jum_pembelian
FROM pembelian, pelanggan, barang
SELECT * from V_JUM_BELI
jawab :
SELECT nama,nilai
FROM mahasiswa, nilai
WHERE nilai > (SELECT avg (nilai) FROM nilai)
CREATE TABLE barang(
kode_barang char (6),nama_barang varchar (25),
satuan varchar (20) ,
stok int,
constraint pk_kode_barang primary key (kode_barang)
);
INSERT INTO barang
VALUES ('ELK-01','Rice cooker','Buah',20);
INSERT INTO barang
VALUES ('ELK-02','Lemari es','unit',8);
INSERT INTO barang
VALUES ('ELK-03','televisi','unit',30);
INSERT INTO barang
VALUES ('ELK-04','Radio/Tape','Buah',35);
CREATE TABLE pelanggan(
kode_pelanggan char (10),
nama varchar (30),
alamat varchar (30) ,
kota varchar (15),
telepon varchar (15),
constraint pk_kode_pelanggan primary key (kode_pelanggan)
);
INSERT INTO pelanggan
VALUES ('J-0001','Toko karisma','Jl Cimandiri 25','Depok', '(021)-367868');
INSERT INTO pelanggan
VALUES ('J-0002','Toko Ayu','Jl Cimone 35','tangerang', '(021)-467889');
INSERT INTO pelanggan
VALUES ('J-0003','Toko Warna','Jl DEF 30','jakarta', '(021)-234678');
INSERT INTO pelanggan
VALUES ('J-0004','Toko Surya','Jl abc 309','bandung', '(021)-356789');
SELECT * from pelanggan;
CREATE TABLE pembelian(
kode_pembelian char (10),
kode_barang char (10),
kode_pelanggan char (10),
tgl_pembelian date,
jum_pembelian int,
constraint pk_kode_pembelian primary key (kode_pembelian),
constraint fk_kode_barang foreign key (kode_barang)
references barang (kode_barang),
constraint fk_kode_pelanggan foreign key (kode_pelanggan)
references pelanggan(kode_pelanggan)
);
INSERT INTO pembelian
VALUES ('BEL-E001','ELK-01','J-0001','20 may 02',3);
INSERT INTO pembelian
VALUES ('BEL-E002','ELK-02','J-0001','21 may 02',4);
INSERT INTO pembelian
VALUES ('BEL-E003','ELK-01','J-0002','20 may 02',2);
INSERT INTO pembelian
VALUES ('BEL-E004','ELK-01','J-0001','20 may 02',2);
INSERT INTO pembelian
VALUES ('BEL-E005','ELK-03','J-0002','22 may 02',3);
INSERT INTO pembelian
VALUES ('BEL-E006','ELK-02','J-0001',24/05/02,1);
SELECT * from pembelian;
FROM barang
WHERE stok < (SELECT avg (stok) FROM barang)
2. select pelanggan.kode_pelanggan, nama from pelanggan, pembelian
where pelanggan.kode_pelanggan = pembelian.kode_pelanggan
and kode_pembelian = (select kode_pembelian from pembelian where jum_pembelian = select max(jum_pembelian) from pembelian));
3. CREATE VIEW v_pelanggan as
SELECT nama, alamat, telepon
FROM pelanggan
WHERE kota ='jakarta'
SELECT * from v_pelanggan
4. CREATE VIEW V_PLGN_BELI as
SELECT kode_pelanggan, jum_pembelian, tgl_pembelian
FROM pembelian
SELECT * from V_PLGN_BELI
5. CREATE VIEW V_JUM_BELI as
SELECT nama_barang, nama, tgl_pembelian, jum_pembelian
FROM pembelian, pelanggan, barang
SELECT * from V_JUM_BELI
PENGELOMPOKAN DAN PENGURUTAN DATA PADA PEMROGRAMAN SQL
AGREGAT FUNCTION
Fungsi agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan
mengembalikan nilai tunggal sebagai hasilnya. Standar ISO mendefinisikan lima jenis
fungsi agregat.
1. COUNT
Fungsi Count adalah suatu fungsi yang digunakan dalam bahasa SQl untuk
menghitung jumlah atau banyaknyabaris data atau record dari suatu table.
Misalnya kita ingin mengetahui berapa sebenarnya jumlah record yang sudah kita
buat maka, kita dapat menggunakan Fungsi Count ini.
Syntax penulisan dari
fungsi ini adalah :
SELECT COUNT(*)
FROM nama_table;
Hitung jumlah mahasiswa tabel
mahasiswa dengan nama kolom jum_mhs
SELECT COUNT(*) AS jum_mhs
FROM mahasiswa;
Hitung jumlah record untuk tahun
2003
SELECT COUNT(*) AS jum_mhs
FROM mahasiswa
WHERE tahun = 2012;
2. SUM
Fungsi Sum adalah suatu fungsi yang digunakan dalam bahasa SQL untuk
menghitung jumlah ataupun hasil penjumlahaan data angka dari suatu field
ataupun kolom. Misalnya kita ingin menghitung total dari banyaknya barang yang
masih tersedia tanpa ada perbedaan antara jenis barang maka, kita dapat
menggunakan Fungsi Sum ini. Karena ini merupakan
penjumlahan antara data angka, maka yang Fungsi ini hanya berlaku untuk
tipe data angka. Sehingga dalam penginputan valuesnya nanti tidak perlu
menggunakan tanda (‘ ‘) lagi.
Syntax penulisan dari fungsi ini adalah:
SELECT SUM(Nama_field_yang_ingin_ditotal)
FROM nama _table;
Hitung total
biaya sks
SELECT SUM(sks) AS biaya_sks
FROM mahasiswa;
Hitung total
harga untuk tahun 2012
SELECT SUM(sks) AS biaya_sks
FROM mahasiswa
WHERE tahun=2012;
3. AVG
Fungsi Avg adalah suatu Fungsi yang digunakan dalam bahasa SQL untuk
mengitung nilai rata- rata dari suatu kolom. Misalnya ada kumpulan dari
nilai mahasiswa seorang yang dibuat dalam database, tetapi kita ingin mencari
nilai rata-rata dari nilainya tersebut maka, kita dapat menggunakan
Fungsi Avg ini. Seperti halnya Fungsi Sum, Fungsi Avg juga hanya dapat
digunakan pada data angka.
Syntax penulisannya adalah:
SELECT AVG(Nama_field_yang_ingin_dirata_ratakan)
FROM nama_table;
Tampilkan biaya
sks rata-rata per-semester
SELECT AVG(sks) AS biaya_ratarata
FROM mahasiswa;
Tampilkan biaya rata-rata untuk tahun 2012
SELECT AVG(sks) AS biaya_ratarata
FROM mahasiswa
WHERE tahun=2012;
4. MIN
Fungsi Min adalah suatu Fungsi yang digunakan dalam bahasa SQL untuk
mencari nilai terkecil dari kumpulan data angka dalam suatu field.
Syntax penulisannya adalah:
SELECT MIN(nama_field)
FROM nama_table;
Tampilkan biaya
sks terendah
SELECT MIN(sks) AS biaya_terendah
FROM mahasiswa;
Tampilkan biaya
terendah dari angkatan 2012
SELECT MIN(sks) AS biaya_terendah
FROM mahasiswa
WHERE tahun=2012;
5. MAX
Fungsi Max adalah suatu Fungsi yang digunakan dalam bahasa SQL untuk
mencari nilai terbesar dari kumpulan data angka dalam suatu kolom atau
field. Saya rasa ini tak perlu diberi penjelasan lagi.
Syntax penulisannya adalah:
Select max(nama_field) from nama_table;
Tampilkan biaya
sks tertinggi
SELECT MAX(sks) AS biaya_terendah
FROM mahasiswa;
Tampilkan biaya
tertinggi dari angkatan 2012
SELECT MAX(sks) AS biaya_terendah
FROM mahasiswa
WHERE tahun=2012;
Pengurutan
Data (Order By)
Pencarian
data akan lebih mudah apabila data-data yang tersedia telah diurutkan
berdasarkan satu data tertentu, mislanya Anda akan mencari atau menampilkan
sekumpulan data customer. Tentunya akan lebih mudah bila Anda melakukan
pencarian berdasarkan urutan data tertentu misalnya diurutkan berdasarkan
urutan nama. Dengan begitu dalam pencarian nama cutomer akan lebih mudah.
Selain itu Group By juga membuat data yang tampil kelihatan lebih teratur. SQL
menyediakan sintak untuk keperluan ini. Artinya, data diurutkan berdasarkan
field tertentu.
Sintaknya
adalah sebagai berikut :
SELECT [DISTINCT] nama_field-1,…..,
nama_field-n,
Aggregate Function(nama_field)
FROM nama_table
[WHERE
kondisi]
GROUP BY nama_field-1,….., nama_field-n
ORDER BY nama_field
Kriteria
Data
Kriteria
data adalah data yang akan ditampilkan, yaitu data yang memenuhi kriteria yang
ditentukan (kriteria yang ada). Disini penulis membagi dalam dua kategori,
yaitu kriteria dengan having dan kriteria dengan where.
Kriteria
dengan Having
Having
adalah kriteria dengan menggunakan kata having. Kata having ini
bisa berupa having count(nama_field), having count (nama_field), atau having
yang diikuti dengan Aggregate Function. Namun intinya ingin menyeleksi
data berdasarkan kriteria tertentu, dimana kriteria ini biasanya berupa fungsi
Aggregate.
Sintaknya
adalah sebagai berikut :
SELECT [DISTINCT] nama_field-1,…..,
nama_field-n,
Aggregate Function(nama_field)
FROM nama_table
[WHERE
kondisi]
GROUP BY nama_field-1,….., nama_field-n
ORDER BY nama_field
Having Aggregate Function()
Begitulah
urutan penulisan sintak yang dimulai dari select sampai dengan having
Kriteria
dengan Where
Pada
kriteria dengan where pemilihan atau seleksi data dilakukan setelah kata where.
Setelah kata where bisa diikuti oleh comparison (=, <>, <, >, >=
atau <=), between, in, like / not like atau is null / is not null.
- Comparison (=, <>, <, >, >= atau <=) berfungsi untuk membandingkan dua nilai, tipe data yang dibandingkan harus sesuai.
- Between digunakan untuk membandingkan atau untuk mengecek apakah suatu nilai berada dalam range atau selang nilai tertentu.
- In digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu.
- Like/Not Like digunakan untuk membandingkan data dengan pola tertentu. Untuk membandingkan suatu karakter digunakan karakter underscore( _ ), sedangkan untuk membandingkan string digunakan karakter porsen ( % ).
Referensi
Buku :
Heryanto,
Imam., & Budi Raharjo. (2002). MEMAHAMI KONSEP SQL DAN PL/SQL DI ORACLE,
STUDI KASUS INVENTORI. Bandung : Informatika Bandung.
Materi kuliah, sedot disini :