Format Lapres Akhir Prak Alpro 2012

127
LAPORAN RESMI AKHIR PRAKTIKUM ALGORITMA PEMPROGRAMAN LABORATORIUM PEMPROGRAMAN Disusun oleh : NAMA Shobihatul Mubarokah Ayu Aseptica KELAS A3 JURUSAN TEKNIK INFORMATIKA DOSEN PENGAMPUH NOOR IFADA, ST., MISD. ASPRAK ANDI HARTONO LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA 2

Transcript of Format Lapres Akhir Prak Alpro 2012

Page 1: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI AKHIR

PRAKTIKUM ALGORITMA PEMPROGRAMAN

LABORATORIUM PEMPROGRAMAN

Disusun oleh :

NAMA Shobihatul Mubarokah Ayu Aseptica

KELAS A3

JURUSAN TEKNIK INFORMATIKA

DOSEN PENGAMPUH NOOR IFADA, ST., MISD.

ASPRAK ANDI HARTONO

LABORATORIUM PEMROGRAMAN

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO MADURA

2012

Page 2: Format Lapres Akhir Prak Alpro 2012

LEMBAR PENGESAHAN PRAKTIKUM

PRAKTIKUM ALGORITMA PEMPROGRAMAN

LABORATORIUM PEMROGRAMAN

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 110411100039

KELAS : A3

No Hari / Tanggal Modul Paraf Asisten

1. Selasa

08 Mei 2012

1

STRUKTUR PROGRAM

PASCAL, TIPE DATA,

VARIABEL, DAN

KONSTANTA

2. Selasa

15 Mei 2012

2

PENYELEKSIAN KONDISI

3. Selasa

22 Mei 2012

3

PENGULANGAN

(LOOPING)

4. Selasa

29 Mei 2012

4

PROSEDUR DAN FUNGSI

5. Selasa

05 Juni 2012

5

LARIK (ARRAY)

6. Selasa

05 Juni 2012

6

RECORD

Nilai Akhir Co.Assisten : _______________

Nilai Akhir : ________________

Bangkalan, Juni 2012

Mengetahui Dosen Pengampu, Koordinator Asisten Dosen

Noor Ifada, ST,. Misd. Andi Sholihin

Page 3: Format Lapres Akhir Prak Alpro 2012

KATA PENGANTAR

Puji syukur kehadirat Allah SWT karena atas rahmat dan karunia-Nya,

saya dapat menyelesaikan Laporan Praktikum Algoritma Pemrograman tepat pada

waktunya. Laporan ini merupakan tugas mata kuliah Algoritma Pemrograman.

Laporan ini merupakan inovasi pembelajaran untuk memahami Algoritma

Pemrograman Bahas Pascal secara mendalam, semoga laporan ini dapat berguna

untuk Mahasiswa pada umumnya.

Saya mengucapkan banyak terima kasih atas segala bantuan dan juga

jasa dari berbagai pihak dalam penyusunan laporan ini.

Selain itu, saya juga menyadari bahwa laporan ini masih jauh dari

sempurna, oleh karena itu saya sangat membutuhkan kritik dan saran yang

sifatnya membangun dan pada intinya untuk memperbaiki kekurangan-

kekurangan agar dimasa yang akan datang lebih baik lagi.

Penyusun

Shobihatul Mubarokah Ayu Aseptica

NRP 11.04.111.00039

Page 4: Format Lapres Akhir Prak Alpro 2012

DAFTAR ISI

LEMBAR PENGESAHAN.....................................................................................

KATA PENGANTAR..............................................................................................

DAFTAR ISI..............................................................................................................

Modul 1 Struktur Program Pascal, Tipe Data, Variabel, Dan Konstanta

BAB. I. Pendahuluan……........................................................................................

1.1. Latar Belakang........................................................... ........................................

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

4.1. Kegiatan Praktikum.............................................................................................

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup…..................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Modul 2 Penyeleksian Kondisi

BAB. I. Pendahuluan……........................................................................................

1.1. Latar Belakang........................................................... ........................................

Page 5: Format Lapres Akhir Prak Alpro 2012

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

4.1. Kegiatan Praktikum.............................................................................................

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup…..................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Modul 3 Pengulangan (Looping)

BAB. I. Pendahuluan……........................................................................................

1.1. Latar Belakang....................................................................................................

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

4.1. Kegiatan Praktikum............................................................................................

Page 6: Format Lapres Akhir Prak Alpro 2012

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup….................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Modul 4 Prosedur dan Fungsi

BAB. I. Pendahuluan……........................................................................................

1.1. Latar Belakang....................................................................................................

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

4.1. Kegiatan Praktikum............................................................................................

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup…..................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Modul 5 Larik (Array)

BAB. I. Pendahuluan……........................................................................................

Page 7: Format Lapres Akhir Prak Alpro 2012

1.1. Latar Belakang........................................................... ........................................

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

4.1. Kegiatan Praktikum............................................................................................

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup…..................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Modul 6 Record

BAB. I. Pendahuluan……........................................................................................

1.1. Latar Belakang........................................................... ........................................

1.2. Tujuan…………..………...................................................................................

BAB. II. Dasar Teori................................................................................................

2.1. Teori Singkat......................................................................................................

BAB. III. Tugas Pendahuluan.................................................................................

3.1. Tugas Prepraktikum............................................................................................

BAB. IV. Implementasi............................................................................................

Page 8: Format Lapres Akhir Prak Alpro 2012

4.1. Kegiatan Praktikum.............................................................................................

4.2. Tugas Akhir.........................................................................................................

4.3. Tugas Tambahan.................................................................................................

BAB. V. Penutup…..................................................................................................

5.1. Kesimpulan.........................................................................................................

5.2. Saran....................................................................................................................

Page 9: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 1

STRUKTUR PROGRAM PASCAL,

TIPE DATA, VARIABEL, DAN KONSTANTA

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO 2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 07 Mei 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 10: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam membuat aplikasi, ada berbagai macam bahasa pemrograman yang

salah satunya adalah bahasa pemrograman Pascal. Pascal adalah bahasa

tingkat tinggi (High Level Languange) yaitu bahasa pemrograman yang

mudah dipahami oleh bahasa manusia. Pascal merupakan bahasa yang

terstruktur tersusun atas sejumlah blok. Blok-blok yang kecil selanjutnya

dapat dapat dipakai untuk membuat blok yang lebih besar. Blok ini lebih

dikenal dengan sebutan subprogram, yang dibedakan atas prosedur dan

fungsi. Bahasa pemrograman Pascal ini sangat dibutuhkan bagi mahasiswa

teknik informatika untuk menyelesaikan tugas-tugas aplikasi/program. Untuk

itu dalam modul 1 ini, akan dibahas tentang “struktur program Pascal, tipe

data, variabel, dan konstanta”. Sehingga kita dapat memahami pemakaian

bahasa pemrograman ini.

1.2 Tujuan

1. Mahasiswa mengerti dan memahami sruktur program Pascal

2. Mahasiswa mengerti dan memahami tipe data dalam program Pascal

3. Mahasiswa mengerti dan memahami variabel dalam program Pascal

4. Mahasiswa mengerti dan memahami konstanta dalam program Pascal

Page 11: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

2.1 Teori Singkat

Struktur program Pascal terdiri dari tiga bagian (Gambar 1.1), yaitu :

Judul Program. Judul ini sifatnya adalah optional dan tidak signifikan.

Bagian Deklarasi. Bagian ini digunakan bila program akan

mendefinisikan berbagai macam identifier, seperti label, konstanta, tipe,

variable, prosedur, dan fungsi.

Bagian Deskripsi. bagian ini digunakan untuk meletakkan seluruh

instruksi program. Instruksi-instruksi yang akan diberikan untuk

dikerjakan ditulis di antara “Begin” dan “End". Penulisan “End“ diakhiri

dengan tanda baca titik (‘.’). Yang perlu diperhatikan bahwa setiap

instruksi diakhiri dengan tanda baca titik koma (‘;’).

program NAMA_PROGRAM;

{ Penjelasan mengenai program, yang berisi uraian singkat

mengenai apa yang dilakukan oleh program }

(* DEKLARASI *)

[const]

{ semua nama tetapan dan harga tetapannya didefinisikan di

sini}

[type]

{ semua nama tipe bentukan didefinisikan di sini }

[var]

{ semua nama variabel global didefinisikan di sini }

{ deklarasi prosedur dan fungsi didefinisikan di sini }

(* DESKRIPSI *)

begin

{ semua instruksi program dituliskan di sini }

end.

Gambar 1.1. Struktur Program Bahasa Pascal

Page 12: Format Lapres Akhir Prak Alpro 2012

Tabel 1.1. Notasi Bahasa Pascal

Kelompok Notasi Pascal Ket.

1. Tipe Dasar boolean

byte 1 byte

shortint 1 byte

word 2 byte

integer 2 byte

longint 4 byte

real

double

extended

char

string

string[N]

record

field1: type;

field2: type;

...

fieldN: type;

end;

2. Operator

a. Aritmatika + Penjumlahan

Pengurangan

* Perkalian

/ Pembagian

div Hasil bagi

mod Sisa bagi

b. Perbandingan < Lebih kecil dari

<= Lebih kecil atau sama

dengan

Page 13: Format Lapres Akhir Prak Alpro 2012

> Lebih besar dari

>= Lebih besar atau sama

dengan

= Sama dengan

<> Tidak sama dengan

c. Logika not

and

or

xor

3. Komentar { komentar }

(* komentar *)

4. Lain-lain const

type

true

false

Page 14: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

3.1 Tugas Prepraktikum

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Buatlah contoh deklarasi masing-masing tipe dasar dalam Bahasa Pascal!

2. Isilah tabel berikut ini untuk melakukan penelusuran kebenaran penulisan nama

variabel-variabel ini.

Tabel 1.2. Penelusuran Kebenaran Nama Variabel

Nama Variabel Benar/Salah Alasan Pembetulan

_nilai1

Angka1

@umur

Tanggal lahir

4alasan

Alamat_rumah

Max

3. Jelaskan aturan-aturan yang digunakan dalam penulisan nama variable.

4. Buatlah sebuah Algoritma untuk menghitung luas sebuah lingkaran, gunakan

deklarasi konstanta untuk menyimpan nilai Phi.

Jawab :

1. a : integer;

b : real;

Page 15: Format Lapres Akhir Prak Alpro 2012

indeks : char;

nama : string;

2. Tabel 1.2. Penelusuran Kebenaran Nama Variabel

Nama Variabel Benar/Salah Alasan Pembetulan

_nilai1 Salah Karena tanda hubung ( _ )

digunakan untuk pemisah Nilai1

Angka1 benar

Variabel dapat dengan

huruf atau angka namun

tidak diawali oleh angka

@umur salah Variabel tidak boleh diawali

dengan simbol maupun angka umur

Tanggal lahir Salah

Pemisahan nama variabel

harus menggunakan tanda

hubung _ {strip bawah}

Tanggal_lahir

4alasan salah

Variabel dapat dengan

huruf atau angka namun

tidak diawali oleh angka

alasan

Alamat_rumah Betul

Pemisahan nama variabel

harus menggunakan tanda

hubung _ {strip bawah}

Max Betul Karena tidak diawali dengan

angka maupun simbol

3. Aturannya yaitu:

a. Untuk penulisan Variabel dapat dengan huruf atau angka namun tidak

diawali oleh angka. Contoh :

Nama1 : String; {betul}

Page 16: Format Lapres Akhir Prak Alpro 2012

1Nama : String; {salah tidak diizinkan/error}

Nama1MHS: String; {betul}

b. Pemisahan nama variabel harus menggunakan tanda hubung _ {strip

bawah}

Contoh :

Nama1_Mahasiswa : String; {betul}

Nama1 Mahasiswa : String {Salah tidak diizinkan/error}

Nama1Mahasiswa : String; {Betul}

c. Tanda kurung buka “{“ dan kurung tutup “}” merupakan keterangan

atau komentar.

d. Tidak diizinkan menggunakan nama variabel yang sudah ada/

duplikasi variabel.

Contoh :

Nama : String; Duplikasi nama maka Error

Nama : Integer; (Salah)

e. Tidak diizinkan menggunakan nama variabel pada Reserved Word

(kata pasti). Reserved Word adalah suatu kata yang secara mutlak tidak

boleh diartikan lain dan harus digunakan sebagaimana yang telah

didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved

word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak

dapat dipergunakan sebagai pengenal (identifier)

Contoh :

Var Begin : Integer; {Salah karena Reserved Word}

4. Algoritma Luas_Lingkaran

DEKLARASI:

const phi = 3.14

l, r = real

DESKRIPSI:

read(r)

l phi * r * r

write(‘Luas lingkaran = ‘,l)

Page 17: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1 Kegiatan Praktikum

1. Buatlah sebuah program sederhana yang berisi deklarasi masing-masing tipe

dasar sesuai tugas prepraktikum no.1, kemudian pada bagian deskripsi buatlah

contoh instruksi masukan untuk mengisi data dan intruksi keluaran untuk

menampilkan data dari masing-masing tipe dasar tersebut!

Jawab :

1. Program Masukan_dan_Keluaran;

uses wincrt;

var

a : integer;

b : real;

indeks : char;

nama : string;

begin

write('Masukkan integer : ');readln(a);

writeln(a,' Merupakan Type integer');

writeln('');

write('Masukkan real : ');readln(b);

writeln(b:0:2,' Merupakan type real');

writeln('');

write('Masukkan char : ');readln(indeks);

writeln(indeks,' Merupakan type char');

writeln('');

write('Masukkan string : ');readln(nama);

writeln(nama,' Merupakan type string');

end.

Page 18: Format Lapres Akhir Prak Alpro 2012

Print Screen Running Program

2. Buat program untuk tugas prepratikum no.4!

Program Luas_Lingkaran;

uses wincrt;

const phi = 3.14;

var l, r : real;

begin

writeln('Masukkan jari-jari = ');read(r);

l := phi*r*r;

writeln('Luas Lingkaran adalah ',l:2:2);

end.

Print Screen Running Program

Page 19: Format Lapres Akhir Prak Alpro 2012

4.2 Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk menghitung

keliling lingkaran:

Masukan:

Masukkan nilai jari-jari : __

Keluaran

Keliling lingkaran adalah : __

Jawab :

Algoritma Keliling_Lingkaran

DEKLARASI:

const phi = 3.14

k, r = real

DESKRIPSI:

read(r)

Write(‘Masukkan Nilai jari-jari’)

k2*phi*r

write(‘Keliling lingkaran adalah ‘,k)

Program Menghitung_Keliling_Lingkaran;

uses wincrt;

const phi = 3.14;

var

k, r : real;

begin

writeln('Masukkan Nilai Jari-jari : ');read(r);

k := 2*phi*r;

writeln('Keliling Lingkaran adalah ',1:2:2);

end

Page 20: Format Lapres Akhir Prak Alpro 2012

Print Screen Running Program

4.3 Tugas tambahan

Buat program konverter suhu, dari Celcius ke Reamur, Fahrenheit, dan Kelvin.

• Inputan :

– Derajat Celcius :

• Keluaran :

– Derajat Reamur :

– Derajat Fahrenheit :

– Derajat Kelvin :

Jawab :

program Konverter_Suhu;

uses wincrt;

var

C, F, K, R : real;

begin

writeln(' Program Konversi Suhu ');

writeln('===========================================');

writeln('');

write('Masukkan Suhu dalam Celsius : ');read(C);

F := (C*1.8)+32;

R := C*0.8;

K := C+273;

writeln('Suhu dalam Fahrenheit adalah : ',F:3:1);

writeln('Suhu dalam Reamur adalah : ',R:3:1);

writeln('Suhu dalam Kelvin adalah : ',K:3:1);end.

Page 21: Format Lapres Akhir Prak Alpro 2012

Print Screen Running Program

Page 22: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 1 ini, dapat disimpulkan:

1. Bahasa Pascal adalah bahasa pemprograman yang memakai kata-kata dan

pernyataan yang mudah dimengerti manusia, meskipun masih jauh

berbeda dengan bahasa manusia sesungguhnya (high level).

2. Untuk memahami tentang bahasa pemrograman Pascal, maka kita harus

mengetahui terlebih dahulu struktur program Pascal, tipe data, variabel dan

konstanta.

3. Ada berbagai macam tipe data dalam bahasa Pascal.

5.2 Saran

Dalam menggunakan program Pascal diperlukan ketelitian. Walaupun huruf

besar dan kecil tidak diperhitungkan, titik koma (;) harus diperhatikan. Selain

itu variable pada pascal harus sesuai dengan aturan yang ditetapkan. Untuk

dapat dengan mudah menggunakan Pascal, harus lebih sering berlatih Pascal.

Page 23: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 2

PENYELEKSIAN KONDISI

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 15 Mei 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 24: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam suatu pemrograman, kita pasti akan dihadapkan pada satu

permasalahan yang komplek, dimana dalam pemecahannya terdiri dari

beberapa kondisi yang memerlukan penanganan yang berbeda. Untuk

menangani masalah tersebut diperlukan penyeleksi suatu kondisi, karena

selanjutnya dapat ditentukan tindakan apa yang harus dilakukan dan

tergantung pada hasil kondisi penyeleksian. Untuk itu dalam modul 2 ini,

akan dibahas tentang “penyeleksian kondisi”. Sehingga kita bisa memahami

lebih dalam lagi bagaimana cara penggunaannya dengan menggunakan

bahasa pemrograman Pascal.

1.2 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 2

ini adalah :

1. Mahasiswa mengetahui bagaimana cara menggunakan penyeleksian

kondisi dalam bahasa pemrograman Pascal

2. Mahasiswa mengetahui apa saja statemen-statemen dalam peyeleksian

kondisi tersebut

3. Mahasiswa mengetahui apa perbedaan dari setiap statemen-statemen

dalam peyeleksian kondisi tersebut

4. Mahasiswa mengetahui apa kegunaan dari penyeleksian kondisi dalam

suatu pemrograman dan kegunaan setiap statemen-statemen dalam

peyeleksian kondisi tersebut

Page 25: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

Pada umumnya satu permasalahan yang komplek memerlukan

suatu penyelesaian kondisi. Dengan menyeleksi suatu kondisi, maka

selanjutnya dapat ditentukan tindakan apa yang harus dilakukan, tergantung

pada hasil kondisi penyeleksian. Jadi suatu aksi hanya dikerjakan apabila

persyaratan atau kondisi tertentu terpenuhi.

a. Penyeleksian Satu Kasus, dengan menggunakan struktur IF-THEN:

Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen if. Bila

kondisi bernilai benar (true), maka aksi sesudah kata then (dapat berupa

satu atau lebih aksi) akan diproses. Bila kondisi bernilai salah (false), maka

tidak ada aksi yang akan dikerjakan. Statemen endif adalah untuk

mempertegas bagian awal dan bagian akhir struktur IF-THEN.

Gambar diagram alir penyelesaian satu kasus untuk struktur IF-THEN

ditunjukkan dalam Gambar 2.1 dan struktur penulisan dalam bahasa pascal

dapat dilihat dari Gambar 2.2.

Gambar 2.1. Diagram Alir Struktur Penyeleksian Satu Kasus (IF-THEN)

IF

kondisi?

Aksi

THEN

salah

benar

Page 26: Format Lapres Akhir Prak Alpro 2012

if kondisi then

aksi

Gambar 2.2. Struktur Bahasa Pascal Untuk Penyeleksian Satu Kasus (IF-

THEN)

b. Penyeleksian Dua Kasus, menggunakan struktur IF-THEN-ELSE:

Dalam struktur IF-THEN-ELSE, aksi1 akan dilaksanakan jika kondisi

bernilai benar (true), dan jika kondisi bernilai salah (false) maka aksi2

yang akan dilaksanakan. Statemen else menyatakan ingkaran (negation)

dari kondisi.

Gambar diagram alir penyelesaian dua kasus untuk struktur IF-THEN-

ELSE ditunjukkan dalam Gambar 2.3 dan struktur penulisan dalam bahasa

pascal dapat dilihat dari Gambar 2.4.

Gambar 2.3. Diagram Alir Struktur IF-THEN-ELSE

if kondisi then

aksi1

else

aksi2

IF

kondisi? THEN

salah

benar

ELSE

aksi2

aksi1

Page 27: Format Lapres Akhir Prak Alpro 2012

Gambar 2.4. Struktur Bahasa Pascal Untuk Penyeleksian Dua Kasus (IF-

THEN-ELSE)

c. Penyeleksian Tiga Kasus atau Lebih (Penyeleksian Tersarang)

Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IF-

THEN-ELSE sebagaimana halnya permasalahan dua kasus.

Gambar diagram alir penyelesaian tiga kasus untuk struktur IF-THEN-

ELSE ditunjukkan dalam Gambar 2.5 dan struktur penulisan dalam bahasa

pascal dapat dilihat dari Gambar 2.6.

IF

kondisi1

IF

kondisi2

aksi1

aksi2

benar

salah

benar

aksi3

salah

Gambar 2.5. Diagram alir dari struktur tiga kasus IF-THEN-ELSE

(tersarang)

if kondisi1 then

aksi1

else

if kondisi2 then

Page 28: Format Lapres Akhir Prak Alpro 2012

aksi2

else

aksi3

Gambar 2.6. Struktur Bahasa Pascal untuk Penyeleksian Tiga Kasus IF-

THEN-ELSE (tersarang)

d. Struktur CASE. Struktur ini dapat digunakan untuk menganalisa

penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana

daripada struktur IF-THEN-ELSE yang memiliki bentuk bertingkat-

tingkat. Gambar 2.7 memperlihatkan Struktur CASE.

case (nama)

kondisi1 : aksi1

kondisi2 : aksi2

...

kondisiN : aksiN

[otherwise aksiX]

Gambar 2.7. Struktur Bahasa Pascal Untuk Seleksi CASE

Kondisi1, kondisi2, … kondisiN dapat bernilai benar atau salah. Tiap

kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai

ditemukan kondisi yang benar. Jika kondisi ke-k benar, maka aksi ke-k

dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang

dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa

runtunan. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah

otherwise (optional) dikerjakan.

Page 29: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Jelaskan pada kondisi apa sebaiknya struktur seleksi if dan case digunakan!

Apa perbedaan dari kedua struktur tersebut?

2. Buatlah algoritma untuk menentukan bilangan terbesar dari tiga buah

bilangan bulat yang dimasukkan melalui piranti masukan. (Asumsi: ketiga

bilangan adalah bilangan yang berbeda)

Contoh keluaran yang diinginkan;

Masukkan bilangan pertama : 4

Masukkan bilangan kedua : 2

Masukkan bilangan ketiga : 7

Bilangan yang terbesar adalah : 7

Program Bilangan_Terbesar;

3. Buatlah algoritma konversi dari nilai angka menjadi nama hari. (Asumsi:

1=Senin, 2=Selasa, 3=Rabu, 4=Kamis, 5=Jumat, 6=Sabtu, 7=Minggu)

Contoh keluaran yang diinginkan:

Masukkan Angka yang menunjukkan hari : 1

Hari yang anda pilih : Senin

Jawab :

1. Struktur IF-ELSE digunakan untuk menganalisa penyeleksian dua kasus atau

lebih yang memiliki bentuk bertingkat-tingkat. Sedangkan struktur CASE

digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan

bentuknya adalah lebih sederhana

2. Algoritma Angka Maksimum

Deklarasi

a, b, c, max : integer

Deskripsi

Page 30: Format Lapres Akhir Prak Alpro 2012

read (a, b, c)

max = a

if a > b then

max = a

else

max = b

if max > c then

max = max

else

max = c

write (max)

endif.

3. Algoritma Nama_Hari

Deklarasi

AngkaHari : integer { 1..7 }

Deskripsi :

read(AngkaHari)

case(AngkaHari)

AngkaHari=1 : write(‘Senin’)

AngkaHari=2 : write(‘Selasa’)

AngkaHari=3 : write(‘Rabu’)

AngkaHari=4 : write(‘Kamis’)

Page 31: Format Lapres Akhir Prak Alpro 2012

AngkaHari=5 : write(‘Jumat’)

AngkaHari=6 : write(‘Sabtu’)

AngkaHari=7 : write(‘Minggu’)

otherwise write(‘Bukan nomor hari yang benar’)

endcase

Page 32: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1. Kegiatan Praktikum

Pada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk prepraktikum 2!

2. Buat program untuk prepraktikum 3!

3. Buat program kode Negara!

4. Buat Program indeks nilai!

Jawab :

1. program angka_maksimal;

uses wincrt;

var

a, b, c, Max : integer;

begin

writeln(' Program Angka Maksimum ');

writeln('=================================');

writeln('');

writeln('Masukkan Angka Pertama : ');readln(a);

writeln('Masukkan Angka Kedua : ');readln(b);

writeln('Masukkan Angka Ketiga : ');readln(c);

max:= a;

if (a>b) then

max := a

else

max:=b;

if(max>c) then

max:=max

else

max:=c;

writeln('Nilai Maksimum adalah : ',max);

end.

Page 33: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

2. Program Nama_Hari;

uses wincrt;

var

AngkaHari : integer;

begin

write('Masukkan Angka yang Menunjukkan hari : ');

readln(AngkaHari);

case AngkaHari of

1 : writeln('Hari yang anda pilih : Senin');

2 : writeln('Hari yang anda pilih : Selasa');

3 : writeln('Hari yang anda pilih : Rabu');

4 : writeln('Hari yang anda pilih : Kamis');

5 : writeln('Hari yang anda pilih : Jumat');

6 : writeln('Hari yang anda pilih : Sabtu');

7 : writeln('Hari yang anda pilih : Minggu');

else writeln ('Bukan nomor hari yang benar');

end;

end.

Page 34: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

3. program kode_negara;

uses wincrt;

var

kode : integer;

begin

writeln(' Program Kode Negara ');

writeln('==========================');

writeln('');

writeln('Masukkan kode negara : ');

readln(kode);

case kode of

61 : writeln('Kode Negara Malaysia');

62 : writeln('Kode Negara Indonesia');

63 : writeln('Kode Negara Brunei Darussalam');

else

writeln('Di luar jangkauan');

end;

end.

Page 35: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4. program indeks_nilai;

uses wincrt;

var

nilai : real;

indeks : char;

begin

writeln(' Program Indeks Nilai ');

writeln('=============================');

writeln('');

writeln('Masukkan nilai: ');readln(nilai);

if nilai >= 80 then

indeks := 'A'

else

if (nilai>=75) and (nilai<80) then

indeks := 'B'

else

if (nilai>=60) and (nilai<75) then

indeks := 'C'

else

if (nilai>=45) and (nilai<60) then

indeks := 'D'

else

indeks := 'E';

Page 36: Format Lapres Akhir Prak Alpro 2012

writeln('Indeks nilai : ',indeks);

end.

Print Screen Program

4.2. Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk mengurutkan

tiga buah bilangan bulat (dari yang terkecil ke yang terbesar) yang

dimasukkan melalui piranti masukan! (Asumsi: ketiga bilangan yang

dimasukkan adalah bilangan yang berbeda)

Contoh:

Masukkan bilangan pertama : 9

Masukkan bilangan kedua : 1

Masukkan bilangan ketiga : -7

Urutan bilangan: -7 1 9

Jawab :

program Mengurutkan_angka;

uses wincrt;

var

Page 37: Format Lapres Akhir Prak Alpro 2012

a, b, c : integer;

begin

writeln(' Program Mengurutkan Angka dari Terkecil ke Terbesar ');

writeln('==============================================');

writeln('');

writeln('Masukkan Angka Pertama : ');readln(a);

writeln('Masukkan Angka Kedua : ');readln(b);

writeln('Masukkan Angka Ketiga : ');readln(c);

if (a<b) and (b<c) then

write('Urutan bilangan : ',a, b, c)

else

if (b<c) and (c<a) then

write('Urutan bilangan : ',b, c, a)

else

if (c<a) and (a<b) then

write('Urutan bilangan : ',c, a, b)

else

if (c<b) and (b<a) then

write('Urutan bilangan : ',c, b, a)

else

if (a<c) and (c<b) then

write('Urutan bilangan : ',a, c, b)

Page 38: Format Lapres Akhir Prak Alpro 2012

else

write('Urutan bilangan : ',b, a, c);

end.

Print Screen Program

4.3. Tugas Tambahan

Buat program menentukan bilangan ganjil atau genap!

Contoh

Inputan

Masukkan bilangan : 20

Output

20 adalah bilangan genap

Jawab :

program Menentukan_bilangan_ganjil_genap;

uses wincrt;

var

a, bil : integer;

Page 39: Format Lapres Akhir Prak Alpro 2012

begin

writeln(' Program Menentukan Bilangan Ganjil atau Genap ');

write('================================================');

writeln('');

write('Masukkan bilangan : ');

read(bil);

if bil mod 2 = 0 then

writeln(bil,' adalah bilangan genap')

else

writeln(bil,' adalah bilangan ganjil');

end.

Print Screen Program

Page 40: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 2 ini, kita dapat menarik kesimpulan:

1. Penyeleksian kondisi pada bahasa Pascal ada 4 yaitu: If, If-Else, If-Else-If-

Else, dan case

2. Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen if ,

dengan pengkondisian dimasukkan kedalam "( kondisi )" setelah deklarasi

if.

3. Penyeleksian Dua Kasus, menggunakan struktur IF-ELSE

4. Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IF-

ELSE IF-ELSE sebagaimana halnya permasalahan dua kasus.

5. Struktur CASE. Struktur ini dapat digunakan untuk menganalisa

penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana

daripada struktur IF -ELSE yang memiliki bentuk bertingkat-tingkat.

5.2 Saran

Pada praktikum modul 2 ini, mahasiswa mulai menggunakan penyeleksian

kondisi. Yang perlu diperhatikan adalah mahasiswa dari awal harus

memahami program apa yang akan dibuat, sehingga dalam membuat program

tidak bingung. Dalam menggunakan penyeleksian kondisi harus diperhatikan,

yaitu struktur IF-ELSE digunakan untuk menganalisa penyeleksian dua kasus

atau lebih yang memiliki bentuk bertingkat-tingkat. Sedangkan struktur

CASE digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan

bentuknya adalah lebih sederhana.

Page 41: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 3

PENGULANGAN (LOOPING)

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 22 Mei 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 42: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam pemrograman kita akan mengenal dengan system pengulangan,

dalam bahasa pemrograman Pascal sendiri terdapat dua model struktur

pengulangan, yaitu : Struktur Pengulangan Tanpa Kondisi (unconditional looping)

dan Struktur Pengulangan Dengan Kondisi (conditional looping).

Untuk itu dalam modul 3 ini, akan dibahas tentang “pengulangan

(looping)”. Sehingga kita bisa memahami lebih dalam lagi bagaimana cara

penggunaannya dengan menggunakan bahasa pemrograman Pascal.

1.2 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 3

ini adalah :

1. Mahasiswa mengetahui bagaimana cara menggunakan struktur

pengulangan (looping) dalam bahasa pemrograman Pascal.

2. Mahasiswa mengetahui apa saja model-model dalam pengulangan

(looping) tersebut.

3. Mahasiswa mengetahui apa perbedaan dari setiap model-model

dalam pengulangan (looping) tersebut.

4. Mahasiswa mengetahui apa kegunaan dari pengulangan (looping)

dalam suatu pemrograman dan kegunaan setiap model-model dalam

pengulangan (looping) tersebut.

Page 43: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

Terdapat dua model struktur pengulangan, yaitu:

1. Struktur Pengulangan Tanpa Kondisi (unconditional looping). Di dalam

struktur ini, instruksi-instruksi di dalam badan pengulangan diulangi

sejumlah kali yang dispesifikasikan (jumlah pengulangan sudah diketahui

sebelum eksekusi). Contoh: Struktur FOR.

2. Struktur Pengulangan Dengan Kondisi (conditional looping). Di dalam

struktur ini, jumlah pengulangan tidak diketahui sebelum eksekusi

program. Yang dapat ditentukan hanya kondisi berhenti pengulangan,

artinya instruksi-instruksi di dalam badan pengulangan diulangi sampai

kondisi berhenti terpenuhi. Contoh: Struktur WHILE dan Struktur

REPEAT.

Macam-macam struktur pengulangan:

a. Struktur FOR

Struktur pengulangan FOR digunakan untuk mengulang statemen atau satu

blok statemen berulang kali. Jumlah pengulangan diketahui atau dapat

ditentukan sebelum eksekusi. Untuk mencacah sudah jumlah pengulangan

diperlukan sebuah variabel pencacah (counter). Variabel ini nilainya selalu

bertambah satu setiap kali pengulangan dilakukan. Jika cacah pengulangan

sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan

berhenti. Pada struktur FOR, pencacah haruslah dari tipe data yang

memiliki predecessor dan successor, yaitu integer atau karakter. Tipe riil

tidak dapat digunakan sebagai pencacah. Aksi adalah satu atau lebih

instruksi yang diulang.

Bentuk struktur FOR ada dua macam:

Menaik (ascending)

Pada struktur FOR menaik, nilai_awal harus lebih kecil atau sama

dengan nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka

Page 44: Format Lapres Akhir Prak Alpro 2012

badan pengulangan tidak dimasuki. Pada awalnya, pencacah

diinisialisasikan dengan nilai_awal. Nilai pencacah secara otomatis

bertambah satu setiap kali aksi pengulangan dimasuki, sampai

akhirnya nilai pencacah sama dengan nilai_akhir. Jumlah pengulangan

yang terjadi = nilai_akhir – nilai_awal + 1. Struktur Bahasa Pascal

untuk pengulangan FOR menaik ditunjukkan pada Gambar 3.1.

for pencacah:=nilai_awal to nilai_akhir do

aksi

Gambar 3.1. Struktur Bahasa Pascal Untuk Pengulangan FOR

Menaik

Menurun (descending)

Pada struktur FOR menurun, nilai_akhir harus lebih besar atau sama

dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka

badan pengulangan tidak dimasuki. Pada awalnya, pencacah

diinisialisasikan dengan nilai_akhir. Nilai pencacah secara otomatis

berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai

pencacah sama dengan nilai_awal. Jumlah pengulangan yang terjadi =

nilai_akhir – nilai_awal + 1. Struktur Bahasa Pascal untuk

pengulangan FOR menurun ditunjukkan pada Gambar 3.2.

for pencacah:=nilai_akhir downto nilai_awal do

aksi

Gambar 3.2. Struktur Bahasa Pascal Untuk Pengulangan FOR

Menurun

b. Struktur WHILE

Pada struktur WHILE, aksi (atau runtunan aksi) akan dilaksanakan

berulang kali selama kondisi bernilai true. Jika kondisi bernilai false,

badan pengulangan tidak akan dilaksanakan, yang berarti pengulangan

selesai. Yang harus diperhatikan adalah pengulangan harus berhenti.

Page 45: Format Lapres Akhir Prak Alpro 2012

Pengulangan yang tidak pernah berhenti menandakan bahwa logika

pemrograman tersebut salah. Pengulangan berhenti apabila kondisi bernilai

false. Agar kondisi suatu saat bernilai false, maka di dalam badan

pengulangan harus ada instruksi yang mengubah nilai variabel kondisi.

while kondisi do

aksi

Gambar 3.3. Struktur Bahasa Pascal Untuk Pengulangan WHILE

c. Struktur REPEAT

Struktur ini mendasarkan pengulangan pada kondisi boolean. Aksi di

dalam badan pengulangan diulang sampai kondisi boolean bernilai true.

Dengan kata lain, jika kondisi boolean masih false, pengulangan masih

terus dilakukan. Karena proses pengulangan suatu saat harus berhenti,

maka di dalam badan pengulangan harus ada aksi yang mengubah nilai

variabel kondisi. Struktur REPEAT mempunyai makna yang sama dengan

WHILE, dan dalam beberapa masalah kedua struktur tersebut komplemen

satu sama lain.

Repeat

aksi

until kondisi

Gambar 3.4. Struktur Bahasa Pascal Untuk Pengulangan

REPEAT

Page 46: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Jelaskan perbedaan antara struktur pengulangan FOR, WHILE dan

REPEAT!

2. Buatlah algoritma untuk menampilkan deret bilangan ganjil antara 0 s/d 100!

3. Buatlah algoritma untuk menampilkan deret bilangan 1, 5, 9, 13, ... (berhenti

jika melebihi 300)!

4. Buatlah algoritma untuk menampilkan deret bilangan 1, 1, 2, 1, 2, 3, ...

(berhenti jika sama dengan batas nilai tertentu yang dimasukkan melalui

piranti masukan)!

Contoh:

Masukan batas nilai: 4

Deret Keluaran: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4

Jawab :

1. Perbedaan antara struktur pengulangan FOR, WHILE dan DO-WHILE :

o for(inisialisasi; kondisi; penaikan_penurunan) bagian inisialisasi

digunakan untuk memberikan nilai kepada variabel yang digunakan untuk

mengontrol pengulangan. Bagian kondisi digunakan untuk mengontrol

pengulangan dilanjutkan atau diakhiri. Bagian penaikan_penurunan

digunakan untuk menaikkan atau menurunkan nilai variabel pengontrol

pengulangan.

o while(kondisi), pernyataan/aksi akan dijalankan secara terus-menerus

selama kondisi bernilai true (benar).

o Do-while(kondisi), hampir sama dengan while namun pernyataan/aksi di

sini akan dilakukan sekali kemudian dimasukkan dalam kondisi. Artinya

aksi pertama kali tidak melihat kondisi, baru kemudian aksi kedua

dimasukkan dalam kondisi.

Page 47: Format Lapres Akhir Prak Alpro 2012

2. Algortima deret_bilangan_ganjil

Deklarasi

b : integer

Deskripsi :

b ← 1

repeat

write(b)

b ← b+2;

until b>100

3. Algortima deret_bilangan

Deklarasi

x : integer

Deskripsi :

x ← 1

repeat

write(x)

x ← x+4;

until b>300

4. Algoritma deret_bilangan

Deklarasi

a,b,n:integer

Deskripsi :

Read(n)

a ← 1

for a ← 1 to n do

b ← 1 to a do

endfor

write(b,',')

Page 48: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1. Kegiatan Praktikum

Pada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk tugas prepraktikum 2!

2. Buat program untuk tugas prepraktikum 3!

Jawab :

1.

program deret_bilangan_ganjil;

uses wincrt;

var

b : integer;

begin

writeln(' Program Deret bilangan ganjil ');

writeln('===========================================');

writeln('');

b:=1;

repeat

write(' ',b);

b:=b+2;

until(b>100);

readln;

end.

Page 49: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

2.

program deret_bilangan_empat;

uses wincrt;

var

b : integer;

begin

writeln(' Program Deret Bilangan ');

writeln('===========================================');

writeln('');

b:=1;

repeat

write(' ',b);

b:=b+4;

until(b>300);

readln;

end.

Page 50: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4.2. Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk membuat bentuk

belah ketupat dari deretan angka berdasarkan batas nilai yang dimasukkan

melalui piranti masukan!

Contoh:

Masukkan batas nilai: 5

Hasil belah ketupat deretan angka:

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

1 2 3 4 3 2 1

1 2 3 2 1

1 2 1

1

Jawab :

Algoritma Belah_Ketupat;

Deklarasi

s, N, i, j, k : integer;

Deskrispi

for i ← 1 to N do

writeln(‘’)

for k ← (N-1) downto i do

write(' ')

endfor

for j ← 1 to i do

write(j,' ')

endfor

for j ← (i-1) downto 1 do

Page 51: Format Lapres Akhir Prak Alpro 2012

write(j,' ')

endfor

writeln(' ')

endfor

for i ← (N-1) downto 1 do

writeln(‘’)

for k ← (N-1) downto i do

write(' ')

endfor

for j ←1 to i do

write(j,' ')

endfor

for j ← (i-1) downto 1 do

write(j,' ')

endfor

writeln(' ')

endfor

end.

program belah_ketupat;

uses wincrt;

var

s, N, i, j, k : integer;

begin

writeln(' Program Angka Belah Ketupat ');

writeln('==========================================');

writeln('');

write('Masukkan Batas : ');read(N);

writeln('Hasil belah ketupat deretan angka: ');

begin

for i := 1 to N do

begin

for k:= (N-1) downto i do

begin

write(' ');

end;

for j := 1 to i do

begin

write(j,' ');

end;

begin

for j := (i-1) downto 1 do

write(j,' ');

Page 52: Format Lapres Akhir Prak Alpro 2012

end;

writeln(' ');

end;

end;

begin

for i := (N-1) downto 1 do

begin

for k := (N-1) downto i do

begin

write(' ');

end;

for j := 1 to i do

begin

write(j,' ');

end;

begin

for j := (i-1) downto 1 do

write(j,' ');

end;

writeln(' ');

end;

end;

end.

Print Screen Program

Page 53: Format Lapres Akhir Prak Alpro 2012

4.3. Tugas Tambahan

Buatlah program bebas tentang perulangan meliputi for, while, dan repeat

yang mana didalamnya berisikan menu pilihan sehingga user bisa memilih

program yang mana yang akan di jalankan. untuk lebih jelasnya berikut

ketentuannya:

• Program bebas tentang perulangan meliputi for, while, dan repeat

• Ada Menu pilihan

• Program perulangan harus beda antara for, while, dan repeat

• Program tidak boleh sama dengan praktikan yang lainnya

Contoh

Program Perulangan

Menu pilihan:

1. Program For

2. Program While

3. Program Repeat

4. Keluar

Masukkan pilihan:

• Jika yang dipilih no. 1 maka jalankan program For

• Jika yang dipilih no. 2 maka jalankan program Whie

• Jika yang dipilih no. 3 maka jalankan program Repeat

• Jika yang dipilih no. 4 maka keluar dari Program Perulangan

• Jika yang program sudah selesai di jalankan, ada sebuah statment "

Apakah anda ingin mencoba lagi ? [y/n]"

Page 54: Format Lapres Akhir Prak Alpro 2012

• Jika yang dipilih "y" maka program kembali ke Menu pilihan

• Jika yang dipilih "n" maka program berhenti.

Jawab :

program menu;

uses wincrt;

var

a, b, c, n : integer;

YN, x : char;

begin

YN:= 'Y';

begin

repeat

ClrScr;

writeln('-----------Program Perulangan------------');

writeln('=========================================');

writeln('');

writeln('');

writeln('Menu pilihan: ');

writeln('1. Program For');

writeln('2. Program While');

writeln('3. Program Repeat');

writeln('4. Keluar');

Page 55: Format Lapres Akhir Prak Alpro 2012

write('Masukkan Pilihan Anda : ');

readln(x);

clrscr;

if (x = '1') then

begin

writeln(' Program Menampilkan Deret ');

writeln('================================================

====');

writeln('');

write('Masukkan Batas : ');readln(n);

for a := 1 to n do

begin

write(a,' ');

end;

writeln('');

end

else

if (x = '2') then

begin

writeln(' Program Deret bilangan ganjil ');

Page 56: Format Lapres Akhir Prak Alpro 2012

writeln('================================================

====');

writeln('');

write('Masukkan Batas : ');readln(n);

b := 1;

while b <= N do

begin

writeln(b);

b := b + 2;

end;

writeln('');

end

else

if (x = '3') then

begin

writeln(' Program Deret bilangan genap ');

writeln('================================================

====');

writeln('');

write('Masukkan Batas : ');readln(n);

Page 57: Format Lapres Akhir Prak Alpro 2012

b := 2;

repeat

begin

writeln(b);

b := b+2;

end;

until b > n;

end

else

if (x = '4') then

begin

donewincrt;

end;

write('Apakah anda ingin mencoba lagi ? [y/n]');

readln(YN);

until

UpCase(YN)= 'N';

end;

end.

Page 58: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

Page 59: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 3 ini, kita dapat menarik kesimpulan:

1. Struktur Pengulangan Tanpa Kondisi (unconditional looping). Di dalam

struktur ini, instruksi-instruksi di dalam badan pengulangan diulangi

sejumlah kali yang dispesifikasikan (jumlah pengulangan sudah diketahui

sebelum eksekusi).

2. Struktur Pengulangan Dengan Kondisi (conditional looping). Di dalam

struktur ini, jumlah pengulangan tidak diketahui sebelum eksekusi

program. Yang dapat ditentukan hanya kondisi berhenti pengulangan,

artinya instruksi-instruksi di dalam badan pengulangan diulangi sampai

kondisi berhenti terpenuhi.

5.2 Saran

Diharapkan asisten praktikum dalam memberikan tugas tambahan tidak

mendadak, sehingga praktikan dalam mengerjakan tugas tambahan tidak dalam

kondisi terburu-buru.

Page 60: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 4

PROSEDUR DAN FUNGSI

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 29 Mei 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 61: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam pemrograman kita akan mengenal dengan prosedur dan fungsi. Prosedur

adalah modul program yang mengerjakan aktivitas yang spesifik dan hasilnya

diperoleh dengan membandingkan keadaan awal dan keadaan akhir pada

pelaksanaan sebuah prosedur. Fungsi adalah suatu bagian dari program yang

dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari

program yang menggunakannya. Elemen utama dari program bahasa Pascal

berupa fungsi-fungsi, dalam hal ini program dari bahasa Pascal dibentuk dari

kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh

pemrograman. Untuk itu dalam modul 4 ini, akan dibahas tentang Prosedur

dan Fungsi. Sehingga kita bisa memahami lebih dalam lagi bagaimana cara

penggunaannya dengan menggunakan bahasa pemrograman Pascal.

1.2 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 4

ini adalah :

1. Mahasiswa mengetahui bagaimana cara menggunakan prosedur dan

fungsi dalam bahasa pemrograman Pascal.

2. Mahasiswa mengetahui apa kegunaan dari prosedur dan fungsi dalam

suatu pemrograman.

Page 62: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

2.1 Teori Singkat

Seringkali dalam pembuatan program yang berukuran besar, program

tersebut dapat dipecah menjadi beberapa subprogram/modul yang lebih kecil.

Tiap modul dapat dipasangkan ke program lain yang membutuhkannya. Jenis

modul program ada dua macam, yaitu Prosedur dan Fungsi.

a. Prosedur

Prosedur adalah modul program yang mengerjakan aktivitas yang spesifik

dan hasilnya diperoleh dengan membandingkan keadaan awal dan keadaan akhir

pada pelaksanaan sebuah prosedur. Sehingga pada setiap prosedur keadaan awal

harus didefinisikan sebelum rangkaian instruksi di dalam prosedur dilaksanakan

dan keadaan akhir yang diharapkan setelah rangkaian instruksi dilaksanakan.

Struktur prosedur terdiri dari tiga bagian, yaitu:

o Judul

o Deklarasi

o Deskripsi/Badan Prosedur

procedure Nama_Prosedur;

{ Spesifikasi prosedur, berisi penjelasan mengenai apayang dilakukan oleh

prosedur ini. }

{ K.awal : keadaan sebelum prosedur dilaksanakan. }

{ K.akhir: keadaan setelah prosedur dilaksanakan. }

(*DEKLARASI*)

{ semua nama yang dipakai dalam prosedur dan hanyaberlaku lokal di dalam

prosedur didefinisikan disini }

(*DESKRIPSI*)

begin

{ badan prosedur, berisi kumpulan instruksi }

End

Page 63: Format Lapres Akhir Prak Alpro 2012

Cara memanggil prosedur: NAMA_PROSEDUR;

Ketika NAMA_PROSEDUR dipanggil, kendali program berpindah secara

otomatis ke prosedur tersebut. Instruksi di dalam badan prosedur dilaksanakan.

Setelah semua instruksi selesai dilaksanakan, kendali program berpindah secara

otomatis ke instruksi sesudah pemanggilan prosedur.

Kebanyakan program memerlukan pertukaran informasi antara prosedur

(atau fungsi) dan titik dimana ia dipanggil. Penggunaan parameter menawarkan

mekanisme penukaran informasi tersebut. Tiap item data ditransfer antara

parameter aktual dan parameter formal yang bersesuaian. Parameter aktual

adalah parameter yang disertakan ketika pemanggilan, sedangkan paramater

formal adalah parameter yang dideklarasikan di bagian header prosedur itu

sendiri. Ketika prosedur dipanggil, parameter aktual menggantikan parameter

formal.

Berdasarkan maksud penggunaannya, terdapat tiga jenis parameter formal

yang disertakan di dalam prosedur, yaitu:

Prosedur dengan Parameter Masukan

Parameter masukan adalah parameter yang nilainya berlaku sebagai masukan

untuk prosedur. Pada parameter masukan, nilai parameter aktual diisikan ke dalam

parameter formal yang bersesuaian. Nilai ini digunakan di dalam badan prosedur

yang bersangkutan. Nilai yang dinyatakan oleh parameter masukan tidak dapat

dikirim dalam arah sebaliknya. Itulah alasan mengapa parameter jenis ini diacu

sebagai parameter masukan. Perubahan nilai parameter di dalam badan prosedur

tidak mengubah nilai parameter aktual. Karena yang dipentingkan adalah nilainya,

maka nama parameter aktual boleh berbeda dengan nama parameter formal yang

bersesuaian.

Prosedur Nama_Prosedur(parameter : tipe_param);

{ Spesifikasi prosedur, berisi penjelasan tenang apa

yang dilakukan oleh prosedur ini. }

{ K.awal : keadaan sebelum prosedur dilaksanakan. }

{ K.akhir: keadaan setelah prosedur dilaksanakan. }

(*DEKLARASI*)

Page 64: Format Lapres Akhir Prak Alpro 2012

{ semua nama yang dipakai dalam prosedur dan hanya

berlaku lokal di dalam prosedur didefinisikan di

sini }

(*DESKRIPSI*)

begin

{badan prosedur, berisi kumpulan instruksi }

End;

Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);

Prosedur dengan Parameter Masukan/Keluaran

Parameter masukan/keluaran adalah parameter yang berfungsi sebagai masukan

sekaligus keluaran bagi prosedur tersebut. Bila prosedur yang mengandung

parameter keluaran dipanggil, nama parameter aktual di dalam program

pemanggil menggantikan nama parameter formal yang bersesuaian di dalam

prosedur. Jadi, nama parameter aktual akan digunakan selama pelaksanaan

prosedur. Akibat penggunaan parameter masukan/keluaran, bila parameter actual

diubah nilainya di dalam badan prosedur, maka sesudah pemanggilan prosedur

nilai parameter aktual di titik pemanggilan juga berubah. Ini berbeda dengan

parameter masukan, yang dalam hal ini meskipun nilai parameter aktual di dalam

badan prosedur diubah, nilai parameter aktual tersebut tidak berubah di titik

pemanggilan.

procedure NAMA_PROSEDUR(var parameter : tipe_param);

{ Spesifikasi Prosedur, menyebutkan nama, parameter, kondisi awal, kondisi akhir

dan proses }

{ Kondisi awal : keadaan sebelum prosedur dilaksanakan }

{ Kondisi akhir : keadaan setelah prosedur dilaksanakan }

(* DEKLARASI *)

{ Semua nama yang dipakai prosedur didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

Page 65: Format Lapres Akhir Prak Alpro 2012

{ badan prosedur, berisi semua langkah atau aksi }

end;

Cara memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);

b. Fungsi

Fungsi juga merupakan modul program yang mempunyai tujuan spesifik.

Fungsi memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu (tipe

dasar atau tipe bentukan). Fungsi diakses dengan memanggil namanya. Selain itu,

fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi

selalu merupakan parameter masukan. Jenis parameter masukan pada fungsi

disebabkan oleh kenyataan bahwa parameter pada fungsi merupakan masukan

yang digunakan oleh fungsi tersebut untuk menghasilkan nilai.

function NAMA_FUNGSI(daftar parameter formal) : tipe_hasil;

{ Spesifikasi Fungsi, menjelaskan apa yang dilakukan dan dikembalikan oleh fungsi

}

(* DEKLARASI *)

{ Semua nama yang dipakai fungsi didefinisikan di sini dan hanya berlaku lokal }

(* DESKRIPSI *)

begin

{ badan fungsi, berisi semua langkah atau aksi algoritma untuk menghasilkan nilai

yang akan dikembalikan }

NAMA_FUNGSI:=hasil; { pengembalian nilai yang dihasilkan fungsi }

end;

c. Variabel Global dan Lokal

Variabel-variabel yang dideklarasikan di dalam bagian Deklarasi Prosedur

ataupun Fungsi bersifat “lokal” dan hanya dapat digunakan di dalam

Prosedur/Fungsi yang melingkupinya saja. Sedangkan variabel-variabel yang

Page 66: Format Lapres Akhir Prak Alpro 2012

dideklarasikan di dalam program utama bersifat “global” dan dapat digunakan di

bagian manapun di dalam program, baik di dalam program utama maupun di

dalam Prosedur/Fungsi.

Page 67: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Prosedur dan Fungsi merupakan pemrograman modular. Apakah perbedaan

antara keduanya? Kapankah suatu fungsi dibuat dan digunakan?

2. Buatlah algoritma untuk membuat bentuk belah ketupat dari deretan angka

berdasarkan batas nilai yang dimasukkan melalui piranti masukan dengan

menggunakan Prosedur!

Contoh:

Masukkan batas nilai: 4

Hasil belah ketupat deretan angka:

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 2 1

1 2 1

1

Page 68: Format Lapres Akhir Prak Alpro 2012

Jawab :

1. perbedaan antara Prosedur dan Fungsi :

a. Prosedur diawali dengan dengan kata procedure untuk

mendeklarasikannya. Kalau fungsi diawali dengan kata function.

contoh : procedure hitung_angka;

function hitung_bilangan: integer;

b. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi

akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus

ada tipe datanya (integer, char atau string).

c. Procedure outputnya diletakkan di dalam procedure, kalau fungsi

outputnya di letakkan di program utama.

d. Prosedur di panggil diprogram utama dengan menuliskan nama procedure

tersebut di program utama. contoh :hitung_bilangan;

Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga

dengan langsung menuliskannya di program utama.

2. Algoritma belah_ketupat

Deklarasi

N : integer

procedure bagian_awal

Deklarasi

s, i, j, k : integer

Deskripsi

for i ← 1 to N do

write(‘’)

for k ← (N-1) downto i do

write(' ')

endfor

for j ← 1 to i do

write(j,' ')

endfor

for j ← (i-1) downto 1 do

write(j,' ')

Page 69: Format Lapres Akhir Prak Alpro 2012

endfor

writeln(' ')

endfor

procedure bagian_akhir

Deklarasi

s, i, j, k: integer

Deskripsi

for i ← (N-1) downto 1 do

write(‘’)

for k ← (N-1) downto i do

write(' ')

endfor

for j ←1 to i do

write(j,' ')

endfor

for j ← (i-1) downto 1 do

write(j,' ')

endfor

writeln(' ')

endfor

Deskripsi

writeln(' Program Angka Belah Ketupat ')

writeln('==========================================')

writeln('')

write('Masukkan Batas : ')

read(N)

writeln('Hasil belah ketupat deretan angka: ')

bagian_awal

bagian_akhir

end.

Page 70: Format Lapres Akhir Prak Alpro 2012

3. Algoritma Deskriminan

Deklarasi

a,b,c: integer

n ,z :Char

Function D (Var p,q,r:integer) :real

Deskripsi :

D:=sqrt(sqr(q)-4*p*r)

end

Function X1(Var i,j,k:integer):real

Deskripsi

X1:=(-b+(D(i,j,k)))/ (2*a)

End

Function X2(Var i,j,k:Integer):real

Deklarasi

X2:=(-b-(D(i,j,k)))/(2*a)

End

Deklarasi

repeat

writeln('***************************************************')

writeln(' PROGRAM DESKRIMINAN ')

writeln('***************************************************')

writeln(' Menghitung Nilai Deskriminan:')

writeln(' D=sqrt(sqr(b)-4*a*c)')

writeln('Menghitung Nilai X1:')

writeln(' X1=(-b+(D))/ (2*a)')

writeln('Menghitung Nilai X2:')

writeln(' X2=(-b-(D))/ (2*a)')

write(' => Input Nilai a = ')

readln(a)

write(' => Input Nilai b = ')

Page 71: Format Lapres Akhir Prak Alpro 2012

readln(b)

write(' => Input Nilai c = ')

readln(c)

writeln

writeln(' Hasil diskriminan (D) : ', D(a, b, c):0:2)

writeln(' Nilai X1 : ', X1(a, b, c):0:2)

writeln(' Nilai X2 : ', X2(a, b, c):0:2)

Writeln

write('** Hitung Ulang [Y/T]? ')

read(n)

Until n='T'

read(z)

end.

Page 72: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1. Kegiatan Praktikum

Pada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk tugas prepraktikum 2!

2. Buat program untuk tugas prepraktikum 3!

Jawab :

2.

program belah_ketupat;

uses wincrt;

var

N : integer;

procedure bagian_awal;

var

s, i, j, k : integer;

begin

for i := 1 to N do

begin

for k:= (N-1) downto i do

begin

write(' ');

end;

for j := 1 to i do

begin

write(j,' ');

end;

begin

for j := (i-1) downto 1 do

write(j,' ');

Page 73: Format Lapres Akhir Prak Alpro 2012

end;

writeln(' ');

end;

end;

procedure bagian_akhir;

var

s, i, j, k: integer;

begin

for i := (N-1) downto 1 do

begin

for k := (N-1) downto i do

begin

write(' ');

end;

for j := 1 to i do

begin

write(j,' ');

end;

begin

for j := (i-1) downto 1 do

write(j,' ');

end;

writeln(' ');

end;

end;

begin

writeln(' Program Angka Belah Ketupat ');

writeln('==========================================');

Page 74: Format Lapres Akhir Prak Alpro 2012

writeln('');

write('Masukkan Batas : ');read(N);

writeln('Hasil belah ketupat deretan angka: ');

begin

bagian_awal;

bagian_akhir;

end;

end.

Print Screen Program

2. program Diskriminan;

uses wincrt;

var

a,b,c : integer;

n, z : char;

Function D( var p, q, r : integer) : real;

begin

D := sqrt(b*b-4*a*c);

Page 75: Format Lapres Akhir Prak Alpro 2012

end;

Function X1(var i, j, k : integer) : real;

begin

X1 := (-b+(D(i,j,k)))/(2*a);

end;

Function X2(var i, j, k : integer) : real;

begin

X2 := (-b+(D(i,j,k)))/(2*a);

end;

begin

repeat

clrscr;

writeln('==================================================

==============');

writeln(' PROGRAM DESKRIMINAN ');

writeln('==================================================

==============');

writeln(' Menghitung Nilai Deskriminan:');

writeln(' D=sqrt(sqr(b)-4*a*c)');

writeln('Menghitung Nilai X1:');

writeln(' X1=(-b+(D))/ (2*a)');

writeln('Menghitung Nilai X2:');

writeln(' X2=(-b-(D))/ (2*a)');

write(' => Input Nilai a = ');

readln(a);

write(' => Input Nilai b = ');

readln(b);

Page 76: Format Lapres Akhir Prak Alpro 2012

write(' => Input Nilai c = ');

readln(c);

writeln;

writeln(' Hasil diskriminan (D) : ', D(a, b, c):0:2);

writeln(' Nilai X1 : ', X1(a, b, c):0:2);

writeln(' Nilai X2 : ', X2(a, b, c):0:2);

Writeln;

write('Hitung Ulang [Y/T]? ');

read(n);

Until n='T';

read(z);

end.

Print Screen Program

Page 77: Format Lapres Akhir Prak Alpro 2012

4.2. Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk menghitung

bilangan faktorial dengan menggunakan teknik rekursif dan non-rekursif!

Contoh:

Masukkan faktorial yang akan dihitung: 5

Hasil faktorial : 120

Jawab :

Algoritma factorial

Procedure factorial

Deklarasi

faktor :real

i,n :integer

Deskripsi

readln(n);

factor ← 1;

for I ← 2 to n do{Menghitung n faktorial}

factor ← faktor*i

writeln('Hasil Faktorial : ‘)

end

Deskripsi

factorial

end.

program faktorial;

uses wincrt;

procedure factorial;

var

faktor :real;

i,n :integer;

begin

write('Masukkan factorial yang dihitung : ');readln(n);

faktor:=1;

for i:= 2 to n do{Menghitung n faktorial}

faktor:=faktor*i;

writeln('Hasil Faktorial : ',faktor:0:0);

end;

begin

factorial;

end.

Page 78: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4.3. Tugas Tambahan

1. Buatlah program Bilangan Prima, jika prima tampilkan hasil 1 jika tidak

tampilkan 0 dengan menggunakan fungsi

2. Buatlah program untuk menghitung Diameter Lingkaran menggunakan

prosedur

Jawab :

1. Program Bilangan_Prima;

uses wincrt;

var

bil: longint;

function prima(bil: longint): longint;

begin

writeln('PROGRAM MENENTUKAN BILANGAN PRIMA');

writeln('====================================');

write('Masukkan angka: ');readln(bil);

if ((bil mod 2 <> 0)and (bil mod 3 <> 0) and (bil mod 5 <> 0) and (bil mod 7

<> 0)) then

Page 79: Format Lapres Akhir Prak Alpro 2012

write('>> 1')

else write('>> 0');

end;

begin

prima(bil);

end.

Print Screen Program

3. program Menentukan_Diameter;

uses wincrt;

procedure Diameter;

var

d, r : integer;

begin

writeln('Masukkan Jari-jari : ');readln(r);

d := r + r;

writeln('Diameternya adalah ',d);

end;

begin

writeln(' Program Menentukan Diameter Lingkaran ');

writeln('=========================================');

diameter;

end.

Page 80: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

Page 81: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 4 ini, kita dapat menarik kesimpulan:

1. Prosedur adalah modul program yang mengerjakan aktivitas yang

spesifik dan hasilnya diperoleh dengan membandingkan keadaan awal

dan keadaan akhir pada pelaksanaan sebuah prosedur. Fungsi adalah

suatu bagian dari program yang dirancang untuk melaksanakan tugas

tertentu dan letaknya dipisahkan dari program yang menggunakannya.

2. Procedure tidak mengembalikan nilai ke program utama, sedangkan

fungsi akan mengembalikan nilai ke program utama, itu sebabnya

fungsi harus ada tipe datanya (integer, char atau string). Selain itu,

Procedure outputnya diletakkan di dalam procedure, kalau fungsi

outputnya di letakkan di program utama.

5.2 Saran

Diharapkan asisten praktikum dalam memberikan tugas tambahan tidak

mendadak, sehingga praktikan dalam mengerjakan tugas tambahan tidak dalam

kondisi terburu-buru.

Page 82: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 5

LARIK (ARRAY)

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 05 Juni 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 83: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam pemrograman kita akan mengenal dengan larik (array). Larik

adalah tipe terstruktur yang terdiri dari sejumlah elemen-elemen yang bertipe

sama. Suatu larik memiliki jumlah elemen yang jumlahnya tetap, sehingga

jumlah elemen larik tidak dapat diubah selama pelaksanaan program. Larik

dapat berupa larik satu dimensi ataupun lebih dari satu dimensi. Untuk itu

dalam modul 5 ini, akan dibahas tentang “Larik (Array)”. Sehingga kita bisa

memahami lebih dalam lagi bagaimana cara penggunaannya dengan

menggunakan bahasa pemrograman Pascal.

1.2 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 5

ini adalah :

1. Mahasiswa mengetahui apa kegunaan dari fungsi dan matriks

dalam suatu pemrograman.

2. Mahasiswa mengetahui perbedaan larik dan matriks.

3. Mahasiswa mengetahui bagaimana cara menggunakan fungsi dan

matriks dalam bahasa pemrograman Pascal.

Page 84: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

I. Teori

Larik adalah tipe terstruktur yang terdiri dari sejumlah elemen-elemen yang

bertipe sama. Banyaknya elemen dalam suatu larik ditunjukkan oleh suatu

indeks yang harus merupakan tipe data yang menyatakan keterurutan,

misalnya integer atau karakter (karena ia menyatakan posisi data). Tiap-tiap

elemen di larik dapat diakses langsung melalui indeksnya. Suatu larik

memiliki jumlah elemen yang jumlahnya tetap, sehingga jumlah elemen larik

tidak dapat diubah selama pelaksanaan program. Gambar 5.1. memperlihatkan

struktur deklarasi Larik di dalam Bahasa Pascal.

(* DEKLARASI *)

var

NamaLarik : array[1..JumlahELemen] of TipeElemen;

Gambar 5.1. Struktur Deklarasi Bahasa Pascal Untuk Larik

Cara mengacu elemen larik : NamaLarik[indeks]

Larik dapat berupa larik satu dimensi ataupun lebih dari satu dimensi. Matriks

merupakan contoh larik yang memiliki dimensi lebih dari satu. Struktur

penyimpanan matriks di dalam memori utama yang setiap individu elemennya

diakses dengan menggunakan dua buah indeks (yang biasanya dikonotasikan

dengan baris dan kolom). Karena matriks sebenarnya adalah larik, konsep

umum dari larik juga berlaku untuk matriks, yaitu:

Kumpulan elemen yang bertipe sama, dapat dapat berupa tipe dasar

(integer, real, boolean, char, dan string), atau tipe terstruktur seperti

record.

Setiap elemen data dapat diakses secara langsung jika indeksnya (baris dan

kolom) diketahui.

Page 85: Format Lapres Akhir Prak Alpro 2012

Merupakan struktur data yang statik, artinya jumlah elemennya sudah

dideklarasikan terlebih dahulu di dalam bagian DEKLARASI dan tidak

bisa diubah selama pelaksanaan program.

Elemen matriks diakses melalui indeks baris dan indeks kolomnya. Jika indeks

baris dinyatakan dengan i dan indeks kolom dinyatakan dengan j, maka notasi

algoritmik untuk mengakses elemen pada baris i dan kolom j adalah

nama_matriks[i,j]

Page 86: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Sebutkan dan jelaskan keuntungan-keuntungan penggunaan larik dan matriks!

2. Kapankan sebaiknya larik dan matriks digunakan? Jelaskan!

3. Buat algoritma untuk menentukan bilangan tertinggi dan terendah dari sejumlah

bilangan bulat yang dimasukkan melalui piranti masukan.

Contoh:

Jumlah bilangan yang dimasukkan: 4

Bilangan ke-1: 4

Bilangan ke-2: 11

Bilangan ke-3: 45

Bilangan ke-4: 0

Bilangan tertinggi : 45

Bilangan terendah : 0

4. Buat algoritma untuk menghitung hasil perkalian antara dua buah matriks

Masukan : nilai-nilai dalam dua buah matriks

Keluaran : hasil perkalian dua buah matriks

Jawab :

1. Struktur data yang statik, artinya jumlah elemennya sudah dideklarasikan

terlebih dahulu di dalam bagian DEKLARASI dan tiap-tiap elemen di

larik dapat diakses langsung melalui indeksnya. Suatu larik memiliki

jumlah elemen yang jumlahnya tetap, sehingga jumlah elemen larik tidak

dapat diubah selama pelaksanaan program.

2. Larik digunakan apabila pada program diperlukan suatu penyimpanan

sementara data yang bertipe sama di dalam memori, dan untuk selanjutnya

data tersebut dimanipulasi atau diterapkan oleh proses lainnya.

3. Algoritma max_min

Deklarasi

Page 87: Format Lapres Akhir Prak Alpro 2012

bil : array[1..100] of integer

terbesar :integer

terkecil :integer

i,n :integer

Deskripsi

writeln(' Program Menentukan Bilangan Tertinggi dan Terendah ')

writeln(' ======================================== ')

writeln

write('Jumlah bilangan yang dimasukkan : ')

readln(n)

for i← 1 to n do

Deskripsi

write(' Bilangan ke- ',i,' = ')

readln(bil[i])

end

Deskripsi

terbesar←bil[1]

terkecil←bil[1]

for ← 2 to n do

if bil[i] > terbesar then

terbesar←bil[i]

else

if bil[i] < terkecil then

terkecil←bil[i]

writeln(' -----------------')

writeln(' Bilangan tertinggi =',terbesar)

writeln(' Bilangan terendah =',terkecil)

readln

end.

4. Algoritma perkalian_matriks

Deklarasi

Page 88: Format Lapres Akhir Prak Alpro 2012

M1 : array[1..20, 1..20] of longint

M2 : array[1..20, 1..20] of longint

M3 : array[1..20, 1..20] of longint

n : array[1..2] of integer

m : array[1..2] of integer

i, j, x, y, k, l : integer

Deskripsi

for k ← 1 to 2 do

Deskripsi

write('Banyak baris matriks ke-', k, ' : ')

readln(m[k])

write('Banyak kolom matriks ke-', k, ' : ')

readln(n[k])

end

if (n[1] ≠ m[2]) then

writeln('Tidak bisa dikalikan!')

else

writeln('Matriks pertama : ')

y ← 6

for i ← 1 to m[1] do begin

x ← 8

for j ← 1 to n[1] do

Deskripsi

readln(M1[i,j])

x ← x + 8

end

y←y + 1

end

writeln('Matriks kedua : ')

y ← y + 1

for i ← 1 to m[2] do

x ← 8

Page 89: Format Lapres Akhir Prak Alpro 2012

for j ← 1 to n[2] do

Deskripsi

readln(M2[i,j])

x ← x + 8

end

y ← y + 1

end

writeln('Proses perkalian')

y ← y + 1

for i ← 1 to m[1] do

Deskripsi

x ← 2

for j ← 1 to n[2] do

Deskripsi

M3[i,j] ← 0

for l ← 1 to n[1] do

Deskripsi

M3[i,j] ← M3[i,j] + (M1[i,l] * M2[l,j])

write(M1[i,l], ' . ', M2[l,j])

if l < n[1] then

write(' + ')

end

x ← x + 12

end

x ← x + 15

end

y ← y + 1

end

y ← y + 1

for i ← 1 to m[1] do

Page 90: Format Lapres Akhir Prak Alpro 2012

Deskripsi

x ← 2

for j ← 1 to n[2] do

Deskripsi

for l ← 1 to n[1] do

Deskripsi

write(M1[i,l] * M2[l,j])

if l < n[1] then begin

write(' + ')

end

x ← x + 12

end

x ← x + 15

end

y ← y + 1

end

writeln

writeln('Perkalian Matriks : ')

for i ← 1 to m[1] do

Deskripsi

for j ← 1 to n[2] do

write(M3[i,j]:8);]

writeln

end

end

end.

Page 91: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1. Kegiatan Praktikum

Pada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk tugas prepraktikum 3!

2. Buat program untuk tugas prepraktikum 4!

Jawab :

1. program max_min;

uses wincrt;

var

bil:array[1..100] of integer;

terbesar :integer;

terkecil :integer;

i,n :integer;

begin

writeln(' Program Menentukan Bilangan Tertinggi dan Terendah ');

writeln(' ============================================ ');

writeln;

write('Jumlah bilangan yang dimasukkan : ');readln(n);

for i:= 1 to n do

begin

write(' Bilangan ke- ',i,' = ');readln(bil[i]);

end;

terbesar:=bil[1];

terkecil:=bil[1];

for i:= 2 to n do

if bil[i] > terbesar then

terbesar:=bil[i]

else

if bil[i] < terkecil then

terkecil:=bil[i];

writeln(' -----------------');

Page 92: Format Lapres Akhir Prak Alpro 2012

writeln(' Bilangan tertinggi =',terbesar);

writeln(' Bilangan terendah =',terkecil);

readln;

end.

Print Screen Program

2. program perkalian_matriks;

uses wincrt;

var

M1 : array[1..20, 1..20] of longint;

M2 : array[1..20, 1..20] of longint;

M3 : array[1..20, 1..20] of longint;

n : array[1..2] of integer;

m : array[1..2] of integer;

i, j, x, y, k, l : integer;

begin

clrscr;

for k := 1 to 2 do begin

write('Banyak baris matriks ke-', k, ' : ');

readln(m[k]);

write('Banyak kolom matriks ke-', k, ' : ');

Page 93: Format Lapres Akhir Prak Alpro 2012

readln(n[k]);

end;

if (n[1] <> m[2]) then

writeln('Tidak bisa dikalikan!')

else begin

writeln('Matriks pertama : ');

y := 6;

for i := 1 to m[1] do begin

x := 8;

for j := 1 to n[1] do begin

gotoxy(x,y);

readln(M1[i,j]);

x := x + 8;

end;

y := y + 1;

end;

writeln('Matriks kedua : ');

y := y + 1;

for i := 1 to m[2] do begin

x := 8;

for j := 1 to n[2] do begin

gotoxy(x,y);

readln(M2[i,j]);

x := x + 8;

end;

y := y + 1;

end;

writeln('Proses perkalian');

y := y + 1;

for i := 1 to m[1] do begin

Page 94: Format Lapres Akhir Prak Alpro 2012

x := 2;

for j := 1 to n[2] do begin

M3[i,j] := 0;

for l := 1 to n[1] do begin;

M3[i,j] := M3[i,j] + (M1[i,l] * M2[l,j]);

gotoxy(x,y);

write(M1[i,l], ' . ', M2[l,j]);

if l < n[1] then begin

write(' + ');

end;

x := x + 12;

end;

x := x + 15;

end;

y := y + 1;

end;

y := y + 1;

for i := 1 to m[1] do begin

x := 2;

for j := 1 to n[2] do begin

for l := 1 to n[1] do begin;

gotoxy(x,y);

write(M1[i,l] * M2[l,j]);

if l < n[1] then begin

write(' + ');

end;

x := x + 12;

end;

x := x + 15;

end;

Page 95: Format Lapres Akhir Prak Alpro 2012

y := y + 1;

end;

writeln;

writeln('Perkalian Matriks : ');

for i := 1 to m[1] do begin

for j := 1 to n[2] do

write(M3[i,j]:8);

writeln;

end;

end;

end.

Print Screen Program

4.2. Tugas Akhir

Buatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk operasi invers

matriks sampai ordo 3!

Jawab :

Algoritma Invers_Matriks

Type

R = array[1..50,1..50] of real

Deklarasi

x, y, z : integer

Page 96: Format Lapres Akhir Prak Alpro 2012

n : integer

M : R

Procedure Invers

Deklarasi

P, a : real

Deskripsi

For x ← 1 to n do

Deskripsi

P ← M[x,x]

M[x,x] ← 1

For y ← 1 to n do

M[x,y] ← M[x,y] / P

For z ← 1 to n do

Deskripsi

if z ≠ x then

Deskripsi

a ← M[z,x]

M[z,x] ← 0

For y ← 1 to n do

M[z,y] ←M[z,y] - a * M[x,y]

end

end

end

end

Procedure Tampil

Deskripsi

For x ← 1 to n do

Deskripsi

For y ← 1 to n do

write( M[x,y]:15:1)

writeln

end

end

Deskripsi

writeln('===================================================

========')

writeln('PROGRAM INVERS MATRIKS')

writeln('===================================================

========')

writeln

write(' >> Input banyaknya Orde : ')

readln(n)

writeln

For x ← 1 to n do

Page 97: Format Lapres Akhir Prak Alpro 2012

Deskripsi

For y ← 1 to n do

Deskripsi

write(' - Nilai [',x,',',y,'] : ')

readln(M[x,y])

end

end

writeln(' >> Hasil dari invers matriks :')

writeln

writeln(' --> Matriksnya :')

writeln

Tampil

Invers

writeln;]

writeln(' --> Invers Matrik :')

writeln

Tampil

end.

Program Invers_Matriks;

Uses Wincrt;

Type

R = array[1..50,1..50] of real;

Var

x, y, z : integer;

n : integer;

M : R;

Procedure Invers;

Var

P, a : real;

Begin

For x := 1 to n do;

Begin

P := M[x,x];

M[x,x] := 1;

For y := 1 to n do

M[x,y] := M[x,y] / P;

For z := 1 to n do

Begin

if z <> x then

Begin

a := M[z,x];

M[z,x] := 0;

For y := 1 to n do

M[z,y] := M[z,y] - a * M[x,y];

Page 98: Format Lapres Akhir Prak Alpro 2012

end;

end;

end;

end;

Procedure Tampil;

Begin

For x := 1 to n do

Begin

For y := 1 to n do

write( M[x,y]:15:1);

writeln;

end;

end;

begin

clrscr;

writeln('===================================================

========');

gotoxy(20,2);

writeln('PROGRAM INVERS MATRIKS');

writeln('===================================================

========');

writeln;

write(' >> Input banyaknya Orde : ');

readln(n);

writeln;

For x := 1 to n do

Begin

For y := 1 to n do

Begin

write(' - Nilai [',x,',',y,'] : ');

readln(M[x,y]);

end;

end;

clrscr;

writeln(' >> Hasil dari invers matriks :');

writeln;

writeln(' --> Matriks asal :');

writeln;

Tampil;

Invers;

writeln;

writeln(' --> Invers Matrik :');

writeln;

Tampil;

end.

Page 99: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4.3. Tugas Tambahan

1. Buatlah program transpose matriks 3x3

2. Buatlah program determinan matriks 3x3

Jawab :

1. Program transpose;

uses wincrt;

type t = object

m1 : array [1..3,1..3] of integer;

lok : array [1..4] of integer;

procedure input;

procedure tampil;

procedure transpos;

Page 100: Format Lapres Akhir Prak Alpro 2012

end;

var m :t;

i, j, k, pil, det1, det2 : integer;

procedure t.input;

begin

clrscr;

writeln(' Program Transpos Matriks Ordo 3x3 ');

writeln('===============================================');

writeln;

writeln (' Inputkan Matrik! ');

writeln;

for i:= 1 to 3 do

begin

for j := 1 to 3 do

begin

write ('Elemen Matrik [',i,',',j,']:');

readln (m1[i,j]);

end;

end;

end;

procedure t.tampil;

begin

writeln;

writeln(' *Matrik I*');

writeln (m1[1,1]:5,m1[1,2]:5,m1[1,3]:5);

writeln (m1[2,1]:5,m1[2,2]:5,m1[2,3]:5);

end;

Procedure t.transpos;

begin

writeln;writeln ('* Transpose Matrik I *');

writeln(m1[1,1]:5,m1[2,1]:5,m1[1,3]:5);

writeln(m1[1,2]:5,m1[2,2]:5,m1[2,3]:5);

Page 101: Format Lapres Akhir Prak Alpro 2012

readln;

end;

begin

m.input;

m.tampil;

m.transpos;

end.

Print Screen Program

2. program determinan;

uses wincrt;

type t = object

m1,m2 : array [1..3,1..3] of integer;

lok : array [1..4] of integer;

procedure input;

procedure deter;

procedure tampil;

end;

Page 102: Format Lapres Akhir Prak Alpro 2012

var m :t;

i, j, k, pil, det1: integer;

procedure t.input;

begin

clrscr;

writeln(' Program Determinan Matriks Ordo 3x3 ');

writeln('==============================================='

);

writeln;

writeln (' Inputkan Matrik! ');

writeln;

for i:= 1 to 3 do

begin

for j := 1 to 3 do

begin

write ('Elemen Matrik [',i,',',j,']:');

readln (m1[i,j]);

end;

end;

end;

procedure t.tampil;

begin

writeln;

writeln (m1[1,1]:5,m1[1,2]:5,m1[1,3]:5);

writeln (m1[2,1]:5,m1[2,2]:5,m1[2,3]:5);

end;

procedure t.deter;

var a, b : integer;

begin

a:= (m1[1,1]*m1[2,2]*m1[3,3]) +(m1[2,1]*m1[3,2]*m1[1,3])

+(m1[3,1]*m1[1,2]*m1[2,3]);

Page 103: Format Lapres Akhir Prak Alpro 2012

b:=(m1[3,1]*m1[2,2]*m1[1,3])-(m1[1,1]*m1[3,2]*m1[2,3])-

(m1[2,1]*m1[1,2]*m1[3,3]);

det1:= a-b;

writeln;

writeln ('Determinan Matrik = ',det1);

readln;

end;

begin

m.input;

m.tampil;

m.deter;

end.

Print Screen Program

Page 104: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 5 ini, kita dapat menarik kesimpulan:

1. Larik adalah tipe terstruktur yang terdiri dari sejumlah elemen-elemen

yang bertipe sama. Larik dapat berupa larik satu dimensi ataupun lebih

dari satu dimensi.

2. Matriks merupakan contoh larik yang memiliki dimensi lebih dari satu.

Struktur penyimpanan matriks di dalam memori utama yang setiap

individu elemennya diakses dengan menggunakan dua buah indeks (yang

biasanya dikonotasikan dengan baris dan kolom).

3. Larik dan matriks merupakan struktur data yang statik, artinya jumlah

elemennya sudah dideklarasikan terlebih dahulu di dalam bagian

DEKLARASI dan tidak bisa diubah selama pelaksanaan program.

5.2 Saran

Dalam menjelaskan materi diharapkan lebih jelas. Sehingga praktikan dapat

mengerjakan laporan dengan baik tanpa kebingungan.

Page 105: Format Lapres Akhir Prak Alpro 2012

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN

Modul 6

RECORD

Disusun Oleh :

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO

2012

Disetujui : ....../……./………../Bangkalan

( Andy Hartono )

10.04.1.1.1.00020

TGL PRAKTIKUM : 05 Juni 2012

NAMA : Shobihatul Mubarokah Ayu Aseptica

NRP : 11.04.111.00039

KELAS : A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.

ASISTEN : Andy Hartono

Page 106: Format Lapres Akhir Prak Alpro 2012

BAB I

PENDAHULUAN

1.3 Latar Belakang

Record adalah elemen larik yang bertipe terstruktur. Dengan

menggunakan tipe data record, beberapa item data yang masing-masing dapat

mempunyai tipe data berbeda-beda dapat dikumpulkan. Sehingga untuk

mengaplikasikan sebuah program yang terdiri dari beberapa field, kita

memerlukan larik yang dibahas pada paktikum sebelumnya karena sangat

membantu programmer dalam menyelesaikan programnya.

Untuk itu dalam modul 6 ini, akan dibahas tentang “record”.

Sehingga kita bisa memahami lebih dalam lagi bagaimana cara

penggunaannya dengan menggunakan bahasa pemrograman Pascal.

1.3 Tujuan

Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 6

ini adalah :

5. Mahasiswa mengetahui apa kegunaan dari record dalam suatu

pemrograman.

6. Mahasiswa mengetahui bagaimana cara menggunakan record dalam

bahasa pemrograman Pascal.

Page 107: Format Lapres Akhir Prak Alpro 2012

BAB II

DASAR TEORI

2.1 Teori Singkat

Record adalah elemen larik yang bertipe terstruktur. Dengan

menggunakan tipe data record, beberapa item data yang masing-masing dapat

mempunyai tipe data berbeda-beda dapat dikumpulkan. Masing-masing item data

disebut dengan field. Jadi record terdiri dari kumpulan field yang dapat berbeda

tipe. Biasanya suatu record berisi beberapa field untuk sebuah subyek tertentu.

Misalnya record TabelMhs dalam Gambar 6.1. adalah sebuah larik (sejumlah 100

elemen) yang elemennya menyatakan nilai ujian mata kuliah (MK) yang diambil

seorang mahasiswa. Data (field) setiap mahasiswa adalah NIM (Nomor Induk

Mahasiswa), nama mahasiswa, mata kuliah yang diambil, dan nilai mata kuliah

tersebut.

Tabel Mhs

NIM NamaMhs KodeMK Nilai

1 0604100001 M. Khairuddin FTC155 A

2 0604100002 Agastya FTC165 B

3 0604100003 Budi Kusuma FTC177 D

4 0604100004 Marina FTC178 B

5 0604100005 Eliawati FTC180 A

.

.

100 0604100100 Prasetyo FTC185 C

Gambar 6.1. Struktur Record TabelMhs

Page 108: Format Lapres Akhir Prak Alpro 2012

BAB III

TUGAS PENDAHULUAN

Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.

1. Sebutkan dan jelaskan keuntungan-keuntungan penggunaan record!

2. Kapankan sebaiknya record digunakan? Jelaskan!

3. Buatlah algoritma untuk mengurutkan data berdasarkan nomor mahasiswa

(NPM) dengan urutan dari yang terkecil ke yang terbesar serta mempunyai

kemampuan untuk menampilkan jumlah total mahasiswa sesuai dengan

kriteria yang dimasukkan oleh user.

Misalnya: user ingin mengetahui jumlah mahasiswa yang mempunyai nilai A

untuk mata kuliah X, maka algoritma akan menampilkan jumlah mahasiswa

yang mempunyai nilai A untuk mata kuliah X .

Masukan : jumlah mahasiswa.

Selanjutnya memasukkan record data mahasiswa. Data (field)

setiap mahasiswa adalah NPM (Nomor Pokok Mahasiswa), nama

mahasiswa, mata kuliah yang diambil, dan nilai mata kuliah

tersebut

Keluaran : hasil pengurutan data berdasarkan NPM

Hasil ditampilan dalam bentuk tabel seperti di bawah ini :

NPM Nama Kode Nilai

Jawab :

4. Record merupakan item data yang masing-masing dapat mempunyai tipe

data berbeda-beda yang dapat dikumpulkan. Masing-masing item data

Page 109: Format Lapres Akhir Prak Alpro 2012

disebut dengan field. Jadi record terdiri dari kumpulan field yang dapat

berbeda tipe.

5. Saat memiliki beberapa data dengan tipe data yang berbeda dan ingin

mengumpulkan serta menyimpan data tersebut menjadi satu kumpulan.

6. Algoritma nilai_mahasiswa

Const

Nmax=50

Type Data=Record

NPM:integer

Nama : string[20]

MK: string[20]

Nilai:char

End

Deklarasi

R:Array[1..Nmax] of Data

Simpan:Data

i,j,n:integer

Procedure satu(Var Simpan:data)

Deklarasi

i:integer

Deskripsi

For i:= 1 to n do

Deskripsi

writeln(' * Pengisian Data : ')

writeln(' >> Data ke- ',i)

write(' - NPM = ')

readln(R[i].NPM)

write(' - Nama Mahasiswa = ')

readln(R[i].Nama)

write(' - Mata Kuliah = ')

readln(R[i].MK)

Page 110: Format Lapres Akhir Prak Alpro 2012

write(' - Nilai Mahasiswa = ')

readln(R[i].Nilai)

writeln

End

End

Procedure dua(Var Simpan:Data;nilai:integer)

Deskripsi

For i := 1 to n-1 do

For j := 1 to n-1 do

if R[j].NPM > R[J+1].NPM then

Deskripsi

Simpan ← R[J]

R[J] ← R[J+1]

R[J+1] ← Simpan

End

End

Procedure Tiga(n:integer;simpan:data)

Deskripsi

writeln

writeln('Tabel Nilai Mahasiswa')

writeln

writeln('===============================================

========================')

writeln('| NPM | Nama Mahasiswa | Mata Kuliah | Nilai |');

writeln('===============================================

========================')

For i ← 1 to n do

Deskripsi

write('|')

Page 111: Format Lapres Akhir Prak Alpro 2012

writeln(R[i].NPM:10,' | ',R[i].Nama:20,' |',R[I].MK:20,' |',R[I].Nilai:7,'

|')

end

writeln('===============================================

========================')

End

Deskripsi

writeln('*****************************************************

*******************')

writeln('Program Tampil Nilai Mahasiswa')

writeln('*****************************************************

****** *************')

write(' * Input banyaknya data : ')

read(n)

writeln

satu(Simpan)

dua(Simpan,n)

Tiga(n,simpan)

end.

Page 112: Format Lapres Akhir Prak Alpro 2012

BAB IV

IMPLEMENTASI

4.1. Kegiatan Praktikum

Pada saat praktikum, kerjakan tugas-tugas berikut ini:

1. Buat program untuk tugas prepraktikum 3!

Jawab :

program nilai_mahasiswa;

uses wincrt;

Const

Nmax=50;

Type Data=Record

NPM:integer;

Nama : string[20];

MK: string[20];

Nilai:char;

End;

Var

R:Array[1..Nmax] of Data;

Simpan:Data;

i,j,n:integer;

Procedure satu(Var Simpan:data);

Var

i:integer;

Begin

For i:= 1 to n do

Begin

writeln(' * Pengisian Data : ');

writeln(' >> Data ke- ',i);

write(' - NPM = ');

readln(R[i].NPM);

Page 113: Format Lapres Akhir Prak Alpro 2012

write(' - Nama Mahasiswa = ');

readln(R[i].Nama);

write(' - Mata Kuliah = ');

readln(R[i].MK);

write(' - Nilai Mahasiswa = ');

readln(R[i].Nilai);

writeln;

End;

End;

Procedure dua(Var Simpan:Data;nilai:integer);

Begin

For i := 1 to n-1 do

For j := 1 to n-1 do

if R[j].NPM > R[J+1].NPM then

Begin

Simpan := R[J];

R[J] := R[J+1];

R[J+1]:= Simpan;

End;

End;

Procedure Tiga(n:integer;simpan:data);

Begin

writeln;

writeln('Tabel Nilai Mahasiswa');

writeln;

writeln('================================================

=======================');

writeln('| NPM | Nama Mahasiswa | Mata Kuliah | Nilai |');

writeln('================================================

=======================');

Page 114: Format Lapres Akhir Prak Alpro 2012

For i := 1 to n do

Begin

write('|');

writeln(R[i].NPM:10,' | ',R[i].Nama:20,' |',R[I].MK:20,' |',R[I].Nilai:7,'

|');

end;

writeln('================================================

=======================');

End;

Begin

writeln('******************************************************

******************');

gotoxy(20,2);

writeln('Program Tampil Nilai Mahasiswa');

writeln('******************************************************

***** *************');

write(' * Input banyaknya data : ');

read(n);

writeln;

satu(Simpan);

clrscr;

dua(Simpan,n);

Tiga(n,simpan);

end.

Page 115: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4.2. Tugas Akhir

Buatlah algoritma dan terjemahkan dalam bahasa pascal untuk

memasukkan data belanja dan menampilkannya dalam bentuk nota Belanja. Total

Harga dan Total belanja didapat dengan melakukan proses perhitungan kemudian

hasil nya ditampilkan dalam bentuk seperti contoh dibawah ini.

Nota Belanja Barang

Toko ABADI

Jl. Riwa-riwi No. 123 Surabaya

Tanggal Pembelian : 04-11-2009

Nama Pembeli : Yoremi Sido

Alamat : Jl. Suka-suka No. 321 Surabaya

Page 116: Format Lapres Akhir Prak Alpro 2012

No Kode Barang Nama Barang Harga Satuan

(Rp)

Jumlah Harga x

Jumlah

(Rp)

1 AB123 Barang A 15000

2 30000

2 BC234 Barang B 20000

1 20000

3 CD345 Barang C 25000

2 50000

4 DE456 Barang D 30000

3 90000

5 EF567 Barang E 35000 4 140000

T O T A L B E L A N J A (Rp) 330000

Jawab :

Algoritma Nota

Deklarasi

kode : array[1..20] of string

nama_barang : array[1..20] of string

harga : array[1..20] of real

banyak : array[1..20] of byte

kata,grs :string

x,y,i,j :byte

Jum_Harga,Total_Harga,disc,Total_Bayar,uang :real

Deskripsi

writeln('

=============================================================

============')

grs:='=========================================================

================'

kata:='Nota Belanja Barang Toko ABADI Jl. Riwa-riwi No. 123 Surabaya'

x:=round((78-length(kata))/2)

writeln(kata)

Page 117: Format Lapres Akhir Prak Alpro 2012

x:=round((78-length(grs))/2)

]write(grs)

{-----------------------------}

write(' >> Tanggal Pembelian: ');readln

write(' >> Nama Pembeli : ');readln

write(' >> Alamat : ');readln

write(grs)

writeln('| No | Kode | Nama Barang | Harga Satuan | Jumlah | Jumlah Harga |')

write(grs)

{--------------------------------------------------------------------}

i ← 0

Total_Harga ← 0

repeat

i ← i+1

write('| ',i)

write('|')

readln(kode[i])

if kode[i] ≠ '' then begin

write('|')

readln(nama_barang[i])

write('|')

readln(Harga[i])

writeln(Harga[i]:10:2)

write('|')

readln(Banyak[i])

write('|')

Jum_Harga ← Harga[i]*Banyak[i]

writeln(Jum_Harga:10:2)

writeln('|')

Total_Harga←Total_Harga+Jum_Harga

end

until nama_barang[i]=''

j←i-1

write(grs)

Page 118: Format Lapres Akhir Prak Alpro 2012

write('Total Belanja (Rp) --------------------------------------:')

write(Total_Harga:10:2)

write('|')

write(grs)

end.

Program Nota;

uses wincrt;

var

kode : array[1..20] of string;

nama_barang : array[1..20] of string;

harga : array[1..20] of real;

banyak : array[1..20] of byte;

kata,grs :string;

x,y,i,j :byte;

Jum_Harga,Total_Harga,disc,Total_Bayar,uang :real;

begin

clrscr;

writeln('

=============================================================

============');

grs:='=========================================================

================';

kata:='Nota Belanja Barang Toko ABADI Jl. Riwa-riwi No. 123 Surabaya';

x:=round((78-length(kata))/2);

gotoxy(x,2);writeln(kata);

x:=round((78-length(grs))/2);

gotoxy(x,3);write(grs);

{-----------------------------}

gotoxy(x,4);write(' >> Tanggal Pembelian: ');readln;

gotoxy(x,5);write(' >> Nama Pembeli : ');readln;

gotoxy(x,6);write(' >> Alamat : ');readln;

gotoxy(x,7);write(grs);

Page 119: Format Lapres Akhir Prak Alpro 2012

gotoxy(x,8);writeln('| No | Kode | Nama Barang | Harga Satuan | Jumlah | Jumlah

Harga |');

gotoxy(x,9);write(grs);

{--------------------------------------------------------------------}

i:=0;

Total_Harga:=0;

repeat

i:=i+1;

gotoxy(x,9+i);write('| ',i);

gotoxy(x+5,9+i);write('|');

gotoxy(x+9,9+i);readln(kode[i]);

if kode[i] <>'' then begin

gotoxy(x+13,9+i);write('|');

gotoxy(x+15,9+i);readln(nama_barang[i]);

gotoxy(x+32,9+i);write('|');

gotoxy(x+33,9+i);readln(Harga[i]);

gotoxy(x+33,9+i);writeln(Harga[i]:10:2);

gotoxy(x+48,9+i);write('|');

gotoxy(x+50,9+i);readln(Banyak[i]);

gotoxy(x+57,9+i);write('|');

Jum_Harga:=Harga[i]*Banyak[i];

gotoxy(x+58,9+i);writeln(Jum_Harga:10:2);

gotoxy(x+72,9+i);writeln('|');

Total_Harga:=Total_Harga+Jum_Harga ;

end;

until nama_barang[i]='';

j:=i-1;

gotoxy(x,10+j);write(grs);

gotoxy(x,10+j+1);write('Total Belanja (Rp) --------------------------------------:');

gotoxy(x+58,10+j+1);write(Total_Harga:10:2);

gotoxy(x+72,10+j+1);write('|');

gotoxy(x,12+j);write(grs);

end.

Page 120: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

4.3. Tugas Tambahan

Buatlah program data mahasiswa praktikum alro kelas A3. Isi data antara lain:

1. NRP

2. Nama

3. Jurusan

4. Nilai

Jawab :

program mahasiwa;

uses wincrt;

type tabel_mhs= record

nrp :string [12];

nama :string [20];

jurusan :string[18];

nilai:integer;

end;

var

mhs : array[1..100] of tabel_mhs;

temp:tabel_mhs;

j,k,n: integer;

ul,ul2 : char;

Page 121: Format Lapres Akhir Prak Alpro 2012

procedure input_data;

begin

writeln('=================================================');

writeln(' Data Nilai Mahasiswa Praktikum Alro Kelas A3 ');

writeln('=================================================');

write('Banyaknya mahasiswa : '); readln(n);

for j:= 1 to n do

with mhs [j] do

begin

writeln ('Data Mahasiswa ',j);

write ('NRP :'); readln (nrp);

write ('Nama :'); readln (nama);

write ('Jurusan :'); readln (Jurusan);

write ('Nilai :'); readln (nilai);

writeln;

end;

end;

procedure urut_nilai;

begin

for j:=1 to n do

for k:=j to n do

if mhs[j].nilai > mhs[k].nilai then

begin

temp:=mhs[j] ;

mhs[j]:=mhs[k] ;

mhs[k]:=temp ;

end;

end;

Page 122: Format Lapres Akhir Prak Alpro 2012

procedure tampilan;

begin

urut_nilai;

clrscr;

writeln('=================================================');

writeln(' Data Nilai Mahasiswa Praktikum Alro Kelas A3 ');

writeln('==================================================');

writeln;

writeln('

=======================================================');

writeln('|NRP |Nama |Jurusan |Nilai |');

writeln('

======================================================');

for j:=1 to n do

begin

writeln('|',mhs[j].nrp:15,'|',mhs[j].nama:23,'|',mhs[j].jurusan:21,'|',mhs[j].nilai:14,'|'

);

end;

writeln('

=======================================================');

end;

begin

input_data;

urut_nilai;

tampilan;

end.

Page 123: Format Lapres Akhir Prak Alpro 2012

Print Screen Program

Page 124: Format Lapres Akhir Prak Alpro 2012

BAB V

PENUTUP

5.1 Kesimpulan

Dari laporan praktikum modul 6 ini, kita dapat menarik kesimpulan:

4. Record adalah elemen larik yang bertipe terstruktur. Dengan menggunakan

tipe data record, beberapa item data yang masing-masing dapat

mempunyai tipe data berbeda-beda dapat dikumpulkan

5. Masing-masing item data disebut dengan field. Jadi record terdiri dari

kumpulan field yang dapat berbeda tipe. Biasanya suatu record berisi

beberapa field untuk sebuah subyek tertentu.

5.2 Saran

Diharapkan asisten praktikum dalam menjelaskan materi dapat lebih jelas

lagi.

Page 125: Format Lapres Akhir Prak Alpro 2012

DAFTAR RIWAYAT HIDUP

Data Pribadi

Nama : Shobihatul Mubarokah Ayu Aseptica

Tempat Tanggal Lahir : Lamongan, 01 Mei 1993

Alamat : Bojonegoro

Agama : Islam

Jenis Kelamin : Perempuan

Warga Negara : Indonesia

Tinggi / Berat Badan : 150 / 48

Status : Mahasiswa

E-mail : [email protected]

Web-blog : -

Riwayat Pendidikan

TK ABA II : 1997 – 1999

MIN KEPATIHAN BOJONEGORO : 1999 – 2005

MTsN 1 BOJONEGORO : 2005 – 2008

MAN 1 BOJONEGORO : 2008 – 2011

UNIVERSITAS TRUNOJOYO : 2011 – Sekarang

Page 126: Format Lapres Akhir Prak Alpro 2012

PENUTUP

Kesimpulan

Dalam membuat suatu program terlebih dahulu penting untuk mengetahui

dasar-dasar pemrograman. Dalam mengenal dan memahami tentang apa dan

bagaimana program berjalan pengenalan yang paling utama meliputi:

1. Stuktur Program Pascal, Tipe data, variabel, dan Konstanta

Stuktur Program Pascal terdiri dari :Judul Program, bagian Deklarasi dan

bagian Deskripsi. Tipe data terdiri dari tipe dasar, operator dan lain-lain.

2. Penyeleksian Kondisi,

Penyeleksian Kondisi merupakan suatu aksi yang hanya dikerjakan apabila

persyaratan atau kondisi tertentu terpenuhi. Stuktur yang digunakan if-then.

Penyeleksian Kondisi diklasifikasikan menjadi 2, yaitu; satu kondisi (if-then)

dan dua kondisi atau lebih(if-then-else)

3. Pengulangan (Looping)

Struktur Pengulangan dibagi menjadi dua, yaitu struktur pengulangan

tanpa kondisi (For) dan struktur pengulangan dengan kondisi (While). Untuk

Stuktur FOR, Jumlah pengulangan diketahui atau dapat ditentukan sebelum

eksekusi. Sedangkan untuk struktur While, Jika kondisi bernilai false, badan

pengulangan tidak akan dilaksanakan, yang berarti pengulangan selesai.

4. Procedure dan Fungsi

Prosedur adalah modul program yang mengerjakan aktivitas yang spesifik

dan hasilnya diperoleh dengan membandingkan keadaan awal dan keadaan

akhir pada pelaksanaan sebuah prosedur. Fungsi juga merupakan modul

program yang mempunyai tujuan spesifik. Fungsi

memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu (tipe dasar

atau tipe bentukan). Fungsi diakses dengan memanggil namanya.

5. Larik(Array)

Page 127: Format Lapres Akhir Prak Alpro 2012

Larik adalah tipe terstruktur yang terdiri dari sejumlah elemen-elemen

yang bertipe sama. Banyaknya elemen dalam suatu larik ditunjukkan oleh

suatu indeks yang harus merupakan tipe data yang menyatakan keterurutan,

misalnya integer atau karakter (karena ia menyatakan posisi data). Tiap-tiap

elemen di larik dapat diakses langsung melalui indeksnya.

6. Record

Record adalah elemen larik yang bertipe terstruktur. Dengan menggunakan

tipe data record, beberapa item data yang masing-masing dapat mempunyai

tipe data berbeda-beda dapat dikumpulkan. Masing-masing item data disebut

dengan field. Jadi record terdiri dari kumpulan field yang dapat berbeda tipe.

Biasanya suatu record berisi beberapa field untuk sebuah subyek tertentu.

Saran

- Kegiatan Praktikum dapat dilaksanakan dan diakhiri tepat waktu.

- Demo Program tiap modul tetap dilaksanakan untuk mengukur

pemahaman masing-masing praktikan terhadap apa yang diajarkan.

- Demo Program dilaksanakan di tempat yang sama seperti Laboratorium

Pemrograman dan lainnya.

- Jadwal Demo Program untuk tiap modul ditetapkan dan disepakati

bersama (semua anggota kelas praktikum).