struktur data
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 PresentationTRANSCRIPT
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