FlowChart
Flow Chart :
- Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari awal sampai akhir.
- Flow chart adalah algoritma yang digambarkan dengan diagram
- Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma)
Penulisan Algoritma :
- TEKS ALGORITMA
- berisi langkah-langkah penyelesaian masalah yang ditulis dengan bahasa yang mudah dipahami
Flow Chart :
ATURAN PENULISAN TEKS ALGORITMA
Teks Algoritma
- Teks algoritma berisi langkah-langkah penyelesaian masalah
- Tidak ada notasi baku tapi sebaiknya berkorespondensi dengan bahasa pemrograman umum, supaya mudah ditranslasikan ke dalam bahasa pemrograman
- Notasi yang digunakan untuk menulis algoritma disebut notasi algoritmik
Struktur teks algoritma :
- Kepala algoritma
terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut
- Deklarasi
mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma
- Deskripsi
Berisi uraian langkah-langkah penyelesaian
TIPE, NAMA, DAN NILAI
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
Tipe Data (2)
Empat hal yang harus diperhatikan dalam pendefinisian tipe:
- Nama
- Domain harga
- Konstanta
- Operator
Tipe Data(3) :
Contoh Record :
DEKLARASI
type 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
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
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
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
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
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:
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)
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.
Ekspresi(2) :
- Ekspresi Aritmetika
- Ekspresi yang baik operand dan hasilnya berupa numerik
- (ingat: tingkat prioritas operator)
i. / , div, mod
ii. *
iii.+, -
- Ekspresi relasional
- Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor
- Hasil evaluasi adalah nilai bertipe boolean
- Ekspresi string
Ekspresi (3) :
- Ekspresi string
- Ekspresi dengan operator penyambungan/concatenation “+”.
Menuliskan Nilai ke Piranti Keluaran (monitor/printer) :
- Dilakukan dengan notasi write
- Contoh:
- write (nama1, nama2, …, namaN)
Contoh Algoritma :
Algoritma Hello_World
{mencetak string Hello World diikuti nama orang. Nama orang diinputkan dari piranti masukan}
DEKLARASI
const ucapan = ‘Hello World’
namaUser : string
DESKRIPSI
read(namaUser)
write(ucapan + ‘ ‘ + namaUser)
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
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 “{ }”
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
Struktur Badan Algoritma (3) :
- Deskripsi
- Berisi uraian langkah penyelesaian
- Example:
read(PanjangSegitiga)read(LebarSegitiga)LuasSegitiga ← ½ * PanjangSegitiga * LebarSegitigawrite(LuasSegitiga)
Struktur Badan Algoritma (4) :
Algoritma menghitung_luas_segitiga
{menghitung luas segitiga dengan inputan alas dan tinggi segitiga berasal dari keyboard}
DEKLARASI
AlasSegitiga : Integer
TinggiSegitiga : Integer
LuasSegitiga : Integer
DESKRIPSI
read(AlasSegitiga)
read(TinggiSegitiga)
LuasSegitiga ← ½ * AlasSegitiga * TinggiSegitiga
write(LuasSegitiga)















