Oleh: Muchammad Abrori, S.Si., M.Kom. BAB I PENDAHULUAN Oleh: Muchammad Abrori, S.Si., M.Kom.
Langkah2 Penyelesaian Masalah Analisis Masalah → Ide2 penyelesaian Merancang algoritma Menurunkan ide2 penyelesaian Menyatakan ide2 dlm bentuk algoritma Memvalidasi algoritma (benar utk semua input) Menganalisis algoritma (efisiensi) Membuat program (terstruktur) Menguji hasil program (di lab) Dokumentasi
Algoritma → Al-Khuwarizhmi → barat menyebutnya Algorism → Algorithm → Algoritma Algoritma adalah langkah2 yg logis yg dituliskan scr sistematis utk menyelesaikan masalah. Ciri2 algoritma: Banyaknya langkah berhingga (pasti berhenti) Setiap langkah tertentu dg pasti (jelas & tegas) Ada penyelesaian
Contoh Algoritma Algoritma memasak Algoritma menambal ban Algoritma menghitung luas dan keliling lingkaran
Flowchart (Bagan Alir) Adalah gambaran langkah-langkah dan urutannya yang harus dikerjakan. Simbol-simbol Flowchart. Contoh: 1. FC Tambal Ban 2. FC Hitung Luas & Keliling Lingkaran 3. FC Konversi Suhu
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB II PROGRAM PASCAL Oleh: Muchammad Abrori, S.Si., M.Kom.
Terstruktur Mudah dipahami, mudah dipelajari dan mudah dikembangkan Mudah diperbaiki bila ada errornya Program adalah sekumpulan instruksi2 yg harus dikerjakan komputer utk menyelesaikan masalah. Program terstruktur adalah program yang mengandung sub routine program & mengandung sub program yang terstruktur juga.
Ciri-ciri program terstruktur: Why is Pascal? Ciri-ciri program terstruktur: Mudah dipahami Mudah diperbaiki bila ada errornya Mudah dimodifikasi/dikembangkan Tanpa GO TO statement
Pascal Tahun 1968 ada konferensi program terstruktur: Niklaus Wirth & Dijkstra. Tahun 1970: Pascal dari Niklaus Wirth. Protek menggunakan statement kontrol: Sequence/berurutan Kondisional/pencabangan Loop/Perulangan
Protek biasanya menggunakan teknik perancangan Top Down.
Contoh: Masalah Pengolahan Data Mahasiswa
Bahasa Pemrograman Penggolongan: Struktur Program Pascal: Procedural: Basic, Pascal, C Object Oriented: Smalltalk, C++ Functional: Prolog, Lisp (AI) Struktur Program Pascal: I. Judul Program II. Deklarasi: TYPE, LABEL, VAR, FUNCTION, PROCEDURE, CONST, UNIT (USES). III. Program Utama
Pengenal: Dimulai dengan Alphabet. Terdiri dari: Alphabet, angka, karakter khusus. Tidak dipisahkan dengan spasi. Panjang tidak dibatasi (sebaiknya yang informatif) Tidak dibedakan huruf besar/kecil
Ketentuan lain: Assign operator “:=“ Setiap akhir statement diakhiri dengan “;” Semua variabel yang terlibat dalam program utama harus dideklarasikan dalam program bersama tipe datanya. Assign operator “:=“
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB III INPUT / OUTPUT Oleh: Muchammad Abrori, S.Si., M.Kom.
Input: read/readln + atribut/pelengkap Output: write/writeln + atribut/pelengkap
Tipe Data Tipe data sederhana/standar: Ordinal (8): Byte (1 Byte = 8 bit) 0 s.d. 255 (256 macam) 2. Shortint (1 Byte) -128, …, -1, 0, 1, …, 127 Integer (2 Byte) 216 macam = 65536 → -32768 s.d. 32767 Word (2 Byte) 0, …, 65535 Longint (4 Byte) 232 macam (-231, …, 231-1)
simple (4 Byte), real (6 Byte), double (8 Byte), extended (10 Byte) Char (1 Byte) 256 macam = 0, 1, …, 9, A, B, …, Z, a, b, …, ?, @, dll Boolean (1 bit) true-false Type Hari=(Senin, Selasa, Rabu, Kamis, Jumat, Sabtu) Var h : Hari; Golongan real simple (4 Byte), real (6 Byte), double (8 Byte), extended (10 Byte) String (256 Byte) Contoh:?
Tipe data terstruktur Larik (Array) Record
BAB IV OPERASI MATEMATIKA Oleh: Muchammad Abrori, S.Si., M.Kom.
Operator Aritmatika Relational (<, >, =, <=, >=, <>) perkalian (*), pembagian (/) sisa pembagian (mod, div) penjumlahan, pengurangan Relational (<, >, =, <=, >=, <>) Logika (AND, OR, NOT, NOR) Pemberian nilai (mis: x:=5)
Pembagian Integer div: pembulatan ke bawah Mod: sisa pembagian Contoh program konversi bilangan
Pembagian dan Pengurangan dengan satu Inc Dec S.d. fungsi trigonometri
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB V PERULANGAN/LOOP Oleh: Muchammad Abrori, S.Si., M.Kom.
Perulangan/Loop FOR var_name := nilai_awal TO nilai_akhir DO Begin [perintah yang diulang] End; FOR var_name := nilai_awal DOWNTO nilai_akhir DO WHILE kondisi DO perintah yang diulang REPEAT perintah yang diulang UNTIL kondisi
BAB V PENCABANGAN/KONDISIONAL Oleh: Muchammad Abrori, S.Si., M.Kom.
Pencabangan/Kondisional IF kondisi THEN proses untuk kondisi benar IF kondisi THEN proses untuk kondisi benar ELSE proses untuk kondisi salah CASE variabel_ordinal OF nilai_1 : perintah_1; nilai_2 : perintah_2; : ˙ nilai_n : perintah_n; END;
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB VII ARRAY Oleh: Muchammad Abrori, S.Si., M.Kom.
Tipe Data Array Deklarasi Array: Sebagai tipe data baru TYPE Nama_var : ARRAY[nn1..mm1,nn2..mm2,…] OF tipe_var; Deklarasi Array: Sebagai tipe data baru TYPE Data=ARRAY[1..100] OF Integer; VAR X : Data;
Diakses langsung sebagai VAR X : ARRAY[1..100] OF Integer; Contoh-contoh?
BAB VIII OPERASI KARAKTER DAN STRING Oleh: Muchammad Abrori, S.Si., M.Kom.
Antara String dan Karakter Tipe char hanya mempunyai 1 huruf Tipe string dapat mempunyai 255 karakter Contoh pemakaian
Operasi Karakter Upcase V_hasil:=Upcase(V_Asal); Ord B_ASCII:=ORD(Kar) Chr Karakter:=Chr(B_ASCII);
Operasi String dengan Unit System Panjang String Menghapus String Menyisipkan String Menduplikatkan String dll.
BAB IX PROCEDURE DAN FUNCTION (SUBPROGRAM) Oleh: Muchammad Abrori, S.Si., M.Kom.
Ada dua jenis Procedure / Function pustaka/bawaan dari Compiler Pascal (Turbo Pascal). Proc: CLRSCR, GOTOXY, READ/WRITE. Func: READKEY, KEYPRESSED, PI, SIN, LN, EXP, RANDOM. 2. Procedure / Function user defined.
Program …; Uses Const Type Var Procedure/Function Begin - End. Var global Program utama
Procedure Deklarasi: Procedure Nama[(Daftar Parameter)]; Pemanggilan: Pertukaran Parameter: Secara nilai (by value) Secara acuan (by reference)
Deklarasi secara nilai (by value) Procedure Hitung(A, B, C: integer); Dekarasi secara acuan (by reference) Procedure Hitung(Var A, B, C: integer);
Function Function Nama[(Daftar Parameter)]: Tipe Data Contoh…
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB X OPERASI FILE Oleh: Muchammad Abrori, S.Si., M.Kom.
File Teks File Bertipe File Tidak Bertipe Perintah-perintah File
Oleh: Muchammad Abrori, S.Si., M.Kom. BAB XI UNIT Oleh: Muchammad Abrori, S.Si., M.Kom.
Membuat Unit Contoh Membuat Unit Mengkompilasi Unit TURBO.TPL dan TPUMOVER