BAB 2 LANDASAN TEORI 2.1 Teori Dasar Database Teori-teori dasar yang akan di gunakan sistem database yaitu: 2.1.1 Pengertian sistem Definisi sebuah sistem mempunyai peranan yang sangat penting di dalam pendekatan untuk mempelajari sebuah sistem. Pendekatan sistem yang merupakan kumpulan dari elemen-elemen, komponen-komponen, dan sub-sub sistem merupakan definisi yang lebih luas. Menurut Jogiyanto H.M ( 2001 : 2) Sistem adalah kumpulan elemen-elemen yang saling berinteraksi satu sama lain untuk mencapai tujuan yang telah ditetapkan. Sebuah sistem terdiri dari bagian-bagian yang saling berkaitan yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud, tujuan dan sasaran yang sama. Menurut James A. O brien(2003, p8), sistem adalah kumpulan elemen yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau sekumpulan komponen yang saling terhubung dan bekerja sama untuk mencapai sasaran dengan menerima input dan menghasilkan output dalam sebuah proses transformasi yang terorganisir. 8 9 2.1.2 Pengertian Basis Data Basis data adalah suatu kumpulan data komputer yang terhubung secara logikal serta berisi deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari suatu perusahaan. (Connolly dan Begg, 2005, p15). Sedangkan Menurut Inmon (2002, p388), basis data adalah sekumpulan data yang saling berhubungan dan disimpan (biasanya telah terkontrol dan memiliki redundansi yang terbatas) berdasarkan suatu skema. Dan menurut Atzeni et al (2003, p2), basis data adalah sebuah kumpulan data yang digunakan untuk menjelaskan informasi suatu hal ke sebuah sistem informasi. Menurut Gordon C. Everest (2005, p17) Database adalah koleksi atau kumpulan data yang mekanis, terbagi/shared, terdefinisi secara formal dan dikontrol terpusat pada organisasi. Dari berbagai sumber diatas dapat disimpulkan bahwa basis data adalah suatu data berisi kumpulan data yang saling berhubungan yang mendeskripsikan berbagai entitas dan hubungan antar entitas yang dirancang untuk memenuhi kebutuhan informasi organisasi. Database merupakan data yang saling terhubung dan deskripsi dari data yang dirancang untuk kebutuhan organisasi (Connolly dan Begg, 2005, p15). Menurut McLeod dan Schell (2004, p196) database system adalah sistem penyimpanan 10 informasi yang terorganisasi dengan suatu cara sehingga memudahkan untuk proses pengolahan data. Menurut Paolo(2003, p2), database adalah sekumpulan data yang di gunakan untuk merepresentasikan informasi yang diinginkan dan diimplementasikan kedalam system. Tujuan utama pengelolaan data dalam database adalah agar kita dapat memperoleh data yang kita cari dengan mudah dan cepat. Pemanfaatan database dilakukan untuk memenuhi sejumlah tujuan seperti berikut ini: Kecepatan dan kemudahan (speed) Efisiensi ruang penyimpanan (space) Keakuratan (accuracy) Ketersediaan (availability) Kelengkapan (completeness) Keamanan (security) Kebersamaan pemakaian (sharability) Dalam penggunaanya, database memiliki beberapa keuntungan yaitu: 1. Mengurangi kesalahan yang disebabkan oleh faktor manusia. Tugas mekanis lebih baik dilaksanakan oleh mesin. 2. Komputer dapat mengambil dan mengubah data lebih cepat dari manusia. 3. Akurat dan informasi terbaru selalu tersedia setiap saat. 4. Menghemat ruangan karena tidak perlu menyediakan ruangan penyimpanan kertas file yang sangat banyak. 11 2.1.3 Database Management System (DBMS) 2.1.3.1 Definisi DBMS Menurut Connolly dan Begg (2005, p16) Database Management System (DBMS) merupakan suatu sistem perangkat lunak (software) yang membantu pemakai dalam mendefinisikan, memelihara, membuat, mengatur dan mengontrol akses pada suatu basis data. Fasilitas-fasilitas yang disediakan oleh DBMS adalah sebagai berikut (Connolly dan Begg, pp16-17) : Memperbolehkan user untuk menambah data, mengubah data menghapus data, dan menemukan data. Biasanya dengan menggunakan suatu Data Manipulation Language (DML). Biasanya ada suatu fasilitas untuk melayani pengaksesan data yang di sebut sebagai Query Language. Bahasa query yang paling diakui adalah Structured Query Language (SQL), yang secara faktanya merupakan standar bagi DBMS. Penyediaan akses yang terkontrol ke basis data seperti : • Sistem keamanan(security system) • untuk mencegah user yang tidak berwenang untuk mengakses file-file yang bukan haknya. • Sistem terintegrasi (integrity system) 12 untuk menjaga konsistensi data. • Sistem control pengembalian(Recovery Control System) Untuk memperbaiki data-data jika sebelumnya terjadi kerusakan-kerusakan pada perangkat keras atau perankgat lunak. • Katalog yang dapat diakses user (User accessible catalog) suatu catatan dari deskripsi data-data dalam database. 2.1.3.2 Keuntungan dan kekurangan dari DBMS Menurut Connolly dan Begg (2005, p26) keuntungan dari DBMS antara lain : 1. Dapat menghindari data-data sama yang disimpan berulang kali (control of data redundancy). 2. Data menjadi lebih konsisten. 3. Bisa didapat informasi yang lebih banyak dari kumpulan data-data yang sama, dengan permasalahan tertentu. 4. Data-data yang sama dapat di gunakan bersama-sama oleh useruser yang berbeda-beda (shared data). 5. Meningkatkan keamanan. 6. Penetapan Standarisasi. 7. Kebutuhan-kebutuhan yang berbeda-beda dapat di penuhi dengan mudah. 13 8. Meningkatkan kemampuan akses data dan kecepatan prosesnya. 9. Meningkatkan produktifitas. 10. Meningkatkan intregitas data. 11. Layanan back up dan recovery semakin baik. Sedangkan kerugian penggunaan DBMS menurut Connolly dan Begg (2005, p29) antara lain : 1. Proses didalamnya lebih rumit. 2. Mempunyai kapasistas/size yang lebih di memori. 3. Biaya dari suatu DBMS. 4. Membutuhkan biaya tambahan untuk perangkat keras jika DBMS yang digunakan menuntut penggunaan jenis DBMS tertentu. 5. Kinerja aplikasi tidak berjalan cepat seperti seharusnya karena adanya DBMS 6. Mengurangi performa penggunaan aplikasi. 7. Kegagalan dapat berdampak lebih kuat 2.1.4 Structured Query Language (SQL) SQL adalah bahasa yang dipergunakan untuk mengakses data dalam basis data relation. Bahasa ini secara defacto merupakan bahasa standar yang digunakan dalam manajemen basis data relational. Saat ini hampir semua server basis data yang ada mendukung bahasa ini dalam manajemen datanya. 14 SQL muncul berawal dari sebuah artikel yang membahas tentang ide pembuatan basis data relational pada tahun 1970 oleh seorang peneliti IBM bernama EF Codd. Artikel ini juga membahas tentang kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut diberi nama SEQUEL (Structured English Query Language) yang kemudian berganti nama menjadi SQL karena bermasalah dengan hukum. Pada tahun 1970-an, sebuah perusahaan yang bernama Oracle membuat server basis data yang bernama sesuai dengan nama perusahaannya. Seiring naiknya kepopuleran Oracle, maka SQL juga ikut popular sehingga menjadi standar bahasa dalam manajemen basis data. 2.1.5 Daur Hidup database Menurut Connolly dan Begg (2005, p283), sistem basis data adalah komponen penting dari suatu sistem informasi sebuah perusahaan atau organisasi yang besar. Aplikasi daur hidup basis data adalah pengumpulan pewarisan dengan daur hidup dari sistem informasi. Sebagai contoh, masalah yang dihadapi selama perancangan basis data mengharuskan penambahan koleksi dan analisis kebutuhan. Berikut ini adalah tahap-tahap pengembangan aplikasi database yang terdiri atas beberapa tingkat dengan mengandung beberapa kegiatan utama, yaitu : 15 1. Perencanaan database Merancanakan bagaimana tahap-tahap siklus kehidupan dapat dilaksanakan dengan efisien dan efektif. 2. Definisi system Menspesifikasikan ruang lingkup dan batasan-batasan dari aplikasi database, penggunaanya dan area aplikasi. 3. Mengumpulkan dan menganalisis kebutuhan Mengumpulkan dan menganalisa kebutuhan dari user dan area aplikasi. 4. Perancangan database Perancangan database secara konseptual, logikal, dan fisikal. 5. Pemilihan DBMS Memilih DBMS yang sesuai untuk di aplikasikan ke system yang kita buat. 6. Perancangan aplikasi Mendesain user interface dan program-program aplikasi yang memakai dan memproses database. 7. Pembuatan prototype Membuat model kerja untuk aplikasi database yang dapat digunakan oleh perancang atau pengguna untuk memvisualisasikan dan mengevaluasi bagaimana akhir system akan terlihat dan bagaimana system tersebut akan berfungsi. 16 8. Implementasi Membuat definisi database eksternal, konseptual, dan internal dan program-program aplikasi. 9. Data conversion dan loading Memindahkan data dari system yang lama ke system yang baru. 10. Melakukan testing Pengujian aplikasi database untuk mencari kesalahan dan menunjukkan bahwa database dan DBMS dapat bekerja dengan baik dengan kebutuhan user. 11. Operational Maintenance (Perawatan Operasional) Aplikasi database yang telah diimplementasikan secara penuh. Sistemnya akan terus dimonitor dan diajaga. Bila perlu, kebutuhan baru akan ditambahakan kedalam aplikasi database melalui tahaptahap dari siklus hidup sebelumnya. Berikut ini langkah-langkah dalam rangka perawatan operasional: • Mengawasi kinerja sistem. • Mempertahankan dan meng-upgrade aplikasi basis data (ketika dibutuhkan) 17 Gambar 2.1 Siklus Hidup Aplikasi BasisData ( Sumber : Connolly dan Begg, 2005, p284) 18 2.1.6 Entity-Relationship Modeling Entity-Relationship Modeling adalah salah satu bentuk pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasi data-data penting yang disebut entities dan hubungan (relationship) antara data-data tersebut harus direpresentasikan dalam bentuk model. (Connolly dan Begg, 2005, p342). Berikut ini penjelasan konsep dasar dari ER Modeling, sebagai berikut: 2.1.6.1 Entity types Menurut Connolly dan Begg (2005, p343), tipe entitas adalah sekumpulan objek dengan property yang sama yang di identifikasikan oleh perusahaan dan memiliki keberadaan yang bebas atau tidak tergantung. Entity Occurance adalah uatu objek dari tipe entitas yang dapat diidentifikasikan secara unik. Tipe entitas dibedakan menjadi dua yaitu : • Strong Entity type yaitu tipe entitas yang keberadaanya tidak tergantung kepada tipe entitas lain. • Weak Entity Type yaitu entitas yang keberadaanya bergantung kepada tipe entitas yang lain. 19 Gambar 2.2 Strong Entity dan Weak Entity. 2.1.6.2 Relationship types Menurut Connolly dan Begg (2005, pp346), tipe relationship atau hubungan adalah suatu kumpulan atas asosiasi yang memiliki arti di antara tipe entitas. Tiap-tiap tipe relationship diberikan nama yang menjelaskan fungsinya masing-masing. Derajat dari tipe relationship (hubungan) adalah banyaknya tipe entitas yang berpartisipasi di dalam suatu relationship. 20 2.1.6.3 Attributes Merupakan sifat-sifat (property) dari sebuah entitas atau relationship type. Contohnya: sebuah entitas Staff digambarkan oleh atribut staffNo, name, position, dan salary. Attribute Domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Macam-macam atribut : a. Simple Attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. b. Composite Attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing kompenen memiliki keberadaaan yang independen. Misalkan Attribute Address dapat terdiri dari Street, City, PostCode. c. Single-valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian. d. Multi-valued Attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entitas Branch 21 memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian. e. Derived Attribute, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. 2.1.6.4 Keys Menurut Connolly dan Begg (2005, p352), Keys memiliki peran yang sangat penting untuk menghubungkan satu obyek dengan obyek yang lainnya. Keys diletakkan pada suatu atribut yang telah ditentukan kedudukannya, agar dapat dihubungkan dengan atribut pada entitas yang lain. Beberapa jenis keys yang biasa digunakan, menurut Connolly dan Begg (2005, p352), antara lain: 1. Candidate key Candidate key yaitu himpunan atribut minimal yang secara unik mengidentifikasikan tiap-tiap keberadaan suatu tipe entitas. 2. Primary key Primary key yaitu candidate key yang dipilih secara unik untuk mengidentifikasikan tiap-tiap keberadaan suatu tipe entitas. 22 3. Foreign key Foreign key adalah Sebuah kumpulan field dalam satu relasi yang digunakan untuk menunjuk ke suatu baris pada relasi yang lain (harus berkorespondensi dengan primary key pada relasi yang kedua) 4. Alternate key Alternate key yaitu candidate key yang tidak terpilih menjadi primary key. 2.1.6.5 Structural Constraints Menurut Connoly dan Begg (2005, p356), multiplicity adalah jumlah dari kejadian yang mungkin dari sebuah tipe entitas yang berhubungan kepada sebuah kejadian tunggal dari tipe entitas yang terasosiasi melalui relationship (hubungan) tertentu. Derajat yang bisa digunakan untuk relationship (hubungan) adalah binary. Binary relationship terdiri atas : 1. One to One (1:1) Relationship Setiap relationship mewakili hubungan antara satu kejadian entitas Staff dan suatu kejadian entitas Branch. Dengan kata lain, seorang staf dapat mengatur nol atau suatu branch dan setiap branch diatur seorang staf. 23 Gambar 2.3 One to One Relationship. 2. One to Many (1:*) Relationship Setiap relationship mewakili hubungan antara satu kejadian entitas Staff dan satu kejadian entitas Staff. Dengaan kata lain, seorang admin dapat mengawasi nol atau lebih properti dan sebuah property diawasi oleh nol atau satu admin. Gambar 2.4 One to Many Relationship. 3. Many to Many (*:*) Relationship Setiap relationship mewakili hubungan antara satu kejadian entitas Newspaper dan satu kejadian entitas PropertyForRent. Dengan kata lain, satu Newspaper mengiklankan satu atau lebih properti dan satu property diiklankan pada nol atau lebih newspaper. 24 Newspaper Advertises NewspaperName 1…* 0…* PropertyForRent PropertyNo Gambar 2.5 Many to Many Relationship. 2.1.7 Metodologi Perancangan Basis Data 2.1.7.1 Metode Perancangan Basis Data Menurut Connolly dan begg (2005, pp438-441), perancangan basis data dibagi menjadi tiga tahap utama, yaitu : 1. Perancangan Basis Data Konseptual 2. Perancangan Basis Data Logikal 3. Perancangan Basis Data Fisikal 2.1.7.2 Perancangan Konseptual Basis Data Proses pembentukan model dari informasi yang digunakan dalam perusahaan, bersifat independen dari keseluruhan aspek fisik (Connolly dan Begg, 2005, p439). Pertimbangan fisik yang dimaksud meliputi DBMS yang akan digunakan, program aplikasi, bahasa pemrograman, platform pertimbangan fisik lainnya. perangkat keras, unjuk kerja, dan 25 Pada konseptual basis data desain ini terdiri dari langkah-langkah sebagai berikut : Langkah 1 : membangun data model konseptual local untuk setiap view. 1.1 Mengidentifikasi tipe entiti Tipe entitas dapat dikendalikan dengan mengidentifikasikan kata benda atau frase kata benda pada spesifikasi kebutuhan user, objek besar seperti orang (people), tempat (place), benda (thing) atau konsep (concept). Alternatif lain adalah dengan mencari objek yang keberadaannya bebas. 1.2 Mengidentifikasi tipe relasi Pada tahapan ini bertujuan untuk mengidentifikasi relasi yang penting yang ada antara tipe entitas-tipe entitas yang telah diidentifikasi sebelumnya. Tipe relasi diidentifikasikan dengan mencari kata kerja atau suatu kata yang berhubungan dengan kata kerja. Misalnya : a. Staff mengatur Property b. PrivateOwner mempunyai Property 26 1.3 Mengidentifikasi dan menghubungkan atribut dengan entitas atau tipe entitas Pada tujuannya untuk menghungkan atribut dengan entitas dan tipe relasi yang tepat. Atribut yang dimiliki oleh setiap entitas dan relasi harus memenuhi karakteristik atribut yaitu simple/composite attribute, single/multi-valued attribute, dan derived attribute. 1.4 Menentukan domain atribut Domain adalah sekumpulan nilai dimana satu atau lebih atribut memperoleh nilainya. Contoh menentukan domain pada atribut JenisKelamin di entitas pegawai adalah dengan ‘L’ atau ‘P’. 1.5 Menentukan candidate dan primary key dari atribut Candidate key adalah set atribut minimal dari sebuah entitas yang secara unik mengidentifikasi setiap kemunculan dari entitas tersebut. Candidate key dapat diidentifikasi lebih dari satu, tetapi harus dipilih satu sebagai primary key, sedangkan candidate key yang lain disebut alternate key. Berikut adalah acuan dalam menentukan primary key dari candidate key : a. Candidate key dengan set atribut yang minimal b. Candidate key dengan nilai yang berubah paling sedikit 27 c. Candidate key dengan karakter paling sedikit d. Candidate key dengan isi maksimum yang paling sedikit e. Candidate key dengan yang termudah digunakan dari sudut pandang pengguna 1.6 Mempertimbangkan penggunaan konsep model yang lebih tinggi (enhanced modeling concepts) Tahap ini bersifat optimal, apakah akan digunakan pengembangan dari entity model dengan menggunakan enhanced modeling concept, seperti spesialisasi/generalisasi. 1.7 Memeriksa redudansi pada model Tahapan ini memeriksa model data konseptual lokal apakah terjadi duplikasi atau tidak, dengan dua langkah yaitu : a. 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 b. Menghilangkan relasi yang redundan Suatu relasi menjadi redundan jika informasi yang sama dihasilkan melalui relasi yang lainnya. Untuk meminimalkan data model maka relasi yang redundan harus dihilangkan. 28 1.8 Melakukan validasi model data konseptual lokal terhadap transaksi pengguna. Memeriksa model yang telah dihasilkan apakah mendukung transaksi pada view. Pemeriksaan ini dapat menggunakan dua langkah yaitu: a. Mendeskripsikan transaksi b. Menggunakan jalur transaksi 1.9 Memeriksa data konseptual lokal dengan pengguna Langkah ini dilakukan dengan tujuan untuk memastikan bahwa data model merupakan representasi yang benar bagi setiap pandangan. 2.1.7.3 Perancangan Logikal Basis Data Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan pada data model spesifik, dan terbebas dari DBMS dan semua pertimbangan fisik. Pada desain logikal basis data terdiri dari langkah-langkah sebagai berikut : 29 Langkah 2 : Membangun dan memvalidasi model data logikal lokal untuk setiap view. Tujuannya untuk membangun sebuah local logikal data model dari sebuah local konseptual data model yang mewakili pandangan tertentu dari organisasi dan kemudian melakukan validasi 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 : 1.1 Menghilangkan hal-hal yang tidak sesuai dengan model relational (optional) Model data konseptual lokal yang telah ada dapat mengandung struktur yang tidak dapat dimodelkan oleh DBMS konvensional, oleh karena itu pada tahap ini dilakukan perubahan menjadi bentuk yang lebih mudah ditangani oleh system ini. Langkah-langkahnya antara lain : a. Menghilangkan relasi binary many-to-many (*:*) b. Menghilangkan relasi rekursif many-to-many (*:*) c. Menghilangkan tipe relasi yang kompleks d. Menghilangkan atribut multi-valued 30 1.2 Mendapatkan relasi untuk model data logikal Membentuk relasi dari model data logikal lokal untuk merepresentasikan relasi antar entitas dengan attribut yang telah diidentifikasikan. Untuk mendapatkan relasi dari data model yang ada maka digunakan cara-cara berikut ini : a. Tipe entity yang kuat b. Tipe entity yang lemah c. Relasi binary one-to-many (1:*) d. Relasi binary one-to-one (1:1) e. Relasi recursive f. Tipe relasi superclass/subclass 1.3 Melakukan validasi relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model yang telah terbentuk agar duplikasi data yang tidak diperlukan dapat dihindari. 1.4 Melakukan validasi relasi dengan transaksi user 31 Bertujuan untuk memastikan bahwa relasi-relasi pada local logikal data model mendukung transaksi-transaksi yang dibutuhkan oleh pengguna, seperti terinci spesifikasi kebutuhan pengguna. 1.5 Mendefinisikan integrity constraints Integrity constraints adalah batasan-batasan yang harus ditentukan untuk melindungi basis data agar tetap konsisten (Connolly dan Begg, 2005, p474). Ada 5 tipe Integrity constraints, yaitu : a. Required data (data/nilai yang valid) b. Batasan domain attribute c. Entity integrity (primary key tidak boleh null) d. Referential integrity (foreign key pada suatu entitas harus sesuai dengan candidate key pada entitas lain) e. Enterprise constraint (batasan pada organisasi) 1.6 Meninjau kembali model data logial lokal dengan pengguna Memastikan model data logikal lokal yang terbentuk merupakan representasi dari user view. Untuk memvalidasi model data logikal ini digunakan Data Flow Diagram (DFD). DFD dapat menunjukan aliran data dari suatu organisasi. 32 Langkah 3 : Membangun dan validasi model data logikal global Bertujuan menggabungkan masing-masing local logikal data model menjadi sebuah global logikal data model yang menggambarkan organisasi dengan menyatukan masing-masing local logikal data model bagi setiap pandangan pengguna. 1.1 Menggabungkan model data logikal ke dalam model global Menggabungkan model data logikal individual ke dalam model data logikal global organisasi 1.2 Melakukan validasi model data logikal global Memvalidasi relasi yang telah dibuat dari model data global menggunakan teknik normalisasi dan memastikan relasi ini mendukung transaksi yang diperlukan. Langkah ini sama dengan langkah 2.3 dan 2.4 yang memvalidasi setiap model data logikal lokal. 1.3 Memeriksa perkembangan yang akan datang Bertujuan untuk memastikan apakah ada perubahan yang signifikan yang dapat diperkirakan dan memastikan apakah model data logikal global ini dapat mendukung perubahan-perubahan ini. 1.4 Memeriksa model data logikal global dengan user Memastikan bahwa data logikal global merupakan representasi nyata dari organisasi. 33 2.1.7.4 Perancangan Fisikal Basis Data Proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan relasi dasar, organisasi file, dan membuat indeks untuk mendapatkan akses yang efisien ke data, serta setiap integrity constraints yang saling berhubungan dan juga pengukuran sekuriti. Pada desain fisikal basis data ini terdiri dari langkah-langkah sebagai berikut : Langkah 4 : Menjelaskan model data logikal global untuk DBMS yang akan digunakan. Pada tahap ini akan dihasilkan suatu skema basis data relasional dari model data logikal global yang dapat diimplementasikan ke dalam DBMS yang akan digunakan. 1.1 Mendesain relasi dasar (base relations) Memutuskan bagaimana merepresentasikan relasi-relasi yang telah diidentifikasikan pada model data logikal global pada DBMS yang akan dipakai. 1.2 Mendesain representasi dari data yang diturunkan Memutuskan bagaimana merepresentasikan derived attribut dalam model data logikal global pada DBMS yang akan dipakai. 34 Langkah 5 : Mendesain gambaran fisik dari basis data Menentukan organisasi file yang akan digunakan dan indeks untuk menghasilkan performa yang diinginkan serta menentukan apa saja yang akan disimpan dalam secondary storage. 1.1 Menganalisa transaksi Memahami fungsi-fungsi dari transaksi yang akan dijalankan pada basis data dan menganalisa transaksi yang penting 1.2 Memilih organisasi file yang akan digunakan Menentukan organisasi file yang efisien. Ada 5 tipe organisasi file : a. Heap b. Hash c. Indexed Sequential Access Method (ISAM) d. B-tree e. Clusters 1.3 Memilih indeks yang digunakan Memutuskan apakah dengan menggunakan indeks akan meningkatkan performa dari system. 35 1.4 Memperkirakan disk space yang diperlukan Memperkirakan disk storage yang diperluka untuk menggunakan system basis data, disk storage yang dimaksud adalah secondary storage. Langkah 6 : Mendesain user view Mendesain user view yang telah diidentifikasi. Langkah 7 : Mendesain pengukuran keamanan (security) Membatasi pengaksesan basis data oleh pengguna yang tidak berhak dan menspesifikasi user terhadap basis data yang dapat diakses. Langkah 8 : Menentukan apakah redudansi data telah dapat dikontrol Dilakukan normalisasi agar dapat meningkatkan performa dari sistem dan menghilangkan redudansi. 2.1.8 Normalisasi Normalisasi adalah suatu teknik untuk menghasilkan himpunan relasi dengan atribut-atribut yang diinginkan berdasarkan kebutuhan-kebutuhan data suatu organisasi (Connolly dan Begg, 2005, p388). Tujuan dilakukannya normalisasi: 36 1. Untuk mencegah kemungkinan terjadinya update anomalies (redudansi data) Suatu bentuk kumpulan data dimana data-data yang sudah ada di simpan secara berulang-ulang sehingga mempersulit proses dan susah di pahami. Selain itu juga mengakibatkan pemborosan kapasistas memori dan penyimpanan. Ada 3 macam update anomalies, menurut Connolly dan Begg (2005, p.391), yaitu: a. Insertion Anomalies Penambahan data pada sutu table akan mempengaruhi table lain yang berasosiasi dengan table yang diubah. b. Deletion Anomalies Anomali yang berkaibat jika kita mendelete sebuah tupple pada satu table maka akan mempengaruhi perubahan pada table yang berasosiasi dengannya. c. Modification Anomalies Jika kita ingin mengubah nilai satu attributes dari sebuah tupple pada satu table maka kita harus mengubah informasi tersebut yang ada di table lain agar database tetap konsisten. 37 2. Untuk memvalidasi apakah kebutuhan bisnis sebenarnya sudah sesuai dengan bentuk relasinya. Tahapan normalisasi menurut Connolly dan Begg (2005, p.401), adalah sebagai berikut: 1. Unnormalization Form (UNF) Sebelum membahas bentuk normal yang pertama, kita mendefinisikan normal form awal yaitu Unnormalized form (UNF). UNF adalah sebuah tabel yang berisi satu atau lebih dari grup-grup yang berulang. (Connolly dan Begg, 2005, p403) 2. First Normal Form (1NF) First Normal Form (1NF) adalah sebuah relasi yang mana pemisahan dari setiap baris dan kolom berisi 1 dan hanya 1 nilai. (Connolly dan Begg, 2005, p403) Ada dua pendekatan untuk menghilangkan perulangan kelompok dari tabel yang belum dinormalisasikan : 1. Dengan memasukkan data ke dalam kolom kosong dari baris yang berisi perulangan data. Dengan kata lain, kita mengisi yang kosong dengan duplikat data yang tidak diulang, yang diinginkan. Pendekatan ini umumnya ditunjuk sebagai ‘flatenning’ pada tabel. 38 2. Dengan menempatkan perulangan data, sepanjang dengan sebuah salinan atribut kunci yang asli ke dalam sebuah relasi yang terpisah. Terkadang tabel yang belum dinormalisasi mungkin berisi lebih dari satu perulangan kelompok. Pada kasus seperti ini, pendekatan dapat diulang sampai tidak ada lagi perulangan yang terjadi. Sebuah set relasi dapat berada pada 1NF jika tidak terdapat perulangan kelompok. Untuk kedua pendekatan, tabel hasil sekarang ditunjuk sebagai hubungan berisi nilai atomic (tunggal) pada pemisahan dari setiap baris dan kolom. Walaupun kedua pendekatan itu benar, pendekatan pertama mengenalkan lebih banyak kelebihan menjadi tabel UNF asli sebagai bagian dari proses flattening, padahal pendekatan kedua membuat dua atau lebih relasi dengan perulangan yang lebih sedikit daripada tabel UNF yang asli. Dalam kata lain, pendekatan kedua memindahkan tabel UNF asli lebih jauh sepanjang proses normalisasi daripada proses pendekatan pertama. Tetapi pendekatan manapun yang diambil, bukan menjadi masalah karena tabel UNF asli akan dinormalisasi menjadi set yang sama dari relasi 3NF. 3. Second Normal Form (2NF) Second Normal Form (2NF) adalah sebuah relasi yang terdapat pada First Normal Form dan setiap atribut selain primary key 39 sepenuhnya bergantung fungsinya pada primary key. (Connolly dan Begg, 2005, p407) Normalisasi dari hubungan 1NF ke 2NF melibatkan pemindahan sebagai ketergantungan. Jika sebuah ketergantungan sebagian terjadi, maka kita harus menyingkirkan atribut ketergantungan sebagian dari relasi dengan menempatkan mereka pada sepanjang relasi yang baru dengan salinan dari faktor penentu mereka. 4. Third Normal Form (3NF) Third Normal Form (3NF) adalah sebuah relasi yang terdapat pada First Normal Form dan Second Normal Form dan dimana tidak terdapat atibut yang bukan primary key yang bergantung sepenuhnya pada primary key. (Connolly dan Begg, 2005, p409) Normalisasi dari hubungan 2NF ke 3NF melibatkan ketergantungan secara lengkap. Jika terdapat atribut ketergantungan secara lengkap dari relasi dengan menempatkan atribut pada sepanjang relasi yang baru dari salinan dari faktor penentu mereka. 40 2.2. Penggunaan tools 2.2.1 Data Flow Diagram(DFD) Data Flow Diagram (DFD) merupakan alat yang digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir ataupun lingkungan fisik dimana data tersebut akan disimpan (Jogiyanto, HM, 2005 :700). DFD adalah suatu teknik analisa struktur dimana system analyst bisa meletakkan semua representasi grafis dari proses data yang melalui organisasi (Kendall, 2005, p192). DFD adalah Diagram yang menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika, tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir atau dimana data tersebut akan di simpan. Simbol – simbol yang di gunakan DFD : 1. Aliran data (Data Flow) Simbol : Aliran data adalah data yang bergerak dan berpindah sebagai suatu unit dari satu tempat ke tempat lain didalam sistem. Aliran data bisa terdiri dari banyak bagian data individual yang digunakan secara bersamaan dan bergerak bersama ke suatu tujuan. 41 2. Penyimpanan data (Data Store) Simbol : Penyimpanan data adalah data saat data tidak digunakan. Penyimpanan data bisa merepresentasikan satu atau banyak lokasi fisikal untuk data termasuk suatu folder file, satu atau lebih file berbasis komputer, atau suatu notebook. Konfigurasi fisikal tidak terlalu penting untuk mengerti pergerakan dan penanganan data didalam sistem. 3. Proses (Process) Simbol : Proses adalah suatu pekerjaan atau aksi yang dikerjakan di data sehingga mereka ditransformasikan, disimpan dan didistribusikan. Saat pemodelan pemrosesan data dari sistem, tidak perlu diperhatikan proses dilakukan secara manual atau oleh komputer. 42 4. Sumber (Source) Simbol : Sumber adalah tempat dan tujuan dari data. Sumber terkadang berarti external entities karena berada di luar sistem. Sekali diproses, data atau informasi meninggalkan sistem dan pergi ke tempat lain. 2.2.2 Flow chart Flowchart menurut Mulyadi(1993, p60-63) dipergunakan untuk menggambarkan proses kegiatan dalam suatu organisasi. Flowchart berupa bagan untuk keseluruhan sistem termasuk kegiatan-kegiatan manual dan aliran atau arus dokumen yang dipergunakan dalam sistem. Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flow chart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar. 43 Berikut ini akan disajikan simbol standar yang digunakan oleh analis sistem untuk membuat bagan alir dokumen yang menggambarkan sistem tertentu. Tabel 2.1 Simbol-Simbol Flowchart 44 Simbol Nama Keterangan Dokumen Digunakan untuk semua jenis dokumen. yang merupakan formulir untuk merekam transaksi Dokumen rangkap Menggambarkan dokumen asli dan tembusannya Catatan Menggambarkan catatan yang digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen Kegiatan manual Untuk menggambarkan kegiatan manual seperti : menerima order, mengisi formulir, membandingkan dll. 45 On-line computer Menggambarkan pengolahan process komputer secara on-line Keying, Typing Menggambarkan data ke dalam pemasukan komputer melalui on-line terminal On-line storage Menggambarkan arsip komputer yang berbentuk online (di dalam memori komputer) Ya Keputusan Menggambarkan keputusan yang harus dibuat dalam proses Tidak pengolahan data. Keputusan yang dibuat ditulis dalam simbol | Garis alir Menggambarkan arah proses pengolahan data Pertemuan garis alir Digunakan jika dua garis alir bertemu dan salah satu garis mengikuti garis lainnya 46 Mulai/berakhir Menggambarkan awal dan akhir suatu sistem informasi. Masuk ke sistem Dari pemasok Menggambarkan kegiatan diluar sistem masuk ke dalam alir sistem Keluar ke sistem lain Ke sistem Menggambarkan kegiatan (di luar sistem) keluar dari sistem penjualan 2.2.3 State Transition Diagram (STD) Menurut Hoffer J. A. et al (1996, p364), State Transition Diagram adalah suatu diagram yang menggambarkan bagaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. State Transition Doagram digambarkan dengan sebuah state yang berupa komponen sistemyang menunjukan bagaimana kejadian-kejadian tersebut dari satu state ke state lain. Ada dua macam simbol yang menggambarkan proses dalam State Transition Diagram, yaitu : 47 1. State Gambar persegi panjang menunjukkan state dari sistem 2. Transition Gambar panah menunjukkan transisi dari state. Tiap panah diberi label. Label yang di atas menunjukan kondisi yang menyebabkan transisi terjadi, label yang di bawah menunjukan aksi yang terjadi dari kondisi tersebut. 2.2.4 Pemahaman Objek Studi 2.2.4.1 Pengertian HRIS Pengertian dari HRIS ( Human Resources Information System) atau sistem informasi sumber daya manusia menurut Abdul kadir (2003:97) adalah sistem informasi yang menyediakan informasi yang dipakai oleh fungsi personalia. Misalnya berisi informasi gaji, ringkasan pajak, dan tunggakantunggakan hingga kinerja karyawan. HRIS (Human Resources Information System) adalah penggabungan antara bidang ilmu manajemen sumber daya manusia (MSDM) dan teknologi informasi. Sistem ini menggabungkan MSDM dan teknologi informasi di satu aplikasi dimana aktivitas-aktivitas MSDM seperti dalam hal perencanaan, 48 dan menyusun sistem pemrosesan data dalam serangkaian langkah-langkah yang terstandarisasi dan terangkum dalam aplikasi perencanaan sumber daya perusahaan/enterprise resource planning (ERP). Secara keseluruhan sistem ERP bertujuan mengintegrasikan informasi yang diperoleh dari aplikasiaplikasi yang berbeda ke dalam satu sistem basisdata yang bersifat universal. Karakteristik informasi yang dipersiapakan dalam Sistem Informasi Sumberdaya Manusia adalah: 1. Timely (tepat waktu) 2. Accurate (akurat) 3. Concise (ringkas) 4. Relevant (relevan) 5. Complete (lengkap) Manajer dalam suatu perusahaan memerlukan informasi yang memiliki karakteritik di atas dalam rangka mengambil suatu keputusan (a decision making). 2.2.4.2 Pengertian Sumber Daya Manusia Peningkatan kinerja karyawan sangat mempengaruhi sumber daya manusia yang dimiliki oleh suatu perusahaan, karena Sumber Daya Manusia (SDM) merupakan modal dasar bagi perkembangan suatu perusahaan. Perusahaan tidak hanya membutuhkan informasi yang cepat, akurat dan tepat waktu tetapi perusahaan juga pasti membutuhkan Sumber Daya Manusia (SDM) yang berkualitas dan handal untuk mampu bersaing dengan 49 perusahaan lain. Setiap perusahaan pasti memiliki tujuan yang sama yaitu salah satunya adalah ingin tetap berkembang menjadi lebih baik dan menjadi semakin besar. Untuk mencapai tujuan tersebut perusahaan harus didukung oleh SDM-SDM yang berkualitas dan handal di segala bidang. Adapun pengertian dari sumber daya manusia (SDM) itu sendiri menurut Eddy Soeryanto Soegoto(2009:198) yaitu: “Sumber Daya Manusia adalah individu-individu dalam organisasi yangmemberikan sumbangan berharga pada pencapaian tujuan organisasi”