Anda di halaman 1dari 15

PRAKTIKUM RECORD/STRUCT

STRUKTUR DATA DAN ANALISIS ALGORITMA

DI SUSUN OLEH :
MUHAMMAD AKBAR YUNUS

TEKNIK KOMPUTER DAN JARINGAN

2021
PRAKTIKUM 3
RECORD/STRUCT

1. Tujuan
1. Menjelaskan struktur data struct (struktur)
2. Mendeklarasikan struct
3. Memanfaatkan struct dalam pemrograman

2. Daftar Alat dan Bahan


1. Personal Komputer 1 Unit
2. Software yang sudah ada

3. Keselamatan Kerja
1. Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power
Supply.
2. Matikan komputer setelah praktikum selesai.

4. Langkah Kerja
Buatlah program untuk soal-soal di bawah ini
1. Membuat struct untuk buku dengan deklarasi manual.
Ketentuan : yang harus disimpan adalah judul buku, tahun terbit dan harga buku
#include <stdio.h>
#include <conio.h>
typedef struct buku{
char judul[15];
int tahun_terbit;
int harga;
};
void main(){
buku book;
printf("Judul buku : ");
scanf("%s",&book.judul); // gunakan gets untuk judul buku
lebih dari satu kata
printf("Tahun terbit: ");
scanf("%i",&book.tahun_terbit);
printf("Harga : ");
scanf("%i",&book.harga);
printf("\nJudul buku : %s\n",book.judul);
printf("Tahun terbit : %i\n",book.tahun_terbit);
printf("Harga : %i",book.harga);
}

2, Memasukkan nama dan tanggal lahir


#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
struct data_tanggal{ //definisi tipe data_tunggal
int tanggal;
int bulan;
int tahun;
};

struct data_rekan //definisi tipe data_rekan


{
char nama[31];
struct data_tanggal tgl_lahir;
};
struct data_rekan info_rekan; //deklarasi variabel
strcpy(info_rekan.nama,"Boa Salosa");
info_rekan.tgl_lahir.tanggal=15;
info_rekan.tgl_lahir.bulan=5;
info_rekan.tgl_lahir.tahun=1985;

//penampilan elemen variabel struktur


printf("Nama : %s\n",info_rekan.nama);
printf("Tanggal lahir : %d-%d-%d\n",
info_rekan.tgl_lahir.tanggal,
info_rekan.tgl_lahir.bulan,
info_rekan.tgl_lahir.tahun);
}

3. Menampilkan tanggal ulang tahun seorang mahasiswa


/* File program student1.c
Mengisi field dr variabel struktur kemudian menampilkannya */
#include <stdio.h>
#include <string.h>
struct date { /* definisi global dari tipe date */
int month;
int day;
int year;
};
struct student{ /* definisi global dari tipe student */
char name[30];
struct date birthday;
};
/* deklarasi global dari variabel mhs*/
struct student mhs;
main()
{
/* memberikan nilai kepada field dari struktur mhs */
strcpy(mhs.name, "MUHAMMAD IRFAN");
mhs.birthday.month = 8;
mhs.birthday.day = 10;
mhs.birthday.year =1970;
/* menampilkan isi semua field dari struktur mhs */
printf("Nama %s\n", mhs.name);
printf("Birthday %d-%d-%d\n", mhs.birthday.month,
mhs.birthday.day, mhs.birthday.year);
}
4. Mengecek zodiak seseorang
/* File program zodiak.c
Menentukan zodiak berdasarkan data tanggal lahir masukan */
#include <stdio.h>
main()
{
struct zodiak {
char nama[11];
int tgl_awal;
int bln_awal;
int tgl_akhir;
int bln_akhir;
};
struct zodiak bintang = {"Sagitarius",22,11,21,12};
int tgl_lhr, bln_lhr, thn_lhr;
printf("Masukkan tgl lahir Anda (XX-XX-XXXX) ");
scanf("%d-%d-%d",&tgl_lhr, &bln_lhr, &thn_lhr);
if(tgl_lhr-bintang.tgl_awal+(bln_lhr-bintang.bln_awal) *30 > 0
&& bintang.tgl_akhir-bintang.tgl_awal + (bintang.bln_akhir-
bintang.bln_awal) * 30)
printf("Bintang Anda adalah %s\n",bintang.nama);
else
printf("Bintang Anda bukan %s\n",bintang.nama);
}

5. Melewatkan struktur ke dalam fungsi


#include"stdio.h"
#include"conio.h"
struct data_tanggal
{
int tanggal;
int bulan;
int tahun;
};
void cetak_info_tanggal(struct data_tanggal unit_tgl);
void main()
{
struct data_tanggal saat_proses = {12,9,1989};
cetak_info_tanggal(saat_proses);
getch();
}
void cetak_info_tanggal(struct data_tanggal unit_tgl)
{
static char *nama_bulan[]= {"Kode bulan salah!",
"Januari","Februari","Maret","April","Mei",
"Juni","Juli","Agustus","September","Oktober",
"November","Desember"};
printf("%d %s %d\n",unit_tgl.tanggal,
nama_bulan[unit_tgl.bulan], unit_tgl.tahun);
}

5. Tugas dan Pertanyaan


1. Buatlah struct untuk data lagu yang berisi tentang judul lagu, penyanyi, tahun
produksi, nomor track dan kode album.
Ketentuan :
 Program ini akan memiliki dua buah struct, yaitu struct lagu dan struct kodeRBT.
 Jumlah data yang diinputkan dinamis (maks. 3 lagu)

#include <stdio.h>

struct DataLagu {
char *JudulLagu;
char *Penyanyi;
char *KodeAlbum;
int NoTrack;
int TahunProduksi;
};

struct RBT {
char *KodeRBT;
};

int main(){

struct DataLagu Lagu1, Lagu2, Lagu3;


struct RBT KodeRBT1, KodeRBT2, KodeRBT3;

Lagu1.JudulLagu = "Always";
Lagu1.Penyanyi = "Rex Orange County";
Lagu1.TahunProduksi = 2019;
Lagu1.NoTrack = 302;
Lagu1.KodeAlbum = "ROC3";
KodeRBT1.KodeRBT = "REX302";

Lagu2.JudulLagu = "Pluto Projector";


Lagu2.Penyanyi = "Rex Orange County";
Lagu2.TahunProduksi = 2019;
Lagu2.NoTrack = 307;
Lagu2.KodeAlbum = "ROC3";
KodeRBT2.KodeRBT = "REX307";

Lagu3.JudulLagu = "10/10";
Lagu3.Penyanyi = "Rex Orange County";
Lagu3.TahunProduksi = 2019;
Lagu3.NoTrack = 301;
Lagu3.KodeAlbum = "ROC3";
KodeRBT3.KodeRBT = "REX301";

printf("\t Data Lagu 1\n");


printf("\t Judul Lagu \t\t: %s\n", Lagu1.JudulLagu);
printf("\t Penyanyi \t\t: %s\n", Lagu1.Penyanyi);
printf("\t Tahun Produksi \t: %d\n", Lagu1.TahunProduksi);
printf("\t Nomor Track \t\t: %d\n", Lagu1.NoTrack);
printf("\t Kode Album \t\t: %s\n", Lagu1.KodeAlbum);
printf("\t Kode RBT \t\t: %s\n\n", KodeRBT1.KodeRBT);

printf("\t Data Lagu 2\n");


printf("\t Judul Lagu \t\t: %s\n", Lagu2.JudulLagu);
printf("\t Penyanyi \t\t: %s\n", Lagu2.Penyanyi);
printf("\t Tahun Produksi \t: %d\n", Lagu2.TahunProduksi);
printf("\t Nomor Track \t\t: %d\n", Lagu2.NoTrack);
printf("\t Kode Album \t\t: %s\n", Lagu2.KodeAlbum);
printf("\t Kode RBT \t\t: %s\n\n", KodeRBT2.KodeRBT);

printf("\t Data Lagu 3\n");


printf("\t Judul Lagu \t\t: %s\n", Lagu3.JudulLagu);
printf("\t Penyanyi \t\t: %s\n", Lagu3.Penyanyi);
printf("\t Tahun Produksi \t: %d\n", Lagu3.TahunProduksi);
printf("\t Nomor Track \t\t: %d\n", Lagu3.NoTrack);
printf("\t Kode Album \t\t: %s\n", Lagu3.KodeAlbum);
printf("\t Kode RBT \t\t: %s\n\n", KodeRBT3.KodeRBT);
}

2. Definisikan sebuah struktur (misalkan namanya = record) yang memiliki 3 buah


field berupa sebuah integer (misalkan namanya = loop), sebuah array karakter dengan
5 elemen (misalkan namanya = word) dan sebuah float (misalkan namanya = sum).

#include <stdio.h>

struct DataTahanan {
int NoTahanan;
char *NamaTahanan;
float TingkatKriminalitas;
};

3. Deklarasikan sebuah variabel struktur (misalkan namanya = sample) yang


didefinisikan memiliki tipe struktur record.
int main(){

struct DataTahanan Tahanan1;

4. Masukkan nilai 10 kepada field loop dari struktur sample yang bertipe struktur
record tsb.

Tahanan1.NoTahanan = 10;

5. Tampilkan ke layar (menggunakan fungsi printf()) string yang tersimpan dalam


array word dari struktur sample.

Tahanan1.NamaTahanan = "Gatta";

printf("Nama Tahanan \t\t: %s\n\n",


Tahanan1.NamaTahanan);
}

6. Definisikan sebuah struktur (misalkan namanya = date) yang memiliki 3 field


bertipe int (misalkan namanya = day, month dan year). Kemudian tuliskan potongan
program untuk memasukkan 5 buah tanggal yang disimpan

#include <stdio.h>

struct Date{
char *month;
int day, year;
};

int main(){

struct Date Date1, Date2, Date3, Date4, Date5;

Date1.day = 21;
Date1.month = "January";
Date1.year = 2002;
Date2.day = 23;
Date2.month = "March";
Date2.year = 2002;

Date3.day = 6;
Date3.month = "April";
Date3.year = 2002;

Date4.day = 24;
Date4.month = "Juni";
Date4.year = 2002;

Date5.day = 30;
Date5.month = "September";
Date5.year = 1966;

printf("%d %s %d\n\n", Date1.day, Date1.month,


Date1.year);
printf("%d %s %d\n\n", Date2.day, Date2.month,
Date2.year);
printf("%d %s %d\n\n", Date3.day, Date3.month,
Date3.year);
printf("%d %s %d\n\n", Date4.day, Date4.month,
Date4.year);
printf("%d %s %d\n\n", Date5.day, Date5.month,
Date5.year);
}
5. Hasil dan Analisa
 Program 1 (Nomor 1)
Program ini menggunakan struct untuk menyimpan data lagu seperti judul,
penyanyi, tahun produksi, nomor track, dan semacamnya. Data-data seperti ini
memang diharuskan menggunakan struct yang tidak harus memiliki satu tipe data
saja.

 Program 2 (Nomor 2-5)

Program ini menggunakan struct untuk menyimpan data integer dan char lalu
pada bagian akhir, program akan mencetak salah satu isi dari struct tersebut.
 Program 3 (Nomor 6)
Program ini memiliki output mencetak 2 tipe data sekaligus dimana tanggal
yang bertipe data integer dicetak bersamaan dengan bulan yang bertipe data string

Anda mungkin juga menyukai