A L G O R I T M A

Pengertian Algoritma

Pengertian algoritma adalah suatu urutan dari beberapa langkah yang logis guna menyelesaikan masalah. Pada saat kita memiliki masalah, maka kita harus dapat untuk menyelesaikan masalah tersebut dengan menggunakan langkah-langkah yang logis. Contoh dari algoritma sederhana dalam kehidupan nyata adalah pada saat memasak air. Hal-hal yang perlu dilakukan untuk memasak air seperti berikut : siapkan panci, masukkan air secukupnya ke dalam panci, tutup panci tersebut, letakkan panci tersebut di atas kompor, hidupkan kompor dengan api sedang, apabila air sudah mendidih, matikan kompor, setelah itu angkat panci tersebut dari kompor. Langkah-langkah untuk memasak air tersebut merupakan algoritma memasak air. Sehingga memiliki urutan langkah-langkah yang logis. 
Dalam ilmu matematika dan komputer, pengertian algoritma merupakan prosedur dari beberapa langkah demi langkah untuk penghitungan. Algoritma dipakai untuk penghitungan, penalaran otomatis, dan pemrosesan data. Pengertian algoritma ialah suatu metode yang efektif diekspresikan sebagai rangkaian yang terbatas dari beberapa instruksi yang telah dijelaskan dengan baik guna menghitung sebuah fungsi. Susunan algoritma dimulai dari kondisi awal dan input awal, instruksi tersebut mendeskripsikan komputasi yang apabila itu dieksekusi serta diproses dengan melewati urutan-urutan kondisi terbatas yang terdefinisi dengan baik, sehingga dapat menghasilkan output atau keluaran dan berhenti di kondisi akhir yang telah ditentukan. 
Pengertian Algoritma

Algoritma sangat diperlukan untuk mengolah data yang ada di komputer. Dalam sistem komputer, pengertian algoritma ialah logika yang dibuat dengan memakai software oleh para pembuat perangkat lunak untuk membuat software tersebut menjadi lebih bagus. Algoritma berbeda dengan Logaritma. Perlu diketahui juga bahwa logaritma adalah sebuah operasi di ilmu matematika guna menghitung kebalikan eksponen dari sebuah perpangkatan.



Kata Algoritma ditemukan oleh Abu Abdullah Muhammad Ibnu Musa Al-Khwarizmi, beliau merupakan matematikawan yang berasal dari Persia yang ditemukan pada Abad Ke 9. Dari masa ke masa, kata algoritma mulai berkembang di abad ke 18. 

Untuk lebih jelasnya lagi, berikut salah satu contoh algoritma :
Algoritma untuk menghitung nilai x dari persamaan x = 17y + 9 :
1) Memulai
2) Menentukan nilai y
3) Menghitung nilai x = 17y + 9
4) Menyelesaikan

Bentuk Dasar Algoritma

Algoritma sendiri mempunyai tiga 3 bentuk dasar, antara lain : 

1. Algoritma Sekuensial (Sequence Algorithm)
Sequence algorithm atau algoritma sekuensial merupakan algoritma yang langkah-langkahnya secara urut dari awal hingga akhir. Bentuk dari algoritma sekuensial ini salah satu contohnya seperti algoritma memasak air. Langkah demi langkah yang dijalankan harus urut dari atas sampai bawah.
    2. Algoritma Perulangan (Looping Algorithm)
    Looping algorithm atau algoritma perulangan merupakan suatu algoritma yang menjalankan beberapa langkah tertentu secara berulang-ulang atau looping. Pada masalah yang kita hadapi, ada pula sebuah langkah yang harus kita lakukan secara berulang-ulang. Contoh dari algoritma looping ini adalah algoritma menjemur pakaian: 
    1) Siapkan jemuran.
    2) Ambil satu pakaian yang nantinya akan dijemur.
    3) Peras pakaian tersebut terlebih dahulu.
    4) Letakkan pakaian tersebut pada tiang jemuran.
    5) Ulangi langkah dari 2 sampai 4 hingga pakaian habis.
    Dari algoritma di atas, dapat diketahui bahwa dari langkah 2 sampai 4 harus dilakukan secara berulang-ulang hingga pakaian habis.
    3. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
    Conditional algorithm atau algoritma bersyarat merupakan algoritma yang menjalankan langkah berikutnya apabila terdapat syarat yang sudah dapat dipenuhi. Berikut salah satu contoh dari algoritma bersyarat : 
    1) Siapkan panci.
    2) Masukkan air secukupnya ke dalam panci.
    3) tutup panci tersebut.
    4) letakkan panci tersebut di atas kompor.
    5) Hidupkan kompor.
    6) Apabila air sudah mendidih, lalu matikan kompor.
    7) Angkat panci tersebut dari kompor.
    Algoritma bersyarat atau contional algorithm terdapat pada langkah ke 6. Apabila air sudah mendidih, lalu matikan kompor. Sehingga apabila air tersebut belum mendidih, maka kompor tidak dimatikan.

Merancang Algoritma yang Baik

Menurut Donald E. Knuth, dari pengertian algoritma diatas dapat diketahui bahwa sebuah algoritma yang baik yaitu algoritma yang mempunyai kriteria sebagai berikut : 
  1. Masukan (Input)
  2. Algoritma mempunyai input 0 (nol) atau lebih
  3. Keluaran (Output)
  4. Algoritma harus menghasilkan atau mengeluarkan minimal 1 output.
  5. Terbatas (Finite)
  6. Algoritma harus berhenti setelah melakukan langkah-langkah yang diperlukan.
  7. Pasti (Definite)
  8. Algoritma harus jelas kapan dimulai dan berakhir. Tujuan dari algoritma harus jelas. Setiap langkah-langkah harus dijelaskan dengan jelas.
  9. Efisien
  10. Membuat sebuah algoritma haruslah efisien. Adanya langkah seperti mencari hasil 1 + 0 tidak efisien. Hal ini karena bilangan apapun itu jika ditambah dengan nol maka hasilnya ialah bilangan itu sendiri. Sehingga adanya langkah seperti itu tidak perlu dimasukkan ke dalam sebuah algoritma.

Algoritma dapat disajikan ke dalam 2 bentuk, yaitu bentuk tulisan atau bahasa dan bentuk gambar. Penyajian algoritma dalam bentuk bahasa atau tulisan harus memakai sebuah bahasa yang dapat untuk dimengerti manusia dalam membuat langkah-langkah dari algoritma itu sendiri. Penyajian algoritma dalam bentuk tulisan/bahasa dapat dilakukan dengan memakai pseudocode. Pseudocode berasal dari "pseudo" aritnya "menyerupai atau mirip" dan "code" yaitu "kode program". Contoh dari beberapa bahasa pemrograman yang sering digunakan untuk menyatakan pseudocode antara lain : pascal, BASIC, Pascal, C, dan lain sebagainya. Terdapat juga penyajian algoritma yang dalam bentuk gambar disebut flow chart. 

Klasifikasi Algoritma

Salah satu cara untuk mengklasifikasikan algoritma yaitu dengan menggunakan cara implementasi. 
  1. Rekursi atau iterasi
  2. Algoritma rekursi ialah suatu algoritma yang memanggil dirinya sendiri secara berulang kali (looping) hingga pada kondisi tertentu dapat tercapai. Rekursi merupakan suatu metode umum dalam pemrograman fungsional. Algoritma iteratif memakai konstruksi berulang seperti pada pengulangan dan terkadang terdapat struktur data tambahan. Beberapa permasalahan secara alami dapat cocok dengan 1 implementasi atau yang lainnya. Contohnya : Menara Hanoi yang dikenal dengan implementasi rekursif. Pada setiap versi rekursif mempunyai adanya kesamaan (bisa lebih ataupun kurang kompleks) dengan versi iteratif, ataupun sebaliknya.
  3. Logical
  4. Algoritma dapat dilihat sebagai sebuah logika deduksi terkontrol. Pernyataan ini dapat diekspresikan sebagai: Algoritma = kontrol + logika. Komponen logika yang mengekspresikan aksioma dapat digunakan dalam komputasi serta komponen kontrol dalam menentukan cara-cara deduksi yang digunakan pada aksioma. Hal tersebut adalah dasar dari paradigma pemrograman logika. Dalam pemrograman, logika murni komponen kontrol ialah tetap serta algoritma yang ditentukan dengan memberikan hanya ada komponen logikanya. Daya tarik dari pendekatan logical ialah semantik elegan, sebuah perubahan yang ada dalam aksioma mempunyai perubahan dalam algoritma.
  5. Serial, paralel atau terdistribusi
  6. Pada umumnya, suatu algoritma menjalankan satu instruksi algoritma setiap waktu. Komputer tersebut dapat disebut dengan komputer serial. Rancangan algoritma yang digunakan bagi lingkungan tersebut ialah algoritma serial, terbalik dengan algoritma terdistribusi atau algoritma paralel. Algoritma paralel menggunakan arsitektur komputer yang mana terdapat prosesor-prosesor dapat mengerjakan masalah pada waktu yang sama. Sedangkan algoritma terdistribusi menggunakan banyak mesin yang terhubung ke jaringan. Algoritma terdistribusi atau paralel membagi permasalahan ke banyak submasalah simetris maupun asimetris dan mengumpulkan hasil yang didapat kembali. Konsumsi dari sumber pada algoritma tersebut tidak hanya ada perputaran prosesor tapi juga terdapat daya komunikasi antara prosesor. Algoritma pengurutan dapat untuk diparalelkan secara efisien, namun terdapat biaya komunikasi yang sangat mahal. Algoritma iteratif pada umumnya dapat untuk diparalelkan. Ada juga permasalah yang tidak ada algoritma paralelnya, disebut dengan permasalahan serial lahiriah.
  7. Deterministik atau non-deterministik
  8. Terdapat juga algoritma determministik dan non-determenistik. Algoritma deterministik dapat menyelesaikan masalah-masalah dengan keputusan tepat disetiap langkah-langkah dari sebuah algoritma. Algoritma non-deterministik dapat menyelesaikan masalah-masalah lewat adanya penerkaan walaupun penerkaan tersebut pada umumnya lebih akurat dengan memakai heuristik.
  9. Tepat atau perkiraan
  10. Jika terdapat banyak algoritma dapat sampai ke solusi yang tepat, ada juga algoritma perkiraan yang mencari perkiraan terdekat dengan solusi benarnya. Perkiraan tersebut dapat memakai strategi deterministik ataupun acak. Algoritma yang seperti itu dapat mempunyai nilai lebih untuk banyak permasalahan yang sulit.
  11. Algoritma quantum
  12. Berjalan pada model realistik dari komputasi quantum. Istilah tersebut pada umumnya dipakai bagi algoritma yang pada dasarnya quantum, ataupun memakai fitur-fitur penting dari komputasi quantum seperti belitan quantum atau superposisi quantum.

Contoh Algoritma

  1. Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
  2. Terdapat bilangan yang bernama bilang bulat yaitu 0, 1, -1, 2, dst serta bilangan asli 1, 2, 3, 4, 5, dst. Kedua jenis bilangan tersebut sering digunakan dalam berhitung. Himpunan bilangan-bilangan bulat dalam buku teks aljabar pada umumnya dinyatakan dengan lambang "Z" dan himpunan bilangan-bilangan asli dinyatakan dengan lambang "N". Algoritma guna menentukan apakah bilangan tersebut ganjil atau genap dapat disajikan dengan flowchart seperti dibawah ini :
    Menentukan Apakah Bilangan Tersebut Ganjil atau Genap
    Bilangan genap merupakan sebuah bilangan bulat yang akan habis atau tidak memiliki sisa jika dibagi 2 (dua). Bilangan ganjil merupakan sebuah bilangan bulat yang tidak akan habis apabila dibagi 2 (dua).
  3. Menghitung Keliling dan Luas Lingkaran
  4. Lingkaran merupakan suatu himpunan dari semua titik-titik pada bidang dalam jarak yang tertentu dan disebut dengan jari-jari dari titik tertentu dan dapat disebut titik pusat. Lingkaran merupakan contoh dari kurva tertutup sederhana, lingkaran membagi bidang menjadi bagian luar dan dalam. Algoritma menghitung keliling serta luas lingkaran dapat disajikan dengan flowchart seperti dibawah ini :
    Menghitung Keliling dan Luas Lingkaran
  5. Menampilkan Bilangan Ganjil Diantara 10 sampai 30
  6. Bilangan ganjil yang terletak diantara 10 dan 30 11,13,15, dan seterusnya. Namun, yang akan ditampilkan kecuali bilangan 21 dan 27. Jadi output yang diharapkan dari algoritma tersebut adalah bilangan ganjil 10 sampai 30 kecuali bilangan 21 dan 27. Algoritma untuk menampilkan bilangan ganjil antara 10 hingga 30 kecuali bilangan 21 dan 27 disajikan dengan flowchart dibawah ini :
    Menampilkan Bilangan Ganjil Diantara 10 sampai 30
  7. Algoritma tahun Kabisat
  8. Terdapat juga algoritma tahun kabisat. Tahun kabisat merupakan sebuah tahun yang memiliki tambahan 1 hari dan bertujuan agar kalender dapat sinkron dengan musim tahunan dan keadaan astronomi. Bulan Februari memiliki 29 hari pada saat tahun kabisat. Tahun yang dapat untuk dibagi dengan 4 adalah tahun kabisat. Algoritma guna menentukan tahun kabisat jika disajikan dengan flowchart seperti dibawah ini :
    Algoritma tahun Kabisat
  9. Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
  10. Bilangan genap merupakan sebuah bilangan-bilangan bulat yang habis jika dibagi 2. Deret yang ditampilkan dari algoritma kali ini merupakan deret dari bilangan genap dari 2 hingga ke n kecuali bilangan yang merupakan kelipatan 4. Algoritma tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
    Menampilkan Bilangan Genap Mullai dari Angka 2 sampai n, Kecuali Bilangan Genap yang Kelipatan 4
  11. Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon
  12. Ada juga algoritma yang dapat menghitung jumlah dari biaya yang harus dibayar oleh sang pembeli setelah mendapatkan sebuah diskon 10% dengan syarat jumlah dari total pembelian tersebut Rp.1.500.000,- Algoritma guna menghitung besaran biaya tersebut dapat digambarkan dengan flowchart seperti dibawah ini :
    Menghitung Harga yang Dibayar Setelah Mendapatkan Sebuah Diskon
    Jumlah barang memiliki sifat yang dinamik sesuai dengan input atau masukkan dari user. Apabila jumlah total dari harga tersebut kurang 1500000 maka tidak mendapatkan sebuah diskon.
  13. Mencari Maks dan Min dari suatu Deret Bilangan
  14. Terdapat juga sebuah algoritma guna mencari nilai maks serta min dari suatu n deret bilangan yang dimasukkan atau diinput oleh user. Algoritma tersebut dapat disajikan dengan flowchart seperti dibawah ini :
    Mencari Maks dan Min dari suatu Deret Bilangan
  15. Kalkulator Sederhana dari 2 Bilangan
  16. Terdapat sebuah algoritma sebagai kalkulator sederhana untuk operasi penjumlahan, perkalian, pembagian, dan pengurangan. Kalkulator sederhana ini hanya dapat melakukan perhitungan dari 2 bilangan yang diinput oleh user. Algoritma guna menghitung 2 bilangan dapat digambarkan dengan flowchart seperti dibawah ini :
    Kalkulator Sederhana dari 2 Bilangan
  17. Menghitung Beberapa Angka dari Suatu Bilangan
  18. Pada flowchart kali ini mengenai sebuah algoritma untuk menghitung beberapa angka dari suatu bilangan yang dimasukkan atau diinput oleh user. Berikut flowchart algoritma tersebut :
    Menghitung Beberapa Angka dari Suatu Bilangan
  19. Membalik Sebuah Kalimat
  20. Seperti yang kita ketahui sebelumnya tentang pengertian algoritma, bahwa algoritma juga dapat untuk menampilkan sebuah kalimat namun dengan urutan yang terbalik. Misalkan "woocara" dibalik menjadi "aracoow". Struktur data yang digunakan ialah Stack. Untuk membalik sebuah bilangan, huruf dari kalimat kita input dalam stack dengan menggunakan metode Push. Setelah stack tersebut sudah terisi, maka output kembali dengan memakai metode Pop. Pada algoritma membalik sebuah kalimat, adanya penggunaan struktur data stack diimplementasikan ke array. Dalam implementasinya ke array tersebut, kita harus terlebih dahulu menyiapkan sebuah array dengan memiliki panjang yang sama dengan jumlah huruf yang ada dalam kalimat yang akan dibalik tersebut. Pada gambar flowchart dibawah ini, terdapat tiap huruf dari kalimat yang diinput pada array dengan index ke-0 hingga ke-n dengan memakai metode push.
    Membalik Sebuah Kalimat
    Kemudian huruf tersebut akan mengeluarkan kata mulai dari index ke-n hingga index ke-0.



Itulah pengertian algoritma, bentuk dasar algoritma, klasifikasi algoritma, dan contoh algoritma. Algoritma sangat diperlukan untuk mengolah data yang ada di komputer.


Pengertian Flowchart dan Simbol Flowchart



Contoh image Flowchart


Pengertian dan Definisi Flowchart

Flowchart atau Bagan alir adalah bagan  (chart) yang menunjukkan alir  (flow) di dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. 

Jenis jenis Flowchart

Ada beberapa jenis flowchart diantaranya:
  1. Bagan alir sistem (systems flowchart).
  2. Bagan alir dokumen (document flowchart).
  3. Bagan alir skematik (schematic flowchart).
  4. Bagan alir program (program flowchart).
  5. Bagan alir proses (process flowchart).

System Flowchart

System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.

Document Flowchart

Bagan alir dokumen  (document flowchart)  atau disebut juga bagan alir formulir  (form  flowchart)  atau  paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.

Schematic Flowchart

Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar  ini  memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya.


Program Flowchart

Bagan alir program  (program flowchart)  merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem.
Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program  (program logic flowchart)  dan bagan alir program komputer terinci  (detailed computer program flowchart).  Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci  (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram.
 

Process Flowchart

Bagan alir proses  (process flowchart)  merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur. 

Simbol dan Notasi Flowchart

Dipakai sebagai alat Bantu menggambarkan proses di dalam program. Dan dibagi menjadi tiga kelompok :

♦ Flow Direction Symbols ♦

dipakai untuk menggabungkan antara symbol yang satu dengan symbol lainnya

Pengertian Flowchart dan Contoh SimbolnyaSymbol Off-line Connector ( Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam   lembar/halaman yang sama)



♦ Processing symbols ♦

Menunjukkan jenis operasi pengolahan dalam suatu prosedur

Pengertian Flowchart dan Contoh SimbolnyaSymbol Process (Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Manual Operation (Simbol yang menunjukkan pengolahan yang  tidak dilakukanoleh komputer)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa   kemungkinan jawaban/aksi)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Terminal (Simbol untuk permulaan atau akhir dari suatu program)-
Pengertian Flowchart dan Contoh SimbolnyaSymbol Off-line Storage (Simbol yang menunjukkan bahwa data di dalam symbol ini akan disimpan)
-
Pengertian Flowchart dan Contoh SimbolnyaSymbol Manual Input (Simbol untuk pemasukan data secara manual on-line keyboard)
Pengertian Flowchart dan Contoh SimbolnyaSymbol Keying Operation (Simbol operasi dengan menggunakan mesin yang mempunyai keyboard)



♦ Input-output symbols ♦

menyatakan jenis peralatan yang digunakan sebagai media input atau output.

Pengertian Flowchart dan Contoh SimbolnyaSymbol input-output (Symbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya)
Pengertian Flowchart dan Contoh SimbolnyaSymbol magnetic-tape unit (Symbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic)
-Pengertian Flowchart dan Contoh SimbolnyaSymbol punched card (Symbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu)-
Pengertian Flowchart dan Contoh SimbolnyaSymbol disk and on-line storage (Symbol untuk menyatakan input berasal dari disk atau output disimpan ke disk)
Pengertian Flowchart dan Contoh SimbolnyaSymbol display (Symbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya)
Pengertian Flowchart dan Contoh SimbolnyaSymbol dokumen (symbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas)
 

Pedoman Membuat Flowchart

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 kekanan.
  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 harusditelusuri 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.


Contoh-contoh Flowchart



Contoh Flowchart Program



Pengertian Flowchart dan Contoh Simbolnya
Contoh Flowchart Program – Menentukan Bilangan Ganjil/Genap


Pengertian Flowchart dan Contoh Simbolnya
Penggunaan predefined processes dapat digunakan untuk menyederhanakan flowchart system yang complex
Flowchar Sistem untu predefined process yang diberi nama Check shipment untuk Flowchart diatas 
Flowchar Sistem untuk predefined process yang diberi nama Check shipment untuk Flowchart diatas.


PSEUDOCODE

Hasil gambar untuk tentang pseudocode



A. Pengertian

Pseudocode atau dalam bahasa Indonesia disebut kode palsu adalah deskripsi dari algoritma pemrograman computer yang menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan agar dapat dibaca oleh manusia dan bukanya oleh mesin.
Pseudocode biasanya tidak menggunakan elemen cukup detail yang tidak perlu untuk kebutuhan pemahaman manusia dari suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik.

B. Tujuan
Tujuan pseudocode adalah agar manusia dapat dengan mudah dalam pemahaman dibandingkan dengan menggunakan bahasa pemrograman yang umumnya digunakan, lebih lagi aspeknya yang relatif ringkas dan tidak bergantung pada suatu sistem tertentu yang merupakan prinsip utama dalam suatu algoritma.
Pseudocode pada umumnya digunakan di dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan dari suatu algortima, dan juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya ditulis.
Tidak ada satu pun standar yang berlaku untuk pseudocode, sebuah program yang masih berupa pseudocode belum dapat dijalankan. Pseudocode juga mirip dengan kerangka program (skeleton programs) termasuk dummycode, yang bisa dikompilasi tanpa kesalahan. Diagram alur dapat juga dimasukkan sebagai alternatif berbasis grafis sebuah pseudocode.

C. Penggunaan
Penggunaan pseudocode pada umumnya juga banyak kita temukan di dalam buku-buku teks dan publikasi ilmiah yang membahas tentang ilmu komputer serta komputasi numerik yang sering menggunakan pseudocode dalam mendeskripsikan suatu algoritma dengan tujuan agar programer dapat memahaminya meskipun mereka belum bisa memahami bahasa pemrograman yang digunakan. Di dalam buku-buku teks biasanya disertakan juga pengantar yang membahas tentang notasi dan konvensi yang digunakan, termasuk yang digunakan pada pseudocode. Untuk tingkat kejelasan secara lebih detail dari penggunaan suatu bahasa pemrograman kadang-kadang digunakan juga sebagai pendekatan. Contoh, buku teks Donald Knuth "The Art of Computer Programming" yang menggunakan bahasa assembly untuk mikroprosesor yang sebenarnya tidak ada. Kadang juga penggunaan pseudocode bisa kita temukan dalam perencanaan pengembangan suatu program komputer.

Seorang programer yang akan mengimplementasikan suatu algoritma yang sifatnya spesifik, utamanya algoritma yang masih belum dikenalinya, umumnya menggunakan pseudocode sebagai penjelasan, kemudian ia akan dengan mudah "menerjemahkan" penjelasan tersebut ke dalam bahasa pemrograman dan mengubahsuai agar dapat berinteraksi secara benar dan menyeluruh dalam program. Programer juga dapat memulai sebuah proyek dengan membuat sketsa kode dengan menggunakan pseudocode di atas kertas sebelum menulisnya dalam bahasa pemrograman yang sesungguhnya, seperti yang dilakukan dalam pendekatan "top-down".

D. Sintaksis
Pseudocode umumnya tidak mengikuti aturan umum yang berlaku pada suatu bahasa pemrograman, artinya tidak ada suatu bentuk standar yang sistematik, meskipun penulis umumnya menggunakan tata cara ataupun sintaksis, contohnya struktur kontrol dari bahasa pemrograman umum yang digunakan. Sintaksis yang populer digunakan menggunakan sintaksis bahasa pemrograman BASIC, Pascal, Java, C, C++,  Lisp, dan ALGOL. Deklarasi variabel umumnya tidak digunakan, begitu pula halnya dengan blok kode yang seringkali digantikan dengan satu baris penjelasan dalam bahasa manusia (natural).
Bentuk serta corak dari pseudocode bisa sangat beragam tergantung pada penulis dari publikasi masing-masing dan buku teks tersebut, dari yang model pseudocode paling sederhana hingga sangat detail sehingga hampir menyerupai dengan bahasa pemrograman yang sesungguhnya.

E. Struktur Pseudocode
Judul
{Berisi Judul Algoritma}
Deskripsi
{Berisi Deklarasi Variabel atau Konstantan}
Implementasi
{Berisi Inti Algoritma}
Notasi – notasi Pseudo
1. Bentuk Pernyataan
X <—- Y
keterangan :
X : diberi nilai
Y : Memberi Nilai
Ex : Hasil <—- Bilangan Mod 2
2. Bentuk Percabangan
if kondisi then
pernyataan
if kondisi 1 then
pernyataan 1
else
pernyataan 2
if kondisi 1 then
pernyataan 1
else if kodisi 2 then
pernyataan 2
else if kondisi n then
pernyataan
else
pernyataan else
3. Bentuk Perulangan
for (persyaratan) do
pernyataan for
while (persyaratan)
pernyataan while
Repeat
pernyataan repeat
Until (persyratan)

F. Contoh-contoh Penulisan Pseudocode:
1. Untuk menampilkan tulisan Test:
Start
Print “Test”
End
2. Untuk menampilkan variable berisi tulisan Test:
Start
a = “Test”
Print a
End
3. Untuk menghitung hasil penjumlahan:
Start
Read a, b
c = a + b
Print c, “ ditambah “, b, “ hasilnya “, c
End
4. Untuk menampilkan isi variable yang hanya lebih kecil dari 8
Start
Read e
If e < 8 Then
          Print e
Else
          Print “Masukkan angka kurang dari 8!”
End If
End
5. Untuk menampilkan isi variable di antara 0 dan 8:
Start
Read f
If f > 0 Then
          If f < 8 Then
                   Print f
          Else
                   Print “Masukkan angka di antara 0 dan 8!”
          End If
Else
          Print “Masukkan angka di antara 0 dan 8!”
End If
End
6. Untuk menampilkan mata kuliah sesuai nomor yang dimasukkan
Start
      Print “Masukkan nomor mata kuliah Anda (1-4):”
      Read g
      Switch g
                Case 1 : Print “Logika Matematika”
                Case 2 : Print “Kalkulus”
                Case 3 : Print “Algoritma dan Pemrograman”
                Case 4 : Print "Basis Data 1*"
                Else : Print “Masukkan hanya nomor 1-4”
      End Switch
End
7. Untuk menampilkan tulisan Test sebanyak 3 kali dengan fungsi For
Start
      For h = 1 To 3 Do
                Print “Test ”
      End For
End
8. Untuk menampilkan tulisan Test sebanyak 3 kali dengan fungsi While-Do
Start
      i = 1
      While i <= 3 Do
                Print “Test ”
                i = i + 1
      End While
End
9. Menampilkan tulisan Test sebanyak 3 kali dengan fungsi Repeat-Until
Start
      j = 1
      Repeat
                Print “Test ”
                j = j + 1
      Until j <= 3
End

PENGERTIAN INPUT, OUTPUT, PROCESS DAN STORAGE DALAM HARDWARE

27
Salam buat teman – teman semua.. kali ini kita akan membahas soal kelas – kelas perangkat keras atau HardWare.. Tapi sebelumnya saya ingin menyarankan kepada teman – teman untuk mengunjungi link berikut:  pada link ini akan di bahas lebih mendalam soal computer..  Baiklah sekarang kita kembali ke pembahasan..
Mungkin teman – teman masih bingung apa yang di maksud dengan Input dan Output.. apa lagi bagi yang masih awam soal komputer.. Ini adalah Kelas – kelas untuk perangkat keras komputer karena tidak semua HardWare memiliki fungsi yang sama. Oleh karena itu Hardware ini di kategorikan menjadi empat kelompok…

A. Input Device

Input Device adalah Perangkat masukan artinya perangkat keras yang berfungsi untuk memasukan data atau perintah kedalam mesin komputer yaitu processor. Detail Contoh dari Input Device ialah :

  • Keyboard
  • Mouse
  • TouchPad
  • Scanner
  • Joy Stick
  • Light Pen

B. Process Device

Process Device adalah alat untuk memproses data – data yang telah di kirim oleh alat input, dan kemudian di terjemahkan sesuai dengan perintah yang di berikan.. Detail Contoh dari Process Device ialah

  • Processor
  • RAM

C. Output Device

Output Device adalah alat untuk menampilkan data – data hasil proses yang di lakukan oleh processor.. Data data tersebut bisa berupa Visual, Gambar dan Audio. Detail Contoh dari Output Device ialah :

  • Monitor
  • Printer
  • Speaker

D. Storage Device

Storage Device adalah alat untuk menyimpan data – data hasil proses dari processor. Namun data – data tersebut telah berubah menjadi file bisa berupa video, mp3, documen dan aplikasi..Detail Contoh dari Storage Device ialah

  • Hard disk
  • Flash disk
  • CD/DVD
  • Floppy Disk
Di bawah ini adalah bagan alur kerja komputer.
input_process_output4

Pengertian Program

Pengertian program adalah kumpulan instruksi yang digunakan untuk mengatur komputer agar menjalankan tindakan tertentu. Tanpa program, komputer sesungguhnya tidak dapat berbuat apa-apa. Hanya seonggok mesin kosong tiada daya dan upaya. Hehe. Program adalah salah satu bagian dari beberapa aspek penting dari sebuah komputer. Mungkin ada orang yang berpendapat bahwa komputer mencakup tiga aspek penting. Komponen tersebut antara lain sebagai berikut;

  • perangkat keras (hardware),
  • perangkat lunak (software) yang dalam hal ini berupa program,
  • perangkat akal (brainware) atau orang yang berperan dalam operasi komputer maupun pengembangan perangkat lunak (operator).
Hasil gambar untuk pengertian program


Dengan kata lain,program adalah salah satu bagian penting pada komputer yang mengatur komputer agar melakukan aksi yang dikendalikan oleh pengguna komputer. Orang yang membuat program biasa disebut pemrogram, atau dalam bahasa kerennya disebut sebagaiprogrammer. Sedangkan aktivitasnya, aktivitas pembuatan program dinamakan pemrograman atau programingPengertian program tidak lengkap jika tidak mengulas bagaimana program ditulis. Suatu program ditulis dengan mengikuti kaidah bahasa pemrograman tertentu. Bahasa pemrograman dapat dianalogikan sebagai bahasa yang digunakan untuk bercakap-cakap atau berbicara kepada mesin komputer. Hai komputer, kamu harus begini, kamu harus begitu dan seterusnya. Namun tentu kita tidak bisa melakukan hal tersebut kepada komputer, baik karena mungkin teknologi saat ini belum bisa mensupport komunikasi langsung antara manusia dengan mesin, juga karena akan terlihat aneh jika kita bicara pada komputer. Apalagi kalau komputer tersebut mati, hehe. Kembali ke soal pengertian program, kumpulan instruksi dalam bahasa manusia yang berupa sejumlah kalimat merupakan inti dari program itu sendiri. Tentu setiap bahasa program memiliki kaidah tersendiri. Manusia dapat mengerjakan suatu instruksi berdasarkan kalimat-kalimat dan komputer dapat menjalankan suatu instruksi menurut program. Barangkali, baris-baris intruksi inilah yang sering disebut sebagai script program. Sehingga, saya berharap anda sudah mengerti mengenai pengertian program menurut versi saya ini. Lagipula, saya membuka pintu komentar bagi anda yang ingin mengkoreksi pengertian program yang telah saya sampaikan diatas, karena barangkali saya keliru.



Hasil gambar untuk pengertian bahasa pemrograman

Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.

Fungsi Bahasa Pemrograman
Fungsi bahasa pemrograman yaitu memerintah komputer untuk mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu lintas di jalan raya, dll.


Bahasa Pemrograman yang kita kenal ada banyak sekali di belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game, antivirus, web, dan teknologi lainnya.



Bahasa pemrograman komputer yang kita kenal antara lain adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi dan perangkat yang menggunakannya.

Namun,secara umum bahasa pemrograman terbagi menjadi 4 kelompok, yaitu :

  • Object Oriented Language (Visual dBase, Visual FoxPro, Delphi, Visual C)
  • High Level Language (seperti Pascal dan Basic)
  • Middle Level Language (seperti bahasa C), dan
  • Low Level Language (seperti bahasa Assembly)
-> Contoh script html


Tingkatan Bahasa Pemrograman

1. Bahasa Pemrograman Tingkat Tinggi . 
    Merupakan bahasa tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari – hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler.
Sebagai contoh adalah :

BASIC, C, C++, COBOL, FORTRAN, ada, Pascal, Java , .NET

2. Bahasa Tingkat Menengah
    Disebut tingkat menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah. Contohnya bahasa C.

3. Bahasa Pemrograman Tingkat Rendah
    Bahasa tingkat rendah (Low Level Language)

Bahasa tingkat rendah merupakan bahasa pemrograman yang berorientasi pada mesin. Disebut tingkat rendah karena bahasa ini lebih dekat ke bahasa mesin daripada bahasa manusia. Yang tergolong dalam bahasa tingkat rendah adalah bahasa assembly.
Kelemahan bahasa tingkat rendah antara lain :
- sulit dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang digunakan
- bahasa assembly untuk satu jenis mikroprosesor satu dengan yang lain sangat jauh berbeda karena belum ada standardisasi. Contoh : bahasa assembly untuk mikroprosesor Intel 8088 


Proses Pembuatan Program



Proses pembuatan program yaitu kita menulis kode sumber pada teks editor misalnya notepad kemudian mengubahnya menjadi bahasa mesin yang bisa dieksekusi oleh CPU. Proses pengubahan kode sumber (source code) menjadi bahasa mesin (machine language) ini terdiri dari dua macam yaitu kompilasi dan interpretasi

Kompilasi (Compilation)

Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler. Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, C++, Pascal, Assembly dan masih banyak lagi.

Interpretasi (Interpretation)

Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter. Pada teknik interpretasi tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python, Ruby dan masih banyak lagi.

Kompilasi Sekaligus Interpretasi

Ada juga bahasa pemrograman yang menghasilkan programnya dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam pembuatan program java kode sumber diubah menjadi bytecode. Meskipun nampak seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable. Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment (JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari bytecode tersebut.
Meskipun setiap bahasa pemrograman dibuat untuk membuat program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda. Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan bahasa C atau Assembly. Contohnya sistem operasi linux yang open source. Jika anda melihat kode sumbernya anda akan menemukan bahwa linux dibuat menggunakan bahasa C. Sedangkan untuk pemrograman desktop kita bisa menggunakan Visual Basic. Bahasa tersebut dirancang oleh Microsoft untuk pemrograman desktop dengan tampilan GUI yang memukau.

Perbedaan antara Kompilasi (Compilation)dengan Interpretasi (Interpretation)


  •      Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau interpreter butuh kode sumber.
  •      Jika dengan kompiler, maka pembuatan kode yang bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing ( pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) . Kalau interpreter tidak ada proses terpisah.
  •   JIka compiler membutuhkan linker untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh linker untuk menggabungkan kode objek dengan berbagai macam library
  •    Interpreter cocok untuk membuat / menguji coba modul ( sub-routine / program-program kecil ). Maka compiler agak repot karena untuk mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking / penggabungan kembali semua objek dengan library yang diperlukan.
  •    Pada kompiler bisa dilakukan optimisasi / peningkatan kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan
Sumber : https://jadibuntu.wordpress.com/2016/02/16/pengertian-input-output-process-dan-storage-dalam-hardware/
Sumber : http://algoritma-program.blogspot.co.id/2015/02/pseudocode.html
sumber : http://serilmu.blogspot.co.id/2015/02/pengertian-flowchart-dan-simbol.html
sumber : http://woocara.blogspot.co.id/2016/02/pengertian-algoritma-contoh-algoritma.html

1 Response
  1. Unknown Says:

    Semoga Bermanfaat Bagi Pembaca