Blogger

Bukan Hanya bisa IT tapi juga mempunyai Akhlakul Karimah yg memadai, yg pasti mengabdi dan bisa mengaji!

Pengertian Logika dan Algoritma Pemrograman

A. PENGERTIAN LOGIKA
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan. Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.

B. SEJARAH ALGORITMA
Kata Algoritma diambil dari ilmuwan muslim Abu Ja’far Muhammad bin Musa Alkhwarizmi (780-846 M) yang banyak menghasilkan karya dalam bidang Matematika, disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik.
Pemecahan sebuah masalah pada hakekatnya adalah menemukan langkah-langkah tertentu yang jika dijalankan efeknya akan memecahkan masalah tersebut. Efek dari sebuah langkah tertentu dapat dilihat dengan membandingkan keadaan sebelum langkah tersebut dilakukan (Ko) dan keadaan setelah langkah tersebut dilakukan (K 1). Misalnya, keadaan sebelum langkah ‘angkat gagang telepon’ adalah gagang telepon berada ditempatnya (Ko), dan setelah langkah tersebut dilakukan gagang telepon sudah terangkat (K1), sehingga efek dari langkah tersebut akan terangkatnya gagang telepon. Jika semua langkah diatas dilakukan, maka efek dari semua langkah tersebut akan memecahkan masalah menelepon.
Dari uraian diatas, secara umum dapat ditarik beberapa karakteristik atau syarat Algoritma :
  1. 1. Algoritma harus tidak ambigu (unambiguous)
Deskripsi langkah-langkah dalam algoritma harus dan hanya mempunyai tafsiran tunggal. Oleh karena itu, sebuah bahasa pemrograman seperti pascal sering digunakan untuk menuliskan algoritma, sehingga langkah-langkah yang dituliskan hanya mempunyai tafsiran tunggal, terutama menurut komputer.

  1. 2. Algoritma harus tepat (precise)
Algoritma harus menyatakan urutan langkah-langkahnya. Kapan sebuah langkah atau langkah x dilakukan, apakah sebelum langkah y atau sesudahnya, harus dinyatakandnegan jelas. Algoritma harus menyatakan dengan jelas kapan berhenti dari sebuah langkah untuk meneruskan kelangkah berikutnya.

  1. 3. Algoritma harus pasti (definite)
Jika serangkain langkah yang sama dilakukan dua kali maka hasilnya harus selalu sama. Sebagai ilustrasi, jika dua orang koki mengikuti resep yang sama, maka rasa kue yang dihasilkan harus sama. Kalau hasil akhir atau rasa kue tidak sama, pasti ada beberapa perbedaan yang tidak disadari, seperti merek bahan yang berbeda, atau lama memasak yang berbeda, atau ada perbedaan pada sesuatu yang lain.

  1. 4. Algoritma harus berhingga (finite)
Serangkain langkah dalam algoritma harus dapat dilaksanakan pada rentang waktu tertentu seperti yang telah diuraikan diatas.




C. PENGERTIAN ALGORITMA
Algortima adalah sebuah strategi yang mengandalkan kemampuan berpikir secara logis untuk memecahkan suatu masalah. Dalam algoritma, kita mulai dengan berpikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar tujuan atau sasaran yang kita harapkan dapat terwujud.
Begitu juga dalam hal membuat program komputer. Ada keterbatasan statements yang disediakan, namun dengan keterbatasan itu kita siasati langkah-langkah untuk mencapai hasil program yang sesuai dengan keinginan.

D. JENIS – JENIS ALGORITMA
Adapun jenis-jenis algoritma adalah :
1. Bahasa Semu (pseudo code)
yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan struktur.
2. Diagram Alir/Alur (Flowchart)
yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan.

E. BENTUK ALGORITMA
Bentuk algoritma terbagi menjadi 3 bagian yaitu :
1. Runtunan (Sequencial)
Algoritma merupakan runtunan asli yang berarti :
a. Tiap aksi dikerjakan satu persatu.
b. Tiap aksi dilaksanakan tepat sekali, tidak ada aksi yang diulang.
c. Urutan aksi yang dilaksanakan pemroses sama dengan urutan aksi sebagai mana yang tertulis didalam algoritmanya.
d. Akhir dari aksi terakhir merupakan akhir algoritma.
2. Percabangan (Brauching)
3. Perulangan (Looping)
F. PENGERTIAN PEMROGRAMAN
Belajar pemrograman meliputi banyak hal terutama adalah belajar memecahkan masalah atau merumuskan algoritma, mulai dari penentuan garis besar pemecahan sampai langkah-langkah rinci. Belajar bahasa pemograman adalah belajar pemakaian suatu bahasa yang mengikuti aturan sintaks, instruksi yang tersedia, dan cara pengoperasian kompilator bahasa pada mesin tertentu. Algoritma harus dituliskan kembali dalam bahasa pemrograman untuk dapat dieksekusi oleh komputer. jika Algoritma yang dikembangkan sudah cukup rinci, dan jika aturan bahasa pemrograman dikuasai, maka penerjemahannya kedalam bahasa pemrograman akan sangat mudah. penerjemahan akan sangat berbeda untuk setiap bahasa pemrograman.
G. PENGERTIAN PROGRAM
Program adalah kumpulan instruksi (statements) yang disusun secara logis untuk memecahkan suatu masalah. Instruksi-instruksi yang digunakan disesuaikan dengan jenis bahasa pemrograman yang digunakan (reserved word yang disediakan).
Program yang baik memiliki kriteria antara lain :
  1. Menghasilkan keluaran (output) yang sesuai dan benar.
  2. Memiliki kompleksitas algoritma yang minimal.
  3. Memiliki kecocokan dengan peruntukan bahasa pemrogramannya.
  4. Memiliki batas akhir penyelesaian.

H. MODEL PROGRAM
Mohon maaf saya belum mendapatkan bahan untuk materi ini.

MENGENAL KESALAHAN PADA KOMPUTER

Sebelum mengupas tentang cara kerja dari komputer, ada baiknya kita mengenal hal-hal yang berkaitan dengan kesalahan yang ditemukan dalam sistem komputer ini, kesalahan ini ditemukan dalam bermacam-macam kasus, baik pemrograman, maupun dalam bidang lainnya dalam proses yang dilakukan dengan menggunakan komputer.

Pengertian ERROR

Error dapat diartikan sebagai Kekeliruan, tidak tepat, kesalahan secaraperangkat lunak, atau kerusakan pada perangkat keras. Dengan terjadinya error ini, maka pelaksanaan perintah tidak sesuai dengan yang diharapkan.
Pada beberapa kejadian, apabila terjadi error, maka perintah yang sedang dikerjakan diberhentikan karena tidak bisa dilanjutkan, seperti tidak adaprinter. Namun pada kondisi lainnya, pekerjaan masih bisa dilanjutkan, karena error yang terjadi tersebut tidak terlalu mempengaruhi sistem dan bisa diabaikan, seperti pemutaran suatu media presentasi pada komputer yang tidak mempunyai sound cardproses masih bisa dilanjutkan untuk melihat presentasi tersebut, meskipun dalam kondisi bisu.

Ada bermacam-macam jenis error antara lain :
– Syntax Error
– Logical Error
– Run Time Error
– Human Error
– Command Error
1. Syntax Error

Syntax Error adalah kesalahan yang diakibatkan karena penulisan atau tata bahasa yang tidak benar. Error ini membuat pihak yang diminta untuk mengerjakan sesuatu menjadi bingung, sehingga tidak bisa melakukan perintah tersebut. Contohnya adalah
”Nasi Budi makan”, penulisan kalimat tersebut tidak mengikuti kaedah penulisan tata bahasa Indonesia yang benar, yang benarnya adalah “Budi makan nasi”. Apabila terjadi kesalahan jenis ini, proses tidak akan diberhentikan, atau tidak dilanjutkan, sampai yang bersangkutan menulis perintah membenarkan perintah tersebut.

2. Logical Error

Logical Error adalah jenis kesalahan secara logika. Jika ditemukan kesalah dengan jenis ini, proses tetap dilanjutkan, namun tidak berjalan sebagaimana mestinya. Misalnya
Buka halaman 6, padahal yang dimaksud adalah halaman 9. bagaimana informasi yang anda temukan? Tentu berbeda dengan yang semestinya anda inginkan.
Kesalahan dalam logika ini akan mengakibatkan hasil suatu proses tidak sesuai dengan yang diharapkan, umumnya proses ini tidak berhenti karena kesalahan logika ini. Nah, kita memang harus hati-hati dengan kesalahan secara logic ini. Sistem akan memberikan informasi sesuai dengan yang anda berikan. Makanya ketelitian diperlukan di sini.
Logical Error dapat juga diartikan sebagai suatu kesalahan hasil yang diharapkan yang diakibatkan karena kesalahan dalam hal logika. Kesalahan logika disini bisa karena salah pengisian, seperti salah mengisikan jenis kelamin misalnya seorang laki-laki mengisi jenis kelamin pada datanya dengan perempuan, sehingga ketika dipanggil atau disapa oleh komputer akan muncul pesan, {Selamat datang, bu…}. Selain kesalahan ini karena kesalahan pengisian, juga diakibatkan oleh kesalahan logika pada program. Apabila terjadi kesalahan logika ini, komputer akan tetap melaksanakan perintah yang disampaikan, akan tetapi hasil dari proses tersebut tidak benar. Kesalahan ini termasuk yang cukup sulit dilacak, karena pada kondisi tertentu, hasilnya kadang-kadang tidak terdeksi dalam jangka waktu dekat, disinilah dibutuhkan ketelitian baik bagi programmer maupun bagi pengentridata.

3. Run Time Error
Kesalahan jenis ini disebabkan karena waktu suatu perintah dieksekusi, sistemnya sendiri yang tidak siap menerima perintah tersebut, bisa saja disebabkan permintaan yang anda lakukan sedang tidak tersedia, atau karena penyebab secara teknis lainnya. Misalnya:
Anda mau mendengarkan radio, listriknya belum disambungkan, ya harus disambungkan dulu listriknya, baru bisa menikmati suara radio.
Mau melihat berita di situs berita, alamat yang diketikkan sudah benar, komputer juga udah terhubung dengan internet, situs lain yang dikunjungi tidak ada masalah, tetapi kok situs berita tersebut nggak bisa diakses-akses. Ternyata server situs berita itu sendiri yang sedang down (istilah yang digunakan kalau server tidak aktif atau mati)
Ketika sedang jalan-jalan di internet, anda tertarik dengan suatu gambar atau informasi, lalu anda ingin menyimpannya ke disket, tetapi kok waktu menyimpan informasi tersebut selalu saja gagal. Disket sudah dimasukkan dengan benar. Ternyata penyebabnya adalah disket yang digunakan rusak.
Kesalahan jenis run-time error ini mengakibatkan proses dihentikan seketika, umumnya sistem memberitahukan kondisi yang diketahuinya jika ditemukan masalah seperti ini.



4. Human Error

Human Error adalah kesalahan yang terjadi akibat adanya kesalahan pengguna dalam memasukkan data. Misalnya salah masukkan nama akibat kurangnya huruf yang terdapat pada nama tersebut.

5. Command Error
Command Error adalah kesalahan dalam perintah yang diinginkan komputer yang diakibatkan karena kesalahan pengguna yang tidak mengikuti perintah yang timbul pada komputer.
0
Definisi Algoritma
1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh
2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.(Webster Dictionary)
Kriteria Pemilihan Algoritma
1. Ada output: mengacu pada definisi algoritma, suatu algoritma haruslah mempunyai output yang harus merupakan solusi dari masalah yang sedang diselesaikan.
2. Efektifitas dan Efisiensi ikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan dalam arti algoritma harus tepat guna.Dikatakan efisiensi jika waktu proses suatu algoritma relatif lebih singkat dan penggunaan memori komputernya lebih sedikit.
3. Jumlah langkahnya berhingga : maksudnya adalah barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
4. Berakhir à (Semi Algoritma) : proses didalam mencari penyelesaian suatu masalah harus berhenti dan berakhir dengan hasil akhir yang merupakan solusinya atau berupa informasi yang tidak diketemukan solusinya. Artinya baik dalam kondisi solusi ada atau tidak ada, proses akan tetap harus berakhir dan berhenti. Istilah lain dalam algoritma dikenal sebagai SEMI ALGORITMA, yaitu suatu prosedur yang hanya akan berhenti jika mempunyai atau menghasilkan solusi, sedangkan jika tidak menghasilkan solusi, maka prosedur tersebut akan berjalan tanpa henti.
5. Terstruktur : yaitu urutan barisan langkah-langkah yang digunakan harus disusun sedemikian rupa agar proses penyelesaian tidak berbelit-belit sedemikian sehingga bagian-bagian proses dapat dibedakan dengan jelas mana bagian input, proses dan output sehingga memudahkan user melakukan pemeriksaan ulang.
Kesimpulannya:
Suatu Algoritma yang terbaik(The Best) : “Suatu algoritma harus menghasilkan output yan tepat guna(efektif) dalam waktu yang relatif singkat & penggunaan memori yang relatif sedikit(efisien) dengan langkah yang berhingga & prosedurnya berakhir baik dalam keadan diperoleh suatu solusi ataupun tidak ada solusinya”
Contoh:
A. Algoritma untuk mengirimkan surat
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yang dituju, jika tidak diingat, lebih dahulu ambil buku alamat & cari alamat yang dituju, lalu tulis alamat tersebut pada amplop surat
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dalam kotak/bis surat.
B. Algoritma untuk menentukan bilangan akar kuadrat dari suatu bilangan bulat positif yang diinput.
1. Baca bilangan bulat positif yang diinput, sebut saja sebagai A.
2. Dinyatakan Nilai B adalah 0
3. Jika Nilai C sama dengan Nilai A, maka Nilai B adalah Akar dari Nilai A, lalu stop
4. Jika tidak, maka nilai B akan bertambah 1
5. Kembali ke langkah pada No.3
Tahapan Analisa Algoritma
1. Bagaimana merencakan suatu algoritma:
Menentukan beberapa model atau desain sebagai penyelesaian dari suatu masalah untuk mendapat sebuah solusi yan mungkin. Dengan demikian, akan banyak terdapat variasi desain atau model yang dapat diambil yang terbaik.
2. Bagaimana menyatakan suatu algoritma
Menentukan model suatu algoritma yang digunakan sehingga dapat membuat barisan langkah secara berurutan guna mendapatkan solusi penyelesaian masalah. Menentukan model tersebut agar dapat digunakan dengan cara:
– Dengan Bahasa semu(Pseudocode): yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan terstruktur, seperti telah penulis sebutkan pada contoh-contoh sebelumnya(Contoh prosedur berikirm surat)
Contoh:
1. Untuk mengitung Luas Segitiga:
2. Masukan Nilai Alas
3. Masukan Nilai Tinggi
4. Hitung Luas = (Alas * Tinggi)/2
5. Cetak Luas
– Dengan diagram alur atau flowchart: yaitu dengan membuat suatu penulisan atau penyajian   algoritma berupa diagram yang menggambarkan susunan alur logika dari suatu permasalahan

Contoh:
– Dengan Statement Program/Penggalan Program
Contoh:
1. Read Alas
2. Read Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)
3. Bagaimana validitas suatu algoritma
Yakni jika penyelesaian memenuhi solusi yang sebenarnya, artinya solusi yang didapat merupakan penyelesaian suatu masalah dan bukannya membuat masalah baru.
4. Bagaimana menganalisa suatu algoritma
Caranya melihat running time atau waktu tempuh yang digunakan dalam menyelesaikan masalah serta jumlah memori yang digunakan dalam penyelesaian masalah tersebut.
5. Bagaimana menguji program dari suatu algoritma
Yaitu dengan cara menyajikannya dalam salah satu bahasa pemrogramana, misalnya BASIC, PASCAL, FORTRAN, dBase, atau yang lainnya. Dalam proses, uji program oleh komputer akan melalui beberapa tahap yaitu:
1. Fase Debugging, yaitu fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program. Yang dimaksud disni adalah error atau salah dalam penulisan program baik logika maupun sintaksnya.
2. Fase Profilling, yaitu fase yang akan bekerja jika program tersebut sudah benar atau telah melalui proses pada fase debugging. Fase ini bekerja untuk melihat dan mengukur waktu tempuh atau running time yang diperlukan serta jumlah memori/storage yang digunakan dalam menyelesaikan suatu algoritma.

ANALISIS SUATU ALGORITMA
(Untuk melihat faktor efisiensi & efektifitas dari algoritma tersebut), dapat dilakukan terhadap suatu algoritma dengan melihat pada:
– Waktu tempu(Running Time) dari suatu algoritma: adalah satuan waktu yang ditempuh atau diperlukan oleh suatu algoritma dalam menyelesaikan suatu masalah.

Hal-hal yang dapat mempengaruhi daripada waktu tempuh adalah:
1. Banyaknya langkah: Makin banyak langkah atau instruksi yang digunakan dalam menyelesaikan masalah, maka makin lama waktu tempuh yang dibutuhkan dalam proses tersebut
2. Besar dan jenis input data: Besar dan jenis input data pada suatu algoritma akan sangat berpengaruh pada proses perhitugan yang terjadi. Jika jenis data adalah tingkat ketelitian tunggal(Single precision), maka waktu tempuh akan menjadi relatif lebih cepat dibandingkan dengan tingkat ketelitian ganda(double precesion)
3. Jenis operasi: Waktu tempuh juga dipengaruhi oleh jenis operasi yang digunakan. Jenis operasi tersebut meliputi operasi matematika, nalar atau logika, atau yang lainnya. Sebagai contoh, operasi perkalian atau pembagian akan memakan waktu lebih lama dibandingkan operasi penjumlahan atau pengurangan.
4. Komputer dan kompilator: hal terakhir yang mempengaruhi waktu tempuh suatu proses algoritma adalah komputer dan kompilatornya, walaupun sebenarnya faktor ini diluar tahap rancangan atau tahap pembuatan algoritma yang efisien. Algoritma dibuat untuk mencapai waktu tempuh yang seefektif dan seefisien mungkin, tetapi kesemuanya itu akan sangat bergantung pada kemampuan komputer yang tentunya harus sesuai dengan jumlah program atau langkah yang diperlukan oleh algoritma, begitu juga dengan kompilator tersebut, misalnya PC XT 8086 akan kalah cepat dibandingkan 8088 atau dengan AT 80286 atau 80386 atau 80486 dan seterusnya

– Jumlah Memori Yang digunakan: banyaknya langkah yang digunakan dan jenis variabel data yang dipakai dalam suatu algoritma akan sangat mempengaruhi penggunaan memori. Dalm hal ini, diharapkan dapat memperkirakan seberapa banyak kebutuhan memori yang diperlukan selama proses berlangsung hingga proses selesai dikerjakan. Dengan demikian, dapat disiapkan storage yang memadai agar proses suatu algoritma berjalan tanpa ada hambatan atau kekurangan memori.

Sifat-Sifat Algoritma
– Banyaknya langkah instruksi harus berhingga: pelaksanaan sebuah algoritma yang terprogram haruslah dapat diakhiri atau diselesaikan melalui sejumlah langkah operasional yang berhingga. Jika tidak demikian, kita tidak akan dapat mengharapkan bahwa pelaksaan algoritma tersebut dapat menghasilkan suatu solusi yang baik.
– Langkah atau instruksi harus jelas: artinya bahwa penulisa setiap langkah yang terdapat didalam sebuah algoritma harus memiliki arti yang khusus atau spesifik sehingga dapat dibedakan antara penulisan langkah untuk komputer(program/pemrograman) dengan penulisan langkah bagi manusia(pesudocode). Manusia akan lebih mudah memahami algoritma yang terdiri atas simbol-simbol(Contoh: pembuatan algoritma dengan diagram alur/flowchart) sedangkan komputer hanya membutuhkan sebuah penulisan algoritma dengan kode-kode yang dituangkan dalam bahasa yang dimengerti oleh komputer itu sendiri(bahasa pemrograman).
– Proses harus jelas dan mempunyai batasan: rangkaian suatu proses yang berisi langkah-langkah instruksi dari suatu algoritma yang akan dilaksanakn harus ditetapkan dengna jelas, baik dan pasti sebab sebuah algoritma harus memiliki instruksi dasar tertentu dimana setiap instruksi harus memiliki unsur pelaksana yang berfungsi sebagai pemroses data yang akan dimasukkan dalam sebuah komputer. Dengan demikian, sebuah algoritma harus ditulis dengan jelas tentang batasa-batasan proses yang akan dilaksanakan oleh komputer.
– Input dan Output harus mempunyai batasan: input merupakan data yang dimasukkan ke dalam algoritma yang untuk kemudian akan dilaksanakan oleh komputer. Dengan begitu, input yang diberikan harus sesuai dengan jenis dari bahasa pemrograman yang digunakan, sedangkan ouput merupakan hasil yang diperoleh dari pekerjaan yang dilaksanakan komputer untuk kepentingan user yang merupakan pihak diluar komputer. Algoritma harus menghasilkan output karena merupaka solusi yang diharapkan dari suatu masalah yang timbul.
– Efektifitas: instruksi yang diberikan pada komputer agar hanya menjalankan atau melaksanakan proses yang mampu dilaksanakannya. Yang dimaksud mampu adalah bahwa suatu algoritma atau instruksi-instruksi dalam sebuah program hanya akan dapat dilaksanakan jika informasi yang diberikan oleh instruksi-instruksi tersebut lengkap, benar dan jelas.
– Adanya batasan ruang lingkup, sebuah algoritma yang baik adalah hanya ditujukan bagi suatu masalah tertentu saja. Susunana input harus ditentukan lebih dulu sebab susunan tersebut enentukan sifat umum dari algoritma yang bersangkutan.

Share:

Tidak ada komentar:

Posting Komentar

Contoh Random Banner

Efek




SANTREH ANONYMOUS TEKNIK SOKARAJJHE


Efek Cursor

Cursor

Blue Fire Pointer