P. 1
Modul Struktur Data

Modul Struktur Data

|Views: 615|Likes:
Published by ozz1e_okub4tr4

More info:

Published by: ozz1e_okub4tr4 on Oct 02, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/23/2011

pdf

text

original

MODUL PRAKTIKUM “STRUKTUR DATA”

Bahasa Pemrograman : C dan C++ Software Laboran : Turbo C++ 4.5 : M. Fachrurrozi Novi Yusliani

LABORATORIUM DASAR KOMPUTER PROGRAM ILMU KOMPUTER UNIVERSITAS SRIWIJAYA 2007

DAFTAR ISI
DAFTAR ISI ........................................................................................................................................... 1 Bab 1. ARRAY........................................................................................................................................ 2 1.1. Array Satu Dimensi .................................................................................................................... 2 1.2. Array Dua Dimensi..................................................................................................................... 3 Bab 2. POINTER .................................................................................................................................... 6 Bab 3. ABSTRACT DATA TYPE........................................................................................................... 8 Bab 4. LINKED LIST............................................................................................................................ 10 4.1. Definisi Fungsional List Linier dan Algoritmanya ....................................................................... 11 4.1.1. Pembuatan Sebuah Elemen pada List Linier ................................................................... 11 4.1.2. Pembuatan sebuah Elemen pada List Linier.................................................................... 12 4.1.3. Penyisipan sebuah Elemen pada List Linier .................................................................... 12 4.1.4. Penghapusan sebuah Elemen pada List Linier................................................................ 13 4.1.5. Konkatenasi Dua Buah List Linier.................................................................................... 13 Bab 5. STACK....................................................................................................................................... 15 5.1. Definisi Stack............................................................................................................................. 15 Bab 6. QUEUE...................................................................................................................................... 17 6.1. Definisi Queue .......................................................................................................................... 17 Bab 7. TREE.......................................................................................................................................... 20 7.1. Definisi Tree.............................................................................................................................. 20 7.2. Jenis-Jenis Tree.......................................................................................................................... 20 7.3. Operasi-Operasi pada Binary Tree .......................................................................................... 21 7.4. Binary Search Tree.................................................................................................................... 21 REFERENSI.......................................................................................................................................... 26

Modul Prak. Struktur Data

1

Copyright@PIK-Unsri Agustus 2007

Elemen-elemen array A sudah terdefinisi} {K. ARRAY Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama..n]} {K. Awal : n adalah jumlah elemen efektif array. elemen1... Elemen keNilai 0 1 2 3 4 5 6 7 8 9 23 34 32 12 25 14 23 12 11 10 Bentuk umum: <tipe data> NamaArray[n] = {elemen0. input n : integer) {mencetak elemen-elemen array A[1... n = jumlah elemen Mendefinisikan ukuran array : DEKLARASI const Nmaks = 100 {ukuran maksimum elemen array} type LarikInt : array[1. nilainya terdefinisi} {K... Elemen-elemen array tersusun secara sekuensial dalam memori komputer.1. Elemen-elemen tersebut memiliki tipe data yang sama.n}. Akhir : elemen-elemen array A tercetak} Modul Prak. dua dimensi. Akhri : setelah pembacaan. seluruh elemen array A berisi nilai-nilai yang dibaca dari piranti masukan} DEKLARASI i : integer {pencatat indeks array} ALGORITMA for i ß 1 to n do read(A[i]) endfor procedure CetakLarik (input A : LarikInt. 1. tetapi isi dari elemen tersebut boleh berbeda. Array dapat berupa satu dimensi. Struktur Data 2 Copyright@PIK-Unsri Agustus 2007 . Array Satu Dimensi Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris.n] dengan pembacaan} {K..Nmaks] of integer A : LarikInt {A adalah sebuah peubah array integer dengan 100 elemen} Contoh Algoritma array : procedure BacaLarik (output A : LarikInt.. input n : integer) {mengisi elemen-elemen larik A[1.. elemen2...Bab 1. tiga dimensi ataupun banyak dimensi (multi dimensi). Awal : n sudah berisi jumlah elemen array yang dipakai.

Buatlah program untuk mencari nilai maksimum di dalam array. Awal : elemen-elemen array A sudah terdefinisi. merupakan perluasan dari array satu dimensi. dengan asumsi nilai maksimum sementara diinisialisasi dengan elemen pertama array. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen.DEKLARASI i : integer {indeks array} ALGORITMA for i ß 1 to n do write(A[i]) endfor procedure HitungRataRata (input A : LarikInt. 3. Buatlah program untuk mencari nilai minimum di dalam array. n adalah jumlah elemen array.2. 1. dengan asumsi nilai maksimum sementara (maks) adalah nilai yang sangat kecil. Struktur Data 3 Copyright@PIK-Unsri Agustus 2007 . maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama sehingga dapat digambarkan sebagai berikut: 0 0 1 2 3 1 2 3 4 5 6 10 45 32 11 21 43 34 12 23 65 23 32 43 12 56 23 45 21 54 56 78 12 34 76 65 21 45 45 Modul Prak. yaitu -9999. Akhir : u berisi nilai rata-rata seluruh elemen} DEKLARASI i : integer jumlah : real ALGORITMA i ß 1 jumlah ß 0 {indeks array} {jumlah total seluruh nilai} {dimulai dari elemen pertama} {jumlah total nilai mula-mula} for i ß 1 to n do jumlah ß jumlah + A[i] endfor u ß jumlah / n Latihan : 1. 2. dengan cara setiap elemen array A dibandingkan dengan x. Buatlah program untuk mencari nilai tertentu x di dalam array. nilainya sudah terdefinisi} {K. Array Dua Dimensi Array dua dimensi sering digambarkan sebagai sebuah matriks. output u : real) {menghitung nilai rata-rata elemen array A} {K. input n : integer.

papan[0][0] = true.. Akhri : setelah pembacaan.false} }.{true. papan[1][2] = true.n : integer) {mengisi elemen-elemen larik A[1.b. Contoh: double matrix[4][4]. nilainya terdefinisi} {K.n] dengan pembacaan} {K.. papan[0][4] = false.. Awal : m adalah jumlah baris array sedangkan n adalah jumlah kolom array.Nmaks][1.2.. Mendefinisikan ukuran array : DEKLARASI const Nmaks = 100 {ukuran maksimum elemen array} type LarikInt : array[1.. kecuali bahwa array dua dimensi terdapat dua jumlah elemen yang terdapat di dalam kurung siku dan keduanya boleh tidak sama.m][1.Nmaks] of integer A : LarikInt {A adalah sebuah peubah array integer dengan 100 elemen} Pendeklarasian array dua dimensi hampir sama dengan pendeklarasian array satu dimensi.. Struktur Data 4 Copyright@PIK-Unsri Agustus 2007 .{1..n-1} }.z}. papan[1][4] = false...Bentuk umum: <tipe data> NamaArray [m][n].false}. input m. seluruh elemen array A berisi nilai-nilai yang dibaca dari piranti masukan} DEKLARASI i : integer j : integer {pencatat indeks array untuk baris} {pencatat indeks array untuk kolom} ALGORITMA for i ß 1 to m do for j ß 1 to n do read(A[i][j]) endfor endfor Modul Prak. bool papan[2][2] = { {true... Contoh: procedure BacaLarik (output A : LarikInt... Elemen array dua dimensi diakses dengan menuliskan kedua indeks elemennya dalam kurung siku seperti pada contoh berikut: //papan nama memiliki 2 baris dan 5 kolom bool papan[2][5]. Atau <tipe data> NamaArray [m][n] = { {a.

Elemen-elemen array A sudah terdefinisi} {K. Struktur Data 5 Copyright@PIK-Unsri Agustus 2007 .m][1.. Akhir : elemen-elemen array A tercetak} DEKLARASI i : integer j : integer {pencatat indeks array untuk baris} {pencatat indeks array untuk kolom} ALGORITMA for i ß 1 to m do for j ß to n do write(A[i][j]) endfor endfor Latihan: 1. Buat program menghitung penjumlahan matrik 3x3. input m.n]} {K.. Modul Prak..n : integer) {mencetak elemen-elemen array A[1. 2. Buat program menghitung perkalian matrik 3x3.procedure CetakLarik (input A : LarikInt. Awal : n sudah berisi jumlah elemen array yang dipakai.

berarti P menunjuk pada alamat memori 0041FF2A. Penyebutan tipe data float berarti bahwa alamat memori yang ditunjuk oleh px dimaksudkan untuk berisi data bertipe float. POINTER Pointer merupakan tipe data berukuran 32 bit yang berisi satu nilai yang berpadanan dengan alamat memori tertentu. Struktur Data 6 Copyright@PIK-Unsri Agustus 2007 . Contoh: float * px. num adalah sebuah variabel sedangkan numPtr adalah sebuah variabel pointer. sebuah variabel P bertipe pointer bernilai 0x0041FF2A. Contoh Program: 1. Output: Modul Prak. Statement di atas mendeklarasikan variabel px yang merupakan pointer. Bentuk Umum: <tipe data> namaVariabel. Gambaran dari suatu pointer. Sebagai contoh.Bab 2. Pointer dideklarasikan seperti variabel biasa dengan menambahkan tanda * (asterik) yang mengawali nama variabel.

Struktur Data 7 Copyright@PIK-Unsri Agustus 2007 . Output: 3.2. Output: Modul Prak.

Right) TYPE diterjemahkan menjadi type terdefinisi dalam bahasa yang bersangkutan. Misalnya: § § § ADT Waktu terdiri dari ADT JAM dan ADT DATE GARIS yang terdiri dari dua buah POINT SEGI4 yang terdiri dari pasangan dua buah POINT (Top. yang akan mendeklarasikan variabel bertype ADT tersebut dalam modulnya. berupa kode program dalam bahasa yang bersangkutan Realisasi ADT dalam beberapa bahasa: BAHASA Pascal (hanya dalam turbo pascal) C Ada SPESIFIKASI Satu Unit Interface File header dengan ekstensi . yaitu: § Definisi/Spesifikasi Type dan Primitif o o Spesifikasi type sesuai dengan bahasa yang bersangkutan Spsesifikasi dari primitif sesuai dengan kaidah dalam konteks prosedural.h Paket dengan ekstensi . Biasanya ada sebuah pengguna yang khusus yang disebut sebagai main program (program utama) yang memanfaatkan langsung type tsb. Left) dan (Bottom. sedangkan modul pengguna berperan sebagai Client (pengguna) dari ADT tersebut. Modul ADT biasanya dimanfaatkan oleh modul lain. Modul Prak. Struktur Data 8 Copyright@PIK-Unsri Agustus 2007 . ABSTRACT DATA TYPE Abstract Data Type (ADT) adalah definisi TYPE dan sekumpulan PRIMITIF (operasi dasar) terhadap TYPE tersebut. dan Proses yang dilakukan Body/realisasi dari primitif. Definisi TYPE dari sebuah ADT dapat mengandung sebuah definisi ADT lain.Bab 3. Primitif.adb Dalam modul ADT tidak terkandung definisi variabel. diterjemahkan menjadi fungsi atau prosedural. Final State. misalnya menjadi struct dalam bahasa C. Jadi ADT bertindak sebagai Supplier (penyedia type dan primitif).c Paket body dengan ekstensi . yaitu: § § § Fungsi : nama. range. ADT biasanya diimplementasi menjadi dua buah modul. dalam konteks prosedural. dan prekondisi jika ada Prosedur : Initial State. domain.ads BODY Implementation File kode dengan ekstensi .

Contoh ADT POINT dalam Bahasa Algoritmik Modul Prak. Struktur Data 9 Copyright@PIK-Unsri Agustus 2007 .

- - Jika L adalah list. Tipe data pointer bersifat dinamis. kita dapat menggunakan variabel pointer. Setiap ingin menambahkan data. yang dapat diakses melalui informasi NEXT. Anda selalu menggunakan variabel pointer yang baru. alamat harus terdefinisi. yang mempunyai keterurutan tertentu. jika kita mengetahui alamat sebuah elemen. Linked list digambarkan sebagai berikut : Jadi.Bab 4. NEXT mungkin ada secara eksplisit (seperti contoh di atas). atau secara implisit yaitu lewat kalkulasi atau fungsi suksesor setiap elemen mempunyai alamat. Struktur Data 10 Copyright@PIK-Unsri Agustus 2007 . variabel akan dialokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan dapat direlokasikan kembali. Untuk memecahkan masalah di atas. Elemen terakhirnya. yang setiap elemennya terdiri dari dua bagian. yaitu tempat elemen disimpan dapat diacu. sebuah list linier dikenali : elemen pertamanya. Selain itu. Untuk mengacu sebuah elemen. Oleh karena itu. LINKED LIST Pada bab sebelumnya telah dijelaskan mengenai variabel array yang bersifat statis (ukuran dan urutannya sudah pasti). ada baiknya jika Anda hanya menggunakan satu variabel pointer saja untuk menyimpan banyak data dengan metode yang kita sebut Linked List. ruang memori yang dipakai olehnya tidak dapat dihapus bila array tersebut sudah tidak digunakan lagi pada saat program dijalankan. akibatnya Anda akan membutuhkan banyak sekali pointer. biasanya melalui alamat elemen pertama yang disebut : First alamat elemen berikutnya (suksesor). maka alamat elemen pertama list L dapat diacu dengan notasi : Elemen yang diacu oleh P dapat dikonsultasi informasinya dengan notasi : deklarasi deklarasi Modul Prak. Dengan alamat tersebut informasi yang tersimpan pada elemen list dapat diakses. Linked list adalah sekumpulan elemen bertipe sama. dan P adalah address.

Struktur Data 11 Copyright@PIK-Unsri Agustus 2007 .1.Beberapa Definisi : 1. Pembuatan Sebuah Elemen pada List Linier IsEmptyList : L à boolean {Test apakah sebuah list kosong} Pemeriksaan apakah sebuah list kosong sangat penting. List L adalah list kosong. penambahan. dan F. perubahan. karena I. pada sebuah list linier biasanya dilakukan pembuatan.S.1.S. Definisi Fungsional List Linier dan Algoritmanya Secara fungsional. yang dapat ditulis sebagai berikut : 4. 2. beberapa prosedur harus didefinisikan berdasarkan keadaan list. atau penghapusan elemen atau proses terhadap keseluruhan list. Realisasi algoritmik dari definisi fungsional ini adalah sebagai berikut : Modul Prak.1. dengan salah satu cara adalah karena Next(Last) = Nil Nil adalah pengganti Null. jika First(L) = Nil Elemen terakhir dikenali. perubahan ini dituliskan dengan #define Nil Null Biasanya list linier paling sederhana digambarkan dengan ilustrasi sebagai berikut : 4.

1. atau sebuah elemen yang hanya diketahui nilai Info-nya (berarti belum dialokasi). setelah sebuah address P atau penyisipan menjadi elemen terakhir. Pembuatan sebuah Elemen pada List Linier CreateList : à L {Membentuk sebuah list linier kosong} Pembuatan sebuah list berarti membuat sebuah list KOSONG. yang selanjutnya siap diproses (ditambah elemennya. Struktur Data 12 Copyright@PIK-Unsri Agustus 2007 . karena dapat menjadi penyisipan sebagai elemen pertama. Penyisipan sebuah Elemen pada List Linier Insert : ElmtList x L à L {Menyisipkan sebuah elemen ke dalam list} Fungsi insert (penyisipan) harus dijabarkan lebih rinci.3.4.1. Penyisipan sebuah elemen dapat dilakukan terhadap sebuah elemen yang sudah dialokasi (diketahui address-nya). Modul Prak. dsb). Realisasi algoritmik dari definisi fungsional ini adalah sebuah prosedur sebagai berikut : 4.2.

5. Konkatenasi Dua Buah List Linier Concat : L1 x L2 à L {Menyambung L1 dengan L2} Konkatenasi adalah menggabungkan dua list.1.4. 4. Penghapusan sebuah Elemen pada List Linier Delete : L à L x ElmtList {Menghapus sebuah elemen dalam list} Penghapusan harus dijabarkan lebih rinci. di tengah. dan terakhir. karena penghapusan elemen dapat merupakan pertama. Struktur Data 13 Copyright@PIK-Unsri Agustus 2007 . Realisasi algoritmiknya adalah sebagai berikut : Modul Prak.1. yaitu penghapusan elemen pertama.4. setelah sebuah address P atau penghapusan elemen terakhir. Perbedaan ini melahirkan tiga operasi dasar penghapusan elemen list yang diturunkan dari definisi fungsional ini menjadi realisasi algoritmik.

Modul Prak. Struktur Data 14 Copyright@PIK-Unsri Agustus 2007 .

Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out). Struktur Data 15 Copyright@PIK-Unsri Agustus 2007 . Modul Prak. penyisipan selalu dilakukan “di atas” TOP b.1. elemen yang ditambahkan paling akhir menjadi elemen yang akan dihapus. 2. STACK 5.Bab 5. penghapusan selalu dilakukan pada TOP TOP adalah satu-satunya alamat tempat terjadi operasi. maka definisi fungsional stack adalah : Definisi Selektor adalah jika S adalah sebuah Stack. Definisi Stack Stack (tumpukan) adalah list linier yang : 1. maka • • Top(S) adalah alamat elemen TOP. Diberikan S adala Stack dengan elemen ElmtS. dimana operasi penyisipan / penghapusan dilakukan InfoTop(S) adalah informasi yang disimpan pada Top(S) Definisi Stack kosong adalah Stack dengan Top(S) = Nil (tidak terdefinisi). dikenali elemen puncaknya (TOP) aturan penyisipan dan penghapusan elemennya tertentu: a.

Struktur Data 16 Copyright@PIK-Unsri Agustus 2007 .Modul Prak.

Info(Tail(Q)) Diberikan Q adalah QUEUE dengan elemen ElmtQ maka definisi fungsional antrian adalah : Modul Prak. QUEUE 6. Next : address> dengan InfoType adalah sebuah type terdefinisi yang menentukan informasi yang disimpan pada setiap elemen queue. Selain itu.Bab 6. Info(Head(Q)). Aturan penyisipan dan penghapusan elemennya didefinisikan sebagai berikut : o o • Penyisipan selalu dilakukan setelah elemen terakhir Penghapusan selalu dilakukan pada elemen pertama Satu elemen dengan yang lain dapat diakses melalui informasi NEXT Maka secara logik. alamat elemen pertama (HEAD) dan elemen terakhir (TAIL) dicatat. sebuah QUEUE dapat digambarkan sebagai list linier yang setiap elemennya adalah type ElmtQ : <Info : InfoType. Definisi Queue Queue (antrian) adalah list linier yang : • • Dikenali elemen pertama (HEAD) dan elemen terakhirnya (TAIL). Tail(Q). dan address adalah “alamat” dari elemen.1. penulisan untuk Queue adalah : Head(Q). Maka jika Q adalah Queue dan P adalah address. Struktur Data 17 Copyright@PIK-Unsri Agustus 2007 .

Struktur Data 18 Copyright@PIK-Unsri Agustus 2007 .Contoh Prototype dari Sebuah Queue : Modul Prak.

Struktur Data 19 Copyright@PIK-Unsri Agustus 2007 .Modul Prak.

di bawah akan diuraikan istilah-istilah umum dalam tree. namun tiap subtree boleh memiliki panjang path yang berbeda dan setiap node kecuali leaf hanya boleh memiliki 2 child. Banyaknya node dalam suatu tree Banyaknya tingkatan / level dalam suatu tree Satu-satunya node khusus dalam tree yang tak punyak predecessor Node-node dalam tree yang tak memiliki successor Banyaknya child yang dimiliki suatu node 7. Notde lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lain (disebut Subtree). Untuk lebih jelasnya. TREE 7. Complete Binary Tree Jenis ini mirip dengan Full Binary Tree. Definisi Tree Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Jenis-Jenis Tree Binary Tree Binary Tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah.2. Struktur Data 20 Copyright@PIK-Unsri Agustus 2007 . Jenis.1. Predecessor Successor Ancestor Descendant Parent Child Sibling Subtree Size Height Root Leaf Degree Node yang berada di atas node tertentu Node yang berada dibawah node tertentu Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama Seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang sama Predecessor satu level di atas suatu node Successor satu level di bawah suatu node Node-node yang memiliki parent yang sama dengan suatu node Bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki semua karakteristik dari tree tersebut. Modul Prak. Tree bias didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root.Bab 7.Jenis Binary Tree : Full Binary Tree Jenis binary tree ini tiap nodenya (kecuali leaf) memiliki dua child dan tiap subtree harus mempunyai panjang path yang sama. Sesuai dengan definisi tersebut tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Tree tidak boleh kosong. yaitu kesulitan dalam searching / pendarian node tertentu dalam binary tree. dan PostOrder. Operasi-Operasi pada Binary Tree Create Clear Empty Insert Membentuk binary tree baru yang masih kosong Mengosongkan binary tree yang sudah ada Function untuk memeriksa apakah binary tree masih kosong Memasukkan sebuah node ke dalam tree. Khusus insert sebagai root. kunjungi Right Child • PostOrder : kunjungi Left Child. Mengubah isi dari node yang ditunjuk oleh pointer curret (Tree tidak boleh kosong) Mengetahui isi dari node yang ditunjuk oleh pointer current (Tree tidak boleh kosong) Menghapus sebuah subtree (node beserta seluruh descendant-nya) yang ditunjuk current. masing-masing sekali. Find Update Retrieve DeleteSub Characteristic Traverse Langkah-langkah Tranverse : • • PreOrder InOrder : cetak isi node yang dikunjungi. Setelah itu. atau right child dari suatu node. left child. left child. cetak isi node yang dikunjungi. Modul Prak. tree harus dalam keadaan kosong Mencari root. Hasilnya adalah urutan informasi secara linear yang tersimpan dalam tree. parent. Mengetahui karakteristik dari suatu tree. (tree tidak boleh kosong). atau right child. Struktur Data 21 Copyright@PIK-Unsri Agustus 2007 . pointer current dakan berpindah ke parent dari node yang dihapus.yaitu PreOrder. InOrder. Ada tiga pilihan insert : sebagai root. Binary Search Tree Binary Tree ini memiliki sifat dimana semua left child harus lebih kecil dari pada right child dan parentnya. height. Tree tidak boleh kosong. serta average length. Mengunjungi seluruh node-node pada tree. Implementasi Binary Tree Binary tree dapat diimplementasikan dalam C++ dengan menggunakan double linkedlist. Semua right child juga harus lebih besar dari left child serta parent-nya. kunjungi Left Child. Binary search tree dibuat untuk mengatasi kelemahan pada binary tree biasa. 7.3. Ada tiga cara traverse.Skewed Binary Tree Skewed Binary Tree adalah Binary Tree yang semua nodenya (kecuali leaf) hanya memiliki satu child. 7. kunjungi Right Child cetak isi node yang dikunjungi. kunjungi Right Child : kunjungi Left Child.4. yakni: size.

namun di sini update akan berpengaruh pada posisi node tersebut selanjutnya. digunakan simbol-simbol Bantu : . AVL Tree AVL Tree adalah Binary Search Tree yang memiliki perbedaan tinggi/ level maksimal 1 antara subtree kiri dan subtree kanan. Bila update mengakibatkan tree tersebut bukan Binary Search Tree lagi.Pada dasarnya operasi dalam Binary Search Tree sama dengan Binary Tree biasa.(tanda minus) + (tanda plus) 0 (nol) : digunakan apabila Subtree kiri lebih panjang dari Subtree kanan. yakni Binary Search Tree yang memiliki perbedaan level antara subtree kiri dan subtree kanan maksimal adalah n sehingga dengan kata lain AVL Tree adalah Height Balanced 1 Tree. : digunakan apabila Subtree kanan lebih panjang dari Subtree kiri. Update Update ini seperti yang ada pada Binary Tree biasa. Dengan AVL Tree. kecuali pada operasi insert. dan delete. Untuk memudahkan dalam menyeimbangkan tree. Selain AVL Tree. Delete Seperti halnya update. Insert Pada Binary Search Tree insert dilakukan setelah lokasi yang tepat ditemukan (lokasi tidak ditentukan oleh user sendiri ). AVL Tree muncul untuk menyeimbangkan Binary Search Tree. Struktur Data 22 Copyright@PIK-Unsri Agustus 2007 . Modul Prak. waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan. : digunakan apabila Subtree kiri dan Subtree kanan mempunyai height yang sama. harus dilakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi Binary Search Tree. update. terdapat pula Height Balanced n Tree. delete dalam Binary Search Tree juga turut mempengaruhi struktur dari tree tersebut.

Clear : Menghapus secara keseluruhan. Cara kerja konsol sangat sederhana yaitu menggunakan standar input untuk membaca input dari keyboard dan standar output untuk menampilkan teks ke layer monitor. Delete : Menghapus sebuah elemen. suara. Empty : Keadaan di mana list ada dalam keadaan kosong Modul Prak. terdiri dari banyak gambar-gambar tunggal (disebut frame) yang ditampilkan satu per satu secara bergantian dengan cepat sehingga objek dalam gambar tampak seolah-olah bergerak. dengan masing-masing elemen memiliki tipe data yang sama. biasanya digunakan sebagai nama fungsi/metode yang bertujuan untuk mengosongkan list atau menghapus keseluruhan elemen. Data tunggal disini tidak perlu data sederhana. Struktur Data 23 Copyright@PIK-Unsri Agustus 2007 . Data : Informasi yang disimpan komputer. melainkan bisa berupa kumpulan data atau list yang lain. dan sebagainya. biasanya digunakan sebagai nama fungsi/metode yang bertujuan untuk menghapus sebuah elemen dalam suatu list/tree Deret geometric : Deretan bilangan yang setiap bilangan merupakan hasil kali bilangan sebelumnya dengan suatu konstanta. video.DAFTAR ISTILAH-ISTILAH Algoritma : Langkah-langkah menyelesaikan suatu masalah yang disusun secara logis dan berurutan Animasi : Gambar yang tampak bergerak. Console : Istilah dalam komputer yang menunjuk pada antarmuka antara pemakai dengan komputer yang berbasiskan teks. Destruktor : Metode khusus dalam sebuah kelas untuk menghapus objek hasil instansiasi kelas tersebut Dimensi : Jumlah indek yang diperlukan untuk menyatakan sebuah elemen dalam array Elemen : Sebuah data tunggal yang paling kecil dari sebuah array atau list. gambar. Array : Struktur data yang memiliki banyak elemen di dalamnya. dapat berbentuk teks.

biasanya bahasa mesin. template. awal. Input : Data masukkan. maupun di akhir list. misalnya sebuah himpunan dari buahbuahan dapat terdiri dari pisang. Struktur Data 24 Copyright@PIK-Unsri Agustus 2007 . untuk dapat dijalankan langsung oleh computer melalui system operasi. maupun for. Himpunan : Kumpulan dari objek-objek. do while. Biasanya insert dilakukan baik di tengah-tengah list.Fibonacci : Barisan bilangan yang setiap bilangan merupakan jumlah dari dua bilangan sebelumnya. sedangkan dalam program secara keseluruhan berarti data yang dimasukkan pemakai. sifat kumpulan data. makro. Metode khusus yang dimiliki suatu kelas untuk membentuk suatu objek baru berdasarkan kelas tersebut Library : Kumpulan fungsi. Kompiler Konstruktor : : Program yang mengerjakan kompilasi. dan kelas yang disediakan bersama compiler C++. bias melalui parameter program. mangga. jambu dll. file maupun lewat keyboard Insert : Memasukkan sebuah elemen baru ke dalam list. jika sebuah elemen A dimasukkan lebih dulu dari B maka A harus dikeluarkan dulu dari B FPB : Faktor Persekutuan terbesar. Kelas : Suatu struktur yang digunakan sebagai template bagi objek-objek yang sama sifatnya. LIFO : Last In Fisrt Out. Field FIFO : : Data yang dimiliki oleh sebuah objek First In First Out sifat suatu kumpulan data. faktor yang paling besar jika sejumlah bilangan memiliki beberapa faktor yang sama. kebalikan dari FIFO Modul Prak. Kompilasi : Proses menerjemahkan bahasa sumber (source code) ke dalam bahasa lain. Indeks : Bilangan yang digunakan untuk menyatakan posisi suatu elemen dalam array atau list. Iterasi : Perulangan dengan struktur perulangan. Full Fungsi : : Keadaan di mana list penuh. dalam fungsi berarti parameter yang dimasukkan. tidak boleh menerima data lagi Suatu modul atau bagian program yang mengerjakan suatu program tertentu. while.

Kode sumber belum dapat dijalankan oleh komputer dan perlu menjalani proses kompilasi sehingga dapat dijalankan. Matriks : Dalam matematika berarti kumpulan bilangan yang disusun dalam bentuk kolom dan baris. Metode Objek : : Fungsi yang dimiliki suatu objek Struktur data yang terdiri dari data yang lebih sederhana yang disebut field yang memiliki operasi sendiri untuk menangani datadata yang dimilikinya. Rekursi : Jenis perulangan yang tidak menggunakan struktur perulangan. Memasukkan sebuah elemen baru ke dalam list. Stack : List yang memiliki sifar LIFO. Record : Struktur data yang terdiri dari satu atau lebih elemen yang tipe data bias berbeda. STL : Standar Templete Library merupakan kumpulan yang disertakan dalam setiap compiler C++ yang memenuhi standar ANSI C++ yang menyediakan berbagai struktur data. algoritma dan template yang Modul Prak. kemudian menghapus elemen tersebut dari list biasanya digunakan untuk stack. Output Pointer : : Data yang dihasilkan oleh program Type data khusus yang pada umumnya berukuran 32 bit yang berfungsi untuk menampung bilangan tertentu yang menunjuk pada lokasi memory tertentu Pop : Mengeluarkan satu elemen dari dalam list dengan cara menyalin data elemen tersebut.Linked List : List yang didesain dengan cara mendefinisikan sebuah elemen yang memiliki hubungan atau link dengan elemen lain yang dihubungkan dengan elemen yang lain lagi. Struktur list dengan sifat FIFO. tetapi dengan memanggil fungsi yang bersangkutan. cara kerjanya seperti antrian manusia. Struktur Data 25 Copyright@PIK-Unsri Agustus 2007 . Data yang hendak di keluarkan dari stack haruslah data yang paling terakhir dari stack. Prima Push Queue : : : Bilangan yang tidak memiliki faktor selain 1 dan bilangan itu sendiri. Sort Source Code : : Menyusun elemen-elemen suatu list secara berurutan. Program yang ditulis menggunakan bahasa pemrograman tertentu.

Cepat MahirBahasa. Elex Media Komputindo. rinaldi Munir (2002). Achmad (2003). Romi Satria(2003). Stream : Aliran merupakan konsep dalam C++ untuk input dan ouput data tanpa memperdulikan isi data maupun media penampung data tersebut. Imam.S. Inc. Informatika Bandung. Richardus Eko. Budi Raharjo (2003). Indrajit.Com.Com.. Struktur Data 26 Copyright@PIK-Unsri Agustus 2007 . IlmuKomputer. Asyiknya Belajar Struktur Data di Planet C++. IlmuKomputer. Informatika Bandung. Sanjaya. Kakde (2004). Kajian Strategis Analisa Cost-Benefit Investasi Teknologi Informasi. Massachusetts Heriyanto. Richardus Eko. Charles River Media. Tree : Suatu struktur data yang setiap elemen terhubung sedemikian rupa sehingga berbentuk seperti pohon. C dan Data Structures. tanda baca). O. Struktur kontrol Teks : : Struktur yang digunakan untuk mengontrol jalannya program. Modul Prak. Data yang terdiri dari karakter-karakter yang dapat dibaca (huruf bilangan.G.sering dipakai. Indrajit. Dwi (2005). Pemrograman Bahasa C dengan Turbo C. Leoni. Pemrograman Borland C++ Builder. Solichin. Wahono. Algoritama dan Pemrograman dalam Bahas Pascal dan C. REFERENSI Desphande P. Lidya. Manajemen Sistem Informasi dan Teknologi Informasi.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->