Algoritma Dan Pemrograman
Algoritma Dan Pemrograman
Algoritma adalah jantung ilmu komputer dan informatika. Banyak cabang dari ilmu komputer yang diacu dalam
terminology algoritma.
Algoritma berasal dari kata algorism yang berarti proses menghitung.
Kata algorism berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad
Definisi Algoritma
Urutan langkah-langkah logis penyelesaian
Urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis
Urutan logis pengambilan keputusan untuk
Ciri Penting Algoritma (1)
Memiliki Input
Algoritma dapat memiliki nol atau lebih inputan dari luar. Memiliki Output
Algoritma harus memiliki minimal satu buah output keluaran. Definiteness (pasti)
Ciri Penting Algoritma (2)
Finiteness (ada batas atau berakhir)
Algoritma harus memiliki titik berhenti (stopping role). Effectiveness(efektif dan efisien)
Algoritma sebisa mungkin harus dapat dilaksanakan dan
efektif. Contoh instruksi yang tidak efektif adalah : A = A + 0 atau A = A * 1.
Algoritma Terbaik
Algoritma dikatakan terbaik atau The Best jika Suatu
algoritma menghasilkan output yang tepat guna
(efektif) dalam waktu yang relative singkat dan
penggunaan memori yang relatif sedikit (efisien)
dengan langkah berhingga dan prosedurnya berakhir
baik dalam keadaan diperoleh solusi ataupun tidak
ada solusi.
Belajar Memprogram dan
Belajar Bahasa Pemrograman
Belajar Memprogram :
Pemahaman persoalan, analisis, dan sintesis
Belajar Bahasa Pemrograman : • Belajar memakai suatu bahasa
Pemecahan Masalah
-Strategi -Metodologi -Sistematika
Notasi yang telah disepakati
Program adalah….
Program :
Perwujudan atau implementasi algoritma yang
ditulis dalam bahasa pemrograman tertentu
Pengertian Program dan Bahasa Pemrograman
Kumpulan instruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu dinamakan program. Instruksi yang digunakan dalam menulis program disebut
bahasa pemrograman.
Orang yang membuat program komputer dinamakan
Dan kegiatan merancang dan menulis program komputer disebut pemrograman atau programming.
Suatu program ditulis dengan mengikuti kaidah bahasa
pemrograman tertentu (Pascal, Turbo C, Basic, Borland C++, Java, dll).
Salah satu dari sekian banyak bahasa pemrograman, dalam matakuliah ini akan memakai bahasa pemrograman C++.
Perkembangan Bahasa
Pemrograman
• Bahasa Mesin. Bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin
komputer
Keuntungan: Eksekusi cepat
Kerugian: Sangat sulit dipelajari manusia
• Bahasa Assembly. Bahasa simbol dari bahasa mesin
Kelebihan: Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil
Perkembangan Bahasa
Pemrograman
• Bahasa Tingkat Tinggi (3rd GL) Bahasa pemrograman yang lebih
tinggi dari bahasa assembly Keuntungan:
• Mudah dipelajari
• Mendekati permasalahan yang akan dipecahkan • Kode program pendek
Kerugian: Eksekusi lambat Contoh: C, C++, Pascal, Basic, dan java
• Bahasa yang berorientasi pada masalah spesifik
(4th GL) Digunakan langsung untuk memecahkan masalah tertentu Contoh: SQL untuk database
Translator
•
Assembler.
Source code: bahasa assembly,
Object code: bahasa mesin
•
Interpreter.
Source code: bahasa scripting
seperti php, ASP, javascript, Perl.
Tidak
menghasilkan object code hanya translasi internal
•
Kompiler.
Source code: bahasa program spt C,
Proses Translasi-Kompilasi-Intrepretasi
Algoritma
Program dalam Bahasa Tingkat Tinggi
Program dalam Bahasa Mesin
Translasi
Interpretasi oleh CPU Kompilasi
Paradigma Pemrograman (1)
Prosedural (imperatif)
Program = Struktur + Data
Misalnya : Pascal, C, Basic
Object Oriented
data dan instruksi dibungkus menjadi satu, disebut: kelas, kelas pada saat run-time disebut objek.
Paradigma Pemrograman (2)
Fungsional
konsep pemetaan dan fungsi pada matematika
Misalnya : Matlab
Deklaratif
pendefinisian relasi antar individu yang dinyatakan sebagai predikat
Jenis Proses Algoritma
Sequence Process
merupakan instruksi yang dikerjakan secara sekuensial atau berurutan.
Selection Process
merupakan instruksi yang dikerjakan jika memenuhi kriteria tertentu.
Jenis Proses Algoritma
Iteration Process
merupakan instruksi dikerjakan yang selama memenuhi suatu kondisi tertentu.
Concurrent Process
merupakan beberapa instruksi yang dikerjakan secara bersama.
Algoritma Pengerjaan didalam Resep
Makanan
Algoritma Pengerjaan didalam Resep
Makanan
1. Tuangkan satu gelas santan ke dalam wajan.
2. Masukkan bumbu-bumbu yang sudah dihaluskan. 3. Aduk hingga merata.
Algoritma Dalam Mengerjakan Praktikum
Kimia
1. Siapkan tabung reaksi ukuran 100cc.
2. Teteskan 50 cc larutan H2SO4 ke dalam tabung.
3. Campurkan 20 cc larutan NaOH kedalamnya, aduk hingga tercampur merata.
Algoritma Mengirim Surat Kepada Teman
1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat.
3. Masukkan surat ke dalam sampul.
4. Tutup sampul surat menggunakan perekat.
5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat.
6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat.
Algoritma Mencari Kuadrat Suatu
Bilangan
1. Masukkan bilangan A yang akan dkuadratkan 2. Kalikan A dengan A
Latihan Soal
• Tiga pasang suami istri sedang menempuh perjalanan sampai ke sebuah sungai. Disitu mereka menemukan sebuah perahu kecil yang hanya bisa membawa tidak lebih dari 2 orang.
Penyebrangan air sungai itu dirumitkan oleh kenyataan para suami tersebut pencemburu. Tuliskan algoritmanya agar
ketiga pasang suami istri tersebut dapat menyeberangi sesuai dengan ketentuan di atas!
Latihan Soal
Tiga buah cakram yang masing-masing berdiameter berbeda mempunyai lubang dititik pusatnya.Ketiga cakram tersebut dimasukan pada sebuah batang besi A sedemikian sehingga cakram yang berdiameter lebih besar selalu terletak dibawah cakram yang berdiameter lebih kecil.
Tulislah Algoritma untuk memindahkan seluruh cakram tersebut ke batang besi B; setiap kali hanya satu cakram yang boleh dipindahkan, tetapi pada setiap perpindahan tidak boleh ada cakram yang ebih besar berada diatas cakram kecil.Batang besi C dapat dipakai sebagai tempat peralihan dengan tetap memegang aturan yang telah disebutkan.
Latihan Soal
Ada sebuah algoritma program pemutar kaset
tape recorder:
1. Pastikan tape power ON
2. Tekan tombol play
3. 3.masukkan kaset dalam tape recorder
Dimanakah letak kesalahan logika algoritma
tersebut?
Latihan Soal
Seorang salesman (petugas pemasaran) suatu perusahaan minuman harus mengunjungi 5 warung untuk memperkenalkan produk minuman terbaru. Kelima warung tersebut adalah: P, Q, R, S, dan T. Dia hanya akan mengunjungi masing-masing satu kali saja, satu warung per hari, Senin s/d Jumat, dengan aturan berikut:
• Tidak boleh mengunjungi warung R pada hari Senin. • Harus mengunjungi warung P sebelum mengunjungi S. • Harus mengunjungi warung Q sebelum mengunjungi T.
Mana jadwal yang memenuhi syarat? Jika ia mengunjungi R lebih dahulu
Tiga orang dewasa Roni(pria), Susi(wanita), dan Vina(wanita) bersama dengan lima anak-anak Fredi(pria), Heru(pria), Jono(pria), Lisa(wanita) dan
Marta(wanita) akan pergi berdarmawisata ke Kebun Binatang dengan
menggunakan sebuah kendaraan minibus. Minibus tersebut memiliki satu tempat di sebelah pengemudi, dan dua buah bangku panjang di belakang yang masing-masing terdiri dari 3 tempat duduk, sehingga total terdapat delapan tempat duduk di dalam minibus tersebut, termasuk pengemudi. Setiap peserta wisata harus duduk sendiri, masing-masing di sebuah kursi yang ada dan susunan tempat duduk harus disesuaikan dengan beberapa ketentuan sebagai berikut:
• Pada masing-masing bangku harus terdapat satu orang dewasa yang duduk
• Salah satu di antara Roni dan Susi harus duduk sebagai pengemudi • Jono harus duduk bersebelahan dengan Marta
Tugas
Buatlah algoritma untuk menghitung luas dan
keliling lingkaran. Dengan masukan jari-jari
lingkaran.
Menghitung Luas Lingkaran
1. Start2. Menetapkan nilai Phi yaitu 3.14 3. Masukan jari-jari lingkaran
4. Menghitung luas lingkaran dengan rumus L=phi x r x r 5. Mencetak nilai Luas
Menghitung Keliling Lingkaran
1. Start2. Menetapkan nilai Phi yaitu 3.14 3. Masukan jari-jari lingkaran
4. Menghitung keliling lingkaran dengan rumus K=2 x phi x r 5. Mencetak nilai Keliling