Laporan Praktikum Resmi Pohon (Cintia Yosfin Samalle_201301041).pdf

11

Click here to load reader

description

Laporan Praktikum Tree - Cintia Yosfin Samalle - 201301041 - 17 September 2014

Transcript of Laporan Praktikum Resmi Pohon (Cintia Yosfin Samalle_201301041).pdf

  • LAPORAN PRAKTIKUM RESMI

    ALGORITMA & STRUKTUR DATA 2

    POHON atau TREE

    Disusun oleh :

    Cintia Yosfin Samalle

    201301041

    Dosen pengampu :

    Yosef Murya Kusuma Ardhana.S.T., M.Kom

    JURUSAN SISTEM INFORMASI

    SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

    PURWOKERTO

    2014

  • 2

    BAB I

    TEORI DASAR

    Tree merupakan struktur data non linear. Struktur data dalam bentuk tree dapat diartikan

    sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yg terdiri dari serangkaian

    simpul atau node yg saling berhubungan.

    Simpul-simpul atau node tersebut dihubungkan oleh sebuah vector. Setiap simpul dapat

    memiliki 0 atau lebih node anak (child). Yang memiliki node anak disebut node induk (parent).

    Sebuah node Sebuah node anak hanya memiliki 1 node induk. Sesuai konvensi ilmu

    computer, tree bertumbuh ke bawah, dengan demikian node anak akan di gambarkan berada di

    bawah node induknya.

    Node yg berada di pangkal tree disebut node akar/root, sedangkan node yg berada di paling

    ujung pada piramida tree disebut node daun/leaf.

    Akar/root adalah simpul yg tidak memiliki superordinat.

    Daun/leaf adalah simpul yg tidak memiliki subordinat.

    Tingkat/level : root dinyatakan berada pada level 0 (namun ada juga beberapa buku

    literature lain menyebutkan level 1).

    Degree pada suatu node menyatakan jumlah subordinat dari node tersebut.

  • 3

    BAB II

    PENJELASAN PROGRAM

    Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan

    pemrograman C++ dengan menggunakan Tree secara sederhana sesuai dengan modul praktikum.

    Program Tree

    /* * Tree.cpp * * Created on: Sep 10, 2014 * Author: LENOVO */ #include using namespace std; struct Node { int data; Node *kiri; Node *kanan; }; void tambah(Node **root, int databaru) { if((*root) == NULL) { Node *baru; baru = new Node; baru->data=databaru; baru->kiri=NULL; baru->kanan=NULL; (*root)=baru; (*root)->kiri=NULL; (*root)->kanan=NULL; coutkiri,databaru);

  • 4

    else if(databaru > (*root)->data) tambah(&(*root)->kanan,databaru); else if(databaru = (*root)->data) coutkiri); coutkanan); } } void postOrder(Node *root) { if(root != NULL) { postOrder(root->kiri); postOrder(root->kanan); cout

  • 5

    else cout

  • 6

    Pembahasan Program Tree

    1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat

    sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah

    atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

    2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk

    menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum

    kompilasi dimulai.

    3. untuk memanggil fungsi cout dan cin dalam C++.

    4. using namespace std; adalah standar deviasi dalam sebuah program dalam bahasa

    pemrograman C++.

    5. Tanda kurung kurawal {} dimaksudkan untuk mengawali dan mengakhiri bagian main.

    6. Tanda ; digunakan untuk mengakhiri sebuah pernyataan.

    7. int main(),menyatakan tipe nilai balik fungsi main.

    8. cout dipakai untuk menampilkan teks/data ke layar monitor sehingga menjadi output.

    9. struct Node { int data;

    Node *kiri;

  • 7

    Node *kanan; };

    Ini merupakan statement yang digunakan untuk membuat tipe data abstrak struct dalam C++. Data, Node *kiri, Node *kanan merupakan variable bertipe data integer yang berada dalam struct node.

    10. void tambah(Node **root, int databaru) {

    if((*root) == NULL) { Node *baru; baru = new Node; baru->data=databaru; baru->kiri=NULL; baru->kanan=NULL; (*root)=baru; (*root)->kiri=NULL; (*root)->kanan=NULL; coutkiri,databaru); else if(databaru > (*root)->data) tambah(&(*root)->kanan,databaru); else if(databaru = (*root)->data) cout

  • 8

    { if(root != NULL) { inOrder(root->kiri); coutkanan); }

    }

    Ini merupakan statement untuk pembuatan prosedur inOrder.

    13. void postOrder(Node *root)

    { if(root != NULL) { postOrder(root->kiri); postOrder(root->kanan); cout

  • 9

    break; case 2: if(pohon!=NULL) preOrder(pohon); else cout

  • 10

    BAB III

    KESIMPULAN

    Dari praktikum yang telah kita buat di atas, dapat disimpulkan bahwa dalam bahasa

    pemrograman eclipse c++ #include tidak perlu menggunakan .h. Perintah clrscr() tidak

    dapat digunakan atau sulit digunakan dalam eclipse, maka untuk mengatasinya digunakan perintah

    \n atau endl. Karena, clrscr itu maksudnya adalah clear screen. Dan juga jika menggunkan switch-

    case kita bisa lebih mudah dalam melakukan pemilihan dalam bahasa pemrograman C++. Dan

    dalam eclipse juga disarankan untuk tidak memakai getch(), tapi sebaiknya menggunakan return

    0.

  • 11

    DAFTAR PUSTAKA

    1. Ardhana, YM Kusuma. 2013. Struktur Data dalam Ilustrasi Eclups Indigo C ++.

    Yogyakarta: CAPS (Center of Academic Publishing Service).

    2. Murya Kusuma Ardhana, Yosef dan Gregorius Airlangga. 2011. AlgoritmaPemrograman

    C++ Dalam Ilustrasi. Jasakom : Yogyakarta.

    3. Kadir, Abdul. 2012. Buku Pintar C++ Untuk Pemula. Yogyakarta: MediaKom.