TUGAS AKHIR
Diajukan Untuk Memenuhi Persyar atan
Dalam Memperoleh Gelar Sar jana Komputer
Pr ogram Studi Teknik Infor matika
Oleh :
DENY CHUSUMAWATI 0734010153
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
Penyusun : Deny Chusumawati
ABSTRAKSI
Beragam aplikasi hingga permainan telah banyak yang berjalan dalam
telepon selular. Peminat aplikasi maupun game yang bersifat mobile juga
meningkat seiring dengan banyaknya aplikasi atau game yang diproduksi. Mulai
dari game yang bertema petualangan, olah raga, hingga balap. Kebanyakan game
tersebut hanya memberikan kesan hiburan dan bukan game yang bersifat edukasi.
Hal inilah yang melatar belakangi dibuatnya suatu game mobile yang bertema
edukasi dengan mata pelajaran bahasa inggris yang menjadi pilihannya, karena
dianggap pelajaran yang menyenangkan bagi anak-anak sekolah.
Mobile game edukasi ini mengambil tema kamus sederhana yang sudah
banyak dikenal dari berbagai kalangan. Terdapat benda sekitar, salam,
menghitung, angka dan kalimat sederhana. Cara menggunakannya pun hampir
sama, yang membedakan ada puzzle scrambling, contoh soal disertai gambar.
Pemilihan telepon selular untuk salah satu pengembangan aplikasi selain
lebih mudah dalam pengoperasiannya, sifat dari telepon selular yang fleksibel
menjadi salah satu alasannya. Sekarang ini telepon selular seakan menjadi salah
satu kebutuhan pokok bagi masyarakat.
Alhamdulillahirabbil’alamin. Puji syukur kepada Allah SWT yang telah
memberikan rahmat dan karuniaNya, sehingga penulis dapat menyelesaikan
pembuatan Tugas Akhir yang berjudul “APLIKASI BELAJ AR BAHASA
INGGRIS UNTUK ANAK BERBASIS MOBILE GAME “.
Aplikasi ini dibuat untuk mengenalkan suatu mobile game yang bertema
edukasi sehingga siswa dengan mudah dapat mengetahui kalimat sederhana
tentang benda sekitar, angka yang disertai suara atau cara membaca.
Tugas Akhir dengan beban 4 sks ini merupakan mata kuliah yang wajib
untuk menyelesaikan program Strata Satu (S1) pada program studi di Fakultas
Industri Jurusan Teknik Informatika Universitas Pembangunan Nasional
“Veteran” Jawa Timur.
Penulis menyadari bahwa dalam menyelesaikan Tugas Akhir ini telah
mendapat bantuan dan dukungan yang tidak sedikit dari berbagai pihak yang telah
memberikan masukan-masukan kepada penulis. Untuk itu penulis mengucapkan
terima kasih yang sebesar-besarnya kepada :
1. Allah SWT, yang telah memberikan kesehatan, pilihan, kesempatan dan
atas segala yang telah diberikan sampai detik ini.
2. Kedua otang tuakuw tercinta, Bapak Nuriatim dan Ibu Djamilah,
Kakakkuw tersayang Yuliana, S.pd atas semua do’a, dukungan dan
4. Ibu Dr. Ir. Ni Ketut Sari, MT. selaku Ketua Program Studi Teknik
Informatika Universitas Pembangunan Nasional “Veteran” Jawa Timur.
5. Bapak Agus Hermanto, S.Kom dan Bapak Basuki Rahmat, S.Si., MT
selaku Pembimbing pertama dan kedua yang telah sabar membimbing
dengan segala kerendahan hati dan selalu memberikan arahan, kemudahan
dan kesempatan bagi saya untuk berkreasi selama pembuatan Tugas Akhir
ini.
6. Didin Iswanto alias Didin Bonek Sms alias Bugielkuw, Shapiekuw,
Yandakuw sygs yang selalu sabar, mengerti, menyemangati, jadi
TPA(tempat pembuangan amarah) kalo akuw lagi badmud dan siap siaga
mengantar jemput akuw kuliah, kemana saja, kapan saja dan dimana saja.
7. Segenap dosen pengajar, karyawan dan admik Teknik Informatika
Universitas Pembangunan Nasional “Veteran” Jawa Timur.
8. Untuk kawand-kawand Teknik Informatika dan Sistem Infomasi angkatan
2007 Universitas Pembangunan Nasional “Veteran” Jawa Timur Kriposoft
Comuninity, Maya, Endunk, Windy, Wiedya, Kiki’, Paula, Rina dkk yang
tidak bisa kuw sebutkan satu persatu. terima kasih atas dukungannya baik
materil maupun moril.
9. Satria dan Franky, makasih untuk kesabarannya dan waktu yang telah
banyak memberi bantuan, saran dan kritik.
10.Dan masih banyak orang-orang yang sangat berperan dalam mewujudkan
pembaca sangat membantu guna perbaikan dan pengembangan di masa yang akan
datang.
Akhirnya dengan ridho Allah penulis berharap semoga Tugas Akhir ini
dapat memberikan manfaat bagi pembaca sekalian terutama mahasiswa di bidang
komputer.
Surabaya, 28 Nopember 2011
Halaman
ABSTRAKSI ... i
KATA PENGANTAR ... ii
DAFTAR ISI ... iv
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... ..xvi
BAB I ... 1
PENDAHULUAN ………..1
1.1 LATAR BELAKANG ... 1
1.2
PERUMUSAN MASALAH ... 2
1.3
BATASAN MASALAH ... 2
1.4 TUJUAN ... 3
1.5 MANFAAT ... 3
1.6 TINJAUAN UMUM & METODE PENELITIAN ... 3
LANDASAN TEORI... 6
2.1 Game... 6
2.1.1 Puzzle Game ... 7
2.1.2 Edutainment Game... 7
2.1.3 Elemen-elemen game ………..7
2.2 Pemrograman J2ME (Java 2 Micro Edition) ... 9
2.2.1 Pengertian J2ME ... 9
2.2.2 Mobile Information Device Profile (MIDP)... 10
2.2.3 MIDlet ... 10
2.2.4 Komponen-komponen J2ME... 11
2.2.4.1.
Graphics dan Class Canvas ...11
2.2.4.2.
Font ...14
2.2.4.3.
Form ...16
2.2.4.4.
Item ...17
2.2.4.5.
TextField ...18
2.3.
UML ……….…22
2.3.1 Pengertian Unified Modeling Language (UML) ... 22
2.3.4 Use Case Diagram... 26
2.3.5 Class Diagram... 28
2.3.6 Statechart Diagram... 30
2.3.7 Activity Diagram ... 31
2.3.8 Sequence Diagram ... 32
2.3.9 Collaboration Diagram ... 32
2.3.10 Component Diagram ... 33
2.3.11 Deployment Diagram ... 34
2.3.12 Langkah-Langkah Penggunaan UML ... 35
2.3.13 Tool Yang Mendukung UML ... 37
2.4 System Development Life Cycle (SDLC) ... 37
2.5 Pengembangan Perangkat Lunak ... 40
2.5.1 Perangkat Lunak Komersial dari Vendor ... 41
2.5.2 Perangkat Lunak Pesanan (
customized software
) ... 42
BAB III... 44
3.2
Perancangan Sistem ... 45
3.2.1
Activity Diagram Menu Aplikasi ... 47
3.2.1.1 Skenario Puzzle Soal... 48
3.2.1.2 Skenario Puzzle Gambar ... 50
3.2.1.3 Skenario Puzzle Kata ... 51
3.2.1.4 Skenario Listening ... 52
3.2.1.4 Activity Diagram Menu Bantuan ... 53
3.3 Pembuatan Aplikasi ... 53
3.3.1 Display Menu Utama... 55
3.3.2
Display Menu Kelas 1... 56
3.3.3
Display Soal Kelas 1... 56
3.3.4
Display Listening Kelas 1 ... 56
3.3.5
Display Menu Kelas 2... 57
3.3.6
Display Soal Kelas 2... 57
3.3.7
Display Puzzle Gambar Kelas 2 ... 57
3.3.10
Display Menu Kelas 3... 58
3.3.11
Display Soal Kelas 3... 59
3.3.12
Display Puzzle Gambar Kelas 3 ... 59
3.3.13
Display Puzzle Kata Kelas 3 ... 59
3.3.14
Display Listening Kelas 3 ... 60
3.3.15
Display Bantuan ... 60
3.4 Desain Antar Muka... 60
BAB IV ... 65
IMPLEMENTASI SISTEM ... 65
4.1
Lingkungan Implementasi... 65
4.2
Implementasi Proses Latar ... 65
4.2.1
Menu Utama : ... 66
4.2.2
Menu Kelas 1 : ... 67
4.2.3
Soal Kelas 1 :... 68
4.2.4
Listening Kelas 1 : ... 69
4.2.7 Puzzle Gambar Kelas 2 : ... 72
4.2.8
Puzzle Kata Kelas 2 : ... 73
4.2.9
Listening Kelas 2 : ... 74
4.2.10
Menu Soal Kelas 3 :... 75
4.2.11
Soal Kelas 3 :... 76
4.2.12
Puzzle Gambar Kelas 3 : ... 78
4.2.13
Puzzle Kata Kelas 3 : ... 79
4.2.14
Listening Kelas 3 : ... 80
4.2.15
Bantuan : ... 81
BAB V... 82
PENGUJIAN PROGRAM DAN ANALISIS ... 82
5.1
Lingkungan Uji Coba... 82
5.2
Skenario Uji Coba... 84
5.3
Uji coba Pada Handset ... 85
5.3.1 Nokia N95... 85
5.3.4.
CROSS CB-90 ...……….118
5.3.5.
Blueberry 1100………...129
5.3.6.
K-Touch ………...139
5.4 Tabel Pengujian ... 156
5.5 Analisa Game ... 154
BAB VI ... 156
PENUTUP... 156
6.1
Kesimpulan... 156
6.2
Saran ... 156
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Perkembangan teknologi saat ini telah memberikan pengaruh yang sangat
besar bagi dunia teknologi informasi. Munculnya beragam aplikasi memberikan
pilihan dalam peningkatan kinerja suatu pekerjaan,baik yang besifat desktop based, web based hingga yang sekarang ini munculnya aplikasi-aplikasi baru yang berjalan dalam telepon selular.
Pemilihan telepon selular untuk salah satu pengembangan aplikasi selain
lebih mudah dalam pengoperasiannya, sifat dari telepon selular yang fleksibel
menjadi salah satu alasannya. Sekarang ini telepon selular seakan menjadi salah
satu kebutuhan pokok bagi masyarakat.
Hingga saat ini tercatat paling tidak terdapat 150 juta pengguna telepon
selular dengan angka pertumbuhan pada tahun 2009 mencapai 32%
[
http://andikobe.wordpress.com/2008/12/12/prospek-industri-seluler-di-tahun-2009-dan-tantangannya/]. Telepon selular ini tidak hanya digunakan oleh orang
dewasa saja melainkan juga oleh anak-anak. Penggunaan telepon selular selain
sebagai media komunikasi, juga menjadikanya sebagai media pembelajaran.
Beragam aplikasi hingga permainan telah banyak yang berjalan dalam telepon
selular. Peminat aplikasi maupun game yang bersifat mobile juga meningkat
seiring dengan banyaknya aplikasi atau game yang diproduksi. Mulai dari game
yang bertema petualangan, olah raga, hingga balap. Kebanyakan game tersebut
inilah yang melatar belakangi dibuatnya suatu game mobile yang bertema edukasi
dengan mata pelajaran bahasa inggris yang menjadi pilihannya, karena dianggap
pelajaran yang menyenangkan bagi anak-anak sekolah.
Mobile game edukasi ini mengambil tema kamus sederhana yang sudah
banyak dikenal dari berbagai kalangan. Terdapat benda sekitar, salam,
menghitung, angka dan kalimat sederhana. Cara menggunakannya pun hampir
sama, yang membedakan ada puzzle scrambling, contoh soal disertai gambar.
No table of contents entries found.
1.2 PERUMUSAN MASALAH
Berdasarkan latar belakang masalah di atas, dapat dirumuskan beberapa
permasalahan dalam tugas akhir adalah :
Bagaimana membuat aplikasi game untuk anak yang bersifat edukatif
dalam bidang dilihat dari :
1. Aspek rekayasa perangkat lunak?
2. Aspek pembelajaran?
3. Aspek komunikasi visual?
1.3 BATASAN MASALAH
a. Aplikasi ini hanya dapat dijalankan pada handphone yang mendukung
teknologi MIDP 2.0 / MIDP 2.1.
b. Aplikasi ini dibuat menggunakan J2ME.
c. Untuk soal puzzle gambar resolusi yang diperkenankan
d. Aplikasi ini dibuat berdasarkan asumsi ejaan soal yang sudah benar
jadi tidak perlu dilakukan pemeriksaan ejaan (spealling checker).
e. Pada beberapa merk handphone tertentu, aplikasi ini membutuhkan
sertifikasi keamanan agar dapat mengakses file system pada
handphone.
1.4 TUJ UAN
Tugas akhir ini bertujuan untuk membuat suatu mobile game yang bertema
edukasi yang dapat dimainkan pada telepon selular dengan terdapat fasilitas tanya
jawab yang bertema edukasi.
1.5 MANFAAT
Manfaat yang diperoleh dari pembuatan aplikasi ini adalah siswa dengan
mudah dapat mengetahui kalimat sederhana tentang benda sekitar, angka yang
disertai suara atau cara membaca.
1.6 TINJ AUAN UMUM & METODE PENELITIAN
Langkah-langkah pengumpulan data sebagai dasar penyusunan tugas akhir
ini antara lain:
a. Studi Literatur
Dilakukan dengan cara mencari segala macam informasi secara riset
keperpustakaan dan mempelajari buku-buku yang berhubungan dengan
b. Pengumpulan dan Analisa Data
Pengumpulan data dilakukan dengan cara : observasi, identifikasi dan
klasifikasi melalui studi literatur.
c. Perancangan Program
Melakukan analisa awal tentang sistem yang akan dibuat yaitu suatu
pemecahan masalah yang dilakukan melalui sistem terkomputerisasi
dengan cara pembuatan aplikasi gadget.
d. Implementasi
Pada tahap ini dilakukan implementasi sistem dari rancangan yang telah
dibuat. Dalam tahap ini direalisasikan apa yang terdapat pada tahap
sebelumnya menjadi sebuah aplikasi yang sesuai dengan apa yang
direncanakan.
e. Uji Coba dan Evaluasi
Pada tahap ini dilakukan uji coba terhadap aplikasi dengan handpone.
Kemudian hasil dari uji coba tersebut dievaluasi. Apabila terdapat
kesalahan atau kekurangan pada aplikasi tersebut, maka dapat
dilakukan perbaikan-perbaikan yang diperlukan.
f. Penyusunan laporan tugas akhir
Tahap ini dilakukan penyusunan laporan dari semua dasar teori dan
metode yang digunakan dalam tugas akhir ini. Serta hasil dari
implementasi aplikasi yang telah dibuat.
1.7 SISTEMATIKA PENULISAN
BAB I : Pendahuluan
Berisi tentang latar belakang pembuatan tugas akhir, tujuan yang akan
dicapai, pembahasan, metodologi dan sistematika pembelajaran.
Pendahuluan Rancang Bangun Aplikasi Belajar Bahsa Inggris untuk Anak
Berbasis Mobile Game.
BAB II : Kajian Teori
Meliputi uraian dari teori-teori yang akan digunakan sebagai dasar pada
perencanaan dan pembuatan tugas akhir.
BAB III : Analisa dan Perancangan Perangkat Lunak
Berisi tentang perencanaan dan pembuatan suatu program simulasi.
BAB IV : Implementasi Perangkat Lunak
Berisi tentang implementasi perangkat lunak dari perancangan dan
perencanaan.
Bab V : Pengujian Perangkat Lunak
Berisi tentang pengujian dari perangkat lunak yang telah dibuat serta
analisanya.
BAB VI : Penutup
Berisi tentang kesimpulan dan saran yang didapatkan selama proses
perencanaan dari sistem serta rencana pengembangan dari tugas akhir
dimasa yang akan datang.
Daftar Pustaka
Berisi tentang referensi-referensi yang telah digunakan sebagai landasan
selama pembuatan Tugas Akhir.
Lampiran
LANDASAN TEORI
2.1 Game
Game adalah salah satu aplikasi yang tak pernah berhenti dibahas oleh pakar-pakar bidang IT. Mulai dari PC sampai sekarang kedunia wireless game
tetap hangat untuk dibicarakan. Dengan adanya Java yang merupakan bahasa
pemrograman lintas platform, kita tidak harus bergantung pada salah satu platform
saja untuk kepentingan menulis program sekaligus menjalankannya. Pasar aplikasi
untuk perangkat mobile (wireless application) ini sangat luas, dan menjadi
tantangan bagi para pemprogram di Indonesia khususnya, untuk siap-siap
menyambut salah satu teknologi masa depan ini Teknologi Java merupakan
sebuah teknologi yang berkembang sangat pesat akhir-akhir ini. Bahkan
belakangan ini dikabarkan berusaha mengalahkan Microsoft yang terkenal sebagai
kampiun dari produsen operating sistem dimuka bumi ini. Teknologi Java yang
pada awalnya dikenal untuk aplikasi pada desktop (J2SE) ataupun pada aplikasi
server (J2EE), kini hadir dengan tenologi terbarunya, J2ME Platform, untuk
pembangunan aplikasi pada mobile device seperti mobile phone dan PDA.
(http://j2me.winwinfaisal.info) Java 2 Micro Edition (J2ME) yang saat ini
semakin populer, merupakan teknologi terpenting dari Java untuk masa depan. Ini
dapat kita temukan pada semua mobile devices yang baru diluncurkan ke pasar, semuanya sudah mendukung Java, terutama produk dua besar yaitu : Nokia
2.1.1 Puzzle Game
Game jenis ini memberikan tantangan kepada pemainnya dengan
menjatuhkan sesuatu dari sisi sebelah atas ke bawah. Pemain harus menyusun
sedemikian rupa dan tidak ada yang tersisa ketika susunan diatasnya sudah akan
dibuat. Susunan ini dilakukan secepat dan sebaik mungkin.
2.1.2 Edutainment Game
Game ini bertujuan lebih untuk memancing minat belajar anak sambil
bermain. Contoh Boby Bola.
2.1.3 Elemen-Elemen Game
Sebuah game biasanya mempunyai elemen-elemen yang membentuk game
itu sendiri. Elemen–elemen dari sebuah game terdiri dari elemen–elemen pokok
dan elemen–elemen tambahan. Elemen–elemen pokok adalah elemen-elemen
utama yang selalu ada dalam sebuah game walaupun genre satu sama lain
berbeda. Berikut adalah elemen-elemen dari sebuah game :
a) J udul atau Title
Judul adalah elemen pertama dari sebuah game. Sebuah judul harus
singkat namun menyiatkan isi dari game itu sendiri. Judul game harus
menarik perhatian dan mudah diingat.
b) Title Scr een
Title screen atau layar judul digunakan untuk memberi kesan bahwa sebuah game lebih menarik dengan adanya tambahan grafis sesuai dengan
c) Cr edits
Credits digunakan untuk menunjukkan siapa saja orang yang terlibat dalam pembuatan game tersebut.
d) Intr o
Intro digunakan untuk mengenalkan game dibuat kepada pengguna game,
yang pertama kali memainkan game tersebut. Dengan adanya intro maka
secara perlahan pemain akan masuk kealur permainan. Intro juga bisa
berbentuk animasi ataupun gambar atau bahkan teks.
e) Control Panel
Control panel digunakan untuk mengatur permainan, biasanya digunakan untuk pengaturan audio, visual, serta game play.
f) User Inter face
User interface adalah tampilan yang muncul dilayar selang sebuah game dimainkan, tidak hanya itu, user interface juga berupa mouse atau
keyboard. User interface yang berada layar biasanya berisi simbol-simbol untuk menandakan sesuatau variable dalam game.
g) Help Scr een
Help screen dibuat untuk membantu pemain yang mengalami kesulitan
dalam game, seperti game play ataupun interface. Tidak semua game
mempunyai help screen, terkadang help screen digabung dengan intro atau
h) Stor y Line
Tidak semua game harus mempunyai alur cerita misalnya pada game mini
puzzle tersebut sebenarnya tidak terlalu membutuhkan alur cerita. Lain
halnya dengan game jenis RPG atau adventure.
i) Level
Pada dasarnya setiap game mempunyai level untuk dimainkan, sehingga
pemain tidak merasa bosan dan terasa lebih menantang. Namun pada
game-game tertentu istilah level diganti dengan stage atau chapter. j) Exit Scr een
Exit screen berguna untuk menunjukkan bahwa permainan sudah berakhir atau selesai.
2.2 Pemr ogr aman J 2ME (J ava 2 Micr o Edition)
2.2.1 Penger tian J 2ME
Menurut Raharjo dan Heryanto (2007), Java merupakan platform dan
bahasa pemrograman yang berjalan pada multiplatform, hal ini sesuai dengan
semboyan “Write Once Run Anywhere”.
2.2.2 Mobile Infor mation Device Pr ofile (MIDP)
Merupakan spesifikasi untuk sebuah profil J2ME. Pada saat ini terdapat
MIDP 1.0 dan MIDP 2.0. fitur tambahan MIDP 2.0 dibanding MIDP 1.0 adalah
API untuk Multimedia. MIDP User Interface API memiliki API level tinggi dan
level rendah. API level rendah berbasiskan penggunaan dari kelas abstrak Canvas,
sedangkan API kelas tinggi antara lain Alert, Form, List dan TextBox yang merupaka ekstensi dari kelas abstrak Screen. API level rendah lebih memberikan
kemudahan kepada pengembang untuk memodifikasi sesuai kehendaknya,
sedangkan API level tinggi biasanya hanya memberikan pengaksesan yang
terbatas.
Gambar 2.2 MIDP User Interface API
2.2.3 MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah
bagian dari kelas javax.microediton.midlet.MIDlet yang didefinisikan pada MIDP.
MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari bentuk dasar
splikasi sehingga antarmuka antara J2ME dan aplikasi manajemen pada perangkat
Gambar 2.3 Lifecycle/Siklus Hidup MIDlet
2.2.4 Komponen-komponen J 2ME
2.2.4.1 Graphics dan Class Canvas
Canvas digunakan untuk membuat antarmuka grafis level rendah. Semua elemen yang akan ditampilkan pada layar ponsel harus digambar pada Canvas
menggunakan objek Graphics. Canvas memiliki metode paint(Graphics g) yang
akan diakses setiap kali Canvas terbentuk dan metode repaint() dipanggil. Dalam
metode ini objek Graphics digunakan untuk menggambar pada Canvas. Metode
repaint() digunakan untuk me-refresh Canvas. Metode yang ada dalam library
javax.microedition. lcdui.Canvas yang mendefinisikan Canvas adalah sebagai
berikut:
Tabel 2.1 Metode pada library javax.microedition.lcdui.Canvas
M et ode Ket erangan
int get Widt h () M engembalikan nilai lebar Canvas
int get Height () M engembalikan nilai t inggi Canvas
final void repaint () M elakukan gambar ulang pada Canvas
final void repaint (int x, int y, int w idt h, int height )
M elakukan gambar ulang pada Canvas pada w ilayah t ert ent u
Void setFullScreenM ode (boolean
mode)
M engeset t ampilan Canvas menjadi layar penuh
Graphics adalah objek yang digunakan untuk menggambarkan gambar maupun string pada layar. Objek Graphics tidak perlu dibentuk (create) karena objek ini
akan otomatis dibangkitkan saat objek Canvas terbentuk. Cara kerja objek
Graphics adalah mengganti piksel-piksel layar dengan titik gambar yang baru.
Gambar 2.4 Piksel yang dikenai warna untuk menggambar kotak
Dalam library yang mendefinisikan Graphics javax.microedition.lcdui.Graphics
terdapat beberapa konstanta titik awal penggambaran sebagai berikut.
Tabel 2.2 Konstanta Graphics javax.microedition.lcdui.Graphics
Konst ant a Ket erangan
Graphics.LEFT Sisi paling kiri dari Canvas dilihat secara
Horizontal
Graphics.HCENTER Sisi t engah dari Canvas dilihat secara Horizont al
Horizontal
Graphics.TOP Sisi paling at as dari Canvas dilihat secara Vertikal
Graphics.VCENTER Sisi t engah dari Canvas dilihat secara Vert ikal
Graphics.BOTTOM Sisi paling baw ah dari Canvas dilihat secara
Vertikal
Konstanta penggambaran itu tidak dapat dipakai hanya dengan satu buah
sisi vertikal maupun horizontal, tapi kedua-duanya. Misalnya Graphics.LEFT
Graphics.TOP dimana Graphics.LEFT dilihat dari sisi horizontal Canvas dan
Graphics.TOP dilihat dari sisi vertikal Canvas. Metode penggambaran pada
Graphics adalah sebagai berikut.
Tabel 2.3 Metode penggambaran pada Graphics
M et ode Ket erangan
void draw Line (int x1, int y1, int x2, int y2)
M enggambarkan garis dan t it ik x1, y1 ke t it ik x2,y2
void draw Arc (int x, int y, int widt h, int height , int st ratAngle, int arcAngle)
M enggambarkan sebuah kur va dalam w ilayah kotak yang beraw al dari t itik x,y sebagai t it ik kiri at as seluas w idt hXheight , dimana st artAngle adalah t it ik aw al penggambaran kurva (0:letak jarum jam diangka 3, 90:letak jarum jam diangka 12, dan arcAngle merupakan besar derajat kurva void fillArc (int x, int y, int w idt h, int
height , int st art Angle, int arcAngle)
M engisi kurva di dalam w ilayah kot ak dengan
w arna
void draw Rect (int x, int y, int w idt h,
int height )
M enggambar kot ak dengan x, y sebagai t it ik kiri
at as seluas widt hXheigth
void draw RoundRect (int x, int y, int
w idt h, int height , int arcWidth, int
arcHeight )
M enggambar kotak berisi lengkung dengan x, y
sebagai t itik kiri at as seluas w idt hXheight dengan
sisi lengkung didalam kot ak seluas arcWidthXarcHeight
height )
void fillRoundRect (int x, int y, int w idt h, int height , int arcWidth, int
arcHeight )
M engisi kot ak lengkung dengan w arna
void draw Char (char charact er, int x, int y, int anchor)
M enggambar sat u karakt er dengan x, y sebagai t itik kiri at as penggambaran dan anchor adalah
konstant a t it ik aw al penggambar
void draw Char (char[]dat a, int
of fset , int lengt h, int x, int y, int anchor)
M enggambar sebuah array berisi karakt er
dengan x, y sebagai t itik kiri at as penggambaran dan anchor adalah konst ant a t it ik aw al
penggambaran
void draw St ring (St ring st r, int x, int
y, int anchor)
M enggambar st ring st r dengan x, y sebagai t it ik
kiri at as penggambaran dan achor adalah konstant a t it ik aw al penggambaran
int x, int y, int anchor) Dit ambah sat u dengan panjang karakt er len x, y
sebagai t itik kiri at as penggambaran dan anchor
adalah konst ant a t it ik aw al penggambaran
Font get Font () M engembalikan nilai Font sekarang
void setFont (Font font ) M engeset nilai font
void draw Image (image img, int x,
int y, int anchor)
M enggambar gambar dengan x, y sebagai t it ik
kiri at as penggambaran dan anchor adalah
konstant a t it ik aw al penggambaran
2.2.4.2 Font
Sebuah Font digunakan pada antarmuka level rendah . font digunakan untuk
mendefinisikan mode sebuah karakter atau string ke layar. Font ini hanya dapat
digunakan pada antarmuka pemakai level rendah seperti pada Canvas. Atribut
Tabel 2.4 Atribut Font pada J2ME
M et ode (St yle) Jenis (Face) Ukuran (Size)
STYLE_BOLD FACE_M ONOSFACE SIZE_LARGE
STYLE_ITALIC FACE_PROPORTIONAL SIZE_M EDIUM
STYLE_UNDERLINE FACE_SYSTEM SIZE_SM ALL
STYLE_PLAIN
Metode yang terdapat dalam library yang mendefinisikan Font,
javax.microedition.lcdui.Font adalah sebagai berikut
Tabel 2.5 Metode pada library javax.microedition.lcdui.Font
M et ode Keterangan
St at ic Font get Font (int face, int syl e, int size)
M engembalikan nilai Font baru dengan spesifikasi masukan
St at ic Font get Default Font () M engembalikan nilai font pada sist em Int get Face() M engembalikan nilai jenis (face) Font yang
digunakan
Int get st yle() M engembalikan nilai kombinasi mode
(st yle) at ribut Font menjadi sebuah int eger
Int get Size() M engembalikan nilai ukuran huruf
Boolean isPlain() M engembalikan t rue jika mode (st yle) yang digunakan adalah plain
Boolean isBold() M engembalikan t rue jika mode (st yle) yang digunakan adalah bold
Boolean isIt alic() M engembalikan t rue jika mode (st yle) yang digunakan adalah it alic
Boolean isUnderlined() M engembalikan t rue jika mode (st yle) yang digunakan adalah underline
Int get BaselinePosition() M engembalikan nilai kenaikan Font diukur dari garis dasar (baseline) sam pai bagian at as karakt er
Int charW idt h(char ch) M engembalikan nilai t inggi sebuah karakt er t ert ent u
Int charsWidt h(char[] ch, int offset , int lengt h)
M engembalikan nilai t inggi kumpulan karakt er ch dimulai dari indeks offset sepanjang lengt h
Int st ringWidt h(St ring st r) M engembalikan nilai t inggi St ring st r Int subst ringWidt h(St ring st r, int
offset , int lengt h)
M engembalikan nilai t inggi sub St ring st r dimulai dari indeks offset sepanjang length
2.2.4.3 For m
Form merupakan sebuah halaman yang digunakan untuk memasukkan
data. Form terdiri dari komponen yang biasa disebut dengan item. Kumpulan item
tersebut akan disimpan dalam sebuah array, dan pengaksesannya dengan
menggunakan indeks. Metode untuk mendefinisikan Form, javax. microedition.
lcdui. Form adalah sebagai berikut :
Tabel 2.6 Metode padajavax.microedition.lcdui.Form
M et ode Keterangan
Form (St ring tit le) M embuat sebuah Form baru dengan nama t it le
Form (St ring tit le, It em[] it ems) M embuat sebuah Form baru dengan nama t it le dan elemen yang ada pada array it ems int append(Im age img) M enambahkan sebuah Image
Void insert (int it emNum) M emasukkan sebuah it em kedalam Form dengan indeks it emNum
It em get (int it emNum) M engembalikan sebuah It em yang memiliki indeks it emNum
Void set (int it emNum ) M enggant i It em pada indeks it em Num dengan It em masukan
Void set It emSt at eList ener (It emSt at eList ener iList ener)
M enambahkan sebuah It emSt at eList ener pada Form
Int size() M engembalikan jumlah it em yang ada pada
Form
2.2.4.4 Item
Item merupakan kelompok besar dari elemen grafik yang dapat
ditambahkan ke dalam objek Form. Item biasanya adalah objek-objek yang
digunakan untuk memasukkan data pada Form. Komponenkomponen yang
termasuk dalam kelompok item adalah ImageItem, StringItem, TextField,
DateField, ChoiceGroup, dan Gauge.
Pada beberapa item membutuhkan suatu antarmuka (interface) ItemStateListener
yang berfungsi untuk merespon event yang dilakukan objek item dan memanggil
metode itemStateChanged() untuk melakukan response dari event.
Metode yang terdapat padajavax.microedition.lcdui.Item, adalah
sebagai berikut :
Tabel 2.7 Metode padajavax.microedition.lcdui.Item
M et ode Keterangan
Void set Label(St ring label) M engeset label It em
Tabel 2.8 Metode pada
javax.microedition.lcdui.ItemStateListener
M et ode Keterangan
Void it emSt at eChanged(It em it em)
Dieksekusi jika It em mengalami perubahan event
Item memiliki beberapa konstanta untuk menentukan tipe tampilan Item,
konstanta tersebut adalah sebagai berikut :
Tabel 2.9 Konstanta untuk menentukan tipe tampilan Item
M etode Keterangan
It em.BUTTON M ode t ampilan yang mengindikasikan
bahw a it em dit ampilkan sebagai t ombol (but t on)
It em.HYPERLINK M ode t ampilan yang mengindikasikan
bahw a it em dit ampilkan sebagai hyperlink
It em.PLAIN M ode t ampilan yang mengindikasikan
bahw a it em dit ampilkan sebagai t ombol normal
2.2.4.5 TextField
Merupakan sebuah objek dalam form yang berfungsi sebagai masukan dari
teks. Berbeda dengan TextBox yang merupakan subkelas dari Screen dan hanya
bersamaan dapat ditampilkan dengan item yang lain. Namun keduanya memiliki
persamaan dalam kapasitas maksimum dan batasan (constraint).
Tabel 2.10 Nilai batasan (constraint) padaTextField
M et ode Keterangan
Text Field.ANY M engijinkan semua karakt er dit ulis pada Text Field
Text Field.EM AILADDR Hanya mengijinkan masukan berupa alamat email pada Text Field
Text Field.NUM ERIC Hanya mengijinkan masukan berupa angka pada Text Field
Text Field.PHONENUM BER Hanya mengijinkan masukan berupa nomor
t elepon pada Text Field
Text Field.URL Hanya mengijinkan alamat berupa URL
Text Field.PASSWORD Biasanya digunakan dengan Text Field.ANY at au Text Field.NUM ERIC dengan penulisan Text Field.PASSW ORD| Text Field.ANY at au Text Field.PASSW ORD| Text Field.NUM ERIC. Text Field.PASSW ORD akan mengubah masukan m enjadi karakt er asterisk untuk keamanan.
Metode yang ada pada javax.microedition.lcdui.TextField , sebagai berikut
Tabel 2.11 Metode pada javax.microedition.lcdui.TextField
M etode Keterangan
Text Field(St ring label, St ring t ext , int maxSize, int const raint s)
Void delet e(int offset , int lengt h)
M enghapus t eks mulai dari indeks offset sepanjang lengt h
Void insert (char[] dat a, int offset , int lengt h, int position)
M emasukkan dat a pada indeks offset sepanjang lengt h pada array ke posisi posit ion pada Text Field
Void set Chars(char[] dat a, int offset , int lengt h)
M enggant i isi Text Field dengan dat a pada indeks offset sepanjang lengt h
Void set St ring(St ring t ext ) M enggant i isi Text Field dengan t ext Int get Chars(char[] dat a) M emasukkan isi Text Field pada dat a St ring get St ring() M engembalikan isi Text Field
Int get Const raint s() M engembalikan bat asan (const raint ) Text Field
Void set Const raint s(int Const raint s)
M engeset bat asan (const raint ) pada Text Field
Int get M axSize() M engembalikan nilai kapasit as maksimum Text Field
Int set M axSize(int m axSize) M engeset nilai kapasit as maksim um Text Field
Int get Caret Posit ion() M engembalikan nilai posisi cursor pada Text Field sekarang
Int size() M engembalikan nilai jumlah karakt er yang ada pada Text Field
Tabel 2.12 Metode pada javax.microedition.lcdui.ChoiceGroup
M et ode Keterangan
ChoiceGroup(St ring label, int choiceType)
M embuat ChoiceGroup baru tanpa elemen ChoiceGroup(St ring label, int
choiceType, St ring[] st ringElement s, Im age imageElement s)
M embuat ChoiceGroup baru dengan elemen yang ada pada st ringElement s dan gambar imageElem ent s
Int append(St ring st ringPart , Image imagePart )
Void delet e(int element Num) M enghapus elemen pada indeks element Num
Void insert (int Element Num, St ring st ringElement , Image imageElement )
M enambahkan elemen pada indeks element Num dengan t eks st ringElem ent dan gambar imageElement
Void set (int element Num , St ring st ringElement , Image
imageElement )
M enggant i elemen pada indeks element Num
St ring get St ring(int element Num)
M engembalikan nilai St ring yang t erasosiasi dengan elemen pada indeks element Num Image get Image(int element Num ) M engembalikan gambar yang t erasosiasi
dengan elemen pada indeks element Num Int getselect edIndex() M engembalikan nilai indeks dari el em en
yang t erpilih Void set Select edIndex(int
element Num, Boolean select ed)
M engeset elem en pada indeks element Num sebagai elemen yang t erpilih at au tidak
Int getSelect edFlags(boolean[] select edArray_ret urn)
M enyim pan st at us t erpilih pada array masukan
Void set Select edFlags(boolean[] M engeset st at us t erpilih pada
select edArray) ChoiceGroup sepert i pada array
masukan Boolean isSelect ed(int
element Num)
M engembalikan t rue jikaelement pada indeks elem ent Num merupakan elem en yang t erpilih
Int size() M engembalikan nilai jumlah elemen pada
ChoiceGroup
Tipe Choice yang dapat digunakan pada ChoiceGroup
Tabel 2.13 Tipe Choice padaChoiceGroup
M et ode Keterangan
Choice.EXCLUSIVE Hanya dapat memilih sat u pilihan
Choice.POPUP Tampilan m enu ChoiceGroup,akan muncul jika diklik
Choice.TEXT_W ARP_OFF Teks m enu m enggunakan fungsi w arp dan dapat m emilih lebih dari sat u pilihan Choice.TEXT_W ARP_ON Teks m enu m enggunakan fungsi w arp dan
hanya dapat m emilih satu pilihan
[http://lecturer.eepisits.edu/~yuliana/Contoh%20Buku%20TA/Rancang%20Bang
un%20Game%20Edukasi%20Ular%20Tangga%20Pada%20Aplikasi%20Mobile.
pdf ]
2.3 Unified Modeling Language (UML)
2.3.1 Penger tian Unified Modeling Language (UML)
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah
menjadi standar dalam industri untuk visualisasi, merancang dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar
untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat
membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut
dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis
dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class
dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti
lunak dalam bahasabahasa berorientasi objek seperti C++, Java, C# atau VB.NET.
Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi
prosedural dalam VB atau C. UML adalah bahasa untuk menspesifikasi,
memvisualisasi, membangun dan mendokumentasikan artifacts (bagian dari
informasi yang digunakan atau dihasilkan oleh proses pembuatan perangkat lunak,
perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak
lainnya [HAN98]. Selain itu UML adalah bahasa pemodelan yang menggunakan
konsep orientasi object. UML dibuat oleh Grady Booch , James Rumbaugh , dan
Ivar Jacobson di bawah bendera Rational Software Corp [HAN98]. UML
menyediakan notasi-notasi yang membantu memodelkan sistem dari berbagai
perspektif. UML tidak hanya digunakan dalam pemodelan perangkat lunak,
namun hampir dalam semua bidang yang membutuhkan pemodelan.
2.3.2 Sejar ah Singkat UML
UML (Unified Modeling Language) adalah sebuah bahasa yang
berdasarkan grafik/gambar untuk memvisualisasi, menspesifikasikan,
membangun, dan pendokumentasian dari sebuah sistem pengembangan software
berbasis OO (Object-Oriented). UML sendiri juga memberikan standar penulisan
sebuah system blue print, yang meliputi konsep bisnis proses, penulisan
kelas-kelas dalam bahasa program yang spesifik, skema database, dan
komponen-komponen yang diperlukan dalam sistem software
Pendekatan analisa & rancangan dengan menggunakan model OO mulai
diperkenalkan sekitar pertengahan 1970 hingga akhir 1980 dikarenakan pada saat
itu aplikasi software sudah meningkat dan mulai komplek. Jumlah yang
menggunakaan metoda OO mulai diuji cobakandan diaplikasikan antara 1989
hingga 1994, seperti halnya oleh Grady Booch dari Rational Software Co., dikenal
dengan OOSE (Object-Oriented Software Engineering), serta James Rumbaugh
Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang
merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan
mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek.
Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996
pengembangan tersebut dikoordinasikan oleh Object Management Gr oup
(OMG – http://www.omg.org). Tahun 1997 UML versi 1.1 muncul, dan saat ini
versi terbaru adalah versi 1.5 yang dirilis bulan Maret 2003. Booch, Rumbaugh
dan Jacobson menyusun tiga buku serial tentang UML pada tahun 1999. Sejak
saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi
berorientasi objek. (http://www.omg.org).
2.3.3 Konsepsi Dasar UML
Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku
UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar
Tabel 2.14 Konsep dasar UML
Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat gambar diatas dari Diagrams.
Main concepts bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram. Dan view adalah kategori dari diagaram tersebut.
Lalu darimana kita mulai? Untuk menguasai UML, sebenarnya cukup dua hal
yang harus kita perhatikan:
a. Menguasai pembuatan diagram UML
b. Menguasai langkah-langkah dalam analisa dan pengembangan dengan
Tulisan ini pada intinya akan mengupas kedua hal tersebut. Seperti juga tercantum
pada gambar diatas UML mendefinisikan diagram-diagram sebagai berikut:
a. use case diagram b. class diagram c. statechart diagram d. activity diagram e. sequence diagram f. collaboration diagram g. component diagram h. deployment diagram
2.3.4 Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke
sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang/sebuah aktor
adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk
melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat
membantu bila kita sedang menyusun requirement sebuah sistem,
mengkomunikasikan rancangan dengan klien, dan merancang test case untuk
Sebuah use case dapat meng-include fungsionalitas use case lain sebagai
bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang
di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar
fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case
lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Contoh use case diagram :
2.3.5 Class Diagr am
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
a) Nama (dan stereotype)
b) Atribut
c) Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut :
a) Private, tidak dapat dipanggil dari luar class yang bersangkutan.
b) Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
c) Public, dapat dipanggil oleh siapa saja.
Class dapat merupakan implementasi dari sebuah interface, yaitu class
abstrak yang hanya memiliki metoda. Interface tidak dapat langsung
diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class.
Dengan demikian interface mendukung resolusi metoda pada saat run-time.
Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi
Hubungan Antar Class
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class
yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari
class lain dan mewarisi semua atribut dan metoda class asalnya dan
menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang
diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu
class kepada class lain. Hubungan dinamis dapat digambarkan dengan
menggunakan sequence diagram yang akan dijelaskan kemudian.
Contoh class diagram :
2.3.6 Statechar t Diagr am
Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli
yang diterima. Pada umumnya statechartdiagram menggambarkan class tertentu
(satu class dapat memiliki lebih dari satu statechartdiagram). Dalam UML, state
digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama
sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard
yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam
kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk
lingkaran berwarna penuh dan berwarna setengah.
Contoh statechart diagram :
2.3.7 Activity Diagr am
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem
yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
Contoh activity diagram :
2.3.8 Sequence Diagr am
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal
(waktu) dan dimensi horizontal (objek-objek yang terkait).
Contoh sequence diagram :
Gambar 2.9Contoh sequence diagram
2.3.9 Collabor ation Diagr am
Collaboration diagram juga menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan
bukan pada waktu penyampaian message. Setiap message memiliki sequence
Contoh Collaboration diagram
Gambar 2.10Contoh Collaboration diagram
2.3.10 Component Diagram
Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code
maupun binary code, baik library maupun executable, baik yang muncul pada
compile time, link time, maupun run time. Umumnya komponen terbentuk dari
beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang
lebih kecil.
Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan
Contoh component diagram:
Gambar 2.11Contoh component diagram
2.3.11 Deployment Diagr am
Deployment/physical diagram menggambarkan detail bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak
(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada
lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah
node adalah server, workstation, atau piranti keras lain yang digunakan untuk
men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node
Contoh deployment diagram :
Gambar 2.12Contoh deployment diagram
2.3.12 Langkah-Langkah Penggunaan UML
Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:
a. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.
b. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus
use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.
c. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur
d. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
e. Berdasarkan use case diagram, mulailah membuat activity diagram.
f. Definisikan objek-objek level atas (package atau domain) dan buatlah
sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.
g. Buarlah rancangan user interface model yang menyediakan antarmuka bagi
pengguna untuk menjalankan skenario use case.
h. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap
package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebihbaik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
i. Setelah class diagram dibuat, kita dapat melihat kemungkinan
pengelompokan class menjadi komponen-komponen. Karena itu buatlah
component diagram pada tahap ini. Juga,definisikan tes integrasi untuk setiap
komponen meyakinkan ia berinteraksi dengan baik.
j. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan
requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
k. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
i. Pendekatan use case, dengan meng-assign setiap use case kepada tim
pengembang tertentu untuk mengembangkan unit code yang lengkap
ii. Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
l. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.
m. Piranti lunak siap dirilis. [
http://lecturer.eepis-its.edu/~tessy/tutorial/java/5UML%20Class%20Diagram.pdf]
2.3.13 Tool Yang Mendukung UML
Saat ini banyak sekali tool pendesainan yang mendukung UML, baik itu tool
komersial maupun opensource. Beberapa diantaranya adalah:
a. Rational Rose (www.rational.com)
b. Together (www.togethersoft.com)
c. Object Domain (www.objectdomain.com)
d. Jvision (www.object-insight.com)
e. Objecteering (www.objecteering.com)
f. MagicDraw (www.nomagic.com/magicdrawuml)
g. Visual Object Modeller (www.visualobject.com)
2.4 System Development Life Cycle (SDLC)
SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis
sistem dan programmer dalam membangun sistem informasi.
a. Melakukan survei dan menilai kelayakan proyek pengembangan system
informasi.
b. Mempelajari dan menganalisis sistem informasi yang sedang berjalan.
c. Menentukan permintaan pemakai sistem informasi.
d. Memilih solusi atau pemecahan masalah yang paling baik.
e. Menentukan perangkat keras (hardware) dan perangkat lunak (software).
f. Merancang sistem informasi baru.
g. Membangun sistem informasi baru.
h. Mengkomunikasikan dan mengimplementasikan sistem informasi baru.
i. Memelihara dan melakukan perbaikan/peningkatan system informasi baru bila
diperlukan.
System Development Lyfe Cycle (SDLC) adalah keseluruhan proses
dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC.
Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa
model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build
& fix, dan synchronize & stabilize. Dengan siklus SDLC, proses membangun
sistem dibagi menjadi beberapa langkah dan pada sistem yang besar,
masing-masing langkah dikerjakan oleh tim yang berbeda. Dalam sebuah siklus SDLC,
terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin
Langkah tersebut adalah :
a. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang
berjalan
b. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja
yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan
yang berkaitan dengan proyek sistem
c. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain
pemrograman yang diperlukan untuk pengembangan sistem informasi
d. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan
menulis program yang diperlukan
e. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah
dibuat
f. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara
sistem yang telah dibuat.
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama
hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang,
kadang-kadang bersama expert user, terutama dalam langkah spesifikasi
kebutuhan dan perancangan sistem untuk memastikan bahwa langkah telah
dikerjakan dengan benar dan sesuai harapan. Jika tidak maka langkah tersebut
perlu diulangi lagi atau kembali ke langkah sebelumnya.
Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control,
sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control
dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan
quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem.
Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan
mempermudah pemeliharaan dan peningkatan fungsi system.
Gambar 2.13 System Development Lyfe Cycle (SDLC)
2.5 Pengembangan Per angkat Lunak
Pengembangan perangkat lunak (Software development) merupakan salah
satu dari tahap rancangan system rinci/detail dari Siklus Hidup Pengembangan
Sistem (Software Development Life Cycle atau SDLC). Tim proyek system
mungkin mulai mencari paket perangkat lunak komersial yang sesuai atau
mendukung spesifikasi rancangan system dan berjalan pada rancangan arsitektur
komputernya. Paket perangkat lunak komersial secara luas tersedia untuk aplikasi
rancangan sistem yang terkait dengan kebutuhan khusus atau unik (memenuhi
keperluan pemakai dan spesifikasi rancangan sistem) maka paket perangkat lunak
komersial mungkin tidak sesuai atau mendukung kebutuhan pemakai secara
langsung. Perangkat lunak yang diharapkan untuk mendukung rancangan sistem
tersebut harus dibuat sendiri dari awal (scratch).
Sumber Per angkat Lunak Aplikasi
a. Perangkat Lunak Komersial dari Vendor.
b. Perangkat Lunak Pesanan (customized software) dikembangkan secara
in-house atau oleh kontraktor pemrograman independent.
2.5.1 Per angkat Lunak Komer sial dar i Vendor
Paket (off-the-self) yang tersedia bisa diterapkan dalam berbagai
kebutuhan bisnis. Beberapa paket bersifat generik dan multifungsional yang
memungkinkan para pemakai memprogram sofware tersebut untuk kebutuhannya
sendiri. Paket-paket tersebut mengotomisasi fungsi-fungsi bisnis dasar yang
umumnya tidak terlalu bervariasi dari satu organisasi dengan organisasi lain.
Contoh jenis paket adalah spreadsheet dan DBMS.
2.5.1.1 Keuntungan/kelebihan dar i Per angkat Lunak Komer sial :
a. Implementasi yang cepat
Software tersebut bersifat siap, teruji, dan terdokumentasi. Paket yang dibeli
biasanya pengimplementasiannya jauh lebih cepat dari pada mengembangkan
mengembangkannya sehingga secara potensial membantu memecahkan backlog
(penimbunan pekerjaan yang belum selesai).
b. Penghematan Biaya
Satu paket perangkat lunak komersial bisa dijual kepada banyak organisasi
sehingga biaya pengembangan ditanggung oleh banyak pemakai, dan biaya total
suatu paket akan lebih murah dari pada program pesanan yang sama.
c. Estimasi biaya dan waktu
Biaya atau harga paket komersial telah diketahui, dan tanggal
pengimplementasian-nya mudah diestimasi. Sebaliknya program pesanan
biasanya cenderung melampaui estimasi waktu dan biaya.
d. Reliabilitas
Sebelum diterbitkan di pasaran umum, paket perangkat lunak komersial pasti telah
diuji secara teliti. Melalui penggunaan yang ekstensif oleh sejumlah organisasi,
segala kesalahan yang dijumpai telah dideteksi dan dikoreksi sehingga peluang
kesalahannya lebih sedikit.
Ker ugian/kelemahan :
a. Kesesuaian Rancangan sistem yang tidak baik
Paket software komersial dibuat untuk berbagai organisasi, dan tidak untuk
organisasi tertentu maka paket ini mungkin mempunyai beberapa fungsi yang
tidak diperlukan atau mungkin tidak mempunyai fungsi yang diperlukan sehingga
(source code) yang bisa digunakan untuk penyesuaian dan tidak menyediakan layanan penyesuaian maka rancangan sistem mungkin harus diubah agar sesuai
dengan paket tersebut. Jika hal ini terjadi sebaiknya mengembangkan program
secara in-house agar programnya bisa memenuhi spesifikasi rancangan sistem
yang tepat.
b. Ketergantungan Vendor
Jika organisasi memerlukan perubahan paketnya maka organisasi akan
tergantung pada vendor dalam perolehan dukungannya, dan jika vendor telah tiada
maka organisasi akan kesulitan mencari dukungannya.
c. Biaya tidak langsung dari kerusakan SDLC
Seringkali apa yang ingin dicapai, manajemen tidak melaksanakan SDLC
menyeluruh atau mungkin melewati tahap SDLC, dan secara langsung menuju ke
paket perangkat lunak komersial Strategi ini seringkali mengakibatkan paket
perangkat lunak komersial tidak berjalan sesuai yang diharapkan dan masalah
sistem serta organisasional yang terjadi sebelum implementasi paket tersebut tetap
muncul sehingga menimbulkan kesulitan atau harus dibayar kemudian yaitu
adanya peningkatan biaya implementasi, operasi, dan pemeliharaan.
2.5.2 Per angkat Lunak Pesanan (customized software)
Jika system yang sedang dikembangkan tidak bisa didukung oleh paket
software maka harus memesan dari perusahaan jasa/kontraktor independen atau
membangun sendiri perangkat lunak (in-house) agar sesuai dengan rancangan
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisa Sistem
Dalam Tugas Akhir ini akan dibuat sebuah aplikasi belajar yang bertema
edukasi dengan mata pelajaran bahasa inggris yang menjadi pilihannya, karena
dianggap pelajaran yang mudah dan menyenangkan bagi anak-anak sekolah.
Aplikasi ini menggunakan perangkat mobile seperti handphone atau
telepone selular. Pemilihan telepon selular untuk salah satu pengembangan
aplikasi selain lebih mudah dalam pengoperasiannya, sifat dari telepon selular
yang fleksibel menjadi salah satu alasannya. Sekarang ini telepon selular seakan
menjadi salah satu kebutuhan pokok bagi masyarakat.
Pada bab ini akan dibahas tentang perancangan sistem aplikasi belajar dan
perangkat lunak yang mendukung pembuatan program aplikasi ini berbasis J2ME
yang dikembangkan oleh penulis. Perancangan program ini dimaksudkan untuk
mendapatkan suatu hasil yaitu berupa software aplikasi mobile game berbasis
J2ME sebagai sarana pembelajaran dan pengajaran berbasis J2ME.
Teknik yang digunakan yaitu membuat aplikasi J2ME/MIDlet yang
nantinya akan digunakan pengguna (user) dengan memanfaatkan sebuah
handphone. Dengan memanfaatkan perangkat mobile seperti handphone,
pengguna (user) dapat belajar bahasa inggris sesuai pilihan menu/soal yang dipilih
oleh pengguna (user).
Tindakan ini dilakukan untuk mendapatkan anak-anak yang senang belajar
3.2 Per ancangan Sistem
Pada proyek akhir mengenai pembuatan mobile game edukasi, desain sistem
yang digunakan terlihat seperti gambar berikut:
Gambar 3.1 Desain Sistem secara global
Perancangan sistem berisikan penjelasan tentang deskripsi umum sistem. Dari
desain sistem tersebut, pengguna (user) dapat memainkan aplikasi ini dari telepon
selular.
Dimana permaianan tersebut terhubung dengan sebuah Record Management
System (RMS). RMS ini berisi data-data soal/pertanyaan yang dapat diisi oleh
user, dan berupa soal Matematika. Data-data soal/pertanyaan ini nantinya akan
ditampilkan pada saat tertentu dalam permainan.
Dalam perancangan dan pembuatan rancangan game terdapat beberapa elemen
pembangun utama, antara lain;
i. Aplikasi Soal, yang didalamnya terdapat 3 Pilihan Tingkat Soal
yaitu Soal untuk kelas satu, Soal untuk kelas dua dan Soal untuk
kelas tiga.
ii. Aplikasi Puzzle Gambar, dimana terdapat 4 level dari gambar
dengan tingkat kesulitan yang berbeda.
• Menu Bantuan digunakan untuk menampilkan gambar asli
sehingga membantu user mengurutkan puzzle.
iii. Aplikasi Puzzle Kata, dimana terdapat kata-kata sederhana dalam
bahasa inggris yang sudah diacak ejaannya.
iv. Aplikasi Listening, berupa kata-kata sederhana dalam bahasa
inggris yang dirubah ke bentuk suara.
v. Aplikasi Bantuan, merupakan cara melakukan aplikasi.
Perancangan elemen-elemen pembangun tersebut akan dijelaskan melalui Unified
Modelling Language (UML), yang berupa Use Case Diagram, Activity Diagram,
dan Class Diagram. Use Case Diagram secara keseluruhan terlihat seperti gambar
Gambar 3.2 Use Case Diagram Secara Keseluruhan
3.2.1 Activity Diagram Menu Aplikasi
Pada menu aplikasi terdapat 6 pilihan aplikasi, yaitu Soal untuk kelas satu,
Soal untuk kelas dua, Soal untuk kelas tiga, Puzzle gambar, Puzzle kata, dan
Gambar 3.3 Activity Diagram Menu Permainan
3.2.1.1 Sk enar io Puzzle Soal
User dapat memilih soal sesuai kelasnya, setelah memilih user dapat
mengerjakan soal yang ada. Jika benar user akan melanjutkan ke soal berikutnya,
3.2.1.2 Skenar io Puzzle Gambar
Terdapat gambar yang diacak menjadi 9 bagian yang 1 bagian adalah
blank untuk memindah gambar, user diminta untuk menyusun gambar sesuai
gambar aslinya jika tidak paham dengan gambarnya maka user bisa memilih
bantuan untuk melihat gambar aslinya. Setelah melewati level 1, user bisa
melanjutkan ke level 2 dan seterusnya hingga level 4.
3.2.1.3 Skenar io Puzzle Kata
Terdapat kata-kata sederhana dalam bahasa inggris yang diacak, user
diminta menyusun kata tersebut sehingga menjadi kata yang benar dan
mempunyai arti. Jika sudah merasa yakin jawabannya benar, user dapat memilih
menu (sebelah kanan atas) qwerty jika ingin keypadnya qwerty, pilih cek jika
ingin langsung mengecek jawabannya benar atau salah, jika benar bisa lanjut ke
soal berikutnya jika salah bisa coba lagi dan kembali ke soal awal.
3.2.1.4 Skenar io Listening
Terdapat kalimat sederhana dalam bahasa inggris yang diubah menjadi
suara .wav jika ingin memainkan bisa memilih salah satu apabila jika tidak ingin
bisa keluar dari aplikasi ini.
start
end file wav
daftar wav
tampilkan file wav
mainkan file mainkan
input user
ya
tidak
tidak keluar ya
3.2.1.4 Activity Diagr am Menu Bantuan
Gambar 3.8 Activity Diagram Menu Bantuan
3.3 Pembuatan Aplikasi
Pada proses pembuatan game terdapat beberapa tahap pembuatan, antara
lain:
a. Pembuatan Menu Utama
b. Pembuatan Menu Kelas 1
• Pembuatan Soal Kelas 1
• Pembuatan Listening
• Pembuatan Soal Kelas 2
• Pembuatan Puzzle Gambar
• Pembuatan Puzzle Kata
• Pembuatan Listening
d. Pembuatan Menu Kelas 3
• Pembuatan Soal Kelas 3
• Pembuatan Puzzle Gambar
• Pembuatan Puzzle Kata
• Pembuatan Listening
e. Pembuatan Menu Bantuan Gambar
f. Pembuatan Menu Bantuan
Desain dari rancangan menu-menu tersebut akan terlihat seperti pada
Gambar 3.9 Desain dan Rancangan Menu Aplikasi
3.3.1 Display Menu Utama
3.3.2 Display Menu Kelas 1
Gambar 3.11 Tampilan Menu Kelas 1
3.3.3 Display Soal Kelas 1
Gambar 3.12 Tampilan Soal Kelas 1
3.3.4 Display Listening Kelas 1
3.3.5 Display Menu Kelas 2
Gambar 3.14 Tampilan Menu Kelas 2
3.3.6 Display Soal Kelas 2
Gambar 3.15 Tampilan Soal Kelas 2
3.3.7 Display Puzzle Gambar Kelas 2
3.3.8 Display Puzzle Kata Kelas 2 <