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<stdio.h>
#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<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 : %2.f",temp.jsuhu/n);
getch();
return 0;

  • hasil run
  • analisis
Program diatas adalah program untuk menghitung rata-rata sebuah suhu dalam suatu daerah menggunakan struct. dalam program diatas kita hanya menginput jam pengukuran lalu selanjutnya program akan menjalankan secara otomatis.perhitungan pengukuran jam dilakukan karena adanya proses : 

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

Popular Posts