BAB 2 LANDASAN TEORI
2.1
Teori-teori Umum 2.1.1 Pengertian Data Menurut Turban ( 2003, p2), data adalah fakta – fakta yang belum diolah atau gambaran – gambaran lebih lanjut dari benda – benda, kejadian – kejadian, kegiatan – kegiatan, dan transaksi – transaksi yang ditangkap, direkam, disimpan, dan diklasifikasikan, tetapi tidak disusun untuk menyampaikan arti khusus lainnya
2.1.2 Pengertian Database Menurut Thomas M. Connolly dan Carolyn Begg (2002, p15), database adalah kumpulan data yang saling berhubungan secara logis dan dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi. Menurut Date (2000, p10), database adalah sekumpulan data persisten yang digunakan oleh suatu sistem aplikasi dalam perusahaan. Persisten artinya suatu data telah tersimpan dalam DBMS dan hanya dapat dihapus melalui DBMS dengan cara-cara tertentu. Jadi, database adalah sekumpulan data yang saling berhubungan yang disimpan untuk memenuhi kebutuhan informasi suatu organisasi.
8
2.1.3 Arsitektur Database Menurut Thomas M. Connolly (2002, p34), tiga level arsitektur database (Three-Level ANSI-SPARC Architecture) yaitu: •
External Level External level merupakan view database yang ada pada user. Setiap kumpulan
user
mempunyai
view
masing-masing
tergantung
kebutuhan informasi dari kumpulan user tersebut. •
Conceptual Level Level ini menggambarkan data apa saja yang disimpan dalam database dan hubungan antara data-data tersebut.
•
Internal Level Level ini merupakan representasi fisik dari database yang ada di komputer. Level ini menggambarkan bagaimana data disimpan dalam suatu database.
Tujuan utama dari tiga level arsitektur database adalah untuk mendapatkan data independence. Pada data independence, kita dapat mengubah data yang ada pada database tanpa mempengaruhi aplikasi yang terkait dengan database tersebut.
2.1.4 Keuntungan Database Menurut Date (2000, p15), keuntungan menggunakan database adalah sebagai berikut: •
Compactness : mengurangi penggunaan kertas. 9
•
Speed : mesin dapat mengambil dan mengubah data lebih cepat daripada manusia.
•
Less drudgery : mengurangi pemeliharaan data dengan tangan manusia karena tugas mekanis yang dilakukan dengan mesin jauh lebih baik.
•
Currency : database lebih akurat dan terkini (up to date)
2.1.5 Database Management System (DBMS) Menurut Thomas M. Connolly dan Carolyn Begg (2002, p16), Database Management System (DBMS) adalah suatu sistem software yang memungkinkan user untuk menentukan, menciptakan, merawat, dan mengontrol pengaksesan terhadap suatu database. DBMS merupakan software yang berinteraksi dengan program aplikasi dan database. Komponen-komponen DBMS adalah sebagai berikut: •
Hardware Dibutuhkan untuk menjalankan DBMS dan aplikasi, berupa PC, mainframe, dan jaringan komputer.
•
Software Meliputi software DBMS, Software aplikasi, dan sistem operasi dan juga software network jika dalam penggunaannya menggunakan network.
10
•
Data Komponen yang terpenting dan juga merupakan komponen penghubung antara komponen hardware dan software dengan komponen prosedur dan orang.
•
Prosedur Instruksi dan aturan yang mengatur perancangan dan penggunaan database.
•
Orang semua orang yang terlibat dalam sistem seperti DBA, programmer, aplikasi, pengguna akhir, dan lain-lain.
Beberapa fasilitas yang disediakan dalam DBMS, yaitu: •
DBMS memungkinkan user untuk menentukan suatu database, biasanya menggunakan Data Definition Language (DDL). DDL memungkinkan user untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam database.
•
DBMS memungkinkan user untuk melakukan insert, update, delete, dan retrieve terhadap data-data yang ada dalam database melalui Data Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language.
•
DBMS menyediakan control terhadap pengaksesan suatu database, misalnya sebuah sistem keamanan yang mencegah user yang tidak berkepentingan mengakses suatu database. 11
Keuntungan dari penggunaan DBMS, diantaranya: a) Mengurangai redundansi data. Data yang sama cukup disimpan sekali. b) Menghindari inkonsistensi. Redundansi berkurang sehingga update terhadap data yang sama hanya perlu dilakukan pada satu tabel saja, maka tabel-tabel lain yang berhubungan akan ikut berubah. c) Pengaksesan data beberapa user dalam waktu yang sama. d) Integritas. Data yang tersimpan merupakan data yang akurat. e) Jaminan keamanan dengan pengaturan hak akses terhadap data. f) Standardisasi. Keseragaman dalam penyajian data. g) Meningkatkan aksesibilitas. User dapat memperoleh data yang diinginkan melalui query. h) Meningkatkan produktifitas. Tidak perlu menggunakan bahasa pemrograman yang sulit, cukup menggunakan 4th Generation Languages. i) Meningkatkan pemeliharaan melalui data independence. Aplikasi dan database terpisah sehingga perubahan pada database tidak mengubah program aplikasi. j) Meningkatkan Konkurensi. Pengaturan terhadap data yang diakses oleh beberapa user bersamaan sehingga integritas data tidak hilang. k) Meningkatkan fasilitas back up dan recovery data.
12
Berikut merupakan gambar pemrosesan database menggunakan DBMS: Data entry and report
DBMS Data entry and report
Database Gambar 2.1 Diagram Proses DBMS
2.1.6 Data Definition Language (DDL) Menurut Thomas M. Connolly dan Carolyn Begg (2002, p40), Data Definition Language (DDL) adalah bahasa dalam database yang memungkinkan manusia untuk mendefinisikan dan memberi nama suatu entity, atribut, dan relasi yang dibutuhkan dengan kesatuan integritas dan batasan security. DDL memungkinkan pembuatan dan penghancuran objek-objek yang ada dalam database seperti skema, domain, table, view, dan indeks. DDL yang utama dalam SQL yaitu: •
CREATE : digunakan untuk membuat objek dalam database.
•
ALTER : digunakan untuk mengubah objek dalam database. ALTER hanya dapat digunakan pada domain dan tabel saja.
•
DROP : digunakan untuk menghancurkan objek yang ada dalam database.
13
2.1.7 Data Manipulation Language (DML) Data
Manipulation
Language
(DML)
digunakan
untuk
query,
memasukkan data, mengubah data, dan menghapus data yang ada dalam database. Perintah-perintah DML dalam SQL yaitu: •
SELECT : digunakan untuk melakukan query data dalam database.
•
INSERT : digunakan untuk memasukkan data ke dalam database.
•
UPDATE : digunakan untuk mengubah data yang ada dalam database.
•
DELETE : digunakan untuk menghapus data yang ada dalam database.
2.1.8 4th Generation Languages (4GL) 4th Generation Languages (4GL) atau bahasa pemrograman generasi keempat merupakan bahasa pemrograman non procedural yang lebih sederhana dibandingkan
dengan
bahasa
pemrograman
generasi
ketiga.
Dengan
menggunakan 4GL, user hanya menentukan apa yang ingin dilakukan, bukan bagaimana cara melakukannya. User tidak perlu menentukan langkah-langkah yang diperlukan oleh suatu program dalam mengerjakan suatu task, tapi hanya perlu menentukan parameternya saja untuk men-generate suatu program aplikasi. Contoh 4th Generation Language adalah SQL dan QBE. 4th Generation Languages merupakan:
14
•
Bahasa presentasi (presentation languages) seperti bahasa query (query languages) dan report generator.
•
Bahasa khusus (speciality languages) seperti spreadsheets dan bahasa-bahasa dalam database.
•
Application generator yang menentukan, memasukkan, mengubah, dan me-retrieve data dari database untuk membangun suatu aplikasi.
•
Bahasa pemrograman tingkat tinggi yang digunakan untuk mengenerate kode aplikasi.
2.1.9 Normalisasi Menurut Thomas M. Connolly and Carolyn Begg (2002, p388), normalisasi adalah suatu teknik dalam membuat sekumpulan relasi dengan properti yang sesuai berdasarkan kebutuhan suatu perusahaan. Pada proses normalisasi dilakukan tahap-tahap seperti di bawah ini: •
First Normal Form (1NF) Pada 1NF dilakukan normalisasi terhadap Unnormal Form (UNF) dengan cara menghilangkan repeating group. Ada dua pendekatan dalam menghilangkan repeating group tersebut, yaitu: 1. Mengisi kolom pada baris kosong dengan data-data yang sesuai. 2. Menempatkan data yang berulang beserta keynya dalam tabel yang baru. Berikut ini merupakan contoh tabel yang belum normal (UNF):
15
ClientRental Tabel 2.1. contoh tabel UNF clientNo CR76
cName John kay
propertyNo PG4
pAddress
rentStart
6 Lawrence St,
1-Jul-00
Glasgow PG16
5
rentFinish
rent
ownerNo
oName
31-Aug-
350
CO40
Tina Murphy
01
Novar
Dr,
1-Sep-01
1-Sep-02
450
C093
Tony Shaw
6 Lawrence St,
1-Sep-99
10-June-
350
CO40
Tina Murphy
Glasgow CR56
Aline
PG4
Steward
Glasgow PG36
2
00
Manor
Rd,
10-Oct-00
1-Dec-01
375
CO93
Tony Shaw
Dr,
1-Nov-02
10-Aug-
450
CO93
Tony Shaw
Glasgow PG16
5
Novar
Glasgow
03
Setelah dinormalisasi dengan pendekatan pertama, tabel di atas menjadi: ClientRental Tabel 2.2. normalisasi pertama dari tabel UNF (pendekatan pertama) clientNo CR76
propertyNo PG4
cName John kay
pAddress
rentStart
6 Lawrence St,
1-Jul-00
Glasgow CR76
PG16
John kay
5
Novar
rentFinish
rent
ownerNo
oName
31-Aug-
350
CO40
Tina Murphy
01 Dr,
1-Sep-01
1-Sep-02
450
C093
Tony Shaw
6 Lawrence St,
1-Sep-99
10-June-
350
CO40
Tina Murphy
Glasgow CR56
PG4
Aline Steward
Glasgow CR56
PG36
Aline Steward
2
Manor
00 Rd,
10-Oct-00
1-Dec-01
375
CO93
Tony Shaw
Dr,
1-Nov-02
10-Aug-
450
CO93
Tony Shaw
Glasgow CR56
PG16
Aline Steward
5
Novar
Glasgow
03
16
Jika dinormalisasi dengan pendekatan kedua, maka hasilnya menjadi: Client tabel 2.3. tabel 1NF pertama dari tabel UNF (pendekatan kedua) clienNo
cName
CR76
John Kay
CR56
Aline Steward
PropertyRentalOwner Tabel 2.4. Tabel 1NF kedua dari tabel UNF (pendekatan kedua) clientNo
propertyNo
pAddress
rentStart
rentFinish
Rent
ownerNo
oName
CR76
PG4
6 Lawrence
1-Jul-00
31-Aug-01
350
CO40
Tina Murphy
5 Novar Dr,
1-Sep-
1-Sep-02
450
C093
Tony Shaw
Glasgow
01
6
1-Sep-
10-June-00
350
CO40
Tina Murphy
1-Dec-01
375
CO93
Tony Shaw
10-Aug-03
450
CO93
Tony Shaw
St, Glasgow CR76
CR56
CR56
CR56
PG16
PG4
PG36
PG16
•
Laurence
St, Glasgow
99
2 Manor Rd,
10-Oct-
Glasgow
00
5 Novar Dr,
1-Nov-
Glasgow
02
Second Normal Form (2NF) Pada tahap ini dilakukan normalisasi terhadap 1NF dengan cara menghilangkan ketergantungan parsial, yaitu atribut bukan primary key yang tergantung pada primary key. 17
Cara normalisasi dari 1NF ke 2NF: Identifikasi primary key dari tabel 1NF. Kemudian identifikasi juga ketergantungan parsial yang terdapat pada tabel tersebut. Jika ada ketergantungan parsial, maka atribut tersebut dipisah ke tabel baru dengan menyertakan primary key dari tabel sebelumnya. Contohnya tabel ClientRental pada tabel 1NF di atas masih terdapat ketergantungan parsial, diantaranya: cName tergantung pada clientNo dan pAddress + rent + ownerNo + oName tergantung pada propertyNo. Maka tabel tersebut harus dipisah menjadi tabel yang baru seperti di bawah ini:
Client Tabel 2.5. Tabel 2NF pertama dari 1NF clienNo
cName
CR76
John Kay
CR56
Aline Steward
Rental Tabel 2.6. Tabel 2NF kedua dari 1NF clientNo
propertyNo
rentStart
rentFinish
CR76
PG4
1-Jul-00
31-Aug-01
CR76
PG16
1-Sep-
1-Sep-02
01
18
CR56
PG4
1-Sep-
10-June-00
99 CR56
PG36
10-Oct-
1-Dec-01
00 CR56
PG16
1-Nov-
10-Aug-03
02
PropertyOwner Tabel 2.7. Tabel 2NF kedua dari 1NF propertyNo
pAddress
Rent
ownerNo
oName
PG4
6 Lawrence
350
CO40
Tina Murphy
450
C093
Tony Shaw
350
CO40
Tina Murphy
375
CO93
Tony Shaw
450
CO93
Tony Shaw
St, Glasgow PG16
5 Novar Dr, Glasgow
PG4
6
Laurence
St, Glasgow PG36
2 Manor Rd, Glasgow
PG16
5 Novar Dr, Glasgow
•
Third Normal Form (3NF) Pada tahap ini dilakukan normalisasi terhadap tabel-tabel 2NF yang masih mempunyai ketergantungan transitif. Ketergantungan transitive artinya terdapat atribut bukan primary key yang tergantung pada 19
atribut non primary key lainnya. Tahap normalisasi 3NF dapat dilakukan dengan cara menempatkan atribut-atribut tersebut ke tabel yang lainnya, dan salah satu akan menjadi primary key di tabel baru tersebut. Berikut ini merupakan hasil normalisasi 3NF dari tabel 2NF di atas: Client Tabel 2.8. Tabel 3NF pertama dari tabel 2NF clienNo
cName
CR76
John Kay
CR56
Aline Steward
Rental Tabel 2.9. Tabel 3NF kedua dari tabel 2NF clientNo
propertyNo
rentStart
rentFinish
CR76
PG4
1-Jul-00
31-Aug-01
CR76
PG16
1-Sep-
1-Sep-02
01 CR56
PG4
1-Sep-
10-June-00
99 CR56
PG36
10-Oct-
1-Dec-01
00 CR56
PG16
1-Nov02
20
10-Aug-03
PropertyForRent Tabel 2.10. Tabel 3NF ketiga dari tabel 2NF propertyNo
pAddress
Rent
ownerNo
PG4
6 Lawrence
350
CO40
450
C093
350
CO40
375
CO93
450
CO93
St, Glasgow PG16
5 Novar Dr, Glasgow
PG4
6
Laurence
St, Glasgow PG36
2 Manor Rd, Glasgow
PG16
5 Novar Dr, Glasgow
Owner Tabel 2.11. Tabel 3NF keempat dari tabel 2NF ownerNo
oName
CO40
Tina Murphy
C093
Tony Shaw
CO40
Tina Murphy
CO93
Tony Shaw
CO93
Tony Shaw
21
2.1.10 The Database Development Lifecycle Menurut Thomas M. Connolly (2002, p284), tahapan-tahapan dalam Database Development Lifecycle adalah: Database planning
System definition
Requirement collection and analysis
Database design Conceptual database design DBMS selection (optional)
Application design Logical database design
Physical database design
Prototyping (optional)
Implementation
Data conversion & loading
Testing
Maintenance
Gambar 2.2 Diagram Siklus Basis Data 22
•
Perencanaan Database (Database Planning) Pada perencanaan database dilakukan suatu perencanaan mengenai bagaimana langkah-langkah yang ada dalam Database Development Life Cycle dapat direalisasikan dengan seefektif dan seefisien mungkin.
•
Definisi System (System Definition) Pada tahap ini dilakukan spesifikasi dan ditentukan batasan-batasan terhadap aplikasi database, user view, dan area aplikasinya. Suatu aplikasi database mungkin mempunyai beberapa view untuk user yang berbeda sesuai dengan kebutuhannya masing-masing.
•
Requirement Collection and Analysis Pada tahap ini dilakukan proses pengumpulan dan analisis informasi mengenai bagian informasi yang didukung oleh aplikasi database, dan
menggunakan
informasi
tersebut
untuk
mengidentifikasi
kebutuhan user pada sistem yang baru. Ada tiga pendekatan dalam mengatur kebutuhan suatu aplikasi database dengan user view yang berbeda-beda, yaitu: a) Pendekatan Terpusat (Centralized Approach) Dengan pendekatan terpusat, kebutuhan setiap user digabung menjadi satu set kebutuhan untuk aplikasi database yang baru. b) Pendekatan Terintegrasi (View Integration Approach) Pada pendekatan ini kebutuhan setiap user digunakan untuk membangun model data terpisah untuk merepresentasikan user
23
view. Kemudian hasil dari model data digabungkan pada tahap perancangan database. c) Gabungan dari Pendekatan Terpusat dan Pendekatan Terintegrasi •
Perancangan Database (Database Design) Pada tahap perancangan database dilakukan proses perancangan terhadap database yang akan mendukung tujuan suatu perusahaan. Perancangan database dilakukan dengan tiga tahap yaitu perancangan database secara konseptual, logikal, dan kemudian fisikal.
•
Pemilihan DBMS (DBMS Selection) Pada tahap ini dilakukan pemilihan DBMS yang cocok untuk mendukung aplikasi database. Tahap ini boleh merupakan tahapan optional dalam Database Development Life Cycle.
•
Perancangan Aplikasi (Application Design) Pada tahap ini dilakukan perancangan user interface dan program aplikasi yang menggunakan dan memproses database.
•
Prototyping Pada tahap ini dilakukan pembuatan model kerja aplikasi database yang memungkinkan perancang atau user untuk memvisualisasikan dan mengevaluasi bagaimana final sistem akan berfungsi dengan baik dan menarik. Tahapan ini juga merupakan tahapan optional dalam Database Development Life Cycle.
24
•
Implementation Pada tahap ini dibuat definisi database secara eksternal, konseptual, dan internal dan program aplikasi.
•
Data Conversion and Loading Pada tahap ini dilakukan loading data dari sistem lama ke sistem yang baru.
•
Testing Pada tahap ini dilakukan pengujian terhadap aplikasi database apakah masih terdapat error dan sesuai dengan kebutuhan user.
•
Operational Maintenance Setelah aplikasi database diimplementasikan pada suatu perusahaan, sistem harus dimonitor dan dipelihara secara terus-menerus. Jika diperlukan perubahan, maka dilakukan langkah-langkah sebelumnya pada Database Development Life Cycle dimulai dari langkah pertama.
2.1.11 Perancangan Database Setelah membahas Database Development Life Cycle, sekarang akan dijelaskan lebih lanjut mengenai metode-metode perancangan database dimulai dari perancangan database secara konseptual, logikal, maupun fisikal. 2.1.11.1 Perancangan Database Konseptual Pada perancangan database secara konseptual dilakukan langkah-langkah sebagai berikut: 1. Mengidentifikasi tipe entity yang dibutuhkan oleh view. 25
2. Mengidentifikasi relasi yang terjadi antara entity-entity yang telah didefinisikan. 3. Mengidentifikasi atribut-atribut yang berhubungan dengan entity dan relationship yang telah didefinisikan. 4. Menentukan domain atribut. 5. Menentukan atribut yang menjadi candidate key dan primary key pada tiap entity. 6. Menggunakan
konsep
enhanced
modelling
seperti
specialization, generalization, aggregation, dan composition untuk entity yang ada jika diperlukan. Langkah ini merupakan langkah optional. 7. Menghilangkan redundant relationship. 8. Memeriksa kembali model konseptual yang telah dibuat, apakah sudah mendukung transaksi yang dibutuhkan pada view. 9. User melakukan review terhadap model konseptual yang telah dibuat, untuk memastikan bahwa model yang dibuat merupakan representasi dari view yang akan dibuat.
2.1.11.2 Perancangan Database Logikal Setelah merancang database konseptual, langkah berikutnya yang akan dilakukan adalah merancang Database logikal. Langkah-langkah yang dilakukan dalam perancangan . Database logikal ada dua, yaitu membangun dan memvalidasi model data logical bagi masing-masing 26
view dan model data logikal globalnya. Tahap-tahap yang dilakukan dalam membangun dan memvalidasi model data logikal bagi masingmasing view adalah: 1. Menghilangkan fitur-fitur yang tidak comapatible dengan model relasional, diantaranya menghilangkan many-to-many binary
relationship
types,
many-to-many
recursive
relationship types, relasi kompleks, dan menghilangkan atribut yang multi-valued. 2. Menurunkan relasi untuk model data logikal dengan cara: •
Membuat relasi antara strong entity yang ada. Untuk atribut composite seperti nama, cantumkan yang penting saja seperti fName (nama depan) dan lName (nama belakang).
•
Untuk weak entity types, primary key-nya diturunkan dari setiap owner entity.
•
Untuk one-to-many binary relationship, entity yang ada di satu sisi ditentukan sebagai parent entity dan sisi yang lain sebagai child entity.
•
Untuk one-to-one binary relationship, apabila terdapat mandatory participation pada kedua sisi, gabungkan entity yang terlibat menjadi satu tabel dan pilih salah satu primary key dari entity asalnya menjadi primary key pada tabel yang baru dan primary key yang lainnya digunakan 27
sebagai alternate key. Apabila terdapat mandatory participation pada sisi pertama, maka yang harus dilakukan adalah menentukan entity parent dan child dari kedua tabel. Primary key pada tabel parent akan menjadi primary key juga di tabel child. Dan apabila terjadi optional participation pada kedua sisi, maka harus ditentukan primary key dari tabel mana yang akan di-copy ke tabel lain yang berhubungan. •
Untuk superclass / subclass relationship types, identifikasi entity superclass sebagai parent entity dan entity subclass sebagai parent entity.
•
Untuk many-to-many binary relationship types, buat sebuah tabel untuk merepresentasikan relationship dan beberapa atribut yang menjadi bagian dari relationship tersebut. Letakkan primary key dari entity-entity yang berhubungan ke tabel yang baru sebagai foreign key. Foreign key tersebut juga akan menjadi primary key pada tabel yang baru.
•
Untuk relasi kompleks, buat sebuah
tabel yang
merepresentasikan relationship dan beberapa atribut yang menjadi bagian dari relationship tersebut. Kemudian letakkan primary key dari entity-entity yang berelasi kompleks ke dalam tabel yang baru dibuat sebagai foreign
28
key. Foreign key yang mewakili relasi many, misalnya 0...* atau 1...* akan membetuk primary key juga pada tabel yang baru. •
Untuk atribut multi-valued, buat sebuah tabel yang merepresentasikan atribut multi-valued dan primary key dari tabel yang lama menjadi foreign key pada tabel yang dibuat.
3. Membuat normalisasi terhadap tabel-tabel yang belum normal. Caranya telah dijelaskan pada bagian 2.1.12. 4. Memastikan bahwa model logikal yang dibuat dapat mendukung kebutuhan view. 5. Menentukan batasan-batasan seperti data yang dibutuhkan, batasan atribut domain, entity integrity, referential integrity, dan enterprise constraint. 6. User melakukan review terhadap model logikal yang telah dibuat, untuk memastikan bahwa model yang dibuat merupakan representasi dari view yang akan dibuat. Kemudian
langkah
selanjutnya
adalah
merancang
dan
memvalidasi model data logikal global dengan mengkombinasikan model data logikal lokal yang telah dibuat. Tahap-tahap yang dilakukan dalam merancang dan memvalidasi model data logikal global adalah: 1. Menggabungkan model data logikal lokal menjadi model data logikal global dengan cara:
29
•
Review nama dan isi setiap entity beserta candidate key dari entity tersebut.
•
Review nama dan isi foreign key pada tiap entity.
•
Gabungkan entity-entity yang ada pada model data logikal lokal.
•
Masukkan (tanpa penggabungan) entity yang unik pada tiap model data logikal lokal.
•
Gabungkan relationship / foreign key model data logikal lokal.
•
Masukkan (tanpa penggabungan) relationship / foreign key yang unik pada setiap model data logikal lokal.
•
Cek apakah masih ada missing entity atau relationship / foreign key.
•
Cek foreign key.
•
Cek integrity constraint.
•
Gambarlah ERD globalnya.
•
Update dokumentasi yang telah dibuat.
2. Validasi model data logikal global menggunakan teknik normalisasi untuk memastikan model data yang dibuat mendukung kebutuhan user. 3. Cek perkembangan di masa yang akan datang untuk menentukan apakah ada perubahan yang signifikan di masa
30
yang akan datang untuk memastikan bahwa model data logikal yang dibuat dapat mengakomodasi perubahan tersebut. 4. Review model data logikal global dengan user untuk memastikan bahwa model data logikal yang dibuat merupakan representasi perusahaan yang sebenarnya.
2.1.11.3
Perancangan Database Fisikal Perancangan database fisikal dilakukan untuk menterjemahkan
model data logikal global bagi DBMS target. Tujuannya adalah untuk membuat skema database relasional dari model data logikal global sehingga dapat diimplementasikan pada DBMS target. Langkah-langkah yang harus dilakukan dalam perancangan database fisikal yaitu: 1. Menterjemahkan model data logikal global bagi DBMS target. Dalam menterjemahkan model data logikal ada beberapa langkah yang harus dilakukan, yaitu: •
Merancang tabel-tabel untuk memutuskan bagaimana cara merepresentasikan tabel-tabel pada model data logikal global dalam DBMS target.
•
Merancang representasi data yang diturunkan untuk memutuskan bagaimana merepresentasikan data turunan pada model data logikal dalam DBMS target.
•
Merancang enterprise constraint bagi DBMS target.
31
2. Merancang representasi fisik database untuk meningkatkan efisiensi penyimpanan data. Tingkat efisiensi penyimpanan data dipengaruhi oleh throughput transaksi, waktu respon, dan disk
storage.
Langkah-langkah
yang
dilakukan dalam
merancang representasi fisik database yaitu: •
Menganalisis transaksi untuk mengetahui fungsionalitas transaksi pada database dan menganalisis transaksitransaksi penting. Caranya dengan mapping semua path transaksi ke tabel-tabel atau relasi, menentukan tabel mana yang sering diakses oleh transaksi, dan menganalisis datadata transaksi yang terlibat pada tabel tersebut.
•
Memilih organisasi file untuk menentukan organisasi file yang efisien bagi setiap table atau relasi. Cara pemilihan organisasi file yang efisien ada beberapa, diantaranya heap, hash, ISAM (Indexed Sequential Access Method), B*-tree, dan cluster.
•
Memilih index untuk menentukan apakah penambahan index akan meningkatkan performa sistem.
•
Memperkirakan
disk
space
yang
dibutuhkan
oleh
database. 3. Merancang user view yang telah didefinisikan pada saat pengumpulan
dan
analisis
Development life cycle. 32
kebutuhan
pada
database
4. Merancang
security
measures
bagi
database
sebagai
spesifikasi dari tiap user. 5. Mempertimbangkan redundansi
untuk
pengenalan
terhadap
pengontrolan
menentukan
apakah
pengontrolan
redundansi yang dilakukan dengan teknik normalisasi akan meningkatkan performa sistem. Langkah-langkah yang harus dilakukan adalah: •
Mengkombinasikan relasi one-to-one.
•
Menduplikasi non-key attribute dalam relasi one-to-many untuk mengurangi join.
•
Menduplikasi foreign key dalam relasi one-to-many untuk mengurangi join.
•
Menduplikasi atribut many-to-many untuk mengurangi join.
•
Memperkenalkan kembali repeating groups.
•
Menggabungkan tabel look up dengan tabel dasar.
•
Membuat ekstrak tabel-tabel.
6. Memonitor sistem operasional dan meningkatkan performa sistem untuk memperbaiki rancangan yang telah dibuat atau merefleksikan perubahan kebutuhan.
33
2.1.12 Diagram Arus Data (Data Flow Diagram) Menurut Yourdon (1989, p139), Data Flow Diagram adalah model atau alat yang digunakan untuk menggambarkan sistem sebagai jaringan dari sekumpulan proses fungsional, yang dihubungkan satu dengan yang lainnya oleh suatu aliran data dan meneruskannya menjadi data. Ada Tiga Tingkatan dalam Aliran data : 1.
Diagram Konteks Merupakan tingkatan paling pertama yang menggambarkan ruang lingkup dari sistem yang akan dijalankan. Diagram ini hanya memiliki satu proses yang menggambarkan sistem secara keseluruhan dan hubungan antara sistem dengan unit – unit diluar sistem tersebut
2.
Diagram Nol Diagram yang menggambarkan proses – proses dan aliran data yang terjadi di dalam suatu sistem. Proses – proses ini dapat dipecah menjadi proses – proses dan aliran data yang lebih terperinci.
3.
Diagram Rinci Diagram yang menggambarkan rincian proses – proses yang ada pada diagram nol dan proses – proses ini dapat dipecah lagi menjadi proses – proses yang lebih terperinci
34
Data Flow diagram menggunakan simbol-simbol sebagai berikut:
Simbol
Keterangan Suatu proses yang didukung atau dipicu oleh data Alat penyimpanan seperti file induk atau file referensi Arah arus data
Gambar 2.3 Simbol Dalam Data Flow Diagram
2.1.13 State Transition Diagram Menurut Jeffrey, A. Et al.(1996,P364), State Trasition Diagram suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Trasition Diagram digambarkan dengan sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian – kejadian tersebut dari satu state ke state lain. Ada dua macam simbol yang menggambarkan proses State Transition Diagram (STD), yaitu : 1. Gambar Persegi Panjang menunjukkan state dari sistem
Gambar 2.4 Simbol State dalam State Transition Diagram 35
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yan diatas menunjukkan kejadian yang menyebabkan transisi yang terjadi. Label yang dibawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
Gambar 2.5 Simbol Transisi dalam State Transition Diagram Contoh
STD
:
Verifikasi Valid Login Username And Password
Menu Utama
Tidak Valid
Gambar 2.6 Contoh State Transition Diagram
2.1.14 Entity Relationship Modelling Menurut Connoly and Begg (2002, p30), salah satu aspek yang sulit dalam
perancangan
database
adalah
kenyataannya
bahwa
perancang,
programmer, dan pemakai akhir cenderung melihat data dengan cara yang berbeda. Untuk memastikan pemahaman secara alamiah dari data dan bagaimana data digunakan oleh perusahaan dibutuhkan sebuah bentuk komunikasi yang non-teknis dan bebas dari kebingungan. Berikut ini adalah notasi Entity Relationship Modelling menurut Connolly dan Begg : 36
Entity Name
A
B Related To
Relationship Name
Gambar 2.7 Notasi Entity Relationship Modelling
2.1.14.1
Entity Type Tipe Entity adalah kumpulan objek – objek dengan properti yang
sama, yang didefinisikan oleh perusahaan yang keberadaannya tidak bergantung. Konsep dasar dari bentuk Entity Relationship adalah tipe entity. Sebuah tipe entity memiliki keberadaan yang bebas dan bisa menjadi objek dengan keberadaan fisik atau menjadi objek dengan keberadaan konseptual. Ini berarti perancang yang berbeda mungkin mengidentifikasikan entity yang berbeda. Entity Eccurence adalah objek dan tipe entity yang dapat diidentifikasikan secara unik.
37
2.1.14.2
Tipe Relationship Tipe Relationship adalah sebuah gabungan yang mempunyai arti
diantara tipe – tipe entity. Setiap tipe relationship diberi nama sesuai dengan fungsinya.Relationship Occurence
adalah suatu gabungan yang dapat
diidentifikasikan secara unik, yang meliputi suatu kejadian dari setiap tipe entity yang berpartisipasi. Derajat dari relationship adalah jumlah dari pertisipasi tipe entity dalam sebuah tipe relationship tertentu. Entity yang berkaitan dalam sebuah tipe relationship dikenal sebagai Participant dalam Relationship dan jumlah partisipant dalam relationship disebut sebagai derajat dari relationship. Oleh karena itu derajat dari relationship menunjukkan jumlah dari entity yang terkait dalam relationship. Sebuah relationship berderajat dua disebut binary. 2.1.14.3
Attribute Atribute atau atribut adalah sifat dari sebuah entity atau sebuah
tipe relationship. Atribut menyimpan nilai dari setiap entity occurence dan mewakili bagia utama dari data yang disimpan. 2.1.14.4
Strong and Weak Entity Tipe Entity kuat adalah tipe entity yang keberadaannya tidak
bergantung kepada tipe entity lainnya. Karakteristik lainnya adalah setiap kejadian entitynya secara unik mampu diidentifikasikan menggunakan atribut primary key pada entitynya. Tipe entity lemah adalah tipe entity yang bergantung kepada tipe entity lainnya. Karakteristiknya adalah setiap kejadian entity tidak bisa 38
diidentifikasikan secara unik hanya dengan menggunakan atribut yang ada pada entitynya. 2.1.14.5
Structural Constraint Tipe utama dari batasan hubungan didalam relationship adalah
multiplicity. Multiplicity adalah sejumlah kemungkinan dari kejadian – kejadian dari sebuah entity type di dalam sebuah hubungan n-nary ketika nilai – nilai lainnya ditentukan. Multiplicity biasanya dibagi menjadi dua batasan terpisah, yaitu : • Cardinality :
mendeskripsikan
jumlah
maksimum
dari
kemungkinan kejadian – kejadian yang saling berhubungan untuk sebuah partisipasi entity dalam proses penentuan entity relationship. • Participant : menentukan apakah semua kejadian – kejadian entity akan ikut berpartisipasi dalam sebuah relationship atau hanya beberapa saja yang ikut berpartisipasi. Jenis – jenis multiplicity menurut Connolly dan Begg, meliputi : 1. One to One ( 1 : 1 ) Relationship
Group 1
Relate to
A
R1
B
R2
Group 2
C D
. Gambar 2. 8 Gambar One to One Relationships 39
Pada gambar 2.8 dilihat bahwa A hanya terhubung one to one (1:1) dengan c dan B hanya terhubung one to one(1:1) dengan D. Jadi dari gambar tersebut bisa kita dapat menuliskan notasi multiplicitynya dengan gambar di bawah ini :
Relate to Group 1
Group 2
1..1
1..1
Multiplicity
Gambar 2.9 notasi One to One Relationships
2. One to Many ( 1 : * ) Relationships
Group 1
Relate to
Group 2
A
R1
D
B
R2
E
C
R3
F
Gambar 2.10 Gambar One to Many (1:*) Relationships
40
Pada gambar 2.10 dapat dilihat bahwa B terhubung one to many (1:*) dengan dengan D dan E. Jadi dari gambar tersebut kita dapat menulis notasi multiplicitynya dengan gambar di bawah ini :
Relate to Group 1
Group 2
1..1
0..*
Multiplicity
Gambar 2.11 Notasi One to many (1:*) Relationships
3. Many to Many ( * : * ) Relationships
Group1
Relate to
Group2
A
R1
D
B
R2
E
R3
F
C
R4
G
Gambar 2.12 Gambar Many to Many Relationships
41
Berdasarkan gambar 2.12 dapat dilihat bisa melihat bahwa A terhubung dengan one to many dengan D dan E. Sedangkan E terhubung One to many dengan A dan B. Jadi dari entity Group 1 (value A dari gambar 2.12 ) dan Group 2 ( value E dari gambar 2.12 ) terhubung many to many ( * : * ) . Dari gambar tersebut kita dapat menulis notasi multiplicitynya dengan notasi di bawah ini.
Relate to Group1
Group 2
1..*
0..*
multiplicity
Gambar 2.13 Notasi Many to Many 2.1.14.6
Keys Keys
mempunyai
peranan
yang
sangat
penting
untuk
menghubungkan suatu objek dengan objek yang lainnya. Keys diletakkan pada suatu yang telah ditentukan kedudukannya, agar dapat dihubungkan dengan atribut pada entity yang lain. Beberapa jenis yang biasa digunakan antara lain : 1. Candidate Key yaitu himpunan atribut minimal yang secara unik mengidentifikasikan tiap – tiap keberadaan suatu entity type.
42
2. Primary Key yaitu candidate key yang dipilih secara unik untuk mengidentifikasikan tiap – tiap keberadaan suatu entity type. 3. Foreign Key yaitu himpunan atribut dalam suatu relasi yang cocok dengan candidate key dari beberapa relasi. 4. Alternate Key yaitu Candidate key yang tidak terpilih menjadi Primary key.
2.2
Teori-teori Khusus 2.2.1 Internet Menurut Barry Eaglestone dan Mick Ridley (Web Database Systems), internet merupakan sebuah integrasi dari jaringan – jaringan dengan menggunakan standart protokol komunikasi dimana protokol ini mampu menghubungkan jaringan – jaringan yang ada. Internet
berintegrasi
dengan
jaringan
komputer
dengan
mengimplementasikan protokol komunikasi standard. Protokol komunikasi adalah suatu set aturan yang memungkinkan komunikasi antarkomputer. Jaringan komputer yang berbeda biasanya menggunakan protokol yang berbeda pula. Akan tetapi, internet mengimplementasikan suatu protokol standard yang disebut TCP/IP
(Transmission
Control
Protocol
/
Internet
Protocol)
yang
memungkinkan jaringan komputer untuk berkomunikasi satu sama lain. 2.2.2 Web Menurut Barry Eaglestone dan Mick Ridley (2001, p24), web adalah aplikasi dari internet yang menyediakan informasi dan running program yang disimpan pada komputer yang dihubungkan dengan internet. Web merupakan 43
sebuah memory dengan informasi yang dapat direpresentasikan, disimpan, dan diakses melalui internet. 2.2.3 Istilah-istilah yang Berhubungan dengan Internet dan Web Berikut ini merupakan istilah-istilah yang berhubungan dengan internet dan web: •
Hypermedia : suatu media atau informasi yang disimpan pada web.
•
HTML : bahasa untuk pengkodean informasi hypermedia.
•
URL : alamat yang digunakan untuk mengakses resource web seperti dokumen hypermedia.
•
HTTP : protocol yang digunakan untuk mengakses resource web.
•
Browser : suatu sistem perangkat lunak yang memungkinkan user untuk mengakses layanan internet.
•
Gateway : lingkungan lain seperti sistem database yang diakses dari web.
2.2.4 Web Database Seiring dengan perkembangan teknologi dalam internet dan web, maka ditemukanlah suatu cara yang dapat memudahkan manusia dalam melakukan berbagai hal pada jarak yang jauh seperti berbelanja, belajar, mencari informasi, dan lain sebagainya, yaitu dengan menggunakan suatu aplikasi web database. Dengan menggunakan suatu database yang diimplementasikan menggunakan web, maka user dapat mengakses informasi yang disediakan dalam suatu
44
database kapan saja dan dimana saja melalui internet. Untuk menghubungkan user dengan database digunakan suatu user interface. 2.2.5 Arsitektur Web Database Aplikasi berbasis web harus dibangun dalam arsitektur clientserver yang merupakan gabungan dari client system dan web server system. Client system menampilkan halaman web yang memberikan user interface ke sistem web database dan ditampilkan melalui browser. Sedangkan web server system menyimpan dokumen-dokumen, script, dan program. 2.2.6 Pendekatan dalam Pengimplementasian Web Database Ada tiga pendekatan dalam pengimplementasian web database, yaitu: 1. Pendekatan server side Pada pendekatan ini browser diperluas untuk menambah fungsi dan eksternal aplikasinya serupa dengan penggunaan server sebagai gateway untuk mengeksekusi sistem lain. Pada umumnya pendekatan server side digunakan untuk proses lengkap dengan ukuran besar. 2. Pendekatan client side Pada pendekatan ini proses aplikasi dieksekusi di sisi server dimana data harus diterima dari client ke server, data diproses di server, kemudian hasil harus dikirim dari server ke client. Pendekatan ini efektif jika digunakan pada proses dengan skala kecil seperti animasi web pages, validasi data atau perhitungan.
45
3. Pendekatan client-server Pada pendekatan ini server dibagi antara dua sistem komputer dimana client menyiapkan interface dan server sebagai layanan (service). Sistem client-server lebih menguntungkan daripada dua pendekatan sebelumnya. Pada sistem ini pengeksekusian program dapat dilakukan pada komputer dan sistem operasi yang berbeda, dan bahkan arsitektur yang berbeda. Tapi harus dieksekusi pada mesin yang sama. 2.2.7 Proses perancangan Web Database Pada proses perancagan web database, hal pertama yang harus dilakukan adalah merancang databasenya. Proses perancangan database sudah dijelaskan sebelumnya pada bagian 2.1.10. Menurut Barry Eaglestone dan Mick Ridley(Web Database Systems ,2001), web database lifecycle adalah sebagai berikut :
46
The Organization
Requirement Analysis
Description of Organization and System Requirements
Conceptual web databse design
Data Analysis
Conceptual Data Model
Web Data Analsis
Conceptual Web Data Model
Logical Database Design
Logical Web Database Design
Logical Data Model
Logical web Data Model
Physical Data design
Physical Web Data design
Physical Web Data Model
Gambar 2.14 Diagram Web Database Lifecycle 47
2.2.7.1 Model Konseptual Halaman Web Analisis web data menghasilkan sebuah model data konseptual untuk direpresentasikan dalam halaman web. Input – input dari web ini adalah deskripsi dari organisasi dan kebutuhan – kebutuhan sistem , bersama model konseptual untuk database yang merupakan suatu aplikasi dari sitem web database. 2.2.7.1.1 Membuat Model ER untuk Model Data Web Sistem web database mengintregrasikan aplikasi database melalui
halaman
web.
Halaman
web
sebagai
aplikasi
yang
menggambarkan entity, atribut dan relasi diantaranya sebagai data. Pada saat merancang isi data dari halaman web, sangat penting untuk mendefiniskan relasi antar halaman – halaman web dimana relasi ini berbeda dengan relasi pada tabel database. Ada dua aspek dari halaman web yang dibutuhkan untuk merancang model ER, yaitu : 1. Hyperlinks Media Halaman web memiliki hyperlinks media sebagai alat navigasi untuk berpindah dari entitas – entitas yang berhubungan, yang digambarkan sebagai panah untuk menunjukkan arah tujuan dari tiap link.
Gambar 2.15 Notasi Link 48
2. Konsep Aplikasi Web Konsep yang merupakan representasi dari halaman – halaman web itu sendiri. Konsep ini digambarkan dalam bentuk oval, dan disebut sebagai concept box.
Gambar 2.16 Notasi Concept Box 2.2.7.2 Web Data Design Pada proses ini kita menguraikan proses bagaimana struktur data halaman web ditentukan. Proses mengambil model konsetual web sebagai input dan mendefinisikan skema untuk setiap halaman web. Sebuah halaman web menyediakan akses ke sumber daya web dengan menunjukkan informasi, dan dengan mengijinkan user untuk berinteraksi dengan halaman web. Halaman web dapat menjadi kompleks, kedua – duanya dalam kaitannya dengan gambar yang ditujukan dan proses yang dihubungkan. Dalam perancangan web database diutamakan efisiensi dan kecepatan run time dari input yang dilakukan user, maupun link menuju halaman lain dibuat sederhana dan jelas. Abaikan kompleksitas lain seperti gambar yang tidak perlu dan penerapan konektifitas database yang akan membuat halaman web menjadi lebih kompleks.
49
2.2.8 PHP Menurut www.wikipedia.org , PHP adalah bahasa pemograman komputer yang dibangun khusus untuk membuat website yang dinamis. PHP umumnya digunakan untuk skrip client-server, tetapi dapat juga digunkan sebagai aplikasi yang berdiri sendiri. Menurut www.php.net, PHP adalah Bahasa skripting yang dibuat dan ditujukan khusus untuk membangun web dan dapat digabungkan dengan skrip HTML. PHP dapat digunakan di berbagai medium Operating Systems dan bahasa PHP yang terbaru saat ini adalah PHP 5.25 yang baru dirilis pada tanggal 5 November 2007.
2.2.9 Perpustakaan Perpustakaan adalah kumpulan buku – buku yang tersedia dan dimaksudkan untuk dibaca serta tempat untuk menambah pengetahuan, tempat mendapatkan keterangan atau tempat mencari hiburan dalam buku – buku bacaan, dan lain lain. (Rusina Sjahrial Pamuntjak, “Pedoman Penyelenggaraan Perpustakaan, 1972,Jakarta:Djambatan) Menurut Sulistyo Basuki (1991, p3), perpustakaan berbeda dengan dokumentasi. Perpustakaan adalah sebuah ruangan, bagian sebuah gedung, ataupun gedung itu sendiri yang digunakan untuk menyimpan buku dan terbitan lainnya yang biasanya disimpan menurut tata susunan tertentu untuk digunakan pembaca, bukan untuk dijual. Dokumentasi adalah penyusunan, penyimpanan
50
temu balik penyebaran, evaluasi terhadap setiap informasi yang direkam dalam bidang ilmu pengetahuan, teknologi, ilmu – ilmu sosial dan kemanusiaan Menurut www.wikipedia.org, perpustakaan berisi koleksi dari informasi, sumber, sumber daya, dan jasa yang diorganisasikan yang dijalankan oleh suatu badan masyarakat institusi, atau perseorangan. Dalam arti yang lebih tradisional, perpustakaan adalah kumpulan dari buku\ 2.2.9.1 Jenis – jenis Perpustakaan Menurut www.wikipedia.org, perpustakaan dewasa ini memiliki koleksi di selain buku. Koleksi dapat berupa media – media lain, yaitu dapat berupa peta, hasil cetakan, atau dokumern lainnya dan hasil karya seni yang tersimpan dalam berbagai jenis media. Media – media penyimpanan meliputi microfilm, audio tape, CD’s, LP’s, kaset, video tapes, dan DVD. Perpustakaan juga menyediakan fasilitas umum untuk mengakses data dari CD, memiliki database dan internet. Pada perpustakaan modern dalam usaha menyediakan materi, diperlukan seorang ahli di bidang perpustakaan yang biasa disebut pustakawan. Ada banyak jenis dari perpustakaan, dibagi menjadi beberapa kategori, meliputi : •
Berdasarkan entitasnya ( institusi atau badan korporasi ) : -
•
Perpustakaan Sekolah
Perpustakaan Umum -
Perpustakaan Swasta
-
Perpustakaan Perusahaan
-
Perusahaan Pemerintah
51
•
•
-
Perpustakaan Akademis
-
Perpustakaan Sejarah Sosial
Berdasarkan tipe dokumenyang dimiliki : -
Perpustakaan Digital
-
Perpustakaan Data
-
Perpustakaan Gambar ( Fotografi )
-
Perpustakaan Transparansi
-
Perpustakaan Alat Bantu ( Tool )
Berdasarkan Subjek yang dimiliki : - Perpustakaan Arsitektur - Perpustakaan Seni - Perpustakaan Hukum - Perpustakaan Medis - Perpustakaan Theologia
•
•
Berdasarkan Pengguna Jasa Yang Dilayani : -
Komunitas Militer
-
Pengguna yang Buta atau Cacat secara fisik
Berdasarkan Divisi Profesional Tradisional : -
Perpustakaan Akademik
-
Perpustakaan Sekolah
-
Perpustakaan Peneliti
-
Perpustakaan Umum
-
Perpustakaan Spesial 52
2.2.9.2 Departemen di dalam Perpustakaan Menurut www.wikipedia.org, untuk Organisasi Perpustakaan Besar, biasa dibagi menjadi beberapa departemen yang memiliki staf para Pustakawan Profesional, meliputi :
o
Sirkulasi melayani pengguna jasa perpustakaan dan peminjaman dan pengembalian koleksi dan pe-rak-an buku.
o
Teknikal servis Bekerja di belakang layar, mengkatalogkan dan memproses materi baru dan mematangkan materi mentah.
o
Referensi Staf bertugas di meja, menjawab pertanyaan pengguna jasa perpustakaan, memberi instruksi pada pengguna, dan mengembangkan progamming perpustakaan.
o
Pengembangan Koleksi memesan materi dan menjaga dana atau keuangan.
2.2.9.3 Sistem Pengkodean Buku
Menurut www.wikipedia.org dan Sulistyo Basuki (1991,p402-408), sistem pengkodean buku pada perpustakaan yang digunakan secara umum adalah Sistem DDC ( Dewey Decimal Classification ). Sistem Pengkodean DDC mengorganisir semua pengetahuan dalam 10 kelas utama. 10 kategori utama ini lebih lanjut dibagi lagi menjadi bagian lain. Tiap kelas utama memilki 10 divisi, dan tiap divisi memiliki 10 seksi. Sistem ini terdiri dari 10 kelas utama , 100 divisi , 1000 seksi. Keuntungan dari DDC adalah dengan penggunaan decimal
53
untuk tiap kategori
memungkinkan dilakukan penomoran yang murni dan
terstruktur dengan baik.
10 Kategori utama DDC: •
000 – Ilmu Komputer, Informasi, dan Kerjaan Umum
•
100 – Filosofi dan Psikologi
•
200 – Agama
•
300 – Ilmu Sosial
•
400 – Bahasa
•
500 – Ilmu Pengetahuan
•
600 – Teknologi
•
700 – Seni dan Penciptaan Ulang
•
800 – Literatur
•
900 – Sejarah dan Geografi
54