0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan31 halaman

Script Dasar Oracle

Dokumen tersebut membahas tentang pengelolaan database kependudukan dengan SQL. Tujuannya adalah meningkatkan kemampuan administrator database dalam mengelola basis data kependudukan dengan memahami perintah dasar SQL. Dokumen ini menjelaskan konsep SQL, perintah-perintah dasar SQL seperti SELECT, INSERT, UPDATE, DELETE, serta contoh-contoh penggunaannya dalam mengelola database kependudukan.

Diunggah oleh

Irham nurkholis
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan31 halaman

Script Dasar Oracle

Dokumen tersebut membahas tentang pengelolaan database kependudukan dengan SQL. Tujuannya adalah meningkatkan kemampuan administrator database dalam mengelola basis data kependudukan dengan memahami perintah dasar SQL. Dokumen ini menjelaskan konsep SQL, perintah-perintah dasar SQL seperti SELECT, INSERT, UPDATE, DELETE, serta contoh-contoh penggunaannya dalam mengelola database kependudukan.

Diunggah oleh

Irham nurkholis
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 31

Pengelolaan Database

Kependudukan
Tujuan & Sasaran

Tujuan
Meningkatkan kemampuan Administrator Database
Kabupaten/Kota dalam pengelolaan Database
Kependudukan.

Sasaran
Memahami perintah dasar SQL (Structured Query
Language) sebagai pondasi bagi Administrator Database
dalam mengelola basis data.
SQL (Structured Query Language)

Adalah sekumpulan perintah khusus yang


digunakan untuk mengakses data dalam database
relasional.
Dengan SQL, kita dapat mengakses database,
menjalankan query untuk mengambil data dari
database, menambahkan data ke database,
menghapus data di dalam database, dan mengubah
data di dalam database.
Dasar Perintah SQL

1. DDL atau Data Definition Language


DDL merupakan perintah SQL yang berhubungan dengan
pendefinisian suatu struktur database, dalam hal ini database
dan table. Perintah SQL yang termasuk dalam DDL antara lain :
CREATE, ALTER, RENAME, DROP.

2. DML atau Data Manipulation Language


DML merupakan perintah SQL yang berhubungan dengan
manipulasi atau pengolahan data atau record dalam table.
Perintah SQL yang termasuk dalam DML antara lain :
SELECT, INSERT, UPDATE, DELETE.
Dasar Perintah SQL

3. DCL atau Data Control Language


DCL merupakan perintah SQL yang berhubungan
dengan pengaturan hak akses user, baik terhadap
server, database, table maupun field. Perintah SQL
yang termasuk dalam DCL antara lain :
GRANT, REVOKE.
Perintah SELECT

SELECT digunakan untuk query atau mengambil


data dari tabel dalam database. Sebuah query
dapat mengambil informasi dari kolom tertentu
atau dari semua kolom dalam tabel.
Untuk membuat SQL SELECT sederhana, harus
menentukan nama kolom dan nama tabel.
Bentuk Lengkap SELECT

SELECT column_list FROM table-name


[WHERE Clause]
[GROUP BY clause]
[HAVING clause]
[ORDER BY clause];

• table-name adalah nama tabel dari mana informasi tersebut diambil.


• column_list mencakup satu atau lebih kolom dari data yang diambil.
• Kode dalam kurung adalah opsional.
Contoh Penggunaan Perintah SELECT
Contoh 1 : Menampilkan semua data dalam tabel biodata_wni
Select *
From biodata_wni
Contoh 2 : Menampilkan nik dan nama lengkap
Select nik, nama_lgkp
From biodata_wni
Contoh 3 : Menampilkan nik, nama lengkap, jenis_klmin dengan hanya
mengambil jenis_klmin bernilai 1
Select nik, nama_lgkp
From biodata_wni
Where jenis_klmin=1
Contoh Penggunaan Perintah SELECT, WHERE,
GROUP BY, ORDER BY dan HAVING
Contoh 1: Penggunaan Group By
Select no_kab, no_kec
From biodata_wni
Group by no_kab, no_kec
Contoh 2: Penggunaan Order By
Select no_kab, no_kec
From biodata_wni
Order By no_kab, no_kec
Contoh 3 : Penggunaan Having
select no_kab,no_kec, jenis_klmin,count(nik)
From biodata_wni
group by no_kab, no_kec, jenis_klmin
having count(nik)>20000
Contoh Penggunaan Perintah SELECT, WHERE,
GROUP BY, ORDER BY dan HAVING

Contoh 4 : Penggunaan Perintah SELECT, WHERE, GROUP BY,


ORDER BY dan HAVING secara bersamaan.
select no_kab,no_kec, jenis_klmin,count(nik)
From biodata_wni
Where jenis_klmin=1
Group by no_kab, no_kec, jenis_klmin
Having count(nik)>20000
Order by no_kab, no_kec
SQL Alias

Untuk mendefinisikan kolom dan table agar kolom yang


dipilih lebih mudah ditulis dan dibaca.

Contoh :
Select a. nik, a.nama_lgkp
From biodata_wni a
Where a.jenis_klmin=1
Operator yang kita kenal di Oracle

1. Operator Logika : AND, OR, NOT


2. Operator Aritmatika : +, -, *, /, MOD
3. Operator Relational : <, <=, >, >=, between,
like, in
4. Operator Persamaan : =, <>
5. Operator Penggabungan : ||
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
1. Fungsi Numeric (bilangan)
Fungsi
Keterangan Contoh Hasil
n: nilai, p: presisi
ABS(1) 1
ABS(n) Merubah menjadi nilai absolute
ABS(-1) 1

CEIL(2.43) 3
CEIL(n) Pembulatan ke atas
CEIL(-1.6) -1

FLOOR(2.69) 2
FLOOR(n) Pemotongan bilangan di belakang koma
FLOOR(-1.6) -2

Melakukan pemotongan pada bilangan pecahan TRUNC(2.435, 2) 2.4


TRUNC(n,p)
dengan presisi yang diinginkan TRUNC(124.56, 3) 120

Melakukan pembulatan pada bilangan pecahan FLOOR(2.69,1) 2.7


ROUND(n, p)
dengan presisi yang diinginkan FLOOR(2.43,2) 2
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
2. Fungsi String (teks)
Fungsi Keterangan Contoh Hasil
LOWER (s) Mengubah string menjadi huruf kecil LOWER ('CONTOH') contoh
UPPER (s) Mengubah string menjadi huruf besar UPPER ('contoh') CONTOH
INITCAP (s) Mengubah hurup awal tiap kata menjadi huruf besar INITCAP ('CONTOH fungsi') Contoh Fungsi
Memampatkan string sampai panjang tertentu
LPAD (s,n,pat_value) LPAD (1,3,'0')
dengan manambahkan karakter di sebelah kiri 001
Memampatkan string sampai panjang tertentu
RPAD (s,n,pat_value) LPAD (1,3,'0')
dengan manambahkan karakter di sebelah kanan 100
Melakukan pemotongan terhadap karakter tertentu LTRIM ('CONTOH
LTRIM (s,[s_trim]) di sebelah kiri string, jika "[s_trim]" tidak digunakan FUNGSI','CONTOH') FUNGSI
akan menghilangkan "spasi" disebelah kiri LTRIM (' FUNGSI') FUNGSI
Melakukan pemotongan terhadap karakter tertentu LTRIM ('CONTOH
RTRIM (s,[s_trim]) di sebelah kiri string, jika "[s_trim]" tidak digunakan FUNGSI','FUNGSI') CONTOH
akan menghilangkan "spasi" disebelah kanan LTRIM (' CONTOH ') CONTOH
Melakukan pemotongan terhadap karakter tertentu TRIM ('I' from 'INI FUNGSI')
NI FUNGS
di sebelah kiri dan kanan string, jika "[s_trim from]"
TRIM ([s_trim from] s)
tidak digunakan akan menghilangkan "spasi" TRIM (' INI FUNGSI ')
disebelah kanan dan Kiri INI FUNGSI
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
2. Fungsi String (teks) ……lanjutan

Fungsi Keterangan Contoh Hasil


Sama fungsingya dengan ||,untuk
CONCAT (s1,s2,...) CONCAT ('CONTOH',' FUNGSI') CONTOH FUNGSI
menggabungkan string
SUBSTR (s,posisi,panjang) Mengambil string dari suatu string SUBSTR('CONTOH FUNGSI',4,3) TOH

LENGTH (s) Mendapatkan Panjang suatu string LENGTH('CONTOH') 6


Mengganti strng dalam suatu
REPLACE (s,'s_lama','s_baru) REPLACE('CONTOH','O','I') CINTIH
string.
Mendapatkan posisi karakter INSTR ('CONTOH','O') 2
dalam suatu string, [, pos_mulai]
INSTR (s,s_cari [, pos_mulai])
optional jika digunakan
merupakan posisi awal pencarian. INSTR ('CONTOH','O',3) 5
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
3. Fungsi Tanggal
Merubah format tanggal dalam satu sesi : alter session set nls_date_format = ‘dd-mm-yyyy’

Fungsi Keterangan Contoh Hasil


Memberikan selisih nilai date2
ADD_MONTHS (date,n) dan date1 dalam hitungan bulan ADD_MONTHS ('10-09-2014',3) 10-12-2014
(dapat bernilai pecahan).
Memberikan tanggal dari hari
LAST_DAY (date) terakhir dalam bulan yang sama LAST_DAY ('10-09-2014') 30-09-2014
dengan ‘date’.
Mengembalikan tanggal dan 9/13/2014
SYSDATE SYSDATE
waktu saat statement dieksekusi 3:16:33 PM
Mengembalikan tanggal sistem, 9/13/2014
SYSTIMESTAMP termasuk nilai mili detiknya dan SYSTIMESTAMP 3:16:33.43600
time zone 0 PM +07:00

Memberikan selisih nilai date2 MONTHS_BETWEEN('10-09-2014','10-12-2014') -3


MONTHS_BETWEEN(date2, date1) dan date1 dalam hitungan bulan
(dapat bernilai pecahan). MONTHS_BETWEEN('10-12-2014','10-09-2014') 3
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
3. Fungsi Konversi

Fungsi Keterangan Contoh Hasil

TO_CHAR(sysdate) 16-09-2014
TO_CHAR (x [,format]) Konversi menjadi menjadi
data bertipe string
TO_CHAR(sysdate,'yyyy-mm-dd') 2014-09-16
Melakukan konversi string TO_DATE('14-09-2014') 9/14/2014
TO_DATE (s [,format]) dengan format yang
diberikan ke dalam nilai
TO_DATE('2014-09-14','yyyy-mm-dd') 9/14/2014
tanggal.
Mengganti nilai yang tidak NVL(null,1) 1
diketahui dengan nilai
NVL(null,x)
tertentu sesuai format yang
di inginkan. NVL(null,sysdate) 15-09-2014
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
4. Fungsi Agregat

Fungsi agregat adalah fungsi yang digunakan untuk melakukan


perhitungan statistical dalam table.
Biasanya pada saat menyeleksi data, sering di minta untuk
menampilkan sekumpulan data berdasarkan kelompok data
tertentu yang biasanya mengeksekusinya dengan memberikan
perintah group by
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
4. Fungsi Agregat …….lanjutan
Fungsi Keterangan Contoh Hasil
mencari nilai maksimal
tgl_lhr terbaru dalam
MAX (nama_field) /terbesar dari sekumpulan data select max(tgl_lhr) from biodata_wni
biodata_wni
yang ada
mencari nilai minimal /terkecil tgl_lhr terlama dalam
MIN (nama_field) select min(tgl_lhr) from biodata_wni
dari sekumpulan data yang ada biodata_wni
Jumlah data dalam tabel
select count(nik) from biodata_wni
biodata_wni
mencari banyaknya data dari select no_kec, count(nik) as jml Jumlah data dalam tabel
COUNT (nama_field)
sekumpulan data yang ada from biodata_wni biodata_wni per
group by no_kec kecamatan, urut
order by no_kec berdasarkan no_kec
select
mencari rata-rata dari avg(floor(months_between(sysdate,tgl_lhr)/12))
AVG (nama_field) rata-rata umur
sekumpulan data yang ada as umur_rata2
from biodata_wni
mencari jumlah dari select sum(decode(tgl_entri,null,1,0)) jumlah tgl_entri null
SUM (nama_field)
sekumpulan data yang ada from biodata_wni dalam biodata_wni
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
5. Fungsi Logika

A. DECODE (nama_field,n1,n_baru1,n2,n_baru2,….)
Fungsi DECODE pada SQL Oracle memiliki algoritma yang sama dengan
proses IF THEN ELSE. Jadi dapat dikatakan bahwa fungsi ini digunakan
untuk memberikan nilai penganti

Contoh :
select nama_lgkp,jenis_klmin,
decode(jenis_klmin,1,'Laki-laki,2,'Perempuan') as deskripsi
from biodata_wni
FUNGSI YANG SERING DIGUNAKAN DALAM ORACLE
5. Fungsi Logika…… lanjutan

B. Case when x=y then a else b end


Hampir sama dengan DECODE, tapi dengan logika case bisa digunakan untuk lebih dari
satu kondisi yang berbeda.
Contoh :
select nama_lgkp,jenis_klmin,stat_kwn,
Case
when jenis_klmin=1 and stat_kwn>2 then ‘duda’
when jenis_klmin=2 and stat_kwn>2 then ‘janda’
when stat_kwn=2 then ‘menikah’
Else ‘jomblo’
End as setatus
from biodata_wni
SQL JOIN (Penggabungan)
INNER JOIN

Ini adalah query yang paling sederhana, paling umum,


dan paling mudah dipahami. Query ini akan
mengembalikan semua record dalam tabel kiri (tabel A)
yang memiliki record yang cocok di tabel kanan (tabel B).
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Inner join data_keluarga b on b.no_kk=a.no_kk
LEFT JOIN

Query ini akan mengembalikan semua record dalam


tabel kiri (tabel A) meskipun record di tabel A tersebut
tidak memiliki record yang bersesuaian di tabel kanan
(tabel B).
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Left join data_keluarga b on b.no_kk=a.no_kk
RIGHT JOIN

Query ini akan mengembalikan semua record


dalam tabel kanan (tabel B) meskipun record di tabel B
tersebut tidak memiliki record yang bersesuaian di tabel
kiri (tabel A). Semua record yang bersesuaian dari tabel
kanan akan muncul.
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Right join data_keluarga b on b.no_kk=a.no_kk
FULL JOIN

Query ini akan mengembalikan semua record yang ada


di kedua table tersebut, dan semua record yang
bersesuaian akan digabungkan menjadi satu record.
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Full join data_keluarga b on b.no_kk=a.no_kk
LEFT EXCLUDING JOIN

Query ini akan mengembalikan semua record dalam tabel


kiri (tabel A) yang tidak memiliki record yang
bersesuaian di tabel kanan (tabel B). Biasanya
pertanyaan yang dapat diselesaikan menggunakan Left
Excluding Join adalah "Tampilkan semua data di tabel A
yang tidak ada datanya di tabel B".
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Left join data_keluarga b on b.no_kk=a.no_kk
Where b.no_kk is null
RIGHT EXCLUDING JOIN

Query ini akan mengembalikan semua record dalam tabel


kanan (tabel B) yang tidak memiliki record yang
bersesuaian di tabel kiri (tabel A). Biasanya pertanyaan
yang dapat diselesaikan menggunakan Left Excluding Join
adalah "Tampilkan semua data di tabel B yang tidak ada
datanya di tabel A".
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Right join data_keluarga b on b.no_kk=a.no_kk
Where a.no_kk is null
FULL EXCLUDING JOIN

Query ini akan mengembalikan semua record yang tidak


memiliki pasangan di tabel kiri (tabel A) maupun tabel
kanan (tabel B). Kasus ini jarang sekali ditemukan namun
bukan berarti tidak ada.
Contoh :
Select a.NIK, a.NAMA_LGKP, b.ALAMAT, b.no_rt, b.no_rw
From biodata_wni a
Full join data_keluarga b on b.no_kk=a.no_kk
Where a.no_kk is null or b.no_kk is null
VIEW

View adalah salah satu object database, yang secara logika merepresentasikan
sub himpunan dari data yang berasal dari satu atau lebih tabel.

Perintah membuat VIEW :


CREATE VIEW nama_view
As {sql data yang ingin ditampilkan}

Perintah memanggil View:


Select * from nama_view
VIEW……. lanjutan
Contoh :
CREATE VIEW vw_penduduk
As
select A.NIK,a.no_kk,a.nama_lgkp,
decode(a.jenis_klmin,1,'LAKI-LAKI',2,'PEREMPUAN') as JENIS_KELAMIN,
a.tmpt_lhr,a.tgl_lhr,floor(months_between(sysdate,a.tgl_lhr)/12) as umur,
b.alamat,b.no_rt,b.no_rw,c.nama_kel,d.nama_kec
from biodata_wni a
inner join data_keluarga b on b.no_kk=a.no_kk
inner join setup_kel c on c.no_prop=a.no_prop and c.no_kab=a.no_kab and c.no_kec=a.no_kec and
c.no_kel=a.no_kel
inner join setup_kec d on d.no_prop=a.no_prop and d.no_kab=a.no_kab and d.no_kec=a.no_kec
Perintah memanggil View:
Select * from vw_penduduk

Anda mungkin juga menyukai