contoh soal dasar pemrograman c++


1.     Buatlah program untuk menghitung nilai rata-rata dari seorang siswa, dengan ketentuan sebagai berikut :

▪ Nama Siswa, Nilai Pertandingan I, Nilai Pertandingan II, Nilai Pertandingan III diinput.

▪ Nilai Rata-rata merupakan hasil dari Nilai Pertandingan I, II dan III dibagi dengan 3.

▪ Ketentuan Juara

• Jika nilai rata-rata yang dihasilkan lebih besar dari 80, maka menjadi Juara I

• Jika nilai rata-rata yang dihasilkan lebih besar dari 75, maka menjadi Juara II

• Jika nilai rata-rata yang dihasilkan lebih besar dari 65, maka menjadi Juara III

• Selain itu tidak juara



#include<iostream> /*singkatan input output stream header untuk keluaran c++ yang akan  menampilkan tipe data*/

#include<conio> /*header yang akan menampilkan hasil antar muka kepada pengguna*/



Int main(){/*sebagai start yang wajib untuk mencakup semua isi yang akan di running*/

int n1,n2,n3,rata2; /*inputan tipe data*/

char nama[30],juara[20]; /*inputan karakter lebih dari 1*/



cout<<"PROGRAM HITUNG NILAI RATA RATA"<<endl<<endl; /*cout: keluaran data yang akan dipanggil*/

cout<<"Nama Siswa : ";cin>>nama; /*cin: masukan atau inputan yang akan dirujuk sama  cout*/

cout<<"Nilai Pertandingan 1 : ";cin>>n1;

cout<<"Nilai Pertandingan 2 : ";cin>>n2;

cout<<"Nilai Pertandingan 3 : ";cin>>n3;



rata2=(n1+n2+n3)/3;



if(rata2>=80){ /* if  mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.*/

strcpy(juara,"juara ke 1"); /*strcpy: untuk menyalin string asal ke-variabel string tujuan, dengan syarat string tujuan harus mempunyai tipe data dan dan ukuran yang sama dengan string asal*/

}else if(rata2>=75){ /* “Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.*/

strcpy(juara,"juara ke 2");

}else if(rata2>=65){

strcpy(juara,"juara ke 3");

}else{

strcpy(juara,"tidak juara");

}

cout<<endl; /*endl: sebagai akhir atau enter dari kumpulan data*/

cout<<"Siswa yang bernama "<<nama<<endl;

cout<<"Memperoleh nilai rata rata "<<rata2<<" dan menjadi "<<juara<<" dari hasil perlombaan yang diikutinya";

getch(); /*membaca inputan dari karakter*/

}

2.       Buatlah program untuk menghitung nilai akhir seorang siswa dari kursus yang diikutinya. Dengan ketentuan sebagai berikut :

▪ Nama Siswa, Nilai Keaktifan, Nilai Tugas dan Nilai Ujian diinput.

▪ Proses yang dilakukan untuk mendapatkan nilai murni dari masingmasing nilai, adalah

▪ Nilai Murni Keaktifan = Nilai Keaktifaan dikalikan dengan 20%.

▪ Nilai Murni Tugas = Nilai Tugas dikalikan dengan 30%

▪ Nilai Murni Ujian = Nilai Ujian dikalikan dengan 50%

▪ Nilai Akhir adalah Nilai Murni Keaktifan + Nilai Murni Tugas + Nilai Murni Ujian

▪ Ketentuan Nilai Huruf

• Jika nilai Akhir yang dihasilkan lebih besar dari 80, maka mendapat grade “A”

• Jika nilai Akhir yang dihasilkan lebih besar dari 70, maka mendapat grade “B”

• Jika nilai Akhir yang dihasilkan lebih besar dari 56, maka mendapat grade “C”

• Jika nilai Akhir yang dihasilkan lebih besar dari 46, maka mendapat grade “D”

• Selain itu mendapat grade “E”



include<iostream>

#include<conio>



main(){

int maktif,mtugas,mujian,naktif,ntugas,nujian,nakhir;

char nama[30],grade[5];



cout<<"PROGRAM HITUNG NILAI AKHIR"<<endl<<endl;

cout<<"Nama Siswa : ";cin>>nama;

cout<<"Nilai Keaktifan : ";cin>>maktif;

cout<<"Nilai Tugas : ";cin>>mtugas;

cout<<"Nilai Ujian : ";cin>>mujian;



naktif=0.2*maktif;

ntugas=0.3*mtugas;

nujian=0.5*mujian;

nakhir=naktif+ntugas+nujian;



if(nakhir>=80){

strcpy(grade,"A");

}else if(nakhir>=70){

strcpy(grade,"B");

}else if(nakhir>=56){

strcpy(grade,"C");

}else if(nakhir>=46){

strcpy(grade,"D");

}else{

strcpy(grade,"E");

}

cout<<endl;

cout<<"Siswa yang bernama : "<<nama<<endl;

cout<<"Dengan Nilai Persentasi yang dihasilkan."<<endl;

cout<<"    Nilai Keaktifan*20% : "<<naktif<<endl;

cout<<"    Nilai Tugas*30%      : "<<ntugas<<endl;

cout<<"    Nilai Ujian*50%      : "<<nujian<<endl;

cout<<endl;

cout<<"Jadi Siswa yang Bernama "<<nama<<" memperoleh nilai akhir sebesar "<<nakhir<<" dengan grade "<<grade;

getch();

}



3.       PT. DINGIN DAMAI, memberi gaji pokok kepada karyawan kontraknya sebesar Rp. 300,000 perbulan, dengan memperoleh tunjangan-tunjangan sebagai berikut :

▪ Tunjangan Jabatan

Golongan Persentase 1 5% 2 10% 3 15% Logikanya : Jika seorang karyawan tersebut dengan golongan 3, maka mendapatkan tunjangan sebesar 15% * Rp. 300,000

                • Tunjangan Pendidikan

 Tingkat Persentase Pendidikan  SMA 2.5%  D1 5% D3 20% S1 30% Jika seorang karyawan tersebut dengan Tingkat Pendidikan S1, maka mendapatkan tunjangan pendidikan sebesar 30% * Rp. 300,000



Honor Lembur Jumlah jam kerja normal sebanyak 8 jam, Honor lembur diberikan jika jumlah jam kerja lebih dari 8 jam, maka kelebihan jam kerja tersebut dikalikan dengan Rp. 3500 untuk setiap kelebihan jam kerja karyawan tersebut.


#include<iostream>

#include<conio>

main(){



int gjpokok=300000,t1,t2,hlembur,jmkerja,lembur=8,lmlembur,tot_gaji;

char nama[30],gol,pndidikan[5];

float p1,p2; /*float: bilangan decimal tunggal*/



cout<<"PROGRAM HITUNG GAJI KARYAWAN"<<endl<<endl;

cout<<"Nama Karyawan : ";cin>>nama;

cout<<"Golongan Jabatan[1/2/3] : ";cin>>gol;

cout<<"Pendidikan [SMA/D1/D3/S1] : ";cin>>pndidikan;

cout<<"Jumlah Jam Kerja : ";cin>>jmkerja;



if(gol=='1'){

p1=0.05;

}else if(gol=='2'){

p1=0.1;

}else if(gol=='3'){

p1=0.15;

}

if(strcmp(pndidikan,"SMA")==0||strcmp(pndidikan,"sma")==0){ /*strcmp: untuk membandingkan string pertama dengan string kedua. Hasil dari fungsi ini bertipe data integer (int).*/

p2=0.025;

}else if(strcmp(pndidikan,"D1")==0||strcmp(pndidikan,"d1")==0){ /*|| artinya atau*/

p2=0.05;

}else if(strcmp(pndidikan,"D3")==0||strcmp(pndidikan,"d3")==0){

p2=0.2;

}else if(strcmp(pndidikan,"S1")==0||strcmp(pndidikan,"s1")==0){

p2=0.3;

}

if(jmkerja>8){

lmlembur=jmkerja-lembur;

}else{

lmlembur=0;

}

t1=p1*gjpokok;

t2=p2*gjpokok;

hlembur=lmlembur*3500;

tot_gaji=gjpokok+t1+t2+hlembur;



cout<<endl<<endl;

cout<<"Karyawan yang bernama "<<nama<<endl;

cout<<"Honor yang di terima"<<endl;

cout<<"    Tunjangan Jabatan                 Rp "<<t1<<endl;

cout<<"    Tunjangan Pendidikan           Rp "<<t2<<endl;

cout<<"    Honor Lembur                         Rp "<<hlembur<<endl;

cout<<"---------------------------------------------- +"<<endl;

cout<<"    Total Gaji                                  Rp "<<tot_gaji<<endl;



getch();

}

Komentar