ARTIKEL ALGORITMA , FLOWCHART, DAN RAPTOR NAMA : AKHMAD ZAKKI GHUFRON KELAS : TF-D NPM : 1334010127 ALGORITMA A. pengertian Algoritma adalah Sistim kerja komputer memiliki brainware, hardware, dan software. Tanpa salah satu dari ketiga sistim tersebut, komputer tidak akan berguna. Kita akan lebih fokus pada softwarekomputer. Software terbangun atas susunan program (silahkan baca mengenai pengertian program) dan syntax (cara penulisan/pembuatan program). Untuk menyusun program atau syntax, diperlukannya langkah-langkah yang sistematis dan logis untuk dapat menyelesaikan masalah atau tujuan dalam proses pembuatan suatu software. Maka,Algoritma berperan penting dalam penyusunan program atau syntax tersebut. Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita. dalam dunia komputasi, contoh penggunaan Algoritma adalah dalam pembuatan program pada bahasa pemrograman seperti bahasa C, C#, dan Visual Basic. Dengan syntax pada tiap bahasa pemrograman dan Algoritma, maka akan tersusun program-program dan terlahirlah software. B. Fungsi Algoritma Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Namun, seorang user harus mampu membuat suatu program dengan menggunakan bahasa yang difahami oleh komputer. Sebelum disajikan dalam bentuk bahasa pemrogaman, sebaiknya kita membuat diagram alir (Flow Chart) dan Pseudocode. Hal ini dimaksudkan agar dapat mempermudah kerja atau mempermudah dalam membuat program. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika dengan cara berurutan, tetapi kadangkadang algoritma tidak selalu berurutan, hal ini dikenal dengan proses percabangan. Jadi kesimpulannya 1. Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan .2. Fungsi algoritma adalah untuk mempermudah kerja atau memudahkan kita dalam membuat program atau biasa di sebut sebagai Problem Solving. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika 3. Kriteria program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat. Flowchart Pengenalan Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman. Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahsa pemrograman. Simbol-simbol flowchart Flowchart disusun dengan simbol-simbol. Simbol ini dipakai sebagai alat bantu menggambarkan proses di dalam program. Simbol-simbol yang dipakai antara lain : - Flow Direction symbol Yaitu simbol yang digunakan untuk menghubungkan antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga connecting line. - Terminator Symbol Yaitu simbol untuk permulaan (start) atau akhir (stop) dari suatu kegiatan - Connector Symbol Yaitu simbol untuk keluar – masuk atau penyambungan proses dalam lembar / halaman yang sama. - Connector Symbol Yaitu simbol untuk keluar – masuk atau penyambungan proses pada lembar / halaman yang berbeda. - Processing Symbol Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer - Simbol Manual Operation Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer - Simbol Decision Simbol pemilihan proses berdasarkan kondisi yang ada. - Simbol Input-Output Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya - Simbol Manual Input Simbol untuk pemasukan data secara manual on-line keyboard - Simbol Preparation Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage. - Simbol Predefine Proses Simbol untuk pelaksanaan suatu bagian (sub-program)/prosedure - Simbol Display Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer dan sebagainya. - Simbol disk and On-line Storage Simbol yang menyatakan input yang berasal dari disk atau disimpan ke disk. Cara pembuatan Flowchart Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu; 1. 2. 3. Input berupa bahan mentah Proses pengolahan Output berupa bahan jadi. Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu; START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah. READ: berisi instruksi untuk membaca data dari suatu peralatan input. PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca. WRITE: berisi instruksi untuk merekam hasil kegiatan ke perlatan output. END: mengakhiri kegiatan pengolahan Gambar berikut memperlihatkan flowchart dari kegiatan dasar diatas. Dari gambar flowchart di atas terlihat bahwa suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran yaitu: Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat Penggambaran flowchart yang simetris dengan arah yang jelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. RAPTOR - Flowchart Interpreter - ( Software untuk membuat Flowchart ) RAPTOR merupakan pemrogramanyang berbasis flowchart, RAPTOR dirancang khusus untuk membantu memvisualisasikan algoritma yang telah kita buat. Program RAPTOR diciptakan secara visual dan dieksekusi secara visual dengan menelusuri eksekusi melalui flowchart. Biasanya kita lebih suka menggunakanflowchart untuk mengekspresikan algoritma, dan lebih berhasil menciptakan algoritma menggunakan RAPTOR daripada menggunakan bahasa tradisional atau menulis flowchart tanpa RAPTOR. RAPTOR ditulis dalam kombinasi dari bahasa C # dan A # (port dari Ada untuk.NET Framework.) dan hanya didukung pada Windows. RAPTOR telah bereksperimen dengan Mono di Mac OS X dan Ubuntu. Versi Mac tidak berjalan sama sekali, tetapi RAPTOR dapat berjalan pada Ubuntu dengan beberapa fitur yang harus dihilangkan. RAPTOR memiliki beberapa mode, secara default kita memakai mode Novice. Mode Novice memiliki global namespace tunggal untuk setiap variabel. ModeIntermediate digunakan untuk membuat prosedur yang memiliki ruang lingkup mereka sendiri (memperkenalkan gagasan lewat parameter dan mendukung rekursi). Mode baru RAPTOR adalah mode yang berorientasi object, yaitu versi 2009. RAPTOR bebas untuk didistribusikan sebagai layanan kepada masyarakat.RAPTOR pada awalnya dikembangkan oleh dan untuk US Air Force Academy, Departemen Ilmu Komputer, namun penggunaannya telah menyebar dan RAPTOR sekarang digunakan untuk pendidikan di lebih 17 negara pada setidaknya 4 benua. RAPTOR juga di lengkapi dengan proses generate flowchart ke beberapa source code yang sudah banyak di kenal seperti C++, Java, C# dan lain-lain. Sehingga pengguna tidak perlu lagi membangun dari awal sebuah source code, karena dariflowchart yang telah di buat langsung di terjemahkan ke Source Code olehRAPTOR. Keunggulan dari software RAPTOR Interpreter Flowchart adalah dapat mengeksekusi flowchart yang telah di bangun menjadi sebuah visualisasi yang nyata, sehingga pengguna dapat mengetahui step by step flowchart yang mereka buat melalui eksekusi secara visual dalam tiap langkahnya. Selain itu kelebihan dari Raptor Interpreter Flowchart ini ada pada saat kita membuat flowchartdengan penulisan variabel, RAPTOR di dukung dengan adanya fitur Auto Complete seperti layaknya pada Pemrograman Visual Basic Gambar diatas merupakan interface dari RAPTOR. Disebelah kiri merupakan simbolsimbol yang dapat kita gunakan untuk membuat sebuahflowchart. Berikut adalah fungsi dari symbol-simbol diatas : Purpose Symbol Name Description INPUT Allow the user to enter data. Each data value input statement is stored in a variable. PROCESSING assignment statement PROCESSING Execute a group of instructions defined in the named procedure. In some cases some of the procedure arguments (i.e., variables) will procedure call be changed by the procedure’s instructions. OUTPUT output statement Change the value of a variableusing some type of mathematical calculation. Display (or save to a file) the value of a variable. Operator dan Fungsi Operator atau fungsi memerintahkan komputer untuk melakukan beberapa perhitungan pada data. Operator ditempatkan antara data yang dioperasikan (yaitu X / 3, Y +7, dll) sedangkan fungsi menggunakan tanda kurung untuk menunjukkan data tersebut beroperasi pada (yaitu sqrt (4.7), sin (2,9)). Ketika dieksekusi, operator dan fungsi melakukan perhitungan dan mengembalikan hasil. RAPTOR memiliki operator dan fungsi sebagai berikut : basic math : +, -, *, /, ^, **, rem, mod, sqrt, log, abs, ceiling, floor. trigonometry : sin, cos, tan, cot, arcsin, arcos, arctan, arccot. relational : =, !=, /=, <, >, >=, <=. logical : and, or, not. miscellaneous : random, Length_of. Operator matematika dasar dan fungsi yang termasuk biasa (+, -, *, /) serta beberapa yang tidak biasa. “**” dan “^” adalah exponentiation, seperti 2 ** 4 adalah 16, 3 ^ 2 adalah 9. rem (remainder) dan mod (modulus) mengembalikan sisa (apa yang tersisa) ketika operan kanan membagi operan kiri, contoh : 10 rem 3 adalah 1, 10 mod 3 adalah 1 juga. sqrt mengembalikan akar kuadrat, contoh : sqrt (4) adalah 2. log mengembalikan logaritma natural, contoh : log (e) adalah 1. abs mengembalikan nilai absolut, contoh : abs (-9) adalah 9. ceiling pada seluruh nomor, contoh : ceiling (3,14159) adalah 4. floor pada seluruh nomor, contoh : floor (10/3) adalah 3. “+” juga bekerja sebagai operasi concatenation untuk menggabungkan dua string atau string dan angka, contoh : “rata-rata adalah” + (Jumlah / Angka). length_of mengembalikan jumlah karakter dalam sebuah variabel string (juga jumlah elemen dengan sebuah array), contoh : Nama ← “Stuff” diikuti dengan Length_Of (Nama) adalah 5. Kita terbiasa dengan fungsi trigonometri (sin, cos, tan, cot, arcsin, arcos, arctan, arccot). Mereka bekerja pada berbagai unit yang bernilai radian. (kita harus mengkonversi dari derajat ke radian sebelum menggunakan fungsi tersebut.). arctan dan arccot adalah versi kedua parameter fungsi ini. (yaitu arctan (X / Y) ditulis dalam RAPTOR sebagai arctan (X, Y)). Dalam RAPTOR, operator relasional dan operator logika hanya dapat digunakan dalam pengambilan keputusan sebagai bagian dari statement Selection dan Loop. Operator relasional adalah != = (tidak sama dengan), / = (tidak sama dengan), <,>,> = dan <=. Operator relasional mengembalikan nilai “Boolean” dalam “True”atau “False” (ya atau tidak). Sebagai contoh, operasi X < Y akan mengembalikanTRUE jika nilai yang tersimpan dalam variabel X kurang dari nilai yang disimpan dalam variabel Y. Jika tidak nilai FALSE dikembalikan. Hasil dari operasi relasional dapat digunakan oleh operator logika. Operator logika didefinisikan oleh tabel berikut. Operan yang digunakan oleh operator logika harus bernilai “Boolean” (artinya nilai-nilai yang dikembalikan oleh operator relasional atau operator logis). Fungsi secara acak mengembalikan angka antara 0 dan 1, contoh : X ← secara acak bisa menjadi 0, 0,23, 0,46578, dll. Jika kita memerlukan nomor acak dalam kisaran yang berbeda maka kita bisa menggabungkan fungsi acak dengan operasi lain. Misalnya, random * 100 akan mengevaluasi ke angka antara 0 dan 100. ceiling (random * 100) akan mengevaluasi ke seluruh nomor antara 1 dan 100.