ALGORITMA & FLOWCHART

dokumen-dokumen yang mirip
Konstruksi Dasar Algoritma

Algoritma Pemrograman I

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Brigida Arie Minartiningtyas, M.Kom

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

Pengampu : Agus Priyanto, M.KOM

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Proses, Instruksi, dan Aksi

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

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

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

Algoritma Pemrograman

Algoritma Pemrograman

MATA KULIAH : LOGIKA DAN ALGORITMA

ALGORITMA & PEMROGRAMAN

Definisi Percabangan

Contoh algoritma 1. Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?

Algoritma & Flowchart. Brigida Arie Minartiningtyas, M.Kom

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

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

Algoritma Pemrograman

Alih Kontrol dengan Flowchart

Bab I Pengantar Ke Algoritma

LAB SHEET PRAKTIK PEMROGRAMAN KOMPUTER

Teori Algoritma. Struktur Algoritma

Algoritma dan Struktur Data

Algoritma. Contoh Algoritma

STRUKTUR DASAR ALGORITMA

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Algoritma & Flowchart

Pertemuan 2 Konsep Dasar Algoritma

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Algoritma Pemrograman I

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

IT234 ALGORITMA DAN STRUKTUR DATA

BAB II NOTASI ALGORITMA

STRUKTUR DASAR ALGORITMA

PENGANTAR ALGORITMA PEMROGRAMAN

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

Algoritma Pemrograman

1. Algoritma & Pemrograman

Algoritma, Pseudo Code Flow Chart

PENYELEKSIAN KONDISI dengan IF

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Algoritma Pemrograman

Yudha Dwi P. N. Pertemuan 2 Pengantar Algoritma

Algoritma Pemrograman

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

Program yang hanya berisi runtunan instruksi biasanya terdapat pada masalah sederhana Seringkali suatu instruksi hanya bisa dilakukan jika ia

Algoritma & Pemrograman #1

Khusnawi, S.Kom, M.Eng

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

Algoritma Pemrograman

Procedure. Pertemuan 10 Algoritma Pemrograman

Pertemuan 4 RUNTUNAN/SEKUENSIAL

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

BAB 3 PENYELESAIAN KONDISI

Algoritma Pemrograman

Aturan Penulisan Algoritma

JAWABAN TUGAS 3 PEMROGRAMAN TEKNIK. Keuntungan Praktis dan mudah Komprehensif dan teliti

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

Algoritma Pemrograman Fery Updi,M.Kom

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

LOGIKA DAN ALGORITMA

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

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 )

Algoritma Pemrograman

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom, M.Cs

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Pertemuan 4 SELEKSI KONDISI

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

BAB II DASAR-DASAR DAN ATURAN PENULISAN ALGORITMA

STRUKTUR DASAR ALGORITMA

Yudha Dwi P. N. S.Kom. Pertemuan 3 Aturan Penulisan Teks Algoritma

Algoritma dan Flowchart. Dasar Programming 1

Algoritma,Flowchart, Konsep

Algoritma dan Flowchart

Pertemuan 4 Diagram Alur / Flowchart

Decission : if & if else

Pertemuan 01. Pemrograman Dasar [PTI-5001 ] 2012

PEMROGRAMAN DASAR ( PASCAL ) PERTEMUAN I

Algoritma Pemrograman

Pemrograman Dasar Kelas X RPL KONSEP DASAR ALGORITMA

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PENULISAN ALGORITMA. Algoritma dan Pemrograman. Rajif Agung Yunmar, S.Kom, M.Cs.

LAB SHEET PRAKTIK PEMROGRAMAN KOMPUTER

Algoritma Pemograman 1 A. Minggu 1

BAB II DASAR-DASAR ALGORITMA

2 ATURAN PENULISAN TEKS ALGORITMA

SEQUENCE. Program SEQ1 { Contoh penulisan sequence per baris } Program SEQ2 { Contoh penulisan sequence dengan tanda titik koma}

Fungsi : Dasar Fungsi

Pertemuan 5 PEMILIHAN/PERCABANGAN

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL

Teori Algoritma. Literatur

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Transkripsi:

ALGORITMA & FLOWCHART 1. DEFINISI ALGORITMA Terdapat beberapa definisi mengenai kata Algoritma : 1. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis (Rinaldi Munir :2002). 2. Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah (KBBI :1988). 3. Algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik (Team Gunadarma :1988). 2. CIRI ALGORITMA Menurut Donald E. Knuth, algoritma mempunyai lima ciri penring : 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. 2. Setiap langkah harus didefinisikan secara tepat dan tidak berarti dua. 3. Algoritma memiliki nol atau lebih masukan (input). 4. Algoritma mempunyai nol atau lebih keluaran (output). 5. Algoritma harus sangkil (efektif) 3. NOTASI PENULISAN Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan algoritma, antara lain : 1) Notasi yang dinyatakan dalam kalimat deskriptif Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar.

Contoh : Algoritma Bilangan_Maksimum Diberikan tiga buah bilangan bulat. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut. Deskripsi : (1) baca bilangan 1 (2) baca bilangan 2 (3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang lebih besar, jika kedua bilangan tersebut sama besar, dapat kita ambil bilangan 1, dan sebut bilangan tersebut MAX (4) baca bilangan 3 (5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih besar, jika keduanya sama besar, pilih MAX dan sebut bilangan tersebut MAX. (6) keluarkan sebagai output MAX 2) Notasi yang dinyatakan dengan pseudo code Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudo code dengan notasi bahasa pemrograman. Contoh : Algoritma Bilangan_Maksimum { Dibaca tiga buah bilangan dari piranti masukan. Carilah bilangan bulat maksimum diantara ketiga bilangan tersebut } Deklarasi : Bil1,Bil2,Bil3 : integer {bilangan yang dicari maksimumnya} MAX : integer {variabel bantu} Deskripsi : Read (Bil1,Bil2) If Bil1 >= Bil 2 then Bil1 = MAX Else Bil2 = MAX Read (Bil3) If Bil3 >= MAX then Bil3 = MAX Write (MAX)

3) Notasi yang dinyatakan dalam flow chart Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relatif sukar. Contoh : Algoritma Bilangan_Maksimum dalam flow char Mulai Baca Bil1, Bil2 If Bil1>= Bil2 Bil1=MAX Bil2=MAX Baca Bil3 If Bil3>= MAX Bil3=MAX Cetak MAX Selesai Flowchart Bilangan_Maksimum

4. TEKS ALGORITMA Pada dasarnya, teks algoritma disusun atas tiga bagian (blok) : bagian judul (header) agoritma, bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar untuk memperjelas maksud teks yang dituliskan. Komentar biasanya ditulis menggunakan kurung kurawal. 1) Judul Algoritma Judul algoritma adalah bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat (intisari) tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan. Contoh : Algoritma Luas_Lingkaran { Menghitung luas lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima masukan jari-jari lingkaran, menghitung luasnya, lalu cetak luasnya ke piranti keluaran } 2) Deklarasi Di dalam algoritma, deklarasi nama adalah bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama terapan, nama peubah, nama tipe, nama prosedur dan nama fungsi. Contoh : Deklarasi : Panjang = integer {tipe data bilangan bulat} Lebar = integer Luas = real {tipe data bilangan pecahan} 3) Deskripsi Deskripsi adalah bagian terpenting dari struktur algoritma. Bagian ini berisi uraian langkah-langkah penyelesaian masalah. Langkah-langkah ini dituliskan dengan notasi yang lazim dalam penulisan algoritma. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.

Contoh : Deskripsi : Read (nama) Read (NIM) Read (nilai) If (nilai < 45) then Grade = E Else if (nilai >= 45) and (nilai < 60) then Grade = D Else if (nilai >= 60) and (nilai < 70) then Grade = C Else if (nilai >= 70) and (nilai < 80) then Grade = B Else Grade = A Write (nama) Write (NIM) Write (nilai) 5. STRUKTUR DASAR ALGORITMA Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah 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 : 1) Runtunan (sequence) 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 dikerjakan. 2) Pemilihan (selection) Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Tiap tiap instruksi akan diseleksi oleh kondisi, apabila instruksi memenuhi kondisi yang diminta, maka instruksi akan dijalankan. 3) Pengulangan (repetition) Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia.

Algoritma Konversi { Terdapat tiga sub bagian (menu) dari program konversi. Pertama, konversi nilai dolar ke rupiah. Nilai tukar dan jumlah dolar diinput dari piranti masukan. Kedua, konversi Kilo meter (KM) ke meter (m). Nilai kilometer diinput dari piranti masukan. Ketiga, konversi Celcius ke Fahrenheit. Nilai celcius diinput dari piranti masukan. Ketiga nilai diolah dengan masing-masing rumus yang berbeda. Hasilnya dicetak ke piranti keluaran } Deklarasi : Pilih, Tukar, Dolar, KM Nilai1, Nilai2, Celcius Nilai3 Lagi = Integer = Integer = Real = Char Deskripsi : Cetak (judul program) Cetak (pilihan) Baca (Pilih) If (Pilih=1) then Baca (Tukar) Baca (Dolar) Nilai1 = Tukar * Dolar Cetak (Nilai1) ElseIf (Pilih=2) then Baca (KM) Nilai2 = KM * 1000 Cetak (Nilai2) Elseif (Pilih=3) then Baca (Celcius) Nilai3 = (Celcius * 1.8) + 32 Cetak (Nilai3) Else Cetak (Peringatan) Endif Baca (Lagi) If (Lagi = Y ) then goto (x,y) Cetak (selesai)

Flowchart Program Konversi Mulai Cetak Judul, Pilihan Baca Pilihan If Pilih = 1 Baca (nilai tukar) Baca (jumlah) If Pilih = 2 Nilai1=tukar*dolar Baca (KM) If Pilih = 3 Cetak (Nilai1) Nilai2=KM*1000 Cetak (Peringatan) Baca (Celcius) Cetak (Nilai2) Nilai3=Celcius*1.8+32 Cetak (Nilai3) Baca (Lagi) If lagi = y Cetak (selesai) Selesai

Translasi Algoritma Ke QBASIC 10 CLS 20 DIM LAGI AS STRING 30 PRINT " < YOGA PRIHASTOMO > " 40 PRINT " " 50 PRINT "" 60 PRINT " PROGRAM KONVERSI " 70 PRINT "" 80 PRINT " " 90 PRINT " DAFTAR MENU PILIHAN KONVERSI : " 100 PRINT " " 110 PRINT " 1. KONVERSI DOLAR ($) KE RUPIAH " 120 PRINT " 2. KONVERSI KILOMETER (KM) KE METER (M) " 130 PRINT " 3. KONVERSI CELCIUS KE FAHRENHEIT " 140 PRINT "" 150 INPUT " PILIH NOMOR SESUAI MENU PILIHAN (1/2/3)? : ", PILIH 160 PRINT " " 170 IF PILIH = 1 THEN 180 INPUT " BERAPAKAH NILAI TUKAR UNTUK 1 DOLLAR : ", TUKAR 190 INPUT " MASUKKAN JUMLAH DOLAR : ", DOLLAR 200 NILAI1 = TUKAR * DOLLAR 210 PRINT " JADI, NILAI KONVERSIN DOLLAR : Rp. ", NILAI1 230 ELSEIF PILIH = 2 THEN 240 INPUT " MASUKKAN JUMLAH KILOMETER (KM) : ", KM 250 NILAI2 = KM * 1000 260 PRINT " JADI, NILAI KONVERSIN METER : ", NILAI2 270 ELSEIF PILIH = 3 THEN 280 INPUT " MASUKKAN JUMLAH DERAJAT CELCIUS : ", CELCIUS 290 NILAI3 = (CELCIUS * 1.8) + 32 300 PRINT " JADI, NILAI KONVERSI DERAJAT FAHRENHEIT : ", NILAI3 305 ELSE PRINT " ANDA INPUT ANGKA BERAPA?, PILIHANN (1,2,3)" 310 END IF 320 PRINT " " 330 INPUT " AKAN MENGINPUT DATA LAGI (Y/T)? : ", LAGI 340 IF (LAGI = "Y") OR (LAGI = "y") THEN GOTO 140 350 PRINT " " 360 PRINT "-----------------PROGRAM KONVERSI SELESAI-------------------"

Hasil Output Program Konversi < YOGA PRIHASTOMO > PROGRAM KONVERSI DAFTAR MENU PILIHAN KONVERSI : 1. KONVERSI DOLAR ($) KE RUPIAH 2. KONVERSI KILOMETER (KM) KE METER (M) 3. KONVERSI CELCIUS KE FAHRENHEIT PILIH NOMOR SESUAI MENU PILIHAN (1/2/3)? : 1 BERAPAKAH NILAI TUKAR UNTUK 1 DOLLAR : 9200 MASUKKAN JUMLAH DOLAR : 4 JADI, NILAI KONVERSIN DOLLAR : Rp. 36800 AKAN MENGINPUT DATA LAGI (Y/T)? : Y PILIH NOMOR SESUAI MENU PILIHAN (1/2/3)? : 2 MASUKKAN JUMLAH KILOMETER (KM) : 7 JADI, NILAI KONVERSIN METER : 7000 AKAN MENGINPUT DATA LAGI (Y/T)? : Y PILIH NOMOR SESUAI MENU PILIHAN (1/2/3)? : 3 MASUKKAN JUMLAH DERAJAT CELCIUS : 20 JADI, NILAI KONVERSI DERAJAT FAHRENHEIT : 68 AKAN MENGINPUT DATA LAGI (Y/T)? : Y PILIH NOMOR SESUAI MENU PILIHAN (1/2/3)? : 4 ANDA INPUT ANGKA BERAPA?, PILIHANN (1,2,3) AKAN MENGINPUT DATA LAGI (Y/T)? : T ------------------PROGRAM KONVERSI SELESAI-------------------