Anda di halaman 1dari 9

MAKALAH

ANALISIS DAN PERANCANGAN ALGORITMA REKURSIF


UNTUK PERMASALAHAN PENYEBARAN VIRUS PADA
JARINGAN SOSIAL

Disusun untuk memenuhi tugas :

Mata Kuliah : Desain dan Analisis Algoritma

Dosen Pengampu : Risti Jimah, S.Kom.

Oleh :

Nama : Mariani
NIM : 220110013

PROGRAM STUDI ILMU KOMPUTER

FAKULTAS TEKNOLOGI INFORMASI

INSTITUT TEKNOLOGI SAPTA MANDIRI

2023
KATA PENGANTAR
Puji syukur kami panjatkan Kepada Tuhan Yang Maha Esa atas anugrah-Nya sehingga
penulis dapat menyelesaikan penulisan makalah tentang “Analisis dan Perancangan Algoritma
Rekursif Untuk Permasalahan Penyebaran Virus Pada Jaringan Sosial”.

Adapun maksud dan tujuan dari penyusunan Makalah ini selain untuk menyelesaikan
tugas yang diberikan oleh Dosen pengajar, juga untuk lebih memperluas pengetahuan para
mahasiswa khususnya bagi penulis.

Penulis telah berusaha untuk dapat menyusun Makalah ini dengan baik, namun penulis
pun menyadari bahwa kami memiliki akan adanya keterbatasan kami sebagai manusia biasa.
Oleh karena itu jika didapati adanya kesalahan-kesalahan baik dari segi teknik penulisan,
maupun dari isi, maka kami memohon maaf dan kritik serta saran dari dosen pengajar bahkan
semua pembaca sangat diharapkan oleh kami untuk dapat menyempurnakan makalah ini
terlebih juga dalam pengetahuan kita bersama.

Barabai, 22 Maret 2023

Penulis

i|Page
DAFTAR ISI

KATA PENGANTAR ............................................................................................................................ i


DAFTAR ISI.......................................................................................................................................... ii
BAB I ...................................................................................................................................................... 1
PENDAHULUAN ................................................................................................................................. 1
A. Latar Belakang .......................................................................................................................... 1
B. Rumusan Masalah .................................................................................................................... 1
C. Tujuan Masalah ........................................................................................................................ 1
BAB II .................................................................................................................................................... 2
PEMBAHASAN .................................................................................................................................... 2
A. Pengertian Algoritma Rekursif................................................................................................ 2
B. Fungsi Rekursif dalam Algoritma ........................................................................................... 2
C. Langkah-langkah penyelesaian ............................................................................................... 2
Kesimpulan ........................................................................................................................................ 5
DAFTAR PUSTAKA ............................................................................................................................ 6

ii | P a g e
BAB I

PENDAHULUAN
A. Latar Belakang
Rekursif merupakan alat untuk memecahkan masalah dalam suatu fungsi atau
procedure yang memanggil dirinya sendiri. Definisi menurut Niclaus Wirth : “ An object
is said be recursive if it partially consist or is defines in terms of itself”. Mengapa kita
memerlukan rekursif? Karena ada beberapa kasus yang akan jauh lebih mudah
diselesaikan jika menggunakan rekursif.

Dalam era digital saat ini, jaringan sosial telah menjadi bagian penting dalam
kehidupan kita sehari-hari. Namun, jaringan sosial juga dapat menjadi sarana penyebaran
virus dan malware jika tidak dijaga dengan baik. Oleh karena itu, diperlukan suatu
algoritma rekursif untuk menganalisis dan merancang strategi penyebaran virus pada
jaringan sosial.

B. Rumusan Masalah
1. Apa itu Algoritma Rekursif?
2. Bagaimana Algoritma rekursif dapat digunakan untuk menyelesaikan permasalahan
penyebaran virus pada jaringan sosial?

C. Tujuan Masalah
1. Mendeskripsikan apa itu algoritma rekursif
2. Menjelaskan bagaimana penyelesaian masalah penyebaran virus pada jaringan sosial.

1|Page
BAB II

PEMBAHASAN
A. Pengertian Algoritma Rekursif
Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah
fungsi mengandung fungsi itu sendiri. Dalam dunia pemrograman, rekursif
diimplementasikan dalam sebuah fungsi yang memanggil dirinya sendiri. Sebenarnya,
rekursif merupakan salah satu cara berpikir/pola pikir untuk menyelesaikan masalah. Hal
ini memang merupakan ide/tujuan utama dalam sains komputer. Menyelesaikan masalah
menggunakan rekursi berarti solusi bergantung pada solusi masalah yang sama dalam
bentuk yang lebih tidak kompleks.

Kelebihan logika bentuk ini mudah dipahami alurnya, namun kelemahannya pada
penggunaan register stack yang sangat membebani kecepatan jalannya program.

Bentuk dan sifat rekursif adalah sebagai berikut :

• Ada bagian base case dan ada bagian general case


• Paling sedikit mempunyai general base
• Selalu dalam bentuk fungsi-fungsi
• Selalu menggunakan statement percabangan

B. Fungsi Rekursif dalam Algoritma


Dalam dunia pemrograman, rekursi dapat diimplementasikan dalam fungsi yang
memanggil dirinya sendiri. Konsep pemrograman fungsi rekursif sebenarnya mirip dengan
konsep fungsi rekursif dalam matematika yaitu sebagai berikut:

1. Menentukan kasus penyetop atau kasus dasar dimana pemanggilan rekursif tidak lagi
diperlukan karena solusinya sudah diperoleh) -> basis
2. Menerapkan suatu langkah untuk menggiring kasus kompleks ke kasus penyetopnya
dengan metode yang mencerminkan fungsinya -> rekurens

C. Langkah-langkah penyelesaian
Algoritma rekursif dapat digunakan untuk menyelesaikan permasalahan penyebaran
virus pada jaringan sosial dengan cara memodelkan penyebaran virus sebagai sebuah
proses rekursif di dalam jaringan sosial.

2|Page
Dalam algoritma rekursif, fungsi rekursif akan dipanggil secara berulang-ulang
hingga kondisi berhenti terpenuhi. Proses rekursif ini akan menyebar virus ke node lain
dalam jaringan sosial dan mengumpulkan daftar node yang terinfeksi.

Berikut adalah langkah-langkah perancangan algoritma rekursif untuk permasalahan ini:

1. Tentukan node awal atau titik pertama di jaringan sosial sebagai titik awal penyebaran
virus.
2. Definisikan fungsi rekursif yang akan digunakan untuk menyebar virus ke node lain
dalam jaringan sosial. Fungsi ini menerima sebagai input sebuah node dan akan
mengembalikan semua node yang terinfeksi sebagai hasilnya.
3. Di dalam fungsi rekursif, lakukan langkah-langkah berikut:
- Periksa apakah node tersebut sudah terinfeksi virus atau belum. Jika sudah
terinfeksi, kembalikan node tersebut sebagai hasil.
- Jika belum terinfeksi, tandai node tersebut sebagai terinfeksi virus dan simpan node
tersebut ke dalam daftar node terinfeksi.
- Untuk setiap tetangga dari node tersebut, panggil fungsi rekursif dengan tetangga
tersebut sebagai inputnya.
- Gabungkan semua daftar node terinfeksi yang diperoleh dari setiap pemanggilan
fungsi rekursif.
- Setelah fungsi rekursif selesai dieksekusi, kembalikan daftar node terinfeksi yang
telah dihasilkan.
- Ulangi proses di atas untuk setiap node di jaringan sosial untuk mendapatkan total
jumlah node terinfeksi.

Berikut adalah pseudocode untuk algoritma rekursif untuk penyebaran virus pada jaringan
sosial:

function spread_virus(node):
if node already infected:
return [node]
else:
mark node as infected
infected_nodes = [node]
for neighbor in neighbors of node:

3|Page
infected_neighbors = spread_virus(neighbor)
infected_nodes = union(infected_nodes, infected_neighbors)
return infected_nodes
total_infected_nodes = []
for node in all nodes in social network:
infected_nodes = spread_virus(node)
total_infected_nodes = union(total_infected_nodes, infected_nodes)

Pada pseudocode di atas, fungsi union digunakan untuk menggabungkan dua daftar
node terinfeksi menjadi satu. Algoritma rekursif di atas akan menjalankan fungsi
spread_virus untuk setiap node di jaringan sosial dan mengumpulkan semua node terinfeksi
menjadi satu daftar total_infected_nodes.

Algoritma rekursif ini dapat dioptimalkan dengan menghindari penyebaran virus yang
sudah terdeteksi pada node yang sama lebih dari satu kali. Salah satu caranya adalah dengan
menambahkan parameter pada fungsi rekursif untuk menyimpan daftar node yang sudah
terinfeksi sehingga algoritma hanya akan menyebar virus ke node yang belum terinfeksi.

4|Page
BAB III

PENUTUP

Kesimpulan
Fungsi rekursif merupakan salah satu konsep yang penting untuk dikuasai. Hal ini
dikarenakan fungsi ini memiliki sangat banyak implementasi, yang dalam hal ini adalah
implementasi dalam algoritma.

Algoritma rekursif adalah salah satu teknik yang dapat digunakan untuk mencegah
menyebar virus pada jaringan sosial. Dengan menganalisis dan merancang algoritma yang
efektif, pencegahan penyebaran virus dapat dilakukan dengan cepat dan efektif. Namun, perlu
diingat bahwa penggunaan algoritma ini harus diikuti dengan etika dan aturan yang berlaku
dalam jaringan sosial, serta harus dijaga agar tidak disalahgunakan untuk hal-hal yang
merugikan.

5|Page
DAFTAR PUSTAKA

Herlambang, S. (n.d.). Implementasi Fungsi Rekursif Dalam Algoritma dan Perbandingannya


dengan Fungsi Iteratif. 1–6.
https://informatika.stei.itb.ac.id/~rinaldi.munir/Matdis/2008-
2009/Makalah2008/Makalah0809-079.pdf
Kaswidjanti, W. (n.d.). Rekursif. 1–7.
http://learning.upnyk.ac.id/pluginfile.php/6519/mod_resource/content/1/Rekursif.pdf
Setiawan, S., Manurung, R., & Azurat, A. (2010). Rekursif. Struktur Data Dan Algoritma, 1–
58. http://aren.cs.ui.ac.id/sda/resources/sda2010/05_rekursif.pdf

6|Page

Anda mungkin juga menyukai