Hingga saat ini,
komputer digunakan di hampir semua bidang kehidupan manusia, mulai dari
pendidikan, bisnis, sampai dengan permainan. Komputer sendiri tidak lepas dari
pemrogaman computer, karena kita harus memberikan serangkaian instruksi kepada
komputer agar dapat memecahkan suatu masalah. Dalam memberikan instruksi kepada
komputer untuk memecahkan masalah inilah yang dinamakan pemrogaman komputer.
Adapun langkah-langkah pemrogaman komputer adalah sebagai berikut: mendefinisikan
masalah, menentukan solusi, memilih algoritma, menulis program, menguji
program, menulis dokumentasi, serta merawat program. Sebelum membuat program, kita
wajib membuat Flow Chart atau Pseudocode, guna memudahkan kita untuk memahami
algoritma dalam membuat program. Program yang ditulis juga harus jelas, nyata,
dan lengkap.
1. Apakah yang
dimaksud dengan logika dan algoritma?
2. Bagaimana
sejarah terbentuknya teori logika dan algoritma?
3. Apakah
Perbedaan algoritma dengan program?
4. Bagaimana
penerapan logika dan algoritma dalam kehidupan sehari – hari?
5. Bagaimana
mekanisme dalam pembuatan logika algoritma?
C.
Tujuan
Penulisan Makalah
1. Untuk
mengetahui pengertian algoritma
2. Mengetahui
manfaat algoritma.
3. Mengetahui penerapan
algoritma dalam kehidupan.
A.
Pengertian
Logika Dan Algoritma
Algoritma
adalah metode untuk menyelesaikan suatu permasalahan secara bertahap. Logika
berasal dari kata Yunani kuno λόγος (logos)
yang berarti hasil pertimbangan akal pikiran yang diutarakan lewat kata dan
dinyatakan dalam bahasa.
Masa
Yunani Kuno, logika dimulai sejak Thales (624 SM - 548 SM), filsuf Yunani
pertama yang meninggalkan segala dongeng, takhayul, dan cerita-cerita isapan
jempol dan berpaling kepada akal budi untuk memecahkan rahasia alam semesta.
Thales mengatakan bahwa air adalah arkhe (Yunani) yang berarti prinsip atau
asas utama alam semesta. Saat itu Thales telah mengenalkan logika induktif. Aristoteles (384–332SM) mengenalkan logika
sebagai ilmu. Aristoteles mengatakan bahwa Thales menarik kesimpulan bahwa air
adalah arkhe alam semesta dengan alasan bahwa air adalah jiwa segala sesuatu.
Jadi, air adalah jiwa dari segala sesuatu, yang berarti, air adalah arkhe alam
semesta. Inti dari logika Aristoteles adalah Silogisme. Istilah logika
diperkenalkan oleh Zeno (334–226SM). Selanjutnya perkembangan logika terus
berkembang dari masa ke masa.
· Augustus
De Morgan (1806-1871), Induksi Matematika, Hukum Ekuivalens Logika De Morgan
· George
Boole(1815-1871), Aljabar Boole.
· Giuseppe
Peano (1858-1932), Penemu istilah logika matematika dan teori himpunan.
· Emil
L Post(1897-1954), Tabel Kebenaran.
· Ludwig
JJ Wittgenstein(1889-1951), Tabel Kebenaran.
· John
Venn(1834-1923), Diagram Venn.
· Henry
M Sheffer(1882-1964), NAND, NOR.
Logika dan Algoritma
diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al
Khawarizmi. Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma
diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau
menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan
algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis. Logis merupakan kunci dari sebuah
algoritma. Langkah – langkah dalam algoritma harus logis dan bernilai benar
atau salah.
Algoritma adalah urutan
langkah-langkah logis penyelesaian masalah yang 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 spesifikasi urutan langkah untuk
melakukan pekerjaan tertentu.
D.
Perbedaan
Algoritma dan Program
Program adalah kumpulan
pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program
adalah algoritma. Program ditulis menggunakan bahasa pemrograman. Jadi program
adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program =
Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan
algoritma mempunyai hubungan sangat erat pada sebuah program. Algoritma yang
baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi
kurang baik, juga sebaliknya.
Keuntungan dalam pembuatan algoritma :
1. Pembuatan
atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer
yang melaksanakannya.
2. Notasi
algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun
bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya
sama.
Hal-hal yang harus diperhatikan dalam
membuat algoritma:
- Teks algoritma berisi
deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat
ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
- Tidak ada notasi yang baku
dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang
digunakan dalam menulis algoritma disebut notasi algoritmik.
- Supaya notasi algoritmik
mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman
secara umum.
- Notasi algoritmik bukan
notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak
dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode
dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi
bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program
sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang
menjalannya.
- Algoritma digunakan untuk
membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa
pemrograman.
- Algoritma merupakan hasil
pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus
ditranslasikan ke dalam notasi bahasa pemrograman.
E.
Algoritma
dalam kehidupan
Dalam matematika dan komputasi,
Algoritma adalah kumpulan perintah untuk menyelesaikan masalah yang diterjemahkan
secara bertahap dan berurutan secara teratur. Masalah tersebut dapat berupa apa
saja dengan catatan untuk setiap masalah ada kriteria awal yang harus di penuhi
sebelum menjalankan Algoritma. Algoritma akan dapat selalu berakhir untuk semua
kondisi awal yang memenuhi kriteria. Algoritma sering mempunyai langkah
mengulang atau memerlukan keputusan sampai tugas selesai.
Algoritma secara sederhana merupakan
urutan langkah-langkah logis untuk menyelesaikan masalah yang di susun secara
sistematis misalkan saja “Algoritma aktifitas pagi hari ini sebelum berangkat
kuliah” yaitu (1) turun dari tempat tidur (2) melepas piama (3) mandi (4)
berpakaian (5) sarapan (6) berangkat kuliah. Algoritma berfungsi untuk
mempermudah kerja atau mempermudah kita dalam membuat program. Selain itu
algoritma dapat mengatasi masalah logika dan masalah matematika, para programer
harus menulis program algoritma dengan jelas, nyata, dan lengkap, dapat membuat
game atau software dengan Algoritma.
Dalam kehidupan sehari-hari banyak
terdapat proses yang dinyatakan dengan Algoritma. Cara-cara membuat kue atau
masakan yang dinyatakan dalam sebuah resep juga dapat disebut sebagai
Algoritma. secara umum pihak (benda) yang mengerjakan proses disebut pemroses. Pemroses
tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik
lainnya. Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam
proses algoritma. Pemroses mengerjakan proses sesuai dengan algoritma yang di
berikan kepadanya, pianis memainkan lagu berdasarkan papan not balok karena itu
suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh
pemroses.
F.
Mekanisme
Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah
salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus
ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Kata “algoritma” dan
“program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang
berkata seperti ini: “program pengurutan data menggunakan algoritma selection
sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program
menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma
yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma
dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan
program adalah realisasi algoritma dalam bahasa pemrograman. Program tersusun
atas sederetan instruksi, bila suatu instruksi dilaksanakan, maka
operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
Secara garis besar
komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti
keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central
Processing Unit /CPU) adalah “otak” komputer, yang berfungsi mengerjakan
operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan,
operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi
menyimpan atau mengingatingat.
Yang disimpan di
dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh
CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi).
Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data
atau program ke dalam memori, dan alat yang digunakan komputer untuk
mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain,
papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti
keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.
Mekanisme kerja
keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program
dimasukkan ke dalam memori komputer. Setiap instruksi yang telah tersimpan di
dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian
dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari
piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi
yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi,
keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke
piranti keluaran (misalnya dengan menampilkannya di layar monitor).
G.
Belajar
Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram
tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar
tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi
tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman
berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya,
pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan
memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis
hanya dalam bahasa itu saja. Ada puluhan bahasa pemrogram, antara lain bahasa
rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic,
Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo.
Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok
besar :
· Bahasa
pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk
terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa
rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan),
bahasa-bahasa simulasi, dan sebagainya.
· Bahasa
perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang
termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian
ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan
untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah,
hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang
berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa
pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa
pemrograman dikelompokkan atas dua macam :
· Bahasa
tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung
dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator).
Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung
mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat
primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit
dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini
karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin,
meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa
mesin.
· Bahasa
tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih
“manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja,
program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh
komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa
(yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya
dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada,
Cobol, Basic, Fortran, C, C++, dan sebagainya.
H.
Menilai
Sebuah Algoritma
Metode atau teknik
yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak
hanya satu). Dan kita memilih mana yang terbaik di antara teknik-teknik itu.
Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan
dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan
adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan
untuk menjadi algoritma yang baik adalah :
· Hasil
yang diperoleh dari proses harus berakurasi tinggi dan benar.
· Proses
harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek
mungkin.
· Bukan
sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus
lain yang lebih general.
· Haruslah
sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement
yang ada.
· Siapapun
yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu
program akan membuat susah di-maintenance (kelola).
· Bisa
dengan mudah diimplementasikan di berbagai platform komputer.
· Setiap
instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan
demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada
bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah
harus jelas dan pasti.
Contoh
: Tambahkan 1 atau 2 pada x.
Instruksi
di atas terdapat keraguan.
· Tidak
boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya.
Contoh
: Hitung akar 2 dengan presisi sempurna.
Instruksi
di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal
: Hitung akar 2 sampai lima digit di belakang koma.
· Jalannya
algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah
instruksinya berhingga maka pasti terminate?
· Jika
langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan
output yang diinginkan.
Algoritma dapat
disajikan dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang
disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa
Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang
mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga
lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan
kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan
flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal
dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode
pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya
versi akhir dari algoritma akan diekspresikan.
Flowchart merupakan
gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta
pernyataannya. Gambaran ini dinyatakan dengan simbol. Disamping itu flowchart
juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang
bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang
menggambarkan proses dengan komputer, yaitu :
· Flowchart
sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan
prosedur dan proses suatu file dalam suatu media menjadi file di dalam media
lain, dalam suatu sistem pengolahan data.
· Flowchart
program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan
proses dan hubungan antar proses secara mendetail di dalam suatu program.
Dalam pembuatan flowchart Program tidak
ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan
gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer.
Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram
dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri
atas 3 bagian utama, yaitu :
Untuk pengolahan data dengan komputer,
urutan dasar pemecahan suatu masalah:
1. START,
berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani
pemecahan persoalan.
2. READ,
berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES,
berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data
yang dibaca.
4. WRITE,
berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5. END,
mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang
baku dalam penyusunan flowchart, namun ada beberapa anjuran :
1. Hindari
pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat.
2. Jalannya
proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3. Sebuah
flowchart diawali dari satu titik START dan diakhiri dengan END.
Untuk memahami lebih dalam mengenai
flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah rancangan program
dengan menggunakan flowchart, mencari luas persegi panjang.
Solusi
: Perumusan untuk mencari luas persegi panjang adalah :
di mana, L adalah Luas persegi panjang,
p adalah panjang persegi, dan l adalah lebar persegi.
1. Simbol
pertama menunjukkan dimulainya sebuah program.
2. Simbol
kedua menunjukkan bahwa input data dari p dan l.
3. Data
dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L =
p. l.
4. Simbol
keempat menunjukkan hasil output dari proses dari simbol ketiga.
5. Simbol
kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.
J.
Struktur
Dasar Algoritma
Algoritma berisi
langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan
algoritma ada tiga, yaitu:
Digunakan untuk program
yang pernyataannya sequential atau urutan.
Digunakan untuk program yang
menggunakan pemilihan atau penyeleksian kondisi.
Digunakan untuk program yang
pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma,
tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu,
melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa
pemrograman manapun.
Kode atau tanda yang
menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.
Contoh
kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan
1. Masukkan
bilangan pertama
2. Masukkan
bilangan kedua
3. Jika
bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak,
kerjakan langkah 5.
4. Tampilkan
bilangan pertama
5. Tampilkan
bilangan kedua
1. Masukkan
bilangan pertama (a)
2. Masukkan
bilangan kedua (b)
3. if
a > b then kerjakan langkah 4
K.
Tahapan
dalam Pemrograman
Langkah-langkah yang dilakukan
dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :
• Buat
Algoritma dan Struktur Cara Penyelesaian
• Uji
dan Verifikasi Program
Berdasarkan uraian di atas, dapat
disimpulkan:
1. Algoritma
adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan
bantuan komputer serta menggunakan suatu bahasa pemrogaman
2. Fungsi
algoritma adalah untuk mempermudah kerja atau memudahkan kita dalam membuat
program atau biasa di sebut sebagai Problem Solving. Selain itu, algoritma
dapat mengatasi masalah logika dan masalah matematika
3. Kriteria
program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma
tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan
semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan
perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus
mampu menyelesaikan masalah untuk mendapat hasil yang tepat.
B.
Saran
Berdasarkan simpulan di atas,disarankan
kepada:
1. Para
programer dapat menggunakan algoritma untuk memecahkan masalah dengan
menggunakan bantuan komputer
2. Para
programer dapat menggunakan algoritma sebagai Problem Solving dalam masalah
logika dan masalah matematika.
3. Para
programer harus menulis program algoritma dengan jelas, nyata, dan komplit
- https://tugaslogikadanalgoritma.wordpress.com/2012/11/01/tugas-kelompok-logika-algoritma/
- https://id.scribd.com/doc/84387218/Logika-Dan-Algoritma-Makalah
- http://www.eurekapendidikan.com/2014/11/sejarah-perkembangan-logika.html
- http://raficie.blogspot.co.id/2013/03/definisi-algoritma.html
- https://belajarprogramonline.wordpress.com/2010/10/11/apakah-beda-algoritma-dengan-program/
- http://davitalamin20.blogspot.co.id/