380 likes | 769 Views
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
E N D
STRUKTUR DATA MUSTAKIM, S.T PERTEMUAN 2 JurusanSistemInformasi FakultasSainsdanTeknologi UIN Suska Riau 2012
PENGERTIAN STRUKTUR DATA Struktur susunan, bentuk, polaataubangunan Struktur data adalahcaramenyimpanataumerepresentasikan data didalamkomputer agar bisadipakaisecaraefisien Sedangkan data adalahrepresentasidarifaktadunianyata. Faktaatauketerangantentangkenyataan yang disimpan, direkamataudirepresentasikandalambentuktulisan, suara, gambar, sinyalatausimbol Halaman
DATA PADA KOMPUTER Alatpemrosesandikomputerterdiriatasrangkaian-rangkaianelektronik yang jikarangkaiantersebutdialiriolehlistrikmakaakanbekerja. 1 rangkaian yang dialirilistrik 0 rangkaian yang tidakdialirilistrik Atau yang disebut Sistem Digital Halaman
PROGRAM KOMPUTER Program yang baikakanmemilikikriteria: • Menghasilkankeluaran yang benardansesuai • Memilikikompleksitasalgoritma yang minimal • Kecocokanbahasapemrograman • Memilikibatasakhirpenyelesaian Halaman
INFORMASI Ilustrasi : Jikasayamenuliskanangka 42, apakaninidinamakaninformasi ??? Jawaban: ???? Halaman
Jadi, jikasuatufakta yang sayaperolehharussayaproseslebihlanjut, makadisebutdengan data. Hasilproses yang sayahasilkanuntukmengetahuisesuatu, ituadalahinformasi. Suatuperbedaan yang tipis yang bersipat subjective Halaman
HIERARKI KOMPUTER PROSES INPUT OUTPUT Halaman
STRUKTUR DATA DAN PROGRAM MASALAH PROSES ALGORITMA PENYELESAIAN STRUKTUR DATA INPUT OUTPUT Halaman
TYPE DATA Secaragarisbesar type data dapatdikategorikan menjadi : • Type data sederhana a. Type data sederhanatunggal, misalnya Integer, real, booleandankarakter b. Type data sederhanamajemuk, misalnya String Halaman
TYPE DATA (Cont…) • Struktur Data, meliputi • Struktur data sederhana, misalnya array dan record • Struktur data majemuk, yang terdiridari Linier : Stack, Queue, serta List danMultilist Non Linier : PohonBinerdan Graph Halaman
Pemakaianstruktur data yang tepatdidalamprosespemrogramanakanmenghasilkanalgoritma yang lebihjelasdantepat, sehinggamenjadikan program secarakeseluruhanlebihefisiendansederhana. Halaman
Struktur data yang ″standar″ yang biasanya digunakandibidanginformatikaadalah : • List linier (Linked List) danvariasinya • Multilist • Stack (Tumpukan) • Queue (Antrian) • Tree ( Pohon ) • Graph ( Graf ) Struktur data yang sudahdipelajarisebelumnyaadalahstruktur data statis, yaitu array. Dalamkuliahiniakandipelajaristruktur data dinamis. Halaman
PENGERTIAN • Algoritmaadalahurutanlangkah-langkahlogispenyelesaianmasalah yang disusunsecarasistematis. • Katalogisdisiniberartibenarsesuaidenganlogikamanusia. • Untukmenjadisebuahalgoritma, urutanlangkah yang ditempuhuntukmenyelesaikanmasalahharusmemberikanhasil yang benar Halaman
CONTOH Misalkansaja “algoritmaaktifitaspagiharisebelumberangkatkerja” yang dikerjakanolehseorangeksekutif junior untukturundaritempattidurdanbekerja: Halaman
Manaalgoritma yang benar?? A B Turundaritempattidur; Melepaspiyama; Berpakaian; Mandi; Makanpagi; Baca koran; Pergikerja Turundaritempattidur; Melepaspiyama; Mandi; Berpakaian; Makanpagi; Baca koran; Pergikerja
OUTPUT… A B Pergikerjadengankeadaanbasahkuyup Algoritma yang benar
Flowchart Asumsi: Jikasempatbacakorantapijikatidaklangsungpergikerja Turundaritempattidur MelepasPiyama Mandi Berpakaian Makanpagi Sempat Kondisi Baca koran Pergikerja TidakSempat Halaman
Silahkandicoba… RepresentasikandanbuatlahAlgoritmadenganmenggunakan Flowchart: • Algoritmamemilih menu padasebuahrestoran • MenentukanbilanganGenapatauganjil • Menentukannilaihurufmahasiswadenganasumsi, 80-100=A, 70-79=B, 60-69=C, 50-59=D, Lebihkecildari 50=E Halaman
CIRI DAN PROPERTI ALGORITMA Ciri-cirialgoritmasebagaiberikut: • Input, trdapatnolmasukanataulebih yang diberikan • Output, sedikitnyasatukeluaran yang dihasilkan • Definite, jelas – harussecarasempurnamenyatakanapa yang dilakukan • Efektif, setiapintruksiharusbisadilaukansecara manual • Terminate – berakhir, harusberhentisetelahsejumlahoperasi Halaman
PERANCANGAN ALGORITMA Strategiperancanganalgoritma yang popular adalah: • Strategi Greedy • Strategidevide and conquer • Strategidinamic 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. AnalisisKualitatif menelusurialgoritma • Penelusuranlogisuntukmembuktikanalgoritma • Kualitasalgoritmamengeluarkanhasilboolean (benaratausalah) • Tidakadakondisiditengah-tengah Halaman
PENGUKURAN KEBAIKAN ALGORITMA 2. AnalisisKuantitatif KompleksitasKomputasi (waktu) danRuang • Seberapacepatalgoritmabekerja • Seberaparuang yang diperlukanalgoritmabekerja 3. PencarianAlgoritma yang paling efisien Halaman
EKSPRESI ALGORITMA Tigaalternatif yang seringdigunakan: • BahasaAlamisepertibahasaindonesiaatauinggris • Pseudocode • Bahasapemrograman Halaman
Review Alpro Buatlahsatuekspresialgoritmasederhana (yang pernahdiajarkanpadaalpro) ataupilihansebagaiberikut: • Integer dan String (operasiaritmatika) • Perulangan (For atau While) mencetakangka 1-20 terurut • Logika (If) mencarikelulusannilaimatakuliah Halaman
PENGANTAR Abstraksi data memungkinkanmemperluasbahasapemrogramandengan type data baru Disetiapbahasapemrogramandisediakanberbagai type data dankitadipersilahkanmemilihnya. Type data : huruf, angkadantandabaca ADT kumpulannilaidankumpulanoperasi yang diizinkan Halaman
ADT integer, real, float dsb (type data primitif) ADT Integer menyatakansuatuhimpunannilai yang mempunyaioperasipengurangan, penambahan, perkalian, pembagiandansebagainya Halaman
TUJUAN ADT Tujuan ADT adalahmenyembunyikaninformasiataupengapsulan, yaitu • Perubahanimplementasi ADT tidakmengubahteks program lain bilaberbeda interface • Pemakaiandanpembuatan ADT dapatterpisahatausesuaikesepakatan • ADT merupakan program modular dantimpemrograman • MerupakanModuldankonsep yang dijumpaidi domain persoalan Halaman
PEMBUATAN ADT Tahappembuatan ADT: • Tahap 1 : Spesifikasi • Tahap 2 : Implementasi • Tahap 3 : Pemrograman Halaman
OPERASI TIPE DATA NUMERIK Operator: ^ : perpangkatan */ : perkaliandanpembagian +- : penjumlahandanpengurangan MOD : sisahasilpembagian DIV : pembagiandgnhasilbilbulat ABS : mempositifkanbilnegatif INT : membulatkanbil real VAL : menumerikkanbil yang disimpandalam string SQR : menghitungakardari TRUNC: membulatkankeatasbil real Halaman
OPERATOR LOGIKA & TIPE DATA LOGIKAL AND adalahoperasi yang melakukanpengecekanatas 2 kondisi. Jikakeduakondisibenarmakahasiloperasi AND benardanselainitusalah OR pengecekan 2 kondisi, jikasalahsatukondisibernilaibenar, makahasiloperasi OR benar, dan yang lain salah NOT pengecekanatas 1 kondisi, jikakondisibenar, makahasil NOT adalahsalah. Halaman
KOMBINASI OPERASI A = 100 B = 70 C = 40 Jikanilai A >= 90 maka A Lulus …. Dst IF-THEN IF-AND-THEN IF-OR-THEN Halaman
Review MatematikaDiskrit Tentukannilaikebenaransuatulogikaberikut: Halaman
Review Matematika II/ Diskrit Berikancontohoperasiberikut: ^ : perpangkatan */ : perkaliandanpembagian +- : penjumlahandanpengurangan MOD : sisahasilpembagian DIV : pembagiandgnhasilbilbulat ABS : mempositifkanbilnegatif INT : membulatkanbil real VAL : menumerikkanbil yang disimpandalam string SQR : menghitungakardari TRUNC: membulatkankeatasbil real Halaman