Pemograman Bahasa C++ ARRAY lengkap Soal Dan Jawaban.

22:05:00 , 2 Comments

          Selamat malam sobat blogger semua yang pada sibuk nyariin tuganya :D Kebetulan nie, malam ni ane mau share Tentang Pemograman Dasar Bahasa C++ Yang berjudul ARRAY, Tentu sudah pada tahu kan apa itu C++, Masak anak teknik gatau :D apa kata dunia ya kan....... !! oce, langsung saja dibawah ini ada sedikit ulasan mengenai ARRAY lengkap Soal dan Jawaban, Tapi maaf untuk analisanya belum tersedia jadi silahkan usaha sendiri ya, :D Semangat ya.......!!


A R R A Y

A. Tujuan Instruksional Khusus
1.      Mengerti konsep data array dalam bahasa C.
2.      Mengerti cara melakukan pemrograman sederhana dengan menggunakan array.
3.      Menjelaskan tentang array berdimensi satu
4.      Menjelaskan tentang array berdimensi dua
5.      Menjelaskan tentang array berdimensi banyak
6.      Menjelaskan tentang inisialisasi array tak berukuran.
7.      Menjelaskan array sebagai parameter fungsi

B. Dasar teori
            Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik.  Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama.  Nilai-nilai data di suatu array disebut dengan elemen-elemen array.  Letak urutan dari elemen-elemen array ditunjukkan oleh suatu subscript atau indeks. 
            Array bisa berupa array berdimensi satu, dua, tiga atau lebih.  Array berdimensi satu (one-dimensional array) mewakili bentuk suatu vektor.  Array berdimensi dua (two-dimensional array) mewakili bentuk dari suatu matriks atau tabel.  Array berdimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.

 1. Array Berdimensi Satu
            Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan.  Untuk mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kurawal ({}) yang dipisahkan dengan koma.

/* File program : jhari.c */

#include <stdio.h>

void main()
{
     int bulan, tahun, jhari;
     int jum_hari[12] =
     {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
     puts("MEMPEROLEH JUMLAH HARI");
     puts("PADA SUATU BULAN DAN SUATU TAHUN");
     puts("--------------------------------");
     printf("Masukkan bulan (1..12)    : ");
     scanf("%d", &bulan);
     printf("Masukkan tahunnya    : ");
     scanf("%d", &tahun);

     if(bulan == 2)
          if((tahun % 4 == 0) && (tahun % 100 != 0))
              jhari = 29;
          else
              jhari = 28;
     else
          jhari = jum_hari[bulan-1];
     printf("\nJumlah hari dalam bulan %d tahun %d adalah %d
hari\n", bulan, tahun, jhari);
}



Contoh eksekusi :

MEMPEROLEH JUMLAH HARI
PADA SUATU BULAN DAN SUATU TAHUN
--------------------------------
Masukkan bulan (1..12)  : 2
Masukkan tahunnya       : 1988

Jumlah hari dalam bulan 2 tahun 1988 adalah 29 hari



Pada program jhari.c di atas

     int jum_hari[12] =
     {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

merupakan instruksi untuk mendeklarasikan array jum_hari yang memiliki 12 elemen yang bersifat statis dan sekaligus melakukan inisialisasi terhadap masing-masing elemen array.
/* File program : inisial.c */

#include <stdio.h>
void main()
{
     int i;
     int values[] = {1,2,3,4,5,6,7,8,9};
     char word[] = {'H','e','l','l','o'};

     for(i = 0; i < 9; ++i )
          printf("values[%d] is %d\n", i, values[i]);
    
     printf("\n");
     for(i = 0; i < 6; ++i )
          printf("word[%d] is %c\n", i, word[i]);
}

Contoh eksekusi :

values[0] is 1
values[1] is 2
values[2] is 3
values[3] is 4
values[4] is 5
values[5] is 6
values[6] is 7
values[7] is 8
values[8] is 9

word[0] is H
word[1] is e
word[2] is l
word[3] is l
word[4] is o



Perhatikan, pada contoh inisial.c di atas, pendeklarasian nama variabel array tidak disertai ukuran yang mengindikasikan besarnya array.  Dalam kondisi seperti ini, C akan menginisialisasi ukuran array tersebut sejumlah elemen yang diberikan di dalam kurung kurawal pada saat proses inisialisasi.  Sehingga array values terdiri atas 9 elemen dan array word memiliki 5 elemen.
2. Beberapa Variasi dalam Mendeklarasikan Array
 Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang berdimensi satu), di antaranya adalah sebagai berikut :
§  int  numbers[10];
§  int numbers[10] = { 34, 27, 16 };
§  int numbers[] = { 2, -3, 45, 79, -14, 5, 9, 28, -1, 0 };
§  char text[] = "Welcome to New Zealand.";
§  float radix[12] = { 134.362, 1913.248 };
§  double radians[1000];

3. Array Berdimensi Dua
Data seperti yang disajikan pada Tabel 6-1, dapat disimpan pada sebuah array berdimensi dua. Dimensi pertama dari array digunakan untuk menyatakan kode program kursus dan dimensi kedua untuk menyatakan tahun kursus.

Tabel 1. Data Kelulusan Siswa Pada Sebuah Kursus Komputer
                   Tahun       1998             1999               2000
  Program

1. (INTRO)                     80               540                1032
2. (BASIC)                     15                 83                  301
3. (PASCAL)                   8                 12                    15
4. (C)                              10               129                  257

4. Mengakses Elemen Array
Array seperti data_lulus dapat diakses dalam bentuk
            data_lulus[indeks pertama, indeks kedua]
Contoh :
(1) data_lulus[0][1] = 540;
merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks pertama = 0 dan indeks kedua bernilai 1.

(2) printf(“%d”,data_lulus[2][0]);
merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama = 2 dan indeks kedua = 0.


Perhatikan contoh program di bawah ini.
/* File program : lulus.c
Contoh pemakaian array berdimensi dua */

#include <stdio.h>

void main( )
{
     int tahun, kode_program;
     int data_lulus[4][3] ;
     /* Memberikan data ke array */
     data_lulus[0][0] = 80;
     data_lulus[0][1] = 540;
     data_lulus[0][2] = 1032;
    
     data_lulus[1][0] = 15;
     data_lulus[1][1] = 83;
     data_lulus[1][2] = 301;
    
     data_lulus[2][0] = 8;
     data_lulus[2][1] = 12;
     data_lulus[2][2] = 15;
    
     data_lulus[3][0] = 10;
     data_lulus[3][1] = 129;
     data_lulus[3][2] = 257;
    
     /* proses utk memperoleh informasi jml siswa yg lulus */
     printf("Masukkan tahun dr data yg ingin anda ketahui ");
     printf("(1998..2000) : ");
     scanf("%d", &tahun);
     printf("Masukkan kode program kursus yang ingin anda
ketahui");
     printf("(1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C)  : ");
     scanf("%d", &kode_program);
     printf("\nTotal kelulusan program tsb = %d\n",
     data_lulus[kode_program - 1][tahun - 1998] );
}

Contoh eksekusi :

Masukkan tahun dr data yg ingin anda ketahui (1998…2000) : 2000
Masukkan kode program kursus dari data yang ingin anda ketahui (1 = INTRO, 2 = BASIC, 3 = PASCAL, 4 = C)  : 3

Total kelulusan program tsb = 15

5. Inisialisasi Array Berdimensi Dua

            Gambar berikut memberikan penjelasan tentang inisialisasi yang dilakukan terhadap array berdimensi dua :

0
1
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0

Gambar 5 Representasi inisialisasi array berdimensi dua


Untuk itu, deklarasi dan inisialisasi yang dilakukan berupa :

int huruf_A[8][8] = {

{ 0, 1, 1, 1, 1, 1, 0, 0 } ,

             { 0, 1, 0, 0, 0, 1, 0, 0 } ,
             { 0, 1, 0, 0, 0, 1, 0, 0 } ,
             { 1, 1, 1, 1, 1, 1, 1, 0 } ,
             { 1, 1, 0, 0, 0, 0, 1, 0 } ,
             { 1, 1, 0, 0, 0, 0, 1, 0 } ,
             { 1, 1, 0, 0, 0, 0, 1, 0 } ,
             { 0, 0, 0, 0, 0, 0, 0, 0 }
         
};

atau bisa juga ditulis sebagai berikut :

int huruf_A[8][8] =
        {  0, 1, 1, 1, 1, 1, 0, 0,
           0, 1, 0, 0, 0, 1, 0, 0,
           0, 1, 0, 0, 0, 1, 0, 0,
           1, 1, 1, 1, 1, 1, 1, 0,
           1, 1, 0, 0, 0, 0, 1, 0,
           1, 1, 0, 0, 0, 0, 1, 0,
           1, 1, 0, 0, 0, 0, 1, 0,
           0, 0, 0, 0, 0, 0, 0, 0
        };

            Contoh program berikut memenfaatkan data yang ada pada array huruf_A untuk membentuk karakter A dengan ukuran besar. Setiap nilai satu pada array akan diganti dengan karakter ber-ASCII 219 (DBh) dan nilai 0 akan diganti dengan karakter spasi.

/* File program : hurufA.c
Contoh inisialisasi array dimensi dua  */

#include <stdio.h>

void main()
{
     int  i,j;
     int huruf_A[8][8] = {  
          { 0, 1, 1, 1, 1, 1, 0, 0 } ,
          { 0, 1, 0, 0, 0, 1, 0, 0 } ,
          { 0, 1, 0, 0, 0, 1, 0, 0 } ,
          { 1, 1, 1, 1, 1, 1, 1, 0 } ,
          { 1, 1, 0, 0, 0, 0, 1, 0 } ,
          { 1, 1, 0, 0, 0, 0, 1, 0 } ,
          { 1, 1, 0, 0, 0, 0, 1, 0 } ,
          { 0, 0, 0, 0, 0, 0, 0, 0 }
     };
    
     for(i = 0; i < 8; i++)
     {
          for(j = 0; j < 8; j++)
              if(huruf_A[i][j] !=0  )
                   putchar('\xDB\n');
              else
                   putchar ('  ');    /* spasi */
              putchar('\n');
     }
}

6. Array Berdimensi Banyak.
            C memungkinkan untuk membuat array yang dimensinya lebih dari dua. Bentuk umum pendeklarasian array berdimensi banyak :
            tipe nama_var[ukuran 1][ukuran2}…[ukuranN];
sebagai contoh :
     int data_huruf[2][8][8];

merupakan pendeklarasian array data_huruf sebagai array berdimensi tiga.
            Sama halnya dengan array berdimensi satu atau dua, array berdimensi banyak juga bisa diinisialisasi. Contoh inisialisasi array berdimensi tiga :

     int data_huruf [2][8][8] =
          { { { 0, 1, 1, 1, 1, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 0, 1, 0, 0, 0, 1, 0, 0 } ,
{ 1, 1, 1, 1, 1, 1, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 1, 1, 0, 0, 0, 0, 1, 0 } ,
{ 0, 0, 0, 0, 0, 0, 0, 0 }
            },

            { {1, 1, 1, 1, 1, 1, 0, 0 } ,
              {1, 0, 0, 0, 0, 1, 0, 0 } ,
              {1, 0, 0, 0, 0, 1, 0, 0 } ,
              {1, 1, 1, 1, 1, 1, 1, 0 } ,
              {1, 1, 0, 0, 0, 0, 1, 0 } ,
              {1, 1, 0, 0, 0, 0, 1, 0 } ,
              {1, 1, 1, 1, 1, 1, 1, 0 } ,
              {0, 0, 0, 0, 0, 0, 0, 0 }
            }
           };
atau bisa juga ditulis menjadi

     int data_huruf [2][8][8] =
               0, 1, 1, 1, 1, 1, 0, 0,
               0, 1, 0, 0, 0, 1, 0, 0,
               0, 1, 0, 0, 0, 1, 0, 0,
               1, 1, 1, 1, 1, 1, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 0,
               0, 0, 0, 0, 0, 0, 0, 0,
               1, 1, 1, 1, 1, 1, 0, 0,
               1, 0, 0, 0, 0, 1, 0, 0,
               1, 0, 0, 0, 0, 1, 0, 0,
               1, 1, 1, 1, 1, 1, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 0,
               1, 1, 0, 0, 0, 0, 1, 0,
               1, 1, 1, 1, 1, 1, 1, 0,
               0, 0, 0, 0, 0, 0, 0, 0
             };

            Program berikut merupakan pengembangan dari Program 8 – 4, digunakan untuk menampilkan dua buah huruf dengan ukuran besar.


/* File program: data_huruf.c
Contoh inisialisasi array dimensi tiga  */
# include <stdio.h>
void main()
{
     int i, j, k;
     int data_huruf[2][8][8] = {
          {{ 0, 1, 1, 1, 1, 1, 0, 0 },
          { 0, 1, 0, 0, 0, 1, 0, 0 },
          { 0, 1, 0, 0, 0, 1, 0, 0 },
          { 1, 1, 1, 1, 1, 1, 1, 0 },
          { 1, 1, 0, 0, 0, 0, 1, 0 },
          { 1, 1, 0, 0, 0, 0, 1, 0 },
          { 1, 1, 0, 0, 0, 0, 1, 0 },
          { 0, 0, 0, 0, 0, 0, 0, 0 }
          },
          {{1, 1, 1, 1, 1, 1, 0, 0 },
          {1, 0, 0, 0, 0, 1, 0, 0 },
          {1, 0, 0, 0, 0, 1, 0, 0 },
          {1, 1, 1, 1, 1, 1, 1, 0 },
          {1, 1, 0, 0, 0, 0, 1, 0 },
          {1, 1, 0, 0, 0, 0, 1, 0 },
          {1, 1, 1, 1, 1, 1, 1, 0 },
          {0, 0, 0, 0, 0, 0, 0, 0 }
          }
     };
    
     for(i = 0; i < 2; i++)            /* Tampilkan huruf */
     {
          for(j = 0; j < 8; j++)
          {
              for(k = 0; k < 8; k++)
                   if(data_huruf[i][j][k] != 0)
                        putchar('\xDB');
                   else
                        putchar(' '); /* spasi */
                   printf("\n");      /* pindah baris */
          }
          printf("\n");                /* pindah baris */
     }
}

4. Inisialisasi Array Tak Berukuran

            Inisialisasi array yang tak berukuran dapat dilakukan untuk array berdimensi satu atau lebih. Untuk array berrdimensi lebih dari satu, dimensi terkirilah yang boleh tak berukuran. Dengan cara ini tabel dalam array dapat diperluas atau dikurangi tanpa mengubah ukuran array. Sebagai contoh :

                                                            tak berukuran

     int skala[] =
           { 1, 2, 4, 6, 8 };

merupakan pendeklarasian array berdimensi satu yang tak berukuran. Secara otomatis
            skala[ 0 ] bernilai 1
            skala[ 1 ] bernilai 2
            skala[ 2 ] bernilai 4
            skala[ 3 ] bernilai 6    
            skala[ 4 ] bernilai 8

Contoh lain :

char konversi[][2] =
             { ’A’, ’T’,
                ’E’, ’M’,   
           ’I’, ’V’,
           ’O’, ’S’,
           ’U’, ’J’,
         };

Pada contoh ini,
            konversi[0][0] bernilai ’A’
            konversi[0][1] bernilai ’T’
            konversi[1][0] bernilai ’E’
            konversi[1][1] bernilai ’M’
            ……..
Contoh berikut akan menyandikan suatu kalimat yang dimasukkan melalui keyboard dengan menggunakan data yang ada pada tabel konversi. Misal, huruf A akan diganti menjadi T, huruf T akan diganti menjadi A.

/* File program : sandi.c
contoh inisialisasi array tak berukuran */

#include <stdio.h>
#include <stdlib.h>
#define JUM_KOLOM 2
#define MAX_KAR 256

void main()
{
     char konversi[][JUM_KOLOM] = {
          'A', 'T',
          'a', 't',
          'E', 'M',
          'e', 'm',
          'I', 'V',
          'i', 'v',
          'O', 'S',
          'o', 's',
          'U', 'J',
          'u', 'j'
     };
    
     char kalimat[MAX_KAR], karakter;
     int i = 0, j, jum_kar, jum_penyandi;
    
     printf("Masukkan sebuah kalimat dan akhiri dengan
ENTER\n");
     printf("Kemudian kalimat tsb akan saya sandikan\n");
     printf("Kalimat:  ");
    
     /* Memasukkan data karakter ke array kalimat */
     while((kalimat[i] = getchar()) != '\n')
          i++;
     jum_kar = i ;
    
     /* sandikan dan menampilkan ke layar */
     printf("\nHasil setelah disandikan: ");
     jum_penyandi = sizeof(konversi) / JUM_KOLOM;
    
     for(i = 0; i < jum_kar; i++)
     {
          karakter = kalimat [i];
          for(j = 0; j < jum_penyandi; j++)
          {
              if(karakter == konversi[j][0])
              {
                   karakter = konversi[j][1];
                   break; /* keluar dari for terdalam */
              }
              if(karakter == konversi[j][1])
              {
                   karakter = konversi[j][0];
                   break; /* keluar dari for terdalam */
              }
          }
         
putchar (karakter);
     }
     printf("\n\n");
}


Contoh Eksekusi :

Masukkan sebuah kalimat dan akhiri dengan ENTER
Kemudian kalimat tsb akan saya sandikan
Kalimat : Saya belajar

Hasil setelah disandikan: Otyt bmltutr



Pada program diatas ,

            sizeof(konversi)/JUM_KOLOM)

merupakan ungkapan untuk memperoleh banyaknya baris (ukuran dari dimensi pertama) dalam array konversi. Dengan cara ini tabel konversi dapat diperluas tanpa perlu memberitahu banyaknya jumlah dimensi pertama secara ekplisit.

B. Data Program

1. Mengisi dan menampilkan beberapa variabel array
/* File program : isi.c */
#include <stdio.h>

void main()
{
  int nilai[10];
  int indeks;

  /* menginisialisasi array supaya berisi 0 */
  for(indeks=0; indeks<10; indeks++)
      nilai[indeks] = 0;
 
  nilai[0] = 197;
  nilai[2] = -100;
  nilai[5] = 350;
  nilai[3] = nilai[0] + nilai[5];
  nilai[9] = nilai[5] / 10;
  --nilai[2];

  for(indeks = 0; indeks < 10; indeks++)
      printf("nilai[%d] = %d\n", indeks, nilai[indeks]);
}



2. Mencetak 15 angka pertama dalam deret Fibonacci.

/* fibonacci1.c */
#include <stdio.h>
void main()
{
    int fibo[15], i;
   
    fibo[0] = 0;
    fibo[1] = 1;

    for(i = 2; i < 15; i++)
    {
        fibo[i] = fibo [i-1] + fibo[i-2];
        printf("%5d", fibo[i]);
    }
    printf("\n\n");
}


Analisa :

3.  Menginisialisasi elemen array bertipe integer
/* File program : inisial1.c */
#include <stdio.h>

main()
{
    int i;
    static int nilai[10] = {0, 1, 4, 9, 16};
    /* dgn sendirinya nilai lainnya diset nol */
   
    for(i=5; i<10; i++)
        nilai[i] = i * i;

    for(i=0; i<10; i++)
        printf("nilai[%d] = %d\n", i, nilai[i]);
}


Analisa :

4.  Menginisialisasi elemen array bertipe karakter.
/* File program : inisial2.c */
#include <stdio.h>

main()
{
   int i;
static char word[] = {'H', 'e', 'l', 'l', 'o', ‘N’, ‘a’, ‘m’, ‘a’, ‘S’, ‘a’, ‘y’, ‘a’, ‘S’, ‘I’, ‘F’, ‘U’, ‘L’, '!'};

for(i=0; i<23; i++)
        printf("%c", word[i]);

   printf("\n");
}

Analisa :


5. Menentukan nilai maksimum dari sederetan nilai yang sudah diinisialisasi dan disimpan dalam array; mengirim array sebagai parameter sebuah fungsi.
/* File program : maksimum.c */
#include <stdio.h>
int findmax(int [], int); /* prototype fungsi dlm ANSI */
void main()
{
  static int data1[] = { 5, 34, 56, -12, 3, 19 };
  static int data2[] = { 1, -2, 34, 207, 93, -12 };
 
  printf("nilai maksimum dari data1[] adalah %d\n",
      findmax(data1, 6));
  printf("nilai maksimum dari data2[] adalah %d\n",
      findmax(data2, 6));
}

int findmax(int nilai[], int jml_data)
{
  int  terbesar, i;
 
  terbesar = nilai[0];
 
  for(i = 1; i < jml_data; ++i )
      if(nilai[i] > terbesar)
         terbesar = nilai[i];
     
  return terbesar;
}

Analisa :

6. Menentukan nilai minimum dari sederetan nilai masukan yang disimpan dalam array; mengirim array sebagai parameter sebuah fungsi.

/* File program : minimum.c */
#include <stdio.h>
int minimum(int []);  /* prototype fungsi dlm ANSI */
void main()
{
  int nilai[10], i, kecil;

  printf("Masukkan 10 bil integer dipisahkan dgn spasi :
      \n");
  for (i=0; i<10; i++)
      scanf("%d", &nilai[i]);

  kecil = minimum(nilai);
  printf("\nBilangan terkecil adalah %d\n", kecil);
}

int minimum(int nilai[10])
{
  int min, j;

  min = nilai[0];
  for (j=1; j < 10; j++)
      if (nilai[j] < min)
         min = nilai[j];
 
  return(min);
}


Analisa :

7. Menjumlahkan dua buah array yang ; mengirim array sebagai parameter sebuah fungsi.
/* File program : jml2array.c */
#include <stdio.h>

int jml2array(int [][5], int);  /* prototype fungsi */

main()
{
  int jml;
  int bil[][5] = {
      {1, 2, 35, 7, 10},
      {6, 7, 4, 1, 0}
  };
 
  jml = jml2array(bil, 2);
  printf("Hasil penjumlahan 2 array tsb adalah = %d\n",
      jml);
}

int jml2array(int data[][5], int jmlbrs)
{
  int total = 0, kolom, baris;
 
  for(baris = 0; baris < jmlbrs; baris++ )
      for(kolom = 0; kolom < 5; kolom++ )
          total += data[baris][kolom];
 
  return total;
}

Analisa :




F.  SOAL
1. Buat program untuk menghitung nilai rata-rata sbb :
Input      :  jumlah data (n), data ke-1 s/d data ke-n
Output   :  nilai maks, nilai min, nilai rata-rata

Jawab :
#include <stdio.h>
#include <conio.h>

main ()
{
  int a = 0, n, i, jumlah = 0, b = 0, rata = 0,
  maksimum = 0, minimum = 0, counter = 1;
 
      printf ("Masukan Jumlah Data : ");
      scanf ("%d", &a);
      for (i=1; i<=a; i++)
      {
         printf ("Masukan Bilangan ke-%d = ", counter);
         counter++;
         scanf ("%d", &n);
      }{
          b = b + 1;
          jumlah = jumlah + a;
          rata = jumlah / b;
          if (a > maksimum ) maksimum - a;
          if (a < minimum || minimum == 0) minimum = a;
     
          printf ("\n");
          printf ("Nilai Rata-Rata %d \n", rata);
          printf ("Nilai Maksimum = %d \n", maksimum);
          printf ("Nilai minimum = %d \n", minimum);
      }
     
     
}

Analisa :

2. Ubahlah program di atas sehingga mendapatkan tampilan seperti di bawah ini:
No.    Nilai                Total                Rata-rata
1.       85                    85                    85.00
2.      95                   180                   90.00
3.      60                   240                   80.00
4.      80                   320                   80.00
5.      50                   370                   74.00
6.      100                  470                   78.33
Nilai maks      = 100
Nilai min        = 50
Nilai rata-rata = 78.33
Nilai terbaik adalah nilai ke = 6

Jawab :

#include <stdio.h>

main ()
{
    int i, n, nilai, rata, max = 0, min = 0, sum = 0;
    printf (" ::Menghitung Nilai Terbaik ::\n\n");
    printf ("Masukan Jumlah Data : ");
    scanf ("%d", &n);
    for (i=1;1<=n;i++)
    {
        printf ("\n");
        printf ("Nilai ke - %d : ",i);
        scanf ("%d", &nilai);
   
        sum = sum + nilai;
        if(nilai > max)
        {
             max = nilai;
        }
        if (nilai <min || min-0)
        {
             min=nilai;
        }
    }
    rata = sum/n;
        printf ("\n\n");
        printf("Total Nilai = %d\n", sum);
        printf("Nilai Terbesar (max) - %d\n",max);
        printf("Nilai Terkecil (min) = %d\n", min);
        printf("Nilai rata-rata - %d\n",rata);
        printf("Nilai Terbaik Adalah nilai ke = %d\n", n);
}


Analisa :

3. Buat program untuk menampilkan deret Fibonacci sbb :
Input       : jumlah deret
Output    : deret[i]  = deret[i-1] + deret[i-2]

Contoh : jumlah deret = 10

0          1          1          2          3          5          8          13           21           34

Jawab :

#include <stdio.h>
main()
{
     int fibo [10], i;
     fibo[0]=0;
     printf("%5d", fibo[0]);
     fibo[1]=1;
     printf("%5d", fibo[1]);
     for (i=2; i<15; i++)
     {
          fibo[i]= fibo[i-1]+ fibo[i-2];
          printf("%5d", fibo[i]);
     }
     printf("\n\n");
}




4. Buat program untuk mengurutkan data masukan dengan urutan naik (ascending)
Input : jumlah data (n), data ke-1 s/d data ke-n
Output : Tampilan data dalam keadaan terurut
Contoh :
Jumlah data = 3
Data ke-1 = 50
Data ke-2 = 43
Data ke-3 = 45

Data terurut naik:
Data ke-1 = 43
Data ke-2 = 45
Data ke-3 = 50

Jawab :

#include<stdio.h>
main()
{
  int a[10];
  int i,j,x;
 
  printf("Data sebelum disusun\n\n");
 
  for(i=0;i<5;i++)
  {
       printf("Data integer a[%d] : ",i);
       scanf("%d",&a[i]);
  }
  for(i-0;i<-5-2;i++)
  {
       for(j=i+1;j<=5-1;j++)
       {
            if (a[i]>=a[j])
            {
                 x=a[i];
                 a[i]=a[j];
                 a[j]-x;
            }
       }
  }
  printf ("\nData setelah disusun\n\n");
  for (i=0;i<=5-1;i++)
  {
       printf ("\nData pada a[%d] : %d",i,a[i]);
  }
  printf("\n\nselesai");
}



Analisa :

5.    Data nilai mahasiswa :
     

No.    Nama Mhs                  PROG-1      MAT-1             BIG1

1.       Saiful                          81               90                    62
2.       Dzulmy                       50               83                    87
3.       Gamam                       89               55                    65
4.       Said                            77               70                    92
Dapatkan output dengan tampilan sbb :
No. Mhs          Rata-rata
            --------------------------
   1                   77.67
   2                   73.33
   3                   69.67
   4                   79.67
            ---------------------------

Petunjuk :
Asumsikan Saiful mengikuti kelas Prog1, Mat1, dan BIG1.
Nilai pada masing-masing kelas dijumlahkan dan dihitung rata-ratanya (gunakan array 2 dimensi).
Jawab :
#include<iostream>

#include<conio.h>
#include<stdlib.h>
#include <iomanip>
using namespace std;
struct mhs
{
 char nama[100];
};
main()
{
 char eko;
 do
 {
 mhs dwieko[100];
 float nilai_f[100],nilai_k[100],nilai_b[100];
 float total,hasil1,hasil2,hasil3,data;
 cout<<"\t\t+++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
 cout<<"\t\t|   PROGRAM MENGHITUNG NILAI RATA-RATA SEDERHANA  |"<<endl;
 cout<<"\t\t|               Created By Dzulmy Wahyudy         |"<<endl;
 cout<<"\t\t|             Politeknik negeri lhokseumawe       |"<<endl;
 cout<<"\t\t+++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"<<endl;
 cout<<"Masukan Data Yang Anda Ingin Input : ";
 cin>>data;
 cin.ignore();
 for(int i=1;i<=data;i++)
 {
 cout<<"\n\nMasukan Nama Mahasiswa Ke "<<i<<" : ";
 cin.getline(dwieko[i].nama,100);
 cout<<"Masukan Nilai prog-1 "<<dwieko[i].nama<<"  : ";
 cin>>nilai_f[i];
 cout<<"Masukan Nilai mat-1  "<<dwieko[i].nama<<"  : ";
 cin>>nilai_k[i];
 cout<<"Masukan Nilai big-1 "<<dwieko[i].nama<<" : ";
 cin>>nilai_b[i];
 cin.ignore();
 }
 system("cls");
 cout<<"Data nilai mahasiswa  : "<<endl;
 cout<<"\n"<<endl;
 cout<<setw(5)<<"Nama"<<setw(16)<<"Nilai prog-1"<<setw(13)<<"Nilai mat-1"<<setw(16)<<"Nilai big-1\n"<<endl;
 for(int i=1;i<=data;i++)
 {



 cout<<setw(5)<<dwieko[i].nama<<setw(13)<<nilai_f[i]<<setw(13)<<nilai_k[i]<<setw(13)<<nilai_b[i]<<endl;
 }
 cout<<"==============================================================="<<endl;
 cout<<"Nilai Rata-Rata Mata Kuliah : "<<endl;
 cout<<"\n";
 for(int i=1;i<=data;i++)
 {
  hasil1+=nilai_f[i]/data;
  hasil2+=nilai_k[i]/data;
  hasil3+=nilai_b[i]/data;
 }
 cout<<"Rata Nilai prog-1 Adalah  : "<<hasil1<<endl;
 cout<<"Rata Nilai mat-1  Adalah  : "<<hasil2<<endl;
 cout<<"Rata Nilai Big-1 Adalah : "<<hasil3<<endl;



 cout<<"==============================================================="<<endl;
 cout<<"Nilai Rata2 Siswa : "<<endl;
 cout<<"\n";
 for(int i=1;i<=data;i++)
 {
 total=(nilai_f[i]+nilai_k[i]+nilai_b[i])/3;
 cout<<"Nilai Rata-Rata "<<dwieko[i].nama<<" adalah : "<<total<<endl ;
 }
 cout<<"\n\nApakah Anda Ingin Mengulang ? [Y/T] : ";
 cin>>eko;
 system("cls");
 }
 while(eko=='y'||eko=='Y');
 cout<<"\t\t++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
 cout<<"\t\t| Terimakasih Sudah Menggunakan Program Sederhana Ini :) |"<<endl;
 cout<<"\t\t++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
getch();
}


Analisa :


 Daftar Pustaka
Saiful Fuadi,© http://saifuljuniorofficial.blogspot.com/
 *NB.
Mohon maaf jika ada kekurangan dalam hal pengetikan atau gambar, Jika ada masukan yang bermanfaat silahkan berikan masukan anda di kolom komentar. Terimakasih atas Kunjungannya semoga dapat bermanfaat bagi kita semua. Salam Saiful Junior.




Anonymous

Terimakasih telah berkunjung ke web saya, jika ada yang ingin ditanyakan silahkan tinggalkan komentar atau kirim email ke saifulfuaadi@gmail.com

2 comments: