Algoritma Pemrograman

7_brain-facts-750x400.jpg

Hai… Apa Kabar? Sudah Makan apa belum? haha.

Disini akan saya bahas tentang Algoritma Pemrogaman.

Menurut wikipedia bahasa indonesia, Algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis.

Asal Muasal kata ‘Algoritma’, muncul dari kata ‘Algoritmi’.Yaitu bentuk Latin dari al-Khwarizmi, matematikawan, ahli astronomi, dan ahli geografi dari Persia.

Definisi informalnya bisa berarti “sekumpulan aturan yang secara tepat menentukan seurutan operasi” yang mengikutkan semua program komputer, termasuk program yang tidak melakukan perhitungan numerik. Secara umum, sebuah program hanyalah sebuah algoritma jika ia akan berhenti nantinya.

Boolos & Jeffrey (1974, 1999) memberikan sebuah makna informal dari kata algoritma dalam persamaan berikut:

Tidak ada manusia yang dapat menulis begitu cepat, atau begitu lama, atau begitu kecil (“kecil, dan lebih kecil tanpa batas … anda mungkin mencoba menulis di atas molekul, atom, elektron”) untuk mencatat semua anggota dari kumpulan bilangan tak terbatas dengan menuliskan namanya, bergantian, dalam suatu notasi. Tapi manusia bisa melakukan sesuatu yang sama bergunanya, pada kasus kumpulan bilangan tak terbatas: Mereka dapat memberikan instruksi jelas untuk menentukan anggota ke-n dari set, untuk n terbatas acak. Instruksi tersebut diberikan secara eksplisit, dalam bentuk yang dapat diikuti oleh mesin penghitung, atau oleh manusia yang mampu melakukan hanya operasi-operasi dasar dengan simbol-simbol.

Kalau menurut saya sih, algoritma itu serangkaian langkah – langkah yang digunakan untuk menyelesaikan masalah tertentu. Biasanya sih diajarkan di dalam pelajaran matematika, fisika, pemrograman, dll. (pokoknya yg berkaitan ama itung2 an ya). Bentuk nya ya berupa rumus – rumus yang kelihatan rumit itu. Tapi mau belajar apapun kalau itu termasuk pelajaran yang di sukai ataupun pengajar nya enak ya malah terasa enjoy. (bapeer.. bapeer..).

Kasus sederhana dalam algoritma bisa di deskripsikan seperti ketika anda atau saudara anda membuat kopi. Bisa juga ketika anda melihat farah queen membuat “Banana Broken Heart with Tomato Sauce” di televisi. Langkah – langkah memasak nya merupakan deskripsi dari algoritma. Misal langkah pertama, Banana di panggang. Kemudian di kasih tepung, garam, sauce dll. Terus di taruh di piring dan tarraaaa… “Banana Broken Heart with Tomato Sauce” telah jadi.

Algoritma udah, sekarang tentang pemrograman. Apa itu pemrograman?

Menurut Wikipedia, Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Kalau menurut saya sih pemrograman berasal dari kata program. Maksudnya adalah, suatu seni yang mengolah beberapa algoritma memakai beberapa bahasa pemrogaman tertentu sehingga terbentuklah suatu program komputer. Di dalam bahasa pemrograman juga mempunyai gaya yang berbeda – beda.Nah, gaya dalam bahasa pemrograman ini sering disebut pula paradigma pemrograman.

Paradigma merupakan sudut pandang atau sudut serang dalam suatu persoalan, realitas dsb. Dalam pemrograman, ada pendekatan-pendekatan untuk menyelesaikan suatu persoalan yang disebut dengan paradigma pemrograman.

Jenis – jenis paradigma pemrograman yaitu :

  • Pemrograman Fungsional

Pemrograman Fungsional, adalah paradigma pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika. Contoh bahasa pemrograman yang mendukung Fungsional adalah Lisp (List Programming),  Scheme, ML (Meta Language) dan Haskell.

  • Pemrograman Prosedural atau Iteratif

Pemrograman Prosedural atau Iteratif, adalah paradigma pemrograman yang menggunakan serangkaian perintah yang berurutan. Contoh bahasa pemrograman yang menggunakan pemrograman prosedural adalah  Cobol, Basic, Pascal, Fortran, dan C/C++.

  • Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek, merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.Contoh bahasa pemrograman yang menggunakan pemrograman berorientasi objek ini cukup banyak, yaitu Visual Foxpro,Java,C++,Pascal (bahasa pemrograman), SIMULA, Smalltalk, Ruby, Python, PHP, C#, Delphi, Eiffel, Perl dan Adobe Flash AS 3.0

  • Pemrograman Deklaratif, Predikatif atau Lojik

Pemrograman Deklaratif, adalah sebuah paradigma pemrograman yang mengungkapkan logika dari sebuah komputasi tanpa menggambarkan aliran kontrol. Programmer menguraikan sekumpulan fakta dan aturan-aturan (inference rules). Ketika program dieksekusi, pemakai akan mengajukan pertanyaan, selanjutnya program akan menggunakan aturan deduksi dan mencocokkan pertanyaan dengan fakta-fakta yang ada untuk menjawab pertanyaan. Selain itu, pemrograman deklaratif disebut juga pemrograman yang bersifat predikatif / lojik. Pemrograman deklaratif sering didefinisikan sebagai gaya setiap program yang tidak penting.

Contoh :

    1. Program yang menjelaskan apa yang harus dilakukan perhitungan dan bukan bagaimana untuk menghitung itu.
    2. Setiap bahasa pemrograman yang tidak memiliki efek samping (atau lebih spesifik, adalah referentially transparan).
    3. Suatu bahasa dengan korespondensi yang jelas logika matematika.

Fiuh, banyak ya.
Karena di dalam pemrograman juga ada istilah notasi, sekarang apa sih notasi algoritma itu?
Notasi algoritma ,  merupakan kerangka tulisan yang nantinya akan di buat suatu program. Fungsinya sih untuk memudahkan sang programmer apabila dikemudian programnya ingin di tambah fasilitas tertentu atau bahkan malah rusak di serang oleh para hacker. Kalau kata suhu, ada banyak loh programmer yang tidak membuat notasi algoritma. Kalau program nya itu sekelas sederhana sih ya masih gampang, tapi kalau semisal program – program sekelas adobe, corel, facebook, kaskus dll. bisa susah tuh ntar kalau ada apa – apa. Jadi lebih baik susah di depan daripada susah susah susah (99 kali) di belakang kan? .

Ada beberapa blog atau web sebelah yang sudah menjelaskan tentang bentuk – bentuk algoritma. Bentuknya pun bermacam – macam. Namun pada dasarnya sama sih. Di sini saya akan menerapkan bentuk notasi algoritma sesuai yang di ajarkan suhu saya.

Bentuk Notasi Algoritma  terdiri dari :

  1. Judul
  2. Kamus
  3. Deskripsi

Judul, berisi uraian singkat dari program yang akan dibuat. Contoh nya “Program menghitung luas persegi”, “Program mencari tahu kadar cinta”, dll.

Kamus, berisi nama type data, nama konstanta, nama variabel, nama fungsi dan nama prosedur.

Deskripsi, yaitu langkah-langkah algoritma dengan untaian kalimat deskriptif. Yang berisi Instruksi dasar seperti input/output, assignment,  Sequence, Analisa kasus.

Notasi Algoritma yang baik merupakan Notasi yang mudah di baca dan mudah digunakan untuk mencari eror program / bug di kemudian hari. Sehingga sebaiknya kasihlah beberapa keterangan di sebelah nya.

Contoh Notasi Algoritma :

Judul :
   Program Menghitung Luas Persegi Panjang

Kamus :
   p,l <-- real                       //Panjang dan Lebar
   L   <-- real                       //Luas Persegi Panjang

Deskripsi:
   //Assignment   
   p -> 20                            //Ukuran panjang yang telah ditentukan
   l -> 50                            //Ukuran Lebar
   L -> p * l                         //Rumus Luas Persegi Panjang

Output "Luas Persegi Panjang adalah .. cm", L

Jika diperhatikan dalam notasi di atas, di bagian kamus ada tanda “<– real”,  real merupakan jenis tipe data.

Tipe Data adalah suatu media atau memori pada komputer yang digunakan untuk menampung. Berikut adalah jenis – jenis dari tipe data :

Tipe Data
Keterangan
Ukuran
Jangkauan
Char
Untuk menyimpan karakter
1 byte
signed: -128 to 127
unsigned: 0 to 255
Wchar_t
Untuk menyimpan karakter lebar biasanya untuk unicode
2 byte
1 karakter lebar
Short
int (short)
Untuk menyimpan bilangan bulat dengan jangkauan pendek
2 byte
signed:-32768 to 32767
unsigned: 0 to 65535
Int
Untuk menyimpan bilangan bulat dengan jangkauan menengah
4 byte
signed:-2147483648 to 2147483647
unsigned: 0 to 4294967295
Long int
(long)
Untuk menyimpan bilangan bulat dengan jangkauan panjang
4 byte
signed:-2147483648 to 2147483647
unsigned: 0 to 4294967295
Float
Untuk
menyimpan bilangan cacah
4 byte
3.4e +-38 (7 digit)
Double
Untuk menyimpan bilangan cacah dengan ketelitian ganda
8 byte
1.7e +-308 (15 digits)
Long
double
Untuk menyimpan bilangan cacah dengan ketelitian ganda lebih detail (panjang)
8 byte
1.7e +- 308 (15 digits)
Bool
Untuk pernyataan true or false
I byte
True or false

Untuk pembahasan selanjutnya, anda bisa mengikuti link ini.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s