Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
ALGORITMA DAN PEMROGRAMAN [IS6110102]
Pengantar Algoritma dan Pemrograman ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I Sisilia Thya Safitri, S.T.,M.T
2
Let Me Introduce Myself: Yudha Saintika
Born in Purwokerto – Central Java, December 21, 1989, married. IT Operation Team Leader – PT. Datacomm Diangraha, Jakarta ( ) Lecturer – Information System, IT Telkom Purwokerto (2017-Now) IT Consultant – Huyula Asri Indonesia, Gorontalo (2015-Now) Master of Information Technology – University of Indonesia, Jakarta (2016) Bachelor of Informatics Engineering – Telkom University, Bandung (2011) Oracle Certified Professional – MySQL 5 Developer Oracle Certified Expert – Database SQL Oracle Certified Associate – Java SE 7 Developer Microsoft Certified Solution Associate – Windows Server 2012, Windows 7 Contact Me on: Send Me to:
3
CAPAIAN PEMBELAJARAN MATA KULIAH
“Setelah mengikuti mata kuliah Algoritma dan Pemrograman, Mahasiswa S1 Informatika mampu membuat algoritma dalam bentuk pseudocode dan flowchart serta membangun program untuk menyelesaikan permasalahan yang sederhana/mudah.”
4
Kontrak Perkuliahan UTS = 25% UAS = 25% Tugas = 20% Presensi = 10%
Kuis =10% Keaktifan = 10% Keterlambatan maksimal 15 menit. Lebih dari itu boleh masuk tetapi tidak di absen Tidak makan/minum di dalam kelas Tidak membuka laptop kecuali diminta
5
Kontrak Praktikum Pre Test = 10% Post Test = 30% Laporan = 25%
Tugas = 25% Kehadiran = 10% Keterlambatan maksimal 15 menit. Lebih dari 15 menit, boleh ikut praktikum tetapi tidak di absen Plagiat dilihat dari waktu pengumpulan. Jika waktu pengumpulan sama, maka nilai dibagi sejumlah mahasiswa yang sama Laporan di ketik sesuai dengan format yang telah di tentukan
6
Buku Referensi Pustaka Wajib: Pustaka Penunjang:
7
Sub-Capaian Pembelajaran MK
“Mahasiswa mampu menjelaskan dasar- dasar algoritma dan pemrograman.”
8
Persoalan/Masalah
9
Persoalan/Masalah [KBBI] “Sesuatu yang harus diselesaikan (dipecahkan)” [Neopolitan (1996)] “Pertanyaan atau tugas yang harus dicari jawabannya”
10
Contoh Persoalan/Masalah
“Diberikan setumpuk kartu. Urutkan kartu-kartu tersebut supaya tersusun menaik berdasarkan nomornya sedemikian sehingga nomor kecil di atas dan nomor besar di bawah” “Diberikan sebuath tabel berisi peserta ujuan yang lulus seleksi. Apakah ada peserta ujian dengan nomor X di dalam daftar tersebut?” “Diberikan sebuah senarai (list) yang berisi daftar kota-kota di dunia dengan temperature udaranya saat ini. Tentukan kota dengan temperature tertinggi.” “Diketahui sebidang tanah berbentuk persegi panjang dengan panjang dan lebar tertentu (dalam satuan meter). Hitunglah luas tanah tersebut!”
11
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 sebuah persegi panjang dengan panjang a dan lebar b (keduanya dalam satuan meter). Hitung luas persegi panjang tersebut. Setiap persoalan umumnya mengandung satu atau lebih parameter. Pemberian nilai untuk semua parameter persoalan dinamakan instansiasi persoalan, dan jawaban terhadap instansiasi persoalan disebut solusi.
12
Persoalan/Masalah dalam bentuk parameter
S = [15,4,8,11,2,10,19], n = 7 Sebelum terurut 15 4 8 11 2 10 19 Setelah terurut 2 4 8 10 11 15 19
13
ahli matematika, astronomi
Sejarah Algoritma Algoritma adalah jantung ilmu computer/informatika Algoritma berasal dari kata algorism yang artinya proses menghitung dengan angka arab. Perubahan kata algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi -thm Al Khawarizmi ahli matematika, astronomi
14
Algoritma Definisi : Urutan langkah-langkah untuk memecahkan masalah yang disusun secara sistematis dan logis. Kamus Besar Bahasa Indonesia: Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah.
15
Algoritma Persoalan Kartu
Cari kartu dengan nomor terkecil, taruh kartu tersebut pada posisi paling atas. Cari kartu dengan nomor terkecil kedua, taruh kartu tersebut pada posisi kedua dari atas. Cari kartu dengan nomor terkecil ketiga, taruh kartu tersebut pada posisi ketiga dari atas. …. Demikian seterusnya sampai tersisa satu kartu saja (tidak perlu diurutkan lagi)
16
Algoritma Persoalan Kartu
Cari kartu dengan nomor terkecil, taruh kartu tersebut pada posisi paling atas. Cari kartu dengan nomor terkecil kedua, taruh kartu tersebut pada posisi kedua dari atas. Cari kartu dengan nomor terkecil ketiga, taruh kartu tersebut pada posisi ketiga dari atas. …. Demikian seterusnya sampai tersisa satu kartu saja (tidak perlu diurutkan lagi)
17
Algoritma Persoalan Kartu (2)
Cari kartu dengan nomor terkecil di antara kartu yang tersisa. Taruh kartu tersebut pada posisi yang tepat. Ulangi kembali dari langkah 1 dan 2 sampai tersisa satu kartu saja.
18
Algoritma Pertukaran isi Gelas
Tinjau sebuah masalah sederhana yakni mempertukarkan isi dari dua buah gelas. Gelas A berisi air kopi dan gelas B berisi air susu. Kita ingin mempertukarkan isi kedua gelas itu sedemikian sehingga gelas A akan berisi air susu dan gelas B berisi air kopi
19
Algoritma Pertukaran isi Gelas - Solusi
20
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.
21
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 hingga penuh. {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}
22
Karakteristik Algoritma
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Setiap langkah harus didefinisikan dengan tepat dan tidak boleh berarti dua (ambiguous). Contoh pernyataan “bagilah p dengan sejumlah beberapa buah bilangan bulat positif” dapat bermakna ganda. Berapakah yang dimaksud dengan beberapa? akan lebih jelas jika algoritma tersebut ditulus “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 harus sederhana sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal
23
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 dan frekuensi kalkulasi yang sependek mungkin. Sifatnya general Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
24
Syarat Algoritma Baik? (2)
Bisa dikembangkan (expandable) Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada. Mudah dimengerti Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola). Portabilitas yang tinggi (portability) Bisa dengan mudah diimplementasikan di berbagai platform komputer. Precise (tepat, betul, teliti)
25
Syarat Algoritma Baik? (3)
Efektif Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya. Harus terminate Jalannya algoritma harus ada kriteria berhenti. Output yang dihasilkan tepat.
26
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 instruksi tersebut harus ditulis dalam bahasa yang dipahami oleh komputer. Algoritma yang ditulis dalam bahasa komputer disebut program. Bahasa komputer yang digunakan untuk menulis program disebut bahasa pemrograman, sedangkan orang yang menulis program computer dinamakan pemrogram (programmer). Kegiatan mulai dari mendesain hingga menulis program disebut pemrograman.
27
Program dan Pemrograman
Belajar Pemrograman ≠ Belajar Bahasa Pemrograman
28
Program dan Pemrograman
29
Bagaimana Komputer Menjalankan Program?
Piranti masukan dan keluaran Unit Pemroses Utama (CPU) Memori
30
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: Bahasa pemrograman bertujuan khusus; misal Cobol (untuk bisnis dan administrasi), Fortran (komputasi ilmiah), PHP(untuk pemrograman web), dll Bahasa pemrograman bertujuan umum; dapat digunakan untuk berbagai aplikasi, contoh Pascal, Basic, C, C++, C#, Java. Berdasarkan “kedekatan” bahasa pemrograman dengan bahasa alami (manusia) dikelompokkan menjadi: Bahasa tingkat rendah (low level language) Bahasa tingkat tinggi (high level language)
31
Tahapan Pelaksanaan Program oleh Komputer
Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi Program dalam Bahasa Tingkat Rendah Interpretasi oleh CPU Operasi (baca, tulis, hitung, dsb)
32
Notasi Algoritma Menghitung rata-rata tiga buah data
Notasi 1: Menggunakan langkah-langkah algoritma dalam kalimat deskriptif 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
33
Notasi Algoritma (2) Notasi 2: Menggunakan bagan alir (flowchart)
34
Notasi Algoritma (3) Menghitung Luas persegi panjang
Notasi 2: Menggunakan bagan alir (flowchart) Contoh: Menghitung Luas persegi panjang
35
Notasi Algoritma (4) Notasi 3: Menggunakan pseudocode Contoh:
Menghitung Luas persegi panjang
36
Pemrograman Prosedural
Prosedur menurut KBBI: Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah. Pada pemrograman prosedural, program dibedakan antara bagian data dan bagian instruksi. Selain paradigma pemrograman prosedural, paradigma pemrograman yang popular saat ini adalah pemrograman berorientasi objek (OOP). Pada paradigma ini data dan instruksi dibungkus menjadi satu (kelas).
37
Latihan 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?
38
Latihan 2. Buatlah algoritma menggunakan flowchart untuk menghitung luas lingkaran! 3. Buatlah algoritma menggunakan pseudocode untuk menentukan bilangan yang diinput adalah bilangan ganjil/genap!
39
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.