Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
MATERI
ALGORITMA DAN PEMROGRAMAN
A. NOTASI ALGORITMA
1. Definisi Algoritma
Algoritma merupakan kerangka dasar berupa langkah-langkah logis untuk menyelesaikan permasalahan
yang akan dilaksanakan dengan menggunakan komputer, sebelum permasalahan tersebut ditulis ke
dalam bahasa pemrograman komputer. Algoritma merupakan landasan penting yang harus di kuasai
oleh siapa pun yang ingin belajar membuat program. Orang membuat program pada umumnya untuk
menyelesaikan masalah. Namun, sebelum menyelesaikan masalah dengan program, terdapat tiga
langkah penting yang perlu dilakukan terlebih dahulu.
Dari tiga langkah penting diatas kita tahu bawasanya dalam menganalisis masalah dan membuat
algoritma diperlukan prosedur untuk mengelola masukan tersebut menjadi keluaran yang dikehendaki.
Sebagai contoh ketika ada permasalahan diminta untuk menghitung luas dengan menggunakan
komputer, dalam logika sederhana kita dapat dengan mudah menuliskan rumus Luas = panjang x lebar,
maka akan langsung mengetahui hasilnya. Namun, jika ingin menuangkan dalam bentuk algortima maka
perlu tahu terlebih dahulu dalam permasalahan ini keluaran berupa luas dan masukan berupa panjang
dan lebar sehingga dapat dituliskan langkah-langkahnya seperti berikut
2. Hitung luas persegi panjang dengan menggunakan rumus Luas = panjang * lebar
Dari contoh diatas dapat dilihat bahwa penyelesaian masalah luas persegi panjang sangat sederhana.
Disini digunakan urutan langkah yang masuk akal atau logis sehingga memperoleh hasil luas persegi
panjang. Inilah yang dinamakan algortima, urutan penyelesaian masalah dengan langkah logis
menghasilkan suatu langkah yang benar.
Algoritma tidak selamanya dinyatakan dalam bahasa manusia seperti diatas, algoritma memiliki
berbagai notasi yang bertujuan untuk menyederhanakan bentuk kalimat manusia.
Tujuan belajar logika dan algortima adalah agar dapat membiasakan diri untuk merencanakan suatu
pemecahan masalah terlebih dahulu dalam penyelesaian suatu masalah.
2. Notasi Algoritma
Notasi algortima merupakan hal dasar yang harus diketahui oleh setiap orang yang ingin membuat
program, karena dalam notasi algoritma terdapat kerangka-kerangka suatu program. Terdapat tiga cara
(notasi) yang digunakan dalam menuliskan algoritma yaitu :
1. Kalimat deskriptif
Notasi penulisan algoritma menggunakan bahasa deskriptif dilakukan dengan menulisakan instruksi-
instruksi yang harus dilaksanakan dalam bentuk kalimat deskriptif dengan menggunakan bahasa yang
gamblang. Tidak ada aturan baku dalam penulisan notasi deskriptif sehingga setiap orang dapat
menulisakan aturan algoritma sendiri.
Deskripsi :
1. Masukan panjang
2. Masukan lebar
2. Flowchart
Notasi Flowchart merupakan gambar atau bagan yang menampilkan proses langkah-langkah dari suatu
pemecahan masalah dalam program. Gambar ini dinyatakan dalam simbol. Maka dari itu setiap simbol
menyatakan proses tertentu.
Simbol-simbol flowchart yang biasa dipakai adalah adalah simbol-simbol flowchart standart yang di
keluarkan oleh ANSI dan ISO.
Tabel simbol-simbol Flowchart
3. Pseudocode
Pseudocode adalah notasi algortima yang penulisannya menyerupai bahasa pemrograman tingkat tinggi.
Meskipun menyerupai bahasa pemrograman, pseudocode berisi deskripsi dari algortima pemrograman
yang berisi struktur sederhana dari bahasa pemrograman dengan tujuan bahasa tersebut bisa dipahami
dan dibaca manusia. Sehingga jika ingin komputer mampu memahami notasi pseudocode perlu di
terjemahkan terlebih dahulu ke sintaksis bahasa pemrograman tertentu
/* dimasukkan nilai panjang (p) dan lebar (l). Carilah dan cetak keliling persegi panjang */
Deklarasi :
p, l, K = real
Deskripsi :
1. Start
2. Read ( p )
3. Read ( l )
4. K 2 * p + 2 * l
5. cout << “K”;
6. End
Notasi Flowchart :
Notasi Pseudocode :
Algoritma : Sisi_Miring_Segitiga
/* dimasukkan nilai alas dan tinggi. Carilah dan cetak sisi miring */
Deklarasi :
alas, tinggi = real
Deskripsi :
1. Start
2. Read (alas)
3. Read (tinggi)
4. sisi_miring ← sqrt ((alas*alas) + (tinggi * tiggi))
5. cout << “sisi_miring”;
6. End
Kasus ke 2 : Konversikan suhu dari Celcius menjadi Reamur dan Fahrenheit ! suhu dalam satuan Celcius
dimasukkan oleh pengguna. Suhu dalam satuan Reamur dan Fahrenheit ditampilkan ke layar
Notasi Flowchart
Notasi Pseudocode
Algoritma : Konversi_Suhu_dari_Celcius_ke_Reamur_dan_Fahrenheit
/* dimasukkan nilai Celcius. Carilah dan cetak nilai Reamur dan Fahrenheit */
Deklarasi :
C, R, F = real
Deskripsi :
1. Start
2. Read (C)
3. R ← 4/5 * C
4. F ← 9/5 * C + 32
5. cout << “R,F”;
6. End
Kasus ke 3 : Suatu swalayan memberikan diskon sebesar 10% bagi siapa saja yang berbelanja
sebesar 100.000 atau lebih. Buatlah algortima untuk menghitung besar pembayaran !
Notasi deskriptif :
2. Jika pembelian melebihi atau sama dengan 100.000 maka mendapat diskon, diskon = 0,1 *
pembelian
3. Jika pembelian kurang dari 100.000 maka tidak mendapat diskon, diskon = 0
4. Hitung besarnya uang yang harus di bayar dengan rumus, pembayaran = pembelian – diskon
Notasi Flowchart :
Notasi Pseudocode :
Algoritma : Menghitung_Besar_Pembayaran
Deklarasi :
pembelian = int diskon = real
Deskripsi :
1. Start
2. Read (pembelian)
3. If pembelian >= 100000 Then
4. Diskon ← 0,1 * pembelian
5. Else
6. Diskon ← 0
7. End If
8. pembayaran ← pembelian – diskon
9. cout << “pembayaran”;
10.Endl
Kasus ke 4 : Buatlah algoritma untuk mencari suku ke-n dari suatu deret aritmatika ! suku
pertama, beda, dan banyak suku yang ingin di cari di masukkan oleh pengguna
Notasi Deskripsi :
1. Masukkan nilai suku pertama (a), beda (b), banyak suku (n)
Notasi Flowchart
Notasi Pseudocode :
Algoritma : Mencari_Suku_Ke-n
/* dimasukkan suku pertama (a), beda (b), banyak suku (n). Carilah dan cetak nilai suku ke-n
(Un) */
Deklarasi :
a, b, n, Un = Int
Deskripsi :
1. Start
2. Read (a, b, n)
3. Un ← a + (n-1) * b
4. Write (‘Un’) ;
5. End
Kasus ke 5 : Buatlah algoritma untuk menentukan kelulusan mahasiswa ! diberikan nama dan
nilai mahasiswa, jika mahasiswa memperoleh nilai lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus, jika sebaliknya lebih kecil dari 60 maka dinyatakan tidak
lulus
Notasi Deskripsi :
Notasi Flowchart :
Notasi Pseudocode :
Algoritma : Menentukan_Kelulusan_Mahasiswa
Deklarasi :
Nama = string
Nilai = integer
Keterangan = string
Deskripsi :
1. Start 2. Read (Nama, Nilai)
3. If Nilai >= 60 Then
4. Keterangan ← ‘Lulus’
5. Else
6. Keterangan ←‘Tidak lulus’
7. Write (‘nama, keterangan’)
8. End;