Rabu, 18 November 2009

Jaman Fosil pra sejarah

Jaman Fosil pra sejarah

percaya gak, jaman pra sejarah udah ada komputer ???
iya ada komputer disana di Babilonia sekarang namanya Irak, kemungkinan besar di cina juga ada, nama nya Abacus atau sempoa, gak tau deh kalo orang amrik ngebakar itu komputer bersejarah. Btw gue gak tau cara pake abacus atau sempoa itu, tanya orang cina deh, atau anak TK yang belajar sempoa...:))

Jadi fosil gak juga...coba jalan-jalan ke glodok sana, orang cina masih pake sempoa antik nya dari pada pake kalkulator atau komputer cash register.

Blaise Pascal pernah bikin kalkulator mekanik... mekanik gimana mencet ya ? tapi cukuplah buat ngituh tambah dan kurang, jangan coba coba ngitung kalkulus dengan kalkulator ini, bakalan cape mencet nya :)

Charles Babbage juga membuat mekanik komputer, belum bisa dibilang komputer sih karena masih pake mekanik semua.

Jaman komputer Dinosaurus sebelum 1970

Jaman dahulu kala sebelum para komputer pc lahir, hidup dinosaurus komputer sebesar gudang, makanan nya listrik ribuan watt, jalan nya lelet kayak truk keberatan badan. Komponen nya pake Tabung elektron sebelum th 1950, th sudah 1960an pake transistor tapi tetap aja body nya segede gudang.

Dan yang lebih sedih lagi orang yang naekin (pake) komputer harus orang terlatih, enggak sembarangan orang bisa pake komputer. Perusahaan super tajir, pemerintahan dan universitas aja yang bisa piara itu dinosaurus komputer. yang lebih menyedihkan lagi orang yang pake dino yang satu belum tentu bisa pake dino yang laen, masing masing punya cara nya sendiri.

Cara pake nya hmmm kayak nya elo harus ngantri deh, misal nya punya itung itungan program elo harus ngantri dulu bikin SIM card eh punch card, trus masukin ke mesin...setelah dimakan baru keluar deh tai nya eh...sory hasil nya, kalo salah ya ulang dari awal, kan belon ada SIM isi ulang di sini...jadi harus beli baru lagi, bokek dah gue

Yang termasuk fosil fosil dino ini adalah
ENIAC, UNIVAC sory gak apal gue belon lahir sih...

Jaman komputer kecil (mini computer) 1970-1980

Jaman ini dimulai dengan komponen yang kecil memakai IC, makan listrik nya lebih kecil, dan ukuran nya gak gede gede banget...tapi tetep aja gede, minimal ukuran lemari pakaian. OS nya kebanyakan udah pake UNIX tapi tetep aja susah bikin program nya btw belon ada monitor yang asik di pelototin di sini :((

Cara kerjanya mirip dengan jurangan-jongos, ada satu juragan yang tajir banget dan banyak sekali jongos yang kerja di situ...Ya kayak jaman penjajahan dulu lho...juragan nya namanya mainframe, jongos nya namanya dumb terminal... dumb kan bodoh jadi Kayak orang belanda kan "Goblok Koe"...walaupun kerjaan elo udah bener

tahun 1970 OS UNIX dibuat oleh Bell lab, sekarang AT&T tapi dipakai oleh komputer komputer gede gajah aja, belum UNIX buat pc tahun 70an, Iseng juga sih orang telkom bikin OS komputer.

Btw gue masih kecil dan belon tau ada binatang yang nama nya komputer. jadi belon maenan komputer...paling sepeda butut...

Embrio PC mulai lahir di sini di tandai dengan kit altair 8800 pake prosessor 8080, yang di pake ngoprek sama bill gates & paul alen.

Embrio DOS untuk pc adalah CP/M dikembangkan oleh digital research, nama awal dari DOS adalah QDOS (Quick and Dirty Operating System), wah gimana sih udah kecil jorok lagi... dan DOS bertahan sebagai OS sampai jaman Windows 95.

Jaman mikro komputer 1980-1990

Nah jaman ini muncul dan PC (personal komputer), sebenarnya komputer pc pertama adalah apple bukan ibm pc, dibuat oleh steve jobs & Steve Wozniak. Kemudian Bill gates & Paul Allen membuat program basic untuk komputer 8080.

Komputer ber GUI pertama bukan lah apple atau windows, tapi xerox alto workstation produksi dari xerox. Inilah komputer pertama pake mouse.

Periode ini IBM-PC + DOS merajai komputer kelas jangkrik (karena kalo lagi dipake bunyi hardisk & disket nya krik...krik...krik...), dilain pihak Apple mulai menjual PC dengan grafik yang ciamik dengan nama Apple MacIntosh. MS Windows sebenarnya sudah lahir tapi masih di anak tirikan karena ya itu anak tiri...disuruh kerja berat aja udah ngos ngosan...baru Windows 3.1 bisa dibisa disuruh kerja berat.

Penyakit virus, trojan mulai berkembang biak di DOS...melalui perantara disket...gak tau deh yang laen soalnya internet kan belum beredar di kalangan murmer...

UNIX dipakai oleh komputer komputer kelas berat, karena body nya yang gede, masih turunan dino sih, harga nya amit-amit mahal banget, tujuh turunan gak kebeli dah komputer UNIX. Belon ada OS UNIX yang gratis di sini, OS UNIX yang populer disini adalah SunOS, SCO, AIX, dan HP-UX. Eh sory Sebenar nya universitas Berkeley punya software UNIX BSD yang menjadi basis dari UNIX komersial tadi.

Software opensource sebenar nya mulai di pelopori oleh si gondrong Richard Stallman, dengan proyek GNU nya jauh sebelum Linus Torvald bikin linux. Tapi sayang nya software nya gak populer sebelum linux lahir.

Jaringan Internet belum berkembang di sini, baru mulai dipakai oleh orang orang elit aja di amrik sana...kita wah masih jaman kegelapan (jahiliah) tanpa internet.

Jaman reformasi PC 1990-2000

Jaman ini ditandai dengan kelahiran Windows 95 yang di iringi dengan lagu "Start Me UP" nya Rolling Stones, sayang nya Mr. Bill gates lupa bahwa ada terusannya "You Make a Grow Man Cry", kasian tuh orang sampe nangis nangis pake Windows 95 (gak tau kena virus apa file nya pada ilang). Orang sampe antri untuk beli Windows 95, gak tau deh pada mau mudik kemana...sukses windows di teruskan dengan windows 98, ME, 2000 dan XP, sekarang Vista yang "WOW" itu lho.

Sayangnya sukses nya juga di ikuti oleh wabah penyakit menular yang sangat berbahaya menjakiti seluruh dunia (Virus, worm, trojan, spyware, spam), sampai sampai jaringan internet macet gara gara penyakit virus ini.

Saat ini kalau beli komputer hampir pasti isinya Intel+windows, masih sedikit pilihan lain, sebenarnya banyak OS lain tapi hanya menduduki urutan ke sekian dari partai OS.

Linux lahir dari tangan dingin si Linus Torvald, nyontek dari OS Minix buatan dosen nya Andrew Tanembaum (dosen yang baik OS nya boleh di contek). Dosen nya sempet debat sengit karena linux berbeda filosopi dengan yang di ajarin dosen nya, biasa dosen kalo lagi iri kayak begini...

Beberapa tahun setelah itu temen-temen nya sedunia internet keroyokan membuat OS linux lebih ciamik... Linux mulai berhasil menjadi lirikan IT Admin untuk dipasang di server server nya. Kebanyakan sih install ngumpet ngumpet gak bilang bos nya, kalo server nya di pasang linux... bos nya kan masih belon tau ada binatang nama nya linux

Linux saat ini belum menjadi pilihan untuk di pasang di komputer gajah... soalnya ya belon kuat aja... maklum masih belajar di TK-SD. grafik nya juga belon asik dipakai bekerja, kebanyakan orang belum tau ada binatang yang bernama linux. Yang pake linux hampir pasti orang dari akademik, Admin IT, atau orang yang antusias dengan IT.

Di dunia UNIX ada FreeBSD yang populer di kalangan tertentu saja, enggak sepopuler linux sih. UNIX komersial semakin merajai Komputer komputer turunan Dino...harga nya semakin mahal aja...gak kebeli deh.

Jaman ini internet mulai merajai dunia, pertengahan 90an kalo enggak kenal web, chatting, email, ya masih gak gaul. yahoo.com saat ini seakan menjadi web site wajib yang harus di kunjungi. Soalnya yahoo.com yang menjadi mesin pelacak yang paling tangguh.

Jaman Online th 2000-now

Iya semua (hampir semua) nya bisa online pada jaman ini. Ditandai oleh teknologi wireless, teknologi internet, dan software yang semakin beragam.

Lahir barang barang kecil seperti HP, PDA, mp3 player, games konsol, media player, kamera digital yang bisa di kantongin, dan kalau perlu semua nya bisa online ke internet. eh tau gak semua itu isi nya komputer juga...jadi komputer yang dulu segede dino, sekarang sekecil semut...:)) asik juga liat anak SD udah pegang pegang game, mp3 player, hp...dll gue jadi ngiri masa kecil gue deh...hihihi.

Windows semakin menguasai dengan kelahiran Windows XP, hasil blasteran dari Windows NT & Windows 98, hampir menjadi makanan wajib yang baru pegang komputer. tapi dikikuti penyakir virus, worm yang sekarang semakin meraja rela melalui internet, email, p2p.

Windows Vista "WOW" lahir, dengan interface yang bisa goyang goyang inul. Dengan meminta spesifikasi highend yang 1 tahun kemudian menjadi mainstream. jadi kalau pake windows vista sekarang 1 tahun lagi baru bisa di nikmati dengan nyaman. Soal penyakit ya biasa lah, windows selalu penyakitan entah sampai kapan.

Linux mulai di lirik sebagai OS alternatif, Gnome & KDE tampil dengan desktop yang mature, canggih...menyaingi Windows XP, MacOS. Apalagi disini setelah Polisi seakan sok tau ngerazia warnet warnet. yang pakai OS Bjk. Buru buru deh warnet pada mingrasi ke linux atau pakai OS windows "ASLI". Tapi razia ini belum menyentuh kantor kantor dan pemakai rumahan, padahal ini paling banyak yang pakai OS bjk.

Linux juga mulai dilirik sebagai OS di server server, soalnya sudah bisa menyaingi UNIX dengan harga yang sangat murah. Bahkan banyak yang membuat linux Cluster, cluster itu komputer keroyokan yang ngerjain tugas tugas yang maha berat.

Sebagai bayangan linux cluster vs server gede gajah (mainframe misalnya) seperti keroyokan Raptor vs T-Rex, masa gak nonton Jurassic park sih...T-Rex tenaga nya memang gede luar biasa...tapi keroyokan raptor akan lebih cepat bekerja.

Vendor UNIX komersial mulai melirik linux sebagai kawan & lawan. Yang menyerang linux mulai dari Microsoft sampai SCO. oh Iya SCO ini lucu...sebagai pemegang lisensi UNIX memang dia kebakaran rambut kribo & jengot nya kalau sampai linux bisa menguasai dunia, Unix gak kebagian kue lagi dong...

Padahal siapa yang mau di serang...Linux itu ibarat makhluk ghaib...bisa dirasakan tapi tidak bisa di lihat...gak ada satu pun perusahaan, pemerintah, orang yang meguasai hajat hidup linux...Linux milik publik...jadi siapa yang akan di serang ???...ghostbuster aja belum tentu bisa membasmi linux, apalagi SCO enggak bisa...yang di serang SCO kan IBM sedangkan programmer linux ada di seluruh dunia.

Yang menemani linux labih banyak lagi dari IBM, HP, Sun, oracle, sampai warnet pun mulai ber linux ria...ya free bagi vendor besar, dan gratis bagi IT kecil kecilan.

Vendor UNIX mulai membagi bagi gratis OS nya melihat benefit yang bisa diperoleh dari dunia opensource, di pelopori oleh SUN dengan opensource solaris nya...hehehe asik nih di harapkan vendor unix lain juga akan membuat opensouce OS nya.

UNIX juga mulai mendapat muka baru dengan dikembangkan nya MacOSX, OS yang ciamik...grafik yang canggih dengan OS UNIX yang powerfull.

Internet...wah saat ini kalo gak online gak gaul deh, soalnya hampir semua barang bisa online dari mulai gadget mp3 player, hp, game konsol, wireless hotspot, voip...gue bisa email, buka web, yang jauh di ujung dunia sana...bahkan alien di planet klingon kalo online bisa di akses dari internet...ups... entar gue jadi borg nih...

Search engine terbaik saat ini google hampir semua nya bisa di cari pake google, dari kuman, foto, artikel, ebook, film, video, music...dll bahkan profil orang bisa di google dulu...mangkanya kalo nyari cewek saat ini coba googling dulu, kalo pernah internetan pasti ada jejak nya di internet, entah foto, alamat, artikel, sampe kartu kredit. Sekarang google sudah meluncurkan googleearth, yang kita bisa terbang virtual dari kampung ke kota, ke tengah laut, dan ke atas gunung. Sebentar lagi kita bisa terbang virtual ke galaxy bima sakti, ke andromeda, atau ke bintang bintang di ujung alam semesta.

Tapi tunggu google sedang riset dna search engine jadi semua orang bisa di search DNA nya...wajar aja google sekarang aja punya ribuan komputer cluster terbesar di dunia. Nah mau lari kemana lagi lo...

Teknologi GPS udah menjangkau semua permukaan bumi, ya di permukaan... gue gak atu kalo elo terbang ke luar angkasa, atau ngumpet di gua paling bawah bisa gak di lacak GPS. So kalo gue hidup di hutan aja masih bisa di lacak pake GPS dimana lagi bisa ngumpet di kolong dunia ini yang kecil ini...inilah era globalisasi sesungguhnya...

Jaman biokomputer... abad selanjutnya kalo gue masih hidup

Silahkan menghayal...hmmm teknologi nya sudah ada hari ini tinggal implementasi nya.

IPv6 yang di kembangkan mulai th 1995 dipakai besar besaran, IPV6 ini memakai 128bit dibadingkan dengan ipv4 yang 32bit, dengan IPv6 ini sepertinya setiap sel tubuh kita bisa di kasih IP :), jadi ketauan tuh sel mana saja yang sedang down...hehehe

Teknologi komputer juga mengecil bisa seukuran atom, dengan bahan yang tidak lagi di dominasi oleh silikon, bisa saja bagian tubuh kita menjadi komputer...biocomputer...tepat.

Internet juga enggak cuma di dunia yang kecil ini...tapi sudah menjelajah ke ujung galaxy sana...jadi silahkan cari www.klingon.com, silahkan kirim email ke pesawat StarTrek, dan hologram confrence dengan Luke Skywalker.

Robot yang bisa bekerja sendiri...dan hidup sendiri...ah aku gak percaya robot yang isi nya komputer + besi bisa hidup...:)) aku gak mau di saingi oleh robot...hehehe, banyak film futuristik banyak mengexpoitasi masalah ini misalnya I robot, The Matrix, StarTrek, StarWars...dll

Sial...aku gak bisa ngumpet lagi di dunia ini...ada gps yang di tanam di tengkuk ini...setiap orang bisa di indentifikasi lagi ada di mana, lagi ngapain, bisa di hubungi setiap saat...wah gak bisa bolos, bersenang senang lagi deh...semua nya ketauan bos gue...gue congkel aja ini gps...

Eh internet isi nya juga gak cuma email, chatting, web...udah ada voip, video, radio, tv, duit bahkan hologram confrence...semuanya lewat internet...gak tau deh kalo teknology materi tranfer udah dibuat...kita bisa berjalan jalan ke dunia sana lewat internet... hiii gue sih ngeri kalo kena time out, kepala & badan gue bisa misah di internet...hehehe

OS juga kayak nya udah bisa multi platform, semua software bisa jalan di semua platform...ini impian tapi kenyataan nya tetap aja ada UNIX, MacOS, Linux, xBSD, Windows... dan semua nya gak saling kompatible...

Hmmm Tapi komputer yang paling canggih di dunia...gak akan bisa di tandingi oleh teknologi komputer paling canggih sekali pun adalah isi kepala kita...aku percaya kekuatan komputasi otak kepala lebih canggih dari pada komputer yang paling canggih...

Sabtu, 07 November 2009

STRUKTUR KONTROL pascal

STRUKTUR KONTROL


REPEAT – UNTIL DAN WHILE-DO

Digunakan untuk mengulang (repeat) statement-statement atau blok statement sampai (until) kondisi yang diseleksi di Until tidak terpenuhi. Sintaks dari statement ini bila digambarkan dalam bentuk diagram akan berbentuk :
Bentuk Umum : REPEAT sequence statement UNTIL condition
Bentuk Proses (flow chart) :

Contoh : (dari persoalan di atas)

digit := 1;
REPEAT
write (digit);
digit := digit + 1
UNTIL digit > 5 ;


Contoh :
Var
I : integer;
Begin
I := 0;
Repeat
I := I + 1;
Writeln(I);
Until I = 5;
End.

Hasilnya:

1
2
3
4
5

Perbedaan antara struktur REPEAT-UNTIL dengan WHILE-DO adalah sebagai berikut :
1. Paling sedikit statement-statement di dalam perulangan REPEAT-UNTIL diproses sekali, karena seleksi kondisi ada pada statement Until yang terletak dibawah. Sedang pada struktur WHILE-DO paling sedikit dikerjakan nol kali, karena seleksi kondisi ada apada statement While yang terletak diatas, sehingga kalau kondisi sudah tidak terpenuhi, maka tidak akan masuk ke dalam lingkungan perulangan.
2. Pada REPEAT-UNTIL dapat tidak dipergunakan blok statement (tidak diperlukan Begin dan End untuk menunjukkan batas perulangannya), karena batas perulangannya sudah ditunjukkan oleh Repeat sampai dengan Until (Repeat dan Until sebagai pengganti Begin dan End).

Struktur FOR

Digunakan untuk mengulang statement atau satu blok statement berulang kali sejumlah yang ditentukan.
Sintaks dari statement For dalam bentuk diagram adalah sebagai berikut :

Bentuk Umum :
a. FOR id := v1 TO v2 DO statement
b. FOR id := v1 DOWNTO v2 DO statement

Bentuk Proses :

Contoh : (dari persoalan diatas)
FOR i := 1 to 20 DO write(i);
FOR I := 20 DOWNTO 20 DO write(i);
Contoh :
Var I : integer;
Begin
For I := 1 to 5 Do Writeln(‘Pascal’);
End.
Hasilnya : Pascal
Pascal
Pascal
Pascal
Pascal
Penjelasan :
Berarti statement WriteLn(‘Pascal’) akan diulang sebanyak 5 kali, yaitu dengan penghitung I dari nilai awal 1 sampai dengan nilai akhir 5.
Contoh :
Penulisan statement yang akan diproses berulang kali tersebut dapat juga ditulis dalam bentuk blok statement (diawali dengan Begin dan diakhiri dengan And), walaupun hanya berisi sebuah statement saja, sebagai berikut :

Var
I : integer;
Begin
For I := 1 to 5 Do
Begin
WriteLn(‘Pascal’);
End;
End.

Contoh :
Var Celcius : integer;
Fahrenheit : REAL;
Begin
WriteLn(‘---------------------------‘);
WriteLn(‘Celcius Fahrenheit’);
WriteLn(‘---------------------------‘);
Celcius := 0;
For Celcius := 5 DownTo 0 Do
Begin
Fahrenheit := 1.8 * Celcius + 32;
WriteLn(Celcius:8,Fahrenheit:14:2);
End;
WriteLn(‘----------------------------‘);
End.

Hasilnya :
---------------------------
Celcius Fahrenheit
---------------------------
5 41.00
4 39.00
3 37.40
2 35.60
1 33.80
0 32.00

Komponen Dasar Program Pascal

Komponen Dasar Program Pascal


Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa pemrograman yang umum, yang terdiri dari :

1. Simbol Dasar

2. Reserved Word (kata pasti)

3. Identifier (penyebut)

Simbol Dasar.

Simbol dasar terdiri atas :

1. Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z.

(huruf besar dan kecil).

2. Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.

3. Simbol khusus, yaitu

+ - * / ; := , = < > <= >= <> : { } ( ) [ ]

Reserved Word (kata pasti)

Reserved Word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat dipergunakan sebagai pengenal (identifier)

Reserved Word ini jumlahnya berbeda untuk masing-masing bahasa Pascal.

Contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal antara lain :

AND ELSE LABEL SET

ARRAY END OF TYPE

BEGIN FUNCTION OR UNTIL

CASE FOR PROCEDURE VAR

CONST GOTO PROGRAM WHILE

DO IF RECORD WITH

DOWNTO IN REPEAT dsb

Identifier (sebutan / pengenal)

Identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu di dalam program. Pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier.

Identifier ini terdiri atas :

a. Identifier Standar, yaitu identifier yang telah didefinisikan oleh bahasa pascal.

Contoh dari Identifier standar ini antara lain:

ABS LN EOF SQR

ARCTAN ODB EOLN SQRT

BOOLEAN PRED EXP SUCC

CHAR ROUND

CHR READ

COS READLN Dan masih banyak lagi.

b. Identifier Non Standar; yaitu identifier yang didefinisikan oleh pemakai bahasa pascal; misalnya;

1. nama suatu program

2. nama suatu konstanta

3. nama suatu variabel

4. nama suatu procedure

Nama Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut :

1 terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Huruf besar dan huruf kecil dianggap sama.

2 Tidak boleh mengandung blank.

3 Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah.

4 Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.

Contoh :

Identifier

Keterangan

GajiKaryawan

Benar

No_Mhs

Benar

P3K

Benar

1X

Salah, karakter pertama harus huruf

A&B

Salah, tidak boleh mengandung simbol khusus

A B

Salah, tidak boleh mengandung blank

Variabel, Konstanta dan Ekspresi

Variabel.

Variabel adalah suatu identifier non-standar yang didefinisikan oleh programmer untuk menyimpan nilai atau data tertentu yang dibutuhkan dalam program pada saat program sedang berjalan. Nilai variable tidak tetap atau nilainya merupakan hasil dari suatu proses. (variabel yang dimaksudkan disini sama seperti halnya arti variabel pada aljabar).

Tipe data dari variable yang dideklarasikan haruslah sama dengan nilai yang kita masukkan ke dalamnya.

Bentuk umum deklarasinya adalah :

1 Jika hanya 1 (satu) variabel yang dideklarasikan :

VAR identifier : jenis data;

2 Jika lebih dari 1 (satu) variabel dan masing-masing memiliki jenis data yang sama :

VAR id-1, id-2, …., id-3 : jenis data;

3 Jika beberapa variabel yang berbeda jenis datanya :

VAR

identifier-1 : jenis data;

identifier-2 : jenis data;

.

.

.

identifier-n : jenis data;

4 Jika variabel yang dideklarasikan berjenis data non-standar :

TYPE id = (data_item_1,data_item_2,…,data_item_n);

VAR id-v : id;

SUB-RANGE :

TYPE id = data_item_pertama .. data_item_terakhir;

VAR id-v : id;

Contoh :

1. VAR x : integer;

2. VAR p,q,r : real;

3. VAR a,b : char;

m,n : boolean;

4. TYPE warna = (merah,hitam,biru,putih,kuning);

VAR x1,x2 : warna;

5. TYPE tahun = 1900 .. 1993;

VAR thn-1,thn-2,thn-3 : tahun;

Aturan penulisan dalam penamaan variabel :

  • Tidak mengandung spasi, symbol atau tanda
  • Tidak diawali dengan angka
  • Tidak menggunakan kata pengenal (identifier) dalam bahasa PASCAL

Berdasarkan ruang lingkupnya, variable dibedakan menjadi 2 :

  1. Variabel global, variable yang dideklarasikan diluar blok atau rutin-rutin (procedure & fungsi) tertentu, sehingga variable global akan dikenali oleh semua rutin yang terdapat dalam program atau unit bersangkutan.

Program latvarglobal;

Uses

Crt;

Var varglobal: integer;

Procedure proc1

Begin

{ kode program ….. }

……

End;

Function func1: integer ;

Begin

{ kode program ….. }

……

End;

(program utama)

Begin

{ kode program ….. }

…..

End.

  1. Variabel local, variable yang dideklarasikan di dalam suatu rutin tertentu (procedure &fungsi) sehingga hanya dikenali oleh rutin bersangkutan saja.

Function func1: integer ;

Varlokal: integer;

Begin

{ kode program ….. }

……

End;

Contoh program menggunakan variabel:

Program latihan;

Var

Bilangan; integer;

Hasil : longint;

Begin

Clrscr;

Write (‘masukan sebuah bilangan bulat : ‘ );

Hasil := bilangan * bilangan * bilangan;

Write(bilangan,’^3 = ‘, hasil);

Readln;

end.

Konstanta.

Konstanta adalah suatu identifier non-standar yang nilainya telah ditetapkan dalam suatu program dan dideklarasikan pada bagian deklarasi. Nilai konstanta tidak dapat dirubah selama program berjalan.

Bagian umum deklarasinya adalah :

CONST identifier = nilai;

Contoh :

CONST

phi = 3.14;

x= 2;

maxrecord = 100;

universitas = ‘UNIVERSITAS GUNADARMA’

contoh program dengan konstanta:

Program menggunakan konstanta;

uses crt;

const

MAX = 5;

Var

A: array [1..MAX] of integer

i : integer;

begin

clrscr;

for I := 1 to MAX do

A[i] := I * 10 ;

for i := to MAX do

writeln ( ‘A[“, I, ‘]= ’, A[i] ) ;

readln

end.

Konstanta bertipe

Sebuah konstanta bisa di defefinisikan dengan menggunakan tipe. Hal ini memang mirip dengan melakukan inisialisasi pada variable global. Perbedaannya adalah pada konstanta bertipe nilainya akan diisikan pada saat program dijalankan, sedangkan pada variable inisialisasi harus dilakukan secara eksplisit.

Bentuk umum :

Const

Namakonstanta : tipedata = nilai konstanta;

Contoh:

Const

Namaku : string = ‘Marliza Ganefi’ ;

Karakter : chart = ‘A’;

Escape : char= chart(27);

e : real = 2.7182181

Nilai dari konstanta bertpe dapat dirubah pada saat program dijalankan

Program constbertipe;

Uses

Crt;

Const

Kota: string =’Bandung’;

Begin

Writeln(kota);

Kota:=’Jakarta’;

Writeln(kota);

Readln;

End.

Ekspresi.

Sebuah ekspresi merupakan kumpulan dari operand-operand (seperti : bilangan, konstanta, variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.

Ada 2 (dua) jenis ekspresi dalam bahasa Pascal, yaitu :

1. Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik / aritmatika.

Contoh :

(b * b – 4 * a * c) / (2*a) / (2 * a) Þ ekspresi numerik, jika a,b dan c adalah bilangan (variabel bernilai numerik).

2. Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean / logika (true/false).

Contoh :

Upah < style=""> Þ ekspresi boolean (“upah” adalah suatu variabel bernilai real).

Algoritma PEMROGRAMAN

PENGANTAR ALGORITMA PEMROGRAMAN

Definisi Program/Pemrograman

Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)

Paradigma Pemrograman

1. Pemrograman Prosedural

§ Berdasarkan urutan-urutan, sekuensial

§ Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.

§ Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.

2. Pemrograman Fungsional

§ Berdasarkan teori fungsi matematika

§ Fungsi merupakan dasar utama program.

3. Pemrograman Terstruktur

§ Secara berurutan dan terstrukrtur.

§ Program dapat dibagai-bagi menjadi prosedur dan fungsi.

§ Contoh: PASCAL dan C

4. Pemrograman Modular

§ Pemrograman ini membentuk banyak modul.

§ Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri

§ Sebuah program dapat merupakan kumpulan modul-modul.

Contoh: MODULA-2 atau ADA

5. Pemrograman Berorientasi Obyek

§ Pemrograman berdasarkan prinsip obyek, dimana obyekemiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasi

§ Contoh: C++, Object Pascal, dan Java

6. Pemrograman Berorientasi Fungsi

§ Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.

§ Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.

7. Pemrograman Deklaratif

§ Pemrograman ini mendeskripsikan suatu masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.

§ Contoh: PROLOG

Struktur Sistem Komputer

Siklus Hidup Perangkat Lunak

Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman dan Struktur

Data menempati posisi dibagian software dan di bagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program).

Algoritma

Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Definisi Algoritma

- Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)

- Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)

Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya atau kuenya jadi.

- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:

§ Menulis surat

§ Surat dimasukkan ke dalam amplop tertutup

§ Amplop ditempeli perangko secukupnya.

§ Pergi ke Kantor Pos terdekat untuk mengirimkannya.

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.

Pelaksana algoritma adalah Komputer.

Manusia dan komputer berkomunikasi dengan cara: manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program.

Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman sangat bermacam-macam: C, C++, Pascal, Java, C#, Basic, Perl, PHP, ASP, JSP, J#, J++ dan masih banyak bahasa lainnya. Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama.

Kriteria Algoritma Menurut Donald E. Knuth

1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.

2. Output: algoritma harus memiliki minimal satu buah output keluaran.

3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.

4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).

5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk unterminatable: contoh Sistem

Operasi

Jenis Proses Algoritma

1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.

2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu

3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.

4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.

Contoh Algoritma

Algoritma menghitung luas persegi panjang:

1. Masukkan panjang (P)

2. Masukkan lebar (L)

3. L P * L

4. Tulis L

Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code

Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.

Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan

Contoh Pseudo-code:

1. Masukkan bilangan pertama

2. Masukkan bilangan kedua

3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.

4. Tampilkan bilangan pertama

5. Tampilkan bilangan kedua

Contoh Algoritma

1. Masukkan bilangan pertama (a)

2. Masukkan bilangan kedua (b)

3. if a > b then kerjakan langkah 4

4. print a

5. print b

Contoh Lain Algortima dan Pseudo-code:

Pseudo-code

Algoritma

Nilai A ditambah dengan 5

A A + 5

Cetak nilai A bila lebih besar dari 10

IF A > 10 THEN PRINT A

Dari dua bilangan A dan B, cari bilangan yang terbesar

IF A > B THEN PRINT A ELSE PRINT B

Langkah-langkah dalam pemrograman komputer

1. Mendefinisikan masalah

Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy

(oleh Henry Ledgard):

“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.

Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

2. Menemukan solusi

Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.

Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul:

¾ meminta masukkan berupa matriks bujur sangkar

¾ mencari invers matriks

¾ menampilkan hasil kepada pengguna

Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.

3. Memilih algoritma

Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

4. Menulis program

Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.

5. Menguji program

Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

6. Menulis dokumentasi

Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

7. Merawat program

Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada.


Recent Post