Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 20

TUGAS STRUKTUR DATA

ANDI YUSANTO ( 06.2009.1.04855 )


FAUZAN HABIBI ( 06.2009.1.04846 )
KHOIRUL AJI P. ( 06.2009.1.04854 )
ADITYA SAPUTRA ( 06.2009.1.05040 )
ROFIANTONO ( 06.2009.1.04864 )

TEKNIK INFORMATIKA
TEKNOLOGI INFORMASI
INSTITUT TEKHNOLOGI ADHI TAMA SURABAYA
2010
Source code program array 2 dimensi
#include<iostream.h>
#include<conio.h>
void main()
{
int n,kj,mk,ms;
float nilai [30][30];
float rata,jum;
//clrscr();
cout<<"===============\n";
cout<<"ARRAY DIMENSI 2"<<endl;
cout<<"===============\n";
cout<<"Mencari Nilai rata-rata dari setiap Mata Kuliah"<<endl;
cout<<"-----------------------------------------------\n";
cout<<"Jumlah Mahasiswa = ";
cin>>n;
cout<<"Jumlah Mata Kuliah = ";
cin>>kj;
mk=1;
do
{
jum = 0;
ms=1;
do
{
cout<<"Nilai Mata Kuliah "<<mk<<" Mahasiswa "<<ms<<" = ";
cin>>nilai[kj][n];
jum = jum+nilai[kj][n];
ms++;
}while(ms<=n);
cout<<"-------------------------------\n";
cout<<"Jumlah total nilai = "<<jum<<endl;
rata=jum/n;
cout<<"rata-rata nilai = "<<rata;
cout<<endl;
cout<<"-------------------------------\n";
mk++;
}while(mk<=kj);
getch();
}
Source code program array 3 dimensi
#include<iostream.h>
#include<conio.h>
void main()
{
int mk,ms,kl,ls,kj,n;
float nilai[10][10][10];
float rata,jum;
//clrscr();
cout<<"===============\n";
cout<<"ARRAY DIMENSI 3"<<endl;
cout<<"===============\n";
cout<<"Mencari Nilai rata-rata dari setiap Mata Kuliah"<<endl;
cout<<"-----------------------------------------------\n";
cout<<"Jumlah Kelas = ";
cin>>ls;
cout<<"Jumlah Mahasiswa = ";
cin>>n;
cout<<"Jumlah Mata Kuliah = ";
cin>>kj;
kl=1;
do
{
mk=1;
do
{
ms=1;
jum = 0;
do
{
cout<<"Nilai Kelas "<<kl<<" Mata Kuliah "<<mk<<"
Mahasiswa "<<ms<<" = ";
cin>>nilai[ls][kj][n];
jum = jum+nilai[ls][kj][n];
ms++;
}while(ms<=n);
cout<<"-------------------------------\n";
cout<<"Jumlah total nilai = "<<jum<<endl;
rata=jum/n;
cout<<"rata-rata nilai = "<<rata;
cout<<endl;
cout<<"-------------------------------\n";
mk++;
}while(mk<=kj);
kl++;
}while(kl<=ls);

getch();
}
Source code program struct
#include<stdio.h>
void main ()

{
printf("tugas struktur data data record\n");
struct data
{
char npm[20];
char nama[30];
char alamat[70];
char matakuliah[20];
float nilai;
char huruf;
};
int n;
printf("masukkan banyak mahasiswa= ");
scanf("%d",&n);
data datamahasiswa[100];
for (int i=1;i<=n;i++)
{
fflush(stdin);
printf("masukkan npm mahasiawa= ");
gets(datamahasiswa[i].npm);
printf("masukkan nama mahasiswa= ");
gets(datamahasiswa[i].nama);
printf("masukkan alamat mahasiswa= ");
gets(datamahasiswa[i].alamat);
printf("masukkan mata kuliah yang diambil= ");
gets(datamahasiswa[i].matakuliah);
printf("masukkan nilai mahasiswa= ");
scanf("%f",&datamahasiswa[i].nilai);
}
for ( i=1;i<=n;i++)
{
if(datamahasiswa[i].nilai>=80.56 && datamahasiswa[i].nilai<=100)
datamahasiswa[i].huruf='A';
else if(datamahasiswa[i].nilai>=65.56 && datamahasiswa[i].nilai<80.56)
datamahasiswa[i].huruf='B';
else if(datamahasiswa[i].nilai>=65.56 && datamahasiswa[i].nilai<80.56)
datamahasiswa[i].huruf='C';
else if(datamahasiswa[i].nilai>=45.56 && datamahasiswa[i].nilai<55.56)
datamahasiswa[i].huruf='D';
else
datamahasiswa[i].huruf='E';
}
for(i=1;i<=n;i++)
{
printf("data mahasiswa ke - %i :\n",i);
printf("\tnpm\t\t:%s\n",datamahasiswa[i].npm);
printf("\tnama\t\t:%s\n",datamahasiswa[i].nama);
printf("\talamat\t\t:%s\n",datamahasiswa[i].alamat);
printf("\tmatakuliah\t:%s\n",datamahasiswa[i].matakuliah);
printf("\tnilai angka\t:%f\n",datamahasiswa[i].nilai);
printf("\tnilai huruf\t:%c\n",datamahasiswa[i].huruf);
}
}
Source code program single link list

#include<stdio.h>
#include<iostream.h>
#include<string.h>
class singlelinklist
{
private:
struct record
{
char npm[10];
char nama[20];
char matakuliah[20];
int nilai;
char huruf;
struct record *next;
};
private:
record *awal;
private:
void tambahawal (char npm[],char nama[],char matakuliah[],int nilai)
{
record *data;
data=awal;
awal=new record;
strcpy(awal->npm,npm);
strcpy(awal->nama,nama);
strcpy(awal->matakuliah,matakuliah);
awal->nilai=nilai;
awal->next=data;
cout<<"penambahan awal selesai\n";

}
void tambahakhir(char npm[],char nama[],char matakuliah[],int nilai)
{
record *B,*data;
if(awal==NULL)
{
awal=new record;
strcpy(awal->npm,npm);
strcpy(awal->nama,nama);
strcpy(awal->matakuliah,matakuliah);
awal->nilai=nilai;
awal->next=NULL;
}
else
{
B=awal;
while(B->next!=NULL)
B=B->next;
data=new record;
strcpy(data->npm,npm);
strcpy(data->nama,nama);
strcpy(data->matakuliah,matakuliah);
data->nilai=nilai;
data->next=NULL;
B->next=data;
}
cout<<"penambahn akhir selesai\n";
}
void tambahtengah(char npm[],char nama[],char matakuliah[],int nilai,int posisi)
{
record *B1,*B2;
B1=awal;
if(B2==NULL)
{
B2=new record;
strcpy(B2->npm,npm);
strcpy(B2->nama,nama);
strcpy(B2->matakuliah,matakuliah);
B2->nilai=nilai;
B2->next=NULL;
awal=B2;
return;
}
int i=0;
while((i<posisi)&&(B1->next!=NULL))
{
if(i==(posisi-1))
{
B2=new record;
strcpy(B2->npm,npm);
strcpy(B2->nama,nama);
strcpy(B2->matakuliah,matakuliah);
B2->nilai=nilai;
B2->next=B1->next;
B1->next=B2;
}
i++;
B1=B1->next;
}
cout<<"penambahan tengah selesai\n";
}
void hapusawal()
{
record *B;
B=awal;
if(awal==NULL)
{
cout<<"list kosong\n";
return;
}
awal=B->next;
delete B;
return;
}
void hapusakhir()
{
record *B;
B=awal;
if(awal==NULL)
{
cout<<"list kosong\n";
return;
}
if(B->next==NULL)
{
awal=B->next;
delete B;
return;
}
while(B->next->next!=NULL)
B=B->next;
B->next=NULL;
return;
}
void hapustengah(char npm[])
{
record *B1,*B2;
B1=awal;
if(strcmp(B1->npm,npm)==0)
{
awal=B1->next;
delete B1;
return;
}
B2=B1;
while(B1!=NULL)
{
if(strcmp(B1->npm,npm)==0)
{
B2->next=B1->next;
delete B1;
return;
}
B2=B1;
B1=B1->next;
}
cout<<"npm : "<<npm<<" tidak ditemukan\n";
}
void cetakdata()
{
record *B;
B=awal;
if(B==NULL)
{
cout<<"tidak ada data yang dimasukkan\n";
return;
}
int i=1;
while(B!=NULL)
{
cout<<"data mahasiswa ke -"<<i<<"\n";
cout<<"\tnpm mahasiswa\t\t\t = "<<B->npm<<"\n";
cout<<"\tnama mahasiswa\t\t\t = "<<B->nama<<"\n";
cout<<"\tmata kuliah yang diambil\t= "<<B->matakuliah<<"\n";
cout<<"\tnilai mahasiswa\t\t\t= "<<B->nilai<<"\n";
B=B->next;
i++;
}
}
int caridata(char npm[])
{
record *B;
B=awal;
int posisi=0;
while(B!=NULL)
{
if(strcmp(B->npm,npm)==0)
return posisi+1;
else
{
B=B->next;
posisi=posisi+1;
}
}
cout<<"npm : "<<npm<<" tidak ditemukan\n";
return 0;
}

void namakelompok()
{
cout<<"tugas single link list\n";
cout<<"nama kelompok : \n";
cout<<"\t1.Fauzan Habibi\t\t(06.2009.1.04846)\n";
cout<<"\t1.Rofiantono\t\t(06.2009.1.04864)\n";
cout<<"\t1.Khoirul Aji Pratama\t(06.2009.1.04854)\n";
cout<<"\t1.Aditya Saputra\t(06.2009.1.05040)\n";
cout<<"\t1.Andi Yusanto\t\t(06.2009.1.04855)\n";
}
public:
void operasi()
{
char npm[10];
char nama[20];
char matakuliah[20];
int nilai;
int pilihan1,pilihan2,posisi;
do
{
cout<<"pilihan:\n";
cout<<"\t1.penambahan\n";
cout<<"\t2.penghapusan\n";
cout<<"\t3.pencarian\n";
cout<<"\t4.cetak data\n";
cout<<"\t5.keluar\n";
cout<<"masukkan pilihan anda =";
cin>>pilihan1;

switch(pilihan1)
{
case 1:
cout<<"masukkan data mahasiswa \n";
//fflush(stdin);
cin.getline(npm,10);
cout<<"masukkan npm mahasiswa = ";
cin.getline(npm,10);
//fflush(stdin);
cout<<"masukkan nama mahasiswa= ";
cin.getline(nama,20);
cout<<"masukkan matakuliah mahasiswa= ";
cin.getline(matakuliah,20);
cout<<"masukkan nilai mahasiswa = ";
cin>>nilai;
cout<<"\t1.tambah awal\n";
cout<<"\t2.tambah akhir\n";
cout<<"\t3.tambah tengah\n";
cout<<"masukkan pilian anda = ";
cin>>(pilihan2);
switch(pilihan2)
{
case 1:
tambahawal(npm,nama,matakuliah,nilai);
break;
case 2:
tambahakhir(npm,nama,matakuliah,nilai);
break;
case 3:
cout<<"data ditambahkan setelah posisi : ";
cin>>posisi;
tambahtengah(npm,nama,matakuliah,nilai,posisi);
break;
}
break;
case 2:
cout<<"\t1.hapus awal\n";
cout<<"\t2.hapus akhir\n";
cout<<"\t3.hapus tengah\n";
cout<<"masukkan pilihan anda = ";
cin>>pilihan2;
switch(pilihan2)
{
case 1:
hapusawal();
break;
case 2:
hapusakhir();
break;
case 3:
cout<<endl;
cin.getline(npm,10);
cout<<"masukkan npm yang ingi dihapus = ";
cin.getline(npm,10);
hapustengah(npm);
break;
}
break;
case 3:
cin.getline(npm,10);
cout<<"masukkan npm yang ingin dicari = ";
cin.getline(npm,10);
cout<<"data mahasiswa ada pada posisi
"<<caridata(npm)<<"\n";
break;
/*
default:
cout<<"pilihan yang anda masukkan salah\n";
break;*/
case 4:
cetakdata();
}
}while(pilihan1!=5);
}
public :
singlelinklist()
{
awal=NULL;
}
~singlelinklist()
{
record *q;
if(awal==NULL) return;
while(awal!=NULL)
{
q=awal->next;
delete awal;
awal=q;
}
}
};
void main ()
{
singlelinklist dor;
dor.operasi();
}

You might also like