Algoritma Dasar PPT Fix Untuk Modul 2012

download Algoritma Dasar PPT Fix Untuk Modul 2012

of 33

description

musiklopedia.blogspot.com

Transcript of Algoritma Dasar PPT Fix Untuk Modul 2012

STRUKTUR DASAR ALGORITMAAlgoritma berisi langkah2 proses penyelesaian mslh Langkah2 proses penyelesaian masalah tersebut dpt membentk konstruksi suatu algoritma, langkah2 tersbt adalah : 1. runtunan aksi 2. pemilihan aksi 3. pengulangan aksi

1.

RUNTUNAN AKSI Sebuah runtunan terdpt satu atau lebih pernytaan,setiap pernyataan dikerjakan secara berurutan sesuai penulisannya Sebuah instruksi dikerjakan setelah instruksi sebelumnya telah dilaksanakan Urutan instruksi menentukan keadaan akhir suatu algoritma Bila urutan algoritma dirubah,maka hasil akhir mungkin juga berubah Runtunan yg mempunyai satu/lebih pernyaaan disbt penytaan gabungan

Contoh: Program tukar_isiDiberikan 2 buah ember A & B berisi air berwarna merah, ember B berisi air berwarna biru.pertukarkan kedua isi ember tersbt shg ember A berisi air berwrna biru & ember B berisi air berwana merah

Algoritma : 1. Tuangkan air dari ember A kedlm ember C 2. Tuangkan air dari ember B kedlm ember A 3. Tuangkan air dari ember C kedlm ember B

Algoritma tukar_isi menjadi inspirasi untuk mempertukarkan nilai dr 2 buah nilai dr 2 peubah Misal A=8 dan B=5, pertukarkan nilai A & B, sehingga A=5 dan B=8,maka algoritmanya : isikan nilai A ke dlm B isikan nilai B ke dlm A maka hasilnya:A=8 & B=8, maka algoritma pertkarannya salah.Agar algirtmanya benar,maka perlu digunakan peubah bantu,misal C, sehinggga algoritmanya adalah:

Isikan nilai A ke dlm C Isikan nilai B ke dlm A Isikan nilai C ke dlm B

2. PEMILIHAN Adaklanya sebuah aksi dikerjakan jika kondisi dipenuhi Misal:jika lampu traffic light berwarna merah,maka kendaraan harus berhenti,maka pernyataan adalah:jika lampu traffic light berwarna merah,maka berhenti

Pernytn tersbt disbt penyt.pemilihan (selection-stantement)atau perny.kondisional

Bentuk umum selection statement:If kondisi then aksi

Kondisi:pernsyartn yg dpt bernilai benarsalah,aksi setelah then dilakukan hanya jika kondisi benar If & then ad/ kaca kunci (keyword) u/ struktur pemilihan Contoh : if x habis dibagi 2 then tulis x ad/ bilangan genap

Bentuk lain statent condisional

a.

if kondisi then aksi1 Else aksi2

else kalau tdk. Bila kondisi benar,maka aksi1 yg dikerjakan,kalau tdk aksi2 dikerjakan.contoh: if lampu A nyala then tekan tombol merah else tekan tombol biru

b.nested-if =pemilihan bersarang ad/ apabila pemilihan aksi yg dilakukan lebih dr 2 buah,maka struktur pemilihanya menjdi rumit.if kondisi1 then aksi1 Else if kondisi2 then aksi2 else aksi3

Contoh :if lampu traffic light berwarna merah then berhenti else if lampu traffic light berwarna kuning then jalan hati-hati else jalan terus

Dlm state.kondisi dikenal adanya indentasi yaitu: pengg.rongga kosong yg membuat algoritma menjd mudah dibaca.

Contoh:tanpa indentasiif lampu traffic light berwarna merah then berhenti Else if lampu traffic light berwarna kuning then jalan hati-hati else jalan terus

Penulisan algoritma sangat dianjurkan u/ membuat indentasi,agar algoritma mudah dbaca. Kelebihan struktur pemilihan terltk pd kemampuannya yg memungkinkan pemroses mengikuti jalur aksi yg berbeda berdsrkan kondisi yg ada.

3.PENGULANGANSalah kelebihan komputer ad/ kemampuannya u/ melakukan perkerjaan secara berulang-ulang Contoh:program menulis_kalimat_500_kalimenuliskan kalimat algoritma adalah langkah logis penyelesaian masalah sebanyak 500 kali

Algoritma: 1. tulis algoritma adalah langkah logis penyelesaian masalah 2. tulis algoritma adalah langkah logis penyelesaian masalah 3. tulis algoritma adalah langkah logis penyelesaian masalah . . . 500

u/ mengtasi hal tersbt dpt digunakan stukrutr pengulangan for-do, sehingga algoritmya:

program menulis_kalimat_500_kalimenuliskan kalimat algoritma adalah langkah logis penyelesaian masalah sebanyak 500 kali

Algoritma: for i dari 1 sampai 50 dotulis algoritma adalah langkah logis penyelesaian masalah

i ad/ pencacah pengulangan yg mencacah 1 s/d 500

Bentuk2 pengulangan:1.

For pencacah pengulangan dr 1 s/d N do

aksi

repeat-until=ulangi-sampai: proses pengulanganakan berhenti jika kondisi terpenuhiRepeat Aksi Until kondisi

3

While-do=selama-lakukan= prose pengulangan akan berhenti jika kondisi salah

While kondisi do Aksi

STRUKTUR TEKS ALGORITMAAda 3 bagian struktur suatu algoritma, yaitu : 1. Bagian Judul (header) 2. Bagian Deklarasi 3. Bagian Algoritma

Struktur teks Agoritma :PROGRAM nama_program {penjelasan tentang algoritma yg beisi uraian singkat mengenai masalah yg akan diselesaikan} DEKLARASI {Semua nama yg dipakai, nama tipe,konstanta,var,prosedur,dan fungsi diumumkan disini} ALGORITMA {Semua langkah/aksi algoritma dituliskan disini}

Contoh:PROGRAM luas_lingkaran{menghitung luas lingkaran apabila jari-jari lingkaran sudah diberikan}

DEKLARASI{Nama Konstanta}

const N =10 const phi=3.14 {nilai phi} {Nama variabel} jari_jari, luas:real

ALGORITMA:READ (jari_jari) LUAS Phi *jari_jari*jari_jari Write (luas)

1. Bagian judul / headerMemuat nama program dan penjelasan(spesifkasi) tentang program Nama program ditulis singkat,tetapi hrs menggambarkan apa yg dilakukan algoritma Algoritma yg dibuat harus sesuai dgn spesifikasi masalah yang diberikan Contoh: PROGRAM helloWord {program untuk mencetak hello word} PROGRAM luas_lingkaran {program untuk menghitung luas lingkaran}

2. Bagian Deklarasi

Mengumumkan semua nama yg akan dipakai, termasuk nama tipenyaNama tersbut berupa:konstanta,variabel,tipe, prosedur dan fungsi

Semua nama tersbt harus dideklarasikan sebelum digunakan

Contoh:

DEKLARASI {nama konstanta}const N=10 {jumlah data} const phi=3.14 {nilai phi}

{nama variabel}jari_jari,luas:real

{nama tipe}type titik:record < x:integer, y:integer> {koord.titik dibidang kartesian} {absis} {ordinat}

FUNCTION apakah_A(input c:char){mengembalikan

boolean

nilai true bila c adalah karakter A atau false bila sebaliknya}

PROSEDURE tukar(input/output A:integer, input/output B:integer) { mempertukarkan nilai A & B,parameter A & B sudah terdefinisi nilainya.setelah pertukaran A berisi nilai B semula, B berisi nilai A semula}

1. 2. 3.

Aturan pemberian nama dalam notasi algoritmik: tidak boleh mengandung spasi, tanda baca dan operasi matematika Karakter garis bawah (_) dpt digunakan untuk menggantikan spasi Tidak membedakan huruf kecil dan huruf besar (bahasa pemrograman case sensitif seperti bahasa C menganggap huruf kecil dan besar adalah 2 karakter yang berbeda)

3. Bagian Algortima

Bagian ini merupakan inti dari suatu program Berisi deskripsi langkah2 penyelesain masalah berupa pernyataan, yg ditulis dalam suatu notasi Misal write untuk mencetak data/informasi, read untuk membaca data,dsb Setiap pernyataan dlm algoritma dibaca dari atas ke bawah Algoritma dieksekusi berdasarkan urutan pernyataan

Contoh :Algoritma : Read (panjang,lebar) Luas panjang*lebar Write (luas)

Translasi teks algoritma kedlm teks program pascal & C

Teks algoritma merupakan hasil pemikiran konseptual, agar dpt dilaksanakan o/komputer maka harus ditranslasi kedlm bahasa bahasa pemrograman apapun Bahasa pascal merupakan bahasa pendidikan krn paling banyak digunakan dilingkungan universitas Bahasa C krn memiliki lingkungan yg luas dlm industri perangkat lunak

Contoh2 translasiAlgoritmik Program luas_segiempat{ membaca panjang & lebar yg berbentuk empat persegi panjang, menghitung luasnya, lalu mencetak luas tersebut ke piranti keluaran} DEKLARASI {nama variabel} panjang :real {panjang segiempat dlm cm} lebar :real {lebar segiempat dlm cm} luas :real {luas segiempat dlm cm} ALGORITMA: Read (panjang,lebar) luas panjang*lebar Write (luas)

Translasi dlm bahasa pascalProgram luas_segiempat; Uses wincrt; Var panjang,lebar,luas:real; Begin write (panjang=);readln (panjang); write (lebar =);readln (lebar); luas:=panjang*lebar; writeln (luas segiempat=,luas:5:2); End.

Translasi dlm bahasa C/* program luas_segiempat *//* program untuk menghitung luas segiempat */ # include Main () { /* deklarasi*/ Float panjang; {panjang segiempat dlm cm} Float lebar; {lebar segiempat dlm cm} Float luas; {luas segiempat dlm cm} /*algoritma*/ Printf (panjang =);scanf (%f, &panjang); Printf (lebar =);scanf (%f, &lebar); Luas=panjang*lebar; Printf (luas segi empat= %f \n ,luas); }

Contoh1: menghitung komisi salesman

Tulislah agoritma untuk menghitung komisi yg diterima salesman berdasarkan nilai penjualan yg dicapainya. Salesman mendapat komisi 5% dari hasil pejualannya.algoritma menerima data nama salesman dan nila penjualan yg dicapainya. Menghitung komisi lalu mencetak nama dan besar komisi yg diperolehnya

penyelesainProgram komisi{menghitung komisi yg diterima salesman berdasarkan nilai penjualan yg

dicapainya. Salesman mendapat komisi 5% dari hasil pejualannya}

Deklarasinama_salesman nilai_penjualan komisi : string : real : real

Algoritma:Read(nama_salesman,nilai_penjualan) komisi 0.05 *nilai_penjualan Write (nama_salemsman,komisi)

Program komisi_salesman; Uses wincrt; Varnama_salesman nilai_penjualan komisi :string; :real; :real;

Beginwrite (nama salesman:);readln (nama_salesman); write (nilai penjualan :);readln (nilai_penjualan); komisi :=0.05 * nilai_penjualan; writeln (komisi penjualan =,komisi:7:2);

End.

/* program komisi_salesman *//* program untuk menghitung komisi salesman */ # include Main () { /* deklarasi*/ String nama_saleman; Float nilai_penjualan; Float komisi; \*algoritma*/ Printf (nama salesman =);scanf (%s, &nama_salesman); Printf (nilai penjualan =);scanf (%f, &nilai_penjualan); Komisi=0.05 * nilai_penjualan; Printf (komisi penjualan= %f \n ,komisi); }

TUGAS 2 :Tulislah algoritma yg membaca nama karyawan dan gaji pokok bulanannya serta menghitung gaji bersihnya. Gaji bersih yg diterima pegawai adalah : gaji bersih = gaji pokok + tunjangan-pajak tunjangan karyawan dihitung 20% dari gaji pokok, sedangkan pajak adalah 15%dari gaji pokok ditambah tunjangan.nama karyawan dan gaji bersihnya dicetak kepiranti keluaran