Sabtu, 04 Juli 2020

DASAR LOGIKA DAN ALGORITMA KOMPUTER

PENGERTIAN DASAR

Pernahkah kalian dengan tentang kata Algoritma atau juga Mungkin kita sering mendengar orang menyebutkan kata algoritma. Hampir di semua sisi kehidupan kita, selalu berkaitan dengan yang namanya algoritma. Mau membuat program komputer, mau menyelesaikan soal-soal matemetika, pasti pakai algoritma. Bahkan kegiatan sehari-hari pun tidak lepas dari yang namanya algoritma.

Mengapa algoritma selalu ada? Jawabnya simpel saja, selama ada masalah, maka algoritma juga ada dan akan selalu diusahakan untuk ada. Lalu apa hubungannya?

Begini, pada saat kita menghadapi masalah, tentu kita ingin menyelesaikan masalah tersebut, iya kan? Bagaimanapun, seberat apapun masalahnya, kita ingin agar masalah itu selesai. Nah, proses-proses dan langkah-langkah kita dalam penyelesaian masalah inilah yang disebut dengan algoritma. Ya… walaupun dalan kenyataannya kita tidak pernah menggunakan atau bahkan tahu dengan sebutan algoritma.

Algoritma adalah rangkaian prosedur atau langkah-langkah yang berurutan untuk memecahkan dan menyelesaikan suatu masalah.

Ya, begitulah kira-kira gambaran singkat tentang algoritma. Lalu seperti apa sih contohnya? Tadi kan disebut bahwa kehidupan ini tidak lepas dengan yang namanya algoritma. Coba kita baca dulu beberapa masalah berikut ini :

  1. Misalkan Anda seorang pelajar atau mahasiswa (seperti saya), setiap pagi hari harus pergi ke sekolah/kampus, apa yang Anda lakukan untuk memecahkan masalah Anda ini, agar Anda bisa sampai tujuan.
  2. Anda punya 2 gelas minuman, 1 gelas berisi susu dan lainnya berisi teh, bagaimana cara Anda menukarkan isi kedua gelas tersebut? Ingat ya, ditukar, bukan dicampur…
  3. Anda hobi bikin kue, misalnya donat, bagaimana cara Anda bikin kue tersebut?
  4. Banyak lagi masalah-masalah lainnya, Anda pikirkan saja sendiri.

Melihat beberapa contoh tersebut yang menuntut penyelesaian, maka kesatuan setiap urutan langkah-langkah kita dalam menyelesaikannya disebut algoritma. Sekarang coba kita lihat bagaimana algortima dari contoh-contoh di atas.

Contoh 1 :

  1. bangun pagi-pagi
  2. mandi
  3. berpakaian rapi
  4. makan pagi/sarapan
  5. berangkat ke sekolah/kampus naik motor
  6. kalau tidak, ikut teman
  7. kalau tidak, naik angkot
  8. sampai sekolah/kampus, belajar

Contoh 2 :

  1. beri nama A untuk gelas berisi susu dan B untuk gelas berisi teh
  2. ambil 1 gelas kosong untuk membantu proses pertukaran, beri nama C untuk gelas bantu tersebut
  3. tuang susu dari gelas A ke dalam gelas C
  4. tuang teh dari gelas B ke dalam gelas A
  5. tuang susu dari gelas C ke dalam gelas B
  6. susu dan teh sudah bertukar tempat

LOGIKA
Diperkenalkan pertama kali oleh Aristoteles (384-322 SM)

ALGORITMA
Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi. Seorang ilmuan Persia yang menulis kitab al jabr w’al muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Logika
1. penalaran atau bentuk pemikiran.
2. ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku.

Definisi Algoritma
1. Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
TAHAP PENYELESAIAN MASALAH

tahap penyelesaian masalah

Kriteria Pemilihan Algoritma.

1. Ada Output,
2. Efektifitas dan Efesiensi,
3. Jumlah Langkahnya Berhingga,
4. Berakhir, ( SEMI ALGORITMA )
5. Terstruktur,

Suatu Algoritma yg terbaik (The Best) : “ Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan dip’oleh suatu solusi ataupun tdk ada solusinya. “

Contoh :
Sebuah prosedur ketika akan mengirim kan surat kepada teman:
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 yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
6. Tempelkan perangko pada am plop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

Sebuah prosedur untuk masalah menentukan akar kuadrat dari suatu bilangan Bulat Positif yg di Input :
Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
1. Dinyatakan Nilai B adalah 0
2. Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop.
4. Jika tidak, maka Nilai B akan bertambah 1
5. Kembali ke langkah pada No. 3

TAHAPAN ANALISA ALGORITMA
1. Bagaimana merencanakan suatu algoritma.
2. Bagaimana menyatakan suatu algoritma

a. Dengan bahasa semu (pseudocode).
Contoh :
Untuk menghitung Luas Segi tiga :
1. Masukan Nilai Alas
2. Masukan Nilai Tinggi
3. Hitung Luas =( Alas * Tinggi ) / 2
4. Cetak Luas

b. Dengan diagram alur atau flowchart,
Contoh :

flowchart

c. Dengan Statement program / penggalan
Program

Contoh (menggunakan C++):
cin >> Alas ; //untuk input data
cin >> Tinggi;
Luas = (Alas * Tinggi)/2 ; // proses
cout << Luas; //untuk output data

3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji Program dari suatu Algoritma.

Tahap Proses uji Algoritma :
a. Fase Debugging
yaitu fase dari proses program eksekusi yang akan melakukan koreksi terhadap kesalahan.
b. Fase Profilling
yaitu fase yang akan bekerja jika program tersebut sudah benar (telah melewati fase debugging).

Analisis Suatu Algoritma
(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada :

a. Waktu Tempuh (Running Time) dr suatu Algortima.
Hal-hal yg dpt m empengaruhi drpd waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator

b. Jumlah Memori Yang Digunakan.

Sifat – Sifat Algoritma

• Banyaknya Langkah Instruksi Harus Berhingga,
• Langkah atau Instruksi harus Jelas,
• Proses harus Jelas dan mempunyai batasan,
• Input dan Output harus mempunyai Batasan,
• Efektifitas,
• Adanya Batasan Ruang Lingkup,

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(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”

Tidak ada komentar: