Anda di halaman 1dari 26

1

MODUL IV s/d VI

2021
Laporan Praktikum Algoritma
dan Pemrograman

NAMA : Aqmal Salya N.A ..............................


NIM : 20210810001 ..............................

KELAS : TINFC-05 ..............................

PRODI : Teknik Informatika.................................


i

DAFTAR ISI

DAFTAR ISI .................................................................................................................. i

MODUL IV .................................................................................................................... 1

STRUKTUR KONTROL PEMILIHAN (SELECTION).................................................... 1

A. Post Test ............................................................................................................. 1

B. Tugas Mandiri ..................................................................................................... 4

MODUL V ................................................................................................................... 10

STRUKTUR KONTROL PERULANGAN(LOOPING) ................................................. 10

A. Post Test ........................................................................................................... 10

B. Tugas Mandiri ................................................................................................... 12

MODUL VI .................................................................................................................. 16

SENARAI/ LARIK/ ARRAY ........................................................................................ 16

A. Post Test ........................................................................................................... 16

B. Tugas ................................................................................................................. 21
1

MODUL IV

STRUKTUR KONTROL PEMILIHAN (SELECTION)

A. Post Test

1. Buatlah program untuk mengetahui kesehatan seseorang melalui suhu tubuh


dengan menggunakan IF-THEN-ELSE dengan ketentuan:

Suhu Tubuh Kesehatan


<33 °C Masih dinyatakn Hidup
34 °C Terlalu Dingin
35 °C Dingin
36 °C Masih OK
37 °C Keadaan FIT
38 °C Demam Ringan
39 °C Hampir Step
>39 °C Segera Panggil Ambulan

Run program

#include <iostream>
using namespace std;
int main()
{
int suhu;
cout<<" Program Mengetahui Kesehatan Melalui Suhu Tubuh
Seseorang"<<endl;
cout<<" Masukan Suhu Tubuh Seseorang [Celcios] = ";
cin>>suhu;
if (suhu < 33)
{
cout<<" Masih Dinyatakan Hidup"<<endl;
}
else if (suhu == 34)
{
cout<<" Terlalu Dingin"<<endl;
}
else if (suhu == 35)
{
cout<<"Dingin"<<endl;
}
else if (suhu == 36)
{
2

cout<<"Masik OK"<<endl;
}
else if (suhu == 37)
{
cout<<"Keadaan FIT"<<endl;
}
else if (suhu == 38)
{
cout<<"Demam Ringan"<<endl;
}
else if (suhu == 39)
{
cout<<"Hampir Step"<<endl;
}
else if ( suhu > 39)
{
cout<<"Segera Panggil Ambulan"<<endl;
}
return 0;
}
Hasil Output

2. Buatlah program pemilihan konversi suhu dengan memasukan satuan suhu


celcius ke Reamur, Fahrenhit, Kelvin sesuai pilihan denan menggunakan switch
Run program

#include <stdio.h>
#include <conio.h>
#include <windows.h>
main (void)
{
3

int pilih;
float c,r,f,k,h;

menu:
system ("cls");
printf("====================MENU
UTAMA====================\n");
printf("\nMengkonversi Satuan Suhu Celcius ke Reamur, Fahrenheit, dan
Kelvin\n");
printf(".........................................\n");
printf("1. Celcius ke Reamur\n");
printf("2. Celcius ke Fahrenheit\n");
printf("3. Celcius ke Kelvin\n");
printf(".......................................-\n");
printf("Masukan pilihan [0/1/2/3:");
scanf ("%i",&pilih);
switch (pilih)
{
case 0:
break;

case 1:system("cls");
printf("Konversi Celcius ke Reamur\n\n");
printf("Masukan nilai celcius = ");
scanf("%f",&c);
r = c * 0.8;
printf("%0.2f Celcius = %f Reamur",c,r);
break;

case 2:system("cls");
printf("Konversi Celcius ke Fahrenheit\n\n");
printf("Masukan nilai celcius = ");
scanf("%f",&c);
f = c * 33.8;
printf("%0.2f Celcius = %f Fahrenheir",c,f);
break;

case 3:system("cls");
printf("Konversi Celcius ke Kelvin\n\n");
printf("Masukan nilai celcius = ");
scanf("%f",&c);
k = c * 274.15;
printf("%0.2f Celcius = %f Kelvin",c,k);
break;
}
}
Hasil Output :
4

B. Tugas Mandiri

1. Buatlah penyelesain dengan menggunakan kontrol pemilihan pada kegiatan


anda
Run program

#include <iostream>
using namespace std;
void Hasil (int x, int y)
{
5

if(x==1){
if(y>=17){
cout<<"Pria Dewasa";
}
else{
cout<<"Perjaka";
}
}
else {
if(y>=17){
cout<<"Wanita Dewasa";
}
else{
cout<<"Gadis";
}
}
}
int main()
{
int umur, kel;
cout<<"Jenis Kelamin"<<'\n';
cout<<"1. Laki-laki"<<'\n';
cout<<"2. Perempuan"<<'\n';
cout<<"Masukan Pilihan Anda (1-2): ";
cin>>kel;
cout<<"Masukan Umur Anda (1-100): ";
cin>>umur;
Hasil (kel,umur);
}
Hasil Output:

2. Buatlah program yang dapat menentukan apakah bilangan yang anda


inputkan merupakan bilangan PRIMA atau bukan
6

Run program
#include <iostream>
using namespace std;
int ambil(int bil, int i){
if (i == 1){
return 1;
}
else if (bil % i == 0){
return 1 + ambil(bil, --i);
}else{
return 0 + ambil(bil, --i);
}
}
int cek(int bil){
if(bil > 1){
return (ambil(bil,bil) == 2);
}
else
return false;
}
int main(){
int bil;
cout<<"Masukan Bilangan : ";
cin>>bil;
if(cek(bil)){
cout<<"Bilangan Prima"<<endl;
}else{
}
cout<<"Bukan Bilangan Prima"<<endl;
return 0;
}
Hasil output:
7

3. Buatlah program dalam menghitung jumlah pemakaian air PDAM dengan tarif
bertingkat seperti pada tabel berikut :
Pemakaian Tarif per m3
10 m3 pertama 5.000
10 m3 kedua 7.500
20 m3 berikutnya 10.000
Selebihnya 15.000
Run program
#include <stdio.h>
int main()
{
int a,b,c;
printf("Jumlah Pemakaian air PDAM \n\n");
printf("Masukan debit pemakaian air m3 :");
scanf("%d",&a);
if(a < 10)
{
b = a * 5000;
}
else
if ( a < 20)
{
b = (a - 10) * 7500 + 50000;
}
else
if (a < 40)
{
b = (a - 20) * 10000 + 125000;
}
else
if (a >= 40)
{
b = (a - 40) * 15000 + 325000;
}
printf("yang harus dibayar Rp %d",b);
}
Hasil output:
8

4. Buatlah program untuk menguji apakah bilangan pecahan pertama lebih kecil
sama, atau lebih besar dari pada bilangan pecahan kedua, bilangan yang akan
diuji adalah bilangan pecahan hasil proses dari operasi aritmetika.
Run program

#include <stdio.h>
int main()
{
int a,b,c,d, hasil1a, hasil1b, hasil2a, hasil2b, des1, des2;
printf("Membandingkan Dua Buah Bilangan Pecahan Jika diBagi\n\n");
printf("Masukan nilai pecahan ke-1 (contoh1/2) = ");
scanf("%d%d",&a,&b);
printf("Masukan nilai pecahan ke-2 (contoh1/2) = ");
scanf("%d%d",&c,&d);
hasil1a = a * d;
hasil1b = b * c;
hasil2a = c * b;
hasil2b = d * a;
des1 = hasil1a / hasil1b;
des2 = hasil2a / hasil2b;
if (des1 < des2)
{
printf("hasil bagi pecahan ke-1 %d%d < hasil bagi pecahan ke-2
%d%d",hasil1a,hasil1b,hasil2a,hasil2b);
}
else
if (des2 < des1)
{
9

printf("hasil bagi pecahan ke-1 %d%d > hasil bagi pecahan ke-2
%d%d",hasil1a,hasil1b,hasil2a,hasil2b);
}
else if (des1 == des2)
{
printf("hasil bagi pecahan ke-1 %d%d = hasil bagi pecahan ke-2
%d%d",hasil1a,hasil1b,hasil2a,hasil2b);
}
}
Hasil output:
10

MODUL V

STRUKTUR KONTROL PERULANGAN(LOOPING)

A. Post Test

1. Buatlah program yang menampilkan deret dolar ($) segitiga sama sisi terbalik
Run program

#include <stdio.h>
int main ()

{
int a, b, c, d;
printf ("Program membuat segitiga sama sisi terbalik\n");
printf ("Masukan jumlah baris bintang = ");
scanf ("%d",&a);
for (b = 1; b <= a; b++)

{
for (c = 1; c <= b; c++)
printf (" ");
for (d = 0; d >= (b - a) ; d--)
printf ("$ ");
printf ("\n");
}

return 0;
}
Hasil output:
11

2. Buatlah program untuk menampilkan bentuk bujursangkar dengan


menggunakan karakter (@)
Run program
#include <iostream>
using namespace std;
int main()
{
int besar_persegi, i ,j;
cout<<" Input besar bujursangkar: ";
cin>>besar_persegi;
cout<<endl;
for(i=1; i<=besar_persegi; i++){
for(j=1; j<=besar_persegi; j++){
cout<< " @";
}
cout<<endl;
}
return 0;
}
Hasil output:
12

B. Tugas Mandiri

3. Buatlah program yang menampilkan deret angka simbol (@) segitiga siku-
siku dengan rata kanan
Run program

#include <iostream>
using namespace std;
int main()
{
int a,b,c;
cout<<" Masukan Nilai C: ";
cin>>c;
for(a=1;a<=c;a++) {
for(b=a;b<=a;b++){
cout<<" ";//segitiga kiri
}
for(b=1;b<=a;b++){
cout<<"@";//segitiga kanan
}
cout<<endl;
}
return 0;
}
Hasil output:
13

4. Buatlah program yang menampilkan deret dengan simbol (#) dengan bentuk
bujur sangkar
Run program

#include <iostream>
using namespace std;
main()
{
int panjang, lebar, a, b;
cout<<"Masukkan Panjang : ";
cin>>panjang;
cout<<"Masukkan Lebar : ";
cin>>lebar;

for(a=1 ;a<=panjang;a++){
for(b=1;b<=lebar; b++){
cout<<"#";
}
cout<<"\n";
}
return 0;
}
Hasil output:
14

5. Buatlah program yang menghitung rata-rata dari nilai yang dimasukan


melalui piranti masukan menggunakan FOR.
Run program

#include <stdio.h>
using namespace std;
main()
{
int i,n;
float ratarata, jumlah, x;
printf("Masukkan banyak data : ");
scanf("%d",&n);

jumlah =0;
for(i=1;i<=n;i++)
{
printf("Masukkan nilai data ke-%d: ",i);
scanf("%f",&x);
jumlah=jumlah+x;
}
ratarata=jumlah/n;
printf("Ratarata: %2f",ratarata);
return 0;
}
Hasil output:
15
16

MODUL VI

SENARAI/ LARIK/ ARRAY

A. Post Test

1. Buatlah program untuk mengurutkan semua elemen array dari kecil kebesar
(Ascending) contoh : 10 30 20 15 21 31 menjadi 10 15 20 21 30 31.
Run program

#include<iostream>
#include <iomanip>

using namespace std;


int main()
{
int NumList [6]={10,60,40,50,20,30};
int temp;
cout<<"Data Angka Sebelum diurutkan \n";
for (int d=0; d<6; d++)
{
cout<<setw(3)<<NumList[d];
}
cout<<"\n\n";
for (int a=0; a<6; a++)
for (int b=0; b<6; b++)
if (NumList [b]>= NumList [b+1])
{
temp = NumList[b];
NumList[b] = NumList [b+1];

NumList[b+1]= temp;
}
cout<<"Data setelah diurutkan:\n";
for (int c=0; c<6; c++)
cout<<setw(3)<<NumList[c]<<" ";
cout<<endl;
}
Hasil output:
17

2. Buatlah program untuk mengurutkan semua elemen array dari besar kekecil
(Descending) contoh : 10 30 20 15 21 31 menjadi 31 30 21 20 15 10
Run program

#include<iostream>
using namespace std;

int main()
{
int i,j,n,a[100],hasil;
cout<<"\t\t\t\t\t Program Mengurutkan Bilangan Terbesar ke Terkecil
"<<endl;
cout<<endl;

cout<<"Masukkan Banyak Bilangan Yang Akan Diurutkan = ";


cin>>n;
cout<<endl;
for(i=0; i < n; i++)
{
cout<<"Masukkan Bilangan ke-"<<i+1<<" : ";
cin>>a[i];
}
cout<<endl;

cout<<"Bilangan Sebelum Diurutkan adalah = ";


for(i=0; i<n; i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
18

for (i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if (a[i]<a[j])
{
hasil=a[i];
a[i]=a[j];
a[j]=hasil;
}
}
}
cout<<"Bilangan setelah diurutkan adalah = ";
for(i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
}
Hasil output:

3. Buatlah program perkalian matrik 2x3 dikalikan 3x3


Run program

#include <iostream>
#include <conio.h>
using namespace std;

int main ()
{
int matrikA[2][3],matrikB[3][3],has[1];
int i,j;
cout<<"Program Perkalian Matrik 2X3 dengan 3X3\n";
cout<<"\nMasukkan matrik A\n\n";
19

for(i=0;i<2;i++){
for(j=0;j<3;j++){
cout<<"Masukkan bilangan baris ke "<<i<<" dan kolom ke "<<j<<" : ";
cin>>matrikA[i][j];
}
cout<<endl;
}
for(i=0;i<2;i++){
for(j=0;j<3;j++){
cout<<matrikA[i][j]<<"\t";
}
cout<<endl;
}
cout<<"\nMasukkan matrik B\n\n";
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cout<<"Masukkan bilangan baris ke "<<i<<" dan kolom ke "<<j<<" : ";
cin>>matrikB[i][j];
}
cout<<endl;
}
cout<<endl;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cout<<matrikB[i][j]<<"\t";
}
cout<<endl;
}
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
has[i]=matrikA[i][0]*matrikB[0][j]+matrikA[i][1]*matrikB[1][j];
}
}
cout<<endl;
cout<<"\nHasil :";
for(i,j=0;i,j<1;i,j++){
cout<<"\t\t"<<has[i,j];
}
cout<<"\n\n";
}
Hasil output:
20

4. Buatlah program array dalam menambahkan elemen dan menghitung jumlah


serta rata-rata nilai elemen array
Run program

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int i, n, data[50];
float rata,jum;

cout<<"Banyaknya Data = ";


cin>>n;
cout<<endl;

for (i=0; i<n; i++)


{
cout<<"Data ke-"<<i+1<<" = ";
cin>>data[i];
jum += data[i];
}

rata=jum/n;

cout<<endl;
cout<<"Nilai Total = "<<jum<<endl;
cout<<"Nilai Rata-rata = "<<rata<<endl;
getch();
}
Hasil output:
21

B. Tugas
1. Analisis program di bawah ini :
#include <iostream>
using namespace std;
int matriks[4][4];
int i, j;
int main()
{
cout<<"isi Data Matriks"<<endl;
for(i=0; i<j; i++)
{
for(j=0; j<i; j++)
{
cout<<"Matriks["<<i<<"]["<<j<<"]:";
cin>>matriks[i][j];
}
}
cout<<"Hasil data inputan matriks 4x4 :"<<endl;
for(i=0; i<4; i++)
{
for(j=0; j<4; j++)
{
cout<<matriks[i][j]<<" ";
}
cout<<endl;
}
}
a. Lakukan proses Kompilasi
22

b. Jalankan program diatas dan amati hasilnya


Program diatas adalah suatu program matrik dimana sistem akan menanpilkan
keluaran angka 0 sesuai kebutuhan yaitu 4 x 4 atau bisa dikatakan hasilnya
mendatar 4 angka dan menurun 4 angka
c. Ubahlah agar matrik dapat diisi secara dinamis
Run program

#include <iostream>
using namespace std;

int main ()
{
int matriks [4][4];
int i, j;
cout<<"Masukan Data\n"<<endl;
for (i=0; i<4; i++){
for (j=0; j<4; j++){
cout<<"Matriks["<<i<<"]["<<j<<"]:";
cin>>matriks[i][j];
}
}
cout<<"Hasilnya data inputan matriks 4x4 :"<<endl;
for (i=0; i<4; i++){
for (j=0; j<4; j++){
cout<<matriks[i][j]<<" ";
}
cout<<endl;
}
}
Hasil output:
23

2. Buatlah program dengan tampilan contoh sebagai berikut:


3. Buatlah program menggunakan array dimensi 3 dalam membuat tampilan 3
dimensi berbentuk benda
Run program

#include <iostream>
#include <conio.h>
using namespace std;

int main()
{
int n, data[40][40][40];
cout<<"Input banyak garis :";
cin>>n;
for(int i=1; i<=n; i++){
for(int m=1; m<=2; m++){
if(m==1){
cout<<"Utama : ";
cin>>data[i][0][m];
}else if(m==2){
for(int j=1; j<=2; j++){
cout<<"Input data : ";
cin>>data[i][j][m];
}
}
}
}
cout<<"\nHasil : "<<endl;
for(int i=1; i<=n; i++){
for(int m=1; m<=2; m++){
if(m==1){
cout<<m<<"."<<data[i][0][m]<<endl;
24

}else if(m==2){
for(int j=1; j<=2; j++){
cout<<" -"<<data[i][j][m]<<endl;
}
}
}
}
getch();
}
Hasil output:

Anda mungkin juga menyukai