Nama : Deswita Purnamasari
NIM : 18122861
A.
Pengertian
Logika Dan Algoritma
Logika dan Algoritma
diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al
Khawarizmi. Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti
hasil pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan dalam
bahasa.
Pada Merriam-Webster’s
Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah
demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus
Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis
pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan
langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan
logis. Logis merupakan kunci dari sebuah algoritma. Langkah- langkah dalam
algoritma harus logis dan bernilai benar atau salah.
B.
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 Efesiensi, 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.
C.
Keuntungan
Pembuatan Algoritma
1. Pembuatan
atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer
yang telaksanakannya.
2. Notasi
algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun
bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya
sama.
D.
Sifat
– Sifat Algoritma
1. Banyaknya
Langkah Instruksi Harus Berhingga,
2. Langkah
atau Instruksi harus Jelas,
3. Proses
harus Jelas dan mempunyai batasan,
4. Input
dan Output harus mempunyai Batasan,
5. Efektifitas,
6. Adanya
Batasan Ruang Lingkup,
E.
Beberapa
hal yang perlu diperhatikan dalam membuat algoritma :
1. Teks
algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan
dipahami.
2. Tidak
ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
3. Setiap
orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu,
maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
4. Notasi
algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat
bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya.
5. Algoritma
sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan
ke dalam bahasa pemrograman.
6. Algoritma
merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,
algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa
hal yang harus diperhatikan pada translasi tersebut, yaitu:
1. Pendeklarasian
variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman
membutuhkannya
2. Pemilihan
tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan
tipe data.
3. Pemakaian
instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama tetapi
masingmasing memiliki kelebihan dan kekurangan yang berbeda.
4. Aturan
sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis
dalam bahasa pemrograman yang akan digunakan.
5. Tampilan
hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang
akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya
menjadi program. Cara pengoperasian compiler atau interpreter. Bahasa
pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
TAHAPAN
ANALISA ALGORITMA :
A.
Bagaimana
merencanakan suatu algoritma.
Menentukan
beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk
mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat
variasi desain atau model yang dapat diambil yang terbaik.
B.
Bagaimana
menyatakan suatu algoritma
Menentukan
model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah
secara berurutan guna mendapatkan solusi penyelesaian masalah.
C.
Analisis
Suatu Algoritma
(Untuk
melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat
dilakukan terhadap suatu algoritma dengan melihat pada :
1. Waktu
Tempuh (Running Time) dr suatu Algortima.
Adalah satuan waktu yang ditempuh atau
diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. Hal2 yg
dapat mempengaruhi daripada waktu tempuh adalah :
·
Banyaknya langkah
·
Besar dan jenis input data.
·
Jenis Operasi.
·
Komputer dan kompilator
2. Jumlah
Memori Yang Digunakan.
D.
Syarat
Sebuah Algoritma Yang Baik
1. Tingkat
kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus
berakurasi tinggi dan benar.
2. Pemrosesan
yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.
3. Sifatnya
general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi
juga untuk kasus lain yang lebih general.
4. Bisa
dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih
jauh berdasarkan perubahan requirement yang ada.
5. Mudah
dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah
dimengertinya suatu program akan membuat susah di-maintenance (kelola).
6. Portabilitas
yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai
platform komputer.
7. Precise
(tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak
ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara
eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah
mengerti. Setiap langkah harus jelas dan pasti.
Contoh: Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
1. Jumlah
langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama
banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
2. Efektif.
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya. Contoh: Hitung akar 2 dengan presisi sempurna. Instruksi di
atas tidak efektif, agar efektif instruksi tersebut diubah. Misal: Hitung akar
2 sampai lima digit di belakang koma.
3. Harus
terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah
apakah bila jumlah instruksinya berhingga maka pasti terminate?
4. Output
yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti
dengan seksama maka dihasilkan output yang diinginkan.
E.
Penyajian
Algoritma
1. Algoritma
Dengan Kalimat Deskriptif
Yaitu
dengan menjelaskan secara detail algoritma suatu masalah dengan bahasa yang
mudah dimengerti oleh orang awam, dan akan sangat sulit dimengerti bila
diterjemahkan kedalam bahasa pemograman.
Contoh : Program Luas Segitiga
Memasukkan angka luas dan tinggi.
Algoritma mengitung luas segitiga yaitu setengah alas dikalikan tinggiALGORITMA
1. Masukkan
alas dan tinggi
2. Rumus
luas segitiga = 0.5 * a * t
3. Cetak
hasilnya ke layar
2. Algoritma
Dengan pseudo code
Pseudocode adalah kode yang mirip dengan kode pemrograman
yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram.
Contoh
: Mencari Luas Segitiga
1. Read
Alas
2. Read
Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)
3. Algoritma
Dengan Flowchart
Flowchart
atau Diagram Alur adalah gambar atau bagan yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan
simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan
antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart
akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan
dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas
untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Kaidah-Kaidah Umum Pembuatan Flowchart Program Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
Kaidah-Kaidah Umum Pembuatan Flowchart Program Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
1. Input,
2. Proses
pengolahan
3. Output
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 sesuai dengan 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.
F.
Struktur
Dasar Algoritma
Algoritma berisi
langkah-langkah penyelesaian suatu masalah. Langkahlangkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya.
Jadi struktur dasar pembangunan
algoritma ada tiga, yaitu:
1. Struktur
Runtunan Digunakan untuk program yang pernyataannya sequential atau urutan.
2. Struktur
Pemilihan Digunakan untuk program yang menggunakan pemilihan atau penyeleksian
kondisi.
3. Struktur
Perulangan Digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.
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 :
Tahap Proses uji Algoritma :
· 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.
G.
Statement
Logika
1. OR
Merupakan statement kondisi dimana
pernyataan akan benar apabila salah satu kondisi benar atau semua kondisi
benar.
2. And
Merupakan statement kondisi dimana
pernyataan akan benar apabila semua kondisi benar.
3. NOT
Merupakan statemen kondisi yang
merupakan kebalikan hasil suatu kondisi
4. NOR
Merupakan statement kondisi dimana
pernyataannya akan benar apabila semua kondisinya salah.
5. NAND
Merupakan Statement kondisi yang akan
bernilai benar apabila semua kondisi salah atau salah satu kondisinya salah.
6. XOR
Merupakan Statement kondisi yang akan
bernilai benar bila salah satu kondisinya benar.
7. XNOR
Merupakan Statement kondisi dimana
pernyataan akan bernilai benar apabila semua kondisi salah atau benar.
Pernyataan akan bernilai salah apabila salah satu bernilai salah
8. If..
Then.. Endif
Statement kondisi atau keputusan dimana
keputusan yang dapat ditampung hanya satu
9. If..
Then.. Else..Endif
Statement kondisi yang bisa menampung
dua kondisi
10. If..
Then..Elseif.. Endif
Statement Kondisi yang bisa menampung
lebih dari 2 kondisi sampai tak hingga.
11. If
Terselubung
Statement kondisi yang mana didalam
sebuah kondisi masih terdapat beberapa buah kondisi.
12. Loop
/ Looping / Perulangan
Merupakan suatu proses kondisi
pengerjaan perintah statement program secara berulang-ulang sampai kondisi yang
diingini.
13. For..
Next
Merupakan kondisi perulangan dimana
counter penambahan dilakukan secara otomatis
14. While…
wend
Merupakan kondisi perulangan yang mana
counter penambahan dilakukan tidak secara otomatis
15. For..
To.. Do
Merupakan kondisi perulangan dimana
nilai perulangannya dimulai dari nilai terkecil ke nilai terbesar.
Tidak ada komentar:
Posting Komentar