Anda di halaman 1dari 22

Pertemuan 3 : Computational Thinking -

Algoritma dan Struktur data

Bahasa Pemrograman
Agung Nugroho, M.Kom Teknik Informatika – S1
Fakultas Teknik
Universitas Pelita Bangsa

Agung Nugroho, S.Kom, M.Kom

1994 | SDN Pulau Panggung, OKU Sumsel

1997 | MTs Lab Fak Tarbiah IAIN SUKA, Yogyakarta

2000 | SMK PIRI 1, Yogyakarta

2004 | Ilmu Komputer, Universitas Ahmad Dahlan, Yogyakarta

2016 | Magister Komputer, STMIK Eresha, Jakarta

PHP 90%

2012 - Present | Freelance Web Developer 2011 - 2012 | Web HTML + CSS 90%Android 85%Python 83%

Developer at BP Indonesia

2010 - 2011 | OSS Core Engineer at PT Ericsson Indonesia


C# 83%
2008 - 2009 | Radio Database Planner at PT. NextWave subcon NSN 2005 - 2008 | Software Developer at PT

Gamatechno Indonesia

➔ www.linkedin.com/in/kangmasagung

2004 - 2005 | Web Programmer at PT Reftindo Sarana ➔ www.fb.me/agung.n ➔ www.koding.web.id


Computational Thinking
Algoritma dan Struktur data Pertemuan 3

?
itu
Apakah
Algoritma
Algoritma
?
Apakah
mempelajari
memerlukan
pengetahuandasar
Matematika
ApaituAlgoritma?
ALGORITMA adalah langkah-langkah yang diambil alam
menyelesaikan suatu pekerjaan.

Langkah-langkah harus tersusun secaraLOGIS


agar dapat menyelesaikan pekerjaan denganbenar.

Algoritma ditulis dalam suatu bahasa yang disebutBahasa


Pemrograman.
Algoritma
+
StrukturDa
ta=
Program
Algoritma
Algoritma adalah sekumpulan instruksi, yangapabila
Definisi dijalankan, akan
menyelesaikan suatutugastertentu.

Menurut Donald E. Knuth setiap algoritma harus memenuhi


kriteriasebagaiberikut:

1) Input: algoritma dapat memiliki nol atau lebih inputan dari luar. 2) Output:
algoritma harus memiliki minimal satu buah output keluaran.3) Definiteness
(pasti): algoritma memiliki instruksi-instruksi yangjelasdantidak ambigu.
4) Finiteness (ada batas): algoritma harus memiliki titik berhenti
(stoppingrole).
5) Effectiveness (tepat dan efisien): algoritma sebisa
mungkinharusdapatdilaksanakan dan efektif. Contoh instruksi yang tidak efektif
adalah: A=A+ 0 atau A = A * 1
Struktur Dasar
AlgoritmaAlgoritma berisi langkah-langkah penyelesaiansuatu
masalah.
Langkah-langkah tersebut dapat beruparuntunan aksi
(sequence), pemilihanaksi (selection),
pengulangan aksi (iteration) atau kombinasi dari
ketiganya.

Struktur Pemilihanselection
02 Digunakan untukprogram
Struktur Runtunan sequence
01
Digunakan untuk program
yang menggunakanpemilihan
yang pernyataannya
sequential atau urutan. atau penyeleksiankondisi.

Struktur Perulangan
03
iteration
Digunakan
untuk program yang pernyataannya akan
dieksekusi berulang-ulang.
Penyajian
Penyajian algoritma secara garis besar bisa dalam2bentukpenyajian
yaitu tulisan dan gambar.
Algoritma
Algoritma yang disajikan dengan tulisan yaitu denganstrukturbahasa
tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan
pseudocode. Sedangkan algoritma disajikan dengangambar,misalnya
dengan flowchart.

Flowchart atau diagram alir adalah sebuah jenis diagramyang


Flowchart
mewakili algoritma, alir kerja atau proses, yang menampilkan
Diagram Alir
langkah-langkah dalam bentuk simbol-simbol grafis, danurutannya
dihubungkan dengan panah.

Diagram ini mewakili ilustrasi atau penggambaranpenyelesaian


masalah. Diagram alir digunakan untuk menganalisa, mendesain,
mendokumentasi atau memanajemen sebuah prosesatauprogram
di berbagai bidang

Flowchart
Diagram Alir

● Terminator: menyatakan titik awal atautitikakhir


diagram alir
● input/output: juga disebut data, digunakanuntuk
operasi pemasukan data atau penampilandata
● Proses : menyatakan sebuah proses, misalnyaproses
perhitungan luas sebuah persegi panjang.
● Proses terdefinisi menyatakan sub-prosedur/sub-
proses lain.
● Pengambilan Keputusan digunakanuntukmelakukan
pengambilan keputusan
● Penghubung digunakan untuk menghubungkanke
berbagai bagian dalamdiagramalir.

PseudocodePseudocode, deskripsi dari algoritma pemrogramanyangditujukan agar


dapat dibaca dan dipahami olehmanusia
dengan mudah.

Pseudocode biasanya tidak menggunakanelemencukup


Struktur Pseudocode
kebutuhanpemahamanmanusiadari suatu algoritma,
Judul
seperti deklarasi variabel, kodeataupun
detail yang tidak perlu untuk
{Berisi Judul daripada Algoritma
subrutin untuk sistem yang bersifat spesifik
tersebut}
Deskripsi denganmudah memahami, dibandingkan
Tujuan pseudocode adalah agar manusia dapat denganmenggunakan
{Berisi Deklarasi Variabel atau
Konstanta} Implementasi aturanumumyang
bahasa pemrograman yang umumnya

digunakanPseudocode umumnya tidak mengikuti

{Berisi Inti daripada Algoritma


tersebut} sistematik, meskipunpenulisumumnya
berlaku pada suatu bahasa pemrograman, menggunakan tata cara ataupunsintaksis
artinyatidakadasuatu bentuk standar yang

Pseudocode

Contoh:
Notasi Pseudocode
A ←5
← operator assignment B ←4
Read menyatakan input
T ←A+ B
Write menyatakan output
for 1 to n untuk perulangan
if else untuk seleksi
if T > 10Write(T)
Contoh Kasus
Menjumlahkan dua buah bilangan

DESKRIPSI:
Diketahui dua buah bilangan masing-masing bernilai 5dan4.
Susun algoritma yang ditulis dalam Bahasa C++, untukmencetak total
kedua buah bilangan tersebut.
Contoh Kasus
DESKRIPSI:
Menjumlahkan dua buah
Diketahui dua buah bilangan masing-masing bernilai 5dan4.
bilangan
Susun algoritma yang ditulis dalamBahasa C++, untukmencetak
total kedua buah bilangan tersebut.
umum / pseudocode

Start
#include<iostream.h>
void main()
A=5B=4
A←5
Algoritma dalambahasaC++ T=A+B
Algoritma secara { int A,B,T;
B ← 4 A = 5;
T←A+B
Write T End WRITE(T)
B = 4; T = A + B; cout << T; }

Tahapan Pemrograman
Langkah umum pembuatan program

01 Definisikan Masalah
05 Uji dan Verifikasi Program

Buat Algoritma dan Struktur


02
06 Dokumentasi Program
Cara Penyelesaian
03 Menulis Program
07 PemeliharaanProgram

04 Mencari Kesalahan
Contoh Kasus
Menghitung luas dan keliling lingkaran

DESKRIPSI:
1. Masukkan jari-jari lingkaran (r) 2. Hitung luas lingkaran dengan

rumus L = * r *r 3. Hitung keliling lingkaran dengan rumus K=2**r4.


Tampilkan luas lingkaran 5. Tampilkan keliling lingkaran

Latihan
Mendeskripsikan alur Algoritma

Buat Algoritma dalam bentuk flowchart danpseudocode


untuk:

1. Menghitung luas persegi panjang 2. Mengetahui suatu


bilangan adalah genap/ganjil 3. mencari bilangan terbesar
dari dua bilanganyangdiinputkan
Terimakasih
Agung Nugroho
agung@pelitabangsa.ac.id
www.koding.web.id

Anda mungkin juga menyukai