100% menganggap dokumen ini bermanfaat (1 suara)
77 tayangan36 halaman

Algoritma Dan Pemrograman (If6110202)

Algoritma dan pemrograman membahas tentang: 1. Mahasiswa mampu membuat algoritma dan program untuk menyelesaikan masalah sederhana. 2. Algoritma adalah urutan langkah sistematis untuk memecahkan masalah, sedangkan program adalah algoritma yang ditulis dalam bahasa pemrograman. 3. Bahasa pemrograman digunakan untuk menulis program yang bisa dipahami komputer.

Diunggah oleh

Rzqn Fadhil
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
77 tayangan36 halaman

Algoritma Dan Pemrograman (If6110202)

Algoritma dan pemrograman membahas tentang: 1. Mahasiswa mampu membuat algoritma dan program untuk menyelesaikan masalah sederhana. 2. Algoritma adalah urutan langkah sistematis untuk memecahkan masalah, sedangkan program adalah algoritma yang ditulis dalam bahasa pemrograman. 3. Bahasa pemrograman digunakan untuk menulis program yang bisa dipahami komputer.

Diunggah oleh

Rzqn Fadhil
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 36

Pengantar Algoritma dan

Pemrograman
ALGORITMA DAN PEMROGRAMAN [IF6110202]
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.”
Buku Referensi
Pustaka Wajib: Pustaka Penunjang:
Sub-Capaian Pembelajaran MK

“Mahasiswa mampu menjelaskan dasar-


dasar algoritma dan pemrograman.”
Persoalan/Masalah
Persoalan/Masalah
• [KBBI] “Sesuatu yang harus diselesaikan (dipecahkan)”
• [Neopolitan (1996)] “Pertanyaan atau tugas yang harus dicari
jawabannya”
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!”
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.
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
Sejarah Algoritma

• Algoritma adalah jantung ilmu


komputer/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
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.
Algoritma Persoalan Kartu (1)
1. Cari kartu dengan nomor terkecil, taruh kartu tersebut
pada posisi paling atas.
2. Cari kartu dengan nomor terkecil kedua, taruh kartu
tersebut pada posisi kedua dari atas.
3. Cari kartu dengan nomor terkecil ketiga, taruh kartu
tersebut pada posisi ketiga dari atas.
4. …. Demikian seterusnya sampai tersisa satu kartu
saja (tidak perlu diurutkan lagi)
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 tersisa
satu kartu saja.
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
Algoritma Pertukaran isi Gelas - Solusi
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.
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}
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
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.
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)
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.
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
komputer dinamakan pemrogram (programmer). Kegiatan mulai dari
mendesain hingga menulis program disebut pemrograman.
Program dan Pemrograman

Belajar Pemrograman ≠
Belajar Bahasa Pemrograman
Program dan Pemrograman
Bagaimana Komputer Menjalankan Program?

Piranti Unit
masukan dan Pemroses Memori
keluaran Utama (CPU)
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 bisnis
dan administrasi), Fortran (komputasi ilmiah), PHP(untuk
pemrograman web), dll
b. 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:
a. Bahasa tingkat rendah (low level language)
b. Bahasa tingkat tinggi (high level language)
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)


Notasi Algoritma
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
Notasi Algoritma (2)
Notasi 2: Menggunakan bagan alir (flowchart)
Notasi Algoritma (3)
Notasi 2: Menggunakan bagan alir (flowchart)

Contoh:
Menghitung Luas persegi panjang
Notasi Algoritma (4)
Notasi 3: Menggunakan pseudocode

Contoh:
Menghitung Luas persegi panjang
Pemrograman Prosedural
• Prosedur menurut KBBI:
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. 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).
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?
Latihan
2. Buatlah algoritma menggunakan flowchart untuk menghitung luas
lingkaran!
3. Buatlah algoritma menggunakan pseudocode untuk menentukan
bilangan yang diinput adalah bilangan ganjil/genap!
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

Anda mungkin juga menyukai