BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Data Data merupakan aliran fakta yang mewakili kejadian yang terjadi dalam organisasi atau dalam lingkungan fisik sebelum mereka diatur menjadi sebuah bentuk yang dapat dimengerti dan digunakan oleh pengguna (Laudon, 1998, p7). Sehingga dapat disimpulkan bahwa data adalah fakta yang telah terjadi, memiliki arti, dapat disimpan serta dapat diatur sedemikian rupa sehingga dapat digunakan dalam berbagai tujuan. Secara tradisional, data diorganisasikan ke dalam suatu hirarki yang terdiri atas elemen data ( field ), rekaman ( record ), dan berkas ( file ). Berikut ini penjelasan mengenai elemen data ( field ), rekaman ( record ), dan berkas ( file ), yaitu : 1. Elemen data ( field ) Field merupakan penggabungan dari karakter yang menunjukkan sifat dari seseorang, tempat, benda, atau kejadian. Istilah lain untuk elemen data adalah field, kolom, item, dan atribut. Sebagai contoh, field nama pekerja. 2. Rekaman ( record ) Record adalah gabungan sejumlah elemen data ( fields ) yang saling berhubungan. Dalam sistem basis data relasional, rekaman biasa disebut 9 10 dengan istilah tuple atau baris. Sebagai contoh, pada record pekerja yang akan dibayar dapat berisi field nama, dan field gaji. 3. Berkas ( file ) File merupakan koleksi dari dokumen - dokumen ( records ) data yang saling berhubungan dengan suatu objek. Dalam sistem basis data relasional, berkas mewakili komponen yang disebut tabel atau relasi. Sebagai contoh, sistem pembayaran dapat berisi records pembayaran dari semua pekerja di suatu perusahaan. 2.1.2 Pengertian Database ( Basis Data ) Basis data dan teknologi dalam basis data mengalami perkembangan yang besar seiring dengan berkembangnya penggunaan komputer. Database ( basis data ) dapat diartikan sebagai suatu kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri ( query ) basis data disebut sistem manajemen basis data ( Database Management System, DBMS ). Menurut Connolly, basis data dapat diartikan sebagai suatu kumpulan data yang secara logika saling terkait, dan terdapat uraian mengenai data tersebut, dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi (2002, p14). Sedangkan C.J. Date (2000, p5) adalah suatu sistem yang pada dasarnya menyimpan beberapa record di dalam suatu sistem yang dilakukan secara komputerisasi yang bertujuan untuk memelihara informasi dan untuk membuat informasi tersebut berdasarkan permintaan. Basis data merupakan suatu objek yang 11 kompleks untuk menyimpan informasi terstruktur, yang diorganisir dan disimpan dengan aturan - aturan tertentu sehingga pemakai dapat mengambil informasi tersebut dengan cepat dan efisien. Di dalam sistem basis data, data disimpan dalam bentuk tabel - tabel yang saling berhubungan satu dengan lainnya berdasarkan nilai dari dua kolom yang sama pada kedua tabel tersebut. Keterkaitan seperti ini adalah inti dari basis data relasional. Dalam basis data relasional data dipecah dalam banyak tabel namun dengan adanya relasi antar tabel tersebut memungkinkan baris - baris pada banyak tabel disatukan dan ditampilkan kembali sebagai suatu bentuk informasi bagi pengguna basis data tersebut. 2.1.3 Pengertian Sistem Basis Data Menurut Date (2000, p5), sistem basis data pada dasarnya adalah sistem penyimpanan record yang terkomputerisasi di mana tujuan sebenarnya untuk menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat yang dibutuhkan. Keseluruhan sistem terkomputerisasi itu membolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan. Menurut Fathansyah (1999, p3), di dalam suatu disk, basis data dapat diciptakan, dapat ditiadakan, dan dapat menempatkan beberapa basis data. Adapun operasi-operasi dasar yang dapat dilakukan berkenaan dengan basis data dapat meliputi : 1. create database : pembuatan basis data. 2. drop database ( penghapusan ) : penghapusan basis data. 12 3. create table : membuat tabel dengan mengidentifikasikan tipe data untuk tiap kolom. 4. drop table : untuk membuang atau menghapus tabel beserta semua data yang terkait di dalamnya. 5. insert : menyisipkan satu baris record ke dalam basis data. 6. retrieve atau search : pencarian data dari sebuah tabel. 7. update : mengubah satu baris record dalam basis data. 8. delete : menghapus satu baris record dalam basis data. Menurut Fathansyah (1999, p5), pemanfaatan basis data dapat dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti : 1. Kecepatan dan kemudahan ( Speed ). 2. Efisiensi ruang penyimpanan ( Space ). 3. Keakuratan ( Accurancy ). 4. Ketersediaan ( Availibility ). 5. Kelengkapan ( Completeness ). 6. Keamanan ( Security ). 7. Kebersamaan pemakai ( Sharability ). 2.1.4 Database Management System ( DBMS ) Database Management System ( DBMS ) adalah suatu sistem perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan mengontrol akses ke basis data (Connolly, 2002, p16). Pada intinya DBMS memiliki dua bagian utama, yakni DDL dan DML. Menurut Connolly (2002, p40) Data Definition Language ( 13 DDL ) adalah suatu bahasa yang memperbolehkan database administrator ( DBA ) atau user untuk mendeskripsikan nama dari suatu entitas, atribut, dan relasi data yang diminta oleh aplikasi bersamaan dengan integritas data dan keamanan datanya. Sedangkan untuk memanipulasi data yang tersimpan di dalam basis data menggunakan Data Manipulation Language ( DML ). Definisi dari DML menurut Connolly (2002, p41) adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada dalam basis data. Pengoperasian data yang akan di manipulasi biasanya meliputi : 1. Penambahan data baru ke dalam basis data. 2. Modifikasi data yang disimpan dalam basis data. 3. Pengambilan data yang terdapat dalam basis data. 4. Penghapusan data dari basis data. Sampai saat ini vendor DBMS masih saling bersaing untuk meraih pasar terbaik dengan cara memperbanyak fitur dalam memproses basis data. Informasi sangat penting bagi suatu perusahaan atau organisasi, sehingga sebuah DBMS dituntut untuk memperkuat sistem keamanannya. Saat ini, banyak DBMS yang dilengkapi otentifikasi user sebelum bisa mengakses basis data. Fitur ini berguna untuk mencegah user yang tidak berkepentingan mengakses basis data. 2.2 Teori – teori khusus 2.2.1 Database Application Lifecycle ( DBLC ) Untuk merancang aplikasi sistem basis data diperlukan tahapan - tahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus Hidup Aplikasi Basis Data ( Database Application Lifecycle ) atau disingkat dengan DBLC. Perlu diingat 14 bahwa tahapan dalam DBLC tidak harus berurutan, namun juga melibatkan beberapa pengulangan ke tahapan sebelumnya melalui putaran balik (feedback loops). Tahapan - tahapan tersebut terlihat pada gambar 2.1. Database Planning System Definition Requirements Collection and Analysis Database Design Conceptual Database Design DBMS Selection (optional) Logical Database Design Application Design Physical Database Design Prototyping (optional) Implementation Data Conversion and Loading Testing Operational Maintenance Gambar 2.1 Database Application Lifecycle Sumber : Connolly dan Begg (2002, p272) 15 2.2.2 Database Planning Database planning (perencanaan basis data) adalah aktivitas manajemen yang memungkinkan tingkatan aplikasi database untuk direalisasikan seefisien dan seefektif mungkin. Database planning dilakukan dengan mengidentifikasi database apa yang hendak dibuat atau diperlukan oleh user. Misalnya, perusahaan membutuhkan sebuah aplikasi database karyawan atau staff, maka database yang harus dibuat adalah database yang berkaitan dengan storing identitas karyawan suatu perusahaan. Pada PT CENTRAL SOLE AGENCY, aplikasi data warehouse yang dibuat, membutuhkan database untuk informasi data-data dasar seperti produk, pemasok, dan pelanggan. 2.2.3 Definisi Sistem Definisi sistem adalah suatu proses mendeskripsikan ruang lingkup dan batasan dari aplikasi database dan sudut pandang user secara umum. Sebelum merancang sebuah aplikasi database, harus diidentifikasikan terlebih dahulu batasan-batasan dari sistem yang akan dibuat dan bagaimana sistem tersebut berinteraksi dengan sistem informasi lain dari organisasi. Identifikasinya meliputi investigasi jalannya proses bisnis dan sudut pandang pengguna aplikasi. Definisi sistem yang ada pada skripsi ini mencakup aplikasi data warehouse pembelian, penjualan, retur penjualan, retur pembelian, hutang dan piutang untuk keperluan analisis serta laporan tingkat manajer pada PT CENTRAL SOLE AGENCY. 16 2.2.4 Pengumpulan Kebutuhan dan Analisis Dalam tahap ini dilakukan proses pengumpulan dan analisa informasi tentang bagian organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna terhadap sistem yang baru (Connolly, 2002, p276). Suatu proses resmi dalam menggunakan teknik - teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta - fakta tentang sistem dan kebutuhankebutuhannya dinamakan dengan teknik fact-finding (Connolly, 2002, p302). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu : 1. Memeriksa dokumentasi Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen - dokumen, formulir, laporan, dan berkas yang terkait dengan sistem yang sedang berjalan pada perusahaan. Dengan pemeriksaan ini diharapkan dapat mengetahui data - data apa saja yang akan disimpan di dalam basis data. 2. Wawancara Wawancara bertujuan untuk mengumpulkan fakta - fakta, memeriksa kebenaran fakta yang ada dan mengklarifikasinya, membangkitkan semangat, melibatkan pengguna akhir, mengidentifikasi kebutuhan - kebutuhan, dan mengumpulkan ide - ide dan pendapat (Connolly, 2002, p306). Teknik ini memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda - beda. 17 Keuntungan menggunakan teknik ini menurut Thomas Connolly (2002, p306), antara lain : a. Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka. b. Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek. c. Memungkinkan pewawancara untuk menindaklanjuti komentar komentar menarik yang dibuat oleh orang yang diwawancara. d. Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara. e. Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara. Kerugian teknik ini menurut Thomas Connolly (2002, p306), yaitu: a. Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis. b. Keberhasilannya tergantung pada kemampuan komunikasi pewawancara. c. Keberhasilannya tergantung pada keinginan orang yang diwawancara untuk ikut serta dalam wawancara. 3. Mengamati operasional perusahaan Pengamatan ini memungkinkan untuk ikut serta atau mengamati seseorang melakukan kegiatan untuk mempelajari sistem. Salah satu faktor pengamatan dapat berhasil adalah dengan mencari informasi sebanyak 18 mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut. Keuntungan menggunakan teknik ini, antara lain : a. Validitas fakta dan data dapat diperiksa. b. Pengamat dapat melihat dengan jelas apa yang dikerjakan. c. Pengamat juga dapat memperoleh data yang menjelaskan lingkungan fisik dari tugas yang diberikan. d. Relatif murah. e. Pengamat dapat membuat pengukuran kerja. Kerugian teknik ini, yaitu: a. Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis. b. Dapat terlewat dalam mengamati tugas - tugas yang melibatkan tingkat kesulitan yang lain. c. Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat pengamatan. 4. Penelitian Selain melakukan penelitian yang berasal dari dalam organisasi itu sendiri, dapat juga dilakukan pengumpulan informasi yang berasal dari luar organisasi tersebut. Beberapa contoh sumber informasi tersebut antara lain jurnal komputer, buku - buku referensi, dan internet. Sumber informasi tersebut juga dapat digunakan untuk memecahkan masalah serupa. Keuntungan menggunakan teknik ini, antara lain : 19 a. Dapat menghemat waktu jika solusinya telah tersedia. b. Peneliti dapat mengamati cara orang lain memecahkan masalah yang sama atau menemui kebutuhan yang serupa. c. Membuat para peneliti selalu up-to-date dengan perkembangan baru. Kerugian teknik ini, yaitu : a. Dapat menjadi sangat memakan waktu. b. Membutuhkan akses ke sumber informasi yang tepat. c. Dapat saja tidak membantu memecahkan masalah karena tidak didokumentasikan. 5. Kuesioner Teknik lain yang dapat digunakan untuk mengumpulkan informasi yang dibutuhkan adalah dengan menggunakan kuesioner. Kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta - fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan (Connolly, 2002, p308). Keuntungan menggunakan teknik ini, antara lain : a. Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik - baiknya. b. Tidak mahal untuk mengumpulkan data dari banyak orang. c. Responden lebih mudah untuk memberikan jawaban yang benar karena jawaban yang diberikan dapat dijaga kerahasiaannya. d. Tanggapan dapat ditabulasikan dan dianalisa dengan cepat. 20 Kerugian teknik ini, yaitu: a. Jumlah responden dapat saja rendah, sekitar 5% sampai 10%. b. Kuesioner dapat saja dikembalikan dengan tidak lengkap. c. Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan. d. Tidak dapat mengamati dan menganalisa bahasa tubuh responden. e. Memakan waktu untuk menyiapkan kuesioner. 2.3 Teori Pendekatan Perancangan Basis Data ( Approaches to Database Design ) Teori pendekatan perancangan basis data yang digunakan pada skripsi ini adalah menggunakan pendekatan Top-Down Approach. Pendekatan ini berguna untuk mendesain basis data yang kompleks dengan atribut yang banyak, di mana ditemukan kesulitan untuk membangun semua functional dependencies di antara atribut – atribut yang ada. Pendekatan ini dimulai dengan membangun contoh data ( data model ) yang mengandung sedikit entitas yang penting ( high-level entities ) dan kemudian menerapkan perbaikan top-down untuk mengidentifikasi entitas yang lainnya ( lower-level entities ), hubungan antar entitas ( relationships ), dan atribut yang berkaitan ( associated attributes ). Top-Down Approach diilustrasikan menggunakan konsep dari model hubungan entitas ( Entity Relationship ER model ), dimulai dengan mengidentifikasikan entitas – entitas dan hubungan di antara entitas yang merupakan fokus penting dari perusahaan. 21 2.4 Teori Metodologi Perancangan Basis Data 2.4.1 Perancangan Basis Data Konseptual ( Conceptual Database Design ) Perancangan Basis Data Konseptual adalah proses membangun suatu model informasi yang digunakan oleh perusahaan atau organisasi yang tidak tergantung dari pertimbangan fisik (Connolly, 2002, p419). Langkah pertama : Membuat local conceptual data model untuk setiap pandangan. Bertujuan untuk memecah rancangan menjadi tugas - tugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam suatu organisasi (Connolly, 2002, p421). Pada tahap membuat local conceptual data model, langkah - langkah yang dilakukan adalah sebagai berikut : a. Mengidentifikasi entity types Bertujuan untuk menentukan entity types utama yang dibutuhkan. Menentukan entitas dapat dilakukan dengan memeriksa user’s requirements specification. Setelah terdefinisi, entitas diberikan nama yang tepat dan jelas seperti Mahasiswa, Dosen, atau Mata_Kuliah. b. Mengidentifikasi relationship types Bertujuan untuk mengidentifikasi suatu relationship yang penting yang ada antar entitas yang telah diidentifikasi. Nama dari suatu relationship menggunakan kata kerja ( verb ) seperti mempelajari, memiliki, mempunyai, dan lain - lain. 22 c. Mengidentifikasi dan menghubungkan attribute dengan entity atau relationship types Bertujuan untuk menghubungkan atribut dengan entitas atau relationship yang tepat. Atribut yang dimiliki setiap entitas atau relationship memiliki identitas atau karakteristik yang sesuai dengan memperhatikan atribut berikut : simple/composite attribute, single-valued attribute, dan derived attribute. d. Menentukan attribute domain Bertujuan untuk menentukan attribute domain pada conceptual data model. Contohnya, yaitu, menentukan nilai attribute Jenis_Kelamin pada entitas mahasiswa dengan ‘M’ atau ‘F’ atau nilai atribut SKS pada entitas Mata_Kuliah dengan ‘1’,’2’,’3’, dan ‘4’. e. Menentukan candidate key dan primary key attributes Bertujuan untuk mengidentifikasi candidate key pada setiap entitas dan memilih primary key jika ada lebih dari satu candidate key. Pemilihan primary key didasari pada panjang dari atribut dan keunikan key di masa datang. f. Mempertimbangkan penggunaan Enhance Modelling Concepts ( pilihan ) 23 Pada langkah ini bertujuan untuk menentukan specialization, generalization, aggregation, composition. Di mana masing - masing pendekatan dapat dilakukan sesuai dengan kebutuhan yang ada. Specialization dan generalization adalah proses dalam mengelompokkan beberapa entitas dan menghasilkan entitas yang baru. Beda dari keduanya adalah cara prosesnya, di mana spesialisasi menggunakan proses top-down dan generalisasi menggunakan proses bottom-up. Aggregation menggambarkan sebuah entity types dengan sebuah relationship types di mana suatu relasi hanya akan ada jika telah ada relationship lainnya. g. Mengecek redudansi Bertujuan untuk memeriksa conceptual model untuk menghindari dari adanya informasi yang redundan. Yang dilakukan pada langkah ini adalah : 1. Memeriksa kembali one-to-one relationship (1:1) Setelah entitas diidentifikasikan maka kemungkinan ada dua entitas yang mewakili satu objek. Untuk itu, dua entitas tersebut harus di-merger bersama. Dan jika primary key-nya berbeda maka harus dipilih salah satu dan yang lainnya dijadikan alternate key. 2. Menghilangkan relasi yang mengalami redundansi 24 Untuk menekan jumlah model data, maka relationship data yang redundan harus dihilangkan. h. Memvalidasi conceptual model dengan transaksi Bertujuan untuk menjamin bahwa conceptual data model mendukung kebutuhan transaksi. Dengan menggunakan model yang telah divalidasi tersebut, dapat digunakan untuk melaksanakan operasi secara manual. Ada dua pendekatan yang mungkin untuk menjamin bahwa local conceptual data model mendukung kebutuhan transaksi, yaitu : 1. Mendeskripsikan transaksi Memeriksa seluruh informasi ( entities, relationship, dan attribute ) yang diperlukan pada setiap transaksi yang disediakan oleh model dengan mendokumentasikan penggambaran dari tiap kebutuhan transaksi. 2. Menggunakan transaksi pathways Pendekatan kedua, untuk memvalidasi data model dengan keperluan transaksi yang melibatkan diagram yang mewakili pathways diambil dari tiap transaksi secara langsung yang terdapat pada E-R diagram. E-R diagram menggambarkan komponen - komponen dari entitas dan relasi yang masing-masing dilengkapi dengan atribut atribut yang merepresentasikan seluruh fakta dari ‘real-world’ yang kita tinjau (Fathansyah, 1999, p79). Sedangkan menurut 25 Silberschatz (2002, p42), E-R diagram dapat menyatakan keseluruhan struktur logikal dari basis data dengan menggunakan bagan. i. Melihat kembali conceptual data model dengan pengguna Bertujuan untuk melihat kembali conceptual model dan memastikan bahwa data model tersebut sudah benar. 2.4.2 Perancangan Basis Data Logikal ( Logical Database Design ) Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System ( DBMS ) yang khusus dan pertimbangan fisik lain (Connolly, 2002, p441). Langkah kedua : Membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang merepresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya ( dengan menggunakan teknik normalisasi ) dan menjamin bahwa model tersebut mendukung kebutuhan transaksi. Pada perancangan model logical langkah kedua, tahapan - tahapannya adalah: a. Menghilangkan features yang tidak kompatibel dengan model relasional ( pilihan ) 26 Bertujuan untuk menghasilkan model yang kompatibel dengan model relasional, yaitu dengan : 1. Menghilangkan many-to-many (*:*) binary relationship types Dengan cara memecah relationship yang mengandung manyto-many (*:*) untuk mengidentifikasikan sebuah entitas tengah ( internediate entity) sehingga relationship ini digantikan dengan dua buah one-to-many (1:*) relationship, dengan entitas tengah berada di antara dua buah entitas lama. 2. Menghilangkan many-to-many (*:*) recursive relationship types Jika recursive relationship ada pada conceptual data model, relationship tersebut harus dipecah untuk mengidentifikasikan sebuah entitas tengah dengan cara menganggap entitas lain yang terlibat pada relationship ini merupakan dua buah entity dengan jenis relationship many-to-many (*:*) binary sehingga penyelesaiannya sama dengan penyelesaian pada relationship many-to-many (*:*) binary. 3. Menghilangkan complex-relationship types Dihilangkan dengan memecah relationship ini untuk mengidentifikasi entitas tengah. Kemudian complex relationship ini akan digantikan dengan beberapa one-to-many (1:*) relationship. 4. Menghilangkan multi-valued attributes 27 Dengan cara memecah atribut ini untuk mengidentifikasikan sebuah entitas. b. Memperoleh relasi untuk local logical data model Bertujuan untuk membuat hubungan logical model yang mewakili entitas, relationship, dan atribut yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language ( DDL ) untuk relasi basis data. Dengan menggunakan DDL dapat dibuat spesifikasi nama dari relasi yang diikuti dengan daftar dari relasi atribut yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi. Untuk memperoleh relasi untuk local logical data model, maka diperlukan penjelasan untuk mendeskripsikan struktur yang mungkin dalam data model saat ini. c. Memvalidasi relasi dengan menggunakan normalisasi Menurut Connolly dan Begg (2002, p376), normalisasi adalah sebuah teknik untuk menghasilkan relasi dengan properti - properti yang diinginkan, memberikan kebutuhan data dari sebuah perusahaan. Tujuan normalisasi adalah terjaminnya struktur yang konsisten, kerangkapan yang minimal, dan stabilitas struktur data yang maksimal. Manfaat normalisasi adalah sebagai berikut : 28 1. Meminimalkan jumlah kapasitas penyimpanan yang diperlukan untuk menyimpan data. 2. Meminimalkan resiko data yang tidak konsisten dalam suatu basis data. 3. Meminimalkan kemungkinan update dan delete anomally. 4. Memaksimalkan stabilitas dari struktur data. Proses normalisasi tabel secara detil dibagi menjadi lima tahap sehingga dikenal bentuk - bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat, dan kelima. d. Memvalidasi relasi dengan transaksi pengguna Bertujuan untuk menjamin bahwa relasi dalam logical model tersebut mendukung user’s requirements specification secara detil. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi. e. Mendefinisikan integrity constraints Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan. Terdapat lima tipe integrity constraints yang harus diperhatikan, yaitu : 1. Required data. 2. Attribute domain constraints. 29 3. Entity integrity. 4. Referential integrity. 5. Enterprise constraints. f. Melihat kembali local logical data model dengan pengguna Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model sudah benar. Langkah ketiga : Membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model. Pada perancangan logical model langkah ketiga tahapannya adalah : a. Menggabungkan local logical data model Menghasilkan E-R diagram, skema relasional, kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang harus dikerjakan adalah sebagai berikut : 1. Memeriksa kembali nama dan isi dari entities dari relationships dan candidate key. 2. Memeriksa kembali nama dan isi dari relationships / foreign keys. 3. Menggabungkan entities atau hubungan dari local data model. 4. Mengikutsertakan ( tanpa menggabungkan ) entities atau relationships yang unik pada tiap local data model. 5. Menggabungkan relationship atau foreign key dari local data model. 30 6. Mengikutsertakan ( tanpa menggabungkan ) relationship atau foreign key unik pada tiap local data model. 7. Memeriksa untuk entities ( hubungan ) dan relationships atau foreign key. 8. Memeriksa integrity constraints. 9. Menggambarkan E-R diagram. 10. Melakukan Update dokumen. b. Memvalidasi global logical data model Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi. c. Mengecek pertumbuhan yang akan datang Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga di masa mendatang dan menilai apakah model logikal tersebut dapat menampung atau menyesuaikan perubahan yang terjadi. d. Melihat kembali global logical data model dengan pengguna Bertujuan untuk menjamin model data logikal yang bersifat global telah tepat untuk perusahaan. 2.4.3 Perancangan Basis Data Fisik ( Physical Database Design ) 31 Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan (Connolly, 2002, p478). Langkah keempat : Menerjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplementasikan ke DBMS. Pada perancangan physical model, langkah-langkahnya adalah : a. Merancang basis data relasional Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bisa didapatkan dari kamus data dari DDL. b. Merancang representasi dari data yang diperoleh Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS. c. Merancang enterprise constraints Pada langkah ini bertujuan untuk merancang batasan - batasan yang ada pada perusahaan. 32 Langkah kelima : Merancang representasi physical. Bertujuan untuk menentukan organisasi file yang untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa. Terdapat tiga faktor yang memungkinkan digunakannya representasi physical: 1. Transaction throughput. 2. Response time. 3. Disk storage. Dalam langkah kelima ini perlu untuk memahami system resources untuk meningkatkan performa basis data. 1. Main memory Dengan semakin besar main memory yang ada maka akan dapat meningkatkan performa DBMS dan aplikasi basis data yang digunakan. 2. CPU Mengontrol tugas - tugas dari system resources lain dan mengeksekusi prosesnya. 3. Disk I/O Dengan menggunakan DBMS yang besar, maka disk I/O yang diperlukan sangat signifikan dalam menyimpan dan mengambil data. Untuk menghindari kemacetan transfer data, maka : a. File sistem operasi harus dipisahkan dari file basis data. b. File utama basis data harus dipisahkan dari file indeks. 33 c. File recovery log harus dipisahkan dari basis data yang sedang digunakan. 4. Network Ketika jumlah data yang ditransfer telah banyak, maka dengan menggunakan network sangat dianjurkan. Selain itu juga untuk menghindari dari kemacetan dalam mentransfer data. Langkah-langkah dalam langkah kelima ini adalah: a. Menganalisis transaksi Bertujuan untuk memahami fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasi dalam menganalisa transaksi adalah : 1. Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa. 2. Transaksi yang kritis pada operasi dan bisnis. 3. Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat. b. Memilih file organisasi Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan (Silberschatz, 2002, p422), yaitu : 34 1. Heap. 2. Hash. 3. Index Sequencial. 4. Clusters. c. Memilih indeks Bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Oleh karena itu, pilih atribut yang digunakan adalah : 1. Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien. 2. Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi di dalam urutan yang menunjukkan atribut. d. Memperkirakan kebutuhan ruang penyimpanan Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya, dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data. 35 Langkah keenam : Merancang pandangan pengguna ( user interface ). Bertujuan untuk merancang user interface yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional database lifecycle. Contohnya pada branch terdiri dari interface direktur dan manajer. Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. Menurut Silberszhatz (2002, p239), ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi : 1. Sistem basis data : ada beberapa user berwenang yang diizinkan untuk mengakses bagian basis data tertentu dan ada para user lain yang hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga. 2. Sistem operasi : tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam keamanan sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat keamanan perangkat lunak dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan secara fisik. 3. Jaringan : seluruh sistem basis data memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan software-level dalam software jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi. 36 4. Fisik : situs yang mengandung sistem komputer harus secara fisik aman dari entri yang diam - diam dan bahaya oleh para penyelundup. 5. Manusia : otorisasi pada user harus dilakukan secara hati-hati untuk mengurangi adanya kejadian di mana user yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau yang lainnya. Langkah kedelapan : Mempertimbangkan pengenalan dan redundansi kontrol. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural konsisten dan menekan jumlah redudansi. Faktor yang perlu dipertimbangkan adalah : 1. Denormalisasi membuat implementasi lebih kompleks. 2. Denormalisasi selalu mengorbankan fleksibilitas. 3. Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam updates. Ukuran performa dari suatu perancangan basis data dapat dilihat dari sudut pandang tertentu, yaitu melalui pendekatan efisiensi data (Normalisasi) atau pendekatan efisiensi proses ( denormalisasi ). Efisiensi data dimaksudkan untuk meminimalkan kapasitas disk, dan efisiensi proses dimaksudkan untuk mempercepat proses saat retrieve data dari basis data. Langkah kesembilan : Memonitor dan memasang sistem operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan performa, dan 37 menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 2.5 Perancangan Data Warehouse 2.5.1 Pengertian Data Warehouse Data warehouse terdiri dari sistem komputasi yang digunakan untuk menyimpan informasi dengan memperhatikan aktivitas organisasi dalam basis data. Data warehouse didesain berfungsi untuk analisis sehingga didapat informasi strategis dan memfasilitasi pengambilan keputusan. ( www.bambooweb.com ) Menurut Poe (1996, p24), data warehouse adalah basis data yang bersifat analisis yang digunakan sebagai landasan dalam sistem pendukung keputusan. Data warehouse dirancang untuk data yang hanya dapat dibaca ( read-only data ), yang memungkinkan akses secara intuitif ke informasi yang akan digunakan dalam pengambilan keputusan. Menurut Inmon (2002, pp31-35), data warehouse adalah kumpulan data yang mendukung pengambilan keputusan manajemen yang berkarakteristik subject oriented, integrated, nonvolatile, dan time-variant. 2.5.2 Perancangan Data Warehouse Pada penelitian ini menggunakan metodologi menurut Kimball (Connoly,2002,p1083), yaitu : 1. Pemilihan proses ( choosing the processs ) Melakukan pemilihan proses yang mengacu pada materi subyek yang dibutuhkan oleh data mart. Pada tahap ini ditentukan pada proses bisnis apa 38 data warehouse akan digunakan. Tahap ini akan menjadi sumber dari penetuan measurement. 2. Pemilihan grain ( choosing the grain ) Menentukan secara tepat apa yang di presentasikan oleh record tabel fakta. Pada tahap ini akan ditentukan detail data yang bisa didapatkan dari model dimensional. 3. Idetifikasi dan konfirmasi dimensi ( identifying and confirming the dimensions) Membuat set dimensi yang dibutuhkan untuk menjawab seluruh pertanyaan yang diajukan pada tabel fakta. Set dimensi ini membuat data mart di mengerti dan mudah digunakan. Dimensi harus menggambarkan sejelas mungkin dan memperkuat grain. Tabel dimensi berisi data yang menggambarkan dimensi dari bisnis. Pada model dimensional, hubungan dari measurement diwakili dalam tabel dimensi. Hubungan dari measurement juga dapat berupa karakteristik seperti siapa, apa, dimana, kapan, bagaimana dari measurement. Jika proses bisnisnya adalah penjualan, karakteristik dari measurement jumlah penjualan bulanan dapat berupa lokasi ( dimana ), waktu ( kapan ) dan produk yang terjual (apa). Dimension atribut adalah kolom di tabel dimensi. Pada dimensi lokasi, atributnya dapat berupa Kode Lokasi, Kota, Negara, Kode Pos. Secara umum, atribut dimensi digunakan dalam label dalam laporan dan batasan dalam query. 39 4. Pemilihan fakta ( choosing the facts ) Pemilihan tabel fakta yang dapat mengimplikasikan semua grain yang digunakan pada data mart. Pada tahap ini akan diidentifikasi apakah measurement yang diperlukan, fakta harus berupa angka adan harus memperkuat grain yang ditetapkan pada tahap dua. Pada model dimensional, tabel fakta berisi measurement atau fakta dari proses bisnis. Jika proses bisnisnya adalah penjualan maka, measurement dari proses bisnis ini misalnya jumlah penjualan per bulan yang ditampung di dalam tabel fakta. Sebagai tambahan pada measurement, hal lain yang dimuat di dalam tabel fakta adalah foreign key untuk tabel dimensi. 5. Penyimpanan pre-calculation di table fakta ( Storing pre-calculation in the fact table ) Setelah tabel fakta terpilih, setiap tabel fakta tersebut harus diperiksa ulang untuk menetukan apakah ada fakta-fakta yang dapat diterapkan prekalkulasi dan kemudian dilakukan penyimpanan pada tabel fakta. 6. Memastikan tabel dimensi ( Rounding out the dimension tables ) Pada tahap ini dilakukan pemeriksaan ulang pada tabel dimensi dan menambahkan deskripsi teks terhadap dimensi, serta menetukan hierarki atribut dimensi untuk mempermudah proses analisis. Gambaran teks haruslah mudah digunakan dan dimengerti oleh user. 7. Pemilihan durasi database ( Choosing the duration of database ) 40 Menetukan waktu periode database untuk beberapa tahun kebelakang. Pada beberapa perusahaan ada kebutuhan untuk melihat data pada waktu yang sama, tetapi setahun atau dua tahun sebelumnya. Tabel fakta yang sangat besar menyebabkan sedikitnya dua permasalahan desain data warehouseyang signifikan, yaitu : • Pertama, menimbulkan kesulitan untuk menyimpan data lama. Semakin lama data, semakin besar kemungkinan ada masalah dalam membaca dan meninterpretasikan data lama tersebut • Kedua, adalah penggunaan dimensi-dimensi lama yang penting yang dapat menyebabkan slowly changing dimension yang akan dijelaskan pada langkah berikutnya. 8. Tracking SCD ( Slowly Changing Dimension ) Dimensi berubah secara perlahan seiring berjalannya waktu dan kebutuhan. Tiga tipe Slowly Changing Dimension, yaitu : • Tipe 1 : Dimana perubahan atribut dimensi di-overwrite • Tipe 2 : Dimana perubahan atribut dimensi menyebabkan pembentukan record dimensi baru • Tipe 3 : Dimana perubahan atribut dimensi menyebabkan pembentukan atribut pengganti ( kolom baru ), jadi baik nilai lama dan nilai baru dari atribut tersebut dapat diakses secara bersamaan pada record dimensi yang sama. 41 9. Penentuan prioritas dan metode query ( Deciding the query priorities and the query modules ) Pada tahap ini dilakukan pertimbangan perancangan fisikal, seperti keberadaan dari summaries ( ringkasan ) dan aggregate ( penjumlahan ). Selain itu, masalah administrasi, back-up, kinerja index dan keamanan juga merupakan faktor yang harus diperhatikan. Isu rancangan kritis database fisikal mempengaruhi persepsi penggunaan akhir terhadap data mart. 2.5.3 Kegunaan Data Warehouse Data warehouse biasanya digunakan untuk melakukan empat tugas yang berbeda, yaitu : 1. Pembuatan Laporan Penggunaan sederhana dalam data warehouse dapat menghasilkan informasi per tahun, per bulan, per minggu bahkan per hari. 2. Online Analytical Processing ( OLAP ) Data warehouse digunakan untuk melakukan analisis bisnis guna menyelidiki kecenderungan pasar dan faktor penyebabnya. 3. Data Mining Penggunaan data warehouse dalam pencarian pola dan hubungan data, dengan tujuan membuat keputusan bisnis. Dalam hal ini, software dirancang untuk pola statistik dalam data untuk mengetahui kecenderungan yang ada. 42 4. Proses Informasi Eksekutif Data warehouse digunakan untuk mencari informasi summary kunci yang penting, dengan tujuan membuat keputusan bisnis, tanpa harus ada menjelajahi keseluruhan data yang ada. 2.5.4 Karakteristik Data Warehouse Berikut karakteristik yang spesifik dari sebuah data warehouse : a. Subject Oriented Informasi pada data warehouse ditampilkan menurut subjek atau area peminatan yang spesifik. Data dimanipulasi sedemikian rupa sehingga dapat menyediakan informasi mengenai sebuah objek secara khusus. b. Integrated Data warehouse menyediakan beragam kemampuan dari berbagai sumber tunggal informasi dan dapat dimengerti area-area peminatan yang banyak sehingga menampung informasi dari beragam subjek. Untuk menciptakan subyek area yang berguna, sumber data yang berasal dari beberapa sistem yang berbeda terlebih dahulu harus terintegrasi sebelum digabungkan ke dalam sebuah data warehouse. Sebagai contoh, terdapat empat aplikasi yang menyimpan kode jenis kelamin dalam basis data secara berbeda. Aplikasi A menyimpan kode jenis kelamin dalam bentuk ‘m’ untuk laki-laki dan ‘f’ untuk perempuan, sedangkan aplikasi B dalam bentuk ‘1’ dan ‘0’, aplikasi C dalam bentuk ‘x’ dan ‘y’, aplikasi D dalam bentuk 43 ‘male’ dan ‘female’. Melalui proses integrasi dihasilkan kode jenis kelamin yang seragam untuk data warehouse, yaitu ‘m’ dan ‘f’. Untuk lebih jelasnya dapat dilihat pada gambar berikut ini : Gambar 2.2 Aspek Terintegrasi dari Data Warehouse Sumber : Inmon, (2002, p33) c. Non-Volatile Informasi yang stabil tidak akan berubah begitu saja setiap kali eksekusi proses operasional terjadi. Proses update, insert dan delete biasanya dilakukan pada OLTP dengan basis record. Tetapi manipulasi data pada data warehouse lebih sederhana. Hanya ada 2 macam operasi dalam data warehouse yaitu loading data dan akses data. Dalam data warehouse tidak ada proses update terhadap data. Untuk lebih jelasnya dapat dilihat pada gambar berikut : 44 Gambar 2.3 Aspek Nonvolatile Data Warehouse Sumber : Inmon (2002, p34) d. Time-Variant Data warehouse mengandung histori sebuah subjek sama seperti informasi terkini. Informasi historikal merupakan komponen yang penting dari sebuah data warehouse. Data yang tersimpan dalam data warehouse bersifat time variant atau bersifat akurat pada periode tertentu. Karakteristik dasar data dalam data warehouse sangat berbeda dengan data pada OLTP, di mana data hanya akurat untuk waktu sesaat setelah data diakses, sedangkan data pada data warehouse akurat selama periode waktu tertentu, maka dikatakan memiliki perbedaan waktu / rentang waktu (time variance). 45 Gambar berikut ini menunjukkan karakteristik time variant data warehouse. Gambar 2.4 Aspek Time Variant Data Warehouse Sumber : Inmon (2002, p35) Time variant pada data warehouse dapat ditunjukkan pada beberapa cara, yaitu : 1. Dengan adanya data yang akurat selama jangka waktu tertentu, yaitu 5 sampai 10 tahun. 2. Struktur key, baik secara eksplisit maupun implisit memiliki elemen waktu, seperti hari, minggu, bulan, dan tahun. Elemen waktu ini biasanya terletak di bawah key pada data warehouse. 46 3. Tidak dapat di-update setelah selesai dibuat. Pada data operasional, karena bersifat akurat pada beberapa waktu pengaksesan, maka data warehouse dapat di-update bila perlu. e. Accessible Fungsi utama dari sebuah data warehouse adalah untuk menyediakan informasi yang siap diakses oleh end-user. f. Process Oriented Adalah penting untuk menganggap data warehouse sebagai proses untuk menghantarkan informasi. Perawatan (Maintenance) dari sebuah data warehouse pada umumnya akan terus berlanjut (out going) dan sifatnya iteratif (iterative). 2.5.5 Anatomi Data Warehouse Menurut Inmon (2002, pp38-40), Penerapan awal dari arsitektur data warehouse dibuat berdasarkan konsep bahwa data warehouse mengambil data dari berbagai sumber dan memindahkannya ke dalam sebuah pusat pengumpulan data yang besar. Konsep ini sebetulnya lebih cenderung pada sebuah lingkungan main frame yang terpusat. Keunggulan teknologi client-server memungkinkan data warehouse diterapkan dalam berbagai macam cara untuk menampung kebutuhan pemakai sistem secara lebih proposional. Misalnya, pemakai tertentu perlu menggabungkan data dari sebuah sistem pengumpulan data yang statis, dengan data dari sistem operasional yang dinamis hanya dalam sebuah query saja. 47 Berikut ini adalah tiga jenis dasar sistem data warehouse: 1. Data Warehouse Fungsional (Functional Data Warehouse). 2. Data Warehouse Terpusat (Centralized Data Warehouse). 3. Data Warehouse Terdistribusi (Decentralized Data Warehouse). 2.5.5.1 Data Warehouse Fungsional ( Functional Data Warehouse ) Data Warehouse Fungsional mempergunakan pendekatan kebutuhan dari tiap bagian fungsi bisnis, misalnya departemen, divisi, dan sebagainya, untuk mendefinisikan jenis data yang akan ditampung di dalam sistem. Setiap unit fungsi dapat mempunyai gambaran datanya masing-masing. Penerapan jenis sistem pengumpulan data seperti ini beresiko kehilangan konsistensi data di luar lingkungan bisnis bersangkutan. Apabila pendekatan ini lingkupnya diperbesar dari lingkungan fungsional menjadi lingkup perusahaan, konsistensi data perusahaan tidak lagi dapat dijamin. Sebab utama dipergunakan pendekatan seperti ini adalah bahwa sistem ini dapat memberi solusi yang mudah untuk dibangun dengan biaya investasi yang relatif rendah dan dapat memberikan kelompok pemakai sebuah kemampuan sistem pengumpulan data yang terbatas. 2.5.5.2 Data Warehouse Terpusat (Centralized Data Warehouse) Data Warehouse Terpusat adalah pendekatan yang paling banyak digunakan, sebagian besar karena keterbiasaan pemakai dengan lingkungan main frame yang terpusat. Data diambil dari seluruh sistem operasional dan disimpan di dalam pusat penyimpanan data. Pemakai kemudian bekerja dengan mempergunakan data yang telah terkumpul tersebut untuk membangun Data 48 Warehouse Fungsional masing - masing. Keuntungan sistem ini dibandingkan dengan Data Warehouse Fungsional adalah bahwa data benar - benar terpadu. Sistem ini mengharuskan pemasok data harus mengirimkan data tepat pada waktunya agar supaya tetap konsisten dengan pemasok lainnya. Di samping itu, pemakai hanya dapat mengambil data dari bagian pengumpulan saja, dan tidak dapat secara langsung berhubungan dengan pemasok datanya sendiri. 2.5.5.3 Data Warehouse Terdistribusi (Decentralized Data Warehouse) Data Warehouse Terdistribusi dikembangkan berdasarkan konsep data warehouse “gateway” yang memungkinkan pemakai untuk langsung berhubungan dengan sumber data maupun dengan pusat pengumpul data lainnya. Gambaran pemakai atas data adalah berupa gambaran logis karena data mungkin diambil dari berbagai sumber yang berbeda. Pendekatan ini mengandalkan keunggulan teknologi client-server untuk mengambil data dari berbagai sumber. Pendekatan ini memungkinkan tiap departemen atau divisi untuk membangun pengumpul data fungsionalnya masing - masing atau bahkan sistem operasionalnya dan memadukan bagian - bagian tersebut dengan teknologi client-server. Pendekatan ini memerlukan biaya yang sangat besar karena setiap sistem pengumpulan data fungsional dan sistem operasinya dikelola secara terpisah. Di samping itu, supaya berguna bagi perusahaan data harus disinkronisasikan untuk memelihara keterpaduannya. Metode ini akan sangat efektif apabila data telah tersedia dalam bentuk yang konsisten dan pemakai ingin dapat menambah data tersebut dengan informasi baru apabila ingin membantu gambaran baru atas informasi. 49 2.5.6 Struktur Data Warehouse Data warehouse memiliki struktur yang berbeda di mana terdapat beberapa tingkat summary dan umur data. Struktur data warehouse dapat dilihat pada gambar 2.5. Gambar 2.5 Struktur Data Warehouse Sumber : Inmon (2002, p36) 2.5.7 Komponen-Komponen Struktur Data Warehouse Komponen-komponen struktur data warehouse adalah : 1. Current Detail Data Data ini merupakan data terkini. Jumlah datanya berukuran sangat besar karena datanya memiliki level granularity (tingkat keringkasan) yang paling 50 rendah. Data ini selalu disimpan dalam media penyimpanan yang memiliki kecepatan akses tinggi, namun mahal dan kompleks pengaturannya. 2. Older Detail Data Data ini merupakan data historis yang disimpan pada media penyimpanan yang terpisah dengan current detail data. Penamaan media penyimpanan sebaiknya mencerminkan umur dari data untuk memudahkan pengaksesan kembali. 3. Lightly Summarized Data Data ini merupakan ringkasan atau rangkuman dari current detail data. Data ini dirangkum berdasarkan periode waktu atau dimensi lainnya sesuai dengan kebutuhan. 4. Highly Summarized Data Data ini merupakan ringkasan atau rangkuman yang dihasilkan dari lightly summarized data. 5. Metadata Metadata memegang peranan penting dan istimewa dalam data warehouse. Peranan metadata, yaitu : a. Sebagai directory untuk membantu pengguna data warehouse menempatkan isi data dan mengetahui lokasi data dalam data warehouse. b. Sebagai panduan untuk menempatkan (mapping) data pada saat data 51 ditransformasikan dari OLTP ke dalam lingkungan data warehouse. c. Sebagai panduan untuk menghasilkan rangkuman dari current detailed data menjadi lightly summarized data dan dari lightly summarized data menjadi highly summarized data. 2.5.8 Data Warehouse Dataflow Berdasarkan pendapat Connoly dan Begg ( 2002, p1057 ), data warehousing focuses on the management of five primary data flows, namely the inflow, downflow, outflow dan metaflow, yang artinya datawarehouse memusat pada manajemen 5 arus data primer antara lain : 1. Inflow adalah proses ekstrasi, pembersihan dan pengisian data dari sistem sumber ke dalam data warehouse. 2. Upflow adalah proses di mana di dalamnya terdapat nilai tambahan ke data dalam gudang melalui peringkasan, mempaket dan distribusi data. 3. Downflow adalah proses mengambil dan memback up data dalam gudang. 4. Outflow adalah proses membuat data agar tersedia bagi end user. 5. Metaflow adalah proses memanajemen meta data ( berdasarkan pendapat Inmon ( 2002, p393 ) meta data (1) data about data, (2) the description of structure, content, keys, indexes, etc; of data ) 2.6 Skema Bintang ( Star Scheme ) 2.6.1 Pengertian Skema Bintang Menurut Poe (1996, p120), skema bintang adalah suatu desain basis data yang paling sering digunakan untuk merealisasikan sebuah data warehouse, 52 memiliki struktur sederhana dengan tabel - tabel yang relatif dan penggabungan yang telah diketahui. Skema ini memungkinkan respon yang cepat dalam menentukan query dan pemahaman yang mudah bagi analisis dari end-user, maupun pemakai yang tidak biasa dengan struktur basis data. 2.6.2 Keuntungan Skema Bintang Beberapa keuntungan skema bintang, yaitu : a. Membentuk rancangan basis data yang memberikan waktu respon yang cepat. b. Menghasilkan suatu rancangan yang dapat dimodifikasi dengan mudah sesuai dengan perkembangan data warehouse tersebut. c. Dapat menyamakan persepsi antara user dan data warehouse sehingga dapat berguna bagi user. d. Mempermudah pemahaman dan navigasi metadata baik bagi pemakai atau pengembang. e. Memperluas pilihan front-end tools dalam pengaksesan data, sebagai beberapa produk yang memerlukan rancangan skema bintang. 2.6.3 Perancangan Skema Bintang Skema bintang terdiri dari 2 macam tabel, yaitu : 1. Tabel Fakta Tabel fakta sering disebut major table, merupakan inti dari skema bintang dan berisi data aktual yang akan dianalisis. Field - field di tabel fakta 53 disebut measure yang biasanya berupa numerik yang selalu berisikan foreign key dari masing-masing tabel dimensi. 2. Tabel Dimensi Tabel Dimensi disebut juga minor table, merupakan tabel dari skema bintang yang menyediakan jenis perspektif dari cara pandang terhadap data. Tabel dimensi mempunyai field-field dari level hirarki tabel dimensi. Nama dari field-field biasanya digunakan nama dari level dalam suatu hirarki. 2.6.4 Jenis Skema Bintang Ada beberapa jenis skema bintang, yaitu : 1. Simple–star Schema Dalam simple-star schema atau skema bintang sederhana, tabel fakta atau tabel yang merupakan hasil summarized sebagai input bagi data warehouse, terdiri dari satu atau beberapa foreign key. Sebuah foreign key adalah sebuah kolom dalam suatu tabel yang nilainya ditentukan oleh primary key dari tabel lain. Pada gambar 2.6 akan terlihat hubungan antara tabel fakta dan tabel dimensi terdiri dari satu tabel fakta dan tiga tabel dimensi. Tabel utama memiliki primary key yang terdiri dari tiga foreign key, yaitu kunci-1, kunci2, dan kunci-3, yang masing-masing merupakan primary key di tabel dimensi masing - masing. Di sini terjadi hubungan many to one antara foreign key pada tabel fakta dengan primary key pada tabel dimensi. 54 Gambar 2.6 Hubungan Antara Tabel Dimensi pada Skema Bintang Sederhana Sumber : Poe (1996, p124) 2. Multi Star Schema Skema bintang juga dapat terdiri dari banyak tabel fakta. Hal ini terjadi karena mereka berisi kenyataan yang tidak saling berhubungan atau karena perbedaan waktu pemuatan data, di samping itu juga dapat meningkatkan penampilan. Terutama jika data tersebut dalam jumlah besar. Kegunaan lain dari tabel fakta adalah untuk mendefinisikan hubungan many-to-many dari suatu tabel dimensi tertentu. Bentuk tabel seperti ini biasanya disebut tabel asosiasi. Tabel ini dibuat untuk menyelaraskan hubungan banyak ke banyak antara dimensi yang berbeda. Gambar 2.7 Skema Bintang Dengan Lebih dari Satu Tabel Fakta Sumber : Poe (1996, p126) 55 Pada gambar 2.7 terlihat bahwa dua tabel fakta dan tiga tabel dimensi. Di sini hubungan many-to-one antara foreign key pada kedua fakta tersebut dengan primary key pada masing-masing tabel dimensi. 2.7 Skema Snowflake Pada snowflake, prinsip dasarnya tidak jauh berbeda dari skema bintang. Snowflake merupakan variasi lain dari skema bintang di mana tabel dimensi dari skema bintang di organisasi menjadi suatu hirarki dengan melakukan normalisasi. Skema snowflake dibuat berdasarkan OLTP sehingga semua data akan termuat detil dalam setiap tabel fakta dari tabel dimensi. Keuntungan dari skema snowflake terletak pada kecepatan memindahkan data dari data OLTP ke dalam metadata. Salah satu variasi yang ada pada skema bintang adalah menyimpan seluruh informasi tabel dimensi dalam bentuk normal ke tiga. Sementara fakta tetap dalam keadaan semula. Hal ini biasanya disebut dengan skema snowflake yang ditunjukkan pada gambar 2.8. Ciri-ciri skema snowflake adalah : 1. Tidak ada level di tabel dimensi. 2. Tabel dimensi dinormalisasi dengan dekomposisi pada level atribut. 3. Setiap dimensi mempunyai satu key untuk setiap level pada hirarki dimensi. 4. Kunci level terendah menghubungkan tabel dimensi dengan tabel fakta dan tabel atribut berlevel terendah. 56 Gambar 2.8 Skema Bintang Snowflake Sumber : Poe (1996, p129) 2.8 Agregasi Agregasi adalah proses perhitungan data fakta selama pendefinisian atribut. Agregasi dapat dibuat selama proses transformasi berlangsung dan pada saat pemuatan data ke dalam data warehouse. Agregasi dapat juga berarti proses mengkombinasi beberapa objek menjadi satu bentuk objek yang baru. Menurut Poe (1996, p136), faktor yang mendorong pembuatan agregasi : 1. Meningkatnya penampilan pencarian ( searching ). 2. Mengurangi jumlah penggunaan kode produk universal. Suatu agregasi yang baik dapat dibuat untuk digunakan oleh 300 user dalam satu hari, karena akan lebih dimanfaatkan jika dibandingkan dengan membuat agregasi yang membutuhkan waktu 2 jam tapi hanya digunakan sekali dalam satu tahun oleh satu user saja. 57 Salah satu teknik yang harus dicatat pada saat pemuatan data warehouse, kita tetap membutuhkan teknik basis data klasik, seperti partisi tabel secara fisik. Hal ini menjadi penting bilamana data warehouse mencapai gigabyte data. 2.9 Matriks 2.9.1 Pengertian Matriks Matriks merupakan sebuah tabel yang terdiri dari kolom dan baris, serta menunjukkan hubungan tertentu antara kolom dan baris. Kolom mewakili fungsi tertentu, demikian pula halnya dengan baris. Apabila ada hubungan antara fungsi tertentu dari kolom dengan fungsi tertentu dari baris, maka titik temunya diberi tanda centang ( V ), Sedangkan apabila tidak ada tanda, maka dianggap tak ada hubungan secara langsung. 2.9.2 Prosedur Dalam Membuat Analisis Menggunakan Matriks Terdapat empat prosedur yang digunakan dalam membuat analisis menggunakan matriks, yaitu : 1. Membuat analisis top level dari data perusahaan a. Menentukan subjek data. b. Dijabarkan ke dalam bentuk entitas. c. Membuat diagram awal hubungan antar entitas. d. Membuat matriks fungsi bisnis versus entitas. e. Membuat matriks unit organisasi versus entitas. 2. Menentukan enterprise mode 58 a. Wawancara dengan pihak manajemen untuk menentukan enterprise model. b. Membuat presentasi kepada pihak manajemen tentang enterprise model yang sudah diperbaiki. c. Menentukan matriks entitas versus fungsi bisnis. d. Menentukan matriks entitas versus unit organisasi. e. Meminta persetujuan enterprise model. 3. Mengelompokkan matriks fungsi a. Menggunakan algoritma clustering. b. Mengumpulkan ke depan semua fungsi create dalam entitas. c. Memasukkan fungsi - fungsi yang lain dan entitas ke dalam cluster. d. Mengelompokkan secara manual untuk mengetahui sistem yang ada. e. Menentukan alur data dari sistem yang satu ke sistem yang lain. f. Membuat diagram hubungan yang menunjukkan hubungan antar sistem. g. Menyusun kelompok - kelompok tersebut untuk menyederhanakan interaksi antar sistem. 4. Mengelompokkan matriks fungsi untuk menunjukkan area bisnis sebenarnya : 59 a. Mengatur matriks fungsi yang telah dikelompokkan ke dalam bentuk batasan - batasan analisis bisnis. b. Menempatkan semua fungsi ke dalam area bisnis. c. Menentukan lokasi geografis untuk setiap area bisnis. d. Mengatur area bisnis sehingga area - area tersebut saling berhubungan. 2.10 Data Mart 2.10.1 Pengertian Data Mart Berdasarkan pendapat Connoly dan Begg (2002, p106), Data mart diartikan sebagai suatu subset gudang data yang mendukung kebutuhan departemen atau fungsi bisnis tertentu. Berdasarkan pendapat McLeod, Jr. (2001, p191), Data mart adalah basis data yang berisi data yang menjelaskan satu segmen operasi perusahaan. Data mart adalah subset dari data warehouse. Data mart biasanya digunakan oleh satu departemen atau grup user dalam perusahaan untuk mendefinisikan serangkaian tugas. Data yang ada di dalam data mart merupakan subset data yang ditemukan dalam data warehouse. 2.11 Perbedaan Antara Data Mart dengan Data Warehouse Berdasarkan pendapat Connoly dan Begg (2002, p1067), karakteristik yang membedakan data mart dan data warehouse antara lain : 1. Data mart memusat pada kebutuhan para pemakai yang berhubungan dengan satu departemen atau fungsi bisnis. 60 2. Data mart tidak secara normal berisi rincian data operasional, tidak sama dengan data warehouse. 3. Data mart berisi lebih sedikit data dibandingkan dengan data warehouse, data mart jadi lebih mudah dipahami. Ada beberapa pendekatan membangun data mart. Salah satu pendekatan untuk membangun beberapa data mart adalah untuk pengintegrasian yang akhirnya ke dalam suatu warehouse, pendekatan yang lain adalah pembangunan infrastruktur untuk suatu perusahaan data warehouse pada waktu yang sama dalam membangun satu atau lebih data mart untuk segera mencukupi kebutuhan bisnis. Arsitektur data mart dapat dibangun seperti two-tier atau three-tier aplikasi database. Data warehouse adalah tier pertama yang opsional ( jika data warehouse menyediakan data tersebut untuk data mart ). Data mart adalah tier yang kedua, dan pemakaian yang terakhir adalah tier yang ketiga. 2.12 Entity Relationship Modelling 2.12.1 Entity type Entitas ( entity ) adalah kumpulan objek dengan sifat - sifat sama yang diidentifikasikan oleh perusahaan dan mempunyai keberadaannya sendiri. Entitas dilambangkan dengan sebuah kotak yang dibubuhi nama dari entitas tersebut didalam kotak tersebut. Dalam UML huruf pertama entitas selalu menggunakan huruf kapital. Entitas ada dua jenis, yaitu : a. Strong entity : keberadaanya tidak bergantung pada entitas lain. b. Weak entity : keberadaanya bergantung pada entitas lain. 61 2.12.2 Relationship type Sekumpulan asosiasi yang artinya mempunyai satu atau lebih tipe entitas. Setiap tipe relasi diberikan nama yang menggambarkan fungsinya. Representasi diagram dari tipe relasi ditunjukkan dengan garis yang menghubungkan tipe entitas yang berasosiasi dan diberi label dengan nama relasi. 2.12.2.1 Derajat tipe relasi Entitas yang dilibatkan dalam tipe relasi tertentu dinyatakan sebagai partisipan pada relasi tersebut. Jumlah partisipan pada tipe relasi disebut derajat relasi. Relasi dengan derajat dua disebut binary. Relasi dengan derajat tiga disebut ternary. Relasi dengan derajat empat disebut quaternary. 2.12.2.2 Relasi rekursif Merupakan tipe relasi di mana tipe entitas yang sama berpartisipasi lebih dari sekali dengan peranan yang berbeda. 2.12.3 Atribut Merupakan property dari sebuah tipe entitas atau tipe relasi. Contohnya, tipe entitas Pegawai, bisa memiliki atribut nomor pegawai, nama pegawai, jabatan, dan gaji. Atribut dapat dikelompokkan sebagai berikut : 2.12.3.1 Atribut Sederhana dan Komposit Atribut sederhana merupakan atribut yang terdiri dari satu komponen tunggal dengan keberadaannya sendiri, sehingga tidak dapat dipecah menjadi 62 komponen - komponen yang lebih kecil lagi. Contoh atribut sederhana meliputi jabatan dan gaji dari entitas Pegawai. Atribut komposit merupakan atribut yang dibentuk dari banyak komponen. Contohnya, atribut alamat dapat dipecah menjadi atribut jalan, kota, dan kode pos. 2.12.3.2 Atribut Single – Valued dan Multi – Valued Atribut Single – Valued merupakan atribut yang menyimpan nilai tunggal untuk setiap entitas. Kebanyakan atribut adalah Single – Valued. Atribut Multi – Valued merupakan atribut yang menyimpan banyak nilai untuk setiap entitas. 2.12.3.4 Atribut Turunan Atribut Turunan merupakan atribut di mana nilainya diperoleh atau diturunkan dari nilai atribut atau sekumpulan atribut lainnya, dan tidak harus dari tipe entitas yang sama. 2.12.4 Keys 2.12.4.1 Simple Key Simple Key suatu kunci yang dibentuk oleh satu atribut. 2.12.4.2 Composite Key Composite Key merupakan candidate key yang terdiri atas dua atau lebih atribut, di mana nilai dari atribut tersebut bila digabungkan secara 63 bersama - sama baru akan dapat mengidentifikasikan sebuah record unik untuk tipe entitas tersebut. 2.12.4.3 Candidate Key Candidate Key merupakan sekumpulan minimal atribut yang secara unik untuk mengidentifikasi setiap kemunculan tipe entitas. 2.12.4.4 Primary Key Primary Key merupakan key yang terpilih secara unik untuk mengidentifikasi setiap kemunculan tipe entitas. 2.12.4.5 Alternate Key Alternate Key merupakan candidate key yang tidak dapat dipakai sebagai kunci primer ( primary key ). 2.12.4.6 Foreign Key Foreign Key merupakan suatu atribut yang melengkapi satu hubungan ( relationship ) yang menunjukkan ke induknya. 2.13 Normalisasi Merupakan serangkaian test dari sebuah relasi untuk menentukan apakah relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form yang diberikan (Connolly, 2002, p376). 64 2.13.1 Proses Normalisasi Teknik normalisasi menyangkut sebuah rangkaian aturan yang digunakan untuk memeriksa sebuah relasi, sehingga sebuah basis data dapat dinormalisasi dalam beberapa tahap. Normalisasi biasanya dijalankan seperti sekumpulan langkah secara bertahap, di mana relasi menjadi semakin kuat bila langkah ( degree ) yang dikenakan padanya semakin tinggi. 2.13.1.1 Bentuk Normal Kesatu ( 1NF ) Mengidentifikasi dan membuang atribut yang berulang ( repeating group ) dan memiliki nilai yang lebih dari satu. Suatu hubungan dikatakan normal pertama jika : a. Setiap dari baris dan kolom berisi attribute yang bernilai tunggal. b. Primay key telah ditentukan. c. Atribut nilai banyak ( multi value ) telah dihilangkan. 2.13.1.2 Bentuk Normal Kedua ( 2NF ) Suatu relasi yang memiliki composite key sebagai primary key–nya mempunyai kemungkinan untuk memiliki partial functional dependency, di mana atribut bukan primary key merupakan fungsi pada salah satu atau sebagian dari primary key. Dalam 2NF maka setiap atribut yang merupakan partial functional dependency harus dipisahkan ke relasi atau tabel yang baru dengan mengikutsertakan determinant-nya. Bentuk 2NF diperoleh apabila setiap atribut bukan bagian dari primay key suatu tabel, melainkan merupakan functional dependency dari primary key tabel tersebut. 65 2.13.1.3 Bentuk Normal Ketiga ( 3NF ) Suatu tabel atau relasi memiliki transitive dependency apabila memilki atribut bukan primary key yang bergantung fungsional pada atribut bukan primary key lainnya pada tabel tersebut. Maka setiap atribut yang transitive dependency dipisahkan menjadi relasi yang baru dengan mengikutsertakan determinant-nya. Bentuk 3NF diperoleh apabila setiap atribut bukan primary key dalam suatu tabel merupakan transitive dependency dari atribut bukan primay key tabel tersebut. 2.14 SQL ( Structured Query Language ) 2.14.1 Pengertian SQL Menurut Kadir (1998, p101), SQL singkatan dari Structured Query Language. Dalam bahasa Inggris sering dibaca sebagai SEQUEL. SQL merupakan bahasa query standar yang digunakan untuk mengakses basis data relasional. Standarisasi internasional terhadap SQL pertama kali dilakukan oleh ANSI ( American National Standard Institution ), melalui publikasi database language SQL (ANSI X3.136 – 1986). Saat ini, ANSI dan ISO ( International Standards Organization ) merupakan dua organisasi yang membuat standarisasi tehadap SQL. SQL pertama kali diterapkan pada sistem R ( sebuah proyek riset pada laboratorium riset San Jose, IBM ). Namun kini SQL juga dijumpai pada berbagai platform, dari microcomputer hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa – bahasa lain, seperti COBOL dan 66 C. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti ORACLE, SYBASE, dan INFORMIX. SQL bukanlah satu –satunya query yang diterapkan pada basis data. QUELL adalah contoh bahasa query yang lain, yang pertama kali diperkenalkan pada sistem basis data Ingres. 2.14.2 SQL sebagai Subbahasa Penyebutan SQL sebagai bahasa query tidak tepat sebab kemampuan SQL tidak terbatas hanya untuk query ( memperoleh data ) tetapi juga mencakup kemampuan lain, seperti : a. Pendefinisian struktur data. b. Pengubahan data. c. Pengaturan sekuritas, dan sebagainya. Terkadang SQL dikatakan sebagai subbahasa data, bukan sebagai bahasa. Alasan SQL bukanlah bahasa query telah dijelaskan. Adapun alasan SQL dikatakan sebagai subbahasa data adalah karena SQL tidak mendukung persyaratan bahasa yang lengkap, sekalipun SQL dapat dipakai untuk mengakses basis data. SQL tidak menyediakan hal – hal berikut : 1. Pernyataan penguji kondisi ( semacam IF pada COBOL ). 2. Pernyataan pengulangan / iterasi ( semacam REPEAT pada Pascal ). 2.14.3 Elemen SQL Menurut Kadir (1998, p.104 – p.106), elemen dasar SQL mencakup pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan. 67 2.14.3.1 Pernyataan Pernyataan adalah perintah SQL yang meminta suatu tindakan pada DBMS. Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut : Tabel 2.1 Pernyataan – Pernyataan Dasar SQL PERNYATAAN KETERANGAN ALTER Mengubah struktur table COMMIT Mengakhiri sebuah eksekusi transaksi CREATE Menciptakan tabel, indeks, atau pandangan DELETE Menghapus baris pada tabel DROP Menghapus tabel, indeks, atau pandangan Menugaskan hak terhadap basis data kepada pengguna atau GRANT grup pengguna INSERT Menambahkan sebuah baris pada tabel REVOKE Membatalkan hak terhadap basis data Mengembalikan ke keadaan semula sekiranya suatu ROLLBACK transaksi gagal dilaksanakan SELECT Memilih baris dan kolom pada tabel UPDATE Mengubah nilai pada sebuah baris 2.14.3.2 Nama Nama digunakan sebagai identitas bagi objek – objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom, dan pengguna. 68 2.14.3.3 Tipe Data Setiap data memiliki tipe data. Beberapa tipe data standar dapat dilihat pada tabel berikut : Tabel 2.2 Tabel Tipe Data Standar TIPE KETERANGAN DATA Untuk menyatakan deretan kerakter ( string ). Misalnya, untuk CHAR menyatakan nama orang, nama jalan, atau nama kota INTEGER Untuk menyatakan bilangan bulat NUMERIC Untuk menyatakan bilangan real Adapun beberapa tipe data perluasan dapat dilihat pada tabel berikut : Tabel 2.3 Tabel Tipe Data Perluasan TIPE DATA KETERANGAN VARCHAR Untuk menyatakan string yang panjangnya bervariasi MONEY Untuk menyatakan uang BOOLEAN Menyatakan tipe logis ( True atau False ) BLOB Untuk menyatakan data biner (gambar SERIAL atau Untuk menyatakan nilai yang urut AUTOINCREMENT 69 2.14.3.4 Konstanta Konstanta menyatakan nilai yang tetap (kebalikan dari konstanta adalah variabel). Beberapa contoh konstanta : 1. Konstanta numerik : 123, -245, 5.45. 2. Konstanta : ‘Jl. Gemblung 34’. 3. Konstanta simbolik (konstanta yang tersedia pada SQL dan mempunyai makna tersendiri) : SYSDATE ( tanggal sistem ), USER ( nama pengguna yang menjalankan SQL ). Konstanta simbolik seringkali disebut variable system. 2.14.3.5 Ekspresi Ekspresi adalah segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai. Contoh : ( LABA / MODAL ) * 100 merupakan ekspresi untuk membagi isi variabel LABA dengan MODAL, dan kemudian dikalikan dengan 100. Simbol – simbol yang dapat digunakan pada ekspresi aritmatika antara lain : Tabel 2.4 Simbol pada Ekspresi Aritmatika SIMBOL KETERANGAN * Perkalian / Pembagian + Penjumlahan - Pengurangan 70 2.14.3.6 Fungsi Bawaan Fungsi bawaan adalah sebuah sub – program yang menghasilkan suatu nilai jika dipanggil. SQL memiliki sejumlah fungsi bawaan ( fungsi yang disediakan oleh SQL ). Sebagai contoh, terdapat fungsi bernama MIN yang digunakan untk memperoleh nilai terkecil atau AVG untuk memperoleh nilai rata – rata. 2.14.4 Kelompok Pernyataan SQL Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok, DDL, DML, DCL, pengendali transaksi, dan pengendali programatik. 2.14.4.1 DDL ( Data Definition Language ) Menurut Subekti (1997, p20), DDL (Data Definition Language) adalah suatu bahasa yang dipakai untuk menjelaskan objek dari basis data seperti terlihat oleh pengguna ( DBA, programmer, pengguna akhir ). DDL dipakai untuk mendefinisikan kerangka basis data ( berorientasi pada tipe dari objek basis data ). DDL juga merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut – atribut basis data, tabel, atribut (kolom), batasan – batasan terhadap terhadap suatu atribut, serta hubungan antar tabel. Yang temasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP. 2.14.4.2 DML ( Data Manipulation Language ) Menurut Subekti (1997, p20), DML (Data Manipulation Language) adalah suatu bahasa yang dipakai untuk memanipulasi (memasukkan, 71 merubah, menghapus) objek data dari basis data. Perintah yang masuk kategori DML adalah : 1. SELECT Æ memilih data. 2. INSERT Æ menambah data. 3. DELETE Æ menghapus data. 4. UPDATE Æ mengubah data. 2.14.4.3 DCL ( Data Control Language ) DCL berisi perintah – perintah untuk mengendalikan pengaksesan data. Pengendalian dapat dilakukan per pengguna, per tabel, per kolom, maupun per operasi yang boleh dilakukan. Perintah – perintah yang termasuk DCL adalah : 1. GRANT Æ memberikan kendali pengaksesan data. 2. REVOKE Æ mencabut kemampuan pengaksesan data. 3. LOCK TABLE Æ mengunci tabel. 2.14.4.4 Pengendali Transaksi Pengendalian transaksi adalah perintah – perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi. Perintah yang termasuk dalam kategori ini : 1. COMMIT Æ menyetujui rangkaian perintah yang berhubungan erat (disebut transaksi) yang telah berhasil dilakukan. 72 2. ROLLBACK Æ membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah. 2.14.4.5 Pengendali Programatik Pengendalian programatik mencakup pernyataan – pernyataan yang berhubungan dengan pemanfaatan SQL dalam bahasa lain ( SQL yang dilekatkan ). Pernyataan – pernyatan ini bisa dipakai pada bahasa konvensional ( 3 – GL ), seperti COBOL. Yang termasuk dalam pengendalian programatik : 1. CLOSE Æ menutup kursor ( pointer yang menunjuk ke tabel ). 2. DECLARE Æ mendeklarasikan kursor. 3. FETCH Æ mengambil nilai baris berikutnya. 4. OPEN Æ untuk membuka kursor. 2.15 Teori – Teori Lain 2.15.1 Diagram Aliran Dokumen ( DAD ) Menurut Romney & Steinbart (2003, p165), data aliran dokumen menggambarkan aliran dari dokumen dan informasi dalam area yang bertanggung jawab dalam suatu organisasi. Data aliran dokumen digunakan untuk menelusuri dokumen dari tempat dokumen itu dikeluarkan sampai dokumen itu disimpan. Data aliran dokumen menunjukkan dokumen mana yang asli, pendistribusiannya, untuk apa dokumen itu digunakan, dan lain - lain. Data aliran dokumen berguna 73 untuk menganalisis pengontrolan prosedur dalam suatu sistem, seperti pengecekan internal dan pemisahan fungsi - fungsi dalam suatu organisasi. 2.15.2 Entity Relationship Diagram ( ERD ) E-R diagram menggambarkan komponen - komponen dari entitas dan relasi yang masing - masing dilengkapi dengan atribut - atribut yang merepresentasikan seluruh fakta dari ‘real-world’ yang kita tinjau (Fathansyah, 1999, p79). Sedangkan menurut Silberschatz (2002, p42), E-R diagram dapat menyatakan keseluruhan struktur logikal dari basis data dengan menggunakan bagan. 2.15.3 State Transition Diagram ( STD ) State transition diagram adalah suatu modeling tools yang menggambarkan sifat ketergantungan pada waktu dari sebuah sistem. Pada mulanya state transition diagram ini hanya digunakan untuk menggambarkan suatu sistem yang memiliki sifat realtime dan online seperti transaksi perbankan dan sistem militer. Terdapat 2 (dua) hal yang harus diperhatikan pada state transition diagram, yaitu : 1. Condition Suatu event pada external environment yang dapat dideteksi oleh sistem dalam bentuk sebuah sinyal, interupt atau data. Hal ini akan menyebabkan perubahan terhadap state dari state menunggu X ke state menunggu Y atau memindahkan aktivitas X ke aktivitas Y. 2. Action 74 Event yang terjadi pada sistem ketika sistem mengalami perubahan state. Action akan menghasilkan output, message display pada screen, dan menghasilkan kalkulasi. State transition diagram memiliki beberapa simbol yang digunakan di mana setiap state direpresentasikan oleh sebuah empat persegi panjang, setiap transition direpresentasikan dengan anak panah. Event yang menyebabkan munculnya transition dari sebuah state menuju state yang lain digambarkan dengan sebuah label yang diletakkan disamping anak panah transition. Action yang muncul pada state dituliskan dalam bentuk suatu set list instruksi. Berikut adalah gambar dari state, transition, event, dan action. State X Present State Transition Input Data Output Data State Y Next State Gambar 2.9 State Transition Diagram Untuk menggambarkan state transition diagram, ada beberapa aturan yang dapat diikuti : 75 1. Identifikasikan initial state. 2. Gambar empat persegi panjang untuk merepresentasikan setiap state. 3. Hubungkann setiap state dengan anak panah untuk menunjukan transition yang terjadi. 4. Setiap state harus menunjuk kepada satu atau lebih state yang lain. 5. Berikan label pada transisition dengan nama event. 6. Tuliskan list dari action yang terjadi pada setiap state. 7. Pertimbangkan reaksi dari sistem terhadap event yang muncul. 8. Amati diagram yang ada untuk menentukan apakah diagram tersebut perlu diubah. 9. Diskusikan diagram tersebut dengan anggota tim untuk meyakinkan akurasi dan kekonsistenan dari sistem. 2.16 Teori – teori pendukung 2.16.1 Manajemen Manajemen merupakan proses pengkoordinasian aktivitas kerja beberapa orang sehingga kerja bisa terselesaikan secara efektif dan efisien. (http://romisatriawabono.net/) 2.16.2 Intranet Intranet adalah sebuah jaringan privat ( private network ) yang menggunakan protokol - protokol Internet ( TCP/IP ), untuk membagi informasi rahasia perusahaan atau operasi dalam perusahaan tersebut kepada karyawannya. Terkadang, istilah intranet hanya merujuk kepada layanan yang terlihat, yakni 76 situs web internal perusahaan. Untuk membangun sebuah intranet, maka sebuah jaringan haruslah memiliki beberapa komponen yang membangun Internet, yakni protokol Internet ( Protokol TCP/IP, alamat IP, dan protokol lainnya ), klien dan juga server. Protokol HTTP dan beberapa protokol Internet lainnya ( FTP, POP3, atau SMTP ) umumnya merupakan komponen protokol yang sering digunakan.