ALGORITMA DAN STRUKTUR DATA

Posted by Unknown Senin, 28 Mei 2012 0 komentar
Algoritma adalah kumpulan urutan perintah yang menentukan operasi-operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah ataupun mengerjakan suatu tugas tertentu. Algoritma merupakan urutan langkah instruksi yang logis. Setiap langkah instruksi mengerjakan suatu tindakan aksi. Apabila suatu aksi dilaksanakan, maka operasi atau sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Bila data yang digunakan benar, maka algoritma akan selalu berhenti dengan memberikan hasil yang benar pula. Pembuatan algoritma harus selalu dikaitkan dengan : a. kebenaran algoritma, yakni bila program selesai maka hasilnya juga benar b. kompleksitas, lama dan jumlah waktu proses dan penggunaan memori. ciri algoritma 1. tepat sasaran 2. fleksibel dan portable 3. bersih dari kesalahan system ataupun logika 4. murah dan efisien 5. cepat waktu 6. didokumentasikan Sumber: http://id.shvoong.com/social-sciences/communication-media-studies/2068223-pengertian-algoritma/#ixzz1w8wD5xun .

.
Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. .
.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data. Daftar struktur data umum .
Record .
Larik
List
Tumpukan
Queue
Pohon

Record (basis data) merupakan kumpulan dari elemen-elemen data yang terkait dalam sebuah basis data. Secara ringkas, database dapat dikatakan sebagai sebuah tabe yang memiliki baris alias record dan kolom atau field. Setiap baris menyatakan elemen-elemen data yang saling berkaitan. Sebagai contoh dalam suatu tabel memiliki kolom nama, alamat, tanggal lahir, pekerjaan. Maka satu record adalah data sau orang yang terdiri atas nama, alamat, tanggal lahir dan pekerjaan.

Larik (Bahasa Inggris: array), dalam ilmu komputer, adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama yang sama dan menempati tempat di memori yang berurutan (kontigu) serta bertipe data sama pula.

Larik dapat diakses berdasarkan indeksnya. Indeks larik umumnya dimulai dari 0 dan ada pula yang dimulai dari angka bukan 0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping).

Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :
Elemen TOP (puncak) diketahui
penisipan dan penghapusan elemen selalu dilakukan di TOP
LIFO
Pemanfaatan Stack :
Perhitungan ekspresi aritmatika (posfix)
algoritma backtraking (runut balik)
algoritma rekursif
Operasi Stack yang biasanya :
Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack IsEmpty () IsFull () dan beberapas selektor yang lain
POHON
Simpul (node)

Sebuah Simpul dapat mengandung sebuah nilai atau suatu kondisi atau menggambarkan sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri. Setiap simpul dalam sebuah pohon memiliki nol atau lebih simpul anak (child nodes), yang berada dibawahnya dalam pohon (menurut perjanjian, pohon berkembang ke bawah, tidak seperti yang dilakukannya di alam). Sebuah simpul yang memiliki anak dinamakan simpul ayah (parent node) atau simpul leluhur (ancestor node) atau superior. Sebuah simpul paling banyak memiliki satu ayah. Tinggi dari pohon adalah panjang maksimal jalan ke sebuah daun dari simpul tersebut. Tinggi dari akar adalah tinggi dari pohon. Kedalaman dari sebuah simpul adalah panjang jalan ke akarnya dari simpul tersebut. Daun (Leaf nodes) 9, 14, 19, 67 dan 76 adalah daun.

Semua simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node). Sejak mereka terletak pada tingkat paling bawah, mereka tidak memiliki anak satupun. Seringkali, daun merupakan simpul terjauh dari akar. Dalam teori grafik, sebuah daun adalah sebuah sudut dengan tingkat 1 selain akar (kecuali jika pohonnya hanya memiliki satu sudut; maka akarnya adalah daunnya juga). Setiap pohon memiliki setidaknya satu daun.

Dalam pohon berdasarkan genetic programming sebuah daun (juga dibilang terminal) adalah bagian terluar dari sebuah program pohon. Jika dibandingkan dengan fungsinya atau simpul dalam, daun tidak memiliki argumen. Di banyak kasus dalam daun-GP input ke programnya. Simpul dalam (Internal nodes)

Sebuah simpul dalam adalah semua simpul dari pohon yang memiliki anak dan bukan merupakan daun. Beberapa pohon hanya menyimpan data di dalam simpul dalam, meskipun ini memengaruhi dinamika penyimpanan data dalam pohon. Sebegai contoh, dengan daun yang kosong, seseorang dapat menyimpan sebuah pohon kosong dengan satu daun. Bagaimanapun juga dengan daun yang dapat menyimpan data, tidak dimungkinkan untuk menyimpan pohon kosong kecuali jika seseorang memberikan beberapa jenis penanda data di daun yang menandakan bahwa daun tersebut seharusnya kosong (dengan demikian pohon itu seharusnya kosong juga).

Sebaliknya, beberapa pohon hanya menyimpan data dalam daun, dan menggunakan simpul dalam untuk menampung metadata yang lain, seperti jarak nilai dalam sub pohon yang berakar pada simpul tersebut. Jenis pohon ini berguna untuk jarak yang meragukan.
Sub pohon (Subtrees)
Sebuah sub pohon adalah suatu bagian dari pohon struktur data yang dapat dilihat sebagai sebuah pohon lain yang berdiri sendiri. Simpul apapun dalam pohon P, bersama dengan seluruh simpul dibawahnya, membentuk sebuah sub pohon dari P. Sub pohon yang terhubung dengan akar merupakan keseluruhan pohon tersebut. Sub pohon yang terhubung dengan simpul lain manapun dinamakan sub pohon asli (proper subtree). Penyusunan pohon

Terdapat dua jenis pohon. Sebuah pohon tidak terurut (unordered tree) adalah sebuah pohon dalam arti struktural semata-mata, yang dapat dikatakan memberikan sebuah simpul yang tidak memiliki susunan untuk anak dari simpul tersebut. Sebuah pohon dengan suatu susunan ditentukan, sebagai contoh dengan mengisi bilangan asli berbeda ke setiap anak dari simpul tersebut, dinamakan sebuah pohon terurut (ordered tree), dan struktur data yang dibangun di dalamnya dinamakan pohon terurut struktur data (ordered tree data structures). Sejauh ini pohon terurut merupakan bentuk umum dari pohon struktur data. Pohon biner terurut merupakan suatu jenis dari pohon terurut.

Hutan

Sebuah hutan adalah sebuah himpunan yang terdiri dari pohon terurut. Lintasan inorder, preorder, dan postorder didefinisikan secara rekursif untuk hutan.
inorder
lewati inorder hutan yang dibentuk oleh sub pohon yang pertama dalam hutan, jika ada kunjungi akar dari pohon pertama. lewati inorder hutan yang dibentuk oleh sisa pohon dalam hutan, jika ada.
preorder
kunjungi akar dari pohon pertama. lewati preorder hutan yang dibentuk oleh sub pohon yang pertama dalam hutan, jika ada lewati preorder hutan yang dibentuk oleh sisa pohon dalam hutan, jika ada.
postorder
lewati postorder hutan yang dibentuk oleh sub pohon yang pertama dalam hutan, jika ada lewati postorder hutan yang dibentuk oleh sisa pohon dalam hutan, jika ada. kunjungi akar dari pohon pertama.

Penggambaran pohon
Ada banyak cara untuk menggambarkan pohon; pada umumnya penggambaran mewakili simpul sebagai rekor yang dialokasikan pada heap (bedakan dengan heap struktur data) yang mengacu pada anaknya, ayahnya, atau keduanya, atau seperti data materi dalam array, dengan hubungan diantaranya ditentukan oleh posisi mereka dalam array (contoh binary heap)
Pohon sebagai grafik
Dalam teori grafik, sebuah pohon adalah sebuah grafik asiklis yang terhubung. Pohon yang berakar merupakan sebuah grafik dengan sudut tunggal diluar sebagai akar. Dalam kasus ini, dua sudut apapun yang terhubung dengan sebuah sisi mewarisi hubungan orang tua dan anak. Sebuah grafik asiklis dengan bermacam-macam komponen yang terhubung atau himpunan dari pohon-pohon yang berakar kadang-kadang dipanggil hutan Metode traversal
Melangkah melalui materi dari pohon, dengan arti dari hubungan antara orang tua dan anak, dinamakan menelusuri pohon, dan tindakannya adalah sebuah jalan dari pohon. Seringkali, sebuah operasi mungkin dapat dilakukan sebagai penunjuk ysng mengacu pada simpul khusus. Sebuah penelusuran dimana setiap simpul ayah dikunjungi sebelum anaknya dinamakan pre-order walk; sebuah penelusuran dimana anaknya dikunjungi sebelum ayahnya masing-masing dinamakan post-order walk.
Operasi umum Menghitung seluruh materi (item) Pencarian untuk sebuah materi Menambahkan sebuah materi pada sebuah posisi tertentu dalam pohon Menghapus sebuah materi Mengeluarkan seluruh bagian dari sebuah pohon pruning Menambahkan seluruh bagian ke sebuah pohon grafting Menemukan akar untuk simpul apapun
Penggunaan umum
Memanipulasi data secara hierarki Membuat informasi mudah untuk dicari Memanipulasi data sorted lists

0 komentar:

Posting Komentar