• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM PEMROGRAMAN DASAR DIPLOMA-III MANAJEMEN INFORMATIKA. Erma Susanti, S.Kom, M.Cs PROGRAM STUDI TEKNIK INFORMATIKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PRAKTIKUM PEMROGRAMAN DASAR DIPLOMA-III MANAJEMEN INFORMATIKA. Erma Susanti, S.Kom, M.Cs PROGRAM STUDI TEKNIK INFORMATIKA"

Copied!
47
0
0

Teks penuh

(1)

MODUL PRAKTIKUM

PEMROGRAMAN DASAR

DIPLOMA-III MANAJEMEN INFORMATIKA

Erma Susanti, S.Kom, M.Cs

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

INSTITUT SAINS & TEKNOLOGI AKPRIND

2015

(2)

DAFTAR ISI

DAFTAR ISI ... 2  

MODUL 1. DASAR-DASAR ALGORITMA & PROGRAM ... 5  

A.   TUJUAN KHUSUS ... 5  

B.   ALAT DAN BAHAN ... 5  

C.   DASAR TEORI DAN PRAKTEK ... 5  

1.   DASAR ALGORITMA (FLOWCHART) ... 5  

2.   NOTASI FLOWCHART ... 6  

3.   PENGENALAN PEMROGRAMAN PASCAL ... 6  

4.   MENGAPA MENGGUNAKAN PASCAL ... 7  

5.   STRUKTUR PROGRAM ... 7  

6.   MENJALANKAN PROGRAM ... 8  

D.   LATIHAN ... 8  

MODUL 2. VARIABEL DAN KONSTANTA ... 9  

A.   TUJUAN KHUSUS ... 9  

B.   DASAR TEORI ... 9  

1.   VARIABEL ... 9  

2.   KONSTANTA ... 10  

3.   TIPE DATA SEDERHANA ... 11  

4.   OPERATOR ... 12  

MODUL 3. INPUT DAN OUTPUT ... 15  

(3)

B.   DASAR TEORI ... 15  

1.   WRITE DAN WRITELN ... 15  

2.   READ DAN READLN ... 16  

C.   PROGRAM PERTAMA ... 17  

D.   LATIHAN ... 18  

E.   TUGAS ... 18  

MODUL 4. PERCABANGAN (PENYELEKSIAN KONDISI) ... 19  

A.   TUJUAN KHUSUS ... 19  

B.   DASAR TEORI ... 19  

1.   PERNYATAAN IF ... 19  

2.   PERNYATAAN IF..ELSE ... 19  

3.   PERNYATAAN IF..ELSE IF… ... 19  

4.   PERNYATAAN CASE ... 20  

C.   LATIHAN ... 20  

D.   tugas ... 21  

MODUL 5. PERULANGAN (LOOPING) ... 22  

A.   TUJUAN KHUSUS ... 22  

B.   DASAR TEORI ... 22  

1.   PERNYATAAN FOR-DO ... 22  

2.   PERNYATAAN FOR BERSARANG ... 23  

3.   PENYATAAN WHILE ... 23  

4.   PERNYATAAN REPEAT-UNTIL ... 23  

(4)

MODUL 6. PROSEDUR & FUNGSI ... 26  

A.   TUJUAN KHUSUS ... 26  

B.   DASAR TEORI ... 26  

1.   PROSEDUR ... 26  

2.   FUNGSI ... 29  

C.   LATIHAN ... 31  

MODUL 7. ARRAY ... 32  

A.   TUJUAN KHUSUS ... 32  

B.   DASAR TEORI ... 32  

1.   ARRAY DIMENSI SATU ... 32  

2.   ARRAY MULTI DIMENSI ... 34  

3.   OPERASI PADA ARRAY ... 35  

MODUL 8. RECORD ... 40  

A.   TUJUAN KHUSUS ... 40  

B.   DASAR TEORI ... 40  

1.   APAKAH RECORD ... 40  

2.   PEMAKAIAN RECORD ... 42  

3.   PERBEDAAN ARRAY DAN RECORD ... 45  

C.   LATIHAN ... 45  

(5)

MODUL 1. DASAR-DASAR ALGORITMA & PROGRAM

A. TUJUAN KHUSUS

Mahasiswa memahami dasar algoritma dan penulisan program. B. ALAT DAN BAHAN

• Tools untuk menggambar diagram alir (flowchart), dapat menggunakan Ms. Word, Visio, dll.

• Editor PASCAL, dapat menggunakan salah satu teks editor berikut: Turbo Pascal, TPW, Free Pascal, Geany, dll.

C. DASAR TEORI DAN PRAKTEK

1. DASAR ALGORITMA (FLOWCHART)

Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah.

Beberapa definisi algoritma:

Algoritma menurut Anany Levitin adalah deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas.

Algoritma menurut Thomas H. Cormen adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai sebagai keluaran. Jadi, algoritma adalah deretan langkah komputasi yang mentransformasikan masukan menjadi keluaran.

Algoritma dapat dituliskan dalam bentuk notasi algoritmik menggunakan langkah-langkah algoritma dengan untaian kalimat deskriptif, menggunakan diagram alir (flowchart) dan menggunakan pseudocode (mirip dengan notasi di dalam bahasa pemrograman). Pada praktikum ini hanya akan dibahas penggambaran algoritma menggunakan flowchart.

(6)

2. NOTASI FLOWCHART

Flowchart merupakan bagan yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan proses lainnya dengan menggunakan simbol. Flowchart sendiri tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk. Berikut contoh notasi dasar flowchart:

Notasi Kegunaan

Start (Awal mulai program) dan Terminate (Akhir program)

Input (Masukan) Proses

Decision (Keputusan/Kondisi)

Connector on-page (Penghubung di halaman yang berbeda)

Connector off-page (Penghubung di halaman yang sama)

3. PENGENALAN PEMROGRAMAN PASCAL

Pascal adalah bahasa pemrograman procedural yang didesain pada tahun 1968 dan dipublikasikan pada tahun 1970 oleh Niklaus Wirth. Nama Pascal diambil dari nama seorang ahli matematika dan filosopher dari Perancis, Blaise Pascal. Pascal dapat dijalankan pada berbagai platform seperti Windows, Mac OS, dan berbagai versi UNIX/Linux. Pacal awalnya dikembangkan untuk mengajar pemrograman sebagai suatu disiplin ilmu yang sistematis dan untuk mengembangkan program yang reliable dan efisien. Pascal menawarkan berbagai tipe data dan pemrograman yang terstruktur.

Pascal menjadi popular di lingkungan akademik dan pengarajaran karena berbagai alasan :

(7)

• Mudah dipelajari

• Bahasa programnya terstruktur

• Prosedur transparan, programnya efisien dan reliable • Dapat di-compile pada berbagai platform computer.

4. MENGAPA MENGGUNAKAN PASCAL

Pascal menyediakan lingkungan pemrograman untuk mempelajari program sebagai sebuah disiplin ilmu yang sistematis berdasarkan pada konsep fundamental. Pascal memungkinkan programmer untuk mendefinisikan tipe struktur data yang kompleks dan membangun struktur data yang dinamis dan rekursif, seperti lists, trees dan graph. Pascal menawarkan fitur seperti record, enumerasi, subrange, alokasi variable yang dinamis dengan pointer dan set. Pascal memungkinkan definisi prosedur nested untuk berbagai level kedalaman.

Contoh implementasi dari Pascal antara lain Skype, Total Commander, TeX, Macromedia Captivate, Apple Lisa, berbagai games di PC, Embedded System, dll.

5. STRUKTUR PROGRAM

Struktur program Pascal paling sederhana dapat terdiri dari blok program utama yang dimulai dengan (begin) dan diakhiri dengan (end.). Komentar merupakan bagian dari program yang tidak akan ditampilkan di layar saat program dijalankan. Penulisan komentar diawali dengan ( { ) kemudian diisi blok komentar dan diakhiri dengan ( } ).

begin

{komentar: bagian ini adalah program utama}

end.

Sedangkan struktur program pascal secara umum terdiri dari bagian header program-bagian deklarasi-blok program utama. Berikut blok struktur program Pascal:

program {nama program} uses {pemanggilan library}

(8)

var {deklarasi variabel} function {deklarasi fungsi} begin

.. end;

procedure {deklarasi prosedur} begin

.. end;

begin {blok program utama} ..

end. {akhir program}

6. MENJALANKAN PROGRAM

Untuk menjalankan program maka terlebih dahulu kita harus meng-COMPILE program. Setelah proses kompilasi berhasil, kita baru dapat menjalankan program dengan melakukan proses RUN program. Jika pada saat compile program masih terdapat kesalahan (error) maka kita dapat memperbaiki program tersebut.

D. LATIHAN

1. Tulislah algoritma untuk mencari luas segitiga dengan masukan dari pengguna adalah alas dan tinggi. Luas segitiga dapat dihitung dengan rumus L=1/2.a.t dengan a : alas segitiga dan t : tinggi segitiga.

2. Tulis algoritma untuk meminta masukan dua buah bilangan dari pengguna, kemudian tampilkan bilangan terbesar di antara kedua bilangan tersebut.

(9)

MODUL 2. VARIABEL DAN KONSTANTA

A. TUJUAN KHUSUS

Mahasiswa mengetahui tentang variabel dan kostanta dalam program pascal. B. DASAR TEORI

1. VARIABEL

Variabel adalah suatu lokasi di memori yang disiapkan oleh programmer dan diberi nama yang khas untuk menampung suatu nilai dan atau mengambil kembali nilai tersebut.

Bentuk umum:

var NamaVariabel: TipeData; Contoh:

var nilai1, nilai2, nilai3 : byte; Nama : string[30];

JumlahData : integer;

Variabel adalah nama yang diberikan untuk penyimpanan pada program yang dapat dimanipulasi atau diubah-ubah. Setiap variabel dalam Pascal mempunya tipe yang spesifik, seperti menentukan ukuran dan layout dari variabel memori, jangkauan nilai yang dapat disimpan pada memori, dan sekumpulan operasi yang dapat diaplikasikan pada variabel.

Penamaan variabel dapat menggunakan huruf, digit, dan karakter underscore. Variabel harus diawali dengan huruf atau underscore. Pascal tidak case-sensitive, sehingga huruf besar dan kecil mengandung arti yang sama.

Variabel Dasar pada Pascal

Tipe Deskripsi

(10)

Integer Bilangan bulat

Real Floating point, bilangan pecahan Boolean Bernilai benar atau salah

Enumerated Didefinisikan sendiri oleh user

Subrange Representasi variabel, jangkauan nilai String Penyimpanan array dari character

2. KONSTANTA

Jika dalam membuat program kita sering menggunakan bilangan numerik atau suatu kalimat string yang sama berkali-kali, maka ada baiknya kita menjadikan bilangan atau kalimat tersebut sebagai suatu konstanta. Penggunaan konstanta akan membuat program menjadi lebih mudah dimengerti dan diperbaiki. Dengan menggunakan konstanta, kita dapat memberikan nama yang mudah dipahami untuk suatu bilangan numerik yang kompleks. Misal kita lebih mudah menulis pi, daripada harus menuliskan 3.1415926536 berkali-kali pada program. Jika kita akan mengganti nilai pi menjadi 3.14, maka kita hanya perlu menggantinya sekali saja pada bagian deklarasi konstanta. Konstanta dideklarasikan pada awal program, sebelum blok begin-end.

Bentuk umum:

Const NamaKonstanta = NilaiKontanta; Contoh: Const pi = 3.14; radius = 25.6; LuasLingkaran = pi*radius; Maks = 100; JumlahMhs = 7656; Simbol = ‘****’; NamaPT = ‘P.T. XYZ’;

(11)

3. TIPE DATA SEDERHANA

Pascal telah menyediakan beberapa tipe data sederhana yang siap digunakan. Tipe-tipe data yang paling sering digunakan pada program Pascal antara lain: INTEGER

Tipe Bilangan Bulat, digunakan untuk menyimpan data bilangan bulat.

Tipe Jangkauan Ukuran

Shortint -128..127 8 bit Integer -32768..32767 16 bit Longint -2147483648..2147483647 32 bit Byte 0..255 8 bit Word 0..65535 16 bit BOOLEAN

Tipe Boolean, tipe yang hanya dapat bernilai benar atau salah

Tipe Data Ukuran

Boolean 1 byte

ByteBool 1 byte

WordBool 2 byte (1 word) LongBool 4 byte (2 word)

REAL/FLOATING POINT

Tipe Real, digunakan untuk menyimpan bilangan real atau pecahan. Tipe Data Jangkauan Digit penting Ukuran Real 2.9*10-39 .. 1.7*1038 11-12 6 byte Single 1.5*10-45 .. 3.4*1038 7-8 4 byte Double 5.0*10-324 .. 1.7*10308 15-16 8 byte Extended 3.4*10-4942 .. 1.1*104932 19-20 10 byte Comp -2-63 +1.. 263-1 19-20 8 byte

(12)

KARAKTER (CHAR)

Tipe karakter (char), digunakan untuk menyimpan satu karakter dan mengalokasikan 1 byte memori. Contoh: ‘A’,’Z’,’@’,’1’,’9’, dsb. Contoh: var NamaVar : char;

STRING

Tipe String, digunakan untuk menyimpan data yang berupa untaian karakter sebanyak 256 (default). Sebaiknya kita menentukan berapa banyak karakter dalam tipe string yang dibutuhkan. Karena hal ini berhubungan dengan memori yang dialokasikan. Misal kita mengalokasikan tempat sebanyak 30 karakter, berarti kita mengalokasikan sebesar 30 byte di memori.

Contoh:

var NamaVar : string; var Nama : string[30]; TIPE DATA ENUMERASI

a. Tipe Subjangkauan, memungkinkan kita untuk mendeklarasikan tipe yang berada pada jangkauan tertentu.

Contoh: type bulan = 1..12;

b. Tipe Terbilang, memungkinkan kita untuk memberi nama pada beberapa nilai tertentu.

Contoh: type NamaHari = ( Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu );

4. OPERATOR

Operasi-operasi yang dapat dilakukan pada variabel antara lain : a. Operator penugasan/assignment, menggunakan tanda :=.

Contoh:

a := 5 {untuk tipe bilangan bulat} b := ‘IST AKPRIND’ {untuk tipe string} c := 3.14 {untuk tipe real}

(13)

d := [1, 2, 3]; {untuk tipe himpunan}

b. Operator Aritmetik Tunggal, digunakan untuk operasi bilangan bulat maupun real. Menggunakan tanda (+) (-)

Contoh: x := -y;

x := +y; sama dengan x := y; c. Operator aritmetik biner

Operator Operasi Tipe Operan Tipe Hasil

+ Penjumlahan Bilangan bulat Bilangan real

Bilangan bulat Bilangan real - Pengurangan Bilangan bulat

Bilangan real

Bilangan bulat Bilangan real * Perkalian Bilangan bulat

Bilangan real

Bilangan bulat Bilangan real / Pembagian Bilangan bulat

Bilangan real

Bilangan bulat Bilangan real div Pembagian bilangan bulat Bilangan bulat Bilangan bulat mod Sisa pembagian (modulus Bilangan bulat Bilangan bulat

d. Operator Pemanipulasi Bit

Operator Operasi

Not Invers

And Logika and

Or Logika or

Xor Logika xor

Shl Pergeseran bit ke kiri

Shr Pergeseran bit ke kanan

e. Operator Boolean, dapat mengembalikan nilai true atau false.

Operator Operasi

Not Negasi

And logika and

(14)

Xor logika xor f. Operator Pembanding

Operator Operasi

= Sama dengan

<> Tidak sama dengan

< Kurang dari

> Lebih dari

<= Lebih kecil sama dengan >= Lebih besar sama dengan <= Subset dari

>= Superset dari

g. Operator String atau penggabungan (concatenation), digunakan untuk menggabungkan dua atau lebih operan string menjadi sebuah string yang lebih panjang.

Contoh:

a := ‘Pemrograman’ + ‘ Pascal’; {sama artinya dengan a := ‘Pemrograman Pascal’;} h. Operator himpunan Operator Operasi + Union - Selisih * Interseksi in Anggota dari

i. Derajat Operator, digunakan untuk menentukan operator mana yang harus dikerjakan terlebih dahulu dan operator mana yang terakhir dikerjakan.

Operator Derajat

@ not Tertinggi

* / div mod and shl shr + - or xor

(15)

MODUL 3. INPUT DAN OUTPUT

A. TUJUAN KHUSUS

Mahasiswa mengetahui tentang input dan output dalam program pascal. B. DASAR TEORI

1. WRITE DAN WRITELN

Untuk menampilkan hasil ke layar, kita dapat menggunakan perintah write atau writeln.

Perbedaan write dan writeln:

Write akan menampilkan hasil ke layar tanpa disertai ganti baris, sehingga tampilan berikutnya akan terletak pada baris yang sama.

Writeln akan menampilkan hasil ke layar dengan disertai pergantian baris sehingga tampilan berikutnya akan terletak pada baris berikutnya.

Bentuk umum:

write( <variabel | string | numerik> ); write( <variabel | string | numerik> ); Contoh: Write(‘selamat’); Write(12345); Write(‘****’); Write(A); Writeln(JumlahSiswa);

Pada contoh di atas, A dan JumlahSiswa adalah dapat berupa variabel atau konstanta. Jika kita ingin menampilkan string (kalimat, kata, karakter, ataupun simbol tertentu maka harus diikuti dengan petik tunggal (‘). Namun jika ingin menampilkan isi dari variabel atau konstanta maka tidak perlu menuliskan kutip tunggal (‘) pada awal dan akhir variabel/konstanta.

(16)

2. READ DAN READLN

Kita dapat memanfaatkan read dan readln untuk meminta masukan dari keyboard. Perbedaan antara read dan readln adalah jika kita menggunaka readln, maka setelah data dimasukkan dan kita menekan enter akan disertai dengan pergantian baris, sedang read tidak. Namun, setelah dilakukan percobaan, ternyata keduanya tetap akan disertai dengan pergantian baris. Perbedaan antara read dan readln baru tampak pada saat kita menggunakannya untuk operasi file. Bentuk umum: Read( <variabel> ); Readln( <variabel> ); Contoh: Read(NamaSiswa); Readln(nim); program PemanfaatanWriteWriteln; uses crt;

var kata: string[20]; begin

kata := ‘Saya belajar pascal’; write(kata);

writeln(‘ kata ‘);

writeln(‘Saya belajar pascal’); write(‘12345’);

end.

program PemanfaatanReadReadln; uses crt;

var bil : byte;

kata : string[25]; begin

write(‘Masukkan sebuah bilangan : ‘); readln(bil);

write(‘Masukkan sebuah kata : ‘); readln(kata);

writeln(‘bilangan yang anda inputkan adalah : ‘,bil); writeln(‘kata yang anda inputkan adalah : ‘,kata); end.

(17)

C. PROGRAM PERTAMA

Menampilkan tulisan ‘Hello World’ ke layar: program Pertama;

{ini adalah bagian komentar} begin writeln(‘Hello World’); write(‘Hello’); writeln(‘World’); end. Output: Hello World

Pada bagian program pada baris ini: writeln(‘Hello World’); write(‘Hello’);

writeln(‘World’); ganti dengan

writeln(‘ini adalah angka: ’,15); maka outputnya akan menjadi:

ini adalah angka: 15 ganti dengan:

writeln(‘ini adalah angka: ’, 3+2); output:

(18)

D. LATIHAN Program input_output; Uses crt; Var a, b, c : byte; d, e, f : real; begin

writeln(‘---Program Latihan Input Output---‘); write(‘Input a = ‘); readln(a); write(‘Input b = ‘); readln(b); c := a+b; d := a*b; e := sqr(a); f :=sqrt(a); writeln(‘Hasil a+b = ‘, c); writeln(‘Hasil a*b = ‘,d); writeln(‘ a^2 = ‘; e:2:2);

writeln(‘akar dari a = ‘,f:2:2);

writeln(‘---‘);

end. E. TUGAS

Buat program untuk menghitung keliling dan luas lingkaran dengan hanya menggunakan inputan diameter (d) dari keyboard. Untuk mendapatkan jari-jari dapat dihitung dari diameter dibagi dua.

(19)

MODUL 4. PERCABANGAN (PENYELEKSIAN KONDISI)

A. TUJUAN KHUSUS

1. Mahasiswa dapat memahami tentang konsep percabangan atau penyeleksian kondisi.

2. Mahasiswa dapat membuat program penyeleksian kondisi. B. DASAR TEORI

Penyeleksian kondisi atau percabangan memungkinkan suatu pernyataan akan dieksekusi hanya jika suatu kondisi terpenuhi atau tidak terpenuhi

1. PERNYATAAN IF Sintaks:

If kondisi then pernyataan;

Kondisi If tersebut digunakan untuk mengerjakan sesuatu kondisi yang terpenuhi saja. Jika kondisi tidak terpenuhi maka tidak akan mengerjakan apa-apa.

2. PERNYATAAN IF..ELSE Sintaks:

If kondisi then pernyataan1 else pernyataan2;

Kondisi If..else akan dijalankan pernyataan1 jika kondisi terpenuhi, jika tidak maka akan dijalankan pernyataan2.

3. PERNYATAAN IF..ELSE IF…

Pada kasus tertentu kita dapat meletakkan pernyataan if lain setelah else. Sintaks:

If kondisi1 then pernyataan1

else if kondisi2 then pernyataan2 else pernyataan3;

(20)

4. PERNYATAAN CASE

Pernyataan case digunakan untuk menyederhanakan konstruksi if..else if yang terlalu banyak. Sintaks: Case ekspresi of 0:pernyataan1; 1:pernyataan2; 2:pernyataan3; 3:pernyataan4; else pernyataan5; end; C. LATIHAN

Buat program untuk menghitung berapa banyak jumlah lembarang uang dalam pecahan limapuluh ribuan, sepuluh ribuan, lima ribuan, seribuan, lima ratusan, dan seratusan yang dibutuhkan untuk membayar suatu barang dalam kelipatan seratusan, tipe data longint.

uses crt;

var a, b, c, d, e, f, harga : longint; begin clrscr; write('Harga : '); readln(harga); a:=harga div 50000; if a<>0 then harga:=harga-(a*50000); b:=harga div 10000; if b<>0 then harga:=harga-(b*10000); c:=harga div 5000; if c<>0 then harga:=harga-(c*5000); d:=harga div 1000; if d<>0 then harga:=harga-(d*1000); e:=harga div 500; if e<>0 then harga:=harga-(e*500); f:=harga div 100; if f<>0 then harga:=harga-(f*100);

(21)

writeln('50.000 = ',a); writeln('10.000 = ',b); writeln('5.000 = ',c); writeln('1.000 = ',d); writeln('500 = ',e); writeln('100 = ',f); readkey; end. D. TUGAS

1. Buat algoritma dan program untuk menampilkan bilangan ganjil atau genap 2. Buat algoritma dan program untuk mengecek tahun kabisat atau bukan

3. Program untuk membaca nomor bulan (integer) dan menuliskan nama bulan sesuai angka bulannya

4. Buat algoritma dan program untuk membaca nilai ujian dan menentukan indeks nilainya, kemudian mencetak nilai dan indeksnya ke piranti keluaran

nilai ujian ≥ 80, indeks nilai = A 70 ≤ nilai ujian < 80, indeks nilai = B 55 ≤ nilai ujian < 70, indeks nilai = C 40 ≤ nilai ujian < 55, indeks nilai = D nilai ujian < 40, indeks nilai = E

(22)

MODUL 5. PERULANGAN (LOOPING)

A. TUJUAN KHUSUS

Mahasiswa dapat memahami konsep (loop) perulangan dan dapat membuat program perulangan dengan menggunakan pernyataan for, while, dan repeat-until.

B. DASAR TEORI

Loop (perulangan) digunakan untuk mengeksekusi satu atau beberapa statetement/pernyataan sebanyak beberapa kali. Pernyataan loop memungkinkan kita untuk menjalankan beberapa pernyataan hanya dengan menuliskan pernyataan tersebut satu kali. Bahasa pemrograman Pascal menyediakan tipe loop untuk menangani permintaan looping (perulangan) seperti FOR-DO, WHILE-DO dan REPEAT-UNTIL.

1. PERNYATAAN FOR-DO

Perulangan menggunakan For-do digunakan jika kita sudah tahu berapa pernyataan yang akan diulang.

Sintaks:

for variabel_pencacah := nilai_awal to nilai_akhir do begin

{pernyataan yang akan diulang} end;

Contoh untuk menuliskan string ‘Teknik Informatika’ sebanyak 20 kali maka: for i := 1 to 10 do

writeln(‘Teknik Informatika’);

Kita juga bisa menuliskan perulangan dari bilangan yang lebih besar ke bilangan yang lebih kecil dengan mengganti ‘to’ dengan ‘downto’. Contoh:

for i := 10 to 1 do

(23)

2. PERNYATAAN FOR BERSARANG

Kita bisa menuliskan pernyataan for di dalam pernyataan for. Contoh:

For x := 1 to 3 do For y := 1 to 2 do

Writeln(x, ‘ ‘, y);

3. PENYATAAN WHILE

Digunakan jika kita belum tahu pasti berapa banyak akan mengulang pernyataan-pernyataan. Berakhirnya pengulangan ini ditentukan oleh suatu kondisi. Pengulangan akan berakhir, jika kondisi sudah tidak terpenuhi. Jadi, selama kondisi masih terpenuhi, maka pengulangan akan terus dilakukan. Kondisi merupakan suatu ekspresi boolean, dapat bernilai benar (true) dan salah (false). Sintaks:

while kondisi do begin

{pernyataan-pernyataan yang akan diulang} end. Contoh Program: program cobawhile; uses crt; var i:byte; begin i:=0; while (i<5) do begin writeln('pascal'); i:=i+1; end; end. 4. PERNYATAAN REPEAT-UNTIL

Pernyataan ini hampir sama dengan perulangan while-do, digunakan bila jumlah pengulangan belum dapat ditentukan pada saat program ditulis. Perbedaannya

(24)

pada repeat-until dan while-do terletak pada letak pengecekan kondisi. Jika pada while-do, kondisi dicek di awal, maka pada repeat-until mengulang pernyataan selama kondisi belum terpenuhi.

Sintaks: Repeat

{pernyataan-pernyataan yang akan diulang} until kondisi; Contoh Program: program cobarepeat; uses crt; var i:byte; begin i:=0; repeat i:=i+1; writeln('pascal'); until i=5; end.

5. PERNYATAAN BREAK & CONTINUE

Pernyataan break dapat digunakan untuk menghentikan pengulangan di tengah jalan. Contoh: x := 0; while (x >= 0) do begin x := x+1; If (x > 100) then Break; end;

Jika dilihat sekilas, program di atas seperti tidak akan pernah berakhir karena x selalu ditambah 1. Padahal kondisi yang harus dipenuhi adalah x >= 0. Namun bila dieksekusi, setelah nilai x lebih besar dari pada 100 maka perulangan akan berhenti karena ada pernyataan break.

(25)

Pernyataan continue digunakan untuk mengembalikan aliran program ke pengujian kondisi perulangan, sehingga pernyataan di bawahnya akan diabaikan. Contoh:

for i := 0 to 100 do begin

if ((i mod 3) <> 0 ) then continue;

writeln(i); end;

Program tersebut akan menuliskan semua bilangan kelipatan tiga yang kurang dari 100, karena pada saat nilai pencacah pengulangan tidak habis dibagi 3, program akan memanggil pernyataan continue, akibatnya writeln(i) tidak dipanggil.

Pernyataan break dan continue ini dapat digunakan pada pernyataan for, while, maupun repeat-until. Selain itu juga dapat digunakan pada pernyataan perulangan bersarang (baik for, while, maupun repeat-until).

(26)

MODUL 6. PROSEDUR & FUNGSI

A. TUJUAN KHUSUS

• Mahasiswa memahami tentang penggunaan prosedur dan fungsi dalam pemrograman.

• Mahasiswa dapat membuat program menggunakan prosedur dan fungsi. B. DASAR TEORI

Apabila program yang Anda buat sudah terlalu panjang, maka akan sulit untuk membaca dan mengerti jalannya program tersebut. Dengan memecah program menjadi beberapa bagian (modul) maka akan lebih memudahkan kita dalam mencari kesalahan program dan memperbaiki serta mendokumentasinya. Program yang berukuran besar dapat dipecah menjadi beberapa subprogram atau modul yang lebih kecil. Setiap modul dapat dipasangkan ke program lain yang membutuhkannya. Jenis modul program ini yaitu prosedur dan fungsi.

1. PROSEDUR

Prosedur berguna untuk mengumpulkan statement-statement yang dapat dijalankan menjadi satu dalam suatu blok dan untuk menjalankannya kembali hanya dengan menuliskan nama prosedur yang menampungnya. Selain itu prosedur juga sering dipakai untuk menampung baris-baris perintah yang sering dipakai dalam sebuah program.

Prosedur adalah sub-program yang dapat dipanggil dari program utama. Prosedur dideklarasikan di luar badan program utama menggunakan kata kunci ‘procedure’. Prosedur harus diberikan nama yang unik. Prosedur dimulai dari begin dan diakhiri end. Berikut contoh bagaimana membuat prosedur yang akan dipanggil dengan nama hello yang akan mencetak ke layar tulisan “Hello”.

(27)

Program procedures; procedure hello; begin writeln(‘hello’); end; begin end.

Untuk memanggil prosedur harus menyebutkan nama prosedur pada program utama. procedure hello; begin writeln(‘hello’); end; begin hello; end.

Prosedur dapat mempunyai beberapa parameter. Setiap parameter diberikan nama dan tipe seperti pada variabel. Jika menggunakan lebih dari satu parameter maka harus dipisahkan dengan titik koma (;).

program procedures;

procedure print(s: string; i:integer); begin writeln(s); writeln(i); end; begin print(‘Hello’, 3); end.

Variabel Global dan Lokal

Variabel yang kita buat bersifat global karena dapat digunakan setiap waktu disepanjang program. Sedangkan variabel pada prosedur adalah variabel local karena hanya dapat digunakan di dalam prosedur. Variabel local dideklarasikan di dalam deklarasi prosedur

program cetak_procedures; procedure cetak (s: string);

(28)

var i:integer; begin for i:=1 to 3 do writeln(s); end; begin cetak(‘Hello’); end.

Jenis Pelewatan Parameter Ada dua cara pelewatan parameter:

a. Pelewatan secara nilai (Pass by value)

Pengiriman parameter dari pemanggil hanya mengirimkan nilai dari variabel tersebut (bukan variabelnya), sehingga apapun yang terjadi di prosedur tidak akan berpengaruh di pemanggil. Ini seperti halnya anda memberikan isian ke variabel tertentu. Pelewatan ini disebut pelewatan lokal (privat).

uses crt;

var a,b: integer;

procedure ubah(a,b: integer); begin

a:=50; b:=60;

writeln('Nilai a = ', a,', Nilai b = ',b); end; Begin clrscr; a:=10; b:=20; ubah(a,b); writeln; writeln('a = ', a); writeln('b = ', b); readln; end.

b. Pelewatan secara acuan (Pass by reference)

Pengiriman parameter dari pemanggil dengan menyertakan acuan (variabelnya) sehingga perubahan yang dilakukan di procedure akan

(29)

mempengaruhi program pemanggilnya. Pelewatan ini disebut pelewatan secara public (global).

uses crt;

var a,b: integer;

procedure ubah (var a,b: integer); begin

a:=50; b:=60;

writeln('Nilai a = ', a,', Nilai b = ',b); end; Begin clrscr; a:=10; b:=20; ubah(a,b); writeln; writeln('a = ', a); writeln('b = ', b); readln; end. 2. FUNGSI

Fungsi adalah sekumpulan pernyataan yang secara bersama-sama melakukan sebuah tugas. Setiap program pascal sedikitnya mempunyai satu fungsi., yaitu program itu sendiri, dan semua program dapat mendefinisikan fungsi tambahan. Fungsi (function) sama seperti prosedur, bedanya ada pada pengembalian nilai. Kata kunci ‘function’ digunakan untuk mendeklarasikan fungsi. Untuk mengatakan bahwa tipe data mengembalikan nilai maka harus menggunakan tanda koma (,) dan nama dari tipe setelah nama fungsi.

Definisi fungsi:

Function nama_fungsi(argument: type1; argument: type2; …): tipe_fungsi; Deklarasi; Begin End. Contoh program: program functions;

(30)

begin end; begin end.

Penugasan nilai dari fungsi ke variabel membuat variabel menjadi sama dengan nilai pengembalian.

program functions; var jawab: integer;

function tambah ( i , j : integer) : integer; begin tambah := i+j; end; begin jawab := tambah(1, 2); writeln(tambah(1, 2)); end.

Kita dapat keluar dari prosedur atau fungsi setiap waktu dengan menggunakan perintah Exit.

program procedures; procedure getName; var name: string; begin

writeln(‘Nama anda ? ‘); readln(name);

if name = ‘’ then Exit;

writeln(‘ Nama anda adalah ‘, name); end;

begin

getName; end.

(31)

C. LATIHAN

1. Buatlah program dengan menggunakan procedure dan function untuk dapat merepresentasikan kalkulator sederhana. Buatlah dalam bentuk menu dengan minimal 10 operasi standar aritmatika

2. Buatlah program dengan menggunakan function untuk menghitung deret berikut:

S:= a + (a+2) + (a+4) + ...+ (a+100) dengan syarat a bilangan bulat genap. Jika a ganjil maka a harus dikurangi dengan 1. Keluaran adalah S.

(32)

MODUL 7. ARRAY

A. TUJUAN KHUSUS

Mahasiswa memahami tentang konsep ARRAY dan dapat membuat program menggunakan ARRAY.

B. DASAR TEORI

1. ARRAY DIMENSI SATU

Pemrograman Pascal menyediakan struktur data yang disebut dengan array, dimana data akan disimpan secara sekuensial sebagai sekumpulan elemen dengan tipe data yang sama. Array digunakan untuk menyimpan koleksi variable dengan tipe yang sama. Deklarasi variabel, seperti nomor1, nomor2, …, … dan nomor100 dapat dideklarasikan dalam satu array variabel yaitu nomor[1], nomor[2], …, dan nomor[100] untuk merepresentasikan variabel individual. Elemen spesifik dari array dapat diakses sebagai sebuah index.

Semua array terdiri dari lokasi memori yang berurutan. Alamat terkecil berhubungan dengan elemen pertama dan alamat tertinggi merupakan elemen terakhir.

Deklarasi Array

Deklarasi array dimensi satu:

type array-identifier = array[index-type] of element-type;

Dimana:

Array-identifier : mengindikasikan nama dari tipe array

Index-type : subscript dari array. Dapat bertipe scalar kecuali real. Element-type : tipe dari nilai yang disimpan.

(33)

Contoh:

type vector = array [1..25] of real; var velocity : vector;

Contoh array yang dimulai dengan index 0:

type vector = array [0..24] of real; var velocity : vector;

Contoh array dalam variabel:

Array adalah variabel yang dapat menampung sejumlah data yang ditandai dengan suatu index pada masing-masing elemennya. Suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang memiliki tipe data yang sama. Gabungan dari beberapa variabel sejenis serta memiliki jumlah komponen yang jumlahnya tetap. Elemen-elemen array tersusun secara sekuensial dalam memori komputer.

Var nilai : array [1..10] of integer;

Dalam hal ini variabel nilai adalah suatu array yang memiliki 10 elemen yaitu nilai[1], nilai[2], nilai[3],…, nilai[10]. Pada masing-masing elemennya dapat menampung satu nilai integer.

Initial Array

Dalam pascal, array diinisialisasi menggunakan penugasan, secara spesifik menggunakan subscript atau menggunakan perulangan for-do.

Keunggulan Array

Misalkan kita memesan 10 variabel, misal Nilai1, Nilai2, Nilai3, dst. Kita akan menjumlahkan total dari variabel tersebut tanpa array maka dapat ditulis: Total := Nilai1+Nilai2+Nilai3+Nilai4+Nilai5+Nilai6+ Nilai7+Nilai8+Nilai9+Nilai10;

Jika menggunakan array, maka pengolahan data variabel tersebut akan menjadi lebih mudah:

(34)

Total :=0;

For I := 1 to 10 do Total := Total+Nilai[I]; Bagaimana kalau ada 100 elemennya. Bisa anda bayangkan?

2. ARRAY MULTI DIMENSI

Dalam array multidimensi terdiri atas baris (row) dan kolom (column). Index pertama adalah baris dan yang kedua adalah kolom.

Sintaks:

Type nama_array =ARRAY[bawah..atas, bawah..atas] of tipe_data;

var variabel_array : nama_array;

atau dengan menggunakan statemen var :

var variabel_array : ARRAY[bawah..atas, bawah..atas] of tipe_data;

Pernyataan berikut membentuk suatu array integer dengan nama bilangan , 10 x 10 elemen (100).

type matriks = ARRAY [1..10, 1..10] of integer; var AKU: matriks;

untuk memasukkan tiap elemen maka, diperlukan suatu procedure dengan mempergunakan struktur pengulangan for ...do tersarangseperti berikut:

procedure ISI_MATRIK(AKU:matriks; m,n:integer); var

i,j: integer; {faktor pengulang} begin for i:=1 to m do begin for j:=1 to n do begin read(A[i,j]); end;

readln ;{ini memungkinkan kita menulis tiap baris elemen}

(35)

untuk menampilkan tiap elemen maka, digunakan struktur pengulangan for ...do tersarang seperti berikut

procedure TULIS_MATRIK(AKU:matriks; m,n:integer); var i,j: integer; {faktor pengulang}

begin for i:=1 to m do begin for j:=1 to n do begin write(A[i,j]:6); end;

writeln ; {ini memungkinkan kita menulis elemen dalam baris dan kolom }

end; end;

3. OPERASI PADA ARRAY

Sifat masing-masing elemen array mengikuti jenis data yang dimilikinya, untuk array dengan tipe bilangan integer atau real kita bisa melakukan berbagai standar operasi aritmatika seperti penjumlahan, perkalian, pengurangan, dsb. Yang perlu di garis bawahi, bahwa sifat dari array dimanfaatkan untuk operasi matrik.

a. Mencari Harga Tertentu pada Array

Mencari suatu elemen data di dalam suatu data merupakan suatu kejadian yang sering kita alami, contoh: mencari nama mahasiswa dari daftar presensi. Pencarian beruntun (sequence), merupakan suatu teknik untuk mencari suatu elemen dalam suatu sistim yang lebih besar.

b. Mencari Harga Maksimum pada Array

Misal array di atas kita cari harga yang tertinggi, maka kita perlu menentukan nilai tertinggi dahulu sebelum melakukan pencarian ; diawali dengan nilai maksimum=0.

(36)

c. Mencari Harga Minimum pada Array

Misal array di atas kita cari harga yang terendah, maka kita perlu menentukan nilai terendah dahulu sebelum melakukan pencarian ; diawali dengan nilai maksimum=3200

Tulislah program dibawah sebagai contoh untuk menginputkan sejumlah bilangan, mencari rerata dan nilai max dan min:

program contoharraydimensi1; uses wincrt;

type angka=array [1..10] of integer; var x: angka; i,jum:byte; total:longint; rata:real; max,min:integer; lagi:char; begin

{mengisi data nilai mhs} i:=0; total:=0;lagi:='y'; repeat

begin

i:=i+1;

write('isi angka ke ',i,' '); readln(x[i]);

total:=total+x[i];

write('apakah akan mengisi lagi <y/t>? '); readln(lagi);

end

until lagi <> 'y'; jum:=i-1;

writeln;

writeln('DATA angka YANG TELAH DIMASUKKAN');

writeln('---'); writeln('NO nilai');

writeln('---'); for i:=1 to jum do

writeln(i:4,x[i]:8);

writeln('---'); {mencari rata-rata}

rata:=total/jum;

writeln('total nilai= ',total:8);

writeln('nilai rata-rata dari ',jum:6, ' nilai di atas adalah ',rata:8:2);

(37)

for i:=2 to jum do begin

if x[i] > max then max:=x[i]; if x[i] < min then min:=x[i]; end;

writeln('nilai terbesar adalah ',max:8); writeln('nilai terkecil adalah ',min:8); end.

d. Matrik

Sebagai perwujudan dari array dua dimensi, operasi aritmatika seperti penjumlahan, perkalian, dan pengurangan bisa dilakukan. Contoh. - Mendefinisikan Elemen Program OPERASI_MATRIK; uses wincrt; type matrik=array[1..100,1..100] of real; var

m,n, p, q: integer; {dimensi dari matrik}

A,B,C: matrik; {matrik A, B sebagai input, C sebagai hasil}

- Membaca Elemen Matrik

procedure bacamatrik(var A:matrik; m,n:integer); var

i,j: integer; {faktor pengulang} begin {read} for i:=1 to m do begin {do} for j:=1 to n do read(A[i,j]); readln; end; {do} end; {read}

- Menampilkan Elemen Matrik

procedure tulismatrik(A:matrik; m,n:integer); var

i,j: integer; {faktor pengulang} begin {write}

for i:=1 to m do begin {tiap baris} writeln;

for j:=1 to n do write(A[i,j]:6:2); end; {tiap baris} writeln;

(38)

- Penjumlahkan Matrik

procedure check_matrik(A,B,C:matrik; m,n,p,q:integer); var i,j :integer;

begin if (m=p) and (n=q) then begin for i:=1 to m do begin for j:=1 to n do begin C[m,n]=A[m,n]+B[m,n]) end; end; end else

writeln('DIMENSI MATRIK TIDAK COCOK') end;

- Pengurangan Matrik

procedure check_matrik(A,B,C:matrik; m,n,p,q:integer); var i,j :integer;

begin if (m=p) and (n=q) then begin for i:=1 to m do begin for j:=1 to n do begin C[m,n]=A[m,n]- C[m,n]) end; end; end else

writeln('DIMENSI MATRIK TIDAK COCOK') end;

-. Perkalian Matrik

procedure perkalian_matrik(A,B,C:matrik; m,n,p,q:integer); var i,j, k :integer;

C1: matrik; begin if (n=p) then begin for i:=1 to m do begin for j:=1 to p do begin {inner product} C1[i,j]:=0;

for k:=1 to n do

C1[i,j]:=C1[i,j]+A[i,k]*B[k,j]; end; {inner product}

end; n:=q;

for i:=1 to m do for j:=1 to n do C[i,j]:=C1[i,j];

(39)

else

writeln('DIMENSI MATRIK TIDAK COCOK') end;

- Transpose Matrik

procedure Transpose(A,B:matrik; m,n,p,q:integer); var i,j:integer; begin for i:=1 to n do begin for j:=1 to m do begin B[m,n]=A[n,m] end; end; end;

(40)

MODUL 8. RECORD

A. TUJUAN KHUSUS

• Mahasiswa dapat memahami tentang penggunaan tipe data record pada program.

• Mahasiswa dapat membuat program menggunakan record. B. DASAR TEORI

1. APAKAH RECORD

Record adalah salah satu tipe data terstruktur. Tipe data record ini digunakan untuk menyimpan sejumlah data dengan nilai dan tipe data yang berbeda dalam satu wadah.

Record merupakan elemen-elemen data yang digabungkan menjadi satu kesatuan. Masing-masing elemen data tersebut dikenal dengan sebutan field. Field data tersebut dapat memiliki tipe data yang sama atau berbeda. Walaupun field-field tersebut berada dalam satu kesatuan record, namun masing-masing field tersebut tetap dapat diakses individual. Field-field tersebut digabungkan menjadi satu record dengan tujuan untuk memudahkan.

Bentuk umum:

type <nama_record> = record

<data field-1> : <type1>; <data field-2> : <type2>; …

<data field-N> : <typeN>; end;

var <nama_var> : <nama_record>; atau dapat dideklarasikan langsung dalam variabel:

var <nama_var> = record

<data field-1> : <type1>; <data field-2> : <type2>; …

<data field-N> : <typeN>; end;

(41)

Contoh:

type Mahasiswa = record

nim : string[10]; nama : string[30]; alamat : string[40]; ipk : real; end; var Mhs : Mahasiswa; atau langsung dideklarasikan di variabel:

var Mhs = record nim : string[10]; nama : string[30]; alamat : string[40]; ipk : real; end;

Di dalam suatu record jika terdapat field-field yang bertipe sama dapat dideklarasikan bersamaan dengan dipisahkan oleh tanda koma (,) sehingga tidak perlu menuliskan tipe datanya berulang-ulang.

Contoh:

type volume_balok = record

panjang, lebar, tinggi : byte; end;

(42)

Contoh Program:

2. PEMAKAIAN RECORD

Untuk menggunakan record tersebut, maka harus ditulis nama record beserta dengan fieldnya yang dipisahkan dengan tanda titik (.). Misalnya jika ingin menulis nim seorang mahasiswa ke layar maka penulisan yang benar adalah sebagai berikut:

write(Mhs.nim);

Pemakaian Record dengan Statement With

Atau dapat juga dengan menggunakan kata baku with-do. with Mhs do write(nim); type data_pegawai = record kd_peg : string[5]; nama : string[15]; alamat : string[20]; gaji : longint; end; var pegawai : data_pegawai; begin pegawai.kd_peg := ‘001';

pegawai.nama := ‘Andi Sujarwo';

pegawai.alamat:= ‘Jl. Kyi Telingsing No 56 Kudus';

pegawa.gaji:=1500000;

writeln(‘Kode Pegawai :‘,pegawai.kd_peg); writeln(‘Nama :',pegawai.nama);

writeln(‘Alamat :',pegawai.alamat); writeln(‘Gaji :',pegawai.gaji); readln;

(43)

Record dalam Array

Dalam contoh sebelumnya, penggunaan tipe data record hanya dapat menyimpan satu record. Untuk dapat menyimpan sejumlah record maka dapat digunakan array yang bertipe record yang sudah didefinisikan.

Contoh: type data_pegawai = record kd_peg : string[5]; nama : string[15]; alamat : string[20]; gaji : longint; end; var

pegawai : array[1..10] of data_pegawai; i : integer; begin clrscr; for I:= 1 to 10 do begin with pegawai[i] do end; end.

Field Record Bertipe Array

Jika dalam suatu record terdapat beberapa field yang sama tipenya dapat digunakan array. Contoh ada data barang yang mempunyai struktur:

- nama barang bertipe string

- jumlah unit barang ke 1 bertipe byte - jumlah unit barang ke 2 bertipe byte - jumlah unit barang ke 3 bertipe byte Contoh:

type

data_brg = record

namaBrg : string[15];

unitBrg : array[1..3] of byte; end;

var

(44)

Tipe Data Record dengan Field Tipe Record

Dalam pascal tipe data record dapat didefinisikan juga sebagai suatu field dari suatu record. Artinya suatu record juga dapat mempunyai field yang merupakan record. Contoh: sebuah data pegawai mempunyai struktur sebagai berikut :

- Nama pegawai -> string - Mulai masuk -> - Tgl

- Bln - Thn - Alamat pegawai -> - Jalan

- Kota - Gaji -> - Gaji pokok

- Lembur - Tunjangan Contoh Program: type masuk = record tgl : 1..31; bln : 1..12; thn : integer; end; alamat = record jalan : string[20]; kota : string[10]; end; gajipeg = record pokok,tunjangan,lembur : real; end; datapegawai = record nama : string[20]; tglmasuk : masuk; almt : alamat; gaji : gajipeg; end;

(45)

3. PERBEDAAN ARRAY DAN RECORD

• Array atau larik semua elemennya harus bertipe sama (homogen) • Record semua elemennya (field-fieldnya) dapat bertipe data berbeda C. LATIHAN

Latihan 1: ProgramRecord1.pas Uses crt;

Type Mahasiswa = Record Nama : string[30]; Nim : string[10]; Alamat : string[50]; Ipk : real; End; Var Mhs : Mahasiswa; Begin Clrscr(); Write(‘Nama : ‘);readln(Mhs.nama); Write(‘Nim : ‘);readln(Mhs.nim); Write(‘Alamat : ‘);readln(Mhs.alamat); Write(‘Ipk : ‘);readln(Mhs.ipk); Writeln;

Writeln(‘Nama anda : ‘, Mhs.nama); Writeln(‘Nim anda : ‘, Mhs.nim);

Writeln(‘Alamat anda : ‘, Mhs.alamat); Writeln(‘Ipk anda : ‘, Mhs.ipk:2:2); End.

Latihan 2: ProgramRecord2.pas Uses crt;

Type Mahasiswa = Record Nama : string[30]; Nim : string[10]; Alamat : string[50]; Ipk : real; Var Mhs : Mahasiswa; Begin Clrscr(); With Mhs do Begin Write(‘Nama : ‘);readln(nama); Write(‘Nim : ‘);readln(nim); Write(‘Alamat : ‘);readln(alamat); Write(‘Ipk : ‘);readln(ipk);

(46)

Writeln(‘Nama anda : ‘, nama); Writeln(‘Nim anda : ‘, nim);

Writeln(‘Alamat anda : ‘, alamat); Writeln(‘Ipk anda : ‘, ipk);

End; End.

(47)

DAFTAR PUSTAKA

Munir, R., 2009, Algoritma & Pemrograman Dalam Bahasa Pascal dan C, Informatika, Bandung.

Pranata, A., 2005, Algoritma dan Pemrograman, Graha Ilmu, Yogyakarta.

Sanjaya, Dwi, 2005, Bertualang dengan Struktur Data di Planet Pascal, Graha Ilmu, Yogyakarta.

Referensi

Dokumen terkait

Soil samples that mixed with lime only additive have decreasing friction angle value ( ɸ ) along curing periods but, all samples that added with lime and fly- ash show the

Pemberian diskon yang lebih tinggi dan termin penjualan kredit yang lebih panjang akan mengakibatkan arus kas perusahaan pada periode sekarang menjadi lebih rendah dibandingkan

Memang kadang ada keinginan untuk memainkan karya sendiri mungkin karena jenuh harus terus membawakan lagu-lagu orang lain tap itu tidak membuat saya berhenti main di cafe dan

A simple narrow band noise model which we implemented with all the schemes in the presence of frequency disturbances, was proposed.. We also showed that a concatenation of a shorter

Hambatan dari segi peraturan: guna mengatasi mengenai Peraturan Gubernur DIY No 21 Tahun 2008 tentang Organisasi dan Tata Kerja Ombudsman Daerah di Propinsi DIY yang tidak

Tarip Sumbangan Wajib Istimewa tahun 1962 Atas Kendaraan Bermotor Beroda dua. atau tiga seperti: speda-motor, scooter, tricar, bemo dan sebagainya

Sistem ini sebenarnya telah gagal dalam mengatur adanya perbedaan individu kemampuan manusia dengan contoh adalah upah jam-jaman, mingguan dan bulanan. Kegagalan ini

Berdasarkan data tersebut, perbandingan massa Fe dengan S dalam besi sulfida hasil reaksi adalah ..... Batu kapur sebanyak 10 gram dicampur den- gan asam klorida dengan