Thursday, September 20, 2018

Tugas Kuliah Mikroprocessor

TUGAS

Nama : Deden Wahyu Hadiatna
NPM : 20131022520
Mata Kuliah : Mikroprosesor
Dosen : Dani Yusuf, S.Kom, M. Kom
LATIHAN SOAL
1. JELASKAN PENGERTIAN DARI MEMORI?
2. SEBUTKAN DAN JELASKAN CARA-CARA PEMUATAN INFORMASI KEDALAM MEMORI?
3. SEBUTKAN DAN JELASKAN JENIS-JENIS DARI MEMORI?
4. APA YANG DAPAT ANDA JELASKAN TENTANG VOLATILE DAN NON VOLATILE?
5. UNTUK MENINGKATKAN KINERJA MENGAKSES INFORMASI DARI MEMORI UTAMA DITAMBAHKAN  CECHE MEMORI UTAMA DAN REGISTER CPU,JELASKAN TENTANG CACHE MEMORI?
6. JELASKAN PRINSIP KERJA DIAGRAM BLOK INPUT OUTPUT TERHADAP PROSESOR?
7. SEBUTKAN DAN JELASKAN KATEGORI PERANGKAT EKSTERNAL DARI OPERASI I/O?
8. BERIKAN PENJELASAN DARI FUNGSI INPUT  OUTPUT MODULE?
9. SEBUTKAN DAN JELASKAN TEKNIK-TEKNIK INPUT OUTPUT MODUL?
10. JELASKAN PRINSIP KERJA DARI DIAGRAM BLOK DMA DALAM MEMULAI KERJANYA?


JAWABAN

1. Memori merupakan bagian dari komputer yang berfungsi sebagai tempat penyimpanan informasi yang harus diatur dan dijaga sebaik-baiknya. Memori biasanya disebut juga dengan istilah : computer storage, computer memory atau memory, merupakan piranti komputer yang digunakan sebagai media penyimpan data dan informasi saat menggunakan komputer. Memory merupakan bagian yang penting dalam komputer modern dan letaknya di dalam CPU (Central Processing Unit).

2. A. . Pemuatan mutlak / langsung
Pemuatan informasi ke memori-kerja, di mana alamat yang tercantum di dalam tataolah sama dengan alamat yang ditempatinya di dalam memori-kerja.
     B. Pemuatan relokasi
Kondisi dimana pemuatan informasi ke memory-kerja, di mana alamat yang tercantum di dalam tataolah tidak mesti sama dengan alamat yang ditempatinya di dalam memori-kerja. Informasi dimuat ke alamat memory-kerja yang bebas.
     C. Pemuatan sambung
Suatu teknik penyambungan suatu informasi ke informasi lain di dalam memori-kerja. Pemuatan sambung sering digunakan pada tataolah atau penggalan tataolah yang tersimpan di dalam pustaka (library).
       D. Pemuatan dinamik (pemuatan tumpang atau overlay)
Jika ukuran tataolah itu melampaui ukuran ruang memori-kerja, tataolah dapat dipenggal ke dalam sejumlah segmen.Segmen itulah yang kemudian dimuat ke dalam memori-kerja.Pelaksanaan pekerjaan berlangsung segmen demi segmen.

3. 1. REGISTER MEMORY
Merupakan jenis memory dimana kecepatan acces yang paling cepat, memory ini terdapat pada Cpu/processor.Contoh :Register data, register alamat , stack pointer register, Memory Address Register, I/O Address Register, dll.
      2.CACHE MEMORY
Memory berkapasitas terbatas,berkecepatan tinggi yang lebih mahal dari pada memory utama.Cache memory ini ada diantara memory utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu pada memory utama agar kinerja dapat ditingkatkan.



 3.Random Access Memory (RAM)
Random Access Memory (RAM), atau biasa juga disebut memory, adalah suatu  alat komputer (perangkat keras/hardware). Ram merupakan salah satu jenis alat penyimpanan data pada komputer atau media elektronik lainnya (PDA. HP, Notebook, Netbook, dll) yang bersifat sementara. Artinya bila komputer dimatikan, maka semua instruksi atau data yang telah dsimpan di ram iniakan hilang. Jadi Fungsi Ram yaitu untuk menyimpan instruksi sementara dari komputer untuk mengeluarkannya ke output device. Ada beberapa jenis RAM yang ada dipasaran saat ini yaitu SRAM , EDORAM , SDRAM , DDRAM, RDRAM , VGRAM dll.
4.Read Only Memory
Read Only Memory (ROM) adalah suatu himpunan dari chip yang berisi bagian dari sistem operasi yang mana dibutuhkan pada saat komputer dinyalakan. ROM juga dikenal sebagai suatu firmware.ROM tidak bisa ditulisi atau diubah isinya oleh pengguna.ROM tergolong dalam media penyimpanan yang sifatnya non volatile.Penggunaan dari ROM ini contohnya adalah sebagai media penyimpanan dari BIOS (Basic Input-Output System) yang dibuat oleh pabriknya.BIOS merupakan bagian yang sangat kritis dari suatu sistem operasi, yang mana fungsinya memberi tahu komputer bagaimana caranya mengakses disk drive. Ketika komputer dinyalakan, RAM masih kosong dan instruksi yang ada pada ROM BIOS lah yang digunakan oleh CPU untuk mencari disk drive yang berisi file-file utama dalam sistem operasi. Komputer lalu memindahkan file-file tersebut ke dalam RAM dan kemudian menjalankannya.
4. 1. Volatile memory merupakan memory yang datanya dapat ditulis serta dihapus,tetapi akan hilang saat kehilangan power (kondisi off) serta membutuhkan satu daya dalam mempertahankan memory.
    2. Non-volatile memory merupakan memory yang datanya datanya dapat ditulis serta dihapus, tetapi data akan tetap ada walaupun dalam kondisi off serta tidak
membutuhkan catu daya. memory ini dikenal dengan temporary memory.
5. Cache Memory merupakan berkapasitas terbatas,berkecepatan tinggi yang lebih mahal dari pada memory utama.Cache memory ini ada diantara memory utama dan register pemroses, berfungsi agar pemroses tidak langsung mengacu pada memory utama agar kinerja dapat ditingkatkan.

6. Prinsip kerjanya ialah perangkat eksternal memberikan data kedalam prosesor untuk di proses yang mana data tersebut nanti akan di tampilkan kembali.


7. Perangkat eksternal i/o dibagi menjadi 2.
1. Perangkat yang berhubungan dengan mausia sebagai pengguna komputer : screen,printer,keyboard,mouse,joystick,disk drive.

2. Perangkat yang berhubungan dengan peralatan : modem,network interface

8. Berfungsi untuk mensinkronkan kerja masing-masing komponen penyusun komputer. Perangkat komponen penyusun komputer seperti CPU yang berkomunikasi dengan satu atau lebih perangkat pola dan kecepatan transfer yang beragam baik dengan perangkat internal seperti register-register, memori utama, memori sekunder atau perangkat peripheral.
9. 1.I/O TERPROGRAM
Pada I/O Terprogram data saling dipertukarkan antara CPU dan Modul I/O. CPU mengeksekusi program secara langsung seperti pemindahan data, pengiriman perintah baca maupun tulis dan monitoring perangkat. Kelemahan teknik ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu apalagi CPU lebih cepat proses operasinya.
  
   2. INTERRUPT-DRIVEN I/O
Teknik Interrupt-driven I/O memungkinkan proses tidak membuang-buang waktu. Prosesnya adalah CPU mengeluarkan perintah I/O pada modul I/O bersamaan perintah I/O dijalankan maka CPU akan melakukan eksekusi perintah-perintah lainnya dan setelah perintah I/O dijalankan maka I/O akan melakukan interupsi pada CPU bahwa tugasnya telah selesai. Pada teknik ini tanggung jawab dipegang oleh CPU.Kelebihan teknik ini disbanding teknik sebelumnya adalah CPU dapat melakukan Multitasking beberapa perintah sekaligus sehingga tidak ada waktu tunggu bagi CPU.
  3.TEKNIK DMA (DIRECT MEMORY ACCESS)
CPU akan mendelegasikan kerja I/O kepada DMA. CPU hanya akan terlibat pada awal proses untuk memberikan intruksi lengkap pada DMA dan akhir proses. Dalam melakukan transfer DMA memerlukan pengambilan control bus dari CPU maka dari itu DMA akan menggunakan bus ketika CPU tidak menggunakannya atau DMA akan memaksa CPU berhenti menggunakan untuk sementara.

10.Cara Kerja DMA
CPU mengirimkan data data berikut ini ke DMA controller:
Perintah read/write
Alamat device yang akan diakses
Alamat awal blok memori yang akan dibaca/ditulis
Jumlah blok data yang akan ditransfer
CPU mengeksekusi program lain
DMA controller mengirimkan seluruh blok data (per satu word) langsung ke memori(tanpa melibatkan CPU)
DMA controller mengirim interrupt ke CPU jika telah selesai.



Saturday, November 1, 2014

Tugas Ujian Tengah Semester 3 Pemograman Prosedural

Tugas Ujian Tengah Semester 3
Pemograman Prosedural 
Deden Wahyu Hadiatna_201310225120

Source Code :

#include <iostream>
#include <iomanip>
#include <stdlib.h>

using namespace std;

class Barang
{
    private :
        string kode;
        double harga;
        string nama_barang;

    public :

    void setBarang(string k, int h, string n)
    {
        kode = k;
        harga = h;
        nama_barang = n;
    }

    string getKode()
    {
        return kode;
    }

    double getHarga()
    {
        return harga;
    }

    string getNama()
    {
        return nama_barang;
    }

};

Barang b[3];

void setDatabarang()
{
    b[0].setBarang("A",3000000,"Notebook Acer");
    b[1].setBarang("P",800000,"Printer Canon Laser Jet");
    b[2].setBarang("M",1200000,"Monitor Samsung");
}

void inputTransaksi();
void cetakStruk();
void bayar();

int noTransaksi, jmlBeli;
string kodeKasir, kodeBarang;
string namaBarang, namaKasir;
double hargaBarang;

void inputTransaksi()
{
    cout << "=========================================" << endl;
    cout << "||         Toko KOMPUTER PRIMA         ||" << endl;
    cout << "=========================================" << endl << endl;
    cout << "Input No Transaksi\t: ";
    cin >> noTransaksi;
    cout << "Input Kode Kasir\t: ";
    cin >> kodeKasir;
    cout << "=========================================" << endl << endl;
    cout << "Input Kode Barang\t: ";
    cin >> kodeBarang;
    cout << "Input Jumlah Beli\t: ";
    cin >> jmlBeli;

    cetakStruk();
}

void cetakStruk()
{
    cout << setprecision(0) << fixed;
    if(kodeKasir=="RN") namaKasir = "RENI";
    else if(kodeKasir=="TI") namaKasir = "TUTI";
    else namaKasir = "ADI";

    if(kodeBarang==b[0].getKode()) { namaBarang = b[0].getNama(); hargaBarang = b[0].getHarga(); }
    else if(kodeBarang==b[1].getKode()) { namaBarang = b[1].getNama(); hargaBarang = b[1].getHarga(); }
    else { namaBarang = b[2].getNama(); hargaBarang = b[2].getHarga();}

    cout << "=========================================" << endl;
    cout << "|| Struk Pembelian TOKO KOMPUTER PRIMA ||" << endl;
    cout << "=========================================" << endl << endl;
    cout << "No Nota : " << noTransaksi << "\t" << "Nama Kasir : " << namaKasir << endl;
    cout << "=========================================" << endl << endl;
    cout << "Nama Barang\t: " << namaBarang << endl;
    cout << "Harga Per Unit\t: " << hargaBarang << endl;
    cout << "Jumlah Beli\t: " << jmlBeli << endl;
    cout << "Discount\t: " << "10%" << endl;
    cout << "=========================================" << endl << endl;
    bayar();
}

void bayar()
{
    cout << setprecision(0) << fixed;
    double uang;
    cout << "Input Uang Anda\t: ";
    cin >> uang;
    cout << endl << endl;
    double bayar = (jmlBeli*hargaBarang)-(jmlBeli*hargaBarang*0.1);
    cout << "Jumlah Bayar\t: " << bayar << endl;
    cout << "Uang Bayar\t: " << uang << endl;
    cout << "Uang Kembali\t: "<< uang - bayar << endl;
    cout << "=========================================" << endl;
    cout << "Terima Kasih telah membeli ditempat kami," << endl;
    cout << "salam hormat Deden" <<endl;
    system("PAUSE");
    inputTransaksi();
}

int main(int argc,char *argv[])
{
    setDatabarang();
    inputTransaksi();
    return 0;
}

53m064 83RM4NF44T :D
Th4nKs 4 Attention :P

Monday, July 7, 2014

Jenis-Jenis Program Pascal



Jenis-jenis program pascal____________________________________________________

Source code
program bublesort;
uses
   crt;
const nmaks=100;
type
   tabinteger= array[1..nmaks] of integer;
var
   tabint: tabinteger;
   jml_data: integer;
   procedure inputdata (n: integer;var t: tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
         begin
            write('Nilaike-',i,': '); readln(t[i]);
         end;
   end;
   procedure bubblesort (n: integer; var t: tabinteger);
   var
      pass,k,temp: integer;
   begin
      for pass:=1 to(n-1) do
         for k:= n downto (pass+1) do
            if t[k]< t[k-1] then
               begin
                  temp:= t[k];
                  t[k]:=t[k-1];
                  t[k-1]:=temp;
               end;
   end;
   procedure output (n: integer; t:tabinteger);
   var
      J: integer;
   Begin
      Writeln(‘data setelah diurutkan menaik’);
      For j:= 1 to n do
      Writeln(‘data ke-‘,j,’: ‘,T[j]);
      end;
begin;
  clrscr;
  write('Banyaknya integer: '); readln(jml_data);
  inputdata(jml_data, tabint);
  writeln;
  bubblesort(jml_data, tabint);
  output(jml_data, tabint);
  readln;
end.


Analisa Program

            Program bubble sort memenggil 2 procedure yaitu procedure input data ( dengan parameter jml_data sebagai input untuk parameter input n dan tabint sebagai output untuk parameter output T ) dan procedure bubble sort (dengan jml_data sebagai input untuk parameter input n dan tabint sebagai input sekaligus output untuk parameter input/output T ).

Program 3.2
Source code
program maxsort;
uses
   crt;
const nmaks=100;
type
   tabinteger= array[1..nmaks] of integer;
var
   tabint: tabinteger;
   jml_data: integer;
   procedure input (n: integer; var t: tabinteger);
   var
      i: integer;
   begin
      for i:=n downto 2 do
         begin
            write('Nilaike-',i,': '); readln(t[i]);
         end;
   end;
   procedure makssort (n: integer; var t: tabinteger);
   var
      pass,k,imaks,i, temp: integer;
   begin
      for pass:=n downto 2 do
         begin
            imaks:=1;
            for k:= 2 to (pass) do
               if (t[k]> t[imaks]) then
                     imaks:= k;
            temp:=t[pass];
            t[pass]:=t[imaks];
            t[imaks]:=temp;
         end;
   end;
   procedure output (n: integer; t:tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
        write(t[i],' ');
   end;
begin;
  clrscr;
  write('Banyaknya integer: '); readln(jml_data);
  input(jml_data, tabint);
  writeln;
  makssort(jml_data, tabint);
  output(jml_data, tabint);
  readln;
end.


Analisa Program
Pengurutan program ini dilakukan dengan mencari nilai terbesar/maksimum dari suatu array. Nilai terbesar tersebut kemudian disimpan di awal array ( jika diurutkan menurun ) atau di akhit array ( jika diurutkan menaik ) dan diisolasi agar tidak diikut sertakan lagi pada proses selanjutnya.

Program 3.3
Source code
program min_sort;
uses
   crt;
const nmaks=100;
type
   tabinteger= array[1..nmaks] of integer;
var
   tabint: tabinteger;
   jml_data: integer;
   procedure input (n: integer; var t: tabinteger);
   var
      i: integer;
   begin
      for i:=n downto 2 do
         begin
            write('Nilaike-',i,': '); readln(t[i]);
         end;
   end;
   procedure minsort (n: integer; var t: tabinteger);
   var
      imin,k,i, temp: integer;
   begin
      for i:=1 to (n-1) do
         begin
            imin:=i;
            for k:=(i+1) to n do
               if (t[k] > t[imin]) then
                     imin:= k;
               end;
            temp:=t[i];
            t[i]:=t[imin];
            t[imin]:=temp;
         end;

   procedure output (n: integer; t:tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
        write(t[i],' ');
   end;
begin;
  clrscr;
  write('Banyaknya integer: '); readln(jml_data);
  input(jml_data, tabint);
  writeln;
  minsort(jml_data, tabint);
  output(jml_data, tabint);
  readln;
end.

Analisa Program
Pengurutan model ini dilakukan dengan mencari nilai terkecil/minimum dari suatu array. Nilai terkecil tersebut kemudian disimpan diawal array ( jika diurutkan menaik ) atau di akhir array ( jika diurutkan menurun ) dan diisolasi agar tidak disertakan lagi pada proses selanjutnya.


LATIHAN.

Latihan No. 1
program bublesort;
uses
   crt;
const nmaks=100;
type
   tabinteger= array[1..nmaks] of integer;
var
   tabint: tabinteger;
   jml_data: integer;
   procedure inputdata (n: integer;var t: tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
         begin
            write('Nilaike-',i,': '); readln(t[i]);
         end;
   end;
   procedure bubblesort (n: integer; var t: tabinteger);
   var
      pass,k,temp: integer;
   begin
      for pass:=1 to(n-1) do
         for k:= n downto (pass+1) do
            if t[k]> t[k-1] then
               begin
                  temp:= t[k];
                  t[k]:=t[k-1];
                  t[k-1]:=temp;
               end;
   end;
   procedure output (n: integer; t:tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
        write(t[i],' ');
   end;
begin;
  clrscr;
  write('Banyaknya integer: '); readln(jml_data);
  inputdata(jml_data, tabint);
  writeln;
  bubblesort(jml_data, tabint);
  output(jml_data, tabint);
  readln;
end.

Analisa Program

Program bubble sort memenggil 2 procedure yaitu procedure input data ( dengan parameter jml_data sebagai input untuk parameter input n dan tabint sebagai output untuk parameter output T ) dan procedure bubble sort (dengan jml_data sebagai input untuk parameter input n dan tabint sebagai input sekaligus output untuk parameter input/output T ).

Latihan No. 2
program nimmahasiswa;
uses
   crt;
const nmaks=100;
type
  mahasiswa=record
              nim:integer;
              nama:string;
              nilai:char;
  end;
  tabmhs=array[1..nmaks] of mahasiswa;
var
  mhs:tabmhs;
  jml_data: integer;
  procedure inputdata (n: integer);
  var
    i: integer;
  begin
    for i:=1 to n do
      begin
        write('masukan nim ',i,'   : ');readln(mhs[i].nim);
        write('masukan nama    : ');readln(mhs[i].nama);
        write('masukan nilai   : ');readln(mhs[i].nilai);
        writeln;
       end;
  end;
  procedure bubblesort (n: integer);
  var
    pass,i: integer;
    temp: mahasiswa;
  begin
    for pass:=1 to(n-1) do
      for i:= n downto (pass+1) do
        if mhs[i].nim < mhs[i-1].nim then
        begin
          temp:=mhs[i];
          mhs[i]:=mhs[i-1];
          mhs[i-1]:=temp;
        end;
  end;
  procedure output (n: integer);
  var
    i: integer;
  begin
    for i:=1 to n do
      writeln(mhs[i].nim,' ',mhs[i].nama,' ',mhs[i].nilai);
  end;
begin;
  clrscr;
  write('Banyaknya data mahasiswa: '); readln(jml_data);
  inputdata(jml_data);
  writeln;
  bubblesort(jml_data);
  output(jml_data);
  readln;
end.

Analisa Program

Program bubble sort memenggil 2 procedure yaitu procedure input data ( dengan parameter jml_data sebagai input untuk parameter input n dan tabint sebagai output untuk parameter output T ) dan procedure bubble sort (dengan jml_data sebagai input untuk parameter input n dan tabint sebagai input sekaligus output untuk parameter input/output T ).
Program ini mengurutkan data yang terdiri dari NIM, Nama, Nilai diurutkan berdasarkan NIM.

Latihan No. 3
program min_sort;
uses
   crt;
const nmaks=100;
type
   tabinteger= array[1..nmaks] of integer;
var
   tabint: tabinteger;
   jml_data: integer;
   procedure input (n: integer; var t: tabinteger);
   var
      i: integer;
   begin
      for i:=n downto 2 do
         begin
            write('Nilaike-',i,': '); readln(t[i]);
         end;
   end;
   procedure minsort (n: integer; var t: tabinteger);
   var
      imin,k,i, temp: integer;
   begin
      for i:=1 to (n-1) do
         begin
            imin:=i;
            for k:=(i+1) to n do
               if (t[k] < t[imin]) then
                     imin:= k;
               end;
            temp:=t[i];
            t[i]:=t[imin];
            t[imin]:=temp;
         end;

   procedure output (n: integer; t:tabinteger);
   var
      i: integer;
   begin
      for i:=1 to n do
        write(t[i],' ');
   end;
begin;
  clrscr;
  write('Banyaknya integer: '); readln(jml_data);
  input(jml_data, tabint);
  writeln;
  minsort(jml_data, tabint);
  output(jml_data, tabint);
  readln;
end.

 Analisa Program

Pengurutan model ini dilakukan dengan mencari nilai terkecil/minimum dari suatu array. Nilai terkecil tersebut kemudian disimpan diawal array ( jika diurutkan menaik ) atau di akhir array ( jika diurutkan menurun ) dan diisolasi agar tidak disertakan lagi pada proses selanjutnya.

Latihan No. 4
program Min_Sort;
uses
    crt;
const
     nmax = 100;
type
    tabinteger = array [1..nmax] of integer;
var
   tabint : tabinteger;
   jml_data : integer;

   procedure inputdata(n : integer; var T : tabinteger);
   var
      i : integer;
   begin
        for i := 1 to n do
            begin
                 write('NIlai ke ',i,' : '); readln (T[i]);
            end;
   end;

   procedure minSsort(n : integer; var T : tabinteger);
   var
      i, k, imin, temp : integer;
   begin
        for i := n downto 2 do
           begin
            imin := i;
            for k := 1 to (i-1) do
                if (T[k] < T[imin]) then
                   imin := k;
                   temp := T[i];
                   T[i] := T[imin];
                   T[imin] := temp;
                end;
            for k := 1 to n do
                write(T[k]:3);
   end;

begin
     clrscr;
     write('Banyaknya nilai integer : '); readln(jml_data);
     inputdata(jml_data,tabint); writeln;
     MinSsort(jml_data,tabint);
     readln;
end.
Analisa Program

       Program ini hasil implementasi dari prosedur MinSort pada algoritma 3.3 ke dalam prosedur dalam Bahasa Pascal yang berfungsi untuk memanggil prosedur tersebut untuk mengurutkan data dari nilai terbesar sampai nilai terkecil dari array tersebut.

Latihan No. 5
program max_sort;
uses crt;
const nmaks=100;
type tabinteger=array[1..nmaks]of integer;
var
   tabint:tabinteger;
   jml_data:integer;
   procedure inputdata(n:integer;var t:tabinteger);
   var i:integer;
   begin
        for i:=1 to n do
        begin
             write('nilai ke-',i,': ');
             readln(t[i]);
        end;
   end;
   procedure maxsort(n:integer;var t:tabinteger);
   var i,k,max,temp:integer;
   begin
        for i:=n downto 2 do
        begin
             max:=i;
             for k:=1 to (i-1) do
                 if t[k]<t[max] then
                    max:=k;
             temp:=t[i];
             t[i]:=t[max];
             t[max]:=temp;
        end;
        for i:=1 to n do
            write(t[i],' ');
   end;
begin
     clrscr;
     write('banyaknya integer: ');
     readln(jml_data);
     inputdata(jml_data,tabint);
     writeln;
     maxsort(jml_data,tabint);
     readln;
end.

Analisa Program

Program ini mengurutkan data secara menurun sehingga digunakan progam maximum sort. Pengurutan program ini dilakukan dengan mencari nilai terbesar/maksimum dari suatu array. Nilai terbesar tersebut kemudian disimpan di awal array ( jika diurutkan menurun ) atau di akhit array ( jika diurutkan menaik ) dan diisolasi agar tidak diikut sertakan lagi pada proses selanjutnya.





Latihan No. 6
program datamhs;
uses crt;
const nmaks=5;
type
    mhs=record
              nim,nilai:integer;
              nama:string;
    end;  
var
   data:array[1..nmaks]of mhs;
   i,j,n,p,x,a,b,t,id:integer;
   u:char;
   procedure inputdata;
   begin
        for i:=1 to n do
        begin
             write('nim',i,'(3 digit terakhir): ');
             readln(data[i].nim);
             write('nama',i,': ');
             readln(data[i].nama);
             write('nilai',i,': ');
             readln(data[i].nilai);
        end;
   end;
   procedure minsort;
   var
      min,a,c:integer;
      b:string;
   begin
        for i:=1 to (n-1) do
        begin
             min:=i;
             for j:=i+1 to n do
                if data[j].nim<data[min].nim then
                   min:=j;
             a:=data[i].nim;
             b:=data[i].nama;
             c:=data[i].nilai;
             data[i].nim:=data[min].nim;
             data[i].nama:=data[min].nama;
             data[i].nilai:=data[min].nilai;
             data[min].nim:=a;
             data[min].nama:=b;
             data[min].nilai:=c;
        end;
        writeln('====================================');
        writeln('nim':6,'nama':16,'nilai':14);
        writeln('====================================');
        for i:=1 to n do
            writeln(data[i].nim:8,data[i].nama:18,data[i].nilai:7);
   end;
procedure binsearch;
   begin
        write('nim yang dicari: ');
        readln(x);
        a:=1;
        b:=n;
        t:=(a+b) div 2;
        while (a<=n) and (data[t].nim<>x) do
        begin
             if data[t].nim>x then
                b:=t-1
             else
                 if data[t].nim<x then
                    a:=t+1;
             t:=(a+b) div 2;
        end;
        if data[t].nim=x then
           id:=t
        else
            id:=0;
        if id=0 then
           writeln('data tidak ditemukan')
        else
            writeln('nama: ',data[t].nama,'; nilai: ',data[t].nilai);
   end;
begin
     clrscr;
     repeat
     clrscr;
           writeln('menu');
           writeln('1. input data');
           writeln('2. sorting nim');
           writeln('3. searching nim');
           write('masukkan pilihan: ');
           readln(p);
           case p of
                1:begin
                       write('banyaknya integer: ');
                       readln(n);
                       inputdata;
                end;
                2:minsort;
                3:binsearch;
           end;
           write('kembali ke menu(y/t)? ');
           readln(u)
     until (u='t') or (u='T');
     readln;
end.

Analisa Program

Program ini menggunakan metode maksimum sort dan minimum sort dan menambahkan menu input data dan search berdasarkan NIM,dengan menggunakan metode binary search,pada program ini mencampurkan banyak metode.

Latihan No 7 program  tampilan tabel data
Program Data_Mahasiswa;
uses crt;
var
   Nama          :array[1..10]of string[10];
   Nim           :array[1..10]of string[20];
   Mata_Kuliah   :array[1..20]of string[20];
   Fakultas      :array[1..20]of string[30];
   Jurusan       :array[1..30]of string[30];
   i,j :integer;

begin
clrscr;
       write(' Masukkan Jumlah Mahasiswa :  '); readln(j);
   for i:=1 to j do

begin
       writeln(' Mahasiswa ke-',i);
       write(' Nama         : '); readln(Nama[i]);
       write(' Nim          : '); readln(Nim[i]);
       write(' Mata_Kuliah  : '); readln(Mata_Kuliah[i]);
       write(' Fakultas     : '); readln(Fakultas[i]);
       write(' Jurusan      : '); readln(Jurusan[i]);
end;

clrscr;
       writeln('____________________________________________________________________________');
       writeln(' No |   Nama    |    Nim    |    Mata_Kuliah   |    Fakultas   |  Jurusan  |');
       writeln('____________________________________________________________________________');

   for i:= 1 to j do
begin
       writeln(i:1, Nama[i]:8, Nim[i]:12, Mata_Kuliah[i]:14, Fakultas[i]:17, Jurusan[i]:20);
end;

       writeln('____________________________________________________________________________');
readln;
end.
Latihan No.8 Program searching dan sorting
Program Sorting_searching;
uses crt;
Type
Larik = Array [1..1000] of Integer;
var
pil, I, N, J, Tmp, Temp, Mx, Min, U: Integer;
L: Larik;
mat : array[1..2,1..2] of byte;
jb : char;

Procedure InputData;
Begin
For I := 1 To N Do
Begin
Write(‘Data Ke-’, I, ‘: ‘); Readln(L[I]);
end;
end;

Procedure SORT(L : Larik; N : Integer);

label awal;
begin
awal:
clrscr;
textcolor(4);
writeLn(‘PROGRAM SORTING SEDERHANA’);
WriteLn(‘=====================================‘);
WriteLn(‘Di Susun Oleh:’);
WriteLn(‘=====================================‘);
WriteLn(‘ADIP’);
WriteLn(‘AMAD’);
WriteLn(‘HARJANTO’);
textcolor(14);
WriteLn(‘=====================================‘);
writeln(‘Tanggal pembuatan program 07 Mei 2012′);
WriteLn(‘=====================================‘);
writeln(‘–PILIHAN SORT–’);
WriteLn(‘=====================================‘);
textcolor(2);
writeln(‘ 1. Bubble Sort ASCENDING’);
writeln(‘ 2. Bubble Sort DESCENDING’);
writeln(‘ 3. Maximum Sort ASCENDING’);
writeln(‘ 4. Maximum Sort DESSCENDING’);
writeln(‘ 5. Minimum Sort ASCENDING’);
writeln(‘ 6. Minimum Sort DESCENDING’);
writeln(‘ 7. Insertion Sort ASCENDING’);
writeln(‘ 8. Insertion Sort DESCENDING’);
writeln(‘ 9. EXIT Program ATAU Masukkan Data Yang Baru’);
WriteLn(‘=====================================‘);
writeln;
write(‘PILIHAN ANDA ADALAH :’);readln(pil);
case pil of
1:begin
ClrScr;
For I := 1 To N-1 Do
Begin
For J := N-1 DownTo I Do
Begin
If L[J] > L[J+1] Then
Begin
Tmp := L[J];
L[J] := L[J+1];
L[J+1] := Tmp;
End;
End;
End;
WriteLn(‘PROGRAM BUBBLE SORTING ASCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
WriteLn;
For I := 1 To N Do
Begin
Write(L[I], ‘ ‘);
End;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
ReadLn;
goto awal;
End;

2:Begin
ClrScr;
For I := 1 To N-1 Do
Begin
For J := N-1 DownTo I Do
Begin
If L[J] < L[J+1] Then
Begin
Tmp := L[J];
L[J] := L[J+1];
L[J+1] := Tmp;
End;
End;
End;
WriteLn(‘PROGRAM BUBBLE SORTING DESCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
WriteLn;
For I := 1 To N Do
Begin
Write(L[I], ‘ ‘);
End;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
ReadLn;
goto awal;
End;

3:Begin
ClrScr;
U := N;
For I := 1 To N-1 Do
Begin
Mx := 1;
For J := 2 To U Do
Begin
If L[J] > L[Mx] Then Mx := J;
End;
Tmp := L[U];
L[U] := L[Mx];
L[Mx] := Tmp;
U := U-1;
End;

WriteLn(‘PROGRAM SELECTION MAXIMUM ASCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
WriteLn;

For I := 1 To N Do
Begin
Write(L[I], ‘ ‘);
End;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
ReadLn;
goto awal;
end;

4:Begin
ClrScr;
U := N;
For I := 1 To N-1 Do
Begin
Mx := 1;
For J := 2 To U Do
Begin
If L[J] < L[Mx] Then Mx := J;
End;
Tmp := L[U];
L[U] := L[Mx];
L[Mx] := Tmp;
U := U-1;
End;

WriteLn(‘PROGRAM SELECTION MAXIMUM DESCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
WriteLn;

For I := 1 To N Do
Begin
Write(L[I], ‘ ‘);
End;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
ReadLn;
goto awal;
end;

5:Begin
clrscr;
U := N;
for i:= 1 to N-1 do
begin
Min := 1;
for J:=2 to U do
begin
if L[J] > L[Min] then Min :=J;
end;
temp:= L[U];
L[U] := L[Min];
L[Min] := Temp;
U:= U-1;
end;
writeln(‘PROGRAM SELECTION MINIMUM ASCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
writeln;
for i:=1 to N do
begin
write(L[i], ‘ ‘ );
end;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
readln;
goto awal;
end;

6:Begin
clrscr;
U := N;
for i:= 1 to N-1 do
begin
Min := 1;
for J:=2 to U do
begin
if L[J] < L[Min] then Min :=J;
end;
temp:= L[U];
L[U] := L[Min];
L[Min] := Temp;
U:= U-1;
end;
writeln(‘PROGRAM SELECTION MINIMUM DESCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
writeln;
for i:=1 to N do
begin
write(L[i], ‘ ‘ );
end;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
readln;
goto awal;
end;

7:Begin
clrscr;
for i:=2 to N do
begin
Temp:= L[i];
J:= i-1;
while (L[J] > Temp) and (J > 0) do
begin
L[J+1] := L[J];
Dec(J);
end;
L[J+1] := Temp;
end;

writeln(‘PROGRAM INSERTION ASCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
writeln;
for i:=1 to N do
begin
write(L[i], ‘ ‘ );
end;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
readln;
goto awal;
end;

8:Begin
clrscr;
for i:=2 to N do
begin
Temp:= L[i];
J:= i-1;
while (L[J] < Temp) and (J > 0) do
begin
L[J+1] := L[J];
Dec(J);
end;
L[J+1] := Temp;
end;

writeln(‘PROGRAM INSERTION DESCENDING’);
WriteLn(‘==================================‘);
writeln(‘Data setelah diurutkan : ‘);
writeln;
for i:=1 to N do
begin
write(L[i], ‘ ‘ );
end;
WriteLn;
WriteLn;
WriteLn(‘==================================‘);
WriteLn(‘Tekan ENTER Untuk Kembali Ke Menu’);
readln;
goto awal;
end;

9:begin
clrscr;
textcolor(14);
writeln(‘–Thank you for using this Simple Program–’);
readln;
end;
end;
end;
Begin
jb:=‘y’;
repeat
ClrScr;
textcolor(14);
Write(‘Masukkan jumlah data : ‘);ReadLn(N);
InputData;
SORT(L, N);
write(‘Apakah ingin memasukkan data yang baru (Y/T)? ‘);Readln(jb);
until (jb=‘T’) or (jb=‘t’);

end.




Latihan No. 9 menentukan jumlah, rata2, min, max
program Array_max_min;
var
nilai:array[1..100] of INTEGER;
maks,mins,total,i,data : integer;
rata : real;
begin
write('Jumlah Data = ');readln(data);
write('Data ke-1 = ');readln(nilai[1]);
maks :=nilai[1];
mins :=nilai[1];
total :=nilai[1];
for i := 2 to data do
begin
write('Data ke-',i,' = ');readln(nilai[i]);
if nilai[i]>maks then
maks:=nilai[i];
if nilai[i]<mins then
mins:=nilai[i];
total:=total+nilai[i];
end;
rata:=total/data;
writeln('Nilai terbesar adalah = ',maks);
writeln('Nilai terkecil adalah = ',mins);
writeln('Nilai total adalah = ',total);
writeln('Nilai rata-rata adalah = ',rata:0:2);
readln;
end.
Latihan No 10 Program searching data

Program Lin_Ser;

var
a : array[1..5] of integer;
i,jd, findvalue,n : integer;
continue : boolean;

begin
write('Berapa jumlah data yang akan di cari = '); readln(n);
writeln('Masukan data yang di input :');
for jd:=1 to n do
    begin
        write('Data ke - ',jd,' :');
        readln(a[jd]);
    end;

    write('Data yang akan dicari :');
    readln(findvalue);

    i:=1;
    continue:=true;
    while (i <= jd) and continue do
          begin

          if(a[i] = findvalue) then
          begin
          writeln('Data ditemukan pada data ke - ',i);
          continue := false;
          end;
          i:=i+1;
          end;

    if continue = true then
       begin
       writeln('Data tidak ditemukan');
       end;
readln;
end.

Latihan No 11 Program procedure login
program Login;
uses crt;
var user:string;
Pass:integer;
Procedure Tampil1;
begin
Clrscr;
gotoxy(10,5);writeln('**********');
gotoxy(10,6);writeln('Program Menu Pascal');
gotoxy(10,7);writeln('==========');
gotoxy(15,10);writeln('User Name: ');
gotoxy(15,11);writeln('Password: ');
gotoxy(10,18);writeln('==========');
gotoxy(10,19);writeln('Create By : Deden Wahyu Hadiatna');
gotoxy(10,20);writeln('**********');
end;
Procedure Tampil2;
Begin
Clrscr;
gotoxy(10,5);writeln('==========');
gotoxy(10,6);writeln('Selamat Datang',User);
gotoxy(10,7);writeln('==========');
Writeln;
gotoxy(15,10);writeln('Persegi Panjang');
gotoxy(15,11);writeln('1.Program Luas');
gotoxy(15.12);writeln('2.Program Keliling');
gotoxy(15,13);writeln('3.Hasil pertimbangan');
gotoxy(15,14);writeln('4.Exit');
gotoxy(10,20);writeln('Masukkan Pilihan Anda: ');
gotoxy(10,21);writeln('Tekan Enter Untuk Melanjutkan');
Writeln;
gotoxy(10,23);writeln('==========');
gotoxy(10,24);writeln('Created By : Deden Wahyu Hadiatna');
gotoxy(10,25);writeln('==========');
Readln;
End;
Procedure Tampil3;
Var
Luas,Panjang,Lebar:integer;
Begin
Clrscr;
Writeln('Input Nilai P');Readln(Panjang);
Writeln('Input Nilai L');Readln(Lebar);
Luas:=Panjang*Lebar;
Writeln('Luas Persegi Panjang Adalah ',Luas);
Readln;
end;
Procedure Tampil4;
Var
Luas,Panjang,Lebar:integer;
Begin
Clrscr;
Writeln('Input Nilai P');Readln(Panjang);
Writeln('Input Nilai L');Readln(Lebar);
Keliling:=2*(Panjang+Lebar);
Writeln('Keliling Persegi Panjang Adalah ',Luas);
Readln;
end;

begin
Clrscr;
Tampil1;
gotoxy(15,10);writeln('User name');Readln(User);
gotoxy(15,11);writeln('Password: ');readln(Pass)
if(User,'Admin')and(Pass=12345)then
Tampil2 else
Clrsr;
gotoxy(25,10);writeln('User name dan Password Tidak Sesuai');
readkey;
repeat until keypressed;
end.
Lathan No 12 Program Statment discount
Proglam statemen_masukkan;
Uses wincrt
Var
Angka1,angka2:integer;
begin;
Write('masukan dua buah angka:');
Read(angka1,angka2);
write('angka pertama adalah:',angka1,'dan angka 2adalah :',angka2);
readln
End.

Tuga berikan tugas discount
Program discount ; ;
>500.000 discount 20%
Diantara 200.000<500.000 discount 10%
<50.000 disconut 0%

Latihan No 13 Program Login Nilai
Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
pilih : CHAR;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==========================================');
Gotoxy(10,6);WRITELN('            NAMA KELOMPOK 1               ');
Gotoxy(10,7);WRITELN('==========================================');
gotoxy(10,8);WRITELN('         DEDEN WAHYU HADIATNA             ');
GOTOXY(10,9);WRITELN('            RUDI HERMAWAN                 ');
GOTOXY(10,10);WRITELN('        PAMUNGKAS WULAN SARI             ');
gotoxy(10,11);WRITELN('=========================================');
gotoxy(10,12);WRITELN('    PROGRAM LOGIN NILAI SISWA SMA        ');
gotoxy(10,13);WRITELN('        Sabtu, 23 november 2013          ');
gotoxy(10,14);WRITELN('>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<');
gotoxy(10,15);WRITELN('============PRESS ENTER TO NEXT PROGRAM==');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,6);WRITELN('==========================================');
Gotoxy(10,7);WRITELN('     PROGRAM LOGIN SISWA SMA              ');
gotoxy(10,8);WRITELN('==========================================');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD  :');
gotoxy(10,18);WRITELN('=========================================');
gotoxy(10,19);WRITELN('CREATED BY : DEDEN WAHYU HADIATNA');
gotoxy(10,20);WRITELN('             RUDI HERMAWAN');
gotoxy(10,21);WRITELN('             PAMUNGKAS WULAN SARI');
gotoxy(10,22);WRITELN('==========================================');
END;
PROCEDURE TAMPIL3;
BEGIN
CLRSCR;
GOTOXY(10,5);WRITELN('==========================================');
GOTOXY(10,6);WRITELN('SELAMAT DATANG ',USER);
GOTOXY(10,7);WRITELN('===========================================');
WRITELN;
GOTOXY(15,10);WRITE('MENU PROGRAM LOGIN SISWA SMA');
GOTOXY(15,11);WRITE('1. PROGRAM NILAI RATA-RATA UAS');
gotoxy(15,12);WRITE('2. PROGRAM PILIHAN KELAS');
gotoxy(15,13);write('3. PROGRAM LULUS_REMIDIAL');
gotoxy(15,14);write('4. Exit');
Gotoxy(15,15);write('PRESS ENTER TO NEXT>>>___');
GOTOXY(10,23);WRITELN('===================================');
GOTOXY(10,24);WRITELN('UNIVERSITAS BHAYANGKARA JAKARTA RAYA');
GOTOXY(10,25);WRITELN('===================================');
WRITELN;
READLN;
END;

PROCEDURE TAMPIL4;
BEGIN
CLRSCR;
GOTOXY(10,5);WRITELN('==========================================');
GOTOXY(10,6);WRITELN('SELAMAT DATANG ',USER);
GOTOXY(10,7);WRITELN('===========================================');
WRITELN;
GOTOXY(15,10);WRITE('SILAHKAN MASUKAN PILIHAN ANDA :  ');
READLN(pilih);

gotoxy(10,21); write('press enter to next>>>>>_____');
GOTOXY(10,23);WRITELN('====================================');
GOTOXY(10,24);WRITELN('UNIVERSITAS BHAYANGKARA JAKARTA RAYA');
GOTOXY(10,25);WRITELN('====================================');

WRITELN;
READLN;
END;

PROCEDURE DAFTAR NILAI UAS; //JUDUL PROGRAM
VAR //DEKLARASI VARIABEL
N,I,E,M,SC,SO: INTEGER; //STATEMENT1
BEGIN
CLRSCR;
Begin
Writeln(' ');
Textcolor(LightGreen);
Writeln(' --==::DAFTAR NILAI UAS::==--');
WRITELN('INPUT NILAI BAHASA INDONESIA: ');READLN(I);
WRITELN('INPUT NILAI BAHASA INGGRIS: ');READLN(E);
WRITELN('INPUT NILAI MATEMATIKA: ');READLN(M);
WRITELN('INPUT NILAI ILMU PENGETAHUAN ALAM: ');READLN(SC);
WRITELN('INPUT NILAI ILMU PENGETAHUAN SOSIAL: ');READLN(SO);
N:=(I+E+M+SC+SO)/5;READLN(N);
WRITELN('NILAI RATA-RATA UAS: ',N);
READLN;
end;

PROCEDURE PILIHAN KELAS;//JUDUL PROGRAM
var//DEKLARASI VARIABEL
n:integer;//STATEMENT1
writeln('Masukkan Nilai Rata-Rata UAS  ');readln(n);
if  (n >= 80) then
Textcolor(Lightgreen);
write ('Class Science');
if (n >= 70) and (n < 80) then
Textcolor(Lightred);
write ('Class Social');
if (n < 70)then
Textcolor(Lightblue);
Write ('Class Language');
readln;
Textcolor(Lightblue);
Writeln('SELAMAT DATANG DI KELAS YANG TERPILIH');
Readln;
end;


PROCEDURE LULUS_REMIDIAL;
var n : integer;
begin
writeln('*********************************');
writeln('PROGRAM NILAI YANG LULUS_REMIDIAL');
writeln('*********************************');
readln;
write('masukan nilai = ');readln(n);
if (n<70)then
Textcolor(LightYellow);
write('REMIDIAL')
write('silahkan menghubungi guru mata pelajarannya untuk remidial')
If (n>=70)then
Textcolor(Lightgreen);
write('LULUS')
write('selamat atas kelulusan anda')
readln;
END;



BEGIN
CLRSCR;
TAMPIL1;
TAMPIL2;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD  :');READLN(PASS);
if (USER='UBHARATIF') and (PASS='BARCELONA') then
TAMPIL3 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
if (USER='UBHARATIF') and (PASS='BARCELONA') then
TAMPIL4;
CLRSCR;
if (pilih = '1') then
DAFTAR NILAI;
if (pilih = '2') tHEN
PILIHAN KELAS;
if (pilih = '3') then
LULUS_REMIDIAL;
if (pilih = '4') then
EXIT;
READKEY;

REPEAT UNTIL KEYPRESSED;

END.


Latihan no 13 program penjualan
Program Penjualan;
Uses WinCrt;
Var
Nama : String (20)
Kode : String (5)
Jumlah : Integer ;
Harga : Bayar : Real ;
Begin
Clrscr,
write(‘Masukan Nama Barang=  ‘);  Readln(nama),
write(‘Masukan Kode Barang= ‘);  Readln(kode),
write(‘Masukan Jumlah Barang’); Readln(jumlah)
write(‘Masukan Harga Barang’); readln(harga),
bayar = jumlah*harga
Latihan 1
Clrscr;
Writeln(‘Daftar Penjualan Toko Ubhara’);
Writeln(‘Bekasi’);
Writeln(‘==========’);
Writeln(‘Nama Barang= ’,Nama);
Writeln(‘Kode Barang = ’, Kode);
Writeln(‘Jumlah Barang= ’,Jumlah);
Writeln(‘Harga Barang= ’,Barang:8:2);
Writeln(‘Jumlah Pembayaran =  ’,Bayar:8:2);
Readln;
End.


program Operasi_relasi;
var
x, y : integer;
begin
writeln('masukkan nilai x = '); readln('%d', x);
writeln('masukkan nilai y = '); readln('%d', y);
writeln('\nNilai %d < %d adalah %d\n'x,y,x < y);readln('d%', x,y);
writeln('\nNilai %d > %d adalah %d\n'x,y,x > y);readln('d%', x,y);
writeln('\nNilai %d == %d adalah %d\n'x,y,x == y);readln('d%', x,y);
writeln('\nNilai %d <= %d adalah %d\n'x,y,x <= y);readln('d%', x,y);
writeln('\nNilai %d >= %d adalah %d\n'x,y,x >= y);readln('d%', x,y);
writeln('\nNilai %d |= %d adalah %d\n'x,y,x |= y);readln('d%', x,y);
readln;
end.
program persegi_panjang;
uses wincrt;
var
P:integer;
L:integer;
function hitung_luas(panjang,lebar : integer):integer;
begin
hitung_Luas:=panjang*lebar;
readln;
end;
begin
write('Masukkan Panjang= ');readln(p);
write('Masukkan Lebar= ');readln(l);
writeln('Luas Persegi Panjang= ',hitung_luas(p,l));
readln;
end.
program Tampil_tanggal;
uses crt, dos;
function inttosir(I:longint): string;
var
S: string [12];
begin
str(I, S);
inttosir:= S;
end;
function tanggal: string;
var
Y,M,D,DOW: Word;
begin
getdate(Y,M,D,DOW);
tanggal :=inttosir (D) + '_'
+ inttosir (M)+ '_' + inttosir (Y);
end.
function hari_ini: string;
const
days: array [0..6] of string[9] =
('minggu','senin','selasa','rabu','kamis','jumat','sabtu');
var
Y, M, D, DOW : Word;
begin
getdate(Y,M,D, DOW);
hari_ini := 'hari ini : ' + days[DOW] + ', ';
end.
begin
clrscr;
writeln(hari_ini, tanggal);
readln;
end.
Latihan No 14 Macam2 program Login
1.       Program LOGIN;

uses crt;
VAR USER:STRING;
PASS:INTEGER;
pilih : CHAR;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==========================================');
Gotoxy(10,6);WRITELN('PROGRAM LOGIN TUGAS UTS SEMESTER 1');
gotoxy(10,7);WRITELN('=======================================');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD  :');
gotoxy(10,18);WRITELN('=========================================');
gotoxy(10,19);WRITELN('CREATED BY : NANANG NURDIANSYAH');
gotoxy(10,20);WRITELN('==========================================');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
GOTOXY(10,5);WRITELN('==========================================');
GOTOXY(10,6);WRITELN('SELAMAT DATANG ',USER);
GOTOXY(10,7);WRITELN('===========================================');
WRITELN;
GOTOXY(15,10);WRITE('MENU ');
GOTOXY(15,11);WRITE('1. PROGRAM PERSEGI PANJANG');
gotoxy(15,12);WRITE('2. PROGRAM RUMUS VOLUME');
gotoxy(15,13);write('3. GANJIL GENAP');
gotoxy(15,14);write('4. Exit');
Gotoxy(15,15);write('T E K A N  E N T E R  T O  N E X T =>>>');
GOTOXY(10,23);WRITELN('==================================');
GOTOXY(10,24);WRITELN('CREATED BY : NANANG NURDIANSYAH');
GOTOXY(10,25);WRITELN('=================================');

WRITELN;
READLN;
END;

PROCEDURE TAMPIL3;
BEGIN
CLRSCR;
GOTOXY(10,5);WRITELN('==========================================');
GOTOXY(10,6);WRITELN('SELAMAT DATANG ',USER);
GOTOXY(10,7);WRITELN('===========================================');
WRITELN;
GOTOXY(15,10);WRITE('SILAHKAN MASUKAN PILIHAN ANDA :  ');
READLN(pilih);

gotoxy(10,21); write('tekan ENTER untuk melanjutkan');
GOTOXY(10,23);WRITELN('==================================');
GOTOXY(10,24);WRITELN('CREATED BY : NANANG NURDIANSYAH');
GOTOXY(10,25);WRITELN('=================================');

WRITELN;
READLN;
END;

PROCEDURE LUAS; //JUDUL PROGRAM
VAR //DEKLARASI VARIABEL
LUAS, PANJANG, LEBAR: INTEGER; //STATEMENT1
BEGIN
CLRSCR;
WRITELN('INPUT NILAI P: ');
READLN(PANJANG);
WRITELN('INPUT NILAI L: ');
READLN(LEBAR);
LUAS:=PANJANG*LEBAR;
WRITELN('LUAS PERSEGI PANJANG ADALAH: ',LUAS);
READLN;
end;

procedure rumus_volume;
var
p, l, t, Lp, v: integer;
Begin
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Volume dan Luas Permukaan Balok::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukan panjang : ');Readln(p);
Write('Masukan lebar : ');Readln(l);
Write('Masukan tinggi : ');Readln(t);
V:= p*l*t;
Lp:= 2*p*l+2*p*t+2*l*t;
Writeln('Volume : ', V);
Writeln('Luas Permukaan : ', Lp);
Writeln(' ');
Textcolor(LightRed);
Writeln(' P R O G R A M  U T S ');
Readln;
END;

PROCEDURE GANJIL_GENAP;
var n : integer;
begin
writeln('WELLCOME TO MY PROGRAM');
writeln('-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-');
readln;
writeln('KELOMPOK 9');
writeln('-----------------------');
writeln('NANANG NURDIANSYAH');
writeln('MEGAWATI');
writeln('YAYAT RUHDIYAT');
writeln('-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-');
write('masukan bilangan = ');readln(n);
if n mod 2 = 0 then
write('ini bilangan genap')
else
write(n, ' ini bilangan ganjil');
readln;
END;



BEGIN
CLRSCR;
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD  :');READLN(PASS);
if (USER='NANANG') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
if (USER='NANANG') and (PASS=12345) then
TAMPIL3;
CLRSCR;
if (pilih = '1') then
LUAS;
if (pilih = '2') then
rumus_volume;
if (pilih = '3') then
GANJIL_GENAP;
if (pilih = '4') then
EXIT;
READKEY;

REPEAT UNTIL KEYPRESSED;

END.



2.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN AKAR');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==PROGRAM AKAR==');
gotoxy(22,2);write('masukkan bilangan = ');
readln(a);
b:=sqrt(a);
gotoxy(22,3);writeln('akar dari ',a:2:2,' adalah ',b:2:2);
READLN;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Akar;
Begin
gotoxy(23,1);write('==AKAR BILANGAN==');
gotoxy(23,2);write('masukkan bilangan : ');
readln(a);
b:=sqrt(a);
gotoxy(22,3);writeln('akar dari ',a:2:2,' adalah ',b:2:2)
end;

3.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
p, l, t, V, Lp : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN MENCARI VOLUME BALOK');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Volume dan Luas Permukaan Balok::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukan panjang : ');Readln(p);
Write('Masukan lebar : ');Readln(l);
Write('Masukan tinggi : ');Readln(t);
V:= p*l*t;
Lp:= 2*p*l+2*p*t+2*l*t;
Writeln('Volume : ', V:0:0);
Writeln('Luas Permukaan : ', Lp:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' SAYANG PUTRIE RETNOWATI ');
Readln;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Balok; {Mencari Volume dan Luas permukaan Balok}
Var
Begin
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Volume dan Luas Permukaan Balok::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukan panjang : ');Readln(p);
Write('Masukan lebar : ');Readln(l);
Write('Masukan tinggi : ');Readln(t);
V:= p*l*t;
Lp:= 2*p*l+2*p*t+2*l*t;
Writeln('Volume : ', V:0:0);
Writeln('Luas Permukaan : ', Lp:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' SAYANG PUTRIE RETNOWATI ');
Readln;
END;

4.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN KUADRAT');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==KUADRAT==');
gotoxy(22,2);write('masukkan bilangan = ');
readln(a);
b:=sqr(a);
gotoxy(22,3);writeln('kuadrat dari ',a:2:0, 'adalah : ',b,2:2);
READLN;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Kuadrat;
Begin
gotoxy(22,1);write('==KUADRAT==');
gotoxy(22,2);write('masukkan bilangan = ');
readln(a);
b:=sqr(a);
gotoxy(22,3);writeln('kuadrat dari ',a:2:0, 'adalah : ',b,2:2);
end;
END.


5.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
s, V, Lp : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN MENCARI VOLUME KUBUS ');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Volume dan Luas permukaan Kubus::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukan sisi : ');Readln(s);
V:= s*s*s;
Lp:= 6*s*s;
Writeln('Volume : ', V:0:0);
Writeln('Luas Permukaan : ', Lp:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' AVIEZ SAYANG PUTRIE <3 ');
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
READLN;
Procedure Kubus; {Mencari Volume dan Luas permukaan Kubus}
Var
Begin
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Volume dan Luas permukaan Kubus::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukan sisi : ');Readln(s);
V:= s*s*s;
Lp:= 6*s*s;
Writeln('Volume : ', V:0:0);
Writeln('Luas Permukaan : ', Lp:0:0);
Writeln(' ');
Writeln(' ');
Readln;
end;
READLN;
END.

6.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
r, L, K : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN MENCARI LUAS LINGKARAN');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' ');
Writeln(' --==::Menghitung Luas dan Keliling Lingkaran::==--');
Writeln(' ');
Write('Masukan jari-jari : ');Readln(r);
L:= 22/7*(sqr(r));
K:= 2*22/7*r;
Writeln('Luas : ', L:0:0);
Writeln('Keliling : ', K:0:0);
Writeln(' ');
Textcolor(12);
Writeln(' Phone me at 08567919761 ');
Readln;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Lingkaran; {Mencari Luas dan Keliling Lingkaran}
Var
Begin
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Luas dan Keliling Lingkaran::==--');
Writeln(' ');
Write('Masukan jari-jari : ');Readln(r);
L:= 22/7*(sqr(r));
K:= 2*22/7*r;
Writeln('Luas : ', L:0:2);
Writeln('Keliling : ', K:0:2);
Writeln(' ');
Textcolor(12);
Writeln(' Phone me at 08567919761 ');
Readln;
end;
END.


7.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
s, L, K : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('PROGRAM LOGIN MENCARI LUAS DAN KELILING
PERSEGI');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' --==::Menghitung Luas dan Keliling Persegi::==--');
Writeln(' ');
Write('Masukkan sisi : ');Readln(s);
L := s*s;
K := 4*s;
Writeln('Luas : ', L:0:0);
Writeln('Keliling : ', K:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' invite my pin 75abf3b9 :-) ');
Readln;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Persegi; {Mencari Luas dan Keliling Persegi}
BEGIN
CLRSCR;
Begin
Writeln(' ');
Writeln(' --==::Menghitung Luas dan Keliling Persegi::==--');
Writeln(' ');
Write('Masukkan sisi : ');Readln(s);
L := s*s;
K := 4*s;
Writeln('Luas : ', L:0:0);
Writeln('Keliling : ', K:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' INVITE MY PIN 75ABF3B9  ');
Readln;
end;
END.


8.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b,c:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN PEMBAGIAN');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==PROGRAM PEMBAGIAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a/b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
END;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Pembagian;
begin
gotoxy(22,1);write('==PROGRAM PENJUMLAHAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
if (b<>0)then
begin
c:=a/b;
gotoxy(22,4);writeln('hasil : ',c:2:0);
end
else
begin
gotoxy(22,4);writeln('tidak bisa dibagi nol')
end;
end;
END.


9.    Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b,c:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN PENGURANGAN');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==PROGRAM PENGURANGAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a-b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
END;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Penjumlahan;
begin
gotoxy(22,1);write('==PROGRAM PENJUMLAHAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a-b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
end;
END.

10.  Program LOGIN PENJUMLAHAN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b,c:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN PENJUMLAHAN');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==PROGRAM PENJUMLAHAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a+b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
END;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Penjumlahan;
begin
gotoxy(22,1);write('==PROGRAM PENJUMLAHAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a+b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
end;
END.


11.  Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a,b,c:real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
========');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN PERKALIAN');
gotoxy(10,7);WRITELN('==================================
========');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
gotoxy(22,1);write('==PROGRAM PERKALIAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a*b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
END;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Penjumlahan;
begin
gotoxy(22,1);write('==PROGRAM PERKALIAN==');
GOTOXY(22,2);Write('masukkan nilai pertama : ');
readln(a);
GOTOXY(22,3);Write('masukkan nilai kedua : ');
readln(b);
c:=a*b;
gotoxy(22,4);writeln('hasil :',c:2:0);
READLN;
end;
END.


12.  Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
p, lbr, L, K : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('PROGRAM LOGIN MENCARI LUAS DAN KELILING
PERSEGI');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' --==::Menghitung Luas dan Keliling Persegi::==--');
Writeln(' ');
Write('Masukkan panjang : ');Readln(p);
Write('Masukkan lebar : ');Readln(lbr);
L := p*lbr;
K := 2*(p+lbr);
Writeln('Luas : ', L:0:0);
Writeln('Keliling : ', K:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' Invite me at 75ABF3B9 ');
Readln;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Persegi; {Mencari Luas dan Keliling Persegi}
BEGIN
CLRSCR;
Begin
Writeln(' ');
Writeln(' --==::Menghitung Luas dan Keliling Persegi::==--');
Writeln(' ');
Write('Masukkan panjang : ');Readln(p);
Write('Masukkan lebar : ');Readln(lbr);
L := p*lbr;
K := 2*(p+lbr);
Writeln('Luas : ', L:0:0);
Writeln('Keliling : ', K:0:0);
Writeln(' ');
Textcolor(LightRed);
Writeln(' Invite me at 75ABF3B9 ');
Readln;
end;
END.

13.  Program LOGIN;
uses crt;
VAR USER:STRING;
PASS:INTEGER;
a, t, sm, L, K : Real;
PROCEDURE TAMPIL1;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN(' PROGRAM LOGIN MENCARI SEGITIGA');
gotoxy(10,7);WRITELN('==================================
==============');
GOTOXY(15,10);WRITE('USER NAME :');
GOTOXY(15,11);WRITE('PASSWORD :');
gotoxy(10,18);WRITELN('=================================
========');
gotoxy(10,19);WRITELN('CREATED BY : AVIEZ PINGIN TOBAT');
gotoxy(10,20);WRITELN('=================================
=========');
END;
PROCEDURE TAMPIL2;
BEGIN
CLRSCR;
gotoxy(10,5);WRITELN('==================================
==============');
Gotoxy(10,6);WRITELN('U N I V E R S I T A S B H A Y A N G K A R A');
gotoxy(10,7);WRITELN('==================================
==============');
READLN;
Writeln(' --==::Menghitung SEGITIGA::==--');
Writeln(' ');
Write('Masukkan alas : ');Readln(a);
Write('Masukkan tinggi : ');Readln(t);
L:= 0.5*a*t;
sm:= sqrt(sqr(a)+sqr(t));
K:= a+t+sm;
Writeln('Luas : ', L:0:2);
Writeln('Keliling : ', K:0:2);
Writeln(' ');
Textcolor(LightRed);
Writeln(' add me on facebook at aviez azze ');
Readln;
end;
begin
TAMPIL1;
GOTOXY(15,10);WRITE('USER NAME :');READLN(USER);
GOTOXY(15,11);WRITE('PASSWORD :');READLN(PASS);
if (USER='AVIEZ') and (PASS=12345) then
TAMPIL2 Else
CLRSCR;
GOTOXY(25,10);WRITELN('USERNAME DAN PASSWORD TIDAK SESUAI');
READKEY;
REPEAT UNTIL KEYPRESSED;
END.
Procedure Segitiga; {Mencari Luas dan Keliling Segitiga}
Var
Begin
Writeln(' ');
Textcolor(LightRed);
Writeln(' --==::Menghitung Luas dan Keliling Segitiga Siku-Siku::==--');
Textcolor(LightGreen);
Writeln(' ');
Write('Masukkan alas : ');Readln(a);
Write('Masukkan tinggi : ');Readln(t);
L:= 0.5*a*t;
sm:= sqrt(sqr(a)+sqr(t));
K:= a+t+sm;
Writeln('Luas : ', L:0:2);
Writeln('Keliling : ', K:0:2);
Writeln(' ');
Textcolor(LightRed);
Writeln(' add me on facebook at aviez azze ');
Readln;
end;
END.