0% menganggap dokumen ini bermanfaat (0 suara)
118 tayangan

Modul PRODAS

Dokumen tersebut membahas tentang algoritma pemrograman dasar yang mencakup: 1) Pengertian algoritma dan kegunaannya dalam menyelesaikan masalah komputer 2) Unsur-unsur penting dalam algoritma seperti variabel, operator, struktur kontrol aliran 3) Notasi yang digunakan untuk merepresentasikan algoritma seperti uraian deskriptif, diagram alir, dan pseudocode

Diunggah oleh

Ali Maskuri
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
118 tayangan

Modul PRODAS

Dokumen tersebut membahas tentang algoritma pemrograman dasar yang mencakup: 1) Pengertian algoritma dan kegunaannya dalam menyelesaikan masalah komputer 2) Unsur-unsur penting dalam algoritma seperti variabel, operator, struktur kontrol aliran 3) Notasi yang digunakan untuk merepresentasikan algoritma seperti uraian deskriptif, diagram alir, dan pseudocode

Diunggah oleh

Ali Maskuri
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 19

MODUL

ALGORITMA PEMROGRAMAN

TEKNIK KOMPUTER DAN JARINGAN


SMK MINHAJUT THULLAB
Materi Algoritma Pemrograman Dasar
BAB I
PENDAHULUAN

Komputer adalah alat elektronik untuk mengolah data dengan menggunakan program
tertentu untuk menghasilkan informasi.
Fungsi komputer adalah untuk pengolahan data (data processing), sehingga komputer
juga disebut sebagai pengolah data elektronik. Proses dari pengolahan data dengan
menggunakan komputer disebut sebagai Pengolahan Data Elektronik (EDP atau Electronic
Data Processing).
Di dalam komputer, terdapat bagian yang disebut sebagai Software (Perangkat Lunak).
Perangkat lunak ini merupakan program-program yang diperlukan untuk menjalankan
bagian dari komputer yang disebut sebagai Hardware (Perangkat Keras).

A. MACAM-MACAM PERANGKAT LUNAK


1. Operating System (Sistem Operasi) adalah program komputer yang diperlukan
untuk mengatur semua yang kegiatan sistem komputer dan mengendalikan
penggunaan semua perangkat yang dipasang di komputer.
Contoh: UNIX, ZENIX, MS DOS, Win NT.
2. Language Software (Bahasa Komputer) atau Programming Language (Bahasa
Pemrograman) adalah bahasa yang digunakan untuk membuat program komputer.
3. Application Software (Program Aplikasi) adalah program yang diterapkan pada
suatu aplikasi tertentu, misal: untuk mengolah kata, mengolah data, menggambar,
mengaransir musik dan lain sebagainya.
B. BAHASA PEMROGRAMAN
Bahasa pemrograman digunakan sebagai sarana komunikasi untuk menjembatani
hubungan antara manusia dan komputer.
1. Faktor-faktor yang harus diperhatikan:
Sintaksis (tata bahasa yang digunakan) : apabila terjadi kesalahan sintaksis, maka
akan langsung terlihat, karena komputer akan menampilkan pesan salah.
Semantik (maksud yang dikandung dalam setiap pernyataan) : kesalahan semantik
biasanya terjadi karena kekurang pahaman terhadap setiap pernyataan yang dituliskan
pada program. Sehingga walaupun program dapat berjalan, akan tetapi tidak seperti
yang dikehendaki.
Kebenaran logika (benar atau tidaknya urutan pernyataan) : bentuk kesalahan
kebenaran logika merupakan kesalahan dalam mengimplementasikan masalah yang
dihadapi, sehingga program yang ditulis tidak benar secara logika.
2. Pengelompokan bahasa pemrograman:
Tingkat Rendah (Low Level)
Biasanya sulit dipahami karena berhubungan dengan mesin komputer itu sendiri atau biasa
disebut sebagai bahasa mesin.
Contoh : Bahasa Assembler
Tingkat Tinggi (High Level)
Memakai kata-kata dan pernyataan yang mudah dimengerti manusia, meskipun masih jauh
berbeda dengan bahasa manusia sesungguhnya.
Contoh : Bahasa Visual basic, C, C++, visual basic
3. Keterangan-keterangan yang diperlukan dalam penyusunan program
komputer :
Data apa yang akan diproses/tersedia : untuk menentukan tipe data yang diperlukan
oleh program komputer.
Bagaimana data dimasukkan : untuk menentukan jenis instruksi masukan yang akan
digunakan.
Dimana data diletakkan : untuk menentukan variabel-variabel yang harus disediakan
dalam program.
Operator apa saja yang dapat digunakan : untuk menentukan operator-operator
yang diperlukan oleh program.
Bagaimana urutan instruksi disusun : untuk menentukan jenis proses yang
diperlukan (urutan, kondisional/percabangan, pengulangan)
Bagaimana menyampaikan informasi hasil pengolahan : untuk menentukan jenis
instruksi keluaran yang akan digunakan.
4. Kriteria program komputer yang baik:
Terintegrasi dan memiliki logika yang jelas
Efisien terhadap waktu dan penggunaan
memori
Menerapkan prinsip modularitas
Memiliki keluwesan dalam penggunaan
Kesederhanaan
BAB II
ALGORITMA

A. ARTI PENTING ALGORITMA


1. Fase Penyelesaian Masalah (Problem Solving Phase)
Menganalisa dan memahami suatu permasalahan untuk menemukan kemungkinan
penyelesaiannya
Merancang algoritma yang merupakan pola pikir terstruktur yang berisi tahap-tahap
penyelesaian suatu permasalahan
2. Fase Implementasi (Implementation Phase)
Membuat program komputer yaitu mengubah kode dari algoritma yang telah dibuat
ke dalam pernyataan-pernyataan yang sesuai dengan bahasa pemrograman yang
dipakai [coding]
Menjalankan program secara rutin untuk menemukan kesalahan penulisan suatu
pernyataan dalam program [testing] dan menemukan kesalahan program. Kesalahan
yang ditemukan diperbaiki sampai tidak muncul kesalahan lagi [debugging]
Melakukan dokumentasi terhadap setiap langkah yang dilakukan [documentation]
3. Kriteria yang harus dipenuhi oleh prosedur penyelesaian masalah dengan
algoritma:
Setiap langkah harus bersifat pasti atau tertentu (definite)
Terdapat setidaknya satu keluaran (output)
Terstruktur dan sistematis
Memiliki kriteria untuk menghentikan proses

Algoritma yang baik harus bersifat efisien waktu dan penggunaan memori komputer. Hasil
akhir fase penyelesaian masalah adalah penyelesaian dalam bentuk algoritma.
Tujuan algoritma adalah memberikan petunjuk tentang langkah-langkah logika
penyelesaian masalah dalam bentuk yang mudah dipahami nalar manusia sebagai acuan
yang membantu dalam mengembangkan program komputer. Pemahaman terhadap
algoritma akan mencegah sejak dini kemungkinan terjadinya kesalahan logika pada
program komputer yang dikembangkan.
4. Syarat-syarat yang harus dipenuhi oleh suatu algoritma:
Logika prosedur pada algoritma harus cukup mudah dipahami nalar manusia
Validitas prosedur pada algoritma dapat ditelusuri dengan mudah
Tidak menimbulkan kerancuan interpretasi bagi orang lain
Prosedur pada algoritma harus cukup mudah dikonversi ke program komputer
Prosedur pada algoritma tidak terpengaruh atau tergantung pada bahasa pemrograman
apa pun
B. PROGRAM TERSTRUKTUR & ALGORITMA
Program terstruktur memberikan beberapa keuntungan, antara lain :
Penulisan program menjadi lebih teratur
Program tersusun secara sistematis
Program tersusun secara terstruktur
Lebih mudah dipahami
Urutan atau alur proses dalam program menjadi
sederhana dan mudah dipahami
Contoh bahasa pemrograman terstruktur adalah Visual basic,C, C++.
Pengelompokan struktur proses dalam algoritma:
Proses urutan (sequence)
Prosedur proses dalam algoritma yang dilakukan secara urut langkah demi langkah.
Sebuah urutan terdiri dari satu atau lebih instruksi. Tiap instruksi dilaksanakan secara
berurutan sesuai dengan urutan pelaksanaan, artinya suatu instruksi akan dilaksanakan
setelah instruksi sebelumnya telah selesai dilaksanakan.
Proses penyeleksian (selection)
Instruksi dikerjakan jika suatu kondisi tertentu dipenuhi. Dengan adanya proses ini maka
ada kemungkinan beberapa jalur aksi yang berbeda berdasarkan kondisi yang ada.
Proses pengulangan (looping)
Proses melakukan eksekusi suatu program secara berulang-ulang pada suatu blok instruksi
tertentu yang terkendali.
C. NOTASI ALGORITMA
Notasi algoritma bukan merupakan notasi bahasa pemrograman, namun notasi ini dapat
diterjemahkan ke dalam berbagai bahasa pemrograman. Meskipun notasi algoritma tidak
berbentuk baku seperti notasi bahasa pemrograman, namun konsistensi terhadap notasi
perlu diperhatikan untuk menghindari terjadinya kekeliruan.
Bentuk notasi algoritma:
1. Uraian Deskriptif
Dengan notasi bergaya uraian, deskripsi setiap langkah dijelaskan dengan bahasa yang
gamblang. Proses diawali dengan kata kerja seperti baca atau membaca, hitung atau
menghitung, bagi atau membagi, ganti atau membagi, dan sebagainya, sedangkan
pernyataan kondisional dinyatakan dengan jika ... maka ....
Contoh _ menghitung luas dan keliling suatu lingkaran
Algoritma Hitung_Luas_dan_Keliling_Lingkaran
DESKRIPSI:
Masukkan jari-jari lingkaran (r)
Hitung luas lingkaran dengan rumus L = * r2
Hitung keliling lingkaran dengan rumus K = 2 * * r
Tampilkan luas lingkaran
Tampilkan keliling lingkaran
2. Diagram Alir (flowchart)
Flowchart adalah gambaran dalam bentuk diagram alir dari algoritma-algoritma dalam
suatu program, yang menyatakan arah alur program tersebut.
Contoh : menghitung luas dan keliling lingkaran
Simbol-simbol dalam diagram alir:
3. Pseudocode
Notasinya yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Bahasa
Visual basic dan C.
Contoh : menghitung luas dan keliling suatu lingkaran
Algoritma Hitung_Luas_dan_Keliling_Lingkaran
{ Dimasukkan nilai jari-jari lingkaran (r). Hitung & cetak luas &
keliling lingkaran dengan rumus L=phi*r*r dan K=2*phi*r }
DEKLARASI:
const phi = 3.14
r, L, K = real
DESKRIPSI:
read(r)
L phi * r * r
K 2 * phi * r
write(Luas lingkaran = ,L)
write(Keliling lingkaran = ,K)
Summary
Algoritma merupakan himpunan angkah-langkah atau prosedur-prosedur logika yang
harus dilaksanakan untuk menyelesaikan suatu masalah yang berorientasi pada
pemrograman komputer.
Notasi uraian deskriptif bagus jika digunakan dalam algoritma yang pendek, akan tetapi
jika digunakan dalam algoritma yang besar, notasi ini tidak efisien. Selain itu,
perkonversian notasi algoritma ke dalam notasi bahasa pemrograman akan relative sukar.
Diagram alir lebih menggambarkan aliran instruksi di dalam program secara visual
daripada memperlihatkan struktur program.
Penggunaan notasi pseudocode memberikan kemudahan konversi atau translasi ke dalam
notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode
dengan notasi bahasa pemrograman.
BAB III
TEKS ALGORITMA

Teks algoritma yang dimaksud di sini adalah teks pseudocode yang dianggap perlu
untuk menjembatani keragaman dan kompleksitas bahasa sehingga dapat dilakukan
abstraksi Teks ini lebih berorientasi kepada detail design dibandingkan coding
(merupakan rancangan secara prosedural yang selanjutnya dengan mudah dapat ditranslasi
menjadi salah satu program dalam bahasa tertentu)
Contoh bahasa pemrograman yang digunakan adalah Bahasa Visual basic. Jadi dalam
pembahasan berikutnya, translasi teks Algoritma adalah ke dalam teks program Bahasa
visual basic.
Bagian-bagian (blok) dalam teks algoritma:
JUDUL (header) algoritma
DEKLARASI algoritma
DESKRIPSI algoritma
Algoritma NAMA_ALGORITMA
{ Penjelasan mengenai algoritma, yang berisi uraian singkat
mengenai apa yang dilakukan oleh algoritma }
DEKLARASI
{ Semua nama yang dipakai, meliputi nama tipe, nama tetapan,
nama
peubah, nama prosedur dan nama fungsi didefinisikan di sini
}
DESKRIPSI :
{ Semua langkah atau aksi algoritma dituliskan di sini }
Keterangan:
Pasangan tanda kurung kurawal ({ dan }) digunakan untuk memberikan komentar
(untuk memperjelas maksud teks yang dituliskan).
Judul Algoritma
Terdiri dari nama dan penjelasan (spesifikasi) algoritma.
Nama yang digunakan sebaiknya singkat (namun cukup informatif).
Biasanya di bawah nama diberi spesifikasi algoritma.
Algoritma yang akan ditulis nantinya harus sesuai dengan spesifikasi yang
didefinisikan.
Algoritma LUAS_PERSEGI_PANJANG
{ Menghitung luas persegi panjang dengan masukan ukuran panjang dan ukuran lebar, lalu
mencetak hasil luas persegi panjang ke piranti keluaran }
Deklarasi
Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu:
nama tipe
nama konstanta
nama peubah (nama variabel)
nama fungsi, sekaligus spesifikasinya
nama prosedur, sekaligus spesifikasinya
Semua nama tersebut baru dapat digunakan jika telah didefinisikan di dalam
DEKLARASI. Penulisan sekumpulan nama dalam DEKLARASI sebaiknya
dikelompokkan menurut jenis nama tersebut.
Ketentuan-ketentuan dalam pendefinisian nama-nama:
nama peubah belum terdefinisi harganya ketika didefinisikan.
Pendefinisian konstanta sekaligus juga memberikan harganya.
Pendefinisian nama fungsi sekaligus juga dengan domain dan range serta
spesifikasinya.
Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter (jika
ada) dan spesifikasi prosedur (kondisi awal, kondisi akhir dan proses yang
dilakukan).
DEKLARASI
{ Nama tipe, hanya untuk tipe yang bukan tipe dasar }
type Titik : <X:real,Y:real> { koordinat pada sumbu
kartesian }
{ Nama konstanta, harus menyebutkan nilai }
const phi = 3.14
{ Nama peubah (variabel), menyebutkan tipe }
P : Titik { Titik dalam derajat kartesian }
jmlh : integer { Jumlah suatu elemen }
ketemu : boolean { Keadaan hasil pencarian }
{ Spesifikasi Fungsi, menyebutkan nama fungsi, domain dan
range }
function Konversi_Real_Ke_Integer(input i:real)integer
{ Mengkonversi harga i yang bertipe real menjadi harga
ekivalen yang
bertipe integer }
{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi
awal, kondisi
akhir dan proses }
procedure Tukar(input/output A:integer, input/output
B:integer)
{ Kondisi awal : A dan B terdefinisi, A=a dan B=b }
{ Kondisi akhir : A=b dan B=a }
{ Proses : Mempertukarkan nilai A dan B }
Deskripsi
Merupakan bagian inti dari algoritma.Komponen di dalam teks algoritma dapat berupa:
Instruksi dasar seperti input/output, assignment
Urutan (sequence)
Pemilihan
Pengulangan
DESKRIPSI:
read(a)
ba mod 2
if b = 0 then
write(bilangan genap)
else
write(bilangan ganjil)
endif
TRANSLASI TEKS ALGORITMA KE DALAM TEKS PROGRAM BAHASA
VISUAL BASIC
Struktur program Visual basic juga terdiri dari tiga bagian:
1. Judul Program sifatnya opsional dan tidak signifikan. Dapat digunakan untuk
memberi nama program dan sifatnya sebagai dokumentasi saja. Judul program dituliskan
pada awal program dan diakhiri dengan titik koma (;).
2. Bagian Deklarasi digunakan bila di dalam program menggunakan pengenal
(identifier). Identifier dapat berupa label, konstanta, tipe, peubah, prosedur dan fungsi. Jika
suatu program menggunakan identifier, Bahasa Visual basic menuntut supaya identifier
tersebut dikenalkan/dideklarasikan terlebih dahulu sebelum digunakan.
3. Bagian Deskripsi menunjukkan suatu tindakan yang dikerjakan oleh program.
Tindakan yang dilakukan oleh program tergantung pada instruksi-instruksi yang diberikan.
Instruksiinstruksi yang akan diberikan untuk dikerjakan ditulis di antara kata cadangan
Begin dan End. Akhir penulisan dari End diakhiri dengan tanda baca titik (.). Setiap
instruksi per barisnya diakhiri dengan tanda baca titik koma (;).
Translasi
Algoritma Visual basic
Algoritma NAMA_ALGORITMA Private sub commandbutton1_click();
{Penjelasan mengenai {tidak ada judul pada premrograman visual
algoritma, yang berisi basic}
uraian singkat mengenai (* DEKLARASI *)
apa yang dilakukan oleh [const]
algoritma} {semua nama tetapan dan harga tetapannya
DEKLARASI didefinisikan di sini}
{Semua nama yang dipakai, [type]
meliputi nama tipe, nama {semua nama tipe bentukan didefinisikan di
tetapan, nama peubah, sini}
nama prosedur dan nama [var]
fungsi didefinisikan di {semua nama peubah global didefinisikan
sini} di
DESKRIPSI : sini}
{Semua langkah atau aksi {deklarasi prosedur dan fungsi didefinisikan
algoritma dituliskan di di sini}
sini} (* DESKRIPSI *)
{semua instruksi program dituliskan di sini}
End sub.
Beberapa hal penting tentang bahasa visual basic:
1. Bahasa Visual basic tidak membedakan nama yang ditulis dalam huruf besar ataupun
huruf kecil (tidak bersifat case sensitive).
Misal:
I sama saja dengan i
penambahan_satu sama saja dengan PENAMBAHAN_SATU
2. Komentar ditulis di antara tanda { dan } atau di antara (* dan *)
3. Program visual basic tidak mengenal aturan penulisan di kolom tertentu, jadi boleh
dituliskan mulai kolom ke berapapun.
4. Penulisan instruksi-instruksi yang menjorok masuk beberapa kolom tidak memiliki
pengaruh apapun di dalam proses. Hal ini hanya dimaksudkan untuk mempermudah
pembacaan atau dokumentasi program, sehingga akan lebih terlihat bagianbagiannya.
Tabel Translasi Notasi Algoritma Ke Dalam Notasi Bahasa Visual Basic
Kelompok Algoritma Visual basic ket
1. Tipe Dasar boolean Boolean True dan false
integer integer Tipe data untuk bilangan bulat
Real Single Tipe data untuk bilangan decimal
atau pecahan
Char String Tipe data untuk huruf
String String Tipe data untuk teks
2. Operator
a. Aritmatika + + Penjumlahan
Pengurangan
* * Perkalian
/ / Pembagian (hasil pecahan)
div div Pembagian (hasil bulat)
mod mod Sisa pembagian
b. Perbandingan < < Lebih kecil
<= Lebih kecil atau sama dengan
> > Lebih besar dari
>= Lebih besar atau sama dengan
= = Sama dengan
<> Tidak sama dengan
c. Logika not not Tidak
and and Dan
or or Atau
3. Komentar { komentar } { komentar }
(* komentar *)
4. Lain-lain const const
type type
true true
false false
Table Translasi Notasi Algoritma Pengisian Nilai, Pembacaan Dan Penulisan Ke
Dalam Notasi Bahasa Visual Basic
Kelompok Algoritma Visual basic
Penugasan =
Pembacaan dan Penulisan Read,Write Write
write : Menulis keluaran ke layar
Table Translasi Notasi Algoritma Struktur Pemilihan ke dalam Notasi Bahasa Visual
basic
Struktur Algoritma Visual Basic
IF THEN If <kondisi> then If <kondisi> then
Aksi Aksi
End if End if
IF THEN-ELSE If <kondisi> then If <kondisi> Then
Aksi1 Aksi1
Else Else
Aksi 2 Aksi2
End if End If
CASE case nama Select Case <variable>
<kondisi1> : aksi1 Case 0:
<kondisi2> : aksi2 <Proses untuk keadaan
. variabel=0>
. Case 1:
<kondisiN> : aksiN <Proses untuk keadaan
[otherwise aksiX] variabel=1>
endcase .
.
Case N:
<Proses untuk keadaan
variabel=N>
End Select
Table Translasi Notasi Algoritma Struktur Pengulangan ke dalam Notasi Bahasa
Visual basic
Struktur Algoritma Visual Basic
For For menaik For menaik
For pencacah nilai_awal to For variabel = nilai_awal To nilai_akhir
nilai_akhir do [Step langkah]
aksi <Proses dalam pengulangan>
endfor Next variable
For menurun
For menurun: For variabel = nilai_akhir To nilai_awal
for pencacahb downto a do [Step langkah]
aksi <Proses dalam pengulangan>
endfor Next variable
BAB IV
PENYELEKSIAN

Pada umumnya, suatu permasalahan yang kompleks mengandung suatu


penyeleksian kondisi atau dikatakan permasalahan tersebut memiliki beberapa alternatif
pelaksanaan aksi.Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan
tindakan apa yang harus dilakukan, tergantung pada hasil kondisi yang diseleksi tersebut.
Jadi suatu aksi hanya dikerjakan apabila persyaratan atau kondisi tertentu dipenuhi.
A. Notasi algoritmik untuk analisis penyeleksian satu kasus adalah dengan menggunakan
struktur IF-THEN:
If kondisi then
Aksi
Endif
Kondisi akan diseleksi oleh statemen if, bila kondisi bernilai benar (true): aksi sesudah
kata then (dapat berupa satu atau lebih aksi) akan diproses, bila kondisi bernilai salah
(false): tidak ada aksi apapun yang akan dikerjakan. Statemen endif adalah untuk
mempertegas bagian awal dan bagian akhir struktur IF-THEN.

Contoh Penyeleksian Kondisi Satu Kasus


Algoritma BILANGAN_GENAP
{ Menentukan apakah sebuah
bilangan bulat yang dibaca
dari
piranti masukan merupakan
bilangan genap }
DEKLARASI
bil : integer
DESKRIPSI :
read(bil)
if bil mod 2 = 0 then
write(bilangan genap)
endif
B. Penyeleksian Dua Kasus
Notasi algoritmik untuk analisis penyeleksian dua kasus adalah dengan menggunakan
struktur IF-THEN-ELSE:
If kondisi then
Aksi1
Else
Aksi2
Endif
Dalam struktur IF-THEN-ELSE: aksi1 akan dilaksanakan jika kondisi bernilai benar
(true). Jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan.Statemen else
menyatakan ingkaran (negation) dari kondisi.

Contoh Penyeleksian Kondisi Dua Kasus


Algoritma BILANGAN_GANJIL_GENAP
{ Menentukan apakah sebuah bilangan bulat yang dibaca dari
piranti masukan merupakan bilangan genap }
DEKLARASI
bil : integer
DESKRIPSI :
read(bil)
if bil mod 2 = 0 then
write(bilangan genap)
else
write (bilangan ganjil)
endif
C. Penyeleksian Tiga Kasus/Lebih (Tersarang)
Notasi algoritmik untuk analisis penyeleksian tiga kasus atau lebih (tersarang)
menggunakan struktur IF-THEN-ELSE, sebagaimana halnya pada masalah dengan dua
kasus.Notasi Tiga kasus

If kondisi then
Aksi1
Else
If kondisi then
Aksi2
Else
Aksi3
Endif
Contoh Penyeleksian Kondisi tiga Kasus
Algoritma lampu_lalu_lintas
{ Menentukan apakah sebuah bilangan bulat yang dibaca dari
piranti masukan merupakan bilangan genap }
DEKLARASI
warna : string
DESKRIPSI :
read(warna)
if warna = hijau then
write(jalan)
else
if warna = kuning then
write(hati-hati)
else
write (berhenti)
endif

D. Struktur CASE

Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih
dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki
bentuk bertingkat-tingkat.
Kondisi1, kondisi2, ...kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa
nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar:
Jika kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur
CASE
Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa
Runtunan.
Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional)
dikerjakan.

Contoh: Algoritma menentukan nama bulan berdasarkan pada nomor bulannya.


Algoritma NAMA_BULAN
{ Mencetak nama bulan berdasarkan nomor
bulannya }
DEKLARASI
AngkaBulan : integer { 1..12 }
DESKRIPSI :
read(AngkaBulan)
case(AngkaBulan)
AngkaBulan=1 : write(Januari)
AngkaBulan=2 : write(Februari)
AngkaBulan=3 : write(Maret)
AngkaBulan=4 : write(April)
AngkaBulan=5 : write(Mei)
AngkaBulan=6 : write(Juni)
AngkaBulan=7 : write(Juli)
AngkaBulan=8 : write(Agustus)
AngkaBulan=9 : write(September)
AngkaBulan=10 : write(Oktober)
AngkaBulan=11 : write(Nopember)
AngkaBulan=12 : write(Desember)
otherwise write(Bukan nomor bulan yang benar)
endcase
Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa
Fortran). Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak
menyediakan struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-
THEN-ELSE yang ekivalen
Summary
Suatu permasalahan dapat dianalisa berdasarkan jumlah kasus yang dimilikinya,
sehingga nantinya dapat ditentukan aksi apa yang akan dilakukan bila suatu kasus
dimasuki
Struktur penyeleksian adalah berupa struktur IF-THEN (atau IF-THEN-ELSE) dan
struktur CASE
BAB V
PENGULANGAN (LOOPING)

Pengulangan (looping) adalah pelaksanaan suatu instruksi berulangkali.Di dalam


algoritma, pengulangan dapat dilakukan sejumlah kali, atau sampai kondisi berhenti
pengulangan tercapai.
Bentuk Umum Struktur Pengulangan:
<inisialisasi>
awal pengulangan
badan pengulangan
akhir pengulangan
<terminasi>
<inisialisasi>: aksi yang dilakukan sebelum pengulangan dilakukan untuk pertama
kalinya.
badan pengulangan: bagian algoritma yang diulang
<terminasi>: aksi yang dilakukan setelah pengulangan selesai dilaksanakan
<inisialisasi> dan <terminasi> tidak selalu harus ada, namun pada berbagi kasus
inisialisasi umumnya diperlukan
awal dan akhir pengulangan dinyatakan sebagai kata kunci yang bergantung pada
struktur pengulangan yang digunakan

Struktur FOR pengulangan tanpa kondisi (unconditional looping):


jumlah pengulangan sudah diketahui sebelum eksekusi Jumlah pengulangan diketahui atau
dapat ditentukan sebelum eksekusi.
Untuk mencacah sudah jumlah pengulangan diperlukan sebuah peubah (variable)
pencacah (counter). Peubah ini nilainya selalu bertambah satu setiap kali
pengulangan dilakukan
Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka
proses pengulangan berhenti
Bentuk umum struktur FOR: Menaik (ascending),Menurun (descending)
Struktur FOR: menaik
for pencacah nilai_awal to nilai_akhir do
aksi
endfor
pencacah : menggunakan tipe data yang memiliki predecessor dan successor, yaitu
integer atau karakter (tipe riil tidak dapat digunakan sebagai pencacah)
aksi _ satu atau lebih instruksi yang diulang.
nilai_awal harus lebih kecil atau sama dengan nilai_akhir (jika nilai_awal lebih besar
dari nilai_akhir, maka badan pengulangan tidak dimasuki)
pada awalnya pencacah diinisialisasikan dengan nilai_awal. Nilai pencacah secara
otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai
pencacah sama dengan nilai_akhir
jumlah pengulangan yang terjadi = nilai_akhir nilai_awal + 1
Contoh 1: Mencetak tulisan Informatika sebanyak 5 kali
Algoritma CETAK_INFORMATIKA
{ Mencetak Informatika sebanyak 5 kali }
DEKLARASI
k : integer { pencacah pengulangan }
DESKRIPSI :
for k1 to 5 do {ulangi sebanyak 5 kali}
write(Informatika)
endfor
Keterangan:
Jumlah pengulangan sudah ditentukan sebelumnya (5 kali)
Badan pengulangan hanya berisi satu instruksi, yaitu write(Informatika)
k adalah peubah pencacah yang bertipe integer
pada mulanya k bernilai 1, nilai k selalu bertambah 1 setiap kali pengulangan
dilakukan, sampai akhirnya k mencapai 5
Jumlah pengulangan yang dilakukan: 5 1 + 1 = 5 kali
Keluaran dari algoritma CETAK_INFORMATIKA adalah string Informatika
sebanyak 5 kali:
Informatika
Informatika
Informatika
Informatika
Informatika
Struktur FOR: menurun
for pencacah nilai_akhir downto nilai_awal do
aksi
endfor
pencacah : menggunakan tipe data yang memilki predecessor dan successor, yaitu
integer atau karakter (tipe riil tidak dapat digunakan sebagai pencacah.
aksi adalah satu atau lebih instruksi yang diulang)
nilai_akhir harus lebih besar atau sama dengan nilai_awal (Jika nilai_akhir lebih
kecil dari nilai_awal, maka badan pengulangan tidak dimasuki)
pada awalnya pencacah diinisialisasikan dengan nilai_akhir. Nilai pencacah
secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai
pencacah sama dengan nilai_awal.
jumlah pengulangan yang terjadi = nilai_akhir nilai_awal + 1
Contoh: Mencetak angka 5, 4, , 1
Algoritma CETAK_ANGKA_TURUN
{Mencetak 5, 4, ..., 1 ke piranti keluaran}
DEKLARASI
k : integer { pencacah pengulangan }
DESKRIPSI :
for k5 downto 1 do
write(k)
endfor
Keterangan :
Pada algoritma CETAK_ANGKA_TURUN, angka-angka yang dicetak bersesuaian
dengan nilai pencacah pengulangan. Keluaran dari algoritma adalah angka 5 yang turun
sampai ke angka 1:
54321
Summary
Pemilihan struktur pengulangan yang tepat tergantung pada masalah yang akan diprogram
Struktur FOR digunakan pada aksi yang jumlah pengulangannya diketahui atau dapat
ditentukan sebelum eksekusi
Struktur FOR ada 2 macam, yaitu menaik (ascending) dan menurun (descending)

Anda mungkin juga menyukai