LOGIKA PROGRAM
#include
<stdio.h> adalah penyisipan file standard input output header untuk
program ini, berguna untuk menjalankan perintah input dan output yang ada pada
program ini seperti printf atau scanf. #include <conio.h> adalah
penyisipan file header yang berguna untuk membuat teks antarmuka pengguna
seperti clrscr atau getch. #include<iostream.h> adalah header file untuk
input dan output stream. #include<stdlib.h> adalah header file yang menjabarkan
beberapa fungsi umum dan marco termasuk manajemen memori dinamis, menjalin
komunikasi dengan perangkat sekitar, membuat bilangan secara random, aritmatika
bilangan integer, pencarian, pengurutan dan pengkonversian.
Listing di atas ini
merupakan pendeklarasian linked list node, yang di dalamnya terdapat variabel
data yang bertipe integer serta linked list node berpointer left dan right.
Linked list node berpointer tree diberi nilai awal NULL. Linked list node
berpointer insert menyimpan nilainya pada variabel ele yang bertipe data
integer. Pendeklarasian method preorder yang dihubungkan terhadap linked list
node berpointer tree. Pendeklarasian method inorder yang dihubungkan terhadap
linked list node berpointer tree. Pendeklarasian method postorder yang dihubungkan
terhadap linked list node berpointer tree. Variabel count bertipe data integer
dan diberi nilai awal 1.
Listing di atas
merupakan method utama program ini yang berisi menu pilihan untuk pengguna
dalam pengoprasian binary tree. Pendeklarasian variabel ch dan ele yang bertipe
data integer. Penggunaan perulangan do while diperuntukan supaya menu kembali
lagi setelah pengguna melakukan pemilihan. Setiap pilihan menu yang diinput
oleh pengguna, nilainya akan disimpan di dalam variable ch.
Listing di atas ini
merupakan percabangan switch case yang di pemilihannya diambil dari nilai
variabel ch. Apabila nilai yang dipilih 1 maka program akan menjalankan pilihan
menu yang pertama yaitu menginput nilai untuk elemen tree-nya, program akan
menjalankan fungsi insert(tree,ele) yang nantinya akan membentuk sebuah binary
tree. Apabila nilai yang dipilih 2 maka program akan menjalankan pilihan menu
yang kedua yaitu pengurutan elemen binary tree secara preorder, program akan
menjalankan method preorder(tree). Apabila nilai yang dipilih 3 maka program
akan menjalankan pilihan menu yang ketiga yaitu pengurutan elemen binary tree
secara inorder, program akan menjalankan method inorder(tree). Apabila nilai
yang dipilih 4 maka program akan menjalankan pilihan menu yang keempat yaitu
pengurutan elemen binary tree secara postorder, program akan menjalankan method
postorder(tree). Apabila nilai yang dipilih 5 maka program akan mengentikan
kinerjanya melalui fungsi exit(0). Apabila inputannya selain 1 2 3 4 5 maka
program akan selalu kembali ke menu karena perulangan do while yang bersyarat
nilai variabel ch tidak sama dengan 5.
Listing di atas ini
merupakan fungsi insert yang berguna untuk menjalankan fungsi penginputan
elemen dari binary tree. Deklarasi variabel pil bertipe data integer. Jika
binary tree masih dalam keadaan kosong (NULL) maka program akan membuat tree
baru dengan penginputan pertama akan menjadi akarnya(root). Selanjutnya apabila
root tree telah terisi maka program akan meminta kepada pengguna untuk memilih
nilai 1 atau 2, apabila yang dipilih 1 maka program akan memroses tree ke arah
kiri, apabila yang dipilih 2 maka program akan memroses tree ke arah kanan.
Preorder = simpul kiri kanan
Listing di atas ini merupakan method preorder, di dalamnya terdapat if yang memiliki syarat tree tidak kosong(NULL). Apabila tree tidak kosong maka program akan mencetak urutan elemen di mulai dari simpul[tree->data] kemudian ke elemen yang ada di sebelah kiri[tree->left] dahulu baru lanjut ke sebelah kanan [tree->right].
Inorder = kiri simpul kanan
Listing di atas ini merupakan method inorder, di dalamnya terdapat if yang memiliki syarat tree tidak kosong(NULL). Apabila tree tidak kosong maka program akan mencetak urutan elemen di mulai dari kiri[tree->left] kemudian ke elemen yang ada di simpul[tree->data] dahulu baru lanjut ke elemen yang ada di sebelah kanan [tree->right].
Postorder = kiri kanan simpul
Listing di atas ini merupakan method postorder, di dalamnya terdapat if yang memiliki syarat tree tidak kosong(NULL). Apabila tree tidak kosong maka program akan mencetak urutan elemen di mulai dari kiri[tree->left] kemudian ke elemen yang ada di sebelah kanan [tree->right] dahulu baru lanjut ke elemen yang ada di simpul[tree->data].
Output untuk
pilihan menu pertama
Output untuk
pilihan menu kedua
Output untuk
pilihan menu ketiga
Output untuk
pilihan menu keempat
Tidak ada komentar:
Posting Komentar