• Tidak ada hasil yang ditemukan

Implementasi Framework Gamification

Bab V. Implementasi dan Pengujian

V.5. Pengujian

V.5.1. Implementasi Framework Gamification

Framework diujikan pada aplikasi yang digunakan untuk manajemen data proyek mahasiswa (kerja praktik dan tugas akhir). Aplikasi ini menggunakan arsitektur 3 tier. Framework gamification akan diimplementasi pada tier-2 yang berisi layanan web (web service).

Arsitektur 3 tier ini dibuat karena ada pertimbangan adanya pengembangan lebih lanjut berupa aplikasi mobile. Diharapkan dengan menggunakan arsiterktur ini pengembang aplikasi dapat dengan mudah melakukan perluasan sistem.

Pada implementasi ini perluasan framework dilakukan dengan metode grey box. Beberapa bagian seperti diperluas dengan cara pewarisan (inheritance) dan pada bagian lainnya diperluas dengan melakukan inject pada method yang sesuai.

Gambar V-1 Arsitektur Sistem Manajemen Proyek Database Server Web Service OData PC SMARTPHONE TABLET

57 V.5.2.Lingkungan Implementasi

Aplikasi manajemen proyek ini dikembangkan dan diimplementasikan dalam lingkungan perangkat keras sebagai berikut.

1. Prosesor: Intel® Core™ i5-2435M CPU @ 2.40GHz. 2. Memori RAM: 16 GB DDR3.

3. Harddisk: 512 GB.

Sedangkan lingkungan perangkat lunak yang dikembangkan untuk pengembangan aplikasi adalah sebagai berikut.

1. Sistem operasi: Windows 8 Pro.

2. IDE: Visual Studio 2012 dengan Update 2. 3. Framework:

a. .NET Framework 4.0. b. .NET Framework 4.5.

4. Perangkat lunak pendukung lainnya: a. Metro Studio 2.

b. Expression Studio. c. Fiddler.

d. Infragistics NetAdvantage Enterprise 2013.

Perangkat lunak pendukung digunakan untuk melakukan debugging pengiriman data pada layanan web dan digunakan dalam pembuatan antarmuka aplikasi.

V.5.3.Batasan Implementasi

Implementasi layanan web menggunakan teknologi OData. OData atau dikenal dengan Open Data Protocol adalah sebuah protokol standar dalam transaksi data di web. Salah satu keuntungan dalam penggunaan protokol ini adalah sifatnya yang terbuka. Sehingga keterikatan teknologi basis data, teknologi antarmuka, dan bahasa pemrograman dapat ditekan.

58

Implementasi framework pada aplikasi menggunakan fasilitas log dalam mendapatkan feed data yang ada. Hal ini terpaksa dilakukan karena sifat dari sebagian besar aplikasi web yang stateless. Framework akan “dipaksa” bekerja ketika pengguna melakukan aksi pada aplikasi client.

V.5.4.Tahapan Implementasi

Tahapan implementasi dilakukan dalam beberapa tahap. Tahap pertama adalah tahap persiapan. Pada tahap ini dilakukan identifikasi dari data yang ingin diolah. Setelah itu dibuatlah model menggunakan hasil identifikasi data.

Tahap kedua adalah pembuatan layanan web yang digunakan untuk mendukung proses CRUD (create retrieve update delete) dari aplikasi yang dimaksud. Selain itu pada tahap ini dibuat juga permission yang bertujuan untuk membatasi pengguna dalam mengakses fitur tertentu.

59

Tahap ketiga adalah pembuatan antarmuka pengguna. Pada tahap ini desain dari antarmuka dibuat dalam bentuk aplikasi. Pada tahap ini pula konektifitas antara aplikasi client dengan layanan web dijalin.

Tahap keempat adalah penambahan fitur gamification pada aplikasi ini. Penambahan fitur dilakukan dengan melakukan perluasan dari kumpulan class yang ada. Class utama GameMechanic disesuaikan agar dapat melakukan akses data menggunakan layanan web. Selain itu class entitas pada layanan web diperluas dengan menggunakan beberapa interface dan class yang ada pada framework.

V.5.5.Adaptasi Framework

Adaptasi framework dilakukan dengan melakukan inheritance ke kelas GameMechanic. Hal ini perlu dilakukan karena implementasi membutuhkan media penyimpanan ke dalam basis data. Sedangkan GameMechanic hanya baru menyediakan fitur untuk menyimpan data ke dalam bentuk POCO (yang disimpan dalam file berformat XML).

Selain kelas GameMechanic, interface IActivity dan IReward diimplementasikan ke dalam bentuk kelas konkrit. Hal ini perlu dilakukan karena ada beberapa aktifitas dan penghargaan yang sifatnya spesifik untuk aplikasi ini. Pemetaan dilakukan dengan implementasi beberapa method yang akan digunakan untuk pemetaan aktifitas ke penghargaan. Tabel V-3 merangkum bagian yang perlu diimplementasi agar aplikasi dapat berjalan.

60 V.5.6.Kendala Implementasi

Berikut adalah ringkasan dari kesulitan yang dihadapi saat implementasi. Kendala implementasi terjadi karena framework diharapkan dapat mengakomodir pola asynchronous.

Tabel V-3. Kelas Implementasi

Kelas/Interface Framework Kelas Implementasi

GameMechanic GameMechanic (lokal)

IActivity LoginActivity (common spot) NewProjectActivity

AcceptProjectActivity DeclineProjectActivity IReward Point (common spot)

MyFirstTimeBadge OneHundredAndOneBadge LoginFrenzyBadge OhMyGodBadge YesManBadge EvaluationRule MyFirstTimeRule OneHundredAndOneRule LoginFrenzyRule OhMyGodRule YesManRule

1. Penggunaan layanan web mengharuskan aplikasi client untuk selalu melakukan operasi asynchronous. Operasi asynchronous cukup menyulitkan dalam pengembangan terutama ketika melakukan proses debugging.

2. Layanan web juga memiliki aturan mengenai lama pengerjaan dari sebuah operasi. Hal ini menyebabkan desain harus mengikuti kebutuhan ini agar sistem dapat tetap berjalan.

61

3. Implementasi framework Gamefication pada layanan web tidak semudah ketika melakukan implementasi pada aplikasi desktop. Hal ini disebabkan oleh sifat layanan web itu sendiri yang stateless sehingga framework terpaksa melakukan penambahan tabel khusus untuk penyimpanan state dari framework.

V.5.7.Survei

Survei dilakukan kepada responden yang memiliki latar belakang programmer. Responden memiliki pengalaman antara 1.5 tahun sampai dengan 16 tahun pengalaman di industri perangkat lunak. Jumlah responden wanita berjumlah 28% dari keseluruhan responden.

Survei didapat dengan mengacu pada QMOOD model [14]. Pada QMOOD model terdapat 11 design metric yang dapat digunakan untuk menghitung kualitas perangkat lunak yang menggunakan metodologi berorientasi objek. Dari hasil survei didapat bahwa nilai polymorphism pada framework memiliki nilai yang tinggi, diikuti dengan nilai cohesion dan messaging.

Gambar V-3. QMOOD Design Metric untuk Framework Gamifikasi

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Design Size Hierarchy Abstraction Encapsulation Coupling Cohesion Composition Inheritance Polymorphism Messaging Complexity

62

Dengan menggunakan rumus pada Tabel V-4, maka dapat dihitung kualitas dari perangkat lunak (dalam hal ini framework gamifikasi).

Tabel V-4. Rumus Perhitungan untuk Atribut Kualitas

Atribut Kualitas Persamaan Perhitungan Indeks

Reusability -0.25 * Coupling + 0.25 * Cohesion + 0.5 * Messaging + 0.5 * Design Size

Flexibility 0.25 * Encapsulation – 0.25 * Coupling + 0.5 * Composition + 0.5 * Polymorphism

Understandability -0.33 * Abstraction + 0.33 * Encapsulation – 0.33 * Coupling + 0.33 * Cohesion – 0.33 * Polymorphism – 0.33 * Complexity – 0.33 * Design Size

Functionality 0.12 * Cohesion + 0.22 * Polymorphism + 0.22 * Messaging + 0.22 * Design Size + 0.22 * Hierarchies Extendibility 0.5 * Abstraction – 0.5 * Coupling + 0.5 * Inheritance +

0.5 * Polymorphism

Effectiveness 0.2 * Abstraction + 0.2 * Encapsulation + 0.2 * Composition + 0.2 * Inheritance + 0.2 * Polymorphism Dari hasil perhitungan menggunakan rumus untuk atribut kualitas, maka dapat dilihat bahwa framework gamifikasi memiliki tingkat fleksibilitas dan ekstensibilitas yang sangat baik. Kekurangan framework ini adalah pada atribut understandability, sehingga untuk menutupi hal ini dibuatlah sebuah developer manual yang diharapkan dapat lebih memudahkan dalam implementasi.

63

Gambar V-4. Atribut Kualitas pada Framework Gamifikasi

Dokumen terkait