Showing posts with label IT - Indonesian Language. Show all posts
Showing posts with label IT - Indonesian Language. Show all posts

Friday, 11 April 2014

WAJIBNYA SKILL CODING BAGI MAHASISWA TI

netbeansSaya mahasiswa jurusan teknik informatika, semester akhir dengan peminatan software engineering. Karena saya lemah di coding, kira-kira nanti kesulitan ga ya untuk mengerjakan tugas akhir? (Taufik, Universitas Swasta di Jakarta)
Inna lillahi wa inna ilaihi rajiun, segera lakukan taubat dan perbanyak  istighfar :) Jurusan teknik informatika semester akhir, peminatan software engineering pula, ga bisa coding? Selama ini kemana aja om? :(
Lemahnya skill coding mahasiswa di Indonesia adalah penyakit gawat, menular, mematikan dan secepatnya harus diberantas tuntas :). Mungkinkah ini juga yang membuat produksi software kita secara kuantitas dan kualitas dibawah negara tetangga kita? Ingat bahwa menurut laporan IDC dan Gartner, jumlah developer professional Indonesia mencapai 71.600 orang di tahun 2008. Jumlah developer kita tiga kalinya malaysia dan empat kalinya singapore loh :(
Wahai para mahasiswa Teknik Informatika, andai kau tahu, jurusan computing di Indonesia mengambil acuan kurikulum IEEE Computing Curricula 2005. Asosiasi Perguruan Tinggi Informatika dan Komputer alias APTIKOM, yang menjadi wadah universitas yang memiliki jurusan atau prodi computing, membuat kurikulum inti yang mengacu ke IEEE Computing Curricula 2005, meskipun di beberapa sisi tidak konsisten :) Tidak konsisten karena Information System (Sistem Informasi)  dan Computer Engineering (Teknik/Sistem Komputer) saja yang direkomendasikan jadi jurusan atau prodi. Computer Science (Ilmu Komputer), Information Technology (Teknologi Informasi) dan Software Engineering (Rekayasa Perangkat Lunak) disuruh tumplek beg di satu wadah namanya Teknik Informatika :(
Padahal sebenarnya pembobotan materi yang dibidik berbeda-beda. Silakan cek dari gambar di bawah, target kemampuan yang diharapkan dari lulusan masing-masing cabang ilmu computing menurut IEEE Computing Curricula 2005.
ieeecurricula2005.gif
Secara IEEE Computing Curricula 2005, mahasiswa prodi/jurusan/fakultas/ dibawah disiplin ilmu computing, boleh tidak mengerti masalah sistem informasi atau teoritika database (mahasiswa CE misalnya), boleh juga nggak ngerti arsitektur komputer (mahasiswa IS dan IT  misalnya). Tapi seluruh mahasiswa wajib hukumnya, dan ini wajib ain sifatnya :) punya skill coding.
Grafik pembobotan kurikulum menurut IEEE Computing Curricula 2005 adalah seperti di bawah. Sekedar informasi, CE=Computer Engineering (Teknik Komputer), CS=Computer Science (Ilmu Komputer),  IS=Information Systems (Sistem Informasi), IT=Information Technology (Teknologi Informasi), SE=Software Engineering (Rekayasa Perangkat Lunak). Kemampuan coding dan programming masuk di materi Software Methods and Technologies. Lihat bahwa semua cabang ilmu di bawah computing membuat lengkungan di materi itu, meskipun dengan bobot berbeda antara sisi theoritical dan applied. Dan lihatlah di cabang ilmu software engineering, bentuk ovalnya paling manis dan sempurna, khususnya bobot untuk aspek Software Methods and Technologies :)
Ketika ada dosen atau peneliti di kampus yang mengatakan bahwa coding dan programming tidak wajib bagi mahasiswa jurusan computing, itu sebenarnya mencederai dunia kurikulum IT di Indonesia dan dunia hehehe. Mahasiswa computing tanpa skill coding itu bagaikan garam tanpa asinnya :)
ce.jpg
cs.jpg
is.jpg
it.jpg
se.jpg
Wokeh, sebenarnya bagaimana kiat mendesain materi ajar dan mata kuliah supaya tidak ada mahasiswa computing yang terkena penyakit mental tersebut? :)
  • Desain mata kuliah untuk tidak mengajarkan banyak bahasa pemrograman dengan paradigma yang sama. Mengajari mahasiswa dengan banyak bahasa pemrograman, artinya mendidik mereka untuk tidak menguasai satupun bahasa pemrograman.
  • Fokuskan ke satu bahasa pemrograman utama dan gunakan untuk penugasan di setiap mata kuliah. Capai level mahir di satu bahasa programming baru berpindah ke bahasa pemrograman yang lain. Saya dulu di Saitama University sampai semester 4, hanya boleh menggunakan bahasa C untuk semua penugasan mata kuliah. Semester lima baru diajarkan Object-Oriented Programming (OOP). Konsep OOP benar-benar maknyus kita pahami, ketika kita sudah dibuat pusing memanage ribuan baris code pemrograman procedural. Konsep abstraction begitu nyata, teoritika inheritance begitu mempesona, dan hakekat class yang seperti cetakan kue dengan kuenya sendiri adalah object, begitu jelas, tuntas dan sempurna :)
  • Libatkan mahasiswa dalam berbagai project riil untuk melatih dan mendekatkan ilmu yang dipelajari ke dunia industri
  • Bila memungkinkan hindari ujian bergaya multiple choice, arahkan ke develop project atau laporan analisa
  • Bagi mahasiswa yang mengerjakan tugas akhir, khususnya untuk yang software (product) development, wajibkan menggunakan tahapan software development life cycle (specification, design, coding, testing). Latih menyusun business process dan mendesain software dengan menggunakan UML yang relatif sudah standard.
Di sisi mahasiswa, mahasiswa juga harus aktif, jangan malas untuk banyak mencoba dan mencoba. Ingat bahwa tidak akan bisa mengandalkan materi kuliah untuk menjadi mahir di pemrograman. Bila perlu bikin project software kecil-kecilan dan mulai tawarkan lewat internet. Melatih skill coding sekaligus juga jiwa entrepreneurship.
Wahai para intelektual IT , ketika rasa malas mencoba membunuhmu, jangan pula coding bisa membinasakanmu. Kuasai mereka, jadikanlah energi sehingga kalian mampu membuat software dan produk yang bermanfaat untuk rakyat … itulah jalan cinta para legenda!
Sumber : www.romisatriawahono.net

HACKER'S MANIFESTO

Hacker's Manifesto



 This is our world now... the world of the electron and the switch, the
beauty of the baud.  We make use of a service already existing without paying
for what could be dirt-cheap if it wasn't run by profiteering gluttons, and
you call us criminals.  We explore... and you call us criminals.  We seek
after knowledge... and you call us criminals.  We exist without skin color,
without nationality, without religious bias... and you call us criminals.
You build atomic bombs, you wage wars, you murder, cheat, and lie to us
and try to make us believe it's for our own good, yet we're the criminals.

        Yes, I am a criminal.  My crime is that of curiosity.  My crime is
that of judging people by what they say and think, not what they look like.
My crime is that of outsmarting you, something that you will never forgive me
for.

        I am a hacker, and this is my manifesto.  You may stop this individual,
but you can't stop us all... after all, we're all alike.

+++The Mentor+++

Inilah dunia kami...
Dunia elektron dan switch, beauty of the baud.


Kalian menyebut kami penjahat...

Karena kami menggunakan layanan yang sudah ada tanpa membayar, padahal layanan itu seharusnya sangat murah jika tidak dikuasai oleh orang-orang rakus.
Kami kalian sebut penjahat...
karena kami gemar menjelajah.
Kami kalian sebut penjahat... Karena kami mengejar ilmu pengetahuan. Kami ada tanpa warna kulit, tanpa kebangsaan, tanpa bias agama.Tapi bagi kalian kami penjahat...Kami adalah penjahat... sedangkan kalianlah yang membuat bom nuklir, mengobarkan peperangan, membunuh, berbuat curang, berbohong dan berusaha kami percaya bahwa ini semua demi kebaikan kami.
Ya... Aku adalah penjahat...
Kejahatanku adalah keingintahuanku...
Kejahatanku adalah menilai orang berdasarkan perkataan dan pikiran mereka, dan bukan berdasarkan penampilan mereka.
Kejahatanku adalah menjadi lebih pintar dari kalian, sebuah dosa yang tidak akan kalian ampuni.

Aku adalah hacker... Dan inilah manifestoku. Kau bisa menghentikan satu, tapi kau tidak bisa menghentikan semuanya... Bagaimanapun juga, kami semua sama (senasib seperjuangan).

(The Mentor, 1986) 
Penjelasannya :
Setiap kata ataupun kalimat mempunyai arti lebih dalam, "Kami mendayagunakan sebuah system yang telah ada tanpa membayar, yang bisa jadi biaya tersebut sangatlah murah jika tidak dijalankan dengan nafsu tamak mencari keuntungan". Kalimat tersebut bisa menjadi sindiran bagi product komputer yang tentu saja harus mempunyai licensi dalam setiap aktivasi nya atau kita harus membayar, yang hanya membuat orang "bodoh" kehabisan duit hanya untuk membelinya. Padahal masih banyak aplikasi yang gratis yang bersifat opensource untuk digunakan. Berhentilah membeli secara mahal product office, kalau ternyata kita bisa menggunakan open office secara gratis dan powerfull.
Kalimat berikutnya, "Kami hadir tanpa perbedaan warna kulit, kebangsaan ataupun prasangka keagamaan, dan kalian sebut kami criminal". Dalam dunia maya setiap orang yang berbeda suku, agama, ras, dan budaya akan diterima dan bisa masuk dalam setiap lingkungan yang ada, suatu hal yang sulit ditemukan didunia nyata, dimana semuanya diukur dari materi atau jabatan yang dipegang. Hei, ini lah kami orang-orang yang duduk didepan komputer yang bisa mengerti perasaan orang lain tetapi kalian malah melihat kami aneh.
Berikutnya, "Kejahatanku adalah karena menilai orang lain dari apa yang mereka katakana dan pikirkan, bukan pada penampilan mereka". Sesuatu demokrasi dimana semua pendapat bisa kami terima, dan seharusnya ini adalah negara paling bebas yang bisa kita miliki.
Dan terakhir, "Kejahatanku adalah menjadi lebih pintar dari kalian, sesuatu yang tak akan kalian maafkan. Aku memang seorang hacker, dan inilah manifesto saya. Kalian bisa saja menghentikanku, tetapi kalian tak mungkin menghentikan kami semua. Bagaimanapun juga, kami semua senasib seperjuangan."

Kalo yang ini nih, the 1st Indonesian Hacker's manifesto :



"Hacker, Kami Suka Dengan Kata Ini. Sejak Kami Kenal Internet Kami Sudah Suka Dengan Kata Hacker. Terserah Anda Mau Bilang Kami Apa, Yang Jelas Kami Bangga Menjadi Hacker.
Ya! Itulah Kami, Hacker Adalah Sebuah Impian Dan Imajinasi Tanpa Batas. Yang Setiap Orang Mungkin Tidak Bisa Memilikinya.
Hacker, Ya Itu Kami, Karena Dengan Kata Itulah Kami Mau Belajar, Setidaknya Bisa Belajar Sendiri. Sebab Di Sekolah, Kampus, Dan Di Lembaga Ilmu Pendidikan Kami Hanya Sedikit Mendapatkan Ilmu. Apa Gunanya Kalau Bisanya Cuma: “Tolong Itu Di Pelajari Sendiri Ya?”. Lebih Baik Kami Terinspirasi Dengan Kata Hacker Yang Membuat Kami Maju Dan Semangat Untuk Belajar Dan Belajar Lagi. Orang Bodoh Sekalipun Pasti Mau Belajar Kalau Mendengar Kata Hacker. Sampai Kami Sendiri Sering Mendengar: “Bagaimana Sih Caranya Menjadi Hacker? “. Ya! Itulah Kami, Inspirasi Tanpa Batas Dengan Menjadi Hacker.
Kami Hacker! Kami Tidak Peduli Apa Kata Orang, Yang Jelas Kami Tahu Sendiri Itu Ada Dalam Diri Kami. Inilah Perjuangan Kami, Inilah Takdir Kami, Inilah Jalan Kami, Inilah Darah Kami, Inilah Pikiran Kami Dan Inilah Kehidupan Kami.
Dunia Maya Itu Luas Bung, Jangan Pernah Mengambil Sesuatu Dari Sebuah Persepsi Dan Menyalahkan Kami Sebagai Hacker! Sekali Lagi, Dunia Maya Itu Luas Dan Ini Dunia Global Bung! Bukan Hanya Dunia Milikmu! Kami Bebas Melakukan Apa Yang Kami Inginkan Di Internet. Karena Dunia Kami Adalah Dunia Maya Dan Dunia Open Source.
Hidup Kami Antara 0 Dan 1, Dimana Dengan Dua Hal Tersebut Kami Menemukan Partikel Partikel Dunia Visual. Dengan 0 Dan 1 Kita Bisa Mengkonversi Pikiran Kita Menjadi Lebih Bervariasi Dan Inovasi Yang Tak Kenal Henti. Kami Adalah Genetika Yang Yang Tak Pernah Lelah Untuk Berusaha Mencari Apa Saja Yang Bisa Kami Angkat Untuk Dijadikan Bahan Uji Coba Demi Memaksimalkan Ide Yang Ada Di Pikiran Kami. Kami Adalah Sekelompok Orang Yang Tak Akan Pernah Melepas Suatu Kesempatan Untuk Dilewatkan Dan Kami Tak Akan Pernah Lelah Untuk Mencoba Serta Terus Mencoba.
Kami Bisa Masuk Komputer Orang, Kami Bisa Akses Komputer Orang, Kami Bisa Oprek Komputer, Kami Bisa Bikin Program, Kami Bisa Melakukan Apa Yang Anda Tidak Bisa Lakukan. Lantas Kenapa? Apa Salah Kami? Kemudian Anda Bilang Kami Kriminal? Anda Salah Besar Bung! Inilah Dunia Kami Yang Penuh Keingintahuan Tentang Ilmu Pengetahuan. Inilah Kriminal Yang Anda Salah Artikan, Kriminal Yang Sebenarnya Telah Terukir Di Kepala Anda Kalau Hacker Adalah Kejahatan! Karena Anda Tidak Tahu Dan Tidak Mengerti Sama Sekali Tentang Kami. Perhatikan Kami Bung, Inilah Kami Yang Anda Sebut Sebagai Para Kriminal, Yang Tidak Pernah Melakukan Kekerasan, yang tidak pernah ingin terlibat intrik politik dan segala macam bentuk konspirasi, Yang Haus Akan Pembelajaran, Yang Menginginkan Kemajuan, Yang Memiliki Motivasi Dan Persahabatan.
Kami Ingin Bebas Dalam Berkomunikasi Dan Menggunakan Informasi, Bebas Menganalisa Code Dan Script. Bebas Bertukar, Belajar, Berbagi Dan Membagi Antara Satu Dengan Yang Lainnya. Inilah Kami, Yang Akan Menggunakan Otak Kami Untuk Menemukan Sesuatu Yang Belum Anda Temukan. Kami Ingin Bebas Dalam Berselancar Di Dunia Maya, Sehingga Tidak Ada Sesuatu Apapun Yang Bisa Menghalagi Keinginan Kami Untuk Mencari, Menemukan, Memberi, Dan Memanfaatkan Apa Yang Kami Yakini. Kami Juga Menginginkan Kebebasan Dalam Mengeksplore Ide Ide Kami. Menjelajahi Bit Bit Dunia Maya Yang Tanpa Batas, Sehingga Membuka Lebar Cakrawala Ilmu Pengetahuan Bagi Kami, Anda Dan Semua Orang.


Inilah Definisi Tentang Hacker Yang Sebenarnya yang Perlu Anda Pahami dengan benar, bukan dari dari sumber informasi yang keliru yang mungkin anda dapatkan selama ini  :
Hacker adalah sebutan untuk mereka yang menggunakan keahliannya dalam hal komputer untuk melihat, menemukan dan memperbaiki kelemahan sistem keamanan dalam sebuah sistem komputer ataupun dalam sebuah software. Hasil pekerjaan mereka biasanya dipublikasikan secara luas dengan harapan sistem atau software yang didapati memiliki kelemahan dalam hal keamanan dapat disempurnakan di masa yang akan datang.

Untuk anda2 yang menganggap semua hacker adalah kriminal, ketahuilah !!!.  tanpa hacker, tidak akan pernah ada internet seperti yang anda nikmati sekarang ini.

Dan Sekali lagi,Dengar Sahabat, We Are Hacker! Ini Adalah Manifesto Kami. Kebesaran Seseorang Tidak Terlihat Ketika Dia Berdiri Dan Memberi Perintah, Tetapi Ketika Dia Berdiri Sama Tinggi Dengan Orang Lain Dan Membantu Orang Lain Tersebut Untuk Mengeluarkan Yang Terbaik Dari Diri Mereka Untuk Mencapai Kesuksesan Bersama². Dan Ingat Sahabat! Jika Anda Bertemu Dengan Hacker, kracker, Coder, Blogger, Defacer, Cyber hackerLainnya Yang Katanya Kriminal Cyber! Percayalah, Bahwa Sesungguhnya Anda Telah Bertemu Dengan KAUM INTELEKTUAL Yang Belum Anda Ketahui."

TINGKATAN SEORANG HACKER

Assalamu'alaikum wr wb.Salam sejahtera  Agan2 sekalian. postingan kali ini membahas masalah tingkatan seorang hacker berdasarkan keahliannya, persepsi yang sudah berkembang di masyarakat, khususnya yang awan tentang IT. kalo dengar kata HACKer pastilah fikirannya udah banyak negatifnya. hehe.. iya kan?   Itulah salah kaprah yang sudah mendunia, bahwa semua hacker pastilah pelaku kriminal (bobol bank, hack kartu kredit/carding, curi program rahasia/project rahasia di perusahaan lain, ngacak2 komputer orang, dll) yang sebenarnya lebih pantas disebut dengan istilah CRACKer.  Ok, gak usah banyak cing cong, semoga dengan postingan ini bisa membuka persepsi agan2 tentang definisi hacker yang sebenarnya. Selamat membaca

Kata Hacker mungkin sudah tidak asing lagi di era teknologi modern saat ini. Peretas atau juga disebut hacker (dalam bahasa inggris) adalah orang yang mempelajari, menganalisis, memodifikasi, menerobos masuk ke dalam komputer dan jaringan komputer, baik untuk keuntungan atau dimotivasi oleh tantangan. Pada beberapa kasus, hacker biasanya diidentikkan dengan hal-hal yang bersifat kriminal di dunia maya (cyber crime). Level hacking (peretasan) dikelompokkan pada tingkat kesulitan pada tiap-tiap aktivitas peretasan tersebut. Ada 5 level atau tingkatan Hacker yang dikategorikan dari segi kemampuan meretas sebuah sistem. Berikut penjelasannya.
hacker
1. Lamer
Lamer adalah level hacker tingkat dasar. Pada level ini, hacker menggunakan perangkat lunak trojan, nuke, dan DoS. Mereka adalah orang tanpa pengalaman dan pengetahuan (terutama pengetahuan tentang pemrograman) yang ingin menjadi hacker (wanna-be hacker). Mereka biasanya membaca atau mendengar tentang hacker dan ingin menjadi seperti mereka.
2. Script Kiddie
Seperti juga Lamer, pada level ini mereka hanya mempunyai pengetahuan teknis networking yang sangat minimal. Biasanya tidak lepas dari GUI (Graphic User Interface) . Hacking dilakukan menggunakan trojan untuk menakuti dan menyusahkan pengguna Internet.
3. Developed Kiddie
Level Developed Kiddie ini biasanya aktif mempelajari dunia hacking. Mereka mencoba berbagai sistem sampai akhirnya berhasil. Umumnya mereka masih menggunakan GUI (Graphic User Interface) dan baru belajar hal dasar dari UNIX, tanpa mampu menemukan lubang kelemahan baru di sistem operasi.
4. Semi Elite
Pada Level ini, hacker mempunyai kemampuan dan pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi termasuk kelemahannya(vulnerability). Biasanya mereka memiliki sebuah program yang dipakai untuk mengeksploitasi sebuah sistem. Banyak publikasi serangan yangd dilakukan oleh hacker tingkat ini.
5. Elite
Ini adalah level tertinggi dari seorang hackerHacker Elite merupakan ujung tombak industri keamanan jaringan komputer. Kebanyakan dari mereka (tidak selalu) berprofesi sebagai IT (sistem administrator), sistem analis,dan developer software. Yang bertugas memaintain jaringan komputer dan sekaligus melindunginya dari serangan serangan yang dapat merusak sistem di tempat mereka bekerja, mereka memahami sistem operasi sampai luar dalam, mampu mengkonfigurasi dan menyambungkan jaringan secara global, baik wire connection maupun wirelless connection. Mampu menganalisis penyebab gangguan koneksi jaringan komputer dengan cepat. Mereka biasanya efisien & terampil, menggunakan pengetahuannya dengan tepat (memiliki kemampuan alami / mahir dalam membuat program komputer). Mereka seperti siluman yang dapat memasuki sistem tanpa terdeteksi, walaupun mereka tidak akan menghancurkan data-data yang ditemui. Karena mereka selalu mengikuti peraturan yang ada (kode etik dari seorang hacker). Ketika menemukan celah keamanan dalam sistem yang berhasil mereka masuki, biasanya mereka akan memberitahukan kepada administrator jaringan mengenai kelemahan2 (vulnerability) dan cara cara untuk menambal keamanan dari sistem. Mereka bukan tipikal orang2 yang menyombongkan diri dengan memamerkan/mempublikasikan keahliannya (semisal : eh, gue bisa masuk servernya situs ini nih...www.gakjelas.com, gue deface tu situs kaya yg dilakuin wildan sama situsnya presiden SBY, sambil koar2 di dunia maya, pasang status di media sosial, dll). Kebanyakan mereka low profile, gak banyak omong, tapi ... skill programmingnya Ciamik bro !!!, sepertinya mereka memang terlahir untuk menjadi seorang hacker sejati :)
___________________________________________
Itulah 5 level atau tingkatan dalam dunia hacker. Di level manakah Anda?
Hacker bukan sekedar kemampuan untuk membobol sebuah sistem kemudian mengacak-acak isi didalamnya. Namun kreatifitas dan kemampuan “menganalisa” sebuah sistem yang tidak dimiliki semua orang. Jika Anda mempunyai kemampuan hacking, gunakanlah ilmu Anda untuk hal-hal yang positif. kasian hacker yang baek2 seperti saya, jadi ikut kena getahnya. hehe :)
Wallahu A'lam bi shawab
Dari berbagai macam sumber

ALGORITMA PEMROGRAMAN KOMPUTER

Assalamu'alaikum Warahmatullahi Wabarakaatuh...
Salam sejahtera,
Hallo agan2 skalian, ketemu lagi dengan saya, mudah2an gak bosen :) . kali ini saya akan sharing ilmu dengan agan2 sekalian yang mungkin memiliki minat atau memang menggeluti bidang programming.  Bahasan kali ini adalah mengenai algoritma. algoritma bisa dijelaskan sebagai "kerangka berfikir logis seorang programmer dalam memecahkan masalah pembuatan program/software komputer". seorang programmer yang baik haruslah faham dengan algoritma program komputer yang dibuat olehnya. ya iya lah, masak yang bikin sendiri gak faham. hehe :)   OK, langsung aja di simak, tulisan berikut. semoga bermanfaat.
Pengertian Algoritma Pemrograman http://zonapanda.blogspot.com/
  1. Definisi Algoritma

 Urutan langkah-langkah untuk memecahkan masalah

  • Urutan logis pengambilan keputusan untuk memecahkan masalah
  • urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
  • Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
  • alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain.
  • tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
  • Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
  • Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah

Algoritma Pemrograman Program

Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).
Pertimbangan dalam pemilihan algoritma :
  • Algoritma haruslah benar
  • Mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut
  • Efisiensi algoritma. (waktu dan memori)
Setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
Suatu Algoritma yg terbaik (The Best): “Suatu algoritma harus menghasilkan output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“

Contoh algoritma :

Sebuah prosedur ketika akan mengirimkan surat kepada teman:
Tulis surat pada secarik kertas surat.
  1. Ambil sampul surat atau amplop.
  2. Masukkan surat ke dalam amplop.
  3. Tutup amplop surat dengan lem perekat.
  4. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat.
  5. Tempelkan perangko pada amplop surat.
  6. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

Hal yang perlu diperhatikan dalam membuat algoritma:

  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer.
  • Algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Yang harus diperhatikan pada translasi Algoritma:

  1. Pendeklarasian variabel
  2. Pemilihan tipe data
  3. Pemakaian instruksi-instruksi
  4. Aturan sintaksis
  5. Tampilan hasil
  6. Cara pengoperasian compiler atau interpreter.

 Beberapa syarat untuk menjadi algoritma yang baik (1)

  • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
  • Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
  • Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.

Beberapa syarat untuk menjadi algoritma yang baik (2)

  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
  • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
  • Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan. setiap langkah harus jelas dan pasti.
  • Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.

Beberapa syarat untuk menjadi algoritma yang baik (3)

  • Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.
  • Harus terminate. Jalannya algoritma harus ada kriteria berhenti.
  • Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

Struktur Dasar Algoritma

  • Struktur Runtunan (sequence) Digunakan untuk program yang pernyataannya sequential atau urutan.
  • Struktur Pemilihan (selection) Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
  • Struktur Perulangan (iteration) Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.
Nah gimana sob, sudah mengerti kan sekarang, apa itu argoritma ? khususnya algoritma pemrograman untuk komputer. Jadi cukup sampai disini dulu artikel sederhana ini, semoga bisa membantu dan bermanfaat buat kita semua.