Anda di halaman 1dari 22

Struktur Data

Arief Hidayat
Materi Struktur Data

1. Pendahuluan
2. Array dan Record
3. Tumpukan
4. Antrean
5. Senarai Berantai
6. Pohon Biner
7. Pengurutan Data Dasar
8. Pengurutan Data Lanjut
9. Pencarian Data
10. Tabel Hash
11. Graf
Struktur Data Arief Hidayat, 2
Pemrograman Komputer

Pemrograman komputer adala Langkah-langkah yang dilakukan


untuk memberikan instruksi kepada komputer untuk memecahkan
masalah
Bahasa Mesin Komputer
 komputer hanya mengenal kondisi adanya arus (dilambangkan
sebagai angka 1) atau tiadanya arus (dilambangkan sebagai
angka 0).
Bahasa Assembly
 Melambangkan untaian sandi 1 dan 0 dengan singkatan
kata yang mudah dipahami manusia, seperti 0011 1010
0000 1011, artinya sama dengan perintah assembly CMP AL,
0D yang artinya bandingkan nilai register AL dengan 0D
Bahasa Pemrograman Generasi ke-3
 bahasa Basic, Pascal, C, C++, COBOL, dsb.

Struktur Data Arief Hidayat, 3


Algoritma

Algoritma adalah urutan langkah berhingga untuk


memecahkan masalah logika atau matematika.
Dalam algoritma terdapat istilah pencabangan dan
pengulangan
Untuk memahami algoritma dapat dibantu dengan diagram
alur atau flowchart.

Struktur Data Arief Hidayat, 4


Contoh Algoritma Berkirim Surat

Sebagai contoh untuk menulis surat diperlukan langkah -


langkah sebagai berikut :
1. Mempersiapkan kertas dan amplop
2. Mempersiapkan alat tulis
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke kantor pos untuk mengeposkan surat tersebut.

Buatlah algoritma menghitung luas lingkaran

Struktur Data Arief Hidayat, 5


Pseudocode

Pseudocode adalah penulisan program dengan menggunakan


bahasa yang kita pergunakan sehari hari.
Program : Menghitung Luas Lingkaran
Mulai
Masukkan nilai jari-jari kedalam variabel R Masukkan 3.14 kedalam
variabel Pi
Masukkan hasil perkalian Pi dengan R kuadrat kedalam variabel
Luas
Tampilkan nilai variabel luas
Selesai

Apapun bentuk tampilan algoritma anda yang terpenting adalah


logika dari program yang anda buat.

Struktur Data Arief Hidayat, 6


Struktur Data

Struktur Data adalah pengaturan data di dalam memori


komputer atau terkadang di dalam disk dengan tujuan agar
data dapat diakses secara efisien.
Dibutuhkan Algoritma didalam struktur data

Struktur Data Arief Hidayat, 7


Algoritma mempunyai tiga struktur dasar
1. Sekuensial
2. Seleksi, dan
3. Perulangan

Struktur Data Arief Hidayat, 8


1. Struktur Sekuensial

Struktur sekuensial menyatakan langkah-langkah yang berurutan.


Urutan dalam langkah menentukan urutan eksekusi
Sebagai contoh, algoritma untuk menukarkan isi A dan isi B ;
XA
AB
BX
Algoritma di atas menyatakan urutan seperti berikut
1. X diisi dengan isi A;
2. A diisi dengan isi B;
3. B diisi dengan isi X;
Jika urutan diubah, hasilnya tidak akan berupa penukaran isi A dan
isi B

Struktur Data Arief Hidayat, 9


Algoritma tidak bergantung pada bahasa pemrograman
Algoritma untuk menukarkan isi A dan isi B tersebut dapat
dikonversi ke Bahasa Pemrograman Java sbb
X = A;
A = B;
B = X;

Struktur Data Arief Hidayat, 10


2. Struktur Seleksi

Struktur seleksi kegunaannya untuk memilih tindakan yang


didasarkan oleh suatau kondisi.
Sebagai contoh, suatu nilai A dan nilai B akan dipertukarkan hanya
jika memenuhi
A > B (A lebih besar B) sbb :
IF A > B
XA
AB
BX
END-IF
Algoritma di atas dapat dibaca “tukarkan A dan B jika A > B”
Jika A tidak lebih besar daripada B, penukaran isi A dan B tidak akan
terjadi

Struktur Data Arief Hidayat, 11


Jika dinyatakan ke Java sbb
if (a > b)
{
x = a;
a = b;
b = x;
}

Struktur Data Arief Hidayat, 12


Apabila ada dua jenis tindakan berbeda yang perlu dipilih
untuk diproses, struktur seleksi melibatkan ELSE.
Contoh
IF Pembelian > 100000
Diskon  10% x Pembelian
ELSE
Diskon  0
END-IF

Struktur Data Arief Hidayat, 13


Jika dinyatakan ke Java sbb
if (pembelian > 100000)
{
diskon = 0.1 * pembelian;
else
diskon = 0;
}

Struktur Data Arief Hidayat, 14


3. Struktur Perulangan

Struktur perulangan kegunaannya untuk mengulang suatu


tindakan beberapa kali.
Sebagai contoh, menghitung 1+2+3+…+N
Jum  0
FOR K  1 TO N
Jum  Jum + K
END-FOR
Algoritma di atas menyatakan cara untuk menghitung
1+2+3+…+N
Dalam hal ini K pada FOR akan bernilai 1, 2, 3, 4 hingga N
untuk setiap iterasi

Struktur Data Arief Hidayat, 15


Jika dinyatakan ke Java menggunakan FOR sbb
jum = 0;
for (k=1; k<=n; k++)
jum = jum + k;

Jika dinyatakan ke Java menggunakan WHILE sbb


jum = 0;
k = 1;
While(k <= n)
{
jum = jum + k;
k = k + 1;
}

Struktur Data Arief Hidayat, 16


Array

Array atau larik adalah kumpulan data yang sejenis


Jika A adalah nama array, A[k] menyatakan elemen ke-k.
dalam hal ini, kedudukan k dinamakan indeks array

Struktur Data Arief Hidayat, 17


Contoh algoritma yang melibatkan array sbb
Jum  0
FOR K  0 TO 7
JumJum+A[K]
END-FOR

Contoh di atas digunakan untuk menjumlahkan kedelapan


elemen array A
A[0]+ A[1]+ A[2]+ A[3]+ A[4]+ A[5]+ A[6]+ A[7]

Struktur Data Arief Hidayat, 18


Contoh Array sebelumnya adalah array berdimensi satu
Array berdimensi dua berbentuk seperti tabel

Jum  0

FOR J  0 TO 2

FOR K  0 TO 3

JumJum+A[J,K]

END-FOR

END-FOR
Struktur Data Arief Hidayat, 19
Penggunaan Struktur Data

Gambaran penggunaan struktur data dapat dilihat pada


persoalan penanganan kartu pasien.

Struktur Data Arief Hidayat, 20


Persoalannya sekarang,
 1. Bagaimana kalau data seperti itu akan diproses
komputer ?
 2. Struktur data apa yang paling tepat ?

Struktur Data Arief Hidayat, 21


Mengenal berbagai Struktur Data secara Sekilas
Struktur Data Kelebihan Kekurangan
Array Penambahan data di belakang Ukuran tetap, penghapusan
mudah dilakukan lambat, pencarian lama
Array yang terurutkan Pencarian jauh lebih cepat Ukuran tetap, penghapusan
dibandingkan array yang tidak urut lambat, penyisipan lama
Tumpukan Penambahan dilaksanakan dengan Pencarian dan penghapusan
cepat, akses terhadap data yang lambat
terakhir kali dimasukkan dapat
dilakukan dengan cepat
Antrean Data yang pertama kali masuk Akses terhadap data yang lain
mudah diakses lambat
Senarai berantai Penyisipan dan penghapusan data Pencarian lama
mudah
Pohon Biner Pencarian dan penyisipan mudah Penghapusan kompleks
Tabel hash Akses cepat bila kunci diketahui. Algoritma penghapusan ada yang
Penyisipan cepat sederhana, tetapi ada pula yang
kompleks. Akses pelan kalau kunci
tidak diketahui.

Struktur Data Arief Hidayat, 22

Anda mungkin juga menyukai