BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 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, 2000, p8). Selain itu data juga dapat diartikan sebagai fakta yang dapat disimpan dan memiliki arti (Navathe dan Elmasri, 2000, p4). Sehingga dapat disimpulkan bahwa data adalah fakta yang telah terjadi, memiliki arti, dan dapat disimpan serta dapat diatur sedemikian rupa sehingga dapat digunakan untuk berbagai tujuan. 2.1.2 Sistem Basis Data Sistem basis data menurut Connoly (2004, p14) adalah suatu kumpulan logikal data yang terhubung satu sama lain dan deskripsi dari suatu data yang dirancang sebagai informasi yang dibutuhkan oleh organisasi. Sedangkan sistem basis data menurut Date (1999, p5) adalah suatu sistem yang pada dasarnya menyimpan record-record di dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya adalah menjadi suatu kumpulan data yang terhubung dan Database Management System 6 7 (DBMS)/ Sistem Manajemen Basisdata menjadi program yang mengatur dan mengontrol akses ke basisdata serta memelihara informasi dan membuat informasi tersebut tersedia berdasarkan permintaan. 2.1.1 Pendekatan Basis Data Sistem basis data adalah suatu kumpulan logikal data yang terhubung satu sama lain dan deskripsi dari suatu data yang dirancang sebagai informasi yang dibutuhkan oleh organisasi (Begg,Connoly,2002, p14). Dengan basis data dapat mempercepat proses pemenuhan suatu kebutuhan informasi suatu organisasi di mana kebutuhan informasi tersebut berbeda-beda pada tiap-tiap organisasi. Tujuan utama dari sebuah sistem basis data adalah untuk menyediakan user sebuah view dari data yang abstrak yang menyembunyikan detail tertentu tentang bagaimana data tersebut disimpan dan dimanipulasi. Oleh karena itu, permulaan dari desain basis data harus bersifat abstrak yang menerangkan penjelasan umum dan kebutuhan informasi dari suatu organisasi yang akan direpresentasikan dalam bentuk basis data. (Begg, Connoly, 2002, p33). 2.1.2 Database Application Lifecycle 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 bahwa tahapan dalam DBLC tidak harus berurutan, namun juga 8 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 (Begg,Connolly, 2002, p272) 9 2.1.2.1 Perencanaan Basis Data Perencanaan basis data adalah kegiatan pengaturan yang memungkinkan tahap-tahap dalam aplikasi basis data dapat diwujudkan secara efisien dan secara efektif mungkin (Begg,Connoly, 2002, p273). Tahap perencanaan basis data juga harus menjelaskan : • Mission statement dari proyek basis data. Mission statement ini menjelaskan tujuan utama aplikasi basis data, juga membantu menjelaskan tujuan proyek basis data, dan menyediakan maksud yang lebih jelas dalam pembuatan aplikasi basis data secara efektif dan efisien (Begg,Connoly, 2002, p274). Dengan merumuskan apa sebenarnya yang menjadi tujuan dari proyek basis data ini diharapkan dapat lebih memfokuskan pekerjaan pada tahap selanjutnya. • Mission objectives. Selain merumuskan tujuan dari sebuah proyek basis data, harus diperhatikan juga mengenai tugas apa saja yang harus didukung oleh basis data tersebut. Setiap mission objective akan menjelaskan tugas tertentu yang harus didukung oleh basis data, dengan asumsi jika basis data mendukung mission objectives, maka mission statementnya juga akan sesuai (Begg,Connoly, 2002, p274). 2.1.2.2 Pendefinisian Sistem Pendefinisian sistem (system definition) menggambarkan ruang lingkup dan batasan aplikasi basis data dan pandangan pengguna (user view) 10 (Begg,Connoly, 2002, p274). Hal ini sangat penting dilakukan dalam proses perancangan basis data agar lebih terfokus pada proyek basis data yang dibuat. Pandangan pengguna (user view) sangat diperlukan untuk mengidentifikasi informasi-informasi yang dibutuhkan oleh user. Pandangan pengguna menggambarkan apa yang dibutuhkan oleh aplikasi basis data dari sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia, atau pengawasan persediaan, dalam hubungannya dengan data yang akan disimpan dan transaksi yang akan dijalankan terhadap data itu (Begg,Connoly, 2002, p275). 2.1.2.3 Pengumpulan Kebutuhan dan Analisis Tahap selanjutnya yang dilakukan setelah Pendefinisian Sistem adalah tahap 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 (Begg,Connoly, 2002, p276). Suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya dinamakan dengan teknik fact-finding (Begg,Connoly, 2002, p302). Ada lima kegiatan yang dipakai dalam teknik ini, yaitu : 11 2.1.2.3.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.1.2.3.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 (Begg,Connoly, 2002, p306). Teknik ini memerlukan kemampuan komunikasi yang baik untuk menghadapi pengguna yang memiliki nilai, prioritas, pendapat, motivasi, dan kepribadian yang berbeda-beda. Keuntungan menggunakan teknik ini menurut Begg,Connoly (2002, p306) antara lain: • Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka • Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek • Memungkinkan pewawancara untuk menindaklanjuti komentar-komentar menarik yang dibuat oleh orang yang diwawancara 12 • Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara • Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara Kerugian teknik ini menurut Begg,Connoly (2002, p306) yaitu: • Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis • Keberhasilannya tergantung pada kemampuan komunikasi pewawancara • Keberhasilannya tergantung pada keinginan orang yang diwawancara untuk ikut serta dalam wawancara 2.1.2.3.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 mungkin tentang aktivitas yang akan diamati serta orang yang melakukan aktivitas tersebut. Keuntungan menggunakan teknik ini antara lain : • Validitas fakta dan data dapat diperiksa • Pengamat dapat melihat dengan jelas apa yang dikerjakan • Pengamat juga dapat memperoleh data yang menjelaskan lingkungan fisik dari tugas yang diberikan 13 • Relatif murah • Pengamat dapat membuat pengukuran kerja Kerugian teknik ini yaitu: • Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis • Dapat terlewat dalam mengamati tugas-tugas yang melibatkan tingkat kesulitan yang lain • Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat pengamatan 2.1.2.3.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 : • Dapat menghemat waktu jika solusinya telah tersedia • Peneliti dapat mengamati cara orang lain memecahkan masalah yang sama atau menemui kebutuhan yang serupa • Membuat para peneliti selalu up-to-date dengan perkembangan baru 14 Kerugian teknik ini yaitu : • Dapat menjadi sangat memakan waktu • Membutuhkan akses ke sumber informasi yang tepat • Dapat saja tidak membantu memecahkan masalah karena tidak didokumentasikan 2.1.2.3.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 (Begg,Connoly, 2002, p308). Keuntungan menggunakan teknik ini antara lain : • Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik-baiknya • Tidak mahal untuk mengumpulkan data dari banyak orang • Responden lebih mudah untuk memberikan jawaban yang benar karena jawaban yang diberikan dapat dijaga kerahasiaannya • Tanggapan dapat ditabulasikan dan dianalisa dengan cepat Kerugian teknik ini yaitu: • Jumlah responden dapat saja rendah, sekitar 5% sampai 10% 15 • Kuesioner dapat saja dikembalikan dengan tidak lengkap • Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan • Tidak dapat mengamati dan menganalisa bahasa tubuh responden • Memakan waktu untuk menyiapkan kuesioner 2.1.2.4 Entity Relationship ( ER ) Modelling Entity Relationship Modelling adalah sebuah pendekatan top-down untuk mendesain basis data yang dimulai dari mengidentifikasikan data - data yang penting, yang disebut Entity (entity) dan hubungan (relationship) diantara data datanya harus ditampilkan di dalam model (Begg, Connolly, 2002, p330). Lalu tambahkan detail – detail lainnya, seperti informasi yang ingin kita ketahui tentang entity dan relationship, yang disebut dengan attribut, dan batasan – batasan (Constraints) pada entity, relationship, dan attribut. Entity Relationship Model adalah suatu teknik dasar terpenting dalam mendesain suatu basis data. 2.1.2.4.1 Entity Entity merupakan objek (manusia, tempat, benda, konsep ataupun kejadian) didalam organisasi yang akan diwakilkan dalam basis data (Begg, Connolly, 2002, p15). Entity adalah sekumpulan obyek yang memiliki properti-properti sama, yang mengidentifikasikan suatu obyek di dalam situasi nyata (Begg, Connolly, 2002, p331). Konsep dasar dari Entity Relationship (ER) Model adalah Entity, yang menggambarkan kumpulan dari ‘objek’ didalam ‘dunia nyata’ dengan properti yang sama. 16 Nama entiti Pegawai Gambar 2.2 Representasi diagram dari tipe entitas Pegawai 2.1.2.4.2 Relationship Type Relationship type adalah sebuah set-set asosiasi yang memiliki arti / makna diantara kumpulan Entity, diantara satu atau lebih Entity (Begg, Connolly, 2002, p334). Setiap relationship type diberi nama sesuai dengan fungsinya masing-masing. Contoh relationship type dapat dilihat pada Gambar 2.3 msPegawai Input ► msBarang ‘Pegawai menginput barang’ Gambar 2.3 Contoh Relationship Type 2.1.2.4.2.1 Derajat Dari Relationship Derajat dari Relationship dihitung dari banyaknya entity yang berpartisipasi dalam suatu relationship. Relasi dengan hanya satu atribut berarti mempunyai satu derajat, dan akan disebut unary relation atau satu tuple, relasi dengan dua atribut disebut binary, relasi dengan tiga atribut disebut ternary, demikian selanjutnya digunakan n-ary untuk penamaannya (Begg, Connolly, 2002, p74). 17 2.1.2.4.2.2 Recursive Relationship Recursive Relationship merupakan tipe relasi dimana entity yang sama berpartisipasi lebih dari satu dengan peranan yang berbeda. Relationship dapat diberikan role names untuk mengindikasikan tujuan dari peranan setiap entity didalam relationship, role names sangat penting dalam recursive relationship untuk menegaskan fungsi dari setiap entity yang berpartisipasi (Begg, Connolly, 2002, p337). 2.1.2.4.3 Atribut Atribut adalah properti sebuah entitas atau relationship (Begg,Connoly, 2002, p338). Menurut Jeffery L. Whitten (2004, p295), Atribut merupakan properti deskriptif atau karakteristik dari sebuah entitas. Atribut menampung nilai yang menjelaskan setiap entity occurrence dan menggambarkan bagian utama dari data yang disimpan di dalam basis data. msBarang msPegawai noBarang NamaBarang HargaBarang StatusBarang noPegawai AlamatPegawai Jalan Kota KodePos Telp [1…3] Gambar 2.4 Entity dengan Atribut 2.1.2.4.3.1 Simple Attribut dan Composite Attribut Simple Attribut adalah sebuah atribut yang terdiri dari satu komponen tunggal dengan keberadaannya sendiri sehingga tidak dapat dipecah menjadi 18 komponen-komponen yang lebih kecil lagi, sering juga disebut dengan atomic attribut (Begg, Connolly, 2002, p339). Composite Attribut adalah sebuah atribut yang dibentuk dari banyak komponen (Begg, Connolly, 2002, p339). 2.1.2.4.3.2 Single-Valued Attribut dan Multi-Valued Attribut Single-Valued Attribut adalah sebuah atribut yang memegang sebuah nilai tunggal untuk setiap occurrence dari sebuah entity. Kebanyakan dari atribut adalah single-valued (Begg, Connolly, 2002, p339). Multi-Valued Attribut adalah sebuah attribut yang memegang banyak nilai untuk setiap kejadian dari sebuah entity (Begg, Connolly, 2002, p340). 2.1.2.4.3.3 Derived Attribut Merupakan atribut yang diturunkan dari nilai atribut yang berhubungan atau kumpulan atribut, tidak harus dari entity yang sama (Begg, Connolly, 2002, p340). 2.1.2.4.4 Keys Candidate key adalah himpunan atribut yang minimal yang secara unik mengidentifikasikan setiap occurrence dari sebuah tipe entitas (Begg,Connoly, 2002, p340). Composite key adalah sebuah candidate key yang terdiri atas dua atau lebih atribut (Begg,Connoly, 2002, p341). 19 Primary key adalah candidate key yang terpilih untuk mengidentifikasikan secara unik setiap occurrence dari sebuah tipe entitas (Begg,Connoly, 2002, p341). Pada sebuah tipe entitas 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. Alternate key adalah setiap candidate key yang tidak terpilih menjadi primary key, atau biasa disebut dengan secondary key (Whitten, 2004, p298). Foreign key adalah sebuah primary key pada sebuah entitas yang digunakan pada entitas lainnya untuk mengidentifikasikan sebuah relationship (Whitten, 2004, p301). 2.1.2.4.5 Batasan Struktural ( Structural Constaints ) Batasan-batasan yang menggambarkan pembatasan pada relationship seperti yang ada pada ‘real world’ harus diterapkan pada tipe entitas yang ikut serta pada sebuah relationship. Jenis utama dari batasan pada suatu relationship dinamakan multiplicity (Begg,Connoly, 2002, p344). Multiplicity adalah jumlah occurrence yang mungkin terjadi pada sebuah tipe entitas yang berhubungan ke sebuah occurrence dari tipe entitas lain pada suatu relationship (Begg,Connoly, 2002, p344). Derajat yang biasanya digunakan pada suatu relationship adalah binary relationship, yang terdiri atas: 20 2.1.2.4.5.1 One-to-One (1:1) Relationship Setiap Partner berarti mempunyai paling sedikit satu document dan paling banyak satu document, dan satu Document dapat dimiliki paling sedikit oleh satu Partner atau paling banyak oleh satu Partner (Begg, Connolly, 2002, p345).Untuk lebih jelasnya dapat dilihat pada Gambar 2.3. seorang pegawai dapat mengatur nol atau satu barang setiap barang diatur oleh satu orang pegawai Pegawai noPeg Barang Input 1..1 0..1 noBarang Multiplicity Gambar 2.5 One-To-One Relationship 2.1.2.4.5.2 One-to-Many (1:*) Relationship Setiap User mendaftarkan banyak Kontrak atau tidak ada sama sekali, dan setiap Kontrak didaftarkan oleh satu dan hanya satu orang User (Begg, Connolly, 2002, p346). Untuk lebih jelasnya dapat dilihat pada Gambar 2.4. Gambar 2.6 One-To-Many Relationship 2.1.2.4.5.3 Many-to-Many (*:*) Relationship 21 Setiap Kontrak memiliki paling tidak satu atau banyak Aircraft, dan setiap Aircraft dimiliki paling sedikit satu atau banyak Kontrak (Begg, Connolly, 2002, p347). Untuk lebih jelasnya dapat dilihat pada Gambar 2.5. msContract ContractID ClientID Destination ValidFrom ValidUntil GroundTime NIK AnnexCode Status msAircraft 1…* Has ► 1…* AircraftType Dimension CapacityPassenger CapacityCargo Gambar 2.7 Many-To-Many Relationship 2.1.2.5 Perancangan Basis Data ( Database Design ) Merupakan proses pembuatan suatu rancangan untuk basisdata yang akan mendukung operasi dan objektif perusahaan. Ada 2 (dua) pendekatan perancangan basisdata: • Bottom-up Pendekatan ini dimulai dari tingkat paling dasar dari atribut (yakni properti dari entiti dan hubungan relasional) dimana melalui analisis gabungan antara atribut-atribut, dikelompokkan ke dalam relasi-relasi yang merepresentasikan tipe-tipe entiti dan hubungan antara entiti. Pendekatan ini lebih cocok untuk perancangan basisdata yang sederhana dengan jumlah atribut yang relatif kecil. • Top-down 22 Pendekatan ini dimulai dari pengembangan model data yang terdiri dari beberapa hubungan relasional dan entiti tingkat tinggi. Database design terdiri dari tiga fase, yaitu: Conceptual database design, Logical database design, dan Physical database design. 2.1.2.5.1 Rancangan Basis Data Konseptual ( Conceptual Database Design) Conceptual database design adalah proses membangun model informasi yang digunakan organisasi, bebas dari semua pertimbangan fisik Begg,Connoly, 2002, p419). Pertimbangan fisik yang dimaksud meliputi DBMS yang akan digunakan, program aplikasi, bahasa pemrograman, platform perangkat keras, unjuk kerja, dan pertimbangan fisik lainnya. Langkah-langkah dalam metodologi conceptual database design yaitu : Langkah 1 - Membangun Local Conceptual Data Model untuk setiap pandangan pengguna Bertujuan untuk memecah rancangan menjadi tugas-tugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna di dalam organisasi Begg,Connoly, 2002, p421). Hasil dari langkah ini berupa pembuatan satu atau lebih local conceptual data model yang merupakan penggambaran yang tepat dan lengkap dari suatu organisasi dilihat dari para pengguna yang berbeda. Tugas-tugas yang dilakukan pada langkah ini terdiri dari : Langkah 1.1 Mengidentifikasi tipe entitas 23 Tipe entitas dapat dikenali dengan mengidentifikasikan kata benda atau frase kata benda pada spesifikasi kebutuhan pengguna, objek besar seperti orang (people), tempat (place), benda (thing) atau konsep (concept). Alternatif lain adalah dengan mencari obyek yang keberadaannya bebas. Langkah 1.2 Mengidentifikasi tipe hubungan antar entitas Bertujuan untuk mengidentifikasi relationship yang penting yang ada antara tipe entitas-tipe entitas yang telah diidentifikasi sebelumnya. Tipe relationship diidentifikasikan dengan mencari kata kerja atau suatu kata yang berhubungan dengan kata kerja. Langkah 1.3 Mengidentifikasi dan menghubungkan atribut dengan entitas atau hubungan Tujuannya untuk menghubungkan atribut dengan entitas dan tipe relationship yang tepat. Atribut yang dimiliki oleh setiap entitas dan relationship harus memenuhi karakteristik atribut yaitu simple/composite attribute, single/multi-valued attribute, dan derived attribute. Langkah 1.4 Menentukan attribute domains Domain adalah sekumpulan nilai dimana satu atau lebih atribut memperoleh nilainya Begg,Connoly, 2002, p430). Contoh menentukan domain pada atribut JenisKelamin di entitas Mahasiswa adalah dengan ‘L’ atau ’P’. Langkah 1.5 Menentukan Candidate Key dan Primary Key Tujuannya untuk mengidentifikasi candidate key setiap tipe entitas, dan jika terdapat lebih dari satu candidate key maka terpilih satu sebagai primary key. 24 Langkah 1.6 Pertimbangkan penggunaan enhance modelling concepts (pilihan) Maksud dari langkah ini adalah untuk menentukan specialization, generalization, aggregation, composition. Specialization merupakan suatu proses memaksimalkan perbedaanperbedaan antara anggota-anggota sebuah entitas dengan cara mengidentifikasi karakteristik yang membedakan entitas tersebut Begg,Connoly, 2002, p362). Generalization merupakan suatu proses meminimalkan perbedaanperbedaan antara entitas-entitas dengan cara mengidentifikasi sifat umum entitas Begg,Connoly, 2002, p363). Aggregation menggambarkan relationship ‘has-a’ atau ‘is-part-of’ antara tipe entitas dimana yang satunya mewakili ‘whole’ (seluruhnya) dan yang satunya lagi mewakili ‘part’ (bagian) Begg,Connoly, 2002, p371). Langkah 1.7 Memeriksa model akan redudansi Bertujuan memeriksa conceptual model untuk menghindari adanya redundansi atau pengulangan data dalam model. Ada dua kegiatan yang dapat dilakukan pada tahap ini: • Memeriksa kembali one-to-one relationship (1:1) Kemungkinan ada dua entitas yang menggambarkan objek yang sama dalam organisasi. Oleh karena itu, kedua entitas tersebut harus digabungkan. • Menghilangkan relasi yang redundan 25 Suatu relationship menjadi redundan jika informasi yang sama dihasilkan melalui relationship yang lainnya. Untuk meminimalkan data model maka relationship yang redundan harus dihilangkan. Langkah 1.8 Validasi model konseptual lokal terhadap transaksi pengguna Bertujuan untuk memastikan local conceptual data model mendukung transaksi yang dibutuhkan oleh pandangan pengguna Begg,Connoly, 2002, p435). Dua pendekatan untuk memastikan local conceptual data model mendukung kebutuhan transaksi: • Menggambarkan transaksi (describing the transaction) Memeriksa semua informasi (entitas, relationship, dan atributnya) yang dibutuhkan setiap transaksi yang disediakan oleh model Begg,Connoly, 2002, p435). • Menggunakan transaction pathways Memvalidasi data model terhadap kebutuhan transaksi dengan menggambar diagram yang mewakili pathway yang diambil oleh setiap transaksi secara langsung pada E-R diagram Begg,Connoly, 2002, p435). Langkah 1.9 Melihat kembali conceptual data model dengan pengguna Langkah ini dilakukan dengan tujuan untuk memastikan bahwa data model merupakan representasi yang benar bagi setiap pandangan. 2.1.2.5.2 Rancangan Basis Data Logikal (Logical Database Design) 26 Desain basis data logikal adalah proses membangun model informasi yang digunakan organisasi berdasarkan model data tertentu, tetapi tidak tergantung dari Database Management System (DBMS) dan pertimbangan fisik lainnya Begg,Connoly, 2002, p441). Langkah-langkah dalam metodologi logical database design yaitu: Langkah 2 Membangun dan validasi local logical data model bagi setiap pandangan pengguna Tujuannya untuk membangun sebuah local logical data model dari sebuah local conceptual data model yang mewakili pandangan tertentu dari organisasi dan kemudian memvalidasi model ini untuk memastikan bahwa strukturnya benar (dengan menggunakan teknik normalisasi) dan untuk memastikan dukungannya terhadap transaksi-transaksi yang dibutuhkan. Kegiatan yang dilakukan pada langkah ini meliputi: Langkah 2.1 Menghilangkan fitur-fitur yang tidak compatible dengan model relational (langkah pilihan) Bertujuan untuk menyaring local conceptual data model sehingga fiturfitur yang tidak sesuai dengan model relasional dihilangkan. Langkahlangkahnya antara lain: • Menghilangkan many-to-many (*:*) binary relationship Dengan memecah relationship yang mengandung many-to-many (*:*) untuk mengidentifikasikan sebuah entitas tengah (intermediate entity) sehingga relationship ini digantikan dengan dua buah one-to-many (1:*) 27 relationship, dengan entitas tengah berada di antara dua buah entitas yang lama. • 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 yang terlibat pada relationship ini merupakan dua buah entitas dengan jenis relationship many-to-many (*:*) binary sehingga penyelesaiannya sama dengan penyelesaian pada relationship many-to-many (*:*) binary. • Menghilangkan complex relationship types Dihilangkan dengan memecah relationship ini untuk mengidentifikasikan entitas tengah (intermediate entity). Kemudian complex relationship ini akan digantikan dengan beberapa one-to-many (1:*) binary relationship. • Menghilangkan multi-valued attributes Cara menghilangkannya adalah dengan memecah atribut ini untuk mengidentifikasikan sebuah entitas. Langkah 2.2 Membuat relasi untuk model data logical Yang ditentukan pertama kali adalah nama relasi diikuti daftar simple attribute yang disertai dengan tanda kurung, primary key beserta alternate key dan atau foreign key dari relasi. Relationship antara satu entitas dengan entitas lainnya digambarkan dengan mekanisme primary key atau foreign key. 28 Langkah 2.3 Validasi relasi dengan normalisasi Normalisasi merupakan sebuah tehnik yang dapat digunakan untuk menjelaskan relasi-relasi yang akan menjelaskan data, relationship, dan constraints seakurat mungkin (Begg, Connolly, 2002, p375). Normalisasi menggunakan pendekatan bottom-up dalam mendesain basis data yang dimulai dengan melakukan pengecekan relationship diantara atributatributnya. Normalisasi adalah tehnik untuk menghasilkan sebuah set dari relasi dengan properti-properti yang diinginkan, memberikan data yang dibutuhkan dari perusahaan (Begg, Connolly, 2002, p376). Proses dari Normalisasi pertama kali dibangun oleh E.F Codd (1972b). 1NF 2NF 3NF BCNF 4NF 1NF 2NF 3NF BCNF 4NF 1NF 2NF 5NF 3NF BCNF 4NF 5NF 5NF Higher Normal Form Gambar 2.8 Diagram ilustrasi dari relationship diantara Normal Form Proses normalisasi dimulai dengan memindahkan data sumber ke bentuk tabel dengan format baris dan kolom. Tabel ini berbentuk tidak normal dan disebut dengan unnormalized table Begg,Connoly, 2002, p388). 29 Unnormalized form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group) Begg,Connoly, 2002, p387). Repeating group adalah sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut Begg,Connoly, 2002, p388). Tingkatan normalisasi yang digunakan sebagai landasan penulisan skripsi ada tiga tahap yaitu : • First Normal Form (1NF) Suatu relasi dikatakan 1NF jika titik temu tiap baris dan kolom pada relasi tersebut mengandung satu dan hanya satu nilai Begg,Connoly, 2002, p388). Sebuah relasi akan berada dalam bentuk 1NF jika repeating groupnya sudah hilang. Ada dua pendekatan untuk menghilangkan repeating group pada tabel yang tidak normal, yaitu: Dengan memasukkan data yang sesuai ke dalam kolom yang kosong dari baris yang mengandung data berulang. Dengan menempatkan data yang berulang bersama salinan atribut kunci pada relasi yang terpisah. Sebuah primary key diidentifikasikan ke dalam relasi yang baru. • Second Normal Form (2NF) Relasi dikatakan 2NF jika relasi tersebut berada pada 1NF dan setiap atribut yang bukan primary key bergantung penuh (fully 30 functionally dependent) terhadap primary key (Begg,Connoly,2002, p392). Full functional dependency terjadi jika A dan B merupakan atribut dari suatu relasi, dan B dikatakan bergantung penuh terhadap A (A→B), jika B bergantung terhadap A, namun bukan subset dari A Begg,Connoly, 2002, p391). Untuk menghasilkan relasi dalam bentuk 2NF melibatkan penghilangan ketergantungan sebagian (partial dependency) dan menempatkannya pada relasi yang baru bersama salinan atribut penentunya (determinant attribute). • Third Normal Form (3NF) Suatu relasi dikatakan 3NF jika relasi tersebut berada dalam bentuk 1NF dan 2NF, dan tidak ada atribut bukan primary key bergantung secara transitif (transitively dependent) terhadap primary key Begg,Connoly, 2002, p394). Transitive dependency ialah sebuah kondisi dimana A, B, dan C merupakan atribut dari relasi yang jika A→B dan B→C maka C disebut bergantung secara transitif (transitively dependent) terhadap A melalui B (A tidak functionally dependent terhadap B atau C) Begg,Connoly, 2002, p394). Langkah 2.4 Validasi relasi terhadap transaksi pengguna 31 Bertujuan untuk memastikan bahwa relasi-relasi pada local logical data model mendukung transaksi-transaksi yang dibutuhkan oleh pengguna, seperti terinci pada spesifikasi kebutuhan pengguna. Langkah 2.5 Mendefinisikan integrity constraint Integrity constraint adalah batasan-batasan yang harus ditentukan untuk melindungi basis data agar tetap konsisten Begg,Connoly, 2002, p457). Ada lima jenis integrity constraint, yaitu : • Required data Beberapa atribut harus selalu berisi nilai yang benar (valid), tidak dapat bernilai null. Constraint ini harus diidentifikasikan pada saat mendokumentasikan atribut-atribut pada kamus data (langkah 1.3). • Attribute domain constraint Setiap atribut memiliki domain, yaitu himpunan nilai yang dibolehkan Begg,Connoly, 2002, p457). Constraint ini harus diidentifikasikan pada saat pemilihan attribute domain untuk data model (langkah 1.4). • Entity integrity Primary key dari sebuah entitas tidak boleh bernilai null. Constraint ini harus dipertimbangkan pada saat penentuan primary key bagi setiap tipe entitas (langkah 1.5). • Referential integrity 32 Jika suatu foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent’. • Enterprise constraint (business rules) Kegiatan update entitas dibatasi oleh peraturan atau kebijakan organisasi yang mengatur transaksi yang diwakilkan oleh update yang dilakukan. Langkah 2.6 Meninjau kembali local logical data model yang dibuat dengan pengguna Tujuan yang ingin dicapai adalah untuk memastikan bahwa local logical data model dan dokumentasi pendukung yang menggambarkan model merupakan perwakilan yang benar dari pandangan pengguna. Langkah 3 Membangun dan validasi global logical data model Bertujuan menggabungkan masing-masing local logical data model menjadi sebuah global logical data model yang menggambarkan organisasi dengan menyatukan masing-masing local logical data model bagi setiap pandangan pengguna. Kegiatan yang dilakukan pada langkah ini meliputi : Langkah 3.1 Menggabungkan semua model logikal data ke dalam model global Untuk setiap local logical data model telah dihasilkan sebuah diagram Entity-Relationship (ER diagram), skema relasional, kamus data, dan dokumentasi pendukung yang menggambarkan batasan-batasan model. Komponen-komponen tersebut digunakan untuk mengidentifikasikan 33 persamaan dan perbedaan antara model-model dan oleh karena itu akan membantu menyatukan model-model tersebut. Langkah 3.2 Validasi global logical data model Bertujuan untuk memvalidasi relasi-relasi yang dibuat dari global logical data model dengan menggunakan teknik normalisasi dan untuk memastikan bahwa model tersebut mendukung transaksi-transaksi yang dibutuhkan. Langkah 3.3 Memeriksa kemungkinan perkembangan di masa yang akan datang Bertujuan untuk menentukan kemungkinan adanya perubahan yang berarti pada waktu mendatang dan untuk memperkirakan apakah global logical data model yang ada dapat menyesuaikan dengan perubahan tersebut. Langkah 3.4 Meninjau kembali global logical data model dengan para pengguna Bertujuan untuk memastikan bahwa global logical data model merupakan representasi yang benar dari organisasi. 2.1.2.5.3 Pemilihan DBMS (Database Management System) DBMS (Database Management System) adalah perangkat lunak khusus yang digunakan untuk membuat, mengakses, mengontrol, dan mengatur sebuah basis data (Whitten, 2004, p760). 34 Karena suatu organisasi memerlukan perluasan atau perubahan pada sistem yang sedang berjalan, maka akan menjadi hal yang 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, yang seimbang dengan biaya-biaya yang dikeluarkan termasuk dalam pembelian produk DBMS, perangkat lunak maupun perangkat keras tambahan yang dibutuhkan untuk mendukung sistem basis data, dan biaya-biaya lain yang berhubungan dengan perubahan dan pelatihan pegawai. Tahapan utama dalam memilih DBMS antara lain: • Mendefinisikan syarat-syarat sebagai referensi Dibuat dengan menyatakan tujuan dan ruang lingkup pembelajaran, tugas-tugas yang akan dikerjakan, penjelasan kriteria (berdasarkan spesifikasi kebutuhan pengguna) yang akan digunakan dalam mengevaluasi produk-produk DBMS, daftar produk-produk yang dimungkinkan, semua batasan-batasan dan skala waktu yang dibutuhkan untuk pembelajaran. • Daftar singkat dua atau tiga produk Kriteria yang dianggap penting dalam keberhasilan implementasi dapat digunakan untuk membuat daftar produk-produk DBMS dalam evaluasi, seperti dana yang tersedia, tingkat dukungan vendor, kecocokan dengan perangkat lunak lainnya, dan apakah produk hanya berjalan pada perangkat keras tertentu. • Evaluasi produk 35 Fitur-fitur yang digunakan dalam evaluasi produk-produk DBMS dikelompokkan menjadi definisi data, definisi fisik, kemampuan akses, penanganan keperluan-keperluan, pengembangan, dan fitur-fitur lainnya. • Merekomendasikan pilihan dan memproduksi laporan Langkah terakhir dari pemilihan DBMS adalah mendokumentasikan prosesnya dan membuat pernyataan dalam penemuan dan rekomendasi atas produk DBMS tertentu. 2.1.2.5.4 Rancangan Basis Data Fisikal (Physical Database Design) Perancangan basis data fisikal (physical database design) adalah proses untuk menghasilkan penjelasan dari pengimplementasian suatu basis data pada media penyimpanan kedua, juga menjelaskan base relation, pengaturan file, dan indeks yang digunakan untuk mencapai akses data yang efisien, integrity constraint, serta ukuran keamanan Begg,Connoly, 2002, p282). Langkahlangkah metodologi perancangan basis data fisikal terdiri dari: Langkah 4 Menterjemahkan global logical data model untuk target DBMS Bertujuan untuk menghasilkan skema basis data relasional bagi global logical data model yang dapat diimplementasikan pada target DBMS. Langkah 4.1 Merancang Relasi Dasar Untuk setiap relasi yang diidentifikasikan pada global logical data model, definisinya terdiri dari nama relasi, daftar simple attribute diikuti tanda 36 kurung, primary key berserta alternate key dan foreign key jika ada, dan referential integrity constraint bagi foreign key yang teridentifikasi. Definisi setiap atribut pada kamus data terdiri dari domainnya yang terdiri atas tipe data, panjang data, setiap constraint pada domain, nilai defaultnya jika ada, dan keterangan apakah atribut dapat memiliki nilai null. Langkah 4.2 Merancang representasi derived data Bertujuan untuk menentukan cara untuk merepresentasikan derived data yang ada dalam global logical data model ke dalam target DBMS. Biasanya derived attribute tidak terlihat pada logical data model namun didokumentasikan di dalam kamus data. Untuk setiap derived attribute yang ada, tanda ‘/’ digunakan untuk menandakan atribut tersebut adalah derived attribute. Langkah 4.3 Merancang enterprise constraints Bertujuan untuk merancang batasan-batasan organisasi untuk target DBMS. Update terhadap relasi dibatasi oleh peraturan organisasi yang mengatur transaksi ‘real world’ yang diwakili oleh update tersebut. Langkah 5 Membuat representasi fisikal Bertujuan untuk menentukan organisasi file yang optimal untuk menyimpan base relation dan indeks yang diperlukan untuk mencapai unjuk kerja yang sesuai, dengan cara penentuan penyimpanan relasi dan baris-baris pada tempat penyimpanan kedua. Ada tiga faktor untuk mengukur efisiensi penyimpanan data yaitu: 37 • Transaction throughput: jumlah transaksi yang dapat diproses pada rentang waktu yang diberikan Begg,Connoly, 2002, p484). • Response Time: waktu yang diperlukan untuk menyelesaikan sebuah transaksi Begg,Connoly, 2002, p484). • Disk storage: besarnya ukuran penyimpanan untuk menyimpan basis data Begg,Connoly, 2002, p484). Untuk meningkatkan unjuk kerja, cara interaksi antara empat komponen dasar perangkat keras harus diperhatikan karena berpengaruh terhadap unjuk kerja sistem. Komponen-komponen itu antara lain: • Main memory Semakin besar memori utama yang disediakan untuk DBMS dan aplikasinya, semakin cepat aplikasi akan berjalan. • CPU CPU mengontrol tugas-tugas dari sumber daya sistem lain dan mengeksekusi proses yang diminta oleh pengguna. Komponen ini harus dijaga agar tidak terjadi bottleneck. • Disk I/O Penyimpanannya harus didistribusikan secara merata ke semua drive yang ada untuk mengurangi masalah pada untuk kerja sistem. Prinsip dasar dalam pendistribusian data yaitu: File sistem operasi harus dipisahkan dari file basis data File utama basis data harus dipisahkan dari file indeks 38 File log recovery harus dipisahkan dari basis data yang sedang tidak digunakan • Network Ketika jumlah lalu-lintas data menjadi besar, atau ketika jumlah tabrakan di dalam jaringan menjadi besar, akan terjadi bottleneck di dalam jaringan. Langkah 5.1 Analisis transaksi Bertujuan untuk memahami fungsi dari transaksi yang dijalankan pada basis data dan menganalisis transaksi-transaksi yang penting. Dalam menganalisis transaksi, kriteria unjuk kerja yang harus diidentifikasi seperti: • Transaksi yang sering digunakan dan yang memiliki dampak yang signifikan pada unjuk kerja • Transaksi yang penting bagi kegiatan operasional bisnis • Peak load, yaitu saat-saat pada hari atau minggu dimana akan ada permintaan yang tinggi terhadap basis data Begg,Connoly, 2002, p486) Langkah 5.2 Memilih organisasi file Untuk menentukan organisasi file yang efisien untuk setiap base relation. Langkah 5.3 Memilih indeks Untuk menentukan apakah penambahan indeks akan meningkatkan unjuk kerja sistem. Ada tiga jenis indeks yaitu: • Primary index 39 Pengindeksan dilakukan pada kolom kunci (key field), yang diurutkan terlebih dahulu secara sekuensial. • 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 Begg,Connoly, 2002, p1155). • Secondary index Pengindeksan yang dilakukan pada kolom yang tidak terurut di dalam file data Begg,Connoly, 2002, p1155). Langkah 5.4 Memperkirakan kebutuhan disk space Memperkirakan besarnya ruang penyimpanan yang dibutuhkan untuk mendukung implementasi basis data pada tempat penyimpanan kedua. Hal ini sangat tergantung pada target DBMS dan perangkat keras yang digunakan. Perkiraan ukuran dapat dilakukan dengan mengukur besar data tiap baris dan jumlah baris pada setiap relasi. Langkah 6 Merancang user view Bertujuan untuk merancang pandangan pengguna yang diidentifikasikan selama tahap pengumpulan kebutuhan dan analisa pada daur hidup aplikasi basis data relasional (database application lifecycle). Langkah 7 Mekanisme Keamanan Bertujuan untuk menentukan bagaimana kebutuhan keamanan akan direalisasikan. Keamanan bagi basis data sangat diperlukan karena basis data 40 merupakan sumber daya perusahaan yang penting. Dua tipe keamanan basis data Begg,Connoly, 2002, p502), yaitu: • Keamanan sistem Memberikan perlindungan terhadap akses dan penggunaan basis data pada tingkat sistem, seperti user name dan password. • Keamanan data Memberikan perlindungan akses dan penggunaan objek basis data, sepeti relasi dan view dan aksi terhadap objek yang dapat dimiliki oleh pemakai. Langkah 8 Mempertimbangkan pengenalan pengontrolan redundancy Untuk menentukan apakah pengenalan pengontrolan redundancy dengan mengendurkan aturan normalisasi akan meningkatkan unjuk kerja sistem. Langkah 9 Memantau operasional sistem Bertujuan untuk memantau operasional sistem dan meningkatkan unjuk kerja sistem untuk memperbaiki keputusan desain yang tidak sesuai atau menggambarkan kebutuhan-kebutuhan perubahan. 2.1.2.6 Mendesain Aplikasi (Application Design) Desain aplikasi merupakan desain dari user interface dan program aplikasi yang menggunakan dan memproses basis data (Begg, Connolly, 2002, p287). Terdapat dua aspek desain aplikasi, yaitu: desain transaksi dan desain tampilan bagi user 41 2.1.2.6.1 Desain Transaksi Transaksi merupakan sebuah aksi, atau sekumpulan aksi yang dibawa oleh user atau program aplikasi, yang mengakses atau merubah isi dari basis data (Begg, Connolly, 2002, p288). Tujuan dari mendesain transaksi adalah untuk menemukan dan mendokumentasikan high-level karakteristik dari transaksi yang dibutuhkan pada basis data, mencakup: • Data yang akan digunakan oleh transaksi; • Karakteristik fungsional dari transaksi • Output dari transaksi • Rata-rata pemakaian yang diharapkan Terdapat tiga tipe dari transaksi, diantaranya adalah: a. Retrieval transaksi, digunakan untuk meretrieve data untuk tampilan dilayar atau untuk produksi report. b. Update transaksi, digunakan untuk memasukkan record baru, menghapus record lama, atau memodifikasi record yang ada dalam basis data. c. Transaksi campuran, yang mencakup kedua transaksi, baik retrieval dan update data. 2.1.2.6.2 Desain Tampilan Bagi User Sebelum pengimplementasian sebuah form atau report, penting untuk mendesain layout. Berikut ini adalah aturan-aturan untuk mendesain user interface (Begg, Connolly, 2002, p289): • Judul yang mempunyai arti 42 Informasi yang ada pada judul harus jelas dan tidak ambiguous dalam menjelaskan form atau report. • Instruksi yang komprehensif Instruksi harus jelas, dan ketika informasi tambahan dibutuhkan, menu bantuan harus tersedia. • Pengelompokan secara logikal dan mengurutkan field-field Field-field yang berhubungan harus mempunyai posisi yang sama dalam form/report. Pengurutan dari field harus logikal dan konsisten. • Tampilan yang atraktif dari form/report Form/report harus menampilkan tampilan yang atraktif bagi user. Tidak boleh ada daerah dari form/report yang mempunyai terlalu banyak atau terlalu sedikit field. • Nama-nama field yang familiar Nama field harus familiar bagi user. • Consistent terminology dan abbreviations An agreed list dari familiar term dan abbreviation harus digunakan konsisten. • Penggunaan warna yang konsisten Warna harus digunakan untuk meningkatkan penampilan dari form/report dan untuk menandai field penting atau pesan penting. • Spasi dan batasan untuk setiap field data entry Seorang user harus memperhatikan secara visual dari total jumlah dari tempat yang tersedia untuk setiap field. 43 • Pergerakan cursor yang nyaman Seorang user harus mengidentifikasi dengan mudah operasi yang dibutuhkan untuk menggerakkan cursor didalam form/report. • Pengecekan kesalahan untuk karakter individual dan seluruh field Seorang user harus mengidentifikasi dengan mudah operasi yang dibutuhkan untuk membuat masukan untuk nilai field. Mekanisme yang sederhana harus tersedia seperti menggunakan key Backspace. • Pesan kesalahan untuk nilai yang tidak dapat diterima Jika user memasukkan nilai yang salah kedalam field, sebuah pesan kesalahan harus ditampilkan. Pesan harus menginformasikan kepada user dari kesalahan yang terjadi. • Optional field harus ditandai dengan jelas Optional field harus jelas diidentifikasikan untuk user. Hal ini dapat dilakukan menggunakan sebuah nama field yang tepat atau dengan menampilkan field menggunakan warna yang mengindikasikan tipe dari field. • Pesan informasi bagi setiap field Ketika seorang user menempatkan cursor pada field, informasi tentang field harus muncul dilayar. • Completion signal Harus jelas bagi user ketika proses pengisian field pada form sudah selesai. 2.1.2.7 Prototyping 44 Prototype merupakan membangun sebuah model kerja dari aplikasi basis data. Tujuan utama mengembangkan suatu aplikasi basis data prototype adalah mengijinkan para pemakai menggunakan prototype itu untuk mengidentifikasi fitur sistem yang bekerja dengan baik, bahkan meningkatkan fitur baru bagi aplikasi basis data. Dengan demikian, kita dapat memperjelas kebutuhan pemakai dan pengembang sistem dan mengevaluasi kelayakan desain sistem tertentu (Begg, Connolly, 2002, p292). Ada dua strategi dari prototype yaitu menentukan kebutuhan prototype dan membuat prototype evolusioner. Kebutuhan prototype berguna untuk menentukan kebutuhan suatu aplikasi basis data yang diusulkan dan ketika kebutuhan terhadap basis data tersebut sudah lengkap maka prototype tidak digunakan lagi. Prototype evolusioner digunakan untuk tujuan yang sama, perbedaannya adalah bahwa prototype tidak dibuang, tetapi dengan pengembangan lebih lanjut prototype tersebut bekerjasama dengan aplikasi basis data. 2.1.2.8 Implementasi (Implementation) Implementasi merupakan perwujudan fisik dari basis data dan desain aplikasi (Begg, Connolly, 2002, p292). Pada tahap penyelesaian desain (dimana dapat melibatkan pembuatan prototype atau tidak), dapat diterapkan basis data dan program aplikasi yang telah dibuat. Implementasi basis data dapat dicapai dengan menggunakan DDL (Data Definition Language) yang telah dipilih atau 45 dengan menggunakan GUI (Graphical User Interface). Keamanan dan kontrol integrity untuk aplikasi juga dapat diimplementasikan. 2.1.2.9 Konversi dan Loading Data (Data Conversion and Loading) Pemindahan data yang ada di dalam basis data baru dan konversi aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru (Begg, Connolly, 2002, p293). Langkah ini hanya diperlukan ketika suatu sistem basis data baru sedang menggantikan sistem basis data yang lama. Dewasa ini DBMS mempunyai peralatan yang dapat dipakai untuk mengisi file yang ada ke dalam basis data yang baru, peralatan ini membutuhkan spesifikasi sumber file dan target basis data dan kemudian secara otomatis mengkonversi data pada format yang diperlukan basis data yang baru. 2.1.2.10 Testing Merupakan proses eksekusi program aplikasi dengan tujuan menemukan kesalahan. Dengan menggunakan perencanaan strategi test dan data yang sebenarnya sehingga seluruh proses testing dapat berjalan dengan baik (Begg, Connolly, 2002, p293). Seperti dalam desain basis data, user dari sistem baru ini harus dilibatkan dalam proses testing. Jika data yang sebenarnya yang digunakan, kita perlu membuat back-up, apabila terjadi kesalahan. Setelah testing selesai, sistem aplikasi siap untuk dipindah tangankan pada user. 2.1.2.11 Pemeliharaan Operasional (Operational Mainenance) 46 Merupakan proses memonitor dan memelihara sistem beserta instalasinya (Begg, Connolly, 2002, p293). Langkah pemeliharaan mencakup dari aktivitas sebagai berikut: • Memonitor performansi sistem • Memelihara dan mengup-grade aplikasi basis data (jika diperlukan) Proses memonitor ini dilakukan secara kontinu dan pada waktu tertentu boleh melakukan organisasi ulang basis data untuk mencukupi kebutuhan sistem. Perubahan ini menyediakan informasi pada evolusi sistem dan sumber daya yang pada masa yang akan datang mungkin diperlukan. 2.1.3 State Transition Diagram Menurut Yourdon (1989, p263), STD merupakan suatu modelling tools yang menunjukkan berbagai model tingkah laku (disebut state) sistem dan cara membuat transisi dari state ke state yang lainnya. Jadi, STD menggambarkan sifat ketergantungan pada waktu dari suatu sistem. Diagram ini menggambarkan urutan dan variasi dari layar yang muncul saat pengguna sistem menggunakan terminal tersebut. STD memiliki dua komponen utama yaitu : • State Gambar 2.9 Contoh State dalam STD • Transition state 47 Gambar 2.10 Contoh Transition State dalam STD Setiap STD memiliki initial dan final state. Initial state harus berjumlah satu dalam setiap STD, tetapi final state tidak harus satu (bisa beberapa state). Selain itu untuk melengkapi STD diperlukan dua hal lagi, yaitu: • Condition adalah suatu event pada external environment yang dapat dideteksi oleh sistem. Contoh : tekanan tombol dari user, input user, dan sebagainya. • Action adalah yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap condition. Action akan menghasilkan output, message display pada layar, kalkulasi, dan sebagainya Berikut ini adalah contoh penulisan dari STD : Condition Action Gambar 2.11 Contoh penulisan STD 2.2 Teori Khusus 2.2.1 Marketing Menurut American Marketing Association, marketing adalah suatu fungsi organisasional dan sebuah set proses untuk membuat, berkomunikasi, dan mengirimkan nilai kepada pelanggan dan untuk mengatur hubungan pelanggan untuk keuntungan perusahaan dan pemegang saham. Selanjutnya menurut Philip 48 Kotler marketing adalah aktivitas manusia yang ditujukan untuk memuaskan tujuan dan keinginan melalui proses pertukaran (Philip Kotler). Dan menurut Chartered Institute of Marketing, marketing adalah proses manajemen untuk mengantisipasi, identifikasi, dan pemuasan kebutuhan pelanggan. 2.2.1.1 Sejarah Marketing Praktek dari marketing hampir seumur dengan manusia sendiri. Kapanpun seseorang memiliki sebuah barang atau mampu melakukan suatu servis jasa, dan dia mencari orang lain yang mungkin menginginkan barang atau jasa tersebut, orang tersebut sudah melakukan praktek marketing. 2.2.2 Unsur-unsur marketing 2.2.2.1 Pasar Pasar adalah sebenarnya sebuah tempat berkumpul dimana orang-orang dengan supply barang atau kapasitas melakukan servis bisa bertemu dengan orang-orang yang membutuhkan barang atau servis tersebut. Pertemuan semacam ini mempengaruhi semua aspek marketing pada saat ini, walaupun melalui jalan informal. Saat ini pada umumnya perusahaan-perusahaan sudah berfokus pada produk, memperkerjakan satu tim salesman untuk mendorong produk mereka ke pasar, tanpa melihat kebutuhan pasar. Sebaliknya untuk perusahaan dengan 49 market focus atau customer focus, perusahaan terlebih dahulu melakukan survei mengenai kebutuhan pasar untuk kemudian membuat produk yang diinginkan. 2.2.2.2 Teori dan praktek marketing Teori dan praktek marketing dijalankan berdasarkan kepercayaan bahwa pelanggan menggunakan produk/jasa karena mereka membutuhkan atau karena produk/jasa tersebut memiliki keuntungan tersendiri. Dua aspek besar dalam marketing adalah perekrutan pelanggan baru dan pengembangan hubungan dengan pelanggan yang telah ada. (base management). Proses dari base management memaksa marketer untuk membangun hubungan, meningkatkan keuntungan untuk menjadi tempat pertama untuk pembeli, dan meningkatkan produk/jasa secara berkesinambungan untuk melindungi bisnisnya dari pesaing. 2.2.2.3 Aspek utama dalam marketing • Product Manajemen produk dan marketing produk berhubungan dnegan spesifikasi dari produk/jasa dan bagaimana hal itu berhubungan dengan kebutuhan end users. • Pricing Pricing berhubungan dengan proses penentuan harga untuk sebuah produk, termasuk diskon harga. 50 • Promotion Promostion ini termasuk iklan, sales promotion, publikasi dan penjualan personal. • Placement Placement/distribusi berhubungan dengan bagaimana suatu produk sampai kepada pelanggan. • People Semua orang yang berhubungan dengan pelanggan • Process Proses meliputi penyediaan jasa dan tingkah laku pelanggan yang bisa sangat penting untuk kepuasan pelanggan. • Physical evidence Tidak seperti produk, jasa tidak dapat dirasakan sebelum digunakan, hal ini membuat pelanggan potensial bisa merasakan resiko yang sangat besar sewaktu menentukan apakah ingin menggunakan servis tersebut atau tidak. Untuk mengurangi resiko tersebut, maka sangat vital untuk menawarkan pelanggan potensial kesempatan untuk melihat akan seperti apa servis yang akan dipakai. Hal ini bisa dilakukan dengan menyediakan bukti fisik. 2.2.2.4 Pendekatan pasar Secara umum ada 2 cara dalam melakukan hal ini : • Customer-driven approach 51 Cara ini menerapkan konsumen mengendalikan strategi marketing. Tidak ada strategi yang dikeluarkan sebelum melewati test riset konsumen. Semua aspek marketing termasuk produknya sendiri, disesuaikan dengan kebutuhan konsumen. Keuntungan dari pendekatan ini adalah tidak ada pemborosan dalam pengeluaran biaya Research and Development produk yang konsumen tidak akan beli. • Product innovation approach Pendekatan ini menggunakan ide bahwa pengeluaran produk yang tinggi dan bervariasi untuk memenuhi kebutuhan konsumen. Dalam pendekatan produk inovasi, perusahaan melakukan inovasi produk kemudian dicoba untuk mengembangkan pasar untuk produk tersebut. Inovasi produk memastikan riset dan proses marketing untuk masuk ke segmen pasar yang menguntungkan. Secara logika maksudnya adalah pelanggan tidak tahu kapan pilihan yang diinginkan akan dikeluarkan di masa mendatang, sehingga kita tidak harus berharap mereka memberitahukan apa yang akan dibeli pada masa mendatang. Dikatakan bahwa jika Thomas Edison bergantung pada riset marketing dia akan memproduksi lilin dibandingkan dengan menemukan bohlam. 2.2.3 Advertising and promotions 52 Bisnis membutuhkan advertising untuk empat alasan utama: 1.meningkatkan kesiagaan pelanggan 2.mengingatkan pelanggan akan fasilitas yang telah ada 3.membujuk pelanggan berpindah dari bisnis saingan 4.meningkatkna dan menjaga image dari bisnis Tujuan utama dari point-point diatas adalah untuk menarik lebih banyak pelanggan. Tempat untuk advertising tergantung pada 3 hal : 1. Pendengar 2. Besarnya pasar 3. Besarnya dana untuk advertising 2.2.3.1 Bentuk-bentuk advertising Bentuk-bentuk advertising : 1. Media Cetak a) Koran / Majalah • Keuntungan : Banyak informasi bisa disampaikan dalam beberapa lembar kertas • Kerugian : Umumnya tidak berwarna dan statis b) Poster / Billboards • Keuntungan : 53 Menguntungkan secara visual untuk jangka waktu yang lama dan akan dilihat oleh berbagai orang yang berbeda. • Kerugian : Hanya dilihat beberapa detik oleh pengemudi dan tidak tahan terhadap cuaca dan coretan. 2. Media Televisi 3. Media Radio 4. Media Film 5. Selebaran 6. Telepon 7. Websites 8. PopUp Desktop