8
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 aspek-aspek 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.
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
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.
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.
• 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.
• 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 tabel-tabel 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.
• 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 :
Database Design
Gambar 2.1. Database Lifecycle
Application Design Database Planning
System Definition
Requirement Collection AndAnalysis
Conceptual Database
Logical Database Design
Physical Database Design DBMS Selection
(Optional)
Implementation
Data Conversion &
Testing
Maintenance Prototyping (Optional)
• 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
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.
• 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 :
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. Langkah-langkah yang dilakukan dalam perancangan. Basis data logikal ada dua, yaitu membangun dan memvalidasi model data logikal bagi masing-masing view dan model data logikal globalnya. Tahap-tahap yang
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
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 entity-entity 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.
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
• 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 :
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. Langkah-langkah 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
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 yang telah dibuat atau merefleskikan perubahan kebutuhan.
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.
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 suatu penyajian data dengan menggunakan Entity dan Relationship
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
Gambar 2.2 Contoh Atribut Multivalue
4. Atribut Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
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)
• 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 k3
Direktur Punya Kendaraan
Dosen Kerja
Tugas
N 1
• 1 : N / N : 1
Pegawai Kerja Departemen
p1 r1 d1 p2 r2 d2 p3 r3 d3 p4 r4 • M : N
Pegawai Kerja Proyek
p1 r1 p1 p2 r2 p2 p3 r3 p3
r4
Gambar 2.7 Contoh Cardinality Ratio
2.1.8.6 Participation Constraint
Menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
Dosen Kerja
Tugas
Terdapat 2 macam Participation Constraint : • Total Participation
Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
• 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.
Dosen Punya Bagian
Dosen Mengajar Mahasiswa …….
Nama
……. Kddosen
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
7. Atribut Multivalue
8. Atribut Composite
9. Atribut Derivatif
Gambar 2.10 ER Diagram
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
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.
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).
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
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 KEPALA PERPUSTAKA
Formulir Formulir # Kartu Anggota
Pengisian # P
Formulir
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
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.
Start
Catatan:
Bahwa flowchart program ini
Rincian dari sistem flowchart Baca (gambar 2.12) untuk kotak yang
Data bernama ”Tentukan Jumlah Pesanan 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
Cetak R = Biaya Sekali Pesan
Jumlah & C = Biaya Penyimpanan
Item Pesanan
T Y
EOF Stop
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
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 :
SIMBOL ARTI CONTOH
Input / Output
Mempresentasikan input data atau
atau output data yang diproses Baca Jam atau informasi & Tarif
Upah Proses Mempresentasikan operasi Hitung Upah Kotor Penghubung
Keluar ke atau masuk kebagian lain Keluar flowchart khususnya kebagian yang
sama Masuk
Anak Panah
Mempresentasikan alur kerja Hitung Upah Kotor
3
Penjelasan
Digunakan untuk komentar tambahan
Urutkan
Sebelum Berdasar No.
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
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
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
SIMBOL ARTI CONTOH
Communication
Link Transmisi data melalui
channel komunikasi seperti Komputer
telepon Terminal
Off-line Storage
Penyimpanan yang tidak
dapat diakses oleh komputer
secara langsung
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
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
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.
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.
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 penyimpanan-penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi, misalnya file disket, file harddisk,
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)
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.
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.
Laporan Penerimaan Sehari-hari Direktur Pesanan Membuat Pesanan 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 bersama-sama menuju ke tujuan yang bersama-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)).
• 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.
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 secara manual atau komputerisasi. Secara manual 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.
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.
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
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.
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 sewaktu-waktu 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.
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).
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 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.
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.
(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.
• 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.
• Tentukan apa yang diberikan/diterima masing-masing sub-proses 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.
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
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.
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
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