SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Struktur Data
BADRI MUNAWAR, S.KOM
 AMIK WIRANUSANTARA
   RANGKASBITUNG



         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)          56   44
baris)
                                             42   36
   1      A(1,1) = 56   A(1,2) = 44         A89
                                              =   73
   2      A(2,1) = 42   A(2,2) = 36          65   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
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     ∗ Fixed-length stringM R I
                A N D R I A              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


∗ Variablesstring
  Fixed-length
          nama : string[5]



∗ Variable-length string
  Variables
       nama : string

                           19
Operasi pada String


∗ Concatenation
  ∗ Penggabungan dua atau lebih string
  ∗ Contoh :
      A = “AMIK”
      B = “Wiranusantara”
      C = A + B

      maka
      C = “AMIKWiranusantara”
                           20
Operasi pada String [2]
∗ Substring
  ∗ Mengambil bagian dari suatu string
  ∗ Contoh
                   A   =   “AMIK”
                   B   =   “Wiranusantara”
                   C   =   Left(A, 4)
                   D   =   Right(B, 4)
                   E   =   Substr(A, 4, 4)

                   maka
                   C = “amik”
                   D = “wira”
                   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
  ∗ Notasi “with”
       End



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


∗ Kumpulan dua atau lebih record
∗ Variable
  Deklarasi Array Record
      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 berisi32  bilangan terbesar
33

Weitere ähnliche Inhalte

Was ist angesagt?

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
doudomblogspot
 

Was ist angesagt? (20)

307(1)
307(1)307(1)
307(1)
 
Modul xiii dan xiv algo
Modul xiii dan xiv algoModul xiii dan xiv algo
Modul xiii dan xiv algo
 
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
Matematika Diskrit - 05 rekursi dan relasi rekurens - 01
 
Spt 3102(1112)
Spt 3102(1112)Spt 3102(1112)
Spt 3102(1112)
 
Rekursi
Rekursi Rekursi
Rekursi
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Laporan praktikum Algoritma dan Pemrograman pertemuan 10Laporan praktikum Algoritma dan Pemrograman pertemuan 10
Laporan praktikum Algoritma dan Pemrograman pertemuan 10
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15Laporan praktikum Algoritma dan Pemrograman pertemuan 15
Laporan praktikum Algoritma dan Pemrograman pertemuan 15
 
Pelatihan Java - Number & String
Pelatihan Java - Number & StringPelatihan Java - Number & String
Pelatihan Java - Number & String
 
DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)DIFFERENSIAL (Matematika Bisnis)
DIFFERENSIAL (Matematika Bisnis)
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11Laporan praktikum Algoritma dan Pemrograman pertemuan 11
Laporan praktikum Algoritma dan Pemrograman pertemuan 11
 
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
Laporan praktikum Algoritma dan Pemrograman pertemuan 9&10
 
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
 
VD-108 kelompok 5: Operasi Biner dan Grup
VD-108 kelompok 5: Operasi Biner dan GrupVD-108 kelompok 5: Operasi Biner dan Grup
VD-108 kelompok 5: Operasi Biner dan Grup
 
sasasada
sasasadasasasada
sasasada
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
Tipe data dan variabel
Tipe data dan variabelTipe data dan variabel
Tipe data dan variabel
 
Materi array
Materi arrayMateri array
Materi array
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 

Andere mochten auch

Principios basicos de la ecologia
Principios basicos de la ecologiaPrincipios basicos de la ecologia
Principios basicos de la ecologia
Pedro Morales Perez
 
выставки творческих работ детей, педагогов, родителей.
выставки творческих работ детей, педагогов, родителей.выставки творческих работ детей, педагогов, родителей.
выставки творческих работ детей, педагогов, родителей.
Elena_Lim
 
Requisitos de calidad requeridos
Requisitos de calidad requeridosRequisitos de calidad requeridos
Requisitos de calidad requeridos
tecocharlie
 
Principios basicos de la ecologia
Principios basicos de la ecologiaPrincipios basicos de la ecologia
Principios basicos de la ecologia
Pedro Morales Perez
 
Evaluacion 1er. semestre jar 12 13
Evaluacion 1er. semestre jar 12 13Evaluacion 1er. semestre jar 12 13
Evaluacion 1er. semestre jar 12 13
shulixx
 
Habitat for Humanity at AISD
Habitat for Humanity at AISDHabitat for Humanity at AISD
Habitat for Humanity at AISD
norastrauch
 
Gerencia de proyectos
Gerencia de proyectosGerencia de proyectos
Gerencia de proyectos
Piero Pinto
 

Andere mochten auch (18)

Ecologia
EcologiaEcologia
Ecologia
 
Исследование Smm рынка Кыргызстана.
Исследование Smm рынка Кыргызстана.  Исследование Smm рынка Кыргызстана.
Исследование Smm рынка Кыргызстана.
 
R73750
R73750R73750
R73750
 
Principios basicos de la ecologia
Principios basicos de la ecologiaPrincipios basicos de la ecologia
Principios basicos de la ecologia
 
выставки творческих работ детей, педагогов, родителей.
выставки творческих работ детей, педагогов, родителей.выставки творческих работ детей, педагогов, родителей.
выставки творческих работ детей, педагогов, родителей.
 
Ecologia
EcologiaEcologia
Ecologia
 
Requisitos de calidad requeridos
Requisitos de calidad requeridosRequisitos de calidad requeridos
Requisitos de calidad requeridos
 
Principios basicos de la ecologia
Principios basicos de la ecologiaPrincipios basicos de la ecologia
Principios basicos de la ecologia
 
Cuidado personal (1)
Cuidado personal (1)Cuidado personal (1)
Cuidado personal (1)
 
Mapa tardígrados
Mapa tardígradosMapa tardígrados
Mapa tardígrados
 
T3
T3T3
T3
 
Ecologia
EcologiaEcologia
Ecologia
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Evaluacion 1er. semestre jar 12 13
Evaluacion 1er. semestre jar 12 13Evaluacion 1er. semestre jar 12 13
Evaluacion 1er. semestre jar 12 13
 
Habitat for Humanity at AISD
Habitat for Humanity at AISDHabitat for Humanity at AISD
Habitat for Humanity at AISD
 
The Role Social is Playing in Customer Service - Today, Tomorrow and in the F...
The Role Social is Playing in Customer Service - Today, Tomorrow and in the F...The Role Social is Playing in Customer Service - Today, Tomorrow and in the F...
The Role Social is Playing in Customer Service - Today, Tomorrow and in the F...
 
Ecologia trabajo
Ecologia trabajoEcologia trabajo
Ecologia trabajo
 
Gerencia de proyectos
Gerencia de proyectosGerencia de proyectos
Gerencia de proyectos
 

Ähnlich wie Struktur data (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 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhsPertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhs
 
Array & Struktur Data (pert 7&8).pdf
Array & Struktur Data (pert 7&8).pdfArray & Struktur Data (pert 7&8).pdf
Array & Struktur Data (pert 7&8).pdf
 
Pengenalan pascal
Pengenalan pascalPengenalan pascal
Pengenalan pascal
 
asjaskjk eakejakj hasjahsjah shajshajsh sajsha j
asjaskjk eakejakj hasjahsjah shajshajsh  sajsha jasjaskjk eakejakj hasjahsjah shajshajsh  sajsha j
asjaskjk eakejakj hasjahsjah shajshajsh sajsha j
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
04. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 604. DATA dan VARIABEL Visual Basic Versi 6
04. DATA dan VARIABEL Visual Basic Versi 6
 
Pertemuan 2 ok
Pertemuan 2 okPertemuan 2 ok
Pertemuan 2 ok
 
05. array
05. array05. array
05. array
 
Array lanjutan
Array lanjutanArray lanjutan
Array lanjutan
 
Data structure bab 1
Data structure   bab 1Data structure   bab 1
Data structure bab 1
 
Sd bab 2 (array)
Sd bab 2 (array)Sd bab 2 (array)
Sd bab 2 (array)
 
Pertemua ke V.doc
Pertemua ke V.docPertemua ke V.doc
Pertemua ke V.doc
 
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
 
Array
ArrayArray
Array
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATA
 
MATERI TYPE DATA.pptx
MATERI TYPE DATA.pptxMATERI TYPE DATA.pptx
MATERI TYPE DATA.pptx
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Pert 5
Pert 5Pert 5
Pert 5
 
Pert 5
Pert 5Pert 5
Pert 5
 

Kürzlich hochgeladen

Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
FitriaSarmida1
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
furqanridha
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
MaskuratulMunawaroh
 

Kürzlich hochgeladen (20)

KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptxPPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
Bioteknologi Konvensional dan Modern kelas 9 SMP
Bioteknologi Konvensional dan Modern  kelas 9 SMPBioteknologi Konvensional dan Modern  kelas 9 SMP
Bioteknologi Konvensional dan Modern kelas 9 SMP
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 
sistem digesti dan ekskresi pada unggas ppt
sistem digesti dan ekskresi pada unggas pptsistem digesti dan ekskresi pada unggas ppt
sistem digesti dan ekskresi pada unggas ppt
 
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.pptPenyuluhan DM Tipe II Kegiatan Prolanis.ppt
Penyuluhan DM Tipe II Kegiatan Prolanis.ppt
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 

Struktur data

  • 1. Struktur Data BADRI MUNAWAR, S.KOM AMIK WIRANUSANTARA RANGKASBITUNG 1
  • 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) 56 44 baris) 42 36 1 A(1,1) = 56 A(1,2) = 44 A89 = 73 2 A(2,1) = 42 A(2,2) = 36 65 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. 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 ∗ Fixed-length stringM R I A N D R I A 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 ∗ Variablesstring Fixed-length nama : string[5] ∗ Variable-length string Variables nama : string 19
  • 20. Operasi pada String ∗ Concatenation ∗ Penggabungan dua atau lebih string ∗ Contoh : A = “AMIK” B = “Wiranusantara” C = A + B maka C = “AMIKWiranusantara” 20
  • 21. Operasi pada String [2] ∗ Substring ∗ Mengambil bagian dari suatu string ∗ Contoh A = “AMIK” B = “Wiranusantara” C = Left(A, 4) D = Right(B, 4) E = Substr(A, 4, 4) maka C = “amik” D = “wira” 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 ∗ Notasi “with” End Begin with mahasiswa do NPM := ‘51292215’ Nilai := 90.5 Lulus := True end with End 24
  • 25. Array Record (Tabel) ∗ Kumpulan dua atau lebih record ∗ Variable Deklarasi Array Record 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 berisi32 bilangan terbesar
  • 33. 33