JURUSAN SISTEM INFORMASI

dokumen-dokumen yang mirip
JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

TREE STRUCTURE (Struktur Pohon)

LAPORAN PRAKTIKUM SEMENTARA ALGORITMA & STRUKTUR DATA 1

IT234 Algoritma dan Struktur Data. Tree

LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

LAPORAN PRAKTIKUM RESMI QUEUE

Praktikum Algoritma dan Setruktur Data

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

Tenia Wahyuningrum, S.Kom. MT Sisilia Thya Safitri, S.T.,M.T.

Praktikum Algoritma dan Struktur Data

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

MODUL PRAKTIKUM STRUKTUR DATA

Konsep Pohon (Tree) Binary Tree Penyajian Tree dengan Array Penyajian Tree dengan Linked List Metode Traversal (Kunjungan Node pada Tree)

Konsep Dasar Pemrograman Dan Pengenalan C++

LAPORAN PRAKTIKUM ALGORITMA & STRUKTUR DATA II PROGRAM KASIR KANTIN DENGAN MENGGUNAKAN BAHASA PEMROGRAMAN C++

Soal Pendahuluan Modul 3

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

ALGORITMA DAN STRUKTUR DATA

STRUKTUR DASAR PEMROGRAMAN

Komentar, Identifier, Konstanta dan Variabel

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

Pohon dan Pohon Biner

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

REVIEW ARRAY. Institut Teknologi Sumatera

PRAKTIKUM 4 PERCABANGAN

KUM 6 IMPLEMENTASI BINARY TREE

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

Algoritma dan Struktur Data. Ramos Somya

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

LAPORAN RESMI. TIPE DATA ABSTRAK (TYPEDEF dan STRUCT)

KONSEP POINTER DAN LINKED LIST

Tree (Struktur Data) Nisa ul Hafidhoh, MT

Algoritma dan Struktur Data. Tree

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

Data Structure TREE & BINARY TREE. Chapter 5b. Dahlia Widhyaestoeti, S.Kom

3. Struktur Perulangan dalam C++

Politeknik Elektronika Negeri Surabaya

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

STRUKTUR DATA (2) Single Linked List

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

6. TREE / BINARY TREE

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

MODUL 6 SINGLE & DOUBLE LINKED LIST

KONSEP POINTER DAN LINKED LIST

Politeknik Elektronika Negeri Surabaya

Struktur Data & Algoritma

PENGANTAR KOMPUTER & SOFTWARE II

Selection / Pemilihan PEMILIHAN

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

LATIHAN SOAL (FUNGSI & PROSEDUR)

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

Pengantar Pemrograman Dengan C++

Hari : Rabu Pertemuan : 4 Tanggal Praktikum : 28 November 2001 Shift : 4

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Buku Ajar Struktur Data

Dasar-dasar C/C++ Ekohariadi FT Unesa

LAPORAN PRAKTIKUM IV. Oleh:

Part 2 - Algoritma & Pemrograman Konsep dasar Pemrograman

P R E T R EM N 5 STRUKTUR LOOPING

StrukturDasarProgram Prosedural (dalambahasac++)

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

BAB IX TREE (POHON) ISTILAH DASAR

PEMROGRAMAN BERORIENTASI OBJEK

Algoritma dan Struktur Data. Linear & Binary Search Tree

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

Struktur Data Tree/Pohon dalam Bahasa Java

Notasi Algoritma Separator Special Character. Dasar Pemrograman. Yoannita, S.Kom.

Politeknik Elektronika Negeri Surabaya

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Pemrograman Algoritma Dan Struktur Data

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

SINGLE LINKED LIST (NON CIRCULAR)

Pohon Biner (Bagian 1)

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

QUEUE (ANTREAN) Prinsip Antrean : FIFO (First In First Out) FCFS (First Come First Serve) Yang Tiba lebih awal Maka akan dilayani Terlebih Dahulu

KONSEP POINTER DAN LINKED LIST

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

Notasi Algoritma Separator Special Character Kesalahan pada program Yoannita

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Transkripsi:

LAPORAN PRAKTIKUM RESMI ALGORITMA & STRUKTUR DATA II Disusun oleh : Yonagatha Missyerry Paramitha Putri 201301069 Dosen pengampu : YosefMurya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TING GI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

BAB I LANDASAN TEORI 1. PENGANTAR Tree merupakan struktur data non-linear. Struktur data dalam bentuk pohon (tree) dapat diartikan sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian simpul (node) yang saling berhubungan. Simpul-simpul atau node tersebut dihubungkan oleh sebuah vektor. Node yang berada di pangkaptree disebut node akar (root), sedangkan node yang berada paling ujung pada piramida tree disebut node daun (leaf). 2. STRUKTUR TREE Semua bulatan disebut simpul (node) Node F adalah node induk dari H dan I. Node H, I adalah node anak dari F. Akar (root) adalah simpul yang tidak memiliki superordinat. Untuk pohon yang di contohkan di atas maka root adalah node A. Daun (leaf) adalah simpul yang tidak memiliki subordinat. Untuk pohon yang di contohkan di atas maka leaf adalah node D, E, G, H dan I. Node B merupakan superordinat dari node D dan E. Node D dan E mempunyai superordinat yang sama yaitu node B.

3. POHON BINER (BINARY TREE) Pohon biner adalah sebuah tree yang pada masing-masing simpulnya hanya dapat memiliki maksimum dua simpul anak, tidak boleh lebih. Pada pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu subordinat kiri dan subordinat kanan. Striclybinarytree Striclybinarytree adalah pohon biner yang semua nodenya (kecuali simpul leaf) mempunyai lengkap node subordinat kiri dan node subordinat kanan. Completelybinarytree Completelybinarytree dengan depth = d adalah pohon biner striclybinarytree, dimana semua leaf hanya berada pada level d. Balancedbinarytree Balancedbinarytree (pohon biner seimbang) atau biasa disebut dengan pohon AVL adalah pohon biner yang ketinggian subtree kiri dan subtree kanan untuk setiap nodesuperordinat paling banyak selisih 1. 4. PENOMORAN NODE POHON BINER Untuk melakukan konversi telah disepakati cara penomoran setiap node dalam binarytree sebagai berikut : Jika sebuah node bernomor n, maka subordinat kiri bernomor 2n dan subordinat kanan bernomor 2n + 1. Noderoot diberi nomor 1. Dengan mengetahui dari nomor setiap node maka sebuah binarytree dapat direpresentasikan ke dalam sebuah array satu dimensi. 5. PROSES INISIALISASI Inisialisasi yang dimaksud adalah pemberian nilai awal pada suatu variabel atau kondisi yang dapat digunakan sebagai ciri suatu kondisi.

Instruksi dasar untuk inisialisasi : Root = NULL; P=NULL: Inisialisasi bila ditulis dalam sebuah fungsi : Nama fungsi Inisialiasasi VoidInisialisasi () Root = NULL; P = NULL; Fungsi ini harus dilaksanakan sebelum operasi yang lain. Pointerroot ketika dideklarasikan isinya sudah ada, tapi nilainya tidak diketahui. Pointerroot perlu diisi dengan NULL karena pointerroot ini akan dijadikan tanda. Bila isinya NULL, beartitree belum ada. Bila isinya bukan NULL beartitree sudah ada, dimananode akar sedang ditunjuk oleh pointerroot.

BAB II PENJELASAN PROGRAM Pada bab Tree ini akan membahas tentang listing program Tree pada program eclipse. Listing program Tree * Tree.cpp * * Created on: Sep 10, 2014 * Author: Yonagatha Missyerry Paramitha Putri */ #include<iostream> Using namespace std; structnode ; int data; Node*kiri; Node*kanan; void tambah(node**root,int databaru) if((*root) == NULL) Node*baru; baru = newnode; baru->data = databaru;

baru->kiri = NULL; baru->kanan = NULL; (*root) = baru; (*root)->kiri = NULL; (*root)->kanan = NULL; cout<<"data bertambah!\n"; Else if(databaru< (*root)->data) tambah(&(*root)->kiri,databaru); else if(databaru> (*root)->data) tambah(&(*root)->kanan,databaru); else if(databaru == (*root)->data) cout<<"data sudah ada!\n"; Void preorder(node*root) if(root!= NULL) cout<<root->data; cout<<endl; preorder(root->kiri); preorder(root->kanan); Void inorder(node*root) if(root!= NULL) inorder(root->kiri); cout<<root->data; cout<<endl; inorder(root->kanan); Void postorder(node*root) if(root!= NULL)

postorder(root->kiri); postorder(root->kanan); cout<<root->data; cout<<endl; int main() int pil; Node*pohon; pohon = NULL; do int data; cout<<"menu"<<endl; cout<<"1. Tambah\n"; cout<<"2. Lihat pre-order\n"; cout<<"3. Lihat in-order\n"; cout<<"4. Lihat post-order\n"; cout<<"5. Exit\n"; cout<<"pilihan : "; cin>>pil; switch(pil) case 1: cout<<"data baru : "; cin>>data; tambah(&pohon,data); break; case 2: if(pohon!=null) preorder(pohon); else break; cout<<"masih Kosong!\n"; case 3: if(pohon!=null)

else break; inorder(pohon); cout<<"masih Kosong!\n"; case 4: if(pohon!=null) postorder(pohon); else cout<<"masih kosong!\n"; break; while(pil!=5); return 0; Hasil Output

Penjelasan Listing program Tree pada eclipse 1. Include adalah pengarah suatulibrary yang digunakan untuk suatu program. 2. Iostream adalah library untuk input dan output cin dan cout. 3. Tanda yang diawali /* dan diakhiri tanda */ merupakan script untuk membuat sebuah komentar pada pemrograman C++ yang didalamnya mengandung sebuah perintah atau teks, maka saat program dirunning atau dijalankan tidak akan dibaca oleh compiler. 4. Tanda dan adalah tanda untuk mengawali dan mengakhiri program. 5. Return 0 berfungsi untuk menampilkan program setelah dieksekusi. 6. Cout digunakan untuk menampilkan output program yang sudah dituliskan. 7. Cin digunakan untuk menginputkan data yang dimasukkan oleh user. 8. structnode :untuk tipe data abstrak struct pada proses pembuatan node. 9. void tambah : Prosedur yang di gunakan untuk menambah Node pada program Tree. 10. if((*root) == NULL) Node*baru; baru = newnode; baru->data = databaru; baru->kiri = NULL; baru->kanan = NULL; (*root) = baru; (*root)->kiri = NULL; (*root)->kanan = NULL; cout<<"data bertambah!\n"; Jika root = NULL maka data bertambah, artinya jika ada data yang di tambahkan maka node baru akan bertambah. 11. Statementif-else itu Digunakan untuk modul perulangan pada program. 12. Else if(databaru< (*root)->data)tambah(&(*root)->kiri,databaru); else

if(databaru> (*root)->data) tambah(&(*root)- >kanan,databaru); else if(databaru == (*root)- >data) cout<<"data sudah ada!\n"; Jika data yang sama di tambahkan, maka statement akan menandakan bahwa data yang sama sudah ada dalam program Tree. 13. Void preorder untuk menampilkan data yang telah di tambahkan dalam suatunode akar (root) dan node daun (leaf). 14. if(root!= NULL) cout<<root->data; cout<<endl; preorder(root- >kiri); preorder(root- >kanan); :script program untuk mengeksekusi perintah preorder pada program. 15. Void inorder untuk menampilkan data yangtelah di tambahkan. 16. if(root!= NULL) inorder(root- >kiri); cout<<root- >data; cout<<endl; inorder(root- >kanan); :scrpit program untuk mengeksekusi perintah inorder pada program.

17. void postorder : untuk menampilkan data, tetapidata yang ditampilkan lebih dahulu yaitu data yang paling terakhir ditambahkan pada program Tree. 18. if(root!= NULL) postorder(root- >kiri); postorder(root- >kanan); cout<<root->data; cout<<endl; : scrpit program untuk mengeksekusi perintah postorder pada program. 19. Node*pohon; pohon = NULL; Adalah proses Inisialisasi pada node dalam program Tree. 20. tambah(&pohon,data); adalah Pemanggilan prosedur tambah pada main program 21. preorder(pohon); adalah Pemanggilan prosedur preorder pada main program. 22. inorder(pohon); adalah Pemanggilan prosedur inorder pada main program. 23. Statement do-while adalah Digunakan untuk modul perulangan pada main program.

BAB III KESIMPULAN 1. Tree merupakan struktur data non-linear. Struktur data dalam bentuk pohon (tree) dapat diartikan sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian simpul (node) yang saling berhubungan. 2. Simpul-simpul atau node tersebut dihubungkan oleh sebuah vektor. Node yang berada di pangkaptree disebut node akar (root), sedangkan node yang berada paling ujung pada piramida tree disebut node daun (leaf). 3. Pohon biner adalah sebuah tree yang pada masing-masing simpulnya hanya dapat memiliki maksimum dua simpul anak, tidak boleh lebih. Pada pohon biner, umumnya kedua node anak disebut dengan posisinya, yaitu subordinat kiri dan subordinat kanan. Menurut praktikum diatas dapat diambil kesimpulan : a. void tambah : Prosedur yang di gunakan untuk menambah Node pada program Tree b. Void preorder untuk menampilkan data yang telah di tambahkan dalam suatunode akar (root) dan node daun (leaf). c. Void inorder untuk menampilkan data yangtelah di tambahkan. d. void postorder : untuk menampilkan data, tetapidata yang ditampilkan lebih dahulu yaitu data yang paling terakhir ditambahkan pada program Tree. e. tambah(&pohon,data); adalah Pemanggilan prosedur tambah pada main program f. preorder(pohon); adalah Pemanggilan prosedur preorder pada main program. g. inorder(pohon); adalah Pemanggilan prosedur inorder pada main program. h. Dan pada praktikum diatas getch(), clscr(), dan #include<windows.h> tidak bisa di jalankan di eclips, tetapi bisa dijalankan di borland, karna memiliki format yg berbeda

BAB V DAFTAR PUSTAKA Ardhana. YM Kusuma. 2013. Struktur Data dalam Ilustrasi EclipseIndigo C ++. Yogyakarta: CAPS (Center of AcademicPublishing Service).