struktur data

Click here to load reader

Post on 19-Jan-2016

18 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

cara mengetahui teori dari basis data

TRANSCRIPT

  • Halaman 1

    STRUKTUR DATASTRUKTUR DATA

    PengajarPengajarJaidanJaidan JauhariJauhari, MT, MT

    AlamatAlamat [email protected][email protected]

    [email protected][email protected]

    DisarikanDisarikan Dari Dari BerbagaiBerbagai SumberSumber, , TerutamaTerutama Dari Diktat Dari Diktat StrukturStruktur Data Data InformatikaInformatikaITB ITB KaranganKarangan Dr. Dr. InggrianiInggriani LiemLiem

  • Halaman 2

    SILABUS MATERI KULIAHSILABUS MATERI KULIAH

    z Pengantar Struktur Dataz Review Record dan Arrayz Stack (Tumpukan)z Queue (Antrian)z Linked List dan Variasi Listz MultiListz Pohon Binerz Graph

  • Halaman 3

    BUKU SUMBERBUKU SUMBER1. Inggriani Liem. 1997. Diktat Kuliah Algoritma dan

    Pemrograman Prosedural. Bandung : ITB2. Inggriani Liem. 2003. Diktat Kuliah Struktur Data.

    Bandung : ITB3. Rinaldi Munir. 2003. Algoritma dan Pemrograman II.

    Bandung : Penerbit Informatika4. Bambang Wahyudi. 2004. Struktur Data dan Algoritma.

    Yogyakarta : Andi Offset5. Dwi Sanjaya. 2001. Bertualang dengan Struktur Data di

    Planet Pascal. Yogyakarta : JJ Learning6. P. Insap Santoso.1997. Struktur Data dengan Turbo

    Pascal. Yogyakarta : Andi Offset

  • Halaman 4

    KomponenKomponen PenilaianPenilaian

    z Tugas 20%z Ujian 1 20 % (Pertemuan ke-4)z Ujian 2 20% (Pertemuan ke-8)z Ujian 3 20% (Pertemuan ke-12)z Ujian Akhir Semester 20%

  • Halaman 5

    AturanAturan dandan SanksiSanksi--sanksisanksiz Kehadiran minimal 80%, kurang dari 80%

    tidak lulus (mendapat nilai E)z Keterlambatan maksimal 10 menit (Lebih dari 10 menit tidak

    diijinkan memasuki ruangan)z Pengumpulan Tugas yang melebihi waktu yang telah ditentukan

    akan diberikan nilai nolz Kecurangan dalam bentuk apapun akan mendapatkan nilai Ez Mahasiswa berpakaian rapi dan sopan, yang ditunjukkan antara lain

    1. Memakai sepatu tertutup2. Memakai baju berkerah3. Tidak memakai aksesoris yang tidak diijinkan4. Tidak memakai pakaian yang kurang dasar atau lebih dasar5. dan lain-lain

    z Selama perkuliahan berlangsung mahasiswa tidak diijinkanmeninggalkan ruang kuliah kecuali sangat terpaksa dan itupunharus membuat surat ijin dan hanya boleh satu kali

  • Halaman 6

    PENGERTIAN STRUKTUR DATAPENGERTIAN STRUKTUR DATA

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

    Sedangkan data adalah representasi dari fakta dunianyata.

    Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalambentuk tulisan, suara, gambar, sinyal atausimbol

  • Halaman 7

    Secara garis besar type data dapat dikategorikanmenjadi :1. Type data sederhana

    a. Type data sederhana tunggal, misalnyaInteger, real, boolean dan karakter

    b. Type data sederhana majemuk, misalnyaString

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

    record

  • Halaman 8

    b. Struktur data majemuk, yang terdiridariLinier : Stack, Queue, serta List dan

    MultilistNon Linier : Pohon Biner dan Graph

    Pemakaian struktur data yang tepat di dalamproses pemrograman akan menghasilkanalgoritma yang lebih jelas dan tepat, sehingga menjadikan program secarakeseluruhan lebih efisien dan sederhana.

  • Halaman 9

    Struktur data yang standar yang biasanyadigunakan dibidang informatika adalah :z List linier (Linked List) dan variasinyaz Multilistz Stack (Tumpukan)z Queue (Antrian) z Tree ( Pohon ) z Graph ( Graf )

  • Halaman 10

    REVIEW RECORD (REKAMAN)REVIEW RECORD (REKAMAN)

    Disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan oleh pemrogram.

    Rekaman disebut juga tipe terstruktur.

    Contoh :1. type Titik : record

    jika P dideklarasikan sebagai Titik maka mengacu field pada P adalah P.x dan P.y.

  • Halaman 11

    2. Didefinisikan tipe terstruktur yang mewakili Jam yang dinyatakan sebagai jam (hh), menit (mm) dan detik (ss), maka cara menulis type Jam adalah :type JAM : record

    Jika J adalah peubah (variabel) bertipe Jammaka cara mengacu tiap field adalah J.hh, J.mmdan J.ss

  • Halaman 12

    Terjemahan dalam bahasa C :1. type Titik : record

    diterjemahkan menjadi :typedef struct { float x;

    float y;} Titik;

    2. type JAM : record

    Diterjemahkan menjadi :typedef struct

    { int hh; /*023*/int mm; /*059*/int ss; /*059*/} Jam;

  • Halaman 13

    REVIEW ARRAY (LARIK)REVIEW ARRAY (LARIK)

    1. Pendahuluanz Larik adalah struktur data statik yang

    menyimpan sekumpulan elemen yang bertipe sama.

    z Setiap elemen diakses langsung melalui indeksnya.

    z Indeks larik harus tipe data yang menyatakan keterurutan misalnya integer atau karakter.

  • Halaman 14

    z Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi.

    z Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain.

    z Nama lain array adalah Larik, tabel atau vektor

  • Halaman 15

    Cara Pendefinisian Array1. Sebagai Peubah

    Contoh :L : array[1..50] of integerNamaMhs : array[a..j] of string

    2. Sebagai tipe baruContoh :type LarikInt : array[1..100] of integerP : LarikInt

  • Halaman 16

    3. Mendefinisikan ukuran maksimum elemen larik sebagai konstantaContoh :Const Nmaks = 100 type Larikint : array[1..Nmaks] of integerP : LarikInt

    Cara menterjemahkan ke bahasa C :#define Nmaks 100typedef int Larikint[Nmaks+1];Larikint P;

  • Halaman 17

    Cara Mengacu Elemen Larik

    z Elemen larik diacu melalui indeksnya. Nilai indek harus terdefinisi.

    z Contoh cara mengacu elemen larik adalah :L[4] {mengacu elemen keempat dari larik L }NamaMhs[b] {mengacu elemen kedua

    dari larik NamaMhs}

    P[k] {mengacu elemen ke-k dari larik P, asalkan nilai k sudah terdefinisi }

  • Halaman 18

    Menginisialisasi Larik

    z menginisialisasi elemen larik adalah memberikanharga awal untuk seluruh elemen larik, misalnyamenginisialisasi dengan nilai 0 seperti di bawah ini :Procedure InisDgn0(output A:larik, input N:integer){menginisialisasi setiap elemen larik A[1..N] dengan nol} {K. Awal : N adalah banyak elemen efektif larik,

    nilainya terdefinisi}{K. Akhir : seluruh elemen larik A bernilai nol}Deklarasi :

    K : integerDeskripsi :

    for k 1 to N doA[k] 0

    endfor

  • Halaman 19

    Mengisi elemen larik dari piranti masukan

    z Elemen larik dapat diisi dengan nilai yang dibaca dari piranti masukan seperti contoh di bawah ini :Procedure BacaLarik(output A:larik, input N:integer){mengisi elemen larik A[1..N] dengan nilai yang

    dibaca dari piranti masukan} {K. Awal : N adalah jumlah elemen efektif larik, nilainya

    terdefinisi}{K. Akhir : seluruh elemen larik A berisi nilai-nilai yang dibaca dari

    piranti masukan}Deklarasi :

    K : integerDeskripsi :

    for k 1 to N doread (A[k])

    endfor

  • Halaman 20

    Larik Bertype Terstruktur

    Larik tidak hanya dapat berisi data bertype tunggal, tapi dapat juga berisi data yang bertipeterstruktur

    Contoh :const Nmaks = 100type Mahasiswa : record

    TabMhs : array[1..Nmaks] of Mahasiswa

  • Halaman 21

    Contoh Cara mengacu elemen TabMhs :1. TabMhs[2].Nim

    mengacu field Nim dari elemen kedualarik

    2. Write(TabMhs[k].KodeMK)menuliskan field KodeMK dari elemenke k dari larik

  • Halaman 22

    TugasTugas 11

    Buatlah dalam notasi algoritma atau bahasa C :1.Definisikan sebuah type terstruktur untuk

    menyatakan data nasabah disebuah bank. Data nasabah terdiri atas field Nomor Account, NamaNasabah, Alamat Nasabah, Kota Nasabah, danNomor Telpon Nasabah.Untuk setiap field definisikan type data yang cocok

  • Halaman 23

    2.Dari soal nomor 1 buatlah program dalambahasa pemrograman berbasis bahasa C, untukmemasukkan data nasabah sebanyak N, denganN diinputkan dari papan ketik, kemudianmenuliskan kembali semua data nasabah dalambentuk matrik.Petunjuk :

    Gunakan notasi pengulangan untukmenyelesaikan permasalahan tersebut

    Tugas dikumpulkan pada pertemuanberikutnya disertai listing program dancontoh keluarannya

  • Halaman 24

    ADT (Abstract Data Type)ADT (Abstract Data Type)z ADT adalah definisi type dan sekumpulan

    primitif (operasi dasar) terhadap type tersebut.

    z Type diterjemahkan menjadi type terdefinisidalam bahasa pemrograman yang bersangkutan, misalnya menjadi record dalamPascal/Ada dan Struct dalam bahasa C

  • Halaman 25

    Primitif dalam konteks pemrogramanprosedural, diterjemahkan menjadifungsi dan prosedur.

    Primitif dikelompokkan menjadi :1. Konstruktor/Kreator, pembentuk nilai

    type. Biasanya namanya diawali denganMake.

    2. Selektor, untuk mengakses komponen type. Biasanya namanya diawali denganGet.

  • Halaman 26

    3. Prosedur Pengubah nilai komponen4. Validator komponen type, yang

    dipakai untuk mengetes apakah dapatmembentuk type sesuai batasan.

    5. Destruktor/Dealokator, yaitu untukmenghancurkan nilai objek, sekaligusmemori penyimpannya

    6. Baca/tulis, untuk interface denganinput/output device

  • Halaman 27

    7. Operator Relasional terhadap type tersebut untuk mendefinisikan lebihbesar, lebih kecil, sama dengan dansebagainya.

    8. Aritmatika terhadap type tersebut, dalam pemrograman biasanya hanyaterdefinisi untuk bilangan numerik.

    9. Konversi dari type tersebut ke type dasar dan sebaliknya

  • Halaman 28

    ADT biasanya diimple

View more