BAB I ALUR LOGIKA PEMROGRAMAN

Kompetensi Dasar

3.1. Menerapkan alur logika pemrograman komputer

4.1. Membuat alur logika pemrograman komputer


A. Masalah

       Manusia hidup dengan segala masalah yang melingkupinya. Hidup pada dasarnya adalah serangkaian aktivitas menyelesaikan masalah. Dalam Bahasa Indonesia, istilah lain yang sepadan pengertiannya dengan kata "masalah" adalah "persoalan" (problem). Masalah adalah pernyataan atau tugas yang kita cari jawabannya. Contoh beberapa dalam kehidupan sehari - hari misalnya :

  1. Diberikan  setumpuk kartu pasien disebuah tempat praktek dokter yang tersusun acak. Setiap kart mempunyai nomor registrasi pasien. Bagaimana mengurutkan kartu - kartu tadi berdasarkan nomor urut pasien sehingga tersusun dengan nomor kecil di atas dan nomor besar di bawah (Gambar 1.1.)? Jawaban dari masalah ini adalah barisan kartu pasien yang sudah terurut dari kecil ke besar.
  2. diberikan sebuah daftar yang berisi nama - nama siswa baru yang diterima di sebuah sekolah negeri. Daftar tersebut hanya berisi nomor peserta ujian yang diterima. Carilah apakah seorang calon siswa tersebut baru yang nomor peserta ujiannya diketahui terdapat di dalam daftar tersebut? Jawaban dari masalah ini adalah "ya" jika nomor tersebut ditemukan di dalam daftar, atau "tidak" jika tidak terdapat di dalamnya.
      Tentu masih banyak lagi masalah yang muncul di bidang pekerjaan seseorang. Seorang pustakawan mempunyai masalah dalam mengelola daftar buku yang dipinjam, seorang statistikawan mempunyai masalah mengelola hasil jajak pendapat, seorang apoteker mempunyai masalah dalam mengiput data barang yang ada dan sebagainya.

Gambar 1.1 Mengurutkan kartu, (Sumber:www.infodesign.com.au)
        Beberapa masalah yang muncul di dalam dunia nyata banyak memiliki kemiripan subtansi. Misalnya masalah mengurutkan tumpukan kartu yang tersusun acak secara subtansi sama dengan masalah mengurutkan sekumpuluan nilai ujian agar terurut menaik atau menurun. Oleh karena itu mendeskripsikan masalah - masalah yang muncul di dunia nyata dengan menggunakan beberapa ukuran (parameter), misalnya sebgai berikut :
  1. [Masalah pengurutan] Diberikan sebuah senarai(list) S yang terdiri dari buah bilangan bulat. Bagaimana mengurutkan buah nilai tersebut sehingga terurut secara menaik?
  2. [Masalah pencarian] Tentukan apakah suatu nilai x terdapat di dalam sebuah senarai S yang berisi buah bilangan bulat!
  3. [Masalah mencari elemen terbesar]  Diberikan senarai (listyang terdiri dari buah nilai bilangan bulat. Carilah elemen terbesar di dalam senarai tersebut.
Setiap masalah umumnya mengandung satu atau lebih parameter yang dinyatakan di dalam masalah tersebut. Misalnya pada contoh msalah pengurutan di atas, dan adalah parameter masalah. Parameter ini di dalam pernyataan masalah belum diber nilai spesifik, dan semua nilai parameter merupakan masukan (input) untuk masalah tersebut. Setiap pemberian nilai untuk semua parameter masalah dinamakan instansiasi masalah (instance of a problem). Jawaban terhadap instansiasi masalah disebut solusi[NEA96].

Sebagai contoh, instansiasi masalah untuk masalah pengurutan adalah :
= [15,4,8,11,2,10,19],         =7
dan solusinya adalah barisan nilai terurut S = [2,4,8,10,11,15,19]. 

B. Konsep Algoritme
     Algoritma adalah jatung ilmu komputer dan informatika. banyak cabang dai ilmu komputer yang diacu dalam teknologi algoritma. misalnya algoritma perutean (routing) pesan dalam jaringan komputer, algoritma bresenhan knuth-morris-pratt untuk mencari suatu pola di dalam teks (bidang informatika retrivel), dan sebagainya.
       Ditijau dari asal usul kata, kata "algoritma" sendiri mempunyai sejarah yang cukup aneh. kata ini muncul dalam kamus webster sampai akhir tahun 1957. Orang yang menemukan kata algorism yang berati proses menghitung dalam angka arab (KNUTS73). Anda dikatakan algorist jika anda menggunakan angka arab. para ahli bahasa berusaha menemukan asal kata algorism ini namun hasilnya kurang memuaskan, akhirnya para sejarah matematika menemukan asal mula kata tersebut.
      Istilah algoritme berasal dari kata “algorism” yang merupakan panggilan popular bangsa eropa terhadap seorang ahli matematika muslim dari Jazirah Arab bernama Abu Ja’far Muhammad Ibnu Al-Khawarizmi yang hidup di abad ke-19. Dalam perkembangan isltilah “algorism” berubah menjadi “algorithm” atau dalam Bahasa Indonesia menjadi “algoritme/ algoritma”.
      Beliau terkenal dalam berbagai karya tulisannya tentang cara memecahkan dan menguraikan setiap permasalahan dalam hitungan menggunakan alur pikiran yang sistematis. Pada perkembangannya, konsep pemikiran Al-Khawarizmi dalam menguraikan dan memecahkan permasalahan secara logis dan matematis ditetapkan secara keilmuan sebagai sebuah metode algoritme dalam menjalankan proses kerja mesin komputer.
Gambar 1.2. Al-Khawarizmi


    Algoritma adalah urutan langkah – langkah logis menyelesaikan masalah yang disusun secara sistematis dan logis. 
Terdapat beberapa definisi lain dari algoritma, tetapi pada prinsipnya sama. Berikut beberapa pengertian dikutip dari beberapa literatur, antara lain :
    Algoritma adalah deretan langkah - langkah komputasi yang mentransformasikan data masukan menjadi keluaran[COR92].
     Algoritma adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas.[LEV03].
    Algoritma adalah prosedut komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi, algoritma adalah deretan langkah komputasu yang mentransformasikan masukan menjadi keluaran[COR89].

    Perhatikan Contoh cara menghasilkan dua gelas campuran kopi susu dari sebuah gelas kopi dan segelas susu berikut :
Gambar 1.3 Campuran Kopi Susu

Langkah - langkah logis yang dapat dijalankan adalah sebagai berikut:
1. Persiapkan segelas kopi dan segelas susu
gelas2
Gambar 1.4 Campuran Kopi Susu
2. Siapkan sebuah gelas kosong
Gambar 1.4 Satu Gelas Kosong
3. Tuangkan setengah gelas kopi murni kedalam gelas kosong



4. Lalu, tuangkan setengah gelas susu ke dalam gelas kosong hingga menjadi satu gelas penuh



5. Selanjutnya, sisa susu pada gelas dituangkan ke dalam gelas kopi sehingga menjadi satu gelas penuh


6. Hasil akhirnya adalah dua gelas campuran kopi susu dan satu gelas dalam kondisi kosong



Meskipun persoalan tersebut sangatlah sederhana, mesin computer tidak bisa menerjemahkan seperti halnya pemikiran manusia. Untuk itu, diperlukan sebuah urutan langkah sistematis untuk mengonversinya menjadi langkah yang lebih sederhana dan terurut. Mesin computer merupakan mesin kalkulator modern yang sebenarnya hanya melakukan proses aritmetika dua jenis bilangan, yaitu 0 dan 1 (biner). Karena ketelitian dan kendalanya dalam melakukan proses computing secara berulang – ulang, computer berkembang menjadi peralatan canggih dan super cepat. Algoritme berperan penting dalam menerjemahkan perintah yang di-inputkan-kan manusia ke dalam computer menjadi Bahasa yang dapat dimengerti oleh mesin.

C. Struktur Penulisan Algoritma
    Untuk menjadi seorang pemrogram mesin computer, seseorang harus mengerti konsep algoritma dan merancangnya. Ada beberapa metode penulisan dalam meranacng algoritma, yaitu :
  1. Menggunakan basahsa alami atau natual language (Bahasa inggris, Indonesia atau yang lainnya
  2. Menggunakan bagan alir dokumen atau flowchart dan
  3. Menggunakan notasi pseudocode
        Struktur penulisan algoritma terdiri dari tiga bagian berikut :

1.       Bagian Kepala atau Header

Bagian ini menandakan awala permulaan sebuah algoritma. Biasanya berisi judul algoritma yang mewakili spesifikasi program. Biasanya diawali dengan keyword “Program” diikuti judul program. Sebaiknya dalam penulisannya lebih ringkas dan padat, namun memberikan gambaran jalannya program yang akan dikerjakan.

 

2.       Bagian Pendeklarasian

Pada bagian ini merupakan tahap pernyataan dan penentuan berbagai jenis variabel, konstanta dan tipe data bentuk yang selanjutnya akan digunakan pada bagian utama program.

 

3.       Bagian Badan Algoritma

Bagian ini menunjukkan untaian proses yang dilakukan. Biasanya berupa proses computing (perhitungan), perulangan, penyelesaian, maupun proses pencetakkan output program pada piranti output, misalnya monitor.

        Perhatikan contoh bentuk algoritma progam untuk menampilkan string “Selamat datang programmer” berikut.


        Penulisan algoritma tidak mengacu dalam bentuk atau kode Bahasa pemrograman tertentu. Namun, penulisannya merepresentasikan proses implementasi rancangan algoritma dalam kode Bahasa pemrograman tertentu. Struktur penulisan algoritma pada contoh tersebut adalah sebagai berikut.

1.     Bagian kepala algoritma ditunjukkan pada baris :

Program untuk menampilkan string

{program ini untuk menampilkan kalimat “selamat datang programmer” pada layar monitor}

 

2.       Bagian badan atau proses ditunjukkan pada baris kode:

Deklarasi

   Teks : string {variabel teks dengan tipe data string}

 

3.       Bagian akhir ditunjukkan pada baris kode:

Algoritma :

   Teks ß “Selamat datang programmer” {assignment variabel teks}

   Write(teks) {menampilkan nilai variabel teks pada monitor}

 

 C. Struktur Algoritma dengan Natural Language
            Struktur penulisan dengan metode natural language lebih mendekati penulisan algoritma bergaya Bahasa manusia yang digunakan dalam keseharian. Langkah – langkah yang dibuat lebih bersifat deskriptif, singkat, padat, dan mudah dimengerti, tetapi masih mewakili proses yang akan dilakukan. Tidak ada aturan baku yang harus diikuti secara mutlak dalam penulisan ini. Perhatikan contoh berikut.

        Notasi penulisan bisa diganti sesuai kebutuhan dan kemampuan perancang dalam mendeskripsikan pemikirannya. Sebagai contoh notasi “Tetapkan variabel x dengan tipe data integer” dapat diganti dengan “Masukan data 0 ke variabel x”.
            Metode penulisan algoritma menggunakan natural language memiliki keuntungan dan kerugian tersendiri. Adapun keuntungan bergaya penulisan natural language, antara lain.
  • Mudah penulisannya,
  • sederhana,
  • tidak sulit dalam mempelajarinya karena tidak memiliki aturan standar dalam penulisannya, dantidak membutuhkan tool atau software khusus dalam perancangannya.
selain keuntungan, metode natural language memiliki kerugian, yaitu:
  • gaya penulisan setiap programmer tidak sama,
  • pemahaman dalam pembacaan algoritma menjadi sulit,
  • jika permasalahan program yang akan dibuat kompleks, algoritma menjadi sangat panjang sehingga kurang efesien,
  • sukar untuk menerjemahkannya ke dalam bentuk kode pemrograman.
D. Struktur Algoritma dengan Flowchart
        Algoritma pada awalnya dimodelkan dalam bentuk bangunan ruang oleh para ilmuwan ketika computer mulai berkembang. Model penulisan algoritma ini disebut sebagai bagan alir atau flowchart. Bagan alir (flowchart) merupakan bagan (chart) yang menunjukkan aliran atau runtutan data dan proses (flow) yang terjadi dalam program secara logika. Gaya perancangan algoritma dengan flowchart lebih dimengerti karena memiliki standar penggunaan yang sama. Hal ini disebabkan algoritma juga digunakan sebagai media berkomunikasi dan dokumentasi. Pedoman yang harus diikuti oleh perancang algoritma ketika menggunakan metode ini adalah sebagai berikut.

1.   Penyususnan symbol bagan alir (flowchart) dimulai dari atas ke bawah dan mulai dari sebelah kiri dari suatu halaman

2.     Setiap proses dalam symbol harus dilengkapi dengan nama dan aktivitas yang jelas

3.   Alur bagan alir harus diawali dengan symbol start atau awal dan diakhiri dengan symbol end atau akhir

4.     Setiap proses harus memiliki input dan menghasilkan output

5.    Pemberian nama proses symbol sebaiknya menggunakan kata kerja sebagai berikut :

       “Masukan Variabel A”

       “Hasil = A + B”

6.   Masing – masing kegiatan di dalam bagan alir (flowchart) harus memiliki alur data proses secara rinci dan jelas.

7.  Kegiatan yang terpotong yang akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan symbol penghubung.

 

Lima jenis bagan alir (flowchart), adalah sebagai berikut.

1. Bagan alir sistem (system flowchart) menjelaskan urutan setiap prosedur yang terdapat pada sistem

2.   Bagan alir dokumen (document flowchat) menunjukkan arah aliran data laporan dan formulir pada subprogram atau proses

3.  Bagan alir skematik (schematic flowchartI) memiliki kemiripan dengan bagan alir sistem, yaitu untuk menggambarkan skema aliran data pada prosedur di dalam sistem.

4.   Bagan alir program (program flowchart) berguna untuk melakukan analisis sistem dengan menggambarkan proses dlama suatu prosedur program

5.  Bagan alir proses (process flowchart) merupakan bagan yang sering digunakan dalam aliran proses pada teknik industri.

        Penulisan algoritma flowchart menggunakan simbol – simbol yang harus dipahami dan diingat. Adapun simbol – simbol tersebut pada Tabel 1.1.

Tabel 1. 1 Simbol – symbol yang digunakan pada penulisan flowchart


        Model perancangan algoritma dengan flowchart sangat terkenal seiring bermunculan berbagai Bahasa pemrograman, seperti Basic, Fortran (Formula Translator), dan COBOL (Common Bussines Oriented Language). Berikut ini keuntungan metode flowchart.

  • Memudahkan setiap orang untuk membcaca dan memahami algoritma karena adanya standarisasi symbol dalam perancancangan.
  • Cocok untuk algoritma dengan skala kerumitan tingkat rendah.
  • Aliran proses program cukup rinci dengan pemodelan secara visual. 

        Dengan segala kemudahan yang diperoleh, metode flowchart ternyata mempunyai kekurangan, diantaranya :
  • tidak cocok untuk program yang kompleks,
  • membutuhkan tools khusus untuk merncang algoritma,
  • cukup sulit untuk menerjemahkan ke dalam bentuk kode program sebenarnya,
  • penjelasan dalam alr porses tidak detaul karena keterbatasan ruang.
Pedoman dalam merancang algoritma dengan bagan alir program adalah sebagai berikut.
  1. Bagan alir dimulai dengan simbol start atau elips dan diakhiri dengan simbol end atau elips.
  2. Untuk memulai suatu proses secara computing, diperlukan inisialisasi atau proses deklarasi yang berfungsi untuk menentukan susunan variabel, konstanta, maupun proses manual input nilai data.
Setiap input akan dilakukan proses secara computer dengan simbol persegi panjang dan setip proses aliran menghasilkan output.         


Gambar 1. 8 Contoh bagan alir (flowchart) penjumlahan


E. Struktur Algoritma dengan Pseudocode
        Psedocode memiliki arti tidak sebenarnya, semu, atau samar. Jadi, Psedocode adalah sebuah notasi kode yang tidak sebenarnya, tetapi mewakili logika algoritma bahsa pemrograman yang akan digunakan. Namun, psedocode tidak memiliki aturan penulisan khusus seperti dalam Bahasa pemrograman. Tidak ada aturan khusus yang mengharuskan penulisan algoritma dengan psedocode seperti aturan dalam bagan alir (flowchart) program. Penulisan psedocode memiliki beberapa pedoman sebagai berikut.

1.       Memiliki bagian header (kepala) yang menunjukkan judul algoritma, komentar, dan deklarasi (lihat penjelasan sebelumnya).

2.       Memiliki bagian badan algoritma yang merupakan inti dari proses.

3.       Memiliki bagian akhir proses algoritma yang menandakan bahwa proses alir program algoritma telah bereakhir.

4.       Pada saat mendeklarasikan variabel gunakan format sebagai berikut.

Deklarasi

   Nama_variabel : tipe data

Contoh :

Deklarasi

   x : integer

5.       Assignment (pernyataan/penugasan atau saat memberikan value pada variabel dan konstanta, gunakan format penulisan berikut.

Nama_variabel ß value

Contoh :

X ß 3

   Artinya memberikan nilai data 3 kepada variabel x

6.       Lebih banyak menggunakan Bahasa inggris dalam merepresantikan alir program, sebagai contoh perintah.

a.       Read, untuk meminta masukan data dari keyboard oleh pengguna.

b.       Write, menampilkan nilai data variabel pada layer monitor.

c.       While, untuk perulangan yang artinya akan dilakukan selama benar.

d.       If..then, artinya jika…maka adalah mode penyeleksian kebenaran.

Contoh :

Read (m) {meminta masukan data dan disimpan ke variabel m}

Write (m) {menampilkan atau mencetak data m}

7.       Untuk menulis komentar diawali dengan karakter “{“ dan diakhiri dengan karakter “}”.

Perhatikan contoh penulisan algoritma menggunakan metode pseudocode berikut.

Leave a Reply

 
 

Blog Archive