0% menganggap dokumen ini bermanfaat (0 suara)
247 tayangan54 halaman

Konstruksi Dasar Algoritma

Algoritma dan Pemrograman membahas konstruksi dasar algoritma yaitu runtutan, pemilihan, dan pengulangan yang membentuk tahapan-tahapan pemecahan masalah secara sistematis."

Diunggah oleh

Rick 1584
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
0% menganggap dokumen ini bermanfaat (0 suara)
247 tayangan54 halaman

Konstruksi Dasar Algoritma

Algoritma dan Pemrograman membahas konstruksi dasar algoritma yaitu runtutan, pemilihan, dan pengulangan yang membentuk tahapan-tahapan pemecahan masalah secara sistematis."

Diunggah oleh

Rick 1584
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

Konstruksi Dasar

Algoritma

Algoritma dan Pemrograman

Neneng Rachmalia Feta, S.Kom. M.Kom.


Agenda Perkuliahan

01 02
Konstuksi Dasar
Algoritma Algoritma dalam
Bentuk Kalimat
Deskriptif, Flowchart,
& Pseudo Code
Review Pertemuan 1

Solusi
Masalah
Algoritma sekumpulan instruksi menggambarkan
langkah-langkah penyelesaian suatu persoalan
Review Pertemuan 1

Masalah

Program

Algoritma
Instruksi dan Aksi

Hakekat algoritma sekumpulan instruksi (instruction)


menggambarkan langkah-langkah penyelesaian suatu
persoalan.
Contoh : - Tulis “Tanggal 19 libur nasional!”
instruksi berupa aksi menulis kalimat “Tanggal 19 libur
nasional!
Konstruksi Dasar

Build by 3 construction
Runtutan (sequence), pemilihan (selection), dan
pengulangan (looping)

Runtutan Pemilihan Pengulangan


Runtutan (Sequence)
• Sebuah runtutan terdiri 1 atau lebih instruksi
• Tiap instruksi dilakukan secara berurutan sesuai
urutan penulisan Algoritma Mengirim Surat
1. Mulai
2. Mempersiapkan kertas/kartu ucapan
3. Mempersiapkan amplop
4. Siapkan alat tulis
5. Mulai menulis ucapan
6. Memasukan kertas ke dalam amplop
7. Lem amplop
8. Tulis alamat tujuan
9. Lem prangko
10. Pergi ke kantor pos
11. Poskan surat tersebut
12. Selesai
Tinjau algoritma untuk menghitung harga barang di
supermarket atau pasar swalayan setelah mendapat diskon
sebesar p%.
Pemilihan (Selection)
• Tidak semua instruksi dijalankan
• Pemilihan instruksi dilakukan berdasarkan suatu
kondisi Algoritma Mengirim Surat
1. Mulai
2. Mempersiapkan kertas/kartu ucapan
3. Mempersiapkan amplop
4. Amplop tidak tersedia
5. Beli amplop
6. Siapkan alat tulis
7. Mulai menulis ucapan
8. Memasukan kertas ke dalam amplop
9. Lem amplop
10. Tulis alamat tujuan
11. Lem prangko
12. Pergi ke kantor pos
13. Poskan surat tersebut
14. Selesai
Pengulangan (looping)
• Satu atau beberapa instruksi dijalankan lebih dari
satu kali
• Jumlah pengulangan dilakukan sesuai kondisi atau
ditentukan

Algoritma Menghidupkan Mesin Motor


1. Mulai
2. Masukan kunci motor
3. Tekan Starter motor
4. Jika mesin motor tidak bisa hidup
5. Gunakan kick starter
6. Selesai
Pengulangan (looping)
Algoritma Naik Kereta
1. Mulai
2. Siapkan kartu
3. Tap kartu pada mesin
4. Tunggu di peron
5. Jika kereta penuh
Pengulangan 6. Tunggu kereta selanjutnya
7. Jika kereta kosong
8. Naik ke kereta
9. Selesai

Algoritma
1. Mulai
2. ...
3. ...
4. Selesai
Penggabungan 3 Konstruksi Dasar

Runtutan Pemilihan Pengulangan

Apakah dimungkinkan menggabungkan


ke 3 konstruksi dasar di atas?
Algoritma

Kalimat
Pseudo-code
Deskriptif
Flowchart
Kalimat Deskriptif
 Disebut juga bahasa alami
 Menuliskan instruksi-instruksi yang harus dilakukan
dalam bentuk untaian kalimat
 Tidak ada ketetapan baku

Kalimat
Deskriptif
Kalimat Deskriptif
 Terdiri atas 3 bagian utama yaitu:
1. Judul
Bagian yang terdiri atas nama algoritma dan penjelasan
(spesifikasi) tentang algoritma tersebut

Algoritma Volume_Tabung
{ Menghitung volume tabung jika diketahui radius dan tinggi tabung. Algoritma
menerima masukan radius dan tinggi, menghitung volume tabung, kemudian
menampilkan volume ke layar}

Algoritma Luas_Persegi
{ Menghitung luas persegi jika diketahui keliling persegi. Algoritma menerima
masukan keliling persegi, menghitung panjang sisi persegi, menghitung luas
persegi, kemudian menampilkan luas persegi ke layar}
Kalimat Deskriptif
 Terdiri atas 3 bagian utama yaitu:
2. Deklarasi
Bagian untuk mendefinisikan semua variabel, konstanta,
tipe data yang digunakan dalam algoritma
Algoritma Volume_Tabung
{ Menghitung volume tabung jika diketahui radius dan tinggi tabung. Algoritma
menerima masukan radius dan tinggi, menghitung volume tabung, kemudian
menampilkan volume ke layar}

Deklarasi:
radius = desimal
tinggi = desimal
constant PHI: 22/7 = desimal
volume: 0 = desimal
Penamaan Variabel & Konstanta
 int a = 0;
 int b = 0;
 const float c = 3.14;

 int tinggiSegitiga = 0;
 int rataRataNilaiMahasiswa = 0;
 const float PHI = 3.14;
Penamaan Variabel

 int tinggi_segitiga = 0;
 int rata_rata_nilai_mahasiswa = 0;
 float volume_tabung = 0;
Penamaan Variabel

 int tinggiSegitiga = 0;
 int rataRataNilaiMahasiswa = 0;
 float volumeTabung = 0;
Penamaan Variabel
 int TinggiSegitiga = 0;
 int RataRataNilaiMahasiswa = 0;
 float VolumeTabung = 0;

Penamaan Konstanta
 const float PHI = 3.14;
 const int JUMLAH_MAHASISWA_SI = 27;
Kalimat Deskriptif
 Terdiri atas 3 bagian utama yaitu:
3. Deskripsi
Bagian inti dari sebuah algoritma, berisi uraian langkah-
langkah penyelesaian masalah
Deklarasi:
radius = desimal
tinggi = desimal
constant PHI: 22/7 = desimal
volume: 0 = desimal

Deskripsi:
Baca radius
Baca tinggi
Hitung volume = PHI x radius x radius x tinggi
Tampilkan volume ke layer
Selesai
Contoh Algoritma
Algoritma Volume_Tabung
{ Menghitung volume tabung jika diketahui radius dan tinggi tabung. Algoritma
menerima masukan radius dan tinggi, menghitung volume tabung, kemudian
menampilkan volume ke layar}

Deklarasi:
radius = desimal
tinggi = desimal
constant PHI: 22/7 = desimal
volume: 0 = desimal

Deskripsi:
Baca radius
Baca tinggi
Hitung volume = PHI x radius x radius x tinggi
Tampilkan volume ke layer
Selesai
Contoh Algoritma
Algoritma Luas_Persegi
{ Menghitung luas persegi jika diketahui panjang dan lebar persegi panjang.
Algoritma menerima masukan panjang dan lebar, menghitung luas persegi,
kemudian menampilkan luas persegi ke layar}

Deklarasi:
panjang= desimal
lebar = desimal
Luas = desimal

Deskripsi:
1. Baca panjang
2. Baca lebar
3. Hitung luas = panjang x lebar
4. Tampilkan luas ke layar
5. Selesai
Contoh Algoritma
Algoritma Pangkat
{ Menghitung nilai pangkat dari suatu bilangan. Algoritma menerima masukan
nilai yang akan dipangkatkan, dan besarnya pangkat tersebut, kemudian
menghitung hasil pangkat, dan menampilkannya ke layar}

Deklarasi:
bilangan = bilangan bulat
pangkat = bilangan bulat
hasil: 1 = bilangan bulat

Deskripsi:
1. Baca bilangan
2. Baca pangkat
3. Ulangi dari 1 sampai pangkat
4. Hasil = bilangan x pangkat
5. Tampilkan hasil ke layar
6. Selesai
Flowchart
 Disebut juga diagram alir
 Penulisan algoritma dengan menggunakan notasi
grafis
 Gambar atau bagan yang memperlihatkan urutan
atau langkah-langkah dari suatu program dan
hubungan antar proses beserta pernyataannya

Flowchart
Notasi Flowchart
 Terdapat beberapa simbol yang digunakan
 Setiap simbol menggambarkan proses tertentu
 Flowchart digambarkan di suatu halaman dimulai
dari sisi atas ke bawah dan dari sisi kiri ke kanan
 Hanya terdapat satu titik awal dan satu titik akhir
 Setiap langkah dari aktivitas harus berada pada
urutan yang benar
 Setiap langkah dari aktivitas harus diuraikan dengan
menggunakan deskripsi kata kerja
Simbol Flowchart
 Terminator
o Simbol untuk mendefinisikan awal algoritma
dimulai dan diakhiri
o Hanya terdapat satu titik awal dan satu titik akhir

Start Mulai

.... ....
Stop Selesai
Simbol Flowchart
 Flow line
o Simbol untuk mendefinisikan urutan jalannya
algoritma

Start .... Stop


Simbol Flowchart
 Proses
o Simbol untuk mendefinisikan
perhitungan/pengolahan

Luas segitiga = 0.5 x alas x tinggi

Hasil= hasil x bilanganBulat


Simbol Flowchart
 Input/Output Data
o Simbol untuk mendefinisikan pembacaan data
atau penulisan data

Baca panjang

Baca kelilingPersegi

Tampilkan
kelilingPersegi
Simbol Flowchart
 Percabangan
o Simbol untuk mendefinisikan pernyataan pilihan,
berisi

Jika Ya
nilaiAlgoritma
>= 80
Digunakan dalam:
Tidak for
while
do while
Simbol Flowchart
 Preparation
o Simbol untuk mendefinisikan inisialisasi nilai
awal

PHI = 22/7
status = false
Simbol Flowchart
 Predefined Process
o Simbol untuk mendefinisikan mengeksekusi sub
program, fungsi, atau prosedur

Maks = ambilBilanganTerbesar(a, b)

luasAlas = luasLingkaran(jariJari)
Simbol Flowchart
 On Page Connector
o Simbol untuk penghubung pada halaman yang
sama
....
Apakah Tidak
nilaiAkhirAlg Cek Keaktifan Mahasiswa di Kelas
oritma >= 65

A Ya Tidak
Apakah Tampilkan
Mahasiswa “Belum
Aktif? Lulus”
Tampilkan “Lulus”
Ya
B
B A

Stop
Simbol Flowchart
 Off Page Connector
o Simbol untuk penghubung pada halaman
berbeda
Halaman 1 Halaman 3

1 ....

.... 3
Simbol Flowchart
Contoh Algoritma
Algoritma Volume_Tabung Mulai
{}
radius, tinggi,
Deklarasi:
PHI = 22/7,
1. radius = desimal volume = 0
2. tinggi = desimal
3. constant PHI: 22/7 = desimal
4. volume: 0 = desimal Baca radius,
baca tinggi
Deskripsi:
5. Baca radius Hitung volume = PHI x radius x radius
x tinggi
6. Baca tinggi
7. Hitung volume = PHI x radius
Tampilkan
x radius x tinggi volume
8. Tampilkan volume ke layer
9. Selesai
Selesai
Mulai
Contoh Algoritma
Algoritma Pangkat bilangan,
{} pangkat,
hasil = 1

Deklarasi:
1. bilangan = bilangan bulat Baca bilangan,
2. pangkat = bilangan bulat baca pangkat
3. hasil: 1 = bilangan bulat Apakah
x=1 x<=
Deskripsi: pangkat

4. Baca bilangan Ya
5. Baca pangkat Tidak
hasil = hasil x bilangan
6. Ulangi dari 1 sampai pangkat
x=x+1
7. Hasil = hasil x bilangan
8. Tampilkan hasil ke layar Tampilkan
9. Selesai hasil

Selesai
Pseudocode
• Penulisan algoritma yang menyerupai bahasa pemrograman
tingkat tinggi
• Menggunakan bahasa yang hampir menyerupai bahasa
pemrograman
• Tidak ada standar penulisan yang baku
• Disarankan untuk menggunakan keyword yang umum digunakan
seperti : if, then, else, while, do, for, dan lainnya.
Struktur Penulisan Algoritma
1. Judul
Algoritma Luas_Persegi Bagian yang terdiri atas nama
{ Menghitung luas persegi jika diketahui keliling
algoritma dan penjelasan
1 atau sisi persegi. Algoritma menerima masukan
keliling persegi, menghitung panjang sisi persegi,
menghitung luas persegi, kemudian menampilkan
(spesifikasi) tentang algoritma
tersebut
luas persegi ke layar}

Deklarasi: 2. Deklarasi
keliling = desimal
Bagian untuk mendefinisikan semua
2 panjangSisi: 0 = desimal
luas: 0 = desimal variabel, konstanta, tipe data yang
digunakan dalam algoritma
Deskripsi:
1. Baca sisiPersegi
2. Jika sisiPersegi tidak sama dengan 0 maka 3. Deskripsi
3. Baca keliling
3 4. Hitung sisiPersegi = keliling / 4
5. Hitung luas = sisiPersegi x sisi Persegi
Bagian inti dari sebuah algoritma,
berisi uraian langkah-langkah
6. Tampilkan luas ke layar penyelesaian masalah
7. Selesai

Kalimat Deskriptif Algoritma Luas Persegi


7 Operasi Dasar Komputer
1. Membaca data (Input)
2. Menampilkan data (Output)
3. Melakukan perhitungan aritmatika (Compute)
4. Memberikan nilai ke suatu identifier (Store)
5. Membandingkan dan Memilih (Compare)
6. Melakukan pengulangan (Loop)
7. Procedure dan atau Function
Membaca Data (Input)

Masukan
tinggiSegitiga Input tinggiSegitiga
Read tinggiSegitiga
Masukan Baca tinggiSegitiga
tinggiSegitiga
Menampilkan Data (Output)
Output luasSegitiga
Print tinggiSegitiga
Tampilkan Write tinggiSegitiga
luasSegitiga
java output :
Tampilkan system.out.printl (outputan)
luasSegitiga
c++ : cout (outputan)

c : write (outputan)
Perhitungan Aritmatika
(Compute)
Memberikan Nilai

keliling = 0.0 keliling  0.0


panjangSisi = 0.0 panjangSisi  0.0
luas = 0.0 luas  0.0

luasPersegi = 0.5 * luasPersegi  0.5 *


alasSegitiga * alasSegitiga *
tinggiSegitiga
tinggiSegitiga
Membandingkan dan Memilih
(Compare)
start

if kondisi then
kondisi

benar aksi
aksi
salah end if

end
Contoh Kasus
Buatlah sebuah algoritma untuk menghitung luas lingkaran jika
diketahui keliling lingkaran atau jari-jari (r).
Membandingkan dan Memilih
(Compare)
start Kondisi:
10 == 10
kondisi 9 <= 9
8<9
benar salah

20 >= 20
aksi 1 aksi 2
20 > 19
20 != 21
end
Contoh Kasus
• Karyawan honorer di PT ABC digaji berdasarkan jumlah
jam kerjanya selama satu minggu. Upah per jam
misalkan Rp 30 000. Bila jumlah jam kerja lebih besar
dari 48 jam, maka sisanya dianggap sebagai jam
lembur. Upah lembur misalkan Rp 50 000/jam. Tulislah
algoritma yang membaca jumlah jam kerja seorang
karyawan selama satu minggu, lalu menentukan upah
mingguannya
Membandingkan dan Memilih
(Compare)
start if kondisi 1 then
aksi 1
kondisi 1 salah
else
benar
if kondisi 2 then
aksi 2
aksi 1
benar
kondisi 2
salah else
if kondisi 3 then
aksi 2 aksi 3
aksi 3
end if
end if
end if
end
Contoh Kasus
Buatlah algoritma nilai akhir mahasiswa dengan input 3 nilai mata kuliah, jika
nilai rata-rata mahasiwa tersebut:
- >= 85 maka tampilkan “Nilai A”
- >= 75 maka tampilkan “Nilai B”
- >= 65 maka tampilkan “Nilai C”
- Jika kurang <= 64 cek tugas
- Jika tugas lengkap tampilkan “Nilai –C”
- Jika tugas tidak lengkap tampilkan “Belum Lulus”
- Tampilkan juga nilai yang paling besar di antara ke 3 nilai tersebut
Melakukan Pengulangan (Looping)

for(x=0;x<=10;x++) for(x=4;x<=10;x +=2)


aksi aksi
end for end for

for(x=10;x>2;x--)
aksi
end for
Contoh Kasus
• Buatlah algoritma menjumlahkan bilangan dari 4 sampai dengan
n
n=4
hasil = 1 + 2 + 3 + 4 = 10

n = 100
hasil = 1 + 2 + 3 + 4 + 5 + 6 + 7 + .. + 100 = 5050

• Buatlah algoritma untuk menghitung luas lingkaran dengan


menggunakan kalimat deskriptif dan flowchart

Anda mungkin juga menyukai