bab 2 landasan teori html -...
Post on 23-Mar-2019
227 Views
Preview:
TRANSCRIPT
7
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 HTML
Menurut (Ariona, 2013, p. 10) HTML adalah bahasa
dasar untuk menampilkan halaman web pada web browser.
HTML adalah kendepekan dari Hypertext Markup Language.
Artinya adalah bahasa markup (penanda) berbasis text atau
bisa juga disebut sebagai formatting language, dengan
demikian HTML bukanlah bahasa pemprograman, melainkan
bahasa markup/formatting.
Suatu Dokumen HTML juga mempunyai aturan dalam
penulisannya, ada beberapa tag yang harus anda tuliskan dan
sudah menjadi ketentuan. Halaman HTML yang benar akan
memiliki kode/struktur seperti Gambar 2.1 dibawah ini
(Ariona, 2013, p. 13).
Gambar 2.1 Struktur HTML
2.1.2 CSS
CSS adalah kependekan dari Cascading Style Sheet,
berfungsi untuk mempercantik penampilan HTML atau
menentukan bagimana element HTML ditampilkan, seperti
menentukan posisi, merubah warna text atau background dan
lain sebagainya (Ariona, 2013, p. 58) . Ada tiga cara penulisan
kode CSS yaitu, inline, internal, dan external. Ketiganya bisa
anda lakukan sesuai dengan kebutuhkan.
8
1. Inline
Penulisan kode CSS dengan metode inline
ini bias dilakukan langsung pada tag yang ingin
diberi style dengan menggunakan atribut style.
2. Internal
Internal CSS adalah kode CSS yang
terdapat di file HTML dari halaman web kita.
Biasanya CSS jenis ini berada tag <HEAD> dan
tag </HEAD>.
3. External
Metode yang terkahir adalah membuat file
CSS dan dipanggil di dalam tag head. File CSS
harus memiliki ekstensi .CSS misalnya
namafile.CSS.
2.1.3 Javascript
JavaScript dikembangkan oleh Netscape
Communications Corporation, pembuat web browser
Netscape. JavaScript adalah bahasa scripting web pertama
yang didukung oleh browser, dan masih yang paling popular
(Moncur, 2007). Javascript merupakan bahasa scripting yang
diinterpretasikan (interpreted language). Javascript dieksekusi
oleh sebuah interpreter, yang biasanya adalah browser. Kode
Javascript disisipkan dalam source code halaman web
menggunakan tag SCRIPT. Moncur (2007) mengemukakan
beberapa hal yang dapat dilakukan menggunakan Javascript:
1. Menampilkan pesan kepada pengguna pada suatu
bagian di halaman web atau pada alert box.
2. Memvalidasi isi dari suatu form dan membuat
perhitungan matematika.
3. Menggerakkan ataupun menciptakan gambar yang
dapat berubah ketika kursor mouse digerakkan
pada gambar tersebut.
9
4. Membuat banner iklan yang interaktif terhadap
pengguna.
5. Mendeteksi browser yang sedang digunakan
beserta fitur-fitur dan melakukan fungsi-fungsi
tertentu pada browser yang kompatibel.
6. Mendeteksi plug-in yang sedang terpasang dan
memberitahu pengguna jika ada suatu plug-in yang
diperlukan.
7. Memodifikasi semua atau sebagian halaman web
tanpa memaksa pengguna untuk memuat ulang
halaman tersebut.
8. Menampilkan ataupun berinteraksi dengan data
yang diambil dari remote server.
Interpreted language seperti Javascript memiliki salah
satu keunggulan yang mendasar, yaitu untuk menulis maupun
mengubah script sangatlah sederhana. Mengubah script
Javascript semudah mengubah dokumen HTML, dan
perubahan tersebut diberlakukan segera setelah halaman web
dimuat ulang.
2.1.4 Teori Waktu Respon
Waktu respon dalam suatu sistem adalah merupakan
waktu, dalam detik, yang dibutuhkan mulai saat user
menginisialisasi proses hingga output diterima (Shneiderman
& Plaisant, Designing the User Interface : strategies for
effective human-cumputer interaction, 2010, p. 425).
Beberapa pedoman yang disarankan: pemakai lebih menyukai
waktu respon yang pendek, waktu respon yang panjang
mengganggu, waktu respon yang pendek menyebabkan waktu
pengguna berpikir lebih pendek, waktu respon harus sesuai
dengan tugasnya, dan pemakai harus diberi tahu mengenai
penundaan yang panjang (Hartono, M, C, 2008:32).
Perlu diperhatikan bahwa suatu sistem akan melambat
10
ketika beban yang dibawa tinggi. Oleh karenanya sistem harus
memberikan waktu respon yang beragam pada setiap user
seiring waktu. Hal ini untuk mecegah ekspetasi user yang
berlebihan. Ada tiga hal yang mempengaruhi tanggapan user
terhadap response time (Shneiderman & Plaisant, Designing
the User Interface : strategies for effective human-cumputer
interaction, 2010, p. 436) :
1. Pengalaman user
2. Toleransi Individu terhadap delay
3. Tingkat kerumitan pekerjaan
Jenis-jenis task menjadi faktor yang sangat penting
dalam menentukan apakah perubahan pada waktu respon akan
mempengaruhi produktivitas user. Pekerjaan yang dilakukan
user dapat dibagi dua yaitu repetitive task dan problem
solving task.
Repetitive task merupakan kondisi dimana pekerjaan
itu sendiri ikut menentukan apakah perubahan pada response
time akan mempengaruhi produktivitas user. Beberapa
pendapat menyatakan bahwa response time yang berkurang
akan meningkatkan produktivitas namun akan mengorbankan
akurasi. Sementara itu pada problem solving task, user akan
mengadaptasi pekerjaannya tergantung pada response time.
User juga cenderung bersedia membayar lebih banyak untuk
mengurangi tingkat ketidakpastian (Shneiderman & Plaisant,
Designing the User Interface : strategies for effective human-
cumputer interaction, 2010, p. 438).
2.1.5 ASP.NET
ASP.NET adalah teknologi Microsoft yang digunakan
untuk membangun aplikasi web server-side. ASP.NET
dibangun atas dasar kerangka Microsoft .NET (Matthew
MacDonald, Adam Freeman, Mario Szpuszta, 2010).
Microsoft .NET merupakan platform sistem yang
menyediakan sejumlah besar pustaka pemrograman komputer.
11
Kerangka .NET terbagi menjadi beberapa kumpulan dari
bagian-bagian fungsional yang terdiri dari ribuan jenis (kelas,
struktur, antarmuka, dan bahan pemrograman inti lainnya).
Setiap ribuan kelas dalam kerangka .NET dikelompokkan
menjadi suatu penampung yang logis dan hirarkis yang
dinamakan namespace. Namespace yang berbeda menawarkan
fitur yang berbeda. Bersama-sama, kumpulan namespace pada
.NET menyediakan fungsi untuk hampir setiap aspek dari
pengembangan terdistribusi. Alat ini disebut dengan class
library.
Setiap aplikasi ASP.NET selalu di-compile, bukan di
interpretasikan. Aplikasi .NET melalui 2 tahap kompilasi.
Pada tahap pertama, kode yang ditulis di-compile menjadi
bahasa pengantar (Intermediate Language) yang disebut
dengan Microsoft Intermediate Language (MSIL) atau sebutan
lainnya adalah IL. Tahap kompilasi yang pertama ini terjadi
secara otomatis ketika halaman web pertama kali dipanggil,
atau bisa juga dilakukan terlebih dahulu (sebuah proses yang
disebut precompiling). Tahap pertama ini menghasilkan
sebuah file dengan kode IL yang disebut assembly. Tahap
kompilasi kedua terjadi sebelum halaman benar-benar
dijalankan. Pada tahap ini, kode IL di-compile menjadi kode
mesin asli tingkat rendah (low-level native machine code).
Tahap ini disebut juga dengan nama kompilasi just-in-time
(JIT).
12
Gambar 2.2 Proses kompilasi halaman web ASP.NET
Tentunya kompilasi JIT mungkin tidak akan berguna
jika perlu dilakukan setiap kali pengguna meminta halaman
web dari suatu situs. Untungnya aplikasi .NET tidak perlu di-
compile setiap kali sebuah halaman web diminta Sebaliknya,
kode IL dibuat sekali dan dibuat ulang hanya ketika source
code (kode sumber) dimodifikasi. Demikian pula untuk file
kode mesin asli (low-level native machine code) disimpan
pada direktori sistem.
ASP.NET mendukung banyak bahasa pemrograman
seperti Visual Basic, C#, dan J#. Alasannya karena semua
kode akan di-compile menjadi IL. IL merupakan bahasa .NET
dan satu-satunya bahasa yang dikenali oleh Common
Language Runtime (CLR). CLR merupakan mesin eksekusi
yang memuat, menjalankan, dan mengatur IL (Connolly &
Begg, 2015).
Selain itu, ASP.NET mengadopsi pemrograman
berorientasi objek. Para pengembang aplikasi dapat membuat
class yang dapat digunakan kembali, standardisasi kode
13
dengan antarmuka, memperluas kelas dengan inheritance, dan
kumpulan fungsi di dalam komponen. Contoh penerapan
pemrograman berorientasi objek dalam ASP.NET adalah
kontrol berbasis server. Kontrol berbasis server merupakan
contoh encapsulation dalam pemrograman berorientasi objek.
Para pengembang dapat memanipulasi objek kontrol
menggunakan kode untuk menyesuaikan penampilan,
menyediakan data untuk ditampilkan, dan memberi aksi
terhadap events.
2.1.6 C#
C# adalah bahasa pemrograman berorientasi objek
yang dikembangkan oleh Microsoft sebagai bagian dari
inisiatif kerangka .NET. Bahasa pemrograman C# diadaptasi
dari fitur-fitur terbaik milik C, C++, dan Java, serta
penambahan fitur-fitur tersendiri. Standard European
Computer Manufacturer Association (ECMA) menetapkan
tujuan dari perancangan bahasa pemrograman C# sebagai
berikut:
1. C# dimaksudkan agar menjadi bahasa
pemrograman yang sederhana, modern, general-
purpose, dan berorientasi objek.
2. Menyediakan dukungan untuk prinsip-prinsip
rekayasa perangkat lunak seperti pengecekan jenis
(strong type checking), pengecekan array,
pengecekan variabel-variabel yang belum
didefinisikan, dan pengumpulan sampah (garbage
collection) secara otomatis.
3. C# dimaksudkan untuk mengembangkan
komponen perangkat lunak yang cocok untuk
disebarkan melalui lingkungan terdistribusi.
4. Kemudahan bagi programmer yang sudah terbiasa
dengan bahasa pemrograman C dan C++.
14
5. Dukungan internasionalisasi (multi-language) juga
penting.
6. C# dimaksudkan agar cocok untuk membangun
aplikasi yang memiliki sistem klien-server (hosted
system) maupun sistem tertanam (embedded
system), mulai dari perangkat lunak yang sangat
besar yang menggunakan sistem operasi yang
canggih hingga kepada perangkat lunak yang
sangat kecil yang memiliki fungsi-fungsi
terdedikasi.
7. Meskipun aplikasi C# ditujukan agar bersifat
ekonomis dalam hal kebutuhan pemrosesan dan
memori komputer, bahasa C# tidak ditujukan untuk
bersaing secara langsung dengan kinerja dan
ukuran perangkat lunak yang dibuat dengan
menggunakan bahasa pemrograman C dan bahasa
rakitan.
2.1.7 Eight Golden Rules
Untuk merancang sistem interaksi manusia dan
komputer yang baik, ada 8 aturan emas yang harus
diterapkan, antara lain (Shneiderman & Plaisant, Designing
the User Interface : strategies for effective human-cumputer
interaction, 2010, p. 88):
1. Strive for consistency
Memiliki konsistensi dalam urutan aksi di
situasi serupa. Memiliki kesamaan dalam hal menu,
warna, layout, dan font (Shneiderman & Plaisant,
Designing the User Interface : strategies for effective
human-cumputer interaction, 2010, p. 88).
2. Cater to universal usability
User Interface harus dapat dimengerti dan
memenuhi kebutuhan dari user yang berbeda-beda.
Salah satu contohnya dengan menambahkan fitur
15
explanation untuk novice user (pemula), dan
menambahkan fitur shortcut untuk para expert
(Shneiderman & Plaisant, Designing the User Interface
: strategies for effective human-cumputer interaction,
2010, p. 88).
3. Offer informative feedback
Untuk setiap aksi yang dilakukan oleh user
diharapkan akan ada feedback atau umpan balik bagi
user. Respon yang diberikan juga tergantung dari aksi
apa yang dilakukan oleh user (Shneiderman &
Plaisant, Designing the User Interface : strategies for
effective human-cumputer interaction, 2010, p. 88).
4. Design dialogs to yield closure
Urutan aksi yang dilakukan harus
diorganisasikan berdasarkan kelompok, dari awal,
tengah, dan akhir. Umpan balik yang diberikan di akhir
dari suatu aksi user, akan memberikan kepuasan,
perasaan nyaman dan puas. Contohnya pada sebuah
website e-commerce pada saat user memilih sebuah
product dan melakukan check-out, maka sistem akan
memberikan konfirmasi bahwa transaksi yang
dilakukan telah berhasil (Shneiderman & Plaisant,
Designing the User Interface : strategies for effective
human-cumputer interaction, 2010, p. 88).
5. Prevent Error
Suatu user interface harus dirancang sedemikan
rupa sehingga user tidak melakukan kesalahan. Jika
user melakukan sebuah kesalahan sistem dapat
medeteksi dan menawarkan recovery yang sederhana,
konstruktif dan spesifik (Shneiderman & Plaisant,
Designing the User Interface : strategies for effective
human-cumputer interaction, 2010, p. 88).
6. Permit easy revesal of actions
16
Sebisa mungkin sistem yang dirancang dapat
mengembalikan aksi yang dilakukan oleh user. Hal
tersebut dapat menurunkan tingkat kekhawatiran user
selama menggunakan sistem, sehingga membuat user
semakin berani untuk mengeksplorasi sistem
(Shneiderman & Plaisant, Designing the User Interface
: strategies for effective human-cumputer interaction,
2010, p. 89).
7. Support internal locus of control
User yang berpengalaman biasanya memiliki
rasa bahwa mereka bertanggung jawab terhadap sistem
dan sistem akan memberikan respon terhadap setiap
aksi yang mereka lakukan. Mereka tidak ingin
interface yang berbeda dengan interface pada
umumnya. Urutan yang aneh dalam memasukan data,
kesulitan dalam memperoleh informasi yang
diperlukan serta ketidakmampuan untuk mendapatkan
hasil yang dinginkan akan menimbulkan kekacauan
dan keraguan dari user (Shneiderman & Plaisant,
Designing the User Interface : strategies for effective
human-cumputer interaction, 2010, p. 89).
8. Reduce short-term memory load
Manusia memiliki keterbatasan dalam
mengelola memori jangka pendek mereka. Maka dari
itu designer harus menghindari membuat interface
dimana user harus mengingat informasi dari satu
halaman dan menggunakan informasi tersebut ke
halaman lainnya (Shneiderman & Plaisant, Designing
the User Interface : strategies for effective human-
cumputer interaction, 2010, p. 89).
2.1.8 Sistem Basis Data
Menurut Connolly dan Begg (2005), basis
data/database merupakan sebuah koleksi bersama data yang
17
berkaitan secara logis, dan dirancang untuk memenuhi
kebutuhan informasi dari sebuah organisasi. Database
Management System (DBMS) merupakan sistem perangkat
lunak yang memungkinkan pengguna komputer untuk
mendefinisikan, membuat, memelihara, dan mengontrol akses
menuju database. Program aplikasi adalah program komputer
yang berinteraksi dengan database dengan mengeluarkan
permintaan yang tepat (biasanya pernyataan SQL) ke DBMS.
Semua akses menuju database haruslah melalui DBMS.
DBMS menyediakan Data Definition Languages (DDL) yang
memungkinkan pengguna untuk mendefinisikan database,
serta Data Manipulation Language yang memungkinkan
pengguna untuk menambahkan, mengubah, menghapus, serta
menambahkan data pada database.
Lingkungan DBMS terdiri dari hardware (komputer),
software (DBMS itu sendiri, sistem operasi, dan program
aplikasi), data, prosedur, dan orang-orang. Ide dari DBMS
terletak pada sistem filed-based.
Beberapa keuntungan dari pendekatan database adalah
kontrol terhadap redundansi data, konsistensi data, pembagian
data, keamanan yang lebih tinggi, serta integritas. Beberapa
kelemahan dari database diantaranya adalah kompleksitas,
biaya, penurunan kinerja, dan dampak yang besar jika terjadi
kesalahan.
2.1.9 Data Dictionary
Data Dictionary atau juga disebut system catalog,
merupakan suatu pendeskripsian dari data. Data Dictionary
adalah suatu sifat pendeskripsian diri sendiri dari database
yang menyediakan data independence (Connoly & Begg,
2015, p. 65). Pada umumnya data dictionary berisi mengenai:
1. Nama, tipe, dan ukuran data
2. Nama relasi
3. Batasan integritas pada data
18
4. Nama-nama user yang memiliki akses terhadap
data
5. Data-data yang dapat diakses oleh user dan jenis-
jenis akses yang diberikan, contohnya seperti akses
untuk melakukan select, insert, update, dan delete.
2.1.10 Arsitektur Duwamish
Duwamish adalah kerangka yang multi-tier dan
terdistribusi yang dibangun khusus untuk platform Microsoft
.NET (Hu). Kerangka Duwamish dibagi menjadi empat
lapisan logis. Sebagai hasil dari desain tersebut, para
pengembang dapat menyebarkan aplikasi dalam berbagai
konfigurasi terdistribusi dan non-terdistribusi. Keempat
lapisan logis tersebut adalah sebagai berikut:
1. Web Layer
Lapisan Web Layer menyediakan akses
untuk klien menuju aplikasi. Lapisan ini
diimplementasikan sebagai project Web di dalam
file solution Duwamish.sln. Lapisan Web Layer
terdiri dari form web ASP.NET dan file-file code
behind. Form web hanya menyediakan user
experience di HTML, sementara file-file code
behind mengimplementasikan event handling untuk
bermacam-macam control.
2. Business Facade Layer
Lapisan Business Facade
diimplementasikan sebagai project Business
Facade dalam file solution Duwamish.sln. Lapisan
Business Façade berfungsi sebagai lapisan isolasi,
pemisah user interface dari pelaksanaan berbagai
fungsi bisnis. Terlepas dari sistem dan dukungan
fungsi, semua panggilan ke server database
dilakukan melalui lapisan ini.
3. Business Rules Layer
19
Lapisan Business Rules, yang
diimplementasikan sebagai project Business Rules
di file solution Duwamish.sln, berisi implementasi
dari berbagai aturan bisnis dan logika. Lapisan
Business Rules melakukan tugas-tugas seperti
validasi rekening nasabah dan pesanan buku.
4. Data Access Layer
Lapisan Data Access menyediakan layanan
data ke lapisan Business Rules. Lapisan ini
diimplementasikan sebagai project Data Access
dalam file solution Duwamish.sln.
Selain empat lapisan logis yang telah dijelaskan di atas,
Duwamish juga mengandung fungsi bersama yang dikemas
dalam project Common di file solution Duwamish.sln. Lapisan
Common berisi dataset yang digunakan untuk menyampaikan
informasi antara berbagai lapisan. Project Common juga berisi
kelas untuk konfigurasi aplikasi dalam project System
Configuration di file Solution Duwamish.sln. Arsitektur
kerangka Duwamish dapat dilihat pada gambar 2.3.
Gambar 2.3 Arsitektur Duwamish
2.1.11 Extreme Programming
20
Extreme Programming (XP) merupakan salah satu
metode pengambangan software yang termasuk kedalam Agile
Software Development. Dalam XP ada 5 value atau nilai yang
digunakan sebagai pondasi dasar yaitu communication,
simplicity, feedback, courage, dan respect. Setiap poin tersebut
digunakan pada setiap kegiatan, tindakan, dan penugasan
dalam XP (Pressman, 2010, p. 78).
Dalam XP komunikasi yang efektif antara pengembang
software dengan users menjadi poin penting yang mendukung
proses pengembangan software. Agar terlihat simple maka
untuk desain pada XP akan dijadikan sebagai kebutuhan
immediate. Feedback dapat didapatkan melalui 3 cara ini
yaitu, (1) dari pengimplementasian perangkat lunak itu sendiri,
(2) dari users, dan (3) dari rekan kerja.
Gambar 2.4 Proses Extreme Programming
Extreme Programming memiliki beberapa proses
(dapat dilihat pada gambar 2.3) antara lain yaitu, (Pressman,
2010, p. 79) :
1. Planning
Tahap Planning dimulai dari
mendengarkan dan mengumpulkan
requirements dari users yang nantinya
21
digunakan oleh technical member untuk
memahami proses bisnis dari perangkat lunak
tersebut dan untuk mendapatkan gambaran
mengenai output dan beberapa fungsi dan fitur
yang akan dibuat.
Tahap Planning ini nantinya akan
menghasilkan user stories yang
menggambarkan output, fitur, dan fungsi-fungsi
dari perangkat lunak tersebut. Setiap story
tersebut akan dituliskan oleh users berdasarkan
prioritas yang users tersebut buat.
2. Design
Dalam Extreme Programming,
rancangan yang sederhana lebih disarankan
daripada rancangan yang kompleks. Para
pengembang aplikasi akan mengembangkan
rancangan pada aplikasi hanya jika diperlukan
saja. Extreme Programming berpegang pada
prinsip KIS (Keep It Simple) yang artinya
rancangan semakin baik bila sederhana
(Pressman, 2010, p. 80).
3. Coding
Kunci pada tahap ini adalah pair
programming, dimana Extreme Programming
merekomendasikan dua orang bekerja sama
dalam pengembangan aplikasi, dimana salah
satu orang memikirkan tentang rincian coding
yang akan diterapkan sesuai dengan rancangan
yang ada, dan yang lain memastikan ketentuan
penulisan kode sesuai dengan patokan
(Pressman, 2010, p. 82). Selain itu dikenal juga
istilah refactoring yang artinya proses
penyederhanaan kode program dengan tujuan
mengurangi munculnya bug dan
22
mengoptimalkan kinerja dari program.
4. Testing
Pada tahap ini dilakukan user
acceptance test untuk memastikan apakah
fungsionalitas dari aplikasi telah berjalan sesuai
dengan user requirement. Pengujian dilakukan
dengan menggunakan seraingkaian unit test.
2.1.12 SignalR
ASP .NET SignalR adalah suatu library baru yang
mempermudah para developer ASP .NET untuk
menambahkan fitur real-time web functionality ke perangkat
lunak yang mereka kembangkan. Real-time web functionality
adalah sebuah fitur yang memungkinkan user untuk
mendapatkan informasi sesaat setelah informasi itu tersedia
tanpa harus user tersebut melakukan request ke server
(Aguilar, 2013, p. 21).
Gambar 2.5 Proses pertukaran data pada SignalR
23
SignalR juga mempunyai messaging bus yang
berfungsi untuk mengatur keluarnya masuknya data antara
server dan client yang saling terkoneksi, untuk ilustrasi dapat
dilihat apda gambar 2.4. Hal tersebut memungkinkan server
untuk melacak setiap client yang terkoneksi, dan
memungkinkan untuk mengirim pesan ke semua client yang
terkoneksi dengannya.
2.1.13 Use Case
Diagram use case mendeskripsikan fungsi sebuah
sistem dari perspektif external user (orang awam) dan dengan
istilah- istilah yang dapat mereka mengerti. Diagram use case
juga secara akurat menggambarkan bagai mana keterlibatan
user dengan sebuah sistem (Whitten & Bentley, 2007, p. 246).
Use case digambarkan dengan sebuah bentuk oval
yang meiliki nama dari use case tersebut didalamnya. Sebuah
use case menjelaskan satu tujuan dari sebuah sistem dan
mendeskripsikan urutan aktifitas serta interaksi user dalam
mencapai tujuan tersebut (Whitten & Bentley, 2007, p. 247).
Sebuah actor dalam use case digunakan untuk
mewakili sesuatu yang menggunakan sistem. Sebuah Actor
dapat berupa orang atau sistem lainnya. Dalam penamaan
sebuah actor lebih baik tidak menggunakan nama asli dari
seseorang melaikan menggunakan jabatan seseorang tersebut.
Penamaan actor yang benar dapat dilihat pada gambar 2.6.
Gambar 2.6 Penamaan actor pada use case
24
Relationship dalam sebuah Use case diagram
digambarkan dengan sebuah garis yang menghubungkan
antara actor dengan use cases. Satu Actor dapat terhubungan
dengan lebih dari satu use case dan satu use case bisa juga
terhubung oleh banyak actor. Selain untuk menghubungkan
actor dengan use cases, Relationship juga dapat digunakan
antar use cases.
Untuk menghubungkan antara satu use cases dengan
use cases yang lain ada beberapa cara (Whitten & Bentley,
2007, p. 248). Berikut ini merupakan jenis-jenis relationship
pada use case:
1. Associations
Relationship yang terjadi antara actor
dengan use case ada ketika keduanya
berinteraksi. Associations dapat bersifat searah
maupun dua arah.
Gambar 2.7 Penggunaan associations pada
use case
2. Uses (atau Include)
Relationship dengan menggunakan
include menunjukan bahwa suatu use case
perlu untuk memanggil atau menggunakan
fungsi dari use case lain untuk menjalakan
fungsi yang ia miliki. Use case yang dipanggil
atau digunakan oleh beberapa use case lain
disebut dengan abstract use case. Contoh
25
penggunaan relationship include atau uses
dapat dilihat pada gambar 2.8.
Gambar 2.8 Penggunaan include/uses
pada use case
3. Extends
Relationship dengan menggunakan
extends menunjukan bahwa use case tersebut
memiliki pilihan untuk memperbolehkan
fungsinya dipakai oleh use case lain.
Dibandingkan dengan include relationship,
dimana use case tersebut harus memasukan
fungsinya ke use case lain, dengan exclude
relationship, use case tersebut memiliki pilihan
atau case tertentu untuk meminjamkan
fungsinya. Sebuah use case dapat memiliki
banyak extend relationship, tetapi sebuah
extension relationship hanya dapat dipanggil
oleh use case yang ia perpanjang.
26
Gambar 2.9 Penggunaan extend pada use
case
4. Depends On
Hubungan ini berarti suatu use case
tidak dapat dilakukan sebelum use case lain
(bisa lebih dari satu use case) dilakukan.
Gambar 2.10 Penggunaan depends on
pada use case
Dari contoh diatas, use case pertama
yang harus dilakukan adalah ‘Establish Bank
Account’ kemudian ‘Make a Deposit’ dan
terakhir adalah ‘Make a Withdrawal’. Urutan
pengerjaannya tidak dapat diubah karena ada
hubungan saling ketergantungan.
27
2.1.14 Use Case Description
Informasi detail mengenai setiap use case yang berada
dalam sistem di deskripsikan dengan Use Case Description.
Biasanya use case description dituliskan dengan tiga
tingkatan, yaitu Brief Description, Intermediate Description,
Fully Developed Description (Satzinger, Jackson, & Burd,
2010, p. 171).
1. Brief Description
Sebuah brief description dapat digunakan untuk
use case yang sangat sederhana, terutama apabila
sistem yang dikembangkan juga sederhana. Contoh
penggunaan use case description tingkat Brief
Description dapat dilihat pada gambar 2.11.
Gambar 2.11 Brief Description
2. Intermediate Description
Tingkat Intermediate pada use case
description ini merupakan pengembangan dari
Brief Description dengan memasukan kegiatan
internal dari use case. Jika terjadi berapa scenario /
kegiatan maka setiap alur dari kegiatan tersebut
akan dijelaskan secara individual. Penggunaan
Intermediate Description dapat dilihat pada gambar
2.12.
28
Gambar 2.12 Intermediate Description
3. Fully Developed Description
Fully Developed Description adalah metode
yang paling formal untuk mendeskripsikan sebuah
use case. Meskipun hal tersebut membutuhkan
lebih banyak tenaga dan waktu yang dikeluarkan,
namun hal tersebut dapat meningkatkan
pemahaman mengenai bisnis proses dan bagaimana
sistem mendukungnya. Contoh penggunaan Fully
Developed Description dapat dilihat pada gambar
2.11.
29
Gambar 2.13 Fully Developed Description
2.1.15 Activity Diagram
Activity diagram adalah sebuah diagram yang dapat
digunakan untuk menggambarkan alur dari business process,
langkah-langkah detail dari sebuah use case, atau logic dari
sebuah object behavior atau biasa disebut method (Whitten &
Bentley, 2007, p. 390). Activity diagram memiliki notasi-
notasi sebagai berikut:
Tabel 2.1 Daftar notasi activity diagram
No. Nama
Simbol Simbol Deskripsi
1. Initial
Node
Menunjukkan
titik mulai suatu
proses yang akan
berjalan
30
2. Actions
Bentuk yang
menggambarkan
langkah-langkah
yang terjadi.
3. Flow
Menunjukkan
alur antar
actions.
4. Decision
Betuk yang
memiliki cabang,
satu alur masuk
dan dua atau
lebih alur keluar.
5. Merge
Bentuk dengan
dua atau lebih
alur masuk dan
satu alur keluar
untuk
menggabungkan
alur yang
sebelumnya
terpisah oleh
decision.
6. Fork
Bentuk dengan
satu alur masuk
dan dua atau
lebih alur keluar.
Aksi di bawah
percabangan
dapat terjadi
secara paralel
31
maupun tidak
paralel.
7. Join
Bentuk dengan
dua atau lebih
alur masuk dan
satu alur keluar
untuk
menggabungkan
alur actions yang
dipisahkan oleh
fork
6. End Note
Menunjukkan
akhir dari suatu
proses yang
sedang berjalan.
Gambar 2.14 Contoh activity diagram
2.1.16 Sequence Diagram
Sequence diagram menggambarkan interaksi antar
objek di dalam dan di sekitar sistem (termasuk pengguna,
display, dan sebagainya) berupa message yang digambarkan
terhadap waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait)
(Dharwiyanti, 2013, p. 8).
Sequence diagram biasa digunakan untuk
menggambarkan skenario atau rangkaian langkah-langkah
32
yang dilakukan sebagai respons dari sebuah event untuk
menghasilkan output tertentu. Diawali dari apa yang men-
trigger aktivitas tersebut, proses dan perubahan apa saja yang
terjadi secara internal dan output apa yang dihasilkan
(Dharwiyanti, 2013, p. 8). Contoh sequence diagram
sederhana dapat dilihat pada gambar 2.15.
Gambar 2.15 Contoh sequence diagram untuk searching
produk Actor
Interaksi antara actor dengan user interface
ditampilkan dalam bentuk use case simbol. Terkadang actor
dapat tidak dicantumkan untuk menambah kesan sederhana
pada diagram. Terkadang actor juga ditampilkan dengan kotak
seperti class yang diberi notasi <<actor>>. Garis putus-putus
kebawah dari actor mengindikasikan life-time dari sequence
(Whitten & Bentley, 2007, p. 660).
1. Inferface Class
Kotak yang mengindikasikan user interface
class code. Untuk memastikan tidak ada kebingungan
class seperti apa ini, diperlukan tanda seperti ini
<<Interface>> (Whitten & Bentley, 2007, p. 660).
2. Controller Class
Setiap use cases akan memiliki satu atau lebih
controller class. Controller class digambarkan sama
seperti dengan Interface Class dan menggunakan
33
tanda <<Controller>> (Whitten & Bentley, 2007, p.
660).
3. Entity Classes
Entity Classes menambahkan kotak untuk
setiap setiap entity yang butuh bekerja sama dalam
langkah-langkah pembuatan sequence. Tanda titik dua
(:) menunjukkan object instance, dengan kata lain
urutan yang spesifik, produk yang spesifik dan
sabagainya (Whitten & Bentley, 2007, p. 660).
4. Messages
Messages adalah panah horisontal padat
menunjukkan pesan input yang dikirim ke class. Setiap
pesan memanggil behavior atau method dari class yang
ditunjukkan. Konvensi UML untuk pesan dimulai
dengan huruf pertama huruf kecil dan menambahkan
tambahan kata dengan inisial huruf besar dan tidak
mengandung spasi. Dalam tanda kurung perlu
memasukan semua parameter yang ingin dikirim dan
mengikuti konvensi penamaan yang sama serta
memisahkan parameter individu dengan koma
(Whitten & Bentley, 2007, p. 660).
5. Activation bar
Activation bar adalah bar yang ditetapkan
selama lifelines mengindikasikan periode waktu selama
setiap instance object tersebut ada. Activation bar
menunjukkan lifetime dari sebuah instance dalam
RAM (Whitten & Bentley, 2007, p. 660).
6. Return messages
Return messages adalah garis horisontal putus-
putus yang mengembalikan sebuah pesan. Setiap
behavior harus mengembalikan sesuatu, paling tidak
harus ada pesan benar atau salah untuk
mengindikasikan apakah behavior tersebut berhasil
(Whitten & Bentley, 2007, p. 660).
34
7. Self-call
Self-call adalah sebuah object yang memanggil
method miliknya sendiri (Whitten & Bentley, 2007, p.
660).
8. Frame
Frame adalah sebuah kotak yang melampirkan
satu atau lebih pesan untuk memisahkan fragment dari
sequence. Frame dapat menampilkan loop, alternate
fragment, atau optional (Whitten & Bentley, 2007, p.
660).
2.1.17 Class Diagram
Sebuah class diagram digunakan untuk
menggambarkan sebuah object dan hubungan antar object
tersebut. Pada diagram ini kita juga menyertakan multiplicity,
generalization relationship, dan aggregation relationship
(Whitten & Bentley, 2007, p. 400).
1. Entitiy Classes
Entity Classes biasanya
berkorenpondensi dengan item seperti member
dan order yang menggandung suatu informasi
yang biasa disebut attributes. Attributes
berguna untuk mendeskripsikan contoh yang
berbeda antara entitity.
2. Visibility
Attribute dan method mempunyai hak
akses yang biasa disebut dengan visibility.
UML menyediakan 3 tingkat visibility:
1. Public (+)
2. Private (-)
3. Protected (#)
3. Relationship
35
Depedancy Relationship digunakan
untuk memodelkan association antara dua class
dalam dua instance:
1. Untuk mengindikasi bahwa ketika ada
perubahan dalam satu class maka class
lain akan\ ikut terpengaruh
2. Untuk mengindikasikan association
antara persistent class dan transcient
class.
Seacara default, association antara class
adalah bidirectional. Hal tersebut berarti
classes antara satu class sejenis bisa mengirim
pesan ke class lain. Navigability diilustrasikan
dengan arrowhead atau mata panah hanya
menunjuk kearah pesan dapat dikirim.
2.1.18 Gantt Chart
Project Scheduling adalah tahap dimana seorang
project manajer mengurutkan dan mengalokasikan waktu ke
semua aktifitas project. Pada tahap ini manajer akan
memutuskan berapa lama waktu yang diperlukan untuk setiap
aktifitas, dan jumlah resources yang dibutuhkan. Salah satu
teknik penbuatan project scheduling yang popular ini adalah
gantt chart. Gantt chart adalah diagram perencanaan yang
digunakan untuk penjadwalan sumber daya dan alokasi waktu
(Heizer & Render, 2011, p. 93).
Gantt chart dapat membantu penggunanya untuk
memastikan bahwa (Heizer & Render, 2011, p. 93) :
1. Semua kegiatan telah direncanakan.
2. Urutan kinerja telah diperhitungkan.
3. Perkiraan waktu kegiatan telah tercatat.
4. Keseluruhan waktu proyek telah dibuat.
Gantt chart sangat mudah untuk dimengerti, balok
horizontal digambarkan untuk setiap project sepanjang garis
36
waktu yang ditentukan. Satu column paling kiri disebut dengan
column aktifitas, column aktifitas ini akan menjelaskan nama-
nama aktifitas saja. Row paling atas akan berisi timeline dari
project.
2.2 Teori Khusus
2.2.1 Proses Rekrutmen
Rekrutmen merupakan serangkaian proses penerimaan
anggota baru dalam suatu organisasi atau perusahaan dengan
tujuan memperoleh tenaga kerja yang berkualitas untuk
mempertahankan kelangsungan dari suatu organisasi atau
perusahaan (Rachmanto, 2015).
Teori rekrutmen terdiri dari tiga hal yaitu:
1. Process variable
2. Independent variable
3. Dependent variable
Ketiga variabel ini saling berhubungan dan
mempengaruhi dari proses rekrutmen.
Process variable merupakan suatu mekanisme dalam
psikologi atau mekanisme lingkungan yang dianggap sebagai
hal yang menentukan hasil dari bermacam-macam metode
rekrutmen. Process variables dibagi menjadi dua macam
proses, yaitu proses prehire dan proses post-hire. Proses
prehire menekankan pada hal yang terjadi sebelum proses
rekrutmen. Sedangkan proses post-hire menekankan pada saat
perekrutan tersebut.
Independent variable adalah seperangkat peraturan,
prosedur, keputusan keputusan yang dianggap sebagai bagian
dari rekrutmen organisasi. Singkatnya, independent variable
merupakan suatu gambaran umum tentang praktik rekrutmen.
Variabel ini dibagi menjadi 3 elemen, yaitu: recruiter,
recruitmen source, dan administrative policies and procedures.
1. Recruiter
Recruiter merupakan karekteristik-karakteristik
37
pelamar suatu organisasi. Faktor recruiter terdiri dari
demografi, tingkah laku pelamar, kesan pelamar, dan
keputusan-keputusan yang dibuat oleh seorang
pelamar.
2. Rekrutmen source
Rekrutmen source adalah metode yang lebih
disukai oleh organisasi dalam melakukan rekrutmen.
Pertimbangan yang digunakan dalam memilih suatu
metode adalah hasil yang didapatkan dengan beberapa
metode yang berbeda-beda sebelumnya.
3. Administrative Policies and Procedures
Suatu organisasi menekankan pada tinjauan
realistik, recruitmen follow-ups, biaya rekrutmen, dan
proses pelamaran terhadap rasio pelamar yang nantinya
diterima dan hasil yang didapat setelah menerima
pelamar-pelamar tersebut.
Dependent variables adalah variabel atau faktor yang
ada di dalam hasil proses rekrutmen. Varibel ini dibagi
menjadi prehire dan post-hire. Akibat dari prehire adalah
ketertarikan pelamar terhadap pekerjaan, ekpektasi untuk
menerima tawaran, pilihan pekerjaan yang nyata, dan
keingininan untuk mengejar tawaran pekerjaan. Dan akibat
dari post-hire adalah kepuasan terhadap pekerjaan komitmen
kerja, prestasi kerja yang dihasilkan, dan lamanya mengabdi
dalam sebuah pekerjaan.
Di dalam suatu proses rekrutmen, ketiga variabel
tersebut saling berhubungan. Apabila dibahas dengan
pendekatan sistem maka ke tiga variabel tersebut akan dibagi
menjadi input, proses, dan output. Independent variables
adalah suatu input yang dimasukkan dalam suatu sistem atau
proses dari rekrutmen. Elemen-elemen dalam independent
variables adalah perumpamaan dari suatu data yang akan
dimasukkan dalam sebuah proses sehingga mendapat data
hasil yang diinginkan. Proses variables adalah perumpamaan
38
dari suatu proses dalam suatu sistem, dimana data input
(independent variables/pelamar) akan diolah menjadi data
output (dependent variables/pekerja) yang diinginkan.
Sedangkan dependent variables adalah suatu data output yang
diinginkan setelah diolah melalui suatu proses (process
variables/ proses rekrutmen).
Secara umum, proses rekrutmen dapat dibagi menjadi
tiga bagian, yaitu perencanaan, proses, dan hasil. Di tahap
perencanaan, pihak organisasi atau perusahaan merumuskan
metode rekrutmen, pemantapan budaya organisasi, sumber
rekrutmen, dan lain lain dengan tujuan mendapatkan pelamar
yang berkualitas. Pada tahap kedua, yaitu proses, merupakan
proses seleksi calon karyawan menurut kualifikasi yang
diinginkan oleh perusahaan. Proses ini dipengaruhi oleh sikap
rekruter, sikap pelamar, dan metode seleksi yang digunakan.
Pada tahap terkahir, yaitu hasil, perusahaan menginginkan
seorang karyawan yang loyal terhadap perusahaan,
berkomitmen tinggi, dan memiliki hasil kerja yang baik untuk
meningkatkan daya saing dengan perusahaan lain.
2.2.2 E-learning
Istilah “belajar online” (online learning) memiliki
banyak padanan istilah yang sering digunakan termasuk e-
learning, internet learning, distributed learning, networked
learning, tele-learning, virtual learning, computer-assisted-
learning, web-based learning, dan distance learning (Mardika,
2008). Semua istilah tersebut merujuk pada adanya jarak
antara peserta didik dan pendidik atau instruktur, dimana
peserta didik memanfaatkan teknologi komputer untuk
mengakses materi pelajaran, berinteraksi dengan pendidik dan
peserta didik lainnya, dan memperoleh beberapa bentuk
bantuan yang tersedia bagi peserta didik. Secara berangsur-
angsur, banyak organisasi mengadopsi Online Learning
sebagai metode penyampaian utama untuk melatih para
39
pegawai. Manfaat dari Online Learning, yaitu pebelajar dapat
mengakses materi pelajaran kapan saja serta terbentuk
interaksi nyata (real-time) antara pebelajar dan pengajar
Dalam merancang suatu sistem pembelajaran online,
Mardika mengemukakan beberapa stategi pembelajaran, yaitu
memotivasi para pebelajar, memfasilitasi proses belajar,
membentuk manusia seutuhnya, melayani perbedaan individu,
mengangkat belajar bermakna, mendorong terjadinya interaksi,
memberikan umpan balik, memfasilitas Interaksi merupakan
hal yang sangat penting dalam online learning.
Dalam online learning interaksi antaramuka adalah
dengan komputer untuk mengakses isi materi pelajaran dan
untuk berinteraksi dengan orang lain. Sebagaimana peserta
didik dalam online learning berinteraksi dengan isi, mereka
harus didorong untuk menerapkan, menilai, menganalisis,
mensintesis, mengevaluasi dan merefleksi apa yang mereka
pelajari.
Kemajuan penggunaan e-learning dimotivasi oleh
kelebihan dan keuntungannya (Effendi & Zhuang, 2006, p. 9).
Berikut ini adalah kelebihan yang ditawarkan oleh e-learning:
1. Biaya
Dengan adanya e-learning, perusahaan
tidak perlu mengeluarkan biaya untuk menyewa
pelatih dan ruang kelas serta transportasi peserta
pelatihan atau pelatih. Perusahaan juga tidak perlu
menyediakan makan siang, kopi, maupun peralatan
kelas seperti papan tulis, proyektor, dan alat tulis.
2. Fleksibilitas waktu
E-learning membuat karyawan atau pelajar
dapat menyesuaikan waktu belajar. Mereka dapat
menyisihkan waktu belajar setelah makan siang,
setelah kantor selesai, dan menunggu jemputan,
atau ketika sedang menunggu laporan dari rekan
dan tidak ada pekerjaan mendesak.
40
Karyawan dan pelajar mudah mengakses e-
learning. Ketika waktu sudah tidak memungkinkan
atau hal lain yang lebih mendesak, mereka dapat
meninggalkan pelajaran e-learning saat itu juga.
3. Fleksibilitas tempat
Adanya e-learning membuat karyawan
santai mengakses pelatihan e-learning di kantor
bahkan di meja kerja selama computer terhubung
dengan komputer yang menjadi server e-learning,
mereka dapat mengaksesnya dengan mudah.
Terlebih lagi, bila server e-learning terhubung
dengan internet maka karyawan dapat mengakses
pelajaran dari rumah.
4. Fleksibilitas kecepatan pembelajaran
Pelajar atau trainee memiliki gaya belajar
mereka masing-masing. Oleh karena itu, wajar
apabila didalam suatu kelas pelatihan, ada pelajar
yang mengerti dengan cepat dan ada yang harus
mengulang pelajaran untuk memahaminya.
Terlebih lagi, para pengajar mengajar dengan
kecepatan yang sama untuk semua pelajar, maka
pelajar yang lebih lambat akan sulit untuk
memahami. Pelajar yang lebih cepat menginginkan
lebih banyak materi sedangkan pelajar yang lebih
lambat menginginkan pengulangan pelajaran.
E-learning dapat disesuaikan dengan
kecepatan masing-masing pelajar. Pelajar dapat
mengatur sendiri kecepatan pelajaran yang diikuti.
Apabila belum mengerti dia dapat tetap
mempelajari modul tertentu dan mengulanginya
nanti, sedangkan seorang pelajar yang mengerti
dengan cepat dapat menyelesaikan pelajaran lebih
cepat dan mengisi waktu dengan mempelajari
modul lain.
41
5. Standardidasi pengajaran
Setiap pengajar memiliki perbedaan
kemampuan dan metode pengajaran yang
diterapkan. Perbedaan tersebut menyebabkan
kualitas pengajaran sulit dijaga. Selain itu, para
pengajar dapat merasa tidak fit saat mengajar
sehingga kualitas pengajaran menurun.
E-learning dapat menghapuskan perbedaan
tersebut. Pelajaran e-learning selalu memiliki
kualitas yang sama setiap kali diakses dan tidak
tergantung suasana hati pengajar.
6. Efektivitas pengajaran
Karena e-learning merupakan teknologi
baru, karyawan dan pelajar dapat tertarik dan
mencobanya sehingga jumlah peserta pelatihan
meningkat.
Penyampaian pelajaran e-learning dapat
berupa simulasi dan kasus-kasus, menggunaka
bentuk permainan dan menerapkan teknologi
animasi canggih. Bentuk-bentuk pembelajaran
tersebut dapat membantu proses pembelajaran dan
mempertahankan minat belajar.
Suatu studi oleh J.D. Fletcher menunjukkan
bahwa tingkat retensi dan aplikasi pelajaran e-
learning meningkat 25% dibandingkan pelatian
secara tradisional.
7. Kecepatan distribusi
Kemajuan teknologi yang pesat menuntut
suatu pelatihan teknologi baru dilaksanakan
secepatnya dan mengjangkau area luas secara
singkat.
E-learning dapat dengan cepat menjangkau
karyawan yang berada di luar wilayah pusat. Tim
desain pelatihan hanya perlu mempersiapkan bahan
42
pelatihan secepatnya dan memasang hasilnya di
server pusat e-learning.
Apabila ada perubahan materi pelatihan,
administrator hanya perlu mengubah di server e-
learning tanpa mendatangi semua kantor cabang.
8. Ketersediaan on-demand
Karena e-learning dapat diakses dimana saja
dan kapan saja, anda dapat menganggapnya sebagai
“buku saku” yang dapat membantu pekerjaan anda
setiap saat. Sebagai contoh, apabila anda tidak tahu
bagaimana cara mengambil data dari database,
anda dapat langsung memasuki program e-learning
yang mengajarkan tentang query di mysql. Dengan
begitu, dalam waktu yang singkat and dapat segera
memperaktikkan pelajaran dan menyelesaikan
tugas anda dengan baik.
2.2.3 MongoDB
Sebelum mengenal MongoDB, akan terlebih dahulu
dibahas mengenai NoSQL. NoSQL (Not Only SQL)
merupakan suatu teknologi database yang mernyediakan
mekanisme penyimpanan dan pengambilan data yang
dimodelkan dalam cara lain selain hubungan tabel yang
digunakan dalam database relasional. Alasan utama berpaling
dari model relasional adalah untuk membuat perluasan skala
lebih mudah. Terdapat 4 (empat) jenis NoSQL yaitu:
1. Key-value, contohnya seperti RIAK, Redis,
Couchbase, dan sebagainya.
2. Document, contohnya seperti MongoDB,
CouchDB, dan sebagainya.
3. Column, contohnya seperti Cassandra, Hbase, dan
sebagainya.
4. Graph, contohnya seperti NeoJS, Infinite Graph,
dan sebagainya.
43
MongoDB adalah suatu jenis database NOSQL
berorientasi dokumen (document-oriented), bukan berorientasi
relasional. Sebuah database berorientasi dokumen
menggantikan konsep “baris” (row) dengan bentuk lebih
fleksibel, yaitu “dokumen” (document). Pendekatan
berorientasi dokumen ini memungkinkan untuk menggantikan
hubungan hirarkis yang kompleks dengan sebuah record
(Chodorow, 2013). Berikut ini adalah beberapa konsep dasar
dari MongoDB:
1. Suatu document adalah satuan dasar untuk data
pada MongoDB, dan secara kasar dapat diartikan
sebagai sebuah baris pada RDBMS.
2. Suatu collection di MongoDB dapat diartikan
sebagai table pada RDBMS.
3. Sebuah instansi dari MongoDB dapat menerima
beberapa database independen, yang masing-
masing dapat memiliki koleksi sendiri.
4. Setiap document memiliki kunci khusus “_ID”,
yang bersifat unik dalam suatu collection.
5. MongoDB memiliki kerangka Javascript, yang
berfungsi untuk pengaturan instansi MongoDB dan
manipulasi data.
Selain itu, pada MongoDB tidak terdapat skema yang
telah ditentukan, yang artinya setiap key dan value dari suatu
dokumen tidak memiliki tipe data dan ukuran yang tetap.
Tanpa skema yang tetap, operasi menambahkan dan
menghapus suatu field menjadi lebih mudah. Secara umum,
hal ini memungkinkan para pengembang aplikasi untuk
mencoba puluhan model data dan memilih salah satu yang
terbaik.
Sebuah record di dalam mongoDB adalah sebuah
dokumen yang datanya terdiri dari pasangan field dan value.
Secara formal, dokumen mongoDB adalah dokumen BSON.
BSON merupakan representasi biner dari JSON dengan
44
tambahan jenis informasi. Di dalam dokumen itu juga berisi
nilai dari tipe data BSON yang mencakup dokumen lain, array,
dan array dari dokumen.
Gambar 2.16 Dokumen Mongo yang dicetak sebagai JSON
Beberapa fitur umum pada database relasional tidak
disajikan dalam MongoDB, khususnya operasi join dan
complex multirow transactions. Menghilangkan fitur-fitur
tersebut merupakan keputusan perancang MongoDB untuk
memungkinkan skalabilitas yang lebih besar, sebagaimana
fitur tersebut sulit untuk memberikan efisiensi dalam sistem
yang terdistribusi (Chodorow, 2013, p. 4).
Performa yang menakjubkan adalah tujuan utama dari
MongoDB dan memang sesuai dengan desainnya. MongoDB
menambahkan dynamic padding untuk dokumen dan file data
yang belum dialokasikan (preallcates data files) untuk
menghasilkan ruang tambahan agar tercipta kinerja yang lebih
konsisten. Hal tersebut banyak memakai RAM yang
digunakan sebagai cache dan digunakan untuk pemilihan
indeks yang tepat untuk query secara otomatis. Singkatnya,
setiap aspek pada MongoDB didesain untuk menghasilkan
performa yang tinggi (Chodorow, 2013, p. 5).
45
Meskipun MongoDB kuat dan menyediakan banyak
fitur dari database relasional, MongoDB tidaklah
diperuntukkan untuk melakukan semua hal yang dapat
dilakukan oleh database relasional. Selama memungkinkan,
server database akan selalu mengosongkan pemrosesan dan
logic ke sisi klien (ditangani oleh driver atau kode aplikasi
pengguna). Mempertahankan desain ini adalah salah satu
alasan MongoDB dapat mencapai kinerja yang tinggi
(Chodorow, 2013, p. 5).
Zain (2014:9) melakukan pengujian dengan mengambil
sampel data yang jumlahnya sudah dipersiapkan sebanyak 10
kali. Database yang dibandingkan adalah MongoDB (NoSQL)
dan SQL Server (RDBMS). Didapatkan hasilnya untuk DBMS
dan perintah yang diberikan sebagai berikut:
1. Pengujian terhadap operasi view
Tabel 2.2 Perbandingan Operasi View pada
MongoDB dengan Sql Server
2. Pengujian terhadap operasi insert
Tabel 2.3 Perbandingan Operasi Insert pada
MongoDB dengan Sql Server
46
3. Pengujian terhadap operasi update
Tabel 2.4 Perbandingan Operasi Update pada
MongoDB dengan Sql Server
4. Pengujian terhadap operasi delete
Tabel 2.5 Perbandingan Operasi Delete pada
MongoDB dengan Sql Server
Berdasarkan pengujian yang dilakukan, Zain
mendapati perbedaan kecepatan eksekusi perintah antara
MongoDB dan SQL Server sebagai berikut:
Tabel 2.6 Kesimpulan dari perbedaan oeprasi-operasi yang
dilakukan antara MongoDB dengan SQL Server
top related