Jumat, 21 Januari 2011

imageDalam upaya untuk menigkatkan pendidikan yag merata pada setiap masayarkat, kini paman Google meluncurkan sebuah project yang berisikan panduan interaktif Online

buku interaktif ini akan menjelaskan tentang dasr-dasar atau konsep tentang jaringan, Hyper Text Markup Language (HTML), Virus, komputeasi internet dan berbagao hal lainnya, yang jelasnya berhubungan dengan inernet.

berdasarkan info dari vivanews.com ini disajikan dalam 62 halaman virtual, buku interaktif ini di buat oleh Tim Google Chrome. Lingkup pembahasannya bersifat umum mulai dari anak-anak sampai yang dewasa. jika anda merasa tertarik, anda memerlukan koneksi internet pastinya, dan membuka www.20thingsilearned.com . saat membuka halam ini anda akan menjumpai buku virtual biru yang bertuliskan 20 Things I Learned about Browsers and The web beserta panduan iteaktif di dalamnya.

ilustrasi buku ini di design untuk HTML5 oleh karena itu disarankan anda memakai browser yang mendukung versi HTML diatas, disini saya memakai mozilla versi 4.xx dan ada pesan yang muncul yang bertuliskan “

This illustrated book was designed for HTML5-compliant browsers and will not work with your current browser.
For the best viewing experience, please upgrade to the latest version of your browser or download a modern browser and try launching this site again.”  berdasarkan sumber pada buku ini anda tidak langsung disuguhkan informasi-informasi berat, tetapi step by step sehingga lebih mudah untuk dipahami. dan sekedar informasi tambahan buku masih tersedia dalam versi bahasa inggris, mudah-mudahan nanti veri indonesianya juga bisa keluar. dan satu lagi semuanya adalah gratiss

Rabu, 19 Januari 2011

indexKebetulan nih saya punya flash disk merk kingston kapasitas 1GB , flash disk saya ini punya masalah jika dicolokkan di USB computer maka sistem operasi mendeteksi ada perangkat flash disk yang masuk, akan tetapi setelah kita masuk melalui explorer loh kok nama FD nya gak muncul, akhirnya saya browsing ama om google , dan walhasil saya nemu program untuk memperbaiki FD yag rusak, nama programnya “Repair.exe” cara penggunaannya pun sangat mudah sisa download programnya truz colokkan FD yang rusak lalu jalankan program yang didownload tadi dan hasilnya Tradaaaa Flash disk kembali normal…. sekian aja ya

untuk download programnya silahkan klik link disini

Senin, 17 Januari 2011

Pembagian zodiak yang lama (versi Babylonia kuno):
-Aquarius  : 20 Januari-18 Februari
-Pisces    : 19 Februari-20 Maret
-Aries     : 21 Maret-19 April
-Taurus    : 20 April-20 Mei
-Gemini    : 21 Mei-20 Juni
-Cancer    : 21 Juni-22 Juli
-Leo       : 23 Juli-22 Agustus
-Virgo     : 23 Agustus-22 September
-Libra     : 23 September-22 Oktober
-Scorpio   : 23 Oktober-21 November
-Sagitarius: 22 November-21 Desember
-Capricorn : 22 Desember-19 Januari
Pembagian zodiak yang baru setelah sumbu bumi bergeser:
-Aquarius  : 17 Februari-11 Maret
-Pisces    : 12 Maret-18 April
-Aries     : 19 April-13 Mei
-Taurus    : 14 Mei-21 Juni
-Gemini    : 22 Juni-20 Juli
-Cancer    : 21 Juli-10 Agustus
-Leo       : 11 Agustus-16 September
-Virgo     : 17 September-30 Oktober
-Libra     : 31 Oktober-23 November
-Scorpio   : 24 November-29 November
-Ophiuchus : 30 November-17 Desember
-Sagitarius: 18 Desember-20 Januari
-Capricorn : 21 Januari-16 Februari

dikutip : dari www.detik.com

Pemahaman tentang konsep pendidikan di indonesia di nilai semakin kabur sehingga berakibat pada hilangnya esensi pendidikan itu sendiri’

kata pengamata pendidikan dari USU(Universitas Sumatera Utara) Zulnaidi M.hum, di medan [24/02]. “Pendidikan sebagai modal utama membangun sauatu bangsa dapat tercapai jika esensinya dapat dipahami dan dijalankan degan baik. Hanya saja, saat ini Indonesia telah kehilangan esensi pendidikanya”. Esensi pendidikan pada dasarnya untuk membentuk sumber daya manusia (SDM) yang berkarakter dan berakhlak mulia. sehingga tidak hanya menguasai ilmu pengetahuan, tapi juga memiliki karakter dan norma dalam mengplikasikan ilmunya.

Namun di Indonesia, esesnsi itu telah hilan. ini terjadi karena adanya perubahan pemahaman bahwa pendidikan itu hanya sekedar pembelajaran atau mentransfer ilmu, bukan lagi mentransfer nilai.

Dewasa ini di Indonesia semkai berkembang  konsep-konsep pembalajran yang baik, sedangkan konsep pendidikan yang baik semakin tidak jelas.

“Makna pendidikan telah di reuksi menjadi hanya sebetas pembelajaran, yaitu hanya memberikan pemahaman ilmu pengetahuan dan teknologi kepada peserta didik”

Dengan hilangnya esesnsi pendidikan itu, melahirkan SDM Indonesiayang hanya sebatas memiliki ilmu pengetahuan saja, sedangkan SDM yang memiliki nilai atau norma semakin berkurang.

“Banyaknya masyarakat yang tidak malu melakukan hal yang tidak sesuai dengan norma /atura yang merupakan bukti pendidikan Indonesia telah gagal  untuk mewujudkan esensi yang sesunguhny”

Padahal kata Beliau pendidikan yang masih memilik esensi merupakan kekuatan yang mampu mendorong pemberdyaan seluruh potesi Indonesia secara efektif dan efisien.

Untuk itu seharusnya seluruh elemen dan tenaga kerja kependidikan dapat memelihra suasana pendidikan tetap relevan sebagai pembetuk karakter, yaitu SDM yang memiliki ilmu dan Norma.

“Kalau ini berhasil, tidak kita dengan lagi keributan antar siswa maupun tindakan-tindakan anarkis lainnya”

Minggu, 16 Januari 2011

Apakah Anda lelah melihat bahwa logo dell atau toshiba besar setiap kali Anda pergi ke properti sistem anda (Klik kanan properti komputer saya) .. .. Well here is something for you! Nah di sini adalah sesuatu untuk Anda!
To remove OEM branding do the following.. Untuk menghapus OEM branding lakukan langkah berikut ..
1. Klik Start
2. Pada menu Start klik Run.
3. Jika kotak dialog Run tidak tersedia, anda akan perlu untuk mengklik pada semua program> aksesori dan kemudian klik pilihan Run.
4. Pada kotak dialog Run ketik: rundll32 IedkCS32.dll, BrandCleanInstallStubs dan tekan OK.
5. User Account Control (UAC) akan muncul kotak dialog perizinan.  Jika Anda adalah administrator kemudian tekan tombol Lanjutkan.  Jika Anda bukan administrator maka anda akan memerlukan sandi Administrator sebelum Anda dapat melanjutkan.
6. Sekali anda telah memberikan User Account Control hak akses yang relevan perintah pada langkah 5 di atas akan dijalankan dan semua merek OEM sekarang harus hilang. JIKA Anda ingin menambahkan logo Anda sendiri melakukan hal berikut ..

  1. Klik Start dan dari kotak pencarian, ketik regedit
  2. Arahkan ke jalan berikut dari dalam registri:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ windows \ CurrentVersion \ OEMInformation
OEM Catatan: Jika folder OEMInformation hilang,
Download file ini oem.reg, double klik untuk menambahkannya ke registri dan kemudian lanjutkan dengan Langkah 2.
  1. Sekarang hanya menyesuaikan dengan nilai-nilai dan kunci Produsen to your kebutuhan kustom suite.
Catatan: Logo harus di 120 bmp format. Dan harus 120 ×.  gambar lebih besar akan secara otomatis diubah ukurannya. Setelah selesai, Anda dapat memeriksa sifat sistem Anda dan Anda akan melihat dengan adat dan gambaran produsen berbasis pada Langkah 3.

Kamis, 13 Januari 2011

Segala sesuatu yang kita lakukan di dunia ini ada konsekuensinya, begitu juga gambaran kehidupan saya sekarang ini, melakukan ini di anggap salah, melakukan itu juga di anggap salah, makanya akau bingung yag mana sebenarnya yang mesti saya lakukan. terkadang diri ini merenung seorang diri memikirkan bagaiamana sich sebenarnya hidup ini, apakah aku dilahirkan kedunia untuk merasakan seperti ini. kesukaran demi kesuakaran semakin hari semakin menjadi-jadi hingga diri ini seakan lelah untuk melalui kesukaran itu. dalam kesendirian saya berpikir bahwa akulah orang yang rugi jika tidak memanfaatan apa yang diberikan selama ini, sudah dikaruniai kedua orang tua yang alhamdulillah sampai sekaran ini masih setia menemaniku, dan oleh sang pencipta masih di beri kenikmatan untuk merasakan enaknya masakan dunia, masih diberi nikmat untuk menghirup udara segarnya dunia, lantas apakah semua itu belum cukup.

seperti yang utarakan diawal terkadang sesuatu yag dilakukan itu dianggap jelek dimata orang lain, namun percayalah selama itu selama itu tidak bertentangan dengan hati nuranimu kerjakanlah karean memeang itulah hidup, hidup ini teidak lepas dari yang namanya pilihan, jika seseorang memberci apa yang anda lakukan itulah merupakan wujud rasa hormat mereka kepada anda.

Terkadang di didalam benak saya kira-kira bisa tidak ya saya berkomunkasi dengan windows lewat perintah suara ? dan setelah sekian lama saya mengoprek sisem operasi saya akhirnya saya menemukan program bawaan dari windows yang memungkinkan kita untuk menjalankan windows dengan perintah lewat suara. Namanya “Windows Speech Recognition”; disini kita bisa menjalankan windows cukup dengan mengucapkannya;

Adapun cara mengaktifkannya ialah sebagai berikut :

Klik start buttonà control panel à Speech Recognition;

image

Start Speech Recogintion à selanjutnya pada ktak dialog pilih jenis microphone yang akan anda gunakan dilanjutkan dengan klik next, setelah itu anda komputer akan mengeluarkan teks untuk anda baca ini di maksudkan agar komputer bisa mengerahui suara anda besera cara pengucapan anda

image

Setelah anda menyelesaikan semua proses yang diminta anda akan tampil kotak dialog apakah anda ingin mengaktifkan speech recognition secara manual atau secara otomatis

image

Selajutnya proses akhir pada untuk pemula silahkan pilih start tutorial untuk menampilkan tutorial atau cara penggunaan program ini:

image

Hasilnya akhirnya adalah :

 

image

Berikut adalah kejadian nyata dari pribadi utuh dalam pekerjaan utuh. Kisah ini menggambarkan apa yang terjadi di dalam sebuah pekerjaan, yang sekalipun terhormat, secara alamiah biasa disebut kasar atau rendahan, tidak memakai keahlian, dan bayarannya rendah—yaitu pekerjaan petugas pembersih. Gagasannya adalah jika Anda bisa mendapatkan satu pribadi utuh di dalam pekerjaan utuh yang tugasnya antara lain mengosongkan tempat sampah, menyapu dan mengepel lantai, mengelap dinding dan perabotan, dll., Anda akan bisa mendapatkannya di pekerjaan apa pun.

Seorang instruktur pengembangan manajemen pernah melatih sekelompok penyelia tingkat pertama mengenai cara memperkaya pekerjaan sehingga bisa memotivasi karyawan dari dalam diri mereka sendiri. Salah seorang yang bertugas menyelia para petugas pembersih memberikan sanggahan yang cukup kuat terhadap teori ini. Teori itu baginya tampak terlalu idealistis dan tidak berkaitan dengan sebagian besar pekerjaan yang dilakukan oleh para petugas pembersih—paling tidak para petugas pembersih yang dia supervisi. Semua penyelia yang dilatih juga sepakat bahwa memang ada masalah dengan para petugas pembersih. Mereka setuju dengan penyelia tersebut bahwa sebagian besar dari para petugas pembersih tersebut tidak berpendidikan, sering berpindah pekerjaan, dan melakukan pekerjaan itu karena mereka tidak bisa mendapatkan pekerjaan yang lebih baik. Pada dasarnya keinginan mereka hanyalah untuk mengisi daftar hadir. Sebagian bahkan pecandu alkohol.
Karena instruktur ini mengetahui bahwa penyelia bagian perawatan ini memiliki keyakinan kuat bahwa teori motivasi dan pemberdayaan sama sekali tak berguna baginya dalam hubungannya dengan para petugas pembersih, dia membatalkan bahan diskusi yang telah dia siapkan dan mulai menangani masalah petugas pembersih secara langsung.
Dia menuliskan tiga kata di papan tulis: Merencanakan, Melakukan, dan Mengevaluasi—tiga unsur utama dari pengayaan pekerjaan. Dia lalu bertanya kepada penyelia bagian perawatan dan para penyelia yang lainnya untuk menyebutkan tugas-tugas perawatan dan aktivitas yang berkaitan dengan tiga kata tersebut. Sebagian aspek dari—"merencanakan" dari pekerjaan tersebut adalah: menetapkan jadwal untuk perawatan, memilih dan membeli pembersih dan pemoles, dan menentukan petugas mana yang bertugas pada bagian pabrik tertentu. Dalam diskusi tersebut, penyelia bagian perawatan mengatakan bahwa dia berencana untuk membeli beberapa mesin pemoles dan penggosok lantai. Semua aktivitas merencanakan tersebut dilakukan sendiri oleh penyelia bagian perawatan.

Yang masuk di dalam bagian "Melakukan" adalah aktivitas-aktivitas normal dari para petugas pembersih—mengepel, meng-gosok, memoles, dan membuang sampah serta kotoran. Bagian "Mengevaluasi" dari pekerjaan tersebut meliputi aktivitas-aktivitas seperti pemeriksaan rutin harian mengenai kebersihan lokasi oleh penyelia bagian perawatan, evaluasi efektivitas sabun, pembersih dan pemoles yang berbeda, mengevaluasi upaya-upaya percobaan, mengidentifikasi cara-cara perbaikan, dan memastikan bahwa jadwal pembersihan ditepati. Sebagai tambahan, penyelia bagian perawatan juga menghubungi para pemasok untuk menentukan jenis mesin-mesin baru yang bisa dia beli.
Saat berbagai aktivitas tersebut telah dituliskan dalam daftar, si instruktur bertanya, "Yang mana dari aktivitas-aktivitas ini yang bisa dilakukan oleh para petugas pembersih itu sendiri? Sebagai contoh, mengapa Anda, Bapak Penyelia, yang menentukan sabun apa yang perlu dibeli? Mengapa tidak membiarkan para petugas pembersih saja yang menentukannya? Bagaimana kalau tenaga pen-jual memberikan demonstrasi mesin baru di depan para petugas pembersih dan membiarkan mereka memutuskan mesin mana yang terbaik? Bagaimana dengan memberikan kesempatan bagi para petugas pembersih untuk mengidentifikasi bagian-bagian pekerjaan yang menarik untuk mereka lakukan?" (Dalam situasi sebenarnya, bahasanya tidak selugas ini, dan seluruh kelas yang terdiri dari para penyelia itu turut terlibat dalam diskusi mengenai apa saja bidang-bidang perencanaan dan evaluasi tambahan yang bisa diberikan kepada para petugas pembersih.)
Dalam jangka waktu lima bulan berikutnya, kasus para petugas pembersih ini dibahas, paling tidak secara singkat, dalam setiap sesi yang dibawakan oleh instruktur tersebut. Sementara itu, penyelia bagian perawatan semakin banyak melibatkan pikiran dan hati para petugas pembersih dengan secara bertahap memberikan tanggung jawab lebih besar kepada mereka dalam proses merencanakan, melakukan, dan mengevaluasi pekerjaan mereka. Mereka menguji

mesin-mesin baru dan membuat rekomendasi akhir mengenai pembelian. Mereka menguji coba berbagai pembersih untuk menentukan mana yang terbaik dalam pemakaian sehari-hari. Mereka mulai membahas jadwal pembersihan untuk menentukan seberapa banyak perhatian yang perlu diberikan bagi masing-masing bagian. Sebagai contoh, salah satu bagian yang sebelumnya tiap hari dipel sekarang dipel hanya jika diperlukan setelah diperiksa secara visual. Para petugas pembersih itu mengembangkan kriteria mereka sendiri untuk menentukan kebersihan lokasi dan mulai menerapkan tekanan rekan sekerja pada para petugas pembersih yang tidak memenuhi kriteria-kriteria tersebut.
Sedikit demi sedikit, para petugas pembersih tersebut mengambil alih ketiga tugas tersebut, sehingga pemikiran terbaik mereka bisa dimanfaatkan—tubuh, hati, pikiran, dan jiwa mereka. Efek langsung yang mengejutkan sebagian besar orang adalah kualitas meningkat, masalah perputaran tenaga kerja dan disiplin menurun jauh, norma-norma sosial terbentuk dengan inti inisiatif, kerja sama, ketekunan, dan kualitas. Kepuasan kerja pun meningkat secara signifikan. Secara singkat, mereka telah mengubah sekelompok petugas pembersih, karena penyelianya memberi kesempatan atau memberdayakan pribadi utuh di dalam pekerjaan utuh. Mereka memiliki otonomi yang terarah. Para petugas pembersih itu tidak lagi memerlukan penyeliaan atau pengelolaan karena mereka menyelia dan mengelola diri mereka sendiri sesuai dengan kriteria yang turut mereka susun.
Mungkin yang lebih penting lagi, para penyelia yang lain mulai berpikir mengenai bagaimana mereka bisa menerapkan prinsip-prinsip yang sama di dalam bidang mereka sendiri, khususnya karena mereka bisa mulai melihat sendiri hasil pekerjaan penyelia bagian perawatan dengan para petugas pembersih tersebut.

dikutip dari buku the 8th Habith versi Indonesia

Terkadang dalam mengetikkan sebuah program dalam bahasa pascal sering kali kita mendapatkan pesan eror pada pascal itu, pesan eror itu sebenarnya memberikan kita sebuah instruksi untuk melakukan suatu hal seperti kode yang erdapat di bawah ini :

1.       Out Of Memory

Memory tak cukup untuk melakukan proses (misalnya mengkomplikasi) kalau sedang berada dalam IDE dianjurkan mengkomplikasi program ke disk.

2.       Identifier Expected

Pengenal (variable) diperlukan pada posisi yang ditunjukkan kemungkinan disebabkan yang dipakai adalah reserved word (kata tercadang).

3.      Unknow Identifier

Pengenal belum dideklarasikan.

4.      Duplikate Identifier

Ada pengenal dengan nama yang sama. biasanya pascal menyertakan (******)kata-kata yang dobel

5.      Sintax Error

Ada karakter yang tidak diperkenankan, biasanya disebabkan kekurangan tanda petik pada string.

6.       Error In Real Constant

Salah dalam penulisan konstanta real.

7.       Error In Integer Constant

Salah dalam penulisan konstanta integer.

8.       String Constant Exred Line

Salah karena string belum diakhiri dengan tanda petik.

9.       To Many Masted Files

File include yang memanggil file include perlu dikurangi.

10.   Unexpeted End Of File

Biasanya disebabkan salah penulisan Begin dan End atau ada suatu kompentar yang belum ditutup.

11.   Line To Long

Panjang karakter dalam baris melebihi 126 karakter.

12.  Type Identifier Expected

Pengenal type belum diberikan.

13.  Too Many Open File

Terlalu banyak file yang dibuka (dapat diatur melalui file CONFIG.SYS).

14.  Infalid File Name

Nama file salah.

15.  File Not Found

File tidak ditemukan.

16.   Disk Full

Disk penuh.

17.   Infalid Compiler Directive

Pengarah computer yang ditunjukkan tidak dikenal.

18.  Too Many Files

Terlalu banyak file yang dilibatkan sewaktu melibatkan komplikasi unit atau program.

19.  Undifined Type In Pointer Definition

Type yang digunakan pada pendenifisian pointer belum dideklarasikan.

20.  Variable Identifier Expected

Pengenal yang ditunjuk seharusnya menyatakan sebuah variable.

21.  Error In Type

Kesalahan dalam pendefinisian type.

22.   Structure Too Large

Type struktur terlalu besar (ukuran maksimal yang diperkenankan yaitu 65520 byte).

23.   Set Base Type Out Of Range

Type dasar dari himpunan harus berbeda dalam kawasan 0 sampai 255 atau berupa type enumerasi yang jumlah kemungkinannya tidak lebih dari 256 buah.

24.  File Compotitions My Not Be Files

Komponen dari file tidak boleh berupa file.

25.   Invalid String Length

Panjang string dalam pendeklarasian haruslah terletak antara 1 sampai 155.

26.   Type Mismach

Type tidak cocok.

27.   Invalid Subrange Base Type

Kesalahan pada type dasar subrange.

28.   Lower Bound Greater Than Upper Bound

Dalam mendeklarasikan subrange, nilai awal harus lebih kecil daripada nilai akhir.

29.   Ordinal Type Expected

Type yang diperkenalkan adalah type original.

30.   Integer Constant Expected

Mengharapkan suatu konstanta.

Sering digambarkan sebagai sebuah matrix adalah perluasaan sebuah array satu dimensi. Array ini terdiri dari beberapa baris dan kolm elemen yang bertipe sama . bentuk umum dari aray dua dimensi :

Var <namavararray>,array,[indeks baris,indekskolom]

Of tipe data;

Contoh program matrrix

Program isi_matrix;

Var mata:array [1.100,1.100] of integer;

I,j:integer;

Bar,kol:integer;

Begin

Write(‘Masukkan Banyak X baris’);readln(bar);

Write(‘Masukkan Banyak X Kolom’);readln(kol);

Writeln;

For i := 1 to bar do

Begin

For j:= to kol do

Begin

Write(‘Mata [‘,i,’,’,j,’]=’);

Readln (mata [i,j]);

End;

End;

Writeln ;

Writeln (‘Isi Matriks’);

For i := i to bar do

Begin

For j:=ito kol do

Write (mata[i,j]:3);

Writeln;

End;

End.

Rabu, 05 Januari 2011

1. Kontrol diri harus berlandaskan pada agama dan kepercayaan masing-masing berikan contoh control diri berlandaskan pada agama dan keprcayaan anda !
2. Jelaskan pengertian pencitraan diri !
3. Jelaskan perbedaan pengertian etika dan etiket serta berikan contoh !
4. Sebutkan 4 perilaku menyimpang yang anda ketahui. Jelaskan dan berikan contoh !
5. Jelaskan pengertian dari pada manusia utuh dan sebutkan ciri-cirinya !
6. Uraikan jawaban anda tentang pemahaan konsep pengenalan diri dan lingkungan !
7. Sebutkan 4 karakteristik manusia dan tuliskan kekuatan dan kelemahannya !
8. Tata krama adalah kebiasaan, yang merupakan tata cara yang lahir dari hubungan antara manusia. Jelaskan tata krama menurut adat istiadat dan kebiasaan anda !
9. Jelaskan dan berikan contoh ilustrasi tata krama manusia kedondong dan manusia durian !
10. Tuliskan beberapa contoh pelanggaran etiket internet yang anda ketahui. !
11. Sebutkan lima macam profesi dalam bidang IT yang anda ketahui !
12. Hubungan dengan manusia akan utuh jika ada hak dan kewajiba sebutkan hak dan kewajiban anda sebgaia mahasiswa STMIK AKBA Serta hak dan kewajiban anda sebgai warga INDONESIA
13. Tuliskan secara singkat inti dari makalah kelompok anda yang pernah di presentasikan !

Senin, 03 Januari 2011

Hai sobat ini mau sharing sebuah film singkat yang dibuat oleh teman kita di Sanggar Seni di Kabupaten Bone, yang bertema seperti yang tertera di judul di atas, maaf ya kalimatnya sedikit agak ngawur nich maklum saya bukan ahli bahasa. Film ini mengambil Latar di STKIP Muhamadiyah Bone bertempat di Jl.Pramuka Watampone untuk lebih lengkapnya teman – teman bisa download dengan mengklik link di bawah ini

Mahasusah Or Mahasiswa Part1

image

Mahasusah Or Mahasiswa Part 2

image

Sabtu, 01 Januari 2011

steeven covey

Membawa atau menanggung sesuatu hal secara terus menerus pasti akan membuat kita merasa jenuh akan hal tersebut ?? jika kita masih juga melakukannya hal itu bisa menimbulkan masalah yang serius !! lantas apa yang mesti dilakukan ??? menurut buku karya “Steven Covey” walapunpun bukunya cuman baca di internet tapi gak apalah saya sharing sedikit .. pada saat steven covey memberikan mata kuliah bagaimana cara manajemen stress, beliau mengangkat segelas air lantas bertanya kepada siswanya:

“menururt anda berapa air dalam gelas ini ? para siswa menebak mulai ari 200 gr sampai 500 gr.

“ini bukanlah maslah berat absolutnya, akan tetapi tergantung berapa lama anda memegangnya” ucap covey’

“jika saya memegangnya selama satu menit,tidak ada masalah. jika saya memegeanya selama satu jam, lengan kanan saya kan sakit, dan jika saya memegangya selama satu hari penuh, mungkin anda harus memanggilkan ambulan untuk saya. Padahal berat sebenarnya adalah sama, tapi semakin lama saya memegangnya maka bebanyya akan semakin berat.

“Jika kita membawa beban kita terus menerus, lambat laun kita tak akan mampu untuk menbawanya lagi. Beban itu akan bertambah beratnya lanjut covey.

“Apa yang harus kita lakukan adalah meletakkan gelas tersebut, istirahat sejenak sebelum mengangkatnya kembali”

kita harus meninggalkan beban secara periodik, agar kita dapat lebih segar dan mampu membawanya lagi. jadi jika ada diantara kita yang memiliki beban luangkan waktu anda untuk istiahat sejenak untuk melepaskan beban tersebut namun yang penting dan perlu di ingat”beban yang dipikul itu adalah tanggung jawab dan harus diselesaikan sampai tujuan”

esetnod32

ESET NOD32 Antivirus secara otomatis dan proaktif mendeteksi dan menghilangkan virus, trojan, worm, adware, spyware, phising, rootkit dan internet threat lainnya.
Tidak peduli anda menggunakan sistem operasi apa, ESET NOD32 Antivirus akan melindungi sistem anda. ESET NOD32 Antivirus adalah antivirus yang telah memperoleh berbagai macam penghargaan. Bahkan ESET NOD32 Antivirus dianugerahi sebagai “BEST Antivirus Solution” di tahun 2006 dan 2007 oleh AV-Comparative.
apa saja fitur yang di berikan ESET NOD32 ?
1. Proteksi Proaktif : ESET NOD32 Antivirus dilengkapi dengan ThreatSense technology yang telah memperoleh berbagai penghargaan di bidang security sistem. ThreatSense technology mengkombinasikan deteksi secara multiple layer sehingga akan memberikan keamanan saat anda browsing internet maupun mengakses file sebelum semuanya terlambat.
2. Deteksi Akurat : ESET NOD32 Antivirus secara akurat akan mendeteksi virus, baik virus yang telah diketahu maupun yang belum diketahui. ESET NOD32 Antivirus telah memiliki sertifikat dan teruji mempunyai zero false positives (tidak pernah melakukan kesalahan deteksi)
3. Lightweight Design : membutuhkan sedikit memori dan CPU power, menjadikan komputer anda terlindungi namun tetap bisa berjalan dengan cepat, membuat anda bebas bermain game, browsing, emailing, dan menjalankan program apapun yang membutuhkan resource besar dengan aman.
4. Kecepatan scanning yang tinggi : ESET NOD32 Antivirus Mempunyai kecepatan scanning yang tinggi sehingga sangat efisien waktu dan resource. ESET NOD32 Antivirus akan berjalan secara background tanpa mengganggu kecepatan jalannya komputer anda
fitur-fitur diatas tentunya cukup menarik. tapi sayangnya antivirus ini tidak menyediakan versi gratisnya.

BISMA JAYADI

LATIHAN I
PERULANGAN DAN SELEKSI KONDISI
1.1. Pendahuluan
Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level language) yang cukup populer, khususnya di Indonesia. Hal ini disebabkan bahasa Pascal lebih mudah dipahami dibanding bahasa pemrograman lainnya, seperti bahasa C, bahasa assembler, dan lain sebagainya. Selain itu, bahasa Pascal adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia (bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia pendidikan. Dalam latihan ini, digunakan compiler FreePascal (www.freepascal.org) yang bersifat open source dan tersedia di banyak operating system (DOS, Windows, Linux, Macintosh, FreeBSD, dan lain sebagainya).
Sebelum mempelajari pemrograman dengan bahasa Pascal, sebaiknya mengerti terlebih dahulu tentang konsep dan teknik pemrograman. Konsep pemrograman adalah bentuk dasar dari suatu program yaitu algoritma program. Algoritma adalah urutan proses yang dilakukan oleh sebuah program, umumnya algoritma ini berbentuk flowchart (diagram alir). Teknik pemrograman adalah cara mengubah suatu algoritma menjadi program yang sebenarnya dengan bahasa pemrograman tertentu. Konsep dan teknik pemrograman adalah dasar dari pemrograman komputer, dengan menguasai kedua hal tersebut maka mempelajari pemrograman menjadi lebih mudah.
1.2. Struktur Program
Bahasa Pascal, secara garis besar mempunyai struktur sebagai berikut :
1. Judul program,
2. Blok program yang terdiri dari :
a. Bagian deklarasi, meliputi :
- deklarasi label,
- deklarasi konstanta,
- deklarasi tipe,
- deklarasi variabel,
- deklarasi prosedur dan/atau fungsi.
b. Bagian pernyataan, berisi perintah-perintah.
Untuk lebih jelas memahami struktur program Pascal, perhatikan contoh program
berikut ini :
program Struktur_Pascal; { judul program }
label { deklarasi label }
ulang;
const { deklarasi konstanta }
bahasa = 'Pascal';
versi = 1.9;
type { deklarasi tipe }
tipeku = integer;
var { deklarasi variabel }
A : tipeku;
procedure Tulis; { deklarasi prosedur }
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln;
Writeln('Halo,saya sedang belajar bahasa ',bahasa,' versi ',versi);
end;
begin { bagian pernyataan }
Tulis;
Readln;
end.
1.3. Perulangan
Perulangan (iterasi) adalah proses yang berulang. Iterasi selalu ada dalam bahasa
pemrograman apapun, karena disinilah letak kelebihan komputer dibanding manusia,
yaitu mampu melakukan hal yang sama berulang kali tanpa kesalahan akibat bosan
atau lelah. Dengan perulangan, program menjadi lebih pendek dan sederhana.
Dalam Pascal dikenal tiga macam perintah (statement) perulangan, yaitu
statement for…do, repeat…until dan while…do. Perulangan for…do adalah
perulangan dengan penghitung (counter), perulangan repeat…until adalah
perulangan dengan syarat akhir sedang perulangan while…do adalah perulangan
dengan syarat awal.
Untuk lebih jelas memahami proses perulangan ini, perhatikan contoh program
di bawah ini :
program Iterasi1;
var
I, Data : integer;
Nilai, Rata : real;
Jumlah : real;
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
Jumlah := 0;
Writeln;
Write('Masukkan jumlah data : ');
Readln(Data);
Writeln;
for I := 1 to Data do
begin
Write('Masukkan data ke-',I,' : ');
Readln(Nilai);
Jumlah := Jumlah + Nilai;
end;
Rata := Jumlah/Data;
Writeln;
Writeln('Rata-ratanya = ',Rata:6:3);
Readln;
end.
Untuk lebih memahami apa yang dilakukan oleh program, jalankan program dengan tombol F7 dan amati perubahan variabelnya (cara mengamati perubahan variabel dapat ditanyakan pada asisten). Jika telah mengerti, buatlah program yang serupa dengan menggunakan statement perulangan yang lain.
1.4. Seleksi Kondisi
Seleksi kondisi adalah proses penentuan langkah berikutnya berdasarkan proses yang terjadi sebelumnya. Seleksi kondisi ini sangat penting dalam pemrograman sebab dengan adanya seleksi kondisi, program dapat menentukan proses apa yang harus dilakukan selanjutnya berdasarkan keadaan sebelumnya. Sehingga nampak seolaholah program dapat berpikir dan mengambil keputusan. Disinilah letak kekurangan komputer yaitu tidak mampu berpikir sendiri, semua hal yang dilakukan adalah berdasarkan perintah.
Dalam Pascal ada tiga macam perintah seleksi kondisi, yaitu statement
if…then, if…then…else dan case…of. Seleksi kondisi dengan if…then
digunakan untuk mengambil satu keputusan diantara dua pilihan sedang seleksi kondisi dengan
if…then…else dan case…of
digunakan untuk mengambil satu keputusan diantara banyak pilihan.
Untuk lebih memahami tentang seleksi kondisi, perhatikan contoh program di
bawah ini :
program Iterasi2;
var
Nilai : string;
begin
Writeln('Latihan Pascal 1: Perulangan dan Seleksi Kondisi');
Writeln('------------------------------------------------');
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
Write('Masukkan nilai mata kuliah DKP Anda (huruf) : ');
Readln(Nilai);
if Length(Nilai) > 2 then
Writeln('Nilai tidak mungkin lebih dari dua karakter !');
else
begin
if Nilai = 'A' then
Writeln('Anda berbakat menjadi programer !')
else if Nilai = 'B+' then
Writeln('Anda bisa menjadi programer handal.')
else if Nilai = 'B' then
Writeln('Anda mampu menjadi programer.')
else if Nilai = 'C+' then
Writeln('Anda cukup mampu menjadi programer.')
else if Nilai = 'C' then
Writeln('Anda kurang tertarik pada pemrograman.')
else if Nilai = 'D+' then
Writeln('Anda tidak suka pemrograman, ya !')
else if Nilai = 'D' then
Writeln('Anda pasti benci lihat program !')
else if Nilai = 'E' then
Writeln('Anda pasti nggak niat kuliah !')
else
Writeln('Anda salah memasukkan nilai !');
end;
Readln;
end.
Sebagaimana pada program Iterasi1, jalankan program dengan F7. Kemudian ubah
baris perintah seleksi kondisi
if…then…else setelah
if…then…else yang pertama
menjadi case…of,
tentunya diikuti pula dengan beberapa perubahan yang lain sehingga program tetap dapat dijalankan.
1.5. Latihan
1. Secara umum dalam bahasa pemrograman terdapat tiga macam jenis perulangan. Sebutkan dan jelaskan masing-masing jenis tersebut !
2. Jelaskan apa yang dimaksud dengan pemrograman terstruktur dan jelaskan keuntungan memprogram dengan cara terstruktur !
3. Jelaskan apa yang dimaksud dengan statement atau perintah dalam Pascal dan apa pula bedanya dengan reserved words !
4. Perhatikan program Iterasi2 yang menggunakan perintah seleksi kondisi if…then…else, bandingkan dengan yang menggunakan case…of (yang Anda
buat saat latihan sebelumnya). Bandingkan dan jelaskan perbedaannya !
5. Perhatikan struktur program Pascal ! Diantara bagian-bagian struktur tersebut, manakah yang harus ada ? Jelaskan mengapa demikian ?
LATIHAN II
PROSEDUR DAN FUNGSI
2.1. Pendahuluan
Sebuah program yang baik adalah program yang membagi permasalahan utama
menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh sebuah
subprogram, cara ini disebut dengan modular programming (pemrograman
terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat didukung
oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis subprogram, yaitu
procedure dan function (prosedur dan fungsi).
Dengan modular programming, program lebih mudah dibaca dan dimengerti.
Selain itu, pembenahan program dan penelusuran jalannya program (debugging)
menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan
tidak sesuai dengan yang diharapkan.
2.2. P r o s e d u r
Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai
keluaran secara langsung. Cara mendeklarasikan sebuah prosedur adalah sebagai
berikut :
procedure A; { nama prosedur adalah A }
begin
{ statement }
end;
Pendeklarasian prosedur di atas adalah untuk prosedur yang tidak memerlukan
parameter. Parameter adalah data masukan untuk subprogram yang nantinya akan
diproses lebih lanjut dalam subprogram tersebut. Dalam Pascal, dikenal dua macam
parameter yaitu :
1. parameter nilai (value parameter), dan
2. parameter referensi (reference parameter).
Cara mendeklarasikan parameter tersebut adalah sebagai berikut :
procedure B(X : integer; var Y : integer);
begin
{ statement }
end;
Pada deklarasi prosedur di atas, parameter X adalah parameter nilai sedang parameter
Y adalah parameter referensi. Jadi, pendeklarasian parameter referensi didahului oleh
reserved word var. Parameter referensi ini nantinya dapat dijadikan sebagai variabel
keluaran dari prosedur.
Untuk lebih memahami penggunaan prosedur dalam Pascal, perhatikan contoh
program di bawah ini :
program Prosedur;
uses CRT;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
procedure Kali(A,B : integer);
var
I : integer;
begin
Hasil := 0;
for I := 1 to B do Hasil := Hasil + A;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Kali(Bil_1, Bil_2);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas. Dua prosedur terakhir memiliki kemiripan, bedanya hanya
pada jumlah parameter dan variabel hasil perkaliannya. Untuk lebih jelas, jalankan program dan perhatikan apa yang dilakukan oleh dua prosedur tersebut maka akan nampak perbedaan keduanya.
2.3. F u n g s i
Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :
function A : integer; { nama fungsi adalah A dengan }
begin { tipe data keluaran adalah integer }
{ statement }
A := 3; { nilai yang dikeluarkan fungsi }
end;
Sebagaimana dalam prosedur, fungsi juga dapat diberikan parameter. Cara
mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan
pendeklarasian parameter pada prosedur.
function B(X : integer) : integer;
begin
{ statement }
B := X * 2;
end;
Perbedaan utama antara prosedur dan fungsi adalah dalam menghasilkan keluaran.
Walaupun prosedur bisa menghasilkan nilai keluaran, tetapi nilai tersebut tidak dapat
diambil secara langsung, melainkan harus diambil melalui parameter referensi.
Sedangkan keluaran dari fungsi dapat diambil langsung dari fungsi tersebut. Untuk
lebih memahami perbedaan prosedur dan fungsi, perhatikan contoh berikut ini :
program Fungsi;
uses CRT;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
function Kali(A,B : integer) : integer;
var
I,J : integer;
begin
J := 0;
for I := 1 to B do J := J + A;
Kali := J;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas. Prosedur Kalikan dan fugsi Kali mempunyai keluaran yang sama, tetapi cara mengambil keluarannya berbeda. Perhatikan dan jelaskan apa yang terjadi jika baris keempat dalam program utama yang semula perintah :
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
diubah menjadi :
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kalikan(Bil_1,Bil_2,Hasil):5);
2.4. Rekursi
Dalam Pascal, ada satu kelebihan dalam cara pemanggilan subprogram. Pascal mengijinkan pemanggilan suatu subprogram dari dalam subprogram itu sendiri. Tidak semua bahasa pemrograman mengijinkan cara pemanggilan subprogram seperti itu karena akan banyak memakan memori. Untuk lebih jelasnya perhatikan potongan program di bawah ini :
procedure Z;
begin
{ statement }
Z;
end;
Pada baris terakhir prosedur Z di atas, terdapat pemanggilan kembali terhadap prosedur Z, sehingga prosedur di atas tidak akan pernah selesai dijalankan sebab begitu sampai pada baris terakhir dari prosedur, program akan kembali lagi ke awal prosedur. Yang terjadi adalah semacam perulangan tanpa perintah perulangan Pascal, dan perulangan dengan cara ini disebut dengan rekursi. Rekursi berlaku terhadap semua subprogram dalam Pascal, yaitu prosedur dan fungsi.
Dengan adanya rekursi ini, banyak algoritma komputer menjadi lebih mudah dibuat programnya. Berikut ini adalah program menghitung suku banyak Legendre, salah satu contoh perhitungan yang dapat diselesaikan dengan menggunakan rekursi :
program Rekursi;
uses CRT;
var
Jum_Suku, I : integer;
Bil_X : real;
function Legendre(X : real; N : integer) : real;
var
Suku_1, Suku_2 : real;
begin
if N = 0 then
Legendre := 1
else if N = 1 then
Legendre := X
else
begin
Suku_1 := ((2*N - 1) * (X * Legendre(X, N-1))) / N;
Suku_2 := ((N-1) * Legendre(X, N-2)) / N;
Legendre := Suku_1 + Suku_2;
end;
end;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Writeln('Menghitung Suku Banyak Legendre');
Writeln;
Write('Sampai suku ke : ');
Readln(Jum_Suku);
Write('Masukkan nilai X : ');
Readln(Bil_X);
Writeln;
end;
begin
ClrScr;
Awal;
Baca_Data;
for I := 0 to Jum_Suku do
begin
Writeln('Suku ke-',I:2,', Nilainya = ',Legendre(Bil_X, I):8:3);
end;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Untuk lebih jelas memahami program, jalankan program dengan F7. Perhatikan pula
apa yang dilakukan oleh fungsi Legendre. Amati perubahan variabel-variabel yang
terlibat dalam fungsi.
2.5. Latihan
1. Apa guna parameter dalam subprogram ?
2. Kapan kita menggunakan fungsi dan kapan pula menggunakan prosedur?
3. Sebutkan dan jelaskan kelemahan rekursi !
4. Buatlah program Rekursi di atas tanpa menggunakan rekursi kemudian bandingkan
antara yang menggunakan rekursi dan yang tidak. Jelaskan perbedaan dan
persamaannya !
5. Buatlah program untuk menghitung perkalian dua bilangan kompleks ! Gunakan
prosedur atau fungsi !
LATIHAN III
ARRAY DAN RECORD
3.1. Pendahuluan
Dalam bahasa Pascal, secara garis besar dikenal dua macam tipe data yaitu tipe data sederhana (primitive type) dan tipe data kompleks (complex type). Contoh tipe data sederhana adalah tipe numerik (integer dan real), tipe data karakter, tipe data boolean dan tipe data enumerasi. Contoh tipe data kompleks adalah string, array (larik), record dan object. Tipe data sederhana adalah tipe data yang hanya mampu menyimpan satu nilai tiap satu variabelnya. Sebaliknya tipe data kompleks adalah tipe data yang mampu menyimpan lebih dari satu nilai dalam tiap satu variabelnya. Dalam latihan ini hanya
akan dibahas dua tipe data kompleks yaitu array dan record.
3.2. A r r a y
Array adalah tipe data kompleks yang elemen-elemennya mempunyai tipe data yang sama. Jumlah elemen array bersifat tetap dan tidak bisa ditambah atau dikurangi setelah pendeklarasiannya. Tiap elemen mempunyai nomer indeks sendiri dan pengaksesan terhadap elemen array dilakukan dengan menunjukkan nomer indeks dari elemen yang akan diakses.
Cara pendeklarasian suatu variabel bertipe array adalah sebagai berikut :
var
A : array[1..10] of integer;
Pada potongan program di atas, maksudnya adalah sebagai berikut : variabel A berupa array dari integer dengan jumlah elemen sebanyak 10, nomer indeks terkecil adalah 1 dan nomer indeks terbesar adalah 10. Untuk mengakses elemen dari variabel A dapat dilakukan dengan menunjukkan nomer indeks elemen A seperti ini :
A[nomer_indeks] contoh : A[1] := 10;
Untuk lebih memahami penggunaan array dalam program, perhatikan contoh
program di bawah ini :
program Fibonacci;
uses CRT;
var
I : integer;
Data : array[1..10] of integer;
procedure Awal;
begin
Writeln('Praktikum DKP III : Array dan Record');
Writeln('------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Fibo;
begin
for I := 1 to 10 do
begin
if I < 3 then
Data[I] := I - 1
else
Data[I] := Data[I-1] + Data[I-2];
end;
Writeln('Deret Fibonacci suku ke-1 hingga suku ke-10 :');
for I := 1 to 10 do Write(Data[I]:3);
Writeln;
end;
begin
ClrScr;
Awal;
Fibo;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas, terutama cara mengakses variabel array pada prosedur
Fibo. Untuk lebih memahami jalannya program, jalankan program dengan F7 dan perhatikan perubahan elemen-elemen variabel Data yang berupa array. Jika program di atas telah dimengerti, buatlah program menghitung deret Fibonacci tetapi tidak menggunakan variabel array. Kemudian bandingkan dan perhatikan perbedaan kedua program tersebut. Array yang digunakan pada program di atas adalah array berdimensi tunggal atau array berdimensi satu. Dengan demikian, dapat pula dideklarasikan variabel array dengan dimensi lebih dari satu atau array berdimensi banyak. Berikut adalah cara mendeklarasikan array berdimensi dua :
var
A : array[1..10,1..10] of integer;
Antara dimensi satu dengan dimensi lainnya dipisahkan oleh tanda koma (,), demikian juga untuk mendeklarasikan array berdimensi lebih dari dua. Cara mengakses elemen array juga tidak jauh berbeda dengan cara mengakses elemen array berdimensi satu, yaitu menggunakan nomer indeksnya. Contohnya sebagai berikut : A[2,3] := 10; artinya elemen yang terletak pada nomer 2 dimensi pertama dan nomer 3 dimensi kedua diisi dengan nilai 10. Array berdimensi dua ini banyak digunakan dalam perhitungan matrik, oleh sebab itu array berdimensi dua disebut juga dengan array matrik. Perhatikan contoh program berikut ini :
program Jumlah_Matrik;
uses CRT;
const
Orde = 3;
type
Matrik = array[1..orde,1..orde] of integer;
var
M1, M2, H : matrik;
I, J : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 3 : Array dan Record');
Writeln('------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure JumlahMatrik(var Mat1, Mat2, MatHasil : matrik);
begin
for I := 1 to orde do
for J := 1 to orde do
MatHasil[I,J] := Mat1[I,J] + Mat2[I,J];
end;
procedure BacaData(var Mat : matrik);
begin
for I := 1 to orde do
for J := 1 to orde do
begin
Write('Nilai[',I,',',J,'] = ');
Readln(Mat[I,J]);
end;
end;
procedure TulisMatrik(var Mat : matrik);
begin
for I := 1 to orde do
begin
for J := 1 to orde do
begin
Write(Mat[I,J]:5);
end;
Writeln;
end;
end;
begin
ClrScr;
Awal;
Writeln('Isi matrik pertama :');
BacaData(M1);
Writeln;
Writeln('Isi matrik kedua :');
BacaData(M2);
Writeln;
JumlahMatrik(M1, M2, H);
Writeln('Penjumlahan matrik pertama dan kedua :');
TulisMatrik(H);
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas. Terutama cara mengakses isi array dua dimensi secara
berurutan seperti pada tiga prosedur terakhir.
3.3. R e c o r d
Record adalah tipe data kompleks yang elemen-elemennya boleh mempunyai tipe data yang berbeda. Record lebih kompleks daripada array karena record merupakan kumpulan beberapa variabel dengan tipe data yang berbeda. Berbeda dengan array yang tiap elemennya ditandai dengan nomer indeks maka record ditandai dengan nama variabel anggotanya. Cara mengakses elemen dari record dilakukan dengan menyebutkan nama variabel anggota setelah menyebutkan nama record yang akan diakses. Di antara nama record dan nama variabel anggota dipisahkan tanda titik (.).
Cara pendeklarasian record adalah sebagai berikut :
var
B : record
X : integer;
Y : real;
end;
Pada pendeklarasian di atas, maksudnya adalah sebagai berikut : variabel B berupa
record dengan dua elemen yaitu X bertipe integer dan Y bertipe real. Untuk
mengakses elemen dari variabel B seperti berikut : B.nama_variabel
contoh : B.X := 10;
Untuk lebih memahami penggunaan record dalam program, perhatikan contoh
berikut ini :
program Jumlah_Kompleks;
uses CRT;
Type
Kompleks = record
bil_real : integer;
bil_imaj : integer;
end;
var
K1, K2, H : kompleks;
procedure Awal;
begin
Writeln(' Latihan Pascal 3 : Array dan Record');
Writeln('------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure JumlahKompleks(var Komp1, Komp2, KompHasil : kompleks);
begin
KompHasil.bil_real := Komp1.bil_real + Komp2.bil_real;
KompHasil.bil_imaj := Komp1.bil_imaj + Komp2.bil_imaj;
end;
procedure BacaData(var Komp : kompleks);
begin
Write('Bilangan real : ');
Readln(Komp.bil_real);
Write('Bilangan imajiner : ');
Readln(Komp.bil_imaj);
end;
procedure TulisKompleks(var Komp : kompleks);
begin
Write('(',Komp.bil_real:3,' + ',Komp.bil_imaj:3,'i)');
end;
begin
ClrScr;
Awal;
Writeln('Isi bilangan kompleks pertama :');
BacaData(K1);
Writeln;
Writeln('Isi bilangan kompleks kedua :');
BacaData(K2);
Writeln;
JumlahKompleks(K1, K2, H);
Writeln('Penjumlahan bilangan kompleks pertama dan kedua :');
TulisKompleks(K1);
Write(' + ');
TulisKompleks(K2);
Write(' = ');
TulisKompleks(H);
Writeln;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas. Untuk lebih jelasnya, jalankan program dengan F7
sehingga akan terlihat urutan jalannya program. Perhatikan pula bagaimana cara
mengakses elemen record seperti pada prosedur JumlahKompleks.
3.4. Latihan
1. Buatlah program untuk mengurutkan sekumpulan data !
2. Buatlah program menghitung perkalian matriks !
3. Buatlah program menghitung perkalian bilangan kompleks !
4. Jelaskan guna reserved word with dalam Pascal !
5. Jelaskan perbedaan dan persamaan antara array dan record !
LATIHAN IV
G R A F I K
4.1. Pendahuluan
Layar komputer selain dapat beroperasi pada mode teks, juga dapat beroperasi
pada mode grafik. Dengan adanya kemampuan ini, banyak hal yang semula tidak
dapat dilakukan pada mode teks dapat dilakukan pada mode grafik, seperti membuat
atau menampilkan gambar di layar komputer. Selain itu, mode grafik dapat digunakan
untuk memvisualisasikan grafik persamaan matematika.
Karena mode grafik berbeda dengan mode teks, maka pemrogramannya pun
berbeda pula. FreePascal telah menyediakan prosedur dan fungsi khusus untuk
pemrograman pada mode grafik. Latihan keempat ini akan mempelajari pemrograman
mode grafik dengan FreePascal.
4.2. Mengaktifkan Mode Grafik
Untuk mengaktifkan mode grafik, digunakan prosedur standar Pascal :
InitGraph(var GraphDriver: integer; var GraphMode: integer; DriverPath: string);
Pada prosedur di atas, diperlukan tiga buah parameter :
1. GraphDriver : definisi tingkat kedalaman warna monitor,
2. GraphMode : definisi resolusi monitor,
3. DriverPath : lokasi file driver yang digunakan, jika menggunakan file khusus, biasanya tidak perlu sehingga bisa dikosongkan.
4.3. Prosedur dan Fungsi Grafik Standar Pascal
Untuk penanganan mode grafik, FreePascal telah menyediakan banyak prosedur dan fungsi dalam satu unit khusus untuk pemrograman grafik. Lebih jelasnya, perhatikan program berikut :
program Grafik1;
uses Graph;
var
GDriver, GMode : integer;
C, I, X, Y : integer;
SX, SY, SC : string;
begin
GDriver := d8bit; // kedalaman warna 8 bit (256 warna)
GMode := m640x480; // resolusi monitor 640 lebar x 480 tinggi
InitGraph(GDriver,GMode,'');
Randomize;
C := GetMaxColor;
X := GetMaxX;
Y := GetMaxY;
Str(C+1,SC);
Str(X+1,SX);
Str(Y+1,SY);
for I := 1 to 100 do
begin
PutPixel(random(X),random(Y),random(C));
SetColor(random(C));
Line(random(X),random(Y),random(X),random(Y));
Circle(random(X),random(Y),random(50));
end;
Bar(2,2,637,10);
SetColor(0);
OutTextXY(5,3,Latihan 4 : Grafik');
OutTextXY(500,3,'Nama : ---------');
Bar(2,468,637,477);
SetColor(1);
OutTextXY(380,469,'Mode Grafik VGA'+SX+'x'+SY+' '+SC+' warna');
SetColor(4);
OutTextXY(5,469,'Tekan Enter...');
SetColor(C);
Rectangle(0,0,X,Y);
Readln;
CloseGraph;
end.
Perhatikan jalannya program dengan cara menjalankannya perbaris (step over),
gunakan tombol F8. Dengan cara ini dapat dilihat apa yang dilakukan oleh tiap baris
program di atas.
4.4. Aplikasi Grafik
Setelah mengetahui cara pemrograman grafik, hal selanjutnya yang perlu
dipelajari adalah cara mengaplikasikannya untuk menyelesaikan suatu permasalahan.
Percobaan kali ini akan membahas pemanfaatan mode grafik untuk menampilkan
bentuk grafik suatu persamaan matematika. Perhatikan program berikut ini :
program Grafik2;
uses Graph;
var
GDriver, GMode : integer;
A, B, I : integer;
MC, MX, MY : integer;
TX, TY, JX, JY : integer;
K, X1, X2, Y : real;
SX, SY, SC : string;
function F(X : real): real;
begin
F := sin(2*PI*X)/X;
end;
begin
GDriver := d8bit;
GMode := m640x480;
InitGraph(GDriver, GMode, 'A:\');
MC := GetMaxColor;
MX := GetMaxX;
MY := GetMaxY;
Str(MC+1,SC);
Str(MX+1,SX);
Str(MY+1,SY);
Bar(2,2,637,10);
SetColor(0);
OutTextXY(5,3,'Latihan 4 : Aplikasi Grafik');
OutTextXY(500,3,'Nama : ----------');
Bar(2,468,637,477);
SetColor(1);
OutTextXY(370,469,'Mode Grafik VGA '+SX+'x'+SY+' '+SC+' warna');
SetColor(4);
OutTextXY(5,469,'Tekan Enter...');
SetColor(MC);
Rectangle(0,0,MX,MY);
Rectangle(2,12,637,466);
SetViewPort(3,13,636,465,true);
TX := 320;
TY := 340;
JX := 50;
JY := 50;
X1 := -25;
X2 := 25;
K := 0.001;
SetColor(9);
Line(TX,0,TX,MY);
Line(0,TY,MX,TY);
SetLineStyle(1,0,1);
SetColor(8);
for I := 1 to 25 do
begin
A := TX + I*JX;
B := TX - I*JX;
Line(A,0,A,MY);
Line(B,0,B,MY);
A := TY - I*JY;
B := TY + I*JY;
Line(0,A,MX,A);
Line(0,B,MX,B);
end;
repeat
X1 := X1 + K;
Y := F(X1);
A := round(X1 * JX) + TX;
B := TY - round(Y * JY);
PutPixel(A,B,14);
until X1 > X2;
Readln;
CloseGraph;
end.
Jalankan program di atas dengan menekan tombol F8. Untuk lebih jelas memahami
program lakukan beberapa hal berikut :
Ubah nilai variabel TX menjadi …..….., kemudian jalankan kembali program diatas. Ubah lagi variabel TY menjadi ……...., kemudian jalankan lagi programnya.
Ubah nilai variabel JX menjadi ………., kemudian jalankan kembali program diatas. Ubah lagi variabel JY menjadi ………., kemudian jalankan lagi programnya.
Ubah nilai variabel X1 menjadi ………, kemudian jalankan kembali program diatas. Ubah variabel X2 menjadi ………, kemudian jalankan lagi programnya.
Ubah nilai variabel K menjadi ………., kemudian jalankan lagi program di atas. Ubah lagi variabel K menjadi ………., kemudian jalankan lagi programnya.
Dengan melakukan beberapa hal di atas, dapat ditarik kesimpulan mengenai manfaat
masing-masing variabel yang digunakan dalam program.
4.5. Latihan
1. Jelaskan (berikut parameternya) dari fungsi dan prosedur grafik Pascal di bawah
ini:
a. GetPixel
b. ClearDevice
c. Bar3D
d. SetLineStyle
e. SetTextStyle
2. Buatlah flowchart dari program Grafik2, kemudian jelaskanlah jalan programnya !
3. Jelaskan manfaat penggunaan fungsi round dalam perulangan
repeat...until pada program Grafik2 !
4. Jelaskan manfaat dari masing-masing variabel yang telah Anda amati pada saat
menjalankan program Grafik2 di atas !
5. Dengan menggunakan program Grafik2, ubahlah persamaan grafiknya menjadi :
f(x) = exp(x). Jelaskan apa yang terjadi pada program !
LATIHAN V
ANALISA NUMERIK
5.1. Pendahuluan
Setelah mempelajari pemrograman menggunakan bahasa Pascal maka pada latihan terakhir ini akan dipelajari tentang aplikasi pemrograman untuk memecahkan permasalahan dengan metode numerik. Metode numerik adalah teknik yang digunakan untuk memformulasikan masalah matematis sehingga dapat dipecahkan dengan operasi perhitungan. Metode numerik banyak berguna dalam memecahkan masalahmasalah teknik rekayasa yang tidak mungkin dipecahkan secara analitis.
Dalam latihan ini hanya dibahas dua masalah dasar dalam metode numerik, yaitu penentuan akar-akar persamaan dan menyelesaikan sistem persamaan. Selain itu, pembahasan akan lebih ditekankan pada materi pemrogramannya daripada teori numeriknya. Lebih lanjut tentang teori-teori metode numerik dapat dipelajari dalam mata pelajaran Matematika.
5.2. Menentukan Akar-Akar Persamaan
Suatu persamaan matematika dapat ditentukan akar persamaannya dengan beberapa metode. Secara garis besar, ada dua metode yaitu metode pengurung dan metode terbuka. Salah satu metode pengurung adalah metode grafik, metode ini sudah dijelaskan pada latihan keempat tentang aplikasi grafik. Metode ini mengamati secara langsung posisi akar pada grafik persamaannya. Selain metode grafik, ada beberapa macam lagi metode pengurung seperti metode inkremental, metode bagi dua dan metode posisi palsu. Berikut ini adalah program untuk menentukan akar-akar persamaan dengan metode inkremental :
program Akar_Persamaan;
uses CRT;
var
MaxGalat, AkarPers,
BatasAtas, BatasBawah : real;
MaxIterasi : integer;
function F(X : real) : real;
begin
F := X*X*X - 6*X - 7;
end;
procedure Awal;
begin
Writeln('Latihan 5 : Analisa Numerik');
Writeln('---------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
Writeln('Program Untuk Menghitung Akar Persamaan');
Writeln;
end;
procedure BacaData;
begin
Write('Masukkan galat maksimum : ');
Readln(MaxGalat);
Write('Masukkan maksimum iterasi : ');
Readln(MaxIterasi);
Write('Masukkan perkiraan awal : ');
Readln(BatasBawah);
Writeln;
end;
procedure Inkremental;
var
Iterasi : integer;
Kenaikan,
Galat, Uji : real;
begin
Iterasi := 0;
Kenaikan := 1;
Writeln(' Iterasi Batas Bawah Akar Persamaan Galat');
Writeln('-------------------------------------------------');
repeat
Iterasi := Iterasi + 1;
BatasAtas := BatasBawah + Kenaikan;
AkarPers := BatasAtas;
Uji := F(BatasAtas) * F(BatasBawah);
Galat := abs((AkarPers - BatasBawah)/AkarPers);
if Uji > 0 then BatasBawah := BatasAtas
else Kenaikan := Kenaikan/2;
Writeln(Iterasi:5, BatasBawah:17:5, AkarPers:15:5, Galat:13:5);
until (Kenaikan <= MaxGalat) or (Iterasi >= MaxIterasi);
Writeln('-------------------------------------------------');
Writeln;
end;
procedure TampilHasil;
begin
Writeln('Akar persamaan dari fungsi adalah ',AkarPers:8:5);
end;
begin
ClrScr;
Awal;
BacaData;
Inkremental;
TampilHasil;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Jalankan program di atas dengan menekan tombol F7, perhatikan jalannya program dan pelajari algoritmanya. Jika algoritma program telah dimengerti, temukan kelemahan dan kelebihannya dan perbaikilah kelemahan tersebut.
5.3. Menyelesaikan Sistem Persamaan Linier
Dalam teknik-teknik rekayasa seringkali dijumpai suatu permasalahan yang lebih mudah menyelesaikannya dengan mengubah permasalahan menjadi persamaan matematika. Untuk persamaan tunggal dapat diselesaikan dengan menggunakan metode penentuan akar persamaan, sedang untuk persamaan yang lebih dari satu maka diperlukan metode lain untuk menyelesaikannya. Ada beberapa metode numerik yang seringkali digunakan untuk menyelesaikan suatu sistem persamaan, antara lain dengan metode eliminasi matrik, metode grafik dan metode eliminasi Gauss yang mempunyai beberapa macam jenis. Metode grafik telah dibahas pada latihan sebelumnya, tetapi untuk menyelesaikan suatu sistem persamaan, semua grafik persamaan harus ditampilkan bersamaan, karenanya contoh program dalam latihan keempat harus diperbaiki agar dapat menampilkan beberapa persamaan sekaligus. Berikut ini adalah contoh program menggunakan metode eliminasi matrik :
Program Eliminasi_Matrik;
uses CRT;
const
JmlPers = 3;
type
Matrik = array[1..JmlPers+1, 1..JmlPers+1] of real;
var
Koefs : matrik;
procedure Identitas;
begin
Writeln('Latihan 5 : Analisa Numerik');
Writeln('---------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Judul;
begin
Writeln('Program Penyelesaian 3 Persamaan Linier');
Writeln;
Writeln('Bentuk persamaan : a1 x + b1 y + c1 z = k1');
Writeln(' a2 x + b2 y + c2 z = k2');
Writeln(' a3 x + b3 y + c3 z = k3');
Writeln;
end;
procedure BacaData;
var
I, J : integer;
begin
for I := 1 to JmlPers do
begin
for J := 1 to JmlPers + 1 do
begin
if J = JmlPers + 1 then
begin
Write('Masukkan konstanta k',I,' : ');
Readln(Koefs[I,J]);
end
else
begin
Write('Masukkan nilai ',chr(96+J),I,' : ');
Readln(Koefs[I,J]);
end;
end;
Writeln;
end;
end;
function Det3x3(var Mat : matrik) : real;
var
Det3, H : real;
I, J, K, L : integer;
Det2 : array[1..4] of real;
begin
K := 0;
Det3 := 0;
for L := 1 to 4 do Det2[L] := 0;
for I := 1 to 3 do
begin
for L := 2 to 3 do
begin
for J := 1 to 3 do
begin
if I <> J then
begin
K := K + 1;
Det2[K] := Mat[L,J];
end;
end;
end;
H := Mat[1,I];
if I mod 2 = 0 then H := -H;
Det3 := Det3 + (Det2[1]*Det2[4] - Det2[2]*Det2[3]) * H;
for L := 1 to 4 do Det2[L] := 0;
K := 0;
end;
Det3x3 := Det3;
end;
procedure EliminasiMatrik;
var
MatElim : matrik;
I, J : integer;
A, B : real;
begin
MatElim := Koefs;
for J := 1 to JmlPers do
begin
for I := 1 to JmlPers do
MatElim[I,J] := Koefs[I,JmlPers+1];
A := Det3x3(MatElim);
B := Det3x3(Koefs);
Koefs[JmlPers+1,J] := A/B;
MatElim := Koefs;
end;
end;
procedure TampilkanHasil;
var
I : integer;
begin
ClrScr;
Identitas;
Writeln('Program Penyelesaian 3 Persamaan Linier');
Writeln;
Writeln('Bentuk persamaan : ');
for I := 1 to JmlPers do
begin
Write(Koefs[I,1]:5:2,'x + ',Koefs[I,2]:5:2,'y + ');
Writeln(Koefs[I,3]:5:2,'z = ',Koefs[I,4]:5:2);
end;
Writeln;
Writeln('Penyelesaian persamaan :');
for I := 1 to JmlPers do
Writeln(chr(119+I):5,' = ',Koefs[JmlPers+1,I]:5:2);
end;
begin
ClrScr;
Identitas;
Judul;
BacaData;
EliminasiMatrik;
TampilkanHasil;
Writeln;
Write('Tekan Enter...');
Readln;
end.
Jalankan program di atas dengan tombol F7. Perhatikan terutama pada prosedur Eliminasi Matrik sebab prosedur itulah inti dari program di atas. Fungsi Det3x3 yang menghasilkan nilai determinan dari matrik orde 3x3 juga sangat penting untuk dimengerti. Diharapkan setelah memahami program di atas, bisa lebih mudah untuk mempelajari algoritma penyelesaian sistem persamaan linier lainnya, seperti metode eliminasi Gauss, eliminasi Gauss-Jordan dan lain sebagainya.
5.4. Latihan
1. Buatlah program untuk menghitung perkalian matrik berukuran 3 x 3 !
2. Buatlah program untuk menghitung gaya momentum dua benda yang saling
bertumbukan !