• Tidak ada hasil yang ditemukan

TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika"

Copied!
117
0
0

Teks penuh

(1)

i

TUGAS AKHIR

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Oleh : Jimmy Gozali

045314068

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

ii A THESIS

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Teknik Degree

In Informatics Engineering

By: Jimmy Gozali

045314068

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SAINS AND TECHNOLOGY SANATA DHARMA UNIVERSITY

(3)
(4)
(5)
(6)

vi

Berubahlah untuk maju, karena perubahan

yang baik mendekatkan kita pada

kesuksesan.

Jangan bergantung pada orang lain,

karena nasib kita ada di tangan kita

sendiri bukan di tangan orang lain.

Pasrahkan hidup kepada Tuhan, karena

Tuhan pasti akan memberikan yang

(7)

vii

Internet dan handphone merupakan sesuatu yang umum digunakan pada

zaman sekarang. Dengan adanya internet, user dapat melakukan apa saja yang diinginkan khususnya mengumpulkan gambar menjadi satu kesatuan foto album

online. Begitu juga dengan handphone yang memiliki fitur kamera, user dapat

melakukan pengambilan gambar kapanpun dan dimanapun. Kendala yang dihadapi user adalah apabila memori handphone mulai penuh dan user kesulitan memindahkan gambar ke dalam sebuah komputer. Untuk itu dibutuhkan suatu aplikasi yang dapat mengirimkan gambar dari handphone ke dalam komputer dengan media internet yaitu “Aplikasi Client Foto Album Online”.

“Aplikasi Client Foto Album Online” bertujuan untuk memudahkan para pengguna foto album online mengupload foto menggunakan handphone ke dalam

web “Sistem Foto Album Online”. Aplikasi ini dibuat dengan menggunakan pemrograman Pemrograman J2ME dan PHP & MySQL. Untuk melakukan upload

atau pengiriman foto, user harus register terlebih dahulu dalam web “Sistem Foto Album Online” dengan mendaftarkan sebagai user anggota web tersebut. Selanjutnya proses upload dilakukan melalui media handphone tertentu yang support Java dan bisa akses GPRS (WAP).

Hasil akhir yang diperoleh adalah suatu sistem “Aplikasi Client Foto Album Online” yang dapat berjalan baik menggunakan handphone Sony Ericsson

(8)

viii

internet, user can do anything they want to, including to take pictures and submit them to make an online collection. Like wise handphone with camera, user can take pictures anywhere and anytime. The problem is when the memory almost get full and user can’t transfering pictures to a computer. Thats why we need an application which can transfering pictures from handphone to computer with using internet, also called “Aplikasi Client Foto Album Online”.

“Aplikasi Client Foto Album Online” supposed to give an easy way for online photo album users to uploading pictures from their handphone into “Sistem Foto Album Online” site. This application is made using J2ME and PHP & MySQL programming language. For uploading or submit pictures, user have to be registered at “Sistem Foto Album Online” site as a member. Next step, they can do uploading process on their hanphone with supported by Java and GPRS (WAP) connection.

(9)
(10)

ix

Puji syukur kepada Tuhan Yang Maha Esa atas berkat, rahmat, karunia dan

bimbingan-Nya sehingga penulis dapat menyelesaikan skripsi dengan judul

”Aplikasi Client Foto Album Online”.

Penyusunan skripsi ini tidak terlepas dari bantuan, bimbingan serta dukungan

dari berbagai pihak yang sangat bermanfaat bagi penulis. Maka pada kesempatan ini

penulis mengucapkan banyak terima kasih kepada:

1.

Ir. Greg. Heliarko S.J., S.S., B.S.T., M.A., M.Sc., selaku dekan Fakultas

Teknik Universitas Sanata Dharma.

2.

Agnes Maria Polina, S.Kom., M.Sc., selaku dosen Pembimbing Akademik

dan dosen pembimbing skripsi yang telah membimbing dan memberikan

pengarahan selama penyusunan skripsi.

3.

Para dosen Universitas Sanata Dharma, khususnya dosen jurusan Teknik

Informatika yang telah memberikan bekal pengetahuan kepada penulis.

4.

Pak Bele dan Mas Danang yang telah membantu selama menggunakan

fasilitas lab.

5.

Mas Lilik dan mas Pristo yang telah memberikan inspirasi kepada saya pada

saat menyelesaikan skripsi ini.

6.

Fransindhu Njoo, Dicky, Willy, Aceng, Eka, Maman, Andy, Feri, Adi, Budi,

Tono, Junaidi, Handi, kris terima kasih atas dukungan dan bantuan yang telah

(11)

x

terima kasih atas persahabatannya yang masih terjalin selama ini.

Penulis berharap semoga skripsi ini dapat berguna bagi semua pihak pada

umumnya dan bermanfaat bagi mahasiswa/i Teknik Informatika pada khususnya.

Akhir kata penulis menyadari bahwa skripsi ini jauh dari sempurna, untuk itu penulis

mengharapkan kritik dan saran yang membangun. Terima kasih dan God bless you.

Yogyakarta, Januari 2009

(12)

xi

Halaman Judul Bahasa Inggris ... ii

Halaman Persetujuan... iii

Halaman Pengesahan ...iv

Halaman Persembahan ...v

Halaman Motto...vi

Abstraksi ... vii

Abstract ... viii

Kata Pengantar ... ix

Daftar Isi... ...xi

Daftar Gambar...xvi

Pernyataan Keaslian Karya ... xix

Bab I PENDAHULUAN...1

1.1 Latar Belakang Masalah...1

1.2 Rumusan Masalah ...3

1.3 Batasan Masalah...3

1.4 Tujuan Penelitian ...4

1.5 Metodologi Penelitian ...4

1.6 Sistematika Penulisan ...7

BAB II LANDASAN TEORI... ...9

(13)
(14)

xiii

2.2.4 Paket ...29

2.2.5 Hak Akses ...30

2.2.6 Pewarisan(Inheritance) ...31

2.2.7 Poliforfisme(Polymorphism) ...31

2.2.8 Kelas Abstrak ...33

2.2.9 Kelas Objek dan Kelas Class ...33

2.2.10 Interface ...33

2.3 Rekayasa Perangkat Lunak Berorientasi Objek ...34

2.3.1 Use Case Diagram ...34

2.3.2 Activity Diagram ...37

2.3.3 Sequence Diagram ...37

2.3.4 Class Diagram ...38

BAB III ANALISIS DAN DESAIN SISTEM...39

3.1 Analisa Sistem ...39

3.1.1 Gambaran Sistem ...39

3.1.2 Konsep Kerja Sistem ...40

3.1.3 Use Case Diagram...41

3.1.4 Activity Diagram...42

3.1.5 Sequence Diagram ...49

(15)

xiv

3.2.2 Perancangan User Interface ... ...55

BAB IV IMPLEMENTASI SISTEM ...63

(16)

xv

(17)

xvi

Gambar 2.1 Contoh Use Case Diagram ...34

Gambar 2.2 Contoh hubungan Association (gabungan) ...36

Gambar 2.3 Contoh hubungan extend ...36

Gambar 2.4 Contoh hubungan depends on ...36

Gambar 2.5 Entity Object ...37

Gambar 2.6 Interface Object ...38

Gambar 2.7 Control Object ...38

Gambar 3.1 Konsep Kerja Sistem ...40

Gambar 3.2 Use Case Diagram Aplikasi Client Foto Album Online ...41

Gambar 3.3 Activity Diagram Browse Image untuk Proses Upload ...43

Gambar 3.4 Activity Diagram Take Photo untuk Proses Upload ...45

Gambar 3.5 Activity Diagram View ...47

Gambar 3.6 Activity Diagram Login ...48

Gambar 3.7 Sequence Diagram Browse Image untuk Proses Upload ...50

Gambar 3.8 Sequence Diagram Take Photo untuk Proses Upload ...51

Gambar 3.9 Sequence Diagram View...52

Gambar3.10 Sequence Diagram Login ...53

Gambar 3.11 Class Diagram ...54

Gambar 3.12 Desain Tampilan Awal...55

Gambar 3.13 Desain Tampilan Pilihan ...55

(18)

xvii

Gambar 3.18 Desain Pesan Interaksi ...58

Gambar 3.19 Desain Pengambilan Gambar ...59

Gambar 3.20 Desain Tampilan Gambar ...60

Gambar 3.21 Desain Form Login ...60

Gambar 3.22 Desain Pesan Interaksi ...60

Gambar 3.23 Desain Login untuk View ...61

Gambar 3.24 Desain Tampilan Utama untuk View ...62

Gambar 4.1 Tampilan Awal Aplikasi ...65

Gambar 4.2 Halaman Tampilan Utama ...66

Gambar 4.3 Halaman Help untuk Tampilan Utama ...67

Gambar 4.4 Halaman Menu Upload ...68

Gambar 4.5 Halaman Help untuk Menu Upload ...69

Gambar 4.6 Halaman Menu Browse Image...70

Gambar 4.7 Halaman Help untuk Menu Browse Image ...71

Gambar 4.8 Tampilan Foto yang sesuai dengan Ketentuan Aplikasi ...72

Gambar 4.9 Peringatan apabila File yang Dipilih bukan Image ...72

Gambar 4.10 Peringatan apabila Ukuran Foto Telalu Besar untuk Ditampilkan ..72

Gambar 4.11 Halaman Menu Take Picture ...75

Gambar 4.12 Halaman Help Menu Take Picture ...78

(19)

xviii

Gambar 4.15 Tampilan Pesan Apabila Proses Upload Berhasil ...81

Gambar 4.16 Tampilan Pesan Apabila File yang Diupload sudah ada...81

Gambar 4.17 Tampilan Login untuk View ...87

Gambar 4.18 Tampilan Aplikasi Foto Album Online ...90

(20)
(21)

1

PENDAHULUAN

1.1. Latar Belakang Masalah

Saat ini kemajuan di bidang internet bukan menjadi hal yang biasa lagi di kalangan umum. Internet sekarang seakan-akan telah menjadi teman hidup yang tidak bisa terlepaskan dari kehidupan sehari-hari. Para pengguna internet dapat melakukan apa saja dengan media internet

tersebut karena media ini hampir dapat menyediakan apa saja yang diinginkan maupun yang dibutuhkan oleh pengguna tersebut. Sebagai contoh dalam pengaksesan file image atau gambar yang ada di internet. Para user dapat mencari file gambar apa saja yang mereka inginkan baik itu gambar artis, animasi, 3D, dan lain sebagainya. Apalagi didukung juga banyaknya forum-forum maupun website sekarang yang menyediakan file

-file gambar apa saja yang diinginkan.

Para user dapat dengan mudah mengumpulkan gambar-gambar yang diinginkan. Masalahnya adalah para user tidak mudah menyimpannya atau mengumpulkannya sebagai satu kesatuan foto album di internet itu sendiri.

Dilain pihak, kemajuan teknologi khususnya dalam bidang mobile

phone berkembang cepat sekali. Sebuah produk handphone yang

(22)

diketahui bahwa sekarang ini hampir semua handphone yang dikeluarkan memiliki kamera, karena fitur ini sangat menarik bagi para pengguna

handphone sehingga laku keras di pasaran.

Kadang-kadang pengguna handphone berkamera tidak semuanya bisa secara leluasa menggunakan kamera handphonenya. Hal ini diakibatkan oleh memori dari handphone yang terbatas serta keterbatasan dari pengguna handphone yang tidak semuanya memiliki komputer pribadi sendiri. Apabila pada saat memori handphone mulai penuh tetapi pengguna handphone masih ingin melakukan pengambilan foto dan tidak mau melakukan hapus foto sebelum memindahkan terlebih dahulu file foto yang ada dalam handphone ke media penyimpanan lainnya seperti komputer, maka hal ini akan menjadi kendala bagi pengguna handphone

berkamera meskipun tidak semuanya mengalami kendala tersebut.

Dalam tugas akhir ini, aplikasi yang dibuat penulis telah didukung oleh web yang telah dibuat oleh penulis lain dan web inilah yang nantinya menerima dan menyimpan foto yang telah diupload oleh aplikasi handphone.

Dari latar belakang itulah maka penulis tertarik untuk melanjutkan mengembangkan aplikasi client foto album online dengan handphone menggunakan pemrograman Java 2 Micro Edition (J2ME),PHP dan

(23)

Dengan adanya aplikasi ini, user dapat dengan mudah mengirimkan atau mengupload foto melalui melalui handphone ke web yang sudah dibuat.

1.2. Rumusan Masalah

Beberapa rumusan masalah yang muncul dalam pembuatan aplikasi ini adalah sebagai berikut :

1. Bagaimana mengembangkan aplikasi client untuk mengupload foto ke “Sistem Foto Album Online” dengan menggunakan pemrograman

J2ME?

2. Seberapa jauh aplikasi ini dapat dijalankan di berbagai handphone

(Nokia N-70, Sony Ericsson Z550i, Sony Ericsson K810i)?

1.3. Batasan Masalah

Beberapa batasan masalah dalam pembuatan aplikasi ini adalah sebagai berikut :

1. Sistem yang dikembangkan adalah aplikasi client untuk upload foto yang dijalankan atau running menggunakan mobile phone.

2. Tidak mengembangkan web server “Sistem Foto Album Online”. 3. Karakteristik “Aplikasi Client Foto Album Online” yaitu:

a. File gambar yang dapat diupload bertipe JPG.

(24)

c. File foto yang diupload mempunyai default kategori pribadi atau private.

d. Aplikasi yang dibuat ini menggunakan pemrograman Java 2

Micro Edition (J2ME), serta pemrograman PHP dan MySQL.

e. Pada penelitian ini tidak dibahas mengenai biaya pembayaran maupun biaya hosting.

4. Aplikasi ini diuji coba pada handphone Nokia N-70, Sony Ericsson

Z550i, dan Sony Ericsson K810i.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah :

Membuat suatu aplikasi yang dapat mendukung dan membantu para pengguna handphone berkamera untuk mengupload foto secara online.

1.5. Metodologi Penelitian

Dalam penyusunan tugas akhir ini ada beberapa langkah yang digunakan diantaranya

1. Studi Literatur

(25)

2. Melakukan pengembangan Perangkat Lunak dengan metode Rekasaya Perangkat Lunak berorientasi objek yaitu :

a) Aktivitas Analisis Objek

i. Menganalisa kebutuhan sistem dengan menggunakan use

case diagram.

ii. Memodelkan alur kerja sebuah proses dan urutan aktivitas dalam sebuah proses ke dalam bentuk activity diagram dan tetap mengacu kepada use casediagram.

iii. Menjelaskan interaksi objek yang disusun dalam suatu urutan waktu dengan menggunakan sequence diagram. iv. Memasukkan objek-objek yang ada ke dalam suatu class

diagram.

b) Perancangan Berorientasi Objek

Merupakan langkah multiproses yang memusatkan kerja pada perancangan sistem secara umum seperti perancangan user interface.

c) Pemrograman Berorientasi Objek

(26)

d) Pengujian Berorientasi Objek

Pengujian berorientasi objek dimaksudkan untuk menguji apakah hasil yang telah dibuat sudah sesuai dengan rancangan yang diinginkan dan mencari segala kesalahan yang mungkin terjadi. Proses pengujian yang dilakukan yaitu:

i. Memindahkan file .jar atau .jad ke dari komputer ke

handphone yang supportjava dan bisa koneksi GPRS.

ii. Melakukan penginstalan file .jar atau .jad di

handphone.

iii. Menjalankan “Aplikasi Client Foto Album Online” dan mencoba mengupload sebuah foto ke web “Sistem Foto Album Online”.

iv. Ulangi langkah 1-3 coba dengan menggunakan

handphone Nokia N-70, Sony Ericsson Z550i, dan

Sony Ericsson K810i.

(27)

1.6. Sistematika Penulisan

Sistematika penulisan dalam karya ini adalah :

BAB I PENDAHULUAN

Berisikan latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metodologi penelitian, dan sistematika penelitian dari karya ini.

BAB II LANDASAN TEORI

Berisikan teori-teori yang dipakai dalam penyusunan Tugas Akhir ini, meliputi Java 2 Micro Edition (J2ME), Pemrograman Berorientasi Objek, Rekayasa Perangkat Lunak Berorientasi Objek.

BAB III ANALISA DAN PERANCANGAN SISTEM

Berisikan analisa sistem yang akan dibuat, pengidentifikasian masalah, cara mengatasi masalah, serta perancangan disain proses, dan userinterface.

BAB IV IMPLEMENTASI SISTEM

Berisikan implementasi dari analisa dan perancangan yang ada pada bab III.

BAB V ANALISA HASIL IMPLEMENTASI

(28)

BAB VI PENUTUP

(29)

9

LANDASAN TEORI

Pada Bab II ini berisi teori-teori yang mendukung untuk implementasi sistem. Ada 3 materi yang ditulis di bab II ini yaitu Java 2 Micro Edition (J2ME) yang berisi fungsi-fungsi dari J2ME itu sendiri, pemrograman berorientasi objek yang berisi teknik-teknik dan prinsip-prinsip menggunakan objek dalam suatu pemrograman, dan rekayasa perangkat lunak berorientasi objek yang berisi cara-cara membuat perangkat lunak dengan metode berorientasi objek dan keunggulan yang dimiliki.

2.1. Java 2 Micro Edition (J2ME) 2.1.1. Java 2 Micro Edition

Java 2 Micro Editon (J2ME) merupakan subset dari J2SE 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 mikro berada di dalamnya, namun aplikasi yang bisa dimanfaatkan dari peralatan tersebut sangatlah spesifik.

(30)

2.1.1.1. Jenis Aplikasi J2ME

Saat ini terdapat dua jenis aplikasi dari J2ME, yaitu :

1. Walled garden application, yaitu aplikasi yang berdiri sendiri atau

standalone yang berjalan pada handphone tanpa perlu mengakses

sumber data eksternal melalui jaringan pembawa atau carrier network. Contoh dari aplikasi ini adalah kalkulator atau single player games. 2. Network aware application atau aplikasi yang berinteraksi dengan jaringan. Tidak seperti aplikasi yang pertama, aplikasi ini memiliki kemampuan untuk mengakses sumber data eksternal. Contohnya aplikasi email yang berada di handphone, aplikasi ini untuk mendapatkan kembali data alamat-alamat yang tersimpan melalui jaringan dan pengiriman email berbagai alamat melalui jaringan data.

2.1.1.2. J2MEConfiguration

J2ME dapat dibagi dalam configuration dan profile. J2ME

configuration adalah spesifikasi yang secara detail menjelaskan tentang

sebuah virtual machine dan kumpulan API-API dasar yang dapat digunakan dalam kelas-kelas tertentu dari sebuah peralatan. J2ME

configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh

karena setiap handheld devices memiliki fitur-fitur yang berbeda-beda,

J2ME configuration ini dirancang untuk menyediakan library standart

(31)

Ada 2 kategori J2ME configuration saat ini, yaitu :

a. Connected Limited Device Configuration (CLDC)

Adalah konfigurasi untuk peralatan wireless dengan kapasitas memori yang kecil dan koneksi jaringan yang tidak tetap atau terputus-putus seperti pager, handphone, dan Personal Digital Assistants (PDA). Salah satu spesifikasi profilenya adalah mobile information device

profile. Kategori yang digolongkan dalam CLDC dapat digunakan pada

handphone seperti Nokia, Samsung Java Phone, Motorola i85s,

Organizer atau PDA seperti PALM, Pocket PC, dan two way pagers.

Memori yang dipakai berukuran 160-512 kilobytes.

b. Connected Device Configuration (CDC)

CDC digunakan untuk peralatan dengan kapasitas memori yang lebih besar dengan koneksi jaringan yang lebih kokoh contohnya pada set-top

boxes dan peralatan internet. Konfigurasi ini diperuntukan bagi peralatan

wireless dengan resource memori yang lebih besar paling sedikit 2

megabytes, konektivitas ke beberapa tipe jaringan.

2.1.1.3. J2ME Profile

J2ME Profile menyediakan implementasi-implementasi tambahan

(32)

Ada 5 kategori J2ME Profile saat ini, yaitu (Antonius Aditya Hartanto,2003) :

a. Mobile Information Device Profile (MIDP) yang menyediakan

library-library Java untuk implementasi dasar antarmuka (GUI),

implementasi jaringan (networking), database, dan timer.

b. FoundationProfile (FP)

c. PersonalProfile

d. RMIProfile

e. PersonalDigitalAssistanceProfile

2.1.1.4. Keuntungan Penggunaan J2ME Pada Peralatan Wireless

Keuntungan dari penggunaan J2ME ini akan mengurangi latensi selama koneksi antara komunikasi perangkat keras di sisi user dengan

server, tampilan di layar perangkat komunikasi user semakin dipercaya

dengan animasi-animasi grafis yang menarik, interaksi user dengan sistem semakin meningkat, penggunaan bahasa markup tidak dibatasi dalam hal tampilan ke pengguna, aplikasi berbasis browser dapat bekerja dengan baik pada daerah yang tidak terjangkau dengan sinyal provider

layanan komunikasi bergerak.

2.1.2 J2ME Wireless Toolkit

(33)

Setelah instalasi J2ME telah berhasil, maka untuk pengembangan aplikasi wireless akan banyak berurusan dengan emulator dan tidak akan berurusan langsung dengan perangkatnya. Menudefaultdeviceselection

digunakan untuk memilih default emulator yang akan digunakan saat mencoba aplikasi wireless Java nantinya. Masing-masing emulator

memiliki karakteristik tersendiri, namun memiliki fitur standar sebagai sebuah handheld. Sehingga akan dapat menghasilkan hasil yang lebih baik untuk banyak handheld dengan memilih emulator yang sesuai.

2.1.2.2. Menu Ktoolbar

Menu ini merupakan menu utama dari aplikasi untuk pengembangan Java MIDP atau dikenal MIDlet. Ktoolbar merupakan lingkungan pengembangan minimal yang disediakan oleh J2ME

WirelessToolkit untuk pengembangan MIDlet.

2.1.3. Aplikasi MIDlet

2.1.3.1. Arsitektur Aplikasi MIDlet

Dalam pengembangan aplikasi MIDlet, proyek yang dibuat terdiri atas direktori-direktori 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

(34)

4. Res : berisi file-file resource

Istilah-istilah penting dalam daur hidup sebuah MIDlet yaitu :

a. ApplicationManagementsoftware (AMS)

AMS ini merupakan software atau program bawaan yang ada dalam perangkat handheld tersebut yang mengatur manajemen MIDlet yang ada.

b. MIDlet

Merupakan aplikasi yang dijalankan pada sebuah perangkat

handheld. MIDlet tidak berinteraksi langsung dengan hardware dari

handphone, Palm, atau perangkat handheld lain, melainkan berinteraksi

melalui application management software. AMS inilah yang akan menerima sinyal dari MIDlet bahwa MIDlet akan dijalankan atau berhenti.

c. MIDletstates

Merupakan status dari sebuah MIDlet. Ada 3 status MIDlet yaitu :

a.) Paused

Status ini terjadi jika MIDlet selesai diinisialisasikan dan tidak melakukan aksi apapun, status ini tidak boleh sedang mengunci sebuah file untuk ditulis yang menyebabkan proses lain tidak bisa menulis ke file tersebut.

Status MIDlet merupakan Paused apabila :

(35)

2. Dari status Active, kemudian berhasil memanggil fungsi

MIDlet.pauseApp() dan MIDlet.notifyPaused()

3. Dari status Active, ketika akan start() terjadi kesalahan berupa

exception:MIDletStateChangeException

b.) Active

Status ini terjadi jika MIDlet sedang aktif/berjalan dengan normal, yaitu setelah memanggil fungsi MIDlet.startApp().

c.) Destroyed

Status ini terjadi jika MIDlet berhenti berjalan (exit), sehingga seluruh sumber daya yang digunakan akan dibebaskan. Status ini berhasil jika dilakukan pemanggilan fungsi MIDlet.destroyApp() atau

MIDlet.notifyDestroyed().

2.1.3.2. Eksekusi Sebuah MIDlet

Urutan eksekusi sebuah MIDlet adalah sebagai berikut :

1. AMS (Application Management Software) menginisialisasi sebuah

objek MIDlet, sehingga MIDlet berada pada status Paused.

2. Ketika AMS memutuskan bahwa MIDlet sudah waktunya dijalankan, maka AMS memanggil fungsi MIDlet.startApp() sehingga MIDlet akan mulai aktif berfungsi.

3. Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan sementara, maka AMS akan memanggil fungsi MIDlet.pauseApp()

(36)

Ketika AMS memutuskan bahwa MIDlet harus dinonaktifkan selamanya, maka AMS akan memanggil fungsi MIDlet.destroyApp()

sehingga alokasi memori yang digunakan oleh MIDlet yang bersangkutan akan dibersihkan.

2.1.4. Pemrograman Graphic User Interface (GUI) pada MIDlet

Perangkat handheld memiliki teknik pemrograman GUI yang berbeda dengan teknik pemrograman yang umumnya digunakan pada aplikasi pada komputer. Fungsi-fungsi untuk GUI akan ditangani oleh

MIDP (Mobile Information Device Profile).

2.1.4.1. Jenis Fungsi-Fungsi API pada MIDP untuk GUI

Ada 2 level yang disediakan oleh MIDP untuk pembuatan GUI

yaitu :

1. Highlevel : aplikasi MIDlet akan lebih portabel dengan banyak

perangkat handheld yang berbeda. Jadi aplikasi MIDlet dijalankan dengan handheld lain maka hasilnya akan sama. Kelas-kelas untuk manajemen pemrograman ini akan diturunkan dari

javax.microedition.lcdui.Screen.

2. Lowlevel : pada level ini akan didapatkan fungsionalitas yang lebih

spesifik ke jenis handheld yang digunakan. Jadi apabila digunakan

handheld yang tidak sesuai dengan aplikasi tersebut maka aplikasi tidak

(37)

ini diimplementasikan oleh kelas javax.microedition.lcdui.Canvas dan

javax.microedition.lcdui.Graphics.

2.1.4.2. Model Pemrograman GUI pada MIDP

2.1.4.2.1. Bekerja dengan Screen

Ada 3 tipe screen pada MIDlet yaitu :

1. Complex Screen Object

Tipe ini mengatur komponen-komponen GUI yang sudah tidak bisa ditambahi oleh komponen screen yang lain. Contohnya screen yang berisi objek ListBox untuk meminta masukan user, tidak akan bisa diisi dengan objek lain.

2. Generic Screen Object

Tipe ini mengatur komponen-komponen GUI Form, yang bisa ditambahi komponen screen yang lain.

3. Low Level Screen Object

Tipe ini digunakan oleh subkelas javax.microedition.lcdui.Graphics

dan javax.microedition.lcdui.Screen.

Objek screen memiliki 4 jenis objek turunan yang umum digunakan yakni TextBox, Alert, Choicegroup, dan Form. Kelas

javax.microedition.lcdui.Screen merupakan kelas abstrak dengan dua

karakteristik yaitu objek screen bisa memiliki title dan ticker.

(38)

Ticker merupakan teks yang berjalan pada bagian atas layar aplikasi MIDlet. Sebuah ticker dapat ditempatkan pada objek-objek turunan kelas Screen. Fungsi-fungsi yang penting dalam kelas Ticker

adalah :

1. Konstruktor yang dipakai untuk menginisialisasi objek Ticker Public Ticker(String str) {

Syncronized(Display.LCDUILock) {

setupText(str);

}

}

2. Parameter str merupakan teks yang akan ditampilkan Ticker p = new Ticker(“Your Text”)

3. Public void setString(String str);

Untuk menetapkan teks yang akan ditampilkan sebagai ticker.

4. Public String getString();

Menghasilkan teks yang ditampilkan oleh objek Ticker yang sedang aktif pada objek screen.

2.1.4.2.3. TextBox

Kelas textbox merupakan kelas turunan dari kelas abstrak

javax.microedition.lcdui.Screen. TextBox menyediakan media untuk

(39)

Public TextBox(String title, String text, int maxSize, int constraints)

Parameter-parameternya sebagai berikut :

1. String title : untuk memberikan title pada Screen.

2. String text : untuk memberikan nilai awal pada TextBox.

3. Int maxSize : untuk memberikan batasan maksimal jumlah karakter

yang bisa diterima oleh TextBox.

4. Int constraints : nilai-nilai yang bisa digunakan dalam parameter

ini adalah :

Textfield.ANY : bisa memasukkan sembarang karakter teks

Textfield.EMAILADDR : bisa memasukkan alamat email

Textfield.NUMERIC : bisa memasukkan teks berupa angka saja

Textfield.PHONENUMBER : bisa memasukkan teks yang berupa

nomor telepon

Textfield.URL : bisa memasukkan teks berupa alamat web atau

URL lain

Textfield.PASSWORD : bisa memasukkan password dengan

karakter tertentu (‘*’)

2.1.4.3. Bekerja dengan Form

Bekerja dengan form memungkinkan untuk menampilkan beberapa komponen GUI semacam daftar pilihan, masukan teks (textbox) dalam suatu layar. Form diimplementasikan oleh kelas

(40)

komponen-komponen yang disebut item dalam suatu layar. Item yang dimaksud adalah textfield, images, date fields, gauge, dan choice groups. Ada 2 konstruktor form yang digunakan :

Public Form(String title) menyediakan sebuah form dengan judul

form seperti parameter title yang diberikan.

Public Form(String title, Item[] items) mendefinisikan item-item

apa saja yang akan ada di form yang dibuat.

2.1.4.3.1. Kelas Item (javax.microedition.lcdui.Item)

Komponen-komponen yang bisa diletakkan dalam sebuah form

merupakan komponen yang memiliki kelas yang merupakan kelas turunan dari kelas abstrak javax.microedition.lcdui.Item.

2.1.4.4. Graphics 2.1.4.4.1. Teks

Setelah menetapkan warna sesuai yang diinginkan, maka akan ditambahkan teks pada layar dengan fungsi drawString() sebagai berikut :

Public void drawString(String str, int x, int y, int anchor)

Menambahkan sebuah string pada posisi x dan y, dengan aturan posisi sesuai nilai anchor. Nilai anchor merupakan gabungan dari konstanta statik pada kelas javax.microedition.lcdui.Graphics :

(41)

BASELINE : meletakkan sebuah teks rata tengah

BOTTOM : meletakkan sebuah teks rata bawah dengan

nilai-nilai berikut ini :

LEFT : meletakkan sebuah teks rata kiri

CENTER : meletakkan sebuah teks rata tengah secara

horisontal

RIGHT : meletakkan sebuah teks rata kanan

Contohnya untuk menulis teks “Hello World” pada koordinat (0,0) yang posisinya akan rata kiri dan pada posisi atas digunakan ;

drawString(“Hello Worls”, 0,0, g.LEFT|g.TOP);

Fungsi-fungsi yaitu getHeight() dan stringWidth() memberikan informasi tentang tinggi font dan lebar string.

Fungsi drawChar() bisa menuliskan sebuah karakter dengan :

Public void drawChar(char c, str, int x, int y, int anchor);

Menambahkan sebuah karakter pada posisi x dan y, dengan aturan posisi sesuai nilai anchor. Nilai anchor ini sama dengan aturan nilai

anchor pada fungsi drawString().

2.1.4.5. J2ME Untuk Koneksi Internet Dengan Protokol HTTP

Interface javax.microedition.io.HTTPConnection digunakan untuk

interkoneksi antara J2ME pada ponsel dengan sumber daya internet

(42)

closed. Sedangkan metode yang digunakan untuk mengakses web antara lain : GET, POST, dan HEAD.

Beberapa konstanta dalam javax.microedition.io.HTTPConnection

yang berkaitan dengan kode respon HTTP oleh webserver ke klien web

antara lain :

1. public static final int HTTP_OK

Kode status 200 merupakan status bahwa permintaan layanan sukses diproses.

2. public static final int HTTP_CREATED

Kode status 201 merupakan status bahwa permintaan layanan sukses diproses dan sumber daya yang diminta berhasil dibuat.

3. public static int HTTP_ACCEPTED

Kode status 202 merupakan status bahwa informasi meta pada header respon HTTP bukan merupakan definitive set sebagaimana pada server asal.

4. public static int HTTP_NO_CONTENT

Kode status 204 merupakan status bahwa permintaan layanan berhasil diproses tapi tidak ada data body pada respon HTTP yang diberikan ke klien web.

5. public static int HTTP_BAD_REQUEST

Kode status 400 merupakan status gagal proses karena format permintaan layanan HTTP salah sintaksnya.

(43)

Kode status 404 merupakan status gagal proses karena sumber daya yang diinginkan tidak ditemukan.

7. public static int HTTP_INTERNAL_ERROR

Kode status 500 ini diberikan jika terjadi gagal proses karena ada kesalahan sistem pada web server.

8. public static int HTTP_GATEWAY_TIMEOUT

Kode status 504 ini diberikan jika web server bertindak sebagai

proxyserver atau gatewayHTTP dan gagal mendapatkan respon setelah

menunggu beberapa waktu tertentu dari server web asli yang akan diakses.

Urutan langkah-langkah untuk melakukan transaksi berbasis HTTP

dengan J2ME adalah sebagai berikut : a. Melakukan setup koneksi :

Hal yang dilakukan dengan membuat sebuah interface

javax.microedition.io.HTTPConnection sebagai berikut :

HTTPConnection c;

String url = HTTP://www.kayong.or.id;

c = (HTTPConnection)Connector.open(url);

Jika koneksi berhasil, akan dihasilkan sebuah interfaceHTTPConnection

yang siap dipakai untuk melakukan transaksi HTTP. Jika tidak, akan dilempar beberapa exception berikut :

(44)

Exception ini menunjukkan bahwa parameter yang dilewatkan pada

Connector.open() tidak valid. Misalnya, parameter null dimasukan

pada Connector.open().

2. ConnectionNotFoundException

Exception ini didefinisikan pada javax.microedition.io dan

menunjukkan bahwa koneksi gagal dilakukan karena protokol pada

URL yang diberikan tidak dikenal atau sumber daya yang diakses tidak ditemukan.

3. IOException

Exception ini merupakan standar exception yang menunjukkan

berbagai kesalahan proses I/O-input/output karena kesalahan sistem atau kesalahan lain yang bisa di-trace kemudian dengan fungsi

printStackTrace().

Dalam keadaan status setup, kita hanya berhak menggunakan fungsi :

1. public void setRequestMethod(String methodname)

2. public void setRequestProperty(String key, String Value)

Fungsi setRequestMethod() digunakan untuk menentukan kita akan menggunakan metode apa untuk melakukan permintaan HTTP, apakah

HEAD, POST, atau GET. Secara default metode yang digunakan adalah

GET, jadi tanpa melakukan pemanggilan secara eksplisit terhadap fungsi ini otomatis aplikasi akan menggunakan metode GET untuk transaksi

(45)

c.setRequestMethod()(HTTPConnection.GET); c.setRequestMethod()(HTTPConnection.POST);

c setRequestMethod()(HTTPConnection.HEAD);

Jika web server mendukung metode yang lain, bisa pula digunakan

PROPFIND yang umum digunakan untuk DAVwebpublishing :

c.setRequestMethod()(“PROPFIND”);

Pada penjelasan protokol HTTP, telah didefinisikan beberapa properti pada header permintaan HTTP dari klien ke web server, misalnya

Accept”, “User-Agent”, “Host”, dan sebagainya. Properti ini ditetapkan

menggunakan fungsi setRequestProperty() semacam ini :

c.setRequestMethod()(“Accept”,”text/plain; */*”);

c setRequestMethod()(“User-Agent”,”eBdesk Mobile App”);

c setRequestMethod()(“Host”,www.ebdesk.com);

Setelah lengkap menentukan properti dan metode permintaan akses

HTTP, maka kita siap untuk memasuki transaksi baca tulis dengan web

server, dengan status connected.

b. Melakukan transaksi baca tulis dengan webserver.

Ketika terjadi transaksi baca tulis dengan web server status

connected terjadi ketika dilakukan pemanggilan fungsi berikut dari

interfaceHTTPConnection :

1. Public void InputStream openInputStream() throws IOException

2. Public void OutputStream openOutputStream() throws IOException

(46)

4. Public String getType()

5. Public String getEncoding()

6. Public String getHeaderField(int n) throws IOException

7. Public int getHeaderFieldInt(String name, int def) throws

IOException

8. Public long getHeaderFieldDate(String name, int def) throws

IOException

9. Public int getResponseCode() throws IOException

10.Public String getResponseMessage() throws IOException

c. Melakukan penutupan transaksi dengan fungsi close() setelah selesai melakukan proses baca tulis dengan webserver.

2.2. Pemrograman Berorientasi Objek

(47)

2.2.1 Kelas

Setiap program java, agar bisa berjalan, minimal memiliki satu buah kelas. Oleh karena itulah Java sering disebut sebagai bahasa pemrograman berorientasi objek murni. Kriteria-kriteria untuk melahirkan struktur kelas, yaitu:

1) Field data

Field data, menyatakan informasi yang dibawa kelas. Kita dapat menambahkan atribut pada field data dengan menambahkan dua kata kunci, yaitu final dan static atau kombinasi keduanya, di antara atribut akses dan tipe data. Final berarti field data itu bernilai tetap, tidak dapat diubah-ubah. Sedangkan atribut static berarti hanya ada satu copy dari variabel/field data itu dalam memori, yaitu dalam kelas. Variabel ini seperti ini disebut sebagai variabel kelas, karena hanya dimiliki oleh kelas (ingat jumlahnya hanya satu dalam memori). Setiap objek dari kelas hanya dapat mengakses variabel ini dengan merujuknya, tidak memiliki kopiannya.

2) Method

(48)

3) Constructor

Construtor, digunakan untuk menciptakan objek dari kelas. Jika Anda tidak mendefinisikan konstruktor untuk kelas yang Anda buat, kompiler akan menggunakan konstruktor default, yang tidak melakukan apapun (misalnya menginisialisasi nilai field) ketika Anda menginstansiasikan objek. Konstruktor mirip dengan method (menerima parameter, memiliki blok, dapat dioverload) namun ia memiliki ciri khusus, yaitu:

a. Namanya harus sama dengan nama kelas. b. Ia tidak mengembalikan nilai/tipe tertentu,

bahkan void sekalipun.

Dalam body setiap method dan konstruktor terdapat suatu variabel implisit, yaitu variabel yang tidak nampak dalam definisi kelas, tetapi sebenarnya ada. Variabel ini adalah this, digunakan oleh kompiler untuk merujuk objek yang memanggil method atau konstruktor itu. Dalam Java kita diperbolehkan untuk melakukan deklarasi dan definisi ulang suatu method yang sudah ada (sudah dideklarasikan dan didefinisikan). Hal ini dapat dilakukan dengan syarat sebagai berikut:

a. Jumlah parameter tidak sama atau sama tetapi dengan susunan tipe parameter yang berbeda.(memungkinkan kompiler untuk menentukan dengan pasti method mana yang dipanggil oleh objek)

(49)

2.2.2 Overloading Method

Keuntungan dari overload adalah kita dapat menggunakan satu nama untuk beberapa method yang operasinya berbeda namun masih dalam satu ‘tema’. Kata kunci static tidak hanya dapat diterapkan pada field atau variabel saja, tapi juga pada method dan suatu blok kode. Karena method dipanggil oleh objek dari kelas di mana method itu didefinisikan, jadi harus ada objek yang memanggil. Namun method yang memiliki atribut static dapat dipanggil tanpa lewat objek, tetapi langsung dari kelas. 2.2.3 Method Main

Method main merupakan method khusus dalam kelas yang menjadi tempat berjalannya suatu program java. Oleh karena itu, dalam satu program Java pasti hanya ada satu kelas yang memiliki method main ini. Atribut method main adalah:

a. public sehingga dapat diakses dari luar kelas.

b. static sehingga dapat dipanggil meski objeknya tidak diinstansiasi.

c. void karena main tidak mengembalikan nilai apapun. Method main menerima argumen berupa array of string, yaitu String [] args.

2.2.4 Paket

(50)

2.2.5 Hak Akses

Sisi penting lain dari pemrograman berorientasi objek adalah pengaturan pengaksesan data. Oleh karena itu hak akses (kata kunci public, protected, private) menjadi hal yang benar-benar penting untuk Anda pahami. Berikut adalah saran-saran dari Ivon Horton untuk pemberian hak akses pada komponen-komponen kelas:

a. Untuk kelas dalam suatu paket yang tidak publik (sehingga tidak dapat diakses dari luar paket), Anda dapat merasa aman untuk mengizinkan kelas yang masih dalam satu paket untuk mengakses data dari kelas ini.

b. Jika Anda memiliki data yang bersifat final (tidak dapat diubah-ubah nilainya, jika data itu berupa field atau tidak dapat diturunkan jika data ini berupa kelas) dan data ini kemungkinan sangat berguna jika diakses dari luar kelas, Anda dapat mendeklarasikannya dengan public.

(51)

2.2.6 Pewarisan (Inheritance)

Salah satu konsep terpenting dalam pemrograman berorientasi objek adalah konsep pewarisan, di mana Anda menciptakan kelas baru dari satu atau lebih kelas yang sudah ada. Konsekuensinya adalah terjadi pewarisan field/method tertentu dari kelas yang sudah ada sebelumnya (superclass/baseclass) kepada kelas yang baru (subclass). Oleh karena itu kelas yang baru/kelas turunan akan sangat mirip dengan kelas induknya sehingga jika anda ingin kelas turunan berbeda dengan induknya, Anda harus menambahkan field atau method baru pada kelas ini. Anda dapat membuat kelas turunan dengan kata kunci extends. Adanya sejumlah hak akses menyebabkan munculnya sejumlah aturan dalam pewarisan data. Data pada kelas induk yang memiliki atribut public dan protected akan diwariskan dan akhirnya dapat diakses oleh kelas turunan/kelas anak. Sedangkan data yang beratribut private tidak akan diwariskan. Adapun data-data tanpa atribut pengaksesan akan diwariskan pada kelas-kelas turunan yang berada dalam satu paket.

2.2.7 Poliforfisme (Polymorphism)

(52)

Anda harus mendefinisikan method yang akan dipanggil ini dalam kelas induk. Beberapa syarat yang harus dipenuhi agar operasi polymorphism dapat berlangsung adalah:

a. Method dari kelas turunan yang akan dieksekusi, dipanggil oleh objek dari kelas induk.

b. Method ini harus merupakan member dari kelas induk. c. Nama method di kelas induk harus sama dengan yang

ada di kelas turunan.

d. Tipe yang dikembalikan juga harus sama.

e. Atribut akses dari method di kelas turunan tidak boleh lebih terbatas dari yang ada di kelas induk.

Oleh karena itu, langkah-langkah untuk membuat polymorphism adalah: a. Deklarasikan method yang akan di-polymorphism-kan

dalam body kelas induk.

b. Definisikan method ini dalam kelas induk sebagai method yang tidak melakukan apapun (hanya terdiri dari ‘{‘ dan ‘}’).

c. Dalam tiap kelas turunan dari kelas induk, definisikan ulang method tadi dengan memastikan atribut aksesnya tidak lebih terbatas dari atributnya yang ada di kelas induk.

(53)

2.2.8 Kelas Abstrak

Kelas abstrak adalah kelas yang terdiri dari satu atau lebih method yang dideklarasikan namun tidak didefinisikan. Method seperti ini disebut method abstrak.

2.2.9 Kelas Objek dan kelas Class

Setiap kelas dalam program Java adalah kelas turunan dari kelas Object. Oleh karena itu variabel dari tipe Object dapat menangani objek dari kelas apapun. Hal ini akan sangat berguna jika Anda akan mengenali tipe suatu objek. Kelas object juga memiliki beberapa method, dua di antaranya sangat penting untuk diketahui, yaitu:

a. toString() berfungsi untuk mengembalikan string yang berupa nama kelas dari objek yang memanggil method ini diikuti tan ‘@’ dan representasi heksadesimal dari objek ini dalam memori.

b. getClass() berfungsi untuk mengembalikan objek dari tipe Class.

Tipe Class memiliki beberapa method public, di antaranya adalah getName() yang akan mengembalikan sebuah string yang merepresentasikan nama kelas dari mana objek itu berasal.

2.2.10 Interface

(54)

Proses pemakaian atau pendefinisian ini disebut sebagai implementasi. Konstanta/nilai pada interface secara default bersifat static, final, dan public, sedangkan method-nya bersifat public dan abstract (karena harus didefinisikan lagi dalam kelas yang mengimplementasi interface ini).

2.3 Rekayasa Perangkat Lunak Berorientasi Objek

2.3.1 Use Case Diagram

Use case diagram adalah diagram yang menggambarkan interaksi

antara sistem dengan sistem eksternal dan pengguna. Dengan kata lain, secara grafis menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Contoh use case diagram dapat ditunjukkan pada gambar di bawah ini

Pada use case ada 2 hal yang menjadi faktor penting yaitu :

I. Actor

Actor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Ada 4 macam tipe actor/pelaku :

(55)

i. Primarybusiness actor (pelaku bisnis utama)

Adalah stakeholder yang terutama mendapatkan keuntungan dari pelaksanaan use case diagram.

ii. Primary system actor (pelaku sistem utama)

Adalah stakeholder yang secara langsung berhadapan dengan sistem untuk menginisiasi atau memicu kegiatan atau sistem.

iii. External server actor (pelaku server eksternal)

Adalah stakeholder yang melayani kebutuhan pengguna

use-case.

iv. External receiving actor (pelaku penerima eksternal)

Adalah stakeholder yang bukan pelaku utama, tapi meneriam nilai yang terukur atau teramati dari use-case.

II. Relationship (hubungan)

(56)

Ada beberapa jenis hubungan pada use case diagram yaitu:

i. Association (gabungan) : hubungan antara pelaku/aktor dengan use case di mana terjadi interaksi di antara mereka.

ii. Extend : hubungan antara extension use case dan use case

yang diperluas.

iii. Depends on : hubungan untuk mengetahui use case mana yang memiliki ketergantungan pada use case lain. Gambar 2.2 Contoh hubungan association(gabungan)

(57)

2.3.2 Activity Diagram

Activity diagram adalah sebuah diagram yang dapat digunakan

untuk menggambarkan secara grafis aliran proses bisnis, langkah-langkah sebuah use case atau logika behaviour (metode) object. Diagram ini serupa dengan flowchart dimana secara grafis diagram ini menggambarkan aliran sekuensial dari kegiatan entah itu proses bisnis atau sebuah use case. Diagram ini berbeda dari flowchart di mana diagram ini menyediakan sebuah mekanisme untuk menggambarkan kegiatan yang tampak secara paralel. Karena itu, diagram ini sangat berguna untuk memodelkan kegiatan yang akan dilakukan saat sebuah operasi dieksekusi.

2.3.3 Sequence Diagram

Sequence diagram adalah sebuah diagram yang dapat digunakan

untuk menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Dalam sequence diagram ada beberapa macam objek :

1) Entiy Object : sebuah objek yang berisi informasi yang

berhubungan dengan bisnis yang bersifat menetap dan disimpan pada sebuah database.

(58)

2) Interface Object : sebuah objek yang menyediakan peralatan di mana pengguna dapat mengantarmuka dengan sistem tersebut.

3) Control Object : objek yang berisi logika aplikasi yang bukan

merupakan tanggung jawab entity objek. Contoh logika tersebut adalah aturan dan perhitungan bisnis yang melibatkan banyak objek. Control object mengkoordinasi pesan antara objek antarmuka objek dan objek entiti dan sekuensi di mana pesan terjadi.

2.3.4 Class Diagram

Class diagram adalah gambar grafis mengenai struktur objek statis

dari suatu sistem, menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga hubungan antara kelas objek tersebut. Pada class diagram

akan menyisipkan multiplicity, hubungan generalisasi / spesialisasi, dan hubungan agregasi.

Gambar 2.6 Interface Object

(59)

39

ANALISA DAN DESAIN SISTEM

Pada Bab III ini membahas mengenai analisa yang dibutuhkan untuk perancangan sistem agar memudahkan dalam implementasi sistem. Pokok pembahasan dari bab III adalah :gambaran sistem, konsep kerja sistem, use case

diagram, activity diagram, sequence diagram, class diagram, perancangan User

Interface.

3.1. Analisa Sistem 3.1.1 Gambaran Sistem

Sistem aplikasi untuk client ini digunakan untuk mengupload file

webserver melalui handphone.

Jadi, gambaran sistem ini adalah :

1. User menginstall aplikasi ke dalam handphone yang berkamera

(optional) dan support java.

2. Handphone yang dipakai adalah handphone yang terdapat fasilitas

GPRS sehingga aplikasi ini dapat terhubung dengan internet untuk melakukan uploadfile ke webserver.

alui handphone.

Jadi, gambaran sistem ini adalah :

3. User menginstall aplikasi ke dalam handphone yang berkamera

(60)

Browse Image

4. Handphone yang dipakai adalah handphone yang terdapat fasilitas

GPRS sehingga aplikasi ini dapat terhubung dengan internet untuk

atau user juga bisa melakukan pengambilan gambara secara langsung dengan menggunakan kamera handphone / Take

Picture. Setelah user memilih foto yang akan diupload dan

menekan tombol upload maka aplikasi akan mengirimkan foto tersebut ke web server dan secara otomatis web server akan memberikan response kepada aplikasi apakah foto yang

diupload berhasil masuk ke database server atau tidak.

Aplikasi Client Server

(61)

2) Selain proses upload foto, aplikasi juga menyediakan menu

View untuk melihat langsung web “Sistem Foto Album Online”. Setelah user memilih menu View maka aplikasi akan mengirimkan request kepada server dan server akan memberikan response kepada aplikasi.

3.1.3 Use Case Diagram

Aplikasi Client Foto Album Online

Upload

User

Browse Im age

Take Picture

View

Login <<extend>>

<<extend>> <<extend>>

(62)

3.1.4 Activity Diagram

Activity diagram memodelkan alur kerja (workflow) sebuah proses

bisnis dan urutan aktivitas dalam suatu proses. Berikut ini adalah activity

(63)

1. Activity Diagram Browse Image untuk Proses Upload

menampilkan foto-foto yang ada di dalam direktori handphone

menampilkan foto yang telah terpilih dalam ukuran besar

melakukan proses upload

menerima inputan login

menampilkan pesan error

menampilkan pesan bahwa foto telah terkirim

kembali ke tampilan Upload

Apakah login berhasil?

Tidak berhasil Berhasil

(64)

Gambar 3.3 adalah activity diagram dari use case Browse Image untuk proses Upload. Pada saat user memasuki list browse image maka sistem akan menampilkan kumpulan foto yang ada di dalam direktori handphone. Apabila

(65)

2. Activity DiagramTake Picture untuk Proses Upload

pesan error menampilkan pesan bahwa gambar telah terkirim

kembali ke

menyajikan proses pengambilan foto dengan kamera handphone yang tersedia. Pada saat user menekan tombol Capture maka sistem akan mengambil foto yang diinginkan. Untuk dapat melanjutkan proses selanjutnya, user diminta untuk mengisikan nama file yang ada di bagian bawah foto. Apabila nama file tersebut

(66)

kosong maka sistem akan menampilkan pesan error dan sistem akan meminta

user untuk kembali mengisikan nama file. Jika nama file tidak kosong maka sistem akan menampilkan proses login sebelum gambar itu diupload. Apabila

user memasukkan username dan password salah maka sistem akan menampilkan

pesan error dan kembali ke tampilan upload. Tetapi apabila user memasukkan

username dan password benar maka sistem akan menampilkan pesan bahwa

(67)

3. Activity Diagram View

masukkan username dan password

memvalidasi username dan password

menampilkan pesan error

menampilkan foto-foto yang telah terupload apakah username dan password benar ?

benar salah

menampilkan tampilan login

kembali ke tampilan view

(68)

Gambar 3.5 adalah activity diagram dari use case view. Activity

diagram view ini berguna agar user dapat melihat foto yang telah diupload

sudah ada atau belum. Untuk itu proses pertama yang dilakukan adalah sistem akan menerima inputan login dari user. Apabila login yang dilakukan oleh user berhasil maka sistem akan menampilkan foto-foto yang telah

terupload dan kembali ke tampilan view, apabila login yang dilakukan oleh

user tidak berhasil maka sistem akan menampilkan pesan error dan kembali

ke tampilan view.

4. Activity Diagram Login

menampilkan tampilan login

menerima masukkan username dan password

memvalidasi username dan password

masuk ke proses selanjutnya menampilkan

pesan error

Apakah username dan password benar?

Salah Benar

(69)

Gambar 3.6 adalah activity diagram dari use case login. Proses ini diawali dengan menampilkan tampilan login, kemudian akan menunggu pemakai memasukkan username dan password. Selanjutnya sistem akan memeriksa apakah data masukan benar atau tidak. Jika data yang dimasukkan benar, sistem akan masuk ke proses selanjutnya, jika salah sistem akan menampilkan pesan kesalahan.

3.1.5 Sequence Diagram

Sequence diagram digunakan untuk menjelaskan interaksi objek

yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use case. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu di dalam use case.

Berikut ini adalah sequence diagram pada sistem yang mengacu pada

(70)

1. Sequence Diagram Browse Image untuk Proses Upload

: (user) : Browse Im age : dis play foto

: insert username dan password : rs_user

1: commandAction( )

2: openData()

3: login(us ername,pas sword : String)

4: getRecord(record id : int)

5: showAlert()

Gambar 3.7 adalah proses Browse Image untuk melakukan upload. User

melakukan command action untuk dapat masuk ke tampilan browse image. Tampilan browse image menampilkan kumpulan-kumpulan foto yang tersimpan

di handphone, untuk dapat melakukan upload maka user harus memasukkan

username dan password yang benar. Dalam proses ini sistem akan mencocokkan

data yang dimasukkan user dengan record yang ada didalam databasewebserver. Apabila cocok maka proses upload akan berhasil, tapi apabila tidak cocok maka sistem akan menampilkan pesan error.

Gambar 3.7. Sequence Diagram Browse Image

(71)

2. Sequence Diagram Take Picture untuk Proses Upload

: Take Picture

User : Capture Image : Insert Filename : insert username dan password

: handphone : rs_user 1: commandAction()

2: TakePictureAsData()

3: InsertData()

4: showAlert()

5: InsertDataToRecord()

Gambar 3.8 adalah proses Take Picture untuk melakukan upload. User melakukan

command action untuk dapat masuk ke tampilan Take Pictrue. Tampilan take

Picture membuka kamera handphone untuk mengambil gambar dan mengisikan

nama file, apabila nama file kosong maka sistem menampilkan pesan error, jika nama file tidak kosong maka sistem akan menampilkan proses login, untuk dapat melakukan upload maka user harus memasukkan username dan password yang benar. Dalam proses ini sistem akan mencocokkan data yang dimasukkan user

dengan record yang ada didalam databasewebserver. Apabila cocok maka proses

upload akan berhasil, tapi apabila tidak cocok maka sistem akan menampilkan

pesan error.

(72)

3. Sequence Diagram View

: user : view

: rs_user : display foto yang telah diupload

1. login(username,password : String)

2. getRecord(record id : int)

3. showData()

4. showAlert()

Gambar 3.9 adalah proses untuk melakukan view. User melakukan proses login dulu baru bisa melakukan view. Dengan demikian user harus memasukkan username dan password yang benar. Dalam proses ini sistem mencocokkan data yang dimasukkan user dengan record yang ada dalam

database. Apabila cocok maka sistem akan menampilkan kumpulan foto-foto

user, tapi apabila tidak cocok maka sistem akan menampilkan pesan error.

(73)

4. Sequence Diagram Login

: user : login : rs_user

1. login(username, password : String)

2. getRecord(record id : int)

3. showAlert()

Gambar 3.10 adalah proses untuk melakukan login. Proses ini akan menampilkan tampilan login terlebih dahulu, kemudian akan menunggu pemakai memasukkan username dan password. Selanjutnya sistem akan mengambil data login dari record store dan melakukan validasi data login

yang dimasukkan pemakai dengan data login dari record store. Sistem akan menampilkan pesan kesalahan jika masukan dari pemakai salah.

(74)

3.2 Desain / Perancangan Sistem Canvas, Screen, Displayable, FileBrowser dan Midlet. Sedangkan Take Picture, Browse Image, View, Login adalah kelas-kelas utama dari J2ME.

(75)

3.2.2 Perancangan User Interface Desain Tampilan Awal

Pada gambar 3.12 adalah desain untuk tampilan awal pada aplikasi foto album online. Dari gambar 3.12 sistem akan langsung menampilkan Menu Pilihan seperti yang ada pada gambar 3.13. Pada gambar 3.13 terdapat 2 list pilihan yaitu “UPLOAD” dan “VIEW”. Apabila user

memilih listUPLOAD” maka sistem akan menampilkan form

UPLOAD” yaitu form untuk masuk ke tampilan upload seperti pada

gambar 3.14 dan apabila user memilih list VIEW” maka sistem akan menampilkan form “VIEW” yaitu form untuk masuk ke tampilan view

seperti pada gambar 3.23. Pilih OK jika user ingin memasuki form

UPLOAD” atau “VIEW”. Pilih Exit jika user ingin keluar dari aplikasi.

Gambar 3.12 Desain Tampilan Awal Gambar 3.13 Desain Menu Pilihan

Application of Online Photo Album for Client

PICTURE

VIEW

Ok Exit

UPLOAD

(76)

Pada gambar 3.14 adalah desain form tampilan “UPLOAD”.

Desain tampilan “UPLOAD” terdiri dari 2 menu yaitu form “BROWSE

IMAGE” yang akan ditampilkan pada gambar 3.15 dan form “TAKE

PICTURE” yang akan ditampilkan pada gambar 3.19. Pilih OK jika

ingin memilih “BROWSE IMAGE” atau “TAKE PICTURE” dan pilih Back jika ingin kembali ke tampilan sebelumnya.

Desain Upload

Gambar 3.14 Desain Menu jika memilih Menu

Upload TAKE PICTURE

Ok Back

BROWSE IMAGE

Application of Online Photo Album for Client

(77)

Username :

gambar-gambar tersebut merupakan gambar-gambar yang siap untuk

(78)

Pada gambar 3.16 menunjukkan proses selanjutnya dari gambar 3.15. Setelah memilih Select maka proses selanjutnya adalah menampilkan gambar yang akan diupload dalam ukuran yang lebih besar. Pada desain ini juga terdapat 2 pilihan yaitu Upload untuk

mengupload langsung gambar tersebut dan Back untuk kembali ke

proses sebelumnya untuk pemilihan gambar yang akan diupload.

Setelah memilih Upload maka proses selanjutnya dapat dilihat pada gambar 3.17. User harus mengisikan username dan password untuk dikirimkan juga ke web server agar foto yang dikirim dapat disimpan sesuai user yang mengirim. Pilih Ok jika username dan password telah diisi dan pilih Back jika ingin kembali form “UPLOAD”.

Pada gambar 3.18 menunjukkan pesan interaksi kepada user. Apabila foto telah terkirim maka pesan yang diberikan adalah “File has been Save in Server”, dan sebaliknya apabila foto tidak terkirim maka akan diberikan pesan error. Pilih Ok jika ingin mengulangi melakukan

Gambar 3.18 Desain Pesan Interaksi

File has been Save in Server

Ok Back

(79)

upload gambar dan pilih Back jika ingin kembali ke tampilan

UPLOAD”.

Desain Take Picture

Gambar 3.19 adalah lanjutan dari gambar 3.14 jika user memilih

“TAKE PICTURE” dan gambar 3.19 merupakan desain mengambil

gambar yang akan diupload melalui kamera handphone. Apabila user

ingin mengambil gambar yang akan diinginkan maka user harus menekan tombol Capture dan menekan tombol Back apabila user ingin kembali ke form “UPLOAD”. Setelah user menekan tombol Capture maka aplikasi melanjutkan proses selanjutnya yang ada pada gambar 3.20.

Gambar 3.19 Desain Pengambilan Gambar

PHOTO

Back Capture

Gambar

Gambar 2.1 Contoh Use case diagram
Gambar 3.3. Activity Diagram Browse Image untuk Proses Upload
Gambar 3.4. Activity Diagram Take Picture Upload
Gambar 3.5. Activity Diagram View
+7

Referensi

Dokumen terkait

Terdapat perbedaan penilaian atas efektivitas iklan (perhatian, minat, keyakinan, tindakan), citra toko online, dan niat beli ditinjau dari perbedaan jumlah ponsel

efektivitas peroksidase yang diperoleh dari kulit batang ubi kayu dan menentukan persentase penurunan kadar fenol dengan penambahan peroksidase dari kulit batang ubi kayu

Berdasarkan data koordinat garis lintang dan bujur posisi pengguna hotspot di Universitas Muhammadiyah Ponorogo yang diolah dengan menerapkan algoritma K-Means,

DATA HASIL TES AKHIR KEMAMPUAN BERPIKIR KREATIF KELAS KONTROL .... PERHITUNGAN RATA-RATA, MEDIAN, VARIANS, DAN STANDAR DEVIASI KEMAMPUAN AWAL KELAS

Perlu dilakukan penelitian lebih lanjut dengan sampel yang lebih besar serta pengendalian terhadap berbagai faktor-faktor lainnya yang berhubungan dengan tindakan

Pada tahun ini, semasa saya mengetuai Bulan Bahasa sebagai pengerusi buat pertama kali, saya teruja dan terasa bersemangat kerana bakat, idea dan usaha yang saya lihat

Rekruitment Karyawan ini melalui proses/tahapan rekrutmen dengan seleksi berbasis kompetensi dan transparansi sehingga untuk tahapan seleksi yang menjadi tug as

pengetahuan di bidang Dana Pensiun sebagaimana diatur dalam Keputusan Direktur Jenderal Lembaga Keuangan Nomor KEP-618/LK/2003 tentang Persyaratan Pengetahuan di Bidang Dana