Algoritma Dan Pemrograman

87
LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN UNIVERSITAS SILIWANGI MEMBUAT PROGRAM MENGGUNAKAN PASCAL Oleh : Hendra Pratama 117006172 Jurusan Teknik Informatika Kelas 1D TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

description

Semester 1 - Algoritma Dan PemrogramanTeknik InformatikaUniversitas Siliwangi Tasikmalaya

Transcript of Algoritma Dan Pemrograman

Page 1: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 2: Algoritma Dan Pemrograman

PEMBAHASAN

DASAR TEORI

1. PENGENALAN PASCAL

Bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh

NICLAUS WIRTH di Technical University, Zurich – Swiss. Nama PASCAL diambil

dari nama seorang ahli matematika bangsa Perancis, yaitu BLAISE PASCAL yang

telah berjasa menemukan alat hitung mekanis pertama didunia pada abad ke-17.

Bahasa pemrograman ini termasuk kategori “ High Level Language”. Instruksi-

instruksi yang digunakan dalam bahasa pemrograman ini sangat sistematis dan

terstruktur.

Pada awalnya bahasa pemrograman Pascal diperkenalkan dengan tujuan untuk

menjelaskan masalah pemrograman computer bagi mahasiswa yang belajar

pemrograman computer. Ternyata dalam waktu singkat, bahasa pemrograman ini

menjadi salah satu bahasa yang sangat popular dikalangan universitas, sehingga

menjadi julukan sebagai bahasa universitas. Keunggulan bahasa ini terletak pada

kemudahannya untuk dipelajari dan adanya dukungan fungsi-fungsi matematika yang

sangat lengkap.

2. STRUKTUR PROGRAM PASCAL

Struktur suatu program Pascal terdiri dari sebuah judul program, bagian

deklarasi dan bagian pernyataan (statement).

Judul Program sifatnya adalah optional, dan bila ditulis, harus terletak pada

awal dari program dan diakhiri dengan titik koma. Bagian deklarasi digunakan bila

didalam program digunakan pengenal (identifier). Jika suatu program menggunakan

identifier, Pascal menuntut supaya identifier tersebut diperkenalkan terlebih dahulu

sebelum digunakan, yaitu dideklarasikan terlebih dahulu sebelum digunakan, yaitu

dideklarasikan terlebih dahulu pada bagian ini.

Struktur Minimal Program Begin

Statement;

End.

Page 3: Algoritma Dan Pemrograman

Struktur Lengkap (Umum) Program

Secara umum, program akan menerima masukan (input) dari piranti masukan,

melakukan sebuah proses tertentu, dan menghasilkan keluaran (output) ke piranti

keluaran.

(* Judul Program *)

Program Nama_program;

{penjelasan tentang program, yang berisi uraian singkat

mengenai

apa yang dilakukan program}

uses

{semua unit yang digunakan didefinisikan disini}

label

{semua label yang digunakan didefinisikan disini}

const

{semua nama konstanta dan harganya didefinisikan disini}

type

{semua nama bentukan didefinisikan disini}

var

{semua nama variabel global ditulis disni}

{deklarasi prosedur dan fungsi ditulis disini}

{*Bagian Deskripsi/ Statement*}

begin

Statement 1;

Statement 2;

. . .

Statement n;

{ }

Beberapa aturan dalam program pascal :

- Akhir sebuah program pascal ditandai dengan tanda baca (.) setelah END

yang paling akhir.

- Tanda titik koma (;) merupakan pemisah antar istruksi yang satu dengan

yang lainnya.

- Beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan

tanda baca titik koma (;)

- Baris komentar diletakan diantara tanda (* dan *) atau diantara tanda

{dan} sehingga setiap kali program dijalankan, maka seluruh teks yang

berada dalan satu tanda tersebut tidak akan dibaca atau dikompilasi.

Page 4: Algoritma Dan Pemrograman

3. KOMPONEN DASAR PROGRAM PASCAL

Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa

pemrograman yang umum, yaitu :

A. Simbol Dasar.

Simbol dasar terdiri atas :

1) Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z.

(huruf besar dan kecil).

2) Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.

3) Simbol khusus yaitu : + - * / ; := , ‘ = < > <= >= < > : { } ( ) [ ]

B. Reserved Word (kata pasti)

Reserved Word adalah suatu kata yang sudah mempunyai arti khusus atau

‘kata kunci’ dan harus digunakan sebagaimana yang telah ditentukan

kegunaannya oleh bahasa Pascal. Reserved word ini tidak dapat dipergunakan

sebagai identifier.

Contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal

antara lain :

AND ELSE LABEL REPEAT

ARRAY END MOD SET

BEGIN FILE NOT THEN

CASE FOR OF TYPE

CONST FUNGTION OR UNTIL

DIV GOTO PROCEDURE VAR

DO IF PROGRAM WHILE

DOWNTO IN RECORD WITH

C. Identifier (sebutan/ pengenal)

Identifier merupakan sebuah kata yang diberikan oleh programmer dan

digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. Pemakai

dapat mendefinisikan sendiri suatu nama sebagai Identifier.

Identifier dapat digunakan untuk menyatakan suatu : program, konstanta,

variable, procedure, fungsi, label, tipe bentukan, objek, dan hal lain yang

dideklarasikan oleh pemrogram.

Page 5: Algoritma Dan Pemrograman

Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut :

- Terdiri dari gabungan huruf dan angka dengan karakter pertama harus

berupa huruf. Huruf besar dan huruf kecil dianggap sama.

- Tidak boleh mengandung blank.

- Tidak boleh berupa reserved word atau kata kunci dalam bahasa

pascal.

- Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah.

- Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap

signifikan.

4. PERINTAH WRITE DAN WRITELN

Struktur umum :

write (parameter); writeln (parameter);

Perintah write dan writeln mempunyai kegunaan yang sama yaitu

menuliskan parameter ke layar. Perbedaannya hanya pada pemindahan posisi kursor

setelah penulisan. Perintah writeln yang merupakan kependekan dari write line,

setelah menuliskan parameter-nya di layar, maka kursor penulisan akan langsung

pindah kebaris dibawahnya sehingga hasil yang dicetak berikutnya akan di tampilkan

pada baris yang berbeda.

Perintah write hanya menuliskan parameternya saja, tanpa pindah baris

sehingga berikutnya akan disambung dalam baris yang sama.

Page 6: Algoritma Dan Pemrograman

PROGRAM UJI PRAKTEK 1. PROGRAM IDENTITAS PRIBADI

A. Listing

B. Output

Page 7: Algoritma Dan Pemrograman

C. Analisis

- Pada Program yang pertama ditulis untuk judul program identitas pribadi

(ketentuan judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka

gunakan symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses,

jika tidak dituliskan juga tidak masalah.

- Selanjutnya begin untuk penyambung awal program.

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika

hasil RUN ada yang salah dan kembali di RUN maka berfungsilah

CLRSCR.

- Writeln pertama berfungsi mencetak nama judul program yang di buat.

Contoh (Program Identitas Pribadi). Fungsi lain sama dengan fungsi enter.

- Write berfungsi mencetak suatu perintah yang ada di dalam kurung kutip

(*** ). Dan berfungsi sebagai mencetak dan melanjutkan hasilnya tanpa

berfungsinya fungsi enter.

- Readline berfungsi untuk membaca program di akhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan

diakhiri dengan titik ( . ).

Page 8: Algoritma Dan Pemrograman

2. PROGRAM PEMBUATAN GAMBAR SEGITIGA BINTANG

A. Listing

B. Output

Page 9: Algoritma Dan Pemrograman

C. Analisis

- Pada Program yang pertama ditulis untuk judul program gambar

(ketentuan judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka

gunakan symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses,

tetapi jika tidak dituliskan juga tidak masalah.

- Selanjutnya begin untuk penyambung awal program.

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika

hasil RUN ada yang salah dan kembali di RUN maka berfungsilah

CLRSCR.

- Pada gambar segitiga bintang ditentukan menggunakan tab untuk

menghasikan gambar yang sempurna seperti pada contoh hasil yang telah

di RUN di atas.

- Writeln pertama berfungsi mencetak nama judul program yang di buat.

Contoh (Program gambar segitiga bintang). Fungsi lain sama dengan

fungsi enter.

- Write berfungsi mencetak suatu perintah yang ada di dalam kurung kutip

(*** ). Dan berfungsi sebagai mencetak dan melanjutkan hasilnya tanpa

berfungsinya fungsi enter.

- Readline berfungsi untuk membaca program di akhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan

diakhiri dengan titik ( . ).

Page 10: Algoritma Dan Pemrograman

3. PROGRAM HITUNGAN

A. Listing

B. Output

Page 11: Algoritma Dan Pemrograman

C. Analisis

- Pada Program yang pertama ditulis untuk judul proram hitungan

penjumlahan, pengurangan, perkalian, dan pembagian (ketentuan judul

bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka

gunakan symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

ah.

.

t.

tik ( . ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses,

jika tidak dituliskan juga tidak masal

- Selanjutnya begin untuk penyambung awal program

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika

hasil RUN ada yang salah dan kembali di RUN maka berfungsilah

CLRSCR.

- Writeln pertama berfungsi mencetak nama judul program yang di buat.

Contoh (Program hitungan penjumlahan, pengurangan, perkalian, dan

pembagian). Fungsi lain sama dengan fungsi enter.

- Write berfungsi mencetak suatu perintah yang ada di dalam kurung kutip

(*** ). Dan berfungsi sebagai mencetak dan melanjutkan hasilnya tanpa

berfungsinya fungsi enter.

- Readline berfungsi untuk membaca program di akhir statemen

- Pada akhir program harus di tulis End untuk menutup statement. Dan

diakhiri dengan ti

 

 

 

 

 

 

 

 

 

Page 12: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 2)

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 13: Algoritma Dan Pemrograman

PEMBAHASAN (TIPE DATA, NILAI, INPUT, DAN OUTPUT)

DASAR TEORI

1. TIPE DATA

Pada umumnya, program komputer bekerja dengan memanipulasi objek (data)

didalam memori. Objek (data) yang akan deprogram bermacam-macam jenis atau

tipenya.

Jenis-jenis tipe data dasar yang dikenal dalam bahasa pascal antara lain :

a. Boolean : tipe data bilangan logika, hanya bisa bernilai True (benar) atau False

(salah).

b. Integer : merupakan tipe daUkuranta bilangan bulat. Macam tipe bilangan bulat :

Type Rentang Nilai Ukuran

byte 0 . . . 255 8 bit

shortint -128 . . . 127 8 bit

word 0 . . . 65535 16 bit

integer -32768 . . . 32767 16 bit

longint -2147483648 . . . 2147483647 32 bit

c. Real : merupakan tipe data bilangan desimal. Macam tipe bilangan real :

Type Rentang Nilai Ukuran

real 2.9 x 10-39 . . . 1.7 x 1038 6 byte

single 1.5 x 10-45 . . . 3.4 x 1038 4 byte

double 5.0 x 10-324 . . . 1.7 x 10308 8 byte

extended 3.4 x 10-4932 . . . 1.1 x 104932 10 byte

d. Char : meupakan tipe data karakter.

Char ( Character) adalan semua tombol yang terdapat pada keyboard, atau

lebih lengkapnya semua karakter yang terdapat pada code ASCII. Karakter yang

dimaksud yaitu karakter yang ditulis diantara tanda petik tunggal, seperti misalnya

: ‘A’ , ‘a’ , ‘!’ , ‘5’ dan sebagainya.

e. String

String adalah kumpulan dari beberapa karakter yang terletak diantara tanda

petik tunggal dan panjangnya tidak boleh lebih dari 255 karakter. Jika string

tersebut mengandung tanda kutip satu, maka tanda kutip tersebut harus diberi

tanda kutip lagi.

Page 14: Algoritma Dan Pemrograman

2. VARIABEL DAN KONSTANTA

a. Variabel

Variabel digunakan dalam program untuk menyimpan sebuah nilai, dan nilai

yang disimpan padanya dapat diubah selama eksekusi program berlangsung.

Setiap variabel mempunyai tiga atribut, yaitu nama, tipe, dan nilai. Namun

variabel adalah sebuah identifier yang ditentukan oleh programmer. Tipe variabel

menentukan jenis nilai/harga yang dipunyai atau melekat padanya. Untuk

menetukan nama dan tipe variabel yang akan digunakan pada program, maka

variabel harus dideklarasikan terlebih dahulu.

Betuk deklarasinya adalah :

VAR

Identifier-1 : tipe data;

Identifier–2 : tipe_data;

Identifier–3 : identifier–4, identifier–5, . . . : tipe_data;

. . .

Identifier–n : tipe_data;

b. Konstanta

Konstanta merupakan nilai yang sifatnya tetap dan nilai yang disimpan

padanya tidak dapat diubah selama eksekusi program berlangsung. Untuk

mrndefinisikan konstanta harus memakai kata kunci const dengan bentuk umum :

Const nama_kostanta = nilai;

Konstanta harus langsung diisi dengan sebuah nilai tertentu sebagai contoh :

Const phi = 3.14;

Page 15: Algoritma Dan Pemrograman

3. OPERATOR DAN EKSPRESI

Operator adalah lambang-lambang yang biasa dilibatkan dalam program untuk

melakukan suatu operasi atau manipulasi. Misalnya untuk perkalian, penjumlahan,

perbandungan, sedangkan ekspresi dapat berupa variabel, konstanta atau kombinasi

diantara variabel, konstanta dengan operator.

Contoh ekspresi :

a:= b + c – 2

Pada ekspresi ini a, b, dan c merupakan variabel yang berperan sebagai operand

sedangkan symbol :=, + dan – merupakan operator. Dalam hal ini variabel a diisi

dengan hasil penjumlahan dan c dikurangi 2.

Jenis-jenis operator :

a. Operator Assigment ( Pemberian Nilai )

Bentuk umum:

nama_variabel := ekspresi;

Statement tersebut akan menyimpan nilai ekspresi pada sebelah kanan operator

‘:=’, pada tempat penyimpanan yang ditunjukan oleh nama_variabel disebelah kiri

operator ‘:=’.

b. Operator Perbandingan

Operator perbandingan digunakan untuk membandingkan dua operand.

Operand yang dibandingkan bisa bertipe bilangan bulat, karakter, real, Boolean,

atau string. Ekspresi yang menggunakan operator perbandinagn akan

menghasilkan nilai Boolean (true atau false).

Operator Operasi Contoh Ekpresi Hasil

= Sama dengan a := 6 = 9 a = false

< > Tidak sama dengan a := 7 < > 5 a = true

< Lebih kecil dari a := 4 < 6 a = true

> Lebih besar dari a := 10 > 1 a = true

<= Lebih kecil atau sama dengan a := 8 < = 4 a = false

>= Lebih besar atau sama dengan a := 3 >= 1 a = true

Page 16: Algoritma Dan Pemrograman

c. Operator Aritmatika

Operator aritmatika hanya dapat dikenakan pada operand bertipe bilangan

bulat atau bilangan real. Ekpresi yang menggunakan operator ini pun hanya akan

menghasilkan nilai bilangan bulat atau real.

Operator Operasi Contoh Ekpresi Hasil

+ Penjumlahan x := 8 + 13

x := 4.3 + 2

x = 21

x = 6.3

- Pengurangan x := 15 – 2

x := 2.1 – 1.1

x = 12

x =1.0

* Perkalian x := 5 * 6

x := 2 . 0 * 1 . 1

x = 30

x = 2.2

/ Pembagian x := 6 / 4 x = 1.5

div Pembagian bilangan bulat x := 7 div 2 x = 3

mod Sisa pembagian bilangan bulat x := 7 mod 2 x = 1

d. Operator Logika

Operator ini dikenakan pada operand bertipe Boolean dan ekspresinya akan

menghasilkan nilai Boolean ( true atau false).

Operator Operasi

Not Bitwise negation ( negasi)

And Bitwise and (dan)

Or Bitwise or (atau)

xor Bitwise xor

Hasil operator not, and, or, dan xor untuk berbagai kombinasi kondisi.

A B Not A Not B A and B A or B A xor B

false false true True False False False

false True true False False true true

true False False true False true true

true True False False true true False

Page 17: Algoritma Dan Pemrograman

e. Opertor String

Pascal hanya mengenal satu macam operator string, yaitu penggabungan. Operator

ini digunakan untuk menggabungkan dua atau lebih operan string menjadi sebuah

string yang lebuh panjang. Symbol untuk operator ini sama dengan operator

penjumlahan (+).

4. OPERASI INPUT-OUTPUT

a. Operasi Input

Operasi input dilakukan untuk membaca data atau harga yang akan diproses.

Pembacaan data secara interaktif menggunakan piranti masukan (input devices)

seperti keyboard. Untuk melakukan opersi input dapat menggunakan perintah

read, readln, dan readkey.

1) Read

Perintah untuk membaca data yang dimasukan pemakai melalui

keyboard, data tersebut disimpan pada variabel. Pada statement ini posisi

kursor tidak pindah kebaris selanjutnya.

Sintaks : read(nama_variabel)

2) Readln

Perintah untuk membaca data yang dimasukan pemakai, pada statement

ini posisi kursor akan pindah kebaris selanjutnya setelah di input. Readln juga

bisa digunakan untuk menghentikan program (menunggu enter ditekan).

Sintaks : readln(nama_variabel)

Readln;

3) Readkey

Untuk pembacaan sebuah karakter dari keyboard. Tipe data yang

dihasilkan adalah char. Karakter yang dimasukan tidak ditampilkan dilayar.

Sintaks : nama_variabel=readkey;

b. Operasi Output

Operasi output dilakukan untuk mengirimkan data kepada piranti keluaran

(output device) seperti layar (monitor) dan printer. Untuk melakukan operasi

output dapat menggunakan perintah write atau writeln. Perbedaan write dan

writeln telah dibahas pada tugas 1.

Sintaks : write (parameter);

Writeln (parameter);

Page 18: Algoritma Dan Pemrograman

PROGRAM UJI PRAKTEK

1. PROGRAM IDENTITAS

A. Listing

B. Output

Page 19: Algoritma Dan Pemrograman

C. Analisis

- Pada Program yang pertama ditulis untuk judul program identitas (ketentuan

judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka

gunakan symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses, jika

tidak dituliskan juga tidak masalah. Karena uses diperlukan jika program

clrscr digunakan dan uses di ikuti dengan program crt dibawahnya diikuti

dengan tanda kutip di sampingnya.

- Variabel akan berfingsi jika akan dilakukan penyimpanan/ menginputkan

sebuah nilai, tipe, dan nama. Tetapi jika sebuah nilai yang tersimpan di

program tersebut dapat diubah selama eksekusi program berlangsung.

- Untuk variabel nama, npm, dan kelas termasuk tipe data string, karena nama,

npm, dan kelas termasuk kumpulan dari beberapa karakter, atau huruf.

- Selanjutnya begin untuk penyambung awal program.

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika

hasil RUN ada yang salah dan kembali di RUN maka berfungsilah CLRSCR.

- Writeln pertama berfungsi mencetak nama judul program yang di buat.

Contoh (Program Identitas Saya). Fungsi lain sama dengan fungsi enter.

- Selanjunya menuliskan write untuk melaksanakan perintah yang kita inginkan,

seperti : write (‘Masukan Nama Anda’); , dan tidak lupa diikuti dengan tanda

kutip diakhir perintah.

- Diikuti dengan readln disampingnya karena readln disampingnya berfungi

sebagai perintah untuk membaca data yang telah dimasukan pada variabel

yang berada diatasnya. Dan selajutnya posisi kursor akan pidah kebaris

selanjutnya jika sudah memasukan inputan.

- Perintah write, writeln, dan readln berfungsi sama dengan perintah diatas.

- Readline berfungsi untuk membaca program di akhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan diakhiri

dengan titik ( . ).

- Jika program akan dijalankan maka berfungsilah fungsi RUN di aplikasi

tersebut, atau dengan cara CTLR + F9.

Page 20: Algoritma Dan Pemrograman

2. PROGRAM SISI MIRING DARI SEGITIGA SIKU-SIKU

A. Listing

B. Output

Page 21: Algoritma Dan Pemrograman

C. Analisis

- Pada Program yang pertama ditulis untuk judul program mencari luas segitiga

siku-siku (ketentuan judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka gunakan

symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses, jika

tidak dituliskan juga tidak masalah. Karena uses diperlukan jika program clrscr

digunakan dan uses di ikuti dengan program crt dibawahnya diikuti dengan tanda

kutip di sampingnya.

- Variabel akan berfingsi jika akan dilakukan penyimpanan/ menginputkan sebuah

nilai, tipe, dan nama. Tetapi jika sebuah nilai yang tersimpan di program tersebut

dapat diubah selama eksekusi program berlangsung.

- Untuk variabel a, b, c, dan L termasuk tipe data real, karena a untuk alas, b untuk

tinggi, c untuk sisi miring, dan L untuk luas dan real termasuk tipe data bilangan

desimal.

- Selanjutnya begin untuk penyambung awal program.

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika hasil

RUN ada yang salah dan kembali di RUN maka berfungsilah CLRSCR.

- Writeln pertama berfungsi mencetak nama judul program yang di buat. Contoh

(Mencari Sisi Miring Dan Menghitnung Luas Segitiga Siku-Siku). Fungsi lain

sama dengan fungsi enter.

- Selanjunya menuliskan write untuk melaksanakan perintah yang kita inginkan,

seperti : write (‘Masukan panjang a’); , dan tidak lupa diikuti dengan tanda kutip

diakhir perintah.

- Diikuti dengan readln disampingnya karena readln disampingnya berfungi

sebagai perintah untuk membaca data yang telah dimasukan pada variabel yang

berada diatasnya. Dan selajutnya posisi kursor akan pidah kebaris selanjutnya

jika sudah memasukan inputan.

- Perintah write, writeln, dan readln berfungsi sama dengan perintah diatas.

- Jika ingin melakukan perintah akar, dalam turbo pascal maka inputkan sqrt

sebelum inputan tersebut di masukan, dan jika ingin melakukan perintah pangkat,

maka inputkan sqr sebelum inputan tersebut dimasukan.

Page 22: Algoritma Dan Pemrograman

- Jika hasil akhir medapatkan koma, maka masukan inputan (:0:2) supaya dapat

membaca hasil koma.

- Readline berfungsi untuk membaca program di akhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan diakhiri

dengan titik ( . ).

- Jika program akan dijalankan maka berfungsilah fungsi RUN di aplikasi tersebut,

atau dengan cara CTLR + F9.

3. PROGRAM ALGORITMA STILL HIDDEN

A. Listing

B. Output

Page 23: Algoritma Dan Pemrograman

C. Analisis

- Program pertama ditulis untuk judul program Still Hidden (ketentuan bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka gunakan

symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Selanjutnya aturan pembuatan program harus menuliskan ketentuan uses, jika

tidak dituliskan juga tidak masalah. Karena uses diperlukan jika program clrscr

digunakan dan uses di ikuti dengan program crt dibawahnya diikuti dengan tanda

kutip di sampingnya.

- Variabel akan berfingsi jika akan dilakukan penyimpanan/ menginputkan sebuah

nilai, tipe, dan nama. Tetapi jika sebuah nilai yang tersimpan di program tersebut

dapat diubah selama eksekusi program berlangsung.

- Untuk variabel a, b, c, dan ra termasuk tipe data integer, karena a untuk nilai dari

n div 3600, ra untuk nilai dari a mod 3600, b untuk nilai dari ra div 60, dan c

untuk nilai dari ra mod 60.

- Selanjutnya begin untuk penyambung awal program.

- Clrscr berfungsi sebagai penghapus hasil program yang telah di RUN jika hasil

RUN ada yang salah dan kembali di RUN maka berfungsilah CLRSCR.

- Writeln pertama berfungsi mencetak nama judul program yang di buat. Contoh

(Algoritma Still Hidden). Fungsi lain sama dengan fungsi enter.

- Selanjunya menuliskan write untuk melaksanakan perintah yang kita inginkan,

seperti : write (‘Masukan inputan a = ’); , dan tidak lupa diikuti dengan tanda

kutip diakhir perintah.

- Diikuti dengan readln disampingnya karena readln disampingnya berfungsii

sebagai perintah membaca data yang telah dimasukan pada variabel yang berada

diatasnya. Atau membaca untuk inputan yang akan dijalankan, contoh : readln

(n). Posisi kursor akan pidah kebaris selanjutnya jika sudah memasukan inputan.

- Perintah write, writeln, dan readln berfungsi sama dengan perintah diatas.

- Kemudian masukan a:= untuk n div 3600, dan sebagainya. yang fungsinya ( div

adalah hasil baginya, dan mod hasil sisa baginya).

- Readline berfungsi untuk membaca program di akhir statement.

- Di akhir program ditulis End untuk menutup statement. diakhiri dengan titik ( . ).

- Jika program akan dijalankan maka berfungsilah fungsi RUN di aplikasi tersebut,

atau dengan cara CTLR + F9.

Page 24: Algoritma Dan Pemrograman

4. Analisis Terhadap Program 2.6 Dan 2.7

a. Program 2.6

- Pada Program yang pertama ditulis untuk judul program data angka (ketentuan

judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka gunakan

symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Variabel akan berfungsi jika akan dilakukan penyimpanan/ menginputkan

sebuah nilai, tipe, dan nama. Tetapi jika sebuah nilai yang tersimpan di program

tersebut dapat diubah selama eksekusi program berlangsung.

- Pada program 2.6 tertulis variabel X, Y, Z yang termasuk tipe datanya char,

karena untuk X, Y, Z, pada tipe data char yang fungsinya merupakan tipe data

karakter atau bisa diartikan juga sebagai masukan satu huruf bukan kata.

- Selanjutnya begin untuk penyambung awal program.

- Write pertama berfungsi mencetak perintah yang akan dijalankan pada program

yang di buat. Di program 2.6 tertulis (masukan 3 buak karakter : ) . dan

disampingnya tertulis read (X, Y, Z) yang fungsinya untuk membaca yang

tertulis pada variabel. Disampingnya read tertulis writeln yang fungsinya

sebagai sama dengan enter.

- Selanjutnya yang berada dibawahnya tertulis writeln dan diawali dengan tanda

kurung, kemudian yang berada didalam kutip adalah sebuah kalimat perintah

yang akan di cetak. Contoh (‘karakter pertama =’). Dan selanjutnya pun sama.

- Perintah write, writeln, dan readln berfungsi sama dengan perintah diatas.

- Di program 2.6 tidak tertuliskan readln, maka program tersebut tidak dapat

dijalankan karena readline berfungsi untuk membaca program diakhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan diakhiri

dengan titik ( . ).

- Jika program akan dijalankan maka berfungsilah fungsi RUN di aplikasi

tersebut, atau dengan cara CTLR + F9.

- Contoh hasil yang akan tercetak : jika kita masukan 3 buah karakter misalnya

A B C maka program yang pertama A B C termasuk tipe data char dan program

tersebut akan membacanya pada karanter pertama A termasuk pada variabel X,

Y, Z maka tercetak karakter pertama A, dan selanjutnya pun sama.

Page 25: Algoritma Dan Pemrograman

b. Program 2. 7

- Pada Program yang pertama ditulis untuk judul program jumlah bilangan

(ketentuan judul bebas).

- Nama judul tidak boleh dengan spasi, jika nama judul ada 2 kata maka gunakan

symbol underscore ( _ ).

- Setelah penulisan program diharuskan mengunakan titik koma ( ; ).

- Variabel akan berfungsi jika akan dilakukan penyimpanan/ menginputkan

sebuah nilai, tipe, dan nama. Tetapi jika sebuah nilai yang tersimpan di program

tersebut dapat diubah selama eksekusi program berlangsung.

- Pada program 2.7 tertulis variabel angka1 dan angka2 yang termasuk tipe

datanya integer, karena untuk angka1 dan angka2 pada tipe data integer yang

fungsinya merupakan tipe data bilangan bulat.

- Selanjutnya begin untuk penyambung awal program.

- Writeln pertama berfungsi mencetak perintah yang akan dijalankan pada

program yang di buat. Di program 2.7 tertulis (‘input angka pertama : ‘) dan

fungsi lain sebagai enter . dan disampingnya tertulis readln (angka1) yang

fungsinya untuk membaca yang tertulis pada variabelnya yang termasuk tipe

datanya integer.

- Writeln selanjutnya yang akan dicetak (‘input angka kedua ; ’)dan prosesnya

pun sama dengan yang pertama.

- Writeln selanjutnya akan tercetak ( angka1+angka2) yang akan terproses inputan

yang dimasukan pada angka1 akan ditambahkan dengan inputan angka2.

- Di program 2.7 tertuliskan readln, maka program tersebut dapat dijalankan

karena readline berfungsi untuk membaca program diakhir statement.

- Pada akhir program harus di tulis End untuk menutup statement. Dan diakhiri

dengan titik ( . ).

- Jika program akan dijalankan maka berfungsilah fungsi RUN di aplikasi

tersebut, atau dengan cara CTLR + F9.

- Contoh hasil yang akan tercetak : jika kita masukan input angka pertama

misalnya 23 maka program yang pertama 23 termasuk tipe data integer maka

akan tercetak 23, dan yang kedua jika di inputkan 50 maka akan membaca 50

termasuk pada tipe data integer.

- Dan program tersebut akan berjalan pada inputan pertama akan di tambahkan

dengan inputan kedua ( 23 + 50 yang hasilnya 73) maka program berakhir.

Page 26: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 3)

ANALISIS KASUS (PEMILIHAN)

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 27: Algoritma Dan Pemrograman

 

PEMBAHASAN

“ANALISIS KASUS (PEMILIHAN)”

DASAR TEORI

Analisi kasus adalah konstruktor terpenting dalam algoritma pemograman sehingga

membuat teks algoritma yang sama dapat menghasilkan eksekusi yang berbeda-beda. Setiap

statement dalam pascal normalnya dijalankan secara sekuensial (beruntun), dari atas kebawah

seperti yang tertulis pada source code programnya. Analisi kasus dapat merubah urutan

eksekusi.

Jika kita medefinisikan analisis kasus berarti juga mendefinisikan :

o Kondisi : yang berupa suatu ekspresi Boolean yang menghasilkan true atau false.

o Aksi : yang akan dilaksanakan jika kondisi yang dipadangkan dengan aksi yang

bersangkutan dipenuhi.

Suatu aksi hanya akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang

bersangkutan terpenuhi (bernilai true). Penentuan kondisi Boolean dan aksi yang dilakukan

bergantung pada jumlah kasus yang terdapat pada masalah tersebut.

Ungkapan kondisi dapat dihasilkan dengan operator perbandingan dan operator logika.

Ungkapan kondisi dapat dibentuk dengan mengkombinasikan operand yang bertipe sama

dengan salah satu operator.

Contoh Kondisi

x > y

a + b > 1

str = “daspro’

ketemu = true

i >= 100

not true

(x < 0) and (y > 20)

(x < 0) or (y > 20)

Page 28: Algoritma Dan Pemrograman

1. STRUKTUR IF . . . THEN

a. Satu Kasus

Bentuk ini menunjukan, jiak (if) kondisi yang diseleksi adalah benar

(true) maka statement yang mengikutinya akan diproses. Sebaliknya jika tidak

benar (false) maka statement berikutnya tidak diproses.

Sintaks Dalam Pascal

if kondisi then

aksi ;

if kondisi then

begin

aksi1;

aksi2;

. . .

End;

Jika kondisi true (benar), maka aksi dikerjakan. Jika kondisi false (tidak

benar) maka tidak terjadi apa-apa (efek neto “kosong”).

a.a Menerima masukan sebuah nama, jika nama tidak diisi tampikan pesan.

Program Nama;

Var

Nama : string;

Begin

Write (‘ketikkan Nama Anda : ‘);

Readln (nama);

If nama = ‘ ‘ then

Writeln (‘Isi Dulu Nama Anda!!!!!’);

Readln;

End.

Contoh tampilan pada layar

{Kasus 1}

Ketikkan Nama Anda : Hendra Pratama

{Kasus 2}

Ketikan Nama Anda :

Isi Dulu Nama Anda!!!!!

b. Dua Kasus Kompelementer

Sintaks untuk analisis dengan dua kasus adalah dengan menggunakan struktur

IF-ELSE.

Page 29: Algoritma Dan Pemrograman

Sintaks Dalam Pascal

If kondisi then

Aksi1

Else

Aksi 2;

If kondisi then

Begin

Aksi1;

. . . .

end

Else

begin

Aksi 2;

. . . .

End;

Aksi1 akan dilaksanakan jika kondisi bernilai true (benar), tetapi jika kondisi

bernilai false (salah), maka aksi2 yang akan dilaksanakan. ‘else’ menyatakan

ingkaran/negasi dari kondisi.

c. Tiga Kasus Atau Lebih If kondisi1 then

Aksi1

Else

If kondisi2 then

Aksi 2;

Else

Aksi 2;

{endif}

{endif}

If kondisi1 then begin Aksi1; Aksi 2; . . .

end

Else

If kondisi2 then

Aksi 3

Else

If kondisi3 then

Aksi 4

Else

Aksi 5;

{endif}

{endif}

{endif}

2. STRUKTUR CASE . . . OF

Struktur case . . . OF dapat menyederhanakan penulisan IF-ELSE yang bertingkat-

tingkat pada permasalahan dengan dua kasus atau lebih,. Sintaks Dalam Pascal

Case nama_variabel of

Nilai 1 : aksi

Case nama_variabel of

Nilai 1 : begin

Page 30: Algoritma Dan Pemrograman

1;

Nilai 2 : aksi

2;

. . .

Nilai N : aksi N;

[else aksi X;]

End;

aksi 1;

aksi 1;

. . .

End;

Nilai 2 : aksi 3;

. . .

Nilai N : aksi N;

[else aksi X;]

End;

o Nama_Variabel sudah di deklarasikan sebelumnya dan sudah berisi nilai

tertentu yang memiliki tipe data yang sama dengan nilai1, nilai2, . . . , nilaiN

o Nilai1, nilai2, . . . , nilaiN adalah yang bertipe integer, char, atau Boolean.

PROGRAM HASIL PRAKTEK

1. Program Determinan

A. Listing

Page 31: Algoritma Dan Pemrograman

B. Output

C. Analisis

Program ini adalah program untuk mencari nilai determinan dan nilai bilangannya .struktur dari program ini adalah variabel a,b,c,d dengan tipe integer kemudian determ dengan tipe string .Dibagian deskripsi dituliskan perintah write untuk menuliskan pada piranti keluaran yang perintahnya adalah untuk menginputkan data yang dibutuhkan stelah itu dilakukan perhitungan dan selanjutnya adalah penentuan nilai dari hasil bilangan yang telah dialkukan baik itu negative ,positif atau nilai nol dengan menggunakan struktur if …then …else pada dua kasus atau lebih kemudian perintah endif sebanyak tiga kali ,sebelum diakhir program dituliskan perintah writeln untuk menghasilkan keluaran berupa hasil determinannya ,kemudian perintah end untuk mengakhiri program ini .

2. Indeks Nilai Mahasiswa

A. Listing

Page 32: Algoritma Dan Pemrograman

B. Output

C. Analisis

Program ini merupakan program untuk mengetahui nilai mahasiswa dengan menginputkan nama.npm dan juga nilai yang diperoleh oleh mahasiswa tersebut.strukturnya yaitu variable nama dengan tipe string,variabel nim dengan tipe logint,variabel nilai ujian dengan tipe real dan yang terakhir yaitu variabel indeks dengan tipe char.Pada bagian deskripsi dituliskan perintah writeln untuk menampilkan keluaran tuliskan nama dan readln untuk membaca inputan yang telah dituliskan ,kemudian struktur if then else untuk melakan perhitungan dengan memasukan ketentuan-ketentuan nilai yang dijadikan sebagai patokan bagi kriteria nilai.di akhir struktur di tuliskan perintah endif sebanyak empat dan writeln untuk menuliskan hasilnya .

3. Program Luas

A. Listing

Page 33: Algoritma Dan Pemrograman

4.

B. Output

C. Analisi

Progpanjangdengan untuk mwrite udan remenggu.dengandata di tiap pilwriteln .diakhir

Modifikasi

t

is

gram ini dg,dan lingka

tipe real..Pmenampilkauntuk memeeadln untuunakan casen menuliskabaca .dan kihan yang duntuk men

r program d

i Program

dibuat untukaran,denganPada bagianan keluaranerintahkan pk membace of .yaitu an perintah kemudian ddipilih pada

nampilakan dituliskan pe

k melakukan variabel p,n deskripsi

n menu danpengguna uca data yperhitunganwrite untu

data tersebua bagian mekeluaran jik

erintah end

an perhitung,pj,lb,s deng program i

n pilihan peuntuk mem

yang di inn dari ketig

uk memasukut diolah sehenu. Di akhka penggununtuk meng

gan luas bugan tiper inini dituliskaerhitungan .

masukan datnputkan .stga pilihan pkan data .khingga menhir struktur na memasukgakhiri prog

ujursangkarnteger dan van perintah.kemudian ta yang dibtruktu selaperhitungankemudian stnghasilkan l

dituliskan kan data yangram ini .

r,persegi variabel l h writeln perintah

butuhkan anjutnya n di atas telah itu luas dari perintah ng salah

Latihan Noomor 2

Page 34: Algoritma Dan Pemrograman

Pada program latihan nomor 2, tidak bisa diubah strukturnya menjadi struktur Case-Of, karena terdapat struktur program untuk Input, dan Output. Jika tidak ada input dan output, dan program tersebut hanya menuliskan nilai dan indeksnya saja ,tanpa ada input dan output nya , maka program ini bisa diubah menjdai struktur Case-Of.

5. Analisis Terhadap Program 3.5 Dan 3.7

Program 3.5 Pada program 3.5 terdapat inputan yaitu suhu dan proses outputnya adalah

wujud air yang bertipe stirng .Proses yang dikerjakan program ini yaitu menentukan wujud air dengan memasukan data suhu air pada piranti masukan ,bila suhu air itu <=0 maka wujudnya beku ,jika suhu air >0 dan <=100 maka wujudnya adalah cair dan jika suhu airnya >100 maka wujud airnya adalah uap. Program 3.7

Pada program ini inputannya adalah nilai x dan c dan outputnya adalah hasi hitungan yang berupa sinus ,cosinus dan tangen. Program ini melakukan prosesnya dengan kita memasukan angka yang akan diproses dan kemudian setelah angka dimasukan maka akan muncul pilihan menu untuk memilih perhitungan yang akan diguanakan .dan setelah pengguna memilih perhitungannya maka hasilnya akan muncul .

 

 

 

 

 

 

 

 

 

 

Page 35: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 4)

PENGULANGAN

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 36: Algoritma Dan Pemrograman

PEMBAHASAN

PENGULANGAN DASAR TEORI

Pengulangan dalam program didefinisikan sebagai bentuk alogoritma yang berfungsi

untuk mengulang perintah-perintah baris program dengan aturan tertentu.

Pascal menyediakan beberapa macam struktur pengulangan berbeda, antara lain;

1. Struktur FOR

Struktur FOR digunakan untuk menghasilkan pengulangan sejumlah kali tanpa

penggunaan kondisi apapun. Struktur ini untuk perulangan yang telah diketahui

berapa kali akan dilakukan. Misalnya menjumlahkan integer 1 sampai dengan 1000,

akan diperlukan sebanyak 1000 perulangan. Bentuk umum struktur FOR ada dua

macam: menaik dan menurun.

a. For Menaik(Ascending)

Bentuk Umum: For variable := ekspresi1 to ekspresi2 do

Aksi1;

For variable := ekspresi1 to ekspresi2 do

Begin

Aksi2;

Aksi2;

. . .

End;

Program 4.1 program menampilkan kalimat (string) sebanyak 10 kali program kalimat;

var

x:integer; {x berfungsi sebagai variable pencacah}

begin

for x:=1 to 10 do

begin

write(x);

writeln(' Halo, Selamat Membaca!!!');

end;

readln;

end.

Page 37: Algoritma Dan Pemrograman

Program 4.2 program menghitung total jumlah dari deret angka (banyaknya

deret diinputkan oleh user) program jumlah_deret;

var

i, N, jumlah:integer;

begin

write('banyaknya deret: '); readln(N);

jumlah:=0;

for i:=1 to N do

begin

write(i);

jumlah:=jumlah+i;

end;

writeln;

write('total jumlah deret= ',jumlah);

readln;

end. Keterangan:

- Variable adalah nama identifier yang berfungsi sebagai pengontrol cacah

pengulangan. Variable control dapat bertipe integer atau char.

- Ekspresi1 adalah ungkapan untuk memberikan nilai awal untuk

pengulangannya.

- Ekspresi2 adalah ungkapan untuk memberikan nilai akhir untuk

pengulangannya.

- Ekspresi1 harus lebih kecil atau sama dengan ekspresi2.

- Pengulangan akan dilaksanakan sebanyak ((ekspresi2-ekspresi1)+1) kali.

- Tipe data variable harus sama dengan tipe data ekspresi.

b. For Menurun(Desscending)

Betuk Umum: For variable := ekspresi2 downto ekspresi1 do

Aksi1;

For variable := ekspresi2 downto ekspresi1 do

Begin

Aksi1;

Aksi2;

. . .

End;

Page 38: Algoritma Dan Pemrograman

Keterangan:

- Pengulangan akan dilaksanakan sebanyak ((ekspresi1-ekspresi2)+1) kali.

- Ekspresi1 harus lebih besar dari ekspresi2.

- Keterangan lain sama pada keterangan For Menaik.

Program 4.3 menampilkan 5 karakter pertama pada alphabet mulai dari ‘e’-‘a’ program tulis_karakter;

var

kar:char; {kar berfungsi sebagai variable pencacah}

begin

for kar:='e' downto 'a' do

write(kar);

readln;

end.

c. Struktur For Bersarang

Perulangan For Bersarang adalah perulangan For yang berada pada perulangan

For yang lainnya. Perulangan yang lebih dalam akan diproses terlebih dahulu

sampai habis, kemudian perulangan yang lebih luar baru akan bertambah,

mengerjakan perulangan yang lebih dalam lagi mulai dari nilai awalnya dan

seterusnya.

Untuk perulangan bersarang ini, tiap-tiap statmen for harus menggunakan

variable control pengulangan yang berbeda satu dengan yang lainnya.

Program 4.4 contoh program yang menggunakan for bersarang program contoh;

var

i, j:integer;

begin

for i:=1 to 3 do

begin

write('i= ',i); writeln;

for j:=1 to 4 do

writeln('j= ',j);

end;

readln;

end.

Program 4.5 program menampilkan sekumpulan data ‘*’ dengan bentuk tertentu.

Page 39: Algoritma Dan Pemrograman

program bintang;

uses crt;

var

i, j, n:integer;

begin

clrscr;

write('jumlah baris(>0): '); readln(n);

for i:=1 to n do

begin

for j:=1 to i do

write('*');

writeln;

end;

readln;

end.

2. Struktur WHILE-DO

While digunakan untuk pengulangan yang mempunyai jumlah pengulangan

yang tidak dipastikan sebelumnya.

Bentuk Umum:

While kondisi do

Aksi;

While kondisi do

Begin

Aksi1;

Aksi2;

. . .

End;

Penjelasan:

- Kondisi = kondisi pengulangan

- Aksi (runtunan aksi) akan dilaksanakan berulang kali sepanjang ‘kondisi’ boolean

yang diseleksi di statmen while masih tetap bernilai true. Jika hasil pengecekan

‘kondisi’ bernilai false maka pengulangan selesai.

Page 40: Algoritma Dan Pemrograman

Program 4.6 mencetak kata pascal sebanyak 10 kali dengan struktur While-Do program cetakkata;

var

i:integer;

begin

i:=0;

while (i<10) do

begin

write(' Pascal');

i:=i+1;

end;

readln;

end. Program 4.7 program menghitung total jumlah dari sejumlah nilai yang di inputkan.

program hitung_jumlah_nilai;

{menghitung total jumlah dari sejumlah nilai yang diinputkan oleh user}

var

i:integer;

nilai, N, jumlah:integer;

begin

write('banyaknya nilai: '); readln(N);

i:=1; {inisialisasi}

jumlah:=0;

while i<=N do

begin

write('nilai ke- ',i,': '); readln(nilai);

jumlah:=jumlah+nilai;

i:=i+1;

end;

{kondisi berhenti : i>N}

writeln('total jumlah= ',jumlah);

readln;

end.

Page 41: Algoritma Dan Pemrograman

3. Struktur REPEAT-UNTIL

Bentuk Umum:

Repeat

Aksi1;

Aksi2;

. . .

Until kondisi

Penjelasan:

- Kondisi = kondisi berhenti

- Struktur ini mendasarkan pengulangan pada kondisi berhenti. Aksi didalam badan

pengulangan di ulang sampai hasil pengecekan kondisi berhenti boolean bernilai

true. Jika hasil pengecekan kondisi berhenti masih false pengulangan masih terus

dilakukan.

Program 4.8 mencetak kata pascal sebanyak 10 kali dengan struktur Repeat-Until

program cetakkata;

var

k:integer;

begin

k:=0;

repeat

write(' Pascal');

k:=k+1;

until (k>=10);

readln;

end.

Page 42: Algoritma Dan Pemrograman

4. While-Do atau Repeat-Until?

While-Do dan Repeat-Until memiliki makna yang sama, akan tetapi pemilihan

struktur yang tepat perlu dilakukan tergantung masalah yang akan deprogram karena

tidak semua program permasalahan dapat dipecahkan dengan baik menggunakan

kedua struktur tersebut. Perlu diingat bahwa perbedaan antara struktur REPEAT-

UNTIL dengan WHILE-DO, yaitu:

a. Pada struktur REPEAT-UNTIL, aksi( sekumpulan aksi) dilaksanakan minimal

satu kali, karena kondisi pengulangan diperikasa pada akhir struktur, sedangkan

b. Pada WHILE-DO, kondisi pengulangan diperiksa pada awal struktur sehingga

memungkinkan pengulangan tidak akan pernah dilaksanakan bila kondisi

pengulangan bernilai false.

Contoh perbandingan:

Program 4.9 memilih isi menu

program menu;

uses crt;

var

choice: integer;

begin

clrscr;

writeln('menu');

repeat

writeln('1. baca data');

writeln('2. cetak data');

writeln('3. ubah data');

writeln('4. hapus data');

writeln('5. keluar program');

write('pilihan menu <1-5> : '); readln(choice);

case choice of

1: writeln('anda pilih menu baca data');

2: writeln('anda pilih menu cetak data');

3: writeln('anda pilih menu ubah data');

4: writeln('anda pilih menu hapus data');

5: writeln('keluar program, selamat jalan!');

else writeln('pilihan menu salah!!!');

Page 43: Algoritma Dan Pemrograman

end;

writeln;

until choice=5;

end. program menu;

uses crt;

var

choice: integer;

begin

clrscr;

writeln('menu');

choice:=0;

while choice<>5 do

begin

writeln('1. baca data');

writeln('2. cetak data');

writeln('3. ubah data');

writeln('4. hapus data');

writeln('5. keluar program');

write('pilihan menu <1-5> : '); readln(choice);

case choice of

1: writeln('anda pilih menu baca data');

2: writeln('anda pilih menu cetak data');

3: writeln('anda pilih menu ubah data');

4: writeln('anda pilih menu hapus data');

5: writeln('keluar program, selamat jalan!');

else writeln('pilihan menu salah!!!');

end;

writeln;

end;

end.

Struktur Repeat-Until lebih tepat untuk permasalahan tersebut sebab menu

ditampilkan lebih dahulu baru kemudian nomor pilihan menu dibaca. Pemeriksaan

kondisi pengulangan dilakukan di akhir sampai choice yang dibaca adalah 5.

Sedangkan penggunaan While-Do mengharuskan variable choice harus diinisialisasi

dengan sebuah nilai (asal bukan 5) agar kondisi pengulangan bernilai true.

Page 44: Algoritma Dan Pemrograman

5. PROGRAM UJI PRAKTEK

1. Buat program untuk mengalikan N bilangan integer positif pertama menggunakan

struktur For dan While-Do! (N merupakan inputan dari user)

Contoh:

[input]

N=5

[output]

Hasil perkalian=120

2. Buat program yang menerima masukkan jumlah baris dari user. Kemudian

tampilkan gambar bintang berdasarkan jumlah baris yang diinputkan. Contoh

tampilan jika input=5

*

* *

* * *

* * * *

* * * * *

3. Modifikasi program 4.7 dengan mengubah struktur pengulangan menjadi Repeat-

Until

4. Buat program yang menerima masukan jam dan menit sampai jam dan menit yang

diinputkan valid (jam valid 1-24; menit valid 0-59) dengan struktur While-Do dan

Repeat-Until. Kemudian lakukan analisa untuk menentukan struktur pengulangan

mana yang paling baik untuk menyelesaikan permasalahan tersebut!

Contoh:

Kasus 1 Kasus 2

[input] [input]

Waktu (jam menit) : 12 70 Waktu (jam menit) : 22 10

[output] [output]

Waktu (jam menit) : 36 14

Waktu (jam menit) : 10 14

Waktu valid

Waktu valid

5. Tuliskan program untuk menampilkan semua bilangan yang habis dibagi 3 atau 5

antara 1-n (n diinputkan oleh user) dengan menggunakan struktur For-Do, While-

Page 45: Algoritma Dan Pemrograman

Do dan Repeat-Until. Kemudian lakukan analisa untuk menentukan struktur

pengulangan mana yang paling baik untuk menyelesaikan permasalahan tersebut!

6. Buat program untuk menampilkan bilangan prima antara 1 sampai 20!

[output]

2,3,5,7,11,13,17,19.

Kata kunci: bilangan prima adalah bilangan yang hanya bias dibagi 1 dan dirinya

sendiri kecuali 1

7. Modifikasi latihan modul 3 pada nomor 3 sehingga program tersebut dapat

menerima input pilihan menu selama user belum memutuskan untuk keluar dari

program! (ada tambahan pilihan menu nomor 4, jika user memilih menu nomor 4

maka eksekusi program akan berhenti)

6. HASIL PRAKTEK

1. Program

Program FOR-DO

a. Listing

b. Output

Page 46: Algoritma Dan Pemrograman

c. Analisis

Program ini menggunakan struktur for menaik dan while-do .program

ini dibuat untuk menampilkan N bilangan integer positif pertama dengan

perintah untuk memasukan data yang akan diproses kemudian data tersebut

akan di proses sehingga mucul hasil yang diinginkan .struktur dari program ini

dengan variabel i bertipe integer dan nilai, N, jumlah dengan tipe real .di awal

deskripsi ,dituliskan perintah untuk memasukan data bagi user kemudian

membacanya dan data tersebut diproses .

d. Listing Program WHILE-DO

e. Output

f. Analisis

Program ini menggunakan struktur for menaik dan while-do .program

ini dibuat untuk menampilkan N bilangan integer positif pertama dengan

perintah untuk memasukan data yang akan diproses kemudian data tersebut

akan di proses sehingga mucul hasil yang diinginkan .struktur dari program ini

dengan variabel i bertipe integer dan nilai, N, jumlah dengan tipe real .di awal

deskripsi ,dituliskan perintah untuk memasukan data bagi user kemudian

membacanya dan data tersebut diproses .

Page 47: Algoritma Dan Pemrograman

2. Segitiga Bintang

a. Listing

b. Output

c. Analisis

Program ini dibuat untuk menampilkan bintang .dengan user

menentukan masukan data maka program ini akan menampilkan bintang

sesuai inputan yang dimasukan user pada piranti masukan .kemudian struktur

dari program ini memiliki variabel N,i,j,k dengan tipe integer,kemudian

bagian deklarasinya dituliskan perintah write untuk memasukan data oleh user

program ini menggunakan struktur for menaik.struktur for digunakan untuk

menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapun

.struktur ini di gunakan untuk perulangan yang telah diketahui beberapa kali

akan dilakukan .misalnya menjumlahkan integer 1 sampai 1000 ,akan

diperlukan sebanyak 1000 perulangan.

Page 48: Algoritma Dan Pemrograman

3. Modifikasi Program 4.7

a. Listing

b. Output

c. Analisis

Program ini menggunakan struktur repeat until ,struktur pada deklarasi

menggunakan ropeat until dan hasil yang diinginkan hampir sama dengan

menggunakan while –do.seperti halnya pada program 4.7 user diminta untuk

memasukan data untuk banyaknya nilia yang akan dijumlahkan dengan

mengisi pada banyaknya nilai .contoh .user memasukan nilai tiga ,maka

program akan menampilkan untuk pengisian sebanyak tiga pula sesuai dengan

nilai banyaknya nilai yang dimasukan oleh user .

4. Program Waktu

a. Listing (While-Do)

Page 49: Algoritma Dan Pemrograman

b. Output

c. Analisis

Program ini dibuat untuk menerima masukan jam dan menit sampai

jam dan menit yang diinputkan bernilai valid .program ini menggunakan

struktur repeat until.program ini memerintahkan user untuk memasukan jam

dan menit untuk di proses apakan bernilai valid atau tidak.struktur deklarasi

dari proram ini yaitu dengan variabel jam dan menit bertipe integer karena

data yang akan d inputkan berupa angka bilangan bulat.

d. Listing ( Repeat UNTIL)

e. Output

f. Analisis

Program ini dibuat untuk menerima masukan jam dan menit sampai

jam dan menit yang diinputkan bernilai valid .program ini menggunakan

struktur repeat until.program ini memerintahkan user untuk memasukan jam

dan menit untuk di proses apakan bernilai valid atau tidak.struktur deklarasi

dari proram ini yaitu dengan variabel jam dan menit bertipe integer karena

data yang akan d inputkan berupa angka bilangan bulat.

Page 50: Algoritma Dan Pemrograman

5. Program bilangan

a. Listing While - Do

b. Output

c. Analisis

Program  ini  menggunakan  struktur  for  bersarang  dan  struktur  ini 

dianggap  lebih  efektif  untuk  menyelesaikan  kasus  yang  seperti  ini  .  user 

diminta untuk memasukan data untuk proses apakah bilangan tersebut habis 

dibagi lima ,tiga atau tidak..struktur dari program ini dengan bagian deklarasi 

memiliki  variabel  i,N  bertipe  integer  karena  data  yang  di  iniputkan  berupa 

bilangan bulat . 

d. Listing For – Do

Page 51: Algoritma Dan Pemrograman

e. Output

f. Analisis

Program  ini  menggunakan  struktur  for  bersarang  dan  struktur  ini 

dianggap  lebih  efektif  untuk  menyelesaikan  kasus  yang  seperti  ini  .  user 

diminta untuk memasukan data untuk proses apakah bilangan tersebut habis 

dibagi lima ,tiga atau tidak..struktur dari program ini dengan bagian deklarasi 

memiliki  variabel  i,N  bertipe  integer  karena  data  yang  di  iniputkan  berupa 

bilangan bulat . 

g. Listing Repeat – Until

h. Output

i. Analisis

Program  ini  menggunakan  struktur  for  bersarang  dan  struktur  ini 

dianggap  lebih  efektif  untuk  menyelesaikan  kasus  yang  seperti  ini  .  user 

diminta untuk memasukan data untuk proses apakah bilangan tersebut habis 

dibagi lima ,tiga atau tidak..struktur dari program ini dengan bagian deklarasi 

memiliki  variabel  i,N  bertipe  integer  karena  data  yang  di  iniputkan  berupa 

bilangan bulat . 

Page 52: Algoritma Dan Pemrograman

6. Program Bilangan Prima

a. Listing

b. Output

c. Analisis

Program  ini  di  buat  untuk  menampilkan  bilangan  proma  dari  1‐

20.program  ini  menggunakan  struktur  dari  for  bersarang  .yang  dimana 

struktunya adalah writeln untuk menampilkan tulisan “menampilkan bilangan 

prima  “.kemudian  melakukan  perhitungan  dengan  menggunakan  struktur 

dari  for  bersarang  ini  kemudian  di  akhir  dituliskan  perinta  write  untuk 

menampilkan hasil atau untuk menampilkan bilangna prima dari satu sampai 

suapuluh.  Dan  di  akhir  program  dituliskan  perintah  end  untuk mengakhiri 

program ini . 

 

 

Page 53: Algoritma Dan Pemrograman

7. Modifikasi Terharap Nomor 3

a. Listing

b. Output

c. Analisis

Program ini dibuat untuk menentukan luas bujur sangkar,luas

lingkaran,dan persegi panjang.dengan menggunakan tampilan menu yang

seperti pada contoh program 4.9.dalam program ini user diminta untuk

memilih dari menu yang telah disediakan .baik itu menu luas lingkaran.persegi

panjang.atau luas bujur sangkar. Program ini dapat menerima input pilihan

menu selama user belum memutuskan keluar dari program. dengan struktur

repeat until. Kondisi=kondisi berhenti,struktur ini mendasarkan pengulangan

pada kondisi berhenti. Aksi di dalam badan pengulangan diulang sampai hasil

pengecekan kondisi berhenti boolean bernilai true. Jika hasil pengecekan

kondisiberhenti masih fase(salah), pengulangan masih terus dilakukan.

Page 54: Algoritma Dan Pemrograman

 

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 5)

RECORD DAN ARRAY

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

Page 55: Algoritma Dan Pemrograman

 

PEMBAHASAN

RECORD DAN ARRAY

DASAR TEORI

1. RECORD

Record adalah salah stu tipe data terstruktur yang berguna untuk

mengelompokkan sejumlah elemen data dengan tipe berlainan. Elemen data ini biasa

disebut field. Struktur umum pendeklarasian record pada Pascal sebagai berikut : type Nama_record = record

namafield1 : tipe1;

namafield2 : tipe2;

. . .

Namafieldn : tipen;

end;

Apabila suatu record telah dideklarasikan, maka record ini dapat digunakan

untuk mendefinisikan suatu variabel dengan aturan :

var

Nama_variabel : nama_record;

Contoh : var

t : titik;

h : r_tanggal;

mhs : mahasiswa;

Anggota atau field pada record yang sudah dibuat variabelnya dapat diakses

dengan menggunakan bentuk sebagai berikut : nama_variabel_record.nama_field

contoh : t.x := 2;

t.y := 4;

Page 56: Algoritma Dan Pemrograman

2. ARRAY

Array (larik) merupakan tipe data terstruktur yang dapat menyimpan sejumlah

data yang bertipe sama dengan menggunakan nama yang sama. Setiap elemen array

mempunyai indeks. Dengan menggunakan indeks ini, setiap elemen array dapat

diakses secara tersendiri.

Keadaan tersebut dapat diilustrasikan sebagai sebuah asrama mahasiswa yang

kamarnya mempunyai nomor urut dan dihuni oleh seorang mahasiswa. Seorang

mahasiswa dapat dibedakan dengan nomor urut kamarnya. Asrama mahasiswa adalah

arraynya, elemen-elemen asrama bertipe sama yaitu mahasiswa, dan nomor kamar

adalah indeksnya, array dapat dibedakan menjadi array berdimensi satu, array

berdimensi dua, dan array berdimensi banyak. Tetapi pada modul ini yng akan

dibahas hanya array berdimensi satu.

a. Array Berdimensi Satu

Pada array jenis ini, setiap elemen array diakses dengan menggunakan sebuah

indeks.

Contoh array berdimensi satu dengan 5 elemen data :

Elemen

Array 1 2 3 4 5

Bentuk umum deklarasi array berdimensi satu : Nama_array : array [tipe ordinal indeks] of tipe_elemen

Tipe ordinal indeks adalah jangkauan indeks [IndeksMin . . IndeksMaks] bisa

berupa integer atau char. Sedangkan tipe_elemen adalah jenis data yang

dapat disimpan dalam array, tersebut bisa berupa tipe data dasar maupun

bentukan.

Contoh deklarasi array :       var

Data : array [1 . . . 5] of integer;

Huruf : array [1 . . . 20] of char;

Frek : array [‘a’ . . . ‘z’] of integer;

Dengan pendeklarasian diatas, array Data dapat menampung lima elemen data 

bertipe integer, array Huruf dapat menampung 20 elemen bertipe character, array 

Frek dapat menampung 26 elemen bertipe integer. 

 

Page 57: Algoritma Dan Pemrograman

 

Pengaksesan array berdimensi satu dilakukan dengan menggunakan notasi : 

namaVariabelArray [IndeksArray];

 

contoh :  Array Data 

9  5  8  1  6     Elemen Array  

    Indeks          1      2       3`           4            5 

Maka :

Data [1] = 9

Data [2] = 5

Data [3] = 8

Data [4] = 1

Data [5] = 6

Page 58: Algoritma Dan Pemrograman

3. PROGRAM UJI PRAKTEK

1) Data Mata Kuliah

a. Listing

b. Output

c. Analisis

Program data_mk, Nama sebuah program (program ini bernama data

mk). Uses, Semua unit yang ada ditulis disini. Type, Semua nama tipe

bentukan terstruktur ditulis disini. Kuliah=record, Menyatakan kuliah disini

tipe data bentukan terstruktur yang menyatukan beberapa variable yang

berbeda. Kode_mk,nama_mk:string, kode_mk,nama_mk disini string

(kumpulan karakter). Sks:integer, sks disini integer (bilangan bulat). End,

Perintah untuk mengakhiri program. Var, Semua variable global ditulis disini.

Begin, Perintah untuk memulai blok program utama. End, Perintah untuk

mengakhiri sebuah program.

Page 59: Algoritma Dan Pemrograman

2) Diagram Cartesius

a. Listing

b. Output

c. Analisis

program diagram_cartesian, Nama sebuah program (program ini

bernama diagram Cartesian). type, Semua nama tipe bentukan ditulis disini.

titik1=record, Menyatakan titik1 disini tipe data bentukan yang

menggabungkan tipe data berbeda. end, Perintah untuk mengakhiri program.

write('Koordinat Titik Pertama : '); readln(t1.x1,t1.y1), Menuliskan output

Koordinat Titik Pertama dan menuliskan inputan t1.x1,t1.y1 (tipe data

bentukan record). write('Koordinat Titik Kedua : '); readln(t2.x2,t2.y2),

Menuliskan output Koordinat Titik Kedua dan menuliskan inputan t2.x2,t2.y2

(tipe data bentukan record).

Page 60: Algoritma Dan Pemrograman

3) Program Menyimpan Bilangan Bulat

a. Listing

b. Output

c. Analisis

Program simpan_bilangan_bulat, Nama sebuah program (program ini

bernama simpan bilangan bulat). Integer, I,n disini integer (bilangan

bulat). Angka:array [1..100] of integer, angka disini tipe data terstruktur

yang menggabungkan beberapa variable yang sama yang berupa integer.

Begin, Perintah untuk memulai blok program utama. For i:=1 to n do,

Sebuah statement pengulangan. Program diulang sebanyak n (integer) kali.

Begin, Perintah untuk memulai program. Write('Bilangan ke-',i,' : ');

readln(angka[i]), Menuliskan output Bilangan ke- dan menuliskan output i

(integer) dan menuliskan inputan angka[i] (tipe data bentukan array).

Page 61: Algoritma Dan Pemrograman

4) Program Menerima Masukan

a. Listing

b. Output

c. Analisis

Program tulis_karakter, Nama sebuah program (program ini bernama

menerima Masukan). Type, tipe data bentukan yang ada ditulis disini. Var,

semua variable global ditulis disini. Writeln('INPUT'), Menuliskan output

INPUT. Writeln, Perintah untuk memberi jarak satu enter.

Writeln('OUTPUT'), Menuliskan output OUTPUT. Writeln('--------'),

Menuliskan output ------------. For i:=n downto 1 do, Sebuah statement

pengulangan. Program diulang sebanyak n (integer). Readln, Perintah untuk

membaca statement diatas. End, Perintah untuk mengakhiri sebuah program.

Page 62: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 6)

ARRAY BERTIPE RECORD

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 63: Algoritma Dan Pemrograman

PEMBAHASAN

ARRAY BERTIPE RECORD

DASAR TEORI

1. ARRAY BERTIPE RECORD

Elemen dari array selain bertipe sederhana (integer, char, real, Boolean, string )

juga dapat bertipe terstruktur (record). Contohnya jika ingin menyimpan sekumpulan

data mahasiswa terdiri dari NIM, Nama, Kode Mata Kuliah, Dan NIlai) maka

dibutuhkan sebuah array/ table untuk menampung sekumpulan data tersebut.

Ilustrasi :

NIM Nama Kode Mata Kuliah Nilai

1 037006001 Anton Parlin MPK1112 B

2 037006010 Jaya Amalia MBB1144 A

3 037006013 Dessy Purnama MPB2233 A

99 037006068 Indriani MKK4441 A

100 037006076 Sutiana Arta MBB1144 C

array tersebut terdiri dari 100 elemen dimana masing-masing elemennya bertipe

record yang terdiri dari field NIM, Nama, KodeMK, Nilai.

Deklarasi Array : const Nmaks= 100;

Type Mahasisawa = record

NIM :longint;

Nama : string [25];

KodeMK : string [6];

NIlai : char;

End;

Var

tabMhs : array [1. . . Nmaks] of Mahasiswa

untuk mengakses elemen TabMhs :

TabMhs [5].NIM

TabMhs [5].Nama

TabMhs [5].KodeMK

TabMhs [5].Nilai

Page 64: Algoritma Dan Pemrograman

2. PROGRAM UJI PRAKTEK

Tugas :

Pengelola sebuah perpustakaan ingin agar data buku diperpustakaannya dapat diolah

dengan lebih mudah sehingga data buku tersebut dapat tersimpan dengan baik dan

ketika ingin melihat datanya kembali dapt dilihat dengan mudah. Buatlah sebuah

program dalm pascal untuk memenuhi permintaan pengelola perpustakaan tersebut.

Program tersebut minimal memiliki fasilitas untuk input dan menambahkan data

buku, menampilkan data buku, menampilkan total jumlah buku yang tersedia

diperpustakaan dan keluar dari program !.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 65: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 7)

PROSEDUR DAN FUNGSI

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 66: Algoritma Dan Pemrograman

PEMBAHASAN PROSEDUR DAN FUNGSI

DASAR TEORI

Program yang besar mungkin saja terdiri dari puluhan ribu hingga ratusan ribu baris

intruksi. Program seperti ini biasanya dipecah menjadi sejumlah bagian yang berukuran

relative kecil, yang disebut subrutin atau subprogram. Pada pascal, subrutin dibagi menjadi

dua macam : Prosedur dan Fungsi.

1. PROSEDUR

Prosedur memiliki struktur yang sama dengan struktur program, yaitu terdiri

nama prosedur , deklarasi-deklarasi, dan bagian deskripsi (statement/ aksi di dalam

prosedur). Semau deklarasi di dalam prosedur dikatakan sebagai deklarasi local

sehingga hanya bisa digunakan dalam prosedur itu saja, sedangkan deklarasi didalam

program utama bersifat global sehingga dapat dikenali diseluruh bagian program.

Prosedur dapat memiliki satu atau lebih parameter. Parameter dalam sebuah program

yang mengandung sebuah prosedur terdiri dari parameter formal dan parameter actual

:

• Parameter Formal

adalah variabel yang ada pada daftar parameter dalam definisi (judul) prosedur.

• Parameter Aktual

Adalah variabel (parameter) yang dipakai dalam pemanggilan prosedur,

dideskripsikan dalam badan program utama.

Sturktur Umum Prosedur :

Prosedur nama_prosedur (param_formal1 : tipe_param1; param2 : tipe_param2 ; . . .

.);

{ jika prosedur tidak memiliki parameter, tanda kurung tidak disertakan}

var

{bagian deklarasi prosedur, sifatnya local}

begin

statement_1;

. . .

Statement_n;

end;

Page 67: Algoritma Dan Pemrograman

Prosedur dipanggil oleh program utama dengan menuliskan nama prosedur dan

parameter actual yang mengikutinya (jika ada). Sturktur umum pemanggilan prosedur

:

nama_prosedur (param_aktual1 : tipe_param1 ; param_aktual2 : tipe_param2; . . .);

Aturan penamaan prosedur sama dengan aturan penamaan pada identifier

lainnya (variabel, konstanta, dan lain-lain). Sebuah prosedur tidak harus mempunyai

parameter sehingga terdapat prosedur dengan parameter dan prosedur tanpa

parameter.

A. Prosedur Tanpa Parameter

Prosedur tanpa parameter mendapatkan masukan dari konstanta atau variabel

global, dan dapat menghasilkan keluaran yang diisikan kepada variabel global

juga.

B. Parameter Dengan Parameter

Prosedur dengan parameter dapast dibagi menjadi tiga yaitu parameter input,

parameter output, dan parameter input/output.

• Parameter Input / Parameter Nilai

- Parameter yang nilainya berlaku sebagai masukan untuk prosedur

- Nilai dari parameter actual akna disalin keparameter formal

- Perubahan nilai parameter didalam badan prosedur tidak mengubah isi

parameter actual dibagian program yang memanggilnya.

- Pengiriman nilai parameter dilakukan searah, yaitu dari bagian program

yang memanggil prosedur ke prosedur yang dipanggil.

• Parameter Output

- Parameter yang menampung keluaran yang menghasilkan oleh prosedur.

- Bila prosedur dipanggil, nama parameter actual pada program utama

menggantikan nama parameter formal pada prosedur.

- Setelah prosedur dilaksanakan, parameter actual berisi suatu nilai yang

merupakan keluaran dari prosedur tersebut. Berarti, perubahan nilai

parameter didalam badan prosedur mengubah isi parameter actual

dibagian program yang memanggilnya.

- Parameter yang bertipe parameter output ditandai dengan var.

Page 68: Algoritma Dan Pemrograman

• Parameter Input/Output

- Parameter yang berfungsi sebagai masukan sekaligus keluaran bagi

prosedur tersebut.

- Nama dan nilai parameter actual dari program yang memanggil prosedur

digunakan di seluruh bagian prosedur.

- Perubahan nilai diprosedur akan merubah nilai asli dibagian program

yang memanggil prosedur.

2. FUNGSI

Fungsi adalah subprogram yang mengembalikan sebuah nilai. Secara umum

fungsi hampir sama dengan prosedur, fungsi juga diakses dengan memanggil

namanya, dan dapat mengandung daftar parameter formal. Jenis parameter formal

fungsi adalah parameter input.

Bentuk umum deklarasi fungsi :

function nama_fungsi (param_formal1 : tipe_param1; param_formal2 :tipe_param2; .

. );

tipe_hasil;

var

{variabel local}

begin

{statement-statement pada fungsi}

end.

Keterangan : tipe_hasil adalah tipe data dari nilai yang dikembalikan oleh fungsi.

3. PROGRAM UJI PRAKTEK

1. Program Hambatan

Page 69: Algoritma Dan Pemrograman

a. Listing

b. Output

c. Analisis

2. Program Menghitung Luas Segitiga (Menggunakan Prosedur dan Fungsi)

a. Listing

b. Output

c. Analisis

3. Modifikasi Program 7.3

a. Listing

b. Output

c. Analisis

4. Penjelasan dari soal No. 1 (apakah bisa diribah menjadi fungsi)

5. Program Hitungan

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 70: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 8)

MATRIK

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 71: Algoritma Dan Pemrograman

PEMBAHASAN

MATRIK

DASAR TEORI

Array Bertipe Banyak

Pada array berdimensi banyak, setiap elemen array diakses melalui lebih dari

satu indeks. Modul ini hanya akan membahas array berdimensi dua (setiap elemen

array diakses melalui dua buah indeks, indeks baris dan indeks kolom).

Contoh array berdimensi dua dengan 12 elemen data.

Bentuk umum deklarasi array berdimensi dua :

Indeks Kolom Indeks Baris 1 2 3 4

1 2 3

Nama_variabel_array : array [indeks_baris, indeks_kolom] of tipe_elemen

Contoh 1 : Program untuk mengisi sebuah matrik kemudian menampilkannya.

Program MatriksBilangan;

Const

n = 3; m = 4;

var

baris, kolom : integer;

matriks : array [1. . n, 1. .m] of integer;

begin

writeln (‘Input Elemen Array : ‘);

for baris :=1 to n do

for kolom :=1 to m do

begin

write (‘Data[‘,baris,’][‘,kolom,’] : ‘);

readln (matriks [ baris][kolom]);

end;

writeln;

writeln (‘Output Elemen Array : ‘);

for baris :=1 to n do

begin

for kolom :=1 to m do

write (matriks[baris][kolom]:5);

Page 72: Algoritma Dan Pemrograman

PROGRAM UJI PRAKTEK

1. Program Menerima Masukan

a. Listing

b. Output

c. Analisis

2. Program Mengalikan Dua Buah Matriks

a. Listing b. Output c. Analisis

3. Implentasi Semua Latihan Pembuatan Algoritma Matriks a. Listing b. Output c. Analisis

 

 

 

 

 

 

 

 

 

 

Page 73: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 9)

SEARCHING

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 74: Algoritma Dan Pemrograman

PEMBAHASAN SEARCHING

DASAR TEORI Searching (Pencarian) merupakan proses menemukan suatu nilai (data) tertentu

didalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan ).

Metode – Metode Pencarian :

1. Pencarian Beruntun (SEQUENTIAL SEARCH)

Proses pencarian dengan metode Sequential Search adalah dengan melakukan

perbandingan nilai yang dicari dengan setiap elemen pada array mulai dari indeks

terkecil sampai indeks terbesar. Pencarian dihentikan jika nilai yang dicari telah

ditemukan atau semua elemen array sudah diperiksa.

Ilustrasi Kasus :

Terdapat sebuah Array TabInt yang terdiri dari n=10 elemen.

Isi Tabel 7 5 23 1 15 8 17 75 10 4

Indeks 1 2 3 4 5 6 7 8 9 10

Kasus 1 : Misalkan nilai yang dicari adalah x = 7

Elemen yang dibandingkan : 7 (ditemukan)

Karena data langsung ditemukan maka pengulangan dihentikan Indeks

larik yang dikembalikan :idx=1

Kasus 2 : Misalkan nilai yang dicari adalah x =1 7

Elemen yang dibandingkan : 7, 5, 23, 1, 15, 8, 17 (ditemukan)

Karena data langsung ditemukan maka pengulangan dihentikan

Indeks larik yang dikembalikan :idx=7

Kasus 3 : Misalkan nilai yang dicari adalah x = 25

Elemen yang dibandingkan : 7, 5, 23, 1, 15, 8, 17, 75, 10, 4(tidak

ditemukan)

Karena pencarian data sudah mencapai indeks terbesar dan nilai yang

dicari belum ditemukan maka pencarian dihentikan Indeks larik yang

dikembalikan :idx=0

Program 9.1 implementasi program sequential search

Program sequential_search;

Page 75: Algoritma Dan Pemrograman

Const Nmax=100;

Type

TabInteger = array[1..NMax]of integer;

Var

TabInt : TabInteger;

Jml_data, x, I : integer;

Begin

Write(‘banyaknya integer : ‘);readln(jml_data);

For i:=1 to jml_data do

Begin

Write(‘Nilai ke – ‘,I,’ : ‘);

Readln(TabInt[i];

End;

Write(‘data yang akan dicari : ‘); readln(x);

i:=1;

While (i<jml_data) and (TabInt[i]<>x) do

i:=1+1;

if TabInt[i]=x then

writeln(‘Data ditemukan pada posisi ke –‘,i);

else

writeln(‘Data tidak ditemukan!’);

readln;

end.

Salah satu ciri program yang baik adalah program tersebut memiliki sifat procedural.

Tujuanya untuk memudahkan dalam pengembangan pogram,menghemat ukuran program

(jika ada bebrapa instruksi yang sama digunakan pada beberapa tempat dalam program),

mempermudah pembacaan program, dan mempermudah pendeteksian kealahan pada

program.. program 9.1 bukan program yang procedural karena belum membagi bagian-

bagian tertentunya menjadi prosedur dan fungsi . program 9.2 merupakan modifikasi dari

program 9.1 dan sifatnya lebih procedural.

Program sequential_search2;

Uses

Crt;

Const Nmax=100;

Page 76: Algoritma Dan Pemrograman

Type

TabInteger = array [1..NMax]of integer;

Var

TabInt : TabInteger;

Jml_data, data, indeks : integer;

Cari : char;

Procedure Input Data (n : integer; var T : TabInteger);

Var

i : integer;

begin

for i:=1 to n do

begin

write(‘Nilai ke – ‘,i,’ : ‘);

readln(T[i]);

end;

end;

procedure seqsearch (T : TabInteger; n, x : integer; var idx :

integer);

var

i : integer;

begin

i := 1;

while(i<n) and (T[i]<>x) do

i:=i+1;

if T[i]=x then

idx:=i

else

idx:=0;

end;

begin

clrscr;

write(‘Banyaknya integer : ‘); readln(jml_data);

InputData (jml_data, TabInt);

Page 77: Algoritma Dan Pemrograman

Repeat

Write(‘data yang akan dicari : ‘); readln (data);

Seqsearch(TabInt, jml_data, data, indeks);

If indeks=0 then

Writeln(‘Data tidak ditemukan!’)

Else

Writeln(‘data ditemukan padaposisi ke-‘,indeks);

Write(‘cari data lagi (y/t) ?’); readln (cari);

Until(cari=’t’) or (cari=’T’);

Readln;

End.

Program sequential_search2 memanggil dua procedure yaitu procedure InputData

(dengan parameter Jml_data sebagai input untuk parameter input n dan TabInt sebagai output

untuk parameter output T} dan prosedur seqsearch (dengan parameter TabInt sebagai input

untuk T, jml_data sebagai input untuk n, data sebagai input untuk x, dan indeks sebagai

output untuk idx)

Algoritma pencarian dengan metode sequential search memiliki banyak versi

tergantung kebutuhan output, kreatifitas programmer, dan factor lainya. Program 9.1 atau

prosedur sequential search pada program 9.2 merupakan salah satu persinya. Procedure

dibawah ini adalah versi lain dari algoritma sequential search.

Program 9.3 procedure sequqncial search versi Boolean

Procedure seqsearch2 (T :TabInteger; n, x : integer; var idx :

integer ; var faound : Boolean);

Var

i : integer;

begin

i:=1;

found := false;

while (i<=n) and (not faound) do

begin

if t[i] = x then

Page 78: Algoritma Dan Pemrograman

found:=true

else

i:=i+1;

end;

if found then

idx :=i

else

idx:=0;

end;

2. Pencarian Bagi Dua (BINARY SEARCH)

pencarian bagi dua adalah pencarian yang di terapkan pada sekumpulan data yang

sudah terurutbaik menaik maupun menurun.maksud dari metode ini adalah

mempersingkat waktu pencarian data/nilai pada table.

Proses pencarian :

1. Bandingkan nilai yang kita cari (x) dengan data yang berada pada posisi tengah. Jika

sama, maka pencarian selesai.

2. Jika x lebih kecil dari pada data pada posisi tengah, pencarian dilakukan pada

daerahyang data-datanya lebih kecil dari data tengah.

3. Jika x lebih besar dari pada data pada posisi tengah, pencarian dilakukan pada daerah

yang data-datanya lebih besar dari data tengah.

4. Kembali ke proses nomor 1 jika masih ada daerah pencarian. Jika tidak ada, berarti

data tidak ditemukan.

Procedure seqsearch(T:TabInteger; n, x:integer;

Var idx : integer);

Var

BatasAtas, BatasBawah, tengah : integer;

Begin

BatasAtas:=1;

BatasBawah:=n;

While (BatasAtas<=BatasBawah) and (T[tengah]<>x) do

Begin

Tengah:=(BatasAtas + BatasBawah) div 2;

Page 79: Algoritma Dan Pemrograman

If T[Tengah]> x then

BatasBawah:=Tengah-1

Else

If T[Tengah]< x then

BatasAtas:= Tengah+1;

End;

If T[Tengah]=x then

Idx:= Tengah

Else

Idx:=0;

End;

Contoh 1 : Program untuk mengisi sebuah matrik kemudian menampilkannya. Program MatriksBilangan;

Const

n = 3; m = 4;

var

baris, kolom : integer;

matriks : array [1. . n, 1. .m] of integer; begin writeln (‘Input Elemen Array : ‘);

for baris :=1 to n do

for kolom :=1 to m do

begin

write (‘Data[‘,baris,’][‘,kolom,’] : ‘);

readln (matriks [ baris][kolom]);

end;

writeln;

writeln (‘Output Elemen Array : ‘);

for baris :=1 to n do

begin

for kolom :=1 to m do

write (matriks[baris][kolom]:5);

writeln;

end;

Page 80: Algoritma Dan Pemrograman

PROGRAM UJI PRAKTEK

4. Program Menerima Masukan

d. Listing

e. Output

f. Analisis

5. Program Mengalikan Dua Buah Matriks

d. Listing e. Output f. Analisis

6. Implentasi Semua Latihan Pembuatan Algoritma Matriks d. Listing e. Output f. Analisis

 

 

 

 

Page 81: Algoritma Dan Pemrograman

LAPORAN HASIL PRAKTIKUM ALGORITMA dan PEMROGRAMAN

UNIVERSITAS SILIWANGI

MEMBUAT PROGRAM MENGGUNAKAN PASCAL

(TUGAS 10)

SORTING

Oleh :

Hendra Pratama 117006172

Jurusan Teknik Informatika

Kelas 1D

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS SILIWANGI

Jl. Siliwangi No. 24 Tasikmalaya Kotak Pos 164 Tlp. (0265) 323537 E-Mail : [email protected] ; URL : http://www.unsil.ac.id

 

 

 

Page 82: Algoritma Dan Pemrograman

PEMBAHASAN

SORTING

DASAR TEORI

Sorting atau pengurutan data adalah proses untuk menhyusun kumpulan data yang

seragam menjadi susunan tertentu. Kumpulan data dapat diurutkan secara ascending(urutan

menaik), yaitu dari data yang nilainya palingkecil sampai dat yang nilainya paling besa, atau

diurutkan secara descending (urutan menurun), yaitu dari data yang nilainya paling

besarsampai data yang nilainya paling kecil.

Metode-metode sorting :

1. Bubble sort

Pengurutan model ini mengambil ide dari gelembung air, yaitu mengapungkan

elemen yang bernilai kecil dari bawah ke atas. Proses pengapungan dilakukan dengan

pertukaran elemen-elemen table.

Appabila kita menginginkan array terurut menaik, maka elemen array yang berharga

paling kecil “diapungkan” artinya diangkat ke “atas” (atau keujung kiri array) melalui

proses pertukaran. Proses pengapungan ini dilakukan sebanyak n-1 langkah (satu langkah

disebut satukali pass) dengan n adalah ukuran array.

Ilustrasi Kasus :

Perhatikan array TabInt dibawah ini yang terdiri dari n = 6 elemen yang belum

terurut. Array ini akan diurutkan menaik dengan metode bubble sort.

Elemen array Indeks 1 2 3 4 5 6

25 27 10 8 76 21

← arah perbandingan Pass 1 : Pass 2 : (berdasarkan hasil akhir pass 1) 25 27 10 8 76 21 1 2 3 4 5 6

25 27 10 8 21 76

25 27 8 10 21 76

25 8 27 10 21 76

8 25 27 10 21 76

Hasil Akhir Pass 1 : Pass 4 : (berdasarkan Hasil Akhir Pass 3)

8 25 27 10 21 76

8 25 27 10 21 76  

8 25 27 10 21 76  

8 25 10 27 21 76  

8 10 25 27 21 76  Hasil akhir pass 2 : 

8 10 25 27 21 76 1 2 3 4 5 6

Page 83: Algoritma Dan Pemrograman

8 10 21 25 27 76

1 2 3 4 5 6

8 10 21 25 27 76 Pass 3 (berdasarkan Hasil Akhir Pass 2) Hasil Akhir Pass 4 :

8 10 21 25 27 76 1 2 3 4 5 6

8 10 25 27 21 76

Pass 5 : (berdasarkan Hasil Akhir Pass 4 )

8 10 25 21 27 76

8 10 21 25 27 76 Hasil Akhir Pass 5 :

8 10 25 21 25 76

8 10 21 25 27 76 1 2 3 4 5 6 8 10 21 25 27 76

Hasil Akhir Pass 3: Hasil Akhir Pass 5 menyisakan satu elemen Yang perlu diurutkan lagi, maka pengurutan

Selesai.

8 10 21 25 27 76 1 2 3 4 5 6

Keterangan : : Bagian data yang sudah diurutkan / di apungkan. : Bagian data yang dibandingkan dan mungkin ditukarkan posisinya.

Algoritma 2.1 Procedure Bubble SortProcedure BubbleSort (input n : integer, input/output T : TabInteger) {Mengurutkan Tabel Integer [1..N] dengan Bubble Sort} Kamus

Pass : integer

K : integer

Temp : integer

Algoritma

For pass 1 to (n-1) do

For k n downto (pass+1) do

If (T[k] < T [k-1]) then

Temp T [k]

T [k] T [k-1]

T [k-1] temp

Endif Endfor endfor

Page 84: Algoritma Dan Pemrograman

Program Bubble_sort memanggil dua prosedur yaitu prosedur InputData (denagn

parameter jml_data sebagai input untuk parameter input n dan TabInt sebagai output untuk

parameter output T) dan prosedur BubbleSort (dengan jml_data sebagai input untuk

parameter input n dan TabInt sebagai input sekaligus ouput untuk parameter input/output

T)

Program 2.1 Implementasi Program Bubble Sort Program Bubble_sort; Uses crs; Const Nmax = 100; Type TabInteger = Array [1.. Nmax] of integer; Var TabInt : TabInteger; Jml_data : Integer;

Procedure Input Data ( n : integer; var T : TabInteger); Var

i : integer; Begin For i:= to n do begin Write (‘Nilai ke – ‘,i,’ : ‘); readln (T[i]); End; End; Procedure BubbleSort (n : Integer; var T : TabInteger); Var Pass, k, temp : integer; Begin For pass:= 1 to (n-1) do For k := n downto (pass+1) do If T[k] < T[k-1] then Begin Temp := T[k]; T[k] := T[k-1]; T [k-1] := temp; End; End; Begin Clrscr; Write (‘Banyaknya integer : ‘); readln (jml_data); Inputdata (jml_data, TabInt ); writeln; BubbleSort (jml_data, TabInt ); Readln; End.

Page 85: Algoritma Dan Pemrograman

2. Maximum sort

Pengurutan model ini dilakukan dengan mencari Nilai terbesar/maximum dari suatu

array. Nilai terbesar kemudian disimpan diawal array (jika diurutkan menurun )atau diakhir

array (jika di urutkan menaik ) dan diisolasi agar tidak disertakan lagi pada proses

selanjutnya.

Ilustrasi Kasus :

Perhatikan array TabInt dibawah ini yang terdiri dari n = 6 elemen yang belum terurut.

Array ini akan diurutkan menaik dengan metode Bubble Sort.

Elemen array

Indeks 1 2 3 4 5 6

29 27 10 8 76 21

Pass 1 :

Cari elemen maksimum didalam array Tabint [1..n] maks = TabInt [5] = 76

Pertukaran TabInt [5] dengan TabInt [n]

Proses Pertukaran Hasil Akhir Pass

1

29 27 10 8 76 21

29 27 10 8 21 76

Pass 2 : (Berdasarkan susunan Array hasil Pass 1)

Cari elemen maksimum didalam array TabInt [1..5] maks = TabInt [1] = 29

Pertukaran TabInt [1] dengan tabInt [5]

29 27 10 8 21 76

21 27 10 8 29 76

Pass 3 : (Berdasarkan susunan Array hasil Pass 2)

Cari elemen maksimum didalam array TabInt [1..4] maks = TabInt [2] = 27

Pertukaran TabInt [2] dengan tabInt [4]

21 8 10 27 29 76

Pass 4 : (Berdasarkan susunan Array hasil Pass 3)

Cari elemen maksimum didalam array TabInt [1..3] maks = TabInt [1] = 21

21 27 10 8 29 76

Page 86: Algoritma Dan Pemrograman

Pertukaran TabInt [1] dengan tabInt [3]

21 8 10 27 29 76

10 8 21 27 29 76

Pass 5 : (Berdasarkan susunan Array hasil Pass 4)

Cari elemen maksimum didalam array TabInt [1..2] maks = TabInt [1] = 10

Pertukaran TabInt [1] dengan tabInt [2]

10 8 21 27 29 76

8 10 21 27 29 76

Tersisa satu elemen yaitu 8, maka pengurutan dihentikan. Array sudah terurut menaik.

Keterangan : : Bagian data yang sudah diurutkan. : Bagian data yang terbesar dan posisi yang akan ditukarkan dengan data terbesar.

Algoritma 2.2 Procedure Pengurutan dengan Metode Maximum Sort secara MenaikProcedure maxsort (input n : integer, input/output T : TabInteger) Kamus

i : integer

imaks : integer

K : integer

Temp : integer

Algoritma

For i n downto 2 do

imaks 1

for k 1 to (i-1) do

if (T[k] > T[imaks]) then

imaks k

Endif r Endfo

Temp T [i]

T [i] T [imaks]

T [imaks] temp

endfor

3. Minimum sort

Berbeda dengan algoritma penguran maksimum, pada algoritma pengurutan

minimum, basis pencarian adalah elemen mminimum. Pengurutan model ini dilakukan

dengan mencari Nilai terkecil/minimum dari suatu array. Nilai terkecil tersebut

Page 87: Algoritma Dan Pemrograman

kemudian disimpan diawal array (jika diurutkan menaik) atau diakhir array (jika

diurutkan menurun)dan diisolasikan agar tidak disertakan lagi pada proses selanjutnya.

Algoritma 2.3 Procedure Pengurutan dengan Metode Minimum Sort secara MenaikProcedure minsort (input n : integer, input/output T : TabInteger) Kamus

i : integer

imin : integer

K : integer

Temp : integer

Algoritma

For i n to (n-1) do

imin i

for k (i+1)to n do

if (T[k] < T[imin]) then

imin k

Endif r Endfo

Temp T [i]

T [i] T [imin]

T [imin] temp

endfor

LATIHAN

1. Buat kembali program 2.1 (Implementasi Program Bubble Sort) untuk memperoleh array yang elemen-elemenya terurut menurun!

2. Buatlah program yang dapat mengurutkan data yang terdiri dari NIM, Nama, Nilai, diurutkan berdasarkan NIM (gunakan metode Bubble Sort)!

3. Implementasikan procedure MaxSort pada Algoritma 2.2 kedalam Procedure dalma Bahasa Pascal, kemudian buat program yang memanggil procedure tersebut untuk pengurutan data!

4. Implementasikan procedure MinSort pada Algoritma 2.3 kedalam Procedure dalma Bahasa Pascal, kemudian buat program yang memanggil procedure tersebut untuk pengurutan data!

5. Revisilah program unutk latihan nomor 3 sehingga dapat digunakan untuk mengurutkan data secara menurun!

6. Revisilah program untuk nomor 2 dengan menggunakan metode Masimum Sort atau Minimum Sort dan menambahkan menu : a. Input Data b. Seach : seach berdasarkan nim (dengan binary Search)

7. Pada diklat kuliah Algortma dan Pemrograman implementasikan latihan soal no.3 dan no.4 pembuautan algoritma Sorting yang sudah anda buat kedalam program, hasilnya masukan dalam laporan praktikum unutk pertemuan modul ini.