SOAL :
Praktekkan pada buku Algoritma dan Pemrograman halaman 418 s/d 423, buat notasi algoritma pseudo code, pascal, C dan Java. Soal dan Jawaban di posting di website pribadi masing - masing.
JAWABAN :
1. NOTASI PSEUDOCODE
PROGRAM Matriks
{ Menjumlahkan dua
buah Matriks dengan meng-inputkan banyaknya baris dan kolom dan meng-input
setiap elemen dari Matriks A dan B sehingga menghasilkan output-an hasil penjumlahan
dari Matriks A + B }
{ DEKLARASI }
const Nbar = 20 { jumlah baris Maksimum }
const Nkol = 20 { jumlah kolom Maksimum }
type MatriksInt = array [1..Nbar, 1..Nkol] of integer
A, B, C: MatriksInt
p, q : integer
{ PROCEDURE
BacaMatriks }
procedure BacaMatriks ( output A, B : MatriksInt, input
Nbar, Nkol : integer);
{ Mengisi elemen
matriks A[1..Nbar, 1..Nkol] dan elemen matriks B[1..Nbar, 1..Nkol] dari papan
ketik }
{ DEKLARASI }
i : integer { Indeks baris }
j : integer { Indeks kolom }
{ ALGORITMA }
write ('- Matriks A : ')
for i ß 1 to Nbar do
for j ß 1 to Nkol do
read(A[i,j])
end for
end for
write('- Matriks B : ')
for i ß 1 to Nbar do
for j ß 1 to Nkol do
read(B[i,j])
end for
end for
end for
{ Seluruh elemen
Matriks A dan B sudah berisi nilai yang dibaca dari papan ketik }
{ PROCEDURE
TulisMatriks }
procedure TulisMatriks (output A, B : MatriksInt, input
Nbar, Nkol : integer)
{ Mencetak Elemen
Matriks A[1..Nbar, 1..Nkol] dan B[1..Nbar, 1..Nkol] ke layar }
{ DEKLARASI }
i : integer; { Indeks baris }
j : integer; { Indeks kolom }
{ ALGORITMA }
write('- Matriks A :')
for i ß 1 to Nbar do
for j ß 1 to Nkol do
write(A[i,j],' ')
end for
end for
write('- Matriks B :')
for i ß 1 to Nbar do
for j ß 1 to Nkol do
write(B[i,j],' ')
end for
end for
end for
{ Seluruh elemen
Matrisk tertulis di layar. }
{ PROCEDURE
JumlahDuaMatriks }
procedure JumlahDuaMatriks (input A, B : MatriksInt, input
Nbar, Nkol : integer, output C : MatriksInt)
{ Menjumlahkan
matriks A dan B, yaitu A + B = C }
{ DEKLARASI }
i : integer { indeks baris }
j : integer { indeks kolom }
{ ALGORITMA }
for i ß 1 to Nbar do
for j ß 1 to Nkol do
C[i, j] = A[i, j] + B[i, j]
end for
end for
end for
{ Matriks C berisi
hasil penjumlahan A dan B }
{ PROGRAM UTAMA
}
{ ALGORITMA }
write ('Memasukkan data ukuran matriks : ')
write ('Berapa jumlah baris (1-20) : ')
read (p)
write ('Berapa jumlah kolom (1-20) : ')
read(q)
BacaMatriks(A, B, p,
q) { Memanggil Procedure BacaMatriks }
write ('Bentuk matriks A dan B : ')
TulisMatriks(A, B, p,
q) { Memanggil Procedure
TulisMatriks }
write('Hasil penjumlahan dari Matriks A dan B : ')
write('A + B = ')
JumlahDuaMatriks(A,
B, p, q, C) { Memanggil Procedure JumlahDuaMatriks
}
end.
2. BAHASA PASCAL :
- Link Bahasa Pascal : https://onlinegdb.com/7xdMJZiiw
program Matriks;
{ Menjumlahkan dua buah Matriks dengan meng-inputkan banyaknya baris dan kolom dan meng-input setiap elemen dari
Matriks A dan B sehingga menghasilkan output-an hasil dari Matriks A + B }
{ DEKLARASI }
const Nbar = 20; { jumlah baris Maksimum }
const Nkol = 20; { jumlah kolom Maksimum }
type MatriksInt = array [1..Nbar, 1..Nkol] of integer;
var
A, B, C: MatriksInt;
p, q : integer;
{ PROCEDURE BacaMatriks }
procedure BacaMatriks ( var A, B : MatriksInt; var Nbar, Nkol : integer);
{ Mengisi elemen matriks A[1..Nbar, 1..Nkol] dan elemen matriks B[1..Nbar, 1..Nkol] dari papan ketik }
{ DEKLARASI }
var
i : integer; { Indeks baris }
j : integer; { Indeks kolom }
{ ALGORITMA }
begin
writeln;
writeln ('- Matriks A : ');
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
write ('Ketikkan elemen A[',i,',', j,'] : ');
readln (A[i,j]);
end;
end;
writeln;
writeln ('- Matriks B : ');
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
write ('Ketikkan elemen B[',i,',', j,'] : ');
readln (B[i,j]);
end;
end;
end;
{ Seluruh elemen Matriks A dan B sudah berisi nilai yang dibaca dari papan ketik }
{ PROCEDURE TulisMatriks }
procedure TulisMatriks (var A, B : MatriksInt; var Nbar, Nkol : integer);
{ Mencetak Elemen Matriks A[1..Nbar, 1..Nkol] dan B[1..Nbar, 1..Nkol] ke layar }
{ DEKLARASI }
var
i : integer; { Indeks baris }
j : integer; { Indeks kolom }
{ ALGORITMA }
begin
writeln;
writeln ('- Matriks A :');
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
write (A[i,j],' ');
end;
writeln; { Pindahkan kursor ke awal baris berikutnya }
end;
writeln;
writeln ('- Matriks B :');
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
write (B[i,j],' ');
end;
writeln; { Pindahkan kursor ke awal baris berikutnya }
end;
end;
{ Seluruh elemen Matrisk tertulis di layar. }
{ PROCEDURE JumlahDuaMatriks }
procedure JumlahDuaMatriks (var A, B : MatriksInt; var Nbar, Nkol : integer; var C : MatriksInt);
{ Menjumlahkan matriks A dan B, yaitu A + B = C }
{ DEKLARASI }
var
i : integer; { indeks baris }
j : integer; { indeks kolom }
{ ALGORITMA }
begin
for i := 1 to Nbar do
begin
for j := 1 to Nkol do
begin
C[i, j] := A[i, j] + B[i, j];
write (C[i, j], ' ');
end;
writeln; { Pindahkan kursor ke awal baris berikutnya }
end;
end;
{ Matriks C berisi hasil penjumlahan A dan B }
{ PROGRAM UTAMA }
{ ALGORITMA }
begin
writeln;
writeln ('====================================================');
writeln ('| NAMA : ANGGI ALAMSYAH |');
writeln ('| NIM : 0402221017 |');
writeln ('| PRODI : TEKNIK INFORMATIKA |');
writeln ('| FAKULTAS : ILMU KOMPUTER |');
writeln ('| UNIVERSITAS NAHDLATUL ULAMA |');
writeln ('====================================================');
writeln;
writeln (' PROGRAM MENJUMLAHKAN MATRIKS A + B ');
writeln ('====================================================');
writeln ('');
writeln ('Memasukkan data ukuran matriks : ');
write ('Berapa jumlah baris (1-20) : ');
readln (p);
write ('Berapa jumlah kolom (1-20) : ');
readln (q);
writeln ('.........................................');
BacaMatriks(A, B, p, q); { Memanggil Procedure BacaMatriks }
writeln;
writeln ('Bentuk matriks A dan B : ');
writeln ('.........................................');
TulisMatriks(A, B, p, q); { Memanggil Procedure TulisMatriks }
writeln;
writeln ('Hasil penjumlahan dari Matriks A dan B : ');
writeln ('.........................................');
writeln ('A + B = ');
JumlahDuaMatriks(A, B, p, q, C); { Memanggil Procedure JumlahDuaMatriks }
end.
OUTPUT PROGRAM :
3. BAHASA C :
- Link Bahasa C : https://onlinegdb.com/KT5Ds5g4o
/* PROGRAM Matriks */
/* Menjumlahkan dua buah Matriks dengan meng-inputkan banyaknya baris dan kolom dan meng-input setiap elemen dari
Matriks A dan B sehingga menghasilkan output-an hasil dari Matriks A + B */
#include <stdio.h>
#define Nbaris 20 /* jumlah baris Maksimum */
#define Nkolom 20 /* Jumlah kolom Maksimum */
typedef int MatriksInt [Nbaris][Nkolom];
void BacaMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol);
/* Mengisi elemen matriks A[1..Nbar, 1..Nkol] dan elemen matriks B[1..Nbar, 1..Nkol] dari papan ketik */
void TulisMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol);
/* Mencetak Elemen Matriks A[1..Nbar, 1..Nkol] dan B[1..Nbar, 1..Nkol] ke layar */
void JumlahDuaMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol, MatriksInt C);
/* Menjumlahkan matriks A dan B, yaitu A + B = C */
int main()
{
/* DEKLARASI */
MatriksInt A, B, C;
int Nbar;
int Nkol;
/* ALGORITMA */
printf("\n====================================================");
printf("\n| NAMA : ANGGI ALAMSYAH |");
printf("\n| NIM : 0402221017 |");
printf("\n| PRODI : TEKNIK INFORMATIKA |");
printf("\n| FAKULTAS : ILMU KOMPUTER |");
printf("\n| UNIVERSITAS NAHDLATUL ULAMA |");
printf("\n====================================================");
printf("\n\n");
printf(" PROGRAM MENJUMLAHKAN MATRIKS A + B\n");
printf("====================================================\n\n");
printf("Hello World");
/* PROGRAM UTAMA */
printf("Memasukkan ukuran Matriks : \n");
printf("Berapa jumlah baris? (1-20) : ");
scanf("%d", &Nbar);
printf("Berapa jumlah kolom? (1-20) : ");
scanf("%d", &Nkol);
printf(".........................................\n");
BacaMatriks(A, B, Nbar, Nkol); /* Memanggil Procedure BacaMatriks */
printf("\n");
printf("Bentuk matriks A dan B : \n");
printf(".........................................");
TulisMatriks(A, B, Nbar, Nkol); /* Memanggil Procedure TulisMatriks */
printf("\n");
printf("Hasil penjumlahan dari Matriks A dan B : \n");
printf(".........................................\n");
printf("A + B = \n");
JumlahDuaMatriks(A, B, Nbar, Nkol, C); /* Memanggil Procedure JumlahDuaMatriks */
return 0;
}
/* Procedure BacaMatriks */
void BacaMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol) {
/* Mengisi elemen matriks A[1..Nbar, 1..Nkol] dan elemen matriks B[1..Nbar, 1..Nkol] dari papan ketik */
/* DEKLARASI */
int i; /* Indeks Baris */
int j; /* Indeks Kolom */
/* ALGORITMA */
printf("\n");
printf("- Matriks A : \n");
for (i = 1; i <= Nbar; i++)
{
for (j = 1; j<=Nkol; j++)
{
printf ("Ketikkan Elemen A [%d][%d] : ", i, j);
scanf ("%d", &A[i][j]);
}
}
printf("\n");
printf("- Matriks B : \n");
for (i = 1; i <= Nbar; i++)
{
for (j = 1; j<=Nkol; j++)
{
printf ("Ketikkan Elemen B [%d][%d] : ", i, j);
scanf ("%d", &B[i][j]);
}
}
}
/* Seluruh elemen Matriks A dan B sudah berisi nilai yang dibaca dari papan ketik */
/* Procedure TulisMatriks */
void TulisMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol) {
/* Mencetak Elemen Matriks A[1..Nbar, 1..Nkol] dan B[1..Nbar, 1..Nkol] ke layar */
/* DEKLARASI */
int i; /* Indeks baris */
int j; /* Indeks kolom */
/* ALGORITMA */
printf("\n");
printf("- Matriks A : \n");
for (i=1; i<=Nbar; i++)
{
for (j=1; j<= Nkol; j++)
{
printf("%d ",A[i][j]);
}
printf("\n"); /* Pindahkan kursor ke awal baris berikutnya */
}
printf("\n");
printf("- Matriks B : \n");
for (i=1; i<=Nbar; i++)
{
for (j=1; j<= Nkol; j++)
{
printf("%d ",B[i][j]);
}
printf("\n"); /* Pindahkan kursor ke awal baris berikutnya */
}
}
/* Seluruh elemen Matrisk tertulis di layar. */
/* Procedure JumlahDuaMatriks */
void JumlahDuaMatriks(MatriksInt A, MatriksInt B, int Nbar, int Nkol, MatriksInt C) {
/* Menjumlahkan matriks A dan B, yaitu A + B = C */
/* DEKLARASI */
int i; /* Indeks baris */
int j; /* Indeks kolomn */
/* ALGORITMA */
for (i=1; i<=Nbar; i++)
{
for (j=1; j<=Nkol; j++)
{
C[i][j] = A[i][j] + B[i][j];
printf("%d ", C[i][j]);
}
printf("\n"); /* Pindahkan kursor ke awal baris berikutnya */
}
}
/* Matriks C berisi hasil penjumlahan A dan B */
OUTPUT PROGRAM :
4. BAHASA JAVA
- Link Bahasa Java : https://onlinegdb.com/ZxvgVLFTc
// PROGRAM Matriks //
/* Menjumlahkan dua buah Matriks dengan meng-inputkan banyaknya baris dan kolom dan meng-input setiap elemen dari
Matriks A dan B sehingga menghasilkan output-an hasil dari Matriks A + B */
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
// DEKLARASI
int [][] A, B, C;
int Nbar, Nkol;
// PROGRAM UTAMA
System.out.println();
System.out.println("===================================================");
System.out.println("| NAMA : ANGGI ALAMSYAH |");
System.out.println("| NIM : 0402221017 |");
System.out.println("| PRODI : TEKNIK INFORMATIKA |");
System.out.println("| FAKULTAS : ILMU KOMPUTER |");
System.out.println("| UNIVERSITAS NAHDLATUL ULAMA |");
System.out.println("===================================================");
System.out.println();
System.out.println(" PROGRAM MENJUMLAHKAN MATRIKS A + B");
System.out.println("===================================================");
// ALGORITMA
System.out.println();
System.out.println("Memasukkan ukuran Matriks : ");
System.out.print("Berapa jumlah baris? (1-20) : ");
Nbar = input.nextInt();
System.out.print("Berapa jumlah kolom? (1-20) : ");
Nkol = input.nextInt();
System.out.println(".........................................");
A = new int[Nbar][Nkol];
B = new int[Nbar][Nkol];
C = new int[Nbar][Nkol];
BacaMatriks(A, B, Nbar, Nkol, input); // Memanggil Procedure BacaMatriks
System.out.println("");
System.out.println("Bentuk matriks A dan B : ");
System.out.println(".........................................");
TulisMatriks(A, B, Nbar, Nkol); //Memanggil Procedure TulisMatriks
System.out.println("");
System.out.println("Hasil penjumlahan dari Matriks A dan B : ");
System.out.println(".........................................");
System.out.println("A + B = ");
JumlahDuaMatriks(A, B, C, Nbar, Nkol); // Memanggil Procedure JumlahDuaMatriks
}
// Procedure BacaMatriks
public static void BacaMatriks(int[][] A, int[][] B, int Nbar, int Nkol, Scanner input) {
// Mengisi elemen matriks A[1..Nbar, 1..Nkol] dan elemen matriks B[1..Nbar, 1..Nkol] dari papan ketik.
// DEKLARASI
int i; // Indeks Baris
int j; // Indeks Kolom
// ALGORITMA
System.out.println("");
System.out.println("- Matriks A : ");
for (i = 0; i <Nbar; i++)
{
for (j = 0; j<Nkol; j++)
{
System.out.print("Ketikkan Elemen A ["+(i+1)+"]["+(j+1)+"] : ");
A[i][j] = input.nextInt();
}
}
System.out.println("");
System.out.println("- Matriks B : ");
for (i = 0; i <Nbar; i++)
{
for (j = 0; j<Nkol; j++)
{
System.out.print("Ketikkan Elemen B ["+(i+1)+"]["+(j+1)+"] : ");
B[i][j] = input.nextInt();
}
}
}
// Procedure TulisMatriks
public static void TulisMatriks(int[][] A, int[][] B, int Nbar, int Nkol) {
// Mencetak Elemen Matriks A[1..Nbar, 1..Nkol] dan B[1..Nbar, 1..Nkol] ke layar
// DEKLARASI
// Tidak ada
// ALGORITMA
System.out.println("");
System.out.println("- Matriks A : ");
for (int i = 0; i < Nbar; i++)
{
for (int j = 0; j < Nkol; j++)
{
System.out.print(A[i][j] + " ");
}
System.out.println();
}
System.out.println("");
System.out.println("- Matriks B : ");
for (int i = 0; i < Nbar; i++)
{
for (int j = 0; j < Nkol; j++)
{
System.out.print(B[i][j] + " ");
}
System.out.println();
}
}
// Seluruh elemen Matrisk tertulis di layar.
// Procedure JumlahDuaMatriks
public static void JumlahDuaMatriks(int[][] A, int[][] B, int[][] C, int Nbar, int Nkol) {
/* Menjumlahkan dua matriks A dan B menjadi matriks C */
// DEKLARASI
// Tidak ada
// ALGORITMA
for (int i = 0; i < Nbar; i++)
{
for (int j = 0; j < Nkol; j++)
{
C[i][j] = A[i][j] + B[i][j];
System.out.print(C[i][j]+" ");
}
System.out.println("");
}
}
// Matriks C berisi hasil penjumlahan A dan B
}
No comments:
Post a Comment