algoritma pemrograman 2c - …ahmad_hidayat.staff.gunadarma.ac.id/downloads/...contoh algoritma...

32
ALGORITMA PEMROGRAMAN 2C (IT-045202:S10-TI) Pertemuan 1 AHMAD HIDAYAT 1

Upload: duongthuy

Post on 31-Jul-2019

275 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

ALGORITMA PEMROGRAMAN 2C(IT-045202:S10-TI)

Pertemuan 1

AHMAD HIDAYAT

1

Page 2: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Games Logika 2

Ada 3 buah wadah terdiri dari wadah A, wadah B dan wadah C. wadah A sudahmenampung 8 liter air dan masing-masing wadah mempunyai ukuran sbb:

wadah A mempunyai kapasitas menampung 8 liter airwadah B mempunyai kapasitas menampung 5 liter airWadah C mempunyai kapasitas menampung 3 liter air

Pertanyaan :

Bagaimana langkah dan berapa cara yang dibutuhkan agar wadah B terisi 4 liter air

dengan alat ukurnya hanya wadah A, B dan C ?

Page 3: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Jawaban• 8 5 3

A B C

• 8 0 0

• 0 5 3

• 3 5 0

• 3 2 3

• 6 2 0

• 1 5 2

• 1 4 3

3

Page 4: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Games Logika 2

Ayah Mary punya lima anak: 1. Nana, 2. Nene,

3. Nini, 4. Nono. Siapa nama anak kelima?

• Jawaban:?

• Apa anda menjawab Nunu?

• BUKAN! Tentu saja bukan. Anak kelima namanya Mary.

• Gak Percaya? Baca lagi pertanyaan nya!

4

Page 5: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Apa Itu? 5

Komputer Algoritma Program Komputer

Page 6: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Fokus utama program Komputer secara umum 6

Page 7: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Menyusun sebuah program

Untuk menyusun sebuah program yang besar dan kompleks,pemrogram membutuhkan tahapan penyusunan yang sistematis danterpadu, yaitu:

1. Definisi Masalah

2. Analisis Kebutuhan

3. Penyusunan Algoritma

4. Pengkodean/Pemrograman

5. Testing dan Debugging

6. Pemeliharaan

7. Dokumentasi

7

Page 8: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Algoritma 8

• Algoritma adalah kunci dari bidang ilmu komputer, dan pada dasarnya

setiap hari kita melakukan aktivitas algoritma. Kata algoritma berasal dari

sebutan Algorizm. (Abu Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli

matematika Uzbekistan)

• Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan

masalah logika atau matematika

• Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang

digunakan untuk memecahkan suatu permasalahan.

• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang

disusun secara sistematis dan logis.

• Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan

masalah.

Page 9: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Pembuatan algoritma harus selalu dikaitkan dengan

• Kebenaran algoritma

• Kompleksitas (lama dan jumlah waktu proses danpenggunaan memori)

9

Page 10: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Kriteria Algoritma yang baik

1. Tepat, benar, sederhana, sesuai standar

2. Logis, Terstruktur dan sistematisRangkaian proses yang berisi langkah-langkah dari suatu algoritmayang akan diproses harus ditetapkan dengan pasti, tidak berbelit-belit

3. Semua operasi terdefinisi

Batasan dari input dan output Input harus sesuai dengan jenisalgoritma yang bersangkutan dan harus menghasilkan output yang pasti.

4. Semua proses harus berakhir setelah sejumlah langkah dilakukan

5. Efektivitas & efisien

10

Page 11: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Algoritma yang baik

• “Suatu algoritma harus menghasilkan output yang tepatguna (efektif) dalam waktu yang relatif singkat danpenggunaan memori yang relatif sedikit (efisien) denganlangkah yang berhingga dan prosesnya berakhir baikdalam keadaaan diperoleh suatu solusi ataupun tidakadanya solusi”

11

Page 12: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Proses Penyelesaian Masalah 12

Page 13: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Proses Penyelesaian Masalah

13

Page 14: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Teknik Pemecahan Masalah

1. Teknik Top-Down

2. Teknik Bottom-Up

14

Page 15: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Teknik Pemecahan Masalah

1. Teknik Top-Down

• Masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalahyang lebih kecil.

• Dari kelompok masalah yang kecil tersebut di analisis. Apabiladimungkinkan maka masalah tersebut akan dipilah lagi menjadi sub bagian dan setelah itu mulai disusun langkah-langkah untukmenyelesaikan secara detail.

• Layer Aplikasi ke layer hardware

Contoh :

• Program aplikasi error karena harus update

• Program aplikasi error karena, kehilangan runtime-program

• Sistem operasi tidak berjalan normal, karena kehilangan file Registri

15

Page 16: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Teknik Pemecahan Masalah

2. Teknik Bottom-Up

• Pada teknik ini, bila ada masalah kompleks, maka pemecahan masalahdilakukan dengan menggabungkan prosedur-prosedur yang ada menjadisatu kesatuan program guna menyelesaikan masalah tersebut.

• Merupakan teknik pemecahan masalah yang mulai ditinggalkan, karenasulit untuk melakukan standarisasi proses dari prosedur-prosedur yang sudah terbentuk yang akan digabungkan.

• Layer Fisik hingga Layer Aplikasi, metode ini cocok untuk permasalahankomputer yang berkaitan dengan hardware.

Contoh :

• Komputer tidak menyala saat tombol power ditekan

• Printer tidak menyala saat tombol power ditekan

• Hard Disk tidak menampilkan Booting saat Komputer dinyalakan

16

Page 17: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

CONTOH Algoritma

Algoritma ketika ingin mengirimkan surat kepada teman, yaitu :

1. Tulis surat pada secarik kertas surat

2. Ambil sampul surat

3. Masukkan surat ke dalam sampul

4. Tutup sampul surat menggunakan perekat

5. Tempel perangko pada surat

6. Bawa surat ke kantor pos untuk di kirimkan

Page 18: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

CONTOH Algoritma

Contoh algoritma untuk menghitung luas lingkaran:

1. Masukan r (=jari-jari lingkaran)

2. Tentukan phi (=3.14)

3. L= Phi*r*r

4. Tulis L

Page 19: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Penyajian Algoritma

• Teknik tulisan

English Structure

Pseudocode

• Teknik Gambar

Metode structure chart,

Hierarchy plus input-process-output

Flowchart

Nassi Schneiderman chart

19

Page 20: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Penyajian Algoritma

English Structure:

• Menggunakan bahasa manusia (Inggris/Indonesia)

• Menggambarkan suatu algoritma yang akandikomunikasikan kepada pemakai sistem

Contoh :

• Hitung keliling persegi panjang dengan menggunakarumus 2 x (panjang + lebar)

20

Page 21: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Penyajian Algoritma

Pseudocode

• Pseudo= imitasi atau mirip / menyerupai

• Code=program

• Kode yang mirip dengan kode pemrograman yang sebenarnya

• Menggambarkan Algoritma yang akan dikomunikasikan kepadaprogrammer

• Lebih rinci dari English Structure (mis: dalam menyatakan tipe datayang digunakan)

Contoh : keliling ← 2 x (panjang + lebar)

21

Page 22: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Penyajian Algoritma

Structure Chart (bagan terstruktur)

• Digunakan untuk mendefinisikan dan mengilustrasikan organisasidari system secara berjenjang

• Berbentuk modul dan submodul

• Menunjukkan hubungan elemen data dan elemen control sertahubungan antar modul

Contoh : Flowchart

22

Page 23: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Aturan Penulisan Teks Algoritma

Setiap algoritma akan selalu terdiri dari :

• Judul (header)

• Deklarasi (kamus)

• Deskripsi Algoritma

23

Page 24: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Aturan Penulisan Teks Algoritma

JUDUL ALGORITMA Algoritma NAMA ALGORITMA

• {Penjelasan tentang algoritma, berisi uraian singkat carakerja program, kondisi awal dan akhir dari program} spesifikasi algoritma

24

Page 25: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Aturan Penulisan Teks Algoritma

DEKLARASI

• Semua nama yang dipakai, meliputi nama file, nama variable, nama konstanta, nama prosedur serta nama fungsi

DESKRIPSI

• Semua langkah/aksi algoritma

25

Page 26: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Contoh

• 1). Kepala algoritma: Algoritma Luas_Lingkaran

• { Menghitung luas lingkaran dengan ukuran jari-jaritertentu .Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke pirantikeluaran }

26

Page 27: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Contoh 27

2) Deklarasi algoritma:

• DEKLARASI { nama konstanta }

• const PHI = 3.14; { Nilai phi = 22/7 }

• { nama peubah } var R : real; { input jejari lingkaran bilangan riil }l_Lingkaran : real; { luas lingkaran bilangan riil }

• { nama sub program } procedure TUKAR (input/output A:integer, input/output B:integer)

• {Mempertukankan nilai A dan B.Parameter A dan B sudah terdefinisinilainya.Setelah pertukaran, A berisi nilai B dan B berisi nilai A }

Page 28: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Contoh 28

3) Deskripsi

• { Baca data jejari lingkaran R.Jika R <= 0 tulis pesan data salah, selain itu hitung luas ingkaran. Tampilkan luaslingkaran. } baca(R); jika R <= 0 then tulis ("Data salah !") selain itul_Lingkaran = PHI x R x R; tulis(l_Lingkaran); algoritma:

Page 29: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Bahasa Pemrograman

• Komputer mengerjakan transformasi data berdasarkankumpulan perintah - program yang telah dibuat olehpemrogram.

• Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.

• Bahasa pemrograman merupakan notasi untukmemberikan secara tepat program komputer.

29

Page 30: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Generasi bahasa pemrograman

• Generasi I: machine language • Generasi II: assembly language : Asssembler• Generasi III: high-level programming language: C, PASCAL, dsb. • Generasi IV: 4 GL (fourth-generation language): SQL

30

Page 31: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

Jenis Bahasa Pemrograman 31

Page 32: ALGORITMA PEMROGRAMAN 2C - …ahmad_hidayat.staff.gunadarma.ac.id/Downloads/...CONTOH Algoritma Algoritma ketika ingin mengirimkan surat kepada teman, ... Bawa surat ke kantor pos

TERIMA KASIH

• Sekian

32