Struktur Algoritma & Tipe Data
Lambang Fungsi/Subprogram Program Flowchart Terminator Mulai/Selesai Input/Output Seleksi/Pilihan Proses Predefined Process Lambang Fungsi/Subprogram Penghubung Predefined Data Penghubung halaman berbeda
Sistem Flowchart Printer Keyboard Display/Monitor File/Storage Merger Extract Merger Sorting Magnetic Disk Magnetic Tape Delay
Flowchart Pemilihan Bilangan Mulai Mulai Masukan A dan B Apakah A>B? Bila Ya, Cetak A Bila Tidak, Cetak B Selesai Input A, B A>B Y Cetak A T Cetak B Selesai
Struktur Algoritma Bagian Kepala (Header) Memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis. Bagian Deklarasi (Definisi Variabel) Memuat definisi nama variabel, nama tetapan, nama prosedur/fungsi, tipe data yang akan digunakan. Bagian Deskripsi (Rincian Langkah) Memuat langkag-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca data, tampilkan, ulangi, yang mengubah data input menjadi data output, dsb.
Algoritma Menghitung Luas Lingkaran Algoritma Luas_Lingkaran {menghitung luas lingkaran apabila jari-jari lingkaran tersebut diberikan} Deklarasi {Definisi nama tetapan} integer N=10; float phi=3.14; {definisi nama variabel} float jari_jari, luas; Deskripsi read(jari_jari); luas=phi*jari_jari*jari_jari; write(luas);
Algoritma Menghitung Luas Segitiga Algoritma Luas_Segitiga {menghitung luas segitiga dengan inputan alas dan tinggi segitiga berasal dari keyboard} DEKLARASI integer alasSegitiga, tinggiSegitiga, luasSegitiga; DESKRIPSI read(alasSegitiga); read(tinggiSegitiga); luasSegitiga ← ½ * alasSegitiga * tinggiSegitiga; write(luasSegitiga);
Algoritma Menentukan Bilangan Yang Lebih Besar Algoritma Lebih_besar {menerima dua angka kemudian menampilkan angka yang lebih besar} DEKLARASI integer angka1, angka2; DESKRIPSI write(“Memasukan angka 1:”); read(angka1); write(“Memasukan angka 2:”); read(angka2); if (angka1>angka2) then write(“yang lebih besar : ”, angka1); else write(“yang lebih besar : ”, angka2); endif
Tipe Data, Variabel, dan Nilai Data Tipe data (data type): setiap data memiliki tipe data, apakah data tersebut berupa bilangan bulat (integer), angka biasa (real), atau berupa karakter (char). Variabel (variable): Setiap data diwakili oleh satu variabel, data memerlukan wadah, dan variabel harus diidentifikasi sehingga perlu diberi nama agar bisa dibedakan dengan variabel lain. Nilai data (data value): Setiap data memiliki harga atau nilai.
Tipe Data Data disimpan dalam memori komputer dalam bentuk variabel-variabel mempunyai nama tertentu dan tipe data tertentu Tipe data dalam algoritma: Tipe Dasar: Bilangan bulat (integer) Bilangan real Data karakter Data logikal atau boolean Bilangan tetap Tipe Bentukan Larik (array) Record String
Tipe Data Dasar Integer Real Karakter Bilangan bulat : bilangan yang tidak mempunyai nilai pecahan Real Untuk menyimpan data real Bilangan yang dapat mempunyai digit desimal dibelakang koma atau bilangan pecahan atau bilangan eksponensial. Karakter Digunakan untuk menyimpan data alfanumerik Seperti : ‘A’, ‘B’, ‘*’, ‘@’, ‘9’ , . . .
Tipe Data Dasar [2] Bilangan Tetap Boolean Mengandung dua nilai yaitu TRUE atau FALSE Dengan menggunakan operator AND, OR atau NOT Nilai boolean sangat penting untuk mengambil keputusan dalam suatu program. Bilangan Tetap Tipe bilangan, baik bilangan bernilai bulat atau tidak, yang nilainya tidak berubah selama algoritma dilaksanakan Tipe dituliskan sebagai: const Jangkauan nilai meliputi semua bilangan yang mungkin
Tipe Bentukan Array String Tipe data bentukan yang merupakan wadah untuk menampung nilai-nilai data yang sejenis. Contoh: Int nilai_ujian[10]; String Tipe data bentukan yang merupakan deretan karakter yang membentuk satu kata atau satu kalimat, biasanya diapit oleh tanda kutip. String nama, alamat
Tipe Bentukan [2] Record Merupakan wadah untuk menampung elemen data yang tipe datanya tidak perlu sama Contoh: Type DataMhs:record < nomor_stb : integer nama_mhs : String umur : integer jenkel : char >
VARIABEL Suatu lokasi memori komputer yang digunakan untuk menampung dan menyimpan data yang akan diolah. Tipe data variabel ditentukan oleh jenis data yang akan disimpan Penamaan bersifat UNIK Aturan penulisan : Diawali dengan huruf, tidak boleh dengan angka atau simbol Jangan menggunakan simbol-simbol yang membingungkan Penulisan harus diikuti dengan Tipe Data Sebaiknya tidak terlalu panjang Tidak boleh menggunakan spasi Sebaiknya memiliki arti sesuai dengan elemen data
VARIABEL Contoh nama variabel yang benar: nama, alamat, umur, nilai_ujian Contoh nama variabel yang salah: 4XYZ, IP rata, Var:+xy, nama siswa
KONSTANTA Besaran yang mempunyai nilai tetap selama program dijalankan. Pemberian nilai yang akan disimpan dalam sebuah konstanta dilakukan diawal program Selama program dijalankan nilainya tidak bisa diubah. Notasi const
Pemberian Nilai pada Variabel Bentuk umum: Variable ← nilai; Variable1 ← variable2; Variable ← ekspresi; Contoh: nama ← “Simon”; jarak ← 100.56; x ← jarak; rentang ← x+50-3y;
Pembacaan Data Bentuk umum: Contoh: read(variable); read(variable1, variable2, …); Contoh: read(nama); read(jarak, rentang, x); readln(alamat);
Menampilkan Nilai Bentuk umum: write(variabel, …); writeln(variabel, …); Contoh: write(“Nama anda:”, nama); write(“Nilai ujian:”, nilai); write(“Jumlah variabel:”, x+y+z); writeln(“Alamat anda:”, alamat);
EKSPRESI Pernyataan yang mentransformasikan nilai menjadi keluaran yang diinginkan melalui proses perhitungan (komputasi) Ekpresi terdiri dari operand dan operator. Operand adalah data, tetapan, variabel, atau hasil dari suatu fungsi. Operator adalah simbol-simbol yang memiliki fungsi untuk menghubungkan operand sehingga terjadi transformasi.
Jenis-Jenis Operator Operator Aritmetika Operator relasional Operator yang melakukan fungsi matematika (penjumlahan, pengurangan, perkalian, pembagian). Operator relasional Ekspresi dengan operator <,≤,>,≥,=,≠, not, and, or, dan xor Hasil evaluasi adalah nilai bertipe boolean Operator Logic Operator untuk merelasikan operand secara logis seperti && (and), || (or), dan ! (not) Operator String Operator untuk memanipulasi string + (penggabungan) len (menghitung panjang string) substr (mencuplik)