laporan m-learning.pdf

153
i 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

Upload: ilhambaihaqi21

Post on 15-Apr-2016

51 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: LAPORAN M-LEARNING.pdf

i

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

Page 2: LAPORAN M-LEARNING.pdf

ii

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 DI

INDONESIA BERBASIS J2ME

Semarang, Agustus 2011

Pembimbing Utama Pembimbing Pembantu

Sukamto, S.Kom., M.T. Budi Suyanto, S.T

NIP. 197101172003121001 NIP. 197610032003121002

Page 3: LAPORAN M-LEARNING.pdf

iii

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 DI

INDONESIA BERBASIS J2ME

Semarang, Agustus 2011

Pembimbing Utama Pembimbing Pembantu

Sukamto, S.Kom., M.T. Budi Suyanto, S.T

NIP. 197101172003121001 NIP. 197610032003121002

Page 4: LAPORAN M-LEARNING.pdf

iv

BUKTI PENGESAHAN

Disahkan

Tanggal : Agustus 2011

Penguji I Penguji II Penguji III

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

Ketua Penguji Sekretaris Penguji

Sukamto, S.Kom, M.T. Drs. SasongkoNIP. 197101172003121001 NIP.195901191988031001

Ketua Jurusan

Akhmad Jama’ah F, S.T.NIP. 196203231985031004

Page 5: LAPORAN M-LEARNING.pdf

v

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

NIM. 3.34.08.0.18

Umi Latifah

NIM. 3.34.08.0.23

Page 6: LAPORAN M-LEARNING.pdf

vi

PERSEMBAHAN

Nisa Aulia Dalila

Bapak dan Ibu tercinta

Adri, Ardhan, dan si bungsu Fadhlan

My best partner, Umi Latifah

Teman-teman seperjuangan di Informatika, Kaisar’08 dan Lima Srikandi

Umi Latifah

Ayah dan Bunda tercinta

Kakak dan adik-adikku tersayang

Teman Seperjuanganku, Nisa Aulia Dalila

Teman-teman Kaisar’08 dan Lima Srikandi

Page 7: LAPORAN M-LEARNING.pdf

vii

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

Page 8: LAPORAN M-LEARNING.pdf

viii

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 Jama’ah F., S.T. selaku Ketua Jurusan Teknik Elektro.

3. Bapak Drs. Parsumo Rahardjo, M.Kom. selaku Ketua Program Studi Teknik

Informatika Politeknik Negeri Semarang.

Page 9: LAPORAN M-LEARNING.pdf

ix

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, Agustus 2011

Penulis

Page 10: LAPORAN M-LEARNING.pdf

x

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

1 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

Page 11: LAPORAN M-LEARNING.pdf

xi

2 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

Page 12: LAPORAN M-LEARNING.pdf

xii

3 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

Page 13: LAPORAN M-LEARNING.pdf

xiii

DAFTAR PUSTAKA .......................................................................................P

LAMPIRAN ...................................................................................................L

Page 14: LAPORAN M-LEARNING.pdf

xiv

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

Page 15: LAPORAN M-LEARNING.pdf

xv

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

Page 16: LAPORAN M-LEARNING.pdf

xvi

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

Page 17: LAPORAN M-LEARNING.pdf

xvii

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

Page 18: LAPORAN M-LEARNING.pdf

xviii

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

Page 19: LAPORAN M-LEARNING.pdf

xix

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

Page 20: LAPORAN M-LEARNING.pdf

xx

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.

Page 21: LAPORAN M-LEARNING.pdf

xxi

ABSTRACT

In an era of globalization, as now, the technology is growing rapidly. Thusfurther 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 whichcan 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 ArtMusical Instruments in Indonesia Region.

M-Learning Applications Art Musical Instruments and Song Areas in Indonesiamade with the programming language Java Platform Micro Edition. This application can be downloaded via the web medium, and then run it online onthe mobile phone media.

Page 22: LAPORAN M-LEARNING.pdf

1

1 PENDAHULUAN

1.1 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.

Page 23: LAPORAN M-LEARNING.pdf

2

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

Page 24: LAPORAN M-LEARNING.pdf

3

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.

Page 25: LAPORAN M-LEARNING.pdf

4

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 masing-

masing 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.

Page 26: LAPORAN M-LEARNING.pdf

5

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 m-

learning, bukan bagaimana sistem m-learning tersebut harus bekerja.

Page 27: LAPORAN M-LEARNING.pdf

6

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.

Page 28: LAPORAN M-LEARNING.pdf

7

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.

Page 29: LAPORAN M-LEARNING.pdf

8

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

Page 30: LAPORAN M-LEARNING.pdf

9

2 LANDASAN TEORI

2.1 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

Page 31: LAPORAN M-LEARNING.pdf

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 anak-

anak, hiburan rakyat, pesta rakyat, perjuangan rakyat, dan lain sebagainya.

Page 32: LAPORAN M-LEARNING.pdf

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).

Gambar 2.1 Skema dari bentuk M-Learning

Beberapa kemampuan penting yang harus disediakan oleh perangkat pembelajaran m-

learning adalah adanya kemampuan untuk terkoneksi ke peralatan lain (terutama

e-learning

m-learning

d-learning

Page 33: LAPORAN M-LEARNING.pdf

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 m‐learning memiliki jenis bermacam‐macam. Konten

sangat terkait dengan kemampuan perangkat untuk menampilkan atau menjalankannya.

Keragaman jenis konten ini mengharuskan pengembang untuk membuat konten‐konten

Page 34: LAPORAN M-LEARNING.pdf

13

yang tepat dan sesuai dengan karakteristik perangkat maupun pengguna. Jenis‐jenis

konten m‐learning 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 lain‐lain. Oleh karena file audio biasanya memiliki ukuran yang cukup besar hal ini

Page 35: LAPORAN M-LEARNING.pdf

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 lain‐lain. 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 konten‐konten

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 lain‐lain.

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,

Page 36: LAPORAN M-LEARNING.pdf

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 e-

learning 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.

Page 37: LAPORAN M-LEARNING.pdf

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.

Page 38: LAPORAN M-LEARNING.pdf

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-pemrograman-

java.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.

Page 39: LAPORAN M-LEARNING.pdf

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 perangkat-

perangkat 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

Page 40: LAPORAN M-LEARNING.pdf

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).

Page 41: LAPORAN M-LEARNING.pdf

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

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

CLDC CDC

Mengimplementasikan sebagian fitur

dari J2SE

Mengimplementasikan seluruh fitur dari

J2SE

Menggunakan KVM(Kilobyte Virtual

Machine)

Menggunakan CVM (C-Virtual Machine)

Digunakan pada handphone, PDA,

pager yang memiliki memori terbatas

(160-512 kb)

Digunakan pada internet TV, nokia,

Communicator yang memiliki memori

minimal 2MB

Prosesor 16/32 bit Prosesor 32 bit

Page 42: LAPORAN M-LEARNING.pdf

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.

Page 43: LAPORAN M-LEARNING.pdf

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 status

“Destroyed” sekali dalam masa hidupnya.

Gambar 2.5 Daur hidup Midlet

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

Page 44: LAPORAN M-LEARNING.pdf

23

b. MIDlet suites

Aplikasi-aplikasi MIDlet dibungkus dan dikirim kedalam perangkat sebagai

MIDlet 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

Page 45: LAPORAN M-LEARNING.pdf

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.

Page 46: LAPORAN M-LEARNING.pdf

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.

Page 47: LAPORAN M-LEARNING.pdf

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:

Page 48: LAPORAN M-LEARNING.pdf

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 / elemen-

elemen 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.

Page 49: LAPORAN M-LEARNING.pdf

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.

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.

FaultLocation

Page 50: LAPORAN M-LEARNING.pdf

29

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 terputus-

putus seperti terlihat dalam gambar 2.11.

server

Page 51: LAPORAN M-LEARNING.pdf

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.

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

0..1 *

employer employ

Page 52: LAPORAN M-LEARNING.pdf

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

Page 53: LAPORAN M-LEARNING.pdf

32

3 ANALISIS DAN PERANCANGAN SISTEM

3.1 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

Page 54: LAPORAN M-LEARNING.pdf

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

Page 55: LAPORAN M-LEARNING.pdf

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.

Page 56: LAPORAN M-LEARNING.pdf

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

Page 57: LAPORAN M-LEARNING.pdf

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.

Page 58: LAPORAN M-LEARNING.pdf

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

Page 59: LAPORAN M-LEARNING.pdf

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.

Page 60: LAPORAN M-LEARNING.pdf

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

Page 61: LAPORAN M-LEARNING.pdf

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

Page 62: LAPORAN M-LEARNING.pdf

41

c. Statechart Diagram untuk Pengajar

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

Gambar 3.6 Statechart Diagram Subsistem Pengajar

Menu Utama

BelajarLogin Panduan

Tunggu Verifikasi Username dan Password

Subsistem Pengajar

Materi pembelajaran

Menu Pengajar

Data Murid Data Soal

Tunggu Verifikasi Data

Kembali Menu Pengajar

Kembali Menu Utama

Lihat Data Murid Lihat Nilai Lihat Saran Lihat Soal Tambah Soal

Page 63: LAPORAN M-LEARNING.pdf

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

Page 64: LAPORAN M-LEARNING.pdf

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.

Page 65: LAPORAN M-LEARNING.pdf

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. Tampilan menu administrator dapat dilihat pada

Gambar 3.10.

Page 66: LAPORAN M-LEARNING.pdf

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.

Page 67: LAPORAN M-LEARNING.pdf

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.

Page 68: LAPORAN M-LEARNING.pdf

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

Page 69: LAPORAN M-LEARNING.pdf

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.

Page 70: LAPORAN M-LEARNING.pdf

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.

Page 71: LAPORAN M-LEARNING.pdf

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 M-

Learning 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 M-

Learning.

Page 72: LAPORAN M-LEARNING.pdf

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

Field Tipe Panjang Keterangan id_murid Varchar 5 Id murid sebagai kunci utamanama Varchar 50 Nama asli dari muridusername Varchar 15 username murid yang telah

melakukan registrasipassword Varchar 15 password murid yang telah

melakukan registrasikelas Varchar 10 Kelas muridstatuslogin Varchar 1 Status login yaitu

1 = pengajar 2 = murid

2) Tabel pengajar

Tabel pengajar merupakan tabel yang berisi data-data pengajar pada sistem M-

Learning. 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 Tipe Panjang Keterangan id_pengajar Varchar 5 id_pengajar sebagai kunci

utamanama Varchar 50 nama asli dari pengajarusername Varchar 15 username pengajar yang telah

melakukan registrasipassword Varchar 15 password pengajar yang telah

melakukan registrasi

Page 73: LAPORAN M-LEARNING.pdf

52

jabatan Varchar 50 jabatan pengajarstatuslogin Varchar 1 Status login yaitu

1 = pengajar 2 = murid

3) 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

Field Tipe Panjang Keterangan id_soal INT 5 Id_soal sebagai kunci utamaSoal Longtext Soal latihan dari pengajargambar_soal Varchar 50 Gambar sebagai tambahan

dari soalA Varchar 50 Jawaban aB Varchar 50 Jawaban bC Varchar 50 Jawaban cjawaban Varchar 1 Jawaban yang benarid_pengajar Varchar 5 Id_pengajar sebagai kunci

tamuusername Varchar 15 Username dari pengajar

4) 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.

Page 74: LAPORAN M-LEARNING.pdf

53

Tabel 3.5 Struktur tabel sementara

Field Tipe Panjang Keterangan id_murid Varchar 5 Id_murid sebagai kunci tamuid_soal INT 5 Nomer soal yang dijawab

muridjawab Varchar 1 Jawaban dari setiap nomer

soal yang terjawab

5) 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

Field Tipe Panjang Keterangan id_murid Varchar 5 Id_murid sebagai kunci tamunilai_total Varchar 5 Nilai total dari latihan soal

yang telah dikerjakan muridTanggal Date Tanggal latihan soal

6) 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 Tipe Panjang Keterangan statuslogin Varchar 1 Status login merupakan kunci

utama. Terdiri dari 2 jenis yaitu 1 dan 2

keterangan Varchar 20 Keterangan daristatus login yaitu :1 = pengajar2 = murid

Page 75: LAPORAN M-LEARNING.pdf

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 Tipe Panjang Keterangan id_saran Varchar 5 Id_saran sebagai kunci utamaid_murid Varchar 5 Id murid yang memberi saranusername Varchar 15 Username dari muridSaran Longtext Saran muridTanggal Date 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.

Page 76: LAPORAN M-LEARNING.pdf

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

Page 77: LAPORAN M-LEARNING.pdf

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.

Page 78: LAPORAN M-LEARNING.pdf

57

4 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.

Page 79: LAPORAN M-LEARNING.pdf

58

Spesifikasi perangkat keras komputer yang digunakan sebagai server adalah sebagai

berikut:

1) Processor Intel Core 2 Duo

2) RAM 2 GB

3) Harddisk 250 GB

b. 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 m-

learning 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

Page 80: LAPORAN M-LEARNING.pdf

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.

Page 81: LAPORAN M-LEARNING.pdf

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

Page 82: LAPORAN M-LEARNING.pdf

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

Page 83: LAPORAN M-LEARNING.pdf

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

Page 84: LAPORAN M-LEARNING.pdf

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 Maluku :

\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

Page 85: LAPORAN M-LEARNING.pdf

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);

}

Page 86: LAPORAN M-LEARNING.pdf

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");

Page 87: LAPORAN M-LEARNING.pdf

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

Page 88: LAPORAN M-LEARNING.pdf

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();

}

Page 89: LAPORAN M-LEARNING.pdf

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

Page 90: LAPORAN M-LEARNING.pdf

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.

Page 91: LAPORAN M-LEARNING.pdf

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

Page 92: LAPORAN M-LEARNING.pdf

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.

Page 93: LAPORAN M-LEARNING.pdf

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.

Page 94: LAPORAN M-LEARNING.pdf

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.

Page 95: LAPORAN M-LEARNING.pdf

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

Page 96: LAPORAN M-LEARNING.pdf

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

Page 97: LAPORAN M-LEARNING.pdf

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

Page 98: LAPORAN M-LEARNING.pdf

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

Page 99: LAPORAN M-LEARNING.pdf

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 M-

Learning 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

Page 100: LAPORAN M-LEARNING.pdf

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.

Page 101: LAPORAN M-LEARNING.pdf

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

Page 102: LAPORAN M-LEARNING.pdf

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.

Page 103: LAPORAN M-LEARNING.pdf

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

Page 104: LAPORAN M-LEARNING.pdf

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.

Page 105: LAPORAN M-LEARNING.pdf

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.

Page 106: LAPORAN M-LEARNING.pdf

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 maka dapat diperoleh

kesimpulan pada Tabel 4.8.

Page 107: LAPORAN M-LEARNING.pdf

86

Tabel 4.8 Pengujian Kualitas Ponsel

Sony Ericsson K530i

Sistem Operasi JavaRunning Program Program tidak dapat berjalan dengan

baik dikarenakan resolusi layar yang rendah.

Resolusi Layar 176 x 220 pikselGambar Ponsel

Samsung GT-S5620

Sistem Operasi JavaRunning Program Program dapat berjalan dengan baik.Resolusi Layar 240 x 400 pikselGambar Ponsel

HiTech H71Sistem Operasi JavaRunning Program Program dapat berjalan dengan baik.Resolusi Layar 240 × 320 piksel

Page 108: LAPORAN M-LEARNING.pdf

87

Gambar Ponsel

Nokia E63Sistem Operasi Symbian OS S60 3rd editionRunning Program Program dapat berjalan dengan baik.Gambar Ponsel

Nokia C 3Sistem Operasi platform Nokia Series 40Running Program Program dapat berjalan dengan baik.Resolusi Layar 320 x 240 pikselGambar Ponsel

Page 109: LAPORAN M-LEARNING.pdf

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

A Pengenalan sistem aplikasi

B Pemahaman terhadap sistem aplikasi

C Pengoperasian sistem aplikasi

D Kesesuaian materi pembelajaran

E Kemudahan dalam penyampaian materi

Page 110: LAPORAN M-LEARNING.pdf

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 5

Bagus 4

Cukup 3

Kurang 2

Sangat kurang 1

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

Page 111: LAPORAN M-LEARNING.pdf

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

No NamaDaftar pertanyaan

Total nilaiA B C D E

1 M. Iqbal 5 4 5 5 4 23

2 Yossa S.H. 4 5 5 4 5 23

3 Maharani Ayu D. 4 5 5 5 5 24

4 Zulfika E. 5 4 5 4 5 23

5 Dwi Cahyaning U. 5 4 5 5 5 24

6 T. Danu Projo 5 4 5 4 4 22

7 Nungky Wibowo 5 4 4 5 4 22

8 N. Dian Utami 5 5 5 4 5 24

9 Lola Angela 5 5 5 4 5 24

10 M. Naufal H. 5 5 4 5 3 22

Total 211

Page 112: LAPORAN M-LEARNING.pdf

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 jumlah pemahaman maksimal x 100%

= 211250 x 100% = 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.

Page 113: LAPORAN M-LEARNING.pdf

92

5 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 GT-

S5620 dan HiTech HT71.

Page 114: LAPORAN M-LEARNING.pdf

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.

Page 115: LAPORAN M-LEARNING.pdf

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.*;

Page 116: LAPORAN M-LEARNING.pdf

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;

Page 117: LAPORAN M-LEARNING.pdf

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 a = null; Image b = null; Image c = null; Image d = null;

try { a = Image.createImage("/daftar.png"); b = Image.createImage("/login.png"); c = Image.createImage("/belajar.png"); d = 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);

Page 118: LAPORAN M-LEARNING.pdf

} 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 java.io.IOException;import java.io.InputStream;import java.util.Vector;import javax.microedition.io.Connector;import javax.microedition.io.StreamConnection;import 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);

Page 119: LAPORAN M-LEARNING.pdf

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){} }

}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 arr;}

Page 120: LAPORAN M-LEARNING.pdf

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 {

Page 121: LAPORAN M-LEARNING.pdf

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 Display display; private StringItem HasilItem; private TextField id; private TextField name; private TextField user; private TextField pass; private TextField clas; private TextField age; private Form form_hasil; private String result, akhir; private Play run; private Command SignUp,Batal,OK;

public Daftar(Display display, String akhir) {

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

Page 122: LAPORAN M-LEARNING.pdf

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(); }

Page 123: LAPORAN M-LEARNING.pdf

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.*;

Page 124: LAPORAN M-LEARNING.pdf

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(); } } }

Page 125: LAPORAN M-LEARNING.pdf

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,gambar11,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;

Page 126: LAPORAN M-LEARNING.pdf

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("",

Page 127: LAPORAN M-LEARNING.pdf

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) Nyanyian-nyayian 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{

Page 128: LAPORAN M-LEARNING.pdf

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 (){

Page 129: LAPORAN M-LEARNING.pdf

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(); }}

}

Page 130: LAPORAN M-LEARNING.pdf

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);

Page 131: LAPORAN M-LEARNING.pdf

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);

Page 132: LAPORAN M-LEARNING.pdf

} 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); }

}}

Page 133: LAPORAN M-LEARNING.pdf

DataMember.java

package SeniMusik;

import javax.microedition.lcdui.*;import javax.microedition.io.*;import java.io.*;import 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);

Page 134: LAPORAN M-LEARNING.pdf

display.setCurrent(menuuser);}else if (c == OK){

DataMember data_member = new DataMember(display, akhir, username);

display.setCurrent(data_member); } else {

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());

Page 135: LAPORAN M-LEARNING.pdf

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);

Page 136: LAPORAN M-LEARNING.pdf

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+"&alamat="+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!");

Page 137: LAPORAN M-LEARNING.pdf

}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");}

Page 138: LAPORAN M-LEARNING.pdf

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 java.io.IOException;import java.io.InputStream;import javax.microedition.io.Connector;import javax.microedition.io.StreamConnection;import 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();

Page 139: LAPORAN M-LEARNING.pdf

} 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[this.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();

Page 140: LAPORAN M-LEARNING.pdf

} 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";

Page 141: LAPORAN M-LEARNING.pdf

}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?username="+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)); }

Page 142: LAPORAN M-LEARNING.pdf

} }}

Nilai.java

package SeniMusik;

import javax.microedition.lcdui.*;import javax.microedition.io.*;import java.io.*;import 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;

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");

try {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);

Page 143: LAPORAN M-LEARNING.pdf

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="+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);

Page 144: LAPORAN M-LEARNING.pdf

//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 javax.microedition.lcdui.*;import javax.microedition.io.*;import java.io.*;import 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; //sessionprivate String nama; //data yg ditampilkanprivate 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();}

}

Page 145: LAPORAN M-LEARNING.pdf

public void show() throws Exception { //tid = new TextField("Nomer Absen : ", "", 50, TextField.ANY);

tusername = new TextField("Username : ", "", 50, TextField.UNEDITABLE);

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

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="+username+"&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));

Page 146: LAPORAN M-LEARNING.pdf

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++){

Page 147: LAPORAN M-LEARNING.pdf

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);

Page 148: LAPORAN M-LEARNING.pdf

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;

Page 149: LAPORAN M-LEARNING.pdf

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;

Page 150: LAPORAN M-LEARNING.pdf

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 : ", "", 50, TextField.UNEDITABLE); tusername.setString(username); append(tusername);

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 : ", "", 50, TextField.UNEDITABLE); append(gmb);

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="";

Page 151: LAPORAN M-LEARNING.pdf

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");

Page 152: LAPORAN M-LEARNING.pdf

display.setCurrent(form_hasil); } else {

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;}}

Page 153: LAPORAN M-LEARNING.pdf