Anda di halaman 1dari 13

TUGAS MATA KULIAH

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA


ARRAY, POINTER DAN STRUKTUR
MODUL 1

Nama : Hendita Rahma Fernanda


Nrp : 3123640041

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


JURUSAN TEKNIK INFORMATIKA D4/LJ
2024
E. LATIHAN

1. Terdapat array dengan tipe char yang berisi {'p', 'e', 'n', 's', 'i', 't'}, baliklah array tersebut
menjadi tisnep.
#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=0;
for(i=jumlah-1;i>=0;i--)
{
balik[k]=nama[i];
k++;
}
printf("Sebelum String di balik:%s",balik);

Hasil :
Analisa :
kita menggunakan 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.

2. Terdapat dua buah matrik dengan ordo n yang direpresentasikan dengan array dimensi
dua, lakukan operasi penjumlahan, pengurangan dan perkalian.
#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;

C[i][j]=jumlah;
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 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);
}
printf("Lagi?:(y/t)");
fflush(stdin);
scanf("%c",&lagi);
}while(lagi=='y');
printf("\nTerimakasih telah Menggunakan Program");
}

Hasil :

Analisa :
Program ini bertujuan untuk melakukan penjumlahan, pengurangan, ataupun perkalian
menggunakan array multidimensional. Pertama, mendeklarasikan array sebanyak 2 baris 4
kolom. Kemudian, user memilih rumus penjumlahan, pengurangan, ataupunperkalian sesuai
pilihan user untuk mengolah array. Kemudian, hasil dari pengolahan rumus tadi ditampilkan
pada output. User juga dapat memilih rumus pengolahan array lainnya.
3. Masalah aritmatika polinom adalah membuat sekumpulan subrutin manipulasi
terhadap polinom simbolis (symbolic Polynomial). Misalnya: P1 = 6x8
+ 8x7 +

5x5
+ x3
+ 15
P2 = 3x9
+ 4x7 + 3x4
+ 2x3
+ 2x2 + 10

P3 = x2 + 5
Terdapat empat operasi aritmatika polinom dasar antara lain:
a. Penambahan (P1 + P2 = 3x9
+ 6x8
+ 12x7 + 5x5 + 3x4
+ 3x3
+ 2x2 + 25)

b. Pengurangan (P1 - P2 = - 3x9


+ 6x8
+ 4x7 + 5x5
- 3x4
-x
3
- 2x2 + 5)

c. Perkalian (P1 * P3 = 6x10 + 8x9 + 5x7


+ x5
+ 15x2
+ 30x8
+ 40x7 + 25x5
+ 5x3

+ 75 = 6x10 + 8x9 + 30x8


+ 45x7
+ 26x5
+ 5x3
+ 15x2
+ 75)

d. Turunan (P2' = 27x8

+ 28x6 + 12x3
+ 6x2
+ 4x)

Representasikan bilangan polinom dengan array dan buatlah prosedur-prosedur


yang melakukan kelima operasi aritmatika di atas.
Hasil :

Analisa :
Program ini berfungsi untuk menjalankan operasi aritmatika pada polynomial. Polinomial telah
dideklarasikan dengan 3 bentuk. Kemudian terdapat operasi penjumlahan, pengurangan,
perkalian, dan turunan pada polynomial. Setelah operasi dilakukan, hasil akan ditampilkan
pada output.

4. Bilangan kompleks berbentuk a + bi, dimana a dan b adalah bilangan nyata dan i2

= -1. Terdapat empat operasi aritmatika dasar untuk bilangan kompleks, yaitu:

• Penambahan : (a+bi) + (c+di) = (a+c) + (b+d)i


• Pengurangan : (a+bi) - (c+di) = (a-c) + (b-d)i
• Perkalian : (a+bi) * (c+di) = (ac-bd) + (ad+bc)i
• Pembagian : (a+bi) / (c+di) = [(ac+bd) / (a2+b2)] + [(bc-ad)/(c2+d2)]i

#include <iostream>
#include <conio.h>
using namespace std;
struct bil{int riil[2];
int imajiner[2];
}
kompleks;
void penjumlahan (bil &kompleks)
{
int r,i;
r = kompleks.riil[0] + kompleks.riil[1];
i = kompleks.imajiner[0]+ kompleks.imajiner[1];
cout << "Maka Hasil Penambahan Dua Bilangan Kompleks: " <<r<< " + "
<<i<< " i ";
}
void pengurangan (bil &kompleks)
{
int r,i;
r = kompleks.riil[0] - kompleks.riil[1];
i = kompleks.imajiner[0]- kompleks.imajiner[1];
cout << "\nMaka Hasil Pengurangan Dua Bilangan Kompleks: "
<<r<< " + " <<i<< " i ";
}
void perkalian (bil &kompleks)
{
int a,a2,b,b2;a = kompleks.riil[0] * kompleks.riil[1];
a2 = kompleks.imajiner[0] * kompleks.imajiner[1];
b = kompleks.riil[0] * kompleks.imajiner[1];
b2 = kompleks.imajiner[0] * kompleks.riil[1];
cout << "\nMaka Hasil Perkalian Dua Bilangan Kompleks: "
<< "("<<a<<"-"<<a2<<")" << "+" << "("<<b<<"+"<<b2<<")" << "i";
}
void pembagian (bil &kompleks)
{
int a,a2,b,b2,c,c2,d,d2;a = kompleks.riil[0] /
kompleks.riil[1];
a2 = kompleks.imajiner[0] / kompleks.imajiner[1]; b
= kompleks.riil[0] / kompleks.imajiner[1];
b2 = kompleks.imajiner[0] / kompleks.riil[1];
c = kompleks.riil[0] / kompleks.riil[0];
c2 = kompleks.imajiner[0] / kompleks.imajiner[0];
d = kompleks.riil[1] / kompleks.riil[1];
d2 = kompleks.imajiner[1] / kompleks.imajiner[1];
cout<<"\nMaka Hasil Pembagian Dua Bilangan Kompleks:
"<<"["<<"("<<a<<"+"<<a2<<")"<<"/"<<"("<<c<<"+"<<c2<<")"<<"]"<<"+"<<"
["<<"("<<b<<"-"<<b2<<")"<<"/ "<<"("<<d<<"+"<<d2<<")"<<"]"<<"i" <<
endl;
}
int main()
{
cout<<"------------------------------------------
-----";
cout<<"\nPROGRAM OPERASI PEMBACA DUA BILANGAN
KOMPLEKS" << endl;
cout<<"------------------------------------------
-----";
bil kompleks;
for (int a=0;a<2;a++)
{
cout <<"\nIsi Bilangan Kompleks Ke- "<< a+1
<< endl;
cout <<"1). Bilangan Riil: ";cin >>
kompleks.riil[a];
cout <<"2). Bilangan Imajiner: ";cin >>
kompleks.imajiner[a];
}

for (int a=0;a<2;a++)


for (int a=0;a<2;a++)
{
cout <<"\nBilangan
Kompleks yang ke " << a+1 << " : "<<
kompleks.riil[a] << " + " <<
kompleks.imajiner[a] << "i";
}
cout<<endl<<endl;
penjumlahan(kompleks);
pengurangan(kompleks);
perkalian(kompleks);
pembagian(kompleks);
}

Hasil :
Analisa :
Program ini berfungsi melakukan operasi matematika pada dua bilangan kompleks. Pertama,
user dapat menginput da buah bilangan kompleks yang disimpan sebagai data. Kemudian
bilangan yang diinput user akan diolah dalam operasi penjumlahan, pengurangan, perkalian
dan pembagian. Hasil dari operasi tersebut akan ditampilkan pada output.

Anda mungkin juga menyukai