Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Algoritma dan Struktur Data Tipe Data: Array dan String
Macam Tipe Data Tipe data digunakan untuk menentukan batasan nilai yang digunakan suatu peubah (variabel) Macam tipe data : Tipe Sederhana (primitif) Tipe Terstruktur Tipe String Tipe Reference/Pointer
Tipe Data Sederhana Disebut juga tipe data skalar, yaitu suatu tipe data yang memungkinkan sebuah peubah untuk menyimpan sebuah nilai Macam tipe sederhana : Tipe ordinal/integral ShortInt, Integer, LongInt, Byte, Word subrange, dan enumerated Tipe floating point/real Real, Single, Double, Extended Tipe char Char Tipe boolean Boolean
Tipe Data Terstruktur Adalah suatu tipe data yang membolehkan sebuah peubah untuk menyimpan lebih dari satu data Macam tipe terstruktur : Tipe Larik (Array) Tipe Rekaman (Record/Struct) Tipe Objek (Objek/Class) Tipe Himpunan (Set/Enum) Tipe Berkas (File)
Larik (Array) Adalah suatu struktur data yng dapat menyimpan sekumpulan elemen dengan tipe yang sama Larik disimpan pada memory yang berurutan pada komputer Berbeda dengan variabel biasa yang hanya bisa menyimpan sebuah nilai Nama lain : tabel, vektor atau peubah majemuk
Penggunaan Larik Bila dibutuhkan suatu tempat penyimpanan (di memory) yang dapat menyimpan banyak data dengan jenis data yang seragam
Deklarasi Larik Larik adalah struktur data yang Statik, artinya jumlah elemen larik harus sudah diketahui sebelum program dieksekusi Ada 2 cara mendeklarasikan (Pada TP) : 1. Sebagai Peubah, misal : Data : array[0..4] of integer; 2. Sebagai Tipe Baru, misal : Type Data : array[0..4] 0f integer; var Nilai: Data; Nim : Data; Inisialisasi biasanya memberikan nilai harga awal pada seluruh elemen larik. Biasanya digunakan nilai 0 (nol) atau ' ' (karakter kosong).
Memproses Larik 1 Dimensi Untuk mengakses dan memprosesnya digunakan Indeks. Contoh : Larik A yang memiliki 4 elemen, biasa ditulis : A[0], A[1], A[2],A[3] Misal WriteLn(A[0]); A[0] := 10;
Array MultiDimensi adalah suatu array/larik yang memiliki dimensi dgn indeks lebih dari satu dapat juga disebut sebagai suatu array yang beranggotakan elemen yang juga berupa suatu array Contoh : Matrik, dan Tabel
Karakteristik Array Multi Dimensi Karena juga merupakan suatu array, maka semua elemennya harus memiliki tipe data yang sama Merupakan struktur data yang statik, artinya jumlah elemennya sudah harus ditentukan terlebih dahulu sebelum progran dijalankan, dan jumlah tersebut tidak dapat diubah ketika program dijalankan
Pemanfaatan Memory pada Array Multi Dimensi Semakin banyak Dimensi arraynya, semakin besar memory yang digunakan Contoh : untuk array 2 dimensi berukuran 4 x 4 berari membutuhkan tempat 16 ruang memory Penyimpanan pada komputernya tetap tersusun sebagai memory yang berurutan
Deklarasi Array Multi Dimensi sama seperti pendeklarasian suatu array, tetapi indexnya jumlahnya lebih dari satu Contoh : Data : array [1..4,1..4] of integer; Keluarga : array[1..50,1..4,1..4] of integer; Inisialisasi sama seperti array 1 dimensi
Memproses Larik Multi Dimensi diproses berdasarkan indexnya indexnya sebanyak dimensi arraynya di dalam pemrograman biasanya digunakan looping bersarang/yang bertumpuk (looping dalam looping) Larik A yang memiliki dimensi 1x3, biasa ditulis : A[0][0], A[0][1], A[0],A[3] Misal WriteLn(A[0][1]); A[0][3] := 10;
Enumerasi Konstanta dengan tipe array/list yang bisa diakses menggunakan indeks berupa nama Contoh: type Status = (Active, Passive, Waiting); StatusMap = array[Status] of string[7]; const StatStr: StatusMap = ('Active', 'Passive', 'Waiting');
Memproses Enumerasi contoh nilai yang diisikan ke StatStr: StatStr[Active] = 'Active' StatStr[Passive] = 'Passive' StatStr[Waiting] = 'Waiting'
Subrange Subrange adalah kelompok/himpunan nilai yang dibuat dari kelompok yang sudah ada sebelumnya. Deklarasi Subrange: type RangeName = Low..High; Misal: type AdultMemberAge = ; type Players = (GoalKeeper, RightDefender, Stopper, Libero, LeftDefender, MiddleLeft, MiddleCenterLeft, MiddleCenterRight, MiddleRight, Forward1, Forward2 ); type MiddleCourt = MiddleLeft..MiddleRight;
String String pada dasarnya merupakan rentetan karakter ( char ). Konstanta string ditulis dengan awalan dan akhiran null terminated char ('') dgn kode ASCII #0, String 'Hello‘ Deklarasi string: str: string[10]; str: string; contoh pertama array str dapat menyimpan 10 elemen bertipe char. Hello\0