Beranda » bagaimana » Apa Algoritma Komputer, dan Bagaimana Cara Kerjanya?

    Apa Algoritma Komputer, dan Bagaimana Cara Kerjanya?

    Kecuali Anda menyukai matematika atau pemrograman, kata "algoritma" mungkin adalah bahasa Yunani untuk Anda, tetapi itu adalah salah satu blok bangunan dari semua yang Anda gunakan untuk membaca artikel ini. Inilah penjelasan singkat tentang apa itu mereka, dan bagaimana mereka bekerja.

    Penafian: Saya bukan guru matematika atau ilmu komputer, jadi tidak semua istilah yang saya gunakan bersifat teknis. Itu karena saya mencoba menjelaskan semuanya dalam bahasa Inggris yang sederhana untuk orang-orang tidak nyaman dengan matematika. Yang sedang berkata, ada beberapa matematika yang terlibat, dan itu tidak bisa dihindari. Geeks matematika, silakan mengoreksi atau menjelaskan dengan lebih baik di komentar, tapi tolong, sederhanakan untuk yang secara matematis tidak setuju di antara kita.

    Gambar oleh Ian Ruotsala

    Apa itu Algoritma??

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

    Set Instruksi Dasar

    Katakanlah teman Anda bertemu 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 melewati saya." Algoritma bekerja seperti itu. Kita dapat menggunakan diagram alur untuk menggambarkan instruksi berdasarkan kriteria yang kita ketahui sebelumnya atau mencari tahu selama proses.

    (gambar berjudul "Icebreaking Rutin" EDIT: milik Trigger dan Freewheel)

    Dari MULAI, Anda akan menuju jalan, dan tergantung pada apa yang terjadi, Anda mengikuti "aliran" ke hasil akhir. Flowchart adalah alat visual yang dapat lebih dimengerti mewakili serangkaian instruksi yang digunakan oleh komputer. Demikian pula, algoritma membantu melakukan hal yang sama dengan model berbasis matematika lainnya.

    Grafik

    Mari kita gunakan grafik untuk menggambarkan berbagai cara yang bisa kita berikan arah.

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

    Metode 1

    Kita dapat mewakili ini sebagai serangkaian poin, dan informasinya 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)

    Cukup mudah untuk merencanakan setiap titik, satu demi satu, dan menghubungkannya ke titik sebelumnya. Namun, bayangkan sebuah grafik dengan seribu poin atau banyak segmen semuanya berjalan ke segala arah. Daftar itu akan memiliki banyak data, bukan? Dan kemudian harus menghubungkan masing-masing, satu per satu, dapat menyebalkan.

    Metode 2

    Hal lain yang dapat kita lakukan adalah memberikan titik awal, kemiringan garis antara titik itu dan titik berikutnya, dan menunjukkan di mana harus mengharapkan titik berikutnya menggunakan bentuk standar grafik = (titik awal, [m1, x1, h1 ],…, [Mn, xn, hn]. Di sini, variabel 'm' mewakili kemiringan garis, 'x' mewakili arah untuk menghitung (apakah x atau y), dan 'h' memberitahu Anda bagaimana banyak yang harus dihitung dalam arah kata. Anda juga dapat mengingat untuk merencanakan 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 ungkapan ini sama, jadi kami mungkin dapat memangkasnya hanya dengan mengatakan "ulangi tiga kali" dengan cara tertentu. Katakanlah kapan saja Anda melihat variabel 'R' muncul, itu berarti mengulangi hal terakhir. Kita 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 masing-masing poin tidak terlalu penting, dan hanya grafiknya yang penting? Kami dapat menggabungkan tiga bagian terakhir seperti:

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

    Ini mempersingkat segalanya dari tempat mereka sebelumnya.

    Metode 3

    Mari kita 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 poinnya sendiri tidak penting dan hanya grafik yang penting, kita dapat menggabungkan tiga 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 tergantung pada kemampuan Anda. Mungkin Anda hebat dalam matematika dan grafik, jadi Anda memilih opsi terakhir. Mungkin Anda pandai bernavigasi, jadi Anda memilih opsi kedua. Namun, di bidang komputer, Anda melakukan banyak jenis tugas dan kemampuan komputer tidak benar-benar berubah. Oleh karena itu, algoritma dioptimalkan untuk tugas-tugas yang mereka selesaikan.

    Poin penting lain yang perlu diperhatikan adalah bahwa setiap metode bergantung pada kunci. Setiap rangkaian instruksi tidak berguna kecuali Anda tahu apa yang harus dilakukan dengannya. Jika Anda tidak tahu bahwa Anda seharusnya memplot setiap titik dan menghubungkan titik-titik, set poin pertama tidak berarti apa-apa. Kecuali Anda tahu apa arti setiap variabel dalam metode kedua, Anda tidak akan tahu cara menerapkannya, seperti kunci ke sandi. Kunci itu juga merupakan bagian integral dari penggunaan algoritme, dan seringkali, kunci itu ditemukan di komunitas atau melalui "standar."

    Kompresi File

    Saat Anda mengunduh file .zip, Anda mengekstrak isinya sehingga Anda dapat menggunakan apa pun yang ada di dalamnya. Saat ini, sebagian besar sistem operasi dapat menyelam ke file zip. Itu 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 lebih dari nama file di dalamnya. Itu karena apa yang disimpan dalam disk sebagai file .zip tidak dalam bentuk yang dapat digunakan. Pikirkan sofa tarik. Saat Anda ingin menggunakannya sebagai tempat tidur, Anda harus melepas bantal dan membuka lipatannya, yang membutuhkan lebih banyak ruang. Saat Anda tidak membutuhkannya, atau ingin mengangkutnya, 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 diterjemahkan oleh codec audio, akan memberikan file suara yang mirip dengan bentuk gelombang asli. 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: mereka berdua menghasilkan data asli dalam bentuk yang tepat setelah proses dekompresi. Codec audio yang hilang menggunakan cara lain untuk menghemat ruang disk, seperti pemangkasan frekuensi yang tidak dapat didengar oleh telinga manusia dan menghaluskan bentuk gelombang dalam beberapa bagian untuk menghilangkan beberapa detail. Pada akhirnya, walaupun kita mungkin tidak dapat benar-benar mendengar perbedaan antara MP3 dan CD, pasti ada kekurangan informasi pada versi sebelumnya..

    Enkripsi data

    Algoritma juga digunakan saat 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 memindai, mereka dapat mengambil data bahkan ketika Anda menghapus file karena data itu sendiri masih ada, meskipun lokasi penerusan itu hilang. Ketika data dienkripsi, apa pun yang disimpan tidak terlihat seperti apa adanya. Biasanya terlihat acak, seolah-olah fragmentasi telah menumpuk dari waktu ke waktu. Anda juga dapat menyimpan data dan membuatnya tampak sebagai jenis file lain. File gambar dan file musik bagus untuk ini, karena mereka bisa sangat besar tanpa menggambar 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, lihat HTG Explains: 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 secara konsisten, dan memberikan instruksi untuk mengikutinya. Tahu lebih dari apa yang kami soroti? Bagikan penjelasan Anda di komentar!