Professional Documents
Culture Documents
ALGORITMA
exit
Struktur Runtutan (Sequence Structure)
exit back
STRUKTUR RUNTUTAN
Dengan Struktur runtunan, berarti :
Setiap instruksi akan dikerjakan satu persatu
Setiap instruksi dilaksanakan tepat satu kali, tidak ada instruksi
yang diulang maupun tidak dilaksanakan
Urutan instruksi yang dilaksanakan pemroses sama dengan
urutan aksi sebagaimana yang tertulis di dalam teks
algoritmanya
Akhir dari instruksi terakhir merupakan akhir algoritma
Bila runtunan instruksi dalam algoritma berturut-turut
dilambangkan dengan A1, A2, A3, A4, dan A5, maka
pelaksanaan instruksi tersebut adalah :
A1→A2→A3→A4→A5
Contoh
back
STRUKTUR PERCABANGAN
Pernyataan percabangan memungkinkan suatu pernyataan
dieksekusi hanya jika suatu kondisi terpenuhi atau tidak terpenuhi
Contoh :
Jika mau nonton film, maka belilah tiketnya
Jika suatu bilangan habis dibagi 2, maka bilangan itu adalah
bilangan pastilah bilangan genap
Bentuk instruksi percabangan
Instruksi IF
Pernyataan IF Sederhana
Pernyataan IF-ELSE
Pernyataan IF Bersarang
Instruksi CASE
back
STRUKTUR PERULANGAN
Pemrograman untuk melakukan suatu
proses yang berulang-ulang, jika suatu
kondisi dipenuhi atau tidak
Proses ini biasanya digunakan, untuk :
Mengulang proses pamasukan data
Mengulang proses perhitungan
Mengulang proses penampilan hasil
pengolahan data
back next
Struktur perulangan terdiri dari 2 bagian :
Kodisi pengulangan, yaitu ekspresi boolean
yang harus dipenuhi untuk melaksanakan
pengulangan
Badan (body) pengulangan, yaitu satu atau
lebih aksi yang akan diulang
Disamping itu biasanya disertai dengan :
Inisialisasi, yaitu aksi yang dilakukan sebelum
pengulangan dilakukan pertama kali
Terminasi, yaitu aksi yang dilakukan setelah
back next
Bentuk instruksi perulangan :
Instruksi FOR - NEXT
FOR-NEXT Tunggal
FOR-NEXT Tersarang
DO – LOOP WHILE
DO – LOOP UNTIL
back
Contoh
1. Algoritma untuk menghitung luas segitiga
Input(alas,tinggi)
Luas ? 1/2*alas*tinggi
Output(Luas)
5. Algoritma untuk menghitung sisi miring segitiga siku siku
Input(alas,tinggi)
Sisimiring? sqrt(alas^2 +tinggi^2)
Output(Sisimiring)
9. Algoritma untuk mengkonversi input Jam, Menit, dan Detik, ke
total detik
Input(Jam,Menit,Detik)
TotalDetik ? Jam*3600 + Menit*60 + Detik
Output(TotalDetik)
back
Instruksi If
Secara umum flow chartnya sebagai berikut :
If condition
statement
back
Pernyataan if sederhana
Bentuk:
IF <kondisi> THEN
<pernyataan>
ENDIF
Pernyataan IF dengan Syarat Tunggal
Instruksi untuk memeriksa sebuah kondisi saja
Contoh :
IF komentar$=”coba” THEN
Output(“Anda memasukan kata yang benar”)
ENDIF
back next
Pernyataan IF dengan Syarat Majemuk
Digunakan operator AND dan OR
Contoh :
IF nilai = “A” OR nilai = “B” THEN
Output(“Anda dapat mengikuti tes asisten”)
ENDIF
atau
IF nilai<=100 AND nilai>=80THEN
Output(“Nilai mata kuliah Anda A”)
ENDIF
back next
Pemeriksaan Data String
Digunakan operator >, >=, <, <=, =, <> untuk
mendeteksi nilai ASCII dari data tersebut
Contoh :
IF sandi$=”Hs” THEN
Output(“Silahkan akses program ini”)
ENDIF
IF data$<”a” THEN
Output(“Huruf kapital”)
ENDIF
back
Pernyataan if-else
Bentuk:
IF <kondisi> THEN
<pernyataan_1>
ELSE
<pernyataan_2>
ENDIF
back next
Contoh :
IF x>0 THEN
Output(“X adalah bilangan positif”)
ELSE
Output(“X adalah bilangan negatif”)
ENDIF
IF tahun mod 4=0 THEN
Output(“Tahun tersebut tahun kabisat”)
ELSE
Output(“Bukan tahun kabisat”)
ENDIF
back
Pernyataan if bersarang
Bentuk :
IF <kondisi_1> THEN
<pernyataan_1>
ELSE
IF <kondisi_2> THEN
<pernyataan_2>
ELSE
IF <kondisi_3> THEN
<pernyataan_3>
...
ELSE
<pernyataan_m>
ENDIF
ENDIF
ENDIF
back next
Contoh :
IF beli>=100000 THEN
Output(“Diskon 10%”)
ELSE
IF beli>=500000 THEN
Output(“Bonus piring”)
ELSE
IF beli>=100000 THEN
Output(“Bonus gelas”)
ELSE
Output(“Tidak ada bonus”)
ENDIF
ENDIF
ENDIF
back
Instruksi case
Alternatif dari pernyataan IF untuk masalah dengan pilihan ganda
Semua masalah yang bisa CASE pasti bisa ditangani oleh IF, tetapi tidak
sebaliknya
Bentuk:
SELECT CASE <ekspresi>
CASE <ekspresi_1>
<blok instruksi_1>
[CASE <ekspresi_2>
<blok instruksi_2>
...
[CASE ELSE]
<blok instruksi_m>
END SELECT
back
Instruksi FOR NEXT
Digunakan untuk mengeksekusi suatu baris/blok
instruksi secara berulang-ulang selama kondisi terpenuhi
Kondisi yang digunakan untuk menguji hanya sebatas
perhitungan menambah/mengurangi isi variabel counter
dengan STEP tertentu
Jumlah perulangan diketahui secara pasti (n kali)
Jumlah perulangan = nilai_akhir – nilai_awal + 1
Bentuk instruksi :
FOR variable_counter = nilai_awal TO nilai_akhir [STEP nilai naik/turun]
<blok instruksi/pernyataan>
NEXT variable_counter
back
Instruksi FOR-NEXT tunggal
Instruksi untuk perulangan yang hanya
menggunakan sebuah counter
Contoh :
menampilkan bilangan bulat 1 ..100
menampilkan “hallo” 10 kali
menampilkan angka 0 .. n
menjumlahkan deret 1+2+3+…+n
menghitung rata-rata bilangan
menghitung perpangkatan (an)
menghitung faktorial (n!)
back
Instruksi FOR-NEXT bersarang
Urutan instruksi dimulai dari kalang yang
paling dalam
Syarat yang harus dipenuhi :
Setiap kalang tidak boleh menggunakan
variabel counter yang sama
Antara kalang-kalang tersebut tidak boleh
saling berpotongan (overlapping)
back
Kalang
Kalang yang berpotongan, contohnya :
FOR I = 1 TO 10
FOR J = 1 TO 10
PRINT I,J
NEXT I
NEXT J
Kalang yang menggunakan variabel counter yang sama, contohnya:
FOR J = 1 TO 10
FOR J = 1 TO 10
PRINT J,J
NEXT J
NEXT J
Kalang yang tersarang, contohnya :
FOR I = 1 TO 10
FOR J = 1 TO 10
PRINT J,I
NEXT J
back
NEXT I
Instruksi WHILE-WEND
INSTRUKSI
Proses berulang selama sebuah kondisi terpenuhi
Proses berulang tidak diketahui jumlahnya
Bentuk Instruksi :
WHILE <kondisi>
<blok pernyataan>
WEND
Bentuk ini identik dengan DO WHILE – LOOP
back
Instruksi DO-LOOP
INSTRUKSI DO - LOOP
Mempunyai fungsi yang sama dengan WHILE–WEND, yaitu melakukan
operasi perulangan, tetapi untuk penulisan kondisinya dapat dilakukan
secara fleksibel
Proses berulang tidak diketahui jumlahnya
Bentuk Umum:
DO [ WHILE / UNTIL kondisi ]
LOOP
DO
LOOP [ WHILE / UNTIL kondisi ]
Perbedaannya :
Kondisi diperiksa dulu, bila memenuhi syarat, maka instruksi akan
dilaksanakan.
Minimal proses instruksi dilaksanakan sekali, baru pemeriksaan kondisi
penulisan
back
Instruksi DO WHILE-LOOP
Instruksi DO WHILE – LOOP
Pengulangan dilakukan selama kondisi bernilai benar
Pengujian dilakukan sebelum blok pernyataan
dijalankan
Bentuk Instruksi :
DO WHILE <kondisi>
<blok pernyataan>
LOOP
back next
Contoh:
Algoritma untuk menjumlahkan deret 1 + 2 + 3 +….+ N
Input (N)
Jml ← 0
Angka ← 1
DO WHILE Angka <=N
Jml ← Jml + Angka
Angka ← Angka + 1
LOOP
Output(Jml)
END
back
Instruksi DO UNTIL-LOOP
Instruksi DO LOOP - UNTIL
Pengulangan dilakukan selama kondisi bernilai salah
Pengujian dilakukan setelah blok pernyataan
dijalankan, sehingga minimal sekali pernyataan akan
dieksekusi
Bentuk Instruksi :
DO LOOP
<blok pernyataan>
UNTIL<kondisi>
back next
Contoh :
Algoritma untuk menjumlahkan deret 1+2+3+….+N
Input (N)
Jml ← 0
Angka ← 1
DO UNTIL Angka >N
Jml ← Jml + Angka
Angka ← Angka + 1
LOOP
Output(Jml)
END
back
Instruksi DO LOOP-WHILE
Pengulangan dilakukan selama kondisi bernilai
benar
Pengujian dilakukan setelah blok pernyataan
dijalankan, sehingga minimal sekali pernyataan
akan dieksekusi
Bentuk Instruksi :
DO LOOP
<blok pernyataan>
WHILE <kondisi>
back next
Contoh :
Algoritma untuk menjumlahkan deret 1+3+5+….+Un
Input(Un)
Jml ← 0
Angka ← 1
DO
Jml ← Jml + Angka
Angka ← Angka + 2
LOOP WHILE Angka <=Un
Output(Jml)
END
back
Instruksi DO LOOP-UNTIL
Pengulangan dilakukan selama kondisi bernilai
salah
Pengujian dilakukan setelah blok pernyataan
dijalankan, sehingga minimal sekali pernyataan
akan dieksekusi
Bentuk Instruksi :
DO LOOP
<blok pernyataan>
UNTIL<kondisi>
back next
Contoh :
Algoritma untuk mengakses, dengan password maksimal melakukan kesalahan 3 kali
Password$ ← ”sP”
DO
IF N>3 THEN
EXIT DO
END IF
Input(Pass$)
N=N+1
LOOP UNTIL Pass$ = Password$
IF N>3 THEN
Output(“Akses ditolak”)
ELSE
Output(“Selamat Bergabung”)
END IF
END
back