PEMROGRAMAN KOMPUTER
ALGORITMA PEMROGRAMAN
Oleh:
Yanuar Fatahul Razak
NIM A1C019037
halaman
DAFTAR ISI.............................................................................................................i
I. PENDAHULUAN ............................................................................................1
A. Latar Belakang ............................................................................................. 1
B. Tujuan .......................................................................................................... 2
II. TINJAUAN PUSTAKA ...................................................................................3
III. METODOLOGI................................................................................................5
A. Alat dan Bahan ............................................................................................. 5
B. Prosedur Kerja.............................................................................................. 5
IV. HASIL DAN PEMBAHASAN ........................................................................6
A. Hasil ............................................................................................................. 6
B. Pembahasan .................................................................................................. 8
V. KESIMPULAN DAN SARAN ......................................................................16
A. Kesimpulan ................................................................................................ 16
B. Saran........................................................................................................... 16
DAFTAR PUSTAKA ............................................................................................17
LAMPIRAN...........................................................................................................19
i
I. PENDAHULUAN
A. Latar Belakang
1
Algoritma adalah langkah-langkah penyelesaian masalah yang disusun secara
sistematis dan logis. Pemrograman adalah kumpulan instruksi-instruksi tersendiri
yang biasanya disebut source code yang dibuat oleh progammer. Sehingga dari
kedua pengertian tersebut algoritma pemrograman dapat diartikan sebagai urutan
atau langkah-langkah untuk menyelesaikan masalah pemrograman komputer.
Algoritma pemrograman ini digunakan oleh programmer untuk membuat suatu
program yang baik digunakan oleh programmer untuk membuat suatu program
yang dapat digunakan baik masyarakat biasa maupun perusahaan-perusahaan yang
membutuhkan.
B. Tujuan
2
II. TINJAUAN PUSTAKA
3
menyelesaikan suatu masalah dimana masalah tersebut diselesaikan dituntut secara
sistematis, terstruktur dan logis. Algoritma ini ditemukan di Universitas
Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian
dan dipopulerkan oleh salah satu muridnya, David Goldberg. Algoritma genetik
adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi
alamiah pada tugas-tugas pemecahan – masalah (problem solving). Pendekatan
yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak
berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan
generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang
memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan
merepresentasikan perbaikan – perbaikan pada populasi awalnya. Dengan
melakukan proses ini secara berulang, algoritma ini diharapkan dapat
mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-
solusi yang paling tepat bagi permasalahan yang dihadapi.
Dalam sistem komputer, pengertian algoritma ialah logika yang dibuat
dengan memakai software oleh para pembuat perangkat lunak untuk membuat
software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma.
Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika
guna menghitung kebalikan eksponen dari sebuah perpangkatan (Khairul et al.,
2018).
Flowchart atau bagan alir adalah bagan (Chart) yang dibuat untuk
menunjukan aliran data (flow) di dalam program atau prosedur sistem secara logika
(Mesterjon dan Galih, 2011). Model logika adalah alat untuk menceritakan program
dalam rangka membantu pelaksanaan evaluasi. Secara sederhana, model logika
terdiri dari keterkaitan elemen input-aktivitas-output-outcome (Rohmatullah &
Shalahuddin, 2014).
4
III. METODOLOGI
1. Alat tulis
2. Kertas
3. Papan tulis
4. Penggaris
5. Spidol
B. Prosedur Kerja
5
IV. HASIL DAN PEMBAHASAN
A. Hasil
1. Tujuan
a. Mampu memahami suatu persoalan.
b. Mampu mendesain penyelesaian persoalan ke dalam algoritma.
c. Mampu menotasikan algoritma yang sudah di buat menggunakan notasi.
2. Persoalan bilangan ganjil dan genap
a. Algoritma
1) Masukan bilangan secara sembarang.
2) Bagi bilangan tersebut dengan bilangan 2.
3) Hitung sisa hasil bagi pada langkah 2.
4) Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah genap
tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah
bilangan ganjil.
b. Flowchart
6
a. Algoritma
1) Masukkan nilai pemakaian air.
2) Jika pemakaian air > 15 maka tarif dikalikan 450 jika tidak maka tarif
dikali 300.
3) Tarif dicetak.
b. Flowchart
7
B. Pembahasan
8
Pengertian algoritma adalah susunan yang logis dan sistematis untuk
memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia
komputer, algoritma sangat berperan penting dalam pembangunan suatu software.
Dalam dunia sehari-hari, mungkin tanpa kita sadari algoritma telah masuk dalam
kehidupan kita. Algoritma berbeda dengan logaritma. Logaritma merupakan
operasi matematika yang merupakan kebalikan dari eksponen atau pemangkatan.
Contoh logaritma seperti bc= a ditulis sebagai blog a = c (b disebut basis).
Menurut Barakbah (2013), pengertian algoritma sangat lekat dengan kata
logika, yaitu kemampuan seorang manusia untuk berpikir dengan akal tentang suatu
permasalahan menghasilkan sebuah kebenaran, dibuktikan dan dapat diterima akal,
logika seringkali dihubungkan dengan kecerdasan, seseorang yang mampu
berlogika dengan baik sering orang menyebutnya sebagai pribadi yang cerdas.
Dalam menyelesaikan suatu masalahpun logika mutlak diperlukan. Logika identik
dengan masuk akal dan penalaran.
Menurut Saputra, et al. (2010), algoritma adalah deretan instruksi yang jelas
untuk memecakan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari
suatu masukan (Rahayuningsih, 2016).
Ada 3 definisi tentang algoritma yang dijelaskan oleh Suarga (2012),
diantaranya :
1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk
kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.
2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan
menggunakan langkah – langkah tertentu dan terbatas jumlahnya.
3. Susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data
input menjadi output yang beruapa informasi.
Algoritma Raita merupakan bagian dari algoritma exact string matching
yaitu pencocokan string secara tepat dengan susunan karakter dalam string
yang dicocokkan memiliki jumlah maupun urutan karakter dalam string yang
sama. Raita merancang sebuah algoritma dengan membandingkan karakter yang
terakhir dari pola yang diawali dari karakter paling kanandari jendela. Jika
cocok, kemudian karakter pertama dari pola teks paling kiri dari jendela juga
9
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 (Bhandari
danAnil, 2014).
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. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria
dalam pembentukan tree (Haryati et al., 2015).
Algoritma Boyer-Moore adalah salah satu algoritma untuk mencari suatu
string di dalam teks, dibuat oleh R.M Boyer dan J.S Moore. Algoritma Boyer-
Moore melakukan perbandingan dimulai dari kanan ke kiri, tetapi pergeseran
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 menjadi lebih
cepat jika dibandingkan dengan algoritma lainnya (Argakusumah dan Seng, 2014).
Pertimbangan dalam pemilihan algoritma adalah algoritma haruslah benar.
Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan. Tidak peduli serumit apapun algoritma, jika memberikan
keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik
(Effendi et al., 2010). Pertimbangan lain yang harus diperhatikan adalah seberapa
baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada
algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil.
10
Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin
dengan nilai yang sebenarnya.
Selanjutnya adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari
2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran
yang benar, tetapi jika harus menunggu lama untuk mendapatkan keluarannya,
algoritma tersebut bukanlah algoritma yang baik, setiap orang menginginkan
keluaran yang cepat (Effendi et al. , 2010).
Pembuatan algoritma mempunyai banyak keuntungan diantaranya
pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman
apapun, artinya penulisan algoritma independen dari bahasa pemrograman dan
komputer yang melaksanakannya, notasi algoritma dapat diterjemahkan ke dalam
berbagai bahasa pemrograman, apapun bahasa pemrogramannyaoutput yang
akan dikeluarkan sama, karena algoritmanya sama (Khairul et al., 2018).
Menurut Nuraini (2015), syarat-syarat agoritma yaitu:
1. Finiteness (Keterbatasan)
Algoritma harus berakhir setelah melakukan sejumlah langkah proses.
2. Definiteness (Kepastian)
Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan
makna ganda.
3. Input (Masukan)
Sebuah algoritma memiliki nol atau lebih masukan (input) yang diberikan kepada
algoritma sebelum dijalankan.
4. Output (Keluaran)
Setiap algoritma memberikan satu atau beberapa hasil keluaran.
5. Effectiveness (Efektivitas)
Langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan,
pemilihan dan pengulangan. Berikut Penjelasan ringkas dari tiga struktur tersebut:
1. Runtunan
Runtunan yaitu satu atau lebih instruksi yang dikerjakan secara berurutan
sesuai dengan urutan penulisannya. Urutan dari instruksi menentukan hasil
11
akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin
juga hasil akhirnya berubah.
2. Pemilihan
Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi
adalah persyaratan yang dapat bernilai benar atau salah. Instruksi hanya
dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka
instruksi tidak akan dilaksankan. Pernyataaan kondisi menggunakan
statemen If (jika) dan Then (maka).
3. Pengulangan
Pengulangan merupakan pengulangan sejumlah aksi yang sama sebanyak
jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa
statemen pengulangan yaitu:
a. For … To ... Do / For ... Downto ... Do
b. While … Do
c. Repeat ... Until
Algoritma dapat ditulis dengan cara berikut:
1. Menggunakan bahasa natural.
2. Menggunakan kode semu (pseudo-code) yaitu teknik penulisan yang
mendekati bahasa pemrograman tertentu.
3. Menggunakan diagram alir (flowchart) yaitu teknik penyajian dengan
menggunakan simbol-simbol.
Peubah atau variable hanya dapat menyimpan sebuah nilai saja. Peubah tidak
dapat menyimpan beberapa buah nilai yang bertipe sejenis sekaligus. Sementara
dalam kebutuhan pemrograman, seringkali kita diharuskan atau 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, maka
elemen diacu dengan menggunakan indeks (subscript).
12
Banyak orang tidak memiliki pemahaman yang jelas tentang bagaimana
program mereka berjalan. Oleh karena itu, model logika dibuat untuk dapat
membantu mengeksplisitkan apa yang anda ketahui mengenai program Anda dan
mengklarifikasi bagaimana program dijalankan (dioperasikan). Model logika dapat
digunakan dalam perencanaan, manajemen program, evaluasi dan komunikasi.
Dalam perencanaan, model logika menyajikan rerangka dan proses untuk
perencanaan yang menjembatani gap antara kondisi saat ini dengan kondisi yang
diinginkan.Dalam evaluasi, model logika digunakan untuk menjelaskan,
menelusuri, serta mengawasi operasi, proses, dan fungsi evaluasi. Model logika
dapat membantu dalam menentukan kapan dan bagaimana evaluasi dijalankan
sehingga sumber daya bisa dikatakan telah efektif dan efisien penggunaannya.
Dalam komunikasi, model logika membantu dalam mengkomunikasikan suatu
program baik kepada staf, pemberi dana, maupun pemangku kepentingan lainnya.
(Diaraya, 2017).
Pertimbangan dalam penerapan algoritma adalah:
1. Algoritma haruslah benar, artinya algoritma akan memberikan keluaran yang
dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus
apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma
tersebut bukanlah algoritma yang baik,
2. Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin
dengan nilai yang sebenarnya. Kita harus mengetahui seberapa baik hasil yang
dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya
berupa pendekatan),
3. Efisiensi algoritma, semisal algoritma itu benar (mendekati kebenaran), tetapi
memakan waktu yang lama dalam mendapatkan kebenaran algoritma, untuk
apa algoritma tersebut dipakai? Karena inti dari algoritma yang baik adalah
mendapatkan jawaban kebenaran (mendekati kebenaran) dengan cepat.
Menurut Indrajani (2011), Flowchart merupakan penggambaran secara grafik
dari langkah-langkah dan urutan prosedur suatu program,. Biasanya mempengaruhi
penyelesaian masalah yang khusunya perlu dipelajari dan dievaluasi lebih lanjut.
13
Asprodin (2013) mengemukakan bahwa, flowchart adalah bagan – bagan yang
mempunyai arus yang menggambarkan langkah – langkah penyelesaian suatu
masalah. Flowchart merupakan cara penyajian dari suatu algoritma.Flowchart di
bedakan menjadi 5 jenis flowchart, antara lain system flowchart, document
flowchart, schematic flowchart, program flowchart, process flowchart. Masing-
masing jenis flowchart akan dijelaskan berikut ini :
A. System Flowchart
System Flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus
pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urutan-urutan
dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem
menunjukkan apa yang dikerjakan di sistem.
B. Document Flowchart
Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir
(form flowchart) atau paperwork flowchart merupakan bagan alir yang
menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.
C. Schematic Flowchart
Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip
dengan bagan alir sistem, yaitu untuk menggambarkan prosedur 11 di dalam
sistem. Perbedaanya adalah, bagan alir skematik selain menggunakan symbol-
simbol bagan alir sistem, juga menggunakan gambar-gambar computer dan
peralatan lainnya yang digunakan. Maksud penggunaa gambar-gambar ini
adalah untuk memudahkan komunikasi kepada orang yang kurang paham
dengan smbol-simbol bagan alir. Penggunaan gambar-gambar ini
memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.
D. Schematic Flowchart
Bagan ali program (program flowchart) merupakan bagan yang menjelaskan
secara rinci langkah-langkah dari proses program. Bagan alir program dibuat
dari derivikasi bagan alir sistem. Bagan alir program dapat terdiri dari dua
macam, yaitu bagan alir logika program (program logic flowhart) dan bagan
alir program computer terinci (detailed computer program flowchart). Bagan
alir logika program digunakan untuk menggambarkan tiap-tiap langkah di
14
dalam program computer secara logika. Bagan alat logika program ini
dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir
logika program. Bagan alir program computer terinci (detailed computer
program flowchart) digunakan utnuk menggambarkan instruksi-instruksi
program computer secara terinci. Bagan alir ini dipersiapkan oleh pemogram.
E. Process Flowchart
Bagan alir proses(process flowchart) merupakan bagan alir yang banyak
digunakan di teknik industry. Bagan alir ini juga berguna bagi analis sistem
untuk menggambarkan proses dalam suatu prosedur.
Dalam standar teknik pemecahan masalah, teknik Top-Down merupakan
teknik pemecahan masalah yang paling umum digunakan, dimana suatu masalah
yang kompleks dibagi-bagi ke dalam beberapa tingkatan kelompok masalah hingga
sub bagian yang paling kecil. Setelah itu kemudian disusun langkah-langkah untuk
menyelesaikan secara detail. Langkah-langkah yang disusun secara detail sering
kali disebut dengan Algoritma.Proses dari masalah hingga menjadi suatu algoritma
disebut tahap pemecahan masalah, sedangkan tahap dari algoritma hingga menjadi
suatu solusi disebut dengan tahap implementasi. Solusi yang dimaksud adalah suatu
program yang merupakan implementasi dari algoritma yang disusun.
15
V. KESIMPULAN DAN SARAN
A. Kesimpulan
B. Saran
Untuk penyajian materi dari asisten praktikum sudah sangat baik. Akan tetapi,
suara yang dihasillkan masih kurang jelas. Untuk kedepannya semoga semua
praktikan mengerti dan memahami materi yang dijelaskan oleh asisten praktikum.
16
DAFTAR PUSTAKA
Bhandari, J. and 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.
Diaraya. 2017. Desain Flowchart Pemrosesan Transaksi Perusahaan Pada Sistem
Informasi Akuntansi Berbasis Komputer. Jurnal Matematika, Statistika dan
Komputasi. 13(2): 141 ‒ 146.
Effendi, Diana, Tono Hartono dan Andi Kurnaedi. 2010. Penerapan String
Matching Menggunakan Algoritma Bayer-Moore pada Translator Bahasa
Pascal ke C. Jurnal Teknik.11(2): 262 ‒ 275.
Haryati, Siska, Aji Sudarsono dan Eko Suryana. 2015. Implementasi Data Mining
Untuk Memprediksi Masa Studi Mahasiswa Menggunakan Algoritma C4.5.
Jurnal Media Infotama. 11(2): 130 – 138.
Indrajani. 2011. Perancangan Basis Data dalam All in 1. Jakarta: PT. Elex Media
Komputindo.
Khairul, Sri haryati dan Yanti Yusman. 2018. Aplikasi Kamus Bahasa Jawa
Indonesia Dengan Algoritma Raita Berbasis Android. Jurnal Teknologi
Informasi dan Pendidikan. 11(1): 1 – 6.
Maulana, Gun Gun. 2017. Pembelajaran Dasar Algoritma Dan Pemrograman
Menggunakan El-Goritma Berbasis Web. Jurnal Teknik Mesin (JTM), Vol.
06, Edisi Spesial.
Mesterjon dan Galih Putra Kusuma. 2011. Implementasi Fuzzy Tahani Dalam
Menentukan Pemilihan Motor Honda Pada Pd. Utama Motor
MenggunakanVisual Basic 6.0. Jurnal Media Infotama. 7(1): 162 – 196.
Mudasir, 2012, Desain Pembelajaran. Indragiri Hulu : STAI Nurul Falah
17
Nuraini, Rini. 2015. Desain Algorithma Operasi Perkalian Matriks Menggunakan
Metode Flowchart. Jurnal Teknik Komputer Amik Bsi. 1(1): 144 – 151.
18
LAMPIRAN
19
20