SlideShare a Scribd company logo
1 of 24
1
BAB I
PENGENALAN ALGORITMA
1.1 Apakah Itu Algoritma?
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh.
Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab.
Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa
berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli
sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab
yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al
Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of
restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar”
(Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism
sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena
perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata
algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum,
sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap
menjadi algoritma.
1.2 Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-
langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan
pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma
haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran
yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik
hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk
menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa
pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin
dengan nilai yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi
waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling
mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya,
algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang
cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin
buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang
berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam
menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian,
carilah algoritma yang paling efisien dan cepat.
2
1.3 Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis
dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa
pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa
pemrograman. Beberapa pakar memberi formula bahwa :
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah
program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat
program menjadi kurang baik, demikian juga sebaliknya.
Pembuatan algoritma mempunyai banyak keuntungan di antaranya :
 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman
manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan
komputer yang melaksanakannya.
 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
 Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena
algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma :
 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi
tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa
pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi
algoritmik.
 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.
 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.
 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu
permasalahan ke dalam bahasa pemrograman.
3
 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 :
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa
pemrograman apabila tidak semua bahasa pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel
maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki
kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa
pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-
hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.
1.4 Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan
gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu
(misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. 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. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart.
Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses
penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan
meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan
diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan
digunakan telah diketahui sejak awal.
1.5 Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan
antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
4
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.
Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :
 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media
lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:
 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan
urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.
- 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. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu
pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri
atas 3 bagian utama, yaitu :
1. Input,
2. Proses pengolahan dan
3. Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:
1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum
menangani pemecahan persoalan.
2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan
data yang dibaca.
4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
5
5. END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada
beberapa anjuran :
1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga
jalannya proses menjadi singkat.
2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk
memperjelas.
3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia
pemrograman :
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.
Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas
persegi panjang.
Solusi : Perumusan untuk mencari luas persegi panjang adalah :
L = p . l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
6
Keterangan :
1. Simbol pertama menunjukkan
dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa
input data dari p dan l.
3. Data dari p dan l akan diproses pada
simbol ketiga dengan menggunakan
perumusan L = p. l.
4. Simbol keempat menunjukkan hasil
output dari proses dari simbol ketiga.
5. Simbol kelima atau terakhir
menunjukkan berakhirnya program dengan tanda End.
1.6 Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah 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
2. Digunakan untuk program yang pernyataannya sequential atau urutan.
3. Struktur Pemilihan
4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
5. Struktur Perulangan
6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman
apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman
manapun.
1.7 Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan
komputer adalah :
 Definisikan Masalah
 Buat Algoritma dan Struktur Cara Penyelesaian
 Menulis Program
 Mencari Kesalahan
 Uji dan Verifikasi Program
 Dokumentasi Program
 Pemeliharaan Program
7
BAB II
PENGENALAN BAHASA C
Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu:
Penjelasan :
1. Include
Adalah salah satu pengarah prepocessor directive yang tersedia pada C++.
Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk
umumnya :
# include <nama_file>
tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk
pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan
kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file
header) yaitu file yang berisi sebagai deklarasi contohnya:
- # include <iostream.h> : diperlukan pada program yang melibatkan objek
cout
- # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah
untuk membersihkan layar.
- # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat
untuk mengatur lebar dari suatu tampilan data.
- # include <math.h> : diperlukan pada program yang menggunkan operasi
sqrt () yang bermanfaat untuk operasi matematika
kuadrat.
2. Fungsi main ()
Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama
judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh
# prepocessor directive
void main()
{
// Batang Tubuh Program Utama
}
8
program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program
utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi.
Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang
coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi
main().
3. Komentar
Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis
komentar, yaitu:
Jenis 1 : /* Komentar anda diletakkan di dalam ini
Bisa mengapit lebih dari satu baris */
Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris )
4.Tanda Semicolon
Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap
pernyataan harus diakhiri dengan sebuah tanda semicolon.
5. Mengenal cout(dibaca : C out)
Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk
mengarahkan data ke dalam standar output (cetak pada layar)
Contoh :
#include <iostream.h>
Void main ()
{
Cout << “HAI, selamat meggunakan C++ “;
}
Tanda “ << “ merupakan sebuah operator yang disebut operator
“penyisipan/peletakan”
2.1 Variabel
Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu
nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
9
tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh
nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang
mempunyai sintaks sebagai berikut :
Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai
berikut :
1. 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.
2. Tidak boleh mengandung spasi.
3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah
(underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain
: $, ?, %, #, !, &, *, (, ), -, +, =dsb.
4. 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
2.2 Deklarasi
Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam
program. Identifier dapat berupa variable, konstanta dan fungsi.
2.2.1 Deklarasi Variabel
Bentuk umumnya :
Contoh :
int x; // Deklarasi x bertipe integer
char y, huruf, nim[10]; // Deklarasi variable bertipe char
float nilai; // Deklarasi variable bertipe float
double beta; // Deklarasi variable bertipe double
int array[5][4]; // Deklarasi array bertipe integer
variable = ekspresi
;
Nama_tipe nama_variabel;
10
Contoh :
#include <iostream.h>
Void main ()
{
Int ;
n=66; // sama juga jika ditulis int n=66;
cout<<n<<endl; //n sebagai variabel
cout<<’n’<<endl; // end sebagai karakter
}
Outputnya :
66
n
2.2.2 Deklarasi Konstanta
a. Menggunakan keyword const
Contoh : const float PI = 3.14152965;
Berbeda dengan variable, konstanta bernama tidak dapat diubah
jika telah diinisialisasi
b. Menggunakan #define
Contoh : #define PI 3.14152965
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah
kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama
kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor
directive) dan mengganti semua Phi dengan nilai 3.14152965.
Contoh :
#include <iostream.h>
Void main ()
{
Const float phi = 3.14;
Float jari_jari, luas, keliling;
Jari_jari=7.0;
Luas = 0.5 * phi * jari_jari * jari_jari;
Keliling = 2 * phi * jari_jari;
11
Cout << “ Luas Lingkaran = “ << luas << endl;
Cout << “keliling lingkaran = “ << keliling;
}
2.3 Tipe Data
Tipe data dapat dikelompokkan menjadi atas dua macam :
1. Tipe Dasar.
2. Tipe Bentukkan.
2.3.1 Tipe Dasar
Adalah tipe yang dapat langsung dipakai.
Tipe Dasar Ukuran
Memori
(byte)
Jangkauan Nilai Jumlah Digit
Presisi
Char 1 -128 hingga +127 -
Int 2 -32768 hingga +32767 -
Long 4 -2.147.438.648 hingga
2.147.438.647
-
Float 4 3,4E-38 hingga 3,4E38 6-7
Double 8 1,7E-308 hingga
1.7E308
15-16
Long Double 10 3.4E-4932 hingga
1.1E4932
19
NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe)
Tipe data dapat diubah ( type cast ), misalkan:
float x = 3.345;
int p = int(x);
maka nilai p adalah 3 ( terjadi truncating ).
2.3.2 Tipe Bentukan
Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur.
2.3.2.2 Tipe Struktur
Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri
dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
12
kemudahan dalam operasi.
Bentuk umumnya :
2.4 Operator Bahasa C
Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan
sesuatu operasi atau manipulasi.
2.4.1 Operator penugasan
Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan
(“=”).
Contoh :
nilai = 80;
A = x * y;
Penjelasan :
variable “nilai” diisi dengan 80 dan
variable “A” diisi dengan hasil perkalian antara x dan y.
2.4.2 Operator Aritmatika
Operator Deskripsi
+ Penjumlahan (Add)
- Pengurangan (Substract)
* Perkalian (Multiply)
/ Pembagian (Divide)
% Sisa Pembagian Integer
(Modulus)
2.4.3 Operator Hubungan (Perbandingan)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++.
tyedef struct{ tipe nama_field1;
tipe nama_field2;
tipe nama_field3;
. . . .
}nama_variabel;
13
Operator Arti Contoh
== Sama dengan (bukan assignment) X==y Apakah x sama dengan y
!= Tidak sama dengan X!=y Apakah x sama dengan y
> Lebih besar X > y Apakah x lebih besar dari y
< Lebih kecil X < y Apakah x lebih kecil dari y
>= Lebih besar atau sama dengan X >= y Apakah x kurang dari sama
dengan y
<= Lebih kecil atau sama dengan
2.4.4 Operator Naik Dan Turun ( Increment Dan Decrement )
Operator increment ++
Operator decrement --
Contoh :
#include <iostream.h>
Void main ()
{
Int m = 44, n =66;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
++m; --n;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
M++; n--;
Cout<<”m = “<<m<<”, n = “<<n<<endl;
}
Outputnya :
M = 44, n = 66
M = 45, n = 65
M = 46, n = 64
2.4.5 Operator Bitwise
Operator Deskripsi Contoh
<< Geser n bit ke kiri M << n
>> Geser n bit ke kanan M >> n
& Bitwise AND M & n
I Bitwise OR M I n
^ Bitwise XOR M ^ n
~ Bitwise NOT ~m
NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau
14
Char.
2.4.6 Operator Logika
Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi
sebuah ungkapan berkondisi.
Operator Deskripsi Contoh
&& Logic AND M && n
II Logic OR M II n
! Logic NOT !m
2.4.7 Operator Unary
- : unary minus
++ : peningkatan dengan penambahan nilai 1
-- : penurunan dengan pengurangan nilai 1
Sizeof : Ukuran dari operand dalam byte
! : unary NOT
& : menghasilkan alamat memory operand
* : menghasilkan nilai dari pointer
2.5 Operator Input dan Output
 Menampilkan Data / Informasi Ke Layar
Untuk menampilkan data / informasi, fungsi yang digunakan adalah sama dengan
dengan turbo c, yaitu printf( ), puts( ), dan putchar( ).
1. Printf( )
Bentuk umum pernyataan printf adalah:
Printf(“string kontrol”, argumen1,argumen2,…);
String kontrol dapat berupa keterangan yang akan ditampilkan beserta penentu
format (seperti %d, %f, dll). Argumen adalah data yang akan ditampilkan ke layar
yang dapat berupa variabel, konstanta, bahkan ungkapan.
Misal:
Printf(“%d”,20); // argumen berupa konstanta
Printf(“%d”,a); // argumen berupa variabel
Printf(“%d”,a+20); // argumen berupa ungkapan
Contoh :
#include<stdio.h>
main()
15
{
unsigned int segmen_grafik=0xB800;
float x=251000.0;
printf("Nilai segmen grafik (oktal) : %on",segmen_grafik);
printf("Nilai segmen grafik (desimal) : %un",segmen_grafik);
printf("Nilai segmen grafik (heksadesial) : %xn",segmen_grafik);
printf("nFormat e -> %en",x);
printf("Format f -> %fn",x);
printf("Format g -> %gn",x);
}
2.Puts( ) dan Putchar( )
Fungsi puts( ) digunakan untuk menampilkan data string ke layar. Sifat fungsi ini
secara otomatis akan diakhiri dengan n (pindah baris). Berbeda dengan fungsi Putchar( )
yang khusus untuk menampilkan sebuah karakter dan tidak diakhiri dengan perpindahan
baris.
Contoh penggunaan:
Puts(“Belajar Turbo C++);
Putchar(‘A’);
 Memasukkan Data Dari Keyboard
Untuk input data digunakan fungsi scanf( ), getch( ) dan getche( ).
1. Scanf( )
Bentuk umum scanf( ) adalah:
Scanf(“string kontrol”, daftar argumen);
Untuk penentu format, bentuknya sama seperti pada printf( ). Sedangkan untuk
daftar argumen, haruslah berupa alamat yang ditambahkan tanda & (operator
alamat).
2. Getch( ) dan Getche( )
Fungsi getch( ) digunakan untuk membaca sebuah karakter, dengan sifat karakter
yang dimasukkan tak perlu diakhiri dengan ENTER. Disamping itu, karakter yang
dimasukkan tak akan ditampilkan pada layar.
Sedangkan fungsi getche( ), karakter yang dimasukkan akan ditampilkan pada
16
layar. Berikut ini contoh penggunaan fungsi getch( ) dan getche( ):
#include<stdio.h>
#include<conio.h>
main()
{
char huruf1,huruf2;
printf("Masukkan sebuah karakter: ");
huruf1=getche(); // karakter yang dimasukkan akan terlihat di layar
printf("nKarakter yang Anda masukkan adalah: %c",huruf1);
printf("nMasukkan sebuah karakter lagi: ");
huruf2=getch(); // karakter yang dimasukkan tidak terlihat di layar
printf("nKarakter yang Anda masukkan adalah: %c",huruf2);
getch();
}
17
BAB III
STRUKTUR KONTROL
3.1 Struktur Kondisi “If…”
Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu
kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka
pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum
struktur kondisi if adalah:
If(kondisi)
Pernyataan;
Buat program baru dan ketik code berikut:
#include<stdio.h>
main()
{
double tot_pemb,korting;
printf("Total Pembelian : Rp ");
scanf("%lf",&tot_pemb);
korting=0; // Tentukan nilai awal variabel korting
if(tot_pemb>=50000)
korting=0.5*tot_pemb;
printf("Besarnya Korting : Rp %.2lfn",korting);
}
Namun jika menggunakan if…else akan memuat dua perintah yaitu perintah dimana jika
penyataan terpenuhi dan tidak terpenuhi.
Penulisan :
if(kondisi)
else
//apabila statement A tidak terpenuhi
Contoh :
Bila jumlah mahasiswa yang membolos lebih dari 10 maka tampilkan hasil “tidak boleh
mengikuti ujian”,jika tidak maka “boleh mengikuti ujian”.
if(bolos>10)
printf(“tidak boleh ujian”);
else
printf(“boleh ujian);
jika ingin menggunakan alternatif kondisi lebih dari satu dapat digunakan else if.
18
Contoh:
if(ukuran>=80)
printf(“XL”);
else if(ukuran<=20)
printf(“M”);
else
printf(“S”);
3.2 Perulangan (Looping)
perulangan digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu
kondisi dipenuhi atau sebaliknya.
Proses looping yang menggunakan penghitungan dapat dibuat menggunakan pernyataan
FOR.
Bentuk umum :
for (ungkapan1; keadaan; ungkapan 3)
{
pernyataan;
}
Bentuk diatas berarti:
a) Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping
b) Keadaan adalah kondisi untuk keluar dari looping
c) Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel pengendali looping
Contoh :
#include
#include
void main ()
{
for (int n=10; n>0; n--)
{
cout<<”, “;
}
cout<<”STOP!”;
getch ();
}
Hasilnya adalah:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
3. Perintah do....while
Perintah ini menyatakan pengulangan proses selama kondisi tertentu.
Bentuk umum :
Do
{
Pernyataan;
Pernyataan;
}
19
While (keadaan)
Setiap loop dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi
dan jika salah maka proses loop berhenti dan berlanjut pada perintah selanjutnya.
contoh:
#include
#include
void main ()
{
int a;
a =1;
do
{
cout<<”ayu”;
a++
} while (a<=5);
getch();
}
4. Perintah WHILE
Perintah WHILE prinsipnya sama dengan perintah DO...WHILE hanya pengujian kondisinya
terletak pada awal loop.
Bentuk umum:
While (keadaan)
Pernyataan;
Atau
While (keadaan)
{
Pernyataan;
Pernyataan;
}
 Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan yang dibatasi
dengan tanda {}.
 Pernyataan itu akan dijalankan jika kondisinya masih benar.
 Keadaan disini boleh merupakan sembarang pernyataan yang mengandung nilai suatu
variabel, pernyataan binari, pernyataan aritmatik, atau nilai return hasil dari
memanggil suatu fungsi.
Contoh:
#include
#include
void main ()
{
int n;
cout<<”masukkan angka untuk mulai : “;
cin>>n;
while (n>0)
{
cout<< n << “, “;
--n;
}
cout <<”STOP!”;
getch ();
}
20
Hasilnya adalah:
Masukkan angka untuk mulai : 4
4, 3, 2, 1, STOP!
5. Perintah CONTINUE
Perintah ini digunakan untuk mengarahkan jalannya program ke iterasi (proses) berikutnya
pada loop yang sama
Bentuk umum:
While (kondisi)
{
. . . .
. . . .
. . . .
CONTINUE;
. . . .
. . . .
}
. . . .
Contoh program perintah CONTINUE:
#include
#include
void main ()
{
for (int n=10; n>0; n--)
{
if (n==5) continue;
cout<<<”, “;
}
cout<<”STOP!”;
getch ();
}
Hasilnya adalah:
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
6.Struktur Selektif (switch)
Logika menggunakkan switvh sama dengan logika menggunakkan if .
Bentuk Umum :
switch (pilihan)
{
case nilai 1:
blok pernyataan1
break;
case nilai 2 :
blok pernyataan nilai 2
break;
-
-
21
default :
blok pernyataan default
}
Contoh :
switch (a)
{
case 1:
cout<<”a adalah 1”;
break;
case 2:
cout<<”a adalah 2”;
break;
default:
cout<<”error”;
}
3.3 Array
Pengertian Array adalah tipe data terstruktur yang berguna untuk menyimpan sejumlah data
yang bertipe sama. Bagian penyusun aray disebut elemen array yang masing-masing elemen
dapat di akses tersendiri melalui index array yang dapat berupa integer atau string.
3.3.1 Deklarasi Array
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti
dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk
variabel array D di atas adalah:
Int d[7];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang
dideklarasikan,nomor indeks selalu dimulai dari 0. Nilai suatu variabel array dapat juga
diinisialisasi secara langsung pada saat deklarasi, misalnya:
Int d[7] = {-45, 0, 6, 72, 1543, 43, 4};
setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai yang dituliskan di
dalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan banyaknya nilai
yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variabel array dengan
10 lokasi memori:
Int x[ ] = {10, 15, 12, 5, 13, 9, 6, 17, 25, 31};
Contoh program array
/*Program:array1. Cpp*/
#include
#define SIZE 12
main() {
int a [SIZE] = {1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
int indeks, total = 0;
for (indeks=0 ; indeks<=SIZE-1 ; indeks++)
total += a [indeks];
printf (“nTotal setiap elemen array adalah %d”, total);
return 0;
}
Bila program diatas dijalankan, akan muncul hasil:
Total setiap elemen array adalah 383
22
3.3.2 Array Dimensi Satu
Struktur array mempunyai satu dimensi, sehingga variabelnya disebut dengan variabel array
berdimensi satu
Bentuknya :
Tipe nama_var [ukuran];
Dengan:
Tipe : menyatakan jenis elemen array (int, char,unsigned, dll)
Ukuran : menyatakan jumlah maksimal elemen array.
Contoh:
Float nilai_angka[5];
Pada turbo C++, array disimpan dalam memori secara berurutan. Elemen pertama berindeks
nol digambarkan sebagai berikut :
Nilai_angka[0]
Nilai_angka[1]
Nilai_angka[2]
Nilai_angka[3]
Nilai_angka[4]
Masing-masing bertipe float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa:
Static int angka [9] = {1, 2, 3, 4, 5, 6, 7, 8, 9}
Sesuai dengan deklarasi array diatas, maka isi variabel array telah ditentukan yaitu:
angka[0] bernilai 1
angka[1] bernilai 2
angka[2] bernilai 3
angka[3] bernilai 4
angka[4] bernilai5
angka[5] bernilai 6
angka[6] bernilai 7
angka[7] bernilai 8
angka[8] bernilai9
}
3.3.3 Array Dimensi Dua
Array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik C berukuran 2 x 3 dapat dideklarasikan dalam C seperti
berikut:
int c[2][3] = {{2,4,1},{5,3,7}};
akan menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7
23
Dan definisi variabel untuk setiap elemen tersebut adalah :
Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini:
Contoh program array dimensi dua
/*Program: array3 .cpp*/
#include
void printArray (int [] [3]),
main() {
int matrik1 [2] [3] = { {1, 2, 3}, {4, 5, 6} }
matrik2 [2] [3] = { 1, 2, 3, 4, 5},
matrik3 [2] [3] = { {1, 2}, {4} };
printarray (matrik1);
printarray (matrik2);
printarray (matrik3);
return 0;
}
void printArray (int a[] [3]) {
int i, j;
for (i=0; i<=1; i++) {
for (j=0; j<=2; j++)
printf(“%d”, a[i][j] );;
printf (“n”);
}
}
Bila program diatas dijalankan, akan muncul hasil:
123
456
123
450
120
400
3.3.4 Array Dimensi Banyak
Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar.
Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu
kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang
penting.
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]
24
DAFTAR PUSTAKA
http://ruly.blogdetik.com/2009/10/04/pengertian-dasar-logika-dan-algoritma/
http://yusriel.wordpress.com/2008/09/24/pertemuan-1-pengertian-dasar-logika-dan-
algoritma/
http://lecturer.ukdw.ac.id/anton/download/strukdat1.pdf
http://usupress.usu.ac.id/file
http://bab-01SDCpp-Tipedata.com/download
http://modul_terstruktur_d3/
http://www.cs.caltech.edu/~cs138/
http://www.lehigh.edu/~tkr2/teaching/ie170/
http://hercule.csci.unt.edu/~ian/classes/fall03/csci4450/info.html

More Related Content

What's hot

Makalah individu
Makalah individuMakalah individu
Makalah individu
taufiq99
 

What's hot (20)

Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasi
 
Kata pengantar, abstrak dan daftar isi
Kata pengantar, abstrak dan daftar isiKata pengantar, abstrak dan daftar isi
Kata pengantar, abstrak dan daftar isi
 
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
 
Makalah individu
Makalah individuMakalah individu
Makalah individu
 
Laporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhanaLaporan aplikasi perancangan database sederhana
Laporan aplikasi perancangan database sederhana
 
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASITUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
TUGAS MAKALAH TEKNOLOGI INFORMASI & KOMUNIKASI
 
Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi Tipe manajemen memori pada sistem operasi
Tipe manajemen memori pada sistem operasi
 
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
 
Proposal Business Plan - business
Proposal Business Plan - businessProposal Business Plan - business
Proposal Business Plan - business
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Makalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannyaMakalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannya
 
Embedded System.pptx
Embedded System.pptxEmbedded System.pptx
Embedded System.pptx
 
Soal konsep sistem informasi abc
Soal konsep sistem informasi   abcSoal konsep sistem informasi   abc
Soal konsep sistem informasi abc
 
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
 
Makalah Ragam Bahasa Indonesia
Makalah Ragam Bahasa IndonesiaMakalah Ragam Bahasa Indonesia
Makalah Ragam Bahasa Indonesia
 
Array dan Contoh
Array dan ContohArray dan Contoh
Array dan Contoh
 
MultiProgramming and Time Sharing
MultiProgramming and Time SharingMultiProgramming and Time Sharing
MultiProgramming and Time Sharing
 
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
Makalah Aplikasi Data Penjualan Menggunakan Visual Basic 6.0
 
Sistem Komputer (Software, Hardware & Brainware)
Sistem Komputer (Software, Hardware & Brainware)Sistem Komputer (Software, Hardware & Brainware)
Sistem Komputer (Software, Hardware & Brainware)
 
Prosessor SAP 1
Prosessor SAP 1Prosessor SAP 1
Prosessor SAP 1
 

Similar to makalah tentang algoritma lengkap

Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
farizky berian
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
Mastur Cell
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Adri Demmanongkan
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Bay Cliquers
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
immunandar
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
immunandar
 

Similar to makalah tentang algoritma lengkap (20)

Algoritma & dasar pemrograman
Algoritma & dasar pemrogramanAlgoritma & dasar pemrograman
Algoritma & dasar pemrograman
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Pengantar Algoritma Dan Program
Pengantar Algoritma Dan ProgramPengantar Algoritma Dan Program
Pengantar Algoritma Dan Program
 
Algoritma Pemrograman
Algoritma Pemrograman Algoritma Pemrograman
Algoritma Pemrograman
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
pemrograman dasar.pptx
pemrograman dasar.pptxpemrograman dasar.pptx
pemrograman dasar.pptx
 
Kegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchartKegiatan belajar 1 flowchart
Kegiatan belajar 1 flowchart
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMANPENGERTIAN ALGORITMA DAN PEMROGRAMAN
PENGERTIAN ALGORITMA DAN PEMROGRAMAN
 
Bab II
Bab IIBab II
Bab II
 
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
Algoritma Dan Pemrograman; Teori Dan Praktik Dalam Pascal Edisi Kedua Normal ...
 
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
Algoritma dan pemrograman; teori dan praktik dalam pascal edisi kedua normal ...
 
Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )Dasar pemrograman ( algorithma pemrograman )
Dasar pemrograman ( algorithma pemrograman )
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
2.sd 13.ok
2.sd 13.ok2.sd 13.ok
2.sd 13.ok
 
2.sd 13
2.sd 132.sd 13
2.sd 13
 
Algorithm i kelompok switch
Algorithm i kelompok switchAlgorithm i kelompok switch
Algorithm i kelompok switch
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 
Algoritma dan-pemrograman
Algoritma dan-pemrogramanAlgoritma dan-pemrograman
Algoritma dan-pemrograman
 

More from Lela Warni

Tabel ascii terlengkap
Tabel ascii terlengkapTabel ascii terlengkap
Tabel ascii terlengkap
Lela Warni
 
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Lela Warni
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
Lela Warni
 
Makalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkapMakalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkap
Lela Warni
 
Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap
Lela Warni
 
operasi unit kontrol
operasi unit kontroloperasi unit kontrol
operasi unit kontrol
Lela Warni
 
mode pengalamatan
mode pengalamatanmode pengalamatan
mode pengalamatan
Lela Warni
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik
Lela Warni
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
Lela Warni
 
Manusia dan penderitaan
Manusia dan penderitaan Manusia dan penderitaan
Manusia dan penderitaan
Lela Warni
 
Makalah sejarah prosesor
Makalah sejarah prosesor Makalah sejarah prosesor
Makalah sejarah prosesor
Lela Warni
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
Lela Warni
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer
Lela Warni
 
Kelompok kata
Kelompok kata Kelompok kata
Kelompok kata
Lela Warni
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfik
Lela Warni
 
Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945 Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945
Lela Warni
 

More from Lela Warni (20)

Tenses
Tenses Tenses
Tenses
 
Tabel ascii terlengkap
Tabel ascii terlengkapTabel ascii terlengkap
Tabel ascii terlengkap
 
Struktur cpu
Struktur cpu Struktur cpu
Struktur cpu
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
Pengaruh teknologi dalam pembentukan kreatifitas mahasiswa
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
 
Makalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkapMakalah sejarah prosesor lengkap
Makalah sejarah prosesor lengkap
 
Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap Instalasi linux ubuntu dan windows 7 lengkap
Instalasi linux ubuntu dan windows 7 lengkap
 
operasi unit kontrol
operasi unit kontroloperasi unit kontrol
operasi unit kontrol
 
mode pengalamatan
mode pengalamatanmode pengalamatan
mode pengalamatan
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik
 
ALU
ALUALU
ALU
 
Modul kuliah jaringan komputer
Modul kuliah jaringan komputer Modul kuliah jaringan komputer
Modul kuliah jaringan komputer
 
Manusia dan penderitaan
Manusia dan penderitaan Manusia dan penderitaan
Manusia dan penderitaan
 
Makalah sejarah prosesor
Makalah sejarah prosesor Makalah sejarah prosesor
Makalah sejarah prosesor
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Kinerja komputer
Kinerja komputer Kinerja komputer
Kinerja komputer
 
Kelompok kata
Kelompok kata Kelompok kata
Kelompok kata
 
Journal komputer garfik
Journal komputer garfikJournal komputer garfik
Journal komputer garfik
 
Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945 Dinamika pelaksanaan undang – undang dasar 1945
Dinamika pelaksanaan undang – undang dasar 1945
 

Recently uploaded

.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
furqanridha
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
FitriaSarmida1
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
DessyArliani
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
MaskuratulMunawaroh
 

Recently uploaded (20)

.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx.....................Swamedikasi 2-2.pptx
.....................Swamedikasi 2-2.pptx
 
PPT BAHASA INDONESIA KELAS 1 SEKOLAH DASAR
PPT BAHASA INDONESIA KELAS 1 SEKOLAH DASARPPT BAHASA INDONESIA KELAS 1 SEKOLAH DASAR
PPT BAHASA INDONESIA KELAS 1 SEKOLAH DASAR
 
Prakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptxPrakarsa Perubahan dan kanvas ATAP (1).pptx
Prakarsa Perubahan dan kanvas ATAP (1).pptx
 
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
Modul Ajar IPAS Kelas 4 Fase B Kurikulum Merdeka [abdiera.com]
 
Konseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusiaKonseptual Model Keperawatan Jiwa pada manusia
Konseptual Model Keperawatan Jiwa pada manusia
 
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docxKisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
Kisi kisi Ujian sekolah mata pelajaran IPA 2024.docx
 
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
Aksi Nyata Menyebarkan (Pemahaman Mengapa Kurikulum Perlu Berubah) Oleh Nur A...
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHANTUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
TUGAS RUANG KOLABORASI 1.3 PRAKARSA PERUBAHAN
 
Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024Panduan Memahami Data Rapor Pendidikan 2024
Panduan Memahami Data Rapor Pendidikan 2024
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptxAKSI NYATA  Numerasi  Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
AKSI NYATA Numerasi Meningkatkan Kompetensi Murid_compressed (1) (1).pptx
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 20241. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
1. Kisi-kisi PAT IPA Kelas 7 Kurmer 2024
 
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INGGRIS KELAS 6 KURIKULUM MERDEKA.pdf
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 

makalah tentang algoritma lengkap

  • 1. 1 BAB I PENGENALAN ALGORITMA 1.1 Apakah Itu Algoritma? Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. 1.2 Definisi Algoritma “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah- langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
  • 2. 2 1.3 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa : Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya. Pembuatan algoritma mempunyai banyak keuntungan di antaranya :  Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.  Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.  Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama. Beberapa hal yang perlu diperhatikan dalam membuat algoritma :  Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.  Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.  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.  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.  Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • 3. 3  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 : a. Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya. b. Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data. c. Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda. d. Aturan sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan. e. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal- hal teknis ini diperhatikan ketika mengkonversikannya menjadi program. f. Cara pengoperasian compiler atau interpreter. Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. 1.4 Penyajian Algoritma Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. 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. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal. 1.5 Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan
  • 4. 4 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. Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :  Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:  Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program. - 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. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu : 1. Input, 2. Proses pengolahan dan 3. Output Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah: 1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan. 2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input. 3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca. 4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  • 5. 5 5. END, mengakhiri kegiatan pengolahan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran : 1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. 2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. 3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman : Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana. Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang. Solusi : Perumusan untuk mencari luas persegi panjang adalah : L = p . l di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.
  • 6. 6 Keterangan : 1. Simbol pertama menunjukkan dimulainya sebuah program. 2. Simbol kedua menunjukkan bahwa input data dari p dan l. 3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l. 4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga. 5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End. 1.6 Struktur Dasar Algoritma Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah 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 2. Digunakan untuk program yang pernyataannya sequential atau urutan. 3. Struktur Pemilihan 4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi. 5. Struktur Perulangan 6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun. 1.7 Tahapan dalam Pemrograman Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :  Definisikan Masalah  Buat Algoritma dan Struktur Cara Penyelesaian  Menulis Program  Mencari Kesalahan  Uji dan Verifikasi Program  Dokumentasi Program  Pemeliharaan Program
  • 7. 7 BAB II PENGENALAN BAHASA C Setiap program C++ mempunyai bentuk umum seperti di bawah, yaitu: Penjelasan : 1. Include Adalah salah satu pengarah prepocessor directive yang tersedia pada C++. Preprocessor selalu dijalankan terlebih dahulu pada saat proses kompilasi terjadi. Bentuk umumnya : # include <nama_file> tidak diakhiri dengan tanda semicolon, karena bentuk tersebut bukanlah suatu bentuk pernyataan, tetapi merupakan prepocessor directive. Baris tersebut menginstrusikan kepada kompiler yang menyisipkan file lain dalam hal ini file yang berakhiran .h(file header) yaitu file yang berisi sebagai deklarasi contohnya: - # include <iostream.h> : diperlukan pada program yang melibatkan objek cout - # include <conio.h> : diperlukan bila melibatkan clrscr(),yaitu perintah untuk membersihkan layar. - # include <iomanip.h> : diperlukan bila melibatkan setw() yang bermanfaat untuk mengatur lebar dari suatu tampilan data. - # include <math.h> : diperlukan pada program yang menggunkan operasi sqrt () yang bermanfaat untuk operasi matematika kuadrat. 2. Fungsi main () Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh # prepocessor directive void main() { // Batang Tubuh Program Utama }
  • 8. 8 program utama berada didalam fungsi main( ). Berarti dalam setiap pembuatan program utama, maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi. Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi main(). 3. Komentar Komentar tidak pernah dicompile oleh compiler. Dalam C++ terdapat 2 jenis komentar, yaitu: Jenis 1 : /* Komentar anda diletakkan di dalam ini Bisa mengapit lebih dari satu baris */ Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris ) 4.Tanda Semicolon Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda semicolon. 5. Mengenal cout(dibaca : C out) Pernyataan cout merupakan sebuah objek di dalam C++, yang digunakan untuk mengarahkan data ke dalam standar output (cetak pada layar) Contoh : #include <iostream.h> Void main () { Cout << “HAI, selamat meggunakan C++ “; } Tanda “ << “ merupakan sebuah operator yang disebut operator “penyisipan/peletakan” 2.1 Variabel Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu
  • 9. 9 tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Untuk memperoleh nilai dari suatu variable digunakan pernyataan penugasan (assignment statement), yang mempunyai sintaks sebagai berikut : Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut : 1. 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. 2. Tidak boleh mengandung spasi. 3. Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, =dsb. 4. 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 2.2 Deklarasi Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi. 2.2.1 Deklarasi Variabel Bentuk umumnya : Contoh : int x; // Deklarasi x bertipe integer char y, huruf, nim[10]; // Deklarasi variable bertipe char float nilai; // Deklarasi variable bertipe float double beta; // Deklarasi variable bertipe double int array[5][4]; // Deklarasi array bertipe integer variable = ekspresi ; Nama_tipe nama_variabel;
  • 10. 10 Contoh : #include <iostream.h> Void main () { Int ; n=66; // sama juga jika ditulis int n=66; cout<<n<<endl; //n sebagai variabel cout<<’n’<<endl; // end sebagai karakter } Outputnya : 66 n 2.2.2 Deklarasi Konstanta a. Menggunakan keyword const Contoh : const float PI = 3.14152965; Berbeda dengan variable, konstanta bernama tidak dapat diubah jika telah diinisialisasi b. Menggunakan #define Contoh : #define PI 3.14152965 Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol #define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua Phi dengan nilai 3.14152965. Contoh : #include <iostream.h> Void main () { Const float phi = 3.14; Float jari_jari, luas, keliling; Jari_jari=7.0; Luas = 0.5 * phi * jari_jari * jari_jari; Keliling = 2 * phi * jari_jari;
  • 11. 11 Cout << “ Luas Lingkaran = “ << luas << endl; Cout << “keliling lingkaran = “ << keliling; } 2.3 Tipe Data Tipe data dapat dikelompokkan menjadi atas dua macam : 1. Tipe Dasar. 2. Tipe Bentukkan. 2.3.1 Tipe Dasar Adalah tipe yang dapat langsung dipakai. Tipe Dasar Ukuran Memori (byte) Jangkauan Nilai Jumlah Digit Presisi Char 1 -128 hingga +127 - Int 2 -32768 hingga +32767 - Long 4 -2.147.438.648 hingga 2.147.438.647 - Float 4 3,4E-38 hingga 3,4E38 6-7 Double 8 1,7E-308 hingga 1.7E308 15-16 Long Double 10 3.4E-4932 hingga 1.1E4932 19 NB : Untuk mengetahui ukuran memori dari suatu tipe digunakan fungsi sizeof(tipe) Tipe data dapat diubah ( type cast ), misalkan: float x = 3.345; int p = int(x); maka nilai p adalah 3 ( terjadi truncating ). 2.3.2 Tipe Bentukan Merupakan tipe yang dibentuk dari tipe dasar. Seperti Tipe Struktur. 2.3.2.2 Tipe Struktur Suatu tipe data yang merupakan kumpulan dari tipe data lainnya. Struktur terdiri dari data yang disebut field. Field – field tersebut digabungkan menjadi satu tujuan untuk
  • 12. 12 kemudahan dalam operasi. Bentuk umumnya : 2.4 Operator Bahasa C Operator adalah symbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi. 2.4.1 Operator penugasan Operator Penugasan (Assignment operator) dalam bahasa C++ berupa tanda sama dengan (“=”). Contoh : nilai = 80; A = x * y; Penjelasan : variable “nilai” diisi dengan 80 dan variable “A” diisi dengan hasil perkalian antara x dan y. 2.4.2 Operator Aritmatika Operator Deskripsi + Penjumlahan (Add) - Pengurangan (Substract) * Perkalian (Multiply) / Pembagian (Divide) % Sisa Pembagian Integer (Modulus) 2.4.3 Operator Hubungan (Perbandingan) Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C++. tyedef struct{ tipe nama_field1; tipe nama_field2; tipe nama_field3; . . . . }nama_variabel;
  • 13. 13 Operator Arti Contoh == Sama dengan (bukan assignment) X==y Apakah x sama dengan y != Tidak sama dengan X!=y Apakah x sama dengan y > Lebih besar X > y Apakah x lebih besar dari y < Lebih kecil X < y Apakah x lebih kecil dari y >= Lebih besar atau sama dengan X >= y Apakah x kurang dari sama dengan y <= Lebih kecil atau sama dengan 2.4.4 Operator Naik Dan Turun ( Increment Dan Decrement ) Operator increment ++ Operator decrement -- Contoh : #include <iostream.h> Void main () { Int m = 44, n =66; Cout<<”m = “<<m<<”, n = “<<n<<endl; ++m; --n; Cout<<”m = “<<m<<”, n = “<<n<<endl; M++; n--; Cout<<”m = “<<m<<”, n = “<<n<<endl; } Outputnya : M = 44, n = 66 M = 45, n = 65 M = 46, n = 64 2.4.5 Operator Bitwise Operator Deskripsi Contoh << Geser n bit ke kiri M << n >> Geser n bit ke kanan M >> n & Bitwise AND M & n I Bitwise OR M I n ^ Bitwise XOR M ^ n ~ Bitwise NOT ~m NB : Seluruh operator bitwise hanya bisa dikenakan pada operand bertipe data int atau
  • 14. 14 Char. 2.4.6 Operator Logika Operator logika digunakan untuk menghubungkan dua atau lebih ungkapan menjadi sebuah ungkapan berkondisi. Operator Deskripsi Contoh && Logic AND M && n II Logic OR M II n ! Logic NOT !m 2.4.7 Operator Unary - : unary minus ++ : peningkatan dengan penambahan nilai 1 -- : penurunan dengan pengurangan nilai 1 Sizeof : Ukuran dari operand dalam byte ! : unary NOT & : menghasilkan alamat memory operand * : menghasilkan nilai dari pointer 2.5 Operator Input dan Output  Menampilkan Data / Informasi Ke Layar Untuk menampilkan data / informasi, fungsi yang digunakan adalah sama dengan dengan turbo c, yaitu printf( ), puts( ), dan putchar( ). 1. Printf( ) Bentuk umum pernyataan printf adalah: Printf(“string kontrol”, argumen1,argumen2,…); String kontrol dapat berupa keterangan yang akan ditampilkan beserta penentu format (seperti %d, %f, dll). Argumen adalah data yang akan ditampilkan ke layar yang dapat berupa variabel, konstanta, bahkan ungkapan. Misal: Printf(“%d”,20); // argumen berupa konstanta Printf(“%d”,a); // argumen berupa variabel Printf(“%d”,a+20); // argumen berupa ungkapan Contoh : #include<stdio.h> main()
  • 15. 15 { unsigned int segmen_grafik=0xB800; float x=251000.0; printf("Nilai segmen grafik (oktal) : %on",segmen_grafik); printf("Nilai segmen grafik (desimal) : %un",segmen_grafik); printf("Nilai segmen grafik (heksadesial) : %xn",segmen_grafik); printf("nFormat e -> %en",x); printf("Format f -> %fn",x); printf("Format g -> %gn",x); } 2.Puts( ) dan Putchar( ) Fungsi puts( ) digunakan untuk menampilkan data string ke layar. Sifat fungsi ini secara otomatis akan diakhiri dengan n (pindah baris). Berbeda dengan fungsi Putchar( ) yang khusus untuk menampilkan sebuah karakter dan tidak diakhiri dengan perpindahan baris. Contoh penggunaan: Puts(“Belajar Turbo C++); Putchar(‘A’);  Memasukkan Data Dari Keyboard Untuk input data digunakan fungsi scanf( ), getch( ) dan getche( ). 1. Scanf( ) Bentuk umum scanf( ) adalah: Scanf(“string kontrol”, daftar argumen); Untuk penentu format, bentuknya sama seperti pada printf( ). Sedangkan untuk daftar argumen, haruslah berupa alamat yang ditambahkan tanda & (operator alamat). 2. Getch( ) dan Getche( ) Fungsi getch( ) digunakan untuk membaca sebuah karakter, dengan sifat karakter yang dimasukkan tak perlu diakhiri dengan ENTER. Disamping itu, karakter yang dimasukkan tak akan ditampilkan pada layar. Sedangkan fungsi getche( ), karakter yang dimasukkan akan ditampilkan pada
  • 16. 16 layar. Berikut ini contoh penggunaan fungsi getch( ) dan getche( ): #include<stdio.h> #include<conio.h> main() { char huruf1,huruf2; printf("Masukkan sebuah karakter: "); huruf1=getche(); // karakter yang dimasukkan akan terlihat di layar printf("nKarakter yang Anda masukkan adalah: %c",huruf1); printf("nMasukkan sebuah karakter lagi: "); huruf2=getch(); // karakter yang dimasukkan tidak terlihat di layar printf("nKarakter yang Anda masukkan adalah: %c",huruf2); getch(); }
  • 17. 17 BAB III STRUKTUR KONTROL 3.1 Struktur Kondisi “If…” Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah: If(kondisi) Pernyataan; Buat program baru dan ketik code berikut: #include<stdio.h> main() { double tot_pemb,korting; printf("Total Pembelian : Rp "); scanf("%lf",&tot_pemb); korting=0; // Tentukan nilai awal variabel korting if(tot_pemb>=50000) korting=0.5*tot_pemb; printf("Besarnya Korting : Rp %.2lfn",korting); } Namun jika menggunakan if…else akan memuat dua perintah yaitu perintah dimana jika penyataan terpenuhi dan tidak terpenuhi. Penulisan : if(kondisi) else //apabila statement A tidak terpenuhi Contoh : Bila jumlah mahasiswa yang membolos lebih dari 10 maka tampilkan hasil “tidak boleh mengikuti ujian”,jika tidak maka “boleh mengikuti ujian”. if(bolos>10) printf(“tidak boleh ujian”); else printf(“boleh ujian); jika ingin menggunakan alternatif kondisi lebih dari satu dapat digunakan else if.
  • 18. 18 Contoh: if(ukuran>=80) printf(“XL”); else if(ukuran<=20) printf(“M”); else printf(“S”); 3.2 Perulangan (Looping) perulangan digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Proses looping yang menggunakan penghitungan dapat dibuat menggunakan pernyataan FOR. Bentuk umum : for (ungkapan1; keadaan; ungkapan 3) { pernyataan; } Bentuk diatas berarti: a) Ungkapan 1 adalah inisialisasi terhadap variabel pengendali looping b) Keadaan adalah kondisi untuk keluar dari looping c) Ungkapan 3 adalah pengatur kenaikan atau penurunan nilai variabel pengendali looping Contoh : #include #include void main () { for (int n=10; n>0; n--) { cout<<”, “; } cout<<”STOP!”; getch (); } Hasilnya adalah: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP! 3. Perintah do....while Perintah ini menyatakan pengulangan proses selama kondisi tertentu. Bentuk umum : Do { Pernyataan; Pernyataan; }
  • 19. 19 While (keadaan) Setiap loop dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi dan jika salah maka proses loop berhenti dan berlanjut pada perintah selanjutnya. contoh: #include #include void main () { int a; a =1; do { cout<<”ayu”; a++ } while (a<=5); getch(); } 4. Perintah WHILE Perintah WHILE prinsipnya sama dengan perintah DO...WHILE hanya pengujian kondisinya terletak pada awal loop. Bentuk umum: While (keadaan) Pernyataan; Atau While (keadaan) { Pernyataan; Pernyataan; }  Pernyataan dapat berupa pernyataan tunggal atau beberapa pernyataan yang dibatasi dengan tanda {}.  Pernyataan itu akan dijalankan jika kondisinya masih benar.  Keadaan disini boleh merupakan sembarang pernyataan yang mengandung nilai suatu variabel, pernyataan binari, pernyataan aritmatik, atau nilai return hasil dari memanggil suatu fungsi. Contoh: #include #include void main () { int n; cout<<”masukkan angka untuk mulai : “; cin>>n; while (n>0) { cout<< n << “, “; --n; } cout <<”STOP!”; getch (); }
  • 20. 20 Hasilnya adalah: Masukkan angka untuk mulai : 4 4, 3, 2, 1, STOP! 5. Perintah CONTINUE Perintah ini digunakan untuk mengarahkan jalannya program ke iterasi (proses) berikutnya pada loop yang sama Bentuk umum: While (kondisi) { . . . . . . . . . . . . CONTINUE; . . . . . . . . } . . . . Contoh program perintah CONTINUE: #include #include void main () { for (int n=10; n>0; n--) { if (n==5) continue; cout<<<”, “; } cout<<”STOP!”; getch (); } Hasilnya adalah: 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP! 6.Struktur Selektif (switch) Logika menggunakkan switvh sama dengan logika menggunakkan if . Bentuk Umum : switch (pilihan) { case nilai 1: blok pernyataan1 break; case nilai 2 : blok pernyataan nilai 2 break; - -
  • 21. 21 default : blok pernyataan default } Contoh : switch (a) { case 1: cout<<”a adalah 1”; break; case 2: cout<<”a adalah 2”; break; default: cout<<”error”; } 3.3 Array Pengertian Array adalah tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian penyusun aray disebut elemen array yang masing-masing elemen dapat di akses tersendiri melalui index array yang dapat berupa integer atau string. 3.3.1 Deklarasi Array Variabel array dideklarasikan dengan mencantumkan tipe dan nama variabel yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variabel array D di atas adalah: Int d[7]; C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang dideklarasikan,nomor indeks selalu dimulai dari 0. Nilai suatu variabel array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya: Int d[7] = {-45, 0, 6, 72, 1543, 43, 4}; setiap lokasi memori dari variabel array c langsung diisi dengan nilai-nilai yang dituliskan di dalam tanda kurung kurawal. Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variabel array dengan 10 lokasi memori: Int x[ ] = {10, 15, 12, 5, 13, 9, 6, 17, 25, 31}; Contoh program array /*Program:array1. Cpp*/ #include #define SIZE 12 main() { int a [SIZE] = {1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45}; int indeks, total = 0; for (indeks=0 ; indeks<=SIZE-1 ; indeks++) total += a [indeks]; printf (“nTotal setiap elemen array adalah %d”, total); return 0; } Bila program diatas dijalankan, akan muncul hasil: Total setiap elemen array adalah 383
  • 22. 22 3.3.2 Array Dimensi Satu Struktur array mempunyai satu dimensi, sehingga variabelnya disebut dengan variabel array berdimensi satu Bentuknya : Tipe nama_var [ukuran]; Dengan: Tipe : menyatakan jenis elemen array (int, char,unsigned, dll) Ukuran : menyatakan jumlah maksimal elemen array. Contoh: Float nilai_angka[5]; Pada turbo C++, array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut : Nilai_angka[0] Nilai_angka[1] Nilai_angka[2] Nilai_angka[3] Nilai_angka[4] Masing-masing bertipe float dan berjumlah 5 elemen. Selain itu, deklarasi array juga dapat berupa: Static int angka [9] = {1, 2, 3, 4, 5, 6, 7, 8, 9} Sesuai dengan deklarasi array diatas, maka isi variabel array telah ditentukan yaitu: angka[0] bernilai 1 angka[1] bernilai 2 angka[2] bernilai 3 angka[3] bernilai 4 angka[4] bernilai5 angka[5] bernilai 6 angka[6] bernilai 7 angka[7] bernilai 8 angka[8] bernilai9 } 3.3.3 Array Dimensi Dua Array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua. Sebagai contoh, sebuah matrik C berukuran 2 x 3 dapat dideklarasikan dalam C seperti berikut: int c[2][3] = {{2,4,1},{5,3,7}}; akan menempati lokasi memori dengan susunan sebagai berikut : 0 1 2 0 2 4 1 1 5 3 7
  • 23. 23 Dan definisi variabel untuk setiap elemen tersebut adalah : Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini: Contoh program array dimensi dua /*Program: array3 .cpp*/ #include void printArray (int [] [3]), main() { int matrik1 [2] [3] = { {1, 2, 3}, {4, 5, 6} } matrik2 [2] [3] = { 1, 2, 3, 4, 5}, matrik3 [2] [3] = { {1, 2}, {4} }; printarray (matrik1); printarray (matrik2); printarray (matrik3); return 0; } void printArray (int a[] [3]) { int i, j; for (i=0; i<=1; i++) { for (j=0; j<=2; j++) printf(“%d”, a[i][j] );; printf (“n”); } } Bila program diatas dijalankan, akan muncul hasil: 123 456 123 450 120 400 3.3.4 Array Dimensi Banyak Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting. 0 1 2 0 b[0][0] b[0][1] b[0][2] 1 b[1][0] b[1][1] b[1][2]