7 BAB 2 LANDASAN TEORI 2.1 Database 2.1.1 Pengertian

advertisement
BAB 2
LANDASAN TEORI
2.1 Database
2.1.1 Pengertian Database
Menurut Connolly dan Begg (2004, p14), database adalah suatu kumpulan data
yang saling berhubungan secara logis dan penjelasan tentang data yang terhubung
tersebut dirancang sedemikian rupa sehingga dapat memberikan informasi yang
diperlukan oleh organisasi. Artinya, database adalah tempat penyimpanan data yang
terbesar dimana bisa digunakan secara simultan atau secara bersamaan oleh banyak
departemen dan pengguna lainnya. Di dalam database, semua data item diintegrasikan
dengan menghindarkan duplikasi data. Database tidak hanya mengandung data
operasional organisasi, tetapi juga deskripsi dari data tersebut. Untuk alasan ini sebuah
database juga mendefinisikan integrasi record dari database itu sendiri (self describing
of integrated record). Deskripsi atau data dari data ini dikenal sebagai system catalog
(atau data dictionary atau meta-data). Deskripsi ini menetapkan
kebebasan dari
program aplikasi (program data independence). Pendekatan dengan sistem database
dimana definisi dari data adalah dipisahkan dari program aplikasi.
Menurut Atre (1980, p12), data base adalah sebuah objek untuk menyimpan
informasi terstruktur yang kompleks, yang diorganisir dan disimpan dalam suatu cara
yang diizinkan penggunanya sehingga dapat mengambil informasi dengan cepat dan
efisien. Informasi dipecah ke dalam bagian-bagian kecil, agar bisa dikelola dengan
mudah. Data base juga merupakan data yang digunakan pada suatu perusahaan.
7
8
Menurut Ramakrishnan dan Gehrke (2003, p4), database adalah suatu koleksi
data yang secara khas menggambarkan aktivitas organisasi yang satu dengan organisasi
yang terkait.
Menurut Post (2005, p2), database merupakan kumpulan data yang disimpan
dalam format yang standar dan dirancang untuk dibagikan oleh berbagai pengguna.
2.1.2 Structured Query Language (SQL)
Menurut Groff dan Weinberg (1999, p4), Structured Query Language (SQL)
adalah alat yang digunakan untuk mengorganisir, mengatur dan mendapatkan data yang
disimpan dalam database komputer. SQL merupakan bahasa komputer yang
dipergunakan untuk berinteraksi dengan database terutama database relasional.
Menurut Coffman (1999, p4), SQL diterima secara luas oleh dunia industri
sebagai standar untuk mendefinisikan, mengubah dan mengatur data serta mengontrol
bagaimana perubahan yang dilakukan pada database dengan menggunakan tabel, index,
key, baris dan kolom untuk menyimpan data. SQL dibangun dari ide Dr. Edgar(Ted) F.
Codd dari IBM yang juga membantu pengembangan model relasional ketika bekerja di
laboratorium penelitian IBM tahun 1970-an dan mulai beredar di pasaran pada awal
tahun 1990-an.
SQL, menurut Groff dan Weinberg (1999, p4), menyediakan perintah yang
bervariasi untuk berbagai macam tugas yang disediakan DBMS bagi penggunanya,
seperti:
•
Data defiition
SQL
memungkinkan
pengguna
mendefinisikan
struktur
dan
pengorganisasian data yang tersimpan serta relationship antar data yang tersimpan.
9
•
Data retrieval
SQL memungkinkan pengguna atau program aplikasi untuk mengambil
data yang tersimpan di database dan menggunakannya.
•
Data manipulation
SQL memungkinkan pengguna atau program aplikasi untuk mengubah
database dengan menambahkan data baru, menghapus data lama dan mengubah data
yang telah disimpan sebelumnya.
•
Access control
SQL dapat digunakan untuk membatasi kemampuan pengguna untuk
mengambil, menambah dan mengubah data, melindungi data yang tersimpan dari
pihak yang tidak berwenang.
•
Data sharing
SQL digunakan untuk mengelola pemakaian data bersama oleh beberapa
pengguna secara bersamaan untuk memastikan tidak adanya saling mengganggu satu
sama lain.
•
Data integrity
SQL mendefinisikan integrity constraint pada database, menjaganya dari
kerusakan karena adanya perubahan data yang tidak konsisten atau kegagalan
sistem.
10
Menurut Connolly dan Begg (2004, p40), SQL dibagi ke dalam dua bagian ,
yaitu:
1. Data Definition Language (DDL)
DDL adalah sebuah bahasa yang memungkinkan Database Administrator
(DBA) atau pengguna untuk mendeskripsikan dan memberi nama entity, atribut dan
relationship yang diperlukan dalam aplikasi, beserta integrity dan security constraint.
Perintah DDL yang utama, yaitu:
1. Create
2. Alter
3. Drop
2. Data Manipulation Language (DML)
DML adalah bahasa yang menyediakan seperangkat operasi yang mendukung
operasi dasar manipulasi data pada data yang tersimpan di dalam database. Perintah
DML meliputi:
1. Select
2. Insert
3. Update
4. Delete
2.1.3 Integrity Constraint
Menurut Connolly dan Begg (2004, pp163-167), integrity constraint terdiri dari
lima jenis, yaitu:
11
•
Required Data
Beberapa kolom harus berisi nilai yang valid, tidak boleh berisi NULL.
NULL berbeda dari nilai kosong atau nol, dan digunakan untuk merepresentasikan
data yang tidak tersedia atau hilang
•
Domain Constraints
Setiap kolom harus memiliki suatu domain, yaitu suatu himpunan atau set
dari nilai-nilai yang valid.
•
Entity Integrity
Primary key dari suatu tabel harus berisi suatu nilai yang unik dan tidak
NULL untuk setiap row.
•
Referensial Integrity
Jika suatu foreign key berisi nilai, maka nilai tersebut harus merujuk pada
satu row yang valid di parent table.
•
Enterprise Constraints
Update pada suatu tabel dapat diatur berdasarkan enterprise rule yang sesuai
dengan transaksi di dunia nyata.
2.2 Teori Database Management System (DBMS)
2.2.1 Pengertian DBMS
Menurut Connolly dan Begg (2002, p16),
Database Management System
(DBMS) merupakan suatu sistem piranti lunak yang memungkinkan pengguna untuk
mendefinisikan, membuat, mengatur dan mengontrol akses ke suatu database. Fasilitas
yang umumnya disediakan oleh DBMS adalah:
12
1. Pendefinisian database, biasanya dengan DDL, yang memungkinkan pengguna
menentukan tipe dan struktur data serta persyaratan data tersebut ke dalam database.
2. Penambahan, pengubahan, penghapusan dan pengambilan data dari database,
biasanya dengan DML. Pemanipulasian data ini dilakukan dengan menggunakan
query language.
3. Akses terkontrol pada database
Menurut Ramakrishnan dan Gehrke (2003, p4), DBMS adalah piranti lunak yang
dirancang untuk membantu memelihara dan memanfaatkan kumpulan data dalam jumlah
besar, dan kebutuhan untuk sistem maupun penggunanya yang berkembang dengan
cepat.
Menurut Post (2005, p2), DBMS adalah piranti lunak yang mendefinisikan
sebuah basis data, menyimpan data, mendukung bahasa query, membuat laporan dan
menciptakan layar masukan data.
2.2.2 Fungsi DBMS
Menurut Connolly dan Begg (2004, pp48-52), fungsi dari DBMS antara lain:
•
Data storage, retrieval and update
DBMS harus melengkapi pengguna dengan penyimpanan, pengambilan dan
perubahan data
•
A user-accessible catalog
DBMS harus dilengkapi dengan sebuah katalog yang berisi deskripsi data
yang tersimpan pada databse dan dan dapat diakses oleh pengguna.
13
•
Transaction support
DBMS harus dilengkapi dengan sebuah mekanisme yang akan memastikan
semua operasi perubahan data pada sebuah transaksi akan dikerjakan semua atau
tidak sama sekali.
•
Concurency control service
DBMS harus dilengkapi dengan sebuah mekanisme yang akan memastikan
bahwa database diubah dengan benar ketika pengguna jamak mengubah database
secara bersamaan.
•
Recovery service
DBMS harus dilengkapi dengan sebuah mekanisme untuk memulihkan
database jika database mengalami kerusakan.
•
Authorization service
DBMS harus dilengkapi dengan sebuah mekanisme yang akan memastikan
hanya pengguna yang berhak yang mengakses database.
•
Support for data communication
DBMS harus memiliki kemampuan untuk dipadukan dengan piranti lunak
komunikasi.
•
Integrity service
DBMS harus memastikan data yang tersimpan dalam database dan
perubahannya mengikuti aturan tertentu.
•
Service to promote data independence
DBMS harus memiliki fasilitas untuk mendukung independensi program
terhadap struktur database.
14
•
Utility services
DBMS sebaiknya menyediakan seperangkat layanan alat bantu.
2.2.3 Objek-objek DBMS
Dalam suatu database terdapat berbagai objek yang tersedia, antara lain:
1. Table
Menurut Atzeni, Ceri, Paraboschi dan Torlone (2003, p5), table digunakan
untuk merepresentasikan relasi yang memungkinkan data diorganisasikan dalam
sekumpulan record. Pada table, baris menunjukkan record tertentu dan kolom
menunjuk pada field suatu record. Menurut Connelly dan Begg (2002, p), record
diterminologikan sebagai tupple dan field diterminologikan sebagai attribute. Tupple
adalah baris dari suatu relasi dan attribute adalah nama kolom dari suatu relasi.
2. View
Menurut Connolly dan Begg (2004, p84), view adalah hasil dinamis dari satu
atau lebih operasi relasional pada relasi dasar untuk menghasilkan relasi lain.
Sebuah view adalah relasi virtual yang tidak diperlukan ada di dalam database, tapi
bisa didapatkan melalui permintaan pengguna tertentu pada suatu waktu.
3. Trigger
Menurut Ramakrishnan dan Gehrke (2003, p168), trigger adalah suatu
prosedur yang secara otomatis akan dilakukan oleh DBMS sebagai respon dari suatu
perubahan yang telah dispesifikasi terlebih dahulu, umumnya oleh database
administrator.
15
4. Stored Procedure
Menurut Ramakrishnan dan Gehrke (2003, p4), stored procedure adalah
program yang dieksekusi, dalam bentuk perintah SQL, dapat secara lokal, dan
diselesaikan di waktu kosong proses database server.
5. User Defined Function
Menurut Post (2005, p268), user-defined function adalah fungsi yang dapat
kita berikan nama sendiri dan dapat melakukan berbagai proses atau perhitungan
yang diperlukan yang akan digunakan pada beberapa query yang berbeda. Dengan
adanya user-defined function, pencarian dan perubahan pada fungsi dapat lebih
mudah dilakukan karena hanya perlu dilakukan pada fungsi tersebut saja. Userdefined function dapat melakukan pengiriman nilai dalam bentuk parameter.
6. Security
Menurut Connolly dan Begg (2004, p84), database security adalah
perlindungan terhadap database dari pengguna yang tidak berhak menggakses
database.
2.2.4 Microsoft SQL Server 2000
Microsoft SQL Server, menurut Coffman (1999, pp4-6), adalah database
relasional yang berjalan di sistem operasi Microsoft Windows. Microsoft, pada awalnya,
mendapatkan izin atas building blocks dasar SQL Server dari Sybase dan membuat
produk ini tersedia pada PC dengan platform OS/2 dan, kemudian, Windows NT. Pada
tahun 1988, Sybase, Ashton-Tate dan Microsoft mencoba bergabung untuk
memproduksi salah satu database pertama pada PC, yang membuat database relasional
makin dapat digunakan oleh pengguna akhir. Microsoft memimpin proyek SQL Server;
16
Ashton-Tate mengundurkan diri saat SQL Server dipindahkan ke sistem operasi
Microsoft Windows dari OS/2. Microsoft, bersama Sybase, menjual database pada
platform piranti keras PC sampai versi 4.21, tetapi kerja sama Microsoft/Sybase berakhir
pada 1993, karena Sybase berkonsentrasi pada platform mini komputer dan Microsoft
pada platform PC. Dan kemudian, SQL Server dikembangkan secara penuh oleh
Microsoft.
SQL Server 2000, menurut Garcia (2000, p13), adalah DBMS relasional dengan
banyak fitur yang memungkinkan sistem disusun sesuai dengan kebutuhan bisnis, baik
bisnis kecil, bisnis enterprise ataupun bisnis e-commerce; yang menyediakan proses
administrasi yang lebih mudah, lebih banyak fleksibilitas, fungsional yang lebih berguna
dan penampilan yang lebih baik.
2.2.5 MySQL
Menurut artikel “MSIT 643 Relational Database Management System”
dan
“Migrating From Microsoft SQL Server and Access to MySQL”, pada mulanya MySQL
dikembangkan oleh TcX, sebuah perusahaan di Swedia, dengan Michael Widenius
sebagai perancang utama. Pada tahun 1979, ia mengembangkan sebuah Database
Management System yang pertama kali diberi nama UNIREG. Lalu pada tahun 1995,
terlahirlah MySQL yang dirilis ke internet. Pada tahun 1999, diperkirakan ada sekitar
setengah juta server yang menggunakan MySQL.
MySQL sebagai salah satu DBMS yang paling popular memiliki beberapa
keunggulan, antara lain:
1. Performance yang tinggi, reliable, dan mudah untuk digunakan.
2. Open Source, yang berarti dapat digunakan dan dikembangkan oleh siapa saja.
17
3. Dapat dijalankan pada system client/server maupun sebagai embedded system.
4. Cross-Platform, MySQL dapat digunakan pada berbagai macam sistem operasi.
2.3 Standar SQL
2.3.1 Sejarah Standar SQL
SQL Standard, menurut Groff dan Weinberg (1999, pp29-30), mulai disusun
pada tahun 1982 saat ANSI menugaskan komite X3H2 untuk menetapkan standar
bahasa database relasional. Komite tersebut akhirnya memilih SQL sebagai bahasa
database relasional dan mulai melakukan standarisasi. Pertimbangan dalam memilih
SQL adalah adanya komitmen IBM yang tinggi pada SQL dan SQL pada saat itu secara
de facto telah berkembang sebagai standar database relasional di pasaran.
Hasilnya standar ANSI sebagian besar berdasarkan pada DB2 SQL, walaupun
standar tersebut memiliki beberapa perbedaan. Setelah beberapa kali revisi, standar
tersebut akhirnya disusun secara resmi sebagai standar ANSI X3.135 pada tahun 1986,
dan sebagai standar ISO pada tahun 1987. Standar ini direvisi dan dikembangkan pada
tahun 1989, yang kemudian dikenal dengan nama SQL-89 atau SQL1.
Untuk memperbaiki kekurangan yang ada pada standar SQL-89, komite ANSI
melanjutkan pekerjaan mereka dan menerbitkan standar SQL2. Standar SQL2 berusaha
untuk melakukan standarisasi bagian dari bahasa SQL yang memiliki standar berbedabeda yang ditetapkan oleh berbagai vendor DBMS. Pada oktober 1992 standar SQL2
disetujui oleh ANSI sebagai standar bahasa database relational dan dikenal dengan
nama SQL-92.
Berdasarkan artikel Eisenberg dan Melton (“SQL:1999, formerly known as
SQL3”, p1), proyek baru yang direncanakan selesai pada tahun 1996 untuk menetapkan
18
standar SQL baru, yaitu SQL3, dimulai. Proyek yang direncanakan akan berjalan tiga
sampai empat tahun ini, bertujuan untuk menetapkan standar bahasa database relasional
yang akan dipakai di dalam beberapa object-relational database management systems (
termasuk ORACLE8 dari Oracle, Universal Server dari Informix, DB2 Universal
Database dari IBM, dan Cloudscape dari Cloudscape). Namun ternyata proyek ini
memerlukan waktu tujuh tahun untuk diselesaikan.
SQL:1999 disebut juga SQL3, bukan SQL-99 seperti pendahulunya SQL-92,
untuk memudahkan penamaan selanjutnya dan menghindari kebingungan pemanggilan.
Misalnya jika ada “SQL-02”, standard SQL tahun 2002, akan membingungkan karena
sulit dibedakan dari “SQL2”, SQL generasi kedua.
2.4 Teknologi yang Digunakan
2.4.1 Java
2.4.1.1 Sejarah
Pada tahun 1991, berdasarkan Deitel dan Deitel (2003, p9), Sun Microsystems
mendirikan sebuah proyek penelitian bernama Green yang menghasilkan sebuah bahasa
pemrograman berdasarkan C++ yang kemudian dinamakan Oak. Namun ternyata nama
Oak sudah digunakan oleh bahasa pemrograman lain, maka kemudian diputuskan
menggunakan nama Java. Anggota proyek tersebut antara lain James Gosling, Patrick
Naughton, Chris Warth, Ed Frank, dan Mike Sheridan. Kemunculan WWW(World
Wide Web) membuat java, terutama java applet , semakin dikenal di masyarakat.
19
2.4.1.2 Pengenalan
Bahasa pemrograman Java memiliki semboyan “Write Once, Run Everywhere”.
Semboyan ini menjadi salah satu symbol dari kelebihan Java, dimana Java dapat
berjalan di hampir semua platform (platform independent). Hal ini dimungkinkan karena
adanya Java Virtual Machine (JVM). Java virtual Machine adalah sebuah mesin abstrak
(abstract computing machine) yang menginterpretasikan program - program Java.
Output yang dihasilkan oleh Java compiler berupa bytecode yang nantinya akan di
interpret oleh JVM. Dengan demikian sebuah bytecode program yang dihasilkan oleh
satu platform dapat berjalan di platform lain yang memiliki JVM. Oleh karena itu Java
dikategorikan sebagai interpreted language. (Spell, 2000, p5, pp7-8).
2.4.1.3 Konektivitas dengan Database
Berdasarkan pendapat Deitel dan Deitel (2003, pp1179-1180), program Java
dapat digunakan untuk berkomunikasi dengan berbagai macam database dan
memanipulasi data menggunakan Java Database Connectivity (JDBC) API. Sebuah
JDBC driver mengimplementasikan interface ke sebuah database. Dengan penggunaan
JDBC, seorang pengembang dapat merubah database yang digunakan tanpa mengubah
kode program.
2.4.1.4 Keunggulan
Menurut Schildt (2004, pp10-12), Java memiliki beberapa keunggulan, antara
lain :
20
•
Simple
Java didesain agar programmer mudah untuk memahaminya dan dapat
menggunakannya secara efektif. Programmer yang menguasai bahasa pemrograman
C++ atau C tidak akan mengalami kesulitan, karena java mengadopsi banyak sintaks
dari kedua bahasa tersebut.
•
Object-Oriented
Konsep utama dalam Java adalah objek. Objek dalam java mudah untuk di
extend dan simple. Dalam Java juga ada tipe – tipe data primitif, seperti yang
terdapat dalam bahasa pemrograman structural, seperti int, float, boolean, dsb.
•
Robust
Java dirancang agar bisa memenuhi kebutuhan teknologi web sehingga
memiliki kemampuan yang robust, seperti automatic memory allocation and
deallocation, garbage collection, strict type checking, dan sebagainya.
•
Multithreaded
Java memungkinkan programmer untuk membuat sebuah program yang
dapat melakukan banyak hal secara simultan. JVM mengatur semua sinkronisasi
yang diperlukan untuk mendukung hal di atas.
•
Architecture-Neutral
Dengan menggunakan JVM, sebuah program mampu berjalan hampir di
semua platform, sehingga meningkatkan portabilitas program–program java.
•
Interpreted and High Peformance
21
Meskipun dikategorikan sebagai interpreted language, java memiliki
penampilan kerja yang cukup baik, sehingga tidak kalah dibandingkan bahasa
pemrograman yang lain.
•
Distributed
Java dirancang untuk memenuhi teknologi internet, dengan menggunakan
protocol TCP/IP. Java juga mendukung RMI (Remote Method Invocation).
2.4.2 ANother Tool for Language Recognition (ANTLR)
ANTLR, ANother Tool for Language Recognition, berdasarkan artikel “An
Introduction to ANTLR”, adalah sebuah alat bantu yang menerima deskripsi
grammatical dari sebuah language dan membentuk program yang mengenali sentence
dalam language tersebut. Sebagai bagian dari translator, kita dapat menambah grammar
dengan operator dan action untuk memberi pedoman pada ANTLR bagaimana
membentuk AST (Abstract Syntax Tree) dan output. ANTLR mengimplementasikan
strategi parsing LL(k) dan sanggup melakukan sejumlah lookahead dalam menangani
grammar yang ambigu.
ANTLR dapat membentuk recognizer dengan grammar yang sesuai untuk 3
jenis input, yaitu character streams, token streams, dan two dimensional tree. Dengan 3
input tersebut ANTLR akan menghasilkan program lexer untuk menangani input berupa
character streams, parser untuk menangani token streams yang dihasilkan oleh lexer,
dan treeparser untuk menangani two dimensional tree jika dibutuhkan.
ANTLR dikembangkan oleh Terence Parr sejak 1989. Bersama dengan beberapa
temannya Terrence Parr telah memberikan sejumlah kontribusi dasar pada teori parsing
22
dan alat bantu untuk pengenalan language. Hal ini berdampak pada perkembangan
penggunaan alat bantu pengenalan bahasa berdasarkan metode parsing LL(k).
2.4.2.1 ANTLR Tree
Berdasarkan artikel “ANTRL Tree Construction”, ANTLR dapat membentuk
intermediate form tree, atau abstract syntax tree, dengan menambahkan simbol-simbol
tertentu pada grammar untuk mengindikasikan token yang menjadi root dari subtree,
token yang menjadi leaves, dan token yang harus diabaikan pada saat pembentukan tree.
Root node untuk pembentukan AST pada ANTLR, ditentukan dengan menambahkan
tanda “^” pada akhir dari sebuah token (sufix). Sedangkan untuk leaf node, setiap
referensinya ke nonsuffixed token atau token-range dianggap sebagai leaf node untuk
rule tersebut.
2.5 Teori Parsing
2.5.1 Pengertian Parsing
Menurut Aho (2003, p40), parsing adalah proses menentukan apakah string dari
token dapat dibentuk dari sebuah grammar. Proses menemukan sebuah parse tree untuk
sebuah string yang terdiri dari token-token disebut parsing string tersebut. Menurut
Gries(1971, p29), parse dari sebuah sentence adalah pembentukan syntax tree dan
derivasi dari sentence tersebut.
Menurut Bennet (1996, p5), syntax analyser, yang dikenal dengan parser,
menganalisa struktur program secara keseluruhan, melakukan pengelompokan entitientiti yang diidentifikasi oleh scanner menjadi sebuah struktur yang lebih besar.
23
2.5.2 Jenis-jenis Metode Parsing
Pada umumnya metode parsing dapat dimasukkan ke dalam dua jenis, dengan
nama metode top-down dan bottom-up parsing.
2.5.2.1 Metode Top-down Parsing
Top-down parsing, menurut Aho (2003, p181), dapat dilihat sebagai usaha untuk
menemukan leftmost derivation untuk sebuah masukan string. Dengan kata lain, usaha
untuk membentuk sebuah parse tree untuk sebuah masukan string dimulai dari root dan
membentuk node-node dari parse tree secara preorder. Bentuk umum dari top-down
parsing disebut recursive descent, yang memungkinkan backtracking.
Menurut Tremblay, J.P. (1985, p208) ada 3 metode umum untuk top-down
parsing yaitu brute force approach, recursive descent parser, dan top-down parsing
dengan partial atau limited backup.
2.5.2.1.1 Recursive Descent Parser
Recursive descent parser menurut Tremblay J.P. (1985, p219) adalah metode
top-down parsing yang tidak mengijinkan adanya backup, namun teknik ini tidak dapat
bekerja pada semua context free grammar. Beberapa grammar tetap memerlukan backup
agar parsing berhasil.
Pada metode recursive descent parsing, production diimplementasikan dalam
function call untuk setiap nonterminal. Tiap function memiliki return value true atau
false, tergantung apakah substring yang mewakili nonterminal tersebut dapat dikenali
atau tidak. Mekanisme pemrograman untuk menangani pemanggilan fungsi recursive
24
menyediakan kemampuan untuk menangani stack yang diperlukan pada parsing, hal ini
membebaskan user untuk membuat dan memanipulasi stack secara terpisah.
2.5.2.2 Metode Bottom-up Parsing
Bentuk umum dari bottom-up parsing dikenal dengan nama shift-reduce parsing.
Shift-reduce parsing menurut Aho (2003, p195) berusaha untuk membentuk sebuah
parse tree untuk sebuah input string dimulai dari leave (bottom) dan bekerja menuju
root (top). Proses ini dapat dilihat sebagai “reducing” sebuah string w menjadi start
symbol dari grammar. Pada setiap langkah reduction sebuah substring tertentu yang
cocok dengan right side dari sebuah production digantikan dengan symbol dari left side
production tersebut.
2.6 Metode Perancangan Piranti Lunak Incremental
Menurut
Pressman
(2001,
p35),
model
perancangan
Incremental
mengkombinasikan elemen-elemen dari model Linear Sequential, yang diterapkan
berulang-ulang, dengan filosofi dari Prototyping. Metode perancangan model
Incremental mirip dengan Prototyping, tetapi Incremental memfokuskan diri pada
pengiriman produk operasional pada setiap perulangannya.
Metode perancangan model Linear Sequential terangkum dalam kegiatan
(Pressman, 2001, p29) :
1. System / Information engineering and Model
Pada tahap ini, akan ditetapkan kebutuhan untuk semua elemen dari sistem
lalu menempatkan sebagian kebutuhan tersebut pada piranti lunak.
25
2. Software requierement analysis
Pada tahap ini, pengumpulan informasi dan kebutuhan diintensifkan dan
difokuskan pada piranti lunak.
3. Design
Tahap ini merupakan proses dengan multistep yang difokuskan pada empat
atribut utama program: struktur data, arsitektur poranti lunak, representasi antar
muka dan rincian prosedur. Proses design menerjemahkan kebutuhan ke
representasi piranti lunak yang dapat dikaji terlebih dahulu sebelum coding dimulai.
4. Code generation
Dalam tahap ini, rancangan yang telah dibuat diterjemahkan ke dalam bentuk
yang dapat dibaca oleh mesin.
5. Testing
Tahap testing difokuskan pada logical internals dari pianti lunak untuk
memastikan semua perintah telah diujicobakan, dan pada functional externals; yang
melakukan ujicoba untuk menemukan kesalahan dan memastikan masukan yang
sesuai akan menghasilkan hasil yang sesuai dengan yang dibutuhkan.
6. Support
Tahap ini akan menjalankan kembali setiap tahap-tahap di atas pada program
yang telah ada ataupun pada program yang baru.
Metode perancangan model Prototyping, menurut Pressman (2001, p30), dimulai
dengan pengumpulan informasi dan kebutuhan, kemudian diikuti dengan perancangan
sederhana yang difokuskan pada representasi aspek-aspek piranti lunak yang dapat
dilihat oleh pengguna. Perancangan sederhana dilanjutkan dengan pembuatan protoype.
26
Prototype ini kemudian dievaluasi oleh pengguna untuk memperbaiki piranti lunak yang
sedang dikembangkan. Tahapan ini berulang sampai kebutuhan pengguna terpenuhi.
Gambar 2.1 Metode Perancangan Piranti Lunak Incremental
Download