BAB 5

ALGORITMA DAN PEMROGRAMAN


A.Pengertian Algoritma

Algoritma adalah metode atau langkah yang direncanakan secara tersusun dan berurutan untuk menyelesaikan atau memecahkan permasalahan dengan sebuah intruksi atau kegiatan

Perkembangan ilmu pengetahuan dan teknologi menjadikan manusia mampu menghasilkan karya-karya yang semakin canggih dan kompleks. Meskipun komputer dapat melakukan perhitungan dengan cepat dibandingkan manusia pada umumnya, namun komputer tidak bisa menyelesaikan masalah begitu saja tanpa diajarkan oleh manusia melalui urutan langkah-langkah (algoritma) penyelesaian yang dide?nisikan terlebih dahulu. Selain digunakan untuk pemecahan masalah menggunakan komputer, algoritma juga dapat diterapkan dalam menyelesaikan permasalahan sehari-hari yang membutuhkan sederet proses atau langkah-langkah prosedural. Agar lebih memahami apa itu algoritma mari kita pelajari pengertiannya dari beberapa sumber.

Pada beberapa sumber buku diperoleh pengertian dari algoritma di antaranya :
1. Algoritma menurut (Kani, 2020, 1.19) adalah suatu upaya dengan urutan operasi yang disusun secara logis dan sistematis untuk menyelesaikan suatu masalah untuk menghasilkan suatu output tertentu.
2. Algoritma berasal dari kata algoris dan ritmis yang pertama kali diperkenalkan oleh Abu Ja’far Muhammad Ibn Musa Al Khwarizmi pada 825 M di dalam buku Al-Jabr Wa-al Muqabla. Dalam bidang pemrograman, algoritma dide?nisikan sebagai metode yang terdiri dari serangkaian langkah yang terstruktur dan sistematis untuk menyelesaikan masalah dengan bantuan komputer (Jando & Nani, 2018, 5).
3. Algoritma menurut (Munir & Lidya, 2016, 5) adalah urutan langkah-langkah untuk menyelesaikan suatu persoalan.
4. Algoritma merupakan sekumpulan instruksi atau langkah-langkah yang dituliskan secara sistematis dan digunakan untuk menyelesaikan masalah / persoalan logika dan matematika dengan bantuan komputer (Sismoro, 2005, 29).

B.Notasi Algoritma Fungsi Dan Macam Macamnya

Fungsi Algoritma

Algoritma itu sendiri terbagi menjadi dua hal yaitu prosedur dan fungsi dari algoritma. Fungsi dari algoritme itu sendiri tidak berbeda secara signifikan dengan cara kerja algoritme. Hanya saja yang membedakan adalah apakah fungsi algoritma memiliki keluaran yang lebih banyak dengan jenis variabel yang berbeda. Algoritma merupakan bagian penting dari komputer yang membutuhkan algoritma untuk mengolah data di komputer tersebut. Secara sederhana, dapat dikatakan bahwa fungsi algoritma meningkatkan perangkat lunak atau perangkat dan bekerja lebih optimal.Ada beberapa alasan mengapa fungsi algoritma dibutuhkan pada sebuah komputer. Berikut adalah alasan utama mengapa menggunakan fungsi algoritme sangat penting:

  • Program yang kompleks dapat diselesaikan dengan bantuan fungsi algoritmik.
  • Menggunakan fungsi algoritmik dapat mengubah program besar menjadi program yang lebih sederhana.
  • Fungsi algoritma dapat digunakan berulang kali atau lebih dari satu kali (lihat juga: Kelebihan dan kekurangan matrikulasi)
  • Permudah pembuatan program
  • Dapat memecahkan masalah apa pun dengan logika dan ketertiban,
  • Penggunaan fungsi algoritmik dapat bersifat top-down, dibagikan, dan ditaklukkan.
  • Meminimalkan program penulisan berulang,
  • Program yang ada disusun lebih jelas sehingga lebih mudah dipahami atau dikembangkan.
  • Jika terjadi kesalahan, itu dapat dengan mudah ditemukan karena fungsi algoritme bisa mendapatkan jalur yang unik
  • Jika Anda ingin melakukan perubahan pada program, Anda hanya dapat melakukannya pada satu modul tanpa harus mengubah dan mengganggu modul lainnya.
  • Dokumentasi yang lebih sederhana.
Macam-Macam Algoritma

  • Algoritma Rekursi

Algoritme rekursif adalah algoritme yang memanggil dirinya sendiri berulang kali hingga masalah terpecahkan.

Misalnya, berikut adalah kode yang menggunakan algoritme rekursi untuk menemukan fakultas:

  1. Fact(y)
  2. If y is 0
  3. return 1
  4. return (y * fact (y-1)) / * rekursi terjadi di sini * /
  • Algoritma Divide and Conquer

Algoritma Divide and Conquer adalah algoritma yang membagi masalah besar menjadi masalah yang lebih kecil. Algoritma ini terdiri dari dua bagian yaitu:

  1. Pecahkan masalah menjadi beberapa sub-masalah independen yang lebih kecil dari jenis yang sama.
  2. Temukan solusi akhir untuk masalah asli setelah menyelesaikan masalah kecil ini secara terpisah.
  3. Menggabungkan pengurutan dan pengurutan cepat dapat dilakukan dengan menggunakan algoritma Divide and Conquer. Berikut adalah contoh pseudocode dari algoritma ini:

MergeSorting(ar[], l,  r)

If r > l

Find the mid-point to divide the given array into two halves: tengah m = (l + r) / 2

Call mergeSorting for the first half: Panggil mergeSorting (ar, l, m).

Call mergeSorting for the second half: Panggil mergeSorting (ar, m + 1, r)

Merge the halves sorted in step 2 and 3: Gabungkan panggilan (ar, l, m, r

•Algoritma Dynamic Programming

Algoritme ini mengingat hasil dari proses sebelumnya dan menggunakannya untuk menemukan hasil baru. Dengan kata lain, algoritma pemrograman dinamis memecahkan masalah yang kompleks dengan memecahnya menjadi beberapa sub-masalah sederhana dan kemudian menyelesaikannya satu kali dan kemudian menyimpannya untuk digunakan di masa mendatang.


Urutan Fibonacci adalah contoh algoritma pemrograman dinamis. Berikut adalah contoh pseudocode:


Fibonacci (N) = 0 (untuk n = 0)

= 0 (untuk n = 1)


Algoritma Greedy

Algoritma ini digunakan untuk menyelesaikan masalah optimasi. Dalam algoritme ini kami menemukan solusi optimal secara lokal (terlepas dari konsekuensi masa depan) dan berharap menemukan solusi optimal di tingkat global.


Algoritma ini terdiri dari 5 komponen:


Kumpulan kandidat yang kami cari solusinya.

Fungsi pemilihan untuk memilih kandidat terbaik.

Kelayakan untuk berpartisipasi, yang dapat digunakan untuk menentukan apakah seorang kandidat dapat digunakan untuk mencari solusi.

Fungsi obyektif yang memberikan nilai pada solusi yang mungkin atau solusi parsial.

Fungsi solusi yang memberi tahu Anda saat kami telah menemukan solusi untuk masalah tersebut.


C.MENGENAL PEMROGRAMAN

1.PENGERTIAN BAHASA PEMROGRAMAN

Bahasa pemrograman adalah suatu istilah yang pasti sudah tidak asing lagi untuk Anda para programmer pemula. Dengan menggunakan bahasa ini, Anda bisa membuat PC atau smartphone bekerja dengan baik, membuat fungsi yang secara otomatis bisa mati pada pendingin ruangan, hingga membuat robot.


2.FUNGSI DAN MANFAAT BAHASA PEMROGRAMAN

Fungsi bahasa pemrograman komputer

Fungsi utama dari bahasa pemrograman komputer adalah memberikan instruksi pada komputer. Bahasa programmer merupakan media komunikasi antara manusia dengan komputer.


Sehingga manusia dapat memerintahkan mesin secara spesifik apa yang harus dilakukan lewat bahasa programan.


Selain berungsi sebagai media komunikasi, bahasa pemrograman komputer juga bersungsi media pengembangan sistem.


3.MACAM MACAM BAHASA PEMROGRAMAN


Java

Menjadi salah satu bahasa yang sangat populer karena dapat digunakan pada berbagai platform yang berbeda. Fleksibilitas ini menjadi fokus karena kini program diharuskan tak hanya optimal di satu platform namun juga dapat digunakan secara baik di banyak tipe perangkat. Kelebihan yang bisa didapatkan adalah Java masuk dalam pemrograman orientasi objek sehingga lebih mudah untuk developer memberikan output maksimal


Bahasa

Merupakan salah satu bahasa pemrograman yang paling awal ditemukan dan digunakan. Awal kemunculannya bisa ditarik hingga tahun 1970-an. Bahasa ini digunakan sebagai bahasa umum yang diajarkan di perguruan tinggi atau tempat kursus karena merupakan bahasa dasar yang sangat aplikatif di berbagai konteks pemrograman. Idealnya, pemahaman pada bahasa ini diperlukan untuk dapat memudahkan proses belajar penggunaan bahasa yang lain


P

Hypertext Pre-Processor adalah bahasa yang juga populer di kalangan developer di Indonesia. Satu faktor yang menyebabkan bahasa ini populer adalah karena bahasa ini bisa digunakan secara gratis. Selain itu, penggunaan PHP lebih cenderung ke arah pengelolaan dan pembuatan web yang dinamis yang kini sangat banyak bermunculan karena keperluan bisnis dan pemasaran produk


Visual Bas

Menjadi produk dari Microsoft, Visual Basic menawarkan IDE Visual dalam pembuatan software. Penggunaannya berorientasi pada pembuatan perangkat lunak yang digunakan pada basis sitem operasi WIndows dan merupakan ‘keturunan’ dari bahasa pemrograman BASIC. Survey menunjukkan bahwa bahasa ini sangat banyak digunakan dan memiliki komunitas tersendiri tempat developer bertukar informasi dan membahas isu terkini terkait dengan Visual Basic


Phyt

Phyton adalah bahasa pemrograman tingkat tinggi namun mudah dipahami oleh pemula. Hal ini disebabkan karena pembacaannya menggunakan syntax tidak terlalu rumit. Phyton banyak digunakan oleh perusahaan besar dalam pengembangannya, seperti Instagram, Pinterest bahkan Google. Tentu bahasa ini memiliki kualitas yang cenderung baik karena perusahaan besar mengandalkan Phyton dalam pengembangan web-nya


C

C++ adalah bahasa yang dikembangkan dari bahasa C yang sebelumnya dibahas. Penulisannya hampir sama, namun terdapat perbedaan pada penyelesaian masalah. Jika pada bahasa C masalah diselesaikan dengan pembagian ke dalam sub masalah yang lebih kecil, C++ menyelesaikan masalah dengan pembagian ke dalam kelas-kelas tertentu sehingga proses penyelesaiannya dapat dilakukan lebih cepat dan efektif


Perbedaan Penggunaan Bahasa Pemrogram

Penggunaan bahasa yang berbeda mungkin saja terjadi dalam pengembangan satu aplikasi atau program. Tujuannya sederhana, agar program yang dibuat dapat menjadi program yang mudah dioperasikan dan mudah dipahami oleh pengguna. Pengguna program sebagai konsumen akhir dari produk program berhak mendapatkan kemudahan sehingga program dapat membantu kehidupannya


Tentu pemilihan bahasa pemrograman yang digunakan tergantung beberapa faktor. Misalnya, seperti apa program yang ingin dibuat, apa yang diinginkan oleh konsumen atau klien yang bersangkutan, bagaimana pertimgbangan developer sebagai produsen program, serta untuk apa program tersebut dibuat (tujuan dan fungsi yang diinginkan). setiap faktor ini harus dipertimbangkan sehingga memberikan output yang terbai



Dalam praktek pembuatan program tentu banyak permasalahan yang muncul. Developer harus memahami benar penggunaan bahasa pemrograman agar dapat mengantisipasi atau mengatasi masalah tersebut. Jangan sampai ketika program diluncurkan masalah masih muncul dan menyulitkan konsumen akhir dalam penggunaannya. Selain dapat mengurangi kredibilitas developer ini juga akan mengurangi citra baik program tersebut






Postingan populer dari blog ini

PERANGKAT KERAS DAN LUNAK UNTUK MENGAKSES INTERNET

PERTEMUAN 4 MENGENAL INTERNET