ALGORITMA DAN PEMOGRAMAN

BAB I
PENDAHULUAN
1.1  Latar Belakang
Bahasa program  merupakan suatu wahana untuk menuangkan pikiran manusia yang dapat dimengerti oleh mesin komputer sehingga  bernilai guna. Suatu bahasa program akan terikat aturan dari  paradigma bahasa. Ada berbagai macam paradigma bahasa :  Prosedural, Fungsional, Deklaratif, Object Oriented, Konkuren.
Perlu diperhatikan perbedaan antara belajar bahasa program dengan belajar memprogram!!! Belajar bahasa program hanya belajar tentang sintak (aturan) dari bahasa sedangkan belajar memprogram akan tercakup beberapa hal yang didalamnya terkandung tentang belajar bahasa program itu sendiri.  Yang harus diperhatikan oleh mahasiswa yang sedang belajar memprogram, yaitu :
  • Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi. Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan tinggi badan mahasiswa dari tinggi  ke pendek atau sebaliknya. Permainan dapat dilakukan secara manual maupun dengan komputer.
  • Analisis masalah secara lebih formal dan membuat spesifikasi dan algoritma dalam notasi yang ditetapkan. Mahasiswa harus menuliskan solusi algoritmiknya dalam notasi standar di kelas. Penulisan notasi algoritmik bertujuan untuk menyeragamkan  pemahaman tentang algoritma program yang terbebas dari sintak (aturan) penulisan bahasa program .
  • Menulis program, yaitu menterjemahkan notasi algoritmik ke dalam sintak bahasa program.
  • Debugging dan menguji coba program. Hal ini bertujuan untuk mendapatkan program yang benar. Program dikatakan benar jika terbebas dari salah lojik dan  sintak bahasa. Secara ideal  mahasiswa hanya diberi kesempatan untuk me-run program sebanyak 2 kali : pertama untuk membersihkan program dari kesalahan sintak dan kedua untuk mendapatkan program benar. Pada tahap ini diharapkan tidak terjadi kesalahan lojik jika analisa benar.
  • Mengamati peristiwa eksekusi, perlu dilakukan untuk meningkatkan kepercayaan  bahwa jika analisa benar maka sisa pekerjaan menjadi mudah. Pada pemrograman prosedural, aspek ini penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur data.
  • Membaca  program : orang akan dapat menulis dengan baik kalau sering membaca. Hal ini juga berlaku dalam memprogram. Kegiatan yang dapat dilakukan di kelas adalah dengan saling tukar menukar teks algoritma, dan saling mengkritik algoritma teman. Mahasiswa harus berlatih sendiri pada kegiatan belajar bersama.
·         Membuktikan kebenaran program secara formal , satu-satunya hal yang menjamin kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan sehari-hari. Program yang hanya lima baris pembuktiannya bisa sehalaman, sehingga seringkali tidak pernah diterapkan dalam aplikasi nyata.

1.2  Rumusan Masalah
·         Menganalisis bagaimana menyelesaikan masalah dengan menggunakan program?
·         Apa itu algotrima dan pemrograman?
·         Mengetahui pemrograman C++?
1.3  Tujuan Penulisan
Tujuan di buat atau disusunya Makalah ini yaitu untuk menyelesaikan salah satu tugas mata pelajaran yang khususnya mata pelajaran C++. agar mendapat nilai tambahan yang khususnya mata pelajaran Pemograman C++.
            Selain itu, penulis berharap di buatnya makalah ini bukan hanya untuk tugas yang di berikan semata, akan tetapi bias membantu kita semua dalam hal mempelajari ilmu pengetahuan yang khususnya Pemograman C++ ini. Harapan penulis yaitu semoga makalah ini tidak hanya bermanfaat bagi penulis akan tetapi sangat-sangat bermanfaat khususnya juga bagi para pembaca atau kita semua yang membutuhkan untuk referensi ataupun salah satu sarana untuk menambah wawasan dalam hal ilmu pengetahuan yang khususnya Pemograman C++. Semoga makalah ini bisa bermanfaat bagi penulis khsususnya dan kita semua amiin.


BAB II
ALGORITMA DAN PEMROGRAMAN
2.1 PENGERTIAN ALGORITMA DAN PEMROGRAMAN
Ditinjau dari asal usul katanya kata Algoritma sendiri mempunyai sejarah yang aneh. Oranghanya menemukan kata Algorism yang berarti proses menghitung dengan angka arab. Andadikatakan Algorist jika anda menghitung menggunakan Angka Arab. Para ahli bahasaberusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahlisejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis bukuarab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi.
Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yangberjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan”(The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akarkata “Aljabar” (Algebra). Perubahan kata dari Algorism menjadi Algorithm muncul karenakata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran –sm berubah menjadi–thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa. Maka lambatlaun kata Algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi)secara umum, sehingga kehilangan makna kata aslinya. Dalam Bahasa Indonesia, kataAlgorithm diserap menjadi Algoritma.
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing. Pada dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara manusia dengan komputer.
Sebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu memiliki variableinteger dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi.
2.2.    DEFINISI ALGORITMA
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusunsecara sistematis dan logis”.Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritmaharus logis dan harus dapat ditentukan bernilai salah atau benar.
berapa contoh sederhana mengenai algoritma yang dapat kita ditemui dalam kehidupan sehari – hari misalnya:
1.      Memasak mie instant.
Prosesnya adalah sebagai berikut:
1.      Memanaskan air.
2.      Membuka pembungkus mie instant.
3.      Memasukkan mie ke dalam air mendidih.
4.      Taruh bumbu di piring.
5.      Angkat mie jika sudah masak.
6.      Campurkan mie dengan bumbu yang sudah ada di piring.
7.      Mie siap disajikan.

2.      Menelepon.
Prosesnya adalah sebagai berikut:
1.      Angkat telepon.
2.      Tekan nomor teleponnya yang dituju.
3 .       Jika diangkat maka mulai berbicara setelah selesai tutup teleponnya.
4.        Jika tidak diangkat, maka tutup teleponnya.

2.3 PEMROGRAMAN
Pemograman berasal dari kata program yang berarti serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer, sedangkan pemograman adalah  segala kegiatan pembuatan program menggunakan komputer. Komputer membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer. Selain itu terdapat istilah bahasa pemograman yang  berarti  bahasa  yang digunakan dalam pembuatan program komputer. Oleh sebab itu  berdasarkan pengertian algoritma dan pemograman  maka dapat disimpulkan bahwa program merupakan hasil dari penerapan-penerapan algoritma.

Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan juga manusia. Proses komputasi pada umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing (model komputasi teoritis yang ditemukan oleh Alan Turing). Sebenarnya  bahasa pemrograman dirancang sebagai media untuk memfasilitasi komunikasi antara manusia dengan komputer.

Sebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu memiliki variable integer dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing.

2.4  TIPE-TIPE ALGORITMA BERDASARKAN FORMAT PENULISAN

Penulisan  algoritma  tidak  ter-ikat  pada  suatu  aturan  tertentu, tetapi harus jelas maksudnya dari suatu penulisan algoritma untuk tiap langkah algoritmanya. Notasi algoritma bukan merupakan notasi bahasa pemograman, namun notasi ini dapat diterjemahkan kedalam berbagai bahasa pemograman. Algoritma dapat dinotasikan dalam beberapa cara, yaitu:

1. Untaian Kalimat Deskriptif (Natural)
Algoritma  bertipe  deskriptif  maksudnya  ialah algoritma yang ditulis dalam bahasa manusia seperti bahasa Indonesia atau bahasa Ingris  dan dalam bentuk  kalimat. Notasi ini cocok digunakan untuk algoritma yang pendek, namun untuk notasinya  yang panjang, notasi ini kurang efektif digunakan dan juga pengkonversian notasi algoritma ke notasi bahasa pemrograman menjadi cenderung relatif sukar.



2.  Pseudocode
Pseudocode berasal dari kata pseudo dan code . Pseudo  berarti imitasi dan  code  ber-arti kode yang dihubungkan dengan instruksi  yang ditulis dalam bahasa komputer atau kode bahasa pemograman. Pseudocode  digunakan  untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.

3. Flow Chart (Diagram Alir)
Diagram alir atau flow chart adalah  bagan menggambarkan urutan langkah-langkah kegiatan atau program mulai dari awal sampai akhir dengan menggunakan simbol atau gambar tertentu dan dan garis alir. Simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir (flow lines) yang  menunjukkan urutan dari simbol-simbol yang akan dikerjakan. Flowchart lebih baik digunakan dibandingkan dengan menggunakan pseudocode. Jumlah simbol yang digunakan dalam flowchart sedikit, karena itu lebih sederhana dan lebih mudah dipelajari.

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.

2.5  STRUKTUR  ALGORITMA
Teks algoritma  merupakan penjelasan atau deskripsi langkah-langkah dari penyelesaian masalah yang tersusun secara sistematis. Langkah-langkah tersebut tidak memiliki standar yang baku seperti pada bahasa pemrograman tetapi  langkah-langkah tersebut mudah di mengerti oleh si pembacanya. Agar teks algoritma yang dibuat mudah di translasikan ke bahasa pemrograman tertentu maka sebaiknya langkah-langkah dari teks algoritma yang dibuat berkoresponden dengan perintah-perintah bahasa pemrograman. Teks algoritma disusun atas tiga bagian atau blok yaitu; bagian judul agoritma (header), bagian deklarasi, dan bagian deskripsi. Setiap bagian dapat diberi komentar yang biasanya dituliskan menggunakan kurung kurawal.



·      Judul Algoritma
 Judul algoritma merupakan bagian dari teks algoritma yang terdiri atas nama algoritma dan penjelasan tentang algoritma tersebut. Nama algoritma sebaiknya singkat, namun cukup menggambarkan apa yang akandilakukan oleh algoritma tersebut. Di bawah nama algoritma disertai dengan penjelasan singkat atau  tentang apa yang dilakukan oleh algoritma. Penjelasan di bawah nama algoritma sering dinamakan juga spesifikasi algoritma. Algoritma harus ditulis sesuai dengan spesifikasi yang didefinisikan.
Contoh :
Program Luas_Kubus                ← {Judul Algoritma}
{ Menghitung luas kubus untuk ukuran sisi yang dibaca dari piranti masukan lalu
mencetak hasilnya kepiranti keluaran}        ← {Spesifikasi Algoritma}
·      Deklarasi
Deklarasi atau disebut juga Kamus, deklarasi adalah bagian teks algoritma sebagai tempat untuk mendefinisikan semua nama yang dipakai di dalam algoritma. Nama tersebut dapat berupa nama type, nama konstanta, nama variabel, nama fungsi, dan nama prosedur. Semua nama tersebut baru dapat dipakai di dalam algoritma jika telah didefinisikan terlebih dahulu didalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan menurut jenis nama tersebut. Nama variabel belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan domain atau range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedur (kondisi awal “Initial State”, Kondisi akhir “ Final State” dan proses yang dilakukan).
·        Deskripsi/Badan Program
Deskripsi atau sering disebut juga algoritma. Deskripsi adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen-komponen teks algoritma dalam pemrograman yaitu: instruksi dasar seperti input/output, assignment , sequence (runtutan), analisa kasus, perulangan. Setiap langkah algoritma dibaca dari langkah paling atas hingga langkah paling bawah. Urutan penulisan menentukan urutan pelaksanaan perintah.



Contoh :
Algoritma
input (c,d)            {menerima masukan 2 bilangan c dan d}
if c < d then         {operasi kondisional}
e ← a + b             {e di assignment oleh nilai a dan b}
else
e ← a – b
output (e)            {hasil keluaran berupa bilangan e}



                                                                                                              













BAB III

4.1 STRUKTUR DASAR ALGORITMA
Algoritma berisi langkah suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi, dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari tiga buah struktur dasar, yaitu:
  1. Runtunan (sequence)
  2. Pemilihan (selection)
  3. Pengulangan (repetition)

1. Runtunan
            Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan instruksi menetukan keadaan akhir algoritma. Bila urutan diubah, maka hasil akhirnya mungkin juga bisa berubah. Perhatikan runtunan instruksi berikut:
A1
A2
A3
A4
A5
Sebagai contoh, tinjau kembali algoritma mempertukarkan larutan di dalam dua buah bejana A dan B pada sessi sebelumnya.
Algoritma diatas disusun oleh runtunan yang terdiri atas 3 buah instruksi. Tiap instruksi dikerjakan secara berurutan, maka hasil akhir adalah hasil diinginkan. Bila instruksi diubah, maka hasil akhirnya pun juga berubah sehingga pertukaran isi dua buah bejana pun tidak benar. Karena itu, penting perlu memperhatikan urutan aksi di dalam sebuah runtunan. Urutan aksi di dalam runtunan mencerminkan cara berpikir si penyusun algoritma dalam menuliskan langkah-langkah pemecahan masalah.


2. Pemilihan
            Adakalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Contoh dalam algoritma pencarian data terkecil dilakukan dengan membanding-bandingkan data. Mula-mula data pertama dianggap data terkecil sementara (min). Kemudian membandingkan min dengan data ke-2, 3, ….. N. Selama proses perbandingan, bila data lebih kecil dari min, maka date ke-j itu menjadi min yang baru. Langkah terakhir ditulis dalam pernyataan berikut
Jika data ke-j lebih kecil dari min, maka
isikan data ke-j sebagai min yang baru
Pernyataan diatas dapat ditulis dalam struktur umum
if kondisi then
 aksi
Dalam bahasa indonesia, if berati “jika” dan then artinya “maka”. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Aksi hanya dilaksanakan apabila kondisi bernilai benar. Sebaliknya, apabila kondisi bernilai benar. Sebaliknya apabila bernilai salah, maka aksi tidak dilaksanakan. Kata yang digarisbawahi, if dan then, merupakan kata kunci (keywords) untuk struktur pemilihan ini.
Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi (persyartan) dipenuhi (bernilai benar), dan tidak memberi pilihan aksi lain bila kondisi bernilai salah.
Bentuk pemilihan yang lebih umum ialah pemilihan satu dari dua buah aksi bergantung pada nilai kondisinya. 

Apabila pilihan aksi yang dilakukan lebih dari dua buah, maka struktur pemilihannya menjadi lebih rumit, seperti pada contoh berikut (pemilihan bersarang)
if lampu pengatur lalu lintas berwarna merah then
   anda harus berhenti
else
   if lampu pengatur lalu lintas berwarna kuning then
      anda boleh jalan tapi dengan hati-hati
   else
      anda dipersilahkan terus berjalan
Perhatikanlah bahwa penggunaan indentasi (rongak kosong) membuat algoritma menjadi lebih mudah dibaca. Tanpa indentasi, algoritma menjadi lebih sulit dibaca, misalnya algoritma ditulis seperti dibawah ini
if lampu pengatur lalu lintas berwarna merah then
anda harus berhenti
Else if lampu pengatur lalu lintas berwarna kuning then
anda boleh jalan tapi dengan hati-hati else
anda dipersilahkan terus berjalan
Perancang algoritma sangat dianjurkan membuat indentasi agar algoritma yang dibuat lebih mudah dibaca.
Contoh lain dari pemilihan bersarang adalah menentukan bilangan terbesar dari tiga buah bilangan: x, y, dan z.
if x > y then
   if x > z then
    tulis x sebagai bilangan terbesar
   else
                tulis z sebagai bilangan terbesar
else   
   if y > z then
       tulis y sebagai bilangan terbesar
   else
       tulis z sebagai bilangan terbesar
Kelebihan struktur pemilihan terletak pada kemampuannya yang memungkinkan pemroses mengikuti jalus aksi yang berbeda berdasarkan kondisi yang ada. Tanpa struktur pemilihan, kita tidak mungkin menulis algoritma untuk permasalahan praktis yang demikian kompleks.

3. Pengulangan(looping)
Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang dilakukan secara berulang-ulang sampai batas yang ditentukan. Biasanya bila dalam perulangan tersebut tidak disertakan batasnya maka syntax akan error karena proses itu akan berulang terus hingga tak terhingga sementara variabel dalam komputer masih terbatas.
1.  struktur perulangan (looping)
Struktur Perulangan digunakan untuk mengulang sekumpulan perintah sesuai dengan kondisi yang diberikan. Proses perulangan biasanya digunakan untuk mengulang proses pemasukan data, mengulang proses perhitungan dan mengulang untuk proses penampilan hasil pengolahan data, dengan jumlah tertentu jika sebuah kondisi belum terpenuhi.
Pada bahasa pemrograman, perulangan proses ditangani dengan suatu mekanisme yang dinamakan dengan nama loop. Dengan loop, suatu proses yang berulang dapat diimplementasikan dengan menggunakan statementstatement yang pendek, tanpa harus menuliskan statemen berulang-ulang.
Ada 3 (tiga) cara untuk melakukan perulangan di C++ yaitu :
  1. For statement
  2. While statement
  3. Do while statement
PENJELASAN
  1. FOR STATEMENT
Ini adalah statement perulangan yang paling sering digunakan. Statement for memiliki 3 parameter, yaitu nilai awal (initial value), tes kondisi yang menentukan akhir loop, dan penentu perubahan nilai.
Bentuk umum :
For (<init-exp> ; <test-exp> ; <inc/dec-exp> )
Statement ;
Keterangan :
  • Init-exp : ekspresi yang digunakan untuk melakukan inisialisasi terhadap variable-variabel tertentu, terutama variable yang digunakan untuk melakukan iterasi. Init-exp dapat berupa ekspresi maupun pendefinisian variable.
  • Test-exp : ekspresi yang memegang control terhadap proses perulangan tersebut, pada bagian ini akan ditentukan apakah proses perulangan akan tetap berlangsung atau tidak.
  • Inc/dec-exp : digunakan untuk mengatur perubahan nilai variable. Umumnya nilai variable tersebut bertambah / berkurang 1 (satu)
2. WHILE STATEMENT
Pernyataan while adalah pernyataan yang berguna untuk memproses suatu pernyataan atau memproses pernyataan beberapa kali. Pernyataan atau aksi akan di ulang jika kondisi bernilai benar dan jika salah maka keuar dari blok perulangan (loop).
Bentuk umum While :
<Inisialisasi>
while (kondisi)
{
Pernyataan ;
}
3. DO WHILE STATEMENT
Perulangan akan dilakukan minimal 1x terlebih dahulu, kemudian baru dilakukan pengecekan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. Perulangan dengan do…while() akan dilakukan sampai kondisi false.
Perbedaan dengan while statement adalah : pada do while kondisi akan dievaluasi setelah dilakukan statement/proses. Selain itu pada do while minimal akan dilaksanakan 1 (satu) kali statement/instruksinya.
4. PENGGUNAAN SWITCH CASE
Switch -Case merupakan sebuah pernyataan atau statement yg dirancang khusus untuk menangani pengamblin keputusan yg melibatkan banyak alternatif pilihan. Pernyataan switch lebih jarang digunakan dibandingkan dengan pernyataan if-else. Tetapi lebih sering digunakan ketika kita ingin menuliskan percabangan ataupun pengambilan keputusan dengan sangat banyak pilihan. Pernyataan switdh memiliki kegunaan yang sama seperti if -else bertingkat.

Kontruksi if else yg bertingkat-tingkat sering kali membingungkan pembacaan alur program. Java menyediakan intruksi khusus, switch untuk memudahlan pembacaan alur program bercabang yg sangat banyak. Walaupun switch didesain khusus untuk menggantikan if -else, akan tetapi switch memiliki batasan :

1. Data yg diperiksa haruslah bertipe integer (int) atau karakter (char).
2. Range data yg diperiksa bernilai 0 s/d 255

Bentuk penulisan perintah Switch -Case :

Switch (value)
{
   case konstanta1 :
         //statement1
    break;
    case konstanta2 :
        //statement2
    break;
    ....
    ....
    ....
    case konstanta-n :
       //statement -n
    break;
    default:
      //statement x;
}

keterangan :
-. konstanta adalah yg dicocokan dengan value.
-. statement adalah pernyataan yg akan dikerjakan jika value cocok dengan salah satu data dari konstanta 1, 2, arau lainnya.
-. break adalah perintah unttuk mengakhiri statement. Apabila tidak ada break, komputer akan mengeksekusi instruksi yg berada dibawahnya walaupun berada di case yg berbeda.
-. dafault bersifat opsional, dieksekusi jika value tidak ada yg cocok dengan salah satu konstanta yg ada, fungsinya sama dengan else.











BAB IV
3.1 TIPE DATA , OPERATOR, DAN EKSPRESI
3.1.1 TIPE DATA
Pada umumnya, program komputer memanipulasi objek (data) didalam memori. Peubah (variabel) dan konstanta (constant) adalah objek data dasar yang dimanipulasi didalam program. Deklarasi daftar peubah digunakan untuk menyatakan tipe peubah . Operator mengspesifikasikan operasi apa yang dapat dilakukan terhadap peubah dan konstanta. Ekspresi mengkombinasikan peubah-peubah dan konstanta untuk menghasilkan nilai baru. Tipe data dapat dikelompokkan menjadi dua macam :
1.      Tipe Dasar
Tipe dasar adalah tipe yang dapat langsung dipakai. Yang termasuk tipe dasar adalah bilangan lojik, bilangan bulat, karakter, bilangan riil, dan string. Untuk bilangan lojik dan bilangan bulat disebut juga tipe ordinal karena setiap konstanta nilainya dapat ditransformasikan ke suatu nilai integer.

Ø  Bilangan Lojik
·         Nama tipe bilangan ini adalah Boolean
·         Ranah nilai boolean adalah true dan false
·         Operator yang digunakan not, and, or, dan xor

a
b
AND
OR
NOT
XOR
T
T
T
T
F
F
T
F
F
T
F
T
F
T
F
T
T
T
F
F
F
F
T
F

Ø  Bilangan Bulat
·         Nama tipe Integer
·         Ranah Nilai. Secara teoritis bilangan bulat tidak mempunyai batasan untuk nilai. Tetapi pada                dunia pemograman, ranah nilai bilangan bulat mempunyai batasan. Hal tersebut dimaksudkan untuk penghematan alokasi memori. Berikut rentang nilai pada Pascal dan C Pascal Rentang Nilai C

Setiap bilangan bulat mempunyai keturunan, atau dengan kata lain sebuah bilangan bulat mempunyai nilai sembarangan (predecessor) dan nilai sesudahnya (succesor). Misalnya : Nilai 8 memiliki predecessor 7 dan successor 9.
Konstanta untuk bilangan bulat tidak boleh mengandung titik desimal
• Operasi :
1. Operasi Aritmatika, yaitu
+          (tambah)
- (kurang)
* (kali)
div (bagi) (dengan hasil bilangan bulat tanpa titik desimal)
mod (sisa hasil bagi)
ket : Objek yang di operasikan disebut operand. Misalnya : a + b artinya a dan b merupakan operand sedangkan + adalah operator
2. Operasi perbandingan. Hasil operasi perbandingan akan menghasilkan nilai boolean (true dan false)
<          (lebih kecil)
≤          (lebih kecil atau sama dengan)
>          (lebih besar)
≥          (lebih besar atau sama dengan)
=          (Sama dengan)
≠          (Tidak sama dengan)
   
Ø  BILANGAN REAL
Bilangan riil adalah bilangan yang mengandung pecahan desimal, misalnya 3.65, 0.0003, 29.0, 2.60240000E-6, .24 , dll. Semua konstanta bilangan riil harus mengandung titik (desimal). Misalnya “18” dianggap sebagai bilangan bulat, tetapi “18.0” dianggap sebagai bilangan riil. Untuk bilangan riil yang ditulis dengan notasi E berarti perpangkatan sepuluh. Contoh : 2.60240000E-6 artinya 2.60240000×10-6.
·         Nama tipe bilangan riil adalah real.
·         Ranah nilai bilangan riil sama dengan bilangan bulat, tetapi penerapan pada bahasa pemograman berbeda. Untuk bahasa PASCAL,

·         Sementara, dalam bahasa C, hanya ada 2 tipe untuk bilanganriil yaitu float dan double. Float adalah bilangan riil berpresisi tunggal (single-precision), Double adalah bilangan riil berpresisi ganda (double-precision). Sementara untuk long double mengspesifikasikan tipe bilangan riil yang berpresisi-extended
o   Operasi pada bilangan riil ada 2 macam, yaitu :
1.         Operasi Aritmetika
+ (tambah)
-  (kurang)
* (kali)
/  (bagi)
Ket : Jika dilakukan operasi campuran dengan salah satunya operandnya bertipe bilangan riil sedangkan operandnya yang lain bilangan bulat, maka otomatis operand yang bilangan bulat akan otomatis di konversi ke bilangan riil.
2.         Operasi Perbandingan
< (lebih kecil)
≤ (lebih kecil atau sama dengan)
> (lebih besar)
≥ (lebih besar atau sama dengan)
≠ (Tidak sama dengan)
Ket : Pada bilangan riil tidak dikenal operasi sama dengan “=”. Karena bilangan riil tidak dapat disajikan secara tepat oleh komputer. Misalnya 1/3 tidak sama dengan 0.33333, sebab 1/3 = 0.3333333…. (dengan angka 3 yang tidak pernah berhenti)
Ø  Karakter
Yang termasuk karakter adalah semua huruf-huruf abjad, semua tanda baca, angka ‘0’, ‘1’, … , ‘9’. Dan karakter-karakter khusus seperti ‘&’, ‘^’, ‘%’, ‘#’, ‘@’, dll. Karakter kosong (null) adalah karakter yang panjangnya nol dan dilambangkan ‘ ‘.
·         Nama tipe untuk karakter adalah char
·         Ranah nilai untuk karakter adalah semua huruf di dalam alfabet (‘a’, … ‘z’, ‘A’ … ‘Z’) angka desimal (0 … 9), tanda baca (‘.’, ‘:’, ‘!’, ‘?’, ‘,’, dll), operator aritmetik (‘+’, ‘-‘, ‘*’, ‘/’), dan karakter-karakter khusus seperti (‘$’, ‘#’, ‘@’, ‘^’, ‘~’, dll). Daftar karakter baku yang lengkap dapat dilihat di dalam buku-buku yang memuat tabel ASCII.
·         Konstanta karakter harus diapit oleh tanda petik tunggal. Ket: ingatlah bahwa ‘9’ adalah karakter, tetapi 9 adalah integer.
·         Untuk operasi yang dilakukan hanya operasi perbandingan yaitu :
·         =          (sama dengan)
·         ≠          (tidak sama dengan)
·         >          (lebih besar)
·         ≥          (lebih besar atau sama dengan)
·         <          (lebih kecil)
·         ≤          (lebih kecil atau sama dengan)

·         Ket. Tipe karakter juga mempunyai keterurutan (successor dan predecessor) yang ditentukan oleh cara pengkodeannya didalam komputer, misalnya pengkodean ASCII. Operasi perbandingan menghasilkan nilai boolean.
Ø  String
String adalah untaian karakter dengan panjang tertentu.
·         Nama tipe string adalah string
·         Ranah nilai tipe string adalah deretan karakter yang telah didefenisikan pada ranah karakter.
·         Konstanta pada tipe string harus diapit oleh dua buah tanda petik tunggal.
Contoh :
‘Makassar’
‘boby’
‘Abc1234’
‘*…*…#008*’
‘B’
Untuk string kosong (null) dilambangkan dengan ‘ ’.
·         Operasi pada tipe string didefinisikan 2 macam :
a.         Operasi Penyambungan (concatenation)
Operasi “+”. Operator ini bukanlah operator penjumlahan seperti pada tipe real/integer tetapi operator penyambungan. Contoh :
‘Boby’ + ‘Hermez’ = ‘Boby Hermez’
b.         Operator perbandingan
Sama halnya tipe karakter akan menghasilkan nilai boolean.
=, ≠, <, ≤, >, ≥
2.      Tipe Bentukan
Tipe bentukan adalah tipe yang didefenisikan sendiri oleh pemogram (user defined type data). Tipe bentukan di susun oleh satu atau lebih tipe dasar. Ada 2 macam tipe bentukan :
Ø  Tipe dasar yang diberi dengan nama tipe baru

Tipe dasar yang diberi nama tipe baru (user defined type data). Penamaan tipe baru disebabkan oleh kemungkinan untuk memudahkan interpretasi dan pembacaan program oleh pemogram.
Kita dapat memberi nama baru untuk tipe dasar tersebut dengan kata kunci type. Untuk Nilai, Ranah nilai, konstanta, dan operasi-operasi tipe tersebut tidak berubah dan sesuai dengan tipe dasar aslinya, misalnya : type bilangan bulat / integer.
Ket. Bilangan sama saya dengan tipe integer. Jadi, misalkan variabel i bertipe bilangan bulat, sama saja jika i bertipe integer.

Contoh :
DEKLARASI
i = integer
Sama Saja
DEKLARASI
Type bilangan_bulat : integer
i = bilangan_bulat

Ø  Tipe Terstruktur.
Tipe terstruktur adalah tipe yang berbentuk rekaman (record). Rekaman (record) disusun oleh satu atau lebih field. Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah didefinisikan sebelumnya. Nama rekaman ditentukan sendiri oleh pemogram.
  
3.1.2 OPERATOR
Operator adalah simbol-simbol khusus yang digunakan untuk mengoperasikan suatu nilai data (operand).
Ada beberapa jenis operator, yaitu :
  1. Assignment Operator / Operator Penugasan 
         Assignment Operator (operator penugasan) adalah operator yang menggunakan tanda sama   dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
 operatorassignment
  1. Arithmetic Operator / Operator Aritmatika

Arithmetic Operator (operator aritmatika) adalah operator yang digunakan untuk melaksanakan operasi aritmatika.
Beberapa operator aritmatika antara lain:
* : untuk perkalian
+ : untuk penjumlahan
- : untuk pengurangan
/ : untuk pembagian
% : untuk sisa pembagian (modulus)

operatoraritmatika
  1. Logical Operator / Operator Logika / Boolean Operator

Operator Boolean atau Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah).
Bebarapa macam operator logika antara lain:
1. and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
2. or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
3. xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan keduaduanya
bernilai TRUE
4. ! : mengasilkan nilai tidak TRUE
5. && : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
6. || : menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

operatorboolean
  1. Comparison Operator / Operator Pembanding

Operator Pembanding adalah operator yang digunakan untuk membandingkan dua buah nilai atau operand.
Operator perbandingan ini antara lain :
<   : untuk kurang dari
>  : untuk lebih dari
<= : untuk kurang dari atau sama dengan
>=  : untuk lebiih dari atau sama dengan
==  : untuk sama dengan
!=  : untuk tidak sama dengan
<>  : untuk tidak sama dengan

operatorpembanding

3.1.3 EKSPRESI
Ekspresi  adalah transformasi nilai menjadi keluaran yang dilakukan melalui suatu perhitungan (komputasi). Ekspresi terdiri atas operand dan operator, contoh ekspresi: “a + b”.Hasil Evaluasi dari sebuah Ekpresi adalah nilai yang sesuai dengan type operand yang dipakai
A.    MACAM – MACAM EKPRESI
Ø  Ekspresi aritmatika
·         Ekspresi yang baik operand-nya bertipe numerik dan hasilnya juga bertipe numerik.
·         Ekspresi aritmatika memakai operator aritmatikekspresi aritmetik terdapat 2 buah operator yaitu :
·         Operator biner, yaitu ekspresi yang operatornya membutuhkan 2 buah operand. Contoh a + b
·         Operator Uner, yaitu “-” atau operator yang punya 1 operand contoh “-2”
Contoh 2. (Penulisan ekspresi dengan notasi algoritma)
T = 5/9 * (c + 32)
Z = (2*x + y) / (5 * w)
Y = 5((a+b) / (c*d) + m (p + q))

Ø  Ekspresi Perbandingan/ Relasional
Ekspresi relasional adalah ekspresi dengan operator <, ≤, >, ≥, =, dan ≠, not, and, or dan xor dengan menghasilkan nilai bertipe boolean (true atau false). Biasanya ekspresi Relasional disebut ekspresi boolean.
Ø  Ekspresi Logika (Menggunakan Operator Boolean)
sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertentu terpenuhi.





Logika I
Operator
Boolean
Lgika II
Hasil Akhir
FALSE

FALSE
FALSE
FALSE
AND
TRUE
FALSE
TRUE

FALSE
FALSE
TRUE

TRUE
TRUE

Operator OR dipergunakan untuk menghubungkan dua buah ekspresi logika dan hasilnya bernilai TRUE jika minimal salah satu ekspresi logika bernilai TRUE.

Logika I
Operator
Boolean
Lgika II
Hasil Akhir
FALSE

FALSE
FALSE
FALSE
OR
TRUE
TRUE
TRUE

FALSE
TRUE
TRUE

TRUE
TRUE














BAB V
FUNGSI DAN ARRAY

5.1 PENGERTIAN PROSEDUR DAN FUNGSI
Prosedur dan fungsi adalah program kecil yang berada dalam program utama yang digunakan untuk menyelesaikan masalah khusus dengan paramater yang diberikan. Beberapa buku membedakan istilah prosedur dan fungsi terutama pada pemrograman C++.
         Letak perbedaan prosedur dan fungsi ada di pengembalian nilai. Pada prosedur nilai yang diproses tidak dikembalikan atau diubah, nilai hanya diproses didalam prosedur dan kembali kepada keadaan semula ketika keluar dari prosedur. Sedangkan pada fungsi, nilai yang diproses akan berubah dan memiliki nilai keluaran. 
       Fungsi digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama. Sedangkan, prosedur digunakan untuk menstrukturkan suatu program dan untuk memperbaiki kejelasan dan keumumannya.
Pada dasarnya setiap prosedur dikenali sebagai fungsi dalam bahasa C karena struktur mereka sama.

Struktur Fungsi
Struktur fungsi secara umum
tipe nama (tipe1 argumen1, tipe2 argumen2, ... , tipe''n'' argumen''n'') { /*kode*/ }
Keuntungan Memakai Fungsi dan Prosedur
Ada Beberapa keuntungan ketika kita memakai fungsi dalam program.
  • Menguraikan tugas pemrograman rumit menjadi langkah-langkah yang lebih sederhana atau kecil.
  • Mengurangi duplikasi kode (kode yang sama ditulis berulang-ulang) dalam program.
  • Dapat menggunakan kode yang ditulis dalam berbagai program yang berbeda.
  • Memecah program besar menjadi kecil sehingga dapat dikerjakan oleh programmer-programmer atau dipecah menjadi beberapa tahap sehingga mempermudah pengerjaan dalam sebuah projek
  • Menyembunyikan informasi dari user sehingga mencegah adanya perbuatan iseng seperti memodifikasi atau mengubah program yang kita buat
  • Meningkatkan kemampuan pelacakan kesalahan, jika terjadi suatu kesalahan kita tinggal mencari fungsi yang bersangkutan saja dan tak perlu mencari kesalahan tersebut di seluruh program.
5.2  PENGERTIAN ARRAY/ LARIK
         Array   adalah   suatu   variabel   yang terdiri dari sekumpulan data dimana data-data tersebut mempunyai  tipe  data  yang  sama. Setiap  data  disimpan  dalam  alamat  memori yang berbeda-beda dan disebut dengan elemen array. Setiap elemen mempunyai nilai indek sesuai dengan urutannya. Melalui indek inilah kita dapat mengakses data-data tersebut

BENTUK UMUM
Array dideklarasikan dengan tanda [ ] (bracket), baik dalam bahasa C++ dan Java. Bentuk umum dari tipe data array adalah :

tipe_data nama_array[jumlah_elemen]

1.    Array satu dimensi
o  Setiap elemen array dapat diakses melalui index
o  Index array secara default dimulai dari 0
o  Deklarasi array :
Tipe_array nama_array[ukuran]

2.     Array dua dimensi
-Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
-Deklarasi array :
Tipe_array nama_array [baris][kolom]
3.    Array multidimensi
-Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.


























BAB VI
CONTOH PEMROGRAMAN DAN PENJELASANNYA
1.      program
a.      Contoh program kondisi (looping)
#include <iostream>//header
Using namespace std ;/*penggunaan spasi*/
int main ()/*fungsi
{
int pembelian, pembayaran  diskon ://deklarasi
cout << “Swalayan Anda” ;
cout << “total pembelian:” ;
cin>> pembelian ;
if (pembelian >100000)
{
diskon = 0.1*pembelian ;
pembayaran = pembelian-diskon ;
cout << “selamat anda mendapatkan diskon sebesar 10%” ;
cout << “total pembayaran adalah ; “ << pembayaran << “\n” ;
else if
        (pembelian <100000)
{
diskon = 0*pembelian ;
pembayaran = pembelian-diskon ;
cout << “Total Pembayaran adalah “ <<pembayaran<< “\n” ;
}
return 0 ;
}
b.      Program pengulangan
#include <iostream>//header
#include <iomanip>//header
#include <string>//header
using namespace std;//pnggunana cout dan cin
int main ()//fungsi
{
    long int pokok,kredit,bayar,biaya;//deklarasi
    int tahun,i=1,n,jml=0;//deklarasi
    cout<<"Masukan jumlah bulan = ";//fungsi cout dan cin
    cin>>n;
    pokok = 5000000;
    for (tahun=1;tahun<=n;tahun++)//pengulangan tahun
    {
        cout<<"bulan ke "<<i<<endl;//proses pengulangan
        cout<<"Masukan yang akan di bayar = ";
        cin>>bayar;
        kredit=pokok-bayar;//penjumlahan
        cout<<tahun<< "    "  <<pokok<< "     "<<"kredit"<<"="<<kredit<<"\n";
        pokok=pokok-bayar;
    }
    {
        cout<<"________________________________"<<endl;
    }
    return 0;
}
Contoh program laporan pratikum tentang pengulangan
1.mengurutkan belajar c++(penggunaan for)
#include <iostream>//header
using namespace std;//cout dan cin
int main()//fungsi
{
    int x;
    for (x=1;x<=10;x++)//mengurutkan untuk x=1,x<=0,x++
    {
        cout<<"\nBelajarC/C++";//penggunaaan cout dan merupakan kalimat yg di urutkan
    }
}
2.      Penggunaan do / while
#include <iostream>//header
using namespace std;//fungsi pnggunaan cout dan cin
int main()//fungsi
{
    int n,i=1;//deklarasi
    float nilai,rata,jml=0;//deklarasi
    cout<<"Input banyak nilai = ";//input nilai/banyak nilai
    cin>>n;
    do//fungsi do
    {
        cout<<"Input nilai"<<i<<"=";//mengurutkan banyak nilai
        cin>>nilai;
        jml=jml+nilai;//penjumlahan
        rata=jml/n;//pembagian
        i++;//mengurutkan dari kecil ke besar
    }
    while (i<=n);//penggunaan while
    cout<<"\nTotal nilai= "<<jml;//keluaran nilai total
    cout<<"\nRata nilai= "<<rata; //pengeluaran rata nilai        
}

c.       Contoh program fungsi
#include <iostream>//header
#include <stdio.h>//header
#include <string>//header
using namespace std;//untuk fungsi cout dan cin
void garis()//fungsi garis
{
    cout<<"==================================="<<endl;//cout dari fungsi garis
}
int main()//fungsi utama
{
    garis();//pemanggilan fungsi garis(void garis)
    cout<<"teknik informatiaka"<<endl;
    garis();//pemanggilan fungsi garis(void garis)
    getchar();
}








d.      Contoh program array/larik
#include <iostream>//header
using namespace std;//cout dan cin
int main()//fungsi
{
    char kar[5];//char kar yang terdiri dari 5 array
    int i;
    kar[0]='A';//array 0
    kar[1]='E'; ;//array 1
    kar[2]='I'; ;//array 2
    kar[3]='U'; ;//array 3
    kar[4]='O'; ;//array 4
    for (i=0;i<5;i++)//fungsi pengurutan dimana hanya batasan 4 yang perhitungan dari 0
        cout<<kar[i]<<"\n";//pemanggilan kar yang di urutkan array i
    return 0;
}
e.       Contoh gabungan program kondisi pengulangan array dan fungsi
a.       Program laundry sepatu
#include <iostream>
using namespace std;
void loundry ()
{
   cout<<"SELAMAT DATANG DIJASA LOUNDRY SEPATU KAMI"<<endl;
}
void jenis()
{
    char tipee[]={'A','B','C','D','E'};
    int i;
    for (i=0;i<5;i++)
    cout<<tipee[i]<<"\n";
}
void garis ()
{
    cout<<"--------------------"<<endl;
}
void garis2 ()
{
    cout<<"======================================================="<<endl;
}
void laoundry_sepatu ()
{
    char nama [25];
    char tipe;
    char no [10];
    int mau,paket,siap,pakett,sepatu,hari,i=1,n,jml=0;
    long biaya,jmlh,bayar,TP;
    loundry ();
    garis2();
    cout<<"**DATA PELANGGAN**"<<endl;
    garis ();
    cout<<"Masukan Nama Pelanggan = ";
    cin>>nama;
    cout<<"Masukan no HP = ";
    cin>>no;
    cout<<"Berikut Macam-macam tipe sepatu yang anda ingin cuci : "<<endl;
    jenis ();
    cout<<"Masukan Tipe Sepatu Yang di Cuci = ";
    cin>>tipe;
    cout<<"jumlah sepatu yang di cuci = ";
    cin>>jmlh;
    switch (tipe)
    {
        case 'A' : sepatu = 10000; break;
        case 'B' : sepatu = 15000; break;
        case 'C' : sepatu = 20000; break;
        case 'D' : sepatu = 25000; break;
        case 'E' : sepatu = 30000; break;
    }
    cout<<"Masukan banyak paket yang di inginkan [1-3] = ";
    cin>>n;
    for (i=1;i<=n;i++)
    {
       
        cout<<"paket ke "<<i<<endl;
        cout<<"1 paket cepat "<<endl;
        cout<<"2 paket antar "<<endl;
        cout<<"3 paket delivey  "<<endl;
        cout<<"pilih paket yang anda mau (TIDAK BOLEH SAMA) [1-3] = ";
        cin>>paket;
        garis ();
        switch (paket)
    {
        case 1 : cout<<"*paket cepat  *"<<endl ; break;
        case 2 : cout<<"*paket antar*"<<endl ; break;
        case 3 : cout<<"*paket kilat*"<<endl ; break;
    }   
        garis ();
    }
    cout<<"Masukan banyak paket tadi = ";
    cin>>pakett;
    biaya = pakett*20000;
    {
     bayar=jmlh*sepatu+biaya;
     if (bayar<100000)
         TP=bayar-bayar*0.1;
     else
         if (bayar>=100000 && bayar<150000)
             TP=bayar-bayar*0.15;
     else
         if (bayar>=150000 && bayar<250000)
             TP=bayar-bayar*0.2;
     else
         if (bayar>=250000 && bayar<500000)
             TP=bayar-bayar*0.25;
     else
         TP=bayar-bayar*0.3;
    }
        cout<<"biaya paket anda adalah = "<<biaya<<endl;
    {
        if (TP<250000)
         cout<<"Anda hanya mendapatkan diskon harga"<<endl;
       else
        if (TP>=250000 && TP<40000)
        cout<<"Anda mendapat Bonus cuci 1 pasang sepatu"<<endl;
       else
           if(TP>400000)
        cout<<"Anda Berhak mendapat 1 kupon undian"<<endl;
    }
      garis2 ();
      cout<<"Maka yang di bayar sebelumnya         = "<<bayar<<endl;
      cout<<"Maka total pembayaran (potong diskon) = "<<TP<<endl;
      garis2 ();
      cout<<"**** APAKAH ANDA PUAS DENGAN LAYANAN LOUNDRY KAMI ****"<<endl;
      garis2 ();
}
int main ()
{
    laoundry_sepatu ();
    return 0;
}

















BAB VII
KESIMPULAN
Imperative program beranalogi dibawah bahasa pemograman yang memacu atau berorientasi pada objek objek system informasi yang mengarah pada system informasi. Pembuatan program program komputer dengan penguasaan data yang ada pada bahasa pemograman untuk dikuasai agar menjadi seorang programmer handal. Beberapa sub dari bidang pemograman imperative diantaranya adalah variable dan penugasan ; perintah tidak struktur ; perintah tidak terstruktur ; subprogram, prosedur dan fungsi; dan penanganan eksepsi. Mengenali dan memberi contoh variable dan penguasaaanya, mengenali bentuk perintah tidak terstruktur, mengenali bentuk perintah terstruktur, dapat menjelaskan bentuk-bentuk struktur control,dapat menuliskan subprogram, prosedur, dan fungsi, dan dapat mengenali serta menjelaskan beberapa bentuk eksepsi dan penangananya.
SARAN
Saran saya sebagai penulis ialah, bahwa setidaknya kita harus selalu konsisten dalam belajar agar dapat bersaing di era globalisasi.
Demikian pula dalam mempelajari algoritma dan pemrograman, sehingga kita selaku mahasiswa  atau  peserta  didik  dapat  dibekali dengan  kecakapan menggunakan komputer sebagai sarana dalam mencapai tujuan sehari-hari. Sekiranya saran yang saya buat ini jika ada kata dan penulisan yang salah mohon dimaafkan. Wassalamualaikum Wr. Wb.