"Berpikir seperti insinyur, berkarya seperti seniman. Inovasi lahir dari keberanian untuk mencoba dan gagal. Jangan tunggu sempurna untuk memulai, mulailah untuk menjadi sempurna. Setiap baris kode adalah langkah kecil menuju perubahan besar. Kreativitas tanpa aksi hanyalah imajinasi.”

Saturday, October 22, 2022

Sistem Pendidikan VET dan Proses Sertifikasi di Prancis

  1. Sistem Pendidikan

Pembelajaran sepanjang hayat (formasi tout au long de la vie) meliputi pelatihan awal (pendidikan umum, profesional dan kejuruan, termasuk pemagangan) dan pelatihan kejuruan lanjutan untuk orang dewasa dan orang muda yang sudah terlibat dalam kehidupan kerja. Sejak 2009, setiap orang yang bekerja berhak atas kualifikasi profesional. Berdasarkan hak ini, pekerja (mandiri) dan pencari kerja dapat memilih kursus pelatihan yang memungkinkan mereka untuk maju dalam karir setidaknya satu tingkat, dengan memperoleh kualifikasi yang sesuai dengan kebutuhan ekonomi jangka pendek atau menengah. Kualifikasi ini harus dimasukkan dalam daftar nasional kualifikasi kejuruan (RNCP - Répertoire National des Certifications Professionnelles); diakui dalam klasifikasi sektor profesional, atau sertifikat kualifikasi profesional (CQP). Di samping program IVET formal yang mengarah pada kualifikasi yang dikeluarkan dan diakui oleh negara, berbagai badan menawarkan program pelatihan yang mengarah pada kualifikasi kejuruan sektoral dan sertifikat yang dikeluarkan oleh mereka. 

Pendidikan dan pelatihan kejuruan awal, termasuk magang, ditawarkan dari pendidikan menengah atas hingga pendidikan tinggi. Di akhir program pelatihan, peserta didik mengikuti ujian untuk mendapatkan kualifikasi. Setelah IVET, melanjutkan VET (CVET) memberikan kaum muda dan orang dewasa dengan kualifikasi untuk pasar tenaga kerja. Dalam pendidikan awal, setiap jalur mempersiapkan siswa untuk ujian untuk mendapatkan kualifikasi. Secara keseluruhan, ada sekitar 15.000 VET. Berikut ini adalah bagan VET dalam pendidikan dan pelatihan di Prancis.

Peserta didik yang telah menyelesaikan pendidikan menengah umum, dengan atau tanpa akhir pendidikan menengah pertama (Brevet des Collèges) dapat melanjutkan ke jalur umum, teknologi atau kejuruan menengah atas. Reformasi yang sedang berlangsung dari jalur kejuruan menengah atas dibuat untuk memperluas permeabilitas horizontal antara VET dan program pendidikan umum/teknologi.

  1. Proses Pengakuan Kompetensi

  1. Pelatihan kejuruan awal

Kementerian mengembangkan dan memberikan kualifikasi, gelar universitas dan sertifikat kejuruan atas nama Negara; yaitu terutama Kementerian Pendidikan Nasional dan Kementerian Pendidikan Tinggi, tetapi juga kementerian yang bertanggung jawab di bidang pertanian, ketenagakerjaan, sosial, pemuda dan olahraga, kesehatan dan budaya. Semua kualifikasi yang diberikan oleh Negara diakui secara nasional dan tidak kedaluwarsa.

  1. Pelatihan kejuruan lanjutan

Sistem pembelajaran sepanjang hayat memberikan beberapa kemungkinan pelatihan bagi kaum muda, orang-orang yang bekerja dan pencari kerja: kualifikasi yang diakui negara atau kualifikasi lain, misalnya yang diakui oleh sektor profesional, seperti CQP –sertifikat profesional kualifikasi. Selain program pembelajaran sepanjang hayat, pemerintah prancis juga menyediakan skema pelatihan dan sertifikasi untuk tahanan di penjara dan penyandang disabilitas. Program pembelajaran seumur hidup dapat dilihat pada tabel berikut ini. 


Sistem Pendidikan dan Proses Sertifikasi di Jerman

  1. Sistem Pendidikan

Pendidikan Kejuruan di Jerman terdiri dari pendidikan yang diatur pemerintah (negeri) dan pendidikan kejuruan lainnya (swasta). Berikut ini penjabaran untuk dua jenis lembaga pendidikan kejuruan tersebut:

  1. Pendidikan Kejuruan yang di atur pemerintah

Jerman, pendidikan formal wajib dimulai pada usia enam tahun dan berlangsung selama sembilan tahun (atau sepuluh tahun, tergantung pada negara bagian). Setelah itu, peserta didik yang tidak lagi mengenyam pendidikan formal harus mengikuti sekolah paruh waktu (vokasi) selama tiga tahun. Singkatnya, pendidikan wajib ada untuk orang berusia 6-18 tahun dan untuk magang (bahkan jika mereka berusia di atas 18 tahun). Setelah empat tahun sekolah dasar untuk semua, jalur pendidikan dibagi dalam 'sistem sekolah terbagi' yang terdiri dari program sekolah menengah pertama (sampai kelas 9 atau 10) dan program sekolah menengah atas (sampai kelas 12 atau 13). Bagan sistem pendidikan di jerman dapat dilihat pada gambar di bawah ini.

Pada bagan di atas, dapat diketahui bahwa pendidikan di Jerman terbagi menjadi 3 bagian, yaitu level dasar, level menengah lanjutan dan level tersier. Pendidikan VET di Jerman dimulai pada menengah atas, pasca sekolah menengah, dan tersier. Berikut ini adalah penjabaran pendidikan kejuruan tersebut: 

  1. VET di tingkat menengah atas

Ada berbagai program VET di tingkat menengah atas, baik di sekolah penuh waktu atau dalam kerangka sistem ganda (magang), yang merupakan inti dari VET di Jerman. Beberapa program menawarkan pelatihan persiapan; lainnya mengarah pada kualifikasi kejuruan yang memungkinkan akses ke pekerjaan yang relevan. Kualifikasi VET juga dapat diperoleh bersama dengan gelar sarjana selama program studi ganda (yaitu, di universitas ilmu terapan). Sistem ganda adalah sistem pendidikan yang dilakukan di dua tempat belajar: perusahaan dan sekolah kejuruan. Magang menghadiri sekolah kejuruan paruh waktu satu atau dua hari per minggu, di mana mereka terutama diajarkan pengetahuan teoretis dan praktis yang berkaitan dengan pekerjaan mereka; mereka menghadiri kelas pada mata pelajaran umum seperti ekonomi, ilmu sosial dan bahasa asing.

  1. VET di tingkat pasca-sekolah menengah

Secara umum, ada banyak jalur kemajuan antara pendidikan umum dan VET, dan dari VET sekolah menengah atas ke pendidikan tinggi, sebagian besar melalui pendidikan pasca sekolah menengah. Memang, program di tingkat pasca sekolah menengah bertujuan untuk meningkatkan permeabilitas antara pendidikan menengah (bagi pemegang sertifikat kelulusan menengah umum menengah) dan pendidikan tinggi, dengan memperoleh kualifikasi masuk pendidikan tinggi. Program VET pasca-sekolah menengah dapat dilihat pada tabel di bawah ini.

  1. VET di tingkat tersier

Sektor pendidikan tinggi terdiri dari berbagai jenis program dan institusi VET, yang disajikan dalam tabel berikut.

  1. Pendidikan kejuruan lainnya/pelatihan kejuruan

Selain kualifikasi kejuruan lanjutan yang diatur, terdapat berbagai ketentuan VET berkelanjutan, yang kurang diatur tetapi dipantau. Dalam dekade terakhir, mekanisme telah dikembangkan untuk meningkatkan transparansi dan kualitas dalam penyediaan CVET. VET yang dipromosikan secara publik ditargetkan pada berbagai kelompok, mulai dari pengangguran tanpa kualifikasi sekolah atau kejuruan hingga eksekutif. Tujuan, isi, dan durasi kursus berbeda-beda. Pelatihan berkelanjutan dalam perusahaan, yaitu CVET yang berkaitan dengan perusahaan atau kebutuhan terkait pekerjaan yang diselenggarakan oleh perusahaan, dapat dilakukan di dalam atau di luar perusahaan, tetapi perusahaan biasanya membayar provisi dan biasanya berlangsung selama jam kerja reguler. Ada sejumlah besar kesepakatan bersama yang memuat berbagai peraturan tentang penyelenggaraan pendidikan dan pelatihan berkelanjutan dalam berbagai bentuk, model dan fitur. Kira-kira 25% dari semua kontrak kerja di Jerman tercakup dalam perjanjian bersama yang mencakup peraturan untuk CVET

  1. Proses pengakuan kompetensi

  1. Penilaian dalam pembelajaran formal

Ujian akhir disesuaikan dengan persyaratan kerja dan proses pekerjaan yang relevan. Sebagai aturan, ujian akhir mencakup empat atau lima bidang yang relevan dengan pekerjaan. Kinerja dalam mata pelajaran umum, seperti bahasa dan matematika, dievaluasi dalam kerangka laporan sekolah. Tergantung pada pekerjaan, ujian ini mengambil berbagai bentuk. Durasi dapat bervariasi, terutama dalam penugasan yang berupa contoh pekerjaan dan/atau tugas pekerjaan, tetapi tidak boleh kurang dari satu dan tidak lebih dari tujuh jam secara keseluruhan (tidak termasuk persiapan dan pasca pemrosesan) . Untuk tugas tertulis biasanya diberikan waktu dua jam. Ujian lisan biasanya berlangsung 30 menit. Sertifikat dikeluarkan oleh badan yang berwenang. Struktur ujian ditetapkan oleh peraturan pelatihan terkait yang berlaku secara nasional dan menetapkan standar yang seragam.

  1. Validasi pembelajaran nonformal

Undang-Undang Pelatihan Kejuruan (BBiG), yang dikenal sebagai 'ExternenPrüfung' (pemeriksaan untuk kandidat eksternal, yaitu mereka yang tidak terlibat dalam program pelatihan kejuruan formal). Berdasarkan ketentuan ini, orang dapat mengikuti ujian akhir untuk pekerjaan yang diakui yang membutuhkan pelatihan formal (pekerjaan pelatihan) jika mereka memberikan bukti bahwa mereka telah dipekerjakan dalam pekerjaan yang relevan untuk jangka waktu setidaknya satu setengah kali dari yang ditentukan. untuk periode pelatihan awal.

  1. Penilaian dan pengakuan kualifikasi kejuruan asing

Undang-Undang Pengakuan Kualifikasi Kejuruan (BQFG), yang diperkenalkan pada April 2012, memberi individu hak agar kualifikasi yang diperoleh di luar negeri dicocokkan dengan kualifikasi Jerman oleh otoritas yang sesuai. Tergantung pada sektornya, penilaian dan pengakuan kualifikasi pekerjaan asing dilakukan oleh IHK Fosa (71) atau kamar utama ('Leitkammern'). Pelaksanaan Recognition Act dipantau dan didokumentasikan dalam laporan tahunan (72). Pada bulan Juni 2017, laporan tersebut mengevaluasi lima tahun pertama penerapan UU tersebut.


Contoh Kata Pengantar

 

KATA PENGANTAR


Puji syukur saya panjatkan kehadirat Allah SWT, yang telah memberikan rahmat serta pertolongan-Nya sehingga saya dapat menyelesaikan rangkuman sistem pendidikan vokasi di negara eropa dengan judul “Ringkasan Sistem Pendidikan Vokasi Di Negara Jerman, Perancis, Belanda, dan Inggris” ini sesuai dengan harapan. Tujuan ditulis ringkasan ini yaitu untuk memenuhi tugas Mata Kuliah Analisis Standar Keahlian dan Sertifikasi yang diampu oleh Bapak ..... .

Penulis mengucapkan terima kasih kepada semua pihak yang telah membantu terselesaikannya makalah ini. Makalah ini akan menjelaskan tentang sistem pendidikan vokasi di beberapa negara eropa terutama dikaitkan dengan masalah cara perolehan pengakuan kompetensi.

Penulis menyadari bahwa masih ada kekurangan dan kesalahan dalam ringkasan yang disusun. Oleh karena itu penulis mohon maaf atas kesalahan tersebut. Kritik dan saran dari senantiasa ditunggu oleh penulis guna meningkatkan kualitas tulisan ke depannya.

 

Purbalingga, 15 Oktober 2022

Penulis

 

 

Yoyon Fauzi

NIM. 0501522001


Tuesday, October 18, 2022

Secercah Semangat untuk Jiwa yang Gundah

Aku tau hari-harimu berat.
Dadamu sesak, kepalamu ramai.
Logikamu berperang melawan hati.
Bertahan sakit, meninggalkan sakit.
Kau bukan ksatria yang berwibawa.
Kau bukan bunda yang selalu tertawa.
Kau anak kecil bagi dirimu sendiri.
Kau perlu menjaga diri,
Merawat diri,
Memotivasi diri,
Menyayangi diri.
Perlakukanlah dirimu sendiri seperti anak kecil.
Kau butuh menangis?
Menangislah,
Aku ada disampingmu.
Menyeka air mata dipipimu.
Keluarkan saja, sampai benar-benar lelah.
Bagaimana?
Sudah lega?
Pejamkan matamu, ingatlah kembali dirimu damasa kecil.
Ingat lagi apa yang membuatmu sakit hati dan terbawa sampai detik ini.
Berdamailah dengan masa lalumu.
Berdamailah dengan diri sendiri.
Kamu kuat, kamu bisa, kamu hebat.
Jalanilah hari esok tanpa luka.
Berhentilah berharap pada dunia.
Kamu kuat berdiri dengan kakimu sendiri.
Kamu memiliki ekstra tenaga.
Gunakanlah tenagamu itu untuk kebaikan orang disekitarmu.
Tanpa mengharap kembali.
Tersenyumlah.
Aku yakin, senyum penutup laramu adalah awal kebahagiaanmu esok.
Semangat, meski hati ingin tidur.

Thursday, August 11, 2022

Belajar Bahasa C++ dan Software Compilernya

 


1. Jenis-Jenis Bahasa Pemrograman

Bahasa adalah suatu sistim untuk berkomunikasi. Bahasa tertulis menggunakan simbol

(yaitu huruf) untuk membentuk kata. Dalam ilmu komputer,bahasa manusia disebut bahasa alamiah (natural languages), dimana komputer tidak bisa memahaminya, sehingga diperlukan suatu bahasa komputer. Komputer mengerjakan transformasi data berdasarkan kumpulan perintah - program - yang telah dibuat oleh pemrogram. Kumpulan perintah ini harus dimengerti oleh komputer, berstruktur tertentu (syntax) dan bermakna.

Bahasa pemrograman merupakan notasi untuk memberikan secara tepat program komputer. Berbeda dengan bahasa alamiah, mis. Bahasa Indonesia, Inggris dsb. Yang merupakan bahasa alamiah(natural language), sintaks dan semantik bahasa pemrograman (komputer) ditentukan secara kaku, sehingga bahasa pemrograman juga disebut sebagai bahasa formal (formal language). Jadi, dalam bahasa pemrograman yang digunakan sebagai alat komunikasi untuk memberikan perintah kepada komputer tidak berlaku kebebasan berekspresi seperti laiknya dalam bahasa alamiah. 

Pemrograman dalam pengertian luas meliputi seluruh kegiatan yang tercakup dalam

pembuatan program, termasuk analisis kebutuhan (requirement's analysis) dan keseluruhan tahapan dalam perencanaan (planning) perancangan (design) dan pewujudannya (implementation). Dalam pengertian yang lebih sempit, pemrograman merupakan pengkodean (coding atau program writing = penulisan program) dan pengujiannya (testing) berdasarkan rancangan tertentu.

Pemahaman yang lebih sempit ini sering digunakan dalam pembuatan programprogram terapan komersial yang membedakan antara system analyst yang bertanggung jawab dalam menganalisa kebutuhan, perencanaan dan perancangan program dengan pemrogram (programmer) yang bertugas membuat kode program dan menguji kebenaran program. Generasi bahasa pemrograman:

• Generasi I: machine language

• Generasi II: assembly language : Asssembler

• Generasi III: high-level programming language: C, PASCAL, dan sebagainya.

• Generasi IV: 4 GL (fourth- generation language): SQL

Tabel 1 Jenis jenis bahasa pemrograman

2. Mengimplementasikan algoritma kedalam bahasa pemrograman

Menulis Pseudo-code

Pseudo code adalah algoritma yang bentuknya (strukturnya) sangat mirip dengan Bahasa pemrograman khususnya bahasa pemrograman terstruktur seperti pascal. Kemiripan ini merupakan keuntungan dari pseudo code karena implementasi atau penerjemahan algoritma ke dalam source code suatu bahasa pemrograman sangatlah mudah meskipun penggunaannya tidak sepopuler flow chart. Dalam penulisannya, pseudo code harus terdiri dari tiga bagian, yaitu :

1. Judul algoritma

Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) dari algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dapat dilakukan oleh algoritma tersebut.

2. Deklarasi

Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah atau variabel, tipe, prosedur, dan fungsi.

3. Deskripsi

Bagian ini berisi uraian langkah- langkah penyelesaian masalah yang ditulis dengan menggunakan aturan-aturan yang akan dijelaskan selanjutnya. Algoritma untuk mencari bilangan terbesar dari tiga bilangan acak yang dimasukkan dengan menggunakan pseudo code adalah sebagai berikut:

Menulis Program

Proses selanjutnya dalam membuat program adalah implementasi. Ada banyak jenis bahasa pemrograman yang dapat dipakai, namun di sini kita akan menggunakan bahasa C. Bahasa C dipilih karena bahasa ini menjadi semacam ibu dari bahasa pemrograman lain.

Banyak bahasa pemrograman yang dikembangkan dari bahasa C ini. Nantinya pemrograman mikrokontroler juga menggunakan bahasa C. Sebelum mulai menulis program kita perlu mengetahui struktur penulisan bahasa C.

3. Pengenalan Struktur Program C

Pemrograman bahasa C memiliki struktur program sebagai berikut :

Struktur program di atas adalah struktur utama, dalam implementasi program yang kompleks dan panjang pun harus mengikuti struktur utama di atas. Struktur tersebut wajib

diikuti agar program kita dapat di jalankan. Adapun contoh coding dengan bahasa C bisa dilihat di bawah :

Preprocessor

Preprocessor ada dua yaitu include dan define.

a. #include : Digunakan untuk memanggil atau menambahkan file header/file unit yang sudah dibuat sebelumnya. File header berisikan perintah atau fungsi yang telah didefinisikan.

Contoh penulisan:

 # include “stdio.h”

 # include “File1.h”

 Atau

 # include <stdio.h>

 # include <File1.h>

b. #define : Digunakan untuk mendefinisikan sebuah identifier/pengenal untuk menggantikan beberapa pernyataan yang ada pada header file.

Contoh penulisan:

 # define RI “Republik Indonesia”

 # define PBG “Purbalingga”

 # define pi 3.14

Komentar

Komentar program hanya diperlukan untuk memudahkan pembacaan dan pemahaman suatu program (untuk keperluan dokumentasi program). Dengan kata lain, komentar program hanya merupakan keterangan atau penjelasan program. Untuk memberikan komentar atau penjelasan dalam bahasa C digunakan pembatas /* dan */ atau menggunakan tanda // untuk komentar yang hanya terdiri dari satu baris. Komentar program tidak akan ikut diproses dalam program (akan diabaikan).

4. Software Compiler

Komputer hanya bisa mengerti bahasa mesin (0 & 1). Compiler adalah software yang bertugas menerjemahkan bahasa kode ke dalam bahasa mesin. Lebih mudahnya, compiler mengubah bahasa yang dimengerti manusia menjadi kode yang dapat dibaca mesin. Banyak software compiler yang bisa digunakan, namun untuk kebutuhan komputer saat ini (dengan sistem operasi windows 7 ke atas) kita bisa menggunakan software Turbo C++. Software ini dapat memproses bahasa C dan bahasa C++.

Pembelajaran jarak jauh yang sedang kita lakukan tidak memungkinkan untuk mempraktikan software Turbo C++. Akan tetapi, untuk belajar pemrograman dapat dilakukan di HP android. Kedepannya untuk praktik saya akan menggunakan aplikasi cxxdroid. Apabila terlalu berat di handphone bisa menggunakan aplikasi lain yang lebih ringan, seperti C/C++ Programing Compiler.


Tuesday, August 9, 2022

Belajar Pemrograman - Mengenal Algoritma dan Flowchart

 

  1. Pendahuluan

Sebelum memulai pemrograman, perlu diketahui terlebih dahulu apa itu pemrograman, mikroprosesor dan mikrokontroler. Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Mikroprosesor adalah alat yaang bekerja sebagai pusat pengendalian dan pengolahan pada sistem komputer mikro. Alat ini juga biasa disebut dengan Central Processing Unit atau CPU. Perlu diketahui bahwa mikroprosesor terdiri dari 3 bagian penting, yakni Arithmetic Logic Unit atau ALU, Register Unit atau RU, serta Control Unit CU. Sedangkan Mikrokontroler merupakan sebuah chip atau IC yang didalamnya sudah terdapat prosesor (ALU, CU & Register), memori dan periperal tambahan lain. Semua bagian tersebut dipadatkan dalam satu buah chip. Banyaknya periperal yang ada dalam mikrokontroler tergantung dari masing-masing tipe dan spesifikasi pabrik.

  1. Algoritma

Definisi Algoritma

Pemrograman dan algoritma adalah dua hal yang tidak dapat dipisahkan karena
pembuatan program akan lebih sulit dan lama tanpa mengetahui dengan pasti bagaimana algoritma penyelesaian masalahnya. Definisi algoritma adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah. Meskipun algoritma tidak dapat dipisahkan dengan pemrograman komputer tetapi jika anda beranggapan bahwa algoritma identik dengan pemrograman komputer, anda salah besar. Hal ini dikarenakan dalam kehidupan sehari-haripun seringkali kita berhadapan dengan masalah-masalah yang kalau kita cermati mengikuti kaidah-kaidah penyelesaian secara algoritma. Misalkan saja cara-cara memasak mie instan, membuat kopi atau teh, memasak makanan yang dinyatakan dalam bentuk resep, dan masih banyak lagi yang semuanya itu dapat kita sebut sebagai algoritma. Pada mie instan misalnya, biasanya pada bungkusnya terdapat urutan langkah- langkah bagaimana cara memasak atau menyajikannya. Bila langkah- langkah tersebut tidak logis, maka dapat dipastikan bahwa kita akan memperoleh hasil yang tidak sesuai dengan yang diharapkan. Kita harus membaca satu demi satu langkah- langkah pembuatannya kemudian mengikutinya agar memperoleh hasil yang baik. Yang harus diingat disini adalah kita tidak harus mengikuti langkah- langkah yang sudah diberikan, tetapi kita dapat memodifikasinya atau bahkan membuat resep atau cara baru yang lebih baik tetapi menghasilkan hal yang sama (mempunyai tujuan yang sama), yaitu dapat
menikmati hasil masakan. Demikian juga dengan pemrograman komputer, kita juga tidak harus mengikuti algoritma yang sudah ada, tetapi kita dapat menambah ataupun mengurangi bahkan membuat algoritma yang baru asalkan permasalahan yang ada dapat terpecahkan dengan baik.

Tahapan Pemrograman

Tahapan pembuatan program diawali dengan mendefinisikan masalah dan
menganalisanya. Hal ini mencakup penentuan tujuan pembuatan program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan. Langkah selanjutnya adalah merealisasikan program. Tahap realisasi ini dapat berlangsung secara berkesinambungan. Dikarenakan proses pembuatan program bisa sajamasih menemukan ketidaksempurnaan, sehingga perlu dilakukan perbaikan. Adapun langkah-langkah pembuatan program bisa dilihat dalam diagram berikut :

Gambar Diagram Alir Langkah-langkah Membuat Program

Ciri-ciri algoritma

Algoritma memiliki ciri-ciri yaitu ada input dan output, efektif dan efisien, serta terstruktur.
Sebuah algoritma dikatakan baik jika :

1. Tepat, benar, sederhana, standar dan efektif

2. Logis, terstruktur dan sistematis

3. Semua operasi terdefinisi

4. Semua proses harus berakhir setelah sejumlah langkah dilakukan

5. Ditulis dengan bahasa yang standar dengan format pemrograman agar mudah
untuk diimplementasikan dan tidak menimbulkan arti ganda. Oleh karena algoritma digunakan untuk memecahkan suatu permasalahan maka algoritma tersebut harus menghasilkan suatu jawaban atas permasalahan tersebut. Dengan kata lain algoritma harus memiliki paling tidak satu keluaran. Sedangkan masukan dari algoritma dapat nol (tidak ada) atau banyak masukan (data). Yang dimaksud dengan nol masukan adalah jika algoritma itu hanya untuk menampilkan suatu informasi saja. Misalnya output “Hello World” yang sering kita temukan pada tutorial- tutorial saat kita baru belajar membuat program dari suatu bahasa pemrograman tertentu. Kedua hal diatas, memiliki paling sedikit satu keluaran dan dapat memiliki nol atau banyak masukan, merupakan dua dari beberapa ciri algoritma. Tugas algoritma dikatakan selesai kalau algoritma tersebut sudah menghasilkan satu atau lebih jawaban atas permasalahan yang ada. Dengan demikian setelah mengerjakan langkah-langkah penyelesaian masalah, maka algoritma tersebut harus berhenti tidak melakukan proses apapun. Berhenti di sini artinya adalah jika diterjemahkan ke dalam bentuk program dan program dijalankan, maka setelah menghasilkan suatu output, program dapat langsung berhenti atau menunggu instruksi lebih lanjut dari pengguna program seperti mengulang perhitungan lagi, keluar program (menghentikan program), dan lain sebagainya. Dengan demikian ciri ketiga dari algoritma adalah setelah selesai mengerjakan langkahlangkah penyelesaian masalah, algoritma harus berhenti. Ciri keempat dari algoritma adalah setiap langkah yang dibuat harus dibuat sesederhana mungkin tetapi efektif agar dapat dipahami oleh pemroses (manusia maupun komputer) sehingga dapat diselesaikan dalam waktu yang singkat serta masuk akal. Sedangkan ciri yang terakhir adalah setiap langkah dalam algoritma harus didefinisikan dengan tepat dan jelas sehingga tidak berarti-dua (ambiguitas) sehingga menimbulkan kesalahan dalam penafsiran oleh pemroses.
Contoh algoritma sehari-hari

Untuk memahami algoritma lebih dalam, simak contoh algoritma aktifitas sehari-hari berikut ini. Dicontohkan sebuah permasalahan penukaran isi dari dua gelas. Diberikan dua buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air kopi. Pertukarkan isi gelas tersebut sehingga menghasilkan gelasA yang semula berisi air teh menjadi berisi air kopi dan gelas B yang semula berisi air kopi menjadi berisi air teh. Ilustrasi permasalahan ini dapat dilihat pada Gambar

Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi gelas dengan benar, maka diperlukan gelas tambahan yang kita namakan gelas C sebagai tempat penampungan sementara.Berikut Algoritmanya:

1. Siapkan gelas cadangan C

2. Tuangkan air teh dari gelas A ke dalam gelas C (gelas A menjadi kosong).

3. Tuangkan air kopi dari gelas B ke dalam gelas A (gelas B menjadi kosong).

4. Tuangkan air teh dari gelas C ke dalam gelas B.

Ilustrasi langkah-langkah algoritma dapat dilihat pada Gambar

Gambar Ilustrasi Penyelesaian Masalah

Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah gelas sangat sederhana. Disini digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Inilah yang dinamakan “Algoritma”, urutan penyelesaian sebuah permasalahan dengan urutan dan langkah yang logis dan masuk akal menghasilkan sesuatu langkah yang benar.

Contoh algoritma mencari luas lingkaran

Contoh lain penggunaan logika dan algoritma adalah membuat algoritma untuk
menghitung luas lingkaran, caranya:

1. Menentukan nilai jari-jari (r) lingkaran.

2. Menentukan nilai phi.

3. Menghitung luas lingkaran dengan cara mengkalikan nilai jari-jari (r) dengan (r) lalu dikalikan dengan nilai phi.

4. Maka luas lingkaran ditemukan.

5. Selesai. 

Saat membuat sebuah algoritma, sebaiknya jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu masalah itu serumit yang kita pikir. Pikirkan hal yang paling sederhana untuk menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi berfikir sederhana untuk menghasilkan solusi yang efektif. Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, mungkin kita
dihadapkan oleh beberapa pilihan algoritma. Oleh karena itu kita harus memiliki ramburambu dalam menentukan pilihan algoritma. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran sesuai seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, maka sudah pasti algoritma tersebut bukanlah algoritma yang baik. 

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini pentingterutama pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang hasilnya hanya berupa pendekatan. Algoritma yangbaik harus mampu memberikan hasil yang sedekat mungkin dengan nilaiyang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika kita harus menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan keluarannya maka biasanya algoritma tersebut biasanyatidak akan menjadi pilihan utama, setiap orang menginginkan keluaran yang relatif cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin jelek algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang mirip atau sama. 

Jika dihadapkan pada permasalahan seperti ini maka sebaiknya pilih algoritma yang paling efisien dan cepat. Tujuan dari belajar algoritma adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah. Karena suatu permasalahan yang diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan.

  1. Flowchart/Diagram Alir

Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk
memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam
menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti :

1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.

2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.

3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.

4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja.

5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.

6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digambarkan pada flowchart yang sama. Simbol konektor
harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau
hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.
7. Gunakan simbol-simbol flowchart yang standar.

Simbol Simbol dalam Diagram Alir

Adapun simbol-simbol yang sering digunakan untuk menyusun flow chart adalah sebagai berikut :

  1. Masukan

Masukan merupakan kegiatan penerimaan data yang disimbolkan dengan jajaran
genjang. Kita dapat menuliskan masukan yang diperlukan pada suatu waktu secara satu per satu maupun secara keseluruhan, akan tetapi untuk alasan efisiensi ruang gambar biasanya masukan dituliskan bersamaan secara keseluruhan. 

Gambar Simbol Masukan

  1. Masukan manual

Untuk masukan secara manual yang dimasukkan melalui keyboard, atau perangkat input lainnya seperti barcode reader, kita dapat menggunakan simbol masukan secara manual. Sama dengan simbol masukan, pada simbol masukan manual ini untuk alasan efisiensi ruang gambar biasanya masukan juga dituliskan bersamaan secara keseluruhan.

Gambar Simbol Masukan Manual

  1. Proses

Data yang dimasukan kemudian diproses untuk menghasilkan jawaban atas persoalan yang ingin dipecahkan. Kegiatan memproses data ini disimbolkan dengan persegi panjang. Sama seperti simbol pada masukan, penulisan operasi-operasi pada data dapat dilakukan secara satu per satu maupun secara keseluruhan.

Gambar Simbol Proses

  1. Keluaran

Keluaran adalah hasil dari pemrosesan data dan merupakan jawaban atas permasalahan yang ada. Keluaran ini harus ditampilkan pada layar monitor agar dapat dibaca oleh pengguna program. Sama seperti aturan pada simbol-simbol sebelumnya, penulisan hasil pemrosesan data dapat dilakukan secara satu per satu maupun secara keseluruhan. 

Gambar Simbol Keluaran

  1. Percabangan

Yang dimaksud dengan percabangan disini adalah suatu kegiatan untuk mengecek atau memeriksa suatu keadaan apakah memenuhi suatu kondisi tertentu atau tidak. Jadi dalam percabangan ini, kita harus menuliskan kondisi apa yang harus dipenuhi oleh suatu keadaan. Hasil dari pemeriksaan keadaan ini adalah YA atau TIDAK. Jika pemeriksaan keadaan menghasilkan kondisi yang benar, maka jalur yang dipilih adalah jalur yang berlabel YA, sedangkan jika pemeriksaan keadaan menghasilkan kondisi yang salah, maka jalur yang dipilih adalah jalur yang berlabel TIDAK. Berbeda dengan aturan pada simbol-simbol sebelumnya, penulisan kondisi harus dilakukan secara satu per satu (satu notasi percabangan untuk satu kondisi).

Gambar Simbol Percabangan

  1. Sub Rutin / sub program

Sub rutin adalah suatu bagian dalam program yng dapat melakukan atau diberi tugas tertentu. Jadi sub rutin merupakan “program kecil” yang menjadi bagian dari suatu program yang besar. Sub rutin ada dua macam, yaitu prosedur (procedure) dan fungsi (function). Perbedaan antara keduanya adalah setelah dipanggil prosedur tidak mengembalikan suatu nilai sedangkan fungsi selalu mengembalikan suatu nilai. Sub rutin memiliki suatu flow chart yang berdiri sendiri diluar flow chart utama. Jadi dalam simbol sub rutin, kita cukup menuliskan nama sub rutinnya saja, sama seperti jika kita melakukan pemanggilan terhadap suatu sub rutin pada program utama (main program) yang akan anda pelajari pada bagian atau bab lain pada buku ini. Aturan penulisan simbol sub rutin sama dengan simbol percabangan, yaitu penulisan nama sub rutin dilakukan secara satu per satu.


Gambar Sub Rutin

  1. Arah aliran

Arah aliran merupakan jalur yang harus diikuti dan merupakan garis penghubung yang menghubungkan setiap langkah pemecahan masalah yang ada dalam flow chart. Arah aliran ini disimbolkan dengan anak panah

Gambar Simbol Arah Aliran

  1. Terminator

Terminator berfungsi untuk menandai titik awal dan titik akhir dari suatu flow chart. Simbol terminator ini diberi label MULAI untuk menandai titik awal dari flow chart dan label SELESAI untuk menandai titik akhir dari flow chart. Jadi dalam sebuah flow chart harus ada dua simbol terminator, yaitu simbol terminator untuk MULAI dan SELESAI.

Gambar Simbol Terminator

  1. Konektor

Konektor berfungsi untuk menghubungkan suatu langkah dengan langkah lain dalam sebuah flow chart dengan keadaan on page atau off page. Yang dimaksud dengan konektor on page adalah konektor yang digunakan untuk menghubungkan suatu langkah dengan langkah lain dalam satu halaman. Sedangkan konektor off page adalah konektor untuk menghubungkan suatu langkah dengan langkah lain dalam halaman yang berbeda. Konektor ini digunakan apabila ruang gambar yang kita gunakan untuk menggambar flow chart tidak cukup luas untuk memuat flow chart secara utuh, jadi perlu dipisahkan atau digambar di halaman yang berbeda.

Gambar imbol konektor on page (a) dan off page (b)

  1. Dokumen

Dokumen merupakan tampilan data secara fisik yang dapat dibaca oleh manusia. Data ini biasanya merupakan hasil pemecahan masalah (informasi) yang telah dicetak (print out).

Simbol Dokumen

Contoh pembuatan diagram alir (flowchart)

Untuk memahami lebih dalam mengenai flowchart ini, dibuat sebuah studi kasus
sederhana. Misalnya buatlah sebuah rancangan program dengan menggunakan flowchart menentukan keliling dan luas lingkaran. Rumus untuk menentukan luas lingkaran adalah Luas = PI*radius*radius, dan keliling lingkaran adalah keliling=2*PI*radius, dengan Phi adalah sebuah konstanta 3.14. Flowchart permasalahan ini dapat dilihat pada gambar dibawah ini

Gambar Flowchart Mencari keliling dan Luas Lingkaran

Contoh selanjutnya, flowchart yang mengandung fungsi percabangan. Misal untuk
permasalahan apakah suatu bilangan termasuk bilangan ganjil atau genap. Cara
menyelesaikan permasalahan ini adalah dengan membagi bilangan tersebut dengan angka 2. Jika nilai sisa pembagiannya adalah 0, maka bilangan tersebut adalah bilangan genap. Jika nilai sisa pembagian adalah 1, maka bilangan tersebut adalah bilangan ganjil. Operasi aritmatika yang digunakan adalah modulo (%). Flowchart permasalahan ini dapat dilihat pada gambar :

Gambar Flowchart Percabangan



DAFTAR PUSTAKA

Abdurrahman, beny. Modul Teknik Pemrograman.