Documentos de Académico
Documentos de Profesional
Documentos de Cultura
- Langkah-langkah yang tersusun secara logis dan sistematis untuk mneyelesaikan suatu
masalah logika ataupun matematika.
- Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan logika.
- Mentransformasi data input menjadi output berupa informasi
1. Bahasa Mesin.
* Contohnya: 01100101100110
Bahasa rakitan/Assembly, yaitu memberikan perintah kepada komputer dengan memakai kode-
kode singkat (kode mnemonic).
* Contohnya: kode mesin -- MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb. –
Bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat
contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik.
Bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia.
Komputer dapat mengerti bahasa manusia itu diperlukan program compiler atau interpreter.
Notasi Algoritma
• Pseudocode:
- Merupakan deskripsi tingkat tinggi informal dan ringkas atas algoritma pemrograman
komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman.
- Ditujukan untuk dibaca oleh manusia dan bukan oleh mesin.
- Biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan
pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin
untuk sistem yang bersifat spesifik.
• Flow chart:
- Sebuah diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau proses.
- Menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta urutannya
dengan menghubungkan masing masing langkah tersebut menggunakan tanda panah.
• Perulangan (repetition)
#include <iostream>
using namespace std;
int main()
{
int A;
cout<<"Anda termasuk siswa di kelas mana?";
cin>>A;
if (A <= 1)
cout<<“Anda siswa kelas A";
else
cout<<“Anda siswa kelas B";
return 0;
}
* Contoh Perulangan
#include <iostream>
#include <conio.h>
using namespace std;
int main ()
{
int i;//deklarasi
for (i=20; i<=120; i++) // pengulangan data dari 21 sampai dengan 119
{
if(i%2==0) // jika i habis dibagi 2 maka tampilkan
{
cout << i << endl;
} //tampilkan
}
getch ();
}
Latihan Soal_
1. Membuat program untuk menukarkan nilai A dan B tanpa menggunakan variabel pembantu
2. Buatlah program sederhana untuk menentukan bilangan genap dan bilangan ganjil.
3. Membuat program untuk menampilkan persegi panjang
#include <iostream>
using namespace std;
int main()
{
int A, B;
cout << "A = " ;
cin >> A;
cout << "B = " ;
cin >> B;
A = A ^ B;
B = A ^ B;
A = A ^ B;
cout << "A = " << A << endl;
cout << "B = " << B << endl;
}
> Jawaban no.2
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int a;
cout<<"Masukkan nilai a: ";
cin>>a;
if(a%2==0)
cout<<"Bilangan Genap!";
else
cout<<"Bilangan Ganjil!";
}
#include <iostream>
#include <conio.h>
using namespace std;
//Membuat persegi
int main()
{
int i,j,n;
cout<<"program membuat persegi"<<endl;
cout<<"-----------------------"<<endl<<endl;
cout<<"Masukkan ukuran persegi : ";
cin>>n;
for (i=1;i<=n;i++)
{
if ((i==1)||(i==n))
{
for (j=1;j<=n;j++)
cout<<"*";
cout<<endl;
}
else
{
for (j=1;j<=n;j++)
{
if ((j==1)||(j==n))
cout<<"*";
else
cout<<" ";
}
cout<<endl;
}}
getch();}
Prosedur dan Fungsi
Fungsi dengan nilai balikan
Prosedur
- Suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian).
- Bersifat suatu aktifitas. Seperti menghitung luas, meghitung faktorial, mencari nilai
maksimum/minimum, dsb.
• Sebuah prosedur cukup dituliskan sekali saja dan dapat dipanggil atau dipergunakan sewaktu-
waktu bila diperlukan atau dipanggil berulang-ulang.
• Membuat kode program lebih mudah dibaca, dan dapat menyembunyikan detail program.
Fungsi
Fungsi sama seperti halnya dengan procedure, namun tetap ada perbedaannya yaitu fungsi
mempunyai output dengan tipe variabel yang kita tentukan.
In general “procedure” is the step to solve a problem. But in the context of specific
programming language, procedure is similar to function. In case of specific programming
language
Procedure is little bit different from function. But the differences vary among programming
language.
For example in some programming language procedure doesn’t exist, but function exist. In
some other programming language both “procedure” and “function” exist.
Oleh karena itu, prosedur disebut juga sebagai fungsi tanpa nilai balikan.
int min;
if (x<y)
min =x;
else
min =y;
return min;
int main()
int a,b,hasil;
cout<<"masukan a :";
cin>>a;
cout<<"masukan b :";
cin>>b;
}
Latihan
Buatlah program untuk menampilkan deret bilangan prima (menggunakan fungsi).
- Setiap elemen atau anggota larik dapat dikenali atau diakses melalui suatu indeks.
Mendefinisikan Array
Array dapat didefinisikan dengan berbagai cara, antara lain:
nama_array : larik;
A : larik;
Operasi Array
• Membaca / mengisi array
Jenis pencarian ini dapat digunakan dalam pencarian data dalam sebuah array.
Sesuai dengan dua contoh program sedehana di atas, anda dapat mengembangkannya sesuai
dengan kebutuhan program yang akan dibangun.
Misalnya, jika anda ingin mencari elemen sebuah array, gunakan teknik pencarian dasar secara
beruntun, yang memeriksa/mengecek setiap elemn yang ada dalam sebuah array, dan akan
menampilkan hasil ketika elemen yang diinginkan telah ditemukan.
Array merupakan teknik dasar dalam membangun sebuah program. Banyak aplikasi lanjutan yang
dapat dikembangkan dengan menggunakan array.
• Typed (tertentu) : merupakan pointer yang menunjuk pada tipe data tertentu pada
variabel.
• Generic (umum) : merupakan pointer yang tidak menunjuk pada tipe data tertentu pada
variabel.
Definisi pointer
Suatu variabel yang berisi alamat memori (reference) dari suati variabel lain. Alamat ini merupakan
lokasi dari objek lain di dalam memori. Alamat memori tempat suatu variabel disimpan disebut
reference dari variabel tersebut. Reference suatu variabel diakses melalui suatu reference operator
(&). Secara bahasa, operator ‘&’ bisa diartikan menjadi ‘alamat dari’
• Suatu variabel:
int a = 50;
• Alamat memori ini tidak bisa diprediksi nilainya, karena nilai alamat memori ditentukan oleh
compiler.
Kegunaan pointer
- Menyimpan alamat memori dari sebuah variabel. Selain menyimpan
alamat dari variabel, pointer juga dapat digunakan untuk menyimpan
alamat dari sebuah fungsi (function pointer).
- Mengirimkan “Parameter yang berupa variabel” ke dalam fungsi, artinya
nilai
variabel bisa diubah di dalam fungsi.
- Untuk membuat variabel DINAMIS (Bukan variabel Statis).
Kekurangan pointer
- Boros memori
- Jika pointer sudah mulai mengarah ke memori sistem cadangan maka
dapat menyebabkan ketidakstabilan sistem.
- Pengaruh pada sistem
- Pointer unintialized
Pointer pada array
Isi variabel pointer (alamat) dapat menunjuk kepada variabel array sehingga
data yang ditunjuk oleh alamat pointer tersebut dapat diubah tanpa
menyentuh / menggunakan variabel array yang bersangkutan.
Perbedaan array dengan pointer
Contoh 1
#include <iostream>
using namespace std;
int main()
{
int i = 50;
cout<< "nilai i = "<< i <<endl;
cout<< "alamat dari nilai i = "<< &i <<endl;
return 0;}
Contoh 2
#include <iostream>
using namespace std;
int main()
{
int *temppointer = 0;
int nilai1 = 12345;
int nilai2 = 50;
temppointer = &nilai1;
cout<<"alamat pointer di memori : " << &temppointer << endl;
cout<<"alamat variabel nilai1 di memori adalah : " << &nilai1 << '\n' << "isi variabel nilai1 : " <<
nilai1 <<endl;
cout<<"alamat variabel nilai2 di memori adalah : " << &nilai2 << '\n' << "isi variabel nilai2 : " <<
nilai2 <<endl;
cout<<"pointer ke alamat variabel nilai2 " << &nilai2 <<'\n'<< "dan isi dari pointer adalah : " <<
*temppointer <<endl;
return 0;}
#include <iostream>
using namespace std;
int main()
{
int nilai1 = 70;
int * pnilai = 0;
cout<<"nilai variabel nilai1 = " <<nilai1<<endl;
cout<<"nilai alamat pointer = " <<&pnilai<<endl;
pnilai=&nilai1;
*pnilai=10;
cout<<"nilai variabel nilai1 adalah = "<<nilai1<<endl;
return 0;}
#include<conio.h>
#include<iostream>
using namespace std;
int main( )
{
int i;
int nilai[5];
int *ptrnilai;
ptrnilai = nilai;
for(i=1;i<=5;i++)
{
cout<<"Masukan Nilai Pertama = ";
cin>>nilai[i];
}
cout<<endl;
cout<<"Hasil Pengaksesan Elemen Array Lewat";
cout<<"Pointer";
cout<<endl<<endl;
for(i=1;i<=5;i++)
{
cout<<"Elemen "<<i<<". Nilai "<<nilai[i];
cout<<", Menempati Alamat Memori = ";
cout<<&ptrnilai[i];
cout<<endl;
}
getch();
}