Modul 5 Praktikum Struktur Data
TUGAS PENYERAHAN LAPORAN PRAKTIKUM STRUKTUR DATA
FAKULTAS
ILMU KOMPUTER
PRODI
SISTEM INFORMASI
UNIVERSITAS
KUNINGAN
Disusun Oleh:
Riqi Tricahyo(20160910064)
SI 2016 B
Modul 5 Struktur
Dasar Teori :
Struktur
merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data.
Masing – masing elemen data tersebut dinamakan field atau elemen struktur.
Field tersebut dapat memiliki tipe data yang sama ataupun berbeda – beda,
meskipun field tersebut merupakan satu kesatuan namun bisa diakses secara
individu
Struktur
dan array mempunyai kesamaan dan perbedaan, kesamaannya yaitu alokasi emory
untuk elemen – elemen nya sudah ditenteukan sebelum program dijalankan.
Perbedaannya, array adalah struktur data yang elemen – elemennya bertipe data
harus sama, dan elemen tersebut diakses melalui indeks sedangkan struktur
adalah sebuah struktur data yang tipe data dari elemen – elemen nya tidak harus
sama dan elemen tersebut diakses melalui identifier atau nama variabel.
PRAKTIKUM
1
Studi Kasus
Buatlah program pengisian data pribadi seseorang beserta dengan identitas yang melekat pada pribadi tersebut dengan menggunakan fungsi struktur dalam pemrograman bahasa C/C++.
Syntaknya
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main
()
{
struct
{
char nama[50];
char
alamat[100];
float no_hp;
char ortu[50];
char pekerjaan[50];
char lulusan[50];
}mahasiswa;
clrscr ();
cout<<"===
PROGRAM INPUT DATA DIRI ==="<<endl<<endl;
printf("Masukan
Nama\t\t= ");
scanf("%s",&mahasiswa.nama);
cout<<"Masukan
Alamat\t\t= ";
cin>>mahasiswa.alamat;
printf("Masukan
Nomor HP\t= ");
scanf("%d",&mahasiswa.no_hp);
cout<<"Masukan
Nama Ibu Kandung\t= ";
cin>>mahasiswa.ortu;
printf("Masukan
Pekerjaan Bapak = ");
scanf("%s",&mahasiswa.pekerjaan);
cout<<"Masukkan
Pendidikan Orang tua = ";
cin>>mahasiswa.lulusan;
clrscr();
cout<<"\n\n
Data Yang di Masukan Adalah :\n\n";
printf("Nama\t\t=
%s\n",mahasiswa.nama);
printf("Alamat\t\t=
%s\n",mahasiswa.alamat);
printf("Nomor
HP\t\t= %.0f\n",mahasiswa.no_hp);
cout<<"Nama
Ibu Kandung = "<<mahasiswa.ortu<<endl;
cout<<"Pekerjaan
Bapak = "<<mahasiswa.pekerjaan<<endl;
cout<<"Pendidikan
Terakhir = "<<mahasiswa.lulusan<<endl;
getch ();
return 0;
}
Hasilnya
Analisisnya
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
struct
{
char nama[50];
char
alamat[100];
float no_hp;
char ortu[50];
char pekerjaan[50];
char lulusan[50];
}mahasiswa;
Variabel struct dalam program ini diberi nama data dan juga mempunyai objek yang dinamakan mahasiswa, yang berarti bahwa di dalam kita menggunakan variabel struct ini dapat diakses dengan cara “mahasiswa.nama variabel”.
cout<<"===
PROGRAM INPUT DATA DIRI ==="<<endl<<endl;
printf("Masukan
Nama\t\t= ");
scanf("%s",&mahasiswa.nama);
cout<<"Masukan
Alamat\t\t= ";
cin>>mahasiswa.alamat;
printf("Masukan
Nomor HP\t= ");
scanf("%d",&mahasiswa.no_hp);
cout<<"Masukan
Nama Ibu Kandung\t= ";
cin>>mahasiswa.ortu;
printf("Masukan
Pekerjaan Bapak = ");
scanf("%s",&mahasiswa.pekerjaan);
cout<<"Masukkan
Pendidikan Orang tua = ";
cin>>mahasiswa.lulusan;
clrscr();
cout<<"\n\n
Data Yang di Masukan Adalah :\n\n";
printf("Nama\t\t=
%s\n",mahasiswa.nama);
printf("Alamat\t\t=
%s\n",mahasiswa.alamat);
printf("Nomor
HP\t\t= %.0f\n",mahasiswa.no_hp);
cout<<"Nama
Ibu Kandung = "<<mahasiswa.ortu<<endl;
cout<<"Pekerjaan
Bapak = "<<mahasiswa.pekerjaan<<endl;
cout<<"Pendidikan
Terakhir = "<<mahasiswa.lulusan<<endl;
getch ();
return 0;
}
Selanjutnya ini seperti sebelum sebelumnya dimana syntax ini hanya menginput serta memberi outoutnya saja di mana menggunakan cout dan juga cin dan juga memakai printf dan juga scanf, yang padahal dalam sebuah fungsi itu sama ajah.
PRAKTIKUM
2
Buatlah program dengan menggunakan struktur tentang biaya kuliah mahasiswa dengan ketentuan sebagai berikut:
1.D3
SPP Tetap = Rp. 500
SPP Variabel = Rp. 250/sks
2. S1
SPP Tetap = Rp. 750
SPP Variabel = Rp. 500/sks
Syntaknya
#include<conio.h>
#include<iostream.h>
struct
mhs
{
char
nama[20],nim[10],prodi[2];
int
sks,program;
}bayar;
main()
{
int
var,tetap;
cout<<"Nama
Mahasiswa : ";cin>>bayar.nama;
cout<<"NIM
Mahasiswa : ";cin>>bayar.nim;
cout<<"Prodi[TI
SI MI]: ";cin>>bayar.prodi;
input:
cout<<"Program
[1 = D3 / 2 = S1] :“;cin>>bayar.program;
if(bayar.program
< 1 || bayar.program > 2)
{
cout<<"Program
Tidak Sesuai";
goto
input;
}
cout<<"Jumlah
SKS : ";cin>>bayar.sks;
if(bayar.program
== 1)
{
tetap
= 500;
var
= bayar.sks * 250;
}
else
if(bayar.program
== 2)
{
tetap
= 750;
var
= bayar.sks * 500;
}
cout<<"
"<<endl;
//Out
Put
cout<<"\n-----------------------------------------\n";
cout<<"\t\tOUT
PUT";
cout<<"\-----------------------------------------\n";
cout<<"
Nama =
"<<bayar.nama<<endl;
cout<<"
NIM = "<<bayar.nim<<endl;
cout<<"
Prodi =
"<<bayar.prodi<<endl;
cout<<"
Program=“<<bayar.program<<endl;
cout<<"
Jumlah SKS =Rp.
"<<bayar.sks<<endl;
cout<<"
Biaya SPP Tetap =Rp.
"<<tetap<<endl;
cout<<"
Biaya SPP Variabel =Rp. "<<var<<endl;
getch();
return
0;
}
Analisisnya
#include<conio.h>
#include<iostream.h>
Diprogram ini menggunakan 2 file header yaitu ada file header iostream.h dan juga ada conio.h
di mana kedua program ini mempunyai fungsi yang berbeda. seperti yang saya telah beri tahu di pertemuan yang sebelumnya.
struct
mhs
{
char
nama[20],nim[10],prodi[2];
int
sks,program;
}bayar;
main()
{
int
var,tetap;
cout<<"Nama
Mahasiswa : ";cin>>bayar.nama;
cout<<"NIM
Mahasiswa : ";cin>>bayar.nim;
cout<<"Prodi[TI
SI MI]: ";cin>>bayar.prodi;
input:
cout<<"Program
[1 = D3 / 2 = S1] :“;cin>>bayar.program;
if(bayar.program
< 1 || bayar.program > 2)
{
cout<<"Program
Tidak Sesuai";
goto
input;
}
cout<<"Jumlah
SKS : ";cin>>bayar.sks;
if(bayar.program
== 1)
{
tetap
= 500;
var
= bayar.sks * 250;
}
else
if(bayar.program
== 2)
{
tetap
= 750;
var
= bayar.sks * 500;
}
cout<<"
"<<endl;
//Out
Put
cout<<"\n-----------------------------------------\n";
cout<<"\t\tOUT
PUT";
cout<<"\-----------------------------------------\n";
cout<<"
Nama =
"<<bayar.nama<<endl;
cout<<"
NIM = "<<bayar.nim<<endl;
cout<<"
Prodi =
"<<bayar.prodi<<endl;
cout<<"
Program=“<<bayar.program<<endl;
cout<<"
Jumlah SKS =Rp.
"<<bayar.sks<<endl;
cout<<"
Biaya SPP Tetap =Rp.
"<<tetap<<endl;
cout<<"
Biaya SPP Variabel =Rp. "<<var<<endl;
getch();
return
0;
}
Didalam syntax program ini sudah tersimpan nilai yang bilamana ketika memasukan jenjang program ketika memilih “2” maka akan muncul spp tetap dan spp variabelnya. Untuk program diatas akan menggunakan structur pemilihan yang berguna untuk memilih antara S1 atau D3 karena dalam studi kasus perhitungan mahasiswa yang mengambil S1 dan D3 berbeda dalam hal biaya perkuliahan. Proses perhitungan terjadi pada struktur pemilihan. Untuk Proses dalam penggunaan struktur pemilihan pada program diatas
PRAKTIKUM
3
Sebuah titik pada bidang datar mempunyai kordinat x dan y. Kedua kordinat dijadikan field dari structure. Misal kedua titik adalah a yang berkordinat di x1, y1 dan b yang berkordinat di x2,y2 dengan demikian kita dapat menghitung jarak antara kedua titik tersebut dengan melalui kordinat yang tertera pada setiap titik adapun rumus mencari jarak titik kordinat √( (x1-x2)2 + (y1-y2)2)
Syntaknya
#include<stdio.h>
#include<math.h>
#include<conio.h>
struct t_titik
{
int
x,y;
};
int
main()
{
struct
t_titik a, b;
double
jarak;
printf("Titik
A\n Kordinat x : ");
scanf("%d",
&a.x);
printf("
Kordinat y : ");
scanf("%d",
&a.y);
puts("\n");
printf("Titik
B\n Kordinat y : ");
scanf("%d",
&b.x);
printf("
Kordinat y : ");
scanf("%d",&b.y);
puts("\n");
jarak
=sqrt(pow((a.x-b.x),2) + pow((a.y-b.y),2));
getch();
printf("Jarak
Titik A dan Titik B = %lf", jarak);
return
0;
}
Analisisnya
Untuk mencari jarak titik koordinat A dan titik koordinat B yang ditentukan menggunakan rumus yang mana terdapat dalam penggalan script program :
“jarak = sqrt(pow((a.x - b.x),2)+ pow((a.y - b.y),2));”.
Yang berarti bahwa intruksi sqrt adalah “akar” dan pow adalah “pangkat” program diatas akan menampilkan sebuah nilai
masukan secara manual terlebih dahulu setelah itu diproses dengan rumus tadi
lalu menampilkan hasil akhir.
Cara kerja dari program ini yaitu
ketika melakukan running program kita akan diminta memasukan titik koordinat
X,Y pada titik A dan memasukan titik koordinat X,Y pada titik B yang akan
diproses oleh program pada rumus yang sudah ditentukan sebelumnya.
LATIHAN
1
Pada suatu daerah memiliki perubahan suhu udara yang fluktuatif pengukuran dilakukan setiap satu jam dan akan mendapatkan suhu udara rata-rata di hari tersebut program dibawah ini dapat menyelesaikan kasus diatas dengan menggunakan structure namun anda harus melengkapi program tersebut agar dapat menyelesaikan kasus ini.
Syntaknya
#include<stdio.h>
#include<conio.h>
struct
{
float
suhu, jsuhu;
}temp;
int
main()
{
int
i,n;
printf("Masukan
Jumlah Jam Pengukuran : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("Masukan
Suhu Jam Ke-%d : ",i);
scanf("%f",&temp.suhu);
getch();
temp.jsuhu
= (temp.jsuhu+temp.suhu);
}
puts("\n");
printf("Rata-rata
Suhu Hari ini : %f",temp.jsuhu/n);
getch();
return
0;
}
Hasilnya
Analisisnya
#include<stdio.h>
#include<conio.h>
di program ini menggunakan 2 file header yaitu ada stdio.h dan jga conio,h. dan juga menggunakan struct untuk mempermudah penmanggilan variabelnya Cara kerja program ini ketika melakukan running program kita akan diminta memasukan jumlah jam pengukuran yang dimasukan secara dinamis berdasarkan yang diinginkan oleh programer. Selanjutnya kita akan diminta memasukan setiap nilai suhu dari jumlah nilai yang telah ditetapkan sebelumnya. Setelah itu, maka program akan menghitung rata-rata dari suhu yang telah dimasukan sebelumnya.
LATIHAN
2
Studi Kasus
Buatlah program untuk mengetahui stok barang yang terjual dengan menggunakan structure dengan mengginputkan nama barang dan jumlah barang yang dijual mengahsilkan output nama barang dan jumlah barang dalam Pcs. Dibawah ini program dengan menggunakan structure untuk menyelesaikan kasus tersebut namun bila ada yang ingin mengubah listing programnya diperbolehkan dengang syarat hasil keluarannya harus sesuai dengan yang diminta.
Syntaknya
#include<iostream.h>
#include<conio.h>
struct
stock
{
char
nama[50];
int
jml;
}data;
int
main()
{
struct
stock;
cout<<"Program
data Stock Penjualan"<<endl<<endl;
getch();
cout<<"Masukan
Nama Barang = ";
cin>>data.nama;
cout<<"Masukan
Jumlah Barang = ";
cin>>data.jml;
cout<<"
";
cout<<"--------------------------------";cout<<endl;
cout<<"Hasil
Input"<<data.nama<<" =
"<<data.jml<<"pcs"<<endl;
getch();
return
0;
}Hasilnya
Analisisnya
#include<iostream.h>
#include<conio.h>
Disini juga memakai hanya dua file header yaitu menggunakkan conio.h dan juga iostream.h
Pada program latihan 2 ini adalah sebuah program yang digunakan untuk menampilkan barang yang sudah terjual (program data stok penjualan) dengan variabel struct yang berfungsi untuk mengelompokkan variabel, jika nantinya akan melakukan pemanggilan variabel maka nama struct harus dibawa, pertama yang harus dilakukan dengan memasukkan nama barang yang akan di input dan sertakan nama struct, setelah itu masukkan jumlah barang yang akan di inputkan sama seperti input nama barang kemudian sertakan nama struct. Program diatas yaitu dengan pertama memasukan terlebih dahulu barang yang sudah terjual dan jumlah yang terjual.
cout<<"Masukan nama
barang = ";
cin>>stk.nama;
cout<<"Masukan jumlah
barang = ";
cin>>stk.jml;
cout<<"Hasil input
"<<stk.nama<<" = "<<stk.jml<<"
pcs";
sudah diperiksa
BalasHapusMakasih info nya gan
BalasHapusmantep Pisan
BalasHapus