APLIKASI TUTORIAL BERBASIS DESKTOP UNTUK PEMAHAMAN MATERI SQL
MENGGUNAKAN KONSEP GAMIFICATION
Eki Indradi1
Ridho Taufiq2, Petrus Sokibi3
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
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-gamecontex (contoh: belajar, mengajar, pemasaran, dan lain sebagainya) menjadi jauh lebih menarik dengan mengintegrasikan gamethinking, 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 querySQL 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.
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.
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.
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
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
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 forumonline 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
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 menentukanpemain berada di golongan kemampuanatau skill bracket yang di dapat dari rata-rata scoreMMR 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 tutorialskill 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
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.
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 akanimplementasipada 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 yaituberupa 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.
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 idbadge.
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 iduser 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
Tabel 11. Tabel Answer
NAMA TIPE DATA KETERANGAN
id_answer Int (11), Primary Key Menyimpan idanswer.
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
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
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
VisualBasic .Net ( VisualStudio 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.
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)
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.
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.
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
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.
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 yaituberupa 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.
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.