Pengertian Struktur Data

advertisement
AchmadYasid










Pengenalan
Array dan Record
Procedure dan Fungsi
Sorting
Searching
Stack
Queue
Link List dan variasinya
Double link list
Tree

Struktur data adalah cara menyimpan atau
merepresentasikan data di dalam komputer
agar bisa dipakai secara efisien

Data  Representasi fakta dari dunia nyata

Fakta atau keterangan tentang kenyataan
yang disimpan, direkam atau
direpresentasikan dalam bentuk tulisan,
suara, gambar, sinyal atau simbol
Tipe data dapat dikategorikan menjadi :
 1. Type data sederhana
 a. Type data sederhana tunggal, misalnya Integer,
real, boolean dan karakter
 b. Type data sederhana majemuk, misalnya String

2. Struktur Data, meliputi
 a. Struktur data sederhana, misalnya array dan
record

b. Struktur data majemuk, yang terdiri dari
 Linier : Stack, Queue, serta List dan Multilist
 Non Linie

Pemakaian struktur data yang tepat di dalam
proses pemrograman akan menghasilkan
algoritma yang lebih jelas dan tepat,sehingga
menjadikan program secara keseluruhan
lebih efisien dan sederhanar : Pohon Biner
dan Graph


Bit
Hanya mengandung dua nilai. Biasa kita
kenal 0 atau 1 atau True atau False.
Group/gabungan dari bits lazim disebut
word
Boolean (logical)
Hanya mempunyai dua nilai. True atau False.
Operator boolean seperti : And, Or, Not, Xor
.

Character
Himpunan character. Misalkan :
Bilangan decimal {1,2,3,…,8,9}
Huruf besar {A,B,C,….,Y,Z}



Integer
Bilangan bulat yang mempunyai nilai antara
batas bawah dan batas atas.
Real atau Floating Point
Angka dengan bilangan dibelakang koma



Array  struktur data statik yang
menyimpan sekumpulan elemen dengan tipe
data yang sama
Setiap elemen diakses langsung melaui
indeknya
Indeks larik harus tipe data yang menyatakan
keterurutan misalnya integer atau karakter




Banyaknya elemen larik harus sudah
diketahui sebelum program dieksekusi.
Tipe elemen larik dapat berupa tipe
sederhana,tipe terstruktur atau tipe larik lain.
Nama lain array adalah Larik, tabel atau
vektor
Array dapat berupa array 1 dimensi, 2
dimensi, bahkan n-dimensi.

1. Sebagai Peubah
Contoh :
L : array[1..25] of integer
NamaMhs : array[‘a’..’j’] of string
2. Sebagai tipe baru
Contoh :
type LarikInt : array[1..25] of integer
P : LarikInt
3. Mendefinisikan ukuran maksimum elemen larik
sebagai konstanta
Contoh :
Const Nmaks = 10
type Larikint : array[1..Nmaks] of integer
P : LarikInt

Cara menterjemahkan ke bahasa C :
#define Nmaks 10
typedef int Larikint[Nmaks+1];
Larikint P;
Elemen larik diacu melalui indeksnya.
Nilai indek harus terdefinisi.
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 }
menginisialisasi elemen larik adalah memberikan harga awal untuk
seluruh elemen larik, misalnya menginisialisasi 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 : integer
Deskripsi :
for k  1 to N do
A[k] 0
endfor
􀁺 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 : integer
Deskripsi :
for k  1 to N do
read (A[k])
endfor
#include <stdio.h>
void main()
{
char data[3];
/* Mengisi elemen array */
data[1]='A';
data[2]='B';
data[3]='C';
/*Menampilkan data dari array */
printf("%c \n",data[1]);
printf("%c \n",data[2]);
printf("%c \n",data[3]);
}
#include <stdio.h>
#include <conio.h>
void main()
{
int nilai[5],x;
printf("Masukkan nilai :\n");
for (x=0;x<5;x++)
{
printf("Nilai Angka : "); scanf("%d",&nilai[x]);
}
printf("\n");
}
printf("Membaca nilai :\n");
for (x=0;x<5;x++)
{
printf("Nilai Angka : %d \n",nilai[x]);
}
getch();
#include <stdio.h>
#include <conio.h>
int main()
{ int bil[7] = {0};
for (int i=0;i<7;i++)
{
printf("Elemen ke-%i= %d\talamat:
%x\n",i,bil[i],&bil[i]);
}
getch();
return 0;
}

1. Buat Array 1 dimensi yang berisi data
Nama Mahasiswa dengan maks indek =10
dan inputkan serta tampilkan data nama
mahasiswa pada array tersebut.
Gunakan Bahasa Pemrograman C
Download