Skip to content

yeszi/avl-prefix-search-csv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌳 Student Data Search Engine (AVL Tree)

Language Structure Course

Tugas Praktikum Struktur Data - Modul 12 > Implementasi algoritma pencarian cepat menggunakan Balanced Binary Search Tree (AVL).


πŸ“– Deskripsi Project

Project ini adalah transformasi dari sistem pendataan berbasis Linked List (Modul 9) menjadi sistem berbasis AVL Tree. Tujuan utamanya adalah meningkatkan efisiensi pencarian data mahasiswa.

Sistem ini memuat data dari file CSV ke dalam dua pohon AVL sekaligus:

  1. πŸ”’ Tree NIK: Data diurutkan dan diseimbangkan berdasarkan Nomor Induk Kependudukan.
  2. πŸ‘€ Tree NAMA: Data diurutkan dan diseimbangkan berdasarkan Nama (case-insensitive).

Dengan struktur ini, kompleksitas pencarian menjadi O(log n), jauh lebih cepat dibandingkan pencarian linear pada Linked List O(n).


✨ Fitur Utama

  • Dual AVL Tree Storage: Data disimpan redundan dalam dua pohon terpisah untuk fleksibilitas pencarian.
  • Auto-Balancing: Mengimplementasikan rotasi otomatis (Left, Right, Left-Right, Right-Left) untuk menjaga pohon tetap seimbang.
  • Prefix Search: Fitur pencarian canggih (seperti autocomplete).
    • Cari NIK 19 β†’ Muncul semua angkatan 19.
    • Cari NAMA Budi β†’ Muncul Budi Santoso, Budi Hartono, dll.
  • CSV Data Loader: Membaca data eksternal (data1.csv) secara otomatis saat program dijalankan.
  • Interactive Menu: Antarmuka CLI yang user-friendly.

πŸ› οΈ Struktur Data

Program ini menggunakan struct custom untuk menyimpan informasi mahasiswa:

typedef struct Data {
    char nik[20];   
    char nama[50];  
    char jk[10];   
} Data;

typedef struct Node {
    Data data;
    int height;
    struct Node *left, *right;
} Node;

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages