26
Algoritma Algoritma Pemrograman Pemrograman Pertemuan Ke-2 (TeksAlgoritma) Rahmady Liyantanto S1 Teknik Informatika-Unijoyo

AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

  • Upload
    hakhanh

  • View
    235

  • Download
    3

Embed Size (px)

Citation preview

Page 1: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

AlgoritmaAlgoritma PemrogramanPemrogramanPertemuan Ke-2(Teks Algoritma)

Rahmady Liyantanto

S1 Teknik Informatika-Unijoyo

Page 2: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

SubSub PokokPokok BahasanBahasan

� Pendahuluan� Judul Algoritma� Deklarasi� Deskripsi� Translasi Teks Algoritma ke dalam

Teks Program Bahasa Pascal� Tabel Translasi

S1 Teknik Informatika-Unijoyo

Page 3: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

PendahuluanPendahuluan (1)(1)� Teks algoritma yang dimaksud di sini adalah teks

pseudocode yang dianggap perlu untuk menjembatanikeragaman dan kompleksitas bahasa sehingga dapatdilakukan “abstraksi”

� Teks ini lebih berorientasi kepada detail designdibandingkan coding (merupakan rancangan secaraprosedural yang selanjutnya dengan mudah dapatditranslasi menjadi salah satu program dalam bahasatertentu)

� Contoh bahasa pemrograman yang digunakanadalah Bahasa Pascal.

S1 Teknik Informatika-Unijoyo

Page 4: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

PendahuluanPendahuluan (2)(2)Bagian-bagian (blok) dalam teks algoritma:� JUDUL (header) algoritma� DEKLARASI algoritma� DESKRIPSI algoritma

Keterangan:Pasangan tanda kurung kurawal (‘{‘ dan ‘}’) digunakan untukmemberikan komentar.

S1 Teknik Informatika-Unijoyo

Algoritma NAMA_ALGORITMA{ Penjelasan mengenai algoritma, yang berisi uraian singkatmengenai apa yang dilakukan oleh algoritma }DEKLARASI{ Semua nama yang dipakai, meliputi nama tipe, nama tetapan, namapeubah, nama prosedur dan nama fungsi didefinisikan di sini }DESKRIPSI :{ Semua langkah atau aksi algoritma dituliskan di sini }

Page 5: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

JudulJudul AlgoritmaAlgoritma� Terdiri dari nama dan penjelasan (spesifikasi) algoritma.� Nama yang digunakan sebaiknya singkat (namun cukup informatif).

� Biasanya di bawah nama diberi spesifikasi algoritma. Algoritma yangakan ditulis nantinya harus sesuai dengan spesifikasi yang didefinisikan.

S1 Teknik Informatika-Unijoyo

Algoritma LUAS_PERSEGI_PANJANG{ Menghitung luas persegi panjang dengan masukan ukuranpanjang dan ukuran lebar, lalu mencetak hasil luaspersegi panjang ke piranti keluaran }

Page 6: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

DeklarasiDeklarasi� Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu:

q nama tipeq nama konstantaq nama peubah (nama variabel)q nama fungsi, sekaligus spesifikasinyaq nama prosedur, sekaligus spesifikasinya

� Semua nama tersebut baru dapat digunakan jika telah didefinisikan di dalamDEKLARASI. Penulisan sekumpulan nama dalam DEKLARASI sebaiknya dikelompokkanmenurut jenis nama tersebut.

� Ketentuan-ketentuan dalam pendefinisian nama-nama:q nama peubah belum terdefinisi harganya ketika didefinisikan.

q Pendefinisian konstanta sekaligus juga memberikan harganya.

q Pendefinisian nama fungsi sekaligus juga dengan domain dan range sertaspesifikasinya.

q Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter(jika ada) dan spesifikasi prosedur (kondisi .awal, kondisi akhir dan proses yangdilakukan).

S1 Teknik Informatika-Unijoyo

Page 7: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

ContohContoh DeklarasiDeklarasi

S1 Teknik Informatika-Unijoyo

DEKLARASI{ Nama tipe, hanya untuk tipe yang bukan tipe dasar }type Titik : <X:real,Y:real> { koordinat pada sumbu kartesian }{ Nama konstanta, harus menyebutkan nilai }const phi = 3.14{ Nama peubah (variabel), menyebutkan tipe }P : Titik { Titik dalam derajat kartesian }jmlh : integer { Jumlah suatu elemen }ketemu : boolean { Keadaan hasil pencarian }{ Spesifikasi Fungsi, menyebutkan nama fungsi, domain dan range }function Konversi_Real_Ke_Integer(input i:real) à integer{ Mengkonversi harga i yang bertipe real menjadi harga ekivalen yangbertipe integer }{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisiakhir dan proses }procedure Tukar(input/output A:integer, input/output B:integer){ Kondisi awal : A dan B terdefinisi, A=a dan B=b }{ Kondisi akhir : A=b dan B=a }{ Proses : Mempertukarkan nilai A dan B }

Page 8: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

DeskripsiDeskripsiMerupakan bagian inti dari algoritma.

� Komponen di dalam teks algoritma dapat berupa:

q Instruksi dasar seperti input/output, assignment

q Urutan (sequence)

q Pemilihan

q Pengulangan

S1 Teknik Informatika-Unijoyo

DESKRIPSI:read(a)b ß a mod 2if b = 0 then

write(‘bilangan genap’)elsewrite(‘bilangan ganjil’)

endif

Page 9: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

TranslasiTranslasiTeksTeks AlgoritmaAlgoritma keke dalamdalamTeksTeksProgramProgram BahasaBahasa PascalPascal

Struktur program Pascal juga terdiri dari tiga bagian:1. Judul Program sifatnya opsional dan tidak signifikan. Dapat digunakan

untuk memberi nama program dan sifatnya sebagai dokumentasi saja.Judul program dituliskan pada awal program dan diakhiri dengan titikkoma (‘;’).

2. Bagian Deklarasi digunakan bila di dalam program menggunakanpengenal (identifier). Identifier dapat berupa label, konstanta, tipe, peubah,prosedur dan fungsi. Jika suatu program menggunakan identifier, BahasaPascal menuntut supaya identifier tersebut dikenalkan/dideklarasikanterlebih dahulu sebelum digunakan.

3. Bagian Deskripsi menunjukkan suatu tindakan yang dikerjakan olehprogram. Tindakan yang dilakukan oleh program tergantung padainstruksi-instruksi yang diberikan. Instruksiinstruksi yang akan diberikanuntuk dikerjakan ditulis di antara kata cadangan Begin dan End. Akhirpenulisan dari End diakhiri dengan tanda baca titik (‘.’). Setiap instruksiper barisnya diakhiri dengan tanda baca titik koma (‘;’).

S1 Teknik Informatika-Unijoyo

Page 10: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

TranslasiTranslasi……Algoritma Pascal

S1 Teknik Informatika-Unijoyo

Algoritma NAMA_ALGORITMA{ Penjelasan mengenai algoritma, yangberisi uraian singkat mengenaiapa yang dilakukan oleh algoritma }

DEKLARASI{ Semua nama yang dipakai, meliputinama tipe, nama tetapan, namapeubah, nama prosedur dan namafungsi didefinisikan di sini }

DESKRIPSI :{ Semua langkah atau aksi algoritmadituliskan di sini }

program NAMA_PROGRAM;{ Penjelasan mengenai program, yang berisi uraiansingkat mengenai apa yang dilakukan olehprogram }( * DEKLARASI * )[const]{ semua nama tetapan dan harga tetapannyadidefinisikan di sini }[type]{ semua nama tipe bentukan didefinisikan di sini }[var]{ semua nama peubah global didefinisikan di sini }{ deklarasi prosedur dan fungsi didefinisikan disini }( * DESKRIPSI * )begin{ semua instruksi program dituliskan di sini }end.

Page 11: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

TranslasiTranslasi……� Contoh translasi dari teks algoritma ke teks

bahasa pemrograman Pascal untuk mendapatkanhasil sebagai berikut:

012345

� Untuk mendapatkan hasil seperti di atas, padabagian Deskripsi digunakan instruksi denganstruktur pengulangan While-Do

S1 Teknik Informatika-Unijoyo

Page 12: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

TranslasiTranslasi……Algoritma Pascal

S1 Teknik Informatika-Unijoyo

AlgoritmaPENAMBAHAN_SATU{ Menampilkan penambahan satu darisuatu bilangan bulat, dimulaidari 0 sampai dengan 5 }DEKLARASII : integer { peubah data bilanganbulat }DESKRIPSI:I ß 0while I ≤ 5 do

write(I)Iß I + 1

endwhile{ I > 5 }

program PENAMBAHAN_SATU;{ Menampilkan penambahan satu darisuatu bilangan bulat, dimulaidari 0 sampai dengan 5 }( * DEKLARASI * )[var]I : integer { peubah data bilanganbulat }( * DESKRIPSI * )begin

I := 0;while I <= 5 dobegin

writeln(I);I := I + 1;

end;end.

Page 13: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

PERLU DIPERHATIKANPERLU DIPERHATIKAN

Hal penting tentang bahasa Pascal:� Bahasa Pascal tidak membedakan nama yang ditulis dalam

huruf besar ataupun huruf kecil (tidak bersifat case sensitive).Misal:q I sama saja dengan iq penambahan_satu sama saja dengan

PENAMBAHAN_SATU� Komentar ditulis di antara tanda “{“ dan “}” atau di antara

“(*” dan “*)”� Program Pascal tidak mengenal aturan penulisan di kolom

tertentu, jadi boleh dituliskan mulai kolom ke berapapun.Penulisan instruksi-instruksi yang menjorok masuk beberapakolom tidak memiliki pengaruh apapun di dalam proses.

S1 Teknik Informatika-Unijoyo

Page 14: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

Notasi Algoritma ke dalam Notasi Bahasa Pascal [1]Notasi Algoritma ke dalam Notasi Bahasa Pascal [1]

S1 Teknik Informatika-Unijoyo

Page 15: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

Notasi Algoritma ke dalam Notasi Bahasa PascalNotasi Algoritma ke dalam Notasi Bahasa Pascal [2][2]

S1 Teknik Informatika-Unijoyo

Page 16: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

NotasiNotasi AlgoritmaAlgoritma PengisianPengisian NilaiNilai,, PembacaanPembacaan dandanPenulisanPenulisan keke dalamdalam NotasiNotasi BahasaBahasa PascalPascal

� read : Membaca masukan dari keyboard, kursor tetap di barisyang sama

� readln : Membaca masukan dari keyboard, lalu kursor pindahke baris berikutnya

� write : Menulis keluaran ke layar, kursor tetap di baris yangsama

� writeln : Menulis keluaran ke layar, lalu kursor pindah ke barisberikutnya

S1 Teknik Informatika-Unijoyo

Page 17: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

NotasiNotasi AlgoritmaAlgoritmaStrukturStruktur PemilihanPemilihankeke dalamdalam NotasiNotasiBahasaBahasa PascalPascal

S1 Teknik Informatika-Unijoyo

Page 18: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

NotasiNotasiAlgoritmaAlgoritmaStrukturStrukturPengulanganPengulangankeke dalamdalamNotasiNotasi BahasaBahasaPascalPascal

S1 Teknik Informatika-Unijoyo

Page 19: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

Notasi Algoritma Prosedur ke dalam NotasiNotasi Algoritma Prosedur ke dalam NotasiBahasaBahasa PascalPascal

� ProsedurTanpa Parameter� Prosedur dengan Parameter Masukan� Prosedur dengan Parameter Keluaran� Prosedur dengan Parameter Masukan/Keluaran

S1 Teknik Informatika-Unijoyo

Page 20: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

ProsedurProsedur TanpaTanpa ParameterParameter

S1 Teknik Informatika-Unijoyo

Page 21: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

ProsedurProsedur dengandengan ParameterParameter MasukanMasukan

S1 Teknik Informatika-Unijoyo

Page 22: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

ProsedurProsedur dengandengan ParameterParameter KeluaranKeluaran

S1 Teknik Informatika-Unijoyo

Page 23: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

ProsedurProsedur dengandengan ParameterParameter MasukanMasukan//KeluaranKeluaran

S1 Teknik Informatika-Unijoyo

Page 24: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

Notasi Algoritma Fungsi ke dalam NotasiNotasi Algoritma Fungsi ke dalam NotasiBahasaBahasa PascalPascal

S1 Teknik Informatika-Unijoyo

Page 25: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

KesimpulanKesimpulan� Teks algoritma adalah hasil pemikiran yang konseptual. Agar

dapat dilaksanakan oleh komputer maka algoritma harusditranslasi ke dalam notasi bahasa pemrograman.

� JUDUL algoritma adalah bagian algoritma yang terdiri darinama dan penjelasan (spesifikasi) tentang algoritma tersebut

� DEKLARASI adalah tempat untuk mendefinisikan namatipe, nama konstanta, nama informasi/peubah (nama variabel),nama fungsi (sekaligus spesifikasinya) dan nama prosedur(sekaligus spesifikasinya)

� DESKRIPSI merupakan uraian langkah-langkah penyelesaianmasalah. Setiap langkah algoritma dibaca dengan urutan dari“atas” ke “bawah”. Urutan penulisan ini akan menentukanurutan pelaksanaan perintah.

S1 Teknik Informatika-Unijoyo

Page 26: AlgoritmaAlgoritma Pemrograman Pemrograman · JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut

DaftarDaftar PustakaPustaka� Andri Kristanto [2003]. Algoritma dan

Pemrograman dengan C++, Yogyakarta:Graha Ilmu.

� Jogiyanto HM [1989]. Turbo Pascal,Yogyakarta: Andi Offset.

� Noor Ifada [2005]. Diktat MatakuliahAlgoritma Pemrograman (HibahKompetisi A1), Bangkalan: Jurusan TeknikInformatika, Universitas Trunojoyo.

� Rinaldi Munir [2003]. Algoritma danPemrograman dengan Pascal dan Cedisi Kedua, Bandung: Informatika.

S1 Teknik Informatika-Unijoyo