LATIHAN BAHASA PEMOGRAMAN C++
I. Teori
Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel.
- Konstanta menyatakan nilai yang tetap.
- Variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.
Berdasarkan jenis/tipenya, data dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar.
- Bilangan bulat (integer) int (short int, long int, signed int, unsigned int)
- Bilangan real presisi tunggalfloat
- Bilangan real presisigandadouble
- Karakter char
- Takbertipe (void)
Definisi Algoritma
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Contoh algoritma :
Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. Algoritmanya :
1. Masukkan bilangan yang akan ditentukan.
2. Bagi bilangan dengan bilangan 2.
3. Hitung sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
Definisi flowchart
Suatu diagram yang menggunakan simbol-simbol khusus yang menunjukkan langkah-langkah sebuah program. Flowchart digunakan untuk menggambarkan langkah-langkah dalam suatu proses, keputusan yang dibuat dalam proses tersebut, data penting yang digunakan dalam langkah-langkah tersebut.
Simbol flowchart
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variabel, membandingkan kesamaan dua buah nilai.
Berdasarkan jumlah operandnya :
- Unary operator, contoh : c operator yang hanya memiliki sebuah operand
- Binary operator, contoh : a + b
Sebagian operator C tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai (operand). Ternary operator, contoh : ? :
hasil = (x > y) ? 0 : 1;
II. Latihan Soal
A. Soal :
Berapakah nilai jawaban yang di tampilkan oleh program di bawah ini :
#include
main()
{
int jawab, hasil;
jawab = 100;
hasil = jawab - 10;
printf("jawabannya adalah %d\n", hasil + 6);
}
Jawaban :
“jawabannya adalah 96”
Flowchart :
start
input jawab = 100
hasil = jawab – 10 + 6
print hasil
end
B. Soal :
Apakah keluaran dari potongan program di bawah ini
#include
main()
{
int value1, value2, sum;
value1 = 35;
value2 = 18;
sum = value1 + value2;
printf("the sum of %d\n", value1,value2,sum);
}
Jawab :
Flowchart:
start
input value1
value2
sum = value1+value2
print sum
end
C. Soal :
Program di bawah ini tidak berhasil di-compile karena masih terdapat beberapa kesalahan. Temukan paling sedikit 6 buah kesalahannya.
Selanjutnya tampilkan keluaran, setelah program ini berhasil dijalankan.
main ()
{
INT jumlah;
/* PERHITUNGAN HASIL
jumlah = 25 + 37 - 19;
/* TAMPILKAN HASIL
printf("Berapa hasil perhitungan 25 + 37 - 19 ?\n);
printf("Jawabannya adalah %d\n" jumlah);
}
Jawab :
• Perbaikan coding:
#include
main()
{
int jumlah;
/* PERHITUNGAN HASIL */
jumlah = 25 + 37 - 19;
/* TAMPILKAN HASIL*/
printf("berapa hasil perhitungan 25 + 37 - 19 ?\n");
printf("jawabannya adalah %d\n", jumlah);
}
*Font yang berwarna biru adalah perbaikan program dari kesalahan program pada soal.
• Output
Flowchart :
start
input 25, 37, 19
jumlah = 25 + 37 - 19
print jumlah
end
D. Soal :
Buatlah program yang menerima masukan dua buah bilangan. Tampilkan keluaran berupa jumlah, rata-rata dan kuadrat dari kedua bilangan yang dimasukkan.
Jawab :
• Coding :
#include
main()
{
float jumlah, rata2, kuadrat, bil1, bil2, kuadrat1, kuadrat2;
printf("Masukan bilangan pertama =\n\n");
scanf("%f", &bil1);
printf("Masukan bilangan kedua =\n\n");
scanf("%f", &bil2);
/*jumlah bilangan */
jumlah = bil1 + bil2;
/*rata2 bilangan */
rata2 = (bil1 + bil2)/2;
/*kuadrat bilangan*/
kuadrat1 = bil1*bil1;
kuadrat2 = bil2*bil2;
printf("jumlah dari %f dan %f adalah %f\n",bil1,bil2,jumlah);
printf("rata-rata dari %f dan %f adalah%f\n",bil1,bil2,rata2);
printf("kuadrat pertama dari %f adalah %f\n",bil1,kuadrat1);
printf("kuadrat kedua dari %f adalah %f\n",bil2,kuadrat2);
}
• Tampilan :
uji coba :
- Jika input pada bilangan pertama adalah 50 dan,
- Jika input pada bilangan kedua adalah 30
Maka tampilan hasil dari hasil coba adalah sebagai berikut :
Flowchart :
start
input bil1, bil2
jumlah = bil1 + bil2
rata2 = (bil1 + bil2)/2
kuadrat 1 = bil1*bil1
kuadrat2 = bil2*bil2
print jumlah, rata2
kuadrat
end
E. Soal
Program di bawah ini seharusnya menampilkan keluaran satu baris sbb :
c * c = 25,000000
Namun, belum berhasil karena masih ada beberapa kesalahan. Temukan minimal 3 kesalahan dalam program tersebut.
#include
main ()
{
float a, b, c;
a = 3;
b = 4.0;
c = a * a + b * b
printf("c * c = %d", c);
}
Jawab :
• Perbaikan coding
#include
main ()
{
float a, b, c;
a = 3;
b = 4.0;
c = a * a + b * b;
printf("c * c = %f \n", c);
}
*Font yang berwarna biru adalah perbaikan program dari kesalahan program pada soal.
• Output :
III. Kesimpulan
- Beberapa fungsi dalam konsep pemprograman memiliki aturan masing-masing dalam penggunaannya. Misalkan fungsi Char yaitu digunakan untuk menampilkan bentuk karkter, unuk fungsi integer yaitu digunakan untuk bentuk karakter bilangan bulat, dan untuk float digunakan untuk bentuk karakter bilangan pecahan/decimal.
- Tipe data float dan double di gunakan untuk bilangan pecahan.
- Sedangkan tipe data integer di gukan untuk bilangna bulat.