12
Proses Debug = untuk mengetahui hasil eksekusi perbaris pernyataan, contoh prosesnya adalah 1. Misal ada sebuah array dengan 6 elemen yang belum terurut akan diurutkan secara berikut : int[] contoh = { 84,69,76,86,94,91 } 2. Misalkan kita akan melihat proses eksekusi tahap demi tahap pada method bubbleSort, maka pada baris ke-12 (pada contoh di atas) di header method diklik kanan dan pilih Toggle Breakpoint Array dengan 6 elemen Method bubbleSort

Debugging Dengan Eclipse

  • Upload
    hancha

  • View
    234

  • Download
    0

Embed Size (px)

DESCRIPTION

debug

Citation preview

Page 1: Debugging Dengan Eclipse

Proses Debug = untuk mengetahui hasil eksekusi perbaris pernyataan, contoh prosesnyaadalah1. Misal ada sebuah array dengan 6 elemen yang belum terurut akan diurutkan secara

berikut :int[] contoh = {84,69,76,86,94,91}

2. Misalkan kita akan melihat proses eksekusi tahap demi tahap pada method bubbleSort, maka padabaris ke-12 (pada contoh di atas) di header method diklik kanan dan pilih Toggle Breakpoint

Array dengan 6 elemen

Method bubbleSort

Page 2: Debugging Dengan Eclipse

3. Maka pada baris ke-4 pada header method bubbleSort akan ada bulatan berwarna biru

4. Pada menu Run di atas pilih Debug As dan Java Application

Page 3: Debugging Dengan Eclipse

5. Maka tampilan Eclipse akan berubah menjadi

6. Untuk melakukan eksekusi perbaris statement, pada deretan menu di atas tekan tahap demi tahantombol step into

Array yang belum terurut

Statement yang akan dieksekusi perbaris

Page 4: Debugging Dengan Eclipse

7. Selama menekan tombol step into, perhatikan perubahan pada data array dan isi variablepada bagian yang ditunjuk tanda panah berikut

8. Sekarang tekan tombol step into dan perhatikan hasilnya

booleanbooleanbooleanboolean flag = truetruetruetrue;

Ada pendeklarasian variable flag bertipe boolean dan diisi true.

Page 5: Debugging Dengan Eclipse

9. Tekan step into kembali dan perhatikan hasil eksekusi baris berikut

while(flag)

Looping dilakukan dan kemudian melalui perintah

flag = false

Isi variable flag diubah menjadi false

10. Sekarang kita mulai dari k = 0

Page 6: Debugging Dengan Eclipse

11. Perhatikan baris statement yang diberi highlight

ifififif (data[k] < data[k+1])

Dilakukan perbandingan apakah data[k]data[k]data[k]data[k] <<<< data[k+1]data[k+1]data[k+1]data[k+1], jika k = 0 maka perbandingannyaadalah data[0]data[0]data[0]data[0] <<<< data[1]data[1]data[1]data[1] yakni apakah 84848484 <<<< 69?69?69?69?

Hasilnya adalah false, sehingga proses pertukaran tidak terjadi(blok statement if tidakdieksekusi-tidak terjadi pertukaran tempat antara 84 dan 69), maka looping akan dilanjutkanuntuk k = 1

Page 7: Debugging Dengan Eclipse

Perbandingan berikutnya adalah apakah 69696969 <<<< 76?76?76?76? Karena hasilnya true maka blok statementif dieksekusi untuk dilakukan pertukaran antara 69 dan 76, berikut prosesnya

data[k] yakni 69 akan dicopykan ke variable temp

69 < 76 ? Hasilnya true, blok if dieskeskusi

Page 8: Debugging Dengan Eclipse

Selanjutnya melalui data[k] = data[k+1], untuk k = 1, maka data[1] = data[2] yakni 76 akandisalin ke data[1] atau menggantikan angka 69

Kemudian angka 69 yang sudah disalin ke variable temp, akan disalinkan ke data[2] yaknimengganti angka 76 melalu perintah data[k+1] = temp. Perhatikan:

Page 9: Debugging Dengan Eclipse

Sekarang antara 76 dan 69 telah terjadi pertukaran tempat. Proses ini terus dilakukansampai k = 5. Kalau dibuatkan tabel akan tampak sebagai berikut :

PutaranPutaranPutaranPutaran kkkk 84848484 69696969 76767676 86868686 94949494 91919191

I

0 84848484 69696969 76767676 86868686 94949494 91919191

1 84848484 76767676 69696969 86868686 94949494 91919191

2 84848484 76767676 86868686 69696969 94949494 91919191

3 84848484 76767676 86868686 94949494 69696969 91919191

4 84848484 76767676 86868686 94949494 91919191 69696969

5 LoopLoopLoopLoop forforforfor berhentiberhentiberhentiberhenti karenakarenakarenakarena maksimalmaksimalmaksimalmaksimal kkkk ==== 4444

forforforfor( k=0;k<data.length-1;k++)

data.length=6

II

0 84848484 76767676 86868686 94949494 91919191 69696969

1 84848484 86868686 76767676 94949494 91919191 69696969

2 84848484 86868686 94949494 76767676 91919191 69696969

3 84848484 86868686 94949494 91919191 76767676 69696969

4 84848484 86868686 94949494 91919191 76767676 69696969

5 LoopLoopLoopLoop forforforfor berhentiberhentiberhentiberhenti karenakarenakarenakarena maksimalmaksimalmaksimalmaksimal kkkk ==== 4444

forforforfor( k=0;k<data.length-1;k++)

data.length=6

III 0 86868686 84848484 94949494 91919191 76767676 69696969

Page 10: Debugging Dengan Eclipse

1 86868686 94949494 84848484 91919191 76767676 69696969

2 86868686 94949494 91919191 84848484 76767676 69696969

3 86868686 94949494 91919191 84848484 76767676 69696969

4 86868686 94949494 91919191 84848484 76767676 69696969

5 LoopLoopLoopLoop forforforfor berhentiberhentiberhentiberhenti karenakarenakarenakarena maksimalmaksimalmaksimalmaksimal kkkk ==== 4444

forforforfor( k=0;k<data.length-1;k++)

data.length=6

IV

0 94949494 86868686 91919191 84848484 76767676 69696969

1 94949494 91919191 86868686 84848484 76767676 69696969

2 94949494 91919191 86868686 84848484 76767676 69696969

3 94949494 91919191 86868686 84848484 76767676 69696969

4 94949494 91919191 86868686 84848484 76767676 69696969

5 LoopLoopLoopLoop forforforfor berhentiberhentiberhentiberhenti karenakarenakarenakarena maksimalmaksimalmaksimalmaksimal kkkk ==== 4444

forforforfor( k=0;k<data.length-1;k++)

data.length=6

V

0 94949494 91919191 86868686 84848484 76767676 69696969

1 94949494 91919191 86868686 84848484 76767676 69696969

2 94949494 91919191 86868686 84848484 76767676 69696969

3 94949494 91919191 86868686 84848484 76767676 69696969

4 94949494 91919191 86868686 84848484 76767676 69696969

SelesaiSelesaiSelesaiSelesai

Hasil Putaran Pertama

Page 11: Debugging Dengan Eclipse

Hasil Putaran Kedua

Hasil Putaran Ketiga

Hasil Putaran Keempat

Page 12: Debugging Dengan Eclipse

Hasil Putaran Kelima

Untuk metode bubble sort, meskipun pada akhir putaran keempat data sudah terurut, namunkarena jumlah elemen arraynya adalah 6, maka proses perbandingan tetap dilakukan sampaiputaran 6 - 1 = 5. Disetiap metode pengurutan dan pencarian, selalu ada dua looping yakni outerloop (yang pertama muncul, kalau pada kasus bubble sort di atas adalah while) dan inner loop yangmuncul sesudah outer loop. Setiap putaran adalah saat inner loop selesai dilakukan(untuk kasusbubble sort di atas, satu putaran berlangsung pada loop for dari k = 0 sampai k = 4).

Lakukan hal yang sama untuk metode pengurutan yang lain serta pencarian, hasil pengisian tabel diatas dapat dibawa saat ujian untuk membantu mengisi soal UAS.