bab 2 landasan teori 2.1 teori umum 2.1.1 data dan...
TRANSCRIPT
9
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Data dan Informasi
Menurut Navathe dan Elmasri (2000, p4), data merupakan fakta yang
dapat disimpan dan memiliki arti yang mutlak atau selengkapnya. Pengertian
data, informasi, dan sistem informasi menurut Turban E. et al (2003, p15), 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. Informasi adalah sebuah kumpulan dari fakta-
fakta (data) yang disusun di dalam beberapa cara, jadi kumpulan fakta tersebut
bisa berarti bagi penerimanya. Sistem Informasi adalah sebuah sistem yang
mengumpulkan, mengolah, menyimpan, menganalisa, dan menyebarkan
informasi untuk sebuah tujuan tertentu.
2.1.2 Basis Data dan Sistem Basis Data
Basis data adalah suatu koleksi data yang saling berhubungan secara
logikal, dan sebuah deskripsi data yang dirancang untuk memenuhi kebutuhan
informasi suatu organisasi (Connolly, 2005, p15). Dapat dikatakan juga basis data
adalah kumpulan file yang saling berhubungan, hubungan tersebut biasa
10
ditunjukkan dengan kunci dari tiap file yang ada. Suatu basis data menunjukkan
satu kumpulan data yang dipakai dalam satu lingkup organisasi. Basis data
menjadi salah satu bagian penting dari perusahaan untuk menyimpan informasi-
informasi yang diinginkan perusahaan tersebut.
Sistem basis data pada dasarnya adalah sekumpulan aplikasi yang
berinteraksi dengan basis data, yaitu DBMS dan basis data itu sendiri (Connoly
2005, p4). Keseluruhan sistem terkomputerisasi tersebut membolehkan pengguna
menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.1.3 Database Management System (DBMS)
2.1.3.1 Pengertian DBMS
Menurut Connolly dan Begg (2005, p16), DBMS adalah sistem software
yang memungkinkan atau mengijinkan pengguna untuk mendefinisikan,
membuat, memelihara basis data, dan menyediakan akses kontrol kepada basis
data. Definisi DBMS menurut Silberschatz (2002, p1) adalah perangkat lunak
yang dirancang untuk membantu pemeliharaan dan penggunaan sekumpulan basis
dari data yang diperlukan oleh sistem yang seiring dengan penggunaannya
berkembang dengan pesat.
Menurut Connolly dan Begg (2005, p16), pada umumnya suatu DBMS
menyediakan fasilitas sebagai berikut :
1. Data Definition Language (DDL).
DDL memungkinkan pengguna untuk mendefinisikan basis data dan
menentukan tipe data, struktur data serta batasan dari data yang akan disimpan
11
ke dalam basis data.
2. Data Manipulation Language (DML).
DML memungkinkan pengguna untuk mengubah, menambah, dan mengambil
data dari basis data. Sebagai pusat dari penyimpanan data dan deskripsi dari
data itu sendiri, DML menyediakan suatu fasilitas yang disebut dengan bahasa
query (query language). Bahasa query yang umumnya digunakan dan diakui
secara de facto saat ini adalah SQL (Structured Query Language).
3. Menyediakan pengawasan terhadap akses basis data, contohnya :
• Security system, menghalangi user yang tidak terdaftar memasuki basis
data.
• Integrity system, mengatur konsistensi dari data yang disimpan.
• Concurrency control system, memperbolehkan hak akses ke basis data
dibagi.
• Recovery control system, me-restore basis data ke posisi konsisten
semula setelah kegagalan dari hardware atau software.
• User-accessible catalog, terdiri dari deskripsi data yang terdapat dalam
basis data.
2.1.3.2 Komponen dari Lingkungan DBMS
Menurut Connolly dan Begg (2005, p18-21), komponen-komponen dari
DBMS:
1. Data
Data pada sebuah sistem basis data baik itu sistem single-user maupun sistem
12
multi-user harus terintegrasi (terhubung) dan dapat digunakan bersama.
2. Perangkat Keras (Hardware), terdiri dari:
a. Penyimpanan permanen (magnetic disk atau hard disk), perangkat I/O
(contohnya: disk drives), Device Controller, I/O Channels, dan lainnya.
b. Hardware processor dan main memory, digunakan untuk mendukung saat
eksekusi sistem software basis data.
3. Perangkat Lunak (Software)
Sistem operasi (seperti Microsoft Windows atau Linux), network software
(jika diperlukan) dan program aplikasi pendukung lainnya.
4. Prosedur
Prosedur berhubungan dengan instruksi-instruksi dan aturan-aturan yang
menentukan bagaimana perancangan dan penggunaan dari basis data.
Prosedur tersebut meliputi :
• Masuk ke dalam DBMS
• Menggunakan fasilitas DBMS atau aplikasi program
• Memulai dan menghentikan DBMS
• Membuat backup dan recovery basis data
• Menangani kesalahan perangkat keras dan perangkat lunak
5. User
Orang-orang yang terlibat dalam DBMS yang dapat digolongkan menjadi 4
tipe berbeda, yaitu: Data and Database Administrator, Database Designer,
Application Developers, dan End-Users.
13
2.1.3.3 Keuntungan dan Kerugian DBMS
Keuntungan DBMS menurut Connolly dan Begg (2005, p26-29):
1. Kontrol terhadap redudansi data
Pendekatan basis data mencoba menghapus redudansi dengan
menggabungkan file-file sehingga salinan data yang sama tidak disimpan.
2. Konsisten
Basis data membantu menghilangkan atau mengatur redudansi. Hal ini
akan mengurangi terjadinya data yang tidak konsisten.
3. Informasi lebih dari jumlah data yang sama
Dengan integrasi data operasional, hal ini akan memungkinkan
perusahaan untuk mendapatkan tambahan informasi dari data yang sama.
4. Pembagian data
Basis data dimiliki oleh seluruh organisasi dan dapat dibagi oleh semua
user yang memiliki hak akses. Dengan demikian, banyak user akan dapat
membagi banyak data.
5. Perbaikan integritas data
Database integrity menunjuk pada keabsahan dan konsistensi dari data
yang disimpan.
14
6. Perbaikan keamanan
Database security adalah pelindung basis data dari user yang tidak
memiliki hak akses. Tanpa keamanan yang tepat, integrasi hanya akan
membuat data menjadi lebih mudah diserang.
7. Enforcement of standards
Integrasi membolehkan DBA untuk menentukan dan menyelenggarakan
standard yang diperlukan.
8. Skala ekonomi
Dengan menggabungkan data operasional suatu perusahaan ke dalam satu
basis data, dan membuat sebuah kumpulan aplikasi yang berkerja pada
satu sumber data, akan dapat menghemat pengeluaran suatu perusahaan.
9. Penyeimbangan terhadap conflicting requirement
Setiap user atau departemen memiliki kebutuhan yang berbeda akan data.
Karena basis data berada di bawah control DBSA, maka DBA dapat
membuat keputusan tentang perancangan dan operasional dari suatu basis
data.
10. Perbaikan akses data dan responsibilitas
Sebagai hasil dari integrasi, data yang melewati batas departemen dapat
diakses oleh end-user. Hal ini akan menghasilkan sebuah sistem dengan
fungsionalitas yang tinggi.
15
11. Peningkatan produktivitas
DBMS menyediakan sebuah lingkungan fourth-generation environment
yang terdiri dari tools-tools yang menyederhanakan pengembangan
aplikasi basis data. Hal inilah yang dapat meningkatkan produktivitas
programmer dan juga mengurangi waktu pengembangan.
12. Perbaikan maintenance melalui data independence
DBMS memisahkan deskripsi mengenai data dengan aplikasi. Hal ini
akan membuat aplikasi bebas untuk berubah dalam data description. Hal
inilah yang disebut dengan data independence.
13. Peningkatan concurrency
DBMS akan mengatur akses basis data secara bersamaan dan memastikan
agar terjadi kehilangan informasi atau integritas.
14. Perbaikan pelayanan backup dan recovery service
DBMS menyediakan fasilitas yang dapat mengurangi proses yang akan
mengalami kegagalan.
16
Kerugian DBMS menurut Connolly dan Begg (2005, p29-30):
1. Kompleksitas
Ketentuan-ketentuan dari fungsionalitas yang kita harapkan dari sebuah
DBMS yang baik membuat DBMS menjadi sebuah bagian dari software
yang sangat rumit.
2. Ukuran
Kompleksitas dan luasnya fungsionalitas yang dimiliki DBMS membuat
DBMS menjadi sebuah bagian software yang besar, yang menempati
banyak megabyte dari disk space dan membutuhkan ukuran memori yang
besar untuk dapat berjalan dengan efisien.
3. Biaya DBMS
Biaya DBMS berubah-ubah secara signifikan, tergantung pada
lingkungan dan fungsionalitas yang disediakan.
4. Biaya perangkat keras tambahan
Kebutuhan akan tempat penyimpanan untuk DBMS dan basis data
mengharuskan untuk membeli tempat penyimpanan tambahan.
Selanjutnya untuk mencapai kinerja yang dibutuhkan, diperlukan untuk
membeli alat yang lebih besar, bahkan sebuah alat khusus yang ditujukan
untuk menjalankan DBMS.
17
5. Biaya konversi
Biaya ini termasuk biaya pelatihan staff untuk dapat menggunakan sistem
yang baru, dan biaya memperkerjakan specialist staff untuk membantu
dalam konversi dan menjalankan sistem. Hal inilah yang menyebabkan
mengapa beberapa organisasi merasa terikat dengan sistem yang sudah
ada dan tidak ingin pindah ke teknologi basis data yang lebih modern.
6. Kinerja
DBMS secara umum berfungsi untuk memenuhi kebutuhan data dari
berbagai aplikasi. Efek yang dapat ditimbulkan adalah beberapa aplikasi
akan menjadi lebih lambat saat dijalankan ketika menggunakan DBMS.
7. Dampak dari kegagalan lebih besar
Sumber yang terpusat meningkatkan kemungkinan sistem untuk mudah
terkena serangan. Karena semua user dan aplikasi bergantung pada
ketersediaan DBMS, Kegagalan beberapa komponen dapat menghentikan
operasi.
18
2.1.4 Siklus Hidup Aplikasi Basis Data (Database Application Lifecycle)
Gambar 2.1 Tahapan dari Aplikasi Daur Hidup Basis Data
19
2.1.4.1 Perencanaan Basis Data
Perencanaan basis data adalah kegiatan pengaturan yang memungkinkan
tahap-tahap dalam aplikasi basis data dapat diwujudkan secara efisien dan secara
efektif mungkin (Connolly, 2005, p285). Tahap perencanaan basis data juga
harus menjelaskan :
• Mission statement dari proyek basis data. Mission statement ini menjelaskan
tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek
basis data, dan menyediakan maksud yang lebih jelas dalam pembuatan
aplikasi basis data secara efektif dan efisien (Connolly, 2005, p286). Dengan
merumuskan apa sebenarnya yang menjadi tujuan dari proyek basis data ini
diharapkan dapat lebih memfokuskan pekerjaan pada tahap selanjutnya.
• Mission objectives. Selain merumuskan tujuan dari sebuah proyek basis data,
harus diperhatikan juga mengenai tugas apa saja yang harus didukung oleh
basis data tersebut. Setiap mission objective akan menjelaskan tugas tertentu
yang harus didukung oleh basis data, dengan asumsi jika basis data
mendukung mission objectives, maka mission statementnya juga akan sesuai.
2.1.4.2 Definisi Sistem Basis Data
Pendefinisian sistem (system definition) menggambarkan ruang lingkup
dan batasan aplikasi basis data dan kebanyakan pandangan pengguna (major user
view) (Connolly, 2005, p286). Hal ini sangat penting dilakukan dalam proses
perancangan basis data agar lebih terfokus pada proyek basis data yang dibuat.
20
Pandangan pengguna (user view) sangat diperlukan untuk
mengidentifikasi informasi-informasi yang dibutuhkan oleh user. Pandangan
pengguna menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari
sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari
sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia, atau
pengawasan persediaan (Connolly, 2005, p287).
2.1.4.3 Analisis dan Pengumpulan Kebutuhan
Tahap selanjutnya yang dilakukan setelah Pendefinisian Sistem adalah
tahap pengumpulan kebutuhan dan analisis. Dalam tahap ini dilakukan proses
pengumpulan dan analisa informasi tentang bagian organisasi yang akan
didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk
mengidentifikasi kebutuhan pengguna terhadap sistem yang baru.
Suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara
atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-
kebutuhannya dinamakan dengan teknik fact-finding (Connolly, 2005, p314).
Ada lima kegiatan yang dipakai dalam teknik ini, yaitu :
• Memeriksa dokumentasi
Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan
memeriksa dokumen-dokumen, formulir, laporan, dan berkas yang terkait
dengan sistem yang sedang berjalan pada perusahaan. Dengan pemeriksaan
ini diharapkan dapat mengetahui data-data apa saja yang akan disimpan di
dalam basis data.
21
• Wawancara
Wawancara bertujuan untuk mengumpulkan fakta-fakta, memeriksa
kebenaran fakta yang ada dan mengklarifikasinya, menimbulkan antusiasme,
melibatkan pengguna akhir, mengidentifikasi kebutuhan-kebutuhan, dan
mengumpulkan ide-ide dan pendapat (Connolly, 2005, p317). Teknik ini
memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna
yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang
berbeda-beda.
• Mengamati operasional perusahaan
Pengamatan ini memungkinkan untuk ikut serta atau mengamati seseorang
melakukan kegiatan untuk mempelajari sistem. Salah satu faktor pengamatan
dapat berhasil adalah dengan mencari informasi sebanyak mungkin tentang
aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut.
• Penelitian
Selain melakukan penelitian yang berasal dari dalam organisasi itu sendiri,
dapat juga dilakukan pengumpulan informasi yang berasal dari luar
organisasi tersebut. Beberapa contoh sumber informasi tersebut antara lain
jurnal komputer, buku-buku referensi, dan internet. Sumber informasi
tersebut juga dapat digunakan untuk memecahkan masalah serupa.
• Kuesioner
Teknik lain yang dapat digunakan untuk mengumpulkan informasi yang
dibutuhkan adalah dengan menggunakan kuesioner. Kuesioner adalah suatu
dokumen dengan tujuan khusus yang memungkinkan fakta-fakta
22
dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan
yang diberikan (Connolly, 2005, p320).
2.1.4.4 Entity-Relationship Modeling
Model Entity-Relationship merupakan salah satu model yang dapat
memastikan pemahaman yang tepat terhadap data dan bagaimana
penggunaannya di dalam suatu organisasi (Connolly, 2005, p342). Model ini
dimulai dengan identifikasi entitas dan relationship antardata yang harus
direpresentasikan di dalam model, dan kemudian ditambahkan atribut dan setiap
constraint pada entitas, relationship, dan atributnya.
2.1.4.4.1 Konsep Dasar Model E-R
Beberapa konsep dasar dalam model E-R, yaitu:
A. Tipe Entitas
Tipe entitas adalah sekumpulan objek yang memiliki properti yang
sama, yang diidentifikasikan di dalam organisasi karena keberadaannya yang
bebas (independent existence) (Connolly, 2005, p343). Sedangkan entity
occurrence adalah sebuah objek dari satu tipe entitas yang dapat
diidentifikasi secara unik (Connolly, 2005, p345). Keberadaan objek-
objeknya secara fisik/nyata (physical existence), seperti entitas Pegawai,
Rumah, dan Pelanggan, atau secara konseptual/abstrak (conceptual
existence), seperti entitas Inspeksi, Penjualan, dan Peninjauan.
23
Setiap tipe entitas dilambangkan dengan sebuah persegi panjang
yang diberi nama dari entitas tersebut. Nama tipe entitas biasanya adalah
kata benda tunggal. Huruf pertama dari setiap kata pada nama tipe entitas
ditulis dengan huruf besar. Representasi diagram tipe entitas terlihat pada
gambar 2.2.
Gambar 2.2 Representasi Diagram dari Tipe Entitas Pegawai dan Cabang
Tipe entitas dapat diklasifikasikan menjadi :
o Tipe Entitas Kuat, yaitu tipe entitas yang keberadaannya tidak bergantung
pada tipe entitas lainnya (Connolly, 2005, p354).
o Tipe Entitas Lemah, yaitu tipe entitas yang keberadaannya bergantung
pada tipe entitas lainnya (Connolly, 2005, p355).
Gambar 2.3 Representasi Diagram Tipe Entitas Kuat dan Tipe Entitas Lemah
24
B. Tipe Relationship
Tipe relationship adalah sekumpulan hubungan antartipe entitas yang
memiliki arti (Connolly, 2005, p346). Sedangkan relationship occurrence
adalah sebuah hubungan yang dapat diidentifikasikan secara unik, yang
meliputi sebuah kejadian (occurrence) dari setiap tipe entitas di dalam
relationship (Connolly, 2005, p346).
Tipe relationship digambarkan dengan sebuah garis yang
menghubungkan tipe entitas-tipe entitas yang saling berhubungan. Garis
tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda
panah satu arah di samping nama hubungannya.
Biasanya sebuah relationship dinamakan dengan menggunakan kata
kerja, seperti Mengatur, atau dengan sebuah frase singkat yang meliputi
sebuah kata kerja, seperti DisewaOleh. Sedangkan tanda panah ditempatkan
di samping nama relationship yang mengindikasikan arah bagi pembaca
untuk mengartikan nama dari suatu relationship. Huruf pertama dari setiap
kata pada nama relationship ditulis dengan huruf besar. Representasi
diagram dari suatu tipe relationship terlihat pada gambar 2.4.
Gambar 2.4 Representasi Diagram dari Tipe Relationship
25
C. Atribut
Atribut adalah properti sebuah entitas atau relationship (Connolly,
2005, p350). Menurut Jeffery L. Whitten (2004, p295), atribut merupakan
properti deskriptif atau karakteristik dari sebuah entitas. Atribut menampung
nilai yang menjelaskan setiap entity occurrence dan menggambarkan bagian
utama dari data yang disimpan di dalam basis data.
Atribut domain adalah sekumpulan nilai yang dibolehkan bagi satu
atau lebih atribut (Connolly, 2005, p350). Atribut dapat diklasifikasikan
menjadi:
1) Simple attribute adalah atribut yang terdiri dari komponen tunggal dengan
keberadaaannya yang bebas (Connolly, 2005, p351).
2) Composit attribute adalah atribut yang terdiri dari beberapa komponen,
dan keberadaan setiap komponen tersebut bebas (Connolly, 2005, p351).
3) Single-valued attribute adalah atribut yang hanya memiliki sebuah nilai
untuk setiap occurrence dari sebuah entitas (Connolly, 2005, p351).
4) Multi-valued attribute adalah sebuah atribut yang memiliki banyak nilai
untuk setiap occurrence dari sebuah tipe entitas (Connolly, 2005, p352).
5) Derived attribute adalah atribut yang merepresentasikan sebuah nilai
yang diturunkan dari atribut lain yang berhubungan atau kumpulan dari
atribut (Connolly, 2005, p352).
26
2.1.4.4.2 Keys
• Candidate key adalah himpunan atribut yang minimal yang secara unik
mengidentifikasikan setiap occurrence dari sebuah tipe entitas (Connolly,
2005, p352).
• Composite key adalah sebuah candidate key yang terdiri atas dua atau lebih
atribut (Connolly, 2005, p353).
• Primary key adalah candidate key yang terpilih untuk mengidentifikasikan
secara unik setiap occurrence dari sebuah tipe entitas (Connolly, 2005,
p353). Pada sebuah tipe entitas biasanya terdapat lebih dari satu candidate
key yang salah satunya harus dipilih untuk menjadi primary key. Pemilihan
primary key didasarkan pada panjang atribut, jumlah minimal atribut yang
diperlukan, dan keunikannya.
• Alternate key adalah setiap candidate key yang tidak terpilih menjadi primary
key, atau biasa disebut dengan secondary key (Whitten, 2004, p298).
• Foreign key adalah sebuah primary key pada sebuah entitas yang digunakan
pada entitas lainnya untuk mengidentifikasikan sebuah relationship (Whitten,
2004, p301).
27
Gambar 2.5 Representasi Diagram Entitas Pegawai dan Cabang Beserta
Atribut dan Primary Keynya
2.1.4.4.3 Batasan Struktural (Structural Constaints)
Batasan-batasan yang menggambarkan pembatasan pada relationship
seperti yang ada pada ‘real world’ harus diterapkan pada tipe entitas yang ikut
serta pada sebuah relationship. Jenis utama dari batasan pada suatu relationship
dinamakan multiplicity (Connolly, 2005, p356).
Multiplicity adalah jumlah occurrence yang mungkin terjadi pada sebuah
tipe entitas yang berhubungan ke sebuah occurrence dari tipe entitas lain pada
suatu relationship (Connolly, 2005, p356).
Derajat yang biasanya digunakan pada suatu relationship adalah binary
relationship, yang terdiri atas :
o One-to-one (1:1) Relationship
Setiap relationship menggambarkan hubungan antara sebuah entity
occurrence pada entitas yang satu dengan sebuah entity occurrence pada
entitas lainnya yang ikut serta dalam relationship tersebut.
28
Gambar 2.6 Semantic net Menunjukkan Dua Occurrence dari
Relationship Pegawai Mengatur Cabang
Gambar 2.7 Multiplicity dari Relationship one-to-one (1:1)
o One-to-many (1:*) Relationship
Setiap relationship menggambarkan hubungan antara sebuah entity
occurrence pada entitas yang satu dengan satu atau lebih entity occurrence
pada entitas lainnya yang ikut serta dalam relationship tersebut.
Gambar 2.8 Semantic net Menunjukkan Tiga Occurrence dari
Relationship Pegawai Melihat RumahSewa
29
Gambar 2.9 Multiplicity dari Relationship one-to-many (1:*)
o Many-to-many (*:*) Relationship
Setiap relationship menggambarkan hubungan antara satu atau lebih entity
occurrence pada entitas yang satu dengan satu atau lebih entity occurrence
pada entitas lainnya yang ikut serta dalam relationship tersebut.
Gambar 2.10 Semantic net Menunjukkan Empat Occurrence dari
Relationship Koran Mengiklankan RumahSewa
Gambar 2.11 Multiplicity dari Relationship many-to-many (*:*)
30
2.1.4.4.4 Cardinality dan Participation Constraints
Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu:
A. Cardinality : nilai maksimum dari relationship occurrence yang mungkin
terjadi untuk sebuah entitas yang ikut serta pada suatu relationship.
B. Participation : menentukan apakah semua atau hanya beberapa entity
occurrence yang ikut serta dalam sebuah relationship (Connolly, 2005, 363).
Participation constraint dibagi menjadi :
o Mandatory participation
Mandatory participation melibatkan semua entity occurrence pada
relationship tertentu (Connolly, 2005, p363).
o Optional participation
Optional participation melibatkan beberapa entity occurrence pada
relationship tertentu (Connolly, 2005, p363). Representasi diagram
terhadap multiplicity sebagai cardinality dan participation constraints
dapat dilihat pada gambar 2.15.
Gambar 2.12 Multiplicity Sebagai Cardinality dan Participation Constraints pada
Relationship one-to-one (1:1) Pegawai Mengatur Cabang
31
2.1.4.5 Perancangan Basis Data
Perancangan basis data merupakan suatu proses pembuatan sebuah
rancangan basis data yang akan mendukung tujuan dan operasi suatu perusahaan.
Tujuan utamanya adalah :
• Menampilkan data dan relationship antar data yang dibutuhkan oleh seluruh
area aplikasi utama dan user group.
• Menyediakan model data yang mendukung segala transaksi yang diperlukan
pada data.
• Menspesifikasikan rancangan minimal yang yang secara tepat disusun untuk
memenuhi kebutuhan performa yang ditetapkan pada sistem (misal : waktu
respon).
Pendekatan dalam desain basis data :
• Top-down : diawali dengan pembentukan model data yang berisi beberapa
entitas high-level dan relationship, yang kemudian menggunakan pendekatan
top-down secara berturut-turut untuk mengindentifikasikan entitas lower
level, relationship dan atribut lainnya.
• Bottom-up : dimulai dari atribut dasar (yaitu, sifat-sifat entitas dan
relationship), dengan analisis dari penggabungan antar atribut, yang
32
dikelompokan kedalam suatu relasi yang menampilkan tipe dari entitas dan
relationship antar entitas.
• Inside-out : berhubungan dengan pendekatan bottom-up tetapi sedikit
berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke
entitas, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi.
• Mixed : menggunakan pendekatan bottom-up dan top-down untuk bagian
yang berbeda sebelum pada akhirnya digabungkan.
Menurut Connolly (2005, pp293-295), terdapat 3 fase dalam perancangan
basis data, yaitu :
• Perancangan Basis Data Konseptual (Conceptual Database Design)
Suatu proses pembentukan model dari informasi yang digunakan dalam
perusahaan, independen dari keseluruhan aspek fisik. Model data dibangun
dengan menggunakan informasi dalam spesifikasi kebutuhan pemakai.
Model data konseptual merupakan sumber informasi untuk tahap
perancangan logikal.
• Perancangan Basis Data Logikal (Logical Database Design)
Suatu proses pembentukan model dari informasi yang digunakan dalam
perusahaan berdasarkan model data tertentu (misal : relasional), tetapi
independen terhadap DBMS tertentu dan aspek fisik lainnya. Model data
33
konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam
model data logikal.
• Perancangan Basis Data Fisikal (Physical Database Design)
Suatu proses yang menghasilkan deskripsi implementasi basis data pada
penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode
akses yang digunakan untuk mencapai akses yang efisien terhadap data.
Dapat dikatakan juga, desain fisikal merupakan cara pembuatan menuju
sistem DBMS tertentu.
2.1.4.6 Seleksi DBMS (optional)
DBMS (Database Management System) adalah perangkat lunak khusus
yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah
basis data (Whitten, 2004, p760).
Karena suatu organisasi memerlukan perluasan atau perubahan pada
sistem yang sedang berjalan, maka akan menjadi hal yang perlu untuk
mengevaluasi produk-produk DBMS yang baru. Tujuannya untuk memilih
sebuah sistem yang sesuai dengan kebutuhan perusahaan saat ini maupun di
masa yang akan datang, yang seimbang dengan biaya-biaya yang dikeluarkan
termasuk dalam pembelian produk DBMS, perangkat lunak maupun perangkat
keras tambahan yang dibutuhkan untuk mendukung sistem basis data, dan biaya-
biaya lain yang berhubungan dengan perubahan dan pelatihan pegawai. Tahapan
utama dalam memilih DBMS antara lain :
34
1) Mendefinisikan syarat-syarat sebagai referensi
2) Daftar singkat dua atau tiga produk
3) Evaluasi produk
4) Merekomendasikan pilihan dan memproduksi laporan
2.1.4.7 Perancangan Aplikasi
Menurut Connolly dan Begg (2005, p299-303), perancangan aplikasi
adalah perancangan user interface dan program aplikasi yang menggunakan dan
memproses basis data.
2.1.4.8 Prototyping (optional)
Menurut Connolly dan Begg (2005, p303-304), prototyping adalah
membuat model kerja dari aplikasi basis data, yang membolehkan perancang atau
user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun
fungsi yang dimiliki sistem. Tujuandari pengembangan prototype aplikasi basis
data adalah untuk memungkinkan pemakai menggunakan prototype untuk
mengidentifikasi keistimewaaan sistem atau kekurangannya, dan
memungkinkan perancang untuk memperbaiki atau melengkapi keistimewaan
(feature) dari aplikasi basis data yang baru.
Ada 2 (dua) strategi prototyping yang umum digunakan sekarang, yaitu
requirement prototyping dan evolutionary prototyping. Requirement prototyping
adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan
35
aplikasi basis data dan ketika kebutuhan sudah terpenuhi prototype tidak
digunakan lagi atau dibuang (discard). Sedangkan evolutionary prototyping
menggunakan tujuan yang sama, tetapi perbedaan pentingnya adalah prototype
tetap digunakan untuk selanjutnya dikembangkan menjadi aplikasi basis data
yang bekerja.
2.1.4.9 Implementasi
Menurut Connolly (2005, p304), implementasi adalah membuat definisi
basis data secara eksternal, konseptual, dan internal dan program aplikasi.
Implementasi merupakan realisasi dari basis data dan perancangan aplikasi.
Implementasi basis data dicapai menggunakan Data Definition Language (DDL)
dari DBMS yang dipilih atau graphical user interface (GUI).
Pernyataan DDL digunakan untuk membuat struktur basis data dan file
basis data kosong. Pandangan pemakai (user view) lainnya juga
diimplementasikan dalam tahapan ini. Bagian dari aplikasi program adalah
transaksi Basis Data yang diimplementasikan dengan menggunakan Data
Manipulation Language (DML) dari sasaran DBMS, mungkin termasuk host
programming language seperti Visual Basic, Delphi, C, C++, Java, COBOL,
Ada, atau Pascal.
2.1.4.10 Data Conversion and Loading
Menurut Connolly dan Begg (2005, p305), data conversion and loading
adalah mencakup pengambil data dari sistem yang lama untuk dipindahkan ke
36
dalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru
menggantikan sistem yang lama. Pada masa sekarang, umumnya DBMS
memiliki kegunaan (utility) untuk memasukan file ke dalam basis data baru.
Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis data-nya.
Kegunaan ini memungkinkan pengembang (developer) untuk mengkonversi dan
menggunakan aplikasi program yang lama untuk digunakan oleh sistem baru.
Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk
memastikan kelancaran transaksi dalam keseluruhan operasi.
2.1.4.11 Testing
Menurut Connolly dan Begg (2005,p305), testing adalah proses
menjalankan program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum
digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara
menyeluruh. Untuk mencapainya harus hati-hati dalam menggunakan
perencanaan strategi uji dan menggunakan data asli untuk semua proses
pengujian. Di dalam definisi testing ini tidak mengunakan pandangan yang biasa,
testing adalah proses demonstrasi tanpa kesalahan. Dalam kenyataan testing tidak
luput dari kesalahan. Jika testing menunjukan keberhasilan, maka pengujian akan
menemukan kesalahan pada program aplikasi dan mungkin terdapat pada
struktur basis data.
Dalam merancang basis data, user dari sistem baru seharusnyaterlibat di
dalam proses testing. Situasi yang ideal untuk melakukan uji sistem adalah
menguji basis data pada perangkat keras yang berbeda, tetapi hal ini sering
37
tidak dilakukan, jika data yang asli digunakan, perlu backup untuk
mengantisipasi kesalahan atau error. Setelah testing selesai, sistem aplikasi siap
diberikan dan diserahkan ke user .
2.1.4.12 Operational Maintenance
Menurut Connolly dan Begg (2005, p306), operational maintenance
adalah proses memantau dan memelihara sistem setelah selesai dipasang. Pada
tahapan sebelumnya, basis data benar-benar diuji dan diimplementasikan.
Sekarang sistem beralih ketahapan pemeliharaan. Yang termasuk aktivitas dari
tahapan pemeliharaan adalah sebagai berikut :
1. Memantau kinerja dari sistem.
2. Pemeliharaan dan upgrade aplikasi basis data-nya (jika diperlukan).
3. Penggabungan kebutuhan baru kedalam aplikasi basis data.
2.1.5 Desain Konseptual, Logical, Fisikal Basis Data
2.1.5.1 Perancangan Basis Data Konseptual
Conceptual database design adalah proses membangun model informasi
yang digunakan organisasi, bebas dari semua pertimbangan fisik (Connolly,
2005, p439). Pertimbangan fisik yang dimaksud meliputi DBMS yang akan
digunakan, program aplikasi, bahasa pemrograman, platform perangkat keras,
unjuk kerja, dan pertimbangan fisik lainnya. Langkah-langkah dalam metodologi
conceptual database design yaitu :
38
Langkah 1 Membangun Local Conceptual Data Model untuk setiap
pandangan pengguna
Bertujuan untuk memecah rancangan menjadi tugas-tugas yang dapat diatur
dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam
organisasi (Connolly, 2005, p442). Hasil dari langkah ini berupa pembuatan satu
atau lebih local conceptual data model yang merupakan penggambaran yang
tepat dan lengkap dari suatu organisasi dilihat dari para pengguna yang berbeda.
Tugas-tugas yang dilakukan pada langkah ini terdiri dari :
• Langkah 1.1 Mengidentifikasi tipe entitas
Tipe entitas dapat dikenali dengan mengidentifikasikan kata benda atau frase
kata benda pada spesifikasi kebutuhan pengguna, objek besar seperti orang
(people), tempat (place), benda (thing) atau konsep (concept). Alternatif lain
adalah dengan mencari obyek yang keberadaannya bebas.
• Langkah 1.2 Mengidentifikasi Relationship Type
Bertujuan untuk mengidentifikasi relationship yang penting yang ada antara
tipe entitas-tipe entitas yang telah diidentifikasi sebelumnya. Tipe
relationship diidentifikasikan dengan mencari kata kerja atau suatu kata yang
berhubungan dengan kata kerja.
• Langkah 1.3 Mengidentifikasi dan menghubungkan atribut dengan
entitas dan relationship
Tujuannya untuk menghubungkan atribut dengan entitas dan tipe relationship
yang tepat. Atribut yang dimiliki oleh setiap entitas dan relationship harus
39
memenuhi karakteristik atribut yaitu simple/composite attribute, single/multi-
valued attribute, dan derived attribute.
• Langkah 1.4 Menentukan domain atribut
Domain adalah sekumpulan nilai dimana satu atau lebih atribut memperoleh
nilainya (Connolly, 2005, p450). Contoh menentukan domain pada atribut
JenisKelamin di entitas Mahasiswa adalah dengan ‘L’ atau ’P’.
• Langkah 1.5 Menentukan atribut Candidate Key, Primary Key dan
Alternate Key
Tujuannya untuk mengidentifikasi candidate key setiap tipe entitas, dan jika
terdapat lebih dari satu candidate key maka terpilih satu sebagai primary key
dan sisanya dapat kita jadikan sebagai alternate key.
• Langkah 1.6 Pertimbangkan penggunaan enhance modelling concepts
(langkah pilihan)
Maksud dari langkah ini adalah untuk menentukan specialization,
generalization, aggregation, composition.
o Spesialisasi : proses memaksimalkan perbedaan antara anggota-anggota
entity dengan mengidentifikasi karakteristik khususnya.
o Generalisasi : proses meminimalkan perbedaan antara anggota-anggota
entity dengan mengidentifikasikan ciri-ciri umumnya.
o Agregasi: menggambarkan "has a" atau "is part of" relationship antara
tipe entity, dimana salah satu entity sebagai keseluruhan dan entity.
dimana salah satu entity sebagai keseluruhan dan entity yang lain menjadi
bagiannya.
40
o Composition : sebuah bentuk spesifik dari agregasi di mana ada
hubungan kepemilikan yang kuat antara keseluruhan dan bagian. Dalam
composition, entity yang merupakan bagian hanya dapat berhubungan ke
satu entity yang merupakan keseluruhan. sedangkan dalam agregasi, satu
entity bagian dapat menjadi bagian dari beberapa entity keseluruhan.
• Langkah 1.7 Memeriksa redudansi
Bertujuan memeriksa conceptual model untuk menghindari adanya
redundansi atau pengulangan data dalam model. Ada dua kegiatan yang
dapat dilakukan pada tahap ini:
1) Memeriksa kembali one-to-one relationship (1:1)
2) Menghilangkan relasi yang redundan
• Langkah 1.8 Memvalidasi conceptual model dengan transaksi
Bertujuan untuk memastikan local conceptual data model
mendukung transaksi yang dibutuhkan oleh pandangan pengguna (Connolly,
2005, p456). Dua pendekatan untuk memastikan local conceptual data
model mendukung kebutuhan transaksi :
1) Menggambarkan transaksi (describing the transaction)
2) Menggunakan transaction pathways
• Langkah 1.9 Melihat kembali conceptual data model dengan pengguna
Langkah ini dilakukan dengan tujuan untuk memastikan bahwa data model
merupakan representasi yang benar bagi setiap pandangan.
41
2.1.5.2 Perancangan Basis Data Logikal
Desain basis data logikal adalah proses membangun model informasi
yang digunakan organisasi berdasarkan model data tertentu, tetapi tidak
tergantung dari Database Management System (DBMS) dan pertimbangan fisik
lainnya (Connolly, 2005, p439). Langkah-langkah dalam metodologi logical
database design yaitu:
Langkah 2 Membangun dan validasi logical data model
Tujuannya untuk membangun sebuah logical data model dari sebuah conceptual
data model yang mewakili pandangan tertentu dari organisasi dan kemudian
memvalidasi model ini untuk memastikan bahwa strukturnya benar (dengan
menggunakan teknik normalisasi) dan untuk memastikan dukungannya terhadap
transaksi-transaksi yang dibutuhkan. Kegiatan yang dilakukan pada langkah ini :
• Langkah 2.1 Membuat relasi untuk logical data model
Bertujuan untuk menyaring conceptual data model sehingga fitur-fitur yang
tidak sesuai dengan model relasional dihilangkan. Langkah-langkahnya
antara lain :
1. Menentukan tipe entitas kuat
2. Menentukan tipe entitas lemah
3. Membuat One-to-many (1:*) Relationship
4. Membuat one-to-one (1:1) binary Relationship
a) Mandatory Participation pada kedua sisi
b) Mandatory Participation pada satu sisi
c) Optional Participation pada kedua sisi
42
5. Membuat one-to-one (1:1) recursive Relationship
6. Memecah Superclass/subclass relationship
7. Menghilangkan many-to-many (*:*) binary relationship types
8. Menghilangkan complex relationship types
9. Menghilangkan multi-valued attributes
• Langkah 2.2 Validasi relasi dengan menggunakan normalisasi
Normalisasi adalah suatu teknik untuk menghasilkan himpunan relasi
dengan properti yang diinginkan berdasarkan kebutuhan-kebutuhan data
suatu organisasi (Connolly, 2005, p388). Proses normalisasi dimulai dengan
memindahkan data sumber ke bentuk tabel dengan format baris dan kolom.
Tabel ini berbentuk tidak normal dan disebut dengan unnormalized table.
Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu
atau lebih kelompok yang berulang (repeating group) (Connolly, 2005,
p403). Repeating group adalah sebuah atribut atau himpunan atribut di
dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah
primary key pada tabel tersebut (Connolly, 2005, p403).
Tingkatan normalisasi yang digunakan sebagai landasan penulisan
skripsi ada tiga tahap yaitu :
a. First Normal Form (1NF)
Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada
relasi tersebut mengandung satu dan hanya satu nilai (Connolly, 2005,
p403). Sebuah relasi akan berada dalam bentuk 1NF jika repeating
43
groupnya sudah hilang. Ada dua pendekatan untuk menghilangkan
repeating group pada tabel yang tidak normal, yaitu:
o Dengan memasukkan data yang sesuai ke dalam kolom yang kosong
dari baris yang mengandung data berulang.
o Dengan menempatkan data yang berulang bersama salinan atribut
kunci pada relasi yang terpisah. Sebuah primary key diidentifikasikan
ke dalam relasi yang baru.
b. Second Normal Form (2NF)
Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap
atribut yang bukan primary key bergantung penuh (fully functionally
dependent) terhadap primary key (Connoly, 2002, p407). Full functional
dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan
B dikatakan bergantung penuh terhadap A (A→B), jika B bergantung
terhadap A, namun bukan subset dari A (Connolly, 2005, p393). Untuk
menghasilkan relasi dalam bentuk 2NF melibatkan penghilangan
ketergantungan sebagian (partial dependency) dan menempatkannya
pada relasi yang baru bersama salinan atribut penentunya (determinant
attribute).
c. Third Normal Form (3NF)
Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF
dan 2NF, dan tidak ada atribut bukan primary key bergantung secara
transitif (transitively dependent) terhadap primary key (Connolly, 2005,
p409). Transitive dependency ialah sebuah kondisi dimana A, B, dan C
44
merupakan atribut dari relasi yang jika A→B dan B→C maka C disebut
bergantung secara transitif (transitively dependent) terhadap A melalui B
(A tidak functionally dependent terhadap B atau C) (Connolly, 2005,
p397).
• Langkah 2.3 Validasi relasi terhadap transaksi pengguna
Bertujuan untuk memastikan bahwa relasi-relasi pada local logical data
model mendukung transaksi-transaksi yang dibutuhkan oleh pengguna,
seperti terinci pada spesifikasi kebutuhan pengguna.
• Langkah 2.4 Menentukan integrity constraint
Integrity constraint adalah batasan-batasan yang harus ditentukan untuk
melindungi basis data agar tetap konsisten (Connolly, 2005, p474). Ada lima
jenis integrity constraint, yaitu :
1) Required data
Beberapa atribut harus selalu berisi nilai yang benar (valid), tidak dapat
bernilai null. Constraint ini harus diidentifikasikan pada saat
mendokumentasikan atribut-atribut pada kamus data (langkah 1.3).
2) Attribute domain constraint
Setiap atribut memiliki domain, yaitu himpunan nilai yang dibolehkan
(Connolly, 2005, p475). Constraint ini harus diidentifikasikan pada saat
pemilihan attribute domain untuk data model (langkah 1.4).
3) Multiplicity
Multiplicity merepresentasikan batasan jumlah yang ada antar data yang
ada di basis data.
45
4) Entity integrity
Primary key dari sebuah entitas tidak boleh bernilai null. Constraint ini
harus dipertimbangkan pada saat penentuan primary key bagi setiap tipe
entitas (langkah 1.5).
5) Referential integrity
Jika suatu foreign key memiliki nilai, maka nilai tersebut harus menunjuk
ke sebuah baris yang ada pada relasi ‘parent’.
6) General constraint
Kegiatan update entitas dibatasi oleh peraturan atau kebijakan organisasi
yang mengatur transaksi yang diwakilkan oleh update yang dilakukan.
• Langkah 2.5 Meninjau kembali local logical data model yang dibuat
dengan pengguna
Tujuan yang ingin dicapai adalah untuk memastikan bahwa local logical data
model dan dokumentasi pendukung yang menggambarkan model merupakan
perwakilan yang benar dari pandangan pengguna.
• Langkah 2.6 Menggabungkan model data logikal menjadi sebuah model
data global (langkah pilihan)
Langkah ini hanya perlu dilakukan apabila saat desain dilakukan dengan
pandangan masing-masing user. Model data logikal adalah cara pandang satu
atau beberapa pengguna terhadap basis data. Sedangkan model data global
menggambarkan pandangan semua pengguna terhadap basis data.
46
• Langkah 2.7 Memeriksa untuk mengantisipasi perkembangan
Langkah ini kita lakukan untuk memeriksa akan adanya perubahan siknifikan
dalam waktu dekat dan memeriksa apakah model data logikal yang kita buat
bisa mengakomodasi perubahan itu.
2.1.5.3 Perancangan Basis Data Fisikal
Perancangan basis data fisikal (physical database design) adalah proses
untuk menghasilkan penjelasan dari pengimplementasian suatu basis data pada
media penyimpanan kedua, juga menjelaskan base relation, pengaturan file, dan
indeks yang digunakan untuk mencapai akses data yang efisien, integrity
constraint, serta ukuran keamanan (Connolly, 2005, p294). Langkah-langkah
metodologi perancangan basis data fisikal terdiri dari:
Langkah 3 Menterjemahkan logical data model untuk target DBMS
Bertujuan untuk menghasilkan skema basis data relasional bagi global logical
data model yang dapat diimplementasikan pada target DBMS.
• Langkah 3.1 Membuat base relations
Untuk setiap relasi yang diidentifikasikan pada global logical data model,
definisinya terdiri dari nama relasi, daftar simple attribute diikuti tanda
kurung, primary key berserta alternate key dan foreign key jika ada, dan
referential integrity constraint bagi foreign key yang teridentifikasi. Definisi
setiap atribut pada kamus data terdiri dari domainnya yang terdiri atas tipe
data, panjang data, setiap constraint pada domain, nilai defaultnya jika ada,
dan keterangan apakah atribut dapat memiliki nilai null.
47
• Langkah 3.2 Membuat representasi dari derived data
Bertujuan untuk menentukan cara untuk merepresentasikan derived data
yang ada dalam global logical data model ke dalam target DBMS. Biasanya
derived attribute tidak terlihat pada logical data model namun
didokumentasikan di dalam kamus data. Untuk setiap derived attribute yang
ada, tanda ‘/’ digunakan untuk menandakan atribut tersebut adalah derived
attribute.
• Langkah 3.3 Merancang general constraints
Bertujuan untuk merancang batasan-batasan organisasi untuk target DBMS.
Update terhadap relasi dibatasi oleh peraturan organisasi yang mengatur
transaksi ‘real world’ yang diwakili oleh update tersebut.
Langkah 4 Merancang organisasi file dan indeks
Bertujuan untuk menentukan organisasi file yang optimal untuk menyimpan base
relation dan indeks yang diperlukan untuk mencapai unjuk kerja yang sesuai,
dengan cara penentuan penyimpanan relasi dan baris-baris pada tempat
penyimpanan kedua.
• Langkah 4.1 Menganalisis transaksi
Bertujuan untuk memahami fungsi dari transaksi yang dijalankan pada basis
data dan menganalisis transaksi-transaksi yang penting.
• Langkah 4.2 Memilih organisasi file
Untuk menentukan organisasi file yang efisien untuk setiap base relation.
48
• Langkah 4.3 Memilih indeks
Untuk menentukan apakah penambahan indeks akan meningkatkan untuk
kerja sistem.
• Langkah 4.4 Memperkirakan kebutuhan ruang penyimpanan
Memperkirakan besarnya ruang penyimpanan yang dibutuhkan untuk
mendukung implementasi basis data pada tempat penyimpanan kedua. Hal
ini sangat tergantung pada target DBMS dan perangkat keras yang
digunakan. Perkiraan ukuran dapat dilakukan dengan mengukur besar data
tiap baris dan jumlah baris pada setiap relasi.
Langkah 5 Merancang pandangan pengguna (user views)
Bertujuan untuk merancang pandangan pengguna yang diidentifikasikan selama
tahap pengumpulan kebutuhan dan analisa pada daur hidup aplikasi basis data
relasional (database application lifecycle).
Langkah 6 Merancang mekanisme keamanan
Bertujuan untuk menentukan bagaimana kebutuhan keamanan akan
direalisasikan. Keamanan bagi basis data sangat diperlukan karena basis data
merupakan sumber daya perusahaan yang penting. Dua tipe keamanan basis data
(Connolly, 2005, p516), yaitu:
• Keamanan sistem : memberikan perlindungan terhadap akses dan
penggunaan basis data pada tingkat sistem, seperti user name dan password.
49
• Keamanan data : memberikan perlindungan akses dan penggunaan objek
basis data, seperti relasi dan view dan aksi terhadap objek yang dapat dimiliki
oleh pemakai.
2.1.6 Teori Data Flow Diagram
2.1.6.1 Pengertian Data Flow Diagram
Data Flow Diagram adalah representasi grafis yang menggambarkan
aliran informasi dan transformasi yang terjadi saat data bergerak dari masukan
menjadi keluaran (Pressman, 2005, p305). Diagram aliran data mempunyai
kegunaan untuk memperhatikan :
• Informasi yang masuk dan keluar dari sistem
• Apa yang merubah informasi
• Dimana informasi disimpan
2.1.6.2 Merancang Data Flow Diagram
Dalam diagram aliran data terdapat levelisasi yang bertujuan untuk
menghindari aliran data yang rumit dan kompleks. Levelisasi dimulai dengan
tingkatan tertinggi dan kemudian diuraikan ke dalam bentuk yang lebih rinci.
Tingkatan tersebut terdiri dari :
1. Diagram konteks : memperlihatkan karakteristik suatu sistem.
2. Diagram nol : menggambarkan proses-proses utama yang ada pada sistem.
3. Diagram rinci : proses rinci dari proses yang terdapat dari tingkatan
sebelumnya (diagram nol).
50
Simbol-simbol yang digunakan untuk menggambarkan diagram aliran data :
Tabel 2.1 Simbol-Simbol Data Flow Diagram
De Marco dan Yourdon Gane dan Sarson
Process
Data Store
Source/Sink
Data Flow
Terdapat beberapa peraturan yang harus diikuti saat menggambar
diagram aliran data (Jeffrey A. Hoffer, 2000, p286) :
Process :
• Tidak ada proses yang hanya mempunyai output. Jika sebuah objek hanya
mempunyai output maka itu adalah source.
• Tidak ada proses yang hanya mempunyai input. Jika sebuah objek hanya
mempunyai input maka itu adalah sink.
• Sebuah proses harus dilabeli dengan sebuah kata kerja.
Data Store :
• Data tidak dapat bergerak dari sebuah data store menuju data store lainnya.
Data dapat bergerak melalui proses.
51
• Data tidak dapat bergerak secara langsung dari source menuju data store. Data
harus bergerak melalui proses dimana data diterima dari data source dan
menempatkan data ke data store.
• Data tidak dapat bergerak langsung menuju sink dari data store. Data harus
bergerak melalui proses.
• Sebuah data store harus dilabeli dengan kata benda.
Source / Sink :
• Data tidak dapat bergerak secara langsung dari source menuju sink. Data harus
melalui proses.
• Sebuah source/sink harus dilabeli dengan kata benda.
Data Flow :
• Sebuah data flow hanya mempunyai satu arah diantara simbol.
• Sebuah cabang pada data flow berarti beberapa data yang sama menuju dua atau
lebih proses yang berbeda.
• Sebuah penggabungan pada data flow berarti data yang sama muncul dari dua
atau lebih proses menuju sebuah lokasi yang sama.
• Sebuah data flow tidak boleh menuju proses yang sama dengan sumber
prosesnya. Harus ada minimal satu proses yang menangani data flow,
menghasilkan data flow, dan mengembalikan data flow menuju proses awal.
• Sebuah data flow menuju data store berarti memperbarui (update/delete)data.
• Sebuah data flow dari data store berarti mengambil atau menggunakan data.
52
• Sebuah data flow mempunyai label berupa kata kerja. Bisa lebih dari satu kata
kerja yang muncul pada sebuah panah data flow dengan syarat semua aliran /
flows pada satu panah bergerak sebagai satu paket.
2.1.7 State Transition Diagram
Menurut Pressman (2005, p250), State Transition Diagram adalah suatu
model diagram yang tergantung pada definisi suatu state. Sedangkan state adalah
suatu kumpulan model dari tingkah laku yang dapat diobservasi. State Transiton
Diagram mewakili suatu tingkah laku dari suatu sistem dengan menggambarkan
state dan kejadian yang menyebabkan sistem berubah ke state lain. Bagian-
bagian dari state transition diagram adalah :
1. State : sebuah keadaan yang dapat diamati pada suatu waktu,
baik sebelum ataupun sesudah terjadi perubahan aksi.
2. State Transition : Perpindahan state 1 ke state lainnnya.
3. Event merupakan tindakan yang menyebabkan perubahan state
sistem, dan action merupakan respon sistem terhadap event.
Proses yang terjadi sebagai konsekuensi dilakukannya transisi.
2.2 Teori Khusus
2.2.1 Pengertian Freight Forwarding
Freight forwarding merupakan sebuah jasa yang sering kali digunakan
oleh berbagai macam perusahaan yang berhubungan dengan impor dan ekspor
yang bersifat internasional maupun multi-nasional. Freight forwarder tidak
Event
Action
53
memindahkan barang (kargo) tersebut sendiri, namun freight forwarder hanya
berperan sebagai perantara di antara pelanggan dan berbagai jenis transportasi.
Mengirim produk dari sebuah tujuan internasional ke tempat yang lain bisa
melibatkan banyak pengangkut sekaligus, serta membutuhkan persyaratan dan
legalitas. Freight forwarding menangani semua keperluan logistik yang
dibutuhkan demi pelanggan, yang jika dilakukan oleh pelanggan sendiri akan
menjadi cukup melelahkan.
Jasa freight forwarder menjamin kalau produk yang dikirim akan sampai
di tujuan yang benar sesuai dengan tanggal yang sudah dijanjikan dan dalam
kondisi yang baik. Freight forwarder menyediakan hubungan dengan berbagai
jenis perusahaan transportasi, baik udara laut ataupun darat, dari kereta hingga
ke pelayaran. Freight forwarder dapat menegosiasikan harga yang
memungkinkan untuk memindahkan produk milik pelanggan melalui jalur ter-
ekonomis yang bisa ditemui tanpa pusing memikirkan hubungan kecepatan,
biaya serta jaminan.
Freight forwarder secara umum menyediakan satu atau lebih perkiraan
harga kepada pelanggan bersama dengan tips bila dirasa butuh. Dengan efek
yang harus dipikirkan ialah harganya akan bervariasi dari asal dan tujuan sampai
ke persyaratan khusus, seperti pendinginan atau sebagai contoh mengirim benda-
benda yang beracun. Berasumsi pelanggan menerima tawaran dari freight
forwarder, barang (kargo) akan siap untuk dikirim. Freight forwarder kemudian
mengambil tanggung jawab dalam mengatur transportasi dari asal hingga tujuan.
54
Satu dari banyak keuntungan menggunakan jasa ini adalah freight
forwarder menangani jasa yang merupakan sebagian kecil dari bisnis pengiriman
barang internasional. Asuransi serta pajak dan dokumentasi perijinan merupakan
beberapa contoh. Sebagai konsolidator, sebuah freight forwarder juga
dimungkinkan untuk menyediakan dokumentasi dari Non-Vessel Operating
Common Carrier (NVOCC), atau sering disebut sebagai Bill of Lading.
Pergudangan, serta penanggungan risiko serta manajemennya, dan metoda dari
pembayaran internasional juga secara umum disediakan bagi pelanggan yang
menggunakan jasa dari freight forwarder.
Jasa freight forwarder yang baik dapat mengurangi rasa was-was dari
pelanggan dengan memberikan layanan pengiriman yang berkualitas dengan
harga yang kompetitif. Jasa freight forwarder merupakan aset bagi perusahaan
apapun yang berhubungan dengan pengiriman barang secara internasional, dan
sangat membantu terutama dalam penggunaan sumber daya manusia yang tidak
dapat dengan sembarangan dipakai dalam prosedur pengiriman barang
internasional.
2.2.2 Istilah-Istilah Yang Berkaitan Dengan Freight Forwarding
Beberapa istilah yang berkaitan dan sering digunakan dalam kegiatan
freight forwarding :
1. Shipper adalah pelanggan ritel atau korporat yang memanfaatkan jasa
layanan pengiriman barang.
55
2. Consignee adalah penerima barang dari shipper melalui penyedia jasa
layanan pengiriman barang.
3. Agent adalah pihak penyedia layanan pengiriman barang yang bertanggung
jawab atas pengiriman barang setelah barang berangkat dari bandara atau
pelabuhan untuk selanjutnya dikirimkan kepada consignee.
4. Notify adalah pihak yang bertanggung jawab atas penerimaan barang.
5. Shipping / shipment adalah kegiatan pengiriman barang yang melibatkan
shipper, penyedia jasa, consignee, dan armada pengangkutan mitra bisnis
penyedia jasa pengiriman barang.
6. Shipping Instruction (SI) adalah surat perintah pengiriman barang yang
diberikan oleh shipper kepada pihak penyedia jasa pengiriman barang.
7. Airway Bill adalah surat tanda bukti pengiriman barang dengan tanda nomor
yang telat disetujui oleh pihak penyedia jasa pengiriman barang dan armada
pengangkutan udara mitra bisnisnya. Airway Bill dikenal juga sebagai Surat
Muatan Udara (SMU).
8. Bill of Lading (B/L) adalah surat tanda bukti pengiriman barang dengan tanda
nomor tertentu yang telah disetujui oleh pihak penyedia jasa pengiriman
barang dan armada pengangkutan laut mitra bisnisnya.
9. Invoice adalah surat tagihan jasa pengiriman barang yang dikeluarkan oleh
pihak penyedia jasa pengiriman barang kepada client/agent.
56
2.2.3 Prosedur Freight Forwarding
Freight forwarder secara khusus mengatur pergerakan barang dari asal ke
tujuan secara internasional melalui tahapan yang terbilang cukup panjang.
Bagaimanapun juga, cara yang terbilang panjang ini tidak menjadi masalah,
dikarenakan freight forwarder memang mengkhususkan diri di bidang perijinan
serta pajak dan lain sebagainya.
Proses dimulai dari penyiapan dokumen yang menjelaskan tentang
produk apakah yang akan dimasukkan ke dalam peti kemas (kargo), berjenis
apakah benda tersebut, akan dibawa dari mana ke mana, dan akan melalui kota
dan negara apa saja sebelum sampai di tujuan yang sebenarnya. Tidak lupa
persoalan pajak dan ijin yang sebelumnya telah diatur juga sebelumnya.
Kesemuanya itu dapat dikumpulkan menjadi beberapa lembar surat, Bill of
Lading bila metoda transportasi yang akan digunakan ialah melalui laut, atau
memakai Airway Bill bila transportasi menggunakan udara. Shipping Instruction
yang merupakan surat awal daripada pelanggan meminta freight forwarder untuk
mengirimkan produk dari pelanggan, dan tentu invoice sebagai bukti pembayaran
yang sah, baik dari freight forwarder kepada perusahaan kargo, maupun freight
forwarder kepada pelanggan. Dan dikarenakan teknologi yang sudah semakin
maju, sebagian besar dari proses tersebut sudah dimungkinkan untuk dilakukan
secara digital.