ALGORITMA dan STRUKTUR DATA Multi LinkedList Variasi LinkedList

  • Slides: 15
Download presentation
ALGORITMA dan STRUKTUR DATA Multi Linked-List Variasi Linked-List Bernadus Anggo Seno Aji

ALGORITMA dan STRUKTUR DATA Multi Linked-List Variasi Linked-List Bernadus Anggo Seno Aji

2 Multi Linked List dimana setiap node bisa memiliki pointer ke lebih dari satu

2 Multi Linked List dimana setiap node bisa memiliki pointer ke lebih dari satu node Double linked list termasuk multi linked list Merepresentasikan hubungan Parent-child (induk-anak) Tree Graph 2/25/2021

3 Multi Linked List – relasi parent child Modifikasi list linier biasa atau double

3 Multi Linked List – relasi parent child Modifikasi list linier biasa atau double linked list agar mereka dapat bekerja dengan lebih baik pada kasus yang ditangani Bertujuan mengilustrasikan relasi antar data Relasi 1 to N tree Relasi N to M graph Dalam bentuk : List di dalam list Hubungan antara 2 atau leibih list 2/25/2021

4 Contoh : Student - Class Misalnya kita ingin menyimpman data siswa dan relasinya

4 Contoh : Student - Class Misalnya kita ingin menyimpman data siswa dan relasinya dengan kelas Apa relasi yang dihasilkan? Relasi 1 to N (1 ke banyak) 2/25/2021

5 Contoh : Student - Class Type infotype_student < id : string name :

5 Contoh : Student - Class Type infotype_student < id : string name : string > Type infotype_class < class_name: string supervisor : string > Type adr_student : pointer to elm_student Type adr_class : pointer to elm_class Type elm_student < info : infotype_student next : adr_student > Type elm_class < info : infotype_class next : adr_class > 2/25/2021

6 Contoh : Student - Class Type list_student < first : adr_student > Type

6 Contoh : Student - Class Type list_student < first : adr_student > Type list_class < first : adr_class > L 1 : list_student L 2 : list_class 2/25/2021

7 Contoh : Student - Class Bagaimana menggambarkan relasi antar data? 2/25/2021

7 Contoh : Student - Class Bagaimana menggambarkan relasi antar data? 2/25/2021

Variasi 1 (1 -N) 8 2/25/2021

Variasi 1 (1 -N) 8 2/25/2021

Contoh : Student - Class 9 1 -to-n relation L 1 A / B

Contoh : Student - Class 9 1 -to-n relation L 1 A / B / C L 2 X Y Z / / D / / Cara termdah adalah dengan menambahkan sebuah pointer di dalam elm_student yang menunjuk pada sebuah elm_class, yang menunjukkan kelas siswa yang bersangkutan 2/25/2021

10 Contoh : Student - Class Type infotype_student < id : string name :

10 Contoh : Student - Class Type infotype_student < id : string name : string > Type adr_student : pointer to elm_student Type elm_student < info : infotype_student next : adr_student next. Class : adr_class > Type infotype_class < class_code : string class_name : string credit : integer > Type adr_class : pointer to elm_class Type elm_class < info : infotype_class next : adr_class > 2/25/2021

11 Operasi Insert Student dan Insert Class Tidak ada perubahan Search Student dan Search

11 Operasi Insert Student dan Insert Class Tidak ada perubahan Search Student dan Search Class Tidak ada perubahan Set Class untuk satu Student Search Class dari satu Student Search Student (1 atau lebih) dari sebuah Class 2/25/2021

12 Operasi Delete Student Tidak ada perubahan Delete Relation Delete Class 2/25/2021

12 Operasi Delete Student Tidak ada perubahan Delete Relation Delete Class 2/25/2021

13 Procedure Set Class Procedure set_class(i/o: L 1: list_student, i: L 2 : list_class,

13 Procedure Set Class Procedure set_class(i/o: L 1: list_student, i: L 2 : list_class, id : string, class : string) Dictionary P : adr_student Q : adr_class Algorithm P search_student(L 1, id) Q search_class(L 2, class) if ( P ≠ Nil and Q ≠ Nil ) then next. Class(P) Q 2/25/2021

14 Procedure Delete Class Procedure del_class(i/o: L 1: list_student, L 2 : list_class, i:

14 Procedure Delete Class Procedure del_class(i/o: L 1: list_student, L 2 : list_class, i: class : string) Dictionary P : adr_student Q : adr_class Algorithm Q search_class(L 2, class) if ( Q ≠ Nil ) then P first(L 1) while (P ≠ Nil) do if ( next. Class(P) = Q ) then next. Class(P) = Nil P next(P) delete. Class (L 2, Q) 2/25/2021

Terimakasih

Terimakasih