2
Bagaimana agar instruksi dapat dimengerti dan bisa
menghasilkan keluaran (output) sesuai keinginan ?
Harus ada instruksi yang dimengerti oleh komputer
Komputer hanya terdiri dari rangkaian elektronik, karena itu hanya mengerti
nilai 1 dan 0
Nilai 1 dan 0, dapat berupa rangkaian instruksi jika disusun dengan susunan
yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu
Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang
dikenal oleh komputer.
Karena itu pasti komputer punya bahasa, dan kita harus membuat bahasa
yang dimengerti oleh komputer.
Bahasa tersebut dikenal dengan istilah bahasa pemrograman.
Program komputer harus dibuat dengan urutan logika yang benar dan sesuai
dengan masalah yang ingin diselesaikan.
3
Arsitektur Komputer
Bagan Sistem Komputer
Komunikasi Manusia dan Komputer
• Proses komunikasi antara manusia dengan komputer adalah sebagai
berikut:
o Manusia mendesain Algoritma
o Manusia menterjemahkan Algoritma tersebut ke dalam bahasa
pemrograman yang dipilih sehingga menjadi sebuah program
o Komputer menjalankan program hasil penterjemahan algoritma menjadi
bahasa pemrograman di atas
o Komputer mengeluarkan respon kepada manusia
Definisi Algoritma
• “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis”.
• 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.
• Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai
benar atau salah.
Algoritma
• Algoritma adalah jantung ilmu komputer atau informatika.
• Banyak cabang ilmu komputer yang diacu dalam terminologi
algoritma.
• Dalam kehidupan sehari-haripun banyak terdapat proses yang
dinyatakan dalam suatu algoritma.
• Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu
resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu
ada urutan langkah-langkah membuat masakan. Bila langkah-
langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatannya lalu ia
mengerjakan proses sesuai yang ia baca.
Algoritma dalam Kehidupan Sehari-hari
Aksi dalam algoritma
• Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang
memang direncanakan
• Dari waktu 0 ke waktu N
• Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”
• Batasan:
• Apa kentang harus dibeli dulu atau sudah ada?
• Apakah mengupas berarti sampai kentang terhidang?
• Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup
atau digoreng?
• Berarti harus ada kejadian awal = start dan kejadian akhir = finish
• Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan
mengupas kentang
• Cara (Metode) sebisa mungkin harus bersifat universal
Algoritma dan Program
Jadi dalam menjalankan algoritma harus:
• Mengerti setiap langkah dalam Algoritma
• Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
• Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam
notasi bahasa pemrograman disebut dengan program.
• Jadi program adalah perwujudan atau implementasi teknis Algoritma
yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat
dilaksanakan oleh komputer.
Pengertian Algoritma dan Pemrograman
12
Tahapan Pemecahan Masalah
Algoritma
Translasi
Program dalam
Bahasa Tingkat Tinggi
Kompilasi
Program dalam
Bahasa Mesin
Operasi
(Baca, tulis, hitung, perbandingan, dll)
Peranan Algoritma
• Peran algoritma : fundamental (tidak ada algoritma tidak ada program)
• Algoritma + struktur data = program
• Struktur data :teknik/cara penyusunan/ penyimpanan data dalam
komputer
• “ memori seminim mungkin dan kecepatan eksekusi semaksimal
mungkin”
• Algoritma yang 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.“
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 satu/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)
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari spesifikasi bahasa
pemrograman dan komputer yang mengeksekusinya.
Diketahui:
Rumus luas lingkaran: 𝜋𝑟 2
22 1
Dengan 𝜋 = 3,14 atau 7 dan r adalah jari-jari lingkaran → 𝑟 = 2 𝑑
1 2
Maka luas lingkaran dapat dihitung dengan menggunakan: 𝜋 2
𝑑
Bagaimana menyatakan suatu algoritma (menulis
algoritma)
a. Dengan psudocode
• Salah satu 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
Luas phi * radius * radius
Output (Luas)
End
Start
diagram alir
Flowchart, yaitu bagan yang Input
(diameter)
menggambarkan urutan logika
dari suatu prosedur
pemecahan masalah. Radius = diameter/2
Luas = phi * radius * radius
Output
Luas
Stop
Tahap Proses Uji Algoritma
1. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis
maupun logika.
2. Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyaknya
memori program yang digunakan.
Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat
dilihat dari:
Penterjemah :
• Interpreter : menterjemahkan baris per baris instruksi.
Contoh bahasa Basic.
• Compiler : menterjamahkan setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, C, C++, dll.
Latihan 1:
Buat Flowchart dan Pseudocodenya !
Buatlah algoritma untuk menghitung konversi suhu dari Celcius
menjadi Reamur dan Farenheit.
• Input: suhu dalam Celcius
• Proses: R = 4/5 * C dan F = 9/5 * C + 32
• Output