Pembahasan soal-soal pemrograman terstruktur - E

advertisement
Pembahasan soal-soal
pemrograman terstruktur
Yuli Astuti, S.Kom
No 1
Buatlah program dengan untuk menghitung
volume dan luas tabung.
Rumus :
Volume Tabung : phi x jari-jari x jari-jari x tinggi)
Luas Tabung : 2 x phi x jari-jari x tinggi)
Jawab
#include <iostream.h>
#include <conio.h>
#define phi 3.14
void main(){
float jari_jari,tinggi,volume,luas;
jari_jari=5.0;
tinggi=7;
volume=phi*jari_jari*jari_jari*tinggi;
luas=2*phi*jari_jari*tinggi;
cout<<"Volume Tabung
cout<<"Luas Tabung
getch();}
= "<<volume<<endl;
= "<<luas<<endl;
No 2
Buatlah Program untuk mencatat data
mahasiswa yang terdiri dari field nama, nim
dan nilai.
Jawab
#include <iostream.h>
#include <conio.h>
void main(){
char nama[20];
int nim,nilai;
cout<<"Masukan Nama Mahasiswa :”; cin>>nama;
cout<<"Masukan Nim Mahasiswa
:”; cin>>nim;
cout<<"Masukan Nilai Mahasiswa :”; cin>>nilai;
cout<<"Nama : "<<nama<<endl;
cout<<"NIM : "<<nim<<endl;
cout<<"Nilai : "<<nilai<<endl;
getch();
}
No 3
Buatlah Program menghitung luas bangun
geometri (bujur sangkar, lingkaran, segitiga
dan trapesium). Data dimasukan oleh user
melalu piranti masukkan dan luas bangunan
ditampilkan sebagai keluaran.
Jawab
#include <iostream.h>
#include <conio.h>
# define phi 3.14
void main(){
int kode;
int ls_bujur_sangkar,sisi;
float ls_lingkaran,jari_jari;
int ls_segitiga,alas_segitiga,t_segitiga;
int ls_trapesium,ss_pjg,ss_pendek,t_trapesium;
cout<<“Pilih Program Yg Ingin Dijalankan!”;
cout<<" 1. Luas Bujur sangkar. "<<endl;
cout<<" 2. Luas Lingkaran. "<<endl;
Lanjutan 1
cout<<" 3. Luas Segitiga. ";
cout<<" 4. Trapesium. “;
cout<<"\nPilih = "; cin>>kode;
if (kode==1)
{cout<<"\nMasukan Sisi Bujur Sangkar:”;
cin>>sisi;
ls_bujur_sangkar = sisi*sisi;
cout<<"Luas Bujur Sangkar =“
<<ls_bujur_sangkar<<endl; }
else if (kode==2)
cout<<"\nMasukan jari-jari Lingkaran = ";
cin>>jari_jari;
ls_lingkaran=phi*jari_jari*jari_jari;
cout<<"Luas Lingkaran = "<<ls_lingkaran;}
Lanjutan 2
else if (kode==3)
{cout<<"\nMasukan Tinggi segitiga = ";
cin>>t_segitiga;
cout<<"Masukan Pajang alas Segitiga = ";
cin>>alas_segitiga;
ls_segitiga=(t_segitiga*alas_segitiga)/2;
cout<<"Luas Segitiga = "<<ls_segitiga;}
else if (kode==4)
{cout<<"\nMasukan Sisi Pajang Trapesium = ";
cin>>sisi_panjang;
cout<<"Masukna sisi pendek Trapesium = ";
cin>>sisi_pendek;
cout<<"Masukan Tinggi Trapesium
=";
cin>>tinggi_trapesium;
Lanjutan 3
ls_trapesium=(ss_panjang+ss_pendek*
t_trapesium)/2;
cout<<"Luas Trapesium =“
<<ls_trapesium;}
else
cout<<"\nKode yg anda masukan salah !";
getch();}
No 4
Buatlah program untuk menghitung harga
total dimana banyak barang di input user,
dan harga barang perunit 5203.02
Jawab
#include <iostream.h>
#include <conio.h>
#define harga 5203.02
void main(){
float jumlah,total;
cout<<"Masukan jumlah barang = ";
cin>>jumlah;
total=harga*jumlah;
cout<<"\nYang harus di bayar = "<<total;
getch();}
No 5
Buatlah program untuk penggunaan operasi
aritmatika yaitu penjumlahan, pembagian,
perkalian dan pengurangan dengan variabel
yang diinput.
Jawab
#include <iostream.h>
#include <conio.h>
void main()
{ int kode;
int a,b,c;
float a1,b1,c1;
cout<<"Program Operasi aritmatika”;
cout<<"1. Penjumlahan"<<endl;
cout<<"2. Pembagian"<<endl;
cout<<"3. Perkalian"<<endl;
cout<<"4. Pengurangan"<<endl;
cout<<"\nMasukan angka kode program= ";
cin>>kode;
Lanjutan 1
if (kode==1)
{cout<<"\nMasukan angka pertama = ";
cin>>a;
cout<<"Masukan angka kedua = ";
cin>>b;
c=a+b;
cout<<"Hasil penjumlah = "<<c;
}
else if (kode==2)
{cout<<"Masukan angka yg ingin di bagi =";
cin>>a1;
cout<<"Masukan angka pembagi = ";cin>>b1;
c1=a1/b1;
Lanjutan 2
cout<<"Hasil pembagian = "<<c1; }
else if (kode==3)
{cout<<"\nMasukan angka pertama = “;cin>>a;
cout<<"Masukan angka kedua
= ";cin>>b;
c=a*b;
cout<<"Hasil perkalian = "<<c;}
else if (kode==4)
{cout<<"\nMasukan angka pertama = ";cin>>a;
cout<<"Masukan angka kedua
= ";cin>>b;
c=a-b;
cout<<"Hasil pengurangan = "<<c;}
else
cout<<"\nKode yang anda masukan salah !";
No 6
Buatlah program menampilkan bilangan
ganjil antara 1 sampai N, dimana N
dimasukan oleh operator.
Jawab
#include <iostream.h>
#include <conio.h>
void main(){
int a,i;
cout<<"Masukan batas bilangan = ";cin>>a;
for (i=1;i<=a;i++)
if (i%2!=0)
cout<<i<<" ";
getch();}
No 7
Buat program untuk mencari apakah bilangan
tersebut ganjil atau genap, dimana bilangan
merupakan piranti masukan.
Jawab
#include <iostream.h>
#include <conio.h>
void main(){
int bil ;
cout <<"Masukan Bilangan = ";cin>>bil;
if (bil%2!=0)
cout<<"\nBilangan ganjil.";
else
cout<<"\nBilangan genap";
getch();}
No 8
Buatlah program untuk menyeleksi suatu
bilangan dengan ketentua sebagai berikut :
0<nilai<=30 :Nilai rendah
30<nilai<=60 :Nilai Sedang
60<nilai<=100 : Nilai Tinggi
Jawab
#include <iostream.h>
#include <conio.h>
void main(){
int nilai;
cout<<"Masukan nilai = ";cin>>nilai;
if (nilai>0 && nilai<=30)
cout<<"\nNilai Rendah";
else if (nilai>30 && nilai<=60)
cout<<"\nNilai sedang";
else if (nilai >60 && nilai<=100)
cout<<"\nNilai Tinggi";
else
cout<<"\nSalah memasukan nilai";
getch();}
No 9
Buatlah program menu untuk menghitung :
a. Luas dan Keliling Bujur Sangkar
b. Luas dan Keliling Persegi Panjang
c. Luas dan Keliling Lingkaran.
Jawab
#include <iostream.h>
#include <conio.h>
#define phi 3.14
void main(){
int kode,luas_bj,keliling_bj,sisi,panjang_persegi
lebar_persegi,luas_persegi,keliling_persegi;
float luas_lingkaran,keliling_lingkaran,jari;
cout<<"\nMenghitung luas dan keliling Geometri\n\
cout<<"1. Menghitung Luas & Keliling Bujur Sangka
cout<<"2. Menghitung Luas & Keliling Persegi Pjg\
cout<<"3. Menghitung Luas dan Keliling lingkaran\
cout<<"\nMasukan Kode Program = " ;cin>>kode;
Lanjutan 1
if (kode==1)
{cout<<"\nMasukan Panjang Sisi Bujur sangkar = ";
cin>>sisi;
luas_bj=sisi*sisi;
keliling_bj=4*sisi;
cout<<"\nLuas Bujur Sangkar = "<<luas_bj;
cout<<"\nKeliling Bujur Sangkar = "
<<keliling_bj;
}
else if (kode==2)
{cout<<"\nMasukan Panjang = ";cin>>panjang_perseg
cout<<"Masukan Lebar = ";cin>>lebar_persegi;
luas_persegi=panjang_persegi*lebar_persegi;
keliling_persegi=2*(panjang_persegi+lebar_perseg
Lanjutan 2
cout<<"\nLuas Persegi Panjang = "<<luas_persegi;
cout<<"\nKeliling Persegi Panjang = "
<<keliling_persegi; }
else if (kode==3)
{cout<<"\nMasukan nilai Jari-jari = ";cin>>jari;
luas_lingkaran = phi*jari*jari;
keliling_lingkaran= 2*phi*jari;
cout<<"\nLuas Lingkaran ="<<luas_lingkaran;
cout<<“\nKeliling Lingkaran ="<<keliling_lingkaran
}
else
cout<<"\nKode yang anda masukan salah !";
getch();}
No 10
Buatlah program untuk mencetak deret 10 9
8 7 6 5 4 3 2 1.
Jawab 1
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
for(i=10;i>=1;i--)
cout<<" "<<i;
getch();
}
Jawab 2
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
i=10;
while (i>0)
{cout<<i<<endl;
i--; }
getch();
}
Jawab 3
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
i=10;
do
{cout<<i<<endl;
i--; }
while (i>0) ;
getch();
}
No 11
Buatlah program untuk mencetak menggunakan
for, while dan do while
****
***
**
*
Jawab 1
#include <iostream.h>
#include <conio.h>
void main(){
int i,j;
i=1;
while (i<=4)
{ j=4;
while (j>=i)
{ cout<<“*”;
j--; }
cout<<endl;
i++; }
getch();}
Jawab 2
#include <iostream.h>
#include <conio.h>
main() {
int batas;
cout<<"input batas : ";cin>>batas;
for(int i=batas;i>=1;i--){
for(int a=i;a>=1;a--)
{cout<<"*"<<" ";}
cout<<endl;}
getch();}
No 12
Buatlah program yang menampilkan 5 buah
bilangan, yaitu mulai dari bilangan ke-5
sampai bilangan ke-1 dengan nilai awal
bilangan 8. Tampilan bilangan adalah
menurun dan contohnya adalah : bilanga ke5, i=3 (diperoleh dari 8-5) dan seterusnya
sampai bilangan 1, i=7 (diperoleh dari 8-1=7).
Output:
8-5=3
8-4=4
8-3=5
8-2=6
8-1=7
Jawab
#include <iostream.h>
#include <conio.h>
void main()
{ int a,i,x,hasil;
x=8;
for (a=5;a>=1;a--)
{hasil = x - a;
cout<<x<<" - "<<a<<" = "<<hasil;
cout<<endl; }
getch();
}
No 13
Buat program menentukan bilangan terbesar
dan terkecil dari jumlah data yang diinput.
Jawab
#include <conio.h>
#include <iostream.h>
void main(){
clrscr();
int i, n, max, min, bil;
cout<<“Mencari bilangan terbesar & terkecil \n";
cout<<"Banyak data : “; cin>>n;
cout<<"Masukkan bilangan : “; cin>>bil;
max=bil; min=bil;
for (i=2; i<=n;i++){
cout<<"Masukkan bilangan : “; cin>>bil;
if (bil>max) max=bil;
if (bil<min) min=bil; }
cout<<“MAX = "<<max<<"\nMIN = “ <<min;
getch();}
No 14
Buat Pyramid Angka 10 baris, seperti gambar
di bawah:
Jawab
#include <iostream.h>
#include <conio.h>
int main(){
clrscr();
int x, y, z, bil=10;
for( x = 1; x <= bil; x++ )
{for( z = bil; z >= x; z-- )
cout << ' ';
for( z = x; z < 2*x; z++ )
{y = z % 10;
cout << y;}
for( z = 2*(x-1); z >= x; z-- )
{y = z % 10;
cout << y;}
cout << endl; }
getch();}
Download