ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

dokumen-dokumen yang mirip
PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

MODUL 1 ALGORITMA PEMROGRAMAN

Pembuatan Algoritma yang Baik Ema Utami STMIK AMIKOM Yogyakarta

Belajar Memprogram dan Belajar Bahasa Pemrograman Merupakan Dua Hal yang Berbeda Oleh : Ema Utami, S.Si, M.Kom

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

PENGANTAR ALGORITMA & PEMROGRAMAN C/C++ Analisis Algoritma dan Struktur Data (TKE 670)

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

ALGORITMA DAN PEMROGRAMAN

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Algoritma Dan Struktur Data

Algoritma dan Pemrograman #1. Arif Dwi Laksito, M.Kom

STRUKTUR DASAR ALGORITMA

7. Logika dan Algoritma Pemrograman

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

ALGORITMA. Bahasa Pemrograman adalah prosedur atau tata cara penulisan program.

Logika Informatika. Heri Sismoro, M.Kom. STMIK AMIKOM Yogyakarta

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

PENGANTAR KOMPUTER & SOFTWARE II

STRUKTUR DASAR PEMROGRAMAN

Algoritma Pemrograman

LOOPING. Brigida Arie Minartiningtyas, M.Kom

PERSEGI ANGKA-HURUF VERTIKAL

PEMROGRAMAN TERSTRUKTUR PERTEMUAN II LANGKAH-LANGKAH PENGEMBANGAN PROGRAM 6. DOKUMENTASI DAN PEMELIHARAAN PROGRAM

ALGORITMA & PEMROGRAMAN

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

BAB I PENGANTAR ALGORITMA DAN PROGRAM

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

Konstruksi Dasar Algoritma

Algoritma Pemrograman

PERTEMUAN 4 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PEMILIHAN

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

04/03/2013. Absensi : 10% UTS : 30% UAS : 40% Tugas & Kuis : 20% By: Vilia Eka Meyana, M.Kom Institute Bisnis dan Informatika Indonesia

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

PERULANGAN Pengampu : Agus Priyanto, M.Kom

STRUKTUR DASAR ALGORITMA

Refreshing Materi Kuliah Semester Pendek 2010/2011. Logika dan Algoritma. Heri Sismoro, M.Kom.

Selection, Looping, Branching

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

REVIEW ARRAY. Institut Teknologi Sumatera

Algoritma & Pemrograman

LOGIKA ALGORITMA. Pertemuan 6. By: Augury

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

Selection / Pemilihan PEMILIHAN

PERULANGAN Pengampu : Agus Priyanto, M.Kom

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

Perulangan, Percabangan, dan Studi Kasus

Algoritma dan Pemrograman

P10 Seleksi & Perulangan

STRUKUR KENDALI : PERCABANGAN

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

PRAKTIKUM 4 PERCABANGAN

Algoritma Pemrograman 2B (Pemrograman C++)

Struktur Program Bahasa C

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Percabangan. Agus Priyanto, M.Kom

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

MODUL III CONTROL FLOW & FLOWCHART

Struktur Program. Rinta Kridalukmana

PERTEMUAN 7 REVIEW (QUIZ)

Tipe Data dan Operator

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

I. RUNTUNAN(SEQUENCE)

StrukturDasarProgram Prosedural (dalambahasac++)

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

Definisi Percabangan

PENDAHULUAN TUJUAN KEGUNAAN FLOWCHART KONSEP PEMROGRAMAN

Algoritma dan Struktur Data

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

OPERATOR DAN STATEMEN I/O

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Pemrograman Dasar C. Minggu 4

LATIHAN SOAL (FUNGSI & PROSEDUR)

3. Struktur Perulangan dalam Bahasa C++

INPUT & OUTPUT SEQUENCE STATEMENT SELECTION STATEMENT. Pengantar Logika & Teknik Pemrograman Politeknik Negeri Jakarta TA.

Algoritma Pemrograman

Pertemuan 4 RUNTUNAN/SEKUENSIAL

Pengenalan Algoritma

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

ALGORITMA, FLOWCHART dan PSEUDO-CODE

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

BAB 1 PENDAHULUAN 1.1 Alasan Pemilihan Judul 1.2 Latar Belakang Masalah 1.3 Dasar Teori

Percabangan. Agus Priyanto, M.Kom

PERCABANGAN. Bentuk if Sederhana

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan konsep algoritma dan struktur data

BAB I PENGANTAR ALGORITMA DAN PROGRAM

Percabangan & Perulangan

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Kusnawi, S.Kom, M.Eng

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

3. Struktur Perulangan dalam C++

Transkripsi:

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP 1

ALGORITMA DEFINISI Logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan Spesifikasi urutan langkah untuk melakukan pekerjaan tertentu 2

PERTIMBANGAN PEMILIHAN ALGORITMA 1. Algoritma haruslah benar Output sesuai dg yg dikehendaki dari input yang diberikan Algoritma bagus, output salah à bukan algoritma yang baik 2. Seberapa baik hasil yang dicapai oleh algoritma Terutama untuk output yang berupa estimasi, perkiraan, prediksi, aproksimaksi Harus mampu memberikan hasil sedekat mungkin dengan nilai sebenarnya 3. Efisiensi algoritma Ditinjau dari 2 hal, yaitu waktu dan memori Algoritma baik + waktu lama à TIDAK EFISIEN Apalagi bila memori yang digunakan besar, akan menambah ketidakefisienan dari algoritma 3

ALGORITMA VS PROGRAM Program adalah kumpulan instruksi komputer Kata, ekspresi, pernyataan yang disusun dan dirangkai menjadi satu kesatuan prosedur, yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman Metode dan tahapan sistematis dalam program adalah algoritma. Bahasa Pemrograman : prosedur atau tata cara penulisan program Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan bahasa pemrograman tertentu PROGRAM = STRUKTUR DATA + ALGORITMA PEMILIHAN STRUKTUR DATA YANG KURANG TEPAT AKAN MEMBUAT PROGRAM MENJADI KURANG BAIK WALAU ALGORITMA SUDAH BAIK 4

Struktur Data Struktur data merujuk pada koleksi/kumpulan peubah komputer yang saling berhubungn untuk tujuan tertentu. #include <iostream> #include <string> using namespace std; struct Mahasiswa { string nama; string alamat; int nomahasiswa; double IPK; }; void printinfo(const Mahasiswa &m) { cout << Nomer : << m.nomahasiswa << endl; cout << Nama : << m.nama << endl; cout << Alamat : << m.alamat << endl; cout << IPK : << m.ipk << endl; } int main() { Mahasiswa yayuk; yayuk.nama = Yayuk Dwinanti ; yayuk.alamat = Jl. Pahlawan 15 Surabaya ; yayuk.nomahasiswa = 123; yayuk.ipk = 3.75; printinfo(yayuk); return 0;

KEUNTUNGAN PEMBUATAN ALGORITMA Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun Notasi algoritmik dapat diterjemahkan ke dalam berbagai bahasa pemrograman Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama 6

YANG PERLU DIPERHATIKAN Teks algoritma berisi deskripsi langkahlangkah penyelesaian masalah, dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami Notasi algoritmik bukan notasi bahasa pemrograman, karena itu tidak dapat dijalankan oleh komputer Perlu translasi ke bahasa pemrograman 7

TRANSLASI ALGORITMA à BAHASA PEMROGRAMAN Hal-hal yang perlu diperhatikan : Pendeklarasian variabel Pemilihan tipe data Pemakaian instruksi-instruksi Aturan sintaks Tampilan hasil Cara pengoperasian compiler atau intepreter 8

SYARAT MEMBUAT ALGORITMA YANG BAIK Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh harus berakurasi tinggi dan benar Pemrosesan yang efisien (cost rendah) Proses harus diselesaikan secepat mungkin dengan frekuensi kalkulasi yang sependek mungkin Sifatnya general Bukan untuk menyelesaikan satu kasus saja, tetapi sifatnya general Bisa Dikembangkan (expandable) Bisa dikembangkan lebih jauh berdasarkan perubahan requirement yang ada Mudah dimengerti Portabilitas tinggi Bisa diimplementasikan di berbagai platform komputer dan bahasa pemrograman 9

CIRI-CIRI ALGORITMA YANG BAIK Precise (tepat, betul, teliti) Instruksi tidak ada keraguan Instruksi dinyatakan secara eksplisit Setiap langkah harus jelas dan pasti Contoh : Tambahkan 1 atau 2 pada x à terdapat keraguan Jumlah langkah atau instruksi berhingga atau tertentu Untuk kasus yang sama, banyaknya langkah harus tetap dan tertentu meskipun datanya berbeda Efektif Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses Harus terminate Ada kriteria untuk berhenti Output yang dihasilkan tepat 10

TAHAP PEMROGRAMAN : Analisa Problem Pembuatan Program Perancangan Algoritma Test Test Dokumentasi Dipakai FASE I : PROBLEM SOLVING FASE II : IMPLEMENTASI 11

TAHAP PEMROGRAMAN : I. Fase Problem Solving Merancang atau Merumuskan Logika Kondisi awal, yaitu input yang tersedia Kondisi akhir, yaitu output yang diinginkan Data lain yang tersedia Operator yang tersedia Syarat atau kendala yang harus dipenuhi Contoh Kasus : Menghitung biaya percakapan di wartel Input yang tersedia : jam mulai bicara dan jam selesai bicara Output yang diinginkan adalah biaya percakapan Data lain yang tersedia adalah besarnya pulsa yang digunakan dan biaya per pulsa Operator yang tersedia adalah pengurangan (-), penambahan (+), dan perkalian (*) Syarat kendala : aturan jarak dan tarif berdasarkan waktu Error handling 12

TAHAP PEMROGRAMAN : II. Fase Implementasi Menulis program Standar penilaian program Standar teknik pemecahan masalah Teknik top-down à suatu masalah yang kompleks dibagi ke dalam beberapa kelompok masalah yang lebih kecil Teknik bottom-up à menggabungkan beberapa prosedur menjadi satu kesatuan program sebagai penyelesaian masalah tersebut Standar penyusunan program Kebenaran logika dan penulisan Waktu minimum untuk penulisan program Ekspresi penggunaan memori Kemudahan perawatan dan mengembangkan program User friendly Portability Pemrograman modular Standar Perawatan Program Dokumentasi Penulisan Instruksi Standar prosedur 13

STRUKTUR DASAR ALGORITMA/ STRUKTUR KONTROL Struktur dasar algoritma ada 3, yaitu : Struktur runtunan/sequential Digunakan untuk program yang instruksinya sequential atau urutan Struktur pemilihan/conditional Digunakan untuk program yang menggunakan pemilihan atau penyeleksi kondisi Struktur perulangan/iterasi Digunakan untuk program yang instruksinya akan dieksekusi berulang-ulang 14

Struktur Runtunan Runtunan merupakan struktur dasar algoritma terdiri dari satu atau lebih instruksi Dikerjakan secara berurutan Pada dasarnya semua program dibuat berdasarkan struktur algoritma runtunan A1 A2 A3 A4 15

Contoh kasus runtunan 1 Terdapat 2 buah variabel a dan b yang memiliki nilai a = 4 dan b = 5. Bagaimana algoritma untuk mempertukarkan nilai a dan b sehingga nilai a = 5 dan nilai b = 4? 16

Contoh kasus runtunan 2 Menghitung luas persegi panjang Algoritmanya : Masukkan panjang dan lebar Kalikan panjang dan lebar, simpan hasil sebagai luas Tuliskan hasilnya Start Input(P,L) Luas = P * L Output(Luas) Dalam Pseudocode Input (p,l); Luas = p * l; Output (Luas); End Flowchart Hitung Luas Persegi Panjang 17

Contoh kasus runtunan 3 Konversikan total detik menjadi berapa jam lebih berapa menit lebih berapa detik Algoritmanya : Baca data total detik Bagi data dengan 3600 Simpan hasil bagi dalam J dan sisa dalam S Bagi S dengan 60 Simpan hasil dalam M dan sisa bagi dalam D Tulis hasil J, M, D Dalam Pseudocode Input (Dt); J = Dt div 3600 S = Dt mod 3600 M = S div 60 D = S mod 60 Start Input(Dt) J = Dt div 3600 S = Dt mod 3600 M = S div 60 D = S mod 60 Output(J, M, D) End Flowchart Konversi Detik 18

Struktur Pemilihan Bentuk instruksi pemilihan IF IF ELSE SWITCH IF Bersarang 19

Struktur Pemilihan IF - ELSE Pseudocode : Pernyataan A If <kondisi> then <pernyataan 1> Else <pernyataan 2> EndIf Pernyataan B Pernyataan 2 Pernyataan A false true KONDISI Pernyataan 1 Pernyataan B Instruksi ini digunakan untuk menentukan tindakan yang akan digunakan apabila kondisi bernilai benar dan apabila kondisi bernilai salah 20

Struktur Pemilihan SWITCH Pseudocode : Switch<pilihan> Case <pilihan1> : <aksi1> Case <pilihan2> : <aksi2> {otherwise aksi} endcase pilihan pilihan Contoh dlm bhs C : Switch(na){ Case A : na = 4;break; case B : na = 3;break; case C : na = 2;break; default : na = 0; } Aksi 1 Aksi 1 Aksi 1 Aksi 1 Pernyataan berikutnya 21

Struktur Perulangan Macam-macam instruktur perulangan FOR WHILE WHILE-DO 22

STRUKTUR PERULANGAN FOR Instruksi perulangan yang paling sering digunakan Memiliki 3 parameter, yaitu : Nilai awal (initial value) Test kondisi yang menentukan akhir LOOP Penentu perubahan nilai 23

STRUKTUR PERULANGAN FOR Pseudocode : For indeks = nilai_awal to nilai_akhir do <instruksi/blok instruksi> endfor Indeks = nilai awal pilihan true Indeks = indeks + 1 Badan loop Contoh dlm bhs C : int i; i = 3; for (i=1, i<=3, i++) { Printf (i); } false Pernyataan berikutnya Flowchart Instruksi FOR format naik 24

STRUKTUR PERULANGAN WHILE Instruksi perulangan yang paling sering digunakan Memiliki 3 parameter, yaitu : Nilai awal (initial value) Test kondisi yang menentukan akhir LOOP Penentu perubahan nilai 25

STRUKTUR PERULANGAN WHILE-DO Pseudocode : While <kondisi> do <instruksi/blok instruksi> endwhile pilihan true Badan loop false Contoh dlm bhs C : int i; i = 3; while (i>0 { printf (i); i--; } Pernyataan berikutnya Flowchart Instruksi WHILE- DO 26

STRUKTUR PERULANGAN DO-WHILE Pseudocode : do <instruksi/blok instruksi> while <kondisi> Badan loop pilihan true false Contoh dlm bhs C : int i; i = 3; do { printf (i); i--; } while(i>3); Pernyataan berikutnya Flowchart Instruksi DO-WHILE 27