Erlangga Hikmal Abrar UMSIDA Algoritma Semester 2

 Modul 1

STRUKTUR DATA, ARRAY, POINTER, DAN STRUKTUR

A.    Konsep Dasar Struktur Data

Struktur data adalah sebuah bagian dari ilmu pemrograman dasar yang mempunyai karakteristik yang terkait dengan sifat dan cara penyimpanan sekaligus penggunaan atau pengaksesan data.

B.    Konsep Dasar Array

Array adalah kumpulan elemen-elemen data. Kumpulan elemen tersebut mempunyai susunan tertentu yang di teratur. 

C.    Konsep Dasar Pointer

Pointer adalah sebuah variable yang berisi lamat variable yang lain. Suatu pointer dimaksudkan untuk menunjuk ke suatu alamat memori sehingga alamat dari suatu variable dapat diketahui dengan mudah.

D.    Konsep Dasar Struktur

Struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama, dengan sifat setiap variabel dapat memiliki tipe yang berlainan


Modul 2

LINKED LIST (SENARAI)

Istilah – istilah dalam linked list :

-          Simpul

Simpul terdiri dari dua bagian yaitu :

a.       Bagian data

b.      Bagian pointer yang menunjuk ke simpul berikutnya

-          First/Header

-          Nil/Null

-          Simpul Terakhr (Last)

Jenis – jenis linked list :

            List kosong

             List Tunggal

List Ganda

Operasi Dasar pada Linked List :

IsEmpty : Fungsi ini menentukan apakan linked list kosong atau tidak.

Size : operasi untuk mengirim jumlah elemen di linked list.

Create : operasi untuk penciptaan list baru yang kosong.

Insertfirst : operasi penyisipan simpul sebagai simpul pertama.

Insertafter : operasi untu penyisispan simpul setelah simpul tertentu.

Insertlast : operasi untuk penyisipan simpul sebagai simpul terakhir.

Insertbefore : operasi untuk penyisipan simpul sebelum simpul tertentu.

Deletefirst : operasi penghapusan simpul pertama.

Deleteafter : operasi penghapusan setelah simpul tertentu.

Deletelast : operasi penghapusan simpul terakhir.


Modul 3

STACK (TUMPUKAN)

Stack adalah kumpula elemen-elemen yang tersimpan dalam suatu tumpukan. Aturan penyisispan dan penghapusan elemennya tertentu :

-          Penyisispan selalu dilakukan “di atas “ TOP

-          Penghapusan selalu dilakukan pada TOP

Karena aturan penyisipan dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi operasi, elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa elemen Stack tersususn secara LIFO (Last In First Out).

Seperti halnya jika kita mempunyai sebuah tumpukan buku, agar tumpukan buku itu tidak ambruk ketika kita mengambil sebuah buku di dalam tumpukan itu amaka harus diambil satu per satu dari tumpukan yang paling atas dari tumpukan.


Modul 4

QUEUE (ANTRIAN)

Elemen Karakteristik penting antrian sebagai berikut:

a. Elemen antrian yaitu item-item data yang terdapat dalam antrian.

b. Head/front (elemen terdepan antrian).

c. Tail/rear (elemen terakhir antrian).

d. Jumlah antrian pada antrian (count).

e. Status/kondisi antrian, ada dua yaitu:

-        Penuh

Bila elemen di antrian mencapai kapasitas maksimum antrian. Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan di elemen menyebabkan kondisi kesalahan Overflow.

-        Kosong

Bila tidak ada elemen antrian. Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen antrian. Pengambilan elemen menyebabkan kondisi kesalahan Underflow.


Operasi-operasi pokok pada antrian diantaranya adalah :

1.      Create Membuat antrian baru.

2.    IsEmpty  Untuk memeriksa apakah Antrian sudah penuh atau belum.

3.  IsFull mengecek apakah Antrian sudah penuh atau belum.

4.  Enqueue/Insert menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang.

Representasi dinamis

Queue dengan representasi dinamis biasanya diimplementasikan dengan menggunakan pointer yang menunjuk pada elemen-elemen yang dialokasikan pada memori.


Modul 5

REKURSIF

Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri, artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri. Contoh menghitung nilai factorial. Rekursif sangat memudahkan untuk memecahkan permasalahan yang kompleks. Sifat-sifat rekursif:

Dapat digunakan ketika inti dari masalah terjadi berulang kali.

Sedikit lebih efisien dari iterasi tapi lebih elegan.

Method-methodnya dimungkinkan untuk memanggil dirinya sendiri.

Data yang berada dalam method tersebut seperti argument disimpan sementara ke

dalam stack sampai method pemanggilnya diselesaikan.


Modul 6

   SORTING (PENGURUTAN)

Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Ada dua macam urutan yang biasa digunakan dalam proses pengurutan yaitu :

·         Urutan naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar.

·         Urutan turun (descending) yaitu dari kata yang mempunyai nilai paling besar sampai paling kecil.

Beberapa algoritma metode pengurutan dan prosedurnya sebagai berikut :

 1.      Bubble Sort

Bubble Sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. 

2.     Selection Sort
Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil kemudain menukarkannya dengan data yang digunakan sebagai acuan atau sering dinamakan pivot. Selama proses, pembandingan dan pengubahan hanya dilakukan pada indeks pembanding saja, pertukaran data secara fisik terjadi pada akhir proses. 
3.      Merger Sort
Algoritma Merge Sort ialah algoritma pengurutan yang berdasarkan pada strategi divide and conquer. Algoritma ini terdiri dari dua bagian utama, pembagian list yang diberikan untuk di-sort ke dalam beberapa sublist yang lebih kecil, dan sort(mengurutkan) dan merge (menggabungkan) sublist-sublist yange lebih kecil ke dalam list hasil yang diurutkan.

Komentar