• Tidak ada hasil yang ditemukan

LAPORAN TUGAS AKHIR PRAKTIKUM STRUKTUR D (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN TUGAS AKHIR PRAKTIKUM STRUKTUR D (1)"

Copied!
15
0
0

Teks penuh

(1)

LAPORAN TUGAS AKHIR

PRAKTIKUM STRUKTUR DATA

Oleh:

Ahmad Mulyadi

1607111863

Aldi Maulana

1607115925

Hariyo Sasongko

1607122328

Yogi Redho Sandri

1607114206

PRODI TEKNIK INFORMATIKA S1

JURUSAN TEKNIK ELEKTRO

FAKUTAS TEKNIK

UNIVERSITAS RIAU

(2)

Tugas Akhir Praktikum Struktur Data

Semester Genap Tahun Ajaran 2016-2017

Program Studi Teknik Informatika S1 Universitas Riau

Dosen Pengampu: Salhazan Nasution, S.Kom,MIT

Program Data Mahasiwa dan Daftar Hadir

1.

Listing Program

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <conio.h> #include<windows.h> #define max 5

#define QSIZE 20

void program_linkedlist(); void program_struct (); void program_stack (); void program_queue ();

struct data_mahasiswa {

char nama[20]; char jurusan[20]; char nim[15]; char umur[5];

char mata_kuliah[10]; };

main() {

int pilihan; char ulangulang;

puts("\t\t============================================ =====");

puts("\t\tPROGRAM TUGAS AKHIR STRUKTUR DATA KELOMPOK 7 TI A");

puts("\t\t============================================ =====");

do {

(3)

printf("\n1. Program Linked List"); printf("\n2. Program Struct"); printf("\n3. Program Stack"); printf("\n4. Program Queue"); printf("\n\nPilih Program : "); scanf("%d",&pilihan);

system("cls"); switch (pilihan) {

case 1 : program_linkedlist (); break; case 2 : program_struct(); break; case 3 : program_stack (); break; case 4 : program_queue (); break;

}

printf("\n\nKembali ke Menu Pilihan Model Program? (y/t) ");

scanf("%s",&ulangulang); system("cls");

}

while ((ulangulang=='y')||(ulangulang=='Y')); printf("\n\n\nTerima Kasih\n");

}

void program_linkedlist() {

struct simpulku {

char nama[20]; int nim;

int umur;

char matakuliah[20];

struct simpulku *next_simpul; };

int main();

simpulku *simpul1, *simpul2, *simpul3, *simpul4, *simpul5, *temp;

simpul1=(simpulku *)malloc(sizeof(simpulku)); simpul2=(simpulku *)malloc(sizeof(simpulku)); simpul3=(simpulku *)malloc(sizeof(simpulku)); simpul4=(simpulku *)malloc(sizeof(simpulku));

strcpy(simpul1->nama, "Adi"); strcpy(simpul2->nama, "Aldi"); strcpy(simpul3->nama, "Hariyo"); strcpy(simpul4->nama, "Yogi");

(4)

simpul4->nim = 1607114206;

simpul1->umur=18; simpul2->umur=20; simpul3->umur=19; simpul4->umur=18;

strcpy(simpul1->matakuliah, "RPL"); strcpy(simpul2->matakuliah, "KCV"); strcpy(simpul3->matakuliah, "Jarkom"); strcpy(simpul4->matakuliah, "RPL"); simpul1->next_simpul=NULL;

puts("\t\t\t\tMENU DATA MAHASISWA");

puts("\t**********************************************

|",>nama, >nim,>umur, temp->matakuliah);

temp=temp->next_simpul;

printf("\n\t| %2s | %d | %d th | %2s

|" ,>nama, >nim,>umur, temp->matakuliah);

temp=temp->next_simpul;

printf("\n\t| %2s | %d | %d th | %2s

|",>nama, >nim,>umur, temp->matakuliah);

temp=temp->next_simpul;

printf("\n\t| %2s | %d | %d th | %2s

(5)

void program_struct () {

struct data_mahasiswa {

char nama[20]; char jurusan[20]; char nim[15]; char umur[5];

char mata_kuliah[10]; };

data_mahasiswa krw[4]; int i;

for (i=0;i<4;i++) {

printf("Silahkan Masukkan Data %d Mahasiswa Kelompok 7 \n", i+1);

printf("Nama = "); scanf("%s",krw[i].nama);

printf("Jurusan = "); scanf("%s",krw[i].jurusan); printf("NIM = "); scanf("%s",krw[i].nim);

printf("Umur = "); scanf("%s",krw[i].umur); printf("Mata Kuliah = ");

scanf("%s",krw[i].mata_kuliah); printf("\n");

}

printf("Data Mahasiswa Kelompok 7\n");

printf("\n\n---\n\n");

for (i=0;i<4;i++) {

printf("Data Mahasiswa Kelompok 7 %d \n\n",i+1);

printf("Nama : %s \n",krw[i].nama);

printf("Jurusan : %s \n",krw[i].jurusan);

printf("NIM : %s \n",krw[i].nim);

printf("Umur : %s \n",krw[i].umur);

printf("Mata Kuliah : %s

\n",krw[i].mata_kuliah); printf("\n\n"); }

getch(); }

struct stack{ int top;

int data[max]; };

stack tumpukan; void createEmpty(){

(6)

}

int isEmpty(){

if(tumpukan.top==-1) return 1;

else return 0; }

int isFull(){

if(tumpukan.top==max-1) return 1;

else return 0; }

void push(int x){

tumpukan.top=tumpukan.top+1;

void cetak(){ int i;

i=tumpukan.top; while(i!=-1) {

printf("%d \n", tumpukan.data[i]); i--;

} }

void program_stack() {

int input,pilih, tes=0,tes1=0,ke=0,da=5; while(pilih !=5)

{

system("cls");

puts("MENU DAFTAR HADIR MAHASISWA"); puts("========================"); puts("1. Cek Daftar Hadir Mahasiswa"); puts("2. Tambah Data Kehadiran"); puts("3. Kosongkan Daftar hadir");

puts("4. Lihat Daftar Hadir Mahasiswa"); puts("5. Keluar");

printf("\npilihan: "); scanf("%d", &pilih); switch(pilih)

{

case 1: if(isEmpty()==1)

puts("\nDaftar hadir masih kosong !");

(7)

puts("\nDaftar hadir sudah terisi");

else

puts("\ndafar hadir sudah penuh !");

getch(); break;

case 2: if(isFull()==1) {

puts("\nDaftar hadir sudah penuh");

printf("masukkan data: ",tes1+1);

scanf("%d",&input); push(input);

} break;

case 3: if(isEmpty()==1)

puts("\nDaftar hadir masih kosong !");

else {

printf("\ndata %d telah dokosongkan dari daftar

hadir\n",tumpukan.data[tumpukan.top]); pop(); }

getch(); break;

case 4: if(isEmpty()==1)

puts("\ndaftar hadir masih kosong !");

else {

printf("\n");

puts("isi teratas daftar hadir adalah: ");

cetak(); }

getch(); break;

case 5: puts("\nterima kasih"); break;

} }

(8)

typedef struct {

int count; int head,tail;

char names[QSIZE][20]; char jurusan[QSIZE][20]; }QUEUE;

char *enqueue(char *); char* dequeue();

void tampil();

void inisialisasi();

QUEUE *pq;

void program_queue() {

char jurusan[20]; char str[30]; int pil; QUEUE q; pq=&q;

inisialisasi();

puts ("\t\t\t\tPROGRAM ANTRIAN ");;

do {

printf("\n");

printf("| Menu & Operasi Program Tumpukan : \n"); printf("|--- \n"); printf("| 1. Input Nama dan Jurusan\n");

printf("| 2. Hapus Nama Yang Telah Selesai \n"); printf("| 3. Tampilkan data Antrian \n");

printf("| 4. Keluar \n"); printf("\nPilih Menu : "); scanf("%d",&pil);

switch(pil) {

case 1: printf("\nMasukkan Data Nama Anda : "); fflush(stdin);

gets(str);

printf("\nJurusan : "); scanf("%s",&jurusan); puts(enqueue(str)); break;

case 2: puts(dequeue()); break;

(9)

break;

case 4: goto exit;

break;

default: printf("\nInput yang dimasukkan Anda Salah!!");

}

fflush(stdin);

}

while(1);

exit :

printf("\n\n\t\t\t TERIMA KASIH \n"); }

void inisialisasi() {

pq->head = pq->tail = pq->count= 0; }

char* enqueue(char *p) {

if(pq->count==QSIZE)

return "\n\n\t\t Error: Antrian penuh"; pq->tail= (pq->tail)%QSIZE;

strcpy(pq->names[(pq->tail)++],p); pq->count++;

return "\nDataBerhasil Dimasukkan"; }

char* dequeue() {

if(pq->count==0)

return "\n\n\t\t Error: Antrian Kosong"; pq->head= (pq->head)%QSIZE;

pq->count--;

printf("\nData yang Dihapus adalah\n:"); return pq->names[(pq->head)++];

}

void tampil() {

int i=pq->head; int x=0;

if(pq->count==0)

printf("Antrian Kosong\n"); else

{

(10)

if(i==QSIZE) i%=QSIZE;

printf(" \t%s <--",pq->names[i]); printf(" \t%s <--",pq->jurusan[i]); i++;

x++; }

} }

(11)
(12)
(13)
(14)
(15)

Referensi

Dokumen terkait

Dengan mengucapkan puji syukur kehadirat Tuhan Yang Maha Esa, atas limpahan rahmat dan karunia-Nya, sehingga penyusun dapat menyelesaikan Laporan Akhir Praktikum

Tujuan Penyusunan Tugas Akhir ini adalah untuk memenuhi syarat kelulusan bagi setiap mahasiwa program studi D-III Teknik Informatika di Fakultas Matematika dan Ilmu Pengetahuan

Program Studi D3 Teknik Informatika. Politeknik

Pengaruh Model Problem Based Learning Dan Project Based Learning Terhadap Hasil Belajar IPA Siswa SD Program Studi S1 Pendidikan Guru Sekolah Dasar, FKIP

Mahasiswa Program Strata 1 (S1) FKIP Universitas Riau, pada akhir masa studinya diwajibkan untuk menulis karya ilmiah yang disebut dengan Skripsi sebagai syarat untuk

Mahasiswa Program Strata 1 (S1) FKIP Universitas Riau, pada akhir masa studinya diwajibkan untuk menulis karya ilmiah yang disebut dengan Skripsi sebagai syarat untuk

D3 Manajemen Informatika STIE Adhi Unggul Bhirawa Surakarta Page 45 Dosen pembimbing diharapkan dapat membantu mahasiswa untuk menyelesaikan kewajibannya tepat waktu agar

...selaku Ketua Program Studi S1 Manajemen Fakultas Ekonomi dan Bisnis Institut Informatika Darmajaya sekaligus selaku dosen pembimbing yang telah meluangkan waktunya untuk membimbing