BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Sistem Pada dasarnya sistem sudah menjadi bagian dari suatu perusahaan. Dengan adanya sistem, suatu perusahaan dapat menjalankan tujuannya dengan baik dan memiliki arah atau laju yang lurus. Sistem dapat dikatakan sebagai suatu arahan atau perintah, dimana suatu aktivitas tidak akan berlanjut apabila perintah tersebut belum selesai. Menurut Connolly & Begg (2010, p266), sistem merupakan cara untuk menjelaskan ruang lingkup dan batas-batas dari sistem database dan pandangan pengguna. Hal tersebut juga diperkuat oleh Satzinger, Jackson, & Burd (2009, p6) yang menyatakan bahwa, sistem adalah sebagai sekumpulan fungsi-fungsi kompleks yang bergantung pada bagian tersebut dan interaksi di antara bagian tersebut. Bukan hanya itu, O’Brien & Marakas (2010, p26) juga mengungkapkan bahwa, sistem merupakan sekumpulan komponen yang saling terkait untuk mencapai seperangkat tujuan dengan menerima input dan menghasilkan output dalam suatu proses transformasi yang terorganisir. Jadi, berdasarkan beberapa definisi di atas dapat disimpulkan bahwa sistem adalah sekumpulan komponen yang saling berintegritas untuk mencapai suatu tujuan dengan menerima input dan menghasilkan output dalam sebuah proses yang terorganisasi. 9 10 2.1.2 Informasi Untuk mendapatkan informasi dibutuhkan sejumlah data dimana data tersebut masih mentah dan perlu diolah oleh orang atau perusahaan atau organisasi yang membutuhkan informasi tersebut. Informasi dibutuhkan oleh perusahaan untuk memudahkan dalam pengambil keputusan. Menurut O’Brien & Marakas (2010, p27), informasi adalah data yang telah dikonversikan ke dalam konteks yang penuh arti dan berguna bagi end-user tertentu. Hal tersebut juga diperkuat oleh Whitten & Bentley (2007, p21) yang menyatakan bahwa, informasi merupakan data yang telah diproses atau diorganisasi ulang menjadi bentuk yang lebih berarti untuk seseorang. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti ke penerima, Jadi, berdasarkan beberapa definisi di atas, dapat disimpulkan bahwa informasi merupakan sekumpulan data yang diproses / dikonversikan menjadi suatu bentuk yang mempunyai arti untuk diketahui / digunakan oleh pengguna. 2.1.3 Sistem Informasi Umumnya, setiap organisasi memerlukan sistem untuk memudahkan dalam mendapatkan informasi. Sistem akan terintegrasi untuk dapat menyediakan informasi, hal ini bertujuan untuk mendukung operasi manajemen dalam suatu organisasi. Sistem informasi juga memberikan kemudahan di dalam menghasilkan laporan yang dibutuhkan dan membantu dalam proses pengambilan keputusan. Menurut Connolly & Begg (2010, p338), sistem informasi merupakan sumber daya yang memungkinkan pengumpulan, pengelolaan, pengaturan, dan penyebaran informasi di seluruh organisasi. 11 Hal ini juga diperkuat oleh O’Brien & Marakas (2010, p26) yang menyatakan bahwa, sistem informasi merupakan suatu sistem yang menerima sumber daya atau data sebagai input dan memprosesnya menjadi produk atau informasi sebagai suatu output. Bukan hanya itu, Whitten & Bentley (2007, p6) juga berpendapat bahwa, sistem informasi adalah pengaturan orang, data, proses, dan teknologi informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. Jadi, berdasarkan beberapa definisi di atas dapat disimpulkan bahwa sistem informasi merupakan sekumpulan orang dan komponenkomponen yang saling berhubungan, yang mengumpulkan, mentransformasikan dan menyebarkan infomasi dalam sebuah organisasi untuk membantu dalam pengambilan keputusan, pengkoordinasian, pengendalian analisa dan menampilkannya dalam suatu organisasi. 2.1.4 Data Hampir semua kegiatan sehari-hari dari segi bisnis sampai segi personal membutuhkan data dan data tersebut akan selalu dipakai. Kebutuhan akan data semakin tinggi seiring dengan berjalannya waktu. Data yang dikumpulkan harus jelas dan akurat agar dapat diolah menjadi informasi yang beguna dan mudah dimengerti oleh orang-orang. Menurut Connolly & Begg (2010, p19), Data merupakan komponen yang paling penting dalam DBMS.Berasal dari sudut pandang terakhir. Data bertindak sebagai jembatan antara mesin dan pengguna. 12 Hal ini juga diperkuat oleh O’Brien & Marakas (2010, p34) yang mengungkapkan bahwa, data adalah fakta mentah atau pengamatan, biasanya tentang fenomena fisik atau transaksi bisnis. Bukan hanya itu, Robr & Coronel (2009, p660) juga berpendapat bahwa, data adalah nilai-nilai dan fakta-fakta mentah yang belum diproses untuk menyatakan pengertiannya kepada pengguna. Jadi, berdasarkan beberapa definisi di atas dapat disimpulkan bahwa data adalah sekumpulan fakta – fakta dan angka – angka yang diperoleh dari proses bisnis. 2.1.5 Database Pada akhir tahun 1980, banyak bidang basis data yang dikembangkan. Penelitian pada bidang basis data meliputi bahasa query yang kuat, model data yang lengkap dan penekanan pada dukungan analisis data yang kompleks dari semua bagian organisasi. Menurut Connolly & Begg (2010, p54), basis data merupakan kumpulan data yang terbagi dan terhubung secara logikal dan deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Hal ini juga diperkuat oleh C.J (2009, p9) bahwa, basis data adalah kumpulan dari data tetap yang digunakan oleh sistem aplikasi untuk diberikan kepada perusahaan. Jadi, berdasarkan definisi di atas, dapat disimpulkan bahwa basis data merupakan sistem yang terdiri dari kumpulan file atau tabel yang saling berhubungan dan digunakan oleh sistem aplikasi untuk dapat membantu meningkatkan kinerja perusahaan. 13 2.1.6 Arsitektur Database 1. Sistem Terpusat Berjalan pada sistem komputer tunggal dan tidak berinteraksi dengan sistem komputer lain. Sistem komputer multi-guna: satu ke banyak CPU dan beberapa alat pengendali yang terhubung melalui sebuah bus yang memungkinkan akses pembagian memori. Sistem single-user (misalnya., PC atau workstation): unit desk-top, single user, biasanya hanya terdiri satu CPU dengan satu atau dua hard disk, SO hanya mendukung satu user. Sistem Multi-user : lebih banyak penyimpanan, memori lebih besar, multiple CPU, dan menggunakan SO multi-user, melayani banyak pengguna yang terhubung dengan sistem melalui terminal. Biasa disebut sistem server. 2. Sistem Client-Server Sistem server melayani permintaan m sistem client, yang mempunyai struktur umum seperti berikut : 3. Arsitektur Database Parallel Shared memory – proscesor membagi memory kepada umum. Shared disk – proscesor membagi sebagian kapasitas disk. Shared nothing – proscesor membagi bukan memory dan bukan disk. Hierarchical – gabungan berbagai arsitektur. 4. Sistem Terdistribusi 14 Data tersebar ke banyak mesin (juga disebut sebagai site atau node). Jaringan menjadi penghubung antar mesin. Data dipakai user di berbagai mesin. 5. Tipe Jaringan Local-area networks (LANs) Tersusun dari processor yang didistribusikan ke area geografik kecil, seperti satu gedung. Wide-area networks(WANs) Tersusun dari processor yang didistribusikan ke area geografik yang luas. Discontinuos connection Seperti WANs, yang berdasarkan periodik dial-up (contohnya menggunakan UUCP), yang terkoneksi hanya untuk beberapa saat. Continuous connection Seperti WANs, yang terkoneksi ke internet dimana servernya tersambung setiap saat. WAN dengan continuous connection Dibutuhkan untuk mengimplementasikan sistem database terdistribusi. 2.1.7 Database Management System (DBMS) DBMS atau Database Management System membantu pengguna dalam bidang usaha maupun bisnis karena dengan 15 menggunakan DBMS pengguna akan lebih mudah dalam mengelola suatu data, baik dengan cara memberikan hak akses untuk pengguna atau mengatur jalannya suatu data. Menurut Connolly & Begg (2010, p66), DBMS atau Database Management System adalah sistem software yang memungkinkan user untuk mendefinisikan , membuat, merawat database dan menyediakan kontrol akses ke database. DBMS juga merupakan software yang berinteraksi dengan aplikasi program dan database itu sendiri. Hal ini juga diperkuat oleh Satzinger, Jackson, & Burd (2009, p488) yang menyatakan bahwa, DBMS merupakan sistem perangkat lunak yang dapat mengatur akses ke basis data. DBMS juga dapat diartikan sebagai komponen dari sistem perangkat lunak yang umumnya dibeli dan di-install secara terpisah dari komponen sistem perangkat lunak lainnya. Bukan hanya itu, Tahat & Salah (2011, p34) juga berpendapat bahwa Sistem Database Manajemen (DBMS) adalah sistem yang digunakan untuk mengeksekusi query, input data, manipulasi data, serta tambahan untuk mengsharing data worldwide dan secara efektif membantu dalam pembentukan atom database. Jadi, dari definisi diatas dapat disimpulkan bahwa Database Management System (DBMS) merupakan sistem software yang dapat mengatur dan mengontrol semua akses database untuk memenuhi kebutuhan pengguna. 2.1.7.1 Fasilitas DBMS DBMS menyediakan beberapa fasilitas menurut Connolly & Begg (2010, p66), sebagai berikut : 1. DBMS memungkinkan user untuk menentukan suatu database, biasanya menggunakan Data Definition Language 16 (DDL). DDL memungkinkan user untuk menspesifikasikan tipe dan struktur data serta batasan-batasan yang akan disimpan dalam database. 2. DBMS memungkinkan user untuk melakukan operasi dasar dalam database seperti insert, delete, update, dan retrieve menggunakan Data Manipulation Language (DML). 3. Menyediakan control akses ke database, yaitu meliputi: Sistem keamanan Mencegah user yang tidak terautorisasi untuk mengakses database. Sistem Integritas Mempertahankan konsistensi penyimpanan data agar tidak terjadi inkonsistensi data dimana pada satu tempat data diubah namun pada tempat yang lain data tidak berubah Sistem kontrol concurrency Memungkinkan berbagi akses ke database Sistem kontrol recovery Mengembalikan database pada keadaan konsisten sebelumnya setelah terjadi kegagalan hardware dan software. User-accessible catalog Mendeskripsikan data yang ada di dalam database. 2.1.7.2 Fungsi-fungsi DBMS Fungsi DBMS dapat membuat pengguna dengan mudahnya mengakses dan mengelola basis data yang ada. 17 Menurut Connolly & Begg (2010, p99), fungsi DBMS sebagai berikut: 1. Penyimpanan, pengambilan dan pengubahan data DBMS harus memiliki kemampuan untuk menyimpan, mengambil, dan mengubah data dalam database.Ini merupakan fungsi fundamental dalam DBMS 2. Katalog yang dapat diakses oleh pengguna DBMS harus mempunyai catalog yang dimana mendekripsikan item data yang disimpan dan diakses oleh pengguna.Sistem katalog dapat menyimpan data tentang skema, users, aplikasi, dan sebagainya. Sistem katalog dapat disebut sebagai kamus data yang berarti kumpulan informasi atau deskripsi data dalam database yang dikenal dengan nama metadata. Sistem katalog berupa: a. Nama, tipe, dan ukuran tipe data. b. Nama penghubung. c. Batasan-batasan integritas dalam data. d. Nama pengguna yang memiliki wewenang untuk mengakses data. e. Jenis-jenis data yang dapat diakses oleh pengguna dan mendefinisikan tipe aksesnya berupa : Insert Update Delete Read access f. Eksternal, konseptual, dan skema internal serta pemetaan antara skema. g. Penggunaan statistik, seperti frekuensi transaksi dan jumlah pada jumlah akses yang dibuat untuk objek dalam database. 18 3. Dukungan Transaksi DBMS harus yakin bahwa setiap mekanisme transaksi dapat di update.Transaksi merupakan sekumpulan aksi yang dilakukan oleh pengguna atau program aplikasi yang dapat mengakses dan mengubah isi dari database. 4. Layanan kontrol konkurensi DBMS harus dapat memastikan mekanisme database di update terdapat beberapa pengguna bahwa setiap secara benar ketika melakukan perubahan database. Salah satu objektif dalam menggunakan DBMS adalah memungkinkan banyak pengguna untuk mengakses data. Akses konkurensi relative mudah apabila semua pengguna hanya membaca database. 5. Layanan recovery DBMS harus memiliki pemulihan database apabila terdapat kejadian database rusak dalam berbagai kondisi. DBMS harus dapat menyediakan mekanisme untuk mengembalikan database ke keadaan yang konsisten. 6. Layanan kepemilikan DBMS harus memastikan bahwa hanya orang yang berwenang saja yang dapat mengakses database. 7. Dukungan komunikasi data DBMS harus dapat mendukung integrasi dan berkomunikasi dengan software lainnya. 8. Layanan integrasi database DBMS harus dapat memberikan sarana untuk memastikan kedua data dalam database dan perubahan pada data berdasarkan aturan tertentu.Ini dapat dijadikan 19 pertimbangan untuk tipe laiinya dari sistem proteksi database. 9. Layanan untuk peningkatan independensi data DBMS mempunyai fasilitas untuk mendukung kemandirian program dari struktur database yang sebenarnya. 10. Layanan utilitas DBMS harus menyediakan kumpulan layanan utilitas.Program utilitas dapat membantu untuk membuat database menjadi lebih efisien. Contoh kegiatan utilitas adalah : a. Import fasilitas, load database dari file flat, dam eksport fasilitas, serta tidak load database dari file flat. b. Memantau fasilitas, memantau penggunaan database dan operasi. c. Analisis statistic program, dan mengevaluasi performa dari statistik penggunaan database dan operasi. d. Fasilitas index organisasi, untuk mengatur kembali index dan overflows. e. Alokasi dan relokasi, menghapus physical record dari tempat penyimpanan. 2.1.7.3 Komponen utama pada DBMS Dalam menjalankan DBMS dibutuhkan beberapa komponen yang diperlukan untuk mendukungnya, karena DBMS merupakan sebuah perangkat lunak, maka harus disertai dengan perangkat keras dan pengguna yang dapat mendukung proses pekerjaannya. 20 Komponen utama pada DBMS Connolly & Begg (2010, 68), yaitu: Gambar 2.1 Komponen Lingkungan DBMS Sumber: Database Systems : A Practical Approach to Design, Implementation, and Management, Connolly & Begg (2010) Hardware Dalam menjalankan suatu aplikasi dan DBMS akan diperlukan hardware, dimana hardware dapat berupa a single personal computer, Single mainframe, jaringan komputer berupa server. Hardware yang digunakan harus sesuai dengan kebutuhan perusahaan dan DBMS yang digunakan. Software Komponen- komponen software terdiri dari DBMS software itu sendiri maupun program aplikasi, sistem operasi, dan juga software jaringan jika DBMS tersebut menggunakan jaringan seperti LAN. Data Data merupakan salah satu komponen DBMS yang terpenting khususnya sudut padang end user mengenai data yang nantinya akan diolah didalam DBMS. Data pada sebuah sistem basis data baik single-user sistem maupun multi-user sistem harus saling berintegrasi secara bersamaan. Prosedur 21 Prosedur merupakan Instruksi dan aturan yang mengatur dalam perancangan dan penggunaan database.Penggunaan sistem dan para staff yang mengatur kebutuhan basis data didokumentasikan dalam prosedur. Beberapa instruksi-instruksi dalam merancang database dan DBMS adalah : a. Log in ke dalam DBMS. b. Menggunakan sebagian fasilitas DBMS atau program aplikasi. c. Menjalankan dan menghentikan DBMS. d. Membuat salinan cadangan Database. e. Memeriksa dan Menangani hardware atau software yang sedang berjalan. f. Mengubah struktur table, meningkatkan kinerja dan meletakan data ke secondary storage. People (Pengguna) Pada komponen ini pengguna terlibat langsung dengan sistem, seperti DBA, programmer, dan pengguna akhir.Database dan DBMS memerlukan sumber daya manusia agar dapat mengatur jalannya mekanisme database dan DBMS. Pengguna dapat dikategorikan menjadi empat yaitu: a. Administrator, terdapat dua jenis yaitu DA (Data Administrator) yang bertanggung jawab untuk mengatur sumber daya data meliputi perencanaan basis data, pengembangan dan pemeliharaan standar, kebijakan dan prosedur, dan desain database konseptual/logikal. DBA (Database Administrator) merupakan orang yang bertanggung jawab untuk mendesain, 22 implementasi, pemeliharaan dan perbaikan database. b. Database Designer Database Designer terdiri dari dua tipe yaitu : Logical database Designer, merupakan perancangan yang lebih menekankan dalam mengindentifikasi data, hubungan antara data, batasan-batasan data sebelum dimasukan ke dalam database. Physical database designer, perancangan ini memutuskan bagaimana desain database logikal dapat direalisaikan secara fisik. c. Application Developers merupakan pengguna yang bertanggung jawab untuk membuatkan suatu aplikasi database yang harus dilaksanakan oleh end-users. Aplikasi database tersebut menggunakan bahasa pemrograman seperti C++ , C#, Java, dan sebagainya. d. End-Users merupakan clients untuk database, yang dirancang dan diimplementasi, serta dipelihara untuk menyajikan informasi yang diperlukan. End-Users dapat diklasifikasikan sesuasi sistem yang dijalankan : a. Naive Users merupakan pengguna yang tidak berinteraksi langsung dengan DBMS. Mengakses database melalui sebuah program aplikasi yang 23 ditunjukan secara khusus untuk mencoba operasi sesederhana mungkin. b. Sophisticated users merupakan pengguna yang lebih mengerti struktur database dan fasilitasnya, memungkinkan menggunakan dirinya bahasa dan untuk pemrograman yang lebih tinggi. 2.1.7.4 Keuntungan DBMS Database Management System (DBMS) memiliki beberapa keunggulan dibandingkan dengan tidak menggunakan DBMS. Keuntungan yang ditawarkan dalam penggunaan DBMS banyak dimanfaatkan oleh perusahaan/organisasi dalam mengembangkan suatu usaha mereka. Menurut Connolly & Begg (2010, p77), keuntungan DBMS yaitu : a. Control of data redundancy Dengan cara mengurangi duplikasi data sebelum data disimpan dalam database maka DBMS akan mengeliminasi redundan dengan data terintegrasi cukup disimpan sekali b. Data consistency Dengan cara mengeliminasi atau mengontrol redudansi data. Dalam hal ini dapat mengurangi resiko inkonsistensi data yang terjadi. c. Sharing of data 24 Sistem basis data terdapat pada organisasi yang dapat digunakan oleh seluruh pengguna yang memiliki hak akses. d. Improved data integrity Dengan meningkatkan validitas dan konsistensi data tersebut. Integritas biasanya dijabarkan ke dalam constrain, yang mana aturan konsistensi database tidak mengijinkan untuk dilanggar. e. Improved security Dengan meningkatkan database security, memproteksi basis data dari pengguna yang tidak dikenal. f. Enforcement of standards Dengan adanya pemakaian data secara bersamaan, maka apabila terdapat penambahan tabel, field, tipe data, hak ases harus dibuat standar dan dokumentasinya. g. Increased productivity Dalam file-based-systems deskripsi data dan logika pengaksessan data telah dibuat ke dalam beberapa program aplikasi, membuat program tergantung pada data. h. Improved backup dan recovery services Dengan meningkatkan mengurangi suatu backup kegagalan data sistem maka atau dapat aplikasi program.Jika kesalahan terjadi maka backup data dapat direstored. 2.1.7.5 Kerugian DBMS Dalam penggunaan DBMS tidak hanya keuntungan saja yang akan didapatkan oleh suatu perusahaan atau organisasi tetapi dalam penggunaan DBMS terdapat juga 25 kerugian yang akan didapatkan oleh organisasi/perusahaan yang menggunakan DBMS. Menurut Connolly & Begg (2010, p80), kekurangan DBMS, yaitu : a. Complexity Database designers dan developers, data dan database administrators, serta end-users harus mengerti fungsinya untuk mengambil keuntungan penuh dari fungsi tersebut. Kesalahan dalam mengerti sistem dapat memberikan keputusan rancangan yang buruk, yang dapat mengakibatkan konsekuensi serius dari sebuah organisasi. b. Size Kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi software yang sangatbesar dan membutuhkan ruang disk serta memori substansial untuk menjalankannya secara efesien. c. Additional hardware costs Untuk mencapai performa yang dibutuhkan, sangat diperlukan membeli mesin besar, mesin yang didedikasikan untuk menjalankan DBMS. d. Higher impact of failure Sentralisasi sumber daya menambah kerentanan sistem.Setelah semua pengguna dan aplikasi bergantung pada ketersediaan dari DBMS, kesalahan komponen tertentu dapat menyebabkan operasi berhenti. 2.1.8 Database System Development Lifecycle Pada aplikasi basis data diperlukan acuan untuk melakukan perancangan tersebut. Acuan yang dimaksud tersebut adalah Siklus 26 Hidup Aplikasi basis data atau dikenal dengan istilah Database System Development Lifecycle. Menurut Connolly & Begg (2010, p313), siklus hidup aplikasi database secara inheren terkait dengan siklus hidup sistem informasi.Harus mengenali bahwa tahapan siklus hidup aplikasi database tidak selalu berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui loop feedback. Contohnya masalah yang dihadapi pada database design mungkin memerlukan analisis dan persyaratan tambahan. Jadi, dari definisi diatas dapat disimpulkan bahwa Database System Development Lifecycle merupakan siklus hidup yang menggambarkan tahapan-tahapan di dalam melakukan perancangan aplikasi database yang baik. Tahapan-tahapan yang harus diketahui pada Database System Development Lifecycle yaitu: 27 Gambar 2.2 Database System Development Lifecycle Sumber : Connolly & Begg (2010) 2.1.8.1 Database Planning Dalam membuat database, tahap pertama adalah database planning, dimana tahap ini sangat penting karena dapat mempengaruhi efektifitas database yang akan dibuat. dalam pengembangan 28 Menurut Connolly & Begg (2010, p313), aktivitas manajemen yang memungkinkan tahapan dari siklus hidup sistem database yang akan direalisasikan secara efisiensi dan seefektif mungkin. Database planning harus diintegrasi dengan strategi information system secara keseluruhan. Jadi, dari definisi diatas dapat disimpulkan bahwa Database Planning adalah suatu tahapan perencanaan dalam pengembangan database secara efektif dan efisien dengan adanya integrasi information system. 2.1.8.2 System Definition Tahap kedua dalam membangun database yaitu system definition dimana menentukan batasan serta cakupan dari database yang akan dibuat berdasarkan dari major user views. Menurut Connolly & Begg (2010, p316), System Definition menjelaskan ruang lingkup dan batasan dari aplikasi basis data dan pandangan dari pengguna utama. Sebelum merancang sistem basis data, penting untuk mengidentifikasi batasan dari sistem yang akan dibangun dan bagaimana tampilannya dapat berinteraksi dengan bagian lain dari sistem informasi organisasi. Penentuan batasan dari sistem tidak hanya dari pengguna dan aplikasi saat ini, tetapi juga pengguna dan aplikasi untuk masa mendatang. Jadi, dari definisi diatas dapat disimpulkan bahwa System Definition digunakan dimana kita membuat batasan terlebih dahulu sebelum membangun suatu sistem dan tampilannya agar dapat berintegrasi dengan bagian lainnya. 2.1.8.3 Requirement Collection and Analysis Proses ini merupakan proses dimana setiap analisis harus dapat didukung dengan informasi yang akurat dimana 29 dalam membangun sistem baru akan dibutuhkan pengumpulan informasi yang mendukung penyataan tujuan perusahaan. Menurut Connolly & Begg (2010, p316), Requirement Collection and Analysis Merupakan proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan menggunakan informasi ini untuk mengidentifikasi persyaratan untuk sistem baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan pandangan beberapa pengguna, yaitu : The centralized approach (Pendekatan terpusat) Kebutuhan untuk setiap tampilan pengguna yang bergabung ke dalam satu persyaratan untuk sistem database baru. The view integration approach (pendekatan integrasi tampilan) Persyaratan untuk setiap pengguna tetap sebagai daftar yang terpisah. A combination of both approaches. Setiap persyaratan tambahan untuk sistem basis data baru. 2.1.8.4 Database Design Menurut Connolly & Begg (2010, p320), Database Design Merupakan proses menciptakan desain yang akan mendukung pernyataan misi perusahaan dan tujuan misi untuk sistem database yang diperlukan. Serta merupakan suatu pendekatan struktur yang mencakup prosedur, teknik, alat bantu dan tujuan dokumentasi untuk mendukung dan member sarana pada proses perancangan itu sendiri.Terdapat dua pendekatan perancangan database, yaitu : 30 Bottom-up Pendekatan ini dimulai pada tingkat dasar atribut (yaitu, sifat-sifat entitas dan relasi), yang melalui analisis hubungan antara atribut, dikelompokkan ke dalam relasi yang mewakili jenis entitas dan relasi antar entitas. Top-down Pendekatan ini dimulai dengan pengembangan model data yang berisi tingkat tinggu beberapa entitas dan relasi kemudian berturut-turut menerapkan perbaikan top-down untuk mengidentifikasi tingkat rendah entitas, hubungan dan atribut yang terkait. Perancangan database terdiri dari tiga fase, yaitu: 1. Conceptual database design Merupakan proses membangun suatu model data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. Menurut Connolly & Begg (2010, p470), langkahlangkah desain basis data konseptual : Langkah 1 : Membangun model data konseptual. Langkah pertama ini akan membangun model data konseptual untuk setiap pandangan yang spesifik. Langkah 1.1 : Mengidentifikasi jenis entitas. Salah satu metode untuk mengidentifikasi entity adalah dengan menguji spesifikasi kebutuhan dari user.Dari spesifikasi ini kita mengidentifikasikan kata benda dan ungkapan kata benda yang disebutkan. Serta 31 juga dapat melihat objek utama seperti orang, tempat atau konsep dari ketertarikan diluar kata benda lainnya yang merupakan kualitas dari objek lain. Setelah jenis entitas diidentifikasi, tentukan nama – nama entitas yang bermakna dan jelas. Catat nama dan deskripsi entitas ke dalam kamus data. Langkah 1.2 : Mengidentifikasi jenis relasi. Proses mengidentifikasi relasi sangat penting terhadap entitias. proses mengidentifikasi entitas menggunakan salah satu metode yaitu mencari kata benda dengan memeriksa spesifikasi kebutuhan pengguna. Relasi ditunjukkan oleh kata kerja dan ekspresi verbal. Langkah – langkah dalam mengidentifikasi relasi, antara lain: a. Menggunakan Entity-Relationship(ER) diagram. b. Memilihmultiplicity constraint dari jenis relasi. c. Memeriksa fan dan chasm traps. d. Mendokumentasikan jenis relasi. Setelah prosesrelasi selesai, maka akan menentukan nama – nama yang bermakna dan jelas. Simpan deskripsi relasi dan multiplicity constraint ke dalam kamus data. 32 Langkah 1.3 : Mengidentifikasi jenis dan menggabungkan atribut pada tiap entitas. Tujuan pada langkah ini untuk menghubungkan atribut dengan entitas atau tipe relasi yang sesuai dan mendokumentasikan detail dari setiap atribut. Atribut-atribut bisa diidentifikasi dengan kata benda atau ungkapan kata benda seperti properti, kualitas, identifier, atau karakteristik dari satu entitas atau hubungan. Setelah mengidentifikasi atribut, tentukan nama – nama yang bermakna dan catat informasi berikut pada setiap atribut: a. Nama dan deskripsi atribut. b. Tipe dan panjang data. c. Alias dari setiap atribut. d. Jika atribut merupakan atribut composite, tentukan atribut sederhana yang membentuknya. e. Atribut merupakan multi-valued atau tidak. f. Jika atribut merupakan atribut derived, tentukan cara perhitungannya. g. Nilai default dari setiap atribut. Langkah 1.4 : Menentukan domain atribut. Tujuan menentukan domain untuk menetapkan nilai-nilai atribut dalam model data konseptual dan mendokumentasikan 33 setiap detail dari domain. Domain merupakan sekumpulan nilai-nilai dari satu atau lebih atribut yang menggambarkan nilainya. Model data yang dibuat menspesifikasikan domain untuk tiap-tiap atribut dan menyertakan : • Nilai yang diizinkan untuk atribut • Ukuran dan format atribut Langkah 1.5 : Menentukan candidate key, primary key, dan alternate key. Untuk Menentukan candidate key untuk setiap entitas dan jika terdapat lebih dari satu candidate key, maka pilih satu sebagai primary key. Hal-hal yang harus diperhatikan Ketika memilih primary key diantara candidate key, yaitu: a. Candidate key dengan sejumlah kecil atribut. b. Candidate key yang paling mungkin memiliki nilai yang berubah. c. Candidate key dengan karakter paling sedikit (untuk atribut tekstual). d. Candidate key dengan nilai maksimun terkecil (untuk atribut numerik). e. Candidate key yang paling mudah digunakan pengguna. dari sudut pandang 34 Langkah 1.6 : Mempertimbangkan konsep pemodelan enhanced (optional). Pada langkah mempertimbangkan ini akan mengembangkan ER model dengan menggunakan konsep enhanced modeling, seperti spesialisasi, generalisasi, penggabungan (aggregation), komposisi (composition). Langkah 1.7 : Memeriksa model untuk redundansi. Pada langkah ini akan melakukan pengujian tujuan apakah model data konseptual dengan spesifik ada untuk redudansi mengidentifikasikan dalam data dan memindahkan data yang telah ada. Dua aktifitas dalam langkah ini adalah: • Menguji ulang relationship 1-1 (one-to-one) • Menghilangkan relationship yang redundan • Mempertimbangkan dimensi waktu Langkah 1.8 : Validasi model konseptual terhadap transaksi pengguna. Pada tahap ini akanmemastikan model konseptual yang akan mendukung transaksi yang dibutuhkan dilakukan dengan oleh dua view. Pengujian pendekatan untuk 35 memastikan model data konseptual yang mendukung transaksi yang dibutuhkan, yaitu : • Mendeskripsikan transaksi-transaksi Memeriksa seluruh informasi (entitas, relationship, dan atribut) yang dibutuhkan olehsetiap transaksi telah disediakan oleh model, dengan mendokumentasikan setiapkebutuhan transaksi. • Mengunakan jalur-jalur transaksi Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasidiagram jalur yang digunakan oleh setiap transaksi langsung pada ER diagram. Langkah 1.9 : Memeriksa model data konseptual terhadap transaksi pengguna. Tujuan pada tahap ini adalah mereview model data konseptual dengan user untuk memastikan model tersebut adalah representasi sebenarnya dari view.Model data konseptual ini termasuk ER pendukung diagram yang dan dokumentasi mendeskripsikan model data.Bila ada kejanggalan dalam model data, maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan pengulangan langkahlangkah sebelumnya. 2. Logical database design Proses logical database design adalah memperbaiki dan memetakan model data konseptual 36 yang sebelumnya telah dibuat ke bentuk model data logical. Menurut Connolly & Begg (2010, p490), Logical database design, merupakan proses membangun model data yang digunakan dalam suatu perusahaan berdasarkan model data tertentu, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. Langkah-langkah desain basis data logikal yaitu : Langkah 2 : Membangun dan memvalidasi model data logikal. Pada langkah ini akan membuat dan memvalidasi model data logikal untuk setiap pandangan. Hal ini bertujuan untuk membuat model data logikal dari model data konseptual yang mempresentasikan pandangan khusus dari perusahaan dan memvalidasi model tersebut untuk menjamin kebenaran strukturnya dengan menggunakan teknik normalisasi dan akan dapat mendukung kebutuhan transaksi. Langkah 2.1 : Menurunkan hubungan model data logikal. Dalam langkah ini akan menurunkan hubungan untuk model data logika sebagai tujuan untuk mewakili entitas, relasi, dan atribut.kemudian akan diidentifikasi primary key, alternate key dan foreign key. Langkah 2.2 : Memvalidasi relasi menggunakan normalisasi. 37 Dalam langkah ini akan dilakukan validasi pengelompokkan atribut pada setiap relasi dengan menggunakan aturan normalisasi. Normalisasi dapat memastikan sekumpulan relasi yang memiliki jumlah atribut yang sangat mendukung data perusahaan menghindari masalah-masalah dan dapat yang akan dihadapi, misalnya redudansi data. Langkah 2.3 : Memvalidasi relasi terhadap transaksi pengguna. Melakukan validasi model data logika ini dapat memberikan kepastian dimana dapat mendukung transaksi yang diperlukan dalam transaksi pengguna. Langkah 2.4 : Memeriksa integrity constraints. Langkah ini dapat melindungi basis data dari keadaan tidak lengkap, tidak akurat atau tidak konsisten. Jenis-jenis batasan integritas yang harus dipertimbangkan, yaitu: a. Required data Merupakan beberapa attribute yang harus mengandung nilai-nilai yang valid. b. Attribute domain constraints Merupakan diidentifikasi batasan dalam atribut untuk model data. c. Multiplicity yang memilih harus domain 38 Merupakan batasan yang ditempatkan pada relasi antara data di dalam basis data. d. Entitiy integrity Merupakan dimana Primary key dari suatu entitas tidak boleh kosong (null). e. Referential integrity Merupakan suatu nilai yang harus berupa tuple yang terdapat dalam relasi induk. f. General constraint Pengubahan pada entitas – entitas dapat dikendalikan oleh batasan pengaturan. Dokumentasikan semua integrity constraint dalam kamus data untuk menjadi pertimbangan selama perancangan fisik. Langkah 2.5 : Tinjauan model data logikal dengan pengguna. Pada langkah ini pengguna harus dapat meninjau model data logikal untuk dapat memastikan dimana model data dapat menjadi perwakilan dari kebutuhan data perusahaan. Langkah ini diperlukan dan digunakan saat pengguna merasa tidak puasnya dengan model data tersebut kemudian akan dilakukan pengulangan langkah awal. Langkah 2.6 : Menggabungkan model data logikal menjadi model global (Optional). Langkah ini digunakan sebagai perancangan basis data yang memiliki beberapa 39 user views yang dikelola dengan menggunakan pendekatan integrasi view. Untuk memfasilitasi deskripsi dari proses penggabungan maka akan digunakan model data logikal local dan global. Model data logikal mempersentasikan satu local atau lebih dapat user views,tapi tidak semua pengguna basis data. Sedangkan model data logikal global dapat mewakili semua user views dari basis data. Pada langkah ini akan ditinjau kembali model data logikal global bersama pengguna. Langkah 2.7 : Memeriksa model terhadap future growth. Pada langkah ini akan ditentukan apakah ada perubahan pada masa mendatang dan apakah model data logikal dapat mengakomodasi terhadap perubahan ini sesuai dengan hasil pemeriksaan model tersebut 3. Physical database design Dapat dikatan physical database design merupakan cara pembuatan menuju sistem DBMS tertentu. Menurut Connolly & Begg (2010, p523), Physical database pendeskripsian design implementasi Merupakan basis data proses pada penyimpanan sekunder, proses itu menggambarkan basis relasi, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap kendala integritas terkait dan tahapan keamanan. 40 Langkah-langkah desain basis data fisikal : Langkah 3 : Menerjemahkan model data logis untuk target DBMS. Tujuan dari langkah ini untuk menghasilkan skema basis data relasi dalam model data logika yang dapat diimplementasikan ke DBMS.Proses ini juga dapat menyusun informasi yang dikumpulkan selama perancangan basis data logikal dan mendokumentasikannya ke dalam kamus data bersama dengan informasi yang dikumpulkan selama pengumpulan persyaratan maupun tahap analisis dan melakukan dokumentasi ke dalam spesifikasi sistem. Langkah 3.1 : Desain relasi dasar. Dalam memulai merancang physical design, diperlukan untuk mengumpulkan dan memahami informasi tentang relasi dasar yang dihasilkan dari logikal databasedesign. Tujuan dari memahami relasi ini adalah untuk dapat memutuskan bagaimana merepresentasikan relasi dasar yang diidentifikasi ke dalam model data logikal dalam target DBMS. Informasi yang penting bisa didapatkan dari kamus data dan DDL. Langkah 3.2 : Merancang representasi derived data. Tujuan dari merancang representasi derived data adalah untuk dapat menentukan bagaimana merepresentasikan derived data yang terdapat di dalam model data logikal ke dalam target DBMS. 41 Langkah 3.3 : Merancang general constraints. Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada perusahaan. Perancangan general constraints tergantung pada DBMS yang dipilih. Langkah 4 : Desain Organisasi file dan indeks. Tujuan dari langkah ini yaitu menentukan organisasi file yang optimal dalam penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa. Langkah 4.1 : Menganalisis transaksi. Tujuan dari langkah ini adalah untuk dapat mengerti fungsi dari transaksi yang dijalankan pada basis data dan penting untuk memiliki pengetahuan tentang transaksi yang akan berjalan pada basis data sehingga dapat menganalisa transaksi yang penting. Kriteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi, yaitu : Transaksi dapat dilakukan secara sering dan mempunyai dampak yang signifikan pada performa. Transaksi yang terjadi suatu masalah atau kritis pada operasi dan bisnis. Waktu selama sehari atau seminggu ketika adanya permintaan yang tinggi pada saat basis data dibuat. 42 Langkah 4.2 : Memilih organisasi file. Tujuan dalam memilih organisasi file adalah untuk menyimpan dan mengakses data secara efisien. Aktivitas pada langkah ini adalah untuk menentukan organisasi file yang efisien untuk setiap relasi dasar sehingga penyimpanan dan akses dapat dilakukan akan dilakukan dengan mudah. Langkah 4.3 : Memilih indeks. Pada pemilihan langkah indeks ini yang bertujuan untuk meningkatkan performa dalam suatu sistem basis data. Salah satu pendekatan untuk memilih organisasi file yang lebih sesuai untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indexes sebagaimana diperlukan. Langkah 4.4 : Mengestimasi ruang disk yang diperlukan. Bertujuan untuk memastikan jumlah ruang penyimpanan yang akan dibutuhkan dalam basis data. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Langkah 5 : Desain pandangan pengguna. Tujuan dari langkah ini untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Langkah 6 : Desain mekanisme keamanan. 43 Langkah ini bertujuan untuk melindungi basis data dalam operasional dan sangat penting mengingat isi dari basis data yang berupa informasi yang sangat penting. 2.1.8.5 DBMS Selection Pemilihan DBMS yang tepat untuk mendukung sistem basis data. Jika tidak ada DBMS yang sesuai maka bagian dari siklus hidup akan membuat seleksinya yaitu antara konseptual dengan desain logical Connolly & Begg (2010, p325), Langkah-Langkah dalam pemilihan DBMS : Menetapkan kerangka referensi belajar. Pada langkah ini menerangkan kerangka acuan untuk pemilihan DBMS yang akan menyatakan tujuan dan ruang lingkup serta tugas-tugas yang perlu dilakukan. Daftar sederhana dari dua atau tiga produk. Pada langkah diimplementasi, ini yang dianggap dapat penting digunakan untuk dalam menghasilkan daftar awal produk DBMS untuk di evaluasi. Evaluasi produk Pada langkah ini terdapat berbagai fitur yang dapat digunakan untuk mengevaluasi produk DBMS. Fitur ini dapat dinilai sebagai kelompok (misalnya, definisi data) atau individual (misalnya, tipe data yang tersedia). Merekomendasikan seleksi dan menghasilkan laporan Langkah terakhir dari pemilihan DBMS adalah untuk proses dokumentasi dan untuk memberikan pernyataan yang ditemukan dan rekomendasi untuk produk DBMS tertentu. 44 2.1.8.6 Application Design Desain basis data dan aplikasi merupakan aktifitas pararel yang meliputi dua aktivitas penting. Menurut Connolly & Begg (2010, p329), Application design merupakan desain user interface dan program aplikasi yang digunakan untuk memproses database. Application design dibagi menjadi dua aspek yaitu : 1. Transaction Design (Rancangan Transaksi) Connolly & Begg (2010, p330), suatu tindakan, atau serangkaian tindakan yang dilakukan oleh single user atau program aplikasi, yang mengakses atau merubah isi database. Ada tiga tipe transaksi yaitu : Retrieval transactions Transaksi ini digunakan dalam mengambil data untuk ditampilkan pada layar atau dalam produksi laporan. Update transactions Transaksi ini digunakan untuk menyisipkan catatan baru, menghapus catatan lama, atau memodifikasi catatan yang ada dalam database. Mixed transactions Pada transaksi ini saling bergantungan terhadap retrieval dan updating data. (misalnya, operasi untuk mencari dan menampilkan rincian properti). 2. User Interface Design Guidelines Sebelum melakukan implementasi laporan, maka harus terlebih dahulu merancang desainnya. 45 Guidelines for form/report design. Meaningful title Penyampaian informasi dari judul tersebut harus jelas dan dapat mengidentifikasi tujuan dari pembuatan form secara jelas. Comprehensible instructions Memakai istilah menyampaikan instruksi yang jelas kepada untuk pengguna, instruksi tersebut harus lengkap saat pengguna membutuhkan informasi, tampilan bantuan harus disediakan. Instruksi harus ditulis dengan struktur yang baku sesuai format. Logical grouping and sequencing of fields Kolom-kolom yang berhubungan harus terdapat pada satu form atau report. Urutan setiap kolom harus secara logis dan konsisten. Visually appealing layout of the form/report Form / Report harus menyediakan tampilan yang menarik untuk pengguna. Form / report harus muncul secara seimbang antara kolom-kolom atau grup kolom yang ditempatkan pada keseluruhan form / report. Familiar field labels Label kolom harus umum. Contohnya, jika Sex digantikan oleh Gender, akan memungkinkan beberapa pengguna menjadi bingung. Consistent terminology and abbreviations 46 List resmi yang berisikan ketentuan dan singkatan umum harus dipakai secara konsisten. Consistent use of color Memakai penggunaan warna yang sesuai baik untuk menghias maupun membedakan beberapa bagian secara konsisten. Visible space and boundaries for data entry fields Seorang pengguna harus memperhatikan total kolom yang tersedia agar pengguna dapat mempertimbangkan format yang sesuai untuk data sebelum memasukkan nilai kedalam kolom tersebut. Convenient cursor movement Pengguna harus dengan meudah mengidentifikasi operasi yang dibutuhkan untuk menjalankan cursor dalam keseluruhan form atau report. Seperti Tab Key, arrows, atau mouse pointer. Error correction for individual characters and entire fields Pengguna harus dengan mudah dapat mengidentifikasi operasi yang dibutuhkan untuk membuat perubahan terhadap nilai kolom. Seperti backspace key atau overtyping. Error messages for unacceptable values Jika pengguna mencoba untuk memasukan data yang tidak benar kedalam kolom, maka sebuah pesan error harus ditampilkan. Pesan tersebut harus memyampaikan pengguna tentang penjelasan 47 mengenai error tersebut dan mengindikasi nilai yang diperbolehkan. Optional fields marked clearly Kolom opsional harus diidentifikasikan secara jelas kepada pengguna. Ini dapat dicapai dengan menggunakan label kolom yang tepat atau menampilkan kolom menggunakan warna yang mengindikasikan tipe dari kolom. Kolom opsional harus ditempatkan secara sesuai pada kolom yang membutuhkan. Explanatory messages for fields Ketika pengguna menempatkan cursor pada kolom, informasi tentang kolom tersebut harus muncul dalam posisi regular di layar, seperti window status bar. Completion signal Sinyal tanda selesai harus jelas disampaikan kepada user ketika proses pengisian kolom pada form telah selesai. Tetapi, opsi untuk menyelesaikan proses tidak wajib otomatis, sebagai pengguna dapat mereview data yang telah dimasukkan. 2.1.8.7 Prototyping Dalam membuat prototyping kita dapat mengidentifikasi fitur fitur yang terdapat dari sistem, apakah sistem tersebut berjalan dengan baik atau tidak serta dapat memberikan perbaikan atau penambahan fitur baru. 48 Menurut Connolly & Begg (2010, p333), prototyping adalah membangun sebuah model kerja dari sistem basis data. Prototyping merupakan model kerja tidak secara normal yang mempunyai semua fitur-fitur yang dibutuhkan atau yang menyediakan semua fungsi dari sistem akhir. Tujuan utama dalam pemgembangan prototyping sistem basis data adalah memungkinkan pengguna dalam menggunakan prototyping untuk mengidentifikasi fitur dari sistem yang bekerja dengan baik, atau tidak memadai, dan jika mungkin untuk menyarankan perbaikan atau bahkan fitur baru untuk sistem basis data. Prototyping harus mempunyai keuntungan utama menjadi murah secara relative dan cepat untuk dibangun. Dua strategi prototyping yang sering digunakan : 1. Requirements prototyping Menggunakan sebuah prototyping untuk mendiktekan persyaratan dari sebuah usulan sistem basis data dan setelah semua persyaratan selesai maka prototyping dibuang. 2. Evolutionary prototyping Menggunakan usulan yang sama, perbedaan yang penting adalah prototyping tidak dibuang tetapi dikembangkan lebih jauh menjadi pekerjaan sistem basis data. 2.1.8.8 Implementation Implementasi merupakan realisasi fisikal dari basis data dan desain aplikasi Connolly & Begg (2010, p333), Implementasi basis data dicapai dengan menggunakan : Implementasi basis data dapat dicapai dengan Data Definition Language(DDL). KeunggulanData Definition Language yaitu sebagai sebuah bahasa yang mengijinkan DBA atau user untuk membuat struktur basis data dan file basis data kosong. 49 Program aplikasi yang diimplementasi menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL) yaitu bahasa pemrograman tingkat tinggi seperti yang digunakan pada SQL. Bagian dari program aplikasi ini adalah transaksi basis data, yang diimplementasikan menggunakan Data Manipulation Language (DML). Pada DBMS, terpancang dengan sebuah bahasa pemrograman seperti Visual Basic (VB), VB.net, Phyton, Delphi, C, C++, C#, java, COBOL, Fortan, Ada, atau Pascal. Keamanan dan integrity control dari sistem juga diimplementasikan. Beberapa control ini diimplementasikan menggunakan DDL, tetapi yang lain mungkin butuh batasan luar dalam menggunakan DDL. 2.1.8.9 Data Conversion and Loading Menurut Connolly & Begg (2010, p334), Data Conversion and Loading adalah mentransferkan beberapa data yang ada ke dalam database baru dan mengkonversikannya ke beberapa aplikasi yang ada untuk menjalankannya pada database baru tersebut. 2.1.8.10 Testing Berdasarkan Connolly & Begg (2010, p334), Testing adalah proses menjalankan sistem basis data dengan maksud menemukan kesalahan. Pengujian juga harus mencakup kegunaan dari sistem basis data, sebuah evaluasi harus dilakukan terhadap spesifikasi kegunaanya. Contoh criteria yang dapat digunakan untuk melakukan evaluasi yaitu : 50 1. Learnability : berapa lama waktu yang dibutuhkan pengguna baru untuk menjadi produktif dengan sistem ? 2. Performance : seberapa baik respon sistem sesuai praktek kerja pengguna ? 3. Robustness : seberapa toleransinya sistem dari kesalahan pengguna ? 4. Recoverability : seberapa baik sistem pulih dari kesalahan pengguna ? 5. Adaptability : seberapa dekat sistem terkait dengan satu model pekerjaan ? Setelah pengujian selesai, sistem basis data siap untuk “ditandatangani” dan diserahkan pada pengguna. pengguna dari sistem baru harus dilibatkan dalam proses pengujian. Situasi yang ideal untuk pengujian sistem adalah memiliki basis data pengujian pada sistem perangkat keras yang terpisah, namun sering tidak tersedia. Hal ini harus dipersiapkan backup untuk menghadapi kesalahan. 2.1.8.11 Operational Maintenance Menurut Connolly & Begg (2010, p335), operational maintenance adalah proses pemantauan dan pemeliharaan sistem basis data setelah instalasi. Setelah melewati tahap pelaksanaan dan pengujian. Tahap berikutnya adalah pemeliharaan dengan kegiatan – kegiatan berikut: 1. Pemantauan kinerja sistem. Jika kinerja sistem tidak dapat diterima, penyusunan ulang basis data mungkin diperlukan. 2. Pemeliharaan dan peningkatan sistem basis data (bila diperlukan). Memasukkan persyaratan baru ke dalam sistem basis data melalui tahap sebelumnya dari siklus hidup. 51 2.1.9 Database Definition Language (DDL) Bertujuan untuk menghubungkan logical model yang mewakili entity, relationship¸dan attribute yang telah didefinisikan, serta mendeskripsikan komposisi tiap hubungan dengan menggunakan database definition language. Menurut Connolly & Begg (2010, p92), Data Definition Language (DDL) merupakan sebuah bahasa yang mengijinkan DBA (Database Administrator) atau pengguna untuk menggambarkan dan menamakan entitas, atribut, dan hubungan yang dibutuhkan oleh aplikasi bersamaan dengan asosiasi yang terintegrasi dan batasan keamanan. Jadi dapat disimpulkan bahwa Database Definition Language (DDL) adalah bahasa khusus yang dapat mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan Index dan Table. 2.1.10 Data Manipulation Language (DML) Bagian dari aplikasi program dan transaksi basis data yang diimplementasikan menggunakan data manipulation language kemungkinan sudah terdapat dalam host pemograman. Menurut Connolly & Begg (2010, p92) yang berpendapat bahwa, Data Manipulation Language (DML) merupakan bahasa yang menyediakan sekumpulan operasi yang mendukung operasi manipulasi data-data yang dipegang oleh database. Pengoperasian data yang akan dimanipulasi meliputi : 1. Penambahan data baru ke dalam basis data (insert). 2. Modifikasi data yang disimpan dalam basis data (update). 3. Pemanggilan data yang terdapat di dalam basis data (select). 4. Penghapusan data dari basis data (delete). 52 Terdapat dua jenis DML, yaitu: 1. Procedural DML Bahasa yang memungkinkan pengguna untuk memberitahu sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut kembali. 2. Non-Procedural DML Bahasa yang memungkinkan pengguna untuk memberitahu sistem data apa yang dibutuhkan, bukan bagaimana data tersebut didapatkan kembali. Jadi, dapat disimpulkan bahwa Data Manipulation Language (DML) merupakan suatu bahasa yang berhubungan dengan proses manipulasi data pada table dari suatu database. 2.1.11 Unified Modelling Language (UML) Berdasarkan Connolly & Begg (2010, p909), diagram utama UML terbagi menjadi dua kategori: a. Structural Diagram Menjelaskan hubungan statis antar komponen. Contoh: 1. Class Diagram 2. Object Diagram 3. Component Diagram 4. Deployment Diagram b. Behavioral Diagram Menjelaskan hubungan dinamis antar komponen Contoh : 53 1. Activity Diagram 2. Use Case Diagram 3. Statechart Diagram 4. Sequence Diagram 5. Collaboration Diagram Menurut Satzinger, Jackson, & Burd (2009, p240) yang berpendapat bahwa, Unified Modeling Language (UML) merupakan standar bahasa pemodelan berorientasi objek industri. Standar UML dikelola oleh Object Management Group (OMG), yang merupakan penyatuan dari lebih dari 800 vendor, pengembang, dan organisasi perangkat lunak mengembangkan yang dan telah menggabungkan mendorong keseragaman upaya untuk dalam sistem berorientasi objek. Hal ini juga diperkuat oleh Lano (2009, p98), UML merupakan sesuatu yang dirancang untuk menjadi sebuah penambahan melalui penggunaan definisi profil dan stereotypes baru di dalam sebuah metamodel. Jadi, dapat disimpulkan bahwa Unified Modeling Language (UML) merupakan sebuah bahasa yang berdasarkan grafik atau gambar yang akan digunakan untuk membangun sebuah sistem pengembangan perangkat lunak. 2.1.12 Teori Normalisasi Berdasarkan Connolly & Begg (2010, p416), normalisasi merupakan sebuah teknik untuk memproduksi satu set hubungan dengan sifat yang diinginkan, mengingat kebutuhan data dari suatu perusahaan. Karakteristik dari sebuah set yang cocok hubungannya termasuk : 54 1. Jumlah minimal atribut yang diperlukan untuk mendukung kebutuhan data perusahaan. 2. Atribut dengan relasi logikal tertutup (dijelaskan sebagai ketergantungan fungsional) ditemukan didalam relasi yang sama. 3. Redundansi minimal dengan atribut masing-masing diwakili hanya sekali dengan pengecualian penting dari atribut yang membentuk semua atau sebagian dari foreign keys, yang penting untuk tergabung dengan relasi terkait. 2.1.12.1 Proses Normalisasi Pada Proses Normalisasi terdapat tiga bentuk normalisasi yang diusulkan oleh Connolly & Begg (2010, p428) yang disebut First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF). Proses normalisasi, yaitu : 1. Unnormalized form (UNF) Unnormalized form (UNF) merupakan suatu tabel yang terdiri dari satu atau lebih kelompok yang berulang (repeating group).Repeating group merupakan sebuah atribut atau himpunan atribut di dalam tabel yang memiliki lebih dari satu nilai (multiple value) untuk sebuah primary key pada tabel tersebut Connolly & Begg (2010, p430). 2. First Normal Form (1NF) Merupakan sebuah relasi dimana titik temu antara baris dan kolomnya mengandung satu nilai. Ada dua pendekatan umum untu menghilangkan repeating group dari tabel yang tidak normal, yaitu : 55 a. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang berulang. b. Menempatkan data berulang bersama salinan atribut kunci pada relasi yang terpisah. Sebuah primary key diidentifikasi ke dalam relasi. 3. Second Normal Form (2NF) Second Normal Form (2NF) merupakan sebuah relasi yang berada pada 1NF dan setiap atribut yang bukan primary key berfungsi secara penuh bergantung pada primary key-nya Connolly & Begg (2010, p434). 4. Third Normal Form (3NF) Menurut Connolly & Begg (2010, p436), Third Normal Form (3NF) merupakan sebuah relasi yang berada pada 1NF dan 2NF, dan tidak ada atribut yang bukan primary key yang secara langsung bergantung kepada primary key-nya. 2.1.13 Entity Relationship Diagram ERD dikembangkan pada tahun 1976, setiap perusahaan membutuhkan ERD dimana digunakan untuk memenuhi kebutuhan sistem informasinya dan untuk menggambarkan diagram keterhubungan antarentitas. Menurut Whitten & Bentley (2007, p271), Entity Relationship Diagram merupakan model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideksripsikan oleh data tersebut. Teori tersebut diperkuat oleh Bahl, Sharma, & Rajpal (2011, p27) dimana Entity Relationship Diagram adalah 56 hubungan antara entitas dan merupakan dasar dari database design. ERD Model dapat melakukan pekerjaan dengan baik dalam meng-capture serta mempresentasikan dasar sematik dalam situasi yang berbeda. ERD Model dimana mengalami peningkatan dengan tambahan generalisasi atau spesialisasi, agregasi dan klasifikasi dalam ERD Model. Jadi, dari definisi diatas dapat disimpulkan bahwa Entity Relationship Diagram (ERD) merupakan suatu model untuk menjelaskan hubungan antar data dalam database berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. 2.2 Teori Khusus 2.2.1 MySQL Menurut Kustiyahningsih (2011, p145) MySQL adalah sebuah basis data yang mengandung satu atau sejumlah tabel. Hal ini juga diperkuat oleh Raharjo (2011, p21), MySQL merupakan RDBMS (Relational Database Management System) atau server database yang mengelola database yang dapat dengan cepat menampung jumlah yang sangat besar dan dapat diakses oleh banyak user. Jadi, dari definisi diatas dapat disimpulkan bahwa MySQL adalah suatu perangkat lunak atau program yang digunakan untuk membuat sebuah basis data yang bersifat open source. 2.2.1.1 Tipe Data MySQL Menurut Kurtiyahningsih (2011, p147), tipe data MySQL adalah data yang terdapat dalam sebuah tabel berupa field – field yang berisi nilai dari data tersebut. Nilai data dalam field memiliki tipe sendiri-sendiri. 57 MySQL mengenal beberapa tipe data field yaitu: 1. Tipe data numerik Menurut Kustiyahningsih (2011, p147), tipe numerik dibedakan dalam dua macam kelompok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal. Tabel 2.1 Tipe data numerik Tipe data TINYINT SMALLINT MEDIUMINT INT, INTEGER FLOAT DOUBLE Kisaran Nilai (-128)-127 atau (0-255) (-32768)-32767 atau (0-65535) (-3888608)-8388607 atau 016777215 (-2147683648)-(21447683647) atau 0-4294967295 (-3,4 E+38)-(-1.17E-38), 0 dan 1.175E-38-3.4e+38 (-1.79E+308)-(-2.225E-308), 0 dan 2.225E-308-1.79E+308 2. Tipe data string Table 2.2 Tipe data string Tipe Data Kisaran Nilai 58 Tipe Data Kisaran Nilai CHAR 1-255 karakter VARCHAR 1-255 karakter TINYTEXT 1-255 karakter TEXT 1-65535 karakter MEDIUMTEXT 1-16777215 karakter LONGTEXT 1- 424967295 karakter 3. Tipe data char() dan varchar() Menurut Kustiyahningsih (2011, p148), tipe data char() dan prinsipnya sama, perbedaannya terletak pada jumlah varchar() pada hanya memori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya tergantung pada berapa jumlah karakter yang ditetapkan pada saat field tersebut dideklarasikan. Pada tipe data varchar() penyimpanan besarnya tergantung memori pada jumlah karakter tambah 1 byte. Tabel 2.3 Letak perbedaan jumlah memori Memori Char(4) ‘’ ‘’ 4 bytes ‘’ 1 byte ‘ab’ ‘ab’ 4 bytes ‘ab’ 3 bytes Penyimpanan Varchar(4) Memori Nilai Penyimpanan 59 Memori Char(4) ‘abcd’ ‘abcd’ 4 bytes ‘abcd’ 5 bytes ‘abcdefgh’ ‘abcd’ 4 bytes ‘abcd’ 5 bytes Penyimpanan Varchar(4) Memori Nilai Penyimpanan 4. Tipe data tanggal Tabel 2.4 Tipe data tanggal Tipe Data Kisaran Nilai Memori Penyimpanan DATETIME 1000-01-01 00:00 sampai 3 bytes 9999-12-31 23:59:59 DATE 1000-01-01 sampai 9999-12- 8 bytes 31 TIMESTAMP 1970-01-01 00:00:00 sampai 4 bytes 2037 2.2.2 TIME -839:59:59 sampai 838:59:59 3 bytes YEAR 1901 sampai 2155 1 byte Human Resource Development Menurut Werner dan DeSimone (2009, p4) pengembangan sumber daya manusia (human resources development) diartikan sebagai serangkaian aktivitas yang sistematis dan terencana yang dirancang oleh organisasi untuk memberikan kesempatan kepada anggotanya untukmempelajari keahlian yang diperlukan untuk memenuhi persyaratan kerja saat ini dan yang akan datang. 60 Jelas bahwa di perusahaan sukses manapun kualitas pekerjanya akan menentukan kegagalan dan kesuksesan suatu perusahaan. Operasi-operasi yang dilakukan oleh bagian HRD sangat bergantung pada strategi, kebijakan, dan struktur organisasi perusahaan. Karena itu HRD merupakan salah satu bagian terpenting di dalam perusahaan karena jika perusahaan tidak memiliki bagian HRD yang kompeten maka perusahaan tersebut akan sangat sulit untuk dapat sukses atau bersaing dengan perusahaan lainya. Jadi, dari definisi diatas dapat disimpulkan bahwa Human Resource Development (HRD) adalah bagian mengatur, mengelola dan mengembangkan sumber daya manusia yang terdapat pada organisasi atau perusahaan untuk meningkatkan kinerja organisasi atau perusahaan. 2.2.3 Absensi Untuk menandakan kehadiran karyawan dalam perusahaan, diperlukan absensi. Salah satu hal yang dapat membuktikan bahwa karyawan tersebut hadir dan bekerja sesuai dengan waktu yang ditandainya. Penilaian terhadap karyawan pun juga dapat berdampak melalui absensi. Menurut Hasibuan (2009, p51), mengatakan bahwa Absensi adalah tidak bekerjanya seorang pegawai pada saat hari kerja karena sakit, izin, alpa atau cuti. Atau dengan kata lain absensi adalah administrasi ketidakhadiran pegawai. Dengan demikian absensi ini juga ikut membantu penilaian yang baik bagi setiap organisasi yang menerapkannya. Jadi, dari definisi diatas dapat disimpulkan bahwa Absensi adalah bukti yang menunjukan bahwa organisasi atau perusahaan yang menerapkan memiliki sistem kerja yang baik dan dapat mengetahui serta meningkatkan kedisiplinan karyawan. 61 2.2.4 Gaji Gaji pada umumnya adalah salah satu hal yang dapat mendorong dan memotivasi para karyawan yang berkerja di perusahaan, gaji biasa di sebut sebagai upah dari pekerjaan yang telah di lakukan atau di selesaikan oleh si karyawan. Menurut Soemarso (2009, p307), Gaji dapat di definisikan sebagai berikut : Gaji merupakan imbalan kepada pegawai yang diberikan atas tugas-tugas administrasi dan pimpinan yang jumlahnya biasanya tetap secara bulanan. Hal ini juga diperkuat oleh Mulyadi (2008, p373) yang menyatakan, gaji adalah pembayaran atas penyerahan jasa yang dilakukan oleh sebuah perusahaan atau instansi kepada pegawai. Bukan hanya itu Mardi (2011, p107) berpendapat bahwa, Gaji adalah sebuah bentuk pembayaran atau sebuah hak yang diberikan oleh sebuah perusahaan atau instansi kepada pegawainya. Jadi, dari definisi diatas dapat disimpulkan bahwa gaji merupakan hasil dari pekerjaan yang telah dilakukan oleh seseorang dan diberikan pada periode-periode tertentu. 2.2.5 Perekrutan Perekrutan karyawan adalah salah satu proses yang penting dalam perusahaan karena proses tersebut akan menentukan apakah karyawan yang dipekerjakan perusahaan dapat berkerja dengan baik atau tidak. Menurut Hasibuan (2009, p40), perekrutan/penarikan adalah usaha mencari dan mempengaruhi tenaga kerja, agar mau melamar lowongan pekerjaan yang ada dalam suatu perusahaan. 62 Hal ini juga diperkuat oleh Singodimedjo dalam buku Edy Sutrisno (2011, p45), rekrutmen adalah proses mencari, menemukan, dan menarik para pelamar untuk dipekerjakan dalam suatu organisasi. Bukan hanya itu Mondy dan Noe dalam buku Marwansyah (2010, p106) juga berpendapat bahwa, rekrutmen adalah proses menarik orang-orang pada saat yang tepat, dalam jumlah yang cukup, dan dengan kualifikasi yang cocok, dan mendorong mereka untuk melamar pekerjaan pada sebuah organisasi. Jadi, dari definisi diatas dapat disimpulkan bahwa perekrutan adalah tahap awal atau proses awal dalam memulai suatu karir seseorang dan peningkatan kinerja perusahaan. 63 2.3 Kerangka Pikir Planning Mengi Identifikasi Masalah Metodologi Penelitian Menentukan Ruang Lingkup, tujuan dan manfaat Analysis Metode Pengumpulan Data Metode Wawancara Observasi Studi Pustaka Melakukan Analisis Kebutuhan User Prosedur Berjalan Identifikasi Masalah Developments Melakukan Perancangan Model Konseptual Model Logikal Model Fisikal Evaluasi A p l i k a s i Perancangan Aplikasi Solusi