Jumat, 31 Oktober 2008

TUGAS LOGIKA & ALGORITMA (KELOMPOK)

Tugas 1


Jawablah soal-soal berikut dengan jelas dan benar!

1. Jelaskan apa yang dimaksud dengan logika dan penalaran!

2. Jelaskan apa yang dimaksud dengan penalaran induktif dan penalaran deduktif, dan beri contoh masing-masing!

3. Jelaskan apa yang dimaksud dengan proposisi empirik dan proposisi mutlak!

4. Tentukan empirik atau mutlak proposisi-proposisi berikut!

1) Air mendidih pada suhu 100 oC
2) Dua garis lurus yang sejajar tidak akan pernah bertemu
3) Matahari terbit dari sebelah timur
4) Semua manusia akan mati
5) Luas sebuah persegi panjang selalu 100 cm
6) Semua bangunan menggunakan bahan baku semen
7) Semua apel rasanya manis
8) Semua mahasiswa memakai sepatu berwarna hitam


Tugas 2

Jawablah soal-soal berikut dengan jelas dan benar!

1. Jelaskan apa yang dimaksud dengan logika proposisional!
Jawab

2. Jelaskan apa yang dimaksud dengan negasi, konjungsi dan disjungsi!
Jawab

3. Negasikan proposisi-proposisi berikut.
a) Maria anak yang rajin
b) Joko adalah pemain sepakbola
c) Maria dan Joko adalah teman satu kelas
d) Miranda adalah penari tradisional
e) Budiman adalah ketua kelas
Jawab


2. Konjungsikan proposisi-proposisi berikut.
a) Desy Ratnasari adalah pemain sinetron Indonesia
Desy Ratnasari adalah presenter Indonesia
b) Budiman suka bermain badminton
Budiman suka bermain sepakbola
c) Martono anak yang pandai
Martono anak yang patuh kepada orang tua
Jawab

3. Disjungsikan proposisi-proposisi berikut.
a) Yang sedang bermain musik adalah Irfan
Yang sedang bermain musik adalah Panji
b) Bunga mawar berwarna merah
Bunga mawar berwarna putih
c) Akbar membeli sepatu baru
Akbar membeli tas baru
Jawab

4. Diketahui empat proposisi yang dilambangkan dengan A, B, C, dan D. Buatlah tabel kebenaran dengan seluruh kemungkinan dari operasi konjungsi, disjungsi, negasi dari konjungsi dan negasi dari disjungsi keempat proposisi tersebut.
Jawab


Tugas 3

Jawablah soal-soal berikut dengan jelas dan benar!

1. Jelaskan apa yang dimaksud dengan program, pemrograman dan bahasa
pemrograman!
Jawab

2. Jelaskan apa yang dimaksud dengan algoritma!
Jawab

3. Sebutkan dan jelaskan dua cara penyajian algoritma!
Jawab

4. Sebutkan langkah-langkah yang harus diterapkan dalam pemrograman
komputer!
Jawab


5. Jelaskan proses kerja dari sebuah komputer!
Jawab


Tugas 4


Buatlah algoritma dari soal-soal berikut!

1. Z = (A + B) – C
Jawab

2. L = (M * N) / X, dimana N=8 dan X=12
Jawab

3. A = (B – C) * 6
Jawab

4. X = (A * B) + (B + C), dimana B=10
Jawab

5. K = (J * 9) / (J – 4)
Jawab

6. Luas segitiga = ½ * Alas * Tinggi
Jawab

7. Luas persegi panjang = Panjang * Lebar
Jawab

8. Keliling lingkaran = 2 * 3,14 * R
Jawab

9. Volume tabung = 3,14 * R * R * T
Jawab

10. P = (Q * R) – M, dimana Q = X * Y
Jawab

11. B = C + D + E, dimana D = M * 5
Jawab

12. C = (P + Q) / R, dimana P = A * B, dan R = Z * 3
Jawab


13. Nilai rata-rata = (nilai-1 + nilai-2 + nilai-3) / 3
Jawab

14. Nilai akhir = (30% * Kuis) + (30% * UTS) + (40% * UAS)
Jawab

15. Bunga = (Suku bunga x waktu x modal) / 100
Jawab

Buatlah algoritma untuk menghitung konversi :

16. Dari Dolar AS ke Rupiah, dimana 1$ = Rp. 9000,-
17. Dari jam ke menit
18. Dari kilogram ke ons
19. Dari kwintal ke ton, dimana 1 ton = 10 kw
20. Dari Celcius ke Fahrenheit, Fahrenheit = 1,8 * Celcius + 32

Tugas 5


Jawablah soal-soal berikut dengan jelas dan benar!

1. Buatlah algoritma untuk menghitung NA = (Kuis + UTS + UAS) /3, kemudian beri keterangan =”Lulus” jika NA > 75, dan keterangan =”Tidak Lulus” jika NA <= 75
Jawab

2. Buatlah algoritma untuk menghitung bonus penjualan untuk seorang Sales dengan ketentuan, jika Total Penjualan > 100.000 000 maka mendapatkan bonus sebesar 10% dari Total Penjualan, dan jika Total Penjualan <= 100.000.000 maka mendapatkan bonus sebesar 7% dari Total Penjualan.
Jawab

3. Buatlah algoritma untuk menghitung potongan pembelian untuk para Pembeli dengan ketentuan, jika Total Pembelian > 300.000 maka mendapatlan potongan sebesar 15% dari Total Pembelian, dan jika Total Pembelian <= 300.000 maka mendapatkan potongan sebesar 10% dari Total Pembelian.
Kemudian hitung Total Bayar = Total Pembelian – Potongan.
Jawab




4. Buatlah algoritma untuk menentukan Gaji Pokok berdasarkan Golongan, dengan ketentuan :
Jika Golongan = IA dan Masa Kerja <= 2 tahun maka GP = 600.000
Jika Golongan = IA dan Masa Kerja > 2 tahun maka GP = 800.000
Jika Golongan = IIB dan Masa Kerja <= 4 tahun maka GP = 1.000.000
Jika Golongan = IIB dan Masa Kerja > 4 tahun maka GP = 1.200.000
Jika Golongan = IIIC dan Masa Kerja <= 6 tahun maka GP = 1.450.000
Jika Golongan = IIIC dan Masa Kerja > 6 tahun maka GP = 1.800.000
Jawab

5. Buatlah algoritma untuk menentukan Gaji Pokok dan Tunjangan Keluarga berdasarkan Golongan, dengan ketentuan :

Golongan
Gaji Pokok
Tunjangan Keluarga
I
600.000
65.000
II
800.000
95.000
III
1.050.000
120.000
IV
1.300.000
145.000
Kemudian hitung Gaji Total = Gaji Pokok + Tunjangan Keluarga
Jawab

6. Buatlah algoritma untuk pengolahan data pengembalian buku perpustakaan. Field yang akan diolah adalah Nama Peminjam, Kode buku, Tanggal pinjam, Tanggal kembali, Lama pinjam dan Denda. Ketentuan :
· Lama pinjam = Tanggal kembali – Tanggal pinjam
· Jika Lama pimjam > 3 hari maka selebihnya dari 3 hari dikenakan denda sebesar Rp. 300/hari, dan jika Lama pinjam <= 3 hari maka tidak dikenakan denda
Jawab

7. Buatlah algoritma untuk pengolahan data pengiriman paket. Field yang akan diolah adalah Nama Pengirim, Nama Penerima, Kota Tujuan , Berat paket, Biaya administrasi, Biaya paket dan Total Biaya
Ketentuan :
Biaya administrasi ditentukan berdasarkan Kota tujuan sbb.
Kota tujuan Biaya administrasi
Jakarta Rp. 12.500
Bandung Rp. 15.000
Palembang Rp. 20.000

Biaya paket = Berat paket * Rp. 1000
Total biaya = Biaya administrasi + Biaya paket
Jawab



8. Buatlah algoritma untuk menentukan kelas berdasarkan Nilai tes, dengan ketetntuan sebagai berikut.
Jika Nilai tes >= 81 maka Kelas = “Level 3”
Jika Nilai tes >= 71 maka Kelas = “Level 2”
Jika Nilai tes >= 61 maka Kelas = “Level 1”
Jika Nilai tes < 61 maka Kelas = “Level 0”
Jawab

9. Buatlah algoritma untuk menentukan Nama Jurusan berdasarkan Kode Jurusan
dengan ketentuan :

Kode Jurusan
Nama Jurusan
MI
Manajemen Informatika
KA
Komputerisasi Akuntansi
SI
Sistem Informasi
TI
Teknik Informatika
TK
Teknik Komputer
SK
Sistem Komputer
Jawab

10. Buatlah algoritma untuk menghitung gaji pegawai. Atribut yang digunakan terdiri
dari NIP, Nama, Golongan, Masa kerja, Gaji Pokok, Status, Jumlah anak,
Tunjangan istri, Tunjangan anak, Jam kerja, Gaji lembur, Gaji total, Kasbon dan
Gaji bersih.
a) Gaji pokok ditentukan berdasarkan golongan dan masa kerja
Golongan
Masa kerja
Gaji pokok
I
<= 2 tahun
400.000
I
> 2 tahun
650.000
II
<= 4 tahun
900.000
II
> 4 tahun
1.200.000

b) Tunjangan istri diberikan berdasarkan status. Jika statusnya berkeluarga maka mendapat tunjangan istri sebesar 25% dari gaji pokok dan mendapatkan tunjangan anak sebesar 50.000/anak (maksimal 3 anak). Tetapi jika belum berkeluarga tidak mendapat tunjangan istri dan tunjangan anak.
c) Gaji lembur diperoleh berdasarkan jam kerja (jam kerja normal 160 jam/bulan). Jika jam kerjanya lebih besar dari jam kerja normal maka selebihnya dihitung lembur sebesar Rp. 5000/jam.
d) Gaji total = gaji pokok + tunjangan istri + tunjangan anak + gaji lembur
e) Gaji bersih = gaji total – kasbon.

Jawab

11. Buatlah algoritma untuk menampilkan bilangan ganjil dari 1 sampai dengan 40!
Jawab

12. Buatlah algoritma untuk menampilkan bilangan genap dari 1 sampai dengan 40!
Jawab

13. Buatlah algoritma untuk menampilkan bilangan kelipatan 5 dari 1 sampai dengan 50.
Jawab

14 Buatlah algoritma untuk menampilkan hasil kuadrat bilangan genap dari 1
sampai dengan 20!
Jawab

Tugas 6


Jawablah soal-soal berikut dengan jelas dan benar!

1. Buatlah algoritma untuk menampilkan tulisan “Algoritma Pemrograman” sebanyak 10 baris
Jawab

2. Buatlah algoritma untuk menampilkan bilangan dari 1 sampai dengan 40.
Jawab

3. Buatlah algoritma untuk menampilkan nilai X, X2 dan X3, dengan nilai X dari 1 sampai dengan 10.
Jawab

4. Buatlah algoritma untuk menampilkan konversi dari Kg ke Ons, dengan nilai Kg dari 1 sampai dengan 5.
Jawab

5. Buatlah algoritma untuk mencari nilai faktorial dari suatu bilangan
N! = 1x2x3x…xN
Jawab


6. Buatlah algoritma untuk mencari nilai permutasi dari persamaan P = N! / (N - R!)
Jawab


7. Buatlah algoritma untuk mencari nilai kombinasi dari persamaan
C = N! / ((N – R)! * R!)

Buatlah algoritma dengan hasil tampilan sebagai berikut.

1234 975
34567 9630
456789 54321
Jawab

9. Dengan perulangan berkait buatlah algoritma dengan hasil tampilan sebagai berikut.
35 36 37 38
45 46 47 48
55 56 57 58
65 66 67 68.
Jawab

10. Buatlah algoritma dengan hasil tampilan sebagai berikut.
37 38 39
67 68 69
97 98 99
Jawab

11. Buatlah algoritma untuk penjumlahan matriks dengan jumlah ordo 2 X 2!
Jawab

12. Buatlah algoritma penjumlahan dua buah matriks dengan jumlah ordo yang
ditentukan secara variabel!
Jawab

Tugas 7

Buatlah algoritma file dengan struktur sub program dari soal-soal berikut!

1. Pengolahan data Koperasi. File terdiri dari Anggota (Nomor anggota, Nama, Alamat), Pinjaman (Nomor Pinjam, Jumlah Pinjaman) dan Angsuran (Nomor anggota, Nomor Pinjam, Nomor Angsuran, Jumlah Angsuran, Sisa Angsuran). Ketentuan:
a) Sisa Angsuran = Jumlah Pinjaman – Jumlah Angsuran
b) Masing-masing file mempunyai akses tambah data, perbaiki data, hapus
data dan cetak data.

Jawab
Flowchart Program Menu Utama
Sub program / prosedur Anggota

Sub program / prosedur Pinjaman

Sub program / prosedur Angsuran

2. Pengolahan data Peminjaman dan Pengembalian Buku Perpustakaan. File terdiri dari Anggota (Nomor Anggota, Nama, Kelas), Buku (Kode buku, Judul buku, Pengarang) dan Transaksi (Nomor Anggota, Judul buku, Tgl-pinjam, tgl-kembali, Lama Pinjam, Denda). Ketentuan:
a) Lama pinjam = Tgl-kembali - Tgl-pinjam
b) Jika lama pinjam > 5 hari, maka selebihnya dikenakan denda sebesar Rp. 300/hari, dan jika tidak maka tidak dikenakan denda.

Jawab
Flowchart Program Menu Utama

Sub program / prosedur Anggota

Sub program / prosedur Buku

Sub program / prosedur Transaksi

Senin, 20 Oktober 2008

Struktur data Bab 1

STRUKTUR DATA (1)

PENGANTAR
Bagaimana cara mengatasi masalah implementasi program dengan komputer?
Pemahaman masalah secara menyeluruh dan persiapan data
Keputusan operasi-operasi yang dilakukan terhadap data
Penyimpanan data-data pada memori sehingga tersimpan dan terstruktur secara logis, operasinya efisien
Pengambilan keputusan terhadap bahasa pemrograman mana yang paling cocok untuk jenis data yang ada

Perbedaan Tipe Data, Obyek Data & Struktur Data (1)

Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa pemrograman pada komputer.
Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:
Deklarasi terhadap variabel tipe data tersebut
Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data tersebut
Jenis obyek data yang mungkin
Contoh tipe data di C? Java? Pascal? .NET?

Perbedaan Tipe Data, Obyek Data & Struktur Data (2)

Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data tertentu.
Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255, string adalah kumpulan karakter maks 255 huruf
Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada memori komputer maupun file secara efektif sehingga dapat digunakan secara efisien, termasuk operasi-operasi di dalamnya.

Aktivitas Struktur Data

Di dalam struktur data kita berhubungan dengan 2 aktivitas:
Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada
Menunjukkan mekanisme kerja operasi-operasinya
Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.

Struktur data = obyek data + [operasi manipulasi data]

Hubungan SD dan Algoritma

Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih kecil, dan waktu eksekusi yang lebih cepat.
Tidak semua struktur data baik dan sesuai. Contoh untuk problem data bank: pengupdate-an harus cepat, sedangkan penambahan/penghapusan data boleh lebih lambat.

Ciri Algoritma

Ciri algoritma yang baik menurut Donald E.Knuth:
Input: ada minimal 0 input atau lebih
Ouput: ada minimal 1 output atau lebih
Definite: ada kejelasan apa yang dilakukan
Efective: langkah yang dikerjakan harus efektif
Terminate: langkah harus dapat berhenti (stop) secara jelas

Logika & Algoritma Bab 2



2.1. Algoritma

Manusia di dalam melaksanakan kehidupannya selalu saling berinteraksi satu sama lain. Proses interaksi tersebut merupakan usaha meningkatkan kualitas dan kesejahteraan hidupnya. Dalam hal ini besar kemungkinan akan selalu menghadapi berbagai masalah atau kendala. Masalah yang timbul dari setiap aktifitas yang dilakukan mungkin berbeda, serupa ataupun sama.
Manusia yang bijaksana, tentunya akan selalu berusaha mengantisipasi atau mengatasi segala masalah yang dihadapinya. Dengan demikian tujuan yang telah dicanangkan akan tercapai. Bentuk dari antisipasi tersebut yang dilakukan oleh setiap orang sangat tentu bervariasi. Hal ini disebabkan oleh beberapa faktor yakni, latar belakang pengalaman dan tujuan para pelakunya.
Kadangkala usaha yang dilakukan itu tidak menghasilkan penyelesaian namun justru menimbulkan masalah yang baru. Dengan perkataan yang lain, orang tersebut tidak menyelesaikan masalah melainkan sebagai pembuat atau penyebab masalah yang baru. Manusia-manusia demikian di satu sisi merupakan penghambat kemajuan dalam segala aspek kehidupan.
Usaha yang dilakukan agar solusi dari suatu masalah dapat diperoleh, dibuatlah suatu proses atau prosedur. Prosedur tersebut merupakan urutan dari langkah-langkah atau instruksi yang berintegrasi. Usaha tersebut dinamakan Algoritma. Istilah Algoritma didefinisikan sebagai:

“ suatu urutan dari barisan langkah-langkah atau instruksi guna menyelesaikan suatu masalah yang disusun secara sistematis”
Gambar 1.1
Diagram alur Proses Penyelesaian Masalah

Kata algorism berasal dari penulis buku Arab terkenal, yaitu ABU JA’FAR MUHAMMAD IBNU AL KHAWARIZMI, (Al-Khawarizmi dibaca oleh orang Barat menjadi algorism).
Gambar 1.1 menunjukkan sebuah skema atau diagram alur dari suatu proses di dalam penyelesaian masalah. Setiap bagian dari skema tersebut dilaksanakan secara simultan.
Dari suatu masalah yang timbul, besar kemungkinan bisa lebih dari satu algoritma yang ditawarkan guna penyelesaian masalah tersebut. Sehingga timbul suatu pertanyaan yaitu algoritma mana yang akan digunakan….? Kemudian berkembang ke satu pertanyaan lainnya yakni, mengapa algoritma tersebut yang digunakan….?
Dalai memilih algoritma, dari sekian banyak algoritma yang ditawarkan harus diperhatikan beberapa kriteria.
Kriteria tersebut adalah sebagai berikut:
1. Ada Output
2. Efektifitas dan Efesiensi
3. Jumlah Langkahnya Berhingga
4. Berakhir
5. Terstruktur

Dari kelima (5) kriteria tersebut di atas, akhirnya dapat ditentukan suatu algoritma yang ”terbaik” dari sekian banyak algorima yang ada, yakni:

“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 keadaan diperoleh suatu solusi ataupun tidak adanya solusi”

CONTOH 1.1
Masalah :

Kita akan mengirim surat melalui Pos kepada seorang sahabat:

Penyelesainnya:
(1) menullis isi surat
(2) memasukkan kertas surat ke dalam sampul surat
(3) menuliskan alamat yang dituju
(4) menempelkan perangko
(5) menuju kantor pos
(6) menyerahkan surat ke pegawai kantor pos

Langkah-langkahnya tersebut merupakan langkah yang sudah terurut, sehingga masalahnya dapat terselesaikan dengan “baik”.

CONTOH 1.2
Masalah :
Tentukan akar kuadrat dari suatu bilangan bulat positif….! (akarnya bilangan bulat positif)

Penyelesaian :
Semi algoritmanya :
(1) baca bilangan bulat positif
(2) nyatakan nilai q = 0
(3) hitung P = q x q
(4) jika p = y maka q adalah akarnya, lalu berhenti
(5) q ditambah 1
(6) kembali ke lamgkah –[3]

dari semi algoritma tersebut di atas, jika dijalankan
a). untuk nilai y =4, prosesnya adalah :
(1) y =4
(2) q =0
(3) p =0
(4) p =y 0 = 4 ? (salah)
(5) q =1
(6) kembali ke langkah (3) :
(3) q= 1
(4) p= y 1 = 4?(salah)
(5) q=2
(7) kembali kelangkah (3):
(3)p=4
(4)p=y 4=4 ?(benar)
berarti q = 2 adalah akarnya .
Peroses berakhir.
b). untuk nilai y=5. maka prosesnya adalah :
(1) y=5
(2) q=0
(3) p=0
(4) p=y 0 =5 ?(salah)
(5) q=1
(6) Kembali ke-(3):

(3) P=1
(4) P=y 1 = 5 ? (salah)
(5) q=2
(6) kembali ke-(3):
(3) p=4
(4) p=y 4 = 5 ?(salah)
(5) q=3
(6) kembali ke (3) :
(3) p=9
(4) p=y 9 = 5 ? (salah)
(5) p=q
(6) kemballi ke (3)

·
·
·

Dan seterusnya

Proses tersebut tidak akan pernah berhenti, karena untuk masalah nilai y = 5 tidak mempunyai solusi.
Urutan dari barisan langkah-langkah tersebut di atas (semi Algoritma) dapat diubah menjadi algoritma. Dengan demikian proses akan berhenti atau berakhir baik dalam keadaan ada solusi maupun tidak ada solusinya. Hal ini cukup dilakukan dengan penambahan satu instruksi di antara langkah ke-4 dan ke-5. Sehingga algoritma adalah:
(1) baca bilangan bulat positif y
(2) nyatakan nilai q = 0
(3) hitung p = q x q
(4) jika p = y maka q adalah akarnya, lalu berhenti
(5) jika p > y maka y tidak pernah punya akar, lalu berhenti
(6) q ditambah 1
(7) kemballi ke langkah ke-(3)

CATATAN : Semi Algoritma adalah suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi.

Dari algoritma tersebut, jika dijalankan untuk nilai

a) y = 4, prosesnya adalah :

(1) y = 4
(2) q = 0
(3) p = 0
(4) 0 = 4 ? (salah)
(5) 0 > 4 ? (salah)
(6) q = 1
(7) kembali ke-(3)
(3) p =1
(4) 1 = 4 ? (salah)
(5) 1 > 4 ? (salah)
(6) q = 2
(7) kembali ke-(3)
(3) p = 4
(4) 4 = 4 ? (benar)
berarti q = 2 adalah akarnya.
Proses berakhir

b). y = 5, prosesnya adalah :
(1) y = 5
(2) q = 0
(3) p = 0
(4) 0 = 5 ? (salah)
(5) 0 > 5 ? (salah)
(6) q = 1
(7) kembali ke-(3)
(3) p =1
(4) 1 = 5 ? (salah)
(5) 1 > 5 ? (salah)
(6) q = 2
(7) kembali ke-(3)
(3) p =4
(4) 4 = 5 ? (salah)
(5) 4 > 5 ? (salah)
(6) q = 3
(7) kembali ke-(3)
(3) p = 9
(4) 9 = 5 ? (salah)
(5) 9 > 5 ? (benar)

berarti tidak punya akar.
Proses berakhir


2.2. Mekanisme Pelaksanaan Algoritma oleh Pemroses

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer harus ditulis dalam bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi Algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Program ditulis dalam salah satu bahasa pemrograman, dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuain dengan instruksi tersebut dikerjakan oleh komputer.
Secara garis besar komputer tersusun atas empat komponen utama: piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit-CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan. Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang dikerjakan oleh CPU) dan data atau informasi. Piranti masukan dan keluaran (I/O Devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya.

Piranti
Masukan
Unit Pemroses Utama (CPU)
Piranti Keluaran
Memori

Gambar 1.2. Komponen-komponen utama komputer.


2.3. Bahasa Pemrograman

Sampai sekarang terdapat puluhan bahasa pemrograman. Di sini kita dapat menyebutkannya antara lain bahasa rakitan (Assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo dan banyal lagi. Berdasarkan terapanya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :
1. Bahasa Pemrograman Bertujuan Khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi), Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya
2. Bahasa Pemrograman Bertujuan Umum seperti yang dapat digunakan berbagai aplikasi misalnya, bahasa Pascal, bahasa Pascal dan C.

Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat “ke mesin atau bahasa ke manusia, maka bahasa pemrograman dikelompokkan atas dua macam :
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya
langsung dikerjakan oleh komputer, tanpa harus melalui penerjemak (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana dan orientasinya lebih dekat ke mesin, dan sulit dipahami manusia.
2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami,
lebih manusiwi, dan berorientasi ke bahasa manusia (bahasa inggris), hanya
saja program dalam bahasa tingkat tinggi tidak dapat dilangsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh translator bahasa ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Tahapan pemrograman dan pelaksanaan program oleh komputer digambarkan pada Gambar 1.3.
Contoh Bahasa Tingkat Tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, dan sebagainya.
2.4. Studi Algoritma
Hal-hal yang akan dipelajari mengenai studi tentang algoritma yaitu :
1. Bagaimana meencanakan suatu algoritma
2. Bagaimana menyatakan suatu algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisa suatu Algoritma
5. Bagaimana menguji program dari suatu algoritma


Yang dimaksud dengan kelima hal tersebut di atas, secara singkat dapat dijelaskan sebagai berikut :


2.4.1. Merencanakan Suatu Algoritma
Sebelum merepresentasikan atau menyatakan suatu algoritma untuk memperoleh solusi dari suatu masalah, ditentukan lebih dahulu model atau desain penyelesainnya. Satu masalah dapat diselesaikan dengan berbagai model atau desain. Tentunya ada satu model yang “terbaik” dari sekian model algoritma yang ada. Sehingga penguasaan teknik variasi desain atau model harus dapat dikuasai dengan sebaik-baiknya.

2.4.2. Menyatakan Suatu Algoritma
Setelah ditentukan model algoritma yang digunakan, baru dapat merepresentasikan atau menyatakan algoritma. Yang dimaksud dengan hal tersebut adalah membuat barisan langkah-langkah atau instruksi secara terurut guna menyelesaikan suatu masalah. Pernyataan tersebut handaknya dibuat secara singkat dengan banyaknya langkah yang hingga dan terstruktur.
Menyatakan suatu algoritma dilakukan dengan 2 (dua) cara, yaitu:
(i) dengan diagram alur (flowchart)
Penyajian algoritma dengan diagram alur adalah penyajian atau penulisan algoritma dengan suatu diagram yang menggambarkan susunan alur logika dari permasalahan yang diselesaikan. Hal tersebut memberikan gambaran dari alur pelaksanaan program yang akan dibuat.
(ii) dengan bahasa semu
Yang dimaksud dengan bahasa semu dalam hal ini adalah bahasa sehari-hari tetapi jelas dan terstruktur.

2.4.3. Validitas Suatu Algoritma
Indikasi dari suatu algoritma yang valid adalah jika penyelesainnya memenuhi solusi yang sebenarnya. Jadi penyelesaian yang diperoleh suatu algoritma harus memecahkan suatu masalah bukannya membuat masalah baru dengan mengabaikan masalah yang sebelumnya.

2.4.4. Menganalisis Suatu Algoritma
Studi yang menyangkut analisa algoritma (yang absah) ada 2 hal, yakni :
(i) perbandingan dari waktu perhitungan (running storage)
(ii) banyaknya memori (storage) yang digunakan

2.4.5. Menguji Suatu Algoritma
Algoritma yang sudah diterapkan untuk digunakan untuk meyelesaikan suatu masalah akan dengan cepat dan tepat di peroleh solusinya dengan menggunakan alat bantu. Alat bantu tersebut adalah komputer. Algoritma tersebut harus disajikan terlebih dahulu ke dalam bahasa pemrograma.

Pengujian terhadap program tersebut dilakukan dengan 2 fase yang dilaksanakan secara simultan, yakni ;
a) fase debugging
adalah suatu fase dari proses program eksekusi yang melakukan \koreksi terhadap kesalahan program yang dimaksud adalah kesalahan dalam bahasa pemrograman (baik secara logika maupun sintax)

b) fase profiling
adalah suatu fase yang akan bekerja jika program tersebut sudah benar (hasil fase debugging). Fase ini juga bekerja untuk melihat atau mengukur waktu tempuh (running time) dan penggunaan memori atau storage.

logika & Algoritma Bab 1

BAB 1
LOGIKA



Kata “logika” sering terdengar dalam percakapan sehari-hari, biasanya dalam arti “menurut akal”, seperti kalau orang berkata “menurut logikanya ia harus berterima kasih, bukan malah marah-marah”. Akan tetapi “logika” sebagai istilah berarti “suatu metode atau teknik yang diciptakan untuk meneliti ketepatan penalaran”. Maka untuk memahami apakah logika itu, kita harus mengetahui pengertian yang jelas tentang penalaran. Penalaran adalah suatu bentuk pemikiran. Adapun bentuk-bentuk pemikiran yang lain, mulai yang paling sederhana adalah pengertian atau konsep, proposisi atau pernyataan, dan penalaran. Tidak ada proposisi tanpa pengertian, dan tidak ada penalaran tanpa proposisi. Maka untuk memahami penalaran, ketiga bentuk pemikiran tersebut harus dipahami bersama-sama.


1.1 Pengertian

Kita mulai, misalnya dengan observasi empirik atau pengamatan indera, mata melihat ayam berwarna putih, telinga mendengar suara berkokok. Bersamaan dengan aktivitas indera tersebut terjadilah aktivitas pikiran sehingga membentuk pengertian. Dalam hal ini pengertian yang terbentuk adalah “ayam putih sedang berkokok”. Betul tidaknya suatu pengertian tergantung dari tepat tidaknya cara melakukan observasi, dan ini adalah masalah fisik, masalah indera, bukan masalah pikiran. Sekali indera mengobservasi, terbentuklah pengertian yang bagi pikiran merupakan data dalam proses berfikir lebih lanjut. Karena berasal dari pengalaman empiric, maka pengertian itu juga disebut data empiric. Juga disebut data psikologik, karena terbentuk melalui proses psikologik, yaitu pengamatan indera.

Jadi, pengertian adalah sesuatu yang abstrak. Oleh karena itu untuk dapat mengetahuinya pengertian harus disampaikan dengan lambang yaitu bahasa.


1.2 Proposisi

Bersamaan dengan terjadinya observasi empiric didalam pikiran, tidak hanya terbentuk pengertian, akan tetapi juga terjadi perangkaian dari kata-kata. Tidak pernah ada pengertian yang berdiri sendiri.


Perangkaian pengertian itulah yang disebut dengan proposisi. Dalam proses pembentukan proposisi terjadi dua hal, yaitu :

1) Proses pembentukan proposisi terjadi begitu rupa, sehingga ada pengertian yang menerangkan tentang pengertian yang lain, atau ada pengertian yang diingkari oleh pengertian yang lain. Dengan menggunakan contoh ayam diatas, proses perangkaian kata menghasilkan proposisi “ayam putih itu berkokok”. “Berkokok” menerangkan tentang “ayam putih”. Pengertian yang menerangkan itu disebut dengan “predikat”, sedang pengertian yang diterangkan disebut dengan “subyek”. Kalau predikat disingkat dengan “P” dan subyek disingkat dengan “S”, maka pola proposisi ditulis P=S. Kalau dalam proses perangkaian itu terjadi pengingkaran, maka proposisi yang terbentuk adalah “ayam putih itu tidak berkokok” dan pola proposisi ditulis P¹S.
2) Dalam proses pembentukan proposisi itu sekaligus terjadi pengakuan bahwa ayam putih itu memang berkokok., atau bahwa ayam putih itu memang tidak berkokok. Dari sini jelaslah bahwa proposisi itu mengandung sifat benar atau salah. Sebaliknya pengertian itu tidak ada hubungannya dengan benar atau salah.

Apa yang dinyatakan dalam proposisi seperti diatas adalah fakta, yaitu observasi yang dapat diverifikasi atau diuji kecocokannya secara empirik dengan menggunakan indera. Proposisi yang terjadi berdasarkan observasi empirik disebut dengan proposisi empirik. Sedangkan proposisi yang sifat kebenaran atau kesalahannya langsung nampak kepada pikiran dan oleh karenanya harus diterima disebut dengan proposisi mutlak. Lambang proposisi dalah bahasa adalah kalimat berita. Hanya kalimat beritalah yang mempunyai sifat benar atau salah.


1.3 Penalaran

Pembahasan kita mulai dari proses berfikir dengan bertolak dari pengamatan indera atau observasi empirik. Prose situ didalam pikiran menghasilkan sejumlah pengertian dan proposisi sekaligus. Berdasarkan pengamatan-pengamatan indera yang sejenis, pikiran menyusun proposisi-proposisi yang sejenis pula. Misalnya: apel 1 berwarna hijau rasanya asam; apel 2 berwarna hijau rasanya asam; apel 3 berwarna hijau rasanya asam; dan seterusnya sampai apel ke 10. Kalau orang yang mengamati itu sadar akan kesamaan diantara kesepuluh proposisi itu, ia akan mengharapkan, bahwa apel-apel berwarna hijau lainpun rasanya asam.

Apa yang terjadi dalam proses diatas ialah, bahwa berdasarkan sejumlah proposisi yang diketahui atau dianggap benar, orang akan menyimpulkan sebuah proposisi baru yang sebelumnya tidak diketahui. Proses inilah yang disebut dengan penalaran. Kalau disusun secara formal bentuk penalaran itu menjadi sebagai berikut.

Apel 1 berwarna hijau rasanya asam
Apel 2 berwarna hijau rasanya asam
Apel 3 berwarna hijau rasanya asam
.
.
.
Apel 10 berwarna hijau rasanya asam
Jadi, Semua apel berwarna hijau rasanya asam


Dalam penalaran ini proposisi-proposisi yang menjadi dasar penyimpulan disebut antesedens atau premis, sedangkan kesimpulannya disebut konklusi atau konsekuens. Diantara premis dan konklusi ada hubungan tertentu yang disebut dengan konsekuensi.

Penalaran yang konklusinya bermakna lebih luas dari premisnya disebut dengan penalaran induktif, sedangkan penalaran yang premisnya bermakna lebih luas dari konklusinya disebut dengan penalaran deduktif.
Contoh penalaran deduktif:
Semua bintang film memakai sabun lux
Jadi, sebagian pemakai sabun lux adalah bintang film.


Penalaran itu erat dan dekat sekali artinya dengan penyimpulan, argumen dan bukti. Proses penalaran meliputi aktivitas mencari proposisi-proposisi untuk disusun menjadi premis, menilai hubungan proposisi-proposisi didalam premis itu dan menentukan konklusinya.

Kalau penalaran itu aktivitas pikiran yang abstrak, maka argumen ialah lambangnya yang berbentuk bahasa atau bentuk-bentuk lainnya. Jadi kata itu lambang pengertian, kalimat itu lambang proposisi, maka argumen adalah lambang penalaran.

Akhirnya yang disebut dengan bukti ialah argumen yang berhasil menentukan kebenaran konklusi dari premis.

Sabtu, 18 Oktober 2008

Quantum Learning


Untuk membaca sebuah buku pelajaran/modul bagi seorang pelajar or mahasiswa merupakan pekerjaan yang berat. Apalagi bila musiim ujian, dimana mata ujian mungkin lebih daari satu, sehingga buku yang harus dibacapun jumlahnya cukup banyak.
untuk memudahkan seorang mahasiswa dalam belajar, telah ditemukan suatu teknik belajar yang disebut Quantum Learning.
“Kita belajar :
10 % dari apa yang kit abaca,
20 % dari apa yang kita dengar,
30 % dari apa yang kita lihat,
50 % dari apa yang kita lihat dan dengar,
70 % dari apa yang kita katakan,
90 % dari apa yang kita katakana dan lakukan.”

Dr. Vernon A. Magnesen, 1983

Ilmuwan saraf mengatakan bahwa 90 % masukan indra untuk otak berasal dari sumber visual dan otak mempunyai tanggapan cepat dan alami terhadap symbol, ikon, dan gambar yang sederhana dan kuat. (Jensen,1994)