Anda di halaman 1dari 9

Nama Assigment : UAS Algoritma <E>

Nama : Kadek Dwi Rismawati

NIM : 2005551021

Mata Kuliah : Algoritma E

Dosen Pengampu : I Made Sunia Raharja, S.Kom.,M.Cs.

Ujian Akhir Semester


Jawaban :

1. a. Definisi-Definisi Algoritma :
A. Secara umum, pengertian algoritma adalah suatu urutan dari beberapa langkah logis
dan sistematis yang digunakan untuk menyelesaikan masalah tertentu. Bisa dikatakan
Algoritma digunakan sebagai rancangan awal dari sebuah program,
B. Algoritma adalah urutan Langkah-langkah untuk memecahkan masalah atau
matematika
I. Algoritma string matching
Merupakan algoritma yang digunakan untuk melakukan pencarian semua
kemunculan string pendek dan Panjang, untuk string pendek disebut pattern
dan string Panjang disebut teks. Contoh : algoritma brute force
II. Algoritma Graph
Merupakan algoritma yang sering digunakan untuk pemodelan aplikasi
seperti perjalanan transportasi, dll. Graph terbentuk dari kumpulan node dan
edges serta dihubungkan oleh segmen garis.
III. Algoritma searching
Merupakan algoritma yang menerima sebuah kata kunci atau keyword
dengan Langkah-langkah tertentu akan mencari rekaman dengan kata kunci
tersebut lalu di proses dan akan di peroleh salah satu dari dua kemungkinan
yakni data yang dicari ditemukan atau tidak ditemukan.
IV. Combinatorial problems
Merupakan algoritma yang menganalisis permasalahan secara matematis
yakni Menyusun, mengelompokan, mengurutkan atau memilih sejumlah
objek diskrit tertentu.

b. Contoh Algoritma :
 Mengirim surat ke tempat lain, maka diperlukan Langkah-langkah agar surat
tersebut bisa sampai ke tempat tujuan.
 Menulis surat
 Surat dimasukkan ke dalam amplop
 Amplop di tempeli perangko
 Pergi ke kantor pos untuk mengirimkan surat
 Surat sampai ditempat tujuan
 Mengupas kentang untuk makan malam
 Mengambil kantong kentang dari rak
 Mengambil panic dari almari
 Mengupas kentang
 Mengembalikan kantong kentang ke dalam rak
Contoh kasus yang bisa diselesaikan dengan algoritma :
 Kompresi data dengan menggunakan algoritma Kode Huffman
2. Abstraksi adalah deskripsi dari suatu masalah pada level generalisasi tertentu, sehingga
memungkinkan kita berkonsentrasi pada aspek kunci dari masalah tersebut tanpa
memperhatikan hal-hal detail, Abstaksi melibatkan pengidentifikasian kelas-kelas dari
suatu objek, sehingga memungkinkan kita menggroupkannya, dengan cara tersebut kita
bekerja sedikit parameter/variable dari kelas-kelas yang ditinjau.
Contoh :
 Monitoring : berbagai macam monitoring
 Ban sepeda : sepeda balap, sepeda gunung
 Mobil : sedan, jeep, truk, dll

3. Algoritma :

Input (Nilai = 0)
Input (pointer = 1)
Input (N = jumlah karyawan)
While (pointer <+ N) do
a. Nilai = nilai + gaji
b. Next pointer
Output (Nilai)

Source code :

#include <stdio.h>

int main (){


int gaji;
int nilai = 0;

do
{
printf ("------------------\n");
printf ("Masukan gaji :");
scanf ("%d", &gaji);
if (gaji > 0)
{
nilai = nilai+gaji;
}
}
while (gaji != 0);
printf ("\n=================\n");
printf ("Hasil Seluruh Nilai Adalah = %d\n", nilai);
return 0;
}

Flowchart :

4. Pseudocode :
Start
Deklarasi Var integer nilai, a, n;
Var integer gaji_karyawan[n];

Input n (jumlah karyawan);


Input gaji_supervisor;

nilai = 0;
For a=1 to n
Input gaji _[a];
If (gaji_karyawan[a]> gaji_supervisor)
nilai = nilai + gaji_karyawan[a];
Printf nilai;
End

Flowchart :

Perbedaan struktur dari no 3 dan no 4 adalah, pada no 4 ditambah variable gaji_supervisor yang
nantinya akan muncul pada kondisi apakah gaji_karyawan lebih besar daripada gaji_supervisor.

5. Rekursi merupakan suatu proses dengan salah satu Langkah dalam prosedur tersebut
menjalankan prosedur itu sendiri. Prosedur yang melakukan rekursi disebut rekursif.

Pseudocode :

SUBRUTIN faktorial (n)


JIKA n = 0 ATAU 1 MAKA
NILAI-BALIK 1
SEBALIKNYA
NILAI-BALIK n x faktorial (n-1)
AKHIR-JIKA
AKHIR-SUBRUTIN

6. A. Source code Penjumlahan Matriks :


#include <stdio.h> // library yang digunakan

int main(){
int i, j, m, n, matriks1[10][10], matriks2[10][10], hasil[10][10]; // Mendeklarasikan Variable
dengan variable matriks 1 [10][10] dan matriks2 [10][10]

printf("Masukkan jumlah baris matriks: ");


scanf("%d", &m);
printf("Masukkan jumlah kolom matriks: ");
scanf("%d", &n);

printf("Masukkan elemen matrix pertama: \n");


for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &matriks1[i][j]);
}
}

printf("Masukkan elemen matrix kedua: \n");


for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &matriks2[i][j]);
}
}

printf("hasil penjumlahan matrix: \n");


for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
hasil[i][j] = matriks1[i][j] + matriks2[i][j];
printf("%d \t", hasil[i][j]);
}
printf("\n");
}
return 0;
}

Jumlah baris matriks yang digunakan adalah = 2


Jumlah kolom matriks yang digunakan adalah = 2
Input nilai matriks pertama adalah : 12, 9, 10, 25
Input nilai matriks kedua adalah : 10, 17, 22, dan 18
Sehingga didapatkan nilai :
22 26
32 43
Untuk lebih jelasnya dapat dilihat pada gambar dibawah :

B. Souce Code Perkalian matriks :

#include <stdio.h>
int main() {
int matriks1[10][10], matriks2[10][10], hasil[10][10];
int i, j, k, m, n, p, q, jumlah = 0;
printf("Masukkan jumlah baris matriks pertama: ");
scanf("%d",&m);
printf("Masukkan jumlah kolom matriks pertama: ");
scanf("%d",&n);
printf("Masukkan jumlah baris matriks kedua: ");
scanf("%d",&p);
printf("Masukkan jumlah kolom matriks kedua: ");
scanf("%d",&q);
if(n != p){
printf("Matriks tidak dapat dikalikan satu sama lain.\n");
} else {
printf("Masukkan elemen matriks pertama: \n");
for(i = 0; i < m; i++){
for(j = 0; j < n; j++){
scanf("%d", &matriks1[i][j]);
}
}
printf("Masukkan elemen matriks kedua: \n");
for(i = 0; i < p; i++){
for(j = 0; j < q; j++){
scanf("%d", &matriks2[i][j]);
}
}
for(i = 0; i < m; i++){
for(j = 0; j < q; j++){
for(k = 0; k < p; k++){
jumlah = jumlah + matriks1[i][k] * matriks2[k][j];
}
hasil[i][j] = jumlah;
jumlah = 0;
}
}
printf("Hasil perkalian matriks: \n");
for(i = 0; i < m; i++){
for(j = 0; j < n; j++){
printf("%d\t", hasil[i][j]);
}
printf("\n");
}
}

return 0;
}

Jumlah baris yang digunakan pada matriks 1 dan 2 adalah = 2


Jumlah kolom yang digunakan pada matriks 1 dan 2 adalah = 2
Elemen yang digunakan pada matriks pertama adalah : 10,2,30,55
Elemen yang digunakan pada matriks kedua adalah : 44,76,12, dan 10
Sehingga menghasilkan :
44 780
720 2830

Anda mungkin juga menyukai