Download - Topik 2 Konsep Dasar Algoritma
Topik 2Konsep Dasar Algoritma
Algoritma & Struktur Data
PS. Manajemen Informatika
Sub Topik
1. Definisi Algoritma
2. Ciri-Ciri Algoritma
3. Notasi Algoritma
4. English Structure
5. Flowchart Nassi-Schneiderman
6. Flowchart Nazi
7. Pseudocode
Tujuan
Tujuan Instruksional Umum :
Mahasiswa diharapkan mampu menyajikan permasalahan ke dalam notasi algoritma
Tujuan Instruksional Khusus :
Mahasiswa memahami definisi dan ciri-ciri algoritma
Mahasiswa mampu menggunakan notasi algoritma
Definisi Algoritma
Algoritma berasal dari kata algoris dan ritmis
Pertama kali diungkapkan oleh Abu Ja’far Mohammed ibn Musa al Khowarizmi (825 M) dalam buku Al-Jabr Wa-al Muqabla
Definisi algoritma :
• Suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis, yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer (Budi Sutedjo, 2000)
• Urutan logis langkah-langkah penyelesaian masalah (Rinaldi Munir, 2007)
Ciri-Ciri Algoritma
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguous)
Algoritma memiliki nol atau lebih masukan (input)
Algoritma mempunyai nol atau lebih keluaran (output)
Algoritma harus sederhana
Notasi Algoritma
Notasi algoritma dibuat independen dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya
Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman
Ada beberapa notasi algoritma :
• Notasi I : menyatakan langkah-langkah algoritma dengan untaian kalimat deskriptif (english structure)
• Notasi II : menggunakan diagram alir (flowchart)• Notasi III : menggunakan pseudocode
English Structure
Basisnya adalah bahasa Inggris, tetapi bisa juga menggunakan bahasa Indonesia
Untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai sistem
Gaya penulisannya :• Common Style (menggunakan huruf besar di awal
dan selanjutnya huruf kecil semua)• Capitalized Common Style (menggunakan huruf
besar semua)• Outline Common Style (menggunakan nomor urut)• Narative Style (berbentuk uraian)• Gaya lain (tiap kata kunci ditulis dengan huruf besar
semua)
Flowchart
Metode untuk menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar
Tujuannya untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas dengan menggunakan simbol-simbol standar
Ada dua jenis :1. System Flowchart
• Menggambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut
2. Program Flowchart• Menggambarkan urutan logika dari suatu
prosedur pemecahan masalah• Ada dua metode :
a. Conceptual Flowchartb. Detail Flowchart
Flowchart Nassi-Schneiderman
Flowchart terstruktur yang tidak menggunakan anak panah sebagai penunjuk proses
Ada tiga macam struktur program yaitu :
1. Sequence Control2. Looping Control3. Selection Control
Selection Control
Sequence Control Looping Control
Pseudocode
Menggambarkan algoritma dengan menggunakan kode yang mirip dengan kode pemrograman yang sebenarnya
Berbasis bahasa pemrograman seperti BASIC, PASCAL atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada programmer
Aturan penulisan pseudocode :1. Satu pseudocode satu baris2. Pisahkan modul-modul atau kelompok pseudocode
dengan memberikan spasi beberapa baris untuk mempermudah pembacaan
3. Psedocode ditulis dengan huruf kapital, sedangkan komentar atau variabel dalam huruf kecil
4. Berikanlah tabulasi yang berbeda untuk penulisan pseudocode-pseudocode yang berada dalam kalang (loop) atau struktur kondisional
5. Lakukan pembatasan jumlah baris pseudocode setiap modulnya, misalnya 50 – 75 baris pseudocode per modul, sehingga tidak terlalu panjang
Contoh Soal
Kasus 1:Buatlah algoritma English Structure dan
flowchart untuk mencetak tulisan “Halo, apa kabar?”
English Structure :
Masalah : Mencetak tulisan “Halo, apa kabar?”Input : -Output : Tulisan “Halo, apa kabar?”Proses :
1. Cetak tulisan “Halo, apa kabar?”
Flowchart :
Contoh Soal
Kasus 2:Buatlah algoritma English Structure dan flowchart
untuk mencetak tulisan “Halo, apa kabar Budi?”, dimana nama Budi bisa diganti dengan nama siapa saja karena merupakan masukan dari user.
English Structure :
Masalah : Mencetak tulisan “Halo, apa kabar nama?”Input : namaOutput : Tulisan “Halo, apa kabar nama?”Proses :
1. Membaca nama yang dimasukkan user2. Cetak tulisan “Halo, apa kabar nama?”
Flowchart :
Rangkuman
Algoritma : logika berpikir sistematis & terstruktur
Algoritma tidak tergantung pada bahasa pemrograman
English Structure : narasi algoritma bahasa alami
Flowchart : bagan alir algoritma
Pseudocode : struktur algoritma menyerupai bahasa pemrograman
Latihan Soal
Kasus 1:Buatlah algoritma English Structure dan
flowchart untuk mencetak tulisan “Selamat Belajar?”
Kasus 2:Buatlah algoritma English Structure dan
flowchart untuk mencetak tulisan “Nama, Selamat Belajar?”
dimana nama merupakan masukan dari user
REFERENSI
1. Andri Kristanto. 2003. “Struktur Data dengan C++”. Yogyakarta: Graha Ilmu.
2. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET.
3. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET.
4. Heri Sismoro, Kusrini Iskandar. 2004. ”Struktur Data dan Pemrograman dengan Pascal”. Yogyakarta:ANDI OFFSET.
5. Insap Santosa. 2004. ”Struktur Data Menggunakan Turbo Pascal 6.0”. Yogyakarta: ANDI OFFSET.
6. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika.
7. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.
8. Rosa A.S., Shalahuddin M. 2010. ”Modul Pembelajaran Struktur Data”. Bandung: Modula.
9. Teddy Marcus Zakaria, Agus Prijono. 2006. ”Konsep dan Implementasi Struktur Data”. Bandung: INFORMATIKA.