Struktur data C++

4 July 2010 at 21:49 (Algoritma & Metode OOP (C++))

Week 3 – Tugas Individu 3 – 0454T

1. Buatlah program untuk mencari nilai minimum dari 10 buah bilangan bulat yang diinputkan oleh user.

Jawaban Programnya:

#include <iostream>

using namespace std;

int main()

{

int x [10];

int min;

cout<<“Masukkan 10 angka : “<< endl;

for (int i = 1;i<=10;i++)

{

cout<<“Bilangan ke-“<<i<<” : “;

cin>>x[i];

cout<<endl;

if (i==1)

{min=x[1];}

else

{

if (x[i]<min)

{min=x[i];}

}

}

cout<<“Bilangan minimum adalah : “<<min<<endl;

system(“pause”);

}

2. Buatlah program untuk mencari nilai maksimum dari N buah bilangan bulat yang diinputkan oleh user.

Jawaban Programnya:

#include <iostream>

using namespace std;

int main()

{

int x [10];

int max,a;

cout<<“Jumlah bilangan yang akan dibandingkan : “;

cin>>a;

cout<<“\nMasukkan ke-“<<a<<” bilangan tersebut : “<< endl;

for (int i = 1;i<=a;i++)

{

cout<<“Bilangan ke-“<<i<<” : “;

cin>>x[i];

cout<<endl;

if (i==1)

{max=x[1];}

else

{

if (x[i]>max)

{max=x[i];}

}

}

cout<<“Bilangan maximum adalah : “<<max<<endl;

system(“pause”);

}

3. Buatlah program dengan struct untuk menginputkan sejumlah data mahasiswa yang terdiri dari NIM, NAMA dan IPK, kemudian menampilkannya data yang sudah diinputkan tersebut dalam bentuk table dengan kolom NIM, NAMA, dan IPK.

Jawaban Programnya:

#include <iostream>

#include <iomanip>

using namespace std;

struct mhs

{

char NIM[11];

char NAMA[30];

float IPK;

};

typedef mhs mhsarr[100];

int main()

{

mhsarr x;

bool keluar=false;

int menu,i=0, z=0;

while (keluar==false)//menampilkan menu utama

{

cout << “\nMENU UTAMA”;

cout << “\n1. Input Data Mahasiswa”;

cout << “\n2. Tampil Data Mahasiswa”;

cout << “\n3. Keluar”;

cout << “\n\nMasukan pilihan anda [1-3] :”;

cin >> menu;

if(menu==1)

{

cout<<“\nNIM : “;

cin>>x[z].NIM;

cout<<“NAMA: “;

cin>>x[z].NAMA;

cout<<“IPK : “;

cin>>x[z].IPK;

cout<<endl;

z++;

}

else if (menu==2)

{

cout << “\n=====================================================”;

cout<<“\n|”<<setw(13)<<“NIM |”;

cout<<setw(32)<<“NAMA |”<<setw(7)<<“IPK |”<<endl;

cout << “=====================================================\n”;

for (int i=0;i<z;i++)

{

cout<<“|”<<setw(11)<<x[i].NIM<<” |”;

cout<<setw(30)<<x[i].NAMA<<” |”;

cout<<setw(5)<<x[i].IPK<<” |”<<endl;

}

cout << “=====================================================\n”;

}

else  if (menu=3)

{

keluar=true;

cout << “Terima Kasih\n”;

}

}

system(“pause”);

}

4. Buatlah program dengan struct untuk menampilkan NIM dan NAMA mahasiswa yang mempunyai IPK tertinggi dari soal nomor 1 di atas..

Jawaban Programnya:

#include <iostream>

#include <iomanip>

using namespace std;

struct mhs

{

char NIM[11];

char NAMA[30];

float IPK;

};

typedef mhs mhsarr[100];

int main()

{

mhsarr x;

bool keluar=false;

int menu,i=0,z=0,y;

float maks;

while (keluar==false)//menampilkan menu utama

{

cout << “\nMENU UTAMA”;

cout << “\n1. Input Data Mahasiswa”;

cout << “\n2. Tampil Data Mahasiswa”;

cout << “\n3. Tampil Data IPK Tertinggi”;

cout << “\n4. Keluar”;

cout << “\n\nMasukan pilihan anda [1-4] :”;

cin >> menu;

if(menu==1)

{

cout<<“\nNIM : “;

cin>>x[z].NIM;

cout<<“NAMA: “;

cin>>x[z].NAMA;

cout<<“IPK : “;

cin>>x[z].IPK;

cout<<endl;

z++;

}

else if (menu==2)

{

cout << “\nDaftar Mahasiswa”;

cout << “\n=====================================================”;

cout<<“\n|”<<setw(13)<<“NIM |”;

cout<<setw(32)<<“NAMA |”<<setw(7)<<“IPK |”<<endl;

cout << “=====================================================\n”;

for (int i=0;i<z;i++)

{

cout<<“|”<<setw(11)<<x[i].NIM<<” |”;

cout<<setw(30)<<x[i].NAMA<<” |”;

cout<<setw(5)<<x[i].IPK<<” |”<<endl;

}

cout << “=====================================================\n”;

}

else if (menu==3)

{

cout << “\nIPK Tertinggi”;

cout << “\n=====================================================”;

cout<<“\n|”<<setw(13)<<“NIM |”;

cout<<setw(32)<<“NAMA |”<<setw(7)<<“IPK |”<<endl;

cout << “=====================================================\n”;

for (int i=0;i<z;i++)

{

if (x[i].IPK > maks)

{maks=x[i].IPK;

y=i;}

}

cout<<“|”<<setw(11)<<x[y].NIM<<” |”;

cout<<setw(30)<<x[y].NAMA<<” |”;

cout<<setw(5)<<x[y].IPK<<” |”<<endl;

cout << “=====================================================\n”;

}

else  if (menu=4)

{

keluar=true;

cout << “Terima Kasih\n”;

}

}

system(“pause”);

}

5. Buatlah program dengan struct untuk menginputkan dua buah titik dalam koordinat 3D dan menampilkan panjang atau jarak kedua titik tersebut.

Jawaban Programnya

#include <iostream>

#include <math.h>

using namespace std;

struct ko

{

int x;

int y;

int z;

};

typedef ko koor[2];

int main()

{

koor k;

float d,dx,dy,dz;

for (int i=1;i<=2;i++)

{

cout<<“Masukkan koordinat titik ke-“<<i<<” : “<<endl;

cout<<” X : “;

cin>>k[i].x;

cout<<” Y : “;

cin>>k[i].y;

cout<<” Z : “;

cin>>k[i].z;

cout<<endl;

}

dx=(k[1].x-k[2].x)*(k[1].x-k[2].x);

dy=(k[1].y-k[2].y)*(k[1].y-k[2].y);

dz=(k[1].z-k[2].z)*(k[1].z-k[2].z);

d=sqrt(dx+dy+dz);

cout<<“Jarak kedua titik adalah sejauh “<<d<<endl;

system(“pause”);

}

Save to PDF

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: