Rabu, 11 Mei 2011

tugas modul halaman 59


program mencari_nilai_mahasiswa;
USES CRT;
type
  mahasiswa=record
    NPM      :String[8];
    NAMA     :String[20];
    MKUL:String[5];
  END;
VAR
rpeg  :Array[1..20] of mahasiswa;
i,j   :byte;
Nmid,Nsemester:longint;
pil,
lg    :char;

PROCEDURE InputMAHASISWA;
    PROCEDURE FormMAHASISWA;
    BEGIN
      Clrscr;
      Gotoxy(20,2);write('iNPUT DATA NILAI MAHASISWA');
      Gotoxy(10,3);write('_________________________________________');
      Gotoxy(10,4);write('NPM              :');
      Gotoxy(10,5);write('NAMA             :');
      Gotoxy(10,6);write('MATA KULIAH      :');
      Gotoxy(10,7);write('_________________________________________');
      Gotoxy(10,8);write('isikan data lagi[T/Y]:');
   END;

BEGIN
   REPEAT
     FORMMahasiswa;
     WITH Rpeg[i] do
     Begin
     Gotoxy(27,4);readln(NPM);
     Gotoxy(27,5);readln(NAMA);
     Gotoxy(27,6);readln(MKUL);
     Gotoxy(33,8);readln(Lg);
   END;
   inc(i);
  UNTIL Upcase(lg)='T';
END;

PROCEDURE OutputMAHASISWA;
  PROCEDURE TabelMAHASISWA;
  BEGIN
    Clrscr;
    Gotoxy(3,3);write('LAPORAN DATA MAHASISWA');
    Gotoxy(3,4);write('______________________________________________');
    Gotoxy(3,5);write('No   NPM   NAMA         MATA KULIAH   Nilai Mid  Nilai Semester Nilai Huruf Ket');
    Gotoxy(3,6);write('______________________________________________');
    END;

    PROCEDURE HITNILAI(cMKUL:String;Var nNilai:Longint);
    Begin
    if TotNilai[j]>=80 then Nh:='A'
    else if TotNilai[j]>=79 then Nh:='B'
    else if TotNilai[j]>=69 then Nh:='C'
    else if TotNilai[j]>=50 then Nh:='D'
    else if TotNilai[j]>=40 then  Nh:='E'
  END;
  if Nh='E'then ket:='GAGAL';
  else ket:='LULUS';

  BEGIN
  TabelNilaiMahasiswa;
  for j:=1 to I-1 do
  BEGIN
   WITH RPeg[i]do
   begin
   HitNilai(MKul,Nilai);

   Gotoxy(5,6+j);write(j:2,'   ',NPM:8,'   ',NAMA);
   Gotoxy(44,6+j);write(MKul);
   Gotoxy(49,6+j);write(Nilai:8);

   TNilai=(40%*Nilai Mid)+(60%*Nilai Sem);
  END;
END;
Gotoxy(3,7+j);write('__________________________________________________');
Gotoxy(3,8+j);write('    TOTAL NILAI                    tnilai:10);
Repeat Until Keypressed;
end;

PROCEDURE MENU;
BEGIN
     Clrscr;
     Gotoxy(20,2);write('MENU MAHASISWA');
     Gotoxy(10,3);write('________________________________________________');
     Gotoxy(10,4);write('[1].Input Data Nilai Mahasiswa');
     Gotoxy(10,5);write('[2].Output Data Nilai Mahasiswa');
     Gotoxy(10,6);write('[3].Keluar Program');
     Gotoxy(10,7);write('________________________________________________');

     Gotoxy(10,8);write('Pilihan     :');
     END;

     BEGIN{Program utama}
        i:=1;Pil:='1';
        while Pil<>'3'do
     BEGIN
          MENU;
          Pil:=Readkey;
          Case PIL of
               '1':InputMAHASISWA;
               '2':OutputMAHASISWA;
          end;
     END;
END.


Selasa, 05 April 2011

PENGANTAR LOGIKA DAN ALGORITMA DENGAN PASCAL

 Pengertian 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.

Pengertian 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.

Pengertian 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
  1. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
  2. Kegiatan yang terpotong dan akan disambung di tempat lain harus ditunjukkan dengan jelas menggunakan simbol penghubung.
  3. Gunakanlah simbol-simbol bagan alir yang standar.

Secara garis besar, Ada 3 bagian utama dalam flowchart :

Contoh:
Buat algoritma dan Flowchart untuk Menghitung Luas Persegi Panjang:

Pekerjaan:
Rumus:
LuasPersegiPanjang = Panjang x Lebar
Algoritma:
  1. Tentukan nama variabel yang akan menampung data Panjang, lebar dan luas persegi panjang.
  2. Masukkan (inputkan) data Panjang dan Lebar pada variabel yang sudah ditentukan.
  3. Hitung Luas persegi panjang.
  4. Tampilkan (outputkan) Luas persegi panjang.

Flowchart:
Latihan:
Buat algoritma dan Flowchart untuk Menghitung:
  1. Luas Segitiga
  2. Luas Lingkaran

IMPLEMENTASI DALAM PROGRAM
(Sebagai contoh: Bahasa Pemrograman Pascal)

Pengertian PROGRAM:
Kumpulan instruksi (statements) yang disusun secara logis untuk memecahkan suatu masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa pemrograman yang digunakan (reserved word yang disediakan).

Stuktur Penulisan Pascal:
Program Nama_Program;
uses
     . . .  {Unit-unit yang dipakai} ;
label
     . . .  {label-label yang dipakai } ;
const
     . . .  {pengumuman tetapan-tetapan} ;
type
     . . .  { pengumuman tipe-tipe data };
var
     . . .  { pengumuman peubah-peubah };

procedure Nama_Prosedur;
begin
    . . .
end;

Function Nama_Fungsi;
begin
    . . .
end;

{  Program utama   }
begin
    . . .
end.


Perintah Input :
Perintah Pascal yang digunakan untuk memasukkan/menginputkan data.
Bentuk perintah:
Read dan Readln
Struktur penulisan:
Read(nama variabel);
Readln(nama Variabel)

Perintah Output:
Perintah Pascal yang digunakan untuk menampilkan/mengoutputkan data.
Bentuk perintah:
Write : setelah menampilkan data atau teks, kursor berada tepat disamping kanan data yang ditampilkan.
Write : setelah menampilkan data atau teks, kursor berada pada baris berikutnya.
Struktur penulisan:
write(nama variabel);
write(‘teks’);
writeln(nama Variabel);
writeln(‘teks’);

Contoh:
Buat program sederhana untuk Menghitung Luas Persegi Panjang:

Program LuasPersegiPanjang;
Var
Luas, Panjang, Lebar : integer;
Begin
Readln(panjang);
Readln(Lebar);Luas:= Panjang*Lebar;
Writeln(‘Luas Persegi  Panjang adalah:’,Luas);
Readln;
End.
Tampilan pada lembar kerja Pascal:

Menjalankan program dengan perintah:
Ctrl+F9(tekan tombol Ctrl dan F9 bersama-sama).

Apabila Panjang diisi 7 dan lebar diisi 8 maka hasil perintah diatas tampil sbb:
Latihan:
Buat program sederhana untuk Menghitung:
  1. Luas Segitiga
  2. Luas Lingkaran



Sejarah Bahasa Pascal

Bahasa PASCA L pertama kali dikembangkan pada awal tahun 70-an oleh NICLAUS WIRTH di Technical University, Zurich Swiss. Pada akhirnya, tahun 1971, salah seorang pengembang ALGOL telah berhasil mengembangkan bahasa pemrograman baru yang diberi nama PASCAL, yang mengadopsi nama ilmuwan Perancis pada abad ke 17 Blaise Pascal. Kelebihan dari bahasa PASCAL adalah merupakan bahasa pemrograman yang terstruktur, bahasa pemrograman tingkat tinggi (high level language), serta mudah bagi programmer untuk menentukan tipe data yang diinginkan. Di awal tahun 1980 an, PASCAL telah menjadi bahasa pemrograman standard di berbagai universitas. Terdapat dua peristiwa yang menyebabkan PASCAL menjadi sangat populer pada saat itu yaitu digunakannya PASCAL sebagai bahasa untuk membuat aplikasi/software guna keperluan ujian di beberapa sekolah, serta dirilisnya Turbo Pascal Compiler oleh perusahaan Borland International untuk komputer IBM. Sampai saat ini, Turbo Pascal sudah mencapai rilis 7.0 bahkan sudah ada yang berjalan di platform Windows (Turbo Pascal for Windows). Terdapat pula varian dari Turbo Pascal yang lebih bersifat open source yaitu Free Pascal.
Kelebihan Bahasa Pascal
Kelebihan dari bahasa pemrograman Pascal adalah:
Tipe Data Standar, tipe-tipe data standar yang telah tersedia pada kebanyakan
bahasa pemrograman. Pascal memiliki tipe data standar:b oolean,in teg er,real,c h ar,
string,
User defined Data Types, programmer dapat membuat tipe data lain yang diturunkan
dari tipe data standar.
Strongly-typed, programmer harus menentukan tipe data dari suatu variabel, dan
variabel tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain dari
format yang ditentukan.

Struktur Dan Komponen Dasar Program Pascal.

Struktur program Pascal terdiri dari sebuah judul program dan  badan program. Badan program dibagi lagi menjadi dua bagian, bagian deklarasi dan bagian pernyataan (statement).

Struktur program :

Judul Program                          PROGRAM nama-program;
Blok Program  
Bagian deklarasi
deklarasi label                           LABEL nama-label;
deklarasi konstanta                   CONST…………..;
deklarasi tipe                            TYPE …………….;
deklarasi variabel                      VAR ………………;
deklarasi prosedur                    PROCEDURE nama-prosedur;
                                                ……………………………….;
deklarasi fungsi                         FUNCTION nama-fungsi;
                                                ………………………….;
Bagian Pernyataan                   
Begin
      (statement)                        
      …………;
      …………;
end.


Contoh :  Menghitung perkalian dua bilangan bulat

PROGRAM Perkalian;                                     {Judul}
VAR A,B,Hasil            : Integer;                       {Deklarasi variabel}
BEGIN
            A := 2;                                                 {Statemant}
            B := 3;                                                  {Statemant}
            Hasil := A*B;                                       {Statement}
            Writeln (A,B,Hasil);                              {Statement}
END.


Judul program sifatnya adalah optional, dan bila ditulis, harus terletak pada awal dari program dan diakhiri dengan titik koma.
Bagian deklarasi digunakan bila di dalam program digunakan pengenal ( identifier). Identifier dapat berupa label, konstanta, tipe, variabel, prosedur dan fungsi. Kalau suatu program menggunakan identifier, Pascal menuntut supaya identifier tersebut diperkenalkan terlebih dahulu sebelum digunakan, yaitu dideklarasikan terlebih dahulu pada bagian ini.
Beberapa aturan dalam program Pascal :

·        Akhir sebuah program Pascal ditandai dengan tanda baca titik ‘ . ‘ setelah END yang  paling akhir.
·        Tanda titik koma ‘ ; ’ merupakan pemisah antar instruksi satu dengan lainnya.
·        Beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan tanda baca titk koma ’ ; ‘
·        Baris komentar diletakkan diantara tanda ‘(*’ dan   ’*)’ atau diantara tanda ‘{‘ dan ‘}’
Contoh :     Var      a   : real;                (*nilai bilangan pertama*)
                              b : real;                {nilai bilangan kedua}      

Statement  (pernyataan)
            Adalah instruksi atau gabungan instruksi, yang menyebabkan komputer melakukan aksi.

Type statement dalam Pascal terdiri atas :

1.      Sederhana :
- menandai sebuah item data ke sebuah variabel (assigment statement)
            contoh : c := b * 4
-         pemanggilan procedure dan goto statement

2.      Terstruktur:
- Compound Statement
            contoh : Begin
                                    read (x) ;
                                    y := x * 2;
                                    write (y)
                          End.
      - Repetitive Statement
            contoh :            For j := 1 to 10 do
                                    write (count);
     - Conditional Statement
            contoh :            If x > 10 then write (a)
                                                else write (b) ;


Komponen Dasar Program Pascal


Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa pemrograman yang umum, yaitu :
1.      Simbol Dasar
2.      Reserved Word (kata pasti)
3.      Identifier (penyebut)
      1.      Simbol Dasar.
Simbol dasar terdiri atas :
1.      Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z.
(huruf besar dan kecil).
2.      Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.
3.      Simbol khusus, yaitu
{  }   ( )   [   ]+   -   *   /   ;   :=   ,   ‘   =   <   >   <=   >=   <>   :  

      2.      Reserved Word (kata pasti)
Reserved Word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved word tidak dapat dipergunakan sebagai pengenal (identifier)


3.      Identifier (sebutan/pengenal)
Identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. Pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier.

Identifier ini terdiri atas :

1.      Identifier Standar, yaitu identifier yang telah didefinisikan oleh bahasa pascal.
Contoh dari Identifier standar ini antara lain:
ABS                             LN
ARCTAN                    ODB
BOOLEAN                 PRED
CHAR                         ROUND
CHR                            READ
COS                            READLN
EOF                             SQR
EOLN                          SQRT
EXP                             SUCC
            Dan masih banyak lagi.

2.      Identifier Non Standar; yaitu identifier yang didefinisikan oleh pemakai bahasa pascal; misalnya;
      3.   Nama suatu program
      4.   Nama suatu konstanta
      5.   Nama suatu variabel
      6.   Nama suatu procedure
Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut :
7.   terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Huruf besar dan huruf kecil dianggap sama.
8.      Tidak boleh mengandung blank.
9.      Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah.
10.  Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.

Contoh :

Identifier
Keterangan
NasiBungkus
Benar
Belajar_Pascal
Benar
NO2
Benar
1_dua
Salah, karakter pertama harus huruf
Andi&tono
Salah, tidak boleh mengandung simbol khusus
Penjuanglan bar
Salah, tidak boleh mengandung spasi