• Tidak ada hasil yang ditemukan

PENGANTAR ALGORITMA 1.1 BAHASA PEMROGRAMAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENGANTAR ALGORITMA 1.1 BAHASA PEMROGRAMAN"

Copied!
18
0
0

Teks penuh

(1)

PENGANTAR ALGORITMA

Komputer merupakan salah satu perangkat elektronika yang operasinya ditentukan oleh software yang ada didalamnya. Secara garis besar komputer terdiri dari dua bagian penting yang saling terkait yaitu hardware dan software. Hardware merupakan bentuk rangkaian elektronika yang tidak dapat difungsikan tanpa adanya software. Oleh karena itu agar hardware dapat berfungsi, maka harus diberikan serangkaian intruksi yang berupa software. Langkah-langkah yang dilakukan dalam memberikan intruksi kepada komputer dinamakan dengan pemrograman komputer.

Konsep pemrograman terstruktur sangat membantu dalam merancang, menyusun, memelihara dan mengembangkan suatu program, khususnya program aplikasi yang besar dan komplek. Pada pemrograman terstruktur terdapat beberapa fasilitas untuk dapat menghilangkan atau meminimalkan perintah goto. Dihilangkan atau diminimalkannya perintah goto akan dapat mempermudah dalam menganalisis dan membuat program.

1.1 BAHASA PEMROGRAMAN

Pemrograman merupakan suatu proses untuk mengimplementasikan urutan langkah dalam menyelesaikan masalah dengan menggunakan bahasa pemrograman. Agar pembuatan program menjadi lebih mudah dan efektif, maka memilih bahasa pemrograman yang sesuai adalah hal penting. Bahasa pemrograman telah berkembang dengan pesat mengikuti perkembangan dunia digital. Namun demikian secara umum bahasa pemrograman dikelompok-kan menjadi empat yaitu :

a. Bahasa aras rendah (Low level language)

Bahasa aras rendah merupakan bahasa pemrograman yang berorentasi pada mesin digital yaitu hanya membaca logika 0 (tidak ada arus) dan 1 (ada arus). Bahasa mesin ini sangat susah untuk dipahami, karena intruksinya sangat susah diingat. Oleh karena itu muncul idea untuk melambangkan untaian sandi

(2)

0 dan 1 dengan singkatan kata yang lebih mudah dipahami manusia. Singkatan kata ini kemudian sering disebut mnemontic code. Pemrograman yang menggunakan singkatan kata ini disebut bahasa assembly.

b. Bahasa aras menengah (Middle level language)

Bahasa aras menengah merupakan bahasa pemrograman yang sudah menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar yang mudah dipahami oleh manusia. Disamping itu bahasa aras menengah memiliki intruksi-instruksi tertentu yang dapat langsung diakses oleh komputer. Contoh bahasa aras menengah adalah bahasa C.

c. Bahasa aras tinggi (High level language)

Bahasa aras tinggi merupakan bahasa pemrograman yang memiliki aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar bahasa yang dapat dipahami secara langsung oleh manusia. Bahasa pemrograman seperti ini disebut juga dengan bahasa generasi ketiga atau disingkat 3GL (thrid generation language). Bahasa pemrograman ini biasanya menggunakan kata-kata dalam bahasa Inggris, karena memang bahasa tersebut adalah bahasa yang bersifat Internasional. Contoh bahasa bahasa pemrograman ini adalah bahasa Pascal, Fortran, Cobol, Power Basic, dan lain-lain.

d. Bahasa berorentasi objek (Object oriented language)

Bahasa berorentasi pada objek merupakan bahasa pemrograman yang mengandung komponen-komponen yang berisi fungsi-fungsi untuk menyelesaikan suatu masalah. Setiap komponen dilengkapi dengan criteria-kriteria yang sesuai dengan komponennya. Pada bahasa pemrograman ini pemrogram tidak lagi menuliskan secara detail semua pernyataan dan ekspresi seperti pada bahasa aras tinggi, melainkan cukup dengan memasukkan kriteria-kriteria yang dikehendaki saja. Bahasa ini kemudian menggunakan komponen-komponen tersebut untuk memecahkan permasalahan. Bahasa pemrograman ini disebut juga dengan bahasa generasi keempat atau disingkat 4GL (fourth-generation language).. Contohnya adalah bahasa Borland Delphi, Visual Basic, Visual FoxPro dan lain sebagainya.

(3)

Pada bahasa aras menengah, aras tinggi dan berorientasi obyek pernyataan-pernyataannya tidak langsung dapat diterima oleh mesin, karena mesin hanya menerima logika 0 dan 1. Pada komputer sebagai penterjemah dari bahasa aras menengah, aras tinggi dan berorentasi objek ke bahasa mesin dibutuhkan interpreter atau compiler.

Interpreter sistem kerjanya adalah menerjemahkan program baris per baris, artinya jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan terlebih dahulu ke bahasa mesin. Pada saat menerjemahkan interpreter memeriksa sintaksis, leksikal dan semantik dari setiap intruksi program. Jika ditemukan kesalahan sintaksis (syntax error), maka interpreter akan menampilkan pesan kesalahan dan proses eksekusi program akan langsung terhenti pada saat itu juga. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic.

Compiler sitem kerjanya adalah menerjemahkan intruksi-intruksi dalam satu kesatuan modul kedalam bahasa mesin (objek program), kemudian objek program akan mengalami proses linking yang berfungsi untuk menggabungkan modul tersebut dengan modul lain yang berkaitan. Penerjemahan ini menghasilkan suatu file executable program yang akan dieksekusi oleh komputer. Apabila pada saat proses penerjemahan atau proses linking terjadi kesalahan, maka akan tampil pesan kesalahan dan proses eksekusi akan berhenti. Kompilasi dilakukan setelah seluruh program selesai ditulis, karena compiler juga memeriksa sintaksis, leksikal, semantik dan lagika programnya. Contoh bahasa pemrograman yang menggunakan compiler adalah Turbo Pascal.

Dari segi kecepatan kinerja sistem compiler lebih cepat dibandingkan dengan Interpreter. Hal ini terjadi karena pada compiler tidak tergantung dengan bahasa pemrograman yang digunakan untuk menyusun. Namun sistem compiler memiliki kelemahan yaitu pada saat kompilasi dibutuhkan ruang pengingat yang lebih besar. Pada komputer keluaran sekarang memori bukanlah suatu kendala untuk compiler dari bahasa aras tinggi. Oleh karena itu pada buku ini akan menggunakan bahasa pemrograman Turbo Pascal. Secara lebih detail perbedaan keduanya terlihat pada table 1.1.

Tabel 1.1 Perbedaan Compiler dan interpreter

No Intepreter Compiler

(4)

instruksi

2 Tidak menghasilkan objek program

Menghasilkan objek program

3 Tidak menghasilkan executable program karena langsung dijalankan. pada saat program diinterpretasi

Menghasilkan executable program, sehingga dapat langsung dijalankan

4 Proses interpretasi terasa cepat karena tiap-tiap instruksi langsung dikerjakan dan dapat dilihat hasilnya

Proses kompilasi lama, karena sekaligus menerjemahkan seluruh instruksi program

5 Source program terus

dipergunakan karena tidak dihasilkan executable program

Source program sudah tidak dipergunakan lagi untuk mengerjakan program

1.2 PROSEDUR PEMROGRAMAN KOMPUTER

Setiap aktivitas agar menghasilkan output sesuai yang diinginkan dan sistem kerja yang efisien diperlukan pemahaman tentang prosedur pelaksanaannya. Sebagai contoh seorang penambal ban, sebelum melakukan penambalan, maka beliau harus mencari dulu letak kebocoran dengan cara memompa ban kemudian dimasukkan kedalam air. Proses berikutnya dilakukan langkah penambalan dan setelah penambalan selesai ban tidak langsung dipasang, melainkan dipompa lagi dan dimasukkan kedalam air untuk menyakinkan bahwa kebocoran sudah tidak ada.

Pada pemrograman komputer, agar dihasilkan program sesuai dengan yang diharapkan, maka sebelum ditulis harus memperhatikan beberapa langkah yang diperlukan. Langkah-langkah yang akan dijelaskan ini tidak bersifat mutlak dalam arti boleh ada yang dilewati atau bisa juga ada dilakukan berkali-kali dan bahkan boleh ada penambahan atau pengurangan. Berikut ini langkah-langkah yang dilakukan dalam pemrograman komputer.

a. Pemahaman Masalah

Pemahaman masalah adalah langkah yang sangat penting dalam pembuatan program. Pada langkah ini pemrogram harus memahami betul masalah yang harus ditangani. Apabila belum memahami pemrogram harus mempelajari terlebih dulu. Suatu contoh, diminta membuat program invers matriks, maka pemrogram terlebih dahulu harus memahami materi tentang invers matriks.

(5)

Tanpa pemahaman masalah yang akan diselesaikan, pemrogram akan kesulitan dalam pemecahannya.

b. Identifikasi masalah

Setelah pemrogram memahami masalah yang akan diselesaikan, langkah berikutnya adalah pemrogram harus menindentifikasi masalah-masalah yang akan diselesaikan. Suatu misal kita diminta untuk menyelesaikan invers matrik, maka kita harus melakukan identifikasi, masukannya, proses perhitungannya, dan keluarannya. Selain itu pemrogram harus mengidentifikasi beberapa kemungkinan yang terjadi pada perhitungannya, misalnya kemungkinan ada proses pembagian dengan angka nol atau kasus-kasus lain. Tanpa diketahui masalah tersebut diatas, sangat mustahil seorang pemrogram mampu menyelesaikannya. Oleh karena itu lakukanlah identifikasi masalah secara benar sebelum membuat program komputer. Semakin cepat anda menulis program akan semakin lama anda menyelesaikannya.

c. Menentukan solusi

Apabila semua permasalahan telah diidentifikasi, langkah selanjutnya adalah mencarikan solusi pemecahan dari permasalahan tersebut. Kekomplekan program sangat tergantung dari kompleknya masalah yang ditangani dan cara pemrogram mencari sulusinya. Apabila permasalahannya komplek secara umum program komputer yang dibuat dipisah-pisah menjadi modul yang lebih kecil agar mudah dibuat. Sebagai contoh, program menghitung perkalian matrik, program dapat dibagi menjadi modul kecil. Modul pertama adalah meminta masukan dari user berupa matriks yang akan dikalikan. Modul kedua proses menghitung perkalian matriks. Modul ketiga menampilkan hasilnya.

d. Membuat algoritma

Membuat algoritma merupakan langkah yang penting dalam membuat program komputer, karena pada langkah ini pemrogram harus membuat pola pikir yang terstruktur yaitu berisi tahapan-tahapan penyelesaian masalah. Pembuatan algoritma perlu ada pengakajian yang lebih serius agar diperoleh hasil yang paling tepat dan sesuai dengan harapan. Pembuatan Algoritma harus memiliki

(6)

kebenaran secara logika, agar algoritma dapat diimplentasikan dalam bentuk program komputer. Namun demikian bagi pemrogram yang sudah profesional algoritma ini sering tidak dimunculkan dalam tulisan secara nyata, tetapi hanya disimpan dalam otak.

e. Menulis Program

Langkah ini merupakan suatu proses untuk mengimplementasikan algoritma yang dibuat dengan menggunakan bahasa pemrograman. Satu hal yang cukup penting dalam tahap ini adalah memilih bahasa pemrograman. Pemilihan bahasa pemrograman perlu mempertimbangkan jenis masalah yang akan kita selesaikan. Hal ini dilakukan karena masing-masing bahasa pemrograman mempunyai keunggulan masing-masing. Pemilihan bahasa pemrograman yang tepat akan mempermudah dan mempercepat dalam implementasinya. Misalnya masalah yang kita seselasikan dalam bentuk basis data, maka dengan bahasa berorientasi objek akan lebih mudah dan cepat dalam penyelesaiannya, karena program berientasi obyek sebagian besar telah mempunyai fasilitas basis data. Pemakaian bahasa aras rendah dan menengah memang memiliki kecepatan yang sangat tinggi, tetapi penulisannya memerlukan waktu yang lebih lama.

f. Menguji program

Pengujian program merupakan langkah yang sangat penting untuk dilakukan dan secara berkelanjutan. Testing pertama kali dilakukan setelah proses penulisan program selesai. Jadi setelah algoritma diterjemahkan kedalam bentuk program, maka harus dilakukan pengujian terdapat program yang telah ditulis. Pengujian suatu program sebaiknya dilakukan berkali-kali dengan nilai masukan yang berbeda-beda dan jika perlu pengujian dilakukan oleh beberapa orang. Prosedur umum pengujian metode desk checking adalah (1) pengujian terhadap pendefinisian masalah dan analisis kebutuhan, (2) pengujian terhadap pseudocode, (3) pengujian dengan menggunakan data, dan (4) Lakukan langkah koreksi jika adala kesalahan. Setelah dilakukan pengujian dengan metode desk checking perlu diuji lagi dengan metode data logic driver atau metode logic-driver.

(7)

g. Menulis dokumentasi

Dokumentasi program memegang peranan yang sangat penting dari langkah-langkah pemrograman. Hal ini dilakukan karena manusia memiliki sifat lupa dan pemakai program biasanya bukan pemrogram. Secara umum ada tiga jenis pemakai dokumentasi dengan kebutuhan yang berbeda yaitu pemrogram, operator, dan user.

Dokumentasi untuk pemrogram ada dua yaitu yang bersifat internal eksternal. Dokumentasi internal dibuat untuk menuntun pemrogram berhubungan dengan bahasa pemrograman. Suatu misal penggunaan nama prosedur, nama variabel, penulisan intruksi dan lain sebagainya. Dokumentasi eksternal diwujudkan dalam bentuk manual dan catatan-catatan penting tentang program dan dapat diletakkan pada satu baris atau beberapa baris pernyataan, sehingga jika program direvisi atau dikembangkan, maka tidak akan mengalami kesulitan. Dokumentasi untuk operator adalah dokumen yang dibutuhkan untuk mengoperasi-kan program yang telah dibuat oleh pemrogram. Secara umum pemrogram tidak menggunakan sendiri program hasil buatannya, melainkan orang lain yang akan menggunakannya. Oleh karena itu pembuatan manual tentang pengoperasian program sangat dibutuhkan.

Dokumentasi untuk user diperlukan hanya untuk mengetahui bagaimana masukan yang diminta oleh program dan tata cara membaca hasil pemrosesan.

h. Merawat program

Program yang selesai disusun sudah pasti membutuhkan perawatan atau pemeliharaan. Perawatan atau pemeliharaan tersebut meliputi (1) penambahan atau peningkatan atau perbaikan program, (2) adaptasi program dengan produk perangkat keras atau lunak yang baru, dan (3) pembetulan terhadap kesalahan yang timbul.

(8)

1.3 ALGORITMA

Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika yang dikaitkan dengan bahasa pemrograman. Penyajian algoritma dapat berupa tulisan atau gambar (flowcart).

Kriteria Algoritma Menurut Donald E. Knuth

1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar. 2. Output: algoritma harus memiliki minimal satu buah output keluaran.

3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.

4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). 5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat

dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk unterminatable: contoh Sistem Operasi

Jenis Proses Algoritma

1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. 2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu

3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu. 4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh penyajian algoritma dalam bentuk tulisan untuk menyelesaikan program menghitung jarak pada gerak lurus beraturan yang memenuhi persamaan S = v x t, dimana S = jarak, v = kecepatan, dan t = waktu.

1. Mulai

2. Masukkan kecepatan dan waktu

3. Hitung jarak sama dengan kecepatan kali waktu (S := v*t) 4. Tulis jarak

5. Selesai

Penyajian algoritma seperti diatas adalah cukup panjang, oleh karenanya bentuk diatas dapat disajikan pula sebagai berikut :

1. Mulai

2. Masukkan v dan t 3. S← p * t

(9)

4. Tulis S 5. Selesai

Perhatikan pada algoritma diatas terdapat tanda ← pada baris ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri atau S=v x t.

Dari algoritma diatas baris pertama adalah untuk langkah umtuk mengawali program. Baris kedua adalah langkah untuk meminta masukan dari pengguna yaitu kecepatan dan waktu yang masing-masing secara berturut-turut disimpan sebagai variabel v dan t. Baris ketiga adalah langkah untuk menghitung jarak yang ditempuh yaitu dengan rumus v x t dan hasilnya disimpan sebagai variabel S. Baris keempat adalah langkah untuk menuliskan jarak tersebut. Baris kelima adalah mengakhiri program.

Penyajian algoritma tersebut masih banyak kelemahannya, dimana orang lain kadang sulit untuk memahaminya, karena tata bahasa yang digunakan dipengaruhi pembuatnya. Oleh karena itu kemudian dikembangkan suatu metode untuk menggambarkan tahap-tahap pemecahan masalah dengan mempresentasikan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan dan standar. Salah satu metode penulisan simbol ini adalah flowchart.

Simbol-simbol yang digunakan untuk menunjukkan aliran kegiatan dalam flowcart mempunyai kegunaan atau arti masing-masing. Berikut ini disajikan simbol-simbol dan arti yang digunakan untuk menunjukkan aliran kegiatan yang dinyatakan dalam flowchart. Simbol-simbol ini merupakan standarisasi dari simbol flowchart yang dikeluarkan oleh IBM. Pemrogram dapat menambah khasanah simbol-simbol berikut asalkan pemrogram melengkapinya dengan penggambaran program flowchart dengan kamus simbol.

Tabel 1.2 Simbol dan arti yang digunakan pada flowcart

SIMBOL ARTI

INPUT/OUTPUT

Simbol ini digunakan untuk menunjukkan operasi yang dilakukan untuk membawa data dari dan ke piranti input atau output.

Data dapat disuplai dari papan ketik (keyboard) atau dari berkas yang disimpan dalam media penyimpan data

PROSES

Simbol ini digunakan untuk menggambarkan instruksi atau proses pengolahan data. Disini tidak ada perpindahan data antara piranti yang satu dengan piranti yang lain

(10)

Mulai Masukkan v dan t S = v * t Tulis S Selesai TESTING

Dalam blok testing ini diperlihatkan kondisi yang harus di tes. Langkah selanjutnya didasarkan pada hasil tes ini, dan mengambil salah satu dari dua atau tiga alternatif yang ditunjukkan

TERMINAL

Simbol ini digunakan untuk menunjukkan awal, akhir atau titik interupsi pada sebuah program.

PREPARASI

Intruksi atau sekumpulan intruksi yang akan mengubah program

PREDEFINED PROCESS

Untuk menunjukkan global operasi yang dilaksanakan. Disini tidak dijelaskan detail dari operasi tersebut.

SAMBUNGAN PADA SATU HALAMAN

Simbol ini digunakan untuk menunjukkan sambungan dari bagian flowchart dimana bagian tersebut ada pada halaman yang sama. Didalam lingkaran ini bisa ditambahkan suatu simbol lain untuk menunjukkan sambungan yang tepat.

SAMBUNGAN PADA HALAMAN LAIN

Simbol ini digunakan untuk menunjukkan sambungan dimana sambungannya pada halaman yang berbeda

ARAH ALIRAN

Simbol ini digunakan untuk menunjukkan arah aliran kegiatan

TAMPILAN

Simbol ini digunakan untuk menunjukkan informasi yang akan ditampilkan melalui layar atau plotter

Algoritma perhitungan jarak dari gerak lurus beraturan seperti dijelaskan diatas apabila disajikan dalam bentuk diagram alir (flowchart) adalah sebagai berikut :

(11)

Gambar 1.1 Algoritma menghitung luas empat persegi panjang

1.3.1 Percambangan

Pada pembuatan program kadang programmer harus memfilter masukan atau variabel sesuai dengan kondisi yang diinginkan, sehingga perlu ada bentuk percambangan. Oleh karena itu dalam pembuatan algoritma harus memasukkan suatu langkah untuk memfilter kondisi yang dimaksud, dimana apabila kondisi terpenuhi, maka pernyataan akan dikerjakan dan apabila tidak akan mengerjakan pernyataan yang lain. Suatu contoh pada swalayan yang melayani pembelian secara grosir dan eceran. Biasanya pembelian secara grosir dan eceran memiliki perbedaan harga. Misal pembelian dengan jumlah 10 buah keatas dianggap grosir dan harganya Rp. 9.000,- per buah, sedangkan apabila dibawah 10 buah dianggap eceran dengan harga Rp. 10.000,- per buah, maka algoritmanya dapat dituliskan sebagai berikut :

1. Mulai

2. Masukkan Jml

3. Jika (Jml ≥ 10 ) maka kerjakan langkah 4, jika tidak, maka kerjakan langkah 5

4. T← Jml*9000 5. T ← Jml*10000 6. Tulis T

7. Selesai.

Baris pertama adalah mengawali program. Baris kedua meminta masukan jumlah pembelian dari pengguna dan disimpan sebagai variabel Jml. Baris ketiga mengecek nilai Jml, apabila Jml ≥ 10, maka total harga (T) dihitung dengan rumus baris empat yaitu T = Jml * 9000, sedangkan jika tidak total harga dihitung dengan rumus baris lima yaitu T = Jml x 10000, total harga disimpan sebagai variabel T. Baris keenam menuliskan total harga yang harus dibayar pembeli. Baris ketujuh atau terakhir perintah mengakhiri program.

(12)

Bentuk algoritma diatas apabila ditampilkan dalam bentuk flowchart adalah sebagai berikut :

Gambar 1.2 Algoritma menghitung pembelian grosir dan eceran Algoritma tersebut diatas apabila diungkapkan dalam bentuk program sebagai berikut: Program Pembelian; Uses WinCrt; Var Jml : integer; T : real; Begin Readln(jml); If (jml >= 10) then T := Jml*9000 else T := Jml*10000; Writeln(T:10:3); End. Mulai Masukkan Jml Jml≥10 T← Jml*9000 T ← Jml * 10000 Tulis T Selesai Y T

(13)

1.3.2 Perulangan

Perulangan merupakan suatu proses dimana terdapat satu atau beberapa baris diulang-ulang pemrosessanya sesuai dengan batasan yang diinginkan. Proses perulangan dibutuhkan guna untuk mempermudah dan mempersingkat penulisan program. Contoh program untuk menghitung nilai sinus untuk beberapa sudut yang dimulai dari 1o sampai sudut yang diinginkan. Pada program Turbo Pascal sudut diungkapkan dalam bentuk radian. Oleh karena itu kalau kita memasukkan dalam terajad terlebih dahulu harus dirubah ke radian dengan rumus Rad = (π*der)/180 dimana Rad = sudut dalam satuan radian, der = sudut dalam satuan derajad, dan π = 3,14. Dengan demikian dapat dibuat algoritma sebagai berikut :

1. Mulai 2. π← 3,14 3. i ← 1

4. Masukkan der

5. Selama (i <= der) kerjakan baris 6, 7, 8, 9 6. Rad ← (π*der)/180

7. Y ← Sin(Rad) 8. I ← I+1 9. Tulis Y 10. Selesai

Baris pertama dari algoritma tersebut adalah memulai program. Baris kedua memberi nilai π = 3,14, sedangkan baris ketiga memberi nilai i awal sama dengan satu. Baris ke empat memasukkan nilai sudut dalam satuan derajad yang menjadi batas atas yang nilai sinus-nya dihitung. Baris kelima memberi perintah pengulangan baris 5, 6,7,8,9 sampai nilai I lebih besar dari der. Baris keenam merubah sudut dari derajad menjadi radian dan hasilnya disimpan dalam variable Rad. Baris ketujuh menghitung nilai sinus pada sudut radian dan hasilnya disimpan dalam variabel Y. Baris kedelapan menambah I dengan 1. Baris kesembilan menampilkan nilai sinus suatu sudut. Baris kesepuluh mengakhiri program.

(14)

Bentuk algoritma menghitung nilai sinus tersebut diatas dapat ditampilakn dalam bentuk flowcart sebagai berikut :

Gambar 1.3. Algoritma menghitung nilai sinus sudut dalam derajad

Alagoritma atau flowcart tersebut apabila direalisasikan dalam program dengan bahasa pemrograman Turbo Pascal adalah

program Sinus; uses WinCrt; var i,der : integer; y,Rad : real; begin Readln(pi); Readln(der); For i:= 1 to der do begin Rad := (pi*i)/180; y := Sin(Rad); Writeln(y:10:5) Mulai π ←3,14 I ← 1 Masukkan der Selama (i <= der) Rad ← (π*der)/180 Y ← Sin(Rad) . i ← i + 1 Tulis Y Selesai

(15)

end; end.

Contoh lain dari perulangan adalah menghitung rata-rata hasil pengukuran kecepatan gerak benda v yang diukur sebanyak N kali. Rumus yang berlaku adalah N v v ii N i 1= ∑ = dimana vi = Hasil pengukuran kecepatan ke-i

N = Jumlah pengukuran

v

= Rata-rata hasil pengukuran

Algoritma untuk mencari rata-rata hasil pengukuran dapat dibuat sebagai berikut :

1. Mulai 2. v ← 0. 3. i ← 1. 4. Masukkan N.

5. Selama (i <= N) kerjakan baris 5 sampai 8. 6. Masukkan vi. 7. v ← v + vi. 8. i ← i + 1. 9. Rata ← v / N 10. Tulis Rata. 11. Selesai.

Baris pertama dari algoritma tersebut diatas adalah untuk memulai program. Baris kedua memberi nilai variabel v dengan nol. Baris ketiga memberi nilai variabel I dengan 1. Baris keempat meminta masukan pengguna tentang jumlah data yang akan dihitung dan disimpan sebagai variabel N. Baris kelima memberikan perintah untuk mengulangi baris kelima sampai kedelapan sampai nilai i lebih besar dari N. Baris keenam meminta masukan pengguna berupa data dan disimpan sebagai variabel vi. Baris ketujuh menambah variabel v dengan data yang dimasukkan pengguna. Baris kedelapan menambah nilai i dengan 1, sehingga nilai i bertambah 1. Baris kesembilan menghitung rata-rata hasil pengukuran. Baris

(16)

kesepuluh menuliskan rata-rata hasil pengukuran. Baris kesebelas mengakhiri program.

Bentuk algoritma menghitung nilai rata-rata hasil pengukuran diatas apabila ditampilkan dalam bentuk flowchart adalah sebagai berikut :

Gambar 1.3. Algoritma menghitung rata-rata data hasil pengukuran Algoritma sebagaimana ditulis diatas dapat diungkapkan dalam bentuk program sebagai berikut :

program Rata_Rata; uses WinCrt; var i, N : integer; Rata, v, vi : real; Begin V := 0; Readln(N); For := 1 to N do Begin Readln(vi); Mulai v ←0 I ← 1 Masukkan N Selama (i <= N) Masukkan vi v ← v + vi. i ← i + 1. Rata ← v / N Tulis Rata Selesai

(17)

v := v + vi; End; Rata := v/N Readln(Rata:10:3); End. SOAL-SOAL

1. Buatlah algoritma untuk menghitung jarak bayangan suatu benda akibat pembiasan pada lensa cembung tipis ? Besaran yang dimasukkan adalah jarak benda dan panjang focus lensa.

Petunjuk : Hubungan jarak benda s, jarak bayangan s’, dan panjang focus lensa

adalah f s s 1 1 1 ' = +

2. Buatlah algoritma untuk menghitung jarak yang ditempuh oleh benda yang bergerak lurus berubah beraturan, jika besaran yang dimasukkan adalah kecepatan awal, percepatan, dan waktu ?

Petunjuk : Jarak yang ditempuh benda yang bergerak lurus berubah beraturan dirumuskan :

S = Vo.t + ½ .a.t 2

Dengan S = jarak; Vo = kecepatan awal; a = percepatan; t = waktu.

3. Buatlah algoritma untuk memisahkan bola berdasarkan diameternya ? Jika diameter bola lebih kecil 15 cm, bola masuk kotak A, jika diameter bola antara 15 cm sampai dengan 25 cm, bola masuk kotak B, dan jika diameter bola lebih besar dari 25 cm bola masuk kotak C. Masukan dari program adalah diameter bola, sedangkan keluarannya adalah masuk kotak A, masuk kotak B, dan masuk kotak C.

4. Buatlah algoritma untuk memisahkan bilangan genap dan ganjil dan bilangan yang dipisahkan dimasukkan oleh pengguna secara acak ?

5. Buatlah algoritma untuk menghitung hasil penjumlahan matrik 3 x 3 dengan nilai matrik masing-masing baris dan kolom dimasukkan oleh pengguna ? Petunjuk : Perhitungan hasil penjumlahan matriks 3 x 3 dilakukan dengan rumusan sebagai berikut :

(18)

+

+

+

+

+

+

+

+

+

=

+

33 33 32 32 31 31 23 23 22 22 21 21 13 13 12 12 11 11 33 32 31 23 22 21 13 12 11 33 32 31 23 22 21 13 12 11

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

a

b

b

b

b

b

b

b

b

b

a

a

a

a

a

a

a

a

a

dimana a11 = matriks a baris 1 kolom 1, a12 = matriks a baris 1 kolom 2

dan seterusnya.

6. Buatlah algoritma untuk menghitung hasil perkalian matrik 2 x 2 dengan nilai matrik masing-masing yaitu baris dan kolom dimasukkan oleh pengguna ?

Petunjuk : Perkalian matrik 2 x 2 dilakukan dengan rumusan sebagai berikut :

( ) ( ) (

11 12 12 22

)

22 22 12 21 21 12 11 11 21 22 11 21 12 22 11 21 12 22 11 21

a

a

b

a

b

b

a

b

b

a

b

a

b

a

b

a

b

b

b

b

a

a

a

a

×

+

×

×

+

×

×

+

×

×

+

×

=

×

Gambar

Tabel 1.2 Simbol dan arti yang digunakan pada flowcart
Gambar 1.2 Algoritma menghitung pembelian grosir dan eceran
Gambar 1.3. Algoritma menghitung nilai sinus sudut dalam derajad
Gambar 1.3. Algoritma menghitung rata-rata data hasil pengukuran

Referensi

Dokumen terkait

Aturan dalam pemanfaatan dan pengelolaan sumberdaya alam yang tetap dipertahankan yaitu pada pemanfaatan sumberdaya hasil sagu, pohon sagu yang berada dalam

 Rare terms (Kata-kata langka yang hanya muncul di dokumen-dokumen. tertentu) lebih

Perancangan sistem pengklasifikasian kualitas suara bagus, sedang dan tidak bagus sesuai standar PBI menghasilkan nilai akurasi maksimal sebesar 91.667% dengan waktu

Hasil analisis menunjukkan hubungan yang negatif antara konsep diri dengan kecenderungan depresi pada remaja, dengan nilai koefisien korelasi Pearson (rxy) sebesar -0,655 (p

(2) Menciptakan mendesain interior Community Center Suporter Klub Sepakbola Arema Indonesia FC sehingga dapat memberikan fasilitas yang informatif dan

Hal tersebut kemungkinan disebabkan tidak semua senyawa yang terdapat dalam ekstrak etanol M.pendens Merr &amp; Perry memberikan aktivitas antiinflamasi, namun

May’s analysis has also been criticized for its lack of compositionality (e.g. Note that absorption requires a mode of composition different from function application. If the only

manajemen dan pemakai dalam proses pengembangan – Tinjauan atas spesifikasi pengujian, data uji, dan hasil.