Konsep logika dan algoritma pemrograman dasar


 

Ditinjau dari asal usul katanya, kata Algoritma mempunyai sejarah yang unik. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab.

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). Berdasarkan judul buku itu diperoleh akar kata “Aljabar” (Algebra). Algoritma adalah urutan  langkah-langkah logis  penyelesaian  masalah yang disusun secara sistematis. Algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi.

1)  Struktur Algortima

Perhatikan algoritma sederhana berikut: 
Algoritma menghitung luas segitiga
1.   Start
2.   Baca data alas dan tinggi.
3.   Luas adalah alas kali tinggi kali 0.5
4.   Tampilkan Luas
5.   Stop

Penjelasan:
Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.

Hasil perbaikan algoritma perhitungan luas segitiga
1.    Start
2.    Baca data alas dan tinggi. 
3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4.    Luas adalah alas kali tinggi kali 0.5
5.    Tampilkan Luas
6.    Stop

Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma. Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.

Contoh: Algoritma Berangkat Sekolah
Mulai
Bangun dari tempat tidur
Mandi Pagi Sarapan Pagi 
Pergi Ke Sekolah 
Cari Ruang Kelas
Masuk kelas untuk Belajar
Selesai

Beda Algoritma dan Program?

Program    adalah    kumpulan    pernyataan    komputer, sedangkan metode   dan   tahapan sistematis dalam program adalah algoritma. Program  ditulis  dengan  menggunakan bahasa pemrograman.  Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Program = Algoritma + Bahasa (Struktur Data)

2)  Penerjemah Bahasa Pemrograman

Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.
Tabel Perbedaan compiler dan interpreter

Compiler

Interpreter

 

Menterjemahkan secara keseluruhan

Menterjemahkan Instruksi per

 

instruksi

Bila terjadi kesalahan kompilasi maksource program harus diperbaiki dadikompilasi ulang

 

Bila terjadi kesalahainterprestasi dapat diperbaiki

Dihasilkan Object program

Tidak dihasilkan obyek program

 

Dihasilkan Executable program

Tidak dihasilkan Executablprogram

Proses pekerjaan program lebih

 

cepat

Proses pekerjaan program lebih

 

lambat

Source program tidak dipergunakan

 

hanya bila untuk perbaikan saja

Source program terus

 

dipergunakan

Keamanan dari program lebih terjamin

Keamanan dari program kuranterjamin

3)  Jenis-Jenis Bahasa Pemrograman

a)   Bahasa Pemrograman Tingkat rendah (Bahasa mesin, Biner)
b)   Bahasa Pemrograman Tingkat tinggi
contoh-contoh Bahasa Pemrograman yang ada:
a)   Prosedural: Algol, Pascal, Fortran, Basic, Cobol, C
b)   Fungsional: LOGO, APL, LISP
c)   Deklaratif: Prolog
d)   Object oriented murni: Smalltalk, Eifel, Java, PHP

4)  Cara penulisan algortima

Ada tiga cara penulisan algoritma, yaitu:
a)   Structured English (SE)
”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak”
b)   Pseudocode
“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program”
Contoh Pseudocode:
1.   Start
2.   READ alas, tinggi
3.   Luas = 0.5 * alas * tinggi
4.   PRINT Luas
5.   Stop

Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READ dan  PRINT merupakan keyword yang ada pada bahasa BASIC yang masing- masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

5)  Membuat Alur Logika Pemograman

a)  Penyajian atau Penulisan Algoritma

`Penyajian  algoritma  secara  garis  besar  bisa  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. Sedangkan  algoritma  disajikan  dengan  gambar,  yaitu  dengan Flowchart

b)  Flowchart (Diagram Alir)

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk  notasi-notasi tertentu. Flowchart merupakan 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.

Berikut merupakan simbol-simbol bagan alir program (flowchart) dalam dunia pemrograman:
5)  Membuat Alur Logika Pemograman

Konsep logika dan algoritma pemrograman dasar


c)  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:
1)  Struktur Runtunan/Beruntun: Digunakan untuk program yang pernyataannya sequential atau urutan. Contoh:
5)  Membuat Alur Logika Pemograman

2)  Struktur Pemilihan/Percabangan: Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. Contoh Struktur percabangan untuk masalah batasan umur. Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton  diperbolehkan  dan  apabila  kurang  dari  17 tahun maka penonton tidak diperbolehkan nonton. Buatlah flowchart untuk permasalahan tersebut.
Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan jika ..maka ...(atau If ... Then dalam Bahasa Inggris. Bagan alir logika (Flowchart) penyelesaian masalah nonton film. 


3)  Struktur Perulangan: Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Struktur pengulangan terdiri dari dua bagian:
a)  Kondisi pengulangan, yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau salah (false)


b)  Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang. Contoh bagan alir logika (flowchart) untuk mencetak pernyataan sebanyak 100 kali.
c)  Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang paling tua dalam bahasa pemrograman.     Hampir semua bahasa pemrograman menyediakan metode ini, meskipun sintaksnya mungkin berbeda.   Pada struktur For kita harus tahu terlebih dahulu seberapa banyak badan loop akan diulang.   Struktur ini menggunakan sebuah  variable  yang  biasa  disebut  sebagai loop  s  counter, yang nilainya akan  naik  atau turun selama proses pengulangan.
Contoh:

Diketahui sebuah himpunan A yang beranggotakan bilangan 1, 3, 5,,,,19. Buatlah flowchart untuk mencetak anggota himpunan tersebut.

Penyelesaian:

Pada contoh ini, Anda mencoba menentukan hasil dari sebuah flowchart. Pada flowchart, setelah Start, kita meletakkan satu proses yang berisi pernyataan A = 1. Bagian inilah yang disebut inisialisasi . Anda memberi nilai awal untuk A = 1. Variabel counter-nya adalah X dengan nilai awal 1 dan nilai  akhir 10, tanpa increment (atau secara default increment-nya adalah 1). Ketika masuk ke badan loop untuk pertama kali maka akan dicetak langsung nilai variabel A. Nilai variabel A masih sama dengan 1. Kemudian proses berikutnya adalah pernyataan A = A
+ 2. Pernyataan ini mungkin agak aneh, tapi ini adalah sesuatu yang pemrograman. Arti dari pernyataan ini adalah gantilah nilai A yang lama dengan hasil penjumlah nilai A lama ditambah 2. Sehingga A akan bernilai 3. Kemudian dilakukan pengulangan yang ke-dua. Pada kondisi ini nilai A adalah 3, sehingga yang tercetak oleh perintah print adalah 3. Baru kemudian nilai A kita ganti dengan penjumlahan A + 2. Nilai A baru adalah 5. Demikian  seterusnya. Sehingga output dari flowchart ini adalah 1,3, 5, 7,,,,19.

Konsep logika dan algoritma pemrograman dasar

d)  Struktur pengulangan dengan While, Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan. Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan   dengan   While   merupa kan    jawaban   dari permasalahan ini. Seperti halnya For, struktur pengulangan dengan While juga merupakan struktur yang didukung oleh hampir semua bahasa pemrograman  namun dengan sintaks yang berbeda.
Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada While bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang penting sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang.
Perhatikan tahapan eksekusi flowchart berikut ini 


(1)       Pada flowchart ini ada dua variabel yang kita gunakan yaitu A dan B. Kedua variabel tersebut kita inisialisasi nilai awalnya (A = 1 dan B = 0) sebelum proses loop terjadi. Variabel A adalah variabel counter.
(2)       Pada  simbol  decision, nilai  A  akan  diperiksa ap akah memenuhi kondisi (<10). Jika Ya maka perintah berikutnya  dieksekusi, jika  tidak  maka  program  akan berhenti. Pada awal eksekusi ini kondisi akan terpenuhi karena nilai A= 1.
(3)       Jalankan perintah Print B.
(4)       Nilai variabel A kemudian diganti dengan nilai A l ama (1) ditambah 2. Sehingga nilai variabel A baru adalah 3. Sedangkan nilai variabel B = 9 (hasil perkalian A = 3).
(5)       Program   akan   berputar   kembali   untuk   memeriksa apakah nilai variabel A masih lebih kecil dari 10. Pada kondisi ini nilai A = 3, sehingga kondisi masih terpenuhi. Kemudian langkah  berulang ke  langkah  ke  3.  Begitu seterusnya sampai nilai variabel A tidak lagi memenuhi syarat kurang dari 10



source: modul 1 pembelajaran pppk informatika kemdikbud
Baca Juga

Bagikan Artikel



Komentar