Lake District UK
Sebuah tempat yang berada di barat daya inggris, dan menjadi salah satu danau terindah didunia, kurang lebih seperti itulah kalimat yang saya baca pada sebuah novel. Cerita didalamnya membuat saya berimajinasi untuk mengunjungi lake district suatu saat nanti dan yang membuat saya lebih tertarik lagi adalah sebuah rumor bahwa lake district adalah tempat yang bisa membuat orang mudah jatuh cinta... is wonderfull!!!!!. Tapi tentu saja itu hanya sebuah rumor dari orang-orang,
Percaya atau tidak itu tidak penting, yang pasti untuk sekarang lake district menjadi salah satu tempat favorit saya .
Logika & algoritma
Blog Tugas Algoritma Dan Pemrograman
Minggu, 22 Februari 2015
Jumat, 02 November 2012
TIPE DATA DAN VARIABEL
TIPE DATA
DAN VARIABEL
Tipe – tipe data yang dikenal dalam
C++ adalah sebagai berikut:
int
int
adalah tipe data bilangan bulat (integer). Contoh penggunaan tipe int adalah:
int
a = 1;
int
num1 = 2, num2 = 4;
Perhatikan
bahwa dalam nilai – nilai yang masuk di assign (masukkan) ke dalam
variabel – variabel bertipe int adalah angka – angka / bilangan bulat. Seperti
namanya, int hanya bisa bernilai
bulat dan bukan pecahan (desimal). Bagaimana kalau yang tipenya int lalu yang
dimasukkan adalah hasil pembagian yang tidak bulat hasilnya? Maka:
int
hasil_bagi_bulat = 5 / 2;
Hasilnya:
2
Ini
karena 5 dibagi 2 = 2,5 kemudian karena hasil_bagi_bulat adalah integer
(bilangan bulat) 2,5 kemudian dibulatkan menjadi 2.
Untuk
bilangan desimal sendiri ada tipe tertentu untuk bilangan ini.
VOID
Variabel
yang berupa void merupakan variable yang tanpa isi tipe data dan pengembalian
nilai
Menyatakan tipe kosong untuk :
1. mendeklarasikan fungsi yang tidak mengembalikan nilai apapun.
2. mendeklarasikan fungsi yang tidak menerima parameter apapun.
3. bila diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.
Contoh deklarasi void :
Void cctrputs (char*, int ) ; atau
Main (void) ; atau
Void* action ;
Int ivalue = 100 ;
Action = &ivalue ;
FLOAT
Variable
float digunakan untuk menunjukkan bilangan yang berupa pecahan,namun jangkauan
datanya masih rendah.
Menyatakan bilangan pecahan/real,
maupun eksponensial. Dalam keadaan
default, bilang floting point dianggap bertipe double.
Rentang nilai float mulai 3,4 E -38 sampai 3,4 E +38
double
adalah
tipe yang khusus untuk bilangan yang tidak bulat alias desimal / pecahan.
Contoh penggunaannya adalah:
double
mydouble = 5.00;
double
pecahan_pertama = 2.5, pecahan_kedua = 9.9;
Rentang nilai double mulai 1,7 E
-308 sampai 1,7 E +308
char
adalah
tipe data karakter yang bisa menyimpan mulai dari: a – z, A – Z, ‘!’, ‘@’, dsb.
Penggunannya ± sama dengan tipe - tipe yang sebelumnya:
char
huruf = ‘c’;
char
inisial1 = ‘A’, inisial2 = ‘W’;
char
simbol = ‘#’;
bool
adalah
tipe yang hanya “menyimpan” nilai “benar” dan “salah” yaitu, true dan false
(boolean). Contoh:
bool
benar_atau_salah = true;
string
adalah
tipe yang khusus untuk menampung semua masukan dari user / gabungan karakter
yang sangat panjang. Misalnya:
Char
text [ ]
STRUCT,
UNION
Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang
berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union :
elemennya ada dilokasi memori yang sama.
Struct tipestruktur
{
Tipeanggota1 namaAnggota1 ;
Tipeanggota2 namaAnggota2 ;
………….
}
namaStruktur ;
VARIABEL
Variabel adalah suatu
pengenal (identifier) yang digunakan untuk mewakili
suatu nilai tertentu di
dalam proses program. Berbeda dengan konstanta
yang nilainya selalu
tetap, nilai dari suatu variable bisa diubah-ubah sesuai
kebutuhan.
Nama dari suatu variable
dapat ditentukan sendiri oleh
pemrogram dengan aturan
sebagai berikut :
· Terdiri dari gabungan
huruf dan angka dengan karakter pertama
harus berupa huruf.
Bahasa C bersifat case-sensitive artinya huruf
besar dan kecil dianggap
berbeda. Jadi antara nim, NIM dan
Nim
dianggap berbeda.
· Tidak boleh mengandung
spasi.
· Tidak boleh mengandung
symbol-simbol khusus, kecuali garis bawah
(underscore). Yang
termasuk symbol khusus yang tidak
diperbolehkan antara
lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb
· Panjangnya bebas,
tetapi hanya 32 karakter pertama yang terpakai.
Contoh penamaan variabel
yang benar :
NIM, a, x, nama_mhs,
f3098, f4, nilai, budi, dsb.
Contoh penamaan variable
yang salah :
%nilai_mahasiswa,
80mahasiswa, rata-rata, ada spasi, penting!, dsb.
Contoh penulisan
variable:
#include
#include
void main()
{
int a, b;
int hasil;
a=8;
b=1;
hasil=a-b;
cout<
getch()
}
OPERATOR
ARITMATIKA
Operator
aritmatika yang sering digunakan dalam C++ adalah:
· ‘+’ =
penjumlahan
· ‘-‘ =
pengurangan
· ‘*’ =
perkalian
· ‘/’ =
pembagian
· ‘%’ = sisa
bagi (modulo)
Contoh
dari pemakaian masing – masing operator tersebut adalah sebagai berikut:
#include
#include
void
main ()
{
int satu, dua, tiga, empat, lima;
satu = 1 + 0;
dua = 4 - 2;
tiga = 1 * 3;
empat = 20 / 5;
//mencari sisa bagi dari 25 / 10
lima = 25 % 10;
cout << satu << “\n”;
cout << dua << “\n”;
cout << tiga << “\n”;
cout << empat << “\n”;
cout << lima << “\n”;
getch();
}
1.Operator Majemuk
‘+=’ artinya x = x+y
‘*=’ artinya x = x*y
‘/=’ artinya x = x/y
‘%=’artinya x = x % y
2. operator penaikan dan penurunan
Operator ini biasanya dilambangkan
dengan tanda ++ jika mengalami penaikan dan – jika mengalami penurunan.
Penaikan dan penurunan yang terjadi hanya 1 variabel.
Biasanya saat menulis program kita
temukan seperti ini :
a++;
a+1;
a=a+1;
3.operator relasional
Operator ini biasanya bertujuan
untuk mencari nilai kebenaran apakah “true” atau “false” dalam bahasa C++
biasanya dikatakan bool.
Adapun beberapa operator relasinal
yaitu :
- > artinya lebih besar
- >= artinya lebih besar atau
sama dengan
- < artinya lebih kecil
- <= artinya lebih kecil atau
sama dengan
- = = artinya sama dengan
- != artinya tidak sama dengan
Contoh :
5>3 bernilai true
9<=1
bernilai false
4. operator logical
- !
not
- *
/ perkalian pembagian
- &&
AND
- ||
OR
Menyatakan tipe kosong untuk :
1. mendeklarasikan fungsi yang tidak mengembalikan nilai apapun.
2. mendeklarasikan fungsi yang tidak menerima parameter apapun.
3. bila diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.
Void cctrputs (char*, int ) ; atau
Main (void) ; atau
Void* action ;
Int ivalue = 100 ;
Action = &ivalue ;
default, bilang floting point dianggap bertipe double.
Rentang nilai float mulai 3,4 E -38 sampai 3,4 E +38
Digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe yang
berlainan. Struct : elemennya ada dilokasi memori yang berbeda, dan union :
elemennya ada dilokasi memori yang sama.
Struct tipestruktur
{
Tipeanggota1 namaAnggota1 ;
Tipeanggota2 namaAnggota2 ;
………….
}
namaStruktur ;
Kamis, 01 November 2012
Logika dan Algoritma
Nama : Deswita Purnamasari
NIM : 18122861
A.
Pengertian
Logika Dan Algoritma
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.
Pada Merriam-Webster’s
Collegiate Dictionary, istilah algoritma diartikan sebagai prosedur langkah
demi langkah untuk memecahkan masalah atau menyelesaikan suatu tugas. Kamus
Besar Bahasa Indonesia (KBBI) mendefinisikan algoritma sebagai urutan logis
pengambilan keputusan untuk pemecahan masalah.
Algoritma adalah urutan
langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan
logis. Logis merupakan kunci dari sebuah algoritma. Langkah- langkah dalam
algoritma harus logis dan bernilai benar atau salah.
B.
Kriteria
Pemilihan Algoritma :
1. Ada
Output, mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai
output 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 efisiensi jika waktu proses suatu algoritma relatif lebih
singkat dan penggunaan memori komputernya lebih sedikit.
3. 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.
C.
Keuntungan
Pembuatan Algoritma
1. Pembuatan
atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun,
artinya penulisan algoritma independen dari bahasa pemrograman dan komputer
yang telaksanakannya.
2. Notasi
algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun
bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya
sama.
D.
Sifat
– Sifat Algoritma
1. Banyaknya
Langkah Instruksi Harus Berhingga,
2. Langkah
atau Instruksi harus Jelas,
3. Proses
harus Jelas dan mempunyai batasan,
4. Input
dan Output harus mempunyai Batasan,
5. Efektifitas,
6. Adanya
Batasan Ruang Lingkup,
E.
Beberapa
hal yang perlu diperhatikan dalam membuat algoritma :
1. Teks
algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan
dipahami.
2. Tidak
ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
3. Setiap
orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini
dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi
algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu,
maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
4. Notasi
algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi
algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh
komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat
bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya.
5. Algoritma
sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan
ke dalam bahasa pemrograman.
6. Algoritma
merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer,
algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa
hal yang harus diperhatikan pada translasi tersebut, yaitu:
1. Pendeklarasian
variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman
membutuhkannya
2. Pemilihan
tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan
tipe data.
3. Pemakaian
instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama tetapi
masingmasing memiliki kelebihan dan kekurangan yang berbeda.
4. Aturan
sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis
dalam bahasa pemrograman yang akan digunakan.
5. Tampilan
hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang
akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya
menjadi program. Cara pengoperasian compiler atau interpreter. Bahasa
pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
TAHAPAN
ANALISA ALGORITMA :
A.
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.
B.
Bagaimana
menyatakan suatu algoritma
Menentukan
model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah
secara berurutan guna mendapatkan solusi penyelesaian masalah.
C.
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 :
·
Banyaknya langkah
·
Besar dan jenis input data.
·
Jenis Operasi.
·
Komputer dan kompilator
2. Jumlah
Memori Yang Digunakan.
D.
Syarat
Sebuah Algoritma Yang Baik
1. Tingkat
kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus
berakurasi tinggi dan benar.
2. Pemrosesan
yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.
3. Sifatnya
general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi
juga untuk kasus lain yang lebih general.
4. Bisa
dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih
jauh berdasarkan perubahan requirement yang ada.
5. Mudah
dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah
dimengertinya suatu program akan membuat susah di-maintenance (kelola).
6. Portabilitas
yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai
platform komputer.
7. Precise
(tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak
ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara
eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah
mengerti. Setiap langkah harus jelas dan pasti.
Contoh: Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
1. Jumlah
langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama
banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
2. Efektif.
Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan
menjalankannya. Contoh: Hitung akar 2 dengan presisi sempurna. Instruksi di
atas tidak efektif, agar efektif instruksi tersebut diubah. Misal: Hitung akar
2 sampai lima digit di belakang koma.
3. Harus
terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah
apakah bila jumlah instruksinya berhingga maka pasti terminate?
4. Output
yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti
dengan seksama maka dihasilkan output yang diinginkan.
E.
Penyajian
Algoritma
1. Algoritma
Dengan Kalimat Deskriptif
Yaitu
dengan menjelaskan secara detail algoritma suatu masalah dengan bahasa yang
mudah dimengerti oleh orang awam, dan akan sangat sulit dimengerti bila
diterjemahkan kedalam bahasa pemograman.
Contoh : Program Luas Segitiga
Memasukkan angka luas dan tinggi.
Algoritma mengitung luas segitiga yaitu setengah alas dikalikan tinggiALGORITMA
1. Masukkan
alas dan tinggi
2. Rumus
luas segitiga = 0.5 * a * t
3. Cetak
hasilnya ke layar
2. Algoritma
Dengan pseudo code
Pseudocode adalah kode yang mirip dengan kode pemrograman
yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk
menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram.
Contoh
: Mencari Luas Segitiga
1. Read
Alas
2. Read
Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)
3. Algoritma
Dengan Flowchart
Flowchart
atau Diagram Alur adalah gambar atau bagan yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan
simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan
antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart
akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan
dalam analisis masalah. Di samping itu flowchart juga berguna sebagai fasilitas
untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.
Kaidah-Kaidah Umum Pembuatan Flowchart Program Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
Kaidah-Kaidah Umum Pembuatan Flowchart Program Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu:
1. Input,
2. Proses
pengolahan
3. Output
Untuk pengolahan data dengan komputer, urutan dasar
pemecahan suatu masalah:
·
START, berisi pernyataan untuk persiapan
peralatan yang diperlukan sebelum menangani pemecahan persoalan.
·
READ, berisi pernyataan kegiatan untuk
membaca data dari suatu peralatan input.
·
PROSES, berisi kegiatan yang berkaitan dengan
pemecahan persoalan sesuai dengan data yang dibaca.
·
WRITE, berisi pernyataan untuk merekam hasil
kegiatan ke peralatan output.
·
END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada
kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran:
·
Hindari pengulangan proses yang tidak perlu
dan logika yang berbelit sehingga jalannya proses menjadi singkat.
·
Jalannya proses digambarkan dari atas ke
bawah dan diberikan tanda panah untuk memperjelas.
·
Sebuah flowchart diawali dari satu titik
START dan diakhiri dengan END.
F.
Struktur
Dasar Algoritma
Algoritma berisi
langkah-langkah penyelesaian suatu masalah. Langkahlangkah tersebut dapat
berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi
(iteration) atau kombinasi dari ketiganya.
Jadi struktur dasar pembangunan
algoritma ada tiga, yaitu:
1. Struktur
Runtunan Digunakan untuk program yang pernyataannya sequential atau urutan.
2. Struktur
Pemilihan Digunakan untuk program yang menggunakan pemilihan atau penyeleksian
kondisi.
3. Struktur
Perulangan Digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.
Menguji Program dari
suatu Algoritma yaitu dengan cara menyajikannya dalam salah satu bahasa
pemrogramana, misalnya C, C++ 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.
G.
Statement
Logika
1. OR
Merupakan statement kondisi dimana
pernyataan akan benar apabila salah satu kondisi benar atau semua kondisi
benar.
2. And
Merupakan statement kondisi dimana
pernyataan akan benar apabila semua kondisi benar.
3. NOT
Merupakan statemen kondisi yang
merupakan kebalikan hasil suatu kondisi
4. NOR
Merupakan statement kondisi dimana
pernyataannya akan benar apabila semua kondisinya salah.
5. NAND
Merupakan Statement kondisi yang akan
bernilai benar apabila semua kondisi salah atau salah satu kondisinya salah.
6. XOR
Merupakan Statement kondisi yang akan
bernilai benar bila salah satu kondisinya benar.
7. XNOR
Merupakan Statement kondisi dimana
pernyataan akan bernilai benar apabila semua kondisi salah atau benar.
Pernyataan akan bernilai salah apabila salah satu bernilai salah
8. If..
Then.. Endif
Statement kondisi atau keputusan dimana
keputusan yang dapat ditampung hanya satu
9. If..
Then.. Else..Endif
Statement kondisi yang bisa menampung
dua kondisi
10. If..
Then..Elseif.. Endif
Statement Kondisi yang bisa menampung
lebih dari 2 kondisi sampai tak hingga.
11. If
Terselubung
Statement kondisi yang mana didalam
sebuah kondisi masih terdapat beberapa buah kondisi.
12. Loop
/ Looping / Perulangan
Merupakan suatu proses kondisi
pengerjaan perintah statement program secara berulang-ulang sampai kondisi yang
diingini.
13. For..
Next
Merupakan kondisi perulangan dimana
counter penambahan dilakukan secara otomatis
14. While…
wend
Merupakan kondisi perulangan yang mana
counter penambahan dilakukan tidak secara otomatis
15. For..
To.. Do
Merupakan kondisi perulangan dimana
nilai perulangannya dimulai dari nilai terkecil ke nilai terbesar.
Langganan:
Postingan (Atom)