Anda di halaman 1dari 29

2 LANDASAN TEORI

2.1 Crowdsourcing

Definisi Crowdsource atau crowdsourcing secara umum adalah model yang


memungkinkan sejumlah besar orang berkontribusi dalam sebuah aktivitas secara
online untuk menyelesaikan masalah atau menghasilkan ide inovatif (Khalid,
2015, p.39). Crowdsorcing muncul berdasarkan paradigma bahwa diperlukan
aplikasi dari kemampuan manusia untuk menyelesaikan masalah yang tidak bisa
diselesaikan oleh komputer (Marcus & Parameswaran, 2013, p.8). Pada masa kini
crowdsourcing menjadi lebih mudah dilakukan karena didukung oleh informasi
dan komunikasi sebagai hasil dari perkembangan teknologi (Seltzer & Mahmoudi,
2012, p.5). Sedangkan, menurut Estellés, Definisi lain dari crowdsourcing adalah
sebagai partisipasi online dimana individu, institusi atau perusahaan mengajukan
kepada sekelompok individu dari berbagai kemampuan melalui panggilan bebas
(open call) untuk secara sukarela melakukan sebuah tugas yang diinginkan. Tugas
yang dilakukan selalu memberikan keuntungan untuk kedua belah pihak. Pencari
kerja akan mendapat kepuasan dengan terpenuhinya kebutuhan atau tugas
sedangkan penyedia tenaga kerja akan mendapat keuntungan tergantung dari
aktivitasnya (Arolas & González-Ladrón-de-Guevara, 2012, p.1).

Dalam aplikasinya, kegunaan crowdsourcing adalah untuk memberikan


solusi terhadap berbagai tugas seperti pengambilan keputusan atau proses
pengolahan data yang umumnya berat untuk dilakukan komputer tapi cukup
mudah dikerjakan oleh manusia (Zhao, 2015, p.397). Crowdsourcing juga
berguna karena memanfaatkan perkembangan teknologi sehingga mampu
mengurangi biaya pelatihan internal dan meningkatkan support terhadap proses-
proses yang dikerjakan organisasi (Allahbakhsh, 2013, p.76). Selain itu,
crowdsourcing memampukan sebuah perusahaan untuk lebih cepat dan lebih
efesien dalam mememecahkan masalah dimana dalam crowdsourcing masa kini,
internet menjadi esensial dan sangat mendukung interaksi demi mewujudkan
crowdsourcing (Seltzer & Mahmoudi, 2012, p.5).

9
Universitas Kristen Petra
Di dunia digital masa kini, prinsip crowdsourcing digunakan dalam
berbagai bidang oleh perusahaan-perusahaan besar. Wikipedia adalah salah satu
contoh aplikasi crowdsourcing paling terkenal. Bidang lain misalnya bidang obat-
obatan, marketing dan bisnis, dan environmental science. Selain itu,
crowdsourcing digunakan dalam proses App Review pada App Store dan Play
Store. Yahoo! Answer dan Stack Overflow juga adalah salah satu penerapan
crowdsourcing dimana user dapat mengajukan pertanyaan dan user lain dapat
memberikan jawaban. Secara singkat, dapat dikatakan bahwa pada masa kini
crowdsourcing digunakan secara masal untuk menganalisa dan mendesain sistem
informasi dimana user terlibat dalam evaluasi dan pengembangan software.
(Khalid, 2015, p.39)

Proses crowdsourcing secara umum dijabarkan dalam siklus yang terdiri


dari 4 tahap sebagai berikut:

• Pre-selection of contributors phase: Organisasi crowdsourcing


menentukan kriteria spesifik untuk mengumpulkan kontributor spesifik
berpotensi atau tetap membuka proyek terhadap crowd secara umum.
• Accessibility of peer contributions phase: Organisasi crowdsourcing perlu
menentukan apakah kontributor dari crowd diijinkan untuk melihat,
melakukan review, melakukan update, atau delete terhadap kontribusi lain.
• Aggregation phase: Organisasi crowdsourcing mengumpulkan
sekumpulan kontribusi untuk menghasilkan solusi terbaik sesuai
kebutuhan.
• Remuneration phase: Bila dapat diaplikasikan, organisasi crowdsourcing
memberi kompensasi pada kontributor (crowd) terhadap partisipasi mereka
sesuai dengan aturan yang berlaku dari kesepakatan crowdsourcing yang
harus dirumuskan di fase awal sebelum pengerjaan tugas (Kamoun, 2015,
p.42-43).

Selain siklus secara umum tersebut, proses crowdsourcing dijabarkan ke


dalam 5 tahapan yang berbeda berdasarkan aktivitas sebelum proses
crowdsourcing, proses crowdsourcing itu sendiri, dan pasca proses
crowdsourcing:

10
Universitas Kristen Petra
• Initiation Phase: Organisasi perlu merumuskan prinsip crowdsourcing dan
memastikan hal itu sesuai dengan strategi dan objektif bisnis.
• Preparation phase: terdiri dari proses menciptakan crowdsourcing task
dan proses menentukan bagaimana proses pengkontrakan pada
crowdsourcing.
• Engagement phase: Organisasi meminta kontribusi melalui media sosial
atau platform berbasis website sesuai persetujuan pada fase inisiasi.
• Evaluation phase: Organisasi crowdsourcing mengumpulkan, menyaring
dan mengevaluasi kontribusi yang terkumpul.
• Commitment phase: Melibatkan evaluasi terhadap kontributor,
mengidentifikasi nilai-nilai dan keuntungan yang didapat, menutup proyek
dan menentukan apakah diperlukan proses lain untuk memenuhi proyek
crowdsourcing mula-mula (Kamoun, 2015, p.43-45).

Menurut Khalid (2015, p.39-43) dan Cullina (2015, p.3), ada 4 pilar dasar
dari proses crowdsourcing yang menunjukkan karakteristik dan unsur-unsur
penyusun dari crowdsourcing yakni pilar crowd, pilar crowdsourcer, pilar
crowdsourcing task, dan pilar crowdsourcing platform:

• Crowd:

Definisi crowd adalah sekumpulan besar orang melakukan kontribusi


terhadap sebuah tindakan secara online untuk memecahkan masalah terdistribusi
atau mencari ide inovatif atau dalam konteks crowdsourcing, adalah pihak yang
melakukan tugas crowdsourcing. Sebuah crowd dapat terbentuk sebelum
terjadinya open call atau proses crowdsourcing dalam bentuk sebuah kelompok
sosial atau komunitas. Namun, crowd hanya akan aktif saat terjadi penawaran atau
open call.

Terdapat lima aspek yang umumnya terdapat pada crowd berdasarkan


sifat-sifat dari crowd itu sendiri sebagai berikut:

o Diversity yaitu kondisi crowd yang berbeda-beda.


o Unknown-ness yaitu kondisi terjaganya privasi dan informasi pribadi
crowd dari diketahui oleh pihak lain.

11
Universitas Kristen Petra
o Largeness berarti dalam jumlah banyak.
o Undefined-ness berarti crowd dibentuk tanpa batasan yang tetap
o Suitability yaitu kecocokan terhadap alasan dan tujuan mula-mula dari
diadakannya proses crowdsourcing (Khalid, 2015, p.41).

Selain lima aspek tersebut, terdapat tiga aspek lain yang menjadi kriteria
dari sebuah crowd berdasarkan peranan dari crowd dalam proses crowdsourcing:

o Who forms the crowd: Crowd merujuk kepada kelompok individu


dengan karakter, keberagaman, dan pengetahuan yang ditentukan oleh
kebutuhan dari proses crowdsourcing.
o What the crowd has to do: Crowd harus memberikan solusi terhadap
sebuah permasalahan dengan mengerjakan tugas dari berbagai macam
kompleksitas yang menunjukan partisipasi sukarela mereka dalam
crowdsourcing.
o What does the crowd get in return: Crowd akan mendapat kepuasan
dari aktivitas yang dilakukan, baik itu secara ekonomis, sosial,
kepercayaan diri, maupun pengembangan kemampuan individu
(Estellés-Arolas & González-Ladrón-de-Guevara, 2012, p.6).
• Crowdsourcer:

Crowdsourcer adalah lembaga yang mendapat keuntungan dari


crowdsourcing task. Crowdsourcer disebut juga process requester, initiator, focal
agent, atau crowd user. Terdapat dua aspek dari crowdsourcer berdasarkan
karakteristik dari crowdsourcer yaitu:

o Who is the initiator: crowdsourcer adalah entitas yang bertugas


menyampaikan inisiatif diberlakukannya tugas baik itu perusahaan,
institusi, atau individu.
o What the initiator gets in return: crowdsourcer akan mendapatkan
solusi dari permasalahan dengan pemenuhan tugas yang dilakukan
oleh crowd.

Selain berdasarkan karakteristriknya, dapat dirusumuskan aspek-aspek dari


crowdsourcer berdasarkan peranannya dalam crowdsourcing sebagai berikut:

12
Universitas Kristen Petra
o Incentive provision adalah alasan yang mendukung seseorang untuk
melakukan tugas atau untuk meningkatkan usaha. Crowdsourcer bisa
memberikan alasan tersebut untuk mendorong kinerja crowd. Dalam
crowdsourcing, alasan keuangan cukup banyak digunakan.
o Open call artinya tiap orang yang ingin melakukan tugas tersebut dapat
mencobanya. Dalam crowdsourcing berarti sebuah tugas yang terbuka
bagi semua orang tanpa peduli latar belakang mereka.
o Ethicality provision berarti untuk melakukan sesuatu berdasarkan
moral dan etika (Estellés-Arolas dan González-Ladrón-de-Guevara,
2012, p.7).
• Crowdsourcing Task:

Dengan crowdsourcing task, crowd memberikan kontribusi melalui


berbagai cara. Dari crowdsourcing task ini, akan muncul hasil yang menjadi
solusi dari permasalahan yang diajukan. Hasil dari crowdsourcing task ini
dapat ditentukan salah satunya dengan menentukan satu pemenang dari hasil
kontribusi-kontribusi crowd. Cari lain untuk menemukan hasil dari sebuah
crowdsourcing task adalah dengan kumpulan ahli memilih ide terbaik atau
solusi potensial terhadap sebuah permasalahan.

Terdapat empat aspek penting dari sebuah crowdsourcing task


berdasarkan peranannya dalam proses crowdsourcing. Aspek-aspek tersebut
adalah sebagai berikut:

o Traditional operation: Kemungkinan alternatif yang tersedia bagi


crowdsourcer untuk melakukan sebuah crowdsourcing task bila tidak
dikerjakan oleh crowd.
o Outsourcing task: Kegiatan mengurangi biaya yang dibutuhkan dengan
memindahkan beberapa proses bisnis ke pihak luar perusahaan.
o Modularity: Berarti sampai batasan manakah sebuah tugas dapat
dipecah ke dalam tugas-tugas yang lebih kecil untuk dikerjakan.
o Complexity: Suatu keadaan yang rumit atau susah dimengerti, dalam
hal ini adalah tugas kebutuhan jasa yang harus diselesaikan oleh
manusia atau user lain.

13
Universitas Kristen Petra
o Automation characteristics: proses atau fasilitas manufaktur secara
otomatis, tanpa peran manusia dan dikendalikan oleh alat itu sendiri
(operating device).
o User-driven: Aktivitas yang diatur oleh user dan bukan oleh sistem
disebut user-driver (Khalid, 2015, p.42).

• Crowdsourcing Platform:

Crowdsourcing Platform didefinisikan sebagai tempat dimana tugas


crowdsourcing task terjadi. Umumnya crowd menggunakan IT berbasis
website atau mobile platform, atau kombinasi keduanya sebagai
crowdsourcing platform. Ada beberapa aspek dari crowdsourcing platform
berdasarkan perananannya dalam proses crowdsourcing:

o Crowd-related interaction: Interaksi antara crowd dengan platform


dimana crowdsourcing activity dilakukan.
o Crowdsourcer related interactions: Interaksi antara crowdsourcer
dengan crowdsourcing platform yang bisa dalam berbagai bentuk.
o Task related facilities: Beberapa fasilitas yang disediakan
crowdsourcing platform untuk mendukung tugas yang dilakukan.
o Platform-related facilities: Fasilitas yang disediakan untuk mendukung
pengerjaan task secara sehat dan lancar pada platform.

Berdasarkan pilar-pilar dan aspek-aspek tersebut, dapat dirumuskan


metriks atau syarat-syarat terbentuknya crowdsourcing sebagai berikut:

• Terdapat crowd yang sudah didefinisikan dengan jelas.


• Terdapat task dengan target yang jelas.
• Kompensasi yang akan didapat crowd dari partisipasinya sudah jelas.
• Crowdsourcer diidentifikasikan dengan jelas.
• Kompensasi yang akan diterima crowdsourcer sudah didefinisikan
sudah jelas.
• Adalah sebuah proses partisipasi terhadap tugas secara online.

14
Universitas Kristen Petra
• Menggunakan open call (panggilan atau tawaran terbuka) dengan
syarat yang beragam.
• Menggunakan media internet. (Estellés-Arolas & González-Ladrón-
de-Guevara, 2012, p.10)

Dalam pengaplikasian crowdsourcing, dapat muncul beberapa resiko yang


perlu ditangani dan dipahami sebelum dilaksanakan. Resiko pertama menurut
dapat muncul jika tugas atau masalah yang dikirimkan ke crowd (open call) tidak
didefinisikan secara jelas atau feedback partisipasi yang diberikan crowd tidak
sesuai dengan kebutuhan. Karenanya, proses crowdsourcing bisa saja bukan aksi
1 kali proses, melainkan bisa dilakukan terus menerus demi mencapai tujuan yang
diinginkan secara maksimal (Seltzer & Mahmoudi, 2012). Resiko lain yang dapat
muncul adalah implementasi crowdsource dengan task yang tidak jelas
menghasilkan kontribusi yang tidak maksimal juga sehingga crowdsource menjadi
sia-sia dan tidak efektif (Allahbakhsh, 2013, p.76).

2.2 Service Oriented Architecture

2.2.1 Service Oriented Computing

Service Oriented Computing (SOC) adalah paradigma yang mengunakan


service untuk mendukung pengembangan dari aplikasi yang hemat biaya,
terdistribusi, dan dapat berkembang. Pendekatan service oriented ini berdasarkan
ide menyusun aplikasi dengan melibatkan banyak service untuk mencapai sebuah
tujuan menggunakan bahasa XML dan protokol-protokol dan interface yang
menjelaskan dirinya sendiri (Babu & Darsi, 2013).

SOC sendiri memiliki fungsionalitas-fungsionalitas sebagai berikut:

• Service foundations: Prinsip service foundations terdiri atas middleware


yang memperhatikan runtime dari infrastruktur SOA. Infrastruktur ini
menghubungkan komponen heterogen dan sisten dan menyediakan akses
pada berbagai service dari berbagai jaringan termasuk internet. Ini
memungkinkan developer menentukan fungsionalitas service dasar dalam
bentuk deskripsi. Service foundations bertujuan menciptakan system yang

15
Universitas Kristen Petra
bersifat loosely coupled dan memecah logika awal ke dalam potongan-
potongan yang berbeda dan lebih mudah diatur.
• Service compositions: Memiliki peran dan fungsionalitas mengagregasikan
banyak service menjadi satu service composite. Umumnya, developer
menggunakan istilah chireography atau orchestration untuk menjelaskan
interaksi protokol bisnis yang mengkoordinasi dan mengendalikan service
yang berkolaborasi.
• Service management and monitoring: Ketika menyusun banyak service,
developer perlu memperhatikan kesehatan dari sistem yang
mengimplementasikan web service begitu pula pattern perilaku dari
aplikasi yang bersifat loosely coupled. Service managament mencakup
banyak aktivitas dari instalasi, konfigurasi, pengumpulan metriks,
penyesuaian dan proses memastikan pelaksanaan service yang responsif.
Service monitoring melibatkan memonitor kegiatan dan informasi yang
dihasilkan oleh service dan proses-proses juga termasuk proses-proses
bisnis.

2.2.2 Service Oriented Architecture

Service Oriented Architecture (SOA) adalah desain arsitektur untuk


membangun software komputer dalam bentuk service-service dimana service
tersebut diwadahi oleh dirinya sendiri dan bersifat independen dari konteks dan
keadaan dari service lain. SOA juga berfungsi sebagai framework standart untuk
membuat dan mengatur service dengan tujuan untuk meningkatkan kemampuan
IT untuk bereaksi dan beradaptasi terhadap perubahan bisnis. (Babu & Darsi,
2013, p.726)

SOA membuat perubahan menjadi lebih mudah. Sebelum adanya SOA,


proses development mengintegrasikan software, hardware, dan networking yang
bersifat terintegrasi secara kuat. Ini menyebabkan perubahan pada sistem menjadi
lebih susah. SOA mengunakan service-service untuk membangun sistem yang
mudah disusun dan dikonfigurasi ulang.

16
Universitas Kristen Petra
Secara umum beberapa pokok tujuan SOA adalah sebagai berikut:

i. Meningkatkan fleksibilitas dari komponen software dan kemampuan


software untuk digunakan ulang.
ii. Fleksibilitas didesain sehingga mampu merespon perubahan bisnis
yang terus-menerus.
iii. Standarisasi dan integrasi dari platform dan sub-struktur IT.
iv. Peningkatan terhadap interaksi antar organisasi (Hashemi, 2012, p.7),

Hashemi juga mengemukakan, dalam hal SOA konsep loosely coupled


sangatlah penting, yaitu kemampuan untuk berinteraksi antar service yang bersifat
independen dari pemrograman dan lokasi dari sehingga saat service berjalan,
dapat berpindah lokasi, mengubah prosedur internal atau menggunakan teknologi
baru tanpa memberi dampak negatif pada customer. Loosely coupled adalah fitur
IT dimana interface antar komponennya didesain untuk mengurangi
ketergantungan antar komponen sehingga mengurangi resiko pergantian banyak
komponen.

Beberapa hal yang perlu diperhatikan terkait faktor keamanan dalam


menerapkan Service Oriented Architecture sebagai berikut:

i. Authentication: Bergunan untuk mengindikasi bahwa user yang


mengakses informasi memang user yang seharusnya bertanggung
jawab atau berhak terhadap informasi tersebut.
ii. Confedidentiality: Menjamin akses terhadap service atau informasi
hanya dapat dilakukan oleh subjek yang terotorisasi.
iii. Integrity: Menjamin informasi yang benar dan tidak corrupt.
iv. Availability: Menjamin service tersedia pada waktu dibutuhkan.
v. Authorization
vi. Auditing

17
Universitas Kristen Petra
Ada beberapa syarat yang menjadi dasar syarat-syarat perwujudan Service
Oriented Architecture sebagai berikut:

i. Service contract terstandarisasi: Sebuah service dibuat berdasarkan


kesepakatan untuk berkomunikasi.
ii. Service loose-coupling: Service-service mengatur hubungan yang
meminimalisir ketergantungan antar pihak dan hanya membutuhkan
kesadaran respons antar service.
iii. Service abstraction: Service menyembunyikan logikanya dari dunia
luar atau pihak umum.
iv. Service reusability: logika dari sebuah service yang dibuat dibagi ke
dalam service-service yang dikembangan dengan tujuan untuk dapat
digunakan ulang.
v. Service autonomy: Service bisa mengendalikan sendiri logika yang
dimiliki tanpa bergantung pada pihak lain.
vi. Service statelessness: Meminimalisir kebutuhan terhadap sumber daya
dengan membatasi manajemen informasi bila diperlukan.
vii. Service discoverability: Service didukung dengan metadata yang
komunikatif yang mudah diinterpretasikan.
viii. Service composability: Service terdiri dari partisipan yang tersusun
rapi tanpa melihat kompleksifitas dari komposisi service.
ix. Service granularity: Desain service yang dapat mengoptimalisasi
fungsionalitas bisnis dalam operasi service.
x. Service normalization: Service terdikomposisi ke dalam bentuk
tertentu tanpa terjadinya redudansi.
xi. Service optimazation: High quality service secara umum lebih dipilih
dibanding service low quality.
xii. Service relevance: Fungsionalitas yang disediakan dikenali user
sebagai service yang berguna.
xiii. Service encapsulation: Banyak service yang digunakan dan
terenkapsulasi dalam sebuah Service Oriented Architecture.
xiv. Service location transparency: Kemampuan customer dari service
untuk mengakses sebuah service tanpa memedulikan posisi asli dari

18
Universitas Kristen Petra
service dalam jaringan. Dalam hal ini, lokasi pada physical device
memory dipetakan ke dalam logical memory (Altaani dan Jaradar,
2012, p.3).

2.3 REST (Representational State Transfer)

Menurut Dahiya dan Parmar (2014, p.7046), REST adalah sebuah


arsitektur sebagai guideline untuk mengorganisir service. Arsitektur mengunakan
REST adalah arsitektur client server dimana client mengirim request kepada
server, kemudian server mengolah request dan mengembalikan response. Request
dan response dibangun pada sistem transfer resource. Resource didefinisikan oleh
URI. REST pada dasarnya seperti menggunakan prinsip nouns dan verbs dimana
REST tidak perlu menggunakan format seperti envelope atau header seperti yang
digunakan SOAP (Mumbaikar & Padiya, 2013, p.1).

Prinsip desain REST umumnya adalah addressability, statelessness dan


interface uniform. Addressability berarti REST adalah dataset untuk
mengoperasikan resource yang ditandai dengan URI. Uniform dan standart
interface berarti interface untuk mengakses resource menggunakan metode HTTP
yang tetap. Setiap transaksi juga harus bersifat independen dan tidak berhubungan
dengan transaksi lain dimana semua data yang dibutuhkan untuk menjalankan
request terdapat di request itu sendiri.

Pendekatan web service dengan REST menggunakan hanya REST sebagai


teknologi komunikasi untuk membangun SOA. Service akan didefinisikan dengan
gaya dekomposisi SOA dan web service REST sebagai media transportasi. Web
service menggunakan REST sebenarnya sama seperti SOA menggunakan XML
dan SOAP, kecuali REST mengukung berbagai jenis tipe data mulai objek
Javascript sampai binary blobs yang digunakan dalam perintah GET dan PUT
(Dahiya & Parmar , 2014, p.7046).

Hal terpenting dari REST, seperti yang disebubkan di atas adalah


resource. Resource didefinisikan sebagai individu elemen yang teridentifikasi
dalam sebuah sistem. Peraturan standart bagi sebuah resource adalah satu address
ekuivalen dengan satu resource. Sebuah Unified Resource Identifier (URI) dapat

19
Universitas Kristen Petra
memiliki parameter (bagian dari address setelah simbol '?"). Parameter tidak
mempengaruhi identifikasi dari resource, namun dapat mengubah perilaku dari
resource. Misalnya, sebuah parameter dengan nilai "?language=de" berarti bahasa
dengan jenis bahasa Jerman. Resource juga bisa dihubungkan dengan physical
device dimana sebuah REST server address berlaku sebagai interface pertukaran
data terhadap device. (Rykowski, 2015, p.176)

REST memiliki prinsip-prinsip standart sebagai karakteristiknya sebagai


berikut:

i. Client - Server communication: Menggunakan protokol internet dan


format pertukaran data sehingga client yang berbeda bisa dengan
mudah berhubungan dengan resource dari server. Ini bisa didapat
menggunakan REST yang mendukung banyak format pesan untuk
berkomunikasi.
ii. Stateless communication: tidak ada kondisi yang disimpan dalam
server. Request dari client memiliki semua informasi untuk mengolah
sebuah request. Untuk mengurangi trafik jaringan, sistem dengan
REST dapat menyimpan cache dari sebuah data untuk memproses
request berikutnya yang mirip.
iii. Uniform interface: Untuk beroperasi terhadap interface-interface dan
service yang beragam di internet, menggunakan interface yang
sederhana dan mirip satu sama lain (uniform) dalah kunci untuk
berintegrasi dengan lebih banyak resource dan user. Ini mengijinkan
arsitektur yang mengijinkan 2 pihak berkembang secara independen
tanpa perlu khawatir menimbulkan masalah saat saling berkomunikasi.
iv. Layered system: Sebuah API menyembunyikan kompleksifitas
implementasi internal dan menampilkan interface sederhana pada
konsumer. Interface API dengan REST menyembunyikan banyak
database back-end dan service-service. Menampilkan service back-end
yang kompleks seperti HTTP akan merepotkan perusahaan-perusahaan
yang menggunakan REST (Dahiya & Parmar, 2014).

20
Universitas Kristen Petra
Operasi-operasi
operasi dasar dari REST sebagai berikut:

i. createData - Membuat resource data baru dengan identifier unik


menggunakan perintah POST.
POST
ii. getDataRepresentation - Menerima representasi dari sebuah resource
menggunakan perintah GET.
iii. deleteData - menghapus resource dengan perintah DELETE.
iv. modifyData - memodifikasi resource dengan perintah PUT.
PU
v. getMetaInformation - mendapat meta information dari sebuah resource
dengan perintah HEAD. Resource dari HEAD diakses dengan URI
(Dahiya & Parmar, 2014).

2.4 CodeIgniter

Mengutip dari Wikipedia bahasa Indonesia, CodeIgniter merupakan


aplikasi sumber terbuka yang berupa framework (kumpulan fungsi-fungsi
fungsi dan
class yang sudah siap digunakan sehingga mempermudah pekerjaan programmer)
PHP dengan model MVC (Model, View, Controller) untuk membangun website
dinamis dengan menggunakan PHP.

Gambar 2.1: Logo CodeIgniter

Sumber : www.excelisys.com

Tujuan dari pembuatan framework CodeIgniter ini menurut user manualnya


adalah untuk menghasilkan framework yang akan dapat digunakan untuk
pengembangan proyek pembuatan website secara lebih cepat dibandingkan
dengan pembuatan website dengan cara koding secara manual, dengan
menyediakan banyak sekali pustaka yang dibutuhkan dalam pembuatan website,
dengan antarmuka yang sederhana dan struktur logika untuk mengakses pustaka
yang dibutuhkan (Yunanto,
(Yun 2015, p.5).

21
Universitas Kristen Petra
Seperti yang telah dijelaskan di atas, CodeIgniter menggunakan konsep
MVC (Model View Controller). Harry Yunanto menjelaskan: Di dalam website
dinamis setidaknya terdiri dari tiga hal yang paling pokok, yaitu basis data, logika
aplikasi dan cara menampilkan halaman website. Tiga hal tersebut
direpresentasikan dengan MVC yaitu model untuk basis data, view untuk cara
menampilkan halaman website dan controller untuk logika aplikasi.

1. Model: Merepresentasikan struktur data dari website yang bisa berupa


basis data maupun data lain, misalnya dalam bentuk file teks atau file xml.
Biasanya di dalam model akan berisi class dan fungsi untuk mengambil,
melakukan update dan menghapus data website. Karena sebuah website
biasanya menggunakan basis data dalam menyimpan data maka bagian
Model biasanya akan berhubungan dengan perintah-perintah query SQL.

2. View: Merupakan informasi yang ditampilkan kepada pengunjung


website. Sebisa mungkin di dalam View tidak berisi logika-logika kode
tetapi hanya berisi variabel-variabel yang berisi data yang siap
ditampilkan. View bisa dibilang adalah halaman website yang dibuat
menggunakan HTML dengan bantuan CSS atau JavaScript. View hanya
dikhususkan untuk menampilkan data-data hasil dari model dan controller.

3. Controller: Controller merupakan penghubung antara Model dan View. Di


Dalam Controller inilah terdapat class dan fungsi-fungsi yang memproses
permintaan dari View ke dalam struktur data di dalam Model. Controller
tidak boleh berisi kode untuk mengakses basis data. Tugas controller
adalah menyediakan berbagai variabel yang akan ditampilkan di view,
memanggil model untuk melakukan akses ke basis data, menyediakan
penanganan error, mengerjakan proses logika dari aplikasi serta
melakukan validasi atau cek terhadap input.(Yunanto, 2015, p.8-9).

Pada Gambar 2.2, ditunjukkan hubungan antara fitur-fitur yang tersedia


dalam CodeIgniter. Dapat dilihat bahwa pengunjung website diarahkan oleh CI
Routes agar tiba pada halaman website yang diinginkan. CI Routes bekerja
sebagai URL router. Nantinya isi dari halaman diatur oleh CI Controllers dan

22
Universitas Kristen Petra
ditampilkan dalam CI Views. Database yang diperlukan website dipanggil fungsi
query-nya
nya melalui CI Models. CI Models nantinya diintegrasikan dengan
beberapa CI Controllers (yang membutuhkan pemanggilan data). CI Controllers
juga seringkali perlu memanggil fungsi yang disimpan pada CI Libraries dan CI
Helpers, sehingga ada kalanya kedua fitur tersebut diintegrasikan ke dalam CI
Controllers.

Gambar 2.2: Diagram Proses Codeigniter

Sumber : www.packtpub.com

CodeIgniter memudahkan developer untuk membuat aplikasi web dengan


cepat mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis
pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah versi 3.0.3 (diliris
1 November 2015). CodeIgniter dirancang oleh EllisLab dan saat ini
dikembangkan oleh British Columbia Institute of Technology. Situs resminya
beralamat di http://www.codeigniter.com.
http://www.codeigniter.com

23
Universitas Kristen Petra
Gambar 2.3 : Aliran Data Framework CodeIgniter

Sumber : www.codeigniter.com

Aliran data dari framework CodeIgniter ditunjukan pada Gambar 2.3, di


mana index.php berfungsi sebagai front controller yang meng-inisialisasikan
resources dasar yang dibutuhkan untuk menjalankan CodeIgniter. Router
mengevaluasi HTTP Request untuk menentukan langkah selanjutnya. Jika
terdapat file cache, data dikirim langsung ke dalam browser, melewati prosedur
normal. Sebelum controller aplikasi diunggah, seluruh HTTP Request dan data
yang dikirimkan akan disaring untuk keamanan sistem. Setelah itu, controller
memanggil model, libraries, helpers, dan resources lainnya yang diperlukan untuk
menjawab request. Jawaban yang diberikan akan ditampilkan dalam View yang
kemudian di-render pada browser dan dilihat oleh pengguna (Sofwan, 2016).

2.5 Aplikasi Sejenis

2.5.1 Seekmi

Seekmi adalah aplikasi yang dapat dijalankan di Android dan IOS yang
berfungsi sebagai perantara antara user sebagai penyedia jasa dan user sebagai
pencari jasa. Seekmi mengaplikasikan metode crowdsourcing dimana aplikasi
membantu menyelasaikan kebutuhan jasa dari user pencari jasa dengan meminta
bantuan partisipasi secara online dari user penyedia jasa. Dalam prakteknya,
Seekmi menggunakan 2 aplikasi terpisah yang saling berhubungan. Aplikasi
Seekmi Pro digunakan oleh user penyedia jasa sedangkan aplikasi Seekmi
digunakan oleh user pencari jasa.

24
Universitas Kristen Petra
Gambar 2.4: Aplikasi Seekmi Pro untuk Penyedia Jasa

Sumber: Aplikasi Seekmi Play Store Android

Gambar 2.5: Aplikasi Seekmi untuk Pencari Jasa

Sumber: Aplikasi Seekmi Play Store Android

Pada aplikasi Seekmi Pro untuk penyedia jasa, terdapat 4 menu utama
yang terdapat di bagian bawah layar yaitu menu pekerjaan, favorit, mChat dan
profil. Menu pekerjaan menampilkan semua tawaran pekerjaan yang diterima oleh
pencari jasa seperti ditunjukkan pada Gambar 2.6. Pada menu ini terdapat 4 sub-
menu yaitu sub-menu Baru, Penawaran, Disewa, dan Arsip. Sub-menu Baru
menampilkan tawaran-tawaran pekerjaan yang baru diajukan terhadap pencari
jasa. Sub-menu Penawaran menampilkan hasil penawaran balasan dari sebuah
tawaran pekerjaan lama. Sub-menu Disewa menampilkan tawaran pekerjaan yang
sudah disepakati namun belum dikerjakan, sedangkan Sub-menu Arsip
menampilkan history tawaran pekerjaan yang sudah dikerjakan.

25
Universitas Kristen Petra
Gambar 2.6: Menu Pekerjaan Aplikasi Seekmi Pro Sub-menu Baru dan Arsip

Sumber: Aplikasi Seekmi Play Store Android

Pada menu pekerjaan, ditampilkan info-info singkat dari pekerjaan seperti


ditunjukkan pada gambar 2.6. Apabila user meng-klik salah satu info singkat
pekerjaan, maka akan tampil detail pekerjaan secara lengkap seperti ditunjukkan
pada Gambar 2.7. Pada Gambar 2.7 ditampilkan detil pekerjaan sebagai pembantu
rumah tangga dari pencari jasa Jimmy I. Kemudian, ditampilkan info kriteria
pekerjaan secara spesifik sesuai dengan masing-masing jenis jasa seperti tanggal
dibutuhkannya jasa, durasi dan lokasi. Selain itu, disediakan juga fitur lokasi
dengan Google Map untuk membantu menunjukkan posisi lokasi.

26
Universitas Kristen Petra
Gambar 2.7: Tampilan Detail Pekerjaan Aplikasi Seekmi Pro

Sumber: Aplikasi Seekmi Play Store Android

Pada Sub-menu Pekerjaan Baru, selain detil info pekerjaan, tersedia Menu
Tolak untuk untuk penyedia jasa menolak pekerjaan atau Menu Kirim Penawarn
untuk meresponi pekerjaan dengan memberikan penawaran balasan kepada
pencari jasa. Apabila penyedia jasa memilih menu Kirim Penawaran, maka akan
muncul tampilan Penawaran seperti ditunjukkan pada Gambar 2.8. Pada Menu
Penawaran, penyedia jasa dapat memasukkan info harga yang diajukan beserta
pesan tambahan.

Menu terakhir pada aplikasi Seekmi Pro adalah Menu Profil, seperti
ditunjukkan pada Gambar 2.9. Pada menu ini terdapat 2 sub-menu yaitu Sub-
menu Tentang dan Sub-menu Foto. Pada Sub-menu Tentang, tersedia informasi
probadi pencari jasa seperti nama, nomor telepon, alamat, pengalaman bisnis dan
biodata lain. Pada sub-menu ini user juga bisa mengganti informasi-informasi
tersebut termasuk foto pribadi. Kemudian, pada sub-menu Foto, terdapat daftar
foto-foto dari user seperti ditunjukkan

27
Universitas Kristen Petra
Gambar 2.8: Tampilan Penawaran Balasan Aplikasi Seekmi-Pro

Sumber: Aplikasi Seekmi Play Store Android

Gambar 2.9: Menu Profil Sub-menu Tentang dan Foto pada Aplikasi Seekmi

Sumber: Aplikasi Seekmi Play Store Android

Selain aplikasi Seekmi Pro, tersedia juga aplikasi Seekmi untuk pencari
jasa mengajukan pekerjaan yang dibutuhkannya kepada penyedia jasa. Pada
aplikasi ini, tersedia 4 menu utama yaitu Menu Request, Menu History, Menu
mChat, dan menu Profile seperti ditunjukkan pada Gambar 2.10. Pada menu
Request, tersedia menu pilihan-pilihan jasa yang tersedia seperti AC Unit Repair
or Maintenance seperti ditunjukkan pada Gambar 2.10.

28
Universitas Kristen Petra
Apabila user meng-klik salah satu pilihan jasa, akan muncul tampilan
detail informasi kriteria request pekerjaan yang perlu diisi oleh user secara
spesifik sesuai dengan jenis jasa. Pada Gambar 2.11, ditampilkan contoh kriteria
request pekerjaan AC Unit Repair or Maintenance. Setelah mengisi informasi
yang diperlukan, user lalu meng-klik menu submit untuk mengkirimkan request
yang dibuat pada penyedia jasa yang jenis jasanya sesuai melalui aplikasi Seekmi
Pro.

Gambar 2.10: Menu Utama dan Menu Request Aplikasi Seekmi

Sumber: Aplikasi Seekmi Play Store Android

29
Universitas Kristen Petra
Gambar 2.11: Detail Request pada Aplikasi Seekmi

Sumber: Aplikasi Seekmi Play Store Android

Pada Menu History dari aplikasi ini ditampilkan request-request yang


sedang atau sudah diajukan. Menu ini dibagi menjadi 3 sub-menu seperti
ditampilkan pada Gambar 2.12 yaitu sub-menu In Progress, Hired, dan Archived.
Sub-menu In Progress menampilkan request yang sedang diajukan atau dalam
proses negosiasi. Sub-menu Hired menampilkan request yang sudah disetujui
namun belum dipekerjakan, sedangkan sub-menu Archived menampilkan request
yang sudah dikerjakan. Menu berikutnya yaitu menu mChat menampilkan chat
yang dikirimkan dari penyedia jasa untuk mempermudah komunikasi. Selain
menu-menu tersebut, terdapat Menu Profile yang berisikan info pribadi user yaitu
first name, last name, email dan phone seperti ditunjukkan pada Gambar 2.13.

30
Universitas Kristen Petra
Gambar 2.12: Menu History pada Aplikasi Seekmi

Sumber: Aplikasi Seekmi Play Store Android

Gambar 2.13: Menu Profile pada Aplikasi Seekmi

Sumber: Aplikasi Seekmi Play Store Android

31
Universitas Kristen Petra
2.5.2 www.pembantu.com

Pembantu.com (http://www.pembantu.com/) adalah website penyedia jasa


kebutuhan
utuhan rumah tangga yakni jasa pembantu, baby sitter, nanny,
nanny perawat lansia,
tukang kebun, dan sopir seperti
seperti yang ditunjukkan pada gambar 2.14.
2 Website
www.pembantu.com menggunakan metode crowdsourcing yang hampir sama
dengan metode yang diterapkan Seekmi. Untuk membantu pengguna website
dalam pemilihan tenaga kerja, website memberikan fitur search dan sorting
terhadap tenaga kerja yang ditawarkan berdasarkan beberapa faktor di antaranya
berdasarkan kota, gaji bulanan, pendidikan terakhir, status, dan usia seperti
ditunjukkan
jukkan pada gambar 2.15.
2
Setiap data penyedia jasa sudah memiliki informasi-informasi
informasi informasi untuk
membantu pengguna website mencari penyedia jasa yang sesuai. Beberapa
informasi tersebut di antaranya adalah pengalaman kerja, suku asal, surat polisi
(pengalaman kriminalitas), surat dokter (kondisi kesehatan), kemampuan
berbahasa Inggris, pengalaman kerja di luar negeri, dan lain lain. Gambar 2.16
2
menunjukkan data diri seorang penyedia jasa pembantu rumah tangga.
Untuk memesan sebuah penyedia jasa, pengguna
pengguna website cukup meng-klik
meng
tombol Pesan Sekarang pada profil dari penyedia jasa yang diinginkan.
Kemudian, website akan berpindah ke halaman form pemesanan tenaga kerja
seperti
eperti ditunjukkan pada gambar 2.17.
2.17. Setelah pengguna website mengisi form
pemesanann tersebut, form pemesanan akan dikirimkan kepada penyalur tenaga
kerja dimana penyalur tenaga kerja akan menanggapi form pemesanan tersebut.

Gambar 2..14: Website http://www.pembantu.com/ Halaman Utama

Sumber: http://www.pembantu.com/

32
Universitas Kristen Petra
Gambar 2.15:: Website http://www.pembantu.com/ Halaman Search

Sumber: http://www.pembantu.com/

Gambar 2.16:: Website http://www.pembantu.com/


ww.pembantu.com/ Halaman Profil

Sumber: http://www.pembantu.com/

33
Universitas Kristen Petra
Gambar 2.17: Website http://www.pembantu.com
http://www.pembantu.com Detil Penyedia Jasa

Sumber: http://www.pembantu.com/

2.5.3 GO-JEK
JEK

Aplikasi GO--JEK
JEK adalah aplikasi penyedia berbagai macam jasa untuk
penggunanya dalam bentuk aplikasi mobile device.. Aplikasi ini menawarkan
kemudahan pada penggunanya dengan menyediakan berbagai kebutuhan
pengguna langsung ke tempat yang diinginkan pengguna
penggun seperti
erti ditunjukkan pada
gambar 2.18.. Beberapa jasa yang disediakan aplikasi GO-JEK
GO JEK di antaranya jasa
pengiriman barang seperti
sep ditunjukkan pada gambar 2.19,, jasa antar jemput
seperti
erti ditunjukkan pada gambar 2.20,
2.20 jasa cleaning service seperti
sep ditunjukkan
pada gambar 2.21,, jasa pemesanan makanan seperti ditunjukkan
ditunjukkan pada gambar

34
Universitas Kristen Petra
2.22,, jasa pemesanan barang, jasa pemesanan tiket, jasa pengiriman dengan mobil
box, jasa massage,, dan jasa perawatan pribadi.
Dalam menyediakan jasa pemesanan makanan, aplikasi GO-JEK
menyediakan pilihan-pilihan
pilihan pilihan kategori untuk memudahkan customer menemukan
makanannya seperti
erti ditunjukkan pada gambar 2.22.
2.22. Beberapa kategori yang
disediakan di antaranya kategori makanan dengan penjualan terbaik (Best Seller),
penyedia makanan 24 jam,
jam, aneka nasi, dan jenis makanan lainnya.
Salah satu fitur GO-JEK
GO JEK yang mirip dengan fitur yang akan dibuat melalui
skripsi ini adalah fitur GO-CLEAN
GO CLEAN yaitu penyedia jasa kebersihan. Pada fitur ini,
pengguna aplikasi memasukkan berbagai keterangan yang diinginkan
diinginkan terkait jasa
yang diinginkan seperti jumlah ruangan, durasi kerja, dan jumlah tenaga kerja
yang diinginkan seperti
erti ditunjukkan pada gambar 2.21.
2.21

Gambar 2.18: Aplikasi GO-JEK Halaman Utama

Sumber: Aplikasi GO-JEK

35
Universitas Kristen Petra
Gambar 2.19:: Aplikasi GO-JEK
JEK Halaman Jasa Pengiriman Barang

Sumber: Aplikasi GO-JEK

Gambar 2..20: Aplikasi GO-JEK Halaman Jasa Antar Jemput

Sumber: Aplikasi GO-JEK

36
Universitas Kristen Petra
Gambar 2.21
21: Aplikasi GO-JEK Halaman Jasa Cleaning Service

Sumber: Aplikasi GO-JEK

Gambar 2.22
22: Aplikasi GO-JEK Halaman Pemesanan Makanan

Sumber: Aplikasi GO-JEK

37
Universitas Kristen Petra

Anda mungkin juga menyukai