Array dan Statemen Kontrol Lanjutan

download Array dan Statemen Kontrol Lanjutan

of 38

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