BAB 2 LANDASAN TEORI
2.1 Teori Umum 2.1.1 Data dan Informasi Data adalah apapun dan atau semua fakta yang dikumpulkan, disimpan, dan diprosesoleh sistem informasi, sedangkan informasi adalah data yang telah diaturdan diproses sehingga dapat memiliki arti (Romney,2000). Informasi dapat berupa dokumen, laporan, atau jawaban suatu pertanyaan. Dokumen merupakan catatan transaksi atau data perusahaan, sedangkan laporan merupakan informasi yang digunakan untuk membantu pengambilan keputusan yang baik. Terdapat enam karakteristik yang membuat informasi menjadi berguna dan berarti: 1. Relevant:
informasi
adalah
relevant
bila
dapat
mengurangi
ketidakpastian, meningkatkan kemampuan pengambilan keputusan dalam membuat prediksi, atau memastikan, membenarkan perkiraan mereka. 2. Reliable: informasi adalah reliable bila bebas dari kesalahan atau bisa secara tepat menampilkan kejadian atau aktifitas organisasi. 3. Complete: informasi adalah complete apabila dapat mencakup aspekaspek penting dari kejadian atau aktifitas yang diukurnya. 4. Timely: informasi adalah timely bila dapat menyediakan tepat waktu bagi para pembuat keputusan untuk mengguanakannya dalam membuat keputusan.
8
9 1. Understandable: informasi ditampilkan dengan format yang dapat dibaca dan dimengerti oleh pemakai. 2. Variable: informasi adalah variable bila dua orang yang berpengetahuan masing-masing menghasilkan informasi yang sama.
2.1.2 Basis Data Basis data dipakai dipakai untuk aplikasi sederhana sampai aplikasi rumit yang melibatkan beberapa pengguna. Oleh sebab itu basis data dibagi sesuai kopleksitasnya. Ada tiga model basis data, yaitu: 1. Database Stand-alone. Database stand-alone adalah basis data yang sangat sederhana karena disimpan di sistem file lokal dan mesin basis data mengakses pada mesin yang sama. Perancang basis data tidak perlu khawatir akan terjadinya konkurensi, karena basis data hanya dipakai untuk satu kali aplikasi. 2. Database File Share. Database file share mirip dengan database stand-alone, tetapi dapat diakses beberapa pengguna. Basis data ini akan mengalami masalah jika aplikasi memerlukan banyak perhitungan dan pada saat yang bersamaan ada beberapa bagian dalam perusahaan yang mengakses ke dalam basis data. 3. Database Client/Server. Database ini merupakan database level tertinggi. Basis data ini memerlukan perangkat khusus yaitu server yang dipakai untuk melayani sekelompok pengguna. Pada database file share, sistem akan terhenti
10 pada saat proses ini dikerjakan. Pada client/server database, komputer akan bertanya pada pengguna apa pengguna akan menunggu hasilnya atau akan mengerjakan pekerjaan lain sambil menunggu proses selesai.
2.1.3 Konsep Basis Data Database merupakan suatu koleksi bersama atas data yang terhubung secara logikal, dan penjabaran atas data, yang dibentuk untuk menjawab kebutuhan
informasi
sebuah
organisasi.
Database
merupakan
tempat
penyimpanan yang besar yang dapat digunakan secara simultan oleh banyak departemen dan pengguna (Connolly,2002,p14-15). Basis data adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dalam suatu cara yang memudahkan pengambilan kembali (McLeod,2001,p258). Oleh karena itu digunakan direct access storage. Integrasi secara logikal dari record di beberapa file disebut konsep database. Dua tujuan utama konsep basis data: 1. Meminimalkan redudancy. 2. Diperolehnya data independen. Kemampuan untuk mengubah struktur data tanpa mengubah program untuk memproses data. Hal ini dapat dicapai dengan menempatkan spesifikasi data pada suatu tabel yang secara fisik terpisah dari programnya. Program akan mereferensi tabel untuk mengakses data. Perubahan struktur data hanya dilakukan satu kali pada tabel.
11 2.1.4 Database Management System (DBMS) Menurut Connolly dan Begg (2002, p16) sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, dan memelihara basis data dan juga menyediakan akses yang terkontrol ke basis data tersebut. Database Management System (DBMS) adalah suatu sistem software yang memungkinkan user untuk menentukan, menciptakan, merawat, dan mengontrol pengaksesan terhadap suatu basis data. DBMS merupakan software yang berinteraksi dengan program aplikasi dan basis data. Komponen-komponen DBMS adalah sebagai berikut : •
Hardware Dibutuhkan untuk menjalankan DBMS dan aplikasi, berupa PC, mainframe, dan jaringan komputer.
•
Software Meliputi software DBMS, software aplikasi, dan sistem operasi dan juga sistem jaringan jika dalam pengunaannya menggunakan jaringan.
•
Data Komponen yang terpenting dan juga merupakan komponen penghubung antara komponen hardware dan software dengan komponen prosedur dan orang.
•
Prosedur Instruksi dan aturan yang mengatur perancangan dan penggunaan basis data.
12 •
Orang Semua orang yang terlibat dalam sistem seperti DBA, programmer, aplikasi, pengguna akhir, dll.
Setiap pengguna basis data memerlukan bahasa pemrograman yang dapat dipakai sesuai dengan fungsi dan tugasnya. Dalam basis data secara umum dikenal dua bahasa, yaitu: 1. Data Definition Language (DDL): bahasa yang dipakai untuk menjelaskan objek dari basis data. DDL dipakai untuk mendefinisikan kerangka basis data (berorientasi pada tipe pada objek basis data). 2. Data Manipulation Language (DML): bahasa yang dipakai untuk memanipulasi objek data dari basis data. DML dipakai untuk operasi terhadap isi basis data. Beberapa fasilitas yang disediakan dalam DBMS, yaitu : •
DBMS memungkinkan user untuk menentukan suatu basis data, biasanya menggunakan Data Definition Language (DDL). DDL memungkinkan user untuk menspesifikasikan tipe dan struktur data serta batasan-batasan data yang akan disimpan dalam basis data.
•
DBMS memungkinkan user / admin untuk melakukan insert, update, delete, retrieve terhadap data-data yang ada dalam basis data melalui Data Manipulation Language (DML). DML menyediakan suatu fasilitas umum bagi data yang disebut query language.
13 •
DBMS menyediakan control terhadap pengaksesan suatu basis data, sistem keamanan yang memcegah user yang tidak berkepentingan mengakses suatu basis data.
Keuntungan dari penggunaan DBMS, diantaranya : •
Mengurangi redudansi data. Data yang sama cukup disimpan sekali.
•
Menghindari inkonsistensi. Redundasi berkurang sehingga update terhadap data hanya perlu dilakukan pada satu tabel saja, maka tabeltabel lain yang berhubungan akan ikut berubah.
•
Pengaksesan data beberapa user dalam waktu yang sama.
•
Integritas. Data yang tersimpan merupakan data yang akurat.
•
Jaminan keamanan dengan pengaturan hak akses terhadap data.
•
Standarisasi. Keseragaman dalam penyajian data.
•
Meningkatkan aksesibilitas. User dapat memperoleh data yang diinginkan melalui query.
•
Meningkatkan produktifitas. Tidak perlu menggunakan bahasa pemrograman yang sulit cukup menggunakan 4GL (4th Generation Language).
•
Meningkatkan pemeliharaan melalui data independence. Aplikasi dan basis data sehingga perubahan pada basis data merubah program aplikasi.
•
Meningkatkan konkurensi. Pengaturan terhadap data yang diakses oleh beberapa user bersamaan sehingga integritas data tidak hilang.
14 •
Meningkatkan fasilitas back up dan recovery data.
2.1.5 The Database Development Lifecycle Menurut Thomas M. Connolly (2002, p284), tahapan-tahapan dalam Database Development Lifecycle adalah :
15
Database Planning
System Definition
Requirement Collection And Analysis
Database Design
Conceptual Database DBMS Selection
(Optional)
Application Design
Logical Database Design
Physical Database Design
Prototyping (Optional)
Implementation
Data Conversion &
Testing
Maintenance
Gambar 2.1. Database Lifecycle
16 •
Perencanaan Basis Data (Database Planning) Pada perencanaan basis data dilakukan suatu perencanaan mengenai bagaimana langkah-langkah yang ada dalam Database Delevopment Life Cycle dapat direalisasikan dengan seefektif dan seefisien mungkin.
•
Definisi System (System Definition) Pada tahap ini dilakukan spesifikasi dan ditentukan batasan-batasan terhadap aplikasi basis data, user view, dan area aplikasinya. Suatu aplikasi basis data mungkin mempunyai beberapa view untuk user yang berbeda sesuai dengan kebutuhannya masing-masing.
•
Requirement Collection and Analysis Pada tahap ini dilakukan proses pengumpulan dan analisa informasi mengenai bagian informasi yang didukung oleh aplikasi basis data, dan
menggunakan
informasi
tersebut
untuk
mengidentifikasi
kebutuhan user pada sistem yang baru. Ada tiga pendekatan dalam mengatur kebutuhan suatu aplikasi basis data dengan user view yang berbeda-beda, yaitu: a) Pendekatan Terpusat (Centralized Approach) Dengan pendekatan terpusat, kebutuhan setiap user digabung menjadi satu set kebutuhan untuk aplikasi basis data yang baru. b) Pendekatan Terintegrasi (View Integration Approach) Pada pendekatan ini kebutuhan setiap user digunakan untuk membangun model data terpisah untuk mempresentasikan user
17 view. Kemudian hasil dari model data digabungkan pada tahap perancangan basis data. c) Gabungan dari Pendekatan Terpusat dan Pendekatan Terintegrasi. •
Perancangan Basis Data (Database Design) Pada tahap perancangan basis data dilakukan proses perancangan terhadap basis data yang akan mendukung tujuan suatu perusahaan. Perancangan basis data dilakukan dengan tiga tahap yaitu perancangan basis data secara konseptual, logikal, dan kemudian fisikal.
•
Pemilihan Basis Data (DBMS Selection) Pada tahap ini dilakukan pemilihan DBMS yang cocok untuk mendukung aplikasi basis data. Tahap ini boleh merupakan tahapan optional dalam Database Development Life Cycle.
•
Perancangan Aplikasi (Application Design) Pada tahap ini dilakukan perancangan user interface dan program aplikasi yang menggunakan dan memproses basis data.
•
Prototyping Pada tahap ini dilakukan pembuatan model kerja aplikasi basis data yang memungkinkan perancang atau user untuk memvisualisasikan dan mengevaluasi bagaimana final sistem akan berfungsi dengan baik dan menarik. Tahapan ini juga merupakan tahapan optional dalam Database Development Life Cycle.
18 •
Implementation Pada tahap ini dibuat definisi basis data secara eksternal, konseptual, dan internal dan program aplikasi.
•
Data Conversion and Loading Pada tahap ini dilakukan loading data dari sistem lama ke sistem yang baru.
•
Testing Pada tahap ini dilakukan pengujian terhadap aplikasi basis data apakah masih terdapat error dan sesuai dengan kebutuhan user.
•
Operational Maintenance Setelah aplikasi basis data diimplementasikan pada suatu perusahaan, sistem harus dimonitor dan dipelihara secara terus-menerus. Jika diperlukan perubahan, maka dilakukan langkah-langkah sebelumnya pada Database Development Life Cycle dimulai dari langkah pertama.
2.1.6 Perancangan Basis Data Setelah membahas Database Development Life Cycle, sekarang akan dijelaskan lebih lanjut mengenai metode-metode perancangan basis data dimulai dari perancangan basis data secara konseptual, logikal, maupun fisikal.
2.1.6.1 Perancangan Basis Data Konseptual Pada perancangan basis data secara konseptual dilakukan langkah-langkah sebagai berikut :
19 a) Mengidentifikasi tipe entity yang dibutuhkan oleh view; b) Mengidentifikasi relasi yang terjadi antara entity-entity yang telah didefinisikan; c) Mengidentifikasi atribut-atribut yang berhubungan dengan entity dan relationship yang telah didefinisikan; d) Menentukan domain atribut; e) Menentukan atribut yang menjadi candidate key dan primary key pada tiap entity; f) Menggunakan konsep enhanced modelling seperti specialization, generalization, aggregation, dan composition untuk entity yang ada jika diperlukan. Langkah ini merupakan langkah optimal; g) Menghilangkan redundant relationship; h) Memeriksa kembali model konseptual yang telah dibuat, apakah sudah mendukung transaksi yang dibutuhkan pada view; i) User melakukan review terhadap model konseptual yang telah dibuat, untuk memastikan bawa model yang dibuat merupakan representasi dari view yang akan dibuat.
2.1.6.2 Perancangan Basis Data Logikal Setelah merancang basis data konseptual, langkah berikutnya yang akan dilakukan adalah merancang basis data logikal. Langkahlangkah yang dilakukan dalam perancangan. Basis data logikal ada dua, yaitu membangun dan memvalidasi model data logikal bagi masingmasing view dan model data logikal globalnya. Tahap-tahap yang
20 dilakukan dalam membangun dan memvalidasi model data logikal bagi masing-masing view adalah: 1) Menghilangkan fitur-fitur yang tidak kompatibel (compatible) dengan model relasional, diantaranya menghilangkan many-to-many binary relationship types, many-to-many recrusive relationship types, relasi kompleks, dan menghilangkan atribut yang multi-valued; 2) Menurunkan relasi untuk model data logikal dengan cara: •
Membuat relasi antara strong entity yang ada. Untuk atribut composite seperti nama, cantumkan yang penting saja seperti fName (nama depan) dan lName (nama belakang);
•
Untuk weak entity types, primary key-nya diturunkan dari setiap owner entity;
•
Untuk one-to-many binary relationship, entity yang ada di satu sisi ditentukan sebagai parent entity dan sisi yang lain sebagai child entity;
•
Untuk one-to-one binary relationship, apabila terdapat mandatory participation pada kedua sisi, gabungkan entity yang terlibat menjadi satu tabel dan pilih salah satu primary key dari entity asalnya menjadi primary key pada tabel yang baru dan primary key yang lainnya digunakan sebagai alternate key. Apabila terdapat mandatory participation pada sisi pertama, maka yang harus dilakukan adalah menentukan entity parent dan child dari kedua tabel. Primary key pada tabel parent akan menjadi primary
21 key juga di tabel child. Dan apabila terjadi optional participation pada kedua sisi, maka harus ditentukan primary key dari tabel mana yang akan di-copy ke tabel lain yang berhubungan; •
Untuk superclass / subclass relationship types, identifikasi entity superclass sebagai parent entity dan entity subclass sebagai parent entity;
•
Untuk many-to-many binary relationship types, buat sebuah tabel untuk mempresentasikan relationship dan beberapa atribut yang menjadi bagian dari relationship tersebut. Letakkan primary key dari entity-entity yang berhubungan ke tabel yang baru sebagai foreign key. Foreign key tersebut juga akan menjadi primay key pada tabel yang baru;
•
Untuk relasi kompleks, buat sebuah tabel yang mempresentasikan relationship dan beberapa atribut yang menjadi bagian dari relationship tersebut. Kemudian letakkan primary key dari entityentity yang berelasi kompleks ke dalam tabel yang baru dibuat sebagai foreign key. Foreign key yang mewakili relasi many, misalnya 0…* atau 1…* akan membentuk primary key juga pada tabel yang baru;
•
Untuk
atribut
multi-valued,
buat
sebuah
tabel
yang
mempresentasikan atribut multi-valued dan primary key dari tabel yang lama menjadi foreign key pada tabel yang dibuat. 3) Membuat normalisasi terhadap tabel-tabel yang belum normal.
22 4) Memastikan bahwa model logikal yang dibuat dapat mendukung kebutuhan view. 5) Menentukan batasan-batasan seperti data yang dibutuhkan, batasan atribut domain, entity integrity, referential integrity, dan enterprise constraint. User melakukan review terhadap model logikal yang telah dibuat, untuk memastikan bahwa model yang dibuat merupakan representasi dari view yang akan dibuat.
Kemudian
langkah
selanjutnya
adalah
merancang
dan
memvalidasi model data logikal global dengan mengkombinasikan model data logikal yang telah dibuat. Tahap-tahap yang dilakukan dalam merancang dan memvalidasi model data logikal global adalah : 1) Menggabungkan model data logikal lokal menjadi model data logikal global dengan cara: •
Review nama dan isi setiap entity beserta candidate key dari entity tersebut;
•
Review nama dan isi foreign key pada tiap entity;
•
Gabungkan entity-entity yang ada pada model data logikal local;
•
Masukkan (tanpa penggabungan) entity yang unik pada tiap model data logikal global;
•
Gabungkan relationship / foreign key model data logikal local;
•
Masukkan (tanpa penggabungan) relationship / foreign key yang unik pada setiap model data logical lokal;
23 •
Cek apakah masih ada missing entity atau relationship / foreign key;
•
Cek foreign key;
•
Cek integrity constraint;
•
Gambarlah ERD globalnya;
•
Update dokumentasi yang telah dibuat.
2) Validasi model data logikal global menggunakan teknik normalisasi untuk memastikan model data yang dibuat mendukung kebutuhan user; 3) Cek perkembangan di masa yang akan datang untuk menentukan apakah ada perubahan yang signifikan di masa yang akan datang untuk memastikan bahwa model data logikal yang dibuat dapat mengakomodasi perubahan tersebut; 4) Review model data logikal global dengan user untuk memastikan bahwa model data logikal yang dibuat merupakan representasi perusahaan yang sebenarnya.
2.1.6.3 Perancangan Basis Data Fisikal Perancangan basis data fisikal dilakukan untuk menterjemahkan model data logikal global bagi DBMS target. Tujuannya adalah untuk membuat skema basis data relasional dari model data logikal global sehingga dapat diimplementasikan pada DBMS target. Langkah-langkah yang harus dilakukan dalam perancangan basis data fisikal yaitu :
24 1) Menterjemahkan model data logikal global bagi DBMS target. Dalam menterjemahkan model data logikal ada beberapa langkah yang harus dilakukan, yaitu: •
Merancang tabel-tabel untuk memutuskan bagaimana cara mempresentasikan tabel-tabel pada model data logikal global dalam DBMS target.
•
Merancang representasi data yang diturunkan untuk memutuskan bagaimana mempresentasikan data turunan pada model data logikal global dalam DBMS target.
•
Merancang enterprise constraint bagi DBMS target.
2) Merancang representasi fisik basis data untuk meningkatkan efisiensi penyimpanan data. Tingkat efisiensi penyimpanan data dipengaruhi oleh throughput transaksi, waktu respon, dan disk storage. Langkahlangkah yang dilakukan dalam merancang representasi fisik basis data yaitu: •
Menganalisa transaksi untuk mengetahui fungsionalis transaksi pada basis data dan menganalisa transaksi-transaksi penting. Caranya dengan mapping semua path transaksi ke tabel-tabel atau relasi, menentukan tabel mana yang sering diakses oleh transaksi, dan menganalis data-data transaksi yang terlibat pada tabel tersebut;
•
Memilih organisasi file untuk menentukan organisasi organisasi file yang efisien bagi setiap tabel atau relasi. Cara pemilihan
25 organisasi file yang efisien ada beberapa, diantaranya heap, hash, ISAM (Index Sequential Access Method), B*-tree, dan cluster; •
Memilih indeks untuk menentukan apakah penambahan indeks akan meningkatkan performa system;
•
Memperkirakan disk space yang dibutuhkan oleh basis data.
3) Merancang user view yang telah didefinisikan pada saat pengumpulan dan analisi kebutuhan pada Database Development Life Cycle; 4) Merancang security measures bagi basis data sebagai spesifikasi dari tiap user. 5) Mempertimbangkan pengenalan terhadap pengontrolan redudansi untuk menentukan apakah pengontrolan redudansi yang dilakukan dengan teknik normalisasi akan meningkatkan performa sistem. Langkah-langkah yang harus dilakukan adalah : •
Mengkombinasikan relasi one-to-one.
•
Menduplikasi foreign key dalam relasi one-to-many untuk mengurangi join.
•
Memperkenalkan kembali repeating groups.
•
Menggabungkan tabel look up dengan tabel dasar.
•
Membuat ekstrak tabel-tabel.
•
Memonitor sistem operasional dan meningkatkan performa sistem untuk
memperbaiki
rancangan
merefleskikan perubahan kebutuhan.
yang
telah
dibuat
atau
26 6) Memonitor sistem operasional dan meningkatkan performa sistem untuk memperbaiki rancangan yang telah dibuat atau merefleksikan perubahan kebutuhan.
2.1.7 Normalisasi Normalisasi adalah suatu teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam organisasi.
2.1.7.1 Tujuan Normalisasi Tujuan normalisasi yaitu : •
Untuk menghilangkan kerangkapan data
•
Untuk mengurangi kompleksitas
•
Untuk mempermudah pemodifikasian data
2.1.7.2 Proses Normalisasi Proses normalisasi yaitu : •
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
•
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
27 2.1.7.3 Tahapan Normalisasi Tahapan normalisasi merupakan sebuah three-step teknik yang menempatkan model data menjadi first normal form, second normal form, dan third normal form. Seperti berikut dibawah ini: Bentuk Tidak Normal
Menghilangkan perulangan group
Bentuk Normal Pertama (1NF)
Menghilangkan ketergantungan sebagian
Bentuk Normal Kedua (2NF)
Menghilangkan ketergantungan transitif
Bentuk Normal Ketiga (3NF)
Menghilangkan
anomali-anomali
hasil
dari
ketergantungan fungsional
2.1.8 Entity Relationship Diagram Model Entity Relationship
Adalah
menggunakan Entity dan Relationship
suatu
penyajian
data
dengan
28 2.1.8.1 Entity 1. Entity adalah obyek yang dapat dibedakan dalam dunia nyata 2. Entity set adalah kumpulan dari entity yang sejenis 3. Entity set dapat berupa : •
Obyek secara fisik : Rumah, Kendaraan, Peralatan
•
Obyek secara konsep : Pekerjaan , Perusahaan, Rencana
2.1.8.2 Atribut Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. Jenis-jenis atribut : 1. Key Atribut yang digunakan untuk menentukan suatu entity secara unik. 2. Atribut Simple Atribut yang bernilai tunggal. 3. Atribut Multivalue Atribut yang memiliki sekelompok nilai untuk setiap instan entity.
29
Gambar 2.2 Contoh Atribut Multivalue
4. Atribut Composite Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Gambar 2.3 Contoh Atribut Multisite
30 5. Atribut Derivatif Suatu atribut yang dihasilkan dari atribut yang lain.
Tgl Lahir
Umur
Mahasiswa
Gambar 2.4 Contoh Atribut Derivatif
2.1.8.3 Relationship Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Relationship set adalah kumpulan relationship yang sejenis.
Dosen
Mengajar
Mahasiswa
Gambar 2.5 Contoh Relationship
2.1.8.4 Derajat dari relationship Menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship, yaitu: •
Unary Degree (Derajat Satu)
Pegawai
Lapor
31 •
Binary Degree (Derajat Dua)
Dosen
•
Kerja
Universitas
Ternary Degree (Derajat Tiga)
Dosen
Kerja
Universitas
Universitas
Gambar 2.6 Contoh Derajat Relationship
2.1.8.5 Cardinality Ratio Constraint Menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya. Jenis Cardinality Ratio •
1:1
Pegawai
Milik
Kendaraan
p1
r1
k1
p2
r2
k2
p3
r3
Direktur
1 Punya
k3
1 Kendaraan
32 •
1:N/N:1
Pegawai
Kerja
Departemen
p1
r1
d1
p2
r2
d2
p3
r3
d3
p4
r4
Dosen
•
N Kerja
1 Tugas
M:N
Pegawai
Kerja
Proyek
p1
r1
p1
p2
r2
p2
p3
r3
p3
r4
Dosen
M Kerja
N Tugas
Gambar 2.7 Contoh Cardinality Ratio
2.1.8.6 Participation Constraint Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
33 Terdapat 2 macam Participation Constraint : •
Total Participation Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
Dosen
•
N Punya
1
Bagian
Partial Participation Keberadaan
suatu
entity
tidak
tergantung
pada
hubungannya dengan entity lain.
Gambar 2.8 Contoh Participant Constraint
2.1.8.7 Weak Entity Weak Entity adalah suatu entity dimana keberadaan dari
entity
tersebut tergantung dari keberadaan entity lain. Entity yang merupakan induknya disebut Identifying Owner dan hubungannya disebut Identifying Relationship. Weak Entity selalu mempunyai Total Participation constraint dengan Identifying Owner.
34
Nama Kddosen
…….
…….
Mahasiswa
Mengajar
Dosen
Gambar 2.9 Contoh Weak Entity
2.1.8.8 Simbol-simbol ER-Diagram Ada beberapa simbol-simbol ER-Diagram, yaitu: Notasi
Arti 1. Entity
2. Weak Entity
3. Relationship
4. Identifiying Relationship
5. Atribut
6. Atribut Primary key
35 7. Atribut Multivalue
8. Atribut Composite
9. Atribut Derivatif
Gambar 2.10 ER Diagram
Gambar 2.11 Contoh ER Diagram
36 2.2 Teori Khusus
2.2.1 Pengertian Sistem Menurut O’Brien (2003, p8), sistem adalah kumpulan elemen yang saling berinteraksi membentuk satu keseluruhan. Komponen – komponen yang saling berhubungan bekerjasama mencapai satu tujuan dengan menerima input dan menghasilkan output dalam suatu proses transformasi yang terorganisir.
2.2.2 Pengertian Informasi Menurut McLeod (2001, p12), informasi data yang telah diproses, atau data yang telah memiliki arti tertentu bagi penggunanya. Menurut O’Brien (2003, p13), informasi adalah data yang telah diubah menjadi suatu yang berarti dan konteksnya bermanfaat bagi pengguna.
2.2.3 Pengertian Sistem Informasi Menurut O’Brien (2003, p7), sistem informasi adalah gabungan organisasi – organisasi dari manusia, perangkat keras, piranti lunak, jaringan komunikasi dan sumber data yang dikumpulkan diubah menjadi informasi yang disebarkan dalam organisasi. Begitu juga dengan Laudon (2004, p4), sistem informasi secara teknik dapat didefinisikan sebagai suatu kumpulan komponen dikumpulkan, diproses, disimpan dan kemudian informasi disebarkan untuk membuat pendukung keputusan, koordinasi, dan pengaturan. Sistem informasi juga dapat membantu manajer dan pekerja menganalisa masalah, menggambarkan persoalan yang
37 kompleks dan membuat produk baru.
2.2.4 Pengertian Administrasi Pengertian administrasi dapat dilihat dalam pengertian sempit dan luas. Menurut Ulbert (1999), yang dikutip oleh Husein Umar (2004, p2), administrasi secara sempit didefinisikan sebagi penyusunan dan pencatatan data dan informasi secara sistematis baik internal maupun external dengan maksud menyediakan keterangan serta memudahkan untuk memperolehnya kembali baik sebagian maupun menyeluruh. Pengertian administrasi secara sempit lebih tepat disebut tata usaha (clerical office, office work). Kegiatan tatausaha terdiri dari beberapa rangkaian kegiatan, yaitu penerimaan, pencatatan, pengklasifikasian, pengolahan, penyimpanan, pengetikan, penggadaan, dan pengiriman data dan informasi secara tertulis yang diperlukan oleh organisasi. Sedangkan administrasi secara luas menurut Ulbert (1999), yaitu dikutip oleh Husein Umar (2004, p2), telah mensistensikan dengan baik beberapa pendapat tentang administrasi berdasarkan unsur – unsurnya.
2.2.5 Flowchart Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
38 Flowchart terbagi atas lima jenis, yaitu : 1. Flowchart Sistem (System Flowchart) Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem. Flowchart system terdiri dari data yang mengalir melalui system dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
39
Pesanan Pembelian
Masukkan Pesanan Pembelian
Informasi Pesanan Pembelian
Tentukan Jumlah Pesanan
Laporan Jumlah Pesanan
Keluarkan Pesanan
Gambar 2.12 Contoh System Flowchart 2. Flowchart Paperwork / Flowchart Document Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart
Paperwork sering disebut juga dengan
40 Flowchart Dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.
ANGGOTA
ADMINISTRASI
Formulir
Formulir #
KEPALA PERPUSTAKA
Kartu Anggota
Pengisian Formulir
#
P
Formulir #
Kartu Anggota Formulir #
Kartu Anggota
Kartu Anggota
Kartu Anggota
Keterangan : # : Masukkan data dan calon anggota ke dalam komputer (proses pengisian data) P : Tanda tangan dan validasi data Gambar 2.13 Contoh Flowchart Paperwork
41 3. Flowchart Skematik Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem. Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart.
4. Flowchart Program Flowchart Program dihasilkan dari Flowchart Sistem. Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis
Sistem
menggunakan
flowchart
program
untuk
menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.
42 Start Catatan: Bahwa flowchart program ini Rincian dari sistem flowchart (gambar 2.12) untuk kotak yang bernama ”Tentukan Jumlah pesanan.
Baca Data Pesanan Pembeli
X=2*A*P
Y=R*C
Z = X/Y
Untuk Menentukan Jumlah Pesanan : Jumlah Pesanan =
Jumlah Pesanan
2AP RC
Z Dimana : A = Biaya Setahun P = Pemakaian Setahun R = Biaya Sekali Pesan C = Biaya Penyimpanan
Cetak Jumlah & Item Pesanan
T
Y EOF
Stop
Gambar 2.14 Contoh Program Flowchart
43 5. Flowchart Proses Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.
=
Operasi
=
Perpindahan atau Transportasi
=
Inspeksi
=
Penundaan
=
Penyimpanan atau File
Gambar 2.15 Contoh Process Flowchart
44 2.2.5.1 Simbol – Simbol Flowchart Simbol – symbol flowchart yang biasanya dipakai adalah symbol – symbol flowchart standard yang dikeluarkan oleh ANSI dan ISO. Simbol – symbol ini dapat dilihat pada Gambar 2.16 Simbol Flowchart Standar berikut ini :
45 SIMBOL
ARTI
CONTOH
Input / Output Mempresentasikan input data atau atau output data yang diproses atau informasi
Baca Jam & Tarif Upah
Proses Mempresentasikan operasi Hitung Upah Kotor
Penghubung Keluar ke atau masuk kebagian lain flowchart khususnya kebagian yang sama
Keluar Masuk
Anak Panah Mempresentasikan alur kerja
Hitung Upah Kotor
3
Penjelasan Digunakan untuk komentar tambahan Urutkan Sebelum
Berdasar No. Pelanggan
46 SIMBOL
ARTI
CONTOH
Keputusan Keputusan dalam program <
> = > =
Predefined Proses Rincian operasi berada ditempat lain Hitung Akar Pangkat Dua
Preparation Pemberian harga awal SW = 1
Terminal Points
Awal / Akhir flowchart Start
Punched Card Input / Output yang menggunakan kartu berlubang
Kartu Absen
47 SIMBOL
ARTI
CONTOH
Dokumen I/O dalam format yang dicetak Cetak Slip Upah
Magnetik Tape I/O yang menggunakan pita magnetik
File Upah
Magnetik Disk I/O yang menggunakan disk magnetik Update File Pegawai
Magnetik Drum I/O yang menggunakan drum magnetik File Pegawai
48 SIMBOL
ARTI
CONTOH
On-line Storage I/O yang menggunakan penyimpanan akses langsung
File Pelanggan
Punched Tipe I/O yang menggunakan pita kertas berlubang File Pelanggan
Manual Input Input yang dimasukkan secara manual dari keyboard Masukkan Tarif Upah
Display Output yang ditampilkan pada terminal
Pesan Kesalahan
Manual Operation Operasi manual Ketik Pesanan Penjualan
49
SIMBOL
Communication Link
ARTI
Transmisi data melalui channel komunikasi seperti telepon
CONTOH
Komputer
Off-line Storage Penyimpanan yang tidak dapat diakses oleh komputer secara langsung
Gambar 2.16 Simbol Flowchart Standar
Terminal
50 2.2.6 Data Flow Diagram Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan profesional sistem untuk menggambarkan system sebagai suatu jaringan proses fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual maupun komputerisasi. DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja, atau model fungsi. DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model yang memberikan penekanan hanya pada fungsi sistem. DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program.
2.2.6.1 Komponen Data Flow Diagram Menurut Yourdan dan DeMarco
Terminator
Proses
Data Store
Alur Data
51 Menurut Gene dan Serson
Terminator
Proses
Data Store
Alur Data
Gambar 2.17 Komponen Data Flow Diagram
2.2.6.2 Komponen Terminator / Entitas Luar Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Biasanya terminator dikenal dengan nama entitas luar (external entity). Terdapat dua jenis terminator : 1. Terminator Sumber (source) : merupakan terminator yang menjadi sumber. 2. Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data /informasi sistem.
Bagian penjualan Terminator Sumber
Terminator Tujuan
T. Tujuan & Sumber
Gambar 2.18 Contoh Terminator
Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan yang sama tetapi di luar
52 kendali sistem yang sedang dibuat modelnya. Komponen terminator ini perlu diberi nama sesuai dengan dunia luar yang berkomunikasi dengan sistem yang sedang dibuat modelnya, dan biasanya menggunakan kata benda, misalnya Bagian Keuangan, Dosen, Mahasiswa. Ada tiga hal penting yang harus diingat tentang terminator : 1. Terminator merupakan bagian/lingkungan luar sistem. Alur data yang menghubungkan terminator dengan berbagai proses sistem, menunjukkan hubungan sistem dengan dunia luar. 2. Profesional Sistem Tidak berhak mengubah isi atau cara kerja organisasi atau prosedur yang berkaitan dengan terminator 3. Hubungan yang ada antar terminator yang satu dengan yang lain tidak digambarkan pada DFD.
2.2.6.3 Komponen Proses Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Proses diberi nama untuk menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan kata kerja transitif (kata kerja yang membutuhkan obyek), seperti Menghitung Gaji pegawai, mencetak pembayaran per-semester, Menghitung Jumlah SKS.
53 Ada empat kemungkinan yang dapat terjadi dalam proses sehubungan dengan input dan output :
1 input & 1 output
1 input & banyak output
Banyak input & 1 output
Banyak input & banyak output
Gambar 2.19 Komponen Proses
Ada beberapa hal yang perlu diperhatikan tentang proses : 1. Proses harus memiliki input dan output. 2. Proses dapat dihubungkan dengan komponen terminator, data store atau proses melalui alur data. 3. Sistem/bagian/divisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.
54 Berikut ini merupakan suatu contoh proses yang salah :
1
2 Gambar 2.20 Contoh proses
Umumnya kesalahan proses di DFD adalah : 1. Proses mempunyai input tetapi tidak menghasilkan output. Kesalahan ini disebut dengan black hole (lubang hitam), karena data masuk ke dalam proses dan lenyap tidak berbekas seperti dimasukkan ke dalam lubang hitam (lihat proses 1). 2. Proses menghasilkan output tetapi tidak pernah menerima input. Kesalahan ini disebut dengan miracle (ajaib), karena ajaib dihasilkan output tanpa pernah menerima input (lihat proses 2). 2.2.6.4 Komponen Data Store Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak, misalnya Mahasiswa. Data store ini biasanya berkaitan dengan penyimpananpenyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk,
55 file pita magnetik. Data store juga berkaitan dengan penyimpanan secara manual seperti buku alamat, file folder, dan agenda. Suatu data store dihubungkan dengan alur data hanya pada komponen proses, tidak dengan komponen DFD lainnya. Alur data yang menghubungkan data store dengan suatu proses mempunyai pengertian sebagai berikut : 1. Alur data dari data store yang berarti sebagai pembacaan atau pengaksesan satu paket tunggal data, lebih dari satu paket data, sebagian dari satu paket tunggal data, atau sebagian dari lebih dari satu paket data untuk suatu proses (lihat gambar 2 (a)). 2. Alur data ke data store yang berarti sebagai pengupdatean data, seperti menambah satu paket data baru atau lebih, menghapus satu paket atau lebih, atau mengubah/memodifikasi satu paket data atau lebih (lihat gambar 2 (b)).
(a)
(b)
Gambar 2.21 Implementasi data store
56
2.2.6.5 Komponen Data Flow / Alur Data Suatu data flow / alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dan keluar dari suatu proses. Alur data ini digunakan
untuk
menerangkan
perpindahan
data
atau
paket
data/informasi dari satu bagian sistem ke bagian lainnya. Selain menunjukkan arah, alur data pada model yang dibuat oleh profesional sistem dapat merepresentasikan bit, karakter, pesan, formulir, bilangan real, dan macam-macam informasi yang berkaitan dengan komputer. Alur data juga dapat merepresentasikan data/informasi yang tidak berkaitan dengan komputer. Alur data perlu diberi nama sesuai dengan data/informasi yang dimaksud, biasanya pemberian nama pada alur data dilakukan dengan menggunakan kata benda, contohnya Laporan Penjualan. Ada empat konsep yang perlu diperhatikan dalam penggambaran alur data, yaitu : 1. Konsep Paket Data (Packets of Data) Apabila dua data atau lebih mengalir dari suatu sumber yang sama menuju ke tujuan yang sama dan mempunyai hubungan, dan harus dianggap sebagai satu alur data tunggal, karena data itu mengalir bersama-sama sebagai satu paket.
57
Nama Mahasiswa
NIM
Periksa Formulir
Alamat
Daftar Ulang
1. Konsep paket data yang salah
Mahasiswa
Formulir Daftar ulang
Periksa Formulir Daftar Ulang
2. Konsep paket data yang benar
Gambar 2.22 Contoh Konsep Paket Data
2. Konsep Alur Data Menyebar (Diverging Data Flow) Alur data menyebar menunjukkan sejumlah tembusan paket data yang yang berasal dari sumber yang sama menuju ke tujuan yangberbeda, atau paket data yang kompleks dibagi menjadi beberapa elemen data yang dikirim ke tujuan yang berbeda, atau alur data ini membawa paket data yang memiliki nilai yang berbeda yang akan dikirim ke tujuan yang berbeda.
58
Laporan Penerimaan Sehari-hari
Pesanan Pesanan
Direktur
Membuat Laporan Sehari-hari Bagian Laporan Penerimaan Sehari - hari
Gambar 2.23 Konsep alur data menyebar
3. Konsep Alur Data Mengumpul (Converging Data Flow) Beberapa alur data yang berbeda sumber bergabung bersamasama menuju ke tujuan yang sama.
Membuat Faktur
Siswa Membuat Slip Pengiriman
Gambar 2.24 Konsep alur data mengumpul
4. Konsep Sumber atau Tujuan Alur Data Semua alur data harus minimal mengandung satu proses. Maksud kalimat ini adalah : •
Suatu alur data dihasilkan dari suatu proses dan menuju ke suatu data store dan/atau terminator (lihat gambar 6 (a)).
59 •
Suatu alur data dihasilkan dari suatu data store dan/atau terminator dan menuju ke suatu proses (lihat gambar 6 (b)).
•
Suatu alur data dihasilkan dari suatu proses dan menuju ke suatu proses (lihat gambar 6 (c)).
(a)
(b)
(c) Gambar 2.25 Konsep sumber atau tujuan alur data
2.2.6.6 Bentuk Diagram Alur Data Terdapat dua bentuk DAD, yaitu Diagram Alur Data Fisik, dan Diagram Alur data Logika, yaitu : 1. Diagram Alur Data Fisik (DADF) DADF lebih tepat digunakan untuk menggambarkan sistem yang ada (sistem yang lama). Penekanan dari DADF adalah bagaimana proses-proses dari system diterapkan (dengan cara apa, oleh siapa dan dimana), termasuk proses-proses manual.
60 Untuk memperoleh gambaran bagaimana sistem yang ada diterapkan, DADF harus memuat : •
Proses-proses manual juga digambarkan.
•
Nama dari alur data harus memuat keterangan yang cukup terinci untuk menunjukkan bagaimana pemakai sistem memahami kerja sistem.
•
Simpanan data dapat menunjukkan simpanan non komputer.
•
Nama dari simpanan data harus menunjukkan tipe penerapannya
apakah
komputerisasi.
Secara
secara manual
manual
atau
misalnya
dapat
menunjukkan buku catatat, meja pekerja. Sedang cara komputerisasi misalnya menunjukkan file urut, file database. •
Proses harus menunjukkan nama dari pemroses, yaitu orang, departemen, sistem komputer, atau nama program komputer yang mengakses proses tersebut.
61
Konsumen
Gambar 2.26 Diagram Alur Data Fisik
2. Diagram Alur Data Logika (DADL) DADL lebih tepat digunakan untuk menggambarkan sistem yang akan diusulkan (sistem yang baru). Untuk sistem komputerisasi, penggambaran DADL hanya menunjukkan kebutuhan proses dari system yang diusulkan secara logika, biasanya proses-proses yang digambarkan hanya merupakan proses-proses secara komputer saja.
Gambar 2.27 Diagram Alur Data Logika
62 2.2.6.7 Syarat-syarat Pembuatan Diagram Alur Data Syarat pembuatan DAD ini akan menolong profesional sistem untuk menghindari pembentukkan DAD yang salah atau DAD yang tidak lengkap atau tidak konsisten secara logika. Beberapa syarat pembutan DAD dapat menolong profesional sistem untuk membentuk DAD yang benar, menyenangkan untuk dilihat dan mudah dibaca oleh pemakai. Syarat-syarat pembuatan DAD ini adalah : •
Pemberian nama untuk tiap komponen DAD
•
Pemberian nomor pada komponen proses
•
Penggambaran DAD sesering mungkin agar enak dilihat
•
Penghindaran penggambaran DAD yang rumit
•
Pemastian DAD yang dibentuk itu konsiten secara logika
2.2.6.8 Pemberian Nama Untuk Tiap Komponen DAD Seperti yang telah dijelaskan sebelumnya, komponen terminator mewakili lingkungan luar dari sistem, tetapi mempunyai pengaruh terhadap sistem yang sedang dikembangkan ini. Maka agar pemakai mengetahui dengan lingkungan mana saja sistem mereka berhubungan, komponen terminator ini harus diberi nama sesuai dengan lingkungan luar yang mempengaruhi sistem ini. Biasanya komponen terminator diberi nama dengan kata benda. Selanjutnya adalah komponen proses. Komponen proses ini mewakili fungsi sistem yang akan dilaksanakan atau menunjukkan
63 bagaimana fungsi sistem dilaksanakan oleh seseorang, sekelompok orang atau mesin. Maka sangatlah jelas bahwa komponen ini perlu diberi nama yang tepat, agar siapa yang membaca DAD khususnya pemakai akan merasa yakin bahwa DAD yang dibentuk ini adalah model yang akurat. Pemberian nama pada komponen proses lebih baik menunjukkan aturan-aturan yang akan dilaksanakan oleh seseorang dibandingkan dengan
memberikan
nama
atau
identitas
orang
yang
akan
melaksanakannya. Ada dua alasan mengapa bukan nama atau identitas orang (yang melaksanakan fungsi sistem) yang digunakan sebagai nama proses, yaitu : •
Orang tersebut mungkin diganti oleh orang lain saat mendatang, sehingga bila tiap kali ada pergantian orang yang melaksanakan fungsi tersebut, maka sistem yang dibentuk harus diubah lagi.
•
Orang tersebut mungkin tidak melaksanakan satu fungsi sistem saja, melainkan beberapa fungsi sistem yang berbeda. Daripada menggambarkan beberapa proses dengan nama yang sama tetapi artinya berbeda, lebih baik tunjukkan dengan tugas/fungsi system yang sebenarnya akan dilaksanakan.
Karena nama untuk komponen proses lebih baik menunjukkan tugas/fungsi sistem yang akan dilaksanakan, maka lebih baik pemberian nama ini menggunakan kata kerja transitif.
64 Pemberian nama untuk komponen data store menggunakan kata benda, karena data store menunjukkan data apa yang disimpan untuk kebutuhan sistem dalam melaksanakan tugasnya. Jika sistem sewaktuwaktu membutuhkan data tersebut untuk melaksanakan tugasnya, maka data tersebut tetap ada, karena sistem menyimpannya. Begitu pula untuk komponen alur data, namanya lebih baik diberikan dengan menggunakan kata benda. Karena alur data ini menunjukkan data dan infiormasi yang dibutuhkan dan yang dikeluarkan oleh sistem dalam pelaksanaan tugasnya.
2.2.6.9 Pemberian Nomor Pada Komponen Proses Biasanya profesional sistem memberikan nomor dengan bilangan terurut pada komponen proses sebagai referensi. Tidak jadi masalah bagaimana nomor-nomor proses ini diberikan. Nomor proses dapat diberikan dari kiri ke kanan, atau dari atas ke bawah, atau dapat pula dilakukan dengan pola-pola tertentu selama pemberian nomor ini tetap konsisten pada nomor yang dipergunakan.
65
R 1
S
X
2 3 W Y Z
T
Gambar 2.28 Contoh Pemberian Nomor Pada Proses
Nomor-nomor proses yang diberikan terhadap komponen proses ini tidak dimaksudkan bahwa proses tersebut dilaksanakan secara berurutan. Pemberian nomor ini dimaksudkan agar pembacaan suatu proses dalam suatu diskusi akan lebih mudah dengan hanya menyebutkan prosesnya saja jika dibandingkan dengan menyebutkan nama prosesnya, khususnya jika nama prosesnya panjang dan sulit. Maksud pemberian nomor pada proses yang lebih penting lagi adalah ntuk menunjukkan referensi terhadap skema penomoran secara hirarki ada levelisasi DFD. Dengan kata lain, nomor proses ini merupakan asar pemberian nomor pada levelilasi DFD (lihat gambar 28).
66
2.2.6.10 Penggambaran DFD sesering mungkin Penggambaran DFD dapat dilakukan berkali-kali sampai secara teknik DFD itu benar, dapat diterima oleh pemakai, dan sudah cukup rapih sehingga profesional sistem tidak merasa malu untuk menunjukkan DFD itu kepada atasannya dan pemakai. Dengan kata lain, penggambaran DFD ini dilakukan sampai terbentuk DFD yang enak dilihat, dan mudah dibaca oleh pemakai dan professional sistem lainnya. Keindahan penggambaran DFD tergantung pada standar-standar yang diminta oleh organisasi tempat profesional system itu bekerja dan perangkat lunak yang dipakai oleh profesional sistem dalam membuat DFD. Penggambaran yang enak untuk dilihat dapat dilakukan dengan memperhatikan hal-hal berikut ini : •
Ukuran dan bentuk proses. Beberapa pemakai kadang-kadang merasa bingung bila ukuran proses satu berbeda dengan proses yang lain. Mereka akan mengira bahwa proses dengan ukuran yang lebih besar akan diduga lebih penting dari proses yang lebih kecil. Hal ini sebenarnya hanya karena nama proses itu lebih panjang dibandingkan dengan proses yang lain. Jadi, sebaiknya proses yang digambarkan memiliki ukuran dan bentuk yang sama.
•
Alur data melingkar dan alur data lurus.
67 Alur data dapat digambarkan dengan melingkar atau hanya garis lurus. Mana yang lebih enak dipandang tergantung siapa yang akan melihat DFD tersebut.
(a). Alur data dengan garis lurus
(b). Alur data dengan melingkar
Gambar 2.29 Alur data dengan garis lurus dan melingkar •
DFD dengan gambar tangan dan gambar menggunakan mesin. DFD
dapat
digambarkan
secara
manual
atau
dengan
menggunakan bantuan mesin, tergantung pilihan pemakai atau profesional sistem.
2.2.6.11 Penghindaran Penggambaran DFD yang Rumit Tujuan DFD adalah untuk membuat model fungsi yang harus dilaksanakan oleh suatu sistem dan interaksi antar fungsi. Tujuan lainnya adalah agar model yang dibuat itu mudah dibaca dan dimengerti tidak hanya oleh profesional sistem yang membuat DFD, tetapi juga oleh pemakai yang berpengalaman dengan subyek yang terjadi. Hal ini berarti DFD harus mudah dimengerti, dibaca, dan menyenangkan untuk dilihat. Pada banyak masalah, DFD yang dibuat tidak memiliki terlalu banyak proses (maksimal enam proses) dengan data store, alur data, dan terminator yang berkaitan dengan proses tersebut dalam satu diagram.
68 Bila terlalu banyak proses, terminator, data store, dan alur data digambarkan dalam satu DFD, maka ada kemungkinan terjadi banyak persilangan alur data dalam DFD tersebut. Persilangan alur data ini menyebabkan pemakai akan sulit membaca dan mengerti DFD yang terbentuk. Jadi semakin sedikit adanya persilangan data pada DFD, maka makin baik DFD yang dibentuk oleh profesional sistem. Persilangan alur data ini dapat dihindari dengan menggambarkan DFD
secara
bertingkat-tingkat
(levelisasi
DFD),
atau
dengan
menggunakan pemakaian duplikat terhadap komponen DFD. Komponen DFD yang dapat menggunakan duplikat hanya komponen store dan terminator. Pemberian duplikat ini juga tidak dapat diberikan sesuka profesional sistem yang membuat DFD, tetapi makin sedikit pemakaian duplikat, makin baik DFD yang terbentuk. Pemberian duplikat terhadap data store dilakukan dengan memberikan simbol garis lurus (x) atau asterik (*), sedangkan untuk terminator menggunakan simbol garis miring (/) atau asterik (*). Banyaknya pemberian simbol duplikat pada duplikat yang digunakan tergantung banyaknya duplikat yang digunakan.
69
(a) Satu duplikat yang digunakan (b) Dua duplikat yang digunakan Gambar 2.30 Contoh pemakaian simbol duplikat pada terminator
2.2.6.12 Penggambaran DFD Tidak ada aturan baku untuk menggambarkan DFD. Tapi dari berbagai referensi yang ada, secara garis besar langkah untuk membuat DFD adalah : 1. Identifikasi terlebih dahulu semua entitas luar yang terlibat di sistem. 2. Identifikasi semua input dan output yang terlibat dengan entitas luar. 3. Buat Diagram Konteks (diagram context) Diagram ini adalah diagram level tertinggi dari DFD yang menggambarkan hubungan sistem dengan lingkungan luarnya. Caranya : •
Tentukan nama sistemnya.
•
Tentukan batasan sistemnya.
70 •
Tentukan terminator apa saja yang ada dalam sistem.
•
Tentukan apa yang diterima/diberikan terminator dari/ke sistem.
•
Gambarkan diagram konteks.
4. Buat Diagram Level Zero Diagram ini adalah dekomposisi dari diagram konteks. Caranya : •
Tentukan proses utama yang ada pada sistem.
•
Tentukan apa yang diberikan/diterima masing-masing proses ke/dari sistem sambil memperhatikan konsep keseimbangan (alur data yang keluar/masuk dari suatu level harus sama dengan alur data yang masuk/keluar pada level berikutnya).
•
Apabila diperlukan, munculkan data store (master) sebagai sumber maupun tujuan alur data.
•
Gambarkan diagram level zero.
•
Hindari perpotongan arus data
•
Beri nomor pada proses utama (nomor tidak menunjukkan urutan proses).
5. Buat Diagram Level Satu Diagram ini merupakan dekomposisi dari diagram level zero. Caranya : •
Tentukan proses yang lebih kecil (sub-proses) dari proses utama yang ada di level zero.
71 •
Tentukan apa yang diberikan/diterima masing-masing subproses
ke/dari
sistem
dan
perhatikan
konsep
keseimbangan. •
Apabila diperlukan, munculkan data store (transaksi) sebagai sumber maupun tujuan alur data.
•
Gambarkan DFD level Satu
•
Hindari perpotongan arus data.
•
Beri
nomor
pada
masing-masing
sub-proses
yang
menunjukkan dekomposisi dari proses sebelumnya. 6. DFD Level Dua, Tiga, … Diagram ini merupakan dekomposisi dari level sebelumnya. Proses dekomposisi dilakukan sampai dengan proses siap dituangkan ke dalam program. Aturan yang digunakan sama dengan level satu.
72
a
0
d
b
Sistem
c ds1
a 1
e
d
b f g 3
c ds1
h
3.2 i
f
3.1 b
j
3.3
k
c ds1 Gambar 2.31 Levelisasi DFD
73 Pada Gambar 2.31 terlihat bahwa Proses 0 diuraikan lagi ke dalam empat proses, penguraian ini digambarkan pada diagram Figure 0, sedangkan Proses 2 diuraikan kembali menjadi tiga proses yang digambarkan pada diagram Figure 2. Penguraian ini juga diikuti oleh alur data yang berkaitan dengan tiap proses yang diuraikan. Alur data yang berkaitan dengan tiap proses yang diuraikan dikenal dengan Alur data global. Jadi pada balancing DFD yang perlu diperhatikan adalah jumlah alur data global pada suatu level harus sama pada level berikutnya. Ada beberapa hal yang perlu diperhatikan dalam penggambaran levelisasi DFD, yaitu : •
Dalam diagram konteks, ada beberapa hal yang perlu diperhatikan seperti
hubungan
sistem
dengan
dunia
luar
yang
mempengaruhinya, penggambaran sistem dalam satu proses, dan penggambaran data store (optional) yang dikenal dengan data store eksternal atau data store master. Data store eksternal ini maksudnya adalah data store itu dihasilkan oleh sistem yang sedang dianalisis, tetapi digunakan oleh sistem lain, atau data store itu dihasilkan oleh sistem lain tetapi digunakan oleh sistem yang sedang dianalisis.
74
0 Sistem
Gambar 2.32 Contoh Penggambaran Diagram Konteks
Balancing (kesimbangan) dalam penggambaran levilisasi DFD perlu diperhatikan. Balancing DFD ini maksudnya keseimbangan antara alur data yang masuk/keluar dari suatu level harus sama dengan alur data yang masuk/keluar pada level berikutnya (lihat gambar 12).
2.2.7 STD (State Transition Diagram) Menurut Jeffrey. A et al (1996,p364), state transition diagram adalah menggambarkan bagaimana suatu proses di hubungkan satu sama lain dalam waktu
yang bersamaan. State Transition Diagram (STD) digambarkan dengan
sebuah state yang berupa komponen sistem yang menunjukkan bagaimana kejadian-kejadian tersebut dari satu state ke state yang lain. Menurut Pressman (2001, p317), State Transition Diagram (STD) menggambarkan kebiasaan dari suatu sistem dengan menggambarkan kondisi dan kejadiam yang menyebabkan perubahan suatu kondisi. Selain itu, dapat dikatakan
State Transition Diagram menunjukkan aksi apa yang diambil sebagai akibat dari
75 suatu kejadian. Ada 2 macam simbol yang menggambarkan proses dalam State Transition Diagram (STD), yaitu : 1. Gambar persegi panjang menunjukkan kondisi (state) dari sistem.
Gambar 2.33 Kondisi (state) dari sistem
2. Gambar panah menunjukkan transisi antar state. Tiap panah diberi label dengan ekspresi aturan. Label yang diatas menunjukkan kejadian yang menyebabkan transisi terjadi. Label yang bawah menunjukkan aksi yang terjadi akibat dari kejadian tadi. State 1
Kondisi Aksi
State 2
Gambar 2.34 State Transaction Diagram