Materi Kuliah :
◦Pengantar Struktur Data
◦ Review Struct/Record dan Array
◦ List
◦ Stack
◦ Queue
◦ Tree
Penilaian :
Tgs : 15 %, Kuis = 20%, UTS = 30%, UAS = 35%
3.
Bagaimana cara mengatasimasalah
implementasi program dengan
komputer?
◦ Pemahaman masalah secara menyeluruh dan persiapan data
◦ Keputusan operasi-operasi yang dilakukan terhadap data
◦ Penyimpanan data-data pada memori sehingga tersimpan dan terstruktur secara logis,
operasinya efisien
◦ Pengambilan keputusan terhadap bahasa pemrograman mana yang paling cocok untuk
jenis data yang ada
Algoritma …..
deskripsi langkah-langkahpenyelesaian masalah yang tersusun secara logis
Ciri algoritma yang baik menurut Donald E.Knuth:
1. Input: ada minimal 0 input atau lebih
2. Ouput: ada minimal 1 output atau lebih
3. Definite: ada kejelasan apa yang dilakukan
4. Efective: langkah yang dikerjakan harus efektif
5. erminate: langkah harus dapat berhenti (stop) secara jelas
6.
Contoh Algoritma …..
•Mencarinilai maksimum
•Mengurutkan data
•Mencetak bilangan ganjil dari 1 – 19
•Menyimpan data mahasiswa baru
•Mencetak data absensi
•…
7.
Contoh Algoritma mencetak
bilanganganjil dari 1-19
1.Dimulai dari nilai 1
2.Seleksi apakah nilai tersebut ganjil (syarat : jika habis di bagi 2)
3.Jika ganjil maka lakukan pencetakan, jika tidak maka ke tahap berikutnya
4.Nilai di tambah satu
5.Seleksi apakah nilai sudah sampai dengan 20, jika belum ulangi langkah 2, jika sudah maka stop
Contoh Struktur Data…..
•Struktur Data Statis – array/larik ,
rekord, himpunan.
•Struktur Data Dinamis - list, queue,
stack, tree, graph.
10.
Contoh Struktur Data…..
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :
8 indeks (1 s/d 8) dan data 1, 7, 18 dst.
11.
Contoh Struktur Data…..
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :
- j uml a h ba ri s 2 , k ol om 3
- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
Operasi Pada StrukturData
•Traversal (Traversing) : mengunjungi setiap elemen SD
•Pencarian (Searching) : menemukan elemen/lokasi
pada SD
•Penyisipan (Inserting) : menambah elemen baru
pada SD
•Penghapusan (Deleting) : menghapus elemen dari SD
17.
Mengapa perlu SD
Mengenalbentuk organisasi penyimpanan data dan
pengoperasiannya.
Menentukan kualitas informasi : akurat, tepat pada
waktunya dan relevan. Informasi dapat dikatakan bernilai
bila manfaatnya lebih efektif dibandingkan dengan biaya
mendapatkannya.
Mengurangi duplikasi data (data redudancy)
Hubungan data dapat ditingkatkan (data relatability)
Mengurangi pemborosan tempat simpanan luar
18.
Your best quotethat reflects your
approach… “It’s one small step for
man, one giant leap for mankind.”
PUTRAMA ALKHAIRI
Editor's Notes
#5 Algoritma: sederetan langkah-langkah logis yang disusun secara sistematis untuk
memecahkan suatu masalah. Disebut Logis karena setiap langkah bisa diketahui dengan pasti.
Algoritma lebih merupakan alur pemikiran untuk menyelesaikan suatu pekerjaan atau suatu
masalah.
Ciri Ciri Algoritma
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
4. Algoritma memiliki nol atau lebih masukkan.
5. Algoritma memiliki satu atau lebih keluaran. Algoritma harus efektif (setiap langkah
harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
#8 Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer
agar bisa dipakai secara efisien Sedangkan data adalah representasi dari fakta dunia nyata. Fakta
atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk
tulisan, suara, gambar, sinyal atau simbol
#9 Array adalah kumpulan data-data beripe sama dan menggunakan nama yang sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variable dengan variabel yang lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan didalam tanda kurung siku. Melalui subscript inilah masing-masing elemen array dapat diakses. Nilai subscribe pertama secara default adalah 0. Array dapat berupa array 1 dimensi, 2 dimensi bahkan n-dimensi. Suatu array dikatakan sebagai array1 dimensi, 2 dimensi, n-dimensi berdasarkan banyaknya petuntuk/posisi.
#10 Array adalah kumpulan data-data beripe sama dan menggunakan nama yang sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variable dengan variabel yang lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan didalam tanda kurung siku. Melalui subscript inilah masing-masing elemen array dapat diakses. Nilai subscribe pertama secara default adalah 0. Array dapat berupa array 1 dimensi, 2 dimensi bahkan n-dimensi. Suatu array dikatakan sebagai array1 dimensi, 2 dimensi, n-dimensi berdasarkan banyaknya petuntuk/posisi.
#11 Array adalah kumpulan data-data beripe sama dan menggunakan nama yang sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variable dengan variabel yang lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan didalam tanda kurung siku. Melalui subscript inilah masing-masing elemen array dapat diakses. Nilai subscribe pertama secara default adalah 0. Array dapat berupa array 1 dimensi, 2 dimensi bahkan n-dimensi. Suatu array dikatakan sebagai array1 dimensi, 2 dimensi, n-dimensi berdasarkan banyaknya petuntuk/posisi.
#12 Salah satu bentuk struktur data yang berisi kumpulan data yang tersusun secara
sekuensial, saling bersambungan, dinamis dan terbatas adalah senarai berkait (linked list).
Suatu senarai berkait (linked list) adalah suatu simpul (node) yang dikaitkan dengan simpul
yang lain dalam suatu urutan tertentu. Suatu simpul dapat berbentuk suatu struktur atau
class. Simpul harus mempunyai satu atau lebih elemen struktur atau class yang berisi data.
Secara teori, linked list adalah sejumlah node yang dihubungkan secara linier dengan
bantuan pointer. Dikatakan single (singly) linked apabila hanya ada satu pointer yang
menghubungkan setiap node. single artinya field pointer-nya hanya satu buah saja dan satu
arah.
Senarai berkait adalah struktur data yang paling dasar. Senarai berkait terdiri atas
sejumlah unsur-unsur dikelompokkan, atau terhubung, bersama-sama di suatu deret yang
spesifik. Senarai berkait bermanfaat di dalam memelihara koleksi-koleksi data, yang serupa
dengan array/larik yang sering digunakan.
#13 Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO. Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil. Dalam proses komputasi, untuk meletakkan sebuah elemen pada bagian atas dari stack, maka kita melakukan push. Dan untuk memindahkan dari tempat yang atas tersebut, kita melakukan pop.
Ada beberapa cara untuk menyajikan sebuah stack tergantung pada permasalahan
yang akan kita selesaikan. Dalam bab ini kita akan menggunakan cara yang paling
sederhana, tipe data yang sudah kita kenal, yaitu array.
#14 Queue atau Antrian merupakan kumpulan elemen dengan dengan penyisipan dan
penghapusan elemen yang dilakukan dari sisi / gerbang yang berbeda. Penyisipan dilakukan dari
gerbang belakang dan penghapusan dilakukan dari gerbang depan. Hal ini menunjukkan bahwa
untuk Queue mempunyai 2 gerbang yaitu gerbang depan dan gerbang belakang. Dengan
demikian dapat dilihat bahwa Queue mempunyai sifat FIFO (First In First Out), yaitu elemen
yang pertama masuk akan keluar pertama juga.
#15 Pohon (tree) adalah salah satu bentuk graph terhubung yang tidak mengandung sirkuit. Karena merupakan graph terhubung, maka pada pohon selalu terdapat path
atau jalur yang menghubungkan setiap dua simpul dalam 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.
#16 Pohon (tree) adalah salah satu bentuk graph terhubung yang tidak mengandung sirkuit. Karena merupakan graph terhubung, maka pada pohon selalu terdapat path
atau jalur yang menghubungkan setiap dua simpul dalam 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.
#17 SD (Secure Digital) adalah format kartu memori yang digunakan untuk menyimpan data digital. Format ini dikembangkan oleh SD Association dan banyak digunakan pada perangkat seperti:
Kamera digital
Smartphone
Tablet
Laptop (melalui slot SD card)
Konsol game
Drone dan perangkat IoT lainnya
Jenis-jenis SD Card:
SD (Standard Capacity) – hingga 2 GB
SDHC (High Capacity) – lebih dari 2 GB hingga 32 GB
SDXC (Extended Capacity) – lebih dari 32 GB hingga 2 TB
SDUC (Ultra Capacity) – lebih dari 2 TB hingga 128 TB (masih jarang digunakan)