algoritma struktur data · (algoritma & struktur data 2) dengan c, c++”, mitra wacana media...
TRANSCRIPT
Algoritma Struktur Data3 sks
By. Sri Rezeki Candra Nursari
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)
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
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]
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
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.
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
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; };
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];
};
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;
};
11Pendeklarasian Struktur– Contoh :
struct MAHASISWA{
char Nim[10];char Nama[25];char Jurusan[25];intJmlMK;MATAKULIAH data_MK; (struktur didalam
struktur)};
12Pendeklarasian Struktur• Pendefinisian/pendeklarasian
variabel struktur sama seperti pendefinisian variabel biasa:– tipe_data nama_variabel
• Contoh :–MATAKULIAH Data_MK;–MAHASISWA Data_MHS;
13Pendeklarasian Struktur• Pendefinisian variabel bisa digabung
dengan pendeklarasian struktur:• Contoh :
struct MATAKULIAH{
char NmMK[30];int sks;char Nilai;
}; Data_MK;
14Mengakses Struktur
• Syntax:–variabel_struktur.nama_anggota–Contoh :
• strcpy(Data_MK.NmMk,“Algo 2”);• Data_MHS.Data_MK.sks = 3;
15Programcontoh 01
16
Algoritma.........?????Pseudocode.......??????
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;
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”;
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.
20Programcontoh 02
21
Algoritma.........?????Pseudocode.......??????
22
Programcontoh 03
23
Input & Output
24
Algoritma.........?????Pseudocode.......??????
25