BAB2 LANDASAN TEORI 2.1 Pendekatan Basisdata 2.1.1.Pengertian Basisdata Menurut Conolly( 2010, p65), basisdata adalah sekumpulan data logikal yang berelasi beserta deskripsinya yang didesain untuk memenuhi kebutuhan informasi tersebut. Menurut Michael Mannino (2001, p4), basisdata terdiri dari kumpulan data persisten (data yang akan tetap ada walaupun sistern tidak aktif) yang dapat dibagi dan saling terkait. Menurut Martin Gruber (2000, p4), basisdata adalah kumpulan informasi persisten yang terstruktur dan disimpan oleh program komputer. Menurut C. J. Date (2004, p11), basisdata adalah kumpulan data untuk memuat informasi yang relevan dengan perusahaan. Dengan demikian definisi basisdata adalah sekumpulan data persisten yang disimpan oleh suatu program komputer yang terstruktur dan saling berelasi serta didesain untuk memenuhi kebutuhan informasi yang relevan dengan perusahaan. 2.1.2. Sistem Manajemen Basisdata (DBMS) Menurut Michael Mannino (2001, p7), sistem manajemen basisdata adalah kumpulan dan komponen-komponen yang mendukung perolehan, penyebaran, pemeliharaan, pengambilan, dan pengaturan data. Menurut Connolly (2010, p66), sistem manajemen basisdata adalah sebuah sistem software yang memungkinkan pengguna untuk mendefinisikan, membuat, mernelihara, dan mengontrol akses kepada basisdata. Menurut C. J. Date (2004, p44), sistem manajemen basisdata adalah sebuah sistem software yang mengatur semua akses ke dalam basisdata. Menurut Connolly (2010, p77), keuntungan sistem manajemen basisdata: 11 12 a. Kontrol pengulangan data Pendekatan basisdata berupaya untuk menghapus pengulangan dengan mengintegrasikan data agar beberapa salman data yang sama tidak disimpan. Namun, pendekatan database tidak menghilangkan redundansi seluruhnya, tetapi mengontrol jumlah redundansi yang melekat dalam database b. Konsistensi data Dengan menghapus atau mengontrol redudansi, kita mengurangi resiko terjadinya data yang tidak konsisten. c. Informasi lebih lanjut dan data yang sama Dengan integrasi dai operasional data, memungkinkan untuk sebuah organisasi untuk memperoleh informasi tambahan dengan data yang sama. d. Penggunaan data bersarna (sharing) Biasanya, file dimiliki oleh orang atau departemen yang menggunakannya. Disisi lain, basisdata dimiliki oleh seluruh organisasi dan dapat digunakan bersama oleh pengguna yang berhak. Integritas basisdata mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya menunjukkan batasan-batasan yaitu aturan aturan konsistensi yang tidak boleh dilanggar dalam basisdata. Batasanbatasan dapat diterapkan pada data atau pada relasi antar data. Integrasi memungkinkan DBA (Database Administrator) untuk mendefinisikan, dan DBMS menerapkan batasan integritas f. Meningkatkan keamanan data (security) Kemananan basisdata adalah perlindungan basisdata dan pengguna yang tidak berhak. Tanpa langkah keamanan yang cocok, integrasi membuat data lebih rentan daripada sistem berbasis file. Namun, integrasi mengizinkan DBA untuk menetapkan keamanan basisdata, dan DBMS melakukannya. Hal mi dapat dilakukan dengan menggunakan username dan password untuk mengidentifikasikan orang yang berwenang untuk menggunakan basisdata. Akses pengguna yang berwenang pada basisdata mungkin dibatasi oleh jenis operasi seperti pengambilan, penambahan, pemodifikisian, dan penghapusan. 13 g. Penetapan standarisasi Integrasi mengizinkan DBA untuk menetapkan dan DBMS melakukan standarisasi yang dibutuhkan. Standar mi terrnasuk standar departemen, organisasi, nasional, atau internasional standar untuk format data, untuk memfasilitasi pertukaran data antar sistem, ketetapan penarnaan, standarisasi dokumentasi, prosedur update, dan aturan pengaksesan. h. Skala ekonomi Penggabungan organisasi operasional data ke dalam satu basisdata dan membuat sebuah set aplikasi yang bekerja path satu sumber data dapat menghemat biaya. Dalam hal ini, anggaran yang biasanya dialokasikan tiap departemen untuk mengembangkan dan mememlihara sistern berbasis file dapat digabungkan. i. Balance of conflicting requirements Setiap pengguna atau departemen memiliki kebutuhan yang mungkin bertentangan dengan kebutuhan pengguna lain. Karena basisdata berada di bawah kontrol DBA, DBA dapat niembuat keputusan tentang penggunaan desain dan operasional dan basisdata yang menyediakan penggunaan sumber daya terbaik dan organisasi secara keseluruhan. j. Meningkatkan kemampuan akses dan respon data Dengan pengintegrasian data yang melintas batasan departemen dapat secara langsung diakses oleh pengguna akhir. Banyak DBMS menyediakan fasilitas query atau pembuat laporan yang memungkinkan pengguna untuk menanyakan pertanyaan khusus dan untuk mendapatkan informasi secara cepat dan terminalnya, tanpa membutuhkan programmer untuk membuat program yang menghasilkan informasi dan basisdata. k. Meningkatkan produktivitas DBMS menyediakan banyak fungsi standar yang biasanya programmer harus tulis di aplikasi berbasis file. Perlengkapan dan fungsi-fungsi mi memungkinkan programmer untuk berkonsentrasi pada fungsi-fungsi khusus yang dibutuhkan pengguna tanpa harus khawatir tentang detail implementasi. Hasilnya meningkatkan produktivitas programmer dan mengurangi waktu pengembangan. 14 1. Meningkatkan pemeliharaan dengan data yang bebas DBMS memisahkan data dengan aplikasi, sehingga membuat aplikasi tidak Harus terpengaruh oleh perubahan data. m. Meningkatkan concurrency Dalam beberapa sistem berbasis file, bila dua atau lebih pengguna dapat mengakses file yang sama secara bersamaan, kemungkinan pengaksesan tersebut akan saling mempengaruhi, mengakibatkan kehilangan informasi dan integritas. n. Meningkatkan layanan backup dan recovery Banyak sistem berbasis file melakukan pengamanan data terhadap gangguan sistem atau program aplikasi oleh pengguna. Caranya adalah dengan membuat backup data. Sebaliknya, DBMS menyediakan fasilitas untuk meminimalisasi pemerosesan yang hilang akibat kegagalan. Menurut Connolly (2010, p80), kerugian sistem manajemen basisdata adalah: a. Kompleksitas Penyediaan fungsi yang kita harapkan dan DBMS yang baik membuat DBMS menjadi bagian yang sangat kompleks dari software. Desainer basisdata dan pengembangan, data dan DBA, dan pengguna akhir (end-user) harus mengerti fungsionalnya untuk mengambil keuntungan penuh b. Ukuran Kompleksitas dan luasnya fungsionalitas membuat DBMS menjadi bagian yang sangat besar dan software, membutuhkan memori yang besar untuk Dapat menjalankannya secara efisien. c. Biaya dan DBMS Biaya dari DBMS bervariasi, tergantung path lingkungan dan penyendiaan fungsionalitasnya. Terdapat juga biaya pemeliharaan tahunan yang juga dimasukkan ke dalam daftar harga DBMS. d. Biaya tambahan hardware Kebutuhan tempat penyimpanan untuk DBMS dan basisdata mungkin Memerlukan pembelian penyimpanan tambahan. 15 e. Biaya konversi Dalam beberapa situasi, biaya dan DBMS dan hardware tambahan mungkin relatif kecil dibandingkan dengan biaya konversi aplikasi yang sudah ada untuk benjalan di DBMS yang baru dan hardware. f. Performa Secara khusus, sistern berbasis file ditulis untuk aplikasi yang spesifik. Sebagai hasilnya, performa secara umum sangat baik. Namun, DBMS ditulis lebih umum untuk memenuhi banyak aplikasi, bukan hanya satu. g. Dampak yang tinggi atas kegagalan Sentralisasi sumber daya meningkatkan keretanan dari sistem. Karena semua pengguna dan aplikasi bergantung pada ketersediaan DBMS, kegagalan komponen tertentu dapat membuat operasi berhenti. 2.1.3. Structure Query Language (SQL) Menurut Connolly (2005, p113), SQL adalah contoh dari transform oriented-language, atau bahasa yang dirancang dengan menggunakan hubungan untuk mengubah input ke output yang diperlukan. Menurut Michael mannimo (2001, p8), SQL adalah sebuah bahasa standar dari basisdata yang mendukung sebagian besar dari DBMS. 2.1.3.1.Data Definition Language (DDL) Menurut Connolly (2010, p92), Data Definition Language (DDL) adalah sebuah bahasa yang memperbolehkan seorang database administrator atau pengguna untuk mendeskripsikan dan memberikan nama kepada entitas, atribute, dan hubungan yang di perlukan oleh aplikasi, bersamaan dengan integritas data dan keamanaan datanya. DDL Merupakan bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyek – obyek di dalam basisdata. Secara umum digunakan untuk membuat obyek table dan view Fungsi – fungsi yang terdapat di dalam DDL adalah: a. CREATE : untuk membuat obyek dalam basisdata. b. ALTER : untuk memodifikasi obyek dalam basisdata 16 c. DROP : untuk menghapus obyek dalam basisdata 2.1.3.2. Data Manupulation Language (DML) Menurut Connolly (2010, p92), Data Manupulation Language (DML),adalah sebuah bahasa yang menyediakan seperangkat oprasi untuk mendukung dasar manipulasi operasi data yang ada di dalam basisdata. DML merupakan bahasa basisdata yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basisdata. Fungsi – fungsi yang terdapat dalam DML adalah: a. SELECT : untuk mengambil data dari basisdata. b. INSERT : untuk menambahkan data ke dalam basisdata. c. UPDATE : untuk memodifikasi basisdata. d. DELETE : untuk menghapus data dari basisdata. 2.1.4. Fourth Generation Language (4GL) 4GL disebut juga bahasa produktivitas tinggi, bahasa non-prosedural, pembuatan aplikasi, dimana pengguna mendefinisikan apa yang harus dilakukan, bukan bagaimana. Menurut Connolly (2010,p93), 4GL Meliputi: a. Presentasi language, seperti bahasa query dan laporan generation, b. Speciality language, seperti spreadsheet dan bahasa basisdata, c. Application generator yang mendefinikan, menambah, memodifikasi, dan mengambil data dari database untuk membangun aplikasi, d. Bahasa tingkat tinggi yang digunakan untuk menghasilkan kode aplikasi. 2.1.5. Database Development Lifecycle Menurut Connolly (2010, p313), tahapan-tahapan dalam siklus hidup Basisdata adalah sebagai berikut : (Gambar 2.1) 17 2.1.5.1.Database Planning Menurut Connolly (2010, p313), Database Planning adalah merencanakan bagaimana tahapan lifecycle dapat direalisasikan menjadi efisien dan efektif. Dalam Database Planning terdapat 3 tahapan dalam merumuskan sebuah strategi, yaitu : a. Mengidentifikasikan rencana dan tujuan perusahaan dengan menentukan kebutuhan dari sistem informasi. b. Mengevalauasi dari sistem informasi yang berjalan untuk menentukan c. keunggulan dan juga kelemahannya. d. Penaksiran kesempatan teknologi informasi yang mungkin memberikan e. keuntungan kompetitif. f. Metodologi yang di gunakan untuk mengatasi hal di atas yaitu: g. Mission Statement h. Mission statement ini menjelaskan tujuan utama aplikasi basisdata, juga 18 membantu menjelaskan tujuan proyek basisdata, dan menyediakan maksud yang lebih jelas dalam pembuatan aplikasi basisdata secara efektif dan efisien. i. Mission Objective Setelah Mission statement didefinisikan, kegiatan selajutnya yaitu indentifikasi Mission Objective. Setiap Mission Objective akan menjelaskan tugas tertentu yang harus didukung basisdata,dengan asumsi jika basisdata mendukung mission objective,maka Mission statement-nya juga akan selesai 2.1.5.2. System Definition Menurut Connolly (2010, p316) System definition adalah tahapan dalam database lifecycle untukmenentukan ruang lingkup dan batas-batas dari sistem database,termasuk pandangan utama pengguna ( user views ), penggunanya, dan area aplikasi. User Views merupakan bagian dari merupakan bagian dari system definition untuk mendefinisikan kebutuhan dari database system dilihat menurut pandangan dari jabatan pekerjaan tertentu ( seperti Manager atau Supervisor ) atau berdasarkan bidang dalam perusahaan ( seperti marketing, personnel, atau stock control ). 2.1.5.3. Requirement Collection and Analysis Menurut Connolly (2010, p316) Requirement collection and analysis adalah proses pengumupulan dan menganalisa informasi mengenai bagian – bagaian dari organisasi yang harus dibantu oleh sistem database, kemudian informasi ini digunakan untuk mengidentifikasi kebutuhan sistem yang baru akan dibangun Teknik yang digunakan dalam mengumpulkan informasi tentang sistem dan kebutuhan – kebutuhan disebut dengan fact – finding.Beberapa kegiatan yang dipakai dalam teknik ini, yaitu: a. Memeriksa dokumen Pemahaman terhadap jalannya sistem akan cepat diperoleh dengan memeriksa dokumen-dokumen, formulir, laporan dan 19 dokumentasi lainnya yang berkaitan dengan sistem yang sedang berjalan. b. Wawancara Wawancara merupakan cara yang paling umum dipakai. Wawancara memerika bertujuan kebenaran untuk mengumpulkan yang ada dan fakta-fakta, mengklarifikasi, mengindentifikasi kebutuhan -, dan mengumpulkan ide- ide dan pendapat. Teknik ini memerlukan kemampuan komunikasi yang baik dalam menghadapi pengunaan yang memiliki nilai, pioritas, pendapat , motivasi dan kepribadian yang beda. c. Observasi Observasi adalah mengujungi lasung tempat yang akan analisis dan di pelajari, setiap fakta – fakta di lapangan harus dapat di mengerti agar setiap data dan proses dapat di lihat lasung sehingga gampang di implementasi kan kedalam ide – ide yang akan di buat. 2.1.5.4. Database design Menurut Connolly (2010, p 320)database design merupakan proses dalam membuat design yang akan membantu mewujudkan misi dan juga tujuan dari perusahaan untuk membangun sebuah sistem database. Menurut (Connolly, 2010, p321) terdapat 3pendekatan utama dalam membangun sebuah database, yaitu : a. Bottom – Up Pendekatan ini dimulai dengan tingkat yang paling dasar dari atribut ( yaitu, properti dari entitas dan juga hubungan ), dengan analisis dari hubungan antara atribut yang dikelompokan kedalam suatu relasi yang merepresentasikan tipe dari entitas dan hubungan antara entitas. b. Top – Down Pendekatan top – down biasanya digunakan untuk membangun sebuah database yang lebih kompleks. Pendekatan ini dimulai dengan mengembangkan model data yang mengandung beberapa entitas high – leveldan juga relasi, kemudian menggunakan pendekatan top – down 20 untuk mengidentifikasikan entitas lower – level, relasi, dan juga atribut yang berhubungan. c. Inside – Out Pedekatan ini berhubungan dengan pendekatan bottom – up, perbedaannya adalah pendekatan ini pertama kali megidentifikasi entitas utama dan kemudian menyebar untuk memperhatikan hal lain seperti entitas, relasi dan juga atribut lain yang berhubungan dengan entitas yang sudah di identifikasikan perta kali. Tujuan utama dari database design adalah: a. Mempresentasikan data dan hubungan antar data yang dibutuhkan oleh seluruh area aplikasi utama dan user dan user group. b. Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data c. Menentukan desain minimal yang secara disusun untuk memnuhi kebutuhan performa yang ditetapkan pada sistem. Peracangan basisdata terdiri : Menurut Connolly (2010, p467 ), terdapat 3 fase dalam merancang sebuah database, yaitu : a. Conceptual Database Design Conceptual Database Design adalah proses membangun sebuah model dari data yang digunakan di dalam sebuah perusahaan, yang berdiri sendiri terhadap semua pertimbangan fisikal. b. Logical Database Design Logical Database Design adalah proses membangun sebuah model dari data yang digunakan oleh perusahaan berdasarkan sebuah model data yang spesifik, tetapi bersifat independen terhadap DBMS dan pertimbangan fisikal lainnya. c. Physical Database Design Physical Database Design adalah proses dalam membuat penjelasan dari implementasi database pada tempat penyimpanan cadangan; hal ini menggambarkan dasar dari relasi, file organisasi, dan juga indeks yang digunakan untuk mengefesiensikan dalam pengaksesan data, dan segala sesuatu yang berhubungan dengan batasan dan juga sistem keamanan. 21 2.1.5.5. DBMS Selection Menurut Connolly (2010, p325), DBMS Selection adalah proses memilih DBMS yang tepat yang dapat mendukung sistem database yang dibuat. Langkah – langkah yang perlu dilakukan dalam memilih DBMS adalah: a. Menentukan criteria dari DBMS berdasarkan kebutuhan dari perusahaan. b. Membuat daftar pendek dua atau tiga produk untuk dibandingkan c. Melakukan evaluasi terhadap setiap produk yang memenuhi kriteria. d. Merekomendasikan DBMS yang dipilih dan melakukan laporan terhadap hasil dari evaluasi produk DBMS tersebut 2.1.5.6.Application Design Menurut Connolly (2010, p329), Application Design adalah proses perancangan antar muka pengguna dan aplikasi yang akan menggunakan database.Application Design ,yaitu transaction design dan user interface design,biasanya dilakukan secara bersamaan dengan database design pada database system development lifecycle. 2.1.5.7. Prototyping Menurut Connolly (2010, p333), prototyping adalah membangun sebuah model kerja dari sistem basisdata. Tujuan utama dari prototyping adalah: a. Untuk mengidentifikasi fitur dari sistem berjalan dengan baik atau tidak b. Untuk memberikan perbaikan – perbaikan atau penambahan fitur baru ke sistem basisdata. c. Untuk memperjelas kebutuhan pemakai dan pengembang sistem d. Untuk mengevaluasi kelayakan desain sistem tertentu. Ada dua strategi prototyping yang umum digunakan saatini,yaitu: 22 a. Requirment prototyping menggunakan prototype untuk menentukan kebutuhan suatu aplikasi basisdata yang diinginkan dan ketikakebutuhan itu terpenuhi maka prototype akan dibuang. b. Evolution prototyping digunakan untuk tujuan yang sama, perbedaaan yang penting adalah prototype tidak dibuang tetapi dengan pengembangan lebih lanjut menjadi sistem basisdata yang bekerja. 2.1.5.8. Implementation Menurut Connolly (2010, p 333),Implementation adalah merealisasikan perancangan fisikal dari database dan aplikasi. Implementasi database dapat diselesaikan dengan menggunakan DDL ( Data DefinitionLanguage ) pilihan dari DBMS atau menggunakan GUI (Graphic User Interface ), dimana kedua hal terebut mendukung fungsi yang sama pada saat menyembunyikan low – level DDL statements. DDL statements ini berfungsi untuk membuat struktur database dan file database kosong. Program aplikasi diimplementasikan menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL). Bagian dari program aplikasi yang termasuk dalam proses transaksasi diimplementasikan dengan menggunakan Data mungkin tertanam dalam Manipulation Languange(DML), bahasa pemrograman, dan seperti PHP,Java,VisualBasic,dan lain – lain. 2.1.5.9. Data conversion and loading Menurut Connolly (2010, p334), tahap ini merupakan tahap pemindahan data yang ada kedalam database baru dan mengubah aplikasi yang sudah berjalan untuk dioperasikan pada database baru. Tahapan ini dibutuhkan jika database baru akan menggantikan database yang lama. DBMS dimasa sekarang biasanya sudah memiliki fitur untuk memasukan 23 data yang ada ke dalam database baru dan secara otomatis mengkonversinya sesuai dengan format yang ada didalam database. 2.1.5.10. Testing Menurut Connolly (2010, p334)Testing adalah proses untuk menjalankan sistem database yang sudah dirancang dengan tujuan untuk menemukan error. Sebelum sistem digunakan di dalam perusahaan, sistem database harus melalui tes secara menyeluruh. Agar tahapan ini dapat berhasil, tahapan ini perlu dilakukan secara hati – hati dan juga terencana dengan menggunakan data asli sehingga semua proses pengujian dapat berjalan dengan lancar. 2.1.5.11. Operational maintenance Menurut Connolly(2010, p335) operational maintenance merupakan proses untuk memonitor dan perawatan sistem database setelah proses instalasi. Pada tahap sebelumnya, sistem database telah di implementasi dan juga di lakukan pengujian.Tahap selanjutnya adalah melakukan perawatan yang melibatkan aktivitas berikut : a. Memantau perfoma dari sistem. Jika perfoma mengalami penurunan dibawah tingkat yang bisa diterima, melakukan pengorganisasian ulang dari database mungkin perlu dilakukan. b. Perawatan dan upgrading dari sistem database ( jika dibutuhkan ). c. Pengabungan kebutuhan baru ke dalam aplikasi basisdata. 2.1.6 Entity - Relationship Modeling Dalam melakukan perancangan sebuah database dibutuhkan model yang merepresentasikan data yang akan disimpan di dalam database tersebut. Menurut Connolly(2010, p372)Entity-Relationship ( ER ) Model adalah pendekatan top-down pada perancangan database yang dimulai dengan mengidentifikasikan data penting yang disebut dengan entitas dan hubungan antara data harus di representasikan di dalam model. Setelah menentukan entitas dan juga hubungan antara data 24 tersebut, selanjutnya adalah menambahkan detil seperti informasi yang berisi tentang isi dari entitas tersebut yang dinamakan attributes. 2.1.6.1. Tipe Entitas Menurut Connolly (2010, p372), Tipe Entitas adalah sekumpulan dataobject yang memiliki properti yang sama, dimana sudah didentifikasikan oleh perusahaan yang memiliki keberadaan yang tetap. Sebuah tipe entitas bisa berupa objek yang nyata ( bias disentuh ) dan bisa berupa konseptual ( abstrak ). Sebuah objek yang dapat didentifikasikan secara unik dari sebuah entitas disebut entity occurance. 2.1.6.2. Relationship Types Menurut Connolly (2010, p374)Relationship Types adalah sekumpulan hubungan yang memiliki arti dan menghubungkan antar setiap tipe entitas. Setiap Relationship type diberikan nama yang menjelaskan fungsinya. Relationship onccurrence adalah hubungan yang dapat diidenfinisikan secara unik, yang termasuk satu kejadian dari setiap entitas yang berpartisipasi. Derajat relasi yaitu jumlah entitas yang berpartisipasi dalam suatu hubungan. Derajat relasi itu terdiri dari : a. Binary relationship Yaitu ketehubungan antara dua tipe entitas b. Ternary relationship Yaitu ketehubungan antar tiga tipe entitas c. Quaternary relationship Yaitu keterhubungan antar empat tipe entitas d. Unary relationship Yaitu atribute yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Cabang memiliki satu nilai untuk atribute, noCabang pada setiap kejadian. 25 2.1.6.3. Atribut Setiap entitas yang terdapat di dalam database memiliki beberapa atribut yang dapat menjelaskan entitas tersebut. Menurut Connolly (2010, p379),atribut adalah properti dari suatu entitas atau tipe relationship. Attribute domain adalah kumpulan dari beberapa nilai yang boleh memiliki satu atau lebih atribut. Setiap atribut berhubungan dengan kumpulan dari beberapa nilai disebut domain.beberapa macam atribut, yaitu: a. Simple Attribute Yaitu atribute yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Disebut juga dengan atomic Attributes. Contohnya : NIM,NIS,dll. b. Composite atrribute Yaitu atribute yang terdiri dari beberapa komponen, dimana masing – masing komponen memiliki keberadaan yang independen. Misalnya atribute alamat dapat terdiri dari jalan, kota, kodePos. c. Single-valued Attribute Yaitu atribute yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Cabang memiliki satu nilai untuk atribut noCabang pada setiap kejadian. d. Multi-valued Attribute Yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misalnya entitas Cabang memiliki beberapa nilai untuk atribute noTelp pada setiap kejadian. e. Derived attribute Yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau Beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. Contohnya , lamaPinjam dihasilkan dari penghitungan mulaiPinjaman dikurangi tanggalPengembalian, dan sebagainya. 26 2.1.6.4. Keys Ada beberapa jenis keys,antara lain yaitu, candidate key, primary key, composite key, alternate key, dan foreing key. a. Candidate key Yaitu jumlah minimal atribut – atribut dimana secara unik mengidentifikasi setiap kejadian atau record dari sebuah tipe entitas. b. Primary key Yaitu candidate key yang dipilih untuk mengindentifikasikan setiap kejadian atau record dari suatu entitas secara unik. c. Composite key yaitu Candidate key yang terdiri dari dua atau lebih atribut. d. Alternate key yaitu candidate key yang tidak dipilih sebagai primary key e. Foreign key Yaitu atribut yang menghubungkan primary key dengan atribut yang terdapat pada tipe entitas lain 2.1.6.5. Structural Constraints Ada 3 structural constraints, yaitu multiplicity,cardnality, dan participant a. Multiplicity Yaitu jumlah (atau jangkauan) dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalu suatu relasi. Derajat relasi yang paling umum adalah binary relationship. Beberapa macam binary relationship, yaitu: 27 • One – to – One ( 1 : 1 ) Relationship Gambar 2.2 Sesmantic Net yang Menunjukan Relationship Type dari Staff, Manages, dan branch Sumber :Connolly (2010, p386) • One – to – Many ( 1 : * ) Relationship Gambar 2.3 Sesmantic Net yang Menunjukan Relationship Type dari Staff, Overseas, dan PropertyForRent Sumber:Connolly (2010, p387) 28 • Many – to – Many (* : *) Relationship Gambar 2.4 Sesmantic Net yang Menunjukan Relationship Type dari Newspaper, Advertises, dan PropertyForRent Sumber:Connolly (2010, p388) 2.1.7. Metodologi Perancangan Basisdata 2.1.7.1.Perancangan konseptual Menurut Connoly (2010, p467), perancangan basidata konseptual adalah suatu proses pembentukan model dari informasi yang digunakan dalam organisasi, bebas dari keseluruhan aspek fisik, Model data yang dibangun dengan menggunakan informasi dalam penentuan kebutuhan pengguna. Model data konseptual merupakan sumber informasi untuk fase desain logikal. Langkah – langkah dalam metodologi perancangan basisdata konseptual adalah : 1. Indentifikasi tipe entitas Tahap pertama dalam membangun model data konseptual lokdal adalah menentukan objek utama dimna pengguna mempunyai ketertarikan pada objek tersebut. Objek – objek ini adalah tipe entitas untuk model. Salah satu metode untuk mengindetifikasi entitas adalah dengan menguji spesifikasi kebutuhan dari pengguna. Dari spesifikasi ini kita mengidentifikasikan kata benda(noun) atau ungkapan kata benda(noun phrase) yang disebutkan. Kami juga melihat objek utama seperti orang, tempat,atau konsep dari ketertarikan, diluar kata benda lainnya yang merupakan kualitas dari objek lain. 29 2. Indentifikasi tiperelasi Tahap ini bertujuan untuk mengidentifikasi relasi penting yang ada antara tipe – tipe entitas yang telah diindetifikasi. Ketika kita mengidentifikasi entitas, satu metode adalah untuk mencari kata. benda(noun) dalam spesifikasi kebutuhan pengguna. Kita dapat menggunakan grammar dari spesifikasi kebutuhan untuk mengidentifikasi relasi. Biasanya, diidikasi oleh kata kerja(verb) atau verbal expression. Relasi berada antara dua tipe entitas atau disebut binary. Tetapi kita juga harus berhati – hati untuk melihat relasi kompleks yang mungkin melibatkan lebih dari dua tipe entitas dan relasi rekursif yang hanya melibatkan satu tipe entitas. 3. Indenfikasi dan hubungkan atribut dengan entitas atau tipe relasi Tahap ini bertujuan untuk menghubungkan atribut dengan tipe entitas atau relasi yang sesuai, dan mengindentifikasi tipe-tipe dari fakta tentang entitas dan hubungan yang telah kita pilih untuk dipresentasikan kembali di dalam basisdata. Atribut – atribut dapat diidentifikasikan dengan kata benda(noun) atau ungkapan kata benda(noun phrase) seperti properti, kualitas, identifier, atau karakteristik dari suatu entitas atau relasi. Ada tiga jenis atribut, yaitu simple or composite attribute, single or multi – value attribute, derived attribute. 4. Menentukan domain atribut Tahap ini bertujuan untuk menentukan domain atribute pada model data konseptual. Objek dari tahap ini adalah untuk menentukan domain untuk semua atribut di dalam model atribut. Domain merupakan sekumpulan nilai–nilai dari satu atau lebih atribut yang menggambarkan nilainya. Model adata yang menspesifikasi domain untuk setiap atribut menyertakan : a. Nilai yang di izinkan untuk atribut b. Ukuran dan format atribut dibangun 30 5. Menentukan atribut candidatei,primary,dan alternate key Tahap ini bertujuan untuk mengindetifikasi candidate key untuk setiap tipe entitas dan, jika terdapat lebih dari satu candidate key, pilihlah satu sebagai primary key, dan sisanya sebagai alternate key. Ketika memilih sebuah primary key diantara beberapa candidate key, gunakan pentujuk berikut untuk membantu dalam memilih: a. Candidate key dengan set menimal atribut, b. Candidate key yang nilainya paling sedikit mengalami perubahan, c. Candidate key dengan karakter terkecil(dengan atribut tekstual), d. Candidate key dengan nilai maksimum terkecil(dengan atribut numerik), e. Candidate key yang paling mudah digunakan pada sudut pandang pengguna 6. Mempertimbangkan pengguna dari enhanced modeling concepts(optional step) Tahap ini bertujuan untuk mempertibangkan pengguna enchanced modeling concepts,seperti speseialisasi, generalisasi, penggabungan (aggregation), dan komposisi (compositition). 7. Memeriksa model untuk redudansi Tahap ini bertujuan untuk memeriksa apakah ada redudansi dalam model. Dua aktivitas dalam tahap ini menguji ulang relasi one-toone(1:1) dan menghilangkan relasi yang redundan. 8. Validasi model konseptual loka terhadap transaksi pengguna tahap ini bertujuan untuk memastikan bahwa model data konseptual mendukung transaksi yang dibutuhkan. Diuji dua pendekatan untuk memastikan model data konseptual mendukung transaksi yang dibutuhkan, yaitu: 31 a. Mendeskripsikan transaksi – transaksinya Memeriksa seluruh informasi (entitas, relasi, dan atributatributnya) yang dibutuhkan oleh setiap transaksi yang disediakan oleh model, dengan mendokumentasikan suatu deskripsi dari setiap kebutuhan- kebutuhan transaksi. b. Menggunakan jalur – jalur transaksi Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagram jalur yang digunakan oleh setiap transaksi lansung pada diagram ER. 9. Memeriksa kembali model data konseptual lokal dengan pengguna Tahap ini bertujuan untuk memeriksa kembali model data konseptual dengan pengguna untuk memastikan model tersebut adalah representasikan sebenarnya dari view. Model data konseptual ini termasuk ER diagram dan dokumentasi pendukung yang mendeskripsikan model data, maka harus dibuat perubahan yang sesuai yang mungkin membutuhkan pengulangan langkah – langkah sebelumnya. 2.1.7.2.Perancangan logikal Menurut Connolly(2010, p467), perancangan basisdata logikal adalah suatu proses pembentukan model dari informasi yang digunakan dalam organisasi berdasarkan model data tertentu(misal:relasional), tetapi tidak tergantung terhadap DBMS tertentu dan aspek fisik lainnya. Model data konseptual yang telah dibuat sebelumnya diperbaiki dan dipetakan ke dalam model data logikal. Langkah – langkah dalam metodologi perancang basisdata logikal, yaitu : 1. Menghilangkan fitur – fitur yang tidak kompatibel dengan model relasional Tahap ini bertujuan untuk memperbaiki model data konseptual lokal dengan cara menghilangkan fitur – fitur yang tidak kompatible dengan model relasional. Tujuan dari tahap ini, yaitu : 32 a. Menghilangkan tipe relasi biner many – to – many (*:*) b. Menghilangkan tipe relasi kompleks c. Menghilangkan atribut multi-valued 2. Membuat relasi untuk model data logikal Tahap ini bertujuan untuk membuat hubungan antar model data logikal untuk merepresentasikan entitas, relasi, atribut yang telah diindetifikasi Relasi yang dapat terjadi dari model data, yaitu: a. Tipe entitas kuat b. Tipe entitas lemah c. Tipe relasi biner one-to-many(1:*) d. Tipe relasi biner one- to-one(1:1) e. Tipe relasi reklusif one-to-one(1:1) f. Tipe relasi superclass / subclass g. Tipe relasi biner many- to-many (*:*) h. Tipe relasi kompleks i. Atribute multi-valued 3. Validasikan relasi dengan normalisasi Tahap ini bertujuan untuk memvalidasikan hubungan dalam model data dan logikal dengan menggunakan normalisasi. 4. Validasikan relasi terhadap transaksi pengguna Tahap ini bertujuan untuk memastikan hubungan dalam model data logikal mendukung transaksi yang dibutuhkan. Dalam langkah ini akan dilakukan operasi basisdata secara manual, bila semua transaksi yang dibutuhkan dapat berjalan semestinya maka model data logikal terhadap transaksi telah divalidasi 5. Memeriksa batas intergritas Batas integritas(integrity constraint) adalah batasan yang di tentukan untuk menghindari data tidak konsiten Tipe – tipe batasan integritas, yaitu: a. Require data Beberapa atribut harus selalu berisi data yang valid. Dengan kata lain, tidak boleh kosong. 33 b. Attribute domain constraint Setiap atribut mempunyai domain, batasan nilai yang legal. Contohnya jenis kelamin diisi dengan P dan L. c. Multiplicity Multiplicity menunjukan batasan yang ditempatkan pada relasi-relasi antar data dalam basisdata d. Entity integrity Primary key dari suatu entitas tidak boleh kosong e. Diferensial integrity Jika suatul foreign key memiliki nilai, maka nilai tersebut harus menunjuk ke sebuah baris yang ada pada relasi ‘parent'. f. General constraint Updates ke entitas mungkin dikontrol oleh batasan dalam transaksi ‘Dunia sebenarnya'. Contohnya dream home mempunyai aturan yang mencegah seorang member dari staff mengatur lebih dari 100 properti pada saat yang sama. 6. Memeriksa kembali model data logikal dengan pengguna Tahap ini bertujuan untuk memeriksa kembali model data logikal Dengan pengguna untuk memastikan model data logikal dan dokumentasi pendukung yang menjelaskan model telah merepresentasikan kebutuhan. 2.1.7.2.Perancangan Fisikal Menurut connolly (2010, p467), perancangan basisdata fisikal Adalah suatua proses yang menghasilkan deskripsi implementasi basisdatapada penyimpanan sekunder. Menggambarkan struktur penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu. Langkah-langkah dalam motodologi peracangan basisdata fisikal, yaitu : 1. Menerjemahkan model data logikal global untuk DBMS target Langkah awal dalam perancangan logikal melibatkan translasi dari relasional pada model data logikal ke dalam sebuah bentuk yang dapat diterapkan dalam target relasional DBMS. 34 a. Merancang relasi dasar Untuk memulai perancangan logikal, tahap pertama yang harus dilakukan adalah dengan menyusun dan memahami informasi tentang hubungan yang dihasilkan selama perancangan basisdata logikal. b. Merancang representasi dan data turunan Bertujuan untuk menentukan bagaimana mempresentasikan data turunan yang ada dalam perancangan logikal. Atribut yang nilainya dapat ditemukan dengan memeriksa nilai-nilai dari atribut dikenal dengan derived attribute atau calculated attribute. Derived attribute sering kali tidak muncul dalam perancangan basisdata logikal tetapi didokumentasikan di dalam kamus data. c. Merancang batasan-batasan umum Dalam langkah ini, kita harus mempertimbangkan batasan-batasan umum yang tersisa. 2. merancang organisasi file dan indeks Bertujuan untuk menentukan organisasi file yang optimal untuk menyimpanan relasi dasar dan indeks-indeks yang dibutuhkan untuk mencapai performa yang diterima, dimana relasi dan tuple akan diadakan pada penyimpanan sekunder. a. Menganalisis transaksi Bertujuan untuk memahami fungsionalitas dari transaksi yang akan dijalankan pada basisdata dan untuk menganalisis transaksi-transaksi yang penting. b. Memilih organisasi fiie Salah satu tujuan dari perancangan basisdata fisikal adalah untuk menyimpan dan mengakses data secara efisiensi. Tujuan dari langkah ini adalah untuk memilih sebuah organisasi file yang optimal untuk setiap relasi, jika target DBMS mengizinkannya. c. Memilih indeks Satu pendekatan untuk memilih sebuah organisasi file yang tepat untuk sebuah relasi adalah dengan menjaga tuples tidak berurutan dan membuat indeks sekunder sebanyak yang dibutuhkan. Pendekatan lainnya adalah dengan mengurutkan 35 tuples dalam relasi dengan menentukan primary index atau clustering index. d. Memperkirakan kebutuhan tempat penyimpanan (disk space) Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam,basisdata. Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data. 3. Merancang user views Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Development Lifecycle. 4. Merancang mekanisme keamanan Dalam sebuah sistem basisdata, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. 5. Mempertimbangkan pengenalan dari redudansi terkontrol Langkah perancangan fisikal ini mempertimbangkan denormalisasi skema reiasionai untuk meningkatkan performa. Hasil dari normalisasi adalah perancangan basisdata logikal secara struktural, konsisten, dan menekan jumlah redudansi. 6. Mengawasi dan mengatur sistem operasional Bertujuan untuk memonitor sistem operasi, meningkatkan performa dan menentukan perancangan sistem yang tepat atau menggambarkan perubahan kebutuhan. 2.1.8. Normalisasi Untuk merancang database yang baik, biasa dilakukan normalisasi. Normalisasi merupakan sebuah tehnik untuk menghasilkan set relasi dengan property yang desirable dan memberikan data sesuai dengan kebutuhanperusahaan. Tujuan dari normalisasi adalah untuk mengidentifrkasi sekumpulan relasi yang sesuai yang mendukung data yang dibutuhkan oleh sebuah perusahaan.Tujuan lain nya 36 • Mengidentifikasi hubungan antar atribut • Mengkombinasikan atribut untuk membentuk relasi • Mengkombinasikan relasi untuk membentuk database • Menghindari anomali Teknik normalisasi yang digunakan sebagai landasan skripsi ini, yaitu : a. Unnormalized form (UNF) UNF adalah tabel yang memiliki satu atau lebih kelompok perulangan dan memiliki hasil perhitungan. Kelompok perulangan adalah kumpulan atribut dalam suatu tabel yang memiliki lebih dari satu nilai untuk setiap kejadianentitas. Dalam proses normalisasi UNF kita menampilkan semua field atau atribut yang ada dalam suatu form yang ingin kita normalisasi. b. First normal form (1NF) Sebuah relasi berada dalam lNF jika relasi tersebut tidak berisi atribut yang berulang (repeating group), field hasil perhitungan dihilangkan dan sudah mempunyai primary key. c. Second normal form (2NF) Sebuah relasi berada dalam 2NF jika relasi tersebut dalam 1NF dan untuk setiap atribut non key bergantung fungsional penuh kepada primary key Jadi pada 2NF kita akan menghilangkan ketergantungan sebagian / partial: ketergantungan field-field tertentu hanya kepada salah satu key yang composit. Contoh : Tabel Mahasiswa( Nim,Nama, Alamat ) Nama dan alamat tergantung pada Nim dalam arti dengan Nim kita dapat menentukan Nama maupun Alamat sebaliknya Nama /Alamat tidak menentukan Nim, maka diartikan bahwa Nama dan Alamat tergantung secara partial kepada Nim 37 d. Third normal form(3NF) Sebuah relasi berada dalam 3NF bila relasi tersebut dalam 1NF dan 2NF dan tidak ada atribut non key yang tergantung fungsional kepada atribut non key yang lainnya (transitive dependency) contoh : Tabel Pegawai (NoPegawai, Honor. KdProyek, Tanggal) KdProyek & Tanggal adalah atribut non key. Tapi tanggal bergantung pada KdProyek. Pemecahannya.dengan membagi menjadi 2 relasi: Proyek(KdProyek, Tanggal) PegProyek (Nopegawai, Honor, KdProyek). 2.2. Tool yang Digunakan 2.2.1 Diagramming Tool Diagramming Tool yang ada antara lain state transition diagram,flowchart, data flow diagram, unified modeling language, dan entity relationship diagram 2.2.1.1 State Transltion Diagram State Transition Diagram (sTD) adalah suatu diagram yang Menunjukkan atau menggambarkan suatu kejadian transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat stimuiasi yang diterimanya. STD diciptakan untuk objek-objek yang secara signifikan mempunyai sifat dinamis. simboi-simbol yang menggambarkan proses dalam STD, yaitu : 1. State Simbol persegt panjang menunjukkan state dari sistem. Gambar 2.5 Simbol State 38 2. Transisi antar state Tiap panah diberi label dengan ekspresi aturan. Label yang di atas menunjukan kejadian yang menyebabkan transisi yang terjadi. Label yang di bawah menunjukan aksi yang terjadi akibat dari kejadian tadi. Gambar 2.6 Simbol Transisi antar state 2.2.1.2 Flowchart Flowchart atau diagram alir merupakan sebuah diagram dengan simbol – simbol grafis yang menyatakan aliran atau proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak beserta urutannya dengan menghubungkan masing masing langkah tersebut menggunakan tanda Panah.Simbol-simbol flowchart yang umum digunakan, yaitu : 1. Proses Proses menyatakan kegiatan yang akan ditampilkan dalam flowchart. Gambar 2.7 Simbol proses 2. Titik keputusan Proses memerlukan adanya keputusan atau adanya kondisi tertentu. Di titik ini selalu ada dua keluaran untuk melanjutkan aliran kondisi Yang berbeda. Gambar 2.8 Simbol Titik Keputusan 39 3. Masukan / Keluar data Masukan atau keluaran data digunakan untuk mewakili data Masuk atau data keluar Gambar 2.9 Simbol Masukan / Keluar data 4. Terminasi Terminasi menujukkan arah aliran proses atau algoritma Gambar 2.10 Simbol Terminasi 5. Garis alir Garis alir menunjukan arah aliran proses atau algoritma Gambar 2.11 Simbol Garis Alir 6. Kontrol / Inspeksi Kontrol atau inspeksi menunjukan proses dimana ada inspesksi atau pengontrolan. Gambar 2.12 Simbol Kontrol / inspeksi 40 2.2.1.3 Data Flow Diagram Data Flow Diagram (DFD) adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data di simpan, proses apa yang menghasilkan data tersebut, dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkunfan fisik dimana data tersebut mengalir atau dimana data tersebut akan di simpan DFD merupakan alat yang digunakan metodologi pengembang sistem yang terstuktur. Kelebihan utama pendeketan aliran data adalah: 1. Kebebasan dari menjalankan implementasi teknis sistem 2. Pemahaman lebih jauh mengenai keterkaitan satu sama lain dalam sistem dan subsistem. 3. Mengkomunikasikan pengetahuan sistem yang ada dengan pengguna melalui data flow diagram. 4. Menganalisis sistem yang diajukan untuk menentukan apakah data-data dan proses yang diperlukan sudah ditetapkan. DFD terdiri dan context diagram dan diagram rinci (DFD leveled). Context diagram berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar, masukan dan keluaran sistem), yang dipresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. DFD leveled menggambarkan sistem sebagai jaringan kerja antara fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data, model mi hanya memodelkan sistem dan sudut pandang fungsi. Dalam DFD leveled akan terjadi penurunan level dimana dalam penurunan level yang lebih rendah harus mampu mempresentasikan proses tersebut ke dalam spesifikasi proses yang jelas. Jadi dalam DFD leveled 41 bisa dimulai dan DFD level 0 kemudian turun ke DFD level 1 dan seterusnya. Simbol-simbol yang digunakan dalam DFD, yaitu: 1. Entitas eksternal Entitas eksternal dapat berupa orang atau unit terkait yang berinteraksi dengan sistem tetapi berada di luar sistem. Gambar 2.13 Simbol Entitas Eksternal 2. Proses Proses adalah sesuatu yang mengubah input menjadi output. Tiap simbol proses diidentifikasikan dengan label. Gambar 2.14 Simbol Proses 3. Aliran data Aliran data dengan arah khusus dan sumber ke tujuan. Gambar 2.15 Simbol Aliran Data 4. Data store Data store adalah penyimpanan atau tempat data direfer oleh proses. 42 Gambar 2.16 Simbol Data Store Tingkatan DFD terdiri dan: a.Diagram konteks Diagram konteks adalah suatu diagram yang digunakan untuk mendesain sistem yang memberikan gambaran detil mengenai semua informasi yang diterima ataupun dihasilkan dan suatu aktivitas. Gambar 2.17 Contoh Diagram Konteks b. Diagram nol Diagram nol adalah diagram yang menggambarkari proses dari data flow diagram. Diagram nol memberikan pandangan secara menyeluruh mengenai sistem yang ditangani, menunjukkan tentang fungsi-fungsi utama atau proses yang ada, aliran data, dan eksternal entity. 43 Gambar 2.18 Contoh Diagram Nol 2.2.1.4 Use Case Diagram Menurut Mark Priestley(2000, p42),Use case diagram adalah sebuah diagram yang menggambarkan use case dan hubungan mereka dengan aktor atau use case lain. Use case adalah deskripsi perilaku sistem dan standar pengguna. Untuk system developer, use case adalah perangkat yang bernilai dan penting. Im adalah suatu teknik untuk mengumpulkan kebutuhan sistem dan pandangan pengguna. mi sangat penting jika tujuannya adalah membangun sebuah sistem yang digunakan oleh manusia secara nyata (bukan hanya dimengerti komputer). Gambar 2.19 Contoh Use Case Diagram 44 2.2.1.5 Entity Relationship Diagram Entity-Relationship adalah salah satu metode pemodelan basisdata yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Notasi-notasi simbolik yang digunakan dalam Entity Relationship Diagram adalah sebagai berikut: a. Entitas Entitas adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dan sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak merniliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalarn suatu relasi. Gambar 2.20 Simbol Entitas b. Atribut Atribut merupakan pendeskripsian karakteristik dan entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah. Gambar 2.21Simbol Atribute 45 c. Relasi atau Hubungan Relasi menunjukkan adanya hubungan diantara sejunilah entitas yang berasal dan himpunan entitas yang berbeda. Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis. Gambar 2.22 Simbol Relasi atau Hubungan 2.2.1.6 Relationship Relasi (relationship) digambarkan sebagai bentuk garis antara dua simbol dalam use case diagram. Relasi antara actor dan use case disebut juga dengan asosiasi (association). Asosiasi ini digunakan untuk menggambarkan bagaimana hubungan antara keduanya. Relasi-relasi yang terjadi pada use case diagram bisa antara actor dengan use case atau use case dengan use case. <nama use case> <nama actor> 2.23 Bentuk Relationship dalam UML Relasi antara use case dengan use case : a. Include, pemanggilan use case oleh use case lain atau untuk menggambarkan suatu use case termasuk di dalam use case lain 46 (diharuskan). Contohnya adalah pemanggilan sebuah fungsi program. Digambarkan dengan garis lurus berpanah dengan tulisan <<include>>. b. Extend, digunakan ketika hendak menggambarkan variasi pada kondisi perilaku normal dan menggunakan lebih banyak kontrol form dan mendeklarasikan ekstension pada use case utama. Atau dengan kata lain adalah perluasan dari use case lain jika syarat atau kondisi terpenuhi. Digambarkan dengan garis berpanah dengan tulisan <<extend>>. c. Generalization/Inheritance, dibuat ketika ada sebuah kejadian yang lain sendiri atau perlakuan khusus dan merupakan pola berhubungan baseparent use case. Digambarkan dengan garis berpanah tertutup dari base use case ke parent use case. 2.2.1.7 Activity Diagram Diagram aktivitas menggambarkan proses bisnis dan urutan aktivitas-aktivitas yang mendukung penggambaran tindakan sistem baik yang bersifat kondisional maupun paralel. Tindakan kondisional dilukiskan dengan cabang (branch) dan penyatuan (merge). Sebuah branch memiliki sebuah transition masuk atau yang disebut dengan incoming transition dan beberapa transition keluar atau yang disebut dengan outgoing transition dari branch yang berupa keputusankeputusan. Hanya satu dari outgoing transition yang dapat diambil, maka keputusan-keputusan tersebut harus bersifat mutually exclusive. [else] digunakan sebagai keterangan singkat yang menunjukkan bahwa transition “else” tersebut harus digunakan jika semua keputusan yang ada pada branch salah. Sebuah merge memiliki banyak input transition dan sebuah output. Merge menandakan akhir dari suatu kondisi yang diawali dengan sebuah branch.Selain branch dan merge, di dalam diagram aktivitas terdapat pula fork dan join. Fork memiliki satu incoming transition dan beberapa outgoing transition. Sedangkan pada join, outgoing transition diambil atau digunakan hanya ketika semua state pada incoming transition telah menyelesaikan aktivitasnya. 47 2.2.1.8 Sequence Diagram Diagram yang menggambarkan bagaimana obyek berinteraksi dengan obyek lainnya melalui pesan (message) yang disampaikan, disusun dalam urutan kejadian atau waktu dan secara khusus berasosiasi dengan use case. 2.2.1.9 Class Diagram Class diagram merupakan bagian yang paling penting dalm analisa dan perancangan berorientasi obyek. Dalam UML diagram kelas digunakan untuk memodelkan static structure dari sistem informasi. Kelas merupakan himpunan dari obyek yang sejenis yang mempunyai atribut (attribute) dan perilaku (behaviors/method) yang sama. Atribut adalah sebuah nilai data karakteristik yang dimiliki oleh obyek sebuah kelas sedangkan method adalah perilaku atau operasi yang dikenakan oleh suatu kelas. Pada gambar kelas terdapat tiga bagiannya. 2.24 Bentuk Class dalam UML Diagram kelas menggambarkan struktur obyek sistem, dimana diperlihatkan hubungan amtar mereka. Diagram kelas merupakan fondasi untuk component diagram dan deployment diagram. Secara garis besar terdapat 3 jenis class. Ketiga jenis class tersebut dikelompokkan berdasarkan fungsi dan karakternya masing-masing, yaitu : a. Entity Class Diagram Merupakan paket utama dari sistem yang berisi kumpulan kelas berupa entitas-entitas yang membentuk sistem dan menjadi landasan untuk menyusun basis data pada model data konseptual. 48 2.25 Bentuk Entity Class dalam UML b. Control Class Diagram Berisi kumpulan kelas yang menjadi kontrol program termasuk koneksi dengan basis data dan merupakan kelas perantara atau penghubung antara entity class dengan kelas antar muka pemakai (interface). 2.26 Bentuk Control Class dalam UML c. Boundary Class Diagram Berisi kumpulan kelas yang menjadi interface antara pemakai (user) dengan sistem, seperti tampilan form untuk pencetakan. 2.27 Bentuk Boundary Class dalam UML 2.2.1 Software Tool Software tool yang digunakan dalam sistem akademis ini antara lain PHP,JavaScript, dan MySQL. 2.2.2.1 PHP Menurut Choi, Kent, Lea, Prasad, dan Uliman (2000, p1), PHP adalah bahasa pernrograman untuk membangun website yang dinamis dan interaktif. Secara teknik, PHP merupakan sebuah cross platform, HTMLEmbedded, server-side, dan web scripting language. 49 Ketika menggunakan PHP sebagai server-side embedded script language, maka server akan melakukan hal-hal sebagai berikut: • Membaca permintaan dan client / browser. • Mencari halaman (page) di server. • Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada page yang dirnaksud. • Mengirim kembali halaman tersebut kepada client melaluiinternet atau intranet. PHP merupakan bahasa pemrograman yang dibuat untuk memungkinkan web developers untuk membuat sebuah aplikasi web yang dinamis dengan mudah dan cepat. Menurut Welling dan Thomson (2005, p3), PHP adalah perancangan server-side scripting language secara spesifik untuk web. Di dalam sebuah halaman HTML, Anda dapat menanamkan kode PHP yang akan dieksekusi setiap kali halaman itu dikunjungi. Kode PHP Anda akan diintepretasikan pada web server dan menghasilkan HTML atau tampilan lainnya yang akan dilihat oleh pengunjung. 2.2.2.2 JavaScript JavaScript adalah bahasa pemrograman berbasis prototype yang berjalan disisi client. Jika kita berbicara dalain konteks web, sederhananya, kita dapat memahami JavaScript sebagai bahasa pemrograman yang berjalan khusus untuk di browser atau halaman web agar halaman web menjadi lebih hidup. Kalau dilihat dan suku katanya terdini dan dua suku kata, yaitu Java dan Script. Java adalah Bahasa pemrograman berorientasi objek, sedangkan Script adalah serangkaian instruksi program. Secara fungsional, JavaScript digunakan untuk menyediakan akses script pada objek yang dibenamkan ( embedded ). Contoh sederhana dan penggunaan JavaScript adalah membuka halaman pop up, fungsi validasi pada form sebelum data dikirimkan ke server, merubah image kursor ketika melewati objek tertentu, dan lain lain. 50 2.2.2.3 MySQL Menurut Welling dan Thomson (2005, p3), MySQL sangat cepat, kuat, dan relational database management system (RDBMS). My SQL server mengatur akses ke data Anda untuk mernastikan beberapa pengguna dapat bekerja secara bersamaan, untuk menyediakan akses yang cepat, dan untuk memastikan hanya pengguna yang memiliki hak yang dapat memperoleh akses. Oleh karena itu MySQL merupakan multiuser, multithreaded server. MySQL menggunakan Structed Query Language (SQL), yaitu dipublikasikan bahasa standar sejak 1996 database tetapi query mempunyai sedunia. MySQL sebuah sejarah pengembangan kembali ke tahun 1979. MySQL adalah open source yang paling terkenal sedunia. 2.3. Interaksi Manusia dan Komputer 2.3.1 Transaksi Menurut Coimolly (2010, p620), transaksi adalah sebuah tindakan, atau serangkaian tindakan, dilakukan oleh seorang pengguna atau program aplikasi, yang membaca atau mengubah konten-konten dan basisdata. Transaksi adalah satu atau beberapa aksi program aplikasi yang mengakses atau mengubah isi basisdata. Transaksi merupakan bagian dan pengeksekusian sebuah program yang melakukan pengaksesan basisdata dan juga melakukan serangkaian perubahan data. DBMS yang digunakan harus menjamin bahwa setiap transaksi harus dapat dikerjakan secara utuh atau tidak sama sekali. Tidak boleh ada transaksi yang hanya dikerjakan sebagian, karena dapat menyebabkan basisdata menjadi tidak konsisten. Untuk itu transaksi selalu merubah basis data m satu kondisi konsisten ke kondisi konsisten lain. Untuk menjamin agar integritas dapat tetap terpelihara maka setiap transaksi harus memiliki sifat-sifat sebagai berikut: 51 a. Atomik, dimana sernua operasi dalam transaksi dapat dikerjakan seluruhnya atau tidak sama sekali. b. Konsisten, dimana eksekusi transaksi secara tunggal hams dapat menjamin data tetap konsisten setelah transaksi berakhir. c. Terisolasi, jika pada sebuah sistem basis data terdapat sejumlah transaksi yang dilaksanakan secara bersamaan, maka semua transaksi yang dilaksanakan pada saat yang bersamaan tersebut harus dapat dimulai dan bisa berakhir. d. Bertahan, dirnana perubahan data yang terjadi setelah sebuah transaksi berakhir dengan baik, harus dapat bertahan bahkan jika seandainya sistem menjadi mati. 2.3.2 Interface Menurut Charles S. Wasson (2006, pill), Interface adalah fungsionalitas atau logika hubungan dan karakterisik fisikal yang dibutuhkan untuk berada pada sebuah sistern atau batas entitas dengan lingkungan operasinya yang memungkinkan entitas untuk menyediakan kemampuan misi. Sistem upaya rekayasa berfokus pada: a. Komposisi dan sistem arsitektur. b. Bagaimana elemen-elemen berinteraksi satu sama lain dan lingkungan operasi mereka. Shneiderman mengemukakan 8 (delapan) aturan yang dapat digunakan sbagai petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan ini disebut a. Strive for consistency Konsistensi ini sangat diperlukan dan penting, terutama pada action-action yang hampir mirip 52 b. Enable frequent users to use shortcuts Shortcut merupakan hal yang dibutuhkan bagi para expert users untuk meningkatkan performa kerja mereka dan menghemat waktu mereka. c.Offer informative feedback Untuk setiap action harus ada feedback yang membantu, action ini bisa dibagi dua yaitu major dan minor. Untuk action minor, ada baiknya menggunakan feedback yang simple, dan untuk action major, feedback harus mengcover seluruh action tersebut, namun harus tetap mudah dimengerti. d. Design dialog to yield closure Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. e. Offer simple error handling Jika seorang pengguna melakukan kesalahan terhadap sistem, maka sistem itu sendiri harus bisa mendeteksi dengan cepat apa penyebab error lalu memberikan solusi yang sesederhana mungkin kepada user. f. Permit easy reversal of actions Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 53 g.Support internal locus of control Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. h. Reduce short - term memory load Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan 5 faktor manusia terukur menurut Shneiderman, yaltu: a. Time to learn Berapa lama orang biasa mernpelajari cara relevan untuk melakukan suatu tugas? b. Speed of performance Berapa lama waktu yang dibutuhkan untuk menjalankan tugas? c.Rate of errors by users Berapa banyak kesalahan dan kesalahan-kesalahan apa saja yang dilakukan pengguna dalam menjalankan tugas? d. Retention over tune Bagairnana kemampuan pengguna mempertahankan pengetahuaimya setelah jangka waktu tertentu? e. Subjective satisfaction Bagaimana kesukaan pengguna terhadap berbagai aspek sistem? 54 2.4. Sistem Berbasis Web 2.4.1. Internet Internet adalah sistem jaringan komputer dan jaringan dan banyak jaringan yang meliputi seluruh dunia. Internet bersifat publik, kooperatif, dan mandiri yang memfasilitasi akses ke ratusan atau jutaan manusia di seluruh dunia. Internet merupakan jaringan dalam jaringan yang menghubungkan komputer individual yang dimiliki oleh pernerintah, universitas, grup non profit dan perusahaan. Interkoneksi mi dihubungkan dengan standar protokol yamg bebas dan terbuka. 2.4.2. WWW WWW (World Wide Web) merupakan salah satu layananaplikasi yang didapat oleh pemakai komputer yang terhubung ke Internet. WWW merupakan informasi dalam internet dengan menggunakan teknologi hypertext dan merupakan standar interface pada layanan-layanan yang ada diinternet seperti E-Mail, chatting, sampai dengan transaksi bisnis (commerce). Istilah lain dan WWW adalah web. 2.4.3. Web Browser Web browser atau yang lebih dikenal browser adalah suatu program atau aplikasi yang digunakan untuk menjelajahi internet atau untuk mencari sebuah informasi dan suatu halaman web/blog. Awalnya web browser hanya beronientasi pada teks dan belum dapat menampilkan gambar. Namun, web browser sekarang tidak hanya menampilkan teks dan gambar tetapi juga file multimedia seperti video dan suara. Browser juga dapat mengirim dan menerima e-mail, mengelola hahasa HTML (Hyper Text Markup Language) sebagai input, dan menjadikan halaman web sebagai hasil output yang informatif. Browser juga bisa disebut sebagai Jembatan antara pengguna internet dengan internet tanpa browser mi mustahil para pengguna internet dapat memanfaatkan internet. Dengan menggunakan web browser ini juga, para pengguna internet juga dapat mengakses dan 55 memanfaatkan berbagai informasi yang terdapat di internet dengan mudah. 2.4.4. Web Server Web server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dan klien yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web umumnya berbentuk dokumen HTML. Salah satu server web yang terkenal di Linux adalah Apache. Apache merupakan server web antar platform yang dapat berjalan di beberapa platform seperti Linux dan Windows. Web Server juga merupakan sebuah komputer yang menyediakan layanan untuk internet. Server disebut juga dengan host. Agar anda dapat memasukkan web yang anda rancang ke dalam internet, maka anda harus memiliki ruangan terlebih dahulu dalam internet, dan ruangan ini disediakan oleh server. Itulah yang disebut Web Server. 2.4.4 HTTP Menurut Connolly (2010, p1029), HTTP mendefinisikan bagaimana client dan server berkomunikasi. HTTP bersifat object oriented, stateless protocol untuk mengirim informasi diantara server dan client. HTTP berbasis paradigma request response. Transaksi HTTP terdiri dan tingkatan ini: a. Connection Client membangun koneksi dengan web server b. Request Pelayan mengirimkan pesan permintaan kepada web server c. Response Web server mengirimkan respon kepada client d. Close Koneksi ditutup oleh web server 56 2.4.6. HTML Menurut Connolly (2010, p1031), HTML adalah sebuah sistem untuk menandai sebuah dokumen agar sistem tersebut dapat dipublikasikan di web. HTML mendefinisikan apa yang secara umum ditransmisikan antara node yang ada di dalam jaringan. HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser internet . Bermula dan sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan . Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dan PDA dan program lain yang memiliki kemampuan browser. HTML dokumen tersebut mirip dengan dokumen teks biasa. hanya dalam dokumen ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan tag tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal seperti: TAMPIL TEBAL, maka penulisannya mengaktifkan dengan cara: <b>TAMPIL TEBAL</b>. Tanda <b> digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh teks yang ingin ditebalkan, dan dengan tarida </b> untuk menonaktifkan cetak tebal tersebut. Secara garis besar, terdapat 4 jenis elemen dan HTML structural tanda yang menentukan level atau tingkatan dan sebuah teks(contoh, <hl >Golf</hl> akan memerintahkan browser untuk menampilkan “Golf’ sebagai tebal besar yang menunjukkan sebagai heading I presentational. tanda yang menetukan tampilan dan sebuah teks tidak peduli dengan level dan teks tersebut contoh, <b>boldface</b> 57 akan menampilkan bold. Tanda presentational saat ini Sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengaturpilan teks, hypertext tanda yang menunjukkan pranala ke bagian dan dokumen tersebut atau pranala ke dokumen lain. Selain markup presentational, markup yang lain tidak menentukan bagaimana tampilan dan sebuah teks. Namun untuk saat ini penggunaan tag HTML untuk menentukan tampilan telah dianjurkan untuk mulai ditinggalkan dan sebagai gantinya digunakan Cascading Style Sheets (CSS). 2.4.7. URL Pengertian URL (Uniform Resource Locator) adalah rangkaian karakter menurut suatu format standar tertentu , yang digunakan untuk menunjukkan alamat suatu sumber seperti dokumen dan gambar di internet. URL pertama kali diciptakan oleh Tim Berners-Lee pada tahun 1991 agar penulis-penulis dokumen dokumen dapat mereferensikan pranala ke World Wide Web. Sejak 1994, konsep URL telah dikembangkan menjadi istilah Uniform Resource Identfier (URI) yang umum sifatnya. URL adalah lokasi dan sebuah file di dalam web . Beberapa contoh URL antara lain http://google.com atau http://yahoo.com . URL yang Anda akan digunakan oleh pengunjung atau Anda sendiri, untuk mengakses website Anda atau URL disebut juga dengan domain. 2.5 Hasil Penelitian atau Produk Sebelumnya a. Sistem Kinerja karyawan Sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusiake komputer, agar dapat menyelesaikanmasalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancangagar dapat menyelesaikan suatu permasalahan tertentu dengan meniru kerjadari para ahli. 58 b. Analisis dan Perancangan Sistem Variabel independent (X) yaitu variable yang mempengaruhi variabel lain yang terjadi. Dalam penelitian ini, Sistem Informasi OperasionalPerusahaan padaPT. AHM merupakan variable yang mempengaruhi produktifitas kinerjakaryawan. c.Teknik Pengujian Data Mengingat pengumpulan data dilakukan dengan menggunakan kuesioner, maka kesungguhan responden dalam menjawab setiap pertanyaan pertanyaan yang diajukan oleh peneliti merupakan hal yang sangat penting dalam penelitian. Keabsahan atau kesahihan suatu hasil penelitian sangat ditentukan oleh alat ukur yang digunakan. Apabila alat ukur yang digunakan tidak valid atau tidak dapat dipercaya, maka hasil penelitian yang dilakukan tidak akan menggambarkan keadaan yang sesungguhnya. Dalam mengatasi hal tersebut, maka diperlukan dua macam pengujian yaitu uji validitas dan uji realibitas. Jika validitas dan realibilitas tidak diketahui, maka akibatnya menjadi fatal dalam memberikan kesimpulan ataupun memberi alasan terhadap hubungan-hubungan antar variabel, bahkan secara luas validitas dan realibilitas mencakup mutu seluruh proses pengambilan data sejak konsep disiapkan sampai data siap untuk dianalisis