BAB 2 LANDASAN TEORI 2.1 Teori Umum Dalam penyususnan skripsi ini diperlukan teori-teori yang digunakan untuk mendukung perancangan serta analisis yang telah dilakukan. Berikut ini adalah teori-teori umum yang digunakan untuk menjelaskan dan mendefinisikan teori-teori yang digunakan dalam pembahasan skripsi ini. 2.1.1 Pengertian Sistem Informasi Menurut Satzinger, Jackson & Burd (2005: 7) Sistem Informasi adalah kumpulan komponen yang saling berkaitan untuk mengumpulkan, memproses, menyimpan dan menyediakan output informasi yang dibutuhkan untuk keperluan tugas bisnis. 2.1.2 Pengertian Data Definisi data menurut Rainer & Cegielski (2010: 10) yaitu deskripsi dasar terhadap sesuatu, kejadian, aktivitas serta transaksitransaksi yang dicatat, diklasifikasikan dan disimpan namun belum terorganisasi untuk menyampaikan arti yang spesifik, begitu pula Laudon & Laudon (2010: 64) mengartikan data sebagai aliran dari fakta baku yang menampilkan kejadian-kejadian yang terjadi dalam organisasi atau lingkungan fisik sebelum diorganisasikan dan disusun menjadi bentuk yang dapat dimengerti dan digunakan oleh orang lain. Jadi, data merupakan deskripsi dasar terhadap suatu kejadian, aktivitas serta transaksi yang terjadi di organisasi sebelum diorganisasikan dan disusun menjadi bentuk yang dapat dimengerti dan digunakan. 2.1.3 Pengertian Informasi Informasi adalah data yang telah diproses sehingga lebih berarti dan lebih bermanfaat bagi pemakai tertentu yang biasanya mengarah pada proses penambahan nilai (O'Brien, 2005: 38). 7 8 Informasi adalah data yang telah diproses dan diorganisasi ulang menjadi bentuk yang berati. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti ke penerima (Whitten, Bentley & Dittman, 2004: 23). Jadi, informasi adalah kumpulan data yang telah diproses dan berguna untuk keperluan tiap-tiap individu 2.1.4 Pengertian Database Definisi database menurut Connolly & Begg (2010: 65) yaitu kumpulan data yang berelasi secara logikal dan sebuah deskripsi dari data tersebut yang didesain untuk memenuhi kebutuhan organisasi. Database adalah sebuah tempat penyimpanan besar dari data yang dapat digunakan secara terus menerus oleh banyak departemen dan user. Menurut Satzinger, Jackson & Burd (2005: 398), database merupakan kumpulan data yang saling terintegrasi dan dimanage serta dikontrol oleh DBMS Jadi, database merupakan tempat kumpulan data, dimana data didalamnya saling terintegrasi satu sama lain 2.1.5 Database Management System (DBMS) Menurut Connolly & Begg (2010: 66), DBMS adalah suatu sistem software yang memungkinkan user untuk mendefinisikan, membuat, merawat dan mengontrol akses ke database. Fasilitas-fasilitas yang disediakan DBMS adalah : • Memungkinkan pengguna mendefinisikan database, biasanya lewat Data Definition Language atau biasa disingkat DDL. DDL memungkinkan user untuk menspesifikasikan tipe data, struktur dan batasan pada data yang akan disimpan didalam database. • Memungkinkan user untuk insert, update, delete dan menarik data dari database, biasanya lewat Data Manipulation Language atau biasa disingkat DML. 9 • Menyediakan akses kepada database, seperti : Security system, menjaga database diakses oleh pihak luar. Integrity system, menjaga konsistensi data yang disimpan. Concurrency control system, memungkinkan pembagian akses database. Recovery control system, memungkinkan pengembalian database ke kondisi awal jika terjadi kegagalan perangkat lunak maupun perangkat keras. User-accessible catalog, menampilkan deskripsi data yang tersimpan dalam database. Gelogo & Lee (2012: 72) menyatakan bahwa konsep dari DBMS sudah berkembang dan berjalan sejak komputer mulai dikomersilkan, seperti pada contoh navigational DBMS pada 1960an. Database Management System adalah salah satu komponen integrasi tertua pada komputer yang memungkinkannya dapat melakukan scan, pengambilan dan pengorganisasian data dari perangkat keras dan jaringan. Seluruh jenis DBMS baik tradisional maupun cloud base adalah suatu perantara yang berfungsi untuk berkomunikasi antara operasi sistem dengan database. 2.1.5.1 Komponen Dari DBMS Environment Menurut Connolly & Begg (2010: 68), komponen dari DBMS environment adalah : • Hardware DBMS dan aplikasi memerlukan hardware untuk beroperasi. Hardware tersebut dapat berkisar dari komputer personal tunggal, suatu mainframe tunggal, maupun suatu jaringan komputer. 10 • Software Komponen software terdiri atas DBMS itu sendiri dan program aplikasi, bersama dengan sistem operasi, termasuk software jaringan jika DBMS sedang digunakan melalui suatu jaringan. • Data Komponen paling penting dari DBMS environment adalah data. Data berperan sebagai jembatan penghubung antara komponen mesin dan komponen manusia. • Procedure Merupakan instruksi dan atura-aturan yang mengatur perancangan dan penggunaan basis data. Pengguna sistem dan staf yang mengatur basis data yang memerlukan prosedurprosedur yang telah didokumentasikan pada cara penggunaan sistem. • People (Users) Komponen ini terdiri atas : 1. Data Administrator (DA) bertanggung jawab dalam pengaturan sumber daya data termasuk perencanaan basis data, pengembangan, pemeliharaan, kebijakan dan prosedur, serta perancangan basis data konseptual maupun logikal. 2. Database Administrator (DBA) bertanggung jawab atas realisasi fisik dari basis data, termasuk perancangan basis data fisikal dan implementasi, keamanan dan kontrol integritas, perawatan sisterm operasional, dan meyakinkan kinerja aplikasi yang memuaskan untuk pengguna. 3. Logical Database Designer terkait dengan identifikasi data (seperti entitas dan atribut), relationship antara data, dan batasan data yang disimpan dalam basis data. 11 4. Physical Database Designer memutuskan bagaimana perancangan basis data logikal direalisasikan secara spesifik. 5. Application Developer bertanggung jawab setelah basis data diimplementasikan, program aplikasi menyediakan fungsionalitas yang diperlukan untuk end-user harus diimplementasikan. 6. End User adalah client untuk basis data yang telah dirancang dan diimplementasikan, dan sedang dirawat untuk menyajikan kebutuhan-kebutuhan informasi mereka. End user dapat diklasifikasikan berdasarkan cara mereka menggunakan sistem, yaitu native user dan sophisticated user. 2.1.5.2 Keuntungan dan Kerugian DBMS Menurut Connolly & Begg (2010: 77), keuntungan dari DBMS adalah : • Kontrol redudansi data : Menghilangkan data ganda, sehingga data baru yang memiliki kesamaan tidak akan disimpan. • Konsistensi data : Dengan menghilangkan redudansi data, hal tersebut juga mengurangi resiko ketidakkonsistenan data. • Informasi tambahan dari jumlah data yang sama : Dengan terintegrasinya data operasional, hal tersebut memungkinkan organisasi untuk mendapatkan informasi tambahan tentang data yang sama. • Pembagian data : File biasanya dimiliki oleh orang atau departemen yang menggunakannya. Disisi lain, basis data merupakan milik keseluruhan organisasi dan dapat dibagikan kepada setiap user yang memiliki hak akses. • Meningkatkan Integritas Data : Integritas database mengacu kepada validitas dan konsistensi data yang disimpan. 12 • Meningkatkan Keamanan : Keamanan database untuk melindungi data dari pengguna yang tidak memiliki hak akses. • Penetapan Standarisasi : Integrasi memungkinkan DBA untuk mendefinisikan dan membuat standar yang diperlukan. • Skala Biaya : Menyatukan semua data operasional suatu organisasi kedalam satu penyimpanan dinilai akan mengurangi pengeluaran biaya. • Menyeimbangkan Konflik Kebutuhan : Setiap pengguna mempunyai kebutuhan yang berbeda dengan pengguna lainnya. Dalam hal ini, DBA yang berhak dan mampu dalam membuat keputusan. • Meningkatkan Aksesbilitas dan Respon pada data : Hasil dari integrasi data, dimana data yang melewati batasan departemen dapat diakses oleh end user. • Meningkatkan Produktivitas : DBMS menawarkan banyak fasilitas yang memudahkan penyusunan aplikasi, sehingga waktu pengembangan aplikasi dapat dipersingkat. • Meningkatkan Pemeliharaan melalui Indepedensi Data : DBMS memisahkan data dari aplikasi, sehingga perubahan aplikasi tidak mempengaruhi data. • Meningkatkan Konkurensi : Dalam beberapa file-based system, jika dua atau lebih user mengakses file secara bersamaan, maka akan ada kemungkinan terjadi kehilangan informasi dan kehilangan integritas. • Meningkatkan Backup dan Pelayanan recovery : DBMS menyediakan fasilitas untuk meminimalisir jumlah proses kegagalan. Menurut DBMS adalah : Connolly & Begg (2010: 80), kerugian dari 13 • Kompleksitas : Fungsi terbaik yang kita harapkan dari DBMS membuat DBMS tersebut menjadi sangat kompleks. • Ukuran : Fungsi yang kompleks membuat DBMS menjadi software yang sangat besar, memerlukan banyak tempat penyimpanan untuk berjalan dengan efesien. • Biaya dari DBMS : Biaya DBMS bervariasi, hal tersebut tergantung dari lingkungan dan fungsi yang ditawarkan. • Biaya Tambahan Perangkat Keras : Tempat penyimpanan yang dibutuhkan untuk DBMS memungkinkan penambahan mesin tambahan, hal tersebut membutuhkan biaya tambahan. • Konversi Biaya : Pada satu situasi, biaya untuk DBMS dan perangkat keras tambahan relatif lebih kecil dibandingkan dengan biaya konversi untuk menjalankan penggunaan DBMS baru. • Performa : DBMS memang digunakan untuk banyak aplikasi dan hasil performanya juga terbilang baik, namun disatu sisi hasilnya diluar dari ekspetasi. • Besarnya Pengaruh Kegagalan : Pengguna menjalankan aplikasi secara bersamaan, hal tersebut memicu terjadinya kegagalan pada DBMS. 2.1.6 Entity Relationship Modeling Menurut Connolly & Begg (2010: 372), ada beberapa konsep- konsep dasar dari Entity Relationship Model antara lain Entity Types. Relationship Types, Attributes, Structural constraint dan Multiplicity. • Entity Types Menurut Connolly & Begg (2010: 372), konsep dasar dari ER model adalah entity type (tipe entity). Tipe entity adalah sekumpulan kelompok dari objek dengan properti yang sama dimana diidentifikasi oleh sebuah perusahaan sebagai suatu keberadaan yang berdiri sendiri. Setiap objek yang diidentifikasi secara unique dari sebuah tipe entity 14 disebut entity occurrence. Tipe entity dapat diklasifikasikan menjadi 2 yaitu : 1. Strong entity Strong entity type adalah sebuah tipe entity dimana keberadaannya tidak bergantung pada beberapa tipe entity lain. Karakteristik dari strong entity adalah setiap entity occurrence dapat diidentifikasi secara unik menggunakan sebuah atribut primary key dari tipe entitynya. 2. Weak Entity Weak entity type adalah sebuah tipe entity yang keberadaannya bergantung pada entity lainnya. Karakteristik dari weak entity adalah setiap entity occurrence tidak dapat diidentifikasikan secara unik hanya menggunakan atribut yang berhubungan dengan tipe entity lain yang berupa foreign key yang dijadikan sebagai primary key. • Relationship Types Menurut Connolly & Begg (2010: 374)Sebuah relationship type adalah sekumpulan asosiasi antara satu atau lebih tipe entity yang ikut serta. Setiap relationship type diberi nama sesuai dengan fungsinya. Relationship occurrence adalah sebuah asosiasi yang dapat diidentifikasikan secara unik dimana mencakup sebuah kejadian dari setiap entity yang ikut serta. • Attributes Menurut Connolly & Begg (2010: 379), Attributes adalah property dari sebuah entity atau sebuah relationship type. Sebuah atribut memegang nilai yang menggambarkan setiap entity occurrence dan mewakili bagian utama dari data yang disimpan dalam basis data. Attributes dapat diklasifikasikan menjadi : 15 1. Simple and Composite Attributes Simple attribute adalah atribut yang terdiri dari suatu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Composite attribute adalah sebuah atribut yang terdiri dari beberapa komponen, dimana tiap-tiap atributnya memiliki keberadaan yang berdiri sendiri. 2. Single-valued and Multi-valued Attributes Single – valued attribute adalah atribut yang memiliki nilai tunggal untuk setiap kejadian. Multi – valued attribute adalah atribut yang memiliki beberapa nilai untuk setiap kejadian. 3. Derived Attributes Derived attributes adalah atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus berasal dari satu entitas. • Structural Constraint Menurut Connolly & Begg (2010: 385), Constraints seharusnya mencerminkan batasan dari hubungan sebagai suatu tanggapan dalam dunia nyata. Tipe utama Constraints dalam hubungan disebut multiplicity.. Relationship yang paling umum adalah binary relationship. Macam-macam binary relationship, yaitu ; One to one (1:1) Terjadi bila setiap anggota entity A haya boleh berpasangan dengan suatu anggota lain dari entity B. Sebaliknya, tiap anggota dari entity B hanya boleh berpasangan dengan satu anggota entity A. 16 One to Many (1:*) Terjadi bila setiap anggota entity A boeh berpasangan dengan lebih dari satu anggota entity B. Sebaliknya, tiap anggota entity B hanya boleh berpasangan dengan satu anggota entity A. Many to Many (*:*) Terjadi bila tiap anggota entity A boleh berpasangan dengan lebih dari satu anggota entity B. Sebaliknya tiap anggota entity B juga boleh berpasangan dengan lebih dari satu anggota entity A. • Multiplicity Multiplicity adalah sejunlah kejadian yang mungkin terjadi pada sebuah entity dimana memungkinkan berhubungan dengan satu kejadian lain yang bergantung pada sebuah tipe entity melalui hubungan yang nyata 2.1.7 Pengertian Field, Record, Primary Key, Secondary Key, Alternate Key, Candidate Key dan Foreign Key Menurut Whitten, Bentley & Dittman (2004: 284) : • Field adalah unit terkecil dari data meaningfull yang telah disimpan pada sebuah file atau database. • Record adalah sebuah kumpulan field yang disusun pada format yang telah ditentukan. • Primary key adalah sebuah field yang nilai-nilainya mengidentifikasi satu dan hanya satu record pada sebuah field • Secondary key adalah sebuah pengidentifikasian alternatif pada sebuah database. Nilai secondary key mungkin mengidentifikasi sebuah record tunggal atau sebuah subset dari semua record • Alternate key adalah candidate key yang tidak terpilih menjadi primary key 17 • Candidate key adalah satu dari sekin banyak key yang berlaku sebagai primary key suatu entitas. Sering disebut sebagai candidate identifier • Foreign key adalah pointer ke record-record dari sebuh file lain pada sebuah database. Foreign memampukan database terhubung ke record-record dari suatu tipe ke record-record dari tipe lain Menurut Satzinger, Jackson & Burd (2005: 408), primary key diartikan sebagai key yang secara unik mengidentifikasi relasi basis data didalam tabel. Sedangkan foreign key merupakan atribut yang diberikan kepada satu table relational database yang juga muncul sebagai primary key pada tabel relational databse lainnya. 2.1.8 Pengertian File dan Tabel Menurut Whitten, Bentley & Dittman (2004: 521), file adalah kumpulan dari semua kejadian dari sebuah struktur record yang ditentukan. Sedangkan tabel adalah equivalen database relasional dari sebuah file. Beberapa tipe file antara lain : • Master File : Record-record yang secara relatif : Record-record yang mendeskripsikan bersifat tetap. • Transaction File proses kejadian bisnis. 2.1.9 Pengertian Entity Relationship Diagram Entity Relationship Diagram merupakan model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang dideskripsikan oleh data tersebut (Whitten, Bentley & Dittman, 2004). Cardinality adalah jumlah minimum dan maksimum dari keberadaan suatu entity yang mungkin direlasikan dengan entity lain. Degree adalah sejumlah entity yang berpartisipasi dalam sebuah relationship. 18 = Menyatakan hubungan satu dan hanya satu = Menyatakan hubungan satu atau lebih = Menyatakan hubungan nol atau satu Menurut Feng & Liu (2013: 33), model konseptual ERD adalah ekspresi abstrak dari kebutuhan pengguna, hal tersebut bersifat independen dari setiap data model spesifik dan menyebabkan tidak bisa didukung secara spesifik oleh DBMS. Agar mampu membangun sistem yang diinginkan pengguna, maka model konseptual perlu dirubah kedalam model logikal untuk menyelesaikan struktur logis dari basis data. 2.1.10 Pengertian Normalisasi, Generalisasi dan Spesialisasi Menurut Whitten, Bentley, & Dittman (2004: 306), definisi dari normalisasi yaitu teknik analisa data yang mengelola data kedalam kelompok-kelompok untuk membentuk entitas yang nonredundan, tabil, fleksibel dan adaptif. Beberapa tahapan dalam Normalisasi : • First Normal Form (1NF) : Entitas yang atributnya memiliki tidak lebih dari satu nilai untuk contoh tunggal entitas tersebut. • Second Normal Form (2NF) : Entitas yang atribut nonprimary key-nya hanya tergantung pada full primary key. • Third Normal Form (3NF) : Entitas yang atribut nonprimary key-nya tidak tergantung pada atribut nonprimary key yang lain. Menurut Connolly & Begg (2010: 428), normalisasi merupakan teknik formal untuk menganalisa hubungan primary key dan fungsi ketergantungan didalamnya. Beberapa tahapan dalam normalisasi : 19 • Unnormalized Form (UNF) : Table yang mengandung satu atau lebih kelompok pengulangan • First Normal Form (1NF) : Hubungan antara baris dan kolom yang mengandung satu dan hanya satu nilai saja. • Second Normal Form (2NF) : Relasi pada bentuk normal pertama dan setiap atribut bukan primary key sangat bergantung penuh pada primary key. • Third Normal Form (3NF) : Hubungan dalam bentuk normal pertama dan kedua, dimana tidak adanya atribut non-primary key yang bergantung penuh pada primary key. Menurut Connolly & Begg (2010: 403) pengertian dari generalisasi dan spesialisasi adalah sebagai berikut : • Generalisasi : Proses untuk meminimalisir perbedaan antara tiap entitas dengan mengidentifikasi karakteristik dari tiap entitas tersebut. • Spesialisasi : Proses untuk memaksimalkan perbedaan antar entitas dengan mengidentifikasi perbedaan karakteristik yang dimiliki tiap entitas. 2.1.11 Pengertian Superclass Dan Subclass Menurut Connolly & Begg (2010: 400), definisi dari superclass dan subclass adalah sebagai berikut : • Superclass : Suatu entitas yang mencakup satu atau lebih pengelompokkan kejadian yang berbeda. • Subclass tipe entitas. : Pengelompokan yang berbeda dari kejadian suatu 20 2.1.12 Database Language 2.1.12.1 Data Definition Language (DDL) Pengertian Connolly & Data Begg memperbolehkan Definition (2010: 92) Database Language adalah menurut bahasa Administrator yang untuk mendeskripsikan dan memberi suatu nama entitas, atribut dan relasi data yang dibutuhkan untuk kegunaan aplikasi. 2.1.12.2 Data Manipulation Language (DML) Pengertian Data Manipulation Language menurut Connolly & Begg (2010: 92) adalah bahasa yang menyediakan seperangkat fungsi untuk kebutuhan manipulasi data. Beberapa perintah dalam Data Manipulation Language antara lain : • INSERT • UPDATE : Fungsi untuk mengupdate data pada tabel • DELETE : Fungsi untuk menghapus data pada tabel • FROM : Fungsi untuk memasukkan data kedalam tabel : Fungsi untuk menetukan tabel dimana data akan dimanipulasi 2.2 Analisa dan Perancangan Sistem Informasi 2.2.1 Pengertian 8 Golden Rules Menurut Shneiderman & Plaisant (2010: 88), terdapat 8 ( delapan ) aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu : • Konsistensi Konsisten terhadap segala aspek yang ada didalam rancangan, termasuk warna, ukuran dan isi rancangan. 21 • Menyediakan Kegunaan Universal Mengenali kebutuhan tiap-tiap pengguna yang beragam dan memfasilitasi transformasi konten. • Memberikan Umpan Balik yang Informatif Setiap aksi yang dilakukan oleh pengguna, sebaiknya harus ada umpan balik yang sederhana dari sistem, sehingga pengguna mengetahui hasil dari tindakannya. • Merancang Desain Dialog untuk Penutupan atau Keadaan Akhir Urutan aksi hendaknya disusun ke dalam kelompok kategori awal, tengah, dan akhir. Umpan balik yang informatif dapat memberikan kepuasan kepada pengguna, rasa lega dan pemberitahuan untuk mempersiapkan diri memasuki kelompok kategori aksi selanjutnya. • Memberikan Pencegahan Kesalahan dan Penanganan yang Sederhana Dalam merancang sistem, sebaiknya mengarahkan pengguna untuk tidak melakukan kesalahan serius, jikapun terjadi kesalahan, sistem harus memberikan jalan penanganan yang sederhana • Kemudahan Untuk Kembali ke Tindakan Sebelumnya Sistem yang dirancang harus memberikan kemudahan bagi pengguna untuk kembali ke tindakan sebelumnya jika terdapat kesalahan pada saat itu juga. • Mendukung Pusat Kendali Internal Pengguna memiliki hak akses penuh atas sistem sehingga sistem akan merespon apapun yang dilakukan oleh pengguna. • Mengurangi Beban Ingatan Jangka Pendek Tampilan sebaiknya dirancang sesederhana mungkin agar pengguna dapat mengingat dengan jangka waktu yang lama 22 2.2.2 Siklus Pembuatan Basis Data Menurut Connolly & Begg (2010: 313) terdapat 11 (sebelas) langkah pokok pembuatan basis data, antara lain : a. Database Planning Database planning adalah aktivitas manajemen yang memungkinkan tahapan dari database system development lifecycle direalisasikan se-efektif dan se-efisien mungkin. Database planning harus diintegrasikan dengan strategis IS secara keseluruhan dari organisasi. Tiga pokok utama dalam memformula IS strategi meliputi : 1. Identifikasi rencana dan tujuan perusahaan dengan menentukan kebutuhan sistem informasi berikutnya. 2. Evaluasi sistem informasi saat ini untuk menentukan kelebihan dan kelemahan yang ada saat ini. 3. Penilaian dari kesempatan-kesempatan TI yang mungkin menghasilkan keuntungan kompetitif. b. System Definition Pendefinisian sistem menggambarkan ruang lingkup dan batasan aplikasi basis data serta pandangan pengguna. Hal ini sangat penting dilakukan dalam proses perancangan basis data agar lebih terfokus pada proyek basis data yang dibuat. c. Requirements Collection and Analysis Requirement collection and analysis merupakan proses pengumpulan dan analisis informasi mengenai bagian organisasi yang akan didukung oleh aplikasi basis data dan menggunakan informasi tersebut untuk identifikasi kebutuhan pengguna akan sistem yang baru. Informasi dikumpulkan untuk setiap user view utama, meliputi : 1. Deskripsi data yang digunakan atau dihasilkan 2. Detail mengenai bagaimana data digunakan atau dihasilkan 23 3. Kebutuhan tambahan untuk aplikasi basis data yang baru Informasi-informasi ini kemudian dianalisis untuk mengidentifikasi kebutuhan atau fitur yang akan disertakan dalam aplikasi basis data yang baru. Aktivitas penting lainnya adalah menentukan bagaimana mengatur kebutuhan aplikasi basis data dengan multiple user view, yaitu : 1. Pendekatan terpusat (Centralied Approach) Kebutuhan dari setiap user view digabung menjadi serangkaian kebutuhan tunggal dari aplikasi basis data. 2. Pendekatan Integrasi View (View Integration Approach) Kebutuhan dari setiap user view digunakan untuk membuat model data terpisah untuk merepresentasikan user view tersebut. Model data tersebut nantinya akan digabung pada tahapan database design. d. Database Design Perancangan basis data (database design) merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan sasaran suatu perusahaan. Pendekatan dalam mendesain sebuah database : • Top Down Diawali dengan pembentukan model data yang berisi beberapa entity high level dan relationship, yang kemudian menggunakan pendekatan top down secara berturut-turut untuk mengidentifikasikan entity lower level, relationship dan atribut. • Bottom Up Dimulai dari atribut dasar (yaitu sifat-sifat entity dan relationship), dengan analisis dari penggabungan antar atribut, 24 yang dikelompokkan kedalam suatu relasi yang merepresentasikan tipe dari entity dan relationship antar entity • Inside Out Berhubungan dengan pendekatan bottom up tetapi sedikit berbeda dengan identifikasi awal entity utama dan kemudian meyebar ke entity, relationship, dan atribut terkait lainnya yang lebih dulu diidentifikasi. • Mixed Menggunakan pendekatan bottom up dan top down untuk bagian yang berbeda sebelum pada akhirnya digabungkan. Database design dibagi dalam tiga tahapan, yaitu : Perancangan basis data konseptual (conseptual database design) Perancangan basis data logikal (logical database dasign) Perancangan basis data fisikal (physical database design) e. DBMS Selection (Optional) Pemilihan DBMS yang tepat untuk mendukung aplikasi database dapat dilakukan kapanpun sebelum menuju desain logikal asalkan terdapat cukup informasi mengenai kebutuhan sistem. Langkah-langkah utama untuk memilih suatu DBMS : 1. Mendefinisikan terminologi studi referensi 2. Mendaftar dua atau tiga produk 3. Evaluasi produk 4. Rekomendasi pilihan dan laporan produk 25 f. Application Design Perancangan aplikasi adalah merancang desain user interface dan program aplikasi, yang kemudian akan terintegrasi dengan basis data didalamnya. g. Prototyping Merupakan pembuatan suatu model kerja dari aplikasi basis data. Suatu prototype adalah contoh model yang tidak mempunyai semua fitur-fitur yang diperlukan atau menyediakan semua fungsionalitas dari sistem terakhir. Tujuan utama dari pengembangan prototype suatu aplikasi basis data, yaitu : a) Untuk mengidentifikasi fitur dari sistem yang berjalan apakah baik atau tidak. b) Untuk memberikan perbaikan atau penabahan fitur baru. c) Untuk klarifikasi kebutuhan user. d) Untuk evaluasi feasibilitas (kemungkinan yang akan terjadi) dari desain sistem khusus. Terdapat dua macam strategi prototyping yang digunakan saat ini, yaitu : 1. Requirement Prototyping, menggunakan prototype untuk menentukan kebutuhan dari usulan sistem basis data yang diinginkan dan ketika kebutuhan itu terpenuhi maka prototype tidak akan dipakai lagi. 2. Evolutionary Prototyping, digunakan untuk tujuan yang sama. Perbedaanya, prototype tidak akan dibuang tetapi dengan pengembangan lanjutan menjadi aplikasi basis data yang digunakan. h. Implementation Implementasi merupakan realisasi fisik dari database dan desain aplikasi. Implementasi basis data dilakukan dengan 26 menggunakan Data Definition Language (DDL) dari DBMS yang terpilih. Bagian dari program ini merupakan transaksi-transaksi basis data yang diimplementasikan menggunakan Data Manipulation Language (DML). i. Data Conversion and Loading Memindahkan data dari sistem yang lama ke sistem yang baru. Langkah ini dibutuhkan hanya pada waktu sistem basis data yang lama digantikan dengan sistem basis data yang baru. Suatu DBMS mempunyai kegunaan memasukkan file kedalam basis data yang baru dan kemudian secara otomatis mengubah data kedalam format yang diperlukan oleh file basis data yang baru. Jika bisa diterapkan, pengembang dapat mengubah dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru. j. Testing Suatu proses eksekusi program aplikasi dengan tujuan untuk menemukan kesalahan, dengan menggunakan strategi tes yang direncanakan dan data yang sesungguhnya. k. Operational Maintenance Merupakan proses pengawasan dan pemeliharaan sistem basis data berikut instalasinya. Pada langkah sebelumnya, sistem basis data telah diimplementasikan dan diuji sepenuhnya. Sekarang sistem memasuki langkah pemeliharaan yang melibatkan aktivitas-aktivitas berikut : • Pengawasan performa sistem, jika performa menurun maka memerlukan perbaikan atau pengaturan ulang database • Pemeliharaan dan pembaharuan aplikasi database dibutuhkan). • Penggabungan kebutuhan baru kedalam aplikasi database. (jika 27 2.2.3 Tahapan Perancangan Basis Data 2.2.3.1 Perancangan Basis Data Konseptual Menurut Connolly & Begg (2010: 470), Perancangan basis data konseptual adalah proses pembuatan suatu model dari data yang digunakan dalam suatu organisasi, yang tidak tergantung pada segala pertimbangan fisikal. Langkah 1 : Membangun model data konseptual Tujuan dari langkah ini adalah untuk membangun suatu model data konseptual dari perusahaan untuk setiap view yang spesifik. Pada tahap membuat model data konseptual lokal, langkah-langkah yang dilakukan adalah sebagai berikut : Mengidentifikasi tipe entitas Mengidentifikasi tipe relasi Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau relationship Menentukan domain atribut Menentukan atribut candidate key, primary key dan alternate key Mempertimbangkan penggunaan enchance modelling concepts (langkah optional) Mengecek model untuk redudansi Validasi model data konseptual dengan transaksi user Me-review model data konseptual lokal dengan user 2.2.3.2 Perancangan Basis Data Logikal Menurut Connolly & Begg (2010: 490), perancangan basis data logikal adalah membangun suatu model informasi yang digunakan didalam suatu organisasi berdasarkan model data yang spesifik, tetapi tidak bergantung pada suatu DBMS dan perangkat keras lainnya. 28 Langkah 2 : Membuat dan memvalidasi model data logikal lokal Tujuan dari langkah ini adalah untuk mambangun suatu model data logikal lokal dari model data konseptual lokal yang telah dihasilkan sebelumnya dan memvalidasi model tersebut untuk menjamin kebenaran struktur dan menjamin model tersebut mendukung kebutuhan transaksi. Pada tahap membuat model data logikal, langkah-langkah yang dilakukan adalah sebagai berikut : Membuat relasi untuk model data logikal Validasi relasi dengan menggunakan normalisasi Validasi relasi dengan transaksi user Mendefinisikan batasan integritas Me-review model data logikal lokal dengan user Menggabungkan model data logikal kedalam model data global (Optional step) Memeriksa pertumbuhan dimasa mendatang 2.2.3.3 Perancangan Basis Data Fisikal Menurut Connolly & Begg (2010: 523), tujuan dari perancangan basis data fisikal adalah untuk mendeskripsikan dari pengimplementasian dari suatu basis data pada media penyimpanan secondary; itu juga akan mendeskripsikan dasar dari suatu relasi, organisasi file untuk mencapai ke-efisienan data, integritas, serta ukuran keamanan. Langkah 3 : Menerjemahkan model data logikal global target DBMS Tujuan dari langkah ini adalah untuk menghasilkan skema basis data relasional dari model data logikal yang dapat diimplementasikan pada DBMS terpilih. 29 Langkah yang terdapat didalamnya yaitu : 1. Merancang relasi dasar 2. Merancang representasi dari derived data 3. Merancang general constraint Langkah 4 : Merancang organisasi file dan indeks Tujuan utama dari langkah ini adalah untuk menentukan pengorganisasian file yang optimal untuk menyimpan relasirelasi dasar dan indeks yang diperlukan untuk mencapai performa yang diinginkan. Untuk mencapai tujuan tersebut, terdapat beberapa aktivitas-aktivitas yang harus dilakukan, antara lain : 1. Menganalisa transaksi 2. Memilih organisasi file 3. Menentukan indeks 4. Mengestimasi kebutuhan disk space Langkah 5 : Merancang user view Tujuan dari langkah ini adalah untuk merancang user view yang diidentifikasi selama pengumpulan informasi dan analisis dari siklus hidup aplikasi basis data. Langkah 6 ; Merancang mekanisme keamanan Bertujuan untuk merancang ukuran keamanan untuk basis data yang telah dispesifikasikan user. Langkah 7 : Mempertimbangkan pengenalan dari redudansi kontrol 30 Langkah ini bertujuan untuk mempertimbangkan denormalisasi skema rasional untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basis data logikal secara struktural konsisten dan menekan jumlah redudansi. Langkah 8 : Memonitor dan mengatur sistem operasional Tujuan dari langkah ini adalah untuk memonitor sistem operasional, meningkatkan performa, dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. Perancangan basis data secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalu-jalur akses pada file database untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi. Selama fase ini, dirancang spesifikasi-spesifikasi untuk database yang disimpan untuk bisa berhubungan dengan penyimpanan fisik, penempatan record dan jalur akses (Abdillah, 2006). 2.2.4 • Two-Tier and Three-Tier Client-Server Architecture Two-Tier Client-Server Architecture Menurut Connolly & Begg (2010: 110), pada two-tier terdapat proses klien, yang membutuhkan beberapa sumber daya dan juga server. Tidak ada persyaratan yang mengharuskan klien dan server harus berada pada satu mesin yang sama. Banyak klien bisa terhubung ke server melalui jaringan LAN. 31 Gambar 2.1 Two-Tier Client-Server Architecture (Source : Connolly & Begg (2010: 111)) • Three-Tier Client-Server Architecture Menurut Connolly & Begg (2010: 113), arsitektur three-tier merupakan bentuk pengembangan dari model two-tier untuk membantu pemecahan masalah enterprise scalability. Three-tier memiliki 3 bagian yang masing-masing bisa dijalankan pada platform yang berbeda, diantaranya : 1. User Interface, dijalankan pada komputer klien 2. The Business Logic and Data Processing Layer, dijalankan pada server 3. DBMS, melakukan penyimpanan terhadap permintaan dari bagian business logic and data processing layer. 32 Gambar 2.2 Three-Tier Client-Server Architecture (Source : Connolly & Begg (2010: 113)) 2.3 Teori UML Menurut Satzinger, Jackson, & Burd (2005: 48) UML merupakan suatu set standar konstruksi model dan notasi yang dikembangkan secara khusus untuk pemodelan berorientasi objek. Menurut Lee (2012: 158), UML merupakan standar tujuan umum bahasa pemodelan dibidang perangkat lunak yang berorientasi objek. UML merupakan sebuah tool untuk menspesifikasi dan memvisualisasi sistem perangkat lunak, termasuk juga didalamnya tipe standar diagram yang mendeskripsikan struktur desain database system. 33 2.3.1 Activity Diagram Activity Diagram is a type of workflow diagram that describes the user activities and their sequential flow (Satzinger, Jackson & Burd, 2005: 145) Gambar 2.3 Activity Diagram (Source : Satzinger, Jackson & Burd (2005: 145)) 2.3.2 Use Case Menurut Satzinger, Jackson & Burd (2005: 215) Use Case is a diagram showing the various user roles and the way those users interact with the system. Jadi, Use Case Diagram adalah sebuah diagram yang menunjukan urutan pesan antara actor external dan system. Gambar 2.4 Use Case (Source : Satzinger, Jackson & Burd (2005: 215)) 34 2.3.3 User Interface Menurut Satzinger, Jackson & Burd (2005: 475) User Interface is the part of an information system requiring user interaction to create inputs and outputs. Gambar 2.5 User Interface (Source : Satzinger, Jackson & Burd (2005: 475)) 2.4 Teori Khusus 2.4.1 Teori Pengarsipan Menurut UU tahun 1971 mengenai ketatausahaan pokok kearsipan, yang dimaksud dengan arsip adalah : a. Naskah-naskah yang dibuat dan diterima oleh lembaga-lembaga negara dan badan-badan pemerintah dalam bentuk corak apapun, baik dalam keadaan tunggal maupun kelompok dalam rangka pelaksanaan kehidupan pemerintah b. Naskah-naskah yang dibuat dan diterima oleh badan-badan swasta dan atau badan perorangan dalam bentuk corak apapu, baik keaaan tunggal maupun kelompok dalam rangka pelaksanaan kehidupan kebangsaan 35 Menurut Drs. Anhar, kearsipan merupakan suatu proses pengaturan yang menyimpan baha-bahan/warkat-warkat secara sistematis, sehingga apabila arsip tersebut dibutuhkan, dapat dengan mudah dan cepat ditemukan kembali. Menurut Nawawi Dg. (2010: 1572) peranan kearsipan adalah sebagai sumber informasi dan sumber dokumentasi. Sebagai sumber informasi, maka arsip akan dapat membantu megingatkan petugas yang lupa mengenai suatu masalah. Sebagai sumber dokumentasi, arsip dapat digunakan oleh pimpinan organisasi untuk membuat atau mengambil keputusan secara tepat mengenai suatu masalah yang sedang dihadapi 2.4.2 Teori Administrasi Menurut PUSPA (1977: 36), hukum administrasi adalah hukum yang mengatur kewenangan badan-badan dengan lembaga-lembaga pemerintahan baik dalam bentuk tertulis maupun tidak tertulis yang berbentuk keseuruhan ketentuan-ketentuan hukum. 2.4.3 Pengertian Advokat, Klien Dan Jasa Hukum Menurut AAI (2003), pengertian dari advokat, klien dan jasa hukum adalah sebagai berikut : 1. advokat/pengacara = orang yang berprofesi memberikan jasa hukum, baik dalam maupun luar pengadilan yang memenuhi persyaratan berdasarkan ketentuan UU. 2. klien adalah orang, badan hukum atau lembaga lain yang menerima jasa hukum dari advokat atau pengacara. 3. Jasa hukum = jasa yang di berikan advokat/pengacara berupa konsultasi hukum, bantuan hukum, menjalankan kuasa, mewakili, mendampingi, membela dan melakukan tindakan hukum lain untuk kepentingan hukum klien. 36 2.5 Pengertian PHP Menurut Welling & Thomson (2003: 2), PHP merupakan server-slide scripting language yang didesain secara spesifik untuk web. Dengan menggunakan sebuah halaman HTML, PHP dapat dieksekusi setiap kali halaman tersebut dikunjungi. Kode PHP yang telah dibuat diterjemahkan oleh web server dan menghasilkan HTML atau output lainnya dimana para pengguna dapat melihatnya. PHP merupakan produk open source, dimana setiap orang bisa mengakses source code, mengubahnya dan mendistribusikannya secara bebas tanpa terkena biaya. Beberapa keuntungan penggunaan PHP diantaranya yaitu : 1. Performa yang tinggi PHP sangat efisien. Menggunakan sebuah server yang tidak mahal dan dapat melayani jutaan hits setiap hari; 2. Integrasi Database PHP memiliki banyak koneksi ke banyak sistem basis data. Pengguna dapat langsung menghubungkan ke PostgreSQL, mSQL, Oracle, Dbm, FilePro, Hyperwave, Informix, Interbase, dan basis data Sybase; 3. Memiliki library yang fungsi-fungsinya dapat digunakan diberbagai tasks yang ada pada web Karena PHP dirancang untuk digunakan di web, sehingga dapat dibangun dalam fungsi untuk melakukan banyak kegiatan web yang saling berhubungan; 4. Biaya rendah PHP memiliki sifat bebas biaya. 5. Mudah untuk dipelajari dan digunakan Sintak PHP berpatok pada bahasa pemrograman lain, yaitu C dan Perl. 6. Bersifat portable 37 PHP tersedia untuk berbagai macam sistem operasi, seperti Linux dan Windows. Tidak perlu ada modifikasi, kode PHP akan langusng bisa dijalankan pada sistem operasi tersebut. 7. Ketersediaan Source code Pengguna bisa mengakses source code pada PHP, pengguna juga bisa merubah dan menambahkan sesuatu didalamnya. 2.6 Pengertian MySQL Menurut Welling & Thomson (2003: 4), MySQL bersifat cepat, kuat dan juga merupakan Relational Database Management System (RDBMS). Pengguna dapat menyimpan, mencari, dan menyortir data secara efisien. MySQL server mengontrol akses ke data pengguna untuk menjamin penggunaan secara bersamaan antar pengguna, juga menyediakan akses cepat ke database dan menjamin bahwa hanya pengguna yang berwenang saja yang mendapatkan hak akses kedalam database. Beberapa keuntungan penggunaan MySQL diantaranya yaitu : 1. Performa yang tinggi Performa yang sangat tinggi memungkinkan pengguna untuk bekerja secara cepat juga. 2. Biaya rendah Tidak dikenakan biaya apapun, lisensi bersifat open surce 3. Mudah untuk dipelajari dan digunakan Saat ini banyak database menggunakan SQL, namun SQL tetap mudah untuk digunakan pada produk yang serupa. 4. Bersifat portable MySQL bisa digunakan di beberapa sistem operasi, seperti Linux dan Windows 38 5. Ketersediaan source code Sama seperti PHP, pengguna juga bisa memodifikasi source code MySQL.