If-Koubou

Apa itu Algoritma Komputer, dan Bagaimana Cara Kerjanya?

Apa itu Algoritma Komputer, dan Bagaimana Cara Kerjanya? (Bagaimana caranya)

Kecuali Anda menyukai matematika atau pemrograman, kata "algoritme" mungkin bahasa Yunani bagi Anda, tetapi ini adalah salah satu blok bangunan dari semua yang Anda gunakan untuk membaca artikel ini. Berikut penjelasan singkat tentang apa itu, dan bagaimana cara kerjanya.

Disclaimer: Saya bukan seorang guru matematika atau ilmu komputer, jadi tidak semua istilah yang saya gunakan bersifat teknis. Itu karena saya mencoba menjelaskan semuanya dalam bahasa Inggris biasa karena orang tidak cukup nyaman dengan matematika. Yang sedang berkata, ada beberapa matematika yang terlibat, dan itu tidak dapat dihindari. Geeks matematika, jangan sungkan untuk mengoreksi atau menjelaskan dengan lebih baik di komentar, tapi tolong, buatlah tetap sederhana bagi orang-orang yang secara matematis bergolak di antara kita.

Gambar oleh Ian Ruotsala

Apa itu Algoritma?

Kata 'algoritma' memiliki etimologi yang mirip dengan 'aljabar,' kecuali bahwa ini mengacu pada ahli matematika Arab sendiri, al-Khwarizmi (hanya berita gembira yang menarik). Algoritma, untuk non-programmer di antara kita, adalah seperangkat instruksi yang mengambil input, A, dan memberikan output, B, yang mengubah data yang terlibat dalam beberapa cara. Algoritma memiliki berbagai macam aplikasi. Dalam matematika, mereka dapat membantu menghitung fungsi dari titik dalam kumpulan data, di antara banyak hal yang lebih maju. Selain dari penggunaannya dalam pemrograman itu sendiri, mereka memainkan peran utama dalam hal-hal seperti kompresi file dan enkripsi data.

Satu Set Petunjuk Dasar

Katakanlah teman Anda bertemu dengan Anda di toko kelontong dan Anda membimbingnya ke arah Anda. Anda mengatakan hal-hal seperti "masuk melalui pintu sisi kanan," "lewati bagian ikan di sebelah kiri," dan "jika Anda melihat produk susu, Anda melewatiku." Algoritme bekerja seperti itu. Kita dapat menggunakan diagram alur untuk mengilustrasikan instruksi berdasarkan kriteria yang kita ketahui sebelumnya atau mencari tahu selama proses tersebut.

(gambar berjudul "Icebreaking Routine" EDIT: courtesy of Trigger and Freewheel)

Mulai dari START, Anda akan menyusuri jalan setapak, dan bergantung pada apa yang terjadi, Anda mengikuti “aliran” ke hasil akhir. Flowchart adalah alat visual yang dapat lebih dimengerti mewakili satu set instruksi yang digunakan oleh komputer. Demikian pula, algoritma membantu melakukan hal yang sama dengan lebih banyak model berbasis matematika.

Grafik

Mari gunakan grafik untuk mengilustrasikan berbagai cara yang dapat kami berikan arah.

Kami dapat menyatakan grafik ini sebagai koneksi di antara semua poinnya. Untuk mereproduksi gambar ini, kita dapat memberikan satu set instruksi kepada orang lain.

Metode 1

Kami dapat mewakili ini sebagai serangkaian poin, dan informasi akan mengikuti bentuk standar grafik = (x1, y1), (x2, y2), ..., (xn, yn).

grafik = (0,0), (3,0), (3,3), (5,5), (7,10), (8,7), (9,4), (10,1)

Sangat mudah untuk memplot setiap titik, satu demi satu, dan menghubungkannya ke titik sebelumnya. Namun, bayangkan grafik dengan seribu poin atau beberapa segmen semuanya terjadi di mana-mana. Daftar itu akan memiliki banyak data, bukan? Dan kemudian harus menghubungkan masing-masing, satu per satu, bisa menjadi sakit.

Metode 2

Hal lain yang bisa kita lakukan adalah memberikan titik awal, kemiringan garis antara itu dan titik berikutnya, dan menunjukkan di mana mengharapkan titik berikutnya menggunakan bentuk standar grafik = (titik awal, [m1, x1, h1 ], ..., [mn, xn, hn]. Di sini, variabel 'm' mewakili kemiringan garis, 'x' merepresentasikan arah untuk menghitung (apakah x atau y), dan 'h' memberi tahu Anda bagaimana banyak yang menghitung arah kata, Anda juga dapat mengingat untuk merencanakan suatu titik setelah setiap gerakan.

grafik = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [-3, x, 1], [-3, x, 1]

Anda akan berakhir dengan grafik yang sama. Anda dapat melihat bahwa tiga istilah terakhir dalam ekspresi ini adalah sama, sehingga kami mungkin dapat memangkasnya dengan hanya mengatakan "ulangi tiga kali" dalam beberapa cara. Katakanlah kapan saja Anda melihat variabel 'R' muncul, artinya mengulangi hal terakhir. Kami bisa melakukan ini:

grafik = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 1], [R = 2]

Bagaimana jika poin individu tidak terlalu penting, dan hanya grafik itu sendiri? Kita dapat mengkonsolidasikan ketiga bagian terakhir seperti ini:

grafik = (0,0), [0, x, 3], [0, y, 3], [1, x, 2], [2,5, x, 2], [-3, x, 3]

Ini mempersingkat sedikit dari tempat mereka sebelumnya.

Metode 3

Mari coba lakukan ini dengan cara lain.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤8
y = -3x + 29, 8≤x≤9
y = -3x + 29, 9≤x≤10

Di sini kita memilikinya dalam istilah aljabar murni. Sekali lagi, jika poin itu sendiri tidak penting dan hanya grafiknya, kita dapat mengkonsolidasikan ketiga item terakhir.

y = 0, 0≤x≤3
x = 0, 0≤y≤3
y = x, 3≤x≤5
y = 2,5x-7,5, 5≤x≤7
y = -3x + 29, 7≤x≤10

Sekarang, metode mana yang Anda pilih bergantung pada kemampuan Anda. Mungkin Anda hebat dengan matematika dan grafik, jadi Anda memilih opsi terakhir. Mungkin Anda pandai menavigasi, sehingga Anda memilih opsi kedua. Namun di ranah komputer, Anda melakukan banyak jenis tugas dan kemampuan komputer tidak benar-benar berubah. Oleh karena itu, algoritme dioptimalkan untuk tugas yang diselesaikan.

Hal penting lainnya yang perlu diperhatikan adalah setiap metode bergantung pada kunci. Setiap set instruksi tidak ada gunanya kecuali Anda tahu apa yang harus dilakukan dengan mereka. Jika Anda tidak tahu bahwa Anda harus merencanakan setiap titik dan menghubungkan titik-titiknya, set poin pertama tidak berarti apa-apa. Kecuali Anda tahu apa artinya masing-masing variabel dalam metode kedua, Anda tidak akan tahu cara menerapkannya, seperti kunci untuk sandi.Kunci itu juga merupakan bagian integral dari penggunaan algoritme, dan seringkali, kunci itu ditemukan di komunitas atau melalui "standar".

Kompresi file

Ketika Anda mengunduh file .zip, Anda mengekstrak isinya sehingga Anda dapat menggunakan apa pun yang ada di dalamnya. Saat ini, sebagian besar sistem operasi dapat masuk ke file .zip seperti folder normal, melakukan segala sesuatu di latar belakang. Pada mesin Windows 95 saya lebih dari satu dekade yang lalu, saya harus mengekstrak semuanya secara manual sebelum saya bisa melihat apa pun selain nama file di dalamnya. Itu karena apa yang disimpan di disk sebagai file .zip tidak dalam bentuk yang dapat digunakan. Pikirkan sofa tarik. Ketika Anda ingin menggunakannya sebagai tempat tidur, Anda harus melepas bantal dan membuka lipatannya, yang membutuhkan lebih banyak ruang. Ketika Anda tidak membutuhkannya, atau Anda ingin memindahkannya, Anda dapat melipatnya kembali.

Algoritma kompresi disesuaikan dan dioptimalkan khusus untuk jenis file yang ditargetkan. Format audio, misalnya, masing-masing menggunakan cara yang berbeda untuk menyimpan data yang, ketika didekodekan oleh codec audio, akan memberikan file suara yang mirip dengan bentuk gelombang aslinya. Untuk informasi lebih lanjut tentang perbedaan itu, lihat artikel kami sebelumnya, Apa Perbedaan Antara Semua Format Audio Itu? Format audio lossless dan file .zip memiliki satu kesamaan: keduanya menghasilkan data asli dalam bentuk yang tepat setelah proses dekompresi. Codec audio lossy menggunakan cara lain untuk menghemat ruang disk, seperti frekuensi pemangkasan yang tidak dapat didengar oleh telinga manusia dan menghaluskan bentuk gelombang dalam beberapa bagian untuk menyingkirkan beberapa detail. Pada akhirnya, sementara kita mungkin tidak dapat benar-benar mendengar perbedaan antara MP3 dan track CD, pasti ada defisit informasi di bagian sebelumnya.

Enkripsi data

Algoritma juga digunakan ketika mengamankan data atau jalur komunikasi. Alih-alih menyimpan data sehingga menggunakan lebih sedikit ruang disk, itu disimpan dengan cara yang tidak terdeteksi oleh program lain. Jika seseorang mencuri hard drive Anda dan mulai memindainya, mereka dapat mengambil data bahkan ketika Anda menghapus file karena datanya sendiri masih ada, meskipun lokasi penerusannya hilang. Ketika data dienkripsi, apa pun yang tersimpan tidak seperti apa itu. Biasanya terlihat acak, seolah-olah fragmentasi telah dibangun dari waktu ke waktu. Anda juga dapat menyimpan data dan membuatnya tampil sebagai jenis file lain. File gambar dan file musik bagus untuk ini, karena bisa sangat besar tanpa menimbulkan kecurigaan, misalnya. Semua ini dilakukan dengan menggunakan algoritma matematika, yang mengambil beberapa jenis input dan mengubahnya menjadi jenis output lain yang sangat spesifik. Untuk informasi lebih lanjut tentang cara kerja enkripsi, periksa HTG Menjelaskan: Apa itu Enkripsi dan Bagaimana Cara Kerjanya?

Algoritma adalah alat matematika yang menyediakan berbagai kegunaan dalam ilmu komputer. Mereka bekerja untuk menyediakan jalur antara titik awal dan titik akhir dengan cara yang konsisten, dan memberikan instruksi untuk mengikutinya. Tahu lebih dari apa yang kami soroti? Bagikan penjelasan Anda di komentar!