Berisi Informasi Tentang Teknologi Informasi Dan Komunikasi




Bahasa Pemrograman PASCAL

Pascal , merupakan bahasa pemrograman tingkat tinggi.
Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada tahun 1971
Nama Pascal diambil sebagai penghargaan kepada Blaise Pascal (ahli matematika dan philosopi dari Peancis).

Pembagian Tipe Data:
1. Tipe Data Sederhana (Simple Type)

Disebut juga sebagai tipe data skalar, yakni bahwa dalam sebuah perubah hanya dimungkinkan untuk menyimpan sebuah nilai data, yakni bahwa tipe data skalar menunjukkan untuk data tersebut nilainya terbentuk menurut suatu urutan tertentu. Tipe data sederhana terbagi menjadi:

A. Tipe Ordinal (berurutan)

adalah sebuah subset dari tipe data sederhana. Semua tipe sederhana disebut sebagai data dengan tipe ordinal kecuali tipe real. Dalam bahasa pascal, tipe data skalar menunjukkan bahwa untuk data tersebut nilainya terbentuk menurut urutan tertentu, yaitu nilainya ada dalam urutan.


Karakteristik tipe Ordinal adalah
  • Merupakan Himpunan Berurutan (ordered set) → nilai dari tipe data ordinal memiliki nilai yang berurutan
  • Memiliki Fungsi standard ORD/Ordinalitas (digunakan untuk menghasilkan nilai urutannya.)
  • Memiliki Fungsi standard PRED/Predecessor (digunakan untuk menghasilkan nilai urutan sebelumnya.). Jika diterapkan pada nilai pertama akan menyebabkan error.
  • Memiliki Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan sesudahnya). Jika diterapkan pada nilai terakhir akan menyebabkan error.

Contoh Program:

uses crt;type
Colors = (MERAH,BIRU,HIJAU);
begin
clrscr;
Writeln(‘BIRU mempunyai nilai ordinal ‘,Ord(BIRU));
Writeln(‘kode ASCII dari “c” adalah ‘, Ord(‘c’), ‘ desimal’);
writeln;
Writeln(‘predecessor dari 5 adalah ‘,Pred(5));
Writeln(‘successor dari 10 adalah ‘,Succ(10));
if Succ(MERAH) = BIRU then
Writeln(‘DALAM TIPE Colors ,MERAH merupakan ‘,
‘predecessor dari BIRU.’);
readln;
end.
HASIL :BIRU mempunyai nilai ordinal 1
kode ASCII dari “c” adalah 99 desimal
predecessor dari 5 adalah 4
successor dari 10 adalah 11
DALAM TIPE Colors ,MERAH merupakan predecessor dari BIRU.


Macam dari tipe ordinal adalah:

a. Integer tipe data yang digunakan untuk menyimpan bilangan bulat (tidak memiliki titik desimal)
Ada lima tipe data yang termasuk dalam kelompok ini, yaitu integer, short int, long int, byte dan word.

  Tipe                         Jangkauan                        Ukuran
Shortint                       128…127                       Signed 8 bit
Integer                   -32768…32767                    Signed 16 bit
Longint            -2147483648…2147483647            Signed 32 bit
Byte                              0…255                       UnSigned 8 bit
Word                           0…65535                      UnSigned 16 bit



b. Boolean → adalah tipe data yang hanya mempunyai dua nilai, yaitu BENAR (TRUE) dan SALAH (FALSE). Operator yang digunakan adalah AND, OR atau NOT.
c. Char → tipe data yang digunakan untuk menyimpan data alfanumeris. Dalam program Pascal, nilai data tipe char ditulis diantara tanda petik, seperti: ‘A’, ‘Z’, ’8′, ‘*’, dsb. Ada empat fungsi yang telah didefinisikan dapat digunakan untuk memanipulasi data tipe char, yaitu:
Fungsi ordinal, ORD(kar), dan kar adalah adalah data tipe char yang nilai ORD(kar) adalah angka urutan dalam kode ASCII yang digunakan untuk melambangkan karakter tersebut. Sebagai contoh ORD(‘A’) adalah 65.
Fungsi karakter, CHR(I) dengan I bilangan bulat positif, merupakan kebalikan dari fungsi ORD. Nilai yan diperoleh merupakan karakter ASCII yang dinyatakan dengan urutan ke I, contohnya: CHR(65) adalah ‘A’
Fungsi pendahulu, PRED(kar), dengan Kar adalah data tipe char dimana nilai PRED(kar) adalah karakter yang dalam urutannya mendahului kar. Contoh:PRED(‘B’) adalah ‘A’
Fungsi penerus, SUCC(kar) dengan nilai SUCC(kar) adalah karakter yang dalam ururtannya sesudah kar. Contoh: SUCC(‘B’) adalah ‘A’

d. Terbilang → digunakan untuk memberi nama pada beberapa nilai tertentu. (Tipe data yang didefinisikan sendiri oleh pembuatnya → dikenal juga dengan tipe data enumerated)

Contoh:

Type
Hari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu)


e. Sub Jangkauan → digunakan untuk mendeklarasikan tipe yang berada pada jangkauan tertentu. Pada dasarnya tipe subjangkauan hampir sama dengan tipe bilangan bulat, bedanya kita bebas menentukan jangkauan dari tipe ini, misalnya dari 1 sampai 100.

Contoh:

Type
Batas = 0 .. 100


B. Tipe Real
Adalah tipe data yang menggunakan menyimpan bilangan real / pecahan.

Terdapat 5 macam data pada tipe real, yaitu: real, single, double, extended dan comp.

Tipe data                        Jangkauan                      Digit penting                    Ukuran
Real                  2.9 * 10-39 … 1.7 * 1038              11-12                          6 byte
Single                1.5 * 10-45 … 3.4 * 1038                7-8                            4 byte
Double            5.0 * 10-324 … 1.7 * 10308            15-16                          8 byte
Extented          3.4 * 10-39 … 1.1 * 104932            19-20                        10 byte
Comp                    -263+1 … 1063-1                      19-20                          8 byte

Operator matematika yang digunakan adalah +, -, *, /.Penggunaan tipe data real ini adalah dalam perhitungan matematika, sains dimana derajat ketelitian sangat diperhatikan.

2. Tipe STRING

adalah tipe data yang digunakan untuk menyimpan data yang berupa gabungan dari beberapa karakter, seperti: ‘Pascal’, ‘Logika dan Algoritma’, dsb. Besarnya adalah antara 1 sampai dengan 255 karakter.

Bentuk umum penulisan tipe data ini adalah:

Type
Pengenal = String[panjang];
dengan:
Pengenal = nama tipe data
Panjang = bilangan bulat yang menunjukkan jumlah karakter

Sebagai contoh:

Type
Kata = String[50]
Var
Nama1, Nama2 : Kata;


OPERASI STRING
Operasi string terbagi mencadi dua macam, yaitu:
A. Prosedur Standar

Prosedur-prosedur standar pada operasi string ada beberapa macam, yaitu:

# DELETE

→ Berfungsi menghapus sebagian karakter dari sebuah string.

Sintaks: DELETE (S,Index,Count)

Keterangan:
S       = String
Index = Posisi awal karakter yang akan dihapus
Count = Banyaknya karakter yang akan dihapus

Contoh:

S = ‘BINA SARANA INFORMATIKA’
DELETE (S,5,7)


hasilnya adalah: ‘BINA INFORMATIKA’
Perlu diperhatikan bahwa spasi juga dihitung sebagai satu karakter.

# INSERT

→ Berfungsi menyisipkan satu atau beberapa karakter kedalam sebuah string.

Sintaks: INSERT (Source, Var S, Index)

Keterangan:

Source     = Sumber string untuk disisipkan (string)
Var S       = String tujuan yang akan disisipi oleh string Source (string)
Index       = posisi mulai (integer)

Contoh:

S = ‘LOGIKA’
T = ‘ALGORITMA’
INSERT (‘ALGO’,S,3)
INSERT(T,S,1)

# STR

Sintaks: Str (N [:lebar [:desimal]],var S : string);

→ Digunakan untuk merubah nilai numerik (ditunjukkan oleh nilai N) menjadi nilai string (ditunjukkan oleh pengenal variabel S). Nilai N dapat berupa bilangan real atau integer. Nilai lebar menunjukkan format panjang dari nilai utuh dan nilai desimal menunjukkan format dari panjang nilai dibelakang koma.

Keterangan :
N = data tipe integer atau real
S = data tipe string.

Contoh:

N = 1234
STR (N,S)
STR(N:8,S)


# VAL

Sintaks: VAL (S:String,N,PosisiSalah)

→ Digunakan untuk mengkonversi suatu nilai string menjadi nilai numerik. Variabel S harus berisi angka atau tanda plus/minus bila tidak berarti salah dan letak kesalahannya ditunjukkan oleh nilai PosisiSalah. Nilai dari PosisiSalah akan nol jika tidak terjadi kesalahan.

Contoh:

S = ‘-123′
VAL (S,N,PosisiSalah)
S = ‘123.A5′
VAL (S,N,PosisiSalah)


B. Fungsi Standar

# COPY

Sintaks :

COPY (s : string, index : integer, count : integer) : string

Digunakan untuk menyalin sejumlah karakter (jumlah karakter yang disalin ditunjukkan oleh nilai count) mulai dari posisi yang ditunjukkan oleh nilai integer index dari nilai string yang ditunjukkan oleh s.

Contoh:

S = ‘INFORMATIKA’
P = COPY (S,1,4)
Q = COPY (S,6,4)


# CONCAT

Sintaks :

CONCAT (s1 [,s2, ... , sn] : string) : string

Digunakan untuk merangkai beberapa nilai string yang ditunjukkan oleh nilai string s1, s2, …. , sn

Contoh:

S = ‘INFORMATIKA’
P = ‘BINA’
Q = ‘SARANA’
V = CONCAT (P,Q,S)
W = CONCAT(P,’_',Q,’_',S)


# POS
Sintaks :

POS (Substr : string, s: string) : byte

Digunakan untuk mencari posisi letak dari suatu nilai string (ditunjukkan oleh Substr) yang ada didalam nilai string yang lain (ditunjukkan oleh s). Nilai yang dihasilkan adalah berupa nilai byte yang menunjukkan letaknya. Bila bernilai nol berarti nilai string yang dicari tidak ada.

Contoh:

S = ‘INFORMATIKA’
P = POS(‘ATI’,S)
Q = POS(‘FORMASI’,S)

# LENGTH

Sintaks :

LENGTH (s : string) : integer

Digunakan untuk menghitung panjang atau jumlah karakter yang ada dinilai string yang ditunjukkan oleh s. Hasil dari fungsi ini adalah nilai numerik integer positif.

Contoh:

S = ‘INFORMATIKA’
Q = ‘BINA’
P = LENGTH(S)
R = LENGTH(CONCAT(S,Q))

3. Tipe Struktur

Pada tipe ini setiap perubah dapat menyimpan lebih dari sebuah nilai data yang masing-masing nilai data disebut komponen. Karakteristik tipe data terstruktur ini adalah ditentukan berdasarkan cara penstrukturan dan tipe masing-masing komponen. Ukuran tipe terstruktur dalam bahasa pemrograman Turbo Pascal maksimum 65520 byte. Pada tipe ini terdapat empat buah tipe data terstruktur, yaitu larik, rekaman, himpunan, dan berkas

a. Tipe larik(array tipe)

adalah tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor index.

Bentuk umum penulisan:

Type pengenal = array[tipe index] of tipe;

dengan

Pengenal = nama tipe data

Tipe index = tipe data untuk tiap nomor index

Tipe = tipe data komponen

Parameter tipe index akan menentukan banyaknya komponen larak/array tersebut, sebagai contoh:

Type vek = array[1..100] of integer;

Akan menunjukkan bahwa vek adalah tipe data yang berupa larik/array yang komponennya bertipe integer dan banyaknya adalah 100 buah. Dekalarasi yang disebutkan diatas disebut dengan deklarasi array/larik dimensi satu atau dapat disebut juga dengan vektor, sedangkan untuk larik/array dimensi banyak dapat dilihat pada conoth deklarasi berikut:

Type Tbl = array[1..100 ] of array [1..5] of real; atau

Type Tbl = array[1..100,1..5] of real;

b. Tipe record

adalah kumpulan data yang setiap elemennya bisa mempunyai tipe data yang berbeda satu sama lainnya. Pada larik, semua elemen harus bertipe sama.

c. Tipe set/himpunan

adalah kumpulan objek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan. Setiap objek dalam suatu set disebut anggota atau elemen himpunan.

d. Tipe file atau berkas

adalah kumpulan sejumlah komponen yang bertipe sama yang jumlahnya tidak tertentu dan biasanya tersimpan dalam suatu media penyimpanan luar.

e. Tipe pointer

adalah fasilitas yang memungkinkan pemakai menggunakan perubah yang bersifat dinamis

f. Tipe terbilang atau enumerated, disebut demikian karena semua nilai yang ada disebut dengan cara satu persatu.

Contoh:

Type TOKO = (baru,ramai,sukses,rapi);
TypeHARI =(minggu,senin,selasa,rabu,kamis,jum’at,sabtu,minggu);
TypeBULAN =(jan,feb,mar,apr,mei,jun,jul,ags,sep,okt,nop,des);
typeSEKOLAH=(tk,sd,smp,sma,universitas);
[ Read More ]



Algoritma Variabel Pe-ubah

Adalah variabel yang nilainya BUKAN konstanta (selalu berubah – sesuai dengan kondisi Variabel terKINI)

Sintaks : P = Q

Algoritma : P <- Q

Arti : Bahwa Nilai P diberi harga Nilai Q

Nilai P akan SAMA DENGAN nilai Q dan Nilai Q TETAP

Contoh Soal 1:

Diketahui P=0, Q=5 dan R=10. Diberikan algoritma P=Q, Q=R, maka nilai P, Q, R sekarang ?

Jawab

Diketahui P = 0, Q = 5, R = 10

P = Q –> Pada saat ini nilai dari Variabel P akan diberi nilai dari Variabel Q (P = 5)

Q = R –> Pada saat ini nilai dari Variabel Q akan diberi nilai dari Variabel R (Q = 10)

Maka nilai P, Q dan R sekarang adalah P = 5, Q = 10 dan R = 10

Contoh Soal 2:

Diketahui Algoritma P=10, P=P+1 dan Q = P. Berapakah nilai P dan Q ?

Jawab

Algoritma:

P = 10 –> Pada saat ini nilai dari Variabel P akan diberi nilai 10

P = P + 1 –> Pada saat ini nilai dari Variabel P yang baru adalah nilai dari variabel P yang lama ditambah 1 (10 + 1 = 11)

Q = P –> Pada saat ini nilai dari variabel Q diberi nilai dari variabel P yang baru (Q =11)

Contoh Soal 3:

Diketahui 3 varibael peubah P, Q dan R. Agar isi Q ditaruh di P, isi R ditaruh di Q dan isi P ditaruh di R,maka Algoritma yang dapat ditulis adalah ..?

Jawab

Agar isi Q ditaruh di P, algoritma yang dapat ditulis adalah (P <- Q atau P=Q)

Agar isi R ditaruh di Q, algoritma yang dapat ditulis adalah (Q <- R atau Q=R)

Agar isi P ditaruh di R, algoritma yang dapat ditulis adalah (R <- P atau R=P)

Algoritma Variabel Pertukaran

Berfungsi mempertukarkan masing-masing isi Variabel sedemikian sehingga Nilai dari tiap Variabel akan berubah/bertukar.

Contoh Soal:

Diketahui 2 peubah K = 10 dan L = 20. Buat Algoritma untuk mempertukarkan isi K dan L .. ?

Jawab

Untuk menyelesaikan algoritma pertukaran, dibutuhkan satu buah peubah (variabel) tambahan untuk menyimpan nilai dari salah satu peubah. Algoritma pertukaran untuk masalah diatas adalah (dimisalkan variabel tambahan adalah T).

T = K –> Pada algoritma ini nilai dari variabel T (variabel tambahan) akan diisi dengan nilai dari variabel K (T = 10)

K = L –> Pada algoritma ini nilai dari Variabel K akan diisi dengan variabel L (K = 20)

L = T –> Pada algoritma ini nilai dari Variabel L akan diisi dengan variabel T (L = 10)

Setelah algoritma ini dijalankan dapat dilihat bahwa algorita diatas telah mempertukarkan nilai dari variabel-variabel tersebut. Sebelumnya variabel K = 10 dan L = 20, menjadi variabel K = 20 dan L = 10
[ Read More ]



Logika dan Algoritma

Diperkenalkan Oleh Ahli Matematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi.

Definisi Algoritma

1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh

2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi

3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)



Kriteria Pemilihan Algoritma

1. Ada output: mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.

2. Efektifitas dan Efisiensi ikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.

3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.

4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.

5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.

Kesimpulannya:

Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”

Contoh:

A. Algoritma untuk mengirimkan surat

1. Tulis surat pada secarik kertas surat

2. Ambil sampul surat atau amplop

3. Masukkan surat ke dalam amplop

4. Tutup amplop surat dengan lem perekat

5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat

6. Tempelkan perangko pada amplop surat

7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.

B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.

1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.

2. Dinyatakan Nilai B adalah 0

3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop

4. Jika tidak, maka nilai B akan bertambah 1

5. Kembali ke langkah pada No.3

Tahapan Analisa Algoritma

1. Bagaimana merencakan suatu algoritma:

Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.

2. Bagaimana menyatakan suatu algoritma

Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:

- Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)

Contoh:

1. Untuk mengitung Luas Segitiga:

2. Masukan Nilai Alas

3. Masukan Nilai Tinggi

4. Hitung Luas = (Alas * Tinggi)/2

5. Cetak Luas

- Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan



Contoh:



- Dengan Statement Program/Penggalan Program

Contoh:

1. Read Alas

2. Read Tinggi

3. Luas=(Alas*Tinggi)/2

4. Write(luas)

3. Bagaimana validitas suatu algoritma

Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.

4. Bagaimana menganalisa suatu algoritma

Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.

5. Bagaimana menguji program dari suatu algoritma

Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu:

1. Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.

2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.



ANALISIS SUATU ALGORITMA


(Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:

- Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.



Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:

1. Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut

2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)

3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.

4. Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya



- Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.



Sifat-Sifat Algoritma

- Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.

- Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).

- Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan dilaksanakan oleh komputer.

- Input dan Output harus mempunyai batasan: input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.

- Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.

- Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.



[ Read More ]