ALGORITMA DAN PEMROGRAMAN
-------------------------------------------
#include
#include
#include
int main ()
{
/* Kamus */
#define true 1
#define false 0
int data[3][99], dataS[99];
int i, j, k, n, modus, quit, mins, frek[101];
int max = -999;
int temp = 0;
float median, rata;
float sum = 0;
/* Algoritma */
do
{
system ("cls");
printf ("\t============================\n");
printf ("\t: ARRAY STATIK DUA DIMENSI :\n\n");
printf ("+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+\n");
printf ("+. Pilih salah satu :\t\t\t .+ +\n");
printf ("+. (1) Input Data\t\t\t .+ + +\n");
printf ("+. (2) Cari Nilai Rerata (Mean)\t\t .+ + + +\n");
printf ("+. (3) Cari Nilai Tengah (Median)\t .+ + + + +\n");
printf ("+. (4) Cari Nilai Modus \t\t .+ + + +\n");
printf ("+. (5) Display Data\t\t\t .+ + +\n");
printf ("+. (0) Keluar Program\t\t\t .+ +\n");
printf ("+.+++++++++++++++++++++++++++++++++++++++.+\n");
printf ("Pilihan anda : ");
switch (getchar())
{
case '1' :
{
printf ("Masukkan banyaknya data (integer & <= 99 ) : ");
scanf ("%d", &n);
/* Input Data */
data[1][0] = -1;
for (j=1; j<=n; j++)
{
printf ("Masukkan NIM ke-%d (5 digit terakhir) : ", j);
scanf ("%d", &data[1][j]);
/* Validasi NIM harus 5 digit */
while ((data[1][j] < 10000) || (data[1][j] > 99999))
{
printf ("Maaf, NIM yang anda inputkan tidak sesuai, tolong inputkan NIM kembali.\n");
printf ("Masukkan NIM ke-%d (5 digit terakhir) : ", j);
scanf ("%d", &data[1][j]);
}
/* Validasi NIM unique */
if (j > 1)
{
for (k=1; k {
while (data[1][k] == data[1][j])
{
printf ("Maaf, NIM %d yang anda inputkan sudah diinputkan sebelumnya, tolong inputkan NIM kembali.\n", data[1][j]);
printf ("Masukkan 5 digit NIM akhir untuk data ke-%d =", j);scanf("%d", &data[1][j]);
}
}
}
printf ("Masukkan nilai : ");
scanf ("%d", &data[2][j]);
/* Jumlah Nilai (sum) */
sum = sum + data[2][j];
};
printf ("Jumlah nilai (sum) = %0.2f\n", sum);
printf ("Press any key to continue...");
getch ();
break;
}
case '2' :
{
/* Rerata (Mean) */
rata=sum / n;
printf ("Rerata Nilai (Mean) = %.2f\n", rata);
printf ("Press any key to continue...");
getch ();
break;
}
case '3' :
/* Mengurutkan data */
/* Mengisi array dataS dengan nilai(data[1]) dari array data */
{
for (j=1; j<=n; j++)
{
dataS[j] = data[2][j];
}
/* Mulai sorting */
for (j=1; j<=n; j++)
{
mins = dataS[j];
for (k=j; k<=n; k++)
{
if (dataS[k] < mins)
mins = dataS[k];
}
for (k=j; k<=n; k++)
{
if (dataS[k] == mins)
{
temp = dataS[k]; /* Menukar data */
dataS[k] = dataS[j];
dataS[j] = temp;
}
} /* Sorting selesai */
}
printf ("Data sebelum diurutkan= \n");
for (j=1; j<=n; j++)
{
printf ("\t\t\t%d \n", data[2][j]);
}
printf ("\nData setelah diurutkan= \n");
for (j=1; j<=n; j++)
{
printf ("\t\t\t%d \n", dataS[j]);
}
/* Cari Nilai Tengah (Median) */
if (n % 2 == 1)
median = dataS[(n + 1) / 2];
else
median = ((float)dataS[n/2] / 2) + ((float)dataS[n/2 + 1] /2);
printf ("\nNilai Tengah (Median) = %.2f\n", median);
printf ("Press any key to continue...");
getch ();
break;
}
case '4' :
/* Cari Banyak Nilai Yang Muncul (Modus) */
{
for (i=0; i<=99; i++)
{
frek[i] = 0;
for (j=1; j<=n; j++)
{
if (data[2][j] == i)
{
frek[i] = frek[i] + 1;
}
}
if (frek[i] > max)
{
max = frek[i];
modus = i;
}
}
printf ("Banyak Nilai Yang Muncul (Modus) = %d\n",modus);
printf ("Press any key to continue.");
getch ();
break;
}
case '5' :
{
printf ("Data setelah diurutkan : \n\n");
for (j=1; j<=n; j++)
{
printf ("%d \n",dataS[j], rata, median, modus);
};
printf ("Press any key to continue...");
getch ();
break;;
}
case '0' :
{
printf ("\t\t\t\t\nSEMANGATNYA");
quit=true;
break;
}
default:
printf ("Maaf, tidak ada pilihan yang anda maksud.\n");
break;
getchar ();
}
}
while (quit != true);
getch ();
return 0;
}
-------------------------------------------
#include
#include
#include
int main ()
{
/* Kamus */
#define true 1
#define false 0
int data[3][99], dataS[99];
int i, j, k, n, modus, quit, mins, frek[101];
int max = -999;
int temp = 0;
float median, rata;
float sum = 0;
/* Algoritma */
do
{
system ("cls");
printf ("\t============================\n");
printf ("\t: ARRAY STATIK DUA DIMENSI :\n\n");
printf ("+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+\n");
printf ("+. Pilih salah satu :\t\t\t .+ +\n");
printf ("+. (1) Input Data\t\t\t .+ + +\n");
printf ("+. (2) Cari Nilai Rerata (Mean)\t\t .+ + + +\n");
printf ("+. (3) Cari Nilai Tengah (Median)\t .+ + + + +\n");
printf ("+. (4) Cari Nilai Modus \t\t .+ + + +\n");
printf ("+. (5) Display Data\t\t\t .+ + +\n");
printf ("+. (0) Keluar Program\t\t\t .+ +\n");
printf ("+.+++++++++++++++++++++++++++++++++++++++.+\n");
printf ("Pilihan anda : ");
switch (getchar())
{
case '1' :
{
printf ("Masukkan banyaknya data (integer & <= 99 ) : ");
scanf ("%d", &n);
/* Input Data */
data[1][0] = -1;
for (j=1; j<=n; j++)
{
printf ("Masukkan NIM ke-%d (5 digit terakhir) : ", j);
scanf ("%d", &data[1][j]);
/* Validasi NIM harus 5 digit */
while ((data[1][j] < 10000) || (data[1][j] > 99999))
{
printf ("Maaf, NIM yang anda inputkan tidak sesuai, tolong inputkan NIM kembali.\n");
printf ("Masukkan NIM ke-%d (5 digit terakhir) : ", j);
scanf ("%d", &data[1][j]);
}
/* Validasi NIM unique */
if (j > 1)
{
for (k=1; k
while (data[1][k] == data[1][j])
{
printf ("Maaf, NIM %d yang anda inputkan sudah diinputkan sebelumnya, tolong inputkan NIM kembali.\n", data[1][j]);
printf ("Masukkan 5 digit NIM akhir untuk data ke-%d =", j);scanf("%d", &data[1][j]);
}
}
}
printf ("Masukkan nilai : ");
scanf ("%d", &data[2][j]);
/* Jumlah Nilai (sum) */
sum = sum + data[2][j];
};
printf ("Jumlah nilai (sum) = %0.2f\n", sum);
printf ("Press any key to continue...");
getch ();
break;
}
case '2' :
{
/* Rerata (Mean) */
rata=sum / n;
printf ("Rerata Nilai (Mean) = %.2f\n", rata);
printf ("Press any key to continue...");
getch ();
break;
}
case '3' :
/* Mengurutkan data */
/* Mengisi array dataS dengan nilai(data[1]) dari array data */
{
for (j=1; j<=n; j++)
{
dataS[j] = data[2][j];
}
/* Mulai sorting */
for (j=1; j<=n; j++)
{
mins = dataS[j];
for (k=j; k<=n; k++)
{
if (dataS[k] < mins)
mins = dataS[k];
}
for (k=j; k<=n; k++)
{
if (dataS[k] == mins)
{
temp = dataS[k]; /* Menukar data */
dataS[k] = dataS[j];
dataS[j] = temp;
}
} /* Sorting selesai */
}
printf ("Data sebelum diurutkan= \n");
for (j=1; j<=n; j++)
{
printf ("\t\t\t%d \n", data[2][j]);
}
printf ("\nData setelah diurutkan= \n");
for (j=1; j<=n; j++)
{
printf ("\t\t\t%d \n", dataS[j]);
}
/* Cari Nilai Tengah (Median) */
if (n % 2 == 1)
median = dataS[(n + 1) / 2];
else
median = ((float)dataS[n/2] / 2) + ((float)dataS[n/2 + 1] /2);
printf ("\nNilai Tengah (Median) = %.2f\n", median);
printf ("Press any key to continue...");
getch ();
break;
}
case '4' :
/* Cari Banyak Nilai Yang Muncul (Modus) */
{
for (i=0; i<=99; i++)
{
frek[i] = 0;
for (j=1; j<=n; j++)
{
if (data[2][j] == i)
{
frek[i] = frek[i] + 1;
}
}
if (frek[i] > max)
{
max = frek[i];
modus = i;
}
}
printf ("Banyak Nilai Yang Muncul (Modus) = %d\n",modus);
printf ("Press any key to continue.");
getch ();
break;
}
case '5' :
{
printf ("Data setelah diurutkan : \n\n");
for (j=1; j<=n; j++)
{
printf ("%d \n",dataS[j], rata, median, modus);
};
printf ("Press any key to continue...");
getch ();
break;;
}
case '0' :
{
printf ("\t\t\t\t\nSEMANGATNYA");
quit=true;
break;
}
default:
printf ("Maaf, tidak ada pilihan yang anda maksud.\n");
break;
getchar ();
}
}
while (quit != true);
getch ();
return 0;
}
Tidak ada komentar:
Posting Komentar