Definisi Algoritma:
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Sebagai pembanding, disini dikemukakan definisi kata algoritma menurut Kamus Besar Bahasa Indonesia (KBBI) terbitan Balai Pustaka Tahun 1988 :
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.

ARRAY

Array : a finite ordered set of homogenous elements. Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori. Array memiliki alamat yang besebelahan/berdampingan tergantung lebar tipe datanya. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama dan bisa berisi nilai yang sama atau berbeda-beda.

Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu secara random ataupun berurutan. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.

2.1. Array Satu Dimensi
Array Satu dimensi tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.

2.2. Array Dua Dimensi
Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.


POINTER
Penggunaan pointer sangat mendukung dalam pembentukan struktur data dinamis. Salah satu struktur data dinamis yang paling sederhana adalah senarai berantai (linked list ), atau senarai satu arah ( one-way list). Dengan demikian, linked list adalah kumpulan komponen yang disusun secara berurutan dengan bantuan pointer. Masing-masing komponen, dinamakan dengan simpul (node). Dengan demikian, setiap simpul dalam suatu linked list terbagi menjadi dua bagian. Bagian pertama, disebut medan informasi, berisi informasi yang akan disimpan dan diolah. Bagian kedua, disebut medan penyambung (link field), berisi alamat simpul berikutnya.

STRUCTURE

Struktur merupakan suatu tipe data yang merupakan kumpulan tipe data lainnya. Struktur terdiri dari data yang disebut suatu field. Field-field dapat berupa tipe data sederhana maupun tipe data turunan, macam tipenya juga tidak dibatasi, bahkan di dalam struktur juga boleh terdapat tipe data struktur.
Struktur sangat erat hubungannya dengan pola penyimpanan dalam file, sehingga struktur biasanya digunakan untuk membuat program yang berhubungan dengan file. File adalah kumpulan dari banyak struktur, sedangkan struktur adalah kumpulan field-field.


Contoh :
struct mahasiswa
{
char nim[11];
char nama[30];
char alamat[50];
float ipk;
};


STACK

Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.

Stack dengan Array
Sesuai dengan sifat stack, pengambilan / penghapusan di elemen dalam stack harus dimulai dari elemen teratas.

Operasi-operasi pada Stack dengan Array
IsFull
Fungsi ini memeriksa apakah stack yang ada sudah penuh. Stack penuh jika puncak stack terdapat tepat di bawah jumlah maksimum yang dapat ditampung stack atau dengan kata lain Top = MAX_STACK -1.
Push
Fungsi ini menambahkan sebuah elemen ke dalam stack dan tidak bisa dilakukan lagi jika stack sudah penuh.
IsEmpty
Fungsi menentukan apakah stack kosong atau tidak. Tanda bahwa stack kosong adalah Top bernilai kurang dari nol.
Pop
Fungsi ini mengambil elemen teratas dari stack dengan syarat stack tidak boleh kosong.
Clear
Fungsi ini mengosongkan stack dengan cara mengeset Top dengan -1. Jika Top bernilai kurang dari nol maka stack dianggap kosong.
Retreive
Fungsi ini untuk melihat nilai yang berada pada posisi tumpukan teratas.
QUEUE

Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
EnQueue : memasukkan data ke dalam antrian.
DeQueue : mengeluarkan data terdepan dari antrian.
Clear : menghapus seluruh antrian.
IsEmpty : memeriksa apakah antrian kosong.
IaFull : memeriksa apakah antrian penuh.


TREE

Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.

Ada 2 jenis tree yaitu sebagai berikut :
• Tree Statik : isi node-nodenya tetap karena bentuk pohonnya sudah ditentukan.
• Tree Dinamik : isi nodenya berubah-ubah karena proses penambahan (insert) dan penghapusan (delete)

Node Root
Node root dalam sebuah tree adalah suatu node yang memiliki hiarki tertinggi dan dapat juga memiliki node-node anak. Semua node dapat ditelusuri dari node root tersebut. Node root adalah node khusus yang tercipta pertama kalinya. Node-node lain di bawah node root saling terhubung satu sama lain dan disebut subtree.

Contoh penggunaan struktur pohon :
• Silsilah keluarga
• Parse Tree (pada compiler)
• Struktur File
• Pertandingan

Terminologi Tree





Kesimpulan :
Kesimpulan yang dapat saya simpulkan dari semua materi diatas adalah dengan menggunakan fungsi array kita dapat menghemat penggunaan code apabila ingin membuat data dalam jumlah yang banyak. Dengan menggunakan pointer kita bisa mengakses elemen array, pengiriman argumen pada fungsi (struct), memanipulasi memory, dan masih banyak lagi. Dengan menggunakan struct kita dapat menggabungkan elemen-elemen menjadi satu kesatuan sehingga mudah untuk di operasikan.

Kesan dan Pesan :
Widih,,,,,,,,,,,,lok ditanya soal kesan dan pesan terhadap dosen yang ngajarin Algoritma dan Struktur Data II yaitu Mr. Dody Sanjaya,,,itu sulit diungkapkan dengan kata2,,,,(he.he.he)..
Mr. Dody itu lok ngajar gak ngebosenin, baik, pinter, lucu tapi klo udah ngasi tugas,,,,hm,,,,jangan ditanya dah,,,,,(hehehehe)
Eeiitss,,,jangan salah,,,walaupun tugasnya susah,,,Beliau masih berbaik hati dengan ngasi kemudahan ma mahasiswa – mahasiswinya buad ngerjain tu smua...n’ satu lagi,klo ngasi nilai buad mahasiswa, beliau itu gak pilih kasih,,,,(Jujur).
Ya,,pokoknya Mr. Dody bedalah ma dosen-dosen yang lain,,,,,

0 komentar:

About this blog

hua,,,,,,,,,,,,,,,,,,,ribett......