Tutorial website Programing, komputer dan jaringan
Pemrograman

Algoritma Dalam Pemrograman

Hampir semua aktivitas pemrograman tidak bisa lepas dari yang namanya algoritma. Algoritma sendiri adalah suatu urutan atau alur yang dipakai dalam perhitungan atau pemecahan masalah secara sistematis. Dalam aktivitas pemrograman, algoritma sering dianggap sebagai logika dalam penentuan program yang akan dibuat jadi. Algoritma Dalam Pemrograman.

Tetapi, apa hubungannya sebenarnya dari algoritma dengan pemrograman? Algoritma dalam pemrograman bisa memberikan kita berbagai macam keuntungan.

Yang pertama, algoritma ini dapat mengatasi permasalahan rumit dalam program yang kemungkinan besar melibatkan perhitungan tingkat tinggi.

Kedua, algoritma pemrograman juga mampu menyederhanakan program dari program yang besar menjadi program yang lebih sederhana sehingga penggunaannya lebih efektif dan efisien.

Fungsi dari algoritma ini tidak hanya sekali pakai, tapi dapat digunakan secara berulang-ulang. Hal ini memberikan kita keuntungan dalam meminimalisir penulisan program yang berulang-ulang. Jadi, kita tidak perlu lagi repot-repot menuliskan program yang sama di lain waktu. Dalam pembuatan program, pastinya kita akan menjumpai beberapa kesalahan. Hal itu sangat wajar. Dengan menerapkan fungsi algoritma, kita dapat mengatasinya.

Maka pencarian tadi dapat lebih mudah serta dapat diperbaiki dengan cepat karena programnya itu sudah tertata dan tersusun dengan rapi. Nah, setelah tadi kita membahas definisi dan fungsi dari algoritma dalam pemrograman, sekarang kita lanjut ke macam-macam algoritma yang terdiri dari dua jenis.

Ada algoritma searching. Simpelnya, searching adalah sebuah pencarian dalam sekumpulan data. Proses searching ini bisa dilakukan dengan dua cara, ada yang disebut dengan sequential search dan juga binary search. Sequential search merupakan proses pencarian data dengan metode pencarian langsung.

Ini kita lakukan dengan cara mencocokkan data yang akan dicari dengan semua data yang ada di dalam kelompok data. Proses pencocokan data dilakukan secara berurutan satu demi satu, dimulai dari data ke-1 hingga data yang ada di urutan terakhir.

Sedangkan binary search adalah sebuah teknik untuk menemukan nilai tertentu di dalam sebuah baterai yang linear dengan menghilangkan setengah data pada setiap langkahnya. Binary search atau pencarian biner ini dilakukan dengan mencari nilai tengah, melakukan sebuah perbandingan untuk menentukan apakah nilai yang kita cari itu ada sebelum atau sesudah nilai tengah tadi, kemudian kita mencari setengah sisanya lagi dengan cara yang sama.

Kalau tadi searching jenis Algoritma , berikutnya adalah sorting atau pengurutan data. Data-data diurutkan dari yang terkecil sampai yang paling besar ataupun sebaliknya. Tujuannya supaya data tersebut jadi tersusun dengan rapi, terurut, dan juga teratur,

Ada 5 Jesnis Sorting:

  1. Bubble short: Bubble short adalah pengurutan data yang dilakukan dengan membandingkan antara data ke n dengan data ke n+1 atau antara data ke n dengan data ke n-1. Kemudian, jika datanya lebih kecil atau lebih besar akan dilakukan pertukaran pada setiap iterasinya. Terjadi beberapa kali pertukaran atau bahkan tidak sama sekali. Jumlah pengulangan ditentukan oleh banyaknya data atau disebut juga dengan n.
  2. Selection short: Merupakan sebuah algoritma pengurutan yang secara berulang mencari data yang belum terurut dan mencari paling sedikit satu untuk kemudian dimasukkan ke dalam lokasi terakhir.
  3. Insertion short: Insertion short dilakukan dengan cara menyisipkan sebuah angka ke posisi yang kita inginkan. Angka yang disisipkan sudah sesuai dengan urutan literasinya dan jumlah literasi ditentukan oleh banyaknya data atau juga n.
  4. Quick sort: Jadi, quick short ini adalah jenis sorting yang akan mengambil salah satu elemen secara acak, lalu menyimpan semua elemen yang lebih kecil di sebelah kirinya dan semua elemen yang lebih besar di sebelah kanannya. Hal ini dilakukan secara rekursif terhadap elemen di sebelah kiri dan kanan sampai semua elemennya sudah selesai terurut. Algoritma ini termasuk algoritma yang cukup baik dan juga cepat. Hal penting dalam algoritma ini adalah pemilihan data pusatnya harus baik sehingga tidak memperlambat proses sorting secara keseluruhan.
  5.  exchange sort: Jadi, exchange sort ini hampir sama dengan bubble short tapi bedanya itu bagaimana kita membandingkan data antar elemennya, membandingkan satu elemen dengan elemen lainnya.

Kompleksitas suatu Algoritma dibagi menjadi dua, Ada yang disebut dengan time complexity dan yang kedua disebut dengan space complexity.

  • Time complexity adalah seberapa lama waktu yang diperlukan untuk menjalankan sebuah algoritma.
  • Space complexity adalah seberapa besar memori yang digunakan untuk menjalankan sebuah algoritma.

Selain dua itu, ada satu istilah lagi yang disebut dengan time complexity analysis, yang merupakan cara sederhana untuk mengetahui berapa lama waktu yang dibutuhkan untuk menjalankan suatu algoritma dengan input tertentu.

Biasanya ini lebih dikenal dengan sebutan big O notation, yang digunakan untuk mengukur tingkat kompleksitas suatu algoritma. Big O notation ini adalah cara untuk mengkonversi keseluruhan langkah-langkah pada suatu algoritma ke dalam bentuk aljabar, dengan menghiraukan konstanta yang lebih kecil dan koefisien yang tidak berdampak besar terhadap keseluruhannya.

Sebagai programmer, kita sering kali dihadapkan dengan beberapa solusi untuk sebuah permasalahan dan biasanya kita dibingungkan dengan pertanyaan mana solusi yang lebih efisien. Dengan memahami big O notation, kita akan lebih mudah dalam melihat mana algoritma yang lebih efisien yang bisa kita gunakan untuk menyelesaikan permasalahan yang sedang kita hadapi, tadi penjelasan mengenai algoritma yang ada di dalam pemrograman.

Related posts

Cloud Computing

theby

Backend Programming

theby

Hardware System Programming

theby

Leave a Comment

Situs web ini menggunakan cookie untuk meningkatkan pengalaman Anda. Kami akan menganggap Anda baik-baik saja dengan ini, tetapi Anda dapat menyisih jika mau. Terima Read More

Kebijakan Privasi & Cookie