basisdata mod sdf4

Upload: julius-sihotang

Post on 08-Jan-2016

258 views

Category:

Documents


7 download

DESCRIPTION

daskjfsd

TRANSCRIPT

LAPORAN HASIL PRAKTIKUMBASIS DATA

NAMA: JULIUS SIHOTANGNIM: DBC 113 174MODUL: IV (FUNGSI DAN OPERATOR)KELAS: J

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PALANGKA RAYA2015BAB ITUJUAN DAN LANDASAN TEORITujuanSetelah praktikum ini mahasiswa dapat mempergunakan operator aritmatika, fungsi string, dan fungsi date & time.Landasan TeoriSQL Server mendukung operator yang menampilkan operasi aritmatika seperti, penjumlahan, pengurangan, pembagian, perkalian, dan modulus pada kolom dengan jenis data numerik. Jenis data numeric adalah INT, Smallint, Decimal, Numeric, Float, Real, Money, SmallMoney.Operator yang didukung oleh SQL Server adalah : + untuk penjumlahan - untuk pengurangan / untuk pembagian * untuk perkalian % untuk modulus Operator perkalian dan pembagian memiliki prioritas di atas penjumlahan dan pengurangan Operator dengan prioritas yang sama di evaluasi dari kiri ke kananTanda kurung dapat digunakan untuk memaksa prioritas evaluasi dan memperjelas perintahfungsi dalam perintah SQL digunakan untuk menghasilkan sebuah nilai atau output. Fungsi dapat digunakan untuk hal-hal berikut : Membentuk kalkulasi pada data Memodifikasi item data secara individual Manipulasi output dari sekumpulan baris Format tanggal dan bilangan untuk keperluan tampilan Mengkonversi tipe data kolom

Fungsi Aritmatikaa) SQRTBerfungsi untuk mencari akar dari niai tertentu.Contoh :SELECT SQRT (100)

b) CEILINGBerfungsi untuk pembulatan ke atas dari angka decimal.Contoh :SELECT CEILING (25.25)Keterangan : Akan menghasilkan nilai 26

c) FLOORBerfungsi untuk pembulatan ke bawah dari angka decimal.Contoh :SELECT FLOOR (25.25)Keterangan : Akan menghasilkan nilai 25

Fungsi KarakterFungsi karakter terbagi menjadi : Fungsi konversi, yaitu LOWER, UPPERa) Lower berfungsi untuk mengubah huruf besar ke huruf kecil. Contoh :SELECT LOWER (Nama) FROM Mahasiswab) Upper berfungsi untuk mengubah huruf kecil ke huruf besar. Contoh :SELECT UPPER (Nama) FROM Mahasiswa Fungsi manipulasi : CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, TRIM, REPLACE.Manipulasi fungsiFungsiHasil

CONCAT (Good,String)GoodString

SUBSTR(String,1,3)

Str

LENGTH(String)

6

INSTR(String,r)

3

LPAD(sal,10,*)

*****5000

LPAD(sal,10,*)5000*****

a) ConcatBerfungsi untuk menggabungkan suatu data.Misal,concat(Julius,Sihotang) maka hasilnya adalahJuliusSihotang.

b) SUBSTRINGBerfuungsi untuk mengambil beberapa karakter dari sebuah deretan string.Contoh :SELECT SUBSTRING ('Sistem Basis Data',8,5)Keterangan :Mengambil string dari karakter ke 8 sebanyak 5 karakter.Hasilnya adalah Basis

c) LENGTHBerfungsi untuk menghitung jumlah karakter.Contoh :SELECT Nama, LEN (Nama) FROM Mahasiswad) TRIMTerbagi dua yaitu1) LTRIM Berfungsi untuk memotong karakter spasi di kiri string.Contoh :SELECT LTRIM (Sistem Basis Data)2) RTRIMBerfungsi untuk memotong karakter spasi di kanan stringContoh :SELECT RTRIM ('Sistem Basis Data ')Keterangan :Akan menghasilkan Sistem Basis Data

e) LEFT Berfungsi untuk mengambil beberapa karakter dari kiri.Contoh :SELECT LEFT (Sistem Basis Data,6)Keterangan :Mengambil string sebanyak 6 karakter dari sebelah kiri.Maka hasilnya :

f) RIGHTBerfungsi untuk mengambil beberapa karakter dari kananContoh :SELECT RIGHT ('Sistem Basis Data',6)Keterangan :Mengambil string sebanyak 6 karakter dari sebelah kanan.Hasilnya adalah

Fungsi StringSQL Server menyediakan fungsi-fungsi String yang dapat digunakan sebagai bagian dari ekspresi karakter manapun. Fungsi ini digunakan untuk bermacam-macam operasi string. Antara lain : CHAR : Mengembalikan karakter dari nilai kode asciiCHAR (expresi Integer)

CHARINDEX : Fungsi ini digunakan untuk menentukan posisi awal dari suatukarakter string (String 1) di dalam string lain (String 2).Sintaks :CHARINDEX (String1,string2)

Fungsi BilanganAda 3 (tiga) fungsi bilangan :a) ROUND : Pembulatan desimal ke angka terdekatContoh penggunaan fungsi ROUND

b) TRUNC : Memotong nilai desimal ke posisi yang dikehendakiContoh penggunaan fungsi TRUNC

TRUNCATE berfungsi untuk membersihkan tabel secara keseluruhan (sama seperti DELETE tanpa kondisi), yaitu dengan cepat menghapus semua record (baris) tanpa menghapus struktur tabel.Sintaks:truncate TABEL NAMA_TABEL;Contoh:Menghapus semua record dalam tabel STUDENT:truncate TABLE STUDENT;

c) MOD : Mendapatkan sisa pembagianContoh penggunaan fungsi MOD

Fungsi PredikatPredikat diletakkan setelah klausa WHERE untuk pencarian record database agar mendapatkan string, karakter atau range tertentu.Adapun bagiannya adalah 1. LIKE dan NOT LIKEa) LIKE berfungsi untuk mendapatkan record yang memenuhi sebagian kriteria pencarian yaitu mencari data yang menyerupai atau seperti. Perintah LIKE sering dikombinasikan dengan tanda persen (%) dan underscore (_). Persen digunakan di awal atau akhir teks kriteria sedangkan underscore dimanapun diinginkan. Sintaks dasar dari SELECT yang melibatkan LIKE adalahselect kolom1, kolom2, [] FROM NAMA_TABELWHERE kolom_tabel LIKE %string%;

b) NOT LIKE merupakan lawan dari LIKE. Semua data yang masuk kriteria LIKE secara otomatis tidak masuk kriteria NOT LIKE.

2. BETWEENBETWEEN digunakan untuk menyeleksi nilai-nilai yang berada dalam kisaran (range), misalnya menampilkan student yang mempunyai IPK antara 3,00 sampai 3,50.Adapun sintaks perintah SELECT dengan BETWEEN adalahselect kolom1, kolom2, [] FROM NAMA_TABELWHERE nama_kolom BETWEEN nilai1 and nilai2;

3. LIMITLIMIT memungkinkan pembatasan jumlah record yang diambil dari database.Sintaksnya :select kolom1, kolom2, [] FROM NAMA_TABEL LIMIT jumlah_limit;

4. INNER JOIN JOIN digunakan bersama SELECT untuk mengkombinasikan kolom dari satu tabel dengan kolom pada tabel lain. Proses utama yang dilakukan oleh JOIN adalah mencocokkan nilai pada field kunci pada kedua tabel INNER JOIN mengembalikan semua baris sebagai hasil yang memenuhi suatu kondisi

5. LEFT JOINSuatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional bahkan jika tidak ada sisi kanan yang memenuhi sekalipun

6. RIGHT JOINSuatu RIGHT JOIN akan menampilkan baris-baris sisi kanan kondisional yang memenuhi atau tidak memenuhi kondisi.

7. UNIONUNION berfungsi untuk menggabung dua tabel, menempatkan dua query terpisah secara bersama membentuk satu tabel. UNION akan memberikan hasil terbaik saat menggunakan dua tabel dengan kolom serupa karena setiap kolom harus mempunyai tipe data sama.Sintaks dasar :select kolom1, kolom2 FROM NAMA_TABELUNIONselect kolom1, kolom2 FROM NAMA_TABEL;

8. UNION ALLUNION ALL memilih semua baris dari setiap tabel dan mengkombinasikannya ke dalam satu tabel.

Perbedaan antara UNION dan UNION ALL yaitu UNION ALL tidak akan menghapus (mengeliminir) baris-baris yang sama (duplicate rows) hanya mengambil semua baris dari semua tabel sesuai query yang dikirim ke server database

9. Sub-QuerySub-Query adalah query SELECT yang ditempatkan di dalam suatu pernyataan SQL lain. Dapat diletakkan sebagai bagian dari query utama : SELECT, INSERT, UPDATE, DELETE, SET, DOSintaks :select kolom1, kolom2, kolom3 [] FROM NAMA_TABELWHERE kolom_tabel = (select kolom1, kolom2, kolom3 [] FROM NAME_TABEL_LAIN);

BAB IILANGKAH KERJABELAJAR DARI CONTOH

1. select * from mahasiswa; 2. select * from dosen; 3. select nim, nama, ipk + 1 as 'ipk' from mahasiswa;

4. select nip, nama from dosen where nama like '%i';

5. select nim, nama, year(now()) - year(tgl_lahir) as umur from

mahasiswa; TUGAS PRAKTIKUM Buatlah query untuk: 1. Menaikkan 30% seluruh harga album yang ada di table album. 2. Tampilkan harga album; bulatkan harga album ke bawah sehingga satuan terkecil harga adalah ratusan. (misalnya: Rp. 31.525 dibulatkan ke bawah menjadi Rp. 31.500) 3. Menampilkan total penjualan per bulan. 4. Menampilkan total penjualan per hari. 5. Menampilkan album yang diawali dengan huruf A. 6. Mengubah data nama album menjadi huruf besar semua. 7. Menampilkan nama dan harga album yang harganya antara Rp. 50.000 sampai dengan Rp. 75.000. 8. Menampilkan nama dan harga album, denga format harga Rp. xxxxxx. (ada mata uang Rp. di depannya).

BAB IIIPEMBAHASAN

Pada modul IV ini kita menggunakan operator aritmatika, fungsi string dan fungsi date&time dan menerapkannya kedalam database yang telah kita buat.1. Menaikan harga sebesar 30% dari seluruh harga album di tabel album.Untuk menaikan harga pada tabel album maka kita memerlukan operator aritmatika perkalian dan penambahan. Jadi harga awal dikali dengan 30% dan ditambah dengan harga awal ((harga awal*30%)+harga awal).

Tabel album sebelum dilakukan penambahan harga 30%Jadi untuk melakukan ini di SQL maka kita memerlukan query yang mengandung operator aritmatika.select kode_album,penyanyi,harga, (harga * 0.3) + harga as 'harga+30%' from album;query diatas bertujuan untuk menampilkan tabel album dengan kolom kode_album, penyanyi, harga, dan harga album setelah dilakukan penambahan 30%. Dalam penggunaan operator aritmatika tanda dalam kurung sangat memiliki peran dan arti penting. Karena hal ini akan mempengaruhi hasil perhitungan aritmatika.

Table album setelah dilakukan penambahan 30%

2. Membulatkan harga album ke bawah sehingga harga adalah ratusan.Untuk melakukan pembulatan kebawah fungsi yang kita pakai adalah truncate. Hal ini karena truncate dapat berfungsi untuk melakukan penghapusan (pergantian).

Tabel album setelah pembulatan kebawahQuery :select kode_album,penyanyi, (harga * 0.3) + harga as 'harga+30%', truncate(harga +(harga * 30/100),-3) as 'Harga Bulat' from album;hal yang menjadi perhatian pada query di atas adalah sintaks truncate, untuk melakukan pembualatan kebawah dengan sintaks truncate ini kita harus menetapkan berapa banyak digit angka yang akan menjadi dasar pembulatannya. Pada tabel album di atas kita menggunakan -3 dalam pembulatannya. Tanda min (-) dimaksudkan agar pembulatan terjadi pada angka sebelum tanda koma (,), sebaliknya juga jika ingin melakukan pembulatan setelah tanda koma maka kita hanya perlu mengubah nya menjadi plus (+) lalu diikuti digit angka untuk pembulatan.3. Menampilkan total penjualan perbulan.Untuk melakukan penampilan perbulan dari tabel penjualan kita harus menggunakan fungsi month, sum, dan group by.

Tabel sumberQuery :select kode_penjualan, month(tanggal) as 'Total Penjualan Bulanan', sum(total) from penjualan group by month(tanggal);month merupakan fungsi yang bertujuan untuk melakukan pembacaan isi data dalam tabel database dengan format tanggal dan waktu, tetapi dalam hal ini SQL hanya akan membaca bulan, karena kita menggunakan fungsi month.Untuk melakukan pembacaan bulan pada tabel penjualan, kita menggunakan kolom tanggal karena pada kolom tanggal berisikan data waktu penjualan. Fungsi sum diatas dimaksudkan agar total penjualan digabungkan karena penampilan data akan ditampilkan perbulan yang mungkin saja data tabel memiliki data yang total penjualan berisi lebih dari 2 total perbulan. Sehingga yang terakhir adalah menggunakan fungsi group by agar penampilan tabel akan mengalami penggabungan perbulan.

4. Menampilkan total penjalan perhari.Penampilan perhari sangat mirip dengan penampilan penjualan perbulan yang perlu kita ubah adalah fungsi pembacaannya menjadi date.Query :select date(tanggal) as 'Total Penjualan Harian', sum(total) from penjualan group by date (tanggal);

5. Menampilkan album yang diawali dengan huruf A.Untuk menampilkan album yang judulnya diawali dengan huruf A maka fungsi yang kita perlukan adalah where .. like.Query :select kode_album,judul, penyanyi from album where penyanyi like 'A%';where..like merupakan fungsi pengkondisian suatu keadaan tabel,seperti pada query diatas pengkondisian dilakukan jika judul album diawali dengan huruf A. Jika diawali maka sintaks nya adalah huruf%, berbeda dengan jika kita mengkondisikan akhiran maka %huruf, sedangkan jika diantara maka %huruf%.

6. Mengubah data nama menjadi huruf besar semua.Untuk mengubah data nama menjadi huruf besar maka kita memerlukan fungsi UPPER.Query :select upper(judul) as 'Nama Album' from album;UPPER berfungsi untuk mengubah format penulisan menjadi huruf kapital, hal ini berkebalikan dengan LOWER. Jadi nama album pada tabel album akan menjadi hururf besar semua.

7. Menampilkan nama dan harga album yang harganya antara Rp.50.000 sampai dengan Rp.75.000

Query :select judul as 'Nama Album', harga from album where harga between 50000 and 75000;penggunaan beetween adalah untuk pengkondisiian suatu isi database dengan rentang tertentu.8. Menampilkan nama dan harga album, dengan format harga Rp.xxxxx.Untuk menampilkan suatu data dalam database dengan parameter tertentu maka yang kita gunakan adalah fungsi CONCAT.Query :select judul, concat('Rp.', harga) as 'Harga' from album;jadi dengan fungsi CONCAT ini semua harga dalam tabel album akan di awali dengan parameter Rp.

BAB IVKESIMPULAN

fungsi dalam perintah SQL digunakan untuk menghasilkan sebuah nilai atau output. Baik itu fungsi string, date and time, number, dan lain-lain seperti yang ada pada pembahasan dan landasan teori di modul ini. Operator yang didukung oleh SQL Server adalah : + untuk penjumlahan - untuk pengurangan / untuk pembagian * untuk perkalian % untuk modulus Operator perkalian dan pembagian memiliki prioritas di atas penjumlahan dan pengurangan

BAB VDAFTAR PUSTAKA

Dosen Teknik Informatika. 2015. Modul Basis Data 2015. Universitas Palangka raya.

Sunaryo M.Aminuddin. 2012. Laporan Basis Data. STIMK Palangka raya.

Qashna. 2013. Fungsi Pembulatan dalam SQL. qashna.blogspot.com/2013/07/fungsi-pembulatan-dalam-sql.html. diakses pada : 22-05-015.

BAB VILAMPIRANcreate database dbc113174;use dbc113174;create table album (kode_album varchar(5), judul varchar(50), penyanyi varchar(50),sampul blob, harga decimal, stok smallint);create table penjualan (kode_penjualan varchar(20), tanggal datetime, total decimal);create table dtl_penjualan (kode_penjualan varchar(20),kode_album varchar(5),jumlah smallint, harga decimal);alter table album add primary key pk_kode_album(kode_album);alter table penjualan add primary key pk_kode_penjualan(kode_penjualan);alter table dtl_penjualan add foreign key fk_kode_penjualan(kode_penjualan) references penjualan(kode_penjualan);alter table dtl_penjualan add foreign key fk_kode_album(kode_album) references album(kode_album);insert into album values ('A-01','Valleys Of Nepture','Jimi Hendrix',null, 25000, 0);insert into album values ('A-02','Here I Am', 'Marvin Sapp',null, 50000, 0);insert into album values ('A-03','The Self Healding Series - Breathing - The Master Key To Self Healding','Andrew Well',null, 100000, 0);insert into album values ('A-04','Machine Head', 'Deep Purple',null, 50000, 0);insert into album values ('A-05','Still Standing', 'Monica',null, 75000, 0);

insert into penjualan values ('P-01', '2010-04-20', 300000);insert into penjualan values ('P-02', '2010-04-21', 100000);insert into penjualan values ('P-03', '2010-04-23', 275000);

insert into dtl_penjualan values ('P-01', 'A-04', 2, 50000);insert into dtl_penjualan values ('P-01', 'A-03', 2, 100000);insert into dtl_penjualan values ('P-02', 'A-03', 1, 100090);insert into dtl_penjualan values ('P-03', 'A-03', 1, 100000);insert into dtl_penjualan values ('P-03', 'A-04', 2, 55000);insert into dtl_penjualan values ('P-03', 'A-01', 3, 25530);

insert into penjualan values ('P-04', '2010-04-24', 100000);insert into penjualan values ('P-05', '2010-04-26', 50000);insert into penjualan values ('P-06', '2010-04-26', 75000);insert into penjualan values ('P-07', '2010-04-25', 150000);insert into penjualan values ('P-08', '2010-04-37', 100000);insert into dtl_penjualan values ('P-04', 'A-04', 1, 50000);insert into dtl_penjualan values ('P-04', 'A-01', 2, 25000);insert into dtl_penjualan values ('P-05', 'A-02', 1, 50000);insert into dtl_penjualan values ('P-06', 'A-03', 1, 50000);insert into dtl_penjualan values ('P-06', 'A-04', 1, 25000);

update album set sampul = load_file('D:a.jpg') where kode_album = 'A-01';update album set harga = 25000 where kode_album = 'A-04';delete from dtl_penjualan where harga < 75000;select * from album;select * from penjualan;select * from dtl_penjualan;

select judul, penyanyi from album;select jumlah from dtl_penjualan;select a.judul, a.penyanyi, b.jumlah as 'jumlah quantity terjual' from album a right join dtl_penjualan b on b.kode_album = a.kode_album;select a.judul, a.penyanyi, b.jumlah as 'quantity terjual' from album a left join dtl_penjualan b on b.kode_album = a.kode_album;select a.kode_album, a.judul, a.penyanyi, a.harga, sum(jumlah) as 'Paling Laris' from album a right join dtl_penjualan b on b.kode_album = a.kode_album group by b.kode_album order by sum(jumlah) desc; select a.kode_album, a.judul, a.penyanyi, min(a.harga) as 'Paling Murah', b.jumlah from album a left join dtl_penjualan b on b.kode_album = a.kode_album group by kode_album order by min(a.harga) asc;select tanggal, kode_penjualan from penjualan group by tanggal;

select kode_album, (harga * 0.3) + harga as 'harga+30%' from album;select * from album;select kode_album, truncate(harga +(harga * 30/100),-3) as 'Harga Bulat' from album;select kode_penjualan, month(tanggal) as 'Total Penjualan Bulanan', sum(total) from penjualan group by month(tanggal);select kode_penjualan, date(tanggal) as 'Total Penjualan Harian', sum(total) from penjualan group by date (tanggal);select kode_album,judul, penyanyi from album where penyanyi like 'A%';select upper(judul) as 'Nama Album' from album;

select judul as 'Nama Album', harga from album where harga between 50000 and 75000;select judul, concat('Rp.', harga) as 'Harga' from album;

2