aplikasi tutorial berbasis desktop untuk … fileaplikasi tutorial berbasis desktop untuk pemahaman...
TRANSCRIPT
1
APLIKASI TUTORIAL BERBASIS DESKTOP UNTUK PEMAHAMAN MATERI SQL
MENGGUNAKAN KONSEP GAMIFICATION
Eki Indradi1
Ridho Taufiq2, Petrus Sokibi
3
Sekolah Tinggi Manajemen Informatika dan Komputer CIC Cirebon Jawa Barat Indonesia
Jl.Kesambi 202, Kota Cirebon, Jawa Barat.Tlp : (0231)220250.
E-mail : [email protected]
Abstrak
Saat ini perkembangan dan manfaat teknologi di bidang pendidikan telah mengubah bentuk pendidikan
menjadi lebih modern dan memberi pengalaman belajar yang menyenangkan. Hasil analisis berdasarkan kuesioner
yang penulis lakukan pada mahasiswa STMIK CIC Cirebon, dengan 14 responden mahasiswa diperoleh: 28,57%
responden sudah menguasai bahasa SQL. Untuk menyelesaikan mata kuliah basis data diperlukannya pemahaman
materi SQL.
Pada penelitian ini penulis membuat aplikasi tutorial untuk pemahaman materi SQL menggunakan
konsep Gamification. Dalam analisa sistem penulis menggunakan tools UML. Aplikasi ini menggunakan bahasa
pemograman Visual Basic.Net, menggunakan database SQLite, database MySQL dan menggunakan internet.
Hasil dari penelitian ini adalah berupa aplikasi yang memudahkan pengguna untuk mempelajari bahasa
SQL, memberikan motivasi pada pengguna untuk memahami materi SQL, serta agar mahasiswa dapat
menyelesaikan pembelajaran matakuliah basis data dalam mempelajari bahasa SQL.
Kata kunci : Structured Query Language, Tutorial, Gamification, Desktop
ABSTRACT
Currently the development and benefits of technology in education has turned into more modern forms of
education and provide a fun learning experience. The results of analysis based on a questionnaire that the author
did on students STMIK CIC Cirebon, with 14 student respondents obtained: 28.57% of respondents have mastered
the SQL language. To complete the course database SQL need for understanding the materials.
In this study the authors make an application tutorial for understanding the materials SQL uses the concept
of gamification. In the analysis of the authors system using UML tools. This application uses the programming
language Visual Basic.Net, using SQLite database, MySQL database and use the internet.
The results of this study are in the form of an application that allows users to learn the SQL language, to
motivate users to understand the material SQL, as well as to allow students to complete the learning subjects in the
study database language SQL.
Keyword : Structured Query Language, Tutorial, Gamification, Desktop
1. Pendahuluan
Saat ini perkembangan teknologi di bidang pembuatan sebuah aplikasi semakin berkembang dengan pesat
berpengaruh terhadap ilmu pengetahuan dan kehidupan masyarakat. Komputer yang canggih dalam waktu yang
relatif singkat telah mencapai pada setiap bidang pekerjaan dan lapisan masyarakat, manusia dituntut untuk
menyesuaikan perkembangan zaman. Seiring dengan perkembangan ini semakin banyak aplikasi yang berfungsi
untuk membantu memecahkan suatu permasalahan ataupun pekerjaan, pada dasarnya teknologi membuat pekerjaan
manusia lebih efisien. Teknologi yang digunakan semakin mempermudah dan mempercepat proses pembuatan
sebuah aplikasi tersebut. Sering dalam kehidupan ini, salah satu pengaruhnya yaitu pemanfaatan teknologi informasi
di bidang pendidikan. Seperti pemanfaatan teknologi informasi di bidang pendidikan adalah tutorial. Tutorial atau
tutoring adalah bantuan atau bimbingan belajar yang bersifat akademik oleh tutor kepada mahasiswa untuk
membantu kelancaran proses belajar mandiri mahasiswa secara perorangan atau kelompok berkaitan dengan materi
ajar (Rio Mayoka, 2011). Tutorial dalam pembelajaran komputer ditujukan sebagai pengganti tutor (manusia) yang
proses pembelajarannya diberikan lewat teks, grafik, suara, video dan animasi yang juga menyediakan poin-poin
2
pertanyaan dan permasalahan, jika respon siswa salah maka komputer akan mengulangi materi sebelumnya atau
secara otomatis akan di kembalikan pada slide sebelumnya dan akan terus berulang selama pengguna belum berhasil
(Rudi Susilana & Cepi Riyana, 2008).
SQL merupakan bahasa basis data yang paling popular saat ini. SQL adalah kependekan dari Structured
Query Language yaitu sekumpulan perintah khusus yang digunakan untuk mengakses data dalam database
relasional, SQL tidak seperti bahasa percakapan (seperti bahasa Inggris, bahasa Indonesia dan lain sebagainya ) dan
juga tidak seperti bahasa pemrograman komputer lainnya karena SQL memiliki sedikit kata. SQL bukanlah bahasa
milik vendor database perorangan karena hampir semua database mendukung SQL, sehingga dengan mempelajari
SQL pengguna dapat berinteraksi dengan hampir semua database yang beredar. semua statement SQL dibuat
berdasarkan kata-kata bahasa dalam bahasa Inggris yang umum. Meskipun kedengarannya sederhana namun SQL
merupakan bahasa yang kuat, dan dengan keahlian menggunakan bahasa tersebut, pengguna dapat mengoperasikan
database yang kompleks dan sulit.
Berdasarkan hasil analisis kuesioner dengan 7 pertanyaan untuk mengetahui pengetahuan mahasiswa
terhadap SQL yang penulis sebarkan kepada mahasiswa STMIK CIC Cirebon menggunakan data primer pada
program studi Teknik Informatika semester 4 dan Sistem Informasi semester 4 dengan metode penarikan sampel
yang digunakan adalah Non Probability Sampling, yaitu dengan metode Convinience Sampling, hasil analisa pada
14 responden mahasiswa diperoleh: 28,57% responden sudah menguasai bahasa SQL, 50% responden menyatakan
bahwa bahasa SQL sulit untuk di mengerti, 85,71% responden menyukai pembelajaran bahasa SQL, 92,86%
responden sering membuat salinan ketika mengerjakan tugas SQL sebelum dikumpulkan, 50% responden sering
mencatat ketika mendapatkan contoh atau materi query SQL baik itu dari internet, buku atau sumber lainnya,
35,71% responden menyatakan sering mempelajari bahasa SQL secara mandiri, dan 50% responden merasa bosan
atau malas ketika mempelajari bahasa SQL secara mandiri. Maka dapat disimpulkan berdasarkan hasil kuesioner,
masih banyak mahasiswa yang belum mengusai bahasa SQL dan kurangnya kesadaran mahasiswa dalam
mempelajari bahasa SQL .
Gamification adalah sebuah proses yang bertujuan mengubah non-game contex (contoh: belajar, mengajar,
pemasaran, dan lain sebagainya) menjadi jauh lebih menarik dengan mengintegrasikan game thinking, game design,
dan game mechanics (Risal, 2013). Penggunaan gamification sangat efektif untuk membuat pekerjaan yang biasanya
membosankan, kurang menyenangkan, atau kurang menantang, menjadi jauh lebih menyenangkan untuk dilakukan
(contoh: mengisi survei, mengisi borang pajak, menulis paper, dan lain sebagainya). Salah satu pendekatan yang
dapat dilakukan adalah dengan memberikan sebuah penghargaan baik virtual atau non-virtual yang dapat
mendorong seseorang untuk melakukan “lebih” daripada yang lain.
Dengan masalah tersebut penulis berkeinginan untuk membuat sebuah aplikasi yang dikembangkan
berbasis desktop untuk mempelajari bahasa SQL yang berjudul “Aplikasi Tutorial Berbasis Desktop untuk
Pemahaman Materi SQL Menggunakan Konsep Gamification”, dan diharapkan aplikasi ini dapat berguna bagi
pengguna yang ingin mengasah potensinya dalam mempelajari bahasa SQL.
1.1. Identifikasi Masalah
a. Kurangnya daya tarik atau minat mahasiswa dalam mempelajari bahasa SQL dan adanya faktor bosan atau malas
sehingga banyak mahasiswa yang kesulitan untuk memperlajari bahasa SQL secara mandiri.
b. Tidak ada hal yang menyemangatkan atau memotivasi dalam mempelajari bahasa SQL.
c. Kurangnya kesadaran mahasiswa untuk menyimpan contoh query SQL apa bila mendapatkannya baik itu dari
internet, buku dan lain sebagainya, sering kali mahasiswa malas atau lupa mencatat maka ketika mahasiswa
membutuhkan contoh query SQL kembali harus mencari kembali sehingga waktu pembelajaran menjadi tidak
efisien.
1.2. Tujuan Penelitian
a. Mengembangkan minat, menghasilkan generasi didik yang mampu menggunakan bahasa SQL.
b. Agar mahasiswa dapat menyelesaikan pembelajaran dalam mempelajari bahasa SQL.
c. Adanya konsep gamification agar mahasiswa merasa senang dan tidak bosan saat menggunakan aplikasi
pembelajaran bahasa SQL, bersemangat, terus termotivasi, dan menjadi jauh lebih menyenangkan untuk
dilakukan, karena memberikan sebuah penghargaan baik virtual atau non-virtual yang dapat mendorong
seseorang untuk melakukan “lebih” dari pada yang lain.
d. Meningkatkan kesadaran mahasiswa dalam mempelajari bahasa SQL secara mandiri.
3
2. Kajian Pustaka
2.1. Tutorial
Menurut Rudi Susilana dan Cepi Riyana, Model tutorial dimana siswa dikondisikan untuk mengikuti alur
pembelajaran yang sudah terprogram dengan penyajian materi dan latihan soal. Model tutorial sangat menuntut
siswa menguasai materi secara tuntas, sehingga sebelum setiap segmen materi terkusai belum bisa berlanjut ke
materi berikutnya. Tutorial berisi: tujuan, meteri, dan evaluasi, tujual model Tutorial adalah memberikan
“kepuasan” atau pemahaman secara tuntas (mastery learning) kepada siswa mengenai materi pembelajaran yang
dipelajari. Menurut kamus besar bahasa Indonesia, tutorial dari kata tuw‟towrial, tyuw-/kb Guru pribadi, --kkt
mengajar di rumah, mengajar ekstra, memberi les, pegajaran tambahan, pengajaran pribadi. Beberapa pengertian
tersebut merupakan arti umum di masyarakat tentang tutorial. Tutorial dalam pembelajaran komputer ditujukan
sebagai pengganti tutor (manusia) yang proses pembelajarannya diberikan lewat teks, graik, suara, video dan
animasi yang juga menyediakan poin-poin pertanyaan dan permasalahan, jika respon siswa salah maka komputer
akan mengulangi materi sebelumnya atau secara otomatis akan di kembalikan pada slide sebelumnya dan akan terus
berulang selama pengguna belum berhasil.
Tutorial atau tutoring adalah bantuan atau bimbingan belajar yang bersifat akademik oleh tutor kepada
mahasiswa untuk membantu kelancaran proses belajar mandiri mahasiswa secara perorangan atau kelompok
berkaitan dengan materi ajar (Rio Mayoka, 2011).
2.2. Aplikasi Desktop
Aplikasi desktop adalah aplikasi yang dapat berjalan secara sendiri atau independen dalam sistem
desktop komputer atau laptop dan dapat menjalankan serangkaian aktivitas dengan diatur oleh pengguna.
(Neobytesolutions, 2012).
Aplikasi desktop menurut Konixbam adalah suatu aplikasi yang dapat berjalan sendiri atau
independen tanpa menggunakan browser atau koneksi internet di suatu komputer otonom, dengan sistem
operasi atau platform tertentu (Konixbam, 2009).
.NET Platform, .NET seringkali juga dapat diartikan sebagai platform, yang merupakan suatu lingkungan
terpadu untuk pengembangan dan eksekusi untuk berbagai macam bahasa pemrograman dan kumpulan library
untuk bekerja sama membuat dan menjalankan aplikasi berbasis Windows yang lebih mudah untuk dibuat, diatur,
didistribusikan, dan diintegrasikan dengan sistem jaringan lain (Id.wikipedia, 2016).
ADO.NET adalah teknologi akses data dari Microsoft .NET Framework yang menyediakan komunikasi
antara sistem relasional dan non-relasional melalui seperangkat komponen. ADO.NET adalah satu set komponen
perangkat lunak komputer yang programmer dapat digunakan untuk mengakses data dan layanan data dari database.
Ini adalah bagian dari library kelas dasar yang termasuk Microsoft .NET Framework. Hal ini umumnya digunakan
oleh programmer untuk mengakses dan memodifikasi data yang tersimpan dalam sistem database relasional,
meskipun juga dapat mengakses data dalam sumber-sumber non-relasional. ADO.NET dianggap sebagai evolusi
ActiveX Data Objects teknologi (ADO), tetapi berubah begitu luas sehingga dianggap sebagai produk baru
(En.wikipedia, 2016). Aplikasi Desktop (.NET Platform) disimpulkan, yaitu aplikasi yang dapat berjalan secara sendiri atau
independen dalam sistem desktop komputer atau laptop menggunakan sistem operasi atau platform tertentu,
dengan perkembangan teknologi ADO.NET dan .NET Framework maka aplikasi lebih mudah untuk dibuat, diatur,
didistribusikan, dan diintegrasikan dengan sistem jaringan lain sehingga aplikasi mampu terhubung internet.
2.3. Structured Query Language
SQL adalah kependekan dari Structured Query Language yaitu sekumpulan perintah khusus yang
digunakan untuk mengakses data dalam database relasional (Alan Beaulieu, 2009). Secara umum, SQL terdiri dari
dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL
dan DML berbeda untuk tiap sistem manajemen basis data (SMBD) (Troels Arvin, 2007). Namun secara umum
implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI (American National Standards Institute) (Id.wikipedia, 2008).
2.4. Gamification
Menurut G. Zichermann, C. Cunningham, Gamification adalah proses cara berpikir game (game thinking)
dan mekanika game (game mechanics) untuk melibatkan pengguna dan memecahkan masalah. Definisi
serupa tetapi lebih umum menurut S. Deterding, D. Dixon, R. Khaled dan L. Nacke, Gamification adalah
penggunaan elemen desain yang membentuk sebuah game dalam konteks non-game.
4
2.4.1. Game Mechanics
Menurut G. Zichermann dan C. Cunningham ada tujuh elemen utama dalam merancang gamified system
yang baik.
a. Points: Merupakan hal paling penting dalam gamified system. Semua gamified system pasti mengakomodir
points baik dalam bentuk yang terlihat maupun yang tidak terlihat (background). Gamified system yang baik
akan selalu mencatat prilaku dari pemain dalam bentuk point.
b. Levels: Merupakan sarana untuk menunjukan perkembangan dari seorang pemain. Level dapat ditunjukkan
dalam bentuk progress bar, icon, atau metaphor (bronze, silver, gold, dan platinum).
c. Leaderboards: Digunakan sebagai fasilitas untuk membandingkan satu pemain dengan pemain lainnya. Pada
leaderboard modern pemain akan dibandingkan dengan 2-5 pemain di atas/bawah, dengan demikian pemain
akan selalu ada di posisi tengah. Hanya ketika pemain masuk ke sepuluh besar maka akan ditampilkan high-
score. Berbeda dengan game classic yang akan menampilkan high-score dari awal, sehingga akan mematahkan
semangat pemain baru.
d. Badges: Dapat digunakan untuk berbagai hal, salah satunya digunakan untuk menunjukan level pemain.
Penggunaan badge yang tidak tepat dan berlebihan dapat menyebabkan badge menjadi tidak bernilai.
e. Challenges/quests: Digunakan oleh sistem untuk memberikan tantangan dan memberikan petunjuk pada pemain
mengenai yang dapat dilakukan untuk dapat melanjutkan ke level yang lebih tinggi.
f. Onboarding: Merupakan sebuah upaya untuk membantu pemain pemula yang masuk ke dalam game. Gamified
system yang baik akan memberikan sedikit opsi di awal kemudian berangsur opsi tersebut bertambah
berjalannya waktu (level pemain).
g. Engagement loops: Gamified system yang baik akan membuat pemain berada dalam pengulangan keterlibatan
(engagement loop), sedemikian rupa sehingga pemain akan selalu kembali (addictive). Engagement loop terdiri
dari 4 langkah; motivating emotion, social call to action, player re-engagement, dan visible progress reward.
Motivating emotion (memotivasi emosi): Mendorong (calon) pengguna untuk mencoba/menggunakan
aplikasi.
Social call to action (ajakan sosial untuk melakukan tindakan): Memberikan reward berupa status pada
pengguna lainnya dan mengajak pengguna lain untuk melakukan tindakan yang serupa.
Player re-engagement (memperbaiki keterikatan pengguna): Memberikan langkah lanjutan pada pengguna
untuk maju ke langkah selanjutnya.
Visible progress/reward (perkembangan/penghargaan yang dapat dilihat secara visual): Memberikan status
perkembangan atau penghargaan yang dapat dilihat oleh pengguna lain baik berupa status teks, berupa citra
(ikon tertentu), maupun berupa progress bar.
3. Perancangan Sistem
3.1. Analisa Sistem
Berdasarkan hasil analisis kuesioner dengan 7 pertanyaan untuk mengetahui pengetahuan mahasiswa
terhadap SQL yang penulis sebarkan kepada mahasiswa STMIK CIC Cirebon menggunakan data yang diperoleh
langsung dari responden (data primer) pada program studi Teknik Informatika semester 4 dan Sistem Informasi
semester 4 dengan metode penarikan sampel yang digunakan adalah Non Probability Sampling yaitu teknik
sampling yang tidak memberikan kesempatan (peluang) pada setiap anggota populasi untuk di jadikan anggota
sampling (Ridwan, 2003), dengan metode Convinience Sampling yaitu sebagai kumpulan informasi dari anggota-
anggota populasi yang mudah diperoleh dan mampu menyediakan informasi tersebut (Uma Sekaran, 2003), hasil
analisa pada 14 responden mahasiswa diperoleh: 28,57% responden sudah menguasai bahasa SQL, 50% responden
menyatakan bahwa bahasa SQL sulit untuk di mengerti, 85,71% responden menyukai pembelajaran bahasa SQL,
92,86% responden sering membuat salinan ketika mengerjakan tugas SQL sebelum dikumpulkan, 50% responden
sering mencatat ketika mendapatkan contoh atau materi query SQL baik itu dari internet, buku atau sumber lainnya,
35,71% responden menyatakan sering mempelajari bahasa SQL secara mandiri, dan 50% responden merasa bosan
atau malas ketika mempelajari bahasa SQL secara mandiri. Maka dapat disimpulkan berdasarkan hasil kuesioner,
masih banyak mahasiswa yang belum mengusai bahasa SQL dan kurangnya kesadaran mahasiswa dalam
mempelajari bahasa SQL.
3.1.1. Use Case Diagram
Use Case Diagram merupakan diagram yang menggambarkan semua fungsionalitas yang akan ditangani oleh
perangkat lunak beserta aktor atau pelakunya. Sebuah use case mempresentasikan sebuah interaksi antara aktor
dengan aplikasi.
5
Dibawah ini merupakan usecase diagram terdapat dalam sistem.
Gambar 1. Use Case Diagram Aplikasi Tutorial Berbasis Desktop untuk Pemahaman Materi SQL Menggunakan
Konsep Gamification.
3.1.2. Class Diagram
Diagram kelas adalah diagram UML yang menggambarkan kelas-kelas dalam sebuah sistem dan
hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi.
a. Class Diagram Menggunakan SQL Editor
Gambar 2. Class Diagram Menggunakan SQL Editor
6
b. Class Diagram Menggunakan Menu Example
Gambar 3. Class Diagram Menggunakan Menu Example
c. Class Diagram Pendaftaran Account
Gambar 4. Class Diagram Pendaftaran Account
d. Class Diagram Fitur Log in
Gambar 5. Class Diagram Fitur Log In
7
3.1.3. Desain Gamification
Penerapan Gamification yang penulis akan implementasi pada aplikasi adalah dengan menggunakan teori
Game Mechanic menurut G. Zichermann dan C. Cunningham. Pada bagian ini akan menjelaskan desain Game
Mechanic untuk diimplementasikan pada aplikasi tutorial yaitu berupa Point, Levels, Leaderboards, Badge,
Challenges/quests, Onboarding, dan Engagement loops (Motivating emotion, Player re-engagement dan Visible
progress/reward).
1. Point
Point yang akan diimplementasikan pada aplikasi adalah berupa score, score akan bertambah apabila
pengguna berhasil menjawab pertanyaan (Quests) yang ada pada aplikasi. Score dapat ditunjukan oleh user kepada
user lain sebagai status user dalam aplikasi dengan cara user harus masuk dalam daftar leaderboards. Score
berpengaruh kepada level user maka untuk naik ke level selanjutnya pengguna harus memiliki score yang cukup.
Tabel 1. Kegiatan untuk menambahkan Score User
Kegiatan Deskripsi
Menjawab Quest Score didapat jika pengguna menjawab quests dengan benar dan
score yang diperoleh tergantung dari tingkat kesulitan (Skill
Bracket) quest yang ada pada aplikasi.
2. Levels
Levels yang akan diimplementasikan pada aplikasi dengan nama rank, rank dibuat agar user bangga
dengan rank yang dimilikinya. Tujuannya untuk memotivasi user agar terus melakukan kegiatan dalam aplikasi
untuk mendapatkan score. Penulis terinspirasi dengan profile user yang ada pada forum online KASKUS, sehingga
level user (rank) yang penulis implementasikan pada aplikasi hampir serupa dengan profile user pada forum online
KASKUS.
Tabel 2. Rank User pada Aplikasi
Rank Minimal Score Maksimal
Score
SQL Student 0 99
SQL User 100 499
Aktivis SQL 500 749
SQL Holic 750 999
SQL Addict 1000 3999
SQL Maniac 4000 9999
SQL Geek 10000 24999
SQL Freak 25000 49999
Master SQL 50000 ~
3. Leaderboards
Leaderboards yang akan diimplementasikan pada aplikasi yaitu berupa papan perbandingan user, dengan
cara membandingkan nilai score tertinggi sampai dengan terendah dari user.
4. Badge
Badge yang akan diimplementasikan pada aplikasi yaitu merupakan reward untuk menghargai user dengan
syarat tertentu. Setiap badge memiliki syarat untuk mendapatkannya. Contoh : Badge “BEST TOP USER MAY
2016” di dapat apabila user termasuk dalam daftar leaderboard pada tanggal 31 mei 2016.
5. Challenges/quests
a. Pengenalan dota 2
Dota 2 adalah sebuah permainan Multiplayer online battle arena (MOBA) atau dikenal lebih umum dengan
Action Real-Time Strategy (ARTS), merupakan sekuel dari Defense of the Ancients mod pada Warcraft 3 : Reign of
Chaos dan Warcraft 3 : The Frozen Throne. DotA 2 dikembangkan oleh Valve Corporation, terbit juli 2013 dota 2
dapat dimainkan secara gratis pada operation system Microsoft Windows, OS X dan Linux. Dota 2 dapat dimainkan
secara eksklusif melalui distributor resmi valve, Steam. (Id.wikipedia, 2016).
Dota 2 dimainkan oleh 2 team yang beranggota 5 orang pemain, setiap tim memiliki markas yang berada
dipojok peta, setiap markas memiliki satu bangunan bernama "Ancient", Di mana tim harus berusaha
8
menghancurkan "Ancient" tim lainnya agar dapat memenangkan pertandingan. Setiap pemain mengontrol satu
karakter "Hero" yang berfokus pada menaikan level, mengumpulkan gold, membeli item dan melawan tim lawan
untuk menang. (Id.wikipedia, 2016).
b. Skill Bracket pada game DOTA 2.
Penulis terinspirasi dari sebuah game online DOTA 2, game tersebut mengklasifikasikan pemain dengan
tiga golongan yaitu Normal Skill, High Skill dan Very High Skill, sehingga pemain akan dihadapkan dengan pemain
yang memiliki skill bracket yang sama untuk berhadapan dalam sebuah game, maka permainan menjadi lebih
seimbang. Terdapat fitur MMR (Match Making Rating) yang berguna untuk menentukan pemain berada di golongan
kemampuan atau skill bracket yang di dapat dari rata-rata score MMR team dota 2. Score MMR didapat jika pemain
memenangkan permainan dan akan berkurang jika pemain kalah dalam permainan.
Tabel 3. Contoh Average Score Match Making Rating Dota 2
Team 1 Score MMR Team 2 Score MMR
Pemain 1 3638 Pemain 6 4211
Pemain 2 4352 Pemain 7 3322
Pemain 3 3865 Pemain 8 4242
Pemain 4 4124 Pemain 9 3412
Pemain 5 3360 Pemain 10 4171
Average Score MMR 3868 Average Score MMR 3872
Gambar 6. Skill Bracket Dota 2
(Sumber: “http://www.dotabuff.com/players/282222798/matches”, diakses tanggal 14 September 2016 .)
c. Skill Bracket pada aplikasi tutorial.
Challenges/quests yang akan diimplementasikan pada aplikasi berupa quests yaitu berupa pertanyaan yang
harus di jawab oleh user untuk mendapatkan score. Pertanyaan yang tampil berdasarkan golongan kemampuan
(Skill Bracket) dari user.
Tabel 4. Daftar Quest yang Tampil
Skill bracket dari user Daftar quest yang tampil
Normal Skill Normal Skill
High Skill Normal Skill dan High Skill
Very High Skill Normal Skill, High Skill dan Very High Skill
Pada aplikasi tutorial skill bracket didapat dari perhitungan score user yang dimiliki.
Tabel 5. Skill Bracket dari Score User
Skill bracket Minimal score Maksimal score
Normal Skill 0 3199
High Skill 3200 3799
Very High Skill 3800 ~
9
d. Score yang didapat dari menjawab quests
Ketika user menjawab quests dengan benar akan mendapatkan score, score yang didapat oleh user di
tentukan berdasarkan skill bracket dari quest.
Tabel 6. Score yang didapat User
Skill Bracket Quest Score yang didapat user
Normal Skill 1
High Skill 5
Very High Skill 10
Pertanyaan yang sudah di jawab dengan benar oleh user akan menghilang dari daftar quest.
e. Pengecekan jawaban quests (membandingkan nilai string)
Algoritma menggunakan bahasa pemrograman visual basic .net yang akan penulis implementasikan pada
aplikasi untuk melakukan pengecekan jawaban quest yaitu :
jawaban_user_tanpa_spasi = x_RTB_answer.Text.Replace(" ", "")
Keterangan : digunakan untuk menghilangkan spasi (“ “) dari jawaban user.
jawaban_user_tanpa_spasi_dan_enter = jawaban_user_tanpa_spasi.Replace(vbCr, "").Replace(vbLf, "")
Keterangan : digunakan untuk menghilangkan enter dari jawaban user.
jawaban_user_tanpa_spasi_enter_dan_petik = jawaban_user_tanpa_spasi_dan_enter.Replace(Chr(34), "'")
Keterangan : digunakan untuk mengubah tanda petik 2 ( “ ) menjadi tanda petik 1 („) dari jawaban user, Chr(34)
adalah karakter dari ascii 34 yaitu tanda petik 2 (“).
jawaban_benar_tanpa_spasi_db = var_answer.Replace(" ", "")
Keterangan : digunakan untuk menghilangkan spasi (“ “) dari jawaban benar dari database.
jawaban_benar_tanpa_spasi_dan_enter_db = jawaban_benar_tanpa_spasi_db.Replace(vbCr, "").Replace(vbLf, "")
Keterangan : digunakan untuk menghilangkan enter dari jawaban benar dari database.
jawaban_benar_tanpa_spasi_enter_dan_petik_db = jawaban_benar_tanpa_spasi_dan_enter_db.Replace(Chr(34), "'")
Keterangan : digunakan untuk mengubah tanda petik 2 ( “ ) menjadi tanda petik 1 („) dari jawaban benar dari
database, Chr(34) adalah karakter dari ascii 34 yaitu tanda petik 2 (“).
jawaban_user = LCase(jawaban_user_tanpa_spasi_enter_dan_petik) jawaban_benar = LCase(jawaban_benar_tanpa_spasi_enter_dan_petik_db)
Keterangan : digunakan untuk mengubah jawaban user dan jawaban benar dari database agar semua huruf menjadi
huruf kecil (bukan huruf kapital).
all_check_string_answer = jawaban_user all_check_string_db = jawaban_benar If all_check_string_answer = all_check_string_db Then
‘Eksekusi printah . . . . MessageBox.Show("Your answer is correct") Else MessageBox.Show("Your answer is incorrect") End If
Keterangan : digunakan untuk membandingkan jawaban user dengan jawaban benar yang ada pada database, jika
jawaban benar maka akan melanjutkan keproses selanjutnya dan jika jawaban salah maka akan menampilkan
notifikasi kesalahan.
10
Tabel 7. Membandingkan Nilai String
Jawaban user Jawaban benar dari database
0. SeLecT nama AS ‚username‛ FrOm q1_Tbl_BaRanG
SELECT nama as ‘username’ FROM q1_tbl_barang
1. SeLecTnamaAS‚username‛ FrOmq1_Tbl_BaRanG
SELECTnamaas‘username’ FROMq1_tbl_barang
2. SeLecTnamaAS‚username‛FrOmq1_Tbl_BaRanG SELECTnamaas‘username’FROMq1_tbl_barang 3. SeLecTnamaAS’username’FrOmq1_Tbl_BaRanG SELECTnamaas‘username’FROMq1_tbl_barang 4. selectnamaas’username’fromq1_tbl_barang selectnamaas’username’fromq1_tbl_barang Keterangan :
0. = sebelum diproses.
1. = menghilangkan spasi (“ “).
2. = menghilangkan enter.
3. = mengubah tanda petik 2 (“) menjadi tanda petik 1 („).
4. = huruf diubah menjadi huruf kecil.
Selanjutnya adalah proses membandingkan jawaban user dengan jawaban benar dari database yang ada pada tabel
no.4.
6. Onboarding
Onboarding yang akan diimplementasikan pada aplikasi adalah sebuah quest yang ditampilkan berdasarkan
kemampuan dari user, aplikasi memberikan sebuah upaya untuk membantu pemain pemula yang masuk ke dalam
aplikasi, memberikan quest yang mudah untuk dikerjakan bagi user pemula kemudian berangsur opsi tersebut
bertambah berjalannya waktu (Skill Bracket).
7. Engagement loops
Gamified system yang baik akan membuat pemain berada dalam pengulangan keterlibatan (engagement
loop), sedemikian rupa sehingga pemain akan selalu kembali (addictive). Engagement loops yang akan
diimplementasikan pada aplikasi :
a. Motivating emotion
Motivating emotion yang akan implementasi pada aplikasi yaitu dengan adanya leaderboard pada aplikasi
yang membantu pengguna untuk dapat termotivasi dengan pengguna lain, badge pada aplikasi yang berguna untuk
menghargai pemain, SQL Editor untuk memudahkan pengguna untuk memahami query SQL dengan bantuan Line
numbering dan Syntax Highlight, dan Implementasi fitur untuk menyimpan contoh query SQL yang berguna untuk
memudahkan pengguna dalam hal menyimpan contoh query SQL yang dapat digunakan kembali saat dibutuh serta
dapat memudahkan pencarian contoh query SQL ketika pengguna membutuhkannya kembali.
b. Player re-engagement
Player re-engagement yang akan diimplemetasikan pada aplikasi yaitu pada quest, ketika user menjawab
quest jika jawaban user benar maka pengguna akan mendapatkan score dan pertanyaan pada daftar yang telah di
jawab benar akan menghilang, jika jawaban user salah akan muncul notifikasi kesalahan dan pertanyaan akan tetap
muncul pada daftar quest.
c. Visible progress/reward
Visible progress/reward yang akan diimplemetasikan pada aplikasi yaitu berupa score, rank, skill bracket
dapat ditunjukan oleh user kepada user lain sebagai status user dalam aplikasi dengan cara user harus masuk
dalam daftar leaderboards.
4. Perancangan Database
Database dalam aplikasi ini terdiri dari 2 database MySQL Online, 1 database SQLite dan berupa 5 file text
dengan ekstensi “.txt”. Adapun field-field yang terdapat di dalam database atau file text tersebut, sebagai berikut :
4.1. MySQL Database Online
Database ini diakses menggunakan internet yang berada pada hosting menggunakan fitur MySQL Remote
Acces dengan IP Address public.
11
4.1.1. Database Gamification
Database yang digunakan untuk konsep gamification.
a. Tabel User
Nama Database : mysqlrem_lsa_db
Nama Tabel : lsa_tbl_user
Deskripsi : digunakan untuk menyimpan data pengguna.
Tabel 8.Tabel User
NAMA TIPE DATA KETERANGAN
lsa_username Varchar (16),
Primary Key
Menyimpan username account pengguna.
lsa_password Varchar (16) Menyimpan password account pengguna.
lsa_name Varchar (75) Menyimpan nama penggua.
lsa_email Varchar (50) Menyimpan email pengguna.
lsa_score Int (11) Score digunakan untuk konsep gamification.
lsa_join Date Tanggal registrasi account pengguna.
lsa_img Char (4) Menyimpan ekstensi gambar yang digunakan pada
profile yang berada di ftp server.
b. Tabel Badge
Nama Database : mysqlrem_lsa_db
Nama Tabel : lsa_tbl_badge
Deskripsi : digunakan untuk badge.
Tabel 9. Tabel Badge
NAMA TIPE DATA KETERANGAN
id_badge Int (11), Primary Key Menyimpan id badge.
name_badge Varchar (75) Menyimpan nama badge.
date_badge Date Tanggal badge dirilis.
img_badge Char (4) Menyimpan ekstensi gambar yang
digunakan pada badge yang berada di
ftp server.
c. Tabel Quest List
Nama Database : mysqlrem_lsa_db
Nama Tabel : lsa_tbl_quest_info
Deskripsi : daftar pertanyaan Query SQL.
Tabel 10. Tabel Quest List
NAMA TIPE DATA KETERANGAN
id_quest_info Int (11), Primary Key Menyimpan id user badge.
date_quest Date Menyimpan tanggal pertanyaan dibuat.
question Varchar (255) Menyimpan pertanyaan query SQL.
skill_bracket Varchar (25) Menyimpan kategori pertanyaan query
SQL.
clue Varchar (512) Keterangan tambahan untuk
pertanyaan query SQL.
answer Varchar (1024) Jawaban query SQL.
d. Tabel Answer
Nama Database : mysqlrem_lsa_db
Nama Tabel : lsa_tbl_answer
Deskripsi : untuk menjawab pertanyaan query SQL.
12
Tabel 11. Tabel Answer
NAMA TIPE DATA KETERANGAN
id_answer Int (11), Primary Key Menyimpan id answer.
username Varchar (16) Username pengguna yang menjawab
pertanyaan.
quest_id Int (11) Menyimpan data quest yang dijawab
username pengguna.
4.1.2. Database Quest
Database ini digunakan untuk test question query SQL pada mysql online yang sudah di sediakan tabel sesuai
pertanyaan, tabel akan terus bertambah disesuaikan dengan pertanyaan yang ada pada form List Quest.
a. Tabel Barang (Test Query)
Nama Database : mysqlrem_lsa_quest
Nama Tabel : q1_tbl_barang
Deskripsi : menguji pertanyaan pada form list quest.
Tabel 12. Tabel Barang (Test Query)
NAMA TIPE DATA KETERANGAN
kode_barang Varchar (25), Primary Key Data berisi kode barang.
nama_barang Varchar (55) Data berisi nama barang.
satuan Varchar (25) Data berisi satuan barang.
stock Double Data berisi jumlah stock yang tersedia.
harga Double Data berisi harga barang.
kategori_barang Varchar (25) Data berisi kategori barang.
img_barang Varchar (255) Data berisi gambar barang.
4.2. SQLite Database
Database ini diakses tanpa menggunakan internet yang berada pada data local bertujuan menyimpan fitur
example query SQL untuk memudahkan pengguna dalam mempelajari query SQL :
a. Tabel Example
Nama File : SLA_Local.db
Nama Tabel : tbl_example
Deskripsi : untuk menyimpan contoh query SQL.
Tabel 13. Tabel Example
NAMA TIPE DATA KETERANGAN
rowid Int, Primary
Key
Nomer otomatis pada database SQLite.
sql_subgroups Varchar (10) SQL group terdiri dari DDL,DML,DCL dan
UNGROUP untuk example yang berada di luar
group.
sql_category Varchar (50) Untuk mempermudah proses pencarian maka di
buat SQL kategori untuk mem-filter contoh
query SQL.
sql_name Varchar (50) Nama Query SQL.
sql_query Text Query SQL yang nantinya akan di gunakan
sebagai contoh.
sql_description Varchar (255) Berupa penjelasan dari query SQL.
4.3. File Text
File text ini diakses tanpa menggunakan internet yang berada pada data local bertujuan untuk penyimpanan
otomatis (Auto Save) dan penyimpanan konfigurasi untuk mencegah hal-hal yang tidak diinginkan.
a. Tabel Konfigurasi Auto Save
Nama File : auto_save_config_temp.txt
Deskripsi : untuk menyimpan konfigurasi waktu Auto Save.
13
Tabel 14. Tabel Auto Save
NAMA KETERANGAN
Interval Menyimpan konfigurasi waktu Auto Save
b. Tabel Editor Auto Save
Nama File : editor_auto_save.txt
Deskripsi : untuk penyimpanan otomatis pada form editor.
Tabel 15. Tabel Editor Auto Save
NAMA KETERANGAN
write_editor_auto_save Penyimpanan otomatis pada form editor
c. Tabel Konfigurasi MySQL
Nama File : MySQL_config_temp.txt
Deskripsi : menyimpan konfigurasi MySQL.
Tabel 16.Tabel Konfigurasi MySQL
NAMA KETERANGAN
Server Menyimpan server database.
User Menyimpan userid untuk login ke database.
Password Menyimpan password untuk login ke database.
Database Menyimpan database yang akan digunakan.
Port Menyimpan port database.
d. Tabel Set Database
Nama File : set_db_editor_config_temp.txt
Deskripsi : menentukan database pada form editor.
Tabel 17. Tabel Set Database
NAMA KETERANGAN
Set_DB Penyimpanan untuk menentukan database yang digunakan pada
form editor.
e. Tabel Konfigurasi Table Style
Nama File : table_style_temp.txt
Deskripsi : menentukan style table pada form output.
Tabel 18. Tabel Konfigurasi Table Style
NAMA KETERANGAN
style_name Penyimpanan untuk menentukan style table yang digunakan
pada form Output.
5. Implementasi
5.1. Perangkat Keras yang Digunakan
Tabel 19. Perangkat Keras yang Digunakan
Perangkat Keras Jenis Perangkat Keras
CPU A8 4500M 1,9 GHz
HDD 500 GB
RAM 8 GB
VGA AMD Radeon HD7640G + HD 7470M
14
5.2. Perangkat Lunak yang Digunakan
Tabel 20. Perangkat Lunak yang Digunakan
No. Perangkat Lunak Jenis Perangkat Lunak
1 Media Penyimpanan Text File ber-ekstensi “.txt”
MySQL Database
SQLite Database
2 Server MySQL Remote Access ( Online )
FTP Server ( Online )
3 Sistem Operasi Windows 7 64-bit
4 Integrated development
environment
Visual Basic .Net
( Visual Studio 2012 )
5 Library Devcomponents DotNetBar 11.0.0.0
( DevComponents.DotNetBar2.dll )
.Net Framework 2.0
System.dll
System.Data.dll
System.Deployment.dll
System.Drawing.dll
System.Windows.Forms.dll
- System.Xml.dll
MySQL Connector Net 6.8.3
( MySql.Data.dll )
SQLite Connector .Net Framework 2.0 -
System.Data.SQLite.dll
\x86\SQLite.Interop.dll
- \x64\SQLite.Interop.dll
FTP Client ( FTPclient.dll )
6 Perangkat Lunak Instalasi InstallShield Limited Edition for Visual
Studio
5.3. Implementasi Gamification
5.3.1. Implementasi Form Halaman Utama
Pada halaman ini pengguna dapat menggunakan SQL editor, mengkonfigurasi database yang digunakan
untuk SQL Editor, melihat detail contoh query, melakukan pencarian, menambah, memperbarui atau menghapus
data contoh query SQL, daftar menu. Juga dapat melakukan pendaftaran akun serta melakukan login pada aplikasi.
Gambar 7. Tampilan Form Halaman Utama
15
Terdapat daftar menu, berasarkan usecase diagram, beberapa menu tidak dapat diakses sebelum login berhasil.
Menu Menu Connect
Menu Quest Menu Settings
Gambar 8. Tampilan Daftar Menu
5.3.2. Implementasi Game Mechanic Point (Score)
Game mechanic point yaitu berupa score diimplementasikan pada form profile, yang berguna sebagai status
user dan memungkinkan user untuk menambah score yang dimilikinya. Pada aplikasi tutorial ini pengguna dapat
memperoleh score dari menjawab pertanyaan dengan benar yang ada pada form quest list untuk memilih quest
dengan cara klik kanan lalu pilih answer.
Gambar 9. Tampilan Game Mechanic Point (Score)
Gambar 10. Tampilan Mendapatkan Point (Score)
16
5.3.3. Implementasi Game Mechanic Levels (Rank)
Game mechanic levels yaitu berupa rank diimplementasikan pada form profile, yang bertujuan untuk
menunjukan tingkatan user dalam aplikasi.dan rank diperoleh dari perhitungan score yang dimiliki user.
Tabel 21. Game Mechanic Levels (Rank) pada aplikasi
Rank Minimal Score Maksimal
Score
SQL Student 0 99
SQL User 100 499
Aktivis SQL 500 749
SQL Holic 750 999
SQL Addict 1000 3999
SQL Maniac 4000 9999
SQL Geek 10000 24999
SQL Freak 25000 49999
Master SQL 50000 ~
Gambar 11. Tampilan Game Mechanic Levels (Rank)
5.3.4. Implementasi Game Mechanic Leaderboards
Game mechanic leaderboards yaitu berupa papan perbandingan user, dengan cara membandingkan nilai
score tertinggi sampai dengan terendah dari user. Leaderboard menampilkan hanya 10 account terbaik yang
selanjutnya dapat ditampilkan pada tombol Next.
17
Gambar 12. Tampilan Game Mechanic Leaderboards
5.3.5. Implementasi Game Mechanic Badge
Game mechanic badge merupakan reward untuk menghargai user dengan syarat tertentu. Setiap badge
memiliki syarat untuk mendapatkannya. Fitur badge dibuat tidak berdasarkan kode aplikasi yang telah
direncanakan, tetapi fitur badge dibuat untuk menghargain hal-hal tertentu yang tidak bisa direncanakan berupa
seperti pemenang event, dan lain sebagainya.
Gambar 13. Tampilan Game Mechanic Badge
18
5.3.6. Implementasi Game Mechanic Challenges/Quests (Quest)
Game mechanic challenges/quests yaitu berupa quest yaitu pertanyaan yang harus di jawab benar oleh user
untuk mendapatkan score. Pertanyaan yang tampil berdasarkan golongan kemampuan (Skill Bracket) dari user.
Gambar 14. Tampilan Game Mechanic Quest
5.3.7. Implementasi Skill Bracket
Implementasi skill bracket pada aplikasi tutorial dengan cara mengklasifikasikan user dengan tiga
golongan yaitu Normal Skill, High Skill dan Very High Skill sebagai status user agar user bangga, untuk menentukan
quest yang tampil dan score yang di dapat user ketika menjawab benar quest.
Tabel 22. Daftar Quest yang Tampil
Skill bracket dari user Daftar quest yang tampil
Normal Skill Normal Skill
High Skill Normal Skill dan High Skill
Very High Skill Normal Skill, High Skill dan Very High Skill
Tabel 23. Score yang didapat User
Skill Bracket Quest Score yang didapat user
Normal Skill 1
High Skill 5
Very High Skill 10
5.3.8. Implementasi Pengecekan Jawaban Quest
VB .Net syntax untuk membandingkan jawaban user dengan jawaban benar : Sub bandingkan_nilai_string() Dim var_answer As String = "" Dim replace_answer_tanpa_space_x_RTB_answer As String = "" Dim replace_answer_tanpa_enter_x_RTB_answer2 As String = "" Dim replace_answer_tanpa_petik_x_RTB_answer3 As String = "" Dim replace_answer_tanpa_space_answer_db As String = "" Dim replace_answer_tanpa_enter_answer_db2 As String = "" Dim replace_answer_tanpa_petik_answer_db3 As String = "" Dim ubah_tulisan_kecil_x_RTB_answer As String = "" Dim ubah_tulisan_kecil_answer_db As String = "" Dim all_check_string_answer As String = "" Dim all_check_string_db As String = "" koneksi_database_profile() Try Dim Query As String Query = "Select * from lsa_tbl_quest_info where id_quest_info ='" & dapatkan_id_quest & "' " MySQL_COMMAND = New MySqlCommand(Query, MySqlConn) MySQL_READER = MySQL_COMMAND.ExecuteReader While MySQL_READER.Read var_answer = MySQL_READER.GetString(5) End While
19
replace_answer_tanpa_space_x_RTB_answer = Frm_Quest_Answer.x_RTB_answer.Text.Replace(" ", "") replace_answer_tanpa_enter_x_RTB_answer2 = replace_answer_tanpa_space_x_RTB_answer.Replace(vbCr, "").Replace(vbLf, "") replace_answer_tanpa_petik_x_RTB_answer3 = replace_answer_tanpa_enter_x_RTB_answer2.Replace(Chr(34), "'") replace_answer_tanpa_space_answer_db = var_answer.Replace(" ", "") replace_answer_tanpa_enter_answer_db2 = replace_answer_tanpa_space_answer_db.Replace(vbCr, "").Replace(vbLf, "") replace_answer_tanpa_petik_answer_db3 = replace_answer_tanpa_enter_answer_db2.Replace(Chr(34), "'") ubah_tulisan_kecil_x_RTB_answer = LCase(replace_answer_tanpa_petik_x_RTB_answer3) ubah_tulisan_kecil_answer_db = LCase(replace_answer_tanpa_petik_answer_db3) all_check_string_answer = ubah_tulisan_kecil_x_RTB_answer all_check_string_db = ubah_tulisan_kecil_answer_db MySqlConn.Close() Catch ex As Exception MySQL_COMMAND.Dispose() If Not IsNothing(MySqlConn) Then MySqlConn.Close() End If Finally MySQL_COMMAND.Dispose() If Not IsNothing(MySqlConn) Then MySqlConn.Close() End If End Try If all_check_string_answer = all_check_string_db Then save_answer_question() update_score_profile() load_score_profile() load_datagrid_quest() MessageBoxEx.EnableGlass = False MessageBoxEx.Show("Your answer is correct") Frm_Quest_Answer.Close() Else MessageBoxEx.EnableGlass = False MessageBoxEx.Show("Your answer is incorrect") End If End Sub
Tabel 24. Contoh Membandingkan Nilai String
Jawaban user Jawaban benar dari database
0. SeLecT nama AS “username”
FrOm q1_Tbl_BaRanG
SELECT nama as „username‟
FROM q1_tbl_barang
1. SeLecTnamaAS“username”
FrOmq1_Tbl_BaRanG
SELECTnamaas„username‟
FROMq1_tbl_barang
2. SeLecTnamaAS“username”FrOmq1_Tbl_BaRanG SELECTnamaas„username‟FROMq1_tbl_barang
3. SeLecTnamaAS‟username‟FrOmq1_Tbl_BaRanG SELECTnamaas„username‟FROMq1_tbl_barang
4. selectnamaas‟username‟fromq1_tbl_barang selectnamaas‟username‟fromq1_tbl_barang
Keterangan :
0. = sebelum diproses.
1. = menghilangkan spasi (“ “).
2. = menghilangkan enter.
3. = mengubah tanda petik 2 (“) menjadi tanda petik 1 („).
4. = huruf diubah menjadi huruf kecil.
Selanjutnya adalah proses membandingkan jawaban user dengan jawaban benar dari database yang ada pada tabel
no.4.
20
5.3.9. Implementasi Game Mechanic Onboarding
Game mechanic onboarding yang telah di implementasikan pada aplikasi adalah sebuah quest yang
ditampilkan berdasarkan kemampuan dari user, aplikasi memberikan sebuah upaya untuk membantu pemain pemula
yang masuk ke dalam aplikasi, memberikan quest yang mudah untuk dikerjakan bagi user pemula kemudian
berangsur opsi tersebut bertambah berjalannya waktu (Skill Bracket).
Gambar 15. Tampilan Game Mechanic Onboarding
5.3.10. Implementasi Game Mechanic Engagement Loops
a. Motivating emotion
Game Mechanic Engagement loops Motivating emotion berupa adanya leaderboard pada aplikasi yang
membantu pengguna untuk dapat termotivasi dengan pengguna lain, badge pada aplikasi yang berguna untuk
menghargai pemain, SQL Editor untuk memudahkan pengguna untuk memahami query SQL dengan bantuan Line
numbering dan Syntax Highlight, dan adanya fitur untuk menyimpan contoh query SQL pada aplikasi yang berguna
untuk memudahkan pengguna dalam hal menyimpan contoh query SQL yang dapat digunakan kembali saat dibutuh
serta dapat memudahkan pencarian contoh query SQL ketika pengguna membutuhkannya kembali.
b. Player re-engagement
Player re-engagement berupa quest, ketika user menjawab quest jika jawaban user benar maka pengguna
akan mendapatkan score dan pertanyaan pada daftar yang telah di jawab benar akan menghilang, jika jawaban user
salah akan muncul notifikasi kesalahan dan pertanyaan akan tetap muncul pada daftar quest.
c. Visible progress/reward
Visible progress/reward yaitu berupa score, rank, skill bracket dapat ditunjukan oleh user kepada user lain sebagai
status user dengan tujuan untuk membuat user bangga dari pengalaman menggunakan aplikasi tutorial, untuk
dapat memperlihatkan status user kepada user lain user dengan cara user harus masuk dalam daftar leaderboards.
6. Kesimpulan dan Saran
6.1. Kesimpulan
1. Adanya pertanyaan Online tentang Query SQL yang di sediakan oleh aplikasi dan dapat diuji pada SQL Editor
dengan bantuan syntax highlight, numbering, dan error handle saat eksekusi query SQL, maka mahasiswa dapat
mempelajari bahasa Structured Query Language secara mandiri.
2. Penggunaan gamification sangat efektif untuk membuat pekerjaan yang membosankan, kurang menyenangkan,
atau kurang menantang, menjadi jauh lebih menyenangkan untuk dilakukan karena memberikan sebuah
penghargaan yang dapat mendorong seseorang atau memotivasi seseorang untuk melakukan “lebih” dari pada
yang lain, seperti fitur yang ada pada aplikasi yaitu : Score, Rank, Skill Bracket, Badge, Question dan
Leaderboard sehingga pengguna dapat bersaing dengan pengguna lain maka pengguna akan terus termotivasi
dalam menggunakan aplikasi.
3. Aplikasi menyediakan fitur penyimpanan contoh query SQL yang dapat digunakan kembali saat dibutuh serta
dapat memudahkan pencarian contoh query SQL sehingga waktu pembelajaran menjadi efisien.
21
6.2. Saran
Adapun saran-saran yang dapat penulis berikan adalah dengan menambahkan beberapa fitur seperti :
1. Pengguna dapat membuat pertanyaan untuk diajukan pada pengelola aplikasi agar digunakan pada fitur Question
Online.
2. Pengembangan berikutnya dapat dibuat sebuah editor yang dapat mendukung database lainnya seperti database
SQLite, SQL Server, Access dan lain sebagainya.
3. Pengembangan selanjutnya sistem dengan multi user dengan beberapa fitur di antaranya :
a. Challenge, membuat pertanyaan yang diajukan pada pengguna lain, untuk mendapatkan point/score.
b. Private Messages, digunakan untuk berdiskusi antar pengguna secara tertutup.
c. Friendlist, sehingga dalam aplikasi pengguna dapat bersosialisasi dengan pengguna lain, seperti pengguna
dapat berdiskusi / bertanyaan menggunakan bantuan Private Messages.
d. Discussion Forums, digunakan untuk berdiskusi secara menyeluruh dengan pengguna lain untuk membahas
pembelajaran bahasa SQL.
e. Reputation ( Good Reputation dan Bad Reputation ), adanya fitur ini digunakan untuk menghargain
pengguna, seperti pengguna yang sering melakukan hal kebaikan contoh : membantu pengguna lain dalam
memperlajari bahasa SQL, pengguna dapat memberikan Good Repuatation pada pengguna yang telah
membantunya atau pengguna dapat memberikan Bad Reputation pada pengguna yang mengganggu
pembelajaran, seperti yang telah diterapkan pada jejaring sosial forum KASKUS.
Daftar Pustaka
1. Beaulieu, Alan. 2009. Mary E Treseler, ed.Learning SQL (2nd ed.). Sebastapol, CA, USA: O'Reilly.ISBN 978-
0-596-52083-0.
2. Konixbam. 2009. Web Based Versus Desktop Based Application.
3. Mayoka, Rio. 2011. Tutorial Pengenalan Adobe Photoshop Menggunakan Adobe Flash CS3. Chapter II,
Universitas Sumatera Utara. (http://repository.usu.ac.id/xmlui/handle/123456789/27980, diakses tanggal 19
April 2016).
4. Neobytesolutions. 2012. Desktop Application, Neobytesolutions. (http://www.neobytesolutions.com/, diakses
pada tahun 2012).
5. Putra, Angga Andika. 2012. PENGARUH BRAND IMAGE TERHADAP LOYALITAS KONSUMEN PADA
CV. TRIJAYA UTAMA (DLOOPS CLOTHING). Skripsi Fakultas Bisnis dan Manajemen, Universitas
Widyatama Bandung. (http://repository.widyatama.ac.id/xmlui/handle/123456789/3272, diakses tanggal 22
Juli 2016).
6. Ridwan. 2003. Dasar-Dasar Statistika. Cetakan Ketiga. Bandung : CV.Alfabeta.
7. Risal. 2013. Pembangunan Gamification (Game Mechanics) Framework. Thesis Magister, Institut Teknologi
Bandung. (http://repository.maranatha.edu/3906/1/Gamification%20Framework.pdf, diakses tanggal 17 Mei
2016).
8. Susilana, Rudi, dan Cepi Riyana. 2008. MEDIA PEMBELAJARAN: Hakikat,Pengembangan,Pemanfaatan,dan
Penilaian. Cetakan Kedua, Bandung: CV Wacana Prima.
9. Troels Arvin.2007. Comparison of different SQL implementations. (http://troels.arvin.dk/db/rdbms/, diakses
tanggal 2 Juni 2016).
10. Wikipedia. 2008. SQL, Wikipedia. (https://id.wikipedia.org/wiki/SQL, diakses tanggal 19 April 2016).
11. Wikipedia. 2009. ADO.NET, Wikipedia. (https://en.wikipedia.org/wiki/ADO.NET, diakses tanggal 30 Agustus
2016).
12. Wikipedia. 2010. NET Framework, Wikipedia. (https://id.wikipedia.org/wiki/SQL, diakses tanggal 30 Agustus
2016).
13. Wikipedia. 2013. DOTA 2, Wikipedia. (https://id.wikipedia.org/wiki/Dota_2, diakses tanggal 14 September
2016).
14. Zichermann, G dan C. Cunningham. 2011. Gamification by Design: Implementing Game Mechanics in Web
and Mobile Apps, Sebastopol: O'Reilly Media.
15. Zichermann, G. 2011. Gamification Master Class, O'Reilly Media.