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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.