Sabtu, 22 April 2017

Program Struktur( Modul 5 Struktur Data )

            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.

Tidak ada komentar:

Posting Komentar