Halo, nama saya Qitfirul Dwi Cahyono
Saya kuliah di Universitas Muhammadiyah Sidoarjo
Fakultas Sains dan Teknologi Prodi Informatika
Saya disini akan membagikan hasil rangkuman saya yang sudah saya dapatkan dari praktikum Algostruk.
Pokok bahasan 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. Kumpulaan elemen tersebut mempunyai suusnan tertentu yang teratur. Jumlah elemen terbatas, dan semua elemen mempunyai tipe data yang sama. Jenis-jenis array:
-Array Satu Dimensi
-Array Dua Dimensi
-Array Multidimensi / Dimensi Banyak
C. Konsep Dasar Pointer
Pointer adalah sebuah variabel yang berisi lamat variabel yang lain. Suatu ponter dimaksudkan untuk meunjuk koperatore suatu alamat memori sehingga alamat dari suatu variabel 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 berlain
Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitanmenjadi sebuah satu kesatuan. Contoh sebuah struktur adalah informasi data tanggal, yang berisi tanggal, bulan, dan tahun.
Pokok Bahasan 2
(Linked List / Senarai)
Linked list adalah sejumlah objek atau elemen yang dihubungkan satu dengan lainnya sehingga membentuk suatu list. Sdangkan objek atau elemen itu sendiri adalah merupakan gabungan beberapa data (variabel) yang dijadikan satu kelompok atau structure atau record yang dibentuk dengan perintah struct. Untuk menggabungkan objek satu dengan lainnya, diperlukan paling tidak sebuah variabel yang bertipe pointer. Syarat linked list adalah harus adapat diketahui alamat simpul pertama atau biasa dipakai variabel First/Start/Header.
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
Variabel First/Header berisis alamat (pointer)/acuan (reference) yag menunjuk lokasi simpul pertama linked list, digunakan sebagai awal penelusuran linked list.
- Nil/Null
Tidak bernilai, digunakan untuk menyatakan tidak mengacu ke manapun.
- Simpul Terakhr (Last)
Simpul terakhir linked list berari tidak menunjuk simpul berikutnya. Tidak terdapat alamat disimpan di field pointer (bagian kedua dari simpul). Nilai null atau nil disimpan di field pointer di simpul terakhir.
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.
Pokok Bahasan 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.
Pokok Bahasan 4
(Queue / Antrian)
Antrian adalah suatu kumpulan data yang penambahan elemennya hanya bisa dilakukan pada suatu ujung(disebut sisi belakang atau REAR), dan penghapusan atau pengambilan elemen dilakukan lewat ujung yang lain (disebut sisi depan atau FRONT).Prinsip yang digunakan dalam antrian ini adalah FIFO (First In First Out) yaitu elemen yang pertama kali masuk akan keluar pertama kalinya.Penggunaan antrian lain simulasi antrian didunia nyata (antrian pembelian tiket),sistem jaringan komputer (pemrosesan banyak paket yang datang dari banyak koneksi pada suatu host,bridge,gateway),dan lain-lain.
Elemen Karakteristik penting antrian sebagai berikut :
a. Elemen antrian yaitu item-item data yang terdapat dalam antri
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 diantrian mencapai kapasitas maksimum antrian.Pada kondisi ini,tidak mungkin dilakukan penambahan ke antrian.Penambahan di elemen menyebabkan kondisi 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 apakan Antrian sudan penuh atau belum.
4. Enqueue/Insert menambahkan elemen kedalam antrian,penambahan elemen selalu
Pokok Bahasan 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 sangan 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.
Pokok Bahasan 6
(sorting / Pengurutan)
Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertantu.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 data 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.Apabila elemen sekarang
> elemen berikutnya,maka posisinya ditukar.Kalau tidak,tidak perlu ditukar.Diberi nama “Bubble” karena proses pengurutan secara berangsur- angsur bergerak/berpindah ke posisinya yang tepat,seperti gelembung yang keluar dari sebuah gelas bersoda.
2. Selection Sort
Metode selesi melakukan pengurutan dengan cara mencari data yang terkecil kemudian menukarkanya 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. Merge Sort
Algoritma Merge Sort ialah algoritma pengurutan yang berdasarkan pada strategi divide atau conquer.Algoritma ini terdiri dari dua bagian utama,pambagian list yang diberikan untuk di-sort ke dalam beberapa sublist yang lebih kecil,dan sort (mengurutkan) dan merge (menggabungkan) sublist-sublist yang lebih kecil ke dalam list hasil yang sudah diurutkan.
Berikut Contoh program Ascending dengan menggunakan bubble sort :
Tidak ada komentar:
Posting Komentar