BAB 2 LANDASAN TEORI 2.1 Rekayasa Piranti Lunak(RPL) 2.1.1...

of 34 /34
9 BAB 2 LANDASAN TEORI 2.1 Rekayasa Piranti Lunak(RPL) 2.1.1 Definisi rekayasa piranti lunak Menurut Fritz Bauer, rekayasa piranti lunak adalah pengembangan dan penggunaan prinsip pengembangan untuk memperoleh perangkat lunak secara ekonomis yang dapat diandalkan dan dapat bekerja dengan lebih baik pada mesin nyata.(Pressman, 2005,p53). Dikembangkan oleh IEEE (INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS), definisi tersebut memiliki makna yang lebih luas dan lengkap, yaitu: (1) Aplikasi dari sebuah pendekatan sistematis, dan berdisiplin kepada pengembangan, operasi, dan pemeliharaan perangkat lunak, ini adalah aplikasi untuk mengembangkan software. (2) pembelajaran tentang pendekatan dalam (1). 2.1.2 Lapisan-lapisan pendekatan RPL Lapisan-lapisan pendekatan RPL terbagi menjadi 3(tiga) bagian utama (pressman,2005,p53-54).

Embed Size (px)

Transcript of BAB 2 LANDASAN TEORI 2.1 Rekayasa Piranti Lunak(RPL) 2.1.1...

  • 9  

    BAB 2

    LANDASAN TEORI

    2.1 Rekayasa Piranti Lunak(RPL)

    2.1.1 Definisi rekayasa piranti lunak

    Menurut Fritz Bauer, rekayasa piranti lunak adalah pengembangan dan

    penggunaan prinsip pengembangan untuk memperoleh perangkat lunak secara

    ekonomis yang dapat diandalkan dan dapat bekerja dengan lebih baik pada mesin

    nyata.(Pressman, 2005,p53).

    Dikembangkan oleh IEEE (INSTITUTE OF ELECTRICAL AND

    ELECTRONICS ENGINEERS), definisi tersebut memiliki makna yang lebih luas

    dan lengkap, yaitu:

    (1) Aplikasi dari sebuah pendekatan sistematis, dan berdisiplin kepada

    pengembangan, operasi, dan pemeliharaan perangkat lunak, ini adalah

    aplikasi untuk mengembangkan software.

    (2) pembelajaran tentang pendekatan dalam (1).

    2.1.2 Lapisan-lapisan pendekatan RPL

    Lapisan-lapisan pendekatan RPL terbagi menjadi 3(tiga) bagian utama

    (pressman,2005,p53-54).

  • 10  

    (1) Process layer

    Bagian ini adalah fondasi dari RPL yang mendefinisikan sebuah

    kerangka kerja untuk sekumpulan kunci proses yang harus dibangun

    demi keefektifan penyampaian teknologi pengembangan RPL.

    (2) Methods layer

    Bagian ini menjelaskan secara teknis bagaimana cara membangun

    suatu perangkan piranti lunak.

    (3) Tools layer

    Bagian ini menyediakan dukungan otomatisdan semi otomatis untuk

    process dan methods.

    Lapisan-lapisan diatas di dukung oleh sebuah layer pendukung yang

    menjadi landasan paling penting dalam RPL yaitu Quality focus. Layer ini harus

    diisi dengan manajemen yang baik dan filosofi yang baik untuk meningkatkan

    kualitas dari software tersebut.

    Lapisan-lapisan rekayasa piranti lunak dapat di lihat pada gambar 2.1

    Gambar 2.1 software engineering layers

  • 11  

    2.1.3 Model Proses Software

    Menurut Pressman(2005,78), ada beberapa model proses yang lazim

    digunakan dalam merancang suatu software, model-model tersebut dapat

    dijelaskan sebagai langkah-langkah yang akan digunakan dalam merancang

    suatu software.

    2.1.3.1 prescriptive models

    Proses model ini mendeskripsikan setiap modul yang dikerjakan.

    Disebut prescriptive karena mereka menentukan elemen-elemen kerangka

    proses, tindakan perancangan program, tugas-tugas, hasil pekerjaan, jaminan

    kualitas, dan mekanisme perubahan kontrol untuk sebuah projek. Setiap model

    juga menentukan aliran kerja yang menggambarkan keterkaitan elemen-elemen

    proses.

    2.1.3.2 waterfall model

    Proses model yang terkadang disebut sebagai classic lifecycle ini

    menyarankan sebuah pendekatan yang sistematis dan sekuesnsial untuk

    pengembangan sofware yang dimulai dengan persyaratan yang diminta oleh

    customer, dan berkembang melalui perencanaan, pemodelan, memuncak dengan

    maintenance setelah projek selesai dikerjakan.

  • 12  

    Gambar 2.2 waterfall model

    Waterfall model pada setiap langkahnya akan dirinci sebagai berikut:

    a. Requirements definition

    Tahap ini adalah tahap awal pengumpulan data dan menetukan spsifikasi

    dari pengguna secara detail untuk membentuk suatu sistem.

    b. System and Software Design

    Merancang bagian-bagian dari sistem dalam hal spesifikasi untuk

    membangun aksitektur sistem. Mengidentifikasi dan menjelaskan sistem

    software dan hubungannya.

    c. Implementation and Unit Testing

    Dalam tahap ini, sistem software diterapkan dalam kumpulan program dan

    subprogram. Memverifikasi bahwa semua program-program sesuai dengan

    spesifikasinya.

    d. Integration and System Testing

    Melakukan pengecekan terhadap semua bagian sistem dan masing-

    masing hubungannya bahwa sudah memenuhi spesifikasinya. Setelah selesai,

    sistem dapat diberikan kepada pengguna.

    e. Operation and maintenance

  • 13  

    Melakukan perawatan secara berkala terhadap sistem bila sistem

    mengalami perubahan spesifikasi dari pengguna.

    2.1.3.3 Incremental Process Model

    Proses model ini terbagi 2 yaitu:

    2.1.3.3.1 Incremental Model

    Model ini menggabungkan waterfall model dengan gaya

    yang diulang. Setiap model yang dikerjkan akan menghasilkan kemajuan

    yang akan terus diperbarui. Jika model ini digunakan maka model

    pertama yang dibuat akan menjadi model utama yang akan

    dikembangkan. Tetapi banyak sekali fitur yang belum tersampaikan.

    Model utama itu akan menjadi gambaran untuk customer untuk tolok

    ukur pengembangan software, dan model pertama itu akan terus

    dievaluasi. Model ini jika digambarkan dengan diagram akan terlihat

    seperti kalender yang berjalan.

  • 14  

    Gambar 2.3 incremental model

    2.1.3.3.2 Rapid Application Development(RAD)

    RAD adalah proses model waterfall yang diadaptasi secara

    cepat menggunakan pendekatan komponen konstruksi. Model ini hanya

    dapat digunakan secara maksimal jika permintaan customer

    Gambar 2.4 RAD model

  • 15  

    2.1.3.4 Evolutionary process model

    2.1.3.4.1 prototyping

    Proses model yang dapat digunakan ketika permintaan

    user sangat riskan dan tidak terdefinisi dengan jelas. Proses model

    ini juga merupakan proses model yang bisa berdiri sendiri tanpa

    harus digabungkan dengan proses model yang lain. Proses model

    ini menggunakan system pemodelan awal yang akan

    dikembangkan seiring dengan permintaan dari user.

    Gambar 2.5 Prototyping model

  • 16  

    2.1.3.4.2. Spiral model

    Proses model yang dibuat oleh Boehm ini menggabungkan

    antara proses berulang yang dimiliki oleh prototyping dan aspek

    sistematis dan terkontrol yang dimiliki oleh waterfall model yang

    memungkinkan software dikembangkan dengan lebih cepat dan

    lebih lengkap. Menurut boehm, model ini digambarkan sebagai

    pembuat proses model yang didorong oleh resiko untuk

    membimbing para investor dan pemegang saham dalam rekayasa

    perangkat lunak intensif secara bersama-sama

    (pressman,2005,86).

    Model ini memiliki dua fitur utama yang berbeda,

    pertama, pendekatan berputar untuk pengembangan bertahap dari

    derajat definisi sebuah system dan implementasi sementara

    mengurangi derajat resiko. Yang kedua, adalah untuk menetapkan

    target kerja dan perkiraan kejadian untuk meyakinkan komitmen

    para pemegang saham untuk melihat hasil yang dapat diukur, dan

    untuk kepuasan solusi perusahaan yang saling menguntungkan.

  • 17  

    Gambar 2.6 spiral model

    2.2 Interaksi Manusia dan Komputer

    Interaksi Mansuia dan Komputer dalam bahasa inggris disebut dengan Human

    Computer Interaction (HCI) adalah sebuah disiplin ilmu yang mempelajari perancangan,

    implementasi, dan evaluasi sistem komputasi interaktif dan berbagai aspek terkait

    (Hewett, et al., 1992, 1996)

    Bagian ini menyajikan prinsip-prinsip yang mendasari perancangan desain yang

    diterapkan dalam sistem yang paling interaktif. Prinsip-prinsip yang mendasari

    perancangan desain ini, berasal dari pengalaman yang heuristik, yang sudah disetujui

    dan di sempurnakan. Prinsip–prinsip itu disebut 8 aturan emas.

  • 18  

    Berikut ini adalah delapan aturan emas dari desain antarmuka menurut

    schneiderman(1998,74):

    1. Berusaha Untuk Konsisten

    Aturan ini salah satu yang paling sering di langgar, tetapi dengan mengikuti

    aturan ini bisa menjadi rumit karena ada banyak bentuk konsistensi. Tindakan

    yang konsisten harus ada pada saat situasi yang mirip, Istilah yang serupa harus

    di gunakan pada prompt, menu, dan layar bantuan. Dan warna yang konsisten,

    rancangan,jenis huruf dan seterusnya harus digunakan secara keseluruhan.

    2. Memungkinkan pengguna untuk menggunakan shortcut

    Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan

    interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi,

    dan fasilitas makro. Waktu respon yang singkat dan tingkat kecepatan tampilan

    merupakan daya tarik bagi pengguna.

    3. Memberikan umpan balik yang informatif

    Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik.

    Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan

    umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang

    penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu

    suara ketika salah menekan tombol pada waktu input data atau muncul pesan

    kesalahannya.

  • 19  

    4. Merancang dialog untuk menghasilkan suatu penutupan

    Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian

    awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi

    bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok

    tindakan berikutnya.

    5. Memberikan penanganan kesalahan yang sederhana

    Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan

    kesalahan fatal. . “Misal di bagian menu form registrasi, dilarang menggunakan

    alphabet pada field yang harus di isi dengan angka.”

    Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan

    memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan

    x`kesalahan. “Misal User tidak perlu mengetik ulang dari awal apa bila terjadi

    kesalahan pada pengisian form, hanya perlu memperbaiki field yang mengalami

    eror saja.

    6. Mudah kembali ke tindakan sebelumnya

    Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui

    kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk

    mengekplorasi pilihan-pilihan lain yang belum biasa digunakan.

    7. Mendukung tempat pengendali internal (internal locus of control)

    Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan

    yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol

    pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna

    menjadi inisiator daripada responden.

  • 20  

    8. Mengurangi beban ingatan jangka pendek

    Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau

    banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu

    pelatihan untuk kode, mnemonic, dan urutan tindakan.

    2.3 E-Commerce

    2.3.1 Definisi E-Commerce

    Menurut chaudury dan kuilboer(2002,p6), E-Commerce adalah

    frasa yang digunakan untuk menggambarkan beberapa konsep yang

    berelasi dan fenomena bisnis. Kegiatan-kegiatan seperti membeli buku,

    mengecek saldo bank via internet sudah dapat dikatakan sebagai e-

    commerce. Kegiatan-kegiatan diatas memiliki 2 hal yang sama, yaitu

    kegiatan diatas berhubungan dengan bisnis dan kegiatan komersil, dan

    kegiatan-kegiatan diatas berjalan berbasis internet dan menggunakan

    world wide web

    2.3.2 Tipe-Tipe E-Commerce

    2.3.2.1 Business-to-consumer(B2C)

    Business-to-Consumer e-commerce, melibatkan pembelian, dan

    kegiatan-kegiatan seperti promosi, pemesanan dan pembayaran. Dalam

    B2C, consumer langsung menggunakan internet, dan melakukan aktivitas

    seperti mencari, memesan dan melakukan pembayaran.

  • 21  

    Aktivitas yangdikerjakan dalam B2C adalah

    1. Promosi

    Teknik yang digunakan meliputi:

    1. Banner

    2. Buttons

    3. Superstitials

    4. Rich media banners

    Kekurangan web untuk promosi adalah

    • Hanya banner kecil yang diperbolehkan.

    • Pengguna web tidak bisa dikontrol

    • Tingkat keefektifan tidak di perlihatkan oleh

    web

    Kelebihan web untuk promosi adalah

    • Interaktif dengan pengguna

    • Lebih fokus daripada media informasi yang

    lain

    • Web adalah alat untuk berinteraksi antar

    pengguna

    2. Pemesanan

    Pemesanan lewat web lebih mudah karena tidak perlu

    pergi keluar rumah dan tidak perlu membuang waktu

    untuk perjalanan ke toko.

  • 22  

    3. Pengantaran barang

    Lebih cocok untuk konten digital, karena menghemat

    waktu biaya,sebagai alternatif yang dapat dilakukan untuk

    pengiriman produk. Meskipun demikian kami berpendapat bahwa,

    sekarang ini tidak hanya konten digital yang dapat dikirimkan

    melalui e-commerce.

    4. After-Sales Support

    After sales support sangat penting, karena merupakan

    mata rantai terakhir antara produsen dan konsumen. Internet

    membuat hubungan ini menjadi lebih mudah terjalin misal

    dengan lebih mudah. Konsumen dapat bertanya dan mendapat

    respon lebih cepat melalui email dan produsen menggunakan

    mesin penjawab untuk menjawab pertanyaan konsumen yang

    sering ditanyakan.

    2.3.2.2 Bussiness to Business(B2B)

    Bussiness to Business E-Commerce mengalami

    pertumbuhan yang cukup fenomenal dengan disadarinya potensi

    internet guna menekan biaya yang digunakan antar produsen

    dalam rantai persediaan mereka. Ini memperbolehkan mereka

    untuk melakukan penggabungan antara produksi dan rencana

    pengiriman barang.

  • 23  

    Aktivitas yang dikerjakan dalam B2B adalah

    1. Mengumpulkan informasi tentang produk yang

    dibutuhkan.

    Perusahaan yang membeli produk yang

    rumit harus mengetahui informasi-informasi

    seperti spesifikasi, pelayanan yang diberikan,

    kualitas dan garansi.

    2. Prapembelian

    Terdiri dari langkah-langkah yang harus

    dilakukan sebelum melakukan pembelian seperti

    meminta proposal, meminta harga, pemberian

    spesifikasi kepada penjual, dan negosiasi kondisi

    kontrak.

    3. Pembelian

    Langkah ini berisi tentang apa yang harus

    dikerjakan dalam melakukan pemesanan barang.

    4. Pengiriman dan bukti pembayaran barang

    Pembeli harus di informasikan tentang

    jadwal pengiriman dan bukti pembelian harus

    disediakan dengan baik.

  • 24  

    5. Pembayaran

    Penjual harus dibayar sesuai dengan

    kontrak dan instruksi pembayaran harus di berikan

    pada bank.

    2.4 Database

    2.4.1 Pengertian Database

    Basis data adalah koleksi data berbagi yang berhubungan secara logikal,

    dan deskripsi dari data tersebut, didesain untuk memenuhi kebutuhan informasi

    dan data satuan yang besar yang dapat digunakan secara terus menerus oleh

    berbagai dapartemen dan pengguna informasi. (Connolly,2002, 14)

    Basis data adalah kumpulan data, yang biasa menggambarkan kegiatan

    dari satu atau lebih organisasi yang saling terkait.(Raghu Ramakrishnan,2000,3)

    Basis data adalah koleksi data logika terkait yang terorganisir yang

    mungkin dari berbagai ukuran dan kompleksitas. (Jeffrey A. Hoffer,2005,4)

    Basis data adalah koleksi data persistent yang bisa dibagi dan saling

    berhubungan. (Michael V.Mannino,2001,4)

    • Persistent berarti bahwa data berada pada penyimpanan stabil

    seperti disk magnetic (Hard Disk)

    • Dibagi berarti bahwa basis data dapat memiliki kegunaan ganda

    dan pengguna yang menyediakan memori bersama untuk

    beberapa fungsi dalam suatu organisasi.

  • 25  

    • Saling berhubungan berarti bahwa data disimpan sebagai unit

    yang terpisah dapat dihubungkan untuk memberikan gambaran

    keseluruhan.

    2.4.2 Komponen Basis Data

    • Records

    Menurut Connolly (2002, p8), records adalah suatu kumpulan

    data yang bersatu karena memiliki kesamaan logikal.

    • Fields

    Menurut Connolly (2002, p8), fields adalah kumpulan dari

    berbagai karakter yang merepresentasikan karakteristik dari

    objek-objek pada dunia nyata yang dibentuk menjadi suatu

    permodelan.

    Fields mengandung berbagai karakteristik dari berbagai

    properties, seperti alamat, tipe properties, dan banyaknya

    ruangan (Connolly, 2002, p8).

    • File

    File adalah himpunan dari semua kejadian yang diberikan dari

    struktur record. (whitten, 2004, p552).

    • Entity

    Entity adalah sebuah objek yang berbeda dalam organisasi yang

    akan di wakili dalam basis data. (Connolly, 2002, p15)

    • Relationship

    Relation adalah Hubungan antara entity. (Connolly, 2002, p15)

  • 26  

    • Attribute

    Attribute adalah properti yang menggambarkan beberapa aspek

    dari objek yang ingin kita rekam. (Connolly, 2002, p15)

    • Primary Key

    Primary Key adalah kunci kandidat yang terpilih untuk

    mengidentifikasi tupel secara unik dalam relasi (Connolly, 2002,

    p79).

    • Foreign Key

    Foreign key adalah atribut atau seperangkat atribut, dalam satu

    hubungan yang sesuai dengan kandidat key dari beberapa

    hubungan. (Connolly, 2002, p79)

    • Domain

    Domain adalah kumpulan nilai yang diperbolehkan untuk satu

    atau lebih attribute. (Connolly, 2002, p72)

    • Tuple

    Tuple adalah baris data dari sebuah tabel. (Connolly, 2002, p73)

    • Degree

    Degree dari sebuah tabel adalah jumlah dari attribute yang

    dimiliki oleh sebuah tabel. (Connolly, 2002, p74)

    • Cardinality

    Cardinality dari sebuah tabel adalah jumlah baris data yang

    dimiliki oleh sebuah tabel. (Connolly, 2002, p74)

  • 27  

    • Relational Database

    Relational database adalah kumpulan dari tabel yang sudah di

    normalisasi dengan nama tabel yang berbeda. (Connolly, 2002,

    p74)

    Gambar 2.7 komponen database

  • 28  

    2.4.3 Entity Relationship Diagram

    Entity Relationship Diagram atau biasa kita kenal dengan ERD

    adalah model data yang menggunakan beberapa notasi untuk

    menggambarkan data dalam konteks entitas dan hubungan yang

    dideskripsikan oleh data tersebut. (Whitten, 2004, p281)

    Gambar 2.8 ERD

    Entity Relationship Diagram memiliki Tiga Komponen yaitu:

    1. Entity

    Entity adalah kelompok orang, tempat, objek, kejadian atau konsep

    tentang apa yang kita perlukan untuk mencapture dan menyimpan

    data.(Whitten, 2004, p281)

  • 29  

    • Entity Type

    Tipe entitas adalah sebuah kumpulan objek yang memiliki

    kesamaan properti yang teridentifikasi oleh sebuah perusahaan

    dan mempunyai keberadaan yang independen (Connolly, 2002,

    p331).

    • Entity Occurrence

    Entity Occurrence adalah sebuah objek yang secara unik dapat

    teridentifikasi dengan tipe entitas (Connolly, 2002, p333).

    2. Attribute

    Attribute adalah sifat atau karakteristik deskriptif suatu entitas

    (Whitten, 2004, p281)

    Menurut Connolly (2002, p338), atribut adalah deskripsi data

    yang mengidentifikasikan entitas yang membedakan entitas tersebut

    dengan entitas lainnya.

    Atribut domain adalah kumpulan nilai-nilai yang diperbolehkan

    untuk satu atau lebih atribut (Connolly, 2002, p339). Domain

    mendefinisikan nilai-nilai potensial yang dapat memegang atribut dan

    mirip dengan konsep domain dalam model relasional.

    Setiap atribut mempunyai key diantaranya Primary Key (PK) dan

    Foreign Key (FK)

  • 30  

    Atribut itu dapat dibedakan menjadi simple atau composite;

    single-valued atau multi-valued; atau derived, yaitu:

    • Simple Attribute adalah atribut yang tediri dari komponen tunggal

    dengan adanya kemandirian. Atribut simple tidak dapat dibagi

    menjadi komponen yang lebih kecil. (Connolly, 2002, p339)

    • Composite Attribute adalah atribut yang terdiri dari beberapa

    komponen, yang masing-masingnya bersifat independen.

    (Connolly, 2002, p339)

    • Single-Valued Attribute adalah atribut yang memegang nilai

    tunggal dari suatu entitas. Sebagai contoh : nama_guru hanya

    boleh diisi dengan 1 nama guru. Mayoritas atribut pada entitas

    adalah single-valued. (Connolly, 2002, p339-340)

    • Multi-valued Attribute adalah atribut yang dapat memegang nilai

    lebih dari satu nilai dari suatu entitas. Contoh: pada field no_telp

    setiap orang biasanya memiliki lebih satu nomor telepon.

    (Connolly, 2002, p340)

    • Derived attribute adalah atribut yang mewakili nilai yang

    diturunkan dari nilai sebuah atribut yang berkaitan atau

    seperangkat atribut, belum tentu dalam tipe entitas yang sama.

    (Connolly, 2002, p340)

  • 31  

    3. Relationship

    Menurut Whitten (2004, p284) Relationship adalah asosiasi bisnis

    alami antara satu entitas atau lebih. Biasanya dalam suatu relasi,

    entitas yang berhubungan memiliki kata kerja aktif yang menunjukan

    bahwa keduanya saling berhubungan satu sama lain.

    • Tipe relasi adalah hubungan antara satu atau lebih entitas yang

    saling berhubungan (Connolly, 2002, p334).

    • Relationship occurence adalah hubungan unik yang

    diidentifikasiban, yang mencakup satu kejadian dari setiap jenis

    entitas yang berpartisipasi (Connolly, 2002, p334).

    Adapun pendeskripsian bagaiman relasi dapat diturunkan dari struktur

    data model yang ada, antara lain:

    • Tipe Entitas Kuat (Strong Entity)

    Strong entity adalah tipe entitas yang dapat berdiri sendiri

    yang tidak tergantung dengan entitas lainnya. Jadi entitas dapat

    dikatakan kuat jika entitas tersebut dapat tidak tergantung oleh

    entitas lainnya.

    • Tipe Entitas Lemah (Weak Entity)

    Weak entity adalah tipe entitas yang tidak dapat berdiri

    sendiri sehingga harus bergantung pada entitas lainnya yang

    saling berhubungan. Karakteristik dari weak entity yaitu setiap

    entitas occurrence yang tidak dapat teridentifikasi secara unik.

  • 32  

    • Tipe relasi one to many (1:*)

    One-to-many adalah hubungan relasi seperti digambarkan

    pada gambar dibawah ini, yaitu pada satu kelas dapat memiliki

    banyak siswa.

    Gambar 2.9 Tipe Relasi one to many

    • Tipe relasi one to one (1:1)

    One-to-one merupakan hubungan relasi seperti

    digambarkan pada gambar dibawah ini, satu siswa pasti hanya

    memiliki satu nomor induk.

    Gambar 2.10 Tipe relasi one to one

    • Relasi rekursif one to one (1:1)

    Recursive Relationship adalah sebuah tipe relasi dimana

    entitas yang sama tipenya mempartisipasi lebih dari satu peran.

  • 33  

    • Tipe relasi superclass/sublcass

    Untuk setiap hubungan superclass/subclass dalam model

    data konseptual, kami mengidentifikasi entitas supperclass

    sebagai entitas induk dan entitas subclass sebagai entitas anak.

    • Tipe relasi many to many (*:*)

    Many-to-many adalah hubungan relasi seperti yang

    digambarkan dibawah ini, jadi satu siswa mempunyai banyak

    topik dan setiap topik dapat dilihat atau di miliki oleh banyak

    siswa.

    Gambar 2.11 Tipe relasi many to many

    • Tipe relasi kompleks

    Complex Relationship adalah sebuah tipe relasi dimana

    entitas yang satu berhubungan dengan entitas yang lainnya yang

    dapat membentuk sirkulasi dalam suatu hubungan.

  • 34  

    2.4.4 Normalisasi

    Menurut Connolly (2002, p376), normalisasi adalah suatu teknik

    untuk menghasilkan satu kumpulan hubungan dengan sifat yang

    diinginkan, mengingat kebutuhan data perusahaan. Proses normalisasi

    pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. Ketika kita

    akan mendesain suatu hubungan basis data, tujuan utamanya adalah

    untuk menciptakan suatu representasi yang akurat dari data, hubungan,

    dan kendala. Proses normalisasi melibatkan beberapa langkah, antara

    lain:

    • Unnormalized Form (UNF)

    UNF adalah tabel yang terdiri dari satu atau lebih grup

    yang berulang. Bentuk UNF yaitu data-data belum memiliki relasi

    yang berhubungan. Untuk mengubah dari unnormalized table ke

    bentuk normal pertama, kita harus mengidentifikasi dan

    menghilangkan grup yang berulang dalam suatu tabel.

    • First Normal Form (1NF)

    1NF adalah suatu hubungan di mana persimpangan setiap

    baris dan kolom berisi satu dan hanya satu nilai. Pada 1NF tidak

    ada kumpulan atribut yang bernilai ganda atau berulang dan setiap

    atribut hanya memiliki satu pengertian. Pada 1NF sudah terbentuk

    primary key untuk tabel tersebut.

  • 35  

    • Second Normal Form (2NF)

    2NF adalah suatu hubungan yang setiap atribut non-

    primary key fungsional sepenuhnya tergantung pada primary key

    (full functional dependency). Pada tahap ini ketergantungan

    parsial sudah dihilangkan.

    • Third Normal Form (3NF)

    3NF adalah hubungan yang masih dalam bentuk normal

    pertama dan kedua, dan di mana tidak ada atribut non primary key

    yang tergantung secara transitif (Transitive Dependency) pada

    primary key.

    • Boyce-Codd Normal Form (BCNF)

    Boyce-Codd Normal Form (BCNF) menghilangkan

    anomali sisa dari dependensi fungsional. BCNF merupakan relasi

    “jika dan hanya jika”, setiap determinan adalah kunci kandidat.

    2.5 Security

    Dalam pengembangan aplikasi berbasis web dengan menggunakan PHP

    kerapkali kita menggunakan koneksi untuk menghubungkan database dengan

    aplikasi web. Maka dari itu kita biasanya menerapkan security untuk digunakan

    pada database dan aplikasinya.

  • 36  

    2.5.1 Database Security (Pengamanan basis data)

    Pengamanan basis data (Database Security) adalah mekanisme yang

    melindungi basis data dari ancaman yang disengaja maupun yang tidak

    disengaja.

    Berikut ini adalah situasi-situasi yang berhubungan dengan keamanan

    basis data :

    • Pencurian dan penipuan (Theft And Fraud)

    • Kehilangan Kerahasiaan (Lost of Confidentiality)

    • Kehilangan keleluasaan (Lost of Privacy)

    • Kehilangan Kualitas (Lost of Integrity)

    • Kehilangan Ketersediaan (Lost Of Availabilty)

    2.5.1.1 Threats (Ancaman)

    Segala situasi atau kejadian, baik disengaja atau tidak

    disengaja, yang dapat merugikan juga mempengaruhi sistem dan

    organisasi sebagai sebabnya.

  • 37  

    Table 2.1 Daftar Ancaman Pada Database

    Contoh-contoh ancaman

    Ancaman A B C D E

    Akses

    pengguna lain

    Menduplikasi

    data

    Akses ilegal

    oleh hacker

    BlackMail

    Membuat

    ‘Trapdoor’

    dalam sistem

    Kekurangan

    staff

    Pelatihan staff

    yang tidak

    memadai

  • 38  

    Bencana Alam

    Masuknya

    Virus

    Keterangan:

    A: Pencurian dan penipuan (Theft And Fraud)

    B: Kehilangan Kerahasiaan (Lost of Confidentiality)

    C: Kehilangan keleluasaan (Lost of Privacy)

    D: Kehilangan Kualitas (Lost of Integrity)

    E: Kehilangan Ketersediaan (Lost Of Availabilty)

    2.6 Internet

    2.6.1 definisi internet

    Definisi internet menurut ellsworth (1997,3), internet merupakan jaringan

    besar yang dibentuk oleh interkoneksi jaringan komputer dan komputer tunggal

    di seluruh dunia, lewat saluran telepon, satelit dan sistem komunikasi lainnya.

    Menurut johnson(2004,4), internet terdiri dari jutaan komputer yang

    terhubung bersama seperti jaring laba-laba yang besar.

    2.7 website

    2.7.1 definisi website

  • 39  

    Menurut johnson(2004,13), website adalah informasi dalam

    bentuk tulisan, grafik, audio, dan video yang di publikasikan di komputer

    yang dapat dikunjungi melalui alamatnya yang unik dan di lihat

    menggunakan web browser.

    2.7.2 Teori aplikasi berbasis web

    Menurut Adi Nugroho(2010,315) ,Aplikasi berbasis web adalah

    aplikasi yang berjalan di berbagai browser web seperti internet explorer,

    mozilla firefox, Opera,dan sebagainya.Dan biasanya aplikasi berbasis

    web ini dijalankan dengan menggunakan database MySQL dan SQL

    server. MySQL adalah database yang paling populer.

    Seiring berjalannya waktu, aplikasi jenis ini berkembang dengan

    cukup pesat terutama yang di kembangkan berbasis object oriented.

    Aplikasi web yang berbasis objek diminati karena dapat mempermudah

    manusia dengan menghilangkan halangan jarak dan waktu yang ada.

    Yang sedang menjadi tren saat ini adala aplikasi web mobile yang

    memudahkan manusia ketika sedang sibuk dan tidak memiliki waktu

    untuk melakukan pembayaran contoh: internet banking, pembelian tiket

    online, bahkan sampai dengan laporan keuangan berbasis web.

  • 40  

    2.8 sistem informasi penjualan

    2.8.1 Penjualan

    Menurut Pederson(1988,8), penjualan adalah kegiatan

    menjual barang/jasa untuk mendapatkan keuntungan.

    Proses yang menyebabkan dan membantu konsumen yang

    prospektif untuk membeli barang atau jasa atau bersikap menguntungkan

    terhadap ide yang memiliki arti komersial untuk penjual (Mauser,

    1977,8).

    Kegiatan membujuk orang lain untuk melakukan sesuatu saat

    tidak memiliki atau tidak dapat mendesakorang lain untuk memaksa

    orang lain melakukannya(Russel,1978,3).

    Menurut Pederson(1988,8), definisi penjualan yang lebih

    menggambarkan keadaan yangterjadi adalah proses dimana penjual

    mengetahui, mengaktifkan, dan memuaskan kebutuhan pembeli yang

    menguntungkan dan memberikan keuntungan berkelanjutan antara

    pembeli dan penjual.

    2.8.2 Penjualan Kredit

    Penjualan kredit adalah penjualan barang dagangan dengan

    kesepakatan antara penjual dan pembeli pada saat transaksi yaitu

    pembayaran akan dilakukan pada masa yang akan dating(wibowo dan

    arif,2008,79)

  • 41  

    2.9 Data Flow Diagram

    Aliran data menurut whitten(,338), adalah data dalam pergerakan yang

    menunjukkan proses input data ke proses atau output data atau informasi dari proses.

    Diagram aliran data menggambarkan proses ini dengan menggunakan bentuk-

    bentuk sederhana. Contoh DFD dapat dilhat pada gambar 2.12.

    Gambar 2.12 DFD

    Bentuk-bentuk yg digunakan dalam DFD adalah

    Untuk menggambarkan aktor.

  • 42  

    untuk menggambarkan proses.

    Untuk menggambarkan aliran data yang berlangsung.