jawaban jeni all by haris-mbozo stmik mataram

66
Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:59:50 1 . Cara apa yang digunakan untuk membuat sebuah class menjadi class Thread? Mengekstends thread deklarasi kelas Mengimplements thread Runnable Membuat objek thread setelah extends Memanggil method start() setelah membuat objek Meng override method run() Semuanya Benar 2 . Bagaimana cara untuk menghentikan operasi looping while pada Thread? memberikan sebuah flag yang mengkondisikan syarat looping while tersebut terus mengulang atau berhenti mengulang. memberikan sebuah flag untuk mengeksekusi method sleep() dengan kondisi yang ditentukan. men-trigger Thread tersebut dari suatu external event yang ditetapkan, agar Thread berubah state. memberikan sebuah flag untuk mengeksekusi method stop() dengan kondisi yang ditentukan. memberikan sebuah flag untuk mengeksekusi method

Upload: harisrustaman

Post on 12-Jun-2015

309 views

Category:

Documents


5 download

DESCRIPTION

ne buat tman teman TKJ yang blum ujian, moga lulus smua ya...

TRANSCRIPT

Page 1: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:59:50

1. Cara apa yang digunakan untuk membuat sebuah class menjadi class Thread?

 

Mengekstends thread deklarasi kelas

   

Mengimplements thread Runnable

   

Membuat objek thread setelah extends

   

Memanggil method start() setelah membuat objek

   

Meng override method run()

   

Semuanya Benar

   

2. Bagaimana cara untuk menghentikan operasi looping while pada Thread?

 

memberikan sebuah flag yang mengkondisikan syarat looping while tersebut terus mengulang atau berhenti mengulang.

   memberikan sebuah flag untuk mengeksekusi method sleep() dengan kondisi yang ditentukan.

   men-trigger Thread tersebut dari suatu external event yang ditetapkan, agar Thread berubah state.

   memberikan sebuah flag untuk mengeksekusi method stop() dengan kondisi yang ditentukan.

   memberikan sebuah flag untuk mengeksekusi method close() dengan kondisi yang ditentukan.

   

3. Cara mana yang paling tepat untuk menghentikan Thread pada J2ME?  Menggunakan flags / variabel tambahan utuk mengecek apah thread masih

berjalan

Page 2: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

Menggunakan method stop()

   

Meggunakan method interrupted()

   

Menggukan method yield()

   

Menggunakan method sleep()

   

4. Untuk menghentikan thread dibutuhkan

 

stop()

   

thread tidak dapat dihentikan

   

sleep()

   thread hanya dapat dihentikan dengan meggunakan method finish() yang telah dideklarasikan dalam class tersebut

   

cancel()

   

5. Method pada class Thread yang support aplikasi desktop dan mobile adalah?

 

getAllStackTraces();

   

dumpStack();

   

getStackTrace();

   

getThreadGroup();

   

interrupt();

   

Page 3: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

6. Jumlah minimum thread yang berjalan bersamaan, yang harus disupport oleh setiap MIDlet suite adalah?

 

1

   

3

   

10

   

Dua thread untuk setiap class dari MIDlet suite

   

7. Perhatikan code berikut ini. Keluaran apa yang akan dihasilkan?

 

Proses compile gagal karena sebuah error pada baris ke 4

   

Proses compile gagal karena sebuah error pada baris ke 7

   

Proses compile berhasil dan program berjalan tanpa error

   

Proses compile gagal karena sebuah error pada sebuah baris selain 4 atau 7

   Proses compile berhasil, tapi program menghasilkan sebuah runtime exception atau error

   

Page 4: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

8. Thread memungkinkan sebuah aplikasi Java untuk melakukan hal-hal berikut ini, kecuali..

 

Menjalankan suatu operasi tertentu pada background.

   

Melakukan beberapa perhitungan pada waktu yang bersamaan.

   

Melakukan banyak operasi secara berurutan (sekuensial).

   Mengeksekusi suatu method, sementara method lain dalam keadaan dieksekusi (berjalan).

   

Melakukan beberapa eksekusi yang bersamaan.

   

9. Perhatikan kode berikut ini:

Mengapa berdasarkan kode diatas proses pertama, kedua, dan ketiga tidak selalu bekerja berurutan?

  Karena terdapat pemanggilan method sleep() dalam loop

   ketiga proses tersebut tidak tampil berurutan karena pada saat mereka berada pada state runnable(akan running), PROCESSOR-lah yang akan mengatur, thread mana yang akan tampil terlebih dahulu

   

Page 5: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

ketiga proses diatas memang tidak tampil berurutan, tetapi thread pertama selalu tampil terlebih dahulu, baru kemudian proses kedua dan ketiga tampil secara acak tergantung oleh proses algorithma dalam PROCESSOR

   ketiga proses diatas tidak tampil berurutan bergantung pada time slicing dan priority pada PROCESSOR

   ketiga proses diatas tidak tampil berurutan bergantung pada time slicing pada PROCESSOR

   

ketiga proses diatas tidak tampil berurutan karena priority-nya berbeda

   ketiga proses diatas tidak tampil berurutan karena ketiga process tersebut berada dalam kondisi waiting terlebih dahulu sebelum berada pada state runnable

   

10.

Pernyataan mana yang benar mengenai penggunaan object Thread di dalam sebuah CLDC 1.1 compliant virtual machine?

 

Untuk menghentikan sebuah Thread, seorang developer dapat menggunakan method stop()

   

Sebuah Thread dapat dihentikan hanya dari dalam sebuah class MIDlet

   

Sebuah Thread tidak mungkin bisa memaksa menghentikan Thread lain

   Sebuah Thread hidup sampai keluar dari method run() yang dipanggil pada saat startup

   

11.

System.out.println(Thread.MAX_PRIORITY)Apakah output dari kode di atas?

  1

   

10

   

15

   

Page 6: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

50

   

100

   

12.

Berikut ini merupakan deklarasi constructor Thread, kecuali..

 

Thread();

   

Thread(String name);

   

Thread(Runnable target);

   

Thread(Runnable target, String name);

   

Thread(int c);

   

13.

Keluaran apa yang akan dihasilkan, jika sebuah pemanggilan terhadap method serviceRepaints(), memicu sebuah thread terpisah untuk memanggil method paint()?

 

Sebuah deadlock selalu terjadi

   

Sebuah exception akan dilempar pada saat runtime

   

MIDP bebas dari thread, maka tidak akan pernah terjadi deadlock

   System akan mengalami deadlock jika caller method serviceRepaints() memegang sebuah lock, yang juga dibutuhkan oleh method paint()

   

14.

Yang bukan merupakan state dari thread adalah :

  Alive

   

Page 7: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Running

   

Already

   

Suspended

   

Terminated

   

15.

Sebuah class dapat menjalankan sebuah thread jika

 

Merupakan instance dari java.util

   

Class tersebut mengoverride method run.

   

Menggunakan method start()

   

Terdapat dalam method run()

   

Terdapat dalam live thread

   

16.

Diantara pilihan berikut ini yang dikategorikan sebagai live thread adalah?

 

Running

   

Terminated

   

Ready

   

UpDate

   

Suspended

   

Page 8: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

17.

Apabila sebuah MIDlet telah memasuki kondisi pause. Tindakan benar manakah untuk membuat MIDlet tersebut aktif?

 

MIDlet memanggil method startApp() kepunyaannya

   

MIDlet harus menunggu untuk di-jadwal ulang

   

MIDlet tidak dapat diubah menjadi kondisi aktif

   

MIDlet memanggil resumeRequest() melalui sebuah timer

   

18.

Apakah kegunaan dari Thread

 

Menjalankan beberapa proses secara bersamaan

   

Menjalankan proses secara berulang-ulang

   

Mengatur jalannya program

   

Menghentikan program yang sedang berjalan

   

19.

Langkah apakah yang harus kita tambahkan pada class CobaThread2 dan juga pada class Counter, sehingga apabila midlet tersebut dijalankan akan mendapatkan hasil sesuai dengan persyaratan berikut ini :1. Sebuah thread akan menjalankan looping 1 s.d 20,sekaligus mencetak nilai dari loop yang sedang berjalan, dimana pada setiap kelipatan 5 akan tampil string "hahahaha".2. Terdapat delay sebesar 1 detik, disetiap kelipatan 5, pada loop yang sedang berjalan

Page 9: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 dan

   

dan

   

dan

   

dan

   

dan

Page 10: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

dan

   

20.

Berikut ini method yang didukung pada J2ME thread adalah

 

active()

   

current()

   

join()

   

start()

   

sleep()

   

Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:57:51

1. Method dari Canvas yang kemudian di-override di dalam GameCanvas adalah?

Page 11: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

paint()

   

getGraphics()

   

getKeyStates()

   

flushGraphics()

   

flushGraphics(int, int, int)

   

2. Graphics g = getGraphics();

Apakah output kode di atas?

 

Gambar sprite

   

Gambar kotak hitam

   

Gambar kotak putih

   

Tak muncul gambar apa-apa

   

3. Perhatikan code berikut ini:

Pilihan mana yang benar?  serviceRepaints() di-block, menunggu return dari paint()

   

Page 12: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

method paint() selalu dipanggil dua kali, salah satunya jika ada request terhadap repaint()

   jika terjadi overlap pada dua region yang ditentukan di dalam repaint(), repaint() akan mencoba menggambar gabungan dari dua area tersebut

   method paint() dipanggil tiga kali, salah satunya untuk repaint() dan serviceRepaints()

   

4. Sebuah game J2ME menggunakan GameCanvas dan perulangan yang sedikit lambat untuk mendapatkan key states, untuk kemudian memproses hasilnya. Jika seorang player menekan tombol atas dan bawah dengan cepat dan terus menerus, apa hasil tindakan tersebut ?

 

Semua penekanan akan hilang dan menghasilkan permainan yang buruk

   Game akan berhenti dengan status ArrayIndexOutOfBoundsException karena penekanan tombol yang tak beraturan

   

getKeyStates akan memastikan bahwa tak ada penekanan yang hilang

   Supaya game dapat dijalankan dengan baik, thread lain harus digunakan untuk mengawasi penekanan tombol

   

5. Apa kelebihan penggunaan GameCanvas?

 

memiliki method getKeyStates yang memudahkan pemilihan key

   

memiliki banyak thread

   

respon yang lebih cepat

   

menggunakan single thread

   

graphic yang lebih bersih

   

Page 13: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

6. Di dalam spesifikasi JTWI 1.0, mana screen size yang direkomendasikan sebagai return dari Canvas.getHeight() dan Canvas.getWidth(), ketika dalam posisi full screen?

 

96x54 pixel

   

125x125pixel

   

176x208pixel

   

320x240pixel

   

7. Apa yang terlihat pada display ketika MIDlet dibawah ini dijalankan?

Page 14: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

Sebuah java.lang.RuntimeException akan dilempar

   Sebuah white screen akan ditampilkan sementara waktu, kemudian diikuti dengan tampilnya sebuah black screen

   Sebuah black screen akan ditampilkan sementara waktu, kemudian diikuti dengan tampilnya sebuah white screen

   

Screen secara berkala berubah warna dari hitam ke putih, kemudian sebaliknya.

   

8. Jika pada saat pertama kali menjalankan Gamecanvas, kita sedang menahan sebuah tombol, apakah tombol itu akan terdeteksi oleh GameCanvas?

 

Benar

   

Salah

   

9. Apa yang harus dilakukan untuk menghindari efek berkedip pada display?  memanggil method flushGraphics()

   

Page 15: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

menggunakan teknik double buffering

   

mengisi file image dengan lengkap

   

mendefinisikan thread baru

   

menggunakan method getKeyStates()

   

10.

Perhatikan class berikut ini. Pernyataan mana yang benar mengenai lebar1, tinggi1 dan lebar2, tinggi2?

 

Pemanggilan terhadap setFullScreenMode() diabaikan, karena dimensinya telah ditentukan

   

Nilai tinggi1 selalu sama dengan tinggi2

   

Nilai lebar1 selalu sama dengan lebar2

   System mencoba menyediakan maximum visible area dari MIDlet, dengan dimensi yaitu lebar2, tinggi2

   

11.

Pernyataan manakan yang benar di bawah ini dari GameCanvas ?

  Akan menambah performance dari aplikasi

   

Mekanisme penekanan tombol akan berubah

   

Page 16: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Ukuran gambar yang bisa ditampilkan bergantung pada layar mobile device

   Ukuran gambar yang bisa ditampilkan bergantung pada ukuran dimensi GameCanvas(tidak termasuk ticker, command, dsb)

   

12.

Pada saat penekanan tombol, tombol harus dilepaskan dahulu sebelum ditekan kembali agar dapat dideteksi oleh class GameCanvas

 

Benar

   

Salah

   

13.

Apa fungsi dari flushGraphics()?

 

menampilkan graphic ke display

   

untuk menggambarkan image graphic sementara

   

untuk menghindari flickering graphic

   

semua benar

   

14.

Bagaimana cara sebuah MIDlet yang menggunakan GameCanvas, dapat dengan efisien meng-update sebagian kecil region pada screen, dari data pada off-screen buffer?

  Pixel yang tidak di-flush harus dibuat transparan

   Panggil serviceRepaints() dan tentukan sebuah clip region pada method paint() di object Graphics

   Panggil flushGraphics(int , int , int ) yang menentukan bagian dari region yang akan di-flush

   

Page 17: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Tulis code tambahan untuk menyatukan pemanggilan flushGraphics(), dari banyak loop ke satu pemanggilan

   

15.

Perhatikan code berikut ini:

Apa yang terjadi ketika serviceRepaints() dipanggil?

 

Application langsung memanggil method paint()

   

Application di-block hingga ada return dari method paint()

   

Application langsung memanggil method repaint()

   

Application di-block hingga ada return dari method repaint()

   

16.

Method mana yang digunakan untuk memperoleh sebuah game event yang berhubungan dengan key code pada device?

 

keyPressed()

   

getGameAction()

   

getKeyStates()

   

keyReleased()

   

Page 18: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:36:45

1. Sebuah MIDlet diciptakan dengan menggunakan fitur media yang tersedia di dalam MIDP 2.0. Perubahan apa yang dilakukan terhadap MIDlet untuk sebuah device yang mendukung full MMAPI

 

MIDlet tidak dapat digunakan dalam MMAPI

   

Semua code yang menghasilkan tone dihapus

   

Pembuatan object Player harus dimodifikasi

   Tidak ada perubahan yang diperlukan. Media API MIDP merupakan turunan yang sesuai dari MMAPI

   

2. Suatu Player memainkan sebuah sound setelah method start() dipanggil. Cara mana yang paling efesien untuk mem-pause playback sehingga dapat dimulai secepat mungkin ketika dibutuhkan?

 

Panggil method stop() pada Player

   

Panggil method close() pada Player

   

Panggil method setRate(0) pada Player

   Panggil System.gc untuk mengumpulkan semua resource yang ditandai bagi garbage collection

   

3. Property mana dari sebuah Player yang dapat dimodifikasi oleh program?  time base

   

loop count

   

media source

Page 19: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

ukuran dari data buffer

   

media content type

   

4. Berikut ini merupakan hierarki class dan interface MIDP 2.0, kotak kosong pada gambar berikut dapat diisi dengan..

 

Manager

   

PlayerListener

   

VolumeControl

   

Media Exception

   

5. Pada kondisi manakah, Player telah melepas hampir seluruh resourcenya?  closed

   

prefetch

   

realized

   

started

   

unrealized

Page 20: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

6. Method mana yang paling efisien untuk menghasilkan keheningan diantara tone di dalam sebuah tone sequence?

 

Pause playback dan tentukan volume menjadi -1

   

Gunakan RateControl dengan ToneControl

   

Gunakan constant ToneControl.SILENCE

   

Hentikan playback dari tone sequence kemudian restart

   

7. Perhatikan code berikut ini. Keluaran apa yang akan dihasilkan jika device tidak men-support mediaTime pada p?

 

outputString di-set menjadi "mainkan!", tapi media tidak dimainkan

   

outputString di-set menjadi "IO exception!", dan media tidak dimainkan

   

outputString di-set menjadi "mainkan!", media dimainkan dari awal

   

outputString di-set menjadi "media exception!", dan media tidak dimainkan

   

8. Wav merupakan sebuah content type yang di-support oleh device yang meng-eksekusi

Page 21: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

code berikut ini. Pernyataan mana yang benar?

 

Hasilnya tergantung dari device bersangkutan

   

Sound.wav dimainkan pada device

   

Sebuah exception dihasilkan pada saat runtime

   Tidak ada exception yang dilempar pada saat runtime. Tidak ada suara yang dimainkan.

   

9. Object apa yang harus diciptakan untuk menghasilkan sebuah tone sederhana?

 

Sebuah Player harus diciptakan

   

Sebuah Player dan ToneControl harus diciptakan

   

Sebuah Player dan sebuah PlayerListener harus diciptakan

   

Tidak ada. Manager dapat digunakan untuk menghasilkan sebuah tone sederhana

   

10.

Perhatikan dua code berikut ini. Pernyataan mana yang benar?

  Dua code di atas akan menghasilkan keluaran yang sama

   

Code kedua memungkinkan developer untuk menentukan playback pitch

   

Page 22: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Code kedua memungkinkan developer untuk menentukan playback tempo

   

Manager.TONE_DEVICE_LOCATOR bukan merupakan field yang benar

   

11.

Perhatikan code berikut ini. Pernyataan mana yang benar?

 

Proses compile gagal

   

String "selesai" ditampilkan setelah playTone() dimainkan

   

String "selesai" ditampilkan langsung setelah playTone() dipanggil

   

Sebuah IllegalArgumentException dilempar pada saat runtime

   

12.

Sebuah game yang berjalan pada sebuah device J2ME yang support MMAPI, butuh memainkan tone pada background dari game. Sesekali game tersebut butuh memainkan suara ledakan.Code telah menciptakan dua object Player: satu untuk tone dan satu untuk audio WAV.Bagaimana developer mengetahui jika kedua audio stream dapat didengar secara simultan?

 

Memainkan audio stream secara simultan tidak dimungkinkan oleh implementasi MMAPI manapun

   Developer dapat meng-query system menggunakan System.getProperty("supports.mixing");

   

Karena dua object Player telah diciptakan

   

13.

Yang termasuk method dari class ToneControl adalah?

  setLevel()

Page 23: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

playTone()

   

setSequence()

   

startPlayback()

   

14.

Media control mana yang ada pada setiap device MIDP 2.0?

 

ToneControl

   

PitchControl

   

VideoControl

   

RecordControl

   

VolumeControl

   

15.

Perhatikan code berikut ini:

Pernyataan mana yang benar ?  Proses compile gagal

   

Program bergantung pada loop

   

Sebuah IllegalArgumentException dilempar pada saat runtime

   

Sebuah tone sequence muncul dan "Selesai" ditampilkan

Page 24: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

16.

Ketentuan pada spesifikasi JTWI sehubungan dengan bagaimana device mengimplementasikan Mobile Media API adalah?

 

Sebuah device JTWI harus men-support MIDI file playback

   

Sebuah device JTWI harus men-support MP3 file playback

   

Sebuah device JTWI harus men-support WAV file playback

   Sebuah device JTWI harus men-support HTTP, untuk proses download media file dari semua media format yang ter-support

   Sebuah device JTWI harus men-support Real Time Streaming Protocol(RTSP) untuk proses download media file

   

17.

Manager.createPlayer() dapat memuat synchronous blocking I/O operation, memungkinkan eksekusi dalam rentang waktu yang tidak dapat ditentukan. Cara mana yang paling efektif untuk menciptakan sebuah object Player dan kemudian menerima event yang di-generate oleh Player tersebut

 

Pastikan System.gc dipanggil sebelum menciptakan Player

   

Ciptakan Player pada current thread dan dengarkan event-nya pada

   Ciptakan Player dari sebuah InputStream, setelah mengkopi data ke dalam memory.

   Ciptakan Player di dalam sebuah thread terpisah dari user interface, lalu ciptakan sebuah Player Listener yang menerima event dari Player ini.

   

18.

Apa itu TimeBase?

  Sebuah interface top level MMAPI

   

Page 25: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Sebuah interface top level MIDP 2.0

   

Sebuah class MMAPI yang mengimplementasikan interface Control

   

Sebuah interface MIDP 2.0 meng-extends interface Control

   

19.

File obscure pada code di bawah ini merupakan sebuah content type yang tidak di-support oleh sebuah device.

 

Player di-set menjadi null

   

Sebuah exception dilempar pada saat runtime

   

File diterjemahkan menjadi sebuah file ASCII

   

File diterjemahkan menjadi sebuah file HTM

   

Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:55:8

1. Class apa saja yang dapat dimasukkan ke dalam append LayerManager ?  class Layer;

   

class Image;

   

class Canvas;

   

class Sprite;

   

Page 26: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

class TiledLayer;

   

2. Bagaimana hasil dari potongan listing program di bawah ini ?

 

   

   

   

Page 27: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

   

3. Perhatikan program berikut ini.

layerManager.insert(gambar1, 0);layerManager.append(gambar2);layerManager.insert(gambar3, 3);layerManager.append(gambar3);layerManager.remove(layerManager.getLayerAt(2));

Apa yang akan ditampilkan pada saat program dijalankan?

 

java.lang.IndexOutOfBoundsException

   

gambar1 akan dihapus

   

gambar2 akan dihapus

   

gambar3 akan dihapus

   

gambar4 akan dihapus

   

Page 28: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

4. Suatu image memiliki tinggi 300, lebar 400, background berwarna putih, dan dinyatakan dalam statement berikut ini :

layermanager.setViewWindow(40, 30, 450, 350)

Pernyataan mana yang benar ?

 

error exception.

   

menggambar semua screen menjadi putih

   

menampilkan gambar dengan resolusi 450 x 350 pada layar.

   

menampilkan gambar 300 x 400 pada layar.

   

menampilkan gambar 300 x 350 pada layar.

   

5. Apa yang akan ditampilkan pada layar, jika program dijalankan?

layerManager.insert(gambar1, 0);layerManager.append(gambar2);layerManager.insert(gambar3, 1);layerManager.append(gambar4);layerManager.append(gambar2);layerManager.append(gambar4);System.out.println(layerManager.getSize());

 

2

   

3

   

4

   

5

   

6

   

Page 29: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

6. Suatu display screen dengan tinggi 176 dan dengan lebar 220, dinyatakan dalam statement berikut ini :

layermanager.setViewWindow(200, 250, 150, 150);

Pernyataan mana yang benar ?

 

error exception.

   

menggambar semua screen menjadi putih.

   

menampilkan skala gambar 300 x 400 menjadi 450 x 350 pada layar.

   

menampilkan gambar 300 x 400 pada layar.

   

menampilkan gambar 300 x 350 pada layar.

   

7. Perhatikan program di bawah ini.

layerManager.append(gambar1);layerManager.append(gambar2);layerManager.insert(gambar3, 0);layerManager.insert(gambar4, 2);

Apa yang akan ditampilkan ada saat program dijalankan, jika gambar diurut dari bawah ke atas?

  java.lang.IndexOutOfBoundsException

   

exception

   menggambar dengan urutan dari bawah ke atas :1. gambar32. gambar13. gambar24. gambar4

   menggambar dengan urutan dari bawah ke atas :

Page 30: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

1. gambar42. gambar13. gambar24. gambar3

   menggambar dengan urutan dari bawah ke atas :1. gambar42. gambar33. gambar24. gambar1

   

8. Perhatikan code berikut ini:

Layer layer=sebuahLayerManager.getLayerAt(0);

Pernyataan mana yang benar?

 

Sebuah IllegalArgumentException akan dilempar

   

Sebuah ArrayIndexOutOfBoundsException akan dilempar

   

layer di-assign ke object Layer yang berlokasi pada index 0

   

getLayerAt() bukan merupakan method yang benar dari class LayerManager

   

9. Apa keuntungan penggunaan index pada insert(Layer l, int index) dibandingkan dengan append(Layer l) ?

  dapat menambahkan layer pada LayerManager dengan parameter index.

   

dapat menyisipkan layer pada LayerManager.

   

dapat menampilkan layer pada LayerManager dengan menggunakan index.

   

dapat mengatur letak penggambaran pada index.

   

dapat mengambil nilai index layer pada LayerManager.

Page 31: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

10.

Seorang mobile application developer menginginkan adanya pengurangan penggunaan memori dan peningkatan kecepatan sebuah game, dengan menggunakan MIDP 2.0 Game API. Berikut ini cara yang sesuai untuk memenuhi tujuan developer tersebut adalah?

 

GameCanvas game = new GameCanvas(true);// suppress key event

   SpriteKu.collidesWith(ScriptLain, false);//pixel level false

   

LayerManager.setViewWindow(0, 0, getWidth()+50, getHeight()+50);

   keyPressed(int keyCode){   //letakkan code untuk memproses keyPressed event disini}

   while(gameActive){   int keyStates = getKeyStates();   if((keyStates & LEFT_PRESSED) != 0){    // code untuk menggerakkan sebuah Sprite   }}

   

11.

Developer mendesain sebuah game yang menggunakan class LayerManager dan Sprite. Tiga object Sprite ditambahkan ke sebuah object LayerManager dan sebuah pemanggilan diletakkan pada method LayerManager.paint(Graphics, x, y). Bagaimana seharusnya proses render suatu object Sprite ke display device?

 

Sprite di-render melalui implementasi tertentu

   

Sprite yang dianimasi di-render pertama kali

   

Sprite di-render dengan urutan descending index

   

Sprite di-render dalam urutan random

   

Page 32: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

12.

Seorang developer mendesain sebuah game dengan menggunakan class LayerManager dan Sprite. Tiga object Sprite ditambahkan ke sebuah object LayerManager dan sebuah pemanggilan diletakkan pada method LayerManager.paint(Graphics, x, y). Dengan urutan yang bagaimana, object Sprite dapat dirender ke display milik device?

 

Sprite di-render dalam urutan random

   

Sprite yang dianimasi di-render pertama kali

   Sprite di-render dengan urutan index yang paling besar ke index yang paling kecil (descending)

   

Sprite di-render dengan implementasi tertentu

   

13.

Dimana letak gambar dan screen apabila terdapat potongan program seperti berikut?

 

   

Page 33: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

   

   

   

14.

Apa fungsi dari method append(Layer l)?

Page 34: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

menambahkan layer pada LayerManager.

   

menampilkan layer pada screen LayerManager.

   

menambahkan dan menampilkan layer pada screen LayerManager.

   

menghapus layer pada screen LayerManager.

   

mengambil nilai index layer pada LayerManager.

   

15.

Method yang digunakan untuk memperoleh layer dengan nilai index yang terakhir adalah?

 

append(Layer l);

   

insert(Layer l, int index);

   

getLayerAt(int index);

   

remove(Layer l);

   

getSize();

   

16.

Apa yang terjadi apbila terdapat baris program seperti ini?

 

Page 35: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

   

   

   

   

Page 36: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

17.

Bagaimana menggambar dan menempatkan gambar di bawah ini dengan menggunakan metode LayerManager ditampilkan pada screen mobile hanya 125 x 125 dan diletakkan pada sudut kanan bawah?

 

layerManager.paint(g, 125, 125);

   

layerManager.paint(g, getWidth(), getHeight());

   

layerManager.paint(g, getWidth()-125, getHeight()-125);

   

layerManager.paint(g, 0, 0);

   

layerManager.paint(g, 125, 0);

   

18.

Bagaimana meletakkan gambar pada titik awal dengan x = 30, y = 20 dengan luas 200 x 400 dan di letakkan pada pada sudut kiri atas, yang ditampilkan pada screen mobile hanya 125 x 125 ?

Page 37: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

layerManager.setViewWindow(30, 20,125,125);layerManager.paint(g, 200, 400);

   layerManager.setViewWindow(30, 20,125,125);layerManager.paint(g, 0, 0);

   layerManager.setViewWindow(30, 20, 200, 400);layerManager.paint(g, 125, 125);

   layerManager.setViewWindow(0, 0, 200, 400);layerManager.paint(g, 30, 20);

   layerManager.setViewWindow(0, 0, 125, 125);layerManager.paint(g, 200, 400);

   

19.

Bagaimana penggunaan metod dan parameter yang paling benar dalam menambahkan beberapa layer pada LayerManager?

 

layerManager.insert(Sprtie s);

   

layerManager.insert(Layer l);

   

layerManager.append(Image i);

   

layerManager.insert(Image i);

   

layerManager.append(Layer l);

   

Page 38: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

20.

Perhatikan program di bawah ini.layerManager.insert(gambar1, 1);layerManager.append(gambar2);layerManager.insert(gambar3, 3);layerManager.append(gambar4);Apa yang akan ditampilkan pada saat program dijalankan, jika gambar diurut dari bawah ke atas?

 

java.lang.IndexOutOfBoundsException

   

exception

   menggambar dengan urutan dari bawah ke atas :1. gambar32. gambar13. gambar24. gambar4

   menggambar dengan urutan dari bawah ke atas :1. gambar42. gambar13. gambar2 4. gambar3

   menggambar dengan urutan dari bawah ke atas :1. gambar42. gambar33. gambar24. gambar1

   

80Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:58:13

1. Pernyataan mana yang benar mengenai object TiledLayer dan Sprite yang diperoleh oleh object LayerManager?

  Object Sprite selalu ditambahkan sebagai background layer

   

Object TiledLayer selalu ditambahkan sebagai background layer

   

Page 39: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Object Sprite dan TiledLayer dapat disisipkan pada posisi yang tertentu di LayerManager

   Jika object Sprite atau TiledLayer ditambahkan, urutannya dapat diubah hanya dengan menciptakan dan menambahkannya ke sebuah LayerManager yang baru

   

2. Susunlah pasangan bata dengan lebar 2 bata dan tinggi 3 bata dengan potongan gambar sebagai berikut!

 

   

   

   

   

   

3. Bagaimana penulisan kode program pada TiledLayer dengan 5 kolom dan 7 baris dengan ukuran 5 potongan gambar dengan luas 120 x 20 piksel berikut ini?

Page 40: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

   

   

   

   

Page 41: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

4. Diketahui sebuah gambar sebagai berikut

Bagaimanakah gambar yang dihasilkan jika diketahui potongan program di bawah ini?

 

   

   

Page 42: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

   

   

5.

Diketahui potongan gambar berikut ini dan potongan kode program berikut.

Gambar manakah yang sesuai?

Page 43: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

   

   

   

   

   

6. Bagaimana cara sebuah TiledLayer dapat menentukan urutan dari frame pada animated tiles?

  Urutan dari frame diperoleh dari animated Sprite

Page 44: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   Urutannya tidak dapat ditentukan. Animation hanya dimungkinkan dengan menggunakan sebuah Sprite.

   

Tile yang akan ditampilkan harus ditentukan pada tiap frame di animation

   

Urutan dari frame diperoleh dari lokasi pada source image

   

7. Ketika sebuah LayerManager di-render, isi dari object Sprite dan TiledLayer di-render menggunakan informasi posisi yang dimiliki masing-masingnya. Bagaimana cara me-render area pada LayerManager yang tidak digunakan oleh Sprite atau TiledLayer?

 

Pixel pada destination ditampilkan putih

   

Pixel pada destination dibiarkan saja

   

Pixel pada destination ditampilkan putih, Display.COLOR_BACKGROUND

   Tidak bisa di-render. Developer harus memastikan bahwa area tersebut terletak di luar dari clip region

   

8. Method dan parameter yang salah pada class TiledLayer dengan object tiled adalah?

 

tiled.setAnimatedTile(int animatedTileIndex, int staticTileIndex);

   

tiled.setStaticTileSet(Image image, int tileWidth, int tileHeight);

   

tiled.paint(Graphics g);

   

tiled.getCell(int col, int row);

   

tiled.fillCells(int col, int row, int numCols, int numRows);

   

9. Jika ingin menggambar sebuah map seperti di bawah ini

dengan menggunakan gambar berikut ini

Page 45: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

.Manakah array map yang benar?

 

(salah)   

   

(benar)   

   

   

10. Terdapat potongan program berupa map array sebagai berikut.

Page 46: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

dengan hasil gambar seperti dibawah ini.

Manakah resource yang sesuai?

 

   

   

   

   

   

11. Terdapat sebuah animasi. Diketahui potongan program berikut ini.

Dengan potongan gambar berikut dan gambar pertama sebagai berikut.

Page 47: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Menurut potongan program di atas gambar manakah yang merupakan gambar selanjutnya dari animasi tersebut?

 

   

   

   

   

Page 48: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

12. Apa yang terjadi jika terdapat nilai nol pada komponen variabel array map dengan gambar tiled ini

?

 

Terjadi error exception.

   

Tidak menggambar apapun.

   

Akan menggambar .   

Menampilkan error script

   

Menampilkan angka 0.

   

13. Bagaimana menyusun potongan gambar berikut ini

menjadi gambar yang utuh seperti pada gambar bawah ini?

 

Page 49: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

   

   

   

   

Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 0:30:15

1. Perhatikan code berikut ini:

Pernyataan mana yang benar mengenai method scheduleExecutionTime()?

  Method ini biasanya dipanggil dari luar method run() pada task

   

Me-return scheduled execution time dari eksekusi yang paling aktual dari task tersebut

   

Page 50: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Method ini biasanya digunakan bersamaan dengan fixed-delay execution repeating task

   

Return value-nya bersifat undefined jika task telah memulai eksekusi pertamanya

   

Merupakan method dari class Timer

   

Merupakan method dari class TimerTask

   

2. Value apa yang akan di-return oleh method cancel(), untuk task yang dijadwalkan one-time execution dan repeated execution?

 

0

   

true

   

IllegalArgumentException

   

false

   

3. Apa yang akan terjadi jika program di bawah ini dijalankanTimer timer = new Timer();TimerTask timerTask = new Task();timer.schedule(task, 15000);

 

Program akan dieksekusi setiap 15 detik

   

Program akan berjalan selama 15 detik dan diulang kembali dalam waktu berikutnya.

   

Program berjalan setelah 15 detik.

   

Runtime error.

   

Compile error.

   

4. Pernyataan mana yang benar mengenai Timer?

  Multiple thread tidak pernah sharing sebuah object Timer tunggal

   

Page 51: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Sebuah thread tidak dapat menghentikan sebuah object Timer jika menjalankan sebuah task

   Multiple thread dapat men-share sebuah object Timer tunggal, tanpa menggunakan external synchronization

   Multiple thread dapat men-share sebuah object Timer tunggal hanya dengan menggunakan external synchronization

   

5. Membunyikan alarm setiap jam atau menjalankan scheduled maintenance setiap hari pada waktu yang telah ditentukan, merupakan beberapa contoh task, dari penggunaan method?

 

scheduleAtFixedRate(TimerTask task, Date firstTime, long period)

   

scheduleAtFixedRate(TimerTask task, long delay, long period)

   

scheduleAtFixedRate(TimerTask task, TimerTask firstTime, long period)

   

scheduleAtFixedRate(Date task, long delay, long period)

   

6. Apa yang harus dilakukan untuk menghentikan sebuah Timer?

 

Memanggil method run kemudian dilanjutkan method stopTimer.

   

Memanggil method stopTimer.

   

Memanggil method stopTimer kemudian method start.

   

Memanggil method cancel.

   

Memanggil method start dan method cancel.

   

7. Apa yang akan terjadi jika program di bawah ini dijalankan?Timer a = new Timer();TimerTask b = new Task();timer.schedule(b, 8000);timer.schedule(b, 7000, 8000);

  Program akan berjalan selama 7 detik dan diulang kembali dalam waktu 8 detik.

   

Program akan dieksekusi setiap 7 detik.

   

Page 52: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

Eksekusi terjadi setelah 8 detik.

   

Runtime error.

   

Program akan berjalan 8 detik.

   

8. Interface apakah yang di-implement oleh class TimerTask?

 

Date

   

Time

   

Runnable

   

Object

   

Date

   

9. Class yang digunakan untuk mendefinisikan dan menjadwalkan task adalah?

 

java.util.TimerTask

   

java.util.Schedule

   

java.util.Vector

   

java.util.Timer

   

10. Berikut ini merupakan deklarasi class yang digunakan pada proses schedule task, kecuali..

  java.lang.TimerTask

   

java.util.TimerTask

   

java.microedition.Timer

   

java.lang.Timer

Page 53: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

   

java.util.Timer

   

11. Pernyataan mana yang benar mengenai Timer?

 

Mengextend kelas Runnable

   

Mengextend kelas Object

   

Fasilitas untuk menjadwalkan task secara berulang-ulang

   

Fasilitas untuk menjadwalkan banyak task

   

Fasilitas hanya untuk menjadwalkan satu task saja

   

12. Method yang digunakan untuk menjadwalkan task khusus yang dieksekusi dalam repeated fixed-delay, dimulai setelah delay yang ditentukan?

 

schedule(TimerTask task, Date firstTime, long period)

   

schedule(TimerTask task, long delay, long period)

   

schedule(TimerTask task, long delay)

   

schedule(TimerTask task, Date time)

   

13. Berapakah jumlah penggunaan maximal Timer pada sebuah aplikasi J2ME?

  Tergantung kecepatan perangkat mobile

   

Tidak ada batasan untuk menggunakan timer

   

8

   

4

   

Terbatas dari memory perangkat mobile

   

Page 54: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

14. Jika sebuah TimerTask telah terhenti, misalnya pada saat method cancel() nya dipanggil, semua usaha untuk men-schedule task baru akan menghasilkan :

 

IllegalStateException

   

Task tetap akan dijalankan sesuai yang di schedule

   

TimerStateException

   

IllegalArgumentException

   

Script akan error dan program tak dapat dijalankan

   

15. Apakah yang akan dihasilkan oleh potongan script di atas di bawah ini?

  Timer akan bekerja setelah 3 detik dan menampilkan SuccesCanvas

   

Timer akan menampilkan SuccesCanvas selama 3 detik

   

Terjadi error compile karena terdapat 2 penjadwalan timer

   

Timer akan bekerja setelah 13 detik dan menampilkan SuccesCanvas

   

Runtime error akan terjadi dan tidak akan tampil apapun di layar

   

Page 55: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

16. Keluaran apa yang akan dihasilkan oleh code berikut ini?

 

Sebuah exception akan dilempar pada saat runtime

   

myForm memuat string "waiting..."

   

myForm memuat string "run count: 0"

   

myForm memuat string ";run count: 1"

   

myForm memuat string "run count: 2"l;

   

17. Apakah yang menjadi output dari program di bawah ini

Page 56: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

True dan akan terjadi Exception

   

True dan mainMenu akan ditampilkan setelah 3 detik

   

False dan akan terjadi Exception

   

False dan mainMenu akan ditampilkan setelah 3 detik

   

Tak ada jawaban yang benar

   

18. Dari pilihan berikut ini yang termasuk method milik class Timer adalah?

 

schedule(TimerTask task, Time time)

   

schedule(TimerTask task, Date firstTime, long period)

   

schedule(TimerTask task, float delay)

   

schedule(TimerTask task, long delay, long period)

   

scheduleAtFixedRate(Timer task, Date firstTime, long period)

   

19. Pilihan mana yang digunakan untuk menciptakan sebuah Timer yang akan mati dalam waktu 5 detik, diulang setiap 3 detik?

Page 57: Jawaban Jeni ALL by haris-mbozo STMIK Mataram

 

timer.schedule(timerTask, 5, 3);

   

timer.schedule(timerTask, 5000, 3000);

   

timer.scheduleAtFixedRate(timerTask, 5, 3);

   

timer.scheduleAtFixedRate(timerTask, 5000, 3000);

   

timer.schedule(timerTask, new Date().getTime()+5000, 3000);

   

20. Jika Script di bawah ini dijalankan, apakah yang akan terjadi?

 

mainMenu akan ditampilkan setelah 3000 detik

   

mainMenu akan ditampilkan setelah 3 detik

   

program akan terus berjalan tanpa menjalankan timerTask yang telah di schedule

   

program akan terhenti karena terjadi Exception

   

Tak ada jawaban yang benar

   

Page 58: Jawaban Jeni ALL by haris-mbozo STMIK Mataram