Contoh Soal C++ BSI Semester 1 Menggunakan Seleksi Kondisi
Contoh-contoh soal praktikum Borland C++ ini mengambil materi perkuliahan Algoritma dan Pemrograman BSI Semester 1 pada pertengahan semester awal.
SOAL 1 – Slip Gaji
PT. DINGIN DAMAI memberikan honor tetap kepada karyawan kontraknya sebesar Rp.300,000,- per bulan,dengan memperoleh tunjangan-tunjangan sebagai berikut :
Tunjangan Jabatan
Sebagai contoh : jika seorang karyawan tersebut dengan golongan 3, maka mendapatkan t
unjangan sebesar 15% * Rp.300,000,-
Tunjangan Pendidikan
Honor Lembur
Jumlah Jam kerja normal sebanyak 8 jam kerja, honor lembur diberikan jika jumlah jam kerja lebih dari 8 jam, maka kelebihan jam kerja tersebut dikalikan dengan honor lembur perjam sebesar Rp.2,500 untuk setiap kelebihan jam kerja perharinya.
Tampilan Output :
Contoh Penyelesaian :
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
main()
{
int jam,lembur,tunjjab, gapok=300000,ttlgapok,tunjpend,honor,ttl;
char gol,nama[20],pend[5],lagi;
atas:
clrscr();
cout<<"PROGRAM INPUT GAJI KARYAWAN\n";
cout<<"===============================\n\n";
cout<<"Nama Karyawan : ";cin>>nama;
cout<<"Golongan Jabatan : ";cin>>gol;
cout<<"Pendidikan : ";cin>>pend;
cout<<"Jumlah Jam Kerja : ";cin>>jam;
ttlgapok=jam*gapok;
if(gol=='1')
tunjjab=0.05*ttlgapok;
else if(gol=='2')
tunjjab=0.1*ttlgapok;
else if(gol=='3')
tunjjab=0.15*ttlgapok;
else
tunjjab=0;
if(strcmp(pend,"SMA")==0||strcmp(pend,"sma")==0)
tunjpend=0.025*ttlgapok;
else if (strcmp(pend,"D1")==0||strcmp(pend,"d1")==0)
tunjpend=0.05*ttlgapok;
else if (strcmp(pend,"D3")==0||strcmp(pend,"d3")==0)
tunjpend=0.2*ttlgapok;
else if (strcmp(pend,"S1")==0||strcmp(pend,"s1")==0)
tunjpend=0.3*ttlgapok;
else
tunjpend=0;
if(jam>8)
{
lembur=jam-8;
honor=lembur*3500;
}
clrscr();
cout<<"SLIP GAJI KARYAWAN\n";
cout<<"===============================\n\n";
cout<<"Nama Karyawan : "<<nama<<endl;
cout<<"Gaji Pokok : "<<ttlgapok<<endl;
cout<<"Tunjangan Jabatan : "<<tunjjab<<endl;
cout<<"Tunjangan Pendidikan : "<<tunjpend<<endl;
cout<<"Honor Lembur : "<<honor<<endl;
cout<<" _________________+\n";endl;
ttl=ttlgapok+tunjjab+tunjpend+honor;
cout<<"Total Gaji Bersih : "<<ttl<<endl<endl;
cout<<"Ingin Input Lagi? [Y/T]";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
getch();
}
#include <iostream.h>
#include <stdio.h>
main()
{
int jam,lembur,tunjjab, gapok=300000,ttlgapok,tunjpend,honor,ttl;
char gol,nama[20],pend[5],lagi;
atas:
clrscr();
cout<<"PROGRAM INPUT GAJI KARYAWAN\n";
cout<<"===============================\n\n";
cout<<"Nama Karyawan : ";cin>>nama;
cout<<"Golongan Jabatan : ";cin>>gol;
cout<<"Pendidikan : ";cin>>pend;
cout<<"Jumlah Jam Kerja : ";cin>>jam;
ttlgapok=jam*gapok;
if(gol=='1')
tunjjab=0.05*ttlgapok;
else if(gol=='2')
tunjjab=0.1*ttlgapok;
else if(gol=='3')
tunjjab=0.15*ttlgapok;
else
tunjjab=0;
if(strcmp(pend,"SMA")==0||strcmp(pend,"sma")==0)
tunjpend=0.025*ttlgapok;
else if (strcmp(pend,"D1")==0||strcmp(pend,"d1")==0)
tunjpend=0.05*ttlgapok;
else if (strcmp(pend,"D3")==0||strcmp(pend,"d3")==0)
tunjpend=0.2*ttlgapok;
else if (strcmp(pend,"S1")==0||strcmp(pend,"s1")==0)
tunjpend=0.3*ttlgapok;
else
tunjpend=0;
if(jam>8)
{
lembur=jam-8;
honor=lembur*3500;
}
clrscr();
cout<<"SLIP GAJI KARYAWAN\n";
cout<<"===============================\n\n";
cout<<"Nama Karyawan : "<<nama<<endl;
cout<<"Gaji Pokok : "<<ttlgapok<<endl;
cout<<"Tunjangan Jabatan : "<<tunjjab<<endl;
cout<<"Tunjangan Pendidikan : "<<tunjpend<<endl;
cout<<"Honor Lembur : "<<honor<<endl;
cout<<" _________________+\n";endl;
ttl=ttlgapok+tunjjab+tunjpend+honor;
cout<<"Total Gaji Bersih : "<<ttl<<endl<endl;
cout<<"Ingin Input Lagi? [Y/T]";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
getch();
}
SOAL 2 – Toko Buah
Buatlah program untuk Toko Buah Furity Fresh dengan ketentuan sebagai berikut :
- Toko Buah Bernama Toko Buah FRUITY FRESH.
- FRUITY FRESH menyediakan 3 Macam Buah, Anggur Red Cuurant (Kode A) harga 35000/kg, Kiwi Selandia (K 25000/kg),Sunkist Orange (S 20000/kg).
- Kasir ada 3 BIMA (kode BM), RANGGA (RG), DIRA (DR).
- Dengan disc 5% setiap pembeliannya.
- Buatlah PROGRAM Struk Pembeliannya.
Dengan Inputan :
Output :
Contoh penyelesaian :
MENGGUNAKAN ELSE-IF
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
int nota,jml,harga,subttl,ttl,diskon,bayar,kembali;
char kdkasir[3],kdbuah[2],kasir[10],buah[20],lagi;
atas:
clrscr();
cout<<" Toko Buah FRUITY FRESH\n";
cout<<"=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n";
cout<<"Input No. Transaksi : ";cin>>nota;
cout<<"Input Kode Kasir [BM/RG/DR] : ";cin>>kdkasir;
cout<<"===================================\n";
cout<<"Input Kode Buah [A/K/S] : ";cin>>kdbuah;
cout<<"Input Jumlah Beli : ";cin>>jml;
if(strcmp(kdkasir,"BM")==0||strcmp(kdkasir,"bm")==0)
{
strcpy(kasir,"Bima");
}
else if(strcmp(kdkasir,"RG")==0||strcmp(kdkasir,"rg")==0)
{
strcpy(kasir,"Rangga");
}
else if(strcmp(kdkasir,"DR")==0||strcmp(kdkasir,"dr")==0)
{
strcpy(kasir,"Dira");
}
if(strcmp(kdbuah,"A")==0)
{
strcpy(buah,"Anggur Red Cuurant");
harga=35000;
}
else if(strcmp(kdbuah,"K")==0)
{
strcpy(buah,"Kiwi Selandia");
harga=25000;
}
else if(strcmp(kdbuah,"S")==0)
{
strcpy(buah,"Sunkist Orange");
harga=20000;
}
else
harga=0;
clrscr();
cout<<" Struk Pembelian\n";
cout<<" TOKO BUAH FRUITY FRESH\n";
cout<<"=======================================\n";
cout<<"No. Nota : "<<nota<<"\t Nama Kasir : "<<kasir<<endl;
cout<<"=======================================\n";
cout<<"Nama Buah : "<<buah<<endl;
cout<<"Harga Per Kg : "<<harga<<endl;
cout<<"Jumlah Beli : "<<jml<<endl;
subttl=harga*jml;
diskon=0.05*subttl;
cout<<"Discount : "<<diskon<<endl;
cout<<"=======================================\n";
ttl=subttl-diskon;
cout<<"Jumlah Bayar : "<<ttl<<endl;
cout<<"Uang Bayar : ";cin>>bayar;
kembali=bayar-ttl;
cout<<"Uang Kembali : "<<kembali<<endl;
cout<<"Ingin Input Lagi [Y/T]?";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
getche();
}
MENGGUNAKAN SWITCH CASE
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
int nota,jml,harga,subttl,ttl,diskon,bayar,kembali;
char kdkasir[3],kdbuah,kasir[10],buah[20],lagi;
atas:
clrscr();
cout<<" Toko Buah FRUITY FRESH\n";
cout<<"=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=\n";
cout<<"Input No. Transaksi : ";cin>>nota;
cout<<"Input Kode Kasir [BM/RG/DR] : ";cin>>kdkasir;
cout<<"===================================\n";
cout<<"Input Kode Buah [A/K/S] : ";cin>>kdbuah;
cout<<"Input Jumlah Beli : ";cin>>jml;
if(strcmp(kdkasir,"BM")==0||strcmp(kdkasir,"bm")==0)
{
strcpy(kasir,"Bima");
}
else if(strcmp(kdkasir,"RG")==0||strcmp(kdkasir,"rg")==0)
{
strcpy(kasir,"Rangga");
}
else if(strcmp(kdkasir,"DR")==0||strcmp(kdkasir,"dr")==0)
{
strcpy(kasir,"Dira");
}
switch(kdbuah)
{
case'A':
case'a':
strcpy(buah,"Anggur Red Cuurant");
harga=35000;
break;
case'K':
case'k':
strcpy(buah,"Kiwi Selandia");
harga=25000;
break;
case'S':
case's':
strcpy(buah,"Sunkist Orange");
harga=20000;
break;
default:
{
strcpy(buah,"Salah Kode Buah");
harga=0;
cout<<"Ingin Input Lagi [Y/T]?";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
}}
clrscr();
cout<<" Struk Pembelian\n";
cout<<" TOKO BUAH FRUITY FRESH\n";
cout<<"=======================================\n";
cout<<"No. Nota : "<<nota<<"\t Nama Kasir : "<<kasir<<endl;
cout<<"=======================================\n";
cout<<"Nama Buah : "<<buah<<endl;
cout<<"Harga Per Kg : "<<harga<<endl;
cout<<"Jumlah Beli : "<<jml<<endl;
subttl=harga*jml;
diskon=0.05*subttl;
cout<<"Discount : "<<diskon<<endl;
cout<<"=======================================\n";
ttl=subttl-diskon;
cout<<"Jumlah Bayar : "<<ttl<<endl;
cout<<"Uang Bayar : ";cin>>bayar;
kembali=bayar-ttl;
cout<<"Uang Kembali : "<<kembali<<endl;
cout<<"Ingin Input Lagi [Y/T]?";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
getche();
}
SOAL 3 – Toko Sepatu
Buatlah program pembelian sepatu dengan ketentuan seperti berikut:
ADIDAS =150000
REBOX = 200000
NIKE = 100000
Menggunakan switch case dan buat program input data lagi
LAYAR INPUT
LAYAR OUTPUT
Contoh penyelesaian :
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
main()
{
char kode,merk[10],nama[20],lagi;
int no,harga,jml,ttl,byr,kmbl;
atas:
clrscr();
cout<<" Toko Sepatu BANGYANG\n";
cout<<" Jalan September No. 15\n";
cout<<"====================================\n";
cout<<"Masukkan No. Transaksi : ";cin>>no;
cout<<"Masukkan Nama Pembeli : ";cin>>nama;
cout<<"Masukkan Kode Barang [A/R/N] : ";cin>>kode;
cout<<"Masukkan Jumlah Beli : ";cin>>jml;
switch(kode)
{
case'A':
case'a':
strcpy(merk,"Adidas");
harga=150000;
break;
case'R':
case'r':
strcpy(merk,"Rebox");
harga=200000;
break;
case'N':
case'n':
strcpy(merk,"Nike");
harga=100000;
break;
}
clrscr();
cout<<" Toko Sepatu BANGYANG\n";
cout<<" Jalan September No. 15\n";
cout<<"============================\n";
cout<<"No. Transaksi : "<<no<<endl;
cout<<"Nama Pembeli : "<<nama<<endl;
cout<<"Nama Barang : "<<merk<<endl;
cout<<"Jumlah Beli : "<<jml<<endl;
cout<<"Harga Satuan : "<<harga<<endl;
ttl=jml*harga;
cout<<"Total Pembelian : "<<ttl<<endl;
cout<<"Uang Bayar : ";cin>>byr;
kmbl=byr-ttl;
cout<<"Uang Kembali : "<<kmbl<<endl;
cout<<"Ingin Input Lagi [Y/T]?";
lagi=getche();
if(lagi=='Y'||lagi=='y')
goto atas;
getch();
}
SOAL 4 – Toko Susu
Buatlah program untuk menghitung total pembayaran dari sebuah penjualan agen susu di kota besar ini, dengan ketentuan sebagai berikut :
Jenis susu di input berdasarkan kode yang sudah di tentukan :
Jika kode A = Dancow
Jika kode B = Bendera
Jika kode C = SGM
Ukuran kaleng susu diinput berdasarkan kode yang sudah ditentukan :
Jika kode 1 = kecil
Jika kode 2 = sedang
Jika kode 3 = besar
Harga susu sesuai dengan jenis susu dan kaleng susu :
LAYAR INPUT
LAYAR OUTPUT
Contoh Penyelesaian :
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main()
{
char kdsusu[2],kdkaleng[2],merk[20],ukuran[10],nama[20],lagi;
int jml,harga,ttl,byr,kembali;
clrscr();
atas:
cout<<" Toko Susu SEGAR SEHAT\n";
cout<<"Jalan Sankar No.33, Purbalingga\n";
cout<<"==================================\n\n";
cout<<"Daftar Susu : A. Dancow\n";
cout<<" B. Bendera\n";
cout<<" C. SGM\n";
cout<<"Daftar Ukuran : 1. Besar\n";
cout<<" 2. Sedang\n";
cout<<" 3. Kecil\n";
cout<<"==================================\n";
cout<<"Masukkan Nama Pembeli : ";cin>>nama;
cout<<"Masukkan Kode Susu : ";cin>>kdsusu;
cout<<"Masukkan Kode Ukuran : ";cin>>kdkaleng;
cout<<"Masukkan Jumlah Beli : ";cin>>jml;
if(strcmp(kdsusu,"A")==0||strcmp(kdsusu,"a")==0)
{
strcpy(merk,"Dancow");
if(strcmp(kdkaleng,"1")==0)
{
strcpy(ukuran,"Besar");
harga=25000;
}
else if(strcmp(kdkaleng,"2")==0)
{
strcpy(ukuran,"Sedang");
harga=20000;
}
else if(strcmp(kdkaleng,"3")==0)
{
strcpy(ukuran,"Kecil");
harga=15000;
}}
else if(strcmp(kdsusu,"B")==0||strcmp(kdsusu,"b")==0)
{
strcpy(merk,"Bendera");
if(strcmp(kdkaleng,"1")==0)
{
strcpy(ukuran,"Besar");
harga=20000;
}
else if(strcmp(kdkaleng,"2")==0)
{
strcpy(ukuran,"Sedang");
harga=17500;
}
else if(strcmp(kdkaleng,"3")==0)
{
strcpy(ukuran,"Kecil");
harga=13500;
}}
else if(strcmp(kdsusu,"C")==0||strcmp(kdsusu,"c")==0)
{
strcpy(merk,"SGM");
if(strcmp(kdkaleng,"1")==0)
{
strcpy(ukuran,"Besar");
harga=22000;
}
else if(strcmp(kdkaleng,"2")==0)
{
strcpy(ukuran,"Sedang");
harga=18500;
}
else if(strcmp(kdkaleng,"3")==0)
{
strcpy(ukuran,"Kecil");
harga=15000;
}}
else
strcpy(merk,"Kode Susu Yang Anda Masukkan Salah\n");
clrscr();
cout<<" Toko Susu SEGAR SEHAT\n";
cout<<"Jalan Sankar No.33, Purbalingga\n";
cout<<"==================================\n\n";
cout<<"Nama Pembeli : "<<nama<<endl;
cout<<"Merk Susu : "<<merk<<endl;
cout<<"Ukuran Susu : "<<ukuran<<endl;
cout<<"Jumlah Beli : "<<jml<<endl;
cout<<"Harga Satuan : "<<harga<<endl;
ttl=jml*harga;
cout<<"Total Pembelian : "<<ttl<<endl;
cout<<"Jumlah Uang Bayar : ";cin>>byr;
kembali=byr-ttl;
cout<<"Jumlah Uang Kembali : "<<kembali<<endl;
cout<<"\n\nTerimakasih Atas Belanja Anda\n";
cout<<"Ingin Input Lagi [Y/T]?";
lagi=getche();
clrscr();
if(lagi=='Y'||lagi=='y')
goto atas;
getch();
}
Selamat belajar C++
Jangan pusing, yang penting banyak latihan pasti bisa :)
Salam Cahaya dan Mimpi dari saya, Mahasiswa BSI Purwokerto
= = = = = = = = = = = = = = =
Baca juga materi Semester 1 UBSI lainnya:
Jangan pusing, yang penting banyak latihan pasti bisa :)
Salam Cahaya dan Mimpi dari saya, Mahasiswa BSI Purwokerto
= = = = = = = = = = = = = = =
Baca juga materi Semester 1 UBSI lainnya:
Kurikulum September 2019 :
- Latihan Soal Pertemuan 1-6 Logika dan Algoritma UBSI Semester 1
- Latihan Soal Pertemuan 1-6 Entrepreneurship UBSI Semester 1
- Latihan Soal Pertemuan 1-6 Entrepreneurship UBSI Semester 1
Yg pertama kok gabisa sih
BalasHapusBisa kok, saya udah coba. Silakan dicek lagi errornya, mungkin kesalahan pada saat copy paste :)
Hapus