Professional Documents
Culture Documents
OLEH:
1. RIJAL ABBAD FAKHRILLAH
NRP:312353211019
D3PSDKU LAMONGAN
JURUSAN D3 TEKNIK INFORMATIKA
Percobaan
1. Percobaan 1 : Implementasi antrian dengan array
Source Code: #include <stdio.h>
#define MAX 10
typedef struct {
int Item[MAX];
int Front;
int Rear;
int Count;
} Queue;
int main()
{
Queue q;
int data;
Inisialisasi(&q);
Tambah(&q,11);
Tambah(&q,12);
Tambah(&q,13);
Tambah(&q,14);
Tambah(&q,15);
Tambah(&q,16);
Tambah(&q,17);
Tambah(&q,18);
Tambah(&q,19);
Tambah(&q,20);
Tambah(&q,21);
Tampil(&q);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
Tampil(&q);
return 0;
}
Screnshoot:
2. Percobaan 2 : Implementasi circular queue
Source Code:
#include <stdio.h>
#define MAX 10
typedef struct {
int Item[MAX];
int Front;
int Rear;
int Count;
} Queue;
int main()
{
Queue q;
int data;
Inisialisasi(&q);
Tambah(&q, 11);
Tambah(&q, 12);
Tambah(&q, 13);
Tambah(&q, 14);
Tambah(&q, 15);
Tambah(&q, 16);
Tambah(&q, 17);
Tambah(&q, 18);
Tambah(&q, 19);
Tambah(&q, 20);
Tambah(&q, 21);
Tampil(&q);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
data = Hapus(&q);
printf("\nHapus Item = %d ", data);
Tampil(&q);
return 0;
}
Screnshoot:
Latihan
3. Implementasikan studi kasus simulasi tempat parkir dengan ketentuan sebagai berikut :
a. Gunakan struktur data dengan elemen data berupa Nomor mobil.
b. Gunakan struktur data array.
c. Buatlah sebuah flowchart yang meliputi proses
Mobil masuk.
Mobil paling depan keluar.
Mobil tengah keluar disertai proses penampungan mobil sementara, memasukkan mobil
dari penampungan sementara dan menyusun tempat parkir kembali.
Source Code:
#include <stdio.h>
#define MAX_SIZE 10
typedef struct {
int nomor_mobil;
} Mobil;
typedef struct {
Mobil mobil[MAX_SIZE];
int jumlah_mobil;
} TempatParkir;
// Mobil tengah keluar dari tempat parkir dengan proses penampungan sementara
void mobil_keluar_tengah(TempatParkir *parkir) {
if (parkir->jumlah_mobil > 2) {
printf("Mobil dengan nomor %d keluar dari tempat parkir.\n", parkir->mobil[parkir-
>jumlah_mobil / 2].nomor_mobil);
// Penampungan sementara
Mobil temp = parkir->mobil[parkir->jumlah_mobil / 2];
// Geser mobil setelah mobil tengah ke depan
for (int i = parkir->jumlah_mobil / 2 + 1; i < parkir->jumlah_mobil - 1; i++) {
parkir->mobil[i - 1] = parkir->mobil[i];
}
parkir->jumlah_mobil--;
int main() {
TempatParkir parkir;
inisialisasi(&parkir);
// Mobil masuk
mobil_masuk(&parkir, 101);
mobil_masuk(&parkir, 102);
mobil_masuk(&parkir, 103);
mobil_masuk(&parkir, 104);
tampilkan_tempat_parkir(&parkir);
return 0;
}
Screnshot: