Anda di halaman 1dari 32

ALGORITMA DAN STRUKTUR

DATA

3 SKS By : Sri Rezeki Candra Nursari


Materi
Pengantar Struktur Data

Pointer dan Struktur

Struktur Data Linier (Linked List, Stack, Queue

Sorting (Bubble, Merge, Quick)

Struktur Data Linier (Linked List, Stack, Queue)

Search (Sequential, Fibonacci)

Struktur Data Hirarki (Binary Tree, Binary Search, B-Tree


Heap Tree, Graph: FDS, BFS, Hash Tables)
PENGANTAR STRUKTUR DATA
Topik 01
ALGORITMA & STRUKTUR DATA-
DATA- 3 sks

Literatur :
1. H.M Deitel, P.J Deitel, Small Java How to Program-sixth Edition, Pearson
Prentice Hall, 2005
2. Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction, Data Structures
and Design Using Java, John Wiley & Sons.Inc, 2005
3. Mark Allen Weiss, Data Structures & Algorithm Analysis in Java, Addison-
Wesley, 1999
4. Moh.Sjukani, Algoritma & Struktur Data dengan C, C++ dan Java, Mitra
Wacana Media, Agustus 2005Sjukani Moh., (2007), “Struktur Data (Algoritma
& Struktur Data 2) dengan C, C++”, Mitra Wacana Media
5. Andri Kristanto, Struktur Data dengan C, Graha Ilmu, 2003
6. Bambang Wahyudi, Pengantar Struktur Data dan Algoritma, Andi, 2004
7. Utami Ema. dkk, (2007),”Struktur Data (Konsep & Implementasinya Dalam
Bahasa C & Free Pascal di GNU/Linux)”, Graha Ilmu
8. Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta, 2001
9. Wirth, Niklaus, Algorithmic + Data Structures Programs, Prentice-Hall, 1976
10. Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C, Mitra
Wacana Media, 2009
11. Hubbard Jhon, R., Ph.D, (2000), “Schaum’s Outline Of Theory and Problems of
Data Structures With C++” McGraw-Hill
12. Rosa A.S., Struktur Data – Terapan Dalam Berbagai Bahasa Pemrograman
pascal,C, C++, dan Java, Modula Bandung 2018
Pengertian Struktur Data
• Struktur data adalah bagian dari ilmu
pemrograman dasar yang bertujuan membuat
sebuah struktur penyimpanan data yang digunakan
pada saat program dijalankan.
• Struktur data berbeda dengan basis data
– Basis data  mengakses dan memelihara data
yang disimpan dalam penyimpanan (storage)
– Struktur data  tempay penyimpanan data yang
digunakan oleh program terkait dengan
alokasinya di memori
Perbedaan:
Tipe Data,Objek Data,Struktur Data
• Tipe data adalah jenis data yang ditangani
oleh suatu bahasa pemrograman pada
komputer.
• Obyek Data adalah kumpulan elemen yang
mungkin untuk suatu tipe data tertentu.
– Mis: integer mengacu pada obyek data -32768
s/d 32767, byte 0 s/d 255, dan string adalah
kumpulan karakter maks 255 huruf
Perbedaan:
Tipe Data,Objek Data,Struktur Data
• Struktur Data adalah cara penyimpanan dan
pengorganisasi-an data-data pada memori
komputer maupun file pada media
menyimpanan secara efektif sehingga dapat
digunakan secara efisien, termasuk
operasioperasi di dalamnya
– Mendeskripsikan kumpulan obyek data yang sah
sesuai dengan tipe data yang ada
– Struktur data = obyek data + [operasi manipulasi]
Definisi Struktur
• Suatu object benda biasanya mempunyai
beberapa attribut yang perlu dicatat.
– Contoh :
• Budi sebagai personal mempunyai attribut  nama,
alamat, usia, jenis kelamin, pekerjaan, status
• Budi sebagai atlit mempunyai attribut  cabang
olah raga, daftar prestasi, jadual pertandingan
• Jadi satu benda (Budi) yang sama dimungkinkan
mempunyai atribut yang berbeda-beda sesuai
dengan dari sudut mana objek itu dipandang
Definisi Struktur
• Merupakan kumpulan elemen-elemen
data yang digabungkan menjadi satu
kesatuan.
• Masing-masing elemen data dinamakan
field atau elemen struktur
• Struktur digunakan untuk
mengelompokkan beberapa informasi
yang berkaitan.
Definisi Struktur
• Array dan struktur mempunyai
persamaan yaitu :
–Persamaan
• Alokasi memori untuk elemen-elemennya
sudah ditentukan sebelum program
dijalankan (sifatnya: statis)
Definisi Struktur
• Array dan struktur mempunyai perbedaan,
yaitu :
– Perbedaan
• Array adalah struktur data yang tipe data dari
elemen-elemennya harus sama (homogen) dan
elemen-elemennya diakses atau diidentifikasi
menggunakan indek
• Struktur adalah struktur data yang tipe data dari
elemen-elemen tidak harus sama (heterogen) &
elemen-elemennya diakses atau diidentifikasi
menggunakan identifier atau nama variabel
Pendeklarasian Struktur
• Pendeklarasian Struktur selalu diawali dengan kata
kunci struct yang diikuti dengan nama dari struktur.
• Field-field yang dikumpulkan dalam sebuah struktur
diletakkan diantara tanda kurung kurawal buka {
dan kurung kurawal tutup } dan diakhiri dengan
tanda titik koma ;
– Contoh :
struct MAHASISWA {
char NIM[10];
char nama[25];
float IPK; };
Pendeklarasian Struktur
• Apabila Mahasiswa memiliki 6 bagian, yaitu 1 digit
pertama sebagai kode Fakultas, kemudian 1 digit
selanjutnya adalah kode Program Studi, kemudian 2
digit selanjutnya adalah kode Angkatan, kemudian 2
digit selanjutnya adalah kode Status Mhs, kemudian
1 digit selanjutnya adalah kode RK/R, dan 3 digit
adalah nomor urut
struct nim
{
char fakultas[1], prodi[1], angkatan[2], status[2],
rk_r[1], no_urut[3];
};
Pendeklarasian Struktur
• Bermanfaat untuk mengelompokkan sejumlah
data dengan tipe yang berlainan
• Membuat tipe data baru dan disebut dengan tipe
data abstrak
– Contoh :
struct MATAKULIAH
{
char NmMK[30];
int sks;
char Nilai;
};
Pendeklarasian Struktur
– Contoh :
struct MAHASISWA
{
char Nim[10];
char Nama[25];
char Jurusan[25];
intJmlMK;
MATAKULIAH data_MK; (struktur didalam
struktur)
};
Pendeklarasian Struktur

• Pendefinisian/pendeklarasian
variabel struktur sama seperti
pendefinisian variabel biasa:
– tipe_data nama_variabel
• Contoh :
–MATAKULIAH Data_MK;
–MAHASISWA Data_MHS;
Pendeklarasian Struktur

• Pendefinisian variabel bisa digabung


dengan pendeklarasian struktur:
• Contoh :
struct MATAKULIAH
{
char NmMK[30];
int sks;
char Nilai;
}; Data_MK;
Mengakses Struktur

• Syntax:
–variabel_struktur.nama_anggota
–Contoh :
•strcpy(Data_MK.NmMk,“Algo 2”);
•Data_MHS.Data_MK.sks = 3;
STRUKTUR

Contoh Soal 01: (A & G)


Buat Pseudocode, Algoritma/Bahasa Natural/Bahasa
Alami dan Program untuk menampilkan nama mata
kuliah, jumlah sks, nilai dan nilai indeks, menggunakan
nama struktur MATAKULIAH dengan 4 attribut/fields.
Program
contoh 01
Algoritma.........?????
Pseudocode.......??????
Menyalin Struktur
• Misal didefinisikan dua buah variabel:
– Contoh :
MATAKULIAH mk1, mk2;
• Maka penyalinan berikut yang diperbolehkan adalah:
mk2 = mk1
• Pernyataan diatas sama dengan gabungan 3 pernyataan
berikut:
strcpy(mk2.NmMK, mk1.NmMK);
mk2.sks = mk1.sks;
mk2.nilai = mk1.nilai;
Membandingkan Struktur
• Dua buah struktur tidak dapat secara langsung di
banding kan
• Pembandingan dilakukan dengan membandingkan
masing-masing anggotanya
• Contoh:
if ((strcmp(mk1.NmMK,mk2.NmMK) == 0) &&
(mk1.sks == mk2.sks) && (mk1.nilai == mk2.nilai))
cout << “Sama”;
else
cout << “Tidak sama”;
Struktur dan Fungsi

• Suatu struktur dapat juga berkedudukan


sebagai argumen fungsi
• Contoh :
–Menampilkan nilai x & y, dimana argumen
dari fungsi tampil_posisi berupa struktur
bertipe koordinat. Fungsi ini menampilkan
nilai anggota struktur tersebut yi; x & y.
STRUKTUR

Contoh Soal 02: (A & G)


Buat Pseudocode, Algoritma/Bahasa Natural/Bahasa
Alami dan Program untuk menampilkan nilai x dan y
dengan menggunakan nama struktur Koordinat dengan
nama fungsi Tampil_Posisi.
Program
contoh 02
Algoritma.........?????
Pseudocode.......??????
STRUKTUR

Contoh Soal 03: (A & G)


Buat Pseudocode, Algoritma/Bahasa Natural/Bahasa
Alami dan Program untuk menampilkan informasi data
pelanggan Toko dengan menggunakan nama struktur
Pelanggan_Toko
Program
contoh 03
Program
contoh 03
Input & Output
Algoritma.........?????
Pseudocode.......??????

Anda mungkin juga menyukai