Citra Yuanita
Hedi Oktavia Ekaputri
Kartika Eka Putri
Rahma Diah Hilmas Tuti Putri
1. PENDAHULUAN
Teknologi informasi merupakan suatu
teknologi
yang digunakan
untuk
mengolah, memproses, menyimpan, dan
memanipulasi data yang pada akhirnya
akan menjadi sebuah informasi yang
berkualitas. Sedangkan informasi yang
berkualitas harus memenuhi empat
syarat, yakni akurat (data yang diproses
benar dan sesuai dengan kenyataan),
relevan (informasi yang dihasilkan sesuai
kebutuhan dengan masalah yang sedang
Penjelasan
Rilis 9 Maret 2009, dilengkapi
pembaruan estetis pada aplikasi, jam
alarm, voice search, pengiriman pesan
dengan Gmail, dan pemberitahuan
email.
Rilis
pertengahan
Mei
2009,
dilengkapi kemampuan merekam dan
menonton video dengan modus
kamera, mengunggah video ke
YouTube dan gambar ke Picasa,
dukungan bluetooth A2DP, animasi
layar, serta keyboard pada layar yang
dapat disesuaikan dengan sistem.
Rilis September 2009, dilengkapi
proses pencarian lebih baik, baterai
indikator dan kontrol applet VPN,
galeri foto, Text-to-speech engine,
kemampuan dial kontak, teknologi
text to change speech, VPN, gesture,
CDMA/EVDO, 802.1x, dan integrasi
kamera, camcorder, dan galeri.
Rilis
3
Desember
2009,
pengoptimalan hardware peningkatan
Google Maps 3.1.2, perubahan UI
dengan browser baru dan dukungan
HTML5, dukungan flash untuk
kamera
3.2MP,
digital
zoom,
Bluetooth 2.1.
Rilis 20 Mei 2010, dilengkapi
dukungan
Adobe
Flash
10.1,
kecepatan kinerja, integrasi V8
javascript engine yang dipakai Google
Chrome, pemasangan aplikasi dalam
SDcard, kemampuan WiFi hotspot
portable, dan auto update dalam
aplikasi Android Market.
Rilis 6 Desember 2010, dilengkapi
peningkatan kemampuan gaming,
fungsi
copy-paste,
efek
audio
baru(reverbm equalization, headphone
virtualization.
bahkan dapat diganti dengan komponen
lain yang sesuai dengan aplikasi yang
dikembangkan.
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schem
as.android.com/apk/res/andr
oid "
android:orientation="vertic
al"
android:layout_width="fill_
parent"
android:layout_height="fill
_parent">
<TextView
android:layout_width="wrap_
content"
android:layout_height="wrap
_content"
android:text="Hello
World"/>
2.4 XML
XML (eXtensible Markup Language)
dikembangkan mulai tahun 1996 dan
mendapatkan pengakuan dari W3C pada
bulan Februari 1998. Teknologi yang
digunakan pada XML sebenarnya bukan
teknologi baru, tapi merupakan turunan
dari SGML yang telah dikembangkan
pada awal 80-an dan telah banyak
digunakan pada dokumentasi teknis
bebagai
proyek
berskala
besar.
Pengembangan HTML menghasilkan
markup language yang tidak kalah
hebatnya dengan SGML.
Seperti halnya HTML, XML juga
menggunakan elemen yang ditandai
dengan tag pembuka (diawali dengan <
dan diakhiri dengan >), tag penutup
(diawali dengan </ diakhiri >) dan
atribut elemen (parameter yang
dinyatakan dalam tag pembuka misal
<form name=isidata>). Hanya
bedanya, HTML medefinisikan dari awal
2.3 Java
Java adalah bahasa berorientasi objek
yang
dapat
digunakan
untuk
pengembangan aplikasi mandiri, aplikasi
berbasis internet, serta aplikasi untuk
perangkat-perangkat cerdas yang dapat
berkomunikasi lewat internet atau
jaringan komunikasi. Dalam Java ada 2
(dua) jenis program berbeda, yaitu
aplikasi dan applet. Aplikasi adalah
program yang biasanya disimpan dan
dieksekusi
dari
komputer
lokal
sedangkan applet adalah program yang
biasanya disimpan pada komputer yang
jauh, yang dikoneksikan pemakai lewat
web browser.
<lagu judul=Indonesia
raya nadadasar=G
Birama=4/4>
<bar nomor=1>
<nada not=B
ketukan=1/2/>
<nada not=C
ketukan=1/2/>
<nada not=D ketukan=1/>
<nada not=B ketukan=2/>
...
</bar>
<bar nomor=2>
...
</bar>
</lagu>
Gambar 2.6 Contoh script xml untuk
penyajian notasi musik
2.5 SQLite
SQLite merupakan sebuah sistem
manajemen basis data relasional yang
bersifat ACID-compliant dan memiliki
ukuran pustaka kode yang relatif kecil,
dan ditulis dalam bahasa C. SQLite
merupakan proyek yang bersifat public.
2.5.1. Perintah Dasar
SQLite telah memahami sebagian besar
perintah SQL. Perintah SQL
umumnya dikelompokkan menjadi 3
bagian :
1. DDL (Data Definition Language)
adalah perintah yang digunakan untuk
mendefinisikan skema atau struktur dari
suatu database. Terdiri dari:
- CREATE - membuat tabel dalam
database.
- ALTER - mengubah struktur sebuah
tabel.
- DROP - menghapus tabel dari suatu
database.
- TRUNCATE - menghapus semua
record dari sebuah tabel, termasuk semua
alokasi ruang untuk record tersebut ikut
dihapus.
- RENAME - mengganti nama suatu
tabel.
2. DML (Data Manipulation Language)
adalah perintah yang digunakan untuk
mengelola data di dalam skema atau
struktur tabel. DML terdiri dari :
- SELECT - menampilkan data dari suatu
tabel.
2.7 Flowchart
Flowchart adalah penggambaran secara
grafik dari langkah-langkah dan uruturutan prosedur dari suatu program.
Flowchart menolong analis dan
programmer untuk memecahkan masalah
kedalam segmen-segmen yang lebih
kecil dan menolong dalam menganalisis
alternatif-alternatif lain dalam
pengoperasian. Simbol simbol pada
flowchart yang biasanya dipakai adalah
simbol simbol flowchart standart yang
dikeluarkan oleh ANSI dan ISO. Simbol
tersebut mempunyai arti sendiri, seperti
pada tabel di bawah ini.
10
11
12
3 PEMBAHASAN
3.1 Gambaran Umum Aplikasi
Pada tahap perancangan dan
implementasi aplikasi, penulis
merancang tampilan layout program, alur
logika program, dan menentukan tabel
beserta atribut yang akan dibutuhkan
pada proses yang ada pada aplikasi ini.
Aplikasi ini dibuat untuk melatih
kemampuan bahasa Jepang untuk pelajar
SMP, SMA, Mahasiswa, maupun
masyarakat yang tertarik untuk
mempelajari bahasa Jepang. Pengguna
dapat berlatih serta belajar sesering
mungkin karena aplikasi ini terdapat
pada ponsel. Tahap-tahap dari pembuatan
aplikasi Kuis Bahasa Jepang berbasis
Android adalah :
1. Merancang struktur navigasi pada
aplikasi tersebut.
3. Merancang aplikasi.
4. Melakukan pengcodingan untuk
aplikasi.
5. Melakukan uji coba pada aplikasi.
6. Melakukan debugging jika masih
terdapat kesalahan pada aplikasi tersebut
sehingga dapat memperbaiki coding
aplikasi.
13
14
15
16
android:layout_x="97dip"
android:layout_y="194dip"><
/Button> <Button
android:layout_width="85px"
android:text="Pengaturan"
android:id="@+id/settingsBt
n"
android:layout_height="wrap
_content"
android:layout_x="97dip"
android:layout_y="132dip"><
/Button> Pada potongan script
main.xml, terdapat textview untuk
memberi nama judul aplikasi dan tombol
tombol yang ada pada tampilan awal
seperti Mulai, Pengaturan, Tentang, dan
Keluar. Pada codingan di atas terdapat
@+id yaitu sebuah identifier untuk
masing-masing tombol, seperti
"@+id/playBtn" untuk tombol Mulai,
"@+id/settingsBtn" untuk tombol
pengaturan, "@+id/rulesBtn" untuk
tombol tentang, dan "@+id/exitBtn
untuk tombol keluar. Selanjutnya adalah
melanjutkan pembuatan script untuk
mengaktifkan tombol-tombol menu
tersebut. Berikut adalah potongan dari
script Kuis.java. public void
onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanc
eState);
setContentView(R.layout.mai
n); /// GAME MENU ///
Button playBtn = (Button)
findViewById(R.id.playBtn);
playBtn.setOnClickListener(
this);
Button settingsBtn =
(Button)
findViewById(R.id.settingsB
tn);
settingsBtn.setOnClickListe
ner(this);
Button rulesBtn = (Button)
findViewById(R.id.rulesBtn)
;
rulesBtn.setOnClickListener
(this);
Button exitBtn = (Button)
findViewById(R.id.exitBtn);
exitBtn.setOnClickListener(
this);
}
17
18
19
<RadioGroup
android:layout_height="wrap
_content"
android:layout_width="fill_
parent"
android:id="@+id/group1"
android:orientation="vertic
al" android:layout_x="8dip"
android:layout_y="88dip">
<RadioButton
android:layout_width="wrap_
content"
android:textColor="#000000"
android:text="RadioButton"
android:checked="false"
android:id="@+id/answer1"
android:layout_height="wrap
_content"></RadioButton>
<RadioButton
android:layout_width="wrap_
content"
android:textColor="#000000"
android:text="RadioButton"
android:checked="false"
android:id="@+id/answer2"
android:layout_height="wrap
_content"></RadioButton>
<RadioButton
android:layout_width="wrap_
content"
android:textColor="#000000"
android:text="RadioButton"
android:checked="false"
android:id="@+id/answer3"
android:layout_height="wrap
_content"></RadioButton>
<RadioButton
android:layout_width="wrap_
content"
android:textColor="#000000"
android:text="RadioButton"
android:checked="false"
android:id="@+id/answer4"
android:layout_height="wrap
_content"></RadioButton>
</RadioGroup> Widget radio button
digunakan untuk pilihan jawaban dari
soal yang ditampilkan. Dalam pembuatan
radio button ini harus menggunakan
radio group agar dapat mengurut dan
menata dengan rapih widget radio button
tersebut. Masing-masing radio button
mempunyai id berupa answer dari 1-4.
Selanjutnya adalah pembuatan script
QuestionActivity.java. private
Question currentQ; private
GamePlay currentGame;
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanc
eState);
setContentView(R.layout.que
stion); currentGame =
((KuisApplication)getApplic
ation()).getCurrentGame();
currentQ =
currentGame.getNextQuestion
(); Button nextBtn =
(Button)
findViewById(R.id.nextBtn);
nextBtn.setOnClickListener(
this); Button menu1Btn =
(Button)
findViewById(R.id.menu1Btn)
;
menu1Btn.setOnClickListener
(this); setQuestions();}
Script ini menggunakan layout dari
question.xml dimana di dalamnya telah
diaktifkan tombol menu berupa
id.menu1Btn dan tombol lanjut dengan
id.nextBtn.
20
if (c2.isChecked())
{
return
c2.getText().toString();
}
if (c3.isChecked())
{
return
c3.getText().toString();
}
if (c4.isChecked())
{
return
c4.getText().toString();
}
return null;
}
Perintah tersebut digunakan untuk
mempersiapkan soal dengan
menggunakan widget textview yang ada
pada file question.xml dan mengaktifkan
radio button untuk menampilkan jawaban
dari masing-masing soal yang sudah
tersedia di database.
21
22
23
android:text="Jawaban"
android:layout_x="234dip"
android:layout_y="322dip"><
/Button>
<TextView
android:paddingRight="15dip
"
android:textColor="#000000"
android:paddingLeft="15dip"
android:textStyle="bold"
android:text="TextView"
android:id="@+id/endgameRes
ult"
android:gravity="center_hor
izontal"
android:layout_height="wrap
_content"
android:layout_width="fill_
parent"
android:layout_x="2dip"
android:layout_y="264dip><
/TextView>
Penulis menggunakan widget imageview
untuk menampilkan gambar dimana
gambar akan sesuai dengan lebar layar
ponsel pengguna dan diberi identifiers
"@+id/resultPage". Terdapat 2
tombol yaitu tombol Menu dan Jawaban.
Tombol Jawaban diberi pengenal
"@+id/answerBtn" untuk dapat
mengarahkan ke menu berikutnya, yaitu
untuk menampilkan jawaban yang benar
dari soal-soal yang diajukan. Untuk
menampilakan komentar digunakan
widget textview yang diberi id
endgameResult. Setelah
endgame.xml dibuat, selanjutnya adalah
pengaktifan dari file endgame yang
dibuat di dalam EndgameActivity.java.
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanc
eState);
setContentView(R.layout.end
game);
GamePlay currentGame =
((KuisApplication)getApplic
ation()).getCurrentGame();
String result = "Nilai Anda
adalah : " +
currentGame.getRight()
*20/4+ ".";
String comment =
Helper.getResultComment(cur
rentGame.getRight(),
currentGame.getNumRounds(),
getDifficultySettings());
TextView results =
(TextView)findViewById(R.id
.endgameResult);
results.setText(result +
comment);
int image =
Helper.getResultImage(curre
ntGame.getRight(),
currentGame.getNumRounds(),
getDifficultySettings());
ImageView resultImage =
(ImageView)findViewById(R.i
d.resultPage);
resultImage.setImageResourc
e(image);
//handle button actions
Button finishBtn = (Button)
findViewById(R.id.finishBtn
);
finishBtn.setOnClickListene
r(this);
24
25
26
27
</AbsoluteLayout>
</ScrollView>
Widget textview dan button tetap digunakan
untuk menghubungkan ke halaman
sebelumnya. Textview digunakan untuk
menampilkan list soal dan jawaban dari
database. Identifiers untuk textview diberi
nama answers sedangkan untuk tombol
kembali diberi nama finishBtn. Berikut
merupakan file AnswerActivity.java.
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceS
tate);
setContentView(R.layout.answe
rs);
GamePlay currentGame =
((KuisApplication)getApplicat
ion()).getCurrentGame();
TextView results =
(TextView)findViewById(R.id.a
nswers);
String answers =
Utility.getAnswers(currentGam
e.getQuestions());
results.setText(answers);
Untuk menampilkan halaman jawaban ini,
file AnswerActivity menggunakan file
answers.xml sebagai layout. Setalah
halaman ditampilkan, dengan menggunakan
id answers milik widget textview, database
akan menampilkan soal dan jawaban sebagai
penghubungnya.
Button finishBtn = (Button)
findViewById(R.id.finishBtn);
finishBtn.setOnClickListener(
this);
}
public void onClick(View v) {
switch (v.getId()){ 47
case R.id.finishBtn :
finish(); } } Script tersebut
digunakan untuk mengaktifkan tombol
kembali dan melakukan intent ke halaman
sebelumnya dengan identifiers
finishBtn.
28
29
android:layout_height="wrap_c
ontent"
android:layout_x="13dip"
android:layout_y="93dip">
<RadioButton
android:checked="false"
android:text="Mudah"
android:textColor="#000000"
android:layout_width="wrap_co
ntent"
android:layout_height="wrap_c
ontent"
android:id="@+id/easySetting"
></RadioButton>
<RadioButton
android:checked="false"
android:text="Normal"
android:textColor="#000000"
android:layout_width="wrap_co
ntent"
android:layout_height="wrap_c
ontent"
android:id="@+id/mediumSettin
g"></RadioButton>
<RadioButton
android:checked="false"
android:text="Sulit"
android:textColor="#000000"
android:layout_width="wrap_co
ntent"
android:layout_height="wrap_c
ontent"
android:id="@+id/hardSetting"
></RadioButton>
</RadioGroup>
Sama seperti pada menu mulai, widget yang
digunakan terdiri dari radio button dan
button. Widget button disini digunakan
untuk mengaktifasi tingkat kesulitan yang
digunakan. Untuk pengkatifan halaman
pengaturan ini bisa dilihat dari file
SettingsActivity.java.
public void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceS
tate);
setContentView(R.layout.setti
ngs);
Button updateBtn = (Button)
findViewById(R.id.nextBtn);
updateBtn.setOnClickListener(
this);
updateButtonWithPreferences()
;
}
private void
updateButtonWithPreferences()
{
RadioButton c1 =
(RadioButton)findViewById(R.i
d.easySetting);
RadioButton c2 =
(RadioButton)findViewById(R.i
d.mediumSetting);
RadioButton c3 =
(RadioButton)findViewById(R.i
d.hardSetting);
SharedPreferences settings =
getSharedPreferences(Constant
s.SETTINGS, 0);
int diff =
settings.getInt(Constants.DIF
FICULTY, Constants.EASY);
switch (diff)
{
case Constants.EASY :
c1.toggle();
break;
case Constants.MEDIUM : 49
c2.toggle(); break; case
Constants.HARD : c3.toggle();
break; } } public void
onClick(View arg0) { if
(!checkSelected()) { return;
} else { SharedPreferences
settings =
getSharedPreferences(Constant
s.SETTINGS, 0); Editor e =
settings.edit();
e.putInt(Constants.DIFFICULTY
, getSelectedSetting());
e.commit(); finish(); } }
Perintah diatas adalah untuk mengkatifkan
30
31
android:layout_y="306dip"></B
utton>
<Button
android:textColor="#000000"
android:text="Katakana"
android:layout_height="wrap_c
ontent"
android:id="@+id/katakana" 51
android:layout_width="80px"
android:layout_x="220dip"
android:layout_y="305dip"></B
utton> <TextView
android:textColor="#000000"
android:text="Pada aplikasi
ini telah disediakan materi
huruf jepang yang akan
membantu pembelajaran bahasa
Jepang untuk pengguna. Untuk
melihat materi, silahkan
pilih menu yang telah
tersedia."
android:layout_height="wrap_c
ontent"
android:layout_width="wrap_co
ntent"
android:id="@+id/textView4"
android:layout_x="9dip"
android:layout_y="221dip"></T
extView> <TextView
android:textColor="#000000"
android:text="Aplikasi ini
tersedia dalam 3 tingkat
kesulitan yaitu mudah,
normal, dan sulit dimana
setiap tingkat terdiri dari
20 soal."
android:layout_height="wrap_c
ontent"
android:layout_width="wrap_co
ntent"
android:id="@+id/textView3"
android:layout_x="8dip"
android:layout_y="154dip"></T
extView> <TextView
android:textColor="#000000"
android:text="Aplikasi Kuis
Bahasa Jepang merupakan
32
i = new Intent(this,
Katakana.class);
startActivityForResult(i,
Constants.RULESBUTTON);
break;
case R.id.backBtn :
finish();
break;
}
}}
33
setContentView(R.layout.hirag
ana); Button backBtn =
(Button)
findViewById(R.id.backBtn);
backBtn.setOnClickListener(th
is); } public void
onClick(View arg0) {
finish(); } }
34
RAM 504 MB
VGA 512 MB
Harddisk 60 GB
Software:
Microsoft Windows XP
Installer_r10-windows (Android
SDK)
ADT-10.0.1
Eclipse Helios
4.2 Saran
Penulis menyadari bahwa aplikasi Kuis
Bahasa Jepang merupakan aplikasi
sederhana yang masih harus disempurnakan
lagi, karena itu saran yang dapat diberikan
penulis adalah agar aplikasi Kuis Bahasa
Jepang dapat lebih dikembangkan lagi
diantaranya adalah dengan penambahan
database pertanyaan kuis, penambahan fitur
timer, pembuatan tampilan aplikasi yang
lebih menarik, serta pengintegrasian dengan
internet agar pertanyaan kuis dapat diupdate
dengan mudah. Penulis berharap semoga
aplikasi ini dapat berguna dan lebih baik lagi
dalam pengembangannya nanti.
4. PENUTUP
4.1 Kesimpulan
Berdasarkan hasil uji coba aplikasi yang
telah dilakukan pada ponsel Android dapat
disimpulkan bahwa aplikasi Kuis Bahasa
Jepang dapat berjalan dengan baik. Dari uji
coba aplikasi ini, ternyata banyak informasi
yang didapatkan oleh pengguna aplikasi ini
khususnya pelajar dan mahasiswa dalam
memahami bahasa Jepang serta membantu
dalam memperoleh wawasan dan
pengetahuan tambahan, serta dapat
35
36