PENDAHULUAN ALGORITMA

Tujuan Instruksi Umum (TIU):

1

• Mampu memahami suatu masalah dan mampu mencari solusi pemecahannya dan mampu menuangkan langkah-langkah pemecahan masalah tersebut dalam bentuk notasi alami, flowchart ataupun psudocode. Tujuan Instruksi Khusus (TIK): • Mengetahui pengertian umum tentang algoritma, flowchart, pseudocode dan program • Mengetahui struktur dasar Algoritma • Mampu membuat dan membaca algoritma sederhana. • Mampu menerangkan hubungan masalah-algoritma-program komputer • Mampu menganalisa masalah dan menerjemahkannya ke dalam bentuk pseudocode dan notasi alami. Pembahasan Materi: • Pengertian algoritma • Penulisan algoritma • Tahapan pelaksanaan pemrograman komputer • Implementasi algoritma menjadi program • Struktur dasar algoritma

1.1

Pendahuluan Sebuah algoritma merupakan deskripsi pelaksanaan suatu proses, dimana algoritma disusun oleh

sederetan langkah instruksi yang logis. Dengan kata lain algoritma adalah urutan langkah-langkah atau instruksiinstruksi logis yang harus dilaksanakan untuk memecahkan masalah. Kata logis merupakan kata kunci dalam sebuah algoritma. Langkah-langkah di dalam algoritma harus logis, ini berarti hasil dari urutan langkah-langkah tersebut harus dapat ditentukan, benar atau salah. Langkahlangkah yang tidak benar dapat memberikan hasil yang salah. Sebagai contoh, tinjau persoalan mempertukarkan isi dua gelas, A dan B. Gelas A berisi air kopi, sedangkan gelas B berisi air susu. Kita ingin mempertukarkan isi kedua gelas itu sedemikian sehingga gelas A berisi air susu dan gelas B berisi air kopi. Jika kita langsung menuangkan air kopi yang ada di gelas A langsung ke gelas B maka yang didapatkan adalah gelas A menjadi kosong dan gelas B menjadi air kopi susu, begitu juga sebaliknya.

Pusat Pengembangan Bahan Ajar - UMB

Nur Ani, ST ALOGARITMA PEMROGRAMAN 1

Sebut gelas tambahan tersebut gelas C. Deskripsi: Tuangkan kopi dari gelas A ke dalam gelas C (gelas A menjadi kosong). Bandingkan dengan pernyataan berikut: “Lakukan langkah di bawah ini sebanyak 10 kali”. A dan B. 3. pernyataan tersebut jelas akan membingungkan karena tidak ada yang membatasi berapa banyak perintah yang harus dijalankan. gelas B berisi air susu. Algoritma dapat dituliskan dalam 3 bentuk/ notasi. pernyataan “Lakukan langkah di bawah ini beberapa kali”. Output Algoritma yang baik adalah algoritma yang menghasilkan output atau keluaran yang merupakan hasil dari pengolahan data masukan. Pusat Pengembangan Bahan Ajar . Dengan menggunakan gelas bantu C ini. Finiteness Algoritma yang baik harus ada akhir atau berhenti setelah mengerjakan sederetan instruksi. 2. Tuangkan susu dari gelas B ke dalam gelas A (gelas B menjadi kosong). penggunaan flowchart lebih menggambarkan urutan instruksi secara visual sehingga memudahkan orang awam dalam membaca urutan instruksi tersebut. 1. Effectiveness Algoritma yang baik adalah algoritma yang mempunyai langkah-langkah atau instruksi yang effektif yaitu algoritma yang memiliki langkah yang paling sederhana.UMB Nur Ani. Input Algoritma yang baik harus memiliki masukan data untuk diolah. 4. gelas A berisi air kopi.2 Penulisan Algoritma Algoritma bersifat programming language independent. Masukan adalah besaran atau nilai yang diberikan kepada algoritma. Defineteness Setiap langkah algoritma harus didefinisikan dengan tepat dan jelas sehingga tidak menimbulkan makna ganda(ambiguous). Knuth harus memenuhi lima hal berikut ini: 1. masukan biasanya diberikan di awal penulisan. 5. sehingga dapat dikerjakan dalam waktu yang cukup wajar. Pertukarkan isi kedua gelas itu sedemikian sehingga gelas A berisi air susu dan gelas B berisi air kopi.Untuk mempertukarkan isi dua gelas tersebut. kita memerlukan sebuah gelas tambahan yang diperlukan sebagai tempat penampungan sementara. Tuangkan kopi dari gelas C ke dalam gelas B. Sebagai contoh. yaitu: (1) Flowchart. Algoritma yang tiada akhir atau tidak dapat berhenti bukan merupakan algoritma yang baik. untuk menghitung luas segitiga kita membutuhkan nilai alas dan nilai tinggi. Sebagai contoh. ST ALOGARITMA PEMROGRAMAN 1 . sehingga luas segitiga dapat dihitung. Syarat algoritma yang baik menurut Donald E. yang maksudnya adalah penulisan algoritma tidak terikat dengan bahasa pemrograman tertentu. tetapi algoritma dapat diterapkan untuk berbagai bahasa pemrograman. algoritma mempertukarkan isi dua buah gelas yang benar adalah sebagai berikut ini: Algoritma Tukar Isi Gelas: Diberikan dua buah gelas.

.. dapat menggunakan kata berikut: isi. while... kurangi. dapat menggunakan kata berikut: ulangi.. rekam.end if. print luas : Cetak Ls Selesai Pusat Pengembangan Bahan Ajar . Untuk menyatakan proses penghitungan. selama. Untuk menyatakan proses pengulangan.end for. tetapi untuk masalah yang cukup kompleks penggunaan notasi alami tidak disarankan karena akan menyulitkan saat pengkonversian ke dalam bahasa pemrograman....14 3. Contoh: Buatlah algoritma untuk mencari luas sebuah lingkaran.then... read. (3) Pseudocode.14 Ls  Pi * R * R Penulisan dalam bentuk pseudocode dapat dituliskan sebagai berikut: 1.lakukan..do...while. maka BIT menggunakan beberapa istilah seperti berikut ini: • • • • • Untuk mendapatkan data masukan.sampai...then. ST ALOGARITMA PEMROGRAMAN 1 ...... display.. write.. get. Untuk menyatakan proses pemilihan: if..(2) Bahasa/ notasi alami. Untuk menyatakan hasil keluaran. tampilkan. baca data.. dapat menggunakan pernyataan berikut: tulis... do.do. Masukkan nilai jari-jari (R) 2. masukkan.. luas = Pi * R * R 4.... Pi= 3.. baca file.. R2 Dalam bentuk flowchart.akhir jika. Dengan menggunakan bahasa alami maka akan memudahkan pengguna dalam memahami algoritma tersebut. Untuk menyatakan proses pemilihan.. if. permasalahan di atas dapat digambarkan sebagai berikut: Berikut ini adalah penulisan algoritma dengan menggunakan notasi Bahasa Indonesia Terstruktur (BIT): 1.. cetak......until..... baca.... Pseudocode menggunakan beberapa istilah seperti: • • • • Untuk mendapatkan data masukan: input. dan sebagainya. Hitung luas = Pi * R * R 4... Cetak nilai Luas mulai Input R Pi  3. dapat menggunakan kata berikut: jika.UMB Nur Ani.. umunya menyerupai bahasa Pascal atau C.. read R 2.14 3. key-in.else. Untuk menyatakan hasil keluaran: print. Berdasarkan permasalahan tersebut kita ketahui untuk mencari luas segitiga dapat dihitung dengan menggunakan rumus matematis: Luas Segitiga = Л.. for. Untuk menyatakan proses pengulangan: repeat.maka. dapat menggunakan kata berikut: hitung. Supaya tidak menyulitkan dalam pembuatan maupun pembacaan algoritma.sebaliknya... contohnya menggunakan Bahasa Indonesia Terstruktur (BIT).. Tetapkan nilai Pi = 3... jumlahkan.. adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi.

kemudian apa saja yang dapat dipecahkan dengan program komputer dan selanjutnya kita menentukan juga masukan seperti apa yang diperlukan dan keluaran yang bagaimana yang diinginkan. ST ALOGARITMA PEMROGRAMAN 1 . Untuk memahami proses yang terjadi pada tahap coding dapat dilihat dari gambar di bawah ini: Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi + Linking Program dalam Bahasa Mesin Interpretasi oleh CPU Operasi (baca. Mendefinisikan Masalah. Pendefinisian atau pemahaman masalah adalah tahapan pertama yang penting karena pada tahap ini kita menentukan masalahnya. Memilih algoritma. Pada tahap ini yang harus dilakukan adalah mencari jalan bagaimana masalah tersebut diselesaikan. Berikut ini adalah tahapan yang harus dilakukan dalam pembuatan program komputer: 1. Menentukan solusi. Selanjutnya. perbandingan. Menulis program. tulis. 2.1. Pemilihan algoritma merupakan tahap yang cukup penting karena jika salah menentukan algoritma yang dipilih maka akan menyebabkan program menghasilkan unjuk kerja atau performa yang kurang optimal. program dikompilasi dan diterjemahkan menjadi program dalam bahasa mesin dan di. Tahap penulisan program dalam sebuah bahasa pemrograman atau biasa disebut tahap coding.UMB Nur Ani. dsb) Keterangan: Algoritma di translasikan menjadi program dalam bahasa tingkat tinggi. Pada tahap ini algoritma diterjemahkan ke dalam bahasa pemrograman tertentu. hitung.link dengan berkas library. yang kemudian akan diproses oleh komputer. 3.3 Tahapan Pelaksanaan Pemrograman Komputer Setelah kita mengetahui apa yang dimaksud dengan algoritma dan bagaimana membuat sebuah algoritma. Operasi yang bersesuaian dengan setiap instruksi dilaksanakan. Tetapi sebelum itu kita harus melihat secara keseluruhan tahapan dalam pemrograman komputer. 4. tahapan selanjutnya adalah bagaimana kita menerapkannya dalam bahasa pemrograman. Instruksi dalam bahasa mesin diinterpretasikan oleh CPU. Pusat Pengembangan Bahan Ajar .

cout<< “Belajar Algoritma \n”. dokumentasi dapat memberikan penjelasan tentang algoritma yang digunakan oleh si pembuat program. kemudian program diuji kembali untuk melihat apakah program menghasilkan keluaran yang diinginkan. Dalam Pascal: Writeln(‘Belajar Algoritma’). PASCAL. yaitu: (1) Pembacaan/ pemasukan data ke dalam komputer (Input) (2) Melakukan penghitungan terhadap data tersebut (Proses) (3) Mengeluarkan/ mencetak hasilnya (Output) Bahasa pemrograman dapat diklasifikasikan menjadi dua: (1) Low level language / bahasa tingkat rendah yang berorientasi pada mesin. 6. Pusat Pengembangan Bahan Ajar . ST ALOGARITMA PEMROGRAMAN 1 . bahasa pemrograman tingkat tinggi. contohnya: bahasa mesin / machine language dan bahasa rakitan / assembly language. Menguji program. Setelah program selesai ditulis. Suatu program komputer pada umumnya berisi 3 hal. C. C ataupun C++. (2) High level language/bahasa tingkat tinggi adalah bahasa pemrograman yang berorientasi pada manusia. Tahap ini dapat dilakukan setelah program selesai dibuat dan telah digunakan. Sedangkan bahasa pemrograman dapat didefinisikan sebagai program yang berisikan instruksiinstruksi yang dimengerti oleh komputer. Program dapat didefinisikan sebagai sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu.4 Implementasi Algoritma Menjadi Program Seperti telah dibahas pada sub bab sebelumnya. Dalam pembuatan program komputer umumnya menggunakan seperti Bahasa Pascal. Bahasa pemrograman ini disebut juga bahasa generasi ketiga atau 3GL. sehingga menghasilkan suatu keluaran / output yang diharapkan. Tahap ini dapat dilakukan bersamaan dengan tahap penulisan program.UMB Nur Ani. FORTRAN. dapat dilakukan pengujian untuk melihat apakah program yang sudah dibuat berhasil di kompilasi dengan baik. C++.5. Sebagai contoh: Dalam C: Dalam C++: printf (“Belajar Algoritma\n”). setelah algoritma dibuat maka tahap selanjutnya adalah meng-implementasikannya ke dalam program komputer yang dapat dituliskan dalam bahasa pemrograman tertentu. contohnya memberikan komentar pada program untuk menjelaskan program tersebut. Menulis dokumentasi. maka diperlukan compiler C untuk menerjemahkan program tersebut menjadi instruksi bahasa mesin yang kemudian diproses oleh komputer. Tahap ini terkadang dianggap tidak penting dan seringkali diabaikan. Sebagai contoh apabila algoritma dituliskan dalam bahasa C. 7. sesungguhnya dokumentasi sangat penting terlebih untuk program yang cukup kompleks dimana pembuatan program dilakukan oleh lebih dari satu orang. Merawat program. Perintah-perintah yang digunakan dalam bahasa tingkat tinggi (bahasa generasi ke-3) umumnya menggunakan bahasa Inggris. COBOL. 1. Contohnya : BASIC.

ST ALOGARITMA PEMROGRAMAN 1 . Contoh bahasa pemrograman yang menggunakan compiler adalah Pascal. Langkah-langkah tersebut dapat berupa runtunan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Hasil penerjemahan tersebut dapat disimpan dalam memori sementara ataupun dapat disimpan dalam sebuah file terpisah. Jadi. Pemilihan (selection). 2. Sebagai contoh. sebuah algoritma dapat dibangun dari tiga buah struktur dasar. Interpreter merupakan perangkat lunak yang digunakan untuk menerjemahkan program baris per baris. saat peserta ujian telah selesai mengerjakan ujian tetapi waktu ujian masih ada. Runtunan (sequence). maksudnya adalah jika baris pertama yang akan diekseskusi maka baris pertama dari sebuah program akan diterjemahkan terlebih dahulu ke dalam bahasa mesin. 1.5 Struktur Dasar Algoritma Algoritma berisi langkah-langkah penyelesaian masalah. Contohnya. dari pengembangan algoritma di atas. Keadaan ini dalam algoritma dinamakan perulangan atau looping. Mempersiapkan kartu ujian. dan seterusnya. ada keadaan dimana suatu langkah atau sebuah perintah dilaksanakan lebih dari satu kali. Untuk menerjemahkannya dibutuhkan perangkat lunak yang disebut interpreter dan compiler. 4. 2. Pada permasalahan lain. Dalam banyak hal terkadang algoritma yang dilakukan tidak berurutan seperti di atas. Mengerjakan ujian dengan tertib. terkadang akan ada beberapa langkah yang harus dipilih tergantung pada kondisi. Ketiganya menghasilkan keluaran yang sama yaitu menampilkan kalimat Belajar Algoritma. 5. Sebenarnya dalam kehidupan sehari-haripun kita sudah menggunakan algoritma dalam menjalani rutinitas kehidupan. Pengulangan (repetition). C++. Pusat Pengembangan Bahan Ajar . pemilihan aksi. apa yang selanjutnya harus dilakukan? Apakah keluar ruangan atau tetap menunggu di ruangan hingga waktu ujian habis. Menandatangani form kehadiran. Keadaan seperti ini dalam algoritma di sebut percabangan atau selection. Sebagai contoh.Ketiga perintah di atas adalah perintah yang dituliskan dalam bahasa C. kemudian jika baris kedua yang akan dieksekusi baru baris kedua yang akan diterjemahkan.UMB Nur Ani. dan pengulangan aksi. Keluar ruangan ujian saat waktu ujian telah habis. 3. yaitu: 1. C. seorang mahasiswa akan mengambil mata kuliah yang sama selama mata kuliah tersebut belum bernilai minimal C. 6. Ketiga perintah tersebut sebelum diproses oleh komputer sesungguhnya harus diterjemahkan terlebih dahulu agar perintahperintah tersebut dimengerti oleh mesin komputer. bahasa C++ dan bahasa Pascal. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic Sedangkan compiler menerjemahkan seluruh perintah dalam program tersebut ke dalam bahasa mesin terlebih dahulu baru kemudian menjalankan hasil penerjeman. 3. Mendapatkan lembar soal dan lembar jawaban. saat mengikuti ujian semester ada langkah-langkah yang harus dilaksanakan antara lain: 1. Menempati tempat duduk sesuai nomer ujian.

karena jika langkah yang dilaksanakan tidak berurutan maka tidak akan memecahkan masalah. Buatlah algoritma deskriptif untuk masalah berikut: Tiga orang pemburu membawa tiga orang kanibal dari sebuah pulau terpencil menuju desa terdekat. P3 di DS} 5. Jumlah pemburu harus lebih banyak dari jumlah kanibal.K2. K1. K1. P3 menyebrang dari PT ke DS {K1. DS {PT adalah pulau terpencil.P2. K2 menyebrang kembali ke PT {P2. DS adalah desa} Deskripsi: 1. K1. P1. P3.K2 menyebrang dari PT ke DS {K3 berada di PT} {P1. K2 di DS} K2 menyebrang kembali ke PT {K2. K3 di DS} Algoritma penyeberangan sungai ini adalah salah satu contoh algoritma runtunan. K3 di DS} 4. K3 {P adalah pemburu. K1 di DS} 6. K2. K2. K1 di DS} P1 menyebrang kembali ke PT {P1.K3 di DS} 3. P3.K3 di DS} K1 menyebrang kembali ke PT {P1. Untuk menyeberangi sungai. K adalah kanibal} PT. Antara pulau terpencil dengan desa terdekat dibatasi oleh sebuah sungai yang memiliki arus yang deras. Pusat Pengembangan Bahan Ajar . P2. P2. ST ALOGARITMA PEMROGRAMAN 1 . P3. K2. Algoritma Penyebrangan sungai P1. K3 di DS} K3 menyebrang kembali ke PT {K1.P2. K1. K3 berada di PT} {P1. P2. K1 berada di PT} {P1. K2.P2 menyebrang dari PT ke DS {P3.P2. P3. K1. P3. Pemahaman masalah: Hasil yangdiharapkan: seluruh pemburu dan kanibal selamat menyebrangi sungai Permasalahan: Hanya dapat menggunakan perahu untuk menyebrangi sungai. P3. P2. Perahu tersebut dapat digunakan untuk bolak balik tetapi minimal harus ada satu orang untuk mengendarai perahu dan perahu hanya dapat menampung maksimal dua orang sekali jalan.P2. mereka hanya dapat menggunakan sebuah perahu kecil. perahu minimal berisi 1 orang. P3 berada di PT} {K1. P2. P2. K3 berada di PT} {K1 di DS} 2. K2. P2. K1 berada di PT} { K2. K3 berada di PT} {P1. baik di sisi pulau maupun di sisi desa karena jika jumlah kanibal lebih banyak dibandingkan jumlah pemburu maka kanibal dapat memakan pemburu. K3 di DS} P2. Buatlah algoritma untuk menyebrangkan tiga orang kanibal dan tiga orang pemburu selurunya selamat tiba desa. K2 berada di PT} {P1. K2 dan K3 menyebrang dari PT ke DS {---} {P1. P3. K3 berada di PT} {P1. P3. K1 menyebrang dari PT ke DS {P2. K3 menyebrang dari PT ke DS {P1. maksimal berisi 2 orang.UMB Nur Ani.K2 berada di PT} {P1. P3. Hal yang penting dalam permasalahan ini adalah bahwa jumlah pemburu tidak boleh lebih sedikit dibandingkan dengan jumlah kanibal. P1. K2.Contoh: 1. K2.

Buatlah algoritma untuk menuliskan nilai mutlak dari nilai yang dimasukkan oleh pengguna.2. Pemahaman masalah: Nilai mutlak x | x| adalah sbb: | x | = x. M = M +1 Penjelasan algoritma: Langkah pertama meminta masukan sebuah kata yang disimpan pada variabel Kt Langkah kedua memberi nilai awal m=1. jika tidak kerjakan nomer 4 3. cetak Kt 5. Penjelasan algoritma: Baris pertama meminta masukkan bilangan yang disimpan pada variabel x. 2. karena pada algoritma di atas kita dihadapkan pada sebuah kondisi yang akan membuat program mempunyai dua arah (lihat baris kedua). M = 1 3.UMB Nur Ani. Deskripsi: 1. jika x ≥ 0 | x | = -x. Masukkan Kt 2. variabel M digunakan untuk menyimpan hasil pengulangan (pencacah). Baris ketiga membuat nilai x menjadi positif (baris ini hanya dilakukan jika nilai x lebih kecil dari nol) Baris keempat mencetak nilai x. Pemahaman masalah: Meminta masukan berupa sebuah kata. ST ALOGARITMA PEMROGRAMAN 1 . selama (M <= 5) lakukan langkah 3 sampai dengan 5 4. jika lebih kecil maka kerjakan perintah nomer 3 jika tidak lebih kecil maka kerjakan perintah nomer 4. Baris kedua mengecek apakah nilai yang dimasukkan lebih kecil dari nol atau tidak. x  -x 4. Input nilai x. Pusat Pengembangan Bahan Ajar . Buatlah algoritma untuk mencetak sebuah kata yang diinput oleh pengguna sebanyak 5 kali. Jika (x < 0) maka kerjakan perintah nomer 3. 3. Tulis x. Algoritma mencetak kata sebanyak 5 kali Kt adalah variabel yang digunakan untuk menampung kata yang dimasukkan pengguna M adalah variabel untuk menyimpan nilai perulangan. kemudian kata tersebut tercetak sebanyak 5 kali. Algoritma mencari nilai mutlak merupakan algoritma bentuk percabangan. jika x < 0 Algoritma Nilai mutlak x adalah variabel yang menampung nilai yang dimasukkan Deskripsi: 1.

Agus Salim. Yogyakarta. Untuk menempuh perjalanan dari desa A ke desa B hanya dapat dilakukan dengan sepeda motor. Buatlah algoritma untuk mencetak kalimat ”Algoritma Pemrograman” sebanyak 50 kali. Buatlah algoritma untuk menghitung akar persamaan kuadrat. variabel M harus ditambah dengan nilai 1 agar kondisi pada langkah ketiga ada saatnya bernilai salah.- Langkah ketiga memberikan perintah untuk mengulangi langkah ketiga hingga langkah kelima selama nilai M masih bernilai lebih kecil atau sama dengan 5. Jika nilai D < 0 maka didapat akar tidak nyata. Pengantar Algoritma dengan Bahasa C. ================================ Referensi: Antony Pranata.√D / 2A). 3. Tiga pasang suami istri dari desa A mendapatkan undangan dari desa B. dalam hal ini digunakan untuk membatasi perulangan. Algoritma mencetak kata yang yang dimasukkan oleh pengguna merupakan bentuk algoritma pengulangan. Buatlah algoritma untuk menunjukkan bagaimana perjalanan dari desa A ke desa b dapat dilakukan. Tugas Mandiri: 1. Pengantar Algoritma dan Pemrograman.. Jika nilai D = 0 maka X1 = X2. 1993 Thompson Susabda Ngoen. 2004  Pusat Pengembangan Bahan Ajar . ST ALOGARITMA PEMROGRAMAN 1 . Langkah keempat merupakan perintah untuk mencetak Kt. Tulislah algoritma untuk meminta pengguna memasukkan tiga buah bilangan bulat. Gunadarma. Latihan: 1. untuk menghitung nilai X didapat dari rumus: –B / ( 2 A ). 2.UMB Nur Ani. Langkah kelima menambahkan variabel M dengan 1. kemudian menampilkan bilangan terbesar dari kedua bilangan tersebut. Jika nilai D > 0 maka terdapat dua akar X1= (-B + √D / 2A) dan X2= (-B . Tulislah algoritma untuk meminta masukan dua bilangan dari pengguna. Jakarta. Di desa A hanya tersedia satu buah sepeda motor yang hanya dapat dinaiki maksimal oleh 2 orang. Perjalanan tersebut dirumitkan dengan kenyataan bahwa para suami sangat pencemburu. Algoritma & Pemrograman Dalam Bahasa Pascal dan C. Informatika Bandung. 2. Algoritma dan Pemrograman. Akar persamaan kuadrat dapat dicari dengan terlebih dahulu menghitung nilai determinan dengan rumus D = B 2 – 4 A C. J&J Learning.S. kemudian menampilkan bilangan terkecil dari ketiga bilangan tersebut. sehingga tidak mau meninggalkan istri mereka jika ada lelaki lain. 2002 Suryadi H. 2000 Rinaldi Munir. Salemba Teknika.

Sign up to vote on this title
UsefulNot useful