Algoritma Pemrograman

dokumen-dokumen yang mirip
Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Algoritma Pemrograman

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Algoritma Pemrograman

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

TIPE, NAMA, DAN NILAI

Brigida Arie Minartiningtyas, M.Kom

Algoritma Pemrograman

Teori Algoritma. Struktur Algoritma

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

2 ATURAN PENULISAN TEKS ALGORITMA

Pertemuan Ke-5 Penyeleksian Kondisi. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-4 Urutan (sequence) Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

Algoritma Pemrograman

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma Pemrograman

Algoritma dan Struktur Data

Teori Algoritma TIPE DATA

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Algoritma Pemrograman

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma Pemrograman

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

STRUKTUR DASAR ALGORITMA

Algoritma Pemrograman

Konstruksi Dasar Algoritma

Pertemuan 3 Penyeleksian Kondisi

Algoritma Pemrograman

.::BAB II.::MENGENAL PASCAL

KONSEP DASAR BAHASA PASCAL

Algoritma Pemrograman

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Bab 1 Algoritma dan Pemrograman Tersruktur

Algoritma Pemrograman

STRUKTUR DASAR ALGORITMA

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

Algoritma dan Struktur Data

Bab 2 DASAR-DASAR ALGORITMA

Algoritma Pemrograman

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Pengenalan Pascal. Sejarah Singkat Pascal

KONSEP DASAR BAHASA PASCAL

PERSEGI ANGKA-HURUF VERTIKAL

Dasar Komputer & Pemrograman 2A

Pertemuan 4 Perulangan

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Pertemuan 3 Prosedur dan Fungsi

Algoritma Pemrograman

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

Dasar Komputer & Pemrogaman 2A

ALGORITMA DAN PEMROGRAMAN

algoritma & pemrograman

Algoritma Pemrograman

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL.

ALGORITMA DAN STRUKTUR DATA 1

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Algoritma Pemrograman I

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

CCH1A4 / Dasar Algoritma & Pemrogramanan

Sesi/Perkuliahan ke: II

ALGORITMA & FLOWCHART

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL

MODUL 1. Struktur Bahasa PASCAL secara umum

Pemrograman Dasar Pascal

Lab. Common Computing Universitas Trunojoyo Madura Praktikum Pengantar Algoritma [MODUL]

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Struktur Program. Rinta Kridalukmana

Algoritma Pemrograman

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Algoritma,Flowchart, Konsep

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

SMA SANTO PAULUS PONTIANAK

Pengenalan Pascal/DevPascal

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Algoritma Pemrograman

Proses, Instruksi, dan Aksi

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

Transkripsi:

Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam Teks Program Bahasa Tabel Translasi S1 Teknik Informatika-Unijoyo 2 1

Pendahuluan Teks algoritma yang dimaksud di sini adalah teks pseudocode yang dianggap perlu untuk menjembatani keragaman dan kompleksitas bahasa sehingga dapat dilakukan abstraksi Teks ini lebih berorientasi kepada detail design dibandingkan coding (merupakan rancangan secara prosedural yang selanjutnya dengan mudah dapat ditranslasi menjadi salah satu program dalam bahasa tertentu) Contoh bahasa pemrograman yang digunakan adalah Bahasa Jadi dalam pembahasan berikutnya, translasi teks Algoritma adalah ke dalam teks program Bahasa S1 Teknik Informatika-Unijoyo 3 Pendahuluan - contd Bagian-bagian (blok) dalam teks algoritma: JUDUL (header) algoritma algoritma DESKRIPSI algoritma Algoritma NAMA_ALGORITMA { Penjelasan mengenai algoritma, yang berisi uraian singkat mengenai apa yang dilakukan oleh algoritma } { Semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur dan nama fungsi didefinisikan di sini } DESKRIPSI : { Semua langkah atau aksi algoritma dituliskan di sini } Keterangan: Pasangan tanda kurung kurawal ( { dan } ) digunakan untuk memberikan komentar (untuk memperjelas maksud teks yang dituliskan) S1 Teknik Informatika-Unijoyo 4 2

Judul Algoritma Terdiri dari nama dan penjelasan (spesifikasi) algoritma Nama yang digunakan sebaiknya singkat (namun cukup informatif) Biasanya di bawah nama diberi spesifikasi algoritma Algoritma yang akan ditulis nantinya harus sesuai dengan spesifikasi yang didefinisikan Algoritma LUAS_PERSEGI_PANJANG { Menghitung luas persegi panjang dengan masukan ukuran panjang dan ukuran lebar, lalu mencetak hasil luas persegi panjang ke piranti keluaran } S1 Teknik Informatika-Unijoyo 5 Deklarasi Merupakan tempat untuk mendefinisikan berbagai macam nama, yaitu: nama tipe nama konstanta nama peubah (nama variabel) nama fungsi, sekaligus spesifikasinya nama prosedur, sekaligus spesifikasinya Semua nama tersebut baru dapat digunakan jika telah didefinisikan di dalam Penulisan sekumpulan nama dalam sebaiknya dikelompokkan menurut jenis nama tersebut Ketentuan-ketentuan dalam pendefinisiannama-nama: nama peubah belum terdefinisi harganya ketika didefinisikan Pendefinisian konstanta sekaligus juga memberikan harganya Pendefinisian nama fungsi sekaligus juga dengan domain dan range serta spesifikasinya Pendefinisian nama prosedur sekaligus juga dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal, kondisi akhir dan proses yang dilakukan) S1 Teknik Informatika-Unijoyo 6 3

Deklarasi - contd { 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 = 314 { 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 yang bertipe integer } { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir 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 } S1 Teknik Informatika-Unijoyo 7 Deskripsi Merupakan bagian inti dari algoritma Komponen di dalam teks algoritma dapat berupa: Instruksi dasar seperti input/output, assignment Urutan (sequence) Pemilihan Pengulangan DESKRIPSI: read(a) b a mod 2 if b = 0 then write( bilangan genap ) else write( bilangan ganjil ) endif S1 Teknik Informatika-Unijoyo 8 4

Translasi Teks Algoritma ke dalam Teks Program Bahasa Struktur program 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 titik koma ( ; ) 2 Bagian Deklarasi digunakan bila di dalam program menggunakan pengenal (identifier) Identifier dapat berupa label, konstanta, tipe, peubah, prosedur dan fungsi Jika suatu program menggunakan identifier, Bahasa menuntut supaya identifier tersebut dikenalkan/dideklarasikan terlebih dahulu sebelum digunakan 3 Bagian Deskripsi menunjukkan suatu tindakan yang dikerjakan oleh program Tindakan yang dilakukan oleh program tergantung pada instruksi-instruksi yang diberikan Instruksiinstruksi yang akan diberikan untuk dikerjakan ditulis di antara kata cadangan Begin dan End Akhir penulisan dari End diakhiri dengan tanda baca titik ( ) Setiap instruksi per barisnya diakhiri dengan tanda baca titik koma ( ; ) S1 Teknik Informatika-Unijoyo 9 Translasi - contd ALGORITMA Algoritma NAMA_ALGORITMA {Penjelasan mengenai algoritma, yang berisi uraian singkat mengenai apa yang dilakukan oleh algoritma} {Semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur dan nama fungsi didefinisikan di sini} DESKRIPSI : {Semua langkah atau aksi algoritma dituliskan di sini} PASCAL program NAMA_PROGRAM; {Penjelasan mengenai program, yang berisi uraian singkat mengenai apa yang dilakukan oleh program} (* *) [const] {semua nama tetapan dan harga tetapannya didefinisikan di sini} [type] {semua nama tipe bentukan didefinisikan di sini} [var] {semua nama peubah global didefinisikan di sini} {deklarasi prosedur dan fungsi didefinisikan di sini} (* DESKRIPSI *) {semua instruksi program dituliskan di sini} end S1 Teknik Informatika-Unijoyo 10 5

Translasi - contd Contoh translasi dari teks algoritma ke teks bahasa pemrograman untuk mendapatkan hasil sebagai berikut: 0 1 2 3 4 5 Untuk mendapatkan hasil seperti di atas, pada bagian Deskripsi digunakan instruksi dengan struktur pengulangan While-Do S1 Teknik Informatika-Unijoyo 11 Translasi - contd ALGORITMA Algoritma PENAMBAHAN_SATU { Menampilkan penambahan satu dari suatu bilangan bulat, dimulai dari 0 sampai dengan 5 } I : integer { peubah data bilangan bulat } DESKRIPSI: I 0 while I 5 do write(i) I I + 1 endwhile { I > 5 } PASCAL program PENAMBAHAN_SATU; { Menampilkan penambahan satu dari suatu bilangan bulat, dimulai dari 0 sampai dengan 5 } (* *) [var] I : integer { peubah data bilangan bulat } (* DESKRIPSI *) I := 0; while I <= 5 do writeln(i); I := I + 1; end S1 Teknik Informatika-Unijoyo 12 6

Translasi - contd Beberapa hal penting tentang bahasa : Bahasa tidak membedakan nama yang ditulis dalam huruf besar ataupun huruf kecil (tidak bersifat case sensitive) Misal: I sama saja dengan i penambahan_satu sama saja dengan PENAMBAHAN_SATU Komentar ditulis di antara tanda { dan } atau di antara (* dan *) Program tidak mengenal aturan penulisan di kolom tertentu, jadi boleh dituliskan mulai kolom ke berapapun Penulisan instruksi-instruksi yang menjorok masuk beberapa kolom tidak memiliki pengaruh apapun di dalam proses Hal ini hanya dimaksudkan untuk mempermudah pembacaan atau dokumentasi program, sehingga akan lebih terlihat bagianbagiannya S1 Teknik Informatika-Unijoyo 13 Tabel Translasi Notasi Algoritma ke dalam Notasi Bahasa Notasi Algoritma Pengisian Nilai, Pembacaan dan Penulisan ke dalam Notasi Bahasa Notasi Algoritma Struktur Penyeleksian ke dalam Notasi Bahasa Notasi Algoritma Struktur Pengulangan ke dalam Notasi Bahasa Notasi Algoritma Prosedur ke dalam Notasi Bahasa Notasi Algoritma Fungsi ke dalam Notasi Bahasa S1 Teknik Informatika-Unijoyo 14 7

Notasi Algoritma ke dalam Notasi Bahasa [1] Kelompok 1 Tipe Dasar boolean Algoritmik boolean Ket integer real char string record <field1: type, field2: type, fieldn: type > byte shortint word integer longint real double extended Char String String[n] record field1: type; field2: type; fieldn: type; 1 byte 1 byte 2 byte 2 byte 4 byte S1 Teknik Informatika-Unijoyo 15 2 Operator Kelompok a Aritmatika b Perbandingan c Logika 3 Komentar 4 Lain-lain Notasi Algoritma ke dalam Notasi Bahasa [2] + * / div mod < > = not and or xor { komentar } const type true false Algoritmik + * / div mod < <= > >= = <> not and or xor const type true false { komentar } (* komentar *) Ket S1 Teknik Informatika-Unijoyo 16 8

Notasi Algoritma Pengisian Nilai, Pembacaan dan Penulisan ke dalam Notasi Bahasa Kelompok 1 Penugasan 2 Pembacaan 3 Penulisan Algoritmik read write := read readln write writeln read readln write writeln : : : : Membaca masukan dari keyboard, kursor tetap di baris yang sama Membaca masukan dari keyboard, lalu kursor pindah ke baris berikutnya Menulis keluaran ke layar, kursor tetap di baris yang sama Menulis keluaran ke layar, lalu kursor pindah ke baris berikutnya S1 Teknik Informatika-Unijoyo 17 Struktur Algoritmik Notasi Algoritma Struktur Pemilihan ke dalam Notasi Bahasa 1 IF-THEN if <kondisi> then aksi endif if <kondisi> then aksi1; aksi2; aksin (*if*) 2 IF-THEN-ELSE if <kondisi> then aksi1 else aksi2 endif if <kondisi> then aksi1 else aksi2; (*endif*) 3 CASE case nama <kond1> : aksi1 <kond1> : aksi1 <kondn> : aksin [otherwise aksix] endcase Cara 1: case nama of nilai1 : aksi1; nilai2 : aksi1; nilain : aksin; [else aksix] Cara 2: if kond1 then aksi1 else if kond2 then aksi2 else S1 Teknik Informatika-Unijoyo 18 9

Notasi Algoritma Struktur Pengulangan ke dalam Notasi Bahasa Struktur 1 FOR 2 WHILE Algoritmik For menaik: for pencacah a to b do aksi endfor For menurun: for pencacah b downto a do aksi endfor while kondisi do aksi endwhile For menaik: for pencacah:=a to b do aksi1; aksi2; aksin; (*for*) For menurun: for pencacah:=b dowmto a do aksi1; aksi2; aksin; (*for*) while kondisi do aksi1; aksi2; aksin; (*while*) 3 REPEAT repeat aksi until kondisi repeat aksi; until kondisi; S1 Teknik Informatika-Unijoyo 19 Notasi Algoritma Prosedur ke dalam Notasi Bahasa Prosedur Tanpa Parameter Prosedur dengan Parameter Masukan Prosedur dengan Parameter Keluaran Prosedur dengan Parameter Masukan/Keluaran S1 Teknik Informatika-Unijoyo 20 10

Prosedur Tanpa Parameter ALGORITMA procedure NAMA_PROSEDUR { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } DESKRIPSI : langkah atau aksi algoritma } Cara memanggil prosedur: NAMA_PROSEDUR; PASCAL procedure NAMA_PROSEDUR; { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } (* *) (* DESKRIPSI *) langkah atau aksi } S1 Teknik Informatika-Unijoyo 21 Prosedur dengan Parameter Masukan ALGORITMA procedure NAMA_PROSEDUR (input parameter : tipe_param) { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } DESKRIPSI : langkah atau aksi algoritma } Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual); PASCAL procedure NAMA_PROSEDUR(parameter : tipe_param); { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } (* *) (* DESKRIPSI *) langkah atau aksi } S1 Teknik Informatika-Unijoyo 22 11

Prosedur dengan Parameter Keluaran ALGORITMA procedure NAMA_PROSEDUR (output parameter : tipe_param) { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } DESKRIPSI : langkah atau aksi algoritma } Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual); PASCAL procedure NAMA_PROSEDUR(var parameter : tipe_param); { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } (* *) (* DESKRIPSI *) langkah atau aksi } S1 Teknik Informatika-Unijoyo 23 Prosedur dengan Parameter Masukan/Keluaran ALGORITMA procedure NAMA_PROSEDUR (input/output parameter : tipe_param) { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } DESKRIPSI : langkah atau aksi algoritma } Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual); PASCAL procedure NAMA_PROSEDUR(var parameter : tipe_param); { Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir dan proses } (* *) (* DESKRIPSI *) langkah atau aksi } S1 Teknik Informatika-Unijoyo 24 12

Notasi Algoritma Fungsi ke dalam Notasi Bahasa ALGORITMA function NAMA_FUNGSI (input daftar parameter formal) tipe_hasil { Spesifikasi Fungsi, menjelaskan apa yang dilakukan dan dikembalikan oleh fungsi } { Semua nama yang dipakai fungsi DESKRIPSI : { badan fungsi, berisi semua langkah atau aksi algoritma untuk menghasilkan nilai yang akan dikembalikan } return hasil { pengembalian nilai yang dihasilkan fungsi } PASCAL function NAMA_FUNGSI(daftar parameter formal) : tipe_hasil; { Spesifikasi Fungsi, menjelaskan apa yang dilakukan dan dikembalikan oleh fungsi } (* *) { Semua nama yang dipakai fungsi (* DESKRIPSI *) { badan fungsi, berisi semua langkah atau aksi algoritma untuk menghasilkan nilai yang akan dikembalikan } NAMA_FUNGSI:=hasil; { pengembalian nilai yang dihasilkan fungsi } S1 Teknik Informatika-Unijoyo 25 Summary Teks algoritma adalah hasil pemikiran yang konseptual Agar dapat dilaksanakan oleh komputer maka algoritma harus ditranslasi ke dalam notasi bahasa pemrograman JUDUL algoritma adalah bagian algoritma yang terdiri dari nama dan penjelasan (spesifikasi) tentang algoritma tersebut adalah tempat untuk mendefinisikan nama tipe, nama konstanta, nama informasi/peubah (nama variabel), nama fungsi (sekaligus spesifikasinya) dan nama prosedur (sekaligus spesifikasinya) DESKRIPSI merupakan uraian langkah-langkah penyelesaian masalah Setiap langkah algoritma dibaca dengan urutan dari atas ke bawah Urutan penulisan ini akan menentukan urutan pelaksanaan perintah S1 Teknik Informatika-Unijoyo 26 13

Daftar Pustaka Andri Kristanto [2003] Algoritma dan Pemrograman dengan C++, Yogyakarta: Graha Ilmu Jogiyanto HM [1989] Turbo, Yogyakarta: Andi Offset Noor Ifada [2005] Diktat Matakuliah Algoritma Pemrograman (Hibah Kompetisi A1), Bangkalan: Jurusan Teknik Informatika, Universitas Trunojoyo Rinaldi Munir [2003] Algoritma dan Pemrograman dengan dan C edisi Kedua, Bandung: Informatika S1 Teknik Informatika-Unijoyo 27 14