Berikut ini adalah gambaran dari algoritma bubble sort:
Baca Juga: Jurusan Desain Interior
Berikut ini contoh implementasi algoritma Bubble Sort dalam Bahasa pemrograman Python :
def a(x): for i in range(len(x)-1,0,-1): for j in range(i): if x[j]>x[j+1]: temp = x[j] x[j]=x[j+1] x[j+1]=temp angka = [47,10,98,1001,8,79,100,55,78,18] a(angka) print(angka)
Algoritma pemrograman merupakan kumpulan perintah yang harus diikuti komputer dalam melakukan perhitungan atau operasi pemecahan masalah. Definisi formal algoritma pemrograman adalah kumpulan instruksi terbatas yang dilakukan dalam urutan tertentu untuk melakukan tugas tertentu. Perlu diketahui bahwa algoritma pemrograman bukan keseluruhan program atau kode.
Meski demikian, algoritma pemrograman merupakan logika sederhana masalah yang direpresentasikan sebagai deskripsi informal dalam bentuk diagram alur atau kode semu.
Algoritma adalah prosedur langkah bertahap yang dirancang untuk memecahkan masalah tertentu dan melakukan tugas secara efisien di bidang computer science dan matematika. Algoritma adalah rangkaian instruksi yang kuat ini membentuk tulang punggung teknologi terkini untuk mengatur banyak faktor mulai dari penelusuran situs hingga artificial intelligence.
Contoh nyata algoritma yang paling umum adalah pembelajaran mesin atau machine learning. Machine learning menggunakan beberapa algoritma untuk memprediksi hasil tanpa diprogram secara eksplisit untuk melakukannya.
Pembelajaran mesin menggunakan dua jenis, baik pembelajaran dengan pengawasan dan pembelajaran tanpa pengawasan. Ilmuwan data, dalam pembelajaran dalam pengawasan, menyediakan algoritma kompleks melalui data pelatihan berlabel serta melakukan penentuan variabel yang diinginkan agar algoritma menilai korelasinya. Input (masukan) dan output (keluaran) algoritma sudah ditentukan.
Machine learning tanpa pengawasan melibatkan algoritma yang dapat melatih data yang tak berlabel dan menyaringnya untuk mencari pola yang nantinya akan dimanfaatkan untuk mengelompokkan suatu titik data ke suatu sub kumpulan. Mayoritas pembelajaran yang berkaitan dengan pembelajaran mendalam yang termasuk didalamnya jaringan saraf merupakan algoritma tanpa pengawasan.
Mengapa Perlu Algoritma
Algoritma diperlukan karena beberapa alasan berikut ini:
Algoritma membantu pemahaman pengguna tentang skalabilitas. Ketika programmer mempunyai masalah dunia nyata yang cukup besar, programmer harus memecahnya menjadi langkah-langkah kecil agar dapat dianalisis dengan cepat.
Dunia nyata sulit untuk dipecah menjadi langkah-langkah yang lebih kecil. Jika suatu permasalahan dapat dengan mudah dipecah menjadi langkah-langkah yang lebih kecil, hal ini menunjukkan bahwa permasalahan tersebut layak untuk diselesaikan.
Aspek kunci dari algoritma adalah efisiensinya. Efisiensi ini bertujuan untuk menyelesaikan tugas dengan cepat dan dengan sumber daya seminimal mungkin.
Perancang algoritma terus mencari cara untuk mengoptimalkan algoritma mereka. Dengan demikian, algoritma menjadikannya lebih cepat dan lebih dapat diandalkan.
Algoritma diimplementasikan dalam berbagai bahasa pemrograman. Hal ini memungkinkan komputer untuk mengaksesnya dan menghasilkan hasil yang diinginkan.
Jika kalian punya minat dan bakat di bidang sains komputer, tentunya kalian harus memahami bahasa pemrograman. Sebagai media yang menghubungkan pengembang website dengan komputer untuk berkomunikasi, bahasa pemrograman sangat penting untuk dipelajari secara mendalam. Bisa dikatakan jika ini adalah dasar dari sains komputer.
Terlebih di era modern ini pengembangan bahasa pemrograman harus memecahkan masalah melalui tingkat abstraksi lebih canggih. Perkembangan teknologi yang sangat cepat membuat kalian harus lebih banyak belajar berbagai fitur terbaru bahasa pemrograman yang dapat mengekspresikan ragam ide lebih kompleks untuk menyediakan instruksi komputasi.
Lebih jauh tentang pemrograman, baca juga : Jenis-jenis Bahasa Pemrograman dan Penjelasannya.
Modul Algoritma Dan Pemrograman I Dengan Bahasa C++
%PDF-1.7 %µµµµ 1 0 obj <>/Metadata 3063 0 R/ViewerPreferences 3064 0 R>> endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 439.44 666.24] /Contents 4 0 R/Group<>/Tabs/S/StructParents 0>> endobj 4 0 obj <> stream xœ½Ö]kÛ0à{ƒÿù´W|¢#É”‚ó±,[’v±Ç.J/Jisµ°�ÿ“LVÖ%¦®‘0¶ƒ-=¼:–“úûý./'›Ùjb²¾?ì!{<_êüê ¦óüH�"üŒfX9dcJ†Ÿ�iòõÒdÚ¤Éä= †æ)MÈ?-€ èüÚ9”šoþ¹e]Âþ—oöí�=Þ-Óä6ƒüš�i²ð-~NXlf /©42ÕJ,[iìï’#»ÂfL�c‡V�ñÈ0¥PÙ!0=2ŒŒ?�™0 ÄÿÂœðµÅÀN÷€½½?ߪyÙŸÂ’;û›Wu•&Û�Oäæ9Žrp'"Ò-u‰Öyá²ëœ³¥?Vya³Oy¡²êõ³qFìÄ+É¢q=Gì$8"%Ý©Ö!¬�Úul·jÂi“²OxcY:‡V’ƒv`zD1%…�"´®ÈO®á«ØöH,Æ*tÖijûÿfˆ’PùIŠK‰B�ôw³Ø´åÔU¨®]˜/ªc]ùËm|‘þ‹£.Ñ|±ýSé~œ¼ ¦RfÂu{ ³‹‹è*å·+º3§>Û©¿¶ËiÄŠ9.vÌI÷’ýk�ô endstream endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj 11 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/MediaBox[ 0 0 439.44 666.24] /Contents 12 0 R/Group<>/Tabs/S/StructParents 1>> endobj 12 0 obj <> stream xœí\YsãÆ~W•þI×Âœ b—¼¾Û‰b)•‡8ØW¤H…¸œ_ŸîžÇPŒH¥ÊÙŠÌÑÓ=ÝýuOs³‹Ëì³Ï.~xûû/³âóϳ/¾|›ýãü¬Èü§•¬²"“¢Î¥Ì´Ö9—Ùóúü쯟dçg_\ŸŸ]|Í3ƳëçgºËDUä¥Ì+s•]ßCŸo®Êìö Óf·ôTÙ§oÎÏþ¶È–Ï®ÿp~öÌöçó³ì«ÞfÙÅÕSóà)cß7·Ùbý°úæ‹å¯#“eºË¥œñ\•Y]åe%‰T¢pœ° ÖJ皟¸žeD�·g8f*3¥T^ñìÞ=V*—u†ìW™.ê\¡Š\r÷ôþüLp•óÊ5ì¡AɼöýEY»yè«YÇÁ+y^j„ORät3ã«q»vzûã,¶†òì3Ñm'2ßÍ0ps~öáä9ôþÙ2 ö~—ý6ö~eO ;h®4lG¨¼à¯‹œ±Lª**:v=� �9m2s†EVõ�0ju]½¦á¿,åâaY.nš‡¥ZÜèc—:"µøjúåj#›Söš-ëÅ—«rñ¸då"_®4(4c¾\ÉE…ôxÝà×Mû°äZV:°bQàÃW2t]/WÕ‚:¾àÄn�•Z|»älÑì–•™âíR/¶O/@L35È»J²üÛ-ç9‡v¸R}MŸ®¯�¿zq{@^m�E|q³dÊp�8vÀ�-¶}h�õÄ`z³�g±Ø)Àó{â-ö4B@9_6P³7£à«œüìÕ’ÎÞøþN໚€ï2Íwð}j@Ö· rl|cBéÆlQO */ÈÑƲ•Á™>¬áø¾ó·Àwnºßs±¥èÇе-vºÇU¨y‡ºvhIÀ4mê¸'*¨“v¹dvžŽ§o{z§ÂþÝ´Ï8¢ý°ô«ÅÔÒtk<*¦n)�à‰µ#7æ•eÄš»}KänñÔ|X²zaL$^梈çä“'õ6CƒA´Ñ–@C*Ãÿg/¸ÌKŠöÈжmHŸì.™e÷#èƳÎ>»ñ|·¼ñ8dFfØŠ��¦¶Gˆˆ|j.qd�HqéÝÒóÚ4¦r6Ôù˵9Ö5* ò¸nL~#ƒìÛ%2wMÂÜ£¸¶ ld[ôY·V(V — ¾1Sàd{ïƒÈ{é©�/`¼Jmô”ó7 ¯�õÝš¸½öÇ”T¢��7—ÜXêôµÅÙ¶‰�0ŽÓ*Aé#Š3¢h\·ž!ŶÈ�6x¬ÐˆrQ/¸À�oâž�q³±¹¥žgÜá“|u~ú¼ [i‹7€€˜šÍŠJWí¹¬`6÷ÞþïÚ·ûbÞ;Oa\1–¾=--°øÝg¢ªSdŸ UÕ¬Z%Ë*×}™aŒñÖõ{8¶gèÕÈÊU‰•Çâû�ÜhU°är(øµw¾·-ZäÆÃkA$Ø•]‹Z@ÇÈ¢'€ ýNEÐT;¶^¬–ËÑ!\7þÅ£þLF/¼¦†ží�”& Ç|Óî–~•€ød!×]� ÑAÛ) Ÿº›MºÊÕ¤z9웧GOkÁÓ‚–oÁí/ÑN~F'ãÒ`G#§°·ˆ´»(p˹C´»;ÇHÒã%lSYXÚå#M¼³®_Ú�ºî[´îÏÏ»ö†jkF³e&!™£.×E8þèAipZ-Œº{!hî9¶ÿtr+±ˆÑ'˜Øz^+«œ—ÇLì6¶Êë*±ôŒ6v|9ƒ‘��%³vÓxUuJ¥ËŽmœü„”9¯Sô…(ªO’µÂ 8…)·ö%)ëˆÆw`�¡�”_«�Aµó 8¦oTœÙ×}£¢½Q�y;n,8)âyd¼f»¨r6¼šŒmß")*6µg^öû{<-5t�3úßu×nÚ0Åôf·ÇR»;傤˜×®@¤\'âûQd˜>bY*ÑarñÙŽØør'X^� .§ÊÝX…]&¨¡^Vó)·b5ŸòFôòÛ8ËW¾pÜ(¦¯úCCëæÝŸhÿHôR^3 oØ+0š,ÎZÍ.Šsf)dˆÞC?‹ÍÈ>Ø=¬g¶Ž³ÜS^nØÙÇ«øðõ#F©Ø•ÄC†ÃsÜGDA`)ìRŒn°�cx¾·ád ö³ò¹ ÿ‘ßÞ·ÝŒ�!¼F?‡ëÃw4dXßy�·é¥§ ¹OÝŒBå‡ÉLç’¥v|Š�MÝDOcgE]æzH)ð?ñ MocºŠN,<בK,wR„\)Ù·P•âh¡¼×A&ýD4ÎÒYîf{C½é|ìéu~0,@Ê·½ëP;ºª…-z�Ùø�E¾DÜÚ#¤.À!Jk>¶BÀOÛ´Æ`+d <³w 00CasŠÁ»œ-ª„“ìƒââ(†Yú®i0xÕä%*†§kË0ÈKÔÏ$‰²Ìå0¸ižš›}/ñðáawYÃ?¡âM#SÌ•“5“0Š8ø/—“p7,šYÓ½7™„oK…�ÀëàVÒ;¸%“C·I³<£Ñ·°ã€�!pÐvqîÏÝÙÄþÏ©DùµS:geŠøS¼Ÿõ^J`9ÄÐj_áõ^<íL^u›®ÜÃÔ9HÕ·Vø %ƒ/Ž_AÁ#ó¥bòKöŠãE`bc¯Õc1ñë8¬Óó7…(9%pØ\ù›Ñ¥g@ µÌY‘Úé ¶Êñîvzµž\¿ Žã;}qþ ¾¥au¹ø“ |bÕGgÈYeNâVòD½Å9µº
Sorting adalah proses pengurutan data baik dari nilai tertinggi maupun dari nilai terendah. Ada banyak algoritma popular untuk mengurutkan data seperti Bubble Sort, Selection Sort, Quick Sort, Insertion Sort, Merge Sort. Berikut adalah penjelasan dari algoritma Bubble Sort.
Bubble Sort adalah metode pengurutan algoritma dengan cara melakukan penukaran data secara terus menerus sampai bisa dipastikan dalam suatu iterasi tertentu tidak ada lagi perubahan/penukaran. Algoritma ini menggunakan perbandingan dalam operasi antar elemennya.
Ketika Coding tersebut dirun, maka akan muncul hasil seperti dibawah ini :
[8, 10, 18, 47, 55, 78, 79, 98, 100, 1001]
Algoritma Bubble Sort adalah salah satu algoritma pengurutan yang paling sederhana dan paling mudah dipahami dalam pemrograman. Algoritma ini bekerja dengan cara membandingkan dan menukar pasangan elemen yang berdekatan dalam sebuah array, dan mengulanginya hingga seluruh array tersusun dalam urutan yang diinginkan. Disini kita akan mempelajari mengenai cara kerja Algoritma Bubble Sort
Menghitung Luas Segitiga
Petunjuknya adalah a = alas dan t = tinggi
Luas Segitiga = a x t / 2 atau L = 1/2*a*t
Algoritmanya adalah dengan memasukkan nilai alas (a) dan nilai tinggi segitiga (t)
Penghitungan luas menggunakan rumus alas dengan tinggi yang sudah ditentukan
Nilai L akan tercetak sebagai keluaran ke perangkat keluaran atau perangkat output.
Algoritma mengirim surat adalah menulis surat, kemudian menyiapkan amplop, memasukkan surat ke amplop tersebut, lalu amplop surat dilem dan menuliskan alamat tujuan surat, dengan mencari dulu alamat tersebut, lalu tulis alamat di amplop surat tersebut. Kemudian amplop ditempeli perangko lalu menuju ke kantor pos dan menyerahkan suratnya kepada petugas.
Contoh Algoritma dan Flowchart untuk Referensi Belajar
Berikut adalah lima contoh algoritma dan flowchart sebagai cara menghitung berbagai bidang seperti:
Menghitung Luas Persegi Panjang
Input adalah p = panjang dan l = lebar
Luas Persegi Panjang atau L = p x l
Algoritmanya adalah inputkan panjang dan inputkan lebar
Nilai L akan dicetak sebagai output ke perangkat output
Menghitung Keliling Lingkaran
r = jari-jari lingkaran dan phi
Keliling Lingkaran =2 x phi x r
Algoritmanya adalah menetapkan nilai phi = 3.14 dan menghitung jari-jari lingkaran
Rumus Keliling Lingkaran adalah K=2*phi*r
Nilai K dicetak sebagai output ke perangkat output (keluaran)
Menghitung Keliling Persegi yang Diketahui Luas
Input L = Luas , S= sisi
Cara menghitung sisi adalah S = L : 2
Cara menghitung keliling persegi : K= 4 x S
Algoritmanya adalah dengan menginput Luas Persegi dengan menghitung sisi dan menghitung keliling persegi dengan rumus tersebut diatas.
Nilai K = Keliling Persegi akan dicetak sebagai output ke perangkat output