Anda di halaman 1dari 22

Algoritma & Struktur Data

Topik 1
Konsep Dasar Algoritma

Putu Manik Prihatini, ST., MT.


19800317 200212 2 001
manikprihatini@gmail.com
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 Flowchart
b. Detail Flowchart
Flowchart Nassi-Schneiderman

 Flowchart terstruktur yang tidak menggunakan anak panah


sebagai penunjuk proses

 Ada tiga macam struktur program yaitu :

1. Sequence Control
2. Looping Control
3. Selection Control
Sequence Control Looping Control

Selection 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 baris
2. 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 : nama
Output : Tulisan “Halo, apa kabar nama?”
Proses :
1. Membaca nama yang dimasukkan user
2. 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.

Anda mungkin juga menyukai