BINA SARANA INFORMATIKA

Dosen Pembimbing Bpk. Sidik, S.Kom

Kamis, 04 November 2010

STRUKTUR LOOPING

Nama : Safira Riztiana
Nim  : 11102405

LOOPING

Struktur kontrol pengulangan adalah statement dari Java dimana kita bisa mengeksekusi blok code berulang-ulang dalam kurun nilai tertentu. Ada tiga macam jenis struktur kontrol pengulangan yaitu while, do-while, dan for-loops.

While
Perintah while adalah pengulangan yang dilakukan oleh program selama (while) dalam keadaan tertentu. Misalnya saja, ada sebuah kondisi yang mengharuskan program agar melakukan "pekerjaan" tertentu selama keadaan itu terpenuhi (true).

Bentuk statement while,
while( boolean_expression ){
statement1;
statement2;
. . .
}
Statement di dalam while loop akan dieksekusi berulang-ulang selama boolean_expression bernilai true.
Contoh, pada code dibawah ini,
int i = 4;
while ( i > 0 ){
System.out.print(i);
i--;
}
Contoh diatas akan mencetak angka 4321 pada layar. Perlu dicatat jika bagian i--; dihilangkan, akan menghasilkan looping yang tidak berhenti.

Berikut ini adalah beberapa contoh while,
Contoh 1:
int x = 0;
while (x<10)
{
System.out.println(x);
x++;
}
Contoh 2:
//infinite loop
while(true)

System.out.println(“hello”);

Contoh 3:
//no loops
// statement is not even executed
while (false)
System.out.println(“hello”);


Do-while
Do-while loop mirip dengan while-loop. Statement di dalam do-while loop akan dieksekusi beberapa kali selama kondisi bernilai true.
Perbedaan antara while dan do-while loop adalah dimana statement di dalam do-while loop dieksekusi sedikitnya satu kali.

Bentuk statement do-while,
do{
statement1;
statement2;
. . .
}while( boolean_expression );

Statement di dalam do-while loop akan dieksekusi pertama kali, dan dilakukan pengecekan kondisi dari boolean_expression. Jika nilai tersebut belum mencapai nilai yang diinginkan, statement akan dieksekusi lagi.

Berikut ini beberapa contoh do-while loop:
Contoh 1:
int x = 0;
do
{
System.out.println(x);
x++;
}while (x<10);
Contoh ini akan memberikan output 0123456789 pada layar.
Contoh 2:
//infinite loop
do{
System.out.println(“hello”);
} while (true);
Contoh di atas akan melakukan pengulangan yang tidak berhenti untuk menulis “hello” pada layar.
Contoh 3:
//one loop

// statement is executed once
do
System.out.println(“hello”);
while (false);
Contoh di atas akan memberikan output hello pada layar.


For
Seperti pada struktur pengulangan sebelumnya yaitu melakukan pengulangan eksekusi code beberapa kali.
Ini adalah (mungkin) perulangan yang paling sering dipakai dalam C++. Sintaknya adalah sebagai berikut:
for (inisialisasi; kondisi; iterasi) {
    //yang ingin dilakukan...
}
Dalam for, anda bisa melakukan inisialisasi, yaitu mendeklarasikan variabel baru dan langsung memasukan nilai di dalamnya, kemudian memberi kondisi dimana perulangan itu akan terus dilakukan, dan pada akhirnya menentukan iterasi.  
Berikut ini adalah contoh dari for loop,
int i;
for( i = 0; i < 10; i++ ){
System.out.print(i);
}
Pada contoh ini, statement i=0 merupakan inisialisasi dari variabel. Selanjutnya, kondisi i<10 diperiksa. Jika kondisi bernilai true, statement di dalam for loop dieksekusi. Kemudian, statement i++ dieksekusi, dan dilakukan pengecekan kondisi. Kondisi ini akan dilakukan berulang-ulang sampai mencapai nilai yang salah (false).

PENGERTIAN DASAR LOGIKA DAN ALGORITMA

Nama : Dayinta Adikaraputri Kwertayasa
Nim  : 11102181

Logika & Algoritma


PENGERTIAN DASAR
Logika dan Algoritma diperkenalkan Oleh Ahli Matematika : Abu Ja’far
Muhammad Ibnu Musa Al Khawarizmi.
Logika berasal dari kata Yunani kuno λόγος (logos) yang berarti hasil
pertimbangan akal pikiran yang diutarakan lewat kata dan dinyatakan
dalam bahasa.

Definisi Algoritma
1.      Langkah- langkah yg dilakukan agar solusi masalah dapat diperoleh.
2.      Suatu prosedur yg merupakan urutan langkah-langkah yg berintegrasi.
3.     Suatu metode khusus yg digunakan untuk menyelesaikan suatu masalah yg nyata.(Webster Dictionary)


Kriteria Pemilihan Algoritma
·         Ada Output, mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan
·         Efektifitas dan Efesiensi, Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
·         Jumlah Langkahnya Berhingga, maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.

Contoh:
1.      Sebuah prosedur ketika akan mengirimkan surat kepada teman:
•Tulis surat pada secarik kertas surat
•Ambil sampul surat atau amplop
•Masukkan surat ke dalam amplop
•Tutup amplop surat dengan lem perekat
•Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
•Tempelkan perangko pada amplop surat
•Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

2.      Sebuah prosedur untuk masalah menentukan akar kuadrat  dari suatu bilangan Bulat Positif yg di Input:
-          Baca bilangan Bulat Positif yg diinput, sebut saja sebagai A
-          Dinyatakan Nilai B adalah 0
-          Hitung Nilai C yg berisikan Nilai B dikalikan Nilai B
-          Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari
-          Nilai A, lalu stop.
-          Jika tidak, maka Nilai B akan bertambah 1
-          Kembali ke langkah pada No. 3

Tahapan Analisa Algoritma
-  Bagaimana merencanakan suatu algoritma.
Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.

-  Bagaimana menyatakan suatu algoritma
Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah.

-  Bagaimana validitas suatu algoritma.
Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat asalah baru.

-  Bagaimana Menganalisa suatu Algoritma.
Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.

-  Bagaimana Menguji Program dari suatu Algoritma
Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya.

Dalam proses, uji program oleh komputer akan melalui beberapa
tahap yaitu :
Tahap Proses uji Algoritma :
          Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika
maupun sintaksnya.
          Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam
menyelesaikan suatu algoritma.

Analisis Suatu Algoritma

(Untuk melihat faktor efesiensi & efektifitas dari algoritma tersebut), Dapat dilakukan terhadap suatu algoritma dengan melihat pada :
1.      Waktu Tempuh (Running Time) dr suatu Algortima.
Adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah. Hal2 yg dapat mempengaruhi daripada waktu tempuh adalah :
o   Banyaknya langkah.
o   Besar dan jenis input data.
o   Jenis Operasi.
o   Komputer dan kompilator

2.      Jumlah Memori Yang Digunakan.

Sifat - Sifat Algoritma
•Banyaknya Langkah Instruksi Harus Berhingga,
•Langkah atau Instruksi harus Jelas,
•Proses harus Jelas dan mempunyai batasan,
•Input dan Output harus mempunyai Batasan,
•Efektifitas,
•Adanya Batasan Ruang Lingkup

FLOWCHART

Nama : Ernawati
Nim  :
11102399
  
Flowchart

Untuk menggambarkan sebuah algoritma yang terstruktur dan mudah dipahami oleh orang lain (khususnya programmer yang bertugas mengimplementasikan program), maka dibutuhkan alat bantu yang berbentuk Diagram Alir (Flowchart). Diagram alir ini akan menunjukkan alur di dalam program secara logika. Diagram alir ini selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai dokumentasi. Dan sebelum lebih jauh memahami komponen-komponen diagram alir, maka perlu kiranya disampaikan aturan-aturan dalam perancangan diagram alir tersebut, yaitu :
1.    Diagram alir digambarkan dengan orientasi dari atas ke bawah dan dari kiri ke kanan;
2.    Setiap kegiatan/proses dalam diagram alir harus dinyatakan secara eksplisit;
3.    Setiap diagram alir harus dimulai dari satu Start State dan berakhir pada satu atau lebih Terminal Akhir/Terminator/Halt State;
4.    Gunakan Connector dan Off-Page Connector state dengan label yang sama untuk menunjukkan keterhubungan antar path algoritma yang terputus/terpotong, misalnya sebagai akibat pindah/ganti halaman.

Selain dengan Flowchart, untuk menuliskan sebuah algoritma dapat pula digunakan Pseudo-Code, yaitu suatu teknik penulisan algoritma dengan menggunakan sebanyak mungkin komponen-komponen dari salah satu bahasa tingkat tinggi (suatu bahasa pemrograman yang masih memerlukan unit kompilator untuk mengeksekusi program agar dapat berjalan). Dalam arti penulisan algoritma dengan Pseudo-Code ini hampir menyerupai sebuah program, tetapi tanpa menyertakan atribut-atribut program (seperti tipe data, dll), hanya menuliskan proses intinya saja.

Dasar Pemrograman Komputer
          Program komputer adalah kumpulan instruksi (statements) yang disusun secara logis untuk memecahkan suatu masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa pemrograman yang digunakan.
          Ada dua jenis utama dalam bahasa pemrograman, yaitu bahasa pemrograman berbasis bisnis dan berbasis matematis (science). Bahasa pemrograman yang berbasis bisnis biasanya merupakan program aplikasi siap pakai, seperti dBase, Visual Basic, FoxPro, FoxBase, Clipper, COBOL dan sejenisnya yang merupakan program aplikasi basis data. Ada juga Photoshop, Corel Draw, dan sejenisnya yang merupakan program aplikasi untuk pengolaman gambar (image processing) atau multimedia. Sedangkan yang berbasis science seperti Pascal, C, Fortran, Mathlab, dan sejenisnya.
Program yang baik memiliki kriteria, antara lain:
  1. menghasilkan keluaran (output) yang sesuai dan benar.
  2. memiliki kompleksitas algoritma yang minimal.
  3. memiliki kecocokan dengan peruntukan bahasa programnya.
  4. memiliki batas akhir penyelesaian.

STRUKTUR REKURSIF

Nama :Siti Khadijah
NIM  :11101868

Struktur Rekursif

Rekursif adalah suatu proses dari suatu subprogram yang dapat berupa fungsi atau prosedur yang memanggil dirinya sendiri.

Perulangan Rekursif dan Perulangan Iteratif.

Perulangan rekursif merupakan salah satu metode didalam pemrograman yang mana dalam sebuah fungsi terdapat intruksi yang memanggil fungsi itu sendri, atau lebih sering disebut memanggil dirinya sendiri.

Perulangan iteratif merupakan perulangan yang melakukan proses perulangan terhadap sekelompok intruksi. Perulangan dilakukan dalam batasan syarat tertentu. Ketika syarat tersebut tidak terpenuhi lagi maka perulangan aka terhenti.

Persamaan :
1.Iteratif dan rekursif merupakan metode atau teknik didalam perulangan(looping)
2.Sama-sama memiliki bagian yang berfungsi sebagai batas dalam sebuah perulangan

Perbedaan :
Iteratif dalam melakukan perulangan membutuhkan suatu instruksi program seperti for, repeat until dan while do, sedangkan rekursi tidak memakai instruksi program seperti itu. Cukup dengan fungsi tersebut.

Procedure Rekursif;<--nama fungsi: rekursif.
Begin
Write(‘AMIK BSI ’);
Rekursif;<--fungsi bernama rekursif ini dikatakan
Sebagai fungsi rekursi karena dia memanggil
Dirinya sendiri
End;
Begin
Rekursif;
End.

Pada contoh diatas: sebuah fungsi/prosedur adalah sebuah proses.
Contoh fungsi rekursif diatas adalah sebuah proses, dan didalam fungsi rekursif tersebut terdapat perintah/proses yang mengerjakan/memanggil proses rekursif (memanggil dirinya sendiri),sehingga fungsi/prosedur rekursif ini dinamakan fungsi rekursi.
Pada contoh diatas proses rekursi ini tidak memiliki batas berhenti.
Untuk mengetahui contoh fungsi rekursif ini silahkan melihat pada slide perkuliahan.