algoritma struktur data · (algoritma & struktur data 2) dengan c, c++”, mitra wacana media...

25
Algoritma Struktur Data 3 sks By. Sri Rezeki Candra Nursari

Upload: others

Post on 09-Nov-2020

23 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

25