Anda di halaman 1dari 24

Makalah

Rangkuman algoritma pemograman 02


Dosen pengampuh:
SURYADI.,ST,M.Cs

DISUSUN
Oleh

RAFIK
2105903040063

Jurusan teknologi informasi


Universitas teuku umar
KATA PENGANTAR

Puji syukur atas kehadiran Tuhan Yang Maha Esa atas rahmat dan petunjuk-Nya
sehingga saya dapat menulis makalah dengan judul” Rangkuman Algoritma Pemograman 02”
yang mana makalah ini disusun bertujuan untuk memenuhi tugas mata kuliah Algoritma
Pemograman 02, dalam menempuh pendidikan di Universitas Teuku Umar.
Saya menyadari bahwa masih banyak kekurangan dan keterbatasan dalam penyajian
data dalam makalah ini. Oleh karena itu, saya mengharapkan kritik dan saran yang membangun
dari semua pembaca demi kesempurnaan makalah ini. Semoga makalah ini berguna dan dapat
menambah pengetahuan pembaca.
Demikian makalah ini saya susun, apabila ada kata-kata yang kurang berkenan dan
banyak terdapat kekurangan, penulis mohon maaf yang sebesar-besarnya.

Meulaboh ,14 april 2022

Rafik
Daftar Isi
Kata Pengantar.....................................................................................................................
Daftar Isi .............................................................................................................................
Bab 1 : Pendahuluan............................................................................................................
1.1 Latar belakang..............................................................................................................
1.2 Masalah .........................................................................................................................
1.3 Tujuan...........................................................................................................................
Bab 2 : Pembahasan............................................................................................................
2.1 Pegertian Algoritma......................................................................................................
2.2 Pengertian Array...........................................................................................................
2.3 Fungsi ..........................................................................................................................
2.4 Struct.............................................................................................................................
2.5 Rekrusif.........................................................................................................................
2.6 Searching......................................................................................................................
2.7 Sorting...........................................................................................................................
Bab 3 : Penutup ..................................................................................................................
Bab 1 :
Pendahuluan
1.1 Latar belakang
Algoritma dan Pemrograman adalah jantung dari pemahaman mengenai pemrograman
dan merupakan fondasi awal bagi ilmu komputer dan informatika (Rossa, 2010, hlm. v).
Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma (Budiyanto, 2003, hlm.
2). Algoritma pemrograman ini, dipelajari pada mata pelajaran pemrograman dasar kelas X.
Hasil studi pendahuluan di salah satu kelas XI SMK di Cimahi menunjukkan bahwa sebanyak
36.67% siswa menganggap bahwa materi pada mata pelajaran Pemrograman Dasar sulit untuk
dipahami dan 23.33% menyatakan materi yang sulit dipahami adalah materi algoritma
pemrograman. Padahal algoritma adalah dasar dari pemrograman, yang harus dipelajari dan
dipahami sejak awal. Program yang baik tidak akan tercipta tanpa adanya algoritma yang
baik.Jadi, untuk bisa menciptakan sebuah program yang baik, dibutuhkan kemampuan untuk
membuat algoritma yang baik pula. Untuk membuat algoritma yang baik, dibutuhkan
pemahaman yang kuat mengenai algoritma pemrograman.

1.2 Masalah
Berdasarkan latar belakang yang telah diuraikan di atas, maka rumusan masalah dalam
penelitian ini adalah:
1. Bagaimana pengertian algoritma ?
2. pengertian Array
3. Pengertian Fungsion
4. Pengertian Struct
5. pengertian Rekrusif

1.3 Tujuan
1. Mengetahui pengertian dari algoitma
2. Mempelajari array dan kodingan nya
3. Mempelajari dan memahami fungsion
4. Mempelajari dan memahami struck
5. Mempelajari dan memahami rekrusif
Bab 2:
PEMBAHASAN
2.1 Pegertian Algoritma
Algoritma adalah Urutan langkah-langkah untuk memecahkan masalah yang disusun
secara sistematis dan logis. Algoritma dibutuhkan untuk memerintah komputer mengambil
langkah-langkah tertentu dalam menyelesaikan masalah.
Contoh sederhana algoritma:
membuat kopi dimulai dengan membuka bungkus kopi, masukan kopi kedalam
cangkir, menambahkan gula, memasak air hingga mendidih, memasukan air mendidih kedalam
cangkir, mengaduk hingga tercampur, dan selesai.
Psidoucode

Contoh algoritma psidocoude:

Deskripsi

variabel panjang, lebar, luar :


integer;

Implementasi

panjang ← 100;

lebar ← 64;

luas ← panjang*lebar;
2.2 Pengertian Array
Biasa disebut larik adalah koleksi data dimana setiap elemen memakai nama yang
sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks arraynya. Setiap
rinci data disebut dengan elemen array. Setiap array dapat dioperasikan menggunakan pemilih
elemen yang disebut indeks. Karena itu indeks harus bertipe yang mempunyai keterurutan (ada
suksesor dan ada predesor) misal Integre, Boolean,char.
Array di bagi menjadi tiga bagian yaitu,array 1 dimensi,2dimensi,dan array dimensi banyak.

 Array 1 dimensi
Bentuknya psidoucode Bentuk c++

nama_var : array [rangeindeks] of tipe tipe nama_var[ukuran];

Contoh array 1 dimensi :


#include<iostream>
using namespace std;
int main()
{
int nilai[5]; //deklarasi
int i;
nilai[0]=5; //inisialisasi
nilai[1]=10;
nilai[2]=15;
nilai[3]=20;
nilai[4]=25;
for (i=0; i<=5; i++)<<endl; //perulangan
cout<<"NILAI KE-"<<i<<"adalah="<<nilai[i] //output
}

 Array 2 dimensi
Deklarasi pseudocode Deklarasi c++

nama_var : array
tipe nama_var[ukuran1][ukuran2];
[rangeindeks1,rangeindeiks2] of tipe
Contoh array 2 dimensi :
#include<iostream>
using namespace std;
int main()
{
int x[2][5]={6,6,4,3,5,6,7,8,6,5,};
int i,j;
for(i=0; i<2; i++)
{
for(j=0; j<5; j++)
{
cout<<x[i][j]<<" ";
cout<<endl;
}
}
}

 Array dimensi banyak


Bentuk dalam c++

tipe nama_var[ukuran1[ukuran2]. . .[ukuranN];

Contoh:
#include <iostream>
using namespace std;
int main()
{
int arr[2][2][2];
arr[0][0][0] = 10;
arr[0][0][1] = 20;
arr[0][1][0] = 30;
arr[0][1][1] = 40;
arr[1][0][0] = 11;
arr[1][0][1] = 22;
arr[1][1][0] = 33;
arr[1][1][1] = 44;
cout << "Isi variabel arr:" << endl;
cout << "=================" << endl;
cout << endl;
cout << "Element di [0][0][0]: "<< arr[0][0][0] << endl;
cout << "Element di [0][0][1]: "<< arr[0][0][1] << endl;
cout << "Element di [0][1][0]: "<< arr[0][1][0] << endl;
cout << "Element di [0][1][1]: "<< arr[0][1][1] << endl;
cout << "Element di [1][0][0]: "<< arr[1][0][0] << endl;
cout << "Element di [1][0][1]: "<< arr[1][0][1] << endl;
cout << "Element di [1][1][0]: "<< arr[1][1][0] << endl;
cout << "Element di [1][1][1]: "<< arr[1][1][1] << endl;
return 0;
}
2.3 Fungsi
Program merupakan kumpulan dari fungsi-fungsi baik yang didefinisikan langsung maupun
yang disimpan dalam file header. Dalam program C++ selalu terdapat fungsi utama yang
disebut fungsi main( ) Kompiler akan menjalankan perintah yang terdapat dalam fungsi main
( ) ini. Ilustrasi keberadaan fungsi dalam sebuah program.

 Fungsi tampa nilai umpan balik

Suatu proses yang tidak mengembalikan nilai, untuk itu fungsi yang dibuat bertipe void
yang berarti tidak mempunyai nilai balik (RETURN VALUE)Adapun bentuk umumnya adalah
:

void nama_fungsi (parameter1,


parameter2, …..) { statement_ Bentuk umum dalam pemanggilan
yang_akan_dilakukan; nama_fungsi(nilai_parameter1, nilai_parameter2, ….);

……….

Contoh program :
#include <iostream>
using namespace std;
void salam(){
string nama;
cout<<"Masukkan nama anda : ";cin>>nama;
cout<<"Halo "<<nama<<", apa kabar ?"<<endl;
cout<<"Selamat datang di program saya"<<endl;
}
main(){
salam();
}
 Fungsi dengan nilai umpan balik

Fungsi ini melakukan proses yang dapat mengembalikan sebuah nilai. Definisikan tipe data
dari nilai yang akan dikembalikan terlebih dulu. Bentuk umum fungsi ini:
Bentuk umum

Contoh program: Tipe_data nama_fungsi (parameter1,


parameter2, …)
#include<iostream> { statement_yang_akan_dilakukan
using namespace std; ……
// fungsi sederhana mengembalikan string
Return nilai_yang_akan_dikembalikan;
char* TestFungsiString(){
return " INI ADALAH NILAI DARI
}
int main (){
// tampilkan hasil
cout << TestFungsiString();
return 0;}

 Fungsi Dengan Parameter


fungsi bisa menerima nilai masukan atau nilai input. Nilai masukan inilah yang
dimaksud dengan parameter atau argumen. Parameter adalah sebutan untuk nilai inputan
fungsi pada saat fungsi itu di definisikan, sedangkan argumen adalah sebutan untuk nilai
inputan fungsi pada saat fungsi itu dipanggil
Jenis parameter :
 Parameter masukan
Parameter ini akan dipergunakan sebagai masukan dalam sebuah fungsi

Contoh :

#include <iostream>
using namespace std;

//Membuat fungsi dengan parameter bertipe masukan


int TambahSatu(int X)
{
int hasil;
hasil = X+1;
return hasil;
}
int main()
{
/* Mendeklarasikan variabel yang akan digunakan sebagai nilai
parameter pada saat pemanggilan */
int Bilangan, HASIL;
cout<<"Masukkan sebuah bilangan bulat : ";cin>>Bilangan;
HASIL = TambahSatu(Bilangan);
//Menampilkan nilai setelah diproses di dalam fungsi
cout<<"Nilai akhir : "<<HASIL<<endl;
return 0;
}

 Parameter keluaran
Parameter ini dipergunakan untuk menampung nilai yang dihasilkan dari
proses didalam fungsi Digunakan didalam fungsi void Berguna sebagai nilai
keluaran sebuah fungsi Dilewatkan berdasarkan alamat atau referensinya
Contoh :
#include<iostream>
using namespace std;

int NilaiRataRata(int a,int b)


{
int c;
c=a+b;
return c;
}

int main ()
{
int nilai1,nilai2;
cout<<"Input Nilai 1 :";
cin>>nilai1;
cout<<"Input Nilai 2 :";
cin>>nilai2;
cout<<"Hasil Penjumlahannya :"<<NilaiRataRata(nilai1,nilai2);
}

 Parameter masukan /keluaran


yaitu parameter yang berfungsi sebagai masukan sekaligus keluaran bagi
prosedur tersebut. Program utama yang memanggil prosedur HitungLuasSegitiga
harus mendeklarasikan prosedur ini dan memanggilknya dengan parameter aktual
yang bersesuaian.
Contoh program :
#include<iostream>
using namespace std;
int tambah(int a,int b,int c)
{ c=a+b;
return c;}
int main (){
int nilai1,nilai2,nilai3;
cout<<"Input Nilai 1 :";
cin>>nilai1;
<<"Input Nilai 2 :";
cin>>nilai2;
cout<<"Hasil Penjumlahannya :"<<tambah(nilai1,nilai2,nilai3);
}
2.4 Struck
Data Structures merupakan kumpulan dari data element yang digabung menjadi satu
bagian dengan satu nama.Tiap elemen dikenal sebagai anggota strukturTiap anggota
unakan sebagai representasi dari struktur berkas data digital
Contoh :
#include<iostream>
using namespace std;
struct siswa
{
int nis;
string nama;
char alamat[50];
};
int main() {
siswa data_siswa;
cout<<"Masukan NIS anda:";cin>>data_siswa.nis;
cout<<"Masukan nama anda:";cin>>data_siswa.nama;
cout<<"Masukan alamat anda:";cin>>data_siswa.alamat;
cout<<"NIS saya adalah:"<<data_siswa.nis<<endl;
cout<<"dengan nama :"<<data_siswa.nama<<endl;
cout<<"dengan alamat :"<<data_siswa.alamat<<endl;
return 0;
}

2.5 Rekrusif

Rekursif berarti bahwa suatu proses bisa memanggil dirinya sendiri. Rekursif adalah
kemampuan suatu rutin untuk memanggil dirinya sendiri. Dalam Rekursif sebenarnya
terkandung pengertian prosedur dan fungsi. Perbedaannya adalah bahwa rekursif bisa
memanggil ke dirinya sendiri, tetapi prosedur dan fungsi harus dipanggil lewat pemanggil
prosedur dan fungsi. Rekursif merupakan teknik pemrograman yang penting dan beberapa
bahasa pemrograman mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi,
pemanggilan ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan
akan berakhir.

 Fungsi rekrusif menghitung nilai factorial


Adalah hasil perkalian menaik dan ditulis dengan tanda seru ” ! “. Sebagai contoh, 4
faktorial ditulis dengan 4!, dan nilainya adalah 1 * 2 * 3 * 4 = 24, atau 7 faktorial ditulis
dengan 7! = 1 * 2 * 3 * 4 * 5 * 6 * 7 = 5040.
Contoh :
#include<iostream>
using namespace std;
int hitungfactorial(int input){
if(input>1)
return input = hitungfactorial(input - 1);
else
return 1; }
int main()
{ cout <<"## PROGRAM C++ HITUNG FAKTORIAL ##"<<endl;
cout<<"=================================##"<<endl;
cout<<endl;
int angka;
cout <<"input angka :";cin>>angka;
cout << angka <<"! ="<<hitungfactorial(angka);
cout<<endl;
return 0;
}

 Fungsi Rekursif Fibonacci

Bilangan fibonacci adalah bilangan yang melakukan penambahan terhadap dirinya sendiri
dari nilai penjumlahan dari bilangan pada dirinya
Contoh :
#include <iostream>
using namespace std;
int fibonacci(int n)
{ if (n == 0 || n ==1){
return n; } else
{return (fibonacci(n-1) + fibonacci(n-2));}
}
int main()
{
int n, i, j = 0;
cout << "Masukkan batas jumlah bilangan fibonacci: ";cin >> n;
cout << "Hasil bilangan fibonacci: \n";
for (i = 1; i <= n; i++){
cout << "fibonacci ke-"<< i <<": " << fibonacci(j) << endl;
j++;
} return 0;
}
 Fungsi bilangan prima
Bilangan prima ini adalah bilangan utama pembentuk bilangan bulat, jadi semua
bilangan bulat bisa dibentuk dari bilangan prima. Lewat bilangan prima, kita bisa
menentukan pohon faktor dari sebuah bilangan untuk menentukan faktorisasi primanya.
#include <iostream>

using namespace std;

int main(){
int bil;
cout<<"Menampilkan Deret Bilangan Prima 1-100";
cout<<endl;
for(int i=1;i<=100;i++){
bil=0;
for(int j=1;j<=i;j++){
if(i%j==0){
bil=bil+1;
}
}
if (bil==2)
cout<<i<<" ";
}
}

 Fungsi bilangan pangkat


Bilangan berpangkat adalah bilangan yang berfungsi untuk menyederhanakan penulisan
dan penyebutan suatu bilangan yang memiliki faktor-faktor atau angka-angka perkalian
yang sama. Contohnya, operasi penghitungan 2x2x2x2x2 atau 8x8x8x8x8 yang
penulisannya bisa disederhanakan dengan menggunakan pangkat.
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a,b,hasil;
//program oleh kangghani.com
cout<<"masukkan bilangan yang akan dipangkatkan = ";
cin>>a;
cout<<"masukkan pangkatnya = ";
cin>>b;
hasil=pow(a,b);
cout<<"hasilnya adalah = "<<hasil;
return 0;
}

2.6 searching
Searching(mencari)adalah kegiatan atau cara memindai data dari kumpulan data. Algoritma
pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan
langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian
dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan
(successful) atau tidak ditemukan (unsuccessful)

Ada beberapa pencarian yang akan kita uraikan disini:

 Pencarian Beruntun (Sekuensial Search)

 Pencarian Bagi dua (Binary Search)

1.PENCARIAN BERURUTAN (SEKUENSIAL / LINEAR SEARCH)

Pencarian berurutan sering disebut pencarian linear merupakan metode pencarian yang paling
sederhana. Pencarian berurutan menggunakan prinsip sebagai berikut : data yang ada dibandingkan
satu per satu secara berurutan dengan yang dicari sampai data tersebut ditemukan atau tidak
ditemukan.

Pada dasarnya, pencarian ini hanya melakukan pengulangan dari 1 sampai dengan jumlah data.
Pada setiap pengulangan, dibandingkan data ke-i dengan yang dicari. Apabila sama, berarti data telah
ditemukan. Sebaliknya apabila sampai akhir pengulangan tidak ada data yang sama, berarti data tidak
ada. Pada kasus yang paling buruk, untuk N elemen data harus dilakukan pencarian sebanyak N kali
pula.

Contoh linear search


#include <iostream>
using namespace std;
int main()
{
int i;
int n;
int cari,ketemu=0;
int A[100];

cout<<"PROGRAM SEARCHING LINIER\n";


cout<<"--------------------------"<<endl;
cout<<"Masukan Banyak Data : ";
cin>>n;
cout<<endl;

for (i=1;i<=n;i++)
{
cout<<"Masukan Data Ke-"<<i<<" : ";
cin>>A[i];
}
cout<<endl;
cout<<"Input Bilangan yang dicari : ";
cin>>cari;
cout<<"--------------------------"<<endl;
cout<<endl;

for(i=0;i<=n;i++)
{
if (A[i]==cari)
{
ketemu=1;
cout<<"Data Ditemukan Pada Indeks Ke-"<<i;
}
}
if (ketemu==0)
{
cout<<"Data tidak ditemukan";
}
}
II. PENCARIAN BINER (BINARY SEARCH)

Pencarian biner adalah proses mencari data dengan membagi data atas dua bagian secara terus
menerus sampai elemen yang dicari sudah ditemukan, atau indeks kiri lebih besar dari indeks kanan.

Algoritma ini lebih efisien daripada algoritma pencarian sekuensial, tetapi pencarian ini
mempunyai syarat yaitu bahwa kumpulan data yang harus dilakukan pencarian harus sudah terurut
terlebih dahulu. Karena data sudah terurut, algoritma dapat menentukan apakah nilai data yang dicari
berada sebelum atau sesudah elemen larik yang sedang dibandingkan pada suatu saat. Dengan cara
ini, algoritma dapat lebih menghemat waktu pencarian.

Prinsip dari pencarian biner dapat dijelaskan sebagai berikut:

1. mula-mula diambil posisi awal 0 dan posisi akhir = N - 1,

2. kemudian dicari posisi data tengah dengan rumus (posisi awal + posisi akhir) / 2.

3. Kemudian data yang dicari dibandingkan dengan data tengah.

4. Jika lebih kecil, proses dilakukan kembali tetapi posisi akhir dianggap sama dengan posisi tengah
–1.

5. Jika lebih besar, porses dilakukan kembali tetapi posisi awal dianggap sama dengan posisi
tengah + 1. Demikian seterusnya sampai data tengah sama dengan yang dicari.

contoh
#include <iostream>
using namespace std;

int main(){
int array[5] = {1,2,3,4,5};
int cari;
int posisiTerendah=1, posisiTertinggi=5, posisiTengah;

for(int i=0;i<5;i++){
cout<<"Data "<<array[i]<<" Tersimpan Pada Urutan Ke-"<<i+1<<endl;
}

cout<<endl;

cout<<"Masukkan Angka Yang Akan Di Cari : ";


cin>>cari;

while (posisiTerendah <= posisiTertinggi){


posisiTengah = (posisiTerendah + posisiTertinggi)/2;
if (cari > array[posisiTengah] ){
posisiTerendah = posisiTengah + 1;
}
else {
posisiTertinggi= posisiTengah - 1;
}
}

if (cari == array[posisiTengah]){
cout<<"Data Di Temukan Pada Urutan Ke-"<<posisiTengah+1<<endl;
}
else{
cout<<"Data Yang Anda Cari Tidak Ada."<<endl;
}

}
output

2.7 sorting
Sort adalah suatu proses pengurutan data yang sebelumnya di susun secara acak atau tifdak
teratur menjadi urut atau teratur menurut suatu aturan tertentu.
Biasanya pengurutan dibangi menjadi dua yaitu:
 Ascending (penurutan dari kecil ke besar)
 Descending (pengurutan dari besar ke kecil)
 Ada banyak cara atau metode untuk melakukan pengurutan ascending ataupun
descending.
 Dalam proses pengurutan kita akan memerlukan proses penukaran data.
 Proses penukaram data tidak bias kita lakukan secara langsung dengan menukar
variable.
 Pengurutan data dilakukan dengan metode swap.

a) Bubble Sort
Bubble sort adalah suatu metode pengurutan yang membandingkan elemen sekarang
dengan elemen berikutnya.Apabila elemen sekarang > elemen berikutnya maka
posisinya ditukar, jika tidak maka tidak perlu ditukar.

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int data[5] = {7, 19, 33, 48, 88};
int swap;
cout<<"data sebelum diurutkan : "<<endl;
for(int i=0; i<5; i++)
{
cout<<setw(3)<<data[i];
}
cout<<endl;
for(int i=0; i<4; i++)
{
for(int j=0; j<4; j++)
{
if(data[j] > data[j+1])
{
swap = data[j];
data[j = data[j+1]
data[j+1] = swap;
}
}
}
cout<<"data setelah diurutkaan : "<<endl;
for(int i=0; i<5; i++)
{
cout<<setw(3)<<data[i];
}
}

b).selection short
adalah suatu metode pengurutan yang membandingkan elemen sekarang dengan elemen
berikutnya sampai ke elemen yang terakhir.jika ditemukan elemen lain yang lebih kecil dari
elemen sekarang maka dicatat posisinya dan langsung ditukar.
#include <iostream> }

#include <iomanip> cout<<endl;

using namespace std; cout<<"Data setelah diurutkan :


"<<endl;
main()
for(int i=0; i<8; i++)
{
{

cout<<setw(3)<<data[i];
int swap, terkecil;
}
cout<<"Data sebelum diurutkan : "<<endl;
}
for(int i=0; i<8; i++)

cout<<setw(3)<<data[i];

cout<<endl;

for(int i=0; i<7; i++)

terkecil = i;

cout<<setw(3)<<terkecil;

for(int j=i+1; j<8; j++)

if(data[terkecil] > data[j])

terkecil = j;

swap = data[i];

data[i] = data[terkecil];

data[terkecil] = swap;
Output:

c).insertion sort
adalah metode pengurutan yang mirip dengan cara mengurutkan kartu ,kartu diambil
selembar demi selembar dan disisipkan (insert) pada posisi seharusnya.proses pengurutan di
mulai dari darta ke 2 sampai data terakhir,data akan di bandingan dengan posisi sebelumnya
dan disisipkan pada posisi yang sesuai.pada proses penyisipan data ,maka data data yang lain
akan bergeser ke belakang (kanan).

#include <iostream> }

//#include <conio.h> data[j+1] = temp;

using namespace std; }

void insertion_sort(int data[]) }

int main()

for(int i=1; i<10; i++) {

{ insertion_sort(data);

j = i-1; for (int i=0;i<10;i++)


"<<data[i]<<endl;
while(temp < data[j] && j>=0)
//getch();
{
}
j--;

data[j+1] = temp;

}
outputnya:
Bab 3
PENUTUP
Algoritma adalah langkah-langkah yang disusun secara tertulis dan berurutan untuk
menyelesaikan suatu masalah. Sedangkan Algoritma Pemrograman adalah langkah-langkah
yang ditulis secara berurutan untuk menyelesaikan masalah pemrograman komputer.
Dalam pemrograman yang sederhana, algoritma merupakan langkah pertama yang harus
ditulis sebelum menuliskan program. Masalah yang dapat diselesaikan dengan pemrograman
komputer adalah masalah-masalah yang berhubungan dengan perhitungan matematik.

Anda mungkin juga menyukai