BAB 2 LANDASAN TEORI
2.1. Teori Umum Dalam sub bab 2.1 ini akan dibahas mengenai teori – teori umum yang digunakan untuk menjadi landasan teori dalam penulisan skripsi. 2.1.1. Internet Menurut Musciano dan Kenedy (2009, p1), internet adalah kumpulan dari
jaringan-jaringan
komputer
seluruh
dunia
yang
penyebaran
informasinya melalui serangkaian prosedur jaringan dan software protocol. Internet tercipta pada akhir tahun 1960an yang bermula untuk keperluan militer. Kemudian sekitar pada tahun 1990an, internet mulai digunakan untuk keperluan bisnis dan individu. Pada awal tahun 1990 inilah internet berkembang dengan cepat. Hal tersebut karena diperkenalkannya World Wide Web oleh Tim Berners-Lee sebagai project di CERN (European Centre for Nuclear Research).
2.1.2. Web Application 2.1.2.1. Definisi Menurut Murach dan Steelaman (2008, P4), web application adalah sekumpulan dari halaman web yang dihasilkan sesuai dengan request dari user.
7
8
2.1.2.2. Komponen
Gambar 2.1 Gambar 2.1 Web WebApplication Application
Deskripsi: a.
Web application adalah tipe client/server application. Dalam aplikasi client / server, user pada komputer client mengakses sebuah aplikasi pada komputer server. Untuk web application, client dan server komputer terkoneksi melalui internet atau melalui intranet.
b.
Dalam sebuah web application, user bekerja dengan web browser di komputer client. Web Browser menyediakan user interface untuk aplikasi.
c.
Web application berjalan pada komputer server dalam kendali software web server.
d.
Untuk hampir semua web application, komputer server yang sama biasanya juga menjalankan sebuah Database Management System (DBMS).
2.1.3. Analisis dan Perancangan Sistem Menurut Whitten et al. (2004, p38-39), analisa sistem ialah ilmu yang mencakup masalah bisnis untuk merekomendasikan kemajuan dan menentukan kebutuhan bisnis serta prioritas untuk solusi.
9
Menurut Whitten et al. (2004, p39), perancangan sistem adalah spesifikasi atau pembangunan berdasarkan teknik, solusi berbasis komputer untuk kebutuhan bisnis yang teridentifikasikan di dalam sebuah analisa sistem.
2.1.4. Software Engineering Menurut Sommerville (2011, p7) software engineering adalah sebuah dislipin ilmu tehnik mengenai semua aspek produksi software dari tahap awal spesifikasi sistem sampai maintaining sistem hingga software tersebut digunakan.
2.1.5. Interaksi Manusia dan Komputer (IMK) Menurut definisi dari ACM SIGCHI, Interaksi Manusia dan Komputer (IMK) atau Human-Computer Interaction (HCI) adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya. Antarmuka merupakan unsur pokok dalam setiap pengembangan sistem yang ada. Oleh karena itu, penting untuk mengetahui faktor-faktor apa saja yang menentukan dalam merancang suatu antar muka. Menurut Sneiderman (2005, p15), ada lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu : 1.
Waktu belajar, berapa lama waktu yang dibutuhkan oleh pengguna untuk mempelajari cara relevan untuk melakukan suatu tugas.
10
2.
Kecepatan kinerja, berapa lama waktu yang diperlukan untuk mengerjakan suatu tugas.
3.
Tingkat kesalahan, berapa banyak kesalahan dan kesalahan-kesalahan seperti apa yang bisa terjadi saat pengguna mengerjakan tugas-tugas tersebut.
4.
Daya ingat, bagaimana kemampuan pemakai mempertahankan pengetahuannya dalam jangka waktu sejam, sehari, atau seminggu.
5.
Kepuasan subjektif, bagaimana kepuasan pengguna terhadap berbagai aspek dari sistem. Perancangan antar muka adalah salah satu aspek penting dalam
mendukung tingkat kegunaan suatu aplikasi atau sistem. Menurut Shneiderman (2005, p74), perancangan antar muka yang baik harus berdasarkan kepada 8 aturan emas. Diantaranya adalah sebagai berikut: 1.
Berusaha untuk konsisten (sesuai dengan ketetapan) •
Rangkaian aksi harus sesuai dengan ketetapan pada semua situasi, menggunakan istilah-istilah dan perintah yang sama dari awal sistem sampai akhir sistem.
2.
Memungkinkan pengguna untuk menggunakan shortcut •
Memudahkan pengguna untuk mendapatkan sesuatu dengan lebih cepat. Shortcut ini bisa digunakan dengan menambahkan hidden command, automated action, abbreviation.
11
3.
Memberikan keterangan balik / feedback •
Setiap hal yang dilakukan oleh pengguna harus diberikan informasi balik, baik maupun buruk, untuk aksi yang sering dan kecil, feedback dapat diminimalisasi.
4.
Merancang dialog yang berupa hasil akhir •
Ketika sebuah aksi memerlukan beberapa langkah, pastikan membaginya
kedalam
beberapa
kategori
seperti
awal,
pertengahan, dan akhir. Sehingga pengguna akan mengetahui kalau aksi yang dilakukannya telah selesai. 5.
Menawarkan penanganan kesalahan sederhana •
Sistem dibuat agar pengguna tidak membuat kesalahan yang fatal, jika kesalahan terjadi, sistem harus dapat mendeteksi kesalahan dan dapat menangani kesalahan tersebut.
6.
Mengijinkan pembatalan dari suatu aksi •
Jika kesalahan sudah terjadi, sebuah sistem yang baik dapat memberikan feedback kepada pengguna untuk kembali ke aksi sebelumnya.
7.
Mendukung pengendalian secara bebas •
Sebisa mungkin agar pengguna merasa nyaman, pengguna merasa bahwa dirinya yang mengendalikan sistem, bukan sistem yang mengendalikan dirinya.
12
8.
Mengurangi beban mengingat jangka pendek •
Pengguna mempunyai keterbatasan dalam mengingat pada waktu yg singkat, sehingga perancangan program tidak boleh terlihat kompleks.
2.1.6. Incremental Development 2.1.6.1. Definisi Incremental Development Menurut
Sommerville
(2009,
p32-33),
incremental
development yang merupakan bagian dasar dari pendekatan agile, lebih baik daripada pendekatan waterfall untuk semua bisnis, ecommerce, dan personal system. Incremental development mencerminkan cara bagaimana cara dan mekanisme dalam menyelesaikan permasalahan. memang penyusunan sebuah solusi masalah yang utuh jarang dilakukan tetapi kita bergerak menuju sebuah solusi melalui tahapan langkah-langkah, backtracking ketika kita menyadari bahwa kita melakukan kesalahan. Dengan
mengembangkan
software
secara
incremental,
diharapkan biaya yang dikeluarkan akan lebih kecil dan lebih mudah untuk membuat perubahan di dalam software selagi software tersebut dikembangkan.
13
2.1.6.2. Tahapan Incremental Development
Gambar 2. 2 Incremental Development Gambar 2.2 Tahap Incremental Development
1.
Specification, menurut Sommerville (2009, p37) ada 4 aktivitas utama : a.
Feasibility study, sebuah estimasi yang disusun dari indentifikasi kebutuhan user tentang kepuasan dalam menggunakan software sekarang dan teknologi hardware.
b.
Requirements elicitation and analysis, ini adalah sebuah process yang berasal dari system requirement melalui observasi system yang sedang berjalan, mendiskusikan dengan user terkait, task analysis, dan sebagainya.
c.
Requirements
specification,
merupakan
aktivitas
menterjemahkan informasi yang dikumpulkan selama aktivitas analisis ke dalam sebuah dokumen yang mendefinisikan set of requirement. d.
Requirements
validation,
aktifitas
ini
memeriksa
kebutuhan – kebutuhan untuk kenyataan, konsistensi, dan kelengkapan software.
yang
dibutuhkan
dalam
pembuatan
14
2.
Development,
Menurut Sommerville (2009, p38) tahap
implementasi software development adalah proses mengubah sebuah sistem spesifikasi ke dalam sebuah system yang sedang berjalan. Tahap ini selalu melibatkan proses software design termasuk juga melibatkan perbaikan dari Software specification. Ada beberapa bagian dalam desain proses sistem informasi: a.
Architectural
Design,
mengindentifikasikan
semua
struktur sistem, prinsip komponen ( sub-sistem / modul), hubungannya dan bagaimana didistribusikan. b.
Interface Design, mendefinisikan interface-interface diantara komponen sistem . Spesifikasi interface tidak boleh ambigu.
c.
Component Design, menentukan setiap sistem komponen dan mendesain bagaimana mengoperasikannya.
d.
Database Design, mendesign sistem data terstruktur dan bagaimana dapat di representasikan ke dalam database
3.
Validation, Menurut Ian Sommerville (2009, p 41) Software validation atau disebut juga verification dan validation , dimaksudkan untuk menunjukan apakah sebuah sistem sesuai dengan spesifikasinya dan sesuai dengan ekspektasi customer. Program
testing,
dimana
sistem
dijalankan
dengan
15
mengunakan data simulasi, merupakan prinsipal dari tehnik validasi ini. Tahapan dari testing proses adalah : a.
Development testing, komponen yang menyusun sistem di testing oleh orang yang membangun sistem tersebut. Setiap komponen di test secara bebas tanpa komponen sistem lainnya.
b.
System
testing,
komponen-komponen
sistem
yang
disatukan untuk membuat sebuah sistem yang lengkap. Proses ini fokus dengan
menemukan error yang
dihasilkan dari interaksi yang tidak diantisipasi di antara komponen dan komponen interface. c.
Acceptance testing, merupakan tahapan akhir di dalam testing proses sebelum sistem yang diterima untuk penggunaan operasional.
Sitem diujikan dengan data
yang disediakan untuk kepentigan pengguna atau user.data tersebut biasanya berupa data contoh atau sample
2.1.6.3. Keuntungan Incremental Development 1.
Cost yang diakibatkan oleh perubahan dari customer requirement dikurangi.
2.
Lebih mudah untuk mendapatkan customer feedback terhadap suatu pekerjaan yang sedang dikerjakan.
16
3.
Memungkinkan lebih cepat dalam mendistribusikan dan menyebarkan kegunaan software kepada customer, bahkan jika fungsinya belum semua terpenuhi.
2.1.7. Unified Modelling Language (UML) Menurut Bennett et al. (2005, p28) The Unified Modeling Language (UML) adalah sebuah bahasa visual yang menyediakan sebuah cara untuk orang yang menganalisa dan mendesain Object-Oriented sistem untuk divisualisasikan, dibangun dan mendokumentasikan The Artefact dari sistem
software
dan
untuk
memodelkan
organisasi
bisnis
yang
menggunakan sistem. 2.1.7.1. Use Case Diagram Menurut Bennett et al.(2005, p20),
Use Case Diagram
menunjukan use cases dan actors serta asosiasi diantara mereka. Use Case mewakili sequences of action yang dibawa oleh sistem dan aktor mewakili orang atau sistem lain yang berinteraksi dengan sistem yang dimodelkan. Use Case diagram didukung oleh behavior specification, yang didefinisikan interaksi dalam sebuah use case tertentu.
17
Gambar 2.3 Use Case Diagram
2.1.7.1.1. Aktor Menurut Bennett et al.(2005, p23), aktor adalah orang atau sistem yang berinteraksi dengan use case. Mereka adalah user – user yang menggunakan sistem yang akan dirancang.
Gambar 2.4 Aktor
2.1.7.1.2. Generalisasi di antara use case Menurut Bennett et al.(2005, p28), Dalam use case terdapat hubungan Generalisasi antara aktor – aktor.
Gambar 2.5 Generalisasi di antara Use Case
18
Sebagai ilustrasi, aktor Franchise dapat menangani registrasi new car sharer, tetapi juga dapat menjadi recipient of management reports.
Daripada menampilkan Franchise dan
CarMatch Administrator dalam asosiasi dengan setiap use case ,hal ini memungkinkan untuk menampilkan Franchise sebagai spesialisasi dari CarMatch Administration. Ini artinya Franchise dapat melakukan apa yang CarMactch Administration lakukan.
2.1.7.1.3. Include Relationship di antara use case Menurut Bennett et al. (2005, p29), terdapat hubungan include diantara Use Cases , terkadang satu use case termasuk dalam fungsionalitas dari use case yang lain.
Gambar 2.6 Include Relationship
Hal ini terjadi Pada ilustrasi Gambar 2.6, dimana terdapat use case untuk “Process Payment” dari Car Sharers. Use case tersebut juga dapat berperan sebagai use case yang berdiri sendiri untuk menangani
payments yang datang dari member yang
detailnya di “Transfer car sharer from web server” tetapi ketika
19
“Manually Add Car Sharer”, the membership payment selalu diproses dalam waktu yang bersamaan . Jadi Use Case “Process Payment” sebagai use case dirinya sendiri dan included di dalam use case “Manually add car sharer”.
2.1.7.1.4. Behavior Specifications Menurut Bennett et al. (2005, p24-25), Setiap use case mewakili sequence of activities yang dihasilkan dalam beberapa pengamatan untuk aktor atau aktor-aktor yang berinteraksi dengannya. The Sequence of activities yang di dokumentasikan didalam sebuah behavior specification. Ada 3 pendekatan untuk menulis deskripsi yaitu: 1.
Pertama adalah cukup menulis satu atau sedikit pernyataan atau paragraf yang mendeskripsikan sequence of activities tertentu yang melibatkan use case tertentu.
2.
Yang kedua, memaparkan kedalam dua kolom aktivitas aktor dan response dari sistem.
3.
Ketiga, menggunakan template dokumen yang mengandung sections untuk aspek yang berbeda pada use case yang ingin di record.
2.1.7.2. Class Diagram Menurut Bennett et al.(2005, p44) Class diagram digunakan sepanjang proses development. Class diagram menunjukkan
20
struktur statik yang menyusun sebuah sistem atau subsistem. Struktur statik kelas termasuk kelas kepentingan mereka sendiri dan fitur dari kelas tersebut yaitu attribute dan operations serta relasi diantara mereka.
Gambar 2.7 Class Diagram
Dua komponen penting lainnya adalah Simbol kelas. symbol kelas adalah attribute dan operation lists. Keduanya, attribute dan operasi di list, baris per baris, di dalam compartment yang sesuai. Setiap atribute dan nama operasi harus dimulai dengan huruf kecil. Sesuai dengan konvensi, atribut dan nama operasi harus tidak ada spasi diantara beberapa kata dalam nama, tetapi harus dimulai pada setiap kata berikutnya dengan sebuah huruf kapital. Contoh: setSharingAgreement,
bukan
SetSharingAgreement
dan
addRequeirement, bukan add Requirement. Menurut Bennett et al. (2005, p50) sebuah multiplicity clause dapat digunakan dengan segera setelah nama atribut untuk mengindentifikasikan angka nilai terpisah yang sebuah atribut dapat tampung. Multiplicity sebuah atribut mengambil mengambil
21
bentuk sebuah multiplicity clause, dimana terdiri dari bawah dan atas range batas, ditutup dengan kotak kurung [m..n]. Dimana m specifies angka yang terkecil dan n angka yang tertinggi yang atribut dapat tampung. Ada beberapa ketentuan untuk multiplicity clauses : •
1..1 is truncated to 1
•
0..* truncated to *
•
Jika tidak ada multiplicity yang ditentukan, ini diasumsikan menjadi 1
Contoh : 1.
’telephoneNumber[1..3]’ – definisi ini mengatakan setidaknya ada 1 nilai yang akan ditampung oleh telepon number dan memungkinkan sampai 3 nilai.
2.
’telephoneNumber[0..1]’ – definisi ini mengatakan telephone number dapat null atau alternatifnya sebuah telepon number yang dapat ditampung.
3.
’telephoneNumber[1..*]’ – definisi ini mengatakan setidaknya satu nilai dapat ditampung oleh telephone number dan memungkinkan untuk nilai number yang tak terbatas.
Menurut Bennett et al.(2005, p55) Asosiasi digunakan ketika instances dari 1 kelas melempar messages to instances dari kelas
22
yang lain, sebuah asosiasi tersirat diantara 2 kelas tersebut. Asosiasi tersebut dapat diberi label dengan sebuah nama untuk mengindikasikan sifat asosiasi. Hal lain yang dapat dimasukkan ke dalam sebuah asosiasi adalah informasi mengenai multiplicity dari asosiasi tersebut.
Gambar 2.8 Multiplicity
Asosiasi diantara Journey dan SharingAgreement memiliki multiplicity : a SharingAgreement Covers 2..5 Journeys dan sebuah Journey is covered by 0..1 Sharing Agreement.
2.1.7.3. Sequences Diagram Menurut Bennett et al. (2005, p158-163) Sequence diagram mewakili beberapa informasi yang sama tetapi tidak semua: Sequence diagram menunjukan lifelines yang mewakili objek atau sistem yang berpartisipasi dalam interaksi;
sequence diagram
tidak menunjukan struktur relasi antara lifelines dan sequence diagram
menunjukan
urutan interaksi secara visual dengan
mengunakan sumbu vertical dari diagram untuk mewakili waktu.
23
Beberapa Notasi dari sequence diagram yaitu: 1.
Frames Sequence diagram digambar di dalam frames. Frame adalah kotak dengan sebuah heading di dalam compartement pada sudut sebelah atas kiri, dengan kata keyword sd untuk sequence diagram dan nama interaksi ditampilkan. Dalam sequence diagram, lifelines di atur berada di dalam frame secara horizontal sepanjang halaman dan waktu ditampilkan secara vertical ke bawah halaman.
Gambar 2.9 Sequences Diagram
2.
Lifelines Adalah yang mewakili participating instances di dalam sequence diagram oleh sebuah garis titik-titik vertikal dengan sebuah kotak yang mewakili sebuah object pada sebelah atas garis. Lifeline mewakili partisipasi objek dalam interaction. Jika sebuah particular objek muncul sebelum sebuah interaksi dimulai dan berlanjut muncul setelah interaksi berakhir maka garis titik-titik dibuat dari atas sampai bawah diagram.
24
Gambar 2.10 Life Lines
3.
Message and Focus of Control Di dalam sebuah sequence diagram, sebuah pesan ditampilkan dengan menggunakan sebuah panah arahnya dari pengirim ke penerima. Panah tersebut diberi tanda atau label dengan pesan yang dikirim.
Gambar 2.11 Message and Focus of Control
Panah biasanya ditampilkan berasal dari focus of control region pengirim objek ke focus of control region penerima objek. The Focus of control di tunjukan sebagai kotak putih atau kotak abu abu ditempatkan di semua lifeline objek. The focus of control mengindikasikan objek mana yang sedang mengkontrol interaksi karena melakukan tugas sesuatu atau
25
karena telah mengirim sebuah pesan kepada objek yang meminta untuk membawa sebuah tugas.
2.1.7.4. Activity Diagram Menurut Bennett et al. (2005, P234) Activity diagram berarti mendeskripsikan proses kerja yang biasa digunakan dengan berbagai cara. Sebagai sebuah alat analisis activity diagram dapat mendeskripsikan proses bisnis dalam detail level yang bervariasi. Activities terdiri dari action nodes, object nodes, dan control nodes yang dihubungkan oleh garis activity.
Gambar 2.12 Activity Diagram
Notasi activity diagram : 1.
Activities Sebuah Activity adalah sebuah alur proses (workflow) dan dapat digambarkan dalam bentuk diagram.
26
2.
Actions Sebuah action adalah sebuah unit kerja yang harus diselesaikan. Gambar 2.13 An Action
3.
Activity Initial, Activity Final Node The Activity initial node adalah point masuk pada aliran di dalam sebuah activity.
Gambar 2.14 Start Node
Gambar 2.15 Final Node
4.
Activity Edges Sebuah Activity edge mengindikasikan pergerakan actions atau diantara actions and objects.
Gambar 2.16 Activity Edges
Gambar 2.17 Activity Edges with name
27
5.
Decision Nodes Sebuah decision node adalah sebuah point dalam sebuah alur proses dimana ketika alur keluar dari sebuah action dapat pergi ke arah alternative, tergantung dari sebuah kondisi.
Gambar 2.18 Decision Nodes
6.
Activity Partitions Activity partitions adalah notasi yang sangat berguna untuk mengindikasikan dimana sebuah action berjalan. Activity partitions adalah colums atau rows diatas sebuah activity, dan the actions dalam diagram di grup dalam activity partitions.
Gambar 2.19 Activity Partitions
28
2.1.7.5. Activities for Business Modelling Menurut Bennett et al (2005, 248),Activities dimaksudkan untuk mendeskripsikan alur proses dalam pengembangan dari sebuah bisnis model. Bisnis model terdiri dari proses besar yang dapat deskripsikan secara compherensif oleh activities.
2.1.8. Model - View - Controller ( MVC ) 2.1.8.1. Definisi MVC MVC merupakan singkatan dari Model – View – Controller. MVC merupakan sebuah design pattern yang saat ini banyak diimplementasikan pada pembuatan aplikasi berbasis web.
Gambar 2.20 Model View Controller
Pada MVC terdapat 3 komponen utama, yaitu : 1.
Model Menurut Freeman dan Sanderson (2011, p64), Model merupakan representasi dari data – data yang akan digunakan didalam aplikasi yang kita buat.
29
2.
View Menurut Freeman dan Sanderson (2011, p64), View merupakan salah satu bagian dari MVC design pattern yang berguna untuk menampilkan sebagian dari model ke pengguna website.
3.
Controller Menurut Freeman dan Sanderson (2011, p64), Controller merupakan salah satu bagian dari MVC design pattern yang berguna untuk memproses request dari pengguna web, melakukan operasi pada model, dan memilih view mana yang akan ditampilkan ke pengguna web.
2.1.8.2. Keuntungan MVC Menurut Maciaszek dan Liong (2005, p177) pemisahan di dalam MVC memiliki beberapa keuntungan : 1.
Mengizinkan
pemisahan
pengembangan
Graphic
User
Interface (GUI) dan bisnis data dan logika model layer. 2.
Berganti atau bermigrasi ke GUI berbeda tanpa ada perubahan yang radikal yang dibutuhkan di dalam model.
3.
Lebih mudah mengatur kembali atau mendesain model tanpa mengubah tampilan GUI.
4.
Mengizinkan multiple view dalam model state yang sama
30
5.
Mengubah cara GUI merespon suatu event dari user tanpa harus mengubah tampilan GUI ( view dan controller dapat diubah ketika runtime).
6.
Dapat mengaktifkan eksekusi model tanpa GUI ( untuk testing atau untuk batch-mode-processing).
2.1.9. Data Menurut Jefferey A. Hoffer (2009, p46), data adalah representasi dari sebuah objek dan event – event yang memiliki arti dan penting dalam lingkungan user. Menurut Whitten, Bentley, dan Dittman (2004, p715), data adalah fakta-fakta yang belum diolah atau fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang penting dalam organisasi. Tiap fakta dengan sendirinya secara relatif masih belum memiliki arti.
2.1.10. Informasi Menurut Jefferey A. Hoffer (2009, p47), informasi adalah data yang sudah diproses dengan cara tertentu untuk meningkatkan pengetahuan dari orang yang menggunakan data tersebut.
2.1.11. Database Menurut Jefferey A. Hoffer (2009, p46), Database adalah kumpulan dari data – data yang terstruktur secara logika.
31
Menurut Connoly dan Begg (2010, p65), Database adalah sekumpulan data yang berrelasi secara logika beserta deskripsi dari data tersebut (Metadata) yang dirancang untuk memenuhi kebutuhan perusahaan akan pentingnya informasi.
2.1.12. Database Management System (DBMS) 2.1.12.1. Pengertian DBMS Menurut Jefferey A. Hoffer (2009, p49), Database Management System adalah sebuah software yang digunakan untuk membuat, mengatur, dan menyediakan pengaturan hak akses ke Database. Menurut Connoly dan Begg (2010, p66), Database Management System adalah sebuah sistem software yang memungkinkan
pengguna
untuk
menetapkan,
membuat,
mengelola, dan mengatur akses ke database. Menurut Connoly dan Begg (2010, p66), Database Management System menyediakan fasilitas-fasilitas berikut ini : 1.
Data Definition Language (DDL) Data
Definition
Language
memungkinkan
pengguna
Database Management System untuk menentukan tipe data, struktur, dan batasan - batasan terhadap data yang disimpan pada Database.
32
2.
Data Manipulation Language (DML) Data Manipulation Language memungkinkan pengguna
Database Management System untuk menambah, mengubah, menghapus, dan mengambil data – data yang tersimpan didalam Database. Untuk menggunakan fasilitas Data Manipulation Language, diperlukan suatu bahasa yang disebut Structured Query Language (SQL). Database Management System (DBMS) menyediakan mekanisme pengaturan akses ke Database seperti : a.
A security system, mencegah pengguna yang tidak memiliki hak akses ketika mengakses Database.
b.
An integrated system, menjaga konsistensi data yang tersimpan didalam Database.
c.
A concurrency control system, memungkinkan akses secara bersama - sama ke Database.
d.
A recovery control system, dapat mengembalikan database ke dalam kondisi sebelumnya ketika terjadi kegagalan Hardware maupun Software.
e.
A user accessible catalog, mengandung deskripsi dari data yang disimpan di dalam Database.
33
2.1.12.2. Keuntungan dan Kerugian DBMS Menurut Connoly-Begg (2010, p77), keuntungan dan kerugian dari DBMS adalah : 1.
Keuntungan DBMS a) Control of data redudancy Dengan adanya DBMS, redudansi data dapat dikurangi. Namun DBMS tidak mengeliminasi semua redudansi
yang
ada.
Terkadang
redudansi
data
diperlukan untuk memodelkan relasi antar tabel pada Database. b) Data Consistency Dengan mengurangi jumlah redudansi data, maka data pun menjadi konsisten. c) Sharing of data Dengan adanya DBMS, data-data yang ada pada Database bisa digunakan secara bersama-sama. d) Improved security Keamanan
data
merupakan
hal
yang
perlu
diperhatian. Oleh karenanya, DBMS memungkinkan Database Administrator untuk menetapkan aturanaturan yang berlaku pada suatu database. e) Improved backup and recovery services DBMS memiliki fitur yang dapat digunakan untuk membuat backup dan recovery. Sehingga jika terjadi
34
kegagalan sistem dan menyebabkan integritas data menjadi rusak maka Database Administrator dapat memperbaiki Database tersebut sehingga data-data yang ada didalamnya. 2. Kerugian DBMS a) Kompleksitas. b) Ukuran. c) Harga DBMS. d) Biaya perangkat keras. e) Biaya proses konversi. f)
Performa.
2.1.13. Struktural Data Relational Menurut Connoly & Begg (2010, p 144), struktur data relational meliputi : 1.
Relasi, yaitu tabel yang memiliki kolom dan baris.
2.
Atribut, yaitu kolom pada tabel.
3.
Domain, yaitu batasan pada nilai atribut.
4.
Tuple, yaitu baris pada tabel.
5.
Degree, yaitu jumlah attribute.
6.
Cardinality, yaitu jumlah baris (tuple).
7.
Database relational, yaitu merupakan sekumpulan tabel (relasi) yang sudah dinormalisasi dengan nama tabrl yang berbeda.
35
8.
Superkey, yaitu sebuah attribute atau sekumpulan attribute yang mengidentifikasikan baris pada relasi secara unik.
9.
Candidate key, yaitu attribute yang bisa dijadikan primary key .
10. Primary
key,
yaitu
candidate
key
yang
dipilih
untuk
mengidentifikasikan baris pada tabel secara unik. 11. Foreign key, yaitu attribute atau satu set attribute pada sebuah tabel yang menghubungkan tabel tersebut dengan tabel lain.
2.1.14. Entity Relationship Model Menurut Connolly & Begg (2010, p371 ), Entity Relationship adalah merupakan permodelan dengan pendekatan top- down pada perancangan database yang dimulai dengan mengidentifikasi data – data penting yang disebut entities dan hubungannya. Konsep dasar dari ERD adalah tipe entity, yaitu kumpulan dari objek – objek yang mempunyai properties yang sama, yang diidentifikasikan oleh kumpulan entities yang mempunyai keberadaan yang tunggal. Ada berbagai jenis relationship
yang mungkin terjadi di antara entities
antaranya : 1.
One-to-One Relationship (1..1) Hubungan antara satu anggota entity dengan tepat satu anggota dari entity yang lain
36
Gambar 2. 21 One-to-One Relationship
2.
One-to-Many Relationship (1..*) Hubungan antara satu anggota entity dengan satu atau lebih anggota dari entity yang lain diasosiasikan dengan tepat satu anggota dari entity pasangannya.
Gambar 2. 22 One-to-Many Relationship
3.
Many-to-Many Relationship (*..*) Hubungan antara satu entity dengan lebih dari satu anggota dari entity yang lain, dan juga sebaliknya, satu anggota entity yang lain dapat diasosiasikan dengan lebih dari satu anggota pasangannya.
37
Gambar 2.23 Many-to-Many Relationship
2.1.15. Hyper Text Markup Language (HTML) Menurut Musciano dan Kenedy (2009, p1), HTML adalah sebuah gambaran kasar sebuah dokumen dan bahasa hyperlink yang spesifik. Dimana aspek-aspek tersebut mendefinisikan sintax dan penempatan spesial yang tidak ditampilkan oleh browser, tetapi menampilkan isi dari sintax dan penempatan spesial yang telah dibuat sebelumnya. Output yang dihasilkan dapat berupa teks, gambar, dan beberapa media yang lain seperti suara dan video.
2.1.16. Hyper Text Markup Language and XML (XHTML) Menurut Chuck dan Kenedy (2009, p9), XHTML adalah bahasa markup yang merupakan pernyempurnaan dari HTML. XHTML merupakan singkatan dari
Extensible Markup Languge, yang dimana
XHTML berbasis kepada XML. Sedangkan pendahulunya HTML berdasarkan kepada SGML(Standardized Generalized Markup Language). Permasalahn pada SGML adalah SMGL membutuhkan peralatan yang sangat mahal dan kompleks, untuk itulah bagian-bagian SGML diubah dan
38
dihilangkan, yang kemudian disebut XML. XML ini merupakan basis yang digunakan oleh XHTML HTML dan XHTML terdapat sedikit perbedaan, yaitu: •
HTML dapat tidak memakai slash < / > di akhir suatu tag. Sedangkan XHTML harus selalu memakai < / > di akhir suatu tag
•
Pada HTML, penulisan nama tag dapat memakai huruf besar atau kecil. Sedangkan pada XHTML harus memakai huruf kecil semua.
Untuk membuat dokumen XHTML yang baik, Menurut Chuck dan Kenedy (2009, p508), harus mengikuti validasi sesuai peraturan W3C, dan juga harus menentukan DTD (Document Type Definition), serta menentukan namespace untuk dokumen tersebut. Suatu dokumen XHTML harus mendefinisikan DTD dan namespace untuk menentukan format XHTML (transisional / strict) dan menentukan XML versi berapa yang akan dipakai.
2.1.17. Cascading Style Sheet (CSS) 2.1.17.1. Definisi CSS Menurut www.w3.org, CSS adalah sebuah mekanisme sederhana untuk menambahkan style seperti font, colors, spacing pada halaman website. Menurut Schengili dan Roberts (2000, p9), CSS adalah mekanisme
bagaimana
memodifikasi
menampilkannya pada halaman web.
konten
dan
39
CSS memberikan kemudahan bagi pembuat website tentang bagaimana sebuah konten akan ditampilkan pada halaman website dibandingkan hanya menggunakan HTML saja.
2.1.17.2. Tujuan CSS CSS tidak menggantikan kode HTML pada halaman web, tetapi untuk menambahkan dan memperkaya bagian dari HTML tersebut, seperti yang disebutkan oleh Keith dan Roberts (2000, p11), CSS bekerja dengan menambahkan properti CSS pada tag HTML secara spesifik, dan menentukan browser seperti apa tag HTML tersebut harus dimodifikasi dan ditampilkan.
2.1.17.3. Komponen CSS Secara spesifik, komponen dari CSS hanya terdiri dari dua bagian, yaitu: •
Elemen yang akan diubah disebut selector
•
Statement yang menjelaskan bagaimana selector harus ditampilkan, disebut sebagai declaration Ada beberapa cara untuk menggunakan dan menempatkan
CSS ke dalam halaman web. Menurut Keith dan Roberts (2000, p13) ada 3 cara untuk menambahkan CSS yaitu: •
Diletakan di dalam tag head pada halaman web.
40
•
Diletakan di dalam tag body pada halaman web.
•
Diletakan pada halaman web yang berbeda.
2.1.17.4. Perkembangan CSS Menurut Keith dan Roberts (2000, p8), CSS tercipta berdasarkan ide dari W3C untuk memenuhi kebutuhan manufaktur browser dalam hal memperkaya tag HTML. Tujuan utama dibentuknya CSS adalah untuk meminimalisasi kebutuhan penambahan tag HTML yang dirasa kurang perlu. CSS
menyembunyikan
struktur
logika,
sehingga
penggunaannya lebih mudah dimengerti dan powerful pada hasilnya. CSS memungkinkan halaman website dalam: •
Menentukan ukuran detail dari suatu teks.
•
Menambahkan indent pada halaman web.
•
Menentukan margin.
•
Menentukan skala ukuran seperti inch, centimeter, persen untuk mengatur text dan image.
•
Menentukan jarak antar kalimat, dan lain sebagainya.
CSS memberikan banyak keuntungan bagi pengembang website, tetapi masih terdapat beberapa kekurangan yang tidak dimiliki oleh CSS. Pada pertama kali dirilis, CSS merupakan
41
CSS level 1 atau CSS1. Untuk memperkaya dan menambah kemampuan dari web browser tanpa harus menambahkan tag HTML baru, W3C merilis CSS level 2 atau CSS2 pada tahun 1998. CSS 2 memiliki fitur baru seperti kontrol yang lebih fleksibel terhadap font dan suara.
2.1.18. Javascript Menurut Negrino dan Smith (2004, p2), Javascript adalah sebuah bahasa pemrograman yang dapat digunakan untuk menambahkan interaktifitas pada halaman website. Script yang dimiliki oleh javascript adalah sebuah program client side yang terdapat pada halaman HTML dan berada di dalam tag <script>… .
2.2. Teori Khusus Dalam sub bab 2.2 ini akan dibahas mengenai teori – teori khusus yang digunakan untuk menjadi landasan teori dalam penulisan skripsi. 2.2.1. Pengertian Sistem Menurut O’brien and Marakas (p24), sistem didefinisikan sebagai sebuah kumpulan komponen yang saling berhubungan, dengan batasan yang jelas, bekerja bersama untuk mencapai tujuan umum dengan menerima input dan menghasilkan output dalam mengatur proses transformasi. Sistem memilki 3 fungsi dasar, yaitu :
42
a.
Input, melibatkan suatu hal dalam mengambil dan menyusun elemen yang masuk sistem untuk diproses. Untuk contohnya material mentah, data, dan usaha manusia harus diamankan dan diatur untuk diproses.
b.
Processing, melibatkan proses transformasi
yang mengubah input
menjadi output. Contoh proses manufacturing, proses manusia bernafas, atau perhitungan matematika. c.
Ouput, melibatkan pemindahan elemen yang dihasilkan oleh proses transformasi ke tujuan akhir mereka. Contohnya, produk jadi, pelayanan manusia, dan manajemen informasi yang harus di transmisikan kepada pengguna manusia.
2.2.2. Monitoring Menurut Kamus Besar Bahasa Indonesia (KBBI), monitor adalah pengawasan dan tindakan memverifikasi kebenaran operasi suatu program selama pelaksanaannya berdasarkan rutin diagnostik yang digunakan dari waktu ke waktu untuk menjawab pertanyaan tentang program tersebut. Memonitor menurut KBBI adalah mengawasi, mengamati, memantau atau mengecek dengan cermat, terutama untuk tujuan khusus.
2.2.3. Data Processing Menurut Wilkinson et al (2008, p134) Data Processing melibatkan eksekusi dari prosedur tertentu, biasanya melibatkan sederetan rangkaian tugas. Dimana satu atau tugas lainnya ditugaskan kepada komputer, kita menyebutnya sebagai computer-based system, walaupun beberapa tugas
43
masih dijalankan secara manual. Untuk tugas-tugas yang dijalankan oleh komputer, kita perlu membuat sederatan instruksi sehingga komputer dapat memecahkan dan menjalankan langkah-langkah yang dibutuhkan. Program komputer yang dirancang untuk mencapai tugas spesifik disebut application program. Program aplikasi dapat di desain untuk menangkap data, proses input, proses data untuk memodifikasi data yang ada (dalam file atau database) atau data proses untuk menghasilkan output (dalam bentuk laporan atau log).
2.2.4. Konsep Object Oriented Menurut Bennett (2002, p594), Object adalah sebuah alat atau konsep, baik di dalam sebuah model dari sebuah cakupan aplikasi atau di dalam sebuah sistem software yang dapat direpresentasikan sebagai sebuah enkapsulasi dari state, behavior dan identity. Menurut Schmuller (2004, p22-46), a.
Abstraction Abstraction berarti simple, untuk menyaring sebuah properti objek dan operasi-operasi sampai satu yang hanya diperlukan.
b.
Inheritance Ketika model inheritance (turunan), pastikan anak kelas sesuai dengan jenis dari kelas parent-nya. Jika 2 kelas tidak ada hubungannya maka yang lebih tepat ialah hubungan asosiasi.
44
Gaambar 2.24 Inheeritance
c.
m Poolymorphism Di dalam polymorphiism, sebuah operasi dapaat memiliki nama yaang sama di dalam kelas k yang berbeda dan d melanjuutkan peerbedaan dallam setiap keelas.
d.
Enncapsulationn Encapsullation terjaddi ketika obbjek membbawa operassinya, opperasi tersebbut disembunnyikan. Objeek yang menngenkapsulassi apa yaang mereka kerjakan. Yaitu mereka menyembunnyikan cara kerja m mereka dari duunia luar dann dari objek lainnya.
nous JavaSccript and XM ML (AJAX) 2.2.5. Asynchron 2.2.5.1. Definisi D AJA AX Menurut Keith (20077, p12) ajax bukanlah teeknologi baruu dan buukan juga teeknologi yanng spesifik, melainkan m ajjax adalah seebuah m metodologi yang meruupakan pennggabungan dari bebberapa teeknologi yaang telah aggar suatu website w dappat lebih mudah m diigunakan daan responsif. Beberapaa teknologi yang tergaabung
45
terdiri dari teknologi server side dan dominasi dari teknologi client side. Menurut MacFarland D. S (2008, p404), Ajax bukanlah teknologi resmi seperti HTML, Javascript, atau CSS. Ajax merupakan istilah yang menghubungkan interaksi dari perpaduan teknologi seperti JavaScript, web browser, dan web server untuk mengambil dan menampilkan konten baru tanpa memuat halaman web baru.
2.2.6. JQuery Menurut www.jquery.com, “JQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. JQuery didesain untuk mengubah cara dalam menggunakan javascript”.
2.2.7. .Net Framework 2.2.7.1. Definisi .NET Framework Menurut Del Sole (2010, p1), .NET Framework adalah sebuah teknologi yang kompleks yang menyediakan infrastruktur untuk membuat,
menjalankan,
dan
mengatur
aplikasi
generasi
berikutnya. Menurut msdn.microsoft.com, .NET Framework adalah sebuah komponen dari sistem operasi Windows yang mendukung proses pembuatan, dan menjalankan aplikasi generasi berikutnya.
46
2.2.7.2. Tujuan .NET Framework Menurut msdn.microsoft.com, tujuan dari .NET Framework adalah : 1) Untuk menyediakan lingkungan pemrograman yang bersifat object oriented. 2) Untuk meminimalisir terjadinya deployment dan versioning conflicts. 3) Memastikan bahwa program yang dieksekusi oleh User, aman dari kode-kode yang berpotensi membahayakan User tersebut. 4) Mengeliminasi masalah-masalah performa yang dihadapi oleh
bahasa-bahasa
scripting.
Yaitu
dengan
cara
mengkompilasi source code yang ada. 5) Menyediakan suatu standar untuk berkomunikasi sehingga suatu kode dapat diintegrasikan dengan kode lainnya.
2.2.7.3. Komponen Utama .NET Framework Menurut msdn.microsoft.com, .NET Framework terdiri dari 2 komponen utama, yaitu : 1) Common Langugae Runtime (CLR) Menurut Del Sole (2010, p4), CLR merupakan bagian dari
.NET
infrastruktur
Framework yang
sama
yang ke
menyediakan semua
sebuah
bahasa-bahasa
pemrograman yang di dukung oleh .NET Framework.
47
Menurut Del Sole (2010, p4), fungsi dari CLR adalah sebagai berikut : •
Mengatur proses eksekusi program yang dibuat menggunakan teknologi .NET
•
Mengatur
penggunaan
memori
sehingga
dapat
dipastikan bahwa program yang berjalan mendapatkan alokasi memori yang dibutuhkan. •
Memastikan bahwa program yang dijalankan bebas dari kode-kode yang berpotensi membahayakan user yang menjalankan program tersebut. Menurut msdn.microsoft.com, CLR memiliki fitur-fitur
sebagai berikut : •
Manages memory.
•
Manages thread execution.
•
Manages code execution.
•
Manages code safety verification.
•
Manages compilation.
2) Base Class Library (BCL) Menurut Del Sole (2010, p5), BCL merupakan bagian dari .NET Framework yang menyediakan ribuan class-class yang dapat digunakan kembali pada kode kita dan mencakup semua teknologi .NET, seperti Windows Forms, Windows
48
Presentation Foundation, ASP.NET, Language Integrated Query (LINQ), dan sebagainya. Menurut msdn.microsoft.com, BCL adalah sebuah koleksi dari class-class yang dapat digunakan kembali yang berhubungan erat dengan Common Language Runtime (CLR). Dengan
adanya
BCL,
maka
produktifitas
dari
programmer menjadi meningkat. Karena mereka dapat menggunakan class-class yang telah tersedia pada BCL dan tidak perlu membuatnya kembali.
2.2.7.4. Bahasa Pemrograman .NET Secara garis besar menurut msdn.microsoft.com, ada 4 bahasa pemrograman yang paling sering digunakan oleh programmer-programmer di seluruh dunia yang di dukung oleh teknologi .NET Framework, yaitu : 1.
Visual Basic .NET Bahasa Visual Basic .NET merupakan bahasa generasi terbaru dari bahasa Visual Basic yang diciptakan oleh Microsoft. Visual Basic .NET telah murni menetapkan konsep
Object
Sedangkan
Oriented
Visual
Basic
Programming Classic
belum
didalamnya. sepenuhnya
mendukung Object Oriented Programming. Bahasa Visual
49
Basic .NET banyak digunakan para Programmer yang sebelumnya menggunakan bahasa Visual Basic Classic. 2.
Visual C# .NET Bahasa C# merupakan bahasa pemrograman yang diciptakan oleh Microsoft. Bahasa ini memiliki sintax yang sangat mirip dengan bahasa C atau Java. Sehingga para programmer yang memiliki latar belakang pemrograman Java atau C, lebih memilih menggunakan bahasa C# dibandingkan dengan bahasa Visual Basic .NET. C# merupakan bahasa yang simple, elegan, dan mendukung penuh konsep Object Oriented. Menurut www.tiobe.com, bahasa C# menduduki posisi ke 6 di dunia.
3.
Visual C++ .NET Bahasa
C++
.NET
merupakan
bahasa
generasi
berikutnya dari bahasa C++. Bahasa C++ .NET dapat menggunakan semua fasilitas yang ada di dalam .NET Framework. Menurut
msdn.microsoft.com,
bahasa
C++
.NET
merupakan bahasa yang terbaik untuk menciptakan aplikasi yang memiliki performa tinggi untuk sistem operasi Windows dan juga untuk aplikasi Web.
50
2.2.7.5. Versi .NET Menurut
msdn.microsoft.com,
berikut
ini
adalah
perkembangan .NET Framework mulai dari versi yang pertama hingga versi yang terkini. 1.
Versi 1.0 .NET Framework versi 1.0 merupakan versi awal dari .NET Framework. Versi ini dirilis pada tanggal 13 Februari 2002 bersamaan dengan dirilisnya Visual Studio .NET. .NET Framework versi 1.0 menggunakan CLR versi 1.0.
2.
Versi 1.1 .NET Framework versi 1.1 dirilis pada 24 April 2003 bersamaan dengan dirilisnya Visual Studio 2003. Pada versi 1.1 ini ada beberapa update yang dilakukan. Yaitu pada bagian ASP.NET dan ADO.NET. .NET Framework versi 1.1 menggunakan CLR versi 1.1.
3.
Versi 2.0 .NET Framework versi 2.0 dirilis pada 7 November 2005 bersamaan dengan dirilisnya Visual Studio 2005. Pada versi 2.0 terjadi perubahan yang cukup jauh pada ASP.NET. Pada Base Class Library, mulai diperkenalkan generics dan generics
collections.
.NET
menggunakan CLR versi 2.0.
Framework
versi
2.0
51
4.
Versi 3.0 .NET Framework versi 3.0 dirilis pada 6 November 2006. .NET Framework versi 3.0 sebenarnya merupakan .NET Framework versi 2.0 dengan penambahan Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), Windows Workflow Foundation (WF), dan CardSpace. .NET Framework versi 3.0 menggunakan CLR versi 2.0.
5.
Versi 3.5 .NET Framework versi 3.5 dirilis pada 19 November 2007 bersamaan dengan dirilisnya Visual Studio 2008. Pada versi ini ada beberapa fitur yang ditambahkan. Antara lain : Asyncronous Javascript and XML (AJAX) dan Language Integrated Query (LINQ). .NET Framework versi 3.5 menggunakan CLR versi 2.0.
6.
Versi 4.0 .NET Framework versi 4.0 dirilis pada 12 April 2010 bersamaan dengan dirilisnya Visual Studio 2010. Pada versi ini, CLR yang digunakan adalah versi 4.0. Pada versi ini ada beberapa fitur yang ditambahkan. Antara lain : Managed Extensibility Framework (MEF) , Dynamic Language Runtime (DLR), dan Code Contracts.
52
2.2.8. View pada ASP. Net MVC Menurut msdn.microsoft.com, View pada pola MVC semata-mata diperuntukkan untuk mengenkapsulasi presentasi logika. Pada view seharusnya tidak boleh terdapat logika pemrograman atau kode yg bersifat mengambil data secara langsung dari database. View hanya bertugas untuk mengubah data yg diterima dari controller menjadi sebuah layar antar muka atau user interface dengan menggunakan View method. View engine pada situs tersebut merupakan suatu kelas turunan dari kelas Page yang berfungsi untuk menampilkan layar antarmuka dan merepresentasikan data-data yang dikirim oleh controller. View engine pada ASP.NET MVC dapat menggunakan: •
View engine ASPX : merupakan view engine yang penggunaannya memakai tag <%...%> untuk memisahkan kode server dan kode HTML
•
View engine Razor: merupakan view engine yang penggunaannya memakai tag @ untuk memisahkan kode server dan kode HTML. View engine ini hanya dapat digunakan pada ASP.NET MVC 3.
2.2.9. View engine ( Razor ) Menurut social.technet.microsoft.com, Razor adalah sebuah view engine baru pada ASP.NET MVC. View engine ini mempermudah dan mempersingkat penulisan kode pada bagian view. Pada Razor, tidak diperlukan lagi penulisan tag pembuka dan penutup untuk memisahkan
53
fungsi server dan client, karena Razor sudah cukup pintar untuk membedakan
hal
tersebut.
Penulisan Razor ditandai dengan simbol @ untuk membedakan kode server dan kode HTML. Dibandingkan dengan view engine ASPX, view engine Razor lebih mudah dibaca dan dimengerti
2.2.10. View engine helper class Menurut msdn.microsoft.com, helper classes digunakan untuk mempermudah mengubah dan memanipulasi HTML. Beberapa helpers yang terdapat pada ASP.NET MVC : •
Form Helpers : mengubah dan memanipulasi bagian-bagian form seperti radio button, list box, select button, text box, text area, hidden content, dan password fields.
•
URL Helpers : mengubah dan memanipulasi link dan untuk keperluan routing.
•
HTML Helper : terdiri dari fungsi-fungsi untuk mengatur tag-tag HTML.
2.2.11. ADO. Net Entity framework Menurut msdn.microsoft.com, ADO.NET Entity Framework adalah suatu framework yang merupakan bagian dari .NET Framework yang mempermudah
para
programmer
untuk
membuat
aplikasi
yang
berkomunikasi dengan database dengan cara memberikan tingkatan
54
abstraksi yang lebih tinggi kepada programmer sehingga programmer tidak perlu lagi berkomunikasi secara langsung dengan database.
2.2.11.1. Keuntungan ADO.NET Entity Framework Menurut msdn.microsoft.com, keuntungan dari penggunaan ADO.NET Entity Framework adalah sebagai berikut : 1.
Aplikasi dapat bekerja dengan cara yang lebih applicationcentric conceptual model. Termasuk inheritance, complex members, dan relationships.
2.
Aplikasi tidak bergantung pada database yang digunakan.
3.
Mapping antara conceptual model dan the storage-specific schema bisa diubah tanpa mengubah kode – kode program yang sudah ada sebelumnya.
4.
LINQ (Language Integration Query) menyediakan validasi terhadap perintah-perintah query pada tahap kompilasi. Hal ini mempermudah programmer dalam mencari letak kesalahan perintah query yang dipakainya.