Kamis, 24 November 2016

Latihan Array Berdimensi Satu

LATIHAN ARRAY BERDIMENSI SATU

1. Sebuah perusahaan ayam goreng dengan nama “GEROBAK FRIED
CHICKEN” yang telah lumayan banyak pelanggannya, ingin dibantu dibuatkan
program untuk membantu kelancaran usahaannya.
“GEROBAK FRIED CHICKEN” mempunyai daftar ...harga ayam sebagai
berikut: 

Kode Jenis Harga
--------------------------
--------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
----------------------------------
Buatlah programnya dengan ketentuan:
• Setiap pembeli dikenakan pajak sebesar 10% dari pembayaran.
• Banyak Jenis, Jenis Potong dan Banyak Beli diinput.
• Tampilan yang diinginkan sebagai berikut:

Layar Masukkan
GEROBAK FRIED CHICKEN
---------------------
Kode Jenis Harga
--------------------------
D Dada Rp. 2500
P Paha Rp. 2000
S Sayap Rp. 1500
--------------------------
Banyak Jenis : ... <diinput>
Jenis Ke - ... <proses counter>
Jenis Potong [D/P/S] : ... <diinput>
Banyak Potong : ... <diinput>
<<Terus berulang tergantung Banyak Jenis>>
Layar Keluaran
GEROBAK FIRED CHICHEN
-------------------------------------------------------------
No. Jenis Harga Bayak Jumlah
Potong Satuan Beli Harga
-------------------------------------------------------------
... ....... .... .... Rp ....
... ....... .... .... Rp ....
------------------------------------------------------------
Jumlah Bayar Rp ....
Pajak 10% Rp ....
Total Bayar Rp ....

Jawaban:
#include<conio.h>
# include<iostream>
# include<stdio.h>
# include<iomanip>

using namespace std;
int main()
                {
                                int n,i,potong[20],harga,jumlah[20],total=0,pajak,byr;
                                char kode[20],*jenis;

                                cout<<" =============================== "<<endl;
                                cout<<"     GEROBAK FRIED CHICKEN (KFC) "<<endl;
                                cout<<" =============================== "<<endl;
                                cout<<"        Kode Jenis Potong        "<<endl;
                                cout<<" =============================== "<<endl;
                                cout<<"   D Dada  Rp.2500               "<<endl;
                                cout<<"   P Paha  Rp.2000               "<<endl;
                                cout<<"   S Sayap Rp.1500               "<<endl;
                                cout<<" =============================== "<<endl;
                                cout<<endl;
                                cout<<"   Banyak Jenis : ";cin>>n;
                                cout<<endl;

for(i=0;i<=n;i++)
                                {
                                                cout<<"   Jenis Ke-"<<i<<endl;
                                                cout<<"   Kode Potong [D/P/S] : ";cin>>kode[i];
                                                cout<<"   Banyak Potong : ";cin>>potong[i];
                                                cout<<endl<<endl;
                                }
        cout<<" ========================================= "<<endl;
                                cout<<"           GEROBAK FRIED CHICKEN    "    <<endl;
                                cout<<" ========================================= "<<endl;
                                cout<<"   No.| Jenis   | Harga   | Banyak  | Jumlah       "<<endl;
                                cout<<"      | Potong  | Satuan  | Beli    | Harga        "<<endl;
                                cout<<" ========================================= "<<endl;

                                for(i=1;i<=n;i++)
                                {
                                                if(kode[i]=='D'||kode[i]=='d')
                                                {jenis="Dada";harga=2500;}
                                                else if(kode[i]=='P'||kode[i]=='p')
                                                {jenis="Paha";harga=2000;}
                                                else if(kode[i]=='s'||kode[i]=='S')
                                                {jenis="Sayap";harga=1500;}

                                                cout<<setiosflags(ios::left)<<setw(7)<<i;
                                                cout<<setiosflags(ios::left)<<setw(9)<<jenis;
                                                cout<<setiosflags(ios::left)<<setw(9)<<harga;
                                                cout<<setiosflags(ios::left)<<setw(8)<<potong[i];
                                                jumlah[i]=potong[i]*harga;
                                                cout<<setiosflags(ios::left)<<setw(6)<<jumlah[i]<<endl;
                                                total=total+jumlah[i];
                                }
cout<<" ========================= "<<endl;
                                cout<<" Jumlah Bayar : Rp. "<<total<<endl;
                                pajak=0.1*total;
                                cout<<" Pajak 10 %   : Rp. "<<pajak<<endl;
                                byr=total+pajak;
                                cout<<" Total Bayar  : Rp. "<<byr<<endl;
                                getch();
 }
2. Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang dikutinya. Dengan ketentuan sebagai berikut:
  • Nama Mahasiswa, Nilai Tugas, Nilai UTS dan Nilai UAS diinput.
  • Proses yang dilakukan untuk mendapatkan nilai muni dari masing-masing nilai, adalah

a.       Nilai Murni Tugas = Nilai Tugas dikalikan dengan 30%
b.    Nilai Murni UTS = Nilai UTS dikalikan dengan 30%
             c.    Nilai Murni UAS = Nilai UAS dikalikan dengan 40%
             d.    Nilai Akhir adalah Nilai Murni Tugas + Murni UTS + Nilai Murni uas

  • Ketentuan untuk mendapatkan grade nilai:
  • Nilai Akhir >=80 mendapat Grade A
  • Nilai Akhir >=70 mendapat Grade B
  • Nilai Akhir >=59 mendapat Grade C
  • Nilai Akhir >=50 mendapat Grade D
  • Nilai Akhir <=50 mendapat Grade E
Jawaban:

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <iomanip>
using namespace std;
main ()
{
    int i;
    int qty;
    char mahasiswa [5][20];
    float nilai1 [5];
    float nilai2 [5];
    float nilai3 [5];
    float hasil [5];
    char grade [5];


    cout <<"PROGRAM HITUNG NILAI AKHIR"<<endl;
    cout <<"MATERI PEMROGRAMMAN C++"<<endl;
    cout <<"Masukkan Jumlah Mahasiswa : "; cin >>qty;
    for (i=1; i<=qty; i++)
    {
    cout <<"Data Ke- "<<i<<endl;
    cout <<"Nama Mahasiswa      : "; cin>> mahasiswa [i];
    cout <<endl;
    cout <<"Nilai Tugas   : "; cin>>nilai1 [i];
    cout <<endl;
    cout <<"Nilai UTS     : "; cin>>nilai2 [i];
    cout <<endl;
    cout <<"Nilai UAS     : "; cin>>nilai3 [i];
    cout <<endl;
    hasil [i] = (nilai1[i] * 0.3) + ( nilai2[i] * 0.3) + (nilai3[i] * 0.4);
    cout <<endl;
    if (hasil[i]>=80)
        {
        grade[i] = 'A';
        }
    else if (hasil[i]>=70)
        {
        grade[i] = 'B';
        }
    else if (hasil [i]>=59)
        {
        grade[i] = 'C';
        }
    else if (hasil[i]>=50)
        {
        grade[i] = 'D';
        }
    else
        {
        grade[i] = 'E';
        }
    cout <<endl<<endl;
    }

    cout <<"-------------------------------------------------------------";
    cout <<"-------"<<endl;
    cout <<"No. Nama                        Nilai              Grade "<<endl;
    cout <<"    Mahasiswa      ------------------------------"<<endl;
    cout <<"                        Tugas  UTS  UAS  Akhir "<<endl;
    cout <<"-------------------------------------------------------------";
    cout <<"-------"<<endl;

    for (i=1; i<=qty; i++)
    {
        cout <<setiosflags (ios::left)<<setw(4)<<i;
        cout <<setiosflags (ios::left)<<setw(20)<<mahasiswa[i];
        cout <<setprecision(2)<<"   "<<nilai1[i];
        cout <<setprecision(2)<<"   "<<nilai2 [i];
        cout <<setprecision(2)<<"   "<<nilai3 [i];
        cout <<setprecision(2)<<"   "<<hasil[i];
        cout <<setprecision(2)<<"          "<<grade[i]<<endl;
    }
    cout <<"-------------------------------------------------------------";
    cout <<"-------"<<endl;
    getch ();
}

3. PT. STAY COOL, Memberikan Honor tetap kepada karyawan kontraknya sebesar Rp. 700,000,-per bulan, dengan memperoleh tujangan-tunjangan sebagai berikut:


  • Tunjangan Jabatan

Golongan
Persentase
1
2
3
5%
10%
15%
Sebagai contoh : jika seorang karyawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesasr 15% * Rp. 700,000,-

  • Tunjangan Pendidikan
Kode
Pendidikan
persentase
1
2
3
SMU
D3
S1
2,5%
5%
7,5%
  • Honor Lembur
Jumlah jam kerja normal dalam satu bulan sebanyak 240 jam kerja. honor lembur diberikan jika jumlah jam kerja sebih dari 240 jam, maka kelebihkan jam kerja tersebut dikalikan dengan honor lembur perjam sebesar Rp. 2,500 untuk setiap kelebihan jam kerja dalam satu bulannya.

  • Tampilan yang diinginkan sebagai berikut:
Layar Masukkan dan Keluaran

Program Hitung Honor Karyawan Kontrak PT. STAY COOL

Masukkan Jumlah Karyawan : . . . <diinput>

Karyawan Ke - . . . <proses counter>
Nama Karyawan                                    : . . . <di input>
Golongan (1/2/3)                                 : . . . <di input>
Pendidikan ( 1=SMU/ 2=D3/ 3=S1)                  : . . . <di input>
Jumlah Jam Kerja                                 : . . . <di input>
                      << Terus berulang tergantung jumlah karyawan >>

PT . STAY COOL
-----------------------------------------------------------------------------------
No.  Nama                  Tunjangan
       Karyawan        ----------------------      Honor                        Pendapatan  
                                 Jabatan Pdidikan        Lembur         Pajak     Bersih
-----------------------------------------------------------------------------------
       . . . . .                . . . . . . . . . . .              . . .  .           . . . . .      .. .. . .
       . . . . .                . . . . . . . . . . .              . . .  .           . . . . .      .. .. . .
----------------------------------------------------------------------------------

                                 Total Gaji yang dikelurkan Rp. . . .. . . .. . .. . . . . 

Jawaban:

#include <iostream>
#include<iomanip>

using namespace std;

int main ()
{
    int qty;
    char nama[10][20];
    int golongan[10], pendidikan[10], jum_jamkerja[10];
    float tunj_jab[10], tunj_pend[10], lembur[10], pajak[10],
    pendapatan_bersih[10];
    int total=0;

    cout<<"PROGRAM GAJI PT.JAVA"<<endl;
    cout<<"--------------------"<<endl;
    cout<<endl;

    cout<<"Masukkan Jumlah Karyawan : ";
    cin>>qty;

    for (int i=1; i<=qty; i++)
    {
        cout<<endl<<"Karyawan Ke- : "<<i<<endl;
        cout<<"Nama Karyawan                : ";
        cin>>nama[i];
        cout<<"Golongan (1/2/3)             : ";
        cin>>golongan[i];
        cout<<"Pendidikan (1=SMU/2=D3/3=S1  : ";
        cin>>pendidikan[i];
        cout<<"Jumlah Jam Kerja             : ";
        cin>>jum_jamkerja[i];
        cout<<endl;

        if (golongan[i] == 1 )
        {
            tunj_jab[i] = 700000 * 0.05;
        }
        else if (golongan[i] == 2)
        {
            tunj_jab[i] = 700000 * 0.1;
        }
        else if (golongan[i] == 3)
        {
            tunj_jab[i] = 700000 * 0.15;
        }
        else
        {
            cout<<"Maaf golongan tidak terdaftar, exit program";
            return 0;
        }

        if (pendidikan[i] == 1)
        {
            tunj_pend[i] = 700000 * 0.025;
        }
        else if (pendidikan[i] == 2)
        {
            tunj_pend[i] = 700000 * 0.05;
        }
        else if (pendidikan[i] == 3)
        {
            tunj_pend[i] = 700000 * 0.075;;
        }
        else
        {
            cout<<"Maaf pendidikan Anda tidak terdaftar, exit program";
            return 0;
        }


        if (jum_jamkerja[i] > 240)
        {
            lembur[i] = (jum_jamkerja[i] - 240) * 2500;
        }
        else
        {
            lembur[i] = 0;
        }

        pajak[i] = (700000 + tunj_jab[i] + tunj_pend[i] + lembur[i]) * 0.05;
        pendapatan_bersih[i] = (700000 + tunj_jab[i] + tunj_pend[i] + lembur[i]) - pajak[i];

    cout<<" ======================================================================== "<<endl;
    cout<<" No. | Nama     | Tunjangan           |                                   "<<endl;
    cout<<"                 -------------------- |  Honor               |Pendapatan  "<<endl;
    cout<<"     | Karyawan | Jabatan  Pendidikan |  Lembur   | Pajak    | Bersih     "<<endl;
    cout<<" ======================================================================== "<<endl;


    for (int i=1; i<=qty; i++)
    {
        cout<<setiosflags(ios::left)<<setw(7)<<i;
        cout<<setiosflags(ios::left)<<setw(14)<<nama[i];
        cout<<setiosflags(ios::left)<<setw(9)<<tunj_jab[i];
        cout<<setiosflags(ios::left)<<setw(13)<<tunj_pend[i];
        cout<<setiosflags(ios::left)<<setw(10)<<lembur[i];
        cout<<setiosflags(ios::left)<<setw(10)<<pajak[i];
        cout<<setiosflags(ios::left)<<setw(6)<<pendapatan_bersih[i];
        cout<<endl;

        total = total + pendapatan_bersih[i];
    }

    cout<<"-----------------------------------"<<endl;
    cout<<" Total Gaji Yang Harus Dibayar Rp. "<<total;
    cout<<endl;
    }

}

Latihan Operasi String

Latihan ke 2
OPERASI STRING
  •      Buatlah program untuk menghitung panjang kata.
jj         Jawaban:


  •      Buatlah program untuk menghitung kata.
            Jawaban:

\

  •      Buatlah program untuk menggabungkan dua buah string.
  1. Kalimat 1 = Manajemen
  2. Kalimat 2 = Informatika
      Jawaban:



  • Kamudian kedua kalimat diatas dihitung menjadi perhitungan.

a.       Perkalian
b.      Pembagian
c.       Penambahan
d.      Pengurangan
e.       Mencari sisa hasil pembagian
      
Jawaban:





Latihan Soal Perulangan

Proses Perulangan
Latihan 1
  •        Buatlah program untuk menghitung 10 deret bilangan genap dengan hasilnya:
2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 = 110
Jawaban:


  •        Buatlah program untuk menghitung 10 deret bilangan ganjil dengan    hasilnya:
1 + 3 + 5 + 7 + 9 + 11 + 13 + 15 + 17 + 19 = 100
Jawaban:


  •     Buatlah program untuk menghitung penjumlahan deret bilangan membentuk segitiga siku dengan hasilnya:

1                                                                                                          = 1
1          +          2                                                                                  = 3
1          +          2          +          3                                                          = 6
1          +          2          +          3          +          4                                  = 10
1          +          2          +          3          +          4          +          5          = 15

Jawaban:


  •      Buatlah program untuk menghitung perkalian deret bilangan genap membentuk segitiga siku dengan hasilnya:

1                                                                                                          = 1
1          *          3                                                                                  = 3
1          *          3          *          5                                                          = 15
1          *          3          *          5          *          7                                  = 105
1          *          3          *          5          *          7          *          9          = 945

Jawaban:

  •      Buatlah program untuk menghitung perkalian deret bilangan genap membentuk segitiga siku terbalik dengan hasilnya:
10        +          8          +          6          +          4          +          2          = 30
10        +          8          +          6          +          4                                  = 28
10        +          8          +          6                                                          = 24
10        +          8                                                                                  = 18
10                                                                                                        = 10
                                                                                                --------------------- +                                                                                                       110

Jawaban: