BAB 2 LANDAS AN TEORI 2.1 Teori Umum 2.1.1 Definisi Data M enurut Inmon (2002, p388), dikemukakan bahwa “Data is a recording of facts, concepts, or instructions on a storage medium for communication, retrieval, and processing by automatic means and presentation as information that is understandable by human being” yang dapat diartikan bahwa data adalah sebuah rekaman fakta, konsep, atau instruksi pada sebuah media penyimpanan untuk komunikasi, pencarian, dan pemrosesan secara otomatis dan dapat memberikan informasi yang mudah dimengerti oleh pemiliknya atau pihak yang bersangkutan. Berdasarkan definisi di atas, dapat dilihat bahwa data merupakan suatu bentuk dasar dari rekaman fakta yang belum diolah atau dimanipulasi. Data yang didapatkan pada suatu perusahaan umumnya diperoleh dari hasil kegiatan operasi sehari-hari atau hasil dari transaksi yang dilakukan, yang nantinya dapat digunakan untuk kepentingan perusahaan. 6 7 2.1.2 Definisi Basis Data M enurut Connolly dan Begg (2005, p15), database merupakan kumpulan dari data logical yang berhubungan dan deskripsi dari data tersebut yang dirancang untuk kebutuhan informasi suatu perusahaan. Sedangkan menurut Inmon (2002, p388), ”a database is a collection of interrelated data stored (often with controlled, limited redudancy) according to a schema” yang dapat diartikan bahwa database adalah sekumpulan penyimpanan data yang berhubungan (sering dengan pengontrolan, redudansi yang terbatas) yang berdasarkan suatu skema. Berdasarkan hal diatas, dapat disimpulkan bahwa database merupakan kumpulan dari data yang saling berhubungan dan terintegrasi yang mana dapat digunakan untuk memenuhi kebutuhan informasi suatu organisasi. Database terbagi dalam beberapa kategori umum, sebagai berikut: 1. Paper-based, merupakan database yang paling sederhana yang disimpan dalam bentuk kumpulan kertas dokumen yang terorganisasi. 2. Legacy Mainframe, biasa dikenal dengan database VSAM (Virtual Storage Access Method). Legacy Mainframe menggunakan kemampuan mainframe untuk melakukan proses penyimpanan dan pengaksesan data. 3. RDBM S (Relational Database Management System), merupakan sistem database untuk jumlah user yang besar dengan integritas data yang lebih baik. RDBM S memiliki kemampuan untuk menjaga integritas data. Oleh sebab itu skripsi ini memakai sistem database tersebut. Struktur perintahnya disebut dengan SQL (Structured Query Language). 8 4. Object-oriented Database, menggunakan sistem objek dalam penyimpanan data. Data disimpan bukan dalam bentuk tabel melainkan dalam bentuk objek-objek yang terpisah. 5. DBase, mengandung ISAM (Index Sequential Access Method) yang merupakan metode pengaksesan data secara berurutan yang memiliki indeks. Pada umumnya menggunakan file yang terpisah untuk setiap tabelnya. Contoh database yang menggunakan sistem ini antara lain DBase, FoxPro, M icrosoft Access dan Paradox. 6. SQL (Structured Query Language) merupakan suatu bahasa akses data atau subbahasa data dan dalam pengertian itu SQL merupakan bahasa yang sangat terbatas yang hanya mampu mengatur bagimana tabel data dapat dimanipulasi. SQL terbagi menjadi tiga komponen utama, yaitu DDL (Data Definition Language) yang mencakup perintah create, alter, dan drop. DM L (Data Manipulation Language) yang mencakup perintah select, insert, delete, dan update dan yang terakhir adalah DCL (Data Control Language) yang mencakup perintah grant, revoke. 2.1.3 Konsep Basis Data M enurut M cLeod (2001, p259), dua tujuan konsep basis data adalah meminimumkan pengulangan data (data redundancy) dan mencapai independensi data. Pengulangan data (data redundancy) adalah duplikasi data, artinya data yang sama disimpan dalam beberapa file. Independensi data adalah kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data. Independensi data dicapai dengan menempatkan spesifikasi 9 data dalam tabel dan kamus yang terpisah secara fisik dari program. Perubahan pada struktur data hanya dilakukan sekali, yaitu dalam tabel. 2.1.4 Karakteristik Basis Data M enurut M annino (2001, p4) basis data memiliki beberapa karakteristik, yaitu: • Persistent, artinya data berada pada tempat penympanan yang stabil seperti pada magnetic disk. Variabel pada computer tidak bersifat persistent karena berada pada memori utama dan akan menghilang seiring ditutupnya program. Persistent juga bukan berarti data akan selamanya ada. Ketika data sudah tidak lagi relevan maka data tersebut akan dibuang atau diarsipkan. • Shared, artinya basis data mempunyai banyak kegunaan dan banyak user basis data menyediakan memori yang umum untuk beragam fungsi dalam suatu organisasi. Selain itu, pada saat yang bersamaan, basis data dapat digunakan oleh lebih dari satu user. • Interrelated, artinya data tersimpan dalam unit yang terpisah-pisah, tapi dapat dihubungkan untuk menyediakan data yang dibutuhkan. 10 2.1.5 Komponen Database M enurut Connolly dan Begg (2005, p18), sistem database terdiri dari empat komponen penting yaitu: 1. Data Dilihat dari konfigurasi sistemnya, maka data dalam database dapat merupakan data yang single-user (hanya satu pengguna yang beroperasi terhadap database) atau multi-user dimana satu atau lebih user beroperasi secara bersama ke dalam sistem database. Sehingga, data dalam database terutama untuk sistem yang besar harus terintegrasi (integrated) dan dapat dipakai bersama (shared). Pengertian terintegrasi dalam database dapat dipandang sebagai kumpulan berbagai file yang saling terhubung dan dengan sebagian atau seluruh redudansi yang di antaranya dihilangkan. Sedangkan pengertian penggunaan bersama adalah setiap bagian data yang ada di dalam database dapat dipakai oleh lebih dari satu pengguna untuk penggunaan yang mungkin berbeda. 2. Hardware Piranti keras yang dibutuhkan untuk manajemen database biasanya masih berupa mesin standar yang ada dalam arti tidak ada kekhususan tertentu, tapi karena sifatnya dalam akses yang lebih sangat bervariasi maka suatu manajemen database akan lebih banyak membutuhkan media penyimpanan harddisk. Hardware terdiri dari: • Penyimpanan secondary (magnetic disk), I/O device seperti disk drives), device Controller, I/O Channels, dan lainnya. 11 • Hardware processor dan main memory, digunakan untuk mendukung saat eksekusi sistem software database. 3. Software Antara fisik database (tempat di mana sesungguhnya suatu database tersimpan dalam media) dengan pengguna terdapat suatu piranti lunak yang disebut sistem manajemen database (DBM S) atau DB manajer. Semua kebutuhan akses oleh pengguna seperti pembentukan file (create), penambahan data (insert), penghapusan (delete atau drop), dan lain-lain, semua dilaksanakan oleh DBM S. Satu hal lagi, bahwa DBM S juga berfungsi untuk memberikan satu batas agar pengguna database tidak perlu memikirkan barbagai hal yang berkaitan dengan detail pada level piranti keras (misalnya metode akses). Software bisa berupa DBM S, sistem operasi, software jaringan (jika diperlukan) dan program aplikasi pendukung lainnya. 4. Pengguna (Users) Terdapat tiga kelas pengguna database yaitu: • Application Programmers, bertanggung jawab untuk membuat aplikasi database dengan menggunakan bahasa pemrograman yang ada, seperti: C++, Java, dan lainnya. • End Users, Orang yang menggunakan data di dalam database untuk kebutuhan tugas atau fungsinya. Pengguna ini dapat mengakses database secara on-line dengan memanfaatkan bahasa query (seperti SQL) maupun proses batch menggunakan program aplikasi yang sudah dipersiapkan oleh 12 programmer, atau menggunakan program utility yang telah disediakan dalam DBM S. • DA (Data Administrator), seseorang yang berwenang untuk membuat keputusan stategis dan kebijakan mengenai data yang ada, DBA (DataBase Administrator), menyediakan dukungan teknis untuk implementasi keputusan tersebut, dan bertanggung jawab atas keseluruhan kontrol sistem pada level teknis. 2.1.6 Alasan Penggunaan Database Keuntungan dari penggunaan database sebagai berikut: • Kontrol terpusat pada data operasional • Redudansi data dapat dikurangi dan dikontrol • Data dapat dipakai bersama (shared) • Penerapan standarisasi • Penerapan pembatasan keamanan data (security) • Integritas data dapat terpelihara • Independensi data atau program Kerugian dari penggunaan database sebagai berikut: • M ahal, karena butuh biaya yang lebih besar untuk keperluan hardware, software, dan perekrutan personil yang lebih berkualitas. • Kompleks, karena dengan kemampuan software yang lebih besar, membuat suatu pemahaman bahwa terlihat rumit dan butuh penguasaan yang lebih tinggi, seperti 13 kebutuhan sistem administrasi, prosedur recovery dan back up, penataan keamanan data. 2.1.7 Pengertian Sistem Database M enurut Date (2000, p5), sistem database pada dasarnya merupakan sistem penyimpanan record yang terkomputerisasi di mana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan sistem terkomputerisasi itu memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. 2.1.8 Pengertian Informasi M enurut M cLeod (2001, p15), informasi adalah data yang telah diproses, atau data yang memiliki arti. Sebagai contoh, data dapat berupa jumlah penerbangan setiap pilot. Saat data ini diproses, ia dapat diubah menjadi informasi. Jika jumlah penerbangan setiap pilot dikalikan dengan upah per penerbangan akan menghasilkan pendapatan kotor pilot. Jika angka-angka pendapatan kotor tiap pilot dijumlahkan, hasil penjumlahan tersebut adalah total biaya gaji plilot bagi perusahaan. Jumlah biaya gaji dapat menjadi informasi bagi pemilik perusahaan. 2.1.9 Database Management System (DBMS ) DBM S adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan (define), membuat (create), memelihara (maintain), dan mengontrol (control) akses ke basis data (Connolly, 2005, p16). 14 DBM S merupakan perangkat lunak yang berinteraksi dengan program aplikasi user dan database. Umumnya, sebuah DBM S menyediakan fasilitas sebagai berikut : • M engijinkan user untuk mendefinisikan database (Data Definition Language (DDL)). • M engijinkan user untuk memasukkan, mengubah , menghapus, dan mengambil data dari basis data (Data Manipulation Language (DM L)). • M enyediakan pengendali (control) akses ke basis data yang menyediakan : a. Sistem keamanan (security system). b. Sistem integritas (integrity system). c. Sistem kendali (concurrency control) d. Sistem pemulihan (recovery control) e. Katalog yang bisa diakses oleh pengguna (user-accessible catalog) (Connolly, 2005, p16). 2.1.10 Komponen-Komponen DBMS M enurut Connolly dan Begg (2005, pp18 - 21), Database Management System (DBM S) memiliki lima komponen penting yaitu: 1. Hardware (perangkat keras) Dalam menjalankan aplikasi dan DBM S diperlukan perangkat keras. Perangkat keras dapat berupa a single personal computer, single mainframe, komputer jaringan berupa server. 15 2. Software (perangkat lunak) Komponen perangkat lunak meliputi DBM S software dan program aplikasi berserta Sistem Operasi (OS), termasuk perangkat lunak tentang jaringan jika DBM S digunakan dalam jaringan seperti LAN. 3. Data Data mungkin merupakan komponen terpenting dari DBM S khususnya sudut pandang dari end user mengenai data. 4. Prosedur Prosedur berupa panduan dan instruksi dalam membuat desain dan menggunakan basis data. Pengguna dari sistem dan staf dalam mengelola basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola basis data itu sendiri. Demikian prosedur di dalam basis data dapat berupa: login di dalam basis data, penggunaan sebagian fasilitas DBM S, cara menjalankan dan memberhentikan DBM S, membuat salinan backup database, memeriksa hardware dan software yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. M anusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. 2.1.11 Keuntungan dan Kerugian DBMS DBM S memungkinkan untuk menciptakan basis data dalam penyimpanan akses langsung komputer, memelihara isinya, dan menyediakan isi tersebut bagi pemakai tanpa pemrograman khusus yang mahal. Ketika perusahaan atau pemakai individu memutuskan apakah akan menggunakan suatu DBM S, keuntungan dan 16 kerugiannya harus dipertimbangkan. M enurut M cLeod (2001, p269), keuntungan DBM S adalah sebagai berikut: 1. M engurangi pengulangan data. Jumlah total file dikurangi dengan menghapus file-file duplikat. Juga hanya terdapat sedikit data yang sama di beberapa file. 2. M encapai independensi data. Spesifikasi data disimpan dalam skema daripada dalam tiap program aplikasi. Perubahan dapat dibuat pada struktur data tanpa mengurangi program yang mengakses data. 3. M engintegrasikan data dari beberapa file. Ketika file dibentuk sehingga menyediakan kaitan logis, organisasi fisik tidak lagi menjadi kendala. 4. M engambil data dan informasi secara cepat. Hubungan-hubungan logis dan DM L serta query language memungkinkan pemakai mengambil data dalam hitungan detik atau menit, yang sebelumnya memungkinkan memerlukan beberapa jam atau hari. 5. M eningkatkan keamanan. Baik DBM S mainframe maupun komputer mikro dapat menyertakan beberapa lapis keamanan seperti kata sandi (password), directory pemakai, dan bahasa sandi (encryption). Data yang dikelola oleh DBM S juga lebih aman daripada data lain dalam perusahaan. 17 Sedangkan, kerugian dari DBM S adalah sebagai berikut: 1. M emperoleh perangkat lunak yang mahal. DBM S mainframe masih sangat mahal. DBM S berbasis komputer mikro, walaupun biayanya hanya beberapa ratus dolar, dapat menggambarkan pengeluaran yang besar bagi organisasi kecil. 2. M emperoleh konfigurasi perangkat keras yang besar. DBM S sering memerlukan kapasitas penyimpanan primer dan sekunder yang lebih besar daripada yang diperlukan oleh program aplikasi lain. Juga, kemudahan yang dibuat oleh DBM S dalam mengambil informasi mendorong lebih banyak terminal pemakai yang disertakan dalam konfigurasi daripada jika sebaliknya. 3. M empekerjakan dan mempertahankan staf DBA. DBM S memerlukan pengetahuan khusus agar dapat memanfaatkan kemampuannya secara penuh. Pengetahuan khusus ini disediakan paling baik oleh para pengelola database (DBA). 2.1.12 Entity-Relationship Modelling M enurut Budiharto (2002, p4), mendesain basis data merupakan hal yang sangat penting dalam membuat basis data. Kita menggunakan Entity Relationship (ER) untuk mendesainnya. ER merupakan sebuah permodelan untuk mendesain basis data yang baik. Karena tanpa ER ini, bisa dipastikan proses pembuatan basis data berjalan lama dan tidak teratur. Pada saat mendesain basis data yang perlu diperhatikan ialah membuat relasi-relasi yang benar diantara tabel. Proses desain basis data cukup menghasilkan waktu yang lama jika basis datanya besar. 18 Pendokumentasian desain basis data mutlak harus dilakukan dengan baik agar mudah di dalam pengembangan dan perbaikan nantinya. 2.1.12.1 Entity Type M enurut Budiharto (2002, p5), tipe entitas dapat didefinisikan sebagai sesuatu yang mudah diidentifikasikan. Konsep dari ER yaitu tipe entitas yang mempresentasikan kumpulan dari objek di dalam kenyataan yang memiliki sifat / properties yang sama. 2.1.12.2 Attributes M enurut Connolly dan Begg (2005, pp350-352), atribut adalah sifat dari sebuah entitas atau tipe relationship. Sifat tertentu dari entitas disebut sebagai atribut. Atribut menyimpan nilai dari setiap entity occurrence dan disimpan didalam basis data. Attribute domain adalah sejumlah nilai yang diperkenankan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain menetapkan nilai potensial yang sebuah atribut bisa simpan atau sama dengan konsep domain pada model relasional. Simple attribute adalah sebuah susunan atribut dari komponen tunggal (single component) dengan keberadaan yang bebas (independent exsistence). Simple attribute tidak bisa dibagi lagi ke dalam komponen yang lebih kecil. Contohnya, posisi dan gaji dari entitas pegawai. Sedangkan Composed attribute adalah sebuah susunan atribut dari banyak komponen dengan sebuah keberadaan yang bebas dari masing-masingnya. Dalam hal ini beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi 19 dengan keberadaan yang bebas dari masing-masingnya. Contohnya atribut alamat dari entitas kantor cabang yang mengandung nilai (jalan, kota, kode pos) bisa dipecahkan menjadi simple attribute jalan, kota dan kode pos. Single value attribute adalah atribut yang hanya menyimpan nilai tunggal untuk suatu sifat dari entitas. Multi-valued attribute adalah atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entitas. Contohnya atribut telepon pada entitas kantor cabang yang bisa memiliki lebih dari satu nomor telepon. Derived attribute (atribut turunan) adalah atribut menunjukkan nilai yang diperoleh dari atribut yang berhubungan atau kumpulan atribut yang berhubungan, tidak terlalu dibutuhkan dalam tipe entitas yang sama. Atribut turunan (derived attribute) mungkin juga menyangkut hubungan dari atribut pada tipe entitas yang berbeda. 2.1.12.3 Relationship Type Pengertian Relationship Type menurut Connolly dan Begg (2005, p346), “Relationship type is a set of association between one or more participating entity types”, yang dapat diartikan, “Relationship type adalah sekumpulan hubungan antara satu atau lebih tipe-tipe entitas.” Derajat dari relationship adalah jumlah dari partisipasi (participating) tipe entitas dalam sebuah tipe relationship tertentu. Entitas yang berkaitan dalam sebuah tipe relationship dikenal sebagai participant dalam relationship dan jumlah participant dalam relationship disebut sebagai derajat (degree) dari relationship. Oleh karena itu, derajat dari sebuah relationship menunjukkan jumlah dari entitas yang terkait dalam relationship. Sebuah relationship 20 berderajat dua disebut binary, relationship berderajat tiga disebut sebagai ternary, dan relationship berderajat empat disebut sebagai quartenar. 2.1.12.4 Kunci (Key) M enurut Budiharto (2002, p9), key ialah suatu properti yang menentukan apakah suatu kolom pada tabel sangat penting atau tidak. Terdiri atas Candidate key, Primary key, Alternate key dan Composite key. Candidate key: sebuah atribut atau lebih yang secara unik mengidentifikasi sebuah baris. Atribut ini mempunyai nilai yang unik pada hampir tiap barisnya. Fungsi dari Candidate key ialah sebagai calon primary key. Primary key: candidate key yang telah dipilih untuk mengidentifikasi tiap baris secara unik. Primary key harus merupakan field yang benar– benar unik dan tidak boleh ada nilai NULL. Alternate key: candidate key yang tidak dipilih sebagai primary key. Composite key: pada kondisi tertentu, suatu atribut tidak dapat digunakan untuk mengidentifikasi baris secara unik dan membutuhkan kolom yang lain untuk digunakan sebagai primary key. Foreign key: jika sebuah primary key terhubung ke tabel lain. Fungsinya sebagai penghubung antar tabel. 2.1.12.5 S tructural Constraints M enurut Connoly dan Begg (2005, p356), batasan utama pada relationship disebut multiplicity, yaitu jumlah (atau range) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relasi. 21 Relasi yang paling umum adalah binary relationship. M acam-macam binary relationship yaitu one-to-one (1:1), one-to-many (1:*), atau many-tomany (*:*). Multiplicity dibentuk dari dua macam batasan pada relationalship yaitu (Connoly dan Begg, 2005, p363): • Cardinality, menjelaskan jumlah maksimum dari kejadian relasi yang mungkin untuk entitas yang berpartisipasi di dalam relasi tersebut. • Participation, menetapkan apakah seluruh atau hanya sebagian entitas yang perpartisipasi dalam suatu relasi. 2.1.13 Data Definition Language (DDL) M enurut M artina (2003, p58), DDL merupakan bagian dari sistem manajemen basis data, dipakai untuk mendefinisikan dan mengatur semua atribut dan properti dari sebuah basis data. DDL digunakan untuk mendefinisikan basis data, tabel, dan view. 1. Create Table Pernyataan create table digunakan untuk membuat mengidentifikasikan tipe data untuk tiap kolom. Bentuk umum : CREATE TABLE Table_name ( Column_name DataType [ NULL | NOT NULL] [ , Column_name DataType [ NULL | NOT NULL] ] ... ) table dengan 22 2. Alter Table Pernyataan alter table digunakan dapat dipakai untuk menambah atau membuang kolom dan konstrain. Bentuk umum : ALTER TABLE Table_name [ ADD Column_name DataType [ NULL | NOT NULL ] ] [ DROP Column_name DataType [ RESTRICT | CASCADE ] ] [ ADD Constrain_name ] [ DROP Constrain_name [ RESTRICT | CASCADE ] ] 3. Drop Table Pernyataan drop table digunakan untuk membuang / menghapus tabel beserta semua data yang terkait didalamnya. Bentuk umum : DROP TABLE Table_name; 4. Create Index Pernyataan create index digunakan untuk membuat index pada suatu tabel. Bentuk umum : CREATE [UNIQUE] INDEX index_name ON Table_name ( Column_name [ , Column_name ] ... ) 5. Drop Index Pernyataan drop index digunakan untuk membuang atau menghapus index yang telah dibuat sebelumnya. Bentuk umum : 23 DROP INDEX Index_name 2.1.14 Data Manipulation Language (DML) M enurut M artina (2003, p60), DM L dipakai untuk menampilkan, menambah, mengubah, dan menghapus data didalam objek-objek yang didefinisikan oleh DDL. 1. Select Pernyataan select digunakan untuk menampilkan sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel. Bentuk umum : SELECT Fields FROM Table_name WHERE Condition 2. Update Penyataan update digunakan untuk mengubah isi satu atau beberapa atribut dari suatu tabel. Bentuk umum : UPDATE Table_name SET column1 = value1, column2 = value2, ... WHERE Condition 3. Insert Pernyataan insert digunakan untuk menambah satu atau beberapa baris nilai baru ke dalam suatu tabel. Bentuk umum : INSERT Table_name ( Column list ) VALUES ( value list ) 24 4. Delete Pernyataan delete digunakan untuk menghapus sebagian / seluruh isi dari suatu tabel. Bentuk umum : DELETE FROM Table_name WHERE Condition 2.1.15 Data Flow Diagram M enurut Whitten (2004, p334), Data Flow Diagram (DFD) is a tool that depicts the flow of data thorugh a system and the work or processing performed by that system, dapat diartikan DFD adalah sebuah peralatan yang menggambarkan aliran data sampai sebuah sistem selesai dan kerja atau proses dilakukan dalam sistem tersebut. Sinonimnya adalah bubble chart, transformation graph, and process model. 1. External agents M enurut Whitten (2003, p334), External Agents are define a person an organization unit, another system, or another organization unit, another system, or another organization that lies outside the scope of the project but that interacts with the system being studied, dapat diartikan sebagai Eksternal Agen adalah mendefinisikan orang, sebuah unit organisasi, sistem lain atau organisasi lain yang berada di luar sistem proyek tapi dapat mempengaruhi kerja sistem. M enurut Whitten (2004, p347) ada beberapa bentuk External Agents: 25 • Bentuk Gane dan Sarson External Agent • Bentuk DeM arco/Yourdon 2. Process M enurut Whitten (2004, p347), Process is work perform on, or in response, incoming data flows or conditions, dapat diartikan sebagai proses adalah penyelenggaraan kerja, atau jawaban, datangnya aliran data atau kondisinya. M enurut Whitten (2004, p347), ada beberapa bentuk proses diantaranya: • Bentuk Gane dan Sarson • Bentuk DeM arco/Yourdon 26 • Bentuk SSADM / IDEFO 3. Data Stores Data Stores is an “inventory” of data, Dapat diartikan sebagai Data Stores adalah penyimpanan data. M enurut Whitten (2004, p366), ada beberapa bentuk data stores diantaranya • Bentuk Gane dan Sarson • Bentuk DeM arco/Yourdon 4. Data Flow Data Flow is represent an input of data to a process or the output of data (or information) from a process, dapat diartikan sebagai Data Flow adalah merepresentasikan sebuah input data ke dalam sebuah proses atau output dari data (atau informasi) dari sebuah proses. 27 Bentuk Data Flow: Jenis-jenis DFD adalah sebagai berikut: 1. Level 0 (Diagram Context) Level ini terdapat sebuah proses yang berada di posisi pusat 2. Level 1 (Diagram Nol) Level ini merupakan sebuah proses yang terdapat di level 0 yang dipecahkan menjadi beberapa proses lainnya. 3. Level 2 (Diagram Rinci) Pada level ini merupakan diagram yang merincikan diagram level 1. • Tanda ‘ * ’ digunakan hanya jika proses tersebut tidak bisa dirincikan lagi. 2.0* artinya proses level rendah yang tidak bisa dirincikan lagi • Penomoran yang dilakukan berdasarkan urutan proses 2.1.16 State Transition Diagram State Transition Diagram (STD) adalah suatu perangkat pemodelan yang menggambarkan sifat ketergantungan terhadap waktu pada sistem. M enurut Pressman (2001, p317), STD digunakan untuk mengidentifikasikan sebagaimana sistem harus berperilaku sebagai resiko dari kejadian eksternal. Untuk mencapai hal ini STD menampilkan berbagai jenis model perilaku dari hasil dan tingkah laku yang 28 mana transisi dibuat dari satu state ke state yang lain. Penyajian STD merupakan landasan dasar untuk menentukan perilaku. Biasanya di dalam STD digunakan notasi seperti: 1. Active • State, simbonya persegi panjang. State adalah kumpulan keadaan atau atribut yang memberi perincian seseorang atau benda pada waktu dan kondisi tertentu. Contohnya seperti: proses user mengisi password, menentukan instruksi berikutnya. Simbol state : • Transition State / Perubahan state, simbolnya tanda panah berarah. Simbol Transition State: • Condition Kejadian pada lingkungan eksternal yang bisa terdeteksi oleh sistem. Hal ini akan mengakibatkan perubahan terhadap state dari keadaan state menunggu X ke state menunggu Y. Contohnya seperti interrupt signal maupun data • Action Action adalah hal yang dilakukan sistem apabila ada perubahan state atau merupakan reaksi terhadap kondisi. Action menghasilkan keluaran dari tampilan pesan, cetakan atau alat output lainnya 29 2. Passive Sistem ini tidak melakukan kontrol terhadap lingkungan, tapi lebih bersifat menerima data atau memberi reaksi saja (sistem yang menerima atau mengumpulkan data dari signal yang dikirim oleh satelit). Berikut adalah gambar STD yang sederhana: 2.1.17 Kamus Data dan Normalisasi 2.1.17.1 Kamus Data M enurut M cLeod (2001, p308), kamus data adalah suatu penjelasan tertulis mengenai data yang berada di dalam basis data. Kamus data ini dimaksudkan untuk melengkapi pembuatan model proses yang menggunakan diagram alir data. 2.1.17.2 Normalisasi Pengertian normalisasi Connolly dan Begg (2005, p388), “Normalization is a technique for producing a set of relations with desireable properties, given the data requirements of an enterprise”, yang dapat diartikan “Normalisasi adalah sebuah teknik untuk menghasilkan relasi dengan propertiproperti yang diinginkan, memberikan kebutuhan data dari sebuah 30 perusahaan.” Tujuan Dari normalisasi adalah sebagai berikut: ● M enghilangkan kumpulan relasi dari inserting, updating, dan delete dependency yang tidak diharapkan. ● M engurangi kebutuhan restrukturisasi kumpulan relasi dan meningkatkan life spam program aplikasi. ● M embuat model relasional yang lebih informative. ● M embuat sekecil mungkin terjadinya data rangkap. ● M enghidarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap. ● M enjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut. Berikut adalah proses normalisasi: 1. Bentuk Normal Pertama (First Normal Form / 1NF) Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg (2005, p403), “A reliation in which the intersection of each row and column contains one and only one value”, yang dapat diartikan, “Sebuah relasi dimana tiap baris dan kolom berisi hanya berisi satu nilai.” Bentuk normal pertama dicapai bila tiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terjadi adanya data rangkap. 31 2. Bentuk Normal Kedua (Second Normal Form / 2NF) Aturan bentuk normal kedua (2NF) menurut Connolly dan Begg (2005, p407), “A relation that is in first normal form and every non-primary key attribute is fully function dependent on the primary key”, yang dapat diartikan, “sebuah relasi dalam bentuk normal pertama dan setiap atribut bukan primary key yang bergantung secara fungsional kepada primary key” Bentuk normal kedua adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full functional dependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi (relation), B adalah fungsional ketergantungan penuh (fully functinal dependency) pada A jika B adalah secara fungsional bergantung pada A, tapi bukan merupakan himpunan bagian dari A. Bentuk normal kedua menciptakan sebuah relasi pada bentuk normal pertama dan semua atribut yang bukan primary key adalah fungsional tergantung penuh pada primary key. 3. Bentuk Normal Ketiga (Third Normal Form / 3NF) Aturan bentuk normal ketiga (3NF) menurut Connolly dan Begg (2002, p508), “A reliation that is in first and second normal form, and in which non-primary key attribute is transitively dependent on the primary key”, yang dapat diartikan, “sebuah relasi dalam bentuk normal pertama dan kedua dan setiap atribut bukan primary key yang bergantung secara transitif kepada primary key” Bentuk normal ketiga adalah berdasarkan pada konsep peralihan ketergantungan (transistive dependency). Transitive dependency adalah sebuah kondisi dimana A, 32 B dan C adalah atribut dari sebuah relasi bahwa jika AÆB dan BÆC, maka C adalah transitive dependent pada A melewati B (menyatakan bahwa A bukan functional dependent pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua dan dimana tidak ada atribut non-primary key secara transitif bergantung (transitively dependent) pada primary key. 2.1.18 Database Application Lifecycle Tahapan penerapan lifecycle dalam metodologi perancangan basis data menurut Connolly and Begg (2005, p284), Database Systems A Practical sebagai berikut: 33 Gambar 2.1 Tingkatan dari Aplikasi Database Lifecycle 34 2.1.18.1 Perencanaan Basis Data (Database Planning) M enurut Connolly dan Begg (2005, pp285-286), perencanaan basis data (database planning) merupakan aktivitas manajemen yang mengizinkan tingkatan dari aplikasi basis data untuk direalisasikan se-efisien dan se-efektif mungkin. Database Planning harus diintegrasikan dengan keseluruhan strategi sistem informasi dari perusahaan. Ada 3 hal penting dalam menyusun sebuah strategi sistem informasi , yaitu : 1. Identifikasi dari tujuan dan rencana perusahaan dengan penentuan kebutuhan sistem informasi berikutnya 2. Evaluasi dari sistem informasi saat ini untuk menentukan kelebihan dan kelemahan yang ada saat ini. 3. Penilaian dari kesempatan-kesempatan TI yang mungkin menghasilkan keuntungan kompetitif. Langkah mendefinisikan secara jelas tentang penting dari tahap ini adalah pernyataan misi untuk proyek basis data. Pernyataan tersebut mendefinisikan tujuan utama dari aplikasi basis data. Bila pernyataan tersebut selesai maka langkah selanjutnya adalah mengidentifikasikan sasarannya. Pernyataan dan sasaran ini perlu didukung oleh informasi-informasi tambahan yang menentukan pekerjaan apa saja yang harus diselesaikan, sumber-sumber yang mendukungnya, dan biaya yang harus dikeluarkan. 2.1.18.2 Definisi Sistem Basis Data (System Definition) M enurut Connolly dan Begg (2005, p286) definisi sistem (Sytem definition) adalah memaparkan jangkauan dan batasan dari aplikasi basis data 35 dan pandangan-pandangan utama para pemakai. Sebelum mendesain suatu aplikasi basis data penting untuk terlebih dahulu mengidentifikasikan batasanbatasan dari sistem yang sedang diteliti dan bagaimana kaitannnya dengan bagian lain sistem informasi perusahaan. Perlu dipikirkan untuk kebutuhan yang akan datang selain dari keadaan saat ini. Dan tak lupa untuk mengidentifikasi pandangan pemakai yang merupakan aspek penting dari pengembangan aplikasi basis data karena membantu untuk memastikan bahwa tidak ada pemakai utama basis data yang terlupa ketika pengembangan aplikasi baru tersebut. 2.1.18.3 Analisis dan Pengumpulan Kebutuhan (Requirement Collection and Analysis) M enurut Connolly dan Begg (2005, pp288-291), analisis dan pengumpulan kebutuhan (requirement collection and analysis) adalah proses pengumpulan dan analisis informasi tentang bagian dari perusahaan yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pemakai terhadap sistem baru. Informasi yang dikumpulkan termasuk: 1. Penjabaran dari data yang digunakan, 2. Detail mengenai bagaimana data digunakan, 3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisis untuk mengidentifikasikan kebutuhan yang dimasukkan untuk aplikasi basis data yang baru tersebut. Ada 3 macam pendekatan untuk mengatur kebutuhan dari sebuah 36 aplikasi basis data dengan berbagai pandangan pemakai, yaitu: 1. Pendekatan Centralized Kebutuhan untuk tiap pandangan pemakai disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks. 2. Pendekatan View Integration Kebutuhan untuk tiap pandangan pemakai digunakan untuk membangun sebuah model data yang terpisah yang merepresentasikan tiap pandangan pemakai tersebut. Hasil dari data-data model tersebut kemudian disatukan di bagian desain basis data. 3. Kombinasi keduanya. 2.1.18.4 Desain Basis Data (Database Design) M enurut Connolly dan Begg (2005, p291), perancangan basis data (database design) merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan sasaran suatu perusahaan. Ada 2 pendekatan untuk mendesain sebuah basis data, yaitu: 1. Pendekatan bottom-up Yang dimulai pada tingkat awal dari atribut (yaitu, properti dari entiti dan relationship), yang mana melalui analisis dari asosiasi antar atribut, dikelompokkan menjadi hubungan yang merepresentasikan jenis-jenis entitas dan hubungan antar entitas. Pendekatan ini cocok untuk mendesain basis data yang simpel dengan jumlah atribut yang tidak banyak. 37 2. Pendekatan top-down Digunakan pada basis data yang lebih kompleks, yang dimulai dengan pengembangan dari model data yang mengandung beberapa entitas dan hubungan tingkat tinggi dan kemudian memakai perbaikan top-down berturut-turut untuk mengidentifikasi entitas, hubungan dan atribut berkaitan tingkat rendah. Pendekatan ini biasanya digambarkan melalui ER (Entity Relationship). Pada tahap ini ada bagian yang disebut data modelling yang digunakan untuk membantu pemahaman dari data dan untuk memudahkan komunikasi tentang kebutuhan informasi. Dengan dibuatnya model data dapat membantu memahami: 1. Pandangan tiap pemakai mengenai data. 2. Kealamian data itu sendiri, kebebasan representasi fisiknya. 3. Kegunaan dari data berdasarkan pandangan pemakai. Kriteria untuk model data, yaitu: 1. Structural validity Konsistensi dengan cara yang didefinisikan perusahaan dan menyusun informasi. 2. Simplicity Kemudahan untuk pemahaman baik bagi yang profesional di bidang sistem informasi maupun pemakai yang nonteknis. 3. Expressibility Kemampuan untuk membedakan antara data yang berbeda, dan hubungan antar data. 38 4. Nonredundancy Penghapusan informasi yang tak ada hubungannnya, khususnya representasi dari tiap potongan informasi tepatnya hanya sekali. 5. Shareability Tidak spesifik untuk aplikasi dan teknologi khusus apapun dan dengan demikian dapat digunakan oleh banyak orang. 6. Extensibility Kemampuan mengembangkan untuk mendukung kebutuhan baru dengan efek yang minimal bagi pemakai yang ada. 7. Integrity Konsistensi terhadap cara yang digunakan perusahaan dan mengatur informasi. 8. Diagramatic representation Kemampuan untuk merepresentasikan sebuah model menggunakan notasi diagram yang dapat dipahami dengan mudah. M enurut Connolly dan Begg (2002, pp419-437) Database Design dibagi dalam tiga tahapan yaitu conseptual database design, logical database design, dan physical database design. 2.1.18.5 Seleksi DBMS (DBMS Selection) M enurut Connolly dan Begg (2005, pp295-299), pemilihan DBM S yang sesuai untuk mendukung aplikasi basis data. Yang mencakup: 1. M endefinisikan syarat-syarat referensi studi M enentukan sasaran, batasan masalah, dan tugas yang harus dilakukan. 39 2. M endaftar 2 atau 3 jenis barang M embuat daftar barang-barang, misalkan dari mana barang ini didapat, berapa biayanya, serta bagaimana bila ingin mendapatkannya. 3. M engevaluasi barang Barang-barang yang ada dalam daftar di teliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut. 4. M erekomendasikan pilihan dan membuat laporan M erupakan langkah terakhir dari seleksi DBM S yaitu mendokumentasikan proses dan untuk menyediakan pernyataan mengenai simpulan dan rekomendasi terhadap salah satu produk DBM S. 2.1.18.6 Desain Aplikasi (Application Design) M enurut Connolly dan Begg (2005, pp299-301), perancangan aplikasi (application design) adalah merancang antarmuka pemakai (user interface) dan program aplikasi, yang akan memproses basis data. Ditinjau dari gambar 2.1 bahwa, perancangan basis data dan perancangan aplikasi adalah aktivitas bersamaan pada database application lifecycle. Dalam kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan perancangan aplikasi sebelum perancangan basis data selesai. Dalam perancangan aplikasi harus memastikan semua pernyataan fungsional dari spesifikasi kebutuhan pemakai (user requirement spesification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan 40 merancang antarmuka pemakai (user interface) yang tepat. Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara untuk menciptakan ‘user-friendly’. Kebanyakkan antarmuka pemakai yang diabaikan akan niscaya membuat masalah. Bagaimanapun, antarmuka harus diakui sebagai komponen dari sistem yang penting, dimana agar mudah dipelajari dan mudah digunakan, sehingga pemakai akan cenderung untuk memberdayagunakan informasi yang disajikan. 2.1.18.7 Prototyping M enurut Connolly dan Begg (2005, pp303-304), prototyping adalah membuat model kerja dari aplikasi basis data, yang membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Tujuan dari pengembangan prototype aplikasi basis data adalah untuk memungkinkan pemakai menggunakan prototype untuk mengidentifikasi keistimewaan sistem atau kekurangannya, dan memungkinkan perancang untuk memperbaiki atau melengkapi keistimewaan (feature) dari aplikasi basis data baru. Ada dua strategi prototyping yang umum digunakan sekarang, yaitu, requirement prototyping dan evolutionary prototyping. Requirement prototyping adalah menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data dan ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang (discard). Sedangkan evolutionary prototype menggunakan tujuan yang sama, tapi perbedaan pentingnya adalah prototype tetap digunakan untuk selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja. 41 2.1.18.8 Implementasi (Implementation) M enurut Connolly dan Begg (2005, p304), Implementasi (implementation) adalah membuat definisi basis data secara eksternal, konseptual, dan internal dan program aplikasi. Implementasi merupakan realisasi dari basis data dan perancnagan aplikasi. Implementasi basis data dicapai menggunakan Data Definition Language (DDL) dari DBM S yang dipilih atau graphical user interface (GUI). Pernyataan DDL digunakan untuk membuat struktur basis data dan file basis data kosong. Pandangan pemakai (user view) lainya juga diimplementasikan dalam tahapan ini. Bagian dari aplikasi program adalah transaksi basis data yang diimplementasikan dengan menggunakan Data Manipulation Language (DM L) dari sasaran DBM S, mungkin termasuk host programming language. 2.1.18.9 Data Conversion and Loading M enurut Connolly dan Begg (2005, p305), data conversion and loading adalah mancakup pengambil data dari sistem yang lama untuk dipindahkan kedalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data baru menggantikan sistem yang lama. Pada masa sekarang, umumnya DBM S memiliki kegunaan (utility) untuk memasukan file kedalam basis data baru. Biasanya membutuhkan spesifikasi dari sumber file dan sasaran basis data-nya. Kegunaan ini memungkinkan pengembang (developer) untuk mengkonversi dan menggunakan aplikasi program lama untuk digunakan oleh sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan 42 operasi. 2.1.18.10 Testing M enurut Connolly dan Begg (2005, p305), testing adalah proses menjalankan program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Untuk mencapainya harus hati-hati dalam menggunakan perencanaan strategi uji danmenggunakan data asli untuk semua proses pengujian. Di dalam definisi testing ini tidak menggunakan pandangan yang biasa, testing adalah proses demonstrasi tanpa kesalahan. Dalam kenyataan testing tidak luput dari kesalahan. Jika testing menunjukkan keberhasilan, maka pengujian akan menemukan kesalahan pada program aplikasi dan mungkin basis data strukturnya. Didalam merancang basis data, users dari sistem baru seharusnya terlibat di dalam proses testing. Situasi yang ideal untuk melakukan uji sistem adalah menguji basis data pada perangkat keras yang berbeda, tapi hal ini sering tidak dilakukan. Jika data yang asli digunakan, perlu back-up untuk mengantisipasi kesalahan atau error. Setelah testing selesai, sistem aplikasi siap digunakan dan diserahkan ke users. 2.1.18.11 Operational Maintenance M enurut Connolly dan Begg (2005, p306) operational maintenace adalah proses memantau dan memelihara sistem setelah diinstal. Pada tahapan sebelumnya, basis data benar-benar di uji dan diimplementasikan. Sekarang sistem beralih ketahapan pemiliharaan. Yang termasuk aktivitas dari tahapan 43 pemeliharaan adalah sebagai berikut: 1. M emantau kinerja dari sistem. Jika kinerjanya menurun dibawah level yang dapat diterima, mungkin basis data perlu direorganisasi. 2. Pemeliharaan dan upgrade aplikasi basis data-nya (jika diperlukan). Ketika basis data sepenuhnya bekerja, pemantauan harus memastikan kinerjanya dapat berada dalam tingkat yang dapat diterima. Sebuah DBM S biasanya menyediakan berbagai kegunaan (utilities) untuk membantu administrasi basis data termasuk kegunaan (utilities) untuk mengisi data ke dalam basis data dan untuk memantau sistem. Kegunaan ini memperbolehkan sistem pemantauan untuk memberikan informasi seperti tentang pemakaian basis data, dan strategi eksekusi query. Database administrator dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik. 2.1.19 Desain Konseptual, Logikal, dan Fisik Basis Data 2.1.19.1 Desain Konseptual Basis Data M erupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan, bebas dari semua physical consideration.Conseptual database design seluruhnya independen implementasi seperti target DBM S software, program aplikasi, dari bahasa pemrograman, atau physical consideration lainnya. Jelasnya Conseptual database design merupakan tahapan pertama dari tahapan perancangan basis data dan menciptakan model data konseptual (conseptual data model) dari bagian perusahaan yang akan dibuat basis datanya. Model data (data model) 44 dibuat dengan menggunakan suatu dokumentasi informasi yaitu spesifikasi kebutuhan yang dimiliki oleh user. M embangun model data lokal konseptual, tujuannya untuk membangun suatu model data konseptual lokal dari suatu perusahaan atau badan. Langkah-langkah untuk membuat model data konseptual dapat digambarkan sebagai berikut: 1. Identify entity types Untuk menentukan entitas utama yang dibutuhkan, dengan kata lain membuat kelas–kelas dari objek–objek yang ada berikut penjelasannya. M isalkan : Staff, yang menggambarkan seluruh tingkatan staff yang ada. PropertyForRent, menggambarkan semua properti yang disewakan. 2. Identify relationship types Untuk menentukan hubungan–hubungan penting yang ada antara jenisjenis entitas yang telah diidentifikasi. M isalkan: • Staff Manages PropertyForRent, yaitu staf mengatur entitas property. • PrivateOwner Owns PropertyForRent, yaitu entitas PropertyOwner memiliki yang ada pada entitas PropertyForRent. • PropertyForRent AssociatedWith Lease, yaitu entitas PropertyForRent saling bekerja sama dengan entitas Lease. Biasanya dilanjutkan dengan membuat diagram hubungan tersebut yang disebut ER diagram serta menentukan hubungan kemajemukannnya. 45 3. Identify and associate attributes with entity or relationship types Untuk menentukan attribut yang berkaitan dengan entitas yang telah ditentukan. M isalkan untuk entitas staff ditentukan atribut seperti staffNo (yang mengandung nomor–nomor kode setiap staf), name, position, sex. Begitu pun untuk setiap entitas lainnya. 4. Determine attribute domains Untuk menentukan domain untuk tiap – tiap atribut yang ada. Suatu domain adalah suatu kelompok nilai yang dari mana satu atau lebih atribut mengambil nilainya. M isalkan: • Domain atribut untuk nilai staffNo yang valid misalnya panjang maksimalnya lima karakter dengan dua karakter pertama harus huruf dan yang ketgia berikutnya berupa angka yang berkisar antara 1-999. • Nilai yang mungkin untuk attribut sex dari entiti Staff misalnya huruf M atau F saja. 5. Determine candidate and primary key attributes Untuk mengidentifikasikan candidate key dan primary key dari kumpulan atribut pada tiap-tiap entitas. Primary key merupakan satu atribut yang dipakai sebagai ciri khas dari suatu entitas. M isalkan pada entitas Staff primary key-nya adalah staffNo yang mewakili atribut lainnya, sehingga pada saat kita mengakses suatu basis data hanya dengan memasukkan nilai staffNo kita dapat mengetahui nilai-nilai atribut lainnya yang ada dalam entitas Staff. 46 6. Validate local conceptual model against user transactions Untuk memastikan bahwa model konsep tersebut mendukung proses transaksi yang dibutuhkan. M isalkan menggambarkan transaksi dengan memeriksa semua informasi yang ada. Contohnya dengan adanya hubungan Staff manages PropertyForRent kita dapat mengetahui detil dari properti dan staf yang menangani properti tersebut. 2.1.19.2 Desain Logikal Basis Data M erupakan suatu proses pembuatan model dengan menggunakan informasi yang diperoleh dari perusahaan serta berdasarkan pada model data spesifik, tapi bebas dari particular DBMS dan physical consideration lainya. M odel data konseptual yang dibangun pada fase sebelumnya diperhalus dan dipetakan pada model data logikal. M odel data logikal didasarkan pada target model data untuk basis data (contoh: model data relasional). M odel data logikal merupakan sumber informasi untuk fase selanjutnya, yang dinamakan physical database design. Aktivitas pada logical database design adalah terdiri dari dua langkah besar, dimana langkah pertama adalah membangun sebuah model data logikal lokal dari model data konseptual lokal yang menggambarkan pandangan (view) tertentu dari perusahaan dan kemudian mengesahkan model ini untuk memastikan strukturnya telah benar atau menggunakan teknik normalisasi. Sedangkan langkah kedua atau langkah selanjutnya adalah untuk mengkombinasikan model data logikal local individual ke dalam sebuah model data logikal global tunggal yang menggambarkan perusahaan. Hasil akhir dari tahapan ini berupa sebuah kamus data yang berisi semua atribut beserta key- 47 nya (primary key, alternate key dan foreign key) dan ERD keseluruhan (relasi global) dengan semua atribut key-nya. 2.1.19.3 Desain Fisik Basis Data M erupakan proses pembuatan deskripsi dari suatu implementasi basis data pada secondary storage, hal ini mendeskripsikan base relation, organisasi file, dan indeks yang digunakan untuk mencapai efisiensi akses kedalam data, dan associated integrity constraints yang lainya dan security measures. Physical database design merupakan fase ketiga dan terakhir dari proses desain basis data. Dimana desainer memutuskan bagaimana basis data tersebut diimplementasikan. Secara garis besar, tujuan utama dari physical database design adalah untuk mendeskripsikan bagaimana desainer bermaksud untuk mengimplementasikan secara fisik dari logical database design. Tujuan utama dari physical database design adalah untuk mendeskripsikan bagaimana perancang bermaksud untuk mengimplementasikan secara fisik dari logical database design. Untuk model relasional, ini meliputi: 1. M embuat sejumlah atau kumpulan tabel relasional dan costraints pada table tersebut dari informasi yang didapatkan dalam model data logikal (logical data model). 2. M engidentifikasi struktur penyimpanan tertentu dan metode akses terhadap data untuk mencapai performa optimal dari sistem basis data. 3. M erancang proteksi keamanan untuk sistem. 48 2.2 Teori Khusus 2.2.1 Definisi Persediaan M enurut M ulyadi (2001, p553), sistem persediaan bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Sistem ini berkaitan erat dengan sistem pembelian, sistem retur pembelian, dan sistem akuntansi biaya produksi. Dalam perusahaan manufaktur, persediaan terdiri dari : persediaan produk jadi, persediaan produk dalam proses, persediaan barang, persediaan bahan penolong, persediaan bahan habis pakai pabrik, dan persediaan suku cadang. 2.2.2 Definisi Pembelian M enurut M ulyadi (2001, p299), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Transaksi pembelian digolongkan menjadi dua yaitu pembelian lokal dan impor. Pembelian lokal adalah pembelian dari pemasok dalam negeri sedangkan pembelian impor adalah pembelian dari pemasok luar negeri. 2.2.3 Definisi Penjualan M enurut M ulyadi (2001, p204), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun tunai. Penjualan menurut cara bayarnya dapat dibedakan sebagai berikut: 1. Penjualan tunai, yaitu penjualan yang dilaksanakan oleh perusahaan dengan cara mewajibkan pembeli dengan melakukan pembayaran harga barang terlebih dahulu sebelum barang diserahkan kepada pembeli. 2. Penjualan kredit, yaitu penjualan yang dilakukan dengan cara memenuhi order 49 dari pelanggan dengan mengirimkan barang atau menyerahkan jasa dan untuk jangka waktu tertentu perusahaan memiliki piutang kepada pelanggannya.