MAKALAH Resume Materi Praktikum Struktur Data dan Algoritma
Oleh: Anjas Subhanuari (151402043) !an "a#hro$! (151402044) Mata Kuliah: Praktikum Struktur Data dan d an Algoritma Asisten Laboratorium: Laboratorium: us%an &'endi
KELAS B PROGRAM STUDI S! TEK"OLOGI I"#ORMASI #AKULTAS ILMU KOMPUTER DA" TEK"OLOGI I"#ORMASI U"I$ERSITAS U"I$ER SITAS SUMATERA UTARA UTARA MEDA" %&!'
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
Kata Pen(antar
Puji dan s!ukur enulis samaikan keada Allah s%t .uhan 6ang Maha &sa !ang telah memberikan memberikan rahmat*7!a rahmat*7!a keada keada enulis enulis sehingga enulis mamu men!elesaikan men!elesaikan Makalah Resume Materi Praktikum Struktur Data dan Algoritma ini Penulis mengu#akan terimakasih keada Abangda us%an &'endi !ang telah membimbing serta mendukung kami adik*adik mahasis%an!a dalam elaksanaan Praktikum Struktur Data dan Algoritma ada rogram studi strata 1 .eknologi /n'ormasi niersitas Sumatera tara ada semester ganjil ini Akhirn!a Akhirn!a enulis men!adari bah%a masih terdaat terdaat ban!ak ban!ak kekurangan kekurangan dalam Makalah ini sehingga segala kritik dan saran !ang bersi'at membangun akan enulis terima dengan senang hati
Medan 28 Desember 201
Penulis
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
Da)tar Isi
ata Pengantar ................................ .................................. ................................. .............................. ...... ...... ....... ...... . 1 Da'tar /si................................ .................................. .................................. ................................. .............................. .. 2 A /................................ .................................. .................................. ................................. .................... ...... ....... ... 3 A //............................... ................................. .................................. .................................. .......................... ....... ... 4 21 Arra!............................... .................................. .................................. ................................. ................... .. 4 211 Pengertian Arra!............................................................................................................................4 212 Arra! Satu Dimensi.......................................................................................................................4 213 Arra! Dua Dimensi........................................................................................................................4 214 Arra! Multi Dimensi......................................................................................................................5 22 Sta#k dan 9ueues......................................................................................................................................5 221 Sta#k ................................ .................................. ................................. .......................... ...... ...... ..... 5 222 9ueues.............................. ................................. .................................. ......................... ....... ...... .... 5 23 ekursi' .............................. .................................. ................................. .............................. ...... ...... ....... .. 6 24 :rah............................. .................................. ................................. .................................. ............. ...... ... 6 25 .rees................................ .................................. ................................. ................................. ...... ....... ...... .. 7 21 inar! .ree ....................................................................................................................................7 22 inar! Sear#h .ree .........................................................................................................................7 2 ,inear and inar! Sear#h..........................................................................................................................7 21 ,inear Sear#h.................................................................................................................................7 22 inar! Sear#h.................................................................................................................................8 28 Sorting.................................. ................................. .................................. ............................. ...... ....... ...... . 8 2;1 ubble Sort....................................................................................................................................8 2;2 Sele#tion Sort.................................................................................................................................9 2;3 9ui#k Sort....................................................................................................................................10 2;4 /nsertion Sort...............................................................................................................................11 2;5 Merge Sort...................................................................................................................................12 2; Primu''man ?ode..............................................................................................................................17 2104 >ukum Shannon*"ano.................................................................................................................17 211 &nkrisi Data..........................................................................................................................................18 2111 ?aesar Shier ...............................................................................................................................18 2112 @igenere ?hier ...........................................................................................................................18 A ///.....................................................................................................................................................................20 31 esimulan.............................................................................................................................................20 32 ritik dan Saran......................................................................................................................................20 Da'tar Pustaka................................. .................................. ................................. ............................... ....... ...... ....... ... 21
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
BAB I
Pendahuluan
Pada $aman serba #eat dan enuh dengan ke#anggihan teknologi berua alat*alat #anggih !ang diadukan dengan rogram !ang handal saat ini sudah menjadi tuntutan bagi mas!arakat luas Para embuat rogram tentu harus betul*betul membuat rogram dengan %aktu eksekusi !ang sangat e'isien tetai handal ntuk itu dierlukan algoritma*algoritma !ang teat ula untuk men#aai kebutuhan tersebut Struktur data adalah suatu engelolaan data sehingga data daat diergunakan se#ara lebih e'isien dan e'ekti' Dalam bahasa emrograman struktur data seringkali ditamakkan se#aa 'isik dalam bentuk tabel (biasan!a ada bahasa emrogramanengelolaan database berbasis isual) namun ada beberaa bahasa emrograman !ang tidak berbasis isual strutkur data lebih berua engelolaan data dengan aturan*aturan tertentu 1 Algoritma adalah urutan langkah untuk men!elesaikan masalah se#ara sistematis dan logis Algoritma mena%arkan suatu metode dalam men!elesaikan sebuah ermasalahan Algoritma diartikan sebagai urutan langkah dalam men!elesaikan masalah se#ara sistematis dan logis Pendekatan se#ara sistematis dan logis tersebut menjadikan roses en!elesaian masalah terjaga kebenarann!a karena algoritma hendaklah benar agar daat menghasilkan keluaransolusi !ang benar ula Pen!elesaian masalah(roblem soling) adalah kegiatan utama !ang dilakukan dalam men!elesaiakan sesuatu 2 Dari uraian diatas mengenai engertian struktur data dan algortima maka jelas bagi kita bah%a dalam membuat sebuah rogram komuter atauun alikasi kita erlu menggunakan sebuah algoritma*algoritma !ang aling baik Sehingga rogram !ang dibuat tersebut daat dieksekusi semurna dengan e'isiensi %aktu !ang baik ula Adaun bahasa emrograman !ang digunakan adalah bahasa ?BB Resume materi raktikum struktur data dan algoritma !ang kami susun ini meruakan makalah !ang berisi materi*materi !ang dielajari selama satu semester ada mata kuliah Praktikum Struktur Data dan Algoritma Pembahasan materi !ang ada didalam makalah ini disusun sedemikian rua dari aa !ang telah dielajari ditambah dengan beberaa re'erensi !ang diambil se#ara online (daring) dari /nternet ami sangat berhara kiran!a makalah !ang kami susun ini daat berguna bagi siaaun !ang memba#an!a
Sumber - htt-indra*#%ogatblogsot#oid201312engertian*algoritma*dan*struktur*datahtml 2 Sumber - htt-indra*#%ogatblogsot#oid201312engertian*algoritma*dan*struktur*datahtml 1
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
BAB II
Pembahasan
%*!*
Arra+ %*!*!*
%*!*%*
Pengertian Arra! Arra! adalah suatu ariabel !ang terdiri dari sekumulan data dimana data*data tersebut memun!ai tie data !ang sama Setia data disiman dalam alamat memori !ang berbeda*beda dan disebut dengan elemen arra! Setia elemen memun!ai nilai indeks sesuai dengan urutann!a Melalui indeks inilah kita daat mengakses data*data tersebut /ndeks dari elemen arra! ini dimulai dari 0 bukan 1 Arra! dideklarasikan dengan tanda C Arra! Satu Dimensi Arra! Satu dimensi tidak lain adalah kumulan elemen*elemen identik !ang tersusun dalam satu baris &lemen*elemen tersebut memiliki tie data !ang sama tetai isi dari elemen tersebut boleh berbeda entuk umumtieEdata namaEarra!CjumlahEelemenF ?ontohint nilaiEmhsC5F nilaiEmhsC0 ;0
%*!*,*
nilaiEmhsC1 ;3
nilaiEmhsC2 ;5
nilaiEmhsC3 =0
nilaiEmhsC4 =3
Arra! Dua Dimensi Arra! dua dimensi sering digambarkan sebagai sebuah matriks meruakan erluasan dari arra! satu dimensi Gika arra! satu dimensi han!a terdiri dari sebuah baris dan beberaa kolom elemen maka arra! dua dimensi terdiri dari beberaa baris dan beberaa kolom elemen !ang bertie sama entuk umumtieEdata namaEarra!Cbaris CkolomF ?ontohint nilaiEmhsC4C3F 0 1
?ara aksesnilaiEmhsC0C1 H 540F 2
0
;0
540
1032
1
15
;3
301
2
;
12
15
3
10
12=
258
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*!*-*
Arra! Multi Dimensi Arra! multi*dimensi meruakan arra! !ang memun!ai ukuran lebih dari dua entuk umumtieEdata namaEarra!Cukuran1 Cukuran2 CF
%*%*
Sta./ 0an 1ueues %*%*!* Sta#k Sta#k adalah suatu tumukan atau kumulan data !ang menggunakan konse ,/"I (last in first out ) &lemen terakhir !ang di letakan adalah elemen ertama !ang akan diambil onsen!a sama seerti tumukan benda !ang biasa kita temukan dalam kehiduan sehari*hari Misaln!a tumukan buku ada tumukan tersebut astin!a buku ertama !ang akan kita ambil adalah buku !ang aling atas atau buku !ang terakhir diletakan ada tumukan tersebut
Ierasi !ang sering diterakan ada struktur data Sta#k (.umukan) adalah Push dan Po Ierasi J oerasi !ang daat diterakan adalah sebagai berikut 1 2 3 4 5
Push - digunakan untuk menembah item ada Sta#k ada .umukan aling atas Po - digunakan untuk mengambil item ada Sta#k ada .umukan aling atas ?lear - digunakan untuk mengosongkan Sta#k ?reate Sta#k - membuat .umukan baru S dengan jumlah elemen kosong Make7ull - mengosongkan .umukan S jika ada elemen maka semua elemen dihaus /s&mt! - 'ungsi !ang digunakan untuk menge#ek aakah Sta#k sudah kosong 8 /s'ull - 'ungsi !ang digunakan untuk menge#ek aakah Sta#k sudah enuh Pada roses Push .umukan (Sta#k) harus dieriksa aakah jumlah elemen sudah men#aai masimum atau tidak Gika sudah men#aai maksimum maka I@&",IK artin!a .umukan enuh tidak ada elemen !ang daat dimasukkan ke dalam .umukan Sedangkan ada roses Po .umukan harus dieriksa aakah ada elemen !ang hendak dikeluarkan atau tidak Gika tidak ada maka 7D&",IK artin!a tumukan kosong tidak ada elemen !ang daat diambil %*%*%*
9ueues 9ueue meruakan suatu struktur data linear onsen!a hamir sama dengan Sta#k erbedaann!a adalah oerasi enambahan dan enghausan ada ujung !ang bebeda Penghausan dilakukan ada bagian dean ('ront) dan enambahan berlaku ada bagian belakang (ear) &lemen*elemen di dalam antrian daat bertie integer real re#ord dalam bentuk sederhana atau terstruktur .umukan disebut juga Waiting Line !aitu enambahan elemen baru dilakukan ada bagian belakang dan enghausan elemen dilakukan ada bagian dean Sistem ada engaksesan ada 9ueue menggunakan sistem "/"I ("irst /n "irst Iut) artin!a elemen !ang ertama masuk itu !ang akan ertama dikeluarkan dari 9ueue Ierasi*oerasi ada Lueue diantaran!a1 ?reate 9ueue (9) - membuat antrian baru 9 dengan jumlah elemen kosong
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
2 Make 7ull9 (9) - mengosongkan antrian 9 jika ada elemen maka semua elemen dihaus 3 &n9ueue - ber'ungsi memasukkan data kedalam antrian 4 DeL9ueue - ber'ungsi mengeluarkan data terdean dari antrian 5 ?lear - Menghaus seluruh Antrian /s&mt! - memeriksa aakah antrian kosong 8 /s"ull - memeriksa aakah antrian enuh %*,*
Re/ursi)
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan terjadinya overow pada stack, yang berarti stack tidak lagi mampu menangani permintaan pemanggilan fungsi karena kehabisan memori( stack adalah area memori yang dipakai untuk variable lokal untuk mengalokasikan memori ketika suatu fungsi dipanggil. %*-*
Gra2h :rah adalah kumulan noktah (simul) di dalam bidang dua dimensi !ang dihubungkan dengan sekumulan garis (sisi) :rah daat digunakan untuk mereresentasikan objek*objek diskrit dan hubungan antara objek*objek tersebut eresentasi isual dari grah adalah dengan men!atakan objek sebagai noktah bulatan atau titik (@erte) sedangkan hubungan antara objek din!atakan dengan garis (&dge)
Ada beberaa #ara untuk men!iman grah di dalam sitem komuter Struktur data bergantung ada struktur grah dan algoritma !ang digunakan untuk memmaniulasi grah Se#ara teori salah satu dari keduan!a daat dibedakan antara struktur list dan matriks tetai dalam enggunaann!a struktur terbaik !ang sering digunakan adalah kombinasi keduan!a 1 :rah tak berarah (undire#ted grah atau non*dire#ted grah) -rutan simul dalam sebuah busur tidak dientingkan Misal busur e1 daat disebut busur A atau A 2 :rah berarah (dire#ted grah) -rutan simul memun!ai arti Misal busur A adalah e1 sedangkan busur A adalah e; 3 :rah erbobot (Keighted :rah) Gika setia busur memun!ai nilai !ang men!atakan hubungan antara 2 buah simul maka busur tersebut din!atakan memiliki bobot obot sebuah busur daat men!atakan anjang sebuah jalan dari 2 buah titik jumlah rata*rata kendaraan erhari !ang melalui sebuah jalan
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*3*
Trees Meruakan salah satu bentuk struktur data tidak linear !ang menggambarkan hubungan !ang bersi'at hirarkis (hubungan one to man!) antara elemen*elemen .ree bisa dide'inisikan sebagai kumulan simulnode dengan satu elemen khusus !ang disebut oot dan node lainn!a terbagi menjadi himunan*himunan !ang saling tak berhubungan satu sama lainn!a (disebut subtree)
Genis*jenis .ree diantaran!a%*'*! inar! .ree inar! .ree adalah tree dengan s!arat bah%a tia node han!a boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terisah Sesuai dengan de'inisi tersebut maka tia node dalam binar! tree han!a boleh memiliki aling ban!ak dua #hild
%*'*%
%*'*
inar! Sear#h .ree Adalah inar! .ree dengan si'at bah%a semua le't #hild harus lebih ke#il dariada right #hild dan arentn!a Guga semua right #hild harus lebih besar dari le't #hild serta arentn!a inar! sea#h tree dibuat untuk mengatasi kelemahan ada binar! tree biasa !aitu kesulitan dalam sear#hing en#arian node tertentu dalam binar! tree
Linear an0 Binar+ Sear.h %*'*! ,inear Sear#h ,inear sear#h adalah rogram sear#h !ang aling sederhana dan mudah diahami linear sear#h memiliki kelebihan aabila data !ang di#ari letakn!a ada data * data a%al sehingga rosesn!a berjalan #eat namun memun!ai kelemahan aabila data !ang di#ari letakn!a ada data terakhir maka dalam enggunaan %aktu dalam roses en#arian akan berjalan lama
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*'*% inar! Sear#h inar! sear#h atau metode en#arian se#ara biner han!a bisa dilakukan jika data sudah terurut eunggulan dari roses binar! sear#h ini adalah sistem en#ariann!a !ang relati' #eat dan e'isien %alauun ada ban!ak data sekaliun arena data di#ari dari dean tengah dan belakang .etai sintaks dan algoritman!a sedikit lebih rumit karena kita harus mengurutkan data terlebih dahulu Pengurutan data disini bisa kalian lakukan dengan metode as#ending atauun des#ending
%*4*
Sortin( Sorting bisa dide'inisikan sebagai suatu roses engurutan data !ang sebelumn!a disusun se#ara a#ak sehingga menjadi tersusun se#ara teratur menurut suatu aturan tertentu Sorting !ang kita terakan menggunakan tie data arra! agar emahaman serta engimlementasiann!a lebih mudah Pada umumn!a terdaat dua jenis engurutan !aitu As#ending (7aik) dan Des#ending (.urun)
ntuk melakukan roses engurutan tersebut daat digunakan berbagai ma#am #arametode diantaran!a%*5*! ubble Sort ubble Sort meruakan metode !ang aling sederhana dan aling tidak e'isienkarena memerlukan %aktu !ang relati' lebih lama dibandingkan dengan metodemetode !ang lainn!a onse dasar dari ubble sort ialah membandingkan elemen !ang sekarang degan elemen !ang berikutn!a jika elemen sekarang lebih besar dariada elemen berikutn!a (untuk as#ending) maka dilakukan roses enukaran Proses sorting daat dimulai dari data a%al atau data akhir
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*5*% Sele#tion Sort ?ara kerja metode ini didasarkan ada en#arian elemen dengan nilai terke#il kemudian dilakukan enukaran dengan elemen ke*/ Se#ara ingkat metode ini bisa dijelaskan sebagai berikut Pada langkah ertama di#ari data !ang terke#il dari data ertama samai data terakhir emudian data tersebut kita tukar dengan data ertama Dengan demikian data ertama sekarang memun!ai nilai aling ke#il dibanding data lain Pada langkah kedua data terke#il kita #ari mulai dari data kedua samai data terakhir Data terke#il !ang kita eroleh kita tukar dengan data kedua Demikian seterusn!a samai suluruh data terurut
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*5*, 9ui#k Sort Metode ini dikembangkan oleh ?A >oare Se#ara garis besar metode ini dijelaskan sebagai berikut Misaln!a kita ingin mengurutkan data A !ang memun!ai 7 elemen ita ilih sembarang elemen dari data tersebut bisan!a elemen ertama misaln!a N kemudian semua elemen tersebut disusun dengan menematkan N ada osisi G sedemikian rua sehingga elemen ke 1 samai ke G* 1 memun!ai nilai lebih ke#il dari N dan elemen GB1 samai ke 7 memun!ai nilai lebih besar dari N Samai saat ini kita sudah memun!ai dua sub data (kiri dan kanan) ,angkah berikutn!a diulang untuk setia sub data ?ontoh dari roses Sorting dengan menggunakan metode 9ui#k Sort
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*5*- /nsertion Sort Proses engurutan dengan metode en!isian langsung daat dijelaskan sebagai berikut - Data di#ek satu er satu mulai dari !ang kedua samai dengan !ang terakhir Aabila ditemukan data !ang lebih ke#il dariada data sebelumn!a maka data tersebut disisikan ada osisi !ang sesuai Akan lebih mudah aabila memba!angkan engurutan kartu Pertama*tama anda meletakkan kartu*kartu tersebut di atas meja kemudian melihatn!a dari kiri ke kanan Aabila kartu di sebelah kanan lebih ke#il dariada kartu di sebelah kiri maka ambil kartu tersebut dan sisikan di temat !ang sesuai J inar! /nsertion Sort (Metode Pen!isian iner) Metode ini meruakan engembangan dari metode en!isian langsung Dengan #ara en!isian langsung erbandingan selalu dimulai dari elemen ertama (data ke*0) sehingga untuk men!isikan elemen ke i kita harus melakukan erbandingan seban!ak i* 1 kali /de dari metode ini didasarkan ada ken!ataan bah%a ada saat menggeser data ke*i data ke 0 sd i*1 sebenarn!a sudah dalam keadaan terurut
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*5*3 Merge Sort Metode enggabungan biasan!a digunakan ada engurutan berkas Prinsi dari metode enggabungan sebagai berikut - Mula*mula diberikan dua kumulan data !ang sudah dalam keadaan urut edua kumulan data tersebut harus dijadikan satu table sehingga dalam keadaan urut
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
%*5*
Prim6s an0 Krus/al6s Al(orithm %*!&*! Prim Algoritma Prim adalah sebuah algoritma dalam teori gra' untuk men#ari ohon rentang minimum untuk sebuah gra' berbobot !ang saling terhubung /ni berarti bah%a sebuah himunan bagian dari edge !ang membentuk suatu ohon !ang mengandung node di mana bobot keseluruhan dari semua edge dalam ohon diminimalisasikan ila gra' tersebut tidak terhubung maka gra' itu han!a memiliki satu ohon rentang minimum untuk satu dari komonen !ang terhubung
1 2 3 4 5
,angkah*langkahn!a adalah sebagai berikutbuat sebuah ohon !ang terdiri dari satu node diilih se#ara a#ak dari gra' buat sebuah himunan !ang berisi semua #abang di gra' loo samai semua #abang di dalam himunan menghubungkan dua node di ohon haus dari himunan satu #abang dengan bobot terke#il !ang menghubungkan satu node di ohon dengan satu node di luar ohon hubungkan #abang tersebut ke ohon
?ontoh/ni adalah gra' berbobot a%al :ra' ini bukan ohon karena ada #ir#uit 7ama !ang lebih teat untuk diagram ini adalah gra' atau jaringan Angka*angka dekat garis enghubung adalah bobotn!a elum ada garis !ang ditandai dan node D diilih se#ara sembarang sebagai titik a%al
7ode kedua !ang diilih adalah !ang terdekat ke D- A jauhn!a 5 = & 15 dan " Dari keematn!a 5 adalah !ang terke#il jadi kita tandai node A dan #abang DA
7ode berikutn!a !ang diilih adalah !ang terdekat dari D atau A jauhn!a = dari D dan 8 dari A & jauhn!a 15 dan " adalah !ang terke#il jadi kita tandai node " dan #abang D"
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
Algoritma ini berlanjut seerti di atas 7ode !ang jauhn!a 8 dari A ditandai Di sini #abang D ditandai merah karena baik node dan node D telah ditandai hijau sehingga D tidak daat digunakan
Dalam hal ini kita daat memilih antara ? & dan : ? jauhn!a ; dari & 8 dari dan : 11 dari " & !ang terdekat jadi kita tandai node & dan #abang & Dua #abang lain ditandai merah karena kedua node !ang terhubung telah digunakan
Di sini node !ang tersedia adalah ? dan : ? jauhn!a 5 dari & dan : = dari & ? diilih jadi ditandai bersama dengan #abang &? ?abang ? juga ditandai merah
7ode : adalah satu*satun!a !ang tersisa Gauhn!a 11 dari " dan = dari & & lebih dekat jadi kita tandai #abang &: Sekarang semua node telah terhubung dan ohon rentang minimum ditunjukkan dengan %arna hijau bobotn!a 3=
%*!&*% ruskal Algoritma ruskal adalah algoritma untuk men#ari ohon merentang minimum se#ara langsung didasarkan ada algoritma MS. (Minimum Sanning .ree) umum Pada algoritma ruskal sisi*sisi di dalam gra' diurut terlebih dahulu berdasarkan bobotn!a dari ke#il ke besar Sisi !ang dimasukkan ke dalam himunan . adalah sisi gra' : sedemikian sehingga . adalah ohon Pada keadaan a%al sisi*sisi sudah diurut berdasarkan bobot membentuk hutan ('orest) >utan tersebut dinamakan hutan merentang (sanning 'orest) Sisi dari gra' : ditambahkan ke . jika tidak membentuk sirkuit di . Perbedaan rinsi antara algoritma Prim dan ruskal adalah jika ada algoritma Prim sisi !ang dimasukkan ke dalam . harus bersisian dengan sebuah simul di . maka ada algoritma ruskal sisi !ang diilih tidak erlu
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
bersisian dengan simul di . asalkan enambahan sisi tersebut tidak membentuk sirkuit ,angkah*langkah dalam algoritma ruskal adalah sebagai berikut1 ,akukan engurutan terhada setia sisi di gra' mulai dari sisi dengan bobot terke#il samai terbesar 2 Pilih sisi !ang memun!ai bobot minimum !ang tidak membentuk sirkuit di ohon .ambahkan sisi tersebut ke dalam ohon
AD dan ?& adalah tei terendek dengan anjang 5 dan AD telah diilih
?& sekarang tei terendek !ang tidak membentuk suatu siklus dengan anjang 5 sehingga disorot sebagai tei kedua
.ei berikutn!a D" dengan anjang disorot menggunakan ban!ak metode !ang sama
.ei berikutn!a terendek adalah A dan & baik dengan anjang 8 A diilih se#ara se%enang*%enang dan disorot .ei D telah disorot dalam %arna merah karena di sana sudah ada jalur (hijau) antara dan D sehingga akan membentuk siklus (AD) jika diilih
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
Proses terus men!orot*terke#il berikutn!a tei & dengan anjang 8 an!ak tei lebih disorot dalam %arna merah ada taha ini- ? karena akan membentuk loo SM D& karena akan membentuk loo Deba dan "& karena akan membentuk "&AD
Akhirn!a roses selesai dengan tei &: anjang = dan ohon merentang minimum ditemukan
%*7*
Shortest Paths Shortest ath adalah en#arian rute atau ath terendek antara node !ang ada ada grah bia!a (#ost) !ang dihasilkan adalah minimum Sedangkan menurut Dublin (200=) menemukan jalan terendek dari total anjang jalan antara dua node gra'ik diarahkan dengan anjang berkaitan dengan tei masing*masing Dalam en#arian lintasan terendek masalah !ang dihadai adalah men#ari lintasan mana !ang akan dilalui sehingga didaat lintasan !ang aling endek dari satu erteks ke erteks !ang lain Selama semester 3 ini salah satu algoritma !ang telah diajarkan untuk men!elesaikan masalah shortest ath adalah algoritma Djikstra Menurut Kikiedia Algoritma Dijkstra adalah sebuah algoritma !ang diakai dalam meme#ahkan ermasalahan jarak terendek (shortest ath roblem) untuk sebuah gra' berarah (dire#ted grah) dengan bobot*bobot sisi (edge %eights) !ang bernilai tak*negati'
%*!&* Al(oritma Kom2resi omresi data adalah roses engkodean in'ormasi menggunakan bit atau in'ormation* bearing unit !ang lain !ang lebih rendah dariada reresentasi data !ang tidak terkodekan dengan suatu s!stem en#oding tertentu Se#ara umum komresi daat diartikan dengan menge#ilkan ukuran dalam hal ini adalah data .ujuan dari komresi data adalah untuk memerke#il kebutuhan en!imanan data memer#eat engiriman data dan memerke#il
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
kebutuhan band%ith Sebuah teks !ang menggunakan karakter !ang #uku anjang namun dalam teks tersebut terdaat beberaa karakter !ang sama akan membutuhkan ruang data !ang besar ula Maka dengan algoritma ini ukuran data tersebut daat dierke#il %*!&*, >u''man ?ode ,angkah dalam membentuk ohon >u''man1 hitung semua 'rekuensi kemun#ulan tia karaktern!a 2 membagi dua ohon menjadi 'rekuensi !ang lebih ke#il kemudian hubungkan ada sebuah akar Akar tersebut kemudian diisah kembali dan digabung dengan akar !ang berada di atasn!a (akar baru) 3 roses ketiga !aitu roses rekursi' dari roses kedua sehingga akar utama ohon memiliki 'renuensi bernilai 1/nti dari algortima hu''man adalah menggunakan riorit! Lueue !ang direkursi' sehingga membentuk ohon dengan komleksitas %aktu In(log n)
%*!&*- >ukum Shannon*"ano ,angkah algoritma Shannon*"ano1 ntuk da'tar simbol*simbol tertentu mengembangkan sebuah da'tar !ang sesuai robabilitas atau 'rekuensi dihitung sehingga setia simbol 'rekuensi relati' kejadian diketahui 2 Men!ortir da'tar simbol*simbol sesuai dengan 'rekuensi dengan simbol*simbol !ang aling sering terjadi di sebelah kiri dan !ang aling umum di sebelah kanan 3 Membagi da'tar menjadi dua bagian dengan total 'rekuensi dihitung dari kiri setengah menjadi seerti dekat dengan jumlah !ang teat mungkin 4 iri setengah dari da'tar ditetakan angka biner 0 dan hak diberikan setengah digit 1 /ni berarti bah%a kode untuk simbol*simbol ada semester ertama semua akan dimulai dengan 0 dan aturan*aturan di aruh kedua akan semua mulai dengan 1 5 ekursi' menerakan langkah 3 dan 4 untuk masing*masing dari dua bagian membagi kelomok dan menambahkan kode bit samai setia simbol telah menjadi kode !ang sesuai daun di ohon %*!!* En/ri2si Data
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
&nkrisi adalah suatu metode !ang digunakan untuk mengkodekan data sedemikian rua sehingga keamanan in'ormasin!a terjaga dan tidak daat diba#a tana di dekrisi (kebalikan dari roses enkrisi) dahulu &n#r!tion berasal dari bahasa !unani kr!tos !ang artin!a tersembun!i atau rahasia %*!!*! ?aesar Shier Dalam kritogra'i sandi ?aesar atau sandi geser kode ?aesar atau :eseran ?aesar adalah salah satu teknik enkrisi aling sederhana dan aling terkenal Sandi ini termasuk sandi substitusi dimana setia huru' ada teks terang (laintet) digantikan oleh huru' lain !ang memiliki selisih osisi tertentu dalam al'abet Misaln!a jika menggunakan geseran 3 K akan menjadi O / menjadi , dan menjadi 7 sehingga teks terang %iki akan menjadi O,7, ada teks tersandi ,angkah enkrisi oleh sandi ?aesar sering dijadikan bagian dari en!andian !ang lebih rumit seerti sandi @igenQre ?ara kerja sandi ini daat diilustrasikan dengan membariskan dua set al'abetF al'abet sandi disusun dengan #ara menggeser al'abet biasa ke kanan atau ke kiri dengan angka tertentu (angka ini disebut kun#i) Misaln!a sandi ?aesar dengan kun#i 3 adalah sebagai berikut-
Al'abet iasa Al'abet Sandi -
A?D&":>/G,M7IP9S.@KN6O D&":>/G,M7IP9S.@KN6OA?
ntuk men!andikan sebuah esan #uku men#ari setia huru' !ang hendak disandikan di al'abet biasa lalu tuliskan huru' !ang sesuai ada al'abet sandi ntuk meme#ahkan sandi tersebut gunakan #ara sebalikn!a ?ontoh en!andian sebuah esan adalah sebagai berikut .eks iasa .eks .ersandi -
kirim asukan ke sa!a kiri 7,,P SD@N7D9 7> @DDS 7,,
%*!!*% @igenere ?hier Sandi @igenQre adalah metode men!andikan teks al'abet dengan menggunakan deretan sandi ?aesar berdasarkan huru'*huru' ada kata kun#i Sandi @igenQre meruakan bentuk sederhana dari sandi substitusi olial'abetik elebihan sandi ini dibanding sandi ?aesar dan sandi monoal'abetik lainn!a adalah sandi ini tidak begitu rentan terhada metode eme#ahan sandi !ang disebut analisis 'rekuensi
umus enkrisi igenere #iher atau Ci = ( Pi + Ki ) – 26 kalau hasil enjumlahan Pi dan Ki lebih dari 2
umus dekrisi igenere #iher atau Pi = ( Ci – Ki ) + 26 kalau hasil engurangan Ci dengan Ki minus
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
eterangan ?i H nilai desimal karakter #ihertet ke*i Pi H nilai desimal karakter laintet ke*i i H nilai desimal karakter kun#i ke*i
Nilai desimal karakter !"# $"% &"' ... "')
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
BAB III
Penutu
,*!* Kesim2ulan Arra! adalah suatu ariabel !ang terdiri dari sekumulan data dimana data*data tersebut memun!ai tie data !ang sama Setia data disiman dalam alamat memori !ang berbeda* beda dan disebut dengan elemen arra! Setia elemen memun!ai nilai indeks sesuai dengan urutann!a Sta#k adalah suatu tumukan atau kumulan data !ang menggunakan konse ,/"I (last in first out ) &lemen terakhir !ang di letakan adalah elemen ertama !ang akan diambil onsen!a sama seerti tumukan benda !ang biasa kita temukan dalam kehiduan sehari* hari
9ueue meruakan suatu struktur data linear onsen!a hamir sama dengan Sta#k erbedaann!a adalah oerasi enambahan dan enghausan ada ujung !ang bebeda Penghausan dilakukan ada bagian dean ('ront) dan enambahan berlaku ada bagian belakang (ear) Fungsi rekursif adalah suatu fungsi yang memanggil dirinya
sendiri. Pada beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi. Namun demikian, fungsi rekursif juga memiliki kelemahan. :rah adalah kumulan noktah (simul) di dalam bidang dua dimensi !ang dihubungkan dengan sekumulan garis (sisi) :rah daat digunakan untuk mereresentasikan objek*objek diskrit dan hubungan antara objek*objek tersebut eresentasi isual dari grah adalah dengan men!atakan objek sebagai noktah bulatan atau titik (@erte) sedangkan hubungan antara objek din!atakan dengan garis ( &dge) Sorting bisa dide'inisikan sebagai suatu roses engurutan data !ang sebelumn!a disusun se#ara a#ak sehingga menjadi tersusun se#ara teratur menurut suatu aturan tertentu Sorting !ang kita terakan menggunakan tie data arra! agar emahaman serta engimlementasiann!a lebih mudah Pada umumn!a terdaat dua jenis engurutan !aitu As#ending (7aik) dan Des#ending (.urun) omresi data a dalah roses engkodean in'ormasi menggunakan bit atau in'ormation*bearing unit !ang lain !ang lebih rendah dariada reresentasi data !ang tidak terkodekan dengan suatu s!stem en#oding tertentu Se#ara umum komresi daat diartikan dengan menge#ilkan ukuran dalam hal ini adalah data &nkrisi adalah suatu metode !ang digunakan untuk mengkodekan data sedemikian rua sehingga keamanan in'ormasin!a terjaga dan tidak daat diba#a tana di dekrisi (kebalikan dari roses enkrisi) dahulu &n#r!tion berasal dari bahasa !unani kr!tos !ang artin!a tersembun!i atau rahasia
,*%* Kriti/ 0an Saran Dalam en!usunan makalah ini enulis men!adari bah%a masih terdaat ban!ak kekurangan dan kesalahan sehingga segala kritik dan saran !ang bersi'at membangun akan kami terima dengan senang hati
elas *1 + Asisten ,aboratorium- us%an &'endi Praktikum Struktur Data dan Algoritma + S*1 .eknologi /n'ormasi + niersitas Sumatera tara + 201
Da)tar Pusta/a
htts-%ikimediaorgairestE1mediamathrendersg528bbb#'03d10d8ba;25a141;; =b'#b#4'80;
htts-id%ikiediaorg%ikiSandiE@igenR?3RA;re
htts-id%ikiediaorg%ikiSandiE?aesar
htts-id%ikiediaorg%ikiAlgoritmaEDijkstra
htts-en%ikiediaorg%ikiruskalsEalgorithm
htts-id%ikiediaorg%ikiAlgoritmaEPrim
htts-asmauna%ordress#om20130404minimum*saning*tree*algoritma*kruskal*dan* algoritma*rim
htts-'urLonubd%ordress#om#ategor!struktur*data*data*stru#tures
htts-en%ikiediaorg%ikiinar!Esear#hEtree
htts-%%%a#ademiaedu114=5212ModulEStrukturEDataE,engka
htt-elektrouma#id%*#ontentuloads2010=Modul*8*.ree*2015d'
htt-arnale#turerensa#idModulEASD11R20.reed'
htt-entinle#turerensa#idStrukturR20DataR20TR20AlgoritmabukuData R20Stru#tureR20*R20abR201d'