Pengertian Algoritma, Flowchart, Dan Pseudocode (Algoritma Dan Pemrograman Terstruktur)

Pengertian Algoritma, Flowchart, Dan Pseudocode (Algoritma Dan Pemrograman Terstruktur)


 Definisi dan pengertian

          Pada bahasa pemrograman komputer terdapat beberapa fakktor yang harus diperhatikan yaitu sintaksis , semantik, dan kebenaran logika. Sintaksis adalah tata bahasa yang digunakan dalam program. Semantik adalah maksud yang dikandung dalam setiap pernyataan yang ada di dalam program. Kebenaran logika berhubungan dengan benar tidaknya urutan pernyataan yang ada dalam program. Bahasa komputer dikelompokkan menjadi dua bagian yaitu bahasa pemrograman tingkat tinggi (low level pprogramming languange) dan bahasa pemrograman tingkat tinggi (high level programming language). Bahasa pemrograman tingkat rendah sulit dipahami karena berhubungan langsung dengan mesin komputer itu sendiri, pemrograman tingkat tinggi merupakan bahasa pemrograman yang memakai kata-kata dan pernyataan yang mudah dimengerti manusia meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya.

Menurut tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:

1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa biner, contohnya 01100101100110

2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb.

3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.

4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb.

 Klasifikasi Bahasa Pemrograman

Untuk Klasifikasi Bahasa Pemrograman dibagi menjadi 5 bagian :

1. Generasi Pertama
          Bahasa yang berorientasi pada mesin. Program disusun menggunakan bahasa mesin/kode mesin. Bahasa Mesin adalah bahasa tingkat rendah yang hanya dipahami oleh komputer. Bahasa mesin ini sangat sulit dipahami oleh orang awam sehingga programmer harus menguasai operasi komputer secara teknis.
          Abstraksi bahasa ini adalah kumpulan kombinasi kode biner "0" dan "1" yang sangat tidak alamiah bagi kebanyakan orang - kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.

2. Generasi Kedua
          Bahasa pemrograman yang menggunakan bahasa rakitan / Assembly. Bahasa Assembly adalah bahasa pemrograman yang menggunakan instruksi yang sama seperti pada bahasa mesin, tetapi instruksi dan variable yang digunakan mempunyai nama sehingga mempermudah proses pemrograman. Karena tidak lagi menggunakan deretan kode biner untuk melakukan pemrograman.

3. Generasi Ketiga
          Bahasa pemrograman yang menggunakan pendekatan prosedural. Instruksi program ditulis menggunakan kata-kata yang biasa digunakan oleh manusia. Contoh : WRITE (untuk menampilkan kelayar) READ (untuk membaca data masukan dari keyboard). Bahasa pada generasi ini disebut juga Bahasa beraras tinggi / High Level Language. Contoh bahasa pemrogaman :PASCAL, FORTRAN, C, COBOL, BASIC dll.
          Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated development environment). Cara interpretasi memudahkan dalam pembuatan program secara interaktif dan cara kompilasi menjadikan eksekusi program lebih cepat.
Pertama program dikembangkan interaktif, kemudian setelah tidak ada kesalahan keseluruhan program dikompilasi. Contoh bahasa program seperti ini adalah Visual BASIC yang berbasis BASIC dan Delphi yang berbasis PASCAL.
          Bahasa tingkat tinggi bersifat portable. Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.

4. Generasi keempat
          Merupakan Bahasa Non-Prosedural. Bahasa pemrograman Generasi Ke-4 dirancang untuk mengurangi waktu pemrogram untuk membuat program sehingga pembuatan program dibuat dengan waktu lebih cepat.
          Program ini dapat digunakan oleh pemakai yang kurang mengenal hal-hal teknis pemrograman tanpa perlu bantuan seorang programmer professional.
Contoh : Membuat program database sederhana dengan Microsoft Access.
          Bahasa generasi ke-4 disebut juga dengan Very High Level Language atau Problem Oriented Language (bahasa yang berorientasi pada masalah) karena memungkinkan pemakai menyelesaikan masalah dengan sedikit penulisan kode pemrograman dibandingkan dengan bahasa prosedural.
Fasilitas yang tersedia :
           Program Generator (untuk membuat aplikasi mudah).
           Report Generator (untuk membuat laporan dengan mudah dan cepat)
           Bahasa Query (SQL).
Dengan adanya fasilitas ini programmer sedikit dalam menuliskan kode instruksi.
Contoh Bahasa Generasi ke-4: Oracle, Microsoft Access dsb.

5. Generasi Ke Lima
          Merupakan bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence) (AI). AI adalah disiplin dari ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.
Contoh Aplikasi :
           Pemrosesan Bahasa Alami mengatur komputer agar bisa berkomunikasi dengan manusia melalui bahasa manusia.
           Aplikasi Sistem Pakar program komputer yang dapat menghasilkan pemikiran yang setara dengan seorang pakar.
          Contoh Bahasa Pemrograman : PROLOG dan LISP.

Proses pemecahan masalah sebelum di implementasikan dalam sebuah program yaitu
1. Menganalisa dan memahami suatu permasalahan dan dibuat suatu algoritma dimana algoritma merupakam pola pkir terstruktur berisi tahap-tahap penyelesaian suatu permasalahan.
2. Membuat suatu kode dari algoritma yang telah dibuat ke dalam pernyataan-pernyataan yang sesuai dengan bahasa pemrograman yang digunakan
3. Testing dan debugging. Testing merupakan proses menjalankan program secara rutin untuk menemukan kesalahan – kesalahan dalam penulisan suatu pernyataan dalam program. Sedangkan debugging adalah proses menemukan kesalahan-kesalahan dalam program dan kesalahan yang ditemukan kemudian diperbaiki sampai tidak muncul lagi.
4. Melakukan dokumentasi terhadap setiap langkkah yang dilakukan. Dokumentasi ini sangat pentinng untuk mengembangkan program selanjutnya.


 ALGORITMA PEMROGRAMAN

          Algoritma pemrograman merupakan urutan langkah—langkah untuk menyelesaikan masalah yang disusun secara sistematis. Algoritma dibuat tanppa memperhatikkan bentuk yang akan digunakan sebagai implementasinya , sehingga suatu algoritma dapat menjelaskan bagaimana cara melaksanakan fungsi yang dapat diekspresikan dengan suatu program atau komponen fisik.
Sebelum membuat algoritma perlu mendefinisikan masukan (input) dan keluaran (output).
1. Mendefinisikan masalah
          Memahami permasalahan mendalam langkah apa yang harus dinputkan pada program dan perintah yang akan digunakan serta bagaimana bentuk outputnya. Contoh diambil kasus algoritma memasak telor dadar
Dimana input berupa telor yang masih mentah dan output berupa telor yang sudah matang.

2. Teknik pemecahan masalah dan algoritma
          Teknik pemecahan m,asalah yang tepat dalam hal ini dituangkan dalam suatu algoritma dengan tujuan untukk menyelesaikan masalah. Algoritma harus memiliki kebenaran secara logika sehingga siap diimpplementasikan dalam program.
Misalkan dari permasalahan membuat telor dadar dapat dibuat suatu algoritma sebagai berikut;
           Nyalakan api kompor
           Tuangkan minyak ke dalam wajan
           Pecahkan telor ayam ke dalam mangkuk
           Tambahkan garam secukuppnya
           Aduk campuran telor dengan garam
           Tuang adonan telor ke dalam wajan
           Masak telor hingga matang
Penyajian algoritma:
Algoritma disajikan dalam dua bentuk , yaitu:
1. Menggunakan Flow chart (diagram alir)
2. Menggunakan pseudo-code


 Flowchart

          Dalam membuat algoritma diperlukan suatu mekanisme atau alat bantu untuk menuangkan hasil pemikiran mengenai langkah-langkah penyelesain yang sistematis dan terurut. Penyusunan solusi sebagai alat untuk pemecahan masalah dapat disajikan dengan flowchart, merupakan skema penggambaran dari algoritma atau proses. Tabel berikut menyajikan simbol-simbol yang digunakan untuk menyusun flowchart.

Berikut merupakan contoh penyajian bentuk flowchart dari permasalahan membuat telor dadar




Struktur Flowchart




 Struktur sequence

          Struktur ini terdiri dari pernyataan yang tidak memppunyai unsur pperulangan atau keputusan di dalamnya
Contoh algoritma memecahkan masalah dalam program untuk sequence , kasus perhitungan luas dan volume balok. Adapun volume dari balok adalah volume= (2*p*l)+(2*p*t)+(2*l*t) sedangkan luas suatu balok adalah luas=p*l*t catatan: p= panjang, l= lebar, t = tinggi
Algoritma dari permasalahan diatas adalah:
1. Masukkan panjang
2. Masukkan lebar
3. Masukkan tinggi
4. Luas = (2*p*l)+(2*p*t)+(2*l*t)
5. Volume = p*l*t
6. Tampilkan luas
7. Tampilkan volume
Adapun dengan penyajian flowchart sebagai berikut:

Keterangan dari algoritma diatas: pada baris pertama, kedua dan ketiga anda diminta untuk memasukkan input yang berkaitan dengan balok yaitu panjang , lebar,tinggi . Adapun panjang balok disimpan pada variabel panjang (p), lebar balok disimpan pada variabel lebar (l), tinggi balok disimpan pada variabel tinggi (t). Sedangkan pada baris keempat dan kelima anda diminta memasukkan rumus volume balok (2*p*l)+(2*p*t)+(2*l*t) dan luas balok adalah luas=p*l*t . Untuk luas balok disimpan pada variabel luas dan volume balok disimpan pada variabel volume . Baris enam dan tuuh merupakan hasil dari proses input dan proses perhitungan yang dimasukkan berdasarkan nilai inputnya dan ditampilkan pada variabel luas dan volume.

 Struktur keputusan(decision)

          Pengambilan keputusan perlu dilakukan appabila harus menentukan satu pilihan dari minimal dua ppilihan yang ada. Dalam hal ini kondisi yang dihadapi perlu diketahui. Kondisi dapat berupa pernyataan perbandingan. Dalam flowchart simbol yang digunakan untuk pengambilan keputusan berbentuk belah ketupat


          Simbol pengambilan keputusan hanya memiliki satu buah input dan dua buah outpput yang digunakan untuk memfasilitasi hasil dari pppengujian kondisi yaitu ya atau tidak (True atau False).
Dalam pengujian kondisi terdappat beberapa notasi perbandingan menggunakan notasi relasional seperti berikut:

Contoh kasus
Pemimpin sebuah perusahaan otomotif perlu menentukan besarnya bonus yang akan diberikan kepada para pegawainya yang bekerja sebagai account executive. Jika terdapat pegawai yang dalam bulan ini telah menjual mobil lebih dari dua unit, maka akan mendapatkan bonus sebesar Rp 1.000.000,- kemudian pegawai yang bisa menjual mobil tepat dua buah maka, akan mendapatkan bonus Rp 500.000,- namun jika pegawai yang dalam bulan ini penjualannya kurang dari dua unit maka, pegawai tersebut tidak mendapatkan bonus.
Jika kita gambarkan persoalan di atas menggunakan flowchart maka, akan menjadi seperti berikut :


 Struktur Perulangan(Looping)

          Dalam beberapa kasus, seringkali terdapat proses yang harus dilakukan secara berulang-ulang, sebagai contoh yang paling sederhana adalah proses berjalan kaki. Untuk bisa mencapai tujuan, kita harus melangkahkan kaki secara berulang-ulang supaya dapat menempuh jarak tertentu dan akhirnya sampai tujuan.
          Pada kasus yang berhubungan dengan pengolahan informasi menggunakan komputer, terdapat proses-proses yang harus dilakukan secara berulang, mulai dari input data, proses dan output. Program yang baik adalah program yang bisa mengoptimalkan kinerja komputer, dengan cara menggunakan kembali program atau sekumpulan program dengan proses tertentu. Atau dengan kata lain terdapat bagian program yang dapat dipanggil/digunakan secara berulang-ulang. Hal ini akan mempermudah pekerjaan programmer dalam menghasilkan solusi.
Contoh Kasus
Seorang staff IT diminta untuk menampilkan data dari sebuah tabel dimana di dalamnya terdapat seratus baris data. Jika staff tersebut harus menampilkan satu per satu, tentunya akan membutuhkan banyak kode program dan program akan menjadi tidak efektif. Bagaimana cara menyelesaikan persoalan staff IT tersebut?
Solusi:
Dalam kasus ini yang diminta adalah bagaimana menampilkan data sebanyak
100 baris tanpa harus menggunakan proses output sebanyak 100 kali. Metode yang digunakan adalah pengulangan.
Dalam proses pengulangan terdapat 3 (tiga) hal penting, yaitu:
1. Inisialisasi (penentuan kondisi/nilai awal)
2. Proses
3. Kondisi berhenti
Untuk kasus menampilkan data, dapat ditentukan bahwa jumlah baris yang akan dibaca adalah 100. Baris akan dibaca mulai dari baris pertama (baris = 1). Proses yang dilakukan adalah membaca dan menampilkan isinya ke layar (output). Pembacaan akan berhenti jika baris yang dibaca sudah mencapai baris ke-100.
Jika digambarkan menggunakan flowchart maka, akan tampak sebagai berikut:


 Pseudocode

          Skema lain yang dapat digunakan untuk menyusun algoritma adalah pseudocode. Pseudocode adalah bentuk informal untuk mendeskripsikan algoritma yang mengikuti struktur bahasa pemrograman tertentu.
Tujuan dari penggunaan pseudocode adalah supaya :
1. lebih mudah dibaca oleh manusia
2. lebih mudah untuk dipahami
3. lebih mudah dalam menuangkan ide/hasil pemikiran
          Pseudocode sering digunakan dalam buku-buku tentang ilmu komputer ataupun publikasi ilmiah untuk menjelaskan urutan proses atau metode tertentu. Seorang programer yang ingin yang ingin menerapkan algoritma tertentu, terutama yang kompleks atau algoritma baru, biasanya akan memulainya dengan membuat deskripsi dalam bentuk pseudocode. Setelah pseudocode tersebut jadi, maka langkah selanjutnya hanya tinggal menterjemahkannya ke bahasa pemrograman tertentu. Pseudocode ini biasnya disusun dalam bentuk yang terstruktur dengan pendekatan sekuensial (berurutan) dari atas ke bawah. Algoritma yang menjelaskan tentang proses membuat telur dadar, sebenarnya sudah menerapkan penggunaan pseudocode. Sesungguhnya tidak ada suatu standar untuk menyusun algoritma menggunakan pseudocode. Oleh karena pseudocode lebih cocok digunakan untuk menyusun algoritma dengan kasus yang besar dan kompleks, maka sangat dianjurkan kepada programer pemula untuk mulai menggunakan pseudocode dalam menyelesaikan masalah.

Pseudocode
if sales > 1000 then
bonus-> sales * 25%
salary ->2000000 + bonus
endif
output(salary)

C++
int sales;
sales=1001;
if (sales > 1000)
{
bonus = sales * 0.25;
salary = 2000 + bonus;
}

Related Posts

Previous
Next Post »