BAB II
LANDASAN TEORI
2.1 Prototype
Menurut Roger S. Pressman (2002) pendekatan prototipe atau prototyping paradigma sangat cocok digunakan untuk sistem atau perangkat lunak yang dibangun mengikuti kebutuhan pengguna, metode ini sangat sesuai diterapkan dalam proses perancangan perangkat lunak yang akan dibangun. Tahapan-tahapan dalam model proses prototipe mewakili tahapan pengembangan desain perangkat lunak baru yang akan dibangun.
2.1.2 Keunggulan dan kelemahan prototype
o Keunggulan prototype
.Adanya komunikasi yang baik antara pengembang dan pelanggan untuk dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan. Pelanggan juga berperan aktif dalam pengembangan system. Lebih menghemat waktu dalam pengembangan system Penerapan menjadi lebih mudah karena pelanggai mengetahui apa yang diharapkannya.
o Kelemahan prototype
Aplikasi tidak selalu sesuai pada kehidupan nyata.
Terkadang hubungan antar pelanggan dan pengembang bila tidak baik, maka produk yang diciptakan pun akan terlihat kurang baik.
2.2 Model dan Simulasi
Dunia terdiri dari sistem yang sangat kompleks, dengan komponen sistem yang sangat banyak, saling mempengaruhi dan saling bergantung antara satu komponen sistem dengan komponen lainnya, sehingga manusia harus menghadapi dan menanggulangi banyak masalah yang sangat rumit yang memerlukan penanganan yang segera dan antisipatif. Untuk memecahkan masalah ini dikembangkan Ilmu Sistem yang berkembang pesat belakangan ini. Ilmu Sistem sering menggunakan model. Model dibuat menjadi lebih sederhana daripada dunia nyata, sehingga manusia dapat lebih mudah untuk menanganinya (Saaty 1993).
2.2.1 Keunggulan Model Simulasi
Menurut Kakiay (2004) penggunaan model dan simulasi mempunyai keuntungan:
1. Menghemat waktu
2. Dapat merentang-luaskan waktu
3. Dapat mengawasi sumber-sumber yang bervariasi 4. Mengoreksi kesalahan-kesalahan perhitungan 5. Dapat dihentikan dan dijalankan kembali
6. Besaran konstanta sistem dapat diubah-ubah untuk melihat pengaruhnya
Simulasi merupakan satu-satunya cara yang dapat digunakan untuk mengatasi masalah, dengan catatan :
1. Solusi analitik tidak bisa dikembangkan, karena sistem yang sangat kompleks.
2. Pengamatan sistem secara langsung tidak dimungkinkan, karena :
o Sangat mahal
o Memakan waktu yang terlalu lama
2.2.2 Kelemahan Simulasi Adapun kekurangan simulasi adalah :
1. Membuat suatu model simulasi yang baik bisa jadi memerlukan biaya yang sangat mahal, bahkan sering dibutuhkan waktu bertahun-tahun untuk mengembangkan model yang sesuai.
2. Teknik simulasi bukan proses optimisasi dan tidak menghasilkan sebuah jawaban tetapi hanya menghasilkan sekumpulan output dari sistem pada berbagai kondisi yang berbeda.
2.3 RPL
RPL (Rekayasa Perangkat Lunak) adalah suatu disiplin ilmu yang mempelajari semua aspek produksi dalam suatu proses perancangan suatu perangkat lunak / sistem dengan tujuan untuk dapat menghasilkan suatu perangkat lunak / sistem dengan cara yang efektif dan efisien dari segi biaya, waktu, dan tenaga. Tahapan-tahapan pengembangan suatu perangkat lunak yakni : Analisis, Desain, Implementasi, Pengujian, Pemeliharaan, dan Dokumentasi. (IAN SOMMERVILLE, 2003)
2.4 Metode Waterfall
Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan
Analisis dan Definisi Persyaratan
Perancangan Sistem dan Perangkat Lunak
Implementasi dan Pengujian Unit
Integrasi dan Pengujian Sistem
Operasi dan Pemeliharaan Gambar 2.1 Siklus Hidup Perangkat Lunak (Sumber: IAN SOMMERVILLE, 2003)
Model pengembangan ini tidak mengizinkan tahapan tertentu langsung menggantikan tahapan berikutnya sampai operasi tahapan yang terdahulu telah terpenuhi. tahapan yang ada di dalam model ini adalah :
- Analisis dan Definisi Persyaratan
Pada tahapan ini biasanya dilakukan pengumpulan data-data / informasi-informasi yang berkaitan dengan perangkat lunak / sistem yang akan dikembangkan
- Perancangan Sistem dan Perangkat Lunak
Pada tahapan ini, arsitektur perangkat lunak / sistem mulai dibuat berdasarkan data-data yang telah diperoleh sebelumnya pada tahapan analisa. komponen antarmuka perangkat lunak juga dirancang dengan mengacu pada kebutuhan-kebutuhan yang sebelumnya telah dilakukan pada tahapan analisa
- Implementasi dan Pengujian Unit
Pada tahapan ini, dilakukan pengujian terhadap tiap unit-unit program yang telah dibuat. Tujuan dilakukannya tahapan ini adalah untuk mem-verifikasi bahwa setiap unit program telah berjalan sesuai dengan fungsi yang telah ditetapkan sebelumnya.
- Integrasi dan Pengujian Sistem
Pada tahapan ini, seluruh unit program mulai diintegrasikan satu sama lain kemudian diuji sebagai perangkat lunak secara lengkap dan utuh. Tujuan dari tahapan ini adalah untuk menjamin bahwa segala persyaratan yang sebelumnya dicatat pada tahapan analisa telah terpenuhi dan tidak ada yang meleset dari perkiraan atau prediksi.
- Operasi dan Pemeliharan
Pada tahapan ini biasanya dilakukan perbaikan , penambahan , pengembangan perangkat lunak berdasarkan permintaan dari user atau pemilik.
2.5 Unified Modelling Language (UML)
Unified Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain system perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Fowler, 2005).
UML bukan yang merupakan standar yang relatif terbuka yang dikontrol oleh Objek Management Group (OMG), sebuah konsorsium terbuka yang terdiri dari banyak perusahaan. OMG dibentuk untuk membuat standar-standar yang mendukung interoperabilitas, khususnya interopebilitas sistem berorientasi objek. OMG mungkin lebih dikenal dengan standar-standar COBRA( Common Object Request Broker Architecture ) (Fowler, 2005). Tabel 2.1 : Jenis diagram resmi UML (Munawar. 2005)
No. Diagram Kegunaan
1. Activity Perilaku prosedural dan parallel 2. Class Class, fitur, dan relasinya
3. Communication Interaksi antar objek; penekanan pada link 4. Component Struktur dan koneksi dari komponen 5. Composite
structure
Dekomposisi sebuah class pada saat runtime
6. Deployment Penyebaran / instalasi ke klien 7. Interaction
overview
Gabungan sequence dan activity diagram
8. Object Contoh konfigurasi dari contoh-contoh 9. Package Struktur hierarki saat kompilasi
10. Sequence Interaksi antar objek; penekanan pada sequence 11. State machihne Bagaimana event mengubah objek selama aktif 12. Timing Interaksi antar objek; penekanan pada timing 13. Use case Bagaimana pengguna berinteraksi dengan
2.6 Use Case Diagram
Use case diagram adalah teknik untuk merekam persyaratan fungsional sebuah sistem. Use Case mendeskripsikan interaktsi tipikal antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan. (Fowler 2005)
Rangkaian langkah-langkah yang menjabarkan sebuah interaksi antara seorang pengguna dengan sebuah sistem disebut skenario. Dalam bahasan use case, para pengguna disebut sebagai aktor. Aktor merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya dengan sistem. Seorang aktor dapat menggunakan banyak use case , sebaliknya sebuah use case juga dapat digunakan oleh beberapa aktor.
Setiap use case mempunyai aktor utama yang meminta sistem untuk memberi sebuah layanan. Setiap langkah dakam use case adalah sebuah elemen dalam interaksi antara aktor dan sistem. Setiap langkah harus berupa pernyataan sederhana dan dengan jelas menunjukkan siapa yang menjalankan langkah tersebut.
Tabel 2.2 : Notasi use case diagram (Booch, Rambaugh, dan Jacobson 1998)
Notasi Deskripsi
Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
Tabel 2.2 : Notasi use case diagram (Booch, Rambaugh, dan Jacobson 1998) (Lanjutan)
Notasi Deskripsi
Use case, digunakan untuk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job description), serta keterkaitan antar pekerjaan (job). Contoh: pesan barang, menutup pintu, dan lain-lain.
Aliran proses (relationship), digunakan untuk menggambarkan hubungan antara use case dengan use case lainnya.
Aliran perpanjangan (extension point), digunakan untuk menggambarkan hubungan antara use case dengan use case yang diperpanjang (extended use case) maupun dengan use case yang dimasukkan (included use case).
Aliran yang digunakan untuk menggammbarkan hubungan antara actor dengan use case.
<<extended>>
Kondisi yang mendeskripsikan apa yang terjadi antara use case dengan use case yang diperpanjang.
<<include>>
Include adalah kondisi aliran proses langsung (directed relationship) antara dua use case yang secara tak langsung menyatakan kelakuan (behaviour) dari use case yang dimasukkan.
<<has>> Adalah kondisi yang mendeskripsikan apa yang terjadi antara actor dengan use case.
Gambar 2.2 Contoh Diagram Use Case (Djajono, 2005) 2.6.1 Activity Diagram
Diagram aktifitas adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus (Munawar, 2005). Activity diagram memodelkan alur kerja (workflow) sebuah proses bisnis dan urutan aktivitas dalam suatu proses. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lainnya atau dari satu aktivitas ke dalam keadaan sesaat (state). Seringkali bermanfaat bila kita membuat sebuah activity diagram terlebih dahulu dalam memodelkan sebuah proses untuk membantu kita memahami proses secara keseluruhan. Activity diagram juga sangat berguna ketika kita ingin menggambarkan perilaku paralel/menjelaskan bagaimana perilaku dari berbagai use case berinteraksi.
Tabel 2.3 : Notasi activity diagram (Fowler, 2005)
No. Notasi Keterangan
1. Aktifitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
Tabel 2.3 : Notasi activity diagram (Fowler, 2005) (Lanjutan)
No. Notasi Keterangan
1. Aktifitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
2. Node keputusan (decision node), digunakan untuk menggambarkan kelakuan pada kondisi tertentu.
3. Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas.
4. Titik akhir (final acton), digunakan untuk menggambarkan akhir dari diagram aktifitas. 5. Akhir alur (flow final), digunakan untuk
menghancurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas.
6. Aksi (action), digunakan untuk menggambarkan alur antara aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik akhir.
7. Aksi penerimaan kejadian (accept event action), sebuah aksi yang menunggu sebuah kejadian dari suatu peristiwa bertemu kondisi yang spesifikasi.
8. DataStore digunakan untuyk menjaga agar
semua tanda yang masuk dan menduplikasinya saat mereka dipilih untuk pindah ke alur selanjutnya (downstream).
9. Node fork memiliki satu aksi yang masuk dan beberapa aksi yang keluar.
<<datastore> >
S e l e c t m a j o r f u n c t i o n P r o m p t f o r r e e n t r y N o i n p u t t r i e s r e m a i n I n p u t t r i e s r e m a i n S e l e c t s u r v e i l l a n c e S e l e c t s p e c i f i c c a m e r a - t h u m b n a i l s S e l e c t c a m e r a i c o n V i e w c a m e r a o u t p u t i n l a b e l e d w i n d o w P r o m p t f o r a n o t h e r v i e w E x i t t h i s f u n c t i o n S e e a n o t h e r c a m e r a T h u m b n a i l v i e w s S e l e c t a s p e c i f i c c a m e r a V a l i d p a s s w o r d / I D I n v a l i d p a s s w o r d / I D
Gambar 2.3 Contoh Diagram Activity (Pressman, 2005)
2.6.3 DEPLOYMENT DIAGRAM
Deployment Diagram memperlihatakan pemetaan software kepada hardware. Setiap model hanya memiliki satu deployment diagram.
Deployment diagram menggambarkan arsitektur fisik dari perangkat keras dan perangkat lunak sistem, menunjukkan hubungan komputer dengan
perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes,
executeable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan
2.7 Borland Delphi 7
Borland Delphi merupakan suatu bahasa pemrograman yang
memberikan berbagai fasilitas pembuatan aplikasi untuk mengolah teks, grafik, angka, database dan aplikasi web. Program ini mempunyai kemampuan luas yang terletak pada produktifitas, kualitas, pengembangan perangkat lunak, kecepatan kompilasi, pola desain yang menarik serta bahasa pemrogramannya terstruktur dan lengkap. Fasilitas pemrograman dibagi dalam dua kelompok yaitu object dan bahasa pemrograman. Object adalah suatu komponen yang mempunyai bentuk fisik dan biasanya dapat dilihat. Object biasanya dipakai untuk melakukan tugas tertentu dan mempunyai batasan-batasan tertentu. Sedangkan bahasa pemrograman dapat disebut sekumpulan teks yang mempunyai arti tertentu dan disusun dengan aturan tertentu untuk menjalankan tugas tertentu. Gabungan antara object dengan bahasa pemrograman sering disebut bahasa pemrograman berorientasi object.
2.7.1 IDE Delphi 7
Merupakan lingkungan pemrograman terpadu yang terdapat dalam Delphi. Dengan IDE semua yang diperlukan dalam pengembangan, dalam kondisi normal, semuanya telah tersedia. Adapun bagian-bagian IDE Delphi yang biasa ditampilkan:
• Jendela Utama
Di dalam jendela utama Delphi terdapat menu-menu sebagaimana menu aplikasi Windows umumnya, toolbar yang merupakan langkah cepat dari beberapa menu, dan component palette yaitu gudang komponen yang akan digunakan untuk membuat aplikasi.
• Object Treeview
Fasilitas ini berguna untuk menampilkan daftar komponen yang digunakan dalam pengembangan aplikasi sesuai dengan
• Object Inspector
Object ini digunakan untuk mengatur properti dan event suatu komponen. Akan tetapi tidak dapat mengubah langsung properti-properti yang tidak ditampilkan kecuali melalui penulisan kode program.
• Form Designer
Form adalah komponen utama dalam pengembangan aplikasi. Form designer adalah tempat melekatnya komponen yang lain, dengan arti lain tempat komponen-komponen lain diletakkan.
• Code Editor, Explorer dan Component Diagram
Code Editor adalah tempat kode program yang diperlukan untuk mengatur tugas aplikasi ditulis. Code Explorer adalah fasilitas yang membantu penjelajahan kode program menjadi lebih mudah. Component Diagram adalah fasilitas yang dapat digunakan untuk membuat diagram komponen-komponen yang digunakan dalam aplikasi
2.7.2 ADO
ADO command
ADO connection ADO table ADO Query
Gambar 2.4: gambar dari ADOConnection, ADOCommand,
ADOtable dan ADOQuery
o ADOConnection
Koneksi Objek ADO digunakan untuk membuat koneksi terbuka untuk sumber data. Melalui sambungan ini, dapat mengakses dan memanipulasi database tetapi Jika ingin mengakses database beberapa kali, harus membuat sambungan menggunakan objek Connection.
o ADO Command
Objek Command ADO digunakan untuk mengeksekusi query terhadap database tunggal. Permintaan dapat melakukan tindakan seperti menciptakan, menambahkan, mengambil, menghapus atau memperbarui catatan.
o ADO Table
ADOTable digunakan untuk mengakses data dalam sebuah tabel database tunggal dengan menggunakan ADO. ADOTable menyediakan akses langsung ke setiap merekam dan field dalam tabel database. Komponen ADO tabel juga dapat bekerja dengan subset dari record dalam tabel database menggunakan rentang dan filter.
o ADO Query
Berfungsi menampilkan table dengan ketentuan - ketentuan tertentu dengan menggunakan query. Ditampilkan pada komponen data controls.
Contoh: SELECT nama FROM MAHASISWA.
Data source
Gambar 2.5 : Gambar data source
o TDataSource
Digunakan untuk bertindak sebagai penghubung antara DataAccess dengan data aware-visual control.
DBGrid
Gambar 2.4.1 : gambar dari DBGrid Gambar 2.6 : Gambar DBGrid
o TDBGrid
Digunakan untuk menampilkan data dan edit dataset dengan format tabulasi atau sering disebut browse.
2. 8 Microsoft accsess 2003
Microsoft Access adalah suatu program aplikasi yang dikeluarkan oleh microsoft , aplikasi yang berhubungan dengan basis data komputer yang digunakan untuk merancang, membuat dan mengolah berbagai jenis data dengan kapasitas yang besar. Sedangkan Database adalah kumpulan tabel-tabel yang saling berelasi atau berhubungan . Antar tabel yang satu dengan yang lain saling berhubungan sehingga sering disebut basis data relasional. Relasi antar tabel dihubungkan leh suatu key, yaitu primary key dan foreign key.
Gambar 2.7 : layout dari Microsoft accsess
o primary key, yaitu suatu atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian tetapi juga mewakili setiap kejadian dari suatu entitas.
o Foreign key adalah atribut yang melengkapi relationship dan menunjukkan hubungan antara tabel induk dengan tabel cabang. Foreign key ditempatkan pada tabel cabang.
2.8.1 Komponen Utama (Object)
o Table
Table adalah objek utama dalam database yang digunakan untuk menyimpan sekumpulan data sejenis dalam sebuah objek.
Table terdiri atas :
Field Name : atribut dari sebuah table yang menempati bagian kolom
Record : Isi dari field atau atribut yang saling berhubungan yang menempati bagian baris.
o Query ( SQL / Structured Query Language )
Query adalah bahasa untuk melakukan manipulasi kepada database. Yang digunakan untuk menampilkan, mengubah, dan menganalisa sekumpulan data.
Query dibedakan menjadi 2, yaitu :
DDL ( Data Definition Language ) digunakan untuk membuat atau mendefinisikan obyek-obyek database seperti membuat tabel, relasi antar tabel dan sebagainya.
DML ( Data Manipulation Language ) digunakan untuk manipulasi database, seperti : menambah, mengubah atau menghapus data serta mengambil informasi yang diperlukan dari database.
o Form
Form digunakan untuk mengontrol proses masukan data (input), menampilkan data (output), memeriksa dan memperbaharui data.
o Report
Form digunakan untuk menampilkan data yang sudah dirangkum dan mencetak data secara efektif.
2.9 Black Box
Pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak.
Jadi dianalogikan seperti kita melihat suatu koatak hitam , kita hanya bisa melihat penampilan luarnya saja, tanpa tau ada apa dibalik bungus hitam nya. Sama seperti prngujian black box, mengevaluasi hanya dari tampilan luarnya(interface nya) fungsionalitasnya.tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya.
Keunggulan Black Box:
o Dapat memilih subset test secara efektif dan efisien o Dapat menemukan kesalahan dari aplikasi
o Memaksimalkan testing investmen
Kelemahan: