Rabu, 21 Maret 2012

Membangun Program Struk dalam C++

Struck merupakan sebuah method struktural dalam pemrograman dasar C++. Penggunaan Struck ini dimaksudkan sebagai konsep Orientasi Objek namun tidak begitu mendalam, hanya sebatas pada pemahaman dasar untuk melanjutkan ketingkat yang lebih tinggi lagi.
Pendeklarasian sebuah struck cukup simple,,hanya dengan mendefinisikan nama variabel untuk struck dengan type struck sebagai deklaratornya...

contoh :
struck objek
{
 . . .
. . .
};

Data dalam sebuah struk tersebut dapat diakses menggunakan sebuah variabel bantu yang bersifat dinamis (bebas) didalam program utama.

contoh : objek masuk;

objek merupakan nama struk dan masuk merupakan variabel bantu yang membawa nilai dari struk tersebut untuk dieksekusi pada program main.

berikut adalah contoh source code program struk untuk struk mahasiswa...
merupakan juga struck didalam struck dengan menggunakan struktur kontrol pengulangan dan kondisional serta menerapkan array dan juga function didalamnnya.

#include<iostream.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>


struct data_matkul
{
char nama_matkul[20];
int sks;
int nilai;
};.

struct data_mahasiswa
{
char nim[11];
char nama[35];
data_matkul unggul[50];
}
data_mahasiswa esa[50];

int i,j,n,s;
char temp[5];
float ipk;

void input_data();
void cetak_data();

void main()
{
cout<<"Masukan Jumlah Data Mahasiswa : ";
cin>>n;
cout<<endl;
clrscr();
input_data();
clrscr();
cout<<endl;
cetak_data();
getch();
}

void input_data()
{
for (i=1; i<=n; i++)
{
cout<<"Mahasiswa ke-"<<(i)<<endl;
cout<<endl;
cout<<"Input Nim  : ";
gets(esa[i].nim);
cout<<"Input Nama : ";
gets(esa[i].nama);
cout<<endl<<endl;

cout<<"Masukan Jumlah Mata Kuliah : ";cin>>s;cout<<endl;
int tot_sks=0;
int val;
float tot_val=0;
for (j=1; j<=s; j++)
{
cout<<"Nama Mata Kuliah  : ";
gets(esa[j].unggul[j].nama_matkul);
cout<<"Sks               : ";
gets(temp);
esa[j].unggul[j].sks=atoi(temp);
cout<<"Nilai             : ";
gets(temp);
esa[j].unggul[j].nilai=atoi(temp);

cout<<endl;
if (esa[j].unggul[j].nilai>=80 && esa[j].unggul[j].nilai<=100)
{val=4;}
else if (esa[j].unggul[j].nilai>=70 && esa[j].unggul[j].nilai<=79)
{val=3;}
else if (esa[j].unggul[j].nilai>=55 && esa[j].unggul[j].nilai<=69)
{val=2;}
else if (esa[j].unggul[j].nilai>=35 && esa[j].unggul[j].nilai<=54)
{val=1;}
else if (esa[j].unggul[j].nilai>=0 && esa[j].unggul[j].nilai<=34)
{val=0;}
else {}

tot_sks=tot_sks+(esa[j].unggul[j].sks);
tot_val=tot_val+(esa[j].unggul[j].sks*val);
ipk=tot_val/tot_sks;
}
}
}

void .cetak_data()
{
for (i=1; i<=n; i++)
{
cout<<"Mahasiswa ke- "<<(i);
cout<<"\nNim  : "<<esa[i].nim;
cout<<"\nNama : "<<esa[i].nama;

cout<<.endl;
cout<<"\nJumlah Mata Kuliah Yang diambil = "<<s;

for (j=1 j<=s; j++)
{
cout<<"\n\nNama Mata Kuliah : ";
cout<<esa[].unggul[j].nama_matkul;
cout<<"\nSks              : ";
cout<<esa[j].unggul[j].sks;
cout<<"\nNilai            : ";
cout<<esa[j].unggul[j].nilai;
}
cout<<"\n\nIpk = "<<ipk<<endl<<endl;
}

berikut adalah sampel outputnya dengan jumlah data array = 1.











Catatan : Jika ingin mencoba program ini,,harap diteliti kembali letak errornya,,karena seorang programmer harus memiliki ketelitian sebagai sensitive char dalam penulisan program...
Ingat kurang titik koma saja maka program anda tidak akan running...
jadi jika ingin menjalankan program ini,,pelajarilah letak kesalahannya dan berusahalah untuk memperbaikinya..
Karena sesuatu akan dapat dikeathui dan dipelajari jika pernah mengalami kesalahan.

Terima Kasih.

Tidak ada komentar:

Posting Komentar