Anda di halaman 1dari 46

Algoritma & Pemograman

Sutami, M.Kom
Semester II (ganjil)
Pengertian Logika dan Algoritma
 Pengertian algoritma sangat lekat dengan
kata logika, yaitu kemampuan seorang
manusia untuk berfikir dengan akal tentang
suatu permasalahan menghasilkan sebuah
kebenaran, dibuktikan dan dapat diterima
akal, logika seringkali dihubungkan dengan
kecerdasan, seseorang yang mampu
berlogika dengan baik sering orang
menyebutnya sebagai pribadi yang cerdas.
Dalam menyelesaikan suatu masalahpun
logika mutlak diperlukan.
Pengertian Algoritma
 Sebuah algoritma merupakan deskripsi
pelaksanaan suatu proses, dimana algoritma
disusun oleh sederetan langkah instruksi
yang logis.
 Kata logis merupakan kata kunci dalam

sebuah algoritma. Langkah-langkah di dalam


algoritma harus logis, ini berarti hasil dari
urutan langkah-langkah tersebut harus dapat
ditentukan, benar atau salah. Langkah-
langkah yang tidak benar dapat memberikan
hasil yang salah.
Belajar Memprogram dan
Bahasa Pemrograman
 Belajar memprogram tidak sama dengan belajar
bahasa pemrograman. Belajar memprogram
adalah belajar tentang metodologi pemecahan
masalah, kemudian menuangkannya dalam suatu
notasi tertentu yang mudah dibaca dan dipahami.
 Sedangkan belajar bahasa pemrograman berarti
belajar memakai suatu bahasa aturan-aturan tata
bahasanya, pernyataan-pernyataannya, tata cara
pengoperasian compiler-nya, dan memanfaatkan
pernyataan-pernyataan tersebut untuk membuat
program yang ditulis hanya dalam bahasa itu
saja.
Terapannya, bahasa pemrograman dapat
digolongkan atas dua kelompok besar:
 Bahasa pemrograman bertujuan khusus. Yang
termasuk kelompok ini adalah Cobol (untuk
terapan bisnis dan administrasi). Fortran (terapan
komputasi ilmiah), bahasa rakitan (terapan
pemrograman mesin), Prolog (terapan kecerdasan
buatan), bahasa-bahasa simulasi, dan
sebagainya.
 Bahasa perograman bertujuan umum, yang dapat
digunakan untuk berbagai aplikasi. Yang
termasuk kelompok ini adalah bahasa Pascal,
Basic dan C. Tentu saja pembagian ini tidak kaku.
Bahasa pemrograman dikelompokkan
atas dua macam:
 Bahasa tingkat rendah. Bahasa jenis ini
dirancang agar setiap instruksinya langsung
dikerjakan oleh komputer, tanpa harus
melalui penerjemah (translator). Contohnya
adalah bahasa mesin. CPU mengambil
instruksi dari memori, langsung mengerti dan
langsung mengerjakan operasinya. Bahasa
tingkat rendah bersifat primitif, sangat
sederhana, orientasinya lebih dekat ke mesin,
dan sulit dipahami manusia.
Lanjutan:
 Bahasa tingkat tinggi, yang membuat
pemrograman lebih mudah dipahami, lebih
“manusiawi”, dan berorientasi ke bahasa manusia
(bahasa Inggris). Hanya saja, program dalam
bahasa tingkat tinggi tidak dapat langsung
dilaksanakan oleh komputer. Ia perlu
diterjemahkan terlebih dahulu oleh sebuah
translator bahasa (yang disebut kompilator atau
compiler) ke dalam bahasa mesin sebelum
akhirnya dieksekusi oleh CPU. Contoh bahasa
tingkat tinggi adalah Pascal, PL/I, Ada, Cobol,
Basic, Fortran, C, C++, dan sebagainya.
Belajar memprogram:
 Belajar bahasa pemrograman.
 Belajar tentang strategi pemecahan masalah,

metodologi dan sistematika pemecahan


masalah kemudian menuliskannya dalam
notasi yang disepakati bersama.
 Bersifat pemahaman persoalan, analisis dan

sintesis.
 Titik berat: designer program.
Belajar Bahasa Pemrograman
 Belajar memakai suatu bahasa pemrograman,
aturan sintaks, tatacara untuk memanfaatkan
pernyataan yang spesifik untuk setiap
bahasa.
 Titik berat: coder.
Produk yang Dihasilkan Pemrogram

 Program dengan rancangan yang baik


(metodologis, sistematis).
 Dapat dieksekusi oleh mesin.
 Berfungsi dengan benar.
 Sanggup melayani segala kemungkinan
masukan.
 Disertai dokumentasi.
 Belajar memprogram, titik berat: designer

program.
Mempertukarkan Isi Bejana
 Tinjau persoalan mempertukarkan isi dua bejana, A dan B.
 Bejana A berisi larutan yang berwarna merah, sedangkan
bejana B berisi air berwarna biru.
 Kita ingin mempertukarkan isi kedua bejana itu
sedemikian sehingga
 bejana A berisi larutan berwarna biru dan bejana B berisi
larutan berwarna merah.
 Untuk mempertukarkan isi dua bejana, kita memerlukan
sebuah bejana
 tambahan yang diperlukan sebagai tempat penampungan
sementara.
 Sebut bejana tambahan tersebut bejana C. Dengan
menggunakan bejana bantu C ini.
Tahapan Pelaksanaan Program Oleh Komputer
Notasi Algoritma
 Notasi algoritma dapat diterjemahkan ke
dalam berbagai bahasa pemrograman. Notasi
algoritma bukan notasi bahasa
pemrograman, sehingga siapapun dapat
membuat notasi algoritma yang berbeda. Hal
yang penting mengenai notasi tersebut
adalah mudah dibaca dan dimengerti.
Meskipun demikian untuk menghindari
kekeliriuan, ketaatan terhadap notasi perlu
diperhatikan.
Notasi I: menyatakan langkah-langkah algoritma dengan untaian
kalimat deskriptif
Dengan notasi bergaya kalimat ini, deskripsi
setiap langkah dijelaskan dengan bahasa yang
gambling. Proses diawali dengan kata kerja
seperti ‘baca’,‘hitung’, ‘bagi’, ‘ganti’, dan
sebagainya, sedangkan pernyataan kondisional
dinyatakan dengan ‘jika…maka…’. Notasi ini
bagus untuk algoritma yang pendek, namun
untuk masalah yang algoritmanya besar, notasi
ini jelas tidakefisien. Selain itu, pengkonversian
notasi algoritma ke notasi bahasa
pemrograman cenderung relative sukar.
Notasi II menggunakan diagram alur
(Flow chart)
 Diagram alir popular pada awal-awal era
pemrograman dengan computer (terutama
dengan bahasa Basic, Fortran, dan Cobol).
Diagram alir lebih menggambarkan aliran
instruksi di dalam program secara visual
disbanding memperlihatkan struktur program.
Notasi diagram alur lebih cocok digunakan untuk
masalah yang kecil, untuk masalah yang besar
tidak cocok digunakan karena membutuhkan
berlembar halaman kertas. Selain itu,
pengkonversian notasi algoritma ke bahasa
pemrograman cenderung relatif sukar.
Notasi III: menggunakan Pseudo-
code
Pseudo-code adalah notasi yang menyerupai notasi bahasa
pemrograman tingkat tinggi, khususnya Pascal dan C.
Bahasa pemrograman umumnya mempunyai notasi yang
hampir mirip untuk beberapa instruksi seperti notasi
ifthen-else, while-do, repeat-until, read, write , dan
sebagainya. Namun tidak seperti bahasa pemrograman
yang direpotkan dengan tanda titik koma, indeks, format
keluaran, kata-kata khusus, dan sebagainya, sembarang
versi Pseudocode dapat diterima asalakan perintahnya
tidak membingungkan pembaca. Keuntungan
menggunakan notasi Pseudo-code adalah kemudahan
mentranslasi ke notasi bahasa pemrograman, karena
terdapat korespodensi antara setiap Pseudo-code dengan
notasi bahasa pemrograman.
Kata-kata yang digarisbawahi menyatakan kata-kata kunci untuk setiap notasi
pseudo-code yang digunakan.
Proses, Instruksi, dan Aksi
Pada dasrnya, sebuah algoritma merupakan
deskripsi pelaksanaan suatu proses. Tiap
langkah instruksi tersebut mengerjakan suatu
tindakan (aksi). Bila suatu aksi dilaksanakan,
maka sejumlah operasi yang bersesuaian
dengan aksi itu dikerjakan oleh pemroses. Efek
dari pengerjaan suatu aksi dapat diamati
dengan membandingkan keadaan pada saat
aksi belum dimulai, dan keadaan pada saat
aksi selesai dikerjakan.
Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian
masalah. Langkah-langkah tersebut dapat
berupa runtunan aksi, pemilihan aksi, dan
pengulangan aksi. Ketiga jenis langkah
tersebut membentuk konstruksi suatu
algoritma. Jadi, sebuah algoritma dapat
dibangun dari tiga buah struktur dasar, yaitu:
 Runtunan (sequence).
 Pemilihan (selection).
 Pengulangan (repetition).
1.Runtunan
Sebuah runtunan terdiri dari satu atau lebih
instruksi. Tiap instruksi dikerjakan secara
berurutan sesuai dengan urutan penulisannya,
yakni sebuah instruksi dilaksanakan setelah
instruksi sebelumnya selesai dilaksanakan.
Urutan instruksi menentukan keadaan akhir
algoritma. Bila urutannya diubah, maka hasil
akhir mungkin juga berubah.
2.Pemilihan
Adakalanya sebuah instruksi dikerjakan jika
kondisi tertentu dipenuhi. Kondisi adalah
persyaratan yang dapat bernilai benar atau
salah. Dalam pemilihan dikenal beberapa
struktur pemilihan, yaitu:
If - then
Pemilihan(Lanjutan)
 If – then
Aksi hanya akan dilaksanakan apabila kondisi
bernilai benar. Sebaliknya, apabila kondisi bernilai
salah, maka aksi tidak akan dilaksanakan. Struktur
Umum:
if kondisi then
Aksi
Struktur pemilihan if-then hanya memberikan
satu pilihan aksi bila kondisi (persyaratan)
dipenuhi (bernilai benar), dan tidak memberikan
pilihan aksi lain bila kondisi bernilai salah.
Pemilihan(lanjutan)
 If-then-else
Struktur pemilihan ini memberikan dua buah
aksi yang akan dikerjakan tergantung pada
nilai kondisinya. Struktur umumnya:
if kondisi then
aksi 1
else
aksi 2
Pemilihan(lanjutan)
Pemilihan(Lanjutan)
 If-then-else if
Apabila pilihan aksi yang dilakukan lebih dari
dua buah, maka struktur pilihannya menjadi
lebih rumit, biasanya untuk pemilihan seperti
ini disebut pemilihan bersarang.
Kelebihan struktur pemilihan terletak pada kemampuannya yang
memungkinakan pemroses mengikuti jalur aksi yang berbeda
berdasarkan kondisi yang ada.
3.Pengulangan
Pengulangan digunakan untuk menjalankan
satu atau beberapa pernyataan sebanyak
beberapa kali. Dengan kata lain, pengulangan
memungkinkan pengerjaan beberapa kali
perintah tetapi penulisan perintah tersebut
hanya satu kali.
Struktur Pengulangan
Struktur Pengulangan
Struktur Pengulangan
Catatan:
Pada pernyataan repeat-until dan while-do, pada
dasarnya hampir sama yaitu digunakan jika
jumlah pengulangan belum dapat ditentukan.
Tetapi terdapat perbedaan yaitu pada
pengecekan kondisi. Jika pada pernyataan while,
kondisi dicek pada awal blok pengulangan, pada
pernyataan repeat-until, kondisi dicek pada
akhir blok pengulangan. Perbedaan yang lain,
bila pernyataan while mengulang pernyataan
selama kondisi masih terpenuhi, pernyataan
repeat-until mengulang pernyataan selama
kondisi belum terpenuhi.
Contoh Kasus
Misalkan seorang pemuda tiba di tepi sungai.Pemuda
tersebut membawa seekor kambing,seekor serigala dan
sayur. Mereka bermaksud untuk menyeberangi sungai.
Pemuda itu menemukan sebuah perahu kecil yang hanya
bisa memuat satu bawaan saja setiap kali menyeberang.
Kondisinya dipersulit dengan kenyataan bahwa,serigala
tidak dapat ditinggal berdua dengan si kambing karena
serigala akan memangsa kambing, begitu pula dengan
kambing tidak bisa ditinggal dengan keranjang sayur
karena kambing akan memakan semua sayur tersebut.
Bagaimanakah algoritma si pemuda menyeberangkan
seluruh bawaan sehingga mereka dapat tiba ke seberang
sungai tanpa kekurangan apapun. Tentu hanya pemuda
yang bisa mendayung perahu?
Algoritma Penyelesaian
 Misalkan kita namakan sisi sungai dengan A dan
sisi seberang adalah sisi B
Algoritmanya adalah :
1.Pemuda menyeberangkan kambing dari sisi A ke sisi B
2.Pemuda menyeberang sendiri dari sisi B ke sisi A
3.Pemuda menyeberangkan serigala dari sisi A ke sisi B
4.Pemuda menyeberangkan kambing dari sisi B ke sisi A
5.Pemuda menyeberangkan sayur dari sisi A ke sisi B
6.Pemuda menyeberang sendiri dari sisi B ke sisi A
7.Pemuda menyeberangkan kambing dari sisi A ke sisi B
8.Selesai.
Algoritma Isi Pulsa
 1.Tekan *888# lalu tekan tombol telepon.
2.Pilih pilihan untuk mengisi pulsa.
3.Masukkan 14 digit nomor pulsa anda.
4.Akhiri dengan tanda #.
5.Selesai.
Algoritma Makan
Algoritma Tidur
Algoritma Kirim Surat POS
Algoritma Memasak Air
di Dispenser
Algoritma membuat mie goreng
instant :
 Siapkan mie goreng instant  Letakkan panci diatas kompor
 Apakah mie instant ada?  Nyalakan kompor
 Jika tika tidak, beli di warung  Tunggu hingga air mendidih
 Jika ada buka kemasan mie instant  Jika sudah mendidih, masukkan mie
 Keluarkan mie beserta bumbu-  Tunggu hingga mie matang
bumbunya  Setelah mie matang, matikan
 Siapkan piring kompor
 Lihat kondisi piring, jika kotor dicuci  Siapkan saringan, lihat kondisi
dulu saringan jika kotor dicuci dulu
 Jika bersih siap digunakan  Tuang mie ke saringan, tunggu
 Buka bumbu-bumbunya sampai airnya tiris
 Letakkan didalam piring  Masukkan kedalam piring
 Siapkan panci  Siapkan sendok dan garpu, lihat
 Lihat kondisi panci, jika kotor dicuci kondisinya jika kotor dicuci duu
dulu  Jika bersih aduk mie menggunakan
sendok dan garpu
 Jika bersih panci dengan air
secukupnya  Mie goreng siap dihidangkan
latihan
 Buatlah Algoritma Pergi ke Kampus?
 Buatlah Algoritma Pergi nonton Bioskop?
 Buatlah Algoritma Membuat Pisang Keju?
Sekian!!!!!!

Anda mungkin juga menyukai