aplikasi tutorial berbasis desktop untuk … fileaplikasi tutorial berbasis desktop untuk pemahaman...

21
1 APLIKASI TUTORIAL BERBASIS DESKTOP UNTUK PEMAHAMAN MATERI SQL MENGGUNAKAN KONSEP GAMIFICATION Eki Indradi 1 Ridho Taufiq 2 , 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

Upload: buitu

Post on 28-Jun-2019

233 views

Category:

Documents


0 download

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.