1) Menyebrangkan suami istri yang suaminya pencemburu.
1. Suami 1 & istri 1 menyebrang,
2. Istri 1 balik lagi menjemput istri 2, kemudian menyebrang,
3. Istri 2 balik lagi jemput suami 2, kemudian menyebrang,
4. Istri 2 balik lagi jemput istri 3, kemudian menyebrang,
5. Istri 3 balik lagi jemput suami 3, kemudian menyebrang
Seperti pada soal mengatakan para suami tidak mau meninggalkan istri masing-masing.
Jadi para suami tidak meninggalkan istri msing-masing, namun para istri yang meninggalkan suami maing-masing.
Jadi para suami tidak meninggalkan istri msing-masing, namun para istri yang meninggalkan suami maing-masing.
2) Cara mengisi voucher pada ponsel.
Menggesek
voucher, kemudian melakukan panggilan ke 888 ( jika kartu anda provider
Telkomsel ).Memasukkan kode voucher yang tertera pada voucher yang
anda gesek tadi padalangkah pertama. Jika telah selesai, matikan
panggilan. Kemudian cek pulsa anda dengan menekan *888# dan OK.
Disituakan tertera nominal pulsa.
3) Cara membuat pakaian.
Memilih
bahan kain yang akan di jahit, mengukur sesuai ukuran yang di inginkan,
membuat pola pada kain dengan pensil khusus, menggunting kain memakai
gunting tajam, mengobras pinggiran kain dan kemudian pakaian di jahit
sesuai pola yang telah di buat tadi.
4) Menampilkan bilangan kelipatan tiga dari angka 1 s/d 20
Penyelesaian Logika:
1. Beri nilai awal A = 3
2. Untuk nilai B = 1 sampai 6
2.1 Cetak A
2.2 Hitung A = A + 3
· Program Pascalnya :
USES CRT;
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 3 ;
FOR I := 1 TO 6 DO
BEGIN
WRITELN (A);
A : = A + 3;
END;
READLN ;
END.
Penyelesaian Logika:
1. Beri nilai awal A = 3
2. Untuk nilai B = 1 sampai 6
2.1 Cetak A
2.2 Hitung A = A + 3
· Program Pascalnya :
USES CRT;
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 3 ;
FOR I := 1 TO 6 DO
BEGIN
WRITELN (A);
A : = A + 3;
END;
READLN ;
END.
5) Algoritmanya untuk menampilkan bilangan ganjil dari 1 s/d 100:
Penyelesaian:
1. Beri nilai awal A = 1
2. Untuk nilai B = 1 sampai 50
2.1 Cetak A
2.2 Hitung A = A + 2
· Program Pascalnya :
Penyelesaian:
1. Beri nilai awal A = 1
2. Untuk nilai B = 1 sampai 50
2.1 Cetak A
2.2 Hitung A = A + 2
· Program Pascalnya :
USES CRT;
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 1 ;
FOR I := 1 TO 50 DO
BEGIN
WRITELN (A);
A : = A + 2;
END;
READLN ;
END.
· CARA LAIN MENGGUNAKAN MOD :
USES CRT;
VAR A : BYTE ;
BEGIN
CLRSCR;
FOR A:= 1 TO 100 DO
BEGIN
IF A MOD 2 = 1 THEN
WRITE (A:4);
END;
READLN;
END.
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 1 ;
FOR I := 1 TO 50 DO
BEGIN
WRITELN (A);
A : = A + 2;
END;
READLN ;
END.
· CARA LAIN MENGGUNAKAN MOD :
USES CRT;
VAR A : BYTE ;
BEGIN
CLRSCR;
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:
Penyelesaiannya:
Penyelesaiannya:
1. Beri nilai awal A = 2
2. Untuk nilai B = 1 sampai 25
2.1 Cetak A
2.2 Hitung A = A + 2
2. Untuk nilai B = 1 sampai 25
2.1 Cetak A
2.2 Hitung A = A + 2
· Program Pascal :
USES CRT;
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 2 ;
FOR I := 1 TO 25 DO
BEGIN
WRITELN (A);
A : = A + 2;
END;
READLN ;
END.
· CARA LAIN MENGGUNAKAN MOD :
USES CRT;
VAR A : BYTE;
BEGIN
CLRSCR;
FOR A:=1 TO 50 DO
BEGIN
IF A MOD 2=0 THEN
WRITE (A:4);
END;
USES CRT;
VAR A, I : INTEGER ;
BEGIN
CLRSCR;
A:= 2 ;
FOR I := 1 TO 25 DO
BEGIN
WRITELN (A);
A : = A + 2;
END;
READLN ;
END.
· CARA LAIN MENGGUNAKAN MOD :
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.
END.
7) Algoritma untuk menampilkan bilangan prima dari 1 s/d 20
Penyelesaiannya:
Ø Bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
Ø Sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 (kecuali 2) sampai bilangan sebelum bilangan itu (x-1).
Ø Mencetak 2 terlebih dahulu ke layar.
Ø Mengeset status bilangan prima menjadi true.
Ø Beri nilai =1 (menandakan bilangan prima).
Ø Melakukan 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.
Ø Tambahkan nilai x dengan 1 dan ulangi dari langkah ke-5 sampai nilai x= 20.
Penyelesaiannya:
Ø Bilangan prima hanya akan habis bila dibagi 1 dan bilangan itu sendiri.
Ø Sehingga pasti akan ada sisa hasil bagi (mod) jika dibagi bilangan lebih dari 1 (kecuali 2) sampai bilangan sebelum bilangan itu (x-1).
Ø Mencetak 2 terlebih dahulu ke layar.
Ø Mengeset status bilangan prima menjadi true.
Ø Beri nilai =1 (menandakan bilangan prima).
Ø Melakukan 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.
Ø Tambahkan nilai x dengan 1 dan ulangi dari langkah ke-5 sampai nilai x= 20.
Program pascal:
USES CRT;
VAR X, Y: BYTE; PRIMA: BOOLEAN;
BEGIN
CLRSCR;
WRITE('2':4);
FOR X:= 1 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;
USES CRT;
VAR X, Y: BYTE; PRIMA: BOOLEAN;
BEGIN
CLRSCR;
WRITE('2':4);
FOR X:= 1 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.
END.
8) Algoritma untuk menampilkan bilangan kelipatan 3 dan kelipatan 5 secara bersamaan dari angka 1 s/d 30:
Penyelesaiannya:
Penyelesaiannya:
· Untuk i:= 1 sampai 30 lakukan:
6 o jika i mod 3= 0 maka cetak i
o selain itu jika i mod 5= 0 maka cetak i.
6 o jika i mod 3= 0 maka cetak i
o selain itu jika i mod 5= 0 maka cetak i.
Program pascal:
USES CRT;
VAR I: BYTE;
BEGIN
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.
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
Penyelesaiannya:
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.
bilangan ganjil atau bilangan genap. Gunakan metode pemilihan.
Layout:
Masukkan sebuah bilangan: 3 --> ENTER
Bilangan yang anda input adalah bilangan ganjil
Penyelesaiannya:
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) 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
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
Hasil pengurangan = 3
Hasil perkalian = 18
Hasil pembagial = 2
Penyelesaiannya:
USES CRT;
VAR LAGI: CHAR; X: LONGINT; KET: STRING;
BEGIN
CLRSCR;
LAGI:='Y';
WHILE LAGI='Y' DO
BEGIN
CLRSCR;
WRITE('MASUKKAN SEBUAH BILANGAN : ');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.
11) Masukkan nilai jari-jari sebuah lingkaran. Kemudian program akan menampilkan
hasil perhiutungan luas lingkaran.
Layout:
Jari-jari lingkaran: 7
Luas lingkaran adalah: 154
Penyelesaiannya:
hasil perhiutungan luas lingkaran.
Layout:
Jari-jari lingkaran: 7
Luas lingkaran adalah: 154
Penyelesaiannya:
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) Buat algoritma dan program untuk menghitung luas yang diarsir pada gambar berikut.
Penyelesaian
Penyelesaian
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 pascalnya:
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.
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) Buat tampilan program di bawah ini dengan menggunakan metode perulangan:
Ø 1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
Penyelesaian:
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;
END;
READLN;
END.
Ø 1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
Penyelesaian:
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;
END;
READLN;
END.
Ø 2 2 2
1 1 1
0 0 0
Penyelesaian:
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;
END;
READLN;
END.
Ø 3 2 1
3 2 1
3 2 1
Penyelesaian:
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.
1 1 1
0 0 0
Penyelesaian:
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;
END;
READLN;
END.
Ø 3 2 1
3 2 1
3 2 1
Penyelesaian:
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.
Ø 1
1 2
1 2 3
1 2 3 4
Penyelesaian
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(J:4);
A:=A+1
END;
WRITELN;
END;
READLN;
END.
Ø 4 3 2 1
4 3 2
4 3
4
Penyelesaian
4 3 2
4 3
4
Penyelesaian
USES CRT;
VAR A, I, J: BYTE;
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.
VAR A, I, J: BYTE;
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.
Ø 1
3 5
7 9 11
13 15 19
3 5
7 9 11
13 15 19
Penyelesaian:
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;
END;
READLN;
END.
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;
END;
READLN;
END.
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
Penyelesaian
Aksi akan dikerjakan jika kondisi benar.
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
Penyelesaian
Aksi akan dikerjakan jika kondisi benar.
Program Pascalnya:
USES CRT;
VAR NILAI : ARRAY[1..5] OF INTEGER;
I ,TEMP,J : INTEGER;
BEGIN
CLRSCR;
FOR i:=1 TO 5 DO
BEGIN
WRITE('MASUKAN NILAI ',I,':');READLN(NILAI[I]);
END;
FOR i:=1 TO 5 DO
BEGIN
FOR J:=1 TO 5 DO
BEGIN
IF NILAI[I] < NILAI[J] THEN
BEGIN
TEMP:=NILAI[J];
NILAI[J]:=NILAI[I];
NILAI[I]:=TEMP;
END;
END;
END;
WRITELN('HASIL URUTANNYA ADALAH:');
FOR I:=1 TO 5 DO
WRITE(NILAI[I]:5);
READLN;
END.
15) 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 memasukkan nama, nim, program studi, dan tahun lahir, maka
akan ditampilkan umur dan keterangan umur.
menampilkan keterangan umur di mana:
Umur Keterangan
0-5 Balita
6-13 Anak-anak
14-25 Remaja
26-40 Dewasa
> 41 Orang Tua
Dengan memasukkan nama, nim, program studi, dan tahun lahir, maka
akan ditampilkan umur dan keterangan umur.
Layoutnya:
Nama : Asraruddin
Nim : 21015135
Program studi : Sistem Informasi
Tahun lahir : 1987
Umur : 23
Keterangan : Remaja
Penyelesaiannya:
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;
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.
Nama : Asraruddin
Nim : 21015135
Program studi : Sistem Informasi
Tahun lahir : 1987
Umur : 23
Keterangan : Remaja
Penyelesaiannya:
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;
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.
Tidak ada komentar:
Posting Komentar