0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan12 halaman

Algoritma Pemrograman Tingkat Dasar

Diunggah oleh

Cahaya Mataku
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 DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan12 halaman

Algoritma Pemrograman Tingkat Dasar

Diunggah oleh

Cahaya Mataku
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 DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 12

Algoritma Pemrograman Tingkat Dasar

Bahasa Pemrograman
1. Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam bahasa
pemrograman, dibedakan menjadi:
• Bahasa tingkat rendah (low level language):
Bahasa yang berorientasi ke mesin.
• Bahasa tingkat tinggi (high level language):
Bahasa yang berorientasi ke manusia (seperti bahasa inggris). Contoh bahasa Pascal, bahasa C, dll.
2. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin
(kenal dengan biner digit) dengan menggunakan penerjemah.
Penerjemah:
• Interpreter : menerjemahkan baris per baris instruksi. Contoh bahasa Basic.
• Compiler : menerjemahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, bahasa C/C++,
dll.

Algoritma
Arti umum adalah serangkaian urutan langkah-langkah yang tepat, logis, terperinci, dan terbatas
untuk menyelesaikan suatu masalah yang disusun secara sistematis.
1. Algoritma adalah inti dari ilmu komputer
2. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu
masalah
3. Algoritma adalah blueprint dari program
4. Sebaiknya disusun sebelum membuat program
5. Kriteria suatu algoritma:
• Ada input dan output
• Efektifitas dan efisien
• Terstruktur

Contoh:
Algoritma TUKAR ISI BEJANA
Diberikan 2 buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan
berwarna biru. Tukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan warna
biru dan bejana B berisi larutan berwarna merah.

Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana B
2. Tuangkan larutan dari bejana B ke dalam bejana A

Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas
tidak logis, hasil pertukaran yang terjadi adalah pertukaran kedua larutan tersebut.
Untuk itu pertukaran isi dua bejana, diperlukan sebuah tambahan sebagai tempat penampungan
sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah
sebagai berikut:
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan
berwarna biru. Tukarkan isi kedua bejana itu sedemikian hingga bejana A berisi larutan berwarna
biru dan bejana B berisi larutan berwarna merah.
Deskripsi:
1. Tuangkan larutan dari bejana A ke dalam bejana C.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
3. Tuangkan larutan dari bejana C ke dalam bejana B.

Ciri Penting Algoritma


1. Algoritma harus berhenti setelah menjalankan sejumlah langkah terbatas.
2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (ambiguitas).
3. Algortima memiliki nol atau lebih masukan.
4. Algoritma memiliki nol atau lebih keluaran.
5. Algoritma harus efektif (setiap langkah sederhana sehingga dapat dikerjakan dalam waktu yang
masuk akal).

Memrogram dan Bahasa Pemrograman:


1. Belajar memrogram adalah belajar tentang metode pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
2. Belajar bahasa pemrograman adalah memakai suatu bahasa, aturan, tata bahasanya, instruksi-
instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam
bahasa itu saja.

Notasi Algoritma:
1. Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang
mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan
ke dalam berbagai bahasa pemrograman.
2. Notasi algoritma dapat berupa:
• Uraian kalimat deskriptif (narasi):
Contoh:
Algoritma kelulusan mahasiswa
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersenut dinyatakan lulus, jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
Deskripsi:
Baca nama dan nilai mahasiswa
Jika nilai >= 60 maka
Keterangan = lulus
Tetapi jika salah
Keterangan = tidak lulus
Tulis nama dan keterangan.

Tahapan Pembuatan Program:


1. Mendefinisikan masalah dan menganalisanya. Mencangkup : tujuan pembuatan, parameter yang
digunakan, fasilitas yang disediakan, algoritma yang diterapkan, dan bahasa pemrograman yang
digunakan.
2. Merealisasikan dengan langkah-langkah sebagai berikut:

Berkas:Algoritma.bmp

Contoh Algoritma:
1. Mengirim surat kepada teman:
• Tulis surat pada secarik kertas surat
• Ambil sampul surat
• Masukkan surat ke dalam sampul
• Tutup sampul surat dengan perekat
• Jika kita ingat alamat teman tersebut, maka tulis alamat surat pada sampul
• Jika tidak ingat, lihat buku alamat, kemudian tulis alamat surat pada sampul
• Tempel prangko pada sampul
• Bawa sampul ke kantor pos untuk diposkan
2. Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap:
• Masukkan sebuah bilangan sembarang
• Bagi bilangan tersebut dengan 2
• Hitung sisa hasil bagi pada langkah 2
• Bila sisa hasil sama dengan 0, maka bilangan itu adalah bilangan genap
• Jika hasil bagi sama dengan 1, maka bilangan itu adalah bilangan ganjil

Flowchart
1. Flowchart adalah bagan-bagan yang mempunyai arus menggambarkan langkah-langkah
penyelesaian suatu masalah
2. Merupakan cara penyajian dari suatu algoritma
3. Ada 2 macam flowchart:
• System flowchart:
Urutan proses dalam system dengan menunjukkan alat media input, output serta jenis
penyimpanan dalam proses pengolahan data.
• Program flowchart:
Urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam
suatu program.

Contoh program Flowchart

Simbol-simbol Flowchart
1. Flow Direction Symbols (simbol penghubung alur)
2. Processing Symbols (simbol proses)
3. Input-Output Symbols (simbol input-output)

Tabel Simbol-simbol Flowchart


Pembuatan Flowchart
1. Tidak ada kaidah yang baku
2. Flowchart = gambaran hasil analisa suatu masalah
3. Flowchart dapat bervariasi antara satu pemrograman dengan pemrograman lainnya.
4. Secara garis besar ada 3 bagian utama:
• Input
• Proses
• Output
5. Hindari pengulangan yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi
singkat
6. Jalannnya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
7. Sebuah Flowchart diawali dari satu titik START dan diakhiri dengan End.

Pseudocode:
1. Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus.
Deklarasi:
Nama : String
Nilai : Integer
Keterangan : String
Deskripsi:
Read (nama, nilai)
if nilai >= 60 then
Keterangan = 'lulus'
else
Keterangan = 'tidak lulus'
write (nama, keterangan)

Aturan Penulisan Teks Algoritma


1. Judul Algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.
Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
2. Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat
berupa nama tetapan, peubah, tipe, prosedure, dan fungsi.
3. Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan
notasi yang akan dijelaskan selanjutnya.

Contoh Pseudocode:
1. Algoritma Luas_Keliling_Lingkaran (ini merupakan judul algoritma)
{
Menghitung luas dan keliling untuk ukuran jari-jari tertentu. Algoritma menerima masukkan jari-
jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaran ke piranti keluaran
} (ini spesifikasi algoritma)
2. Deklarasi
const phi = 3.14 {nilai konstanta phi}
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
3. Deskripsi
Read (R)
Luas = phi * R * R
Keliling = 2 * phi * R
Write (luas, keliling)
Assalamualaikum Wr.Wb

kali ini saya akan share soal dan jawaban algoritma.

Berikut adalah soal dan jawaban algoritma:

Soal:

1. Apa definisi algoritma dan contohnya .!

2. Apa definisi Pseudo Code dan contohnya .!

3. Apa definisi flowchart dan contohnya .!

4. Jelaskan dengan contoh kasus algoritma yang memiliki struktur runtunan.!

5. Jelaskan dengan contoh kasus algoritma yang memiliki struktur percabangan.!

6. Jelaskan dengan contoh kasus algoritma yang memiliki struktur perulangan:

a. for

b. while

Jawaban:

1. Definisi Algoritma.

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara
sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa
konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu.
Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya
algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan.
Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma
tersebut bukanlah algoritma yang baik.

Contoh:
Algoritma mendapatkan minyak dengan volume 4 liter.

Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}

Tuangkan minyak dari ember 3 liter ke dalam ember 5 liter. {ember 5 liter berisi minyak 3 liter}.

Isi penuh ember 3 liter dengan minyak. {ember 3 liter berisi minyak 3 liter}
Tuang minyak dari ember 3 liter ke ember 5 liter hingga ember 5 liter penuh. {di dalam ember 3
liter sekarang berisi minyak sebanyak 1 liter}

Kembalikan minyak dari ember 5 liter ke dalam drumnya. {ember 5 liter kosong}

Tuangkan minyak dari ember 3 liter ke ember 5 liter. {ember 3 liter kosong, ember 5 liter berisi
minyak 1 liter}

Isi penuh ember 3 liter dengan minyak, lalu tuang ke dalam ember 5 liter. Maka akan diperoleh
minyak sebanyak 4 liter {1 + 3 = 4 liter minyak }.

2. Definisi Pseudo code.

Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak
yang baku. Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. Akan
tetapi, flowchart lebih mudah dimengerti oleh programmer pemula, pseudo code sangat mudah
diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Kita bisa bebas
menulis pseudo code selama itu mudah dimengerti bagi orang lain. Tetapi disarankan untuk
menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan
lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll.

Contoh:
Pseudocode dari luas Persegi adalah:

read(panjang, lebar)

Luas = panjang * lebar

write(Luas)

end

3. Definisi Flowchart.

flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi
yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain, flowchart membantu kita untuk
mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol
gambar.

Contoh:
4. Contoh algoritma yang memiliki struktur runtutan:

Dibaca waktu tempuh seorang pelari marathon dalam jam-menit-detik (hh:mm:ss). Diminta
mengkonversi waktu tempuh tersebut ke dalam detik. Tuliskan algoritmanya.
Ingatlah
1 menit = 60 detik
1 jam = 3600 detik
Misalnya waktu tempuh seorang pelari marathon adalah 1 jam, 5 menit, 40 detik. Dalam detik,
waktu tempuh seluruhnya adalah ( 1 x 3600 ) + ( 5 x 60 ) + 40 = 3940 detik.

Penyelesaian :
Algoritma KONVERSI_JAM_KE_DETIK
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu
ditampilkan ke piranti keluaran }

DEKLARASI
Type jam : record <hh : integer {0..23}, {jam}
mm : integer {0..59}, {menit}
ss : integer {0..59}, {detik}
>
J : jam
TotalDetik : integer

DESKRIPSI
read(J.hh,J.mm,J.ss))
TotalDetik ← (J.hh*3600) + (J.mm*60) + J.ss
write(TotalDetik)
Jika anda mentranslasikan algoritma KONVERSI_JAM_KE_DETIK ke dalam bahasa pascal, anda
harus memperhatikan tipe bilangan bulat yang digunakan. Karena ranah nilai tipe integer terbatas,
maka ada kemungkinan hasil pengubahan jam-menit-detik ke total detik bernilai negatif, sebab
nilai (J.hh*3600) + (J.mm*60) + J.ss berada di luar rentang tipe integer. Tipe longint yang
mempunyai ranah yang lebih besar dapat dipakai untuk masalah ini.
Jadi, program KONVERSI_JAM_KE_DETIK dalam bahasa pascal adalah sebagai berikut :
program KONVERSI_JAM_KE_DETIK;
{ dibaca jam-menit-detik (hh:mm:ss). Nilai jam-menit-detik dikonversi ke dalam detik, lalu
ditampilkan ke piranti keluaran.}

uses wincrt;

(* DEKLARASI *)
type Jam = record
hh : longint; {jam}
mm : longint; {menit}
ss : longint; {detik}
end;

var
J : Jam;
TotalDetik : longint;

(* deskripsi *)
begin
write(‘Jam :’); readln(J.hh);
write(‘Menit:’); readln(J.mm);
write(‘Detik:’); readln(J.ss);
TotalDetik:= (J.hh*3600) + (J.mm*60) + J.ss;
writeln(‘Total detik = ‘, TotalDetik);
end.

5. Contoh kasus algoritma yang memiliki struktur percabangan:

Dalam suatu perhitungan, nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative
maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q

Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan Y, sedangkan proses pemeriksaan kondisi
dilakukan pada nilai P apakah positif (termasuk 0) ataukah negative. Perhatikan flowchart
penyelesaian masalah pada gambar 5.10.
6.
a.Contoh kasus algoritma yang memiliki struktur perulangan FOR:

Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama
berulang kali tanpa mengenal lelah.
Sewaktu duduk di sekolah dasar, bila anda pernah dihukum oleh guru untuk menuliskan sebuah
kalimat sebanyak 500 kali, misalnya dikarenakan anda nakal tidak mengerjakan PR. Misalkan
kalimat yang harus ditulis 500 kali tersebut adalah:

“Saya berjanji tidak akan nakal dan malas lagi”

Bila pekerjaan menulis kalimat ini diserahkan kepada komputer, maka pemrogram mungkin
menuliskannya sebagai berikut:

Algoritma menulis 500 kalimat

Deskripsi :

1. Saya berjanji tidak akan nakal dan malas lagi


2. Saya berjanji tidak akan nakal dan malas lagi

3. Saya berjanji tidak akan nakal dan malas lagi

4. Saya berjanji tidak akan nakal dan malas lagi

....

500

Tentu saja algoritma untuk menuliss 500 buah kalimat seperti diatas tidak elegan, karena instruksi
“Saya berjanji tidak akan nakal dan malas lagi”harus dibuat di dalam teks algoritma sebanyak
500 kali. Untuk mengatasi hal ini, maka anda dapat menggunakan struktur pengulangan for-do
sehingga algoritma menulis 500 buah kalimat dapat ditulis sebagai berikut:

Algoritma menulis 500 kalimat

Menuliskan kalimat " Saya berjanji tidak akan nakal dan malas lagi " Sebanyak 500 kali.

Deskripsi :

for J dari 1 sampai 500 do

t tulis kalimat " Saya berjanji tidak akan nakal dan malas lagi "

J adalah pencacah pengulangan yang dari 1 sampai 500. Komputer akan melaksanakan aksi tulis
kalimat tersebut sebanyak 500 kali. Struktur pengulangan ini dapat ditulis secara umum sebagai
berikut:

for pencacah pengulangan dari 1 sampai N do

aksi

b. Contoh kasus algoritma yang memiliki struktur perulangan WHILE:

Bentuk umum struktur WHILE-DO adalah


while <kondisi> doA
ksi
endwhile

aksi (atau runtunan aksi) akan dilaksanakan berulangkali sepanjang <kondisi> boolean masih tetap
bernilai true, jika <kondisi> bernilai false, badan pengulangan tidak akan dilaksanakan.
Pengulangan selesai.
Contoh 1:
Tuliskan algoritma untuk mencetak banyak HALO sebanyak 10 kali .
Algoritma cetak_banyak_halo
Deklarasi
K : integer {pencacah pengulangan}
Deskripsi
K ← 1 {inisialisasi}
While k ≤ 10 do
Write (‘HALO’)
K ←K+1
Endwhile
{kondisi berhenti : k > 10}.

Anda mungkin juga menyukai