Kelompok 4:
Ni Made Cintya Devi Ari Adi (1607531002 / 2)
I Gusti Ayu Ary Amalia Tamara (1607531010 / 4)
Komang Nik Radhi Hardani (1607531013 / 5)
Luh Putu Indah Rahmasari (1607531014 / 6)
Komang Ayusta Devi Savitri (1607531064 / 19)
Ni Putu Gita Darmayanti (1607531144 / 30)
- Nama pelanggan
- Nomor jamian social karyawan
- Nomor pesanan penjualan
- Nomor rekening pelanggan
Sebuah field biasanya secara logka disosialisasikan dengan field lainnya: sebuah
pengelompokkan kogis field disebut recod. Record adalah kelompok item data yan terkai
dengan entitas tertentu seperti seorang eanggan, karyawan, vendor, tagihan, dan sebagainya.
Kita akan menuliskan sruktu record tersebut sebagai berikut
RECORD-NAME (FIELD 1, FIELD 2, …, FIELD N)
RECORD-NAME adalah nama record, seperi VENDOR atau EMPLOYEE. Entri yang
berada dalam tanda kurung adala nama-nama field individual dalam record tesebut. Berikut
contohnya:
CUSTOMER (ACCOUNT_NUMBE, NAME, ADDRESS, ACCOUNT_BALANCE)
EMPLOYEE (NAME, SSN. AGE)
PURCHASE_ORDER (PO_#, DATE, AMOUNT, VENDOR, QUANTITY, PRICE)
Data Occurance
Struktur record memiliki occorance, yang juga disebut instance. Record occurrence
merupakan satu set khusus nilai data untuk recordtersebut. Sebagai contoh untuk record:
EMPLOYEE (NAME, NUMBER, AGE)
Kita akan mempunyai occurrence:
EMPLOYEE (Brown, 111222333, 33)
Dan sebuah occurrence untuk record CUSTOMER akan tampak sebaga berikut:
CUSTOMER (12122, ABC Hardare, 222 West Street, $1,050)
Fixed_lenght Record dan Variable-Length Record
Record dalam sebuah file dapat memiliki panjang data bersifat tetap atau variabel. Dalam
sebuah fixed-length record, aik jumlah field dan panjangnya tiap feld sudah tetap/tertentu.
Fixed-length record lebih mudah dimanipulasi dalam aplikasi computer dibandingkan dengan
variabel-length record karena ukuran fixed-length record terstandarisasi. Kebanyakan record
yang disimpan dalam direct-access storage device (DASD) adalah fixed-length.
Kelemahan fixed-enght record adalah tiap field harus cukup besar untuk memuat
perkiraan entri yang paling maksimum dalam field tersebut. Akibatnya, biasanya terdapat
spasi, missal menyisakan 25 apasi atau banyak spasi utuk sebuah nama, yang pada
kenyataannya banyak nama hanya memerlukan 8 karakter atau kurang. Dalam variabel-
length record lebar field dapat disesuaikan untuk tiap data occurrence. Jumlah atual field
dapat bervariasi dari atu data occurrence dengan data occurrence yang lain.
Akhir seba variabel-length record hars dutandai dengan sebuah symbol khusus atau field
record-lenht yang berisi record itu sendiri. Variabel-length record mampu mengguna secara
efisien ruang penyimpanan yang tersedia, namun manipulasi record tersebut sedikit lebih sult.
Salah satu pendekatan dalam variabel-lenht record yang tidak membutuhkan dukungan
pemrogram system untuk struktur variabel-lenghtnya adalah dengan menggunakan fixed-
length triler record. Trailer record adalah sebuah ekstensi atau perluasan master record.
Trailer record terpisah dari master record dan ditulis bilamana dibutuhka. Engan
menggunakan file piutang dagang yang bersifat open-item, isalnya master record biasanya
hanya akan beisi informasi umum untuk seluruh rekening dan nomor taguhan yang cukup
untuk seluruh rekening yang ada, sementara traler record mampu memuat lebibanyak tagihan
di dalamnya. Sebuah master record dapat mempunyai banyak trailer record
manakaladibutuhkan. Trailer record sendiri dapat ditlis dengan segera setelah sebuah master
record dkerjakan.
Ilustrasi cara untuk mengimplementaskan variabel-length record.
Sebagai contoh misalkan terdapat sebuah perusahaan pemanufakturan Ace Tools yang
menyimpan ratusan komponen mesin sebagai persedan bahan bakunya. Asumsikan pula Ace
Toolos membeli setiap komponen persediaan tersebut dari salah satu pemasoknya dan
kemudian menyimpanya di salah satu gudangnya. Setiapkomponen dapat dibeli dari satu atau
lebih pemasok dan disimpan di satu atau lebih gudang milik perusahaan. Berikut ini field data
yang berisi persediaan komponen mesin tersebut:
PART_NO nomor komponen mesin
PNAME nama komponen mesin
TYPE jenis komponen mesin
COST biaya standar per ui komponen mesin
PVEND nama vendor (pemasok) dari mana kompoen mesin tersebut dibeli
WARHSE gudang tempat komponen mesin tersebut disimpan
LOC dua digit terakhir kode pos tempat gudang yang menyimpan komponen mesin
Dapat dilihat bahwa tidaklah mungkin menyimpan seluruh informasi untuk suatu
komponen mesin tertentu dalam sebuah fixed-length record:
PART (PART_NO, PNAME, TYPE, COST, PVEND, WARHSE, LOC)
Hal ini tidak mungkin digunakan sebagai contoh, karena terdapat lebih dari satu
pemasok untuk setiap komponen mesin dan karena record hanya memiliki satu ruangan untuk
satu pemasok. Sehngga untuk kasus dua pemasok pada satu lokasi penyimpanan, diperlukan
format sebagai berikut:
Dimana awalan #1 untuk komponen mesin yang dipasok oleh pemasok nomor 1 dan
#2 untuk komponen mesin yang dipasok oleh pemasok nomor 2. Record bahkan pelu lebih
panjang lagi apabila jumlah pemasok semakin banyak dan lokasi penyimpanan untuk
komponen mesin tertentu. Variabel tersebut akan menjadi variabel length record.
PART
SUPPLIER LOCATION
Dengan PART_NO sebagai nomor dokumen mesin dan WARSHE sebagai nomor gudang
yang terkait dengan lokasi gudang. Selanjutnya asumsikan file tersebut memuat empat record
ini:
PART (101,1)
PART (102,2)
PART (103,1)
PART (106,1)
Dalam contoh ini, PART_NO adalah key yang digunakan karena ia dapat digunakan untuk
mengidentifikasi secara khusus record maupun dari keempat record yang ada. Namun hal ini
tidak berlaku bagi WARHSE. Sebagai contoh menentukan nilai 1 untuk WARHSE tidak
secara unik mengidentifikasi suatu record tertentu, sebaliknya ia akan mengindentifikasi tiga
record yaitu kesatu, ketiga dan keempat. Dalam beberapa kasus, barangkali perlu
mengkombinasikan dua field untuk menghasilkan sebuah key. Misalnya komponen mesin
dapat disimpan dalam dua gudang, maka record yang dihasilkan:
PART (101,2)
PART(101,1)
PART (102,1)
PART (103,1)
PART (103,2)
Dalam kasus ini, baik PART_NO atau WARHSE masing-masing tidak akan mampu secara
unik mengidentifikasi sebuah record individu. Tetapi bila dilakukan bersama-sama, kedua
field tersebut akan mampu melakukannya. Jadi dengan mengkombinasikan dua field dalam
satu key akan memungkinkan identifikasi dengan tepat. Lima record dalam contoh kedua
dapat diurutkan berdasarkan key PART_NO + WARHSE untuk menghasilkan berikut:
PART (101, 1)
PART (101, 2)
PART (102, 1)
PART (103, 1)
PART (103, 2)
Dalam kasus diatas, , field pertama (PART_NO) disebut sort key primer dan field kedua
(WARHSE) disebut sort key sekunder. Setiap field tambahan diperlukan untuk secara unik
mengidentifikasi dan mengurutkan record berikutnya akan disebut sort key tersier. Sehingga
primary key adalah field yang digunakan untuk mengurutkan record dalam sebuah file,
secondary field digunakan untuk menentukan posisi relatif diantara satu set record yang ada
ketika primary key memiliki nilai yang sama untuk tiap record pada set tersebut. Dalam
contoh sebelumnya, ketika dua record memiliki nilai sama untuk PART_NO, nilai terkecil
untuk WARHSE akan berada pada urutan pertama.
Istilah urutan acak relatif berlaku untuk sebuah field yang filenya tidak diurutkan. Key
merupakan hal yang penting karena diperlukan untuk memproses atau menempatkan record
dalam file.
Terdapat tiga tingkatan arsitektur yang terkait dengan database dan sistem manajemen
daabase :Tingkat Konseptual, tingkat logika, dan tingkat fisik. Pada tingkat konseptual
database adalah kumpulan beragam elemen informasi yang akan digunakan demi tujuan
klafikasi. Sebagai contoh sebuah database pesanan penjualan. Database ini akan didefinisikan
pada tingkat konseptual dengan ragam informasi yang terkait di dalamnya (misal transaksi
penjualan, penerimaan kas, dan informasi pelanggan) dan tujuan digunakannya data tersebut
(misal entri pesanan dan tagihan pelanggan).
Arsitektur database tingkat fisik sangat erat kaitannya dengan teknik implementasi khusus
dan hal-hal yang terkait dengan metode akses data. Terdapat tiga metode akses yang paling
penting (sekuensial, sekuensial berindeks, dan langsung).
Tidak ada satu pun pendekatan standar untuk mengembangkan sebuah model
data konseptual untuk sebuah sistem tertentu. Model data entity-relationship (E-R)
merupakan salah satu pendekatan yang populer. Model E-R secara sederhana
menggambarkan hubungan antara segmen-segmen yang ada. Dalam model E-R,
istilah lebih banyak digunakan daripada istilah segmen, dan istilah atribut digunakan
untuk menjelaskan field individual atau item data tertentu. Bila ditinjau secara grafis,
model E-R menggunakan otak segi empat untuk entitas, elips untuk atribut, dan kotak
belah ketupat untuk menggambarkan hubungan atau relasi. Gambar dibawah ini
menunjukkan sebuah diagram E-R untuk segmen-segmen yang terkait dengan contoh
record PART yang dijelaskan sebelumnya. Dapat dilihat bahwa dua hubungan
digunakan, satu untuk mengindikasi hubungan antara pemasok dan komponen mesin,
dan yang lain untuk mengindikasikan hubungan komponen mesin dengan lokasi
penyimpanan.
Model konseptual lainnya yang biasa digunakan yaitu teknik pemodelan
berorientasi objek (OMT), yang pada awalnya dikembangkan untuk pemograman
berorientasi tujuan dan diadaptasi untuk pemodelan data oleh Blaha, Premerlani, dan
Rumbaugh. Pekerjaan ini dilakukan dengan mengamati kompenen-kompenen dalam
sistem yang sedang dibuat modelnya sebagai kelas-kelas objek. Dalam metode
ini kelas objek adalah sebuah segmen dan sebuah objek adalah sebuah kejadian
tertentu. Seperti halnya dalam model E-R OMT menentukan hubungan antar segmen.
Hubungan pewarisan (inheritance) diciptakan ketika sebuah kelas objek dibagi ke
dalam sub kelas. Sebagai contoh, sebuah kelas umum (general class) atau orangtua
dapat berupa perlengkapan pabirk, yang memiliki subkelas seperti perkakas, mesin-
mesin berat, perlengkapan reparasi, dan sebagainya. Hal penting dalam hal ini adalah
atribut untuk kelas umum perlengkapan pabrik semuanya diwariskan ke setiap
subkelasnya. Untuk memahaminya, kita akan menentukan sebuah kelas objek sebagai
berikut:
OPERASI FUNGSI
Selection Menciptakan sebuah tabel baru dari baris yang dipilih dalam
tabel yang tersedia. Baris dipilih berdasarkan nilai data
mereka.
Join Menciptakan sebuah tabel baru dari baris yang dipilih dalam
dua tabel yang tersedia. Baris dipilih berdasarkan nilai data
mereka.
Projection Menciptakan sebuah tabel baru dengan menghapus kolom dari
tabel yang tersedia.
BENTUK ATURAN
NORMAL
Bentuk normal Mebagi tabel-tabel untuk menghapus repeated group.
pertama
Bentuk normal Membagi tabel-tabel sehingga tidak ada kunci yang
kedua menentukan nilai dari sebuah field non kunci.
Bentuk normal Membagi tabel-tabel sehingga tidak ada field non kunci yang
ketiga menentukan nilai-nilai dari field non kunci lainnya.
1
1. Baca record transaksi
(TR)
2. Baca record master 2
(MR)
3. Bandingkan nilai kunci TR (kunci)
TR (kunci) < MR (kunci) MR (kunci) 4
3
record
4. Tuliskan record TR (kunci) = MR (kunci)
7
masterke file master Ya
5
5. Akhir dari ujian file
6. Mutakhirkan dan Tidak
tuliskanrecord master
8 6
ke file master baru
7. Tuliskan record
kesalahanke file
9
kesalahan
8. Baca record transaksi
9. Akhir dari pemrosesan
Kesimpulannya, organisasi file sekuensial berguna ketika pemrosesan dalam bentuk batch
diperlukan. Pemorsesan dalam bentuk batch umumnya membutuhkan pengurutan dan
pemorsesan seluruh record baik file transaksi maupun file master. Dalam kasus di mana
hanya sejumlah kecil proporsi record yang dibutuhkan untuk diakses, salah satu metode akses
file berikut ini akan lebih efisien.
b. File Berindeks
Setiap atribut dapat diekstrak dari record dalam sebuah file primer dan digunakan
untukmembangun sebuah file baru yang bertujuan menyediakan sebuah indeks untuk file
aslinya. Bentuk file seperti ini disebut file berindeks atau file terinversi. Sebuah file dikatakan
terinversi penuh bila terdapat indeks di setiap field-nya. Waktu pemrosesan yang dibutuhkan
untuk menyimpan sebuah file yang terisi penuh dapat menjadi lama karena indeks-indeks
yang ada harus senantiasa diperbarui kapan saja record ditambah, dihapus, atau dimodifikasi.
Lebih lanjut, setiap indeks memerlukan tambahan penyimpanan disket, dan disket yang
dibuat dapat berakhir dengan kebutuhan ruang penyimpanan yang lebih besar daripada file
data tersebut.
DDL juga dapat digunakan untuk menentukan subskema yaitu jumlah pengguna
individual database. Sebagai contoh, departemen pemrosesan pesanan penjualan dapat
melihat dan mengedit elemen-elemen data DATE, CUSTOMER_NAME,
ACCOUNT_NUMBER, dan SCHEDULED_DATE_OF_COMPLETION dan departemen
produksi tidak punya akses untuk mengedit CUSTOMER_NAME dan
ACCOUNT_NUMBER. Dapat dilihat dalam contoh ini program aplikasi ( misal sistem
akuntansi ) secara otomatis menghasilkan laporan DDL yang diperlukan untuk membuat
subskema. DDL juga dapat digunakan untuk menciptakan, memodifikasi dan menghapus
table-tabel dalam pengatiran relasional.
Queri SELECT
SELECT adalah kalimat pertama dalam pernyataan SQL yang dimaksudkan untuk
mengekstrak data dari sebuah database. SELECT menentukan field-field mana saja (misalnya
item-item dalam sebuah database) atau ekspresi-ekspresi dalam field yang ingin ditampilkan.
SELECT Everything tanda * adalah karakter queri khusus yang mencerminkan “seluruh
field”. Query ini memilih seluruh field dari tabel kata kunci.
SELECT * FROM kata kunci
SELECT (memilih) field tertentu (misal item) berdasarkan nama. Jika ingin memasukan
lebih dari satu item, pisahkan item-item tersebut dengan koma. Urutkan item-item yang
dimunculkan.
SELECT nama, negara, mata uang FROM perusahaan
ORDER BY mengurutkan tampilan data dalam urutan tertentu berdasarkan klausa. ORDER
BY adalah opsional, jika tidak dimasukannya maka data yang muncul tidak akan berurutan.
Default urutan yang digunakan adalah dari keci-besar (A-Z, 0-9 )
WHERE Condition dapat digunakan untuk menentukan record mana saja dari tabel yang
tercantum dalam klausa FROM yang akan muncul dalam hasil pernyataan SELECT. WHERE
adalah opsional, namun bila dimasukkan ia akan mengikuti FROM. Jika WWHERE tidak
dimasukkan maka seluruh record akan dipilih.
String Functions pernyatan SQL berikut ini mengilustrasikan sebuah pencarian kata. Kata
goodwill akan dicari dalam field notes. Topic.
SELECT * FROM notes
Fungsi Instr akan mencari sebuah field khusus (“topic” dalam queri) untuk sebuah deret
(string) karakter tertentu yang ada dalam kutipan (“goodwill”) dengan mulai pada posisi
tertentu dalam field (1 mengindikasikan posisi pertama, awal dari string). Fungsi lainnya dari
string adalah
Left$ ( string, length): string adalah ekspresi dari karakter paling kiri sedangkan
length adalah jumlah karakter untuk kembali.
Right$ ( string, length ): string adalah ekspresi dari karakter paling kanan sedangkan
length adalah jumlah karakter untuk kembali.
+ Tambah
- Kurang
* Kali
/ Bagi
Ketika dimasukkan dalam klausa SELECT, hasil sebuah ekspresi akan ditampilkan sebagai
sebuah kolom tabel perhitungan.
Operator pembanding, setiap operator pembanding berikut ini dapat digunakan :
= sama dengan
<> tidak sama dengan
> lebih besar dari
< lebih kecil dari
>= lebih besar sama dengan
<= lebih kecil sama dengan
Menyesuaikan sebuah nilai dalam sebuah daftar operator IN memungkinkan pemilihan baris
dengan sebuah nilai kolom yang sesuai dengan setiap nilai dalam sebuah rangkaian nilai.
SELECT * From company
AND
OR
Fungsi Agregat
Fungsi COUNT (*) AS tally mengilustrasikan bagaimana menghitung jumlah occurrence
dalam sebuah hasil dan nama hasil (AS tally).
Klausa AS tally memberikan fungsi agregat dengan nama “tally” yang akan digunakan dalam
laporan. Klausa AS bersifat pilihan atau opsional dengan fungsi agregat. Untuk melihat
efeknya yaitu sebagai contoh : klik “New Report” pada formulir SQL, hapus bagian “AS
tally” dalam queri dan kemudian jalankan queri yang telah dimodifikasi. Adapun fungsi
tambahan tersebut antara lain :
AVG (column-name) memberikan hasil nilai rata-rata
MAX (column-name) memberikan hasil nilai tertinggi
MIN (column-name) memberikan hasil nilai terendah
SUM (column-name) menghitung total nilai
GROUP BY
GROUP BY mengombinasikan record-record dengan nilai-nilai identik dalam daftar
filed tertentu ke dalam sebuah record tunggal. Nilai ringkasan (summary value) dibuat untuk
setiap record jika memasukkan sebuah fungsi agregat, seperti SUM atau COUNT dalam
pernyataan SELECT. Jika pernyataan SQL memasukkan klausa WHERE, record akan
dikelompokkan setelah mengaplikasikan kondisi WHERE ke dalam record.
Inner Join
Inner Join mengombinasikan field-field dari beberapa tabel. Contoh berikut ini memasukkan
nama perusahaan untuk perusahaan 15 untuk setiap topiknya dalam tabel notes.
SELECT company.name, notes.topic
FROM company INNER JOIN notes
ON company.company = notes.company
WHERE company.company = “20”
Nested Queries
Seseorang dapat menentukan sebuah queri dalam klausa WHERE yang dijalankan sebelum
queri yang berada di luar menghasilkan satu atau lebih baris yang kemudian dibandingkan
dengan baris yang dihasilan oleh queri yang berada di luar. Contoh berikut ini menemukan
nama perusahaan yang memiliki kode SIC Max (yang paling besar).
SELECT name
FROM company
WHERE SIC = (SELECT MAC (SIC) FROM Company)
UPDATE, INSERT, dan DELETE Queri
Jenis queri ini digunakan untuk memodifikasi sebuah database. Pernyataan UPDATE terdiri
atas tiga klausa :
UPDATE tablename
SET column-assignment-list
WHERE conditional-expression
Klausa WHERE bersifat pilihan. Bila digunakan, klausa WHERE menentukan sebuah
kondisi untuk UPDATE menguji kapan memproses setiap baris dalam tabel. Benttuk umum
pernyataan DELETE adalah :
DELETE FROM tablename
WHERE conditional-expression
Pernyataan DELETE menghapus baris-baris dari tablename yang memenuhi kondisi yang
ditentukan dalam klausa WHERE.
Pernyataan INSERT memiliki dua bentuk umum. Bentuk yang paling sederhana digunakan
untuk memasukkan sebuah baris tunggal dalam sebuah tabel yaitu :
INSERT INTO tablename
VALUES (constant-list)
Pernyataan INSERT juga dapat digunakan bersamaan dengan sebuah queri pernyataan
SELECT untuk menyalin baris suatu tabel ke tabel lainnya.
Independensi Data
Solusi untuk masalah penyimpanan file-file independen terletak pada pemisahan secara fisik
penanganan data dari penggunaan logis file-file tersebut. Hal ini menuntut dua perubahan
mendasar : pertama, penyimpanan data terintegrasi dalam sebuah database tunggal dan
kedua, seluruh akses untuk file (database) yang terintegrasi ini dilakukan melalui suatu sistem
perangkat lunak tunggal yang didesain untuk mengelola aspek-aspek fisik penanganan dan
penyimpanan data.
Keamanan
Keunggulan DBMS lainnya adalah kemampuan memberikan kode keamanan untuk item data
dan atribut-atribut pemrosesannya. Salah satu bagian file kamus data berisi sebuah daftar
pengguna sistem terotorisasi dan kode akses serta keamanan. Masing-masing elemen data
unik yang dapat berupa kode prioritas numerik. Kode-kode tersebut akan menentukan item
data yang akan dimunculkan oleh pengguna DBMS dan kode-kode tersebut dapat juga untuk
membatasi dan menentukan pemrosesan yang dapat digunakan oleh pengguna untuk setiap
item data.
Nama
Definisi
Alias
Karakteristik
Ukuran
Rentang nilai
Pengkodean
Editing data
Utilisasi
Pemilik
Dimana digunakan
Kode keamanan
Diperbarui
Tujuan utama sebuah kamus data adalah mengurangi atau paling tidak mengawasi
inkonsistensi penggunaan yang dihasilkan dari pemrosesan alias dan mengurangi kelebihan
data sejumlah mungkin. Tanggung jawab untuk kamus data harus disentralisasikan pada
seorang administrator database (DBA). Administasi database bertanggung jawab
menanggulangi ketidak-cocokan dan masalah koordinasi dan komunikasi antara kelompok-
kelompok pengguna ketika memakai bersama sebuah database. Tugas utama DBA adalah
menetapkan standar, konvensi dan dokumentasi sumber-sumber data. Administrasi kamus
data merupakan alat utama yang digunakan DBA untuk melaksanakan tugas tersebut.
Kamus data dapat dikelola secara manual, namun biasanya ia terkomputerisasi dan
diproses seperti halnya file-file komputer lainnya. Jika kamus digunakan bersama-sama
dengan sebuah DBMS, ia akan disimpan dalam DBMS. Di kasus yang lain, kamus data
adalah prosedur tentang penggunaan kamus dan juga berfungsi sebagai kamus bagi dirinya
sendiri yang membuat hal tersebut merupakan elemen penting dalam administrasi database.
DAFTAR REFERENSI
Bodnar, George H. Dan William S. Hopwood. 2008. Sistem Informasi Akuntansi Edisi 9.
Yogyakarta: Penerbit Andi.