BAB 2 LANDASAN TEORI
2.1 Pendekatan Basisdata 2.1.1 Pengertian Data Menurut Turban et al (2003, p15), Data adalah fakta-fakta mentah atau deskripsi dasar dari konsep-konsep, kejadian-kejadian, kegiatan-kegiatan, dan transaksi yang dapat ditangkap, direkam, disimpan dan dikelompokkan, tetapi tidak terorganisasi dalam membawakan arti tertentu. Jadi data merupakan bentuk yang masih mentah yang belum dapat bercerita banyak sehingga masih perlu diolah lebih lanjut.
2.1.2 Pengertian Informasi Menurut Turban et al (2003, p15), Informasi adalah kumpulan fakta-fakta (data) yang sudah terorganisasi dalam suatu cara sehingga dapat berarti bagi penerima. Dengan demikian informasi dapat menjadi masukan yang berguna dalam pengambilan keputusan.
2.1.3 Pengertian Sistem Menurut Britton et al (2002, p2), Sistem adalah kumpulan komponen atau elemen yang saling berhubungan (berinteraksi) yang ditampilkan sebagai satu kesatuan dan dirancang untuk mencapai tujuan tertentu. Berdasarkan pengertian tersebut maka sistem harus dapat dirancang sedemikian rupa agar dapat bekerja secara efisien sehingga apa yang menjadi sasaran dari sistem tersebut dapat tercapai.
9
10 Menurut McLeod (2001, p11), Sistem merupakan sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Contoh suatu organisasi atau bidang fungsional cocok untuk menggambarkan ini, dimana organisasi terdiri dari bidang-bidang fungsional yang semuanya mengacu pada tercapainya tujuan organisasi yang telah ditetapkan. Sistem terdiri dari elemen-elemen yang menunjang terbentuknya sistem itu sendiri yaitu input, proses transformasi, output. Dimana elemen umpan balik terkadang digunakan untuk menampung informasi dari output system dan memberikan kepada sistem sebagai input baru. Sistem ini sendiri terediri dari dua jenis, yaitu sistem terbuka dan sistem tertutup. Suatu sistem yang dihubungkan dengan lingkungannya melalui arus sumber daya disebut sistem terbuka, sedangkan jika sistem tidak lagi dihubungkan dengan lingkungannya maka ini disebut sistem tertutup. Menurut O’Brien (2003, p8), Sistem adalah sebuah kelompok yang terintegrasi dan bekerja sama untuk mencapai tujuan yang sama dengan menerima masukan (inputs) dan menghasilkan keluaran (outputs) dalam sebuah proses transformasi yang terorganisir dengan baik. Sistem adalah suatu jaringan prosedur yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok perusahaan atau mencapai tujuan tertentu dari perusahaan. Menurut Hariyanto (2004, p59), Sistem adalah sekumpulan objek atau elemen yang saling berinteraksi untuk mencapai suatu tujuan tertentu., dan beberapa prinsip umum sistem adalah sebagai berikut:
11 1.Sistem selalu merupakan bagian dari sistem yang lebih besar, sekaligus sistem tersebut dapat dipartisi menjadi (sub)sistem – (sub)sistem yang lebih kecil. 2.Sistem yang lebih terspesialisasi akan kurang dapat beradaptasi untuk mengadapi keadaan – keadaan yang berbeda. 3.Lebih besar ukuran sistem, maka akan memerlukan sumber daya yang lebih banyak untuk operasi dan pemeliharaannya. 4.Sistem senantiasa mengalami perubahan, tumbuh dan berkembang.
2.1.4 Pengertian Sistem Analisis Menurut Hariyanto (2004, p369), Analisis merupakan bidang yang menarik, melibatkan studi interaksi antar manusia, kelompok – kelompok orang komputer, dan organisasi. Menurut Hariyanto (2004, p370), Berikut ini adalah urutan pokok analisis yang dilakukan: 1.Identifikasi ”Konsumen”. 2.Pemeriksaan terhadap sumber informasi untuk analisis kebutuhan. 3.Penulisan kebutuhan yang dipandang oleh konsumen (C-requirement). 4.Melakukan pemeriksaan terhadap kebutuhan dalam pandangan konsumen. 5.Membangun model–model analisis yang lebih tidak ambigu (D-requirement) yaitu pernyataan kebutuhan dengan notasi–notasi analisis yang terutama ditujukan untuk perancang).
12 2.1.5 Pengertian Basisdata Menurut Connolly dan Begg (2002, p14), Basisdata adalah himpunan data (file atau arsip) yang saling berhubungan dan diorganisasikan sedemikian rupa untuk menghasilkan informasi yang dibutuhkan oleh pengguna. Dengan demikian basisdata merupakan salah satu komponen yang penting dalam sistem karena dapat menyediakan informasi bagi pengguna. Menurut Whitten (2004, p548), Basisdata adalah merupakan kumpulan dari file – file yang saling berhubungan dimana setiap baris pada suatu basisdata juga harus saling terhubung dengan baris pada lain file. Menurut Kadir (1998, p9), Basisdata adalah sistem komputerisasi yang tujuan utamanya adalah memelihara informasi, dan membuat informasi tersebut tersedia saat dibutuhkan. Menurut McLeod (1995, p324), Basisdata adalah suatu kumpulan data komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan data kembali (retrieval). Menurut O’Brien (2003, p145), Basisdata adalah sebuah kumpulan yang terintegerasi dari elemen data yang terhubung secara logika. Elemen data mendeskripsikan entiti-entiti dan hubungan antara entiti-entiti. Menurut Hansen et al (1996, p12), Basisdata adalah kumpulan dari item-item data yang saling terhubung yang dapat diproses oleh satu atau lebih sistem aplikasi. Menurut Cooper et al (1996, p262), Basisdata adalah kumpulan sejumlah data yang besar di dalam komputer, disusun sedemikian rupa sehingga bisa dikembangkan, diperbaharui, dan digunakan kembali dengan cepat untuk berbagai kebutuhan.
13 Menurut Mannino (2004, p7), Basisdata adalah bahasa dan alat-alat grafis untuk mendefinisikan entiti-entiti, hubungannya, integrity constraint, dan hak otorisasi. Menurut Paolo (2003, p2), Basisdata adalah sekumpulan data yang digunakan untuk merepresentasikan informasi yang diinginkan dan diimplementasikan ke dalam sistem. Berdasarkan beberapa pendapat diatas disimpulkan bahwa Basisdata merupakan sekumpulan data yang saling berhubungan dan diolah untuk memenuhi kebutuhan suatu organisasi. Dari pengertian diatas dapat disimpulkan bahwa Basisdata mempunyai beberapa kriteria penting, yaitu: 1.Bersifat data oriented dan bukan program oriented. 2.Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basisdatanya. 3.Dapat dikembangkan dengan mudah, baik volume maupun strukturnya. 4.Dapat memenuhi kebutuhan sistem–sistem baru secara mudah. 5.Dapat digunakan dengan cara–cara yang berbeda. 6.Prinsip utama basisdata adalah pengaturan data dengan tujuan utama fleksibilitas dan kecepatan dalam pengambilan data kembali. Adapun tujuan Basisdata diantaranya adalah sebagai berikut: 1.Kecepatan dan kemudahan (Speed) 2.Efisiensi ruang penyimpanan (Space) 3.Keakuratan (Accuracy) 4.Ketersediaan (Availability) 5.Kelengkapan (Completeness)
14 6.Keamanan (Security) 7.Kebersamaan pemakaian (Sharebility). Menurut Date (2000,p19), Tingkatan struktur data dalam basis data antara lain : 1. Field adalah unit terkecil dari data record yang disimpan dalam basisdata. 2.Record adalah kumpulan field–field yang disimpan, yang saling berelasi membentuk data yang mempunyai arti. 3.File (tabel atau relasi) adalah kumpulan seluruh occurrence dari satu tuple record tersimpan. 4.Database : kumpulan terintegrasi dari occurrence file atau tabel yang merupakan representasi data dari suatu model enterprise.
2.1.6 Pengertian Sistem Basisdata Menurut Date (2000,p5), Sistem Basisdata merupakan sistem penyimpanan record yang terkomputerisasi. Dengan kata lain Sistem Basisdata merupakan sistem penyimpanan informasi yang terkomputerisasi sehingga memudahkan pemakainya untuk mengambil kembali dan memperbaharui informasi tersebut. Menurut Hansen et al (1996, p12), Sistem Basisdata adalah sebuah piranti lunak yang mempunyai fungsi Database Management System (DBMS) untuk memanipulasi database, perangkat keras dan personal yang tepat.
15 2.1.7 DBMS (Database Management System) 2.1.7.1 Pengertian DBMS Menurut Connolly dan Begg (2002, p16), DBMS (Database Management System) adalah sebuah sistem piranti lunak yang membolehkan pengguna mendefinisikan, membuat, memelihara, dan mengontrol pengaksesan ke basisdata. Menurut Kadir (1998, p17), DBMS (Database Management System) adalah sebuah program komputer yang digunakan untuk memasukkan, memanipulasi, mengubah, dan memperoleh data atau informasi dengan praktis dan efisien. Menurut Whitten (2004, p554), DBMS (Database Management System) adalah perangkat lunak yang dapat digunakan untuk membuat, mengakses, mengontrol, dan mengatur suatu basisdata dinamakan sistem manajemen basisdata, biasa disebut dengan database management system, disingkat DBMS. Berdasarkan beberapa pendapat diatas disimpulkan bahwa DBMS merupakan sebuah software yang digunakan untuk menciptakan, memelihara, memasukkan, menghapus serta mempermudah pengguna untuk memperoleh data yang dibutuhkan.
2.1.7.2 Sejarah DBMS DBMS yang pertama berdasarkan pada metode hirarki dari pengurutan data. Sistem yang pertama kali merupakan eksistensi dari struktur file COBOL. Bagaimanapun juga pendekatan hubungan database ditemukan oleh E.F. Codd yang menjadi metode dominan dari penyimpanan dan pengambilan data. Kesadaran menyimpan dan memanipulasi data telah menjadi fokus perhatian pengguna komputer sejak awal. DBMS bertujuan umum pertama dirancang oleh
16 Charles Bachman sekitar awal tahun 1960-an. DBMS yang dirancang disebut Integrated Data Storage. DBMS ini menggunakan model data jaringan. Pada akhir tahun 1960-an IBM mengembangkan IMS DBMS (Information Management System DBMS) menggunakan model data hirarki yang sampai saat ini masih dipakai.
2.1.7.3 Komponen-komponen dalam lingkungan DBMS Menurut Connolly dan Begg (2002, p18), DBMS memiliki 5 komponen, yaitu: 1. Perangkat keras (Hardware) DBMS membutuhkan perangkat keras untuk menjalankannya. Contoh: single personal computer, single mainframe. 2. Perangkat lunak (Software) Karena seluruh kendali DBMS akan dilakukan oleh program aplikasi maka DBMS harus dapat dihubungkan ke program-program aplikasinya. 3. Data Data yang digunakan oleh suatu organisasi harus didesain sedemikin rupa sehingga mudah digunakan. 4. Prosedur (Procedure) Perintah-perintah yang harus dilakukan untuk menjalankan DBMS ini. 5.Faktor manusia (People) Ini adalah masalah keterkaitan perilaku orang yang menggunakan sistem (user) dengan sistem DBMS yang sudah didesain sebelumnya. Manusia yang terlibat dengan sistem, termasuk dalamnya adalah : database administrator, perancang database, pengembang aplikasi dan pemakai akhir.
17 Komponen- komponen dalam lingkungan DBMS dapat digambarkan sebagai berikut :
Gambar 2.1 Komponen-komponen dalam lingkungan DBMS.
2.1.7.4 Fungsi DBMS Menurut Connolly dan Begg (2002, pp48-52), fungsi- fungsi DBMS adalah: 1. Data Storage, Retrieval and Update Suatu DBMS harus memiliki kemampuan untuk melakukan penyimpanan, penelusuran dan juga mengubah data–data yang ada. 2. A user-accessible Catalog Sebuah DBMS harus dapat memilki sebuah katalog untuk mendeskripsikan data yang disimpan dan juga dapat diakses oleh pengguna. 3.Transaction Support DBMS harus menyediakan suatu mekanisme yang akan menjamin bahwa semua kegiatan update maupun tidak, sesuai dengan transaksi yang dilakukan. 4. Concurrency control services DBMS harus menyediakan mekanisme yang menjamin bahwa basisdata diupdate dengan benar ketika lebih dari satu pemakai mengubah basisdata secara bersamaan. 5. Recovery Services
18 DBMS harus menyediakan mekanisme untuk memperbaiki basisdata yang dalam suatu kesempatan rusak karena suatu hal. 6. Authorization Services DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pengguna yang mempunyai hak yang dapat mengakses basisdata. 7. Support for data communication DBMS harus mampu berintegrasi dengan software komunikasi. 8. Integrity Services DBMS harus menyediakan cara untuk menjamin bahwa data dalam BasisData dan perubahan pada data mengikuti aturan yang telah ditetapkan sebelumnya. 9.Services to promote data independence DBMS harus mencakup fasilitas yang mendukung independensi program dari struktur aktual basisdata. 10.Utility Services DBMS harus menyediakan satu set fasilitas pelayanan.
2.1.7.5 Karakteristik DBMS dan Basisdata Menurut Atzeni (2003,p4), Karakteristik DBMS dan Basisdata yaitu: 1.Database can be large. 2.Basisdata dapat di-share. 3.Basisdata dapat dipakai berulang-ulang, karena lifespan basisdata tidak terbatas pada eksekusi program. 4.DBMS mendukung realibility karena DBMS menyediakan fungsi-fungsi untuk backup dan recovery.
19 5.DBMS menjamin kerahasiaan data melalui authorization. 6.DBMS juga memperhatikan efisiensi. 7.DBMS dapat meningkatkan efektifitas.
2.1.7.6 Keuntungan dan Kerugian dari DBMS Menurut Connolly dan Begg (2002, pp25-29), Keuntungan dari penggunaan DBMS antara lain: 1.Dapat menghindari data-data sama yang disimpan berulang kali (control of data redundancy). 2.Data menjadi lebih konsisten. 3.Bisa didapat informasi yang lebih banyak dari kumpulan-kumpulan data-data yang sama, dengan permasalahan tertentu. 4.Data-data yang sama dapat digunakan bersama-sama oleh user-user yang berbeda-beda (shared data). 5.Meningkatkan keterkaitan antar data. 6.Meningkatkan keamanan. 7.Membuat suatu standar. 8.Meningkatkan efisiensi kebutuhan. 9.Kebutuhan-kebutuhan yang berbeda-beda dapat dipenuhi dengan mudah. 10. Meningkatkan kemampuan akses data dan kecepatan prosesnya. 11. Meningkatkan produktivitas. 12. Memudahkan perawatan data. 13. Meningkatkan keamanan pada data yang dipakai bersama-sama. 14. Mempermudah fungsi back-up dan recovery.
20 Menurut Connolly dan Begg (2002, pp29-30), Kekurangan dari penggunaan DBMS antara lain: 1. Proses di dalamnya lebih rumit. 2. Mempunyai kapasitas yang lebih besar jika dibandingkan oleh masing-masing file pada File Based System. 3. Harganya lebih mahal. 4. Membutuhkan biaya tambahan untuk perangkat keras jika DBMS yang digunakan menuntut penggunaan jenis perangkat keras tertentu. 5. Membutuhkan proses-proses tambahan jika ingin mengubah format-format dari suatu jenis DBMS ke DBMS jenis lain. 6. Kehandalan (kecepatan proses), jika suatu DBMS didesain untuk penggunaan yang sangat umum maka kecepatan prosesnya menjadi lambat. 7. Dampak yang lebih berat jika terjadi kesalahan.
2.1.8 DDL (Data Definition Language) Menurut Connolly dan Begg (2002, p40), DDL (Data Definition Language) adalah suatu bahasa yang memperbolehkan Database Administrator (DBA) atau user untuk mendefinisikan entity, atribut, dan relationship yang dibutuhkan oleh suatu aplikasi serta menambahkan fungsi-fungsi khusus tertentu untuk mempermudah atau meningkatkan keamanan datanya.
21 2.1.9 DML (Data Manipulation Language) Menurut Connolly dan Begg (2002, p41), DML (Data Manipulation Language) adalah suatu bahasa yang melakukan operasi-operasi standar pada data yang ada di dalam database. Pengoperasian data yang akan dimanipulasi biasanya meliputi: 1.Penambahan data baru ke dalam database. 2.Mengubah data yang disimpan ke dalam database. 3.Pemanggilan data yang terdapat di dalam database. 4.Penghapusan data dari database.
22 2.1.10 Siklus Hidup Database
Gambar 2.2. Siklus Hidup Database
2.1.10.1 Database Planning Menurut Connolly dan Begg (2002,p273), Database Planning adalah merencanakan bagaimana tahap-tahap dari lifecycle dapat direalisasikan dengan cara yang paling efisien dan efektif. Perencanaan basisdata harus terintegrasi dengan sistem informasi: 1.Identifikasi rencana dan tujuan perusahaan dengan menentukan sistem informasi yang diperlukan.
23 2.Evaluasi sistem informasi yang sekarang digunakan untuk menentukan kelemahan dan kekuatannya. 3.Penilaian tentang peluang IT yang mungkin menghasilkan keuntungan yang kompetitif. Metodologi untuk mengatasi tiga hal tersebut di atas, yaitu: 1. Database Planning – Mission Statement Mission Statement untuk database project mendefinisikan tujuan utama dari aplikasi database. Mengarahkan database project, biasanya mendefinisikan perintah tugas (mission statement). Mission statement membantu menjelaskan kegunaan dari database project dan menyediakan alur yang lebih jelas untuk mencapai efektifitas dan efisiensi penciptaan dari suatu aplikasi database yang diinginkan. 2. Database Planning – Mission Objectives Ketika mission statement telah didefinisikan, maka mission objectives didefinisikan. Setiap objective (tujuan) harus mengidentifikasikan tugas khusus yang harus didukung oleh database. Dapat juga disertai dengan beberapa informasi tambahan yang menspesifikasikan pekerjaan yang harus diselesaikan. Sumber daya yang digunakan dan biaya untuk membayar kesemuanya itu. Perencanaan database
juga
harus
meliputi pengembangan standar
pengmpulan data, bagaimana penetapan format, dokumentasi yang diperlukan, bagaimana design dan implementasi diproses.
24 2.1.10.2 System Definition System definition menspesifikasikan jangkauan dan batasan dari aplikasi basisdata, penggunaanya, dan lingkungan aplikasi. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi database dari perspektif aturan kerja khusus (seperti: manajer, atau supervisor) atau area aplikasi perusahaan (seperti: marketing, personnel, atau stock control). Aplikasi database memiliki satu atau lebih user view. Identifikasi user view membantu memastikan bahwa tidak ada pengguna utama dari suatu basisdata yang terlupa ketika pembuatan aplikasi baru yang dibutuhkan. User views juga membantu dalam
pengembangan
aplikasi
basisdata
yang
rumit
atau
kompleks
memungkinkan permintaan-permintaan dipecah ke dalam bagian-bagian yang lebih sederhana.
2.1.10.3 Requirements Collection and Analysis Proses pengumpulan dan analisa informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basisdata dan menggunakan informasi ini untuk mengidentifikasikan kebutuhan pengguna pada sistem baru. Pada bagian ini dilakukan pengumpulan dan analisa informasi mengenai bagian-bagian dari enterprise yang akan menggunakan atau terkait dengan basisdata yang akan dibuat. Untuk itu digunakan teknik yang disebut Fact Finding Technique. Terdapat dua teknik fact finding yang umum digunakan (Connolly dan Begg, 2002,p305): 1.Wawancara
25 Keuntungan dari Wawancara yaitu: a. Mengizinkan interviewee untuk menjawab secara bebas dan secara terbuka terhadap masalah. b. Mengizinkan interviewee untuk merasakan bagian dari proyek. c. Mengizinkan interviewer untuk follow up pada komentar yang menarik yang dibuat oleh interviewee. d. Mengizinkan interviewer untuk beradaptasi atau reward pertanyaan ketika interview. e. Mengizinkan interviewer untuk observasi bahasa tubuh interviewee. Kerugian dari Wawancara yaitu: a. Waktu terbatas dan costly, oleh sebab itu kurang praktis. b. Sukses adalah tergantung pada cara komunikasi dari interview. c. Sukses dapat tergantung pada kemauan dari interviewee untuk berpartisipasi pada interview. 2.Observasi Keuntungan dari Observasi yaitu: a. Mengizinkan validitas dari fakta dan data untuk dikoreksi. b. Observer dapat melihat secara langsung apa yang telah diselesaikan. c. Observer dapat juga mendapatkan deskripsi data dari lingkungan physical dari task. d. Relatively inexpensive. e. Observer dapat melakukan pekerjaan penilaian. Kerugian dari Observasi yaitu:
26 a. Orang mungkin akan mengenali atau tidak mengenali perform secara beda ketika di observe. b. Kemungkinan adanya kehilangan tasks observing dalam involving level yang berbeda atau kesulitan atau volume experienced secara normal dalam beberapa waktu. c. Beberapa tasks tidak selamanya dapat di bentuk di manner dimana mereka observe. d. May be impractical.
2.1.10.4 Database Design Menurut Connolly dan Begg (2002,p279), Database design adalah proses membuat sebuah desain untuk sebuah sistem basisdata yang mendukung kegiatan operasional suatu perusahaan. Pada bagian ini dibagi menjadi tiga tahap yaitu konseptual, logikal, dan fisikal. 1. Perancangan konseptual basisdata Perancangan konseptual merupakan proses konstruksi suatu informasi yang digunakan dalam sebuah organisasi. Fase perancangan konseptual bermula dari pembuatan data model konseptual dari organisasi, yang sepenuhnya bebas mengimplementasikan rincian-rincian seperti mengenal sasaran dari manajemen sistem basisdata (DBMS),
program-program
aplikasi,
bahasa
pemrograman,
perangkat keras, persoalan kinerja, atau pertimbangan fisik lainnya. 2. Perancangan logikal basisdata
platform
27 Perancangan basisdata logikal adalah proses konstruksi suatu informasi yang digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi bebas dari fakta-fakta DBMS dan pertimbangan fisik lainnya. Fase perancangan basisdata secara logikal memetakan model perancangan konseptual pada sebuah model logikal, yang mana dipengaruhi oleh model data untuk target basisdata (Contoh: model relational). Model data logikal adalah sumber informasi bagi fase perancangan fisik dengan wahana untuk pembuatan penjualan yang sangat penting untuk sebuah perancangan basisdata yang efisien. 3. Perancangan fisikal basisdata Perancangan basisdata secara fisik yang merupakan proses pembuatan deskripsi dari implementasi basisdata pada media penyimpanan sekunder dan fase ini mendeskripsikan dasar relasi, berkas organisasi dan indeks untuk mencapai pengaksesan data yang efisien dan beberapa batasan hubungan yang utuh dan tingkatan keamanan. Fase perancangan basisdata secara fisik memperbolehkan perancangan membuat keputusan-keputusan berdasarkan pada bagaimana basisdata diimplementasikan. Agar, perancangan fisikal ditoleransi untuk sebuah sistem manajemen basisdata yang spesifik. Ada timbal balik antar perancangan logikal dan fisikal, karena keputusan-keputusan yang diambil selama perancangan fisikal mengembangkan kinerja yang bias mempengaruhi model data logikal.
28 Menurut Connolly dan Begg (2002, pp279-280), ada beberapa pendekatan dalam desain database : 1.Top-down Diawali dengan pembentukan model data yang berisi beberapa entiti highlevel dan relationship, yang kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasikan entiti lower level, relationship dan atribut lainnya. Entity-Relationship (ER) modeling adalah cara yang dipakai dalam pendekatan top-down dalam mendesain database yang pertama-tama dimulai dengan mengidentifikasi data-data penting yang disebut dengan entities dan relationship antar data yang mengambarkan hubungan pada model. Tujuan dari penggunaan ER-modeling adalah agar kita dapat memahami dengan jelas mengenai asal dari data dan bagaimana data tersebut digunakan dalam suatu kegiatan. Oleh karena itu, diperlukan model untuk komunikasi secara non-tekhnis dan bebas dari ambiguitas. ER-Diagram (ERD) merupakan hasil dari ER-modeling. 2. Bottom-up Dimulai dari atribut dasar (yaitu, sifat-sifat entiti dan relationship), dengan analisis dari penggabungan antar atribut, yang dikelompokkan kedalam suatu relasi yang merepresentasikan tipe dari entiti dan relationship antar entiti. 3. Inside-out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entiti utama dan kemudian menyebar ke entiti, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi.
29 4. Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Yang akan dipakai dalam skripsi ini adalah Pendekatan database bottom-up. Tujuan utama dari perancangan basisdata, yaitu: 1.Merepresentasikan data dan relationship antara data yang dibutuhkan oleh seluruh area aplikasi utama dan user group. 2.Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data. 3.Menspesifikasi perancangan minimal yang secara tepat disusun untuk memenuhi kebutuhan kinerja yang ditetapkan pada system (misalnya: waktu respon).
2.1.10.5 DBMS Selection Menurut Connolly dan Begg (2002, p284), DBMS Selection yaitu pemilihan DBMS yang sesuai untuk aplikasi-aplikasi basisdata. Berikut ini adalah langkah-langkah utama dalam pemilihan DBMS yaitu: 1.Menggambarkan cangkupan tugas berdasarkan kebutuhan perusahaan. 2.Membuat perbandingan mengenai dua atau tiga produk DBMS. 3.Mengevaluasi produk-produk DBMS tersebut. 4.Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut.
30 2.1.10.6 Application Design Menurut Connolly dan Begg (2002, p287), Perancangan Aplikasi adalah merancang antar muka dan program aplikasi yang menggunakan dan memproses basisdata. Perancangan basisdata dan aplikasi merupakan aktivitas paralel yang meliputi dua aktivitas penting, yaitu: 1.Transaction Design Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi, yang mengakses atau merubah isi dari basisdata. Kegunaan dari desain transaksi adalah untuk menetapkan dan keterangan karakteristik high-level dari suatu transaksi yang dibutuhkan pada basisdata, diantaranya: a. Data yang digunakan oleh transaksi b. Karakteristik fungsional dari suatu transaksi c. Output transaksi d. Keuntungannya bagi user e. Tingkat kegunaan yang diharapkan Terdapat tiga tipe transaksi, yaitu a. Retrieval transaction Digunakan untuk pemanggilan (retrieve) data untuk ditampilkan di layar atau menghasilkan suatu laporan. b. Update transaction Digunakan untuk menambah record baru, menghapus record lama, atau memodifikasi record yang telah ada di dalam basisdata.
31 c. Mixed transaction Meliputi pemanggilan dan perubahan data. 2. User Interface Beberapa aturan pokok dalam pembuatan antar muka pengguna, yaitu: a.Meaningful title, diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form atau report. b.Comprehensible instructions, penggunaan terminology yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan dibutuhkan, maka harus disediakan helpsceen. c.Logical grouping and sequencing of fields, field yang saling berhubungan ditempatkan pada form atau report yang sama. Urutan field harus logis dan konsisten. d.Visually applealing layout of the form/report, tampilkan form atau report harus menarik dan sesuai dengan hardcopy agar konsisten. e.Familiar field labels, penggunaan label yang familiar. f. Consistent terminology and abbreviation, terminology dan singkatan yang digunakan harus konsisten. g.Consistent use of color. h.Visiblespace and boundaries for data-entity fields, jumlah tempat yang disediakan untuk data-entry harus diketahui oleh pengguna. i. Convinient cursor movement, user dapat dengan mudah menjalankan operasi yang diinginkan dengan menggerakkan kursor pada form atau report.
32 j. Error correction for individual characters and entire fields, pengguna dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field. k.Error message for unacceptabel values. l. Optional fields marked clearly. m.Explanatory message for fields, ketika user meletakkan kursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat. n.Completion signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan.
2.1.10.7 Prototyping Membangun model kerja dari aplikasi basisdata yang memperbolehkan perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana sistem akhirnya akan tampak dan berfungsi. Menurut Connolly dan Begg (2002,p261), Ada dua cara strategi membuat prototype yaitu: 1.Requirement Prototyping Mengembangkan prototype untuk menentukan kebutuhan suatu aplikasi basisdata yang dibutuhkan dan ketika kebutuhan dirasakan sudah lengkap maka prototype tersebut tidak digunakan lagi. 2. Evolutionary Prototyping
33 Digunakan untuk tujuan sama, perbedaanya adalah bahwa prototype tidaklah dibuang tetapi dikembangkan lebih lanjut sehingga menjadi aplikasi basisdata tersebut.
2.1.10.8 Implementation Menurut Connolly dan Begg (2002,p292), Implementasi merupakan perwujudan fisik dari basisdata dan desain aplikasi. Implementasi basisdata dicapai dengan membangun Data Definition Language (DDL) dari DBMS yang telah dipilih atau dengan menggunakan Graphical User Interface (GUI), masing-masing menyediakan fungsi ketika menyembunyikan pertanyaan (statement) DDL yang low-level. Peryataan (statement) DDL digunakan untuk menciptakan struktur basisdata dan mengkosongkan file yang terdapat dalam basisdata tersebut. User view juga diterapkan pada langkah implementasi.
2.1.10.9 Data Conversion and Loading Menurut Connolly dan Begg (2002, p293), Data Conversion and Loading adalah Pemindahan data yang ada ke dalam basisdata yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basisdata yang baru.
2.1.10.10 Testing Menurut Connolly dan Begg (2002, p293), Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan mencari kesalahan dan divalidasi untuk kebutuhan yang dispesifikasikan oleh pengguna. Jika data riil diharapkan untuk digunakan, maka adalah penting untuk mempunyai back up. Setelah
34 pengujian diselesaikan, maka sistem aplikasi dan basisdata ini telah siap untuk digunakan.
2.1.10.11 Operational Maintenance Menurut Connolly dan Begg (2002, p293, Pemeliharaan (maintenance), yang melibatkan aktivitas berikut: 1.Monotoring Performance dari sistem. Jika performance jatuh dibawah suatu tingkatan yang bisa diterima, penyetelan atau reorganisasi basisdata mungkin diperlukan. 2. Maintaining dan meningkatkan mutu aplikasi basisdata (ketika diperlukan). Kebutuhan baru disatukan dalam aplikasi basisdata dengan mengikuti langkah-langkah sebelumnya yang terdapat dalam lifecycle.
2.1.11 Tahap-tahap Perancangan Basisdata 2.1.11.1 Perancangan Konseptual Basisdata Fungsi dari tahap ini adalah proses membuat representasi konseptual dari basisdata, termasuk identifikasi entiti-entiti yang penting, relationship, atribut. Pada tahap ini dibagi menjadi beberapa langkah yaitu: Langkah 1 Bangun lokal konseptual data model untuk setiap view. Tujuan dari perancangan basisdata konseptual lokal adalah untuk memproses pembuatan suatu model informasi yang digunakan di dalam suatu organisasi dimana model tersebut tidak bergantung pada perangkat keras lainnya. Langkahlangkah pembuatannya sebagai berikut:
35 Langkah 1.1 Mengidentifikasi tipe-tipe entiti Mengidentifikasi
tipe entiti yang terutama dibutuhkan oleh view.
Mendefinisikan objek utama dimana user mempunyai ketertarikan dengan objek tersebut. Objek-objek ini adalah tipe entiti untuk model. Salah satu metode untuk mengidentifikasi entiti adalah dengan menguji spesifikasi kebutuhan dari user. Dari spesifikasi ini kita mengidentifikasi noun dan noun phrases yang disebutkan. Kita juga dapat melihat objek utama seperti orang, tempat atau konsep dari ketertarikan di luar noun lainnya yang merupakan kualitas dari objek lain. Langkah 1.2 Mengidentifikasi tipe-tipe relasi Tujuan langkah ini adalah untuk mengidentifikasi relasi yang penting antara berbagai tipe entiti yang telah diidentifikasikan. Biasanya, relasi diidentifikasi dengan menggunakan kata kerja atau frase kata kerja. Relasi yang paling umum adalah relasi binary, artinya relasi antar entiti yang persis antara dua entiti saja. Bagaimanapun, harus diperhatikan relasi kompleks yang melibatkan lebih dari dua entiti dan relasi rekursif yang hanya melibatkan satu entiti. Langkah-langkah identifikasi tipe relasi yaitu: a. Gunakan Entity Relationship Diagram (ERD) ERD dapat digunakan untuk mempresentasikan entiti dan relasi antar entiti, sehingga didapat gambaran dari perancangan basisdata yang sedang dikembangkan. b. Tentukan pembatas multiplicity dari tipe relasi
36 Setelah didapat relasi antara entiti maka langkah berikutnya adalah menentukan multiplicity setiap relasi. Jika ada suatu nilai spesifik dari multiplicity maka lebih baik apabila didokumentasikan. c. Periksa bahwa masing-masing entity ikut serta setidaknya dalam satu relasi. Pada saat pembuatan ERD, pastikan bahwa setiap entiti mempunyai minimal satu relasi dengan entit lain maka langkah berikutnya adalah memperhatikan kamus data. Jika sudah memiliki relasi semua, berarti setiap entiti telah memiliki relasi. d. Dokumentasikan tipe relationship. Langkah 1.3 Mengidentifikasi dan menghubungkan atribut dengan tipetipe entiti Mengidentifikasi dan menggabungkan attributes yang dibutuhkan entiti atau relasi, dan mendokumenkan setiap attribute secara detail. Langkah 1.4 Menentukan domain atribut Menentukan domains attributes dalam model konseptual lokal dan mendokumentasikan secara detail setiap domain. Domain merupakan sekumpulan nilai-nilai dari satu atau lebih atribut yang menggambarkan nilainya. Model data yang dibuat menspesifikasikan domain untuk tiap-tiap atribut dan menyertakan: a. Nilai yang diizinkan untuk atribut. b. Ukuran dan format atribut. Langkah 1.5 Menentukan atribut candidate dan primary key Mengidentifikasikan candidate key(s) untuk setiap entiti dan jika terdapat lebih dari satu candidate key pilih satu menjadi primary key.
37
Langkah 1.6 Mempertimbangkan untuk penggunaan konsep pemodelan enhanced Mempertimbangkan
penggunaan
konsep
model
enhanced,
seperti
specialization/generalization, aggregation,dan composition. Specialization merupakan suatu proses memaksimalkan perbedaan antara anggota-anggota sebuah entiti dengan cara mengidentifikasi karakteristik yang membedakan entiti tersebut. Generalization merupakan suatu proses meminimalkan perbedaan antara entiti-entiti dengan cara mengidentifikasi sifat umum entiti. Aggregation menggambarkan relationship ‘has a’ atau ‘is part of’ antara tipe entiti dimana yang satunya mewakili ‘whole’ (seluruhnya) dan yang satunya lagi mewakili ‘part’ (bagian). Composition menggambarkan relationship is a part of (Connolly, 2002, h371). Langkah 1.7 Mengecek redudansi pada model Cek untuk setiap entiti dan attribut terhadap redundancy dalam model. Pada langkah ini, akan menguji data model konseptual lokal dengan melihat secara spesifik, apabila ada redudansi maka dapat dihilangkan dengan dua langkah berikut: a. Menguji kembali hubungan one-to-one. b. Menghilangkan relasi redudansi.
38 Langkah 1.8 Memvalidasi model konseptual lokal dengan transaksi pengguna Menjamin model konseptual dapat mendukung kebutuhan transactions yang dibutuhkan oleh view. Diuji dua pendekatan untuk memastikan model data konseptual lokal mendukung transaksi yang dibutuhkan, dengan cara: a. Mendeskripsikan transaksi-transaksi. Memeriksa seluruh informasi (entiti, relationship, dan atribut) yang dibutuhkan oleh setiap transaksi telah disediakan oleh model, dengan mendokumentasikan setiap kebutuhan transaksi. b. Menggunakan jalur-jalur transaksi. Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi langsung pada ER diagram. Langkah 1.9 Meninjau model konseptual lokal dengan pengguna Melakukan review terhadap model konseptual data lokal dengan user untuk menjamin model telah merepresentasikan user’s view berdasarkan NEED perusahaan.
2.1.11.2 Perancangan Logikal Basisdata Tahap ini memetakan model konseptual ke sebuah model logikal yang dipengaruhi oleh model data yang menjadi tujuan basisdata. Dalam perancangan logikal basisdata, model data yang telah diperoleh dalam perancangan konseptual basisdata diubah dalam bentuk logikal model dimana data yang ada
39 dipengaruhi oleh model data yang menjadi tujuan basisdata (Contoh: relational model). Hal ini dilakukan untuk menterjemahkan presentasi konseptual ke dalam bentuk struktur logik dalam basisdata. Model data logikal merupakan sumber informasi dalam perancangan fisikal basisdata. Pada tahap ini dibagi menjadi beberapa langkah, yaitu: Langkah 2 Bangun dan validasi model data logikal lokal untuk setipa view Adapun tujuan dari langkah ini adalah untuk membangun suatu model data logikal lokal dari suatu model data konseptual lokal yang merepresentasikan perusahaan kemudian memvalidasi model ini untuk memastikan strukturnya benar, dan memastikan bahwa model tersebut mendukung transaksi yang diminta. Langkah 2.1 Menghilangkan fitur-fitur yang tidak sesuai dengan model relational Tujuan langkah ini adalah untuk memperbaiki model data konseptual lokal dengan menghilangkan fitur yang tidak sesuai dengan model relasi. Bagian yang akan dibahas pada langkah ini antara lain: 1. Menghilangkan many-to-many (*:*) tipe relasi binary. Relationship yang mengandung many-to-many (*:*), digantikan dengan dua one-to-many (1:*) relationship, dengan entiti tengah (intermediate entity) berada di antara dua entiti yang lama. 2. Menghilangkan many-to-many (*:*) tipe relasi rekursif Recursive relationship yang ada pada konseptual data model relationship harus dipecah untuk mengidentifikasi sebuah entiti tengah dengan cara menganggap entiti yang terlibat pada relationship ini sebagai
40 dua buah entiti dengan jenis relationship many-to-many (*:*) binary sehingga penyelesaiannya sama dengan penyelesaian pada relationship many-to-many (*:*) binary. 3. Menghilangkan tipe relasi kompleks Dihilangkan dengan cara memecah relationship ini sehingga didapat entiti tengah (intermediate entity). Lalu relasi kompleks ini akan digantikan dengan beberapa one-to-many (1:*) binary relationship. 4. Menghilangkan atribut-atribut multi-valued Cara menghilangkannya adalah dengan memecah atribut ini untuk mengidentifikasikan sebuah entiti. Langkah 2.2 Menentukan relasi untuk model data logikal Tujuan dari langkah ini adalah untuk membuat suatu relasi untuk model data logikal lokal yang merepresentasikan suatu entiti, relasinya, dan juga atribut yang telah diidentifikasi. Dapat juga mendeskripsikan bagaimana relasi dapat diturunkan dari struktur model data antara lain: 1. Tipe entiti kuat 2. Tipe entiti lemah 3. One-to-many (1:*) tipe relasi binary 4. One-to-one (1:1) tipe relasi binary 5. One-to-one (1:1) tipe relasi rekursif 6. Tipe relasi superclass/subclass 7. Many-to-many tipe relasi binary 8. Tipe relasi kompleks 9. Atribut-atribut multi-valued
41 Langkah 2.3 Validasi relasi dengan normalisasi Melakukan validasi relasi model logikal data lokal dengan menggunakan teknik Normalisasi. Menurut Connolly dan Begg (2002, p411), Proses Normalisasi adalah sebuah metode formal yang mengidentifikasikan relasi-relasi berdasarkan primary key (atau candidate key) dan functional dependency diantara atribut-atribut. Salah satu konsep utama yang berhubungan erat dengan normalisasi adalah Functional Dependency (Keterkaitan Fungsional). Functional Dependency mendeskripsikan hubungan antara attributes dalam sebuah relasi. Misalkan, jika A dan B adalah atribut dari relasi R, B dikatakan Functionally Dependent pada A (dinotasikan A B), jika setiap nilai A dihubungkan dengan tepat satu nilai B. (A dan B masing-masing dapat terdiri atas satu atau lebih atribut). Functional Dependency merupakan sifat dari semantik suatu atribut dalam sebuah relasi. Direpresentasikan dalam diagram Determinant dari functional dependency mengacu kepada atribut atau himpunan atribut di sebelah kiri anak panah. Karakteristik utama dari functional dependency yang digunakan dalam normalisasi: a.Mempunyai relationship 1:1 antar atribut di sebelah kiri dan kanan dependency. b.Saling terkait (Hold for all time) Misalnya:
42 staffNo sName dan sName staffNo c.Nontrivial Himpunan inference rules, disebut Armstrong’s axioms, menetapkan bagaimana functional dependency yang baru dapat disimpulkan dari functional dependency yang sudah ada. Misalkan A, B, dan C merupakan subset dari atribut suatu relasi R. Maka Armstrong’s axiomnya adalah: a.Reflexivity Jika B merupakan subset dari A, then AB b.Augmentation Jika AB, maka A,CB,C c.Transitivity Jika AB dan BC, maka AC Proses normalisasi tabel secara detil dibagi menjadi empat tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga dan BCNF. Sebelum bentuk normal pertama terjadi bentuk UNF yaitu Unnormalized Form. Setelah itu baru kita dapa melakukan bentuk normal pertama, kedua, ketiga dan BCNF. Menurut Connolly dan Begg (2002, pp387-411), Proses normalisasi terbagi menjadi beberapa tahapan yaitu: 1.Unnormalized Form (UNF) Menurut Connolly dan Begg (2002, p387); Unnormalized Form adalah sebuah tabel yang mengandung satu atau lebih repeating group.
43 Suatu tabel dikatakan sebagai bentuk yang unnormalized bila di dalamnya terdapat kelompok berulang atau biasa dikenal dengan repeating group. Ada dua pendekatan yang dapat digunakan untuk menghilangkan repeating group dari UNF: a.Pendekatan
pertama,
repeating
group
dihilangkan
dengan
memasukkan data yang dalam kolom-kolom yang kosong pada barisbaris yang mengandung data berulang. Pendekatan ini sering disebut sebagai flattening the tabel. b.Pendekatan kedua, repeating group dihilangkan dengan menempatkan data yang berulang berrsamaan dengan salinan dari atribut key aslinya dalam relasi terpisah. Terkadang UNF dapat mengandung lebih dari satu repeating group, atau repeating group dalam repeating group. Dalam kasus seperti ini, pendekatan ini dilakukan berulang-ulang sampai tidak ada repeating group yang tersisa. 2. Normalisasi Data Pertama (First Normal Form / 1NF) Menurut Connolly dan Begg (2002, p388), First Normal Form adalah sebuah tabel yang di dalam perpotongan kolom dan baris hanya memiliki satu nilai saja. Disebut skema relasi R sebagai First Normal Form jika domain dari seluruh attributnya atomik. 1NF memberikan permintaan yang sangat mendasar pada relasi dan tidak membutuhkan informasi tambahan seperti functional dependency. Untuk mengubah unnormalized table ke 1NF, kita harus mengidentifikasikan dan membuang/memindahkan semua kumpulan data berulang.
44 Untuk mengubah bentuk Unnormalized Form menjadi 1NF, yang harus dilakukan adalah mengidentifikasikan dan menghilangkan kelompok berulang, agar setiap pertemuan antara baris dan kolom berisi satu dan hanya satu nilai. 3. Normalisasi
Data
Kedua
(Second
Normal
Form/2NF).
Menurut Connolly dan Begg (2002, p394), Second Normal Form (2NF) adalah sebuah relasi yang berada dalam bentuk normal pertama dan setiap non-primary-key bergantung penuh (full functionally dependent) pada primary key. 2NF didasarkan pada konsep dari full functional dependency. 4.Normalisasi Data Ketiga (Third Normal Form/3NF). Menurut Connolly dan Begg (2002, p394), Third Normal Form (3NF) adalah tabel yang setiap relasi yang terdapat didalamnya ada didalam first normal form dan second normal form, dimana tidak ada nonprimary-key yang transitive dependent di candidate key. 3NF adalah salah satu solusi untuk memeriksa jika pengubahan mengganggu functional dependency mana saja. Dekomposisi 3NF dapat saja terdiri dari redundansi dalam skema yang terdekomposisi. Relasi skema R ada dalam 3NF berkenaan dengan sekumpulan F dari ketergantungan fungsional jika semua ketergantungan fungsional dalam F dari form α β, setidaknya salah satunya memiliki : a.α β merupakan functional dependency yang diabaikan. b.u adalah superkey bagi R. c. setiap attribute A dalam β α terdapat dalam candidate key untuk R.
45 5.Boyce-Codd Normal Form (BCNF) Menurut Connolly dan Begg (2002, p398), Sebuah tabel dikatakan BCNF, jika dan hanya jika, semua determinant adalah candidate key. Jika sebuah skema relasi ada di dalam BCNF, maka yang menjadi satusatunya nontrivial functional dependency adalah key constraint. Sedangkan jika sebuah relasi ada di dalam 3NF, maka semua yang menjadi nontrivial functional dependency adalah key constraint atau sebelah kananya merupakan bagian dari candidate key. Karena hal inilah maka setiap relasi yang ada di dalam BCNF juga ada di dalam 3NF, namun tidak berlaku hal sebaliknya. Sebuah relasi berpotensi menyalahi aturan BCNF apabila : a.Memiliki dua atau lebih composite candidate key. b.Candidate key dari relasi overlap. Langkah 2.4 Validasi relasi melalui transaksi pengguna Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model data logikal lokal mendukung transaksi yang diminta user. Pada langkah ini, memeriksa bahwa relasi yang dibuat di langkah sebelumnya juga mendukung transaksi ini, dan juga pastikan bahwa tidak ada kesalahan dalam relasi yang telah dibuat. Langkah 2.5 Definisi integrity constraint Menentukan kendala integritas yang diberikan oleh user view (yakni: integritas data, domain atribut constraint, integritas entiti, integritas referensi, dan enterprise constraint).
46 Langkah 2.6 Meninjau model data logikal lokal dengan pengguna Tujuan dari langkah ini adalah untuk memastikan model data logikal lokal dan membuat dokumentasi yang mendeskripsikan model tersebut sebagai representasi yang sesuai dengan keadaan sebenarnya. Langkah 3 Membangun dan memvalidasi model data logikal global Tujuan dari langkah ini adalah untuk mengkombinasikan suatu model data logikal lokal individu ke dalam suatu model data logikal global yang menggambarkan suatu perusahaan. Langkah 3.1 Gabungkan model data logikal ke dalam model global. Proses penggabungan model logikal data lokal kedalam model data global akan mempengaruhi attribut yang digunakan pada model data global perusahaan. Langkah 3.2 Validasi model data logikal global. Melakukan validasi terhadap relasi yang terbentuk pada model logikal data global dengan menggunakan teknik Normalisasi dan review kebutuhan view user transaksi. Langkah 3.3 Perhatikan pertumbuhan ke depan. Menentukan apakah model logikal global database telah mengantisipasi perubahan access data yang terjadi pada jangka panjang. Langkah 3.4 Tinjau kembali model data logikal global dengan pengguna. Proses menjamin model data global adalah benar-benar representasi kebutuhan perusahaan.
47 2.1.11.3 Perancangan Fisikal Basisdata Pada tahap ini memungkinkan perancang basisdata untuk membuat keputusan mengenai bagaimana basisdata akan diimplementasikan. Oleh karena itu, perancangan fisikal basisdata harus disesuaikan dengan DBMS yang spesifikasi. Pada tahapan ini dibagi menjadi beberapa langkah, yaitu: Langkah 4 Penerjemahan model data logikal global untuk DBMS Target Tujuan dari langkah ini adalah untuk membuat suatu skema basisdata relasional dari model data logikal global yang dapat diimplementasikan ke DBMS yang dipakai. Langkah 4.1 Perancangan relasi dasar Tujuan
dari
langkah
ini
adalah
untuk
memutuskan
bagaimana
merepresentasikan relasional dasar yang diidentifikasikan dalam model data logikal global pada DBMS yang dipakai. Untuk memulai proses perancangan basisdata fisik, dengan cara mengumpulkan dan mengasimilasikan suatu informasi tentang relasional yang dirancang selama perancangan basisdata logikal. Informasi tersebut bisa berasal dari kamus data dan definisi dari relasional yang didefinisikan menggunakan Database Design Language (DBDL). Untuk setiap relasional yang diidentifikasi pada model data logikal global, dapat didefinisikan salah satu sebagai berikut: a. Nama dari relasi yang ada b. Suatu daftar untuk atribut yang sederhana c. Primary key, alternatif key dan foreign key d. Suatu daftar dari atribut turunan dan bagaimana mereka dihasilkan. e. Batasan integrasi untuk setiap foreign key yang diidentifikasi.
48 Dari kamus data dari setiap atributnya dapat diketahui: a. Domain atribut yang terdiri dari tipe data, panjang dan berbagai keterangan atribut. b. Suatu nilai default optional untuk atribut c. Apakah atribut bisa diisi nilai NULL Langkah 4.2 Perancangan representasi dari data yang diturunkan Tujuan
dari
langkah
ini
adalah
untuk
memutuskan
bagaimana
merepresentasikan suatu data turunan pada model data logikal global pada DBMS yang dipakai. Atribut yang nilainya didapatkan dengan mengevaluasi atribut lain dikenal sebagai atribut turunan atau kalkulasi. Sebagai contoh: a. Jumlah staff yang bekerja di kantor cabang tertentu b. Total gaji bulanan yang dibayarkan ke seluruh staff. c. Jumlah properti yang ditangani oleh seorang staff. Langkah 4.3 Perancangan enterprise constraint Tujuan dari langkah ini adalah untuk merancang batasan aplikasi untuk DBMS yang dipakai. Perancangan batasan tersebut tergantung dari DBMS yang digunakan, fasilitas yang dipunyai oleh sistem dibandingkan dengan DBMS yang lain. Pada awalnya, jika sistem tersebut mempunyai aturan sesuai aturan standard SQL, beberapa batasan dapat diterapkan. Langkah 5 Perancangan representasi fisikal Tujuan dari langkah ini adalah untuk menentukan organisasi file yang paling optimal untuk menyimpan relasional dasar dan indeks yang diminta untuk performasi yang optimal yang mana erlasi dan data yang ada disimpan dalam penyimpanan sekunder.
49 Langkah 5.1 Analisis transaksi Tujuan dari langkah ini adalah untuk mengerti fungsi dari suatu transaksi yang mana akan dijalankan pada basisdata dan untuk menganalisis transaksi yang penting. Untuk membuat perancangan basisdata fisikal efektif maka perlu mempunyai pengetahuan mengenai transaksi atau query yang akan dijalankan di dalam basisdata. Ini termasuk informasi yang kuantitatif dan kualitatif. Dalam menganalisa transaksi, performansi dapat diidentifikasi sebagai berikut: a. Transaksi yang sering digunakan dan akan berdampak besar terhadap performasi. b. Transaksi yang merupakan transaksi bisnis kritis c. Peak load yaitu durasi waktu dalam harian atau mingguan yang akan mendapatkan banyak permintaan pada basisdata (Connolly, 2002, p486). Langkah 5.2 Pemilihan organisasi file Tujuan dari langkah ini adalah untuk menentukan organisasi file yang efektif untuk setiap relasi dasar. Dalam banyak kasus yang ada, suatu DBMS yang relasional akan memberikan sedikit bahkan tanpa pilihan dalam memilih organisasi file, walaupun beberapa akan mempunyai indeks yang spesifik. Langkah 5.3 Pemilihan Indeks Tujuan dari langkah ini adalah untuk menentukan penambahan indeks yang akan meningkatkan performasi dari suatu sistem. Biasanya pemilihan atribut untuk pengindeksan adalah sebagai berikut: a. Suatu atribut yang digunakan paling sering untuk operasi penggabungan, yang akan membuat penggabungan tersebut lebih efektif.
50 b. Suatu atribut yang digunakan paling banyak untuk mengakses suatu record di dalam relasi yang ada. Ada tiga jenis indeks yaitu: a. Primary indeks Pengindeksan dilakukan pada kolom kunci (key field), yang diurutkan terlebih dahulu secara sekuensial. b. Clustering index Pengindeksan dilakukan pada kolom bukan kunci (non-key field), yang sudah diurutkan terlebih dahulu secara sekuensial. Kolom bukan kunci itu disebut juga dengan clustering attribute (Connolly, 2002, p1155). c. Secondary index Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data (Connolly, 2002, p1155) Langkah 5.4 Estimasi kebutuhan media penyimpanan Tujuan dari langkah ini adalah untuk mengestimasi ukuran kapasitas disk yang diperlukan untuk basisdata. Langkah 6 Desain user view Tujuan dari langkah ini adalah untuk merancang tampilan layar untuk user yang diidentifikasi selama pengumpulan informasi dan analisis dari siklus hidup aplikasi basisdata. Langkah 7 Perancangan mekanisme pengamanan data Database Security merupakan mekanisme yang menjaga database dari serangan/ancaman yang disengaja maupun tidak disengaja.
51 Pertimbangan keamanan tidak hanya diaplikasikan pada data yang ada dalam database. Pelanggaran terhadap keamanan dapat mempengaruhi bagian lain dari sistem, yang akan memberi akibat balik terhadap database. Keamanan database terkait dengan keadaan berikut: 1.Pencurian dan penipuan (theft and fraud) 2.Kehilangan kerahasiaan (loss of confidentiality) 3.Kehilangan keleluasaan pribadi (loss of privacy) 4.Kehilangan integritas (loss of integrity) 5.Kehilangan ketersediaan (loss of availability) Ancaman (threat) adalah segala situasi atau kejadian, baik disengaja maupun tidak disengaja yang dapat menimbulkan efek merugikan terhadap sistem dan berikutnya organisasi. Tindakan terhadap ancaman (Countermeasures–Computer Based Controls). Berbagai tindakan balasan untuk ancaman yang terjadi dikaitkan dengan kontrol fisik sampai dengan prosedur administrative yang menyertakan: 1.Authorisasi (Authorization) Pemberian hal atau wewenang, yang menyebabkan subjek memiliki legitimasi untuk mengakses sistem atau objek-objek dalam sistem. Authentication (Pembuktian Keaslian) Suatu mekanisme yang menetukan apakah user yang mengakses benarbenar user yang dimaksud. 2.View Merupakan hasil dinamis dari satu atau lebih operasi relasional yang dioperasikan pada relasi/tabel dasar untuk menghasilkan relasi/tabel lainnya.
52 View merupakan relasi/tabel virtual yang tidak benar-benar adala dalam database, tetapi dihasilkan berdasarkan permintaan oleh user tertentu pada saat tertentu. 3.Back-up dan Recovery Suatu proses yang secara periodik mengambil salinan database dan log file (dapat juga berupa program) untuk disimpan pada media penyimpanan offline. 4.Integrity Mencegah data dari ketidaksesuaian (invalid) dan mengakibatkan pemberian hasil yang salah. 5.Encryption Penyandian (encoding) data dengan menggunakan algoritma khusus yang membuat data tidak dapat dibaca oleh program tanpa kunci decryption. Langkah 8 Pertimbangkan pengenalan pengontrolan redudansi. Untuk menentukan apakah pengenalan pengontrolan redudansi dengan mengendurkan aturan normalisasi akan meningkatkan unjuk kerja sistem. Langkah 9 Awasi dan atur sistem operasional. Bertujuan untuk memantau operasional sistem dan meningkatkan unjuk kerja sistem untuk memperbaiki keputusan desain yang tidak sesuai atau menggambarkan kebutuhan-kebutuhan
2.1.11.4 Pemilihan DBMS Menentukan DBMS mana yang dapat digunakan sesuai dengan aplikasi yang ditentukan. Karena suatu organisasi memerlukan perluasan atau perubahan pada
53 sistem yang sedang berjalan, maka perlu untuk mengevaluasi produk-produk DBMS yang baru. Tujuannya untuk memilih sebuah sistem yang sesuai dengan kebutuhan perusahaan saat ini maupun di masa yang akan datang, seimbang dengan biaya-biaya yang dikeluarkan dalam pembelian produk DBMS, software maupun hardware tambahan yang dibutuhkan untuk mendukung sistem basisdata, dan biaya-biaya lain yang berhubungan dengan perubahan dan pelatihan pegawai.
2.1.12 Model Entity Relationship 2.1.12.1 Tipe Entiti Entity adalah sesuatu yang dapat diidentifikasikan pada lingkungan kerja user. Entity type adalah sekumpulan objek dengan prioritas yang sama. Entity occurence adalah objek yang unik dari entity type. Model E-R mendefinisikan tipe entiti spesial yang dinamakan weak entity. Weak entity adalah entiti yang keberadaannya tergantung pada keberadaan entiti lain di dalam suatu database. Keberadaan objek–objeknya secara fisik/nyata (physical existence), seperti entity pegawai, rumah, dan pelanggan, atau secara konseptual/abstrak (conceptual existence), seperti entity Inspeksi, Penjualan, dan Peninjauan. Setiap entity type dilambangkan dengan sebuah persegi panjang yang diberi nama dari entity tersebut. Nama entity type biasanya adalah kata benda tunggal. Huruf pertama dari setiap kata pada nama entity ditulis dengan huruf besar. Representasi diagram alir entity type terlihat pada gambar dibawah ini:
54
Gambar 2.3. Contoh dari Entity Type Menurut Connolly dan Begg (2002, p342-343), Tipe entiti dapat diklasifikasikan menjadi : 1. Tipe entiti kuat, yaitu tipe entiti yang keberadaannya tidak bergantung pada entiti lainnya. 2. Tipe entiti lemah, yaitu tipe entiti yang keberadaannya bergantung pada tipe entiti lainnya.
Gambar 2.4 Contoh dari Entiti kuat dan entiti lemah
2.1.12.2 Tipe Relationship Menurut Connolly dan Begg (2002, p334), Tipe Relationship adalah sekumpulan hubungan antar tipe entiti yang memiliki arti. Sedangkan relationship occurrance adalah sebuah hubungan yang dapat diidentifikasikan secara unik, yang meliputi sebuah kejadian (Occurrance) dari setiap tipe entiti di dalam.
55 Tipe relationship digambarkan dengan sebuah garis yang menghubungkan tipe entiti–entiti yang saling berhubungan. Garis tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda panah satu arah di samping nama hubungannya. Biasanya sebuah relationship dinamakan dengan menggunakan kata kerja, seperti mengatur, atau dengan sebuah frase singkat yang meliputi sebuah kata kerja, seperti DisewaOleh. Sedangkan tanda panah ditempatkan di samping nama relationship yang mengindikasikan arah bagi pembaca untuk mengartikan nama dari suatu relationship. Huruf pertama dari setiap kata pada nama relationship ditulis dengan huruf besar. Representasi diagram dari suatu tipe relationship terlihat pada gambar 2.5
Gambar 2.5 Representasi diagram dari tipe relationship
2.1.12.2.1 Derajat dari Tipe Relationship Menurut Connolly dan Begg (2002, p335), Derajat dari tipe relationship adalah jumlah tipe entiti yang ikut serta dalam sebuah relationship. Menurut Connolly dan Begg (2002, p445), Complex tipe relationship adalah sebuah relationship antara tiga atau lebih entiti. Contoh-contoh dari derajat relationship :
56 1.Unary relationship Keterhubungan antar satu tipe entiti, dimana tipe entiti tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Contoh entiti staff yang berperan menjadi supervisor dan staff yang di-supervisor. Contoh :
Gambar 2.6 Contoh Unary Relationship 2.Binary relationship Keterhubungan antar dua tipe entiti. Contoh : binary relationship antara PrivateOwner dengan PropertyForRent yang disebut POwns. Contoh : ‘PrivateOwner owns PropertyForRent’
Gambar 2.7 Contoh Binary Relationship 3.Ternary relationship Keterhubungan antar tiga tipe entiti. Contoh: Ternary Relationship yang dinamakan register, relasi ini melibatkan tiga tipe entiti yaitu Staff, Branch, dan Client. Contoh:
57
Gambar 2.8 Contoh Ternary Relationship 4.Quaternary relationship Keterhubungan antar empat tipe entiti. Contoh: Quaternary relationship yang dinamakan Arranges, relasi ini melibatkan 4 entiti yaitu Buyer, Solicitor, Financial Intstuttion dan Bid. Contoh:
Gambar 2.9 Contoh Quarternary Relationship
2.1.12.2.2 Recursive Relationship Menurut Connolly dan Begg (2002, p337), Recursive Relationship adalah sebuah tipe relationship dimana tipe entiti yang sama ikut serta lebih dari sekali pada peran yang berbeda. Relationship dapat diberikan nama peran untuk menentukan fungsi dari setiap entiti yang terlibat dalam relationship tersebut. Representasi diagram recursive relationship beserta nama perannya terlihat pada gambar 2.10:
58
Gambar 2.10 Representasi diagram recursive relationship beserta nama perannya
Nama peran juga dapat digunakan jika dua buah entiti dihubungkan melalui lebih dari satu relationship. Representasi diagram nama peran yang digunakan pada dua buah entiti terlihat pada gambar 2.11.
Gambar 2.11 Representasi diagram entiti dengan dua relationship berbeda beserta nama peran.
2.1.12.2.3 Batasan Struktural (Structural Constraints) Menurut Connolly dan Begg (2002, p334), Batasan–batasan yang menggambarkan pembatasan pada relationship seperti yang ada pada real
59 world harus diterapkan pada tipe entiti yang ikut serta pada sebuah relationship. Jenis utama dari batasan pada suatu relationship dinamakan multiplicity. Menurut Connolly dan Begg (2002, p334), Multiplicity adalah jumlah occurance yang mungkin terjadi pada sebuah tipe entiti yang berhubungan ke sebuah occurance dari tipe entiti lain pada suatu relationship. Derajat yang biasa digunakan pada suatu relationship adalah binary relationship, yang terdiri atas: 1.One-to-one (1:1) Relationship Setiap relationship menggambarkan hubungan antara sebuah entity occurance pada entiti yang satu dengan sebuah entity occurance pada entiti lainnya yang ikut serta dalam relationship tersebut. 2.One-to-many (1:*) Relationship Setiap relationship menggambarkan hubungan antara sebuah entity occurance pada entiti yang satu dengan satu atau lebih entity occurance pada entiti lainnya yang ikut serta dalam relationship tersebut. 3.Many-to-many (*:*) Relationship Setiap relationship menggambarkan hubungan antara satu atau lebih entity occurance pada entiti yang satu dengan satu atau lebih entity occurance pada entiti lainnya yang ikut serta dalam relationship tersebut.
2.1.12.2.4 Cardinality dan Participation Constraints Multiplicity dibentuk dari 2 macam batasan pada relationship yaitu: 1.Cardinality
60 Menurut Connolly dan Begg (2002, p351), Cardinality adalah nilai maksimum dari relationship occurance yang mungkin terjadi untuk sebuah entiti yang ikut pada suatu relationship. 2. Participation Menurut Connolly dan Begg (2002, p351), Participation menentukan apakah semua atau hanya beberapa entity occurance yang ikut serta dalam sebuah relationship. Participation Constraint dibagi menjadi: a.Mandatory Participation Menurut Connolly dan Begg (2002, p351), Mandatory Participation melibatkan semua entity occurance pada relationship tertentu. b.Optional Participation Menurut Connolly dan Begg
(2002, p351), Optional Participation
melibatkan beberapa entity occurance pada relationship tertentu. Representasi diagram terhadap multiplicity sebagai cardinality dan participation constraints dapat dilihat pada gambar 2.12.
Gambar 2.12 Multiplicity sebagai cardinality dan participation constraints.
61 2.1.12.3 Tipe Atribut Atribut
adalah properti dari entiti atau relationship type.
Atribut
merepresentasikan karakteristik dari suatu identiti yang diwakili. Attribute domain adalah sekumpulan nilai yang dimungkinkan untuk satu atau lebih atribut. Macam-macam atribut antara lain: a.Simple attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independent dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. Contoh dari simple attribute termasuk position and salary dalam entity staff. b.Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independent. Misalkan atribut Address dapat terdiri dari street, city, postcode. c.Single-valued Attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entiti Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian.
d.Multi-valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entiti Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian.
e.Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entiti.
62 2.1.12.4 Tipe Key Menurut Connolly dan Begg (2002,p340), Candidate Key adalah jumlah minimal atribut–atribut yang dapat mengidentifikasikan setiap kejadian/record secara unik. Menurut Connolly dan Begg (2002,p342), Primary Key adalah Candidate Key yang terpilih secara unik untuk mengidentifikasikan setiap kejadian/record dari sebuah tipe entiti. Pada sebuah tipe entiti biasanya terdapat lebih dari satu candidate key yang salah satunya harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut yang diperlukan, dan keunikannya. Menurut Connolly dan Begg (2002, p341), Composite Key adalah Candidate Key yang terdiri dari dua atau lebih atribut. Menurut Whitten (2004, p298) Alternate Key adalah setiap candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key. Menurut Whitten (2004,p301), Foreign Key adalah sebuah entiti yang digunakan pada entiti lainnya untuk mengidentifikasikan sebuah relationship.
2.2 Teori DAD (Diagram Alir Dokumen) Menurut Mulyadi (2001, p66), Bagan yang menggambarkan aliran dokumen dalam suatu sistem informasi disebut dengan bagan alir dokumen. Menurut Mulyadi (2001, pp60-63), Simbol-simbol standar yang digunakan, yaitu:
63 Tabel 2.1 Simbol-simbol pada DAD 1.
Mulai/Berakhir (terminal). Simbol ini untuk menggambarkan awal dan akhir suatu sistem akuntansi.
2.
Dokumen.
Simbol
ini
menggambarkan semua merupakan
formulir
digunakan
jenis dokumen,
yang
digunakan
untuk yang untuk
merekam data terjadinya suatu transaksi. Nama dokumen dicantumkan di tengah simbol. 3.
Dokumen dan tembusannya. 1. Faktur
2.
Simbol ini digunakan untuk menggambarkan dokumen asli dan tembusannya. Nomor lembar dokumen dicantumkan di sudut kanan atas.
4.
Berbagai Dokumen. Simbol ini digunakan untuk menggambarkan berbagai jenis dokumen yang digabungkan bersama di dalam satu paket. Nama dokumen dituliskan di dalam masing-masing simbol dan nomor lembar dokumen dicantumkan di sudut kanan atas simbol dokumen yang bersangkutan. Simbol dalam contoh tersebut menggambarkan faktur penjualan lembar ke-3 dilampiri dengan surat order penjualan lembar
64 ke-1 dan surat muat. 5.
Garis alir (flowline). Simbol ini menggambarkan arah proses pengolahan data. Anak panah tidak digambarkan jika arus dokumen mengarah ke bawah dan ke kanan. Jika arus dokumen mengalir ke atas atau ke kiri, anak panah perlu dicantumkan.
6.
Keputusan. Simbol
ini
keputusan
digunakan yang
harus
untuk
mengambarkan
dibuat
dalam
proses
pengolahan data. 7.
Penghubung pada halaman yang sama. (on-page connector). Dalam menggambarkan bagan alir, arus dokumen dibuat mengalir dari atas ke bawah dan dari kiri ke kanan. Karena keterbatasan ruang halaman diperlukan
kertas
untuk
simbol
menggambar, penghubung
maka untuk
memungkinkan aliran dokumen berhenti di suatu lokasi pada halaman tertentu dan kembali berjalan di lokasi lain pada halaman yang sama. Dengan memperhatikan nomor yang tercantum di dalam simbol penghubung pada halaman yang sama, dapat diketahui aliran dokumen dalam sistem akuntansi yang digambarkan dalam bagan alir.
65 8.
Penghubung pada halaman yang berbeda (off-page connector). Jika untuk menggambarkan bagan alir suatu sistem akuntansi diperlukan lebih dari satu halaman, simbol ini harus digunakan untuk menunjukkan kemana dan bagaimana bagan alir terkait satu dengan lainnya. Nomor yang tercantum di
dalam
simbol
penghubung
menunjukkan
bagaimana bagan alir yang tercantum pada halaman tertentu terkait dengan bagan alir yang tercantum pada halaman yang lain. 9.
Kegiatan manual. Simbol ini digunakan untuk menggambarkan kegiatan manual. Uraian singkat kegiatan manual dicantumkan di dalam simbol ini.
10.
Keying
(typing,
verifiying).
Simbol
ini
menggambarkan pemasukan data ke komputer melalui on-line terminal.
Untuk menggambarkan aliran dokumen dalam sistem tertentu, digunakan simbolsimbol tersebut di atas dalam suatu bagan alir dokumen (document flowchart). Dalam bagan alir, arus dokumen digambarkan berjalan dari kiri ke kanan dan dari atas ke bawah. Arah perjalanan dokumen ini dapat diikuti dengan melihat nomor dalam
66 simbol penghubung pada halaman yang sama (on-page connector) atau nomor dalam simbol penghubung pada halaman yang berbeda (off-page connector). Penggunaan bagan alir lebih bermanfaat dibandingkan dengan uraian tertulis dalam menggambarkan suatu sistem. Manfaat tersebut adalah sebagai berikut: 1.Gambaran sistem secara menyeluruh lebih mudah diperoleh dengan menggunakan bagan alir. 2.Perubahan sistem lebih mudah digambarkan dengan menggunakan bagan alir. 3.Kelemahan-kelemahan dalam sistem
dan
identifikasi
bidang-bidang
yang
memerlukan perbaikan lebih mudah ditemukan dengan bagan alir. 4.Dokumentasi sistem akuntansi dilakukan dengan menggunakan bagan alir.
2.3 Teori STD (State Transaction Diagram) 2.3.1 Object State Menurut Whitten (2004, p662), Object State adalah kondisi objek pada suatu titik pada masa hidupnya. Object State digambarkan seperti terlihat pada gambar 2.18. State (status)
Gambar 2.13 Object State
2.3.2
Definisi STD (State Transition Diagram)
Menurut Whitten (2004,p636), State Transition Diagram adalah alat yang digunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi selama satu sesi pengguna.
67 Menurut Marakas (2006, p135) STD adalah sebuah diagram yang memodelkan bagaimana dua atau lebih proses saling berhubungan satu sama lainnya dalam suatu cakupan waktu. STD digunakan untuk menggambarkan urutan dan variasi screen yang dapat muncul ketika pengguna sistem mengunjungi terminal. Masing-masing screen dianalogikan sebagai sebuah kota. Tidak semua jalan melewati seluruh kota. Bujur sangkar
digunakan
menggambarkan
untuk
aliran
menggambarkan
kontrol
dan
display
menggerakkan
screen. kejadian
Anak
panah
yang
akan
menyebabkan screen menjadi aktif atau menerima fokus. Bujur sangkar tersebut hanya menggambarkan apa yang akan muncul selama dialogue. Arah anak panah menunjukkan urutan munculnya screen-screen tersebut. Sebuah anak panah yang terpisah, masing-masing memiliki nama, digambar untuk setiap arah karena tindakan yang berbeda akan menggerakan aliran kontrol dari dan aliran kontrol ke screen yang ada.
2.3.3 Manfaat STD Menurut Marakas (2006, p135) Manfaat dari STD adalah mengilustrasikan beragam status yang dapat dimiliki oleh sebuah komponen sistem dalam hubungannya dengan kejadian-kejadian atau kondisi-kondisi yang menyebabkan sebuah perubahan dari status yang satu dengan yang lainnya.
2.3.4 Komponen STD Menurut Marakas (2006, p135), Komponen-komponen pembentuk STD adalah:
68 1.State (status) : sebuah kondisi akan keberadaan atau bentuk yang dapat dipilih oleh sebuah sistem komponen. 2.Event (kejadian) atau Transition (transisi) : sebuah aksi atau fenomena atau pemicu yang menyebabkan terjadinya pergantian status.
Transition (transisi) atau Event (kejadian)
Gambar 2.14 Bentuk Transition atau Event (Marakas, 2006, p136)
3.Current State (status sekarang) : status dimana sistem sedang berada saat ini. 4.Final State (status akhir) : status dimana terjadi saat dipicu oleh sebuah kejadian yang menyebabkan tidak adanya jalan keluar atau alternatif lainnya, yang menyebabkan pengakhiran sempurna dari sebuah sistem.
2.4 Pengertian Structured Query Language (SQL) Menurut Connolly dan Begg
(2002, p111). SQL adalah suatu bahasa yang
dirancang untuk operasi pengaksesan data pada struktur relational database yang mentransformasikan input menjadi output yang diinginkan pengguna Operasi pengaksesan data meliputi penyisipan data (insert), pengubahan data (update), pengambilan data (select), dan penghapusan data (delete). Perintah-perintah di atas dilakukan atas permintaan dari pengguna. Menurut Martina (2004, p12), SQL Server 2000 adalah mesin database client/ server yang berbeda dengan database komputer tunggal tradisional yang memakai
69 sistem pemakaian file secara bersama – sama (misalnya dBASE, Microsot Jet, Microsoft Visual FoxPro). SQL Server 2000 mempunyai beberapa edisi. Setiap edisi memberikan performansi dan harga yang berbeda sehingga dapat disesuaikan dengan kebutuhan organisasi dan individu. 1.Edisi Enterprise adalah edisi terlengkap. Edisi ini mendukung 32 CPU dan RAM 64 GB. 2.Edisi Standard cocok dipakai pada organisasi kecil dan menengah. Edisi ini mampu mendukung 4 CPU dan RAM 2 GB. 3.Edisi Personal berisi alat bantu manajemen lengkap dan fungsi–fungsi umum dari edisi standard dan cocok dipakai untuk keperluan pribdi. Edisi ini mendukung dua processor dan performansi dioptimalkan untuk pemakai tunggal dan workgroup kecil serta mampu menangani lima user yang konkuren. 4.Edisi Developer diluncurkan bersama–sama dengan Microsoft Visual dan hanya disarankan untuk pengembangan aplikasi yang memakai Visual Studio. 5.Edisi Desktop Engine (MSDE) mempunyai fasilitas mesin database dasar dari Server 2000. 6.Edisi Windows CE adalah versi SQL Server 2000 untuk alat – alat yang menjalankan Windows CE. Keuntungan dalam menggunakan SQL : a.Merupakan bahasa non-prosedural Cukup menspesifikasikan informasi apa yang dibutuhkan daripada bagaimana mendapatkannya. b.Pada dasarnya mempunyai format yang bebas.
70 c.Dapat digunakan oleh bermacam-macam user, termasuk DBA, manajemen, pembuat aplikasi dan user lainnya. d.Terdapat ISO standard untuk SQL, membuat bahasa formal dan de facto untuk relasional database. Kerugian dalam menggunakan SQL : a.Sintaks-sintaks yang digunakan harus mudah dipahami dan dipelajari.
2.5 Visual Basic.Net (VB.Net) 2.5.1 Sejarah VB.Net Visual basic versi sebelumnya yaitu VB 6, diluncurkan oleh Microsoft pada tahun 1998. Kemudian setelah beberapa tahun, Microsoft memaparkan perkembangan Microsoft .NET dalam PDC (Profesional Developers Converence) di Orlando, Florida, Amerika Serikat pada bulan Juli 2000. Pada bulan Februari 2002 secara resmi Microsoft merilis VS.NET dimana salah satu bahasanya adalah VB.NET. Setahun setelahnya Microsoft merilis VS.NET 2003 dimana sudah menggunakan teknologi .NET Framework.
2.5.2 Alasan Menggunakan VB.NET Microsoft .NET telah didesain dari dasar dengan internet sebagai fokus utamanya. Banyak inovasi baru yang berada dalam platform ini akan mengatasi keterbatasan dari tool-tool dan teknologi lama. Berikut adalah alasan-alasan untuk memilih VB.NET : 1.Menyederhanakan deployment VB.Net mengatasi masalah registrasi COM (Component Object Model).
71 2.Menyederhanakan pengembangan perangkat lunak VB.Net sudah dilengkapi dengan penanganan eksepsi menggunakan kata kunci option strict on untuk menampilkan kesalahan sintaks jika membuat konversi tipe data secara eksplisit yang bisa menyebabkan hilangnya data juga ada penanganan eksepsi menggunakan try..catch..finally. Pada pemrograman database telah disediakan teknologi ADO.NET (ActiveX Data Object untuk .NET) untuk membuat laporan disediakan disediakan Crystal Report. 3.Mendukung penuh OOP. Karakateristik OOP : Inheritance, Encapsulation, dan Polymorphism. 4.Mempermudah pengembangan aplikasi berbasis web baik HTML maupun XML.
2.6 Pengertian Preschool Menurut Kamus Besar Bahasa Indonesia (2002, p1014), Pre School atau Pra sekolah merupakan program untuk anak usia mulai dari 18 bulan sampai 6 tahun. Program pra sekolah ini disampaikan dalam dua bahasa yaitu bahasa Inggris dan bahasa Mandarin sebagai bahasa Pengantar
2.7 Pengertian Penerimaan Siswa Baru Penerimaan adalah penyambutan atau perlakuan sikap terhadap sesuatu yang akan diterima atas persetujuan kedua belah pihak baik itu pemberi dan penerima. Penerima adalah orang yang menerima atas transaksi yang sudah dilakukan dengan pemberi.
72 Salah satu penerimaan yang terjadi dalam kegiatan sekolah adalah penerimaan siswa baru yang dilakukan sebelum siswa masuk ke sekolah. Transaksi penerimaan siswa baru ini biasanya dilakukan oleh pihak sekolah dan orang tua siswa.
2.8 Pengertian Pembayaran Pembayaran adalah berpindahnya hak pemilikan atas sejumlah uang atau dana dari pembayar kepada penerimanya, baik langsung maupun melalui media jasa perbankan. Pembayar adalah seorang atau suatu perusahaan yang bersedia melepaskan hak pemilikannya atas sejumlah uang atau dana kepada penerima. Salah satu pembayaran yang terjadi dalam kegiatan sekolah dan merupakan dana dari sumber sekolah sendiri adalah Sumbangan Pembinaan Pendidikan (SPP) yang diperoleh dari setiap siswa, yang besarnya tergantung pada kategori bagi setiap sekolah. Demi tertibnya pengelolaan dana ini bagi sekolah negeri termasuk perguruan tinggi disetorkan lebih dahulu kepada pemerintah, yang kemudian disalurkan kembali ke sekolah oleh Departemen Pendidikan dan Kebudayaan. Sedang untuk sekolah swasta dikelola sendiri, baik langsung oleh Kepala Sekolah maupun Yayasan atau Badan Penyelenggara Sekolah. Selain pembayaran SPP adapun transaksi pembayaran lain yang diwajibkan oleh Townforkids Preschool yaitu pembayaran pendaftaran siswa baru, pembayaran seragam sekolah, pembayaran buku-buku, pembayaran ekstrakurikuler, pembayaran school bus, pembayaran summer camp, dan pembayaran field trip.
73 2.9 Pengertian Pemesanan Pemesanan adalah proses pesan barang-barang yang tidak tersedia didalam gudang. Pada Townforkids Preschool, pemesanan disini mencakup pemesanan buku dan persediaan seragam sekolah.
2.10 Pengertian Proses Penjadwalan Proses Penjadwalan (timestabling) adalah suatu kegiatan administrative utama pada sebagian besar institusi. Kegiatan operasional institusi akan berlangsung sepenuhnya pada jadwal yang dibuat. Berdasarkan definisi diatas, penjadwalan adalah pengalokasian sumber daya pada objek-objek yang ada pada ruang waktu dan bergantung pada kendala dan sedemikian sehingga sedapat mungkin memenuhi kondisi-kondisi tertentu. Dalam proses penjadwalan, sumber daya yang ada harus dialokasikan secara optimal, efektif dan efisien, serta sedapat mungkin memenuhi kebutuhan yang ada namun biaya yang dikeluarkan harus pantas.
2.11 Pengertian Absensi Siswa, Guru, dan Pegawai Non Guru Dari segi pendidikan, daftar hadir memiliki arti yang tak kalah pentingnya, baik untuk pembinaan suatu pendidikan secara professional maupun dalam memelihara tata tertib atau disiplin secara kontinyu. Pada gilirannya sewaktu-waktu semua data tersebut sangat berguna untuk kegiatan perencanaan, bimbingan dan pengarahan, koordinasi dan komunikasi. Misalnya sulit dilakukan perencanaan yang baik bilamana tidak tersedia data tentang jumlah murid dan guru yang akan dikenai kurikulum tertentu antara lain untuk menetapkan berapa lokal diperlukan setiap tingkatan kelas,
74 siapa saja guru yang akan bertugas di setiap kelas dan bagaimana pengaturannya, serta menentukan siapa saja pegawai non guru yang hadir pada hari tersebut.
2.12 Pengertian Penilaian Mata Pelajaran Siswa Belajar dan mengajar sebagai suatu proses mengandung tiga unsur yang dapat dibedakan, yakni tujuan pengajaran (instruksional), pengalaman (proses) belajar mengajar, dan hasil belajar. Tujuan instruksional pada hakikatnya adalah perubahan tingkah laku yang diinginkan pada diri siswa. Ditinjau dari sudut bahasa, penilaian diartikan sebagai proses menentukan nilai suatu objek. Untuk dapat menentukan suatu nilai atau harga suatu objek diperlukan adanya ukuran atau kriteria. Misalnya untuk dapat mengatakan baik, sedang, kurang, diperlukan adanya ketentuan atau ukuran yang jelas bagaimana yang baik, sedang, dan yang kurang. Jadi, ciri penilaian adalah adanya objek atau program yang dinilai dan adanya kriteria sebagai dasar untuk membandingkan antara kenyataan atau apa adanya kriteria atau apa seharusnya. Dengan demikian inti penilaian adalah proses memberikan atau menentukan nilai kepada objek tertentu berdasarkan suatu kriteria tertentu. Penilaian hasil belajar adalah proses pemberian nilai terhadap hasil-hasil belajar yang dicapai siswa dengan materi-materi tertentu. Hal ini mengisyaratkan bahwa objek yang dinilainya adalah hasil belajar siswa. Hasil belajar siswa pada hakekatnya adalah perubahan tingkah laku. Dalam penilaian hasil belajar, peranan tujuan instruksional yang berisi rumusan kemampuan dan tingkah laku yang diinginkan dikuasai siswa dan guru dalam mencapai tujuan-tujuan
75 pengajaran. Dalam penilaian ini dilihat sejauh mana keefektifan dan efisiennya dalam mencapai tujuan pengajran atau perubahan tingkah laku siswa.
2.13 Pengertian Penjualan Menurut Mulyadi (2001, p204), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa, baik secara kredit atau tunai. Menurut Romney (2003, p157), penjualan merupakan suatu set rekursif dari kegiatan bisnis dan operasi pemrosesan informasi terkait yang dihubungkan dengan penyediaan barang dan pelayanan pelanggan dan penerimaan pembayaran dari penjualan tersebut. Dari pengertian diatas dapat disimpulkan bahwa penjualan adalah suatu aktivitas perusahaan yang utama dalam memperoleh pendapatan, baik untuk perusahaan besar maupun perusahaan kecil. Penjualan merupakan sasaran akhir dari kegiatan pemasaran. Pada bagian ini terjadi penetapan harga melalui perundingan dan perjanjian serah terima barang, cara pembayaran yang disepakati oleh kedua belah pihak, sehingga tercapai suatu titik kepuasan.
2.14 Pengertian Pembelian Menurut Render (2001, p414), pembelian adalah perolehan barang dan jasa. Secara umum definisi pembelian adalah suatu usaha pengadaan barang atau jasa dengan tujuan yang akan digunakan sendiri, untuk kepentingan proses produksi maupun untuk dijual kembali. Menurut Mulyadi (1997, p299), pembelian merupakan salah satu kegiatan dari aktifitas bisnis yang meliputi oenyediaan barang dari supplier dan juga bagaimana
76 pembayaran akan dilakukan kepada pihak supplier. Transaksi pembelian dapat digolongkan menjadi dua yaitu: pembelian lokal dan pembelian impor. Tujuan pembelian menurut Render (2001, p414), tujuan dari kegiatan pembelian adalah: 1.Membantu identifikasi produk dan jasa yang dapat diperoleh secara eksternal. 2.Mengembangkan, mengevaluasi, dan menentukan pemasok, harga dan pengiriman yang terbaik bagi barang dan jasa tersebut.
2.15 Pengertian Persediaan Menurut Rangkuti (1998, p2) persediaan merupakan sejumlah bahan-bahan, bagianbagian yang disediakan dari bahan-bahan dalam proses yang terdapat dalam perusahaan untuk proses produksi, serta barang-barang jadi atau produk yang disediakan untuk memenuhi permintaan dari konsumen atau langganan setiap waktu. Dengan kata lain persediaan merupakan salah satu unsur yang paling aktif dalam operasi perusahaan yang secara terus menerus diperoleh, diubah, yang kemudian dijual kembali. Jenis-jenis persediaan menurut fungsinya: 1. Batch Stock/Lot Size Inventory Persediaan yang diadakan karena kita membeli atau membuat bahan-bahan atau barang-barang dalam jumlah yang lebih besar dari jumlah yang dibutuhkan saat itu. 2. Fluctuation Stock Persediaan yang diadakan untuk menghadapi fluktuasi permintaan konsumen yang tidak dapat diramalkan.
77 3. Anticipation Stock Persediaan yang diadakan untuk menghadapi fluktuasi permintaan yang dapat diramalkan, berdasarkan pola musiman yang terdapat dalam satu tahun dan untuk menghadapi penggunaan atau penjualan atau permintaan yang meningkat.