BAB II LANDASAN TEORI

advertisement
BAB II
LANDASAN TEORI
2.1
Definisi Sistem
Definisi Sistem menurut Dr. Ir. Harijono Djojodihardjo (1984:78) “Suatu
sistem adalah sekumpulan objek yang mencakup hubunga fungsional antara tiap-tiap
objek dan hubungan antara ciri tiap objek, dan yang secara keseluruhan merupakan
suatu kesatuan secara fungsional.”
2.2
Definis Pendaftaran
Pengertian pendaftaran disini pada dasarnya hanya untuk memperlancar dan
mempermudah dalam proses pendaftaran siswa siswi baru, pendataan dan pembagian
kelas selas seorang siswa siswi. Sehungga dapat terorganisir, teratur dengan cepat dan
tepat dengan beberapa persyaratan yang telah ditentukan oleh sekolah.
Proses pendaftaran siswa baru merupakan salah satu kewajiban pihak sekolah
dan Dinas Pendidikan setiap tahun ajaran baru.
2.3
Definisi Rekayasa Perangkat Lunak
Saat ini, perangkat lunak memiliki dua peran. Di satu sisi berfungsi sebagai
sebuah produk, dan di sisi lain sebagai kendaraan yang mengantarkan sebuah produk.
Sebagai produk, perangkat lunak mengantarkan potensi perhitungan yang dibangun
oleh perangkat lunak komputer. Tidak peduli apakah perangkat lunak ada di dalam
sebuah telepon seluler, atau beroperasi di sebuah mainframe komputer, perangkat
lunak merupakan transformer informasi yang memproduksi, mengatur, memeperoleh,
memodifikasi, menampilkan, atau memancarkan informasi, dimana pekerjaan ini
dapat menjadi sesederhana suatu bit tunggal atau sekompleks sebuah simulasi
multimedia. Sebagai kendaraan yang dipakai untuk mengantarkan produk, perangkat
lunak berlaku sebagai dasar untuk kontrol komputer (sistem operasi), komunikasi
informasi (jaringan), dan penciptaan serta kontrol dari program-program lain (peranti
dan lingkungan perangkat lunak).
Definisi dari “rekayasa” menurut arti kata adalah pemakaian “science” untuk
menyelesaikan “masalah praktis” atau dari tidak ada menjadi ada. Sedangkan definisi
8
http://digilib.mercubuana.ac.id/
9
dari “perangkat lunak” menurut arti kata adalah kumpulan program komputer dengan
fungsi tertentu. Menurut Pressman (1977), definisi dari perangkat lunak adalah:
1. Instruksi (program komputer) yang bila dieksekusi dapat menjalankan
fungsi tertentu
2. Struktur data yang dapat membuat program memanipulasi informasi.
3. Dokumen yang menjelaskan operasi dan penggunaan program.
Perangkat lunak lebih dikenal sebagai elemen logic daripada fisik, oleh karena
itu perangkat lunak memiliki karakteristik yang sedikit berbeda dari perangkat keras,
diantaranya :
1. Perangkat lunak dikembangkan atau direkayasa, jadi tidak diproduksi
dalam pengertian klasik.
2. Merupakan produk yang unik (tidak ada seri produksi).
3. Perangkat lunak tidak pernah akan rusak/aus karena selalu diperbaharui.
4. Tidak terlihat (invisible).
5. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak
dibentuk dari komponen yang sudah ada.
6. Fleksibel, sehingga mudah dimodifikasi.
7. Dihubungkan (linked) dengan system computer.
Sehingga rekayasa perangkat lunak (Software Engineering) adalah suatu
proses rancang bangun. Menurut Pressman (1997), rekayasa perangkat lunak adalah
suatu disiplin ilmu yang mengintegrasikan proses/prosedur, metode, dan perangkat
(tools) untuk pembangunan perangkat lunak komputer.
Model proses pengembangan perangkat lunak yang akan digunakan pada
tugas akhir ini berlandaskan pada Waterfall Model dimana metode ini adalah metode
pengembangan perangkat lunak dengan pendekatan sekuensial dengan cakupan
aktifitas sebagai berikut :
1. Analisis kebutuhan perangkat lunak (Software Requirement Analysis).
2. Perancangan desain system (Design).
3. Pembuatan kode program (Coding).
4. Pengujian Program (Testing).
5. Pemeliharaan program (Maintenance).
http://digilib.mercubuana.ac.id/
10
Berikut adalah skema Model Waterfall :
Gambar 2. 1 Skema Waterfall Model
2.4
UML (Unified Modeling Languange)
UML (Pender, 2002) adalah standar untuk menciptakan model yang mewakili
perangkat lunak berorientasi objek dan sistem bisnis. UML mencakup spesifikasi
untuk sembilan diagram berbeda yang digunakan untuk berbagai dokumen perspektif
dari solusi perangkat lunak dari awal proyek sampai instalasi dan pemeliharaan
mikrofinansial.
Tujuan permodelan (modeling) sendiri adalah
sebagai sarana analisis,
pemahaman, visualisasi, komunikasi, serta dokumentasi yang sangat bermanfaat
untuk menelaah perilaku perangkat lunak yang akan dikembangkan.
2.4.1
Use Case Diagram
Use case merupakan pemodelan untuk menggambarkan kelakuan (behavior)
aplikasi perangkat lunak yang akan dibuat. Use case mendeskripsikan sebuah inteaksi
antara satu atau lebih aktor dengan aplikasi yang akan dibuat. Secara umum, use case
digunakan untuk mengetahui fungsi/proses apa saja yang ada di dalam sebuah aplikasi
dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut (Rosa and
Shalahuddin, 2010). Ada dua hal utama pada use case yaitu pendefinisian aktor dan
use case/proses. Berikut adalah simbolsimbol yang ada pada diagram Use case.
http://digilib.mercubuana.ac.id/
11
Tabel 1. Simbol-simbol Use Case
Berdasarkan Tabel 1, berikut contoh usecase diagram :
Gambar 2. 2 Use Case Diagram
http://digilib.mercubuana.ac.id/
12
2.4.2
Class Diagram
Class Diagram merupakan pemodelan untuk menggambarkan struktur aplikasi
berorientasi objek dari segi pendefinisian kelas-kelas yang akan dibuat untuk
membangun aplikasi. Kelas memiliki attribut, metode atau operasi serta parameter.
1. Attribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
2. Metode atau operasi adalah fungsi-fungsi yang dimiliki oleh suatu kelas
3. Parameter adalah variabel yang memiliki nilai yang digunakan sebagai inputan
sebuah metode.
Berikut adalah simbol-simbol yang ada pada Class Diagram.
Tabel 3 Simbol Class Diagram
http://digilib.mercubuana.ac.id/
13
Berdasarkan Tabel 4, berikut contoh sequence diagram :
Gambar 2. 3 Contoh Class Diagram
2.4.3
Activity Diagram
Diagram ini menggambarkan proses yang termasuk tugas berurutan, logika
kondisional, dan konkurensi. Diagram ini adalah seperti flowchart, tetapi telah
ditingkatkan untuk digunakan dengan pemodelan objek.
Tabel 2. Simbol Activity Diagram
http://digilib.mercubuana.ac.id/
14
2.4.4
Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu)
dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan
untuk menggambarkan skenario atau rangkaian langkahlangkah yang dilakukan
sebagai respons dari sebuah event untuk menghasilkan output tertentu. Berikut
adalah simbol-simbol yang terdapat pada sequence diagram (Wahono, 2003).
Tabel 4. Simbol Sequence Diagram
Berdasarkan Tabel 4, berikut contoh sequence diagram :
Gambar 5. Contoh sequence diagram
http://digilib.mercubuana.ac.id/
15
2.5
PHP
PHP adalah bahasa pemrograman untuk dijalankan melalui halaman web,
umumnya digunakan untuk mengolah informasi internet, tapi dalam pengertian lain
PHP adalah singkatan dari Hypertext Preprocessor bahasa pemrograman web serverside yang bersifat gratis. PHP merupakan script yang menyatu dengan HTML.
PHP juga merupakan script untuk membaut halaman web menjadi dinamis,
dan paling banyak digunakan pada saat ini. PHP pertama kali dibuat oleh RASMUS
LERDORF pada tahun 1995, pada saat itu PHP masih bernama FI (form interpreted)
sekumpulan script yang digunakan untuk mengolah data form web, perkembangan
selanjutnya RASMUS melepas kode-kdoe sumber tersebut menjadi PHP atau FI yang
berganti kepanjangan menjadi Personal Home Page atau Form Interpreter.
Ada pun kelebihan dan kekurangan dari PHP dijelaskan sebagai berikut :
Kelebihan :
1. Membuat halaman web bisa menjadi lebih dinamis.
2. PHP bersifat free atau gratis.
3. Beberapa server seperti Apache, Microsoft IIS, PWS, AOLserver, phttpd,
fhttpd, dan Xitami mampu menjalankan PHP.
4. PHP mampu berjalan di Linux sebagai platform sistem operasi utama bagi
PHP, tetapi dapat juga berjalan di FreeBSD, Unix, Solaris, Windows, dan
yang lainnya.
5. Tingkat akses PHP lebih cepat serta memiliki tingkat keamanan yang
tinggi.
6. Beberapa database yang sudah ada, baik yang bersifat free/gratis ataupun
komersial sangat mendukung akses PHP, diantaranya MySQL,
PosgreSQL, Msql, Informix, dan MicrosoftSQL server.
PHP adalah sebuah bahasa script yang tidak melakukan kompilasi dalam
penggunaannya karena berbagai script sudah tersedia dengna gratis. Dalam sisi
pengembangan lebih mudah, dan segi pemahaman pun lebih mudah. Web Server yang
mendukung PHP dapat ditemukan dimana-mana dan bisa di download secara gratis.
Kekurangan :
1. Permasalahan yang sering terjadi pada Register Global
http://digilib.mercubuana.ac.id/
16
2. Kode PHP dapat dibaca semua orang jika tidak di encoding, dan biaya
encoding cukup mahal.
3. Tidak mengenal package.
4. Tidak memiliki sistem pemrograman berorientasi objek yang
sesungguhnya.
5. PHP memiliki kelemahan pada keamanan.
2.6
MySQL
MySQL adalah sebuah perangkat lunak system menajemen basis data SQL
(DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari sistem
manajemen
basis
data
relasional
(RDBMS).
MySQL
memiliki
beberapa
keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.
2. Perangkat
lunak
sumber
terbuka.
MySQL
didistribusikan
sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga
dapat digunakan secara gratis.
3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik.
4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.
5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya,
seperti signed / unsigned integer, float, double, char, text, date, timestamp,
dan lain-lain.
6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah Select dan Where dalam perintah (query).
7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti
level subnetmask, nama host, dan izin akses user dengan sistem perizinan
yang mendetail serta sandi terenkripsi.
http://digilib.mercubuana.ac.id/
17
8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data
dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan
60 ribu tabel serta 5 miliar baris. Selain itu batas indeks yang dapat
ditampung mencapai 32 indeks pada tiap tabelnya.
9. Konektivitas.
menggunakan
MySQL
dapat
melakukan
protokol TCP/IP, Unix
koneksi
soket (UNIX),
dengan
klien
atau Named
Pipes (NT).
10. semacam PostgreSQL ataupun Oracle.
2.7
Pengujian Black Box
1. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan
menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa
Indonesia belum termasuk di dalamnya.
2. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai
aplikasi
dan
bahasa
pemrograman
dengan
menggunakan
fungsi API (Application Programming Interface).
3. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)
yang dapat digunakan untuk administrasi basis data, dan pada setiap
peralatan yang ada disertakan petunjuk online.
4. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel
dalam menangani ALTER TABLE, dibandingkan basis data lainnya
Menurut Agustiar Budiman (2012), berpendapat bahwa “Pengujian black
box merupakan metode perancangan data uji yang didasarkan pada
spesifikasi perangkat lunak. Data uji dibangkitkan, dieksekusi pada
perangkat lunak dan kemudian keluaran dari perangkat lunak diuji apakah
telah sesuai dengan yang diharapkan”.
Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari
software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk
membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional
suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox,
tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya,
http://digilib.mercubuana.ac.id/
18
selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan
kesalahan dalam beberapa kategori, diantaranya:
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. Kesalahan inisialisasi dan terminasi.
Menurut Pressman (2010), Black Box Testing juga disebut pengujian tingkah
laku, memusat pada kebutuhan fungsional perangkat lunak. Teknik pengujian Black
Box memungkinkan memperoleh serangkaian kondisi masukan yang sepenuhnya
menggunakan semua persyaratan fungsional untuk suatu program. beberapa jenis
kesalahan yang dapat diidentifikasi adalah fungsi tidak benar atau hilang, kesalahan
antar muka, kesalahan pada struktur data (pengaksesan basis data), kesalahan
performasi, kesalahan inisialisasi dan akhir program.
http://digilib.mercubuana.ac.id/
Download