STRUKTUR DATA
Rabu, 03 Juli 2013
Kamis, 05 Juli 2012
Rangkuman Mata Muliah Struktur Data"
A. Pembuka:
Nama Mahasiswa: ade imam malik
Nim: 6311023
Alamat:jln sukaati gang sukaati7
Kelas saat ini:1.TI-7
Nama Matakuliah:struktur data
Nama Dosen:dadan nurdin bagenda
Nama Kampus: pkn&stimik lpkia bandung
gambar pemetannnya:
Nama Mahasiswa: ade imam malik
Nim: 6311023
Alamat:jln sukaati gang sukaati7
Kelas saat ini:1.TI-7
Nama Matakuliah:struktur data
Nama Dosen:dadan nurdin bagenda
Nama Kampus: pkn&stimik lpkia bandung
gambar pemetannnya:
struktur data
struktur data:cara penyimpanan data yang berupa fakta,klau secara rinci struktur itu adalah koleksi dari variabel yang dinyatakan dengan sebuah nama dengan sifat setiapa variabel dapat memiliki tife yang berlainan.
yang pertama di bahas didalam sesi pertama adalah tentang linier dan non linier:
pengertian linier--->Fungsi Linier atau fungsi berderajat satu ialah fungsi yang pangkat tertinggi dari
LINKED LIST
Linked list merupakan suatu variabel yang bertipe
pointer yang membentuk
suatu
untaian yang saling berhubungan. Tiap untaian tersebut diletakkan pada
memory.
Tempat yang disediakan pada suatu area memori tertentu untuk
menyimpan
data dikenal dengan sebutan Node/Simpul.
kalau linier itu mempunyai /terbagi menjadi 2 bagian yaitu:
- single lingkd list
- double lingkd list
single lingkd list ===== sebuah node yang dihubungkan secara linier dengan bantuan pointer
contoh ilustrasinya seperti ini : --->---->------>-----> (1 arah)
ada juga beberapa hal yang menyangkut tentang single lingkd list:
1.lingkd list selalu memiliki pointer petunjuk yang selalu menunjuk pada awal dari list yang di sebut head.
2.lingkd list juga selalu memliki pointer petunjuk untuk menunjuk pada akhir dari list yang disebut TAIL, kecuali untuk jenis circular.
Double Linked List (DLL) adalah suatu cara pengolahan data yang bekerja
dengan record dalam jumlah besar, sehingga membutuhkan alokasi memori
dinamis yang besar pula. DLL biasanya digunakan pada saat alokasi memori
konvensional tidak lagi bisa diandalkan. ---><---><---><----><--- (2 arah)
Macam-macam double lingkd list sekaligus definisinya
A.1 Definisi dari lingkd list yang circular
Double Linked List Circular adalah linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya , 1 field menunjuk pointer sebelumnya serta sebuah field yang berisi data untuk node tersebut.
B.2 Definisi dari lingkd list yang non circularDouble Linked List Circular adalah linked list dengan menggunakan pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang menunjuk pointer berikutnya , 1 field menunjuk pointer sebelumnya serta sebuah field yang berisi data untuk node tersebut.
Double
Linked List Non Circular adalah linked list dengan menggunakan pointer,
dimana setiap node memiliki 3 field, yaitu 1 field pointer yang
menunjuk pointer berikutnya dan 1 field menunjuk pointer sebelumnya serta sebuah field yang berisi data untuk node tersebut.
yang non linier terbagi3:
-tree
-binary tree
-graph
single lingkd list non circular
hapus list terbagi 4 bagian:
-statis
-di depan:
Fungsi ini akan menghapus data terdepan yang ditunjuk oleh head. Penghapusan tidak boleh dilakukan jika keadaaanya ditunjuk oleh pointer
Fungsi ini akan menghapus data terdepan yang ditunjuk oleh head. Penghapusan tidak boleh dilakukan jika keadaaanya ditunjuk oleh pointer
contoh hapus di depan
void hapusdepan()
{
if(head==NULL)
{
printf("data
belum ada");
}
else
if(head->next!=NULL)
{
hapus=head;
head=head->next;
delete hapus;
printf("Data
Terhapus\n");
}
else
{
head=NULL;
printf("Data
Terhapus\n");
}
}
ilustrasi hapus depan:
HAPUS(menunjuk ke A)
A------>B------->C------->D----->NULL
head(menunjuk ke A) tail(menunjuk ke D)
B------->C-------D------>NULL
head(jd menunjuk ke B) tail(menunjuk ke D)
-di belakang
Karena adanya tail, maka penghapusan data dibelakang lebih mudah dilakukan. Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer. Oleh karena itu dilakukan penujukan terlebih dahulu variable hapus pada tail.
Karena adanya tail, maka penghapusan data dibelakang lebih mudah dilakukan. Penghapusan node tidak boleh dilakukan jika keadaan node sedang ditunjuk oleh pointer. Oleh karena itu dilakukan penujukan terlebih dahulu variable hapus pada tail.
contoh hapus di belakang
void
hapusbelakang()
{
bantu=head;
if(head==NULL)
{
printf("data
belum ada");
}
else
if(head==tail)
{
head=NULL;
printf("Data
Terhapus\n");
tail=NULL;
}
else
{
hapus=tail;
while(bantu->next!=tail)
{
bantu=bantu->next;
}
tail=bantu;
tail->next=NULL;
delete hapus;
printf("Data
Terhapus\n");
}
}
-di tengah
tambah list terbagi 4 bagian:
di depan:
Penambahan node baru
akan dikaitkan di gerbong paling depan. Tetapi jika data masih kosong, maka
penambahan data dilakukan denagn cara menunjuk head pada gerbong tersebut.
di belakang:
Penambahan data dibelakang
akan selalu dikaitkan dengan tail karena tail selalu berada di paling belakang
gerbong. setelah dikaitakn dengan node, maka node tersebut menjadi tail yang
baru.
contoh program tambah list di belakang:
void
tambahbelakang(int databaru)
{
baru = new gerbong;
baru->data=databaru;
baru->next=NULL;
if(head==NULL)
{
head=baru;
head->next=NULL;
tail=baru;
tail->next=NULL;
}
else
{
tail->next=baru;
tail=baru;
}
printf("data
masuk\n");
}
- di tengah
Tambah depan
Penambahan node baru
akan dikaitkan di gerbong paling depan. Tetapi jika data masih kosong, maka
penambahan data dilakukan denagn cara menunjuk head pada gerbong tersebut.
Ilustrasi Tambah depan :
| baru | ||
| A ------->B----->C----->D-----> NULL |
FFFF FFFF FFFF FFFF
head(menunjuk ke A) TAIL(menunjuk ke D)
data baru ditambahkan
Langganan:
Postingan (Atom)