Anda di halaman 1dari 23

Pertemuan 1

Struktur Data
Oleh
Rahmi Imanda, M.Kom
Tujuan Pembelajaran
 Mampu menguasai teori dan konsep yang mendasari ilmu
komputer.
 Mampu memahami konsep-konsep bahasa pemrograman,
mengidentikasi model-model bahasa pemrograman, serta
membandingkan berbagai solusi
 Mampu menguasai menulis kode yang diperlukan untuk
digunakan sebagai instruksi dalam membangun aplikasi
komputer.
 Mampu menerapkan konsep-konsep yang berkaitan dengan
manajemen informasi, termasuk menyusun pemodelan dan
abstraksi data serta membangun aplikasi perangkat lunak untuk
pengorganisasian data dan penjaminan keamanan akses data.

2 Struktur Data
Materi Pembelajaran
 Pegantar Struktur Data
 Pointer
 Array
 Stack
 Queue
 Linked List
 Tree
 Graph
 Search dan Sort

3 Struktur Data
Peraturan
1. Perkuliahan dilakuakn secara daring
1. Group WhatsApp
2. OLU: https://onlinelearning.uhamka.ac.id/
3. Classroom (optional)
2. Setiap mahasiswa wajib bergabung dengan group wa
3. Absensi dilakukan via OLU/ group WA/ absensi manual meet online / lainnya
menyesuaikan dengan situasi
4. Tugas, kuis, dan lainnya akan diinfokan melalui media OLU/ GWA
5. Cheating/ plagiarism pada tugas, latihan, kuis maupun ujian akan mendapat nilai

4 Struktur Data
Penilaian
 Keaktifan : 10%
 Tugas : 20%
 Tugas project : 60 – 100%
 Rata-rata Tugas harian : 0 – 40%
 Uts : 30%
 Uas : 40%

 Tugas Project
 Dikerjakan perkelompok
 60-100% nilai akan dijadikan sebagai nilai akhir tugas (Tugas
20%)
5 Struktur Data
Pustaka
1. Baldwin, G., Scragg, G, W., 2004. Algorithms and Data
Structures The Science of Computing. USA: Charles River
Media.
2. Das, V. V., 2006. Principless of Data Structures using C and C+
+. India: New Age International (P0 limited , Publisher.
3. Keogh, J. & Davidson, K., 2004. Data Structured Demistified.
McGraw-Hill/Osborne.
4. Robert Lafore, 2003. Data Structure & Algorithm in Java, Sams
Publishing
5. Moh. Sjukani, 2009. Struktur Data dengan C, C++, Jakarta:
Mitra Wacana Media.
6. Abdul Kadir, 2013. Teori dan Aplikasi Struktur Data
menggunakan C++, Yogyakarta: Andi offset
6 Struktur Data
Konsep Struktur Data

1. Mengenal konsep dasar dari struktur data


2. Mengenal perbedaan dasar dari konsep struktur data dengan
konsep algoritma

7 Struktur Data
Struktur Data
 Semua program berurusan dengan data
 Sistem keuangan: admin, laporan keuangan, riwayat transaksi,

 Media Sosial: username, password, status, …
 Search engine: URL, isi, hyperlink, bobot, …
 Mengapa data itu disimpan?
 Supaya bisa diakses/diproses di kemudian waktu
 Mengapa dalam penyimpanan data diperlukan sebuah
struktur?
 Supaya lebih mudah/efisien dalam pengaksesan/pemrosesan
data tersebut

8 Struktur Data
Struktur Data
 Struktur data adalah representasi struktural dari hubungan
logis antar elemen data.
 Representasi struktur data tertentu dalam memori komputer
disebut struktur penyimpanan
 Representasi struktur penyimpanan dalam memori tambahan
sering disebut struktur file.
 Struktur data adalah susunan data dalam memori
komputer (atau kadang-kadang pada disk).

Struktur Data = Data yang diorganisasikan + operasi

9 Struktur Data
Klasifikasi Struktur Data
Struktur data dibagi menjadi dua:
 Struktur data primitif: struktur data dasar dan dioperasikan
secara langsung berdasarkan instruksi mesin, yang berada
pada tingkat primitif.
 Berupa: integer, floating point numbers, characters, string
constants, pointers dll.
 Struktur data non-primitif: struktur data yang lebih
canggih yang menekankan pada penataan kelompok item
data yang homogen (tipe yang sama) atau heterogen (tipe
yang berbeda).
 Berupa : Array, list, files, linked list, trees and graphs

10 Struktur Data
11 Struktur Data
Algoritma
 Secara kasar, suatu algoritma adalah proses untuk
memecahkan suatu masalah
 Algoritma adalah urutan instruksi bertahap, untuk
menyelesaikan masalah komputasi yang terdefinisi
dengan baik.
 Algoritma memanipulasi data dalam struktur ini dengan
berbagai cara, seperti mencari item data tertentu dan
menyortir data.

Algoritma + Struktur Data = Program

12 Struktur Data
Algoritma dalam struktur data
 Banyak algoritma yang akan diguanakan untuk struktur data
tertentu.
 Untuk sebagian besar struktur data:
 Memasukkan item data baru
 Cari item tertentu.
 Hapus item tertentu.
 mengulangi semua item dalam struktur data,
 Menampilkan masing-masing item secara bergantian
 Penyortiran
 Konsep rekursi. Rekursi melibatkan metode yang memanggil dirinya
sendiri. Kita akan melihat rekursi di Bab 6, “Rekursi.” (Istilah metode
digunakan di Java. Dalam bahasa lain, ini disebut fungsi, prosedur,
atau subrutin.)

14 Struktur Data
Berbagai Jenis Struktur Data :
EFISIEN (Akses data)
 Ukuran :
 Waktu yang dibutuhkan :
 Waktu yg melaksanakan suatu proses lebih cepat daripada algoritma
yg lain ( program sederhana )
 Memori yang dibutuhkan :
 Memori yg dibutuhkan lebih sedikit daripada algoritma yang lain.
( efisiensi tempa/space )
Analisa Algoritma: What?
 Mengukur jumlah sumber daya (time dan space) yang
diperlukan oleh sebuah algoritma
 Waktu yang diperlukan (running time) oleh sebuah
algoritma cenderung tergantung pada jumlah input yang
diproses.
 Running time dari sebuah algoritma adalah fungsi dari jumlah
inputnya
 Ada algoritma yang running time-nya tergantung pada
jumlah output-nya (output-sensitive)
 Selalu tidak terikat pada platform (mesin + OS), bahasa
pemrograman, kualitas kompilator atau bahkan paradigma
pemrograman (mis. Procedural vs Object-Oriented)
17 Struktur Data
Analisa Algoritma: How?
 Bagaimana jika kita menggunakan jam?
 Jumlah waktu yang digunakan bervariasi tergantung pada
beberapa faktor lain: kecepatan mesin, sistem operasi
(multi-tasking), kualitas kompiler, dan bahasa
pemrograman.
 Sehingga kurang memberikan gambaran yang tepat
tentang algoritma

18 Struktur Data
Notasi O

 Untuk mengetahui kompleksitas Waktu.


 Suatu Algoritma memiliki kompeleksitas O(f(N)) : orde f terhadap N
 Notasi O (sering disebut sebagai “notasi big-Oh”)
 Digunakan sebagai bahasa untuk membahas efisiensi dari
sebuah algoritma: log n, linier, n log n, n2, n3, ...
 Dari hasil run-time, dapat kita buat grafik dari waktu eksekusi
dan jumlah data.
contoh

 Contoh algoritma u/ manyatakan pengulangan


Jum  jum + 1 sebanyak N kali

For I  1 to N
Jum  jum + 1
Endfor
 Untuk menentukan Big O adalah :
Contoh
 Contoh: Mencari elemen terkecil dalam sebuah array
 Algoritma: sequential scan / linear search
 Orde-nya: O(n) – linear

21 Struktur Data
22 Struktur Data
TERIMA KASIH

23 Struktur Data

Anda mungkin juga menyukai