Sabtu, 07 Juli 2018

Mengenal Penyimpanan Cloud

Pengertian layanan cloud storage adalah layanan penyimpanan file di internet dimana file-file yang tersimpan bisa dikelola dari mana saja selama user masih terhubung dengan cloud storage tersebut melalui jaringan internet.
Konsep pada cloud storage adalah sama seperti pada konsep file server di suatu perusahaan. Bedanya infrastruktur pada media storage tersebut dikelola oleh provider cloud, dan selanjutnya pemanfaatannya dijadikan sebagai layanan penyimpanan file yang bisa diakses dari internet.

Keuntungan Layanan Cloud Storage

Pengertian layanan cloud storage dalam dunia internet sesungguhnya bukan merupakan layanan teknologi baru. Dahulu, layanan ini dikenal dengan sebutan virtual drive namun setelah adanya trend cloud computing maka lebih terkenal dengan sebutan cloud storage.
Layanan cloud storage memberi banyak keuntungan, antara lain Anda tidak perlu membawa media untuk menyimpan file-file yang sudah tersimpan di cloud storage karena semua data bisa diakses dari mana saja melalui jaringan internet. Tentu saja hal ini memudahkan user karena pekerjaan menjadi lebih efektf dan efisien.

Berbagai Layanan Cloud Storage Gratis

free layanan cloud storage
free layanan cloud storage
  • Google Drive
Salah satu layanan cloud storage disediakan oleh Google Drive. Anda bisa memanfaatkannya secara gratis dengan kapasitas 5GB. Google Drive juga menyediakan layanan cloud berbayar dengan biaya sekitar US$2.49 perbulan dengan kapasitas sebesar 25GB, biaya US$4.99 dengan kapasitas 100GB, atau biaya US$800 perbulan dengan kapasitas 16TB.
Untuk menggunakan Google Drive, Anda dapat mendownload aplikasinya selanjutnya menginstall di komputer hingga muncul folder Google Drive. Lalu Anda bisa langsung menggunakanya untuk menyimpan file-file maka secara otomatis akan tersinkron dengan folder cloud storage di Google Drive.Keuntungan penggunaan Google Drive bagi user gmail dan Google apps adalah file yang tersimpan di Google Drive dapat dihubungkan dengan gmail serta Google apps. Oleh karena itu bagi sesama user gmail serta google apps bisa saling berbagi file yang tersimpan di Google Drive dengan pengaturan hak akses yang disesuaikan menurut pengaturan hak akses pada file server. Artinya, users tidak perlu mengirim file melalui attachment pada email.
  • Dropbox
Sehubungan dengan pengertian layanan cloud storage, dropbox merupakan salah satu bentuk layanannya. Dropbox menyediakan layanan cloud storagesecara gratis dengan kapasitas 2GB. Selain itu juga tersedia layanan cloud storage berbayar sebesar US$10GB perbulan atau US$99 pertahun untuk kapasitas 50GB. Penawaran lainnya US$20 perbulan atau US$199 per tahun untuk kapasitas sebvesar 100GB.
Dropbox juga menyediakan layanan tambahan kapasitas sebesar 500MB bagi setiap pendaftar baru yang mendaftar menggunakan referensi dari user yang sebelumnya telah menggunakan layanan Dropbox. Untuk mulai menggunakan Dropbox, Anda perlu install software yang disediakan oleh Dropbox dalam situsnya. Anda bisa mendownload secara gratis dan selanjutnya menginstall di Windows, Linux, maupun Mac. Setelah Dropbox berhasil diinstall, maka akan muncul folder Drpbox pada komputer, sama seperti ketika Anda mendownload Google Drive.
  • com
Box,com juga menyediakan layanan cloud storage secara gratis secesar 5GB. Ketika Anda ingin kapastas lebih besar, Anda bisa menggunakan layanan cloud storage berbayar dengan biaya US$15 perbulan per users dengan jumlah maksimal usershingga 500 orang.
  • SkyDrive
SkyDrive merupakan layanan cloud storage dari Microsoft. SkyDRive juga menyediakan layanan gratis bahkan dengan kapasitas yang lebih besar, yakni sebesar 7GB.  Ada pula layanan berbayar dengan kapasitas yang lebih besar.
  • Amazon Cloud Drive
Amazon merupakan salah satu provider cloud computing yang terkenal di dunia. Amazon juga menyediakan layanan cloud storage gratisan dengan kapasitas 5GB. Layanan gratis ini tergolong baru diluncurkan oleh pihak Amazon. Sedangkan untuk layanan berbayar ada yang berharga US$29 pertahun dengan kapasitas 20GB, ada pula penawaran harga US$1000 dengan kapasitas 1000GB.

Memilih Layanan Cloud Storage Terbaik

Cloud Storage Terbaik
Cloud Storage Terbaik
Ketika akan memilih layanan cloud storageAnda perlu memperhatikan hal-hal berikut ini:
  • Kelengkapan Aplikasi
Tersedianya aplikasi kliens untuk berbagai platforms komputer, misalnya smartphone, laptop, dan tablet. Hal ini berhubungan dengan fleksibilitas akses file. Google Drive, Dropbox, SkyDrive, serta Amazon Cloud Drive memiliki aplikasi yang mendukung pada perangkat smartphone, laptop, dan tablet.
  • Fitur Sync
Fitur ini hanya tersedia untuk aplikasi di perangkat desktop atau laptop. Anda bisa memilih satu folder untuk disinlronkan pada layanan cloud storage. Fitur Sync akan mempermudah users mengakses file yang terdapat pada layanan cloud storage tanpa perlu masuk terlebih dahulu ke halaman cloud storage tersebut.
Source : https://robicomp.com/pengertian-layanan-cloud-storage-beserta-penjelasannya.html

Mengenal Pascal

Pengertian Bahasa Pemrograman PASCAL

Pascal adalah salah satu bahasa pemrograman komputer yang sering dipakai untuk belajar algoritma dan pemrograman bagi pemula terutama di bidang akademis.
Saat ini pascal juga masih menjadi bahasa pemrograman standar untuk lomba Olimpiade Sains Nasional (OSN) bidang komputer. Selain itu, mayoritas jurusan komputer di Indonesia juga menggunakan bahasa Pascal di tahun pertama bangku kuliah.
Nama Pascal diambil dari ahli matematika Prancis abad pertengahan, Blaise Pascal. Bahasa Pemrograman Pascal dikembangkan oleh Niklaus Wirth pada tahun 1970 dan mencapai puncak kepopulerannya di pada era 1970 hingga awal 1990an (terutama dengan compiler Turbo Pascal).
Pascal sempat menjadi bahasa pemrograman utama dalam pengembangan Apple Lisa, yakni cikal bakal sistem operasi Apple Macintosh, dan Apple pernah merilis sistem operasi Apple PascalPhotoshop versi pertama juga dibuat menggunakan bahasa Pascal.
Bahasa Pascal menerapkan konsep procedural dan structured programming yang baik, sehingga pas untuk belajar konsep programming. Perintah Pascal mirip dengan bahasa inggris sehari-hari seperti begin, end, write, dan read.
Apple Lisa (sumber gambar: wikimedia.org)
Apple Lisa (sumber gambar: wikimedia.org)

Fitur Bahasa PASCAL

Pascal memiliki beberapa fitur yang membuatnya cocok untuk belajar pemrograman dan untuk membuat aplikasi komersil. Beberapa diantaranya adalah:
  • Tipe data bawaan: Pascal memiliki tipe data standar yang umum terdapat dalam bahasa pemrograman komputer seperti Integer, Real, Character, dan Boolean.
  • Tipe data bentukan: Pascal membolehkan kita untuk membuat tipe data bentukan yang didefinisikan sendiri.
  • Memiliki beragam struktur data: Pascal menyediakan beberapa struktur data seperti Array, Record, File dan Set.
  • Aturan tipe data yang ketat: Pascal membatasi penggunaan tipe data secara ketat. Kita hanya bisa menggunakan variabel untuk 1 tipe data saja dan variabel tersebut harus dideklarasikan terlebih dahulu.
  • Mendukung struktural programming: Bahasa Pascal dirancang dengan konsep pemrograman terstruktur yang mendukung sub program melalui fungsi dan prosedur
  • Sederhana dan expresif: Pascal banyak menggunakan perintah-perintah dalam bahasa inggris sederhana, sehingga mudah dipahami.
  • Mendukung pemrograman objek: Walaupun tidak banyak dibahas, tetapi Pascal juga mendukung pemrograman berbasis objek, terutama pada compiler versi terakhir.

Mengenal Borland Turbo Pascal

Jika membicarakan aplikasi untuk membuat program menggunakan pascal, maka yang paling terkenal adalah Turbo Pascal.
Turbo Pascal adalah compiler (program untuk menjalankan bahasa pascal) yang dibuat oleh perusahaan asal Amerika: Borland. Turbo Pascal hanyalah salah satu dari banyak compiler pascal yang tersedia. Pada periode 1980an, terdapat aplikasi UCSD PascalMicrosoft Pascal, maupun QuickPascal yang kesemuanya digunakan untuk menjalankan bahasa pemrograman Pascal.

Compiler Free Pascal

Walaupun populer, Turbo Pascal sudah jauh melampaui zamannya. Turbo Pascal versi terakhir (Turbo Pascal 7) dirilis pada tahun 1992 untuk sistem operasi Microsoft DOS (MS-DOS) yang dijalankan pada arsitektur 16-bit. Sehingga kita tidak bisa menjalankan aplikasi Turbo Pascal di sistem operasi modern seperti Windows 7 atau 8 yang menggunakan arsitektur 32-bit atau 64-bit. Turbo Pascal juga sudah tidak dikembangkan lagi oleh Borland.
Salah satu cara untuk dapat menjalankan aplikasi Turbo Pascal 7 adalah dengan menggunakan emulator MS-DOS seperti DOSBox (www.dosbox.com). Emulator adalah sebuah program yang men-simulasikan suatu sistem di dalam sistem lain, sehingga kita bisa menjalankan Turbo Pascal dari dalam DOSBox.
Alternatif lainnya untuk menjalankan Pascal adalah menggunakan compiler Free Pascal(www.freepascal.org). Free Pascal adalah aplikasi compiler pascal yang terus dikembangkan hingga sekarang secara sukarela oleh berbagai programmer dari seluruh dunia. Free Pascal dapat digunakan secara gratis dan bisa diinstal langsung ke dalam sistem operasi modern tanpa memerlukan emulator atau aplikasi tambahan.
Tampilan Awal Aplikasi Free Pascal
Tampilan Awal Aplikasi Free Pascal
Dalam tutorial belajar pascal di duniailkom ini saya akan menggunakan Free Pascal karena kita tidak direpotkan untuk menginstall emulator dan masalah hak cipta/copyright.
Terkait dengan masalah hak cipta, Turbo Pascal 7 sebenarnya aplikasi berbayar dan tidak dirilis dengan gratis. Borland secara resmi merilis Turbo Pascal 1.0, Turbo Pascal 3.02 dan Turbo Pascal 5.5 dengan gratis, namun tidak untuk Turbo Pascal 7.
Permasalahannya, saat ini Borland juga tidak lagi menjual Turbo Pascal 7, sehingga Turbo Pascal 7 yang banyak beredar adalah ‘bajakan’ dari versi aslinya. Oleh karena itu saya juga menyarankan anda untuk menggunakan Free Pascal. Dari sisi fitur dan tampilan, baik Turbo Pascal 7 dan Free Pascal sangatlah mirip.

Perlukah Belajar Pascal?

Jika anda melihat lowongan kerja programmer saat ini, nyaris tidak ada yang membutuhkan keahlian bahasa pascal, jadi untuk apa mempelajari pascal?
Karena berbagai alasan dan sejarah yang panjang, saat ini Pascal ‘kalah bersaing’ dengan bahasa pemrograman lain, seperti C, C++, Java bahkan bahasa BASIC (melalui Microsoft Visual Basic). Ini terjadi bukan karena bahasa Pascal yang tidak ‘bagus’, akan tetapi lebih karena sisi marketing dan kurangnya dukungan Industri.
Sebagai contoh, banyak kalangan yang menganggap Pascal lebih bagus dan lebih terstruktur dibandingkan dengan BASIC, namun BASIC didukung oleh perusahaan sekelas Microsoft dengan Microsoft Visual Basic, sehingga lebih populer dibandingkan Borland Delphi (aplikasi sejenis Visual Basic yang menggunakan bahasa Pascal).
Walaupun tidak sepopuler bahasa C,C++ atau Java, saat ini Pascal masih banyak digunakan sebagai bahasa pemrograman pengantar di sekolah dan universitas.
Pascal adalah untuk anda yang ingin mempelajari algoritma dan pemrograman dari dasar, atau siswa SMA/SMK yang ingin mengikuti olimpiade komputer. Pascal juga cocok bagi siswa SMA yang berencana mengambil jurusan Ilmu Komputer / Teknik Informatika dan ingin ‘curi start’ berkenalan dengan bahasa pemrograman.
Jika anda sudah paham garis besar algoritma dan ingin menguasai bahasa ‘dunia kerja’, Pascal mungkin tidak terlalu cocok. Anda bisa langsung mempelajari C++, C#, Java, Python, atau bahasa pemrograman modern lainnya.
Source : https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-bahasa-pemrograman-pascal/

Mengenal Server

Dalam sebuah jaringan yang terdiri dari lebih dari satu buah komputer, biasanya terdapat konsep klien dan server. Server dan klien adalah dua pihak yang saling berhubungan. Sederhananya, server merupakan penyedia berbagai macam data, dokumen dan hal lainnya yang dibutuhkan oleh klien. Klien membutuhkan server untuk terhubung dalam sebuah jaringan atau untuk meminta data / file yang terdapat pada server.
Server sendiri terdapat banyak jenisnya, tergantung penggunaan dan fungsinya. Untuk lebih memahami lagi seluk-beluk mengenai server, ada baiknya untuk menyimak artikel mengenai pengertian server, jenis-jenis server, fungsi server beserta manfaat dan cara kerja server dibawah ini.

Pengertian Server

pengertian server adalah
Server merupakan sebuah tempat yang dipenuhi dengan berbagai macam informasi, dimana server memiliki tugas utama untuk memberikan sebuah service atau layanan bagi para klien yang terhubung dengannya. Terdapat berbagai macam jenis server yang ada dengan fungsi yang berbeda-beda, misalnya saja web server yang digunakan untuk menyimpan data dalam sebuah web, FTP server yang menangani perpindahan file (transfer file), mail server yang melayani urusan email para klien, database server untuk menyimpan berbagai macam data atau file dan lain sebagainya.
Sebuah komputer dapat memiliki peran sebagai server, klien, atau bahkan keduanya. Misalnya saja, Anda memakai sebuah komputer A untuk mengakses website milik pengguna B, maka kini Anda berperan sebagai klien. Sebaliknya, jika pengguna B menggunakan komputernya untuk mengakses website Anda, maka Anda kini berperan sebagai server. Konsep tersebut lebih dikenal dengan sebutan konsep peer to peer.

Jenis-Jenis Server

fungsi server
Proxy server, salah satu jenis server yang digunakan untuk membatasi permintaan data
Terdapat beragam jenis server yang ada, dengan fungsi dan kegunaan yang berbeda-beda. Berbagai jenis server tersebut bisa anda lihat dibawah ini:
  1. Proxy server : membatasi permintaan data, kinerja koneksi, dan berbagi file antar server dan client di luar jaringan. Selain itu, proxy server ini juga berfungsi sebagai gerbang antara jaringan lokal dan jaringan luar (internet)
  2. Telnet server : mengatur komputer dengan melakukan log in dan log out pada komputer host.
  3. Virtual server : membuat sejumlah server fisik seolah-olah seperti menjadi beberapa server.
  4. Web server : menyimpan konten pada website dan berkomunikasi menggunakan HTTP.
  5. Audio dan video server : menyimpan fitur multimedia sebuah website.
  6. FTP server : mengatur transfer data dalam sebuah jaringan
  7. Aplikasi server : mengolah perintah yang diberika oleh klien dan menghubungkannya dengan database.
  8. Mail server : menyimpan berbagai macam surat elektronik, menangani berbagai permintaan klien.
  9. News server : mendistribusikan berbagai macam berita melalui jaringan berita.

Fungsi Server

Walaupun terdapat beragam jenis server, namun secara umum sebuah server memiliki fungsi yang sama. Berikut merupakan berbagai macam fungsi server secara umum :
  1. Melayani dan bertanggung jawab penuh terhadap permintaan data dari komputer klien.
  2. Menyediakan berbagai macam resource untuk dapat digunakan semua komputer klien yang masuk dalam jaringan, baik itu berupa perangkat keras maupun perangkat lunak/aplikasi.
  3. Bertanggung jawab dalam mengatur lalu-lintas data.
  4. Menyimpan berbagai file dan data untuk dapat diakses bersama-sama menggunakan protokol FTP.
  5. Mengatur hak akses (permissions) ke dalam sebuah jaringan, sehingga tidak semua klien mampu mengakses data yang terdapat dalam komputer server.
  6. Menyediakan aplikasi dan database yang mampu dijalankan di semua komputer klien.
  7. Memberikan perlindungan untuk komputer klien dengan pemasangan firewall atau anti malware di komputer klien.

Manfaat Penggunaan Komputer Server

Dengan menggunakan sebuah komputer server, berbagai biaya dan juga waktu dapat dipangkas, sehingga sebuah kegiatan menjadi lebih ekonomis. Misalnya saja, jika di sebuah perusahaan terdapat sebuah komputer server yang terhubung ke semua komputer lain sebagai kliennya, maka sebuah data dapat dibagikan ke sesama klien dalam jaringan perusahaan tersebut.
jenis jenis server
Hampir semua komputer server memiliki spesifikasi yang tinggi
Kemudian jika misalnya ada komputer klien yang ingin mencetak sebuah file, maka bisa langsung melalui komputer server, sehingga hanya dibutuhkan satu buah printer saja. Tentu jauh lebih ekonomis dibandingkan dengan jika harus melakukan pemasangan printer untuk tiap komputer yang ada di perusahaan tersebut. Untuk membuat sebuah komputer server, terdapat beberapa hal yang harus diperhatikan, seperti :
  • RAM : kapasitas memori yang besar agar proses multitasking menjadi lebih cepat.
  • Processor : komputer sever sebaiknya memiliki kecepatan akses prosesor yang mumpuni agar kinerja tetap terjaga dan tidak down.
  • Hard Drive : berguna untuk menyimpan berbagai macam data komputer klien yang terpusat pada komputer server. Kebanyakan server canggih lebih memilih menggunakan SSD ketimbang hard drive atau harddisk karena performa atau kinerjanya lebih baik.

Cara Kerja Server

Secara sederhana, server bekerja atas permintaan dari sebuah klien. Misalnya saja, untuk kasus web server, ketika Anda mengetikkan suatu alamat website menggunakan browser, maka artinya komputer Anda sedang bertindak sebagai klien yang meminta informasi kepada web server. Web server tersebut kemudian mengirimkan isi website ke komputer Anda, sehingga Anda pun dapat mengakses isi website tersebut.
cara kerja server
Salah satu konsep cara kerja dari server (web server)
Untuk kasus lainnya, seperti server FTP, mungkin agak sedikit berbeda. Pada server FTP, Anda dapat mengunggah sebuah dokumen atau data menuju server FTP, sehingga dapat disimpan dalam server tersebut. Sebagai klien, Anda berhak untuk menyimpan data Anda di server FTP.
Nantinya, jika ada orang lain yang tergabung dalam jaringan server tersebut dan ingin mengunduh data atau dokumen Anda, maka server FTP akan menyediakan koneksi untuk klien lain tersebut. Secara umum, semua jenis server bekerja dengan menjalankan fungsi-fungsi yang telah disebutkan sebelumnya, mulai dari melayani permintaan data dari klien hingga memberikan perlindungan pada komputer klien. Hanya saja, untuk jenis server yang berbeda, hal yang dilayani pun berbeda.
Demikianlah penjelasan mengenai pengertian server, jenis-jenis server, fungsi server beserta manfaat dan cara kerja server. Semoga artikel diatas membantu Anda untuk lebih memahami dunia jaringan komputer beserta konsep klien-server yang ada di dalamnya.
Source : https://www.nesabamedia.com/pengertian-server-dan-fungsi-server/

Mengenal Flowchart

Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.
Berikut ini adalah beberapa simbol yang digunakan dalam menggambar suatu flowchart :
Flowchart terbagi atas lima jenis, yaitu :
  • Flowchart Sistem (System Flowchart)
  • Flowchart Flowchart Dokumen (Document Flowchart)
  • Flowchart Skematik (Schematic Flowchart)
  • Flowchart Program (Program Flowchart)
  • Flowchart Proses (Process Flowchart)
Flowchart Sistem
Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem.
Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
Flowchart Dokumen
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. Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.
Flowchart Skematik
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.
Flowchart Program
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 alir logika program ini dipersiapkan oleh analis sistem.
Flowchart Proses
Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Bagan alir proses menggunakan lima buah simbol tersendiri seperti terlihat pada tabel di bawah ini.
Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.

Jenis flowchart dan perbedaanya

 Flowchart adalah sekumpulan gambar – gambar tertentu untuk menyatakan alur dari suatu program yang akan diterjemahkan ke salah satu bahasa pemrograman. Kegunaan flowchart sama seperti halnya algoritma yaitu untuk menuliskan alur program tetapi dalam bentuk gambar atau symbol.
Flowchart dibagi menjadi dua (2) bagian, yaitu :
1. Flowchart yang menggambarkan alur suatu sistem
2. Flowchart yang menggambarkan alur dari suatu program.

Perbedaan DFD dan Flowchart

 berikut Perbedaan antara DFD dan Flowchart
1. DFD menunjukkan alur data di suatu sistem sedangkan flowchart sistem menjelaskan alur kerja atau prosedur-prosedur yang ada di dalam sistem
2. DFD prosesnya dapat dilakukan serentak atau pararel sedangkan flowchart alur datanya harus urut
3. DFD tidak ada looping sedangkan flowchart ada looping
4. DFD tidak ada proses perhitungan sedangkan flowchart ada proses perhitungan
Source : https://rahmatarifianto.wordpress.com/2014/11/20/pengertian-flowchart-dan-jenis-jenisnya/

Mengenal 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)
  2. 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.
  3. Algoritma Perulangan (Looping Algorithm)
  4. 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.
  5. Algoritma Percabangan atau Bersyarat (Conditional Algorithm)
  6. 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.

Source : http://woocara.blogspot.com/2016/02/pengertian-algoritma-contoh-algoritma.html