BAB 2 LANDASAN TEORI
2.1
Teori-teori dasar/umum Pada bagian ini dikemukakan teori-teori dasar yang menjadi dasar dalam
penelitian IT. Teori umum ini digunakan dalam pengembangan suatu aplikasi. 2.1.1 e-Learning 2.1.1.1 Pengertian e-Learning Menurut Effendi dan Zhuang (2005, p6), E-Learning adalah semua kegiatan pembelajaran yang menggunakan media elektronik atau teknologi informasi. E-Learning juga dapat diartikan sebagai salah satu bentuk pendidikan yang menggabungkan motivasi, komunikasi, efesiensi dan teknologi (Matt Comerchero, 2006, p1)
2.1.1.2 Kelebihan e-Learning Menurut Kristy DelVecchio dan Megan Loughney (2006,p5), Elearning sangat berguna bagi pendidikan dan perusahaan serta untuk semua tipe pelajar. E-learning sangat terjangkau, menghemat waktu, dan memiliki hasil yang dapat diukur. E-learning mempunyai berbagai keuntungan, yaitu: 1. Mengurangi biaya : E-learning lebih hemat dibanding dengan cara Belajar tradisional karena hemat waktu dan uang yang dihabiskan saat dalam transportasi. E-learning dapat diakses dari berbagai
7
8
lokasi dan tidak ada biaya transportasi sama sekali, E-learning lebih hemat dibandingkan dengan cara belajar tradisional. 2. Fleksibilitas: E-learning memiliki kelebihan dalam pengaksesan dimana saja dan kapan saja. Pendidikan tersedia kapanpun dan dimanapun dibutuhkan. E-learning dapat digunakan di kantor, rumah, jalan, 24 jam sehari dan 7 hari dalam satu minggu. Elearning juga memiliki pengukuran terhadap hasil belajar yang dapat dibuat agar instruktur dan pelajar dapat mengetahui apa saja yang telah dipelajari, kapan mereka akan menyelesaikan pelajarannya dan bagaimana hasil yang telah mereka capai. 3. Pelajar sangat menyukai E-learning karena mengakomodir cara belajar yang berbeda. Pelajar bisa mengambil keuntungan belajar sesuai dengan keinginan mereka. Pelajar juga bisa menyesuaikan E-learning dengan jadwal kesibukan mereka. Apabila pelajar bekerja maka ia masih dapat bekerja dengan E-learning. Apabila pelajar menginginkan waktu belajar dimalam hari, maka pilihannya juga tersedia. 2.1.1.3 Kekurangan e-Learning Disamping kelebihannya, menurut Kristy DelVecchio dan Megan Loughney (2006,p5) E-learning juga mempunyai kekurangan , yaitu : 1. Pelajar harus memiliki akses ke komputer dan internet. 2. Pelajar juga harus memiliki keterampilan komputer dengan programnya, seperti program word processing, internet browser, dan e-mail.
9
3. Koneksi internet yang baik, karena sangat dibutuhkan dalam pengambilan materi pelajaran.
2.1.2 Klien dan Server Klien dapat didefinisikan sebagai pihak yang meminta sebuah service, sedangkan server dapat diartikan sebagai pihak yang menyediakan services bagi pihak yang membutuhkannya (Chung, 2004). Sistem klien dan server dapat diukur melalui : • Secara horizontal, dimana hal ini dapat dilakukan dengan menambahkan maupun menghilangkan klien workstation yang akan menghasilkan sedikit perubahan dalam hal performa. • Secara vertical, dimana dilakukan dengan memindahkannya ke mesin server yang lebih besar dan cepat maupun multiserver. Beberapa cara hubungan antara Klien/Server dengan server yaitu : • Centralized
Gambar 2.1 Skema Sistem Centralized.
Pada struktur centralized, semua data disimpan dalam 1 file server dimana akan mengakibatkan file server diwajibkan untuk memiliki kemampuan untuk menampung dan memproses data dalam jumlah yang besar.
10
• Distributed
Gambar 2.2 Skema Sistem Distributed.
Pada sistem distributed, data-data disimpan dalam beberapan file server yang saling berhubungan. Hal ini akan meningkatkan efisiensi dalam hal pengaksesan data. Namun kerusakan pada satu file server akan berakibat pada kerusakan pada file server lainnya.
2.1.3 File Transfer Protocol (FTP) FTP adalah salah satu komponen penting yang digunakan dalam web untuk melakukan transfer data(RFC 959, 1985).. Proses pada FTP berlangsung dengan FTP sebagai klien, dan FTPD bertindak sebagai server. Namun proses ini berbeda dengan telnet dimana terdapat dua koneksi yang terjadi pada FTP. Tugas dari protokol FTP adalah untuk mentransfer file dari satu komputer ke komputer yang lainnya. Hal ini tidak dipengaruhi oleh lokasi, cara koneksi, maupun sistem operasi dari komputer tersebut. Selama sistem komputer tersebut memiliki protokol TCP/IP dan terhubung dengan internet, maka fasilitas FTP dapat digunakan.
11
Protokol pada FTP menggunakan empat karakter ASCII yang diakhiri dengan karakter NEWLINE dimana terdapat beberapa kode yang membutuhkan parameter setelah kode tersebut. Keuntungan menggunakan karakter ASCII adalah untuk memudahkan user melihat aliran perintah dalam upaya pemeriksaan transfer file dan juga memudahkan user dalam mengakses FTP server tanpa menggunakan FTP klien. Adapun beberapa FTP internal command yang biasa digunakan pada protokol yaitu : • USER - Username. Perintah ini merupakan perintah yang pertama kali dikirim ke server setelah koneksi terjalin, dan digunakan untuk identifikasi user pada server. • PASS – Password. Perintah ini dikirim setelah perintah USER. Perintah ini berfungsi untuk membantu server dalam identifikasi user yang mengakses server. • CWD – Change Working Directory. Perintah ini mengijinkan user untuk mengganti direktori penyimpanan data, pengambilan data, dan pemberian hak akses. • CDUP – Change To Parent Directory. Perintah ini merupakan fungsi khusus dari CWD yang berfungsi untuk membantu transfer direktori di antara sistem operasi yang memiliki sintaks yang berbeda dalam penamaan direktori induknya. o REIN – Reinitialize. Perintah ini berfungsi untuk memutuskan koneksi user, dimana jika masih ada transfer yang belum selesai, akan diselesaikan terlebih dahulu.
12
o QUIT – Logout. Perintah ini berfungsi untuk memutuskan koneksi user dengan server menutup semua transfer data yang sedang berjalan. o PORT – Data Port. Perintah ini memberikan akses port untuk digunakan dalam proses transfer data tertentu. o RETR – Retrieve. Perintah ini menyebabkan data transfer process (DTP) pada server untuk melakukan transfer salinan data kepada pengguna DTP. o TYPE – Representation Type. Argumen pada perintah ini menggambarkan tipe representasi data. Contohnya A untuk ASCII atau I untuk Image. o STOR – Store. Perintah ini menyebabkan DTP pada server untuk menerima transfer data dari pengguna DTP dan menyimpan datanya ke dalam server. o STOU – Store Unique. Perintah ini hampir sama dengan STOR dimana data yang disimpan pada server harus menggunakan nama yang unik dalam direktorinya. o APPE – Append. Perintah ini menyebabkan server untuk menerima data dari klien dan menyimpannya ke dalam file tertentu, dan menambahkan di akhir dari file jika terdapat data yang sama. o RNFR – Rename From. Perintah ini memberikan spesifikasi nama kepada file.
13
o RNTO – Rename To. Perintah ini mengambil file yang sudah di spesifikasi dari perintah RNFR dan memberikan spesifikasi nama yang baru. o ABOR – Abort. Perintah ini memerintahkan server untuk membatalkan perintah FTP yang sebelumnya. o DELE – Delete. Perintah ini menyebabkan file tertentu untuk dihapus pada server. (Hal ini berlaku bagi user yang memiliki wewenang) o MKD – Make Directory. Perintah ini untuk membuat direktori baru. (Hal ini berlaku bagi user yang memiliki wewenang). o PWD – Print Working Directory. Perintah ini untuk mengembalikan nama dari direktori yang sedang dikerjakan. o LIST – List. Perintah ini berguna untuk mengirim list dari semua file dan direktori yang sedang digunakan kepada klien. o HELP – Help. Perintah ini memerintahkan server untuk mengirimkan informasi yang berguna mengenai implementasinya. o NOOP – No Operation. Perintah ini memerintahkan server untuk mengirimkan balasan OK. Dalam hal ini berfungsi untuk menjaga hubungan FTP agar tetap hidup. 2.1.4 Hyper Text Transfer Protocol (HTTP) Hyper Text Transfer Protocol (HTTP) adalah protokol daripada web (RFC 1945, 2616). Protokol HTTP pertama kali diimplementasikan oleh Tim Berners-Lee di CERN pada tahun 1990-1. Berdasarkan spesifikasi dari HTTP/1.0, protocol HTTP adalah protokol dengan fitur yang ringan dan kecepatan yang memadai untuk mendistribusikan informasi maupun data-data yang dibutuhkan oleh sistem.
14
2.1.4.1 HTTP Request HTTP Request adalah inisiasi awal dari klien untuk melangsungkan komunikasi. Setiap kali klien mengirimkan request, klien akan menggunakan TCP untuk melangsungkan koneksi dengan web server dan kemudian mengirimkan request melalui koneksi tersebut. Format dari HTTP Request memiliki tiga komponen utama, yaitu: 1. HTTP Request Method, URI, dan versi protokolnya. Hal ini merupakan baris pertama dari HTTP Request dimana di dalamnya mengandung jenis metode dari HTTP Request, URI dan juga nama dari protokol yang akan digunakan. 2. HTTP Request Headers Bagian ini mengandung bagian kepala dari HTTP Request yang digunakan untuk bertukar informasi mengenai lingkungan (environment) dari klien. 3. HTTP Request Body Bagian ini berisi isi dari request yang dikirimkan oleh HTTP Request. HTTP Request Header dan HTTP Request Body dipisahkan oleh baris kosong. 2.1.4.2 HTTP Response HTTP Response merupakan bagian yang akan member tanggapan HTTP Request di server dan mengirimkan respon yang akan ditampilkan pada jendela pencari (browser) klien. Format dari HTTP Response juga terdiri dari 3 komponen utama yaitu: • Protocol/Version, Kode status, dan deskripsinya.
15
Bagian ini merupakan baris pertama dari HTTP Response yang terdiri dari nama dan versi protokol, kode status dari request, dan juga deskripsi dari kode status tersebut. • HTTP Response Headers. Bagian ini hampir sama dengan HTTP Request Header dimana HTTP Response Header juga mengandung informasi. Perbedaannya terletak pada informasi yang dikandungnya dimana pada HTTP Request Header berisi informasi mengenai environment dari mesin klien. Sedangkan pada HTTP Response Header berisi informasi mengenai environment dari mesin server. • HTTP Response Body Bagian ini merupakan hal yang ditampilkan pada bagian jendela pencari (browser) klien. HTTP Response Header dan HTTP Response Body juga dipisahkan oleh baris kosong. 2.1.4.3 Protocol HTTP Beberapa metode protokol yang umumnya digunakan dalam HTTP yaitu : • OPTIONS Metode OPTIONS berfungsi untuk meminta informasi mengenai pilihan komunikasi yang tersedia pada request maupun response yang telah diidentifikasi oleh Request-URI. Metode ini memberikan akses kepada klien untuk menentukan pilihan maupun persyaratan yang berhubungan dengan server, ataupun kapabilitas dari server.
16
• GET Metode GET berarti mengembalikan infomasi apapun yang sesuai dengan yang diajukan oleh Request-URI. Jika Request-URI mengacu pada proses pengolahan data, maka hasil data yang telah diproses itulah yang akan dikembalikan. Pada hasil data tersebut teks yang merupakan sumber pemrosesan data tidak diikut sertakan, kecuali teks tersebut merupakan bagian dari output yang dihasilkan. Metode GET dapat dibagi menjadi dua bagian yaitu : 1. Conditional GET Hal ini terjadi apabila pada pesan request terdapat If-Modified-Since, IfUnmodified Since, If-Match, If-None-Match, atau If-Range. Metode Conditional GET berguna untuk mengantisipasi apabila user ingin agar data maupun suatu proses dilakukan dalam suatu keadaan tertentu. Selain itu, metode ini bermaksud untuk mengurangi pemakaian network yang tidak terpakai dengan memberikan akses kepada data untuk melakukan refresh tanpa memerlukan proses request ataupun transfer data dalam data yang sudah dimiliki oleh klien. 2. Partial GET Hal ini terjadi apabila pada pesan request terdapat jangkauan (Range) dari header-nya. Partial GET berarti hanya sebagian dari data yang ditransfer. Proses ini berguna untuk mengurangi pemakaian network yang tidak terpakai dengan memberikan akses untuk melengkapi sebagian data yang telah di transfer tanpa mengulangi proses dari awal.
17
• POST Metode POST digunakan untuk meminta server agar menerima data yang ada dalam request sebagai bagian dari request yang telah diidentifikasi oleh Request-URI dalam Request-Line. Metode POST digunakan untuk melakukan beberapa hal berikut : - Anotasi dari sumber-sumber yang ada. - Memasukkan pesan ke papan bulletin, mailing list ataupun artikelartikel yang tergabung dalam grup yang sama. - Menyediakan satu blok data seperti hasil dari penyerahan form, ataupun proses penanganan data. - Memperbesar database melalui proses append. Fungsi sebenarnya dari metode POST ditentukan oleh server biasanya tergantung oleh Request-URI. Data yang dihasilkan merupakan bagian dari URI dimana maksudnya datra yang dihasilkan merupakan bagian dari direktori yang memanggilnya. Contohnya sebuah artikel merupakan bagian dari group berita tempat artikel tersebut dipanggil. • HEAD Metode HEAD memiliki kemiripan dengan GET, namun server tidak harus mengembalikan bagian badan dari message (message-body). Informasi meta yang terdapat pada HTTP header yang dikembalikan sesuai dengan perintah HEAD harus sama dengan informasi yang dikembalikan melalui perintah GET. Metode ini dapat digunakan untuk mendapatkan informasi meta mengenai data yang didapatkan tanpa
18
mengirimkan bagian badan dari data tersebut. Selain itu metode ini juga banyak digunakan untuk melakukan pengecekan mengenai validitas, aksebilitas, dan modikasi dari link hypertext. • PUT Metode PUT meminta agar data disimpan dalam Request-URI yang telah ditentukan. Jika Request-URI mengacu pada bagian yang telah ada, maka data tersebut akan ditandai sebagai versi modifikasi dari data sebelumnya di server. Namun jika Request-URI tidak mengacu pada bagian yang telah ada, maka URI akan mendefinisikan suatu bagian yang baru sesuai dengan request dari user. Perbedaan dari perintah POST dan PUT terletak pada pengartian yang dilakukan oleh REQUEST-URI. URI pada perintah POST mengidentifikasi sumber yang akan menangani data. Sumber yang dimaksud dapat berarti hasil dari pemrosesan data, gerbang hubungan dengan protocol lain maupun data terpisah yang menerima anotasi. Sedangkan URI pada perintah PUT mengidentifikasi data sesuai dengan request. • DELETE Metode DELETE meminta agar server menghapus sumber sesuai dengan REQUEST-URI. Metode ini dapat dilakukan dengan bantuan user juga pada bagian server. Server akan memberikan status berhasil perintah tersebut telah selesai dilakukan ataupun data-data yang akan dihapus telah dipindahkan ke tempat yang tidak bisa dijangkau. • TRACE
19
Metode TRACE memberikan akses kepada klien untuk melihat hal yang diterima pada bagian terakhir dari request dan menggunakan data tersebut untuk bagian testing maupun diagnosis informasi.
2.1.5 Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip sound engineering untuk mendapatkan perangkat lunak yang handal dan dapat bekerja secara efisien pada mesin yang sesungguhnya (Pressman, 2008, p53). Tujuan dari rekayasa perangkat lunak yaitu : • Menghasilkan biaya produksi perangkat lunak yang rendah. • Menghasilkan perangkat lunak dengan kinerja tinggi dan andal serta tepat waktu. • Menghasilkan perangkat lunak yang dapat berkerja pada berbagai jenis platform. • Menghasilkan perangkat lunak yang biaya perawatannya rendah 2.1.5.1 Ruang Lingkup Rekayasa Perangkat Lunak Ruang lingkup Rekayasa Piranti Lunak dapat digambarkan seperti gambar di bawah ini:
Gambar 2.3 Ruang Lingkup RPL (Abran et.al., 2004).
20
9 Software Requirements : Mencakup tentang spesifikasi kebutuhan yang dibutuhkan dalam perancagan perangkat lunak. 9 Software Desain : Mencakup desain penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak. 9 Software Construction : Mencakup detail pengembangan perangkat lunak seperti algoritma, pengkodean, pengujian dan pencarian kesalahan . 9 Software Testing : Meliputi pengujian pada keseluruhan perangkat lunak. 9 Software Maintenance : Mencakup tindakan lebih lanjut ketika perangkat lunak telah dioperasikan seperti perawatan. 9 Software Configuration Management : Mencakup usaha perubahan konfigurasi perangkat lunak yang dilakukan untuk memenuhi kebutuhan tertentu. 9 Software Engineering Management : Mencakup manajemen dalam rekayasa perangkat lunak seperti pengelolaan, pengukuran, dan perencanaan proyek. 9 Software Engineering Tools and Methods : Mencakup kajian teoritis tentang alat bantu dan metode RPL. 9 Software Engineering Process :
21
Mencakup
proses
pembuatan
seperti
definisi,
implementasi
pengukuran, pengelolaan, perubahan, dan perbaikan proses RPL. 9 Software Quality : Mencakup pengukuran kualitas dan daur hidup perangkat lunak 2.1.5.2 Proses Rekayasa Perangkat Lunak Tahapan-tahapan dalam rekayasa piranti lunak, yaitu : 1. Analisis sistem adalah bagian terpenting dari proses rekayasa perangkat lunak
karena semua proses lanjutan akan sangat
bergantung pada baik tidaknya hasil analisis. Salah satu bagian penting yang biasanya dilakukan dalam tahapan analisis adalah pemodelan proses bisnis. Pada tahap ini masalah-masalah dipecah menjadi komponen-komponen dengan tujuan mempelajari seberapa bagus komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka. 2. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi informasi. Tahapan ini menunjukkan aliran data yang masuk dan keluar pada suatu proses yang mana digambarkan dalam bentuk Diagram Arus Data (Data Flow Diagram/DFD) atau Flow Chart. DFD atau Flow Chart meyajikan gambaran mengenai transformasi data yang dilakukan manusia, proses dan prosedur dalam menghasilkan informasi.
22
3. Disain perangkat lunak adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi detil dari solusi berbasis computer. Output utama dari tahapan ini adalah spesifikasi disain yang meliputi spesifikasi disain umum dan spesifikasi disain rinci. Spesifikasi disain umum berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa perangkat lunak yang akan dibangun. Spesifikasi disain rinci digunakan dalam perancangan sistem dengan tujuan agar sistem yang dibangun memiliki konstruksi yang baik, proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya. Selain itu juga terdapat desain arsitektur yang terdiri dari desain database, desain proses, dan desain user interface. 4. Konstruksi adalah tahapan menerjemahkan hasil desain logis dan fisik ke dalam kode-kode program komputer. 5. Pengujian dilakukan dengan melibatkan kelompok pengguna yang telah direncanakan sebelumnya. Tahap ini akan berakhir ketika semua kelompok pengguna sepakat bahwa perangkat lunak tersebut bisa diterima berdasarkan kriteria-kriteria yang telah ditetapkan. 6. Perawatan dan Konfigurasi. Ketika sebuah perangkat lunak telah dianggap layak untuk digunakan, maka akan ada tahapan baru yang muncul yaitu perawatan perangkat lunak.
Ada beberapa tipe
perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat pada diagram dalam gambar di bawah ini:
23
Gambar 2.4 Tipe-Tipe Perawatan.
Tipe perawatan corrective dilakukan jika terjadi kesalahan atau (bugs).
Perawatan
ini dilakukan dengan memperbaiki kode
program, menambah bagian
yang dirasa perlu atau malah
menghilangkan bagian-bagian tertentu. Tipe perawatan routine (preventive maintenance) dilakukan secara rutin untuk melihat kinerja perangkat lunak, ada atau tidak ada kesalahan. Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.
24
2.1.5.3 Model Proses Perangkat Lunak 2.1.5.3.1
Model Spiral Menurut Pressman (2008, p86), model spiral merupakan model evolutioner yang menggabungkan sifat iteratif dari model protyping dan juga aspek sistematis dan terkontrol dari model waterfall. Adapun setiap loop yang ada pada model Spiral menandakan sebuah fase yang akan dijalankan. Beberapa hal yang harus dicermati sebelum membuat model Spiral, yaitu: 1. Objective settings User sudah dapat menentukan tujuan dari fase yang ditentukan, mengetahui
batasan-batasan
menyiapkan
perencanaan,
pada
proses
mengetahui
dan
produk,
resiko
proyek,
menyiapkan alternatif strategi untuk menanggulangi resikoresiko yang ada. 2. Risk assessment and reduction Adapun setiap resiko harus dianalisis secara detil. Hal ini dilakukan untuk memperkirakan solusi penanganan dan juga membuat
prototype
untuk
mengetahui
ketidakcocokan
kebutuhan. 3. Development and validation Model pengembangan sistem akan dipilih setelah evaluasi dilakukan. Adapun dalam model Spiral, pengembangan akan dilakukan bersamaan dengan validasi ataupun pengujian
25
daripada sistem. Hal ini bertujuan untuk mempercepat kinerja perbaikan dari sistem. 4. Planning Evaluasi proyek akan dilakukan untuk memutuskan untuk terus ke fase loop selanjutnya atau tidak. Jika fase dilanjutkan ke fase selanjutnya, maka perancanaan yang baru akan diterapkan.
Gambar 2.5 Model Pengembangan Spiral.
2.1.6
Interaksi Manusia dan Komputer
2.1.6.1
Pengertian IMK dan Komponennya Interaksi Manusia dan Komputer adalah suatu rancangan sistem
komputer yang mendukung dan membantu manusia dalam hubungannya dengan aktivitas sehari-hari, produktivitas maupun keamanan (Preece, 2007). Secara umum, Interaksi Manusia dan Komputer dapat diartikan
26
sebagai ilmu yang mempelajari suatu interaksi yang terjadi antara manusia dan komputer. Komponen Interaksi Manusia dan Komputer yaitu : • USER Pengguna sistem baik secara individu maupun berkelompok dimana pihak user berusaha untuk menyelesaikan pekerjaannya dengan menggunakan bantuan teknologi. • KOMPUTER Komputer merupakan suatu teknologi yang digunakan untuk mengontrol suatu proses maupun sebuah sistem agar dapat berjalan sebagaimana mestinya. Komputer terdiri dari berbagai jenis baik dari yang berskala kecil/desktop sampai ke skala besar seperti super komputer. Selain itu, komputer dapat juga berupa suatu teknologi yang ditempelkan (embedded system) ke suatu benda. • INTERAKSI Dalam setiap interaksi yang terjadi antara manusia dan komputer baik secara langsung maupun tidak langsung, melibatkan suatu dialog dengan suatu umpan balik (feedback) dan kontrol kinerja dari suatu kerja. Interaksi yang bagus akan memudahkan
aktivitas
yang
dilakukan
sehingga
menghasilkan suatu hasil yang diinginkan tepat waktu.
dapat
27
2.1.6.2
Delapan Aturan Emas Menurut Shneiderman (2009, p88), terdapat delapan aturan emas
perancangan antarmuka (Eight Golden Rules) yang harus diperhatikan yaitu : 1. Berusaha untuk konsisten Konsistensi dalam tindakan diperlukan dalam situasi yang sama. Contohnya yaitu proses terminologi yang sama untuk proses prompt, menu maupun tampilan bantuan. Selain itu juga diperlukan konsistensi dalam layout yang ditampilkan. Pengecualian dapat diberikan kepada situasi mengenai konfirmasi proses delete ataupun pengulangan terhadap password. 2. Memenuhi kegunaan yang universal. Mengenali kebutuhan dari user yang
berbeda, perbedaan dari
pengguna pemula dan pengguna ahli, perbedaan umur, serta keberagaman teknologi dimana sistem harus dapat memenuhi kebutuhan tersebut. Menambahkan fitur untuk pengguna awal, seperti penjelasan, dan fitur-fitur untuk pengguna ahli, seperti penggunaan shortcut,dsb. 3. Memberikan umpan balik yang informatif. Umpan balik yang diberikan harus memberikan informasi kepada user terkait dengan aktivitas yang dilakukan, sehingga user dapat mengetahui aksi apa yang telah dan akan dilakukan. 4. Merancang dialog yang memberikan penutupan (keadaan akhir).
28
Rangkaian aksi sebaiknya disusun menjadi sebuah grup yang memiliki keadaan awal, bagian tengah, dan bagian akhir. Umpan balik pada bagian akhir seperti konfirmasi maupun petunjuk memberikan suatu kepuasaan, kelegaan maupun pesan dan pilihan kepada user untuk melanjutkan rangkaian aksinya. 5. Memberikan pencegahan kesalahan dan penanganan kesalahan yang sederhana. Dalam merancang suatu sistem, sebaiknya didesain agar user tidak dapat membuat kesalahan yang serius. Bila terjadi kesalahan, sistem harus dapat mendeteksi kesalahan dan menawarkan langkah termudah untuk menyelesaikan masalah. 6. Memungkinkan pembalikan aksi yang mudah. Fitur ini akan memberikan rasa aman kepada user dikarenakan user tahu bahwa aksi yang dilakukan masih dapat dibalikkan. Hal ini akan mendorong user untuk menjelajah lebih jauh. 7. Mendukung internal locus of control. User yang berpengalaman sangat menginginkan kontrol yang kuat pada sistem sehingga user merasa memegang kendali atas sistem tersebut. Sitem yang tidak terduga dan sulit dalam melakukan aksi akan menyulitkan user. 8. Mengurangi beban ingatan jangka pendek. Keterbatasan memori pada manusia mengharuskan agar tampilan dibuat sedemikian mungkin sehingga mudah dicerna, dan fungsifungsi yang ada juga tidak memerlukan banyak keyword yang harus diingat.
29
2.2
Teori-teori Khusus Teori-teori khusus adalah teori-teori yang secara spesifik dibutuhkan dalam
penelitian ini. Teori-teori khusus ini merupakan landasan dari fokus penelitian. 2.2.1
Sinkronisasi
2.2.1.1
Pengertian Sinkronisasi Sinkronisasi adalah proses penyesuaian terhadap skala waktu dari
proses osilasi yang berhubungan dengan interaksi yang terjadi antara proses osilasi tersebut (Balanov, 2008). Pada dasarnya sinkronasi dibagi menjadi dua jenis yaitu one-way file synchronization (sinkronisasi satu arah) dimana file-file yang telah mengalami perubahan pada bagian source (pusat) akan di buat salinannya dan dipindahkan ke lokasi targetnya. Pada one-way file synchronization ini, tidak ada file dari target yang akan menuju ke bagian source. Sedangkan pada jenis yang kedua, two-way file synchronization (sinkronisasi 2 arah) proses pembuatan salinan dan pemindahannya dapat berjalan 2 arah baik dari source ke target maupun sebaliknya.
2.2.1.2
Protokol Sinkronisasi Adapun beberapa protokol yang umumnya digunakan dalam
teknik sinkronasi, yaitu:
30
2.2.1.2.1 HotSync Hotsync menyediakan dua mode operasi sinkronasi yaitu fast sync dan slow sync.
.
Gambar 2.6 Perbandingan 2 Mode dari Hotsync
Dari ilustrasi di atas, dapat dilihat bahwa mode slow sync melakukan sinkronisasi dengan melakukan transfer semua data yang ada dalam PDA ke dalam PC. Hal ini berbeda dengan mode fast sync yang hanya melakukan transfer data yang sudah diperbaharui pada PDA ke dalam PC. Fast sync dijalankan apabila device yang digunakan dalam proses sinkronasi tidak berbeda dengan device terakhir yang digunakan dalam sinkronasi sebelumnya. Untuk mengetahui perubahan yang terjadi sejak sinkronasi sebelumnya, fast sync menggunakan status flag sebagai penanda. Status flag ini disimpan dalam setiap record dalam database, dan akan mencatat setiap perubahan yang terjadi dalam database. Status flag akan di reset setiap kali sinkronasi selesai dilakukan.
31
Slow sync digunakan ketika kondisi dari fast sync tidak terpenuhi seperti device yang digunakan dalam proses sinkronasi berbeda dengan device terakhir yang melakukan proses sinkronasi.
Gambar 2.7 Perbandingan Kompleksitas Komunikasi dari 2 Mode dalam Hotsync.
Dari gambar di atas, dapat kita lihat bahwa semakin banyak data yang disinkronisasikan dengan metode slow sync, akan membuat waktu sinkronisasi semakin lama. Hal ini berbeda dengan metode fast sync yang memiliki waktu sinkronisasi yang cukup konstan.
2.2.1.2.2 Intellisync Intellisync merupakan produk dari Pumatech dimana dalam penerapannya bertujuan untuk menggunakan fast sync dalam setiap sinkronasi yang dilakukan. Untuk menerapkan hal tersebut, maka
32
device selalu dalam keadaan tersinkronisasi dengan server. Dimana hal ini akan mengakibatkan masalah apabila device yang terhubung dengan server memiliki skala yang cukup besar.
Gambar 2.8 Intellisync Anywhere yang Diinstal pada Server.
Intellisync
pada
gambar
di
atas,
databasenya
menggunakan sistem centralized dimana semua database disimpan dalam satu pusat. Jika server mengalami gangguan, maka akan berdampak pada klien-kliennya. 2.2.1.2.3 SyncML SyncML merupakan protokol yang menggunakan flag dalam proses
sinkronisasinya.
Dalam
implementasinya,
syncML
membutuhkan device tambahan untuk mencatat perubahanperubahan yang akan dilakukan dalam proses sinkronasi. Hal ini menyebabkan jumlah pemakaian memori yang semakin besar. Tidak hanya itu, syncML rentan terhadap situasi yang dinamis seperti penambahan maupun pengurangan device dalam jaringan.
33
Gambar 2.9 Framework SyncML.
Dari Framework syncML di atas, dapat kita lihat, aplikasi A memiliki Sync Server Agent dan aplikasi B memiliki Sync Client Agent. Fungsi dari agent tersebut adalah untuk mencatat perubahan yang terjadi untuk mempermudah proses sinkronasi. 2.2.1.2.4 CPISync CPISync atau (Characteristic Polynomial Interpolation Synchronization)
merupakan
protokol
sinkronisasi
yang
menggunakan algoritma maupun komputasi yang rumit dalam proses sinkronisasinya. Hal ini menyebabkan waktu yang dibutuhkan untuk setiap sinkronisasi adalah hampir sama baik untuk data sinkronisasi dalam jumlah besar maupun kecil.
Gambar 2.10 Perbandingan Waktu Antara Slow Sync dan CPI Sync.
34
Slow sync memiliki waktu sinkronisasi yang semakin besar apabila data yang akan disinkronisasikan memiliki jumlah yang besar. Hal ini berbeda dengan CPISync yang memiliki waktu
sinkronisasi
yang
lebih
konsisten
meskipun
data
disinkronisasikan dalam jumlah besar.
Gambar 2.11 Skala Perbandingan Fast Sync, Slow Sync, CPI Sync, Intellisync, dan SyncML.
2.2.2
QT
2.2.2.1
Pengenalan Qt Qt atau dibaca dengan ‘cute’ awalnya adalah produk dari
QtSoftware yang dibuat oleh Trolltech pada tahun 1994. Teknologi Qt banyak digunakan di banyak perusahan seperti Google, Skype, dan sebagainya. Secara umum, Qt merupakan C++ toolkit yang ditujukan
35
untuk pengembangan aplikasi Graphic User Interface (GUI) crossplatform (anonim1). Aplikasi yang dibuat dengan memanfaatkan Qt dapat dijalankan di berbagai platform desktop seperti Linux, Windows, dan Mac hingga sistem operasi embbeded tanpa harus merubah kode program secara keseluruhan (write once, compile anywhere). 2.2.2.2
Fitur Utama Qt
Ada beberapa fitur utama yang terdapat pada Qt (anonim2): 1.
Signal and Slots Dalam Qt Signal and Slots digunakan untuk komunikasi antar objek. Signal dibangkitkan jika suatu event terjadi, baik yang disebabkan oleh interaksi user maupun dari internal program. Slot merupakan fungsi yang dipanggil sebagai respon dari signal tertentu. Qt juga menyediakan pre-defined signal and slot untuk membantu user dalam penggunaanya, namun user juga dapat membuat signal dan slotnya sendiri.
2.
Integrated GUI Designer Untuk memudahkan desain interface, Qt menyediakan QtDesigner, sebuah tool untuk mendesain GUI secara visual, yang akan menghasilkan kode layout. Dengan tool tersebut, user dapat melakukan kustomisasi widget atau memilih widget standar yang ada. Selain itu, QtDesigner juga dapat berintegrasi dengan Visual Studio atau Eclipse.
36
3.
IDE International Translation International Translation merupakan proses membuat aplikasi dapat digunakan oleh orang di berbagai negara melalui translasi bahasa.
4.
Integrated Help. Help System yang ada di Qt memberikan kemampuan indexing dan search pada koleksi-koleksi dokumen help secara simultan. Dokumentasi yang ada dapat disimpan secara offline maupun dicari secara online.
5.
Cross Platrform Compiler Fitur ini memungkinkan proses build pada QT dapat dilakukan pada platform yang berbeda seperti LINUX, MAC, maupun WINDOWS. Fitur ini mengotomatiskan proses Makefile generation dan juga mempersingkat baris informasi yang diperlukan untuk menciptakan setiap Makefile.
6.
Integrated Debugger QT mendukung debugger:
-
GNU Symbolic Debugger (gdb)
-
Microsoft Console Debugger (CDB)
-
Internal Java Script Debugger
2.2.2.3
Tools Qt
Adapun tools-tools yang terdapat dalam Qt, diantaranya yaitu (anonim3): 1.
Qt Designer
37
Merupakan tools untuk mendesain dan membangun GUI dari komponen Qt. Pembuatan widgets dan dialog pada Qt Designer digunakan dengan menggunakan on-screen forms. 2.
Qt Assistant Merupakan tools yang berisi baik bantuan maupun dokumentasi
mengenai Qt. Dalam hal ini Qt Assistant menawarkan dokumentasi yang lengkap mengenai penggunaan fitur-fitur yang ada didalam Qt. 3.
Qt Linguist Tools yang digunakan untuk translasi aplikasi ke dalam bahasa
lokal dimana tools ini berguna untuk mendukung campuran beberapa bahasa dalam satu dokumen aplikasi. Tools ini juga mendukung unicode. 2.2.2.4
Keuntungan Qt
Beberapa keuntungan menggunakan Qt (Johnson, 2010): 1.
Qt merupakan software Open source.
2.
Multi cross-platform maksudnya adalah Qt dapat berjalan di berbagai sistem operasi seperti Unix/ Linux, MAC maupun Windows.
2.2.3
3.
Kemudahan user dalam membangun interface yang diinginkan.
4.
Dokumentasi yang tersedia offline maupun melalui online search.
SQLite SQLite merupakan sebuah library proses yang menerapkan serverless
(mandiri tanpa server), zero configuration, database SQL transaksional (anonim4). Kode untuk SQLite berada dalam domain publik dan dengan demikian bebas untuk digunakan untuk tujuan apa pun, komersial atau swasta.
38
SQLite saat ini banyak digunakan dalam aplikasi yang banyak kita jumpai, termasuk dalam beberapa high-profile project. SQLite juga merupakan mesin database SQL embedded yang berbeda dengan kebanyakan database SQL lainnya. SQLite tidak memiliki proses server yang terpisah. SQLite membaca dan menulis secara langsung ke disk. Database SQL lengkap dengan multiple tabel, indices, triggers, dan views, semua terdapat dalam sebuah disk file tunggal. Format file database adalah cross-platform yaitu kita bebas menyalin database antara 32-bit dan sistem 64-bit atau antara arsitektur big-endian dan little-endian. Fitur-fitur ini membuat SQLite menjadi pilihan populer sebagai Application File Format. Berbicara tentang SQLite, SQLite bukan sebagai pengganti untuk Oracle tetapi sebagai pengganti fopen(). Adapun fitur-fitur yang dimiliki oleh SQLite yaitu : 1.
Serverless, SQLite tidak memerlukan proses pada server atau sistem untuk menjalankannya, melainkan hanya sebuah file yang diakses oleh library SQLite.
2.
Zero Configuration, tidak ada server berarti tidak perlu setup, membuat sebuah database instan adalah semudah anda membuat file biasa.
3.
Cross Platform, semua instan database berada dalam sebuah file yang cross-platform, tidak memerlukan administrasi.
4.
Self-Contained, sebuah library mengandung keseluruhan dari sistem database, yang langsung terintegrasi pada sebuah aplikasi program.
39
5.
Small Runtime Footprint, untuk membangun database SQLite hanya membutuhkan kurang dari satu MegaByte library (kode program) dan hanya membutuhkan beberapa MegaByte memory, bahkan dengan beberapa adjustment baik ukuran library maupun memory dapat diperkecil.
6.
Transactional,
SQLite
transaction
memperbolehkan
aksi
penyimpanan melalui beberapa proses thread. 7.
Full Featured, SQLite mendukung hampir sebagian besar standar SQL92 (SQL2).
8.
Highly Reliable, Tim pengembang SQLite mengembangkan melalui kode program yang sangat serius serta telah melewati proses testing.
Berikut gambaran perbedaan arsitektur SQLite dengan RDBMS lainnya (Using SQLite, Jay A.K):
Gambar 2.12 Skema Arsitektur RDBMS Klien/Server Tradisional yang Menggunakan Library Klien.
40
Gambar 2.13 Skema Arsitektur SQLite.
2.2.4
ASP.NET ASP.NET adalah teknologi baru dalam pemrograman web yang
merupakan kelanjutan dari teknologi ASP 3.0 (Walther, 2007). Perbedaan utama dibanding ASP klasik adalah penggunaan .NET Framework sebagai fondasi pemrograman. ASP.NET
memiliki
beberapa
kelebihan
dibandingkan
teknologi
terdahulu, antara lain: 1. Kemudahan mengakses berbagai library .NET Framework secara konsisten dan powerful, yang mempercepat pengembangan aplikasi. 2. Penggunaan berbagai bahasa pemrograman secara penuh, misalnya VB.NET, C#, J#, dan C++. Dalam ASP.NET bahasa-bahasa ini dapat digunakan secara penuh sebagaimana layaknya bekerja di Windows Application. Hal ini jauh berbeda dibandingkan ASP klasik yang mengunakan scripting language. Misalnya VBScript agak berbeda
41
sintaksnya dengan VB, dalam ASP.NET kita dapat menggunakan VB.NET dengan sintaks yang 100% sama dengan ketika membangun Windows Application. Demikian juga dengan C#, tidak ada perbedaan syntax antara C# untuk membuat kode ASP.NET dengan Windows Form. Ini sangat memudahkan memprogram aplikasi Windows dan web secara konsisten. 3. Tersedia berbagai Web Control yang dapat digunakan membangun aplikasi secara cepat. Programmer dapat dengan mudah mengkaitkan data ke web control sebagaimana layaknya memprogram Windows application.
Hal
ini
sangat
mempercepat
pembuatan
aplikasi
dibandingkan harus menyusun kode-kode HTML secara manual. 4. Code Behind, artinya kode-kode pemrograman yang menjadi logic aplikasi ditempatkan terpisah dengan kode user interface yang berbentuk HTML. Ini sangat memudahkan dalam debugging, karena kode untuk presentation layer tidak tercampur dengan kode application logic. Framework .NET adalah suatu komponen Windows yang terintegrasi yang dibuat dengan tujuan untuk mendukung pengembangan berbagai macam jenis aplikasi serta untuk dapat menjalankan berbagai macam aplikasi generasi mendatang termasuk pengembangan aplikasi Web Services XML. Framework .NET di design untuk dapat memenuhi beberapa tujuan berikut ini: 1. Untuk menyediakan environment kerja yang konsisten bagi bahasa pemrograman yang berorientasi objek baik kode objek itu di simpan dan
42
di eksekusi secara lokal, atau dieksekusi secara lokal tapi didistribusikan melalui internet atau dieksekusi secara remote. 2. Untuk menyediakan environment kerja di dalam mengeksekusi kode yang dapat meminimaliasi proses software deployment dan menghindari konflik penggunaan versi software yang di buat. 3. Untuk
menyediakan
environment
kerja
yang
aman
dalam hal
pengeksekusian kode, termasuk kode yang dibuat oleh pihak ketiga. 4. Untuk menyediakan environment kerja yang dapat mengurangi masalah pada persoalan performa dari kode atau dari lingkungan interpreternya. 5. Membuat para developer lebih mudah mengembangkan berbagai macam jenis aplikasi yang lebih bervariasi, seperti aplikasi berbasis Windows dan aplikasi berbasis web. 6. Membangun semua komunikasi yang ada di dalam standar industri untuk memastikan bahwa semua kode aplikasi yang berbasis Framework .NET dapat berintegrasi dengan berbagai macam kode aplikasi lain.
2.2.5
UML (Unified Modelling Language) Menurut Whitten dan Bentley (2007, p371), UML adalah satu kumpulan
konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. UML bukanlah sebuah metode untuk pengembangan sistem melainkan notasi yang telah diterima secara luas sebagai sebuah standar dalam pemodelan objek.
43
2.2.5.1
Flowchart Menurut Whitten dan Bentley (2007), Flowchart merupakan
representasi yang menunjukkan semua tahapan dalam suatu proses. Adapun flowchart digunakan untuk : 1. Mendefinisikan dan menganalisa proses. 2. Memberikan sebuah gambaran terkait dengan langkah-langkah proses dalam menganalisa, diskusi, ataupun komunikasi antar proses. 3. Mendefinisikan, melakukan standarisasi, ataupun menemukan tempat untuk pengembangan suatu proses.
Gambar 2.14 Contoh Flowchart
2.2.5.2
Use Case Diagram Menurut Whitten dan Bentley (2007, p382), use case diagram
menggambarkan interaksi antara sistem dan sistem eksternal, serta user. Dengan kata lain, Use case diagram menggambarkan siapa yang akanmenggunakan sistem dan dengan jalan apa yang diinginkan user
44
untuk berinteraksi dengan sistem. Selain itu, use case diagram digunakan untuk secara tekstual menggambarkan urutan langkah dari setiap interaksi.
Gambar 2.15 Contoh Use Case.
Adapun keuntungan dari menggunakan pemodelan use case yaitu : 1.
Sebagai alat untuk menangkap kebutuhan fungsional.
2.
Membantu pembagian jangkauan sistem ke dalam bagian-bagian yang lebih mudah untuk ditangani.
3.
Sebagai cara untuk berkomunikasi dengan user dan pemegang saham lainnya terkait dengan fungsional sistem.
45
4.
Sebagai cara untuk identifikasi, pemberian, pelacakan, control, dan juga manajemen aktivitas pengembangan sistem.
5.
Menyediakan bantuan dalam memperkirakan jangkauan projek, tugas, maupun jadwal.
6.
Menyediakan suatu tolak ukur untuk percobaan terkait dengan uji kasus maupun uji rencana.
7.
Menyediakan suatu tolak ukur bagi petunjuk bantuan sistem manual user dan juga dokumentasi pengembangan sistem.
8.
Menyediakan suatu alat untuk pelacakan kebutuhan.
9.
Menyediakan titik awal untuk identifikasi data objek maupun entitas.
10. Menyediakan spesifikasi fungsional untuk merancang user dan sistem antarmuka. 11. Menyediakan cara untuk mendefinisikan kebutuhan akses database terkait dengan penambahan, perubahan, penghapusan, maupun pembacaan. 12. Menyedikan suatu framework untuk membantu pengembangan sistem
2.2.5.3
Activity Diagram Menurut Whitten dan Bentley (2007, p382), activity diagram
menggambarkan alur sekuensial dari suatu use case ataupun proses bisnis. Selain itu, activity diagram juga dapat digunakan dalam pemodelan secara logika terhadap sistem
46
Beberapa notasi yang digunakan dalam pembuatan activity diagram yaitu : 1. Solid dot menggambarkan mulainya sebuah proses 2. A rounded-corner rectangle menggambarkan aktivitas atau tugas yang perlu dilakukan 3. Arrows menggambarkan pemicu yang memulai aktivitas 4. A solid black bar merupakan garis sinkronisasi untuk menggambarkan aktivitas yang terjadi secara paralel.
Gambar 2.16 Contoh Activity Diagram
2.2.5.4
Class Diagram Menurut Whitten dan Bentley (2007, p382), class diagram
menggambarkan struktur dari sistem. Serta menampilkan class object
47
yang berada di dalam sistem serta hubungan antara objek tersebut dan objek lainnya.
Gambar 2.17 Contoh Class Diagram
Adapun notasi-notasi yang digunakan dalam class diagram yaitu : o Kelas Kelas menggambarkan sekumpulan objek yang memiliki atribut dan operasi yang dikerjakan oleh objek tersebut. o Agregasi Agregasi menggambarkan hubungan antara dua atau lebih objek, dimana salah satu objek merupakan bagian dari objek lain. o Atribut
48
Atribut merupakan properti dari kelas yang berisi tipe data yang dimiliki oleh instance dari suatu kelas. o Operation Operation merupakan kegiatan-kegiatan yang dilakukan oleh suatu kelas. o Asosiasi Asosiasi menggambarkan relasi antar objek/instance dari kelas. Pada umumnya asosiasi digambarkan sebagai garis antara 2 kelas dimana pada salah satu ujung diletakkan tanda panah yang merupakan navigasi. 2.2.5.5
Sequence Diagram Menurut Whitten dan Bentley (2007, p382), sequence diagram
menggambarkan bagaimana objek berinteraksi dengan objek lainnya melalui pesan dalam suatu eksekusi dari sebuah use case atau sebuah operasi. Sequence diagram juga mengilustrasikan bagaimana suatu pesan dikirim dan diterima oleh objek dan terjadi di dalam suatu sequence.
49
Gambar 2.18 Contoh Sequence Diagram
Beberapa notasi yang terdapat pada sequence diagram pada gambar 2.15 di atas yaitu : 1. Actor Actor direpresentasikan dengan symbol seperti actor pada use case. Terkadang actor direpresentasikan dengan sebuah kotak seperti classes dengan notasi <
2. Interface Class Pada gambar di atas, interface class ditandai dengan sebuah kotak bertandakan <>. Hal ini untuk menghilangkan keraguan pada jenis class pada gambar di atas. 3. Controller Class Setiap use case akan memiliki satu atau lebih controller class yang digambarkan dengan notasi yang sama dengan class interface dan ditandai dengan <> 4. Entitiy Class
50
Ditandai dengan penambahan kotak untuk masing-masing entitas yang akan berkolaborasi dalam sequence diagram 5. Messages Ditandai dengan bentuk panah secara horizontal untuk menunjukkan pesan yang ditujukan kepada class 6. Activation bars Activitation Bar diletakkan di atas lifeline untuk mengindikasikan jangka waktu keberadaan dari masing-masing instansi objek tersebut 7. Return Messages Ditandai dengan arah panah dengan garis putus-putus secara horizontal. 8. Self call Self call menunjukkan bahwa objek tersebut memanggil method pada dirinya sendiri. 9. Frame Frame digunakan untuk mengindikasikan bahwa controller perlu untuk melakukan pengulangan
2.2.6
Proses Model Menurut Bentley dan Whitten (2007, p316) Proses modeling adalah pusat
proses teknik yang dipopulerkan oleh analisis struktural dan metodologi desain yang menggunakan model dari bussines procces requirement untuk memperoleh software design yang efektif bagi perancangan sistem.
51
2.2.6.1
Entity Relationship Diagram Menurut Bentley dan Whitten (2007, p271), Entity relationship
diagram (ERD) adalah sebuah model data yang memanfaatkan beberapa notasi untuk menggambarkan data dalam hal entitas dan hubungan yang digambarkan oleh data. Komponen-komponen dari ERD yaitu : o Entitas Entitas adalah suatu class dari orang, tempat, objek, kejadian, maupun konsep yang kita butuhkan untuk menangkap dan menyimpan data (Whitten, 2007, p271). o Attribute Attribute adalah sebuah properti deskriptif atau karakteristik dari sebuah properti (Whitten, 2007, p272). o Relationship Relationship adalah sebuah hubungan atau asosiasi bisnis yang berlangsung secara alami antara satu entitas dengan entitas lainnya (Whitten, 2007, p275). o Identification atau Key Key adalah suatu atribut, atau kumpulan dari suatu atribut dimana masing-masing entitas memiliki nilai yang unik (Whitten, 2007, p273).
52
o Kardinalitas Kardinalitas adalah jumlah minimum maupun maksimum banyaknya kejadian dari suatu entitas dapat berhubungan dengan entitas lainnya (Whitten, 2007, p275).
Gambar 2.19 Contoh Erd