Sunday, June 18, 2023

PROGRAM MATRIKS MENGGUNAKAN NOTASI PSEUDOCODE DAN BAHASA PEMROGRAMAN PASCAL, C DAN JAVA

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

}

OUTPUT PROGRAM : 

















 

 

 

 

 

 

 

 


Sunday, May 17, 2020

Kisah Millena II : Perang Southonorth


Gambar 01 : Ratu Ellena dan Raja Jhonson menikah


  Setelah beberapa tahun Jhonson dan Ellena bersama di kerajaan Southhellington, akhirnya mereka pun menikah. Mereka juga mengetahui apa yang terjadi dengan kerajaan Northeastern dan orang tuanya. Anehnya setiap prajurit yang Ellena perintahkan untuk menculik orangtuanya tidak bisa kembali lagi. Karena saking meriahnya pernikahan keduanya berita ini pun sampai terdengar ke kerajaan Northeastern. Millena pun mendengar pernikahan mereka dari para pelayan. Setelah beberapa tahun Millena  berlatih sihir dengan penyihir jahat Scaryna di hutan kegelapan agar ia mendapatkan kekuatan. Dia menginginkan kekuatan yang lebih dahsyat agar dapat membalaskan dendam nya terhadap Ellena dan Jhonson. Penyihir pun memberikan kekuatan yang lebih hebat dari sebelumnya kepada Millena, Scaryna memberikan sebuah seruling sihir tetapi dengan syarat jika ia ingin kekuatan ini, maka ia harus membunuh kedua orang tuanya untuk diambil jantungnya dan rela menjadikan penduduk kerajaan Northeastern menjadi Pasukan kegelapan. Karena dibutakan oleh rasa cinta yang menjadi kebencian, dia pun rela mengorbankan kedua orangtuanya.


Gambar 02 : Penyihir Scaryna yang kejam

   Atas kemauan Millena Scaryna pun mengubah seluruh pasukan kerajaan Northeastern menjadi Pasukan kegelapan. Millena menemui kedua orangtuanya tanpa pikir panjang Millena langsung menghunuskan seruling sihir miliknya ke dada Raja Wilson untuk mengambil jantungnya. Raja Wilson pun mati seketika, beruntungnya sang Ratu Emma tidak langsung dibunuh olehnya tetapi Millena menyihir Ratu Emma, ibunya sendiri agar menyampaikan pesan darinya dan mengutuknya supaya tanpa henti berjalan ke kerajaan Southhellington. 

   Setelah beberapa hari pembantaian anggota kerajaan oleh Millena, Ratu Emma pun sampai dikerajaan Southhellington. Dengan kondisi lemah karena berjalan dari kerajaan Northeastern ke kerajaan Southhellington tanpa henti. Ratu Emma pun menyampaikan pesan dari Millena kepada Ellena dan Jhonson. Tak lama setelah Ratu Emma menyampaikan pesannya kejadian tak terduga pun terjadi, tiba-tiba tubuh Ratu Emma bergetar seketika tubuhnya meledak seperti bom sampai-sampai organ dalam tubuhnya keluar berhamburan sampai tak tersisa sedikitpun. Melihat ibunya seperti itu Ellena sangat bersedih dan menyesal karena merasa ini semua salahnya tapi Jhonson pun menyemangati Ellena dengan mengatakan bahwa ini bukanlah salahnya melainkan ini adalah takdir yang harus diterima Ellena. Kejadian itu pun menjadi sejarah tersadis bagi Southhellington. Setelah kejadian itu, para prajurit pasukan Southhellington diperintahkan oleh Ellena untuk memperketat penjagaan. 

  Hari demi hari berlalu, sampai Millena mengirimkan surat kepada Ellena untuk berperang melalui pengawal Millena. Ellena kebingungan apakah dia harus berperang melawan saudarinya sendiri atau tidak, tapi jika dia tidak melawan Millena kerajaanya akan hancur. Ellena dengan berat hati menerima tawaran perang tersebut. Raja Harry pun memberi tahu Ellena jika ia mempunyai sebuah pisau belati warisan nenek moyang yang digunakan untuk mengalahkan sihir kegelapan tetapi hanya dapat digunakan sekali saja. Apabila mereka gagal maka mereka tidak dapat menghentikan Millema. Lalu sampilah kembali surat tersebut kepada Millena dan dia pun tertawa dengan tawa jahatnya karena menganggap ini hanya lelucon. Millena sangat bersemangat untuk mengahadapi Ellena karena dia telah mempersiapkan pasukan kegelapan dari jauh jauh hari, walaupun jumlahnya sedikit tetapi dengan ditemani Penyihir Scaryna dan pasukan kegelapan mudah bagi Millena untuk mengalahkan pasukan Ellena. 


Gambar 03 : Perang Southonorth

   Hari dimana dilaksanakannnya perang pun tiba. Dari arah Selatan pasukan yang dipimpin oleh Jhonson dan Ellena pun tiba dan di arah Utara pasukan kegelapan yang yang dipimpin oleh Millena sudah menunggu. Dalam hitungan detik perang pun dimulai, dengan banyaknya jumlah pasukan Ellena bukan menjadi masalah bagi pasukan kegelapan karena dengan kekuatan sihir Millena dan Scaryna, mereka dapat dengan mudah menumbangkan satu persatu pasukan Ellena. Perang yang sangat dahsyat pun terjadi. Perang berlangsung sangat sengit antara dua kerajaan terbesar didunia yaitu Northeastern dan Southhellington. Setelah beberapa jam peperangan berlangsung, pasukan Ellena pun hanya tersisa sedikit karena itulah Ellena dan Jhonson serta Raja Harry maju digaris terdepan. Millena tak menduga jika Pasukan kegelapan akan kesulitan melawan pasukan Ellena. Karena dahsyatnya perang ini, mereka pun menamainya perang Southonorth.

   Para pemimpin perang pun maju dan saling melawan. Millena berperang melawan Jhonson dan Ellena sedangkan Raja Harry berperang melawan Scaryna. Mereka pun saling adu kekuatan, karena kelelahan hunusan pedang yang dilontarkan oleh Scaryna pun mengenai Raja Harry. Raja Harry pun tak berdaya karena terhunus pedang Scaryna, Ellena dan Jhonson pun mundur ketika melawan Millena dan langsung menghampiri Raja Harry. Kesedihan menimpa Ellena karena orang yang ia sayangi meninggalkannya satu-persatu, dikata-kata terakhirnya Raja Harry memberikan sebuah pisau belati tersebut dan berpesan kepada Ellena dan Jhonson agar menusukkannya tepat di jantung Scaryna agar semua sihirnya musnah.


Gambar 04 : Tertusuknya Raja Harry

   Dengan kematiannya Raja Harry Ellena bersumpah bahwa ia akan membunuh Scaryna dan mengirimnya langsung ke neraka. Dengan langkah pasti Ellena menghampiri Millena dan berjanji bahwa ia akan mengembalikan Millena kembali seperti dulu. Ketika Ellena sedang berjanji, Millena pun mencoba menusuk Ellena tetapi dengan sigap Jhonson langsung menangkis serangan Millena. Scaryna mengeluarkan tongkatnya dan mencoba menusukkannya kepada Ellena, tiba-tiba terdengar suara tusukan tongkat Scaryna mengenai seseorang. Tongkat sihir yang Scaryna keluarkan ternyata menusuk dan mengenai bagian belakang tubuh Millena. Alangkah terkejutnya Ellena ketika saudarinya dan salah satu orang orang yang ia sayangi terbunuh didepan matanya sendiri. Seketika tubuh Millena yang tertusuk dilempar oleh Scaryna dengan jarak sangat jauh. Ellena pun berteriak dan ia sangat terpukul atas apa yang telah dilakukan Scaryna. Ellena hanya bisa menangis dan terduduk lemas. Jhonson mencoba menghabisi Scaryna, ia terus melawan agar Scaryna terbunuh. Melihat Jhonson kelelahan dan  tak berdaya. Ellena bangkit dari tangisnya dan melawan Scaryna, Jhonson yang telah tak berdaya terikat oleh ranting-ranting pohon yang telah Scaryna sihir. Ketika petarungan atara Ellena dan Scaryna berlangsung, Ellena sangat kelelahan dan inilah kesempatan Scaryna untuk membunuhnya agar dapat mengambil jantungnya. Ketika Ellena menghela nafas karena kelelahan, Scaryna langsung menghampirinya dan mencekik Ellena. Jhonson pun mencoba melepaskan  jeratannya dan berteriak agar Scaryna melepaskan Ellena. Scaryna tak menghiraukannya, Ellena terus berusaha agar bisa terlepas dari cekikan nya. Sampai akhirnya Ellena pun lama kelamaan mulai lemas. Scaryna tertawa dengan tawa jahatnya dan bangga akan dirinya karena berhasil menaklukkan dua kerajaan terbesar didunia. Lalu tawa Scaryna terhenti dan tanpa ia sadari bahwa Ellena menusukan belati tersebut tepat dijantungnya. Ternyata Ellena berhasil mengelabui Scaryna dan seketika jasad pasukan kegelapan terurai terbawa angin, Scaryna pun hancur bersama bala pasukannya. Setelah sihir Scaryna lenyap Ellena dan Jhonson pun mencari jasad Millena sayangnya mereka tidak menemukannya, mungkin jasadnya telah hancur/termakan oleh gagak yang kelaparan.


Gambar 05 : Pemakaman Raja Harry

   Akhirnya setelah perang Southonorth yang dasyat selesai Ellena dan Jhonson beserta beberapa pasukan perang yang selamat kembali ke kerajaan. Ellena dan Jhonson pun mengadakan upacara pemakaman untuk menghormati perginya Raja Harry dan Ratu Millena beserta para pasukan yang telah berjuang mati-matian melawan kejahatan. Setelah kejadian kelam tersebut Ellena pun mengandung. Ellena dan Jhonson pun hidup bahagia dikerajaan yang makmur.

Gambar 06 : Millena yang tengah berada dihutan kegelapan

   Selang beberapa hari setelah berakhirnya perang besar tersebut, nampak seorang perempuan bergaun hitam sedang memainkan seruling dihutan kegelapan.

PENGORBANAN UNTUK IBLIS

Gambar 01 : mereka sedang mencari tempat berkemah

   Cerita ini dimulai ketika para remaja pergi berkemah ke hutan Robinson, Illionis . Untuk menghabiskan waktu liburnya. Mereka pergi ber-enam yaitu Mike, Jacob, Elly, Samuel, Celeste dan Olivia. Mereka ber-enam pun berkemah dihutan Robinson. Samuel sangat bahagia karena dia dapat berlibur bersama teman-temannya sekaligus merayakan ulang tahun kekasihnya Celeste. Merekapun menyanyikan lagu selamat ulang tahun sampai pada saat Celeste mengucapkan harapannya. Anehnya Celeste bukannya mengucapkan harapan yang indah tetapi dia berdoa agar rasa penasarannya tentang hantu dan iblis menjadi kenyataan. Elly dan Samuel pun tertawa karena mereka sama sekali tak percaya akan hal itu. Tetapi Jacob dan Mike sangat menghawatirkan apa yang diucapkan Celeste. Olivia sangatlah ketakutan karena dia penakut. Akhirnya malam yang gelap gulita pun tiba dan mereka tertidur lelap.


Gambar 02 : tempat berkemah mereka

   Pada malam itu Elly dan Olivia mendengar suara jeritan yang sangat keras terdengar dari arah luar. Mereka berdua sangat ketakutan dan mencoba membangunkan Celeste. Sayangnya Celeste sangat kelelahan dan tidak bangun sama sekali. Mereka pun keluar, Elly membawa obor dan Celeste dibelakangnya. Tiba-tiba terdengar suara orang bernyanyi dari semak-semak. Mereka pun melihatnya dari belakang semak. Dan ternyata yang sedang bernyanyi tersebut adalah Celeste. Olivia pun lega karena itu bukanlah hantu atau semacamnya. Elly pun menemani Celeste dan Olivia kembali ke tenda. Anehnya Celeste sedang tertidur lalu yang dilihat Olivia dan sedang bersama Celeste itu siapa. Lalu Elly pun menjerit sampai membangunkan Mike, Jacob, Samuel dan Celeste. Mereka pun mendatangi tempat tersebut dan Elly pun hilang. Olivia sangat ketakutan dan sedih karena ini salahnya telah meninggalkan Elly sendirian. Mike pun menyalahkan Celeste karena harapannya tersebut yang menyebabkan semua ini terjadi. Samuel membela Celeste karena merasa itu bukannya salah Celeste dan mana mungkin harapan bodoh tersebut menjadi kenyataan. Jacob mencoba menenangkan Olivia yang ketakutan. 


Gambar 03 : pencarian Elly

    Mereka pun mencari Elly tapi setelah mereka mencari ternyata Elly sama sekali tidak ada didaerah itu. Olivia menelpon Tim SAR sayangnya tak ada jawaban lalu Olivia mengirimkan pesan darurat dengan harapan Tim SAR akan menolong mereka. Kemudian Jacob menemukan tulisan darah dipohon besar yang bertuliskan " Mari mulai permainan ini, satu dari kalian telah dikorbankan". Mereka ketakutan dan bergegas meninggalkan tempat itu. Sampai pada saat pagi tiba mereka berbenah dan pulang. ketika diperjalanan pulang Celeste meminta agar Olivia menemaninya buang air kecil. Mereka berdua pergi ke semak-semak dan suara jeritan itu pun datang kembali. Seketika ada suara aneh dan tanpa disadari Celeste mendorong Olivia ke jurang. Dan ia pun kembali sambil menangis dan meminta maaf kepada Mike, Jacob dan Samuel karena dia tidak sengaja mendorong Olivia dan terpengaruh oleh suara itu.

   Malam pun tiba mereka istirahat dan tidur dihutan itu. Samuel mendengar suara jeritan dan melihat jika Celeste tidak ada didekatnya. Dia pun mencari Celeste dan akhirnya menemukannya. Tetapi Celeste nampak sangat menyeramkan nampak dari kejauhan. Samuel pun kaget karena melihat satu wanita yang telah membusuk dan Olivia sedang diikat oleh Celeste yang sedang membacakan mantera aneh. Celeste melihat Samuel sedang ketakutan dan menghampirinya. Lalu Celeste mengejarnya dan Samuel pun berteriak. Jacob dan Mike menghampirinya dan menenangkan Samuel. Lalu Celeste datang menghampiri mereka dan berkata jika sebenarnya ini semua rencananya dan dia bersekutu dengan iblis, dia sedang memenuhi syarat tersebut untuk mengorbankan lima orang agar dirinya dapat menjadi terkenal dan kaya raya. Samuel sangat tidak mempercayainya, dia pun berkata kenapa kamu lakukan ini? Aku ingin abadi dan terkenal, aku yang membunuh Elly dengan  bantuan iblisku dan aku juga yang mendorong Olivia dengan sengaja jawab Celeste. Lalu Celeste mengambil pisau dan menusukkannya ke Samuel. Seketika Samuel tergeletak bercucuran darah.

   Mike mengalihkan perhatian Celeste sedangkan Jacob menghancurkan semua persembahan Celeste. Celeste sangat marah dan mencekik Mike, tak disangka Celeste seorang wanita riang bisa menjadi wanita yang kuat dan menyeramkan karena bersekutu dengan iblis. Jacob bersembunyi di semak-semak. Mike pun diikat oleh Celeste untuk dijadikan tumbal selanjutnya. Jacob keluar dari semak-semak dan menusuk Celeste dari belakang, sayangnya itu semua tiada artinya karena Celeste telah kebal akan senjata. Jacob pun dilempar oleh Celeste sampai membentur batu besar. Jacob pingsan dan Celeste pun mengikatnya. Mike mencoba melepaskan ikatan tetapi itu sia-sia karena ikatannya sangat kuat. Seketika Jacob pun tersadar dan memukul Celeste. Jacob melepaskan ikatan Mike dan mencoba mengatur strategi. Celeste membawa pisau dan mencoba menusukkannya ke Adam sayangnya Celeste meleset dan dengan batu besar Jacob melemparnya ke Celeste.

   Jacob dan Mike pun membakar Celeste dengan obor. Karena dengan cara itulah satu-satunya agar mereka berdua dapat selamat dari Celeste. Celeste pun sekarat dan Mike pun mendorong Celeste ke jurang. Dan keesokan harinya Tim SAR menolong Jacob dan Mike dari peristiwa mengerikan tersebut. Sayangnya Samuel dan Olivia tidak dapat diselamatkan karena kehilangan banyak darah sedangkan Elly sudah tidak dikenali wajahnya karena telah diguliti oleh Celeste. Pemberitaan tentang mereka pun ramai dibicarakan dan kejadian ini merupakan peristiwa yang paling mengerikan bagi Mike dan Jacob.

PROGRAM MATRIKS MENGGUNAKAN NOTASI PSEUDOCODE DAN BAHASA PEMROGRAMAN PASCAL, C DAN JAVA

SOAL         :  Praktekkan pada buku Algoritma dan Pemrograman halaman 418 s/d 423, buat notasi algoritma pseudo code, pascal, C dan Java. S...