Anda di halaman 1dari 39

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();}

Anda mungkin juga menyukai