|
- BAB I
- PENDAHULUAN
-
- Konsep informasi memegang peranan penting
dalam memahami, berkomunikasi dengan
aspek-aspek yang berhubungan dengan
komputer. Konsep informasi ini menjadi
lebih penting lagi jika dikaitkan dengan
komunikasi.
- Tujuan proses komunikasi adalah
menyampaikan atau mengirimkan informasi
dari suatu sumber ke satu atau lebih
tujuan. Untuk berhasilnya suatu proses
komunikasi diperlukan suatu bahasa untuk
menyandikan informasi terlebih dahulu
sebelum informasi tersebut dikirm.
Penyandian informasi ini mutlak
diperlukan agar para programmer yang akan
menerima informasi mengetahui dengan
pasti arti dan maksud dari informasi yang
dikirm.
- Dengan demikian, dalam menulis suatu
program, yang harus diperhatikan pertama
kali adalah bagaimana memahami persoalan
yang dihadapi sehingga tidak salah
menginterpretasikan suatu informasi ke
dalam bentuk yang mempunyai nilai logical
validate untuk menyelesaikan suatu
masalah.
- BAB II
- TEORI SINGKAT ALGORITMA
-
- 2.1 Pengertian Algoritma
- Algoritma berasal dari kata algoris
dan ritmis, yang pertama kali
diungkapkan oleh Abu Jafar Mohammed
Ibnu Musa al Khowarizmi (825 M) dalam
buku AL-Jabr Wa-al Muqabala.
- Sedangkan dalam bidang pemrograman,
algortima didefinisikan sebagai suatu
metode khusus yang tepat dan terdiri dari
serangkaian langkah yang terstruktur dan
dituliskan secara sistematis yang akan
dikerjakan untuk menyelesaikan suatu
masalah dengan bantuan komputer.
- Hubungan antara algoritma, masalah dan
solusi dapat digambarkan sebagai berikut
:
<Gbr 1>
MASALAH ALGORITMA SOLUSI
Proses dari masalah hingga terbentuk suatu
algoritma disebut tahap pemecahan masalah,
sedangkan tahap dari algoritma hingga terbentuk
suatu solusi disebut dengan tahap implementasi.
Solusi yang dimaksud adalah suatu program yang
merupakan implementasi dari algoritma yang
disusun.
Algoritma pemrograman yang baik memiliki
ciri-ciri sebagai berikut :
- Memiliki logika perhitungan / metode yang
tepat dalam memecahkan masalah,
- Menghasilkan output yang tepat dan benar
dalam waktu yang singkat,
- Ditulis dengan bahasa yang standar secara
sistematis dan rapi sehingga tidak
menimbulkan arti ganda,
- Ditulis dengan format yang mudah dipahami
dan diimplementasikan ke dalam bahasa
pemrograman,
- Semua operasi yang dibutuhkan
terdefinisikan dengan jelas,
- Semua proses harus selalu berakhir
setelah sejumlah langkah dilakukan.
2.2 Penyajian Algoritma
Algoritma merupakan pola pikir yang
terstruktur yang berisi tahap-tahap penyelesaian
masalah, tahap-tahap itu dapat disajikan dengan
mengunakan dua teknik, yaitu teknik tulisan dan
gambar.
Penyajian algoritma dalam bentuk tulisan
biasanya menggunakan metode structure english dan
pseudocode, sedangkan penyajian algoritma dengan
teknik gambar biasanya menggunakan metode
strucuture chart, hierarchy plus input-
process-output, flowchart dan Nassi Schneiderman
chart.
Strucuture English merupakan alat yang cukup
efisien untuk menggambarkan suatu algoritma.
Basis dari structure English adalah bahasa
Inggris, tetapi juga dapat digunakan dalam bahasa
Indonesia. Oleh karena bahasa manusia yang
digunakan sebagai dasar penggambaran algoritma,
maka strucuture English lebih tepat untuk
menggambarkan suatu algoritma yang akan
dikomunikasikan kepada pemakai sistem.
Sedangkan pseudocode berarti kode yang mirip
dengan kode pemrograman yang sebenarnya.
Pseudocode berasal dari kata pseudo yang berarti
imitasi atau mirip atau menyerupai, dan code
berarti program. Pseudocode ditulis berbasis pada
bahasa pemrograman seperti BASIC, PASCAL, atau C,
sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan dikomunikasikan
pada programmer. Pseudocode lebih rinci dari
structure English, misalnya dalam menyatakan tipe
data yang digunakan.
Dalam penulisan structure English dan
Pseudocode juga mengenal struktur penulisan
program seperti sequence structure selection
structure dan looping structure.
2.2.1 Struktur Urut pada Structure English
dan Pseudocode
Struktur ini terdiri dari sebuah instruksi
atau blok instruksi yang tidak mempunyai
perulangan atau keputusan di dalamnya. Contoh
structure English (Indonesia) adalah sebagai
berikut :
- Inisiasi dan pemberian nilai awal
variabel
- Baca data panjang dan lebar empat persegi
panjang
- Hitung luas empat persegi panjang sama
dengan panjang dikalikan dengan lebar
- Tampilkan hasil perhitungan
- Sedangkan bentuk Struktur Urut pada
Pseudocode adalah sebagai berikut :
-
- Program
Hitung_Luas_Persegi_Panjang;
- Var
Panjang : Integer;
- Lebar :
Integer;
- Luas :
Integer;
- Begin
- Writeln("Panjang
Persegi Panjang :");
- Read(Panjang);
- Writeln("Lebar
Persegi Panjang :");
- Read(Lebar);
- Luas:=
Panjang * Lebar;
- Writeln("Luasnya",
Luas);
- End.
-
-
- 2.2.2 Struktur Keputusan pada
Structure English dan Pseudocode
- Selection structure merupakan struktur
logika guna mengambil suatu keputusan.
Pada struktur ini dapat digunakan
instruksi-instruksi seperti IF-THEN atau
struktur CASE. Berikut ini contoh
penulisan selection strucuture pada
structure English (Indonesia);
-
- Inisiasi variabel,
-
- Baca data nilai siswa,
-
- Jika nilai siswa lebih besar dari
60 maka status sama dengan lulus,
jika tidak maka status sama
dengan gagal,
-
- Cetak status siswa.
-
- 2.2.3 Struktur Perulangan pada
Structure English dan Pseudocode
- Suatu perulangan diterapkan pada situasi
dimana suatu instruksi atau grup dari
instruksi diproses berulang kali sampai
kondisi yang diinginkan terpenuhi. Pada
struktur perulangan ini dapat digunakan
instruksi FOR, REPEAT-UNTIL, DO-WHILE.
Berikut ini contoh penulisan looping
structure English (Indonesia);
-
- Inisiasi variabel yang digunakan,
-
- Tentukan nilai awal hitungan,
-
- Bila sepuluh hitungan belum
mencapai lebih besar dari
sepuluh, maka ulangi blok
instruksi berikut ini:
-
- Cetak kata MERDEKA
- Þ Hitungan ditambah satu
-
- Pada structure English terdapat beberapa
gaya penulisan yang telah banyak
digunakan. Gaya penulisan tersebut antara
lain :
-
- Common Style (menggunakan huruf
besar di awal dan selanjutnya
huruf kecil semua);
-
- Capitalized Common Style
(menggunakan huruf besar semua);
-
- Outline Common Style (dengan
menggunakan nomor urut);
-
- Narative Style (berbentuk
uraian);
-
- Gaya lain (tiap kata kunci
ditulis dengan huruf besar
semua).
-
- Aturan Penulisan Pseudocode
- Pada pseudocode terdapat beberapa aturan
penulisan agar pseudocode mudah dipahami
dan dimengerti oleh para pemrogram.
Aturan penulisan tersebut antara lain :
-
- Tulis satu pseudocode suatu
instruksi pada satu baris.
-
- Pisahkan modul-modul atau
kelompok pseudocode instruksi
dengan memberikan spasi beberapa
baris untuk mempermudah
pembacaan.
-
- Bedakan bentuk huruf dalam
penuluisan pseudocode dimana
pseudocode instruksi ditulis
dengan huruf kapital, sedangkan
komentar atau variabel dalam
huruf kecil.
-
- Berikanlah tabulasi yang berbeda
untuk penulisan pseudocode
instruksi-instruksi yang berada
dalam kalang (loop) atau struktur
kondisional.
-
- Lakukan pembatasan jumlah baris
pseudocode instruksi setiap
modulnya, misalnya 50-75 baris
instruksi per modul, sehingga
terlalu panjang.
-
-
- BAB III
- ALGORITMA MATRIKS ZERO ONE
-
- Matriks zero one adalah matriks yang
hanya memiliki elemen-elemen bernilai 0
(false) atau 1 (true). Suatu matriks zero
one dapat memiliki sifat sebagai berikut
:
-
- reflektif
-
- simetri
-
- anti simetri
-
- Kasus :
- Membuat matriks zero one berordo n X n
berdasarkan Input yang diberikan oleh
user dan dicari sifat relasi dari matriks
tersebut.
-
- Solusi :
-
- Menerima masukan berupa jumlah
titik relasi (n) dan
mengalokasikan menjadi ordo dari
matriks zero one yang akan dibuat
(n X n)
-
- Menerima masukan berupa identitas
relasi untuk setiap titik yaitu 0
jika false/salah dan 1 jika
true/benar
-
- Membuat matriks zero one n X n
dengan nilai masing-masing titik
sesuai dengan input yang
diberikan untuk setiap baris dan
kolom
-
- Memberikan keterangan tentang
sifat dari matriks zero one
tersebut
-
- Matriks zero one tersebut akan
memiliki sifat reflektif jika
nilai pada semua baris - kolom
yang berindeks sama adalah true
(1)
-
- Matriks zero one tersebut akan
memiliki sifat simetri jika nilai
pada semua [baris, kolom] sama
dengan nilai pada [kolom, baris];
selain itu bersifat anti simetri
-
- Representasi relasi dengan menggunakan
matriks zero one ini dalam bahasa
pemrograman Pascal adalah sebagai berikut
:
-
- Program
Representasi_Relasi_Matriks_Zero_One;{
iYAN --- Beta 0.10 Oct 10, 1998 on
VisiTech Lab. This computer program is
protected by copyright law. Unathorized
reproduction or distribution may result
in severe civil and criminal
- penalties,
and will be prosecuted to the maximum
extent possible
- under
the law.
- Visit
"VisiTech" for updates this
program. Get it now !
- WorkShop
: Kaliurang Street km 14.25 (Roda Jaya
Group)
- Thank`s
for evaluate this beta version, you can
get full version of
- this
program. }
-
- Uses
Crt;
- Var i :
byte; {indeks perulangan baris }
- j :
byte; {indeks perulangan kolom }
- Jml_Ttk_Relasi
: byte; {input jumlah titik relasi
matriks
- zero
one yang akan dibentuk }
- Identitas
: array[1..100, 1..100] of boolean;
- {array
penyimpan nilai tiap titik dari
- matriks
zero one yang dimasukkan,
- ukuran
matriks yang dimasukkan
- dibatasi
hingga 100 X 100 }
-
- Procedure
Pendahuluan;
- Begin
- { not
available on this beta version, okay ! }
- End;
-
- Procedure
Masukan;
- Var ID
: char; {kondisi identitas masukan}
- Begin
- Repeat
- Write
('Jumlah titik relasi [1..150] : ');
- Readln(Jml_Ttk_Relasi);
- Until
(Jml_Ttk_Relasi > 0) and
(Jml_Ttk_Relasi < 151);
- Writeln;
- Writeln
('Masukkan identitas tiap titik pada
matriks ',
- Jml_Ttk_Relasi,'
X ',Jml_Ttk_Relasi,' :');
- For i
:= 1 to Jml_Ttk_Relasi do
- For j
:= 1 to Jml_Ttk_Relasi do begin
- Write('
Baris ',i,', Kolom ',j,' [Y/T] : ');
- ID :=
Readkey;
- If
Upcase(ID) = 'Y' then
- begin
- Writeln('
1 (True/Benar)');
- Identitas[i,
j] := True;
- end
- else
- begin
- Writeln('
0 (False/Salah)');
- Identitas[i,
j] := False;
- end;
- end;
- End;
-
- Procedure
Tampilan_Matriks;
- Var
Angka : byte;
- Begin
- Writeln;
- For i
:= 1 to Jml_Ttk_Relasi do begin
- For j
:= 1 to Jml_Ttk_Relasi do begin
- If
Identitas[i, j] then Angka := 1
- else
Angka := 0;
- Write('
', Angka);
- end;
- Writeln;
- End;
- End;
-
- Procedure
Proses;
- Var
Reflektif,
- Simetri,
- AntiSimetri
: boolean;
- R :
byte; {indeks untuk cek reflektif }
- Begin
- Reflektif
:= False;
- Simetri
:= True;
- AntiSimetri
:= False;
- i := 0;
- j := 0;
- R := 0;
- {Cek
apakah reflektif ?}
- Repeat
- Inc(i);
- Inc(j);
- If
Identitas[i, j] = True then inc(R);
- Until
(i = Jml_Ttk_Relasi);
- If R =
Jml_Ttk_Relasi then Reflektif := True;
- i := 0;
- j := 0;
- {Cek
apakah simetri/antisimetri ?}
- For i
:= 1 to Jml_Ttk_Relasi do
- For j
:= 1 to Jml_Ttk_Relasi do begin
- If
(Identitas[i, j] <> Identitas[j,
i]) and
- not(AntiSimetri)
then begin
- AntiSimetri
:= True;
- Simetri
:= False;
- end;
- end;
- Writeln;
- If
Reflektif then Writeln('Matriks bersifat
Reflektif');
- If
Simetri then Writeln('Matriks bersifat
Simetri')
- else
Writeln('Matriks bersifat AntiSimetri');
- End;
-
- {Program
Utama}
- Begin
- Clrscr;
- Pendahuluan;
- Masukan;
- Tampilan_Matriks;
- Proses;
- Readln;
- End.
- {
Referensi : none! }
-
-
- BAB IV
- REFERENSI
-
- Budi Sutedjo, S.Kom dan Michael AN, ALGORITMA
dan TEKNIK PEMROGRAMAN, Andi Offset,
1997
-
- P. Insap Santosa, M.Sc., Ir., DASAR-DASAR
PEMROGRAMAN PASCAL TEORI dan PROGRAM
TERAPAN, Andi Offset, 1993.
<© 081298 by iYAN, Html
301099>
Tugas Mata Kuliah :
- Matematika
Diskret
- Metodologi
Penelitian Teknik
- Sistem
Operasi II
- Praktikum
Algoritma dan Pemrograman 2
- Praktikum
Sistem Operasi (A)
- Praktikum
Sistem Operasi (B)
Copyright(c) 1999 by
Yanuar Firdaus A.W
|
|