Jumat, 19 Juni 2009

PEMROGRAMAN KOMPUTER

BAB IPENDAHULUAN
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 IITEORI SINGKAT ALGORITMA
2.1 Pengertian AlgoritmaAlgoritma berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja’far 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 :
MASALAH ALGORITMA SOLUSIProses 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 AlgoritmaAlgoritma 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 PseudocodeStruktur 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 perhitunganSedangkan bentuk Struktur Urut pada Pseudocode adalah sebagai berikut :
Program Hitung_Luas_Persegi_Panjang;Var Panjang : Integer;Lebar : Integer;Luas : Integer;BeginWriteln("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 PseudocodeSelection 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 PseudocodeSuatu 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• Selesai.
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 PseudocodePada 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 IIIALGORITMA 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 :1. reflektif2. simetri3. 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 :1. Menerima masukan berupa jumlah titik relasi (n) dan mengalokasikan menjadi ordo dari matriks zero one yang akan dibuat (n X n)2. Menerima masukan berupa identitas relasi untuk setiap titik yaitu 0 jika false/salah dan 1 jika true/benar3. Membuat matriks zero one n X n dengan nilai masing-masing titik sesuai dengan input yang diberikan untuk setiap baris dan kolom4. Memberikan keterangan tentang sifat dari matriks zero one tersebuta. Matriks zero one tersebut akan memiliki sifat reflektif jika nilai pada semua baris - kolom yang berindeks sama adalah true (1)b. 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 criminalpenalties, and will be prosecuted to the maximum extent possibleunder 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 ofthis program. }
Uses Crt;Var i : byte; {indeks perulangan baris }j : byte; {indeks perulangan kolom }Jml_Ttk_Relasi : byte; {input jumlah titik relasi matrikszero one yang akan dibentuk }Identitas : array[1..100, 1..100] of boolean;{array penyimpan nilai tiap titik darimatriks zero one yang dimasukkan,ukuran matriks yang dimasukkandibatasi hingga 100 X 100 }
Procedure Pendahuluan;Begin{ not available on this beta version, okay ! }End;
Procedure Masukan;Var ID : char; {kondisi identitas masukan}BeginRepeatWrite ('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 doFor j := 1 to Jml_Ttk_Relasi do beginWrite(' Baris ',i,', Kolom ',j,' [Y/T] : ');ID := Readkey;If Upcase(ID) = 'Y' thenbeginWriteln(' 1 (True/Benar)');Identitas[i, j] := True;endelsebeginWriteln(' 0 (False/Salah)');Identitas[i, j] := False;end;end;End;
Procedure Tampilan_Matriks;Var Angka : byte;BeginWriteln;For i := 1 to Jml_Ttk_Relasi do beginFor j := 1 to Jml_Ttk_Relasi do beginIf Identitas[i, j] then Angka := 1else Angka := 0;Write(' ', Angka);end;Writeln;End;End;
Procedure Proses;Var Reflektif,Simetri,AntiSimetri : boolean;R : byte; {indeks untuk cek reflektif }BeginReflektif := False;Simetri := True;AntiSimetri := False;i := 0;j := 0;R := 0;{Cek apakah reflektif ?}RepeatInc(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 doFor j := 1 to Jml_Ttk_Relasi do beginIf (Identitas[i, j] <> Identitas[j, i]) andnot(AntiSimetri) then beginAntiSimetri := 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}BeginClrscr;Pendahuluan;Masukan;Tampilan_Matriks;Proses;Readln;End.{ indoskripsi }

Tidak ada komentar:

Posting Komentar