Algoritma Dan Pemograman

Enggak kerasa sekarang umurku sudah 18 tahun , dan sekarang akupun sudah kuliah  biarpun baru semester 1 dan mengambil jenjang pendidikan D3 aku tetap bersemangat dgn kuliah ku. Semangaat sangat bersemangat. 
Algoritma dan pemograman adalah salah satu mata kuliah yang aku pelajari. Program yg digunakan adalah Turbo Pascal 1.5, aku cukup familiar dengan software ini karna dulu sewaktu kelas 1 SMK aku pernah belajar. Inilah untungnya pernah bersekolah di SMK , apalagi jurusan RPL...hehhehe. Berikut ringkasan materi turbo pascal yg aku dapat , satu lagi aku juga akan share coding-coding program yang aku pelajari selama 1 semester ini. Tapi baca dulu materinya baru download codingnya ....

PENGANTAR LOGIKA DAN ALGORITMA
·         LOGIKA à Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.
·         ALGORITMA à Pada Merriam-Webster’s Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis pengambilan keputusan untuk pemecahan masalah.
Alat Bantu untuk menuliskan Logika dan Algoritma, salah satunya adalah Flowchart dan Pseudecode.
·         FLOWCHART  à gambaran dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem secara logika, yang menyatakan arah alur program dalam menyelesaikan suatu masalah.
SIMBOL Flowchart



Pedoman-pedoman dalam Membuat Flowchart:
1.    Bagan alir sebaiknya digambar dari atas ke bawah dan mulai dari bagian kiri dari suatu halaman.
2.    Kegiatan di dalam bagan alir harus ditunjukkan dengan jelas.
3.    Harus ditunjukkan dari mana kegiatan akan dimulai dan dimana akan berakhirnya diawali dari satu titik START dan diakhiri dengan END).
4.    Masing-masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
-                 "Persiapkan" dokumen
-                 "Hitung" gaji
5.    Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
6.    Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
7.    Gunakanlah simbol-simbol bagan alir yang standar.


CONTOH
·         Program Welcome
Ø Coding
            program Welcome ;
uses Wincrt ;
Begin
Writeln (' Hallo , Welcome ');
Writeln ('      in         ');
Writeln (' Turbo Pascal 1.5');
writeln ('      ^.^        ');
end.

Ø  Pseudecode

Algoritma Welcome
Output ( ‘ Hallo, Welcome ‘)
Output (‘ in’)
Output (‘Turbo Pascal 1.5’)
Output (‘ ^.^’)



MENGENAL TIPE DATA
TIPE DATA DASAR
Tipe data dasar yang digunakan dalam algoritma maupun pemrograman yaitu :
Ø  Tipe Sederhana
a.          Tipe Ordinal
·           Tipe Integer
Tipe Integer adalah tipe data yang nilainya tidak mempunyai titik desimal. Tipe integer merupakan tipe data yang terdiri dari bilangan bulat dalam rentang tertentu.
Operator Integer :
Operator
Arti
+
Penjumlahan
-
Pengurangan
*
Perkalian
DIV
Division, hasil pembagian bulat
MOD
Modulo, sisa pembagian

·           Tipe Boolean
Tipe Boolean hanya terdiri dari dua harga yaitu TRUE dan FALSE. Ekspresi TRUE atau FALSE disebut ekspresi Boolean. Terdapat dua jenis operator yang dapat digunakan dalam ekspresi Boolean, yaitu operator Boolean dan operator Relasional. Operator boolean terdiri dari AND, OR dan NOT.
Operator Relasional :
Operator
Arti
=
Sama dengan
< 
Kurang dari
<=
Kurang dari sama dengan
> 
Lebih dari
>=
Lebih dari sama dengan
<> 
Tidak sama dengan
·           Tipe Char
Tipe char digunakan untuk mendefinisikan tipe data yang nilainnya merupakan himpunan karakter yang dikenal komputer seperti yang tersaji dalam tabel ASCII. Dalam program konstanta bertipe char ditulis diantara tanda petik, misalnya :
‘A’            ‘B’       ‘,’         ‘4’

·           Tipe Terbilang
Disebut tipe terbilang karena semua nilai disebutkan satu persatu.

b.  Tipe Real
Tipe Real adalah tipe data yang berisi titik desimal. Tipe real merupakan tipe data yang terdiri dari bilangan pecahan dalam rentang tertentu.
Operator Real :
Operator
Arti
+
Penjumlahan
-
Pengurangan
*
Perkalian
/
Pembagian

2.    Tipe String
            Tipe String adalah data yang berisi sederetan karakter yang banyaknya karakter bisa berubah-ubah sesuai kebutuhan, yaitu 1 sampai 255 karakter.

CONTOH

·         Program Data Siswa

Program Data_siswa;
Uses WinCrt ;
Var
   Nama : String [20];
   Kelas : Char ;
   JenisKelamin : String [10];
Begin
     Write ('Inputkan Nama :') ; Readln (Nama) ;
     Write ( 'Inputkan Kelas :') ; Readln (Kelas);
     write ('Inputkan Jenis Kelamin :') ; Readln (JenisKelamin);
     Writeln ;
     Writeln (Nama);
     Writeln (Kelas);
     Writeln (JenisKelamin);
End.

SELEKSI KONDISI

1.       Pilihan Tunggal (Struktur Kendali  “IF…Then…’)
Pernyataan if (if statement) akan memeriksa suatu kegiatan (persyaratan) dan menentukan apakah kegiatan (persyaratan) tersebut benar atau salah, kemudian melakukan pekerjaan sesuai dengan nilai pernyataan.
Struktur Penulisan :
if (kondisi) then
     pernyataan ;

CONTOH

·         Program Bilangan positif
Program Bilangan_positif;
Uses WinCrt;
Var
   Bil : Integer ;
Begin
   Write ('Masukkan Bilangan '); Readln (Bil);
   If Bil >0 Then
     Writeln ('Bilangan Positif ');
End.
2.Pilihan Ganda ( If Then Else)
            Pilihan ganda yaitu penggunaan struktur If …Then dengan dua pilihan yang akan diseleksi.
Struktur Penulisan :
if (kondisi) then
     pernyataan_1
else
    pernyataan_2



·         Program Babysitter(Penentuan lulus atau tidak)
Program Babysiter ;
Uses WinCrt ;
Var
   Nama,Jk,Umur,Ket : String ;
Begin
     Writeln ('        Program Seleksi babysiter ');
     Writeln ('        ************************* ');
     writeln ;
     Writeln ('Syarat:');
     writeln ('        - Berjenis Kelamin Perempuan ');
   
     Writeln ;
     Writeln ;
     Write ('Inputkan nama :'); Readln (Nama);
     Write ('Inputkan Jenis Kelamin(L/P):') ;Readln (Jk);
     Write ('Inputkan Umur :'); Readln (Umur);
     If Jk='P' then 
     Ket := 'ANDA LULUS' else Ket := 'ANDA TIDAK MEMENUHI SYARAT';   
     Writeln ;
     Writeln ('Nama : ',Nama);
     Writeln ('Jenis Kelamin : ',Jk);
     writeln ('Umur : ',Umur,'Thn');
     writeln ('Keterangan: ', Ket);
   
End.
3.      Pilihan Jamak
Pilihan jamak adalah penggunaan struktur if..then dengan pilihan lebih dari 2. Dengan pilihan jamak, statement akan dipilih salah satu yang sesuai dengan kondisi yang tersedia.

if (kondisi_1) then
     pernyataan_1
else
if (kondisi_2) then
     pernyataan_2
if (kondisi_3) then
     pernyataan_3
else
    pernyataan_4
Struktur Penulisan :






CONTOH
·         Program  penentuan SKS berdasarkan semester
Program SKS;
Uses WinCrt ;
Var
   smtr : String[2] ;
Begin
     Write (' Inputkan Semester Anda ?'); readln(smtr);
     if smtr='1' then
     writeln ('  Sks Anda : 20 Sks')
     else
         if smtr='2' then
         writeln (' Sks Anda: 21Sks')
         else
             if smtr='3' then
             writeln (' SKS Anda: 22 Sks')
             else
             Writeln (' Sks Anda : 24 Sks');
             end.if
         end.if
     end.if
end.






STRUKTUR CASE
CONTOH
·         Program Data Pegawai
Program Data_pegawai;
Uses WinCrt;
Var
   Nip : String [15];
   Nama : string[20];
   Gol : Char ;
   Gajihpokok: real ;
   Tunjangan : real;
   Gajihtotal :real ;
begin
     Write (' Inputkan NIP :'); readln (Nip);
     write (' Inputkan Nama :'); readln (Nama);
     Write (' Inputkan Golongan :'); readln (Gol);
     Case Gol of
         'A': Gajihpokok:=750000 ;
         'B': Gajihpokok:=850000 ;
         'C':Gajihpokok:=1150000;
         'D':Gajihpokok:=1350000;
         'E':Gajihpokok:=1500000;
     end;
     Tunjangan := 0.15 * Gajihpokok;
     Gajihtotal := Gajihpokok + Tunjangan ;
     writeln ;
     writeln ;
     Writeln (' NIP Anda :',Nip);
     Writeln ( ' Nama Anda :',Nama);
     writeln (' Golongan Anda :',Gol);
     writeln (' Gajih Pokok Anda :Rp. ',Gajihpokok:2:2);
     writeln (' Tunjangan Anda :Rp. ',Tunjangan:2:2);
     writeln (' Total Gajih Anda :Rp.',Gajihtotal:2:2);
end.
PERULANGAN


·         Deret 1+2+3+4+5+........+N
(FOR)

program deret;
uses Wincrt ;
Var
   i , N ,i, Jumlah :Integer ;
begin
     write ('Banyak Data ?'); readln(N);                               
     Jumlah := 0 ;
     for i := 1 to N do
     begin
     
     write (i);
     write ('+');
     Jumlah := Jumlah + i ;
     end;
     writeln ;
     Writeln ('Jumlah Deret =',Jumlah);
end.
(WHILE DO)

Pernayataan ini dilakukan untuk melakukan proses pengulangan bila kondisi atau syrat tertentu yang terdapat pada awal blok terpenuhi. Proses pengulangan setelah pernyataan Do dilakukkan bila kondisi pada pernyataan While terpenuhi. Bila proses pengulangan tersebut terdiri dari beberapa pernyataan, maka harus dibuat blok dengan diawali pernyataan Begin dan diakhri pernyataan End. 

program deret;
Uses Wincrt ;
var
   i,N,Jumlah : Integer ;
Begin
     Write ('Banyak Data?'); Readln (N);
     i := 1 ;
     Jumlah :=0 ;
     while i <= N do
     begin
     write (i);
     write ('+');
          Jumlah := Jumlah +i;
          i := i +1 ;
     end;
     writeln;
     writeln ('Jumlah Deret :',Jumlah);
end.
(REPEAT UNTIL)

 Proses pengulangan terjadi setelah pernyataan Repeat berakhir pada pernytaan Until. Bila kondisi pada pernyataan Until masih terpenuhi, proses pengulangan akan dilakukan lagi. 

program deret ;
uses Wincrt ;
Var
i,N,Jumlah : Integer ;
begin
     write ('Banyak Data ?'); readln (N);
        i := 1 ;
        Jumlah := 0 ;
        Repeat
              begin
                   write (i);
                   write ('+');
                   Jumlah := Jumlah + i;
                    i :=  i+ 1;
               end;
        Until i >N;
        writeln ;
        writeln ('Jumlah Deret:',Jumlah);
        end.
ARRAY

Suatu array yang terdiri atas banyak variable dengan tipe data sama, dimana masing- masing elemen variable mempunyai nilai indeks. Setiap elemen array mampu untuk menyimpan satu jenis data (yaitu variable). Suatu aray dinyatakan denag type, sehingga variable yang bekerja dinyatakna dengan : 

A = array [batas bawah..batas atas] of type data 
Contoh :
Angka : array [1..10] of integer
Data : array [a..z] of char

Deklarasi dengan menggunakan tipe
Contoh
Type
Angka : 1 ..100
Var
Data : array [Angka] of integer

Array dibedakan menjadi 3 macam, yaitu :
1. Array 1 dimensi
2.Array 2 dimensi
3. Array 3 dimensi 


Array 1 Dimensi 
Array 1 dimensi merupakan array yang mempunyai satu indeks.
Contoh :

·         Program dimensi 1
program praktek ;
Uses wincrt;
Var  lagi:char;
 i,j:integer;
 arraystr: array[1..25] of string;
Begin
{inisialasi ARRAY}
lagi:='Y';
i:=1;
repeat
clrscr;
 write('Masukan nama : '); readln(arraystr[i]);
inc(i);
write('Apakah anda ingin memasukan data lagi (Y/T)?');
lagi:=upcase(readkey);
 until lagi<>'Y';
clrscr:
{cetak array}
for j:= 1 to i do begin
writeln(arraystr[j]);
 end;
 end. 
·         2. Array 2 Dimensi 
Array 2 dimensi merupakan array yang mempunyai 2 buah indeks. Array 2 dimensi dipakai untuk mempermudah pengertian tentang posisi, ciri khas, atau arti dari nama variable tersebut. 
Contoh : 

Var X: Array [1..2,1…3] of integer; 
Pernyataan pada contoh diatas berarti bahwa variable X mempunyai 6 suku yaitu : 
X [1,1]                        X [2,1] 
X [1,2]                        X [2,2] 
X [1,3]                        X [2,3] 
Untuk membaca atau member nilai pada array 2 dimensi biasanya digunakan struktur control For..To…Do.. 
Contoh : 
For I := 1 to 2 do 
           For J := 1 to 3 do 
                       Readln (x[I,j]); 

3. Array 3 Dimensi

Array 3 dimensi merupakan array yang tersusun atas 3 buah indeks.
Contoh :
Var x :Array [1..2, 1..2, 1..3] of integer
Pernyataan tersebut berarti bahwa variable x mempunyai suku yaitu:
x[1,1,1]                       x[1,2,1]

x[1,1,2]                       x[1,2,2]

x[1,1,3]                       x[1,2,3]



PROCEDURE
Procedure adalah sub program yang menghasilkan output lebih dari satu atau sekedar melakukan tindakan tertentu .
Contoh
program latih24 ;
uses wincrt ;
procedure aljabar (A,B,C : integer);
var
   hitung :real ;
begin
     hitung :=(((A*A)+(B*B)-C)/(2*(A*A)+(B*B)));
     writeln(hitung:2:0);
end;
var
   AA, BB , CC : Integer ;
begin
     write ('inputkan A ');readln (AA);
     write ('inputkan B ');readln (BB);
     write ('inputkan C ');readln (CC);
     aljabar (AA,BB,CC);  
end.
FUNGSI
Fungsi adalah pada dasarnya hampir sama dengan procedure yang membedakannya adalh pada fungsi (nama fungsi) mempunyai type sehingga disebut pengiriman parameter pada fungsi cenderung secara nilai.
Contoh
Program Keliling_Lingkaran;
Uses Wincrt;
Function Luas ( R: Real) : Real;
Begin
Luas:=Pi*R*R;
end;

Var
Jari : Real;
Begin
Clrscr;
Writeln('Program Untuk Menghitung Keliling Lingkaran');
Writeln;
Write('masukan jari-jari lingkaran = '); Readln(Jari);
Write('luas =',Luas(Jari):0:2);
End.
RECORD
Record biasanya disusun satu atau lebih field. Setiap field menyimpan dua dari type dasar tertentu atau dari type bentukan lain yg sudah didefinisikan.
FILE
·         FILE TEXT
File text merupakan bentuk file yang brisi kumpulan dari karakter yg dibentuk dalam baris-baris dan masing masing baris diakhiri oleh tanda ‘End Of Line’.
·         FILE BERTIPE
file bertype dapat diakses secara sequential acces dan juga random acces , artinya komponen didalam file dapat dibaca atau direkam dimanapun didalam file. Setelah file variabel dihubungkan dengan eksternal file maka file bertype dapat dibuka dengan perintah ‘Rewrite’ atau ‘Reset’.


Tidak ada komentar:

Posting Komentar