Jumat, 15 Januari 2010

Ringkasan Algoritma

PENGERTIAN Algoritma

Algoritma adalah sebuah strategi yang mengandalkan kemampuan berpikir secara logis untuk memecahkan suatu masalah. Dalam proses algoritma kita mengenal input,prosesdan output

Sehingga dengan Algoritma kita bisa memecahkan suatu masalah dan dengan kekuatan dan kelemahan serta daya piker yang kita miliki selanjutnya kita atur langkah atau strategi untuk mencapai tujuan atau sasaran yang kita harapkan dapat terwujud.

Dalam memecahkan suatu masalah dengan Algoritma maka algoritma dapat di bagi menjadi dua yaitu :

1.Algoritma Deskripsi/pemaparan

2.Algoritma flowchart

1. Algoritma Deskripsi/pemaparan adalah dimana dalam penyelesaian suatu permasalahan kita bisa jabarkan dengan kalimat sesuai langkah–langkah apa yang kita lakukan untuk memecahkan /menyelesaikan masalah tersebut.

Contoh Algoritma deskripsi mencari Luas persegi panjang dimana kita dapat menyelesaikannya dengan memaparkan langkah-langkahnya yaitu:

1.masukan panjang persegi panjang.

2.masukan lebar persegi panjang.

3.masukan rumus persegi panjang(Luas=panjang x lebar)

4.Tampilkan hasil (luas hasil)

Langkah langkah dari penyelesaian tersebut di atas yang disebut Algoritma deskripsi /pemaparan,sedangkan

2. Algoritma Flowchart adalah pada intinya sama dengan Algoritma deskripsi dimana pada flowchat didalam proses ditambahkan kode/simbul- simbul tertentu atau yang disebut diagram alir, Diagram alir ini selain dibutuhkan sebagai alat komunikasi, juga diperlukan sebagai dokumentasi. Dan sebelum lebih jauh memahami komponen-komponen diagram alir, maka perlu kiranya disampaikan aturan-aturan dalam perancangan diagram alir tersebut, yaitu :

1. Diagram alir digambarkan dengan orientasi dari atas ke bawah dan dari kiri ke kanan;

2. Setiap kegiatan/proses dalam diagram alir harus dinyatakan secara eksplisit;

3. Setiap diagram alir harus dimulai dari satu Start State dan berakhir pada satu atau lebih Terminal Akhir/Terminator/Halt State;

4. Gunakan Connector dan Off-Page Connector state dengan label yang sama untuk menunjukkan keterhubungan antar path algoritma yang terputus/terpotong, misalnya sebagai akibat pindah/ganti halaman.

Contoh flowchart :

Berikut ini adalah pembuatan flowchart untuk menyelesaikan masalah :

1.menentukan luas persegi panjang




















Dimana proses dari diagram alir ini adalah jika kita setat masukan nilai panjang dan nilai lebar maka akan di proses luas panjang x lebar dan hasilnya akan di tampilkan pada outputnya perkalian nilai yang di input setelah didapat hasil diakhiri stop untuk mengakhiri proses.

Component component/symbol dari algoritma flowchart.






















DECISION

Adalah setruktur seleksi yang menyatakan pemilihan langkah yang didasarkan pada suatu kondisi benar dan salah. Decision disimbulkan dengan simbul belah ketupat



Decision / Pencabangan (keputusan)

Di dalam penggunaannya jika Cuma ada 2(dua) permasalahan decision di pakai haya satu saja,jika permasalahan ada tioga maka dicision digunakan 2 dua decision,begitujuga jika permasalahan ada 4 (empat) maka decision digunakan 3 decision


Contoh :

I Decision untuk menentukan katagori jarak jauh

dan dekatnya suatu daerah dengan menggunakan kendaraan antara Tabanan dengan Denpasar, jika jarak yang ditempuh lebih dari satu jam di katagoriokan “jauh” dan sebaliknya jika di tempuh kurang dari satu jam di katagorikan “dekat”maka kita dapat membuat flowchart dengan menggunakan 1 Decision seperti gbr dibawah:























Dimana alur dari pada plowchart ini bisa kita jelaskan sebagai berikut Jika kita memasukan nilai 45 maka ditanya apakah 45 lebih besar sama dengan 60 “tidak” maka ditampilkan dekat dan program ditutup jika jawabannya yam aka ditampilkan “jauh” kemudian program ditutup

Meskipun banyak cara untuk menuliskan sebuah algoritma, tetapi diharapkan algoritma yang ditulis dapat dimengerti oleh orang lain. Misalnya Anda sebagai seorang analis sistem, jangan sampai algoritma yang Anda tuliskan dipersepsikan berbeda oleh programmer. Maka, ada norma-norma atau aturan–aturan tertentu yang berlaku secara internasional agar semua praktisi komputer akan mend

apatkan persepsi yang sama atas sebuah algoritma.

Algoritma yang dibuat dengan kalimat memiliki kelemahan, yakni hanya akan dimengerti oleh praktisi yang mengerti bahasanya. Begitu juga yang menggunakan gabungan kalimat dan statemen bahasa pemrograman hanya dimengerti bagi yang mengetahui bahasa tersebut.

Membangun sebuah program pada dasarnya adalah membuat alat bantu untuk menyelesaikan suatu masalah. Sebelum kita dapat menghasilkan program yang mampu membantu kita menyelesaikan masalah tersebut, kita dihadapkan pada 3 (tiga) tahapan pokok, yaitu :

§ Memahami permasalahan dan tujuan sebuah program dibuat. Pada tahap ini kita harus mampu mengidentifikasi jenis, bentuk dan karakteristik input serta output yang diharapkan. Tetapi untuk skala permasalahan yang besar, selain jenis, bentuk dan karakteristik, kita juga perlu mengetahui dengan pasti asal, frekuensi dan volume data input serta tujuan, frekuensi dan volume data output yang diharapkan;

§ Mampu menyusun konsep/rancangan/desain penyelesain dari masalah yang akan kita selesaikan. Dari hasil pemahaman kita terhadap permasalahan di atas, kita harus mampu merancang sebuah alur proses untuk mengolah data input dan menghasilkan data output dengan jenis, bentuk dan karakteristik seperti yang diharapkan;

§ Mampu mengimplementasikan hasil rancangan kita dalam bentuk program yang terstruktur. Program tersebut dapat kita buat dengan menggunakan sebarang bahasa pemrograman. Untuk itulah kita diharuskan mema

hami dan menguasai komponen bahasa pemrograman dan teknik pemrograman dengan baik.

Untuk tahap pertama, kiranya hanya dengan sering berlatih dalam mengamati dan memahami suatu permasalahan akan semakin terasah.

Pada tahap kedua hasil pengamatan dan pemahaman terhadap permasalahan riil harus dituangkan ke dalam sebuah bentuk alur penyelesaian masalah. Ini yang seringkali disebut sebagai algoritma. Terdapat sebuah alasan mengapa harus merumuskan penyelesaian masalah tersebut ke dalam bentuk alur yang terstruktur. Hal ini disebabkan komputer sebagai alat bantu yang berupa mesin tidak mampu menyelesaikan masalah seperti manusia yang seringkali berpikir tidak terstruktur. Komputer hanya mampu diberi perintah secara berurutan dan mengoptimalkan kemampuan komputer melakukan komputasi dengan cepat dan dalam jumlah besar.

Selanjutnya pada tahap ketiga, hasil penyusunan alur penyelesaian masalah (yang sudah terbentuk dalam format algoritma) diaplikasikan ke dalam komputer melalui penulisan sebuah program dengan menggunakan bahasa pemrograman. Proses ini lazim disebut

sebagai coding.

Sebuah program pada dasarnya berisi rangkaian instruksi yang saling terkait satu dengan lainnya (membentuk alur proses) dan tersusun secara terstruktur sedemikian hingga apabila program tersebut dijalankan akan dapat menghasilkan output seperti yang diharapkan. Pada sebarang bahasa pemrograman, alur instruksinya akan sama untuk masalah yang sama, perbedaannya hanya terletak pada cara penulisan instruksi (sintaks) yang berbeda antara satu bahasa pemrograman dengan bahasa pemrograman yang lain, seperti halnya pada bahasa yang digunakan untuk berkomunikasi antar manusia. Karena alur dan bentuk rangkaian instruksi itulah yang mewakili logika pemikiran dalam menyelesaikan masalah tersebut, atau sering disebut Algoritma. Dikatakan algoritma karena alur pemikiran tersebut ditulis dalam bentuk yang terstruktur sedemikian hingga mudah untuk diimplementasikan menjadi sebuah program melalui bahasa pemrograman sebarang.untuk itu maka sebagai calon progremer yang harus dikuasai adalah dasar dasar pemerograman/fitur bahasa pemerograman:decision,loping,punction/procudur,array sehingga semua bahasa pemerograman bisa kita jalankan.

Kesalahan dalam program bisa terjadi karena dua hal :

  1. kesalahan penulisan statements
  2. kesalahan logika

jika dalam kesalahan penulisan, maka compiler atau interpreter komputer akan meberi tahu kesalahan tersebut. Namun untuk kesalahan

logika, programmer sendirilah yang harus menelusurinya. Itulah perlunya penyusunan suatu algoritma (terutama untuk program-program besar) agar penelusuran logika itu dapat cepat ditemukan.


Looping

Looping ada dua yaitu

a. Looping Tunggal

b. Nested Loopin

a.Looping Tunggal

Perintah ini berkaitan dengan pengulangan semua perintah yang ada di antara perintah pembuka dan penutup pengulangan. Beberapa contoh perintah tersebut dapat dilihat di bawah in (DO WHILE – ENDDO, REPEAT - UNTIL, FOR – NEXT).

  1. DO WHILE – ENDDO

Bentuk umum penulisannya :

DO WHILE {kondisi}

{Statements}

ENDDO

  1. REPEAT – UNTIL

Bentuk umum penulisannya :

REPEAT

{Statements}

UNTIL {kondisi}

  1. FOR – NEXT

Bentuk umum penulisannya :

FOR var = op1 TO op2 [STEP op3]

{Statements}

NEXT (var)

Keteranga

n :

var : variabel numerik

op1 : operand 1, bisa berupa angka atau variabel numerik

op2 : operand 2, bisa berupa angka atau variabel numerik

op3 : operand 3, bisa berupa angka atau variabel numerik

[ ] : bersifat optional (boleh ditulis maupun tidak)



b. Nested Looping

Selain looping tunggal, ada juga looping yang berada dalam looping lain. Cara penulisannya jangan sampai skema looping tersebut saling berpotongan. Contoh skema dan penulisannya dapat diikuti di bawah ini:











letak kesalahan pada variabel i dan j yang bersilangan dalam loop-nya.

Statements dan Kondisi (Keputusan)

a. Kondisi Tidak Bertingkat

Perintah-perintah ini berisi mengenai langkah selanjutnya yang akan dilakukan bila kondisi terpenuhi. Atau langkah selanjutnya bila kondisi tidak terpenuhi. Perintah-perintah itu meliputi IF – ENDIF, dan DO CASE – END CASE. Sekali lagi, bentuk penulisan di sini harus disesuaikan dengan aturan di bahasa pemrograman yang Anda gunakan.

Berikut beberapa perintah ya

ng berkaitan dengan kondisi dalam sebuah pemrograman.

  1. IF – ENDIF

Bentuk umum penulisannya :

IF {kondisi}

{statements}

[ELSE]

{statements}

  1. DO CASE – END CASE

Bentuk umum penulisan:

DO CASE

CASE {kondisi}

{statements}

[CASE {kondisi}]

{statements}

[...]

[...]

[OTHERWISE]

{statements}

END CASE

Kondisi Bertingkat

Selain kondisi tunggal, ada juga kondisi yang berada dalam batas kondisi lain. Cara penulisannya jangan sampai skema batas kondisi tersebut saling berpotongan.

Contoh skema dan penulisannya dapat diikuti di bawah ini :

















FUNGSION

Depfinisi Fungsi /sub program adalah bagian dari kode program yang terpisah dari program utama.biasanya kode ini di eksekusi bila di perlukan untuk melibatkan tindakan khusus dalam program, fungsion ini di gunakan untuk menyelesaian masalah dimana seorang programmer dituntut untuk penyelesaikan masalah tersebut secara hemat,praktis dan hasil yang dicapai maksimal.

Contoh: jika kita menyelesaikan masalah/membuat program menghitung luas persegi panjang lebih dari satu maka kita bisa menggunakan program yang konpensionsldan juga bisa menggunakan cara simple dan peraktis dengan menggunakan fungsion.

CARA COMPENSIONAL:




















Menggunakan fungsion:






















kelebihan kalau kita menggunakan fungsion di bandingkan menggunakan conpensional adalah jika kita menggunakan cara conpensional maka untuk menyelesaikan satu luas persegi panjang kita perlu 5 baris untuk menyelesaikannya sedangkan untuk menyelesaikan contoh diatas ada3 luas persegi panjang maka dikalikan 5 baris untuk menyelesaikan nya jadi tatal baris adalah 15baris untuk menyelesaikan contoh diatas sedangkan kalau menggunakan fungsion kita perlu 6 baris untuk menyelesaikan tiga luas persegi panjang tersebut.sehingga penyelesaian menggunakan fungsion sangat praktis dan simple.


Kesan dan pesan

Saya bersukur bisa kuliah di STIKOM BALI walaupun kesan pertama kurang memuaskan terhadap rekrutmen calao mahasiswa baru dimana calon mahasiswa baru datang kekampus mencari informasi tidak mendafat pelayanan dengan baik serasa kami sudah tahu seluk beluk kampus stikom padahal kami pertama kali datang ke kampus setikom dan tidak tahu apa apa dan bertanya kesana sini mencari informasi untuk calan mahasiswa baru namun yang ditanyapun calon mahasiswa baru yang ada melihat informasi dan mereka tidak tahu juga harus bagaimana sehingga kami diam sambil menunggu pegawai yang lewat pakai kostum baju stikom untuk ditanya info yang jelas tentang apa yang harus kami lakukan. Begitu juga dengan kuliah kami yang Perdana mendapat sambutan yang tidak berkesan karena pasilitas yang ada tidak bisa di oprasikan dengan baik sehingga proses belajar menjadi tidak nyaman,namun kewajiban mahasiswa harus di tepati tepat waktu kalau tidak kena administrasi keterlambatan.

Saran saya kepada STIKOM BALI

agar Pelayanan rekrutmen mahasiswa baru ditingkatkan dan di pandu untuk mendafatkan Iformasi yang jelas dan tepat,untuk fasilitas kampus kami memaklumi dengan kondisinya namun pasilitas public yaitu waifi kampus supaya aktif setiap hari karena kami perlu untuk mencari informasi tugas tugas yang dibebankan pada kami serta di pertimbangkan kondisi campus dengan sangsi administrasi keterlambatan.

Setelah sekian kali pertemuaan dengan dosen pengajar di kampus STIKOM BALI saya merasa ada dua dosen cara mengajarnya simple dan bisa ditrima dengan baik menurut saya yaitu Algoritma dan struktur dataI yang berikan oleh bapak Dody Sanjaya dan matematika Diskrit oleh Ibu Ika Marini sedangkan dosen yang lain memberi materi terlalu cepat dan lompat lompat, saya pikir dosennya punya persepsi terhadap mahasiswa Eksekutif

Lebih senior dan sudah tahu padahal kami kuliah ke STIKOM BALI tidak tahu apa apa oleh karena itu kami sarankan supaya persepsi yang begitu di hilangkan dan diganti dengan persepsi bahwa mahasiswa yang datang menuntut ilmu di setikom bali tidak tahu apa apa dan kami perlu tuntun dan pandu untuk melangkah sehingga kami pulang dari stikom bali sudah mengerti dan ilmunya bertambah serta semoga STIKOM BALI menjadi yang terbaik.

Demikianlahlah kesan dan pesan yang dapat saya amati selama perkuliahan yang berlangsung selama ini saya ikuti dan jika ada kata kata atau klalimat yang tidak berkenan dihati saya minta maaf yang sebesar besarnya demi kemajuan dan kejayaan STIKOM BALI.


Terima kasih


Selengkapnya...