kontrak perkuliahan & pendahuluan · kontrak perkuliahan & pendahuluan algoritma dan...

41
KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika, S.T., M.T.I

Upload: others

Post on 25-Aug-2020

22 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

KONTRAK PERKULIAHAN & PENDAHULUAN

ALGORITMA DAN PEMROGRAMAN [IS611083]

Koordinator Mata Kuliah :Fathushahib, S.Kom., M.KomTim Dosen: Yudha Saintika, S.T., M.T.I

Page 2: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Let Me Introduce Myself: Yudha Saintika

• Born in Purwokerto – Central Java, December 21, 1989, married.

• Lecturer – Information System, IT Telkom Purwokerto (2017-Now)

• IT Consultant – Huyula Asri Indonesia, Gorontalo (2015-Now)

• IT Operation Team Leader – PT. Datacomm Diangraha, Jakarta (2012-2017)

• Master of Information Technology – University of Indonesia, Jakarta (2016)

• Bachelor of Informatics Engineering – Telkom University, Bandung (2011)

• Oracle Certified Expert – Database SQL

• Oracle Certified Professional – MySQL 5 Developer

• Oracle Certified Associate – Java SE 7 Developer

• Microsoft Certified Solution Associate – Windows Server 2012, Windows 7

• Member of AISINDO

• Member of APIC

• Member of ACM

• Contact Me on: 085624467025 (WA)/ 082261924291

• Send Me email to: [email protected]

• Visit My Lecturer Blog on: http://yudha.dosen.ittelkom-pwt.ac.id

Page 3: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Publikasi Penelitian

• Identifikasi Morfologi dan Klasifikasi Citra Wortel berbasis pengolahan citra digital menggunakan metode korelasi parametric (Repository Tel-U, 2011)

• Evaluasi manajemen layanan TI menggunakan kerangka kerja COBIT 5 dan ITIL V3: Studi kasus PT Datacomm Diangraha (Repository UI, 2016)

• Perancangan IT Balanced Scorecard dalam Penyusunan Strategic Map Perguruan Tinggi (Jurnal Riset Sains dan Teknologi UMP, 2018)

• Implementasi Metode Dynamic Programming Pada Sistem Pendukung Keputusan Untuk Menentukan Menu Diet bagi Penderita Diabetes (Seminar Nasional Sendi-U ke-4, 2018)

• Implementasi Metode Weighted Product dalam Sistem Pendukung Keputusan Pemilihan Jenis Makanan Berdasarkan Jenis Olahraga (Seminar Nasional Centive, 2018)

• Penerapan Metode Analytical Hierarchy Process (AHP) dalam Pemilihan Susu Formula (Seminar Nasional Sendi-U ke-4, 2018)

• Perencanaan Strategis dan Integrasi E-Government di Kabupaten Banyumas (Jurnal Simantec, 2018)

• Analisis Strength - Weakness Dalam Implementasi Pengembangan IT Masterplan Menggunakan Metode Value Chain (Jurnal Sistemasi, 2018)

• Analisis As-is dalam Perencanaan Strategis Sistem Informasi di Kementerian Perhubungan (Jurnal INISTA IT Telkom, 2018)

Page 4: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

CAPAIAN PEMBELAJARAN MATA KULIAH

“Mahasiswa S1 Sistem Informasi mampu membuat algoritma dalam bentuk

pseudocode dan flowchart serta membangun program untuk menyelesaikan permasalahan

yang sederhana/mudah.”

Page 5: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Kontrak Perkuliahan

Kontrak Perkuliahan

Page 6: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Buku Referensi

Pustaka Wajib: Pustaka Penunjang:

Page 7: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Sub-Capaian Pembelajaran MK

“Mahasiswa mampu menjelaskan dasar-dasar algoritma dan pemrograman.”

Page 8: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Persoalan/Masalah

Page 9: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Persoalan/Masalah

• [KBBI] “Sesuatu yang harus diselesaikan (dipecahkan)”

• [Neopolitan (1996)] “Pertanyaan atau tugas yang harus dicarijawabannya”

Page 10: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Contoh Persoalan/Masalah

• “Diberikan setumpuk kartu. Urutkan kartu-kartu tersebut supayatersusun menaik berdasarkan nomornya sedemikian sehingga nomorkecil di atas dan nomor besar di bawah”

• “Diberikan sebuah tabel berisi peserta ujian yang lulus seleksi. Apakah ada peserta ujian dengan nomor X di dalam daftar tersebut?”

• “Diberikan sebuah senarai (list) yang berisi daftar kota-kota di duniadengan temperature udaranya saat ini. Tentukan kota dengantemperatur tertinggi.”

• “Diketahui sebidang tanah berbentuk persegi panjang denganpanjang dan lebar tertentu (dalam satuan meter). Hitunglah luastanah tersebut!”

Page 11: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Persoalan/Masalah dalam bentuk parameter

• [Persoalan pengurutan] Diberikan sebuah senarai (list) S yang berisi n buah nilai. Urutkan S sehingga tersusun dalam urutan menaik!

• [Persoalan pencarian] Diberikan sebuah senarai (list) S yang berisi n buah nilai. Apakah sebuah nilai x terdapat di dalam S?

• [Persoalan mencari nilai terbesar] Diberikan sebuah senarai (list) S yang berisi n buah nilai. Carilah nilai terbesar di dalam S!

• [Persoalan menghitung luas persegi panjang] Diberikan sebuahpersegi panjang dengan panjang a dan lebar b (keduanya dalamsatuan meter). Hitung luas persegi panjang tersebut.

Setiap persoalan umumnya mengandung satu atau lebih parameter.Pemberian nilai untuk semua parameter persoalan dinamakaninstansiasi persoalan, dan jawaban terhadap instansiasi persoalandisebut solusi.

Page 12: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Persoalan/Masalah dalam bentuk parameter

15 4 8 11 2 10 19

2 4 8 10 11 15 19

S = [15,4,8,11,2,10,19], n = 7

Sebelum terurut

Setelah terurut

Page 13: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Sejarah Algoritma

Al Khawarizmiahli matematika, astronomi

• Algoritma adalah jantung ilmukomputer/informatika

• Algoritma berasal dari kataalgorism yang artinya prosesmenghitung dengan angka arab.

• Perubahan kata algorism menjadialgorithm muncul karena kataalgorism sering dikelirukandengan arithmetic, sehinggaakhiran –sm berubah menjadi -thm

Page 14: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma

Definisi :

Urutan langkah-langkah untuk memecahkanmasalah yang disusun secara sistematis dan logis.

Kamus Besar Bahasa Indonesia:Algoritma adalah urutan logis pengambilan putusanuntuk pemecahan masalah.

Algoritma dibutuhkan untuk memerintah komputermengambil langkah-langkah tertentu dalammenyelesaikan masalah.

Page 15: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Persoalan Kartu

1. Cari kartu dengan nomor terkecil, taruh kartu tersebutpada posisi paling atas.

2. Cari kartu dengan nomor terkecil kedua, taruh kartutersebut pada posisi kedua dari atas.

3. Cari kartu dengan nomor terkecil ketiga, taruh kartutersebut pada posisi ketiga dari atas.

4. …. Demikian seterusnya sampai tersisa satu kartusaja (tidak perlu diurutkan lagi)

Page 16: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Persoalan Kartu (2)

1. Cari kartu dengan nomor terkecil di antara kartu yang tersisa.

2. Taruh kartu tersebut pada posisi yang tepat.

3. Ulangi kembali dari langkah 1 dan 2 sampai tersisasatu kartu saja.

Page 17: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Pertukaran isi Gelas

• Tinjau sebuah masalah sederhana yakni mempertukarkanisi dari dua buah gelas. Gelas A berisi air kopi dan gelas Bberisi air susu.

• Kita ingin mempertukarkan isi kedua gelas itu sedemikiansehingga gelas A akan berisi air susu dan gelas B berisi airkopi

Page 18: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Pertukaran isi Gelas - Solusi

Page 19: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Persoalan Mengambil Air 4 Liter

Kita diperintahkan untuk mendapatkan air

sebanyak 4 liter (tidak kurang tidak lebih)

dari sebuah danau. Sedangkan kita hanya

punya alat dua buah ember masing-

masing berkapasitas 5 liter dan 3 liter.

Nah, bagaimana caranya mendapatkan air

4 liter dengan tepat tanpa menggunakan

alat lain maupun hanya mengira-ira.

Page 20: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Algoritma Pertukaran isi Gelas

• Isi Penuh ember 3-liter dengan air.

• Tuangkan air dari ember 3-liter ke dalam ember 5 liter. {ember 5liter sekarang berisi 3 liter air}.

• Isi penuh ember 3 liter dengan air.{ember 3 liter berisi 3 liter air}

• Tuangkan air dari ember 3 liter ke dalam ember 5 liter hinggapenuh. {di dalam ember 3 liter sekarang tersisa 1 liter air}

• Buang seluruh air dari ember 5 liter. {ember 5 liter kosong}

• Tuangkan air dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter sekarang berisi 1 liter air}

• Isi penuh ember 3 liter dengan air. {ember 3 liter berisi 3 liter air}

• Tuangkan air dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter sekarang berisi 1+3= 4 liter air}

Page 21: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Karakteristik Algoritma

• Algoritma harus berhenti setelah mengerjakan sejumlahlangkah terbatas.

• Setiap langkah harus didefinisikan dengan tepat dan tidakboleh berarti dua (ambiguous).

Contoh pernyataan “bagilah p dengan sejumlah beberapabuah bilangan bulat positif” dapat bermakna ganda. Berapakah yang dimaksud dengan beberapa? akan lebihjelas jika algoritma tersebut ditulis “bagilah p dengan 10 buah bilangan bulat positif”

• Algoritma memiliki nol atau lebih masukan (input).

• Algoritma mempunyai nol atau lebih luaran (output).

• Algoritma harus sangkil (effective). Setiap langkah harussederhana sehingga dapat dikerjakan dalam sejumlah waktuyang masuk akal

Page 22: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Syarat Algoritma Baik?

Tingkat kepercayaannya tinggi (realibility) Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.

Pemrosesan yang efisien (cost rendah)

Proses harus diselesaikan secepat mungkin danfrekuensi kalkulasi yang sependek mungkin.

Sifatnya general

Bukan sesuatu yang hanya untuk menyelesaikan satukasus saja, tapi juga untuk kasus lain yang lebihgeneral.

Page 23: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Syarat Algoritma Baik? (2)

Bisa dikembangkan (expandable)

Haruslah sesuatu yang dapat kita kembangkan lebihjauh berdasarkan perubahan requirement yang ada.

Mudah dimengerti

Siapapun yang melihat, dia akan bisa memahamialgoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).

Portabilitas yang tinggi (portability)

Bisa dengan mudah diimplementasikan di berbagaiplatform komputer.

Precise (tepat, betul, teliti)

Page 24: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Syarat Algoritma Baik? (3)

Efektif

Tidak boleh ada instruksi yang tidak mungkindikerjakan oleh pemroses yang akanmenjalankannya.

Harus terminate

Jalannya algoritma harus ada kriteria berhenti.

Output yang dihasilkan tepat.

Page 25: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Program dan Pemrograman

• Algoritma baru efektif jika dilaksanakan oleh sebuah pemroses(processor). Pemroses itu bisa manusia, komputer, robot, mesin, dsb.

• Supaya komputer mengerti instruksi yang dibacanya, maka instruksitersebut harus ditulis dalam bahasa yang dipahami oleh komputer.

• Algoritma yang ditulis dalam bahasa komputer disebut program.

• Bahasa komputer yang digunakan untuk menulis program disebutbahasa pemrograman, sedangkan orang yang menulis programcomputer dinamakan pemrogram (programmer). Kegiatan mulai darimendesain hingga menulis program disebut pemrograman.

Page 26: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Program dan Pemrograman

Belajar Pemrograman ≠

Belajar Bahasa Pemrograman

Page 27: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Program dan Pemrograman

Page 28: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Bagaimana Komputer Menjalankan Program?

Pirantimasukan dan

keluaran

Unit Pemroses

Utama (CPU)Memori

Page 29: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Bahasa Pemrograman

• Hingga saat ini terdapat puluhan bahasa pemrograman seperti: bahasa Assembly, Fortran, Cobol, Ada, PL/I, Algol, Pascal, Basic, C, C++, C#, Java, R, Arduino, PHP, Prolog, LISP, Phyton, dll

• Berdasarkan tujuan aplikasinya terdapat 2 jenis:

a. Bahasa pemrograman bertujuan khusus; misal Cobol (untuk bisnisdan administrasi), Fortran (komputasi ilmiah), PHP(untukpemrograman web), dll

b. Bahasa pemrograman bertujuan umum; dapat digunakan untukberbagai aplikasi, contoh Pascal, Basic, C, C++, C#, Java.

• Berdasarkan “kedekatan” bahasa pemrograman dengan bahasaalami (manusia) dikelompokkan menjadi:

a. Bahasa tingkat rendah (low level language)

b. Bahasa tingkat tinggi (high level language)

Page 30: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Tahapan Pelaksanaan Program oleh Komputer

Algoritma

Program dalam Bahasa Tingkat Tinggi

Program dalam Bahasa Tingkat Rendah

Translasi

Kompilasi

Interpretasi oleh CPU

Operasi (baca, tulis, hitung, dsb)

Page 31: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Notasi Algoritma

Notasi 1: Menggunakan langkah-langkah algoritma dalam kalimatdeskriptif

Contoh:

Menghitung rata-rata tiga buah data

Algoritma dengan struktur bahasa Indonesia:

1) Baca bilangan a, b, dan c

2) Jumlahkan ketiga bilangan tersebut

3) Bagi jumlah tersebut dengan 3

4) Tulis hasilnya

Page 32: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Notasi Algoritma (2)

Notasi 2: Menggunakan bagan alir (flowchart)

Page 33: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Notasi Algoritma (3)

Notasi 2: Menggunakan bagan alir (flowchart)

Contoh:

Menghitung Luas persegi panjang

Page 34: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Notasi Algoritma (4)

Notasi 3: Menggunakan pseudocode

Contoh:

Menghitung Luas persegi panjang

Page 35: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Pemrograman Prosedural

• Prosedur menurut KBBI:

1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.

2. Metode langkah demi langkah secara eksak dalam memecahkan suatumasalah.

• Pada pemrograman prosedural, program dibedakan antara bagian data dan bagian instruksi.

• Selain paradigma pemrograman prosedural, paradigma pemrogramanyang popular saat ini adalah pemrograman berorientasi objek (OOP). Pada paradigma ini data dan instruksi dibungkus menjadi satu (kelas).

Page 36: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Latihan

1. Perhatikan persoalan petani, kambing, serigala, dam sayur kubis.

Ada seorang petani yang membawa seekor

kambing, seekor serigala, dan sekeranjang

sayur. Mereka berada di tepi sebuah pulau

dan ingin menyebrang ke pulau seberang. Di

tepi pulau itu hanya ada sebuah perahu yang

cukup untuk dua penumpang. Situasinya

dipersulit dengan kenyataan bahwa kambing

tidak boleh ditinggal berdua dengan

serigala tanpa adanya petani karena serigala

akan memakan kambing, kemudian kambing

tidak boleh ditinggal bersama sayur, karena

kambing akan memakan sayurnya.

Kemudian, yang bisa menggunakan perahu

hanyalah petani. Bagaimana caranya agar

mereka semua bisa menyebrang ke pulau

seberang dengan utuh?

Page 37: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Latihan

2. Buatlah algoritma menggunakan flowchart untuk menghitung luaslingkaran!

3. Buatlah algoritma menggunakan pseudocode untuk menentukanbilangan yang diinput adalah bilangan ganjil/genap!

Page 38: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Latihan

Page 39: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

1. Petani menyebrangkan kambing dari sisi A ke sisi B

{sisi A: (-,S,-,Y) sisi B: (P,-,K,-)

2. Petani menyeberang kembali dari B ke A

{sisi A: (P,S,-,Y) sisi B: (-,-,K,-)}

3. Petani menyeberangkan serigala dari sisi A ke B

{sisi A: (-,-,-,Y) sisi B: (P,S,K,-)}

4. Petani menyebrangkan kambing dari sisi B ke A

{sisi A: (-,-,-,Y) sisi B: (P,S,K,-)}

5. Petani menyebrangkan sayur dari sisi A ke B

6. Petani menyebrang sendiri dari B ke A

7. Petani menyebrangkan kambing dari sisi A ke B

Page 40: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,

Kesimpulan

• Untuk memahami apa itu algoritma terlebih dahulu kita harus memahami

persoalan.

• Algoritma adalah urutan langkah-langkah untuk menyelesaikan suatu persoalan

• Algoritma memiliki beberapa karakteristik supaya dapat disebut sebagai

algoritma yang baik.

• Algoritma yang ditulis dalam bahasa komputer dinamakan program dan kegiatan

mulai dari mendesain hingga menulis program dinamakan pemrograman.

• Bahasa pemrograman menurut tujuan aplikasinya dapat dibedakan menjadi

bahasa pemrograman yang bertujuan khusus dan umum sedangkan menurut

kedekatan dengan bahasa manusia dibagi menjadi bahasa tingkat rendah dan

bahasa tingkat tinggi.

• Notasi algoritma dapat dituliskan menggunakan kalimat deskriptif, pseudocode,

dan flowchart

Page 41: KONTRAK PERKULIAHAN & PENDAHULUAN · KONTRAK PERKULIAHAN & PENDAHULUAN ALGORITMA DAN PEMROGRAMAN [IS611083] Koordinator Mata Kuliah : Fathushahib, S.Kom., M.Kom Tim Dosen: Yudha Saintika,