BAB 2 LANDASAN TEORI 2.1 Teori-Teori Dasar/Umum 2.1.1 Analisis dan Perancangan Sistem 2.1.1.1 Analisis Sistem Analisis sistem adalah sebuah metode dengan mana sesuatu dipisahkan menjadi bagian-bagian, dan bagian-bagian yang berkaitan, logis, dan dengan pengawasan rinci sehingga dalam rekening konsisten dan relatif lengkap dari unsur-unsur hal dan prinsip-prinsip organisasi mereka (C.Hugh Holman & William Harmon, 1986: 20). Sedangkan Laudon (1998: 400) mendefinisikan analisis sistem sebagai pemeriksaan masalah yang ada dan akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi. 2.1.1.2 Perancangan Sistem Menurut Laudon (1998: 400), perancangan sistem adalah bagaimana cara sebuah sistem dapat memenuhi kebutuhan informasi yang telah ditentukan oleh analisis sistem. 2.1.2 Sistem Basis Data 2.1.2.1 Data Menurut Rob & Coronel (2002: 6), data adalah fakta mentah. Kata mentah digunakan untuk menunjukkan bahwa fakta belum diproses untuk mengungkapkan makna dari fakta tersebut. Representasi objek dan peristiwa yang memiliki arti dan kepentingan di lingkungan pengguna adalah definisi dari data (Hoffer et al, 2009: 46). Sedangkan menurut Indrajani (2011: 2), data adalah fakta atau observasi mentah yang biasanya mengenai fenomena fisik atau transaksi bisnis. 7 8 2.1.2.2 Basis Data Basis data adalah koleksi dari data, biasanya menggambarkan kegiatan dari satu atau lebih relasi antara organisasi yang terkait (Raghu Ramakrishnan, 2000: 3). Menurut Connolly dan Begg (2010: 65), Basis data adalah sekumpulan data yang saling terhubung secara logikal, yang dirancang dalam rangka memenuhi kebutuhan informasi dalam sebuah organisasi. 2.1.2.3 Sistem Basis Data Sistem Basis data adalah suatu sistem yang ada pada dasarnya menyimpan record-record di dalam suatu sistem yang dilakukan secara komputerisasi yang tujuannya secara keseluruhan adalah untuk menyimpan informasi dan untuk membuat informasi tersebut tersedia berdasarkan permintaan (C.J Date, 2000: 5). 2.1.3 Pendekatan Basis Data(Database Approach) 2.1.3.1 Database Management System(DBMS) Menurut Connolly dan Begg (2010: 66), DBMS adalah sebuah sistem perangkat lunak yang memungkinkan pengguna membuat, memelihara dan mengontrol akses ke suatu basis data. Beberapa fungsi yang dimiliki oleh DBMS antara lain: 1. DDL (Data Definition Language), DDL memberikan fasilitas kepada pengguna untuk menspesifikasikan tipe data dan strukturnya serta batasan aturan mengenai data yang bisa disimpan ke dalam basis data tersebut. 2. DML (Data Manipulation Language), DML memberikan fasilitas kepada pengguna untuk menambah, mengedit, menghapus, serta memperoleh kembali data. 3. Pengendalian akses ke dalam basis data, meliputi: a. Keamanan Sistem: mencegah pengguna yang tidak memiliki hak akses untuk memasuki basis data. 9 b. Integritas Sistem: menjaga konsistensi data di dalam basis data. c. Pengendalian share data. d. Backup dan recovery system: mengembalikan data ke dalam kondisi semula apabila terjadi kegagalan dalam perangkat keras ataupun perangkat lunak. e. Terdapat katalog yang dapat diakses pengguna yang berisi deskripsi data dalam basis data. 2.1.3.2 Komponen DBMS DBMS memiliki beberapa komponen-komponen utama (Connolly dan Begg, 2010: 68-71), antara lain adalah: 1. Hardware, mencakup mini computer, network computer, personal computer, dan mainframe. 2. Software, mencakup application software, DBMS software, Operating System, dan software jaringan (apabila diperlukan). 3. Data, merupakan komponen terpenting yang menghubungkan antar komponen mesin (Software dan Hardware) serta komponen manusia (Procedures dan people). 4. Procedures, merupakan instruksi dan aturan-aturan yang hanya ada dalam desain dan penggunaan basis data. 5. People, merupakan komponen yang juga terlibat dengan sistem yang meliputi: a. Data Administrator (DA), mengatur sumber daya data yang meliputi: perancangan basis data, pengembangan dan pemeliharaan standar, kebijakan, prosedur, dan desain basis data konseptual dan logikal. b. Database Administrator (DBA), mengatur realisasi fisik dari aplikasi database yang meliputi desain fisik basis data, implementasi, pengaturan keamanan dan kontrol integritas, pengawasan performa sistem dan pengaturan ulang basis data. 10 c. Desainer basis data. d. Pengembangan aplikasi. e. End Users. 2.1.3.3 Structured Query Language (SQL) Menurut Connolly dan Begg (2010: 184), SQL adalah bahasa yang dirancang menggunakan relasi untuk mengubah input menjadi output yang diinginkan. SQL memiliki 2 komponen utama: 1. Data Definition Languange (DDL): digunakan untuk menentukan struktur database dan mengontrol akses ke data. Perintah SQL pada DDL, yaitu : a. CREATE TABLE: untuk membuat tabel. b. ALTER TABLE: untuk menambah atau memindahkan kolom, menambah atau mengahapus table constraint, menentukan atau menghapus default kolom. c. DROP TABLE: untuk memindahkan atau menghapus tabel. d. CREATE VIEW: untuk membuat view. e. DROP VIEW: untuk memindahkan atau menghapus view. 2. Data Manipulation Language (DML): digunakan untuk mendapatkan kembali (retrieve) dan memperbarui data (update). a. SELECT: untuk memilih data dalam database. b. INSERT: untuk memasukkan data ke dalam tabel. c. UPDATE: untuk memperbaharui data dalam tabel. d. DELETE: untuk menghapus data dalam tabel. Fungsi agregatyang dimiliki SQL: a. COUNT: untuk menampilkan banyak nilai dalam suatu kolom. b. SUM: untuk menampilkan jumlah nilai dalam suatu kolom. 11 c. AVG: untuk menampilkan jumlah nilai rata-rata dalam suatu kolom. d. MIN: untuk menampilkan nilai terkecil dalam suatu kolom. e. MAX: untuk menampilkan nilai terbesar dalam suatu kolom. 2.1.4 Database System Development Lifecycle (DSDLC) Gambar 2.1 Database System Development Lifecycle (DSDLC) Berikut ini penjelasan ringkasan dari aktivitas utama di setiap langkah siklus aplikasi basis data, antara lain: a. Database Planning (Perencanan Basis Data) Menurut Connolly dan Begg (2010: 313), peracangan basis data merupakan aktivitas-aktivitas manajemen yang memungkinkan tahapan dari sistem database direalisasikan seefisien dan seefektif mungkin. 12 b. System Definition (Pendefinisian sistem) System Definition menjelaskan ruang lingkup dan batasan dari aplikasi database dan pandangan pengguna(user view) utama (Connolly dan Begg, 2010: 316). Sebelum merancang sebuah sistem database, maka harus mengidentifikasi batasan dari sistem dan bagaimana sistem tersebut berinteraksi dengan bagian lain dari informasi perusahaan. User view mendefinisikan apa yang dibutuhkan oleh sistem database dari sudut pandang jabatan tertentu, seperti manajer atau pengawas, maupun dari sudut pandang area aplikasi perusahaan, seperti pemasaran, personalia, atau pengawas persediaan, dalam hubungannya dengan data yang akan disimpan dan transaksi yang akan dijalankan terhadap data itu (Connolly dan Begg, 2010: 316). c. Requirement Collection and Analysis (Pengumpulan dan Analisis Kebutuhan) Pengumpulan dan Analisis Kebutuhan menurut Connolly dan Begg (2010: 316), adalah proses mengumpulkan dan analisis informasi tentang bagian dari organisasi didukung oleh sistem basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna pada sistem baru. Pada tahap ini melibatkan pengumpulan dan analisis informasi tentang bagian dari enterprise yang akan menggunakan atau terkait dengan basis data yang akan dibuat. d. Database Design (Perancangan basis data) Peracangan basis data menurut Connolly dan Begg (2010: 320), adalah proses menciptakan desain yang akan mendukung keseluruhan operasi dan tujuan misi perusahaan. Terdapat dua pendekatan yang dapat digunakan untuk merancang basis data, yaitu: 1. Bottom Up Approach Pendekatan Bottom Up dimulai dari atribut awal(entity dan relationship) yang dianalisa asosiasi antar atribut, 13 kemudian dibentuk relasi yang memiliki tipe dari entitas dan hubungan antar entitas. Pendekatan ini sesuai untuk perancangan basis data yang sederhana dengan jumlah atribut yang sedikit. 2. Top Down Approach Pendekatan Top Down dimulai dengan pengembangan data model yang terdiri dari sedikit atau banyak entitas dan hubungan, kemudian melakukan perbaikan top down untuk mengidentifikasikan entitaslower-level, relationship, dan asosiasi antar atribut. Pendekatan ini dimulai dari identifikasi entitas dan hubungan antar entitas. Pada bagian ini (database design) dibagi menjadi tiga yaitu 1. Tahap Konseptual Proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan, independen dari semua pertimbangan fisik. 2. Tahap Logikal Proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya. 3. Tahap Fisikal Proses implementasi database pada penyimpanan sekunder yang menggambarkan relasi dasar, organisasi dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap kendala integritas terkait dan langkah-langkah keamanan. e. DBMS Selection (Pemilihan DBMS) DBMS Selection menurut Connolly dan Begg (2010: 325) yaitu pemilihan DBMS (Database Management System) yang sesuai untuk aplikasi-aplikasi basis data. Berikut ini adalah langkah-langkah untuk seleksi pemilihan DBMS: 14 1. Mendefinisikan kriteria berdasarkan spesifikasi kebutuhan pemakai. 2. Menentukan beberapa produk DBMS. 3. Mengevaluasi produk-produk DBMS tersebut. 4. Merekomendasikan produk DBMS tersebut. f. Application Design (Perancangan aplikasi) Menurut Connolly dan Begg (2010: 329), perancangan aplikasi adalah desain antar muka pengguna dan program aplikasi yang menggunakan dan memproses database. Terdapat dua aspek perancangan aplikasi, yaitu: 1. Perancangan Transaksi (Transaction Design)Menurut Connolly dan Begg (2010: 330), transaksi adalah suatu tindakan atau serangkaian tindakan yang dilakukan oleh seorang pennguna atau program aplikasi, yang mengakses atau mengubah isi dari database. Ada tiga jenis transaksi, yaitu : a. Transaksi pengambilan data dari basis data untuk ditampilkan dilayar maupun untuk pembuatan laporan (retrieval transaction). b. Transaksi penambahan basis baru, menghapus baris lama dan memodifikasi baris dalam basis data (update transaction). c. Transaksi campuran yang melibatkan pengambilan dan pembaharuan data (mixed transaction). g. Prototyping Menurut Connolly dan Begg (2010: 333), prototyping adalah proses membangun sebuah model kerja dari aplikasi basis data. Tujuan utama prototyping adalah untuk memungkinkan pengguna menggunakan prototype untuk mengidentifikasi fitur-fitur yang bekerja dengan baik pada sistem, atau kekurangannya dan memberikan saran bagi peningkatan kerja sistem. 15 h. Implementation(Implementasi) Menurut Connolly dan Begg (2010: 333), implementation adalah realisasi fisik dari desain basis data dan desain aplikasi. Dalam tahap ini juga akan diimplementasikan komponen lain dari aplikasi basis data seperti layar, pemasukan data, keamanan dan kontrol integritas. i. Data Conversion and Loading (Konversi dan Loading Data) Menurut Connolly dan Begg (2010: 334), Data conversion and loading adalah suatu proses mentransfer data yang ada ke dalam basis data baru dan mengubah aplikasi yang ada untuk dijalankan dalam basis data baru. Tahap ini hanya dibutuhkan ketika sistem basis data baru menggantikan sistem basis data yang lama. j. Testing Testing adalah sebuah proses yang menjalankan sistem database untuk menemukan kesalahan-kesalahan.(Connolly dan Begg (2010: 334)). k. Operational Maintenance(Pemeliharaan Operasional) Operational maintenance adalah suatu proses memonitor dan memelihara sistem dan diikuti dengan instalasi (Connolly dan Begg, 2010: 335). 2.1.5 Entity-Relationship Modeling 2.1.5.1 Tipe Entitas (Entity Types) Menurut Connolly dan Begg (2010: 372) tipe entitas adalah sekumpulan objek dengan sifat yang sama, yang diidentifikasi oleh enterprise yang mempunyai keberadaan independen. Entity occurrence adalah pengidentifikasian objek secara unik dari sebuah tipe entitas. 16 Gambar 2.2 Contoh Tipe Entitas 2.1.5.2 Tipe Relasi (Relationship Type) Relationship Type adalah hubungan antara satu dan lebih entitas yang saling berhubungan (Connolly dan Begg, 2010: 374). Gambar 2.3 Contoh Tipe Relasi Relationship Occurrence adalah sebuah asosiasi unik yang diidentifikasi, meliputi satu kejadian dari setiap tipe entitas yang berpartisipasi (Connolly dan Begg, 2010: 375). Gambar 2.4 Contoh Relationship Occurrence 2.1.5.3 Atribut Menurut Connolly dan Begg (2010: 379), Atribut adalah sebuah properti dari suatu entitas atau tipe hubungan. Macam-Macam Atribut: 1. Simple Attribute Simple Attibute adalah sebuah atribut terdiri dari komponen tunggal yang dapat berdiri sendiri dengan eksistensi independen dan tidak dapat dibagi menjadi 17 komponen yang lebih kecil lagi yang dikenal dengan nama Atomic Attribute (Connolly dan Begg, 2010: 379). 2. Composite Attibute Composite Attibute adalah sebuah atribut yang terdiri dari beberapa komponen, dimana masing-masing atribut tersebut dapat berdiri secara independen (Connolly dan Begg, 2010: 380). 3. Single Valued Attribute Menurut Connolly dan Begg (2010: 380), Single Value Attribute adalah sebuah atribut yang memegang nilai tunggal untuk setiap kejadian suatu atribut tipe entitas. 4. Multi Valued Attribute Menurut Connolly dan Begg (2010: 380), Multi Valued Attribute adalah sebuah atribut yang memegang beberapa nilai untuk setiap kejadian suatu atribut tipe entitas. 5. Derived Attributes Derived Attributes adalah sebuah atribut yang memiliki nilai dan dihasilkan dari satu atau lebih atribut dan tidak harus dari entitas yang sama (Connolly dan Begg, 2010: 380). 6. Key Key adalah set atribut yang secara unik mengidentifikasi setiap kejadian untuk membedakan antara satu entitas dan entitas yang lain. Menurut Connolly dan Begg (2010: 381), Key terdiri dari: a. Candidate key Menurut Connolly dan Begg (2010: 381), Candidate Key adalah jumlah minimal atributatribut yang secara unik mengidentifikasi setiap kejadian pada suatu entitas. 18 b. Primary Key Primary Key adalah Candidate Key yang dipilih untuk mengidentifikasi setiap kejadian dari suatu tipe entitas secara unik(Connolly dan Begg, 2010: 381). c. Composite Key Composite Key adalah Candidate key yang terdiri dari dua atau lebih atribut(Connolly dan Begg, 2010: 382). d. Foreign Key Menurut Connolly dan Begg (2010: 234), Foreign Key adalah atribut atau kumpulan atribut dalam suatu relasi yang sesuai dengan Candidate Key dari beberapa relasi. e. Super Key Menurut Connolly dan Begg (2010: 150), Super Key adalah atribut atau kumpulan atribut yang menentukan suatu tuple Secara unik dalam suatu relasi. 2.1.5.4 Structural Constraint Batasan atau kendala utama pada Relationship adalah multiplicity. Menurut Connolly dan Begg (2010: 385), multiplicity adalah jumlah kejadian yang mungkin terjadi pada satu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Tiga tipe relationship binary (Connolly dan Begg, 2005: 386) a. Relasi 1:1 (one-to-one) yaitu relasi antar dua tipe entitas dimana satu tipe entitas berelasi tepat satu atau nol dengan tipe entitas lainnya. b. Relasi 1 : * (one-to-many) yaitu relasi antara dua tipe entitas dimana satu tipe entitas berelasi nol, satu atau banyak dengan tipe entitas lainnya. 19 c. Relasi * : * (many-to-many) yaitu relasi antar dua tipe entitas dimana tipe entitasnya saling berelasi banyak. d. Multiplicity untuk relasi yang kompleks Multiplicity untuk relasi yang kompleks adalah jumlah (atau jangkauan) dari kejadian yang mungkin dari suatu entitas dalam n-array relationship ketika nilai entitas yang lain (n-1) diketahui. e. Cardinality dan Participation Constraint 1. Cardinality Mendeskripsikan jumlah maksimum dari kemungkinan kejadian-kejadian yang saling berhubungan untuk sebuah partisipasi entitas dalam proses penentuan tipe hubungan(relationship). 2. Participation Menentukan apakah semua kejadian-kejadian entitas akan ikut berpartisipasi dalam sebuah hubuungan (relationship) atau hanya beberapa saja yang ikut berpartisipasi. 2.1.6 Normalisasi Menurut Connolly dan Begg (2010: 416), normalisasi adalah sebuah teknik menghasilkan sebuah kumpulan relasi-relasi dengan atribut-atribut yang diinginkan, yang berdasarkan kebutuhan- kebutuhan data sebuah perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang mendukung persyaratan data sebuah perusahaan. Tingkatan normalisasi terdiri dari 4 tahap, yaitu: a. Unnormalized Form (UNF) Menurut Connolly dan Begg (2010: 428) Unnormalized Form (UNF) adalah suatu tabel yang terdiri dari satu atau lebih repeating group. Repeating Group adalah sebuah atribut atau himpunan di dalam tabel yang memiliki lebih dari nilai (Multiple Value) untuk sebuah primary key pada tabel tersebut. 20 b. 1stNormal Form (1NF) Menurut Connolly dan Begg (2010: 430), 1stNormal Form (1NF) adalah relasi dimana bertemunya setiap baris dan kolom yang mengandung satu dan hanya satu nilai. Ada dua pendekatan umum untuk menghilangkan repeating group dari tabel, yaitu: a. Dengan memasukkan data dari baris yang mengandung data berulang ke dalam kolom yang kosong yang di sebut juga tabel ‘flattening’. b. Dengan menempatkan data berulang, bersama dengan key asli di dalam atribut pada relasi yang terpisah. c. 2ndNormal Form (2NF) Menurut Connolly dan Begg (2010: 434), 2ndNormal Form (2NF), bentuk ini mempunyai syarat yaitu data harus memenuhi kriteria 1NF dan setiap atribut non-primary-key harus bergantung secara fungsional penuh pada primary-key nya. Relasi normalisasi 1NF ke 2NF melibatkan penghapusan partial dependencies. d. 3rdNormal Form (3NF) Menurut Connolly dan Begg (2010: 435), 3rdNormal Form(3NF) adalah sebuah relasi dalam bentuk normal pertama dan kedua dan yang bukan non-primary-key merupakan sebuah ketergantungan transitif kepada primary-key (transitively dependent). Transitive dependent adalah sebuah kondisi dimana A, B, dan C adalah atribut dari sebuah relasi bahwa, jika AB dan BC, maka C adalah transitive dependency pada A yang melewati B. 2.1.7 Metodologi Perancangan Metodologi perancangan adalah sebuah pendekatan terstruktur yang mana menggunakan beberapa prosedur, teknik, alat, dan suatu dokumentasi yang mendukung dan menfasilitasi suatu proses pendesainan(Connolly dan Begg, 2010: 466). Perancangan basis data terbagi dalam tiga tahap utama, yaitu perancangan basis data secara konseptual, logikal, dan fisikal : 21 2.1.7.1 Perancangan Basis Data Konseptual (Conceptual Database Design) Perancangan Basis Data Konseptual adalah proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan yang bebas dari pertimbangan fisikal (Connolly dan Begg, 2010: 470) Menurut Connolly dan Begg (2010: 471), langkahlangkah dalam perancangan konseptual adalah membangun model data konseptual lokal untuk setiap view, yang dapat diuraikan sebagai berikut: 1. Mengidentifikasi tipe entity Entity ditentukan dengan mencari tahu spesifikasi kebutuhan user. 2. Mengidentifikasi tipe relasi atau hubungan Mengidentifikasi hubungan-hubungan yang penting antar tipe-tipe entity yang telah diidentifikasikan. 3. Mengidentifikasi dan menghubungkan atribut dengan tipe entity(relationship). Menentukan atribut-atribut apa saja yang terdapat dalam suatu entity. 4. Menentukan atribut domain Menentukan domain pada setiap atribut yang ada di dalam model. 5. Menentukan atribut candidate dan primary key Menentukan candidate key dari suatu entity yang kemudian akan dipilih sebuah primary key dari candidate key candidate key yang ada. 6. Mempertimbangkan penggunaan dari Enhanced Modeling Concept (langkah opsional). Mempertimbangkan perlu tidaknya menggunakan konsep model spesialisasiatau generalisasi, agregasi, dan komposisi. 22 7. Mengecek model untuk redundansi. Memeriksa model data konseptual lokal dengan spesifikasi objektif dari pengidentifikasi walaupun ada beberapa redundansi dan menghilangkan redundansi tersebut. 8. Menvalidasikan model data konseptual lokal terhadap transaksi pengguna. Memeriksa apakah model konseptual lokal sudah dapat memenuhi segala transaksi yang dilakukan secara manual maka perlu dilakukan pembetulan terlebih dahulu. 9. Meninjau ulang data konseptual lokal dengan pengguna. Melakukan pemeriksaan ulang dengan penggunauntuk memastikan apakah model konseptual ini sudah sesuai. 2.1.7.2 Perancangan Basis Data Logikal (Logikal Database Design) Perancangan basis data logikal adalah proses membangun sebuah model dari data yang digunakan dalam suatu perusahaan berdasarkan pada model data yang spesifik, tetapi independen dari DBMS tertentu dan pertimbangan fisik lainnya(Connolly dan Begg, 2010: 489). Menurut Connolly dan Begg (2010: 490), langkahlangkah dalam metodologi perancangan basis data logikal sebagai berikut: 1. Menghilangkan fitur-fitur yang tidak sesuai dengan model relasional. Tujuannya untuk memperbaiki model data konseptual lokal, yaitu: a. Menghilangkan many-to-many (*.*) relationship type b. Menghilangkan tipe relasi yang kompleks c. Menghilangkan multi-valued attributes binary 23 2. Membuat hubungan untuk model logikal lokal Untuk membuat hubungan antara model data logikal untuk merepresentasikan entitas, relasi, atribut yang telah diidentifikasikan. Relasi yang dihasilkan dari kemungkinan struktur yang ada didalam data model, yaitu: a. Tipe strong entity b. Tipe weak entity c. Tipe relasi biner one-to-many(1:*) d. Tipe relasi biner one-to-one(1:1) e. Tipe rekursif one-to-one (1:1) f. Tipe relasi superclass/subclass g. Tipe relasi biner many-to-many(*:*) h. Tipe relasi kompleks i. Atribut multi-valued 3. Validasi hubungan dengan menggunakan normalisasi Normalisasi digunakan untuk meyakinkan suatu resultant model. Resultant model adalah model yang sudah konsisten, redudansinya sudah minimal dan stabilitasnya sudah maksimal. 4. Validasi hubungan terhadap transaksi user Memeriksa relasi yang sudah dibuat pada tahap sebelumnya apakah mendukung transaksi ini, untuk memastikan tidak ada kesalahan yang dibuat selama membuat relasi-relasi. 5. Menentukan Integrity Constraint Batasan untuk menghindari data menjadi tidak konsisten. Integrity Constraint yang umum adalah: a. Required data b. Attribute domain constraint c. Entity integrity d. Referential integrity e. Enterprise Integrity 24 6. Tinjau kembali model data logikal lokal dengan pemakai Untuk memastikan model data logikaldan dokumentasi pendukung yang menjelaskan model telah merepresentasikan kebutuhan. Langkah membuat dan menvalidasi model dan logikal global: a. Gabungkan model data logikal lokal ke dalam model global. b. Validasi model data logikal global. c. Periksa perkembangan yang akan datang. d. Meninjau ulang model data logikal global dengan pemakai. 2.1.7.3 Perancangan Basis Data Fisikal (Physical Database Design) Perancangan basis data fisikal adalah proses memproduksi penjelasan implementasi basis data pada penyimpanan sekunder, itu menggambarkan relasi dasar, organisasi berkas, dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap kendala integritas terkait dan langkah-langkah keamanan (Connolly dan Begg, 2010: 524). Menurut Connolly dan Begg (2010: 525), langkahlangkah dalam metologi perancangan fisikal sebagai berikut: 1. Menterjemahkan model data logikal global untuk DBMS a. Mendesain relasi-relasi dasar Menetukan bagaimana merepresentasikan relasi dasar yang telah diidentifikasikan di dalam model data logikal global ke dalam DBMS. b. Mendesain representasi derived data Menentukan bagaimana merepresentasikan beberapa data yang diturunkan dalam model data logikal global ke dalam DBMS. 25 c. Mendesain enterprise constraint Tujuannya adalah untuk merancang batasan umum untuk DBMS yang dituju. 2. Mendesain gambaran fisikal a. Menganalisis transaksi Memahami fungsionalitas dari transaksi yang akan berjalan pada basis data untuk menganalisa transaksi-transaksi yang penting. b.Memilih organisasi file Menentukan organisasi file secara efisien untuk setiap relasi dasar. c. Memilih index Menentukan apakah penambahan indeks-indeks akan meningkatkan performa dari sistem. d.Memperkirakan kebutuhan kapasitas disk Menentukan jumlah disk space yang dibutuhkan oleh basis data. 3. Mendesain user view Merancang user view yang telah diidentifikasikan selama tahapan pengumpulan dan analisis kebutuhan dari relational database application lifecycle. 4. Merancang mekanisme keamanan Menentukan tingkat keamanan basis data berdasarkan spesifikasi user. 2.1.8 Definisi Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah suatu alat yang digunakan untuk menggambarkan aliran data sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem (Whitten, 2007: 326). Jenis-jenis Data Flow Diagram (DFD) adalah sebagai berikut: 1. Diagram konteks, merupakan model yang mendokumentasikan lingkup sistem, berisi satu dan hanya satu proses. 2. Diagram Nol, menunjukkan interaksi input, output, dan data store untuk setiap proses. 26 Tabel 2.1 Notasi DFD Lambang Pengertian Penjelasan Manusia, organisasi, atau External Agent yang unit organisasi berinteraksi dengan sistem Nama Process Name proses yang dikerjakan oleh sistem Arus data yang keluar Data Flow dan yang masuk dalam sistem Tempat penyimpanan Data Store Data. 2.1.9 State Transition Diagram (STD) Menurut Pressman (2005: 302) STD (State Transition Diagram) dapat mengindikasikan bagaimana perilaku suatu sistem terhadap suatu tindakan. Jadi State Transition Diagram adalah sebuah modeling tool yang menggambarkan ketergantungan waktu pada sistem real time dan human interface pada sistem online. Notasi yang paling penting dari STD, sebagai berikut: 1. State Merupakan kumpulan keadaan atau atribut – atribut yang mencirikan benda atau orang pada waktu, keadaan, dan kondisi tertentu. 2. Transisi Perubahan state ditandakan dengan tanda panah 3. Kondisi Keadaan lingkuan luar yang dapat dideteksi oleh sistem dan menyebabkan perubahan state. Kondisi dapat berupa sinyal, gangguan, dan lainya. 27 4. Aksi Adalah apa yang dilakukan sistem jika ada perubahan state. Aksi dapat menghasilkan keluaran, tampilan pesan pada layar pengguna, membuat kalkulasi, dan lainnya. 2.1.9 Delapan Aturan Emas Desain Tampilan Pengguna Menurut Shneiderman Ben dan Catherine Plaisant (2005: 74), merumuskan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar untuk merancang suatu user interface. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: 1. Konsistensi Merupakan konsistensi terhadap urutan tindakan, perintah, dan pada istilah-istilah yang digunakan. 2. Universal Usability Gunanya untuk mengenali kebutuhan pengguna yang beragam dan desain serta memberikan kemudahan dalam penggunaan, dengan memfasilitasi transformasi konten agar pengguna yang belum pernah maupun yang pernah menggunakan aplikasi dapat memakai penggunaan Desain Interface yang ada. 3. Memberikan umpan balik yang informatif Umpan balik yang berupa informasi jika ada informasi baru dan jika ada kesalahan perintah. 4. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya terorganisir, jelas awal, pertengahan dan akhirnya. 5. Memberikan penanganan kesalahan yang sederhana Jika terjadi kesalahan, akan ada mekanisme sederhana untuk menangani kesalahan tersebut. 6. Mudah kembali ke tindakan sebelumnya Dirancang agar pengguna tidak takut menggunakan menu-menu baru. Di setiap browser seperti Mozilla, Internet Exploler dan Google Chrome terdapat menu undo atau back. 28 7. Mendukung tempat pengendali internal (internal locus of control) Pengguna menjadi pengontrol sistem bukan sistem yang mengontrol. 8. Mengurangi beban ingatan jangka pendek Dirancang agar pengguna tidak terlalu mengingat banyak perintah. 2.2 Teori-Teori Khusus 2.2.1 Internet Internet atau Interconnection Networking adalah jaringan besar yang menghubungkan jaringan komputer dari bisnis, organisasi, lembaga pemerintah, dan sekolah di seluruh dunia, dengan cepat, langsung, dan hemat. (Turban, Rainer dan Potter, 2003: 200). 2.2.2 World Wide Web World Wide Web adalah sistem dengan standar yang diterima secara universal untuk menyimpan, menelusuri, memformat, dan menampilkan informasi melalui arsitektur client/server, menggunakan fungsi-fungsi transport dari internet. (Turban, Rainer dan Potter, 2003: 214). 2.2.3 Web Database Web Database merupakan aplikasi pengguna web sebagai platform yang menghubungkan pengguna dengan antarmuka yang satu atau lebih pada basis data. Keuntungan dari penggunaan web database (Connolly dan Begg, 2010: 1036-1038), adalah sebagai berikut: 1. Kesederhanaan (Simplicity) Dalam bentuk asli, HTML sebagai markup language sangat mudah untuk dipelajari oleh developer maupun pengguna akhir. 2. Tidak tergantung pada platform (Platform independence) Salah satu alasan dibuatnya aplikasi basis data berbasis web adalah karena pada umumnya web-client (browser) tidqak tergantung pada platform sehingga jika suatu aplikasi akan dijalankan pada sistem operasi yang berbeda, tidak memerlukan modifikasi. 29 3. Grafis antarmuka pengguna (Graphical User Interface / GUI) Menyedikan dan meningkatkan pengaksesan basis daata, tetapi GUI (Graphical User Interface) memerlukan program tambahan yang menyebabkan ketergantungan pada platform. 4. Standarisasi (Standarization) HTML standar secara de facto dimana seluruh web browser berada, memungkinkan sebuah dokumen HTML pada satu mesin dibaca oleh pengguna pada mesin lainnya dibagian belahan dunia yang lain melalui koneksi internet dan web browser. 5. Dukungan lintas platform (Cross-platform Support) Web browser ada secara virtual untuk setiap page dari platform komputer memungkinkan pengguna pada sebagian besar jenis komputer yang mengakses basis data dari manapun diseluruh bagian dunia. 6. Memungkinakan akses jaringan yang transparan (Transparent Network Access) Akses jaringan terlihat transparan bagi pengguna, kecuali untuk spesifikasi URL, ditangani sepenuhnya oleh web browser dan web server. 7. Penyebaran bisa diukur (Scalable Deployment) Dengan menyimpna aplikasi di server terpisah, maka web mengeliminasi waktu dan biaya yang berhubungan dengan aplikasi penyebaran. Hal ini akan menyerderhanakan penanganan upgrade dan administrasi pengaturan dari banyak platform yang melalui banyak kantor. 8. Inovasi (Innovation) Web memungkinkan organisasi untuk menyediakan jasa baru dan mencapai konsumen baru melalui aplikasi yang dapat diakses secara global. Kelemahan web database (Connolly dan Begg, 2010: 1038-1040), sebagai berikut: 1. Kehandalan (Reliability) Ketidakpastian perintah dapat terkirim melalui internet. 30 2. Keamanan (security) Autentifikasi pengguna dan transmisi data sangat kritis karena banyak pengguna yang tidak dikenal bisa mengakses data. 3. Biaya (Cost) Biaya perawatan bisa menjadi semakin mahal dengan seiring meningkatnya permintaan pengguna. 4. skalabilitas (scalability) Aplikasi web bisa menghadapi load data yang sangat banyak yang datang secara tidak terduga, hal ini memerlukan pembangunan performa yang kuat dari arsitektur server yang sangat sulit diukur. 5. Fungsi terbatas dari HTML (limited fungctionality of HTML) Beberapa aplikasi basis data interaktif ada yang tidak dikonversi secara mudah ke aplikasi berbasis web selama masih menyediakan kemudahan yang sama bagi pengguna. 6. Statelessness Statelessness dari lingkungan web membuat pengaturan dari koneksi basis data dan transaksi pengguna menjadi sulit dan membutuhkan aplikasi untuk merawat informasi tambahan. 7. Bandwidth Kegiatan di dalam internet memerlukan bandwidth bahkan untuk tugas yang sangat sederhana sekalipun sehingga masalah Bandwidth menjadi penting. 8. Kinerja (Performance) Banyak bagian dari web database yang kompleks berpusat pada interpretasi bahasa yang akhirnya membuatnya lebih lambat daripada basis data tradisional. 9. Perangkat pembangunan yang belum siap (Immaturity of development tools) Pembangunan aplikasi basis data untuk web secara cepat bisa mengidentifikasi ketidakpastian perangkat pembangunan lingkungan yang lebih baik dibutuhkan untuk meringankan beban dari proggrammer aplikasi. 31 2.2.4 PHP Menurut Welling (2001: 2), PHP adalah sebuah scripting pada lingkungan server yang dirancang khusus untuk web. Kode PHP dapat disatukan dalam page yang berisikan –ag-tag HTML dan akan dieksekusi setiap halaman tersebut diakses. Kode-kode PHP yang telah dibuat akan diinterpretasikan oleh web server yang kemudian menghasilkan tag-tag HTML atau output lainnya yang akan dibaca oleh user. 2.2.5 Phpmyadmin Phpmyadmin adalah perangkat lunak bebas yang ditulis dalam bahasa pemrograman php yang digunakan untuk menangani administrasi MySQL melalui browser atau world wide web. Phpmyadmin mendukung berbagai aplikasi mysql, diantaranya mengelola basis data, table-table, bidang, relasi, indeks, dan sebagainya. Pada dasarnya, mengelola basis data dengan MySQL harus dilakukan dengan cara mengetikkan baris-baris perintah yang sesuai (Command Line) untuk setiap maksud tertentu. (Firdaus, 2007: 15) Keuntungan menggunankan phpmyadmin: 1. Dapat diintegrasikan dengan aplikasi web dan PHP 2. Menelusuri dan drop basisdata (database), tabel, view, bidang(fields) dan indeks. 3. Pemeliharaan server, basis data dan tabel, dengan server konfigurasi. 4. Pengaksesan data yang compatible dan efektif. Kekurangan menggunakan phpmyadmin : 1. Kode harus disesuaikan dengan query dan database-nya 2. Membutuhkan waktu untuk menyesuaikan query, coding, dan struktur tabelnya. 3. Sistem keamanan (security) yang masih kurang. 32 2.2.6 CI Framework 2.2.6.1 Framework Framework adalah suatu kerangka kerja yang berupa sekumpulan folder yang memuat file-file php yang menyediakan class libraries, helpers, plugins dan lainnya. Framework menyediakan konfigurasi dan teknik coding tertentu, yang berupa perintah/fungsi dasar yang dapat membantu dalam menyelesaikan proses-proses yang lebih kompleks. (Akhman Sofwan, 2007: 2) 2.2.6.2 CI (Code Igniter) CI (code igniter) adalah framework PHP yang kuat dengan footprint yang sangat kecil, dibangun untuk PHP coders yang membutuhkan perangkat yang sederhana dan elegan untuk membuat fitur lengkap aplikasi web. CI bertujuan untuk membantu developer untuk membuat aplikasi lebih cepat dibandingkan dengan membuat aplikasi dari awal dengan menyediakan library yang umum digunakan untuk pekerjaan tertentu. (Akhman Sofwan, 2007: 2) Kelebihan CodeIgniter : 1. Framework CI dikembangkan dengan platform PHP, dimana aplikasi web dominal dibuat dengan PHP sehingga dukungan sangat mudah didapat dari berbagai komunitas pemakai. 2. Plugin dan Libraries sangat banyak. 3. Kemampuan menerapkan konsep OOP dengan pattern MVC. Kekurangan CodeIgniter : 1. Editor khusus CodeIgniter belum ada, sehingga dalam melakukan create project dan modul-modulnya cukup rumit karena folder yang terpisah-pisah. 2. Framework CodeIgniter adalah aplikasi gratis (open- source), sehingga perlu memodifikasi beberapa bagian agar integritas dan keamanan data dapat dijaga. 33 Gambar 2.5 Struktur CI Framework 2.3 Hasil Penelitian atau Produk Sebelumnya Tommy Septian Purnomo (2013) mengemukakan rekruitement online sebagai suatu inovasi baru dalam perekrutan perusahaan. Perekrutan sangat penting bagi perusahaan atau organisasi karena memiliki fungsi untuk menghimpun sumber daya manusia ke dalam suatu organisasi, kemajuan teknologi yang berkembang telah memaksa perusahaan untuk menerapkan rekruitement online yaitu sistem perekrutan yang memanfaatkan internet. Dengan sistem perekrutan secara online terdapat beberapa manfaat yaitu penghematan biaya, kemudahan dalam penggunaan bagi kandidat, kemudahaan penggunaan bagi perusahaan, meningkatkan kecepatan proses perekrutan dan keberhasilan dalam menemukan calon karyawan yang potensial. Perekrutan secara online mengacu pada posting lowongan di situs web perusahaan dan memungkinkan pelamar untuk mengirimkan resume mereka secara elektronik ketika e-rekruitement dilakukan. Selain itu,alat-alat interaktif dapat digunakan untuk menghubungkan basis data perusahaan dengan situs web ,seperti formulis aplikasi interaktif, email dan milis elektronik (Dysart, 1999; Taylor, 2001). Kemudian lowongan dipublikasikan di situs perusahaan dan pemohon dapat mengajukan permohonan untuk lowongan dengan menggunakan internet. Namun Ellyta Yullyanti (2009) mengatakan bahwa rekruitement sebagai satu proses pengumpulan calon pemegang jabatan yang sesuai rencana pegawai untuk menduduki suatu jabatan tertentu dalam fungsi pekerjaan. 34 Berikut merupakan proses perekrutan menurut Ellyta Yullyanti: Gambar 2.6 Analisis pekerjaan: perlengkapan dasar manajemen Agar kinerja perusahaan tetap terjaga maka setiap terjadi kekosongan jabatan, pihak-pihak yang berkompeten dengan masalah pegawai perlu menyiapkan pegawai pengganti yang memiliki kompetensi sesuai dengan kompetensi yang dituntut oleh jabatan tersebut.