Selasa, 25 Oktober 2011

Case Bulan

program case_of;

uses
    wincrt;
var
    bulan:byte;

begin
  writeln ('Program Mencetak Nama Bulan');
  writeln('____________________________');
  write('Masukkan no Bulan[1..8] : ');readln(bulan);
case bulan of
     1:writeln ('Januari');
     2:writeln ('Februari');
     3:writeln ('Maret');
     4:writeln ('April');
     5:writeln ('Mei');
     6:writeln ('juni');
     7:writeln ('Juli');
     8:writeln ('Agustus');
else
    writeln('Nama Gak Ada');
end;
end.

IF and Looping

program kondisi_if;
uses
 wincrt;
var
 nilai:integer;
 ket,ucapan:string;
 ulang:char;
begin
 ulang:='Y';
 while (ulang='Y') or (ulang='y') do
 begin
  writeln('Program Kondisi IF');
  writeln('------------------');
  write('Masukkan sebuah Nilai : ');readln(nilai);
  if nilai >= 60 then
  begin
    ket:='LULUS';
    ucapan:='Selamat Yaaaa';
  end else
  begin
    ket:='GAGAL';
    ucapan:='SABAR YAAAA';
  end;
  writeln;
  writeln('Nilai Anda ',nilai,' maka ',ket);
  writeln('Kami Mengucapkan ',ucapan);
  writeln('-------------------------------');
  write('Mau Coba Lagi?[Y/T] : ');readln(ulang);
  clrscr;
 end;
 writeln('TERIMA KASIH');
end.

If-then-Else

program kondisi_if;

uses
    wincrt;

var
   nilai:integer;

begin
     writeln('Program kondisi IF');
     writeln('__________________');
     write('Masukkan Sebuah Nilai : ');readln(nilai);
     if nilai >= 60 then
        writeln ('Lulus')
     else
        writeln('Gagal');
end.

Case Bulan and Looping

program case_of;
uses
 winCrt;
var
 coba:char;
 bulan:string;
 indeks:byte;
begin
 coba:='Y';
 repeat
  writeln('Program Mencetak Nama Bulan');
  writeln('---------------------------');
  write('Masukkan no Bulan[1..2] : ');readln(indeks);
  case indeks of
   1:bulan:='Januari';
   2:bulan:='Februari';
  else
     bulan:='Gak Ada';
 end;
  writeln('Bulan ke ',indeks,' adalah ',bulan);
  writeln('---------------------------');
  write('Mau Coba Lagi?[Y/T] : ');readln(coba);
  clrscr;
 until (coba='T') or (coba='t');
 writeln('TERIMA KASIH');
end.

Case ANgka

Program Angka;
uses
    wincrt;
var
a:integer;

begin
     write('Angka (1-3) = ');readln(a);
     writeln;
     case a of
          1:write('Satu');
          2:write('Dua');
          3:write('Tiga');
     else
         write('Pilihan Salah!');
     end;
end.

Menentukan Segitiga

Program Menentukan_Segitiga;
Uses
    Wincrt;
Var
   A,B,C,X,Y:integer;

Begin
     Writeln('Program Menentukan Segitiga');
     Writeln('=========================');
     Writeln;
     Write('Masukkan Sisi A: ');readln(A);
     Write('Masukkan Sisi B: ');readln(B);                                    
     Write('Masukkan Sisi C: ');readln(C);
     Writeln;
     X:=sqr(C);
     Y:=sqr(A)+sqr(B);
     if (X<Y) then
     Writeln('Segitiga Lancip')
     else
     if (X=Y) then
     Writeln('Segitiga Siku-Siku')
     else
     Writeln('Segitiga Tumpul')
End.

Konversi Suhu

program konversi;
uses
    wincrt;

procedure garis;
begin
     writeln('-----------------------------------');
end;

procedure menu;
begin
     writeln('PROGRAM KONVERSI SUHU');
end;

procedure exit;
begin
     writeln('Keluar');
end;

procedure celrea(var R : integer);
var
   C : real;
begin
     C := 5 / 4 * R;
     write('Konversi Celcius ke Reamur : ',C:3:0);
     writeln;
end;

function Refa (var F: integer) : real;
begin
     Refa:= 4 / 9 * F;
end;

function Reci(var C : integer): real;
begin
     Reci := 4 / 5 * C;
end;

function Feci(var C : integer): real;
begin
     Feci := (9 / 5 * C ) + 32;
end;

var
   a: integer;
   b: real;
   ulang,pil: char;


begin
ulang:='Y';
while (ulang='Y') or (ulang='y') do
      begin
           garis;
           menu;
           garis;
           writeln('[1]. KONVERSI CELCIUS KE REAMUR');
           writeln('[2]. KONVERSI REAMUR KE FAHRENHEIT');
           writeln('[3]. KONVERSI REAMUR KE CELCIUS');
           writeln('[4]. KONVERSI FAHRENHEIT KE CELCIUS');
           writeln('[5]. KELUAR');
           garis;
           write('Masukka Pilihan Anda : ');readln(pil);
           garis;
           clrscr;
           case pil of
           '1' : begin
               writeln('KONVERSI CELCIUS KE REAMUR');
               garis;
               write('Masukkan Suhu Reamur : ');readln(a);
               garis;
               celrea(a);
           end;
           '2': begin
               writeln('KONVERSI REAMUR KE FAHRENHEIT');
               garis;
               write('Masukkan Suhu Fahrebheit : ');readln(a);
               garis;
               writeln('Konversi Reamur ke Fahrenheit  : ',refa(a):3:0);
           end;
           '3': begin
               writeln('KONVERSI REAMUR KE CELCIUS');
               garis;
               write('Masukkan Suhu Celcius : ');readln(a);
               garis;
               writeln('Konversi Reamur ke Celcius : ',Reci(a):3:0);
               garis;
           end;
           '4': begin
               writeln('KONVERSI FAHRENHEIT KE CELCIUS');
               garis;
               write('Masukkan Suhu Celcius : ');readln(a);
               garis;
               writeln('Konversi Fahrenheit ke Celcius : ',Feci(a):3:0);
               garis;
           end;
           '5': begin
              exit;
              writeln('KELUA');
           end;    
   end;
   garis;
   writeln('Menu Yang Anda Masukkan Salah');
   garis;
   write('Mengulang Menu lagi [Y/T] : ');readln(ulang);
   garis;
   clrscr;
   end;
   garis;
   writeln('Thanks For Using This Program ^_^');
   writeln('wanty_manyun@yahoo.com');
   garis;
end.

ALGORITMA

 BAB I
A.                  ALGORITMA
TUJUAN
·         Memahami  maksud dari algorithma.
·         Memahami Penggunaan dari algorithma.
·         Mengaplikasikan algorithma dalam suatu kasus.
·         Memahami maksud dari flowchart.
·         Memahami penggunaan dari flowchart.
·         Mengaplikasikan penggunaan flowchart dalam kasus.

A.      Sejarah Algorithma
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.

B.      Pengertian Algorithma
ALGORITMA ialah suatu metode khusus yang tepat dan terdiri dari serangkaian langkah terstruktur dan dituliskan secara sistematis, yang akan dikerjakan untuk menyelesaikan suatu masalah, atau “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. Algoritma Merupakan Jantung Ilmu Informatika Algoritma. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma.
Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1.             Mengerti setiap langkah dalam Algoritma
2.             Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

CIRI-CIRI ALGORITHMA YANG BAIK
o   Algorithma harus tidak Ambigu (Unambiguous) atau harus pasti, artinya  Deskripsi langkah-langkah dalam algorithma harus dan hanya mempunyai tafsiran tunggal.
o   Algorithma harus tepat (precise), artinya Algorithma harus menyatakan urutan langkah-langkahnya, kapan sebuah langkah dijalankan.
o   Algorithma harus pasti (definite), artinya jika serangkaian langkah yang sama dilakukan dua kali maka hasilnya harus selalu sama.
o   Algorithma harus berhingga (finite), artinya, serangkaian langkah dalam algorithma harus dapat dilakukan pada rentang waktu tertentu.
Mengikuti alur konsep, suatu algoritma disusun dalam tiga bagian, yaitu :
1.    Bagian Kepala algoritma
2.    bagian deklarasi, dan
3.    Bagian deskripsi algoritma
Setiap bagian disertai dengan penjelasan atau dokumentasi tentang maksud pembuatan teks.
Algoritma Nama_algoritma {penjelasan tentang algoritma yang menguraikan secara singkat hal-hal yang dilakukan oleh algoritma}.
Deklarasi {semua nama yang digunakan, meliputi nama-nama : tipe, konstanta, variabel, juga nama sub-program dinyatakan disini}
Deskripsi {semua langkah atau aksi algoritma dituliskan disini}

C.      Contoh Algorithma
1.       Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas ruang lingkupnya)
2.       Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State)
3.       Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak dapur dimana ibu Tati akan mengupasnya.
4.       Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
5.       Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
6.       Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian
7.       Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang. Contoh mengupas kentang dapat dijelaskan :
a.       Ambil kantong kentang dari rak
b.      Ambil panci dari almari
c.       Kupas kentang
d.      Kembalikan kantong kentang ke rak
8.       Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang diambil dari rak sebelum ambil panci) :
a.       Ambil kantong kentang dari rak dan ambil panci dari almari
b.      Kupas kentang
c.       Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama ? Ini tergantung jawabannya bisa sama bisa tidak. Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengan kemarin Sama karena kemiripan pola yang dilakukan.

D.      LATIHAN I
1.       Uraikan lagi maksud dan pengertian dari Algorithma dengan kata-katamu sendiri?
2.       Seberapa penting kah penggunaan algorithma dalam kehidupan sehari-hari? Jelaskan alasanmu?
3.       Di dalam materi terdapat ciri-ciri algorithma yang baik, jelaskan maksud dari algorithma yang baik tersebut serta perjelaslah maksud dari ciri-ciri tersebut dengan contoh atau dalam sebuah kasus!
4.       Buatlah sebuah contoh pengaplikasian algorithma dalam kehidupan sehari-hari!
5.       Kesimpulan apa saja yang dapat Anda peroleh dari materi Algorithma ini? Jelaskan jawaban Anda!


B.                  FLOWCHART

Flowchart (diagram alir) dapat diibaratkan sebagai sebuah aliran air. Aliran air tersebut akan memperlihatkan dengan jelas kemana air tersebut akan mengalir. Apakah akan berjalan lurus tanpa halangan, ataukah air ini akan mengalami beberapa perputaran, atau mungkin air ini akan diproses dengan cara menambahkan/mengurangi kandungan asam atau basa, ataukah air ini akan mengalami penyeleksian berdasarkan kandungan air yang dibawa? Tapi yang pasti adalah air ini akan mengalir dari tempat yang tinggi ke tempat yang lebih rendah dan selalu mempunyai keluaran dari setiap aliran.
Flowchart (diagram alir) merupakan suatu alat atau cara menganalisa suatu masalah. Hal tersebut memungkinkan Anda untuk memecah masalah menjadi sub-sub masalah individual atau aktifitas untuk menunjukkan hubungan masalah itu menjadi singkat, padat, dan jelas. Flowchart ini akan mempermudahkan kita untuk melihat alir suatu masalah, sejak kapan dimulai, bagaimana prosesnya dan bagaimana masalah itu akan berakhir.
Diagram alir (Flowchart) merupakan bentuk grafis/visual dari algoritma, atau merupakan sebuah pembentukan dari berbagai bentuk algoritma yang di konversi menjadi beberapa bentuk yang mana setiap bentuk mempunyai fungsi dan merupakan simbol dari setiap kegiatan yang dilakukan.
Sebuah flowchart selalu diawali dengan simbol Start dan diakhiri dengan simbol end atau berakhir. Contoh Flowchart :
Bentuk simbol dari flowchart program adalah sebagai berikut :

1.       Simbol Terminator (simbol untuk memulai dan mengakhiri)
Merupakan simbol untuk memulai (start) dan mengakhiri (end) suatu flowchart atau program.

2.       Simbol Definition/Definisi
Merupakan simbol untuk mendefinisikan variabel atau merupakan tempat mengenali kepada komputer akan tipe data/nama sebuah input/masukan, keluaran dan proses dalam sebuah program atau masalah.

3.       Simbol Input/masukan
Merupakan simbol untuk mendefinisikan variabel dan sebagai tempat menginputkan data atau masalah. Contoh untuk menghitung luas persegi panjang, maka kita menginputkan panjang dan lebar pada simbol ini.

4.       Simbol Process/proses
Merupakan simbol untuk mendefinisikan suatu proses didalam suatu masalah atau sebagai tempat penempatan sebuah proses dari suatu masalah. Contoh proses luas persegi panjang adalah
L = Panjang x lebar
5.       Simbol Output/keluaran
Merupakan simbol untuk mendefinisikan variabel dan sebagai tempat mengoutputkan data atau masalah. Contoh untuk menghitung luas persegi panjang, maka kita keluaran dari Flowchar ini adalah Luas dari persegi panjang tersebut.

6.       Simbol Selection/seleksi/percabangan
Merupakan simbol untuk menyeleksi atau merupakan simbol pemilihan, apakah setuju atau tidak, dan hanya terdapat dua pilihan. Yaitu (Ya atau tidak).

7.       Simbol Connector/penghubung (On Page Connector/penghubung dalam 1 halaman)
Merupakan simbol untuk menghubungkan kan simbol satu dengan simbol yang lain dalam suatu halaman atau satu lembar kerja karena keterbatasan media.

8.       Simbol Connector/penghubung (Off Page Connector/penghubung dalam halaman berbeda)
Merupakan simbol untuk menghubungkan kan simbol satu dengan simbol yang lain dalam halaman dengan halaman yang lain atau dalam lembar kerja yang berbeda karena keterbatasan media.


9.       Simbol Connector/penghubung
Merupakan simbol untuk menghubungkan simbol satu dengan simbol yang lain.

10.   Other Simbol

Simbol Tampil CRT

Simbol Sub Program


LATIHAN II
1.       Jelaskan pengertian dan maksud dari Flowchart tersebut?
2.       Jelaskan macam-macam flowchart dan fungsi dari flowchart tersebut?
3.       Buatlah flowchart dari contoh algortihma pada latihan I soal no.4!
4.       Buatlah flowchart untuk mencetak kalimat “Saya Sedang Belajar Algorithma”!
5.       Buatlah flowchart untuk menghitung luas segitiga, luas lingkaran dan Luas Balok?
6.       Apa yang dapat Anda simpulkan dari materi flowchart ini?


BAB II
STRUKTUR PEMROGRAMAN
TUJUAN
·         Memahami macam-macam struktur pemrograman.
·         Memahami struktur berurutan
·         Memahami struktur kondisi
·         Memahami struktur perulangan (loop)
·         Memahami operasi logika/Bitwise

A.      Struktur Berurutan/Runtunan (Sequential)
Struktur urut atau berurutan (sequential) merupakan struktur program yang paling sederhana, dimana setiap baris program akan dikerjakan secara urut dari atas ke bawah. Dalam struktur urut tidak ada baris program yang dikerjakan lebih dari satu kali, atau tidak ada baris program yang tidak dikerjakan.
Tiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya, yaitu sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan instruksi menentukan keadaan akhir algorithma. Bila urutannya diubah, maka hasil akhirnya mungkin juga berubah. Runtunan satu atau lebih pernyataan disebut juga pernyataan-gabungan (compound statement).

B.      Struktur Kondisi (pemilihan/keputusan)
Struktur keputusan merupakan struktur penyeleksian atau merupakan struktur pengkondisian. Dalam pengkondisian/penyeleksian ini hanya memerlukan dua (2) jawaban, yaitu jawaban bernilai true (ya) dan jawaban bernilai false (tidak). Jika kondisi bernilai benar, maka program akan melakukan statement kebenaran, jika tidak maka program akan melakukan statement ke balikannya. Struktur pemilihan dapat digunakan dengan 2 cara, yaitu dengan IF dan CASE.

C.      Struktur Pengulangan (loop)
Sturktur Loop (perulangan) adalah sebuah struktur pemrograman yang melakukan proses pengulangan statement. Metode pengulangan yang digunakan ada 3 jenis, yaitu For..to…do; while..do; dan repeat..until. Di dalam peloopingan/perulangan terdapat 2 kondisi perulangan, yaitu :
1.       Counted Loop
Counted loop merupakan perulangan/peloopingan yang nilai perulangannya sudah diketahui. Contoh struktur perulangan ini adalah pada struktur For. Struktur mempunyai dua metode perulangan, antara lain :
-          Metode For……To….do, yaitu peloopingan secara ascending (perulangan dengan penambahan nilai pada variabel yang digunakan secara bertahap dari yang  bernilai kecil ke nilai yang lebih besar dengan nilai yang selalu konstant).
-          Metode For…Downto…do, yaitu peloopingan secara descending (perulangan dengan pengurangan nilai variabel yang digunakan secara bertahap dari yang bernilai besar ke nilai yang lebih kecil secara konstant).

2.       Uncounted Loop
Uncounted loop merupakan peloopingan yang nilai perulangannya belum diketahui jumlahnya. Contoh uncounted loop adalah :
-          Struktur while, yaitu struktur perulangan atau peloopingan yang menggunakan sebuah kondisi untuk menentukan jumlah perulangan yang akan terjadi. Dimana jika kondisi tersebut bernilai benar (true) maka peloopingan akan terus berlangsung, sedangkan jika kondisi tersebut bernilai salah (false) maka peloopingan akan berhenti.
-          Struktur Repeat…Until, yaitu sturktur perulangan atau peloopingan yang menggunakan sebuah kondisi untuk menentukan jumlah perulangan yang akan terjadi, sama halnya dengan while. Namun perbedaannya terletak jika kondisi bernilai salah (false) maka perulangan akan terus berlangsung, namun jika kondisi bernilai benar (true) maka perulangan akan berhenti.


D.      OPERASI LOGIKA / BITWISE
Pada operasi logika, anda harus tahu mengenai bilangan biner. Karena operasi ini adalah operasi bilangan biner yang hubungannya dengan tipe boolean yaitu 1 dan 0.
1.             Operasi Not
Yaitu operasi pembalikan bitwise atau biner. Bilangan positif akan menjadi negatif begitu juga bilangan negatif akan menjadi bilangan positif. Operasi not adalah operasi yang mempunyai hierarki tertinggi diantara operasi bitwise yang lainnya.
Operand X
Not X
1
0
0
1

2.             Operasi And
Yaitu operasi untuk membandingkan dua buah elemen atau nilai, hasilnya akan true bila keduanya true (true diberi nilai 1 false diberi nilai 0), selain dari itu nilai dari operasi itu bernilai salah. Perhatikan tabel berikut :
Operand
X dan Y
X
Y
1
1
1
1
0
0
0
1
0
0
0
0

3.             Operasi Or
Yaitu operasi untuk membandingkan dua buah elemen atau nilai atau variabel, hasilnya akan true (dijalankan) bila salah satu elemen atau nilai atau variabel bernilai True (benar). Seperti pada tabel berikut ini :
Operand
X Or Y
X
Y
1
1
1
1
0
1
0
1
1
0
0
0


E.       LATIHAN III
1.       Jelaskan secara ringkas perbedaan dari struktur pemrograman yang ada!
2.       Buatlah algoritma dan flowchart dari masalah berikut :

a.       Z = X*Y+A
X = P*R
A = X^2

b.      Y = 2A^2 + (AB*C)
A = P * L
B = 2D+E
C = A – B

3.       Buatlah algoritma dan flowchart dari penentuan nilai Grade dengan asumsi bahwa Nilai Akhir diperoleh dengan menjumlahkan Nilai harian + Nilai MID + Nilai UAS. Diketahui juga Nilai Harian (20%), Nilai MID (30%), dan Nilai UAS (50%). Keluaran yang diinginkan adalah :
Grade A dengan Nilai Akhir       >= 90 – 100
Grade B+ dengan Nilai Akhir    >= 80 & < 90
Grade B dengan  Nilai Akhir      >= 70 & < 80
Grade C+ dengan Nilai Akhir    >= 60 & <  70
Grade C dengan Nilia Akhir       >= 50 & < 60
Grade D dengan Nilai Akhir       >= 40 & < 50
Grade E dengan Nilai Akhir       >= 00 & < 40
4.       Buatlah algoritma dan flowchart untuk menampilkan kalimat “Saya Belajar Struktur Pemrograman,,, ENAAAAK GILA” sebanyak 100 kali, dengan struktur FOR, WHILE dan REPEAT … UNTIL!
5.       Diinputkan data pegawai : NIP, Nama, No.KTP, Tanggal Lahir, Gaji Pokok, Status (Kawin/tidak kawin) sebanyak 50 orang.
6.       Buatlah flowchart untuk mencetak deret berikut ini
4, 7, 10, 13.... sampai 15 suku
7.       Buatlah flowchart untuk mencetak deret:
2, 5, 10, 7...... sampai 10 suku
8.       Buatlah flowchart untuk mencetak deret berikut ini
3, 7, 11, ……… sampai 20 suku
9.       Buatlah flowchart untuk mencetak n faktorial
1 ! = 1
2 ! = 1x2
3 ! = 1x2x3
BAB III
A.      COUNTER (PENCACAH)

Konstruksi FOR, WHILE, dan REPEAT…UNTIL pada suatu kasus menggunakan sebuah pengulangan yang telah dispesifikasikan. Jumlah pengulangan diketahui atau dapat ditentukan sebelum eksekusi. Untuk mencacah sudah berapa kali  pengulangan yang dilakukan, kita memerlukan sebuah peubah (variabel) pencacah (counter). Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan atau mengalami pengurangan satu setiap kali pengulangan dilakukan. Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti.
Syarat menjadi sebuah variabel pencacah adalah variabel pencacah tersebut haruslah  dari tipe data yang memiliki predecessor dan successor, yaitu berupa integer atau karakter. Tipe real (riil) tidak dapat digunakan sebagai pencacah. Contoh dalam statement While dan Repeat…Until, adalah sebagai berikut :
Untuk pengulangan yang menggunakan While, untuk mencetak 10 kalimat “Cetak kalimat 10 X”.
                While I <= 10  do       //kondisi, pengulangan while
begin
            Writeln(‘Cetak Kalimat 10 X’); //statement
            I := I + 1;                   //pencacah/counter
End;
               
Untuk pengulangan yang menggunakan RepeatUntil, untuk mencetak 10 kalimat “Cetak Kalimat 10 X”.
Repeat                              //Pengulangan Repeat
            Writeln(‘Cetak Kalimat 10 X’);//Statement
            I := I + 1;                   //pencacah/counter
Until I > 10                              //kondisi


B.      ALGORITHMA PENJUMLAHAN

Algorithma penjumlahan deret merupakan sebuah algorithma yang digunakan untuk menjumlahkan deret suatu bilangan. Untuk menghitung jumlah deret, kita memerlukan sebuah peubah yang mencatat hasil penjumlahan. Contoh algorithma penjumlahan kita beri nama jumlah. Sebelum penjumlahan dimulai, jumlah didefinisikan bernilai 0 (nol).
Jumlah := 0;
Setiap kali mengalami pengulangan, kita menjumlahkan angka sekarang dengan jumlah deret. Jika angka sekarang adalah i, maka pernyataan  penjumlahan adalah :
Jumlah := jumlah + i;
Pernyataan penjumlahan ini diulang sebanyak N kali, yaitu sebanyak angka yang dijumlahkan. Proses penjumlahan ini dianalogikan sebagai berikut :
Misalkan kita mempunyai sebuah kotak (analogi dari peubah jumlah). Mula-mula kotak dalam keadaan kosong (analogi dari pernyataan kotak := 0). Kita memasukkan jeruk (analogi dari i) ke dalam kotak secara bertahap. Dimulai dengan memasukkan 1 buah jeruk, 2 buah jeruk, dan seterusnya sampai N buah jeruk. Setiap pemasukan i buah jeruk ke dalam kotak berarti menambah isi kotak sebanyak i (analog dari pernyataan jumlah := jumlah + i). Karena jeruk dimasukkan berulang-ulang secara bertahap, maka ini berarti pernyataan jumlah := jumlah + i dieksekusi berulang-ulang sebanyak N kali. Dengan menggunakan pernyataan FOR, maka pengulangan tersebut dapat ditulis menjadi :

For i := 1 to N
            Jumlah := Jumlah + i



LATIHAN IV
1.       Buatlah flowchart untuk input N bilangan dan mencetak nilai rata-rata N bilangan tersebut!
2.       Buatlah flowchart logika lanjutan dari Latihan III no. 3 dengan tambahan : Diinputkan  : Nim, Nama ,Kode MK, NamaMK, NilaiHar, NilaiMid, NilaiSmt  Output : NIM, Nama, Kode MK, NA, Grade untuk masing masing mahasiswa. Setelah itu diminta juga output nilai rata-rata dari seluruh siswa.
3.       Buatlah flowchart logika untuk untuk menghitung :
Sn = N! / N, nilai N diinputkan
4.       Pada sebuah perusahaan rokok berlaku ketentuan untuk pekerjanya sebagai berikut :
Data pegawai    : NoPeg, Nama, Tgl.Lahir, Masa Kerja, Banyak Produksi per hari, Jenis Kelamin. Ketentuan Gaji : Jika Masa Kerja < 5 tahun, maka GajiPokok = Rp 250.000. Jika masa kerja antara 5 tahun s/d 10 tahun, Maka Gaji Pokok = Rp 400.000. Jika masa kerja > 10 tahun, maka Gaji Pokok = Rp 550.000. Gaji Produk = Banyak Produksi per hari * 500, jika produksi > 100 batang, setiap batang mendapat bonus Rp 50. Gaji Bersih = Gaji Pokok + Gaji Produk + Bonus. Susunlah kumpulan perintah dibawah ini menjadi flowchart untuk memecahkan permasalahan diatas.


5.       Buat flowchart logika untuk permasalahan berikut ini :
Pada sebuah koperasi ’XYZ” berlaku ketentuan simpan pinjam sebagai berikut :
Jika Status = Anggota, Bunga Pinjaman = 1.5%  * Juml Pinj
Jika Status = Pengurus, Bunga Pinjaman 1% * Juml Pinj
Pinjaman diangsur, dengan ketentuan lama angsuran maksimal 20 kali
Angsuran per bulan = (JumlPinj/Lama angsusan) + Bunga Pinjaman
Datameliputi  : No.Anggota, Nama, Alamat, Status, Jumlah Pinj(Rp), Lama Angsuran. Buat Validasi untuk lama angsur, jika LmAngs>20 kali, maka mianta input ulang.
Proses diulang terus menerus selama masih ada transaksi peminjaman
a.       Cetak transaksi masing2 : NoAngg, Nama, Juml Pinj, Angsuran per bulan
b.      Cetak jumlah peminjam
Cetak Total banyaknya uang koperasi ”XYZ ” yang beredar dipinjam.

array data mahasiswa

program array_1Dimensi; uses  winCrt; var  nim,nm,smstr,mk,grade:array[1..4] of string;  nh,uts,uas:array[1..4] of integer;  na:array...