PEMROGRAMAN KOMPUTER
ALGORITMA PEMROGRAMAN
Oleh:
A. Latar Belakang
dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun
bukan algoritma yang baik. Maka dari itu, sebuah algortima yang baik akan
menggunakan algoritma yang efektif, efisien, tepat sasaran dan terstruktur. Untuk
memilih algoritma yang kualifikasinya seperti itu dapat diukur dari waktu
eksekusi algoritma dan kebutuhan ruang memori. Algoritma yang efisien adalah
pada jumlah data yang diproseskan dan algoritma yang digunakan. Kompleksitas
Waktu T(n) adalah jumlah operasi yang dilakukan untuk melaksanakan algoritma
tugas dalam menyelesaikan suat masalah atau problem. Istilah algoritma biasanya
terkait dengan pembuatan suatu program atau software. Sebuah algoritma dapat
B. Tujuan
instruksi yang jelas untuk memecakan masalah, yaitu untuk memperoleh keluaran
diantaranya :
kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan
sistematis.
3. Susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi
yang tersusun secara logis dan sistematis serta akan memperoleh data masukan
John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah
yaitu pencocokan string secara tepat dengan susunan karakter dalam string
yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang
yang terakhir dari pola yang diawali dari karakter paling kanan dari jendela.
Jika cocok, kemudian karakter pertama dari pola teks paling kiri dari jendela
juga dibandingkan. Jika cocok, maka akan dibandingkan karakter tengah pola
dengan karakter teks tengah jendela. Pada akhirnya, jika benar-benar cocok,
maka algoritma membandingkan karakter lain mulai dari pola karakter kedua ke
karakter kedua terakhir dan akan membandingkan dengan karakter tengah lagi
Algoritma C4.5 adalah salah satu dari algoritma yang memiliki dicision tree.
Dicision tree (pohon keputusan) mirip sebuah struktur pohon dimana terdapat
node internal (bukan daun) yang mendeskripsikan atribut – atribut, setiap cabang
menggambarkan hasil dari atribut yang diuji dan setiap daun menggambarkan
kelas. Pohon keputusan ini adalah model prediksi menggunakan struktur pohon
atau struktur berhirarki. Konsep dari pohon keputusan adalah mengubah data
menjadi pohon keputusan dan aturan – aturan keputusan. Data dalam pohon
keputusan biasanya dinyatakan dalam bentuk tabel dengan atribut dan record.
string di dalam teks, dibuat oleh R.M Boyer dan J.S Moore. Algoritma Boyer-
window tetap dari kiri ke kanan. Jika terjadi kecocokkan maka dilakukan
perbandingan karakter teks dan karakter pola yang sebelumnya, yaitu dengan
sama – sama mengurangi indeks teks dan pola masing-masing sebanyak satu.
Dengan mengunakan algoritma ini, secara rata – rata proses pencarian akan
Pertimbangan lain yang harus diperhatikan adalah seberapa baik hasil yang
dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan
keluaran yang benar, tetapi jika harus menunggu lama untuk mendapatkan
yang akan dikeluarkan sama, karena algoritmanya sama (Khairul dkk, 2018).
1. Finiteness (Keterbatasan)
2. Definiteness (Kepastian)
3. Input (Masukan)
Sebuah algoritma memiliki nol atau lebih masukan (input) yang diberikan
4. Output (Keluaran)
Setiap algoritma memberikan satu atau beberapa hasil keluaran.
5. Effectiveness (Efektivitas)
Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan,
pemilihan dan pengulangan. Berikut Penjelasan ringkas dari tiga struktur tersebut
(Nuraini, 2015):
1. Runtunan
2. Pemilihan
Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Instruksi
3. Pengulangan
b. While … Do
c. Repeat ... Until
menggunakan simbol-simbol.
Peubah atau variable hanya dapat menyimpan sebuah nilai saja. Peubah
tidak dapat menyimpan beberapa buah nilai yang bertipe sejenis sekaligus.
dibutuhkan mengolah sekumpulan data yang bertipe sama dalam yang bersamaan,
misalnya dalam kasus menampung hasil ujian 100 orang mahasiswa, tabel harga
– harga barang di swalayan dan lain sebagainya. Dikarenakan setiap elemen data
bertipe sama, maka elemen tersebut, cukup diacu dengan satu nama peubah dan
untuk membedakan elemen data yang satu dengan elemen data yang lainnya,
Flowchart atau bagan alir adalah bagan (Chart) yang dibuat untuk
menunjukan aliran data (flow) di dalam program atau prosedur sistem secara
di dalam program atau prosedur sistem secara logika. Bagan alir digunakan
terutama untuk alat bantu komunikasi dan untuk dokumentasi (Jogiyanto, 2005)
(flow) dari proses terhadap data. Flowchart suatu gambar yang menjelaskan urutan
yang akan dilakukan dalam suatu proses, yang merupakan alat bantu yang banyak
1. Modul
2. Alat tulis
B. Prosedur Kerja
A. Hasil
0 - 15 300
>15 450
2. Algoritma
b. Jika pemakaian air lebih dari 15maka tarif dikali 450, jika tidak maka
c. Tarif di cek.
3. Flowchart
Start
A
A
Tdk
X > 15 Z = X.300
Ya
Z = X.450
Cetak Biaya
End
B. Pembahasan
dengan memakai software oleh para pembuat perangkat lunak untuk membuat
Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika
guna menghitung kebalikan eksponen dari sebuah perpangkatan (Khairul dkk,
2018).
Algoritma berasal dari nama seorang Ilmuwan Arab yang bernama Abu
dibaca orang barat menjadi Algorism yang kemudian lambat laun menjadi
disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam
algoritma. Langkah – langkah dalam algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah
2010).
rangkaian intruksi yang diproses secara berurutan, satu per satu mulai dari
intruksi pertama sampai akhir sesuai dengan urutan penulisan algoritma yang
dibuat sequence (urutan) dalam algoritma sangat penting, karena kita bisa lebih
efektif dalam menjalankan suatu algoritma dengan urut dan sesuai dengan apa
yang diinginkan karena jika suatu algoritma tidak ada sequence (urutan) maka
algoritma tersebut akan kacau dan bisa saja mengeluarkan output tidak sesuai
(Barry, 2007).
Looping algorithm adalah instruksi khusus dalam bahasa pemrograman dan
memudahkan suatu program untuk menentukan pilihan manakah yang lebih tepat
dijalankan. Bentuk paling umum dari percabangan dalam algoritma adalah if dan
Flowchart (diagram alir) dapat diartikan sebagai suatu alat atau sarana
(Diaraya, 2017):
laporan.
2. Operasi manual
6. Konektor halaman
Bagan alir digunakan untuk alat bantu komunikasi dan untuk dokumentasi.
seperti pada saat kita memasak, apakah garam terasa? Kita ingin melakukan
perhitungan ulang pada suatu proses kita dapat menggunakan simbol tersebut
simbol predefined process yang mana disebut juga sebagai sub program berfungsi
pada saat rincian operasi berada di tempat yang lain kita dapat menggunakan
”Hitung Akar Pangkat Dua” yang mana jawabannya ada di tempat yang lainnya.
Buatlah algoritma dan flowchart program yang membaca jumlah pemakaian air,
untuk menghitung biaya yang harus dibayar dan menampilkan hasilnya dan
Jawab:
1. Algoritma
a. Masukkan nilai pemakaian air (m3) (misal L) dan potongan harga (misal
M).
<= 15) atau kriteria pelanggan tarif non-subsidi ( 16 <= L <= 30).
2. Flowchart
START
Potongan Harga = M
Tidak Tidak
Tarif non-
Tarif subsidi
subsidi
0 <= L <= 15
16 <= L <= 15
Ya
Ya
Tarif Air = L .M . 325 Tarif Air = L .M . 475
A
A
Kriteria Pelanggan
End
flowchart kami masih bingung dalam penggunaan simbol dan fungsinya. Kendala
kurang maksimal.
V. KESIMPULAN DAN SARAN
A. Kesimpulan
1. Persoalan atau masalah yang ada pada soal yaitu membuat algoritma dan
flowchart untuk menghitung biaya pemakaian air per m3 yang harus dibayar
permasalahan pada soal praktikum kali ini dapat kita selesaikan bentuk
b. Jika pemakaian air lebih dari 15maka tarif dikali 450, jika tidak maka
c. Tarif di cek.
3. Algoritma yang sudah dibuat kita ubah kedalam flowchart. Ada beberapa
simbol yang kami gunakan dalam flowchart yaitu terminator, garis alir,
B. Saran
Praktikan harus mempelajari terlebih dahulu modul yang diberikan agar saat
praktikum lebih paham, selain itu asisten praktikum juga harus lebih detail dalam
Bhandari, Jamuna dan Anil Kumar. 2014. “String Matching Rules Used By
Variants of Boyer-Moore Algorithm. Journal of Global Research in
Computer Science”. Volume 5, No. 1: 2229-371X.
Effendi, Diana, Tono Hartono, dan Andri Kurnaedi. 2010. “Penerapan String
Matching Menggunakan Algoritma Boyer-Moore Pada Translator Bahasa
Pascal Ke C”. Jurnal Teknik. Volume 11 nomor 2 halaman 262 – 275.
Habsyi. 2006. Algorithms & Data Structures, in Computer Science for Education.
Palembang: Bina Darma University.
Haryati, Siska, Aji Sudarsono dan Eko Suryana. 2015. “Implementasi Data
Mining Untuk Memprediksi Masa Studi Mahasiswa Menggunakan
Algoritma C4.5”. Jurnal Media Infotama. Volume 11 nomor 2 halaman 130
– 138.
Jogiyanto, H.M. 2005. Analisis dan Desain Sistem Informasi. Yogyakarta: Andi
Offset.
Kadir, Abdul . 2002. Penuntun Praktis Belajar SQL. Yogyakarta : Penerbit ANDI.
Mesterjon dan Galih Putra Kusuma. 2011. “Implementasi Fuzzy Tahani Dalam
Menentukan Pemilihan Motor Honda Pada Pd. Utama Motor Menggunakan
Visual Basic 6.0”. Jurnal Media Infotama. Vol. 7 No. 1 Hal. 162 – 196.
Patel, Urmila dan Mitesh Thakkar. 2013. Survey on Exact Pattern Matching
Algorithm. International Journal for Scientific Research and
Development. Vol. 1, Issue 8, 2321-0613.