struktur data

Post on 07-Jan-2016

74 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

STRUKTUR DATA. MUSTAKIM, S.T PERTEMUAN 2 Jurusan Sistem Informasi Fakultas Sains dan Teknologi UIN Suska Riau 2012. PENGANTAR STRUKTUR DATA. PENGERTIAN STRUKTUR DATA. Struktur  susunan , bentuk , pola atau bangunan - PowerPoint PPT Presentation

TRANSCRIPT

STRUKTUR DATA

MUSTAKIM, S.TPERTEMUAN 2

Jurusan Sistem InformasiFakultas Sains dan Teknologi UIN Suska Riau

2012

PENGANTAR STRUKTUR DATA

Halaman 3

PENGERTIAN STRUKTUR DATA

Struktur susunan, bentuk, pola atau bangunan

Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien

Sedangkan data adalah representasi dari fakta dunia nyata.

Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol

Halaman 4

Alat pemrosesan dikomputer terdiri atas rangkaian-rangkaian elektronik yang jika rangkaian tersebut dialiri oleh listrik maka akan bekerja.

1 rangkaian yang dialiri listrik0 rangkaian yang tidak dialiri listrik

Atau yang disebut Sistem Digital

DATA PADA KOMPUTER

Halaman 5

Program yang baik akan memiliki kriteria:1. Menghasilkan keluaran yang benar dan sesuai2. Memiliki kompleksitas algoritma yang minimal3. Kecocokan bahasa pemrograman4. Memiliki batas akhir penyelesaian

PROGRAM KOMPUTER

Halaman 6

Ilustrasi :Jika saya menuliskan angka 42, apakan ini dinamakan informasi ???Jawaban:????

INFORMASI

Halaman 7

Jadi, jika suatu fakta yang saya peroleh harus saya proses lebih lanjut, maka disebut dengan data. Hasil proses yang saya hasilkan untuk mengetahui sesuatu, itu adalah informasi.

Suatu perbedaan yang tipis yang bersipat subjective

Halaman 8

HIERARKI KOMPUTER

INPUT PROSES OUTPUT

Halaman 9

STRUKTUR DATA DAN PROGRAM

INPUT PROSES OUTPUT

MASALAH

ALGORITMA PENYELESAIAN STRUKTUR DATA

Halaman 10

Secara garis besar type data dapat dikategorikan menjadi :1. Type data sederhana

a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter

b. Type data sederhana majemuk, misalnya String

TYPE DATA

Halaman 11

2. Struktur Data, meliputia. Struktur data sederhana, misalnya

array dan recordb. Struktur data majemuk, yang terdiri

dari Linier : Stack, Queue, serta List dan MultilistNon Linier : Pohon Biner dan Graph

TYPE DATA (Cont…)

Halaman 12

Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.

Halaman 13

Struktur data yang ″standar″ yang biasanya digunakan dibidang informatika adalah :• List linier (Linked List) dan variasinya• Multilist• Stack (Tumpukan)• Queue (Antrian) • Tree ( Pohon ) • Graph ( Graf )

Struktur data yang sudah dipelajari sebelumnya adalah struktur data statis, yaitu array. Dalam kuliah ini akan dipelajari struktur data dinamis.

ALGORITMA

Halaman 15

• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. • Kata logis disini berarti benar sesuai dengan

logika manusia. • Untuk menjadi sebuah algoritma, urutan

langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar

PENGERTIAN

Halaman 16

Misalkan saja “algoritma aktifitas pagi hari sebelum berangkat kerja” yang dikerjakan oleh seorang eksekutif junior untuk turun dari tempat tidur dan bekerja:

CONTOH

Mana algoritma yang benar??

(1) Turun dari tempat tidur;

(2) Melepas piyama; (3) Berpakaian;(4) Mandi; (5) Makan pagi; (6) Baca koran; (7) Pergi kerja

(1) Turun dari tempat tidur;

(2) Melepas piyama; (3) Mandi; (4) Berpakaian; (5) Makan pagi; (6) Baca koran; (7) Pergi kerja

A B

OUTPUT…

Pergi kerja dengan keadaan basah kuyup

Algoritma yang benar

A B

Halaman 19

FlowchartTurun dari tempat

tidur

Melepas Piyama

Mandi

Berpakaian

Makan pagi

Baca koran

Pergi kerja

Kondisi

Asumsi: Jika sempat baca koran tapi jika tidak langsung pergi kerja

Sempat

Tidak Sempat

Halaman 20

Representasikan dan buatlah Algoritma dengan menggunakan Flowchart:1. Algoritma memilih menu pada sebuah

restoran2. Menentukan bilangan Genap atau ganjil3. Menentukan nilai huruf mahasiswa dengan

asumsi, 80-100=A, 70-79=B, 60-69=C, 50-59=D, Lebih kecil dari 50=E

Silahkan dicoba…

Halaman 21

Ciri-ciri algoritma sebagai berikut:1. Input, trdapat nol masukan atau lebih yang

diberikan2. Output, sedikitnya satu keluaran yang dihasilkan3. Definite, jelas – harus secara sempurna

menyatakan apa yang dilakukan4. Efektif, setiap intruksi harus bisa dilaukan secara

manual5. Terminate – berakhir, harus berhenti setelah

sejumlah operasi

CIRI DAN PROPERTI ALGORITMA

Halaman 22

Strategi perancangan algoritma yang popular adalah:1. Strategi Greedy2. Strategi devide and conquer3. Strategi dinamic programming4. Strategi backtracking5. Strategi branch and bound6. Strategi search and tranversal7. Strategi linier programming8. Strategi integer programming9. Strategi genetic algorithm10. Strategi neural network

PERANCANGAN ALGORITMA

Halaman 23

1. Analisis Kualitatif menelusuri algoritma• Penelusuran logis untuk membuktikan algoritma• Kualitas algoritma mengeluarkan hasil boolean

(benar atau salah)• Tidak ada kondisi ditengah-tengah

PENGUKURAN KEBAIKAN ALGORITMA

Halaman 24

2. Analisis Kuantitatif Kompleksitas Komputasi (waktu) dan Ruang• Seberapa cepat algoritma bekerja• Seberapa ruang yang diperlukan algoritma

bekerja

3. Pencarian Algoritma yang paling efisien

PENGUKURAN KEBAIKAN ALGORITMA

Halaman 25

Tiga alternatif yang sering digunakan:1. Bahasa Alami seperti bahasa indonesia atau

inggris 2. Pseudocode3. Bahasa pemrograman

EKSPRESI ALGORITMA

Halaman 26

Buatlah satu ekspresi algoritma sederhana (yang pernah diajarkan pada alpro) atau pilihan sebagai berikut:1. Integer dan String (operasi aritmatika)2. Perulangan (For atau While) mencetak

angka 1-20 terurut3. Logika (If) mencari kelulusan nilai mata

kuliah

Review Alpro

Abstrak Data Type (ADT)

Halaman 28

Abstraksi data memungkinkan memperluas bahasa pemrograman dengan type data baru

Disetiap bahasa pemrograman disediakan berbagai type data dan kita dipersilahkan memilihnya.

Type data : huruf, angka dan tanda baca

ADT kumpulan nilai dan kumpulan operasi yang diizinkan

PENGANTAR

Halaman 29

ADT integer, real, float dsb (type data primitif)

ADT Integer menyatakan suatu himpunan nilai yang mempunyai operasi pengurangan, penambahan, perkalian, pembagian dan sebagainya

Halaman 30

Tujuan ADT adalah menyembunyikan informasi atau pengapsulan, yaitu1. Perubahan implementasi ADT tidak mengubah

teks program lain bila berbeda interface2. Pemakaian dan pembuatan ADT dapat

terpisah atau sesuai kesepakatan3. ADT merupakan program modular dan tim

pemrograman4. Merupakan Modul dan konsep yang dijumpai

di domain persoalan

TUJUAN ADT

Halaman 31

Tahap pembuatan ADT:1. Tahap 1 : Spesifikasi2. Tahap 2 : Implementasi3. Tahap 3 : Pemrograman

PEMBUATAN ADT

Halaman 32

Operator:^ : perpangkatan*/ : perkalian dan pembagian+- : penjumlahan dan penguranganMOD : sisa hasil pembagianDIV : pembagian dgn hasil bil bulatABS : mempositifkan bil negatifINT : membulatkan bil realVAL : menumerikkan bil yang disimpan dalam

stringSQR : menghitung akar dariTRUNC: membulatkan keatas bil real

OPERASI TIPE DATA NUMERIK

Halaman 33

ANDadalah operasi yang melakukan pengecekan atas 2 kondisi. Jika kedua kondisi benar maka hasil operasi AND benar dan selain itu salah

ORpengecekan 2 kondisi, jika salah satu kondisi bernilai benar, maka hasil operasi OR benar, dan yang lain salah

NOTpengecekan atas 1 kondisi, jika kondisi benar, maka hasil NOT adalah salah.

OPERATOR LOGIKA & TIPE DATA LOGIKAL

Halaman 34

A = 100B = 70C = 40Jika nilai A >= 90 maka A Lulus …. Dst

IF-THENIF-AND-THENIF-OR-THEN

KOMBINASI OPERASI

Halaman 35

Tentukan nilai kebenaran suatu logika berikut:

Review Matematika Diskrit

A B AND

True True

True False

False True

False False

A B OR

True True

True False

False True

False False

A NOT

True

True

False

False

Halaman 36

Review Matematika II/ DiskritBerikan contoh operasi berikut:^ : perpangkatan*/ : perkalian dan pembagian+- : penjumlahan dan penguranganMOD : sisa hasil pembagianDIV : pembagian dgn hasil bil bulatABS : mempositifkan bil negatifINT : membulatkan bil realVAL : menumerikkan bil yang disimpan dalam

stringSQR : menghitung akar dariTRUNC: membulatkan keatas bil real

top related