Struktur data bahasa C

 a. Konsep dasar struktur data dalam Bahasa C.

Struktur data adalah cara untuk mengorganisir dan menyimpan data dalam memori komputer agar

dapat diakses dan dikelola dengan efisien. Dalam bahasa pemrograman C, terdapat beberapa

konsep dasar struktur data yang umum digunakan untuk memanipulasi data secara efektif.

• Jenis-Jenis Struktur Data dalam Bahasa C:

✓ Array: Array adalah tipe data yang digunakan untuk menyimpan kumpulan elemen dengan

tipe data yang sama. Elemen-elemen array diindeks berdasarkan posisi mereka dalam

array.

✓ Linked List: Linked list adalah struktur data dinamis yang terdiri dari simpul-simpul yang

saling terhubung. Setiap simpul (node) menyimpan data dan pointer ke simpul berikutnya.

✓ Stack: Stack adalah struktur data yang mengikuti prinsip LIFO (Last In First Out). Operasi

penambahan (push) dan penghapusan (pop) dilakukan pada elemen teratas stack.

✓ Queue: Queue adalah struktur data yang mengikuti prinsip FIFO (First In First Out).

Operasi penambahan (enqueue) dilakukan pada ujung belakang queue, sedangkan operasi

penghapusan (dequeue) dilakukan pada ujung depan queue.

• Operasi pada Struktur Data dalam Bahasa C:

✓ Pencarian: Mencari elemen tertentu dalam struktur data.

✓ Penambahan: Menambahkan elemen baru ke dalam struktur data.

✓ Penghapusan: Menghapus elemen dari struktur data.

✓ Pengurutan: Mengurutkan elemen dalam struktur data berdasarkan aturan tertentu.

✓ Akses: Mengakses elemen dalam struktur data untuk membaca atau mengubah nilainya.


• Keuntungan Penggunaan Struktur Data dalam Bahasa C:

✓ Efisiensi: Struktur data yang tepat dapat mengoptimalkan penggunaan memori dan waktu

eksekusi program.

✓ Modularitas: Struktur data memungkinkan pemisahan dan pengelompokan data terkait

menjadi satu unit yang dapat digunakan berulang kali.

✓ Keterbacaan: Struktur data yang terorganisir dengan baik membuat kode program lebih

mudah dipahami dan dikelola.

✓ Fleksibilitas: Struktur data dalam bahasa C memungkinkan penggunaan berbagai teknik

pemrograman, seperti rekursi dan pengulangan.


b. Mengimplementasikan kelas dan objek dalam pemrograman berorientasi objek dalam

Bahasa C

Dalam pemrograman, array, linked list, stack, dan queue adalah struktur data yang digunakan

untuk mengorganisir dan menyimpan kumpulan elemen. Setiap struktur data memiliki

karakteristik dan operasi yang berbeda-beda, memungkinkan pengelolaan data secara efisien

tergantung pada kebutuhan aplikasi.

• Array:

✓ Pengertian: Array adalah struktur data statis yang terdiri dari elemen-elemen dengan tipe

data yang sama. Elemen-elemen array disimpan secara berurutan dalam memori dan

diindeks untuk pengaksesan.

✓ Implementasi: Dalam bahasa pemrograman, array dapat dideklarasikan dan diakses

menggunakan indeks. Contoh: int numbers[5]; numbers[0] = 1;

• Linked List:

✓ Pengertian: Linked list adalah struktur data dinamis yang terdiri dari simpul-simpul yang

saling terhubung melalui pointer. Setiap simpul (node) menyimpan data dan pointer ke

simpul berikutnya.

✓ Implementasi: Linked list dapat diimplementasikan menggunakan node yang berisi data

dan pointer. Operasi seperti penambahan, penghapusan, dan pencarian dapat dilakukan

dengan mengubah pointer pada simpul-simpul yang terhubung.

• Stack:

✓ Pengertian: Stack adalah struktur data yang mengikuti prinsip LIFO (Last In First Out).

Elemen terakhir yang ditambahkan akan menjadi elemen pertama yang dihapus.

✓ Implementasi: Stack dapat diimplementasikan menggunakan array atau linked list. Operasi

push (penambahan) dan pop (penghapusan) dilakukan pada elemen teratas stack.

• Queue:

✓ Pengertian: Queue adalah struktur data yang mengikuti prinsip FIFO (First In First Out).

Elemen pertama yang ditambahkan akan menjadi elemen pertama yang dihapus.

Implementasi: Queue dapat diimplementasikan menggunakan array atau linked list.

Operasi enqueue (penambahan) dilakukan pada ujung belakang queue, sedangkan operasi

dequeue (penghapusan) dilakukan pada ujung depan queue.

Keuntungan Menggunakan Struktur Data:

• Memungkinkan pengorganisasian data secara efisien.

• Memudahkan operasi pengaksesan, penambahan, dan penghapusan data.

• Meningkatkan keterbacaan dan modularitas kode program.

• Mengoptimalkan penggunaan memori dan waktu eksekusi program.


kali ini saya akan mebuat program implementasi array

#include <stdio.h>
#include <string.h>

#define MAX_SIZE 100

int main() {
char nama[MAX_SIZE][50];
int jumlahSiswa = 0;

printf("Program Daftar Nama Siswa\n");
printf("-------------------------\n");

int pilihan;
do {
printf("Menu:\n");
printf("1. Tambahkan Nama Siswa\n");
printf("2. Cetak Semua Nama Siswa\n");
printf("3. Cari Nama Siswa Berdasarkan Indeks\n");
printf("0. Keluar\n");
printf("Pilihan Anda: ");
scanf("%d", &pilihan);





switch (pilihan) {
case 1:
if (jumlahSiswa < MAX_SIZE) {
printf("Masukkan Nama Siswa: ");
scanf("%s", nama[jumlahSiswa]);
jumlahSiswa++;
printf("Nama Siswa berhasil ditambahkan.\n");
} else {
printf("Kapasitas maksimum telah tercapai. Tidak dapatmenambahkan nama siswa lagi.\n");
}
break;
case 2:
if (jumlahSiswa > 0) {
printf("Daftar Nama Siswa:\n");
for (int i = 0; i < jumlahSiswa; i++) {
printf("%d. %s\n", i, nama[i]);
}
} else {
printf("Belum ada nama siswa yang ditambahkan.\n");
}
break;
case 3:
if (jumlahSiswa > 0) {
int indeks;
printf("Masukkan Indeks Nama Siswa: ");
scanf("%d", &indeks);

if (indeks >= 0 && indeks < jumlahSiswa) {
printf("Nama Siswa dengan Indeks %d: %s\n", indeks,
nama[indeks]);
} else {


printf("Indeks tidak valid. Masukkan indeks antara 0 hingga%d.\n", jumlahSiswa - 1);
}
} else {
printf("Belum ada nama siswa yang ditambahkan.\n");
}
break;
case 0:
printf("Terima kasih. Program selesai.\n");
break;
default:
printf("Pilihan tidak valid. Silakan pilih menu yangtersedia.\n");
break;
}

printf("\n");
} while (pilihan != 0);

return 0;
}

output :


Comments

Popular posts from this blog

If, If-else, For Loop, While Loop, Do-While Loop dengan Bahasa C

konsep dasar algoritma graf