(Adhitia Nur Riski) - Laporan Resmi Praktikum 1 Asd

Anda mungkin juga menyukai

Anda di halaman 1dari 23

LAPORAN RESMI PRAKTIKUM 1

ALGORITMA DAN STRUKTUR DATA

NAMA : Adhitia Nur Riski


KELAS : D3 PJJ Fresh TI 2018
NRP : 2103187017
MATA KULIAH : Praktikum ASD
Percobaan 1
Algoritma dan Struktur Data
Nama Program : Penggunaan array pada bilangan fibonacci
Bahasa Pemrogramam : C++
Compiler : Code Blocks
Script program :
#include <stdio.h>
#define MAX 10

int fibo[MAX];

void main ()
{

int i;

fibo[1]=1;
fibo[2]=1;

for (i=3;i<=MAX;i++)
fibo[i]=fibo[i-2]+fibo[i-1];

printf("%d Bilangan Fibonaci Pertama adalah : \n",MAX);


for (i=1;i<MAX;i++)
printf("%d-", fibo[i]);
}

Script yang benar :


#include <stdio.h>
#define MAX 10

int fibo[MAX];

int main ()
{

int i;

fibo[1]=1;
fibo[2]=1;

for (i=3;i<=MAX;i++)
fibo[i]=fibo[i-2]+fibo[i-1];

printf("%d Bilangan Fibonaci Pertama adalah : \n",MAX);


for (i=1;i<=MAX;i++)
printf("%d-", fibo[i]);
}
Output Program :
Algoritma :
1. Mulai.
2. Membaca file header.
3. Membaca fungsi fibo.
4. Membaca fungsi utama.
5. Membaca tipe data integer i.
6. Menggunakan rumus : (disini menggunakan array satu dimensi)
fibo[1]=1;
fibo[2]=1;

7. Menggunakan perulangan for dengan rumus :


for (i=3;i<=MAX;i++)
fibo[i]=fibo[i-2]+fibo[i-1];
8. Cetak hasil.
printf("%d Bilangan Fibonaci Pertama adalah : \n",MAX);
for (i=1;i<=MAX;i++)
printf("%d-", fibo[i]);
9. Selesai.
Deskripsi:
Code blocks tidak dapat diexecute jika menggunakan “void” , maka diganti dengan “int”.
kemudian program diatas tetap dapat diexecute namun hasil program terdapat kesalahan. Dari
10 bilangan fibonaci yang diminta , yang keluar hanya 9. Mengapa? Karena penggunaan
rumus yang kurang tepat, yaitu “ for (i=1;i<=MAX;i++)”, yang pada awalnya tidak
menggunakan operator = setelah “<’. Hal ini sangat berpengaruh pada hasil program.

Percobaan 2
Algoritma dan Struktur Data
Nama Program : Program mengubah isi variabel melalui pointer
Bahasa Pemrogramam : C++
Compiler : Code Blocks
Script program :
#include <stdio.h>

main()

{
int y, x = 87;
int *px;

px = &x;
y = *px;

printf("Alamat x = %p\n", &x);


printf("Isi px = %p\n", px);
printf("Isi x = %d\n", x);
printf("Nilai yang ditunjuk oleh px = %d\n", *px);
printf("Nilai y = %d\n", y);
}

Output Program:

Algoritma :
1. Start.
2. Membaca file header.
3. Membaca fungdi utama.
4. Menggunakan tipe data integer y,x dengan nilai tetap=87.
5. Menggunakan pointer pada tipe data.
6. Menentukan letak alamat px dan y , dengan ketentuan:
px=&x;
y= *px;
7. Cetak hasil
printf("Alamat x = %p\n", &x);
printf("Isi px = %p\n", px);
printf("Isi x = %d\n", x);
printf("Nilai yang ditunjuk oleh px = %d\n, *px");
printf("Nilai y = %d\n", y);
8. Selesai.
Deskripsi :
Dalam program diatas tidak ada kesalahan pada syntax. Menggunakan file
header stdio untuk mendeklarasikan penginputan data bak secara manual atau
sistematis. Menggunakan pointer untuk membaca suatu alamat yang sudah
ditentukan dalam syntax.

Percobaan 3
Algoritma dan Struktur Data
Nama Program : Program mengakses dan mengubah isi suatu variabel pointer.
Bahasa Pemrogramam : C++
Compiler : Code Blocks
Script program :
#include <stdio.h>

main()
{
float d = 54.5f, *pd;

printf("Isi d mula-mula = %g\n", d);

pd = &d;
*pd +=10;

printf("Isi d sekarang =%g\n", d);


}
Output Program :

Algoritma :
1. Start
2. Membaca file header.
3. Membaca fungsi utama.
4. Membaca tipe data yang digunakan dengan ketentuan angka yang
ditetapkan.
5. Membaca penggunaan pointer pada tipe data.
float d = 54.5f, *pd;
6. Menentukan letak alamat dan nilai yang diinginkan.
pd = &d;
*pd += 10;

7. Cetak hasil.
printf("Isi d sekarang = %g\n", d);
8. Selesai.
Deskripsi :
Tidak ada kesalahan yang terdapat pada syntax tersebut. Program ini
menggunakan pointer untuk menghitung nilai d. menggunakan rumus *pd+10
yang nantinya padaproses hasil akhir akan ditambahkan 10 sehingga nilai
langsung berubah sesuai rumus yang dipakai.

Percobaan 4
Algoritma dan Struktur Data
Nama Program : Penggunaan pointer untuk bilangan fibonacci .
Bahasa Pemrogramam : C++
Compiler : Code Blocks.
Script program :
#include <stdio.h>
#include <stdlib.h>
#define MAX 10

int *fibo;
void main ()
{
int i;

fibo = (int *) malloc(MAX * sizeof(int));


*(fibo+1)= 1;
*(fibo+2)= 1;

for (i=3;i<=MAX;i++)
*(fibo+i)=(*(fibo+i-2)+*(fibo+i-1));

printf("%d Bilangan Fibonaci Pertama adalah : \n", MAX);


for (i=1;i<MAX;i++)
printf("%d-", *(fibo+i));
}

Script program yang benar:


#include <stdio.h>
#include <stdlib.h>
#define MAX 10

int *fibo;

int main ()
{
int i;

fibo = (int *) malloc(MAX * sizeof(int));


*(fibo+1)= 1;
*(fibo+2)= 1;

for (i=3;i<=MAX;i++)
*(fibo+i)=(*(fibo+i-2)+*(fibo+i-1));

printf("%d Bilangan Fibonaci Pertama adalah : \n", MAX);


for (i=1;i<=MAX;i++)
printf("%d", *(fibo+i));
}
Output Program :

Algoritma :
1. Start.
2. Membaca file header.
3. Membaca fungsi fibo dengan penggunaan pointer didalamnya.
4. Membaca fungsi utama.
5. Membaca tipe data integer i.
6. Menggunakan rumus.
fibo = (int *) malloc(MAX * sizeof(int));
*(fibo+1)= 1;
*(fibo+2)= 1;
for (i=3;i<=MAX;i++)
*(fibo+i)=(*(fibo+i-2)+*(fibo+i-1));
7. Cetak hasil.
printf("%d Bilangan Fibonaci Pertama adalah : \n", MAX);
for (i=1;i<=MAX;i++)
printf("%d-", *(fibo+i));
8. Selesai.

Deskripsi :
Program diatas memiliki beberapa kesalahan, yaitu penggunaan void yang
seharusnya menggunakan int. penggunaan rumus yang kurang tepat. Hamper
sama dengan percobaan 1, namun dalam percobaan ini , menggunakan pointer
dalam proses execute program tersebut.

Percobaan 5
Algoritma dan Struktur Data
Nama Program : Penggunaan struktur pada konversi koordinat polar ke koordinat
catersian.
Bahasa Pemrogramam : C++
Compiler : Code Blocks.
Script program :
#include <stdio.h>
#include <math.h>

struct polar {
double r;
double alpha;
};
struct kartesian {
double x;
double y;
};

void main ()
{
struct polar pl;
struct kartesian kl;

printf("Masukkan nilai r untuk koordinat polar: ");


scanf("%lf",&pl.r);

printf("Masukkan nilai alpha untuk koordinat polar: ");


scanf("%lf",&pl.alpha);

kl.x=pl.r * cos(pl.alpha);
kl.y=pl.r * sin(pl.alpha);

printf(
"Nilai koordinat kartesian untuk koordinat polar r= %2.2lf alpha=
%2.2lf adalah: \n", pl.r,pl.alpha);
printf("x= %2.2lf y= %2.2lf", kl.x,kl.y);
}
Script program yang benar:
#include <stdio.h>
#include <math.h>

struct polar {
double r;
double alpha;
};
struct kartesian {
double x;
double y;
};

int main ()
{
struct polar pl;
struct kartesian kl;

printf("Masukkan nilai r untuk koordinat polar: ");


scanf("%lf",&pl.r);

printf("Masukkan nilai alpha untuk koordinat polar: ");


scanf("%lf",&pl.alpha);

kl.x=pl.r * cos(pl.alpha);
kl.y=pl.r * sin(pl.alpha);

printf(
"Nilai koordinat kartesian untuk koordinat polar r= %2.2lf alpha=%2.2lf
adalah: \n", pl.r,pl.alpha);
printf("x= %2.2lf y= %2.2lf", kl.x,kl.y);
}
Output Program :

Algoritma :
1. Start.
2. Membaca file header.
3. Membaca struct polar, kartesian.
4. Membaca fungsi utama.
5. Pemanggilan strcut polar dank artesian.
6. Masukkan nilai r untuk polar.
7. Masukkan nilai alpha untuk kartesian.
8. Penggunaan rumus .
kl.x=pl.r * cos(pl.alpha);
kl.y=pl.r * sin(pl.alpha);
9. Cetak hasil.
printf(
"Nilai koordinat kartesian untuk koordinat polar r=
%2.2lf alpha=%2.2lf adalah: \n", pl.r,pl.alpha);
printf("x= %2.2lf y= %2.2lf", kl.x,kl.y);
10. Selesai.
Deskripsi :
Program diatas memiliki kesalahan dalam penulisan syntax. Yang pertama,
tentang penulisan fungsi utama yang seharusnya menggunakan int bukan void.
Penulisan syntax yang perlu diperhatikan. Untuk baris 28-29 nnti ada kesalahan
pada syntax yang pertama. Dan seharusnya tidak menggunakan enter saat
penulisan rumus.

Percobaan 6
Algoritma dan Struktur Data
Nama Program : Program struktur dalam array.
Bahasa Pemrogramam : C++
Compiler : Code Blocks.
Script program :
#include <stdio.h>
#include <string.h>

struct dtnilai
{
char nrp[10];
char nama[20];
double nilai;
};

struct dtnilai data [10];


int j=0;

void tambah_data()
{
char jawab[2];
while(1)
{
fflush (stdin);
printf("NRP : "); scanf ("%s",&data[j].nrp);
printf("Nama :"); scanf("%s",&data[j].nama);
printf("Nilai Test :");scanf("%lf",&data[j].nilai);
printf("Ada data lagi (y/t):"); scanf("%s",&jawab);

if ((strcmp(jawab,"Y")==0)|| (strcmp(jawab,"y")==0))
{
j++;continue;
}
else if ((strcmp(jawab, "T")==0||(strcmp(jawab,"t")==0))
)break;
}
}
void tampil()

{
int i;
printf("Data Mahasiswa yang telah diinputkan :\n");
printf("NRP\tNama\tNilai\n");
for (i=0;i<=j;i++)
{

printf("%s\t%s\t%6.2f\n",data[i].nrp,data[i].nama,data[i]);
}
}
void main()
{
tambah_data();
tampil();
}
Script program yang benar:
#include <stdio.h>
#include <string.h>

struct dtnilai
{
char nrp[10];
char nama[20];
double nilai;
};

struct dtnilai data [10];


int j=0;

void tambah_data()
{
char jawab[2];
while(1)
{
fflush (stdin);
printf("NRP : "); scanf ("%s",&data[j].nrp);
printf("Nama :"); scanf("%s",&data[j].nama);
printf("Nilai Test :");scanf("%lf",&data[j].nilai);
printf("Ada data lagi (y/t):"); scanf("%s",&jawab);

if ((strcmp(jawab,"Y")==0)|| (strcmp(jawab,"y")==0))
{
j++;continue;
}
else if ((strcmp(jawab, "T")==0||(strcmp(jawab,"t")==0))
)break;
}
}
void tampil()
{
int i;
printf("Data Mahasiswa yang telah diinputkan :\n");
printf("NRP\tNama\tNilai\n");

for (i=0;i<=j;i++)
{

printf("%s\t%s\t
%6.2f\n",data[i].nrp,data[i].nama,data[i].nilai);
}
}
int
main()
{
tambah_data();
tampil();
}
Output Program :

Algoritma :
1. Start.
2. Membaca file header.

3. Membaca srtuct datanila dengan beberapa tipe data yang mendukung


jalannya progam ini.
4. Membaca kumpulan fungsi.
5. Masukkan data mahasiswa.
int i;
printf("Data Mahasiswa yang telah diinputkan : \n");
printf("NRP\tNama\tNilai\n");
6. Cetak hasil.
for (i=0;i<=j;i++)
{ printf("%s\t%s\t
%6.2f\n",data[i].nrp,data[i].nama,data[i].nilai);
7. Jika ingin mengulang untuk menginputkan data maka “y” jika tidak “t”.
8. Cetak hasil.
9. Selesai.

Deskripsi :
Program diatas hanya memiliki penulisan syntax yaitu penulisan void
main pada baris 45. Maka untuk pembenaran dan prses kirim segera dimulai.
Program diaa menggunakan struct , kumpulan fungsi. Menggunakan perulangan
while untuk menginputkan kembali data yang dinginkan. Menggunakan break
agar program tidak langsung berhent. Menggunakan file header string untuk
penggunaan strcmp pada syntax.
Tugas Rumah 1
Algoritma dan Struktur Data
Nama Program : Program Aritmatika Polinom
Bahasa Pemrogramam : C++
Compiler : Code Blocks.
Script program :
#include<iostream>
#include<conio.h>
#include<stdio.h>

using namespace std;


void penjumlahan(int a[],int b[],int c,int e)
{
int k,l;
if(c<=e)
l=e;
else
l=c;
if(l==c)
{
k=e+1;
for( ;k<=l;k++)
{
b[k]=0;
}
}
else if(l==e)
{
k=c+1;
for( ;k<=l;k++)
{
a[k]=0;
}
}
int z;
for(z=0;z<=l;z++)
{
a[z]=a[z]+b[z];
}

for(z=0;z<=l;z++)
if(z!=l)
{
cout<<a[z]<<"x^"<<z<<"+";
}
else
{
cout<<a[z]<<"x^"<<z;
}
cout<<endl;
}
void pengurangan(int a[],int b[],int e,int c)
{
int k,l;
if(c<=e)
l=e;
else
l=c;
if(l==c)
{
k=e+1;
for( ;k<=l;k++)
{
b[k]=0;
}
}
else if(l==e)
{
k=c+1;
for( ;k<=l;k++)
{
a[k]=0;
}
}
int z;
for(z=0;z<=l;z++)
{
a[z]=a[z]-b[z];
}
for(z=0;z<=l;z++)
if(z!=l)

{
cout<<a[z]<<"x^"<<z<<"+";
}
else
{
cout<<a[z]<<"x^"<<z;
}
cout<<endl;
}
void perkalian(int a[],int b[],int c,int e)
{
int f,g,h[21],i=0,j[21];
for(f=0;f<=c;f++)
for(g=0;g<=e;g++)
{
h[i]=b[g]*a[f];
j[i]=f+g;
i++;
}
for(f=0;f<i;f++)
{
if(f!=i-1)
{
cout<<h[f]<<"x^"<<j[f]<<"+";
}
else
{
cout<<h[f]<<"x^"<<j[f];
}
}
cout<<endl;
}
void turunan(int a[],int b[],int c,int e)
{
int f;
for(f=0;f<=c;f++)
{
a[f]=a[f+1]*(f+1);
}
cout<<"turunan polinom pertama adalah: "<<" ";

for(f=0;f<c;f++)
{
if(f!=c-1)
{
cout<<a[f]<<"x^"<<f<<"+";
}
else
{
cout<<a[f]<<"x^"<<f;
}
}
for(f=0;f<=e;f++)
{
b[f]=b[f+1]*(f+1);
}
cout<<endl<<endl<<"turunan polinom kedua adalah: "<<" ";
for(f=0;f<e;f++)
{
if(f!=e-1)
{
cout<<b[f]<<"x^"<<f<<"+";
}
else
{
cout<<b[f]<<"x^"<<f;
}
}
cout<<endl;
}
void salah()
{
cout<<"Maaf menu tidak tersedia,pilih menu yang
tersedia!"<<endl;
}
int main()
{
char jawab;
do
{
int a[21],b[21],c,d,e,f;

cout<<"Masukkan Polinom Pertama, Tekan Sembarang Tombol Unuk


Melanjutkan"<<endl;
getch();
cout<<"\nMasukkan Derajat Tertinggi Polinom Pertama: ";
cin>>c;
cout<<"\nMasukkan Koofisien x Mulai Dari x Pangkat 0, Tekan
Sembarang Tombol Untuk Melanjutkan"<<endl;
getch();
for(d=0;d<=c;d++)
{
cout<<"\nKoofisien x Pangkat "<<d<<" : ";
cin>>a[d];
cout<<endl;
}
cout<<"Masukkan Polinom Kedua, Tekan Sembarang Tombol Untuk
Melanjutkan"<<endl;
getch();
cout<<"\nMasukkan Derajat Tertinggi Polinom Kedua: ";
cin>>e;
cout<<"\nMasukkan Koofisien x Mulai dari x Pangkat 0, Tekan
Sembarang Tombol Untuk Melanjutkan"<<endl;
getch();
for(d=0;d<=e;d++)
{
cout<<"\nKoofisien x Pangkat "<<d<<" : ";
cin>>b[d];
cout<<endl;
}
cout<<"1. PENJUMLAHAN \n2. PENGURANGAN \n3. PERKALIAN
\n4. TURUNAN"<<endl;
cout<<"\nMasukkan Kode Operasi : ";
cin>>f;
switch(f)
{
case 1:
{
penjumlahan(a,b,e,c);
break;
}

case 2:
{
pengurangan(a,b,e,c);
break;
}
case 3:
{
perkalian(a,b,c,e);
break;
}
case 4:
{
turunan(a,b,c,e);
break;
}
default:
{
salah();
break;
}
}
printf("\n Apakah anda ingin mengulang ? [y/t] ");
scanf("%s",&jawab);
}
while ((jawab=='Y' || jawab=='y'));
printf("\n\n\t\t\t\tTERIMA KASIH");
}

OutProgram :
Algoritma :
1. Start
2. Masukkan nilai derajat tertinggi polinom pertama.
3. Memasukkan koofisien x sebanyak nilai derajat tertinggi pertama yang
dimasukkan
4. Masukkan nilai derajat tertinggi polinom kedua
5. Memasukkan koofisien x sebanyak nilai derajat tertinggi kedua yang di
masukkan
6. Pilihan menu proses perhitungan
a. Jika pilih menu 1 maka akan melakukan proses perhitungan
penjumlahan .

b. Jika pilih menu 2 maka akan melakukkan proses perhitungan


pengurangan .

c. Jika pilih menu 3 maka akan melakukkan proses perhitungan


perkalian .

d. Jika pilih menu 4 maka akan melakukkan proses perhitungan


turunan
7. Hasil dari proses perhitungan
8. Pilihan kembali ke perhitungan jika pilih y makan akan kembali ke awal
memulai program jika pilih t maka program akan diakhiri.
9. Selesai

Deklarasi :

Program ini menampilkan aritmatika polinom, awal dari program ini kita menentukan derajat
tertinggi pertama atau bisa dibilang ini adalah sebagai batas nilai inputan, jika kita masukkan
4 maka koofisien yang akan kita masukan sejumlah 5 karena dimulai dari koofisien x pangkat
0 hingga koofisien x pangkat 4. Setelah itu menentukkan derajat tertinggi kedua dan sama
seperti proses yang pertama, kemudian akan memilih pilihan beberapa menu proses antara
lain, penjumlahan, pengurangan, perkalian, dan turunan.

Tugas Rumah 2
Algoritma dan Struktur Data
Nama Program : Program Bilangan Kompleks
Bahasa Pemrogramam : C++
Compiler : Code Blocks.
Script program :
#include<stdio.h>
#include<windows.h>
struct
{
int a,b,c,d;
}bil;

void perkalian()
{
printf("\n\n\tPERKALIAN BILANGAN KOMPLEKS \t\n");

int hasil1 = (bil.a * bil.c) - (bil.b * bil.d);


int hasil2 = (bil.a *bil.d) + (bil.b * bil.c);
printf(
"\nHasil perkalian dari (%d + %di) * (%d + %di) = (%d.%d - %d.
%d)+(%d.%d + %d.%d)i adalah %d + %di",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,bil.a,bil.d,bil.b,bil
.c,hasil1, hasil2);
}
void pembagian()
{
printf("\n\n\tPEMBAGIAN BILANGAN KOMPLEKS \t\n");

int hasil1 = ((bil.a*bil.c)+(bil.b*bil.d));


int hasil2 = (bil.a*bil.a)+(bil.b*bil.b);
int hasil3 = ((bil.b*bil.c)-(bil.a*bil.d));
int hasil4 = (bil.c*bil.c)+(bil.d*bil.d);
printf("\nHasil pembagian dari (%d + %di)/(%d + %di) =[(%d.%d +
%d.%d)/(%d.%d + %d.%d)]+[(%d.%d - %d.%d)/(%d.%d + %d.%d)i adalah (%d/
%d)+(%d/%d)i",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,bil.a,bil.a,bil.b,bil
.b,bil.b,bil.c,bil.a,bil.d,bil.c,bil.c,bil.d,bil.d,hasil1,hasil2,hasi
l3,hasil4);
}

void penjumlahan()
{
printf("\n\n\tPENJUMLAHAN BILANGAN KOMPLEKS \t\n");

int hasil1 = (bil.a + bil.c);


int hasil2 = (bil.b + bil.d);
printf(
"\nHasil penjumlahan dari (%d + %di) + (%d + %di) = (%d + %d)+
(%d + %d)i adalah %d + %di",
bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,hasil1,
hasil2);
}

void pengurangan()
{
printf("\n\n\tPENGURANGAN BILANGAN KOMPLEKS \t\n");

int hasil1 = (bil.a - bil.c);


int hasil2 = (bil.b - bil.d);
printf(
"\nHasil pengurangan dari (%d + %di) - (%d + %di) = (%d - %d)+
(%d - %d)i adalah %d + %di",
bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,hasil1,
hasil2);
}
int main()
{

char jawab;
do
{
char pilihan;
system("cls");
printf("|>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<|");
printf("\n| Input Bilangan Kompleks |");
printf("\n|>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<|");
printf("\n\n|Masukkan bilangan A : ");
scanf("%d",&bil.a);
printf("|Masukkan bilangan B : ");
scanf("%d",&bil.b);
printf("|Masukkan bilangan C : ");
scanf("%d",&bil.c);
printf("|Masukkan bilangan D : ");
scanf("%d",&bil.d);
printf("\n|^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^|");
printf("\n|\tMenu Pilihan : |");
printf("\n|^^^^^^^^^^^^^^+^^^^^^^^^^^^^^^|");
printf("\n1. Perkalian \n2. Pembagian \n3. Penjumlahan \n4.
Pengurangan\n");
printf("\nMasukkan pilihan anda : ");
scanf("%s",&pilihan);

if(pilihan=='1')
perkalian();
else if(pilihan=='2')
pembagian();
else if(pilihan=='3')
penjumlahan();
else if(pilihan=='4')
pengurangan();
else
printf("Maaf Menu yang Anda pilih tidak
Tersedia!!");

printf("\n Apakah anda ingin kembali melakukan


perhitungan ? [y/t] ");
scanf("%s",&jawab);
}

while ((jawab=='Y' || jawab=='y'));


printf("\n\n\t\t\t\tTERIMA KASIH");
}
OutProgram :
Algoritma :
10. Start
11. Masukan bilangan A,B,C dan D
12. Masuk kemenu pilihan
a.) Jika pilih menu 1 maka akan pemanggilan rumus dari perkalian
bilangan kompleks seperti berikut :
int hasil1 = (bil.a * bil.c) - (bil.b * bil.d);
int hasil2 = (bil.a *bil.d) + (bil.b * bil.c);
printf(
"\nHasil perkalian dari (%d + %di) * (%d + %di) =
(%d.%d - %d.%d)+(%d.%d + %d.%d)i adalah %d + %di",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,bil.a,bil
.d,bil.b,bil.c,hasil1, hasil2);
}
b.) Jika pilih menu 2 maka akan pemanggilan rumus dari pembagian
bilangan komplek seperti berikut :
int hasil1 = ((bil.a*bil.c)+(bil.b*bil.d));
int hasil2 = (bil.a*bil.a)+(bil.b*bil.b);
int hasil3 = ((bil.b*bil.c)-(bil.a*bil.d));
int hasil4 = (bil.c*bil.c)+(bil.d*bil.d);

printf("\nHasil pembagian dari (%d + %di)/(%d +


%di) =[(%d.%d + %d.%d)/(%d.%d + %d.%d)]+[(%d.%d - %d.%d)/
(%d.%d + %d.%d)i adalah (%d/%d)+(%d/%d)i",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,bil.a,bil
.a,bil.b,bil.b,bil.b,bil.c,bil.a,bil.d,bil.c,bil.c,bil.d,
bil.d,hasil1,hasil2,hasil3,hasil4);
c.) Jika pilih menu 3 maka akan pemanggilan rumus dari penjumlahan
bilangan kompleks seperti berikut :
int hasil1 = (bil.a + bil.c);
int hasil2 = (bil.b + bil.d);
printf(
"\nHasil penjumlahan dari (%d + %di) + (%d + %di) =
(%d + %d)+(%d + %d)i adalah %d + %di",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,hasil1,
hasil2);
d.) Jika pilih menu 4 maka akan pemanggilan rumus dari pengurangan
bilangan kompleks seperti berikut :
int hasil1 = (bil.a - bil.c);
int hasil2 = (bil.b - bil.d);
printf(
"\nHasil pengurangan dari (%d + %di) - (%d + %di) =
(%d - %d)+(%d - %d)i adalah %d + %di",

bil.a,bil.b,bil.c,bil.d,bil.a,bil.c,bil.b,bil.d,hasil1,
hasil2);
13. Hasil dari proses perhitungan sesuai dengan pilihan menu
14. Jika ada memilih y maka akan kembali ke awal program dan jika memilih t
maka program akan diakhiri
15. Selesai
Deklarasi :
Program diatas menampilkan sebuah perhitungan bilangan kompleks, untuk
penggunaan file header iostream harus ditemani dengan using namespace std, jika tidak akan
terjadi eror pada program. Program ini juga memudahkan para pengguna dalam perhitungan
bilangan kompleks.

KESIMPULAN
1. Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam
media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
2. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis untuk pemecahan suatu permasalahan.
3. Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci,
dan terbatas untuk menyelesaikan suatu masalah yang disusun secara sistematis.
4. Apabila kita membuat program dengan data yang sudah kita ketahui batasnya, maka
kita bisa menggunakan array (tipe data statis), namun apabila data kita belum kita
ketahui batasnya, kita bisa menggunakan pointer (tipe data dinamis).
5. Untuk sekumpulan data dengan tipe data yang berlainan, namun merupakan satu-
kesatuan, kita dapat menggunakan struktur untuk merepresentasikannya.

Anda mungkin juga menyukai