Post on 16-Oct-2021
BAB 2
TINJAUAN REFERENSI
Teori
Konsep
Media Sosial
Media sosial adalah sebuah wadah untuk berpartisipasi,
berbagi, dan menciptakan jejaring sosial secara online di internet
(Cahyono, 2016). Media sosial menggunakan teknologi berbasis
website atau aplikasi yang dapat mengubah suatu komunikasi ke dalam
bentuk dialog interaktif dengan cepat, efisien, dan real time.
Berdasarkan laporan yang dilakukan oleh Hootsuite terhadap 3.255
pelanggan bisnis, beberapa contoh media sosial yang banyak digunakan
oleh orang-orang adalah Facebook, YouTube, WhatsApp, Instagram,
dan lain-lain (Hootsuite, 2019).
Gambar 2.1 Data Pengguna Media Sosial yang Paling Aktif
(Hootsuite, 2019)
11
12
Berikut merupakan definisi media sosial menurut para ahli
komunikasi:
1. Philip Kotler dan Kevin Lane Keller (2016)
Media sosial merupakan sebuah platform yang digunakan
oleh user guna membagikan aktivitas seseorang baik secara
visual maupun non-visual. Informasi tersebut dibagikan
kepada orang lain maupun perusahaan berupa teks, gambar,
suara, dan video (Pakar Komunikasi, 2017).
2. Caleb T. Carr dan Rebecca A. Hayes (2015)
Media sosial adalah media berbasis internet yang
memberikan kesempatan kepada user untuk saling
berinteraksi dan merepresentasikan diri dengan khalayak
luas maupun tidak. Media ini juga mendorong nilai dari
User-Generated Content (UGC) dan persepsi interaksi
dengan orang lain (Hayes, 2015). User-Generated Content
(UGC) merupakan cara populer untuk menciptakan
keterlibatan audience dari konten yang dihasilkan oleh user
(Elite Marketer, 2019).
3. Shabnoor Siddiqui dan Tajinder Singh (2016)
Media sosial adalah sebuah platform yang digunakan oleh
masyarakat untuk mendiskusikan masalah dan pendapat
mereka. Media sosial juga dapat didefinisikan sebagai alat
komputer yang memungkinkan user untuk berbagi atau
bertukar informasi, ide, gambar, dan video satu sama lain
melalui jaringan tertentu. Fokus media sosial berdasarkan
masyarakat luas terdapat pada bidang bisnis, pendidikan,
masyarakat, dan kalangan remaja (Singh, 2016).
Cyberbullying
Cyberbullying merupakan suatu bentuk kekerasan non-fisik
dalam dunia maya yang dapat dilakukan secara individu maupun
berkelompok (Retno, 2017). Bentuk cyberbullying dapat berupa
tulisan, gambar, atau video yang ditujukan untuk mempermalukan dan
13
merendahkan harga diri targetnya. Hal ini sangat umum terjadi di media
sosial seperti Facebook, Twitter, Instagram, dan lainnya (Retno, 2017).
Berkembangnya dan luasnya pemakaian media sosial menyebabkan
dua dampak yaitu dampak positif dan negatif (Rohman, 2016). Dampak
negatif dari pemakaian media sosial yang ditimbulkan adalah
pencemaran nama baik, ucapan kebencian atau hate speech serta
cyberbullying. Intensitas hate speech semakin tinggi dan masalah yang
paling umum adalah masalah SARA (Rohman, 2016).
Dalam cyberbullying, banyak perhatian tertuju pada peer to
peer cyberbullying. Peer to peer cyberbullying terjadi melalui pesan
teks, Facebook, dan pesan instan. Kasus seperti ini sering ditemui di
kalangan remaja dan para korban cyberbullying rentan menjadi pelaku
cyberbullying (Kowalsk, 2015).
Aplikasi Berbasis Anonim
Anonim berdasarkan Kamus Besar Bahasa Indonesia (KBBI)
dapat diartikan sebagai tanpa nama atau tidak beridentitas. Aplikasi
berbasis anonim adalah program atau perangkat lunak yang dirancang
untuk perangkat seluler. Aplikasi tersebut memungkinkan user untuk
berbagi pesan dengan user lain tanpa mengetahui identitas user (Ruogu
Kang, 2016).
Aplikasi anonim mengandalkan anonimitas sebagai jangkar
untuk bersosialisasi. Jangkar tersebut menciptakan sebuah kesan di
mana ruang untuk berkomunikasi tersebut penuh dengan teman yang
tidak saling memandang identitas (Sharon, 2018). Beberapa contoh
aplikasi berbasis anonim adalah Yik Yak, Secret, Ask.fm, dan Sunib
Curhat.
Berikut merupakan contoh dari beberapa aplikasi anonim yang
pernah ada:
1. Yik Yak (2016)
Yik Yak merupakan aplikasi anonim berdasarkan area
geografis yang berdekatan. Pengguna akan secara otomatis
masuk ke komunitas berdasarkan tempat dia berada
14
sekarang. Pengguna memiliki kesempatan untuk
menyampaikan pesan dan komentar berbasis teks dengan
batas 200 karakter dalam suatu lingkup komunitas. Yik Yak
memberikan fitur mengintip, di mana pengguna dapat
melihat pesan dalam komunitas lain secara anonim. Apabila
pengguna tidak dalam komunitas tersebut, pengguna hanya
melihat pesan tanpa dapat memberikan komentar
(Black, 2016).
2. Secret (2016)
Secret merupakan aplikasi yang fokus pada konsep anonim,
mengizinkan pengguna untuk membagikan gambar dan
konten lainnya seperti pesan berbasis teks. Secret
memungkinkan pengguna untuk berbagi pesan secara
anonim dengan teman-teman di Facebook dan di kontak
telepon. Secret tidak mengungkap siapa pengguna yang
membagikan pesan dan memberikan komentar, Secret hanya
mengungkap pengguna yang membagikan pesan itu sebagai
teman atau teman dari teman (Sharon, 2018).
Gambar 2.2 Pesan Secret dari Pengguna yang
Terhubung sebagai Teman (Sharon, 2018)
15
Gambar 2.3 Pesan Secret dari Pengguna yang
Terhubung sebagai Teman dari Teman (Sharon, 2018)
3. Whisper (2012)
Whisper merupakan aplikasi anonim yang memberikan
kesempatan pada pengguna untuk menyampaikan pesan
dalam bentuk gambar dengan tulisan di dalamnya. Whisper
akan memberikan username pada setiap pengguna secara
acak ketika pertama kali mendaftar, dan dapat diganti sesuai
keinginan pengguna sewaktu-waktu (Kang, 2016).
4. Ask.fm (2010)
Ask.fm merupakan sebuah platform yang umumnya
digunakan pada kalangan remaja dan memanfaatkan peran
anonimitas kepada seluruh pengguna aplikasi. Ask.fm dapat
menghubungkan akun aplikasi dengan akun Facebook agar
memudahkan pengguna untuk mencari teman yang sudah
terdaftar pada aplikasi. Fitur yang paling sering digunakan
pada aplikasi ini adalah fitur “Tanyakan ke teman”. Fitur ini
dilengkapi dengan field untuk menuliskan pertanyaan kepada
pengguna yang dituju disertai batas maksimal 300 karakter.
Pengguna dapat mengirimkan pertanyaan tersebut dengan
memilih untuk menampilkan atau menyembunyikan
identitas (Lorleen Farrugia, 2018).
16
5. Sunib Curhat (2019)
Sunib Curhat merupakan wadah curhat untuk mahasiswa
yang sedang/ sudah menjalani kehidupan perkuliahan di
BINUS University. Sunib Curhat didirikan sejak April 2019
lalu yang terdiri dari Founder, Co-Founder, Developer, dan
11 Consultant (Sunib Curhat, 2019).
Metodologi
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) adalah proses atau
alur kerja yang mendefinisikan tahapan inti dan siklus kerangka kerja
dengan menjelaskan operasi pada setiap fase proyek pengembangan
software. SDLC telah diselidiki oleh banyak user serta banyak model
yang telah diusulkan sebagai properti dasar (Alshamrani, A
Comparison Between Three SDLC Models Waterfall Model, Spiral
Model, and Incremental/Iterative Model, 2015). Adapun tujuan dari
SDLC adalah untuk menghasilkan software dengan kualitas tertinggi
yang dapat dicapai. SDLC memiliki kerangka kerja yang membantu
struktur pengembangan. Tanpa kerangka kerja ini, developer tidak akan
tahu apa yang harus mereka kerjakan atau ciptakan (A, 2018).
SDLC membantu mengatur proyek melalui beberapa metode
yang dapat dilakukan dalam software development. Metodologi yang
paling terkenal dan paling banyak digunakan adalah metode waterfall
dan agile. Metode waterfall disebut sebagai metode tradisional karena
terlebih dahulu dilaksanakan dibandingkan dengan metode agile
ataupun beberapa metode lainnya. Meskipun metode waterfall
tergolong tradisional, namun metode ini termasuk paling banyak
digunakan hingga saat ini yang membuktikan bahwa metode waterfall
baik untuk digunakan dalam software development (A, 2018).
Model waterfall disebut juga classic life cycle. Waterfall
merupakan salah satu model SDLC yang bersifat sistematis dan
berurutan dalam pengembangan software yang dimulai dengan
spesifikasi proses dan persyaratan melalui perencanaan, pemodelan,
17
konstruksi, dan deployment (Pressman, Software Engineering: A
Practitioner's Approach, Seventh Edition, 2010).
Berikut merupakan fase-fase yang dilakukan pada metode
waterfall menurut Pressman:
Gambar 2.4 Fase Metode Waterfall (Pressman, Software
Engineering: A Practitioner's Approach, Seventh Edition, 2010)
1. Communication
Communication menetapkan syarat atau perjanjian antara
client dengan developer untuk spesifikasi dan fitur software.
Persyaratan tersebut akan dikumpulkan, dianalisis, dan
didokumentasikan yang akan membantu lebih lanjut dalam
proses development. Pengumpulan data-data tambahan dapat
diambil dari artikel ataupun jurnal (Pressman, Software
Engineering: A Practitioner's Approach, Seventh Edition,
2010).
2. Planning
Rencana mendefinisikan apa yang sebenarnya kita inginkan,
rencana tersebut juga akan membantu dalam hal menentukan
sumber daya yang diperlukan, biaya, dan hal lain yang terkait
dengan software yang ditentukan (Pressman, Software
Engineering: A Practitioner's Approach, Seventh Edition,
2010).
3. Modeling
Fase ini adalah fokus utama perancangan dan pemodelan
arsitektur sistem. Fase ini bertujuan untuk memahami
pekerjaan yang akan dilakukan dengan detail (Pressman,
Software Engineering: A Practitioner's Approach, Seventh
Edition, 2010).
18
4. Construction
Fase ini berfokus pada bentuk bahasa yang dapat dibaca oleh
mesin lalu dilakukan pengujian untuk menemukan
kelemahan atau bugs dalam software. Semua kelemahan atau
kekurangan code yang terlewatkan selama development akan
terdeteksi di sini. Kelemahan atau kekurangan tersebut akan
didokumentasikan dan diberikan kepada developer untuk
diperbaiki (Pressman, Software Engineering: A Practitioner's
Approach, Seventh Edition, 2010).
5. Deployment
Tahapan terakhir ini merupakan tahapan di mana produk
tersebut akan diluncurkan serta digunakan di lingkungan
masyarakat. Fase ini terjadi setelah instalasi dan melibatkan
modifikasi pada sistem atau komponen individual untuk
meningkatkan kinerja. Modifikasi ini timbul karena
perubahan yang diprakarsai oleh customer, atau saran yang
ditemukan selama penggunaan sistem secara langsung
(Pressman, Software Engineering: A Practitioner's
Approach, Seventh Edition, 2010).
Data Gathering Methods
Pengumpulan data adalah proses mengumpulkan dan mengukur
informasi tentang variabel yang diminati dengan cara sistematis.
Pengumpulan data memungkinkan seseorang untuk menjawab
pertanyaan penelitian yang dinyatakan, menguji hipotesa, dan
mengevaluasi hasil (Kabir, 2016).
Komponen pengumpulan data penelitian bersifat umum untuk
semua bidang studi termasuk ilmu fisik dan sosial, humaniora, bisnis,
dan lainnya. Meskipun metode pengumpulan data bervariasi,
penekanan pada pengumpulan data yang akurat dan jujur tetap sama.
Tujuan dari pengumpulan data adalah untuk menangkap bukti kualitas
yang kemudian diterjemahkan menjadi analisa data yang kaya serta
19
memungkinkan pembangunan jawaban yang meyakinkan dan kredibel
untuk pertanyaan yang diajukan (Kabir, 2016).
Berikut merupakan metode pengumpulan data:
1. Observations
Metode observasi telah menempati tempat penting dalam
penelitian klinis dan pengembangan psikolog. Ini adalah
teknik pengumpulan data yang paling signifikan dan umum.
Metode observasi dapat dilakukan sambil membiarkan orang
yang mengamati tahu bahwa dia sedang diamati atau tanpa
membiarkan dia tahu (Kabir, 2016).
Tujuan dari metode observasi ialah menentukan apakah
peneliti mencari deskripsi yang komprehensif dari catatan
perilaku atau deskripsi hanya dari perilaku yang dipilih. Hasil
penelitian nantinya dirangkum, dianalisis, dan dilaporkan
tergantung bagaimana pengamatan perilaku dicatat (Kabir,
2016).
2. Surveys/ Questionnaires
Kuesioner adalah cara pengumpulan data yang populer
karena dapat memberikan perspektif yang luas serta
merupakan instrumen penelitian yang terdiri dari
serangkaian pertanyaan dan petunjuk lain untuk
mengumpulkan informasi dari responden. Metode ini dapat
dilakukan secara tatap muka, melalui surat, telepon, atau
internet (dapat melibatkan responden dari mana saja di
dunia) (Kabir, 2016).
Kuesioner memiliki kelebihan dibandingkan beberapa jenis
survei lainnya karena murah, tidak memerlukan banyak
upaya, dan seringkali memiliki jawaban terstandardisasi
yang memudahkan pengumpulan data. Survei sering
digunakan ketika informasi dicari dari sejumlah besar orang
atau pada berbagai topik. Survei dapat berisi pertanyaan ya /
tidak, benar/ salah, pilihan ganda, atau pertanyaan terbuka.
Survei yang sama dapat dilakukan pada interval waktu untuk
mengukur perubahan dari waktu ke waktu (Kabir, 2016).
20
Testing Method
Pengujian perangkat lunak dapat dilakukan melalui black box
testing. Pengujian black box didefinisikan sebagai pengujian tingkah
laku yang berpusat pada fungsionalitas software. Fungsionalitas
software diuji tanpa melihat struktur kode internal, rincian
implementasi, dan pengetahuan jalur internal software (Pressman,
Software Engineering: A Practitioner's Approach, Seventh Edition,
2010).
Gambar 2.5 Black Box Testing (Software Testing Fundamentals,
2019)
Black box testing menemukan kesalahan berdasarkan beberapa
kategori. Kategori tersebut yaitu jika terdapat fungsi yang hilang,
kesalahan antarmuka, kesalahan dalam struktur data atau eksternal
akses database, kesalahan kinerja, dan kesalahan terminasi (Pressman,
Software Engineering: A Practitioner's Approach, Seventh Edition,
2010).
Evaluation Method
Evaluasi adalah tentang bersikap terbuka untuk menerima dan
meneruskan feedback dengan menyesuaikan program. Terdapat tiga
jenis utama metode evaluasi yaitu goal based, process based, dan
outcomes based. Goal based mengukur apakah tujuan telah tercapai,
process based menganalisis kelebihan dan kelemahan, dan outcomes
based meneliti dampak yang lebih luas dan sering menyelidiki apa yang
21
sebaiknya dilakukan sebagai hasil dari program atau proyek (Pearce,
2016).
Data Flow Diagram (DFD)
Data Flow Diagram (DFD) merupakan suatu model yang
menggambarkan proses input dan output data dari sistem yang
dikembangkan secara logika. Tujuan dibuatnya DFD adalah agar
pemakai sistem yang kurang memahami bidang komputer dapat
mengerti tentang sistem yang dijalankan (Muhamad Muslihudin,
2016).
Dalam pembuatan DFD terdapat 3 level yaitu:
1. Diagram Konteks
Diagram ini biasanya disebut juga sebagai Level 0 yang
menggambarkan satu lingkaran besar. Lingkaran besar
tersebut mewakili seluruh proses yang terjadi dalam diagram.
Diagram konteks atau diagram level 0 ini merupakan
diagram tingkat tertinggi dalam DFD (Muhamad
Muslihudin, 2016).
2. Diagram Level 1
Diagram level 1 menggambarkan satu lingkaran besar yang
mewakili lingkaran-lingkaran kecil yang terdapat di
dalamnya. Diagram ini merupakan pemecahan dari diagram
konteks dan memuat penyimpanan data (Muhamad
Muslihudin, 2016).
3. Diagram Level 2
Diagram level 2 merupakan diagram yang menguraikan apa
yang ada di dalam diagram level 1 (Muhamad Muslihudin,
2016).
Flowchart
Flowchart adalah diagram yang menggambarkan suatu proses,
sistem atau algoritma komputer. Flowchart banyak digunakan dalam
berbagai bidang untuk mendokumentasikan, mempelajari, dan
22
mengkomunikasikan proses yang kompleks dalam diagram yang jelas
dan mudah dipahami. Flowchart menggunakan simbol persegi
panjang, oval, dan berbagai simbol atau bentuk lainnya yang berpotensi
untuk menentukan jenis langkah dengan menghubungkan panah guna
menentukan aliran dan urutan (Lucid Software, 2019).
Sebagai representasi dari data flow, flowchart berguna dalam
menulis program atau algoritma. Flowchart dapat digunakan untuk
menguraikan logika di balik suatu program. Ini dapat membantu untuk
mengatur gambaran besar dan memberikan panduan saat pembuatan
kode (Lucid Software, 2019).
Kamus Data
Kamus Data (KD) adalah fakta tentang data yang merujuk pada
katalog sistem. Kamus data terdiri dari serangkaian hubungan yang
digunakan untuk menyimpan data. Tidak ada pengguna yang dapat
memodifikasi tabel kamus data secara langsung. Namun, perintah data
manipulation language yang membuat, memodifikasi, dan
menghancurkan elemen struktural database bekerja dengan
memodifikasi baris dalam tabel kamus data (Harrington, 2016).
Kamus data digunakan untuk merancang input dan laporan
database dengan membuat spesifikasi nilai dan satuan yang relevan.
Terdapat beberapa informasi yang ditemukan dalam kamus data, yaitu
definisi kolom yang membentuk setiap tabel, definisi dari struktur
database lain, dan menjelaskan komposisi penyimpanan data
(Harrington, 2016).
Semua akses ke basis data didorong melalui kamus data. Data
dalam kamus data dikenal sebagai metadata. Metadata merupakan
struktur informasi yang menjadikan suatu informasi mudah untuk
dikelola. Metadata seringkali disebut sebagai data tentang data
(Harrington, 2016).
23
8 Golden Rules Interface Design
8 Golden Rules Interface Design merupakan metodologi yang
dicetuskan oleh Ben Shneiderman. Ben Shneiderman adalah seorang
ilmuwan komputer Amerika dan profesor di University of Maryland
Human-Computer Interaction Lab. Karyanya sebanding dengan
pemikir desain kontemporer lainnya seperti Don Norman dan Jakob
Nielsen. 8 Golden Rules Interface Design terdapat dalam buku Ben
Shneiderman yaitu “Designing the User Interface: Strategies for
Effective Human-Computer Interaction” (Shneiderman, Eight golden
rules of interface design (2013), 2015).
8 Golden Rules User Interface yang dimaksudkan adalah sebagai
berikut:
1. Strive for Consistency
Konsistensi dibutuhkan antar halaman dalam suatu aplikasi
dengan memanfaatkan ikon, warna, dan user flow saat
merancang urutan tindakan yang serupa. Konsistensi
memainkan peran penting dengan membantu pengguna
menjadi terbiasa dengan aplikasi (Shneiderman, Eight golden
rules of interface design (2013), 2015).
2. Cater to Universal Usability
Seorang interface designer harus memahami dan
memperhitungkan pengguna yang baru menggunakan
aplikasi dengan pengguna yang sudah terbiasa menggunakan
aplikasi. Untuk pengguna yang sudah terbiasa menggunakan
aplikasi, terdapat permintaan untuk metode penyelesaian
tugas yang lebih cepat, seperti menyediakan shortcut bagi
pengguna (Shneiderman, Eight golden rules of interface
design (2013), 2015).
3. Offer Informative Feedback
Pengguna harus tahu setiap tindakan yang mereka lakukan
dan pengguna paham bahwa tindakan yang dilakukan sudah
direspon oleh aplikasi (Shneiderman, Eight golden rules of
interface design (2013), 2015).
24
4. Design Dialogs to Yield Closure
Poin ini termasuk dari bagian informative feedback. Sistem
menyampaikan bahwa tindakan yang dijalankan pengguna
sudah selesai sehingga pengguna paham bahwa dia tidak
perlu menunggu tahapan lainnya. Contohnya, pesan terima
kasih ketika pengguna telah menyelesaikan pembelian online
(Shneiderman, Eight golden rules of interface design (2013),
2015).
5. Prevent Errors
Sistem harus dirancang sesederhana mungkin, pastikan
pengguna diberikan petunjuk berupa langkah demi langkah
yang sederhana untuk menyelesaikan masalah secepat dan
sesederhana mungkin (Shneiderman, Eight golden rules of
interface design (2013), 2015).
6. Permit Easy Reversal of Actions
Poin ini merupakan poin yang penting dalam perancangan
UX suatu aplikasi. Biasanya poin ini identik dengan tombol
back pada aplikasi online shop di mana ketika pengguna pada
halaman keranjang menekan tombol tersebut, pengguna
dapat explore untuk berbelanja kembali tanpa membatalkan
tindakan pada halaman keranjang atau produk pada halaman
keranjang tidak ter-cancel/ terhapus (Shneiderman, Eight
golden rules of interface design (2013), 2015).
7. Support Internal Locus of Control
Memberi pengguna perasaan bahwa mereka memiliki
kendali penuh dalam penggunaan aplikasi. Hal ini dilakukan
untuk mendapatkan kepercayaan dan meningkatkan
kepuasan dari pengguna (Shneiderman, Eight golden rules of
interface design (2013), 2015).
8. Reduce Short-Term Memory Load
Poin ini bertumpu pada ingatan. Sistem menyediakan data
yang di-input oleh pengguna sehingga pengguna tidak perlu
mengingat data tersebut. Misalnya, pada aplikasi online
shop, pengguna memilih produk yang ingin di-input ke
25
sistem. Sistem langsung menerima input kode barang yang
diinginkan untuk diproses (Shneiderman, Eight golden rules
of interface design (2013), 2015).
Teknologi
Programming Language
JavaScript
JavaScript merupakan bahasa yang paling sederhana,
fleksibel, dan efisien yang dapat digunakan untuk memperluas
fungsi pemrograman. Beberapa manfaat dalam bahasa
pemrograman JavaScript adalah JavaScript lebih mudah
dipahami dibandingkan dengan bahasa pemrograman lainnya,
JavaScript serbaguna dan dapat diaplikasikan ke banyak
program atau aplikasi. Kemudahan penggunaan dan banyak
keuntungan adalah alasan mengapa JavaScript dipilih oleh
banyak programmer di seluruh dunia (Blumenthal, 2017).
Fakta bahwa bahasa pemrograman ini dipakai oleh
banyak programmer dan berkembang. Tentunya browser web
bukanlah satu-satunya platform di mana JavaScript digunakan.
Beberapa platform untuk pemrograman server terutama
Node.js, menyediakan lingkungan untuk memprogram
JavaScript di luar browser (Haverbeke, 2018).
Android
Dalam pengembangan aplikasi Android digunakan Software
Development Kit (SDK) guna mengimplementasikan aplikasi untuk
platform dengan target spesifik. Mengembangkan aplikasi mobile
menggunakan banyak SDK dan framework memotivasi pengembangan
cross-platform software menjadi lebih mudah dan efisien (Mounaim
Latif, 2016).
Lingkungan development merupakan hal yang penting dalam
cross-platform. Inilah sebabnya harus mengintegrasikan semua
26
debugger, compiler, dan intelligent auto-completion system yang
dibutuhkan. Selain itu, diperlukan beberapa sistem simulator seperti
Android untuk mendapatkan visibilitas yang baik pada aplikasi
sebelum deployment (Mounaim Latif, 2016).
Back-End Technology/ Module
Node.js
Node.js dibangun di atas mesin Google Chrome V8 dan
ECMAScript-nya, yang berarti sebagian besar syntax Node.js
mirip dengan front-end JavaScript (implementasi ECMAScript
lainnya) termasuk objek, fungsi, dan metode. Tidak seperti
teknologi pemrograman lainnya, Node.js tidak dikembangkan
dengan standar library yang berat. Inti/ core dari modul Node.js
sangatlah minimum dan sisanya dapat dipilih melalui Node
Package Manager (NPM) registry. Walaupun inti/ core-nya
kecil/ minim, Node.js memiliki modul yang cukup untuk
membangun hampir semua aplikasi jaringan (Mardan, 2018).
Dalam pembuatan mobile apps dengan fondasi Node.js,
developer menulis fungsi JavaScript menggunakan Express
yang berbasis Node.js. Fungsi ini akan mendengarkan
permintaan dari mobile app. Saat permintaan masuk, fungsi ini
akan melihat permintaan dan menentukan bagaimana
merespons (Hahn, 2016).
Dalam gambaran umum, Express menambahkan dua
fitur besar ke server HTTP Node.js:
1. Menambah sejumlah kemudahan yang bermanfaat
untuk server HTTP Node.js (Hahn, 2016).
2. Memungkinkan developer untuk mengubah fungsi
permintaan tunggal menjadi permintaan kecil yang
hanya menangani potongan tertentu (Hahn, 2016).
27
Gambar 2.6 Flow Request melalui Node.js (Hahn,
2016)
Express
Express merupakan framework yang paling populer
yang dapat digunakan dan dibangun di atas Node.js.
menyediakan tingkat penting dalam mengembangkan web
application yang kuat. Munculnya framework web application
Node.js yang fleksibel, membuatnya jauh lebih sederhana,
cepat, dan mengeluarkan effort yang tidak besar (Ben Augarten,
2015).
Tujuan Express yang berada di atas fungsionalitas
Node.js adalah menyederhanakan Application Programming
Interface (API) dan menambahkan fitur baru yang bermanfaat.
Hal tersebut membuatnya lebih mudah untuk pengaturan
fungsionalitas aplikasi dengan middleware dan routing,
memfasilitasi rendering tampilan dinamis, dan mendefinisikan
standar ekstensibilitas yang mudah diimplementasikan (Hahn,
2016).
Dengan menggunakan Express, developer mendapatkan
akses ke sejumlah open source software untuk memecahkan
masalah yang umum pada proses development. (Ben Augarten,
2015).
Koa
Koa adalah framework Node.js baru yang dirancang
oleh tim Express. Koa bertujuan untuk menjadi fondasi yang
lebih kecil, lebih ekpresif, dan lebih kuat untuk web apps dan
28
API. Dengan memanfaatkan fungsi-fungsi async, Koa
memungkinkan developer untuk membuang callback dan
meningkatkan error-handling. Koa tidak mem-bundle
middleware apapun di dalam core-nya (Omole, 2018).
Koa dapat digunakan untuk membuat berbagai web
apps seperti forum, web e-commerce, dan jejaring sosial. Koa
juga bagus untuk membangun layanan seperti Representational
State Transfer (REST) API yang bisa menyediakan data untuk
digunakan oleh aplikasi front-end. REST API yang dibangun
Koa adalah pilihan yang baik untuk aplikasi front-end yang
ditulis dalam JavaScript, Angular, React, Vue.js, atau User
Interface (UI) framework (Omole, 2018).
RabbitMQ
RabbitMQ adalah software antrian pesan yang juga
dikenal sebagai messaging broker atau manajer antrian.
Sederhananya, itu adalah software di mana antrian
didefinisikan, ke mana aplikasi terhubung untuk mengirimkan
pesan. Messaging broker adalah program perantara yang
mengatur pesan yang dikirimkan oleh pengirim (Johansson,
2019).
29
Gambar 2.7 Mengirimkan Pesan dari Pengirim ke
Penerima (Johansson, 2019)
Sebuah pesan dapat menyertakan segala jenis informasi.
Misalnya, bisa memiliki informasi tentang proses atau tugas
yang harus dimulai pada aplikasi lain (bisa dalam server lain),
atau bisa juga hanya pesan teks sederhana. Software manajer
antrian menyimpan pesan sampai aplikasi penerima
menghubungkan dan mengeluarkan pesan dari antrian. Aplikasi
penerima kemudian memproses pesan (Johansson, 2019).
PostgreSQL
PostgreSQL adalah sistem database objek-relasional
open source yang kuat dengan menggunakan dan memperluas
bahasa query SQL yang dikombinasikan dengan banyak fitur.
Asal-usul PostgreSQL berasal dari tahun 1986 sebagai bagian
dari proyek POSTGRES di University of California di Berkeley
dan memiliki lebih dari 30 tahun pengembangan aktif pada core
platform (PostgreSQL, 2019).
PostgreSQL hadir dengan banyak fitur yang bertujuan
membantu developer untuk membangun aplikasi. Terdapat pula
30
peran administrator untuk melindungi integritas data, dan
membantu mengelola data baik besar maupun kecil. Beberapa
fitur PostgreSQL ialah menentukan tipe data dan membangun
fungsi khusus (PostgreSQL, 2019).
Beberapa tipe data dalam PostgreSQL adalah:
1. Boolean
Boolean memiliki tiga nilai yaitu true, false atau null.
Untuk menggunakan tipe data Boolean dapat
dideklarasikan dengan kata kunci ‘boolean’ atau
‘bool’ (PostgreSQL, 2019).
2. Character
PostgreSQL menyediakan tipe data character yaitu
TEXT. Secara teoritis, data TEXT adalah string
karakter dengan panjang yang tidak terbatas
(PostgreSQL, 2019).
3. Temporal Data Type
Tipe data temporal mengizinkan developer untuk
store data dan/ atau waktu data. Salah satu tipe data
temporal adalah TIMESTAMPZ. TIMESTAMPZ
merupakan singkatan dari timestamp dengan time
zone (PostgreSQL, 2019).
4. Numeric
PostgreSQL menyediakan dua tipe angka yang
berbeda yaitu:
a. Integer
Integer merupakan 4-byte integer yang memiliki
jarak antara -2,147,483,648 sampai
2,147,483,647 (PostgreSQL, 2019).
b. Floating-point Number
Float merupakan angka floating-point yang
memiliki tingkat presisi 8 byte (PostgreSQL,
2019).
31
MongoDB
MongoDB adalah database NoSQL berorientasi
dokumen yang dirancang agar fleksibel, dapat diskalakan, dan
berjalan dengan sangat cepat. MongoDB memungkinkan
develop mendistribusikan data di beberapa server (Banker,
2011).
MongoDB diluncurkan sekitar pertengahan tahun 2000-
an dan berada dalam kategori database NoSQL. MongoDB
digunakan untuk menyimpan data dengan volume yang tinggi
(Banker, 2011).
Data dalam MongoDB memiliki skema yang fleksibel.
Tidak seperti dalam database SQL, di mana developer harus
memiliki skema tabel dideklarasikan sebelum memasukkan
data. Koleksi MongoDB tidak menegakkan struktur dokumen.
Fleksibilitas semacam inilah yang akan membuat MongoDB
begitu kuat (Banker, 2011).
Berikut merupakan komponen yang terdapat dalam
MongoDB:
1. Database
Database biasanya disebut sebagai wadah fisik untuk
data. Setiap basis data memiliki set file sendiri yang
ada pada sistem file. Pada server MongoDB tunggal,
terdapat beberapa basis data (Vaishnavi, 2019).
2. Collection
Collection terdiri dari berbagai dokumen dengan
berbagai bidang. Semua collection berada dalam satu
basis data dan tidak menerapkan struktur apapun
sehingga tidak memiliki skema (Vaishnavi, 2019).
3. Document
Kunci dari komponen ini adalah untuk
mendokumentasikan terkait dengan skema dinamis.
Document bisa menyimpan berbagai jenis tipe data
dengan tingkat fleksibilitas yang tinggi, seperti
32
meniadakan key value pair tertentu pada suatu
dokumen, dan menambahkan key value pair tertentu
pada dokumen lainnya, yang ada pada dokumen
selain itu (Vaishnavi, 2019).
Firebase
Firebase adalah platform pengembangan seluler Google
yang membangun dan mengembangkan aplikasi. Developer
dapat menarik produk Google Cloud Platform (GCP) dengan
mudah sesuai yang diinginkan. Firebase memberikan
kebebasan pada developer untuk fokus membuat pengalaman
user yang menakjubkan. Dengan menggunakan Firebase,
developer tidak perlu mengelola server dan tidak perlu menulis
API. Firebase merupakan server, API, dan datastore (Firebase,
2019).
Firebase merupakan layanan Backend as a Service
(BAAS) untuk mempermudah pekerjaan mobile apps
development yang saat ini dimiliki oleh Google. Firebase juga
merupakan bagian dari GCP yang terbagi dalam tiga produk:
Cloud Firestore, Cloud Function, dan Cloud Storage. Produk
ini merupakan produk yang sama seperti di Cloud, cukup
diekspos untuk developer melalui Firebase. Developer dapat
mengakses data yang sama dari SDK server (Cloud) dan SDK
client (Firebase), sehingga tim front-end dan back-end dapat
bekerja secara bersamaan (Firebase, 2019).
Cloud Firestore
Firestore adalah basis data yang fleksibel dan
dapat digunakan untuk untuk pengembangan seluler,
web, dan server dari Firebase melalui Google Cloud
Platform. Firestore berjalan seperti Firebase Realtime
Database yang menyimpan data dalam sinkronisasi di
seluruh aplikasi klien secara real time dan menawarkan
33
dukungan offline untuk seluler dan web sehingga dapat
membuat aplikasi responsif yang berfungsi terlepas dari
latency jaringan atau konektivitas internet. Firestore
juga menawarkan integrasi tanpa batas dengan produk
Firebase dan Google Cloud Platform. Firestore
memiliki model database seperti MongoDB, yakni
NoSQL (Firebase, 2019).
Firebase Cloud Messaging
Firebase Cloud Messaging (FCM) adalah solusi
lintas platform pesan yang memungkinkan mengirim
pesan tanpa dikenai biaya. Dengan menggunakan FCM,
client dapat menerima pesan notifikasi untuk
mendorong keterlibatan dan retensi client. Untuk kasus
penggunaan seperti instant messaging, pesan dapat
mentransfer muatan hingga 4KB ke aplikasi client
(Firebase, 2019).
Implementasi FCM mencakup dua komponen
utama untuk mengirim dan menerima pesan:
1. Lingkungan terpercaya seperti fungsi Cloud
untuk Firebase atau app server sebagai
tempat membuat, menargetkan, dan mengirim
pesan (Firebase, 2019).
2. Aplikasi client pada iOS, Android, atau web
(JavaScript) yang menerima pesan melalui
platform-specific transportasi khusus
(Firebase, 2019).
Pesan dapat dikirim melalui Firebase Admin
SDK atau protokol server FCM. Untuk menguji atau
mengirim pesan, dapat dilakukan dengan menggunakan
composer notifikasi (Firebase, 2019).
34
Amazon Web Services
Amazon Web Service (AWS) merupakan platform cloud
terbesar dan paling komprehensif di dunia. AWS menawarkan
lebih dari 175 layanan, di antaranya yakni penyimpanan data,
machine learning, artificial intelligence, data lake, komputasi
cloud, dan lainnya. AWS memudahkan bisnis berbasis
teknologi untuk mempercepat proses development dan
deployment dengan mempermudah abstraksi dari
pengembangan suatu aplikasi melalui cloud services/ layanan
yang disediakan. (Amazon Web Services, aws, 2019).
Elastic Compute Cloud (EC2)
AWS Elastic Compute Cloud (EC2) merupakan
layanan web yang memberikan kapasitas kemudahan
dan kemampuan komputasi fleksibel di cloud berupa
instance / server. Dengan berbagai tipe instance / server
yang disediakan, AWS EC2 memungkinkan customer
untuk mendapatkan tipe instance yang sesuai untuk
kebutuhannya. Beberapa tipe instance EC2 yakni T
yang digunakan untuk aplikasi bersifat periodik (aktif
pada waktu tertentu), C yang digunakan untuk aplikasi
bersifat compute-intensive, seperti artificial intelligence
model training, dan R yang digunakan untuk memory-
intensive task, seperti Redis, ElasticSearch, dan lain
sebagainya. (Amazon Web Services, Amazon EC2
Instance Types, 2019).
Simple Storage Service (S3)
AWS Simple Storage Service (S3) merupakan
layanan penyimpanan file yang mengedepankan
scalability, availability, security, dan performance dari
jasa yang ditawarkan. S3 didesain untuk memiliki
35
durabilitas sebesar 99.99999999999% (11 buah angka 9
di belakang koma), oleh karena itu, melalui S3, client
dapat menyimpan berbagai data, mulai dari yang
bersifat kritis, seperti informasi pembayaran, sampai ke
data complementary, seperti gambar yang di-upload
oleh user (Amazon Web Services, Amazon S3, 2019).
Relational Database Service (RDS)
AWS Relational Database Service (RDS)
merupakan layanan database relasional yang
ditawarkan oleh AWS. Melalui RDS, client dipermudah
dengan berbagai otomisasi yang dilakukan oleh RDS,
seperti backup data secara otomatis, maintenance /
minor upgrade secara otomatis, dan lain sebagainya.
Dengan menyediakan berbagai pilihan database engine,
client dapat memilih engine yang sesuai dengan use
case dari perusahaan / bisnis yang dimiliki. Pilihan yang
ada yakni Amazon Aurora, PostgreSQL, MySQL,
Oracle, dan lain sebagainya (Amazon Web Services,
Amazon Relational Database Service (RDS), 2019).
Gravatar
Gravatar merupakan layanan software as a service.
Gravatar memungkinkan site / application owners untuk
menyediakan fitur avatar pada user-nya secara cuma-cuma
melalui public API yang disediakan oleh Gravatar. Gravatar
men-generate avatar dari user berdasarkan hasil hash dari
alamat email user (Matt, 2002).
36
Front-end Technology/ Module
React Native
React Native merupakan framework yang dibuat
oleh Facebook yang mengizinkan developer untuk
mengembangkan native mobile apps untuk iOS dan
Android. Framework React Native menggunakan
library React untuk membuat native mobile app.
Perbedaan penting antara React dan React Native
adalah bahwa React Native menggunakan komponen
native daripada komponen web untuk membuat user
interface (Trnka, 2018).
React Native memungkinkan untuk
menggunakan 1 JavaScript codebase untuk dua
platform yang berbeda. Ini berarti bahwa tidak hanya
lebih mudah untuk mempertahankan aplikasi dengan
memiliki proses pengembangan yang sama untuk
kedua platform dan menggunakan kembali code yang
sama, tetapi juga membutuhkan lebih sedikit sumber
daya karena tidak perlu menggunakan tim iOS dan
Android secara terpisah (Trnka, 2018).
React
React merupakan library yang dikembangkan oleh
Facebook, digunakan untuk mengembangkan komponen user
interface (UI). Menurut dokumentasi resmi React, React pada
dasarnya memungkinkan untuk membuat aplikasi berbasis web
yang besar dan kompleks serta dapat mengubah data tanpa
refresh halaman berikutnya. React biasanya melakukan render
menggunakan server Node.js dan support untuk mobile apps
yang menggunakan React Native (Aggarwal, 2018).
37
Berikut merupakan ciri yang terdapat pada React:
1. Easy Learning Curve
Sifat React mudah dan tidak rumit. Arsitekturnya
mudah dan gagasan menggunakan JSX dapat diterima
oleh developer dengan framework yang mudah
(Aggarwal, 2018).
2. JSX
JSX adalah bahasa yang sangat mirip dengan HTML.
JSX merupakan syntax khusus JavaScript yang
digunakan React. JSX selalu ditulis dengan awalan
huruf kapital seperti <App />. Ini adalah konvensi
yang digunakan oleh React, yang memungkinkannya
untuk memisahkan antara tag HTML reguler dan
komponen React yang telah dibuat (Aggarwal, 2018).
3. Performance
React dikenal sebagai performer yang sangat efisien.
Ini adalah salah satu faktor yang membuat framework
React lebih menonjol dibanding framework lainnya.
Alasan framework ini memiliki kinerja yang sangat
efisien adalah fitur virtual Document Object Model
(DOM) (Aggarwal, 2018).
4. Virtual DOM
React dirancang sedemikian rupa sehingga data flow
yang searah diizinkan dan didukung. Ini mirip dengan
DOM yang dihasilkan oleh browser tetapi dengan
perbedaan yang disimpan itu memori. Cara kerja
virtual DOM cukup sederhana, setiap kali permintaan
untuk mengubah konten halaman dibuat,
perubahannya tercermin terlebih dahulu ke memori
yang berada pada virtual DOM. Setelah itu algoritma
diff() membandingkan keduanya yaitu virtual DOM
dan browser DOM kemudian perubahan yang
diperlukan hanya tercermin pada DOM browser,
bukan rendering seluruh DOM (Aggarwal, 2018).
38
Penelitian yang Terkait
Cyberbullying di Media Sosial Berpengaruh Terhadap Psikologis
Korban
Cyberbullying dapat mempengaruhi psikologis korban yang
mengakibatkan meningkatnya perasaan sedih dan kesendirian (self-loneliness).
Berdasarkan survei yang dilansir oleh Latitude News, Indonesia merupakan
negara yang terlibat dalam kasus cyberbullying tertinggi kedua di dunia
menyusul posisi pertama yang ditempati oleh Jepang (PT. Media Sarana Data
Web Team, 2016). Media sosial dengan tingkat cyberbullying yang paling
tinggi adalah Facebook sebesar 74%, dan 44% melalui media sosial lainnya
(PT. Media Sarana Data Web Team, 2016).
Dilihat dari penelitian pada Universitas Pengadilan Georgia, sekitar
12% orang dari total hasil penelitian mengindikasikan bahwa mereka telah
melakukan cyberbullying setidaknya sekali. Dalam kebanyakan kasus, pelaku
adalah teman dari korban, orang asing, saudara, serta guru. Tanggapan korban
terhadap penindasan cyberbullying bervariasi, seperti tidak melakukan apa-
apa, melaporkan tindakan cyberbullying ke pihak berwajib, memblokir pelaku
di media sosial, dan lainnya (Kowalsk, 2015).
Terlibat dalam kasus cyberbullying akan memiliki beberapa dampak
dan lebih condong ke arah negatif. Menurut ahli, beberapa dampak
cyberbullying adalah:
1. Stres dan Depresi
Korban cyberbullying rentan merasa malu dan merasa dirinya
disingkirkan dari interaksi sosial di sekitarnya. Oleh karena hal
tersebut, efek dari perasaan malu dan tersingkir dari interaksi
sosialnya akan menimbulkan serta meningkatkan perasaan sedih
hingga membentuk stres dan depresi pada korban cyberbullying
(Retno, 2017).
2. Gangguan Kesehatan Mental
Salah satu studi longitudinal yang dilaksanakan oleh sekelompok
ilmuwan di Norwegia menyatakan bahwa semua individu maupun
kelompok yang terlibat dalam kategori bullying selama masa remaja,
39
berdampak kepada gangguan kesehatan mental yang buruk di masa
dewasa (Hurley, 2018).
3. Prestasi Menurun
Sebuah studi University of California (UCLA) terhadap 2.300 siswa
di 11 sekolah menengah di Los Angeles menemukan bahwa siswa
yang mengalami cyberbullying memiliki kinerja akademis yang jauh
lebih buruk daripada siswa yang tidak mengalami kasus
cyberbullying (Hurley, 2018).
4. Tidak Ada Privasi
Korban cyberbullying akan merasa dirinya dihina dan terekspos.
Ketika seseorang melakukan posting dalam media sosial, maka post
tersebut dapat dibagikan ke orang banyak yang tak terhitung
jumlahnya. Kenyataan bahwa informasi tersebut dapat diakes oleh
banyak orang dapat membuat korban cyberbullying putus asa (Tusk,
2018).
5. Merasa Terisolasi
Penindasan yang terjadi di media sosial dapat menyebabkan
seseorang dikeluarkan dan diasingkan dalam kelompok sosialnya.
Adanya isolasi hanya akan memperkuat status korban tersebut
sebagai target yang ‘dapat diterima’ sebagai sasaran cyberbullying
dan korban akan memutuskan akses internet dari kehidupannya.
Tanpa internet di zaman sekarang ini, tentunya korban akan
terasingkan dan komunikasi dengan dunianya terputus. Pengalaman
ini tentunya menyakitkan khususnya bagi remaja karena pergaulan
dengan teman adalah hal yang penting bagi mereka (Tusk, 2018).
Fitur Laporkan sebagai Bentuk Penanganan Cyberbullying
Fitur laporkan (report) merupakan fitur di mana pengguna dapat
melaporkan konten ataupun pengguna yang dianggap sudah melewati batas-
batas moral tertentu. Fitur ini mendukung salah satu tujuan dari adanya aplikasi
berbasis anonim, yaitu menyediakan wadah curhat tanpa merasa di-judge oleh
orang lain. Aplikasi berbasis anonim tidak dapat menjamin bahwa konten dan
40
komentar yang disampaikan benar-benar tidak mengandung kesan
cyberbullying. Beberapa Aplikasi anonim, salah satunya Yik Yak memberikan
fitur laporkan jika pengguna dirasa telah melanggar beberapa aturan yang telah
diterapkan oleh pihak Yik Yak (Black, 2016).
Berikut ada 6 aturan yang diberlakukan oleh aplikasi anonim Yik Yak:
1. You do not bully or specifically target other yikkers.
2. You DO NOT bully or specifically target other yikkers.
3. Zero-tolerance policy on posting people's private information.
4. Don't clutter people's feeds with useless or offensive yaks. If you see
a useless or offensive yak, make sure to do your part by downvoting
or reporting it.
5. If your yaks continue to be reported, you will be suspended.
6. Ride the Yak.
Media Sosial Mendukung Kesehatan Mental
Gambar 2.8 Data Penelitian Penggunaan Media Sosial Mendukung
Kesehatan Mental (Naslund, 2019)
Dari data penelitian di atas, dapat disimpulkan bahwa media sosial
dapat berfungsi sebagai platform penting untuk memperluas jangkauan serta
menambah program dan layanan kesehatan mental untuk orang yang
mengalami gangguan jiwa (Naslund, 2019).