Petunjuk Penulisan Naskah (UG Jurnal)

advertisement
PENERAPAN MONGODB DAN CODEIGNITER PADA
PERMAINAN KOKOLOGY
Kartika Kurniarin
Program Studi Teknik Informatika
Universitas Gunadarma
Jl. Margonda Raya No.100 Depok
[email protected]
ABSTRAK
MongoDB merupakan basis data NoSQL yang dikembangkan sejak Oktober 2007
oleh 10Gen dan dirilis publik sejak Februari 2009. MongoDB merupakan NoSQL dengan
konsep document oriented. Dalam tiap document MongoDB tidak harus memiliki
struktur yang sama. Karakteristik MongoDB yang ini dianggap cocok jika
diimplementasikan dengan permainan kokology yang tiap skenarionya memiliki struktur
yang berbeda.MongoDB mendukung beberapa bahasa pemrograman antara lain bahasa
pemrograman PHP sedangkan Codeigniter merupakan kerangka kerja dengan bahasa
pemrograman PHP. Kerangka kerja Codeigniter banyak digunakan oleh pengembang
aplikasi berbasis web yang pemula. Untuk untuk mengetahui apakah MongoDB dapat
diintegrasikan dengan Codeigniter maka dibuat aplikasi permainan kokology dengan
menggunakan MongoDB dan Codeigniter.
Kata Kunci : MongoDB, Kokology,Basis Data, Codeigniter, Framework
PENDAHULUAN
Buku kokology 1 dan 2 telah
menjadi salah buku dengan penjualan
terbaik karena buku permainan kokology
ini mudah dimainkan dan pemain dapat
mengenali potensi diri yang tidak
disadarinya.
Sampai saat ini permainan
kokology masih dalam bentuk buku jika
permainan kokology dapat dibuat dalam
bentuk aplikasi berbasis web maka akan
lebih banyak orang yang dapat
mengetahui dan memainkan permainan
ini.
Basis data yang akan digunakan
dalam aplikasi ini adalah MongoDB.
MongoDB merupakan basis data NoSQL
yang dikembangkan sejak Oktober 2007
oleh 10Gen, dirilis publik sejak Februari
2009. MongoDB bisa melakukan proses
pencarian lebih cepat ketimbang MySql,
tidak perlu membuat struktur tabel,
hanya perlu melakukan proses insert
maka
MongoDB
akan
otomatis
membuatkan struktur tabelnya. Dengan
kemudahan yang diberikan maka akan
membantu dalam membuat basis data.
Dalam tiap document MongoDB tidak
harus memiliki struktur yang sama.
Karakteristik MongoDB yang ini
dianggap cocok jika diimplementasikan
dengan permaian kokology yang tiap
skenarionya memiliki struktur yang
berbeda.
Dalam pembuatan aplikasi ini
menggunakan
kerangka
kerja
Codeigniter. Codeigniter merupakan
kerangka kerja yang banyak digunakan
oleh pemula untuk membangun aplikasi
berbasis web. Jika MongoDB dapat
diintegrasikan dengan Codeigniter maka
diharapkan
perkembangan
apliaksi
berbasis web akan menjadi lebih luas.
Dengan
menggunakan
diharapkan
pembuatan aplikasi berbasis web ini
dapat dibuat dalam waktu yang cukup
singkat, karena kerangka kerja sudah
berisikan fungsi-fungsi yang sering
digunakan dalam pembuatan aplikasi
yang berbasiskan web, seperti fungsi
basis data, validasi, memasukan dan
menampilkan data dari basis data
sehingga dapat menghemat waktu dalam
menuliskan kode program.
.
TINJAUAN PUSTAKA
NoSQL (Not Only SQL)
NoSQL (Not Only SQL) merupakan
konsep
basis
data
yang
sedang
berkembang saat ini. Konsep NoSQL
sebenarnya bukan hal baru dalam
pemodelan basis data karena konsep yang
diterapkan merupakan pengembangan
(pembaruan) dari model basis data yang
telah ada (model hirarki, jaringan,
multidimensional dan berorientasi objek).
Konsep yang digunakan adalah berupa
penyimpanan data non-relasional yang
menggunakan model data distribusi
(jaringan) modern.
Metode-metode dalam NoSQL
menyederhanakan proses yang terjadi
dalam sistem basis data relasional.
Penyederhanaan proses ini memungkinkan
data direplikasi di banyak server secara
mudah dan menjamin ketersediaan data.
Namun di sisi lain, penyederhanaan proses
ini memiliki beberapa efek samping.
Beberapa metode tersebut mengurangi
integritas data, satu hal yang dijamin oleh
basis data relasional. Namun demikian, ada
beberapa implementasi NoSQL yang juga
telah menyediakan integritas data seperti
basis data relasional
Menurut Wikipedia,
NoSQL
adalah sebuah konsep mengenai
penyimpanan
data
non-relasional.
Berbeda dengan model basis data
relasional yang selama ini digunakan,
NoSQL menggunakan beberapa metode
yang berbeda-beda. Metode-metode
tersebutmenurut Dwight Merriman,
salah satu kontributor MongoDB, di
antaranya adalah:
 Key-value stores.
 Table-oriented
 Document-oriented
 Graph-oriented.
Tujuan pengembangan NoSQL
adalah untuk menyelesaikan berbagai
masalah yang tidak bisa ditangani oleh
basis data relasional, yaitu masalah
skalabilitas untuk pemrosesan data
berukuran besar. Jika data yang anda
gunakan dalam aplikasi nanti akan
berkembang menjadi berukuran besar,
maka
NoSQL
dapat
menjadi
pertimbangan
alternatif
sebagai
penyimpanan data.
Istilah NoSql pertama kali
digunakan pada tahun 1998 sebagai
nama untuk open source basis data yang
ringan tidak mengekspos antarmuka
SQL. Penulisnya, Carlo Strozzi,
mengklaim bahwa sebagai gerakan
NoSql “ berangkat dari model relasional
yang lebih tepat disebut NoREL atau
sesuatu yang berpengaruh. Istilah ini
diperkenalkan kembali pada awal 2009
oleh karyawan Rackspace, Eric Evans,
ketika Johan Oskarsson dari Last.fm
ingin mengorganisir sebuah acara untuk
membahas open source basis data
terdistribusi
Kokology
Kokology diciptakan ahli psikologi
Jepang yang bernama Isamu Saito dan
Tadahiko Nagao ini. Kokology tidak
menggunakan istilah psikologi yang
tidak semua orang awam mengerti,
permainan kokology ini meminta pemain
untuk menjawab pertanyaan seputar
topik-topik yang menghibur, seperti
warna burung imajinasi yang terbang ke
jendela kemudian menyingkapkan apa
arti yang jawaban pemain. Isamu Saito,
seorang
profesor
terkemuka
di
Universitas Rissho dan Waseda di
jepang, adalah pengarang beberapa buku
terlaris
dibidang
psikologi
dan
hubungan.
ia
adalah
pencipta
kokology.Tadahiko
nagao
adalah
pemimpin proyek kokology yang
ditemukan profesor saito. Kokology
telah terjual lebih dari 4 juta eksampler
di Jepang.
Kokology merupakan kata dalam 2
bahasa yakni Jepang dan Yunani, dalam
bahsa Jepang kokoro, pikiran, semangat,
perasaan + Yunani, -logia, ilmu.
Menurut istilah, kokology adalah suatu
permainan psikologi baru yang menarik
dan
penuh
kesenangan
untuk
menyingkap emosi dan sifat tingkah laku
seseorang yang sebenarnya.
Skenario kokology berdasarkan
prinsip psikologi, kokology meminta
pemain menjawab pertanyaan seputar
topik2 yang menghibur, seperti warna
burung imajinasi yang terbang ke jendela
pemain, kemudian apa yang akan 
pemain katakan akan memiliki makna
tertentu.
Kokology
menawarkan
pendekatan unik terhadap penemuan diri.
Ketika dimainkan bersama orang lain
akan memberikan masukan yang bagus 
tentang diri sendiri yang tidak pernah
diketahui.
MongoDB
Saat ini muncul konsep baru di
bidang teknologi DBMS yang dikenal
dengan NoSQL (Not Only SQL). NoSQL
adalah DBMS non-relational. Konsep
NoSQL yang sedang berkembang saat ini
adalah konsep Document Oriented Basis
data. Menurut Kristina Chodorow dan
Michael Dirolf (penulis, yang juga
software engineer asal Amerika Serikat),
salah
satu
DBMS
terbaik
yang
menggunakan konsep Document Oriented
Basis data adalah mongoDB.
MongoDB merupakan database
open
source
berbasis
dokumen
(Document-Oriented Database) yang
awalnya dibuat dengan bahasa C++.
MongoDB sendiri sudah dikembangkan
oleh 10gen sejak Oktober 2007, namun
baru dipublikasikan pada Februari 2009.
Selain karena performanya 4 kali lebih
cepat dibandingkan MySQL serta mudah
diaplikasikan, karena telah tergabung
juga sebagai modul PHP.
Dalam konsep MongoDB tidak ada
yang namanya tabel, kolom ataupun baris
yang ada hanyalah collection sama dengan
tabel, document sama dengan record. Data
modelnya sendiri disebut BSON dengan
struktur mirip dengan JSON. Dengan
konsep key-value yang ada pada
MongoDB, setiap document otomatis
memiliki index id yang unik. Hal ini
membantu mempercepat proses pencarian
data secara global
Alasan Menggunakan MongoDB
MongoDB hadir dengan beberapa
kelebihan yaitu :
Performa yang ditawarkan MongoDB
lebih cepat dibandingkan MySQL ini
disebabkan oleh memcached dan format
dokumennya yang berbentuk seperti
JSON
Replikasi, adalah fitur yang sangat
bermanfaat untuk backup data secara
realtime. MongoDB sangat cocok
digunakan untuk portal berita ataupun
blog, namun belum cocok untuk
digunakan pada sistem informasi yang
berkaitan dengan keuangan karena
MongoDB tidak mendukung transaction
SQL






Auto-sharding, merupakan fitur untuk
memecah database yang besar menjadi
beberapa bagian demi optimalisasi
performa database. Penggunaannya
sendiri sangat berguna ketika Anda
memiliki website dengan database yang
jutaan baris, sharding akan membantu
memecahnya menjadi beberapa bagian
MongoDB juga sudah mendukung C,
C++, C#, Erlang, Haskell, Java,
JavaScript, .NET(C# F#, PowerShell),
Lips, Perl, PHP, Python, Ruby dan Scala
Cross-platform,
sehingga
dapat
digunakan di Windows, Linux, OS X
dan Solaris
Proses CRUD (Create, Read, Update,
Delete) terasa sangat ringan
Map/Reduce, akan sangat membantu
ketika kita melakukan operasi agregasi.
Dimana semua entry datangnya dari
collection dan outputnya pun akan
menjadi collection juga. Kalau di
MySQL biasanya kita menggunakan
query GROUP BY
GridFS, spesifikasi yang digunakan
untuk menyimpan data yang sangat
besar.
Pengenalan Kerangka kerja
Kerangka kerja dapat diartikan
sebagai kerangka kerja, karena dengan
kerangka kerja dapat mempermudah
programer dalam membangun suatu
website atau aplikasi yang berbasis web.
Kerangka kerja dapat diartikan sebagai
koleksi atau kumpulan potonganpotongan program yang disusun atau
diorganisasikan
sedemikian
rupa,
sehingga dapat digunakan untuk
membantu membuat aplikasi utuh tanpa
harus membuat semua kodenya dari
awal.
Sebuah kerangka kerja selain
menyediakan lingkungan pengembangan
sendiri,
kerangka
kerja
juga
menyediakan berbagai macam fungsi
siap pakai yang bisa digunakan dalam
pembuatan website atau aplikasi berbasis
web. Fungsi yang terdapat pada
kerangka kerja bukan fungsi asli PHP
oleh karena itu bentuk fungsinya akan
sedikit berbeda.
Keuntungan Kerangka kerja
Kerangka kerja dibuat dan
dirancang
untuk
mempermudah
programer
dengan
keuntungan
sebagai berikut :
 Waktu pembuatan aplikasi atau
website menjadi lebih singkat
 Kode aplikasi website lebih mudah
dibaca karena jumlah barisnya
cenderung lebih sedikit.
 Dalam mengelola website akan lebih
mudah karena programer tidak harus
fokus dengan seluruh komponen
seperti tampilan,basis data dan
program utama.
 Tidak perlu membuat kode penujang
apliaksi seperti koneksi basis
data,validasi
form,
GUI
dan
keamanan
Pengenalan dan Keuntungan
Kerangka kerja Codeigniter
CodeIgniter merupakan salah satu
kerangka kerja PHP yang ada.
CodeIgniter dikembangkan oleh Rick
Ellis. Selain codeigniter juga masih
terdapat beberapa kerangka kerja php
seperti cake, symphony, yii, zend dan
prado
Tujuan dari pembuatan kerangka
kerja CodeIgniter ini menurut petunjuk
penggunaannya
adalah
untuk
menghasilkan kerangka kerja yang akan
dapat digunakan untuk pengembangan
proyek pembuatan website secara lebih
cepat dibandingkan dengan pembuatan
website dengan cara koding secara
manual, dengan menyediakan banyak
sekali pustaka yang dibutuhkan dalam







pembuatan website, dengan antarmuka
yang sederhana dan struktur logika untuk
mengakses pustaka yang dibutuhkan.
CodeIgniter membiarkan
untuk
memfokuskan diri pada pembuatan
website
dengan
meminimalkan
pembuatan kode untuk berbagai tujuan
pembuatan website.
Keuntungan
menggunakan
kerangka kerja codeigniter adalah
sebagai berikut :
Gratis.
Berjalan di PHP versi 4 dan 5.
Ringan dan cepat.
Menggunakan MVC.
Dokumentasi yang lengkap.
Konsep MVC
Konsep MVC terdiri dari tiga bagian
yaitu Model, View dan Controller.
Didalam website dinamis setidaknya
terdiri dari 3 hal yang paling pokok,
yaitu basis data, logika aplikasi dan cara
menampilkan halaman website. 3 hal
tersebut direpresentasikan dengan MVC
yaitu Model untuk basis data, view untuk
cara menampilkan halaman website dan
controller untuk logika aplikasi.
Model
Merepresentasikan struktur data dari
website yang bisa berupa basis data
maupun data lain, misalnya dalam
bentuk berkas teks atau berkas xml.
Biasanya didalam model akan berisi
kelas dan fungsi untuk mengambil,
melakukan update dan menghapus data
website. Karena sebuah website biasanya
memnggunakan basis data dalam
menyimpan data maka bagian model
biasanya akan berhubungan dengan
perintah-perintah query SQL.
View
Merupakan
informasi
yang
ditampilkan kepada pengunjung website.
Sebisa mungkin didalam View tidak
berisi logika-logika kode tetapi hanya













berisi variabel-variabel yang berisi data
yang siap ditampilkan. View bisa
dibilang adalah halaman website yang
dibuat menggunakan HTML dengan
bantuan CSS atau JavaScript.
Controller
Controller merupakan penghubung
antara Model dan View. Didalam
Controller inilah terdapat kelas-kelas
dan fungsi-fungsi yang memproses
permintaan dari View kedalam struktur
data didalam Model.
Controller tidak boleh berisi kode
untuk mengakses basis data. Tugas
controller adalah menyediakan berbagai
variabel yang akan ditampilkan di view,
memanggil model untuk melakukan
akses ke basis data, menyediakan
penanganan kesalahan, mengerjakan
proses logika dari aplikasi serta
melakukan validasi atau cek terhadap
input.
Fitur Codeigniter
Berikut ini adalah fitur-fitur yang
terdapat pada codeigniter :
Sistem berbasis Model View
Controller
Kompatibel dengan PHP versi 4
dan versi 5
Ringan dan Cepat.
Terdapat dukungan untuk berbagai
basis data.
Mendukung Active Record Basis
data.
Mendukung form dan validasi data
masukan.
Tersedia pengaturan session.
Tersedia kelas untuk mengirim
email.
Tersedia kelas untuk manipulasi
gambar (cropping,resizing, rotate dan
lain-lain).
Tersedia kelas untuk uppanggil
berkas.
Tersedia kelas yang mendukung
transfer via FTP.








1.
2.
3.
4.
Mendukung lokalisasi bahasa.
Tersedia kelas untuk melakukan
pagination
Mendukung enkripsi data.
Pencatatan kesalahan yang terjadi.
Tersedia kelas untuk membuat
calendar.
Tersedia kelas untuk mengetahui
pengguna agent, misalnya tipe browser
dan sistem operasi yang digunakan
pengunjung.
Tersedia kelas untuk pembuatan
template website
Memiliki helper yang sangat banyak
jumlahnya.
METODE PENELITIAN
Berikut ini adalah tahapan-tahapan
penilitian
yang
dilakukan
untuk
membuat aplikasi permain kokolgy
dengan MongoDB dan Codeigniter.
Penelitian Kepustakaan
Perencanaan
a. Definisi Masalah
b. Solusi Alternatif
Analisa
Analisa yang dilakukan adalah analisa
MongoDB dan Codeigniter yang
meliputi instalasi dan konsep dasar
MongoDB, analisa kebutuhan data untuk
skenario permainan kokolgy dan analisa
untuk kebutuhan perangkat lunak dan
perangkat keras.
Perancangan
Perancangan yang dibuat meliputi :
a. Perancangan UML mengunakan
use case diagram, activity diagram
dan sequence diagram.
b. Perancangan struktur navigasi
untuk pemain dan admin
c. Perancangan
tampilan
untuk
pemain dan admin
5. Implementasi
Pada tahap ini perancangan yang sudah
dibuat
sebelumnya
kaan
diimplementasikan ke dalam kerangka
kerja Codeigniter dan basis data
MongoDB untuk membuat permainan
kokology.
HASIL DAN PEMBAHASAN
Pembuatan aplikasi permainan
kokology ini lebih difokuskan untuk
memahami konsep document oriented
database dan mempelajari cara membuat
aplikasi berbasis web menggunakan
basis data MongoDB dan kerangka kerja
Codeigniter.
Setelah
mempelajari
dan
melakukan analisa terhadap MongoDB
dan
Codeigniter
maka
diimplementasikan dalam permainan
kokology. Dari analisa yanng dilakukan
MongoDB dapat diintegrasikan dengan
bahasa pemrograman PHP. Karena
kerangka kerja Codeigniter merupakan
kerangka
kerja
dengan
bahasa
pemrograman PHP maka diharapkan
MongoDB juga dapat diintegrasikan
dengan Codeigniter.
Tetapi bentuk perintah pada
Codeigniter tidak sama dengan bentuk
perintah pada PHP untuk itu dilakukan
percobaan untuk mengetahui sejauh
mana basis data MongoDB dapat
diintegrasikan dengan kerangka kerja
Codeigniter.
Untuk
melakukan
percobaan
tersebut
maka
akan
diimplemntasikan dalam permainan
kokology.
KESIMPULAN
Penggunaan perintah dasar untuk
memanipulasi data dalam basis data
MongoDB sudah dapat dilakukan dalam
Codeigniter seperti untuk menambah,
mengubah,
menghapus,
menghitung
jumlah document di dalam collection serta
melakukan penambahan atau pengurangan
otomatis. Untuk itu dapat dikatakan bahwa
MongoDB sudah dapat diintegrasikan dan
berjalan dengan baik pada kerangka kerja
Codeigniter.
Dari proses pembuatan simulasi ini,
dapat dilihat keunggulan dari MongoDB
diantaranya adalah basis data yang
menggunakan konsep document oriented
sehingga untuk menyimpan data yang
tidak terstruktur seperti kokology tidak
sulit dan tidak menghabiskan memori.
Kemudahan lain yang diberikan oleh
MongoDB adalah tidak harus membuat
struktur data untuk penyimpanan di basis
data dan mendefinisikan primary key. Hal
ini tentunya akan membantu dalam proses
penyimpanan ke basis data.
Penggunaan MongoDB ini juga
memiliki keterbatasan, diantaranya :
Meskipun sudah ada beberapa penyedia
layanan host yang sudah menyediakan
layanan MongoDB seperti mongolab,
tetapi
untuk
tampilannya
masih
membingungkan dan tidak user friendly
seperti pada penyedia layanan host pada
umumnya. MongoHQ juga merupakan
salah satu penyedia layanan host untuk
MongoDB, tetapi untuk mencoba harus
berbayar
menggunakan
pembayaran
internasional seperti visa. Untuk itu
penyedia layanan host untuk MongoDB
masih sangat terbatas dan saat ini baru
tersedia di luar Indonesia. Versi MongoDB
yang digunakan pada permaian ini adalah
versi 32-bit sehingga hanya dapat
menampung data sampai 2,5 GB
MongoDB tidak mendukung proses
transaksi karena model ini dibangun tanpa
relasi, constrain dan transactional process.
Oleh karena itu MongoDB sangat tidak
cocok jika digunakan untuk membangun
sistem
berbasis
transaksi
seperti
perbankan, pergudangan, atau akunting.
DAFTAR PUSTAKA












Anonim, NOSQL DAN RDBMS
URL:
http://134lq15.wordpress.com/2010/
04/12/nosql-dan-rdbms/ Akses
tanggal 12 Juli 2012 22.38
Anonim,MongoDB , URL:
http://en.wikipedia.org/wiki/Mongo
DB Akses tanggal 10 Juli 2012
Anonim. CodeIgniter – User’s
Guide, URL :
http://codeigniter.com/user_guide/,
2012
Dzacko, Haidar, Basis Data
(Database). Mangosoft. 2007.
Eko Kurniawan Khannedy ,
Pengenalan Sistem Manajemen
Basis Data MongoDB URL:
http://stripbandunk.com/2011/10/18/
pengenalan-sistem-manajemenbasis-data-mongodb/. Akses
tanggal 20 Juni 2012
Faisal Akib, Berbagai Model Data.
URL : http://teknikinformatika.com/ model-data/.
Akses tanggal 14 Juli 2012.
Fathansyah,Ir, Basis Data, Penerbit
Infomatika Bandung,Bandung 1999
Francia Steve, MongoDB and PHP,
O'Reilly Media,2012
Nagao Tadahiko,Saito Isamu,
Kokology 2, Pustaka Delaprasta,
2007
Seguin Karl,The Little MongoDB
Book, AttributionNonCommercial3.0Unported
sinaryuda,Pengenalan MongoDB
URL :
http://www.sinaryuda.web.id/tutoria
l/pengenalan-mongodb.html Akses
tanggal 11 Juni 2012
Wardana, Menjadi Master PHP
dengan Framework Codeigniter,
Penerbit Elexmedia, Jakarta,2010
Download