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 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 :
Komentar
Posting Komentar