PRAKTIKUM 5

 PRAKTIKUM 5: Mengimplementasikan struktur data dasar


Praktekan Latihan Berikut:


❖ Implementasikan sebuah program dalam bahasa C yang menggunakan array untuk menyimpan

daftar nama siswa. Program tersebut harus memiliki menu pilihan untuk menambahkan nama

siswa baru, mencetak semua nama siswa, dan mencari nama siswa berdasarkan indeks.

Implementasikan juga validasi input pengguna untuk menghindari akses di luar batas array.

❖ Implementasikan sebuah program dalam bahasa C yang menggunakan linked list untuk

menyimpan daftar angka. Program tersebut harus memiliki menu pilihan untuk menambahkan

angka baru ke linked list, mencetak semua angka dalam linked list, dan menghapus angka

tertentu dari linked list. Pastikan program juga dapat menangani kasus di mana linked list

kosong atau mencari angka yang tidak ada dalam linked list.

❖ Implementasikan sebuah program dalam bahasa C yang menggunakan stack untuk melakukan

evaluasi ekspresi aritmatika sederhana. Program tersebut harus menerima input ekspresi

aritmatika dalam bentuk postfix (notasi terbalik) dan menghitung hasilnya. Pastikan program

juga dapat mengatasi kesalahan dalam ekspresi yang tidak valid.

❖ Implementasikan sebuah program dalam bahasa C yang menggunakan queue untuk mengelola

antrian pelanggan dalam sebuah bank. Program tersebut harus memiliki menu pilihan untuk

menambahkan pelanggan ke dalam antrian, memproses pelanggan berikutnya, dan mencetak

semua pelanggan dalam antrian. Pastikan program juga dapat menangani kasus antrian kosong

atau pemrosesan pelanggan jika tidak ada pelanggan dalam antrian.

1. Jawaban Soal Implementasi Array

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini

codingan

hasilnya


Analisis

Program ini menggunakan array dua dimensi nama[MAX_SIZE][50] untuk menyimpan daftar nama siswa. Variabel jumlahSiswa digunakan untuk melacak jumlah siswa yang telah ditambahkan ke dalam array.Pilihan 1: Program meminta pengguna untuk memasukkan nama siswa dan menambahkannya ke dalam array. Jika kapasitas array belum tercapai, nama siswa ditambahkan dan jumlahSiswa ditingkatkan.Jika kapasitas array sudah tercapai, program memberikan pesanbahwa kapasitas maksimum telah tercapai.Pilihan 2: Program mencetak semua nama siswa dalam array jikaada, atau memberikan pesan bahwa belum ada nama siswa yang ditambahkan.Pilihan 3: Program meminta pengguna untuk memasukkan indeks nama siswa yang ingin dicari. Jika indeks valid (antara 0 hingga 
jumlahSiswa-1), program mencetak nama siswa yang sesuai dengan indeks tersebut. Jika indeks tidak valid, program memberikan pesan kesalahan. Pilihan 0: Program keluar dari loop dan selesai. Default: Jika pengguna memasukkan pilihan yang tidak valid, program memberikan pesan kesalahan.

2. Jawaban Soal Implementasi Linked List
▪ Buka Text Editor Code::Blocks,
▪ Pilih menu klik file → New→Empty File
▪ Ketikan koding di bawah ini

Codingan






Hasilnya


Analisa program

Program ini menggunakan linked list untuk menyimpan daftar
angka. Struktur data Node digunakan untuk merepresentasikan
setiap elemen dalam linked list, dengan data dan pointer ke
node berikutnya. Pointer head menunjuk ke elemen pertama dalam
linked list.

Fungsi tambahAngka digunakan untuk menambahkan angka ke linked
list. Jika linked list masih kosong, elemen baru langsung
menjadi elemen pertama. Jika linked list sudah berisi elemen,
elemen baru ditambahkan pada akhir linked list.
Fungsi cetakAngka mencetak semua angka dalam linked list. Jika
linked list kosong, pesan "Linked list kosong" dicetak.
Fungsi hapusAngka digunakan untuk menghapus angka dari linked
list. Jika angka yang akan dihapus berada di elemen pertama,
pointer head diubah untuk menunjuk ke elemen berikutnya. Jika
angka berada di tengah atau akhir linked list, pointer prev
dan current digunakan untuk mengubah pointer sebelumnya
sehingga melompati elemen yang akan dihapus.

3. Jawaban Soal Implementasi Stack

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini

Codingan




Hasilnya


Anilisis

Program ini menggunakan array untuk mengimplementasikan stack.

Struktur data Stack terdiri dari array data yang menyimpan

elemen stack dan variabel top yang menunjukkan indeks elemen

teratas stack.

Fungsi inisialisasi digunakan untuk menginisialisasi stack

dengan mengatur top ke nilai -1, menandakan stack kosong.

Fungsi isEmpty dan isFull digunakan untuk memeriksa apakah

stack kosong atau penuh.

Fungsi push digunakan untuk menambahkan elemen ke stack. Jika

stack penuh, pesan "Stack penuh" dicetak.

Fungsi pop digunakan untuk menghapus dan mengembalikan elemen

teratas dari stack. Jika stack kosong, pesan "Stack kosong"

dicetak.

Fungsi peek digunakan untuk melihat elemen teratas dari stack

tanpa menghapusnya. Jika stack kosong, pesan "Stack kosong"

dicetak.

Program utama mengatur interaksi dengan stack. Beberapa elemen

ditambahkan ke stack menggunakan fungsi push. Kemudian, elemen

teratas dilihat menggunakan fungsi peek. Selanjutnya, satu

elemen dihapus menggunakan fungsi pop, dan elemen teratas

dilihat lagi.


4. Jawaban Soal Implementasi Queue

▪ Buka Text Editor Code::Blocks,

▪ Pilih menu klik file → New→Empty File

▪ Ketikan koding di bawah ini

Codingan




Hasilnya


Analisa program

Program ini menggunakan array untuk mengimplementasikan queue. Struktur data Queue

terdiri dari array data yang menyimpan elemen-elemen queue, dan variabel front dan rear

yang menunjukkan indeks elemen terdepan dan elemen terbelakang queue.

Fungsi inisialisasi digunakan untuk menginisialisasi queue dengan mengatur front dan rear

ke nilai -1, menandakan queue kosong.

Fungsi isEmpty dan isFull digunakan untuk memeriksa apakah queue kosong atau penuh.

Fungsi enqueue digunakan untuk menambahkan elemen ke queue. Jika queue penuh, pesan

"Queue penuh" dicetak. Jika queue kosong, front diatur ke 0. Elemen baru ditambahkan ke

posisi rear yang ditambah 1 (dengan penggunaan modulo untuk menyediakan penumpukan

siklik jika rear mencapai batas maksimum).

Fungsi dequeue digunakan untuk menghapus dan mengembalikan elemen terdepan dari

queue. Jika queue kosong, pesan "Queue kosong" dicetak. Jika hanya ada satu elemen dalam

queue, front dan rear diatur kembali ke nilai awal. Jika ada lebih dari satu elemen, front

diatur ke posisi elemen berikutnya menggunakan modulo.

Fungsi peek digunakan untuk melihat elemen terdepan dari queue tanpa menghapusnya. Jika

queue kosong, pesan "Queue kosong" dicetak.

Program utama mengatur interaksi dengan queue. Beberapa elemen ditambahkan ke queue

menggunakan fungsi enqueue. Kemudian, elemen terdepan dilihat menggunakan fungsi

peek. Selanjutnya, satu elemen dihapus menggunakan fungsi dequeue, dan elemen terdepan

dilihat lagi.

Comments

Popular posts from this blog

PRAKTIKUM 11: Menggunakan struktur data tree dalam pemrograman

PRAKTIKUM 3: Menggunakan fungsi dan prosedur dalam pemrograman

1 .pengantar pemrograman