BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak 2.1.1

advertisement
BAB II
LANDASAN TEORI
2.1 Rekayasa Perangkat Lunak
2.1.1
Definisi Rekayasa Perangkat Lunak
Rekayasa perangkat lunak (Software Engineering atau SE) adalah satu
bidang
profesi yang
termasuk
pembuatan,
mendalami cara-cara pengembangan perangkat lunak
pemeliharaan,
manajemen
organisasi
pengembangan
perangkat lunak dan manajemen kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai
penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas
pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan
ini,
yaitu
penerapan
pendekatan
engineering
atas
perangkat lunak.
Rekayasa perangkat lunak merupakan sebuah teknologi yang dibentangkan.
Banyak pendekatan keteknikan (termasuk software engineering) yang harus
berada pada sebuah komitmen dasar menuju kualitas. Manajemen kualitas total
serta filosofinya mengangkat budaya pengembangan proses terus – menerus, dan
budaya itu sendiri membawa kepada pengembangan pendekatan yang semakin
matang terhadap rekayasa perangkat lunak. Landasan yang menopang rekayasa
perangakat lunak merupakan fokus pada kualitas.
9
Fondasi untuk rekayasa perangkat lunak merupakan bentangan proses.
Proses -proses rekyasa perangkat lunak adalah perekat yang menjaga bentanganbentangan teknologi secara bersama-sama dan memungkinkan perkembangan
perangkat lunak komputer yang tepat waktu dan rasional. Proses-proses tersebut
membatasi kerangka kerja untuk serangkaian area proses kunci (key proses key)
yang harus dibangun demi keaktifan penyampaian teknologi pengembangan
perangkat lunak.
Area dasar proses kunci ini membentuk dasar bagi kontrol manajemen
perangkat lunak serta membangun konteks dimana metode teknis diaplikasikan,
prouduk usaha (model, dokumen, data, laporan, form dan lain-lain) dihasilkan,
fondasi dibangun, kualitas dijamin, dan perubahan diatur secara rapi. Metodemetode
rekayasa
perangkat
lunak
memberikan
teknik
untuk
membangun
perangkat lunak. Metode-metode ini menyangkut serangkaian tugas yang luas
yang menyangkut analisis kebutuhan, konstruksi program, desain, pengujian dan
pemeliharaan. Rekayasa perangkat lunak mengandalkan pada serangkaian prinsip
dasar yang mengatur setiap area teknologi dan menyangkut aktivitas pemodelan
serta teknik- teknik deskriptif yang lain.
Tool - tool rekayasa perangkat lunak memberikan topangan yang otomatis
ataupun semi - otomatis pada proses - proses dan metode - metode yang ada.
Ketika tool - tool yang ada diintegrasikan sehingga informasi yang diciptakan
oleh
satu tool bisa digunakan oleh yang lain,
perkembangan
engineering
perangkat
(CASE)
lunak
terbangun.
yang
CASE
disebut
sistem untuk
menopang
computer-aided
software
menggabungkan
perangkat
lunak,
10
perangkat keras, dan database rekayasa perangkat lunak (repositori yang berisi
informasi penting tentang analisis, desain, konstruksi program, serta pengujian)
untuk menciptakan lingkungan Rekayasa perangkat lunak yang analog dengan
CAD/CAE (computer-aided design/engineering) untuk perangkat keras.
2.1.2
Pandangan Umum tentang Rekayasa Perangkat Lunak
Rekayasa
merupakan
analisis,
desain,
konstruksi,
verifikasi,
dan
manajemen kesatuan teknik. Tanpa memperdulikan kesatuan yang dikembangkan,
pertanyaan – pertanyaan di bawah ini harus dimunculkan dan dijawab.
1. Masalah apakah yang akan dipecahkan ?
2. Karakteristik pakah yang dipakai untuk menyelesaikan masalah tersebut?
3. Bagaimanakah kesatuan dari pecahan tersebut diadakan?
4. Bagaimankah kesatuan tersebut dibangun?
5. Pendekatan apakah yang akan dipakai untuk menemukan kesalahan kesalahan yang dibuat di dalam desain dan konstruksi dari kesatuan
tersebut?
6. Bagaiman kesatuan tersebut ditopang selama proses adaptasi yang lama
pada saat koreksi, serta ketika perbaikan dibutuhkan oleh para pemakai
kesatuan tersebut ?
Usaha yang berhubungan dengan Rekayasa perangkat lunak dapat
dikategorikan ke dalam tiga fase umum tanpa memperdulikan area aplikasi,
ukuran proyek, atau kompleksitasnya. Masing - masing fase akan memberi
tekanan pada pertanyaan - pertanyaan yang sudah ditulis di atas.
11
Fase definisi (Definition phase) berfokus pada “apa” (what) dimana pada
definisi ini pengembang perangkat lunak harus mengidentifikasi informasi apa
yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku
sistem seperti apa yang diharapkan, interface apa yang akan dibangun, batasan
desain
yang
ada,
dan
kriteria
validasi
apa
yang
dibutuhkan
untuk
mengidentifikasikan sistem yang sukses. Ada tiga tugas utama yang berada dalam
bentuk yang sama; sistem atau rekayasa informasi, perencanaan proyek perangkat
lunak serta analisis kebutuhan.
Fase pengembangan (Development phase) berfokus pada bagaimana(how)
yaitu
dimana
mendefinisikan
selama masa pengembangan perangkat lunak,
bagaimana
data
dikonstruksikan,
bagaiman
teknisi harus
fungsi
-
fungsi
diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail
prosedur
akan
diimplementasikan,
bagaimana
interface
ditandai
(dikarakterisasikan), bagaimana rancangan akan diterjemahkan ke dalam bahasa
pemograman serta bagaimana pengujian akan dilakukan. Ada tiga tugas teknis
yang khusus yang harus selalu ada; rancangan pernagkat lunak, pemunculan kode
dan pengujian perangkat lunak.
Fase
(change),
dibutuhkan
pemeliharaan (Maintenance phase) berfokus pada perubahan
yang dihubungkan dengan koreksi kesalahan,
ketika
lingkungan
perangkat
lunak
penyesuaian yang
berkembang,serta perubahan
sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan
pelanggan, fase pemeliharaan mengaplikasikan lagi langkah-langkah pada fase
12
definisi daan fase pengembangan, tetapi semuanya tetap tergantung pada konteks
perangkat lunak yang ada.
Ada empat tipe perubahan yang terjadi selama masa fase pengembangan,
yaitu :
1. Koreksi meskipun dengan jaminan kualitas yang baik sepertinya
pelanggan akan tetap
menemukan cacat pada perangkat lunak.
Pemeliharaan korektif (Corrective maintenance) mengubah perangkat
lunak, membetulkan cacat atau kerusakan.
2. Adaptasi dari waktu ke waktu, lingkungan original (contohnya CPU,
sistem operasi, aturan-aturan bisnis, karakteristik produk eksternal)
dimana
perangkat
lunak
dikembangkan
akan
terus
berubah.
Pemeliharaan adaptif (Adaptif maintenance) menghasilkan modifikasi
kepada perangkat lunak
untuk
mengakomodasi perubahan pada
kebutuhan fungsional original.
3. Perkembangan
(Enhancement)
ketika
perangkat
lunak
dipakai,
pemakai / pelanggan akan mengenali fungsi - fungsi tambahan yang
memberi mereka keuntungan. Prefektive maintenance memperluas
perangkat lunak sehingga melampaui kebutuhan fungsi original.
4. Pencegahan keadaan perangkat lunak semakin memburuk sehubungan
dengan waktu, dan karena itu prefentive maintenance yang sering juga
disebut
Rekayasa
Perangkat
lunak,
harus
dilakukan
untuk
memungkinkan perangkat lunak melayani kebutuhan para pemakainya.
Pada dasarnya prefentive maintenance melakukan perubahan pada
13
program komputer sehingga bisa menjadi lebih mudah untuk dikoresi,
disesuaikan dan dikembangkan.
Perangkat lunak dapat menjadi elemen kunci bagi evolusi sistem dan
produk yang berbasis komputer. Selama empat dekade terakhir, perangkat lunak
telah berkembang dari sebuat alat analisis dan pemecahan masalah yang
terspesialisasi di dalam industri itu sendiri. Tetapi budaya dan sejarah “
pemograman” sebelumnya telah menciptakan serangkaian masalah yang sekarang
sering muncul. Perangkat lunak telah menjadi faktor pembatas dalam evolusi
sistem berbasis komputer. Perangkat lunak dirancang dari program-program, data
dan dokumen. Masing-masing dari item tersebut terdiri dari sebuah konfigurasi
yang diciptakan sebagai bagian dari proses pengembangan perangkat lunak.
Tujuan rekayasa perangkat lunak adalah menyediakan sebuah kerangka kerja guna
membangun perangkat lunak dengan kualitas yang lebih tinggi.
2.2 Model proses perangkat lunak
Untuk menyelesaikan masalah aktual di dalam seting industri, rekayasa
perangkat
lunak
atau
tim
perekayasa
pengembangan yang melingkupi lapisan
harus
menggabungkan
strategi
proses, metode, dan alat-alat bantu
lainnya.
Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat
aplikasi dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol
serta penyampaian yang dibutuhkan. metode yang digunakan dalam membangun
aplikasi pengelolaan data keanggotaan perpustakaan adalah model prototipe.
14
Seiring seorang pelanggan mendefinisikan serangkaian sasaran umum bagi
perangkat lunak, tetapi tidak melakukan mengidentifikasi kebutuhan output,
pemrosesan, ataupun input detail. Pada kasus yang lain, pengembang mungkin
memiliki kepastian terhadap efisiensi algoritme, kemampuan penyesuaian dari
sebuah sisten operasi, atau bentuk-bentuk yang harus dilakukan oleh interaksi
manusia dengan mesin. Dalam hal ini, serta pada banyak situasi yang lain,
prototyping paradigma mungkin menawarkan pendekatan yang terbaik.
Prototyping
paradigma
dimulai
dengan
pengumpulan
kebutuhan.
Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan
dari perangkat lunak, mendefinisikan segala kebutuhan yang diketahui, dan area
garis besar dimana definisi lebih jauh merupakan keharusan kemudian dilakukan
“perancangan kilat”. Perancangan kilat berfokus pada penyajian dari aspek-aspek
perangkat lunak tersebut yang akan nampak bagi pelanggan/pemakai (contohnya
pendekatan input dan format output). Perancangan kilat membawa kepada
konstruksi sebuah prototipe. Prototipe tersebut dievaluasi oleh pelanggan/pemakai
dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak. Iterasi
terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan
pada saat yang sama memungkinkan pengembang untuk secara lebih baik
memahami apa yang harus dilakukan
Membangun
Memperbaik
market
Mendengark
an
pelanggan
Uji pelanggan
Mengedalikan
market
Gambar 2.1 prototype paradigma
15
Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk
mengidentifikasi kebutuhan perangkat lunak. Bila prototipe yang sedang bekerja
dibangun, pengembang harus mempergunakan fragmen-fragmen program yang
ada atau mengaplikasikan alat-alat bantu (contohnya report generator, window
manager, dll) yang memungkinkan program yang bekerja untuk dimunculkan
secara cepat.
Meskipun berbagai masalah bisa terjadi, prototipe bisa menjadi paradigma
yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan
aturan – aturan main pada saat awal yaitu pelanggan dan pengembang keduanya
harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme
pendefinisian
kebutuhan.
Prototipe
kemudian
disingkirkan
(paling
tidak
sebagian), dan perangkat lunak aktual direkayasa dengan setuju kepada kualitas
dan kemampuan pemeliharaan.
2.3 Basis Data
Basis data dapat diartikan sebagai markas atau gudang, tempat bersarang
atau berkumpul. Sedangkan data merupakan representasi fakta dunia nyata yang
mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan),
barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam
bentuk angka, huruf, simbol,teks, gambar,bunyi, atau kombinasinya.
Basis data (database) merupakan kumpulan data yang saling berhubungan
(punya relasi). Relasi biasanya ditunjukan dengan kunci (key) dari tiap file yang
ada. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk
yang merupkan satu kumpulan entitas yang seragam. Satu record terdiri dari field16
field yang saling berhubungan dan menunjukan dalam satu pengertian yang
lengkap dalam satu record.
Berdasarkan pengertian di atas dapat disimpulkan bahwa basis data
mempunyai beberapa kriteria penting yaitu; bersifat data oriented, dapat
digunakan oleh beberpa program aplikasi tanpa perlu mengubah basis datanya.
Hal ini juga dapat dikembangkan dengan mudah baik volume maupun strukturnya
sehingga dapat memenuhi kebutuhan sistem-sistem baru secara mudah.
Prinsip utama basis data adalah pengaturan data dengan tujuan utama
fleksibilitas dan kecepatan dalam pengambilan data kembali. Adapun tujuan basis
data diantaranya sebagai efisiensi yang meliputi speed, space dan accuracy,
menangani data dalam jumlah besar, kebersamaan pemakaian (shareebility), dan
meniadakan duplikasi dan inkonsistensi data.
2.3.1
Manfaat Basis Data
1. Kecepatan
dan
kemudahan
memungkinkan untuk
(speed),
dapat menyimpan,
pemanfaatan
merubah,
basis
data
dan menampilkan
kembali data tersebut dengan lebih cepat dan mudah.
2. Efisisensi
ruang
efisensi/optimalisasi
penyimpanan
penggunaan
(space),
ruang
dengan
penyimpanan
basis
dapat
data
dilakukan,
karena penekanan jumlah redudansi data, baik dengan pengkodean atau
dengan membuat tabel-tabel yang saling berhubungan.
3. Keakuratan (accuracy), pembentukan relasi antar data bersama dengan
penerapan aturan/batasan (constraint) tipe, domain dan keunikan data
dapat diterapkan dalam sebuah basis data.
17
4. Ketersediaan (availability), dapat memilah data utama/master, transaksi,
data histori hingga data kadaluwarsa. Data yang jarang atau tidak
digunakan lagi dapat diatur dari sistem basis data yang aktif.
5. Kelengkapan (completeness), lengkap atau tidaknya data dalam sebuah
basis data bersifat relatif. Bila pemakai sudah menganggap sudah lengkap
yang lain belum tentu sama.
6. Keamanan
(security),
untuk
menentukan
siapa-siapa
yang
berhak
menggunakan basis data beserta objek-objek di dalamnya dan menentukan
jenis-jenis operasi apa saja yang boleh dilakukan.
7. Kebersamaan pemakai (sharebility), basis data dapat digunakan oleh
beberapa pemakai dan beberapa lokasi. Basis data yang dikelola oleh
sistem (aplikasi) yang mendukung multiuser dapat memenuhi kebutuhan,
akan tetapi harus menghindari inkonsistensi data.
2.3.2
Operasi Basis Data
Pada sebuah disk (hard disk), basis data dapat diciptakan dan dapat pula
ditiadakan. Pada sebuah disk juga dapat menempatkan beberapa basis data,
misalnya basis data kepegawaian, akademik, penjualan, perpustakaan dan lainlain. Sementara dalam sebuah basis data dapat ditempatkan pada satu file atau
lebih. Misalkan dalam basis data penjualan terdiri dari file atau tabel barang,
faktur, pelanggan dan transaksi barang.
Operasi-operasi dasar yang dapat dilakukan basis data adalah :
1.
Pembuatan basis data baru (CREATE DATABASE)
18
2.
Penghapusan basis data (DROP DATABASE)
3.
Pembuatan file / tabel baru ke suatu basis data (CREATE TABLE)
4. Penghapusan file / tabel dari suatu basis data (DROP TABLE)
5.
Penambahan file / pengisian data baru di sebuah basis data
(INSERT)
6.
Pengambilan data dari sebuah file / tabel (RETRIEVE/ SEARCH)
7.
Pengubahan data dala sebuah file / tabel (UPDATE)
8.
Penghapusan data dari sebuah file / tabel (DELETE)
Operasi pembuatan basis data dan tabel merupakan operasi awal yang
hanya dilakukan sekali dan berlaku seterusnya. Sedangkan untuk operasi
pengisian data merupakan operasi rutin yang dilakukan berulang-ulang.
Ketentuan yang harus diperhatikan pada pembuatan file basis data agar
dapat memenuhi kriteria sebagai basis data, yaitu redudansi data, inkonsistensi
data, pengaksesan data, data terisolasi untuk standarisasi, masalah keamanan,
masalah integritas data dan multiuser.
2.4 Pengertian Sistem Basis Data
Sistem basis data (database) merupakan sistem yang terdiri dari kumpulan
file atau tabel yang saling berhubungan dan memungkinkan beberapa pemakai
mengakses dan memanipulasinya. Sistem basis data juga merupakan suatu sistem
yang menyusun dan mengelola data organisasi perusahaan, sehingga mampu
menyediakan informasi yang diperlukan oleh pemakai. Istilah sistem basis data
19
tentu saja berbeda dengan istilah basis data, sistem basis data merupakan linngkup
yang lebih luas dari pada basis data.
2.5 Komponen Basis Data
Sistem basis data terdapat komponen-komponen utama yaitu; perangkat
keras (Hardware), Sistem Operasi (operating system), basis data (database),
program aplikasi (application program), Database Management System (DBMS),
dan pemakai (user).
2.5.1
Perangkat Keras
Perangkat keras (hardware) yang biasanya terdapat dalam sebuah sistem
basis data adalah komputer untuk sistem stand alone, sistem jaringan (network),
memori skunder yang online (harddisk), memori skunder offline (disk), dan
perangkat komunikasi untuk sistem jaringan.
2.5.2
Sistem Operasi
Sistem operasi merupakan program yang menjalankan / mengaktifkan
sistem komputer, mengendalikan seluruh sumber daya dalam komputer, dan
melakukan operasi-operasi dasar dalam komputer, pengelolaan file, dan lain-lain.
Program pengelola basis data akan aktif (running) jika sistem operasi yang
dikehendaki sesuai.
Sistem operasi yang biasa digunakan MS-DOS, MS-
Windows,UNIX, LINUX, Novel Netware, dan lain-lain.
20
2.5.3
Basis Data
Basis data merupakan koleksi dari data yang terorganisasi dengan cara
sedemikian rupa sehingga data tersebut mudah disimpan dan dimanipulasi.
Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data
dapat memiliki sejumlah objek basis data (seperti tabel, indeks dan lain-lain). Di
samping
berisi
atau
menyimpan
data,
setiap
basis
data
juga
mengandung/menyimpan definisi struktur.
2.5.4
Database Management System (DBMS)
Database Management System (DBMS) merupakan kumpulan program
aplikasi yang digunakan untuk membuat dan mengelola basis data. DBMS berisi
suatu koleksi data dan satu set program untuk mengakses data. DBMS merupakan
perangkat
lunak
(software)
yang
menentukan
bagaimana
data
tersebut
diorganisasi, disimpan, diubah dan diambil kembali. Perangkat lunak ini juga
menerapkan
mekanisme
pengamanan
data,
pemakaian
data
bersama
dan
konsistensi data. Perangkat lunak yang termasuk DBMS adalah sebagai berikut :
Tabel 2.1 Perangkat lunak DBMS
NO
1
2
3
4
5
6
7
Nama DBMS
Access
Informix
Ingres
MySQL
Oracle
PostgreSQL
Sybase
Nama Perusahaan
Microsoft Corporation
IBM
IBM
The MySQL AB Company
Oracle Corporation
www. Postgrsql.com
Sybse Inc
21
2.5.5
Pemakai (User)
User atau pemakai adalah beberapa jenis atau tipe pemakai pada sistem
basis data, berdasarkan cara mereka berinteraksi pada basis data, diantaranya
program aplikasi, pemakai mahir, pemakai umum dan pemakai khusus.
1. Progam Aplikasi
Programmer Aplikasi adalah pemakai yang berinteraksi dengan basis data
melalui DML (Data manipulation Language), yang disertakan dalam program
yang ditulis dalam bahasa pemograman induk (seperti pascal, cobol, clipper,
foxpro dan lain-lain).
2. User Mahir (Casual User)
Casual User adalah pemakai yang berinteraksi dengan sistem tanpa
menulis modul program. Pemakai menggunakan query (untuk akses data), dengan
bahasa query yang telah disediakan oleh suatu DBMS.
3. User Umum (Naive User)
Naive user adalah pemakai yang berinteraksi dengan basis data melalui
pemanggilan satu program aplikasi permanen, yang telah ditulis atau disediakan
sebelumnya.
4. User Khusus (Specialized User)
Specialized user adalah pemakai yang menulis aplikasi basis data non
konvensional untuk keperluan khusus, seperti untuk aplikasi sistem pakar,
pengolahan citra, dan lain-lain.
22
2.6 Bahasa Basis Data (Database Language)
Bahasa basis data (database language) adalah suatu cara untuk
berinteraksi atau berkomunikasi antara pemakai dengan basis data yang diatur
dalam bahasa khusus yang ditetapkan oleh perusahaan Database Language dipilih
menjadi 2 yaitu ; Data Definition language (DDL), dan Data Manipulation
Language (DML).
2.6.1
Data Definition Language (DDL)
Data Definition Language (DDL) merupakan suatu paket bahasa DBMS
yang berguna untuk melakukan spesifikasi terhadap skema basis data. DDL juga
merupakan struktur basis data yang menggambarkan desain basis data secara
keseluruhan. Dengan DDL dapat membuat tabel baru dan mengubah tabel, dan
hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam
file khusus yang disebut kamus data (data dictionary). Kamus data merupakan
suatu meta data (super data) yaitu data yang mendiskripsikan data sesungguhnya.
Kamus data akan selalu diakses dalam suatu operasi basis data sebelum suatu file
data yang sesungguhnya diakses. Sebagai contoh, jika akan mendefinisikan tabel
mahasiswa dengan cara sebagai berikut.
CREATE TABLE Tblmahasiswa (
Nim CHAR(9),
Nama CHAR(30),
IPK NUMERIC(4))
23
2.6.2
Data Manipulation Language (DML)
Data Manipulation Language (DML) merupakan satu paket DBMS yang
memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaiman
yang telah diorganisasikan sebelumnya dalam model data yang tepat. DML dapat
mengambil informasi yang tersimpan dalam basis data, menyisipkan informasi
baru dalam basis data dan menghapus informasi dari tabel. DML mempunyai 2
tipe yaitu ; procedural dan non procedural. Procedural digunakan oleh pemakai
pada saat membutuhkan spesifikasi data apa yang dibutuhkan dan bagaimana cara
mendapatkannya, sedangkan non procedural digunakan oleh pemakai pada saat
membutuhkan
spesifikasi
data
tanpa
harus
mengetahui
bagaimana
cara
mendapatkannya. Contoh paket bahasa procedural adalah dBase III, Foxbase
sedangkan non procedural adalah SQL (Structured Query language). Contoh
query untuk menampilkan data mahasiswa yang memiliki IPK lebih besar sama
dengan 3,00 adalah sebagai berikut:
SELECT*
FORM Tblmahasiswa
WHERE IPK >=3.00
2.7 Entity Relationship Diagram (ERD)
Entity Relationship Diagram (ERD) untuk mendokumentasikan data
perusahaan dengan mengidentifikasi jenis entitas (entity) dan hubungannya. ERD
24
merupakan suatu model jaringan yang menggunakan susunan data yang disimpan
pada sistem secara abstrak. ERD juga menggambarkan hubungan antara satu
entitas yang memiliki sejumlah atribut dengan entitas yang lain dalam suatu
sistem yang
memodelkan
terintegrasi.
ERD digunakan oleh perancang
sistem untuk
data yang nantinya akan dikembangkan menjadi basis data
(database). Model data ini juga akan membantu pada saat melakukan analisis dan
perancangan basis data, karena model data ini akan menunjukan bermacammacam data yang dibutuhkan dan hubungan antar data. ERD ini juga merupakan
model konseptual yang
dapat
mendiskripsikan
hubungan
antar
file
yang
digunakan untuk memodelkan struktur data serta hubungan antar data.
Tabel 2.2 Simbol dan Keterangan Entity Relationship Diagram
(Sistem Basis Data,Yakub 2008)
Simbol
Keterangan
Entitas, yaitu kumpulan dari objek yang dapat
diidentifikasi secara unik
Relasi yaitu hubungan yang terjadi antara satu
atau lebih entitas. Jenis hubungan antara lain
satu ke satu, satu ke banyak, dan banyak ke
banyak
Atribut yaitu karakteristik dari entity atau relasi
yang merupakan penjelasan detail tentang
entitas
Hubungan antara entity dengan atributnya dan
himpunan entitas dengan himpunan relasinya
ERD terbagi atas tiga komponen yaitu entitas (entity), atribut (attribut),
dan relasi atau hubungan (relation). Secar garis besar entitas merupakan dasar
yang terlibat dalam sistem. Atribut atau field berperan sebagai penjelas dari
25
entitas, dan relasi atau hubungan menunjukan hubungan yang terjadi antara 2
entitas.
2.8 Data Flow Diagram
Data Flow Diagram (DFD) atau diagram alir data adalah sebuah teknik grafis
yang menggambarkan aliran informasi dan tranformasi yang diaplikasikan pada
saat data bergerak dari input menjadi output, [ Pressman, 2002]. Notasi yang
digunakan untuk membuat suatu DFD diilustrasikan pada tabel 2.3 berikut :
Table 2.3 Simbol dan Keterangan Data Flow Diagram
(Sistem Basis Data,Yakub 2008)
Simbol
Keterangan
Entity, menunjukan entitas yang terlibat dalam
sistem, misalnya pengguna, administrator
Proses, menunjukan proses utama dalam
sebuah sistem.
Data Stored, merupakan tempat penyimpanan
data (biasanya berupa tabel dalam database).
Menunjukan arah dari aliran data.
DFD dapat diturunkan ke dalam tingkat–tingkat yang merepresentasikan
aliran informasi yang lebih kompleks dan ideal. Tingkatan–tingkatan yang ada
pada DFD, yaitu :
1. DFD Level 0 (zero)
26
DFD Level 0 merupakan tahap awal, menggambarkan proses–proses
utama dari sistem namun dapat ditambahkan data storage, berbeda dengan
diagram konteks yang tidak memiliki data storage.
2. DFD Level n
DFD level n adalah hasil dekomposisi dari DFD Level 0. Dalam DFD
Level n, proses dijelaskan lebih terperinci. Diagram level 1 merupakan turunan
langsung dari diagram zero, artinya diagram level 1 berada satu tingkat lebih
rendah dari diagram zero. Apabila diagram level 1 ini diuraikan lagi, maka akan
terbentuk diagram level 2, dan seterusnya.
Dalam penggunaannya ada aturan yang harus dipenuhi suatu DFD, yaitu:
1. Boleh memiliki lebih dari 1 proses.
2. Setiap data yang masuk (input) harus memiliki keluaran (output) dan
sebalikanya.
3. Entity tidak boleh berhubungan langsung dengan entity yang lain.
4. Proses tidak boleh berhubungan langsung dengan proses yang lain.
5. Data storage tidak boleh berhubungan langsung dengan data storage
yang lain.
6. Entity dan data storage tidak boleh berhubungan secara langsung
(harus melewati proses).
27
Data 1
Entity 1
Proses 1
Data 2
Proses 2
Data 3
Data
Storage 1
Data 4
Gambar 2.2 contoh Data Flow Diagram
2.9 Bahasa Pemrograman dan Coding
2.9.1 Visual Basic 6.0
Visual Basic 6.0 pada dasarnya adalah sebuah bahasa pemograman
komputer.
Bahasa pemograman adalah perintah-perintah atau intruksi yang
dimengerti oleh komputer unuk melakukan tugas-tugas tertentu. Visual Basic
(yang sering juga disebut dengan vb) selain disebut sebagai sebuah bahasa
pemograman, juga sering disebut sebagai sarana (tool) untuk menghasilkan
program-program aplikasi berbasis windows. Beberapa kemampuan atau manfaat
dari visual basic,
diantaranya seperti :
 Untuk membuat program aplikasi berbasis windows.
 untuk membuat objek-objek pembantu program seperti control ActiveX,
file Help, aplikasi internet, dan sebagainya.
 Menguji program (debugging) dan dapat menghasilkan program akhir
berakhiran EXE yang bersifat executable atau dapat langsung dijalankan
28
Basic (Beginer’s All-purpose Symbolic Intruction code) adalah sebuah bahasa
pemograman ”kuno” yang merupaakan awal dari bahasa-bahasa pemograman
tingkat tinggi lainnya. BASIC dirancang tahun 1950-an dan ditunjukan untuk
dapat digunakan oleh para programmer pemula. biasanya BASIC diajarkan pada
pelajar sekolah program-program “cepat saji” yang ringan dan menyenangkan.
Walaupun begitu, peran BASIC lebih dari sekedar itu saja. Banyak para
programmer handal saat ini memulai karirnya dengan mempelajari
BASIC.
Visual Basic tetap mempertahankan beberapa sintaks atau format penulisan
program yang pernah dipakai oleh BASIC karena di dalamnya juga sudah
mengandung kaidah-kaidah pemograman yang cukup handal.
Sejak dikembangkan pata tahun 80-an, Visual Basic kini telah mencapai
versinya yang ke-6. Beberapa keistimewaan utama dari Visual Basic diantaranya
seperti :
1. Menggunakan
platform
pembuatan
program
yang
diberi
nama
Developer Studio, yang memiliki tampilan dan sarana yang sama
dengan Visual C++ dan Visual J++. Dengan begitu anda dapat
bermigrasi atau belajar bahasa pemograman lainnya dengan mudah dan
cepat tanpa harus belajar dari nol lagi.
2.
Memiliki compiler andal yang dappat menghasilkan file executable
yang lebih cepat dan lebih efisien dari sebelumnya.
3. Memiliki beberapa tambahan sarana wizard yang baru. Wizard adalah
sarana yang mempermudah di dalam pembuatan aplikasi dengan
mengotomatisasi tugas-tugas tertentu.
29
4. Tambahan kontrol-kontrol baru yang lebih canggih serta peningkatan
kaidah struktur bahasa Visual Basic.
5. Kemampuan membuat ActiveX dan fasilitas internet yang lebih banyak.
6. Sarana akses data yang lebih cepat dan andal untuk membuat aplikasi
database yang berkemampuan tinggi.
7. Visual Basic 6.0 memiliki beberapa versi edisi yang disesuaikan dengan
kebutuhan pemakainya.
Seperti
aplikasi-aplikasi
komersil
lainnya,
Visual
Basic
6.0
juga
dipasarkan dalam berbagai jenis atau versi. Beberapa versi dari Visual Basic 6.0
yang ada di pasaran di antaranya
adalah :
a. Standar Edition/Learning Edition : ini adalah versi standar yang sudah
mencakup
berbagai
sarana
dasar
dari
Visual
Basic
6.0
untuk
mengembangkan aplikasi.
b. Profesional Edition : versi ini memberikan berbagai sarana ekstra yang
dibutuhkan oleh para programmer professional. Misalnya kontrol-kontrol
tambahan,
dukungan
untuk
pemograman
internet,
compiler
untuk
membuat file Help, serta sarana pengembangan database yang lebih baik.
c. Enterprise Edition : versi ini dikhususkan untuk para programmer yang
ingin
mengembangkan aplikasi remot
computing
atau client/server.
Biasanya versi ini digunakan untuk membuat aplikasi pada jaringan.
2.9.2
MySQL
MySQL adalah Relational Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License).
30
Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh
dijadikan produk turunan yang bersifat closed source atau komersial. MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam database sejak
lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep
pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan
data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara
otomatis. Keunggulan suatu sistem database (DBMS) dapat diketahui dari cara
kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat
oleh user maupun program-program aplikasinya. Sebagai database server,
MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya
dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user,
kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima
kali lebih cepat dibandingkan Interbase. Selain itu MySQL juga memiliki
beberapa keistimewaan, antara lain :

Portability MySQL dapat berjalan stabil pada berbagai sistem operasi
seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan
masih banyak lagi.

Open Source MySQL didistribusikan secara open source (gratis), dibawah
lisensi GPL sehingga dapat digunakan secara cuma-cuma

Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah.
31

Performance Tuning MySQL memiliki kecepatan yang menakjubkan
dalam menangani query sederhana, dengan kata lain dapat memproses
lebih banyak SQL per satuan waktu.

Colomn Types MySQL memiliki tipe kolom yang sangat kompleks, seperti
signed / unsigned integer, float, double, char, text, date, timestamp, dan
lain-lain.

Command Functions MySQL memiliki operator dan fungsi secara penuh
yang mendukung perintah Select dan Where dalam query.

Security MySQL memiliki beberapa lapisan sekuritas seperti level
subnetmask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta password terenkripsi

Scalability and limits MySQL mampu menangani database dalam skala
besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5
milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32
indeks pada tiap tabelnya.

Connectivity
MySQL
dapat
melakukan
koneksi
dengan
client
menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes
(NT).

Localisation MySQL dapat mendeteksi pesan kesalahan pada client
dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian,
bahasa Indonesia belum termasuk didalamnya.
32

Interface MySQL memiliki interface (antar muka) terhadap berbagai
aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
(Application Programming Interface).

Client and Tools MySQL dilengkapi dengan berbagai tool yang dapat
digunakan untuk administrasi database, dan pada setiap tool yang ada
disertakan petunjuk online.

Struktur Tabel MySQL memiliki struktur tabel yang lebih fleksibel dalam
menangani ALTER TABLE, dibandingkan database lainnya semacam
PostgreSQL ataupun Oracle.
2.10 Aplikasi Pendukung Lainnya
2.10.1 Installshield
Installshield merupakan media yang dapat membantu proses ¬packaging
perangkat lunak. Installshield dapat membantu proses installasi perangkat lunak
sehingga user tidak perlu me-setting perangkat lunak yang akan digunakannya
secara manual.
3. Aplikasi ini mampu mengirim/memindahkan source file dan application
dari suatu program dan database-nya ke suatu direktory yang dituju tanpa
memutus settingan database sebelumnya.
4. Sebelum proses installasi, Installshield dapat membuatkan shortcut di
desktop, starmenu, atau trayicon. Installshield mendaftarkan perangakat
lunak pada system operasi sehingga memudahkan proses maintenance
perangkat lunak seperti change (update) dan remove (uninstall).
33
34
Download