際際滷

際際滷Share a Scribd company logo
LAPORAN PRAKTIKUM
PEMEROGAMAN DASAR
 Data Mahasiswa dengan Menggunakan Struct
NAMA ASISTEN:
1. ARDHI SANJAYA
2. AVIN MAULANA
DISUSUN OLEH :
NAMA : FITRI KURNIAWATI
NIM : 155090401111022
TGL.PRAKTIKUM : Rabu,18 Mei 2016
LABORATORIUM MATEMATIKA
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKAN DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
MALANG
2016
Bab I
Soal
Buatlah program dengan ketentuan sebagai berikut :
Input : banyak data, nama, nim, tanggal lahir,bulan lahir,tahun lahir,alamat
asal (kecamatan),alamat asal (kota), tugas 1, tugas 2, utp, uap.
Output : dalam bentuk
Nama Nim Tanggal Lahir Alamat Asal Nilai Akhir Nilai Huruf
Keterangan Tambahan :
Data Mahasiswa
- Nama
- Nim
- Tanggal Lahir
1. Tanggal
2. Bulan
3. Tahun
- Alamat Asal
1. Kecamatan
2. Kota
- Nilai
1. Tugas
a. Tugas 1
b. Tugas 2
2. UTP
3. UAP
4. Nilai akhir
- Nilai Huruf
Nilai akhir = (jumlah
tugas/2)*25% + UTP*30% +
UAP*45%
Nilai Huruf :
A jika nilai >80
B jika nilai >70
C jika nilai >60
D jika nilai >50
E jika nilai selain nilai yang
disebutkan diatas.
Source Code
#include <conio.h>
#include <iostream>
using namespace std;
#include <string.h>
main()
{
struct tanggal
{
int tgl,tahun;
string bulan;
}lahir;
struct alamat
{
string kecamatan,kota;
}asal;
struct tugas
{
int tugas1,tugas2;
}total;
struct nilai
{
int utp,uap,nilaiakhir;
tugas total;
}skor;
struct biodata
{
string nama;
int NIM;
tanggal lahir;
alamat asal;
nilai skor;
string nilaihuruf;
}data[10];
int n,i;
cout<<"masukkan banyaknya data :";cin>>n;
for(i=0;i<n;i++)
{
cout<<"data ke - "<<i+1;
cout<<"nMasukkan nama : ";
cin>>data[i].nama;
cout<<"masukkan nim : ";
cin>>data[i].NIM;
cout<<"masukkan tanggal lahir : ";
cin>>data[i].lahir.tgl ;
cout<<"masukkan bulan lahir: ";
cin>>data[i].lahir.bulan;
cout<<"masukkan tahun lahir : ";
cin>>data[i].lahir.tahun;
cout<<"masukkan alamat asal, kecamatan : ";
cin>>data[i].asal.kecamatan;
cout<<"masukkan alamat asal,kota : ";
cin>>data[i].asal.kota;
cout<<"masukkan nilai tugas pertama : ";
cin>>data[i].skor.total.tugas1;
cout<<"masukkan nilai tugas kedua : ";
cin>>data[i].skor.total.tugas2;
cout<<"masukkan nilai UTP : ";
cin>>data[i].skor.utp;
cout<<"masukkan nilai UAP : ";
cin>>data[i].skor.uap;
data[i].skor.nilaiakhir=((data[i].skor.total.tuga
s1+data[i].skor.total.tugas2)*0.25)+data[i].skor.utp*0.
3+data[i].skor.uap*0.35;
}
cout<<"------------------------------------------------
--------------------------------";
cout<<endl;
cout<<"Nama "<<" NIM "<<" Tanggal Lahir "<<"
Alamat Asal "<<" Nilai Akhir "<<" Nilai Huruf";
cout<<endl;
cout<<"------------------------------------------------
--------------------------------";
cout<<endl;
for(i=0;i<n;i++)
{
cout<<data[i].nama<<" ";
cout<<data[i].NIM<<" ";
cout<<data[i].lahir.tgl<<"-
"<<data[i].lahir.bulan<<"-"<<data[i].lahir.tahun<<"
";
cout<<data[i].asal.kecamatan<<","<<data[i].asal.k
ota<<" ";
cout<<data[i].skor.nilaiakhir<<" ";
if(data[i].skor.nilaiakhir>80)
data[i].nilaihuruf="A";
else if(data[i].skor.nilaiakhir>70)
data[i].nilaihuruf="B";
else if(data[i].skor.nilaiakhir>60)
data[i].nilaihuruf="C";
else if(data[i].skor.nilaiakhir>50)
data[i].nilaihuruf="D";
else
data[i].nilaihuruf="E";
cout<<" "<<data[i].nilaihuruf<<" ";
cout<<endl;
}
}
Bab V
Pembahasan
#include <conio.h>
conio.h merupakan File Header yang berfungsi untuk menampilkan
hasil antarmuka kepada pengguna.
#include <iostream>.
Iostream adalah suatu header file. File ini mengandung
Input/Output yang umumnya hanya berisi Cin dan Cout saja, tetapi di
beberapa aplikasi lain secara default bisa berbeda dari iostream yang
tradisional. Iostream juga sering dikaitkan terminal pemakai dan dipakai
untuk menampilkan pesan-pesan kesalahan
using namespace std;
perintah ini digunakan untuk mendeklarasikan/memberitahukan
kepada compiler bahwa akan digunakan semua fungsi/class/file yang
terdapat dalam namespace std. Sehingga dengan menggunakan fungsi ini
tidak diperlukan lagi menambahkan std didepan fungsi-fungsi dalam
namespace std seperti cin, cout dan lainnya
#include <string.h>
string.h merupakan file header yang berfungsi untuk melakukan manipulasi
string.
main()
Fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah
program C++ minimal mengandung sebuah fungsi, yaitu fungsi main().
Fungsi ini menjadi awal dan akhir eksekusi program C++. Sedangkan
Tubuh fungsi dimulai dari tanda { hingga tanda }. Lebih spesifik lagi,
semua yang terletak didalam tanda { } disebut blok.
Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai
yang akan dilewatkan ke fungsi. Pada fungsi main() seperti pada contoh,
tidak ada argumen yang diberikan. Oleh karena itu tidak ada entri di
dalam ().
{
struct tanggal
{
int tgl,tahun;
string bulan;
}lahir;
}
Pada bagian ini yang akan di struct adalah tanggal yang terdiri dari tgl dan
tahun bertipe integer serta bulan yang memiliki tipe data string. Kemudian
data yang di stuct dalam variable tanggal diberi variable kembali setelah
tanda } diberi nama variable yaitu lahir.
struct alamat
{
string kecamatan,kota;
}asal;
Kemudian selanjutnya alamat akan dibuat struct. Didalamnya terdiri
kecamatan dan kota yang bertipe data string. Kemudian diberi variable baru
yaitu asal.
struct tugas
{
int tugas1,tugas2;
}total;
Kemudian selanjutnya variable tugas akan dibuat struct data yang terdiri
dari tugas1 dan tugas 2 yang bertipe data integer. Kemudian diberi variable
baru yaitu total.
struct nilai
{
int utp,uap,nilaiakhir;
tugas total;
}skor;
Kemudian yang selanjutnya di struct adalah variabel nilai yang terdiri dari
variabel utp,uap,nilaiakhir yang memiliki tipe data integer. Dan variabel
tugas total yang berasal dari struct data sebelumnya yaitu struct tugas total.
Kemudian struct data ini diberi variabel yaitu skor.
struct biodata
{
string nama;
int NIM;
tanggal lahir;
alamat asal;
nilai skor;
string nilaihuruf;
}data[10];
Kemudian selanjutnya yang akan di struct adalah variabel biodata yang
terdiri dari nama dan nilai huruf yang memiliki tipe data string dan NIM
yang bertipe data integer. karena tanggal lahir,alamat asal,nilai skor telah
dibuat struct sebelumnya sehingga hanya cukup dituliskan variabelnya
tanpa harus menuliskan tipe datanya. Kemudian struct data ini diberi nama
data[10] yang merupakaan array.
int n,i;
variabel n dan i yang memiliki tipe data integer.
cout<<"masukkan banyaknya data :";cin>>n;
Perintah keluaran yaitu masukkan banyaknya data yang kemudian
dilanjutkan dengan memasukkan inputan yang diberi nama variabel n yang
telah dideskripsikan sebelumnya dengan tipe data integer.
for(i=0;i<n;i++)
membuat perulangan dengan variabel i yang diberi nilai awal 0 yang akan
berjalan dengan syarat jika nilainya kurang dari n dan akan bertambah
setelah proses dilakukan. Perulangan yang dilakukan adalah sesuai dengan
perintah dibawah ini.
{
cout<<"data ke - "<<i+1;
menampilan output berupa kalimat data ke- yang nantinya i+1 sehingga
akan berubah sesuai dengan bertambahnya nilai i.
cout<<"nMasukkan nama : ";
menampilkan output berupa kalimat masukkan nama.
cin>>data[i].nama;
kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[10] variabel nama
sehingga dituliskan data[i].nama penulisan [i] hal ini dikarenakan
menyesuaikan dengan perulangannya (penulisannya harus sesuai dengan
urutan).
cout<<"masukkan nim : ";
menampilkan output data yaitu masukkan nim.
cin>>data[i].NIM;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dengan variabel
NIM sehingga dituliskan data[i].NIM.
cout<<"masukkan tanggal lahir : ";
menampilkan output data berupa masukkan tanggal lahir.
cin>>data[i].lahir.tgl ;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir
dengan variabel tgl. Penulisannya harus berurutan mengingat struct ini
bertingkat.
cout<<"masukkan bulan lahir: ";
menampilkan output data yang berupa masukkan bulan lahir.
cin>>data[i].lahir.bulan;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir
dengan variabel bulan. Penulisannya harus berurutan mengingat struct ini
bertingkat.
cout<<"masukkan tahun lahir : ";
menampilkan output berupa masukkan tahun lahir.
cin>>data[i].lahir.tahun;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir
dengan variabel tahun. Penulisannya harus berurutan mengingat struct ini
bertingkat.
cout<<"masukkan alamat asal, kecamatan : ";
menampilkan output berupa masukkan alamat asal,kecamatan.
cin>>data[i].asal.kecamatan;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct asal
dengan variabel kecamatan. Penulisannya harus berurutan mengingat struct
ini bertingkat.
cout<<"masukkan alamat asal,kota : ";
menampilkan output berupa masukkan alamat asal,kota.
cin>>data[i].asal.kota;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct asal
dengan variabel kota. Penulisannya harus berurutan mengingat struct ini
bertingkat.
cout<<"masukkan nilai tugas pertama : ";
menampilkan output berupa masukkan nilai tugas pertama
cin>>data[i].skor.total.tugas1;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor
dan skor total dengan variabel tugas1. Penulisannya harus berurutan
mengingat struct ini bertingkat.
cout<<"masukkan nilai tugas kedua : ";
menampilkan output berupa masukkan nilai tugas kedua.
cin>>data[i].skor.total.tugas2;
Kemudian memasukkan data yang berasal dari struct yang telah dibuat
sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor
dan struct total dengan variabel tugas2. Penulisannya harus berurutan
mengingat struct ini bertingkat.
cout<<"masukkan nilai UTP : ";
Kemudian menampilkan output berupa masukkan nilai UTP.
cin>>data[i].skor.utp;
Kemudian memasukkan data yang berasal dari struct yang telah
dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan
struct skor dengan variabel utp. Penulisannya harus berurutan mengingat
struct ini bertingkat.
cout<<"masukkan nilai UAP : ";
Kemudian menampilkan outpit berupa masukkan nilai UAP
cin>>data[i].skor.uap;
Kemudian memasukkan data yang berasal dari struct yang telah
dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan
struct skor dengan variabel uap. Penulisannya harus berurutan mengingat
struct ini bertingkat.
data[i].skor.nilaiakhir=((data[i].skor.total.tugas1+data[i].skor.total.tug
as2)*0.25*0.5)+data[i].skor.utp*0.3+data[i].skor.uap*0.45;
Kemudian terdapat operasi perhitungan nilai akhir penulisannya adalah
data[i].skor.nilaiakhir hal ini dikarenakan variabel nilai akhir ini berasal
dari struct data[i] dan struct skor yang berurutan. Sehingga penulisannya
harus beruruta dimana perhitungannya adalah
=((data[i].skor.total.tugas1+data[i].skor.total.tugas2)*0.25*0.5)+data[i]
.skor.utp*0.3+data[i].skor.uap*0.45 penulisan variabel yang dihitung
juga sama dengan menyertakan asal struct dari variabel tersebut secara
berurutan
}
cout<<"--------------------------------------------------------------------------------
";
menampilkan ouput berupa ----------------------- diberi tanda kutip karena
merupakan karakter.
cout<<endl;
berfungsi untuk menuju baris selanjutnya (enter).
cout<<"Nama "<<" NIM "<<" Tanggal Lahir "<<" Alamat
Asal "<<" Nilai Akhir "<<" Nilai Huruf";
berfungsi untuk menampilkan output Nama, NIM, Tanggal Lahir, Alamat
Asal, Nilai Akhir, dan Nilai Huruf dengan jarak tertentun sehingga diberi
spasi didalamnya untuk memberi jarak pada setiap karakter yang ditulisnya.
cout<<endl;
berfungsi untuk menuju baris selanjurnya (enter).
cout<<"--------------------------------------------------------------------------------
";
menampilkan output berupa ---------------------------- diberi tanda kutip
karena merupakan karakter.
cout<<endl;
berfungsi untuk menampilkan baris selanjurnya (enter).
for(i=0;i<n;i++)
perulangan variabel i dengan nilai awal 0 dengan syarat i kurang dari n dan
nilai i akan bertambah. Perintah yang dilakukan dalam perulangan adalah
seperti perintah dibawah ini :
{
cout<<data[i].nama<<" ";
menampilkan output berupa struct data data[i].nama dengan pemberian
spasi sehingga akan dibuat jarak. Oleh karena itu pengaturan spasi
diperlukan.
cout<<data[i].NIM<<" ";
menampilkan output berupa struct data data[i].nim dengan pemberian
spasi sehingga akan dibuat jarak. Oleh karena itu pengaturan spasi
diperlukan.
cout<<data[i].lahir.tgl<<"-"<<data[i].lahir.bulan<<"-
"<<data[i].lahir.tahun<<" ";
menampilkan output berupa struct data dari data[i].lahir.tgl,
data[i].lahir.bulan, data[i].lahir.tahun. dengan penggalan - berupa
karakter dan pengaturan spasi sebagai jarak
cout<<data[i].asal.kecamatan<<","<<data[i].asal.kota<<" ";
menampilkan output berupa data[i].asal.kecamatan dan penggalan ,
berupa karakter dan data[i].asal.kota diberi jarak melalui pengaturan spasi.
cout<<data[i].skor.nilaiakhir<<" ";
menampilkan output berupa data[i].skor.nilaiakhir diberi jarak dengan
mengatur spasi.
if(data[i].skor.nilaiakhir>80)
data[i].nilaihuruf="A";
fungsi pengandaian apabila (data[i].skor.nilaiakhir>80) maka
data[i].nilaihuruf="A".
else if(data[i].skor.nilaiakhir>70)
data[i].nilaihuruf="B";
fungsi pengandaian apabila (data[i].skor.nilaiakhir>70) maka
data[i].nilaihuruf="B".
else if(data[i].skor.nilaiakhir>60)
data[i].nilaihuruf="C";
fungsi pengandaian apabila (data[i].skor.nilaiakhir>60) maka
data[i].nilaihuruf="C".
else if(data[i].skor.nilaiakhir>50)
data[i].nilaihuruf="D";
fungsi pengandaian apabila (data[i].skor.nilaiakhir>50) maka
data[i].nilaihuruf="D"
else
selain itu, maka yang dilakukan adalah
data[i].nilaihuruf="E";
data[i].nilaihuruf="E";
cout<<" "<<data[i].nilaihuruf<<" ";
menampilkan output berupa data[i].nilaihuruf dan pemberian jarak
menggunakan pengaturan spasi.
cout<<endl;
berfungsi untuk menuju baris baru (enter );
}
getch();
berfungsi untuk
menghentikan program skrip program dan melanjutkannya setelah kita
menekan tombol Enter. Skrip getch(); ini memiliki header file conio.h.
}
Bab VI
Print Screen

More Related Content

Laporan pemdas

  • 1. LAPORAN PRAKTIKUM PEMEROGAMAN DASAR Data Mahasiswa dengan Menggunakan Struct NAMA ASISTEN: 1. ARDHI SANJAYA 2. AVIN MAULANA DISUSUN OLEH : NAMA : FITRI KURNIAWATI NIM : 155090401111022 TGL.PRAKTIKUM : Rabu,18 Mei 2016 LABORATORIUM MATEMATIKA JURUSAN MATEMATIKA FAKULTAS MATEMATIKAN DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA MALANG 2016
  • 2. Bab I Soal Buatlah program dengan ketentuan sebagai berikut : Input : banyak data, nama, nim, tanggal lahir,bulan lahir,tahun lahir,alamat asal (kecamatan),alamat asal (kota), tugas 1, tugas 2, utp, uap. Output : dalam bentuk Nama Nim Tanggal Lahir Alamat Asal Nilai Akhir Nilai Huruf Keterangan Tambahan : Data Mahasiswa - Nama - Nim - Tanggal Lahir 1. Tanggal 2. Bulan 3. Tahun - Alamat Asal 1. Kecamatan 2. Kota - Nilai 1. Tugas a. Tugas 1 b. Tugas 2 2. UTP 3. UAP 4. Nilai akhir - Nilai Huruf Nilai akhir = (jumlah tugas/2)*25% + UTP*30% + UAP*45% Nilai Huruf : A jika nilai >80 B jika nilai >70 C jika nilai >60 D jika nilai >50 E jika nilai selain nilai yang disebutkan diatas.
  • 3. Source Code #include <conio.h> #include <iostream> using namespace std; #include <string.h> main() { struct tanggal { int tgl,tahun; string bulan; }lahir; struct alamat { string kecamatan,kota; }asal; struct tugas { int tugas1,tugas2; }total; struct nilai
  • 4. { int utp,uap,nilaiakhir; tugas total; }skor; struct biodata { string nama; int NIM; tanggal lahir; alamat asal; nilai skor; string nilaihuruf; }data[10]; int n,i; cout<<"masukkan banyaknya data :";cin>>n; for(i=0;i<n;i++) { cout<<"data ke - "<<i+1; cout<<"nMasukkan nama : "; cin>>data[i].nama;
  • 5. cout<<"masukkan nim : "; cin>>data[i].NIM; cout<<"masukkan tanggal lahir : "; cin>>data[i].lahir.tgl ; cout<<"masukkan bulan lahir: "; cin>>data[i].lahir.bulan; cout<<"masukkan tahun lahir : "; cin>>data[i].lahir.tahun; cout<<"masukkan alamat asal, kecamatan : "; cin>>data[i].asal.kecamatan; cout<<"masukkan alamat asal,kota : "; cin>>data[i].asal.kota; cout<<"masukkan nilai tugas pertama : "; cin>>data[i].skor.total.tugas1; cout<<"masukkan nilai tugas kedua : "; cin>>data[i].skor.total.tugas2; cout<<"masukkan nilai UTP : "; cin>>data[i].skor.utp; cout<<"masukkan nilai UAP : "; cin>>data[i].skor.uap; data[i].skor.nilaiakhir=((data[i].skor.total.tuga s1+data[i].skor.total.tugas2)*0.25)+data[i].skor.utp*0. 3+data[i].skor.uap*0.35; }
  • 6. cout<<"------------------------------------------------ --------------------------------"; cout<<endl; cout<<"Nama "<<" NIM "<<" Tanggal Lahir "<<" Alamat Asal "<<" Nilai Akhir "<<" Nilai Huruf"; cout<<endl; cout<<"------------------------------------------------ --------------------------------"; cout<<endl; for(i=0;i<n;i++) { cout<<data[i].nama<<" "; cout<<data[i].NIM<<" "; cout<<data[i].lahir.tgl<<"- "<<data[i].lahir.bulan<<"-"<<data[i].lahir.tahun<<" "; cout<<data[i].asal.kecamatan<<","<<data[i].asal.k ota<<" "; cout<<data[i].skor.nilaiakhir<<" "; if(data[i].skor.nilaiakhir>80) data[i].nilaihuruf="A"; else if(data[i].skor.nilaiakhir>70) data[i].nilaihuruf="B"; else if(data[i].skor.nilaiakhir>60) data[i].nilaihuruf="C"; else if(data[i].skor.nilaiakhir>50)
  • 8. Pembahasan #include <conio.h> conio.h merupakan File Header yang berfungsi untuk menampilkan hasil antarmuka kepada pengguna. #include <iostream>. Iostream adalah suatu header file. File ini mengandung Input/Output yang umumnya hanya berisi Cin dan Cout saja, tetapi di beberapa aplikasi lain secara default bisa berbeda dari iostream yang tradisional. Iostream juga sering dikaitkan terminal pemakai dan dipakai untuk menampilkan pesan-pesan kesalahan using namespace std; perintah ini digunakan untuk mendeklarasikan/memberitahukan kepada compiler bahwa akan digunakan semua fungsi/class/file yang terdapat dalam namespace std. Sehingga dengan menggunakan fungsi ini tidak diperlukan lagi menambahkan std didepan fungsi-fungsi dalam namespace std seperti cin, cout dan lainnya #include <string.h> string.h merupakan file header yang berfungsi untuk melakukan manipulasi string. main() Fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi, yaitu fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi program C++. Sedangkan Tubuh fungsi dimulai dari tanda { hingga tanda }. Lebih spesifik lagi, semua yang terletak didalam tanda { } disebut blok.
  • 9. Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Pada fungsi main() seperti pada contoh, tidak ada argumen yang diberikan. Oleh karena itu tidak ada entri di dalam (). { struct tanggal { int tgl,tahun; string bulan; }lahir; } Pada bagian ini yang akan di struct adalah tanggal yang terdiri dari tgl dan tahun bertipe integer serta bulan yang memiliki tipe data string. Kemudian data yang di stuct dalam variable tanggal diberi variable kembali setelah tanda } diberi nama variable yaitu lahir. struct alamat { string kecamatan,kota; }asal; Kemudian selanjutnya alamat akan dibuat struct. Didalamnya terdiri kecamatan dan kota yang bertipe data string. Kemudian diberi variable baru yaitu asal. struct tugas { int tugas1,tugas2;
  • 10. }total; Kemudian selanjutnya variable tugas akan dibuat struct data yang terdiri dari tugas1 dan tugas 2 yang bertipe data integer. Kemudian diberi variable baru yaitu total. struct nilai { int utp,uap,nilaiakhir; tugas total; }skor; Kemudian yang selanjutnya di struct adalah variabel nilai yang terdiri dari variabel utp,uap,nilaiakhir yang memiliki tipe data integer. Dan variabel tugas total yang berasal dari struct data sebelumnya yaitu struct tugas total. Kemudian struct data ini diberi variabel yaitu skor. struct biodata { string nama; int NIM; tanggal lahir; alamat asal; nilai skor; string nilaihuruf; }data[10]; Kemudian selanjutnya yang akan di struct adalah variabel biodata yang terdiri dari nama dan nilai huruf yang memiliki tipe data string dan NIM yang bertipe data integer. karena tanggal lahir,alamat asal,nilai skor telah
  • 11. dibuat struct sebelumnya sehingga hanya cukup dituliskan variabelnya tanpa harus menuliskan tipe datanya. Kemudian struct data ini diberi nama data[10] yang merupakaan array. int n,i; variabel n dan i yang memiliki tipe data integer. cout<<"masukkan banyaknya data :";cin>>n; Perintah keluaran yaitu masukkan banyaknya data yang kemudian dilanjutkan dengan memasukkan inputan yang diberi nama variabel n yang telah dideskripsikan sebelumnya dengan tipe data integer. for(i=0;i<n;i++) membuat perulangan dengan variabel i yang diberi nilai awal 0 yang akan berjalan dengan syarat jika nilainya kurang dari n dan akan bertambah setelah proses dilakukan. Perulangan yang dilakukan adalah sesuai dengan perintah dibawah ini. { cout<<"data ke - "<<i+1; menampilan output berupa kalimat data ke- yang nantinya i+1 sehingga akan berubah sesuai dengan bertambahnya nilai i. cout<<"nMasukkan nama : "; menampilkan output berupa kalimat masukkan nama. cin>>data[i].nama; kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[10] variabel nama sehingga dituliskan data[i].nama penulisan [i] hal ini dikarenakan menyesuaikan dengan perulangannya (penulisannya harus sesuai dengan urutan). cout<<"masukkan nim : ";
  • 12. menampilkan output data yaitu masukkan nim. cin>>data[i].NIM; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dengan variabel NIM sehingga dituliskan data[i].NIM. cout<<"masukkan tanggal lahir : "; menampilkan output data berupa masukkan tanggal lahir. cin>>data[i].lahir.tgl ; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir dengan variabel tgl. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan bulan lahir: "; menampilkan output data yang berupa masukkan bulan lahir. cin>>data[i].lahir.bulan; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir dengan variabel bulan. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan tahun lahir : "; menampilkan output berupa masukkan tahun lahir. cin>>data[i].lahir.tahun; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct lahir dengan variabel tahun. Penulisannya harus berurutan mengingat struct ini bertingkat.
  • 13. cout<<"masukkan alamat asal, kecamatan : "; menampilkan output berupa masukkan alamat asal,kecamatan. cin>>data[i].asal.kecamatan; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct asal dengan variabel kecamatan. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan alamat asal,kota : "; menampilkan output berupa masukkan alamat asal,kota. cin>>data[i].asal.kota; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct asal dengan variabel kota. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan nilai tugas pertama : "; menampilkan output berupa masukkan nilai tugas pertama cin>>data[i].skor.total.tugas1; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor dan skor total dengan variabel tugas1. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan nilai tugas kedua : "; menampilkan output berupa masukkan nilai tugas kedua. cin>>data[i].skor.total.tugas2; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor
  • 14. dan struct total dengan variabel tugas2. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan nilai UTP : "; Kemudian menampilkan output berupa masukkan nilai UTP. cin>>data[i].skor.utp; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor dengan variabel utp. Penulisannya harus berurutan mengingat struct ini bertingkat. cout<<"masukkan nilai UAP : "; Kemudian menampilkan outpit berupa masukkan nilai UAP cin>>data[i].skor.uap; Kemudian memasukkan data yang berasal dari struct yang telah dibuat sebelumnya. Pada bagian ini data berasal dari struct data[i] dan struct skor dengan variabel uap. Penulisannya harus berurutan mengingat struct ini bertingkat. data[i].skor.nilaiakhir=((data[i].skor.total.tugas1+data[i].skor.total.tug as2)*0.25*0.5)+data[i].skor.utp*0.3+data[i].skor.uap*0.45; Kemudian terdapat operasi perhitungan nilai akhir penulisannya adalah data[i].skor.nilaiakhir hal ini dikarenakan variabel nilai akhir ini berasal dari struct data[i] dan struct skor yang berurutan. Sehingga penulisannya harus beruruta dimana perhitungannya adalah =((data[i].skor.total.tugas1+data[i].skor.total.tugas2)*0.25*0.5)+data[i] .skor.utp*0.3+data[i].skor.uap*0.45 penulisan variabel yang dihitung juga sama dengan menyertakan asal struct dari variabel tersebut secara berurutan }
  • 15. cout<<"-------------------------------------------------------------------------------- "; menampilkan ouput berupa ----------------------- diberi tanda kutip karena merupakan karakter. cout<<endl; berfungsi untuk menuju baris selanjutnya (enter). cout<<"Nama "<<" NIM "<<" Tanggal Lahir "<<" Alamat Asal "<<" Nilai Akhir "<<" Nilai Huruf"; berfungsi untuk menampilkan output Nama, NIM, Tanggal Lahir, Alamat Asal, Nilai Akhir, dan Nilai Huruf dengan jarak tertentun sehingga diberi spasi didalamnya untuk memberi jarak pada setiap karakter yang ditulisnya. cout<<endl; berfungsi untuk menuju baris selanjurnya (enter). cout<<"-------------------------------------------------------------------------------- "; menampilkan output berupa ---------------------------- diberi tanda kutip karena merupakan karakter. cout<<endl; berfungsi untuk menampilkan baris selanjurnya (enter). for(i=0;i<n;i++) perulangan variabel i dengan nilai awal 0 dengan syarat i kurang dari n dan nilai i akan bertambah. Perintah yang dilakukan dalam perulangan adalah seperti perintah dibawah ini : { cout<<data[i].nama<<" ";
  • 16. menampilkan output berupa struct data data[i].nama dengan pemberian spasi sehingga akan dibuat jarak. Oleh karena itu pengaturan spasi diperlukan. cout<<data[i].NIM<<" "; menampilkan output berupa struct data data[i].nim dengan pemberian spasi sehingga akan dibuat jarak. Oleh karena itu pengaturan spasi diperlukan. cout<<data[i].lahir.tgl<<"-"<<data[i].lahir.bulan<<"- "<<data[i].lahir.tahun<<" "; menampilkan output berupa struct data dari data[i].lahir.tgl, data[i].lahir.bulan, data[i].lahir.tahun. dengan penggalan - berupa karakter dan pengaturan spasi sebagai jarak cout<<data[i].asal.kecamatan<<","<<data[i].asal.kota<<" "; menampilkan output berupa data[i].asal.kecamatan dan penggalan , berupa karakter dan data[i].asal.kota diberi jarak melalui pengaturan spasi. cout<<data[i].skor.nilaiakhir<<" "; menampilkan output berupa data[i].skor.nilaiakhir diberi jarak dengan mengatur spasi. if(data[i].skor.nilaiakhir>80) data[i].nilaihuruf="A"; fungsi pengandaian apabila (data[i].skor.nilaiakhir>80) maka data[i].nilaihuruf="A". else if(data[i].skor.nilaiakhir>70) data[i].nilaihuruf="B"; fungsi pengandaian apabila (data[i].skor.nilaiakhir>70) maka data[i].nilaihuruf="B".
  • 17. else if(data[i].skor.nilaiakhir>60) data[i].nilaihuruf="C"; fungsi pengandaian apabila (data[i].skor.nilaiakhir>60) maka data[i].nilaihuruf="C". else if(data[i].skor.nilaiakhir>50) data[i].nilaihuruf="D"; fungsi pengandaian apabila (data[i].skor.nilaiakhir>50) maka data[i].nilaihuruf="D" else selain itu, maka yang dilakukan adalah data[i].nilaihuruf="E"; data[i].nilaihuruf="E"; cout<<" "<<data[i].nilaihuruf<<" "; menampilkan output berupa data[i].nilaihuruf dan pemberian jarak menggunakan pengaturan spasi. cout<<endl; berfungsi untuk menuju baris baru (enter ); } getch(); berfungsi untuk menghentikan program skrip program dan melanjutkannya setelah kita menekan tombol Enter. Skrip getch(); ini memiliki header file conio.h. }