0% found this document useful (0 votes)
122 views20 pages

Tugas Struktur Data: Teknik Informatika Teknologi Informasi Institut Tekhnologi Adhi Tama Surabaya 2010

This document contains source code for several data structure programs in C++ including arrays with 2 and 3 dimensions, structures, and single linked lists. It also includes the names and student IDs of the programmers who worked on the tugas struktur data assignment. The programs demonstrate storing and manipulating student data such as name, student ID, course, grade, and calculating averages across arrays and linked lists.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views20 pages

Tugas Struktur Data: Teknik Informatika Teknologi Informasi Institut Tekhnologi Adhi Tama Surabaya 2010

This document contains source code for several data structure programs in C++ including arrays with 2 and 3 dimensions, structures, and single linked lists. It also includes the names and student IDs of the programmers who worked on the tugas struktur data assignment. The programs demonstrate storing and manipulating student data such as name, student ID, course, grade, and calculating averages across arrays and linked lists.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 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