Selasa, 29 November 2011

LP Java 1 (Looping dalam Java)

Looping pada Java

1.       Statement perulangan dalam bahasa pemrograman Java:
Loop atau perulangan adalah suatu bentuk kegiatan mengulang suatu statement sampai batas yang diinginkan. Dalam pemograman Loop atau perulangan sangat berguna sekali. Kegunaan sederhana dalam perulangan terlukis seperti ini: Jika kita ingin menuliskan kata “saya ganteng” sebanyak seribu kali maka kita harus membuat seribu baris kata “saya ganteng” dalam kode pemrogaman kita. Tapi dengan adanya perulangan maka kita hanya cukup menuliskan 5 sampai 7 baris kode saja. Dalam praktek sebenarnya, tentu saja perulangan sangat membantu sekali. Misal untuk memuat seluruh isi table dari sebuah database dimana datanya ingin kita tampilkan.

2.       Bentuk umum dalam statement perulangan:
1              Statemen FOR
Pernyataan for dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan.
Bentuk umum :
for ( ungkapan_1; ungkapan_2; ungkapan_3)
pernyataan;

Keterangan :
            Ungkapan_1, merupakan inisialisasi variabel kendali kalang.
             Ungkapan_2, merupakan kondisi yang menentukan pengulangan atau merupakan tes kelanjutan kalang.
            Ungkapan_3, merupakan pengatur / pemodifikasi nilai variabel kendali kalang.
            Pernyataan, merupakan pernyataan yang akan di ulang.
2.            Statemen WHILE
Pernyataan while merupakan kalang kondisional yang dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan selama kondisi terpenuhi. Pengujian terhadap kondisi dilakukan di awal kalang.
Bentuk umum :
while (kondisi)
{
    pernyataan_1;
    pernyataan_2;
    ……………
  pernyataan_n;    }
3.            Statemen DO_WHILE
Pernyataan do_while merupakan kalang kondisional yang dipakai untuk mengulang pengeksekusian terhadap satu atau sejumlah pernyataan. Pengujian terhadap kondisi dilakukan di akhir kalang. Kalang ini melakukan iterasi/pengulangan setidaknya satu kali.
Bentuk umum :

do
{
pernyataan_1;
pernyataan_2;
……………
pernyataan_n;
} while (kondisi) ;

Keterangan :
            Kalang ini melakukan iterasi/pengulangan setidaknya satu kali.
Bagian pernyataan_1 hingga pernyataan_n dieksekusi setidaknya satu kali. Selanjutnya, akan dieksekusi jika selama kondisi terpenuhi.

3.       Program sederhana dalam statement perulangan:
Contoh 1:
class looping1{
                                public static void main(String args[]) {
                int x;
                                                for (x =1; x <=5; x++)  
                                                System.out.print ( x );   } }
Contoh 2:
class looping2{
                                public static void main(String args[]) {
int x;
                                                for (x =1; x <=5;    )  
                                                System.out.print( ++x );   }}
Contoh 3:
class looping3{
                                public static void main(String args[]) {
                                for (x = 1 ; x <= 3 ; ++x ) {
                                for (j = 1; j <= x;  j++ )
                                System.out.print ( j);
                                System.out.print(“\n”);          }
}}

LP SNN 2 (Bilangan Fibonacci)

Bilangan Fibonacci


1.       Apa yang kalian ketahui tentang bilangan Fibonacci?
2.       Perhitungan aritmatika bilangan Fibonacci?
Jawaban
1.      Dalam matematika, bilangan Fibonacci adalah barisan yang didefinisikan secara rekursif sebagai berikut:
  F(n)=
   \begin{cases}
    0, & \mbox{jika }n=0; \\
    1, & \mbox{jika }n=1; \\
    F(n-1)+F(n-2) & \mbox{jika tidak.}
   \end{cases}
Penjelasan: barisan ini berawal dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonacci yang pertama adalah:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946...
Barisan bilangan Fibonacci dapat dinyatakan sebagai berikut:
Fn = (x1n – x2n)/ sqrt(5)
dengan
  • Fn adalah bilangan Fibonacci ke-n
  • x1 dan x2 adalah penyelesaian persamaan x2-x-1=0
Perbandingan antara Fn+1 dengan Fn hampir selalu sama untuk sebarang nilai n dan mulai nilai n tertentu, perbandingan ini nilainya tetap. Perbandingan itu disebut Golden Ratio yang nilainya mendekati 1,618.
Asal mula
Berdasarkan buku The Art of Computer Programming karya Donald E. Knuth, barisan ini pertama kali dijelaskan oleh matematikawan India, Gopala dan Hemachandra pada tahun 1150, ketika menyelidiki berbagai kemungkinan untuk memasukkan barang-barang ke dalam kantong. Di dunia barat, barisan ini pertama kali dipelajari oleh Leonardo da Pisa, yang juga dikenal sebagai Fibonacci (sekitar 1200), ketika membahas pertumbuhan ideal dari populasi kelinci.
2.      Perhitungan aritmatika bilangan Fibonacci dalam segitiga pascal.

LP SNN 1 (Prolog)


Prolog

1.       Apa yang kalian ketahui tentang prolog?
2.       Sebutkan bentuk umum dan cara penulisan program pada prolog?
3.       Bualah contoh program sederhana dari prolog?
Jawaban
1.       Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer. Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi, Pascal, BASIC, COBOL dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika.
2.       Domain
Ada lima domain baku di dalam Prolog, yaitu:
1. char, karakter tunggal yang diapit oleh tanda kutip tunggal: ‘a’, ‘b’, ‘\13’.
2. integer, bilangan bulat antara –32768 hingga 32767. Notasi $ digunakan untuk
menunjukkan bilangan heksa.
3. real, bilangan nyata antara 1x10 –307 hingga 1 x 10 308.
4. string, deretan karakter yang diapit oleh tanda kutip dobel, misalnya “ipb”.
5. symbol, rangkaian karakter yang diawali dengan huruf kecil da tanpa tanda apa pun.

Disamping itu terdapat domain lainnya yang tidak baku, di antaranya adalah:
1. domain file, yang digunakan untuk memberi nama file secara simbolik seperti contoh
berikut:
file = ; ; …..
2. domain list, digunakan untuk menyatakan list (linked list) dimana elemen pertama
mempunyai pointer ke elemen kedua dan seterusnya. Deklarasi list ini dapat dituliskan dengan bentuk:
= *
list_simbol = symbol*
3. domain majemuk, untuk menyatakan data majemuk, seperti:
alamat(“Jl. Pajajaran”, “Bogor”)

Pada contoh ini, alamat adalah nama obyek dan disebut sebagai fungtor, dan bagian
yang ditulis dalam tanda kurung disebut argumen. Domain majemuk juga dapat
digunakan untuk menyatakan beebrapa kemungkinan nilai yang masing-masing
dipisahkan oleh tanda titik koma (;) seperti contoh berikut:
Tombol = up; down; left; right; karakter(char)
Predicates
Bagian ini untuk menuliskan setiap relasi predikat yang digunakan dalam program,
kecuali predikat baku seperti cursor, makewindow, readln, readchar, dan sejenisnya tidak
perlu didefinisikan. Lihat contoh-contoh program contoh pada bagian selanjutnya dari
bab ini.
Clauses
Sekumpulan klausa dari predikat yang sama harus dikelompokkan dalam bagian ini.
Dalam melakukan pemanggilan klausa, Prolog melacaknya berurutan dari atas ke bawah.
Bagian ini merupakan inti dari program Prolog, dimana semua fakta dan aturan
diimplementasikan di sini.
Goal
Merupakan tujuan dari progam prolog dan merupakan hasil dari output program yang telah dibuat.
3.       Program sederhana dari prolog.
Prolog Perulangan Segitiga Angka

loopa(A,B):-
(A>0,
loopb(B,1),nl,
C is A-1,
D is B+1,
loopa(C,D);
A=0,nl).

loopb(X,Z):-
( X>0,write(Z),
Y is X-1,
W is Z+1,
loopb(Y,W);
X=0,write('')).
menu :-
write('-------MENU-------'),nl,
write('1. Biodata'),nl,
write('2. Segitiga'),nl,
write('3. Keluar'),nl,
write('Masukkan pilihan : '), read(PIL), nl,

(PIL=1,nl,
write('------BIODATA------'),nl,
write('Nama saya : '),read(A),nl,
write('NPM saya : '),read(B),nl,
write('-------------------'),nl,
write('Nama saya : '),write(A),nl,
write('NPM saya : '),write(B),nl,

menu;
PIL=2,nl,
write('Nilai perulangan : '),read(A),loopa(A,1),

menu;
PIL=3,nl,
write('Makasih'),nl).