Logika dan Algoritma diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al
Khawarizmi.
Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil pertimbangan akal pikiran
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
1. Ada Output, mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output
2. Efektifitas dan Efesiensi, Dikatakan efektif jika algoritma tersebut menghasilkan suatu
solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat
guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan
3. Jumlah Langkahnya Berhingga, maksudnya adalah barisan instruksi yang dibuat harus
dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat
algoritmanya sama.
5. Efektifitas,
dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis
program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang
menjalannya.
pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu:
1. Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
membutuhkannya
2. Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
4. Aturan sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam
5. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang
rogram.
Cara pengoperasian compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk
Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk
mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau
Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap
Adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan
1.
o Banyaknya langkah.
o Jenis Operasi.
1. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus
2. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan
3. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi
4. Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih
5. Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma
Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
7. Precise (tepat, betul, teliti). 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
1. Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama
2. Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya.
2. Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan
Penyajian Algoritma
Yaitu dengan menjelaskan secara detail algoritma suatu masalah dengan bahasa yang mudah
dimengerti oleh orang awam, dan akan sangat sulit dimengerti bila diterjemahkan kedalam bahasa
pemograman.
Contoh :
Program LuasSegitiga
Memasukkan angka luas dan tinggi. Algoritma mengitung luas segitiga yaitu
setengah alas dikalikan tinggiALGORITMA
1. Masukkan alas dan tinggi
2. Rumus luas segitiga = 0.5 * a * t
3. Cetak hasilnya ke layar
1. Read Alas
2. Read Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)
Flowchart atau Diagram Alur adalah gambar atau bagan yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan
dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk
itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja
Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan
komputer.
Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
1.
1. Input,
2. Proses pengolahan
3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani
pemecahan persoalan.
READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data
yang dibaca.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa
anjuran:
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau
kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:
1. Struktur Runtunan Digunakan untuk program yang pernyataannya sequential atau urutan.
penyeleksian kondisi.
3. Struktur Perulangan Digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.
Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya C, C++
BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer
Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan
koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam
Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah
melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu
tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan
Statement Logika
1. OR
Merupakan statement kondisi dimana pernyataan akan benar apabila salah satu kondisi benar atau
1. And
Merupakan statement kondisi dimana pernyataan akan benar apabila semua kondisi benar.
1. NOT
1. NOR
Merupakan statement kondisi dimana pernyataannya akan benar apabila semua kondisinya salah.
1. NAND
Merupakan Statement kondisi yang akan bernilai benar apabila semua kondisi salah atau salah
1. XOR
Merupakan Statement kondisi yang akan bernilai benar bila salah satu kondisinya benar.
1. XNOR
Merupakan Statement kondisi dimana pernyataan akan bernilai benar apabila semua kondisi salah
atau benar. Pernyataan akan bernilai salah apabila salah satu bernilai salah
Statement kondisi atau keputusan dimana keputusan yang dapat ditampung hanya satu
Statement Kondisi yang bisa menampung lebih dari 2 kondisi sampai tak hingga.
1. If Terselubung
Statement kondisi yang mana didalam sebuah kondisi masih terdapat beberapa buah kondisi.
Merupakan suatu proses kondisi pengerjaan perintah statement program secara berulang-ulang
For.. Next
While… wend
Merupakan kondisi perulangan yang mana counter penambahan dilakukan tidak secara otomatis
For.. To.. Do
Merupakan kondisi perulangan dimana nilai perulangannya dimulai dari nilai terkecil ke nilai
terbesar.
Contoh Kasus 1.
L = 3.14*r*r
K = 2*3.14*r
Contoh Kasus 2
- Tulis hasilnya
input (a, b, c)
Jml = a+b+c
Rata-rata = Jml/3
Output (rata-rata)
Contoh Kasus 3
menggunakan pseudocode:
Input (Celcius)
Output (Kalvin)
Contoh Kasus 4
Buat algoritma untuk menentukan diskon dan menampilkannya di layar dari total pembelian (tp)
seorang pelanggan toko, dengan ketentuan bila tp >= 10000, maka diskonnya adalah 5% dari tp,
bila tp < 10000, maka pelanggan tersebut tidak dapat diskon atau nol. Tp dimasukkan dari
keyboard.
Urutan perintahnya :
1. Masukkan nilai TP
Diskon ! tp * 0.05
Kalau tidak
Diskon ! 0
1. Tampilkan diskon
Deklarasi
Kamus
TP : int
Diskon : real
Deskripsi
Input (TP)
If TP >= 10000
Diskon ! 0.05 * tp
Else
Diskon ! 0
EndElse
Output(Diskon)
EndDeskripsi
Contoh Kasus 5
Suatu Perusahaan Ingin membuat laporan penjualan secara komputerisasi. Sebagai variabel input
Sebagai Proses :
Diskon :
Jika Jumlah Bayar < 100.000 maka diskon 1.5% * Bayar
Jika Jumlah Bayar >= 100.000 dan bayar < 200.000 maka diskon 2.5% * Bayar
Jika Jumlah Bayar >= 200.000 dan bayar < 300.000 maka diskon 5% * bayar
Ouput :
Bayar = ?
Diskon = ?
Total Bayar = ?
Penyelesaian
Defenisi :
nb : Nama Barang, kb : kode barang, jj : Jumlah Jual, hj : Harga Jual, byr : bayar, Dis : Diskon,
Input :
Nama Barang =
Kode Barang =
Harga Jual =
Jumlah Jual =
Proses :
Byr = hj * jj
Else if byr >=100000 and byr < 200000 then dis= 2.5/100 * byr
Else if byr >=200000 and byr < 300000 then dis = 5 / 100 * byr
Endif
Output :
Bayar
Diskon
Total Bayar