SlideShare a Scribd company logo
1 of 33
Struktur Data



                1
Objektif
   Mengetahui maksud struktur data dan
    menjelaskan penggunaannya dalam
    pemrograman
   Mengetahui operasi yang terkait dengan
    struktur data dan metode pemrograman
    paling umum yang terkait dengan struktur
    tersebut.
   Mengetahui metode dan notasi yang
    digunakan untuk menspesifikasi apa-apa
    yang perlu dikerjakan oleh program dan
    bagaimana program ini melakukan pekerjaan
    tersebut.                                2
Jenis/Tipe Data (Data Type)

   Terdiri dari
    – Set nilai data
    – Set operasi yang bisa diterapkan pada nilai
      tersebut




                                                3
Klasifikasi Jenis Data

   Simple Data Type (Jenis Data
    Sederhana)
    – Item data individual
   Data Structures / data aggregates
    (struktur data)
    – Kombinasi dari item data individual
    – Membentuk item data lain

                                            4
Jenis Data Sederhana
   Numerik, terdiri dari :
    – Numerik integer (bilangan bulat)
    – Numerik real (bilangan riil)
   Karakter, terdiri dari :
    – Alfabet : a .. z, A .. Z
    – Angka : 0 .. 9
    – Simbol khusus : + ? ‘ ! [ ] { } … dll
   Boolean (logika), terdiri dari :
    – True
    – False
                                              5
Identifier
   Dalam bahasa pemrograman, item data
    diidentifikasi menurut namanya, bukan
    menurut alamat lokasinya dalam memori
   Identifier akan merupakan konstanta jika ia
    selalu dikaitkan dengan nilai data yang sama
   Identifier akan merupakan variabel jika nilai
    datanya yang terkait bisa berubah
   Literal, nilai data yang tertera dalam program
    namun bukan sebagai identifier

                                                     6
Deklarasi Data
   Jenis data konstanta dan variabel harus
    didefinisikan dalam program sehingga :
    – operasi yang tepat dapat dijalankan pada nilai
      data dan
    – Jumlah ruang penyimpanan yang tepat bisa
      ditentukan
   Statement untuk mendefinisikan jenis data
    disebut declarative statement
   Beberapa bahasa pemrograman memiliki
    sintaks pendeklarasian yang berbeda
   Beberapa contoh program (pendeklarasian
    data) yang akan diberikan ditulis dalam
    pseudo-code
                                                       7
Contoh
Constants
     pi = 3.141592654

Variables
     i, qty                   : integer
     harga_satuan, harga_beli      : real
     status                   : boolean
     nama                     : character(25)




                                           8
Struktur Data
   Kelompok item data yang terorganisasi yang
    dianggap sebagai suatu unit
   Disebut juga sebagai jenis data kompleks
    (complex data type) atau data aggregates
   Beberapa struktur data :
    –   Array (larik)
    –   String
    –   Record
    –   List (daftar)
    –   Tree
                                                 9
Array (Larik)
   Set item data yang disusun secara baik
    menjadi rangkaian dan diacu atau ditunjuk
    oleh satu identifier
   Contoh : Nilai = (56 42 89 65 48)
   Item data individual dalam array bisa ditunjuk
    secara terpisah dengan menyatakan
    posisinya dalam array itu
    – Nilai(1) menunjuk 56
    – Nilai(2) menunjuk 42
   Bilangan yang ditulis dalam tanda kurung
    menandakan posisi item individual dalam
    array (disebut juga subscript / indeks)
                                                10
Array (Larik) [2]
   Variabel bisa digunakan sebagai subscript,
    misalnya Nilai(i).
    – Jika i = 2 maka menunjuk ke Nilai(2) yaitu 42
    – Jika i = 4 maka menunjuk ke Nilai(4) yaitu 65
   Item data individual dalam suatu array sering
    disebut elemen
   Matriks
    – Array yang hanya berisi bilangan dan tidak ada
      data alfabetisnya
   Klasifikasi Array
    – Array 1 dimensi
    – Array multi dimensi
                                                       11
Array Multi Dimensi
      Mempunyai elemen-elemen yang disusun ke
       dalam baris dan kolom dan digunakan
       sebagai tabel data
      Contoh : Nilai ujian dari mahasiswa satu
       kelas untuk beberapa mata kuliah bisa
       ditempatkan dalam array 2 dimensi

Siswa ke B. Inggris     Matematik
(no.     (kolom 1)      a (kolom 2)      1    44
baris)                                   2    36
   1      A(1,1) = 56   A(1,2) = 44   A= 3    73
   2      A(2,1) = 42   A(2,2) = 36      4    86
   3      A(3,1) = 89   A(3,2) = 73      48   51
   4      A(4,1) = 65   A(4,2) = 86                12

   5      A(5,1) = 48   A(5,2) = 51
Deklarasi Array

      Array 1 dimensi
Variables
     Nilai     : array [1..5] of integer
     A    : array [1..4] of real

      Array 2 dimensi
  Variables
       A    : array [1..5, 1..2] of integer

                                           13
Penanganan Array
   Metode dasar penanganan array :
    –   Mencari nilai terbesar
    –   Mencari nilai terkecil
    –   Menghitung nilai rata-rata
    –   Menghitung nilai total
    –   Menghitung jumlah nilai di bawah rata-rata
   Menyortir Array (Sort)
    – Buble sort
    – Straight selection sort
   Mencari/Meneliti Array (Search)
    – Linear search
                                                     14
Penanganan Array [2]
   Contoh : Nilai ujian mahasiswa akan dibaca
    dalam array. Kemudian akan ditampilkan nilai
    terbesar, nilai terkecil, nilai rata-rata, nilai
    total, dan jumlah nilai di bawah rata-rata.
   Tahapan penanganan array
    – Input nilai data ke dalam array
    – Mengkalkulasi nilai terbesar, terkecil, total, dan
      rata-rata
    – Mengkalkulasi jumlah nilai di bawah rata-rata
    – Menampilkan hasilnya (output)
                                                           15
String
   Rangkaian karakter yang ditangani sebagai
    unit data tunggal
   Contoh (string literal) :
    – “ABC, 32fl2. 3h”
    – “Kucing dalam karung”
   Contoh (variabel string) :
    – A = “Universitas”
    – B = “Gunadarma”
   Berada dalam bentuk array karakter 1
    dimensi
                                                16
String [2]
   Fixed-length string (String yang
    panjangnya tetap)
    – Mempunyai jumlah tempat karakter yang
      tetap yang tersedia (bisa digunakan) untuk
      penyimpanan data
   Variable-length string (String yang
    panjangnya berubah-ubah)
    – Memberi data sejumlah spasi (ruang)
      sesuai yang ia perlukan
                                               17
   Fixed-length string
posisi karakter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
isi             A N D R I A M R I        I N A        J O K O      D E D I
komentar         string ke 1 string ke 2  string ke 3  string ke 4   string ke 5




             Variable-length string
posisi karakter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23     24    25
isi             A N D R I * A M R I * I N A * J O K O * A L                 *
komentar          string ke 1 string ke 2 string ke 3 string ke 4  string ke 5 tempat sisa


                                                                                     18
Deklarasi String

   Fixed-length string
Variables
     nama : string[5]



   Variable-length string
Variables
     nama : string

                             19
Operasi pada String

   Concatenation
    – Penggabungan dua atau lebih string
    – Contoh :
    A = “Universitas”
    B = “Gunadarma”
    C = A + B

    maka
    C = “UniversitasGunadarma”

                                           20
Operasi pada String [2]
   Substring
    – Mengambil bagian dari suatu string
    – Contoh  A = “Universitas”
                B   =   “Gunadarma”
                C   =   Left(A, 3)
                D   =   Right(B, 5)
                E   =   Substr(A, 4, 5)

                maka
                C = “Uni”
                D = “darma”
                E = “versi”                21
Record
   Seperti array 1 dimensi
   Terdiri dari serangkaian item data yang
    terkait
   Item data berurutan yang ada dalam record
    bisa mempunyai jenis yang berbeda
   Contoh : Mengorganisasikan 3 item data
    yang berbeda ke dalam struktur data tunggal
    – NIP     : string(8)
    – Nilai   : real
    – Lulus   : boolean
                                              22
Deklarasi Record
    mahasiswa   : record
                     NIP   : string(8)
                     Nilai : real
                     Lulus : boolean
                  end record


 Setiap elemen memiliki identifier sendiri
 Elemen dari suatu record disebut field


                                          23
   Penunjukan ke setiap field dari suatu
    record bisa dilakukan dengan :
    – Notasi “dot” (titik)
        Begin
                mahasiswa.NPM := ‘51292215’
                mahasiswa.Nilai := 90.5
                mahasiswa.Lulus := True
        End

    – Notasi “with”
        Begin
                with mahasiswa
                do
                   NPM := ‘51292215’
                   Nilai := 90.5
                   Lulus := True
                end with
        End                                   24
Array Record (Tabel)

 Kumpulan dua atau lebih record
 Deklarasi Array Record
Variable
   Mahasiswa : Array [1..5] of record
                  NIP     : string(8)
                  Nilai : real
                  Lulus : boolean
               End record



                                        25
List
   Memberikan cara yang fleksibel untuk
    penanganan item data secara urut
   Perubahan terhadap urutan tersebut dapat
    dicapai (dilakukan) dengan perpindahan data
    yang minimal dan kehilangan ruang
    penyimpanan yang sedikit
   Contoh : Kalimat "Ahmad does not like cake"
    dituliskan sebagai suatu list, seperti berikut :

                                                   26
Ahmad       does      not       like      cake

   Beberapa istilah
    – Datum : item data dalam list
    – Pointer : penunjuk yang menyambungkan item
      data satu dengan yang lain
    – Node / elemen : elemen dari suatu list yang
      terbentuk dari datum dan pointer
    – Terminator : pointer terakhir dari list
    – Start pointer : menyatakan tempat datum pertama
    – Free storage pointer : menyatakan di mana datum
      berikutnya bisa mengarah atau menuju


                                                        27
Deklarasi List

   List dapat dideklarasikan sebagai
    sebuah array record
Variable
    kalimat : Array [1..7] of record
                   Datum : string
                   Next    : integer
              End record


                                        28
Row     Datum     Pointer to        Comment
          Number               Next
Start                         Datum
Pointer
            1      “Ahmad”       2        Next datum is in row
                                          2
            2      “does”        3        Next datum is in row
                                          3
            3       “not”        4        Next datum is in row
Free                                      4
storage     4       “like”       5        Next datum is in row
Pointer                                   5
            5      “cake”        -1       Last datum; -1 is a
                                          terminator
            6                    7
                                                                 29
            7                    8
Operasi pada List
   Deletion : penghapusan elemen suatu list
    – Ketika elemen suatu list dihapus, tempat
      penyimpanan yang telah dikosongkan dapat
      digunakan lagi
   Insertion : penyisipan elemen ke dalam suatu
    list
   Search : pencarian elemen dalam suatu list



                                                 30
Tree
   Struktur data hirarki
   Dikonstruksi menggunakan aturan preseden
    untuk item data, misal : menggunakan
    rangkaian alfabet atau numerik
   Beberapa Istilah :
    – Node : elemen dari suatu tree
       • Setiap node memiliki (sedikitnya) dua pointer yaitu left
         pointer dan right pointer
    – Root node : datum pertama yang ditempatkan
      dalam tree
    – Parent node : node yang memiliki node di
      bawahnya (sub-node)
    – Child node : node yang berada di bawah parent
    – Leaf node : node yang tidak mempunyai child                   31
   Contoh : bilangan-bilangan ini (56 42 89 65
    48) ditempatkan ke dalam tree




   Catatan :
    – Node paling kiri berisi bilangan terkecil
    – Node paling kanan berisi bilangan terbesar
                                                   32
33

More Related Content

What's hot (20)

Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Materi array
Materi arrayMateri array
Materi array
 
207 p09
207 p09207 p09
207 p09
 
Materi 7. array
Materi 7. arrayMateri 7. array
Materi 7. array
 
Laporan desktop p.9
Laporan desktop p.9Laporan desktop p.9
Laporan desktop p.9
 
Array
ArrayArray
Array
 
Pemograman dasar array
Pemograman dasar arrayPemograman dasar array
Pemograman dasar array
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd
 
Pertemuan 3 revisijan2013-mhs
Pertemuan 3 revisijan2013-mhsPertemuan 3 revisijan2013-mhs
Pertemuan 3 revisijan2013-mhs
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan vi
 
Pertemuan IV Teori
Pertemuan IV TeoriPertemuan IV Teori
Pertemuan IV Teori
 
Makalah array
Makalah arrayMakalah array
Makalah array
 
Pertemuan 9 Array
Pertemuan 9 ArrayPertemuan 9 Array
Pertemuan 9 Array
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Makalah array
Makalah arrayMakalah array
Makalah array
 
Array & dimensi array
Array & dimensi arrayArray & dimensi array
Array & dimensi array
 
Array Dimention
Array DimentionArray Dimention
Array Dimention
 
Struktur data
Struktur dataStruktur data
Struktur data
 
05. array
05. array05. array
05. array
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algo
 

Viewers also liked

Array dalam Struktur Data
Array dalam Struktur DataArray dalam Struktur Data
Array dalam Struktur DataFajar Sany
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakangSimon Patabang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascalSimon Patabang
 
90963869 latihan-soal-struktur-data-semester2
90963869 latihan-soal-struktur-data-semester290963869 latihan-soal-struktur-data-semester2
90963869 latihan-soal-struktur-data-semester2Saybia Himma
 

Viewers also liked (7)

Array dalam Struktur Data
Array dalam Struktur DataArray dalam Struktur Data
Array dalam Struktur Data
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Contoh Program buble sort dari belakang
Contoh Program buble sort dari belakangContoh Program buble sort dari belakang
Contoh Program buble sort dari belakang
 
Contoh program buble sort dalam pascal
Contoh program buble sort dalam pascalContoh program buble sort dalam pascal
Contoh program buble sort dalam pascal
 
Struktur data
Struktur dataStruktur data
Struktur data
 
struktur data
struktur datastruktur data
struktur data
 
90963869 latihan-soal-struktur-data-semester2
90963869 latihan-soal-struktur-data-semester290963869 latihan-soal-struktur-data-semester2
90963869 latihan-soal-struktur-data-semester2
 

Similar to Struktur Data Dasar

Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsxIndraWahyu33
 
SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxOrangeranger1
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul vDevi Apriansyah
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascalfhnx
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Data structure bab 1
Data structure   bab 1Data structure   bab 1
Data structure bab 1Aviv Barkah
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexShofura Kamal
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATAIez Risma Nursida
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator javaSaprudin Eskom
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahanformatik
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahanformatik
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrakFaizalguswanda
 
Pertemua ke V.doc
Pertemua ke V.docPertemua ke V.doc
Pertemua ke V.docJurnal IT
 

Similar to Struktur Data Dasar (20)

Minggu 09 - Array dan Tipe Bentukan.ppsx
Minggu 09 -  Array dan Tipe Bentukan.ppsxMinggu 09 -  Array dan Tipe Bentukan.ppsx
Minggu 09 - Array dan Tipe Bentukan.ppsx
 
Pertemuan 2 ok
Pertemuan 2 okPertemuan 2 ok
Pertemuan 2 ok
 
SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptx
 
Tipe data abstract
Tipe data abstractTipe data abstract
Tipe data abstract
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Pert.3 array
Pert.3  arrayPert.3  array
Pert.3 array
 
Pertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhsPertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhs
 
Data structure bab 1
Data structure   bab 1Data structure   bab 1
Data structure bab 1
 
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel BerindexLaporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
Laporan Praktikum Algoritma Pemrograman Modul IV-Aplikasi Variabel Berindex
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATA
 
4. tipe data dan operator java
4. tipe data dan operator java4. tipe data dan operator java
4. tipe data dan operator java
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Kontrak Perkuliahan
Kontrak PerkuliahanKontrak Perkuliahan
Kontrak Perkuliahan
 
Bab ii tipe data abstrak
Bab ii tipe data abstrakBab ii tipe data abstrak
Bab ii tipe data abstrak
 
struktur data
struktur datastruktur data
struktur data
 
Pertemua ke V.doc
Pertemua ke V.docPertemua ke V.doc
Pertemua ke V.doc
 
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
 
Array dalam bahasa c
Array dalam bahasa cArray dalam bahasa c
Array dalam bahasa c
 

Struktur Data Dasar

  • 2. Objektif  Mengetahui maksud struktur data dan menjelaskan penggunaannya dalam pemrograman  Mengetahui operasi yang terkait dengan struktur data dan metode pemrograman paling umum yang terkait dengan struktur tersebut.  Mengetahui metode dan notasi yang digunakan untuk menspesifikasi apa-apa yang perlu dikerjakan oleh program dan bagaimana program ini melakukan pekerjaan tersebut. 2
  • 3. Jenis/Tipe Data (Data Type)  Terdiri dari – Set nilai data – Set operasi yang bisa diterapkan pada nilai tersebut 3
  • 4. Klasifikasi Jenis Data  Simple Data Type (Jenis Data Sederhana) – Item data individual  Data Structures / data aggregates (struktur data) – Kombinasi dari item data individual – Membentuk item data lain 4
  • 5. Jenis Data Sederhana  Numerik, terdiri dari : – Numerik integer (bilangan bulat) – Numerik real (bilangan riil)  Karakter, terdiri dari : – Alfabet : a .. z, A .. Z – Angka : 0 .. 9 – Simbol khusus : + ? ‘ ! [ ] { } … dll  Boolean (logika), terdiri dari : – True – False 5
  • 6. Identifier  Dalam bahasa pemrograman, item data diidentifikasi menurut namanya, bukan menurut alamat lokasinya dalam memori  Identifier akan merupakan konstanta jika ia selalu dikaitkan dengan nilai data yang sama  Identifier akan merupakan variabel jika nilai datanya yang terkait bisa berubah  Literal, nilai data yang tertera dalam program namun bukan sebagai identifier 6
  • 7. Deklarasi Data  Jenis data konstanta dan variabel harus didefinisikan dalam program sehingga : – operasi yang tepat dapat dijalankan pada nilai data dan – Jumlah ruang penyimpanan yang tepat bisa ditentukan  Statement untuk mendefinisikan jenis data disebut declarative statement  Beberapa bahasa pemrograman memiliki sintaks pendeklarasian yang berbeda  Beberapa contoh program (pendeklarasian data) yang akan diberikan ditulis dalam pseudo-code 7
  • 8. Contoh Constants pi = 3.141592654 Variables i, qty : integer harga_satuan, harga_beli : real status : boolean nama : character(25) 8
  • 9. Struktur Data  Kelompok item data yang terorganisasi yang dianggap sebagai suatu unit  Disebut juga sebagai jenis data kompleks (complex data type) atau data aggregates  Beberapa struktur data : – Array (larik) – String – Record – List (daftar) – Tree 9
  • 10. Array (Larik)  Set item data yang disusun secara baik menjadi rangkaian dan diacu atau ditunjuk oleh satu identifier  Contoh : Nilai = (56 42 89 65 48)  Item data individual dalam array bisa ditunjuk secara terpisah dengan menyatakan posisinya dalam array itu – Nilai(1) menunjuk 56 – Nilai(2) menunjuk 42  Bilangan yang ditulis dalam tanda kurung menandakan posisi item individual dalam array (disebut juga subscript / indeks) 10
  • 11. Array (Larik) [2]  Variabel bisa digunakan sebagai subscript, misalnya Nilai(i). – Jika i = 2 maka menunjuk ke Nilai(2) yaitu 42 – Jika i = 4 maka menunjuk ke Nilai(4) yaitu 65  Item data individual dalam suatu array sering disebut elemen  Matriks – Array yang hanya berisi bilangan dan tidak ada data alfabetisnya  Klasifikasi Array – Array 1 dimensi – Array multi dimensi 11
  • 12. Array Multi Dimensi  Mempunyai elemen-elemen yang disusun ke dalam baris dan kolom dan digunakan sebagai tabel data  Contoh : Nilai ujian dari mahasiswa satu kelas untuk beberapa mata kuliah bisa ditempatkan dalam array 2 dimensi Siswa ke B. Inggris Matematik (no. (kolom 1) a (kolom 2) 1 44 baris) 2 36 1 A(1,1) = 56 A(1,2) = 44 A= 3 73 2 A(2,1) = 42 A(2,2) = 36 4 86 3 A(3,1) = 89 A(3,2) = 73 48 51 4 A(4,1) = 65 A(4,2) = 86 12 5 A(5,1) = 48 A(5,2) = 51
  • 13. Deklarasi Array  Array 1 dimensi Variables Nilai : array [1..5] of integer A : array [1..4] of real  Array 2 dimensi Variables A : array [1..5, 1..2] of integer 13
  • 14. Penanganan Array  Metode dasar penanganan array : – Mencari nilai terbesar – Mencari nilai terkecil – Menghitung nilai rata-rata – Menghitung nilai total – Menghitung jumlah nilai di bawah rata-rata  Menyortir Array (Sort) – Buble sort – Straight selection sort  Mencari/Meneliti Array (Search) – Linear search 14
  • 15. Penanganan Array [2]  Contoh : Nilai ujian mahasiswa akan dibaca dalam array. Kemudian akan ditampilkan nilai terbesar, nilai terkecil, nilai rata-rata, nilai total, dan jumlah nilai di bawah rata-rata.  Tahapan penanganan array – Input nilai data ke dalam array – Mengkalkulasi nilai terbesar, terkecil, total, dan rata-rata – Mengkalkulasi jumlah nilai di bawah rata-rata – Menampilkan hasilnya (output) 15
  • 16. String  Rangkaian karakter yang ditangani sebagai unit data tunggal  Contoh (string literal) : – “ABC, 32fl2. 3h” – “Kucing dalam karung”  Contoh (variabel string) : – A = “Universitas” – B = “Gunadarma”  Berada dalam bentuk array karakter 1 dimensi 16
  • 17. String [2]  Fixed-length string (String yang panjangnya tetap) – Mempunyai jumlah tempat karakter yang tetap yang tersedia (bisa digunakan) untuk penyimpanan data  Variable-length string (String yang panjangnya berubah-ubah) – Memberi data sejumlah spasi (ruang) sesuai yang ia perlukan 17
  • 18. Fixed-length string posisi karakter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 isi A N D R I A M R I I N A J O K O D E D I komentar string ke 1 string ke 2 string ke 3 string ke 4 string ke 5  Variable-length string posisi karakter 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 isi A N D R I * A M R I * I N A * J O K O * A L * komentar string ke 1 string ke 2 string ke 3 string ke 4 string ke 5 tempat sisa 18
  • 19. Deklarasi String  Fixed-length string Variables nama : string[5]  Variable-length string Variables nama : string 19
  • 20. Operasi pada String  Concatenation – Penggabungan dua atau lebih string – Contoh : A = “Universitas” B = “Gunadarma” C = A + B maka C = “UniversitasGunadarma” 20
  • 21. Operasi pada String [2]  Substring – Mengambil bagian dari suatu string – Contoh A = “Universitas” B = “Gunadarma” C = Left(A, 3) D = Right(B, 5) E = Substr(A, 4, 5) maka C = “Uni” D = “darma” E = “versi” 21
  • 22. Record  Seperti array 1 dimensi  Terdiri dari serangkaian item data yang terkait  Item data berurutan yang ada dalam record bisa mempunyai jenis yang berbeda  Contoh : Mengorganisasikan 3 item data yang berbeda ke dalam struktur data tunggal – NIP : string(8) – Nilai : real – Lulus : boolean 22
  • 23. Deklarasi Record mahasiswa : record NIP : string(8) Nilai : real Lulus : boolean end record  Setiap elemen memiliki identifier sendiri  Elemen dari suatu record disebut field 23
  • 24. Penunjukan ke setiap field dari suatu record bisa dilakukan dengan : – Notasi “dot” (titik) Begin mahasiswa.NPM := ‘51292215’ mahasiswa.Nilai := 90.5 mahasiswa.Lulus := True End – Notasi “with” Begin with mahasiswa do NPM := ‘51292215’ Nilai := 90.5 Lulus := True end with End 24
  • 25. Array Record (Tabel)  Kumpulan dua atau lebih record  Deklarasi Array Record Variable Mahasiswa : Array [1..5] of record NIP : string(8) Nilai : real Lulus : boolean End record 25
  • 26. List  Memberikan cara yang fleksibel untuk penanganan item data secara urut  Perubahan terhadap urutan tersebut dapat dicapai (dilakukan) dengan perpindahan data yang minimal dan kehilangan ruang penyimpanan yang sedikit  Contoh : Kalimat "Ahmad does not like cake" dituliskan sebagai suatu list, seperti berikut : 26
  • 27. Ahmad does not like cake  Beberapa istilah – Datum : item data dalam list – Pointer : penunjuk yang menyambungkan item data satu dengan yang lain – Node / elemen : elemen dari suatu list yang terbentuk dari datum dan pointer – Terminator : pointer terakhir dari list – Start pointer : menyatakan tempat datum pertama – Free storage pointer : menyatakan di mana datum berikutnya bisa mengarah atau menuju 27
  • 28. Deklarasi List  List dapat dideklarasikan sebagai sebuah array record Variable kalimat : Array [1..7] of record Datum : string Next : integer End record 28
  • 29. Row Datum Pointer to Comment Number Next Start Datum Pointer 1 “Ahmad” 2 Next datum is in row 2 2 “does” 3 Next datum is in row 3 3 “not” 4 Next datum is in row Free 4 storage 4 “like” 5 Next datum is in row Pointer 5 5 “cake” -1 Last datum; -1 is a terminator 6 7 29 7 8
  • 30. Operasi pada List  Deletion : penghapusan elemen suatu list – Ketika elemen suatu list dihapus, tempat penyimpanan yang telah dikosongkan dapat digunakan lagi  Insertion : penyisipan elemen ke dalam suatu list  Search : pencarian elemen dalam suatu list 30
  • 31. Tree  Struktur data hirarki  Dikonstruksi menggunakan aturan preseden untuk item data, misal : menggunakan rangkaian alfabet atau numerik  Beberapa Istilah : – Node : elemen dari suatu tree • Setiap node memiliki (sedikitnya) dua pointer yaitu left pointer dan right pointer – Root node : datum pertama yang ditempatkan dalam tree – Parent node : node yang memiliki node di bawahnya (sub-node) – Child node : node yang berada di bawah parent – Leaf node : node yang tidak mempunyai child 31
  • 32. Contoh : bilangan-bilangan ini (56 42 89 65 48) ditempatkan ke dalam tree  Catatan : – Node paling kiri berisi bilangan terkecil – Node paling kanan berisi bilangan terbesar 32
  • 33. 33