Anda di halaman 1dari 5

Belajar Algoritma dengan penerapan dalam kehidupan sehari-hari

Saya ko ga ngerti terus ya penjelasan dari pa dosen tentang dasar algoritma? tiap pelajaran algo ngedumel mulu karena saya ga bisa ngambil pengertian dari penjelasan sang dosen.saya analisis hal ini disebabkan 3 kemungkinan : a. Dosen yang ga oke ngajarnya b. Saya mengidap sindrom susah ngerti stadium lanjut c. Dua-dua nya benar Saya sih lebih cenderung ke jawaban C karena ga mau nyalahin dosen dengan semua kebingungan yang saya derita. Hal itu ga membuat saya patah arang buat belajar. Setelah surfing dari beberapa artikel ahirnya saya nemu artikel dan penjelasan yang klop dengan otak saya. Artikel ini saya ambil dari blog nya Kang Widi,ternyata ga perlu penjelasan di power point dengan ratusan slide, cukup penjelasan sederhana dengan implementasi dari kehidupan sehari-hari. Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah bisa berupa runtunan, pemilihan, dan pengulangan. Ketiga langkah itulah yang menyusun algoritma. Jadi, sebuah algoritma dapat ditempuh dengan ketiga struktur dasar tersebut. Berikut saya coba jabarkan satu-persatu. Runtunan (Sequence) Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap-tiap instruksi dilaksanakan secara berurutan sesuai dengan urutan penulisannya; sebuah instruksi baru bisa dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menentukan keadaan akhir algoritma. Kalau urutannya diubah, kemungkinan besar hasil akhirnya akan berubah. Misal: Seorang ibu berbelanja di mall. Dia melewati beberapa toko; toko perhiasan, toko baju, toko sepatu, dan toko tas. Ketika itu dia iseng! belilah dia satu set perhiasan mas. Namun setelah berjalan beberapa meter dia berjumpa dengan toko tas. Karena dia sadar kalau dirinya membutuhkan tas baru; dia akan menyesal dengan mengatakan seandainya toko perhiasan tadi ada setelah toko tas!? JUST KIDDING =) Misalnya: Ada dua buah bejana, A dan B; bejana A berisi larutan kopi,bejana B berisi larutan susu. Pertukarkan kedua isi bejana itu,sehingga A berisi larutan susu, dan B berisi larutan kopi. Tidak boleh jadi kopi susu!? Kita tanyakan Algoritma!? Jawabannya: ada tiga langkah, yaitu: 1. Tuangkan larutan dari bejana A ke dalam bejana C. (cuci bersih dulu bejana A kalo bisa!?) 2. Tuangkan larutan dari bejana B ke dalam bejana A. (cuci juga bejana B!? =)) 3. Tuangkan larutan dari bejana C ke dalam bejana B. Selesai.. Gak jadi kopi susu, kecuali anda minum isi kedua bejana itu dan mencampurnya di perut anda. Pemilihan (Selection) Kadangkala sebuah instruksi dikerjakan setelah kondisi tertentu terpenuhi. Dalam bahasa pemrograman, ini dikenal dengan if dan then.Kondisi adalah persyaratan yang dapat

dinilai benar atau salah sehingga akan memunculkan aksi yang berbeda dengan kondisi yang berbeda. Gampangnya, lansung contoh! Dalam kehidupan sehari-hari kita sering punya pilihan semacam ini: if Widi memperoleh juara kelas then ayah akan membelikannya sepeda if Jalan Dago macet then ambil alternatif Jalan Dipati Ukur if Mobilmu rusak then pakai saja motorku Tampak struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi dipenuhi atau bernilai benar dan tidak memberikan aksi lain bila kondisi salah. Bentuk pemilihan yang lebih umum adalah memilih satu dari dua aksi bergantung pada nilai kondisinya, seperti: if hari hujan then pergilah dengan naik taxi else pergilah dengan naik motor di sini secara logika; jika kondisi hari hujan benar, maka aksi pergi naik taxi dilakukan. Sebaliknya jika kondisi hari hujan bernilai salah, maka aksi pergi naik motor akan dilaksanakan. Dan, tidak ada pilihan aksi turun ke jalan!? =) Contoh yang lebih kompleks dapat ditemui dalam pemilihan dengan tiga atau lebih variable, seperti penentuan bilangan terbesar dari tiga buah bilangan; x, y, dan z. if x > y then if x > z then tulis x sebagai bilangan else tulis z sebagai bilangan else if y > z then tulis y sebagai bilangan else tulis z sebagai bilangan

terbesar terbesar terbesar terbesar

Contoh di atas biasa disebut dengan pemilihan bersarang. Coba anda buat mejadi 4 atau lebih variablenya!? =)

Pengulangan (Repetition) Salah satu kegunaan pemrograman adalah untuk memudahkan pekerjaan yang harus dilakukan berulang-ulang tanpa capek!? Cerita sedikit nih! =) Sewaktu saya duduk di sekolah dasar, pernah suatu hari dihukum guru karena tertidur dikelas pada jam pelajaran terakhir. Anda tau hukumannya? Menulis kalimat saya berjanji tidak akan tidur di kelas lagi sebanyak 300 kali karena saya masih duduk di kelas 3. Tapi untungnya guru saya ini gak jelasin dimana saya harus menulisnya.

Keesokan harinya saya terpaksa merengek ke mak saya untuk dibolehkan membawa laptop kesayangan saya ke sekolah!? Sebelumnya pada malam harinya saya sudah membuat program kecil untuk mengulang tulisan saya berjanji tidak akan tidur di kelas lagi sebanyak apapun yang saya mau!? =) akhirnya! guru saya itu cuman bisa geleng kepala!? greetz trik huh!? Sebenarnya program pengulangan saya waktu itu hanya mengimplementasikan algoritma repeat-until (repeat artinya ulang sedangkan until artinya sampai), sehingga logaritmanya bisa dituliskan seperti: pencatat_jumlah_kalimat = 0 repeat tulis saya berjanji tidak akan tidur di kelas lagi naikkan pencatat_jumlah_kalimat dengan 1 until pencatat_jumlah_kalimat = 300 Pemroses akan melaksanakan aksi tulis tersebut sebanyak 300 kali. Struktur pengulangan tersebut dapat ditulisakan secara umum menjadi: repeat aksi until kondisi Dalam istilah bahasa pemrograman, pengulangan di istilahkan loop. Nah, mari kita coba pencarian seperti berikut ini: kombinasikan ketiganya dalam sebuah algoritma

Sebuah tabel data sudah berisi data nomor ID, login ID, dan password login ke mesin absensi.Carilah dalam tabel password seorang karyawandengan nomor ID tertentu. 1. Baca nomor ID pertama dalam tabel 2. repeat if nomor ID yang dibaca sama dengan nomor ID yang dicari maka tulis password karyawan yang bersangkutan stop else baca nomor ID berikutnya di dalam tabel until nomor ID yang dicari sudah ditemukan atau seluruh isi tabel dibaca. Struktur repeat-until hanya satu diantara beberapa struktur pengulangan yang saya angkat saat ini. Ada beberapa struktur pengulangan lain seperti while-do, for dan sebagainya. Pada seri berikutnya pasti akan tersertakan dengan sendirinya. Dalam mempelajari algoritma, anda nggak dituntut untuk menguasai ilmu eksak. Hal mutlak yang diperlukan dalam mempelajari algoritma adalah logika anda dalam menganalisis suatu permasalahan. Kalo anda sukanya menghayal, siap-siap saja anda bakal boring mempelajari algoritma ;P

Ada 2 hal penting yang mesti anda tau dari algoritma. Pertama, Algoritma harus benar. Maksudnya disini, setiap masalah yang anda coba uraikan dalam bentuk program mesti menghasilkan hasil yang benar. Contohnya, anda bikin program penjumlahan 2 tambah 3. hasilnya harus 5, khan?! kalo diluar itu, itu berarti algoritma anda dalam program kacau (atau bisa aja andanya yang lagi error). Hal penting kedua, algoritma harus berhenti. Contoh sederhananya seperti algoritma intrusion. Algoritma tsb berhenti setelah melewati proses Covering Track & Installing Backdoor (walaupun dalam prakteknya anda muter menjalankan tahapan intrusion tersebut tapi akhirnya anda akan sampai juga pada tahap Covering Track & Installing Backdoor, khan?!). Dan bila anda mengalami kebuntuan dalam mendesign algoritma suatu masalah, langkah yang perlu anda lakukan adalah dengan melihat/menganalisis masalah tersebut secara menyeluruh setelah itu anda coba uraikan/bagi permasalahan tersebut sehingga menjadi kumpulan permasalahan yang lebih sederhana. Untuk artikel kali ini, saya mencoba untuk ngelanjutin bahas tentang struktur pengulangan menggunakan while do dan for, (ngelanjutin artikel STRUKTUR DASAR ALGORITMA. *WhileDo* Struktur perulangan WhileDo tidak terlalu jauh berbeda dengan struktur perulangan RepeatUntil. Bila pada RepeatUntil memungkinkan terjadinya proses terlebih dahulu sesudah itu baru terjadi pengecekan kondisi, tetapi pada WhileDo, anda tidak akan dapat menjalankan baris-baris aksi bila syarat/kondisi yang memungkinkan aksi itu dijalankan tidak sesuai. While artinya sementara, sedangkan Do artinya kerjakan, jadi bila diindonesiakan sintaksnya sendiri berbentuk seperti ini : Sementara /kondisi terpenuhi/ Kerjakan aksi dijalankan selesai Contoh penggunaan WhileDo seperti ini, misalnya anda ingin mencetak kalimat saya suka k-elektronik di layar sebanyak 10 kali, menggunakan WhileDo maka sintaksnya akan seperti ini: pencacah <- 1; /inisialisasi awal thd pencacah, mengisi nilai awal ke pencacah/ while pencacah <=10 do cetak saya suka k-elektronik; endwhile; Penjelasan sintaksnya seperti ini. Pada mulanya pencacah diisi dengan nilai 1. Sebelum memasuki badan pengulangan, kondisi pencacah <=10 diperiksa apakah bernilai benar, karena 1 <= 10 adalah benar, maka aksi cetak saya suka k-elektronik dijalankan. Sehingga keluaran yang tercetak : saya suka k-elektronik Selanjutnya nilai pencacah dinaikkan menjadi 2, siklus pengulanagn kembali dijalankan sampai nilai pencacah dinaikkan 11 maka kondisi pengulangan bernilai salah, pengulangan dihentikan.

* FOR Struktur pengulangan FOR tidak melibatkan penggunaan kondisi seperti pada struktur perulangan RepeatUntil ataupun WhileDo. Struktur FOR ada dua macam yaitu, menaik (ascending) yang ditandai dengan kata to dan menurun (descending) yang ditandai dengan kata downto untuk sintaksnya: FOR pencacah endfor <nilai_awal to/downto nilai_akhir aksi dijalankan

Untuk FOR menaik, nilai awal harus lebih kecil dari nilai akhir. Tetapi pada FOR menurun nilai awal harus lebih besar dari nilai akhir. Contoh sintaks : - Untuk FOR menaik FOR pencacah <- 1 to 10 do Cetak saya suka k-elektronik endfor - Untuk FOR menurun FOR pencacah <- 10 downto 1 do cetak saya suka k-elektronik endfor

Anda mungkin juga menyukai