Sabtu, 06 Oktober 2018

OPERASI PENYELESAIAN KONDISI




Penjelasan No.1
Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan sebagai berikut:
a. Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai Pertandingan III diinput.
b. Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I,II,dan III dibagi dengan 3
c. Ketentuan Mendapat Hadiah dari pertandingan:
1. Jika nilai rata-rata >= 85, Maka mendapat hadiah seperangkat Komputer P4
2. Jika Nilai Rata-rata >=70, maka mendapat hadiah Seperangkat Uang Sebesar Rp. 5000,000
3. Jika Nilai Rata-rata <70, maka mendapat hadiah Hiburan
d. Tampilan yang diinginkan sebagai berikut:
Layar Masukkan

PROGRAM HITUNG NILAI RATA-RATA

Nama Siswa : ... <diinput>
Nilai Pertandingan I     : ... <diinput>
Nilai Pertandingan II     : ... <diinput>
Nilai Pertandingan III     : ... <diinput>

Layar Keluaran

Siswa yang bernama ... <tampil data>
Memperoleh nilai rata-rata <hasil proses> dari hasil  perlombaan yang diikutinya.
Hadiah Yang didapat adalah ... <hasil proses>


Penyelesaian :
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

main ()
{
    string Nama_Siswa;
    float a, b, c;
    float nilai_rata;


    cout<<" PROGRAM HITUNG NILAI RATA-RATA "<<endl;

    cout<<" Nama Siswa : ";
    cin>>Nama_Siswa;
    cout<<" Nilai Pertandingan I    : ";
    cin>>a;
    cout<<" Nilai Pertandingan II   : ";
    cin>>b;
    cout<<" Nilai Pertandingan III  : ";
    cin>>c;

    nilai_rata = (a + b + c)/3;

system ("cls");

    cout<<" Siswa yang bernama "<<Nama_Siswa<<endl;
    cout<<" Memperoleh nilai rata-rata "<<nilai_rata;
    cout<<" dari hasil perlombaan yang diikutinya"<<endl;
    cout<<" Hadiah yang didapat adalah ";

    if (nilai_rata >= 85 && nilai_rata <=100)
    {
        cout<<"Seperangkat Komputer P4";
    }
    else if (nilai_rata >=70 && nilai_rata <85)
    {
        cout<<"Seperangkat Uang sebesar Rp. 500.000";
    }
    else if (nilai_rata <70 && nilai_rata >=0 )
    {
        cout<<"Hiburan";
    }
    getch();
    return 0;
}

Hasil output :

Gambar 1. 1 Inputan Nilai Rata-Rata

Gambar 1. 2 Hasil Output yang diminta
Keterangan:
1. SOAL
   Soal meminta untuk membuat sebuah program hitung nilai rata-rata yang didapat dari tiga pertandingan yang diikuti seorang siswa menghasilkan nilai akhir yang didapatkan dari penjumlahan dari nilai pertandingan I, II, dan III dibagi 3. Setiap nilai rata-rata memiliki batas nilai rata-rata dan setiap nilai mendapatkan hadiah. Nilai rata >=85 & <=100 maka mendapat Seperangkat Komputer P4. Nilai rata >=70 & <85 maka mendapat Seperangkat Uang sebesar Rp 500.000,00. Nilai rata <70 & >=0 mendapat hiburan.
  
2. PROGRAM
   Program dibuat di dalam aplikasi codeblocks, dengan struktur bagian yang dimulai dari heading/library, program utama dan body. Heading/Library merupakan hal yang utama dalam menjalankan suatu program berisi rumus yang diawali dengan tanda (#). Pada proses didalam codeblock yang merupakan heading/library yaitu :
1. Include adalah salah satu pengarah praprocessor yang selalu dijalankan terlebih dahulu pada saat proses kompilasi.
#include <iostream>  : diperlukan ketika melibatkan cout dan cin
#include <conio.h>     : diperlukan ketika melibatkan getch()
#include <stdlib.h>   : diperlukan ketika melibatkan system (“cls”)
2. Fungsi Int main() merupakan program utama
       using namesapce std; untuk menyingkat pemakaian std di dalam body.
       Getch () berfungsi untuk menghentikan sejenak program yang akan ditampilkan
       Return 0 berfungsi untuk
Kemudian body merupakan isi program dari apa yang ingin kita jalankan, dimulai dengan adanya inputan dan apa yang ingin dioutputkan. Di dalam body memiliki kebebasan untuk menentukan tipe dan style program yang diinginkan tetapi tetap mengutamakan output yang diinginkan oleh soal. Body berada di dalam tanda kurung kurawal {}.
3. VARIABEL
Dalam pemberian nama pada variabel tidak dibolehkan adanya spasi tetapi diwakili dengan tanda ( _ ). Variabel yang digunakan yaitu Nama_Siswa, nilai_rata a, b, c,  dan .
    Fungsi dari tiap-tiap variabel yaitu :
1. Variabel Nama_Siswa untuk mendeklarasikan  Nama Siswa.
2. Variable nilai_rata untuk mendeklarasikan Nilai rata-rata.
3. Variabel a untuk mendeklarasikan Nilai Pertandingan I.
4. Variabel b untuk mendeklarasikan Nilai Pertandingan II.
5. Variabel c untuk mendeklarasikan Nilai Pertandingan III.
4. TIPE DATA
Tipe data yang digunakan yaitu string dan float. String berfungsi untuk rangkaian karakter yaitu dapat digunakan untuk nama siswa. Dan float berfungsi untuk perhitungan dalam bentuk desimal
5. YANG DIINPUTKAN
Yang diinputkan yaitu nama siswa, dengan variabel masukan di Nama_siswa tetapi menggunakan getline (cin, Nama_Siswa).
Getline () digunakan untuk memasukkan karakter yang menggunakan spasi sehingga Nilai Pertandingan I, dengan variabel masukan di c. Nilai Pertandingan II, dengan variabel masukan di b.  Nilai Pertandingan III, dengan variabel masukan di c.
    cout<<" Nama Siswa : ";
    getline (cin, Nama_Siswa);
    cout<<" Nilai Pertandingan I    : ";
    cin>>a;
    cout<<" Nilai Pertandingan II   : ";
    cin>>b;
    cout<<" Nilai Pertandingan III  : ";
    cin>>c;
6. PROSES PERHITUNGAN
Proses perhitungan yang di gunakan yaitu menghitung nilai rata-rata yaitu :
nilai_rata = (a + b + c)/3;
7. PERNYATAAN
1. IF berarti “jika bernilai benar maka perintah dikerjakan, jika bernilai salah maka perintah diabaikan. Else berarti kemungkinan yang lainnya. Bentuk penulisan:
If (kondisi-1)            if  (nilai_rata >= 85 && nilai_rata <=100)
{                                                     {
     Perintah-1;            cout<<"Seperangkat Komputer P4";
}                                                      }
else if                                           else if (nilai_rata>=70 && nilai_rata<85)
{                                                        {
          Perintah-2;                           cout<<"Seperangkat Uang sebesar Rp.500000";
}                                                        }
2. And (&&) dan Or ( || )
And dan or merupakan operator di dalam program c++ dan memiliki arti:
And (&&) jika kedua bernilai benar maka kondisi menjadi benar
OE (||) jika salah satu bernilai benar maka kondisi menjadi benar
8. OUTPUT
Ouput untuk mendapatkan nilai akhir dan sesuai apa yang diminta oleh soal maka. Pertama jalankan program terlebih dahulu kemudian masukan inputan yang diinginkan, yaitu :
Nama Siswa             : Agung_Laksana
Nilai Pertandingan I         : 80
Nilai Pertandingan II        : 85
Nilai Pertandingan III    : 90
Maka kemudian klik enter dan program akan memproses sehingga menghasilkan outputan yang diinginkan yaitu :
Siswa yang bernama Agung_Laksana
Memperoleh nilai rata-rata 80 dari hasil  perlombaan yang diikutinya.
Hadiah Yang didapat adalah Seperangkat Komputer P4

Penjelasan No.2
Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya. Dengan ketentuan sebagai berikut:
1. Nama siswa, nilai keaktifan, nilai tugas dan nilai ujian diinput.
2. Proses yang dilakukan untuk mendapatkan nilai murni dari masing-masing nilai, adalah
a. Nilai murni keaktifan = nilai keaktifan dikalikan dengan 20%
b. Nilai murni tugas = nilai tugas dikalikan dengan 30%
c. Nilai murni ujian = nilai ujian dikalikan dengan 50%
d. Nilai akhir adalah nilai murni keaktifan + nilai murni tugas + nilai murni Ujian
3. Ketentuan untuk mendapatkan grade nilai:
a. Nilai akhir >=80 mendapat grade A
b. Nilai akhir >=70 mendapat grade B
c. Nilai akhir >=59 mendapat grade C
d. Nilai akhir >=50 mendapat grade D
e. Nilai akhir   <50  mendapat grade E
4. Tampilan yang diinginkan sebagai berikut:
Layar Masukkan

PROGRAM HITUNG NILAI AKHIR

Nilai siswa     : ... <diinput>
Nilai Keaktifan : ... <diinput>
Nilai Tugas     : ... <diinput>
Nilai Ujian     : ... <diinput>

Layar keluaran

Siswa yang bernama <tampil data>
Dengan Nilai Persentasi yang dihasilkan
Nilai keaktifan * 20% : ... <diinput>
Nilai tugas     * 30% : ... diinput>
Nilai Ujian     * 50% : ... <diinput>
Jadi siswa yang bernama <tampil data>  memperoleh nilai akhir sebesar ... <hasil proses>
Grade nilai yang didapat adalah ...<hasil proses>


Penyelesaian :
#include <stdio.h>
#include <conio.h>
#include <iostream>
#include <stdlib.h>

using namespace std;

int main ()
{
string Nama_Siswa;
float a, b, c, d, e, f;
double Nilai_Keaktifan,Nilai_Tugas, Nilai_Ujian, nilai_akhir;
cout<<" PROGRAM HITUNG NILAI AKHIR "<<endl;
cout<<" Nama Siswa : ";
getline (cin,Nama_Siswa);
    cout<<" Nilai Keaktifan : ";
    cin>>a;
    cout<<" Nilai Tugas     : ";
    cin>>b;
    cout<<" Nilai Ujian     : ";
    cin>>c;

    d = (a*20/100);
    e = (b*30/100);
    f = (c*50/100);
    nilai_akhir = d+e+f;

system ("cls");

    cout<<" Siswa yang bernama "<<Nama_Siswa<<endl;
    cout<<" Dengan Nilai Persentasi Yang dihasilkan."<<endl;
    cout<<" Nilai Keaktifan * 20% : "<<d<<"%"<<endl;
    cout<<" Nilai Tugas     * 30% : "<<e<<"%"<<endl;
    cout<<" Nilai Ujian     * 50% : "<<f<<"%"<<endl;
    cout<<" Jadi Siswa yang bernama "<<Nama_Siswa<<endl;
    cout<<" Memperoleh nilai akhir sebesar "<<nilai_akhir;
    cout<<" Grade nilai yang di dapat adalah ";

    if (nilai_akhir>=80 && nilai_akhir <=100)
    {
        cout<<"Grade A";
    }
    else if (nilai_akhir>=70 && nilai_akhir <80)
    {
        cout<<"Grade B";
    }
    else if (nilai_akhir>=59 && nilai_akhir<70)//bisa menggunakan else jika gak mau      panjang.
    {
        cout<<"Grade C";
    }
    else if (nilai_akhir>=50 && nilai_akhir<59)
    {
        cout<<"Grade D";
    }
    else if (nilai_akhir< 50&& nilai_akhir >=0)
    {
        cout<<"Grade E";
    }
    else if (nilai_akhir <0);
    else if (nilai_akhir >100);
    {
        cout<<"Terjadi Kesalahan";
    }
    getch();
    return 0;
}

Hasil output :

Gambar 1. 3 Hasil inputan nilai akhir


Gambar 1. 4 Hasil output yang diminta
Keterangan:
1. SOAL
   Soal meminta untuk membuat sebuah program hasil nilai akhir yang berdasarkan nama siswa dan nilai keaktifan, nilai tugas, dan nilai ujian yang menghasilkan nilai akhir yang didapatkan dari penjumlahan dari nilai keaktifan, nilai tugas , dan nilai ujian. Nilai keaktifan di proses dengan nilai yang di mulai dari 0 sampai 100 dan dikalikan dengan 20% sehingga mendapatkan nilai keaktifan dalam bentuk persentasi, begitu juga nilai tugas yang dikalikan dengan 30% dan nilai ujian yang dikalikan dengan 50%. Sehingga menghasilkan nilai akhir dengan menjumlahkan semua nilai yang sudah diproses terlebih dahulu.
2. PROGRAM
   Program dibuat di dalam aplikasi codeblocks, dengan struktur bagian yang dimulai dari heading/library, program utama dan body. Heading/Library merupakan hal yang utama dalam menjalankan suatu program berisi rumus yang diawali dengan tanda (#). Pada proses didalam codeblock yang merupakan heading/library yaitu :
1. Include adalah salah satu pengarah praprocessor yang selalu dijalankan terlebih dahulu pada saat proses kompilasi.
#include <iostream> : diperlukan ketika melibatkan cout dan cin
#include <conio.h>   : diperlukan ketika melibatkan getch()
#include <stdlib.h>   : diperlukan ketika melibatkan system (“cls”)
2. Fungsi Int main() merupakan program utama
       using namesapce std; untuk menyingkat std di dalam body.
Kemudian body merupakan isi program dari apa yang ingin kita jalankan, dimulai dengan adanya inputan dan apa yang ingin dioutputkan. Di dalam body memiliki kebebasan untuk menentukan tipe dan style program yang diinginkan tetapi tetap mengutamakan output yang diinginkan oleh soal. Body berada di dalam tanda {}.
3. VARIABEL
Dalam pemberian nama pada variabel tidak dibolehkan adanya spasi tetapi diwakili dengan tanda ( _ ). Variabel yang digunakan yaitu Nama_Siswa, Nilai_Keaktifan, Nilai_Tugas, Nilai_Ujian, a, b, c, d, e, dan f.
Fungsi dari tiap-tiap variabel yaitu :
1. Nama_Siswa untuk mendeklarasikan  Nama Siswa
2. Nilai_keaktifan, Nilai_tugas, dan Nilai_ujian untuk mendeklarasikan nilai dari siswa tersebut.
3. Variabel a untuk mendeklarasikan Nilai Keaktifan.
4. Variabel b untuk mendeklarasikan Nilai Tugas.
5. Variabel c untuk mendeklarasikan Nilai Ujian.
6. Variabel d untuk mendeklarasikan proses nilai dari Nilai keaktifan dikalikan 20% atau dikalikan 20/100.
7. Variabel e untuk mendeklarasikan proses nilai dari Nilai Tugas dikalikan 30% atau dikalikan 30/100.
8. Variabel f untuk mendeklarasikan proses nilai dari Nilai Ujian yang dikalikan 50% atau di kalikan 50/100.
4. TIPE DATA
Tipe data yang digunakan yaitu string dan float. String berfungsi untuk rangkaian karakter yaitu dapat digunakan untuk nama siswa. Dan float berfungsi untuk perhitungan dalam bentuk desimal
5. YANG DIINPUTKAN
cout<<"\nNama Siswa      : ";
getline(cin,Nama_Siswa);
cout<<"Nilai Keaktifan : ";
cin>>a;
cout<<"Nilai Tugas     : ";
cin>>b;
cout<<"Nilai Ujian     : ";
cin>>c;
6. PROSES PERHITUNGAN
Proses perhitungan yang di gunakan yaitu menghitung persentase dari setiap nilai dan penjumlahan dari setiap nilai yang telah diproses menjadi nilai akhir.
d = (a*20/100);
 e = (b*30/100);
 f = (c*50/100);
 nilai_akhir = d+e+f;
7. PERNYATAAN
1. IF-ELSE majemuk berarti “jika bernilai benar maka perintah dikerjakan, jika bernilai salah maka perintah diabaikan. Bentuk penulisan:
if (kondisi-1)                                     if  (nilai_rata >= 80 && nilai_rata <=100)
{                                                     {
     Perintah-1;                                       cout<<"Grade A";
}                                                      }
else if                                                 else if (nilai_akhir>=70 && nilai_akhir <80)
{                                                       {
          Perintah-2;                               cout<<"Grade B";
}                                                        }
2. And (&&) dan Or ( || )
And dan or merupakan operator di dalam program c++ dan memiliki arti:
And (&&) jika kedua bernilai benar maka kondisi menjadi benar
OE (||) jika salah satu bernilai benar maka kondisi menjadi benar

8. OUTPUT
Ouput untuk mendapatkan nilai akhir dan sesuai apa yang diminta oleh soal maka. Pertama jalankan program terlebih dahulu kemudian masukan inputan yang diinginkan, yaitu :
Jalankan program terlebih dahulu kemudian masukan inputan yang diinginkan, yaitu :
Nama Siswa      : Agung_Laksana
Nilai Keaktifan : 90
Nilai Tugas     : 90
Nilai Ujian     : 90

Maka kemudia klik enter dan program akan memproses sehingga menghasilkan outputan yang diinginkan yaitu :
Siswa yang bernama Agung_Laksana
Dengan Nilai Persentasi Yang dihasilkan.
Nilai Keaktifan    * 20% : 18%
Nilai Tugas    * 30% : 27%
Nilai Ujian    * 50% : 45%
                
Jadi siswa yang bernama Agung_Laksana
memperoleh nilai akhir sebesar 90

Penjelasan No.3
Buatlah program untuk menghitung total pembayaran dari sebuah penjualan agen susu di kota besar ini. Dengan ketentuan sebagai berikut:
a. Jenis susu diinput-diinput berdasarkan kode yang sudah ditentukan
* Jika kode A adalah Dancow
* Jika kode B adalah Bendera
* Jika kode C adalah SGM

b. Ukuran kaleng susu diinput berdasarkan kode yang sudah ditentukan
* Jika kode 1 adalah Kecil
* Jika kode 2 adalah Sedang
* Jika kode 3 adalah Besar

c. Harga susu sesuai dengan jenis susu dan ukuran kaleng susu
JENIS SUSU
HARGA BERDASARKAN UKURAN KALENG SUSU

KECIL
SEDANG
BESAR
DANCOW
15000
20000
25000
BENDERA
13500
17500
20000
SGM
15000
18500
22000
d. Proses yang dilakukan untuk mendapatkan Total Pembayaran
    Total Bayar = Harga susu per ukuran dan jenis dikali dengan banyak beli
e. Tampilan yang diinginkan sebagai berikut:
Layar masukkan

TOKO KELONTONG KERONCONGAN
--------------------------
A. Susu Dancow
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar
B. Susu Bendera
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar
C. Susu SGM
1. Ukuran Kecil
2. Ukuran Sedang
3. Ukuran Besar

Layar Keluaran

Masukkan Jenis Susu        : ... <diinput>
Masukkan Ukuran Kaleng     : ... <diinput>

Harga Satuan Barang Rp.       ... <tampil harga satuan>
Jumlah Yang dibeli         : ... <diinput>
Harga yang harus di bayar sebesar Rp.  <hasil proses>

Jawab
#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

main ()
{
    char kode_jenis, kode_ukuran, *ukuran, *jenis;
    int jumlah;
    double harga_satuan, tot_bayar;

    cout<<" TOKO KELONTONG KERONCONGAN "<<endl;
    cout<<" -------------------------- ";
    cout<<"\nA. Susu Dancow";
    cout<<"\n   1. Ukuran Kecil";
    cout<<"\n   2. Ukuran Sedang";
    cout<<"\n   3. Ukuran Besar";
    cout<<"\nB. Susu Bendera";
    cout<<"\n   1. Ukuran Kecil";
    cout<<"\n   2. Ukuran Sedang";
    cout<<"\n   3. Ukuran Besar";
    cout<<"\nC. Susu SGM";
    cout<<"\n   1. Ukuran Kecil";
    cout<<"\n   2. Ukuran Sedang";
    cout<<"\n   3. Ukuran Besar";

getch ();
system("cls");

    cout<<"Masukkan Kode jenis [A..C]: ";
    cin>>kode_jenis;
    cout<<"Masukkan Kode ukuran [1..3] : ";
    cin>>kode_ukuran;
    cout<<"Masukkan jumlah yang dibeli ";
    cin>>jumlah;

    switch (kode_jenis)
    {
        case 'A' :
        case 'a' :
            jenis ="Dancow";
            if (kode_ukuran = '1')
            {
                ukuran ="kecil";
                harga_satuan = 15000;
            }
            else if (kode_ukuran=='2')
            {
                ukuran ="sedang";
                harga_satuan = 20000;
            }
            else if (kode_ukuran=='3')
            {
                ukuran ="besar";
                harga_satuan = 25000;
            }
            break;
       case 'B' :
       case 'b' :
            jenis ="Bendera";
            if (kode_ukuran=='1')
            {
                ukuran ="kecil";
                harga_satuan = 13500;
            }
            else if (kode_ukuran=='2')
            {
                ukuran ="sedang";
                harga_satuan = 17500;
            }
            else if (kode_ukuran =='3')
            {
                ukuran ="besar";
                harga_satuan = 20000;
            }
            break;
        case 'C' :
        case 'c' :
            jenis ="SGM";
            if (kode_ukuran=='1')
            {
                ukuran="kecil";
                harga_satuan = 15000;
            }
            else if (kode_ukuran=='2')
            {
                ukuran ="sedang";
                harga_satuan = 18500;
            }
            else if (kode_ukuran=='3')
            {
                ukuran = "besar";
                harga_satuan = 22000;
            }
        break;
        default:
            cout<<"Anda Salah Memasukan Kode";
            break;

    }
    tot_bayar = jumlah * harga_satuan;

getch();
system ("cls");

    cout<<"Masukkan Jenis Susu : "<<jenis<<endl;
    cout<<"Masukkan Ukuran Kaleng : "<<ukuran<<endl;
    cout<<"Harga Satuan Barang Rp. "<<harga_satuan<<endl;
    cout<<"Jumlah Yang dibeli "<<jumlah<<endl;
    cout<<"Harga yang Harus dibayar sebesar Rp. "<<tot_bayar;



    getch();
    return 0;
}



Gambar 1. 5 Hasil  inputan yang diminta


Gambar 1. 6 Hasil outputan yang diminta
Keterangan:
1. SOAL
   Soal meminta untuk membuat sebuah program untuk menghitung total pembayaran dari sebuah penjualan agen susu di kota besar dengan meilih kode susu dari A-C yaitu susu Dancow, Bendera dan SGM dan ukuran kaleng dengan kode 1-3 yaitu ukuran kecil, sedang dan besar. Setiap jenis dan ukuran memiliki harga yang sudah di tentukan. Harga yang sudah di tentukan kemudian dikalikan dengan jumlah susu yang dibeli sehingga mendapatkan total harga yang harus dibayar
2. PROGRAM
   Program dibuat di dalam aplikasi codeblocks, dengan struktur bagian yang dimulai dari heading/library, program utama dan body. Heading/Library merupakan hal yang utama dalam menjalankan suatu program berisi rumus yang diawali dengan tanda (#). Pada proses didalam codeblock yang merupakan heading/library yaitu :
1. Include adalah salah satu pengarah praprocessor yang selalu dijalankan terlebih dahulu pada saat proses kompilasi.
#include <iostream> : diperlukan ketika melibatkan cout dan cin
#include <conio.h>   : diperlukan ketika melibatkan getch()
#include <stdlib.h>   : diperlukan ketika melibatkan system (“cls”)
2. Fungsi Int main() merupakan program utama
       using namesapce std; untuk menyingkat pemakaian std di dalam body.
Getch () berfungsi untuk membaca karakter dengan sifat karakter yang dimasukkan tidak perlu     diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukkan tidak akan ditampilkan di layar.
       Return 0 berfungsi untuk mengakhiri program
Kemudian body merupakan isi program dari apa yang ingin kita jalankan, dimulai dengan adanya inputan dan apa yang ingin dioutputkan. Di dalam body memiliki kebebasan untuk menentukan tipe dan style program yang diinginkan tetapi tetap mengutamakan output yang diinginkan oleh soal. Body berada di dalam tanda kurung kurawal {}.
3. VARIABEL
Dalam pemberian nama pada variabel tidak dibolehkan adanya spasi tetapi diwakili dengan tanda ( _ ). Variabel yang digunakan yaitu Nama_Siswa, nilai_rata a, b, c,  dan .
      Fungsi dari tiap-tiap variabel yaitu :
1. Variabel kode_jenis untuk mendeklarasikan  Kode jenis dari Susu.
2. Variable kode_ukuran untuk mendeklarasikan Kode jenis ukuran dari susu.
3. Variabel ukuran untuk mendeklarasikan ukuran susu.
4. Variabel jenis untuk mendeklarasikan jenis susu.
5. Variabel jumlah untuk mendeklarasikan jumlah susu yang dibelli.
6. Variable harga_satuan untuk mendeklarasikan setiap harga dari jenis dan ukuran susu.
4. TIPE DATA
Tipe data yang digunakan yaitu char, int dan double. char berfungsi untuk mendeklarasikan karakter yaitu dapat digunakan untuk kode_jenis, kode_ukuran, ukuran dan jenis.int berfungsi untuk mendeklarasikan bilangan bulat dapat digunakan untuk jumlah, dan double  berfungsi untuk perhitungan dalam bentuk desimal yaitu harga_satuan
5. YANG DIINPUTKAN
Yang diinputkan yaitu kode jenis susu, dengan variabel masukan di kode_jenis. Kode ukuran susu, dengan variabel masukan di kode_ukuran. Jumlah yang dibeli, dengan variabel masukan di jumlah. 
cout<<"Masukkan Kode jenis [A..C]: ";
cin>>kode_jenis;
cout<<"Masukkan Kode ukuran [1..3] : ";
cin>>kode_ukuran;
cout<<"Masukkan jumlah yang dibeli ";
cin>>jumlah;
6. PROSES PERHITUNGAN
Proses perhitungan yang di gunakan yaitu menghitung total uang yang harus dibayarkan oleh pembeli susu yaitu :
tot_bayar = jumlah * harga_satuan;
7. PERNYATAAN
1. Switch-case merupakan pernyataan yang dirancangkan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif. Penggunaannya untuk memeriksa data bertipe karakter atau integer.
2. Break merupakan perintah siap keluar dari switch, jika pernyataan ini tidak ada maka program akan diteruskan ke cabang-cabang lainnya.
3. IF berarti “jika bernilai benar maka perintah dikerjakan, jika bernilai salah maka perintah diabaikan. Else berarti kemungkinan yang lainnya. Bentuk penulisan:
 switch (kode_jenis)
    {
        case 'A' :
        case 'a' :
            jenis ="Dancow";
            if (kode_ukuran = '1')
                {
                ukuran ="kecil";
                harga_satuan = 15000;
                }
            else if (kode_ukuran=='2')
                {
                ukuran ="sedang";
                harga_satuan = 20000;
                }
            else if (kode_ukuran=='3')
            {
                ukuran ="besar";
                harga_satuan = 25000;
            }
            break;
4.  Tanda == merupakan operator di dalam C++ yang berarti setara dengan.
8. OUTPUT
Ouput untuk mendapatkan hrga total yang harus dibayar. Pertama jalankan program terlebih dahulu kemudian masukan inputan yang diinginkan, yaitu :
Masukkan Jenis Susu        : Bendera
Masukkan Ukuran Kaleng     : sedang

Harga Satuan Barang Rp. 17500
Jumlah Yang dibeli         : 2
Harga yang harus di bayar sebesar Rp. 35000


Penjelasan No.4
PT.DINGIN DAMAI memberikan Honor Tetap kepada karyawan kontraknya sebesar Rp. 300,000,- per bulan, dengan memperoleh tunjangan-tunjangan sebagai berikut:
1. Tunjangan Jabatan
Golongan
Persentase
1
5%
2
10%
3
15%


Sebagai contoh: jika seorang karyawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesar 15% Rp.300.000,-
2. Tunjangan Lembur
kode
pendidikan
persentase
1
SMU
2.5%
2
D3
5%
3
S1
7.5%
3. Honor Lembur
Jumlah jam kerja normal sebanyak 8 jam kerja. Honor lembur diberikan jika jumlah jam kerja lebih dari 8 jam, maka kelebihkan jam kerja tersebut dikalikan dengan honor lembur perjam sebesar Rp 2,500 untuk setiap kelebihan jam kerja perharinya.
4. Tampilan yang diinginkan
Layar Masukkan

Program hitung honor karyawan kontrak
PT. DINGIN DAMAI

Nama karyawan          :... <di input>
Golongan               :... <di input>
Pendidikan (SMU/D3/S1) :... <di input>
Jumlah Jam kerja       :... <di input>

Layar Keluaran

Karyawan yang bernama : ... <tampil data>
Honor yang diterima

  Honor tetap          Rp ... <hasil proses>
  Tunjangan jabatan    Rp ... <hasil proses>
  Tunjangan Pendidikan Rp ... <hasil proses>
  Honor Lembur         Rp ... <hasil proses>
                                    +
  Honor yang diterima  Rp ... <hasil proses>


Penyelesaian:
#include <iostream>
#include <conio.h>
#include <stdlib.h>

using namespace std;

int main ()
{
    string Nama_Karyawan;
    int jam_kerja, jabatan,  pendidikan;
    float honor_tetap = 300000, honor_lembur_perjam = 2500 ,tunjangan_jabatan,   
    tunjangan_pendidikan, honor_lembur, total_honor;

    cout<<"Program Hitung Honor Karyawan Kontrak "<<endl;
    cout<<"PT. DINGIN DAMAI"<<endl;

    cout<<"\nNama Karyawan            : ";
    getline(cin,Nama_Karyawan);
    cout<<"Golongan                 : ";
    cin>>jabatan;
    cout<<"Pendidikan (SMU/D3/S1)   : ";
    cin>>pendidikan;
    cout<<"Jumlah Jam Kerja         : ";
    cin>>jam_kerja;

 switch (jabatan)
    {
    case 1 :tunjangan_jabatan = 0.05 *honor_tetap;
    case 2 :tunjangan_jabatan = 0.1  *honor_tetap;
    case 3 :tunjangan_jabatan = 0.15 *honor_tetap;
    break;
    }
 switch (pendidikan)
    {
    case 1 : tunjangan_pendidikan = honor_tetap * 0.025;
    case 2 : tunjangan_pendidikan = honor_tetap * 0.05 ;
    case 3 : tunjangan_pendidikan = honor_tetap * 0.075;
    break;
    }
if (jam_kerja>8)
    honor_lembur = (jam_kerja-8)*honor_lembur_perjam;
    total_honor =(honor_tetap + tunjangan_jabatan + tunjangan_pendidikan +
    honor_lembur);

system("cls");
    cout<<" Karyawan yang bernama    :"<<Nama_Karyawan            <<endl;
    cout<<" Honor yang diterima         "                         <<endl;

    cout<<"   Honor Tetap              Rp "<<honor_tetap          <<endl;
    cout<<"   Tunjangan Jabatan        Rp "<<tunjangan_jabatan    <<endl;
    cout<<"   Tunjangan Pendidikan     Rp "<<tunjangan_pendidikan <<endl;
    cout<<"   Honor Lembur             Rp "<<honor_lembur         <<endl;
    cout<<"                            -----------+"              <<endl;
    cout<<"   Honor yang Diterima      Rp "<<total_honor;

    getch();
    return 0;
}
Hasil yang ditampilkan

Gambar 1. 7 Hasil Inputan yang diminta

Gambar 1. 8 Hasil outputan yang diminta
Keterangan:
1. SOAL
   Soal meminta untuk membuat sebuah program untuk menghitung honor yang diterima seorang karyawan dengan mempertimbangkan tunjangan golongan jabatan, tunjangan pendidikan, dan honor lembur.
2. PROGRAM
   Program dibuat di dalam aplikasi codeblocks, dengan struktur bagian yang dimulai dari heading/library, program utama dan body. Heading/Library merupakan hal yang utama dalam menjalankan suatu program berisi rumus yang diawali dengan tanda (#). Pada proses didalam codeblock yang merupakan heading/library yaitu :
1. Include adalah salah satu pengarah praprocessor yang selalu dijalankan terlebih dahulu pada saat proses kompilasi.
#include <iostream> : diperlukan ketika melibatkan cout dan cin
#include <conio.h>   : diperlukan ketika melibatkan getch()
#include <stdlib.h>   : diperlukan ketika melibatkan system (“cls”)
2. Fungsi Int main() merupakan program utama
       using namesapce std; untuk menyingkat pemakaian std di dalam body.
Getch () berfungsi untuk membaca karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukkan tidak akan ditampilkan di layar.
       Return 0 berfungsi untuk mengakhiri program
Kemudian body merupakan isi program dari apa yang ingin kita jalankan, dimulai dengan adanya inputan dan apa yang ingin dioutputkan. Di dalam body memiliki kebebasan untuk menentukan tipe dan style program yang diinginkan tetapi tetap mengutamakan output yang diinginkan oleh soal. Body berada di dalam tanda kurung kurawal {}.
3. VARIABEL
Dalam pemberian nama pada variabel tidak dibolehkan adanya spasi tetapi diwakili dengan tanda ( _ ).
      Fungsi dari tiap-tiap variabel yaitu :
1. Variabel Nama_Karyawan untuk mendeklarasikan Nama karyawan.
2. Variable jam_kerja untuk mendeklarasikan waktu jam kerja yang dilakukan karyawan.
3. Variabel jabatan untuk mendeklarasikan golongan jabatan.
4. Variabel pendidikan untuk mendeklarasikan pendidikan karyawan.
5. Variabel honor_tetap untuk mendeklarasikan honor yang diperoleh tanpa adanya tunjangan.
6. Variable harga_lembur_perjam untuk mendeklarasikan hono yang diperoleh dari lembur setelah jam kerja pokok.
7. Variabel tunjangan_jabatan untuk mendeklarasikan tunjangan yang dilihat dari golongan jabatan seorang karyawan.
8. Variabel tunjangan_pendidikan untuk mendeklarasikan tunjangan yang dilihat dari pendidikan seorang karyawan.
9. Variabel honor_lembur untuk mendeklarasikan honor lembur karyawan.
10. Variabel total_honor mendeklarasikan jumlah keseleluruhan honor karyawan dengan tunjangannya.
11. TIPE DATA
Tipe data yang digunakan yaitu string, int dan double. string berfungsi untuk mendeklarasikan beberapa karakter yaitu dapat digunakan untuk Nama_Karyawan.int berfungsi untuk mendeklarasikan bilangan bulat dapat digunakan dan double  berfungsi untuk perhitungan dalam bentuk desimal.
12. YANG DIINPUTKAN
Yang diinputkan yaitu nama pegawai, golongan, pendidikan, dan jumlah jam kerja.
    cout<<"\nNama Karyawan            : ";
          getline(cin,Nama_Karyawan);
    cout<<"Golongan                 : ";
    cin>>jabatan;
    cout<<"Pendidikan (SMU/D3/S1)   : ";
    cin>>pendidikan;
    cout<<"Jumlah Jam Kerja         : ";
    cin>>jam_kerja;
13. PROSES PERHITUNGAN
Proses perhitungan yang digunakan yaitu menghitung total honor yang  diterima karyawan yaitu :
honor_lembur = (jam_kerja-8)*honor_lembur_perjam;
total_honor =(honor_tetap + tunjangan_jabatan + tunjangan_pendidikan + honor_lembur);
14. PERNYATAAN
1. Switch-case merupakan pernyataan yang dirancangkan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif. Penggunaannya untuk memeriksa data bertipe karakter atau integer.
2. Break merupakan perintah siap keluar dari switch, jika pernyataan ini tidak ada maka program akan diteruskan ke cabang-cabang lainnya.
3. IF berarti “jika bernilai benar maka perintah dikerjakan, jika bernilai salah maka perintah diabaikan.. Bentuk penulisan:
switch (jabatan)
        {
        case 1 :tunjangan_jabatan = 0.05 *honor_tetap;
        case 2 :tunjangan_jabatan = 0.1  *honor_tetap;
        case 3 :tunjangan_jabatan = 0.15 *honor_tetap;
        break;
        }
switch (pendidikan)
        {
        case 1 : tunjangan_pendidikan = honor_tetap * 0.025;
        case 2 : tunjangan_pendidikan = honor_tetap * 0.05 ;
        case 3 : tunjangan_pendidikan = honor_tetap * 0.075;
        break;
        }
4. OUTPUT
Ouput untuk mendapatkan honor total yang diterima karyawan . Pertama jalankan program terlebih dahulu kemudian masukan menghasilkan output yang diminta, yaitu :
Karyawan yang bernama : Agung Laksana
Honor yang diterima

  Honor tetap          Rp 300000
  Tunjangan jabatan    Rp 45000
  Tunjangan Pendidikan Rp 22500
  Honor Lembur         Rp 5000
                                    +
  Honor yang diterima  Rp 372500


Tidak ada komentar:

Posting Komentar

OPERASI PENYELESAIAN KONDISI Penjelasan No.1 Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan se...