STRUKTUR DASAR ALGORITMA By Pulung Surya Prayoga L2H008059 exit
Struktur Runtutan (Sequence Structure)
Struktur Percabangan (Selection Structure)
Struktur Perulangan (Repetition 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 pengulangan selesai dilaksanakan
back
next
Bentuk instruksi perulangan : Instruksi
FOR - NEXT
FOR-NEXT Tunggal FOR-NEXT Tersarang
Instruksi
WHILE – WEND Instruksi DO - LOOP DO WHILE - LOOP DO UNTIL - LOOP DO – LOOP WHILE DO – LOOP UNTIL
back
Contoh 1.
5.
9.
Algoritma untuk menghitung luas segitiga Input(alas,tinggi) Luas ? 1/2*alas*tinggi Output(Luas) Algoritma untuk menghitung sisi miring segitiga siku siku Input(alas,tinggi) Sisimiring? sqrt(alas^2 +tinggi^2) Output(Sisimiring) 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 true
Statement false
statement
back
Pernyataan if sederhana
Bentuk: IF
THEN 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 THEN ELSE 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 THEN ELSE IF THEN ELSE IF THEN ... ELSE 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> [CASE <ekspresi_2> ... [CASE ELSE] 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] 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 NEXT I
back
Instruksi WHILE-WEND
INSTRUKSI Proses
berulang selama sebuah kondisi terpenuhi Proses berulang tidak diketahui jumlahnya
Bentuk Instruksi : WHILE 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 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 UNTIL 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 WHILE 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 UNTIL 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