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

Post on 09-Nov-2020

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related