BAB II DASAR TEORI
2.1 Pemrograman Database 2.1.1 Pengertian Database Penggunaan database sebagai pengolah data mempunya peran dalam perkembangan komputer. Database mempunyai banyak peran kritikal di seluruh area seperti bisnis, e-commerce, ilmu perpustakaan, bidang engineering, kedokteran, dll. Menurut Ramez Elmasri dan Shamkant B. Navantie (2011), database adalah sekumpulan data yang berelasi, dimana data mempunyai sifat sebagai berikut:
Database merepresentasikan beberapa aspek dunia nyata yang disebut miniworld atau universe of discourse (UOD). Perubahan miniworld ke dalam database.
Database adalah kumpulan data yang koheren secara logika.
Database didesain, dibangun, dan dipopulasikan dengan data untuk tujuan tertentu. Database dapat dihasilkan dan dipertahankan secara manual atau
terkomputerisasi. Database yang terkomputerisasi dapat dibuat dan dipertahankan dengan sejumlah program aplikasi yang ditulis secara spesifik untuk tugas atau database management system. Menurut Ramez Elmasri dan Shamkant B. Navantie (2011), Database management system (DBMS) adalah sekumpulan program yang dapat digunakan user untuk membuat dan mempertahankan database. DBMS adalah generalpurpose software system yang menyediakan proses defining, constructing, manipulating, dan sharing database antara berbagai user dan aplikasi. Defining database menyertakan spesifik tipe data. Sruktur, dan constraint data untuk disimpan ke database. Constructing database adalah proses menyimpan data 2-1 http://digilib.mercubuana.ac.id/
pada media penyimpanan yang dikendalikan oleh DBMS. Manipulating database termasuk fungsi seperti query database untuk mendapatkan data yang spesifik, update database untuk merefleksikan perubahan pada miniworld, dan menghasilkan laporan dari data. Sharing database mengizinkan mulitiple user dan program untuk mengakses database secara simultan. Users/programmer Database System
Application Programmer/Queries
Database Software
Software to Process Queries/Programs
Software to Access Stored Data
Stored Database Definition (Meta Data)
Stored Database
Gambar 2.1 Database System
Database mempunyai karakteristik yang berbeda dengan penyimpanan file cara lama. Pada file processing dengan cara tradisional, setiap user mendefinisikan dan mengimplementasikan file untuk aplikasi software secara spesifik sebagai bagian dari aplikasi programming. Sebagai contoh, satu user, staff laporan nilai, dapat menyimpan file murid dan nilai mereka. Program untuk mencetak transkrip nilai dan memasukan nilai.user kedua, staff accounting, bertugas menjaga pembayaram murid. Meskipun kedua user berhubungan dengan data mengenai murid, setiap user menjaga file terpisah dan memprogram untuk memanipulasi file tersebut, karena masing-masing beberapa data yang dibutuhkan 2-2 http://digilib.mercubuana.ac.id/
tidak tersedia dari file user lain. Redudansi dalam defining dan penyimpanan data menyebabkan terbuangnya ruang penyimpanan data. Pada database, penyimpanan das tunggal menjaga data yang didefinisikan sekali dan diakses lebih dari satu user. Dalam sistem file setiap aplikasi bebas menamai element data. Pada database, nama atau label data didefinisikan sekali dan digunakan secara berulang oleh query, transaksi, dan aplikasi. Karakteristik database adalah sebagai berikut :
Self-describing nature of a database system
Insulasi antara program dan data dan abstraksi data
Mendukung multiple view data
Sharing data dan multiuser transaction processing
2.1.2 MySQL MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau DBMS), seperti halnya Oracle, PostgreSQL, MSSQL, dan sebagainya. SQL merupakan singkatan dari Structure Query Language, didefinisikan sebagai suatu sintaks perintah-perintah tertentu atau bahasa program yang digunakan untuk mengelola suatu database. Jadi MySQL adalah software-nya dan SQL adalah bahasa perintahnya. Perintah-perintah MySQL Query dikirimkan ke database dalam bentuk SQL Query. Beberapa perintah yang umum digunakan adalah sebagai berkut: a. CREATE : Untuk membuat table baru CREATE TABLE ( , , . . . . . . . . .PRIMARY KEY () FOREIGN KEY () REFERENCES () b. SELECT : Untuk mengambil record dari database yang memenuhi kriteria tertentu SELECT , , . . . FROM WHERE c. INSERT : Untuk menambah record ke dalam suatu table INSERT INTO (, ) VALUES (, , . . .) d. UPDATE : Untuk merubah isi record tertentu pada suatu table UPDATE SET ( = , = , . . . ) WHERE
2-3 http://digilib.mercubuana.ac.id/
e. DELETE : Untuk menghapus record pada suatu table DELETE FROM WHERE f. DROP : Untuk menghapus database
2.2 Pemrograman Web 2.2.1 HTML HTML yang merupakan singkatan dari Hyper Text Markup Language adalah serangkaian kode program yang merupakan dasar dari representasi visual sebuah halaman web. Didalamnya berisi kumpulan informasi yang disimpan dalam tag tertentu, dimana tag tersebut digunakan untuk melakukan format terhadap informasi yang dimaksud. Berbagai pengembangan telah dilakukan terhadap kode HTML dan telah melahirkan teknologi-teknologi baru di dalam dunia pemrograman web. Kendati demikian, sampai sekarang HTML tetap berdiri kokoh sebagai dasar dari bahasa web seperti PHP, ASP, JSP dan lainnya. Bahkan secara umum, mayoritas situs web yang ada di internet pun masih tetap menggunakan HTML sebagai teknologi utama mereka. Secara garis besar terdapat 4 jenis elemen dari HTML yaitu : 1. Structural adalah kode program yang menentukan level atau tingkatan dari sebuah tulisan. Contoh : Mozilla akan memerintahkan browser untuk menampilkan "Mozilla" sebagai tulisan tebal besar yang menunjukkan sebagai Heading 1. 2. Presentational adalah kode yang menentukan tampilan dari sebuah tulisan, tidak peduli dengan level dari tulisan tersebut. Contoh : Cetak Tebal maka pada browser akan menampilkan "Cetak Tebal". Namun kode-kode presentational saat ini sudah mulai digantikan dengan penggunaan CSS (Cascading Style Sheets) dan tidak direkomendasikan lagi untuk mengatur tampilan tulisan. 3. HyperText kode program HTML yang menunjukkan hubungan (link) ke bagian lain dari dokumen tersebut atau link ke dokumen lain. contoh :
2-4 http://digilib.mercubuana.ac.id/
dress maka pada browser akan menampilkan "dress" sebagai sebuah hyperlink yang menuju url lain. 4. Elemen Widget yang membuat objek-objek lain seperti tombol , list dan garis horizontal Konsep hypertext pada HTML memungkinkan kita untuk membuat link pada suatu kelompok kata atau frasa untuk menuju ke bagian manapun dalam World Wide Web (WWW). 2.2.2 PHP PHP dimulai sebagai proyek kecil open source yang berkembang lebih dan banyak orang menemukan bagaimana kegunaan PHP. PHP adalah singkatan dari Hypertext Preprocessor. PHP adalah bahasa script yang terhubung dengan HTML. PHP digunakan sebagai dinamik konten, database, tracking sesi, bahkan keseluruhan situs e-commerce. PHP terintegrasi dengan banyak database populer, termasuk MySQL, PostgreSQL, Oracle, Sybase, Informix, dan MSSQL.
PHP menyediakan
dukungan untuk 6 tipe general data :
Integers
Floating-point numbers
Strings
Arrays
Objects
Booleans Berikut contoh pemrograman PHP :
Listing 1-1: Dynamic PHP page creation // Set a few variables $site_title = "PHP Recipes"; $bg_color = "white"; $user_name = "Chef Luigi"; ?>
print $site_title; ?>
2-5 http://digilib.mercubuana.ac.id/
// Display an intro. message with date and user name. print " PHP Recipes | ".date("F d, Y")."
Greetings, $user_name!
"; ?>
Gambar 2.2 Hasil Dari Dynamic PHP page creation
2.3 JQuery JQuery adalah sebuah framework berbasiskan Javascript. JQuery sama dengan Javascript Library yaitu kumpulan kode atau fungsi Javascript siap pakai, sehingga mempermudah dan mempercepat kita dalam membuat kode Javascript. Hal yang menarik dari JQuery adalah penekanan interaksi antara Javascript dan HTML. Beberapa kemampuan yang dimiliki oleh JQuery sebagai berikut: 1.
Memanipulasi elemen HTML
2.
Memanipulasi CSS
3.
Penanganan event HTML
4.
Efek-efek javascript dan animasi
5.
Modifikasi HTML DOM 6. AJAX
2-6 http://digilib.mercubuana.ac.id/
Kelebihan dari JQuery yakni Write less, do more yaitu menyederhanakan penggunaan Javascript yang ada, karena kita cukup menggunakan fungsi library Javascript yang ada, juga mempercepat coding Javascript dalam sebuah website, dibandingkan kita harus memulai sebuah script Javascript satu persatu. JQuery Selector adalah fungsi utama pada JQuery. Semua fungsi di JQuery dapat diakses melalui selector. Penggunaan paling dasarnya adalah mem-passingkan sebuah ekspresi yang kemudian selanjutnya JQuery akan mencari elemen yang cocok. Pada intinya ini adalah fungsi untuk memilih elemen-elemen pada halaman web. JQuery Manipulation digunakan untuk memanipulasi struktur dokumen. Ada beberapa kategori manipulasi yang di-support oleh JQuery yaitu perubahan content, kita dapat merubah content dari sebuah objek dengan dua fungsi yaitu HTML dan text, bedanya jika menggunakan text maka semua tag HTML akan dituliskan sebagai mana mestinya. Contoh : $("p").click(function () { var htmlStr = $(this).html(); $(this).text(htmlStr); }); Insert kedalam objek. Setelah kita memilih sebuah objek, kita dapat memasukkan tab HTML atau objek kedalamnya. ada dua jenis insert yaitu append dan prepend. Append menambahkan objek baru setelah value dari object tersebut, sedangkan prepend di depannya. Contoh : $("p").append("Hello"); $("span").appendTo("#conto");
//
Objek
dengan
ID
conto
akan
dimasukkan kedalam span $("p") .prepend("Hello "); $("span").prependTo("#conto"); Insert dikeluar objek. Objek yang akan ada tambahkan akan ada diluar masingmasing tag yang dipilih.
2-7 http://digilib.mercubuana.ac.id/
Contoh : $("p").before("Hello"); $("p").after("Hello"); $("span").insertAfter("#conto"); $("span").beforeAfter("#conto"); Insert kesekitar objek. Me-replace objek. Kita dapat mengganti isi dari objek dengan syntax ini. Contoh $("button").click(function () { $(this).replaceWith("
" + $(this).text() + "
"); });
Menghapus objek. kita dapat menghapus objek tertentu. Contoh $("button").click(function () { $("p").empty(); }); $("button").click(function () { $("p").remove(); });
Meng-copy objek. Meng-copy objek ke tempat lain . Contoh $("b") .clone().prependTo("p");
2.4 QR Code QR Code adalah image berupa matriks dua dimensi yang memiliki kemampuan untuk menyimpan data di dalamnya. QR Code merupakan evolusi dari kode batang (barcode). Barcode merupakan sebuah simbol penandaan objek nyata yang terbuat dari pola batang-batang berwarna hitam dan putih agar mudah untuk dikenali oleh computer. Berbeda dengan barcode biasa yang berbentuk satu dimensi dan menyimpan informasi secara horizontal, QR Code mampu 2-8 http://digilib.mercubuana.ac.id/
menyimpan informasi secara horizontal dan vertikal. QR Code juga mampu menyimpan teks alfanumerik, kanji, kana, hiragana, simbol, biner, dan control code. QR Code adalah simbol matriks dengan karakteristik sebagai berikut: 1. Karakter yang dapat di-encode: a. Data numerik (digit 0 - 9); b. Data alfanumerik (digit 0 - 9; huruf kapital A-Z; sembilan karakter tanda baca: space, $ % * + - . / : ); c. Data byte (default: ISO/IEC 8859-1); d. Huruf kanji. 2. Versi (Ukuran simbol) (tidak termasuk quiet zone): 21 x 21 modul hingga 177 x 177 modul (Versi 1 hingga 40, setiap versi yang lebih tinggi memiliki ukuran 4 modul lebih besar pada sisinya). 3. Ukuran maksimum simbol QR Code, Versi 40-L: a. Data numerik: 7089 characters b. Data alfanumerik: 4296 characters c. Data byte: 2953 characters d. Data kanji: 1817 characters 4. Level koreksi kesalahan yang tersedia: Empat level koreksi kesalahan Reed-Solomon dengan kemampuan koreksi sebagai berikut: a. L 7% b. M 15% c. Q 25% d. H 30% 5. Penambahan Terstruktur (Structured Append): Memungkinkan file data direpresentasikan secara logikal dan terus-menerus pada 16 simbol QR Code. Simbol dapat dipindai dengan urutan apapun agar data orisinal ter-rekonstruksi dengan benar. 2-9 http://digilib.mercubuana.ac.id/
6. Extended Channel Interpretations: Mekanisme ini memungkinkan untuk menggunakan karakter selain set karakter default (contoh: Arabic, Cyrillic, Greek) dan interpretasi data lainnya (contoh: data yang dikompresi menggunakan kompresi tertentu). QR Code merupakan singkatan dari Quick Response Code, atau dapat diterjemahkan menjadi kode respon cepat. QR Code dikembangkan oleh Denso Corporation, sebuah perusahaan Jepang yang banyak bergerak di bidang otomotif. QR Code ini dipublikasikan pada tahun 1994 dengan tujuan untuk pelacakan kendaraan di bagian manufaktur dengan cepat dan mendapatkan respon dengan cepat pula. Contoh sebuah QR Code dapat dilihat pada gambar 2.3.
Gambar 2.3 Bentuk QR Code Prosedur generator QR Code dari sebuah teks dapat dijelaskan dengan diagram alir pada gambar 2.4.
Gambar 2.4 Diagram Alir generate QR Code 2-10 http://digilib.mercubuana.ac.id/
Langkah-langkah untuk untuk membaca QR Code menjadi teks aslinya merupakan reverse atau kebalikan dari langkah-langkah pada generate QR Code. Secara umum prosedur pembacaan QR Code dapat dijelaskan dengan diagram alir pada gambar 2.5.
Gambar 2.5 Diagram Alir pembacaan (decode) QR Code
2.5 Metode Scrum Proses pengembangan sistem memiliki tingkat kompleksitas yang tinggi. Seringkali pengguna atau lingkungan organisasi menuntut perubahan secara tibatiba, yang tidak diantisipasi oleh tim pengembang. Kondisi ini sulit diantisipasi oleh metode pengembangan sistem konvensional seperti Waterfall. Pada tabel 2.1 menjelaskan perbedaan-perbedaan tersebut.
2-11 http://digilib.mercubuana.ac.id/
Tabel 2.1 Perbedaan Metode Scrum dengan metode lainnya Perbedaan Proses-proses yang jelas
Waterfall
Spiral
Iterative
SCRUM Saat perencanaan
Keseluruhan
Keseluruhan
Keseluruhan
dan penyelesaian saja
Ditentukan saat
Ditentukan saat
Ditentukan saat
Ditentukan saat
perencanaan
perencanaan
proyek berjalan
proyek berjalan
Ditentukan saat
Sebagian berupa
Ditentukan saat
Ditentukan saat
perencanaan
variabel
proyek berjalan
proyek berjalan
Jadwal
Ditentukan saat
Sebagian berupa
Ditentukan saat
Ditentukan saat
penyelesaian
perencanaan
variabel
proyek berjalan
proyek berjalan
Saat perencanaan
Kebanyakan saat
Setiap akhir
saja
perencanaan
iterasi
Produk akhir
Biaya proyek
Penyesuaian terhadap lingkungan Fleksibilitas dan kreativitas tim
Diseluruh proses Dapat dilakukan
Terbatas
Terbatas
Terbatas
pada setiap iterasi
Transfer
Pelatihan
Pelatihan
Pelatihan
pengetahuan
sebelum proyek
sebelum proyek
sebelum proyek
Kerjasama selama proyek berlangsung
Menurut Pressman (2010, p82) Scrum adalah metode cepat dalam pengembangan software yang diciptakan oleh Jeff Sutherland dan timnya di awal tahun 1990. Dalam beberapa tahun terakhir, pengembangan lebih lanjut dari metode Scrum telah dilakukan oleh Scwaber dan Beedle. Prinsip-prinsip Scrum konsisten dengan petunjuk cepat dan digunakan sebagai petunjuk aktivitas pengembangan dengan menggabungkan aktivitas framework : Requirement, Analysis, Design, Evolution dan Delivery . Dalam setiap aktivitas framework, tugas-tugas terjadi di dalam sebuah proses yang disebut sprint. Pekerjaan yang dilakukan dalam sebuah sprint (banyaknya sprint yang diperlukan tiap aktivitas kerangka kerja akan bervariasi tergantung dari kompleksitas produk dan ukuran) diadaptasikan ke permasalahan yang terjadi dan
2-12 http://digilib.mercubuana.ac.id/
didefinisikan bahkan sering dimodifikasi secara real-time oleh tim Scrum. Scrum terdiri dari tiga fase dengan detail sebagai berikut: 1. Pregame Perencanaan Ditentukan dari backlog yang sudah ada, termasuk jadwal dan biaya. Bila sebuah sistem baru akan dikembangkan, fase ini akan terdiri dari proses konseptualiasi dan analisa. Bila proyek terdiri dari pengembangan sistem yang lama, fase ini akan terdiri dari analisa terbatas Arsitektur: mendesain bagaimana daftar backlog akan diimplementasikan. Fase ini meliputi modifikasi arsitektur sistem dan desain di tingkat pengguna. 2. Game Pengembangan Sprints: pengembangan fungsi turunan yang baru, dengan mempertimbangkan variabel waktu, kebutuhan, kualitas, biaya, dan penyelesaian. Interaksi variabel-variabel ini akan menentukan akhir dari fase ini. Sistem akan menggunakan beberapa pengembangan Sprint, perulangan untuk pengembangan sistem 3. Postgame Penutupan: persiapan release produk, termasuk dokumentasi dan testing. Berikut adalah ilustrasi keseluruhan aliran proses Scrum.
Gambar 2.6 Pola metode SCRUM (sumber: http://www.kathan.at/snipsnap/space/snipsnapindex/development/methodologies+ %26+processes/scrum.gif) 2-13 http://digilib.mercubuana.ac.id/
Scrum menekankan penggunaan satu set pola proses software yang telah terbukti efektif untuk proyek dengan timeline yang ketat, perubahan kebutuhan dan kritikal bisnis. Tiap proses mendefinisikan kegiatan pengembangan. Backlog sebuah list kebutuhan proyek atau fitur menyediakan nilai bisnis untuk pelanggan. Hal-hal dapat ditambahkan ke backlog kapanpun (ini adalah bagaimana perubahan terjadi). Manager produk menilai backlog dan meng-update prioritas seperti yang dibutuhkan. Sprint terdiri dari unit kerja yang dibutuhkan untuk mencapai kebutuhan yang didefinisikan di dalam backlog yang harus diselesaikan dengan waktu yang telah difinisikan (biasanya 30 hari). Selama sprint terjadi tidak ada perubahan pada rencana karena itu sprint memperbolehkan tim untuk bekerja dalam waktu yang singkat tetapi dalam kondisi lingkungan yang stabil. Pertemuan Scrum adalah pertemuan singkat yang diadakan setiap hari oleh tim Scrum. Pada setiap pertemuan terdapat 3 pertanyaan kunci yang akan ditanyakan dan dijawab oleh semua tim : 1. Apa yang telah dilakukan sejak pertemuan tim terakhir ? 2. Hambatan apa yang dihadapi ? 3. Hal apa yang direncanakan untuk diraih pada pertemuan berikutnya? Seorang pemimpin tim atau Scrum master memimpin rapat dan menilai respon dari setiap orang. Pertemuan Scrum membantu tim mengenali potensial masalah secepat mungkin. Pertemuan Scrum juga mengarah ke “Knowledge Socialization” dan menghasilkan struktur tim yang mandiri. Demos memberi perkembangan software untuk pengguna sehingga fungsi yang telah diimplementasi, diadaptasi, didemonstrasi dan dievaluasi oleh pengguna. Penting untuk dicatat bahwa demo tidak mungkin berisi semua fungsi yang direncanakan, melainkan fungsi-fungsi yang dapat diselesaikan dalam timebox yang direncanakan.
2-14 http://digilib.mercubuana.ac.id/
2.6 Standard Modeling Notations Beberapa standard notasi model yang biasa digunakan dalam perancangan perangkat lunak adalah : 1. Unified Modeling Language (UML) Use Case Diagram (and scenarios) Use case diagram menggambarkan dan mengilustrasikan aktivitas dan
fungsionalitas yang diharapkan dari sebuah sistem. Use case
diagram juga mendesripsikan apa yang user dapat lakukan dan bagaimana sistem merespon. Dua kegunaan dalam use case adalah : a.
Use Case Diagram : Diagram menggambarkan interaksi antara sistem dan sistem eksternal dan user dan secara grafik menjelaskan siapa yang akan menggunakan sistem dan bagaimana cara user berinteraksi dengan system.
b.
Use Case Narrative : Deskripsi secara teks dari kejadian bisnis dan bagaimana user akan berinteraksi dengan sistem untuk menyelesaikan tugasnya.
Dalam use case terdapat beberapa komponen, diantaranya yaitu : a.
Actor
merepresentasikan
seseorang
atau
sesuatu
yang
berinteraksi dengan sistem untuk bertukar informasi. Actor dapat berupa manusia, organisasi, sistem informasi lainnya, atau perangkat eksternal. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. b.
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun dan merupakan skenario 2-15 http://digilib.mercubuana.ac.id/
untuk tujuan menyelesaikan tugas, Bagian dari fungsionalitas sistem secara keseluruhan, Dharwiyanti dan Satria Wahono (2003) menyimpulkan bahwa relasi yang menghubungkan antara actor dan use case ada dua macam, yaitu include dan extend. Include adalah suatu relasi dimana suatu use case harus terpenuhi lebih dulu agar sebuah event baru terjadi. Sebuah use case menjadi bagian dari use case lainnya. Sedangkan extend adalah relasi dimana suatu action akan terjadi dibawah kondisi tertentu.
Gambar 2.7 Komponen Use Case Diagram (Bentley, 2007) Activity Diagram Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana alur sistem itu berawal dan bagaimana mereka berakhir. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Diagram activity menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Dalam diagram activity terdapat beberapa simbol seperti pada Tabel 2.2.
2-16 http://digilib.mercubuana.ac.id/
Tabel 2.2. Simbol Activity Diagram Action Simple, bukan bagian penyelesaian dari behavior dan dilabelkan dengan namanya Activity Digunakan untuk merepresentasikan sejumlah action dan dilabelkan dengan namanya Object Node Digunakan untuk menggambarkan objek yang berhubungan dengan objek lainnya dan dilabelkan dengan namanya Control Flow Menunjukan eksekusi secara berurutan Object Dlow Menunjukan aliran objek dari satu activity (atau action) ke activity (atau action) lainnya Initial Node Menggambarkan awal dari sejumlah actions atau activities Final-Activity Node Digunakan untuk menghentikan semua aliran control dan aliran objek di dalam activity (atau action) Final-Flow Node Digunakan untuk menghentikan spesifik aliran control atau aliran objek. Decision Node Digunakan untuk representasi kondisi test untuk meyakinkan aliran control atau objek sesuai dengan satu jalur. Dilabelkan dengan kriteria decision untuk melanjukan spesifik path selanjutnya 2-17 http://digilib.mercubuana.ac.id/
Merge Node Digunakan untuk membawa kembali decision path yang berbeda yang dibuat menggunakan decision node
Class Diagram Class Diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi objek. Class diagram menunjukkan hubungan antar kelas dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Tabel 2.3. Simbol Class Diagram Class : Merepresentasikan seperti orang, tempat, atau sesuatu mengenai yang dibutuhkan sistem untuk mengambil dan menyimpan informasi Attribute : Merepresentasikan property yang mendeskripsikan keadaan sebuah objek Dapat berupa derived dari attribute lainnya, ditampilkan dengan menempatkan garis miring sebelum nama attribute Operation : Merepresentasikan aksi atau fungsi dari class yang ditampilkan
Attribute Name/ Derived Attribute Name
Operation name ()
2. Entity Relationship Diagram Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship Diagram (ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek pengembangan sistem. Komponen Diagram ER terdiri dari :
2-18 http://digilib.mercubuana.ac.id/
a.
Entity Entity adalah objek atau benda tertentu dalam miniworld yang
direpresentasikan pada basis data. Entity dapat berupa: Benda yang ada secara fisik (orang, mobil, rumah, dll) Benda yang ada secara konseptual (perusahaan, pekerjaan,
mata kuliah, dll). b.
Attribute Attribute adalah sifat-sifat yang digunakan untuk menerangkan
entity. Suatu entity tertentu akan memiliki nilai untuk tiap atributnya. Contoh:
employee
entity
tertentu
memiliki
Name=‘Budi',
SSN='123456789', Address =‘Depok', Sex='M', BirthDate='05-JAN55‘. Setiap attribute memiliki himpunan nilai yang berasosiasi dengannya. Disebut juga tipe data. Contoh: integer, string, subrange, enumerated type. c.
Relationship (between entities) Sebuah relationship menghubungkan dua/lebih entity yang
berbeda dengan makna tertentu. Relationship yang bertipe sama dikelompokkan ke dalam sebuah relationship type. Relationship types Role Cardinality Tabel 2.4 Komponen Diagram ER Symbol
Meaning Entity Type Weak Entity Type
2-19 http://digilib.mercubuana.ac.id/
Relationship Type Identifying Relationship Type Attribute Key Attribute Multivalued Attribute Composite Attribute Derived Attribute Total Participation Ez dalam R
Rasio Cardinalitas 1:N untuk E1:E2 dalam R Konstaint structural (min, max) pada partisipasi dari E dalam R
2-20 http://digilib.mercubuana.ac.id/