Sabtu, 18 Desember 2010

pasangan suami istri

1.      Tiga pasang suami istri akan menyeberang sungai dari desa A ke desa B. Terdapat sebuah perahu dengan batas muatan hanya 2 orang saja yang akan digunakan untuk menyeberang. Permasalahan pun terjadi ternyata para suami-suami memiliki sifat cemburu, sehingga tidak bisa meninggalkan istrinya dengan suami lain. Susunlah algoritma untuk menyeberangkan ketiga pasang suami istri dari desa A ke desa B tanpa ada satu orang pun suami yang cemburu..

Jawab
Algoritma:
1.         Tiga pasangan suami istri = pasangan suami istri 1,2 dan 3
2.         Sebrangkan suami 1 dan 2 dari desa A ke B
3.         Suami 2 tinggal didesa B
4.         Suami 1 kembali ke desa A untuk menjemput Istri 1
5.         Kemudian pasangan suami istri 1 menyebrang kembali ke desa B
6.         Pasangan suami istri 1 telah berada didesa B
7.         Suami 2 yang berada didesa B tadi kembali ke desa A untuk menjemput Suami 3
8.         Kemudian suami 2 dan 3 menyebrang ke desa B
9.         Suami 3 tinggal didesa B
10.     Suami 2 kembali kedesa A untuk menjemput istri 2
11.     Kemudian pasangan suami istri 2 menyebrang ke desa B
12.     Pasangan Suami istri 2 telah berada didesa B
13.     Suami 3 yang berada didesa B tadi kembali ke desa A untuk menjemput Istri 3
14.     Kemudian pasangan suami istri 3 menyeberang ke desa B
15.     Pasangan Suami istri 3 telah berada didesa B

algoritma shorting

Soal
Carilah bentuk algoritma sorting, jelaskan cara kerja nya, masing – masing 3 alogaritma.

Jawab 

Definisi Sorting

Sorting didefinisikan sebagai pengurutan sejumlah data berdasarkan nilai kunci tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya (descending).Algoritma Sorting termasuk salah satu contoh yang kaya akan solusi. Dalam makalah ini, hanya akandibahas lima algoritma sorting yang populer dipakai didunia informatika. Tiga algoritma tersebut adalah:

1. Bubble Sort
2. Selection Sort
3. Insertion Sort


1. Bubble Sort

Bubble Sort merupakan cara pengurutan yang sederhana. Konsep dari ide dasarnya adalah seperti“gelembung air” untuk elemen struktur data yang semestinya berada pada posisi awal. Cara kerjanya adalah dengan berulang-ulang melakukan traversal(proses looping) terhadap elemen-elemen struktur data yang belum diurutkan. Di dalam traversal tersebut,nilai dari dua elemen struktur data dibandingkan. Jika ternyata urutannya tidak sesuai dengan “pesanan”,maka dilakukan pertukaran (swap). Algoritma sorting ini disebut juga dengan comparison sort dikarenakan hanya mengandalkan perbandingan nilai elemen untuk mengoperasikan elemennya.

Algoritma Bubble Sort

Algoritma bubble sort dapat diringkas sebagaiberikut, jika N adalah panjang elemen struktur data, dengan elemen-elemennya adalah T1, T2, T3, …, TN-1,TN, maka:
a.Lakukan traversal untuk membandingkan dua elemen berdekatan. Traversal ini
 dilakukan dari belakang.
b.Jika elemen pada TN-1 > TN , maka lakukan pertukaran (swap). Jika tidak, lanjutkan ke proses           traversal berikutnya sampai bertemu
dengan bagian struktur data yang telah diurutkan.
c.Ulangi langkah di atas untuk struktur data yang tersisa.

2. Selection Sort

Algoritma sorting sederhana yang lain adalah Selection Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending(menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya,kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, untuk sorting descending (menurun), elemen yang paling. besar yang disimpan indeksnya kemudian ditukar.

Algoritma Selection Sort

Algoritma selection sort dapat dirangkum sebagaiberikut:
a.Temukan nilai yang paling minimum (atau sesuai keinginan) di dalam struktur data. Jika ascending, maka yang harus ditemukan adalah nilai yang paling minimum. Jika descending, maka temukan nilai yang paling maksimum
b.Tukar nilai tersebut dengan nilai pada posisipertama di bagian struktur data yang belum diurutkan.
c.Ulangi langkah di atas untuk bagian struktur datayang tersisa.

3. Insertion Sort

Cara kerja insertion sort sebagaimana namanya.Pertama-tama, dilakukan iterasi, dimana di setiap iterasi insertion sort memindahkan nilai elemen,kemudian menyisipkannya berulang-ulang sampai ketempat yang tepat. Begitu seterusnya dilakukan. Dari proses iterasi, seperti biasa, terbentuklah bagian yang telah di-sorting dan bagian yang belum

Algoritma Insertion Sort

Algoritma Insertion Sort dapat dirangkum sebagai berikut:
a.Simpan nilai Ti kedalam variabel sementara, dengan i = 1.
b.Bandingkan nilainya dengan elemen sebelumnya.
c.Jika elemen sebelumnya (Ti-1) lebih besar nilainya daripada Ti, maka tindih nilai Ti dengan nilai Ti-1 tersebut. Decrement i (kurangi nilainya dengan 1
d.Lakukan terus poin ke-tiga, sampai Ti-1 ≤ Ti.
e.Jika Ti-1 ≤ Ti terpenuhi, tindih nilai di Ti dengan variabel sementara yang disimpan sebelumnya.
f.Ulangi langkah dari poin 1 di atas dengan i di-increment (ditambah satu).

algoritma mengisi voucvher

.      Algoritma untuk mengisi voucher telepon genggam (HP)
Jawab :
1. Sediakan hp dan voucher
2.Bukalah plastik pembungkus voucher
3.Gosok bagian berhologram untuk melihat kode voucher
4.  Masukkan kode voucher dengan cara :
4.1  Hubungi 888 dan ikuti petunjuk selanjutnya atau,
      4.2  Tekan *133*kode voucher#lalu tekan YES/OK 
5. Pulsa Kartu As Anda akan terisi secara otomatis
6. Tekan *888# untuk mengetahui sisa pulsa

algoritma membuat pakaian

1.      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)

pascal kelipatan 3

       Menampilkan bilangan kelipatan 3 dari angka 1 s/d 20
Jawab:
-                    1. Beri nilai awal  A=3
-                    2. Untuk I = 1 sampai 20, lakukan
2.1   Cetak Nilai A
2.2  Hitung : A = A + 3

uses crt;
var I,A: integer;
begin
  clrscr;
  A:=3;
  for I:=1 to 6 do
  begin
  writeln(A);
  A:=A+3
  end;
  Readln;
end.

pemograman pascal bilangan ganjil 1-100

Menampilkan bilangan ganjil dari angka 1 s/d 100 
    1. Beri Nilai A = 2.
    2. Untuk  I = 1 sampai 100 lakuka 
        2.1  Cetak Nilai A
        2.2 Jika A mod 2 = 1 , maka nilai A = bilangan ganjil
uses crt;
var I,A: integer;
begin
 A:=1;
 clrscr;
     for I:= 1 to 100 do
     begin
     if I mod 2= 1 then
     write(I:5);
   end;
     Readln;
 end.

bilangan genap 1-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;

program bilangan prima 1-20

Bilangan prima dari angka 1 s/d 20 = 2,3,5,7,11,13,17,19
Bilangan prima adalah bilangan yang bisa dibagi dengan bilangan 1 dan bilangan itu sendiri.
2: 2 mod 1=0, 2 mod 2=0
3: 3 mod 1=0, 3 mod 2=0, 3 mod 3=0
4: 4 mod 1=0, 4 mod 2=0, 4 mod 3=1, 4 mod 4=0
5: 5 mod 1=0, 5 mod 2=1, 5 mod 3=2, 5 mod 4=1, 5 mod 5=0
programnya :
uses crt;
var nilai , pembagi, jumlah0: byte;
begin
  clrscr;
  for nilai := 2 to 20 do
  begin
  jumlah0:=0 ;
  for pembagi :=1 to nilai do
  begin
  if nilai mod pembagi =0 then
  jumlah0:=jumlah0+1;
  end;
  if jumlah0= 2 then
  write(nilai:4);
  end;
  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.

mencari bilangan ganjil-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.    

pascal 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 input data mahasiswa

  Buat program sederhana menggunakan metode pemilihan untuk menampilkan keterangan umur di mana:
Umur
Keterangan
0-5
Balita
6-13
Anak-Anak
14-25
Remaja
26-40
Dewasa
Ø  41
Orang Tua


Dengan memasukan nama, nim, program studi, tahun lahir. Maka akan ditampilkan umur dan keterangan umur



Layoutnya :
Nama                           : Andi
Nim                             : 21015199     
Program Studi : Sistem Informasi
Tahun Lahir                 : 1981

Umur                           : 29
Keterangan                  : Dewasa

jawab :
  uses crt;
  var nama, nim,programstudi,ket: string ;
      tahunlahir, umur : integer;
  begin
  clrscr;
   write('Nama         : '); readln(nama);
   write('NIM          : '); readln(nim);
   write('Program Studi: '); readln(programstudi);
   write('Tahun Lahir  : '); readln(tahunlahir);
   umur:= 2010-tahunlahir;
      writeln;
   writeln('Umur: ', umur);
   if umur <=5 then ket:='balita'
   else if umur <=13 then ket:='anak-anak'
   else if umur <=25 then ket:='remaja'
   else if umur <=40 then ket:='dewasa'
   else ket:='orang tua';
   writeln('Keterangan: ',ket);
   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.