Tampilkan postingan dengan label Pemrograman Komputer. Tampilkan semua postingan
Tampilkan postingan dengan label Pemrograman Komputer. Tampilkan semua postingan

Minggu, 21 November 2010

VARIABEL DAN MEMORI

Variabel merupakan komponen penting pada pemrograman, Variabel digunakan dalam program untuk menyimpan suatu nilai, dan nilai yang ada padanya dapat dirubah selama eksekusi program berlangsung.

Jika suatu variable diisi dengan nilai di luar jangkauannya maka nilai yang akan disimpan akan diubah sesuai dengan jangkauannya. Misalnya, bila suatu variable bertipe integer diberi nilai 75000, yang tersimpan pada variable tersebut berupa 9494. Sebab nilai positif terbesar pada tipe integer yaitu 32767. Hal ini bekerja sebagaimana speedometer pada kendaraan bermotor. Pada spedometer, apabila nilai maksimumnya terlampaui akan dimulai dari nilai terendahnya, yakni nol.

Perlu diketahui, pemrograman aritmatika yang menggunakan tipe seperti integer akan lebih cepat dibandingkan kalau menggunakan tipe long integer itulah sebabnya sedapat mungkin untuk menggunakan variable dengan memori berukuran kecil.

Pendefinisian variabel tergantung pada bahasa pemrograman yang dipakai ada yang pendefinisian variabel dapat diletakan dimana saja (contohnya : Basic, C++, Dbase, dll ) dan ada pula bahasa pemrograman yang sudah ditentukan pendefinisian variabelnya (contohnya : Pascal, Cobol, dll).

Lingkup Variabel

Pemahaman terhadap lingkup variabel di dalam penulisan fungsi sangatlah penting, agar tidak salah dalam menggunakan suatu variabel. Lingkup variabel menentukan keberadaan suatu variabel tertentu didalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.

Jenis variabel berdasarkan kelas penyimpanannya, yang berkaitan dengan lingkup variabel, yaitu:

Variabel otomatis
Variabel eksternal
Variabel Statis
Variabel otomatis

Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal di dalam fungsi tempat variabel didifinisikan.

Suatu variabel otomatis mempunyai sifat :

Variabel hanya akan diciptakan pada saat fungsi dipanggil.
Pada saat fungsi berakhir (selesai dieksekusi), variabel otomatis menjadi sirna.
Tidak ada inisialisasi secara otomatis (pada saat variabel diciptakan). Inisialisasi oleh pemrograman akan dikerjakan setiap kali fungsi dipanggil.
Hanya dapat diakses di dalam fungsi yang mendifinisikan.

Selang waktu antara penciptaan variabel hingga penyirnaannya sering disebut sebagai lifetime atau durasi. Durasi dari variabel otomatis hanya pada saat fungsi yang mendifinisikannya dieksekusi.

Variabel eksternal

Variabel eksternal merupakan kebalikan dari vaiabel otomatis. Variabel eksternal adalah variabel yang didifinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi. Anda dapat mendeklarasikan bukan mendifinisikan, karena tidak ada pengalokasian memori.
Sehingga sifat dari variabel eksternal kebalikan dari variabel otomatis.

Penggunaan variabel eksternal diusahakan sesedikit mungkin atau sedapat mungkin tidak usah digunakan. Tidak lain adalah karena variabel ini mudah sekali berubah oleh pernyataan penugasaan yang letaknya bisa dimana saja. Ini bisa menimbulkan efek samping yang sulit untuk melacaknya, terutama untuk program yang besar.
Variabel eksternal mempunyai durasi selama program diekskusi. Dengan kata lain, memori yang digunakan untuk variabel ini tetap dipertahankanselama program belum berakhir.

Variabel statis

Baik variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat :

Jika variabel local berdiri sebagai variabel statis, maka :
Variabel tetap hanya dapat diakses pada fungsi yang mendifinisikannya
Variabel tidak hilang saat dieksekusi fungsi berakhir nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
Inisialisasi oleh pemrograman akan dilakukan sekali saja selama program dijalankan, jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.

Jika Variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didifinisikan pada file yang sama dengan variabel eksternal tersebut (hal ini bermanfaat pada pemrograman file berganda atau kode program ditaruh pada beberapa file).
MEMORI DINAMIS


Konsep pengalokasian memori

Tataletak memori pada computer setelah suatu program dimuat kememori computer. Seperti berikut :


Stack

Heap

Data

Kode

Pada saat program yang dibuat dijalankan, terdapat sejumlah memori yang tidak terpakai. Memori ini dikenal sebagai Heap. Memori inilah yang dapat dipakai untuk memciptakan variabel dinamis. Ukuran memori ini sangatlah bervariasi, bergantung pada model memori yang digunakan compiler dan juga system operasi.
Read more »

TURBO PASCAL

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.
Sejarah
Turbo Pascal pada awalnya adalah kompiler Blue Label Pascal yang dibuat untuk sistem operasi komputer mikro berbasis kaset, NasSys, milik Nascom tahun 1981 oleh Anders Hejlsberg. Kompiler tersebut ditulis ulang untuk CP/M dan dinamai Compas Pascal, dan kemudian dinamai Turbo Pascal untuk sistem operasi MS-DOS dan CP/M. Versi Turbo Pascal untuk komputer Apple Macintosh sebenarnya pernah ditembangkan tahun 1986, namun pengembangannya dihentikan sekitar tahun 1992. Versi-versi lain pernah tersedia pula untuk mesin-mesin CP/M seperti DEC Rainbow dalam beberapa penembangan.
Versi 1 hingga versi 3
Borland membeli lisensi atas kompiler PolyPascal yang ditulis oleh Anders Hejlsberg (Poly Data adalah nama perusahaan yang didirikannya di Denmark), dan menambahkan antar muka pengguna serta editor. Anders kemudian bergabung sebagai karyawan dan menjadi arsitek atas semua versi kompiler Turbo Pascal dan tiga versi pertama Borland Delphi.
Versi pertama dari Turbo Pascal, yang kemudian disebut sebagai versi 1, memiliki unjuk kerja yang sangat cepat dibandingkan kompiler pascal untuk komputer mikro lainnya. Kompiler tersebut tersedia untuk sistem operasi CP/M, CP/M-86, dan MS-DOS, dan penggunaannya sangat luas pada masa itu. Versi Turbo Pascal untuk CP/M saat itu bisa digunakan pada komputer Apple II yang sangat populer jika digunakan dengan sebuah Z-80 SoftCard, produk perangkat keras pertama yang ditembangkan microsoft di tahun 1980.
Pada saat itu CP/M menggunakan format berkas executable yang sederhana dengan menggunakan ekstensi .COM; sistem operasi MS-DOS bisa menggunakan baik .COM (tidak kompatibel dengan format yang terdapat pada CP/M) maupun format .EXE. Turbo Pascal pada saat itu hanya mendukung kode biner berformat .COM, pada masa itu hal tersebut tidak menjadi suatu bentuk keterbatasan. Perangkat lunak Turbo Pascal itu sendiri merupakan sebuah berkas berekstensi .COM dan berukuran sekitar 28 kilobita, termasuk editor, kompiler, dan linker, dan rutin-rutin pustaka. Efisiensii proses edit/kompilasi/jalankan lebih cepat dibandingkan dengan implementasi paskal pada kompiler lainnya disebabkan semua elemen yang terkait dalam pengembangan program diletakkan pada memori komputer (RAM), dan karena kompilernya sendiri merupakan kompiler berjenis single-pass compiler yang ditulis dengan bahasa assembler. Unjuk kerja proses kompilasi sangat cepat dibandingkan dengan produk lain (bahkan dibandingkan dengan kompiler C milik Borland sendiri).
Ketika pertama kali versi Turbo Pascal muncul pada tanggal 20 November 1983, jenis IDE yang digunakannya masih terbilang baru. Pada debutnya terhadap pasar perangkat lunak di Amerika, perangkat lunak tersebut dibandrol dengan harga USD$49.99. Kualitas kompiler pascal terintegrasi terdapat dalam Turbo Pascal sangat baik dibandingkan kompetitor lain dan atas fitur-fitur tersebut ditawarkan dengan harga yang terjangkau.
Versi 2 dan 3 merupakan pengembangan lebih lanjut dari versi sebelumnya, mampu berkerja dalam memori, dan menghasilkan berkas biner berekstensi .COM/.CMD. Dukungan atas sistem operasi CP/M dan CP/M-86 dihentikan setelah versi 3.
Versi-versi lanjutan
Versi 4, ditembangkan tahun 1987, merupakan perangkat lunak yang ditulis ulang untuk keseluruhan sistem. Kompiler menghasilkan berkas biner berekstensi .EXE pada MS-DOS, dan tidak lagi .COM. Sistem operasi CP/M dan C/M-86 tidak lagi didukung pada versi kompiler ini. Versi ini pula memperkenalkan sebuah antar muka berlayar penuh dengan yang dilengkapi dengan menu tarik; versi-versi awal memilik layar menu berbasis teks; dan editor berlayar-penuh. Microsoft Windows belum ada saat versi ini ditembangkan, dan bahkan pemanfaatan tetikus-pun masih jarang.
Versi 5.x diperkenalkan dengan layar biru yang kemudian menjadi ciri khas yang sangat familiar, yang kemudian menjadi merek dagang perusahaan perangkat kompiler MS-DOS sampai era DOS berakhir di pertengahan tahun 1990-an.
Versi terakhir yang pernah ditembangkan adalah versi 7. Borland Pascal 7 terdiri atas sebuah IDE, dan kompiler untuk MS-DOS, DOS terekstensi, dan program Windows 3.x. Turbo Pascal 7 di sisi lain hanya bisa membuat program MS-DOS standar. Perangkat lunak tersebut dilengkapi pula dengan pustaka grafis yang mengabstraksi pemrograman dalam menggunakan beberapa driver grafis eksternal, namun unjuk kerja pustaka ini tidak memuaskan.
Bahasa Perakit
Meski semua versi Turbo Pascal mendukung inline machine code kode mesin yang disertakan dalam baris kode sumber bahasa pascal, versi-versi berikutnya mendukung integrasi bahasa perakit (Assembly) dengan Pascal secara mudah. Hal ini memungkinkan pemrogram untuk meningkatkan unjuk kerja eksekusi program lebih lanjut, selain itu, memungkinkan pemrogram untuk mengakses perangkat keras secara langsung.
Dukungan atas model memori atas prosesor 8086 tersedia melalui inline assembly, opsi kompiler, dan eksensi bahasa seperti menggunakan kata kuci "absolute".
Suksesi
Pada tahun 1995 Borland menghentikan pengembangan Turbo Pascal dan menggantinya dengan Delphi, berbasis Object Pascal (bahasa Pascal yang telah dilengkapi dengan fitur pemrograman berorientasi obyek). Perangkat lunak tersebut membawa banyak konsep baru kepada pengguna Turbo Pascal seperti konsep pemrograman berbasis RAD (singkatan dari rapid application development). Meski demikan, versi 32 bit Delphi masih mendukung cukup banyak aspek-aspek yang ada pada Turbo Pascal.
Beberapa produk lain yang kompatibel dengan Turbo Pascal juga bermunculan seperti Free Pascal dan Virtual Pascal.
Pendidikan
Borland Pascal masih digunakan sebagai materi yang dipelajari sebagai mata pelajaran atau mata kuliah di beberapa sekolah, dan universitas di Jerman, dan Amerika. Di Beligia, Romania, Serbia, Moldova dan Bulgaria Pascal digunakan bahkan di sekolah menengah tingkat pertama. Namun di Afrika selatan, Pascal tidak lagi digunakan, melainkan menggunakan Delphi dan Java.
Beberapa kalangan guru lebih memilih Borland Pascal 7, atau Turbo Pascal 5.5 disebabkan karena lebih sederhana dibandingkan IDE modern yang ada saat ini (seperti Visual Studio, atau Borland JBuilder), dengan demikian meraka dapat memfokuskan pengajaran lebih banyak pada sisi bahasa, dan bukan pada bagaimana cara mengoperasikan IDE tersebut. Selain dari itu, perangkat lunak tersebut tersedia secara gratis dan bisa diunduh dari situs resminya.
Contoh kode
Bahasa Pascal tidak bersifat case sensitive.
Secara historis, komentar dalam bahasa pascal diidentifikasikan sebagai { seperti ini }, atau (* seperti ini *), dan bisa terdiri atas beberapa baris. Versi lanjutan Borland Pascal juga mendukung model komentar seperti yang terdapat pada C++. // seperti ini , yang berlaku pada satu baris.
Sintaksis case yang lebih fleksibel daripada Pascal standar.
Himpunan hanya bisa memiliki hingga 28 (256) anggota.
Standar, string dengan panjang yang tetap didukung, namun terdapat pula tipe data String yang lebih fleksibel.
Berikut ini adalah contoh klasik program Halo dunia dengan Turbo Pascal:
begin
WriteLn('Halo dunia');
end.
Dan berikut ini contoh program yang meminta masukan nama dan menuliskannya kembali di layar sebanyak seratus kali:
program TulisNama;

var
ANama: String; { Deklarasi variabel Name sebagai string }
AUlang: integer; { variabel yang digunakan untuk perulangan }
begin
Write('Masukkan nama anda: ');
Readln(ANama); { Readln akan membaca masukan yang dientrikan oleh pengguna }
for AUlang := 1 to 100 do
WriteLn('Halo ', ANama)
end.
Read more »

STRUCTURED ENGLISH AND PSEUDOCODE

Stuctured English merupakan alat yang cukup efisien untuk menggambarkan suatu algoritma. Basis dari stuctured english adalah bahasa Inggris, tetapi juga dapat menggunakan bahasa Indonesia. Oleh karena bahasa manusia yang digunakan sebagai dasar penggambaran algoritma, maka stuctured english lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasinan kepada pemakai sistem.
Psedoucode berarti kode yang mirip dengan pemrograman sebenarnya. Psedoucode berasal dari kata Psedou yang berarti imitasi, mirip atau menyerupai dengan kode bahasa pemrograman.
Psedoucode ditulis berbasiskan bahasa pemrograman yang akan digunakan, misalnya Basic, Pascal, C++ dan lain-lain sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada programer. Psedoucode lebih rinci daripada stuctured english, misalnya untuk menyatakan tipe data yang akan digunakan.
Pseudocode merupakan Kaedah yang memaparkan logik atur cara yang mempunyai corak yang serupa dengan bahasa percakapan.
Dalam penulisan stuctured english dan psedoucode juga mengenal struktur penulisan program seperti sequence structure, selection/condition structure dan iteration/looping structure.

Struktur Urut pada Stuctured English dan Psedoucode
Struktur ini terdiri dari sebuah instruksi atau blok instruksi yang tidak mempunyai perulangan atau keputusan di dalamnya.
Contoh Stuctured English dengan menggunakan bahasa Indonesia :
Inisialisasi dan pemberian nilai awal variabel
Baca data panjang dan lebar empat persegi panjang
Hitung luas empat persegi panjang sama dengan panjang dikalikan dengan lebar
Tampilkan hasil perhitungan

Sedangkan bentuk Struktur Urut pada psedoucode adalah sbb :
REM program menghitung luas persegi panjang
LET data panjang diberi nilai awal 0
LET data lebar diberi nilai awal 0
INPUT data panjang
INPUT data leber
Luas sama dengan data panjang x data lebar
PRINT luas persegi panjang
END

Struktur Keputusan/Kondisi pada Stuctured English dan Psedoucode
Selection Structure merupakan struktur logika guna mengambil suatu keputusan. Pada struktur ini dapat digunakan intruksi-instruksi seperti IF-THEN atau struktur CASE.
Contoh penulisan struktur kondisi dengan menggunakan bahasa Indonesia :
Inisialisasi variabel
Baca data nilai mahasiswa
Jika nilai mahasiswa lebih besar dari 60 maka status sama dengan lulus, jika tidak maka status sama dengan gagal
Cetak status mahasiswa

Sedangkan bentuk struktur Kondisi pada psedoucode adalah sbb
REM program kelulusan mahasiswa
LET data Nilai diberi nilai awal 0
INPUT data Nilai
IF data Nilai > 60 THEN
Status mahasiswa sama dengan “Lulus”
ELSE
Status mahasiswa sama dengan “Gagal”
PRINT Status mahasiswa
END

Struktur Perulangan pada Stuctured English dan Psedoucode
Suatu perulangan diterapkan pada situasi dimana suatu instruksi atau group instruksi diproses berulang kali sampai batas/kondisi yang diinginkan terpenuhi. Pada struktur perulangan ini dapat menggunkan instuksi FOR, REPEAT – UNTIL, DO-WHILE.
Contoh penulisan struktur perulangan dengan menggunakan bahasa
Inisialisasi variable yang digunakan
Tentukan nilai awal hitungan
Bila hitungan belum mencapai lebih besar dari 10 maka ulangi maka ulangi blok instruksi berikut
Cetak kata ‘MERDEKA’
Hitungan ditambah satu
Selesai

Sedangkan bentuk Struktur Urut pada psedoucode adalah sbb :
REM program untuk menampilkan kata MERDEKA 10 kali
LET hitungan diberi nilai awal 0
WHILE hitungan <= 10
PRINT kata ‘MERDEKA’
Hitungan ditambah 1
WHEND
END

Gaya Penulisan Structure English
Pada structured English terdapat beberapa gaya penulisan yang telah banyak digunakan. Gaya penulisan tersebut antara lain adalah :
Common Style :
Mengunakan huruf kapital di awal dan selanjutnya hurus kecil semua
Capitalized Common Style :
Seluruhnya menggunakan huruf kapital
Outline Common Style :
Dengan menggunakan nomor urut
Narative Common Style :
Berbertuk uraian
Gaya lain :
Tiap kata kunci ditulis dengan huruf kapital semua

Aturan Penulisan Pseudocode
Pada pseudocode terdapat beberapa aturan penulisan agar pseudocode mudah dipahami dan dimengerti oleh para programer. Aturan penulisan tersebut antara lain
Tulis satu pseudocode suatu instruksi pada satu baris.
Pisahkan modul-modul atau kelompok pseudocode instruksi dengan memberikan spasi beberapa baris untuk mempermudah pembacaan.
Badakan huruf dalam penulisan pseudocode, dimana pseudocode instruksi ditulis dengan huruf kapital, sedangkan komenter atau variabel dalam huruf kecil.
Berikan tabulasi yang berbeda untuk penulisan pseudocode instruksi-instruksi yang berada dalam loop atau struktur kondisi.
Lakukan pembatasan jumlah baris pseudocode instruksi setiap modulnya, misalnya 50 – 75 baris instruksi per modul, sehingga tidak terlalu panjang.
Read more »

DASAR-DASAR LOGIKA

Kalimat Deklaratif

Kalimat Deklaratif (Proposisi) adalah kalimat yang bernilai benar atau salah, tetapi tidak keduanya.

Berikut ini adalah beberapa contoh Proposisi :

a.2 + 2 = 4
b.4 adalah bilangan prima
c.Jakarta adalah ibukota negara Indonesia
d.Penduduk Indonesia berjumlah 50 juta

Penghubung kalimat

Sering kali beberapa kalimat perlu digabungkan menjadi satu kalimat yang lebih panjang. Misalnya kalimat : ` 4 adalah bilangan gena dan 3 adalah bilangan ganjil ` merupakan gabungan dari 2 buah kalimat : ` 4 adalh bilangan genap ` dan kalimat ` 3 adalah bilangan ganjil ` didalam logika dikenal 5 buah penghubung :

Simbol Arti Bentuk

1 ~ Tidak / Not / Negasi Tidak .........
2 ^ Dan / And / Konjungsi ….. dan ……
3 v Atau / Or / Disjungsi ….. atau ........
4 → Implikasi Jika ....... maka .......
5 ↔ Bi – implikasi ......bila dan hanya bila ......

Dalam matematika digunakan huruf – huruf kecil seperti p, q, r, ... untuk menyatakan sub kalimat dan simbol – simbol penghubung untuk menyatakan penghubung kalimat.

Misalkan :

p menyatakan kalimat ` 4 adalah bilangan genap `
q menyatakan kalimat ` 3 adalah bilangan ganjil `
Maka kalimat : 1 4 adalah bilangan genap dan 3 adalah bilangan ganjil ` dapat dinyatakan dengan simbol p ^ q

Jika p dan q merupakan kalimat – kalimat, maka tabel kebenaran penghubung tampak pada tabel ( T = True/benar ; F = False/salah ). Perhatikan bahwa secara umum, jika ada n variabel ( p, q, ...), maka tabel kebenaran memuat 2n baris.

P
q
~ p
p ^ q
p v q
p → q
p ↔ q
T
T
F
T
T
T
T
T
F
F
F
T
F
F
F
T
T
F
T
T
F
F
F
T
F
F
T
T



Contoh :

Misal k : Monde orang kaya
s : Monde bersuka cita

Tulis bentuk simbolis kalimat berikut ini :

a Monde orang yang miskin tetapi bersuka cita
b Monde orang kaya atau ia sedih
c Monde tidak kaya ataupun bersuka cita
d Monde seorang yang miskin atau ia kaya tetapi sedih

Anggaplah negasi dari kaya adalah miskin dan negasi dari bersuka cita adalah sedih

Penyelesaian :

a Kata penghubung tetapi mempunyai arti yang sama dengan kata penghubung `dan`, sehingga simbolisnya adalah ~ k ^ s

b k v ~ s

c Kalimat tersebut berarti bahwa Monde tidak kaya dan sekaligus Monde tidak bersuka cita. Bentuk simbolisnya ~ k ^ ~ s

d ~ k v (k ^ ~ s)


2. Inferensi Logika

Logika selalu berhubungan dengan pernyataan – pernyataan yang ditentukan nilai kebenarannya. Sering kali diinginkan untuk menentukan benar tidaknya kesimpulan berdasarkan sejumlah kalimat yang diketahui nilai kebenarannya.

Argumen Valid dan Invalid

Argumen adalah rangkaian kalimat – kalimat. Semua kaliamat – kalimat tersebut kecuali yang terakhir disebut hipotesa ( atau asumsi/premise). Kalimat terakhir disebut kesimpulan.
Secara umum, hipotesa dan kesimpulan dapat digambarkan sebagai berikut :
P1
P2
P3
...
Pn
--------------------
q } kesimpulan
(tanda q dibaca ` jadi q `

Suatu argumen dikatakan valid apabila untuk sembarang pernyataan yang disubsitusikan kedalam hipotesa, jika semua hipotesa tersebut benar, maka kesimpulan juga benar. Sebaliknya meskipun semua hipotesa benar tetapi ada kesimpulan yang salah, maka argumen tersebut dikatakan invalid.
Kalau suatu argumen dan semua hipotesanya bernilai benar maka kebenaran nilai konklusi dikatakan sebagai ` diinferensikan (diturunkan) dari kebenaran hipotesa `.
Untuk mengecek apakah suatu argumen merupakan kalimat yang valid, dapat dilakukan langkah – langkah sebagai berikut :

1 Tentukan hipotesa dan kesimpulan kalimat.
2 Buat tabel yang merupakan nilai kebenaran untuk semua hipotesa dan kesimpulan.
3 Carilah baris kritis, yaitu baris dimana semua hipotesa bernilai benar.
4 Dalam baris kritis tersebut, jika semua nilai bernilai benar, maka argumen itu valid. Jika diantara baris kritis tersebut ada baris dengan nilai kesimpulan yang salah, maka argumen itu invalid.

Contoh

Tentukan apakah argumen ini valid / invalid

a p v ( q v r ) b p → ( q v ~ r )
~ r q → ( p ^ r )
---------------- --------------------
p v q p → r


Penyelesaian :

a Ada 2 hipotesa masing – masing p v ( q v r ) dan ~ r. Kesimpulannya adalah p v q. Tabel kebenaran hipotesa – hipotesa dan kesimpulan adalah :

Baris ke
p
q
r
q v r
p v (qvr)
~ r
p v q
1
T
T
T
T
T
F
T
2
T
T
F
T
T
T
T
3
T
F
T
T
T
F
T
4
T
F
F
F
T
T
T
5
F
T
T
T
T
F
T
6
F
T
F
T
T
T
T
7
F
F
T
T
T
F
F
8
F
F
F
F
F
T
F

Baris kritis adalah baris 2, 4, 6 (baris yang semua hipotesanya bernilai T. Pada baris – baris tersebut kesimpulannya juga bernilai T. Maka argumen tersebut valid.

b Hipotesa adalah p → ( q v ~ r ) dan q → ( p ^ r ). Konklusinya adalah p → r, tabel kebenarannya adalah

Baris ke
p
q
r
~ r
qv~r
p^r
p→(qv~r)
q→(p^q)
P→r
1
T
T
T
F
T
T
T
T
T
2
T
T
F
T
T
F
T
F
F
3
T
F
T
F
F
T
F
T
T
4
T
F
F
T
T
F
T
T
F
5
F
T
T
F
T
F
T
F
T
6
F
T
F
T
T
F
T
F
T
7
F
F
T
F
F
F
T
T
T
8
F
F
F
T
T
F
T
T
T

Baris kritis adalah baris 1, 4, 7, dan 8. Pada baris ke 4 (baris kritis) nilai konklusinya adalah F, maka argumen tersebut invalid.

Metode – Metode Inferensi

Metode Inferensi yaitu teknik untuk menurunkan kesimpulan berdasarkan hipotesa yang ada, tanpa harus menggunakan tabel kebenaran.

Ada delapan bentuk inferensi adalah:

ATURAN BENTUK ARGUMEN

1 Modus Ponen p → q
p
--------
q

2 Modus Tollen p → q
~ q
--------
~ p
3 Penambahan Disjangtif p q
------- -------
p v q p v q

4 Penyederhanaan p ^ q p ^ q
Kojungtif ------ ------
p q

5 Silogisme Disjungtif p v q p v q
~ p ~ q
------- -------
q p

6 Silogisme Hipotesis p → q
q → r
--------
p → r

7 Dilema p v q
p → r
q → r
---------
r

8 Kojungsi p
q
-------
p ^ q

Contoh :
Pada suatu hari, anda hendak pergi ke kampus dan baru sadar bahwa anda tidak memakai kacamata. Setelah mengingat-ingat, ada beberapa fakta yang anda pastikan kebenarannya :

Jika kacamata ada di meja dapur, maka aku pasti sudah melihatnya ketika sarapan pagi
a.Aku membaca koran di ruang tamu atau aku membacanya di dapur
b.Jika aku membaca koran di ruang tamu, maka pastilah kacamata kuletakkan di meja tamu
c.Aku tidak melihat kacamataku pada waktu sarapan pagi
d.Jika aku membaca buku di ranjang, maka kacamata kuletakkan di meja samping ranjang
e.Jika aku membaca korang di dapur, maka kacamataku ada di meja dapur

Berdasarkan fakta-fakta tersebut, tentukan di mana letak kacamata tersebut !



Penyelesaian :

Untuk memudahkan pemahaman dan penggunaan hukum – hukum inferensi, maka kalimat – kalimat tersebut lebih dahulu dinyatakan dalam simbol – simbol logika misalnya :

p : Kacamata ada di meja dapur

q : Aku melihat kacamataku ketika sarapan pagi

r : Aku membaca koran di ruang tamu

s : Aku membaca koran di dapur

t : Kacamata kuletakkan di meja tamu

u : Aku membaca buku di ranjang

W : Kacamata kuletakan dimeja sampan ranjang

Dengan simbol – simbol tersebut maka fakta – fakta di atas dapat di tulis sebagai berikut :
(a)p → q
(b)r v s
(c)r → t
(d)~ q
(e)u → w
(f)s → p

Inferensi yang dapat dilakukan adalah sebagai berikut :
1 p → q fakta (a)
~ q fakta (d)
--------
~ p dengan Modus Tollen

2 s → p fakta (f)
~ p kesimpulan dari 1
---------
~ s dengan Modus Tollen

3 r v s fakta (b)
~ s kesimpulan 2
---------
r dengan Silogisme Disjungtif

4 r → t fakta (c)
r kesimpulan 3
---------
t dengan Modus Ponen

Kesimpulan : Kacamata ada di meja tamu

Perhatikan bahwa untuk mencapai kesimpulan akhir, tidak semua fakta dipergunakan. Dalam contoh fakta (e) tidak digunakan. Hal ini tidak menjadi masalah selama penurunan dilakukan dengan menggunakan metode inferensi yang benar.
Read more »

BAHASA PEMROGRAMAN

 Program
Kata, ekspresi, pernyataan atau kombinasinya yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh computer.
Dibuat dengan tujuan untuk mempermudah user dalam memberikan instruksi / perintah ke computer.
 Bahasa Pemrograman
Merupakan prosedur/tata cara penulisan program. Pada bahasa pemrograman terdapat dua faktor penting, yaitu sintaks dan semantik. Sintaks adalah aturan gramatikal yang mengatur tata cara penulisan kata, ekspresi dan pernyataan. Semantik adalah aturan-aturan untuk menyatakan arti.
Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.
Tahap pengembangan program
Kualitas bahasa pemrograman
Ekspresivitas : secara jelas menggambarkan algoritma yang dibuat oleh programmer
Dapat didefinisikan dengan baik : sintaks dan semantik harus konsisten tidak bermakna ganda
Tipe data dan strukturnya : berkemampuan untuk mendukung berbagai tipe data
Modularitasnya : harus mempunyai fasilitas subprogramming (modul)
Fasilitas masukan dan keluaran : harus mendukung berbagai model file (sequential, random, access, index, multiple index) dalam pemrosesan masukan dan keluaran
Portabilitas : harus dapat dipakai pada berbagai mesin komputer yang berbeda
Effisiensi : dapat dikompilasi dan dieksekusi secara cepat pada mesin komputer dimana program dapat diimplementasikan
Mudah dipelajari : harus mudah dipahami dan diajarkan
Bersifat umum : memiliki jangkauan luas untuk berbagai aplikasi
 Pemrograman
Merupakan proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah (= algoritma) dengan menggunakan suatu bahasa pemrograman
Secara umum terdapat 4 kelompok Bahasa Pemrograman yaitu:
Object Oriented Language (Visual dBase, Visual FoxPro, Dephi, Visual C)
high level (Seperti Pascal dan Basic),
middle level (Seperti Bahasa C), dan
low level (Seperti Bahasa Assembly).
 Compiler dan Interpreter
Perbedaan Compiler dan intepreter

Intepreter
Compiler
1.
Menerjemahkan instruksi per instruksi
Menerjemahkan secara keseluruhan
2.
Soure program tidak harus ditulis lengkap
Source program ditulis lengkap
3.
Bila terjadi kesalahan kompilasi, dapat langsung dibetulkan secara interaktif
Bila terjadi kesalahan kompilasi, source program harus dibenarkan dan proses kompilasi diulang kembali
4.
Tidak menghasilkan objek program
Menghasilkan objek program
5.
Tidak meghasilkan executable program karena langsung dijalankan pada saat program diinterpretasi
Menghasilkan executable program, sehingga dapat dijalankan di keadaan prompt sistem
6.
Proses interpretasi terasa cepat, karena tiap-tiap instruksi langsung dikerjakan dan dapat dilihat hasilnya
Proses kompilasi lama, karena sekaligus menerjemahkan seluruh instruksi program
7.
Source program terus dipergunakan karena tidak dihasilkan ececutable program
Source program sudah tidak dipergunakan lagi untuk mengerjakan program
8.
Proses pengerjaan program lebih lambat, karena setiap instruksi dikerjakan harus diinterprestasikan ulang kembali
Proses pengerjaan program lebih cepat, karena executable program sudah dalam bahasa mesin
9.
Keamanan dari program kurang terjamin, karena yang selalu digunakan adalah source program
Keamanan dari program lebih terjamin, karena yang dipergunakan ececutable program.
 Tipe Pemrograman
1. Pemrograman Prosedural (Procedural Programming) *
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti algoritma adalah proses yang procedural.
Defenisi procedural adalah :
1.Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas
2.Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah
Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi terdiri atas runtutan instruksi yang dilaksanakan satu persatu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya pencabangan kondisional. Data yang disimpan didalam memori dimanipulasi oleh instruksi secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan pemrograman procedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan C. mendukung kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural.
2. Pemrograman Terstruktur (Structured Programming) *
Bahasa pemrograman terstruktur adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda untuk setiap pemanggilan.
Prosedur adalah bagian dari program untuk melakukan operasi-operasi yang sudah ditentukan dengan menggunakan parameter tertentu.
Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur.
Kontrol program terstruktur (Tiga tipe Bahasa pemrograman terstruktur):
1.Terurut (sequence)
Setiap baris program akan dikerjakan secara urut dari atas ke bawah (setiap baris dikerjakan sekali atau tidak baris baris program yang tidak dikerjakan)
2.Pilihan (selection/conditional)
3.Pengulangan (repetition - loop)
Prinsip pemrograman terstruktur:
Pendekatan rancangan dari atas ke bawah (top down design),
Bagi program ke dalam modul-modul logika yang sejenis,
Gunakan sub-program untuk proses sejenis yang sering digunakan,
Gunakan pengkodean terstruktur: (IF - THEN, DO-.. WHILE ),
Hindarkan penggunaan perintah GO TO bila tidak diperlukan,
Gunakan nama-nama bermakna (mnemonic names), dan
Buat dokumentasi yang akurat dan berarti.

Gaya penulisan program terstruktur:
Menggunakan indentasi sehingga jelas struktur dan kontrol program.
Memudahkan pembacaan, pemahaman, penelusuran kesalahan dan pembuatan koreksi.
Contoh bahasa pemrograman terstruktur : Pascal. Cobol, RPG, ADA, C

3. Pemrograman Modular(Modular Programming) *
Program-program yang besar cenderung sulit terutama karena kompleksitas dari program tersebut, dan banyak bagian dengan hubungan yang rumit dan detail yang sebenarnya tidak perlu.
Salah satu metode dalam penyusunan program terstruktur adalah pemrograman modular. Dalam pemrograman modular, program dipecah-pecah ke dalam modul-modul, dimana setiap modul menunjukkan fungsi dan tugas tunggal. Dengan membagi masalah ke dalam modul-modul, maka masalah akan menjadi sederhana sehingga program dapat lebih mudah disusun dan dipahami.
Fungsi, Prosedur, atau kumpulan perintah-perintah dipaket menjadi suatu modul.
Dapat digunakan berulang-ulang, atau digunakan olah fungsi, prosedur lain dalam program.
Setiap program mempunyai sebuah modul program utama, yang mengontrol semua proses yang terjadi, termsuk mengirimkan kontrol program ke submodul untuk melakukan suatu fungsi tertentu.
Pemrograman modular diterapkan dengan menggunakan sub-routine, yaitu sebuah kumpulan perintah yang melakukan tugas pemrosesan yang terbatas.
Jika persoalan yang ingin dipecahkan melalui program terlalu besar, sebaiknya pemecahan masalah dilakukan secara bertahap
Setiap tahapan akan menghasilkan modul program
Setiap modul tersebut diberi nama sehingga untuk menyatakannya cukup dengan menyebut namanya
Deskripsi fungsional dari setiap modul adalah penting
Program yang didefinisikan modulnya dengan baik akan :
Mudah dibaca dan dimengerti oleh pemakai
Efisien, karena modul yang sama mungkin dipakai pada beberapa tahapan program.
Modular programming banyak dimanfaatkan oleh bahasa pemrograman OOP.

4. Pemrograman Fungsional (Functional Programming) *
Suatu bahasa dimana ekspresi disusun atas fungsi panggilan (bukan pernyataan). Fungsi: perintah-perintah yang terkumpul menjadi satu dan dapat menghasilkan suatu nilai.

Disebut bahasa pemrograman fungsional karena memang pada program seluruh kodenya berupa fungsi-fungsi. Bahasa pemrograman fungsional merupakan salah satu bahasa pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika.

Isi dari Program fungsional tidak mengandung pernyataan perintah.

Contoh bahasa pemrograman fungsional : Lisp, Scheme, ML, Haskell,
Erlang.

5. Pemrograman Berorientasi Objek* (OOP/Object-Oriented Programming)
Object / Objek : Elemen yang memiliki fungsi, metode, karakteristik tertentu yang dapat dibedakan dalam dunia nyata.
Class : Kumpulan Object-object yang memiliki kesamaan karakateristik.

Merupakan bahasa pemrograman yang mampu memanfaatkan objek-objek yang tersedia atau membuat suatu objek tertentu dengan menggunakan bahasa pemrograman.
Mampu merefleksikan kebutuhan-kebutuhan user sebagaimana lakyaknya yang ada di dunia nyata.
Relative lebih fleksibel dan mudah diadaptasikan terhadap perubahan suatu program.
Memiliki feature yang memperkuat dan meningkatkan flesibilitas suatu objek dengan diadanya class, instance, encapsulation, inheritance, reuseability, dan polymorphism.
Karakteristik Bahasa Berorientasi Objek:
Objek fisik: (Mobil dalam simulasi arus lalu lintas, Pesawat terbang dalam sistem pengontrolan lalu lintas udara)
Elemen dari lingkungan : (Windows, Objek grafik ( garis, lingkaran, polygon))
Penyimpanan data (array, stack, Link list, binary tree)
Entitas orang (karyawan, mahasiswa, pelanggan, pasien)
Contoh bahasa pemrograman beroriantasi object : C++ , SmallTalks , Java


6. Pemrograman Visual
Bahasa Visual
Penggunaan ekspresi visual(seperti grafik, gambar, atau ikon) yang sistematik dan mempunyai arti
Bahasa visual adalah himpunan simbol-simbol grafis dan teks yang mempunyai arti semantik dan digunakan untuk menyelesaikan masalah komunikasi di dunia.

Bandingkan:
Bahasa Textual mengacu pada penggunaan karakter (teks).
Bahasa tekstual konvensional hanya bekerja pada 1 dimensi karena compiler/interpreter memproses program pada satu arah saja.

Pemrograman Visual :
“Penggunaan ekspresi visual (seperti grafik, gambar, atau ikon) dalam proses pemrograman”

“Mengacu pada aktivitas yang memungkinkan pengguna untuk membuat program dalam dua (atau lebih) dimensi.

Bahasa Pemrograman Visual:
“Bahasa visual digunakan dalam pemrograman visual”

Visualisi:
“Penggunaan representasi visual (grafik, gambar, atau animasi) untuk menggambarkan program, data, struktur atau tingkah laku dinamis sistem yang kompleks.”

Sistem Pemrograman Visual:
“Sistem komputer yang mendukung baik pemrograman visual maupun visualisasi”


Contoh Bahasa Visual (1)
Kenyataan, bahasa visual
lebih tua dari saudaranya tekstual
ada anggapan komputer tidak bisa apa-apa
Contoh historis:



Examples of Visual Languages (2)
Bahasa visual Modern
Pictograms
Elemen pada GUI
Simbol File dan folder, dll.
Skema rangkaian elektronik
Diagram keadaan, diagram E-R
Petri Nets: Bahasa visual untuk tingkah laku system

Bahasa campuran: berisi elemen visual yang mempunyai elemen tekstual (keterangan)


6. Pemrograman Even-Driven (Even-Driven Programming) *

Menggunakan konsep “Jika sebuah aksi / perintah dilakukan terhadap sebuah objek, apa yang akan terjadi / dilakukan oleh objek tersebut selanjutnya.”

Sangat fleksibel dalam pembuatan koding program, karena sudah menggunakan konsep OOP dimana pemrograman dapat dimulai dari objek yang diinginkan tanpa harus terurut.

Merupakan salah jenis bahasa pemrograman yang sudah memanfaatkan GUI (Graphic User Interface).

Biasanya merupakan jenis bahas pemrograman visual.
Contoh : Visual Basic, Visual C++, Delphi, Borland Kilix
Read more »

ARRAY

Array atau Larik adalah sekumpulan data yang mempunyai tipe data sejenis. Misalnya numerik atau string, dan diidentifikasikan dengan sebuah nama variable array.
Di dalam sebuah array, setiap rinci data disebut dengan komponen atau elemen array, ditentukan oleh suatu besaran yang disebut dengan subskrib atau index yang menunjukkan letak sebuah elemen dalam array.
Berdasarkan banyaknya subskrib yang menentukan letak suatu elemen dalam larik dikenal adanya array dimensi satu, arary dimensi dua dan array dimensi banyak.

Array Dimensi Satu
Array dimensi satu disebut juga dengan vector, adalah sebuah array yang terdiri dari sejumlah elemen data, dan poisis setiap elemen ditentukan oleh sebuah subskrib.
Setiap array harus dideklarasikan terlebih dahulu, hal ini digunakan untuk mengalokasikan ruang memori yang akan digunakan dan juga menentukan tipe data dari elemen array.

Bentuk umum deklarasi array dimensi satu adl :
DIM namavar ({cacah | awal to akhir}) [As tipe]

Dengan cacah : banyaknya elemen array
Awal : nomor awal subskrib
Akhir : nomor akhir subskrib
Tipe : tipe data elemen array.

Contoh : DIM baristabel(5)
DIM baristabel( 1 to 5)
DIM baristabel(5) As Integer
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array baristabel dengan jumlah elemen 5.
40
30
100
80
75
Untuk mengoperasikan array digunakan subskrib.
Baristabel(1) = 40, Baristabel(2) = 30, Baristabel(3) = 100
Baristabel(4) = 80, Baristabel(5) = 75

♣ REM PROGARRAY1
DIM A(5)
LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75
C = A(1) + A(2) + A(3) + A(4) + A(5)
PRINT A(1) , A(2) , A(3) , A(4) , A(5)
PRINT “HASIL JUMLAH = “; C
END
Output:
40 30 100 80 75
HASIL JUMLAH = 325

♣ REM PROGARRAY2
DIM A(7)
C= 1
10 READ A(C)
IF C=7 THEN 20
C = C + 1
GOTO 10
20PRINT A(3), A(5)
PRINT A(1) + A(5)
PRINT A(6), A(4+2)
PRINT A(4)+A(3), A(7)
DATA 8,6,5,4,2,5,6,2,2,1,7,10,5
END
Output :
52
10
55
9 6
♣ REM PROGARRAY3
DATA “KEN AROK”, “KEN DEDES”
DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”
K = 1
10 READ R$(K)
IF K = 5 THEN 20
K = K + 1
GOTO 10
PRINT R$(2) : PRINT R$(4)
END
Output :
KEN DEDES
ANUSAPATI

Pada program di atas, untuk pembacaan data menggunakan teknik kounter. Teknik lain yang lebih mudah adalah dengan menggunakan looping FOR NEXT.

♣ REM PROGARRAY4
DATA “KEN AROK”, “KEN DEDES”
DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”
FOR K = 1 TO 5
READ R$(K)
NEXT K
PRINT R$(2) : PRINT R$(4)
END
Output :
KEN DEDES
ANUSAPATI





♣ REM PROGARRAY5
DATA 5,8,9,8,5
DIM X(5)
JUM = 0
FOR K = 1 TO 5
READ X(K)
JUM = JUM + X(K)
NEXT K
RATA = JUM / 5
PRINT “RATA-RATA =”; RATA
END
Output :
RATA-RATA = 7

Array Dimensi Dua
Array dimensi dua, lebih dikenal dengan matriks atau tabel, adalah sekumpulan elemen yang sejenis, dan posisi setiap elemennya ditentukan oleh dua buah subskrib yaitu nomor baris dan nomor kolom.

Bentuk umum deklarasi array dimensi 2 adalah :
DIM namavar (baris,kolom) [As tipe] atau
DIM namavar ( baris1 to baris2, kolom1 to kolom2) [As tipe]

Dengan Namavar : nama variable yang akan dideklarasikan sebagai array dua dimensi
Baris : cacah baris
Kolom : cacah kolom

Contoh : DIM M(2,3) atau
DIM M( 1 to 2, 1 to 3)
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array M dengan jumlah elemen 2 baris dan 3 kolom..


30
50
20
10
10
10

Untuk mengoperasikan array digunakan subskrib.
M(1,1)=30, M(1,2)=50, M(1,3)=20,
M(2,1)=10, M(2,2)=10, M(2,3)=10

♣ REM PROGARRAY6
DIM M(2,3)
M(1,1)=30: M(1,2)=50: M(1,3)=20
M(2,1)=10: M(2,2)=10: M(2,3)=10
PRINT M(1,1) +M(2,2)
PRINT M(2,3)
END
Output:
40
10

♣ REM PROGARRAY7
DIM A(3,2)
FOR B = 1 TO 3
FOR K = 1 TO 2
READ A(B,K)
PRINT A(B,K),
NEXT K
PRINT
NEXT B
PRINT
DATA 1,2,1,2,1,2,1,2
PRINT A(2,1)+A(3,1),
END


Output:
1 2
12
12
2

Array Dimensi Banyak
Array dimensi banyak merupakan array yang dimensinya lebih dari satu.
Bentuk umum deklarasinya :
DIM namavar (b,k,h,…,dn) [As tipe ] atau
DIM namavar (b1 to b2,k1to k2, h1 to h2,…, dn1 to dn2) [As tipe]

Contoh : DIM M(2,3,4) atau
DIM M(1 to 2, 1 to 3, 1 to 4)

Dalam operasinya menggunakan subskrib 3 dimensi, yaitu :
M(1,1,1),M(1,1,2),M(1,1,3),M(1,1,4)
M(1,2,1),M(1,2,2),M(1,2,3),M(1,2,4)
M(1,3,1),M(1,3,2),M(1,3,3),M(1,3,4)
M(2,1,1),M(2,1,2),M(2,1,3),M(2,1,4)
M(2,2,1),M(2,2,2),M(2,2,3),M(2,2,4)
M(2,3,1),M(2,3,2),M(2,3,3),M(2,3,4)
Read more »

ALGORITMA

Komputer pada dasarnya adalah mesin yang tidak bisa apa-apa. Kita harus memberikan perintah untuk dapat berbicara (berkomunikasi) dengan komputer, dengan cara memberikan serangkaian instruksi kepada komputer agar komputer dapat memecahkan masalah. Langkah-langkah yang kita lakukan dalam memberikan instruksi untuk memecahkan masalah kita kita namakan pemrograman komputer. Untuk menyusun sebuah program yang besar dan kompleks, pemrogram membutuhkan tahapan penyusunan yang sistematis dan terpadu, yaitu:
1.Definisi Masalah
2.Analisis Kebutuhan
3.Penyusunan Algoritma
4.Pengkodean/Pemrograman
5.Testing dan Debugging
6.Pemeliharaan
7.Dokumentasi
Algoritma

Algoritma adalah kunci dari bidang ilmu komputer, dan pada dasarnya setiap hari kita melakukan aktivitas algoritma. Kata algoritma berasal dari sebutan Algorizm (Abu Abdullah Muhammad Ibn Musa Al Khwarizmi, ahli matematika Uzbekistan)

Definisi Algoritma
Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika atau matematika
Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
Algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.

 Langkah-langkah dalam algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar.

Pembuatan algoritma harus selalu dikaitkan dengan:
a.Kebenaran algoritma
b.Kompleksitas (lama dan jumlah waktu proses dan penggunaan memori)

Kriteria Algoritma yang baik:
1.Tepat, benar, sederhana, standar dan efektif
2.Logis, terstruktur dan sistematis
3.Semua operasi terdefinisi
4.Semua proses harus berakhir setelah sejumlah langkah dilakukan
5.Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah untuk diimplementasikan dan tidak menimbulkan arti ganda.

“Suatu algoritma harus menghasilkan output yang tepat guna (efektif) dalam waktu yang relatif singkat dan penggunaan memori yang relatif sedikit (efisien) dengan langkah yang berhingga dan prosesnya berakhir baik dalam keadaaan diperoleh suatu solusi ataupun tidak adanya solusi.”

Teknik Pemecahan Masalah
1.Teknik Top-Down
2.Teknik Bottom-Up
 Tahap Pemecahan Masalah:
Proses dari masalah hingga menjadi suatu algoritma
 Tahap Implementasi
Proses dari algoritma hingga menjadi suatu solusi. Solusi yang dimaksud adalah suatu program yang merupakan implementasi dari algoritma yang disusun.
 Contoh algoritma menulis surat, maka kita perlu melakukan beberapa langkah yaitu:
1.Mempersiapkan kertas dan amplop
2.Mempersiapkan alat tulis (pena, pensil)
3.Mulai menulis
4.Memasukkan kertas ke dalam amplop
5.Pergi ke kantor pos

 Contoh algoritma untuk menghitung luas lingkaran:
1.Masukan r (=jari-jari lingkaran)
2.Tentukan phi (=3.14)
3.L= Phi*r*r
4.Tulis L


NO.
Proses
Algoritma
Contoh Langkah dalam algoritma
1.
Membuat Kue
Resep kue
Masukan telur ke dalam wajan, kocok sampai mengembang
2.
Membuat pakaian
Pola pakaian
Gunting kain dari pinggir kiri bawah kearah kanan sejauh 5 cm
3.
Praktikum reaksi kimia
Panduan praktikum
Campurkan 10 ml air ke dalam 15 ml garam
4.
Merakit mobil
Panduan merakit
Sambungkan komponen A dengan komponen B
5.
Kegiatan sehari-hari
Jadawal harian
Pukul 15.00: tidur siang
Pukul 16.00: membuat PR
6.
Memainkan musik
Papannot balok
Not balok
7.
Mengisi voicer HP
Panduan pengisian
Tekan 888
Masukan kode voucer

Penyajian Algoritma:

1.Teknik tulisan;
English Structure
Pseudocode
2.Gambar;
Metode structure chart,
Hierarchy plus input-process-output
Flowchart
Nassi Schneiderman chart

English Structure:
Menggunakan bahasa manusia (Inggris)
Menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai sistem

Pseudocode
Pseudo= imitasi atau mirip / menyerupai
Code=program
Kode yang mirip dengan kode pemrograman yang sebenarnya
Menggambarkan Algoritma yang akan dikomunikasikan kepada programmer
Lebih rinci dari English Structure (mis: dalam menyatakan tipe data yang digunakan)

Structure Chart (bagan terstruktur)
Digunakan untuk mendefinisikan dan mengilustrasikan organisasi dari system secara berjenjang
Berbentuk modul dan submodul
Menunjukkan hubungan elemen data dan elemen control serta hubungan antar modul

Aturan Penulisan Teks Algoritma

Setiap algoritma akan selalu terdiri dari :
Judul (header)
Deklarasi (kamus)
Deskripsi Algoritma
JUDUL ALGORITMA  Algoritma NAMA ALGORITMA
{Penjelasan tentang algoritma, berisi uraian singkat cara kerja program, kondisi awal dan akhir dari program}  spesifikasi algoritma
Catatan, dalam menulis nama-nama dalam algoritma harus mempunyai makna yang mencerminkan proses, sifat atau identitas lainnya yang melekat dengan suatu proses, tipe, konstanta, variabel, sub-program dan lain-lainnya. Nama-nama yang bermakna disebut mnemonic.

DEKLARASI
(Semua nama yang dipakai, meliputi nama file, nama variable, nama konstanta, nama prosedur serta nama fungsi }

DESKRIPSI
(Semua langkah/aksi algoritma }
Contoh:
1). Kepala algoritma: Algoritma Luas_Lingkaran { Menghitung luas lingkaran dengan ukuran jari-jari tertentu .Algoritma menerima masukan jejari lingkaran, menghitung luasnya, dan menyajikan hasilnya ke piranti keluaran }
2) Deklarasi algoritma:
DEKLARASI { nama konstanta }
const PHI = 3.14; { Nilai phi = 22/7 }
{ nama peubah } var R : real; { input jejari lingkaran bilangan riil }
l_Lingkaran : real; { luas lingkaran bilangan riil }
{ nama sub program } procedure TUKAR (input/output A:integer, input/output B:integer)
{Mempertukankan nilai A dan B.Parameter A dan B sudah terdefinisi nilainya.Setelah pertukaran, A berisi nilai B dan B berisi nilai A }

3) Deskripsi algoritma:
{ Baca data jejari lingkaran R.Jika R <= 0 tulis pesan data salah, selain itu hitung luas ingkaran. Tampilkan luas lingkaran. }
baca(R);
jika R <= 0 then tulis ("Data salah !") selain itu l_Lingkaran = PHI x R x R; tulis(l_Lingkaran);
Bahasa Pemrograman
Komputer mengerjakan transformasi data berdasarkan kumpulan perintah - program - yang telah dibuat oleh pemrogram. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna. Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer.

Generasi bahasa pemrograman:
• Generasi I: machine language
• Generasi II: assembly language : Asssembler
• Generasi III: high-level programming language: C, PASCAL, dsb.
• Generasi IV: 4 GL (fourth-generation language): SQL
Read more »

 
Powered by Blogger