Anda di halaman 1dari 153

TUGAS AKHIR

APLIKASI M-LEARNING
KESENIAN ALAT MUSIK DAN LAGU DAERAH DI INDONESIA
BERBASIS J2ME

Diajukan sebagai syarat untuk melengkapi akhir studi


Program Studi Teknik Informatika Jurusan Teknik Elektro
Politeknik Negeri Semarang

Oleh :
1. Nisa Aulia Dalila

3.34.08.0.18

2. Umi Latifah

3.34.08.0.23

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2011
i

BUKTI PERSETUJUAN

Nama Penyusun

: Nisa Aulia Dalila

Nomor Induk Mahasiswa

: 3.34.08.0.18

Jurusan/Program Studi

: Teknik Elektro / Teknik Informatika

Judul Tugas Akhir

: APLIKASI M-LEARNING KESENIAN ALAT


MUSIK

DAN

LAGU

DAERAH

INDONESIA BERBASIS J2ME

Semarang,

Agustus 2011

Pembimbing Utama

Pembimbing Pembantu

Sukamto, S.Kom., M.T.

Budi Suyanto, S.T

NIP. 197101172003121001

NIP. 197610032003121002

ii

DI

BUKTI PERSETUJUAN

Nama Penyusun

: Umi Latifah

Nomor Induk Mahasiswa

: 3.34.08.0.23

Jurusan/Program Studi

: Teknik Elektro / Teknik Informatika

Judul Tugas Akhir

: APLIKASI M-LEARNING KESENIAN ALAT


MUSIK

DAN

LAGU

DAERAH

INDONESIA BERBASIS J2ME

Semarang,

Agustus 2011

Pembimbing Utama

Pembimbing Pembantu

Sukamto, S.Kom., M.T.

Budi Suyanto, S.T

NIP. 197101172003121001

NIP. 197610032003121002

iii

DI

BUKTI PENGESAHAN

Disahkan
Tanggal : Agustus 2011

Penguji I

Parsumo R., M. Kom


NIP. 196008221988031001

Penguji II

Penguji III

T. R. Yudantoro, S.Kom
Idhawati H., M. Kom
NIP. 196810252000121001 NIP.197711192008012013

Ketua Penguji

Sekretaris Penguji

Sukamto, S.Kom, M.T.


NIP. 197101172003121001

Drs. Sasongko
NIP.195901191988031001
Ketua Jurusan

Akhmad Jamaah F, S.T.


NIP. 196203231985031004

iv

SURAT PERNYATAAN PENJAMINAN KARYA TUGAS AKHIR

Yang bertanda tangan di bawah ini, saya :


Nama/ NIM/ Kelas

:
1. Nisa Aulia Dalila

/ 3.34.08.0.18 / IK.3A

2. Umi Latifah

/ 3.34.08.0.23 / IK.3A

Jurusan

: Teknik Elektro

Program Studi

: Teknik Informatika

Menyatakan bahwa dalam tugas akhir ini tidak terdapat karya yang pernah diajukan
untuk memperoleh sebutan keahlian di suatu perguruan tinggi dan tidak terdapat
karya atau pendapat yang pernah ditulis dan dibuat oleh orang lain, kecuali yang
secara tertulis pada acuan dalam naskah/karya tugas akhir ini dan disebutkan dalam
daftar pustaka.

Semarang,

Agustus 2011

Mahasiswa 1,

Mahasiswa 2,

Nisa Aulia Dalila

Umi Latifah

NIM. 3.34.08.0.18

NIM. 3.34.08.0.23

PERSEMBAHAN

Nisa Aulia Dalila


Bapak dan Ibu tercinta
Adri, Ardhan, dan si bungsu Fadhlan
My best partner, Umi Latifah
Teman-teman seperjuangan di Informatika, Kaisar08 dan Lima Srikandi

Umi Latifah
Ayah dan Bunda tercinta
Kakak dan adik-adikku tersayang
Teman Seperjuanganku, Nisa Aulia Dalila
Teman-teman Kaisar08 dan Lima Srikandi

vi

MOTTO

Sesungguhnya bersama kesulitan ada kemudahan


(QS Al-Insyirah :6)
Tidak ada harga atas waktu, tapi waktu sangat berharga. Memiliki waktu
tidak menjadikan kita kaya, tetapi menggunakannya dengan baik adalah
sumber dari semua kekayaan
Mario Teguh
Tinggalkanlah kesenangan yang menghalangi pencapaian kecemerlangan
hidup yang diidamkan. Dan berhati-hatilah, karena beberapa kesenangan
adalah cara gembira menuju kegagalan.
Mario Teguh
Optimis dan yakin, pasti bisa!
ShaMild

vii

KATA PENGANTAR

Puji syukur ke hadirat Allah SWT yang telah memberikan rahmat, berkah dan
anugerah-Nya sehingga penulis dapat menyelesaikan Tugas Akhir dengan judul
APLIKASI

M-LEARNING

KESENIAN

ALAT

MUSIK

DAN

LAGU

DAERAH DI INDONESIA BERBASIS J2ME. Tugas Akhir ini disusun untuk


melengkapi syarat akhir studi Program Diploma III pada Program Studi Teknik
Informatika Jurusan Teknik Elektro Politeknik Negeri Semarang.

Dalam menyelesaikan Tugas Akhir ini penulis banyak memperoleh bantuan dari
berbagai pihak. Oleh karena itu pada kesempatan ini penulis ingin menyampaikan
ucapan terima kasih kepada :
1.

Bapak Dr. H. Totok Prasetyo, B.Eng., M.T. selaku Direktur Politeknik Negeri
Semarang.

2.

Bapak Akhmad Jamaah F., S.T. selaku Ketua Jurusan Teknik Elektro.

3.

Bapak Drs. Parsumo Rahardjo, M.Kom. selaku Ketua Program Studi Teknik
Informatika Politeknik Negeri Semarang.

viii

5.

Bapak Sukamto, S.Kom., M.T. dan Bapak Budi Suyanto, S.T. selaku dosen
pembimbing yang telah banyak membantu, memberikan dukungan dan bantuan
berupa solusi masalah, ide pengembangan, serta masukan yang berguna bagi
penulis.

6.

Seluruh dosen pengajar dan staf laboratorium komputer Program Studi Teknik
Informatika Politeknik Negeri Semarang yang turut memberikan bantuan dan
dukungan.

7.

Orang tua serta keluarga kami yang telah memberikan doa dan dukungan dalam
pembuatan Tugas Akhir ini.

8.

Rekan-rekan mahasiswa Program Studi Teknik Informatika Politeknik Negeri


Semarang yang telah membantu dalam proses pembuatan Tugas Akhir ini.

9.

Semua pihak yang telah membantu penulis dari awal hingga akhir yang tidak
dapat penulis sebutkan satu persatu.

Penulis menyadari bahwa dalam penyusunan laporan Tugas Akhir ini masih jauh dari
kesempurnaan, untuk itu penulis selalu mengharapkan kritik dan saran yang
membangun dari semua pihak. Penulis berharap semoga Tugas Akhir ini dapat
bermanfaat bagi pembaca.
Semarang,

Penulis

ix

Agustus 2011

DAFTAR ISI

HALAMAN PERSETUJUAN.........................................................................ii
HALAMAN PENGESAHAN ..........................................................................iv
SURAT PERNYATAAN PENJAMINAN KARYA TUGAS AKHIR ...........v
HALAMAN PERSEMBAHAN .......................................................................vi
MOTTO

...................................................................................................vii

KATA PENGANTAR......................................................................................viii
DAFTAR ISI ...................................................................................................x
DAFTAR TABEL ............................................................................................xiv
DAFTAR GAMBAR........................................................................................xvi
ABSTRAK

...................................................................................................xx

ABSTRACT

...................................................................................................xxi

PENDAHULUAN .....................................................................................1

1.1 Latar Belakang Masalah..............................................................................1


1.2 Perumusan Masalah ....................................................................................3
1.3 Pembatasan Masalah ...................................................................................3
1.4 Tujuan

...................................................................................................4

1.5 Metodologi .................................................................................................4


1.6 Sistematika Penulisan .................................................................................7

LANDASAN TEORI................................................................................9

2.1 Kesenian ...................................................................................................9


2.2 Alat Musik..................................................................................................9
2.3 Lagu Daerah ...............................................................................................10
2.4 Pengertian M-Learning ...............................................................................11
2.4.1 Arsitektur M-Learning ..............................................................................12
2.4.2 Konten M-Learning ..................................................................................12
2.4.3 Kelebihan dan Kekurangan M-Learning ...................................................14
2.5 Java

...................................................................................................15

2.5.1 Java API(Application Programming Interface) .........................................16


2.5.2 Fase-fase Pemrograman Java ....................................................................17
2.6 Java 2 Micro Edition...................................................................................18
2.6.1 Aplikasi J2ME..........................................................................................18
2.6.2 Profil J2ME ..............................................................................................19
2.6.3 Konfigurasi...............................................................................................19
2.6.4 MIDP ( Mobile Information Device Profile) .............................................20
2.6.5 MIDlet ...................................................................................................21
2.7 Perangkat Lunak yang digunakan................................................................23
2.7.1 J2ME Wireless Toolkit .............................................................................23
2.7.2 Xampp ...................................................................................................24
2.7.3 PHP dan MySql ........................................................................................24
2.8 Perancangan Sistem dengan UML...............................................................26
2.8.1 Pengertian UML .......................................................................................26
2.8.2 Building Blocks.........................................................................................26

xi

ANALISIS DAN PERANCANGAN SISTEM .........................................32

3.1 Gambaran Umum Sistem ............................................................................32


3.2 Analisis dan Definisi Kebutuhan .................................................................33
3.2.1 Pemodelan Use case Diagram ...................................................................33
3.2.2 Pemodelan dengan Statechart Diagram ....................................................38
3.3 Perancangan Sistem ....................................................................................42
3.3.1 Pemodelan Class Diagram ........................................................................42
3.3.2 Desain GUI (Graphic User Interface) .......................................................43
3.3.3 Desain Database.......................................................................................50
4

IMPLEMENTASI DAN PENGUJIAN SISTEM.....................................57

4.1 Spesifikasi Perangkat Keras dan Lunak.......................................................57


4.1.1 Spesifikasi Perangkat Keras ......................................................................57
4.1.2 Spesifikasi Perangkat Lunak .....................................................................58
4.2 Implementasi Sistem ...................................................................................59
4.2.1 Implementasi Basisdata ............................................................................59
4.2.2 Implementasi Koding Sistem ....................................................................62
4.3 Pengujian Aplikasi ......................................................................................69
4.3.1 Pengujian Aplikasi pada Ponsel ................................................................69
4.3.2 Pengujian Tampilan Web Server ...............................................................78
4.3.3 Pengujian Kualitas Ponsel.........................................................................85
4.3.4 Pengoprasian dan Pengujian Sistem Aplikasi pada Siswa Kelas 6 SD .......88
5

PENUTUP .................................................................................................92

5.1 Kesimpulan.................................................................................................92
5.2 Saran

...................................................................................................93

xii

DAFTAR PUSTAKA.......................................................................................P
LAMPIRAN ...................................................................................................L

xiii

DAFTAR TABEL

Tabel 2.1 Pembuatan program berbasis Java ...........................................................17


Tabel 2.2 Perbandingan CLDC dan CDC ...............................................................19
Tabel 3.1 Pengelompokan antara aktor dan use case................................................36
Tabel 3.2 Struktur tabel murid ................................................................................51
Tabel 3.3 Struktur tabel pengajar ............................................................................51
Tabel 3.4 Struktur tabel soal ...................................................................................52
Tabel 3.5 Struktur tabel sementara ..........................................................................53
Tabel 3.6 Struktur tabel nilai_total ..........................................................................53
Tabel 3.7 Struktur tabel status_login .......................................................................53
Tabel 3.8 Struktur tabel saran_kritik .......................................................................54
Tabel 4.1 Implementasi struktur tabel status_login..................................................59
Tabel 4.2 Implementasi struktur tabel murid ...........................................................60
Tabel 4.3 Implementasi struktur tabel pengajar .......................................................60
Tabel 4.4 Implementasi struktur tabel soal ..............................................................60
Tabel 4.5 Implementasi struktur tabel saran_kritik ..................................................61
Tabel 4.6 Implementasi struktur tabel sementara.....................................................61
Tabel 4.7 Implementasi struktur tabel nilai_total.....................................................61
Tabel 4.8 Pengujian Kualitas Ponsel .......................................................................86

xiv

Tabel 4.9 Daftar Pertanyaan....................................................................................88


Tabel 4.10 Indikator Penilaian ................................................................................89
Tabel 4.11 Tingkat Kemudahan dalam Pemahaman Materi Pembelajaran ...............89
Tabel 4.12 Hasil Pengujian Sistem pada Siswa Kelas 6...........................................90

xv

DAFTAR GAMBAR

Gambar 1.1 Model perancangan sistem dengan metode waterfall..............................5


Gambar 2.1 Skema dari bentuk M-Learning ...........................................................11
Gambar 2.2 Arsitektur M-Learning ........................................................................12
Gambar 2.3 Fase-fase Pemrograman Java ..............................................................17
Gambar 2.4 Diagram Kelas Antarmuka pada MIDP................................................21
Gambar 2.5 Daur hidup Midlet ..............................................................................22
Gambar 2.6 Sebuah Kelas dari model UML ............................................................27
Gambar 2.7 Collaboration ......................................................................................28
Gambar 2.8 Use case ..............................................................................................28
Gambar 2.9 Nodes .................................................................................................29
Gambar 2.10 Sebuah interface/antar-muka..............................................................29
Gambar 2.11 Dependency .......................................................................................30
Gambar 2.12 Association ........................................................................................30
Gambar 2.13 Generalizations..................................................................................30
Gambar 2.14 Realizations .......................................................................................31
Gambar 3.1 Desain Sistem Secara Umum ...............................................................32

xvi

Gambar 3.2 Identifikasi Use Case dan Aktor pada VP-UML...................................37


Gambar 3.3 Use Case Diagram M-Learning Kesenian Alat Musik dan Lagu Daerah
di Indonesia ............................................................................................................38
Gambar 3.4 Statechart Diagram Subsistem User Umum..........................................39
Gambar 3.5 Statechart Diagram Subsistem Murid ...................................................40
Gambar 3.6 Statechart Diagram Subsistem Pengajar ...............................................41
Gambar 3.7 Pemodelan Class Diagram ...................................................................42
Gambar 3.8 Tampilan Awal Situs Web ...................................................................43
Gambar 3.9 Tampilan Menu Pengajar .....................................................................44
Gambar 3.10 Tampilan Menu Administrator ...........................................................45
Gambar 3.11 Desain Tampilan Awal ......................................................................46
Gambar 3.12 Desain Menu Utama .........................................................................46
Gambar 3.13 Desain Menu Daftar ..........................................................................47
Gambar 3.14 Desain Menu Pilihan Login................................................................47
Gambar 3.15 Desain Menu Login ...........................................................................48
Gambar 3.16 Desain Menu Murid ...........................................................................48
Gambar 3.17 Desain Menu Pengajar .......................................................................49
Gambar 3.18 Desain Menu Belajar .........................................................................49
Gambar 3.19 Desain Menu Alat Musik dan Lagu Daerah........................................50
Gambar 3.20 Desain Menu Panduan .......................................................................50
Gambar 3.21 Relasi Antar Tabel .............................................................................55
Gambar 4.1 Tampilan Image...................................................................................62
Gambar 4.2 Tampilan Choice Group.......................................................................63
Gambar 4.3 Tampilan Video ...................................................................................65
Gambar 4.4 Tampilan Dengar Lagu ........................................................................66
xvii

Gambar 4.5 Tampilan Latihan Soal.........................................................................68


Gambar 4.6 Tampilan Awal Aplikasi pada Ponsel...................................................69
Gambar 4.7 Menu Utama pada Ponsel ....................................................................70
Gambar 4.8 Menu Daftar pada Ponsel.....................................................................70
Gambar 4.9 Menu Login pada Ponsel.....................................................................71
Gambar 4.10 Menu Belajar pada Ponsel..................................................................72
Gambar 4.11 Menu Panduan pada Ponsel................................................................73
Gambar 4.12 Menu Murid pada Ponsel ...................................................................74
Gambar 4.13 Tampilan Data Diri pada Ponsel.........................................................74
Gambar 4.14 Tampilan Latihan Soal pada Ponsel ...................................................75
Gambar 4.15 Tampilan Nilai pada Ponsel ...............................................................75
Gambar 4.16 Tampilan Saran pada Ponsel ..............................................................76
Gambar 4.17 Menu Pengajar pada Ponsel ...............................................................76
Gambar 4.18 Tampilan Data Murid pada Ponsel .....................................................77
Gambar 4.19 Tampilan Data Soal pada Ponsel ........................................................77
Gambar 4.20 Tampilan Awal Situs Web .................................................................78
Gambar 4.21 Tampilan Halaman Menu Pengajar ....................................................79
Gambar 4.22 Tampilan Menu Data Murid...............................................................80
Gambar 4.23 Tampilan Menu Ubah Data Murid .....................................................80
Gambar 4.24 Tampilan Menu Tambah Data Murid .................................................81
Gambar 4.25 Tampilan Informasi Perubahan ..........................................................81
Gambar 4.26 Tampilan Menu Daftar Soal...............................................................82
Gambar 4.27 Tampilan Menu Daftar Nilai Murid ...................................................82

xviii

Gambar 4.28 Tampilan Menu Lihat Saran...............................................................83


Gambar 4.29 Tampilan Menu Daftar URL Gambar.................................................84
Gambar 4.30 Tampilan Halaman Menu Admin .......................................................85

xix

ABSTRAK

Di era globalisasi seperti sekarang ini, teknologi semakin berkembang dengan


cepat. Sehingga semakin memudahkan masyarakat dalam mengakses informasi,
baik dari luar negeri maupun dalam negeri. Media untuk mengakses informasi
pun tidak hanya melalui PC (Personal Computer), tetapi juga dapat melalui
media telepon selular yang dapat diakses dimana saja dan kapan saja.
Tujuan dari pembuatan Tugas Akhir ini adalah mempermudah pengguna
khususnya anak-anak Indonesia pelajar SD tingkat akhir dalam mempelajari
jenis alat musik dan lagu daerah yang ada di Indonesia yang dapat di akses
kapan saja dan dimana saja melalui media telepon selular. Dalam tugas akhir
ini, dilakukan perancangan aplikasi pada telepon selular dengan sistem
pembelajaran berupa materi berbagai macam alat musik dan lagu daerah di
Indonesia. Aplikasi ini disebut dengan M-Learning Kesenian Alat Musik dan
Lagu Daerah di Indonesia.
Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia dibuat
dengan bahasa pemrograman Java Platform Micro Edition. Aplikasi ini dapat
diunduh melalui media web, kemudian menjalankannya secara online pada
media telepon selular.

xx

ABSTRACT

In an era of globalization, as now, the technology is growing rapidly. Thus


further facilitate public access to information, both from foreign and domestic.
Any media to access information not only through a PC (Personal Computer),
but can also be through the medium of mobile phones that can be accessed
anywhere and anytime.
Final goal of making it is easier for users, especially the children of Indonesia in
the study of the musical instruments and folk songs that exist in Indonesia which
can be accessed anytime and anywhere via mobile phone media. In this thesis,
carried out the design of applications on mobile phones with the system of
learning material in the form of various kinds of musical instruments and folk
songs in Indonesia. This application is referred to as M-Learning and Video Art
Musical Instruments in Indonesia Region.
M-Learning Applications Art Musical Instruments and Song Areas in Indonesia
made with the programming language Java Platform Micro Edition. This
application can be downloaded via the web medium, and then run it online on
the mobile phone media.

xxi

1.1

PENDAHULUAN

Latar Belakang Masalah

Di era globalisasi seperti sekarang ini, teknologi semakin berkembang dengan cepat.
Sehingga semakin memudahkan masyarakat dalam mengakses informasi, baik dari luar
negeri maupun dalam negeri. Media untuk mengakses informasi pun tidak hanya melalui
PC (Personal Computer), tetapi juga dapat melalui media telepon selular yang dapat
diakses dimana saja dan kapan saja.
Saat ini media telepon selular atau yang biasa disebut dengan Handphone, juga memiliki
berbagai fasilitas yang lebih memudahkan para penggunanya. Selain digunakan untuk
media komunikasi seperti telepon dan SMS (Short Message Service), handphone juga
memudahkan kita untuk mengakses informasi, karena dilengkapi dengan fasilitas GPRS,
GPS, aplikasi Java, aplikasi berbasis teks seperti .txt dan .pdf.
Salah satu fasilitas dari media telepon selular yang cukup berkembang untuk saat ini
adalah aplikasi Java Mobile. Dengan aplikasi tersebut, dapat dikembangkan media
pembelajaran yang juga sangat berguna bagi pengguna telepon selular karena dapat
memberikan edukasi yang bermanfaat. Jenis pembelajarannya bermacam-macam,
disesuaikan dengan tingkat usia maupun pendidikan. Misalnya untuk di kalangan usia
pelajar anak-anak yang masih kurang mengenal kebudayaan daerah Indonesia dapat
dikembangkan media pembelajaran tentang kesenian musik daerah.

Kesenian musik daerah seperti alat musik tradisional dan lagu daerah adalah salah satu
kebudayaan bangsa Indonesia yang seharusnya menjadi salah satu kebanggaan warga
negara Indonesia. Tapi kenyataannya dalam kehidupan sehari-hari, anak-anak Indonesia
lebih menghafal lagu-lagu yang bertemakan cinta yang mana tidak sesuai dengan usia
anak-anak. Selain itu, para remaja juga lebih memilih untuk mendengarkan lagu-lagu
barat, dibanding untuk mendengar ataupun menghafalkan lagu-lagu daerah yang ada di
tanah airnya sendiri. Bahkan, dari segi alat musik tradisional seperti angklung, diklaim
oleh negara lain. Padahal kita tahu, bahwa alat musik tersebut berasal dari Indonesia,
tepatnya Jawa Barat.
Saat ini seluruh akses untuk transportasi dan komunikasi sangat fleksibel dan mudah.
Hal ini juga menyebabkan mudahnya kebudayaan bangsa lain untuk masuk ke negara
Indonesia, tanpa adanya pemilah antara segi positif dan negatif. Sehingga banyak
masyarakat Indonesia khususnya generasi muda yang terpengaruh oleh budaya bangsa
lain dan mulai acuh dengan budaya negeri sendiri. Jika hal ini berkelanjutan, maka ciri
khas bangsa Indonesia sebagai bangsa yang memiliki beragam seni dan budaya akan
luntur.
Langkah yang harus dilakukan sedini mungkin adalah mengajak generasi muda
khususnya anak-anak Indonesia agar lebih mengenal dan mencintai budaya yang ada di
tanah airnya, mulai dari Sabang sampai Merauke. Budaya di Indonesia juga beraneka
ragam, salah satu contohnya adalah kesenian musik seperti alat musik tradisional dan
lagu daerah. Dan sebagai generasi muda yang cinta tanah air harus dapat mengenal lagu

daerah ataupun alat musik tradisional dari setiap daerah yang ada di Indonesia dengan
beraneka ragam dan jenisnya.
Oleh karena itu, untuk mempermudah anak-anak Indonesia dalam mengenal dan
mencintai kesenian musik daerah penulis tertarik untuk membuat Tugas Akhir dengan
judul APLIKASI M-LEARNING KESENIAN ALAT MUSIK DAN LAGU DAERAH
DI INDONESIA BERBASIS J2ME.
1.2

Perumusan Masalah

Berdasarkan latar belakang tersebut, maka penulis merumuskan permasalahan yang ada,
yaitu untuk membantu anak-anak Indonesia supaya lebih mengenal dan mencintai
berbagai alat musik dan lagu daerah dengan menggunakan program aplikasi Mobile
Learning berbasis J2ME (Java 2 Micro Edition). Sehingga mempermudah dalam
mempelajari kesenian musik daerah melalui telepon selular, yang dapat diakses dimana
saja dan kapan saja.
1.3

Pembatasan Masalah

Dalam penulisan Tugas Akhir ini, penulis juga memiliki beberapa batasan masalah
untuk menghindari meluasnya pembahasan materi agar materi yang dibahas lebih
terarah. Oleh karena itu, penulis membatasi permasalahan dalam Tugas Akhir ini
hanya mencakup hal-hal sebagai berikut:
a.

Aplikasi ini memberikan pembelajaran kepada user mengenai berbagai jenis alat
musik dan lagu daerah yang ada di Indonesia.

b.

Pengujian aplikasi dilakukan pada emulator Wireless Toolkit dan HP real.

c.

Bahasa pemrograman yang digunakan adalah Java 2 Micro Edition.

d.

Database menggunakan MySQL.

e.

Pada aplikasi ini user hanya dapat mendengarkan maksimal 3 lagu untuk masingmasing daerah.

f.

Dalam aplikasi ini, pengajar dapat menambahkan soal hanya dalam bentuk teks.

g.

Murid dapat mengakses video sebanyak 1 video untuk setiap list daerah.

1.4

Tujuan Pembuatan Tugas Akhir

Tujuan dari pembuatan Tugas Akhir ini adalah sebagai berikut:


a.

Merancang M-Learning dengan menggunakan J2ME (Java 2 Micro Edition).

b.

Mempermudah pengguna khususnya pelajar SD tingkat akhir dalam mempelajari


jenis alat musik dan lagu daerah yang ada di Indonesia yang dapat di akses kapan
saja dan dimana saja melalui media telepon selular.

1.5

Metodologi

Dalam perancangan aplikasi pada tugas akhir ini penulis menggunakan metode
Waterfall. Metode Waterfall adalah metode yang menyarankan sebuah pendekatan yang
sistematis dan sekuensial melalui tahapan-tahapan yang ada pada SDLC (Software
Development Life Cycle ) untuk membangun sebuah perangkat lunak.

Berikut ini adalah tahapan-tahapan metode Waterfall :

Gambar 1.1 Model perancangan sistem dengan metode waterfall


a.

Menganalisis kebutuhan perangkat lunak

Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam
tahap ini bisa melakukan sebuah penelitian, wawancara atau study literatur. Seorang
sistem analis akan menggali informasi sebanyak-banyaknya dari user sehingga akan
tercipta sebuah sistem komputer yang bisa melakukan tugas-tugas yang diinginkan oleh
user tersebut. Tahapan ini akan menghasilkan dokumen user requirment atau bisa
dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan
sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menterjemahkan
ke dalam bahasa pemprogram.
b.

Menganalisis sistem m-learning

Pembuatan model yang menggambarkan kebutuhan dan karakteristik sistem m-learning


yang diinginkan, dengan menitik beratkan pada apa yang diinginkan dari sistem mlearning, bukan bagaimana sistem m-learning tersebut harus bekerja.

c.

Perancangan perangkat lunak

Pada tahap ini merupakan proses multi langkah dan berfokus pada beberapa atribut
perangkat lunak yang berbeda yaitu struktur data, arsitektur perangkat lunak, dan detil
algoritma. Perancangan sistem m-learning akan mentransformasi model hasil analisis
yang telah dibuat pada tahap analisis ke dalam suatu model desain. Hasil model desain
ini berfungsi sebagai cetak biru dari bangunan perangkat lunak atau sistem m-learning
yang akan dibuat.
d.

Implementasi (coding)

Implementasi atau penulisan source code dengan menerapkan desain sistem m-learning
yang telah dibuat ke dalam bahasa pemrograman sehingga diperoleh suatu aplikasi yang
siap pakai.
e.

Pengujian sistem m-learning

Pengujian sistem m-learning dilakukan berdasarkan requirements (analisis kebutuhan)


yang telah ditentukan sebelumnya, dan diterapkan dengan pendekatan yang berorientasi
obyek untuk mendapatkan realibilitas yang sangat tinggi di dalam sistem yang
terstruktur.

1.6

Sistematika Penulisan

Adapun dalam penulisan Tugas Akhir ini, sistematika pembahasannya adalah sebagai
berikut:
I.

PENDAHULUAN
Dalam bab ini membahas tentang latar belakang masalah, perumusan masalah,
pembatasan masalah, tujuan pembuatan, metode penelitian, serta sistematika
penulisan dalam pembuatan Tugas Akhir.

II. LANDASAN TEORI


Dalam bab ini membahas tentang definisi kesenian, alat musik dan lagu daerah,
serta pengertian E-Learning, M-Learning, gambaran umum tentang Java,
pengembangan aplikasi mobile, perangkat lunak yang digunakan, dan
perancangan sistem menggunakan metode UML.
III. ANALISIS DAN PERANCANGAN SISTEM
Dalam bab ini membahas tentang gambaran umum sistem, tahapan- tahapan
kegiatan yang dilakukan dalam metode pengembangan, penggunaan UML
sebagai analisis dan perancangan berorientasi objek (Object Oriented Design),
serta desain GUI (Graphic User Interface) yang maliputi perancangan
masukan dan keluaran.

IV. IMPLEMENTASI DAN PENGUJIAN SISTEM


Dalam bab ini membahas tentang implementasi perancangan sistem aplikasi
M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia Berbasis
J2ME menggunakan media telepon seluler.
V. PENUTUP
Dalam bab ini membahas tentang kesimpulan dan saran yang diuraikan dalam
sub-bab terpisah. Kesimpulan berisi tentang aplikasi M-Learning yang
diterapkan untuk kalangan anak-anak dan pelajar. Sedangkan saran berisi
masukan agar aplikasi ini menjadi lebih baik dan sempurna.
DAFTAR PUSTAKA
LAMPIRAN

2.1

LANDASAN TEORI

Kesenian

Kesenian adalah ciptaan dari segala pikiran dan perilaku manusia yang fungsional,
estetis dan indah, sehingga ia dapat dinikmati dengan panca inderanya yaitu penglihat,
penghidung, pengecap, perasa dan pendengar (Koentjaraningrat,2002:19). Kesenian
yang berkembang di masyarakat di antaranya adalah kesenian tradisional. Dalam
pelaksanaannya tidak lepas dari unsur-unsur/kaidah tradisional yang mengikat. Menurut
Oka A. Yoeti (1985:2) yang dimaksudkan dengan seni budaya tradisional adalah seni
budaya yang sejak lama turun-temurun telah hidup dan berkembang pada suatu daerah
tertentu.
2.2

Alat Musik

Alat musik adalah suatu instrumen yang dibuat atau dimodifikasi untuk tujuan
menghasilkan musik. Jenis jenis alat musik berdasarkan cara memainkan:
a.

Alat musik tiup menghasilkan suara sewaktu suatu kolom udara didalamnya
digetarkan. Tinggi rendah nada ditentukan oleh frekuensi gelombang yang
dihasilkan terkait dengan panjang kolom udara dan bentuk instrumen, sedangkan
timbre

dipengaruhi

oleh

bahan

dasar,

konstruksi

instrumen

dan

cara

menghasilkannya. Contoh alat musik ini adalah terompet dan flute.


b.

Alat musik pukul menghasilkan suara sewaktu dipukul atau ditabuh. Alat musik
pukul dibagi menjadi dua yakni bernada dan tidak bernada. Bentuk dan bahan
9

10

bagian-bagian instrumen serta bentuk rongga getar, jika ada, akan menentukan suara
yang dihasilkan instrumen. Contohnya adalah kolintang (bernada), drums (tak
bernada), dan bongo (tak bernada).
c.

Alat musik petik menghasilkan suara ketika senar digetarkan melalui dipetik. Tinggi
rendah nada dihasilkan dari panjang pendeknya dawai.

d.

Alat musik gesek menghasilkan suara ketika dawai digesek. Seperti alat musik
petik, tinggi rendah nada tergantung panjang dan pendek dawai.

2.3

Lagu Daerah

Lagu daerah atau musik daerah atau lagu kedaerahan, adalah lagu atau musik yang
berasal dari suatu daerah tertentu dan menjadi populer dinyanyikan baik oleh rakyat
daerah tersebut maupun rakyat lainnya. Pada umumnya pencipta lagu daerah ini tidak
diketahui lagi alias noname.
Lagu kedaerahan mirip dengan lagu kebangsaan, namun statusnya hanya bersifat
kedaerahan saja. Lagu kedaerahan biasanya memiliki lirik sesuai dengan bahasa
daerahnya masing-masing.
Lagu daerah atau musik daerah ini biasanya muncul dan dinyanyikan atau dimainkan
pada tradisi-tradisi tertentu pada masing-masing daerah, misalnya pada permainan anakanak, hiburan rakyat, pesta rakyat, perjuangan rakyat, dan lain sebagainya.

11

2.4

Pengertian M-Learning

Perkembangan teknologi informasi dan komunikasi telah memberi pengaruh besar bagi
dunia pendidikan dan pelatihan. Munculnya teknologi telah melahirkan Computer Based
Learning (CBL), pembelajaran yang didukung oleh perangkat dan media elektronik
digital, e-Learning sampai m-Learning yang merupakan pembelajaran yang didukung
oleh perangkat bergerak dan transmisi nirkabel. Perangkat bergerak telah muncul
sebagai salah satu teknologi yang cukup potensial untuk mendukung pembelajaran.
Istilah Mobile Learning (m-Learning) mengacu kepada penggunaan perangkat teknologi
informasi (TI) genggam dan bergerak, seperti PDA, telepon genggam, laptop dan tablet
PC, dalam pengajaran dan pembelajaran. M-Learning merupakan bagian dari Electronic
Learning (e-Learning) sehingga, dengan sendirinya, juga merupakan bagian dari
Distance Learning (d-Learning).

d-learning
e-learning
m-learning

Gambar 2.1 Skema dari bentuk M-Learning


Beberapa kemampuan penting yang harus disediakan oleh perangkat pembelajaran mlearning adalah adanya kemampuan untuk terkoneksi ke peralatan lain (terutama

12

komputer), kemampuan menyajikan informasi pembelajaran dan kemampuan untuk


merealisasikan komunikasi bilateral antara pengajar dan pembelajar.
2.4.1 Arsitektur M-Learning
Pengembangan terhadap sistem m-learning diharapkan dapat memiliki prospek yang
cukup baik sebagai variasi dalam belajar siswa, m-learning tidak dapat menggantikan
proses belajar konvensional karena sifat dari m-learning bukan untuk memahamkan
sebuah konsep tetapi lebih cenderug untuk mengingatkan materi yang telah didapat pada
model konvesional. Arsitektur dari m-learning dapat kita lihat seperti pada gambar 2.2.

Gambar 2.2 Arsitektur M-Learning


(Sumber : http://p4tkipa.org/data/mlearn.pdf)

2.4.2 Konten M-Learning


Konten pembelajaran dalam mlearning memiliki jenis bermacammacam. Konten
sangat terkait dengan kemampuan perangkat untuk menampilkan atau menjalankannya.
Keragaman jenis konten ini mengharuskan pengembang untuk membuat kontenkonten

13

yang tepat dan sesuai dengan karakteristik perangkat maupun pengguna. Jenisjenis
konten mlearning antara lain:
a. Konten Teks
Saat ini banyak perangkat yang telah mendukung penggunaan teks. Hampir semua
telepon seluler yang beredar saat ini telah mendukung penggunaan SMS. Kebutuhan
memori yang relatif kecil memuat konten berbasis teks lebih mudah diimplementasikan.
Namun keterbatasan jumlah karakter yang dapat ditampilkan harus menjadi
pertimbangan dalam menampilkan konten pembelajaran sehingga perlu strategi khusus
agar konten pembelajaran dapat disampaikan secara tepat dan efektif meskipun dengan
keterbatasan.
b. Konten Gambar
Perangkat bergerak yang ada sekarang telah banyak mendukung pemakaian gambar.
Kualitas gambar yang dapat ditampilkan dapat beragam dari tipe monokrom sampai
gambar berwarna berkualitas tinggi tergantung kemampuan perangkat. File gambar yang
didukung oleh perangkat umumnya bertipe PNG, GIF, JPG. Penggunaan gambar sebagai
konten pembelajaran biasanya digabungkan dengan konten lain, misalnya teks.
c. Konten Audio Video
Banyak perangkat bergerak saat ini telah mendukung penggunaan audio. Beberapa tipe
file yang biasanya digunakan di lingkungan perangkat bergerak antara lain rm, mp3, amr
dan lainlain. Oleh karena file audio biasanya memiliki ukuran yang cukup besar hal ini

14

menyebabkan file audio tersebut harus diolah terlebih dahulu sehingga dapat digunakan
di lingkungan perangkat bergerak yang memiliki kapasitas memori yang relatif kecil.
Meski dalam kualitas dan ukuran yang besar, beberapa tipe perangkat bergerak telah
mampu memainkan file video. Format file yang didukung oleh perangkat bergerak
antara lain adalah 3gp, MPEG, MP4, dan lainlain. Sama seperti file audio, kebanyakan
file video memiliki ukuran yang cukup besar sehingga harus dikonversi dan disesuaikan
dengan keterbatasan perangkat.
d. Konten Aplikasi
Konten yang cukup menarik adalah aplikasi perangkat lunak yang dipasang pada
perangkat. Perangkat lunak dapat diatur sesuai kebutuhan sehingga akan lebih mudah
digunakan. Aplikasi perangkat lunak ini juga mampu menggabungkan kontenkonten
lain seperti teks, audio dan video sehingga menjadi lebih interaktif. Jenis aplikasi yang
saat ini banyak digunakan antara lain aplikasi berbasis WAP/WML, aplikasi Java,
aplikasi Symbian, dan lainlain.
2.4.3 Kelebihan dan Kekurangan M-Learning
Beberapa kelebihan m-learning dibandingkan dengan pembelajaran lain adalah:
a.

dapat digunakan dimana-pun pada waktu kapan-pun,

b.

kebanyakan device bergerak memiliki harga yang relatif lebih murah dibanding
harga PC desktop,

c.

ukuran perangkat yang kecil dan ringan daripada PC desktop,

15

d.

diperkirakan dapat mengikutsertakan lebih banyak user karena m- learning


memanfaatkan teknologi yang biasa digunakan dalam kehidupan sehari-hari.

Meski memiliki beberapa kelebihan, m-learning tidak akan sepenuhnya menggantikan elearning tradisional. Hal ini dikarenakan m-learning memiliki beberapa kendala dan
permasalahan yang ditimbulkan. Berikut adalah kekurangan m-learning:
a.

Adanya kesulitan merubah paradigma belajar, dari belajar secara tatap muka,
terstuktur terjadwal kebelajar secara mandiri, kapanpun dimanapun dan berbasis
teknologi komunikasi dan perangkat bergerak

b.

Adanya keterbatasan infrastuktur pendukung pembelajaran seperti perangkat


komunikasi bergerak (handphone), dukungan operator telekomunikasi, akses
internet dan server-server penyedia konten pembelajaran.

c.

Adanya kesulitan guru untuk membuat konten pembelajaran berbasis m-learning


dimana adanya keterbatasan kemapuan IT, keterbatasan space ruang baik teks
mapun gambar ditekonologi m-learning.

d.

Adanya kesulitan siswa untuk mulai terbiasa belajar menggunakan telepon seluler
(HP) untuk membaca materi dan berdiskusi serta menjawab kuis dengan
pembelajaran m-learning.

2.5

Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk
telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung
di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995.

16

Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada komputer standalone atau pada
lingkungan jaringan. Teknologi Java memiliki tiga komponen penting, yaitu:
a.

Programming-language specification

b.

Application-programming interface

c.

Virtual-machine specification

2.5.1 Java API(Application Programming Interface)


Java API terdiri dari tiga bagian utama:
a.

Java Standard Edition (SE), sebuah standar API untuk merancang aplikasi desktop
dan applets dengan bahasa dasar yang mendukung grafis, M/K, keamanan,
konektivitas basis data dan jaringan.

b.

Java Enterprose Edition (EE), sebuah inisiatif API untuk merancang aplikasi server
dengan mendukung untuk basis data.

c.

Java Macro Edition (ME), sebuah API untuk merancang aplikasi yang jalan pada
alat kecil seperti telepon genggam, komputer genggam dan pager.

17

2.5.2 Fase-fase Pemrograman Java


Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program
Java :

Gambar 2.3 Fase-fase Pemrograman Java


(Sumber : http://marshalrizkygozaly.blogspot.com/2010/12/bahasa-pemrogramanjava.html)
Langkah pertama dalam pembuatan sebuah program berbasis Java adalah menuliskan
kode program pada text editor. Contoh text editor yang dapat digunakan antara lain :
notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan
dalam sebuah berkas berekstensi .java.
Setelah membuat dan menyimpan kode program, dilakukan proses kompilasi file yang
berisi kode program tersebut dengan menggunakan Java Compiler. Hasil adalah berupa
berkas bytecode dengan ekstensi .class. Berkas yang mengandung bytecode tersebut
kemudian akan dikonversikan oleh Java Interpreter menjadi bahasa mesin sesuai dengan
jenis dan platform yang digunakan.

18

Tabel 2.1 Pembuatan program berbasis Java


Proses

Tool

Hasil

Menulis kode program

Text editor

Berkas berekstensi .java

Kompilasi program

Java Compiler

Berkas berekstensi .class (Java Bytecodes)

Menjalankan program

Java Interpreter

Program Output

2.6

Java 2 Micro Edition

Java 2 Micro Edition (J2ME) adalah teknologi Java yang diaplikasikan pada perangkatperangkat kecil consumer device , terutama wireless. Beberapa perangkat wireless antara
lain PC, PDA, communicator, embedded device, smart card dan ponsel.
2.6.1 Aplikasi J2ME
Terdapat dua jenis aplikasi J2ME yaitu:
a.

Walled garden application yaitu aplikasi yang berdiri sendiri atau standalone yang
berjalan pada handphone tanpa perlu mengakses sumber data eksternal melalui
jaringan pembawa atau carier network. Contoh dari aplikasi ini adalah kalkulator
atau single player games.

b.

Network aware application yaitu aplikasi yang berinteraksi dengan jaringan. Tidak
seperti aplikasi pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber
daya eksternal. Contoh dari aplikasi jenis ini adalah aplikasi email yang berada pada

19

handphone, aplikasi untuk mendapatkan kembali data alamat-alamat yang tersimpan


melalui jaringan, dan pengiriman email berbagai alamat melalui jaringan data.
2.6.2 Profil J2ME
Sebuah profil dibangun dalam sebuah konfigurasi, namun ditambahkan beberapa API
khusus agar dihasilkan sebuah lingkungan yang lengkap untuk membangun aplikasi.
Profil berisi daur hidup (life cycle), antarmuka pemakai (user interface), serta
penyimpanan. Salah satu profil J2ME adalah Mobile Information Device Profile
(MIDP). Profil MIDP menyediakan sebuah platform standar untuk peralatan komunikasi
bergerak yang memiliki kapasitas memori terbatas sehingga cocok untuk pengembangan
aplikasi pada ponsel.
2.6.3 Konfigurasi
Dalam Java ME telah didefinisikan dua buah konfigurasi yaitu:
a.

CLDC (Connected Limited Device Configuration)

CLDC adalah perangkat dasar dari J2ME, spesifikasi dasar yang berupa library atau API
yang diimplementasikan pada J2ME, seperti yang digunakan pada telepon selular, pager,
dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memory, sumber daya, dan
kemampuan memproses. Spesifikasi CLDC pada J2ME adalah spesifikasi minimal pada
package, class, dan sebagian fungsi Java Virtual Machine yang dikurangi agar dapat
diimplementasikan dengan keterbatasan sumber daya pada alat tersebut, JVM yang
digunakan adalah KVM (Kilobyte Virtual Machine).

20

b.

CDC (Connected Device Configuration)

CDC merupakan komunitas proses pada Java yang memiliki standardisasi. CDC terdiri
dari virtual machine dan library dasar untuk dipergunakan pada profile industri.
Implementasi CDC pada J2ME adalah source code yang menyediakan sambungan
dengan macam-macam platform. Perbandingan antara CLDC dengan CDC sebagai
berikut :
Tabel 2.2 Perbandingan CLDC dan CDC
CLDC

CDC

Mengimplementasikan sebagian fitur Mengimplementasikan seluruh fitur dari


dari J2SE

J2SE

Menggunakan KVM(Kilobyte Virtual Menggunakan CVM (C-Virtual Machine)


Machine)
Digunakan pada handphone, PDA, Digunakan

pada

pager yang memiliki memori terbatas Communicator


(160-512 kb)

minimal 2MB

Prosesor 16/32 bit

Prosesor 32 bit

internet

yang

TV,

memiliki

nokia,
memori

2.6.4 MIDP ( Mobile Information Device Profile)


MIDP adalah spesifikasi untuk sebuah profile J2ME. MIDP memiliki lapisan diatas
CLDC, API tambahan untuk daur hidup aplikasi, antarmuka, jaringan dan penyimpanan
persisten. Pada saat ini terdapat MIDP 1.0 dan MIDP 2.0. fitur tambahan MIDP 2.0
dibanding MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat dukungan

21

memainkan tone, tone sequence, dan file wav walaupun tanpa adanya Mobile Media API
(MMAPI).
MIDP memiliki User Interface API memiliki API level tinggi dan level rendah. API
level rendah berbasiskan penggunaan dari kelas abstrak, sedangkan kelas API level
tinggi antara lain Alert, Form, List, dan Texbox yang merupakan ekstensi dari kelas
abstrak yaitu Screen. API level rendah lebih memberikan kemudahan kepada
pengembang untuk memodifikasi sesuai dengan kehendaknya, sedangkan API level
tinggi biasanya hanya memberikan pengaksesan yang terbatas. Diagram kelas antarmuka
pada MIDP dapat dilihat pada gambar 2.4.

Gambar 2.4 Diagram Kelas Antarmuka pada MIDP


2.6.5 MIDlet
Suatu

aplikasi MIDP

disebut MIDlet.

Perangkat

application management

software (AMS) berinteraksi langsung dengan MIDlet dengan method MIDlet create,
start, pause, dan destroy. MIDlet adalah bagian dari package javax.microedition.midlet.

22

Sebuah MIDlet harus di-extend dengan class MIDlet. Dan dapat meminta parameter
dari AMS seperti

dirumuskan dalam application descriptor (JAD). Suatu MIDlet

tidak harus memiliki

(dan memang harus tidak mempunyai) sebuah method public

static void main(String[ ] argv). Method tersebut tidak akan dikenal lagi oleh
AMS sebagai titik awal sebuah program.
a. Siklus MIDlet
Kehidupan MIDlet dimulai ketika di-instantiate oleh AMS. MIDlet pada awalnya masuk
status Pause setelah perintah baru dibuat. AMS memanggil constructor public tanpa
argumen dari MIDlet. Jika sebuah exception terjadi dalam constructor, MIDlet
memasuki status Destroyed dan membuangnya segera. MIDlet masuk ke dalam status
Active atas pemanggilan method startUp() oleh AMS. MIDlet masuk kedalam status
Destroyed

ketika AMS memanggil method destroyApp(). Status

ini

juga

kembali diakses ketika method notifyDestroyed() kembali dengan sukses kepada


aplikasi. Dengan

catatan

bahwa MIDlet

hanya

bisa memasuki

Destroyed sekali dalam masa hidupnya.

Gambar 2.5 Daur hidup Midlet


(Sumber : http://riyadi.smkmuh1salam.sch.id/?p=63)

status

23

b. MIDlet suites
Aplikasi-aplikasi MIDlet
MIDlet

dibungkus

dan

dikirim kedalam perangkat

sebagai

suites. Sebuah MIDlet suite terdiri dari Java Archive (JAR) dan sebuah

tambahan Java Application Descriptor (JAD). File JAD adalah suatu file teks yang
berisi satu set atribut-atribut.
2.7

Perangkat Lunak yang digunakan

2.7.1 J2ME Wireless Toolkit


J2ME Wireless Toolkit adalah alat bantu berupa perangkat lunak untuk melakukan
kompilasi dan pengujian aplikasi J2ME.
a.

KToolbar

KToolbar merupakan bagian utama dari aplikasi untuk pengembangan Java MIDP atau
lebih dikenal dengan istilah MIDlet. KToolbar merupakan lingkungan pengembangan
minimal yang disediakan oleh J2ME Wireless Toolkit untuk pengembangan MIDlet.
Untuk melakukan pengembangan aplikasi MIDlet melaui KToolbar, hal pertama yang
harus dilakukan adalah membuat proyek. Proyek ini secara fisik akan diletakkan pada
C:\WTK20\apps\{nama-proyek} dengan asumsi J2ME Wireless Toolkit diinstal pada
C:\WTK20\. Proyek yang dibuat terdiri atas direktori-direktori berikut:
1)

Src, adalah direktori yang berisi berkas-berkas kode java

2)

Bin, adalah direktori yang berisi berkas-berkas JAD, JAR dan manifest

3)

Res, adalah direktori yang berisi berkas-berkas sumber, misalnya gambar

24

4)

Lib, adalah direktori yang berisi berkas-berkas kelas java yang diperlukan dalam
format gambar atau zip

2.7.2 Xampp
XAMPP adalah perangkat lunak yang mendukung banyak sistem operasi, merupakan
kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri
(localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan
penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama
XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL,
PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas,
merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman
web yang dinamis. Untuk mendapatkanya dapat mendownload langsung dari web
resminya.
2.7.3 PHP dan MySql
a. PHP
PHP adalah bahasa pemrogramman berbasis web yang memiliki kemampuan untuk
memproses data dinamis. PHP dikatakan sebagai sebuah server-side embedded script
language artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya
dijalankan oleh server tetapi disertakan pada halaman HTML biasa. Aplikasi-aplikasi
yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser,
tetapi prosesnya secara keseluruhan dijalankan di server.

25

Pada prinsipnya server akan bekerja apabila ada permintaan dari client. Dalam hal ini
client menggunakan kode-kode PHP untuk mengirimkan permintaan ke server. Ketika
menggunakan PHP sebagai server-side embedded script language maka server akan
melakukan hal-hal sebagai berikut :
1)

Membaca permintaan dari client/browser

2)

Mencari halaman/page di server

3)

Melakukan instruksi yang diberikan oleh PHP untuk melakukan modifikasi pada
halaman/page.

4)

Mengirim kembali halaman tersebut kepada client melalui internet atau intranet.

b. MySql
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap
pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat
lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada
sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep
pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

26

2.8

Perancangan Sistem dengan Metode UML

2.8.1 Pengertian UML


UML adalah sebuah bahasa standard untuk pengembangan sebuah software yang dapat
menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak
menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu
proses implementasi pengembangan software.
2.8.2

Building Blocks

Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model,
dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan
yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa
mekanisme umum (common).
Terdapat 3 macam kategori dalam building block antara lain katagori benda(things),
hubungan, dan diagram. Benda(things) adalah abstraksi yang pertama dalam sebuah
model, hubungan sebagai alat komunikasi dari benda- benda, dan diagram sebagai
kumpulan dari benda-benda.
a.

Benda(things)

Benda(things) adalah hal yang sangat mendasar dalam model UML, juga merupakan
bagian paling statik dari sebuah model, serta menjelaskan elemen-elemen lainnya dari
sebuah konsep atau fisik. Bentuk dari beberapa benda(thing) adalah sebagai berikut:

27

1)

Classes

sebuah kelas yang diuraikan sebagai sekelompok dari object yang mempunyai
atribute, operasi, hubungan yang semantik. Sebuah kelas mengimplementasikan 1
atau lebih interfaces. Sebuah kelas dapat digambarkan sebagai sebuah persegi
panjang, yang mempunyai sebuah nama, atribute, dan metoda pengoperasiannya,
seperti terlihat dalam gambar 2.6.

Gambar 2.6 Sebuah Kelas dari model UML


2)

Collaboration

Didefinisikan dengan interaksi dan sebuah kumpulan dari kelas-kelas / elemenelemen yang bekerja secara bersama-sama. Collaborations mempunyai struktur
dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam
beberapa collaborations dan digambarkan dengan sebuah elips dengan garis
terpotong-potong.

28

Gambar 2.7 Collaboration


3)

Use cases

Sebuah use case adalah rangkaian/uraian sekelompok yang saling terkait dan
membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor.
use case digunakan untuk membentuk tingkah-laku benda/things dalam sebuah
model serta di realisasikan oleh sebuah collaboration. Umumnya use case
digambarkan dengan sebuah elips dengan garis yang solid, biasanya mengandung
nama, seperti terlihat dalam gambar 2.8.

Fault
Location

Gambar 2.8 Use case


4)

Nodes

Sebuah nodes merupakan fisik dari elemen-elemen yang ada pada saat
dijalankannya sebuah sistem, contohnya adalah sebuah komputer, umumnya
mempunyai sedikitnya memory dan processor. Sekelompok komponen mungkin
terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke
node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya
mengandung namanya, seperti terlihat dalam gambar 2.9.

29

server

Gambar 2.9 Nodes


5)

Interface/Antar-muka

Yang

menggambarkan

interface

merupakan

sebuah

antar-muka

yang

menghubungkan dan melayani antar kelas dan atau elemen. Interface/antar-muka


mendefinisikan sebuah set/kelompok dari spesifikasi pengoperasian, umumnya
digambarkan dengan sebuah lingkaran yang disertai dengan namanya. Sebuah
antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau
komponen, seperti dalam gambar 2.10.

Gambar 2.10 Sebuah interface/antar-muka


b.

Hubungan / Relationship

Ada 4 macam hubungan didalam penggunaan UML, yaitu;


1)

Dependency

Sebuah dependency adalah hubungan semantik antara dua benda/things yang


mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula.
Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputusputus seperti terlihat dalam gambar 2.11.

30

Gambar 2.11 Dependency


2)

Association

Sebuah association adalah hubungan antar benda struktural yang terhubung


diantara obyek. Kesatuan obyek yang terhubung merupakan hubungan khusus,
yang menggambarkan sebuah hubungan struktural diantara seluruh atau sebagian.
Umumnya assosiation digambarkan dengan sebuah garis yang dilengkapi dengan
sebuah label, nama, dan status hubungannya seperti terlihat dalam gambar 2.12.

0..1
employer

*
employ

Gambar 2.12 Association


3)

Generalizations

Sebuah generalization adalah menggambarkan hubungan khusus dalam


obyek anak yang menggantikan obyek induk. Dalam hal ini, obyek anak
memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek
induk. Digambarkan dengan garis panah seperti terlihat dalam gambar 2.13.

Gambar 2.13 Generalizations

31

4)

Realizations

Sebuah realization merupakan hubungan semantik antara pengelompokkan yang


menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara
interface dan kelas atau elements, serta antara use cases dan collaborations.
Model dari sebuah hubungan realization seperti terlihat dalam gambar 2.14.

Gambar 2.14 Realizations


c.

Diagram/Bagan

UML terdiri atas pengelompokan diagram-diagram sistem menurut aspek atau sudut
pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi
dari permasalahan suatu model. UML mempunyai 9 diagram, yaitu;
1)

use case diagram

2)

class diagram

3)

object diagram

4)

statechart diagram

5)

activity diagram

6)

sequence diagram

7)

collaboration diagram

8)

component diagram

9)

deployment diagram

3.1

ANALISIS DAN PERANCANGAN SISTEM

Gambaran Umum Sistem

Dalam bab ini memberikan gambaran tentang perancangan dari sistem yang dibuat.
Perancangan sistem bertujuan untuk mempermudah proses pembuatan sistem sehingga
dapat menghasilkan informasi sesuai dengan sistem yang dibuat. Secara garis besar,
perancangan sistem aplikasi M-Learning Kesenian Musik dan Lagu Daerah Di Indonesia
dapat dilihat pada Gambar 3.1.

Gambar 3.1 Desain Sistem Secara Umum


(Sumber : http://p4tkipa.org/data/mlearn.pdf)
Pada perancangan sistem m-learning ini jika suatu WAP device atau yang kita kenal
sebagai telepon seluler melakukan request terhadap suatu HTTP server (WEB Server),
maka diperlukan suatu komputer yang bertindak sebagai penerjemah di antara WAP
32

33

device dan HTTP server. Peran ini dipegang oleh WAP Gateway. Sehingga kontent
yang di inginkan dapat diolah dan di munculkan kembali ke telepon seluler yang
meminta akses kontent.
3.2

Analisis dan Definisi Kebutuhan

Analisis dan rancangan sistem merupakan bagian atau tahapan pengembangan sistem.
Dalam aplikasi m-learning ini, analisis sistem dilakukan dengan menggunakan teknologi
berorientasi objek, meliputi pemodelan use case diagram dan statechart diagram.
3.2.1 Pemodelan Use Case Diagram
Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih aktor dan
sistem. Use case berfungsi untuk mejelaskan tentang kerja dari sistem. Dengan use case
dapat diketahui apa yang dikerjakan oleh sistem yang akan dibuat.
Tahapan pembuatan use case meliputi pembuatan skenario atau textual analysis yang
menggambarkan sistem yang akan dibuat. Dari skenario ini maka akan didapatkan aktor
atau pelaku dalam sistem dan use case. Kemudian antara aktor dan use case akan dibuat
use case diagram yang menggambarkan interaksi antara aktor dan use case.
a. Pengembangan Masalah (Problem Statement)
Pengembangan masalah (problem statement) merupakan tahapan awal yang harus
dilakukan dalam pembuatan model use case. Dalam implementasinya menggunakan
VP-UML, pengembangan masalah dituliskan ke dalam textual analysis yang

34

mendeskripsikan seperti apa sebuah sistem akan bekerja. Problem statement dari
aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah adalah sebagai berikut:
M-Learning Kesenian Alat Musik dan Lagu Daerah adalah sebuah aplikasi yang
berfungsi sebagai media pembelajaran mengenai kesenian alat musik dan lagu daerah
di Indonesia yang dikhususkan untuk pelajar SD tingkat akhir. Aplikasi ini dapat
diakses melalui situs web dan ponsel. Pengguna yang ada dalam sistem aplikasi ini
adalah sebagai berikut:
1)

User Umum
User umum merupakan pengunjung yang belum terdaftar sebagai murid. User
umum dapat terdaftar sebagai murid jika telah melakukan registrasi melalui
sistem daftar dan login. Sebelum terdaftar sebagai murid, user umum dapat
melihat materi pembelajaran kesenian alat musik dan lagu daerah. User umum
hanya dapat mengakses aplikasi m-learning melalui ponsel. Untuk media situs
web, user umum tidak dapat mengakses materi pembelajaran dan melakukan
registrasi, tetapi hanya dapat mengunduh aplikasi m-learning. Karena pada media
situs web hanya dikhususkan untuk halaman adminstrator dan pengajar.

2)

Murid
Murid dapat melihat materi pembelajaran, menjawab latihan soal, melihat nilai,
melihat data diri, mengubah data diri dan memberi saran. Murid yang dimaksud
adalah user umum yang telah melakukan registrasi terlebih dahulu pada aplikasi
ini. Murid dapat mengakses situs web untuk mengunduh aplikasi m-learning.

35

3)

Pengajar
Pengajar dapat menambah soal, melihat nilai murid, melihat data murid dan
melihat saran. Pengajar yang dimaksud adalah guru dari sekolah atau lembaga
pendidikan tertentu yang telah terdaftar dan proses registrasinya dilakukan oleh
administrator melalui situs web. Pengajar dapat mengakses melalui situs web dan
aplikasi m-learning.

4)

Administrator
Administrator dapat melihat data murid dan melakukan manipulasi data pengajar.
Namun administrator hanya dapat melakukan aktifitas manipulasi data melalui
situs web, bukan melalui aplikasi m-learning.

b. Identifikasi Use Case dan Aktor


Identifikasi use case dan aktor adalah pembuatan use case dan aktor. Aktor
merupakan entitas yang berhubungan dengan sistem dan memerlukan pertukaran data
dengan sistem. Sedangkan use case merupakan kegiatan-kegiatan yang dilakukan
oleh aktor di dalam sistem.
Identifikasi aktor dari aplikasi M-learning Kesenian Alat Musik dan Lagu Daerah di
Indonesia adalah sebagai berikut :
1)

User Umum

2)

Murid

3)

Pengajar

36

Identifikasi use case dari aplikasi M-learning Kesenian Alat Musik dan Lagu Daerah
di Indonesia adalah sebagai berikut :
1)

Daftar

2)

Login

3)

Belajar

4)

Panduan

5)

Lihat data diri

6)

Ubah data diri

7)

Latihan soal

8)

Lihat nilai

9)

Saran

10) Lihat data murid


11) Lihat nilai murid
12) Lihat saran
13) Lihat soal
14) Tambah soal
Pengelompokan antara aktor dan use case dapat dilihat pada Tabel 3.1.
Tabel 3.1 Pengelompokan antara aktor dan use case
Aktor

Use Case

User umum

Registrasi, akses materi pembelajaran dan panduan.

Murid

Akses materi pembelajaran, panduan, login, lihat data


diri, ubah data diri, latihan soal, lihat nilai dan saran.

37

Pengajar

Panduan, login, lihat data murid, lihat nilai, lihat


saran, lihat soal, tambah soal.

Sebelum merancang use case diagram, terlebih dahulu dilakukan identifikasi aktor
dan use case. Identifikasi aktor dan use case berasal dari pengembangan masalah
yang telah dibuat. Identifikasi aktor dan use case pada VP-UML dapat dilihat pada
Gambar 3.2.

Gambar 3.2 Identifikasi Use Case dan Aktor pada VP-UML


c. Pembuatan Use Case Diagram
Setelah mengidentifikasi use case dan aktor, kemudian membuat use case diagram.
Dalam use case diagram, terdapat sebuah sistem yaitu M-Learning Kesenian Alat
Musik dan Lagu Daerah di Indonesia. Sistem ini terdiri dari beberapa use case dan
dua buah subsistem yaitu subsistem murid dan subsistem pengajar. Use case diagram

38

M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia dapat dilihat pada
Gambar 3.3.

Gambar 3.3 Use Case Diagram M-Learning Kesenian Alat Musik dan Lagu Daerah
di Indonesia
3.2.2 Pemodelan dengan Statechart Diagram
Statechart diagram menunjukkan bagaimana sebuah entitas bereaksi terhadap beberapa
kejadian dengan berubah dari satu state ke state yang lain. State adalah abstraksi dari
nilai atribut dan hubungan dari suatu obyek.

39

a. Statechart Diagram untuk User Umum


Statechart diagram untuk user umumdapat dilihat pada gambar 3.4 berikut ini:

Gambar 3.4 Statechart Diagram Subsistem User Umum

40

b. Statechart Diagram untuk Murid


Statechart diagram untuk murid dapat dilihat pada gambar 3.5 berikut ini:

Gambar 3.5 Statechart Diagram Subsistem Murid

41

c. Statechart Diagram untuk Pengajar


Statechart diagram untuk murid dapat dilihat pada gambar 3.6 berikut ini:

Menu Utama

Login

Belajar

Tunggu Verifikasi Username dan Password

Materi pembelajaran

Subsistem Pengajar

Menu Pengajar

Data Murid

Lihat Data Murid

Lihat Nilai

Data Soal

Lihat Saran

Lihat Soal

Tambah Soal

Tunggu Verifikasi Data

Kembali Menu Pengajar

Kembali Menu Utama

Gambar 3.6 Statechart Diagram Subsistem Pengajar

Panduan

42

3.3

Perancangan Sistem

Perancangan sistem meliputi pemodelan class diagram, desain GUI (Graphic User
Interface) dan desain database.
3.3.1 Pemodelan Class Diagram
Class diagram digunakan untuk mendeskripsikan objek dan class di dalam sebuah
sistem. Class diagram pada ponsel dari aplikasi M-Learning Kesenian Alat Musik dan
Lagu Daerah di Indonesia dapat dilihat pada gambar 3.7.

Gambar 3.7 Pemodelan Class Diagram

43

3.3.2 Desain GUI (Graphic User Interface)


Bagian ini membahas desain GUI untuk aplikasi M-Learning Kesenian Alat Musik dan
Lagu Daerah di Indonesia yang terdiri dari tampilan pada web dan tampilan pada ponsel.
a. Desain GUI pada situs web
Tampilan awal pada halaman web adalah tampilan ketika pengajar dan administrator
belum melakukan login. Tampilan ini juga sekaligus menjadi tampilan untuk user
umum dan murid untuk mengunduh aplikasi M-Learning. Perancangan tampilan awal
situs web dapat dilihat pada Gambar 3.8.

Gambar 3.8 Tampilan Awal Situs Web


Pada tampilan awal halaman web terdapat tampilan menu untuk masing-masing
subsistem. Berikut ini adalah perancangan tampilan situs web untuk masing-masing
subsistem.

44

1)

Tampilan Menu Pengajar


Setelah pengajar berhasil login, maka akan tampil menu pengajar, yaitu tambah
soal, lihat data murid, lihat nilai murid dan lihat saran/komentar. Menu keluar
berfungsi untuk keluar dari subsistem pengajar. Tampilan menu pengajar dapat
dilihat pada Gambar 3.9.

Gambar 3.9 Tampilan Menu Pengajar


2)

Tampilan Menu Administrator


Setelah administrator berhasil login, maka akan tampil menu administrator,
yaitu data murid dan data pengajar. Menu keluar berfungsi untuk keluar dari
subsistem administrator.
Gambar 3.10.

Tampilan menu administrator dapat dilihat pada

45

Gambar 3.10 Tampilan Menu Administrator

b. Desain GUI pada ponsel


Pada sub bab ini akan dijelaskan mengenai desain tampilan antarmuka user pada
media telepon seluler. Desain tersebut diantaranya sebagai berikut:
1)

Desain Tampilan Awal


Untuk dapat menggunakan Aplikasi M-Learning Kesenian Alat Musik dan Lagu
Daerah Berbasis J2ME ini, user harus mendownload terlebih dahulu melalui
media web server dan menginstalnya. Pada tampilan awal aplikasi, akan muncul
halaman background dari Aplikasi M-Learning Kesenian Alat Musik dan Lagu
Daerah. Desain tampilan awal dari aplikasi ini, dapat dilihat pada Gambar 3.11.

46

Gambar 3.11 Desain Tampilan Awal


2)

Desain Menu Utama


Pada form menu utama Aplikasi M-Learning Kesenian Alat Musik dan Lagu
Daerah di Indonesia ini berisi beberapa list diantaranya daftar, login, belajar dan
panduan. Desain menu utama dari aplikasi ini dapat dilihat pada Gambar 3.12.

Gambar 3.12 Desain Menu Utama


3)

Desain Menu Daftar


Menu daftar digunakan untuk mendaftarkan user umum sebagai murid dari
aplikasi M-Learning, sehingga dapat mengakses seluruh informasi dari menu
murid yang ada dalam aplikasi ini. Desain menu daftar dari aplikasi ini dapat
dilihat pada Gambar 3.13.

47

Gambar 3.13 Desain Menu Daftar


4)

Desain Menu Login


Form login akan tampil setelah user mendaftarkan diri pada form daftar. Setelah
user login pada aplikasi ini, maka secara otomatis user akan menjadi murid dari
Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia. Login
dibagi menjadi dua list, yaitu login sebagai murid dan login sebagai pengajar.
Desain menu login dari aplikasi ini dapat dilihat pada Gambar 3.14 dan Gambar
3.15.

Gambar 3.14 Desain Menu Pilihan Login

48

Gambar 3.15 Desain Menu Login


5)

Desain Menu Murid


Menu murid dapat diakses ketika user umum telah menjadi murid dari aplikasi
ini dengan cara mendaftarkan diri pada form daftar dan login pada menu utama
yang telah disediakan. Desain menu murid dari aplikasi ini dapat dilihat pada
Gambar 3.16.

Gambar 3.16 Desain Menu Murid


6)

Desain Menu Pengajar


Setelah login pada form login sebelumnya dan terdaftar sebagai pengajar melalui
media website, maka akan keluar tampilan menu pengajar. Desain menu pengajar
dari aplikasi ini dapat dilihat pada Gambar 3.17.

49

Gambar 3.17 Desain Menu Pengajar


7)

Desain Menu Belajar


Menu belajar dapat diakses oleh semua user yang masuk pada aplikasi ini, baik
user umum ataupun murid. Karena pada menu belajar ini bersifat memberikan
pembelajaran secara menyeluruh baik mengenai alat musik maupun lagu daerah
yang ada di Indonesia. Desain menu belajar dari aplikasi ini dapat dilihat pada
Gambar 3.18.

Gambar 3.18 Desain Menu Belajar


8)

Desain Menu Alat Musik dan Lagu Daerah


Pada menu alat musik dan lagu daerah berisi list dari tiap-tiap daerah pulau yang
ada di Indonesia agar lebih memudahkan user dalam mempelajari alat musik dan
lagu daerah yang ada di Indonesia sesuai dengan daerah masing-masing. Desain
menu alat musik dan lagu daerah dari aplikasi ini dapat dilihat pada Gambar
3.19.

50

Gambar 3.19 Desain Menu Alat Musik dan Lagu Daerah


9)

Desain Menu Panduan


Pada menu panduan berisi tentang aplikasi dan profil pembuat aplikasi MLearning Kesenian Alat Musik dan Lagu Daerah di Indonesia. Desain menu
panduan dari aplikasi ini dapat dilihat pada Gambar 3.20.

Gambar 3.20 Desain Menu Panduan


3.3.3 Desain Database
a. Struktur Tabel Basis Data
Struktur tabel basisdata memuat tabel-tabel yang dibuat untuk menyimpan data dan
berkas M-Learning. Berikut ini adalah tabel-tabel yang digunakan dalam MLearning.

51

1)

Tabel murid
Tabel murid merupakan tabel yang berisi data-data murid yang telah melakukan
registrasi pada aplikasi M-Learning. Tabel ini terdiri dari 6 fields yaitu id_murid,
nama, username, password, kelas, dan statuslogin. Kunci utama untuk tabel
murid adalah id_murid. Struktur tabel murid dapat dilihat pada Tabel 3.2.
Tabel 3.2 Struktur tabel murid

2)

Field
id_murid
nama
username

Tipe
Varchar
Varchar
Varchar

Panjang
5
50
15

password

Varchar

15

kelas
statuslogin

Varchar
Varchar

10
1

Keterangan
Id murid sebagai kunci utama
Nama asli dari murid
username murid yang telah
melakukan registrasi
password murid yang telah
melakukan registrasi
Kelas murid
Status login yaitu
1 = pengajar
2 = murid

Tabel pengajar
Tabel pengajar merupakan tabel yang berisi data-data pengajar pada sistem MLearning. Tabel ini terdiri dari 6 fields yaitu id_pengajar, nama, username,
password, jabatan dan status login. Kunci utama dari tabel pengajar adalah
id_pengajar. Struktur tabel pengajar dapat dilihat pada Tabel 3.3.
Tabel 3.3 Struktur tabel pengajar
Field
id_pengajar

Tipe
Varchar

Panjang
5

nama
username

Varchar
Varchar

50
15

password

Varchar

15

Keterangan
id_pengajar sebagai kunci
utama
nama asli dari pengajar
username pengajar yang telah
melakukan registrasi
password pengajar yang telah
melakukan registrasi

52

jabatan
statuslogin

3)

Varchar
Varchar

50
1

jabatan pengajar
Status login yaitu
1 = pengajar
2 = murid

Tabel soal
Tabel soal adalah tabel yang berisi soal-soal yang akan dikerjakan murid pada
aplikasi M-Learning. Tabel ini terdiri dari 9 fields yaitu id_soal, soal,
gambar_soal, a, b, c, jawaban, id_pengajar, dan username. Kunci utama pada
tabel soal adalah id_soal. Struktur tabel soal dapat dilihat pada Tabel 3.4.
Tabel 3.4 Struktur tabel soal

4)

Field
id_soal
Soal
gambar_soal

Tipe
INT
Longtext
Varchar

Panjang
5

A
B
C
jawaban
id_pengajar

Varchar
Varchar
Varchar
Varchar
Varchar

50
50
50
1
5

username

Varchar

15

50

Keterangan
Id_soal sebagai kunci utama
Soal latihan dari pengajar
Gambar sebagai tambahan
dari soal
Jawaban a
Jawaban b
Jawaban c
Jawaban yang benar
Id_pengajar sebagai kunci
tamu
Username dari pengajar

Tabel sementara
Tabel sementara adalah tabel yang berisi data sementara dari murid yang telah
menjawab latihan soal. Tabel ini terdiri dari 3 fields yaitu id_murid, id_soal, dan
jawab. Kunci tamu pada tabel sementara adalah id_murid. Struktur table
sementara dapat dilihat pada Tabel 3.5.

53

Tabel 3.5 Struktur tabel sementara

5)

Field
id_murid
id_soal

Tipe
Varchar
INT

Panjang
5
5

jawab

Varchar

Keterangan
Id_murid sebagai kunci tamu
Nomer soal yang dijawab
murid
Jawaban dari setiap nomer
soal yang terjawab

Tabel nilai_total
Tabel nilai_total adalah tabel yang berisi data mengenai nilai keseluruhan dari
murid. Tabel ini terdiri dari 3 fields yaitu id_murid, nilai_total, dan tanggal.
Struktur tabel nilai_total dapat dilihat pada Tabel 3.6.
Tabel 3.6 Struktur tabel nilai_total

6)

Field
id_murid
nilai_total

Tipe
Varchar
Varchar

Tanggal

Date

Panjang
5
5

Keterangan
Id_murid sebagai kunci tamu
Nilai total dari latihan soal
yang telah dikerjakan murid
Tanggal latihan soal

Tabel status_login
Tabel status_login adalah tabel yang berisi status murid dan pengajar yang ada
pada sistem M-Learning. Tabel ini terdiri dari 2 field yaitu statuslogin dan
keterangan. Kunci utama pada tabel status_login adalah statuslogin. Struktur
tabel status_login dapat dilihat pada Tabel 3.7.
Tabel 3.7 Struktur tabel status_login
Field
statuslogin

Tipe
Varchar

Panjang
1

keterangan

Varchar

20

Keterangan
Status login merupakan kunci
utama. Terdiri dari 2 jenis
yaitu 1 dan 2
Keterangan dari
status login yaitu :
1 = pengajar
2 = murid

54

7)

Tabel saran_kritik
Tabel saran_kritik adalah tabel yang berisi saran dan kritik dari murid yang telah
melakukan login. Tabel ini terdiri dari 5 fields yaitu id_saran, id_murid,
username, saran dan tanggal. Struktur tabel ini dapat dilihat pada Tabel 3.8.
Tabel 3.8 Struktur tabel saran_kritik
Field
id_saran
id_murid
username
Saran
Tanggal

Tipe
Varchar
Varchar
Varchar
Longtext
Date

Panjang
5
5
15

Keterangan
Id_saran sebagai kunci utama
Id murid yang memberi saran
Username dari murid
Saran murid
Tanggal saat murid memberi
saran

b. Hubungan Antartabel
Hubungan antartabel adalah hubungan yang terjadi pada suatu tabel dengan tabel
lainnya yang berfungsi untuk mengatur operasi suatu basisdata. Hubungan antartabel
M-Learning dapat dilihat pada Gambar 3.21.

55

Gambar 3.21 Relasi Antar Tabel


Keterangan relasi:

Tabel status_login dengan tabel pengajar dan tabel murid memiliki relasi one to
many, artinya pada tabel status_login memiliki relasi lebih dari satu tabel.

Tabel pengajar dengan tabel soal memiliki relasi one to many, artinya pengajar
dapat memasukkan lebih dari satu soal, dimana didalam tabel pengajar sebagai
kunci utama dan didalam tabel soal memiliki posisi sebagai kunci tamu.

Tabel murid dengan tabel saran_kitik memiliki relasi one to many, artinya setiap
murid dapat memberikan saran_kritik lebih dari satu, dimana didalam tabel

56

murid sebagai kunci utama dan didalam tabel saran_kritik memiliki posisi
sebagai kunci tamu.

Tabel murid dengan tabel nilai_total memiliki relasi one to many, artinya setiap
murid dapat memiliki nilai total lebih dari satu, dimana didalam tabel murid
sebagai kunci utama dan didalam tabel nilai_total memiliki posisi sebagai kunci
tamu.

IMPLEMENTASI DAN PENGUJIAN SISTEM

Dalam bab ini akan dibahas mengenai implementasi dan pengujian Aplikasi M-Learning
Kesenian Alat Musik dan Lagu Daerah di Indonesia Berbasis J2ME. Pada bagian
implementasi terdiri dari implementasi basisdata dan implementasi pada midlet
menggunakan emulator. Pada bagian pengujian aplikasi, akan dijelaskan bagaimana
aplikasi berjalan pada ponsel. Sebelum membahas implementasi dan pengujian sistem,
terlebih dahulu akan dibahas mengenai spesifikasi perangkat keras dan perangkat lunak
yang digunakan dalam pengujian aplikasi ini.
4.1

Spesifikasi Perangkat Keras dan Lunak

4.1.1 Spesifikasi Perangkat Keras


Perangkat keras yang digunakan untuk mendukung dalam pengujian aplikasi ini adalah
sebagai berikut.
a.

Komputer

Komputer digunakan sebagai media untuk menuliskan kode program bagi programmer.
Komputer juga digunakan untuk media penyimpanan program serta pengujian sebelum
program digunakan oleh pengguna.Selain itu, komputer juga digunakan sebagai server
dari sistem aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia
Berbasis J2ME.

57

58

Spesifikasi perangkat keras komputer yang digunakan sebagai server adalah sebagai
berikut:

b.

1)

Processor Intel Core 2 Duo

2)

RAM 2 GB

3)

Harddisk 250 GB

Ponsel

Ponsel digunakan oleh pengguna untuk mengakses aplikasi M-Learning Kesenian Alat
Musik dan Lagu Daerah di Indonesia Berbasis J2ME. Spesifikasi ponsel yang digunakan
untuk menjalankan aplikasi ini adalah sebagai berikut:
1)

Java-enabled MIDP device dengan CLDC versi 1.1 dan MIDP versi 2.0,

2)

Mempunyai koneksi internet

3)

Mendukung format suara .mp3 dan video .3gp

4.1.2 Spesifikasi Perangkat Lunak

Perangkat lunak merupakan program yang digunakan dalam pembuatan aplikasi mlearning ini yang meliputi aplikasi untuk ponsel, aplikasi web berbasis PHP dan
pembuatan basisdata. Perangkat lunak yang digunakan antara lain :
a. JavaTM Micro Edition Platform Software Development Kit 3.0 (Java ME SDK 3.0);
b. JDK versi 6.0;
c. Sistem Operasi Windows 7;
d. XAMPP-in32-1.7.3 for Windows;
e. Adobe Dreamwaver CS3

59

4.2

Implementasi Sistem

Implementasi sistem terdiri dari implementasi basisdata dan implementasi MIDlet pada
emulator.
4.2.1 Implementasi Basisdata
Pada implementasi basisdata digunakan XAMPP yang didalamnya terdapat MySql.
XAMPP merupakan tool yang menyediakan paket perangkat lunak kedalam sebuah
paket. Perangkat lunak tersebut diantaranya, Apache, PHP, MySql dan PHPMyAdmin.
Pembuatan basisdata pada aplikasi M-Learning diberinama mlearning dan didalamnya
terdapat 7 tabel. Hasil implementasi basisdata tersebut adalah sebagai berikut:
a.

Tabel status_login

Implementasi dari tabel status_login seperti pada Tabel 4.1.


Tabel 4.1 Implementasi struktur tabel status_login

b.

Tabel murid

Implementasi dari tabel murid seperti pada Tabel 4.2.

60

Tabel 4.2 Implementasi struktur tabel murid

c.

Tabel pengajar

Implementasi dari tabel pengajar seperti pada Tabel 4.3.


Tabel 4.3 Implementasi struktur tabel pengajar

d.

Tabel soal

Implementasi dari tabel soal seperti pada Tabel 4.4.


Tabel 4.4 Implementasi struktur tabel soal

61

e.

Tabel saran_kritik

Implementasi dari tabel saran_kritik seperti pada Tabel 4.5.


Tabel 4.5 Implementasi struktur tabel saran_kritik

f.

Tabel sementara

Implementasi dari tabel sementara seperti pada Tabel 4.6.


Tabel 4.6 Implementasi struktur tabel sementara

g.

Tabel nilai_total

Implementasi dari tabel nilai_total seperti pada Tabel 4.7.


Tabel 4.7 Implementasi struktur tabel nilai_total

62

4.2.2 Implementasi Koding Sistem


a.

Menampilkan Image
Objek image digunakan untuk meletakkan objek gambar. Pada aplikasi ini, objek
gambar diambil dari sebuah file gambar yang tersimpan dalam folder res.
Konstruktor dari class image ini bersifat statik, sehingga tidak menggunakan new
untuk membuat sebuah objek image melainkan menggunakan fungsi createImage()
pada objek image ini. Koding program untuk menampilkan file gambar adalah
sebagai berikut:
gambar

new

ImageItem("",

Image.createImage("/seni2.jpg"),

ImageItem.LAYOUT_CENTER, "");
masuk = new Command(" Masuk ", Command.OK, 1);
append(gambar);
addCommand(masuk);
setCommandListener(this);

Gambar 4.1 Tampilan Image

63

b.

Menampilkan Choice Group


Class List (javax.microedition.lcdui.List) merupakan class turunan dari class
abstract javax.microedition.lcdui.Screen yang menyediakan masukan pilihan
(multiple choice) pada layar. Tipe list yang digunakan untuk menampilkan judul
lagu daerah adalah Choice.EXCLUSIVE dimana hanya dapat dipilih 1 buah pilihan
saja.
Koding program untuk menampilkan choice group adalah sebagai berikut:
variabel

new

ChoiceGroup("Pilih

Lagu

Daerah

\n",Choice.EXCLUSIVE);
variabel.append(" Rasa Sayange\n",null);
variabel.append(" Waktu Hujan Sore-sore\n",null);
variabel.append(" Burung Kakatua\n",null);
kembali = new Command("Kembali", Command.BACK, 1);
append(variabel);
addCommand(kembali);
setCommandListener(this);

Gambar 4.2 Tampilan Choice Group

Maluku

64

c.

Menampilkan Video 3gp


Untuk menampilkan demo alat musik, pada aplikasi ini menggunakan video player
online dimana dapat membaca file video berformat 3gp pada sebuah server
menggunakan koneksi GPRS. Dengan menggunakan aplikasi ini, pengguna tidak
perlu men-download file video dari server, namun secara otomatis aplikasi ini akan
mengambil file tersebut dari server dan akan menyimpannya pada memori untuk
dijalankan. Koding program untuk memainkan video adalah sebagai berikut:
else if (c==video1){
try{
String a =
"http://mlearningshamild.com/LEARNING/mpg/oke5.3gp";
lihat(a);
VolumeControl control = (VolumeControl)
player.getControl("VolumeControl");
if(control != null){
control.setLevel(100);
player.start();
setCommandListener(this);
}
catch (MediaException mex){
run.AlertError("Error media");
}
catch (Exception ex){
run.AlertError("Error exce");
setCommandListener(this);
}

65

Gambar 4.3 Tampilan Video


d.

Mendengarkan Lagu Format mp3


Pada aplikasi ini juga memuat materi pembelajaran berupa lagu daerah dimana
pengguna dapat mendengarkan lagu berformat mp3 yang diambil dari server
sehingga membutuhkan media telepon selular yang memiliki fasilitas GPRS dan
mendukung format mp3. Koding program untuk mendengarkan lagu format mp3
adalah sebagai berikut:
void Rasa(){
StreamConnection conn = null;
try {
String url = "http://mlearningshamild.com/LEARNING/lagu2/rasa.mp3";
conn = (HttpConnection)Connector.open(url,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/mpeg");
player.realize();
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");

66

if(vc !=null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch (IOException ioex) {
run.AlertError("Error!!");
}
catch (MediaException mex){
run.AlertError("Error");
}
}

Gambar 4.4 Tampilan Dengar Lagu


e.

Menampilkan Latihan Soal


Pada aplikasi ini, untuk menampilkan latihan soal harus berhubungan ke server
dimana data soal diambil dari database server. Untuk tampilan gambarnya, harus

67

diambil dari url yang memuat file gambar yang dituju. Koding program untuk
menampilkan latihan soal adalah sebagai berikut:
private void init(){
this.append("Pertanyaan");
this.append(this.soal);
System.out.println(""+this.urlgambarsoal+" "+daftarid[idsoal]);
if(this.urlgambarsoal!=null && !this.urlgambarsoal.equals("")){
Image gmbsoal = null;
StreamConnection conn = null;
InputStream is = null;
try {
conn = (StreamConnection) Connector.open(this.urlgambarsoal);
is = conn.openInputStream();
gmbsoal = Image.createImage(is);
try{
this.append(gmbsoal);
}catch(Exception e){}
} catch (IOException ex) {
ex.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}

68

}
if(is!=null){
try {
is.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}}}}
cgjawaban = new ChoiceGroup("Jawaban", ChoiceGroup.EXCLUSIVE);
cgjawaban.append("A. "+jawaban[0], null);
cgjawaban.append("B. "+jawaban[1], null);
cgjawaban.append("C. "+jawaban[2], null);
this.append(cgjawaban);

Gambar 4.5 Tampilan Latihan Soal

69

4.3

Pengujian Aplikasi

4.3.1 Pengujian Aplikasi pada Ponsel


a. Tampilan Awal
Pengujian Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia
menggunakan ponsel Samsung . Tampilan awal pada ponsel jika aplikasi dijalankan
seperti pada Gambar 4.6.

Gambar 4.6 Tampilan Awal Aplikasi pada Ponsel


b. Menu Utama
Setelah menekan tombol masuk pada keypad ponsel, maka akan muncul tampilan menu
utama. Tampilan menu utama pada ponsel dapat dilihat pada Gambar 4.7.

70

Gambar 4.7 Menu Utama pada Ponsel


Submenu dari menu utama terdiri dari:
1) Daftar
Menu daftar digunakan sebagai registrasi dari user umum menjadi murid. Apabila
proses registrasi gagal, maka akan muncul pesan peringatan. Tetapi jika proses
registrasi berhasil, maka user umum yang telah terdaftar sebagai murid akan
langsung masuk ke form login. Tampilan menu daftar dapat dilihat pada Gambar
4.8.

Gambar 4.8 Menu Daftar pada Ponsel

71

2) Login
Menu login terdiri dari login murid dan login pengajar. User umum dapat
melakukan login murid jika telah mendaftarkan dirinya sebagai murid pada menu
daftar yang ada pada menu utama aplikasi. Sedangkan pengajar dapat melakukan
login apabila telah melakukan registrasi melalui website dimana proses
registrasinya dibantu oleh administrator. Tampilan menu login dapat dilihat pada
Gambar 4.9.

Gambar 4.9 Menu Login pada Ponsel


3) Belajar
Menu belajar dapat diakses oleh user umum yang tidak mendaftarkan dirinya
sebagai murid, ataupun yang sudah mendaftarkan diri sebagai murid. Pada menu
belajar terdiri dari materi pembelajaran alat musik dan lagu daerah di Indonesia.
Tampilan menu belajar dapat dilihat pada Gambar 4.10.

72

Gambar 4.10 Menu Belajar pada Ponsel


4) Panduan
Menu panduan berisi submenu tentang aplikasi dan tentang kami. Submenu
tentang aplikasi berisi mengenai informasi dari aplikasi M-Learning Kesenian Alat
Musik dan Lagu Daerah di Indonesia. Sedangkan submenu tentang kami berisi
mengenai informasi perancang aplikasi. Tampilan menu panduan dapat dilihat
pada Gambar 4.11.

73

Gambar 4.11 Menu Panduan pada Ponsel


c. Menu Murid
Setelah user umum terdaftar sebagai murid dan berhasil melakukan login, maka akan
muncul tampilan menu murid. Tampilan menu murid dapat dilihat pada Gambar 4.12.

74

Gambar 4.12 Menu Murid pada Ponsel


Menu murid terdiri dari:
1) Data Diri
Menu data diri berisi submenu lihat data diri dan ubah data diri. Jadi murid dapat
melihat data dirinya sendiri ataupun mengubah data dirinya. Tampilan dari menu
data diri dapat dilihat pada Gambar 4.13.

Gambar 4.13 Tampilan Data Diri pada Ponsel

75

2) Latihan Soal
Menu latihan soal berisi kumpulan soal mengenai materi pembelajaran berupa alat
musik dan lagu daerah di Indonesia. Tampilan dari menu latihan soal dapat dilihat
pada Gambar 4.14.

Gambar 4.14 Tampilan Latihan Soal pada Ponsel


3) Nilai
Menu nilai berisi nilai total dan username dari murid yang telah mengerjakan
latihan soal. Tampilan menu nilai dapat dilihat pada Gambar 4.15.

Gambar 4.15 Tampilan Nilai pada Ponsel

76

4) Saran
Menu saran ditujukan bagi murid yang ingin memberikan saran maupun kritik
kepada pengajar. Tampilan menu saran dapat dilihat pada Gambar 4.16.

Gambar 4.16 Tampilan Saran pada Ponsel


d. Menu Pengajar
Menu pengajar hanya dapat diakses oleh pengajar yang telah mendaftarkan dirinya
melalui website dimana proses registrasinya dibantu oleh administrator. Tampilan menu
pengajar dapat dilihat pada Gambar 4.17.

Gambar 4.17 Menu Pengajar pada Ponsel

77

Menu pengajar terdiri dari:


1) Data Murid
Data murid berisi submenu data pribadi murid, nilai murid dan saran murid.
Tampilan data murid dapat dilihat pada Gambar 4.28.

Gambar 4.18 Tampilan Data Murid pada Ponsel


2) Data Soal
Data soal berisi submenu lihat soal dan tambah soal. Dimana pengajar dapat
melihat soal-soal yang telah diberikan kepada murid dan juga dapat menambahkan
soal yang baru. Tampilan data soal dapat dilihat pada Gambar 4.19.

Gambar 4.19 Tampilan Data Soal pada Ponsel

78

4.3.2 Pengujian Tampilan Web Server


Dalam pembuatan web server ini digunakan aplikasi Adobe Dreamwaver untuk
mempermudah mendesain web dan menghasilkan tampilan sebagai berikut.
a.

Tampilan Awal

Pada tampilan awal, pengguna dapat membaca sekilas informasi tentang Aplikasi MLearning Kesenian Alat Musik dan Lagu Daerah di Indonesia ini. Terdapat menu login
untuk admin dan pengajar yang sudah terdaftar pada database. Pada tampilan awal web
ini terdapat menu-menu yang dapat diakses oleh pengguna umum yaitu menu Download
Aplikasi Ponsel. Tampilan awal situs web dapat dilihat pada Gambar 4.20.

Gambar 4.20 Tampilan Awal Situs Web


b.

Login sebagai Pengajar

Ketika pengguna login sebagai pengajar, maka akan tampil halaman menu pengajar.
Pengajar dapat melakukan manipulasi data murid dan data soal, melihat nilai, alamat

79

URL dan saran. Menu keluar berfungsi sebagai tombol untuk keluar dari halaman menu
pengajar. Tampilan halaman menu pengajar dapat dilihat pada Gambar 4.21.

Gambar 4.21 Tampilan Halaman Menu Pengajar


Menu pengajar terdiri dari :
1) Data Murid
Menu Data Murid ini adalah menu yang digunakan untuk mengelola data murid
diantaranya melihat daftar murid, menambah murid baru, mengedit data murid dan
menghapus data murid. Tampilan menu Data Murid dapat dilihat pada Gambar
4.22.

80

Gambar 4.22 Tampilan Menu Data Murid


Jika pengajar ingin mengubah data murid dan menambah murid baru, maka
pengajar dapat memilih pada menu Pilihan yaitu Ubah dan Tambah. Tampilan
untuk Ubah murid dan Tambah Murid dapat dilihat pada Gambar 4.23 dan 4.24.

Gambar 4.23 Tampilan Menu Ubah Data Murid

81

Gambar 4.24 Tampilan Menu Tambah Data Murid


Jika Ubah Murid dan Tambah Murid telah berhasil maka akan muncul tampilan
informasi Perubahan dan Penambahan Murid dapat dilihat pada Gambar 4.25.

Gambar 4.25 Tampilan Informasi Perubahan


2) Lihat soal
Pada Menu Lihat Soal ini pengajar dapat mengelola data soal diantaranya
mengubah, menambah dan menghapus data soal. Tampilan menu Lihat Soal dapat
dilihat pada Gambar 4.26.

82

Gambar 4.26 Tampilan Menu Daftar Soal


3) Lihat Nilai
Menu Lihat Nilai ini digunakan untuk melihat daftar nilai dari murid yang telah
melakukan latihan soal. Tampilan Menu Lihat Nilai dapat dilihat pada Gambar
4.27.

Gambar 4.27 Tampilan Menu Daftar Nilai Murid

83

4) Lihat Saran
Menu Lihat Saran adalah menu yang digunakan pengajar untuk melihat saran dari
murid. Tampilan Menu Lihat Saran dapat dilihat pada Gambar 4.28.

Gambar 4.28 Tampilan Menu Lihat Saran


5) URL Gambar
Menu URL Gambar adalah menu yang digunakan pengajar apabila ingin
menambahkan soal dalam bentuk gambar, pengajar dapat melihat alamat URL
yang telah tersedia pada menu ini. Tampilan menu URL Gambar dapat dilihat
pada Gambar 4.29.

84

Gambar 4.29 Tampilan Menu Daftar URL Gambar


6) Keluar
Menu Keluar ini digunakan pengajar untuk keluar dari menu pengajar.
c.

Login sebagai Administrator

Ketika pengguna login sebagai administrator, maka akan tampil halaman menu
administrator. Administrator dapat melakukan manipulasi data pengajar dan melihat
data murid. Menu keluar berfungsi sebagai tombol untuk keluar dari halaman menu
administrator. Tampilan halaman menu administrator dapat dilihat pada Gambar 4.30.

85

Gambar 4.30 Tampilan Halaman Menu Admin

4.3.3 Pengujian Kualitas Ponsel


Pengujian kualitas ponsel merupakan hal yang sangat penting dalam pengoperasian
suatu aplikasi. Berdasarkan pengujian dari 3 macam ponsel
kesimpulan pada Tabel 4.8.

maka dapat diperoleh

86

Tabel 4.8 Pengujian Kualitas Ponsel


Sony Ericsson K530i
Sistem Operasi
Running Program
Resolusi Layar
Gambar Ponsel

Java
Program tidak dapat berjalan dengan
baik dikarenakan resolusi layar yang
rendah.
176 x 220 piksel

Samsung GT-S5620
Sistem Operasi
Running Program
Resolusi Layar
Gambar Ponsel

HiTech H71
Sistem Operasi
Running Program
Resolusi Layar

Java
Program dapat berjalan dengan baik.
240 x 400 piksel

Java
Program dapat berjalan dengan baik.
240 320 piksel

87

Gambar Ponsel

Nokia E63
Sistem Operasi
Running Program
Gambar Ponsel

Symbian OS S60 3rd edition


Program dapat berjalan dengan baik.

Nokia C 3
Sistem Operasi
Running Program
Resolusi Layar
Gambar Ponsel

platform Nokia Series 40


Program dapat berjalan dengan baik.
320 x 240 piksel

88

4.3.4 Pengoperasian dan Pengujian Sistem Aplikasi pada Siswa Kelas 6 SD


Pada tahapan ini dilakukan pengujian aplikasi pada objek yang sebenarnya. Objek disini
adalah siswa kelas 6 SD Negeri Plamongansari 01, Semarang. Dalam pengujian ini,
penulis menggunakan sample 1 kelas untuk melakukan pengujian sistem. Dalam
pengujian aplikasi ini didapatkan data dengan cara memberikan beberapa poin
pertanyaan mengenai sistem aplikasi M-Learning serta mengharapkan kritik dan saran
demi pengembangan selanjutnya.
Dalam pengujian sistem aplikasi ini diberikan beberapa pertanyaan untuk mendapatkan
hasil perhitungan yang digunakan sebagai acuan untuk mengetahui tingkat kepuasan
pengguna dalam menggunakan aplikasi. Untuk daftar pertanyaan dapat dilihat pada
tabel 4.9.
Tabel 4.9 Daftar pertanyaan
Kode

Pertanyaan

Pengenalan sistem aplikasi

Pemahaman terhadap sistem aplikasi

Pengoperasian sistem aplikasi

Kesesuaian materi pembelajaran

Kemudahan dalam penyampaian materi

89

Hasil perhitungan jumlah nilai didasarkan pada tabel indikator nilai seperti terlihat pada
tabel 4.10.
Tabel 4.10 Indikator penilaian
Indikator

Nilai

Bagus sekali

Bagus

Cukup

Kurang

Sangat kurang

Tingkat kemudahan dalam pemahaman materi pembelajaran sistem aplikasi m-learning


bagi siswa kelas 6 SD dapat dilihat pada Tabel 4.11.
Tabel 4.11 Tingkat Kemudahan dalam Pemahaman Materi Pembelajaran
Tingkat Kemudahan

Keterangan

0% - 25%

Sulit dipahami

26% - 50%

Cukup mudah dipahami

51% - 75%

Mudah dipahami

76% - 100%

Sangat mudah dipahami

90

Hasil yang didapatkan dari hasil pengujian aplikasi berdasarkan daftar indikator nilai
dapat dilihat pada Tabel 4.12.
Tabel 4.12 Hasil pengujian sistem pada siswa kelas 6 SD
Daftar pertanyaan
No

Nama

Total nilai
A

M. Iqbal

23

Yossa S.H.

23

Maharani Ayu D.

24

Zulfika E.

23

Dwi Cahyaning U.

24

T. Danu Projo

22

Nungky Wibowo

22

N. Dian Utami

24

Lola Angela

24

10

M. Naufal H.

22

Total

211

91

Jumlah maksimal untuk indikator penilaian = 25


Jumlah siswa yang mengisi quisioner = 10
Jumlah pemahaman maksimal = 25 x 10 = 250

Skor kemudahan dipahami =


=

total jumlah nilai siswa


x 100%
jumlah pemahaman maksimal

211
x 100%
250

= 84,4%

Dari hasil penghitungan, nilai 84,4% dapat menyatakan bahwa sistem yang dibuat sangat
mudah untuk dipahami oleh siswa kelas 6 SD sesuai dengan tujuan yang diharapkan.

PENUTUP

5.1 Kesimpulan

Dari hasil pembuatan Tugas Akhir ini, dapat diambil kesimpulan sebagai berikut :
a.

Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia bertujuan
untuk mempermudah pengguna khusunya pelajar SD tingkat akhir dalam
mempelajari jenis alat musik dan lagu daerah yang ada di Indonesia yang dapat di
akses kapan saja dan dimana saja melalui media telepon selular.

b.

Sesuai hasil uji yang dilakukan terhadap kelas 6 SD diketahui bahwa jumlah
kepuasan siswa adalah 84,4% yang berarti sistem pembelajaran ini sangat mudah
dipahami para siswa dalam belajar Kesenian Alat Musik dan Lagu Daerah di
Indonesia.

c.

Aplikasi ini dapat digunakan oleh murid dan pengajar yang telah melakukan proses
registrasi. Sehingga antara murid dan pengajar dapat melakukan interaksi belajar
mengajar melalui media telepon selular, dimana murid dapat mengerjakan latihan
soal yang diberikan oleh pengajar. Sebaliknya, pengajar dapat mengakses nilai dari
murid-muridnya.

d.

Aplikasi ini dapat diakses oleh pengguna dimanapun dan kapanpun dengan syarat
aplikasi m-learning telah terinstal dalam telepon selular yang memiliki fasilitas
GPRS, Java Phone, serta mendukung format mp3 dan 3gp.

e.

Aplikasi M-Learning ini dapat berjalan dengan baik pada handphone Samsung GTS5620 dan HiTech HT71.
92

93

5.2 Saran

Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di Indonesia ke depan
dapat dikembangkan agar:
a. Materi pembelajaran lagu daerah tidak hanya memainkan lagu secara refrain saja,
namun seluruh lirik lagu.
b. Demo video alat musik dapat dibuat lebih menarik dengan ukuran yang lebih
terstrukur dan jelas.

Play.java // sebagai main midlet


package SeniMusik;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
public class Play extends MIDlet {
static Play instance;
private static Display display;
private Tampilan_Awal tampilan_awal;
public Play() {
instance = this;
display = Display.getDisplay(this);
tampilan_awal = new Tampilan_Awal(display,this);
}
public void startApp() {
display.setCurrent(tampilan_awal);
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}
public static void AlertConfirm(Exception e) {
AlertConfirm(e.getMessage());
}

public static void AlertConfirm(String message) {


Image image = null;
try {
image = Image.createImage("/error.png");
}
catch (IOException ie) {
}
Alert alert = new Alert("Warning !", "",
image, AlertType.CONFIRMATION);
alert.setTimeout(Alert.FOREVER);
alert.setString(message);
display.setCurrent(alert);
}
public static void AlertError(Exception e) {
AlertError(e.getMessage());
public static void AlertError(String message) {
Image image = null;
try {
image = Image.createImage("/error.png");
}
catch (IOException ie) {
}
Alert alert = new Alert("Warning !", "",
image, AlertType.CONFIRMATION);
alert.setTimeout(Alert.FOREVER);
alert.setString(message);
display.setCurrent(alert);

Tampilan_Awal.java

//untuk menampilkan tampilan wal berupa file gambar

package SeniMusik;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.Manager.*;

public class Tampilan_Awal extends Form implements CommandListener {


private Play run;
private Display display;
private ImageItem gambar = null;
Ticker tkrMain;
private Command masuk;
private StringItem ket;
public Tampilan_Awal(Display display, Play run) {
super("Mobile Learning");
this.display = display;
this.run = run;
try {
Tampil();
}
catch(Exception e)
{
e.printStackTrace();
}
}
private javax.microedition.lcdui.Ticker get_tkrMain() {
if (tkrMain == null) {
tkrMain = new javax.microedition.lcdui.Ticker(
"Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di
Indonesia");
}
return tkrMain;
}
private void Tampil() throws Exception {
setTicker(get_tkrMain());
gambar = new ImageItem("", Image.createImage("/seni2.jpg"),
ImageItem.LAYOUT_CENTER, "");
masuk = new Command(" Masuk ", Command.OK, 1);
append(gambar);

addCommand(masuk);
setCommandListener(this);

public void commandAction(Command c, Displayable d) {


{
Menu_Utama menu = new Menu_Utama(display, run);
display.setCurrent(menu);
}

Menu_Utama.java
package SeniMusik;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.Manager.*;
import javax.microedition.media.control.VolumeControl;
public class Menu_Utama extends List implements CommandListener{
private Command cancel;
private Command Cmd_Login;
private Display display;
private Play run;
private Form form_hasil;
private String akhir,cek;
Ticker tkrMain;
private Player player;
private VolumeControl vc;

public Menu_Utama(Display display, Play run) {


super ("Menu Utama",List.IMPLICIT);
this.display = display;
this.run = run;
try {
tampilan();
} catch(Exception e) {
e.printStackTrace();
}

private javax.microedition.lcdui.Ticker get_tkrMain() {


if (tkrMain == null) {
tkrMain = new javax.microedition.lcdui.Ticker(
"Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di
Indonesia");
}
return tkrMain;
}
private void tampilan() throws Exception {
setTicker(get_tkrMain());
cancel = new Command("Kembali", Command.EXIT, 2);
Cmd_Login = new Command("Pilih", Command.OK, 1);
addCommand(cancel);
addCommand(Cmd_Login);
Image
Image
Image
Image

a
b
c
d

try {
a =
b =
c =
d =

=
=
=
=

null;
null;
null;
null;

Image.createImage("/daftar.png");
Image.createImage("/login.png");
Image.createImage("/belajar.png");
Image.createImage("/panduan.png");

catch (Exception f) { }
append(" Daftar\n",a);
append(" Login\n",b);
append(" Belajar\n",c);
append(" Panduan\n",d);
setCommandListener(this);

}
void Stop (){
if(player != null)
{
player.close();
}
}
public void commandAction(Command c, Displayable d) {
if (c.getLabel() == "Kembali")
{
run.quitApp();
//Tampilan_Awal tampilan = new Tampilan_Awal(display, run);
//display.setCurrent(tampilan);
}
else {
int selectedIndex = getSelectedIndex();
try {
if (selectedIndex == 0) {
Daftar daftar = new Daftar(display,akhir);
display.setCurrent(daftar);
}
else if (selectedIndex == 1) {
Login login = new Login(display, akhir);
display.setCurrent(login);

}
else if (selectedIndex == 2) {
Belajar belajar = new Belajar(display, akhir);
display.setCurrent(belajar);
}

else if (selectedIndex == 3) {
Panduan panduan = new Panduan(display, akhir);
display.setCurrent(panduan);

}
}
catch (Exception e) {
Alert a = new Alert("Terjadi Kesalahan : ");
a.setString("Gagal me-load pilihan : " + getString(selectedIndex));
a.setTimeout(2000);
display.setCurrent(a);
}
}

Menu_User .java //menu murid setelah daftar dan login sebagai murid
package SeniMusik;
import
import
import
import
import
import

java.io.IOException;
java.io.InputStream;
java.util.Vector;
javax.microedition.io.Connector;
javax.microedition.io.StreamConnection;
javax.microedition.lcdui.*;

public class Menu_User extends List implements CommandListener{


private Command cancel;
private Command Cmd_Login;
private Display display;
private Play run;
private Form form_hasil;
private String akhir,username;
Ticker tkrMain;
public Menu_User(Display display, String akhir, String username) {
super ("Menu Murid",List.IMPLICIT);
this.display = display;
this.run = run;
this.username = username;
try {
tampilan();
} catch(Exception e) {
e.printStackTrace();
}
}
private javax.microedition.lcdui.Ticker get_tkrMain() {
if (tkrMain == null) {
tkrMain = new javax.microedition.lcdui.Ticker(
"Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di
Indonesia");
}
return tkrMain;
}
private void tampilan() throws Exception {
setTicker(get_tkrMain());
cancel = new Command("Logout", Command.EXIT, 2);
Cmd_Login = new Command("Pilih", Command.OK, 1);

addCommand(cancel);
addCommand(Cmd_Login);
Image a = null;
try {
a = Image.createImage("/1.png");
}

catch (Exception f) { }
append(" Data Diri\n",a);
append(" Latihan Soal\n",a);
append(" Nilai\n",a);
append(" Saran\n",a);
setCommandListener(this);

}
public int[] getIdYangAda(){
int[] arr = {};
String result = new String();
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
Vector arrv = new Vector();
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/ambilidsoal.php");
in = conn.openInputStream();
int ch;
int c = 0;
while ((ch = in.read()) != -1) {
System.out.println((char)ch);
if((char)ch=='|'){
arrv.addElement(data);
data = new StringBuffer();
c++;
}else{
data.append((char)ch);
}
//System.out.println((char)ch);
}
arr = new int[arrv.size()];
for(int i=0;i<arr.length;i++){
try{
arr[i] = Integer.parseInt(arrv.elementAt(i).toString());
}catch(Exception e){}
}

return arr;

}catch (IOException e) {
System.err.println("The connection could not be established.");
}finally{
if(conn!=null){
try {
conn.close();
} catch (IOException ex) {
ex.printStackTrace();
}
System.gc();
}
if(in!=null){
try {
in.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}

public void commandAction(Command c, Displayable d) {


if (c.getLabel() == "Logout")
{
Menu_Utama menuutama = new Menu_Utama(display, run);
display.setCurrent(menuutama);
}
else {
int selectedIndex = getSelectedIndex();
try {
if (selectedIndex == 0) {
DataMember data = new DataMember(display,akhir,username);
display.setCurrent(data);
}
else if (selectedIndex == 1) {
FormSoal soal = new FormSoal(display,akhir,username,0,daftarid);
display.setCurrent(soal);
}
else if (selectedIndex == 2) {
Nilai nilai = new Nilai(display, akhir, username);
display.setCurrent(nilai);
}
else if (selectedIndex == 3) {
Saran saran = new Saran(display, akhir, username);
display.setCurrent(saran);
}
}
catch (Exception e) {
Alert a = new Alert("Terjadi Kesalahan : ");
a.setString("Gagal me-load pilihan : " + getString(selectedIndex)+"
"+e.toString());
a.setTimeout(2000);
display.setCurrent(a);
}
}

Menu_Pengajar.java
package SeniMusik;
import javax.microedition.lcdui.*;
public class Menu_Pengajar extends List implements CommandListener{
private Command cancel;
private Command Cmd_Login;
private Display display;
private Play run;
private Form form_hasil;
private String akhir,username;
Ticker tkrMain;
public Menu_Pengajar(Display display, String akhir,String username ) {
super ("Menu Pengajar",List.IMPLICIT);
this.display = display;
this.run = run;
this.username=username;
try {
tampilan();
} catch(Exception e) {
e.printStackTrace();
}
}
private javax.microedition.lcdui.Ticker get_tkrMain() {
if (tkrMain == null) {
tkrMain = new javax.microedition.lcdui.Ticker(
"Aplikasi M-Learning Kesenian Alat Musik dan Lagu Daerah di
Indonesia");
}
return tkrMain;
}
private void tampilan() throws Exception {

setTicker(get_tkrMain());
cancel = new Command("Logout", Command.EXIT, 2);
Cmd_Login = new Command("Pilih", Command.OK, 1);
addCommand(cancel);
addCommand(Cmd_Login);
Image a = null;
try {
a = Image.createImage("/2.png");
}
catch (Exception f) { }
append(" Data Murid\n",a);
append(" Data Soal\n",a);
setCommandListener(this);

public void commandAction(Command c, Displayable d) {


if (c.getLabel() == "Logout")
{

Menu_Utama menuutama = new Menu_Utama(display, run);


display.setCurrent(menuutama);
else {
int selectedIndex = getSelectedIndex();
try {
if (selectedIndex == 0) {
LihatMurid lihat = new LihatMurid(display,run,username);
display.setCurrent(lihat);
}
else if (selectedIndex == 1) {
Soal_Pengajar tambah = new Soal_Pengajar(display, akhir,username);
display.setCurrent(tambah);
}
}
catch (Exception e) {
Alert a = new Alert("Terjadi Kesalahan : ");
a.setString("Gagal me-load pilihan : " + getString(selectedIndex));
a.setTimeout(2000);
display.setCurrent(a);
}

Daftar.java
package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
import java.util.*;
public class Daftar extends Form implements CommandListener {
private
private
private
private
private
private
private
private
private
private
private
private

Display display;
StringItem HasilItem;
TextField id;
TextField name;
TextField user;
TextField pass;
TextField clas;
TextField age;
Form form_hasil;
String result, akhir;
Play run;
Command SignUp,Batal,OK;

public Daftar(Display display, String akhir) {


super("Daftar");
this.display = display;

this.akhir = akhir;
this.form_hasil = form_hasil;
form_hasil = new Form("<<Selamat Datang>>");
HasilItem = new StringItem("","Silakan login dengan username dan password Anda
yang telah ter-registrasi");
form_hasil.append(HasilItem);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
id = new TextField("", "", 50,TextField.ANY);
id.setLabel("No absen : ");
this.append(id);
name = new TextField("Nama :", "", 50,TextField.ANY|TextField.ANY);
append(name);
user = new TextField("Username :", "", 50,TextField.ANY);
append(user);
pass = new TextField("Password :", "", 50,TextField.ANY|TextField.PASSWORD);
append(pass);
clas = new TextField("Kelas :", "", 50,TextField.ANY);
append(clas);
SignUp=new Command("Daftar", Command.OK,1);
Batal=new Command("Kembali", Command.BACK,2);
addCommand(SignUp);
addCommand(Batal);
setCommandListener(this);
OK= new Command("OK", Command.OK,1);
form_hasil.addCommand(OK);
form_hasil.setCommandListener(this);
}
private String InputData(String id_murid, String nama, String username,
String password, String kelas) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraynama,arraykelas;
String name="";
String clas="";
arraynama = parse(nama);
for (int i=0; i<arraynama.length; i++){
name=name.concat(arraynama[i]+"%20");
}
arraykelas = parse(kelas);
for (int j=0; j<arraykelas.length; j++){
clas=clas.concat(arraykelas[j]+"%20");
}
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/daftar.php?&id_murid="+id
_murid+"&nama="+name+"&username="+username+"&password="+password+"&kelas="+clas);
in = conn.openInputStream();
int ch;
while((ch=in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}

else{
HasilItem.setText(data.toString());
data = new StringBuffer();
}
}
}
catch(IOException e) {
System.err.println("Koneksi Gagal!");
}
return result;
}
private String [] parse(String original){
Vector nodes = new Vector();
String separator = " ";
System.out.println("Split start------------------------");
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}
public void commandAction(Command c, Displayable d) {
if (c==Batal) {
Menu_Utama menu_utama = new Menu_Utama(display, run);
display.setCurrent(menu_utama);
}
else if (c==OK) {
LoginMurid login= new LoginMurid(display, run);
display.setCurrent(login);
}
else if (c==SignUp) {
String akhir = InputData(id.getString(),name.getString(),
user.getString(),pass.getString(),clas.getString());
if(akhir.equals("KURANG")==true){
Play.AlertError("Maaf, ada data yang kosong, Silakan coba
lagi");
}
else if(akhir.equals("SUDAH")==true){
Play.AlertError("Maaf, data Anda sudah ada");
}
else if(akhir.equals("DATA MASUK")==true){
Play.AlertError("Terimakasih, data Anda telah masuk");
display.setCurrent(form_hasil);
}
else
{
Play.AlertError("Koneksi Gagal");
}
}
}
}

LoginMurid.java

//koding LoginMurid memiliki koding hampir sama dengan LoginPengajar

package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;

import java.io.*;
public class LoginMurid extends Form implements CommandListener {
private Display display;
private TextField username;
private TextField password;
private Command Batal;
private Command Login;
private StringItem HasilItem;
private Play run;
private String result,akhir;
public LoginMurid(Display display, Play run) {
super("Login Murid");
this.display = display;
this.run = run;
this.akhir = akhir;
HasilItem = new StringItem("","");
try {
TampilForm();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void TampilForm() throws Exception {
username = new TextField("Username : ", "", 20, TextField.ANY);
password = new TextField("Password : ", "", 20,
TextField.ANY|TextField.PASSWORD);
Batal = new Command("Kembali", Command.BACK, 2);
Login = new Command("Login", Command.OK, 1);
append(username);
append(password);
addCommand(Batal);
addCommand(Login);
setCommandListener(this);
}
private void clear() {
username.setString("");
password.setString("");
}
private String readData(String user, String pass) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/login_murid.php?username=
"+user+"&password="+pass);
//conn =
(StreamConnection)Connector.open("http://digilibpolines.byethost22.com/mlibrary/login
.php?username="+user+"&password="+pass);
in = conn.openInputStream();
int ch;

while((ch=in.read())!=-1) {
if (ch!='\t'){
data.append((char)ch);
result = data.toString();
}else {
HasilItem.setText(data.toString());
data = new StringBuffer();
}
}

catch( IOException e) {
System.err.println("Rusak");
}finally{
if(conn!=null){
try {
conn.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}
if(in!=null){
try {
in.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}
return result;
}

public void commandAction(Command c, Displayable d) {


if (c == Batal) {
Login login = new Login(display, akhir);
display.setCurrent(login);
}
else if (c == Login) {
String akhir = readData(username.getString(), password.getString());
if (akhir.equals("GAGAL") == true) {
Play.AlertError("Username atau Password yang Anda masukkan salah, Coba
lagi..");
clear();
}else if (akhir.equals("SUKSES") == true){
Menu_User menuuser= new Menu_User(display, akhir,
username.getString());
display.setCurrent(menuuser);
}
else
Play.AlertError("Koneksi gagal");
}
}
}

A_Bali.java

//untuk memutar demo video alat musik daerah bali

package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import java.io.*;
public class A_Bali extends Form implements CommandListener
{
private Display display;
private Play run;
private String result,akhir;
private ImageItem
gambar1,gambar2,gambar3,gambar4,gambar5,gambar6,gambar7,gambar8,gambar9,gambar10,gamb
ar11,gambar12,gambar13,gambar14;
private StringItem
ket1,ket2,ket3,ket4,ket5,ket6,ket7,ket8,ket9,ket10,ket11,ket12,ket13,ket14;
private Command Cmd_Back,OK,lagu1,lagu2,lagu3,kembali,video1;
private StringItem lirik;
private Form f;
Player player;
private ChoiceGroup variabel;
private VideoControl videoControl;
private InputStream is;

private Thread initializer;


public A_Bali (Display display,String akhir)
{
super("Alat Musik Bali dan Nusa Tenggara");
this.display=display;
this.akhir=akhir;
this.player=player;
try
{
TampilDaftar();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void TampilDaftar() throws Exception {
gambar1 = new ImageItem("",
Image.createImage("/gamelan_bali.jpg"),ImageItem.LAYOUT_LEFT,"");
ket1 = new StringItem("Gamelan Bali-BALI","\nCiri lain gamelan Bali adalah
digunakannya sejenis simbal yang disebut ceng-ceng. Ceng-ceng inilah yang berbunyi
nyaring dan cepat sehingga membuat musik Bali berbeda dari musik Jawa.\n");
gambar2 = new ImageItem("",
Image.createImage("/foi_mere.jpg"),ImageItem.LAYOUT_LEFT,"");
ket2 = new StringItem("Foi Mere-Pulau Flores","\nAlat musik tiup sejenis
seruling\n");
gambar3 = new ImageItem("",
Image.createImage("/sasando.jpg"),ImageItem.LAYOUT_LEFT,"");
ket3 = new StringItem("Sasando-NTT","\nAlat musik petik.Sasando menurut asal
katanya dalam bahasa Rote, sasandu, yang artinya alat yang bergetar atau
berbunyi.Bentuk sasando ada miripnya dengan instrumen petik lainnya seperti gitar,
biola dan kecapi.Bagian utama sasando berbentuk tabung panjang yang biasa terbuat
dari bambu.\n");
gambar4 = new ImageItem("",
Image.createImage("/keloko.jpg"),ImageItem.LAYOUT_LEFT,"");
ket4 = new StringItem("Keloko-Flores Timur","\nAlat musik tiup berupa
terompet kulit kerang\n");
gambar5 = new ImageItem("",
Image.createImage("/foy_doa.jpg"),ImageItem.LAYOUT_LEFT,"");
ket5 = new StringItem("Foy Doa-Ngada Flores,NTT","\nCara Memainkan, Hembuskan
angin dari mulut secara lembut ke lubang peniup, sementara itu jari-jari tangan kanan
dan kiri menutup lubang\n");
gambar6 = new ImageItem("",
Image.createImage("/foy_pay.jpg"),ImageItem.LAYOUT_LEFT,"");
ket6 = new StringItem("Foy Pay-NTT","\nAlat musik tiup dari bambu ini
dahulunya berfungsi untuk mengiringi lagu-lagu tandak seperti halnya musik Foy
Doa.\n");
gambar7 = new ImageItem("",
Image.createImage("/knobe_khabetas.jpg"),ImageItem.LAYOUT_LEFT,"");
ket7 = new StringItem("Knobe Khabetas-NTT","\nCara memainkannya ialah, salah
satu bagian ujung busur ditempelkan di antara bibir atas dan bibir bawah, dan
kemudian udara dikeluarkan dari kerongkongan, sementara tali busur dipetik dengan
jari.\n");
gambar8 = new ImageItem("",
Image.createImage("/knobe_ohnuren.jpg"),ImageItem.LAYOUT_LEFT,"");
ket8 = new StringItem("Knobe Oh Nuren-NTT","\nNama alat musik yang terbuat
dari kilit bambu dengan ukuran panjang lebih kurang 12,5 cm. ditengah-tengahnya
sebagian dikerat menjadi belahan bambu yang memanjang (semacam lidah) sedemikian
halusnya, sehingga dapat berfungsi sebagai vibrator (penggetar).\n");
gambar9 = new ImageItem("",
Image.createImage("/prere.jpg"),ImageItem.LAYOUT_LEFT,"");
ket9 = new StringItem("Prere-NTT","\nAlat bunyi-bunyian dari Manggarai ini
terbuat dari seruas bambu keil sekeil pensil yang panjangnya kira-kira 15 cm. Buku
ruas bagian bawah dibiarkan tertutup, tetapi bagian atasnya dipotong untuk tempat
meniup.bagian belahan bambu itu untuk melilit daun pandan sehingga menyerupai orong
terompet yang berfungsi memperbesar suaranya.\n");
gambar10 = new ImageItem("",

Image.createImage("/suling.jpg"),ImageItem.LAYOUT_LEFT,"");
ket10 = new StringItem("Suling-NTT","\nCara memainkan : suling sopran atau
pembawa melodi seperti memainkan suling pada umumnya, dan suling pengiring sementar
bambu peniup dibunyikan, maka bambu pengatur nada digerakkan turun dan naik, yaitu
sesuai dengan nada yang dipilih. Keualui pada sulign bass, bambu peniup yang
digerakkan turun dan naik.\n");
gambar11 = new ImageItem("",
Image.createImage("/heo.jpg"),ImageItem.LAYOUT_LEFT,"");
ket11 = new StringItem("Heo-NTT","\nAlat gesek (heo) terbuat dari kayu dan
penggeseknya terbuat dari ekor kuda yang dirangkai menjadi satu ikatan yang diikat
pada kayu penggesek yang berbentuk seperti busur (dalam istilah masyarakat Dawan ini
terbuat dari usus kuskus yang telah dikeringkan).\n");
gambar12 = new ImageItem("",
Image.createImage("/gambus.jpg"),ImageItem.LAYOUT_LEFT,"");
ket12 = new StringItem("Gambus-Flores Timur","\nAlat musik ini terbuat dari
kayu, kulit hewan, senar, dan paku halus. Alat musik petik ini merupakan instrumen
berdawai ganda yaitu, setiap nada berdawai dua/double senar\n");
gambar13 = new ImageItem("",
Image.createImage("/bijol.jpg"),ImageItem.LAYOUT_LEFT,"");
ket13 = new StringItem("Leko Boko/Bijol-NTT","\nAlat musik ini selalu
berpasangan dengan heo dalam suatu pertunjukan, sehingga dimana ada heo, disitu ada
Leko. Dalam penggabungan ini Leko berperan sebagai pembei harmoni, sedangkan Heo
berperan sebagi pembawa melodi atau kadang-kadang sebagai pengisi (Filter) Nyanyiannyayian pada masyarkat\n");
gambar14 = new ImageItem("",
Image.createImage("/mendut.jpg"),ImageItem.LAYOUT_LEFT,"");
ket14 = new StringItem("Mendut-NTT","\nAlat musik ini berdawai tunggal ini,
terbuat dari tempurung kelapa/labu hutan sebagai wadah resonansi yang ditutupi dengan
kulit kambing yang ditengahnya telah dilubangi.Cara memainkan alat musik ini adalah
dengan dipetik atau dipukul-pukul dengan kayu kecil.\n");
video1 = new Command("Demo ", Command.OK, 1);
Cmd_Back = new Command("Kembali", Command.BACK, 2);
addCommand(Cmd_Back);
addCommand(video1);
append(gambar1);
append(ket1);
append(gambar2);
append(ket2);
append(gambar3);
append(ket3);
append(gambar4);
append(ket4);
append(gambar5);
append(ket5);
append(gambar6);
append(ket6);
append(gambar7);
append(ket7);
append(gambar8);
append(ket8);
append(gambar9);
append(ket9);
append(gambar10);
append(ket10);
append(gambar11);
append(ket11);
append(gambar12);
append(ket12);
append(gambar13);
append(ket13);
append(gambar14);
append(ket14);
append(video1);
append(Cmd_Back);
setCommandListener(this);
}
public void dengar(String a) throws MediaException{

HttpConnection conn = null;


OutputStream os = null;
StringBuffer stringBuffer = new StringBuffer();
try{
conn = (HttpConnection)Connector.open(a,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/mpeg");
player.realize();
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");
if(vc != null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch (IOException ioex){
run.AlertError("Error!");
}
catch (MediaException mex){
run.AlertError("Error!");
}
}
public void lihat(String a) throws MediaException{
HttpConnection conn = null;
OutputStream os = null;
StringBuffer stringBuffer = new StringBuffer();
try{
conn = (HttpConnection)Connector.open(a,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"video/mpeg");
player.realize();
VideoControl vic =
(VideoControl)player.getControl("javax.microedition.media.control.VideoControl");
Canvas canvasvideo = new CanvasVideo(display,akhir,player);
vic.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, canvasvideo);
vic.setDisplayFullScreen(true);
vic.setVisible(true);
display.setCurrent(canvasvideo);
if(vic==null){
//tidak support video
}else{
System.out.println("Support video");
}
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");
if(vc != null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch (IOException ioex){
run.AlertError("Error!");
}
catch (MediaException mex){
run.AlertError("Error!");
}
}
void Stop (){

if(player != null)
{
player.close();
}
}
public void commandAction(Command c, Displayable d) {
if (c.getCommandType() == Command.BACK) {
AlatMusik alat = new AlatMusik(display, akhir);
display.setCurrent(alat);
Stop();
}
else if (c==video1){
try{
String a =
"http://localhost/LEARNING/mpg/oke_1_3.3GP";
//dengar(a);
lihat(a);
VolumeControl control = (VolumeControl)
player.getControl("VolumeControl");
if(control != null){
control.setLevel(100);
player.start();
}
// addCommand(tombolDengar);
setCommandListener(this);
}
catch (MediaException mex){
run.AlertError("Error media");
}
catch (Exception ex){
run.AlertError("Error exce");
}

setCommandListener(this);

}
}
private void append(Command video1) {
}

class CanvasVideo extends Canvas implements CommandListener{


private Command cback = new Command("Kembali", Command.BACK, 0);
private Display display;
private String akhir;
private Player player;
public CanvasVideo(Display d, String akhir, Player p){
display = d;
this.akhir = akhir;
this.player = p;
this.addCommand(cback);
this.setCommandListener(this);
}
public void paint(Graphics g){
}
public void commandAction(Command c, Displayable d) {
if(c.equals(cback)){
//bila kembali
this.Stop();
display.setCurrent(new A_Bali (display,akhir));

}
}
void Stop (){
if(player != null)
{
player.close();
}
}

Maluku.java //untuk memainkan lagu format mp3


package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import java.io.*;
public class Maluku extends Form implements CommandListener
{
private Display display;
private Play run;
private String result,akhir;
private Command kembali,lagu1,lagu2,lagu3;
private StringItem lirik;
private Form f;
Player player;
private ChoiceGroup variabel;
public Maluku (Display display,String akhir)
{
super("Lagu Daerah Maluku");
this.display = display;
this.run=run;
this.akhir=akhir;
try
{

TampilDaftar();
}
catch (Exception e)
{
e.printStackTrace();
}

public void TampilDaftar() throws Exception {


variabel = new ChoiceGroup("Pilih Lagu Daerah Maluku : \n",Choice.EXCLUSIVE);
variabel.append(" Rasa Sayange\n",null);
variabel.append(" Waktu Hujan Sore-sore\n",null);
variabel.append(" Burung Kakatua\n",null);
lagu1 = new Command("Play Rasa Sayange ", Command.OK, 1);
lagu2 = new Command("Play Waktu Hujan Sore-sore ", Command.OK,1);
lagu3 = new Command("Play Burung Kakatua ", Command.OK,1);
kembali = new Command("Kembali", Command.BACK, 1);
append(variabel);
addCommand(lagu1);
addCommand(lagu2);
addCommand(lagu3);
addCommand(kembali);
setCommandListener(this);
}
void Lirik1()
{
Form f = new Form("Lagu Daerah Maluku");
lirik = new StringItem("Rasa Sayange\n","\nRasa sayange... rasa sayang
sayange...\nEee lihat dari jauh rasa sayang sayange\nMana kancil akan dikejar,
kedalam pasar cobalah cari...\nMasih kecil rajin belajar, sudah besar senanglah
diri\nSi Amat mengaji tamat, mengaji Qur'an di waktu fajar...\nBiar lambat asal
selamat, tak kan lari gunung dikejar\nKalau ada sumur di ladang, boleh kita menumpang
mandi...\nKalau ada umurku panjang, boleh kita berjumpa lagi");
f.append(lirik);
f.addCommand(kembali);
f.setCommandListener(this);

display.setCurrent(f);
}

void Lirik2()
{
Form f = new Form("Lagu Daerah Maluku");
lirik = new StringItem("Waktu Hujan Sore-sore\n","\nWaktu hujan sore-sore
\nkilat sambar pohon kenari \nE jojaro deng mongare mari dansa dan menari \nPukul
tifa toto buang kata balimbing di kereta \nNona dansa dengan tuan jangan sindir nama
beta \nE menari sambil goyang badanee \nMenari lombo pegang lenso manisee \nRasa
ramai jangan pulang duluee");
f.append(lirik);
f.addCommand(kembali);
f.setCommandListener(this);
display.setCurrent(f);
}
void Lirik3()
{
Form f = new Form("Lagu Daerah Maluku");
lirik = new StringItem("Burung Kakatua\n","\nBurung kakaktua\nhinggap di
jendela\nNenek sudah tua\ngiginya tinggal dua\nTekdung tekdung tekdung la la
la\nTekdung tekdung tekdung la la la\nTekdung tekdung tekdung la la la\nBurung
kakaktua");
f.append(lirik);
f.addCommand(kembali);
f.setCommandListener(this);
display.setCurrent(f);
}
void Rasa(){

StreamConnection conn = null;


try {

String url = "http://localhost/LEARNING/lagu2/rasa.mp3";


conn =
(HttpConnection)Connector.open(url,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/mpeg");
player.realize();
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");
if(vc !=null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch (IOException ioex) {
run.AlertError("Error!!");
}
catch (MediaException mex){
run.AlertError("Error");
}
}
void Waktu(){
StreamConnection conn = null;
try {

String url = "http://localhost/LEARNING/lagu2/waktu.mp3";


conn =
(HttpConnection)Connector.open(url,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/mpeg");
player.realize();
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");
if(vc !=null)
{
vc.setLevel(100);

player.prefetch();
player.start();

}
catch (IOException ioex) {
run.AlertError("Error!!");
}
catch (MediaException mex){
run.AlertError("Error");
}

}
void Kakatua(){
StreamConnection conn = null;
try {

String url = "http://localhost/LEARNING/lagu2/kakatua.mp3";


conn =
(HttpConnection)Connector.open(url,Connector.READ_WRITE);
InputStream is = conn.openInputStream();
player = Manager.createPlayer(is,"audio/mpeg");
player.realize();
VolumeControl vc = (VolumeControl)
player.getControl("VolumeControl");
if(vc !=null)
{
vc.setLevel(100);
}
player.prefetch();
player.start();
}
catch (IOException ioex) {
run.AlertError("Error!!");
}
catch (MediaException mex){
run.AlertError("Error");
}
}
void Stop (){
if(player != null)
{
player.close();
}
}
public void commandAction(Command c, Displayable d)
{
{
}

if (c==kembali)
Stop();

else if (c==lagu1)
{
Lirik1();
Rasa();
}
if (c==lagu2)
{
Lirik2();
Waktu();
}
if (c==lagu3)
{
Lirik3();
Kakatua();
}
if (c==kembali)
{
L_Maluku maluku = new L_Maluku(display,akhir);
display.setCurrent(maluku);
}

DataMember.java
package SeniMusik;
import
import
import
import

javax.microedition.lcdui.*;
javax.microedition.io.*;
java.io.*;
java.util.*;

public class DataMember extends List implements CommandListener {


private Command cmdPilih,OK,cmdBatal;
private Display display;
private Form form;
private StringItem Aid, Anama, Ausername, Apassword, Akelas;
private Play run;
private Image img1, img2;
private String result,akhir;
private String username;
private String id,nama,password,kelas;
public DataMember(Display display, String akhir, String username) {
super("Data Diri", List.IMPLICIT) ;
this.display = display;
this.run = run;
this.akhir = akhir;
this.username = username;
this.form = form;
form = new Form("Data Diri");
Aid = new StringItem("Nomer Absen :\n","");
Anama = new StringItem("Nama :\n","");
Ausername = new StringItem("Username :\n","");
Apassword = new StringItem("Password :\n","");
Akelas = new StringItem("Kelas :\n","");
//Ausia = new StringItem("Usia :\n","");
form.append(Aid);
form.append(Anama);
form.append(Ausername);
form.append(Apassword);
form.append(Akelas);
//form.append(Ausia);
try {

tampilPilihan();
}
catch(Exception e) {
e.printStackTrace();
}

private void tampilPilihan() throws Exception {


cmdPilih = new Command("Pilih", Command.SCREEN, 2);
cmdBatal = new Command("Kembali", Command.BACK, 1);
img1 = Image.createImage("/1.png");
img2 = Image.createImage("/1.png");
append(" Lihat Data Diri\n", img1);
append(" Ubah Data Diri", img2);
addCommand(cmdPilih);
addCommand(cmdBatal);
setCommandListener(this);

OK = new Command("Kembali", Command.OK, 2);


form.addCommand(OK);
form.setCommandListener(this);

public void commandAction(Command c, Displayable d) {


if (c == cmdBatal) {
Menu_User menuuser = new Menu_User(display, akhir, username);

display.setCurrent(menuuser);
}
else if (c == OK){
DataMember data_member = new DataMember(display, akhir,
username);
}
else {

display.setCurrent(data_member);
int selectedIndex = getSelectedIndex();
if (selectedIndex == 0) {
String akhir = Koneksi();
Aid.setText(id);
Anama.setText(nama);
Ausername.setText(username);
Apassword.setText(password);
Akelas.setText(kelas);
//Ausia.setText(usia);
display.setCurrent(form); //menampilkan pada form baru

}
else if (selectedIndex == 1) {
Koneksi();
EditMurid edit = new
EditMurid(display,akhir,id,nama,username,password,kelas);
display.setCurrent(edit);
}
}
}
private String Koneksi() {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] tmp;
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/datamurid.php?username="+
username);
//conn =
(StreamConnection)Connector.open("http://mhijaiyah.co.cc/hija/datauser.php?username="
+username);
in = conn.openInputStream();
int ch;
while((ch=in.read())!=-1) {
if (ch!='\t'){
data.append((char)ch);
result = data.toString();
}
}
}
catch(IOException e) {
System.err.println("System doesnt work");
Play.AlertError("System ERROR!\nRestart Program ini!");
}
tmp = parse(result);
this.id = tmp[0];
this.nama = tmp[1];
this.username = tmp[2];
this.password = tmp[3];
this.kelas = tmp[4];
//this.usia = tmp[5];
return result;
}
private String [] parse(String original){
Vector nodes = new Vector();
String separator = "_";
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));
original = original.substring(index+separator.length());

index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;

EditMurid.java
package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
import java.util.*;
public class EditMurid extends Form implements CommandListener {
private Display display;
private StringItem HasilItem;
private TextField tnama;
private TextField tusername;
private TextField tpassword;
private TextField tkelas;
// private TextField tusia;
private TextField tid;
private Form form;
private Command Batal,Ubah,OK;
private StringItem hasil;
private Play run;
private String result, akhir;
private String username;
private String id,nama,password,kelas;
private String[] data;
public EditMurid(Display display, String akhir, String id, String nama, String
username, String password, String kelas) {
super("Ubah Data Diri");
this.display = display;
this.run = run;
this.akhir = akhir;
this.form = form;
this.id = id;
this.nama = nama;
this.username = username;
this.password = password;
this.kelas = kelas;
//this.usia = usia;
form = new Form("Ubah Data Diri");
hasil = new StringItem("Silahkan login dengan username dan password
yang baru","");
form.append(hasil);
try {
show();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void show() throws Exception {
tid = new TextField("Nomer Absen :
", "", 50,
TextField.UNEDITABLE);
tnama = new TextField("Nama :
", "", 50, TextField.ANY);
tusername = new TextField("Username :
", "", 50, TextField.ANY);
tpassword = new TextField("Password :
", "", 50, TextField.ANY);
tkelas = new TextField("Kelas : ", "", 50, TextField.ANY);
//tusia = new TextField("Usia : ", "", 50, TextField.ANY);

Batal = new Command("Kembali", Command.BACK, 2);


Ubah = new Command("Ubah", Command.OK, 1);
OK = new Command("OK",Command.OK,1);
tid.setString(id);
tnama.setString(nama);
tusername.setString(username);
tpassword.setString(password);
tkelas.setString(kelas);
//tusia.setString(usia);
append(tid);
append(tnama);
append(tusername);
append(tpassword);
append(tkelas);
// append(tusia);

addCommand(Batal);
addCommand(Ubah);
setCommandListener(this);

form.addCommand(OK);
form.setCommandListener(this);

private String InputData (String id_murid,String nama,String username,String


password, String kelas){
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraynama,arraykelas;
String name="";
String clas="";
//String age="";
arraynama = parse(nama);
for (int i=0; i<arraynama.length; i++){
name=name.concat(arraynama[i]+"%20");
}
arraykelas = parse(kelas);
for (int j=0; j<arraykelas.length; j++){
clas=clas.concat(arraykelas[j]+"%20");
}
try {
//conn =
(StreamConnection)Connector.open("http://mhijaiyah.co.cc/hija/ubahdata.php?no="+tno+"
&username="+tusername+"&nama="+tnama+"&password="+tpassword+"&e_mail="+temail+"&alama
t="+talamat+"&tgl_lahir="+ttgl+"&jenis_kelamin="+level);
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/ubahmurid.php?id_murid="+
id_murid+"&username="+username+"&nama="+name+"&password="+password+"&kelas="+clas);
in = conn.openInputStream();
int ch;
while((ch=in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}
else{
HasilItem.setText(data.toString());
data = new StringBuffer();
}
}
}
catch(IOException e){
System.err.println("Koneksi Gagal!");

}
return result;
}
public void commandAction(Command c, Displayable d) {
if (c == Batal) {
DataMember data_member = new DataMember(display, akhir,
username);
display.setCurrent(data_member );
}
else if (c == Ubah) {
String akhir =
InputData(tid.getString(),tnama.getString(),tusername.getString(),tpassword.getString
(),tkelas.getString());
//
String akhir =
InputData(nama.getString(),username.getString(),passwd.getString(),alamat.getString()
,email.getString(),tgl.getString(),level);
if (akhir.equals("KURANG") == true){
Play.AlertError("ERROR...!!!\nAda data kosong, silakan
coba lagi");
}
else if (akhir.equals("SUDAH") == true){
Play.AlertError("ERROR...!!!\nNIM Anda Salah atau
Username dan NIM Anda Sudah Ada");
}
else if (akhir.equals("SUKSES") == true){
display.setCurrent(form);
}
else {
Play.AlertError("Koneksi gagal");
}

}
else if (c == OK){
LoginMurid login = new LoginMurid(display, run);
display.setCurrent(login);
}

private String readData(String id,String nama,String username,String


password,String kelas) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraynum,arraynama,arrayuser,arraypass,arraykelas;
String num="";
String name="";
String user="";
String pass="";
String clas="";
//String age="";
arraynum = parse(id);
for (int w=0; w<arraynum.length; w++){
num=num.concat(arraynum[w]+"%20");
}
arraynama = parse(nama);
for (int i=0; i<arraynama.length; i++){
name=name.concat(arraynama[i]+"%20");
}
arrayuser = parse(username);
for (int x=0; x<arrayuser.length; x++){
user=user.concat(arrayuser[x]+"%20");
}
arraypass = parse(password);
for (int z=0; z<arraypass.length; z++){
pass=pass.concat(arraypass[z]+"%20");
}

arraykelas = parse(kelas);
for (int y=0; y<arraykelas.length; y++){
clas=clas.concat(arraykelas[y]+"%20");
}

System.out.println(arraynum.length);
System.out.println(arraynama.length);
System.out.println(arrayuser.length);
System.out.println(arraypass.length);
System.out.println(arraykelas.length);
return result;

private String [] parse(String original){


Vector nodes = new Vector();
String separator = " ";
System.out.println("Split start------------------------");
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}

FormSoal.java

package SeniMusik;
import
import
import
import
import

java.io.IOException;
java.io.InputStream;
javax.microedition.io.Connector;
javax.microedition.io.StreamConnection;
javax.microedition.lcdui.*;

/**
*
* @author nissa
*/
public class FormSoal extends Form implements CommandListener{
private Display display;
private int idmurid;
private int idsoal;
private String username;
private String akhir;
private String soal = "";
private String urlgambarsoal = "http://localhost/";
private String[] jawaban = new String[]{"","",""};
private String[] urlgambarjawab = null;
private Command lanjut,exit,kembali;
private ChoiceGroup cgjawaban;
/*

private int[] daftarid;


public FormSoal(int id){
super("Latihan Soal");
this.idsoal = id;
// this.urlgambarsoal = urlgambarsoal;
try {
getSoal();
} catch (IOException ex) {
ex.printStackTrace();

}
init();
*/

}
FormSoal(Display display, String akhir, String user, int i, int[] daftarid) {
super("Jawablah soal di bawah ini");
this.display = display;
this.idsoal = i;
this.username = user;
this.akhir = akhir;
this.daftarid = daftarid;
System.out.println("Id soal inisiasi :"+idsoal);
//print daftar id
for(int j=0;j<daftarid.length;j++){
System.out.print(daftarid[j]+" ");
}
System.out.println();
// this.urlgambarsoal = urlgambarsoal;
try {
getSoal();
} catch (IOException ex) {
ex.printStackTrace();
}
init();
}
private void getSoal() throws IOException{
String result = new String();
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/soal.php?id="+daftarid[th
is.idsoal]);
in = conn.openInputStream();
int ch;
int c = 0;
while ((ch = in.read()) != -1) {
if((char)ch=='|'){
if(c==0){
}else if(c==1){
this.soal = new String(data.toString());
}else if(c==2){
this.urlgambarsoal = new String(data.toString());
}else if(c==3){
this.jawaban[0] = new String(data.toString());
}else if(c==4){
this.jawaban[1] = new String(data.toString());
}else if(c==5){
this.jawaban[2] = new String(data.toString());
}else if(c==6){
}
data = new StringBuffer();
c++;
}else{
data.append((char)ch);
}

}
}catch (IOException e) {
System.err.println("The connection could not be
established."+e.toString());
}finally{
if(conn!=null){
try {
conn.close();
System.gc();

} catch (IOException ex) {


ex.printStackTrace();
}

}
if(in!=null){
try {
in.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}
private void init(){
this.append("Pertanyaan");
this.append(this.soal);
System.out.println("Masuk sini "+this.urlgambarsoal+" "+daftarid[idsoal]);
if(this.urlgambarsoal!=null && !this.urlgambarsoal.equals("")){
Image gmbsoal = null;
StreamConnection conn = null;
InputStream is = null;
try {
conn = (StreamConnection) Connector.open(this.urlgambarsoal);
is = conn.openInputStream();
gmbsoal = Image.createImage(is);
try{

this.append(gmbsoal);
}catch(Exception e){}
} catch (IOException ex) {
ex.printStackTrace();
}finally{
if(conn!=null){
try {
conn.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}
if(is!=null){
try {
is.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
cgjawaban = new ChoiceGroup("Jawaban", ChoiceGroup.EXCLUSIVE);
cgjawaban.append("A. "+jawaban[0], null);
cgjawaban.append("B. "+jawaban[1], null);
cgjawaban.append("C. "+jawaban[2], null);
this.append(cgjawaban);
//if(idsoal<10){
lanjut = new Command("Lanjut", Command.OK, 1);
kembali = new Command("Kembali", Command.CANCEL, 2);
addCommand(lanjut);
addCommand(kembali);
setCommandListener(this);
}
private boolean kirimJawaban(){
boolean ret = false;
String jawab = "";
if(this.cgjawaban.getSelectedIndex()==0){
jawab = "a";

}else if(this.cgjawaban.getSelectedIndex()==1){
jawab = "b";
}else if(this.cgjawaban.getSelectedIndex()==2){
jawab = "c";
}
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/kirimjawaban1.php?usernam
e="+this.username+"&id_soal="+this.daftarid[idsoal]+"&jawaban="+jawab);
in = conn.openInputStream();
int ch;
int c = 0;
while ((ch = in.read()) != -1) {
data.append((char)ch);
}
if(data.toString().equals("sukses")){
ret = true;
}
}catch (IOException e) {
System.err.println("The connection could not be established.");
}finally{
if(conn!=null){
try {
conn.close();
} catch (IOException ex) {
ex.printStackTrace();
}
System.gc();
}
if(in!=null){
try {
in.close();
System.gc();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
return ret;
}
public void commandAction(Command c, Displayable d) {
if(c.equals(lanjut)){
this.idsoal++;
if(idsoal<daftarid.length){
if(this.kirimJawaban()){
//System.out.println("Id soal:"+
this.daftarid[idsoal]+"["+idsoal+"]");
this.display.setCurrent(new FormSoal(this.display, this.akhir,
this.username, this.idsoal, this.daftarid));
}
}
else{
//selesai
this.display.setCurrent(new Menu_User(display, akhir, username));
}
}
else if(c.equals(kembali)){
if(idsoal>0){
this.idsoal--;
this.display.setCurrent(new FormSoal(this.display, this.akhir,
this.username, this.idsoal, daftarid));
}else{
//kembali ke menu user
this.display.setCurrent(new Menu_User(display, akhir, username));
}

Nilai.java
package SeniMusik;
import
import
import
import

javax.microedition.lcdui.*;
javax.microedition.io.*;
java.io.*;
java.util.*;

public class Nilai extends Form implements CommandListener {


private Command cmdPilih,OK,cmdBatal,data;
private Display display;
private Form form;
private StringItem Aid, Anama, Ausername, Apassword, Akelas;
private Play run;
private Image img1, img2;
private String result,akhir;
private String username;
private String id,nama,password,kelas;

try {

public Nilai(Display display, String akhir, String username) {


super("Nilai") ;
this.display = display;
this.run = run;
this.akhir = akhir;
this.username = username;
this.form = form;
form = new Form("Nilai");

tampilPilihan();
}
catch(Exception e) {
e.printStackTrace();
}

private void tampilPilihan() throws Exception {


cmdPilih = new Command("Kembali", Command.SCREEN, 2);
Aid = new StringItem("Nilai Anda:","");
//Anama = new StringItem("Mau Latihan lagi??","");
Ausername = new StringItem("Username Anda:","");
//cmdBatal = new Command("Kembali", Command.BACK, 1);
data = new Command("Cek", Command.OK, 1);
//String akhir = Koneksi();
id=Koneksi1();
Aid.setText(id);
// Anama.setText(username);
Ausername.setText(username);
// append(Anama);
append(Aid);
append(Ausername);
addCommand(cmdPilih);
addCommand(data);
setCommandListener(this);
}
{

void Cek(String st)


Form f = new Form("Cek Hasil");
f.append(st);
f.addCommand(cmdPilih);
f.setCommandListener(this);

display.setCurrent(f);
}
void LihatDaftarMurid(){
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/lihatsoal.php");
in = conn.openInputStream();
int ch;
while ((ch = in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}else{
data.append((char)ch);
result = data.toString();
}
}
}catch (IOException e) {
System.err.println("The connection could not be established.");
}
}
public void commandAction(Command c, Displayable d) {
if (c == cmdPilih) {
Menu_User menuuser = new Menu_User(display, akhir, username);
display.setCurrent(menuuser);
}
else if (c==data)
{
LihatDaftarMurid();
Cek(result);
}
/*else {
DataMember data_member = new DataMember(display, akhir,
username);
display.setCurrent(data_member);
}*/
}

private String Koneksi1() {


StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
//String[] tmp;
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/cek.php?username="+userna
me);
//conn =
(StreamConnection)Connector.open("http://mhijaiyah.co.cc/hija/datauser.php?username="
+username);
in = conn.openInputStream();
int ch;
while((ch=in.read())!=-1) {
//if (ch!='\t'){
data.append((char)ch);
///
}
}
result = data.toString();
}
catch(IOException e) {
System.err.println("System doesnt work");
Play.AlertError("System ERROR!\nRestart Program ini!");
}
//tmp= parse(result);

//this.username=tmp[2];
System.out.println("result:"+result);
return result;

}
private String [] parse(String original){
Vector nodes = new Vector();
String separator = "_";
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;
}
}

Saran.java
package SeniMusik;
import
import
import
import

javax.microedition.lcdui.*;
javax.microedition.io.*;
java.io.*;
java.util.*;

public class Saran extends Form implements CommandListener {


private Display display;
private StringItem HasilItem;
private TextField tusername;
private TextField tkomentar;
private TextField tid;
private String level;
private Form form;
private Command Batal,Kirim,OK;
private StringItem hasil;
private Play run;
private String result, akhir;
private String username,id_murid; //session
private String nama; //data yg ditampilkan
private String[] data;
Saran(Display display, String akhir, String username) {
super("Kirim Saran dan Komentar");
this.display = display;
this.run = run;
this.akhir = akhir;
this.form = form;
//this.id_murid = id_murid;
this.username = username;
form = new Form("Status");
hasil = new StringItem("Saran dan kritik telah dikirim","");
form.append(hasil);
try {
show();
}
catch(Exception e) {
e.printStackTrace();
}
}

public void show() throws Exception {


//tid = new TextField("Nomer Absen
TextField.ANY);

tusername = new TextField("Username


TextField.UNEDITABLE);
tkomentar = new TextField("Saran :
TextField.ANY);

", "", 50,


:

", "", 50,


", "", 300,

Batal = new Command("Kembali", Command.BACK, 2);


Kirim = new Command("Kirim", Command.OK, 1);
OK = new Command("OK",Command.OK,1);
tusername.setString(username);
//append(tid);
append(tusername);
append(tkomentar);
addCommand(Batal);
addCommand(Kirim);
setCommandListener(this);

form.addCommand(OK);
form.setCommandListener(this);
private String InputData (String username,String saran){
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraysaran;
String coment="";
arraysaran = parse(saran);
for (int i=0; i<arraysaran.length; i++){
coment=coment.concat(arraysaran[i]+"%20");
}
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/saran.php?username="+user
name+"&saran="+coment);
in = conn.openInputStream();
int ch;
while((ch=in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}
else{
HasilItem.setText(data.toString());
data = new StringBuffer();
}
}
}
catch(IOException e){
System.err.println("Koneksi Gagal!");
}
return result;
}
private String [] parse(String original){
Vector nodes = new Vector();
String separator = " ";
System.out.println("Split start------------------------");
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));

original = original.substring(index+separator.length());
index = original.indexOf(separator);

}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
}
return result;

public void commandAction(Command c, Displayable d) {


if (c == Batal) {
Menu_User menuuser = new Menu_User(display, akhir, username);
display.setCurrent(menuuser);
}
else if (c == Kirim) {
String akhir =
InputData(tusername.getString(),tkomentar.getString());
//
String akhir =
InputData(nama.getString(),username.getString(),passwd.getString(),alamat.getString()
,email.getString(),tgl.getString(),level);
if (akhir.equals("KURANG") == true){
Play.AlertError("ERROR...!!!\nkomentar anda kosong,
silakan coba lagi");
}
else if (akhir.equals("SUKSES") == true){
display.setCurrent(form);
}
else {
Play.AlertError("Koneksi gagal");
}
}
else if (c == OK){
Menu_User menuuser = new Menu_User(display, akhir, username);
display.setCurrent(menuuser);
}
}

private String readData(String id,String nama,String username,String


password,String kelas,String usia) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraynum,arraynama,arrayuser,arraypass,arrayclas,arrayage;
String num="";
String name="";
String user="";
String pass="";
String kls="";
String ages="";
arraynum = parse(id);
for (int w=0; w<arraynum.length; w++){
num=num.concat(arraynum[w]+"%20");
}
arraynama = parse(nama);
for (int i=0; i<arraynama.length; i++){
name=name.concat(arraynama[i]+"%20");
}
arrayuser = parse(username);
for (int x=0; x<arrayuser.length; x++){
user=user.concat(arrayuser[x]+"%20");
}
arraypass = parse(password);
for (int z=0; z<arraypass.length; z++){

pass=pass.concat(arraypass[z]+"%20");

arrayclas = parse(kelas);
for (int y=0; y<arrayclas.length; y++){
kls=kls.concat(arrayclas[y]+"%20");
}
arrayage = parse(usia);
for (int j=0; j<arrayage.length; j++){
ages=ages.concat(arrayage[j]+"%20");
}
System.out.println(arraynum.length);
System.out.println(arraynama.length);
System.out.println(arrayuser.length);
System.out.println(arraypass.length);
System.out.println(arrayclas.length);
System.out.println(arrayage.length);
return result;
}

LihatMurid.java //untuk melihat data murid, nilai dan saran


package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
public class LihatMurid extends Form implements CommandListener
{
private Display display;
private Play run;
private String result,result2,result3,akhir,username;
private Command kembali,data,nilai,saran;
// private TextField kode;
private StringItem kalimat1;
private Form f;
private ChoiceGroup variabel;
public LihatMurid (Display display,Play run,String username)
{
super("Data Murid");
this.display = display;
this.run=run;
this.username=username;
try
{

TampilDaftar();
}
catch (Exception e)
{
e.printStackTrace();
}

public void TampilDaftar() throws Exception {


variabel = new ChoiceGroup("Data-data murid : \n",Choice.EXCLUSIVE);
variabel.append(" Data Pribadi Murid\n",null);
variabel.append(" Nilai Murid\n",null);
variabel.append(" Saran Kritik Murid\n",null);
data = new Command("Lihat Data", Command.OK, 1);
nilai = new Command("Lihat Nilai ", Command.OK,1);
saran = new Command("Lihat Saran ", Command.OK,1);

kembali = new Command("Kembali", Command.OK, 1);


append(variabel);
addCommand(kembali);
setCommandListener(this);
addCommand(data);
addCommand(nilai);
addCommand(saran);
}
void Penelusuran(String st)
{
Form f = new Form("Halaman Murid");
f.append(st);
f.addCommand(kembali);
f.setCommandListener(this);
display.setCurrent(f);
}
void LihatDaftarMurid(){
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/lihatmurid2.php");
in = conn.openInputStream();
int ch;
while ((ch = in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}else{
data.append((char)ch);
result = data.toString();
}
}
}catch (IOException e) {
System.err.println("The connection could not be established.");
}
}
void LihatNilai()
{
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
try {

conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/lihatnilai.php?");
in = conn.openInputStream();
int ch;
while ((ch = in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result2 = data.toString();
}else{
data.append((char)ch);
result2 = data.toString();
}
}
}catch (IOException e) {
System.err.println("The connection could not be established.");
}
}
void LihatSaran()
{
StreamConnection conn = null;

InputStream in = null;
StringBuffer data = new StringBuffer();
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/lihatsaran.php?");
in = conn.openInputStream();
int ch;
while ((ch = in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result3 = data.toString();
}else{
data.append((char)ch);
result3 = data.toString();
}
}
}catch (IOException e) {
System.err.println("The connection could not be established.");
}
}
public void commandAction(Command c, Displayable d)
{
if (c==kembali)
{
Menu_Pengajar menu = new
Menu_Pengajar(display,akhir,username);
display.setCurrent(menu);
}
else if (c==data)
{
LihatDaftarMurid();
Penelusuran(result);
}
if (c==nilai)
{
LihatNilai();
Penelusuran(result2);

}
if (c==saran)
LihatSaran();
Penelusuran(result3);
}

TambahSoal.java
package SeniMusik;
import javax.microedition.lcdui.*;
import javax.microedition.io.*;
import java.io.*;
import java.util.Vector;
public class TambahSoal extends Form implements CommandListener {
private Display display;
private StringItem HasilItem;
//private TextField user;
private TextField id_soale;
private TextField soale;
private TextField ane,gmb;
private TextField bne;
private TextField cne;
private TextField benere;
private TextField id_peng,tusername;
private Form form_hasil;
private String result, akhir,username;
private Play run;
private Command SignUp,Batal,OK;

public TambahSoal(Display display, String akhir, String username) {


super("Tambah Soal");
this.display = display;
this.akhir = akhir;
this.run=run;
this.form_hasil = form_hasil;
this.username=username;
form_hasil = new Form("");
HasilItem = new StringItem("","Soal sudah ditambahkan");
form_hasil.append(HasilItem);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
tusername = new TextField("Username :
TextField.UNEDITABLE);
tusername.setString(username);
append(tusername);

", "", 50,

id_soale= new TextField("Id Soal :", "", 50,TextField.ANY);


append(id_soale);
soale= new TextField("Soal :", "", 50,TextField.ANY);
append(soale);
gmb = new TextField("Gambar
append(gmb);

", "", 50, TextField.UNEDITABLE);

ane = new TextField("A :", "", 50,TextField.ANY);


append(ane);
bne = new TextField("B :", "", 50,TextField.ANY);
append(bne);
cne = new TextField("C :", "", 50,TextField.ANY);
append(cne);
benere = new TextField("Jawab Benar :", "", 50,TextField.ANY);
append(benere);

SignUp=new Command("Tambah", Command.OK,1);


Batal=new Command("Kembali", Command.BACK,2);
addCommand(SignUp);
addCommand(Batal);
setCommandListener(this);
OK= new Command("Kembali", Command.OK,1);
form_hasil.addCommand(OK);
form_hasil.setCommandListener(this);
}
private String InputData(String username,String id_soal,String soal,String
gambar_soal, String a,
String b, String c, String jawaban) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraysoal,arraya,arrayb,arrayc;
String soale="";
String ane="";

String bne="";
String cne="";
arraysoal = parse(soal);
for (int i=0; i<arraysoal.length; i++){
soale=soale.concat(arraysoal[i]+"%20");
}
arraya = parse(a);
for (int j=0; j<arraya.length; j++){
ane=ane.concat(arraya[j]+"%20");
}
arrayb = parse(b);
for (int x=0; x<arrayb.length; x++){
bne=bne.concat(arrayb[x]+"%20");
}
arrayc = parse(c);
for (int x=0; x<arrayc.length; x++){
cne=cne.concat(arrayc[x]+"%20");
}
try {
conn =
(StreamConnection)Connector.open("http://localhost/LEARNING/tambahsoal.php?&username=
"+username+"&id_soal="+id_soal+"&soal="+soale+"&gambar_soal="+gambar_soal+"&a="+ane+"
&b="+bne+"&c="+cne+"&jawaban="+jawaban);
in = conn.openInputStream();
int ch;
while((ch=in.read()) != -1) {
if (ch != '\t') {
data.append((char)ch);
result = data.toString();
}
else{
HasilItem.setText(data.toString());
data = new StringBuffer();
}
}
}
catch(IOException e) {
System.err.println("Koneksi Gagal!");
}
return result;
}
public void commandAction(Command c, Displayable d) {
if (c==Batal) {
Menu_Pengajar menu = new Menu_Pengajar(display, akhir ,username);
display.setCurrent(menu);
}
else if (c==OK) {
Menu_Pengajar menu = new Menu_Pengajar(display, akhir ,username);
display.setCurrent(menu);
}
else if (c==SignUp) {
String akhir =
InputData(tusername.getString(),id_soale.getString(),soale.getString(),gmb.getString(
),
ane.getString(),bne.getString(),cne.getString(),benere.getString());
if(akhir.equals("KURANG")==true){
Play.AlertError("Maaf, ada data yang kosong, Silakan coba
lagi");
}
else if(akhir.equals("SUDAH")==true){
Play.AlertError("Maaf, data Anda sudah ada");
}
else if(akhir.equals("DATA MASUK")==true){
Play.AlertError("Terimakasih, data Anda telah masuk");

}
else
{

display.setCurrent(form_hasil);

Play.AlertError("Koneksi Gagal");

private String readData(String id,String nama,String username,String


password,String jabatan) {
StreamConnection conn = null;
InputStream in = null;
StringBuffer data = new StringBuffer();
String[] arraynum,arraynama,arrayuser,arraypass,arrayjab;
String num="";
String name="";
String user="";
String pass="";
String jab="";
arraynum = parse(id);
for (int w=0; w<arraynum.length; w++){
num=num.concat(arraynum[w]+"%20");
}
arraynama = parse(nama);
for (int i=0; i<arraynama.length; i++){
name=name.concat(arraynama[i]+"%20");
}
arrayuser = parse(username);
for (int x=0; x<arrayuser.length; x++){
user=user.concat(arrayuser[x]+"%20");
}
arraypass = parse(password);
for (int z=0; z<arraypass.length; z++){
pass=pass.concat(arraypass[z]+"%20");
}
arrayjab = parse(jabatan);
for (int y=0; y<arrayjab.length; y++){
jab=jab.concat(arrayjab[y]+"%20");
}
System.out.println(arraynum.length);
System.out.println(arraynama.length);
System.out.println(arrayuser.length);
System.out.println(arraypass.length);
System.out.println(arrayjab.length);

return result;

private String [] parse(String original){


Vector nodes = new Vector();
String separator = " ";
System.out.println("Split start------------------------");
int index = original.indexOf(separator);
while (index>=0){
nodes.addElement(original.substring(0,index));
original = original.substring(index+separator.length());
index = original.indexOf(separator);
}
nodes.addElement(original);
String[] result = new String[nodes.size()];
if (nodes.size()>0){
for (int loop=0 ;loop<nodes.size(); loop++){
result[loop]=(String)nodes.elementAt(loop);
System.out.println(result[loop]);
}
} return result;}}

Anda mungkin juga menyukai