Anda di halaman 1dari 127

LAPORAN RESMI AKHIR PRAKTIKUM ALGORITMA PEMPROGRAMAN LABORATORIUM PEMPROGRAMAN

Disusun oleh : NAMA KELAS JURUSAN DOSEN PENGAMPUH ASPRAK Shobihatul Mubarokah Ayu Aseptica A3 TEKNIK INFORMATIKA NOOR IFADA, ST., MISD. ANDI HARTONO

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA

LEMBAR PENGESAHAN PRAKTIKUM PRAKTIKUM ALGORITMA PEMPROGRAMAN LABORATORIUM PEMROGRAMAN

NAMA NRP KELAS No

: Shobihatul Mubarokah Ayu Aseptica : 110411100039 : A3 Hari / Tanggal


Selasa 08 Mei 2012 Selasa 15 Mei 2012 Selasa 22 Mei 2012 Selasa 29 Mei 2012 Selasa 05 Juni 2012 Selasa 05 Juni 2012

Modul
1 STRUKTUR PROGRAM PASCAL, TIPE DATA, VARIABEL, DAN KONSTANTA 2 PENYELEKSIAN KONDISI 3 PENGULANGAN (LOOPING) 4 PROSEDUR DAN FUNGSI 5 LARIK (ARRAY) 6 RECORD

Paraf Asisten

1.

2. 3. 4. 5. 6.

Nilai Akhir Co.Assisten

: _______________

Nilai Akhir

: ________________

Bangkalan, Juni 2012 Mengetahui Dosen Pengampu, Koordinator Asisten Dosen

Noor Ifada, ST,. Misd.

Andi Sholihin

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 kekurangankekurangan agar dimasa yang akan datang lebih baik lagi.

Penyusun

Shobihatul Mubarokah Ayu Aseptica NRP 11.04.111.00039

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........................................................... ........................................

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............................................................................................

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........................................................................................

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............................................................................................

4.1. Kegiatan Praktikum............................................................................................. 4.2. Tugas Akhir......................................................................................................... 4.3. Tugas Tambahan................................................................................................. BAB. V. Penutup.................................................................................................. 5.1. Kesimpulan......................................................................................................... 5.2. Saran....................................................................................................................

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 1 STRUKTUR PROGRAM PASCAL, TIPE DATA, VARIABEL, DAN KONSTANTA

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 07 Mei 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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

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

Tabel 1.1. Notasi Bahasa Pascal Kelompok


1. Tipe Dasar

Notasi Pascal
boolean byte shortint word integer longint real double extended char string string[N] record field1: type; field2: type; ... fieldN: type; end;

Ket.

1 byte 1 byte 2 byte 2 byte 4 byte

2. Operator a. Aritmatika + * / div mod b. Perbandingan < <= Penjumlahan Pengurangan Perkalian Pembagian Hasil bagi Sisa bagi Lebih kecil dari Lebih kecil atau sama dengan

> >=

Lebih besar dari Lebih besar atau sama dengan

= <> c. Logika not and or xor 3. Komentar { komentar } (* komentar *) 4. Lain-lain const type true false

Sama dengan Tidak sama dengan

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 _nilai1 Angka1 @umur Tanggal lahir 4alasan Alamat_rumah Max Benar/Salah Alasan Pembetulan

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;

indeks : char; nama : string;

2. Tabel 1.2. Penelusuran Kebenaran Nama Variabel Nama Variabel Benar/Salah Alasan Karena tanda hubung ( _ ) digunakan untuk pemisah Variabel dapat dengan Angka1 benar huruf atau angka namun tidak diawali oleh angka Variabel tidak boleh diawali dengan simbol maupun angka Pemisahan nama variabel Tanggal lahir Salah harus menggunakan tanda hubung _ {strip bawah} Variabel dapat dengan 4alasan salah huruf atau angka namun tidak diawali oleh angka Pemisahan nama variabel Alamat_rumah Betul harus menggunakan tanda hubung _ {strip bawah} Karena tidak diawali dengan angka maupun simbol alasan Tanggal_lahir Pembetulan

_nilai1

Salah

Nilai1

@umur

salah

umur

Max

Betul

3. Aturannya yaitu: a. Untuk penulisan Variabel dapat dengan huruf atau angka namun tidak diawali oleh angka. Contoh : Nama1 : String; {betul}

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)

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.

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

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

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.

Print Screen Running Program

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.

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 2 PENYELEKSIAN KONDISI

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 15 Mei 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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

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.

IF kondisi? salah

benar THEN Aksi

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

if kondisi then aksi Gambar 2.2. Struktur Bahasa Pascal Untuk Penyeleksian Satu Kasus (IFTHEN) 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-THENELSE ditunjukkan dalam Gambar 2.3 dan struktur penulisan dalam bahasa pascal dapat dilihat dari Gambar 2.4.

IF kondisi? salah ELSE

benar THEN aksi1

aksi2

Gambar 2.3. Diagram Alir Struktur IF-THEN-ELSE if kondisi then aksi1 else aksi2

Gambar 2.4. Struktur Bahasa Pascal Untuk Penyeleksian Dua Kasus (IFTHEN-ELSE) c. Penyeleksian Tiga Kasus atau Lebih (Penyeleksian Tersarang) Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IFTHEN-ELSE sebagaimana halnya permasalahan dua kasus. Gambar diagram alir penyelesaian tiga kasus untuk struktur IF-THENELSE ditunjukkan dalam Gambar 2.5 dan struktur penulisan dalam bahasa pascal dapat dilihat dari Gambar 2.6.

IF kondisi1 salah IF kondisi2 salah aksi3

benar aksi1 benar

aksi2

Gambar 2.5. Diagram alir dari struktur tiga kasus IF-THEN-ELSE (tersarang) if kondisi1 then aksi1 else if kondisi2 then

aksi2 else aksi3 Gambar 2.6. Struktur Bahasa Pascal untuk Penyeleksian Tiga Kasus IFTHEN-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 bertingkattingkat. 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.

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

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)

AngkaHari=5 : write(Jumat) AngkaHari=6 : write(Sabtu) AngkaHari=7 : write(Minggu) otherwise write(Bukan nomor hari yang benar) endcase

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.

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.

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.

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';

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

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)

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;

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

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-IfElse, 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 IFELSE 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.

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 3 PENGULANGAN (LOOPING)

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 22 Mei 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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.

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

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.

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

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.

2. Algortima deret_bilangan_ganjil Deklarasi b : integer Deskripsi : b1 repeat write(b) b b+2; until b>100 3. Algortima deret_bilangan Deklarasi x : integer Deskripsi : x1 repeat write(x) x x+4; until b>300 4. Algoritma deret_bilangan Deklarasi a,b,n:integer Deskripsi : Read(n) a1 for a 1 to n do b 1 to a do endfor write(b,',')

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.

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.

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 121 12321 1234321 123454321 1234321 12321 121 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

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,' ');

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

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]"

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');

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 ');

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);

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.

Print Screen Program

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.

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 4 PROSEDUR DAN FUNGSI

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 29 Mei 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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.

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

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*)

{ 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

{ 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

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.

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 121 12321 1234321 12321 121 1

Jawab : 1. a. perbedaan antara Prosedur dan Fungsi : 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,' ')

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.

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 = ')

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.

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,' ');

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('==========================================');

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);

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);

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

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.

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

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.

Print Screen Program

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.

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 5 LARIK (ARRAY)

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 05 Juni 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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.

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.

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]

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

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 terbesarbil[1] terkecilbil[1] for 2 to n do if bil[i] > terbesar then terbesarbil[i] else if bil[i] < terkecil then terkecilbil[i] writeln(' -----------------') writeln(' Bilangan tertinggi =',terbesar) writeln(' Bilangan terendah =',terkecil) readln end.

4. Algoritma perkalian_matriks Deklarasi

M1 M2 M3 n m

: array[1..20, 1..20] of longint : array[1..20, 1..20] of longint : array[1..20, 1..20] of longint : array[1..2] of integer : array[1..2] of integer : integer

i, j, x, y, k, l 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 : ') y6 for i 1 to m[1] do begin x8 for j 1 to n[1] do Deskripsi readln(M1[i,j]) xx+8 end yy + 1 end writeln('Matriks kedua : ') yy+1 for i 1 to m[2] do x8

for j 1 to n[2] do Deskripsi readln(M2[i,j]) xx+8 end yy+1 end writeln('Proses perkalian') yy+1 for i 1 to m[1] do Deskripsi x2 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

yy+1 for i 1 to m[1] do

Deskripsi x2 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 yy+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.

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(' -----------------');

writeln(' Bilangan tertinggi =',terbesar); writeln(' Bilangan terendah =',terkecil); readln; end.

Print Screen Program

2. program perkalian_matriks; uses wincrt; var M1 M2 M3 n m : array[1..20, 1..20] of longint; : array[1..20, 1..20] of longint; : array[1..20, 1..20] of longint; : array[1..2] of integer; : 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, ' : ');

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

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;

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

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

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];

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.

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;

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 (' 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); Inputkan Matrik! ');

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;

var m :t; i, j, k, pil, det1: integer; procedure t.input; begin clrscr; writeln(' Program Determinan Matriks Ordo 3x3 ');

writeln('===============================================' ); writeln; writeln (' writeln; Inputkan Matrik! ');

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]);

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

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.

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN Modul 6 RECORD

Disusun Oleh :

TGL PRAKTIKUM NAMA NRP KELAS

: 05 Juni 2012 : Shobihatul Mubarokah Ayu Aseptica : 11.04.111.00039 :A

DOSEN PENGAMPU : NOOR IFADA, ST., MISD.


ASISTEN

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

: Andy Hartono

( Andy Hartono ) 10.04.1.1.1.00020

LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 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.

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 1 0604100001 2 0604100002 3 0604100003 4 0604100004 5 0604100005 . . 100 0604100100 Prasetyo FTC185 C NamaMhs M. Khairuddin Agastya Budi Kusuma Marina Eliawati KodeMK FTC155 FTC165 FTC177 FTC178 FTC180 Nilai A B D B A

Gambar 6.1. Struktur Record TabelMhs

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

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)

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('|')

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.

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);

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('================================================ =======================');

For i := 1 to n do Begin write('|'); writeln(R[i].NPM:10,' | ',R[i].Nama:20,' |'); end; |',R[I].MK:20,' |',R[I].Nilai:7,'

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.

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 Nama Pembeli Alamat : 04-11-2009 : Yoremi Sido : Jl. Suka-suka No. 321 Surabaya

No

Kode Barang Nama Barang Harga Satuan Jumlah (Rp) AB123 Barang A Barang B Barang C Barang D Barang E 15000 2 BC234 20000 1 CD345 25000 2 DE456 30000 3 EF567 35000 4 T O T A L B E L A N J A (Rp)

Harga x Jumlah (Rp) 30000 20000 50000 90000 140000 330000

1 2 3 4 5

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)

x:=round((78-length(grs))/2) ]write(grs) {-----------------------------} write(' >> Tanggal Pembelian: ');readln write(' >> Nama Pembeli write(' >> Alamat write(grs) writeln('| No | Kode | Nama Barang | Harga Satuan | Jumlah | Jumlah Harga |') write(grs) {--------------------------------------------------------------------} i0 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_HargaTotal_Harga+Jum_Harga end until nama_barang[i]='' ji-1 write(grs) : ');readln

: ');readln

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 gotoxy(x,6);write(' >> Alamat gotoxy(x,7);write(grs); : ');readln;

: ');readln;

gotoxy(x,8);writeln('| No | Kode | Nama Barang Harga |'); gotoxy(x,9);write(grs);

| Harga Satuan | Jumlah | Jumlah

{--------------------------------------------------------------------} 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.

Print Screen Program

4.3. Tugas Tambahan

Buatlah program data mahasiswa praktikum alro kelas A3. Isi data antara lain: 1. 2. 3. 4. NRP Nama Jurusan 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;

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; ;

procedure tampilan; begin urut_nilai; clrscr; writeln('================================================='); writeln(' Data Nilai Mahasiswa Praktikum Alro Kelas A3 ');

writeln('=================================================='); writeln; writeln(' ======================================================='); writeln('|NRP writeln(' ======================================================'); for j:=1 to n do begin |Nama |Jurusan |Nilai |');

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.

Print Screen Program

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.

DAFTAR RIWAYAT HIDUP


Data Pribadi Nama Tempat Tanggal Lahir Alamat Agama Jenis Kelamin Warga Negara Tinggi / Berat Badan Status E-mail Web-blog : Shobihatul Mubarokah Ayu Aseptica : Lamongan, 01 Mei 1993 : Bojonegoro : Islam : Perempuan : Indonesia : 150 / 48 : Mahasiswa : shobi.tachi@gmail.com : -

Riwayat Pendidikan : 1997 1999 : 1999 2005 : 2005 2008 : 2008 2011 : 2011 Sekarang

TK ABA II MIN KEPATIHAN BOJONEGORO MTsN 1 BOJONEGORO MAN 1 BOJONEGORO UNIVERSITAS TRUNOJOYO

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)

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).

Anda mungkin juga menyukai