BAB II LANDASAN TEORI 2.1 Absensi Absensi adalah pola kebiasaan ketidakhadiran dari tugas atau kewajiban. Secara tradisional, ketidakhadiran telah dilihat sebagai indikator kinerja individu yang malas, serta pelanggaran kontrak implisit antara karyawan dan majikan, melainkan dilihat sebagai masalah manajemen, dan dibingkai dalam hal ekonomi atau kuasi-ekonomi. Absensi dalam ketidakhadiran sebagai indikator psikologis, penyesuaian medis, atau sosial untuk bekerja. Sering tidak adanya dari tempat kerja merupakan perilaku yang menunjukkan moral yang buruk atau sindrom malas masuk. Namun, ada beberapa perusahaan yang menerapkan kebijakan yaitu memberikan kelonggaran bagi karyawan yang melakukan absensi dikarenakan mengidap penyakit tertentu atau izin tertentu. Namun ada juga perusahaan yang tidak mengizinkan karena karyawan mengidap penyakit yang ringan dan akibatnya, banyak karyawan merasa wajib masuk kerja saat sakit, dan menularkan penyakit menular ke rekan kerja mereka. Hal ini menyebabkan ketidakhadiran yang lebih besar dan penurunan produktivitas antara pekerja lain yang mencoba untuk bekerja saat sakit. Kebanyakan karyawan memberikan alasan ketidakhadiran disebabkan oleh alasan medis dan membuat surat keterangan dokter atau bentuk lain dokumentasi untuk meyakinkan perusahaan dan biasanya dengan menelpon ke perusahaan agar menunjukkan itikad baik. Penyebab-penyebab karyawan melakukan absensi: 8 9 1. Menurut Nelson (2008) Orang yang sering melakukan absensi dikarenakan ia tidak puas dengan pekerjaan sehingga mereka sering melakukan absensi. 2. Model psikologis yang membahas ini adalah “penarikan model”, menganggap ketidakhadiran disebabkan oleh kondisi kerja yang tidak memuaskan. 3. Konflik antar pegawai yang terjadi di tempat kerja 4. Bentuk protes karyawan terhadap gaji yang tidak sesuai atau tidak adanya hal-hal yang memotivasi 5. Tingkat stress yang tinggi. 6. Lingkungan kerja yang sebagian besar mempengaruhi individu 7. Kesehatan pegawai 8. Kemampuan fisik pegawai 2.2 Aplikasi 2.2.1 Pengertian Aplikasi Perangkat lunak aplikasi adalah suatu sub kelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media. 10 2.2.2 Klasifikasi Aplikasi Aplikasi dapat digolongkan menjadi beberapa kelas, antara lain: 1. Perangkat lunak bantu perusahaan (enterprise). 2. Perangkat lunak bantu infrastruktur perusahaan. 3. Perangkat lunak bantu informasi kerja. 4. Perangkat lunak bantu media dan hiburan. 5. Perangkat lunak bantu pendidikan. 6. Perangkat lunak bantu pengembangan media. 7. Perangkat lunak bantu rekayasa produk. 2.2.3 Rekayasa Perangkat Lunak 2.2.3.1 Pengertian Perangkat Lunak Dalam buku karangan Roger S. Pressman (2005, p53), pengertian awal dari rekayasa perangkat lunak (software engineering) diajukan oleh Firtz Bauer. Definisi rekayasa perangkat lunak menurut Firtz Bauer adalah pembentukkan dan penggunaan prinsip-prinsip rekayasa dalam rangka mendapatkan perangkat lunak yang ekonomis, yaitu perangkat lunak yang dapat diandalkan dan bekerja secara efisien pada mesin yang nyata. Institute of electrical electronics engineers (IEEE) menyatakan definisi yang lebih komperhensif mengenai rekayasa perangkat lunak: 1. Aplikasi yang sistematis, disiplin, teratur terhadap pengembangan, pengoperasian dan pemeliharaan perangkat lunak. 2. Studi terhadap pendekatan-pendekatan seperti pada butir pertama. 11 2.2.3.2 Proses-Proses Rekayasa Perangkat Lunak Dalam buku karangan Roger S. Pressman (2005, p55), Ivan Jacobson, Grady Booch dan James Rumbaugh menyatakan bahwa sebuah proses dalam rekayasa perangkat lunak menyatakan siapa yang melakukan apa, kapan dan bagaimana mencapai tujuan yang pasti. Sementara itu Roger S. Pressman (2005, p56) juga memberikan lima aktivitas kerangka kerja umum yang biasanya digunakan selama pembangunan suatu program. Kelima aktivitas kerangka kerja itu diantaranya: 1. Komunikasi (Communication) Aktivitas kerangka kerja yang melibatkan komunikasi dan kolaborasi dengan pengguna (customers) dan meliputi pengumpulan kebutuhan dan aktivitas yang berhubungan lainnya. 2. Perencanaan (Planning) Aktivitas ini membangun sebuah rencana yang harus di ikuti oleh perekayasaan perangkat lunak. Aktivitas ini berisikan tugas-tugas teknis yang dikerjakan, resiko yang mungkin terjadi, sumber daya yang dibutuhkan, produksi yang akan dihasilkan dan perencanaan kerja. 3. Pemodelan (Modeling) Aktivitas ini meliputi penciptaan model-model yang diinginkan oleh developer dan customer. 12 4. Pembangunan (Construction) Aktivitas yang mengkombinasikan generasi kode (code generation) dan testing kebutuhan untuk membongkar kode. 5. Penyebaran (Deployment) Perangkat lunak di kirimkan kepada customers yang akan mengevaluasi produk. 2.2.4 Metode Pengembangan Perangkat Lunak Pada pembuatan perangkat lunak ini dikembangkan dengan menggunakan metode pengembangan prototype. Prototype (Hanif Al Fatta, 2007:36) adalah proses iterative dalam pengembangan sistem yang bekerja (working system) yang secara terus menerus diperbaiki melalui beberapa tool pengembangan untuk menyederhanakan proses, Prototype merupakan bentuk dari Rapid Application Development (RAD). RAD memiliki beberapa kelemahan, di antaranya: a. RAD mungkin mengesampingkan prinsip-prinsip rekayasa perangkat lunak. b. Menghasilkan inkonsistensi pada modul-modul sistem. c. Tidak cocok dengan standar. d. Kekurangan prinsip reusability komponen. 13 Metode prototype dapat digambarkan pada Gambar 2.1 berikut: Gambar 2.1 Metode prototype Metodologi Prototype 1. Analis bekerja dengan tim untuk mengidentifikasi kebutuhan awal untuk sistem. 2. Analis kemudian membangun prototype. Ketika sebuah prototype telah selesai. Pengguna bekerja dengan prototype itu dan menyampaikan pada analis apa yang mereka sukai dan yang tidak mereka sukai. 3. Analis kemudian menggunakan feedback ini untuk memperbaiki prototype. 4. Versi baru diberikan kembali ke pengguna. 5. Ulangi langka-langkah tersebut sampai pengguna merasa puas. Keuntungan Prototype 1. Prototype melibatkan pengguna dalam analisis dan desain. 14 2. Punya kemampuan menangkap kebutuhan secara konkrit daripada secara abstrak. 3. Untuk digunakan secara standalone. 4. Digunakan untuk memperluas SDLC. 2.3 Bahasa Pemrograman 2.3.1 HTML (Hyper Text Markup Language) HTML dikenal sebagai standar bahasa yang digunakan untuk menampilkan dokumen web. Yang bisa dilakukan dengan HTML yaitu: 1. Mengontrol tampilan dari web page dan content-nya. 2. Mempublikasikan dokumen secara online sehingga bisa di akses dari seluruh dunia. 3. Membuat online form yang bisa digunakan untuk menangani pendaftaran dan transaksi secara online. 4. Menambahkan obyek-obyek seperti image, audio, video dan java applet dalam dokumen HTML. Perintah dalam HTML biasanya disebut TAG. TAG yang digunakan menentukan tampilan dari dokumen HTML. Setiap dokumen HTML diawali dan diakhiri dengan tag HTML. <html> …. </html> 15 Tag tidak case sensitive, jadi baik huruf kapital maupun kecil dianggap sama. (Eko Prasetyo, 2008:3) 2.3.2 PHP PHP (atau resminya PHP: Hypertext Preprosessor) adalah script bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Script ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi dinamis. Sifat server-side berarti pengerjaan script dilakukan di server, baru kemudian hasilnya dikirimkan ke browser. (Eko Prasetyo, 2008:19) PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML. (Diar Puji Oktavian, 2010:31). Kode PHP mempunyai ciri-ciri khusus, yaitu: 1. Hanya dapat dijalankan menggunakan web server, missal: Apache. 2. Kode PHP diletakkan dan dijalankan di web server. 3. Kode PHP dapat digunakan untuk mengakses database, seperti: MySQL, PostgreSQL, Oracle dan lain-lain. 4. Merupakan software yang bersifat open source. 16 5. Gratis untuk di-donwload dan digunakan. 6. Memiliki sifat multiplatform, artinya dapat dijalankan menggunakan sistem operasi apapun, seperti: Linux, Unix, Windows dan lain-lain. Dengan menggunakan PHP, selain memberikan keuntungan seperti pada beberapa poin di atas, juga didukung oleh banyak komunitas. Hal ini yang membuat PHP terus berkembang. Selain itu, dapat belajar lebih banyak lagi tentang tips dan trik penggunaannya dari berbagai komunitas, lembaga pendidikan, ataupun melalui media internet. (Eko Prasetyo, 2008:3). Cara penulisan script PHP ada 2 (dua) macam: 1. Embedded Script Cara ini meletakkan tag PHP di antara tag-tag HTML <html> <body> <?php echo “hello world”; ?> </body> </html> 2. Non Embedded Script Pada cara ini semua script html diletakkan di dalam script PHP <?php echo “<html>”; echo “<body>”; 17 echo “hello world”; echo “</body>”; echo “</html>”; ?> 2.3.3 CSS Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur style suatu dokumen. Pada umumnya CSS dipakai untuk memformat tampilan halaman web yang dibuat dengan bahasa HTML dan XHTML. CSS memungkinkan web developer untuk memisahkan HTML dari aturan-aturan untuk membentuk tampilan sebuah website. Namun terkadang, banyak orang yang baru belajar HTML menganggap remeh kekuatan dan fleksibiltas dari sebuah css. CSS diperkenalkan untuk pengembangan website pada tahun 1996. Nama CSS didapat dari fakta bahwa setiap deklarasi style yang berbeda dapat diletakkan secara berurutan, yang kemudian akan membentuk hubungan parent-child pada setiap style. CSS adalah sebuah dokumen yang berdiri sendiri dan dapat dimasukkan dalam kode HTML atau sekedar menjadi rujukan oleh HTML dalam pendefinisian style. CSS menggunakan kode-kode yang tersusun untuk menetapkan style pada elemen HTML atau dapat juga digunakan tuntuk membuat style baru yang biasa disebut class. 18 Sintaks (perintah) yang dipakai dalam CSS dibagi menjadi tiga bagian yaitu, selector, property dan value. Untuk lebih jelasnya perhatikan contoh di bawah ini: Selector {property: values} Dalam kode di bawah ini, elemen h1 dan elemen p memiliki class=“center”. Ini berarti kedua elemen akan mengikuti aturan yang adal dalam “.center” selector: <h1 class=”center”> This heading will be center-aligned </h1> <p class=”center”> This paragraph will also be center-aligned. </p> Catatan: Jangan memulai sebuah nama class dengan angka, karena aturan tidak akan bekerja dalam browser Mozilla/Firefox. Kita dapat juga menentukan style untuk elemen HTML dengan id selector. Id selector selalu diawali dengan tanga (#). Aturan style di bawah ini akan menunjukkan elemen yang memiliki sebuah atribut id dengan nilai ”green”: #green {color: green} Aturan style di bawah ini akan menunjukkan elemen p yang memiliki sebuah id dengan value dari “paral”: 19 p#paral { text-align: center: Color:red } Catatan: Jangan memulai sebuah nama ID dengan angka, karena aturan tidak akan bekerja dalam browser Mozilla/Firefox. Sebuah external style sheet sangat cocok bila digunakan untuk memformat style pada keseluruhan halaman website. Dengan sebuah external style sheet kita bisa mengubah style halaman pada keseluruhan website hanya dengan mengubah satu file style sheet yang di-link ke dokumen itu saja. Untuk membuat link dengan external style sheet bisa dipakai tag <link> yang terletak di antara bagian tag <head>: <head> <link rel=”stylesheet” type=”text/css” href=”mystle.css” /> </head> Browser akan membaca definisi style dari file mystyle.css. Untuk membuat external style sheet dapat ditulis dengan beberapa text editor. Dengan catatan, seharusnya file tidak mengandung tag-tag HTML dan disimpan dengan ekstensi .css sehingga file-file external style sheet nantinya akan memiliki nama seperti mystyle.css, seperti yang diperlihatkan pada contoh di bawah ini: 20 hr {color: sienna} p {margin-left: 20px} body {background-image: url(“images/contoh.gif”)} Sebuah internal style sheet seharusnya digunakan ketika ingin menambahkan style yang berbeda pada salah satu atau beberapa dokumen. Untuk menyisipkan internal style sheet menggunakkan tag <style> yang diletakkan pada bagian tag <head> seperti pada contoh dibawah ini: <head> <style type=”text/css”> hr {color: sienna} p {margin-left: 20px} body {background-image: url(“images/contoh.gif”)} </style> </head> Sekarang browser akan membaca sebuah internal style sheet elemen dan akan memformat dokumen yang bersangkutan dengan meng-overwrite perintahperintah yang sama dalam file external style sheet-nya. Catatan: Sebuah browser pada umumnya akan mengabaikan tag yang tak dikenalnya. Ini terjadi pada browser versi lama yang tidak support dengan styles, maka browser akan mengabaikan tag <style>. Sebuah inline style sheet biasanya digunakan ketika ingin menambahkan style yang berbeda pada salah satu atau beberapa elemen dari satu atau beberapa dokumen dalam website. Untuk menyisipkan inline style sheet dapat langsung kita 21 sisipkan pada elemen yang ingin di ubah, seperti pada contoh di bawah ini yang akan mengubah warna dan left margin dari sebuah paragraph: <p style=”color: sienna; margin-left: 20px”> This is a paragraph </p> (Rahmad Saleh, Sulistyawan, Rubianto, 2008:32) 2.3.4 JavaScript JavaScript (Andi Sunyoto, M. Kom Amikom Yogyakarta, 2007:17) adalah bahasa scripting yang popular di internet dan dapat di sebagian besar browser popular seperti Internet Explorer (IE), Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan halaman web menggunakan tag script. Beberapa hal tentang JavaScipt: 1. JavaScript didesain untuk menambah interaktif suatu web. 2. JavaScript merupakan sebuah bahasa scripting. 3. Bahasa scripting merupakan bahasa pemrograman yang ringan. 4. JavaScript berisi baris kode yang dijalankan di computer (web browser). 5. JavaScript biasanya disisipkan (embedded) dalam halaman HTML. 6. JavaScript adalah bahasa interpreter (yang berarti skrip dieksekusi tanpa proses kompilasi). 7. Setiap orang dapat menggunakan JavaScript tanpa membayar lisensi. 22 Contoh skrip JavaScript dapat dlihat pada contoh di bawah ini: Hello/js.html <html> <!--- hello/js.html ---> <head> <title>JavaScript</title> </head> <body> <script type=”text/javascript”> document.write(“Hello World”); document.write(“<p> “<i>anda</i>?</p>”); Apa Kabar <br />” + </script> <p>Demo output untuk menampilkan teks. </p> </body> </html> 2.4 Unified Modeling Language (UML) Unified Modeling Language (UML) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahanpermasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. (Adi Nugroho, 2010: 6). 2.4.1 Use Case Diagram Diagram use case merupakan suatu sarana untuk melakukan pengorganisasian spesifikasi kebutuhan pengguna dengan cara yang mudah untuk 23 dikelola dan dimengerti (oleh para pengguna). Para pengguna dan pengembang sistem/perangkat lunak dapat memahaminya dengan mudah dan menggunakannya untuk saling berkomunikasi tentang fungsionalitas sistem/perangkat lunak yang akan dikembangkan serta kemudian membuat kesepakatan-kesepakatan tentang spesifikasi sistem/perangkat lunak yang akan dikembangkan itu. Para pengembang selanjutnya bisa melakukan pembagian kerja atas tim pengembang yang dikelolanya dan kemudian mengimplementasikannya berdasarkan urutan aksi (baca: skenario) yang ada pada suatu use case. Analis sistem pada dasarnya menggunakan diagram-diagram use case sebagai basis untuk melakukan analisis, perancangan, pengimplementasian serta pengujian sistem/perangkat lunak. (Adi Nugroho 2010: 93). Dalam konteks UML, tahap konseptualisasi dilakukan dengan pembuatan use case diagram yang sesungguhnya merupakan deskripsi peringkat tinggi bagaimana perangkat lunak (aplikasi) akan digunakan oleh penggunanya. Selanjutnya, use case diagram tidak hanya sangat penting pada tahap analisis, tetapi juga sangat penting untuk perancangan (design), untuk mencari (mencoba menemukan) kelas-kelas yang terlibat dalam aplikasi dan untuk melakukan pengujian (testing). Membuat use case diagram yang komprehensif merupakan hal yang sangat penting dilakukan pada tahap analisis. Dengan menggunakan use case diagram, kita akan mendapatkan banyak informasi yang sangat penting berkaitan dengan aturan-aturan bisnis yang coba kita tangkap. (Adi Nugroho, 2009: 7). 24 Tabel 2.1 Relasi-relasi dalam use case Relasi Asosiasi (association) Extend Fungsi Lintasan Notasi komunikasi antara actor dengan use case Penambahan perilaku ke -------------------- suatu use case dasar Generalisasi Use Case Menggambarkan hubungan antara use case yang bersifat umum dan khusus Include Penambahan perilaku ke suatu use case dasar yang secara eksplisit mendeskripsikan penambahan tersebut -------------------- 25 System pembukaan rekening <<include>> penabungan <<include>> <<include>> <<include>> penarikan Nasabah transfer antar rekening penutupan rekening Gambar 2.2 Use Case Diagram 2.4.2 Activity Diagram Activity diagram menurut adalah tekink untuk menggambarkan logika prosedural, proses bisnis dan jalur kerja. Dalam beberapa hal, activity diagram memainkan peran mirip dengan diagram alir, tetapi perbedaan prinsip antara notasi diagram alir adalah activity diagram mendukung behavior parallel. Node pada sebuah activity diagram disebut sebagai action, sehingga diagram tersebut menampilkan sebuah activity yang tersusun dari action. (Martin Fowler, 2005: 163). 2.4.3 Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa pesan yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal 26 (waktu) dan dimensi horizontal (objek-objek yang terkait). (http://elib.unikom.ac.id/download.php?id=6686, diunduh 04 Desember 2014). 2.4.4 Class Diagram Di dalam buku Step by Step Desain Proyek Menggunakan UML karangan di dalamnya ada beberapa penjelasan tentang class diagram oleh John Satzinger, 2010, dalam buku System and Design in a Changing World menyatakan bahwa “dalam UML, ada dua jenis class diagram, yaitu domain class diagram dan design class diagram”. 2.4.4.1 Domain Class Diagram Menurut Satzinger: “Fokus domain class diagram adalah pada sesuatu dalam lingkungan kerja pengguna, bukan pada class perangkat lunak yang nantinya akan anda rancang”. Biodata +NIM +Nama +AlamatOrangTua +JumlahKakak +NoTelepon +Jurusan +Agama +NamaAyah +Status +NoHandPhone +JumlahAdik +NamaIbu +Tempat/TglLahir Gambar 2.3 Notasi Domain Class Diagram 2.4.4.2 Design Class Diagram 27 Tujuan utamanya adalah untuk mendokumentasikan dan menggambarkan kelas-kelas dalam pemrograman yang nantinya akan dibangun. Design class diagram menggambarkan kelas berorientasi objek yang dibutuhkan dalam pemrograman, navigasi di antara kelas, attribute names dan propertinya, serta method names dan propertinya. Gambar dibawah ini menunjukkan domain class diagram yang dikembangkan pada tahap analisis dan versi design class diagramnya. Versi design class diagram memiliki sebuah kompartemen baru di bagian bawah yang menentukan method signatures. Atribut-atribut yang ada juga ditingkatkan. (Evi Triandini dan I Gede Suardika 2012: 14). Biodata +NIM: String +Nama: String +AlamatOrangTua: String +JumlahKakak: Integer +NoTelepon: String +Jurusan: String +Agama: String +NamaAyah: String +Status: String +NoHandPhone: String +JumlahAdik: Integer +NamaIbu: String +Tempat/TglLahir: String +GetBiodata(NIM) Gambar 2.4 Design class diagram 2.5 Basis Data 2.5.1 Pengertian Basis Data dan DBMS Basis data (databases) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Basis data dimaksudkan untuk mengatasi masalah pada sistem yang memakai pendekatan berbasis berkas. 28 Untuk mengelola basis data diperlukam perangkat yang disebut DBMS. DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol dan mengakses basis data dengan cara yang praktis dan efisien. DBMS dapat digunakan untuk mengakomodasi berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda. (Abdul Kadir, 2002:254). Berikut ini adalah beberapa pengertian tentang DBMS menurut para ahli. a. Menurut C. J. Date DBMS adalah merupakan software yang menghandel seluruh akses pada database untuk melayani kebutuhan user. b. Menurut S, Attre DBMS adalah software, hardware, firmware dan prosedur prosedur yang mengelola database. Firmware adalah software yang telah menjadi modul yang tertanam pada hardware (ROM). c. Menurut Gordon C. Everest DBMS adalah manajemen yang efektif untuk mengorganisasi sumber daya data. Umumnya DBMS menyediakan fitur-fitur sebagai berikut: 1. Indepedensi data-program Karena basis data ditangani oleh DBMS, program dapat ditulis sehingga tidak bergantung pada struktur data dalam basis data. 29 Dengan kata lain, program tidak akan terpengaruh sekiranya bentuk fisik data diubah. 2. Kemanan Kemanan dimaksudkan untuk mencegah pengaksesan data oleh orang yang tidak berwewenang. 3. Integritas Hal ini ditujukan untuk menjaga agar data selalu dalam keadaan yang valid dan konsisten. 4. Konkurensi Konkurensi memungkinkan data dapat diakses oleh banyak pemakai tanpa menimbulkan masalah. 5. Pemulihan (recovery) DBMS menyediakan mekanisme untuk mengembalikan basis data ke keadaan semula yang konsisten sekiranya terjadi gangguan perangkat keras atau kegagalan perangkat lunak. 6. Katalog Sistem Katalog sistem adalah deskripsi tentang data yang terkandung dalam basis data yang dapat diakses oleh pemakai. 7. Perangkat Produktivitas Untuk menyediakan kemudahan bagi pemakai dan meningkatkan produktivitas. DBMS menyediakan sejumlah perangkat produktivitas seperti pembangkit query dan laporan. Komponen-komponen yang menyusun lingkungan DBMS terdiri atas: 30 1. Perangkat Keras Perangkat keras digunakan untuk menjalankan DBMS beserta aplikasi-aplikasinya. Perangkat keras berupa komputer dan peripheral pendukungnya. 2. Perangkat Lunak Komponen perangkat lunak mencakup DBMS itu sendiri, program aplikasi, serta perangkat lunak pendukung untuk komputer dan jaringan. Program aplikasi dapat dibangun dengan menggunakan bahasa pemrograman seperti C++, Pascal, Delphi atau Visual BASIC. 3. Data Bagi sisi pemakai, komponen terpenting dalam DBMS adalah data karena dari data inilah pemakai dapat memperoleh informasi yang sesuai dengan kebutuhan masing-masing. 4. Prosedur Prosedur adalah petunjuk tertulis yang berisi cara merancang hingga menggunakan basis data. Dalam hal ini, prosedur terdiri dari cara masuk ke DBMS (login), cara memakai fasilitas-fasilitas tertentu dalam DBMS maupun menggunakan aplikasi, cara mengaktifkan dan menghentikan DBMS dan cara membuat cadangan basis data dan cara mengembalikan cadangan ke DBMS. 5. Orang 31 Komponen orang dapat dibagi menjadi 3 (tiga) kelompok yaitu, pemakai akhir (end user), pemrogram aplikasi dan administrator basis data. 2.5.2 Bahasa Basis Data DBMS memiliki dua macam bahasa yang digunakan untuk mengelola dan mengorganisasikan data yaitu bahasa definisi data (Data Definition Language atau DDL) dan bahasa manipulasi data (Data Manipulation Language atau DML). (Abdul Kadir, 2002:265). 2.5.2.1 Bahasa Definisi Data (DDL) DDL (Data Definition Language) adalah perintah-perintah yang biasa digunakan oleh administrator data untuk mendefinisikan skema basis data dan juga sub skema. Hasil kompilasi dari pernyataan-pernyataan DDL disimpan dalam berkas-berkas spesial yang disebut katalog sistem. Pernyataan SQL seperti create table dan drop table merupakan contoh perintah yang termasuk dalam kategori DDL. 2.5.2.2 Bahasa Manipulasi Data (DML) DML (Data Manipulation Language) adalah perintah-perintah yang digunakan untuk melakukan hal-hal sebagai berikut: 1. Mengambil data pada basis data. 2. Menambahkan data pada basis data. 3. Mengubah data pada basis data. 4. Menghapus data pada basis data. 32 DML dapat dibagi menjadi dua kelompok, yaitu procedural dan nonprocedural. 1. DML prosedural adalah perintah-perintah yang memungkinkan pemakai menetukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya. 2. DML non-prosedural adalah perintah-perintah yang memungkinkan pemakai menentukan data apa saja yang diperlukan, tanpa menyebutkan cara mendapatkannya. 2.6 Pengujian Kasus pengujian menspesifikasi salah satu cara untuk melakukan pengujian sistem/perangkat lunak, mencakup didalamnya menspesifikasi asupan serta hasilnya dan dalam kondisi bagaimana pengujian dilakukan. Pada praktiknya, apa yang akan diuji dapat saja merupakan satu atau lebih spesifikasi kebutuhan sistem/perangkat lunak yang mungkin untuk dilakukan pengujian serta biayanya tidak terlalu tinggi. Berikut ini kasus-kasus pengujian yang paling umum. 2.6.1 Black-box Testing Black-box testing adalah kasus pengujian yang menspesifikasi bagaimana melakukan pengujian suatu use case atau suatu skenario yang bersifat spesifik. Beberapa kasus pengujian memverifikasi hasil dari interaksi yang terjadi diantara actor dengan sistem/perangkat lunak yang dikembangkan, yaitu memverifikasi apakah kondisi awal (pre-condition) dan kondisi akhir (post-condition) yang 33 dispesifikasi oleh use case terpenuhi, serta juga memverifikasi apakah urutan aksi-aksi (baca: flow-of-events) yang dispesifikasi oleh use case memang diikuti (Adi Nugroho 2010:304). 2.6.2 White-box Testing White-box testing adalah kasus pengujian yang menspesifikasi bagaimana melakukan pengujian realisasi use case perancangan atau melakukan pengujian pada suatu skenario realisasi yang bersifat spesifik. Kasus pengujian di sini mencakup di dalamnya verifikasi interaksi antarkomponen yang mengimplementasikan suatu use case tertentu (Adi Nugroho 2010:304). 2.7 Perangkat Lunak Pendukung Adapun perangkat lunak pendukung dalam pengembangan sistem ini sebagai berikut: 2.7.1 XAMPP 2.7.1.1 Sejarah dan Pengembang XAMPP dikembangkan dari sebuah tim proyek bernama Apache Friends, yang terdiri dari Tim Inti (Core Team), Tim Pengembang (Development Team) & Tim Dukungan (Support Team). Asal kata dari XAMPP yaitu: XAMPP adalah singkatan yang masing-masing hurufnya adalah: X: Program ini dapat dijalankan dibanyak sistem operasi, seperti Windows, Linux, Mac OS, dan Solaris. 34 A: Apache, merupakan aplikasi web server. Tugas utama Apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. jika diperlukan juga berdasarkan kode PHP yang dituliskan,maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan. M: MySQL, merupakan aplikasi database server. Perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang digunakan untuk mengolah database. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam database. P: PHP, bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Sistem manajemen basis data yang sering digunakan bersama PHP adalah MySQl. namun PHP juga mendukung sistem manajement database Oracle, Microsoft Access, Interbase, d-base, PostgreSQL, dan sebagainya. P: Perl, bahasa pemrograman. 2.7.1.2 Pengertian XAMPP Menurut Bunafit Nugroho (2008: 2) XAMPP adalah suatu bundel web server yang populer digunakan untuk coba-coba di Windows karena kemudahan instalasinya. Bundel program open source tersebut berisi antara lain server 35 web Apache, interpreter PHP dan basis data MySQL. Setelah menginstall XAMPP, kita bisa memulai pemrograman PHP di komputer sendiri maupun mencoba menginstall aplikasi-aplikasi web. (http://elib.unikom.ac.id/download.php?id=87173, diunduh 04 Desember 2013). 2.7.1.3 Bagian Penting XAMPP Mengenal bagian XAMPP yang biasa digunakan pada umumnya: 1. htdoc adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain. 2. phpMyAdmin merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer. Untuk membukanya, buka browser lalu ketikkan alamat http://localhost/phpMyAdmin, maka akan muncul halaman phpMyAdmin. 3. Kontrol Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start). 2.7.1.4 Komponen XAMPP XAMPP 1.8.3 untuk Windows, including: 1. Apache 2.4.4 2. MySQL 5.6.11 3. PHP 5.5.0 4. phpMyAdmin 4.0.4 36 5. FileZilla FTP Server 0.9.41 6. Tomcat 7.0.41 (with mod_proxy_ajp as connector) 7. Strawberry Perl 5.16.3.1 Portable 8. XAMPP Control Panel 3.2.1 (from hackattack142) XAMPP 1.8.3 untuk Linux, including: 1. Apache 2.4.4 2. MySQL 5.6.11 3. PHP 5.5.0 4. phpMyAdmin 4.0.4 5. OpenSSL ss1.0.1e XAMPP untuk Solaris. XAMPP untuk Mac OS X. 2.7.2 Web Server Apache Menurut Firdaus (2007: 5) Web server merupakan sebuah bentuk server yang khusus digunakan untuk menyimpan halaman website atau homepage. Apache merupakan turunan dari web server yang dikeluarkan oleh NSCA yaitu NSCA HTTPd sekitar tahun 1995-an. Pada dasarnya, Apache adalah “APatCHy” (patch) dan pengganti dari NCSA HTTPd. Apache web server merupakan tulang punggung permintaan dari client yang menggunakan browser, seperti Netscape Navigator, Internet Explorer, Mozilla, Opera dan lain-lain. Web Server dalam berkomunikasi dengan kliennya menggunakan protokol HTTP (Hyper Text Transfer Protocol). Apache berada di bawah GNU, General Public Licensi yang bersifat free sehingga Apache dapat di download gratis pada alamat 37 http://www.apache.org. Adapun pertimbangan dalam memilih Apache sebagai berikut: 1. Apache termasuk dalam kategori free software. 2. Instalasi apache sangat mudah. 3. Mampu beroperasi pada banyak platform sistem operasi, seperti Linux, Windows dan lain-lain. Apache Web Server merupakan web server yang bersifat open source dan mempunyai performance yang sangat bagus, fleksibel dan mendukung berbagai macam platform sistem operasi seperti Windows NT/9x, UNIX, Netware 5x, OS/2 dan berbagai macam sistem operasi lainnya. Apache sangat cepat mengeluarkan update terbarunya, sehingga mengurangi munculnya bugs dan kelemahan program. (http://elib.unikom.ac.id/download.php?id=45326, diunduh 04 Desember 2013). 2.7.3 MySQL (My Structure Language) Menurut Firdaus (2007: 12) MySQL atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja boleh menggunakannya. MySQL sebenarnya produk yang berjalan pada platform linux, karena sifatnya yang open source. MySQL dapat dijalankan pada semua platform baik windows maupun linux, MySQL juga merupakan program pengakses database 38 yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multiuser (banyak pengguna). Kelebihan dari MySQL adalah dengan menggunakan bahasa query standar yang dimiliki SQL (Structure Query Language). SQL adalah suatu bahasa permintaan yang terstruktur yang telah distandarkan untuk semua program pengakses database seperti Oracle, PostgreSQL, SQL Server, dan lain-lain. (http://elib.unikom.ac.id/download.php?id=45326, diunduh 04 Desember 2013). 2.7.4 PhpMyAdmin Menurut Firdaus (2007: 15) PhpMyAdmin adalah suatu program open source yang berbasis web yang dibuat menggunakan aplikasi PHP. Program ini digunakan untuk mengakses database MySQL. Program ini mempermudah dan mempersingkat kerja penggunanya. Dengan kelebihannya, para pengguna awam tidak harus paham sintak-sintak SQL dalam pembuatan database dan tabel. (http://elib.unikom.ac.id/download.php?id=45326, diunduh 04 Desember 2013).