Anda di halaman 1dari 7

KONSEP DASAR LOGIKA DAN ALGORITMA

OBJEKTIF

Mahasiswa dapat mengetahui konsep dasar Algoritma serta penerapannya pada bidang
pemrograman komputer serta keterkaitan antara logika dan Algoritma itu sendiri.
 
APAKAH ITU ALGORITMA 

Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai


sejarah yang aneh. Orang hanya menemukan kata Algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan
Algorist jika anda menghitung menggunakan Angka Arab. Para ahli
bahasa berusaha menemukan asal kata ini namun hasilnya kurang
memuaskan. Akhirnya para ahli sejarah matematika menemukan asal
kata 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 itu kita juga memperoleh akar kata
“Aljabar” (Algebra).
Perubahan kata dari Algorism menjadi Algorithm muncul karena kata
Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –
sm berubah menjadi – thm. 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. Dalam
Bahasa Indonesia, kata Algorithm diserap menjadi Algoritma.

DEFINISI ALGORITMA 

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. Kamus besar bahasa Indonesia (Balai Pustaka 1988)
secara formal mendefinisikan algoritma sebagai :

Algoritma adalah urutan logis pengambilan putusan untuk


pemecahan masalah.
BEDA ALGORITMA DAN PROGRAM 

Program adalah kompulan instruksi komputer, sedangkan metode dan tahapan


sistematis dalam program adalah algoritma. Program ini ditulis dengan
menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah
suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:

Program = Struktur Data + Algoritma

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada
sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan
membuat program menjadi kurang baik, demikian juga sebaliknya. Struktur data
disini bisa berupa list, tree, graph, dsb.

MENILAI SEBUAH ALGORITMA 

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang


digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak
hanya satu). Dan kita memilih mana yang terbaik diantara teknik-teknik itu. Hal ini
sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan
dengan metode dan logika yang berlainan.

Lalu bagaimana mengukur mana algoritma yang terbaik ?

Beberapa persyaratan untuk menjadi algoritma yang baik adalah:

1. Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh


dari proses harus berakurasi tinggi dan benar.
2. Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan
secepatmungkin dan frekuensi kalkulasi yang sependek mungkin.
3. Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan
satu kasussaja, tapi juga untuk kasus lain yang lebih general.
4. Bisa Dikembangkan (expandable). Haruslah sesuatu yang dapat
kitakembangkan lebih jauh berdasarkan perubahan requirement
yang ada.
5. Mudah dimengerti. Siapapun yang melihat, dia akan bisa
memahami algoritmaanda. Susah dimengertinya suatu program
akan membuat susah dimaintenance (kelola).
6. Portabilitas yang tinggi (Portability). Bisa dengan mudah
diimplementasikan diberbagai platform komputer.

MEKANISME PELAKSANAN ALGORITMA OLEH PEMROSES

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh


komputer, algoritma harus ditulis dalam notasi bahasa pemrograman
sehingga dinamakan program. Jadi program adalah perwujudan atau
implementasi teknis Algoritma yang ditulis dalam bahasa pemrogaman
tertentu sehingga dapat dilaksanakan oleh komputer.
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.

Sedangakan belajar bahasa pemrograman berarti belajar memakai


suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata
cara pengoperasian compiler-nya, dan memanfaatkan instruksi-
instruksi tersebut untuk membuat program yang ditulis hanya dalam
bahasa itu saja. Sampai saat ini terdapat puluhan bahasa
pemrograman. Yang dapat dibedakan berdasarkan tujuan dan
fungsinya.

Diantaranya adalah :
Belajar memprogram ≠ ‚ belajar bahasa pemrograman

 Belajar memprogram → belajar tentang strategi pemecahan


masalah,metodologi dan sistematika pemecahan masalah kemudian
menuliskannyadalam notasi yang disepakati bersama.
 Belajar memprogram →bersifat pemahaman persoalan, analisis dan
sintesis
 Belajar memprogram, titik berat → designer program

 
BELAJAR BAHASA PEMROGRAMAN

 Belajar bahasa pemrograman → belajar memakai suatu bahasa


pemrograman,aturan sintaks, tatacara untuk memanfaatkan instruksi
yang spesifik untuksetiap bahasa
 Belajar bahasa pemrograman , titik berat : coder

PRODUK YANG DIHASILKAN PEMROGRAM :

 Program dengan rancangan yang baik (metodologis, sistematis)


 Dapat dieksekusi oleh mesin
 Berfungsi dengan benar
 Sanggup melayani segala kemungkinan masukan
 Disertai dokumentasi
 Belajar memprogram, titik berat : designer program
STRUKTUR DASAR ALGORITMA 

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-


langkah bisa berupa runtunan, pemilihan, dan pengulangan. Ketiga
langkah itulah yang menyusun algoritma. Jadi, sebuah algoritma
merupakan kumpulan dari salah satu atau lebih struktur dasar tersebut.
RUNTUNAN (SEQUENCE)

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. Urutan instruksi menentukan keadaan akhir algoritma.
Kalau urutannya diubah, kemungkinan besar hasil akhirnya akan berubah.

Contoh :

Misalkan Ada dua buah bejana, A dan B. Bejana A berisi larutan kopi, bejana Bberisi
larutan susu. Pertukarkan kedua isi bejana itu, sehingga A berisi larutansusu, dan B
berisi larutan kopi.Kita tanyakan Algoritma!? Jawabannya: ada tiga langkah, yaitu:

1. Tuangkan larutan dari bejana A ke dalam bejana C


2. Tuangkan larutan dari bejana B ke dalam bejana A
3.Tuangkan larutan dari bejana C ke dalam bejana B. Selesai.....

PEMILIHAN (SELECTION)

Kadangkala sebuah instruksi dikerjakan setelah 'kondisi' tertentu


terpenuhi. Dalam bahasa pemrograman, ini dikenal dengan "if" dan "then".
Kondisi adalah persyaratan yang dapat dinilai benar atau salah sehingga
akan memunculkan 'aksi' yang berbeda dengan 'kondisi' yang berbeda.

Contoh :

'if' “ Wina memperoleh juara kelas


' then' ayah akan membelikannya sepeda

'if’ “ Mobilmu rusak


'then' pakai saja motorku

Tampak struktur pemilihan 'if-then' hanya memberikan satu pilihan aksi


bila kondisi dipenuhi atau bernilai benar dan tidak memberikan aksi lain
bila kondisi salah. Bentuk pemilihan yang lebih umum adalah memilih
satu dari dua aksi bergantung pada nilai kondisinya, seperti:

'if' “ hari hujan


'then' pergilah dengan naik taxi
'else' pergilah dengan naik motor

di sini secara logika jika kondisi 'hari hujan' benar, maka aksi 'pergi naik taxi'
dilakukan. Sebaliknya jika kondisi 'hari hujan' bernilai salah, maka aksi 'pergi
naikmotor' akan dilaksanakan.

PENGULANGAN (REPETITION)
alah satu kegunaan pemrograman adalah untuk memudahkan pekerjaan yangharus
dilakukan secara berulang.Bentuk umum perulangan adalah :
'repeat'
Aksi
'until' kondisi

Struktur 'repeat-until' hanya satu diantara beberapa struktur pengulangan yangada.


Terdapat beberapa struktur pengulangan lain seperti 'while-do', 'for' dansebagainya.

INDEPENDENSI NOTASI ALGORITMA 


otasi Algoritma dapat diterjemahkan ke dalam berbagai bahasapemrograman.
Analoginya sama dengan resep membuat kue. Sebuah resepdapat ditulis dalam
bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia,dan lain sebagainya.
Apapun bahasanya, kue yang dihasilkan tetap sama asalkansemua aturan pada
resep diikuti. Mengapa demikian ? Karena setiap juru masak(sebagai pemroses)
dapat melakukan operasi dasar yang sama, seperti mengocoktelur, menimbang
berat gula, dan lain sebagainya.Demikian juga halnya dengan komputer. Meskipun
setiap komputer berbedateknologinya, tetapi secara umum semua komputer dapat
melakukan operasi-operasi dasar dalam pemrograman seperti operasi pembacaan
data, operasiperbandingan, operasi aritmatika, dan sebagainya. Perkembangan
teknologikomputer tidak mengubah operasi-operasi dasar it, yang berubah
hanyalahkecepatan, biaya, atau tingkat ketelitian. Pada sisi lain setiap program
dalambahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin
sebelumakhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin
menyajikanoperasi dasar yang sesuai, dan menghasilkan efek netto yang sama pada
setiapkomputer.

INDEPENDENSI NOTASI ALGORITMA 


otasi Algoritma dapat diterjemahkan ke dalam berbagai bahasapemrograman.
Analoginya sama dengan resep membuat kue. Sebuah resepdapat ditulis dalam
bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia,dan lain sebagainya.
Apapun bahasanya, kue yang dihasilkan tetap sama asalkansemua aturan pada
resep diikuti. Mengapa demikian ? Karena setiap juru masak(sebagai pemroses)
dapat melakukan operasi dasar yang sama, seperti mengocoktelur, menimbang
berat gula, dan lain sebagainya.Demikian juga halnya dengan komputer. Meskipun
setiap komputer berbedateknologinya, tetapi secara umum semua komputer dapat
melakukan operasi-operasi dasar dalam pemrograman seperti operasi pembacaan
data, operasiperbandingan, operasi aritmatika, dan sebagainya. Perkembangan
teknologikomputer tidak mengubah operasi-operasi dasar it, yang berubah
hanyalahkecepatan, biaya, atau tingkat ketelitian. Pada sisi lain setiap program
dalambahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin
sebelumakhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin
menyajikanoperasi dasar yang sesuai, dan menghasilkan efek netto yang sama pada
setiapkomputer.

http://www.academia.edu/1178544/Logika_Dan_Algoritma

Anda mungkin juga menyukai