Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAnhie Jantur Telah diubah "10 tahun yang lalu
1
Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : 2012/ 2013
Pemrograman Komputer Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : / 2013
2
DEFINISI 1.1. Apa Itu Algoritma
Kata algoritma, mungkin bukan sesuatu yang asing bagi kita. Penemunya adalah seorang ahli matematika dari uzbekistan yang bernama Abu Abdullah Muhammad Ibn Musa al-Khwarizmi ( ). Di literatur barat dia lebih terkenal dengan sebutan Algorizm. Panggilan inilah yang kemudian dipakai untuk menyebut konsep algorithm yang ditemukannya. Dalam bahasa Indonesia kita kemudian menyebutkannya sebagai algoritma. Algoritma adalah kunci dari bidang ilmu komputer, karena banyak bidang di bawah ilmu komputer yang lahir berdasarkan konsep algoritma ini. Pada hakekatnya algoritma juga adalah kunci dari kehidupan kita. Cara membuat masakan (resep masakan) adalah juga sebuah contoh nyata dari algoritma. Definisi Algoritma Kita bisa mendefinisikan algoritma seperti dibawah: Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
3
Kamus besar bahasa Indonesia (Balai Pustaka 1988) secara formal
mendefinisikan algoritma sebagai: Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Beda Algoritma dan Program Program adalah kompulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa: program = struktur data + algoritma Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya. Struktur data disini bisa berupa list, tree, graph, dsb. Akan dibahas secara mendetail pada bab-bab mendatang.
4
1.2. Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada emungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik diantara teknik-teknik itu. Hal ini sama juga dengan algoritma, yang Memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Lalu bagaimana mengukur mana algoritma yang terbaik ?
5
Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
• Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar. • Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin. • Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general. • Bisa Dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada. • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma anda. Susah dimengertinya suatu program akan membuat susah di maintenance (kelola). • Portabilitas yang tinggi (Portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
6
Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi pemroses harus : Mengerti setiap langkah dalam Algoritma. Mengerjakan operasi yang bersesuaian dengan langkah tersebut Mekanisme Pelaksanaan Algoritma Oleh Pemroses (Komputer) Algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program Program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
7
Bahasa Pemrograman Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar Pemrograman adalah belajar memakai suatu bahasa, aturan-aturan tata bahasanya. Belajar Memprogram Belajar memprogram ≠ belajar bahasa pemrograman. Belajar memprogram: belajar strategi pemecahan masalah, metodologi, dan sistematika pemecahan masalah. kemudian menuliskannya dalam notasi yang disepakati bersama. Belajar memprogram: bersifat pemahaman persoalan, analisis dan sintesis. Belajar memprogram, titik berat : design program.
8
Belajar Bahasa Pemrograman Belajar Bahasa Pemrograman: balajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa. Belajar bahasa pemrograman, titik berat: Coder. Produk yang dihasilkan Pemrograman Program dengan rancangan yang baik (metodologis, sistematis) Dapat dieksekusi oleh mesin. Berfungsi dengan benar. Sanggup melayani segala kemungkinan masukan. Disertai dokumentasi.
9
Aspek Penting dari Algoritma
1. Finiteness • Algoritma harus berhenti after a finite number of steps 2. Definiteness • Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambiguous) 3. Input • Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan 4. Output • Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input 5. Effectiveness • Setiap algoritma diharapkan miliki sifat efektif
10
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).
11
CARA PENULISAN ALGORITMA
1. BAHASA NATURAL + mudah dimengerti - ambiguous 2. FLOW CHART + Bagus secara Visual - bila panjang jadi repot 3. PSEUDO CODE + Sudah dekat ke bahasa pemrograman - Sulit dimengerti orang awam
12
Contoh 1 – Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan – Nantinya ini bisa digeneralisir menjadi n buah bilangan
13
Algoritma Dalam Bahasa Natural 1
Algoritma Dalam Bahasa Natural 1. Ambil bilangan pertama dan set maks sama dengan bilangan pertama 2. Ambil bilangan kedua dan bandingkan dengan maks 3. Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua 4. Ambil blangan ketiga dan bandingan dengan maks 5. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga 6. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya
14
Flowchart Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.
15
Flow chart (2) SIMBOL NAMA FUNGSI TERMINATOR Permulaan/akhir program
GARIS ALIR (FLOW LINE) Arah aliran program PREPARATION Proses inisialisasi/pemberian harga awal PROSES Proses perhitungan/proses pengolahan data INPUT/OUTPUT DATA Proses input/output data, parameter, informasi PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub program/proses menjalankan sub program DECISION Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya ON PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman OFF PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
16
Bentuk Penulisan Flowchart dan struktogram
Struktur Urut flow chart : start Input proses output stop Statement 1 Statement 2 Statement 3 Statement 4 Statement 5 Statement 6 Struktogram / Nassi Schneiderman
17
Contoh 1: Buatlah algoritma untuk mencari nilai terbesar dari 3 buah angka. Penyelesaian: 1. Definisikan variabel A1, A2, A3, max 2. Masukkan tiga buah angka pada masing-masing variabel A1, A2 dan A3 3. Bandingkan A1 dengan A2, bila A1>A2, maka isi max=A1, bila tidak isi max=A2. 4. Bandingkan A3 dengan max, bila A3>max, maka isi max=A3, bila tidak maka max=max. 5. Tampilkan nilai terbesar (max) 6. Selesai
18
Dari contoh 1, buatlah flowchart (diagram alir).
2 start Masukkan nilai A1, A2, A3 Max=A1 Apakah A3>max ? Apakah A1>A2 ? Max=A3 Max=A1 Tampilkan Nilai terbesar (max) 1 2 stop
19
Algoritma dengan pseudo-code yaitu suatu bentuk algoritma yang menggunakan berbagai notasi yang dimaksudkan untuk menyederhanakan bentuk kalimat manusia maks←bilangan pertama if (maks < bilangan kedua) maks←bilangan kedua if (maks < bilangan ketiga) maks←bilangan ketiga
20
Contoh 2 Algoritma Luas_Lingkaran {<- ini judul algoritma}
{menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaranke piranti keluaran <- ini spesifikasi algoritma} DEKLARASI : const phi = 3.14 {nilai ? } D : diameter lingkaran Luas : real {luas lingkaran} DESKRIPSI : read (R) Radius = diameter /2 Luas <- phi * Radius *Radius write(luas)
22
Contoh 3 : Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. Algoritmanya adalah sbb : Bagi bilangan dengan bilangan 2 Hitung sisa hasil bagi pada langkah 1. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
23
Hitung sisa bagi antara bilangan dengan 2
Contoh Flowchart Start A Input Bilangan Apakah Sisa = 0 T Hitung sisa bagi antara bilangan dengan 2 Y Cetak Genap Cetak Ganjil End A
24
Contoh 4 Algoritma keliling persegi panjang
1. Inputkan nilai panjang dan lebar 2. hitung keliling persegi panjang dengan rumus 2x(p+l) 3. cetak hasil keliling
25
Algoritma dengan pseudo-code yaitu suatu bentuk algoritma yang menggunakan berbagai notasi yang dimaksudkan untuk menyederhanakan bentuk kalimat manusia p←panjang l←lebar k←keliling k←2(p+l) Cetak k
27
Langkah-langkah pemecahan masalah dituangkan dengan untaian kalimat deskriptif.
Contoh 5 : PROGRAM persegipanjang Program untuk menghitung luas persegipanjang. ALGORITMA : Masukkan/input panjang dan lebar persegipanjang. Hitung luas persegipanjang dengan rumus : Luas = Panjang x Lebar Tampilkan luas persegipanjang.
28
Program menghitung luas persegi panjang dengan data panjang dan lebar dimasukkan dari keyboard
Inisaialisasi variabel : Panjang, lebar, luas : float Read(“data panjang “, panjang) Read(“data lebar”, lebar) Luas = panjang * lebar Write(“Luas persegi panjang : “, Luas) start Read(panjang) Luas = panjang * lebar Write(“Luas persegi panjang : “, Luas) stop Read(lebar)
29
PSEUDOCODE Contoh 5: PROGRAM persegipanjang
Program untuk menghitung luas persegipanjang. DEKLARASI panjang, lebar : integer luas : integer ALGORITMA : read(p,l) luas = panjang * luas write(luas)
31
Contoh 6 Algoritma menghitung sisi miring segitiga siku - siku.
Masukkan nilai sisi a Masukkan nilai sisi b Hitung nilai c2 = a2 +b 2 Hitung nilai c Tampilkan nilai c Bagaimana Flowchart dan Pseudocode nya?
34
LATIHAN Kelulusan_mahasiswa untuk matakuliah ini adalah berdasarkan nilai akhir : Nilai Akhir = (2*TUGAS + 3*UTS + 5*UAS)/10 Jika NA >= 85 dan NA <= 100 maka nilai mahasiswa A (Lulus dengan Sangat Memuaskan) Jika NA >= 75 dan NA < 85 maka nilai mahasiswa B (Lulus dengan Memuaskan) Jika NA >= 65 dan NA < 75 maka nilai mahasiswa C (Lulus dengan Nilai Cukup) Jika NA >= 55 dan NA < 65 maka nilai mahasiswa D (Tidak Lulus) Jika NA < 55 maka nilai mahasiswa E
35
LATIHAN Permasalahan : Suatu swalayan memberikan diskon sebesar 10 % bagi siapa saja yang berbelanja sebesar Rp atau lebih. Buatlah algoritma untuk menghitung nilai uang yang harus dibayar oleh pembeli. Solusi: Pemecahan masalah ini dalam bentuk diagram alir data dan pseudecode dapat dilihat pada gambar berikut. Masukkan (pembelian) Jika pembelian >= maka diskon ß 0.1* pembelian sebaliknya diskon 0 akhir-jika pembayaranß pembelian – diskon tampilkan (pembayaran
37
Belajar Memprogram≠Belajar Bahasa Pemrograman
Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
38
Macam2 Bahasa Pemrograman
39
LATIHAN Dikumpulkan Sekarang
Buat algoritma dalam bahasa natural, flowchart dan pseudocode untuk nilai mahasiswa, jika nilai tersebut lebih besar 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus. Buat algoritma dalam bahasa natural, flowchart dan pseudocode untuk menentukan suatu bilangan prima kurang dari 10!
40
TERIMAKASIH
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.