Assalamu’alaikum
Wr, Wb, oke pada kesempatan kali ini saya akan membahas sebuah program struktur,
struktur ini biasanya banyak digunakan pada program menampilkan struk kasir, struk
bbm dan semacamnya.
Contoh pendeklarasian Struktur
Struct mahasiswa
{
Char nama[25];
Char nim[10];
Char jurusan[2];
Float ipk;
}mhs;
Disini saya mempunyai beberapa contoh
program struktur oke langsung saja tanpa berlama – lama kita masuk kecontoh pertama
Study Kasus
Praktikum 5.1
Buatlah program pengisian data pribadi
seseorang beserta dengan identitas yang melekat pada pribadi tersebut dengan
menggunakan fungsi struktur dalam pemrograman bahasa c/c++
Script Study Kasus
Praktikum 5.1
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main ()
{
struct
{
char nama[50];
char
alamat[100];
char
No_Hp[100];
char ortu[50];
char
pekerjaan[50];
char
lulusan[50];
}mahasiswa;
clrscr();
cout<<" Program Input Data Diri
"<<endl;
printf("
Masukan Nama \t\t\t : ");
scanf("%s",&mahasiswa.nama);
cout<<"
Masukan Alamat \t\t : "; cin>>mahasiswa.alamat;
printf("
Masukan Nomor HP \t\t : +628");
cin>>mahasiswa.No_Hp;
cout<<" Masukan Nama Ibu Kandung \t
: ";
cin>>mahasiswa.ortu;
printf("
Masukan Pekerjaan Bapak \t : ");
scanf("%s",&mahasiswa.pekerjaan);
cout<<" Masukan Pendidikan Orang
Tua \t : ";
cin>>mahasiswa.lulusan;
clrscr();
cout<<"\n \n Data Yang Di Masukan
Adalah \n\n";
printf("
Nama \t\t\t\t : %s\n",mahasiswa.nama);
printf("
Alamat \t\t\t : %s\n",mahasiswa.alamat);
cout<<" Nomor HP \t\t\t :
+628"<<mahasiswa.No_Hp<<endl;
cout<<" Nama Ibu Kandung \t\t :
"<<mahasiswa.ortu<<endl;
cout<<" Pekerjaan Bapak \t\t :
"<<mahasiswa.pekerjaan<<endl;
cout<<" Pendidikan Terakhir \t\t :
"<<mahasiswa.lulusan<<endl;
getch();
return 0;
}
Hasil Running :
Pembahasan
Dalam
program tersebut merupakan sebuah program untuk menampilkan data mahasiswa di
mana dalam program tersebut menggunakan struct, Definisi Struktur (struct)
sendiri adalah kumpulan dari variabel yang dinyatakan dengan sebuah nama ,
dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Jadi untuk
melakukan input karena variablenya di kelompokan dalam struct maka inputnya
harus memasukan nama structnya yaitu mahasiswa baru kemudian masukan variable
yang akan di inputkan nilai atau karakternya.
scanf("%s",&mahasiswa.nama);
mahasiswa itu merupakan nama dari strucnya dan nama
itu adalah variable untuk menampung nilai atau karakter yang akan diinputkan,
jadi setelah nama struck dimasukan kasih hasih tanda (.) setelah itu masukan
variablenya.
Untuk outputnya juga tidak jauh beda dengan input,
pertama masukan nama strucknya setelah itu kasih tanda (.) kemudian masukan
variable yang akan di panggil.
printf(" Nama \t\t\t\t : %s\n",mahasiswa.nama);
Study Kasus
Praktikum 5.2
Buatlah Program menggunakan struktur
tentang biaya kuliah mahasiswa dengan ketentuan sebagai berikut
1. D3
Spp tetap = Rp. 500
Spp Variable = Rp. 250/sls
2. S1
Spp Tetap = Rp. 750
SPP variable = Rp. 500/sks */
Script Study Kasus
Praktikum 5.2
#include<conio.h>
#include<iostream.h>
struct mhs
{
char nama[20], nim[20], prodi[3];
int sks, program;
}bayar;
main()
{
int var, tetap;
cout<<" Nama Mahasiswa \t\t : ";
cin>>bayar.nama;
cout<<" Nim Mahasiswa \t\t\t : ";
cin>>bayar.nim;
cout<<" Prodi [ TI SI MI] \t\t : ";
cin>>bayar.prodi;
input:
cout<<" Program [1 = D3 / 2 = S1] \t :
";
cin>>bayar.program;
if(bayar.program < 1 || bayar.program > 2)
{
cout<<" Program Tidak Sesuai ";
goto input;
}
cout<<" Jumlah SKS \t\t\t : ";
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;
cout<<"
-----------------------------------------------------"<<endl;
cout<<" \t\t\t OUT PUT "<<endl;
cout<<"
-----------------------------------------------------"<<endl;
cout<<" Nama \t\t\t :
"<<bayar.nama<<endl;
cout<<" Nim \t\t\t : "<<bayar.nim<<endl;
cout<<" Prodi \t\t\t :
"<<bayar.prodi<<endl;
cout<<" Program \t\t :
"<<bayar.program<<endl;
cout<<" Jumlah SKS \t\t :
"<<bayar.sks<<endl;
cout<<" Biaya SPP Tetap \t :
"<<tetap<<endl;
cout<<" Biaya SPP Variable \t :
"<<var<<endl;
cout<<"
-----------------------------------------------------"<<endl;
getch();
return 0;
}
Hasil Running
Pembahasan
Program
diatas merupakan sebuah program untuk melakukan pembayaran sks pada setiap
prodi. Jadi pertama- tama masukan nama dan nim, karena variable yang akan
diinputkan berada dalam struc maka untuk melakukan penginputan cantumkan nama
struct kebudian nama variable yang akan di jadikan sebagai penampung nilai atau
karakter.
cin>>bayar.nama;
bayar merupakan
nama sebuah struk yang di mana didalam struck tersebut terdapat variable nama.
Kemudian masukan program yang di pilih D3 = 1 atau S1
= 2, cara penginputannya juga sama masukan namastruk kemudian beri (.) setelah
itu masukan variable inputnya,
Jika kita memasukan angka 1 maka
if(bayar.program == 1)
{
tetap = 500;
var = bayar.sks*250;
}
Dan jika kita memasukan angka 2 maka
else if(bayar.program == 2)
{
tetap = 750;
var = bayar.sks*500;
}
Setelah memasukan program kita akan menginput sks yang
akan di ambil jadi setiap programnya mempunyai harga per sks tersendiri, jadi
nantinya sks akan di kali dengan harga per sks dari program yang di pilih.
Study Kasus
Praktikum 5.3
sebuah
titik pada bidang datar mempunyai kordinat x dan y. kedua kordinat dijadikan
field dari structure misalnya 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 melalu kordinat yang tertera pada setiap
titik adapun rumus mencari jarak titik kordinat ((x1+x2)2 +(y1-y2)2)
Script Study Kasus
Praktikum 5.3
#include<stdio.h>
#include<conio.h>
#include<math.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 X : ");
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);
getch();
return 0;
}
Hasil Running :
Pembahasan
Program
di atas adalah sebuah program untuk mencari jarak titik A dengan Titik B dimana
pada titik A dan B akan dinputkan kordinat x dan y mengunakan struct, jadi
untuk menginputkannya petama – tama intput kordinat x dan y pada titik a dan
untuk melakukan penginputan menggunakan struk dan nama struct untuk titik A
adalah a jadi saat akan mengginputkan Kordinat x dan y pada titik A cantumkan
nama struct nya dan setelah itu variable
scanf("%d",&a.x);
scanf("%d",&a.y);
diatas adalah script input menggunakan struct, dan nama
structnya itu a, dan untuk input kordinat titik B tinggal nama structnya
diganti menjadi b, jadi :
scanf("%d",&a.x);
scanf("%d",&a.y);
nah untuk scrip
jarak = sqrt(pow((a.x - b.x),2)+ pow((a.y - b.y),2)); adalah sebuah
rumus untuk mengetahui jarak antara kedua titik, untuk sqrt itu merupakan
sebuah oprator aritmatika untuk mencari nilai akar jadi jika hasil penjumlahan
itu mendapatkan nilai 9 maka √9 = 3 nah 3 adalah hasil nya, dan sedangkan untuk
pow adalah sebuah oprator aritmatika yang akan mengkalikan nilai dengan dirinya
sendiri sesuai dengan jumlah pangkatnya, jadi bisa dibilang pow ini sebuah
pangkat jadi jika menggunakan pow maka masukan pangkat nya, contoh di atas
adalah pangkat 2, jadi nilai kordinat x pada titik A akan dikurangi kordinat x
pada titik B jika sudah memperoleh nilai maka nilai itu akan dikali dengan
pangkat yg tertera misal 2 pangkan 2 jadi 2 * 2 = 4, nah untuk pow selanjutnya
sama dengan sebelumya tapi dalam rumus itu kordinat y titik A – kordinat y
titik B, jika sudah memperoleh nilai maka kordinat x akan di tambah kordinat y
dari 2 buah Titik ( A dan B ) setelah di tambah fungsi sqrt ini akan mencari
nilai dari akar penjumlahan tadi.
Study Kasus
Latihan 5.1
Pada
suatu daerah memiliki perubahan suhu udara yang fluktuatif pengukuran dilakukan
setap satu jam dan akan mendapatkan suhu udara rata - rata di hari tersebut
program di bawah ini dapat menyelesaikan kasus diatas dengan menggunakan struct
namun anda harus melengkapi program tersebut agar dapat menyelesaikan kasus ini
Script Study Kasus
Latihan 5.1
#include<stdio.h>
#include<conio.h>
struct
{
float suhu, jsuhu;
}temp;
void 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();
}
Hasil Running:
Pembahasan
Program
diatas adalah sebuah program unkung kengetahui rata – rata suhu dalam hari ini dengan
cara mengukur suhu perjam. Pertama - tama masukan jumlah jam pengukurannya,
maksudnya dalam 1 hari berapa jam untuk melakukan pengukuran suhu. Dan input
ini digunakan sebagai batasan pengulangan jika dalam 1 hari terdapat 3 jam pengukuran
maka nanti akan menginput 3 kali suhu pada setiap jamnya. Setelah memasukan
semua nilai atau suhunya maka setelah itu guna rumus
temp.jsuhu = ( temp.jsuhu + temp.suhu );
adalah untuk menghitung total suhu yang di peroleh. Jadi
temp.jsuhu itu mempunyai nilai 0 dan di tambah suhu pada jam ke, setelah itu
temp.jsuhu sudah mempunyai nilai dari suhu jam pertama maka setelah itu akan ditambah
dengan suhu jam ke 2 dan ke 3.
Setelah
itu output hasil tadi dengan
printf(" Rata - rata Suhu Hari Ini : %f
",temp.jsuhu / n);
nah untuk temp.jsuhu / n itu berfungsi untuk mencari
nilai rata – rata, karena untuk mencari nilai rerata itu setelah di total maka
di bagi dengan jumlah penginputan tadi.
Dan program ini menggunakan struct, jadi temp. Itu merupakan
sebuah nama struct karena variable jsuhu atau suhu itu terdapat dalam sebuah
struct, jika akan menggunakan variable yang terdapat dalam struct maka nama
struct pun harus diikut sertakan.
Study Kasus
Latihan 5.2
Buatlah
program untuk menghitung stok barang yang terjual dengan menggunakan struce dengan
menginput nama barang dan jumlah barang yang di jual menghasilkan output nama barang
dan jumlah barang dalam Pcs. Dibawah ini program menggunakan structure untuk
menyelesaikan kasus tersebut namun bila ada yang ingin mengubah listing
programnya di perbolehkan dengan syarat hasil keluarannya harus sesuia dengan
yang di minta.
Script Study Kasus
Latihan 5.2
#include<iostream.h>
#include<conio.h>
struct stock
{
char nama[50];
int jml;
}data;
int main()
{
cout<<" Program Data Stock
Penjualan "<<endl<<endl;
getch();
cout<<" Masukan Nama Barang \t :
";
cin>>data.nama;
cout<<" Masukan Jumlah Barang \t :
";
cin>>data.jml;
cout<<"
---------------------------------------------------- "<<endl;
cout<<" Hasil Input
"<<data.nama<<" = "<<data.jml<<"
Pcs "<<endl;
getch();
return 0;
}
Hasil Running
Pembahasan
Program
diatas adalah sebuah program data stock penjualan, dalam program tersebut
menggunakan struct yang berfungsi untuk mengelompokan variable, jika akan
melakukan pemanggilan variable maka nama struch harus dibawa, pertama – tama masukan
nama barang yang akan diinput dan jangan luma sertakan nama struct, setelah itu
masukan jumlah barang yang akan diinputkan sama seperti input nama barang,
sertakan nama struct.
Untuk
melakukan output pun sama nama struct harus dibawa karena variable itu
merupakan bagian dari isi struct.
cout<<" Hasil Input
"<<data.nama<<" = "<<data.jml<<"
Pcs "<<endl;
Nah
itulah beberapa program struct dan juga pembahasan yang dapat saya sharing,
semoga ilmu yang saya bagikan dapat bermanfaat pagi kalian semua para pembaca,
mungkin sampai disini dulu sharing tentang programan khususnya program struct
yang bisa saya posting. Dan Jangan lupa ya jika kalian mempunyai
kritik dan saran silahkan tambahkan pada kolom komentar. Terima kasih atas
kunjungan kalian.








