laporan struktur data 1

8
Praktikum 1 Array, Struktur, dan Pointer 1.1 Tujuan Setelah melakukan praktikum ini siswa diharapkan mengerti : 1. Struktur data bukan sekedar tipe data 2. Macam-macam cara menyimpan data 3. Definisi dari array dan bagaimana menggunakannya. 4. Definisi dari struktur dan bagaimana menggunakannya. 5. Definisi pointer dan bagaimana menggunakannya. 1.2 Latihan Program 1. Mendeklarasikan, memasukkan data, dan menampilkan data pada array 1D #include <stdio.h> #define MAK 10 void main (void) { int bil [MAK]; int i,n; printf (“Inputkan 10 bilangan :\n”); for (i=0;i<MAK;i++) { printf (“Bilangan ke %d :”, i+1); scanf (“%d”, &bil[i]); } while (1) { printf (“\nBilangan ke yang akan ditampilkan = ”); scanf (“%d”, &n); if(n==0) break; else if(n>MAK) { printf (“S/D Bilangan ke %d\n”, MAK); continue; } printf (“Bilangan ke %d adalah = %d”, n, bil[n-1]); } }

Upload: andwi-putra-nugraha

Post on 26-Mar-2015

118 views

Category:

Documents


6 download

DESCRIPTION

waka.. waka..

TRANSCRIPT

Page 1: Laporan Struktur Data 1

Praktikum 1Array, Struktur, dan Pointer

1.1 TujuanSetelah melakukan praktikum ini siswa diharapkan mengerti :1. Struktur data bukan sekedar tipe data2. Macam-macam cara menyimpan data3. Definisi dari array dan bagaimana menggunakannya.4. Definisi dari struktur dan bagaimana menggunakannya.5. Definisi pointer dan bagaimana menggunakannya.

1.2 Latihan Program1. Mendeklarasikan, memasukkan data, dan menampilkan data pada array 1D

#include <stdio.h>#define MAK 10void main (void){int bil [MAK];int i,n;printf (“Inputkan 10 bilangan :\n”);for (i=0;i<MAK;i++){

printf (“Bilangan ke %d :”, i+1);scanf (“%d”, &bil[i]);

}while (1){

printf (“\nBilangan ke yang akan ditampilkan = ”);scanf (“%d”, &n);if(n==0)

break;else if(n>MAK){

printf (“S/D Bilangan ke %d\n”, MAK);continue;

}printf (“Bilangan ke %d adalah = %d”, n, bil[n-1]);

}}

2. Mendeklarasikan, menganalisa, proses dan menampilkan data pada array 2D

Page 2: Laporan Struktur Data 1

#include <stdio.h>#define MAK 3void main (void){

int matA [MAK] [MAK] = {{1,1,1},{0,0,0},{1,1,1}};int matB [MAK] [MAK] = {{1,1,1},{1,1,1},{1,1,1}};int matC [MAK] [MAK];int i,j;for (i=0;i<MAK;i++){

for (j=0;j<MAK;j++){matC [i] [j] = matA [i] [j] + matB [i] [j];printf (“%d\t”, matC [i] [j]);} printf (“\n”);

} getch();}

3. Mendeklarasikan, menginisialisasi, proses dan menampilkan data struktur#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX 10struct dtnilai{ char nrp [10];

char nama [20];double nilai [MAX]; } ;

main (){ struct dtnilai data;

int i, jml; char strnilai [5],strjum [5];printf (“NRP : ”); gets(data.nrp);printf (“Nama : ”); gets(data.nama);printf (“JML Test : ”); gets(strjum); jml=atoi(strjum);for (i=0;i<jml;i++){

printf (“Nilai Test %d :”,i+1);gets(strnilai); data.nilai[i]=atof(strnilai);}

printf (“Data mahasiswa yang telah diinputkan :\n”);printf (“NRP : %s\n”,data.nrp);printf (“Nama : %s\n”,data.nama);for (i=0;i<jml;i++){printf(“Nilai Test %d : %1f\n”,i+1,data.nilai[i]);}

getch()}

Page 3: Laporan Struktur Data 1

4. Memesan tempat di memori, mendeklarasikan, memberikan nilai, mengcopy alamat dari pointer.#include <stdio.h>#include <stdlib.h>void p (void);int *a, *b;void main (){ p (); }void p (void){a=(int *)malloc(sizeof(int));b=(int *)malloc(sizeof(int));*a=19;*b=5;a=b;*b=7;printf(“Alamat a= %x\t Isi a= %d\n”,a, *a);printf(“Alamat b= %x\t Isi b= %d\n”,b,*b);}

5. Memesan tempat di memori, mendeklarasikan, memberikan nilai, mengcopy alamat dari pointer dan membebaskan lokasi memori.#include <stdio.h> printf(“Alamat a= %x\t Isi a= %d\n”,a, *a);#include <stdlib.h> printf(“Alamat b= %x\t Isi b= %d\n”,b,*b);void p (void); }int *a, *b;void main (){ p (); }void p (void){a=(int *)malloc(sizeof(int));b=(int *)malloc(sizeof(int));*a=19;*b=5;free(a);a=b;*b=7;

Page 4: Laporan Struktur Data 1

6. Memesan tempat di memori, mendeklarasikan, memberikan nilai, mengcopy isi dari pointer.#include <stdio.h>#include <stdlib.h>void p (void);int *a, *b;void main (){ p (); }void p (void){a=(int *)malloc(sizeof(int));b=(int *)malloc(sizeof(int));*a=19;*b=5;free(a);*a=*b;*b=7;printf(“Alamat a= %x\t Isi a= %d\n”,a, *a);printf(“Alamat b= %x\t Isi b= %d\n”,b,*b);}

7. Menginisialisasi pointer struktur, memasukkan, memproses dan menampilkan data.

Page 5: Laporan Struktur Data 1

#include <stdio.h>#include <stdlib.h>main (){

struct dtnilai data [MAXSISWA], *ptrdata [MAXSISWA];int i, j, jml, jsiswa; double total, nratatot, totsiswa=0;char strnilai [5], strjum [5], strsiswa [5];for (i=0;i<MAXSISWA;i++){ ptrdata [i] = data+i; }

printf (“Banyaknya siswa :”); gets(strsiswa);jsiswa=atoi(strsiswa);for (j=0; j<jsiswa; j++){ printf (“Siswa ke %d\n”, j+1);

printf (“NRP :”); gets(ptrdata[j]->nrp);printf(“Nama :”); gets(ptrdata[j]->nama);printf(“JML Test :”); gets(strjum);jml=atoi(strjum);total=0;for (i=0; i<jml; i++){ printf (“Nilai Test %d :”, i+1);

gets(strnilai);ptrdata [j] > nilai [i] = atof (strnilai);total+=ptrdata [j] -> nilai [i];

}ptrdata [j] -> nrata = total/jml;}printf (“Data mahasiswa yang telah diinputkan :\n”);for (j=0;j<jsiswa;j++){ printf(“Siswa ke %d\n”,j+1);

printf(“NRP : %s\n”,ptrdata[j] ->nrp );printf(“Nama : %s\n”,ptrdata[j] ->nama);for (i=0;i<jml;i++){printf (“Nilai Test%d : %6.21f\n”,i+1,ptrdata[j] ->nilai [i]);

printf (“Nilai Rata2 Siswa ke %d = %621f\n”, j+1, ptrdata [j] > nrata);totsiswa +=ptrdata [j] ->nrata;}

nratatot=totsiswa/jsiswa;printf(“Nilai Rata2 Sel. Siswa = %6.21f\n”, nratatot);

}

8. Program aplikasi array 1D untuk megurutkan bilangan dengan metode buble sort

Page 6: Laporan Struktur Data 1

#include <stdio.h>#define MAX 20

void input(int jum);void buble (int jum);void output(int jum);int n, A[MAX];main(){

printf("Jumlah Bilangan :");scanf("%d", &n);input(n);buble(n);output(n);

}void input(int jum){ int i;

for (i=0;i<jum;i++){ printf("Bilangan ke %d :",i+1);

scanf("%d",&A[i]);}

}void buble(int jum){ int i,j,temp;

for (i=1;i<=jum-1;i++){ for (j=i;j<n;j++)

{if(A[i-1]>A[j]){ temp=A[i-1];

A[i-1]=A[j];A[j]=temp;

}}

}}void output(int jum){

int i;for(i=0;i<jum;i++){

printf("Bilangan ke %d = %d\n", i+1,A[i]);} getch();

}