• Tidak ada hasil yang ditemukan

PROGRAM APLIKASI PENCATATAN DATA CALON NASABAH (STUDI KASUS CU (CREDIT UNION) Khatulistiwa Bakti)

N/A
N/A
Protected

Academic year: 2019

Membagikan "PROGRAM APLIKASI PENCATATAN DATA CALON NASABAH (STUDI KASUS CU (CREDIT UNION) Khatulistiwa Bakti)"

Copied!
80
0
0

Teks penuh

(1)

(STUDI KASUS CU (CREDIT UNION) Khatulistiwa Bakti)

Tugas Akhir

Diajukan untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Informatika

Oleh:

Yoseph Rostandy Pian

NIM : 015314032

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2007

(2)

APPLICATION PROGRAM FOR RECORDING CLIENT’S DATA

(A CASE STUDY AT CU (CREDIT UNION) Khatulistiwa Bakti)

Final Project

Presented as Partial Fulfillment of the Requirements

to Obtain the Sarjana Teknik Degree

in Informatics Engineering

By

Yoseph Rostandy Pian

Student Number : 015314032

INFORMATICS ENGINEERING STUDY PROGRAM

DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2007

(3)
(4)
(5)

Dengan ini saya sebagai penulis tugas akhir menyatakan dengan

sesungguhnya bahwa tugas akhir yang saya tulis ini tidak memuat karya atau bagian

karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang

diambil disebutkan dengan jelas sebagai acuan.

Yogyakarta, Desember 2007

Yoseph Rostandy Pian

Penulis

(6)

Kupersembahkan karyaku ini untuk...

Bunda Maria,

yang selalu mendengarkan permintaan, keluh kesah, dan doa ku selama kuliah.

Terima kasih untuk melindungi orang-orang di sekitarku, teman-teman, serta orangtua-ku yang

jauh. Terima kasih untuk rahmat, berkat, dan anugerah serta keselamatan selama aku belajar,

bekerja, bermain dan perjalananku...

Tuhan Yesus Kristus,

yang telah memberikan kesempatan untuk berada di dunia ini, yang

telah melindungi dalam perjalanan atau pun pekerjaan, dan melindungi rumah tempat-ku

beristirahat dan bekerja...

Papa dan mama-ku, Drs. Anton Paulus dan Yustina

, yang telah memberikan kesempatan

untuk kuliah disini. Terima kasih untuk nasehat, dorongan, kasih dan doa yang tidak ada

habisnya. Maafkan anakmu yang selalu menyusahkan...

Adikku, Febrio Miki Pian

, untuk beda pendapatnya yang selalu memberikan alternatif

pilihan. DASAR GENDUT!!!

Almamaterku, Teknik Informatika Univ. Sanata Dharma Angkatan 2001

, kalian

memberikan aku banyak pengetahuan, pengalaman dan persahabatan yang tidak akan aku

lupakan...

(7)

Motto

“Life is a journey...”

“Ad Maiorem Dei Gloriam...”

“demi kemuliaan Allah yang lebih besar...”

(8)

ABSTRAKSI

Data nasabah merupakan hal yang sangat vital bagi perusahaan-perusahaan

yang bergerak di bidang keuangan. Data-data tersebut harus dikelola dengan baik

supaya data-data tersebut tersimpan dengan baik dan selalu siap digunakan jika

diperlukan.

Pada tugas akhir ini akan dibuat perangkat lunak yang menangani data-data

nasabah. Penanganan data-data tersebut meliputi memasukkan data baru (menulis dan

menyimpan data), mencari data, dan mengurutkan data. Perangkat lunak ini tidak

mengenal adanya tingkatan pemakai (level user) dan perbedaan akses seperti

Administrator dan Data Entry.

(9)

ABSTRACT

Client’s data is a real vital thing for companies which is active in

finance-related. The datas must be managed carefully so that the datas is on file carefully and

always ready to be applied if it is required.

At this final project will be made a software that handling client’s datas.

Handling of the datas covers enters new data ( writes and saving data), looks for data,

and sorts data. This software do not know existence of user level and difference of

access like Administrator and Data Entry.

(10)

KATA PENGANTAR

Puji dan syukur penulis ucapkan kepada Bunda Maria dan Tuhan Yesus

Kristus atas segala berkat, rahmat dan karunia-Nya, sehingga penulis dapat

menyelesaikan karya tulis ini dengan baik. Karya tulis ini dibuat sebagai tugas akhir

yang harus ditempuh penulis untuk mendapatkan gelar sarjana Strata satu ( S1 ) pada

jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma

Yogyakarta.

Dalam menyelesaikan kaya tulis ini, penulis banyak mendapatkan bantuan,

dukungan dan dorongan dari berbagai pihak. Oleh karena itu, dalam kesempatan ini

penulis hendak menyampaikan rasa terima kasih yang sedalam-dalamnya kepada :

1.

Romo Ir. Greg Heliarko, S.J., S.S., B.S.T., M.A., M.Sc selaku Dekan

Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2.

Ibu Agnes Maria Polina, S.Kom, M.Sc. selaku Ketua Jurusan Teknik

Informatika Universitas Sanata Dharma Yogyakarta.

3.

Bapak Alb. Agung Hadhiatma, S.T., M.T., selaku Dosen Pembimbing Tugas

Akhir dan Dosen Pembimbing Akademik penulis. Terima kasih untuk

bimbingan, dorongan dan masukannya.

4.

Seluruh Dosen Universitas Sanata Dharma, khususnya Dosen yang mengajar

di Teknik Informatika, yang telah memberikan dan mengajarkan banyak ilmu

kepada penulis.

5.

Kedua orangtua penulis, Drs. Anton Paulus dan Yustina, yang telah

memberikan banyak nasehat, dorongan, doa dan materi kepada penulis, hingga

penulis dapat menyelesaikan tugas akhir ini.

(11)

sehingga penulis mempunyai alternatif pilihan.

7.

Buat teman-teman Teknik Informatika angkatan 2001 kelas A dan B, kalian

semua, Tatag, Ndon, Bernard, Albert, Ucok Daus, Cokde, Tito, Eko, Kuncoro,

Andri Punk, Andri Solo, Andi’ Cuplis, Bojack + Agnes, Tio, Vivi + Indra,

Emma (makasih buat cerita-ceritanya...), Dinar S. (ketua kelas A), Yongki,

Agus Maran (Ayo pek!!), Adit Bajuri, Aryo, Danu, Devi, Tina, Iis, Iin, Detti

Bule, Lenny, Anna, Rita, Fanny, Hendy Moenyoex, Eva, Janto, Aris, Yoan,

Carlo, Heny, Siska (‘ncis), kita bakal ketemu lagi? Hope so.... Miss u guys a

lot!! Buat Lijun ‘02, gimana, ade proyek ndak? Bagi-bagilah!! Buat kalian

semua yang secara langsung atau tidak, telah membantu aku, makasih banyak

buat kalian!! Dan maaf juga, seandainya aku pernah mengecewakan

kalian...

8.

Buat anak kos di Jl. Mawar no. 8a, kos Kelapa Ijo. Kalian memang temanku,

yang membuat aku kuat dan belajar menjadi dan bersikap dewasa saat orang

tuaku tidak mengawasiku. Makasih buat Frans (‘ncis), Indro, Wisa (2

rembulannya gak ada yang nempel ya... Sori!!!), Adi, Nael, Angga, Klin,

Dika, Amos, Alex, Didit, Aan, A sun, Nando (Pace, ko’ pi mana?!), Yano

Bagong. Dan semua komunitas anak kos di Paingan, asik banget sih kalian!!

9.

Dan terakhir, untuk semua pihak yang telah membantu terselesaikannya tugas

akhir ini, penulis dengan segala kerendahan hati mengucapkan beribu terima

kasih atas bantuan kalian. Hanya Tuhan yang bisa membalas budi baik

kalian...

(12)

Akhir kata, seperti kata pepatah “Tak ada gading yang tak retak”, maka

penulis mohon maaf dengan segala kerendahan hati apabila dalam penulisan tugas

akhir ini terdapat kesalahan dan kekurangan. Penulis juga mengharapkan kritik dan

saran yang membangun yang dapat dikirimkan melalui e-mail cep_zone@plasa.com,

sehingga dapat menjadi masukan bagi penulis.

Semoga apa yang telah penulis tulis dan laporkan pada tugas akhir ini dapat

bermanfaat bagi siapa saja yang membutuhkan. Atas segala perhatiannya penulis

ucapkan terima kasih.

Yogyakarta, Desember 2007

Yoseph Rostandy Pian

Penulis

(13)

Halaman Judul...

i

Halaman Persetujuan...

iii

Halaman Pengesahan...

iv

Halaman Pernyataan...

v

Halaman Persembahan...

vi

Halaman Motto...

vii

Abstraksi... viii

Abstract... ix

Kata Pengantar...

x

Daftar Isi...

xiii

Daftar Gambar...

xvi

Daftar Tabel...

xviii

BAB I Pendahuluan...

1

A. Latar Belakang Masalah...

1

B. Rumusan Masalah...

3

C. Batasan Masalah...

3

D. Tujuan dan Manfaat Penelitian...

4

E. Metodologi Penelitian...

4

F. Sistematika Penulisan...

5

BAB II Landasan Teori...

6

A. J2ME (Java 2 Micro Edition)... 6

A.1 J2ME Configuration... 8

A.2 J2ME Profile... 9

A.3 Aplikasi Midlet... 10

(14)

a. Arsitektur Aplikasi Midlet... 10

b. Daur hidup sebuah Midlet... 12

A.4 User Interface pada Midlet... 13

B. HTTP...

14

C. Apache...

15

D. PHP (Personal Home Page)... 15

BAB III Analisa dan Peracangan Sistem...

17

A. Analisa Sistem...

17

A.1 Gambaran Umum Sistem yang Lama...

17

A.2 Gambaran Sistem yang Akan Dikembangkan...

17

A.3 Batasan Sistem...

20

B. DFD (Data Flow Diagram)... 20

B.1 Use Case Diagram... 20

B.2 Diagram Berjenjang...

21

B.3 Overview Diagram Level 0...

21

C. Perancangan Antar Muka...

22

BAB IV Implementasi Sistem...

26

A. Kebutuhan Sistem...

26

B. User Interface... 27

BAB V Analisa Hasil...

34

A. Pengujian Sistem...

34

B. Kelebihan dan Kekurangan Sistem...

38

BAB VI Kesimpulan...

40

A. Kesimpulan...

40

DAFTAR PUSTAKA...

41

(15)
(16)

DAFTAR GAMBAR

Gambar 2.1 Lingkungan kerja J2ME...

7

Gambar 2.2 Daur hidup dari sebuah midlet... 12

Gambar 2.3 Gambar class diagram... 14

Gambar 3.1 Gambaran proses bisnis... 19

Gambar 3.2 Use Case diagram...

20

Gambar 3.3 Diagram berjenjang... 21

Gambar 3.4 Overview diagram level 0...

21

Gambar 3.5 Rancangan tampilan awal aplikasi... 22

Gambar 3.6 Rancangan tampilan menu... 23

Gambar 3.7 Rancangan tampilan opasi Simpan...

24

Gambar 3.8 Rancangan tampilan opsi Tentang...

25

Gambar 3.9 Rancangan tampilan opsi Bantuan... 25

Gambar 4.1 Tampila awal aplikasi...

27

Gambar 4.2 Tampilan input data aplikasi... 28

Gambar 4.3 Tampilan ketika opsi Menu dipilih...

29

Gambar 4.4 Tampilan ketika opsi Register dipilih...

30

Gambar 4.5 Tampilan data yang telah di-Simpan... 31

Gambar 4.6 Tampilan data gagal disimpan...

31

Gambar 4.7 Tampilan data sudah ada... 32

Gambar 4.8 Tampilan opsi Tentang Program... 32

Gambar 4.9 Tampilan opsi Bantuan Program... 33

Gambar 5.1 Tampilan awal aplikasi...

34

Gambar 5.2 Tampilan form input data... 35

Gambar 5.3 Tampilan pengiriman data ke web server... 36

(17)
(18)

xviii

DAFTAR TABEL

(19)

BAB I

PENDAHULUAN

A. Latar Belakang Masalah

CU (Credit Union) Khatulistiwa Bakti adalah sebuah badan koperasi. CU

(Credit Union) Khatulistiwa Bakti memiliki beberapa macam produk pelayanan yang

dapat dinikmati oleh nasabahnya, antara lain Pelayanan Simpanan dan Pinjaman,

dengan beberapa produk layanannya antara lain, Simpanan Saham, Simpanan Setara

Saham, Simpanan Non Saham, dan Pinjaman, serta produk Pelayanan Non Simpanan

dan Non Pinjaman, dengan produk layanan, antara lain SOLKES (Solidaritas

Kesehatan), SOLDUTA (Solidaritas Duka Cita), dan beberapa produk lainnya.

Untuk mendapatkan semua produk layanan dari CU (Credit Union)

Khatulistiwa Bakti ini, seseorang harus mendaftarkan dirinya, dengan menjadi

nasabah dari CU (Credit Union) Khatulistiwa Bakti. Setelah menjadi nasabah dari CU

(Credit Union) Khatulistiwa Bakti ini, nasabah tersebut akan mengikuti Pendidikan

Dasar yang bertujuan untuk mengetahui apa-apa saja yang menjadi hak dan kewajiban

selama menjadi nasabah dari CU (Credit Union) Khatulistiwa Bakti.

Untuk menjadi nasabah dari CU (Credit Union) Khatulistiwa Bakti, seseorang

harus melewati tahap survey yang dilakukan oleh karyawan koperasi. Hal ini

dimaksudkan untuk mengetahui sejauh mana calon nasabah tersebut mengenal CU

(Credit Union) Khatulistiwa Bakti. Apakah calon nasabah tersebut sudah pernah

menjadi nasabah CU (Credit Union) Khatulistiwa Bakti sebelumnya atau belum,

apakah calon nasabah tersebut pernah mendengar tentang CU (Credit Union)

(20)

2

Khatulistiwa Bakti, dari mana calon nasabah tersebut mengetahui CU (Credit Union)

Khatulistiwa Bakti, dan hal-hal lainnya.

Setelah melakukan survey tersebut, barulah karyawan koperasi akan

memberikan formulir untuk diisi calon nasabah, sebagai tanda bahwa calon nasabah

tersebut sudah siap untuk bergabung dengan CU (Credit Union) Khatulistiwa Bakti.

Beberapa hal yang biasanya menjadi kendala dalam mencatatkan calon nasabah

tersebut menjadi nasabah CU (Credit Union) Khatulistiwa Bakti adalah

kendala-kendala teknis seperti habisnya stok lembar formulir, tertinggal atau lupa terbawa,

terkena hujan/basah, dan kendala teknis lainnya.

(21)

B. Rumusan Masalah

Pada tugas akhir ini akan dibangun sebuah aplikasi yang akan menangani

pencatatan data-data detil dari calon nasabah dari CU (Credit Union) Khatulistiwa

Bakti. Aplikasi ini akan dibangun dengan menggunakan tools NetBeans 5.5 Beta 2

dan add-on Mobility Pack. Tools ini dapat membangun aplikasi yang bersifat mobile,

yaitu aplikasi yang dapat diimplementasikan dan dijalankan pada device/perangkat

selular, serta mendukung J2ME dan MIDP. Sebelum aplikasi ini diterapkan pada

device yang sebenarnya, aplikasi akan diterapkan pada emulator.

Data calon nasabah yang telah dicatat tidak dapat langsung disimpan pada

device / perangkat seluler, karena aplikasi yang dibangun dengan bahasa

pemrograman J2ME sangat terbatas dalam mengalokasikan memori penyimpanan.

Karena keterbatasan memori tersebut maka digunakan suatu metode untuk

menyimpan data langsung ke server. Metode tersebut adalah dengan menggunakan

koneksi HTTP. HTTP merupakan sebuah protokol untuk melakukan request dan

menerima respon dari server.

C. Batasan Masalah

Batasan masalah untuk penelitian ini adalah :

1.

Tidak membahas masalah jaringan.

2.

Tidak mambahas masalah keamanan.

3.

Data – data yang digunakan adalah sample yang diambil selama melakukan

Kerja Praktek di CU (Credit Union) Khatulistiwa Bhakti Pontianak,

Kalimantan Barat.

(22)

4

5.

Aplikasi akan dibangun dengan menggunakan program NetBeans 5.5 Beta 2

dan add-on Mobility Pack, dengan bahasa pemrograman J2ME.

6. Aplikasi ini hanya menangani pencatatan data, berikut penambahan data

baru, membaca data, dan pencarian data.

D. Tujuan dan Manfaat Penelitian

Tujuan dan manfaat dari penelitian ini adalah :

1.

Mempercepat pencatatan data calon nasabah jika calon nasabah tersebut

hendak menjadi anggota koperasi.

2.

Mempercepat dan mempermudah kerja karyawan survey lapangan.

E. Metodologi Penelitian

1. Mencatat data-data sample, yang didapat selama melakukan Kerja Praktek.

2. Studi literatur, mengumpulkan informasi literatur dari semua sumber seperti

buku, dan internet(jurnal online).

3. Analisa sistem, yang meliputi :

- Analisa kebutuhan sistem

- Analisa kegunaan sistem

4. Disain sistem, yang meliputi perancangan interface untuk input, output dan

penyimpanan data.

5. Implementasi Sistem, yang meliputi

- Menterjemahkan model rancangan ke dalam bentuk kode-kode program.

- Mencoba kode-kode program pada emulator.

(23)

F. Sistematika Penulisan

Sistematika penulisan Tugas Akhir ini adalah :

1.

BAB I : PENDAHULUAN

Bab ini berisi tentang Latar Belakang Masalah, Rumusan Masalah, Batasan

Masalah, Tujuan dan Manfaat Penelitian, Metodologi Penelitian dan

Sistematika Penulisan.

2.

BAB II : LANDASAN TEORI

Bab ini berisi penjelasan tentang teori-teori yang berhubungan dengan

pengembangan sistem yang akan dibangun yaitu aplikasi pencatatan record

seorang calon nasabah. Dasar teori yang dibahas adalah : J2ME (Java 2 Micro

Edition) dan HTTP.

3.

BAB III : ANALISA DAN DESAIN SISTEM

Bab ini berisi desain dan analisa aplikasi yang akan dibangun

4.

BAB IV : IMPLEMENTASI SISTEM

Bab ini berisi tentang pengimplementasian sistem ke dalam bahasa

pemrograman.

5.

BAB V : ANALISA HASIL

Bab ini berisis tentang analisa hasil dari aplikasi yang diterapkan pada

emulator. Juga berisi analisa kelebihan dan kekurangan yang muncul dari

aplikasi, serta analisa teknologi yang digunakan.

6.

BAB VI : PENUTUP

(24)

BAB II

LANDASAN TEORI

Teknologi

wireless Internet, atau akses Internet tanpa kabel, saat ini akan

memungkinkan kita terkoneksi ke jaringan Internet dengan segala macam perangkat

bergerak (mobile devices) yang kita miliki, baik itu berupa Palm, Pocket PC, atau

jenis PDA (Personal Digital Assistance) lainnya, bahkan dengan

handphone/telepon genggam yang kita miliki.

A. J2ME (Java 2 Micro Edition)

J2ME merupakan subset dari J2SE (Java 2 Standard Edition, yaitu teknologi

Java

untuk aplikasi desktop) yang ditujukan untuk implementasi pada peralatan

embedded system dan handheld yang tidak mampu mendukung secara penuh

implementasi menggunakan J2SE. Embedded system adalah produk-produk dengan

komputer kecil berada di dalamnya, dimana peralatan ini dimanfaatkan oleh aplikasi

yang lebih spesifik. Karakteristik dari peralatan embedded system dan handheld yang

mengimplementasikan aplikasi dari teknologi J2ME adalah jumlah memori dan

kapasitas yang terbatas, serta kemampuan user interface yang terbatas pada perangkat

komunikasi bergerak (mobile device) yaitu telepon genggam, PDA (Personal Digital

Assistant) dan sebagainya.

J2ME dirancang untuk dapat menjalankan program Java perangkat-perangkat

semacam telepon genggam atau PDA memiliki memori terbatas. Pada Gambar 2.1

akan ditunjukkan lingkungan kerja J2ME pada pemrograman Java.

(25)

Gambar 2.1 Lingkungan Kerja J2ME

Virtual machine yang digunakan oleh aplikasi J2ME disebut dengan K virtual

machine, yang mana merupakan implementasi dari java virtual machine yang

digunakan pada J2ME CLDC (Connected Limited Device Configuration).

K virtual

machine adalah virtual machine yang sangat kecil dalam kebutuhan memorinya yaitu

mulai dari 128 kilobyte sampai 512 kilobyte, dimana huruf K pada K virtual machine

menunjukkan kilobyte.

Saat ini terdapat 2 jenis aplikasi dari J2ME, yaitu :

1. Walled Garden Application

(26)

8

2. Network Aware Application

Aplikasi ini merupakan aplikasi yang berinteraksi dengan jaringan atau dengan

kata lain memiliki kemampuan akses terhadap sumber data eksternal. Contoh dari

aplikasi ini adalah aplikasi email pada telepon genggam, aplikasi untuk mencari

alamat – alamat yang tersimpan di jaringan, dan pengiriman email ke berbagai alamat

melalui jaringan data.

A.1.

J2ME Configuration

Configuration adalah spesifikasi yang secara detail menjelaskan

tentang sebuah virtual machine dan kumpulan API-API (Application

Programming Interface) dasar yang digunakan dalam class-class tertentu dari

sebuah peralatan. J2ME Configuration ini akan menyediakan library standar

yang mengimplementasikan fitur standar dari sebuah peralatan.

Ada 2 kategori J2ME Configuration, yaitu :

1.

CLDC (Connected Limited Device Configuration)

(27)

2.

CDC (Connected Device Configuration)

Konfigurasi ini umumnya digunakan untuk peralatan dengan kapasitas

memori yang lebih besar (ukuran memori sampai megabyte) dengan

koneksi jaringan yang lebih kokoh. Contoh penggunaan dari

konfigurasi ini adalah internet television, internet-enable screenphone,

high-end communicator, dan sebagainya.

Secara ringkas perbedaan antara CLDC dengan CDC adalah sebagai

berikut :

Tabel 2-1. Perbedaan antara CLDC dengan CDC

CLDC CDC

Mengimplementasikan subset dari J2SE Mengimplementasikan subset dari J2SE

JVM yang digunakan dikenal dengan nama

KVM (Kilo Virtual Machine)

JVM yang digunakan dikenal dengan nama

CVM (Classic Virtual Machine)

Digunakan pada perangkat handheld dengan

memori terbatas (128 – 512 KB)

Digunakan pada perangkat handheld dengan

memori minimal 2 MB

Prosesor 16 bit atau 32 bit Prosesor 32 bit

A.2. J2ME Profile

J2ME

Profile menyediakan implementasi-implementasi tambahan

yang sangat spesifik dari sebuah handheld devices, sedangkan J2ME

Configuration menyediakan libary-library Java untuk implementasi fitur-fitur

(28)

10

Ada 5 kategori J2ME Profile, yaitu :

1.

MIDP (Mobile Information Device Profile)

MIDP menyediakan library-library Java untuk implementasi dasar

antar muka (GUI – Graphical User Interface), implementasi jaringan

(networking),

database, dan timer. MIDP dirancang khusus untuk

wireless phone dan pager.

2.

Foundation Profile

3.

Personal Profile

4.

RMI Profile

5.

Personal Digital Assistant Profile

A.3. Aplikasi MIDlet

MIDlet adalah aplikasi yang dibuat menggunakan J2ME (Java 2 Micro

Edition) dengan profile MIDP (Mobile Information Device Profile).

a.

Arsitektur Aplikasi MIDlet

Sebuah pengembangan aplikasi MIDlet terdiri atas direktori-direktori

sebagai berikut :

1.

src : berisi file-file kode Java

2.

bin : berisi file-file JAD, JAR, dan manifest

3.

lib : berisi file-file kelas Java yang diperlukan dalam format

JAR atau ZIP

(29)

Istilah-istilah penting dalam daur hidup (LifeCycle) sebuah MIDlet,

yaitu :

a.

Application Management Software (AMS)

AMS adalah sebuah lingkungan tempat siklus sebuah MIDlet

mampu diciptakan, dijalankan, dihentikan maupun dihilangkan.

Fungsi dari AMS adalah mengatur manajemen aplikasi MIDlet

yang ada.

b.

MIDlet

merupakan aplikasi yang dijalankan pada sebuah perangkat

handheld. Midlet tidak berinteraksi langsung dengan hardware

dari telepon genggam, PDA atau perangkat handheld lainnya,

melainkan berinteraksi melalui Application Management

Software (AMS). AMS inilah yang akan menerima sinyal dari

MIDlet bahwa MIDlet akan dijalankan atau berhenti.

c.

MIDlet States

merupakan status dari sebuah MIDlet.

Ada 3 status MIDlet, yaitu :

a)

Paused

Status ini terjadi jika MIDlet selesai diinisialisasi dan tidak

melakukan aksi apapun. Status MIDlet akan mengalami pause

apabila :

1.

Setelah MIDlet dibuat dengan konstruktor new()

(30)

12

3.

dari status active, ketika akan start() terjadi kesalahan berupa

exception:MIDletStateChangeException

b) Active

Status ini terjadi jika MIDlet sedang berjalan dengan normal, yaitu

setelah memanggil fungsi MIDlet.startApp().

c) Destroyed

Status ini terjadi jika MIDlet berhenti berjalan (exit), sehingga

seluruh

resource yang digunakan akan dilepaskan. Status ini

berhasil jika dilakukan pemanggilan fungsi MIDlet.destroyApp()

atau MIDlet.notifyDestroyed().

b. Daur Hidup Sebuah

MIDlet

Berikut ini gambaran daur hidup dari sebuah MIDlet :

Baru

Keluar jika ada exception

destroyApp()

startApp() pauseApp()

destroyApp()

PAUSE

ACTIVE

DESTROY

(31)

Dari gambar tersebut, dapat dijelaskan sebagai berikut :

- Ketika MIDlet pertama kali diciptakan dan diinisialisasi oleh

AMS (Application Management Software), MIDlet akan berada

dalam status pause.

- Apabila terjadi kesalahan selama konstruksi MIDlet, MIDlet akan

berpindah ke status destroy, dan MIDlet batal diciptakan dengan

jalan memanggil fungsi standar destroyApp().

- Selanjutnya, ketika AMS memutuskan bahwa MIDlet sudah

waktunya dijalankan, MIDlet akan berada pada status active,

dalam hal ini fungsi standar yang dipanggil startApp().

- Akan tetapi, ketika AMS memutuskan bahwa MIDlet harus

dihentikan sementara, MIDlet akan berada dalam status pause

dengan jalan memanggil fungsi standar pauseApp().

- Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan

selamanya, maka AMS akan memanggil fungsi

MIDlet.destroyApp().

Pada status ini diperlukan fungsi proses clean-up untuk

membersihkan alokasi memori yang akan digunakan oleh MIDlet

yang bersangkutan atau garbage collector yang dihasilkan.

A.4. User Interface pada MIDlet

User interface dari MIDP (Mobile Information Device Profile) terdiri

(32)

14

level API adalah alert, form, list, textbox.

Class

diagram dari user interface

dapat dilihat pada gambar berikut :

Displayable

Screen

Canvas

TextBox

List

Form

Alert

Gambar 2-3. Gambar class diagram

B. HTTP

J2ME menyediakan beberapa cara untuk melakukan koneksi antara perangkat

bergerak (mobile device) dan server yaitu lewat socket, SMS, koneksi HTTP,

infrared, bluetooth, kabel dan lainnya. Koneksi HTTP menjadi salah satu pilihan yang

sering digunakan dibandingkan koneksi lainnya karena ruang lingkup penggunaannya

luas dan hampir seluruh perangkat bergerak (mobile device) mendukung jenis koneksi

ini.

HTTP adalah sebuah protokol request/response, artinya client dapat

mengirimkan

request ke server dengan alamat yang telah dispesifikasikan pada

Uniform Resource Locator(URL), kemudian server akan memberikan respon kepada

client. Untuk dapat melakukan koneksi dengan HTTP, harus melalui 3 tahapan, yaitu

(33)

dikirim pada stream terpisah, dan dengan metode HEAD data yang dikirim adalah

meta information.

C. APACHE

Apache merupakan web

server yang bersifat open source dan tersedia di

berbagai platforms, termasuk Linux dan Windows. Apache merupakan program

web

server yang melayani permintaan akses web dari client. Pada Tugas Akhir

ini, Apache digunakan sebagai web server untuk memberi respon hasil dari komputasi

script yang di-request dari aplikasi.

D. PHP (Personal Home Page)

PHP merupakan akronim dari Profesional Home Page. PHP merupakan

salah satu bahasa pemrograman/scripting yang biasa digunakan untuk web

development yang dapat diselipkan dalam HTML. Berbeda dengan script-script

lainnya seperti Java Script atau VB script, PHP dieksekusi di lingkungan server, client

hanya menerima hasil dari script yang telah dieksekusi, tanpa bisa mengetahui

kode yang digunakan.

Awalnya, PHP bekerja di lingkungan Linux, karena merupakan ’turunan’

bahasa PEARL yang merupakan bahasa pemrograman native di lingkungan Linux

dan Unix. Namun seiring perkembangan dan kebutuhan maka PHP dibuat secara

cross platform. PHP dapat bekerja di lingkungan Windows maupun Linux. PHP

(34)

16

(<) dan diakhiri dengan tanda lebih besar (>). Ada tiga cara untuk menulis script PHP,

yaitu :

1.

<?

Script PHP

?>

2.

<?php

Script

?>

3.

<SCRIPT LANGUAGE=”php”>

Script PHP

(35)

BAB III

ANALISA DAN PERANCANGAN SISTEM

A. Analisa Sistem

A.1 Gambaran Umum Sistem Yang Lama

Credit Union Khatulistiwa Bakti adalah sebuah unit koperasi simpan pinjam.

Tiap nasabah yang terdaftar sebagai anggota koperasi berhak untuk melakukan

simpan mau pun pinjam berupa uang. Untuk mendaftar menjadi calon nasabah atau

anggota, calon nasabah atau anggota tersebut mengisi formulir secara manual.

Beberapa hal dari sistem lama yang dilakukan oleh karyawan untuk mencatat

data calon nasabah adalah :

-

karyawan melakukan survei terhadap calon nasabah,

-

karyawan memberikan formulir kepada calon nasabah dan mengisi secara

manual,

-

memberikan formulir yang telah diisi oleh calon nasabah kepada kasir dan

kasir mencatat data calon nasabah ke komputer database.

Masalah yang dihadapi adalah pencatatan data calon nasabah secara manual

lewat formulir dan kadangkala formulir tidak tersedia.

A.2 Gambaran Umum Sistem Yang Akan Dikembangkan

Untuk mengatasi masalah yang dihadapi tersebut, akan dikembangkan suatu

aplikasi pencatatan data calon nasabah tersebut. Aplikasi tersebut akan berjalan pada

(36)

18

platform mobile device, sehingga dimana saja dan kapan saja aplikasi tersebut dapat

digunakan.

Gambaran umum untuk sistem yang baru adalah

1.

Aplikasi dijalankan pada device yang mendukung Java. Dalam hal ini device

yang digunakan adalah telepon seluler.

2.

Fasilitas yang terdapat pada aplikasi ini adalah mencatat data calon nasabah

yang hendak mendaftar menjadi anggota koperasi simpan pinjam. Data dari

calon nasabah yang dicatat tersebut adalah meliputi no. BA (Buku Anggota),

nama anggota, golongan, wilayah, tanggal menjadi anggota, no. BA referensi,

ahli waris, no. KTP/SIM, alamat, kota, telepon, tempat lahir, tanggal lahir,

jenis kelamin, status kawin/belum kawin, pendidikan dan pekerjaan.

(37)

Gambaran untuk sistem yang baru dapat dilihat dalam proses bisnis sebagai berikut :

(38)

20

A.3 Batasan Sistem

Batasan sistem untuk aplikasi ini adalah :

1

.

Aplikasi yang dibangun dengan platform J2ME ini bersifat single user dan

sangat terbatas dalam penyimpanan data. Hasil pencatatan data tersebut

akan di-parsing ke web server dan akan dikembalikan ke aplikasi untuk

ditampilkan.

2.

Data hasil pencatatan tidak dapat dilihat menggunakan aplikasi lain seperti

aplikasi yang berjalan pada platform desktop.

B

.

DFD (Data Flow Diagram)

DFD adalah sebuah model proses yang digunakan untuk menggambarkan

aliran data yang terlibat dalam satu prosedur (event) dari mana dan ke mana data yang

keluar serta dimana data tersebut disimpan. DFD menggambarkan penyimpanan data

dan proses yang mentransformasikan data. DFD menunjukkan hubungan antara data

pada sistem dan proses pada sistem.

B.1 Use Case Diagram

Register data calon nasabah Membaca data calon

nasabah

input data calon nasabah

Simpan data calon nasabah

user

(39)

B.2 Diagram Berjenjang

0

Data Recording

1

Proses input data

2

Proses register data

3

Proses baca data

4

Proses simpan data

Gambar 3.3 Diagram Berjenjang

B.3 Overview Diagram level 0

1

Proses input

data

USER

no.BA,nama anggota,golongan,wilayah,tanggal menjadi anggota,no. BA referensi,ahli waris, no. KTP/SIM,alamat,kota,telepon,tempat lahir, tanggal lahir,jenis kelamin,status kawin/belum kawin,pendidikan,pekerjaan.

2

Proses register data

3

Proses baca data

detil data calon nasabah yang di-register

4

Proses simpan data

detil data calon nasabah

detil data calon nasabah yang di-register dan disimpan

(40)

22

C. Perancangan Antar Muka

Perancangan antar muka ini dimaksudkan sebagai rancangan awal

tampilan-tampilan yang akan digunakan dalam aplikasi J2ME, sehingga user yang akan

menggunakan aplikasi ini dapat berinteraksi dan berkomunikasi dengan telepon

seluler.

Tampilan awal

Input Data

SPLASH SCREEN

Keluar Menu

Gambar 3.5 Rancangan tampilan awal aplikasi

(41)

Setelah tampil user interface,

user dapat melihat tampilan menu aplikasi.

Berikut adalah gambaran tampilan menu aplikasi :

(TICKER)

Menu Menu

1.Data Baru 2.Tentang Program 3. Bantuan Program 4. Keluar

Input Data

Gambar 3.6 Rancangan tampilan menu

(42)

24

Berikut adalah tampilan ketika opsi Simpan dipilih.

No. BA xxxxxx

Nama Anggota xxxxxx

Golongan xxxxxx

Wilayah xxxxxx

Tanggal menjadi anggota xxxxxx

No. BA referensi xxxxxx

Ahli waris xxxxxx

No. KTP/SIM xxxxxx

Alamat xxxxxx

Kota xxxxxx

Telepon xxxxxx

Tempat lahir xxxxxx

Tanggal lahir xxxxxx

Jenis kelamin xxxxxx

Status xxxxxx

Pendidikan xxxxxx

Pekerjaan xxxxxx

Kembali Simpan Input Data

(43)

Berikut adalah tampilan ketika menu Tentang Program dipilih :

Program ini digunakan untuk mencatat detil data calon nasabah yang hendak mendaftar pada CU Khatuistiwa Bakti.

Program dibuat oleh Yoseph Rostandy P., Teknik Informatika, Fakultas Sains dan Teknologi, Kampus 3 Univ. Sanata Dharma, Yogyakarta.

Kembali Keluar Tentang Program

Gambar 3.8 Rancangan tampilan opsi Tentang

Berikut adalah tampilan ketika menu Bantuan Program dipilih :

Program ini bersifat mobile, dapat dijalankan pada semua mobile device yang mendukung Java dan MIDP 2.0

Untuk keterangan lebih lanjut, silakan menghubungi Administrator atau via email : cep_zone@plasa.com

Kembali Keluar Bantuan Program

(44)

BAB IV

IMPLEMENTASI SISTEM

Setelah melakukan analisa dan perancangan sistem, tahap berikutnya adalah

mengimplementasikan hasil dan rancangan yang sudah dibuat sebelumnya. Bab ini

membahas implementasi sistem berdasarkan analisa dan rancangan yang telah dibuat.

A. Kebutuhan Sistem

Untuk dapat menjalankan sistem, maka dibutuhkan beberapa sistem

penunjang, antara lain :

Software :

-

netBeans 5.5 Beta 2 dan add-on

Mobility Pack, digunakan untuk

membangun sistem.

-

J2ME

Wireless Toolkit 2.2 versi Beta, digunakan untuk uji coba sistem

dengan emulator.

-

PHPTriad 2.2, yang berisi paket web server Apache (1.3.23)

MySQL(3.23.48) dan PHP(4.1.1).

Hardware

:

-

Prosessor Intel Celeron 1,3 Ghz

-

RAM 192 MB

-

Harddisc 40 GB

Sistem Operasi :

Microsoft Windows XP Professional Service Pack

(45)

B. User Interface

Gambar 3.1 merupakan tampilan awal dari aplikasi ketika dijalankan pada

emulator.

Gambar 4.1 Tampilan awal aplikasi

Tampilan awal merupakan tampilan yang pertama kali dilihat oleh user pada

waktu pertama kali menjalankan aplikasi. Berikut adalah perintah untuk memproses

tampilan awal :

public programSkripsi() { initialize();

}

private void initialize() { // Insert pre-init code here

getDisplay().setCurrent(get_frmInput()); // Insert post-init code here

} /**

* This method should return an instance of the display. */

public Display getDisplay() {

return Display.getDisplay(this); } /**

* This method should exit the midlet. */

public void exitMIDlet() { getDisplay().setCurrent(null);

destroyApp(true);

(46)

28

Setelah opsi Launch dipilih, maka akan masuk ke dalam form

Input Data.

Gambar 3.2 merupakan tampilan Input Data aplikasi.

Gambar 4.2 Tampilan Input Data aplikasi

Berikut adalah perintah yang digunakan untuk menampilkan form Input Data.

public Form get_frmInput() {

if (frmInput == null) { // Insert pre-init code here

frmInput = new Form("Input Data", new Item[] { get_txtBA(), get_txtNama(),

get_txtGol(), get_txtWil(), get_txtTJA(), get_txtRef(), get_txtAw(), get_txtID(), get_txtAl(), get_txtKota(), get_txtTlp(), get_txtTmpLhr(), get_txtTglLhr(), get_txtGender(), get_txtStatus(), get_txtPend(), get_txtPkj()

});

frmInput.addCommand(get_cmdRegister()); frmInput.addCommand(get_cmdSimpan()); frmInput.addCommand(get_cmdKeluar()); frmInput.setCommandListener(this); // Insert post-init code here

(47)

Pada saat pertama kali menjalankan aplikasi, maka form akan menampilkan

form

Input Data yang kosong. Pada form ini, user dapat memasukkan data calon

nasabah. Setelah data-data tersebut selesai dimasukkan, user dapat memilih opsi

Menu. Pada opsi ini terdapat 2 sub opsi yaitu Register dan Simpan. Berikut adalah

tampilan ketika opsi Menu dipilih :

Gambar 4.3 Tampilan ketika opsi Menu dipilih

Berikut adalah perintah yang digunakan untuk memproses opsi Menu :

public void commandAction(Command command, Displayable displayable) { // Insert global pre-action code here

if (displayable == frmInput) { if (command == cmdRegister) {

getDisplay().setCurrent(get_frmResult()); } else if (command == cmdKeluar) {

exitMIDlet();

} else if (command == cmdSimpan) {

getDisplay().setCurrent(get_frmResult()); inputstream.read(incomingData);

str = new String(incomingData); }

} else if (displayable == frmResult) {

if (command == cmdBack) {

getDisplay().setCurrent(get_frmInput()); } else if (command == cmdExit) {

exitMIDlet(); }}}

(48)

30

Setelah

user

memilih sub opsi Register, maka aplikasi akan mengirim data

tersebut ke web server. Berikut adalah tampilan ketika aplikasi mengirim data ke web

server :

Gambar 4.4 Tampilan ketika opsi Register dipilih

Berikut adalah perintah yang digunakan untuk menampilkan sub menu

Register:

public Command get_cmdRegister() { if (cmdRegister == null) { // Insert pre-init code here

cmdRegister = new Command("Simpan", Command.OK, 1); // Insert post-init code here

(49)

Setelah data dikirim ke web server, maka data akan dikembalikan ke aplikasi

untuk dibaca/ditampilkan. Berikut adalah tampilan ketika data ditampilkan pada

aplikasi :

Gambar 4.5 Tampilan data yang telah di-Simpan

Berikut adalah tampilan ketika data gagal disimpan :

(50)

32

Berikut adalah tampilan ketika data sudah ada dan tidak bisa disimpan :

Gambar 4.7 Tampilan data sudah ada

Berikut adalah tampilan ketika opsi Tentang Program dipilih :

(51)

Perintah yang digunakan untuk menampilkan opsi Tentang program adalah :

public Command get_cmdAbout1() { if (cmdAbout1 == null) { // Insert pre-init code here

cmdAbout1 = new Command("Tentang Program", Command.OK, 1); // Insert post-init code here

} return cmdAbout1; }

Berikut adalah tampilan ketika opsi Bantuan Program dipilih :

Gambar 4.9 Tampilan opsi Bantuan Program

Perintah yang digunakan untuk menampilkan opsi Bantuan Program adalah :

public Command get_cmdHelp() { if (cmdHelp == null) { // Insert pre-init code here

cmdHelp = new Command("Bantuan Program", Command.OK, 1); // Insert post-init code here

(52)

BAB V

ANALISA HASIL

A. Pengujian Sistem

Setelah melewati tahap perancangan dan membangun aplikasi, maka

dilakukan proses pengujian aplikasi. Pengujian aplikasi akan dilakukan pada

emulator. Emulator yang digunakan adalah emulator

default yang sudah ada pada

J2ME Wireless Toolkit 2.2 versi Beta.

Gambar 5.1 Tampilan awal aplikasi

Pada saat pertama kali dijalankan, emulator akan menunjukkan

aplikasi-aplikasi mana yang siap untuk dijalankan. Setelah memilih menu Launch, aplikasi-aplikasi

akan langsung masuk pada form Input Data. Pada form ini, user dapat memasukan

data-data detil dari calon nasabah.

(53)

Berikut adalah tampilan ketika data seorang calon nasabah dimasukkan :

Gambar 5.2 Tampilan form Input Data

Setelah data dimasukkan, user

dapat memilih opsi Menu. Pada opsi ini

terdapat 4 sub menu yaitu Data Baru, Tentang Program, Bantuan Program dan Keluar.

Pada

sub menu Simpan, aplikasi akan mengirimkan data ke web server. Data yang

dikirimkan pada web server tersebut akan diproses oleh sebuah script

PHP. Berikut

adalah tampilan script tersebut :

<?php

$n = ereg_replace("~"," ",$n); $ah = ereg_replace("~"," ",$ah); $al = ereg_replace("~"," ",$al);

echo "No. BA : " .$ba. "\n"; echo "Nama Anggota: " .$n. "\n"; echo "Golongan : " .$g. "\n"; echo "Wilayah : " .$w. "\n";

echo "Tanggal menjadi anggota : " .$t. "\n"; echo "No. BA referensi : " .$rf. "\n";

(54)

36

Pengiriman data ke web

server ini bertujuan supaya data yang telah dicatat

dapat dikembalikan dan ditampilkan kembali pada aplikasi.

echo "Alamat : " .$al. "\n"; echo "Kota : " .$k. "\n"; echo "Telepon : " .$tl. "\n"; echo "Tempat lahir : " .$tel. "\n"; echo "Tanggal lahir : " .$tal. "\n"; echo "Jenis kelamin : " .$jk. \n"; echo "Status : " .$s. \n";

echo "Pendidikan : " .$pn. "\n"; echo "Pekerjaan : " .$pk. "\n"; ?>

Berikut adalah tampilan ketika data dikirim ke web

server dan dikembalikan

ke aplikasi :

(55)

Berikut adalah perintah yang digunakan untuk mengirim data ke web server :

Gambar 5.4 Tampilan pengiriman data dikembalikan

ke aplikasi

private String executePHP(String noBA, String nama, String golongan, String wilayah, String TJA, String ref, String waris, String ID, String alamat, String kota, String tlp, String tmpLhr, String tglLhr, String gender, String status, String pend, String pkj) throws IOException {

HttpConnection conn = null; int responsecode;

try {

String url =

"http://localhost/data.php?ba="+noBA+"&n="+trueName+"&g="+golongan+"&w="+w ilayah+"&t="+TJA+"&rf="+ref+"&ah="+trueWaris+"&id="+ID+"&al="+trueAlamat+"&k ="+kota+"&tl="+tlp+"&tel="+tmpLhr+"&tal="+tglLhr+"&jk="+gender+"&s="+status+"& pn="+pend+"&pk="+pkj;

conn = (HttpConnection)Connector.open(url); conn.setRequestMethod(HttpConnection.GET); responsecode = conn.getResponseCode(); if (responsecode != HttpConnection.HTTP_OK) {

throw new IOException("HTTP Error with code: " + responsecode); }

int size = 1000;

StringBuffer tmp = new StringBuffer(size);

InputStreamReader input = new

(56)

38

while ((input.read(buffer,0,buffer.length)) != -1) { tmp.append(buffer);

buffer = new char[1000]; }

input.close();

//5. Kembalikan hasilnya

String resultText = tmp.toString(); return resultText;

} catch(Exception e) {

throw new IllegalArgumentException(e.getMessage()); }

finally {

//6. Tutup koneksi HTTP if (conn != null) {

conn.close(); } } }

class sendRegister extends Thread { private CommandListener listener;

public void setListener (CommandListener cl) { listener = cl;

}

public void run() { try { String rsl =

executePHP(txtBA.getString(),txtNama.getString(),txtGol.getString(),txtWil.getStri ng(),txtTJA.getString(),txtRef.getString(),txtAw.getString(),txtID.getString(),txtAl.ge tString(),txtKota.getString(),txtTlp.getString(),txtTmpLhr.getString(),txtTglLhr.getSt ring(),txtGender.getString(),txtStatus.getString(),txtPend.getString(),txtPkj.getStrin g()); frmResult.deleteAll(); frmResult.append(rsl); } catch(Exception e) {

frmResult.deleteAll();

frmResult.append("Fail to get target file!"); }

} }

B. Kelebihan dan Kekurangan Sistem

Setelah melalui tahap pengujian sistem, terdapat beberapa kelebihan dan

kekurangan yaitu :

a. Kelebihan :

- sistem dapat digunakan oleh siapa saja

(57)

2.0 dan mendukung Java.

- sistem dapat menyimpan pada database.

b. Kekurangan :

(58)

BAB VI

KESIMPULAN

A. Kesimpulan

1. Aplikasi Pencatatan Data untuk calon nasabah bagi CU (Credit Union)

Khatulistiwa Bakti ini menggunakan teknologi J2ME dan HTTP sebagai

media untuk mempermudah kerja karyawan selama melakukan survey.

2. Aplikasi ini dapat berjalan pada semua device yang mendukung MIDP

2.0 dan mendukung Java.

3. Aplikasi ini sudah dapat diimplementasikan pada device yang

sebenarnya, tetapi belum dapat menyimpan data ke web server karena

penulis belum menemukan web hosting yang support dengan database

MySQL yang digunakan penulis.

(59)

DAFTAR PUSTAKA

Michael Siregar, Ivan, Membangun Aplikasi Chat Lewat GPRS dengan J2ME

Menggunakan netBeans IDE 5.0, Gava Media, Yogyakarta, 2007

Shalahuddin, M., Rosa A.S., Pemrograman J2ME, Informatika, Bandung,

2006

Nugroho, Bunafit, Dasar Pengembangan Program WAP dengan WML dan

PHP, Gava Media, Yogyakarta, 2005

Internet :

-

http://www.netBeans.org

-

http://www.mysql.com

(60)

LAM PI RAN

(61)

Nama file : programskripsi.java Source :

/*

* programSkripsi.java *

* Created on August 15, 2007, 3:46 PM */ package programSkripsi; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.*; import java.io.*; /** *

* @author blueSideGemini */

public class programSkripsi extends MIDlet implements CommandListener {

/** Creates a new instance of programSkripsi */ public programSkripsi() {

initialize(); }

private Form frmInput;//GEN-BEGIN:MVDFields private Form frmResult;

private TextField txtBA; private TextField txtNama; private TextField txtGol; private TextField txtWil; private TextField txtTJA; private TextField txtRef; private TextField txtAw; private TextField txtID; private TextField txtAl; private TextField txtKota; private TextField txtTlp; private TextField txtTmpLhr; private TextField txtTglLhr; private TextField txtGender; private TextField txtStatus; private TextField txtPend; private TextField txtPkj; private Command cmdExit; private Command cmdBack; private Command cmdSimpan; private Command cmdBack3; private Command cmdSimpan2; private Command cmdBaru; private Form frmNavigation; private Ticker ticker1;

private Command cmdBaru1;

(62)

private Command cmdSkip; private Image splash;

private org.netBeans.microedition.lcdui.SplashScreen splash1; private Form frmAbout;

private StringItem stringItem1; private Form frmHelp;

private StringItem stringItem2; private Command cmdBack1; private Command cmdBack2; private Command cmdAbout1; private Command cmdHelp; private Command cmdKeluar; private Command cmdExit1; private ImageItem imageItem1; private Image image1;

private TextField txtIbu;//GEN-END:MVDFields public String trueName ="";

public String trueAlamat=""; public String trueWaris=""; private Display display; //GEN-LINE:MVDMethods

/** Called by the system to indicate that a command has been invoked on a particular displayable.//GEN-BEGIN:MVDCABegin

* @param command the Command that ws invoked

* @param displayable the Displayable on which the command was invoked */

public void commandAction(Command command, Displayable displayable) {//GEN-END:MVDCABegin

// Insert global pre-action code here char inputNama[] = new char[50]; char inputWaris[] = new char[50]; char inputAlamat[] = new char[120];

if (displayable == frmInput) {//GEN-BEGIN:MVDCABody if (command == cmdBack3) {//GEN-END:MVDCABody // Insert pre-action code here

getDisplay().setCurrent(get_frmNavigation());//GEN-LINE:MVDCAAction34 // Insert post-action code here

} else if (command == cmdSimpan) {//GEN-LINE:MVDCACase34 // Insert pre-action code here

getDisplay().setCurrent(get_frmResult());//GEN-LINE:MVDCAAction30 // Insert post-action code here

txtNama.getChars(inputNama);

for (int i=0;i<=txtNama.getString().length();i++) { if (inputNama[i]==' ') {

inputNama[i] = '~'; }

trueName += inputNama[i]; }

trueName = trueName.substring(0,trueName.length()-1);

txtAw.getChars(inputWaris);

for (int i=0;i<=txtAw.getString().length();i++) { if (inputWaris[i]==' ') {

inputWaris[i] = '~';

(63)

}

trueWaris += inputWaris[i]; }

trueWaris = trueWaris.substring(0,trueWaris.length()-1);

txtAl.getChars(inputAlamat);

for (int i=0;i<=txtAl.getString().length();i++) { if (inputAlamat[i]==' ') {

inputAlamat[i] = '~'; }

trueAlamat += inputAlamat[i]; }

trueAlamat = trueAlamat.substring(0,trueAlamat.length()-1);

SimpanData sd = new SimpanData(); sd.setListener(this);

sd.start();

}//GEN-BEGIN:MVDCACase30 } else if (displayable == frmResult) {

if (command == cmdBaru) {//GEN-END:MVDCACase30 // Insert pre-action code here

getDisplay().setCurrent(get_frmNavigation());//GEN-LINE:MVDCAAction40 // Insert post-action code here

}//GEN-BEGIN:MVDCACase40 } else if (displayable == frmNavigation) {

if (command == cmdBaru1) {//GEN-END:MVDCACase40 // Insert pre-action code here

getDisplay().setCurrent(get_frmInput());//GEN-LINE:MVDCAAction50 // Insert post-action code here

} else if (command == cmdAbout1) {//GEN-LINE:MVDCACase50 // Insert pre-action code here

getDisplay().setCurrent(get_frmAbout());//GEN-LINE:MVDCAAction71 // Insert post-action code here

} else if (command == cmdHelp) {//GEN-LINE:MVDCACase71 // Insert pre-action code here

getDisplay().setCurrent(get_frmHelp());//GEN-LINE:MVDCAAction73 // Insert post-action code here

} else if (command == cmdKeluar) {//GEN-LINE:MVDCACase73 // Insert pre-action code here

exitMIDlet();//GEN-LINE:MVDCAAction75 // Insert post-action code here

}//GEN-BEGIN:MVDCACase75 } else if (displayable == splash1) {

if (command == splash1.DISMISS_COMMAND) {//GEN-END:MVDCACase75 // Insert pre-action code here

getDisplay().setCurrent(get_frmNavigation());//GEN-LINE:MVDCAAction60 // Insert post-action code here

}//GEN-BEGIN:MVDCACase60 } else if (displayable == frmHelp) {

if (command == cmdBack2) {//GEN-END:MVDCACase60 // Insert pre-action code here

getDisplay().setCurrent(get_frmNavigation());//GEN-LINE:MVDCAAction69 // Insert post-action code here

}//GEN-BEGIN:MVDCACase69

(64)

} else if (displayable == frmAbout) {

if (command == cmdBack1) {//GEN-END:MVDCACase69 // Insert pre-action code here

getDisplay().setCurrent(get_frmNavigation());//GEN-LINE:MVDCAAction67 // Insert post-action code here

}//GEN-BEGIN:MVDCACase67 }//GEN-END:MVDCACase67 // Insert global post-action code here }//GEN-LINE:MVDCAEnd

/** This method initializes UI of the application.//GEN-BEGIN:MVDInitBegin */

private void initialize() {//GEN-END:MVDInitBegin // Insert pre-init code here

getDisplay().setCurrent(get_splash1());//GEN-LINE:MVDInitInit // Insert post-init code here

}//GEN-LINE:MVDInitEnd

/**

* This method should return an instance of the display. */

public Display getDisplay() {//GEN-FIRST:MVDGetDisplay return Display.getDisplay(this);

}//GEN-LAST:MVDGetDisplay

/**

* This method should exit the midlet. */

public void exitMIDlet() {//GEN-FIRST:MVDExitMidlet getDisplay().setCurrent(null);

destroyApp(true); notifyDestroyed();

}//GEN-LAST:MVDExitMidlet

/** This method returns instance for frmInput component and should be called instead of accessing frmInput field directly.//GEN-BEGIN:MVDGetBegin2

* @return Instance for frmInput component */

public Form get_frmInput() {

if (frmInput == null) {//GEN-END:MVDGetBegin2 // Insert pre-init code here

(65)

get_txtGender(), get_txtStatus(), get_txtPend(), get_txtPkj(), get_txtIbu() }); frmInput.addCommand(get_cmdSimpan()); frmInput.addCommand(get_cmdBack3()); frmInput.setCommandListener(this);//GEN-END:MVDGetInit2 // Insert post-init code here

}//GEN-BEGIN:MVDGetEnd2 return frmInput;

}//GEN-END:MVDGetEnd2

/** This method returns instance for frmResult component and should be called instead of accessing frmResult field directly.//GEN-BEGIN:MVDGetBegin3

* @return Instance for frmResult component */

public Form get_frmResult() {

if (frmResult == null) {//GEN-END:MVDGetBegin3 // Insert pre-init code here

frmResult = new Form("Data Calon Nasabah", new Item[0]);//GEN-BEGIN:MVDGetInit3

frmResult.addCommand(get_cmdBaru());

frmResult.setCommandListener(this);//GEN-END:MVDGetInit3 // Insert post-init code here

}//GEN-BEGIN:MVDGetEnd3 return frmResult;

}//GEN-END:MVDGetEnd3

/** This method returns instance for txtBA component and should be called instead of accessing txtBA field directly.//GEN-BEGIN:MVDGetBegin4

* @return Instance for txtBA component */

public TextField get_txtBA() {

if (txtBA == null) {//GEN-END:MVDGetBegin4 // Insert pre-init code here

txtBA = new TextField("No. BA", null, 120, TextField.NUMERIC);//GEN-LINE:MVDGetInit4

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd4 return txtBA;

}//GEN-END:MVDGetEnd4

/** This method returns instance for txtNama component and should be called instead of accessing txtNama field directly.//GEN-BEGIN:MVDGetBegin5

* @return Instance for txtNama component */

public TextField get_txtNama() {

if (txtNama == null) {//GEN-END:MVDGetBegin5 // Insert pre-init code here

txtNama = new TextField("Nama Anggota", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit5

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd5

(66)

return txtNama;

}//GEN-END:MVDGetEnd5

/** This method returns instance for txtGol component and should be called instead of accessing txtGol field directly.//GEN-BEGIN:MVDGetBegin6

* @return Instance for txtGol component */

public TextField get_txtGol() {

if (txtGol == null) {//GEN-END:MVDGetBegin6 // Insert pre-init code here

txtGol = new TextField("Golongan", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit6

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd6 return txtGol;

}//GEN-END:MVDGetEnd6

/** This method returns instance for txtWil component and should be called instead of accessing txtWil field directly.//GEN-BEGIN:MVDGetBegin7

* @return Instance for txtWil component */

public TextField get_txtWil() {

if (txtWil == null) {//GEN-END:MVDGetBegin7 // Insert pre-init code here

txtWil = new TextField("Wilayah", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit7

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd7 return txtWil;

}//GEN-END:MVDGetEnd7

/** This method returns instance for txtTJA component and should be called instead of accessing txtTJA field directly.//GEN-BEGIN:MVDGetBegin8

* @return Instance for txtTJA component */

public TextField get_txtTJA() {

if (txtTJA == null) {//GEN-END:MVDGetBegin8 // Insert pre-init code here

txtTJA = new TextField("Tanggal jadi Anggota (DDMMYYY)", null, 120, TextField.NUMERIC);//GEN-LINE:MVDGetInit8

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd8 return txtTJA;

}//GEN-END:MVDGetEnd8

/** This method returns instance for txtRef component and should be called instead of accessing txtRef field directly.//GEN-BEGIN:MVDGetBegin9

* @return Instance for txtRef component */

public TextField get_txtRef() {

if (txtRef == null) {//GEN-END:MVDGetBegin9 // Insert pre-init code here

txtRef = new TextField("No. BA referensi", null, 120,

TextField.NUMERIC);//GEN-LINE:MVDGetInit9 // Insert post-init code here

(67)

}//GEN-BEGIN:MVDGetEnd9 return txtRef;

}//GEN-END:MVDGetEnd9

/** This method returns instance for txtAw component and should be called instead of accessing txtAw field directly.//GEN-BEGIN:MVDGetBegin10

* @return Instance for txtAw component */

public TextField get_txtAw() {

if (txtAw == null) {//GEN-END:MVDGetBegin10 // Insert pre-init code here

txtAw = new TextField("Ahli Waris", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit10

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd10 return txtAw;

}//GEN-END:MVDGetEnd10

/** This method returns instance for txtID component and should be called instead of accessing txtID field directly.//GEN-BEGIN:MVDGetBegin11

* @return Instance for txtID component */

public TextField get_txtID() {

if (txtID == null) {//GEN-END:MVDGetBegin11 // Insert pre-init code here

txtID = new TextField("No. KTP/SIM", null, 120, TextField.NUMERIC);//GEN-LINE:MVDGetInit11

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd11 return txtID;

}//GEN-END:MVDGetEnd11

/** This method returns instance for txtAl component and should be called instead of accessing txtAl field directly.//GEN-BEGIN:MVDGetBegin12

* @return Instance for txtAl component */

public TextField get_txtAl() {

if (txtAl == null) {//GEN-END:MVDGetBegin12 // Insert pre-init code here

txtAl = new TextField("Alamat", null, 120,

TextField.ANY);//GEN-LINE:MVDGetInit12

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd12 return txtAl;

}//GEN-END:MVDGetEnd12

/** This method returns instance for txtKota component and should be called instead of accessing txtKota field directly.//GEN-BEGIN:MVDGetBegin13

* @return Instance for txtKota component */

public TextField get_txtKota() {

if (txtKota == null) {//GEN-END:MVDGetBegin13 // Insert pre-init code here

txtKota = new TextField("Kota", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit13

(68)

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd13 return txtKota;

}//GEN-END:MVDGetEnd13

/** This method returns instance for txtTlp component and should be called instead of accessing txtTlp field directly.//GEN-BEGIN:MVDGetBegin14

* @return Instance for txtTlp component */

public TextField get_txtTlp() {

if (txtTlp == null) {//GEN-END:MVDGetBegin14 // Insert pre-init code here

txtTlp = new TextField("Telepon", null, 120, TextField.NUMERIC);//GEN-LINE:MVDGetInit14

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd14 return txtTlp;

}//GEN-END:MVDGetEnd14

/** This method returns instance for txtTmpLhr component and should be called instead of accessing txtTmpLhr field directly.//GEN-BEGIN:MVDGetBegin15

* @return Instance for txtTmpLhr component */

public TextField get_txtTmpLhr() {

if (txtTmpLhr == null) {//GEN-END:MVDGetBegin15 // Insert pre-init code here

txtTmpLhr = new TextField("Tempat Lahir", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit15

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd15 return txtTmpLhr;

}//GEN-END:MVDGetEnd15

/** This method returns instance for txtTglLhr component and should be called instead of accessing txtTglLhr field directly.//GEN-BEGIN:MVDGetBegin16

* @return Instance for txtTglLhr component */

public TextField get_txtTglLhr() {

if (txtTglLhr == null) {//GEN-END:MVDGetBegin16 // Insert pre-init code here

txtTglLhr = new TextField("Tanggal Lahir (DDMMYYYY)", null, 120, TextField.NUMERIC);//GEN-LINE:MVDGetInit16

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd16 return txtTglLhr;

}//GEN-END:MVDGetEnd16

/** This method returns instance for txtGender component and should be called instead of accessing txtGender field directly.//GEN-BEGIN:MVDGetBegin17

* @return Instance for txtGender component */

public TextField get_txtGender() {

if (txtGender == null) {//GEN-END:MVDGetBegin17 // Insert pre-init code here

(69)

txtGender = new TextField("Jenis Kelamin (L/P)", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit17

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd17 return txtGender;

}//GEN-END:MVDGetEnd17

/** This method returns instance for txtStatus component and should be called instead of accessing txtStatus field directly.//GEN-BEGIN:MVDGetBegin18

* @return Instance for txtStatus component */

public TextField get_txtStatus() {

if (txtStatus == null) {//GEN-END:MVDGetBegin18 // Insert pre-init code here

txtStatus = new TextField("Status Kawin/Belum Kawin", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit18

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd18 return txtStatus;

}//GEN-END:MVDGetEnd18

/** This method returns instance for txtPend component and should be called instead of accessing txtPend field directly.//GEN-BEGIN:MVDGetBegin19

* @return Instance for txtPend component */

public TextField get_txtPend() {

if (txtPend == null) {//GEN-END:MVDGetBegin19 // Insert pre-init code here

txtPend = new TextField("Pendidikan", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit19

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd19 return txtPend;

}//GEN-END:MVDGetEnd19

/** This method returns instance for txtPkj component and should be called instead of accessing txtPkj field directly.//GEN-BEGIN:MVDGetBegin20

* @return Instance for txtPkj component */

public TextField get_txtPkj() {

if (txtPkj == null) {//GEN-END:MVDGetBegin20 // Insert pre-init code here

txtPkj = new TextField("Pekerjaan", null, 120, TextField.ANY);//GEN-LINE:MVDGetInit20

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd20 return txtPkj;

}//GEN-END:MVDGetEnd20

/** This method returns instance for cmdExit component and should be called instead of accessing cmdExit field directly.//GEN-BEGIN:MVDGetBegin24

* @return Instance for cmdExit component */

public Command get_cmdExit() {

if (cmdExit == null) {//GEN-END:MVDGetBegin24 // Insert pre-init code here

(70)

cmdExit = new Command("Keluar", Command.EXIT, 1);//GEN-LINE:MVDGetInit24

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd24 return cmdExit;

}//GEN-END:MVDGetEnd24

/** This method returns instance for cmdBack component and should be called instead of accessing cmdBack field directly.//GEN-BEGIN:MVDGetBegin26

* @return Instance for cmdBack component */

public Command get_cmdBack() {

if (cmdBack == null) {//GEN-END:MVDGetBegin26 // Insert pre-init code here

cmdBack = new Command("Data Baru", Command.BACK, 1);//GEN-LINE:MVDGetInit26

// Insert post-init code here }//GEN-BEGIN:MVDGetEnd26 return cmdBack;

}//GEN-END:MVDGetEnd26

/** This method returns instance for cmdSimpan component and should be called instead of accessing cmdSimpan field directly.//GEN-BEGIN:MVDGetBegin29

* @return Instance for cmdSimpan component */

Gambar

Gambar 2.1 Lingkungan Kerja J2ME
Tabel 2-1. Perbedaan antara CLDC dengan CDC
Gambar 2-2. Daur hidup dari sebuah MIDlet
Gambar 2-3. Gambar class diagram
+7

Referensi

Dokumen terkait

Pendaftaran dan pengambilan D okumen Pengadaan

Pada Penulisan ilmiah ini, penulis mencoba membuat suatu aplikasi yang menerangkan jalannya proses dengan menampilkan grafik dari setiap proses pencarian akarnya menggunakan

Hasil penelitian pada modifikasi tata rias wajah yaitu mendapatkan nilai rata-rata 4,05 dengan predikat baik, penataan kerudung mendapatkan nilai rata-rata 4,01

Hasil analisis dengan menggunakan independent sample t-test menunjukkan bahwa Rasio CAMEL CAR memiliki F hitung &gt; F tabel, sehingga dapat disimpulkan bahwa menolak

Dalam Program Pengelolaan Sampah Berbasis Komunitas di Kelurahan Sambiroto ini, berupa masalah teknis pengangkutan sampah dari rumah-rumah yang berada di dalam

Dalam penelitian ini penulis akan mencoba memaparkan beberapa aspek terkait peran FKUB kota Banjarmasin meliputi dasar berdirinya forum kerukunan umat beragama, maksud dan

Kerugian transaksi derivatif dari kontrak-kontrak ini diakui sebagai kerugian pada laporan laba rugi konsolidasi yang terdiri dari nilai wajar kontrak dan pembayaran periodik

Dapat dilihat pada gambar diatas ini menunjukkan grafik hubungan hasil perhitungan medan magnet terhadap tegangan yang diukur oleh receiver pada koil atas-bawah pada rentang