Struktur Data -Review Materi Awal- -...
Transcript of Struktur Data -Review Materi Awal- -...
Struktur Data-Review Materi Awal-
Nisa’ul Hafidhoh
Teknik Informatika - S1
RENCANA KEGIATAN PERKULIAHAN SEMESTER
W Pokok Bahasan
1 Pendahuluan
2 Review Materi
3 Stack
4 Queue
5 Single Linked List [1]
6 Single Linked List [2]
7 Review 1-6
8 Ujian Tengah Semester
W Pokok Bahasan
9 Stack dengan Representasi List
10 Queue dengan Representasi List
11 Double Linked List [1]
12 Double Linked List [2]
13 Tree
14 Graph
15 Review 9-14
16 Ujian Akhir Semester
Outline
• Tipe data
• Array
• ADT
• Pointer
Tipe Data
• Pola representasi suatu data dalamkomputer -> menentukan secara internal data disimpan
• Jenis:
– Tipe Data Dasar / Primitif
Tipe data yang tersedia / didefinisikan dalamsuatu bahasa
– Tipe Data Bentukan / Komposisi /ADT
Tipe data yang disusun dari berbagai tipedata dasar
Tipe Data Dasar
a. Huruf/Kumpulan Huruf
– 1 Huruf Saja :: Character :: char
– > 1 Huruf : : String :: char VarName[99]
b. Angka/Bilangan
– Bil. Bulat :: Integer :: int
– Bil. Pecahan :: Real/Float :: float
Array
• Tipe yang mengacu kepada sekumpulanelemen yang banyak dan bertipe samamelalui indeks
• Deklarasi: tipe_data nama_var_array [ukuran_indeks];
• Akses:
nama_var_array [indeks]
1 2 3 4 5 . . . n
X
X(1) X(2) X(3) X(4) X(5) X(n)
Contoh Array
• Deklarasi Arr untuk 10 elemen, input & output nilai sesuai data yang dimasukanint main()
{
int x[10],i,n;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&x[i]);
for(i=0;i<n;i++)
printf("%d",x[i]);
return 0;
}
ADT
• Tipe data bentukan yang disusun dariberbagai tipe data dasar
• Contoh terdapat data teman terdiri dari:
Nama JK Umur
Indah P 25
Dikumpulkan menjadi: Dalam C:char nama[30];
char JK;
int umur
struct teman
{
char nama[30];
char JK;
int umur
};
ADT
• Penggunaan ADT teman
struct teman kuliah;
• Jumlah banyak
– struct teman kuliah[10];
– Variabel kuliah bertype data teman denganARRAY
Pointer
• Menunjuk kepada nama yang diacu sehinggainformasi pada nama dapat diakses
• Memungkinkan alokasi dinamik memori barudialokasi berdasarkan kontrol pemrogram.
jika sudah tidak dibutuhkan, dapat di dealokasi(harus hati - hati)
• Dalam bahasa C, nilai variabel bertype pointer dapat dimanipulasi sebagaimana halnya nilainumerik
Pointer
• Format deklarasi
<type> * <nama>;
Contoh :int *i; /*pointer ke integer*/
float *f; /*pointer ke real*/
char *cc; /*pointer ke character*/
int *(T)[10]; /*pointer ke array dg 10 elemen integer*/
int *T[10]; /*pointer ke array dg 10 elemen bertype
pointer ke integer*/
Operator
• Operator address of ‘&’ digunakan untukmendapatkan alamat memori dari operandnya.
&almt -> address
• Operator reference ‘*’ digunakan untukmendapatkan nilai dari operandnya
*almt -> value
Contoh
Output?
int main()
{
int x,y;
int *ptr;
ptr=&x;
printf("%p\n",ptr);
printf("%p\n",&x);
printf("%d\n",x);
y=*ptr;
printf("%d\n",y);
*ptr=120;
printf("%d\n",x);
ptr=&y;
printf("%p\n",ptr);
*ptr=50;
printf("%d\n",y);
return 0;
}
Terimakasih