Pada postingan kali ini saya akan menjelaskan konsep-konsep dasar algoritma,meliputi beberapa istilah yang sering dipakai dalam pemrograman dan struktur dasar pembangunanalgoritma.Selamat membaca !
Untuk menjelaskan konsep dasar itu,kita mengambil contoh-contoh sederhana yang terdapat dalam kehidupan sehari-hari yang mudah dimengerti.
Seperti yang kita ketahui algoritma merupakan deskripsi langkah-langkah pelaksanaan suatu proses.Setiap langkah di dalam algoritma dinyatakan dalam sebuah pernyataan atau istilah lainnya instruksi.Sebuah pernyataan berisi aksi yang dilakukan.Bila sebuah pernyataan dieksekusi oleh pemroses,maka aksi yang bersesuaian dengan pernyataan itu dikerjakan.
Sebagai contoh,misalkan di dalam algoritma ada pernyataan berikut :
Tulis "Hello World"
maka pernyataan tersebut menggambarkan aksi menulis pesan "Hello World"
Pernyataan :
Jika bulan = 'Januari' maka tulis "jumlah hari = 31"
Terdiri dari dua aksi,yaitu membandingkan nilai variabel bulan dengan 'januari',dan aksi tulis pesan 'jumlah hari = 31' jika perbandingan iut benar.
Di dalam algoritma terdapat beberapa jenis pernyataan,seperti pernyataan ekspresi,pernyataan pemilihan,pernyataan pengulangan,pernyataan prosedur,pernyataan gabungan dan sebagainya.
KONSTRUKSI DASAR ALGORITMA
Sebuah algoritma dapat dibangun dari tiga buah konstruksi atau struktur dasar,yaitu runtunan(sequence),pemilihan(selection),dan pengulangan(repetition).
Gambar di atas merupakan ringkasan dari masing-masing konstruksi algoritma.
RUNTUNAN
Sebuah pernyataan runtunan memiliki 1 atau lebih pernyataan,setiap pernyataan ditulis dalam satu baris atau dipisahkan dengan titik koma (dalam bahasa pascal ;).Dan tiap pernyataan dikerjakan secara berurutan sesuai dengan urutannya dalam teks algoritma,dengan kata lain sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan.Urutan instruksi menentukan keadaan akhir algoritma.Bila urutannya diubah,maka hasil akhirnya mungkin juga berubah.Bila urutannya diubah,maka hasil akhirnya mungkin juga berubah.Runtunan satu atau lebih dari satu pernyataan dinamakan pernyataan gabungan.
Sebagai contoh,di bawah ada 5 pernyataan yang dilambangkan dengan A1,A2,A3,A4 dan A5 :
A1
A2
A3
A4
A5
Pada awalnya pemroses melaksanakan pernyataan A1.pernyataan A2 dilaksanakan setelah pernyataan A1 selesai.Selanjutnya pernyataan A3 dilaksanakan setelah pernyataan A2 selesai.Demikian seterusnya sampai pernyataan A5 selesai.Dan setelah pernyataan A5 selesai maka algoritma berhenti.
Sebagai contoh,mari kita tinjau kembali algoritma mempertukarkan isi dua buah gelas A dan B di dalam postingan sebelumnya :
Algoritma mempertukarkan isi dua buah gelas,A dan B :
1.Tuangkan air dari gelas A ke gelas C
2.Tuangkan air dari gelas B ke gelas A
3.Tuangkan air dari gelas C ke gelas B
2.Masukkan nilai B ke dalam A
maka hasilnya akan salah karena tidak terjadi pertukaran.Oleh karena itu kita memerlukan variabel C untuk membantu masalah ini menjadi benar sehingga algoritmanya menjadi :
1.Masukkan nilai A ke dalam C
2.Masukkan nilai B ke dalam A
3.Masukkan nilai C ke dalam B
PEMILIHAN(SELECTION)
1.Jika lampu traffic light berwarna merah,maka berhenti
Pernyataan di atas dapat ditulis dalam pernyataan-pemilihan/kondisional sebagai berikut :
if kondisi then
aksi
if dan then merupakan kata kunci untuk struktur pemilihan(selection)
Sebagai contoh lain,dalam kehidupan sehari-hari anda dihadapkan oleh banyak pelaksanaan aksi apabila suatu persyaratan terpenuhi :
if air di dalam panci mendidih then
matikan api kompor
if tinta pulpen habis then
isi tinta pulpen
if x habis dibagi 2 then
tulis bahwa x adalah bilangan genap
dan lain-lain sebagainya.
siswa dinyatakan lulus
else
siswa dinyatakan tidak lulus
Dengan notasi pertama repeat N times yang berarti ulangi sebanya N kali,maka algoritmanya dapat kita tulis menjadi :
Algoritma menulis kalimat 100 kali :
repeat 100 times
"Saya berjanji akan selalu mengerjakan PR"
Struktur pengulangan ini dapat ditulis secara umum dengan pernyataan pengulangan :
repeat N times
aksi
1.Tuangkan air dari gelas A ke gelas C
2.Tuangkan air dari gelas B ke gelas A
3.Tuangkan air dari gelas C ke gelas B
Algoritma di atas adalah sebuah runtunan yang memiliki tiga buah pernyataan.Tiap pernyataan dieksekusi sesuai urutan algoritma yang tertulis dalam teks.Hasil akhirnya adalah gelas A berisi air dari gelas B semula,dan gelas B berisi air dari gelas A semula.
Algoritma mempertukarkan isi dua gelas sama dengan mempertukarkan nilai dari dua buah variabel.Misalkan variabel A berisi nilai 10 dan variabel B berisi nilai 5.Kita ingin mempertukarkan nilai A dan B sedemikian sehingga A bernilai 5 dan B bernilai 10.Apabila anda menulis algoritmanya seperti ini :
1.Masukkan nilai A ke dalam B2.Masukkan nilai B ke dalam A
maka hasilnya akan salah karena tidak terjadi pertukaran.Oleh karena itu kita memerlukan variabel C untuk membantu masalah ini menjadi benar sehingga algoritmanya menjadi :
1.Masukkan nilai A ke dalam C
2.Masukkan nilai B ke dalam A
3.Masukkan nilai C ke dalam B
PEMILIHAN(SELECTION)
Pada pernyataan ini,yang dimaksud dengan pemilihan adalah,kadang kala dalam sebuah masalah,satu instruksi akan dikerjakan jika kondisi tertentu dipenuhi.Contoh : Anda tiba di perempatan yang ada traaffic light,maka kendaraan anda harus berhenti :
Pernyataan di atas dapat ditulis dalam pernyataan-pemilihan/kondisional sebagai berikut :
if kondisi then
aksi
Dalam Bahasa Inggris,if artinya "jika" dan "then" artinya maka.Kondisi yang dimaksudkan adalah sebuah persyaratan yang dapat bernilai benar atau salah.Aksi sesudah kata then dapat dijalankan apabila kondisi bernilai benar.Sebaliknya apabila kondisi bernilai salah,maka aksi tidak dapat dilaksanakan.
if dan then merupakan kata kunci untuk struktur pemilihan(selection)
Sebagai contoh lain,dalam kehidupan sehari-hari anda dihadapkan oleh banyak pelaksanaan aksi apabila suatu persyaratan terpenuhi :
if air di dalam panci mendidih then
matikan api kompor
if tinta pulpen habis then
isi tinta pulpen
if x habis dibagi 2 then
tulis bahwa x adalah bilangan genap
dan lain-lain sebagainya.
Struktur pemilihan di atas merupakan struktur pemilihan if sederhana yang hanya memberikan satu pilihan aksi bila kondisi terpenuhi(bernilai benar),dan tidak memberikan pilihan aksi lain bila kondisi bernilai salah.
Bentuk pemilihan yang lebih umum adalah memilih satu dari dua buah aksi tergantung pada nilai kondisinya (if-else) :
if kondisi then
aksi 1
else
aksi 2
Penjelasan :
Else berarti "jika tidak.Bila kondisi terpenuhi maka aksi 1 akan dikerjakan,akan tetapi jika tidak (kondisi bernilai salah) maka aksi 2 yang akan dikerjakan.Contohnya :
if nilai siswa = >60 thensiswa dinyatakan lulus
else
siswa dinyatakan tidak lulus
Jika (kondisi) nilai siswa di atas 60 maka (aksi 1) siswa dinyatakan lulus jika tidak (aksi 2) siswa dinyatakan tidak lulus.
Contoh lain adalah menentukana bilangan yang nilainya terbesar dari 2 buah bilangan x dan y :
if x>y then
tulis nilai x
else
tulis nilai y
Nah,berikutnya apabila pilihan aksi yang akan dilakukan lebih dari 2 buah,maka struktur pemilihan menjadi lebih rumit.Contoh sebagai berikut :
if lampu traffic light berwarna merah then
berhenti
else
if lampu traffic light berwarna kuning then
kecepatan dikurangi
else
kendaraan jalan
Penjelasan (mohon dibaca baik-baik):
Untuk masalah traffic light yang mempunyai lebih dari 2 pilihan aksi maka runtunan di atas termasuk pada (if bertingkat).Jika lampu berwarna merah maka berhenti,jika tidak,jika lampu berwarna kuning maka kecepatan dikurangi jika kedua kondisi di atas tidak terpenuhi (dengan kata lain lampu berwarna hijau) maka kendaraan jalan.
PENGULANGAN
Perbedaan manusia dan komputer ialah,manusia cepat lelah dan bosan apabila mengerjakan pekerjaan yang sama berulang kali.Beda dengan komputer yang mempunyai kemampuan untuk mengerjakan pekerjaan yang sama berulang kali tanpa kenal lelah.
Bagaimana menuliskan sebuah kalimat yang sama sebanyak 100 kali ?Pada waktu duduk di SD mungkin kita pernah dihukum oleh guru untuk menuliskan satu kalimat sebanyak n kali,misalnya karena anda tidak membuat PR.Contoh kalimat "Saya berjanji akan selalu mengerjakan PR".
Jika algoritmanya seperti ini :
1.Saya berjanji akan selalu mengerjakan PR
2.Saya berjanji akan selalu mengerjakan PR
3Saya berjanji akan selalu mengerjakan PR
.
.
99.Saya berjanji akan selalu mengerjakan PR
100.Saya berjanji akan selalu mengerjakan PR
Tentu algoritma di atas tidak bagus dilihat,karena instruksi "Saya berjanji akan selalu mengerjakan PR"harus ditulis dalam algoritma sebanyak 100 kali.Nah,agar kita tidak usah menuliskan aksi yang sama berulang kali kita dapat menggunakan notasi pengulangan.Di dalam algoritma terdapat banyak notasi pengulangan antara lain :
1.Pengulangan repeat N times.
2.Pengulangan for.
3.Pengulangan repeat-until.
4.Pengulangan while.
Dengan notasi pertama repeat N times yang berarti ulangi sebanya N kali,maka algoritmanya dapat kita tulis menjadi :
Algoritma menulis kalimat 100 kali :
repeat 100 times
"Saya berjanji akan selalu mengerjakan PR"
Struktur pengulangan ini dapat ditulis secara umum dengan pernyataan pengulangan :
repeat N times
aksi
yang artinya aksi dikerjakan berulang kali sebanyak N kali.
Struktur pengulangan kedua yaitu for.Ini yang sedikit mirip dengan repeat N times :
for pengulangan bilangan dari 1 sampai N do
aksi
artinya aksi dilakukan sebanyak hitungan cacah pengulangan,yaitu dari 1-N (sebanyak N kali).Nilai pencacah juga bisa diset dengan nilai lain selain mulai dari 1.Contoh masalah penulisan 100 kalimat dengan pengulangan for adalah sbb :
Algoritma :
for i dari 1 sampai 100 do
Tulis "Saya berjanji akan selalu mengerjakan PR"
i adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 100.
Struktur pengulangan yang ketiga yaitu repeat-until yang berarti ulangi-hingga yang mempunyai bentuk sebagai berikut :
repeat
aksi
until kondisi
yang artinya pengulangan aksi dilakukan hingga kondisi (persyaratan) berhenti terpenuhi.Contoh masalah penulisan kalimat 100 kali dengan notasi repeat-until menjadi :
Algoritma tulis kalimat 100 kali :
repeat
Tulis "Saya berjanji akan selalu mengerjakan PR"
until sudah 100 kali
Struktur pengulangan kedua yaitu for.Ini yang sedikit mirip dengan repeat N times :
for pengulangan bilangan dari 1 sampai N do
aksi
artinya aksi dilakukan sebanyak hitungan cacah pengulangan,yaitu dari 1-N (sebanyak N kali).Nilai pencacah juga bisa diset dengan nilai lain selain mulai dari 1.Contoh masalah penulisan 100 kalimat dengan pengulangan for adalah sbb :
Algoritma :
for i dari 1 sampai 100 do
Tulis "Saya berjanji akan selalu mengerjakan PR"
i adalah pencacah pengulangan yang mencacah pengulangan dari 1 sampai 100.
Struktur pengulangan yang ketiga yaitu repeat-until yang berarti ulangi-hingga yang mempunyai bentuk sebagai berikut :
repeat
aksi
until kondisi
yang artinya pengulangan aksi dilakukan hingga kondisi (persyaratan) berhenti terpenuhi.Contoh masalah penulisan kalimat 100 kali dengan notasi repeat-until menjadi :
Algoritma tulis kalimat 100 kali :
repeat
Tulis "Saya berjanji akan selalu mengerjakan PR"
until sudah 100 kali
Struktur pengulangan yang keempat yaitu while-do (while = selama/selagi) :
while kondisi do
aksi
yang artinya selama kondisi pengulangan masih bernilai benar maka aksi dikerjakan.Perbedaan pengulangan while-do dengan repeat-until adalah pengulangan while-do mengevaluasi kondisi pengulangan di awal pengulangan,sedangkan repeat-until mengevaluasi kondisi di akhir pengulangan.
Sekian postingan kali ini mengenai Struktur Dasar Algoritma.Untuk postingan berikutnya akan membahas mengenai pembuatan program dasar pada bahasa pemrograman Visual Basic 6.0.Semoga ilmu yang dishare dapat bermanfaat ! Terima Kasih !
yuhuuu....bermanfaat min
ReplyDeletelem lcd touchscreen