Sabtu, 17 Juli 2021

KD 3.1 Menerapkan Logika dan Algoritma Komputer

 


Menerapkan Logika dan Algoritma Komputer

 

PENGERTIAN DASAR

LOGIKA

Diperkenalkan pertama kali oleh Aristoteles (384-322 SM)
Definisi Logika
  1. penalaran atau bentuk pemikiran.
  2. ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku.


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 Algoritma
1. Langkah – langkah yang dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yg berintegrasi.
3. Suatu m etode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)


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 :





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 mempengaruhi 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,

 

Ciri-ciri, Sifat, Struktur Dasar, dan Cara Penulisan Algoritma

Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E Knuth, algoritma mempunyai lima ciri penting. Berikut kelima ciri penting tersebut

  1. Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
  2. Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda
  3. Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
  4. Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output)
  5. Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.

Adapun sifat algoritma sebagai berikut:

  • Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu.
  • Tidak tergantung pada suatu bahasa pemrograman tertentu.
  • Notasi-notasinya dapat digunakan untuk seluruh bahasa mana pun
  • Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari.

Seperti telah dijelaskan sebelumnya bahwa penyusun atau struktur dasar algoritma adalah langkah-langkah. Suatu algoritma dapat terdiri atas tiga struktur dasar, yaitu run tunan, pemilihan, dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma Berikut penjelasan dari tiga struktur tersebut.

 

a.Runtunan (Sequence)

Sebuah runtunan terdiri atas satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi di laksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah
Sebagai contoh perhatikan operasi aritmatika berikut ini. (4+3)*7=49, tetapi bila urutan aksinya diubah maka hasil keluaran akan berbeda menjadi 4+(3*7)=25. Contoh lain dari runtunan aksi adalah algoritma penukaran dua bilangan bulat

  • Deklarasikan A, B, dan C sebagai bilangan bulat
  • Masukkan nilai A dan B
  • Masukkan nilai A ke dalam C.
  • Masukkan nilai B ke dalam A.
  • Masukkan nilai C ke dalam B.


b.Pemilihan (Selection)

Kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi. Pemilihan, yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar sebaliknya apabila salah maka instruksi tidak akan dilaksanakan Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini.

  • Masukkan bilangan sebagai sebuah bilangan bulat.
  • Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam variabel sisa
  • Jika nilai sisa sama dengan 0 maka kerjakan langkah 4
  • Tampilkan "GENAP ke lay
  • Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah
  • Tampilkan "GANJIL" ke layar.
  • Selesai


c.Pengulangan (Repetition)

Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia. Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statement pengulangan di bahasa pemrograman, yaitu for…, while()…, do…while(), repeat…until, for…down…to…do, for…to…do dan lain-lain. Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut.

  • Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan
  • Deklarasikan variabel n untuk menyimpan banyaknya perulangan.
  • Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan.
  • Masukkan sebuah karakter dan simpan dalam variabel huruf.
  • Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variable n
  • Set nilai counter dengan 0.
  • Tampilkan huruf ke layar.
  • Lakukan penambahan counter dengan 1.
  • Jika nilai counter<n, kerjakan langkah 6.
  • Jika nilai counter = n selesai.

 

d. Flowchart

Dalam membuat suatu program perlu adanya suatu cara untuk menganalisis suatu kasus yang akan dibuatkan program dengan salah satu bahasa pemrograman. Pada bagian sebelumnya telah dibahas suatu bentuk analisis dengan menggunakan algoritma. Ada juga cara lain untuk menganalisis suatu kasus dengan menggunakan Flowchart. Flowchart adalah sekumpulan gambar-gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman Kegunaan flowchart sama seperti halnya algoritma, yaitu untuk menuliskan alur program, tetapi dalam bentuk gambar atau symbol Flowchart dibagi menjadi dua (2) bagian, yaitu:

  • Flowchart yang menggambarkan alur suatu sistem.
  • Flowchart yang menggambarkan alur dari suatu program.

Bagan alir (flowchart) merupakan sebuah bagan yang menunjukkan aliran algoritma dan menampilkan langkah-langkah penyelesaian terhadap suatu masalah. Fungsi dari penggunaan flowchart antara lain sebagai berikut.

  • Dokumentasi proses. Bagan alir dapat digunakan untuk mendokumentasikan proses menjadi lebih terorganisasi dengan baik.
  • Petunjuk untuk petunjuk. Runtutan dari yang umum menuju khusus atau sebaliknya merupakan petunjuk pemecahan masalah yang digambarkan dengan bagan Alir.
  • Pemrograman. Bagan alir dapat digunakan untuk menggambarkan garis besar program yang akan dibuat. Bagan alir juga digunakan untuk merancang navigasi penggunaan pada tampilan (user interface) aplikasi yang akan dibuat.
  • Mengomunikasikan hal-hal yang prosedural.





Artikel Terkait


EmoticonEmoticon