Banner adz

Sunday, 7 February 2016

Unknown

KONSEP DASAR ALGORITMA



Sebuah algoritma merupakan deskripsi langkah-langkah penyelesaian suatu proses. Dan setiap langkah penyelesaian dinyatakan dengan sebuah pernyataan.
Pernyataan dapat diartikan menggambarkan dari aksi algoritmik yang dieksekusi. Dan efek dari pengerjaan ini dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai dan pada saat aksi dikerjakan.
Contoh:
 pernyataan "kalikan a dengan 4
menggambarkan aksi "mengalikan a dengan konstanta 4 dan hasil perkalian disimpan di peubah a.

Pada tulisan sebelumnya, algoritma berisi langkah-langkah penyelesaian. Dan langkah-langkah dapat berupa:
  • runtunan aksi
  • pemilihan aksi dan
  • pengulangan aksi
 Berikut pembahasan dari runtunan aksi, pemilihan aksi dan pengulangan aksi.

Runtunan
Tiap pernyataan dikerjakan secara berurutan sesuai dengan urutannya. Urutan instruksi menentukan keadaan akhir dari sebuah algoritma.
Contoh :
tinjau kembali pembahasan yang lalu (edisi tanggal 6 Februari 20160),
Algoritma mempertukarkan air dari dua buah ember A dan B.
  1. tuangkan air dari ember A ke dalam ember C
  2. tuangkan air dari ember B ke dalam ember A
  3. tuangkan air dari ember C ke dalam ember B
dan contoh yang lain "mempertukarkan nilai dari dua buah peubah" jika peubah A = 8 dan B = 5 maka penulisan algoritma : ( Rinaldi Munir, 2004)
  • isikan nilai A ke dalam C 
  • isikan nilai B ke dalam A
  • isikan nilai C ke dalam B 
Pemilihan
Tiap pernyataan dikerjakan jika kondisi tertentu dipenuhi.
Contoh :
  • menentukan nilai terbesar dari dua buah bilangan bulat, misal x dan y
  • jika air di dalam ketel mendidih, matikan kompornya
  • jika x habis dibagi dua maka tuliskan bahwa x bilangan genap
kelebihan struktur pemilihan adalah pada kemampuan yang memungkinkan pemroses mengikuti aksi berdasarkan pada kondisi yang ada.

Pengulangan
Kita pasti sudah paham dan mengerti, bahwa komputer dapat mengerjakan yang berulang-ulang, dan tidak pernah lelah. Anda bisa bayangkan seandainya anda disuruh menuliskan nama anda sendiri di selembar kerta sebanyak 100 kali, karna anda mengantuk di kelas sewaktu pelajaran sedang berlangsung.
Jika diselesaikan  secara algoritma seperti ini:
  1.  nama saya adalah sifulan
  2. nama saya adalah sifulan
  3. nama saya adalah sifulan
100. nama saya adalah sifulan
Untuk mengatasi hal itu, maka gunakan struktur pengulangan terbatas ( for ....do ) sehingga algoritmanya menjadi
    for i = 1 : 100 do
          tulis "nama saya adalah sifulan"
dimana i adalah pencacah pengulangan dari 1 sampai 100

Referensi :
Rinaldi Munir, 2004. Algoritma dan Pemrograman dalam Bahasa Pascal dan C. Penerbit Informatika Bandung
Read More

Saturday, 6 February 2016

Unknown

KONSEP TIPE DATA




Konsep Tipe Data dalam bahasa pemrograman memiliki standar, yaitu tipe, dan pengenal. tipe data yang berlaku dalam bahasa pemrograman tidak sama antara bahasa pascal dengan basic dan lainnya. Konsep Data sebagai pelengkap dalam penggunaan algoritma pada bidang komputer, akan dijabarkan pada tulisan ini adalah tentang konsep tipe data dengan menggunakan bahasa pemrograman Pascal.


Bahasa Pascal
Adalah salah satu bahasa pemrograman tingkat tinggi yang berorientasi pada segala tujuan. Pelopor program Pascal adalah Prof. Niklaus Wirth. Untuk pertama kali dikenal pada komputer CDC 6000 (control data corporotion) yang dipublikasi pada tahun 1971 dengan tujuan membantu mengajar program komputer (structured programming).

Strukutur program pascal terdiri atas: 

  1. Judul program
  2. Blok program, terbagi dua yaitu: bagian deklarasi dan bagian pernyataan, Bagian deklarasi terdiri: deklarasi tabel, deklarasi konstanta, deklarasi tipe, deklarasi variabel, deklarasi prosedur, dan deklarasi fungsi,  
  3. Bagian pernyataan, berisi statement-statement
BentuK umum Konsep tipe data
Type pengenal  = tipe
Pengenal            = nama yang menyatakan tipe data
Tipe                    = tipe data yang berlaku

Tipe dasar sudah kita kenal dalam kehidupan sehari-hari, dalam pemrograman tipe dasar ini meliputi: bilangan lojik, bilangan bulat, karakter, bilangan riil dan string.

Bilangan lojik adalah boolean,  hanya mengenal dua buah nilai yaitu benar atau salah ( konversi angka 1 mewakili benar atau 0 mewakili salah)

Bilangan bulat adalah bilangan yang tidak mengandung pecahan, dan nama tipe bilangan bulat adalah integer.  Dalam bahasa turbo pascal dinyatakan dalam byte, shortint, word, integer, dan longint. Sebagai contoh penulisan dua buah peubah X dan Y, maka deklarasi sebagai berikut:
Var
    X   : byte
    Y   : integer
Operasi yang digunakan dalam bilangan bulat ada dua macam yaitu: operasi aritmatika, dan operasi perbandingan.
Contoh operasi aritmatika
3 + 10
5 * 15
10 div 3               (hasil: 3)
10 mod 3            (hasil:1)

Div=bagi
Mod=sisa hasil bagi

Contoh operasi perbandingan
2 < 8
74 > 103
17 = 17

Tipe terstruktur
Adalah tipe data yang berbentuk rekaman (record). Dan nama rekaman yang memberi adalah pemrogram
Contoh  1:
 Field 1                                 field 2                   field 3                                   field n

Contoh 2:
Mendifinisikan tipe titik
“titik dalam koordinat kartesian dinyatakan sebagai x,y. Dengan x adalah nilai absis sumbu x dan y nilai ordinat sumb y, maka dituliskannya

 Type titik : record < x : real y : real >

Sedangkan contoh lain, misalkan mendefinisikan tipe tanggal, anggap hari ini dinyatakan sebagai tanggal (dd), bulan (mm), dan tahun (yy) maka ditulisnya

 Type tanggal : record
                              <dd : integer, ( 1 . . 31)
                                mm: integer, (1 . . 12)
                                yy : integer, ( > 0 ) >

Semoga ada manfaat dan next akan saya share terkait dengan lanjutan tulisan konsep tipe data yaitu struktur runtunan, pemilihan dan pengulangan.


Referensi :

  • H.M. Jogiyanto, 1988. BASIC. Andi Offset, Yogyakarta 
  • Yulikuspartono, 2004. Pengantar Logika dan Algoritma. Penerbit Andi, Yogyakarta
  • Rinaldi Munir, 2004. Algoritma dan Pemrograman dalam Bahasa Pascal, Penerbit Informatika. Bandung

Read More
Unknown

LOGIKA DAN ALGORITMA


Komputer adalah alat bantu yang dapat memecahkan berbagai masalah. Pada tulisan  ini, akan disajikan bagaimana komputer mampu memecahkan masalah dari yang sederhana sampai yang rumit.  Kita sudah mengenal apa itu algoritma, terutama bagi yang menyenangi matematika. Karena algoritma didefinisikan “ urutan dari langkah-langkah instruksi  yang terintegrasi”.

Pada awalnya algoritma disampaikan oleh ahli matematika Abu Jafar Muhammad Ibnu Musa Al Khawarizmi, bahwa algoritma adalah suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata.  Dengan demikian algoritma hakikatnya merupaka suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan alat bantu (komputer). Karena komputer merupakan sebuah perangkat (hardware) perlu ada software dan brainware.  Istilah lain dalam software adalah pemrograman, dan yang membuat program adalah brainware (manusia).

Penulisan program diperlukan diagram alur pemecahan.  Maka disinilah algoritma sangat diperlukan dan dibutuhkan oleh si pembuat program. Berikut tips memilih algoritma yang baik berdasarkan kriteria, yaitu

  1. Kriteria ada output yang dihasilkan dari pemecahan masalah.  
  2. Efektif dan efisien, solusi yang ditawarkan sesuai dengan masalah dan proses penyelesaian singkat.  
  3. Jumlah langkah berhingga, sekumpulan instruksi yang dibuat harus dalam urutan tertentu dan berhingga ( ingat kriteria ke-2). 
  4. Berakhir, artinya proses dalam pencarian penyelesaian harus ada akhir. 
  5. Terstruktur, artinya urutan dari langkah yang digunakan disusun tidak berbelit-belit.

Kalau Anda belajar pemrogaman, maka pembahasan algoritma yang dikenalkan lebih pada teoritis, Anda tidak perlu risau, pusing, dan lainnya. Nikmati saja karena beberapa istilah, pengertian dan definisi seperti prosedur, semi algoritma dan algoritma menjadi modal anda ketika mengimplementasikan dalam memrogram di komputer.  Cara agar bisa fokus, apresiasikan dalam kehidupan sehari-hari anda sudah melakukan dan mengerjakan dengan baik. Simak kasus kehidupan sehari-hari berikut ini (semua orang sudah mengalami), yaitu :  Anda mengirimkan sepucuk surat kepada pacar anda, PASTI langkah-langkah seperti berikut:

  1. Tulis surat pada selembar kertas putih yang kosong
  2. Ambil sampul surat atau amplop
  3. Masukan surat yang sudah ada tulisan ke dalam amplop
  4. Tutup dan lem amplop surat yang sudah ada tulisannya
  5. Tulis alamat pacara anda di amplop, dan tempelkan perangko secukupnya
  6. Bawa amplop ke kantor pos yang terdekat atau kotak bis surat

Contoh lain
Anda mendapat tugas dari guru untuk mengurutkan hasil nilai ujian sejumlah mahasiswa. Langkah-langkahnya :

  • Cari nilai terbesar di antara n buah data (mahasiswa)
  • Tempatkan nilai terbesar tersebut pada posisi yang tepat
  • Ulangi dari langkah 1 untuk n-1 dari data yang lain  (Rinaldi Munir, 2004)

Kita lanjutkan pembahasan algoritma. Dari dua contoh tersebut, semua orang(ketika menjadi siswa)  pasti sudah melakukannya.  Disini akan kita coba “mengetahui proses terjadinya suatu algoritma. ( Yulikuspartono, 2004)

  1. Bagaimana merencanakan suatu algoritmaTentukan model sebagai penyelesaian suatu masalah agar diperoleh solusi yang mungkin, lalu ambil yang terbaik dari berbagai variasi yang muncul.
  2. Bagaimana menyatakan suatu algoritmaSetelah model ditentukan, tulis dengan bahasa semu (pseudocode) yaitu bahasa sehari-hari (jelas, dan terstruktur) dan buat diagram alur (susunan alur logika dari suatu permasalahan. Contoh mempertukarkan isi  dua ember. Misalkan ember A berisi air warna merah sedangkan ember  B berisi air warna biru. Maka algoritmanya adalah (a) Tuangkan air ember A ke dalam ember C, (b) Tuangkan air ember B ke dalam ember A; (c) Tuangkan air ember C ke dalam ember B. 
  3. Bagimana validitas suatu algoritmaAdalah kenyakinan jika permasalahan sudah memenuhi solusi yang diinginkan bukannya menimbulkan permasalahan baru
  4. Bagaimana menganalisanya
  5. Untuk ini diperlukan running time, bahwa pemecahan masalah waktu tempuh yang digunakan serta memori yang digunakan adalah masalah tidak
  6. Bagaimana mengujinya
  7. Setelah tahap demi tahap terlampaui, maka bahasa program yang digunakan diuji program dengan menggunakan komputer  apa ada fase debungging, adalah proses eksekusi apada koreksi (error) baik sisi logika maupun sintaks dan fase profilling  adalah program yang sudah bisa dieksekusi dalam waktu tempuhnya dalam menyelesaikan suatu algoritma.

Langkah krusial dalam algoritma adalah, satuan waktu yang ditepuh oleh algoritma dalam menyelesaikan suatu masalah dan hal-hal yang mempengaruhi waktu tempuh di analisis untuk mengetahui:  algoritmanya banyak langkah apa tidak (proses menyelesaikan butuh waktu lama); data yang diinputkan besar dan tipe data tepat atau tidak, dan komputer yang digunakan
Memenuhi (spesifikasi yang diperlukan) mendukung dan sebagainya.


Referensi :
1.       H.M. Jogiyanto, 1988. BASIC. Andi Offset, Yogyakarta
2.       Yulikuspartono, 2004. Pengantar Logika dan Algoritma. Penerbit Andi, Yogyakarta
Read More