Jeni 4

Kunci jawaban Jeni 1 Ini Untuk dipelajari Bukan di Contek

1. Apakah fungsi dari potongan kode dibawah ini?

Meberhentikan waktu
Menjalankan waktu.
Menghapus waktu.
Menampilkan class succescanvas
Memberhentikan sementara.
2. Manakah pernyataan yang benar tentang class Timer?
Sebuah class yang digunakan untuk menjadwalkan kegiatan akan datang (future task) yang akan dieksekusi sebagai background
Class ini tidak mendukung real-time proses
Class ini menjadwalkan task menggunakan method wait() dalam class Object
VM akan secara otomatis memanggil fungsi timer pada class ini
E. Fungsi timer dalam class ini dipanggil sesuai dengan request pada aplikasi
3. Dari method berikut ini apa maksud dari ttCanvas.repaint(50, 50, 20, 20) ?

Menggambar kembali pada class Canvas degan posisi x = 20, y = 20, panjang = 50, dan lebar 50.
Menggambar kembali pada class Canvas degan posisi x = 50, y = 20, panjang = 50, dan lebar 20.
Menggambar kembali pada class Canvas degan posisi x = 50, y = 50, panjang = 20, dan lebar 20.
Menggambar kembali pada class Canvas degan posisi x = 20, y = 50, panjang = 50, dan lebar 20.
Menggambar kembali pada class Canvas degan posisi x = 50, y = 20, panjang = 20, dan lebar 50.
4. Berapa banyak thread yang akan berjalan apabila object Timer dijalankan?
1
2
3
4
5. Apa maksud dari method berikut ini?

Menjalankan pertama kali method stopTimer pada class midlet.
Menjalankan pertama kali method stopTimer pada class canvas.
Menjalankan terakhir method stopTimer pada class midlet.
Menjalankan terakhir method stopTimer pada class canvas.
Menghentikan method stopTimer pada akhir program pada class midlet.
6. Method manakah yang mampu menghitung dengan selang waktu tetapi pada saat awal tampil menggunakan waktu yang lain ?
schedule(TimerTask task, Date firstTime, long period);
scheduleAtFixedRate(TimerTask task, Date firstTime, long period);
schedule(TimerTask task, Date time);
scheduleAtFixedRate(TimerTask task, long delay, long period);
schedule(TimerTask task, long delay, long period);
7. Pilih salah satu method yang dimiliki oleh Class TimerTask!
schedule(TimerTask task, Date firstTime, long period);
scheduleAtFixedRate(TimerTask task, Date firstTime, long period);
schedule(TimerTask task, Date time);
cancel();
scheduleAtFixedRate(TimerTask task, long delay, long period);
8. Method dan parameter yang salah pada class Timer dengan object timer adalah?
timer.schedule(TimerTask task, long delay);
timer.schedule(TimerTask task, long delay, long period);
timer.schedule(TimerTask task, Date firstTime, long period);
timer.scheduleAtFixedRate(TimerTask task, long delay);
timer.scheduleAtFixedRate(TimerTask task, long delay, long period);
9. Bagaimana untuk menjalankan delay 1 detik (secara konstan) pada class TimerTask dengan object task, dan class Timer dengan object timer?
timer.schedule(task, 100);
timer.schedule(task, 100, 1000);
timer.schedule(task, 1000, 100);
timer.scheduleAtFixedRate(task, 1000);
timer.scheduleAtFixedRate(task, 1000, 1000);
10. Manakah potongan kode program yang benar dalam penggunaan method untuk menjalankan waktu?
xxxxxxx
11. Apa yang terjadi jika potongan kode dibawah ini dijalankan?

menampilakan selang waktu pertama 2000 milisecond dan seanjutnya 100 milisecond.
menampilakan selang waktu pertama 100 milisecond dan seanjutnya 2000 milisecond.(X)
menampilakan selang waktu 2000 saja.
menampilakan selang waktu 100 saja.
menampilakan delay pertama 2000 x 100 milisecond.
12. Dari pernyataan-pernyataan berikut ini, manakah yang merupakan pernyataan yang benar tentang scheduler dalam TimerTask?
Setiap scheduler dijalankan dalam waktu tertentu
Setiap scheduler bisa dijalankan setelah adanya delay tertentu (dalam miliseconds)
Scheduler bisa dijalankan hanya sekali, atau bisa dijalankan beberapa kali pada interval tertentu
Scheduler bisa dieksekusi beberapa kali yang secara relatif mengacu pada eksekusi periode yang pertama
13. Apa maksud dari method dibawah ini?

Menjalankan pertama kali method startTimer pada class midlet.
Menjalankan pertama kali method startTimer pada class canvas.
Menjalankan terakhir method startTimer pada class midlet.
Menjalankan terakhir method startTimer pada class canvas.
Menghentikan method startTimer pada akhir program pada class midlet.
14. Mengapa sebuah TimerTask harus didefinisikan diluar MIDlet ?
Karena TimerTask merupakan sebuah abstract yang tidak bisa didefinisikan/diimplementasikan bersamaan dengan MIDlet
Karena TimerTask memiliki fungsi yang berbeda dengan MIDlet
Karena TimerTask merupakan thread yang berbeda dengan MIDlet
Karena TimerTask merupakan sebuah interface yang tidak dapat diimplementasikan didalam MIDlet
. Bagaimana cara menambahkan sebuah sprite pada class LayerManager dengan dengan gambar yang sama seperti pada gambar di bawah ini?

VVVVVVVVVV
2. Method dan parameter yang salah pada class LayerManager adalah?
layermanager.getLayerAt(int index);
layerManager.insert(Layer l, int index);
layerManager.remove(Layer l, int index);
layerManager.setViewWindow(int x, int y, int width, int height);
layerManager. getSize();
3. Apa yang terjadi apbila terdapat baris program seperti ini?

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

VVVVVVVVVVVV
5. 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);
6. 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); (X)
7. Bagaimana caranya membuat sebuah background tepat pada screen tengah mobile device dengan ukuran gambar 128 x 128 seperti pada gambar dibawah ini?

layerManager.paint(g, (getWidth()-128)/2, (getHeight()-128)/2);
layerManager.paint(g, 128/2, 128/2);
layerManager.paint(g, getWidth()/2, getHeight()/2);
layerManager.paint(g, getWidth()-128, getHeight()-128);
layerManager.paint(g, getWidth(), getHeight());
8. 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
}
}
9. Bagaimana menganimasikan gambar pada LayerManager apabila menekan keypad select akan memanjangkan layar tersebut dengan arah ke kanan?
VVVVVVVVVVVVVVVVVVVVVVV
10. 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 ?

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);
11. 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
12. Bagaimana hasil dari potongan listing program di bawah ini ?

VVVVVVVVVVVVVVV
Jika ingin menggambar sebuah map seperti di bawah ini

dengan menggunakan gambar berikut ini
.
Manakah array map yang benar?
VVVVVVV
2. Susunlah pasangan bata dengan lebar 2 bata dan tinggi 3 bata dengan potongan gambar sebagai berikut!
VVVVVV
3. Terdapat potongan program berupa map array sebagai berikut.

dengan hasil gambar seperti dibawah ini.

Manakah resource yang sesuai?
VVVVV
4. 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.
5. Terdapat sebuah animasi. Diketahui potongan program berikut ini.

Dengan potongan gambar berikut dan gambar pertama sebagai berikut.

Menurut potongan program di atas gambar manakah yang merupakan gambar selanjutnya dari animasi tersebut?
VVVVVVVV
6. 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);
7. 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?
VVVVVVVV
8. Bagaimana cara sebuah TiledLayer dapat menentukan urutan dari frame pada animated tiles?
Urutan dari frame diperoleh dari animated Sprite
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
9. 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
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
10. Bagaimana menyusun potongan gambar berikut ini

menjadi gambar yang utuh seperti pada gambar bawah ini?
VVVVVVVV
11. Diketahui potongan gambar berikut ini dan potongan kode program berikut.

Gambar manakah yang sesuai?
VVVVVVVV
12. Diketahui sebuah gambar sebagai berikut

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

1. Apa yang terjadi jika potongan listing program di bawah ini dijalankan?

2. Apakah fungsi method flushGraphics() yang terdapat pada GameCanvas?

Untuk menggambar

Menampilkan gambar

Menggambar kembali.

Menghilangkan gambar berkedip (ini jawabannya)

Menampung gambar sementara

3. Manakah berikut ini yang merupakan Field dari kelas GameCanvas?

UP_PRESSED (ini jawabannya)

DOWN_PRESSED (ini jawabannya)

GAME_A

GAME_B

GAME_C

4. Pada mobile device, konstanta manakah yang sesuai untuk mengaktifkan keypad No. 1 pada game canvas?

GAME_A_PRESSED (ini jawabannya)

LEFT_PRESSED

GAME_B_PRESSED

RIGHT _PRESSED

GAME_C_PRESSED

5. Bagaimana cara sebuah MIDlet dengan menggunakan GameCanvas, secara efisien meng-update sebuah daerah kecil pada layar, dari data pada off-screen buffer?

Pixel yang tidak di-flush harus dibuat transparan

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

Panggil flushGraphics(int , int, int ), kemudian tentukan region yang akan di-flush (ini jawabannya)

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

6. Pernyataan mana yang benar berikut ini?

Method paint() tidak pernah dipanggil oleh turunan/subclass dari GameCanvas

Proses gambar secara synchronous pada display dari device dapat dilakukan dengan menggunakan GameCanvas

GameCanvas selalu membutuhkan sebuah thread terpisah untuk menggambar apapun pada layar
Canvas.serviceRepaints() dan Canvas.callSerially() dapat digunakan untuk menciptakan sebuah frame-rate animation loop

7. Konstanta manakah yang digunakan untuk mengaktifkan keypad no 4 pada game canvas?

GAME_A_PRESSED

RIGHT _PRESSED

GAME_B_PRESSED

LEFT_PRESSED

GAME_C_PRESSED

8. Terdapat listing program dibawah ini.

Bergerak kemana kah obyek tersebut apabila di tekan tombol keatas (Up)?

Obyek ke atas

Obyek ke bawah
Obyek ke kanan

Obyek ke kiri

Obyek ke kanan atas

9. Untuk menggambar pada class GameCanvas menggunakan method …

drawScreen();

paint();

graphics();

flushGraphics();

repaint();

10. Class apakah yang menyediakan method getHeight() dan getWidth() ?

GameCanvas

Layer

Sprite

LayerManager

TiledLayer

11. Apa fungsi dari method getKeyStates() pada class GameCanvas?

Mengambil varibel pada keypad.

Mengambil gerakan pada keypad.

Menjalankan perintah pada keypad.

Mengambil perintah pada keypad.

Menjalankan gerakan pada keypad.

12. Dimanakah perbedaan superclass javax.microedition.lcdui.Canvas dengan turunannya javax.microedition.lcdui.GameCanvas?

graphics buffering

key states

control pada event seperti key stroke dan screen repaint

paint method

13. GameCanvas merupakan suatu komponen …

class

abstract

abstract class

interface

interface class

14. Berapa variabel dari UP_PRESSED?

2

64

4

32

8

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

lebar1 equal dengan lebar2

tinggi1 equal dengan tinggi2

Pemanggilan terhadap setFullScreenMode() diabaikan karena dimensinya telah ditentukan

System mencoba menyediakan visible area maksimum terhadap MIDlet dengan dimensi lebar2 dan tinggi2

1. Diberikan image berupa gambar helikopter dibawah ini.

Bagaimana cara gambar 1 yang mana mengadap ke arah kanan agar berubah menghadap ke arah kiri?

sprite.setFrame(2);
sprite.setFrame(0);
sprite.setTranform(TRANS_ROT180);
sprite.setTranform(TRANS_MIRROR_ROT180);
sprite.setTranform(TRANS_MIRROR);
2. Bagimana cara membuat animasi di bawah ini dengan mengurutkan 1 s/d 5?
sprite.getRawFrameCount();
sprite.prevFrame();
sprite.getFrame();
sprite.nextFrame();
sprite.getRawFrameCount();
sprite.nextFrame();
int[] id = {1,2,3,4,5} ;
sprite.setFrame(id);
sprite.getFrameSequenceLength();
sprite.nextFrame();
3. Method dan parameter mana yang paling benar untuk mengganti gambar pada class sprite?
sprite.setImage(Image img);
sprite.getImage(Image img);
sprite.setImage(Image img, int frameWidth, int frameHeight);
sprite.getImage(Image img, int frameWidth, int frameHeight);
sprite.setImage();
4. Dengan gambar berikut ini bagaimana cara menggerakkan miring ke kiri-atas dengan panah apabila menekan keypad nomer 1?
VVVVVVVVV
5. Seorang mobile application developer mencoba meningkatkan performa dari game dengan menggunakan MIDP Game API. Pendekatan mana yang benar berikut ini, yang dapat memenuhi tujuan developer?
Poll untuk key state, jika diperlukan saja
Membatasi jumlah frame setiap Sprite hingga menjadi satu
Base collision detection pada batas kotak
Mengimplementasi keyPressed(), keyReleased(), dan keyRepeated()
Memastikan bahwa view window lebih besar dari pada layar yang terlihat
6. Diantara method-method dibawah ini manakah yang digunakan untuk mengetahui berapa panjang sprite?
getFrameSequenceLength();
getRawFrameCount();
getRawFrameLength();
getFrameSequenceCount();
getSequenceLength();
7. Bagaimana cara untuk membuat animasi seperti gambar berikut yang mana jika ditekan keypad no 5 akan melakukan gerak ke kanan dengan gambar asli berikut ini
VVVVV
8. Disediakan gambar dengan listing program di bawah ini.

Animasi apa yang akan di lakukan apabila di pilih tombol Up?

Gambar bergerak ke kiri.
Gambar bergerak ke kiri.
Gambar bergerak ke kanan.
Gambar bergerak ke bawah.
Gambar bergerak ke kanan
9. Terdapat gambar dengan listing program di bawah ini …

Animasi apa yang akan di lakukan apabila di pilih tombol Up?

Gambar bergerak ke bawah.
Gambar bergerak ke atas.
Gambar bergerak ke atas
Gambar bergerak ke bawah
Gambar bergerak ke bawah.
10.
Pernyataan dibawah ini yang sesuai dengan gambar diatas dan sesuai dengan constant dalam class Sprite adalah:

TRANS_ROT180

TRANS_ROT180_MIRROR

TRANS_ROT90

TRANS_ROT90

TRANS_ROT0
11. Terdapat gambar menjadi gambar yang tidak benar adalah?
sprite.setFrame(2);
sprite.setTranform(TRANS_ROT270);
sprite.setFrame(0);
sprite.setTranform(TRANS_MIRROR_ROT180);
sprite.setFrame(3);
sprite.setTranform(TRANS_MIRROR_ROT90);
sprite.setFrame(3);
sprite.setTranform(TRANS_ROT90);
sprite.setFrame(2);
sprite.setTranform(TRANS_MIRROR_ROT90);
12. Apa yang terjadi pada gambar kapal berikut jika di berikan action TRANS_ROT180?
VVVVVVV

1. Misal suatu kondisi dalam sebuah program java terpenuhi, sehingga menyebabkan dieksekusinya suatu Thread yang
menjalankan single operation dan sedang dalam state ready. Maka selanjutnya state Thread tersebut berubah menjadi …

dead kemudian live

live kemudian dead

running kemudian terminated

suspended kemudian terminated

suspended kemudian running

2. Dimanakah letak kesalahan pada kode berikut ini?

Method start() dalam Thread tidak boleh dipanggil dua kali dari object yang sama

Untuk menjalankan sebuah thread diperlukan sebuah class yang mengimplementasikan interface Runnable

Untuk menjalankan sebuah Thread diperlukan pemanggilan method run() dari Thread object

3. Jika Anda menginginkan supaya nilai i ditampilkan pada consol dengan delay 0.5 detik untuk tiap tampilan, maka kode apa
yang perlu ditambahkan pada kode berikut ini :

System.out.println(i);
try{Thread.sleep(500);}catch(Exception e){}

System.out.print(i);
Thread.sleep(500);

System.out.print(i);
Thread.yield(500);

System.out.print(i);
try{Thread.sleep(500);}catch(Exception e){}

System.out.print(i);
try{Thread.wait(500);}catch(Exception e){}

System.out.println(i);
try{Thread.wait(500);}catch(Exception e){}

4. Method dan parameter yang salah pada class Thread dengan object thread adalah …

thread.sleep();

thread.interrupt();

thread.getPriority();

thread.yield();

thread.isAlive();

5. Thread memungkinkan sebuah aplikasi Java untuk… (kecuali)

Menjalankan suatu operasi tertentu di background (balik layar).

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.

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

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

7. Apakah yang membedakan antara method sleep() dan method yield() ?

Sebuah thread yang dikenai method sleep() pasti akan berhenti sementara, sedangkan jika dikenai method yield()
belum tentu thread tersebut akan berhenti

Method sleep() dalam sebuah thread akan menyebabkan thread tersebut berada pada kondisi waiting, sedangkan
pemanggilan method yield() menyebabkan thread tersebut berada didalam antrian thread yang akan berjalan

Jika sebuah method sleep() dipanggil maka thread tersebut akan berada pada kondisi runnable selama periode
tertentu, dimana tepat ketika periode-nya habis maka thread tersebut kembali berjalan. Sedangkan ketika method
yield() dipanggil, maka thread tersebut akan berada pada kondisi waiting.

Method sleep() menyebabkan thread tersebut berhenti sementara minimal sesuai dengan periodenya, sedangkan
method yield() menyebabkan thread tersebut berhenti sementara dan akan berjalan kembali sesuai dengan time
slicing.

8. Tidak semua method yang dimiliki Class Thread pada versi mobile mendukung versi desktop. Method manakah yang
mendukung pada versi mobile maupun versi desktop?
getAllStackTraces();

dumpStack();

getStackTrace();

getThreadGroup();

interrupt();

9. Apakah yang akan terjadi kemudian setelah kita melakukan pemanggilan method
perintah Thread.sleep(400)?

Thread tersebut akan kembali pada state runnable dan menunggu sampai PR
berjalan

Thread kembali dijalankan

Thread akan kembali dijalankan tepat pada saat 400 mili detik

Parameter dalam thread menjadi durasi minimum thread berada dalam state

Thread kadang-kadang akan kembali dijalankan setelah 0.4 detik

Thread tersebut akan berhenti sementara dalam waktu <>

10. Langkah apakah yang harus kita tambahkan pada class CobaThread2 dan juga pada class Counter, sehingga apabila m 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 setiap kelipatan 5 akan tampil string “hahahaha”. 2. Terdapat delay sebesar 1 detik, disetiap kelipatan 5, pada loop yang sedang berjalan
jawab: b & e

11. Perhatikan kode berikut ini :
Mengapa pada kode diatas, string yang menunjukkan “Thread sekarang” akan selalu tampil sebelum string yang
menyatakan “Loop”?

Karena method println() bekerja terlebih dahulu sebelum method start() dipanggil

Karena method start() selalu running terlambat
Karena pemanggilan method run() membutuhkan lebih banyak waktu dibandingkan dengan pemanggilan println()

Karena pada saat start() dijalankan, maka object-object tersebut harus masuk kedalam state runnable terlebih
dahulu sebelum pada akhirnya dipanggil oleh PROCESSOR

12. Tanpa mendefinisikan Thread secara koding, pernyataan berikut yang paling benar adalah …

Setiap program java secara default telah mengimplementasikan beberapa Thread dalam eksekusinya.

Setiap program java telah mengimplementasikan sebuah Thread dalam eksekusinya.

Setiap program java tidak akan mengimplementasikan satu Thread pun.

Setiap program java tetap berjalan namun tidak bisa mengakses fitur Thread.

Setiap program java akan jalan apabila di panggil Thread tersebut.

13. Construktor manakah dari Thread berikut ini yang salah?

Thread();

Thread(String name);

Thread(Runnable target);

Thread(Runnable target, String name);

Thread(Runnable target, String name);

Thread(int c);

14. Pada environtment J2ME profil MIDP 2.0 & konfigurasi CLDC 1.0, method dari Thread berikut ini yang tidak disupport adalah

sleep() dan stop()

interrupt() dan sleep()

stop() dan interrupt()

start() dan sleep()

semua benar

15. Cara untuk menggunakan Thread pada program adalah …

mendefinisikan kelas baru sbg turunan kelas Thread, mengoverride method run dari kelas Runnable.

mendefinisikan kelas baru sbg turunan kelas Thread, melakukan instantiate terhadap kelas tersebut.
mendefinisikan kelas baru sbg turunan kelas Runnable, melakukan instantiate terhadap kelas tersebut.

mendefinisikan kelas baru sbg turunan kelas Runnable, mengoverride method run dari kelas Runnable.

mendefinisikan kelas baru sbg turunan kelas Runnable, melakukan instantiate terhadap kelas yang baru.

16. Perhatikan kode berikut ini :
Kesalahan apakah yang terjadi pada kode diatas?

Class CobaThread tidak diperbolehkan untuk mengimplementasikan method start() karena method tersebut sudah
dimiliki oleh Thread

Class CobaThread harus mengoverride method run() karena ia mengimplementasikan interface Runnable

Object thread seharusnya memanggil method run() yang diimplementasikan oleh Runnable

17. Mengapa terjadi error pada potongan kode berikut ini :

Method setName(String a) tidak dideklarasikan oleh MIDP

Method getName() tidak teridentifikasi

Class CobaRunnable bukan sebuah MIDlet

Class CobaThread bukanlah sebuah MIDlet

Method setName() tidak dapat menerima parameter String

Constructor Thread tidak dapat menerima parameter apapun

18. Berikut ini yang merupakan method yang bersifat static pada class Thread adalah …

join();

interrupt();

getPriority();

yield();

run();

19. Agar suatu Thread yang menjalankan operasi looping while bisa berhenti (dead), maka dapat dilakukan dengan …

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.

mentrigger Thread tersebut dari suatu external event yang ditetapkan, agar Thread beruah state.

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

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

20. Perhatikanlah kode berikut ini :
Mengapa terjadi kesalahan pada kode diatas?

Karena thread ke-dua dan ketiga tidak pernah dijalankan

Karena multithread tidak didukung oleh J2ME

Karena method start() seharusnya diimplementasikan oleh class CobaThread

Karena method start() tidak pernah dipanggil

15. Apakah class Timer merupakan sebuah Thread-save?
Benar
Salah

One Comment pada “Jeni 4”

  1. kurniawan Says:

    Ujian masuk Untuk Gelombang Per 1 Tanggal 7 April 2008…
    kami sempat berbincang2 fengan Mner Andritsu, Sahut beliau Kemmungkinan ujian JENI ini berlangsung dalam waktu kurang lebih 6 Hari, Per 1 gelombang. sedangkan per gelombang itu terfiri dari 20 mahasiswa yang ikut falam ujian Per tama Ini.

    Terimah kasi Ini info yang baru saya dapat dari Dosen Penanggung Jawab D3 TKJ Kampus Poli Manado…

    Mohon Maaff Tifak Info ini Tifak sempat di Posting…kawan


Tinggalkan Balasan

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


Ikuti

Get every new post delivered to your Inbox.

%d bloggers like this: