Array dan Statemen Kontrol Lanjutan
-
Upload
rusdi-ariawan -
Category
Documents
-
view
228 -
download
0
Transcript of Array dan Statemen Kontrol Lanjutan
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
1/38
PUTU RUSDI ARIAWAN
PRAKTIKUM KOMSEP PEMROGRAMAN KOMPUTER
MODUL III
ARRAY & STATEMEN KONTROL LANJUTAN
Oleh
KELOMPOK XVIII
Putu Rusdi Ariawan (0804405050)
I Gusti Agung Gede Mega Perbawa (0804405049)
LABORATORIUM KOMPUTER
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS UDAYANA
Desember 2008
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
2/38
PUTU RUSDI ARIAWAN
BAB V
ARRAY DAN STATEMEN KONTROL LANJUTAN
5.1 Tujuan1 Memahami dasar-dasar pemrograman Pascal atau C++.
2 Memahami penggunaan statemen control khususnya for,whiledo,
repeatuntil.
3 Memahami penggunaan tipe data Array dalam pembuatan program.
5.2 Dasar Teori5.2.1 Program Fibonacci
Bilangan Fibonacci merupakan suatu bilangan, dimana bilangan tersebut
merupakan jumlah dari 2 bilangan sebelumnya. Bilangan Fibonacci dapat dicari
dengan menggunakan algoritma rekursif , ataupun tidak menggunakan algoritma
rekursif. Algoritma rekursif menurut buku Dasar Dasar Pemrograman oleh
Fathul Wahid menyatakan bahwa sebuah objek disebut berulang (rekursif) apabila
mengandung dirinya sendiri atau didefinisikan dengan dirinya sendiri. Hubungan
ini dapat ditemukan dalam matematika seperti berikut:
)1(nnffn .................................(5.1)
Bagaimana menghitung F(4) dengan N > 1 dari persamaan tersebut?,
semuanya dapat dilakukan sebagai berikut:
)3(4)4( ff ................................(5. 2)
Dari persamaan tersebut kita uraikan lagi F(3) sehingga akan
menghasilkan persamaan terakhir berbentuk seperti berikut:
24)4(
)1)(2)(3(4)4(
f
f..............................(5. 3)
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
3/38
PUTU RUSDI ARIAWAN
Dengan menggunakan fungsi rekursif di atas, kita dapat mencari
bilangan Fibonacci dengan menambahkan bilangan terakhir dengan jumlah 2
bilangan sebelumnya.
Jika tidak menggunakan algoritma rekursif, bilangan Fibonacci juga
dapat dicari dengan cara manual dengan menggunakan statemen perulangan, yaitu
diulang dari 1 sampai dengan n, dimana :
1. )1(nffnfn
2. )1()1( fnffnnf
Dua persamaan diatas digunakan untuk mencari Fibonacci secaramanual. Adapun contoh penggunaan dapat dilihat dalam pencarian bilangan
Fibonacci dibawah 6 :
1. Nilai awal dari 1)1(,1 nffn , lakukan perulangan hingga nilai fn tidak
lebih besar dan sama dengan 6
2. Lakukan perulangan pertama,
1) 211fn
2) 112)1(nf 3. Lakukan perulangan kedua,
1) 312fn
2) 213)1(nf
4. Lakukan perulangan ketiga
1) 523fn
2) 325)1(nf
Jika dilakukan perulangan lagi, maka nilai dari Fibonacci akan lebih
besar daripada 6, sehingga didapat bilangan Fibonaccinya : 1,1,2,3,5.
Fibonacci merupakan suatu metode penjumlahan dua angka, di mana
penjumlahanya dilakukan dengan cara menjumlahkan suatu nilai/angka dengan
nilai/angka sebelumnya. Beberapa rumus yang digunakan dalam Fibonacci dalah
sebagai berikut :
1. n = fibo b
2. fibo b = a
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
4/38
PUTU RUSDI ARIAWAN
3. fibo a = n + fibo b
n merupakan banyaknya nilai yang akan dikeluarkan ( 1.......n )
Fibo a merupakan nilai awal
Fibo b merupakan nilai akhir
Dengan rumus di atas dapat digunakan untuk mencari nilai Fibonacci
dalam program Fibonacci.
5.2.2 Program Magic SquareDalam pencarian bujur sangkar ajaib, pencarian bujur sangkar dengan
ukuran ganjil berbeda dengan ukuran genap. Dalam bujur sangkar genap
pencarian bujur sangkar 2n
dengan bujur sangkar genap lain juga memiliki
pencarian yang berbeda. Dalam pencarian bujur sangkar ajaib ganjil, memiliki
aturan penulisan bilangan seperti berikut.
1. Angka pertama ditulis pada baris pertama, dan kolom paling tengah.
2. Pengisian angka selanjutnya adalah naik menyudut.
3. Jika pada waktu pengisian, bilangan berada pada baris ke 0 , maka
pengisian dilakukan dengan mengganti baris ke 0 tersebut menjadi
baris terakhir. Jika pada pengisian bilangan berada pada kolom ke n +
1, maka pengisian dilakukan dengan menaruh bilangan tersebut pada
kolom pertama.
4. Jika bilangan terakhir yang dimasukan merupakan kelipatan dari n, maka
bilangan selanjutnya ditaruh tepat dibawah bilangan tersebut.
5. Lakukan langkah diatas, sampai seluruh tempat terisi oleh bilangan dari
1 sampai dengan N2.
Contoh bujur sangkar ajaib berukuran 3 * 3 dan 5 * 5 seperti terlihat pada
gambar 5.1 di bawah ini.
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
5/38
PUTU RUSDI ARIAWAN
8 1 6
3 5 7
4 9 2
Gambar 5.1 Bujur sangkar ajaib ukuran 3 * 3 dan 5 * 5
Pada gambar bujur sangkar ajaib 3*3 di atas, jumlah nilai horizontal,
vertical, dan diagonalnya sama yaitu 15, sedangkan pada bujur sangkar ajaib 5 * 5
jumlah horizontal, vertical, dan diagonal sama yaitu 65.
Pengisian bujur sangkar ajaib berukuran ganjil selalu dimulai dari atas
tengah pengisian selanjutnya selalu menuju elemen sebelah kanan atasnya.
Setelah pengisian angka 1 diletakkan di atas tengah, angka 2 seharusnya
diletakkan dikanan atas . karena di sebelah kanan atas tidak ada tempat lagi, maka
angka 2 diletakkan dibawahnya. Setelah pengisian angka 2 di sebelah bawah
maka dilanjutkan dengan angka 3 diletakkan disebelah kanan atas angka 2, karena
disebelah kanan atas tidak ada tempat lagi maka diletakkan dibawah angka 2,
tetapi dibawah angka 2 juga tidak ada tempat, maka angka 3 diletakkan ditengah
pojok kiri. Jika tidak ada tempat disebelah kanan atas maka akan dilanjutkan
kesebelah bawahnya dan jika sudah berisi angka dilanjutkan kesebelah kiri, begitu
terus menerus hingga semua kotak terisi semua.
5.2.3 Tipe Data ArrayArray adalah tipe data yang terdiri dari sejumlah komponen yang
mempunyai tipe yang sama dan berjumlah tetap sebab banyaknya komponen
ditunjukkan oleh suatu indeks, yang disebut tipe indeks dan berbentuk tipe
ordinal. Komponen tersebut disebut dengan tipe basis.
5.2.3.1Array Berdimensi SatuSuatu array yang akan dipergunakan di dalam program Pascal harus
dideklarasikan terlebih dahulu. Deklarasi dari array didahului dengan kata
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
6/38
PUTU RUSDI ARIAWAN
cadangan Array diikuti oleh tipe indeks yang diletakkan diantara tanda [ ],
diikuti lagi oleh kata cadangan of dan tipearraynya.
Array dapat bertipe data sederhana byte, word, integer, real, boolean,
char atau string dan tipe data skalar atau subrange. Tipe Array ini artinya isi dari
array atau komponen-komponennya atau elemen-elemennya mempunyai nilai
dengan tipe data tersebut. Tipe dari array ditunjukkan pada waktu
mendeklarasikannya.
Suatuarray tidak hanya dapat berupa suatu variabel yang dideklarasikan
di bagian deklarasi variabel, tetapi juga dapat berupa suatu konstanta yang
dideklarasikan dibagain deklarasi konstanta.
PendeklarasianArray berdimensi satu sebagai berikut:
Kode Program 5.1array
Contoh:
PROGRAMContHari;USES WinCrt;
TYPE
TipeHari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu,Minggu);
CONST
NamaHari :ARRAY[TipeHari] OFSTRING[6]= ('Senin', 'Selasa', 'Rabu', 'Kamis',
'Jumat', 'Sabtu', 'Minggu');
VAR
Hari : TipeHari;BEGIN
ClrScr;For Hari := Senin to minggu do
Writeln(NamaHari[Hari]);Readln
END.
Kode Program 5.2 PROGRAM ContHari
NamaTipe =ARRAY[TipeOrdinal] OF TipeElemen;
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
7/38
PUTU RUSDI ARIAWAN
5.2.3.2Array MultidimensiPada pembahasan sebelumnya, indeks atau subscript pada array
jumlahnya hanya sebuah danarray ini disebut dengan array dimensi satu (one
dimensional array). Array dapat juga berdimensi lebih dari satu yang disebut
dengan array dimensi banyak (multidimensional array), yang dapat berdimensi
dua (two dimensional array), berdimensi tiga (three dimensional array), dan
seterusnya. Secara prinsip, array dimensi lebih dari 2 penanganannya sama
dengan array dimensi 2 dan pada pembahasan ini hanya akan dibahas array
dimensi 2 saja.
Array dimensi dua mewakili suatu bentuk tabel atau matrik, yaitu indeks
yang pertama dapat menunjukkan baris dan indeks kedua dapat menunjukkan
kolom dari tabel atau matrik. Bentuk deklarasiarray dimensi 2 dapat berupa :
Pendeklarasianarray multidimensi sebagai berikut:
Kode Program 5.3 array
Contoh:
PROGRAMTblJual;USES WinCrt;CONST
JUM_KUARTAL = 3;JUM_PRODUK = 4;
TYPE
TabelPenjualan =ARRAY[1..JUM_PRODUK,1..JUM_KUARTAL]
OF Integer;
VARDafPenjualan : TabelPenjualan;Produk,Kuartal : Integer;
BEGIN
ClrScr;FORProduk := 1 TO JUM_PRODUK DOBEGIN
Writeln('Produk ', Produk);FORKuartal := 1 TO JUM_KUARTAL DOBEGIN
Write(' Kuartal ', Kuartal, ' = ');Readln(DafPenjualan[Produk, Kuartal])
Nama array =array[tipeindeks1,tipeindeks2] oftipe array
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
8/38
PUTU RUSDI ARIAWAN
END
END;
ClrScr;Writeln('Isi array ; ');
Writeln('Produk Kuartal 1Kuartal 2 Kuartal 3');
FORProduk := 1 TO JUM_PRODUK DOBEGIN
Write(Produk:6);FORKuartal := 1 TO JUM_KUARTAL DO
Write(DafPenjualan[Produk, Kuartal] : 14);Writeln
END;
ReadlnEND.
Kode Program 5.4 PROGRAM TblJual
5.2.4 Statemen Kontrol For, While.Do, Repeat.Until.5.2.4.1Statement Kontrol for...
Pernyataan for biasa digunakan untuk melakukan pengulangan yang
jumlahnya telah diketahui sebelumnya. Sebagai contoh, FOR dapat digunakan
untuk menampilkan tulisan Turbo Pascal 10 kali ataupun dalam jumlah yang
lebih banyak lagi.
1. For toPernyataan perulangan FOR syntaxnya adalah sebagai berikut:
Kode Program 5.5 For
FOR variabel := nilai_awal TO nilai_akhir DO
pernyataan
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
9/38
PUTU RUSDI ARIAWAN
FLOWCHARTuntuk penyatakaan proses perulanganFOR sebagai berikut:
Variabel :=nilai_awal
Variabel
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
10/38
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
11/38
PUTU RUSDI ARIAWAN
hasil eksekusinya adalah sebagai berikut:
Gambar 5.4 Pemakaian PengulanganFOR-DOWNTO
Contoh program menggunakan FOR-DOWNTO digunakan untuk
menampilkan huruf G hingga A sebagai berikut:
PROGRAMpernyataan_pengulangan_for;
{----------------------------------------------------------}
{ Pemakaian FOR-DOWNTO untuk menampilkan hurup G sampai A}
{----------------------------------------------------------}
USES wincrt;
VAR
hurup :char;
BEGIN
clrscr;
FORhurup := G DOWNTOA DO
write (hurup);
END.
Kode Program 5.9 PROGRAMpernyataan_pengulangan_for
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
12/38
PUTU RUSDI ARIAWAN
hasil eksekusinya adalah sebagai berikut:
Gambar 5.5 Pemakaian PengulanganFOR-DOWNTO
3. Kenaikan atau penurunan tidak sebesar satuFOR merupakan pernyataan yang cocok untuk menangani
pencacahan yang kenaikan atau penurunannya sebesar satu. FOR-TO dipakai
untuk pencacahan yang naik sebasar satu (nilai ordinalnya), sedangkan FOR-
DOWNTO digunakan untuk pencacahan yang menurun sebesar satau (nilai
ordinalnya). Bila selang kenaikan atau penurunan pencacahan tidak sebesar
satu, WHILE dan REPEAT-lah yang cocok dipakai untuk keperluan itu.
4. For bersarangPada masalah tertentu ada kemungkinan FOR berada didalam FOR
yang lain. Bentuk seperti ini disebutFOR BERSARANG.
Contoh program untuk menampilkanFOR BERSARANG sebagai berikut:
PROGRAMpernyataan_pengulangan_for;
{-----------------------------------------------------------}
{ Pemakaian FOR-DOWNTO untuk menampilkan isi dari variabel
pengontrol}
{-------------------------------------------------------------}
USES wincrt;
CONST
akhir = 10;
VAR
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
13/38
PUTU RUSDI ARIAWAN
baris, kolom : integer;
BEGIN
clrscr;
FORbaris := 1 TO akhir DO
begin
FORkolom := 1 TO baris DO
write ( '&' );
writeln;
end;
END.
Kode Program 5.10 PROGRAM pernyataan_pengulangan_for
hasil eksekusinya adalah sebagai berikut
Gambar 5.6 Pemakaian PengulanganFOR Bersarang
FOR yang terluar dipakai untuk mengontrol baris. Baris yang dibuat dari1 sampai akhir kemudian untuk setiap nilai baris, tanda # ditulis sebanyak nomor
baris saat itu. Dimana untuk menampilkan tanda # yang berakhir untuk setiap
baris kursor dipindahkan kebaris berikutnya dengan menggunakan writeln.
5. For tanpa diikuti pernyataanSuatu pernyataan FOR bisa saja diikuti dengan sebuah pernyataan
pun.
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
14/38
PUTU RUSDI ARIAWAN
Contoh program dengan perulangan FOR tanpa diikuti pernyataan adalah
sebagai berikut:
PROGRAMpernyataan_pengulangan_for;
{----------------------------------------------------------}
{ Pemakaian FOR-TO tanpa diikuti dengan pernyataan}
{-------------------------------------------------------------}
USES wincrt;
VAR
I : integer;
BEGIN
clrscr;
FORI := 1 TO 20000 DO;
writeln ('koh ngai');
END.
Kode Program 5.11 PROGRAMpernyataan_pengulangan_for
hasil eksekusinya adalah sebagai berikut:
Gambar 5.7 Pemakaian FOR tanpa diikuti oleh pernyataan
5.2.4.2Pernyataan WhileDoPernyataan while berguna untuk memproses suatu pernyataan atau
beberapa pernyataan beberapa kali. Adapun bentuk pemyataannya adalah:
While (kondisi)
Pernyataan;
Kode Program 5.12 while -do
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
15/38
PUTU RUSDI ARIAWAN
Bagian pernyataan ini bisa saja berupa pernyataan majemuk, sehingga bentuknya
menjadi seperti
While (kondisi) do
pernyataanl;
pernyataan2;
pernyataanN;
Kode Program 5.13 while -do
Bagian pernyataan yang mengikuti while akan dieksekusi selama ungkapan
while benilai benar (tidak sama dengan nol). Oleh karena pengujian dilakukan
sebelum bagian pemyataan maka ada kemungkinan bagian pernyataan tidak
dijalankan sama sekali, yaitu kalau kondisi pertama kali bernilai.
Gambar 5.8 Pernyataan while
5.2.4.3Pernyataan repeat untilREPEAT biasa dipakai untuk menangani pengulangan yang jumlahnya
belum pasti, tetapi paling tidak dikerjakan sekali.SYNTAX dari penggunaan perulangan REPEAT sebagai berikut:
Kode Program 5.14Repeat until
Kondisi
Pernyataan
True
False
Akhir While
REPEAT
Pernyataan_1;
Pernyataan_2;
.
Pernyataan_n;
UNTIL kondisi
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
16/38
PUTU RUSDI ARIAWAN
FLOWCHARTuntuk penyatakaan proses perulangan ini sebagai berikut:
pernyataan
kondisi
AkhirREPEAT UNTIL
Y
T
Gambar 5.9 flowchart repeat until
Tampak bahwa pengulangan justru dilakukan selama kondisi bernilai salah.
Jadi merupakan kebalikan dari WHILE. Perbedaan yang lain terhadap
WHILE, pemeriksaan terhadap kondisi padaREPEATdilakukan
belakangan, setelah bagian pernyataan yang terletak antaraREPEATdanUNTIL dieksekusi
Contoh program penggunaanREPEAT UNTIL adalah sebagai berikut:
PROGRAMpengulangan_repeat;
{----------------------------------------------------------}
{ Pemakaian perulangan REPEAT dalam table celcius, reamur,
fahrenheit }
{----------------------------------------------------------}
USES wincrt;
VAR celcius, reamur, fahrenheit : real;
BEGIN
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
17/38
PUTU RUSDI ARIAWAN
clrscr;
writeln ('*Celcius' :15, 'Reamur' :15, 'Fahrenheit*'
:15);
writeln ('-----------------------------------------');
celcius := 0;
REPEAT
reamur := 4/5 * celcius;
fahrenheit := 9/5 * celcius + 32;
writeln ( Celcius :15:2, Reamur :15:2,
Fahrenheit :15:2);
Celcius := celcius + 0.5 ;
UNTIL celcius > 5;
writeln (' -------------------------------------');
END.
Kode Program 5.15 PROGRAMpengulangan_repeat
hasil eksekusinya adalah sebagai berikut:
Gambar 5.10 Pemakaian PengulanganRepeat Until
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
18/38
PUTU RUSDI ARIAWAN
5.3 Pembahasan dan Analisa5.3.1 Program Fibonaci5.3.1.1Penjelasan ProcedurePada program ini menggunakan procedure seperti dibawah ini
procedure fibonacci(n:integer);var
x,y,z,i:integer;begin
a:=0;b:=0;
c:=1;for i:= 1 to n dobegin
a:=b;b:=c;c:=a+b;write(c,' ');end;
end;
Kode Program 5.16 procedure Fibonacci
Pada program fibonacci procedure tersebut digunakan agar perhitungan
fibbonaccinya itu tidak berada pada program utamanya, melainkan padaprocedure yang menghitung bilangan fibonacci. Jadi program utamanya hanya
memanggil procedurenya saja.
Procedure Fibonacci digunakan untuk menampilkan hasil proses dari
perhitungan C
5.3.1.2Algoritmaa. Algoritma Procedure Fibonacci
1. Start
2. Mendefinisikan variabel a, b, c
3. Set a = 0, b= 1, c = 0
4. Definisikan variabel pencacah i
5. Set i = 1
6. a b
b c
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
19/38
PUTU RUSDI ARIAWAN
c a + b
7. Tampilkan c
8. End
b.c. Algoritma Program utama Fibonacci
1. Start
2. Masukkan bilangan Fibonacci yang ke-
3. Masuk ke dalam Procedure Fibonacci
4. Cek pilih ?
5. T untuk keluar
6. End.
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
20/38
PUTU RUSDI ARIAWAN
5.3.1.3Flowcharta. Flowchart Procedure Fibonacci
Gambar 5.11Flow ChartProcedure Fibonacci
a=0
b=1
c=0
ab
bc
ca + b
Output
c
Start
End
i 1
i< N
i i+1
tidak
ya
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
21/38
PUTU RUSDI ARIAWAN
b. Flowchart Program Utama
Gambar 5.12Flow ChartProcedure Fibonacci
Trace Program Fibonacci
Trace
Input
Masukkan banyaknya bilangan yang ingin ditampilkan :4Output: 1 1 2 3
Trace
Input
Masukkan banyaknya bilangan yang ingin ditampilkan :3
Output: 1 1 2
Trace
Start
Input
n
Fibonacci
Output
Fibonacci (n)
End
Coba
lagi
ya
tidak
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
22/38
PUTU RUSDI ARIAWAN
Input
Masukkan banyaknya bilangan yang ingin ditampilkan :5
Output: 1 1 2 3 5
5.3.1.4Listing ProgramProgrambilangan_fibonacci;
uses wincrt;procedure fibonacci(n:longint);var
x,y,z,i:longint;
beginx:=0;z:=0;y:=1;for i:= 1 to n dobegin
x:=y;y:=z;z:=x+y;write(z,' ');end;
end;
var
n,code,z:integer;x,y,i:integer;s:string;a:char;
begin
repeat
begin
repeat
clrscr;gotoxy(18,1);writeln('**************************');gotoxy(18,2);writeln('program bilangan fibonacci');
gotoxy(25,3);writeln('kelompok XVIII');gotoxy(18,4);writeln('**************************');clreol;write('Masukkan Bilangan fibonacci ke-: ');readln(s);
val(s,n,code);if (S[1])='0'thenwriteln('karakter pertama tidak boleh nol')else
if(length(s))>2thenwriteln('input melebihi batas')else
if code0then
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
23/38
PUTU RUSDI ARIAWAN
writeln('input anda salah')else
if (N
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
24/38
PUTU RUSDI ARIAWAN
Jika ya, ulangi langkah 7
Jika tidak, lanjutkan langkah 10
10. Baris = baris1
11. Kolom = kolom + 1
12. Cek apakah baris < 1
Jika ya, baiis = n
Jika tidak, lanjutkan ke langkah 16
13. Baris = n
14. Cek pakah kolom > n
Jika ya, lanjut ke langkah 15
Jika tidak, lanjut ke langkah 16
15. Kolom = 1
16. i = i + 1
17. Tampilkan kotak[baris,kolom]
18. Selesai
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
25/38
PUTU RUSDI ARIAWAN
5.3.2.2FlowchartStart
input N
baris = 1
I=1
kolom N div 2+1
I N
baris = 1
baris = baris-1
kolom = kolom +1
baris = N
baris < 1
kolom > N
I =I+1
output kotak[baris,kolom]
end.
kolom = 1
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Ya Ya
Ya
Ya
Gambar 5.13 Flow ChartMagic Square
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
26/38
PUTU RUSDI ARIAWAN
5.3.2.3Listing Programprogrammagic_square;
uses wincrt;var
kode, baris, kolom, i, n : integer;kotak : array [1..99, 1..99] of longint;l, jwb : string;jumlah, code : integer;
begin
repeat
gotoxy (23,1);writeln ('################################');gotoxy (23,2);
writeln ('# KLP XVIII #');
gotoxy (23,3);writeln ('################################');gotoxy (23,4);
repeat
writeln;gotoxy (19,4); clreol;write('Masukkan bujur sangkar dalam angka ganjil ');readln (l);clreol;
val (l,n,code);if code 0 then
writeln(' Masukkan Angka!')else if code = 0 then
until (code = 0) and (n2) and(n mod 2 0) and(not (l[1]in [#13,' ']));
baris:=1;kolom:=(n div 2) + 1;for I:=1 to n*n do
begin
kotak [baris,kolom] := i;if I mod N = 0 thenbegin
Baris:= baris + 1;if baris > n then
baris:= 1;end
else
begin
baris:= baris - 1;kolom:= kolom + 1;if baris < 1 then
baris:= n;if kolom > n then
kolom:= 1;end;
end;
for baris:=1 to n dobegin
for kolom:= 1 to n dobegin
write ('|',kotak[baris, kolom],'|',' ');
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
27/38
PUTU RUSDI ARIAWAN
end;
writeln;end;
writeln;write ('Anda mau coba lagi?Y/N ');write ('Tekan B untuk keluar ');jwb:= readkey;clrscr;until jwb = 'B';donewincrt;
end.
Kode Program 5.18 Program Magic Square
5.4 Uji Coba Program5.4.1 Program FibonacciUji coba 1
Pada saat di run , programnya akan tampak seperti gambar dibawah.
Gambar 5.14. bilangan Fibonacci
Setelah muncul tampilan , anda dapat memasukkan banyaknya bilangan Fibonacci
yang ingin anda tampilkan. Seperti yang terlihat pada gambar
Gambar 5.15. bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
28/38
PUTU RUSDI ARIAWAN
Lalu tekan enter, maka akan muncul tampilan seperti gambar dibawah ini:
Gambar 5.16 hasil trace 1 bilangan Fibonacci
Uji coba 2
Pada saat di run , programnya akan tampak seperti gambar dibawah.
Gambar 5.17 bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
29/38
PUTU RUSDI ARIAWAN
Setelah muncul tampilan , anda dapat memasukkan banyaknya bilangan Fibonacci
yang ingin anda tampilkan. Seperti yang terlihat pada gambar
Gambar 5.18 bilangan Fibonacci
Lalu tekan enter, maka akan muncul tampilan seperti gambar dibawah ini:
Gambar 5.19 bilangan Fibonacci
Uji coba 3 (Mengunakan input yang salah)
Pada saat di run , programnya akan tampak seperti gambar dibawah.
Gambar 5.20 bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
30/38
PUTU RUSDI ARIAWAN
Pada saat itu kita masukkan input salah , yaitu berupa kata. Input yang benar
adalah berupa angka. Seperti terlihat pada gambar bibawah
Gambar 5.21 bilangan Fibonacci
Pada saat dienter, program tersebut tidak akan jalan dan kembali ke tampilan saat
pertama di run. Seperti terlihat pada gambar dibawah
Gambar 5.22 bilangan Fibonacci
Pada saat itu kita masukkan input berupa angka minus. Seperti terlihat pada
gambar dibawah
Gambar 5.23 bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
31/38
PUTU RUSDI ARIAWAN
Pada saat dienter hasilnya akan keluar seperti gambar dibawah. Program akan
menyuruh menginputkan bilangan positif. Tekan Y untuk coba lagi
Gambar 5.24 .trace 1 bilangan Fibonacci
Pada saat itu masukkan anka nol seperti terlihat pada gambar dibawah.
Gambar 5.25 bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
32/38
PUTU RUSDI ARIAWAN
Lalu enter dan keluar tulisan karakter pertama tidak boleh nol. Seperti terlihat
pada gambar dibawah.
Gambar 5.26 bilangan Fibonacci
Kita masukkan input yang benar yaitu berupa angka positif lebih besas dari nol.
Seperti terlihat pada gambar dibawah ini.
Gambar 5.27 bilangan Fibonacci
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
33/38
PUTU RUSDI ARIAWAN
Tekan enter maka akan keluar hasil seperti gambar dibawah.
Gambar 5.28 bilangan Fibonacci
Selanjutnya ada perintah untuk mencobs lagi. Tekan T untuk berhenti maka
program akan langsung keluar.
5.4.2 Program Magic SquareUji coba 1
Pada saat di run akan muncul tampilan seperti gambar dibaawah
Gambar 5.29 trace 1 Magic Square
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
34/38
PUTU RUSDI ARIAWAN
Pada saat itu kita masukkan angka ganjil. Seperti gambar dibawah.
Gambar 5.30 Magic Square
Tekan enter dan keluar hasilya seperti gambar dibawah.
Gambar 5.31 Magic Square
Uji coba 2(Memasukkan input salah)
Tampilan saat di run pertama seperti gambar dibawah.
Gambar 5.32 Magic Square
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
35/38
PUTU RUSDI ARIAWAN
Kita masukkan input salah yaitu berupa kata-kata seperti gambar dibawah.
Gambar 5.33 Magic Square
Tekan enter dan keluar serti gambar dibawah.
Gambar 5.34 Magic Square
Masukkan lagi input salah yaitu angka genap seperti gambar dibawah.
Gambar 5.35Magic Square
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
36/38
PUTU RUSDI ARIAWAN
Tekan enter dan keluar tampilan seperti saat di run pertama.
Gambar 5.36 Magic Square
Masukkan angka ganjil maka akan keluar hasil seperti gambar dibawah.
Gambar 5.37 Magic Square
5.5 SimpulanDari percobaan yang kami lakukan, maka dapat kami simpulkan
beberapa hal sebagai berikut:
1. Program fibonacci
Program fibonacci adalah program untuk memampilkan bilangan
penjumlahan dari bilangan sebelumnya sampai dengan banyak deret angka
yang ditentukan . Bilangan Fibonacci dapat dicari dengan menggunakan
algoritma rekursif , ataupun tidak menggunakan algoritma rekursif. Program
fibonacci mengunakan perulangan for yaitu pernyataan for biasa digunakan
untuk melakukan pengulangan yang jumlahnya telah diketahui sebelumnya.
Dalam kasus-kasus tertentu, mungkin saja kita harus meletakkan pernyataan if
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
37/38
PUTU RUSDI ARIAWAN
lain setelah else. Pernyataan for ada dua macam, yaitu forto dan
fordownto. Forto digunakan apabila kita ingin mencacah naik,
sedangkan fordownto adalah kebalikan dari forto.
Program fobonacci juga menggunakan perulangan repeat-untilyaitu
Pernyataan Repeatuntil adalah suatu pernyataan pengulangan dengan
ketentuan pengecekan suatu kondisi dilakukan pada akhir proses. Apabila
nilai yang diperoleh setelah proses belum memenuhi nilai yang ditentukan,
maka proses akan terus terulang sampai hasil proses sesuai dengan nilai yang
memenuhi.
2. Program magic square
Program magic square adalah program untuk menampilkan bujur
sangkar ajaib dimana hasil dari penjumlahan baris atau kolomnya sama semua
tetapi hanya bisa dengan banyakkolom atau baris dari bujur sangkar ajaib itu
berjumlah ganjil. Program tersebut dapat dicari menggunakan array,
pernyataan Array dipergunakan untuk menyimpan N nilai yang memiliki
tipe data yang sama.
Program ini juga memakai struktur perulangan for-to, pernyataan
for biasa digunakan untuk melakukan pengulangan yang jumlahnya telah
diketahui sebelumnya.
Program ini juga meggunakan perulangan repeat-until, Pernyataan
Repeatuntil adalah suatu pernyataan pengulangan dengan ketentuan
pengecekan suatu kondisi dilakukan pada akhir proses. Apabila nilai yang
diperoleh setelah proses belum memenuhi nilai yang ditentukan, maka
proses akan terus terulang sampai hasil proses sesuai dengan nilai yang
memenuhi.
-
8/9/2019 Array dan Statemen Kontrol Lanjutan
38/38