PENGERTIAN
DASAR LOGIKA DAN ALGORITMA
PENGERTIAN DASAR
LOGIKA DAN ALGORITMA
Diperkenalkan Oleh Ahli atematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi
DEFINISI ALGORITMA
1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
2. Suatu prosedur yang merupakan urutan langkah-langkah yang terintegrasi
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata
Kriteria pemilihan Algoritma
1. Ada output
2. Efektifitas dan Efesiensi
3. Jumlah langkahnya berhingga
4. Berakhir
5. Terstruktur
“Suatu Algoritma yang terbaik yaitu Algoritma yang menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak adanya solusi “
Tahapan Analisa Algoritma
1. Merencanakan Algoritma
2. Menyatakan Algoritma
a. Bahasa semu/ sehari-hari (pseucode)
b. Diagram Alur / Flowchart
c. Statement/ penggalan program
3. Validitas Algoritma
4. Menganalisa Algoritma
a. Waktu Tempuh/ Running Time
i. Banyaknya langkah
ii. Bear dab jenis input data
iii. Jenis operasi
iv. Komputer dan kompilator
b. Jumlah memori yang digunakan
5. Menguji Algoritma
a. Fase Debugging
b. Fase Profillig
Sifat-sifat Algoritma
1. Banyaknya langkah intruksi harus berhingga
2. Langkah atau intruksi harus jelas
3. Proses harus jelas dan mempunyai batasan
4. Input dan Output harus mempunyai batasan
5. Efektifitas
6. Adanya bataan ruang lingkup.
LOGIKA DAN ALGORITMA
Diperkenalkan Oleh Ahli atematika : Abu Ja’far Muhammad Ibnu Musa Al Khawarizmi
DEFINISI ALGORITMA
1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
2. Suatu prosedur yang merupakan urutan langkah-langkah yang terintegrasi
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata
Kriteria pemilihan Algoritma
1. Ada output
2. Efektifitas dan Efesiensi
3. Jumlah langkahnya berhingga
4. Berakhir
5. Terstruktur
“Suatu Algoritma yang terbaik yaitu Algoritma yang menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosedurnya berakhir baik dalam keadaan diperoleh suatu solusi ataupun tidak adanya solusi “
Tahapan Analisa Algoritma
1. Merencanakan Algoritma
2. Menyatakan Algoritma
a. Bahasa semu/ sehari-hari (pseucode)
b. Diagram Alur / Flowchart
c. Statement/ penggalan program
3. Validitas Algoritma
4. Menganalisa Algoritma
a. Waktu Tempuh/ Running Time
i. Banyaknya langkah
ii. Bear dab jenis input data
iii. Jenis operasi
iv. Komputer dan kompilator
b. Jumlah memori yang digunakan
5. Menguji Algoritma
a. Fase Debugging
b. Fase Profillig
Sifat-sifat Algoritma
1. Banyaknya langkah intruksi harus berhingga
2. Langkah atau intruksi harus jelas
3. Proses harus jelas dan mempunyai batasan
4. Input dan Output harus mempunyai batasan
5. Efektifitas
6. Adanya bataan ruang lingkup.
Logika berasal dari kata Yunani
Kuno. Pengertiannya yaitu 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 yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster dictionary)
1. Langkah-langkah yg dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster dictionary)
Kriteria Pemilihan Algoritma
1. Ada out put
2. Efektifitas dan efesiensi
3. Jumlah langkahnya berhingga
4. Berakhir (semi Algoritma)
5. Terstruktur
1. Ada out put
2. Efektifitas dan efesiensi
3. Jumlah langkahnya berhingga
4. Berakhir (semi Algoritma)
5. Terstruktur
1. Ada out put
Mengacu pada definisi algoritma, algoritma harus mempunyai out put yang harus merupakan solusi dari masalah yang sedang diselesaikan.
Mengacu pada definisi algoritma, algoritma harus mempunyai out put yang harus merupakan solusi dari masalah yang sedang diselesaikan.
2. Efektifitas dan efesiensi
Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan, dalam arti algoritma harus tepat guna.
Dikatakan efisien jika waktu proses suatu algoritma relatif lebih singkat dan penggunakan memori komputernya lebih sedikit.
Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan, dalam arti algoritma harus tepat guna.
Dikatakan efisien jika waktu proses suatu algoritma relatif lebih singkat dan penggunakan memori komputernya lebih sedikit.
3. Jumlah langkahnya berhingga
Barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
Barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
4. Berakhir (semi
Algoritma)
Penyelesaian masalah harus berhenti. Dan bias menimbulkan masalah lain.
Penyelesaian masalah harus berhenti. Dan bias menimbulkan masalah lain.
5. Terstruktur
Penyelesaian masalah menggunakan langkah-langkah tersusun
Penyelesaian masalah menggunakan langkah-langkah tersusun
Algoritma yang baik
Suatu algoritma harus menghasilkan out put yang tepat guna (efektif) dalam waktu yang relative singkat.
Suatu algoritma harus menghasilkan out put yang tepat guna (efektif) dalam waktu yang relative singkat.
ANALISA ALGORITMA
1. Bagaimana merencakan suatu algoritma
Menentukan beberapa model / desain sebagai penyelesaian masalah sehingga muncul beberapa model yang akan diambil solusi mana yang terbaik.
1. Bagaimana merencakan suatu algoritma
Menentukan beberapa model / desain sebagai penyelesaian masalah sehingga muncul beberapa model yang akan diambil solusi mana yang terbaik.
2. Bagaimana menyatakan suatu
algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisis suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisis suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
Cara/prosedur algoritma
1. Kata-kata
2. Diagram alur
3. Statemen program
1. Kata-kata
2. Diagram alur
3. Statemen program
TAHAP PROSES UJI ALGORITMA
1. Fase Debugging
Fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program/ error. Kesalahan program ini dapat berupa kesalahan dalam penulisan program baik logika atau sintaknya.
Fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program/ error. Kesalahan program ini dapat berupa kesalahan dalam penulisan program baik logika atau sintaknya.
2. Fase profiling
Fase yang akan bekerja jika program tersebut sudah benar.
Fase yang akan bekerja jika program tersebut sudah benar.
PENGERTIAN DASAR LOGIKA DAN ALGORITMA
Pengertian
Dasar
LOGIKA
Di perkenalkan pertama kali oleh
aristoteles (384-322 SM).
Definisi
Logika
Definisi Logika itu sendiri adalah :
·
Penalaran atau bentuk pemikiran.
·
Ilmu yang memberikan prinsip-prinsip yang harus di ikuti agar
dapat berfikir valid menurut aturan yang berlaku.
ALGORITMA
Diperkenalkan olehahli matematika :Abu
ja’far Muhammad Ibnu Musa Al Khawarizmi.
Seorang
ilmuan Persia yang menulis kitab Al jabr w’al muqabala (rules of restoration
and reduction) sekitar tahun 825 M.
Definisi
Algoritma.
Definisi Algoritma itu sendiri adalah
:
·
Langkah – langkah yang dilakukan agar solusi masalah dapat
diperoleh.
·
Suatu prosedur yang merupakan urutan langka – langkah yang
berintegrasi.
·
Suatu metode khusus yang digunakan untuk menyelesaikan suatu
masalah yang nyata (Webster Dictionary).
Kriteria
Pemilihan Algoritma.
·
Ada Output,
·
Efektifitas dan Efesiensi,
·
Jumlah langkahnya berhingga,
·
Berakhir (SEMI ALGORITMA),
·
Terstruktur,
Suatu algoritma yang terbaik (the
best) : “suatu Algoritma harus menghasilkan output yang tepat guna (efektif)
dalam waktu yang relatif singkat dan penggunaan memori yang relatifsedikit
(efesien) dengan langkah yang berhingga dan prosedurnya berakhir baik dalam
keadaan diperoleh suatu solusi ataupun tidak ada solusinya. “
TAHAPAN
ANALISA ALGORITMA
·
Bagaimana merencanakan suatu algorima.
·
Bagaimana menyatakan suatu algoritma :
1. Dengan bahasa semu
(pseudocode).
2. Dengan diagram alur atau flowchart,
3. Dengan statement program / penggalan
program
·
Bagaiman validitas suatu algoritma.
·
Bagaimana menganalisa suatu algoritma.
·
gaimana menguji programdari suatu algoritma.
Tahap
Proses Uji Algoritma :
·
Fase Debugging
Yaitu fase dari proses program
eksekusi yang akan melakukan koreksi terhadap kesalahan.
·
Fase Profilling
Yaitu fase yang akan bekerja
jika program tersebut sudah benar (telah melewati fase debugging).
Analisis
suatu algoritma
(untuk
melihat faktor efesiensi dan efektifitas dari algoritma tersebut), Dapat
dilakukan terhadap suatu algoritma dengan melihat pada :
·
Waktu tempuh (Running time) dari suatu Algoritma.
Hal – hal yang dapat
mempengaruhi dari pada waktu tempuh adalah :
1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis operasi.
4. Komputer dan kompilator.
·
Jumlah memori yang di gunakan.
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,
Konsep
Algoritma
Konsep Algoritma itu sendiri terbagi
menjadi 2 bagian, yaitu :
·
Algoritma pe-ubah
Algoritma pe-ubah adalah
Variabel yang nilainya BUKAN konstanta (selalu berubah – ubah sesuai dengan
pariabel terKINI)
Sintaks : P = Q
Algoritma : P < Q
Arti : Bahwa nilai P diberi harga nilai Q
Nilai P
akan sama dengan nilai Q, dan ilai Q tetap
·
Algoritma Pertukaran
Algoritma pertukaran berfungsi
mempertukarkan masing – masing isi Variabel sedemikian sehingga nilai dari tiap
Variabel akan berubah / bertukar.
Definisi dan Pengenalan Algoritma
Definisi
Definisi
algoritma adalah urutan langkah-langkah logis penyeselaian masalah yang disusun
secara sistematis dan logis. Kata logis (logika) merupakan kata kunci dalam
algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai
benar atau salah.
Algoritma Dalam Kehidupan
Algoritma
adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang
diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam
kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat
langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh
algoritma yang lain.
Bahasa Pemrograman
Untuk
melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa
pemrograman adalah : Pascal, C++, Basic, dll. Notasi algoritma dapat
diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi
algoritma bersifat independen.
Flowchart
Bagan
alir (flowchart) adalah bagan (chart) yg menunjukkan alir (flow) di dalam
program atau prosedur sistem secara logika. Digunakan terutama untuk alat Bantu
komunikasi dan untuk dokumentasi. Pedoman untuk menggambarkannya:
1.
Sebaiknya digambar dari atas ke bawah dan mulai dari
bagian kiri suatu halaman.
2.
Kegiatannya harus ditunjukkan dengan jelas
3.
Ditunjukkan dengan jelas dimulai dan berakhirnya suatu
kegiatan
4.
Masing-masing kegiatan sebaiknya digunakan suatu kata
yg mewakili suatu pekerjaan
5.
Kegiatannya sudah dalam urutan yang benar.
6.
Kegiatan yg terpotong dan akan disambung ditunjukkan
dengan jelas oleh simbol penghubung
7.
Digunakan simbol-simbol yang standar
Suatu
flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan
dari operasi yang dilakukan untuk mendapatkan suatu hasil. Dengan kata lain,
flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan
menampilkan algoritma dalam simbol-simbol gambar.
Dalam
menggambar flowchart, digunakan simbol tertentu seperti diatas. Contoh berikut
bisa digunakan untuk lebih mengerti perbedaan kegunaan simbol-simbol tersebut.
Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah
sebagai berikut :
Contoh
lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap.
Untuk itu kita harus membuat flowchart seperti ini :
Pseudo Code
Pseudo
Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki
sintak yang baku. Pseudo Code lebih umum digunakan oleh programmer yang
berpengalaman. Akan tetapi, flowchart lebih mudah dimengerti oleh programmer
pemula, pseudo code sangat mudah diimplementasikan ke dalam kode program
dibandingkan dengan flowchart. Kita bisa bebas menulis pseudo code selama itu
mudah dimengerti bagi orang lain. Tetapi disarankan untuk menggunakan keyword
yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan
lainnya. Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll.
Perhatikan kode dibawah ini :
1.
Mulai
2.
Masukkan sebuah angka
3.
Masukkan sebuah angka dan tampilkan
4.
Ambil angka yang sebelumnya dan tampilkan
5.
Selesai
Walaupun pseudo code diatas masih bisa dimengerti tetapi ada
beberapa statemen yang ambigu. Dari baris kedua, kita tidak tahu kemana angka
tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk
“angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua.
Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut :
1.
Start
2.
Masukkan A
3.
Masukkan B, Tampilkan B
4.
Tampilkan A
5.
End
Pseudo Code diatas lebih baik dibandingkan sebelumnya. Kita bisa
dengan jelas melihat dimana angka disimpan dan angka yang mana yang
ditampilkan. Sekarang kita akan mengubah flowchart pada gambar 1.2
1.
Start
2.
Masukkan A dan B
3.
C = A + B
4.
Tampilkan C
5.
End
Tema :Looping
Looping
Looping adalah pengulangan sesuatu atau serangkaian
"kerja" dari program. Dalam C++, paling tidak dikenal ada 3 looping.
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).
Contoh:
Mencetak angka 1 sampai 1000
#include
using
namespace std;
void
main() {
int
i = 1;
//kondisi
ditetapkan (bahwa selama i lebih kecil atau sama dengan
//1000
ada perintah yang diberikan pada program...)
while
(i <= 1000) {
//perintah
untuk mencetak nilai dari i dan kemudian membuat
//baris
baru
cout
<< i << "\n";
//iterasi
++i;
//i = i + 1;
//i
+= 1;
}
}
Nah, dari kode di atas kita
lihat bahwa selama i lebih kecil atau sama dengan 1000, nilai
dari i akan di cetak ke layar. Jadi, hasilnya
adalah:
1
2
…
1000
Akan tercetak angka dari 1 sampai 1000 di layar. Perhatikan baik
– baik ada sepenggal kode yang diberi komentar "iterasi".
Apakah iterasi itu? Iterasi dalam looping adalah proses yang berpengaruh dalam
nilai dari variabel yang ditetapkan sebagai acuan looping. Atau dapat pula
dikatakan bahwa, iterasi adalah bagaimana penambahan nilai atau pengurangan
dalam perulangan. Contohnya seperti nilai dari i di atas. Penulisan yang diberikan pada
variabel i adalah:
++i;
Itu sama saja dengan perintah yang berada di dalam komentar:
//
i = i + 1;
Dan
//i
+= i;
Perintah ini berarti bahwa i menambahkan dirinya sendiri dengan 1. Tanda
"++" pada ipada
bagian depan dari i (prefix), berarti kita langsung menambahkan
variabel i dengan 1, tanpa menggunaan terlebih dahulu
nilai dari i. Jika
kita menggunakan tanda "++" pada bagian akhir dari variabel i (postfix), berarti nilai dari i digunakan terlebih dahulu lalu kemudian
ditambahkan dengan 1. Contoh lain dari hal ini adalah dengan menggunakan
pengurangan sebagai pengulangan. Contoh:
#include
using
namespace std;
void
main () {
int
i = 1000;
while
(i >= 1) {
cout
<< i << "\n";
//yang
digunakan adalah "—-"
--i;
}
}
Hasil yang didapat mungkin saja berbeda, tapi persamaan dari
keduanya adalah bahwa terjadi perulangan sebanyak 1000 kali, yaitu:
1000
999
…
1
Perlu diketahui bahwa yang terjadi pada perulangan jika sudah
mencapai false (dimana kondisinya tidak lagi true
melainkan false) adalah perulangan akan segera keluar dan melanjutkan program.
Misalnya saja dari program di atas, jika i tidak lagi lebih kecil atau sama dengan
1000 (misalnya 1001), perulangan akan menghasilkan nilai false (kondisi
tidak lagi i <= 1000).
do...while
Biasanya in adalah perintah untuk tetap melakukan sesuatu dalam
program sampai kondisinya terpenuhi (aku memanggilnya "kepala batu"
atau "si keras kepala" :DDD). Misalnya perintah untuk tetap
menampilan sebuah pesan sampai adanya input yang valid dari user. Contoh:
#include
using
namecspace std;
void
main () {
char
yes_no;
//lalu
beberapa variabel diletakkan di sini...
//...
(di sini misalnya terdapat kerja dari program)
//
disini diletakkan do...while untuk "menunggu" inputan yang
//valid
dari user.
do
{
cout
<< "masih mau lanjut? (y / n): ";
cin
>> yes_no;
}
while (yes_no != 'y' || yes_no != 'n');
if
(yes_no == 'y')
//lakukan
terserah apa aja yang anda mau lakukan di sini
else
//di
sini juga anda bisa lakukan apa saja yang anda mau
//lakukan
}
Jika kita perhatikan mungkin ada tanda yang di pergunakan dalam
kode tersebut. Akan saya coba jelaskan mengenai beberapa operator logika yang
terdapat dalam C++.
Operator logika biasanya dipakai dalam perbandingan (kondisi).
Mengenai fungsi perbandingan ini akan dibahas dalam bab-bab berikutnya.
Operator logika yang biasanya dipakai ada beberapa macam, yaitu:
·
Tanda "&&" (and), operator ini berfungsi jika kedua nilai
pembandingnya bernilaitrue. Contoh: i >= 0 && i <= 1000. Ini
berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 0 dan lebih
kecil atau sama dengan 1.000 (0 – 1.000).
·
Tanda "||" (or), operator ini berfungsi jika salah satu dari
kedua nilai pembandingnya bernilai true.
Contoh: i >= 1000 || i
<= 0. Ini berarti penggunaan kondisi dimana kondisi tersebut adalah i lebih besar atau sama dengan 1.000 atau leih
kecil atau sama dengan 0 (-1 ke bawah atau 1.001 ke atas).
·
Tanda "!" (not), seperti yang kita lihat terdapat di bagian
dari kode di atas adalah merupakan tanda negasi, yang berarti semacam pembalik
dari sesuatu. Misalnya seperti yang kita lihat pada potongan kode di atas:
while
(yes_no != 'y' || yes_no != 'n');
Ini kurang lebih dapat dibaca: "ketika yes_no tidak sama dengan 'y' n atau
yes_no tidak tidak sama dengan 'n'.
Kembali ke masalah kode di atas, pada bagian "pembuka"
kita membuat beberap variabel, salah satunya adalah yes_no yang berfungsi untuk "menampung"
nilai atau karakter yang dipilih dari user. Jadi, kita membuat sebuah program
yang entah kerjanya baagimana lalu pada bagian akhir dari program tersebut,
kita memberikan sebuah pilihan apakah user masih mau lanjut atau tidak. Jika
user memasukkan input yang tidak valid misalnya menekan angka 0 atau menekan
huruf "t"), maka perintah yang berada dalam blok do…while akan di
eksekusi, dan begitu seterusnya jika user masih tidak memasukan input yang
valid.
for
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. Contoh dari for adalah sebagai berikut:
#include
using
namespace std;
void
main () {
int
num_masuk;
cout
<< "berapa banyak anda mau melakukan perulangan?: ";
cin
>> num_masuk;
for
(int i = 1; i <= num_masuk; ++i) {
cout
<< "ini adalah baris ke-" << i << "\n" ;
}
}
Pada kode di atas, yang akan menjadi input dari user untuk
menentukan berapa banyak perulangan akan dilakukan adalah num_masuk, dan
variabel yang akan dijadikan patokan dalam perulangan adalah i, di mana i di buat di dalam perintah for dan kemudian
langsung di assign (inisialisasi). Kondisi yang digunakan
adalah kondisi dimana i <=
num_masukyang berarti, jika / selama i lebih kecil atau sama dengan num_masuk maka perulangan akan terus dilakukan.
Iteasi yang ditentukan di sini adalah nilai dari i akan ditambah 1 (satu) dalam setiap
perulangan (++i). Contoh program yang sudah di compile dari
kode ini adalah:
Namun
for
juga bisa digunakan sebagai berikut:
juga bisa digunakan sebagai berikut:
for
(int i = 1; i <= 10; ++i) {
for
(int j = 1; j <= 10; ++j) {
cout
<< i * j << "\n";
}
}
Program seperti ini dapat digunakan dalam perhitungan perkalian,
misalnya saja hasilnya dapat menjadi sebagai berikut:
Koding untuk program ini adalah:
#include
using
namespace std;
void
main () {
//untuk
berapa banyak baris yang diinginkan...
for
(int i = 1; i <= 10; ++i) {
//jumlah
kolom, mengingat bagian ini yang akan
//dieksekusi
lebih lanjut dan sampe selesai daul baru
//dilanjutkan
dengan bagian yang selanjutnya (bagian baris)
for
(int j = 1; j <= 3; ++j) {
cout
<< i << " X " << j << " = "
<< j * i << "\t";
}
//baris
baru, setelah ketiga kolom selesai "dibuat"
cout
<< "\n";
}
}
Break dan continue
Ketika melakukan perulangan, ketika sampai batas tertentu kita
ingin memberhentikan perulangan tersebut. Untuk itulah, dibuat statement break dan continue.
break
Adalah perintah untuk langsung keluar dari looping (perulangan).
Contoh penggunaan statement break adalah:
while
(i > 0) {
cout
<< i << "\n";
if
(i == 2)
break;
--i;
}
Sudah bisa tebak apa kira – kira yang akan dihasilkan oleh
program ini? Kalau belum, silahkan baca lebih lanjut.
Program tersebut akan dieksekusi sampai nilai i sama dengan 2. Seharusnya, progrma tersebut
akan bejalan sampai dengan nilai i sama dengan 1. Tapi statement break yang
diberikan pada kondisi dimana jika nilai i sama dengan 2 maka looping dihentikan, maka
ketika nilai i sama dengan 2, nilai i tidak dikurangi lagi (--i;) dan looping keluar. Hasilnya kurang lebih
bisa dilihat sama dengan contoh program berikut:
Kodenya adalah sebagai berikut:
#include
using
namespace std;
void
main () {
int
baris;
cout
<< "berapa banyak anda ingin mencetak baris?: ";
cin
>> baris;
for
(int i = 1; i <= baris; ++i) {
cout
<< "ok, ini adalah baris yang ke-" << i <<
"\n";
if
(i == (baris - 1))
break;
}
cout
<< "sorry, hanya bisa sampe di situ doang... :D\n";
}
Continue
Nah, ini juga mirip dengan break tadi hanya saja ini kebalikannya.
Langsung saja ke contohnya:
for
(int i = 1; i <= 20; ++i) {
if
(i % 7 == 0)
cout
<< i << "\n";
else
continue;
}
Yang di atas itu adalah (kurang lebih) contoh yang saya pelajari
ketika saya belajar C++ juga :D. Itu adlaah kode untuk mencari bilangan
kelipatan 7 dari 1 – 20. Fungs continue diatas adalah, jika bilangan itu tidak
habis di bagi 7 (if (i % 7 == 0)), maka lopingnya dilanjutkan terus, tanpa
adanya apa – apa yang akan dieksekusi. Contoh tampilannya adalah sebagai
berikut (kali ini kita akan mencoba mencari dari 1 sampai 100):
Kodenya adalah sebagai berikut:
#include
using
namespace std;
void
main () {
for
(int i = 1; i <= 100; ++i) {
if
(i % 7 == 0)
cout
<< i << " adalah kelipatan 7!\n";
else
continue;
}
}
KONSEP TIPE DATA C++
PEMBAGIAN
TIPE DATA :
·
TIPE SEDERHANA
a.int,bool,char.
b.tipe float.
b.tipe float.
·
TIPE STRING
·
TIPE TERSTRUKTUR
a.array dan struct.
VARIABEL DAN KONSTANTA
VARIABEL
VARIABEL DAN KONSTANTA
VARIABEL
·
Untuk menyimpan suatu nilai ,dan nilai yg ada padanya dpt diubah
selama eksekusi berlangsung .
·
penaman variabel bersifat case sensitive.
·
Harus dideklarasikan dahulu sebelum digunakan
contoh :int alas ,tinggi;
KONSTANTA
Sebuah variabel dgn tipe data tertentu dan memiliki nilai data yg akan selalu tetap didalam program .
contoh: const phi=3,14;
I.TIPE SEDEHANA PADA C++
1.Tipe int:tipe data yg nilainya tidak memiliki titik desimal ( 16 -32 bit).
2.Tipe float :tipe data yg merupakan pecahan (32-64bit).
3.Tipe char :digunakan untuk menampung sebuah karakter .
contoh :'A'--> karakter huruf A
'1'-->karakter huruf angka 1
'*'--->karakter simbol *
4.Tipe bool :nilai penagambilan suatu keputusan pd program ,tipe ini mempunyai 2 nilai yaitu benar (T)/salah (F) .operator AND,OR /NOT
KONSTANTA
Sebuah variabel dgn tipe data tertentu dan memiliki nilai data yg akan selalu tetap didalam program .
contoh: const phi=3,14;
I.TIPE SEDEHANA PADA C++
1.Tipe int:tipe data yg nilainya tidak memiliki titik desimal ( 16 -32 bit).
2.Tipe float :tipe data yg merupakan pecahan (32-64bit).
3.Tipe char :digunakan untuk menampung sebuah karakter .
contoh :'A'--> karakter huruf A
'1'-->karakter huruf angka 1
'*'--->karakter simbol *
4.Tipe bool :nilai penagambilan suatu keputusan pd program ,tipe ini mempunyai 2 nilai yaitu benar (T)/salah (F) .operator AND,OR /NOT
·
AND--->0 (SALAH) dan 1(benar)
·
NOT---->0(BENAR)dan 1(salah)
·
OR----->Satu salah lain bnr ( benar )
II .Tipe string(1-255 karakter) nilai string (")
bentuk umum:
tipe _data pengenal [panjang];
pengenal =nama variabel
panjang =bilangan bulat yg menunjukan jmlh karakter
contoh:char nama [15];
III.Tipe terstruktur
Untuk mengelompokan data dgn tipe yg berlainan.
contoh:
struct data_pegawai
{
int nip;
char nama[25];
char alamat[40];
}
CONTOH PROGRAM SEDERHANA
#include
#include
#include
main()
{
int x,y,z;
clrscr();
cout<<"\n input nilai x=";cin>>x;
cout<<"\n input nilai y=";cin>>y;
z=x+y;
cout<<"\n hasil penjumlahan='<
getch();
}
bentuk umum:
tipe _data pengenal [panjang];
pengenal =nama variabel
panjang =bilangan bulat yg menunjukan jmlh karakter
contoh:char nama [15];
III.Tipe terstruktur
Untuk mengelompokan data dgn tipe yg berlainan.
contoh:
struct data_pegawai
{
int nip;
char nama[25];
char alamat[40];
}
CONTOH PROGRAM SEDERHANA
#include
#include
#include
main()
{
int x,y,z;
clrscr();
cout<<"\n input nilai x=";cin>>x;
cout<<"\n input nilai y=";cin>>y;
z=x+y;
cout<<"\n hasil penjumlahan='<
getch();
}
Nama
: Bayu Wibawa
Nim
: 11103119
Kelas : 11.1A.07
Tugas : Logika
dan Algoritma
Materi : Struktur Rekursif
REKURSIF
• Rekursif
merupakan alat/cara untuk memecahkan masalah dalam suatu fungsi atauprocedure
yang memanggil dirinya sendiri.
• Definisi menurut Niclaus Wirth
:
“ An
object is said be recursive if it partially consist or is defines in terms of
itself”
• perhitungan
matematika ( contoh fungsi factorial dan bilangan Fibonacci)
Faktorial
• Fungsi
factorial dari bilangan bulat positif n didefinisikan sebagai berikut:
n!= n.(n-1)! , jika n>1
n!=
1 , jika n=0, 1
• contoh :
3!= 3. 2!
3!= 3. 2. 1!
3!= 3. 2. 1
3!= 6
Kita dapat menuliskan fungsi penghitung factorial seperti
dibawah ini
1.
int
Faktorial(int n)
2.
{
3.
if ((n == 0) || (n == 1 ))
4.
return (1);
5.
else
6.
return (n * Faktorial(n-1));
7.
}
• Pada baris 3 dari fungsi diatas,
nilai n dicek sama dengan 0 atau 1,
jika ya, maka fungsi mengembalikan
nilai 1 {baris 4},
jika tidak, fungsi mengembalikan nilai
n * Faktorial (n -1)
{baris 6}
• disinilah letak proses rekursif
itu, perhatikan fungsi factorial ini memanggil dirinya sendiri tetapi dengan
parameter (n-1)
Bilangan
Fibonacci
• Fungsi
lain yang dapat diubah ke bentuk rekursif adalah perhitungan Fibonacci.Bilangan
Fibonacci dapat didefinisikan sebagai berikut:
fn =
fn-1 + fn-2 untuk n > 2
f1 = 1
f2 = 1
Berikut ini adalah barisan bilangan
Fibonacci mulai dari n=1
1 1 2 3 5 8 13 21 34
Algoritma
Fibonacci yang dipakai
Function Fibonacci(input n:integer) à integer
Deklarasi Lokal
{tidak
ada}
Deskripsi
If (n ==1 || n==2) Then
return (l)
Else
return (Fibonacci(n-1)+Fibonacci(n-2))
Endif
Contoh
• Untuk
ukuran n= 4, proses perhitungan Fibonacci dapat dilakukan sebagai berikut:
f4 = f3+f2
f4 = (f2+f1) + f2
f4 = (1+1) +1
f4 = 3
Kombinasi
Function Kombinasi (input n,
r : integer) à real
Deklarasi
If (n < r) Then
return (0)
Else
return (Faktorial(n)/Faktorial(r)*Faktorial(n-r))
Endif
Permutasi
Function Permutasi (input n,
r : integer) à real
Deklarasi
{tidak ada}
Deskripsi
If (n< r) Then
return (0)
Else
return (Faktorial(n) / Faktorial(n-r))
Endif
program untuk menghitung deret S =
1+2+3+4+5+...+n menggunakan function rekursi
Function S(input n:integer) à integer
Deklarasi Lokal
{tidak
ada}
Deskripsi
If (n==1) Then
return (l)
Else
return (n + S(n-1))
Endif
program untuk menghitung deret S = 2+4+6+8+10+...+2n menggunakan function rekursi
Function S(input n:integer) à integer
Deklarasi Lokal
{tidak
ada}
Deskripsi
If (n==1) Then
return (2)
Else
return (2*n + S(n-1))
Endif
program untuk menghitung deret S = 1+2+3+4+5+...+n menggunakan function rekursi
#include
int S(int n);
main()
{
int
n;
cout
<< “Masukkan n = “; cin >> n;
cout
<< “Deret S=1+2+3+4+5+...+n \n”;
cout
<< “Jumlah deret S = “ << S(n);
}
int S(int n)
{
if (n == 1)
return (1);
else
return (n + S(n-1));
Tidak ada komentar:
Posting Komentar