Transcript
Page 1: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Modul 2

MENGENAL USER INTERFACE

Dalam modul ini, kita akan membahas penggunaan macam-macam field sebagai user

interface. Topik di sini merupakan hal-hal dasar karena Framework BlackBerry akan

melakukan banyak hal secara otomatis untuk kita. Dalam modul ini, kita fokus dengan

macam-macam tipe field basic yang disediakan oleh Framework BlackBerry namun

sebelumnya kita akan mengenal terlebih dahulu seperti apa langkah-langkah membuat project

dalam Eclipse BlackBerry.

2.1 Membuat ProjectLangkah pertama dalam membuat suatu aplikasi BlackBerry pada IDE (Integrated

Development Environment) Eclipce adalah membuat project. Project di sini merupakan

sebuah paket yang terdiri dari folder dan file yang akan digunakan dalam program aplikasi.

Berikut langkah-langkah untuk membuat project dalam Eclipse:

1. Jalankan program Eclipse BlackBerry

2. Klik ikon new lalu pilih BlackBerry Project

Gambar 2.1 Membuat BlackBerry Project

12

Page 2: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

3. Berikan nama project BackupRestore, pilih target JRE BlackBerry JRE 6.0.0, setelah

itu klik next tiga kali

Gambar 2.2 Memberi Nama Project

4. Isi kolom package name (nama paket aplikasi yang dibuat), apllication name (nama

kelas utama aplikasi) dan Screen Class Name (nama kelas layar utama) dan Screen

13

Page 3: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Title (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai

dengan gambar berikut atau memilih nama lain. Setelah itu klik tombol finish

Gambar 2.3 Memberikan Detail Properti Project

5. Program akan membuat folder "Modul2" secara otomatis beserta sub folder di

dalamnya.

6. Terdapat juga file “BlackBerry_App_Descriptor.xml” yang merupakan isi deskripsi

dari aplikasi yang dibuat, di sini developer dapat menentukan judul, deskripsi, nama

vendor, ikon aplikasi serta beberapa pengaturan lain.

14

Page 4: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.4 Tampilan Properti Project

15

Page 5: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

2.2 LabelFieldSebuah LabelField merupakan tipe field yang sangat sederhana. Sebuah LabelField

menampilkan teks secara read-only, yang hanya pas untuk label. LabelField tidak menerima

fokus, sehingga jika pengguna tidak dapat mengklik LabelField atau hanya scroll melewati

LabelField. LabelField juga sering kali ditemukan pada bagian header aplikasi atau sebagai

judul aplikasi.

Cara membuat LabelField:

Edit file layar utama (UiScreen.java) seperti berikut

package modul2package;

import net.rim.device.api.ui.component.LabelField;import net.rim.device.api.ui.container.MainScreen;

public final class UiScreen extends MainScreen

{

LabelField label; public UiScreen()

{

label = new LabelField ("Hello World"); setTitle("User Interface");

add(label); }

}

Penjelasan kode program sebagai berikut, pertama kita harus deklarasi variabel LabelField

dengan nama label, deklarasi harus tersebut ada dalam final class bukan di dalam UiScreen()

selanjutnya kita tugaskan/assign variabel tersebut untuk menampung data/nilai pada contoh

ini data yang diberikan adalah kalimat string berupa "LabelField". Terakhir jika variabel

sudah diberikan data/nilai maka kita memanggil variabel tersebut dengan perintah add(nama

variabel) untuk memunculkan variabel yang kita inginkan.

Setelah menuliskan kode Anda dapat menjalankannya dengan cara mengklik folder modul2

pada project explorer lalu klik ikon run on simulator, tunggu beberapa saat sampai simulator

selesai loading.

16

Page 6: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.5 Menjalankan aplikasi pada simulator

Saat pertama kali menjalankan simulator, scroll ke bawah dengan menekan tombol panah

bawah pada keyboard lalu klik ok. Selanjutnya scroll lagi ke bawah dengan menggunakan

tombol navigasi pada keyboard lalu pilih ikon aplikasi user interface lalu tekan enter.

17

Page 7: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.6 Tampilan program saat dijalankan pada simulator

18

Page 8: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

2.3 SeparatorField

SeparatorField merupakan salah satu user interface paling dasar yang tersedia. Kegunaannya

adalah untuk menampilkan garis horizontal kecil di layar untuk memisahkan satu bidang dari

yang lain. Anda mungkin sering lihat dalam banyak aplikasi stAndar, seperti di layar Tulis

Pesan antara subjek dan tubuh pesan. SeparatorField juga digunakan pada menu untuk menu

grup bersama. SeparatorField tidak melakukan apa pun kecuali hanya menggambar garis,

bahkan tidak akan menerima fokus dan tidak dapat dipilih.

Untuk membuat SeparatorField Anda hanya tinggal menambahkan kode berikut

add(new SeparatorField());

2.4 BitmapField

BitmapField adalah user interface yang digunakan untuk menampilkan gambar. Anda dapat

menggunakan gambar Anda sendiri atau salah satu dari gambar yang terdapat dalam

resource. BlackBerry mendukung gambar berformat JPG, GIF, dan PNG. Di antara kesemuan

itu tipe file PNG adalah pilihan yang terbaik, karena biasanya jauh lebih kecil daripada

format lainnya. Berikut adalah cara memasukkan BitmapField:

Cara membuat BitmapField

Edit file layar utama (UiScreen.java) seperti berikutpackage modul2package;

import net.rim.device.api.system.Bitmap;

import net.rim.device.api.ui.component.*;

import net.rim.device.api.ui.container.MainScreen;

public final class UiScreen extends MainScreen

{

LabelField label;

public UiScreen()

{

Bitmap gmb = Bitmap.getBitmapResource("logo.png");

label = new LabelField ("Hello World");

19

Page 9: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

setTitle("User Interface");

add(label);

add(new SeparatorField());

add(new BitmapField(gmb));

}

}

Sebelum menambahkan Anda buat dahulu gambar yang ingin ditampilkan, buatlah gambar

kecil berukuran sekitar 32x32 px berformat PNG. Setelah itu kita memasukkan gambar

tersebut ke dalam paket di dalam folder img. Untuk melakukannya klik tanda panah pada

folder modul2, lalu klik lagi tanda panah pada folder res, lalu highlight img. Klik kanan pada

folder img lalu pilih new, other, file lalu klik next. Klik tombol advanced lalu beri tanda

centang pada Link to file in the system. Selebihnya Anda bisa browse file gambar yang ingin

ditambahkan setelah itu klik finish.

20

Page 10: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.7 Menambahkan file gambar

Langkah selanjutnya kita memanggil nama file gambar kita maksudkan seperti pada contoh

di atas kita menamai gambar dengan nama logo.png maka nama yang dipanggil juga sama,

lalu menambahkannya melalui perintah add()

21

Page 11: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.8 Tampilan program saat dijalankan pada simulator

22

Page 12: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

2.5 ChoiceField

ChoiceField adalah user interface dengan daftar pilihan dropdown. Anda tidak dapat

menggunakan ChoiceField secara langsung, melainkan Anda harus menggunakan salah satu

dari dua khusus yang diturunkan kelas ini yaitu NumericChoiceField atau ObjectChoiceField.

Menggunakan ChoiceField memungkinkan pengguna untuk memilih angka tertentu dari

sebuah daftar pilihan angka-angka yang telah ditentukan. Sedangkan ObjectChoiceField

memungkinkan pengguna untuk memilih pilahan berupa karakter/string yang sudah

ditentukan sebelumnya.

String[] choices = {"Choice1","Choice2","Choice3"};

ObjectChoiceField objChoice = new ObjectChoiceField(

"Object Choice Field", choices);

add(objChoice);

// cara kedua

ObjectChoiceField objChoice2 = new ObjectChoiceField();

objChoice2.setLabel("Another way");

objChoice2.setChoices(choices);

add(objChoice2);

Dalam contoh ini, saya menunjukkan bagaimana membuat ChoiceFields dalam dua cara yang

berbeda. Keduanya menggunakan array statis. Contoh pertama menempatkan semua

informasi penting untuk menyiapkan field dalam constructor. Cara ini lebih baik digunakan

ketika Anda tahu pasti apa yang perlu masuk ke daftar, tapi kadang-kadang tidak demikian.

Dalam kasus ini Anda dapat membuat daftar dengan cepat, dan kemudian menambahkan

mereka ke ObjectChoiceField dengan menggunakan metode setChoices seperti pada cara

yang kedua.

NumericChoiceField numChoice = new NumericChoiceField(

"Numeric Choice Field", 10,20,2);

23

Page 13: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

add(numChoice);

Perbedaan antara NumericChoiceField dan ObjectChoiceField hanya sedikit, tetapi

menggunakan objek yang tepat untuk situasi yang tepat dapat membuat pekerjaan Anda lebih

mudah. Poin penting pertama untuk diperhatikan adalah bahwa rentang dan nilai-nilai

langkah diberikan dalam constructor. Sebenarnya, keduanya harus diberikan dalam

constructor. Berbeda dengan ObjectChoiceField, tidak ada metode untuk mengatur range

nilai dan penambahan (increment) nilai ketika field dibuat.

2.6 GaugeField

Sebuah GaugeField merupakan sebuah bar yang dapat ditentukan nilainya. Secara default,

bersifat tidak dapat diedit tetapi dapat diedit jika beberapa fungsi yang ditambahkan. Oleh

karena itu, apa yang dilakukan dan bagaimana hal itu digunakan tergantung pada apakah field

ini dapat diedit atau tidak. Adapun cara untuk menambahkan GaugeField adalah sebagai

berikut:

// GaugeField normal

GaugeField progress = new GaugeField("Normal", 0, 100, 60,

Field.FOCUSABLE);

add(progress);

// GaugeField yang bisa diubah nilainya atau diedit

GaugeField gaugeField = new GaugeField("Editable", 0, 10, 5,

Field.EDITABLE|Field.FOCUSABLE);

add(gaugeField);

2.7 DateField

DateField dapat digunakan untuk menampilkan Tanggal dan Waktu. Dalam DateField

terdapat kelas khusus untuk membuat tanggal dan atau waktu mudah bagi para developer

24

Page 14: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

dengan menggunakan teknik encapsulasasi beberapa pilihan field sehingga menjadi satu

DateField. Berikut contoh penggunaan DateField untuk Eclipse BlackBerry:

// Menampilkan tanggal dan waktu

Date now = new Date();

DateField datetimeField = new DateField("DateTime Field",

now.getTime(),

DateFormat.getInstance( DateFormat.DATETIME_DEFAULT));

add(datetimeField);

//Menampilkan tanggal saja

DateField dateField = new DateField();

dateField.setLabel("Date Field");

dateField.setDate(now);

dateField.setFormat(DateFormat.getInstance(

DateFormat.DATE_DEFAULT));

add(dateField);

//Hanya menampilkan waktu

DateField timeField = new DateField("Time Field", now.getTime(),

DateFormat.getInstance(DateFormat.TIME_

DEFAULT));

add(timeField);

2.8 Checkboxfield

CheckboxField adalah salah satu bidang dasar yang hampir tidak perlu banyak penjelasan

lagi karena hampir semua bahasa pemrograman menggunakan checkbox. CheckboxField

mengikuti banyak konvensi standar dalam sistem lain, seperti HTML dan Windows, dengan

menempatkan kotak centang di sisi kiri layar dengan label di sebelah kanan. Sebuah kotak

centang yang digunakan untuk mewakili nilai Boolean atau sederhana on/off atau ya/tidak.

25

Page 15: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Berikut adalah contoh penggunaan Checkboxfield:

CheckboxField chkField = new CheckboxField("Checkbox",false);

add(chkField);

// penempatan di sisi kanan

CheckboxField chkField2 = new CheckboxField("FIELD_RIGHT", true,

Field.FIELD_RIGHT);

add(chkField2);

2.9 RadioButtonField

RadioButtonField mirip dengan checkbox. Hanya yang berbeda dengan Checkboxfiled

RadioButton harus digunakan secara berkelompok dalam satu grup yang biasa dikenal

dengan RadioButtonGroup. Dalam sebuah RadioButtonGroup terdapat dua atau lebih

RadioButton, di sini pengguna harus memilih salah satu di antaranya (tidak bisa memilih

lebih dari satu). Berikut contoh penggunaan RadioButtonField:

RadioButtonGroup rdoGroup = new RadioButtonGroup();

RadioButtonField rdo1 = new RadioButtonField("Radio Field 1");

RadioButtonField rdo2 = new RadioButtonField("Radio Field 2");

RadioButtonField rdo3 = new RadioButtonField("Radio Field 3");

rdoGroup.add(rdo1);

rdoGroup.add(rdo2);

rdoGroup.add(rdo3);

add(rdo3);

add(rdo2);

add(rdo1);

rdoGroup.setSelectedIndex(0);

26

Page 16: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.9 Tampilan program saat dijalankan pada simulator

2.10 EditField

EditField merupakan teksbox yang digunakan menyisipkan input berupa teks. EditField

merupakan salah satu field yang sangat lazim digunakan. EditField dapat menerima fokus

dan jika pengguna menekan tombol menu pada menu BlackBerry maka akan secara otomatis

menampilkan menu seperti Cut, Copy dan Paste. Berikut adalah contoh penggunaannya:

EditField edit = new EditField("Edit: ","");

edit.setMaxSize(25);

add(edit);

2.11 PasswordEditField

Seperti namanya, PasswordEditField digunakan setiap kali Anda ingin mengumpulkan data

sensitif, seperti password. Berbeda dengan tipe field lain, kelas ini memungkinkan pengguna

27

Page 17: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

untuk memasukkan karakter tetapi hanya menampilkan tanda bintang di layar. Data

sesungguhnya masih di dalam field dan Anda dapat mengaksesnya, tetapi disembunyikan

oleh tanda bintang. Selain itu, operasi copy dinonaktifkan sehingga data sensitif tidak dapat

disalin. Jika Anda sebelumnya disalin beberapa teks ke clipboard, operasi Paste masih dapat

digunakan. Berikut contoh penggunaan PasswordEditField:

PasswordEditField pass = new PasswordEditField("Password:","");

add(pass);

2.12 EmailAddressEditField

EmailAddressEditField serupa dengan editfield hanya saja dapat menyaring dan memvalidasi

karakter yang benar untuk alamat email. Jika pengguna menekan tombol spasi pada

EmailAddressEditField maka yang akan muncul adalah simbol @. Berikut contoh

penggunaannya:

EmailAddressEditField addr = new EmailAddressEditField("Email: ","");

add(addr);

2.13 ActiveAutoTextEditField

ActiveAutoTextEditField merupakan edit field yang memungkinkan agar pengguna untuk

menyorot tulisan yang ada di dalamnya. Data yang secara otomatis dibuatkan highlight

adalah alamat email, alamat website dan nomor telepon. Pengguna nantinya dapat membuka

aplikasi terkait saat mengklik alamat website misalkan maka akan langsung membuka web

browser. Berikut cara menggunakan ActiveAutoTextEditField:

ActiveAutoTextEditField activeauto = new

ActiveAutoTextEditField("ActiveAuto:","silakan kunjungi www.google.com");

add(activeauto);

28

Page 18: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

Gambar 2.10 Tampilan program saat dijalankan pada simulator

2.14 AutoEditText

AutoEditTextField menggunakan database sederhana untuk mengonversi salah satu karakter

ke karakter lain. AutoEditTextField hanya mengenal bahasa inggris namun field ini bukanlah

spell checker. Walaupun demikian, kesalahan ketik yang umum seperti "teh" akan dikoreksi

menjadi "the" selain itu Autoedittextfield juga dapat secara otomatis membuatkan huruf

kapital di setiap kata atau memperbaiki format tulisan. Namun, kata seperti "ill" tidak secara

otomatis berubah menjadi "i'll" karena "ill" itu sendiri sebuah kata. Berikut contoh

penggunaan AutoEditTextField:

AutoTextEditField auto = new AutoTextEditField("Auto: ", "");

add(auto);

29

Page 19: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

AutoTextEditField autoNoCap = new AutoTextEditField("AutoNoCap: ","", 25,

AutoTextEditField.AUTOCAP_OFF);

add(autoNoCap);

AutoTextEditField autoNoPunc = new AutoTextEditField("AutoNoPunc: ",

"",25,AutoTextEditField.AUTOPERIOD_OFF);

add(autoNoPunc);

2.15 RichTextField

Dinamakan RichTextField karena mampu menampilkan banyak tipe format teks yang tidak

dapat dilakukan tipe field lainnya. Fitur khususnya adalah untuk menampilkan teks dalam

font berbeda dan warna yang berbeda. Tipe field ini bersifat Read Only yang berarti hanya

dapat menampilkan tulisan tanpa bisa diedit pengguna. Berikut contoh penggunaan

RichTextField:

Font someFont;

try{someFont = FontFamily.forName("BBClarity").getFont(FontFamily.SCALABLE_FONT,10); }catch (ClassNotFoundException e){someFont = Font.getDefault(); }Font fonts[] = new Font[5]; fonts[0] = Font.getDefault(); fonts[1] = Font.getDefault().derive(Font.BOLD); fonts[2] = Font.getDefault().derive(Font.UNDERLINED); fonts[3] = Font.getDefault().derive( Font.ITALIC); fonts[4] = someFont; byte attributes[] = new byte[8];int offsets[] = new int[9]; offsets[0] = 0; attributes[0] = 0; offsets[1] = 2; attributes[1] = 1; offsets[2] = 15; attributes[2] = 0; offsets[3] = 20; attributes[3] = 3; offsets[4] = 27; attributes[4] = 0; offsets[5] = 35; attributes[5] = 2; offsets[6] = 40;

30

Page 20: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

attributes[6] = 4; offsets[7] = 50;

attributes[7] = 0; offsets[8] = 57; RichTextField rich = new RichTextField(); rich.setText("A RichTextField can display text in many different fonts.", offsets,attributes,fonts); add(rich);

Gambar 2.11 Tampilan program saat dijalankan pada simulator

31

Page 21: jak-stik.ac.idjak-stik.ac.id/files/LPK/Workshop_5_Hari/Blackberry/Modul_02.docx  · Web viewTitle (judul aplikasi yang muncul di layar utama), Anda dapat memberi nama sesuai dengan

32


Top Related