Anda di halaman 1dari 35

LAPORAN PRAKTIKUM

STRUKTUR DATA 
Modul Praktikum 1

Disusun oleh: 
Nama : Muhammad Syah Difa Lubis
NIM : 2107112747
Dosen : T. Yudi Hadiwandra, S.Kom, M.Kom
Asisten : Arridho Pradana 
Aielsa Naomi Athaya

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS RIAU
GENAP 2022/2023
LEMBAR PENGESAHAN PRAKTIKUM
ALGORITMA DAN STRUKTUR DATA

Nama Praktikan NIM

Muhammad Syah Difa Lubis 2107112747

Telah disahkan untuk diajukan sebagai laporan praktikum.

Asisten Praktikum

Arridho Pradana Aielsa Naomi Athaya

1907113990 1907113417
LEMBAR PENGESAHAN LAPORAN

Judul Praktikum : Array, Pointer, dan Struktur


Nama Instruktur : T. Yudi Hadiwandra, S.Kom, M.Kom
Nama Asisten : 1. Arridho Pradana (1907113990)
2. Aielsa Naomi Athaya (1907113417)

Nama Praktikan : Muhammad Syah Difa Lubis

Tanggal
No Bab Keterangan Paraf Asisten
pengesahaan

Menyetujui,

Arridho Pradana Aielsa Naomi Athaya

1907113990 1907113417
LEMBAR ASISTENSI PRAKTIKUM

Nama Praktikum : Array, Pointer, dan Struktur


Nama Asisten : 1. Mamba Ul Izzi (1807124814)
2. Rifqi Al Hanif Simbolon (1807195430)
Nama Praktikan : Muhammad Syah Difa Lubis

Hasil
No Tanggal Perbaikan Paraf Asisten
Pemeriksaan

Menyetujui,

Mamba Ul Izzi Rifqi Al Hanif Simbolon

1807124814 1807195430
A. TUGAS PENDAHULUAN

1. Flowchart latihan nomor 1

START

Char kata [] = {‘p’, ‘e’, ‘n’, ‘s’, ‘i’, ‘t’};

i = 5;

i>=0 END

print
kata[i]

i--
2. Flowchart latihan nomor 2

START

Int count = 10;


Int *temp;
Int sum = 7;

temp = &count;

*temp = 32;

temp = ∑

*temp = count;

Sum = *temp *4;

Print count,
*temp, sum

END
B. PERCOBAAN
Percobaan 1
#include <stdio.h>

int 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]);
}
}

Gambar 1.1 Percobaan memberikan nilai dan mengakses array


Percobaan 2
#include <stdio.h>
#define SIZE 12
int 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);


}

Gambar 1.2 Percobaan menghitung total dari nilai yang terdapat pada array
Percobaan 3
#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]);
}

Gambar 1.3 Percobaan menggunakan array pada bilangan fibonacci


Percobaan 4
#include <stdio.h>

int 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]);
}
}
}

Gambar 1.4 Percobaan mengakses array 2 dimensi


Percobaan 5
#include <stdio.h>

main()
{
int y, x = 87; /* x & y bertipe int */
int *px;
/* var pointer yang menunjuk ke data yang bertipe int */

x = 87;
px = &x; /* px diisi dengan alamat dari variabel x */
y = *px; /* y diisi dengan nilai yg ditunjuk oleh 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);
}

Gambar 1.5 Percobaan merubah isi variabel melalui pointer


Percobaan 6
#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);
}

Gambar 1.6 Percobaan mengakses dan merubah isi suatu variabel pointer
Percobaan 7
#include <stdio.h>

int 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));
}
}

Gambar 1.7 Percobaan mengakses elemen array dengan pointer


Percobaan 8
#include <stdio.h>

char strA[80] = "ABCDE";


char strB[80];

int main()
{
char *pA;
char *pB;
puts(strA);
pA = strA;
puts(pA);
pB = strB;
putchar('\n');
while(*pA != '\0')
{
*pB++ = *pA++;
}

*pB = '\0';
puts(strB);
}

Gambar 1.8 Percobaan menyalin string menggunakan pointer


Percobaan 9
#include <stdio.h>
#include<stdlib.h>
#define MAX 20
int main()
{
int *fibo;
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));
}

Gambar 1.9 Percobaan penggunaan pointer untuk bilangan fibonacci


Percobaan 10
#include <stdio.h>
#include <math.h>
struct polar
{
double r;
double alpha;
};

struct kartesian
{
double x;
double y;
};

int main()
{
struct polar p1;
struct kartesian k1;
printf("Masukkan nilai r untuk koordinat polar : ");
scanf("%lf",&p1.r);
printf("Masukkan nilai alpha untuk koordinat polar : ");
scanf("%lf",&p1.alpha);
k1.x = p1.r * cos(p1.alpha);
k1.y = p1.r * sin(p1.alpha);
printf("Nilai koordinat kartesian untuk koordinat polar r =
%2.2lf alpha= %2.2lf adalah:\n",p1.r,p1.alpha);
printf("x = %2.2lf y = %2.2lf",k1.x,k1.y);
}

Gambar 1.10 Percobaan penggunaan struktur pada konversi koordinat polar ke


koordinat cartesian
Percobaan 11
#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();
}
Gambar 1.11 Percobaan program struktur dalam array
Percobaan 12
#include <stdio.h>
#include <string.h>

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

void tampil(struct tag *p)


{
printf("\n%s ", p->nrp);
printf("%s ", p->nama);
printf("%.1f", p->nilai);
}

int main()
{
struct tag *st_ptr;
st_ptr = &my_struct;
strcpy(my_struct.nrp,"01");
printf("\n%s ",my_struct.nrp);
strcpy(my_struct.nama,"Arini");
printf("\n%s ",my_struct.nama);
my_struct.nilai = 63.6;
tampil(st_ptr);
}

Gambar 1.12 Percobaan mengakses struktur dengan pointer


C. PRAKTIKUM
1. TUJUAN PEMBELAJARAN
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:
1. Memahami konsep struktur data array dalam Bahasa C
2. Memahami konsep pointer dalam Bahasa C
3. Memahami konsep struktur dalam Bahasa C
4. Mengerti perbedaan penggunaan array dan pointer
5. Mengerti perbedaan array dan struktur

2. DASAR TEORI
1. Array
Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

tipe_data nama_var[ukuran];

dengan :
• tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
• nama_var : nama variabel array
• ukuran : untuk menyatakan jumlah maksimal elemen array.
Contoh pendeklarasian array :
float nilai_tes[5];
menyatakan bahwa array nilai_tes mengandung 5 elemen bertipe float.
2. Pointer
Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek
lain. Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari suatu
obyek lain (yaitu obyek yang dikatakan ditunjuk oleh pointer). Sebagai contoh, px
adalah variabel pointer dan x adalah variabel yang ditunjuk oleh px. Kalau x
berada pada alamat memori (alamat awal) 1000, maka px akan berisi 1000.
3. Struktur
Struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama,
dengan sifat setiap variabel dapat memiliki tipe yang berlainan. Struktur dapat
digunakan untuk mengelompokkan beberapa informasi yang berkaitan menjadi
sebuah satu kesatuan.
Bentuk umum deklarasi struktur adalah sebagai berikut:
struct nama_tipe_struktur
{
tipe field1;
.
.
tipe fieldN;
} variabel_struktur1, ..., variabel_strukturM;

Elemen dari struktur dapat diakses dengan menggunakan bentuk:


variabel_struktur.nama_field

3. PEMBAHASAN
Latihan 1
int main()
{
char arr[] = {'p','e','n','s','i','t'}; int i;

cout<<"Array sebelum dibalik:\n";


for(i=0; i<6; i++)
cout<<arr[i];
cout<<"\nArray setelah dibalik:\n";
for(i=(6-1); i>=0; i--)
cout<<arr[i];
cout<<endl;
return 0;
}

Program ini membalikkan susunan char didalam array dengan membalikkan


indeks dari array tersebut.
Latihan 2
int main(){
int a, b, c, d, k, jumlah = 0;
int matriks1[10][10], matriks2[10][10], hasil[10][10];

printf("Jumlah Baris Matriks: ");


scanf("%d", &c);
printf("Jumlah Kolom Matriks: ");
scanf("%d", &d);

printf("Masukkan angka matriks pertama: \n");


for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
scanf("%d", &matriks1[a][b]);
}
}
printf("Masukkan angka matriks kedua: \n");
for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
scanf("%d", &matriks2[a][b]);
}
}

printf("=======================================\n");
printf("Hasil Operasi Matriks \n");
printf("Penjumlahan :\n");
for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
hasil[a][b] = matriks1[a][b] + matriks2[a][b];
printf("%d \t", hasil[a][b]);
}
printf("\n");
}

Array 2 dimensi adalah array yang memiliki baris dan kolom, sehingga
penomoran indeksnya menggunakan 2 buah angka. Program diatas memiliki
output berupa penjumlahan, pengurangan, dan perkalian dari sebuah matriks yang
diinputkan.
Latihan 3
int 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 );


}

Program ini mengoutputkan nilai count, nilai temp dan nilai sum

Latihan 4
int main ()
{
int P1[11]={15,0,0,1,0,5,0,8,6,0,0};
int P2[11]={10,0,2,2,3,0,0,4,0,3,0};
int P3[11]={5,0,1,0,0,0,0,0,0,0,0};
int bil[12]={0,0,0,0,0,0,0,0,0,0,0,0};
cout<<"------------- Aritmatika
Polinominal-------------"<<endl;
cout<<"Diketahui : "<<endl;
cout<<"P1 = 6x8 + 8x7 + 5x5 + x3 + 15"<<endl;
cout<<"P2 = 3x9 + 4x7 + 3x4 + 2x3 + 10"<<endl;
cout<<"P3 = x2 + 5"<<endl;

cout<<"-------------------------------------------------"<<endl;

cout<<endl<<"Nilai Penjumlahan = ";


for(int a=0; a<10; a++){
bil[a] +=*(P1+a)+*(P2+a);
}
for(int a=11; a>=0;a--){
if (bil[a]==0){
cout<<"";
}
else{
if(a>1)
cout<<""<<bil[a]<<"x"<<a<<" + ";
else if(a==1)
cout<<""<<bil[a]<<"x"<<" + ";
else if (a>=0)
cout<<""<<bil[a];
}
}

Program aritmatika polinom adalah sekumpulan polinom yang dibuat subrutin


kombinasinya, dan menyimpulkan nilai polinom.
Latihan 5
int main(){
double a;
double b;
double c;
double d;

bilangan komp[2];
cout<<"~~~~~~~~~~~~~~~~~~~Bilangan
Kompleks~~~~~~~~~~~~~~~~~~~~~"<<endl;

cout<<"Masukan Nilai a = ";cin>>komp[0].w;


cout<<"Masukan Nilai b = ";cin>>komp[0].y;
cout<<"Masukan Nilai c = ";cin>>komp[1].w;
cout<<"Masukan Nilai d = ";cin>>komp[1].y;
cout<<" "<<endl;
cout<<"Pertambahan "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) + ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"=("<<komp[0].w<<" + "<<komp[1].w<<") +("<<komp[0].y<<"
+ "<<komp[1].y<<")i"<<endl
cout<<"= "<<komp[0].w+komp[1].w<<" +
"<<komp[0].y+komp[1].y<<"y"<<endl<<endl;
cout<<"Pengurangan "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) -";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"= ("<<komp[0].w<<" - "<<komp[1].w<<") +
("<<komp[0].y<<" - "<<komp[1].y<<")i"<<endl;
cout<<"= "<<komp[0].w-komp[1].w<<" + "<<komp[0].y-
komp[1].y<<"i"<<endl<<endl;
cout<<"Perkalian "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) * ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
a=komp[0].w*komp[1].w; b=komp[0].y*komp[1].y;
c=komp[0].w*komp[1].y; d=komp[0].y*komp[1].w;
cout<<"= ("<<a<<" - "<<b<<") + ("<<c<<" +"<<d<<")i"<<endl;
cout<<"= "<<a-b<<" + "<<c+d<<"i"<<endl<<endl;
a=komp[0].w; b=komp[0].y; c=komp[1].w;

cout<<"Perkalian "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) * ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
a=komp[0].w*komp[1].w; b=komp[0].y*komp[1].y;
c=komp[0].w*komp[1].y; d=komp[0].y*komp[1].w;
cout<<"= ("<<a<<" - "<<b<<") + ("<<c<<" +"<<d<<")i"<<endl;
cout<<"= "<<a-b<<" + "<<c+d<<"i"<<endl<<endl;
a=komp[0].w; b=komp[0].y; c=komp[1].w;
d=komp[1].y;

cout<<"Pembagian "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) / ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"= [("<<a*c<<" + "<<b*d<<") / ("<<a*a<<" + "<<b*b<<")] +
";
cout<<" [("<<b*c<<" - "<<a*d<<") / ("<<c*c<<" +
"<<d*d<<")]i"<<endl;
cout<<"= ("<<a*c+b*d<<" / "<<a*a+b*b<<") + ("<<b*c-
a*d<<"/"<<c*c+d*d<<")i"<<endl;
cout<<"= "<<(a*c+b*d)/(a*a+b*b)<<" + "<<(b*c-
a*d)/(c*c+d*d)<<"i";
return 0;

Penjelasan : Program ini membaca 2 bilangan kompleks dan simbol operasi yang
perlu dilakukan dan menginput bilangan kompleks berbentuk a+bi. a dan b adalah
bilangan nyata dan I adalah bilangan imajiner.
4. HASIL
Latihan 1:

Gambar 1.13 Output latihan 1


Latihan 2

Gambar 1.14 Output latihan 2


Latihan 3

Gambar 1.15 Output latihan 3


Latihan 4

Gambar 1.16 Output latihan 4

Latihan 5

Gambar 1.17 Output latihan 5


5. KESIMPULAN
1. Untuk membalikkan suatu kata yang bertipe char, pertama kita harus
mendeklarasikan kata tersebut kedalam sebuah array char, barulah kemudian
membuat fungsi yang membalikkan posisi char tersebut.
2. Array 2 dimensi merupakan array yang penomorannya menggunakan 2 buah
angka, program nomor 2 merupakan array 2 dimensi yang memiliki operasi
penjumlahan, pengurangan dan perkalian dari angka yang telah diinputkan oleh
user.
3. Program aritmatika polinom merupakan kumpulan subrutin manipulasi
terhadap polinom yang telah ditetapkan angkanya.
4. Program operasi bilangan kompleks, membaca dua bilangan kompleks dan
simbol operasi yang perlu dilakukan dan menginput bilangan kompleks berbentuk
a+bi, dimana a dan b adalah bilangan nyata dan I2 = -1.
6. LISTING PROGRAM
Latihan 1
#include<iostream>
using namespace std;
int main()
{
char arr[] = {'p','e','n','s','i','t'}; int i;

cout<<"Array sebelum dibalik:\n";


for(i=0; i<6; i++)
cout<<arr[i];

cout<<"\nArray setelah dibalik:\n";


for(i=(6-1); i>=0; i--)
cout<<arr[i];
cout<<endl;
return 0;
}

Latihan 2
#include <stdio.h>

int main(){
int a, b, c, d, k, jumlah = 0;
int matriks1[10][10], matriks2[10][10], hasil[10][10];

printf("Jumlah Baris Matriks: ");


scanf("%d", &c);
printf("Jumlah Kolom Matriks: ");
scanf("%d", &d);

printf("Masukkan angka matriks pertama: \n");


for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
scanf("%d", &matriks1[a][b]);
}
}

printf("Masukkan angka matriks kedua: \n");


for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
scanf("%d", &matriks2[a][b]);
}
}

printf("=======================================\n");
printf("Hasil Operasi Matriks \n");
printf("Penjumlahan :\n");
for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
hasil[a][b] = matriks1[a][b] + matriks2[a][b];
printf("%d \t", hasil[a][b]);
}
printf("\n");
}

printf("\nPengurangan :\n");
for(a=0; a<c; a++)
{
for(b=0; b<d; b++)
{
hasil[a][b] = matriks1[a][b] - matriks2[a][b];
printf("%d \t", hasil[a][b]);
}
printf("\n");
}

for(a = 0; a < c; a++){


for(b = 0; b < d; b++){
for(k = 0; k < c; k++){
jumlah = jumlah + matriks1[a][k] * matriks2[k][b];
}
hasil[a][b] = jumlah;
jumlah = 0;
}
}

printf("\nPerkalian : \n");
for(a = 0; a < c; a++){
for(b = 0; b < d; b++){
printf("%d\t", hasil[a][b]);
}
printf("\n");
}
}

Latihan 3
#include <stdio.h>

int 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 );


}
Latihan 4
#include <iostream>
using namespace std;
int a,b;
int main ()
{
int P1[11]={15,0,0,1,0,5,0,8,6,0,0};
int P2[11]={10,0,2,2,3,0,0,4,0,3,0};
int P3[11]={5,0,1,0,0,0,0,0,0,0,0};
int bil[12]={0,0,0,0,0,0,0,0,0,0,0,0};
cout<<"------------- Aritmatika
Polinominal-------------"<<endl;
cout<<"Diketahui : "<<endl;
cout<<"P1 = 6x8 + 8x7 + 5x5 + x3 + 15"<<endl;
cout<<"P2 = 3x9 + 4x7 + 3x4 + 2x3 + 10"<<endl;
cout<<"P3 = x2 + 5"<<endl;

cout<<"-------------------------------------------------"<<endl;

cout<<endl<<"Nilai Penjumlahan = ";


for(int a=0; a<10; a++){
bil[a] +=*(P1+a)+*(P2+a);
}
for(int a=11; a>=0;a--){
if (bil[a]==0){
cout<<"";
}
else{
if(a>1)
cout<<""<<bil[a]<<"x"<<a<<" + ";
else if(a==1)
cout<<""<<bil[a]<<"x"<<" + ";
else if (a>=0)
cout<<""<<bil[a];
}
}
cout<<endl<<"Nilai Pengurangan = ";
for (int a=0; a<10;a++){
bil[a]=*(P1+a)-*(P2+a);
}
for (int a=11;a>=0;a--){
if(bil[a]==0){
cout<<"";
}
else{
if(a>1){
if(bil[a]>1)
cout<<" + "<<bil[a]<<"x"<<a;
else if(bil[a]<0)
cout<<" "<<bil[a]<<"x"<<a;
}
else if(a==1)
cout<<""<<bil[a]<<"x"<<" ";
else if (a>=0)
cout<<" + "<<bil[a];
}
}
int bil2[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
cout<<endl<<"Nilai Perkalian = ";
for(int a=0; a<10; a++){
for (int b=0; b<4; b++){
bil2[a+b] += *(P1+a) * *(P3+b);
}
}
for (int a=11; a>=0;a--){
if(bil2[a]==0){
cout<<"";
}
else{
if(a>1){
cout<<""<<bil2[a]<<"x"<<a<<" + ";
}
else if(a==1){
cout<<""<<bil2[a]<<"x"<<" + ";
}
else if(a==0){
cout<<""<<bil2[a];
}
}
}
int bil3[12]={0,0,0,0,0,0,0,0,0,0,0,0};
cout<<endl<<"Nilai Turunan = ";
for (int a=0; a<10; a++){
bil3[a] = P2[a+1]* (a+1);
}
for (int a=11; a>=0; a--){
if(bil3[a]==0){
cout<<"";
}
else{
if (a>1){
cout<<" + "<<bil3[a]<<"x"<<a;
}
}
}
return 0;
}
Latihan 5
#include <iostream>

using namespace std;

struct bilangan{
int w;
int y;
};
int main(){
double a;
double b;
double c;
double d;

bilangan komp[2];
cout<<"~~~~~~~~~~~~~~~~~~~Bilangan
Kompleks~~~~~~~~~~~~~~~~~~~~~"<<endl;

cout<<"Masukan Nilai a = ";cin>>komp[0].w;


cout<<"Masukan Nilai b = ";cin>>komp[0].y;
cout<<"Masukan Nilai c = ";cin>>komp[1].w;
cout<<"Masukan Nilai d = ";cin>>komp[1].y;
cout<<" "<<endl;
cout<<"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-="<<endl;
cout<<" "<<endl;

cout<<"Pertambahan "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) + ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"=("<<komp[0].w<<" + "<<komp[1].w<<") +
("<<komp[0].y<<" + "<<komp[1].y<<")i"<<endl;

cout<<"= "<<komp[0].w+komp[1].w<<" +
"<<komp[0].y+komp[1].y<<"y"<<endl<<endl;

cout<<"Pengurangan "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) -";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"= ("<<komp[0].w<<" - "<<komp[1].w<<") +
("<<komp[0].y<<" - "<<komp[1].y<<")i"<<endl;

cout<<"= "<<komp[0].w-komp[1].w<<" + "<<komp[0].y-


komp[1].y<<"i"<<endl<<endl;

cout<<"Perkalian "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) * ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
a=komp[0].w*komp[1].w; b=komp[0].y*komp[1].y;
c=komp[0].w*komp[1].y; d=komp[0].y*komp[1].w;
cout<<"= ("<<a<<" - "<<b<<") + ("<<c<<" +"<<d<<")i"<<endl;
cout<<"= "<<a-b<<" + "<<c+d<<"i"<<endl<<endl;
a=komp[0].w; b=komp[0].y; c=komp[1].w;
d=komp[1].y;
cout<<"Pembagian "<<endl;
cout<<"= ("<<komp[0].w<<" + "<<komp[0].y<<"i) / ";
cout<<"("<<komp[1].w<<" + "<<komp[1].y<<"i)"<<endl;
cout<<"= [("<<a*c<<" + "<<b*d<<") / ("<<a*a<<" + "<<b*b<<")]
+ ";
cout<<" [("<<b*c<<" - "<<a*d<<") / ("<<c*c<<" +
"<<d*d<<")]i"<<endl;
cout<<"= ("<<a*c+b*d<<" / "<<a*a+b*b<<") + ("<<b*c-
a*d<<"/"<<c*c+d*d<<")i"<<endl;
cout<<"= "<<(a*c+b*d)/(a*a+b*b)<<" + "<<(b*c-
a*d)/(c*c+d*d)<<"i";
return 0;

Anda mungkin juga menyukai