
Jumat, 23 November 2012
Looping (Perulangan)
sedikit belajar tentang Looping. silahkan dibaca :D
Looping adalah perulangan suatu blok kode program berdasar kondisi yang ditentukan sampai tercapai kondisi untuk menghentikannya (terminasi). Setiap perulangan memiliki empat bagian, yaitu inisialisasi, badan program, iterasi, dan terminasi. Inisialisasi adalah program yang menyiapkan keadaan awal perulangan. Badan program adalah pernyataan yang ingin kita ulangi.Iterasi adalah program yang kita jalankan setelah badan program, tetapi sebelum bagian tersebut dijalankan lagi. Terminasi adalah pernyataan Booleanyang diperiksa setiap kali selama perulangan untuk melihat apakah sudah waktunya menghentikan eksekusi. Pada Java dikenal tiga macam bentuk perulangan, yaitu : while, do-while, dan for.
1. Pengulangan Dengan for
Pengulangan dapat dilakukan dengan menggunakan pernyataan kemudian melakukan tes. Loop dengan for melakukan inisialisasi sebelum literasi/Loop pertama, kemudian melakukan tes kondisional dan pada akhir dari tiap literasi melakukan penambahan atau pengurangan pada variabel ( step ) yang digunakan sebagai basis pengkondisian untuk perulangan.
2. Pengulangan Dengan while
Selain for, kita juga dapat mengunakan while untuk melakukan perulangan. Perulangan akan terus berjalan selama ekspresi Boolean bernilai True atau False.
3. Pengulangan Dengan do-while
Do-while memiliki urutan yang terbalik dibandingkan dengan while dan memiliki perbedaan utama, yaitu : bahwa pada do-while pernyataan dijalankan terlebih dahulu minimal satu kali, sedangkan pada while memungkinkan pernyataan sama sekali tidak dijalankan apabila kondisi Boolean pada saat pertama kali sudah salah.
Penggunaan Break
Pada pengulangan, bisa menggunakan break untuk menghentikan pengulangan pada suatu kondisi tertentu. Fungsi break tersebut adalah untuk menghentikan eksekusi sebuah blok program misalnya untuk memaksa keluar dari sebuah Looping
Penggunaan Continue
Pada pengulangan bisa juga menggunakan continue dimana continue akan melanjutkan proses pengulangan berikutnya tanpa menjalankan statement sesudahnya.
Penggunaan Label
Penggunaan Break maupun continue dapat dikombinasikan dengan label yang fungsinya sama dengan goto pada pemrograman basic.
Penggunan Return
Return biasanya digunakan dalam method dengan menggunakan perintah return, alur eksekusi dikembalikan ke bagian dari program yang memanggil method tersebut.
Berkut ini adalah program untuk menampilkan angka 1 sampai 10 dengan menggunakan perulangan for, while, dan do-while
PERULANGAN FOR
Source Code :
public static void main(String[]args){
for(int i=1;i<=10;i++){
System.out.print(i+" ");
}
}
hasil :
PERULANGAN WHILE
Source Code :
public static void main(String[]args){
int i=1;
while(i<=10){
System.out.print(i+" ");
i++;
}
}
hasil :
PERULANGAN DO-WHILE
Source code :
public static void main(String[]args){
int i=1;
do{
System.out.print(i+" ");
i++;
}while(i<=10);
}
}
Hasil :
Berikut ini adalah program yang menghsilkan output seperti dibawah ini
*
* *
* * *
* * * *
* * * * *
* * * * * *
Source Code :
public static void main (String[]args){
for (int i=1;i<=6;i++){
for (int j=6;j>=i;j--){
System.out.print(" ");
}
for (int k=1;k<=i;k++ )
{
System.out.print("*");
}
for (int l=1;l

semoga membantuu !! :D

Kamis, 15 Maret 2012
Senin, 12 Maret 2012
Tugas Resume Towers of Hanoi
Towers of Hanoi ( menara Hanoi ) adalah permainan atau teka teki matematika yang diperkenalkan oleh matematikawan Prancis yaitu Edouard Lucas pada tahun 1883. teka teki tersebut tersebut terdiri dari tiga buah menara ( pasak ), dan sejumlah disk ( piringan ) dengan ukuran yang berbeda, dan piringan tersebut dapat dipindahkan pada tiap pasaknya. teka teki tersebut dimulai dengan tumpukan piringan yang tersusun rapi dari atas ke bawah mulai dari piringan terkecil hingga yang terbesar sehingga membentuk sebuah kerucut.
·Seorang biarawan memiliki 3 menara.
·Diharuskan memindahkan 64 piringan emas.
·Diameter piringan tersebut tersusun dari ukuran kecil ke besar.
•Kondisi:
§
Tujuan dari permainan ini adalah untuk memindahkan seluruh tumpukkan piringan dari pasak awal ke pasak yang lain dengan memenuhi aturan sebagai berikut :
- Hanya satu piringan yang dapat dipindahkan pada satu waktu
- Hanya piringan yang paling atas yang dapat dipindahkan pada satu waktu, dan
- Piringan yang kecil harus terletak pada posisi paling atas atau dengan kata lain, piringan yang besar tidak dapat ditempatkan diatas piringan yang kecil
Algoritma Towers of Hanoi
Dalam matematika, mencari solusi dari sebuah permasalahan dapat dicari dengan menyelesaikan masalah yang lebih umum. begitu juga dalam menyelesaikan masalah puzzle tower of Hanoi, akan dicari solusi dari sebuah permasalahan dengan menyelesaikan masalah dari yang lebih umum.
Sebelum menyelesaikan masalah yang umum, biasanya masalah diinisialisasi terlebih dahulu dengan menggunakan contoh yang sederhana, kemudian baru menginisialisasi masalahnya secara umum.
Untuk mencari solusi yang umum dari masalah ini tidaklah mudah, karena terdapat aturan yang membatasi masalah tersebut. jika tidak terdapat aturan, kita mungkin akan lebih mudah menyelesaikannya.
Legenda Menara Hanoi
(oleh Edouard Lucas abad 19)
(oleh Edouard Lucas abad 19)
·Biarawan berusaha memindahkan semua piringan dari menara pertama ke menara ketiga tetapi harus melalui menara kedua sebagai menara tampungan.
Piringan tersebut hanya bisa dipindahkan satu-satu. - Piringan yang besar tidak bisa diletakkan di atas piringan yang lebih kecil.
·Ternyata : mungkin akan memakan waktu sangat lama (sampai dunia kiamat).
·Secara teori, diperlukan 264-1 perpindahan. Jika kita salah memindahkan, maka jumlah perpindahan akan lebih banyak lagi.
•Jika satu perpindahan butuh 1 detik, maka total waktu yang dibutuhkan lebih dari 500 juta tahun !!.
•
•Algoritma:
•Jika n==1, pindahkan pringan dari A ke C
•Jika tidak:
•Pindahkan n-1 piringan dari A ke B menggunakan C sebagai tampungan
•Pindahkan n-1 piringan dari B ke C menggunakan A sebagai tampungan
Program
#include <stdio.h>
void towers(int n, char awal, char akhir, char antara)
{
if(n==1)
printf("Pindahkan piringan 1 dari %c ke %c\n", awal,akhir);
else{
towers(n-1, awal, antara, akhir);
printf("Pindahkan piringan %d dari %c ke %c\n", n, awal, akhir);
towers(n-1, antara, akhir, awal);
}
}
void main()
{
int n;
printf("Berapa piringan ? ");scanf("%d", &n);
towers(n, 'A', 'C', 'B');
}
Capture Tower of Hanoi
Analisis Algoritma
•Faktor-faktor yang menyulitkan analisis disebabkan oleh:
•
- Implementasi instruksi oleh bahasa pemrograman yang berbeda
- Ketergantungan algoritma terhadap jenis data
- Ketidakjelasan algoritma yang diimplementasikan
•Langkah-langkah analisis algoritma
•
- Menentukan jenis/sifat data input.
- Mengidentifikasi abstract operation dari data input.
Analisis Algoritma
•
•Penilaian algoritma didasarkan pada:
•
- Waktu eksekusi (paling utama)
- Penggunaan memori/sumber daya
- Kesederhanaan dan kejelasan algoritma
•Analisis algoritma tidak mudah dilakukan secara pasti, maka hanya diambil:
•
- Kondisi rata-rata (average case)
- Kondisi terburuk (worst case)
•Waktu eksekusi dipengaruhi oleh:
•
- Jenis data input
- Jumlah data input
- Pemilihan instruksi bahasa pemrograman
Daftar pustaka :
Langganan:
Postingan (Atom)




