Algoritma Dan Pemrograman
-
Upload
hendrapratama04 -
Category
Documents
-
view
122 -
download
7
description
Transcript of 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
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.
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.
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.
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.
PROGRAM UJI PRAKTEK 1. PROGRAM IDENTITAS PRIBADI
A. Listing
B. Output
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 ( . ).
2. PROGRAM PEMBUATAN GAMBAR SEGITIGA BINTANG
A. Listing
B. Output
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 ( . ).
3. PROGRAM HITUNGAN
A. Listing
B. Output
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
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
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.
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;
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
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
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);
PROGRAM UJI PRAKTEK
1. PROGRAM IDENTITAS
A. Listing
B. Output
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.
2. PROGRAM SISI MIRING DARI SEGITIGA SIKU-SIKU
A. Listing
B. Output
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.
- 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
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.
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.
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.
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
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)
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.
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
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
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
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
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
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 .
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
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.
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;
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.
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.
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.
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.
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!!!');
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.
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-
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
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 .
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.
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)
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.
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
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 .
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 .
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.
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
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;
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.
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
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.
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).
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).
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.
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
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
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 !.
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
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;
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.
• 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
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
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
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);
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
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
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;
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;
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);
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
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;
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;
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
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
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
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
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.
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
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
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.