Top Banner
Algoritma & Struktur Data 2 P-1 Fery Updi, M.Kom 1
24

Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Mar 22, 2019

Download

Documents

hoangthu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Algoritma & Struktur Data 2P-1

Fery Updi, M.Kom

1

Page 2: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Komponen Penilaian

1. Absen : 10%2. KAT* : 25 %3. UTS : 25 %4. UAS : 40 %

*)Kegiatan Akademik Terstruktur

2

Page 3: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Apa yang Anda harapkan dari kuliah ini?

• Mencari nilai?• Memahami konsep algoritma & struktur data ?• Bisa menerapkan konsep algoritma & struktur data dalam

pemrograman ?

3

Page 4: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Praktikum

• Praktikum mengikuti pokok bahasan

• Tool: Dev-C++

4

Page 5: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Capaian Kompetensi• Mahasiswa mampu:

1. Menggunakan pointer untuk mengalokasikan memori secara dinamis,

2. Menjelaskan konsep linked-list,

3. Mengimplementasikan linked-list dalam sebuah program sampai dengan menambahkan node-node baru dan list traversal,

5

Page 6: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

Pokok Bahasan

•Pointer dan Linked List

6

Page 7: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

7

Pendahuluan

Ketika kita mempelajari suatu bahasa pemrograman, kita akanmenjumpai elemen-elemen yang pada dasarnya serupa antara satubahasa dengan bahasa yang lain.

Hal itu dikarenakan elemen-elemen tersebut merupakan bagian dari tatabahasa pemrograman yang bersangkutan

Definisi data adalah fakta atau kenyataan yang tercatat mengenai suatu

obyek. Pengertian data ini menyiratkan suatu nilai yang bisa dinyatakan

dalam bentuk konstanta atau variabel.

Page 8: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

8

Struktur data adalah abstraksi model penyimpanan/pengaturan/susunandata di dalam memori/RAM komputer atau koleksi dari suatu variabelyang dapat dinyatakan dengan sebuah nama, dengan sifat setiap variabeldapat memiliki tipe yang berlainan.

Struktur data biasa dipakai untuk mengelompokkan beberapa informasiyang berkaitan menjadi sebuah kesatuan.

Page 9: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

9

Struktur data diperlukan dalam rangka membuat programkomputer. Untuk menyusun sebuah program komputerdiperlukan tiga macam komponen dasar, yaitu:

1. Algoritma2. Bahasa Pemrograman3. Struktur Data

Page 10: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

10

Aspek yang berkaitan dengan algoritma adalah efisiensialgoritma yang sering disebut ukuran algoritma. Ukuranalgoritma ditentukan oleh dua hal, yaitu:

1. Efisiensi waktu2. Efisiensi memori

Page 11: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

11

Aspek yang berkaitan dengan bahasa pemrograman adalahmeliputi:

1. Sintaks2. Reserved word3. Function4. Procedure

Page 12: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

12

Aspek yang berkaitan dengan struktur data adalah meliputi:

1. Nilai data (data value), yaitu numerik atau non numerik2. Relasi antar data3. Prosedur/fungsi atau operasi pada data

Page 13: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

13

Operasi pada data dapat dibedakan menjadi dua macam, yaitu:

1. Operasi menambahkan (insert) data2. Operasi menghapus (delete) data

Page 14: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

14

Pointer

Pointer adalah tipe data yang digunakan untuk menunjuk ke suatu data.Suatu variable yang bertipe pointer (variabel pointer) tidak berisi data,melainkan berisi alamat suatu data.

Di dalam komputer setiap lokasi data mempunyai alamat yang khas.Gambar berikut contoh suatu pointer yang menunjuk ke suatu data.

Berisi alamat variable x Data

Page 15: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

15

Pointer

Pointer biasa digunakan sehubungan dengan pembentukanvariabel dinamis.

Variabel Dinamis adalah variabel yang bisa dialokasikan didalam memori atau dihapus dari memori ketika programdieksekusi.

Hal seperti ini banyak dipakai pada struktur data seperti linkedlist dan pohon biner.

Page 16: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

16

Mendeklarasikan Variabel Pointer

Bentuk deklarasi variabel pointer :Contoh :

p adalah variabel pointer yang menunjuk ke data bertipedouble. Menyatakan pointer

Ke data bertipe double

Tipe data yang ditunjuk olehVariabel pointer p

Page 17: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

17

Deklarasi Var pointer

Contoh lain:

Page 18: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

18

Deklarasi Var pointer

Pada contoh ini, novel adalah variabel pointer yang menunjuk ke tipestruktur RekamanBuku. Gambarannya seperti berikut :

Yang ditunjuk oleh novel bertipe RekamanBuku

Page 19: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

19

Deklarasi Var pointer

Supaya suatu variabel pointer menunjuk ke suatu variabel data,penugasan seperti berikut diperlukan :

• Simbol & berarti alamat.• Pernyataan di atas berarti bahwa : variabel_pointer diisi

dengan alamat variabel_data.

Page 20: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

20

Mengakses data via pointer

Untuk melihat cara pengaksesan data melalui pointer, cobalahkode novel.cpp berikut :

Page 21: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

21

Mengenal C++

• C++ merupakan perluasan bahasa C dengan tambahan fasilitas kelas(Class).

• Program C++ berupa sekumpulan fungsi. Bahkan program utama jugaberbentuk fungsi, yaitu fungsi main().

• Kode C++ bersifat case sensitive, artinya membedakan antara hurufkapital dengan huruf kecil.

• Bahasa C dan C++ merupakan bahasa yang sangat populer dalamdunia pengembangan perangkat lunak. Kedua bahasa ini digolongkanke dalam bahasa tingkat menengah (middle level language).

• Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukungpemrograman berarah objek / Object Oriented Programming (OOP).

Page 22: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

22

Mengenal C++

• Merupakan pengembangan bahasa C dan diberi kemampuan OOP.• C++ merupakan subset dari bahasa C, maka pustaka yang ditulis

dalam bahasa C dapat dipergunakan dalam bahasa C++.• Perbedaan antara C dan C++ adalah pada fungsi output untuk

menampilkan dilayar monitor dengan menggunakan cout <<

#include<iostream.h>int main(){

cout <<"Selamat menggunakan C++";return 0;

}

Page 23: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

23

Next

Topik :

Pointer dan Array Dinamis, Linked List

Page 24: Algoritma & Struktur Data 2 - feryup.files.wordpress.com file• Bisa menerapkan konsep algoritma & struktur data dalam pemrograman ? 3. Praktikum •Praktikum mengikuti pokok bahasan

24