1. Logika
Logika adalah hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam
bahasa. Kata Logika berasal dari Yunani kuno λόγος (logos) yang juga merupakan salah satu cabang
ilmu filsafat. Sebagai sebuah ilmu, logika disebut dengan logike episteme (bahasa Latin: logica
scientia) atau ilmu logika (ilmu pengetahuan) yang mempelajari kecakapan untuk berpikir secara
lurus, tepat, dan teratur.
1.1. Pengertian Logika Menurut Para Ahli
Para ahli telah mendefinisikan beberapa pengertian logika diantaranya :
A. Jan Hendrik Rapar, 1996
Pengertian logika adalah ajaran tentang berpikir yang secara ilmiah membicarakan bentuk
pikiran itu sendiri dan hukum-hukum yang menguasai pikiran.
B. Ahmad Taufik Nasution, 2006
Logika merupakan ilmu dan kecakapan menalar, berpikir dengan tepat.
C. Jan Hendrik Rapar, 1996
Logika adalah suatau pertimbangan akal atau pikiran yang diatur lewat kata dan dinyatakan
dalam bahasa.
D. Soekadijo, 2008
Pengertian Logika menurut Soekadijo adalah suatu metode atau teknik yang diciptakan
untuk meneliti ketepatan nenalar.
E. William Alston, 2008
Pengertian logika adalah studi tentang penyimpulan, secara lebih ceramat usaha untuk
mennetapkan ukuran-ukuran guna memisahkan penyimpulan yang sah dan tidak sah.
Pengertiaan algoritma sangat lekat dengan kata logika, yaitu kemampuan seorang manusia untuk
berfikir dengan akal tentang suatu masalah dan menghasilkan sebuah kebenaran, dapat dibuktikan
dan masuk akal. Dalam menyelesaikan suatu masalah logika sangat diperlukan. Logika identik
dengan masuk akal dan penalaran. Penalaran adalah salah satu bentuk pemikiran . Definisi logika
sangat sederhana yaitu cara berfikir untuk tujuan tertentu namun menurut aturan yang berlaku.
2. Algoritma
Secara etimologi, logika berasal dari kata yunani Logos yang artinya adalah Kata, Ucapan, Pikiran
secara utuh atau juga berarti Ilmu Pengetahuan (Kusumah, 1986).
Definisi : urutan langkah-langkah untuk memecahkan masalah yang disusun secara sistematis dan
logis.Menurut Kamus Besar Bahasa Indonesia: algoritma adalah urutan logis pengambilan putusan
untuk pemecahan masalah. Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-
langkah tertentu dalam menyelesaikan masalah.
Alasan mengapa algoritma banyak digunakan dalam pemrograman:
A) Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun.
B) Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
C) Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
2.1 Pengertian Algoritma menurut para ahli :
A. Seymour Lipschutz, Ph.D dan Marc Lipson, Ph.D.
Algoritma adalah suatu daftar langkah-demi-langkah yang terhingga dari instruksi-instruksi
yang terdefinisikan dengan jelas yang dipakai untuk permasalahan tertentu.
B. David Bolton
Algoritma adalah deskripsi dari suatu prosedur yang berakhir dengan sebuah hasil.
C. Andrey Andreyevich Markov
Algoritma adalah hal umum untuk dipahami sebagai suatu keputusan yang tepat untuk
mendefinisikan proses komputasi yang mengarahkan dari data awal hingga hasil yang
diinginkan.
D. Stone dan Knuth
Algoritma adalah suatu seperangkat aturan yang tepat mendefinisikan urutan operasi
hingga sedemikian rupa sehingga setiap aturan yang efektif, jelas hingga sedemikian rupa
sehingga urutan berakhir dalam waktu yang terbatas.
E. Amikom Yogyakarta
Pengertian algoritma adalah sebuah bentuk instruksi dalam bentuk cara atau metode yang
akan membantu kamu dalam menyelesaikan program dengan cara yang lebih sistematis.
F. Minsky
Algoritma adalah seperangkat arutan yang membertahukan kepada kita dari waktu ke
waktu, tepatnya bagaimana untuk bertindak.
2.2 Sejarah Algoritma
Ahli Sejarah Matematika menemukan asal kata algoritma tersebut yang berasal dari nama
penulis buku arab yang terkenal yaitu Abu Ja'far Muhammad Ibnu Musa Al-Khuwarizmi. Al-
Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya "Buku pemugaran dan pengurangan"
(The book of restoration and reduction).
Dari judul buku itulah diperoleh akar kata "Aljabar" (Algebra). Perubahan kata dari algorism
menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic,
sehingga akhiran usm berubah menjadi uthm. Karena perhitungan dengan angka Arab sudah
menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai
metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya.
Kata algoritma, bukan sesuatu yang asing bagi kita. Penemunya adalah seorang ahli
matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibnu Musa Al-
Khwarizmi (770-840). Di literatur barat dia lebih terkenal dengan sebutan Algorizm.
Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang
ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma.
Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu
komputer yang lahir berdasarkan konsep algoritma ini. Pada hakekatnya algoritma juga adalah
kunci dari kehidupan kita. Contoh Cara membuat masakan (resep masakan) adalah juga
sebuah contoh nyata dari algoritma.
Ada referensi lain yang menyebutkan namanya adalah Abu Ja’far Muhammad Ibnu Musa Al-
Khwarizmi. Al-Khuwarizmi menulis buku yang berjudul Al Jabar Wal-Muqabala yang artinya
“Buku Pemugaran dan pengurangan” (The book of restoration and reduction).
2.3 Syarat Algoritma
A. Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh dari proses harus
berakurasi tinggi dan benar.
B. Pemrosesan yang efisien (cost rendah)
C. Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek
mungkin.
D. Sifatnya general
E. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain
yang lebih
f. Bisa dikembangkan (expandable)
G. Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan
requirement yang ada.
H. Mudah dimengerti
I. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya
suatu program akan membuat susah di-maintenance (kelola).
J. Portabilitas yang tinggi (portability)
K. Bisa dengan mudah diimplementasikan di berbagai platform komputer.
L. Precise (tepat, betul, teliti)
M. Efektif
N. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya.
O. Harus terminate
P. Jalannya algoritma harus ada kriteria berhenti.
Q. Output yang dihasilkan tepat.
3. Pemrograman
3.1 Definisi
Program adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code
yang dibuat oleh programmer (pembuat program).
Program : Realisasi dari Algoritma.
Program = Algoritma + Bahasa
Pengertian program menurut para ahli :
A. Amikom Yogyakarta
Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma.
B. Ema Utami
Program adalah bahasa pemrograman.
C. Sukrisno
Program adalah kata, ekspresi, atau pernyataan yang disusun dan dirangkai menjadi satu
kesatuan prosedur, yang berupa urutan langkah, untuk menyelesaikan masalah yang
diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat
dieksesuksi oleh komputer.
D. Anwar Harjono
Program adalah urutan instruksi untuk menjalankan suatu komputasi.
E. Saifuddin Anshari
Program adalah daftar terinci mengenai acara dan usaha yang akan dilaksanakan.
F. Sunarto, S.Kom Program adalah sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode skema,
ataupun bentuk lain, yang apabila digabungkan dengan media yang dapat dibaca dengan
komputer akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi
khusus, termasuk persiapan dalam merancang instruksi-instruksi tersebut.
G. Wiryanto Dewobroto
Program adalah hasil penyusunan detail langkah-langkah solusi (algoritma) masalah
tersebut.
H. Binanto
Menurut Binanto, pemograman dapat diartikan dalam beberapa hal, sebagai berikut:
A) Mendeskripsikan instruksi-instruksi tersendiri yang biasanya disebut sebagai Souce
Code yang dibuat oleh programmer.
B) Mendeskripsikan suatu keseluruhan bagian dari software yang executable.
C) Program merupakan himpunan atau kumpulan instruksi tertulis yang dibuat oleh
programmer atau suatu bagian executable dari suatu software.
D) Pemrograman berarti membuat program komputer.
E) Pemrograman merupakan suatu kumpulan urutan perintah ke komputer untuk
mengerjakan sesuatu. Perintah-perintah ini membutuhkan suatu bahasa tersendiri yang
dapat dimengerti oleh komputer.
3.2 Langkah Pembuatan Program
A. Mendefinisikan masalah
a) Kondisi awal, yaitu input yang tersedia.
b) Kondisi akhir, yaitu output yang diinginkan.
c) Data lain yang tersedia.
d) Operator yang tersedia.
e) Syarat atau kendala yang harus dipenuhi.
B. Buat Algoritma dan Struktur Cara Penyelesaian
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul
C. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah
dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform
lainnya.
D. Mencari Kesalahan
a) Kesalahan sintaks (penulisan program).
b) Kesalahan pelaksanaan: semantik, logika, dan ketelitian..
E. Uji dan Verifikasi Program
F. Dokumentasi Program
G. Pemeliharaan Program
4 Bahasa Pemrograman (Algoritma)
4.1 Struktur Penulisan Algoritma
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :
A) Judul (Header)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama
dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.
B) Kamus
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :
- Nama type
- Nama konstanta
- Nama variabel
- Nama fungsi
- Nama prosedur
C) Algoritma
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan
aksi yang telah didefinisikan
5 Penyajian Algoritma
Bentuk penyajian untuk algoritma dibagi menjadi 3 (tiga) bentuk penyajian, yaitu :
5.1 Algoritma dengan struktur Bahasa Indonesia
Sifat: Umum
A. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman.
B. Tidak tergantung pada suatu bahasa pemrograman.
C. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
Contoh : Menghitung rata-rata tiga buah data
Algoritma dengan struktur bahasa Indonesia :
A. Baca bilangan a, b, dan c
B. Jumlahkan ketiga bilangan tersebut
C. Bagi jumlah tersebut dengan 3
D. Tulis hasilnya
5.2 Algoritma dengan Pseudocode
Penyajian algoritma dengan pseudocode berarti menggunakan kode yang mirip dengan kode
pemrograman yang sebenarnya. Pseudocode lebih rinci dari English/Indonesia Structure.
Contoh (1) : Menghitung rata-rata tiga buah data
Algoritma dengan struktur pseudocode :
1) input (a, b, c)
2) Jml = a+b+c
3) Rerata = Jml/3
4) Output (Rerata)
5.3 Algoritma dengan Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur
dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah
kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-
alternatif lain dalam pengoperasian.
Kegunaan:
a. Untuk mendesain program
b. Untuk merepresentasikan program
Maka, flowchartharus dapat merepresentasikan komponen-komponen dalam bahasa
pemrograman.
6 Flowchart
6.1 Relationship
Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang prosedur logic.
Teknik penyajian yang bersifat grafis jelas akan lebih baik daripada uraian-uraian yang bersifat
teks khususnya dalam menyajikan logikalogika yang bersifat kompleks.
6.2 Analysis
Dengan adanya pengungkapan yang jelas dalam model atau chart, maka para pembaca dapat
dengan mudah melihat permasalahan atau memfokuskan perhatian pada area-area tertentu
sistem informasi.
6.3 Communication
Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu yang sudah diakui
secara umum, maka flowchart dapat merupakan alat bantu yang sangat efektif dalam
mengkomunikasikan logika suatu masalah atau dalam mendokumentasikan logika tersebut.
7 Struktur Dasar Algoritma
7.1 Struktur Runtunan (Sequence Proses)
Sebuah runtunan terdiri dari satu atau lebih ‘instruksi’. Tiap-tiap instruksi dilaksanakan secara
berurutan sesuai dengan urutan penulisannya; sebuah instruksi baru bisa dilaksanakan setelah
instruksi sebelumnya selesai dilaksanakan.
7.2 Struktur Pemilihan (Selection Proses)
Pada struktur ini, jika kondisi terpenuhi maka salah satu aksi akan dilaksanakan dan aksi
yang ke dua diabaikan. Kondisi adalah persyaratan yang dapat dinilai benar atau salah
sehingga akan memunculkan ‘aksi’ yang berbeda dengan ‘kondisi’ yang berbeda.
CONTOH :
Menentukan bilangan terbesar diantara 3 bilangan:
‘if’ x > y ‘then’
‘if’ x > z ‘then’
tulis x sebagai bilangan terbesar
‘else’
tulis z sebagai bilangan terbesar
‘else’
‘if’ y > z ‘then’
tulis y sebagai bilangan terbesar
‘else’
tulis z sebagai bilangan terbesar
7.3 Struktur Pengulangan (Iteration Proses)
Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Instruksi
dikerjakan selama memenuhi suatu kondisi tertentu. Jika syarat (kondisi) masih terpenuhi
maka pernyataan (aksi) akan terus dilakukan secara berulang.
A. For-next
B. While-do
C. Repeat-until
Contoh 1:
Algoritma Cetak_Angka
{mencetak 1, 2, .., 8 ke piranti keluaran}
Deklarasi :
K: integer
Deskripsi :
K 1 {inisialisasi}
while k <= 8 do
write (k)
k k + 1
endwhile
Contoh 2:
Algoritma Cetak_Angka
{mencetak 1, 2, .., 8 ke piranti keluaran}
Deklarasi :
K: integer
Deskripsi :
K 1 {inisialisasi}
repeat
write (k)
k k + 1
until k > 8