if184982 pengantar logika dan pemrograman pertemuan ke-10 · pohon.java (lanjutan) 2018/2019(1) -...

Post on 10-Mar-2019

242 Views

Category:

Documents

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IF184982Pengantar Logika dan Pemrograman

Pertemuan ke-10Misbakhul Munir IRFAN SUBAKTI

司馬伊凡Мисбакхул Мунир Ирфан Субакти

Pohon Biner = Binary Tree

• Kelas/class rekursif• Tidak ada pemberian nilai langsung (assignment) → semuanya

menggunakan fungsi/function/method rekursif• Variabel lokal dapat digunakan→ deklarasi dan inisialisasi

• Sekali diinisialisasi, variabel tersebut akan memegang nilai-nilainyasampai akhir dari jangkauan (scope) nya. Mereka tidak berubah

• Perulangan (loop) juga tidak boleh dilakukan• Akar dari Pohon memiliki nilai integer• Memiliki 2 cabang:

• Kiri →merupakan Pohon• Kanan→merupakan Pohon

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

2

Pohon.java

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

3

Pohon.java (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

4

PohonAksi.java

• Fungsi/function/method dan contoh bagaimana mengelola kelasPohon

• Mendayagunakan ListKu.java dan ListKuFungsi.java

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

5

PohonAksi.java (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

6

PohonAksi.java (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

7

PohonAksiTest.java

• Cek fungsi/function/method yang ada di Pohon.java dan PohonAksi.java

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

8

PohonAksiTest.java (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

9

PohonAksiTest: Hasil

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

10

Soal 1

• Negasikan semua elemen dalam pohon

public static Pohon negasiSemua (Pohon p)

• Dengan masukan pohon integer p, tuliskan fungsi yang mengembalikan pohon baru dari p di mana semua tanda elemen di dalamnya dinegasikan, integer positif menjadi integer negatif dan sebaliknya integer negatif menjadi integer positif

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

11

Soal 1 (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

12

Soal 2

• Cerminkan semua elemen dalam pohonpublic static Pohon cermin (Pohon p)

• Dengan masukan pohon integer p, tuliskan fungsi yang mengembalikancerminan sepanjang sumbu kiri-kanan dari semua elemen di pohon p. Contoh seperti di bawah. Pohon di kiri adalah cerminan pohon di kanandan sebaliknya.

6 6/ \ / \

4 9 9 4/ \ / \ / \

2 5 7 7 5 2

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

13

Soal 2 (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

14

Soal 3

• Penelusuran postorder

public static ListKu postorder (Pohon p)

• Dengan masukan pohon integer p, tuliskan fungsi yang mengembalikan list yang memiliki nilai-nilai dari p denganpenelusuran simpul-simpul dengan cara postorder. Postorderyaitu dari penelusuran dari setiap simpul/node, maka semua nilai daricabang kiri pohon akan ditelusuri dulu, lalu semua nilai dari cabangkanan pohon ditelusuri, baru terakhir telusuri nilai di simpul itusendiri.

• Contoh kode program penelusuran dengan cari inorder dari kelasPohonAksi.java di atas dapat dijadikan acuan

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

15

Soal 3 (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

16

Soal 3 (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

17

Soal 4

public boolean semuaPositif (Pohon p)

• Dengan masukan pohon integer p, tuliskan fungsi yang mengembalikan nilai boolean (true atau false) yang mengindikasikan apakah semua nilai di dalam simpul-simpul pada psemuanya positif, yaitu ≥ 0

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

18

Soal 4 (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

19

Fungsi Konversi Array ke Pohon

• Konversikan Array ke Pohon

private static Pohon arrayKePohon

(int a[])

• Memudahkan dalam pengelolaan masukan (input) dari bentukan Array ke bentukan Pohon

• Contoh:• Array → [1, 9, 2, 4, 0, 2, 9, 3, 0, 2, 4, 5, 6] → Pohon→

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

20

Fungsi Konversi Array ke Pohon

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

21

Soal 1-4: Test

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

22

Soal 1-4: Test (lanjutan)

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

23

Soal 1-4: Hasil Test

2018/2019(1) - IF184982 Pengantar Logika dan Pemrograman -MM Irfan Subakti

24

top related