BAB II LANDASAN TEORI
2.1.1
Rekayasa Perangkat Lunak Rekayasa perangkat lunak atau software engineering adalah sebuah
disiplin ilmu yang mencakup segala hal yang berhubungan dengan proses pengembangan perangkat lunak sejak tahap perancangan hingga tahap implementasi serta pasca implementasi.(Rizky, 2011:21). Menurut Chairunnas dan Mediarman, 2006, perangkat lunak dapat didefinisikan sebagai: 1. Instruksi atau program komputer yang ketika dieksekusi melakukan performasi dan fungsi yang diinginkan. 2. Struktur data yang memungkinkan memanipulasi informasi dengan baik. 3. Dokumen yang menggambarkan operasi kegunaan program. Chairunnas dan Mediarman juga menguraikan bahwa rekayasa perangkat lunak adalah sebagai berikut : 1) Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh aspek produksi perangkat lunak. 2) Mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan
masalah
yang akan
pengembahangan dan sumber daya yang tersedia.
dipecahkan, kendala
Dalam
pengembangannya,
Perangkat
Lunak
mengalami
beberapa
fase,yaitu : 1. Fase Definisi Fase ini adalah fase untuk mendefinisikan informasi yang akan diproses, fungsi dan performasi yang diinginkan, menetapkan interface, merancang kendala dan batasan serta kriteria validitas yang diperlukan untuk menunjang keberhasilan sistem. 2. Fase Pengembangan Fase ini adalah fase dimana pembuat sistem menjabarkan struktur data dan arsitektur perangkat lunak, serta prosedur rinci yang akan diterjemahkan ke dalam bahasa pemprograman untuk dilakukan uji coba. 3. Fase Pemeliharaan Pada fase ini apabila terjadi perubahan terhadap kebutuhan, maka akan dilakukan perbaikan dan penambahan sesuai dengan permintaan pengguna.
2.1.2 Fase Pengembangan
Metode Waterfall Nama sebenarnya dari model ini adalah “Linear Sequential Model”. Model
ini sering disebut juga “classic life cycle” atau model waterfall. Model ini adalah yang pertama kali muncul yaitu sekitar pada tahun 1970 dan dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam Software Engineering.
Gambar 2.1 Metode Waterfall Berikut ini adalah tahapan-tahapan yang dilakukan dalam model waterfall: 1. Requirement Metode ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen – elemen lainnya seperti hardware dan database. 2. Analisis Analisis dilakukan untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan dan user interface.
3. Design Tahap ini digunakan untuk mengubah kebutuhan-kebutuhan pada fase sebelumnya menjadi representasi kedalam bentuk blueprint software sebelum memulai pengodingan. Design harus dapat memenuhi dan mewujudkan kebutuhan yang telah disebutkan pada tahap sebelumnya. 4. Coding Agar design dapat dimengerti oleh mesin, yang dalam hal ini adalah sebuah komputer, maka design tadi harus diubah kedalam bahasa pemprograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya akan dikerjakan oleh programmer. 5. Testing Tahap ini adalah tahap ujicoba agar software bebas dari error, dan benarbenar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 6. Maintenance Maintenance merupakan pemeliharaan suatu software, yang didalamnya termasuk pengembangan. Karena software yang dibuat tidak selamanya statis. Mungkin saja ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan eksternal pada perusahaan seperti ketika ada pergantian sistem operasi atau perangkat lainnya.
2.1.3
Fase Pengujian Pengujian perangkat lunak adalah sebuah proses guna memastikan kualitas
dari perangkat lunak tersebut agar memenuhi kebutuhan teknis yang telah disepakati sebelumnya. (Rizky,2011:237) 1. Metode White Box Metode white-box (glass box) adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan diperiksa satu persatu dan diperbaiki, kemudian dicompile ulang. 2. Metode Black Box Black box adalah metode pengujian perangkat lunak yang menguji fungsionalitas dari aplikasi yang bertentangan dengan coding program. Black box testing adalah tipe pengujian yang tidak diketahui kinerja internalnya. Sehingga para penguji memandang perangkat lunak seperti layaknya sebuah kotak hitam yang tidak penting dilihat isinya, tapi cukup diketahui proses pengujian dibagian luar. Jenis pengujian ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan.
2.2.1
Visual Basic.NET Microsoft Visual Basic.NET adalah sebuah alat untuk mengembangkan
dan membangun aplikasi yang bergerak diatas sistem .NET Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat inipara programmer dapat membangun aplikasi windows Forms, aplikasi web berbasis ASP.NET, dan juga aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C# atau Visual J#). Atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio.NET. Bahasa Visual Basic.NET sendiri menganut paradigma bahasa pemprograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan diatas .NET Framework.
2.2.2
Bahasa Basic Bahasa basic (Beginner’s All-purpose Symbolic Interaction Code) adalah
bahasa komputer tingkat tinggi yang dirancang untuk digunakan dalam sistem interaktif. Dengan sistem interaktif ini dimungkinkan untuk mengadakan percakapan antara komputer dengan manusia. Bahasa
BASIC,
singkatan
dari
Beginner’s
All-purpose
Symbolic
Interaction Code, merupakan bahasa pemprograman tingkat tinggi yang dirancang untuk pola percakapan (conversation mode). Bahasa basic ini bisa dikatakan bahasa yang paling sederhana dibandingkan dengan bahasa yang lain (seperti COBOL,FORTRAN,ALGOL).
2.2.3
Object Oriented Programming Pemprograman berbasis objek adalah sebuah sistem yang komponennya
dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam sistem tersebut dapat mewarisi atribut, sifat, komponen dan dapat berinteraksi satu sama lain.
2.2.4
Array Pada umumnya array digunakan untuk bahasa pemprograman yang
menampung data – data pada variabel yang tersusun dengan nama yang sama. Array ini identik dengan susunan suatu rak yang diberi nama dan nomor. Misalnya, rak tersebut diberi nama {Pegawai} lalu data masing – masing pegawai tersebut ditempatkan berdasarkan nomornya. (Febrian, 2007:40). Array adalah reference type yang mengandung banyak variabel yang diakses melalui indeks urutan dan diawali oleh angka „0‟. Variabel dalam Array disebut elemen array dan harus memiliki tipe yang sama, dan tipe ini disebut tipe elemen dari array. (Rickyanto, 2003:268). Pada VB.NET terdapat juga ArrayList, dimana ArrayList memiliki sifat seperti array tetapi perbedaannya adalah ArrayList bersifat dinamik dalam arti dapat memperbesar kapasitasnya secara otomatis apabila diperlukan. ArrayList lebih unggul daripada array karena selain dapat memperbesar kapasitas secara otomatis, dapat juga disisipkan dan dihapus elemennya berdasarkan index maupun berdasarkan valuenya.(Rickyanto, 2003:195)
2.3.1
UML UML (Unified Modeling Language) merupakan sebuah standarisasi
bahasa permodelan untuk visualisasi, merancang dan mendokumentasi sistem piranti lunak. UML dapat merancang standar model sebuah sistem. UML diaplikasikan untuk maksud tertentu, antara lain : 1. Merancang perangkat lunak. 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk menganalisa dan mencari apa yang diperlukan sistem. 4. Mendokumentasikan sistem yang ada, dari mulai proses sampai pengorganisasiannya. UML merupakan alat komunikasi yang konsisten dalam mensupport para pengembang sistem saat ini.
2.3.2
Use Case Diagram Use case diagram adalah teknik untuk menggambarkan cara kerja sebuah
sistem. Use case diagram mendeskripsikan interaksi antara para pengguna sistem dengan sistem itu sendiri, dengan memberi sebuah narasi tentang bagaimana sistem tersebut digunakan [Fowler, 2005:141].
Aktor
Penghubung
Use case
Gambar 2.2 Notasi Use Case Diagram Notasi - notasi yang digunakan dalam permodelan Use case pada gambar 2.4 adalah : 1.
Aktor, merupakan sebuah peran yang dimainkan seorang pengguna dalam kaitannya dengan sistem.
2.
Penghubung
antara
aktor
dengan
Use
Case
Generalization,
menggambarkan hubungan khusus dalam objek anak (child) yang menggantikan objek induk (parent). 3.
Use case adalah rangkaian atau uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case digunakan untuk membentuk tingkah-laku benda dalam sebuah model serta direalisasikan oleh sebuah kolaborasi (collaboration).
2.3.3
Activity Diagram Diagram aktivitas digunakan untuk memodelkan alur kerja (work flow)
sebuah proses bisnis dan urutan aktivitas pada suatu proses. Diagram ini sangat mirip dengan flowchart karena kita dapat memodelkan prosedur logika, proses bisnis dan alur kerja. Perbedaan utamanya adalah flowchart dibuat untuk menggambarkan alur kerja sebuah sistem, sedangkan activity diagram dibuat untuk menggambarkan aktivitas dari actor.
Notasi
Keterangan
Titik awal aktivitas
Titik akhir aktivitas
Menggambarkan proses bisnis (aktivity state)
Menggambarkan pilihan untuk pengambilan keputusan
Gambar 2.3 Activity Diagram
2.3.4
Sequence Diagram Sequence
diagram
merupakan
suatu
diagram
interaksi
yang
menggambarkan bagaimana objek – objek berpartisipasi dalam bagian interaksi dan pesan yang ditukar dalam urutan waktu.(Indrajani,2011:36).
Gambar 2.4 Sequence Diagram
2.4 Gerbang Logik (Logic Gates) Gerbang logika atau sering juga disebut gerbang logika Boolean merupakan sebuah sistem pemrosesan yang dapat memproses input berupa bilangan biner menjadi sebuah output yang akhirnya digunakan untuk proses selanjutnya. Gerbang-gerbang logika merupakan dasar untuk merancang dan membangun rangkaian elektronika digital. Suatu gerbang logika mempunyai satu terminal keluaran dan satu atau lebih terminal masukan. Keluaran dan masukan gerbang logika ini dinyatakan dalam kondisi HIGH (1) atau LOW (0). (http://ebookbrowsee.net/pertemuan3-doc-d681856865). Didalam sistem digital elektronik memiliki intruksi yang berbentuk sinyal listrik yang perlu diolah sedemikian rupa agar himpunan instruksi tersusun secara konsisten dengan urutan yang logis. (Zuhal, Zhanggischan, 2004:287). Bila diibaratkan, saklar – saklar yang berfungsi sebagai input , 0 = „saklar membuka‟ dan 1 = „saklar menutup‟. Untuk lampu yang berfungsi sebagai output, 0 = „lampu padam‟ dan 1 = „lampu menyala‟. Berikut adalah beberapa rangkaian gerbang logika dasar yang penulis gunakan dalam aplikasi kali ini :
AND (DAN) Rangkaian AND merupakan rangkaian yang akan bekerja hanya apabila kedua saklarnya menutup. Cara kerja rangkaian ini dapat dirangkumkan dengan jalan mempresentasikan keadaan – keadaan input dan output biner dengan bilangan – bilangan „0‟ dan „1‟. Sekarang kita dapat mencantumkan keempat keadaan saklar – saklar input didalam sebuah tabel benar-salah (truth table) : Tabel 2.1. Tabel yang memperlihatkan cara kerja AND Input B
Output A
Z
0
0
0
0
1
0
1
0
0
1
1
1
OR (ATAU) Pada gerbang OR (atau) outputnya akan memiliki level tinggi (1) jika salah satu inputnya ATAU lebih , berada pada level tinggi. Tabel benar-salah untuk gerbang OR dapat dilihat pada tabel 2.2.
Tabel 2.2. Tabel yang memperlihatkan cara kerja OR Input B
Output A
Z
0
0
0
0
1
1
1
0
1
1
1
1
NOT (TIDAK) Gerbang NOT (tidak) adalah sebuah gerbang logika yang dianggap tidak biasa , karena gerbang ini hanya memiliki 1 buah input. Output yang diberikan gerbang selalu merupakan kebalikan (inversi) dari inputnya. Alasan inilah yang menjadikan gerbang NOT disebut juga sebagai gerbang INVERSI. Tabel benar – salah untuk rangkaian gerbang NOT dapat dilihat pada tabel 2.3.
Tabel 2.3. Tabel yang memperlihatkan cara kerja NOT Input
Output
A
Z
0
1
1
0
NAND (NOT AND) Gerbang NAND (NOT AND) adalah salah satu gerbang logika yang paling banyak dimanfaatkan untuk melaksanakan pemprosesan logika . gerbang NAND merupakan ekivalen dari kombinasi sebuah gerbang AND yang diikuti oleh sebuah NOT. Gerbang hanya akan menghasilkan output „0‟ apabila input A DAN input B keduanya bernilai „1‟ , sebagaimana diperlihatkan dalam tabel benar-salah berikut ini : Tabel 2.4. Tabel yang memperlihatkan cara kerja NAND Input B
Output A
Z
0
0
1
0
1
1
1
0
1
1
1
0
NOR (NOT OR) Gerbang NOR adalah ekivalen dari kombinasi sebuah gerbang OR yang diikuti oleh sebuah gerbang NOT. Gerbang hanya akan menghasilkan output „0‟ apabila input A OR input B salah satunya bernilai „1‟. Cara kerja gerbang NOR dapat dilihat dalam tabel benar – salah 2.5.
Tabel 2.5. Tabel yang memperlihatkan cara kerja NOR Input B
Output A
Z
0
0
1
0
1
0
1
0
0
1
1
0
Eks-OR Gerbang Eks-OR (gerbang OR ekslusif) adalah kerabat dekat dari gerbang OR . output sebuah gerbang OR akan bernilai „1‟ apabila input A ATAU input B ATAU KEDUANYA bernilai „1‟ . Sementara, output sebuah gerbang Eks-OR akan bernilai „1‟ apabila input A ATAU input B namun TIDAK KEDUANYA berada pada level tinggi. Dibawah ini menggambarkan bagaimana cara kerja gerbang Eks-OR. Tabel 2.6. Tabel yang memperlihatkan cara kerja Eks-OR Input B
Output A
Z
0
0
0
0
1
1
1
0
1
1
1
0
Eks-NOR Gerbang Eks-NOR adalah kombinasi sebuah gerbang Eks-OR yang diikuti oleh sebuah gerbang NOT. Output yang dihasilkan adalah kebalikan dari output gerbang Eks-OR. Cara kerja gerbang Eks-NOR dapat dilihat pada tabel 2.7. Tabel 2.7. Tabel yang memperlihatkan cara kerja Eks-NOR Input B
Output A
Z
0
0
1
0
1
0
1
0
0
1
1
1
(Bishop, 2002:121)