Dasar- dasar Algoritma

30
Dasar- dasar Algoritma Kelas D – Teknik Informatika Jonh Fredrik Ulysses, S.T

description

Dasar- dasar Algoritma. Kelas D – Teknik Informatika Jonh Fredrik Ulysses, S.T. Dasar Algoritma. Dalam penulisan Algoritma ada beberapa ketentuan yaitu: Program atau metode penyelesaian masalah harus sesuai tahapan / urutan Tahapan tersebut tidak baku, yang penting efektif - PowerPoint PPT Presentation

Transcript of Dasar- dasar Algoritma

Page 1: Dasar- dasar Algoritma

Dasar- dasar Algoritma

Kelas D – Teknik Informatika

Jonh Fredrik Ulysses, S.T

Page 2: Dasar- dasar Algoritma

Dasar Algoritma

• Dalam penulisan Algoritma ada beberapa ketentuan yaitu:– Program atau metode penyelesaian masalah

harus sesuai tahapan / urutan– Tahapan tersebut tidak baku, yang penting

efektif– Program bersifat terstruktur– Tidak bermakna ganda

Page 3: Dasar- dasar Algoritma

Struktur Badan Algoritma

• Kepala Program– Berisi judul program dan keterangan tentang

program– Bahasa Algoritma : Algoritma judul_program

• Ex. Algoritma menghitung_luas_segitiga • Ex. Algoritma MenghitungLuasSegitiga

– Bisa ditambahkan komentar tentang program dengan menggunakan operator “{ }”

Page 4: Dasar- dasar Algoritma

Struktur Badan Algoritma (2)

• Deklarasi– Berisi variabel yang digunakan dalam

program– Bahasa Algoritma : nama_variabel : Tipe Data

• Ex. AlasSegitiga : integer• Ex. TinggiSegitiga : integer• Ex. LuasSegitiga : integer

Page 5: Dasar- dasar Algoritma

Struktur Badan Algoritma (3)

• Deskripsi– Berisi uraian langkah penyelesaian– Example:

read(PanjangSegitiga)

read(LebarSegitiga)

LuasSegitiga ← ½ * PanjangSegitiga * LebarSegitiga

write(LuasSegitiga)

Page 6: Dasar- dasar Algoritma

Struktur Badan Algoritma (4)Algoritma menghitung_luas_segitiga{menghitung luas segitiga dengan inputan alas dan tinggi segitiga berasal dari keyboard}

DEKLARASIAlasSegitiga : IntegerTinggiSegitiga : IntegerLuasSegitiga : Integer

DESKRIPSIread(AlasSegitiga)read(TinggiSegitiga)

LuasSegitiga ← ½ * AlasSegitiga * TinggiSegitiga

write(LuasSegitiga)

Page 7: Dasar- dasar Algoritma

Kasus

• Deklarasi data untuk mobil – Merk : String {Contoh: Honda}– NoKendaraan : String {Contoh: KH1A}– TahunProduksi : Integer {Contoh: 2007}

• Deklarasi data untuk Mata kuliah

• Deklarasi data untuk Waktu

Page 8: Dasar- dasar Algoritma

• Deklarasi data untuk Alamat Rumah

• Deklarasi data untuk Data Pribadi <min 6 variabel>

Page 9: Dasar- dasar Algoritma

TIPE, NAMA, DAN NILAI

Page 10: Dasar- dasar Algoritma

Tipe Data

Tipe data terdiri dari tipe:• Tipe dasar

– Tipe yang dapat langsung dipakai (disediakan oleh bahasa pemrograman)

– Contoh: boolean, integer, real, char, string (?)• Tipe bentukan

– Tipe yang didefinisikan sendiri oleh pemrogram– Tipe yang dibentuk dari tipe dasar atau dari tipe

bentukan lain yang sudah didefinisikan– Contoh: tipe dasar yang diberi nama tipe baru, record

Page 11: Dasar- dasar Algoritma

Tipe Data(2)

Empat hal yang harus diperhatikan dalam pendefinisian tipe:

• Nama

• Domain harga

• Konstanta

• Operator

Page 12: Dasar- dasar Algoritma

Tipe Data(3)

Page 13: Dasar- dasar Algoritma

Tipe Bentukan

• Tipe dasar yang diberi nama tipe baru– Nama baru untuk tipe dasar menggunakan kata kunci type– Domain nilai, cara menulis konstanta, dan operasi-operasi yang

dapat dijalankan pada tipe baru tersebut tidak berubah, sama seperti tipe dasarnya.

– Contoh: type BilanganBulat: integer

• Rekaman (record)– Rekaman disusun atas satu atau lebih field– Tipe field menyimpan data dan tipe dasar tertentu atau dari tipe

bentukan lain yang sudah didefinisikan sebelumnya– Nama rekaman ditentukan oleh pemrogram– Rekaman disebut juga tipe terstruktur

Page 14: Dasar- dasar Algoritma

Contoh RecordDEKLARASItype MataKuliah : record <KodeMK : string, {kode matakuliah}

NamaMK : string, {nama matakuliah} Nilai : char {indeks nilai}>

type Mahasiswa : record <NIM : integer, {nomor mhs} NamaMhs : string, {nama mhs} MK : array[1..4] of MataKuliah>

LarikMhs : array[1..100] of Mahasiswa

Page 15: Dasar- dasar Algoritma

Nama• Untuk mengidentifikasikan dan membedakan obyek• Unik dan tidak boleh sama• Dalam algoritma nama diberikan pada:

– Variabel• Tempat penyimpanan data/informasi di memori yang nilainya dapat diubah

selama pelaksanaan program– Konstanta

• Tempat penyimpanan di memori yang nilainya tidak dapat diubah selama pelaksanaan program

– Tipe bentukan• Tipe data baru yang didefinisikan oleh program dari tipe data yang sudah

ada– Prosedur

• Modul program (sederetan instruksi) yang ditulis terpisah dari badan program utamadan dapat dipanggil berulang dari program utama

– Fungsi• Prosedur yang mengembalikan suatu nilai dengan tipe data sederhana

Page 16: Dasar- dasar Algoritma

Aturan Penulisan Nama

• Harus dimulai dengan huruf alfabet, tidak boleh dimulai dengan angka, spasi, atau karakter khusus lainnya.

• Tidak case sensitif (beda dengan bahasa pemrograman)• Karakter penyusun nama hanya boleh: huruf alfabet,

angka dan “_” (underscore)• Tidak boleh dipisahkan dengan spasi• Panjang nama tidak terbatas• Semua nama yang dipakai harus dideklarasikan dulu

pada bagian deklarasi

Page 17: Dasar- dasar Algoritma

Contoh Penamaan

• SALAH– 6titik {dimulai dg angka}– nilai ujian {dipisahkan spasi}– PT-1 {mengandung operator kurang}– hari! {mengandung karakter khusus}

• BENAR– titik6 atau titik_6– nilai_ujian atau nilaiUjian– PT_1 atau PT1– hari

Page 18: Dasar- dasar Algoritma

Nilai

• Merupakan besaran dari tipe data yang sudah didefinisikan (tipe dasar maupun tipe bentukan)

• Nilai dapat berupa:– Isi variabel atau konstanta– Nilai dari hasil perhitungan– Nilai yang dihasilkan oleh fungsi

• Nilai yang disimpan di variabel dimanipulasi dengan cara:– Mengisikan ke variabel lain yang bertipe sama– Dipakai untuk perhitungan– Dituliskan ke piranti keluaran

Page 19: Dasar- dasar Algoritma

Nilai(2)

Pengisian nilai ke variabel:• Pengisian nilai secara

langsung(assignment)– Memasukkan sebuah nilai ke

dalam nama variabel langsung di dalma teks algoritma

– Syaratnya nilai yang didisikan harus bertipe sama dengan tipe peubah

– Notasi: – Contoh:

variabel konstanta NoMhs 1234

variabel1 variabel2 Nil_prev Nil_cur

variabel ekspresi Luas 0.5 * p * l

Page 20: Dasar- dasar Algoritma

Nilai(3)

• Pembacaan nilai dari piranti masukan– Nilai untuk nama variabel dapt diisi dari piranti

masukan, misalnya dari keyboard.– Dinamakan dengan operasi pembacaan data– Notasi dalam teks algoritma: read– Contoh:

• read (nama1, nama2,…namaN)

Page 21: Dasar- dasar Algoritma

Ekspresi

• Ekspresi terdiri atas: operand dan operator• Operand adalah nilai yang dioperasikan dengan

operator tertentu• Operand dapat berupa konstanta, nama

variabel, nama konstanta, atau hasil suatu fungsi

• Hasil evaluasi dari sebuah ekspresi adalah nilai di dalam domain yang sesuai dengan tipe operand yang dipakai, ada tiga macam: ekspresi aritmetik, ekspresi relasional, ekspresi string.

Page 22: Dasar- dasar Algoritma

Ekspresi(2)

• Ekspresi Aritmetika– Ekspresi yang baik operand dan hasilnya berupa numerik– (ingat: tingkat prioritas operator)

i. / , div, modii. *iii.+, -

• Ekspresi relasional– Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor– Hasil evaluasi adalah nilai bertipe boolean– Ekspresi string

Page 23: Dasar- dasar Algoritma

Ekspresi (3)

• Ekspresi string

• Ekspresi dengan operator penyambungan/concatenation “+”.

Page 24: Dasar- dasar Algoritma

Menuliskan Nilai ke Piranti Keluaran (monitor/printer)

• Dilakukan dengan notasi write

• Contoh: – write (nama1, nama2, …, namaN)

Page 25: Dasar- dasar Algoritma

Contoh AlgoritmaAlgoritma Hello_World{mencetak string Hello World diikuti nama orang. Nama orang

diinputkan dari piranti masukan}

DEKLARASIconst ucapan = ‘Hello World’

namaUser : string

DESKRIPSIread(namaUser)write(ucapan + ‘ ‘ + namaUser)

Page 26: Dasar- dasar Algoritma
Page 27: Dasar- dasar Algoritma
Page 28: Dasar- dasar Algoritma
Page 29: Dasar- dasar Algoritma

Tugas di kumpul minggu depan

• Buatlah algoritma lengkap tentang perhitungan konversi dari jam ke detik– Inputan berupa jam. Misalnya

Masukan jam : 1– Ouput

Detik : 3600

Page 30: Dasar- dasar Algoritma

Sumber

• Algoritma dan Pemrograman dalam Bahasa Pascal dan C (Buku 1), Rinaldi Munir, Informatika Bandung

• Bahan Matakuliah Algoritma dan Pemrograman Universitas Atma Jaya Yogyakarta

• ilmukomputer.com