Saturday, April 13, 2013

Algoritma Rekursif dan Strukturnya

1) Sub Jangkauan (sub range type)
Tipe subjangkauan merupakan tipe yang mendifinisikan jangkauan dari nilai-nilai ordinal sebagai contoh seperti nilai-nilai ordinal char, integer.
Sala satu contoh sub jangkauan :
        Type
                        Huruf    = ‘A’ .. ’Z’ ;
                        Angka   = ‘0’ .. ’9’ ;
        Var
                        Inisial     : Huruf ;
                        Nilai       : Angka ;
Selain dengan cara mendeklarasikan terlebih dahulu type data yang baru digunakan dalam pendeklarasian variabel. Type sub jangkauan dapat langsung dibuat pada bagian pendeklarasian variabel seperti :
        Var
                        Nilai       = ‘0’ .. ‘100’ ;
Selain itu, Type sub jangkauan langsung dapat digunakan dalam program misalnya menentukan inputan angka atau hurufkemudian melakukan pemilihan, apakah setelah ada selection antara kondisi serta inputan yang diberikan dapat membaca angka ataupun huruf.
        Var
                        A : char ;
        Begin
                        Write (‘ input = ‘) ; readln (A) ;
        Case A  of
                        ‘a’ .. ‘z’ , ‘A’ .. ‘Z’ : write (‘Anda Input Banyak’)
        Else
                        ‘0’ .. ‘9’ : writeln (’Anda Input Angka’);
        End;
        End.
2)      Tipe Anumerasi
Mendifinisikan sekumpulan nilai dan diberi nama dan diebut satu persatu berdasarkan nilainya.
-          Pendeklarasian type Anumerasi adalah ;
Type
                NamaTipe  = (Nilai1,Nilai2, .. NilaiN);
Nama pada pendeklarasian type menjadi konstanta type Anumerasi dengan constanta tersebut mempunyai nilai ordinal mulai dari 0 dengan demikian, nilai 1 mempunyai nilai ordinal 0, nilai 2 mempunyai nilai ordinal 1 dan seterusnya.
Contoh pendeklarasian type Anumerasi :
        Type
                        Angka = (Nol, Satu, Dua, Tiga);
3)      Type Set (Himpunan)
Merupakan termasuk tipe data yang terstruktur dan aturan pendeklarasiannya adalah :
        Type
                        Nama Type = Set of Tipe
Jumlah nilai type tidak boleh lebih dari 256 nilai dan contohnya adalah :
        Type
                        Angka = Set of 0 .. 9   /   Huruf = Set of a .. z
4)      Type String
Variabel bertype string adalah serangkaian karakter dengan panjang yang berubah dan panjang maksimalnya 1 -255.
-          Pendeklarasian string (variabel yang bertype string yang akan digunakan seperti variabel lainnya harus dideklarasikan terlebih dahulu), Contohnya :
Var
                Nama Variabel : String ;
Atau
                Nama Variabel : String [konstanta] ;
String dapat dianggap sebagai sebuah Array karakter harus setiap elemen string dapat diakses dengan mengetahui indeksnya yang menyatakan urutan karakter dalam sebuah string, Contoh :
        Var
                        S          : String ;
                        C1,C2 : Char ;
        Begin
                        S    := ‘Mahasiswa’ ;
                        C1 := S [1] ;
                        C2 := S [3] ;
        End.
Fungsi dan Procedure Untuk Menipulasi String :
1.       Length          = Mengirimkan panjang String.
2.       Concat          = Menggabungkan 2 / lebih String menjadi 1 string.
3.       Delete          = Procedure untuk menghapus String.
4.       Copy              = Mengirimkan siting dari sebuah String.
5.       Insert            = Menyisipkan siting dari sebuah String.
6.       Post               = Mengirimkan posisi dari sebuah sub string.


ALGORITMA REKURSIF
Rekursip adalah sebuah perulangan dan definisinya merupakan sebuah object disebut berulang (rekursif) jika setiap object mengandung dirinya sendiri atau didefinisikan dengan dirinya sendiri. Bis a dikatakan fungi dan fungsinya sendiri atau fungsi yang dipakai untuk fungsinya sendiri. Dalam Matematika definisi Rekursif sebuah fungsi adalah definisi fungsi yang menggunakan fungsi tersebut. Dalam proses perulangan yang terjadi dalam algoritma Rekursif harus ditentukan sebuah kondisi kapan perulangan berhenti. Perulangan (Rekention) memegang peranan penting dalam banyak definissi Matemika. Beberapa contoh definisi matematika tersebut adalah bilangan asli  (Natural Number) dan fungsi factorial.
1.       Bilangan Asli
-          1 adalah bilangan asli
-          Suksesor bilangan asli adalah bilangan asli.
2.       Fungsi faktorial, n! (untuk integer non-Negatif).
a.       0! =1
b.      Jika n > 0 , maka n! = n x (n-1)

Berfikir Rekursif
Seperti halnya perulangan, Algoritma/ hubungan rekursif memungkinkan perulangan yang tidak akan berhenti/ tak hingga olek karena itu apabila sebuah masalah dinyatakan dalam hubungan berulang maka kondisi berhenti (basis atau termanation) hubungan berulang tersebut harus jelas. Kegunaan hubungan berulang terletak pada kemampuannya yang memungkinkan menyatakan definisi yang tak hingga dengan pertanyaan yang hingga. Untuk memecahkan masalah menggunakan hubungan berulang harus dibentuk.
A.      Basis, yaitu kondisi berhenti rekursif. Kondisi berhenti ini harus jelas sehingga tidak terjadi perulangan yang tak hingga.
B.      Definisi rekursif yaitu untuk membuktikan sebuah definisi rekursif benar adalah jika definisi tersebut benar untuk sebuah nilai misalnya (n-1).

Program CariFaktorial ;
Var
        Angka, hasil : integer ;
Function fakt (n : integer) : integer;
Begin
        If  n = 0 Then
                        Fak := 1
        Else
                        Fakt := n* Fakt (n-1) ;
        End;
Begin
        Write (‘ Masukkan angka (>=0) =’) ; readln(angka) ;
        Hasil := Fakt (angka);
        Writeln (angka,’! =’, hasil) ;
        Readln ;
End.

PEMROSESAN FILE
File text adalah file yang terdiri dari karakter-karakter.karakter-karakter tersebut dapat dianggap sebagai data yang bertipe karakter, integer, real, atau string. Tergantung kepada tipe data yang digunakan untuk menyimpan hasil pembacaan dari file. Contoh 1:
                File beristensi Txt
                Program TulisAlamat ;
                Var
                                Falamat : text ;
                Begin
                                Assign (falamat,’D:\alamat.txt’) ;
                                Rewrite (falamat) ;
                                Writeln(falamat,’ sukirman’) ;
Writeln(falamat,’pinrang’) ;
Close (falamat) ;
Readln ;
                End.
Contoh 2 :
                Program baca alamat ;
                Var
                                Falamat : text ;
                                Temp : string ;
                Begin
                                Assign (falamat,’D:\Alamat,txt’);
                                Reset (falamat) ;
                                While not eof 9falamat) do
                Begin
                                Readln (falamat, temp) do
                                Writeln (tempt) ;
                End ;
                Close (falamat) ;
                End.
Contoh 3 :
                Var
                                F : File ;
                Begin
                                Assign (F,’D:\ Alamat.text’) ;
                                Erase (F) ;
                End.
Contoh 4 :
                Program GanjilGenap ;
                Uses crt ;
                Var   batas : integer ;   
                Begin
                    Clrscr ;
                                Write (‘Batas’) ; readln(batas) ;
                                For  a := 1 to batas do
                begin
                                if  a  mod  2 then
                                case a  of
                                0 : write (‘ genap ‘) ;
                                1 : write (‘ genap ‘) :
                End ;
                Readln ;
                End.

STRUKTUR DATA DINAMIS
Struktur data Dinamis dapat mengecil dan dapat membesar.
                Var
                                Contoh array : array [1 .. 100] ;
Atau
                Type
                                Nama type pointer : ^ tipe data ;

-          Untuk mendefinisikan struktur data dinamis digunakan tipe pointer
-          Pointer adalah variabel yang digunakan untuk menyimpan lokasi data pada memori.
-        Procedure New Dispose digunakan untuk menggunakan variabel dengan tipe data record harus dipesan terlebih dahulu ruang memori yang digunakan untuk menyimpan nilai yang diacuh pada variabel tersebut. Proses ini disebut dengan alokasi memori untuk melakukan prosesini di gunakan sebuah procedure built-in yaitu New sesuatu yang ada pada pascal mod, mid.
Contoh :
type
                Rec = record
                                Nilai1 : integer ;
                                Nilai2 : integer ;
                End ;
Var
                Rec1 : rec ;
                Rec2 : rec ;
                Rec3 : rec ;


No comments:

Post a Comment

Kebahagiaan sejati bukanlah pada saat kita berhasil meraih apa yg kita perjuangkan, melainkan bagaimana kesuksesan kita itu memberi arti atau membahagiakan orang lain.