BAB II LANDASAN TEORI 2.1 Aplikasi 2.1.1 Defenisi Aplikasi Berikut ini adalah beberapa defenisi aplikasi 1. Aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani beberapa aktivitas (Buyens, 2001). 2. Aplikasi adalah sistem lengkap yang mengerjakan tugas spesifik (post, 1999). 3. Aplikasi adalah software yang dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas – tugas tertentu, misalnya Microsoft word, Microsoft exel (Dhanta, 2009). 2.2 Database 2.2.1 Defenisi Database Berikut ini adalah defenisi database Database adalah kumpulan file – file yang mempunyai kaitan antara satu file dengan file lain sehingga membentu satu bangunan data untuk menginformasikan suatu perusahaan instansi, dalam batasan tertentu (kristanto, 2004:10) Dari pengertian tersebut dapat diambil kesimpulan bahwa Basis Data (Database) merupukan kumpulan data yang saling berhubungan satu dengan yang lainnya, tersimpan atau disimpan di komputer dan digunakan perangkat lunak untuk memanipulasinya. 5 http://digilib.mercubuana.ac.id/ 6 2.3 Database Management Sistem 2.3.1 Defenisi Database Manajemen Sistem Berikut ini adalah defenisi database management system Suatu program komputer yang digunakan untuk memasukan, mengubah, menghapus, memanipulasi dan, memperoleh data atau informasi dengan praktis dan efisien (kadir, 2003:17). Dari pengertian tersebut dapat diambil kesimpulan bahwa Database Management system adalah kumpulan file yang saling berkaitan bersama program pengelolanya. 2.3.2 Keunggulan Database Manajemen Sistem Berikut ini adalah keunggulan database management system a. Praktis Database management system menggunakan media penyimpanan sekunder yang berukuran kecil tetapi padat informasi. b. Cepat Mesin atau komputer dapat mengubah data jauh lebih cepat dari manusia. c. Terupdate Informasi yang tersedia pada Database Management System merupakan inforasi yang terbaru dan akurat. 2.3.3 Komponen utama Database Management System Kompoen database management sistem terdiri dari 4 komponen yaitu : a. Perangkat Keras (hardware) Perangkat yang merupakan komponen dari Database Management System berupa komputer, laptop. Bagian – bagian didalam komputer atau laptop tersebut seperti processor dan memory merupakan komponen yang melakukan pemrosesan dan penyimpanan data. http://digilib.mercubuana.ac.id/ 7 b. Data Data didalam basisdata mempunyai sifat terpadu atau saling berkaitandan berbagi atau bisa digunakan oleh sejumlah pengguna. c. Perangkat lunak (software) Perangkat lunak dalam hal ini DBMS berkedudukan antara antara basisdata (data yang disimpan dalam harddisk) dan pengguna (manusia). Perangkat lunak inilah yang berperan melayani atau menjalankan permintaan pengguna. d. Pengguna (brainware) Orang yang menggunakan atau menjalankan serta memberi perintah kepada software untuk memanipulasi basisdata. 2.3.4 Model Database Berikut ini adalah model – model dari database a. Analytical Database yang merupakan database untuk menyimpan informasi dan data yang diambil dari oprasional dan eksternal database. Database ini terdiri dari data dan informasi yang diringkas dan paling banyak dibutuhkan oleh suatu organisasi manajemen maupun end-user lainnya. b. Oprational Database Database yang menyimpan data secara rinci yang dibutuhkan untuk mendukung operasi dari seluruh organisasi. Biasa juga disebut SADB (subject-area database). Contohnya seperti : database inventaris, database pelanggan, database pribadi. c. Distributed Database Merupakan kelompok kerja lokal database dan departemen di kantor – kantor dan lokasi kerja lainnya. Dalam database ini terdapat dua segmen yaitu user database dan operasional yang datanyadigunakan dan dihasilkan untuk pengguna situs tersebut. http://digilib.mercubuana.ac.id/ 8 d. Data warehause Yaitu sebuah data warehause yang menyimpan informasi dari tahun – tahun sebelumnya hingga saat ini. Data warehouse merupakan sumber utama data yang telah terintegrasi sehingga bisa digunakan dan dimanfaatkan oleh para pengguna seluruh organisasi profesional. e. End-user database Yang terdiri dari file – file data yang dikembangkan dari end-user dalam workstation mereka. f. Real time database Merupakan sistem pengolahan yang dirancang dalam menangani beban kerja suatu negara yang bisa berubah-ubah, mengandung data terus menerus dan sebagian tidak terpengaruh terhadap waktu. Database ini bermanfaat bagi orang – orang hukum, akutansi, multi media, perbankan, dan analisis data ilmiah. g. Document oriented database Yang merupakan salah satu program komputer yang dirangkai untuk sebuah aplikasi yang berorientasi pada dokumen. Sistem ini dapat di terapkan sebagai lapisan diatas database relasional maupun objek database. h. In memory database Database ini bergantung kepada memory untuk penyimpanan datadalam sebuah komputer. i. Navigational database Dalam navigasi database ini, queries menjumpai benda bagi yang mengikuti referensi dari objjek tertentu. j. Hypermedia database on web Merupakan sekumpulan halaman multimediayang saling berkaitan dalam sebuah situs web, yang terdiri dari homepage dan saling hyperlink dari multimedia seperti gambar, teks, grafik audio. http://digilib.mercubuana.ac.id/ 9 k. Eksternal database Adapun database tipe ini menyediakan akses ke eksternal, data milik pribadi online – tersedia untuk pengguna biaya akhir ataupun organisasidari layanan komersial. l. Relational database Dari tahun 2009 resional database merupakan standar kumputasi bisnis dan database yang paling umum digunakan saat ini. 2.3.5 Metoda Pengembangan Perangkat Lunak Metodelogi yang digunakan untuk membangun sistem ini adalah Model Waterfall. Model ini merupakan sebuah pendekatan terhadap pengembangan perangkat lunak yang sistematik, dengan beberapa tahapan, yaitu: System Engineering, Analysis, Design, Coding, Testing dan Maintenance. tahapan dari Paradigma Waterfall dapat dilihat pada gambar berikut: Gambar 1.1 Paradigma Waterfall (Classic Life Cycle) (Sumber: Roger S. Pressman) Penjelasan Metodelogi Waterfall: 1. System Engineering, merupakan bagian awal dari pengerjaan suatu proyek perangkat lunak. Dimulai dengan mempersiapkan segala hal yang diperlukan dalam pelaksanaan proyek. http://digilib.mercubuana.ac.id/ 10 2. Analysis, merupakan tahapan dimana System Engineering menganalisis segala hal yang ada pada pembuatan proyek atau pengembangan perangkat lunak yang bertujuan untuk memahami sistem yang ada, mengidentifikasi masalah dan mencari solusinya. 3. Design, tahapan ini merupakan tahap penerjemah dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh pemakai (user). 4. Coding, yaitu menerjemahkan data yang dirancang ke dalam bahasa pemrograman yang telah ditentukan. 5. Testing, merupakan uji coba terhadap sistem atau program setelah selesai dibuat. 6. Maintenance, yaitu penerapan sistem secara keseluruhan disertai pemeliharaan jika terjadi perubahan struktur, baik dari segi software maupun hardware. 2.4 Black box 2.4.1 Defenisi Black box Black Box testing merupakan pengujian yang memungkinkan softwere engineer mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program (Pressman, 2005). Pengujian black box juga merupakan pendekatan komplementer yang memungkinkan mampu mengungkapkan kelas kesalahan dari pada metode white box. Pengujian black box berusaha menemukan kesalahan dalam keadaan sebagai berikut : 1. fungsi – fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau database eksternal. 4. Kesalahan kinerja. 5. Analisis dan kesalahan terminasi. http://digilib.mercubuana.ac.id/ 11 2.5 UML (Unified Modeling Language) 2.5.1 Defenisi UML (Unified Modeling Language) Berikut ini adalah beberapa definisi UML 1. UML (Unified Modeling Language) bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma (berorientasi objek) (Adi Nugroho, 2010 :6). Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan – permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipahami dan dipelajari. 2. UML (Unified Moedling language) yang berarti bahasa pemodelan standart (widodo, 2011 :6). 3. UML (Unified Modeling Language) dalam bahasa , berarti memiliki sintaks dan sematik (chonoles dalam widodo, 2011 :6) Gambar 2.1 UML (Unified Modelling Language) 2.5.2 Pemodelan UML (Unified Modeling Language) Langkah – langkah pemodelan UML menurut (henderi, 2008: 6) sebagai berikut : 1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. 2. Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat fungsional yang harus disediakan oleh sistem, kemudian perhalus use case diagram dan lengkapi dengan requirement, constraint dan catatan – catatan lain. http://digilib.mercubuana.ac.id/ 12 3. Buatlah dployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. 4. Defenisikan requirement lain non fungsional, security dan sebagainya yang harus disediakan oleh sistem. 5. Berdasarkan use case diagram, mulailah membuat activity diagram. 6. Berdasarkan obyek – obyek level atas atau package atau domain dan buatlah sequence atau colaboration untuk tiap alur pekerjaan, jika sebuah usecase mmemiliki kemungkinan alur normal dan eror, buat lagi satu diagram untuk masing – masing alur. 7. Buatlah user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan use case. 8. Berdasarkan model – model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain. 9. Setelah class diagram, dibuat kita dapat melihat kemungkinan pengelompokan class menjadi komponen – komponen, karena itu buatlah component diagram pada tahap ini. Juga defenisikan test integrasi untuk setiap komponen ia berinteraksi dengan baik. 10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen kedalam node. 11. Mulailah membangun sistem. Ada 2 (dua) pendekatan yang tepat digunakan, yakni pendekatan use case dengan mengassign setiap use case kepada team pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test dan pendekatan komponen yaitu dengan mengassign setiap komponen kepada team pengambang tertentu. http://digilib.mercubuana.ac.id/ 13 2.5.3 Fokus UML (Unified Modeling Language) Dalam kerangka spesifikasi, UML (Unified Modeling Language) menyediakan model – model yang tepat (Adin :05), tidak mendua arti (Ambigu) serta lengkap. Secara khusus, UML (Unified Modeling Language) menspesifikasikan langkah – langkah penting dalam pengambilang keputusan analisis, perancangan serta implementasi dalam sistem yang sangat bernuansa perangkat lunak (software intensive system). Dalam hal ini UML (Unified Modeling Language) bukanlah bahasa pemrograman tetapi model – model yang tercipta berhubungan langsung dengan berbagai bahasa pemrograman, sehingga mungkin melakukan pemetaan (mapping) langsung dari model – model yang dibuat dengan UML (Unified Modeling Language) dengan bahasa- bahasa pemrogaraman berorientasi objek seperti Java, Borland Delphi, Visual Basic, C++, Dll. Pemeteaan (mapping) UML (Unified Modeling Language) bersifat 2 (dua) arah yaitu : 1. Generaasi kode bahasa pemrograman tertentu dari UML (Unified Modeling Language) foward engineering (Nugroho, 2010:21). 2. Generasi kode belum sesuai dengan kebutuhan dan harapan pengguna, pengembang dapat melakukan langkah baik bersifat iterative dari implementasi ke UML (Unified Modeling Language) hingga di dapat sistem/piranti lunak yang sesuai dengan harapan pengguna dan pengembang. 2.5.4 Bangunan Dasar Metedologi UML (Unified Modeling Language) Bangunan dasar metodelogi UML (Unified Modeling Language) menggunakan 3 (tiga) bangunan dasar (Adin :05) yang digunakan sistem/perangkat lunak yang akan dikembangkan yaitu: 1. Sesuatu (things) Ada 4 (empat) things dalam UML (Unified Modeling Language), yaitu a. Structural things http://digilib.mercubuana.ac.id/ 14 Merupakan bagian yang relatif statis dalam UML (Unified Modeling Language). Bagian yang relatif statis dapat berupa elemen – elemen yang bersifat fisik maupun konseptual. b. Behavioral things Merupakan bagian yang dinamis pada model UML (Unified Modeling Language) biasanya merupakan kata kerja dari model UML (Unified Modeling Language), yang mencerminkan perilaku sepanjang ruang dan waktu. c. Grouping things Merupakan bagian pengorganisasi dalam UML (Unified Modeling Language) dalam penggambaran model yang rumit kadang diperlukan penggambaran paket yang menyederhanakan model. Paket – paket ini kemudian dapat didekomposisi lebih lanjut. Paket berguna bagi pengelompokan sesuatu, misalnya model – model dan subsistem – subsistem. d. Annatational things Merupakan bagian yang memperjelas model UML (Unified Modeling Language) dan dapat berupa komentar – komentar yang dapat menjelaskan fungsi serta ciri – ciri setiap elemen dalam UML (Unified Modeling Language). 2. Relasi (Relationship) Ada 4 (empat) macam relationship dalam UML (Unified Modeling Language) a. Kebergantungan Merupakan hubungan dimana perubahan yang terjadi pada element mandiri (independent) akan mempengaruhi element yang bergantung padanya. b. Asosiasi Merupakan apa yang menghubungkan antara objek satu dengan objek lainnya, bagaimana hubungan suatu objek dengan objek lainnya. Suatu http://digilib.mercubuana.ac.id/ 15 bentuk asosiasi adalah agregasi yang menampilkan hubungan suatu objek dengan bagian – bagiannya. c. Generalisasi Merupakan hubungan dimana objek anak (descendent) berbagi prilaku dan struktur data dari objek yang ada diatasnya objek induk (ancestor). Arah dari atas kebawah dari objek induk ke objek anak dinamakan spesialisasi, sedangkan arah berlawanan sebaliknya yaitu dari bawah ke atas dari objek anak ke objek induk dinamakan generalisasi. d. Realisasi Merupakan operasi yang benar – benar dilakukan oleh suatu objek. 3. Diagram Ada 5 macam diagram dalam UML (Unified Modeling Language) yaitu : a. Use case Diagram Diagram ini memperlihatkan use case dan aktor – aktor (suati jenis khusus dari kelas). Diagram ini terutama sangat penting untuk mengorganisasi serta memodelkan perilaku dari suatu sistem yang dibutuhkan serta diharapkan oleh pengguna. b. Class Diagram Diagram ini memperlihatkan himpunan kelas – kelas, antarmuka – antarmuka, kolaborasi – kolaborasi, relasi – relasi antar objek. c. Sequence Diagram Diagram ini memperlihatkan interaksi yang menekankan pada pengiriman pesan (message) dalam suatu waktu tertentu. d. State Chart Diagram Diagram ini memperliahatkan state – state pada sistem, memuat state, transisi, event, dan aktifitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka, kelas, kolaborasi, dan terutama penting pada pemodelan sistem yang reaktif. http://digilib.mercubuana.ac.id/ 16 e. Activity Diagram Diagram ini memperlihatkan aktivitas dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi – fungsi dalam suatu sistem dan memberikan tekanan pada aliran kendali antar objek. http://digilib.mercubuana.ac.id/