Anda di halaman 1dari 25

1

MODUL VII s/d IX

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 VII ......................................................................................................... 1

PENGURUTAN (SORTING) dan PENCARIAN (SEARCHING) ........................ 1

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

B. Tugas Mandiri ........................................................................................... 3

MODUL VIII ........................................................................................................ 8

FUNGSI (FUNCTION) ........................................................................................ 8

A. Post Test ................................................................................................... 8

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

MODUL IX ........................................................................................................ 17

ARRAY DALAM FUNCTION ........................................................................... 17

A. Post Test ................................................................................................. 17

B. Tugas ....................................................................................................... 20
1

MODUL VII

PENGURUTAN (SORTING) dan PENCARIAN (SEARCHING)

A. Post Test

1. Buatlah program pencarian karakter dengan menggunakan variable array


dimensi 1

Run program :

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

int main()
{
char k[5] ="udin", n;
int l, j=0, t=0;

printf("Masukan karakter yang dicari: ");


scanf("%c", &n);

for(l=0; l<5; l++){


if(n==k[l]){
t=1;
j++;
}
}
if(t==1){
2

printf("\n\nKarakter \"%c\" KETEMU", n);


printf("\n\njumlah karakter \"%c\" adalah %i",n, j);
}else{
printf("\n\nKarakter \"%c\" TIDAK KETEMU", n);
}
}
Hasil Output :

2. Buatlah program pencarian dengan menggunakan variable array dimensi 1

Run program :

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int data[6];
int y;

for (y=0; y<=5; y++)


{
cout<<" Masukan Data - "<<y<<": ";
cin>>data[y];
3

}
for (y=0; y<=5; y++)
{
cout<<"\nData ke - "<<y<<": "<<data[y];
}
}
Hasil Output :

B. Tugas Mandiri

1. Buatlah program penerapan searching dalam kehidupan sehari-hari

Run program :

#include <iostream>
using namespace std;
int main()
{
int a, b, posisi, ketemu=0;
string cari,data[50];
cout<<"================================"<<endl;
cout<<" Program Aktifitas Sehari-hari"<<endl;
cout<<"================================"<<endl;
4

cout<<"Masukan Banyaknya Kegiatan = ";


cin>>b;
cout<<endl;

for(a=0; a<b; a++)


{
cout<<"Masukan Aktifitas Ke- "<<a+1<<": ";
cin>>data[a];
}
cout<<endl;
cout<<"Aktifitas yang dicari = ";
cin>>cari;
ketemu = 0;
a=0;
while((ketemu == 0) && (a < b))
{
if(data[a] == cari)
{
ketemu = 1;
posisi = a;
}
else a = a + 1;
}
if(ketemu == 0)
{
cout<<"Aktifitas yang dicari tidak ditemukan"<<endl;
}else
{
cout<<"Aktifitas yang dicari ditemukan"<<endl;
cout<<"Aktifitas pada posisi "<<posisi +1<<endl;
}
return 0;
}
Hasil Output:
5

2. Buatlah program penerapan searching dalam mencari daftar judul film boxoffice
2019-2021 yang masuk nominasi Grammy Award

Run program :

#include <iostream>
using namespace std;
int main()
{
int i, n, posisi, ketemu=0;
string data[8], cari;

cout<<"Program Pencarian Daftar Judul Film Box Office 2019"<<endl;

cout<<"==================================================="<<endl;
data[0]= "BHOEIMAN RHAPSODY";
data[1]= "BLACK PANTHER";
data[2]= "A STAR IS BORN";
data[3]= "GREEN BOOK";
data[4]= "VICE";
data[5]= "ROMA";
data[6]= "THE FAVOURITE";
data[7]= "BLACKKKLANSMAN";

for(int i=0; i<8; i++)


6

cout<<i+1<<". "<<data[i]<<endl;
cout<<"Film Box Office yang dicari : ";
getline(cin,cari);
ketemu =0;
i =0;
while((ketemu == 0) && (i<8))
{
if(data[i] == cari)
{
ketemu =1;
posisi =i;
}
else i = i+1;
}
if(ketemu ==0)
{
cout<<"Film yang dicari tidak ditemukan"<<endl;
}
else
{
cout<<"Film yang dicari ditemukan\n"<<endl;
cout<<"Film pada posisi : "<<posisi+1<<endl;
}
return 0;
}
Hasil output :
7
8

MODUL VIII

FUNGSI (FUNCTION)

A. Post Test

1. Buatlah program yang menentukan Grade suatu nilai yang diinput dengan
ketentuan:
Nilai < 45 = E
Nilai < 56 = D
Nilai < 68 = C
Nilai < 80 = B
Nilai > 80 = A

Run Program :

#include <iostream>
#include <conio.h>
using namespace std;
main()
{
double GradeNilai;
char skor;

cout<<" Program Menentukan Grade suatu nilai : ";


cin>>GradeNilai;

if (GradeNilai < 45)


skor= 'E' ;
else if (GradeNilai < 56)
skor= 'D' ;
9

else if (GradeNilai < 68)


skor= 'C' ;
else if (GradeNilai < 80)
skor= 'B' ;
else if (GradeNilai > 80)
skor= 'A' ;

cout<<" Skor : "<<skor<<endl;


getch();
}
Hasil output:

2. Buatlah program yang melakukan penjumlahan deret bilangan berdasarkan


angka yang diinputkan contoh :
Input = 6
Hasil = 1 + 2 + 3 + 4 + 5 + 6 = 21

Run program

#include <stdio.h>
int deret_angka (int n);
int main ()
{
int i, x, y;
10

printf ("Penjumlahan Deret Bilangan Sesuai Angka Masukan\n\n");


printf ("Input = ");
scanf("%d",&x);

printf ("\nHasil = ");


for (i = 1; i < x;i++)
{
printf("%d",i);
printf(" + ");
}
printf("%d = %d\n", x, deret_angka(x));
}
int deret_angka (int x)
{
if (x == 0)
{
return 0;
}
else
return x + deret_angka (x - 1);
}
Hasil output:
11

3. Buatlah program menghitung bilangan deret fibonacci dengan melalui input


masukan berupa angka

Run Program :

#include <iostream>
using namespace std;
int angka, a, b, c;
int main()
{
cout<<"Membuat Deret Fibonacci\n";
cout<<"Masukkan nilai suku ke-: ";cin>>angka;
cout<<"Bilangannya adalah: \n";
a=0;b=1;
cout<<a<<endl<<b<<endl;
for(int i=3; i<=angka; i++)
{
c = a + b;
a = b;
b = c;

cout<<c<<endl;
}
return 0;
}
Hasil Output :
12

B. Tugas

1. Tuliskan program untuk menampilkan deret 3n+1. Deret ini dibentuk oleh
bilangan-bilangan. Jika bilangan yang sedang diproses bernilai genap maka
bilangan berikutnya adalah setengah dari bilangan sebelumnya dan bila dikalikan
tiga dan ditambah satu. Proses diulang sampai mendapatkan nilai akhir satu dan
semua deret angka ditampilkan dengan spasi.

Run program :

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

int main()
{
int b, a, angka1=0, angka2=1, hasil;
cout<<"Masukan Nilai ke-n 3n+1: ";
cin>>a;
cout<<endl;
cout<<"Deret 3n+1: "<<endl;
for(b=1; b<=a; ++b)
{
13

if(b%2==0)
{
cout<<3*b+1<<" ";
continue;
}
else{
cout<<(3*b+1)/2<<" ";
continue;
}
}
getch();
}
Hasil output :

2. Misalkan sepasang kelinci dalam cerita deret fibonacci baru saja melahirkan
sepasang bayi kelinci dan bagaimana selama tiga bulan kemudian, bagaimana
bentuk function fibonacci tersebut.

Run program :

#include <iostream>
using namespace std;
int fib(int x)
{
if(x==0 || x==1)
14

{
return x;
}
else
{
return(fib(x-1)+fib(x-2));
}
}
int main()
{
int y,x=4;
cout<<"Bulan ke\t\t: ";
for(int j=1; j<=3; j++)
{
cout<<j;
cout<<"\t";
}
cout<<endl;
cout<<"Bentuk Function \t: ";
for (int i=1; i<=3; i++)
{
cout<<fib(x)<<"\t"; x++;
}
return 0;
}
Hasil output:
15

3. Tuliskan program untuk menguji kesamaan nilai antara tipe data integer dan
float contoh tampilan
Ketik dua integer = 10 10
Ketik dua float = 3.14 3.16
Kedua integer bernilai sama dan kedua float berbeda

Run program :

#include <iostream>
using namespace std;
void menguji(int q, int r, int s, int t)
{
if(q==r && s==t)
{
cout<<"Kedua integer bernilai sama dan kedua float bernilai sama";
}else if(q!=r && s==t)
{
cout<<"Kedua integer berbeda dan kedua float bernilai sama";
}else if(q==r && s!=t)
{
cout<<"Kedua integer bernilai sama dan kedua float berbeda";
}else if(q!=r && s!=t)
16

{
cout<<"Kedua integer berbeda dan kedua float berbeda";
}
}
int main()
{
int a,b;
float c,d;
cout<<"Tulis dua integer : ";
cin>>a>>b;
cout<<"Tulis dua float : ";
cin>>c>>d;
menguji(a,b,c,d);
}
Hasil output:
17

MODUL IX

ARRAY DALAM FUNCTION

A. Post Test

1. Tuliskan program yang dapat menyalin string dalam dengan parameter function

Run program :

#include <iostream>
using namespace std;
int main()
{
char web1[]="scrift";
char web2[20]=" ";
cout<<"Menyaling String"<<endl;
cout<<" "<<endl;
for(int a=0; web1[a]; a++)web2[a]=web1[a];
cout<<"Variabel web1 berisi ->"<<web1<<endl;
cout<<"Variabel web2 berisi ->"<<web2<<endl;
cout<<endl;
system("pause");
return 0;
}
Hasil output:
18

2. Tuliskan program dengan menggunakan function dapat menghitung jumlah


karakter dalam kalimat dan menyalinnya dari kiri ke kanan

Run program :

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char string[50];
int jum_karakter;
cout<<"Masukkan kalimat: ";
cin.getline(string, sizeof(string));
cout<<"\nJumlah Kalimat"<<endl;
jum_karakter = 0;
for(int a = 0; string[a]; a++)jum_karakter++;
cout<<">Hasil = "<<jum_karakter<<" karakter"<<endl;
cout<<">Hasil' = "<<cin.gcount()-1<<" karakter"<<endl;
cout<<endl;
system("pause");
return 0;
}
19

Hasil output:

3. Tuliskan program menghitung frekuensi data yang diinputkan oleh user dan
menghitung rata-rata dari semua data yang diinput

Run program :

#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int x,y, data[20];
float rata, jum;
cout<<"Banyaknya Data = ";
cin>>y;
cout<<endl;
for(x=0; x<y; x++)
{
cout<<"Dataa ke = "<<x+1<<"=";
cin>>data[x];
jum+=data[x];
}
20

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

B. Tugas

1. Tulis program yang menggunakan function untuk menggabungkan data dua


buah array integer menjadi sebuah array integer lain. Data dari masing-masing
array sudah diurutkan secara ascendng, kedua array berukuran 100 namun tidak
semua elemen array terisi data.

Run Program :
#include <iostream>
using namespace std;
void mergeArrays(int arr1[], int arr2[], int a1, int a2, int arr3[])
{
int b=0, c=0, d=0;
while (d<a1)
21

{
arr3[d++]=arr1[b++];
}
while(c<a2)
{
arr3[d++]=arr2[c++];
}
cout<<"Array after merging"<<endl;
for(int b=0; b<a1+a2; b++)
{
cout<<arr3[b]<<" ";
}
}
int main()
{
int arr1[]= {3,5,7,9,11};
int a1 = sizeof(arr1) / sizeof(arr1[0]);
int arr2[] = {4,6,8,10,12};
int a2 = sizeof(arr2) / sizeof(arr2[0]);
int arr3[a1+a2];
mergeArrays(arr1, arr2, a1, a2, arr3);
return 0;
}
Hasil Output :
22

2. Tuliskan program menggunakan function untuk menjumlahkan dua bilangan


bulat positif atau negatif yang masing-masing tidak lebih dari 40 digit

Run Program :
#include <cstring>
#include <iostream>
using namespace std;

void penjumlahan()
{
int angka1, angka2;
cout<<" Masukkan angka pertama : ";
cin>>angka1;
cout<<" Masukan angka kedua : ";
cin>>angka2;
cout<<" Hasil diatas adalah : "<<angka1 + angka2;
}
int main()
{
penjumlahan();
return 0;
}
Hasil Output :
23

3. Tuliskan program menggunakan function untuk mengalikan dua bilangan bulat


postif atau negatif yang masing-masing tidak lebih dari 40 digit

Run Program :
#include <cstring>
#include <iostream>
using namespace std;

void Perkalian()
{
int angka1, angka2;
cout<<" Masukkan angka pertama : ";
cin>>angka1;
cout<<" Masukan angka kedua : ";
cin>>angka2;
cout<<" Hasil diatas adalah : "<<angka1 * angka2;
}
int main()
{
Perkalian();
return 0;
}
Hasil Output :

Anda mungkin juga menyukai