BAB 2 TINJAUAN PUSTAKA Bab ini berisikan penjelasan singkat

advertisement
BAB 2
TINJAUAN PUSTAKA
Bab ini berisikan penjelasan singkat tentang hal-hal yang berkaitan dengan
analisis dan perancangan aplikasi sistem basis data yang dilakukan.
2.1
Hal Umum
Sub Bab ini berisikan penjelasan singkat tentang hal-hal yang berhubungan
dengan Basis Data (Database), diantaranya: Data, Entitas (Entity), Basis Data,
Sistem Basis Data, Sistem Manajemen Basis Data (Database Management SystemDBMS), Permodelan Hubungan Entitas (Entity Relational Modelling), Siklus Hidup
Pengembangan Sistem Basis Data (Database System Development Lifecycle),
Normalisasi (Normalization).
2.1.1 Pengertian Data
Di dalam sebuah perusahaan atau organisasi, data merupakan hal yang tidak
dapat dipisahkan dari semua kegiatan perusahaan atau organisasi tersebut. Menurut
Hoffer, et al (2007, p6), data merupakan representasi objek yang disimpan dan halhal yang memiliki makna yang penting dalam lingkup pengguna (user).
Berbeda dengan penjelasan sebelumnya, menurut O’brien dan Marakas
(2010, p34), data merupakan fakta dan observasi mentah yang mengenai fenomena
fisik atau transaksi bisnis. Lebih terperinci, data adalah pengukuran objektif dari
atribut (karakteristik) dan entitas.
Sedangkan menurut Elmasri dan Navathe (2011, p4), data merupakan fakta
yang dapat disimpan dan memiliki makna implisit.
2.1.2
Pengertian Entitas
Menurut Connolly dan Begg (2010, p65), entitas merupakan objek yang
berbeda, seperti: orang, tempat, benda, konsep, atau kejadian didalam oraganisasi
yang dihadirkan dalam database. Sedangkan atribut adalah properti yang
menjelaskan beberapa aspek dari objek yang dicatat, dan hubungan (relationship)
adalah asosiasi diantara entitas.
2.1.3
Pengertian Basis Data
Menurut Connolly dan Begg (2010, p65), basis data merupakan kumpulan
dari data yang terhubung secara logis dan merupakan deskripsi dari data yang
6
7
dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Sebuah basis
data yang mempunyai banyak data dapat digunakan secara bersamaan oleh
departemen dan pengguna. Dengan demikian basis data bukanlah lagi menjadi milik
satu departemen tetapi dapat dihubungkan ke semua sumber daya perusahaan. Basis
data juga tidak hanya dapat menyimpan data operasional perusahaan bahkan dapat
menyimpan deskripsi dari data tersebut, deskripsi dari data tersebut dinamakan data
directory. Dengan alasan itu maka basis data dapat didefinisikan sebagai sebuah selfdescribing of integrated records.
Menurut Connolly dan Begg (2010, p91 – 93), terdapat dua bahasa dalam
basis data:
1.
Data Definition Language (DDL)
Bahasa yang memperbolehkan administrator basis data atau pengguna untuk
mendeskripsi dan menamai entitas, atribut, dan hubungan yang dibutuhkan
untuk aplikasi dan kemanan data.
2.
Data Manipulation Language (DML)
Bahasa yang menyediakan seperangkat operasi untuk mendukung manipulasi
data yang berada pada basis data. Pengoperasian data yang akan dimanipulasi
biasanya meliputi:
a.
Penambahan data baru kedalam basis data (insertion)
b.
Modifikasi data yang disimpan kedalam basis data (modify)
c.
Pengambilan data yang terdapat dalambasis data (retrieve)
d.
Penghapusan data dari basis data (delete)
2.1.4 Pengertian Sistem Basis Data
Basis data tidak akan mungkin berjalan tanpa adanya sebuah sistem. Menurut
O’ Brien dan Marakas (2010, p26), sistem adalah sekelompok komponen yang saling
berhubungan, bekerjasama untuk mencapai tujuan bersama dengan menerima input
serta menghasilkan output dalam proses transformasi yang teratur.
Berbeda dengan penjelasan O’ Brien dan Marakas, menurut Connolly dan
Begg (2010, p53), sistem basis data adalah sekumpulan aplikasi program yang
berinteraksi dengan basis data melalui DBMS dan basis data itu sendiri.
2.1.5
Sistem Manajemen Basis Data (DBMS)
Menurut Silbertschatz, et al (2011, p1), DBMS merupakan kumpulan data
yang saling terkait dan sebuat set program untuk mengakses data tersebut. Kumpulan
8
data tersebut sering dimaksud sebaga basis data yang mengandung informasi yang
relevan untuk perusahaan.
Menurut Connolly and Begg (2010, p66), DBMS merupakan sistem
perangkat lunak yang memungkinkan pengguna untuk menetapkan, membuat,
memelihara, dan akses kontrol ke basis data.
2.1.5.1 Komponen DBMS
Menurut Connolly dan Begg (2010, p68 - 71), DBMS memiliki lima
komponen penting, yaitu:
1.
Perangkat Keras (Hardware)
Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras.
Perangkat keras dapat berupa single personal computer, single mainframe,
sampai jaringan komputer.
2.
Perangkat Lunak (Software)
Komponen perangkat lunak terdiri dari perangkat lunak DBMS dan program
aplikasi beserta sistem operasi, termasuk perangkat lunak jaringan jika
DBMS sedang digunakan pada jaringan.
3.
Data
Data merupakan komponen terpenting dari DBMS dan juga merupakan
penghubung antara komponen mesin (perangkat keras dan perangkat lunak)
dan komponen human (prosedur dan orang).
4.
Prosedur (Procedures)
Prosedur merupakan panduan dan instruksi dalam membuat desain dan
menggunakan basis data. Penggunaan dari sistem dan staf dalam mengelola
basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola
basis data itu sendiri. Demikian prosedur di dalam basis data berupa: login di
dalam basis data, penggunaan sebagian fasilitas DBMS, cara menjalankan
dan
memberhentikan DBMS, membuat salinan basis data, memeriksa
perangkat keras dan perangkat lunak yang sedang berjalan, mengubah
struktur basis data, meningkatkan kinerja atau membuat arsip data pada media
penyimpanan sekunder.
9
5.
Manusia (People)
Komponen terakhir adalah manusia yang terlibat dalam sistem tersebut.
Komponen ini meliputi administrator data, administrator basis data,
perancang basis data, pengembang aplikasi, dan pengguna akhir.
2.1.5.2 Kelebihan dan Kekurangan DBMS
Menurut Connolly and Begg (2010, p77 - 80), DBMS memiliki kelebihankelebihan, diantaranya:
1.
Mengontrol redudansi data (Control data redundancy)
Pendekatan
basis
data
berupaya
mengeliminasi
redudansi
dengan
mengintegrasikan file sehingga beberapa salinan dari data yang sama tidak
disimpan.
2.
Konsistensi data (Data consistency)
Dengan mengeliminasi atau mengontrol redudansi dapat mengurangi resiko
ketidak konsistenan yang terjadi.
3.
Banyaknya informasi dari data yang sama jumlahnya (More information from
the same amount of data)
Dengan adanya integrasi pada data operational memungkinkan organisasi
untuk memperoleh informasi tambahan dari data yang sama.
4.
Berbagi data (Sharing of data)
Basis data yang dimiliki organisasi dapat di bagikan oleh seluruh pengguna
yang berwenang.
5.
Meningkatkan integritas data (Improved data integrity)
Integritas basis data mengacu pada validitas dan konsistensi data yang
tersimpan. Integrasi memungkinkan administrator basis data menetapkan
integritas konstrain dan DBMS yang menegakkannya.
6.
Meningkatkan keamanan (Improved security)
Keamanan basis data merupakan proteksi basis data dari pengguna yang tidak
berwenang. Integrasi memungkinkan administrator basis data untuk
menetapkan keamanan basis data dan DBMS yang menegakkannya.
7.
Penegakan Standar (Enforcement of standards)
Integrasi memungkinkan administrator basis data untuk menetapkan standar
yang diperlukan dan DBMS yang menegakkannya. Standar tersebut
mencakup departemen, ogranisasi, nasional, atau internasional untuk hal-hal
10
seperti format data untuk memfasilitasi pertukaran data antar sistem, konvensi
penamaan,
standar
dokumentasi,
prosedur
pembaruan,
dan
aturan
pengaksesan.
8.
Skala ekonomi (Economy of scale)
Menggabungkan seluruh data operasional organisasi kedalam satu basis data
dan membuat sebuah aplikasi yang bekerja di satu sumber data yang dapat
menghasilkan penghematan biaya.
9.
Keseimbangan ketentuan konflik (Balance of conflicting requirement)
Setiap kebutuhan pengguna mungkin terjadi konflik dengan kebutuhan
pengguna lainnya. Administrator basis data dapat membuat keputusan tentang
perancangan dan penggunaan operasional basis data dengan menyediakan
penggunaan
sumber
yang
terbaik
untuk
organisasi
secara
keseluruhan.Keputusan tersebut dapat meningkatkan performa aplikasiaplikasi penting.
10. Meningkatkan aksesabilitas dan respon data (Improved data accessibility and
responsiveness)
Hasil dari integrasi berupa data yang melintasi batasan departemental secara
langsung dapat diakses pengguna. Hal ini menghasilkan sistem yang lebih
fungsional, sehingga dapat dipakai untuk menyediakan pelayanan yang lebih
baik untuk pengguna atau klien organisasi.
11. Meningkatkan produktivitas (Increase productivity)
DBMS menyediakan seluruh penanganan file tingkat rendah secara rutin yang
ada di program aplikasi. Sehingga memungkinkan programmer untuk
berkonsentrasi pada fungsi spesifik yang dibutuhkan oleh pengguna tanpa
mengkhawatirkan rincian implementasi tingkat rendah. Beberapa DBMS juga
menyediakan alat untuk menyederhanakan pengembangan aplikasi basis data,
sehingga dapat meningkatkan produktivitas programmer dan menurunkan
waktu pengembangan.
12. Meningkatkan
pemeliharaan
melalui
independensi
data
(Improved
maintenance through data independence)
DBMS memisahkan deskripsi data dari aplikasi, hal ini dikenal dengan
independensi data. Penyediaan independensi data dapat menyederhanakan
pemeliharaan basis data.
11
13. Meningkatkan konkurensi (Increased concurrency)
DBMS mengatur konkurensi akses basis data untuk menanggulangi
pengaksesan berkas yang sama secara simultan oleh pengguna yang
mengakibatkan hilangnya informasi dan integritas.
14. Meningkatkan pengembalian dan pemulihan pelayanan (Improved backup
and recovery secvices)
DBMS menyediakan fasilitas untuk meminimalisasi jumlah proses yang
hilang akibat kegagalan.
Menurut Connolly and Begg (2010, p80 - 81), DBMS memiliki kekurangankekurangan , diantaranya:
1.
Kompleksitas (Complexity)
Perancang dan pengembang basis data, administrator data dan basis data, dan
pengguna
harus
mengerti
fungsionalitas
DBMS
agar
mendapatkan
keuntungan secara penuh. Apabila terjadi kesalahan dalam pemahaman
sistem dapat menyebabkan rancangan keputusan yang buruk, yang dapat
berakibat seruis untuk organisasi.
2.
Ukuran (Size)
Fungsionalitas yang kompleks membuat DBMS menjadi perangkat lunak
yang berukuran besar, sehingga membutuhkan tempat yang besar pada disk
space dan memori agar dapat berjalan secara efisien.
3.
Biaya DBMS (Cost of DBMS)
Biaya DBMS bervariasi secara signifikan, tergantung dari cakupan dan
fungsionalitas yang disediakan. Selain itu biaya pemeliharaan tahunan yang
berupa persentase dari daftar harga.
4.
Tambahan biaya perangkat keras(Additional hardware cost)
Kebutuhan tempat penyimpanan untuk DBMS dan basis data memungkinkan
untuk pembelian tempat penyimpanan tambahan. Pembelian tempat
penyimpanan tambahan mengakibatkan pengeluaran yang lebih besar.
5.
Biaya konversi (Cost of conversion)
Dalam beberapa situasi, biaya DBMS dan perangkat keras tambahan tidak
sebanding dengan biaya konversi aplikasi yang sedang berjalan untuk
dijalankan di DBMS dan perangkat keras yang baru. Biaya tersebut termasuk
biaya pelatihan karyawan untuk memakai sistem yang baru, dan
12
kemungkinan mempekerjakan karyawan ahli untuk membantu konversi dan
menjalanan sistem.
6.
Kinerja (Performance)
DBMS dibuat lebih umum untuk dapat melayani banyak aplikasi dibanding
hanya satu aplikasi. Hasilnya beberapa aplikasi yang mungkin tidak berjalan
secepat sebelumnya.
7.
Dampak yang lebih hebat dari sebuah kegagalan (Greater impact of failure)
Pemusatan sumber daya menimbulkan kerentanan sistem. Karena semua
pengguna dan aplikasi bergantung pada ketersediaan DBMS, jika terjadi
kesalahan menyebabkan operasi menjadi terhenti.
2.1.5.3 Fungsi DBMS
Menurut Connolly and Begg (2010, p100 - 104), DBMS memiliki fungsifungsi, diantaranya:
1.
Penyimpanan, pengambilan, dan pembaruan data (Data storage, retreival,
and update)
DBMS harus melengkapi pengguna dengan kemampuan untuk menyimpan,
mengambil, dan memperbarui data pada basis data.
2.
Katalog yang dapat diakses pengguna (A user-accessible catalog)
DBMS harus memberikan katalog yang berisikan deskripsi data yang
disimpan dan dapat diakses pengguna.
3.
Dukungan transaksi (Transaction support)
DBMS harus menyediakan mekanisme yang memastikan semua pembaruan
sesuai dengan transaksi yang dibuat atau transaksi yang tidak dibuat.
4.
Layanan kontrol konkurensi (Concurrency control services)
DBMS harus menyediakan mekanisme yang meyakinkan bahwa basis data
diperbarui secara benar ketika banyak pengguna memperbarui basis data
secara bersamaan.
5.
Layanan perbaikan (Recovery services)
DBMS harus menyediakan mekanisme untuk memperbaiki basis data saat
terjadi kerusakan dengan cara apapun.
6.
Layanan autorisasi (Autorization services)
DBMS harus menyediakan mekanisme untuk meyakinkan bahwa hanya
pengguna yang terautorisasi yang dapat mengakses basis data.
13
7.
Dukungan komunikasi data (Support for data communication)
DBMS harus dapat berintegrasi dengan komunikasi perangkat lunak, dapat
mengakses basis data dari lokasi yang jauh.
8.
Layanan integritas (Integrity services)
DBMS harus menyediakan cara untuk meyakinkan bahwa data ada dalam
basis data dan perubahan pada data mengikuti aturan tertentu.
9.
Layanan untuk meningkatkan independensi data (Services to promote data
independence)
DBMS harus memiliki fasilitas untuk mendukung kemandirian program dari
struktur basis data yang sebenarnya.
10. Layanan utilitas(Utility services)
DBMS harus menyediakan sebuah set layanan utilitas, seperti program
analisis statistik, pengawasan fasilitas, fasilitas reorganisasi indeks, dan lainlain.
2.1.6 Permodelan Hubungan Entitas (Entity Relational Modelling)
Menurut Connolly dan Begg (2010, p371), permodelan hubungan entitas
merupakan model untuk memastikan pemahaman yang tepat terhadap data dan
bagaimana penggunaannya di dalam suatu perusahaan.
2.1.6.1 Entity Types
Menurut Connolly dan Begg (2010, p372), Entity Types merupakan
sekumpulan objek dengan sifat yang sama yang diidentifikasikan oleh perusahaan
dan keberadaanya independent. Sedangkan entity occurance merupakan objek dari
tipe entitas yang diidentifikasikan secara unik.
Menurut Connolly dan Begg (2010, p383 – p384), entitas dapat
diklasifikasikan menjadi dua tipe, yakni:
1.
Strong Entity
Entitas yang tidak bergantung pada entitas lain karena entitas tersebut
diidentifikasikan dengan menggunakan primary key.
2.
Weak Entity Type
Entitas yang bergantung pada entitas lain karena entitas tersebut
diidentifikasikan dengan menggunakan primary key.
14
2.1.6.2 Relationship Types
Menurut Connolly dan Begg (2010, p374), relationship types merupakan
sekumpulan hubungan antara satu atau lebih entitas yang ada dan mempunyai arti.
Setiap relationship types diberi nama sesuai dengan fungsinya.
Sedangkan
relationship occurance merupakan suatu hubungan unik antara satu atau lebih entitas
yang teridentifikasi dalam entity types.
2.1.6.3 Atribut
Menurut Connolly dan Begg (2010, p379 - 381), atribut merupakan sifat-sifat
dari sebuah entity types atau relationship types. Atribut domain adalah kumpulan
nilai yang diperbolehkan untuk salah satu atau lebih atribut. Atribut dapat dibagi
menjadi tiga, yakni:
1. Simple / Composite Attributess
Simple attribute merupakan atribut yang terdiri dari satu komponen
tunggal yang keberadaaanya berdiri sendiri. Simple attributed disebut
juga denga atomic atribute. Composite attribute merupakan atribut yang
terdiri dari beberapa komponen yang keberadaanya berdiri sendiri.
2. Single / Multi-Valued Attributes
Single Attributes merupakan atribut yang mempunyai nilai tungal untuk
setiap kejadian atau sebuah entity types. Multi-Valued Attributes
merupakan artibut yang mempunyai beberapa nilai untuk setiap kejadian
atau sebuah entity types.
3. Derived Attribute
Derived attribute merupakan atribut yang memiliki nilai yang dihasilkan
dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari entitas
yang sama.
2.1.6.4 Keys
Menurut Connolly dan Begg (2010, p381), Candidate keys merupakan
sejumlah kecil atribut yang mengidentifikasi setiap kejadian dari entitas tersebut
secara unik. Primary key adalah candidate key yang dipilih sebagai kunci primer
untuk mengidentifikasikan setiap entitas secara unik. Alternate key merupakan
candidate key yang tidak dipilih menjadi primary key.
15
2.1.6.5 Structural Constraint
Menurut Connolly dan Begg (2010, p356 - 392), Constraint merupakan
gambaran batasan dari relationship sebagai suatu tanggapan dalam dunia nyata. Tipe
utama dari constraint dalam sebuah relationship adalah multiplicity.
2.1.6.5.1 Multiplicity
Multiplicity merupakan sejumlah kejadian yang mungkin terjadi pada sebuah
tipe entitas yang berhubungan ke sebuah kejadian dari tipe entitas lain pada suatu
relationship. Jenis yang biasa digunakan dalam suatu relationship adalah binary
relationship, yang terdiri atas:
1. One-to-One (1:1) Relationship
Kondisi saat setiap anggota entitas A hanya boleh berpasangan dengan
satu anggota dari entitas B, dan sebalikanya setiap anggota entitas B
hanya boleh berpasangan dengan satu anggota dari entitas A.
2. One-to-Many (1:*) Relationship
Kondisi saat setiap anggota entitas A boleh berpasangan dengan lebih dari
satu anggota entitas B, dan sebalikanya setiap anggota entitas B boleh
berpasangan dengan lebih dari satu anggota entitas A.
3. Many-to-Many (*:*) Relationship
Kondisi saat banyak anggota entitas A boleh berpasangan dengan lebih
dari satu anggota entitas B, dan sebalikanya banyak anggota entitas B
boleh berpasangan dengan lebih dari satu anggota entitas A.
Multiplicity terdiri dari dua constrain yang berbeda, yakni:
1. Cardinality, menggambarkan jumlah maksimum dari kemungkinan
batasan sebuah entitas yang ikut berpartisipasi dalam sebuah relasi.
2. Participant, menentukan apakah semua atau beberapa entity occurance
yang ikut serta dalam sebuah relationship.
2.1.7 Siklus Hidup Pengembangan Sistem Basis Data (Database System
Development Lifecycle-DBLC)
Menurut Connolly dan Begg (2010, p313), sistem database adalah komponen
fundamental dari sistem informasi organisasi, siklus hidup pengembangan sistem
basis data secara inheren diasosiasikan dengan siklus hidup sistem informasi.
16
Gambar 2.1 Tahap-tahap siklus hidup database.
2.1.7.1 Perencanaan basis data (Database Planning)
Menurut Connolly dan Begg (2010, p313), perencanaan basis data merupakan
aktivitas
manajemen
yang
memperbolehkan
tahapan-tahapan
siklus
hidup
pengembangan sistem basis data direalisasikan seefisien dan seefektif mungkin.
Perencanaan basis data harus terintegrasi dengan strategi sistem informasi dari
organisasi. Ada tiga hal utama yang perlu diperhatikan dalam memformulasikan
strategi sistem informasi, yaitu:
1.
Identifikasi rencana dan sasaran
perusahaan dengan ketentuan
selanjutnya dari kebutuhan sistem informasi;
2.
Evaluasi sistem informasi yang sedang berjalan untuk menentukan
kelebihan dan kekurangan yang ada;
3.
Penilaian kesempatan teknologi informasi yang mungkin memberikan
keuntungan yang kompetitif.
17
Menurut Connolly dan Begg (2010, p320 - 325), terdapat tiga pendekatan
dalam perencanaan basis data, yakni:
1.
Bottom-Up
Pendekatan Bottom-Up dimulai dari atribut dasar, dengan menganalisa
hububungan antar atribut, yang dikelompokkan ke dalam suatu relasi
yang merepresentasikan tipe entitas dan relationship antara entitasentitas.
2. Top-Down
Pendekatan Top-Down dimulai dengan pengembangan model data yang
berisi beberapa entitas tingkat tinggi dan relationship dan kemudian
menggunakan
pendekatan
top-down
secara
berurutan
untuk
mengidentifikasi entitas tingkat rendah.
3. Insisde-Out
Pendekatan inside-out berhubungan dengan pendekatan bottom-up,
perbedaannya adalah pendekatan ini mengidentifikasikan sekumpulan
entitas utama dan kemudian menyebar ke entitas yang lain, relationship,
dan atribut yang berkaitan dengan hal-hal yang sudah diidentifikasikan
sebelumnya.
4. Mixed Strategy
Pendekatan mixed strategy menggunakan pendekatan bottom-up dan topdown
untuk
bagian
model
yang
berbeda
sebelum
akhirnya
menggabungkan semua bagian.
2.1.7.2 Pendefinisian sistem (System Definition)
Menurut Connolly dan Begg (2010, p313), tahap ini mendefinisikan cakupan
dan batasan sistem basis data, termasuk pandangan pengguna (user view), penggunapenggunanya, dan area-area aplikasi. User view bertujuan untuk mendefinisikan apa
yang dibutuhkan sistem basis data dari perspektif beberapa peran pekerjaan (seperti
manajer atau pengawas) atau area aplikasi perusahaan (seperti bagian penjualan,
personalia, ataupun stock control).
2.1.7.3 Analisis dan pengumpulan kebutuhan (Requirements collection and
analysis)
Menurut Connolly dan Begg (2010, p313), Analisis dan pengumpulan
kebutuhan merupakan proses mengumpulkan dan menganalisis informasi tentang
18
bagian dari organisasi yang akan didukung oleh sistem basis data, dan informasi
tersebut digunakan untuk identifikasi kebutuhan-kebutuhan untuk sistem yang baru.
Informasi tersebut dikumpulkan untuk setiap user view, termasuk:
a.
Deskripsi data yang digunakan atau dihasilkan;
b.
Detail bagaimana data digunakan dan dihasilkan;
c.
Persyaratan tambahan untuk sistem basis data baru.
2.1.7.4 Perancangan basis data (Database design)
Menurut Connolly dan Begg (2010, p320), Perancangan basis data
merupakan proses membuat rancangan yang akan mendukung misi laporan dan misi
objektif perusahaan untuk kebutuhan sistem basis data.
2.1.7.4.1 Perancangan basis data konseptual (Conceptual database design)
Menurut Connolly dan Begg (2010, p322), Perancangan basis data konseptual
merupakan proses membangun sebuah model dari data yang digunakan di
perusahaan, independen dari semua pertimbangan-pertimbangan fisik.
Tahap 1 : Membangun model data konseptual
Menurut Connolly dan Begg (2010, p470), tahap ini bertujuan untuk
membangun satu atau lebih model data konseptual yang sesuai dengan
kebutuhan data dari perusahaan.
1.1
Mengidentifikasi tipe entitas
Menurut Connolly dan Begg (2010, p471), langkah pertama
membangun model data konseptual dengan mendefinisikan objekobjek utama pengguna. Objek-objek ini merupakan tipe-tipe entitas
untuk model tersebut. Salah satu metode untuk mengidentifikasi
entitas adalah dengan memeriksa spesifikasi kebutuhan pengguna
dengan mengidentifikasi kata benda. Contohnya adalah staff number,
staff name, property number, property room dan sebagainya.
1.2
Mengidentifikasi tipe relasi
Menurut Connolly dan Begg (2010, p472 - 474), langkah kedua
membangun model data konseptual dengan mengidentifikasikan
semua relasi-relasi penting yang ada diantara tipe entitas yang telah
diidentifikasikan.
Setelah
mengidentifikasikan
relasi,
langkah
selanjutnya yaitu menentukan multiplicity dari setiap relasi. Batasan
19
multiply digunakan untuk memeriksa dan memelihara kualitas data,
misalnya: One-to-One (1:1), One-to-Many (1:*), Many-to-Many (*.*).
1.3
Mengidentifikasi dan menghubungkan atribut dengan entitas atau
tipe relasi
Menurut Connolly dan Begg (2010, p379), langkah ketiga
membangun model data konseptual dengan mengidentifikasi atributatribut yang terdapat dalam suatu entitas. Biasanya berupa kata
benda atau frasa kata benda dari spesifikasi kebutuhan pengguna.
Atribut dapat diklasifikasikan menjadi: simple atau composite,
single-valued atau multi-valued, dan derived.
1.4
Menentukan domain atribut
Menurut Connolly dan Begg (2010, p478), langkah keempat
membangun model data konseptual dengan menentukan domain
atribut di model data konseptual lokal. Sebuah model data yang baik
menentukan
domain
untuk
setiap
atribut
dan
termasuk
memperbolehkan sekumpulan nilai-nilai untuk atribut juga ukuran
dan format dari atribut.
1.5
Menentukan atribut candidate key , primary key, dan alternate key
Menurut Connolly dan Begg (2010, p479 - 480), Langkah kelima ini
bertujuan untuk mengidentifikasi candidate key untuk setiap tipe
entitas, jika terdapat lebih dari satu candidate key kemudian pilih
salah satunya menjadi primary key. Candidate key adalah kunci yang
unik atau tidak mungkin sama atau berbeda dengan yang lain, dapat
dipakai untuk mengidentifikasi satu baris dalam tipe entitas. Primary
key adalah candidate key yang dipilih sebagai kunci primer untuk
mengidentifikasikan setiap entitas. Alternate key merupakan
candidate key yang tidak dipilih menjadi primary key.
1.6
Mempertimbangkan penggunaan enhanced modeling concepts
(optional)
Menurut Connolly dan Begg (2010, p480 - 481), Langkah keenam
ini bertujuan untuk mempertimbangkan penggunaan enhanced
modeling
aggregation,
concepts
dan
seperti
composition.
specialization/generalization,
Jika
memilih
pendekatan
specialization, usahakan untuk memperhatikan perbedaan antara
20
entitas dengan mendefinisikan satu atau lebih subclass dari sebuah
entitas
superclass.
Jika
memilih
menggunakan
pendekatan
generalization, usahakan untuk mengidentifikasikan fitur-fitur
umum antara entitas untuk mendefinisikan generalisasi entitas
superclass.
Pendekatan
aggregation
digunakan
untuk
mempresentasikan hubungan “mempunyai sesuatu” atau “bagian
dari”
relasi
antara
mempresentasikan
“bagiannya”.
tipe-tipe
entitas,
“keseluruhan”
Pendekatan
dan
composition
dimana
yang
yang
lain
digunakan
satu
sebagai
untuk
mempresentasikan sebuah asosiasi antara tipe-tipe entitas dimana
terdapat
kepemilikan
yang
kuat
dan
keterhubungan
antara
“keseluruhan” dan “bagiannya”.
1.7
Mengecek redudansi pada model
Menurut Connolly dan Begg (2010, p482 - 483), Langkah ketujuh
ini bertujuan untuk memeriksa model data konseptual lokal, apakah
masih ada redudansi pada model.Ada 3 aktivitas pada tahap ini yaitu:
a.
Memeriksa kembali hubungan one-to-one (1:1)
Pada saat
mengidentifikasi
entitas, kemungkinan akan
teridentifikasi 2 entitas yang merepresentasi objek yang sama
dalam perusahaan. Untuk itu, kedua entitas tersebut harus
digabung bersama. Jika primary key kedua entitas berbeda,
pilih salah satu untuk dijadikan primary key dan yang lainnya
sebagai alternate key.
b.
Menghilangkan hubungan redundansi
Suatu relasi dikatakan redudansi jika informasi yang sama
dapat diperbolehkan melalui relasi yang lain. Data model yang
baik seminimal mungkin tidak memiliki relasi yang redundan.
c.
Mempertimbangkan dimensi waktu
Dimensi waktu adalah hal yang paling penting dalam menilai
redundasi.
1.8
Memvalidasi model data konseptual dengan transakasi pengguna
Menurut Connolly dan Begg (2010, p483 - 485), Langkah kedelapan
ini bertujuan untuk memastikan model data konseptual telah
mendukung transaksi yang dibutuhkan oleh perusahaan. Berikut ini
21
dua macam pendekatan untuk memastikan bahwa model data
konseptual benar-benar mendukung transaksi, yaitu:
1.9
a.
Mendeskripsikan transaksi-transaksi;
b.
Menggunakan jalur-jalur transaksi.
Meninjau kembali model data konseptual dengan pengguna
Menurut Connolly dan Begg (2010, p485), Langkah kesembilan ini
bertujuan untuk meninjau ulang kembali model data konseptual
dengan pengguna untuk meyakinkan bahwa model tersebut sesuai
dengan kebutuhan data perusahaan. Proses ini akan terus diulang
sampai model data tersebut benar-benar menjadi representasi aktual
dari perusahaan.
2.1.7.4.2 Perancangan basis data logikal (Logical database design)
Menurut Connolly dan Begg (2010, p323), perancangan basis data logikal
merupakan proses membangun sebuah model dari data yang digunakan perusahaan
berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu
dan pertimbangan fisik lain. Hampir sama dengan penjelasan Connoly dan Begg,
menurut Indrajani (2010, p206), Perancangan basis data logikal adalah proses
membangun suatu model dari informasi yang digunakan dalam sebuah perusahaan
berdasarkan sebuah model data yang spesifik tetapi terbebas dari DBMS tertentu dan
pertimbangan fisikal lainnya.
Tahap 2 : Membangun model data logikal
Menurut Connolly dan Begg (2010, p490), tahap ini bertujuan untuk
menerjemahkan model data konseptual menjadi model data logikal dan
kemudian memvalidasi model ini untuk mengecek apakah model ini
terstruktur secara benar dan dapat untuk mendukung kebutuhan transaksi.
2.1
Menurunkan relasi untuk model data logikal
Menurut Connolly dan Begg (2010, p492), langkah pertama ini
bertujuan untuk membuat relasi untuk model data logikal untuk
merepresentasikan entitas, hubungan (relationship), dan atribut yang
teridentifikasi. Berikut ini adalah cara bagaimana relasi diturunkan
untuk mengikuti struktur yang ada pada model data konseptual:
a.
Tipe entitas kuat;
b.
Tipe entitas lemah;
22
2.2
c.
Tipe relasi biner one-to-many(1:*);
d.
Tipe relasi biner one-to-one(1:1);
e.
Tipe relasi rekursif one-to-one(1:1);
f.
Tipe relasi superclas/subclass;
g.
Tipe relasi biner many-to-many(*:*);
h.
Tipe relasi kompleks;
i.
Atribut Multi-Valued.
Validasi menggunakan normalisasi
Menurut Connolly dan Begg (2010, p501), langkah kedua ini
bertujuan untuk memvalidasi kumpulan atribut pada masing-masing
relasi menggunakan aturan normalisasi. Normalisasi digunakan untuk
memastikan relasi dan atribut yang mendukung kebutuhan dari
perusahaan. Juga relasi harus memiliki redudansi data yang minimal
untuk menghindari masalah yang mungkin terjadi.
2.3
Validasi relasi untuk transaksi pengguna
Menurut Connolly dan Begg (2010, p502), langkah ketiga ini
bertujuan untuk meyakinkan bahwa relasi pada data model logikal
mendukung kebutuhan transaksi. Validasi transaksi ini sudah
dilakukan pada langkah 1.8, namun kembali dilakukan untuk
memeriksa relasi-relasi yang telah dibuat pada langkah sebelumnya
juga mendukung transaksi ini. Juga untuk memastikan tidak terdapat
kesalahan dalam pembuatan relasi-relasi.
2.4
Memeriksa integrity constraints
Menurut Connolly dan Begg (2010, p502 - 505), langkah keempat ini
bertujuan untuk memeriksa apakah integrity constraints ada dalam
model data logikal. Integrity constraints adalah batasan-batasan yang
digunakan untuk menjaga basis data agar tetap konsisten.
Berikut adalah tipe-tipe integrity constraints:
a.
Required data
Beberapa atribut harus mengandung sebuah nilai yang benar,
atribut-atribut tersebut tidak diperbolehkan kosong (null).
b.
Batasan domain atribut
Setiap atribut memiliki sebuah domain, yaitu sekumpulan nilai
yang sah.
23
c.
Multiplicity
Multiplicity menyediakan batasan-batasan yang ditempatkan
pada relationship diantara data pada basis data.
d.
Entity integrity
Primary key dari sebuah entitas tidak boleh bernilai kosong
(null). Setiap baris harus mempunyai sebuah primary key.
e.
Referential integrity
Jika suatu foreign key memiliki nilai, maka nilai tersebut harus
menunjukkan ke sebuah baris yang ada pada relasi
induk(parent).
f.
General constraints
Perubahan entitas mungkin diatur oleh batasan yang mengatur
transaksi “dunia-nyata”.
2.5
Meninjau kembali model data logikal dengan pengguna
Menurut Connolly dan Begg (2010, p506), langkah kelima ini
bertujuan untuk meyakinkan pengguna apakah model tersebut sesuai
dengan kebutuhan data dari perusahaan.
2.6
Menggabungkan model data logikal ke dalam model global (optional)
Menurut Connolly dan Begg (2010, p506 - 507), langkah keenam ini
bertujuan untuk menggabungkan model data logikal lokal ke dalam
data model global logikal yang mewakili semua sudut pandang
pengguna pada basis data. Aktivitas dalam tahap ini, yaitu :
a.
Menggabungkan model data logikal lokal ke dalam model
global;
2.7
b.
Validasi model data logikal global;
c.
Meninjau kembali model data logikal global dengan user.
Memeriksa perkembangan masa mendatang
Menurut Connolly dan Begg (2010, p517), langkah ketujuh ini
bertujuan untuk menentukan apakah ada perubahan yang signifikan di
masa mendatang dan untuk memperkirakan apakah model data logikal
bisa mengakomodasi perubahan tersebut.
24
2.1.7.4.3 Perancangan basis data fisikal (Physical database design)
Menurut Connolly dan Begg (2010, p324), perancangan basis data fisikal
merupakan proses memproduksi deskripsi dari pengimplementasian basis data pada
penyimpanan sekunder, juga menjelaskan relasi dasar, pengaturan berkas dan indeks
yang digunakan untuk mencapai akses data yang efisien, dan terkait integrity
constraint dan keamanan.
Tahap 3 : Membangun model data fisikal
Menurut Connolly dan Begg (2010, p524), tahap ini bertujuan untuk
memproduksi skema basis data relasional dari model data logikal yang dapat
diterapkan pada DBMS pilihan.
3.1
Merancang relasi dasar
Menurut Connolly dan Begg (2010, p525), langkah pertama ini
bertujuan untuk menentukan bagaimana membuat relasi dasar
diidentifikasi dalam model data logikal pada DBMS pilihan.
3.2
Merancang data turunan
Menurut Connolly dan Begg (2010, p525), langkah kedua ini
bertujuan untuk menentukan bagaimana membuat data turunan ada
didalam model data logikal pada DBMS pilihan.
3.3
Merancang batasan umum
Menurut Connolly dan Begg (2010, p525), perubahan dapat terjadi
pada relasi. Pada langkah ketiga ini perubahan tersebut dapat dibatasi
oleh integrity constraints yang mengatur transaksi dalam
“dunia-
nyata”. Perancangan batasan ini tergantung pada pemilihan DBMS
yang akan digunakan.
Tahap 4 : Merancang organisasi file dan indeks
Menurut Connolly dan Begg (2010, p528), tahap ini bertujuan untuk
menentukan organisasi file yang optimal untuk menyimpan relasi dasar dan
indeks yang dibutuhkan untuk dapat memperoleh pencapaian terbaik, yaitu
dengan cara dimana relasi dan baris (tuple) disimpan dalam penyimpanan
sekunder.
4.1
Analisis transaksi
Menurut Connolly dan Begg (2010, p529), langkah pertama ini
bertujuan untuk mengerti fungsionalitas dari transaksi yang akan
dijalankan pada basis data dan untuk menganalisis transaksi penting.
25
4.2
Memilih organisasi file
Menurut Connolly dan Begg (2010, p534), langkah kedua ini
bertujuan untuk menentukan organisasi file yang efisien untuk
masing-masing relasi dasar.
4.3
Memilih indeks
Menurut Connolly dan Begg (2010, p535), langkah ketiga ini
bertujuan
untuk
menentukan
apakah
indeks
tambahan
akan
meningkatkan kemampuan sistem.
4.4
Memperkirakan kebutuhan tempat penyimpanan
Menurut Connolly dan Begg (2010, p541), langkah ketiga ini
bertujuan untuk memperkirakan besaran tempat penyimpanan yang
akan dibutuhkan oleh basis data.
Tahap 5 : Merancang user views
Menurut Connolly dan Begg (2010, p542), tahap ini bertujuan untuk
merancang user view yang diidentifikasi selama pengumpulan kebutuhan dan
tahapan analisis siklus hidup pengembangan sistem basis data.
Tahap 6 : Merancang mekanisme keamanan
Menurut Connolly dan Begg (2010, p542 - 543), tahap ini bertujuan untuk
merancang mekanisme keamanan yang diidentifikasi selama pengumpulan
kebutuhan dan tahapan analisis siklus hidup pengembangan sistem basis data.
Membatasi pengaksesan basis data oleh penguna yang tidak berhak dan
menspesifikasikan basis data yang dapat diakses oleh pengguna.
Tahap 7 : Mempertimbangkan petunjuk controlled redudancy
Menurut Connolly dan Begg (2010, p545 - 546), tahap ini bertujuan untuk
menentukan apakah petunjuk redundansi pada aturan normalisasi akan
meningkatkan kemampuan sistem.
Tahap 8 : Memantau dan memperbaiki sistem operasional
Menurut Connolly dan Begg (2010, p558), tahap ini bertujuan untuk
memantau sistem operasional dan meningkatkan kemampuan sistem dengan
memperbaiki rancangan yang tidak sesuai atau perubahan kebutuhan.
26
2.1.7.5 Pemilihan DBMS (DBMS selection)
Menurut Connolly dan Begg (2010, p325), pada tahapan ini terjadi pemilihan
DBMS yang sesusai untuk mendukung sistem basis data. Pemilihan DBMS ini
terjadi antara fase perancangan konseptual dan logikal basis data.
Menurut Connolly dan Begg (2010, p325 - 329), langkah utama dalam
memilih DBMS adalah:
a.
Menggambarkan kerangka acuan pembelajaran;
b.
Mendaftar dua atau tiga produk;
c.
Mengevaluasi produk;
d.
Merekomendasikan pilihan dan memproduksi laporan.
2.1.7.6 Perancangan aplikasi (Application design)
Menurut Connolly dan Begg (2010, p329), perancangan aplikasi merupakan
perancangan antarmuka pengguna dan program aplikasi yang menggunakan dan
memproses basis data. Perancangan aplikasi dilakukan secara paralel dengan
perancangan basis data.
Ada 2 aspek dalam perancangan aplikasi, yaitu:
1.
Perancangan transaksi (transaction design)
Menurut Connolly dan Begg (2010, p330), Transaksi adalah sebuah
tindakan atau serangkaian tindakan yang dilakukan oleh seorang
penguna atau program aplikasi yang mengakses atau mengubah isi dari
basis data. Fungsi dari perancangan transaksi adalah untuk menetapkan
dan mendokumentasikan karakteristik high-level dari suatu transaksi
yang dibutuhkan pada basis data, yaitu:
2.
a.
Data yang akan digunakan oleh transaksi;
b.
Karakteristik fungsional dari transaksi;
c.
Output dari transaksi;
d.
Kepentingannya bagi pengguna;
e.
Tingkat pemakaian yang diharapkan.
Pedoman perancangan antarmuka pengguna (User interface design
guidelines)
Menurut
Connolly
dan
Begg
(2010,
p331–333),
sebelum
mengimplementasikan suatu form atau report, sangat penting untuk
27
merancang tata letaknya terlebih dahulu. Beberapa pedoman untuk
merancang form atau report, yaitu:
a.
Judul yang bermakna.
b.
Instruksi yang dapat dipahami.
c.
Pengelompokan logikal dan field yang berurutan.
d.
Tampilan layout form atau report menarik.
e.
Nama field mudah dikenali.
f.
Terminologi dan penggunaan singkatan yang konsisten.
g.
Penggunaan warna yang konsisten.
h.
Ruang dan batasan tempat untuk data-entry terlihat.
i.
Pergerakan kursor yang mudah.
j.
Koreksi kesalahan untuk satu karakter atau seluruh field.
k.
Pesan kesalahan ditampilkan untuk nilai yang tidak dapat
diterima.
l.
Field yang bersifat opsional diberi tanda yang jelas.
m.
Penjelasan pesan untuk setiap field.
n.
Pemberian suatu tanda jika proses telah selesai.
2.1.7.7 Prototyping
Menurut Connoly dan Begg (2010, p333), prototyping merupakan proses
membangun sebuah model pekerja dalam sistem basis data. Sedangkan prototype
adalah model kerja yang tidak secara normal memiliki seluruh fitur yang diperlukan
dan memberikan seluruh fungsionalitas dari sistem akhir. Ada dua macam strategi
prototyping yang digunakan sekarang ini, yaitu: Requirements prototypingdan
Evolutionary prototyping. Requirements prototyping menggunakan prototype untuk
menentukan kebutuhan dari sistem basis data yang diinginkan dan ketika kebutuhan
itu terpenuhi maka prototype akan dibuang. Evolutionary prototyping digunakan
untuk tujuan yang sama dengan requirement prototyping, perbedaannya yaitu
prototype yang digunakan tidak dibuang melainkan dikembangkan lebih lanjut
menjadi sistem basis data yang digunakan.
2.1.7.8 Implementasi (Implementation)
Menurut Connoly dan Begg (2010, p333 - 334), implementation merupakan
perwujudan fisikal dari perancangan basis data dan aplikasi. Implementasi basis data
dapat dicapai menggunakan DDL dari DBMS yang dipilih atau Graphical User
28
Interface (GUI). Pernyataan DDL digunakan untuk menciptakan struktur-struktur
basis data dan file basis data yang kosong. Semua spesifikasi tampilan pengguna juga
diimplementasikan pada tahap ini. Selain itu, Implementasi program aplikasi dicapai
menggunakan 3GL atau 4GL. Bagian dari program aplikasi adalah basis data
transaksi yang diimplementasikan dengan menggunakan DML atau ditambahkan
pada bahasa pemrograman lain.
2.1.7.9 Konversi dan pemuatan data(Data convertion and loading)
Menurut Connoly dan Begg (2010, p334), konversi dan pemuatan data
merupakan sebuah proses memindahkan data yang ada kedalam basis data baru dan
merubah aplikasi yang ada untuk dijalankan pada basis data yang baru. Tahap ini
dibutuhkan hanya ketika sebuah databse baru menggantikan database lama.
2.1.7.10 Pengujian (Testing)
Menurut Connoly dan Begg (2010, p334 - 335), tahap pengujian merupakan
proses menjalankan sistem basis data dengan maksud untuk mencari kesalahan
(error). Sebenarnya, tahap ini tidak dapat menunjukkan adanya kesalahan, melainkan
hanya dapat menampilkan kesalahan perangkat lunak yang terjadi.
Tahap ini
menunjukkan bahwa basis data dan program aplikasi muncul untuk bisa bekerja
sesuai dengan spesifikasi dan persyaratan bahwa kinerja sesuai yang diharapkan.
2.1.7.11 Pemeliharaan operasional (Operational Maintenance)
Menurut Connoly dan Begg (2010, p335 - 336), Pemeliharaan operasional
proses memantau dan memelihara sistem basis data setelah instalasi. Berikut ini
adalah aktivitas yang dilakukan pada tahap pemeliharaan operasional:
a.
Pengawasan kinerja sistem, jika kinerja menurun maka memerlukan
perbaikan atau pengaturan ulang basis data.
b.
Pemeliharaan dan pembaharuan sistem basis data (jika dibutuhkan).
Kebutuhan yang baru tergabung ke dalam sistem basis data melalui
tahapan dari siklus sebelumnya.
2.1.8 Normalisasi (Normalization)
Menurut Connolly dan Begg (2010, p416), normalisasi merupakan suatu
teknik untuk memproduksi suatu set hubungan dengan sifat yang diinginkan,
memberikan
kebutuhan
data
perusahaan.
Tujuan
dari
normalisasi
adalah
29
mengidentifikasi suatu set kecocokkan antara hubungan yang mendukung dengan
persyaratan perusahaan dan menghilangkan redudansi data. Menurut Indrajani(2011,
p77), karakteristik hubungan tersebut mencakup minimal jumlah atribut yang
diperlukan untuk mendukung kebutuhan perusahaan,
atribut dengan hubungan
logika yang menjelaskan mengenai ketergantunan fungsional, dan minimal duplikasi
untuk setiap atribut.
Berikut adalah tahapan-tahapan proses normalisasi:
1.
Unnormalized Form (UNF)
Menurut Connolly dan Begg (2010, p430), UNF merupakan sebuah
tabel yang mempunyai satu atau lebih kelompok data yang berulang.
2.
First Normalized Form (1NF)
Menurut Connolly dan Begg (2010, p. 430), 1NF merupakan sebuah
hubungan dimana setiap baris dan kolom berisi satu dan hanya satu
nilai.
3.
Second Normalized Form (2NF)
Menurut Connolly dan Begg (2010, p434), 2NF merupakan sebuah
hubungan yang terdapat di dalam bentuk normalisasi pertama dan
setiap atribut yang bukan primary key sepenuhnya secara fungsional
bergantung pada primary key.
4.
Third Normalized Form (3NF)
Menurut Connolly dan Begg (2010, p. 436), 3NF merupakan sebuah
hubungan yang terdapat di dalam bentuk normalisasi pertama dan
kedua
dimana
atribut
yang
bukan
primary
key
memliki
ketergantungan transitif pada primary key.
5.
Boyce-Codd Normal Form (BCNF)
Menurut Connolly dan Begg (2010, p. 447), suatu relasi disebut
memenuhi BCNF jika dan hanya jika setiap determinan yang ada pada
relasi tersebut adalah candidate key.
6.
Fourth Normal Form (4NF)
Menurut Connolly dan Begg (2010, p455 - 457), 4NF adalah suatu
hubungan yang terdapat di dalam bentuk normalisasi boyce-codd dan
tidak mengandung ketergantungan nontrivial multi-valued, dimana
ketergantugan multi-valued mewakili ketergantungan antar atribut di
dalam suatu relasi.
30
7.
Fifth Normal Form (5NF)
Menurut Connolly dan Begg (2010, p458), suatu relasi dikatakan
sebagai bentuk normalisasi kelima jika dan hanya jika suatu relasi
sudah tidak memiliki ketergantungan bersama.
2.2
Hal Khusus
Pada sub bab ini juga akan dijelaskan secara singkat tentang hal-hal khusus
sebagai pendukung analisis dan perancangan sistem basis data, diantaranya:
Structured Query Language(SQL), Internet,World Wide Web(WWW), Hypertext
Markup
Language
(HTML),
JavaScript,Cascading Style Sheet
PHP:
Hypertext
Prepocessor
(PHP),
(CSS), MySQL, Adobe Dreamwaver CS5,
Apache,Procurement, Data Flow Diagram (DFD), Flowchart Diagram, State
Diagram (STD).
2.2.1 Structured Query Language (SQL)
Menurut Connolly dan Begg(2010, p183), Structured Query Language atau
biasa disebut SQL merupakan suatu bahasa khusus yang muncul dari pengembangan
model relasional.Berikut ini adalah tujuan dari SQL:
a.
Membuat basis data dan sturktur hubungannya.
b.
Melakukan pekerjaan dasar manajemen data, seperti memasukkan data,
modifikasi dan penghapusan data dari relasi entitas.
c.
2.2.2
Melakukan query sederhana maupun kompleks.
Internet
Menurut Connolly dan Begg (2010, p1024), internet kumpulan jaringan
komputer yang saling terhubung di seluruh dunia. Internet terdiri dari banyak
jaringan yang terpisah tetapi saling berhubungan untuk kegiatan perdagangan,
pendidikan, dan organisasi pemerintahan dan juga Internet Service Provider (ISP).
Pelayanan yang diberikan internet termasuk surat elektronik (email), pelayanan
pertemuan dan kolaborasi, maupun kemampuan untuk mengakses komputer yang
berjauhan dan mengirim dan menerima file.
2.2.3 World Wide Web (WWW)
Menurut Connolly dan Begg (2010, p1025), World Wide Web atau biasa
disingkat web merupakan sistem yang berbasis pada banyak media yang
31
menyediakan sarana pencarian informasi pada internet secara tidak berurutan
menggunakan hyperlink.
2.2.4 Hypertext Transfer Protocol (HTTP)
Menurut Connolly dan Begg (2010, p.1029), HTTP adalah sebuah protocol
yang digunakan untuk mentransfer halaman web melalui internet. Transaksi dalam
HTTP terdiri dari beberapa tahap yaitu :
1.
Koneksi. Pengguna terkoneksi dengan web server.
2.
Permintaan. Pengguna mengirim sebuah pesan permintaan ke web
server.
3.
Response. Web server mengirim respon ke pengguna.
4.
Close. Koneksi ditutup oleh web server.
2.2.5 Hyper Text Markup Language (HTML)
Menurut Connolly dan Begg (2010, p.1031), HTML merupakan bahasa
format dukumen yang digunkan untuk merancang halaman web. HTML merupakan
sistem untuk menandai sebuah dokumen sehingga bisa dipublikasikan di web. HTML
mendefinisikan apa yang secara umum ditransfer antara node dalam sebuat jaringan.
2.2.6 PHP: Hypertext Prepocessor (PHP)
Menurut Connolly dan Begg (2010, p.1043), PHP merupakan bahasa script
open source HTML embedded yang mendukung banyak web server, seperti Apache
HTTP server dan Microsoft’s Internet Information Server. Bertujuan agar
pengembang web mampu untuk menulis banyak halaman dinamis secara cepat.
2.2.7 Cascading Style Sheet (CSS)
Menurut Saputra (2013, p1), CSS merupakan bahasa pemrograman Web
(skrip) yang didesain khusus untuk mengendalikan dan membangun berbagai
komponen dalam web sehingga tampilan web menjadi lebih rapih, terstruktur, dan
seragam. Dengan CSS, webmaster bisa memisahkan konten utama dengan dokumen
lainnya (HTML dan sejenisnya) yang akan memberikan sangat banyak keuntungan.
2.2.8 Javascript
Javascript merupakan bahasa script yang dikembangkan oleh Netscape, untuk
membuat dokuman yang dinamis. Menurut Nugroho dan Anwar (2008, p105),
javascript merupakan nama implementasi Netscape Communication Corporation
32
untuk ECMAScript standar, suatu bahasa script yang didasarkan pada konsep
pemrograman berbasis prototype. Bahasa ini terutama terkenal dalam penggunaanya
di situs web (sebagai script disisi klien) dan juga digunakan untuk menyediakan
akses script untuk objek yang dibenamkan (embeded) di aplikasi lain.
2.2.9 Adobe Dreamwaver CS5
Dreamwaver merupakan perngkat lunak yang digunakan dalam pembuatan
website. Dreamewaver menyediakan halama untuk JavaScript, ActionScript, JSP,
PHP, HTML, CSS dan lain-lain.
2.2.10 Apache
Menurut Boronczyk, et al (2009, p6), sebagai web server, pekerjaan utama
Apache adalah mendengarkan permintaan yang dikirimkan dari browser dan
merespon kembali dengan cepat. Apache cukup kuat untuk menyelesaikan tugas
apapun yang web master butuhkan.
Menurut Boronczyk, et al (2009, p779), Apache bertanggung jawab melayani
halaman web yang dihasilkan oleh PHP.
2.2.11 MySQL
Menurut Boronczyk, et al (2009, p13), MySQL merupakan kontruksi
database yang memungkinkan PHP dan Apache bekerja bersama untuk mengakses
dan menampilkan data pada format yang dapat dibaca untuk browser. Sebagai
manajemen sistem basis data relasional, MySQL memperbolehkan banyak entitas
yang berbeda digabungkan bersama untuk meingkatkan efisiensi dan kecepatan.
Menurut Boronczyk, et al (2009, p125), keuntungan dari MySQL adalah
MySQL merupakan basis data relasional, yang mendukung pembuatan hubungan
antar entitas.
2.2.12 Web Browser
Dalam pemakaian internet, salah satu yang tidak boleh dilupakan adalah web
browser. Menurut William dan Sawyer (2010, p64), web browser adalah perangkat
lunak yang memungkinkan kita untuk mencari dan mengakses berbagai macam
bagian web. Macam-macam web browser yang sedang berkembang saat ini misalnya
seperti google chrome, mozilla firefox, dan internet explorer.
33
2.2.13 Procurement
Pengadaan barang (procurement) merupakan salah satu bagian dari supply
chain management. Menurut Bower (2003, p1) procurement merupakan proses
memperoleh jasa baru atau barang dan termasuk strategi kontrak, dokumentasi
kontrak, dan pemilihan kontraktor/vendor. Procurement merupakan perluasan dari
seluruh anggota supply chain, termasuk mereka yang bertanggung jawab atas operasi
dan pemeliharaan.
Menurut Turban, et al (2010, p253), proses procurement dalam SAP terdiri
dari:
1. Determination of requirement
User dari departemen yang bersangkutan dapat menyerahkan data
kebutuhan bahan kepada bagian pembelian dalam bentuk Purchase
Requisiton (PR).
2. Determinatin of source supply
Departemen pembelian membuat Request for Quotation (RFQ).
3. Vendor selection
Sistem menyeleksi pemasok dengan membuat perbandingan harga dari
berbagai quotation yang ada.
4. Purchase order handling
Membuat Purchase Order (PO) baik secara manual atau secara otomatis
dengan menggunakan sistem.
5. Purchase order monitoring
User dapat memonitor status pemrosesan dari purchase order dalam
sistem.
6. Good receipt
Ketika terjadi incoming deliveries dalam sistem, user dapat langsung
menemukan PO yang sesuai sehingga dapat menghemat waktu entry dan
dapat mengecek apakah barang yang dikirim dan jumlahnya sudah sesuai
dengan PO.
7. Invoice verification
Ketika masuk ke dalam invoice, dapat mengecek perhitungan dan akurasi
dari invoice.
8. Payment processing
Pembayaran dijalankan dalam modul Financial Acounting.
34
Menurut Turban (2010, p251), ada beberapa metode procurement yang dapat
digunakan oleh perusahaan dalam memperoleh barang dan jasa, antara lain:
1.
Membuat sistem penawaran dimana supplier/vendor akan berkompetisi
antara satu dan lainnya. Biasanya metode ini digunakan dalam pengadaan
yang kuantitasnya besar.
2.
Membeli langsung dari pabrik, wholesaler, dan pengecer, baik dari
katalog yang telah disediakan, maupun metode negosiasi.
3.
Membeli dari lelang, baik yang bersifat pribadi maupun umum, dimana
perusahaan berpartisipasi sebagai pembeli.
4.
Membeli dari Katalog perantara yang menggabungkan katalog-katalog
penjual lainnya.
5.
Membeli dari katalog pembelian internal, dimana katalog vendor yang
telah disetujui oleh perusahaan, termasuk harga yang telah disepakati
bersama, tergabung didalamnya. Pendekatan ini diunakan untuk
implementasi dari desktop purchasing, yang memungkinkan peminta
dapat memesan langsung kepada vendor, tanpa melalui bagian
pengadaan.
6.
Bergabung dengan suatu grup sistem pembelian yang menggabungkan
permintaan anggota-anggotanya dan mengumpulkan menjadi jumlah
yang besar. Kemudian grup tersebut akan melakukan negosiasi harga
atau memulai proses penawaran.
7.
Membeli pada industrial mall.
8.
Berkolaborasi dengan supplier / vendor untuk berbagi informasi
mengenai penjualan dan persediaan, sehingga ketika persediaan
berkurang dan mengalami stock-out, perusahaan dapat melakukan justin-time delivery.
2.2.13.1 Prinsip-Prinsip Pengadaan Barang dan Jasa
Menurut Asliana (2012, p16), Prinsip-prinsip yang harus diterapkan dalam
pengadaan barang/jasa adalah sebagai berikut:
1. Efisien
Efisien pengadaan diukur terhadap seberapa besar upaya yang dilakukan
untuk memperoleh barang/jasa dengan spesifikasi yang sudah ditetapkan.
35
Upaya yang dimaksud mencakup dana dan daya yang dikeluarkan untuk
memperoleh barang/jasa.
2. Efektif
Efektifitas pengadaan diukur terhadap seberapa jauh barang/jasa yang
diperoleh dari proses pengadaan dapat mencapai spesifikasi yang sudah
ditetapkan.
3. Transparan
Bagaimana proses pengadaan barang/jasa yang dilakukan dapat diketahui
secara luas. Proses yang dimaksud meliputi dasar hukum, ketentuanketentuan, tata cara, mekanisme, aturan main,spesifikasi barang/jasa, dan
semua hal yang terkait dengan bagaimana proses pengadaan barang/jasa
dilakukan. Dapat diketahui secara luas berarti semua informasi tentang
proses tersebut mudah diperoleh dan mudah diakses oleh masyarakat
umum, terutama penyedia barang/jasa yang berminat.
4. Terbuka
Pengadaan barang/jasa dapat diikuti oleh semua penyedia barang/jasa
yang memenuhi persyaratan/kriteria yang ditetapkan sesuai ketentuan
yang berlaku.
5. Bersaing
Proses pengadaan barang dapat menciptakan iklim atau suasana
persaingan yang sehat diantara para penyedia barang/jasa, tidak ada
intervensi yang dapat mengganggu mekanisme, sehingga dapat menarik
minat sebanyak mungkin penyedia barang/jasa untuk mengikuti
lelang/seleksi yang pada gilirannya dapat diharapkan untuk memperoleh
barang/jasa dengan kualitas yang maksimal.
6. Adil/tidak diskriminatif
Berarti proses pengadaan dapat memberikan perlakuan yang sama bagi
semua calon
penyedia barang/jasa dan tidak mengarah untuk
memberikan keuntungan pada pihak tertentu, kecuali diatur dalam
peraturan ini. Sebagai usaha bahwa dalam peraturan ini mengatur agar
melibatkan sebanyak mungkin usaha kecil, usaha menengah dan koperasi
kecil. Disamping itu juga mengutamakan produksi dalam negeri.
7. Akuntabel
36
Berarti harus sesuai dengan aturan dan ketentuan yang terkait dengan
pengadaan barang/jasa sehingga dapat dipertanggungjawabkan.
2.2.13.2 Pemilihan dan Penilaian Vendor
Salah satu aktivitas penting dalam procurement adalah pemilihan vendor.
Menurut Pujawan (2005, p137), memilih supplier / vendor merupakan kegiatan
strategis, terutama apabila vendor tersebut akan memasok item yang penting dan/atau
akan digunakan dalam jangka panjang sebagai vendor/supplier penting.
Kriteria pemilihan merupakan salah satu hal terpenting dalam pemilihan
vendor. Kriteria tersebut harus mencerminkan strategi supply chain maupun
karakteristik dari barang / jasa yang akan dipesan. Ada beberapa kriteria penting
dalam pemilihan vendor yang digunakan oleh perusahaan, yakni: kualitas barang /
jasa yang ditawarkan, harga, dan ketepatan waktu pelaksanaan pengerjaan barang /
jasa dan hal-hal lain yang berkaitan dengan berkaitan dengan barang / jasa yang
ditawarkan.
Pemilihan vendor berkaitan erat dengan perhitungan performa vendor.
Dengan hasil evaluasi performa vendor, maka akan digunakan sebagai data dalam
pemilihan vendor yang akan datang. Menurut Gordon (2008, p21), terdapat beberapa
alasan mengapa harus melakuakan evaluasi performa vendor, yakni:
1. You can’t manage, when you don’t measure. Perusahaan tidak akan dapat
mengelola seluruh kegiatan procurement dan mengelola hubungan
vendor.
2. If you measure supplier, they will improve. Jika perusahaan melakukan
evaluasi performa vendor, maka supplier / vendor akan menerima
laporannya.
3. You can uncover and remove hidden waste and cost driver in the supply
chain. Tidak akan ada lagi produk yang terbuang dan dapat
mengendalikan biaya dari proses supply chain.
4. You
can
facilitate
supplier
performance
improvement.
Dapat
memfasilitasi supplier / vendor untuk meningkatkan performanya.
5. You can increase competitiveness by shrinking order cycle times and
inventory levels. Menyusutkan waktu siklus pemesanan dan persediaan
untuk meningkatkan persaingan antar supplier / vendor agar saling
berusaha untuk meningkatkan kinerjanya.
37
6. You can make informed business decision that impact the enterprise.
Hasil evaluasi dapat dijadikan bahan pembuat keputusan oleh perusahaan.
Menurut Tunggal (2010, p62), proses evaluasi performa vendor meliputi 10
tahapan, yakni:
1. Identifikasi kebutuhan.
2. Membuat spesifikasi.
3. Mencari alternatif.
4. Membangun koneksi.
5. Mengatur kriteria dan penggunaan.
6. Anggran yang tersedia.
7. Bernegosiasi dengan vendor.
8. Memberi evaluasi pasca pembelian.
9. Menggunakan evaluasi pasca pembelian.
10. Menyalurkan evaluasi pasca pembelian.
2.2.14 Flowchart
Menurut Indrajani (2011, p22), Flowchart merupakan suatu pengembangan
secara grafik dari langkah-langkah dan urutan prosedur suatu program. Tujuan dari
pembuatan flowchart adalah untuk mempermudah penyelesaian masalah khususnya
yang perlu dipelajari dan dievaluasi lebih lanjut.
Berdasarkan jenisnya, flowchart dibagi menjadi lima bagian, yakni:
1. System Flowchart
2. Dokument Flowchart
3. Schematic Flowchart
4. Program Flowchart
5. Process Flowchart
Berikut adalah notasi dalam Flowchart:
38
Gambar 2.2 Notasi pada System Flowchart.
2.2.15 Data Flow Diagram (DFD)
Menurut Whitten dan bentley (2009, p317), DFD merupakan alat yang
menggambarkan aliran data melalui sistem dan pekerjaannya atau proses yang
dilakukan oleh sistem. Sedangkan menurut Indrajani (2011, p11), DFD merupakan
sebuah alat yang menggambarkan aliran data sampai sebuah sistem selesai, dan kerja
atau proses dilakukan dalam sistem tersebut.
39
Berikut adalah notasi yang digunakan pada DFD:
Tabel 2.1 Notasi Dalam DFD.
Notasi Yourdon & DeMarco
Notasi Gane & Sarson
Eksternal
Agents
Process
Data Store
Data Flow
1.
Eksternal Agents, mendefinisikan orang atau sebuah unit organisasi,
sistem lain, atau organisasi yang berada diluar sistem proyek tetapi dapat
mempengaruhi sistem kerja.
2.
Process, penyelenggaraan kerja atau jawaban, datangnya aliran data atau
kondisinya.
3.
Data Store, menunjukkan tempat data disimpan.
4.
Data Flow, menunjukkan sebuah input data kedalam sebuah proses atau
output dari data pada sebuah proses.
Dalam pembuatan DFD, terdapat beberapa tingkatan yang bertujuan untuk
menghindari aliran data yang rumit. Tingkatan tersebut yakni:
1.
Diagram konteks (Level-0 Diagram)
Merupakan
sebuah
model
proses
yang
digunakan
untuk
mendokumentasikan ruang lingkup dari sebuah sistem.
2.
Diagram nol (Level-1 Diagram)
Merupakan diagram aliran data yang menggambarkan sebuah major
processes, data flow, dan data stores dari sebuah sistem yang berada
pada tingkatan tertinggi untuk detailnya.
40
3.
Diagram rinci (Level-2 Diagram)
Diagram ini menggambarkan rincian dari proses yang terdapat pada
tingkatan sebelumnya.
2.2.16 State Transition Diagram (STD)
Menurut Indrajani (2011, p17), STD adalah suatu kondisi yang menunjukkan
keadaan tertentu, dimana suatu sistem dapat ada dan transisi menghasilkan keadaan
tertentu yang baru. Biasa digunakan dalam sistem yang real time.
Menurut Indrajani (2011, p17), berikut adalah hal-hal yang ada pada STD:
1.
System State, berbentuk persegi panjang yang menggambarkan suatu keadaan
sistem dari sistem secara keseluruhan.
2.
Change of state
State 1
State 2
State 3
Gambar 2.3 Change of State.
3.
Conditions and Actions
State 1
Conditions
Actions
State 2
Gambar 2.4 Condition dan Actions.
41
2.2.17 Delapan Aturan Emas
Menurut Shneiderman dan Plaisant (2010, p88 - 89), terdapat delapan aturan
emas (8 golden rules) yang dapat digunakan sebagai pedoman dalam perancangan
antarmuka pemakai, yaitu:
1.
Berusaha untuk konsisten
Urutan tindakan yang konsisten dibutuhkan dalam situasi yang mirip.
Konsistensi dilakukan pada urutan tindakan, perintah, penempatan, warna,
layout dan istilah yang digunakan pada prompt, menu, serta layar bantuan.
Contoh: Peletakan button login yang tidak berubah tempat.
2.
Usability universal
Adanya kebutuhan dari pengguna yang sudah berpengalaman untuk
meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol
fungsi, perintah tersembunyi, dan fasilitas makro. Contoh: Pada yahoo mail,
pengguna cukup menekan tombol “N” di keyboard untuk menulis email,
sehingga pengguna tidak perlu mencari-cari tombol new/compose/write di
webpage.
3.
Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan
balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, maka
dapat diberikan umpan balik yang sederhana, tetapi ketika tindakan tersebut
merupakan hal yang penting, maka umpan balik sebaiknya lebih banyak dan
lebih rinci. Contoh: Jika pengguna memasukkan username atau password
yang salah di yahoo, maka akan tampil feedback yang memberikan alasan
mengapa pengguna tidak bisa login.
4.
Merancang dialog untuk menghasilkan suatu penutupan (keadaan akhir)
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian
awal, tengah dan akhir. Umpan balik yang informatif akan memberikan
indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan
kelompok tindakan berikutnya. Contoh: Sistem memberikan feedback yang
menjelaskan bahwa langkah yang dilakukan sudah benar, dan pengguna dapat
melanjutkan ke tahap selanjutnya.
5.
Adanya pencegahan kesalahan dan penanganan kesalahan
Sedapat mungkin, sistem dirancang untuk mencegah pengguna melakukan
kesalahan fatal. Jika kesalahan terjadi, maka sistem harus dapat mendeteksi
42
kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan
mudah dipahami untuk penanganan kesalahan. Contoh: Saat pengguna baru
akan sign up di yahoo, jika nama email yang dimasukkan pengguna telah
dipakai oleh pengguna lainnya, maka sistem akan memberitahukan hal
tersebut kepada pengguna yang baru dan menawarkan nama yang lain.
6.
Memungkinkan pembalikan aksi yang mudah
Hal ini dapat mengurangi kekhawatiran pengguna karena pengguna
mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna
tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa
digunakan. Contoh: Terdapat menu “undo” atau “back” pada browser.
7.
Mendukung pusat kendali internal (internal locus of control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespons
tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem
mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga
pengguna dapat mengontrol program-program yang terdapat pada sistem.
Contoh: Pengguna Binusmaya bebas memilih menu-menu yang telah
disediakan.
8.
Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau
banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup
waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.
Download