Rabu, 10 November 2010

1. ALGORITMA DENGAN MENAMPILKAN 3 PASANGAN SUAMI ISTRI.

Masing –masing pasangan di simbolkan 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 I3 menyeberang 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}
 S2 dan S3 menyeberang ke desa B {di desa A: I2, I3 & di desa B: S1, I1, S2, I3}
 I1 kembali ke desa A {di desa A: I1, I2, I3 & di desa B: S1, S2, S3}
 I1 dan I2 menyeberang ke desa B: S1, I1, S2, I2, S3}
 I2 kembali ke desa A {di desa A:I2, I3 & di desa B: S1, I1, S2, S3}
 I2 dan I3 menyeberang ke desa B {di desa A: habis & di desa B: S1, I1, S2, I2, S3, I3}

2. ALGORITMA UNTUK MENGISI VOUCHER TELEPON GENGGAM (HP).

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

3. ALGORITMA UNTUK MEMBUAT SEBUAH PAKAIAN JADI (BAJU ATAU CELANA) DARI BAHAN MENTAH (KAIN) YANG DI SEDIAKAN.

Jawab:
1. Siapkan alat dan bahan sebagai berikut :
Kertas roti atau kertas dorslah
Pensil merah, biru
Pensil biasa
Pena
Penggaris
Jarum pentul
2. Buatlah pola sesuai model pakaian (baju atau celana) yang diinginkan.
3. Meletakkan pola diatas bahan (merancang bahan).
4. Menggunting bahan mengikuti garis pola.
5. Memberi tanda jahitan.
6. Menjahit celana.

4. UNTUK MENAMPILKAN BILANGAN KELIPATAN 3 DARI ANGKA 1 SAMPAI DENGAN ANGKA 20

Algoritmanya:
Bilangan kelipatan 3 : 3,6,9,12,15,18,21,24 ... dst
Nilai diatas jika dimod3 hasilnya 0
3mod3 = 0 6mod3 = 0 9mod3 = 0
12mod3 = 0 15mod3 = 0
Untuk nilai i = 1 sampai 20 lakukan
Jika nilai i mod 3 = 0 maka
cetak i
Untuk program dalam bahasa pascal adalah:

uses crt;
var i : integer;
begin
clrscr;
for i : = 1 to 20 do
begin
if i mod 3 = 0 then
write(i:5);
end;
readln;
end.

5. UNTUK MENAMPILKAN BILANGAN GANJIL DARI ANGKA 1 SAMPAI DENGAN ANGKA 100.

algoritmanya adalah sebagai berikut :
Bilangan ganjil dari 1 sampai 100 = 1,3,5,7,9,…………,99
Catatan : bilangan apa saja yag dimod2=1 adalah bilangan ganjil
Untuk nilai I = 1 to 100 lakukan
Jika nilai Imod2 = 1 maka
Cetak nilai


Untuk programnya dalam bahasa pascal adalah :

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

6. UNTUK MENAMPILKAN BILANGAN GENAP YANG DIMULAI DARI ANGKA 1 SAMPAI DENGAN ANGKA 50.

algoritmanya adalah sebagai berikut :
Bilangan genap dari 1 sampai 50 = 2,4,6,8,10,12,14,16,18, …… 50
Catatan : bilangan apa saja yag dimod2=0 adalah bilangan genap
Untuk nilai I = 1 to 50 lakukan
Jika nilai Imod2 = 0 maka
Cetak nilai
Untuk program dalam bahasa pascal adalah :
uses crt;
var I : integer;
begin
clrscr;
for I:= 1 to 50 do
begin
if I mod 2= 0 then
write(I:5);
end;
Readln;
end.

7. PROGRAM UNTUK MENAMPILKAN BILANGAN PRIMA YANG DIMULAI DARI ANGKA 1 SAMPAI DENGAN ANGKA 20.

algoritmanya adalah :
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
Program dalam bahasa pascal adalah sebagai berikut :

Uses crt;
Var i, pembagi, jumlah0 : integer;
Begin
clrscr;
for i:=2 to 20 do
Begin
jumlah0:=0;
for pembagi :=1 to i do
begin
if i mod pembagi=0 then
jumlah0:=jumlah0+1;
end;
if jumlah0=2 then
write(i:5);
end;
readln;
End.

8. UNTUK MENAMPILKAN BILANGAN KELIPATAN 3 DAN KELIPATAN 5 DARI ANGKA 1 SAMPAI DENGAN 30.

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

9. MASUKAN SEBUAH BILANGAN KEMUDIAN TENTUKAN APAKAH BILANGAN YANG DI INPUT TERMASUK BILANGAN GANJIL, BILANGAN GENAP.

JAWAB:
uses crt;
var bil:integer;
begin
clrscr;
write('masukan sebuah bilangan:');
readln(bil);
if bil=0 then
writeln('anka yang anda masukan nol!')
else
if bil mod 2=0 then
writeln('bilangan yang anda masukan genap')
else
writeln('bilangan yang anda masukan ganjil');
readln;
end.

10. MASUKAN BILANGAN 1 SETELAH ITU MASUKAN BILANGAN 2, KEMUDIAN LAKUKAN PROSES PENJUMLAHAN, PERKALIAN, PENGURANGAN, DAN PEMBAGIAN.

JAWAB:
uses crt;
var b1, b2: longint;
begin
clrscr;
write('Bilangan 1: '); read(b1);
write('Bilangan 2: ');readln(b2);
writeln('Hasil penjumlahan: ', b1+b2);
writeln('Hasil pengurangan: ', b1-b2);
writeln('Hasil perkalian : ', b1*b2);
writeln('Hasil pembagian : ', b1/b2 :2:1);
readln;
end.

11. PROGRAM MENCARI LUAS LINGKARAN

uses crt;
var L,r: real;
begin
clrscr;
write('Jari-jari lingkaran: '); readln(r);
L:= pi * sqr(r);
writeln('Luas lingkaran adalah', L:0:0);
readln;
end.

12. ALGORITMA DAN PROGRAM UNTUK MENGHITUNG LUAS YANG DI ARSIR PADA PERSEGI PANJANG.

Algoritmanya:
1. Tentukan panjang total persegi panjang(PL) dan lebar total(LL)
2. Menghitung luas total, LTotal= pL x lL
3. Menghitung luas tengah, LTengah= pT x lT
4. Didapat luas yang diarsir, LArsir= LTotal-LTengah

Programnya:
uses crt;
var pl,ll,pt,lt,luas_tgh,luas_ttl:integer;
begin;
clrscr;
write('masukan panjang total persegi panjang:');
readln(pl);
write('masukan lebar total persegi panjang:');
readln(ll);
write('masukan panjang tengah persegi panjang:');
readln(pt);
write('masukan lebar tengah persegi panjang:');
readln(lt);
luas_tgh:=pt*lt;
luas_ttl:=pl*ll;
writeln;
writeln('luas total:',luas_ttl);
writeln('luas tengah:',luas_tgh);
writeln('__________________-');
writeln('luas yang di arsir:',luas_ttl-luas_tgh);
readln;
end.

13.METODE PERULANGAN PADA PASCAL A. 1 2 3 4 B. 2 2 2 C. 3 2 1 1 2 3 4 1 1 1 3 2 1 1 2 3 4 0 0 0 3 2 1 D.1 E.4 3 2 1 F. 1 1 2 4 3 2 1 5 1 2 3 4 3 7 9 11 1 2 3 4 4 13 15 17 19

JAWAB:
A.uses crt;
var b,a,i:integer;
begin
clrscr;
for a:= 1 to 4 do
begin
for b:= 1 to 4 do
begin
write(b:3);
end;
writeln;
end;
readln;
end.

B.uses crt;
var a,b,i:integer;
begin;
clrscr;
i:=2;
for a:= 2 downto 0 do
begin
for b:= 2 downto 0 do
begin
write(a:2);
end;
writeln;
end;
readln;
end.

C. uses crt;
ar a,b:integer;
begin;
clrscr;
for a:= 3 downto 1 do
begin
for b:=3 downto 1 do
begin
write(b:2);
end;
writeln;
end;
readln;
end.

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

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


F. uses crt;
var i, a, b:integer;
begin
clrscr;
i:= 1;
for a:= 1 to 4 do
begin
for b:= 1 to a do
begin
write(i:4);
i:= i+2;
end;
writeln;
end;
readln;
end.

14. PROGRAM PENGURUTAN ANGKA DENGAN PASCAL

program sort;
var
angka: array[1..5] of integer;
i,a, temp: integer;
begin
{Mengisi array}
angka[1] := 3;
angka[2] := 5;
angka[3] := 4;
angka[4] := 2;
angka[5] := 1;

{Tampilkan data sebelum diurutkan}
writeln('Sebelum diurutkan : ');
for i:=1 to 5 do
begin
writeln('angka ke-', i, ' : ', angka[i]);
end;

{Lakukan pengurutan/sorting}
for i:=1 to 4 do
begin
for a:=i+1 to 5 do
begin
if(angka[a] < angka[i]) then
begin
temp := angka[a];
angka[a] := angka[i];
angka[i] := temp;
end;
end;
end;

{Tampilkan data setelah diurutkan}
writeln('Setelah diurutkan : ');
for i:=1 to 5 do
begin
writeln('angka ke-', i, ' : ', angka[i]);
end;
end.

15. BUAT PROGRAM SEDERHANA MENGGUNAKAN METODE PEMILIHAN UNTUK MENAMPILKAN UMUR DIMANA DENGAN MEMASUKAN NAMA, NIM, PROGRAM STUDI, TAHUN LAHIR. MAKA AKAN DI TAMPILKAN UMUR DAN KETERANGAN UMUR.

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.