BAB II LANDASAN TEORI 2.1
Rekayasa Piranti Lunak Dalam merancang suatu aplikasi, perlu diadakan suatu pendekatan
sistematis dalam rekayasa piranti lunak tersebut. Pressman (2012) menyimpulkan, rekayasa piranti lunak adalah salah satu disiplin yang mengintegrasikan antara proses, metode, dan tool – tool pada sebuah pengembangan piranti lunak komputer. Tujuan dari rekayasa piranti lunak tersebut adalah untuk menghasilkan piranti lunak yang ekonomis dan dapat diandalkan. 2.2
Pengertian Piranti Lunak Menurut Pressman (2012), piranti lunak adalah produk yang dirancang dan
dibangun oleh software engineer. Produk ini meliputi program – program yang dijalankan dalam komputer, dan dokumen – dokumen baik dalam bentuk hardcopy maupun virtual dan data yang mengkombinasikan angka, teks, serta meliputi representasi dari informasi gambar, video, dan audio. Berikut ini adalah bebrapa karakteristik piranti lunak juka dibandingkan dengan produk lain seperti hardware (piranti keras) : 1. Piranti lunak bersifat intangible, jadi kita tidak dapat merasakan dan memegang bentuk dari piranti lunak dan perancangan dari piranti lunak sulit untuk dibayangkan. 2. Mudah untuk mengembangkan suatu piranti lunak, akan tetapi sulit untuk mengembangkan suatu piranti lunak yang mudah dimengerti dan mudah dimodifikasi. 3. Piranti lunak tidak dapat rusak akan tetapi dapat ketinggalan zaman. 2.3
Metodelogi Rekayasa Perangkat Lunak Metodelogi adalah cara sistematis atau cara yang didefinisikan dengan
jelas untuk mencapi tujuan akhir. Bagian awal dari rekayasa perangkat lunak adalah pemodelan karena pemodelan akan mempengaruhi pekerjaan – pekerjaan dalam rekayasa perangkat lunak tersebut. Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa lunak adalah Waterfall.
6
7
Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis,desain, coding, testing / verivication, dan maintenance ( pengembangan ). Disebut dengan waterfall karena tahap demi tahap yang dilalui haruds menunggu selesainya tahap sebelumnya dan berjalan berurutan. “ Setelah setiap langkah didefinisikan, pengembangan dilanjutkan pada langkah berikutnya “ (Pressman,2012). Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut.
Gambar 2.1 Skema Model Waterfall (Pressman,2012) 1. Requirement Analisys and Definition Mengumpulkan kebutuhan secara lengkap dan kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh software yang akan dibangun. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardwere, database, dsb. Tahap ini sering disebut dengan Project definition. 2. System and Software Desaign Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi
8
yang dibutuhkan, user interface, dsb. Dari dua aktifitas tersebut harus didokumentasikan . Proses
software
desaign
untuk
mengubah
kebutuhan-kebutuhan
sebelumnya menjadi representasi ke dalam bentuk blueprint software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti dua aktifitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. 3. Implementasi and Unit Testing Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahhasa pemrograman yang sudah ditentukan. Program yang dibangun langsung di uji baik secara unit. 4. Integration and System Testing Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain sebelumnya harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap desain yang secara teknis nantinya akan dikerjakan oleh programmer. Penyatuan unit-unit program kemudian diuji secara keseluruhan. 5. Operation and Maintenance Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan softwere. Semua fungsi-fungsi software harus diujicobakan agar software bebas dari error dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Pemeliharaan
software
diperlukan,
termasuk
didalamnya
adalah
pengembangan, karena software yang dibuat tidak selamanya akan sepertiitu terus. Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada softwere tersebut. Pengembangan diperlukan ketika adanya perubahan seperti ketika ada pergantian sistem operasi atau perangkat lainnya.
9
2.4
Software Penunjang Untuk membuat Aplikasi Pengontrolan Tugas Akhir Mahasiswa ini
diperlukan beberapa softwere yang mendukung. 2.4.1. Borland Delphi 7.0 Delphi adalah suatu bahasa pemrograman yang menggunakan visualisasi sama seperti bahasa pemrograman visual basic ( VB ). Namun Delphi menggunakan bahasa yang hamper sama dengan pascal ( sering disebut objek pascal ). Sehingga lebih mudah untuk digunakan. 2.4.1.1. Perkembangan Untuk membuat software ini maka diperlukan beberapa software penunjang yang membantu kelancaran dalam pembuatannya. Salah satu software yang dipakai adalah Borland Delphi 7.0. kenapa menggunakan Borland Delphi 7.0 ? Karena Delphi merupakan pemrograman berbasis windows. 2.4.1.2. Fitur – fitur Dalam Borland Delphi ini terdiri dari berbagai macam fitur yang mendukung. Fitur – fitur yang mendukung adalah sebagai berikut : 1. Palete komponen
Gambar 2.2 Palete komponen Palete (toolbar) ini merupakan tempat untuk meletakkan komponen – komponen dalam Borland Delphi, komponen palete terdiri dari banyak palete seperti palete standar yang berisi komponen – komponen seperti frames, button, labels, combobox dan lain lain.
10
2. Object tree view
Gambar 2.3 Object tree view Object tree view ini digunakan untuk melihat komponen apa saja yang digunakan dalam form. Setiap komponen yang berada dalam form akan terlihat disini, seperti dalam gambar terdapat tiga buah labels dan dua buah button. Jika dalam Delphi object tree view tidak ditampilkan di window, maka bias memunculkan dengan klik window | Object tree view pada menu bar. 3. Object Inspector
Gambar 2.4 Object Inspector Window ini digunakan untuk menampilkan property dari object. Setiap object dalam Delphi memiliki property. Jika dalam Delphi tidak menampilkan window ini maka bias memunculkan dengan klik window | Object inspector pada menu bar.
11
4. Code Editor
Gambar 2.5 Code Editor Code editor adalah tempat menuliskan kode program yang dibuat. Secara otomatis Delphi akan membuat struktur dari program ini, seperti penulisan uses, unit, type dan lain lain. Untuk menampilkan window ini klok dua kali komponen yang ingin anda isikan kodenya, misalkan pada komponen button atau cara lain dengan menekan F12 pada keyboard. 5. Form designer
Gambar 2.6 Form Design Jika code editor digunakan untuk mendesain code yang diketikkan, maka berbeda dengan form designer digunakan untuk mendesain tampilan dari aplikasi yang akan di buat.ketika Delphi di load (dibuka) maka akan muncul sebuah form kosong seperti pada gambar di atas sebuah form dengan sebuah komponen label dan button.
12
2.4.1.3. Kelebihan Berikut ini adalah beberapa kelebihan Borland Delphi 7 diantaranya ;
Delphi bersifat multi-purpose, yaitu dapat digunakan untuk berbagi keputusan pengembangan aplikasi mulai perhitungan sederhana sampai aplikasi multimedia bahkan yang terkoneksi ke internet. Tetapi harus dapat dipahami bahwa kehebatan Delphi paling utama adalah cara termudah untuk mengakses database menggunakan komponen-komponen yang disediakan.
Mudah digunakan. Delphi menggunakan bahasa object pascal yang telah mendunia. Menggunakan Delphi, anda dapat membangun aplikasi apa saja , bahkan yang kompleks sekalipun, akses ke hardwere misalnya. Anda mungkin sedikit lebih lelah jika menggunakan Delphi untuk mengakses hardwere tetapi itu lebih mudah dibandingkan bahasa lain dan tidak ada artinya dibanding kompleksitas pemrograman hardwere.
Proses kompilasi yang cepat. Delphi memiliki kecepatan kompilasi yang tidak perlu diragukan. Saat aplikasi yang anda buat dijalankan dilingkungan Delphi, aplikasi tersebut otomatis di-compile secara terpisah. Kecepatan kompilasi Delphi lebih baik di banding dengan Visual Basic dan C++ Builder, namun C++ Builder memiliki ukuran file hasil kompilasi yang lebih kecil dibanding visual Basic dan Delphi.
Berbasis OOP ( Object Oriented Programming ). Setiap bagian yang ada pada program dipandang sebagai suatu object yang mempunyai sifat-sifat yang dapat diubah dan diatur.
IDE yang berkualitas. Delphi memiliki lingkungan pengembangan yang lengkap. Terdapat menu-menu yang memudahkan anda mengatur proyek pengembangan softwere.
Satu file Exe. Setelah anda merancang program dalam IDE Delphi, Delphi akan mengkompilasinya menjadi sebuah file executable tunggal. Program yang anda buat langsung didistribusikan dan dijalankan pada computer
13
lain tanpa perlu menyertakan file DLL dari luar. Ini merupakan sebuah kelebihan yang sangat berarti.
Borland Delphi 7.0 hadir bernama Boorland Kylix 3.0 yang berbasis linux, sehingga memungkinkan anda untuk aplikasi multi-platform. Delphi dapat digunakan untuk mengembangkan aplikasi apa saja tetapi kekuatan utama adalah untuk aplikasi basis data ( database).
2.4.2. MySQL MySQL adalah sebuah perangkat lunak sistem basis data SQL ( structured Query Language ) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL_, tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus diman penggunaannya tidak cocok dengan penggunaan GPL. Tidak seperti PHP atau Apache yang merupakan softwere yang dikembangkan oleh komuitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. 2.4.3
XAMPP XAMPP adalah sebuah software web server apache yang didalamnya
sudah tersedia database server mysql dan support php programming. XAMPP merupakan software yang mudah digunakan, gratis dan mendukung instalasi di Linux dan Windows. Keuntungan lainnya adalah cuma menginstal satu kali sudah tersedia Apache Web Server, MySQL Database Server, PHP Support (PHP 4 dan PHP 5) dan beberapa module lainnya. Hanya bedanya kalau yang versi untuk Windows sudah dalam bentuk instalasi grafis dan yang Linux dalam bentuk file terkompresi tar.gz. Kelebihan lain yang berbeda dari versi untuk Windows adalah memiliki fitur untuk mengaktifkan sebuah server secara grafis, sedangkan Linux masih berupa perintah-perintah di dalam console. Oleh karena itu yang versi untuk Linux sulit untuk dioperasikan. Dulu XAMPP untuk Linux dinamakan LAMPP, sekarang diganti namanya menjadi XAMPP FOR LINUX.
14
XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis untuk anda atau auto konfigurasi. Versi XAMPP yang ada saat ini adalah Versi 1.4.14
atau
yang
terbarunya
anda
bisa
download
pada http://www.apachefriends.org/en/xampp-window.html. (http://www.maniacms.web.id/2012/01/pengertian-xampp.html)
2.4.4. PHPMyAdmin
Gambar 2.7 PHPMyAdmin Pada dasarnya mengelola basis data dengan MySQL harus dilakukan dengan cara mengetikkan baris-baris perintah yang sesuai (command line) untuk setiap maksud tertentu. Jika ingin membuat basis data (database), ketikkan baris perintah yang sesuai untuk membuat basis data. Jika ingin menghapus table, maka harus mengetikkan baris perintah yang sesuai untuk menghapus table. Hal ini tentu saja sangat menyulitkan karena harus menghafal dan mengetikkan perintahnya satu per satu. Saat ini banyak sekali perangkat lunak yang dapat dimanfaatkan untuk mengelola basis data dalam MySQL, salah satunya phpMyAdmin. Dengan phpMyAdmin kita dapat membuat database, membuat table, menisci data,
15
menghapus data, mengedit data dan lain-lain dengan mudah tanpa harus menghafal baris perintahnya. PhpMyAdmin merupakan perangkat lunak bebas yang ditulis dalam bahasa pemrograman PHP yang digunakan untuk menangani administrasi MySQL, diantaranya mengelola basis data, table-tabel, bidang (field), relasi (relations), indeks, pengguna (users) dan lain-lain. Untuk membukanya, buka browser lalu ketikkan alamat http://localhost/phpmyadmin, maka akan muncul halaman phpMyAdmin. Disitu kita bisa membuat (create) basis data baru dan mengelolanya. 2.4.5. Zeos Zeos adalah salah satu solusi tepat unutk mengkoneksikan Delphi dengan Database MySQL Zeos pada umumya digunakan untuk membuat koneksi dengan database MySQL, tapi Zeos juga bisa digunakan untuk protocol lain seperti ADO, Firebird, Interbase, Oracle, Postgre, SQLite dan Sybase. 2.5 PEMODELAN DATA Pemodelan data adalah proses yang digunakan untuk mendefinisikan dan menganalisis kebutuhan data yang diperlukan untuk mendukung proses bisnis dalam lingkup sistem informasi yang sesuai dalam organisasi. Terdapat dua pemodelan data yang terdiri dari : 1. Kardinalitas Merupakan spesifikasi dari sejumlah entitas dari satu himpunan entitas yang dapat dihubungkan ke sejumlah entitas yang lain. a) Satu-ke-satu (1:1) b) Satu-ke-banyak (1:M) c) Banyak-ke-banyak (M:M) 2. Entity Relationship Diagram (ERD)
16
Entity Relationship Diagram (ERD) merupakan suatu model jaringan yang menggunakan susunan data yang dismpan pada sistem secara abstrak. ERD juaga menggambarkan hubungan antara satu himpunan entitas yang memiliki atribut dengan himpunan entitas yang lain dalam suatu sistem yang terintegrasi. Berikut adalah simbol Entity Relationship Diagram (ERD) ; Tabel 2.1 Simbol-simbol Entity Relationship Diagram (ERD) NOTASI
KETERANGAN Himpunan entitas adalah kumpulan dari objek
yang
dapat
diidentifikasikan
secara unik. Relasi adlah hubungan yang terjadi antara satu atau lebih entitas. Jenis hubungan antara lain; satu ke satu, satu ke banyak, banyak ke banyak. Atribut adalah karakteristik dari entity atau relasi yang merupakan penjelasan detail tentang entitas. Garis adalah hubungan antara entity dengan atribut dan himpunan entitas dengan himpunan relasinya. 2.6 UNIFIED MODELING LANGUAGE (UML) Unified modeling language adalah bahasa yang digunakan untuk pengembangan sebuah sistem serta menentukan, memvisualisasikan, membangun dan mendokumentasikan suatu sistem informasi. Adapun pemodelan UML yang sering digunakan untuk menggambarkan suatu sistem terdiri dari ; 2.6.1 Use Case Diagram Use case diagram adalah penggambaran dari interaksi antar sistem dan actor. Cara kerja use case dengan cara mendeskripsikan tipe interaktif antar pengunjung (user) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita
17
bagaiman sebuah sistem dipakai, serta memfasilitasi komunikasi diantara analis dan pengguna dan antara analis dan klien. Notasi yang digunakan use case adalah persegi panjang yang merupakan system boundary, oval yang merupakan suatu proses, dan gambar orang yang berinteraksi dalam proses tersebut. Elemen – elemen use case terdiri dari : Diagram use case, disertai dengan narasi dan scenario. Aktor, mendefinisikan entitas diluar sistem yang memakai sistem. Asosiasi, mengindikasikan actor mana yang berinteraksi dengan use case dalam suatu sistem. <
>
dan
<<extend>>,
merupakan
indikator
yang
menggambarkan jenis relasi dan interaksi antar use case. Generalisasi, menggambarkan hubungan turunan antar use case atau antar actor. Berikut adalah simbol – symbol Use Case ; Tabel 2.2 Simbol – symbol Use Case Menggambarkan aktor
dengan
interaksi softwere
antara aplikasi
tersebut. Sistem boundary menggambarkan batasan antara sistem dengan aktor. Menggambarkan
pengguna
dari
sistem, dapat berupa manusia atau sistem
terotomatisasi
lain
yang
beinteraksi dengan sistem lain untuk berbagi, mengirim, dan menerima informasi. Asosiasi: komunikasi antara aktor dan usecase yang berpartisipasi pada use case memiliki interaksi dengan
18
aktor.
Include: relasi use case dimana proses
bersangkutan
akan
dilanjutkan ke proses yang dituju. Ekstend: relasi use case tambahan ke sebuah use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu.
2.6.2 Activity Diagram Proses penggambaran suatu rangkaian dari aktifitas yang digunakan untuk mendskripsikan aktifitas yang di bentuk dalam operasi sehingga dapat di gunakan untuk aktifitas lainnya seperti interaksi. Tabel 2.3 Simbol-simbol Activity Diagram Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah ststus akhir. Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
19
Asosiasi
penggabungan
dimana
lebih dari satu aktivitas digabungkan menjadi satu. Swimlina memisahkan organisasi bisnis yang bertanggung ajawab terhadap aktivitas yang terjadi.
2.7 BlackBox Testing Metode ujicoba black box memfokuskan pada keperluan fungsional dari software. karena intu ujicoba balck box memungkinkan pengembang softwere untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari uji coba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : - Fungsi-fungsi yang salah atau hilang - Kesalahan interface - Kesalahan dalam struktur data atau akses database eksternal - Kesalahan performa - Kesalahan inisialisasi dan terminasi Tidak seperti metode whitebox yang dilaksanakan diawal proses, ujicoba balckbox diaplikasikan dibeberapa tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga perhatiannya difokuskan pada informasi domain.