Download - Algoritma dan Pemrograman

Transcript
Page 1: Algoritma dan Pemrograman

Algoritma danAlgoritma danPemrogramanPemrogramanAlgoritma danAlgoritma danPemrogramanPemrograman

Yance Sonatha,S.KomYance Sonatha,S.Kom

Page 2: Algoritma dan Pemrograman

Konversi Algoritma ke Konversi Algoritma ke Bahasa Pascal dan CBahasa Pascal dan C

Konversi Algoritma ke Konversi Algoritma ke Bahasa Pascal dan CBahasa Pascal dan C

Page 3: Algoritma dan Pemrograman

Konversi Struktur Algoritma

Judul{komentar mengenai algoritma seperti cara kerja program, kondisi awal dan kondisi akhir program}

Kamus{Pada bagian ini, didefinisikan nama konstanta, nama variabel, nama prosedur dan nama fungsi}

Algoritma{Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda kurung kurawal akan dianggap sebagai notasi algortima yang akan berpengaruh terhadap kebenaran algoritma}

Page 4: Algoritma dan Pemrograman

Struktur Pascal

(*judul*)Program judul;{penjelasan tentang program}

(*kamus*)const ..type …var …

(* algoritma*)begin ……..

………end.

Page 5: Algoritma dan Pemrograman

Struktur Bahasa C

/*judul*//*penjelasan tentang program*//*prosedur dan fungsi disini*/

/*kamus*//*semua deklarasi dan definisi disini*/

/* algoritma*/main( ){ ……..

………}

Page 6: Algoritma dan Pemrograman

Tabel Konversi Nama, Tipe dan Operator ke dalam Bahasa Pascal dan

CKelompok Algoritma Pascal C

1. Tipe dasar booleanintegerrealcharstringrecord

booleanintegerrealcharstringrecord

tidak ada *)intfloatchartidak ada **)struct

*) Bahasa C tidak menyediakan tipe boolean yang dinyatakan secara eksplisit, tapi dalam :

typedef enum (false=0, true =1) boolean**) Bahasa C tidak menyediakan tipe string, tetapi didefinisikan sbb : char nama_variabel[n]

Page 7: Algoritma dan Pemrograman

Tabel Konversi … (lanjutan)

Kelompok Algoritma Pascal C

2. Operator +-*/

divmod

<≤>≥=#

notandorxor

+-*/

divmod

<<=>

>==

<>notandorxor

+-*//%<

<=>

>===!=!

&&||

tidak ada

Page 8: Algoritma dan Pemrograman

Tabel Konversi … (lanjutan 2)

Kelompok Algoritma Pascal C3. Lain-lain constant

typetruefalse

consttypetruefalse

#definetypedef

Tidak adaTidak ada

Page 9: Algoritma dan Pemrograman

Tabel Konversi Penugasan, Pembacaan ke Pascal dan C

Kelompok Algoritma Pascal C

1. Penugasan ← := =

2. Pembacaan

input readreadln

scanf

3. Penulisan output writewriteln

printf

Page 10: Algoritma dan Pemrograman

Analisa KasusAnalisa Kasus(Pemilihan/Percabanga(Pemilihan/Percabanga

n)n)

Analisa KasusAnalisa Kasus(Pemilihan/Percabanga(Pemilihan/Percabanga

n)n)

Page 11: Algoritma dan Pemrograman

Analisis KasusMenganalisis kasus berarti mendefinisikan :

Kondisi, yaitu ekspresi boolean yang bernilai benar atau salah

Aksi, yang akan dilaksanakan jika kondisi yang bersesuaian dengan aksi tersebut bernilai benar

Page 12: Algoritma dan Pemrograman

• Notasi Algoritma untuk menangani 1 kasus

if (kondisi) then (aksi) endif

• Notasi Algoritma untuk menangani 2 kasus komplementer

if (kondisi) then (aksi_1) else {not kondisi} (aksi_2)• endif

Page 13: Algoritma dan Pemrograman

• Notasi Algoritma untuk menangani N buah kasus adalah sebagai berikut :

depend ondepend on (nama) kondisi1 : aksi1 kondisi2 : aksi2 ….. kondisiN : aksiN enddepend

Page 14: Algoritma dan Pemrograman

Contoh Kasus

• Konversikan nilai angka ke nilai huruf, dengan ketentuan :

81 – 100 : nilai A 66 – 80 : nilai B

56 – 65 : nilai C 46 – 55 : nilai D 0 - 45 : nilai EAtasi kemungkinan masukan angka diluar

range 0-100

Page 15: Algoritma dan Pemrograman

Contoh Kasus 2• Misalkan nomor-nomor bulan

(integer) dibaca dari piranti masukan. Tuliskan algoritma untuk mencetak nama bulan yang dibaca. Misalkan jika dibaca bulan 8, maka nama bulan itu adalah Agustus

Page 16: Algoritma dan Pemrograman

Contoh Kasus 3• Dibaca 3 buah angka yang

berlainan, harus dituliskan berurutan dari yang terkecil hingga terbesar