array dan statement kontrol lanjutan
DESCRIPTION
Nama: Komang Isabella Anasthasia Nim: 1004405065 Jurusan: Teknik ElektroBAB V ARRAY DAN STATEMENT KONTROL LANJUTAN5.1Tujuan Tujuan dari pratikum array dan statement kontrol lanjutan ini adalah:1. 2.Memahami dasar ± dasar pemrograman Pascal dan C++. Memahami penggunaan statement control khususnya for«, while«do, repeat«until.3.Memahami penggunaan tipe data array dalam pembuatan program.5.2Tinjauan Pustaka5.2.1 Tipe Data Larik (Array) 5.2.1.1 Pengertian Larik Larik atau array aTRANSCRIPT
Nama: Komang Isabella Anasthasia
Nim: 1004405065Jurusan: Teknik Elektro
BAB V
ARRAY DAN STATEMENT KONTROL LANJUTAN
5.1 Tujuan
Tujuan dari pratikum array dan statement kontrol lanjutan ini adalah:
1. Memahami dasar – dasar pemrograman Pascal dan C++.
2. Memahami penggunaan statement control khususnya for…, while…do,
repeat…until.
3. Memahami penggunaan tipe data array dalam pembuatan program.
5.2 Tinjauan Pustaka
5.2.1 Tipe Data Larik (Array)
5.2.1.1 Pengertian Larik
Larik atau array adalah struktur data yang menyimpan sekumpulan
elemen yang bertipe sama dimana setiap elemen diakses langsung melalui
indeksnya. Indeks larik haruslah tipe data yang menyatakan keterurutan, misalnya
integer atau karakter. Setiap elemen larik dapat ditulis dengan notasi A[1]. A
merupakan nama larik dan angka didalam kurung siku menyatakan indeks larik.
Setiap elemen larik menyimpan sebuah nilai. Karena seluruh elemen larik
memiliki tipe yang sama, maka nilai yang disimpan oleh setiap elemen juga harus
bertipe sama.
Tabel 5.1 Larik Dengan 7 Elemen
A1 1562 1603 1684 1585 1356 1567 155
Gambar diatas memperlihatkan larik yang bernama A yang setiap
elemennya berisi tinggi badan dalam centimeter (cm) tujuh orang siswa. Siswa
pertama memiliki tinggi badan 156 cm yang disimpan didalam A[1], siswa kedua
memiliki tinggi badan 160 cm yang disimpan didalam A[2] dan demikian
seterusnya.
5.2.1.2 Deklarasi Larik (Array)
Ada dua cara untuk mendeklarasikan array yaitu:
1. Sebagai tipe data baru.
Kode Program 5.1 Deklarasi Array Sebagai Tipe Data Baru
2. Langsung sebagai variabel.
Kode Program 5.2 Deklarasi Array Sebagai Variabel
Berdasarkan dimensinya, array dibedakan menjadi dua, yaitu array satu
dimensi dan array dua dimensi (dimensi banyak).
1. Array satu dimensi.
Skema umum pendeklarasian array satu dimensi adalah sebagai berikut:
Kode Program 5.3 Deklarasi Array Satu Dimensi
Dimana I menyatakan jangkauan array, mulai dari indeks terkecil
sampai terbesar. I bertipe tertentu yang disebut tipe indeks. Tipe indeks harus tipe
yang mempunyai keterurutan atau ordinal. Contoh tipe ini adalah integer dan
karakter.
Type Larik=Array[1..n] of datatype ;
Var x : larik ;
Var x : Array[1..n] of datatype ;
Type namaarray = array [I] of tipe-basis
Contoh program array satu dimensi:
program isiarray;uses wincrt;var TabInt : array [1..100] of integer; n,i : integer;begin clrscr; write('nilai n = '); readln(n); for i := 1 to n do begin write('TabInt[',i,'] = '); readln(TabInt[i]); endend.
Kode Program 5.4 Contoh Program Array Satu Dimensi
2. Array dua dimensi (Dimensi banyak).
Jika array satu dimensi seperti vektor dalam matematika, maka array
dua dimensi seperti matriks. Skema umum pendeklarasian array dua dimensi
adalah sebagai berikut:
Kode Program 5.5 Deklarasi Array Dua Dimensi
Dimana I dan J menyatakan jangkauan array, mulai dari indeks terkecil
sampai terbesar. Sama dengan pada array satu dimensi, I dan J bertipe tertentu
yang disebut tipe indeks. Tipe indeks harus tipe yang mempunyai keterurutan,
atau ordinal. I menyatakan jangkauan baris array dan J menyatakan jangkauan
kolomnya.
Adapun contoh program array dua dimensi :
program isi_matriks;uses wincrt;var MatA : array[1..100, 1..100] of integer; i, j : integer; bar, kol : integer;begin write('banyak baris = '); readln(bar); write('banyak kolom = '); readln(kol); writeln; for i := 1 to bar do
Type namaarray = array [I,J] of tipe-basis
begin for j := 1 to kol do begin write('MatA[',i,',',j,'] = '); readln(MatA[i,j]); end; end; writeln; writeln('Isi MatA:'); for i:= 1 to bar dobegin for j := 1 to kol do write(MatA[i,j]:3); writeln;end;
end.
Kode Program 5.6 Contoh Program Array Dua Dimensi
5.2.2 Statement Pengulangan
Statement pengulangan merupakan statement yang memiliki mekanisme
untuk melakukan eksekusi statement secara berulang. Secara umum
statement pengulangan terdiri dari 3 jenis, yaitu:
1. For…do
Statement pengulangan for pada umumnya digunakan untuk melakukan
pengulangan yang banyaknya sudah diketahui secara pasti. Dalam
pengulangan jenis ini kita selalu membutuhkan sebuah variabel sebagai
indeks pengulangan. Jenis for ada dua, yaitu for menaik (to) dan for
menurun (downto). Untuk for menaik, nilai awal harus sama dengan atau
lebih kecil daripada nilai akhir, sedangkan untuk for menurun kita
melakukan pengulangan dengan cacah yang menurun, yaitu dari nilai
cacah yang besar ke nilai cacah yang kecil. adapun bentuk sintaks untuk
for…to:
Kode Program 5.7 Statement Control For… to
For variabel := ekspresi1 to ekspresi2 do statement
Sintaks For…downto:
Kode Program 5.8 Statement Control For…Downto
Dan bentuk flowchartnya:
Gambar 5.1 Flowchart For…to
Gambar 5.2 Flowchart For…downto
Contoh program yang menggunakan statement control For…to:
Program Latihan;uses WinCrt;var
N,i,j :integer; begin clrscr; write('Baca nilai : '); readln(N); for i:= 1 to N do
begin for j:=1 to i do write(i:3); writeln;
end;readln;
end.
For variabel := ekspresi1 downto ekspresi2 do
statemen
Kode Program 5.9 Program Statement Control For…to
Contoh program yang menggunakan statement control For…downto:
Program Latihan;uses WinCrt;var
N,i,j :integer; begin clrscr; write('Baca nilai : '); readln(N); for i:= N downto 1 do
begin for j:=i downto 1 do
write(i:3); writeln;end;
readln;end. Kode Program 5.10 Program Statement Control For…downto
2. While…do
statement ini dipakai untuk menyatakan proses pengulangan yang
jumlahnya tidak diketahui di depan atau selang pencacahan tidak berselang 1 atau
-1. Statement ini juga digunakan untuk melaksanakan statement atau blok
statement selama kondisi benar. Bentuk sintaks dari While…do:
Kode Program 5.11 Statement Control While…do
Flowchart dari statement control While…do:
Gambar 5.3 Flowchart Statement Control While…do
While kondisi do
statemen
Kondisi
pernyataan
Salah
Benar Akhir
While…do
Contoh program While…do:
Kode Program 5.12 Statement Control While…do
3. Repeat…until
Statement ini digunakan untuk pengulangan yang belum pasti, tetapi
mungkin hanya dikerjakan sekali. Statement ini sama seperti while…do, tetapi
pada while…do ada kemungkinan bagian pernyataan tidak dijalankan sama sekali.
Bentuk dari sintaks Repeat...Until adalah:
Kode Program 5.13 Statement Control Repeat…until
Flowchart dari statement control Repeat…until:
Gambar 5.4 Flowchart Statement Control Repeat…until
Repeat
Statemen
Until kondisi
program peluncuranroket;uses wincrt; var i,N :integer; begin i:=10; while i>0 do begin writeln (i); i:= i-1; end; writeln ('GO!!!'); end.
Pada gambar di atas terlihat bahwa pengulangan justru dilakukan ketika
kondisi bernilai false. Pemeriksaan kondisi pada Repeat ..Until dilakukan
belakangan, setelah bagian pernyataan yang terletak antara Repeat dan Until
dieksekusi.
Contoh program dari statement control Repeat…Until:
Program derethuruf;uses wincrt;var cc,batas :char;begin clrscr; write('amsukkan huruf, a..z: '); readln(batas); cc := 'a'; repeat write(cc); cc:= succ(cc); until(cc>batas);end.
Kode Program 5.14 Statement Control Repeat…Until
Dari penjelasan di atas dapat disimpulkan bahwa perbedaan dari ketiga
statemen di atas adalah sebagai berikut
1. Perulangan Statement For digunakan apabila nilainya telah diketahui
sebelumnya,misalnya menjumlahkan integer 1 sampai dengan 1000
dan perulangannya akan dilakukan sebanyak 1000 perulangan.
2. Perulangan Statement While digunakan untuk melakukan perulangan
yang belum pasti atau yang tidak diketahui sebelumnya dan
pencacahan dengan kenaikan atau penurunan tidak sama dengan 1
dengan kemungkinan pernyataan tidak dijalankan sama sekali.
3. Perulangan Statement Repeat digunakan untuk melakukan perulangan
yang belum pasti atau tidak diketahui sebelumnya dan pencacahan
dengan kenaikan atau penurunan tidak sama dengan 1, tetapi paling
tidak pernyataannya akan dijalankan sekali.
5.3 Pembahasan dan Analisa
5.3.1 Program Bilangan Fibonacci
Program fibonacci merupakan program untuk mencari Bilangan dimana
bilangan tersebut merupakan jumlah dari 2 bilangan sebelumnya. Contoh : 0, 1, 1,
2, 3, 5, 8 dst.
5.3.1.1 Penjelasan Fungsi dan Procedure
a. Procedure
Pada program bilangan fibonacci, kami menggunakan procedure seperti
dibawah ini:
procedure fibonacci;begin repeat clrscr; writeln('Masukkan Banyak Bilangan Yang Ingin ditampilkan (MAKSIMAL 45)'); readln(n); val(n,a,b); if b<>0 then begin writeln('INPUT HARUS ANGKA!'); readkey; c:=0; end else if a<1 then begin gotoxy(34,10);writeln('INPUT SALAH !'); readkey; c:=0; end else if a>45 then
begin gotoxy(24,10);writeln('INPUT TIDAK BOLEH LEBIH DARI 45 !');readkey;c:=0;endelsec:=1;
until c=1; writeln; writeln(' Deret fibonaccinya: '); writeln; D[1]:=0;D[2]:=1; write (D[1]); write(', ',D[2]); for i:=1 to a do begin
Kode Program 5.15 Procedure Fibonacci
5.3.1.2 Algoritma Program Bilangan Fibonacci
a. Algoritma Procedure Fibonacci
1. Mulai
2. Inputkan banyak bilangan yang ingin ditampilkan
3. Apabila bilangan itu bukan angka, kurang dari 1 dan lebih dari 45
kembali ke langkah pertama. Apabila bilangan itu merupakan
angka dari 1-45, lanjut ke langkah berikutnya
4. Set elemen array pada indeks pertama dengan 0
5. Set elemen array pada indeks kedua dengan 1
6. Tulis elemen array pada indeks pertama dan kedua
7. Set i=1
8. Jika i sama dengan a langsung ke langkah 10, jika tidak lanjut ke
langkah berikutnya
9. Set elemen array pada indeks ke i+2 dengan cara menjumlahkan
element array pada indeks ke i dengan element array pada indeks
pertama sesudah indeks ke i.
10. Output
11. Tambahkan i dengan 1
12. Berhenti
b. Algoritma Program Utama
1. Mulai
2. Panggil procedure fibonacci
D[i+2]:=(D[i]+D[i+1]); write (' , ', D[i+2]); end;end;
3. Apabila ingin mengulang program fibonacci inputkan sembarang
(kecuali n) pada ‘Anda ingin mengulang? (Y/N)’ , apabila tidak
ingin mengulang lanjut ke langkah berikutnya
4. Berhenti
5.3.1.3 Flowchart Program Bilangan Fibonacci
a. Flowchart Procedure Fibonacci
Gambar 5.5 Flowchart Procedure Fibonacci
b. Flowchart Program Utama
Gambar 5.6 Flowchart Program Utama Fibonacci
5.3.1.4 Tracing Program Bilangan Fibonacci
Input : Bilangan : 5
______________________________Proses : D[i+2]=(D[i]+D[i+1])Fibonacci 1 = 1Fibonacci 2 = 2Fibonacci 3 = 3Fibonacci 4 = 5Fibonacci 5 = 8______________________________Output : 0,1 ,1, 2, 3, 5, 8
5.3.1.5 Listing Program Bilangan Fibonacci
program Program_Fibonacci;
uses wincrt;
var i, a, b, c: integer; n: string; D:array [1..1000] of longint;
procedure mulai; begin clrscr; gotoxy(1,1);write('PROGRAM BILANGAN FIBONACCI'); gotoxy(1,2);write('=========================='); writeln; gotoxy(1,3);write('| Design By Kelompok 15 |'); writeln; gotoxy(1,4);write(' _________________________'); gotoxy(1,5);write('|Komang Isabella A. (65)|'); gotoxy(1,6);write('|Made Anand Gopal (66)|'); gotoxy(1,7);write('|Jaryanta Arya M. (67)|'); gotoxy(1,8);write('|Gede Darko Pancev (68)|'); gotoxy(1,9);write('|Agus Teja Baskara (69)|'); gotoxy(1,10);write('-------------------------'); gotoxy(1,15);write('PRESS ANY KEY TO CONTINUE'); readkey; clrscr; end;
procedure fibonacci; begin writeln; writeln; D[1]:=0;D[2]:=1; write (D[1]); write(', ',D[2]); for i:=1 to a do begin D[i+2]:=(D[i]+D[i+1]); write (' , ', D[i+2]); end;end;
begin mulai; repeat begin
repeat clrscr; gotoxy(30,1); write ('PROGRAM BILANGAN FIBONACCI'); writeln; writeln; writeln('Masukkan Berapa Banyak Bilangan Yang Anda Ingin Tampilkan ! (MAKSIMAL 45)'); readln(n);
Kode Program 5.16 Listing Program Fibonacci
5.3.2 Program Tangga Bilangan Prima
repeat clrscr; gotoxy(30,1); write ('PROGRAM BILANGAN FIBONACCI'); writeln; writeln; writeln('Masukkan Berapa Banyak Bilangan Yang Anda Ingin Tampilkan ! (MAKSIMAL 45)'); readln(n);
Program tangga bilangan prima adalah program yang
menampilkan urutan bilangan-bilangan prima yang di urut
berbentuk tangga dengan jumlah baris sesuai dengan input yang
dimasukan
5.3.2.1 Penjelasan Fungsi dan Procedure
a. Procedure
Dalam pembuatan program tangga bilangan prima kami menggunakan
procedure seperti dibawah ini:
Kode Program 5.17 Procedure Tangga Bilangan Prima
procedure proses;begin
writeln;prima[1]:=2;g:=2;e:=1;for x:=3 to 1000 do
beginfor i:= 2 to x-1 dobeginif x mod i=0 thenbeginbil:=x;
end;end;
if bil=x thenbegin
endelsebegine:=e+1;prima[e]:=x;
end;end;
e:=0;
for i:=1 to a dobeginfor j:=1 to i dobegine:=e+1;write(prima[e], ' ');
end;Writeln;
end;end;
5.3.2.2 Algoritma Program Tangga Bilangan Prima
a. Procedure Proses.
1. Set bilangan prima pertama dengan 2.
2. Tentukan bilangan-bilangan prima dari angka 3 hingga 1000
dengan cara cek tiap angka. Jika angka tersebut di bagi dengan
penyusun angka tersebut (kecuali angka 1) memiliki sisa sama
dengan nol, maka angka tersebut bukan bilangan prima.
3. Jika ditemukan bilangan prima set menjadi nilai array pada indeks
ke – i.
4. Tambahkan nilai i dengan satu setiap ditemukan bilangan prima.
5. Cetak element array, sesuai nilai a (banyak baris) dan jumlah
kolom sama dengan nilai setiap barisnya.
6. End.
b. Program Utama.
1. Inputkan a (banyak baris).
2. Cek jika a bukan angka atau a kurang dari 0 atau a lebih besar dari
45, jika ya input salah dan kembali ke langkah nomor 1, jika tidak
lanjut ke langkah nomor 3.
3. Panggil procedure proses.
4. Coba lagi?, jika ya kembali ke langkah 2, jika tidak stop
5. End.
5.3.2.3 Flowchart Program Tangga Bilangan Prima
a. Flowchart Procedure Program Tangga Bilangan Prima
Gambar 5.7 Flowchart Procedure Program Tangga Bilangan Prima
Y
b. Flowchart Program Utama Tangga Bilangan Prima
Gambar 5.8 Flowchart Program Utama Tangga Bilangan Prima
5.3.2.4 Tracing Program Tangga Bilangan Prima
Input : Bilangan a: 3
____________________________________________________Proses :Prima 1 = 2Prima 2 = 3 5Prima 3 = 7 11 13____________________________________________________Output : 2
3 57 11 13
5.3.2.5 Listing Program Tangga Bilangan Prima
program Tangga_Bilangan_Prima;
uses wincrt;
varprima:array [1..1000] of integer; x,i,g,e,bil,j:longint; a,b,c:integer; n:string; ln,la,lb,lt:integer;
Procedure mulai;Begin clrscr; gotoxy(1,1);write('PROGRAM Tangga Bilangan Prima'); gotoxy(1,2);write('============================='); writeln; gotoxy(1,3);write('| Design By Kelompok 15 |'); writeln; gotoxy(1,4);write(' _________________________'); gotoxy(1,5);write('|Komang Isabella A. (65)|'); gotoxy(1,6);write('|Made Anand Gopal (66)|'); gotoxy(1,7);write('|Jaryanta Arya M. (67)|'); gotoxy(1,8);write('|Gede Darko Pancev (68)|'); gotoxy(1,9);write('|Agus Teja Baskara (69)|'); gotoxy(1,10);write('-------------------------'); gotoxy(1,15);write('PRESS ANY KEY TO CONTINUE'); readkey; clrscr;end;
procedure proses;begin
writeln;prima[1]:=2;g:=2;e:=1;for x:=3 to 1000 dobeginfor i:= 2 to x-1 dobeginif x mod i=0 thenbeginbil:=x;
end;end; if bil=x thenbegin
endelse begin e:=e+1; prima[e]:=x;end;
end;e:=0;for i:=1 to a dobeginfor j:=1 to i do begin e:=e+1; write(prima[e], ' ');
end;Writeln;
end;end;
begin mulai; repeat begin repeat clrscr; gotoxy(10,2);write('PROGRAM MENAMPILKAN TANGGA BILANGAN PRIMA'); gotoxy(10,3); write ('__________________________________'); gotoxy(10,6);write('Masukkan berapa banyak baris yang ingin anda tampilkan : '); gotoxy(10,7);write(' ( Tidak lebih dari 16 ! ) '); gotoxy(67,6);readln(n);
Kode Program 5.18 Listing Program Tangga Bilangan Prima
5.4 Uji Coba dan User Interface
5.4.1 Program Bilangan Fibonacci
Setelah kita selesai membuat listing programnya, maka langkah
selanjutnya adalah menampilkan hasil program yang telah dibuat. Tampilan awal
pada program bilangan fibonacci dapat kita lihat pada gambar dibawah ini:
Gambar 5.9 Tampilan Awal Program Bilangan Fibonacci
readkey; c:=0; end else c:=1; until c=1; proses; end; writeln; writeln('TEKAN N UNTUK KELUAR DAN TOMBOL LAIN UNTUK MENGULANG !'); until upcase (readkey)='N'; clrscr; writeln(' TERIMA KASIH');end.
Setelah itu, akan tampak pada layar perintah untuk menginputkan banyak
bilangan yang ingin ditampilkan. Kami mencoba menginputkan 5, sehingga akan
muncul tampilan seperti dibawah ini:
Gambar 5.10 Tampilan Program Bilangan Fibonacci 1
Setelah itu, kami mencoba menginputkan huruf dan muncul tampilan
seperti dibawah ini:
Gambar 5.11 Tampilan Program Bilangan Fibonacci 2
Setelah itu, kami mencoba menginputkan 0, dan muncul tampilan seperti
dibawah ini:
Gambar 5.12 Tampilan Program Bilangan Fibonacci 3
Lalu kami mencoba menginputkan bilangan 46, sehingga muncul tampilan
seperti gambar dibawah ini:
Gambar 5.13 Tampilan Program Bilangan Fibonacci 4
Hal ini terjadi karena adanya kesalahan pada input, sehingga program
tidak dapat berjalan dengan baik.
5.4.2 Program Tangga Bilangan Prima
Tampilan awal pada program tangga bilangan prima dapat kita lihat pada
gambar dibawah ini:
Gambar 5.14 Tampilan Awal Program Tangga Bilangan Prima
Setelah itu, akan tampak pada layar perintah untuk menginputkan banyak
baris yang ingin ditampilkan. Kami mencoba menginputkan 6, sehingga akan
muncul tampilan seperti dibawah ini:
Gambar 5.15 Tampilan Program Tangga Bilangan Prima 1
Setelah itu, kami mencoba menginputkan huruf dan muncul tampilan
seperti dibawah ini:
Gambar 5.16 Tampilan Program Tangga Bilangan Prima 2
Setelah itu, kami mencoba menginputkan 0, dan muncul tampilan seperti
dibawah ini:
Gambar 5.17 Tampilan Program Tangga Bilangan Prima 3
Lalu kami mencoba menginputkan bilangan 17, sehingga muncul tampilan
seperti gambar dibawah ini:
Gambar 5.18 Tampilan Program Tangga Bilangan Prima 4
Hal ini terjadi karena adanya kesalahan pada input, sehingga program
tidak dapat berjalan dengan baik.
5.5 Kesimpulan
Dari pembahasan diatas, kami dapat menarik beberapa kesimpulan, yaitu:
1 Dengan menggunakan tipe data array pembuatan program akan lebih
mudah, dalam membuat logika pengolahan data yang diinginkan.
2 Dengan penggunaan statement control perulangan, suatu aksi dapat
dilakukan berulang-ulang sejumlah kali, atau sampai kondisi berhenti
tercapai. Sehingga memudahkan dalam pemecahan masalah suatu program
yang akan dibuat. Khususnya statement control for…, while…do,
repeat…until yang memiliki ekspresi Boolean yang
memudahkan pengulangan suatu aksi hingga suatu kondisi
yang diinginkan.
3 Fibonacci adalah hasil penjumlahan dari dua buah bilangan sebelumnya.
Program fibonacci ini adalah program untuk membangkitkan jumlah
bilangan Fibonacci dari bilangan fibonacci pertama sampai dengan jumlah
banyaknya bilangan fibonacci yang diinginkan oleh pengguna. Pada
Program Fibonacci kami menggunakan procedure untuk menghitung deret
bilangan, dan kami juga menggunakan procedure yang digunakan untuk
membuat judul program.
4 Program tangga bilangan prima adalah program yang bisa menampilkan
urutan bilangan-bilangan prima yang di urut berbentuk tangga dengan
jumlah baris sesuai dengan baris yang diinginkan oleh pengguna. Pada
program tangga bilangan prima ini kami menggunakan procedure untuk
mencari bilangan prima dan mencetaknya sehingga berurut menyerupai
tangga, dan kami juga menggunakan procedure yang digunakan untuk
membuat judul program.