MODUL 5 STRUKTUR
LAPORAN PRAKTIKUM MODUL V STRUKTUR DATA
STRUKTUR
ANDIKA PRATAMA
20160910005
SI 2016 B
UNIVERSITAS KUNINGAN
DASAR TEORI
Strukur 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 atau pun berbeda-beda,meskipun field tersebut merupakan satu kesatuan namun bisa diakses secara individu.
Struktur dan array mempunyai kesamaan dan perbedaan,kesamaannya yaitu alokasi memory elemen yang sudah ditentukan sebelm program dijalankan.perbedaannya array adalah struktur data yang elemn-elemenya bertipe data harus sama,dan elemen tersebut diakses melalui indeks sedangkan struktur adalah sebuah struktur data yang tipe data dari elemen-elemenya tidak harus sama dan elemen tersebut diakses melalui identifier atau nama variabel.
Praktikum 5.1
- compiler : borland c++
- study kasus :
Buatlah program pengisian data pribadi seseorang beserta
dengan identitas yang melekat pada pribadi tersebut dengan menggunakan fungsi
struktur dalam pemrograman Bahasa C/C++
- syntax
#include<conio.h>
#include<iostream.h>
main()
{
struct data
{
char nama [50];
char alamat [100];
char no_hp[20];
char ortu[50];
char pekerjaan [50];
char lulusan [50];
}mahasiswa;
cout<<"==Program input data diri==\n";
printf("Masukan nama\t\t\t= ");
scanf("%s",&mahasiswa.nama);
printf("Masukan Alamat\t\t\t= ");
scanf("%s",&mahasiswa.alamat);
printf("Masukan nomor HP = ");
scanf("%s",&mahasiswa.no_hp);
printf("Masukan nama ibu kandung = ");
scanf("%s",mahasiswa.ortu);
printf("Masukan pekerjaan bapak = ");
scanf("%s",&mahasiswa.pekerjaan);
printf("Masukan pendidikan orangtua = ");
scanf("%s",&mahasiswa.lulusan);
cout<<"\n\nData yang dimasukan adalah : \n\n";
cout<<"Nama\t\t\t= "<<mahasiswa.nama;
cout<<"\nalamat\t\t\t= "<<mahasiswa.alamat;
cout<<"\nNomor hp\t\t= "<<mahasiswa.no_hp;
cout<<"\nNama ibu kandung\t = "<<mahasiswa.ortu;
cout<<"\npekerjaan bapak\t = "<<mahasiswa.pekerjaan;
cout<<"\npendidikan orangtua\t = "<<mahasiswa.lulusan;
getch();
return 0;
}
- hasil run
- analisis
Program diatas program membuat
identitas seseorang dengan menggunakan variable struct,variable struct diatas
diberinama data dan mempunyai objek yang dinamakan mahasiswa yang artinya
penggunakan variable struct diakses dengan cara “mahasiswa.nama variable”. Program diatas membuat data identitas
secara manual atau dengan nilai masukan dengan menggunakan proses :
printf("Masukan nama\t\t\t=
");
scanf("%s",&mahasiswa.nama);
printf("Masukan
Alamat\t\t\t= ");
scanf("%s",&mahasiswa.alamat);
printf("Masukan nomor
HP =
");
scanf("%f",&mahasiswa.no_hp);
printf("Masukan nama ibu
kandung = ");
scanf("%s",mahasiswa.ortu);
printf("Masukan pekerjaan
bapak = ");
scanf("%s",&mahasiswa.pekerjaan);
printf("Masukan pendidikan
orangtua = ");
scanf("%s",&mahasiswa.lulusan);
dan pada menampilkan hasil akhir menggunakan proses :
cout<<"Nama\t\t\t=
"<<mahasiswa.nama;
cout<<"\nalamat\t\t\t=
"<<mahasiswa.alamat;
cout<<"\nNomor
hp\t\t= "<<mahasiswa.no_hp;
cout<<"\nNama ibu
kandung\t = "<<mahasiswa.ortu;
cout<<"\npekerjaan
bapak\t =
"<<mahasiswa.pekerjaan;
cout<<"\npendidikan
orangtua\t = "<<mahasiswa.lulusan;
penggunaan tipe data char menjadikan sebuah angka menjadi efektif ketika ditampilkan seperti pada variabel no_hp akan efektif jika menggunakan variabel charakter karena jika menggunakan tipe data lain akan menghasilkan hasil yang tidak beraturan.
Praktikum 5.2
- compiler : borland c++
- study kasus :
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
- syntax
#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------------------------------------------\n";
cout<<"Nama =
"<<bayar.nama<<endl;
cout<<"NIM ="<<bayar.nim<<endl;
cout<<"Prodi =
"<<bayar.prodi<<endl;
cout<<"Program =
"<<bayar.program<<endl;
cout<<"Jumlah sks =
"<<bayar.sks<<endl;
cout<<"Biaya SPP Tetap =Rp.
"<<tetap<<endl;
cout<<"Biaya SPP Variabel =Rp.
"<<var<<endl;
getch();
return 0;
}
- hasil run
- analisis
Program diatas
adalah program perhitungan biaya kuliah dengan menggunakan struct ,program
diatas menggunakan structur pemilihan yang berguna untuk memilih antara S1 atau
D3 karena dalam study kasus perhitungan mahasiswa yang mengambil S1 dan D3
berbeda dalam hal biaya perkuliahan. Proses dalam penggunaan struktur pemilihan
pada program diatas terjadi pada :
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;
}
*Proses perhitungan terjadi pada struktur
pemilihan.
Praktikum 5.3
- compiler : borland c++
- study kasus :
Sebuah titik pada bidang datar mempunyai koordinat x dan y.
kedua kordinat dijadikan field dari structure.misal kedua titik adalah a yang
berkodinat di x1,y1 dan 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)pangkat
2+(y1-y2)pangkat2)
- syntax
#include<stdio.h>
#include<math.h>
#include<conio.h>
struct t_titik
{
int x,y;
}a,b;
int main()
{
double jarak;
printf("titik A\nkordinat x : ");
scanf("%d",&a.x);
printf("kordinat y : ");
scanf("%d",&a.y);
puts("\n");
printf("titik B\nkoordinat x: ");
scanf("%d",&b.x);
printf("koordinat y: ");
scanf("%d",&b.y);
puts("\n");
jarak = sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
printf("Jarak titik A dan titik B = %1.f",jarak);
getch();
return 0;
}
- hasil run
- analisis
Program diatas adalah program mencari titik kordinat dengan
menggunakan variable struct,untuk mencari seubuah titik kordinat harus
menggunakan sebuah rumus yang mana rumus yang terdapat dalam syntak diatas
adalah :
jarak = sqrt(pow((a.x-b.x),2)+pow((a.y-b.y),2));
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.
Latihan 5.1
- compiler : borland c++
- study kasus :
Pada suatu daerah memiliki perubahan suhu udara yang
fluktuatif pengukuran dilakukan setiap satu jam dan akan menfapatkan suhu udara
rata-rata dihari tersebut program dibawah ini dapat menyelesaikan kasus diatas
dengan menggunakan structure namun anda harus melengkapi program tersebut agar
dapat menyelesaikan kasus ini.
- syntax
#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 : %2.f",temp.jsuhu/n);
getch();
return 0;
}
- hasil run
- analisis
temp.jsuhu = (temp.jsuhu+temp.suhu);
Setelah itu program akan menampilkan hasil akhir melalui proses :
printf("Rata-rata Suhu Hari ini : %2.f",temp.jsuhu/n);
Latihan 5.2
- compiler : borland c++
- study kasus :
Buatlah program untuk mengetahui stok barang yang terjual
dengan menggunakan structure dengan menginout nama barang dan jumlah barang
yang dijual menghasilkan 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
dengan syarat hasil keluarnya harus sesuai dengan yang diminta
- syntax
#include<iostream.h>
#include<conio.h>
struct stock
{
char nama[50];
int jml;
}stk;
int main()
{
cout<<"Program data stok
penjualan"<<endl;
getch();
cout<<"Masukan nama barang = ";
cin>>stk.nama;
cout<<"Masukan jumlah barang = ";
cin>>stk.jml;
cout<<" ";
cout<<"-------------------------------";
cout<<" "<<endl;
cout<<"Hasil input
"<<stk.nama<<" = "<<stk.jml<<"
pcs";
getch();
return 0;
}
- hasil run
- analisis
Program diatas adalah program untuk menampilkan barang yang
sudah terjual dengan variable struct,program diatas pertama memasukan terlebih
dahulu barang yang sudah terjual dan jumlah yang terjual , menggunakan proses :
cout<<"Masukan
nama barang = ";
cin>>stk.nama;
cout<<"Masukan
jumlah barang = ";
cin>>stk.jml;
lalu setelah diinputkan data tersebut akan tampil
hasil akhir dengan perintah :
cout<<"Hasil input
"<<stk.nama<<" = "<<stk.jml<<"
pcs";
Comments
Post a Comment