bab 2 landasan teori - thesis.binus.ac.idthesis.binus.ac.id/doc/bab2/2009-2-00590-if bab 2.pdf7...

21
BAB 2 LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak Menurut Pressman (2001, p6), yang dimaksud dengan perangkat lunak atau software adalah : 1) Instruksi (program komputer) yang apabila dieksekusi akan menghasilkan fungsi dan hasil yang diinginkan. 2) Struktur data yang memungkinkan sebuah program untuk memanipulasi sebuah informasi. 3) Dokumen yang mendeskripsikan operasi dan kegunaan program. Dengan kata lain, yang dimaksud dengan perangkat lunak adalah kombinasi dari program komputer dan struktur data, yang disertai dengan dokumentasi yang menyediakan metode logika dan prosedur yang diinginkan. Sedangkan yang dimaksud dengan rekayasa perangkat lunak, menurut Pressman (2001, p20), adalah aplikasi dan pembelajaran dari pendekatan terhadap pengembangan, pengoperasian, dan pemeliharaan perangkat lunak, yang sistematik, berdisiplin, dan dapat diukur. Dengan kata lain rekayasa perangkat lunak adalah penerapan teknik terhadap perangkat lunak. 6

Upload: duongnguyet

Post on 26-Mar-2019

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

BAB 2

LANDASAN TEORI

2.1 Rekayasa Perangkat Lunak

Menurut Pressman (2001, p6), yang dimaksud dengan perangkat lunak atau

software adalah :

1) Instruksi (program komputer) yang apabila dieksekusi akan menghasilkan

fungsi dan hasil yang diinginkan.

2) Struktur data yang memungkinkan sebuah program untuk memanipulasi

sebuah informasi.

3) Dokumen yang mendeskripsikan operasi dan kegunaan program.

Dengan kata lain, yang dimaksud dengan perangkat lunak adalah kombinasi dari

program komputer dan struktur data, yang disertai dengan dokumentasi yang

menyediakan metode logika dan prosedur yang diinginkan.

Sedangkan yang dimaksud dengan rekayasa perangkat lunak, menurut Pressman

(2001, p20), adalah aplikasi dan pembelajaran dari pendekatan terhadap pengembangan,

pengoperasian, dan pemeliharaan perangkat lunak, yang sistematik, berdisiplin, dan

dapat diukur. Dengan kata lain rekayasa perangkat lunak adalah penerapan teknik

terhadap perangkat lunak.

6

Page 2: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

7

Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa

tahapan yaitu proses (process), metode (method), dan peralatan (tools). Dasar yang

mendukung rekayasa perangkat lunak adalah fokus pada kualitas. Tahap proses dapat

mendefinisikan sebuah framework dari sejumlah kegiatan penting yang harus dilakukan

untuk menghasilkan teknologi rekayasa perangkat lunak yang efektif. Metode rekayasa

perangkat lunak menyediakan teknik atau cara untuk membangun sebuah perangkat

lunak. Peralatan rekayasa perangkat lunak menyediakan otomatisasi atau semi

otomatisasi yang mendukung proses dan metode.

Otomatisasi adalah penggunaan mesin atau perangkat lunak untuk menjalankan

tugas yang biasa dilakukan oleh manusia.

2.1.1 Karakteristik Perangkat Lunak

Menurut Pressman (2001, p6), perangkat lunak memiliki beberapa karakteristik

sebagai berikut :

1. Perangkat lunak dikembangkan atau dirancang, bukan diproduksi seperti pada

pengertian klasik.

Meskipun terdapatan kemiripan antara pengembangan perangkat lunak dan

produksi perangkat keras (hardware), namun pada dasarnya kedua hal tersebut

adalah berbeda. Keduanya memerlukan desain yang baik untuk mencapai

kualitas tinggi, namun produksi hardware dapat menemukan masalah dalam

kualitas, sedangkan dalam pengembangan perangkat lunak, hal tersebut tidak

terjadi (jika terjadi maka mudah diperbaiki).

2. Perangkat lunak tidak habis dipakai.

Page 3: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

8

Pada hardware rusak, terdapat spare part yang dapat menggantikannya.

Sedangkan pada perangkat lunak, tahap pemeliharaan tidak semudah hardware

karena tidak memiliki spare part apapun. Kala perangkat lunak menemukan

kegagalan, berarti terjadi kesalahan pada desain atau proses.

3. Kebanyakan perangkat lunak dibuat sesuai pesanan walaupun industri mengarah

pada perakitan berbasiskan komponen.

Suatu komponen perangkat lunak harus dirancang dan mampu diterapkan pada

berbagai jenis program. Dengan demikian, komponen perangkat lunak tersebut

dapat digunakan berulangkali dan dimanipulasi, sehingga memungkinkan untuk

menghasilkan suatu perangkat lunak yang berbeda.

2.1.2 Model Proses Rekayasa Perangkat Lunak

Menurut Pressman (2001, pp26-45), rekayasa perangkat lunak memiliki

beberapa model proses yaitu linear sequential model, prototyping model, RAD model,

evolutionary software process model (incremental model, spiral model, WINWIN spiral

model, concurrent development model), component-based development, formal methods

model, dan fourth generation techniques (4GT).

Dalam sistem yang akan dikembangkan dan diterapkan pada Artefact, model

proses yang akan digunakan adalah The Linear Sequential Model atau waterfall model.

Analysis Design Code Test

System/information engineering

Gambar 2.1 The Linear Sequential Model

(Roger S. Pressman, 2001, p29)

Model ini meliputi beberapa aktivitas, yaitu :

Page 4: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

9

a) System/information engineering and modeling

Suatu perangkat lunak merupakan bagian dari suatu sistem yang besar sehingga

perlu untuk dirancang dan dimodelkan terlebih dahulu. Aktivitas ini menetapkan

kebutuhan semua elemen dari sistem dan mengalokasikannya ke perangkat

lunak.

b) Software requirements analysis

Untuk lebih memahami program yang akan dibuat, maka seorang analis perlu

memahami domain informasi untuk perangkat lunak, fungsi yang dibutuhkan,

behavior, performance, dan interface yang diinginkan, serta membahasnya

bersaman dengan pelanggan.

c) Design

Proses desain merepresentasikan kebutuhan (requirements) untuk

memperkirakan kualitas dari perangkat lunak yang dibuat, sebelum mulai

pengkodean.

d) Code generation

Tahap ini menterjemahkan desain ke dalam bahasa mesin.

e) Testing

Proses testing memastikan bahwa semua statement telah dites, memperbaiki

kesalahan, dan memastikan bahwa input yang diberikan mengeluarkan result

yang telah disetujui.

f) Support

Perangkat lunak pendukung diperlukan dan akan diaplikasikan pada perangkat

lunak utama karena umumnya perangkat lunak utama tersebut akan mengalami

perubahan atau menemukan masalah setelah diaplikasikan oleh pelanggan

Page 5: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

10

selama beberapa waktu.

2.2 Sistem Pakar

2.2.1 Definisi Sistem Pakar

Berikut ini merupakan beberapa definisi sistem pakar, yaitu:

1) Sistem pakar adalah suatu program yang mengkomputerisasikan laporan dengan

mencoba menirukan proses pemikiran dan pengetahuan dari pakar atau ahli

dalam memecahkan tipe tertentu dari suatu masalah.

2) Sistem pakar merupakan jembatan penghubung antara orang yang tidak

berpengalaman (awam) dengan pengetahuan dengan cara peralatan seorang ahli

(pakar)

3) Sistem pakar adalah sistem berbasis pengetahuan dimana pengetahuan tersebut

diperoleh dari hasil pengalaman orang-orang yang ahli dibidangnya masing-

masing.

Setelah mengetahui definisi-definisi sistem pakar, maka dapat ditarik suatu

kesimpulan bahwa definisi sistem pakar secara umum adalah suatu aplikasi dari

kecerdasan tiruan yang dapat memecahkan masalah secara lebih tepat, cepat dan mudah.

2.2.2. Ciri-ciri Sistem Pakar

Berikut ini beberapa ciri-ciri dari sebuah sistem pakar, diantaranya adalah:

1) Terbatas pada domain keahlian tertentu.

2) Dapat memberikan penalaran untuk data-data yang tidak pasti.

3) Dapat mengemukakan rangkaian alasan-alasan yang diberikannya dengan cara

Page 6: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

11

yang dapat dipahami.

4) Mengacu pada kaidah produksi tertentu.

5) Dirancang untuk dapat dikembangkan secara bertahap,

6) Keluaran hasil bersifat anjuran.

7) Sistem dapat mengaktifkan kaidah secara searah yang dituntun sesuai dengan

dialog pemakai

2.2.3. Struktur sistem pakar

Sistem pakar terdiri dari 2 bagian pokok, yaitu : lingkungan pengembangan

(development environment) dan lingkungan konsultasi (consultation environment).

Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi

pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan

oleh seseorang yang bukan ahli untuk berkonsultasi.

Gambar 2.2 : Struktur Sistem Pakar

Page 7: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

12

2.2.4 Komponen Sistem Pakar

Sistem pakar baru bisa terbentuk dari beberapa komponen yang terdiri dari:

1) Basis Pengetahuan.

Kaidah-kaidah dan fakta-fakta merupakan suatu pengetahuan seorang ahli yang

tersimpan dalam format tertentu. Format atau bentuk yang sering digunakan

adalah kaidah produksi. Setiap kaidah terdiri dari satu atau lebih klausa dan

setiap klausa dapat diindentifikasikan dengan sebuah kalimat berita. Antara

klausa-klausa dalam setiap premis dan konklusi dapat dihubungkan dengan

penghubung.

2) Mesin inferensi (inference engine).

Mesin inferensi merupakan cara kerja seorang ahli yang berupa pikiran dan

pengetahuan dalam penanganan sistem. Secara umum mesin inferensi memiliki

pengetahuan yang sangat luas. Mesin inferensi ini akan menganalisa suatu

masalah tertentu untuk selanjutnya akan mencari kesimpulan yang terbaik,

dengan demikian sistem ini akan dapat menjawab setiap pertanyaan user.

Cara kerja dari mesin inferensi dimulai dari pelacakan, pencocokan kaidah-

kaidah dalam basis pengetahuan dengan fakta-fakta yang ada dalam sebuah basis

data. Terdapat dua buah metode yang dapat membentuk sebuah mesin inferensi,

yaitu metode forward chaining dan metode backward chaining.

3) Antar muka pemakai (user interface).

Antar muka pemakai adalah suatu bagian yang menghubungkan antara program

dan user. Antar muka pemakai harus bisa menerima informasi yang diberikan

oleh pemakai dan memasukkannya kedalam bentuk yang dapat dimengerti oleh

pemakai. Pada bagian ini akan terjadi dialog antara pemakai dengan sistem,

Page 8: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

13

sehingga pemakai dapat mengajukan masalah dalam bentuk ya atau tidak.

4) Development Engine.

Development Engine digunakan untuk membangun sebuah sistem pakar, ada data

pendekatan didalam sistem pakar yaitu, bahasa pemrograman dan shell sistem

pakar.

2.2.5 Tipe sistem pakar

Berdasarkan struktur program ada dua tipe sistem pakar:

1. Program Mandiri.

Sistem pakar yang murni berdiri sendiri artinya program utama tanpa

mengandung subroutine memakai algoritma utama.

2. Program Terkait.

Sebuah pakar yang dikelilingi program lain , artinya sebuah subroutine yang

akan dipanggil oleh program utama.

Misalnya memiliki subroutine untuk :

a) perhitungan secara matematis

b) pembuatan grafik

c) keperluan lainnya

2.3 Flowchart (Diagram alir)

Flowchart atau diagram alir adlah sekumpulan simbol-simbol atau skema yang

menunjukkan atau menggambarkan rangkaian kegiatan program dari awal sampai akhir.

Init dari pembuatan flowchart ini adalah penggambaran dari urutan langkah-langkah

pekerjaan dari suatu algoritma.

Page 9: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

14

Jogiyanto HM (2006, p662), menyatakan bahwa bagian alir

program( flowchart) adalah bagian yang menggambarkan arus logika dari data yang

akan diproses dalam suatu program dari awal sampai akhir.

Berikut adalah gambar dan fungsi dari simbol-simbol yang digunakan pada flowchart:

No Simbol Fungsi1 Terminal, untuk memulai dan mengakhiri suatu

proses/ kegiatan2 Proses, Suatu yang menunjukan setiap pengolahan

yang dilakukan oleh komputer

3 Input, untuk memasukan hasil dari suatu proses

4 Decision, Suatu kondisi yang akan menghasilkan

beberapa kemungkinan jawaban atau pilihan

5 Display, output yang ditampilkan dilayar terminal

6 Connector, suatu prosedur akan masuk atau keluar

melalui simbol ini dalam lembar yang sama

7 Off Page Connector, merupakan symbol masuk atau

keluarnya suatu prosedur pada kertas lembar lain

8 Arus? Flow, simbol ini digunakan untuk

menggambarkan arus proses dari suatu kegiatan

kegiatan lain9 Hard Disk Storage, input/output yang menggunakan

hardisk

Page 10: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

15

10 Predefied Process, untuk menyatakan sekumpulan

langkah proses yang ditulis sebagai prosedur

11 Stored Data, Input/ output yang menggunakan disket

12 Printer, Simbol ini digunakan untuk

menggambarkan suatu dokumen atau kegiatan

mencetak suatu informasi dengan mesin printer

Gambar 2.3 Simbol-simbol Flowchart

Page 11: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

16

2.4 Metode Pelacakan dan Penelusuran

Metode pelacakan atau penelusuran adalah penyediaan sebuah jalan atau path

dari beberapa pendekatan tidak langsung yang tersedia untuk memecahkan dan

menyelesaikan persoalan. Metode pelacakan dapat dibedakan menjadi dua cara yaitu:

1) Teknik Pelacakan ke Belakang (Backward Chaining).

Pelacakan kebelakang adalah teknik yang memulai penalaran dari sekumpulan hipotesa

menuju fakta- fakta yang menuju hipotesis. Tujuan sudah ditentukan dan sistem pakar

mencoba menentukan kondisi-kondisi apa saja yang dibutuhkan untuk mencapai tujuan

yang dibutuhkan.

2) Teknik Pelacakan ke Depan (Forward Chaining).

Pelacakan dimulai dari sekumpulan data atau aturan-aturan yang diberikan lalu

melakukan pengecekan terhadap bagian dan aturan-aturan tersebut, apakah kondisi

benar atau salah. Jika kondisinya benar maka bagian lain dari aturan itu juga benar.

Pelacakan dilakukan sampai didapatkan kesimpulan.

Metode penelusuran dapat dibedakan menjadi tiga cara, yaitu:

a) Depth First Search

Depth first search adalah teknik penelusuran data pada node-node secara vertical

dan sudah terdefinisikan, misalnya dari kiri ke kanan (lihat gambar 2.4).

Keuntungan pencarian dengan teknik ini adalah bahwa penelusuran masalah

dapat digali secara mendalam sampai ditemukannya kapasitas suatu solusi yang

optimal. Kekurangan teknik penelusuran ini adalah membutuhkan waktu yang

Page 12: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

17

lama untuk ruang lingkup masalah yang besar.

Gambar 2.4 : Penelusuran Data dengan Depth First Search

Page 13: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

18

b) Breadth First Search.

Breadth first search adalah teknik penelusuran data pada semua node dalam satu

level atau satu tingkatan sebelum ke level atau tingkatan di bawahnya (lihat

gambar 2.5).

Keuntungan pencarian dengan teknik ini adalah sama dengan depth first search.

Hanya saja penelusuran menggunakan teknik ini mempunyai nilai tambah

dimana semua node akan dicek secara menyeluruh pada setiap tingkatan node.

Gambar 2.5 : Penelusuran Data dengan Breadth First Search

Page 14: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

19

c) Best First Search.

Best first search adalah penelusuran yang menggunakan pengetahuan akan suatu

masalah untuk melakukan panduan pencarian kearah node tempat dimana solusi

berada. Pencarian jenis ini dikenal juga sebagai heuristic. Pendekatan yang

dilakukan adalah mencari solusi yang terbaik berdasarkan pengetahuan yang

dimiliki sehingga penelusuran dapat ditentukan harus dimulai dari mana dan

bagaimana menggunakan proses terbaik untuk mencari solusi.

Gambar 2.6 : Penelusuran Data dengan Best First Search

Page 15: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

20

2.5 State Transition Diagram (STD)

Menurut Whitten, Bentley, dan Dittman (2004, p673), state transition diagram

adalah alat yang digunakan untuk menggambarkan urutan dan variasi dari layar, yang

dapat muncul selama user session.

Ada beberapa hal yang perlu diketahui dalam pembuatan sebuah STD, yaitu :

1. State

Adalah sebuah kondisi dari keadaan, atau form, yang dapat digunakan oleh

komponen suatu sistem.

Disimbolkan dengan

Ada dua macam state, yaitu :

(1) Current State

Keadaan terkini dari suatu sistem, atau pada state mana suatu sistem

berada saat ini, disebut current state.

(2) Final State

Final state adalah keadaan terakhir yang dapat dicapai oleh suatu sistem.

Contohnya : on atau off.

2. Transition

Merupakan simbol yang menyatakan suatu perubahan dari suatu keadaan ke

keadaan lain. Disimbolkan dengan

3. Event

Adalah suatu kejadian pada suatu lingkungan eksternal yang dapat dideteksi oleh

sistem. Kejadian tersebut dapat menyebabkan perubahan dari satu state ke state

lainnya.

Page 16: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

21

4. Action

Saat event muncul, terjadi transisi sehingga komponen sistem menerima

perubahan state. Untuk itu dibutuhkan sebuah aksi untuk berpindah state. Aksi

disini akan menghasilkan sebuah output atau tampilan.

5. Output

Merupakan hasil keluaran dari kalkulasi dan lain sebagainya.

2.6 Data Flow Diagram (DFD)

Menurut Whitten, Bentley, dan Dittman (2004, pp344-345), data flow diagram

adalah pemodelan proses yang menggambarkan aliran data di dalam sebuah sistem dan

serta cara kerja atau proses yang dilakukan oleh sebuah sistem.

Ada tiga simbol dan satu koneksi yang digunakan dalam pembuatan DFD, yaitu :

1.

Persegi yang agak bulat melambangkan proses atau pekerjaan yang harus

diselesaikan.

2.

Persegi melambangkan external agents atau batas dari sistem.

3.

Kotak yang bagian belakangnya terbuka melambangkan penyimpanan data atau sering

disebut dengan database.

4.

Page 17: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

22

Anak panah melambangkan aliran data, atau input dan output, menuju dan dari proses.

2.7 Entity Relationship Diagram (ERD)

Menurut Whitten, Bentley, dan Dittman (2004, pp295-307), entity relationship

diagram adalah pemodelan data yang menggunakan beberapa notasi untuk

menggambarkan data yang berhubungan dengan entity dan relationship yang

dideskripsikan oleh data tersebut.

Ada beberapa konsep dasar bagi setiap model data :

1. Entities

Entity adalah sebuah class dari orang, tempat, objek, kejadian, atau konsep mengenai

apa yang diperlukan untuk mengambil dan menyimpan data.

Entity dilambangkan dengan .

Beberapa kategori dari entity adalah sebagai berikut :

a) Orang : vendor, pelanggan, karyawan, dan lain-lain.

b) Tempat : Ruangan, kantor cabang, bangunan, dan lain-lain.

c) Objek : produk, mesin, bahan dasar, dan lain-lain.

d) Kejadian : invoice, pemesanan, penjualan, dan lain-lain.

e) Konsep : stok, dana, account, kualifikasi, dan lain-lain.

2. Attributes

Yang dimaksud dengan attribute adalah karakteristik dari sebuah entity.

3. Domain

Nilai dari tiap atribut didefinisikan ke dalam tiga properti yaitu :

a) Tipe data : properti dari atribut yang mengidentifikasikan tipe data yang

Page 18: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

23

dapat disimpan ke dalam atribut.

b) Domain : properti dari atribut yang mendefinisikan nilai apa yang boleh

diambil oleh suatu atribut.

c) Default value : suatu nilai yang akan disimpan apabila nilai tidak

dispesifikasikan oleh user.

4. Identification

Dengan banyaknya instance yang dimiliki oleh suatu entity maka diperlukan suatu key

yang unik untuk mengidentifikasikan setiap instance berdasarkan data dari atribut. Yang

dimaksud dengan key adalah suatu atribut atau sekumpulan atribut yang mengasumsikan

nilai yang unik dari setiap bagian dari entity dan seringkali disebut dengan identifier.

Candidate key adalah salah satu key yang memiliki kemungkinan untuk dijadikan

primary key. Primary key adalah sebuah candidate key yang unik dan

mengidentifikasikan sebuah bagian dari entity.

Alternate key adalah candidate key yang tidak dijadikan primary key.

5. Relationship

Yang dimaksud dengan relationship adalah sebuah hubungan antara satu atau lebih

entity. Cardinality adalah jumlah minimum dan maksimum dari keberadaan suatu entity

yang mungkin direlasikan ke entity lain. Degree adalah sejumlah entity yang

berpartisipasi dalam sebuah relationship. Foreign key adalah sebuah primary key yang

digunakan oleh entity lain untuk mengidentifikasikan instansi dari sebuah relationship.

6. Berikut ini adalah notasi dari cardinality :

a) Tepat satu (satu dan hanya satu) : nilai minimum dan maksimum adalah 1.

b) Nol atau satu : nilai minimum adalah 0 dan nilai maksimum adalah 1.

c) Satu atau lebih : nilai minimum adalah 1 dan nilai maksimum adalah banyak

Page 19: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

24

(>1).

d) Nol, satu, atau lebih : nilai minimum adalah nol dan nilai maksimum adalah

banyak (>1).

e) Lebih dari satu : nilai minimum dan maksimum adalah >1.

7. Generalization

Yang dimaksud dengan generalization adalah sebuah konsep dimana atribut-atribut yang

umum bagi beberapa tipe dari entity digrupkan ke dalam entity mereka masing-masing.

2.8 E-Commerce

Electronic Commerce (E-Commerce) didefinisikan sebagai proses pembelian dan

penjualan produk, jasa dan informasi yang dilakukan secara elektronik dengan

memanfaatkan jaringan komputer. Salah satu jaringan yang digunakan adalah internet.

Sementara itu Kalakota dan Whinston (1996, 3-13) mendefinisikan E-Commerce

dari beberapa perspektif, yaitu :

1) Dari perspektif komunikasi, E-Commerce adalah pengiriman informasi,

produk/jasa, atau pembayaran melalui jaringan telepon, atau jalur komunikasi

lainnya.

2) Dari perspektif proses bisnis, E-Commerce adalah aplikasi teknologi menuju

otomatisasi transaksi bisnis dan work flow.

3) Dari perspektif pelayanan, E-Commerce adalah alat yang digunakan untuk

mengurangi biaya dalam pemesanan dan pengiriman barang.

4) Dari perspektif online, E-Commerce menyediakan kemampuan untuk menjual

dan membeli produk serta informasi melalui internet dan jaringan jasa online

lainnya.

Page 20: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

25

Selanjutnya Yuan Gao dalam Encyclopedia of Information Science and

Technology (2005), menyatakan E-Commerce adalah penggunaan jaringan komputer

untuk melakukan komunikasi bisnis dan transksaksi komersial. Kemudian di website E-

Commerce Net, E-Commerce didefinisikan sebagai kegiatan menjual barang dagangan

dan/atau jasa melalui internet. Seluruh komponen yang terlibat dalam bisnis praktis

diaplikasikan disini, seperti customer service, produk yang tersedia, cara pembayaran,

jaminan atas produk yang dijual, cara promosi dan sebagainya.

Seluruh definisi yang dijelaskan di atas pada dasarnya memiliki kesamaan yang

mencakup komponen transaksi (pembeli, penjual, barang, jasa dan informasi), subyek

dan obyek yang terlibat, serta media yang digunakan (dalam hal ini adalah internet).

Perkembangan teknologi informasi terutama internet, merupakan faktor

pendorong perkembangan E-Commerce. Internet merupakan jaringan global yang

menyatukan jaringan komputer di seluruh dunia, sehingga memungkinkan terjalinnya

komunikasi dan interaksi antara satu dengan yang lain diseluruh dunia. Dengan

menghubungkan jaringan komputer perusahaan dengan internet, perusahaan dapat

menjalin hubungan bisnis dengan rekan bisnis atau konsumen secara lebih efisien.

Sampai saat ini internet merupakan infrastruktur yang ideal untuk menjalankan E-

Commerce, sehingga istilah E-Commerce pun menjadi identik dengan menjalankan

bisnis di internet.

Pertukaran informasi dalam E-Commerce dilakukan dalam format digital

sehingga kebutuhan akan pengiriman data dalam bentuk cetak dapat dihilangkan.

Dengan menggunakan sistem komputer yang saling terhubung melalui jaringan

telekomunikasi, transaksi bisnis dapat dilakukan secara otomatis dan dalam waktu yang

Page 21: BAB 2 LANDASAN TEORI - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-2-00590-IF Bab 2.pdf7 Menurut Pressman (2001, p20), rekayasa perangkat lunak terdiri dari beberapa tahapan

26

singkat. Akibatnya informasi yang dibutuhkan untuk keperluan transaksi bisnis tersedia

pada saat diperlukan. Dengan melakukan bisnis secara elektronik, perusahaan dapat

menekan biaya yang harus dikeluarkan untuk keperluan pengiriman informasi. Proses

transaksi yang berlangsung secara cepat juga mengakibatkan meningkatnya produktifitas

perusahaan.

Dengan menggunakan teknologi informasi, E-Commerce dapat dijadikan sebagai

solusi untuk membantu perusahaan dalam mengembangkan perusahaan dan menghadapi

tekanan bisnis. Tingginya tekanan bisnis yang muncul akibat tingginya tingkat

persaingan mengharuskan perusahaan untuk dapat memberikan respon. Penggunaan E-

Commerce dapat meningkatkan efisiensi biaya dan produktifitas perusahaan, sehingga

dapat meningkatkan kemampuan perusahaan dalam bersaing.