Anda di halaman 1dari 21

LAPORAN HASIL PRAKTIKUM

BASIS DATA

NAMA

: JULIUS SIHOTANG

NIM

: DBC 113 174

MODUL

: IV (FUNGSI DAN OPERATOR)

KELAS

:J

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2015

BAB I
TUJUAN DAN LANDASAN TEORI
Tujuan
Setelah praktikum ini mahasiswa dapat mempergunakan operator aritmatika,
fungsi string, dan fungsi date & time.
Landasan Teori
SQL 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 kanan

Tanda kurung dapat digunakan untuk memaksa prioritas evaluasi dan memperjelas
perintah
fungsi 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 Aritmatika
a) SQRT

Berfungsi untuk mencari akar dari niai tertentu.


Contoh :
SELECT SQRT (100)
b) CEILING
Berfungsi untuk pembulatan ke atas dari angka decimal.
Contoh :
SELECT CEILING (25.25)
Keterangan : Akan menghasilkan nilai 26
c) FLOOR
Berfungsi untuk pembulatan ke bawah dari angka decimal.
Contoh :
SELECT FLOOR (25.25)
Keterangan : Akan menghasilkan nilai 25

Fungsi Karakter
Fungsi karakter terbagi menjadi :

Fungsi konversi, yaitu LOWER, UPPER


a) Lower berfungsi untuk mengubah huruf besar ke huruf kecil. Contoh :
SELECT LOWER (Nama) FROM Mahasiswa
b) 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 fungsi
Fungsi

Hasil

CONCAT (Good,String)
SUBSTR(String,1,3)

GoodString

LENGTH(String)
INSTR(String,r)
LPAD(sal,10,*)
LPAD(sal,10,*)

Str
6
3
*****5000
5000*****

a) Concat
Berfungsi untuk menggabungkan suatu data.
Misal,
concat(Julius,Sihotang)
maka hasilnya adalah
JuliusSihotang.

b) SUBSTRING
Berfuungsi 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) LENGTH
Berfungsi untuk menghitung jumlah karakter.
Contoh :
SELECT Nama, LEN (Nama) FROM Mahasiswa
d) TRIM
Terbagi dua yaitu
1) LTRIM
Berfungsi untuk memotong karakter spasi di kiri string.
Contoh :
SELECT LTRIM (Sistem Basis Data)
2) RTRIM
Berfungsi untuk memotong karakter spasi di kanan string
Contoh :
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) RIGHT
Berfungsi untuk mengambil beberapa karakter dari kanan
Contoh :
SELECT RIGHT ('Sistem Basis Data',6)
Keterangan :
Mengambil string sebanyak 6 karakter dari sebelah kanan.
Hasilnya adalah

Fungsi String
SQL 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 ascii
CHAR (expresi Integer)
CHARINDEX : Fungsi ini digunakan untuk menentukan posisi awal dari
suatu
karakter string (String 1) di dalam string lain (String 2).
Sintaks :

CHARINDEX (String1,string2)

Fungsi Bilangan
Ada 3 (tiga) fungsi bilangan :
a) ROUND : Pembulatan desimal ke angka terdekat
Contoh penggunaan fungsi ROUND

b) TRUNC : Memotong nilai desimal ke posisi yang dikehendaki


Contoh 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 pembagian
Contoh penggunaan fungsi MOD

Fungsi Predikat
Predikat diletakkan setelah klausa WHERE untuk pencarian record database
agar mendapatkan string, karakter atau range tertentu.
Adapun bagiannya adalah
1. LIKE dan NOT LIKE
a) 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 adalah
select kolom1, kolom2, [] FROM NAMA_TABEL
WHERE 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. BETWEEN
BETWEEN 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 adalah
select kolom1, kolom2, [] FROM NAMA_TABEL
WHERE nama_kolom BETWEEN nilai1 and nilai2;

3. LIMIT
LIMIT 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 JOIN
Suatu LEFT JOIN mengembalikan semua baris sisi kiri kondisional
bahkan jika tidak ada sisi kanan yang memenuhi sekalipun

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

7. UNION
UNION 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_TABEL
UNION
select kolom1, kolom2 FROM NAMA_TABEL;

8. UNION ALL
UNION 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-Query
Sub-Query adalah query SELECT yang ditempatkan di dalam suatu
pernyataan SQL lain. Dapat diletakkan sebagai bagian dari query utama :
SELECT, INSERT, UPDATE, DELETE, SET, DO
Sintaks :
select kolom1, kolom2, kolom3 [] FROM NAMA_TABEL
WHERE kolom_tabel = (select kolom1, kolom2, kolom3 []
FROM NAME_TABEL_LAIN);

BAB II
LANGKAH KERJA
BELAJAR 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 III
PEMBAHASAN

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 kebawah


Query :
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 sumber
Query :
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 IV
KESIMPULAN

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 V
DAFTAR 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 VI
LAMPIRAN
create 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;