Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : 2012/ 2013

Slides:



Advertisements
Presentasi serupa
PENDAHULUAN KONSEP ALGORITMA DAN DIAGRAM ALIR (FLOWCHART)
Advertisements

Oleh : Nur Hayatin, S.ST Program Komputer. Tujuan  Setelah perkuliahan selesai diharapkan :  Mahasiswa mampu memahami tentang program komputer  Mahasiswa.
DASAR PEMROGRAMAN (VTI 301)
Dosen : Rinci Kembang Hapsari, S.Si
Pengertian Algoritma dan Flowchart
TEORI ALGORITMA.
Pengenalan Algoritma Ardian Maretta Prastiawan, Ssi
Introduction to Algorithm and Programming
ALGORITMA.
Bahasa Pemrograman dan Flow Chart
PENGANTAR ALGORITMA PUTRA PRIMA NAUFAL, S.ST masputra.net.
Algoritma dan Pemrograman
PENGANTAR KONSEP PEMROGRAMAN
Algoritma.
Pemrograman Komputer.
Dasar- Dasar Algoritma
Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom
Matakuliah : Algoritma & Struktur Data Versi Materi
ALGORITMA DEFINISI & FLOWCHART
PENGANTAR ALGORITMA DAN PEMROGRAMAN
PENGENALAN ALGORITMA & PEMROGRAMAN
Algoritma (Komputer) EL 2001 – Dasar Pemrograman Budi Rahardjo Teknik Elektro ITB
ALGORITMA & LOGIKA PEMROGRAMAN
Perancangan dan Analisis Algoritma
Algoritma (Komputer).
Pertemuan-III Algoritma disajikan gambar
SUATU PENGANTAR BAHASA PEMROGRAMAN
PERTEMUAN 4 TAHAP PEMROGRAMAN.
PENGERTIAN DASAR ALGORITMA & FLOWCHART
Mahasiswa diharapkan dapat:
Pertemuan 1 Muhamad Haikal,S.Kom., MT
PERTEMUAN I PENGANTAR ALGORITMA
ALGORITMA & PEMROGRAMAN I-A
PERTEMUAN 1 Algoritma & Pemrograman
Flowchart (Diagram Alur)
Algoritma dan Pemrograman 1
BAHASA PEMROGRAMAN / PEMROGRAMAN KOMPUTER Bab 1 PENDAHULUAN
Start.
ALGORITMA & LOGIKA PEMROGRAMAN
ALGORITMA DAN PEMOGRAMAN 1A
ALGORITHMA DAN ATURAN PENULISANYA
ALGORITMA DAN PEMROGRAMAN (Pertemuan 01)
Menuliskan Algoritma Algoritma dapat dituliskan dengan berbagai cara:
ALGORITMA Anifuddin Azis.
PENGENALAN ALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN 1A
Logika dan Algoritma Oleh: Ferawaty, S.Kom.
PENGENALAN ALGORITMA & PEMROGRAMAN
Definisi Algoritma Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti.
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
BAB FLOWCHART.
Introduction to Algorithm and Programming
Matakuliah : Algoritma & Struktur Data Versi Materi
Bahasa Pemrograman dan Flow Chart
Bahasa Pemrograman Poltek Balikpapan 2010.
Introduction to Algorithm and Programming
DIAGRAM ALUR (FLOWCHART)
Pengantar Algoritma dan pemograman
EL 2001 – Dasar Pemrograman Budi Rahardjo Teknik Elektro ITB
Algoritma dan Pemrograman I
Pendahuluan Komputer adalah alat bantu untuk menyelesaikan masalah.
Introduction to Algorithm and Programming
Pertemuan ke-2 KONSEP ALGORITMA
Algoritma dan Struktur Data
TEORI ALGORITMA.
ALGORITMA 1 Temu 1.
IT234 ALGORITMA DAN STRUKTUR DATA
PENGANTAR KONSEP PEMROGRAMAN
Algoritma & Pemrograman 1 Chapter 1 Achmad Fitro The Power of PowerPoint – thepopp.com.
Dasar Konstruksi Pemrograman
Transcript presentasi:

Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : 2012/ 2013 Pemrograman Komputer Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : 2012/ 2013

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 (770-840). 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.

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.

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 ?

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.

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.

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.

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.

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

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).

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

Contoh 1 – Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah bilangan – Nantinya ini bisa digeneralisir menjadi n buah bilangan

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

Flowchart Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam suatu program, yang menyatakan arah alur program tersebut.

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

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

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

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

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

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)

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.

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

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

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

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.

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)

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)

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?

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

LATIHAN Permasalahan : Suatu swalayan memberikan diskon sebesar 10 % bagi siapa saja yang berbelanja sebesar Rp100.000 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 >= 100000 maka diskon ß 0.1* pembelian sebaliknya diskon 0 akhir-jika pembayaranß pembelian – diskon tampilkan (pembayaran

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.

Macam2 Bahasa Pemrograman

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!

TERIMAKASIH