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 :
  • Input 

  • Processing


  • Output (Display)





  • Decision (Untuk Mengevaluasi suatu Kondisi)






  • Procedure/subroutine






Flow Chart (2) :
  • Flow Lines




  • Terminator  (mengawali dan mengakhiri flow chart)





  • On page Connector






  • Off page connector







  • Annotation (memberi komentar atau keterangan dalam 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

Komentar ditulis diantara tanda kurung “{“ dan “}”

Contoh Text Algoritma :

Pascal :


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 * LebarSegitiga
write(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)




Postingan populer dari blog ini

Flow Chart (2)

Soal Algoritma dan FlowChart