Anda di halaman 1dari 10

PENGANTAR CODING

STRUKTUR FLOW CONTROL ALGORITMA

NAMA : NADIA RAMADANI

NIM : 20059078

PRODI : MANAJEMEN

FAKULTAS EKONOMI UNIVERSITAS NEGERI PADANG


SOAL dan JAWABAN :

1. Buatlah program untuk menerima 2 buah bilangan bulat masukan. Tampilkan hasil dari
pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal.
Input : bil1 dan bil2
Output : hasil bagi bil1 dengan bil2
Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan kedua
adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan kesalahannya
(division by zero).

Jawaban :
#include<stdio.h>
void main()
{
int bil1;
int bil2;
float hasilbagi;
printf("masukan bil1\t");
scanf("%d", &bil1);
printf("masukan bil2\t");
scanf("%d", &bil2);
if(bil2==0) {
printf("\n division by zero");
}else{ hasilbagi = bil1 / bil2;
printf("\n Hasil pembagian: %9.2f", hasilbagi);

2. Buatlah program untuk menghitung determinan dan mencari akar-akar dari persamaan
kuadrat :
ax2 + bx + c = 0 , dengan ketentuan sbb :

D = b2 - 4ac
• Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu : x1 = x2 = -b / 2a • Jika D > 0 ,
maka terdapat 2 akar real yang berlainan, yaitu : x1 = (-b + sqrt(D)) / 2a x2 = (-b - sqrt(D)) /
2a.
• Jika D < 0 , maka terdapat 2 akar imaginair yang berlainan, yaitu : x1 = -b / 2a + (sqrt(-D) /
2a) i x2 = -b / 2a - (sqrt(-D) / 2a) i
Input : a, b, c (float)
Output : Nilai Determinan serta nilai akar-akar persamaan tsb (x1& x2).

Petunjuk :
- Untuk mencari akar dari x, gunakan : sqrt(x) yang didefinisikan pada <math.h> .
- Gunakan else if.

Jawaban :
#include <iostream>
#include <math.h>
using namespace std;
int main(){

int a, b, c, D;
float x1, x2;

cout<<"Masukan nilai a : ";


cin>>a;
cout<<"Masukan nilai b : ";
cin>>b;
cout<<"Masukan nilai c : ";
cin>>c;

D=(b*b)-(4*a*c);

if (D>0){
x1 = (-b + sqrt(D)) / (2*a);
x2 = (-b - sqrt(D)) / (2*a);
}else if (D==0){
x1 = (-b + sqrt(D)) / (2*a);
x2 = x1;
}else {
cout<<"\nAkar Imajiner"<<endl;
exit(0);
}
cout<<"X1 = "<<x1<<endl;
cout<<"X2 = "<<x2<<endl;

}
3. Buatlah program untuk menampilkan menu dan melakukan proses sbb :
Menu :
1. Menghitung volume kubus
2. Menghitung luas lingkaran
3. Menghitung volume silinder.

Input : pilihan user (1, 2 atau 3) :


- Jika pilihan = 1, maka : Input : panjang sisi kubus Output : Volume kubus (vol = sisi3).
- Jika pilihan = 2, maka : Input : panjang jari-jari lingkaran Output : Luas lingkaran (luas =
3.14 * r2).
- Jika pilihan = 3, maka : Input : panjang jari-jari lingkaran & tinggi silinder Output :
Volume silinder (vol = 3.14 * r2 * t).

Jika pilihan selain 1, 2 & 3 (default) : Tampilkan pesan kesalahan.

Petunjuk : gunakan switch-case.

Jawaban :
1. #include <stdio.h>
main( )
{
switch (letter)
{
case „X‟ : sum = 0; break;
case „Z‟ : valid_flag = 1; break;
case „A‟ : sum = 1; break;
}
printf(“unknown letter -->%c\n”, letter);

2. #include <stdio.h>
Main( )
{
int valid_operator = 1;
//valid-operataor diinisialisasi dengan logika 1;
char operator;
float number1, number2, result;

printf(“dengan format : number1 operator number2\n\n”);


scanf(“%f %c %f”, &number1, &operator, &number2);
switch(operator)
}
If(valid_operator)
printf(“\n%g %c %g adalah %g\n”, number1, operator, number2, result );
else
printf(“Invalid operator!\n”);
}

3. #include <stdio.h>
main( )
{
int kode;
float s,r,t, hasil;
printf(“1. VOLUME KUBUS\n”);
printf(“2. LUAS LINGKARAN\n”);
printf(“3. VOLUME SILINDER\n”);
printf(“\nmasukkan kode angka : “);
scanf(“%d, &kode);
switch(kode)
{
case 1 : printf(“masukkan panjang sisi : “);scanf(“%f”, &s);
hasil = s*s*s;
printf(“volume kubus dengan sisi %.f adalah%.f \n”, s, hasil );
break;
case 2 : printf(“masukkan jari-jari : “);scanf(“%f”, &r); hasil = 3,14*r*r;
printf(“Luas lingkaran dengan jari-jari %.f adalah %.2f \n”, r, hasil );
break;
case 3 printf(“masukkan jari-jari : “);scanf(“%f”, &r);
printf(“masukkan jari-jari : “);scanf(“%f”, &r);
hasil = 3,24*r*r*t;
printf(“volume silinder dengan tinggi %.f dan jari-jari &.f adalah %.2f
\n”, r, t, hasil );
break;
}

4. Buat sebuah program yang mencetak nama Anda selama seratus kali. Buat tiga versi program
ini menggunakan while loop, do while dan for-loop.
Jawaban :
a. Listing program (while loop)
public class while_loop {
public static void main (String[]args) {
int i = 1;
while ( i <= 100 ) {
System.out.println("Nadia Ramadani");
i++;
}
}
}

b. Listing program (do while)


public class do_while_loop {
public static void main(String[]args) {
int x = 1;
do
{
System.out.println("Nadia Ramadani");
x++;
}while (x<=100);
}
}

c. Listing program (for loop)


public class for_loop {
public static void main(String[]args) {
for( int i = 1; i <= 100; i++ ) {
System.out.println("Muiz Lidinillah");
}
}
}

6. Hitung pangkat sebuah nilai berdasarkan angka dan nilai pangkatnya. Buat tiga versi dari
program ini menggunakan while loop, do-while dan for-loop.
Jawaban :
a. While-loop
//Program dimulai

#include <iostream>
#include <cmath>
using namespace std;

int main() {

int i, angkaPangkatDari, angkaPangkatSampai;

float angkaBasis, hasil;


cout << "Masukkan angka basis: ";

cin >> angkaBasis;

cout << "Masukkan angka pangkat dari: ";

cin >> angkaPangkatDari;

cout << "Masukkan angka pangkat sampai: ";

cin >> angkaPangkatSampai;

i = angkaPangkatDari;

while(i <= angkaPangkatSampai) {

hasil = pow(angkaBasis, i);

cout << angkaBasis << "^" << i << " = " << hasil << endl;

i++;

//Program selesai

b. Do-while

//Program dimulai

#include <iostream>

#include <cmath>

using namespace std;


int main() {

int i, angkaPangkatDari, angkaPangkatSampai;

float angkaBasis, hasil;

cout << "Masukkan angka basis: ";

cin >> angkaBasis;

cout << "Masukkan angka pangkat dari: ";

cin >> angkaPangkatDari;

cout << "Masukkan angka pangkat sampai: ";

cin >> angkaPangkatSampai;

i = angkaPangkatDari;

do {

hasil = pow(angkaBasis, i);

cout << angkaBasis << "^" << i << " = " << hasil << endl;
i++;

} while(i <= angkaPangkatSampai);

//Program selesai

c. For-loop

//Program dimulai

#include <iostream>
#include <cmath>

using namespace std;

int main() {

int i, angkaPangkatDari, angkaPangkatSampai;

float angkaBasis, hasil;

cout << "Masukkan angka basis: ";


cin >> angkaBasis;

cout << "Masukkan angka pangkat dari: ";

cin >> angkaPangkatDari;

cout << "Masukkan angka pangkat sampai: ";

cin >> angkaPangkatSampai;

for(i = angkaPangkatDari; i <= angkaPangkatSampai; i++) {


hasil = pow(angkaBasis, i);

cout << angkaBasis << "^" << i << " = " << hasil << endl;

return 0;

//Program selesai
7. Buatlah program untuk menerima daftar nilai mahasiswa sbb :
Input : - Jumlah data (n).
- Nilai ke-1 s/d Nilai ke-n
Output : - Nilai minimal
- Nilai maksimal
- Nilai rata-rata (rata-rata = nilai total / jumlah data)

Petunjuk : Gunakan loop for dan seleksi kondisi dengan if.

Jawaban :
#include <stdio.h>

int main()
{
float n,m,total =0,rata,o,maks =0,min =0;
printf("Masukkan jumlah data yang ingin anda input : ");
scanf("%f",&n);

for(m=1;n>=m;m++)
{
printf("Nilai ke %g : ",m);
scanf("%g",&o);
total =total +o;
if(maks<o)
{
maks =o;
}
if(min>o ||min==0)
{
min =o;
}

rata =total/n;

printf("Maksimal = %g\n",maks);

printf("Minimal = %g\n",min);

printf("Rata-rata : %g",rata);

Anda mungkin juga menyukai