Sabtu, 01 Januari 2011

Algoritma membuat pakaian


Algoritma untuk membuat sebuah pakaian jadi (baju atau celana) dari bahan mentah (kain) yang disediakan.
Jawab:
1. Siapkan alat dan bahannya
2. Buatlah pola sesuai model pakaian (baju atau celana) yang diinginkan
3. Guntinglah kain sesuai model pola
4. Obras pinggiran kain yang telah digunting tadi
5. Kemudian jahit kain yang telah diobras tadi untuk dibuat pakaian (baju atau celana)

Algoritma 3 pasang suami istri


Masing-masing pasangan disimbolkan dengan S1 I1, S2 I2, dan S3 I3
         Algoritmanya: 
         {di desa A: S1, I1, S2, I2, S3, I3 --- di desa B: belum ada} 
I1 dan I2 menyeberang ke desa B
         {di desa A: S1, S2, S3, I3 --- di desa B: I1, I2}
I2 kembali ke desa A
        {di desa A: S1, S2, I2, S3, I3 --- di desa B: I1} 
I2 dan Imenyebrang ke desa B
         {di desa A: S1, S2, S3 --- di desa B: I1, I2, I3}
I3 kembali ke desa A
         {di desa A: S1, S2, S3, I3 --- di desa B: I1, I2}
S1 dan S2 menyeberang ke desa B
         {di desa A:  S3, I3 --- di desa B: S1, I1, S2, I2}
S2 dan I2 kembali ke desa A
         {di desa A: S2, I2, S3, I3 --- di desa B: S1, I1}
Sdan S3 menyeberang ke desa B
         {di desa A: I2, I3 --- di desa B: S1, I1, S2, S3}
I1 kembali ke desa A
         {di desa A: I1, I2, I3 --- di desa B: S1, S2, S3}
I1 dan I2 menyeberang ke desa B
           {di desa A: I3 --- di desa B: S1, I1, S2, I2, S3}
I2 kembali ke desa A
         {di desa A: I2I3 --- di desa B: S1, I1S2S3}
I2 dan Imenyebrang ke desa B
         {di desa A: habis --- di desa B: S1, I1S2I2S3I3}

Algoritma untuk mengisi pulsa HP



  • Voucher Elektrik
    1. Ketik SMS berikut: kodenominal_pulsanomor_penerimaPIN
    2. Masukkan nomor provider pulsa
    3. Kirim
    4. Pulsa otomatis masuk ke nomor penerima setelah SMS berhasil diterima oleh provider pulsa.
  • Voucher Fisik
  1. Gesek kartu untuk melihat kode voucher
  2. Ketikkan kode voucher sesuai perintah (berbeda untuk tiap jenis Kartu SIM)
  3. Lalu tekan yes/Ok/telp.
  4. Pulsa otomatis bertambah sesuai nominal pada voucher

Program pascal sederhana

 Program untuk menentukan bentuk padat, cair, atau gas benda :
uses wincrt;
var a: integer;
ket: string;
begin
write ('suhu  : '); readln (a);
if a <= 0 then
ket :='padat'
else
if (a > 0) and (a < 100) then
ket :='cair'
else
if a >=100 then
ket :='gas';
writeln('Air pada suhu tersebut berbentuk',' ',ket);
end.

algoritma Mencari Bilangan Ganjil atau Genap

Masukan sebuah bilangan kemudian tentukan apakah bilangan yang diinput termasuk bilangan ganjil, bilangan genap. Gunakan metode pemilihan 
Layout :
Masukan sebuah bilangan             :  3  à enter
BIlangan yang anda input adalah bilangan ganjil
Jawab :
1.                1. Beri Nilai A
2.                2..Cetak Nilai A
2.1  Jika A mod 2 = 0, maka A bilangan genap
2.2  Jika tidak, maka A bilangan ganjil

       uses crt;
       var A: integer;
       begin
         clrscr;
         write('masukan bilangan:');
         Readln(A);
         if (A mod 2)= 0 then
         write(A,' ','adalah bilangan genap')
         else
         write(A,' ','adalah bilangan ganjil');
         Readln;
       end.

Bilangan kelipatan 3 dan 5

Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30 
Jawab:
  • Untuk i:= 1 sampai 30 lakukan:
    • jika i mod 3= 0 maka cetak i
    • selain itu jika i mod 5= 0 maka cetak i.
     
uses crt;
var i: integer;
begin 
  clrscr;
  for i:= 1 to 30 do
  begin 
  if i mod 3 = 0 then write(i:4)                                   else 
  if i mod 5 = 0 then write(i:4);
  end;
  readln;
end

Menampilkan bilangan prima dari angka 1 s/d 20


Jawab :
  1. bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
  2. sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 (kecuali 2) sampai bilangan sebelum bilangan itu (x-1).
  3. mencetak 2 terlebih dahulu ke layar.
  4. mengeset status bilangan prima menjadi true.
  5. beri nilai  =1 (menandakan bilangan prima).
  6. melakukan pengecekan mulai dari 2 sampai x-1.
  7. jika x habis dibagi bilangan yang ada antara 2 sampai x-1, berarti x bukan bilangan prima. Variabel prima yang awalnya true berubah jadi false dan pengecekan tidak perlu dilanjutkan (break).
  8. jika dari bilangan antara 2 sampai x-1 tak satupun yang habis dibagi, maka variabel prima yang dideklarasikan sebagai true tidak berubah nilai (tetap true). Sehingga bilangan tersebut adalah bilangan prima dan akan ditampilkan ke layar.
  9. tambahkan nilai x dengan 1 dan ulangi dari langkah ke-5 sampai nilai x= 20
    uses crt;
    var x,y:  integer;
    prima: boolean;
    begin
      clrscr;
      write('2':4);
      for x := 3 to 20 do
      begin
      prima:=true;
      for y := 2 to x-1 do
      begin
      if (x mod y) = 0 then
      begin
      prima := false;
      break;
      end;
      end;
      if prima then write(x:4);
      end;
    Readln;
    end.

Program pascal - aritmatika

Masukan bilangan 1, setelah itu masukan bilangan 2, kemudian lakukan proses penjumlahan, perkalian pengurangan, dan pembagian. Hasil dari ke empat operasi aritmatika tersebut ditampilkan
Layout :
Bilangan 1       : 6
Bilangan 2       : 3
Hasil Penjumlahan      : 9
Hasil Pengurangan      : 3
Hasil Perkalian            : 18
Hasil Pembagian         : 2
Jawab:
uses crt;
var A,B:integer;
begin
    clrscr;
    Write('Bilangan 1: ');Readln(A);
    Write('Bilangan 2: ');Readln(B);
    Writeln('Hasil Penjumlahan= ',A+B);
    Writeln('Hasil Pengurangan= ',A-B);
    Writeln('Hasil Perkalian  = ',A*B);
    Writeln('Hasil Pembagian  = ',A/B:0:0);
    Readln;
end.

algoritma Luas Lingkaran

Masukan nilai jari-jari sebuah lingkaran. Kemudian program akan menampilkan
                                              

hasil luas lingkaran.
Layout       : 
Jari-jari lingkaran   : 7
Luar Lingkaran adalah 154

Jawab :
1.      1. Masukan nilai jari-jari yang menyatakan r
2.      2. Menetapkan nilai phi yaitu phi = 3.14
3.      3. Menghitung luas lingkaran yang menyatakan L yaitu L = phi * r * r
4.      4. Cetak hasil luas lingkaran (L) 
    uses crt;
    const phi=3.14;
    var L,r: real; 
    begin 
      writeln('Program Menghitung Luas Lingkaran');
      write('Masukan jari-jari Lingkaran:');
      Readln(r); 
      L:=phi*r*r;
      writeln('Luas Lingkaran adalah:',round(L));
      Readln; 
    end.

Program pascal perulangan bilangan

Buat tampilan program dibawah ini dengan menggunakan metode perulangan  
               
       1 2 3 4                         2 2 2                            3 2 1
       1 2 3 4                         1 1 1                            3 2 1

       1 2 3 4                         0 0 0                            3 2 1
       1 2 3 4

       1                                  4 3 2 1                         1         
       1 2                               4 3 2                            3   5  
       1 2 3                            4 3                               7   9   11
       1 2 3 4                         4                                  13 15 17 19
           
Jawab:
1.         uses crt;                         
   var I,J :integer;
   begin
   clrscr;
     for I:=1 to 4 do
     begin
     for J:= 1 to 4 do
     write(J:4);
     writeln;
     end;
     readln;
   end.

2.    uses crt;
   var A, I,J: integer;
   begin
     clrscr;
     A:=2;
     for I:= 1 to 3 do
     begin
     for J:= 1 to 3 do
     write(A:4);
     A:=A-1; writeln;
     End;
     Readln;
end.


3. uses crt; var i, j: byte;
      begin
         clrscr;
         for i:= 1 to 3 do
         begin
         for j:= 3 downto 1 do
         write(j:4); writeln;
         end;
         readln;
        end.

4. uses crt;
   var i, j: integer;
   begin
     clrscr;
     for i:= 1 to 4 do
     begin
     for j:= 1 to i do
     write(j:4); writeln;
     end;
     readln;
   end.

1.  5. uses crt;
   var A, i,j:integer;
   begin
     clrscr;
     for i:= 4 downto 1 do
     begin
     A:=4;
     for j:= 1 to i do
     begin
     write(A:4);
     A:=A-1;
     end;
     writeln;
     end;
     readln;
   end.

6. uses crt;
   var A, i, j: byte;
   begin
     clrscr;
     A:= 1;
     for i:= 1 to 4 do
     begin
     for j:= 1 to i do
     begin
     write(A:4);
     A:= A+2;
     end;
     writeln;
     end;
     readln;
   end.

program pascal luas persegi panjang

  Buat algoritma dan program untuk menghitung luas yang diarsir pada gambar dibawah ini






  1. Menentukan nilai panjang sisi luar (pL): pL= 18, lebar sisi luar (lL): lL= 12, panjang sisi dalam (pT): pT= 10, dan lebar sisi dalam (lT): lT= 5.
  2. Menghitung luas total, Ltotal= pL x lL
  3. Menghitung luas tengah, Ltengah= pT x lT
  4. Didapat luas yang diarsir, Larsir= Ltotal-Ltengah
      Program pascal:
uses crt;
var pL, lL, pT, lT, Ltotal , Ltengah: integer;
begin
    clrscr;
    pL:=18;  lL:=12;  pT:=10;  lT:=5;
    Ltotal:= pL*lL;
    Ltengah:= pT*lT;
    writeln('Luas total       = ', Ltotal);
    writeln('Luas tengah      = ', Ltengah);
    writeln('Luas yang diarsir= ', Ltotal-Ltengah);
    readln;
end.

program pascal Bilangan Genap dari angka 1 s/d 50

Menampilkan bilangan genap dari angka 1 s/d 50 
Jawab:
-                         1. Beri Nilai A = 1
-                         2. Untuk I = 1 samapi 50 lakukan
2.1 Cetak Nilai A
2.2  Jika A mod 2 = 0 , maka nilai A = bilangan genap

uses crt;
var I,A: integer;
begin
A:=1;
 clrscr;
 for I:= 1 to 50 do
begin
if I mod 2= 0 then
write(I:5);
end;
  Readln;
end.