BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak 2.1.1
Short Description
Download BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak 2.1.1...
Description
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
View more...
Comments