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 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
DATA PADA KOMPUTER Alat pemrosesan dikomputer terdiri atas rangkaian-rangkaian elektronik yang jika rangkaian tersebut dialiri oleh listrik maka akan bekerja. 1 rangkaian yang dialiri listrik 0 rangkaian yang tidak dialiri listrik Atau yang disebut Sistem Digital Halaman
PROGRAM KOMPUTER Program yang baik akan memiliki kriteria: Menghasilkan keluaran yang benar dan sesuai Memiliki kompleksitas algoritma yang minimal Kecocokan bahasa pemrograman Memiliki batas akhir penyelesaian Halaman
INFORMASI Ilustrasi : Jika saya menuliskan angka 42, apakan ini dinamakan informasi ??? Jawaban: ???? Halaman
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
HIERARKI KOMPUTER PROSES INPUT OUTPUT Halaman
STRUKTUR DATA DAN PROGRAM MASALAH ALGORITMA PENYELESAIAN STRUKTUR DATA INPUT PROSES OUTPUT Halaman
TYPE DATA Secara garis besar type data dapat dikategorikan menjadi : Type data sederhana a. Type data sederhana tunggal, misalnya Integer, real, boolean dan karakter b. Type data sederhana majemuk, misalnya String Halaman
TYPE DATA (Cont…) Struktur Data, meliputi Struktur data sederhana, misalnya array dan record Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List dan Multilist Non Linier : Pohon Biner dan Graph Halaman
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
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. Halaman
ALGORITMA
PENGERTIAN 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 Halaman
CONTOH Misalkan saja “algoritma aktifitas pagi hari sebelum berangkat kerja” yang dikerjakan oleh seorang eksekutif junior untuk turun dari tempat tidur dan bekerja: Halaman
Mana algoritma yang benar?? Turun dari tempat tidur; Melepas piyama; Berpakaian; Mandi; Makan pagi; Baca koran; Pergi kerja Turun dari tempat tidur; Melepas piyama; Mandi; Berpakaian; Makan pagi; Baca koran; Pergi kerja
OUTPUT… Pergi kerja dengan keadaan basah kuyup Algoritma yang benar A
Turun dari tempat tidur Flowchart Asumsi: Jika sempat baca koran tapi jika tidak langsung pergi kerja Turun dari tempat tidur Melepas Piyama Mandi Berpakaian Makan pagi Sempat Kondisi Baca koran Pergi kerja Halaman Tidak Sempat
Silahkan dicoba… Representasikan dan buatlah Algoritma dengan menggunakan Flowchart: Algoritma memilih menu pada sebuah restoran Menentukan bilangan Genap atau ganjil Menentukan nilai huruf mahasiswa dengan asumsi, 80-100=A, 70-79=B, 60-69=C, 50-59=D, Lebih kecil dari 50=E Luhur(3), arif binafsihi(2), indra(2). Habibi (A), lili(smt 8), meri (C), Asep (C), desri (D), faisal(D) Halaman
CIRI DAN PROPERTI ALGORITMA Ciri-ciri algoritma sebagai berikut: Input, trdapat nol masukan atau lebih yang diberikan Output, sedikitnya satu keluaran yang dihasilkan Definite, jelas – harus secara sempurna menyatakan apa yang dilakukan Efektif, setiap intruksi harus bisa dilaukan secara manual Terminate – berakhir, harus berhenti setelah sejumlah operasi Halaman
PERANCANGAN ALGORITMA Strategi perancangan algoritma yang popular adalah: Strategi Greedy Strategi devide and conquer Strategi dinamic programming Strategi backtracking Strategi branch and bound Strategi search and tranversal Strategi linier programming Strategi integer programming Strategi genetic algorithm Strategi neural network Halaman
PENGUKURAN KEBAIKAN ALGORITMA 1. Analisis Kualitatif menelusuri algoritma Penelusuran logis untuk membuktikan algoritma Kualitas algoritma mengeluarkan hasil boolean (benar atau salah) Tidak ada kondisi ditengah-tengah Halaman
PENGUKURAN KEBAIKAN ALGORITMA 2. Analisis Kuantitatif Kompleksitas Komputasi (waktu) dan Ruang Seberapa cepat algoritma bekerja Seberapa ruang yang diperlukan algoritma bekerja 3. Pencarian Algoritma yang paling efisien Halaman
EKSPRESI ALGORITMA Tiga alternatif yang sering digunakan: Bahasa Alami seperti bahasa indonesia atau inggris Pseudocode Bahasa pemrograman Halaman
Review Alpro Buatlah satu ekspresi algoritma sederhana (yang pernah diajarkan pada alpro) atau pilihan sebagai berikut: Integer dan String (operasi aritmatika) Perulangan (For atau While) mencetak angka 1-20 terurut Logika (If) mencari kelulusan nilai mata kuliah Retno (A), Randyka (C) Halaman
Abstrak Data Type (ADT)
PENGANTAR 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 Halaman
ADT integer, real, float dsb (type data primitif) ADT Integer menyatakan suatu himpunan nilai yang mempunyai operasi pengurangan, penambahan, perkalian, pembagian dan sebagainya Halaman
TUJUAN ADT Tujuan ADT adalah menyembunyikan informasi atau pengapsulan, yaitu Perubahan implementasi ADT tidak mengubah teks program lain bila berbeda interface Pemakaian dan pembuatan ADT dapat terpisah atau sesuai kesepakatan ADT merupakan program modular dan tim pemrograman Merupakan Modul dan konsep yang dijumpai di domain persoalan Heruma wibowo Halaman
PEMBUATAN ADT Tahap pembuatan ADT: Tahap 1 : Spesifikasi Tahap 2 : Implementasi Tahap 3 : Pemrograman Halaman
OPERASI TIPE DATA NUMERIK Operator: ^ : perpangkatan */ : perkalian dan pembagian +- : penjumlahan dan pengurangan MOD : sisa hasil pembagian DIV : pembagian dgn hasil bil bulat ABS : mempositifkan bil negatif INT : membulatkan bil real VAL : menumerikkan bil yang disimpan dalam string SQR : menghitung akar dari TRUNC: membulatkan keatas bil real Halaman
OPERATOR LOGIKA & TIPE DATA LOGIKAL AND adalah operasi yang melakukan pengecekan atas 2 kondisi. Jika kedua kondisi benar maka hasil operasi AND benar dan selain itu salah OR pengecekan 2 kondisi, jika salah satu kondisi bernilai benar, maka hasil operasi OR benar, dan yang lain salah NOT pengecekan atas 1 kondisi, jika kondisi benar, maka hasil NOT adalah salah. Halaman
KOMBINASI OPERASI A = 100 B = 70 C = 40 Jika nilai A >= 90 maka A Lulus …. Dst IF-THEN IF-AND-THEN IF-OR-THEN Halaman
Review Matematika Diskrit Tentukan nilai kebenaran suatu logika berikut: A B AND True False A B OR True False A NOT True False M. Agus (A), wanda(D) Halaman
Review Matematika II/ Diskrit Berikan contoh operasi berikut: ^ : perpangkatan */ : perkalian dan pembagian +- : penjumlahan dan pengurangan MOD : sisa hasil pembagian DIV : pembagian dgn hasil bil bulat ABS : mempositifkan bil negatif INT : membulatkan bil real VAL : menumerikkan bil yang disimpan dalam string SQR : menghitung akar dari TRUNC: membulatkan keatas bil real Halaman