MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL

dokumen-dokumen yang mirip
Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Teori Algoritma TIPE DATA

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

Algoritma Pemrograman

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

MODUL 1. Struktur Bahasa PASCAL secara umum

BAB 6 Array Dua Dimensi

Algoritma Pemrograman

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Pengantar dalam Bahasa Pemrograman Turbo Pascal

TIPE, NAMA, DAN NILAI

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Dasar Komputer & Pemrograman 2A

Teori Algoritma. Struktur Algoritma

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

KONSEP DASAR BAHASA PASCAL

Algoritma,Flowchart, Konsep

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

Algoritma Pemrograman

Pemrograman Dasar Pascal

Pengenalan Pascal/DevPascal

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

P A S C A L D A S A R

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

BAB I ALGORITMA DAN FLOWCHART

Pengenalan Pascal. Sejarah Singkat Pascal

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Brigida Arie Minartiningtyas, M.Kom

Dasar Komputer & Pemrogaman 2A

Chapter 3.2 : Tipe, Nama dan Nilai

Algoritma dan Pemrograman Bab II Dev Pascal, Variabel, Tipe Data. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

Sesi/Perkuliahan ke: II

SMA SANTO PAULUS PONTIANAK

Tipe Data dan Operator dalam Pemrograman

Modul 1 Pengantar Bahasa Pascal

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

Algoritma dan Struktur Data I Mia Fitriawati, S.Kom, M.Kom

menunjukkan tipe hasil dari fungsi. sqr, succ dan sebagainya. buat sendiri.

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

.::BAB II.::MENGENAL PASCAL

KONSEP DASAR BAHASA PASCAL

TPI4202 e-tp.ub.ac.id. Lecture 5

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

KONSEP DASAR BAHASA PASCAL

Bab 2 DASAR-DASAR ALGORITMA

Bab 1 Algoritma dan Pemrograman Tersruktur

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Struktur Data. Pertemuan 2

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

Pertemuan 4 KONSEP TIPE DATA

Tipe Data. Definisi Tipe Data

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

Materi. Tipe, Variabel dan Operator Algoritma Pemrograman PENULISAN ALGORITMA PENULISAN ALGORITMA 15/03/2010 NAMA DAN EKSPRESI

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

KONSEP DASAR BAHASA PASCAL. Pengertian SEJARAH SINGKAT BAHASA PASCAL STRUKTUR DAN KOMPONEN DASAR PROGRAM PASCAL.

Teori Algoritma. Algoritma Perulangan

PENGANTAR ALGORITMA DAN PEMROGRAMAN

AP2a (Pascal) Akuntansi Kelas 1 Semester 2. Hana Pertiwi S.T

Konstruksi Dasar Algoritma

Modul I. Modul Praktikum Bahasa Pemrograman Pascal

Perulangan. Bentuk Proses. 1. Perulangan For positif contoh 1 : perulangan positif untuk satu statement :

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

RINGKASAN PEMROGRAMAN QUICK BASIC

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53

MATERI 4 PENYELEKSIAN KONDISI

JENIS-JENIS DATA DAN STATEMEN INPUT OUTPUT

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

IF32222 STRUKTUR DATA TIPE DATA. Oleh : Andri Heryandi, M.T.

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Algoritma dan Pemrograman Bab II Tipe Data, Variabel, & Konstanta

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

BAB 2 BAGAIMANA MENULISKAN PROGRAM PASCAL

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 3

Algoritma Pemrograman I KONSEP DASAR

Pertemuan 2 Operasi String

Konsep Dasar Pemrograman Pascal

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

[1997] NUS: var x,y=byte; c. program xyz ; 1. Manakah identifier yang benar untuk menamakan nama program : a. prog-a b. prog_a c. prog+a d.

Tugas Algoritma Kelompok XI NILAM CAHYA, MUH. JASIM, IMADUDDIN. Soal

Variabel dan Tipe Data Kusrini 1, Heri Sismoro 2

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana. Tipe Data

Tabel 1. Jenis data integer Ukuran memori (dalam byte)

Transkripsi:

MODUL I PENGENALAN BAHASA PEMROGRAMAN PASCAL Program Kumpulan instruksi berdasarkan suatu aturan yang berdasarkan algoritma tertentu. Algoritma Langkah-langkah yang logis dalam menyelesaikan masalah dalam batas-batas tertentu. Pemrograman Kegiatan untuk membuat program. Bahasa Pemrograman Bahasa komputer yang digunakan dalam menulis program. Bahasa Pemrograman Pascal Salah satu bahasa komputer tingkat tinggi (bahasanya dekat /mirip bahasa manusia, biasanya mengambil kata-kata dari bahasa Inggris). Struktur Program Pascal Untuk dapat memahami bagaimana suatu program ditulis, maka struktur dari program harus dimengerti terlebih dahulu. (* JUDUL *) Program JUDUL (* nama program *) (* Penjelasan tentang program yang berisi uraian singkat mengenai apa yang dilakukan oleh program *) uses (* deklarasi piranti *) (* KAMUS *) label (* deklarasi label *) const (* deklarasi konstanta *) type (* deklarasi tipe data *) (* deklarasi iabel *) procedure SATU; procedure DUA; function TAMBAH; (* ALGORITMA *) (* awal program utama *) (* semua instruksi program ditulis disini *) (* akhir program utama *)

Cara membuat program dalam bahasa Pascal 1. Hal pertama adalah masuk ke text editor Pascal. 2. Setelah selesai menulis instruksi dalam text editor simpan File dan berinama. 3. Setelah itu anda compile, untuk melihat hasil pelaksanaan instruksi oleh komputer. CONTOH-CONTOH PROGRAM PASCAL YANG SEDERHANA 1. Program untuk mencetak Hello. (* Nama Program : hello1.pas *) (* Deskripsi : Menulis Hello *) uses wincrt; writeln( Hello, dunia ); readkey; Keterangan : 1. Bagian program yang diletakan diantara [(* *)] disebut komentar, komentar bukan instruksi sehingga tidak akan dilaksanakan komputer. 2. Anda harus selalu menyertakan uses crt dalam setiap program. crt disebut file Unit. 3. Instruksi writeln digunakan untuk mencetak apa yang ada di antara tanda kurung. 4. Yang ditulis diantara tanda ( ) disebut string/kalimat. 5. Setiap penulisan instruksi diakhiri dengan tanda semicolon/titik koma ( ; ) 6. readkey digunakan agar tampilan program dapat dilihat. 2. Program untuk menulis Hello dan mencetak assigment. (* Nama Program : hello2.pas *) (* Deskripsi : Menulis Hello dengan assigment *) i : integer; Shello : string;

Shello := Hello, dunia ; i:=1234; writeln(shello); writeln( Nilai i =,i); readkey; Keterangan : 1. Kata adalah kata kunci dalam pascal, kata ini menyatakan bahwa yang dibawahnya adalah iabel, jadi i dan j adalah iabel bertipe masing-masing integer dan string. 2. Tanda ( := ) adalah tanda assigment/penugasaan untuk memberi nilai iabel. 3. Program untuk assigment dan mencetak dengan format. (* Nama Program : assign.pas *) (* Deskripsi : assigment dan cetak dengan format *) (* KAMUS *) i : integer; j : word; k : byte; l : real; Shello : string; (* ALGORITMA *) Shello := Hello, dunia ; i:=-1234; j:=60000; k:=3; l:=3.14; writeln(shello); writeln( Nilai i (integer)=,i:5); writeln( Nilai j (word) =,j:5); writeln( Nilai k (byte) =,k:5); writeln( Nilai l (real) readkey; =,l:5:2); Keterangan : 1. Angka setelah titik dua dibelakang iabel adalah format panjang bilangan bulat dan panjang angka dibelakang koma.

4. Program untuk membaca dan mencetak nilai yang dibaca. (* Nama Program : baca.pas *) (* Deskripsi : contoh membaca nilai dan kemudian *) (* menuliskan nilai yang dibaca *) i : integer; j : real; kar : char; NString : string; clrscr; writeln( Contoh membaca dan menulis ); write( Masukkan nilai integer : );readln(i); write( Masukkan nilai real : );readln(j); write( Masukkan nilai karakter : );readln(kar); write( Masukkan nilai string : );readln(nstring); writeln( Nilai integer yang dibaca =,i); writeln( Nilai real yang dibaca =,j); writeln( Nilai karakter yang dibaca =,kar); writeln( Nilai string yang dibaca readkey; =,NString); Keterangan : 1. Instruksi readln() digunakan untuk meminta inputan dari keyboard dan memasukkan nilai yang dibaca dari keyboard ke iabel yang bersesuaian. 5. Program mengenai operator. (* Nama Program : operator.pas *) (* Deskripsi : pengoperasian iabel bertipe dasar *) TF : boolean; i,j,hsl : integer; x,y : real; hsl1 : integer; hsl2 : real; clrscr; (* proses boolean *) writeln('tabel kebenaran');

writeln('-----------------------------------------------------'); writeln(' x1 x2 x1 and x2 x1 or x2 '); writeln('----------------------------------------------------'); writeln(' true true ',(true and true):12,' ':8, (true or true):10,' ':8); writeln(' true false ',(true and false):12,' ':8, (true or false):10,' ':8); writeln(' false true ',(false and true):12,' ':8, (false or true):10,' ':8); writeln(' false false ',(false and false):12,' ':8, (false or false):10,' ':8); writeln('----------------------------------------------------'); (* proses operasi numerik *) i:=5;j:=2; writeln('operasi numerik pada tipe data integer'); writeln('---------------------------'); writeln(' operasi hasil operasi '); writeln('---------------------------'); writeln(' ',i,' + ',j,' ',(i+j):6,' '); writeln(' ',i,' - ',j,' ',(i-j):6,' '); writeln(' ',i,' * ',j,' ',(i*j):6,' '); writeln(' ',i,' / ',j,' ',(i/j):6:2,' '); writeln(' ',i,' div ',j,' ',(i div j):6,' '); writeln(' ',i,' mod ',j,' ',(i mod j):6,' '); writeln('---------------------------'); writeln( Tekan enter untuk meneruskan... ); readkey; x:=5.0;y:=2.0; writeln('operasi numerik pada tipe data float'); writeln('---------------------------'); writeln(' operasi hasil operasi '); writeln('---------------------------'); writeln(' ',x:3:1,' + ',y:3:1,' ',(x+y):6:1,' '); writeln(' ',x:3:1,' - ',y:3:1,' ',(x-y):6:1,' '); writeln(' ',x:3:1,' * ',y:3:1,' ',(x*y):6:1,' '); writeln(' ',x:3:1,' / ',y:3:1,' ',(x/y):6:1,' '); writeln('---------------------------'); (* operator relasi numerik *) TF := x<>y; writeln( 5.0 <> 2.0 adalah=,tf); TF := x<y; writeln( 5.0 < 2.0 adalah=,tf); readkey;

1. OPERATOR ARITMETIKA JENIS JENIS OPERATOR Simbol Fungsi Contoh Penggunaan - + / * Mod Div Pengurangan Penjumlahan Pembagian Perkalian Modulo Divided x := x 10; x := x + 10; x := x / 10; x := x * 10; x := 11 Mod 2; x := 11 Div 2; 2. OPERATOR ASSIGNMENT Simbol Keterangan := Memberi Nilai 3. OPERATOR RELASI Simbol = <> < <= > >= Keterangan Equal(sama dengan) Not Equal(tidak sama dengan) Less Than(lebih kecil) Less Than Or Equal (lebih kecil atau sama dengan) Greater Than(lebih besar) Greater Than Or Equal (lebih besar atau sama dengan) 4. OPERATOR LOGIKA Simbol AND OR NOT Keterangan AND OR NOT

TIPE DATA Tipe Data Byte Batasan byte 1 Bilangan bulat antara 0 s.d. 255 shortint 1 Bilangan bulat antara -128 s.d. 127 word 2 Bilangan bulat antara 0 s.d. 65.535 integer 2 Bilangan bulat antara -32.768 s.d. 32.767 unsign long 4 Bilangan bulat antara 0 s.d. 4.294.967.295 longint 4 Bilangan bulat antara -2.147.483.648 s.d. 2.147.483.647 Real 6 Bilangan real antara 2.9*10-39 s.d. 1.7*10 38 single 4 Bilangan real antara 1.5*10-45 s.d. 3.4*10 38 double 8 Bilangan real antara 5.0*10-324 s.d. 1.7*10 308 extended 10 Bilangan real antara 3.4*10-4932 s.d. 1.1*10 4932 TUGAS 1. Apa tampilan akhir dari program dibawah ini. uses wincrt; i,b,c,d: real; i:=3.0; b:=2.0; c:=0.0; i:=i+i; b:=b+i; c:=c*i; write('nilai i=',i,' b=',b,' c=',c); 2. Buat program yang tampilannya sebagai berikut. Masukkan nilai i : 1 Masukkan nilai j : 2 ---------------------------- operasi hasil operasi ---------------------------- 1 + 2 3 1-2 -1 1 * 2 2 1 div 2 0 1 mod 2 1 ---------------------------- 3. Buat program untuk menghitung luas suatu bidang datar.

MODUL II PEMILIHAN / SELEKSI 1. PENJELASAN Dalam program yang lebih kompleks, terkadang terdapat instruksi yang dilaksanakan dan yang tidak, tergantung kondisi yang terjadi. Contohnya dalam menghitung akar persamaan kuadrat, ada 3 jenis akar, 2 jenis rasional yaitu akar kembar dan berlainan, 1 jenis imajiner. Sebuah persamaan kuadrat hanya memenuhi satu jenis akar, tetapi dalam program ketiga jenis akar harus diperiksa karena itu kita perlu pemilihan. 2. JENIS JENIS PEMILIHAN 1. IF THEN Cara Penulisan 1 : if <kondisi> then Cara Penulisan 2 : if <kondisi> then <instruksi ke 1>; <instruksi ke 2>; <instruksi ke n>; Jika kondisi bernilai benar maka instruksi setelah then akan dijalankan. Cara penulisan 1 digunakan jika instruksi hanya satu baris jika banyak gunakan cara penulisan 2. Contoh : Cara Penulisan 1 : (* Nama Program : Tunja1.pas *) (* Deskripsi : menghitung besarnya jumlah tunjangan *) JumlahAnak : integer; GajiKotor,Tunjangan,PersenTunjangan : real ; PersenTunjangan:=0.2; write( Gaji Kotor? );readln(gajikotor); write( Jumlah Anak? );readln(jumlahanak); if JumlahAnak>2 then PersenTunjangan:=0.3; Tunjangan := PersenTunjangan*GajiKotor; writeln( Besar Tunjangan = Rp,Tunjangan:10:2); readkey;

Cara Penulisan 2 : (* Nama Program : Tunja2.pas *) (* Deskripsi : menghitung besarnya jumlah tunjangan dan potongan *) JumlahAnak : integer; GajiKotor,Tunjangan,PersenTunjangan,PersenPotongan : real ; Potongan:Real; PersenTunjangan:=0.2; PersenPotongan:=0.05; write( Gaji Kotor? );readln(gajikotor); write( Jumlah Anak? );readln(jumlahanak); if JumlahAnak>2 then PersenTunjangan:=0.3; PersenPotongan:=0.07; Tunjangan := PersenTunjangan*GajiKotor; Potongan:= PersenPotongan*GajiKotor; writeln( Besar Tunjangan = Rp,Tunjangan:10:2); writeln( Besar Potongan = Rp,Potongan:10:2); readkey; 2. IF THEN ELSE Cara Penulisan 1 : if <kondisi> then <instruksi> else Cara Penulisan 2 : if <kondisi> then <instruksi ke 1>; <instruksi ke 2>; <instruksi ke n>; end else <instruksi ke 1>; <instruksi ke 2>; <instruksi ke n>; Jika kondisi bernilai benar maka instruksi setelah then akan dijalankan, bila kondisi salah maka instruksi setelah else yang dijalankan. Cara penulisan 1 digunakan jika instruksi hanya satu baris jika banyak gunakan cara penulisan 2.

Contoh : Cara Penulisan 1 : (* Nama Program : MasukA.pas *) (* Deskripsi : memeriksa inputan *) A : char; write( Masukkan Suatu Karakter : ); A:=readkey; writeln; if A= A then writeln( Anda menekan A besar ) else writeln( Anda tidak menekan A besar ); readkey; Cara Penulisan 2 : (* Nama Program : MasukAbj.pas *) (* Deskripsi : memeriksa inputan *) A : char; write( Masukkan Suatu Karakter : ); A:=readkey; writeln; if (A>= A )and(a<= Z ) then writeln( Anda menekan huruf besar ); writeln( Huruf yang anda tekan, Huruf,A); end else writeln( Anda tidak menekan huruf besar ); writeln( Karakter yang anda tekan, Karakter,A); readkey;

3. IF BERKALANG / BANYAK KONDISI Cara Penulisan 1 : if <kondisi> then <instruksi> else if <kondisi> then Cara Penulisan 2 : if <kondisi> then <instruksi ke 1>; <instruksi ke 2>; <instruksi ke n>; end else if <kondisi> then <instruksi ke 1>; <instruksi ke 2>; <instruksi ke n>; Contoh : Cara Penulisan 1 : (* Nama Program : Akar1.pas *) (* Deskripsi : menentukan jenis akar persamaan kuadrat*) a,b,c,d : real; writeln( Menentukan Jenis Akar Persamaan Kuadrat ); writeln( Persamaan Umum : ax^2+bx+c ); writeln; write( a = );readln(a); write( b = );readln(b); write( c = );readln(c); writeln; D:=(b*b)-(4*a*c); writeln( Nilai Diskriminan :,D); write( Jenis Akar : ); if D=0 then write( Kembar ) else if D>0 then write( Berlainan ) else if D<0 then write( imajiner berlainan ); readkey;

Cara Penulisan 2 : (* Nama Program : Akar2.pas *) (* Deskripsi : mencari akar persamaan kuadrat*) a,b,c,d,x1,x2 : real; writeln( Mencari Akar Persamaan Kuadrat ); writeln( Persamaan Umum : ax^2+bx+c ); writeln; write( a = );readln(a); write( b = );readln(b); write( c = );readln(c); writeln; D:=(b*b)-(4*a*c); writeln( Nilai Diskriminan :,D); write( Jenis Akar : ); if D=0 then X1:=(-b)/(2*a); writeln( Kembar ); writeln( x1=x2=,x1:10:2); end else if D>0 then x1:=((-b)+ sqrt(d))/(2*a); x2:=((-b)+ sqrt(d))/(2*a); writeln( Berlainan ); writeln( x1 =,x1:10:2); writeln( x2 =,x2:10:2); end else if D<0 then x1:=(-b)/(2*a); x2:=sqrt(-d)/(2*a); writeln( 2 akar imajiner berlainan ); writeln( x1 =,x1:5:2, +,x2:5:2, i ); writeln( x2 =,x1:5:2, -,x2:5:2, i );

4. CASE OF Cara Penulisan 1 : Cara Penulisan 2 : case <nama> of <kondisi ke 1> : <instruksi ke 1>; <kondisi ke 2> : <instruksi ke 2>; <kondisi ke n> : <instruksi ke n>; else <instruksi> case <nama> of <kondisi ke 1> : <instruksi ke 1>; <instruksi ke n>; <kondisi ke 2> : <instruksi ke 1>; <instruksi ke n>; <kondisi ke n> : <instruksi ke 1>; <instruksi ke n>; else <instruksi ke 1>; <instruksi ke n>; Contoh : Cara Penulisan 1 : (* Nama Program : upah.pas *) (* Deskripsi : menentukan upah karyawan berdasarkan golongan dan tunjangan anak*) Nama : string; Gol : char; JmlAnak : integer; Upahkotor,upahbersih : real; PersenTunjangan:real; Begin Write( Nama : );readln(nama); Write( Gol (A - D) : );readln(gol); Write( Jumlah Anak : );readln(jmlanak); Case Gol of A : Upahkotor:=1000000; B : Upahkotor:=800000; C : Upahkotor:=600000; D : Upahkotor:=400000;

if(jmlanak>2)then PersenTunjangan := 0.3 else PersenTunjangan := 0.2; Upahbersih:= upahkotor (upahkotor*persentunjangan); writeln( Upah :,upahbersih); Cara Penulisan 2 : (* Nama Program : Menu.pas *) (* Deskripsi : membuat menu*) const pi = 3.14; pilih : integer; sisi,jari,tinggi : real; writeln( <<< Menu >>> ); writeln; writeln( 1. Menghitung Isi Kubus ); writeln( 2. Menghitung Luas Lingkaran ); writeln( 3. Menghitung Isi Silisnde ); writeln; write( Pilih Nomor : );readln(pilih); case pilih of 1 : write( Panjang Sisi Kubus : );readln(sisi); writeln( Isi Kubus :,sisi*sisi*sisi); 2 : write( Jari-jari lingkaran : );readln(jari); writeln( Luas Lingkaran :,pi*jari*jari); 3 : write( Jari-jari lingkaran : );readln(jari); write( Tinggi Silinder : );readln(tinggi); writeln( Isi Silinder :,pi*jari*jari*tinggi);

TUGAS 1. Apa tampilan akhir dari program dibawah ini. Uses wincrt; nilai,quiz,absen,uts,uas,tugas:real; Huruf_Mutu:char; quiz:=40;absen:=100;uts:=60;uas:=50;tugas:=80; writeln( Absen =,absen:5:2, UTS =,uts:5:2); writeln( Tugas =,tugas:5:2, UAS =,uas:5:2); writeln( Quiz =,quiz:5:2); nilai:=((0.1*absen)+(0.2*tugas)+(0.3*quiz) +(0.4*uts)+(0.5*uas))/2; if (nilai>85) and (nilai<=100) then Huruf_Mutu:= A else if (nilai>70) and (nilai<=85) then Huruf_Mutu:= B else if (nilai>55) and (nilai<=70) then Huruf_Mutu:= C else if (nilai>40) and (nilai<=55) then Huruf_Mutu:= D else if (nilai>=0) and (nilai<=40) then Huruf_Mutu:= E ; writeln( Huruf Mutu :,Huruf_Mutu); 2. Buat program untuk menghitung gaji karyawan dengan ketentuan sebagai berikut. Ketentuan untuk gaji pokok: Golongan A B Gaji Pokok 200000 350000 Ketentuan untuk potongan iuran: Gaji pokok Prosentase <=300000 5% >300000 10% Potongan iuran =(gajipokok+tunjangan)*prosentase. Ketentuan untuk tunjangan: Golongan Status Nikah Belum A 50000 25000 B 75000 60000 Ketentuan untuk gaji bersih: Gajibersih=gajipokok+tunjangan-potongan iuran. Tampilan Program : Nama Karyawan : Anwar Golongan (A\B): B Satus (Nikah\Belum): Nikah Gaji Pokok : Rp. 350000 Tunjangan : Rp. 75000 Potongan Iuran: Rp. 42500 Gaji Bersih : Rp. 382500 3. Buat program untuk menentukan huruf mutu suatu matakuliah.

MODUL III PERULANGAN / LOOPING 1. PENJELASAN Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemampuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan. Perulangan dapat dilakukan sejumlah kali atau kondisi berhenti pengulangan tercapai. 2. JENIS JENIS PERULANGAN 1. FOR Cara Penulisan 1 : For naik : for :=NAwal to NAkhir do For turun : for :=NAwal downto NAkhir do Cara Penulisan 2 : For naik : for :=NAwal to NAkhir do <instruksi ke 1>; <instruksi ke n>; For turun : for :=NAwal downto NAkhir do <instruksi ke 1>; <instruksi ke n>; Bila banyaknya perulangan diketahui barulah dipakai bentuk perulangan for. Cara penulisan 1 digunakan jika instruksi hanya satu baris jika banyak gunakan cara penulisan 2.

Contoh : Cara Penulisan 1 : For naik : (* Nama Program : Pangkat.pas *) (* Deskripsi : memangkatkan bilangan dengan pangkat tertentu *) i,pangkat:integer; hasilpangkat,dipangkatkan:real; write( Bilangan yang akan dipangkatkan : ); readln(dipangkatkan); write( Masukkan pangkatnya : );readln(pangkat); hasilpangkat:=1; for i:=1 to pangkat do hasilpangkat:=hasilpangkat*dipangkatkan; write(dipangkatkan, ^,pangkat, :,hasilpangkat); readkey; For turun : (* Nama Program : cdown.pas *) (* Deskripsi : menghitung mundur *) (* N,N-1,N-2,,1,0 *) Var N : integer; (* angka awal *) i: integer;(* counter *) write( Masukan angka : );readln(n); for i:=n downto 1 do write(i,, ); write( 0 );

Cara Penulisan 2 : For naik : (* Nama Program : rata2.pas *) (* Deskripsi : menghitung rata-rata *) Var i,n : integer;(* counter dan jumlah data *) Data,Rata,Total : real; write( Banyaknya data : );readln(n); for i:=1 to N do write( Data ke,i, : );readln(data); Total:=Total+Data; Rata:=Total/N; writeln( Banyaknya Data :,N); writeln( Total Nilai Data :,Total:5:2); writeln( Rata-rata nilai Data :,Rata:5:2) For turun : (* Nama Program : bintang.pas *) (* Deskripsi : mencetak bintang *) Var N : integer; (* u *) I,j: integer;(* counter *) write( Masukan jumlah awal bintang : );readln(n); for i:=n downto 0 do for j:=1 to i do write( * ); writeln;

2. WHILE DO Cara Penulisan : while (kondisi) do <instruksi ke 1>; <instruksi ke n>; Bentuk perulangan ini dipakai bila anda tidak mengetahui berapa kali akan melakukan perulangan/ bila ingin melakukan perulangan dengan kondisi tertentu. Contoh : (* Nama Program : tabel.pas *) (* Deskripsi : *) (* *) x,i,pangkat,hasilpangkat:integer; writeln( x 1/x x^2 x^3 ); writeln( ----------------------------------- ); x:=1; while (x<=10) do write(x:5,(1.0/x):8:5); pangkat:=2; while(pangkat<=3) do hasilpangkat:=1; for i:=1 to pangkat do hasilpangkat:=hasilpangkat*x; write(hasilpangkat:8); pangkat:=pangkat+1; writeln; x:=x+1;

3. REPEAT UNTIL Cara Penulisan : repeat <instruksi ke 1>; <instruksi ke n>; until (kondisi); Bentuk perulangan ini dipakai bila anda tidak mengetahui berapa kali akan melakukan perulangan/ bila ingin melakukan perulangan dengan kondisi tertentu. Contoh : (* Nama Program : Menu2.pas *) (* Deskripsi : membuat menu*) const pi = 3.14; pilih : integer; sisi,jari,tinggi : real; repeat writeln( <<< Menu >>> ); writeln; writeln( 1. Menghitung Isi Kubus ); writeln( 2. Menghitung Luas Lingkaran ); writeln( 3. Menghitung Isi Silinder ); writeln( 0. Keluar Program ); write( Pilih Nomor : );readln(pilih); case pilih of 1 : write( Panjang Sisi Kubus : );readln(sisi); writeln( Isi Kubus :,sisi*sisi*sisi); 2 : write( Jari-jari lingkaran : );readln(jari); writeln( Luas Lingkaran :,pi*jari*jari); 3 : write( Jari-jari lingkaran : );readln(jari); write( Tinggi Silinder : );readln(tinggi); writeln( Isi Silinder :,pi*jari*jari*tinggi); readkey; until pilih=0;

TUGAS 1. Apa tampilan akhir dari program dibawah ini. Uses crt; i:integer; i:=2345; writeln( Bilangan :,i); write( Dibalik : ); while(i<>0)do write(i mod 10); i:=i div 10; 2. Buat program dengan tampilan sebagai berikut. *** TABEL SINUS DAN COSINUS DALAM SATUAN DERAJAD *** x sin(x) cos(x) ----------------------- 0 0.00 1.00 30 0.50 0.87 60 0.87 0.50 90 1.00 0.00 120 0.87-0.50 150 0.50-0.87 180 0.00-1.00 210-0.50-0.87 240-0.87-0.50 270-1.00 0.00 300-0.87 0.50 330-0.50 0.87 360 0.00 1.00 petunjuk : gunakan fungsi sin dan cos dengan terlebih dahulu membagi x dengan 57,2958. 3. Buat program untuk menghitung faktorial.

MODUL IV FUNGSI & PROCEDURE FUNGSI Suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya. Seperti halnya fungsi dalam matematika fungsi dalam program juga menghasilkan suatu nilai. Cara Penulisan 1 : Cara Penulisan 2 : function Nama_fungsi(parameter):<tipe>; 1:<tipe>; Nama_fungsi:=1; 1:<tipe>; 1:=Nama_fungsi(parameter); function Nama_fungsi(parameter):<tipe>; forward; 1:<tipe>; 1:=Nama_fungsi(parameter); function Nama_fungsi(parameter):<tipe>; 1:<tipe>; Nama_fungsi:=1; Pada cara penulisan 1 fungsi didefinisikan sebelum program utama. Pada cara penulisan 2 fungsi dideklarasikan dahulu function Nama_fungsi(parameter):<tipe>;forward; baru kemudian didefinisikan sesudah program utama. Fungsi dipanggil dengan nama fungsinya : 1:=Nama_fungsi(parameter); Latihan : Lihat listing program pangkat.pas di modul 3, rubah bentuk program tersebut menjadi di bawah ini : (* Nama Program : pangkat.pas *) (* Deskripsi : memangkatkan bilangan dengan pangkat tertentu *) function fpangkat(dipangkatkan:real;pangkat:integer):real; (* iabelnya anda tentukan sendiri *) (* pahami program pangkat.pas dan kemudian lengkapi bagian ini*)

(* lengkapi bagian ini *) write( Bilangan yang akan dipangkatkan : ); readln(dipangkatkan); write( Masukkan pangkatnya : );readln(pangkat); write(dipangkatkan, ^,pangkat, :, fpangkat(dipangkatkan,pangkat)); readkey; FUNGSI REKURSIF Fungsi yang memanggil/menggunakan dirinya sendiri. Contoh : (* Nama Program : torial2.pas *) (* Deskripsi : menghitung n! secara rekrusif*) function fakt(n:longint):longint; if (n=0) then fakt:=1 else n:=n*fakt(n-1); fakt:=n; n:longint; write( Masukkan n : );readln(n); writeln(n,! =,fakt(n));

PROCEDURE Bagian program yang tidak harus menghasilkan suatu nilai. Cara Penulisan 1 : Cara Penulisan 2 : procedure Nama_proc(parameter);forward; Nama_proc(parameter); procedure Nama_proc(parameter) Pada cara penulisan 1 procedure didefinisikan sebelum program utama. Pada cara penulisan 2 procedure dideklarasikan dahulu procedure Nama_proc(parameter);forward; baru kemudian didefinisikan sesudah program utama. Latihan: Lihat listing program tabel.pas di modul 3, pahami dan rubah menjadi seperti di bawah ini : procedure Nama_proc(parameter) Nama_proc(parameter); (* Nama Program : tabel.pas *) (* Deskripsi : *) (* *) function fpangkat(dipangkatkan:real;pangkat:integer):real; (* iabelnya anda tentukan sendiri *) (* pahami program tabel.pas dan kemudian lengkapi bagian ini*) procedure cetak(x:integer); (* iabelnya anda tentukan sendiri *) writeln( x 1/x x^2 x^3 ); writeln( ----------------------------------- ); (* pahami program tabel.pas dan kemudian lengkapi bagian ini*) (* iabelnya anda tentukan sendiri *) write( Masukkan banyaknya data : );readln(x); cetak(x); readkey;

PROCEDURE YANG MENGEMBALIKAN NILAI Procedure mengembalikan nilai melalui parameter,. Cara Penulisan 1 : Cara Penulisan 2 : procedure Nama_proc( parameter) Nama_proc(parameter); End. procedure Nama_proc( parameter);forward; Nama_proc(parameter); procedure Nama_proc( parameter) Latihan : Lihat program upah.pas di modul 2, dan rubah menjadi seperti di bawah ini : (* Nama Program : upah.pas *) (* Deskripsi : menentukan upah karyawan berdasarkan golongan dan tunjangan anak*) procedure input( Nama:String; gol:char; jmlanak:integer); (* definisikan sendiri *) function Upahkotor(gol:char):real; (* definisikan sendiri *) function Persentunjangan(jmlanak:integer)real; (* definisikan sendiri *) (* definisikan sendiri *) Begin input(nama,gol,jmlanak); Upahbersih:= upahkotor(gol) (upahkotor(gol)*persentunjangan(jmlanak)); writeln( Upah :,upahbersih);

TUGAS 1. Tuliskan proses yang terjadi pada procedure cetak yang ada di program tabel.pas, tahap pertahap untuk nilai-nilai x = 1, 2, 3,. 5 2. Pisahkanlah program tugas 2 modul 2 menjadi beberapa fungsi dan procedure dibawah ini : procedure input( Nama:string; gol:char; status:string); procedure cetak(gol:char,status:string); function gapok(gol:char):real; function tunjangan(gol:char;status:string):real; function prosentase(gapok2:real;tunja:real):real; function potongan_iuran(gapok2:real;tunja:real;prosen:real):real; function gaji_bersih(gapok2:real;tunja:real;potong:real) 3. Buat program untuk menghitung kombinasi.

MODUL V TIPE DATA BENTUKKAN ARRAY PENJELASAN Secara umum terdapat dua tipe data yaitu : 1. Tipe data bawaan : tipe data yang sudah disediakan oleh bahasa Pascal (integer,real,string,dll) 2. Tipe data bentukkan : tipe data baru yang dibuat oleh programer. ARRAY Kumpulan data dengan tipe sama, diakses melalui indeks. Cara Pendeklarasian : Sebagai Variabel : Var Var:array [indeks]of <tipe>; Begin Sebagai tipe data bentukan : type _baru=array[indeks]of <tipe>; :_baru; Contoh : (* Nama Program : isicetak.pas *) (* Deskripsi : mengisi dan mencetak array*) i : integer; nilai:array[1..3]of integer; writeln( Mengisi elemen array ); i:=1; while(i<=3) do write( Nilai ke,i, = );readln(nilai[i]); i:=i+1; writeln( Mencetak elemen array ); for i:=1 to 3 do writeln( Nilai ke,i, =,nilai[i]);

ARRAY DALAM FUNGSI / PROCEDURE Contoh : (* Nama Program : isictk2.pas *) (* Deskripsi : mengisi dan mencetak array*) type Tarray=array[1..3] of integer; procedure isi( nilai:tarray); i:integer; i:=1; while (i<=3) do write( Nilai ke,i, = );readln(nilai[i]); i:=i+1; procedure cetak(nilai:tarray); i:integer; for i:=1 to 3 do writeln( Nilai ke,i, =,nilai[i]); nilai:tarray; n:integer;(*data yang dicari*) writeln( Mengisi elemen array ); isi(nilai); writeln( Mencetak elemen array ); cetak(nilai);

ARRAY 2 DIMENSI (MATRIKS) Contoh : (* Nama Program : matrik.pas *) (* Deskripsi : mengisi dan mencetak matrik*) type tmatrik=array[1..3,1..3]of integer; procedure isi( matrik:tmatrik); i,j:integer; for i:=1 to 3 do for j:=1 to 3 do write( A[,i,,,j, ] = );readln(matrik[i,j]); procedure cetak(matrik:tmatrik); i,j:integer; for i:=1 to 3 do for j:=1 to 3 do write(matrik[i,j]:3); writeln; matrik:tmatrik; writeln( Mengisi elemen matrik A ); isi(matrik); writeln( Mencetak elemen matrik A ); cetak(matrik); STRING DAPAT DIAKSES SEPERTI ARRAY Latihan : - Buat program untuk mencetak kalimat karakter demi karakter. - Berikan indeks pada ibel bertipe string, dan kemudian cetak, sepanjang kalimat tsb.

TUGAS DIKUMPULKAN 22 MEI 2004 1. Procedure di bawah ini untuk mengurut elemen larik. Type Tarray= array[1..16] of integer; procedure urut(a:tarray) i,j,tmp:integer; for i:=1 to 15 do for j:=i+1 to 16 do if (A[i] >A[j]) then tmp=a[i]; A[i]=A[j]; A[j]=tmp; Dengan menggunakan procedure di atas lengkapi tabel berikut. Nilai i j NILAI A 0 0 A[0]=561 A[4]=508 A[8]=400 A[12]=301 A[1]=329 A[5]=375 A[9]=561 A[13]=390 A[2]=455 A[6]=508 A[10]=473 A[14]=329 A[3]=561 A[7]=455 A[11]=346 A[15]=301. A[0]= A[4]= A[8]= A[12]= A[1]= A[5]= A[9]= A[13]= A[2]= A[6]= A[10]= A[14]= A[3]= A[7]= A[11]= A[15]= 15 16 A[0]=301 A[4]=346 A[8]=455 A[12]=508 A[1]=301 A[5]=375 A[9]=455 A[13]=561 A[2]=329 A[6]=390 A[10]=473 A[14]=561 A[3]=329 A[7]=400 A[11]=508 A[15]=561 2. Tulis sebuah procedure untuk mengurutkan elemen matrik. Contoh : 9 8 7 2 5 7 6 5 6 setelah diurut akan menjadi 3 6 8 4 3 2 4 6 9 3. Tulis sebuah procedure untuk mengganti karakter-karakter dari kalimat yang diinput dengan abjad setelahnya menurut urutan abjad latin. a diganti dengan b, b diganti dengan c,, z diganti dengan a. Contoh : Misal kalimat yang diinput : AsepSopian Setelah digeser : BtfqTpqjbo

MODUL VI TIPE DATA BENTUKKAN RECORD RECORD Pengelompokkan dari iabel-iabel yang bernaung dalam satu nama yang sama. Cara Pendeklarasian : Type Tnama=record _1:<tipe 1>; _n:<tipe n>; : Tnama ; Contoh: (* Nama Program : upah.pas *) (* Deskripsi : menentukan upah karyawan berdasarkan golongan dan tunjangan anak*) type Tpegawai=record Nama : string[20]; Gol : char; JmlAnak : integer; pegawai:tpegawai; Upahkotor,upahbersih : real; PersenTunjangan:real; Begin Write( Nama : );readln(pegawai.nama); Write( Gol (A - D) : );readln(pegawai.gol); Write( Jumlah Anak : );readln(pegawai.jmlanak); Case pegawai.gol of A : Upahkotor:=1000000; B : Upahkotor:=800000; C : Upahkotor:=600000; D : Upahkotor:=400000;

if(pegawai.jmlanak>2)then PersenTunjangan := 0.3 else PersenTunjangan := 0.2; Upahbersih:= upahkotor (upahkotor*persentunjangan); writeln( Upah :,upahbersih); STRUCTURE DALAM FUNGSI / PROCEDURE Contoh : (* Nama Program : upah2.pas *) (* Deskripsi : menentukan upah karyawan berdasarkan golongan dan tunjangan anak*) type Tpegawai=record Nama : string[20]; Gol : char; JmlAnak : integer; procedure input( pegawai:tpegawai); with pegawai do write( Nama : );readln(nama); write( Gol (A - D) : );readln(gol); write( Jumlah Anak : );readln(jmlanak); function upahkotor(gol:char):real; Case Gol of A : upahkotor:=1000000; B : upahkotor:=800000; C : upahkotor:=600000; D : upahkotor:=400000; function persentunjangan(jmlanak:integer):real; if(jmlanak>2)then persentunjangan := 0.3 else persentunjangan := 0.2;

procedure cetak(pegawai:tpegawai); upahbersih : real; clrscr; with pegawai do writeln( Nama :,Nama); writeln( Gol (A - D) :,Gol); writeln( Jumlah Anak :,JmlAnak); upahbersih:= upahkotor(gol) (upahkotor(gol)*persentunjangan(jmlanak)); writeln( Upah pegawai:tpegawai; Begin input(pegawai); cetak(pegawai); :,upahbersih:5:2); ARRAY OF RECORD DALAM FUNGSI/PROCEDURE Contoh : (* Nama Program : upah3.pas *) (* Deskripsi : menentukan upah karyawan berdasarkan golongan dan tunjangan anak*) type Tpegawai=record Nama : string[20]; Gol : char; JmlAnak : integer; Tdaf_peg=array[1..5]of Tpegawai; procedure input( pegawai:tpegawai); with pegawai do write( Nama : );readln(nama); write( Gol (A - D) : );readln(gol); write( Jumlah Anak : );readln(jmlanak); function upahkotor(gol:char):real;

Case Gol of A : upahkotor:=1000000; B : upahkotor:=800000; C : upahkotor:=600000; D : upahkotor:=400000; function persentunjangan(jmlanak:integer):real; if(jmlanak>2)then persentunjangan := 0.3 else persentunjangan := 0.2; procedure cetak(pegawai:tpegawai); upahbersih : real; clrscr; with pegawai do writeln( Nama :,Nama); writeln( Gol (A - D) :,Gol); writeln( Jumlah Anak :,JmlAnak); upahbersih:= upahkotor(gol) (upahkotor(gol)*persentunjangan(jmlanak)); writeln( Upah daf_pegawai:tdaf_peg; i:integer; Begin For i:=1 to 5 do writeln('data ke ',i,':'); input(daf_pegawai[i]); For i:=1 to 5 do writeln('data ke ',i,':'); cetak(daf_pegawai[i]); readkey; :,upahbersih:5:2);