Anda di halaman 1dari 33

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 : Cara memberikan nilai pada array dan mengakses array
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
void main ()
{
int n[ 10 ];
int i,j;

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


{
n[ i ] = i + 100;
}

for (j = 0; j < 10; j++ )


{
printf("Element[%d] = %d\n", j, n[j] );
}

Output Program :

Deskripsi :
Perlu diperhatikan bahwa sekali array dideklarasikan, nilai yang telah disimpan dalam setiap
anggota array akan diinisialisasi sebagai nol. jadi, ketika kita menggunakan tipe data seperti
String, array java tidak akan diinisalisasi atau menjadi string kosong "". oleh karena itu kita
tetap harus membuat String array secara eksplisit.
Percobaan 2
Algoritma dan Struktur Data
Nama Program : Menghitung nilai Total yang terdapat pada array
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
#define SIZE 12
void main()
{
int a[ SIZE ] = { 1, 3, 5, 4, 7, 2, 99,16, 45, 67, 89,
45 };
int i = 0;
int total = 0;
for(i = 0; i<SIZE; ++i)
{
total+=a[i];
}
printf( "Total elemen yang terdapat di array : %d\n",
total );
}
Output Program :

Deskripsi :
int a digunakan untuk membuat array, karena kita sudah tahu semua datanya maka ukuran

dari array tidak perlu diberikan. int total digunakan untuk menampung total, untuk nilai awal
kita berikan 0.
Percobaan 3
Algoritma dan Struktur Data
Nama Program : Penggunaan array pada bilangan fibonacci
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
#define MAX 20

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 20

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 :

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 19 .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 4
Algoritma dan Struktur Data
Nama Program : Cara mengakses array dua dimensi
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
void main ()
{

int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};


int i, j;
for ( i = 0; i < 5; i++ )
{
for ( j = 0; j < 2; j++ )
{
printf("a[%d][%d] = %d\n", i,j, a[i][j] );
}
}
}
Output Program :

Deskripsi :
Cara yang digunakan untuk mengakses elemen array dua dimensi adalah dengan menuliskan
indeks baris dan kolom nya. Misalnya pada array LARIK diatas kita ingin mengakses nilai '8'
yang terdapat pada indeks baris ke 1 dan indeks kolom ke 2, kemudian menampung nilai
tersebut kedalam sebuah variabel yang bertipe int (misal int tampung), maka kita perlu
menuliskan kode programnya
Percobaan 5

Algoritma dan Struktur Data


Nama Program : Program mengubah isi variabel melalui pointer
Bahasa Pemrogramam : C++
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:

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 6
Algoritma dan Struktur Data
Nama Program : Program mengakses dan mengubah isi suatu variabel pointer.
Bahasa Pemrogramam : C++
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 :

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 7
Algoritma dan Struktur Data
Nama Program : Mengakses elemen array dengan pointer.
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
void main()
{
int my_array[] = {1,23,17,4,-5,100};
int *ptr;
int i;
ptr = &my_array[0]; /* var pointer ptr menunjuk ke
elemen ke-
0 dari myarray */
printf("\n\n");
for (i = 0; i < 6; i++)
{
printf("my_array[%d] = %d ",i,my_array[i]);
printf("ptr + %d = %d\n",i, *(ptr + i));
}
Output Program :

Deskripsi :
Karena susunan array pada memori berhimpit-himpitan, maka untuk mengakses
elemen berikutnya pada array melalui pointer adalah dengan menambahkan nilai satu
pada pointer tersebut. Menambahkan nilai satu pada pointer, berarti mengarahkan pointer ke
alamat memori berikutnya.
Percobaan 8
Algoritma dan Struktur Data
Nama Program : Mengkopi string menggunakan pointer

Bahasa Pemrogramam : C++


Script program :
#include <stdio.h>
char strA[80] = "ABCDE";
char strB[80];
void main()
{
char *pA;
char *pB;
puts(strA);
pA = strA;
puts(pA);
pB = strB;
putchar('\n');
while(*pA != '\0')
{
*pB++ = *pA++;
}
*pB = '\0';
puts(strB);
}
Output Program :

Deskripsi :
Pointer untuk mengkopi string, suatu variabel pointer dapat dikerjakan ke variabel pointer
lainnya, yaitu nilai suatu variabel pointer dapat dipindahkan ke variabel pointer
Yang lainnya.

Percobaan 9
Algoritma dan Struktur Data
Nama Program : Penggunaan pointer untuk bilangan fibonacci.
Bahasa Pemrogramam : C++
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 :

Deskripsi :
Program diatas memiliki beberapa kesalahan, yaitu penggunaan void yang
seharusnya menggunakan int. penggunaan rumus yang kurang tepat. Hampir sama
dengan percobaan 3, namun dalam percobaan ini , menggunakan pointer dalam
proses execute program tersebut.
Percobaan 10
Algoritma dan Struktur Data
Nama Program : Penggunaan struktur pada konversi koordinat polar ke koordinat
catersian.
Bahasa Pemrogramam : C++
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 :
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.
Latihan No.1
Algoritma dan Struktur Data

Nama Program : Terdapat array dengan tipe char yang berisi {'p', 'e', 'n', 's', 'i', 't'},
baliklah array tersebut menjadi tisnep.
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* run this program using the console pauser or add your


own getch, system("pause") or input loop */

int main() {
char nama[]={'p','e','n','s','i','t'};
char balik[6];
int jumlah;
jumlah=strlen(nama);
int i,k;
for(i=jumlah-1;i>=0;i--){

balik[k]=nama[i];

k++;
}
printf("Setelah String di balik:%s",balik);
}

Output Program :

Deskripsi / Analisa :
pertama di karenakan kita menggunakans strlen maka kita harus me include library
string.h,setelah itu kita deklarasikan variable char nama yang menampung kalimat array dari
“pensit” lalu kita buat variable balik untuk menampung hasil balik nanti,kita buat interger
jumlah dan kita gunakan jumlah=strlen(kalimat) jadi di jumlah adalah hasil dari panjang
kalimat,lalu kita loop i=jumlah-1,di sini -1 di karenakan array di mulai dari 0,dan jika I lebih
besar dari 0 maka akan di balik[k]=nama[i] dan k++,jadi di sini balik k adalah balik index ke 0
yang akan di isi dengan nama index baris yang terbelakang.dan kita cetak dengan %s karena
sudah berupa string.
Latihan No.2
Algoritma dan Struktur Data

Nama Program : Terdapat dua buah matrik dengan ordo n yang direpresentasikan
dengan array dimensi dua, lakukan operasi penjumlahan, pengurangan dan perkalian.
Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 2
void tambah(int A[N][N],int B[N][N],int C[N][N]){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
C[i][j]=A[i][j]+B[i][j];
}
}
}
void kurang(int A[N][N],int B[N][N],int C[N][N]){
int i,j;
for(i=0;i<N;i++){
for(j=0;j<N;j++){
C[i][j]=A[i][j]-B[i][j];
}
} void kali(int A[N][N],int B[N][N],int C[N][N]){
int i, j, k, jumlah;
jumlah=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++){
for(k=0;k<N;k++)
jumlah+=A[i][k]*B[k][j];
C[i][j]=jumlah;
jumlah=0;
}
}
int main() {
int M1[N][N]={1,2,3,4};
int M2[N][N]={5,6,7,8};
int hasil[N][N];
char lagi='y';
int i,j,pilih;
do{
printf("\n");
printf("1.penjumlahan\n");
printf("2.pengurangan\n");
printf("3.perkalian\n");
printf("Pilihan: ");
scanf("%d",&pilih);
switch(pilih){
case 1:tambah(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

case 2:kurang(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

case 3:kali(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

default:printf("\nTerimakasih telah
menggunakan program");
exit(1);
}
switch(pilih){
case 1:tambah(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

case 2:kurang(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

case 3:kali(M1,M2,hasil);
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%d ",hasil[i][j]);

}printf("\n");
}break;

default:printf("\nTerimakasih telah
menggunakan program");
exit(1);
}

Output Program :

Deskripsi / Analisa :

jadi di sini kita memakai fungsi yaitu fungsi tambah,kurang.,dan kali di sini saya jelaskan
yang tambah saja,jadi fungsi ini mempunyai A[N][N],B[N][N],C[N][N] jadi di sini nanti A
akan menunjuk M1 dan B menunjuk M2 dan C mnunjuk

hasil,jadi di sini saya punya array untuk M1[1,2,3,4],dan M2[5,6,7,8] lalu hasiluntuk
menampung hasilnya nanti untuk penambahan di fungsi adalah seperti ini

C[i][j]=A[i][j]+B[i][j];
I dan j itu adalah loop sesuai N yang sudah di define di atas jadi Cij sama seperti hasil[0][0]
sama dengan M1[0][0](1,2)+M2[0][0](5,6); dan seterusnya.

Latihan No.3
Algoritma dan Struktur Data

Nama Program : Bagaimana output program di bawah ini ?


Bahasa Pemrogramam : C++
Script program :
#include <stdio.h>
#include <stdlib.h>

main() {
int count = 10, *temp, sum = 7;

temp = &count;
*temp = 32;
temp = &sum;
*temp = count;
sum = *temp * 4;
printf("count=%d, *temp=%d, sum=%d\n", count,*temp, sum
);
}
Output Program :
Deskripsi / Analisa :
Pertama temp=&count jadi temp sama dengan alamat count,lalu *temp=32 maka otomatis
count akan berubah menjadi 32,lalu temp=alamat sum jadi temp jadi 7,lalu *temp sama
dengan count jadi *temp berisi 32 lalu sum sama dengan pointer temp (32) di kali 4 yaitu 128;

Latihan No.4
Algoritma dan Struktur Data
Nama Program : Program Aritmatika Polinom
Bahasa Pemrogramam : C++
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 :
Dekrpsi / Analisa :

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.

Latihan No.5

Algoritma dan Struktur Data


Nama Program : Program Bilangan Kompleks
Bahasa Pemrogramam : C++
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,hasil
2,hasil3,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 :

Deskrpsi / Analisa :
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