Algoritma Struktur Data · (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media 5....
Transcript of Algoritma Struktur Data · (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media 5....
![Page 1: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/1.jpg)
Algoritma Struktur Data3 sks
By. Sri Rezeki Candra Nursari
![Page 2: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/2.jpg)
2
MateriMateriPengantar Struktur Data
Abstract Data Type (ADT)
Rekursif : Fibonacci
Sorting (Selection, Insertion, Bubble, Shell, Merge, Quick)
Struktur Data Linier (Linked List, Stack, Queue)
Struktur Data Hirarki (Tree, Graph, Hash Tables)
Search (Sequential, Fibonacci, Interpolation, Binary)
![Page 3: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/3.jpg)
3
Literatur :1. H.M Deitel, P.J Deitel, Small Java How to Program-sixth Edition, Pearson
Prentice Hall, 20052. Elliot B. Koffman, Paul A.T. Wolfgang, Objects, Abstraction, Data
Structures and Design Using Java, John Wiley & Sons.Inc, 20053. Mark Allen Weiss, Data Structures & Algorithm Analysis in Java,
Addison-Wesley, 19994. 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, 20036. Bambang Wahyudi, Pengantar Struktur Data dan Algoritma, Andi, 20047. Utami Ema. dkk, (2007),”Struktur Data (Konsep & Implementasinya Dalam
Bahasa C & Free Pascal di GNU/Linux)”, Graha Ilmu8. Yatini B, Indra, Pemrograman Terstruktur, J&J Learning Yogyakarta,
20019. Wirth, Niklaus, Algorithmic + Data Structures Programs, Prentice-Hall,
197610. Thompson Susabda Ngoen , Algoritma dan Struktur Data Bahasa C,
Mitra Wacana Media, 200911. Hubbard Jhon, R., Ph.D, (2000), “Schaum’s Outline Of Theory and Problems
of Data Structures With C++” McGraw-Hill
ALGORITMA ALGORITMA STRUKTUR STRUKTUR DATADATA -- 33 sks sks
![Page 4: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/4.jpg)
4Perbedaan: Tipe Dt,Objek Data,Struktur Data• Tipe data adalah jenis data yang ditangani oleh suatu bahasa
pemrograman pada komputer. Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:– Deklarasi terhadap variabel tipe data tersebut– Menyediakan kumpulan operasi yang mungkin terhadap variable bertipe data
tersebut
• 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
• 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]
![Page 5: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/5.jpg)
5Definisi 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
![Page 6: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/6.jpg)
6Definisi 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.
![Page 7: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/7.jpg)
7Definisi Struktur• Array dan struktur mempunyai persamaan dan
perbedaan, yaitu :– Persamaan
• Alokasi memori untuk elemen-elemennya sudah ditentukan sebelum program dijalankan (sifatnya: statis)
– 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
![Page 8: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/8.jpg)
8Pendeklarasian 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; };
![Page 9: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/9.jpg)
9Pendeklarasian 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];
};
![Page 10: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/10.jpg)
10Pendeklarasian 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;
};
![Page 11: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/11.jpg)
11Pendeklarasian Struktur– Contoh :
struct MAHASISWA{
char Nim[10];char Nama[25];char Jurusan[25];intJmlMK;MATAKULIAH data_MK; (struktur didalam
struktur)};
![Page 12: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/12.jpg)
12Pendeklarasian Struktur• Pendefinisian/pendeklarasian
variabel struktur sama seperti pendefinisian variabel biasa:– tipe_data nama_variabel
• Contoh :–MATAKULIAH Data_MK;–MAHASISWA Data_MHS;
![Page 13: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/13.jpg)
13Pendeklarasian Struktur• Pendefinisian variabel bisa digabung
dengan pendeklarasian struktur:• Contoh :
struct MATAKULIAH{
char NmMK[30];int sks;char Nilai;
}; Data_MK;
![Page 14: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/14.jpg)
14Mengakses Struktur
• Syntax:–variabel_struktur.nama_anggota–Contoh :
• strcpy(Data_MK.NmMk,“Algo 2”);• Data_MHS.Data_MK.sks = 3;
![Page 15: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/15.jpg)
15Programcontoh 01
![Page 16: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/16.jpg)
16
Algoritma.........?????Pseudocode.......??????
![Page 17: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/17.jpg)
17Menyalin 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;
![Page 18: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/18.jpg)
18Membandingkan 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”;
![Page 19: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/19.jpg)
19Struktur 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.
![Page 20: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/20.jpg)
20Programcontoh 02
![Page 21: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/21.jpg)
21
Algoritma.........?????Pseudocode.......??????
![Page 22: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/22.jpg)
22
Programcontoh 03
![Page 23: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/23.jpg)
23
Input & Output
![Page 24: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/24.jpg)
24
Algoritma.........?????Pseudocode.......??????
![Page 25: Algoritma 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](https://reader033.fdocuments.net/reader033/viewer/2022052810/60846f4c98c14b7c985d0e59/html5/thumbnails/25.jpg)
25