1: Pengertian Dasar Logika dan Algoritma
Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibnu Musa al-Khowarizmi ,
ilmuan Persia yang menulis kitab al jabr w’al-
muqabala ( rules of restoration and reduction )
sekitar tahun 825 M.
BAHASA PEMROGRAMAN
• Program harus ditulis dalam suatu bahasa
yang dimengerti oleh komputer yaitu
dalam Bahasa pemrogram dibedakan
menjadi :
– Bahasa tingkat rendah (low level language) :
bahasa yang berorientasi ke mesin.
– Bahasa tingkat tinggi (high level language) :
bahasa yang berorientasi ke manusia (seperti
bahasa inggris)
contoh bahasa Pascal, bahasa C dll.
BAHASA PEMROGRAMAN
• Program yang ditulis dalam bahasa
pemrograman akan diterjemahkan ke
dalam bahasa mesin (kenal dengan biner
digit) dengan menggunakan penterjemah.
Penterjemah :
– Interpreter : menterjemahkan baris per baris
instruksi. Contoh bahasa Basic.
– Compiler : menterjamahkan setelah seluruh
instruksi ditulis. Contoh bahasa Pascal, C,
C++, dll.
Definisi Algoritma
• Urutan langkah-langkah untuk memecahkan masalah
• Urutan logis pengambilan keputusan untuk
memecahkan masalah
– urutan langkah logis , berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat.
• Alur pemikiran dalam menyelesaikan suatu pekerjaan
yang dituangkan secara tertulis.
– alur pikiran , yang artinya algoritma seseorang dapat berbeda
dari algoritma orang lain.
– tertulis , yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
• Dalam bidang komputer, algoritma sangat diperlukan
dalam menyelesaikan berbagai masalah pemrograman,
terutama dalam komputasi numeris. Tanpa algoritma
yang dirancang baik maka proses pemrograman akan
menjadi salah, rusak, atau lambat dan tidak efisien.
• Algoritma di butuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu untuk
menyelesaikan masalah
• Algoritma Pemrograman Program
• Agar algoritma dapat memerintah (diproses) komputer,
maka dirubah menjadi bentuk program (melalui proses
pemrograman).
Tahap
Masalah Penyelesaian
Masalah
Model analisis
Algoritma analisis
Program analisis
Eksekusi Data
Hasil
Kriteria Pemilihan Algoritma
1. Ada Output
2. Efektifitas dan Efisiensi
3. Jumlah Langkahnya Berhingga
4. Berakhir
5. Terstruktur
1: Pengertian Dasar Logika dan Algoritma
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
diperoleh suatu solusi ataupun tdk ada
solusinya.“
Contoh:
Sebuah prosedur ketika akan mengirimkan 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 amplop 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.
Penulisan Algoritma
• Menggunakan bahasa natural (Bahasa manusia:
Indonesia, Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit
dipahami.
• Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi
repot pembuatannya jika algoritma panjang
• Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit
dimengerti oleh orang yang belum tahu pemrograman
Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma
2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)
3. Bagaimana validitas suatu algoritma.
4. Bagaimana Menganalisa suatu Algoritma.
5. Bagaimana Menguji Program dari suatu
Algoritma
Ad.1. Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh : Permasalahan menghitung luas lingkaran,
dengan data yang diketahui adalah diameter
lingkaran.
Rumus : . r2 dengan Phi = 3.14 atau 22/7.
Ad.2. Bagaimana menyatakan suatu algoritma
(menulis algoritma)
– Dengan psudocode
Suatu cara penulisan algoritma agar ide dan logika
dari algoritma dapat disampaikan/diekspresikan
menggunakan gaya bahasa pemrograman tertentu.
Phi 3.14
Input (diameter)
Radius diameter / 2
Luar phi * radius * radius
Output (Luas)
End
– Dengan flowchart /
Start
diagram alir
Program Flowchart, yaitu
Phi = 3.14 bagan yang menggambar-
kan urutan logika dari suatu
prosedur pemecahan
Input
masalah. ( diameter )
Radius = diameter/2
Luas = phi * radius * radius
Output
Luas
Stop
Tahap Proses Uji Algoritma
2. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis
maupun logika.
2. Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyak nya
memori program yang digunakan.
Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma,
dapat dilihat dari:
1. Waktu Tempuh dari Suatu Algoritma
2. Jumlah memori yang digunakan
Hal-hal yang dapat mempengaruhi waktu
tempuh adalah :
Banyaknya langkah .
Besar dan jenis input data .
Jenis Operasi .
Komputer dan kompilator
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
• Finite algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas
• Definite setiap langkah didefinisikan secara tepat,
tidak boleh membingungkan (ambigu)
• Input sebuah algoritma memiliki nol/lebih input
sebelum dijalankan
• Output algoritma memiliki satu/lebih output, yang
biasanya bergantung kepada input
• Effective setiap algoritma diharapkan memiliki sifat
efektif. (setiap langkah harus sederhana dan sehingga
dapat dikerjakan dalam waktu yang masuk akal)
Langkah-langkah yang membentuk suatu algoritma
dapat dibagi menjadi 3 kelompok proses:
1. Sequence Process instruksi dikerjakan secara
berurutan satu persatu dimulai dari langkah pertama
sampai terakhir.
2. Selection Process instruksi pemilihan proses
(percabangan), sehingga apabila memenuhi
persyaratan tertentu maka instruksi akan dikerjakan.
Contoh : jika pembayaran tunai diberi diskon 10%
Jika dilakukan secara kredit maka diskon 0 %.
(dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari
2 alternatif instruksi.
3. Iteration Process suatu instruksi yang dikerjakan
berulang-ulang selama beberapa kali selama masih
memenuhi suatu kondisi.
BAHASA PEMROGRAMAN
• Program harus ditulis dalam suatu bahasa
yang dimengerti oleh komputer yaitu
dalam Bahasa pemrogram dibedakan
menjadi :
– Bahasa tingkat rendah (low level language) :
bahasa yang berorientasi ke mesin.
– Bahasa tingkat tinggi (high level language) :
bahasa yang berorientasi ke manusia (seperti
bahasa inggris)
contoh bahasa Pascal, bahasa C dll.
BAHASA PEMROGRAMAN
• Program yang ditulis dalam bahasa
pemrograman akan diterjemahkan ke
dalam bahasa mesin (kenal dengan biner
digit) dengan menggunakan penterjemah.
Penterjemah :
– Interpreter : menterjemahkan baris per baris
instruksi. Contoh bahasa Basic.
– Compiler : menterjamahkan setelah seluruh
instruksi ditulis. Contoh bahasa Pascal, C,
C++, dll.
What is Algoritma
Definisi Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis.
Contoh :
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma
Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar. Langkah
di atas tidak logis, hasil pertukaran yang terjadi
adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan sebagai
tempat penampungan sementara, misalnya
bejana C. Maka algoritma untuk menghasilkan
pertukaran yang benar adalah sebagai berikut :
Ciri penting Algoritma
Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (Ambiguitas).
Algoritma memiliki nol atau lebih masukkan.
Algoritma memiliki nol atau lebih keluaran.
Algoritma harus efektif (setiap langkah harus
sederhana sehingga dapat dikerjakan dalam
waktu yang masuk akal).
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari
spesifikasi bahasa pemrograman dan
komputer yang mengeksekusinya. Notasi
algoritma bukan notasi bahasa
pemrograman tetapi dapat diterjemahkan
ke dalam berbagai bahasa pemrograman
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar