Algorithm

Membahas algoritma pemrograman

Apakah itu Akumulator Komputer ?

Dalam sebuah prosesor, Akumulator merupakan sebuah register di mana aritmatika menengah dan hasil logika disimpan. Sebuah komputer yang register seperti akumulator, maka akan sangat diperlukan untuk menulis hasil perhitungan masing-masing (penjumlahan, perkalian, pembagian, dll) ke memori utama, yang mungkin hanya untuk dibaca kembali lagi untuk digunakan dalam operasi berikutnya. Pengaksesan ke memori utama lebih lambat dibandingkan pengaksesan ke sebuah register seperti akumulator karena teknologi yang digunakan pada memori utama yang besar lebih lambat (tapi lebih murah) daripada yang digunakan untuk register.

Contoh kanonik penggunaan akumulator adalah penjumlahan daftar angka atau nomor. Akumulator ini awalnya diatur ke angka nol, kemudian secara bergilir, setiap angka tersebut dibaca dan ditambahkan ke nilai dalam akumulator tersebut. Hanya ketika semua nomor telah ditambahkan, baru didapatkan hasil yang di akumulator yang ditulis ke memori utama atau ke memori yang lain, non-akumulator, dan register CPU.

Sebuah mesin akumulator, juga disebut mesin 1-operan, atau CPU dengan arsitektur berbasis akumulator, merupakan sejenis CPU dimana, meskipun mungkin memiliki beberapa register, namun CPU tersebut menyimpan hasil perhitungan dalam sebuah register khusus, biasanya disebut “akumulator”. Secara historis, hampir semua komputer awal adalah mesin akumulator, dan masih banyak mikrokontroler yang masih tetap populer pada tahun 2010 (seperti 68HC12, yang PICmicro, yang 8.051 dan lain-lain) pada dasarnya yang meruapak mesin akumulator.

Read the rest of this entry »

Setelah mempelajari tentang Konsep Dasar Base64, sekarang kita akan belajar bagaimana contoh penggunaan dari MIME Base 64 dalam melakukan encoding karakter.

Sebagai contoh :

Text

F

u

n

ASCII

70

117

110

Binary

0

1

0

0

0

1

1

0

0

1

1

1

0

1

0

1

0

1

1

0

1

1

1

0

Index

17

39

21

46

Base64-encoded

R

n

V

u

  • Seperti contoh di atas, Base64 encoding mengkonversi 3 oktet menjadi 4 karakter yang terkodekan
  • Pada tabel ASCII, F bernilai 70, u bernilai 117, dan n bernilai 110
  • Masing-masing nilai dikonversikan dalam bentuk binary (berbasis dua), yaitu 01000110, 01110101, 01101110
  • Jika ketiga byte digabungkan, maka akan menghasilkan 24 bit buffer, yakni 010001100111010101101110
  • Angka tersebut harus dikonversi sehingga berbasis 64, caranya dengan membagi 24bit tersebut dengan 6 (26 = 64)
  • Hasil tersebut menjadi 4 bagian dengan masing-masing 6bit. Kemudian masing-masing bagian tersebut dikonversi ke nilai yang ada di Base64.
  • Anda akan mendapatkan encoding Base64 dari kata Fun adalah RnVu

Berikut Tabel Index Base64 yang diperlukan :

Value

Char

Value

Char

Value

Char

Value

Char

0

A

16

Q

32

g

48

w

1

B

17

R

33

h

49

x

2

C

18

S

34

i

50

y

3

D

19

T

35

j

51

z

4

E

20

U

36

k

52

0

5

F

21

V

37

l

53

1

6

G

22

W

38

m

54

2

7

H

23

X

39

n

55

3

8

I

24

Y

40

o

56

4

9

J

25

Z

41

p

57

5

10

K

26

a

42

q

58

6

11

L

27

b

43

r

59

7

12

M

28

c

44

s

60

8

13

N

29

d

45

t

61

9

14

O

30

e

46

u

62

+

15

P

31

f

47

v

63

/

Read the rest of this entry »

Base64 adalah istilah umum untuk sejumlah skema pengkodean serupa yang mengkodekan data biner dan menerjemahkannya ke dalam representasi basis 64. Istilah Base64 berasal dari konten pengkodean MIME tertentu. (Wikipedia, 2010)

Skema encoding base64 biasanya digunakan ketika ada kebutuhan untuk menyandikan data biner yang perlu disimpan dan ditransfer melalui media yang dirancang untuk menangani data tekstual. Hal ini untuk memastikan bahwa data tetap utuh tanpa perubahan selama pengiriman. Base64 digunakan umum dalam beberapa aplikasi termasuk email melalui MIME, dan penyimpanan data yang kompleks dalam XML.

Lalu mengapa kita harus belajar transformasi base64 dalam kriptografi? Karena Transformasi base64 banyak digunakan di dunia Internet sebagai media data format untuk mengirimkan data. Dikarenakan hasil dari transformasi base64 berupa plaintext, maka nilai ini akan jauh lebih mudah dikirim, dibandingkan format data berupa binary.

Read the rest of this entry »

Pemrograman Berorientasi Objek (OOP)

Evolusi pemrograman telah beralih dari pengeksekusian instruksi langkah-demi-langkah menuju kepada pendekatan blok program yang lebih terorganisir, di mana blok kode tersebut dapat dibungkus menjadi subrutin dan fungsi yang telah ditetapkan. Pemrograman terstruktur atau prosedural memungkinkan kita mengatur program ke dalam blok logis, dapat diulang-ulang atau digunakan kembali.

Pemrograman berorientasi objek mengambil langkah evolusi ini dengan meningkatkan program terstruktur untuk memungkinkan data / perilaku hubungan: Data dan logika sekarang digambarkan oleh satu abstraksi yang digunakan untuk menciptakan objek-objek tersebut. Kelas menyediakan pendefinisian dari setiap objek, dan objek merupakan perwujudan dari pendefinisian tersebut. Keduanya (kelas dan objek) adalah dua komponen yang vital dalam Object-Oriented Programming.

Salah satu alasan yang paling penting untuk mempertimbangkan bekerja di OOP adalah bahwa ia menyediakan pendekatan pemodelan langsung dan memecahkan masalah di dunia nyata. Sebagai contoh, mari kita ambil permasalahan toko montir mobil di mana Anda akan mengambil mobil Anda untuk diperbaiki. Ada dua entitas umum yang harus diciptakan: manusia yang berinteraksi dengan dan dalam suatu “sistem”, dan lokasi fisik untuk kegiatan-kegiatan yang mendefinisikan sebuah toko montir. Karena terdapat lebih banyak dan berbagai jenis yang pertama, kami akan menjelaskan terlebih dahulu, kemudian menyimpulkan dengan yang kedua.

Read the rest of this entry »

Setelah Pengenalan Bahasa Pemrograman C++, maka kini kita akan mencoba mempraktekkan script yang sangat sederhana sekali dari C++, yaitu membuat script pembagian antara dua buah angka. Coba perhatikan kode program berikut ini.

#include <iostream>

using namespace std;

int main(void)
{
float a, b, c;
printf("Masukkan Angka Pertama : "); scanf("%f",&a);
printf("Masukkan Angka Kedua : "); scanf("%f",&b);
c = (a/b);
printf("Hasil Pembagian : %.0f\n", c);
system("pause");
return(0);
}

Kode program tersebut di atas, kami praktekkan dengan menggunakan Visual C++ Portable, sehingga keyword

using namespace std;

tidak boleh dihilangkan. Secara keseluruhan sudah sangat jelas algoritmanya, mungkin untuk bagian Hasil Pembagian yang akan dibahas sedikit. Jika Anda ingin memperoleh hasil pembagian dengan 0 angka di belakang koma, maka Anda wajib mengetik kode program seperti di atas :

printf("Hasil Pembagian : %.0f\n", c);

. Jika Anda ingin memperoleh hasil pembagian dengan 1 angka di belakang koma, maka Anda wajib mengubah kode program khusus pada hasil pembagian saja, menjadi :

printf("Hasil Pembagian : %.1f\n", c);

. Selanjutnya, jika Anda ingin memperoleh hasil pembagian dengan 2 angka di belakang koma, maka Anda wajib mengubah kode program khusus pada hasil pembagian saja, menjadi :

printf("Hasil Pembagian : %.2f\n", c);

. Dan seterusnya.

Satu lagi yang sangat penting, bahwa pada C++ portable tersebut, software tidak memiliki penahan otomatis, sehingga jika kode program dijalankan, run screen akan segera menghilang sebelum kita mengetahui isi dari kode program kita, apakah benar atau tidak. Untuk menghindari hal tersebut, maka pada terakhir sebelum tutup kode program, masukkan kode program :

system("pause");
program record_mahasiswa;
uses wincrt;
   type d_mhs=record
        nim:integer;
        nama:string[100];
        alamat:string[150];
        mat_kul:array[1..6] of string[30];
   end;
var
   data:d_mhs;
   i:integer;
begin
   with data do
begin
   writeln('Program Penginputan Data Mahasiswa');
   writeln('====================================');writeln;
   write('N I M       : ');readln(nim);
   write('Nama        : ');readln(nama);
   write('Alamat      : ');readln(alamat);
   for i:=1 to 6 do
   begin
      write('Mata Kuliah ke-',i,' : ');readln(mat_kul[i]);
   end;writeln;
   begin
   clrscr;
   writeln('Data Mahasiswa Yang Diinput');
   writeln('---------------------------------');writeln;
   writeln('N I M       : ',nim);
   writeln('Nama        : ',nama);
   writeln('Alamat      : ',alamat);
   for i:=1 to 6 do
   begin
      writeln('Mata Kuliah ke-',i,' : ',mat_kul[i]);
   end;end;
   end;readln;donewincrt;
end.

Pada program record_mahasiswa ini, kita menggunakan array. Array adalah sebuah variable yang dapat menampung lebih dari satu buah nilai dengan tipe data yang sejenis atau sama. Misalnya : Var nilai = Array [1..5] of integer;

Array                         3   6   9   11   15.

Inti dari program sederhana ini adalah menampilkan kembali data yang telah kita masukkan pada awal pengeksekusian program tersebut. Pada program sederhana ini dan juga program sederhana sebelumnya, terdapat keberadaan Struktur Perulangan. Struktur tersebut akan kita bahas pada postingan selanjutnya.

Pada posting sebelumnya, sudah pernah disinggung mengenai Pemrograman Terstruktur, yakni dengan menggunakan Turbo Pascal. Dan pada posting kali ini, kita akan bersama – sama mempelajari bagaimana men-coding sebuah program sederhana dengan Turbo Pascal, yaitu Program Gaji Karyawan.

Siapkan Turbo Pascal Anda, dan kita akan mulai men-coding.

program procedure_gaji_karyawan;
uses wincrt;
var
bonus,total:real;
ulang:char;
pilihan:integer;
procedure judul;
begin
writeln('                         PROGRAM GAJI KARYAWAN        ');
writeln('                ========================================');
end;
procedure menu_pilihan;
begin
writeln('                     ---MENU PILIHAN---       ');
writeln('                     1. Operator                  ');
writeln('                     2. Leader                  ');
writeln('                     3. Teknisi               ');
writeln('                     4. Manager                ');
writeln('                     5. Total                ');
end;
procedure operator;
begin
writeln;
writeln('Gaji Total Operator');
writeln('===========================');
write('Gaji Basic Operator           : Rp 1.100.000');writeln;
write('Tunjangan Operator            : Rp 50.000');writeln;
bonus:=0.02*1100000;
writeln('Bonus Operator (2% Gaji Basic : Rp ',bonus:0:2);
writeln;
total:=1100000+50000+bonus;
writeln('Total Gaji Operator           : Rp ',total:0:2);
end;
procedure leader;
begin
writeln;
writeln('Gaji Total Leader');
writeln('===========================');
write('Gaji Basic Leader           : Rp 1.125.000');writeln;
write('Tunjangan Leader            : Rp 75.000');writeln;
bonus:=0.03*1125000;
writeln('Bonus Leader (3% Gaji Basic : Rp ',bonus:0:2);
writeln;
total:=1125000+750000+bonus;
writeln('Total Gaji Leader           : Rp ',total:0:2);

end;
procedure teknisi;
begin
writeln;
writeln('Gaji Total Teknisi');
writeln('===========================');
write('Gaji Basic Teknisi           : Rp 1.400.000');writeln;
write('Tunjangan Teknisi            : Rp 100.000');writeln;
bonus:=0.04*1400000;
writeln('Bonus Teknisi (4% Gaji Basic : Rp ',bonus:0:2);
writeln;
total:=1400000+100000+bonus;
writeln('Total Gaji Teknisi           : Rp ',total:0:2);

end;
procedure manager;
begin
writeln;
writeln('Gaji Total Manager');
writeln('===========================');
write('Gaji Basic Manager           : Rp 2.500.000');writeln;
write('Tunjangan Manager            : Rp 150.000');writeln;
bonus:=0.05*2500000;
writeln('Bonus Manager (5% Gaji Basic : Rp ',bonus:0:2);
writeln;
total:=2500000+150000+bonus;
writeln('Total Gaji Manager           : Rp ',total:0:2);

end;
procedure totall;
begin
writeln;
writeln('Gaji Total Seluruh Karyawan');
writeln('==================================');
writeln('Keterangan   Operator     Leader       Teknisi     Manager');
writeln('==============================================================');
writeln('Basic        1.100.000    1.250.000    1.400.000   2.500.000');
writeln('Tunjangan    50.000       75.000       100.000     150.000');
writeln('Bonus        22.000       33.750       56.000      125.000');
writeln('==============================================================');
writeln('Total        1.172.000    1.358.750    1.556.000   2.775.000');writeln;
writeln('                                     Grand Total : 6.861.750');
end;
begin
ulang:='y';
while (ulang='y') or (ulang='Y') do
begin
clrscr;
judul;writeln;
menu_pilihan;writeln;
write('Procedure yang akan dipilih (1/2/3/4/5) : ');readln(pilihan);
case pilihan of
1:Operator;
2:Leader;
3:Teknisi;
4:Manager;
5:Totall;
end;writeln;
write('Apakah anda mau mengulang (y/n)? ');readln(ulang);
end;
readln;donewincrt;
end.

Marilah kita bahas masing-masing procedure, sesuai dengan coding diatas :

  1. Pada program Gaji Karyawan ini, tersedia 4 buah menu golongan karyawan dan 1 buah menu total gaji karyawan, yang terdiri dari karyawan dengan golongan atau jabatan Operator, Leader, Teknisi, Manager, dan Total gaji seluruh karyawan.
  2. Kriteria untuk gaji dengan golongan Operator : (procedure operator)
    • Gaji Basic = Rp1,100,000,-
    • Tunjangan = Rp50,000,-
    • Bonus = 2% dari Gaji Basic, yaitu Rp22,000,-
    • Total Gaji Operator = Rp1,100,000 + Rp50,000 + Rp22,000 = Rp1,172,000,-
  3. Kriteria untuk gaji dengan golongan Leader : (procedure leader)
    • Gaji Basic = Rp1,125,000,-
    • Tunjangan = Rp75,000,-
    • Bonus = 3% dari Gaji Basic, yaitu Rp33,750,-
    • Total Gaji Operator = Rp1,125,000 + Rp75,000 + Rp33,750 = Rp1,233,750,-
  4. Kriteria untuk gaji dengan golongan Teknisi : (procedure teknisi)
    • Gaji Basic = Rp1,400,000,-
    • Tunjangan = Rp100,000,-
    • Bonus = 4% dari Gaji Basic, yaitu Rp56,000,-
    • Total Gaji Operator = Rp1,400,000 + Rp100,000 + Rp56,000 = Rp1,556,000,-
  5. Kriteria untuk gaji dengan golongan Manager: (procedure manager)
    • Gaji Basic = Rp2,500,000,-
    • Tunjangan = Rp150,000,-
    • Bonus = 5% dari Gaji Basic, yaitu Rp125,000,-
    • Total Gaji Operator = Rp2,500,000 + Rp150,000 + Rp125,000 = Rp2,775,000,-

Seperti gambar di atas, kita menggunakan prosedur perulangan, dimana bisa diartikan sebagai berikut :

Jika pada pertanyaan “Apakah Anda mau mengulang (y/n)?”, kita mengetikkan huruf y atau Y, maka clrscr (Clear Screen – Layar akan dibersihkan), kemudian kita akan dihadapi dengan menu awal, seperti halnya pertama kali kita menjalankan program tersebut. Namun jika kita mengetikkan huruf selain Y, dalam hal ini berarti kita mengetikkan huruf n atau N, maka program akan berhenti bereksekusi (Sebenarnya program akan berhenti bereksekusi apabila kita memasukkan huruf selain Y, jadi tidak semestinya program berhenti jika kita hanya mengetikkan huruf n atau N.

Tampilan Awal Program Penjualan Furniture

tampilan awal

Pilihlah salah satu barang yang terdapat dalam kolom “Item”. Setelah memastikan barang yang akan dibeli, Silakan klik Transaksi.

pilih menu

Pada Form yang Baru ini, dapat dilihat bahwa barang yang dipilih pada Form Awal, akan muncul secara otomatis di bagian “Nama Barang” dan “Jenis Barang”. Inputlah Jumlah yang akan dibeli dan lanjutkan ke tombol “Process”.
input barang

Kemudian akan muncul “SubTotal Harga” yang harus dibayar atas barang yang dibeli tersebut. Disini tersedia menu “Discount” yang memperbolehkan kasir memberikan potongan harga kepada konsumen tersebut.
subtotal harga

Setelah diketahui ternyata terdapat potongan harga untuk konsumen tersebut, maka total secara keseluruhan yang sudah dipotong discount, akan muncul di bagian “Total Harga”.
total harga

Input jumlah yang dibayar di bagian “Bayar” dan kemudian klik tombol “Change”, yang artinya menghitung uang yang harus dikembalikan kepada konsumen tersebut.
bayar

Apabila ada terdapat kembalian ataupun uang yang dibayar sama dengan Total harga yang dibeli, maka akan muncul kotak dialog “Lunas !!” yang menjelaskan bahwa konsumen tersebut sudah melunasi barang yang dibelinya.
lunas

Sebaliknya apabila uang konsumen tersebut tidak mencukupi, maka otomatis akan muncul kotak dialog “Anda Utang Best Furniture Sebanyak Rp #,###,###”.

Kotak dialog ini akan mengingatkan kasir bahwa konsumen tersebut masih dalam keadaan utang.
utang

Apabila ingin keluar dari Form tersebut, cukup tekan tombol “Close”, sebaliknya apabila ingin melakukan transaksi baru, maka dapat ditekan tombol “New”.

Form tersebut akan kembali lagi kepada tampilan utama Form Awal. Untuk Anda yang ingin mencobanya, kami sudah meng-upload file ZIP-nya di http://www.mediafire.com/download.php?a9v0kw0j6oyqjip. Passwordnya adalah : www.itechgraph.com

Setelah kita ketahui bersama mengenai Gerbang Logika OR & NOR, Gerbang Logika AND & NAND, marilah kita pelajari tentang Gerbang Logika XOR, XNOR, dan gerbang logika NOT.

Gerbang Logika XOR

Gerbang XOR / Eksklusif OR akan memberikan keluaran 1 (satu) jika masukannya mempunyai keadaan yang berbeda atau sebaliknya (memberikan keluaran 0 (nol) jika masukannya sama)

Simbol International :
simbol_international_xor

Simbol British :
simbol_british_xor

Tabel Kebenaran :
tabel kebenaran xor


Gerbang Logika XNOR

Gerbang XNOR / Eksklusif NOR akan memberikan keluaran 1 (satu) jika masukannya mempunyai keadaan logika yang sama atau sebaliknya, keluaran 0 (nol) jika masukannya berbeda.

Simbol International :
simbol_international_xnor

Simbol British :
simbol_british_xnor

Tabel Kebenaran :
tabel kebenaran xnor


Gerbang Logika NOT

Gerbang NOT merupakan gerbang satu masukan yang berfungsi sebagai pembalik (inverter). Jika masukannya tinggi, maka keluarannya rendah atau sebaliknya.

Simbol International :
simbol_international_not

Simbol British :
simbol_british_not

Tabel Kebenaran :tabel kebenaran not

Gerbang OR

Berlanjut dari Gerbang Logika AND dan NAND, marilah kita mempelajari gerbang logika selanjutnya, yaitu Gerbang Logika OR. Gerbang logika OR akan memberikan keluaran 1 (satu) jika salah satu dari masukannya pada keadaan 1 (satu). Jika diinginkan keluaran bernilai nol (0), maka semua masukan harus dalam keadaan nol (0).

Simbol International

simbol_international_or

Simbol British

simbol_british_or

Tabel Kebenaran OR
tabel kebenaran or


Gerbang NOR

Gerbang NOR akan memberikan keluaran 0 (nol) jika salah satu dari masukannya pada keadaan 1 (satu). Jika diinginkan keluaran bernilai 1 (satu), mak semua masukan harus dalam keadaan 0 (nol).

Simbol International
simbol_international_nor

Simbol British
simbol_british_nor

Tabel Kebenaran
tabel kebenaran nor

Gerbang Logika adalah piranti dua keadaan, yaitu mempunyai keluaran dengan dua keadaan. Keluaran dengan 0 (nol) volt yang menyatakan logika nol (rendah) dan keluaran dengan tegangan tetap yang menyatakan logika satu (tinggi). Gerbang logika dapat mempunyai beberapa masukan yang masing-masing mempunyai salah satu dari dua keadaan logika, yaitu nol dan satu. Gerbang logika dapat digunakan untuk melakukan fungsi khusus, misalnya :

  • AND
  • NAND
  • OR
  • NOR
  • XOR
  • XNOR
  • NOT

Gerbang AND

Digunakan untuk menghasilkan logika 1 (satu) jika semua masukan mempunyai logika 1 (satu). Jika tidak, maka akan dihasilkan logika 0 (nol).

Simbol International :

simbol_international

Simbol British :

simbol_british

Tabel Kebenaran AND
tabel kebenaran and1 AND 0 = 0
1 AND 1 = 1
0 AND 0 = 0
0 AND 1 = 0


Gerbang NAND

Gerbang NAND akan memiliki keluaran 0 (nol) bila semua masukan pada logika 1 (satu), sebaliknya jika ada sebuah logika 0 (nol) pada sembarang masukan pada gerbang NAND maka keluarannya akan bernilai 1 (satu). NAND merupakan singkatan dari Not AND.

Simbol International :

simbol_international_nand

Simbol British:

simbol_british_nand

Tabel Kebenaran NAND

tabel kebenaran nand

Prinsip / Konsep Biner ke Desimal

Bilangan dikali basis dipangkatkan dengan pangkat bilangan tersebut yang dihitung dari kanan ke kiri

contoh01

Contoh Soal 1:
513(10) = …(8) = …(16) = … (2)

contoh02


Contoh Soal 2:
101100111(2) = …(16) = …(8)

contoh03


Contoh Soal 3:
444(8) = …(16) = …(2)

contoh04

Singkatnya:

  • Jika ingin mengkonversi bilangan Hexadecimal ke bilangan biner, maka bilangan tersebut dipecah menjadi 4 bilangan per kolom
  • Jika ingin mengkonversi bilangan Octal ke bilangan biner, maka bilangan tersebut dipecah menjadi 3 bilangan per kolom

Simple kan? Selamat Mencoba !

Aliran Sistem Informasi :

asi

Adapun uraian prosedur dalam sistem informasi tiket yang diterapkan berdasarkan aliran sistem informasi di atas adalah sebagai berikut:

  • Data Pelanggan sesuai dengan yang diisi oleh pelanggan pada formulir diterima oleh Agen.
  • Selanjutnya oleh Agen, Data Pelanggan tersebut akan dilakukan proses penginputan dan penyimpanan data pelanggan ke dalam database melalui aplikasi Borland Delphi 7.0 yang sudah terintegrasi dengan Microsoft Access (Kegiatan penginputan dan penyimpanan data untuk setiap pelanggan ke dalam database hanya akan dilakukan sekali saja, kecuali terdapat perubahan-perubahan pada data pelanggan tersebut. Data pelanggan tersebut akan diproses dari database.
  • Dari data pelanggan yang tersimpan di database tersebut akan dilakukan proses penginputan tujuan tiket.
  • Kemudian, baik data pelanggan maupun data tiket akan diproses lebih lanjut melalui aplikasi Borland Delphi 7.0 yang terintegrasi dengan Ms. Access, laporan data pelanggan dan laporan tiket dapat dipreview dan dicetak untuk ke pimpinan, bahkan setiap saat ketika dibutuhkan.

Diagram Konteks :

Diagram konteks adalah diagram yang menggambarkan sistem secara umum. Diagram konteks merupakan alat bantu perancangan yang merupakan bagian dari Data Flow Diagram (DFD) yang memperlihatkan bagian-bagian atau entitas-entitas yang terlibat di dalam sistem dan bagaimana entitas-entitas tersebut berhubungan. Diagram konteks juga merupakan suatu pandangan, yang mencakup masukan-masukan dasar, sistem umum, dan keluaran. Diagram ini memperlihatkan pengalihan data di dalam sistem dan melebarkan konseptualitas sistem yang memungkinkan. Diagram ini adalah tingkatan tertinggi dalam aliran data dan hanya memuat satu proses secara keseluruhan. Gambar di bawah ini memperlihatkan bagaimana sistem yang akan diterapkan di PT. Jordan Air pada sistem informasi penjualan tiket pesawat.

diagram_konteks


Diagram Nol :

Diagram nol adalah diagram yang menggambarkan proses dari data flow diagram. Diagram nol memberikan pandangan secara menyeluruh mengenai sistem yang ditangani, menunjukkan tentang fungsi-fungsi utama atau proses yang ada, aliran data, dan eksternal entity. Pada level ini sudah dimungkinkan adanya atau digambarkannya data store yang digunakan. Untuk proses yang tidak dirinci lagi pada level selanjutnya, symbol “*” atau “P” (functional primitive) dapat ditambahkan pada akhir nomor proses. Keseimbangan input dan output (balancing) antara diagram nol dengan diagram konteks harus terpelihara.
diagram_nol

Untuk lebih lengkapnya, Anda dapat mengunjungi google docs kami di https://docs.google.com/open?id=0B1VS-VTnu4xVZmpiNURzRVI3V1E.

Apakah itu Tipe Data? Apakah itu Operator?

Diringkas secara simple, Operator adalah penghubung antara dua buah nilai, dimana nilai disini berfungsi secara operand.

Sedangkan tipe data adalah nilai – nilai yang dicakup oleh setiap nama variabel dan dinyatakan dalam domain (hasil nilai), beserta Operand-operand operasi dan operator yabg dapat dilakukan terhadap tipe tersebut yang didefinisikan. Secara ringkas, tipe data adalah rentang nilai dalam sebuah variabel.

Yang termasuk dalam tipe data adalah :

  • Bilangan Logic

Bilangan Logic hanya mengenal dua buah nilai yaitu benar (true), dan salah (false), muncul karena kita dapat menyatakan (benar dengan angka 1, salah dengan angka 0). Operator yang digunakan adalah operator And, Or, Xor. Sedangkan tipe data bilangan logic disebut dengan Boolean.

  • Bilangan Bulat

Bilangan bulat adalah bilangan yang tidak mengandung pecahan desimal. Misalnya : -19,0,18,89….

  • Karakter

Yang termasuk dalam Karakter adalah semua huruf-huruf abjad, semua tanda baca, angka 0…9, dan karakter khusus ‘@’, ‘$’, ‘%’,’#’ dan lain-lain. Karakter kosong adalah karakter yang panjangnya nol dan dilambangkan dengan ‘ ‘.

  • Bilangan Riil

Bilangan Riil adalah bilangan yang mengandung pecahan desimal, seperti 1/5, 0.5, …

  • String

Tipe String adalah Untaian/ deretan karakter dengan panjang tertentu. Contoh: var nama : string[15];

Untuk materi selengkapnya, Anda dapat melihat di google docs, dengan klik di sini.

Jika pada sebelumnya, kita sudah mempelajari tentang Aturan Penulisan Algoritma, maka sekarang akan kita implementasikan dalam bentuk wujud coding Turbo Pascal.

Diambil dari contoh 4, dengan contoh kasus adalah sebagai berikut.
Buatlah algoritma menghitung besar komisi seorang salesman, jika ketentuannya adalah salesman tersebut mendapatkan komisi sebesar 5% dari harga jual barang.

Penyelesaian :
Algoritma komisi salesman;

Deklarasi
harga jual, komisi : real;

Deskripsi
baca harga jual;
baca konstanta;
komisi = 5% * harga jual;
Output besar komisi;

Penyelesaian :

program komisii;
uses
    wincrt;
var
    h_jual : real;
    komisi : real;
begin
    writeln ('Masukkan harga penjualan : Rp '); readln(h_jual);
    writeln;
    komisi := 0.05 % h_jual;
    write ('Besar komisi yang diterima adalah : Rp ',komisi:0:2);
end.

Pembahasan :

  • program komisii, merupakan nama atau judul dari sebuah program turbo pascal. Perlu diketahui bersama bahwa nama atau judul yang diberikan kepada sebuah program tidak boleh sama dengan variable yang akan dicantumkan dalam program tersebut juga. Jika kita memberikan sebuah variable dengan nama variable komisi, maka nama program harus dibedakan menjadi komisii.
  • Tipe data variabel yang diberikan adalah tipe data Real karena hasil yang akan didapatkan nantinya akan berkemungkinan angka desimal (karena adanya perkalian terhadap persentase)
  • Writeln; dapat dijadikan sebagai penjarak satu spasi ke bawah
  • Hasil yang ditampilkan komisi:0:2, dikarenakan pada awalnya sudah terdefinisi bahwa tipe data yang diberikan kepada komisi adalah tipe data real, sehingga perlu dibatasi berapa angka dibelakang koma. Dalam hal ini komisi:0:2, berarti hasil dari komisi hanya dibatasi dua angka di belakang koma

Turbo Pascal adalah sebuah sistem pengembangan perangkat lunak yang terdiri atas kompiler dan lingkungan pengembangan terintegrasi (dalam bahasa inggris: Integrated Development Environment – IDE) atas bahasa pemrograman pascal untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, yang dikembangkan oleh Borland pada masa kepemimpinan Philippe Kahn.
Nama Borland Pascal umumnya digunakan untuk paket perangkat lunak tingkat lanjut (dengan kepustakaan yang lebih banyak dan pustaka kode sumber standar) sementara versi yang lebih murah dan paling luas digunakan dinamakan sebagai Turbo Pascal. Nama Borland Pascal juga digunakan sebagai dialek spesifik Pascal buatan Borland.

Contoh penulisan kode program Turbo Pascal :

uses
    wincrt;
var
    nama : string [...];
    password : string [...];
    ok : string [...];
begin
    writeln('Silahkan masukkan nama Anda : '); readln (nama);
    writeln('Silahkan masukkan password Anda : '); readln (password);
    writeln('Nama Anda adalah : ', nama);
    writeln('Password Anda adalah : ', password);
    writeln('Ketik ok untuk pastikan : '); readln (ok);
    writeln('Selamat Datang di Dunia Pascal : ', nama);
    readln;
donewincrt;
end.

Adapun penjelasan dari kode yang digunakan di atas adalah sbb.

Uses Wincrt berfungsi sebagai unit yang berisi pengontrolan PC yang meliputi nama, keyboard, warna, dan juga suara.
Uses Wincrt ini memperbolehkan seorang user untuk menggunakan fasilitas – fasilitas lainnya di program tersebut.

Begin berfungsi untuk memulai blok program utama

Writeln berfungsi untuk menampilkan informasi untuk meminta user untuk memasukkan data

Readln berfungsi untuk membaca nilai variable dari data yang dimasukkan/ diminta oleh fungsi Writeln

End berfungsi untuk mengakhiri sebuah program.

Setelah mengetahui tentang Logika dan Algoritma, kini kami mengajak Anda sekalian untuk mempelajari juga apa sajakah aturan penulisan Algoritma?

Dilihat dari susunan Algoritma, sebenarnya Algoritma terbagi atas 3 bagian, yakni :

  • Judul Algoritma

Judul Algoritma adalah bagian yang terdiri atas nama Algoritma dan penjelasan (spesifikasi) tentang Algoritma tersebut.

  • Bagian Deklarasi

Bagian Deklarasi adalah bagian untuk mendefinisikan semua nama yang dipakai dalam Algoritma tersebut.
Misalnya nama peubah (variable) dan nama tipe data.

  • Deskripsi

Bagian ini berisi uraian langkah-langkah sampai dengan hasil penyelesaian sebuah permasalahan sampai dengan hasil-hasil akhir di sebuah Algoritma.

Contoh 1:
Algoritma Luas Persegi Panjang (disebut dengan Judul Algoritma)
panjang, lebar, luas : longint (disebut dengan Bagian Deklarasi)

(Uraian ke bawah berikut ini disebut dengan Deskripsi)
baca panjang : 2
baca lebar : 1
luas : panjang * lebar
Output hasil luas : 2


Contoh 2:
Algoritma Memindahkan isi bejana A – B dan B – A

Algoritma Pertukaran ;

Deklarasi
A, B, C : Integer;

Deskripsi
baca A
baca B
C = A;
A = B;
B = C;
Output hasil penukaran : A = B, B = A


Contoh 3:
Algoritma Uang Kembalian;

Deklarasi
harga barang, uang, kembalian : longint;

Deskripsi
baca uang;
baca harga barang;
kembalian = uang – harga barang;
Output hasil kembalian;


Contoh 4:

Buatlah algoritma menghitung besar komisi seorang salesman, jika ketentuannya adalah salesman tersebut mendapatkan komisi sebesar 5% dari harga jual barang.

Penyelesaian :
Algoritma komisi salesman;

Deklarasi
harga jual, komisi : real;

Deskripsi
baca harga jual;
baca konstanta;
komisi = 5% * harga jual;
Output besar komisi;

Membahas tentang Logika dan Algoritma.. Apakah itu Logika ? Apakah itu Algoritma ?

Logika adalah pola berpikir seseorang dimana orang yang mendengarnya dapat memahaminya secara sistematis. Sedangkan Algoritma adalah urutan langkah-langkah logis menyelesaikan masalah yang tersusun secara sistematis.

Sejarah Algoritma

Kata “Algoritma

berasal dari buku Arab terkenal yang berbunyi “Kitab Aljabar W’al Muqabala” yang artinya buku penyegaran dan pengurangan, dimana dalam isi buku tersebut, terdapat kata Algorism. Perubahan kata Algorism menjadi Algoritma muncul karena kata Algorism dihubungkan dengan Aljabar, sehingga akhiran sm berubah menjadi tm. Maka lambat laun, kata Algoritm berubah menjadi metode perhitungan/ komputasi.

Pada tahun 1950, kata Algoritma sering dihubungkan dengan Algoritma Euclidean (Pencetus Algoritma Matematika). Sebagai contoh :

    • Diberikan dua buah bilangan positif, yakni m dan n, dimana m >= n.

Carilah pembagi bersama terbesar dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n.


Langkah – langkah mengerjakannya :

  • Jika n = 0, maka m adalah jawabannya.
  • Bagilah m dengan n dan misalkan r adalah sisanya
  • Ganti nilai m dengan nilai n dan nilai n diganti dengan nilai r, kemudian ulangi kembali langkah 1.

Penyelesaian :

Misalnya :
m = 80
n = 12

Metode biasa (mencari faktor) :
80 = {1, 2, 4, 5, 8, 10, 16, 20, 40, 80}
12 = {1, 2, 3, 4, 6, 12}
Pembagi terbesar = 4


Metode Euclidean :
80/12 = 6 sisa 8 (dalam pemrograman, bisa dibaca juga dengan 80 mod 12, sehingga menghasilkan 6 sisa 8)
12/8 = 1 sisa 4 (dalam pemrograman, bisa dibaca juga dengan 12 mod 8, sehingga menghasilkan 1 sisa 4)
8/4 = 2 sisa 0 (dalam pemrograman, bisa dibaca juga dengan 8 mod 4, sehingga menghasilkan 2 sisa 0)
Pembagi terbesar = 4

Contoh lain :

Misalnya :
m = 50
n = 20

Metode biasa (mencari faktor) :
50 = {1, 2, 5, 10, 25, 50}
20 = {1, 2, 4, 5, 10, 20}
Pembagi terbesar = 10


Metode Euclidean :
50/20 = 2 sisa 10 (dalam pemrograman, bisa dibaca juga dengan 50 mod 20, sehingga menghasilkan 2 sisa 10)
20/10 = 2 sisa 0 (dalam pemrograman, bisa dibaca juga dengan 20 mod 10, sehingga menghasilkan 2 sisa 0)
Pembagi terbesar = 10

Turbo Pascal adalah sebuah sistem pengembangan perangkat lunak yang terdiri atas kompiler dan lingkungan pengembangan terintegrasi (dalam bahasa inggris: Integrated Development Environment – IDE) atas bahasa pemrograman pascal untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, yang dikembangkan oleh Borland pada masa kepemimpinan Philippe Kahn. Nama Borland Pascal umumnya digunakan untuk paket perangkat lunak tingkat lanjut (dengan kepustakaan yang lebih banyak dan pustaka kode sumber standar) sementara versi yang lebih murah dan paling luas digunakan dinamakan sebagai Turbo Pascal. Nama Borland Pascal juga digunakan sebagai dialek spesifik Pascal buatan Borland.

Borland telah menembangkan tiga versi lama dari Turbo Pascal secara gratis disebabkan karena sejarahnya yang panjang khusus untuk versi 1.0, 3.02, dan 5.5 yang berjalan pada sistem operasi MS-DOS.

Untuk software Turbo Pascal 1.5 untuk Windows 7, Anda bisa download disini.

The password is : www.itechgraph.com