Sabtu, 13 Oktober 2012

Logika dan Algoritma ( by: yusman )

Logika berasal dari kata Yunani kuno yang diperkenalkan oleh Aristoteles. Pengertiannya yaitu hasil pertimbangan akal pikiran yang di utarakan lewat kata dan dinyatakan dalam bahasa. Sedangkan algoritma diperkenalkan oleh ahli matematika yang bernama Abu Jafar Muhamad Ibnu Musa Al Khawarizmi. Algoritma dapat di definisikan sebagai urutan langkah-langkah sistematis yang berisi perintah-perintah/instruksi logis untuk melakukan suatu perhitungan atau penyelesaian suatu masalah. Algoritma digunakan sebagai rancangan awal pembuatan suatu program untuk dijalankan pada suatu komputer.
Seiring perkembangan teknologi dan kemajuan kebudayaan, algoritma sudah mulai digunakan dalam berbagai bidang, termasuk dalam kehidupan sehari-hari, kita sebenarnya tanpa sadar telah menggunakan algoritma. Contohnya adalah ketika kita sedang bersiap menuju kampus, kantor atau tempat lainnya. Terdapat banyak hal yang kita lakukan dari mulai mempersiapkan diri hingga tiba di tempat tujuan. Sebenarnya jika kita kumpulkan hal-hal yang dikerjakan tadi, maka akan ditemukan langkah-langkah terurut dan sistematis, dimana gabungan dari keseluruhan langkah tersebut dinamakan prosedur. Suatu prosedur yang memuat langkah-langkah intruksi terurut dan sistematis, dapat dikatakan sebagai algoritma.

Kriteria Pemilihan Algoritma 


1.   Ada output : Mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
 
2. Efektifitas dan Efisiensi : Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.

3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
 
4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
 
5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.


Kesimpulannya:
Suatu Algoritma yang terbaik adalah “Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak ada solusinya”


Bagaimana menyatakan suatu algoritma
Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:
  •   Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, Kita bisa bebas menulis pseudocode selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do,repeat, for, dan lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll.
Contoh:

A. Algoritma untuk mengirimkan surat


1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.

  •   Dengan diagram alur atau flowchart : yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan. dalam membuat langkah algoritma pemograman adalah.
  1.       proses
  2. input 
  3.  terminal
  4.       decision
  5.       output
  6.       conector
  7.       flowline

 Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah :
  • START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
  • READ,  berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input. 
  •  PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuaidengan data yang dibaca. 
  •  WRITE,  berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  • END,  mengakhiri kegiatan pengolahan.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:
Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Contoh:
1. Untuk mengitung Luas Segitiga:
2. Masukan Nilai Alas
3. Masukan Nilai Tinggi
4. Hitung Luas = 1/2*(Alas * Tinggi)
5. Cetak Luas


                       
  
Menguji Program dari suatu Algoritma 
 Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana,misalnya C, C++ BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu :
-             Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
-                Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.


Tidak ada komentar:

Posting Komentar