Anda di halaman 1dari 4

Nama : Muhammad Zulkarnain Lubis

NIM : 2117000021
Matkul : Analisi Algoritma
Dosen : Dr. Wanayumini, S. Kom, M. Kom

1. Tuliskan dan jelaskan konsep dasar, fungsi beserta contoh dari


Algoritma

a. Conditional foundational
Komputasi merupakan cara untuk menemukan pemecahan
permasalahan dari data input dengan menggunakan algoritma.
Ilmu Komputasi adalah bidang ilmu yang mempunyai perhatian
pada penyusunan model matematika dan teknik penyelesaian
numerik serta penggunaan komputer untuk menganalisa dan
memecahkan masalah-masalah ilmu (sains). Penerapan simulasi
komputer atau berbagai bentuk komputasi lainnya untuk
menyelesaikan masalah-masalah dalam berbagai bidang
keilmuan, tetapi dalam perkembangannya digunakan juga untuk
menemukan prinsip-prinsip baru yang mendasar dalam ilmu.

b. Tree
Tree merupakan salah satu bentuk struktur data tidak linear
yang menggambarkan hubungan yang bersifat hirarkis
(hubungan one to many) antara elemen-elemen. Tree bisa
didefinisikan sebagai kumpulan simpul/node dengan satu elemen
khusus yang disebut Root. Dan node lainnya terbagi menjadi
himpunan-himpunan yang saling tak berhubungan satu sama
lainnya (disebut subtree).
Fungsi algoritma tree adalah kemampuannya untuk mem-break
down proses pengambilan keputusan yang kompleks menjadi
lebih simple, sehingga pengambil keputusan akan lebih
menginterpretasikan solusi dari permasalahan.
c. Permutasi dan kombinasi
Permutasi adalah penyusunan kembali suatu kumpulan
objek dalam urutan yang berbeda dari urutan yang
semula. Jika terdapat suatu untai abjad abcd,
maka untai itu dapat dituliskan kembali dengan urutan
yang berbeda: acbd, dacb, dan seterusnya. Selengkapnya
ada 24 cara menuliskan keempat huruf tersebut dalam
urutan yang berbeda satu sama lain. abcd abdc acbd acdb
adbc adcb bacd badc bcad bcda bdac bdca cabd cadb cbad
cbda cdab cdba dabc dacb dbac dbca dcab dcba
Kombinasi adalah pemilihan objek tanpa memperhatikan
urutannya.
Kombinasi berbeda dengan permutasi yang
mementingkan urutan objek. Sebagai contoh, misalkan
terdapat suatu kumpulan buah: apel, jeruk, mangga,
pisang. Maka {apel, jeruk} dan {jeruk, mangga, pisang}
adalah merupakan kombinasi dari kumpulan tersebut.
Manfaat Lainnya Permutasi dan Kombinasi dalam ilmu
komputer yaitu :
1. Permutasi dan kombinasi dapat mencari persamaan
logika yang rasional yang dapat di terjemahkan ke
dalam komputer melalui bahasa pemrograman.

2. Komputer dapat melakukan perhitungan logika


rasional sistematis secara cepat dan tepat.
Keterbatasan komputer dapat diatasi dengan logika
matematis, sedangkan persoalan matematis dapat di
komputerisasikan layaknya menghitung banyaknya
pasir dalam timbangan. Permutasi dan kombinasi
merupakan cabang dari Matematika diskrit yang
merupakan dasar untuk bidang ilmu komputer atau
informatika.
3 Penggunaan Permutasi di bidang Enkripsi (Computer
Security)

Contoh :
Misalkan, ada situasi di mana Anda harus mencari tahu
jumlah kemungkinan sampel dua dari tiga objek A, B,
C. Dalam pertanyaan ini, pertama-tama, Anda perlu
memahami, apakah pertanyaan itu terkait dengan
permutasi atau kombinasi dan satu-satunya cara untuk
mengetahuinya adalah dengan memeriksa apakah
urutannya penting atau tidak.
Jika ordonya signifikan, maka pertanyaannya berkaitan
dengan permutasi, dan kemungkinan sampelnya adalah,
AB, BA, BC, CB, AC, CA. Dimana, AB berbeda dari
BA, BC berbeda dari CB dan AC berbeda CA.

Jika urutannya tidak relevan, maka pertanyaannya


terkait dengan kombinasi, dan kemungkinan sampelnya
adalah AB, BC dan CA.

2. Tuliskan dan uraikan langkah-langkah yang terdapat pada


masing-masing Algoritma tersebut..

a. Conditional foundation
Menurut Donald E. Knuth, dari pengertian algoritma diatas
dapat diketahui bahwa sebuah algoritma yang baik yaitu
algoritma yang mempunyai kriteria sebagai berikut :
1.Masukan (Input)Algoritma mempunyai input 0 (nol) atau lebih
2.Keluaran (Output)Algoritma harus menghasilkan atau
mengeluarkan minimal 1 output.
3.Terbatas (Finite)Algoritma harus berhenti setelah melakukan
langkah-langkah yang diperlukan.
4.Pasti (Definite)Algoritma harus jelas kapan dimulai dan
berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-
langkah harus dijelaskan dengan jelas.
5.EfisienMembuat sebuah algoritma haruslah efisien.
Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini
karena bilangan apapun itu jika ditambah dengan nol maka
hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah
seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma.

b. Tree
Langkah-langkah Pembentukan Binary Tree:
1. Siapkan node baru
- alokasikan memorinya
- masukkan infonya
- set pointer kiri & kanan = NULL
2. Sisipkan pada posisi yang tepat
- penelusuran ; utk menentukan posisi yang tepat; info
yang nilainya lebih besar dari parent akan ditelusuri di
sebelah kanan, yang lebih kecil dari parent akan
ditelusuri di sebelah kiri
- penempatan ; info yang nilainya lebih dari parent akan
ditempatkan di sebelah kanan, yang lebih kecil di sebelah
kiri

c. Permutasi dan kombinasi

3. Lakukan analisis dari segi waktu dan kapasitas memori yang


diperlukan dari algoritma yang terdapat pada soal no.1 ?
Dari analisis ketiga algoritma tersebut, saya berkesimpulan
dalam penggunaan dari segi waktu dan kapasitas memori, lebih
efesien dalam penggunaan algoritma tree. Dikarenakan lebih
mudah dipahami dan lebih cepat dalam perhitungan.

Anda mungkin juga menyukai