bab 2 landasan teori html -...

40
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.

Upload: trinhhuong

Post on 23-Mar-2019

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 2: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 3: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 4: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 5: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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).

Page 6: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 7: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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++.

Page 8: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 9: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 10: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 11: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 12: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 13: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 14: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 15: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 16: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 17: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 18: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 19: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 20: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 21: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 22: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 23: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 24: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 25: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 26: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 27: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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).

Page 28: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 29: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 30: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 31: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 32: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 33: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 34: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 35: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 36: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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.

Page 37: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 38: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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).

Page 39: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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

Page 40: BAB 2 LANDASAN TEORI HTML - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2015-1-00844-IF Bab2001.pdfdemikian HTML bukanlah bahasa pemprograman, melainkan bahasa markup/formatting

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