Selasa, 02 November 2010

TUGAS TEORI ALGORITMA DAN PEMOGRAMAN

Buatlah Algoritma kemudian terjemahkan ke dalam bahasa pemrograman pascal 

4. Menampilkan bilangan kelipatan tiga dari angka 1 s/d 20
5. Menampilkan bilangan ganjil dari angka 1 s/d 100
6. Menampilkan bilangan genap dari angka 1 s/d 50
7. Menampilkan bilangan prima dari angka 1 s/d 20
8. Menampilkan bilangan kelipatan 3 dan kelipatan 5 dari angka 1 s/d 30
9. Masukkan sebuah bilangan kemudian tentukan apakah bilangan yang diinput adalah
    bilangan ganjil atau bilangan genap. Gunakan metode pemilihan.
     Layout:
     Masukkan sebuah bilangan: 3 --> ENTER
     Bilangan yang anda input adalah bilangan ganjil
10. Masukkan bilangan 1, setelah itu bilangan 2, kemudian lakukan proses penjumlahan,
     perkalian, pengurangan, dan pembagian. Hasil dari keempat proses aritmatika tersebut
     ditampilkan.
      Layout:
      Bilangan 1:  6
      Bilangan 2:  3
      Hasil penjumlahan  = 9
      Hasil pengurangan = 3
      Hasil perkalian      = 18
      Hasil pembagial     = 2

11. Masukkan nilai jari-jari sebuah lingkaran. Kemudian program akan menampilkan
      hasil perhiutungan luas lingkaran.
       Layout:
       Jari-jari lingkaran: 7
       Luas lingkaran adalah: 154
 12. Buat algoritma dan program untuk menghitung luas yang diarsir pada gambar berikut.
13. Buat tampilan program di bawah 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

14.  Buat urutan angka dari terkecil sampai terbesar dari 5 (lima) nilai yang
       diinput. Gunakan metode urutan, pemilihan dan pengulangan.

       Layout:
       Angka 1         : 8
       Angka 2         : 17
       Angka 3         : 5
       Angka 4         : 7
       Angka 5         : 18
       Hasil urutan sebagai berikut:
       5          7          8          17        18

15. Buat program sederhana menggunakan metode pemilihan untuk
      menampilkan keterangan umur di mana:

Umur         Keterangan           
0-5Balita
6-13Anak-anak
14-25Remaja
26-40Dewasa
> 41Orang Tua

      Dengan memasukkan nama, nim, program studi, dan tahun lahir, maka
      akan ditampilkan umur dan keterangan umur.
      Layoutnya:
      Nama                 :NUR INTAN HASAN
      Nim                   : 210151202
      Program studi   : Sistem Informasi
      Tahun lahir       : 1992

      Umur                 :18
      Keterangan        : Remaja
 
 
Penyelesaian

4. Algoritma untuk menampilkan bilangan kelipatan 3 dari 1 s/d 20:
  1. menentukan nilai awal A:=3
  2. untuk i:=1 sampai 6 lakukan:
    • cetak A (nilai awal)
    • berikutnya cetak A:=A+3 lakukan sampai i ke 6, berhenti.
     program pascal:
uses crt;
var A, i: byte;
begin
    clrscr;
    A:=3;
    for i:=1 to 6 do
    begin
        write(A:4);
        A:=A+3;
    end;
    readln;
end.

5. Algoritmanya untuk menampilkan bilangan ganjil dari 1 s/d 100:
  • untuk a:=1 sampai 100 lakukan:
    • jika a mod 2=1 maka
    • cetak a
    program pascal:
uses crt;
var a: byte;
begin
    for a:= 1 to 100 do
    begin
        if a mod 2= 1 then
        write(a:4);
    end;
    readln
end.

6. Algoritma untuk menampilkan bilangan genap dari 1 s/d 50:
  • untuk a:=1 sampai 50 lakukan:
    • jika a mod 2= 0 maka
    • cetak a.
    program pascal:
uses crt;
var a: byte;
begin
    clrscr;
    for a:= 1 to 50 do
    begin
        if a mod 2= 0 then
        write(a:4);
    end;
    readln
end.

7. Algoritma untuk menampilkan bilangan prima dari 1 s/d 20:
  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 sampai bilangan sebelum bilangan itu (x-1).
  3. untuk nilai x= 2 sampai 20 lakukan:
    • mengeset status bilangan prima menjadi true.
    • pengecekan mulai dari 2 sampai x-1.
    • 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).
    • 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.
    • ulangi lagi dari point 4 hingga nilai x = 20.
     Program pascal:
uses crt;
var x, y: byte; prima: boolean;
begin
    clrscr;
    for x:= 2 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.

8. Algoritma untuk menampilkan bilangan kelipatan 3 dan kelipatan 5 secara
    bersamaan dari angka 1 s/d 30:
  • Untuk i:= 1 sampai 30 lakukan:
    • jika i mod 3= 0 atau i mod 5 =0
    • maka cetak i.
     Program pascal:
uses crt;
var i: byte;
begin
    for i:= 1 to 30 do
       if (i mod 3=0) or (i mod 5=0) 
        then write(i:4);
    readln
end.

9. Program pascal untuk menentukan bilangan bulat yang diinput adalah bilangan
    ganjil atau genap:
uses crt;
var lagi: char; x: longint; ket: string;
begin
   clrscr;
   lagi:='Y';
   while lagi='Y' do
   begin
   clrscr;
   write('Masukkan sebuah bilangan bulat: ');readln(x);
     if x mod 2= 0 then ket:='genap'
     else ket:='ganjil';
   writeln;
   writeln('Bilangan yang diinput adalah bilangan ',ket);
   write('Coba lagi (Y/N ): '); read(lagi);
   end; readln
end.


10. Program pascal untuk menghitung hasil proses aritmatika dari dua bilangan
      bulat yang diinput:
uses crt;
var  b1, b2: longint;
begin
    clrscr;
    write('Bilangan 1: '); read(b1);
    write('Bilangan 2: ');readln(b2);
    writeln(#10);
    writeln('Hasil penjumlahan= ', b1+b2);
    writeln('Hasil pengurangan= ', b1-b2);
    writeln('Hasil perkalian  = ', b1*b2);
    writeln('Hasil pembagian  = ', b1/b2 :0:0);
    readln;
end.

 11. Program pascal untuk menghitung luas lingkaran dengan menginput jari-jari
       lingkaran (r):
uses crt;
var L,r: real;
begin
    clrscr;
    write('Jari-jari lingkaran= '); readln(r);
    L:= pi * sqr(r);
    writeln('Luas lingkaran   = ', L:0:0);
    readln
end.

12. Algortma untuk menghitung luas daerah yang diarsir pada gambar:
  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, L_total, L_tengah: integer;
begin
    clrscr;
    pL:=18;  lL:=12;  pT:=10;  lT:=5;
    L_total:= pL*lL;
    L_tengah:= pL*lL;
    writeln('Luas total     = ', L_total);
    writeln('Luas tengah    = ', L_tengah);
    writeln('Luas yg diarsir= ', L_total-L_tengah);
    readln;
end.

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

     2) uses crt;
var A, i, j: byte;
begin
    clrscr;
    A:=2;
    for i:= 1 to 3 do
    begin
        for j:= 1 to 3 do
        write(A:4);
        A:=A-1; writeln(#10);
    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(#10);
    end;
    readln
end.

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

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

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

14. Program pengurutan data yang diinput secara acak.
      Menggunakan metode  selection sort
      Jika min menyatakan indeks elemen terkecil dari  elemen ke i
      sampai elemen ke n. Dimana n merupakan jumlah data yang akan
      diurutkan. Algoritma untuk mencari elemen terkecil adalah:

      for i:= 1 to n-1 do 
    {cari elemen terkecil}
   min:= i {min adlh index elemen terkecil}
   for j:= i+1 to n do
     if x[j] <= x[min] then
     min:= j eif
   efor
     {menukar elemen terkecil dengan
      elemen i}
       temp:= x[min]
       x[min]:= x[i]
       x[i]:= temp
   efor
       
       Program pascal:
uses crt;
var x: array[1..5] of integer;
    n,min,temp,i,j: integer;
begin
  clrscr;
  writeln('Program pengurutan bilangan');
  writeln('____________________________');
  writeln;
  for n:=1 to 5 do
   begin
    write('Input bilangan ',n,': ');readln(x[n]);
   end;
   n:=5;
   for i:=1 to n-1 do
    begin
      min:=i;
      for j:=i+1 to n do
       begin
         if x[j] <= x[min] then
         min:=j;
       end;
         temp:=x[min];
         x[min]:=x[i];
         x[i]:=temp;
    end;
   writeln(#10);
   writeln('Hasil pengurutan adalah:');
   writeln;
   for n:=1 to 5 do
   write(x[n]:4);
   readln
end.  


15. Program pascal untuk mengisi biodata mahasiswa serta menampilkan umur
      dan keterangan umur secara otomatis:
uses crt;
var lahir, umur: integer;
    ket: string;
begin
    write('NIM          : ');readln;
    write('Nama         : ');readln;
    write('Program Studi: ');readln;
    write('Tahun Lahir  : ');readln(lahir);
    writeln(#10);
    umur:=2010-lahir;
      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('Umur      : ', umur);
    writeln('Keterangan: ', ket);
    readln
end.

Minggu, 10 Oktober 2010

TUGAS 3

Soal no.1 
                Tentukan nilai A=3, seleksi A, jika A=bilangan genap maka cetak 'genap', sebaliknya cetak 'ganjil'

Penyelesaian:

1. A=3
         {bil genap = 2, 4, 6, 8, 10, 12, ...dst
          3 tidak termasuk bil genap.
          berarti 3 adalah bil ganjl}.

    A= 'bil ganjil'
     jika A = 'bil genap' maka cetak 'genap'
     sebaliknya cetak 'ganjil'
    Hasil : ganjil
    
struktur_prog_jwbn_no_1

output_jwbn_no_1




Soal no.2

               Tentukan nilai A=25, seleksi A, jika A=bilangan kelipatan 3, maka cetak 'benar', sebaliknya cetak 'salah'.

Penyelesaian:

2.  A= 25
           {bil kelipatan 3 = 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, ...dst
             25 tidak termasuk kelipatan 3. jika diuraikan:
             bil kelipatan 5 = 5, 10, 15, 25, 30, ...dst
             didapat 5 merupakan faktor terkecil dari 25
             jadi 25 adalah bil kelipatan 5}

       A = 'bil kelipatan 5'
       jika A = 'bil kelipatan 3' maka cetak 'benar'
       sebaliknya cetak 'salah'
       Hasil : salah
 

struktur_prog_jwbn_no_2
output_jwbn_no_2

TUGAS 1

 NUR INTAN HASAN
 21015202

 Tuliskan Algoritma Dalam Kegiatan Berikut Ini:

    * Langkah-langkah Membuat Pakaian
    * Langkah-langkah Mengisi Voucher Dalam Telp Genggam
    * Langkah-langkah Membuat Mie
    * Langkah-langkah Membuat Telur Dadar


Penyelesaian:


LANGKAH-LANGKAH MEMBUAT PAKAIAN

   1. Mmbeli bahan
   2. membuat pola
   3. Proses sablon
   4. Menjahit dan pemasangan label
   5. Packaging



LANGKAH-LANGKAH MENGISI VOUCHER PADA TELP GENGGAM

    * VOUCHER ELEKTRIK

   1. Ketik kode voucher
   2. Ketik nominal yang akan dikirim
   3. Ketik nomor tujuan
   4. Ketik kode pin
   5. Kirim

    * VOUCHER FISIK

   1. Beli kartu yang berisi kode voucher
   2. Gosok kartu untuk melihat kode voucher
   3. Ketik kode voucher pada Hp sesuai perintah yang ada pada kartu ( berbeda untuk tiap jenis kartu SIM)
   4. Tekan OK/YES
   5. Maka secara otomatis pulza akan terkirim pada Hp


LANGKAH-LANGKAH MEMBUAT MIE GORENG

   1. Beli mie
   2. Nyalakan kompor dan panaskan air di belanga
   3. Buka mie dalam kemasan, lalu masukkan kedalam air yang telah dipanaskan
   4. Sambil menunggu mie dimasak, siapkan bumbu
   5. Tunggu beberapa menit
   6. Setelah mie masak, lalu tiriskan.
   7. Setelah itu mie ditaruh pada bumbu yang telah disiapkan
   7. Mie siap dihidangkan

LANGKAH-LANGKAH MEMBUAT TELUR DADAR

   1. Beli telur
   2. Nyalakan kompor
   3. Panaskan minyak dalam belanga
   4.  Pecahkan telur kedalam minyak yang telah dipanaskan
   5. Sambil menuggu telur dimasak, siapkan piring
   6. Tunggu beberapa detik. lalu telur diangkat dari belanga. lalu tiriskan
   7. Letakkan telur kedalam piring yang telah disiapkan
   8. Telur siap dihidangkan

TUGAS  2

Soal
3 pasang suami istri pindah dari kampung A ke B. sedangkan perahu hanya muat 2 orang. kendalanya para suami cemburu kalau istrinya naik dengan suami lain.

Jawab
Pasangan pertama naik ke perahu menyebrang dari kampung A ke kampung B. Setelah sampai, suami dari pasangan pertama menurunkan istrinya. lalu suami dari pasangan pertama balik lagi menyebrang dari kampung B ke Kampung A menjemput suami dari pasangan ke dua. lalu mereka berdua menyebrang dari kampung A ke kampung B. setelah sampai, suami dari pasangan ke dua menurunkan suami dari pasangan pertama. lalu suami dari pasangan ke dua balik lagi dari kampung B ke kampung A menjemput istrinya. setelah itu mereka berdua menyebrang dari kampung A ke kampung B. setelah sampai, suami dari pasangan ke dua menurunkan istrinya. lalu suami dari pasangan ke dua balik lagi dari kampung B ke kampung A menjemput suami dari pasangan ke tiga. setelah itu mereka berdua menyebrang dari kampung A ke kampung B. setelah sampai, suami dari pasangan ke tiga meurunkan suami dari pasangan ke dua. lalu suami dari pasangan ke tiga menyebrang dari kampung B ke kampung A menjemput istrinya. setelah itu mereka berdua menyebrang dari kampung A ke kampung B. setelah sampai, mereka berdua turun.

Jadi kesimpulannya para suami tidak ada yang cemburu kalau istrinya naik dengan suami lain.