Selasa, 10 Maret 2015

Contoh Pengaplikasian Struktur Data

Postingan kali ini berkaitan dengan mata kuliah Struktur Data dalam kurikulum perkuliahan Teknik Informatika. Dan karena kepentingan itu, maka penulis ingin mencoba menganalisa dan memberikan ringkasan materi tentang apa itu Struktur Data dan bagaimana pengaplikasiannya.

Pernahkah kita mengamati bahwa sebenarnya apa yang terjadi dalam kehidupan keseharian kita adalah bentuk nyata dari Struktur Data. Mari kita amati beberapa kejadian berikut :


1. Managemen Bandwith dalam jaringan komputer.
sumber : http://wiki.mikrotik.com

2. Software Download Manager
sumber : http://freewareupdate.com
3. Daftar perintah PRINT dokumen dalam aplikasi pengolah kata.
sumber : http://www.groovypost.com
Ketiga contoh diatas adalah bentuk aplikasi nyata dalam Algoritma Struktur Data yaitu QUEUE atau "Antrian" dalam bahasa Indonesia. Dan dari contoh tersebut bisa dipahami prinsip kerja dari algoritma ini, yaitu : Data/Tugas/Objek yang pertama dimasukkan (diinputkan) akan diproses terlebih dahulu. Karena dalam algoritma ini tidak memungkinkan memproses data/objek secara acak, karena sudah membentuk suatu urutan.
Konsep tersebut juga dikenal dengan metode FIFO yaitu, First In First Out. Yang pertama kali masuk  yang akan pertama kali dikeluarkan.

Dalam QUEUE, dikenal beberapa fungsi / operasi yang digunakan yaitu :
1. PEEK : untuk mengetahui data/objek yang berada dalam urutan terdepan yang akan dikeluarkan / diproses.
2. EQUEUE : untuk memasukkan data/objek kedalam antrian. (sama seperti fungsi PUSH dalam STACK).
3. DEQUEUE : untuk mengeluarkan data terdepan dalam antrian. (sama seperti fungis POP dalam STACK).
4. IsEmpty : untuk memerika apakah antrian kosong.
5. IsFull : untuk memeriksa apakah antrian penuh.
6. Clear : menghapus seluruh antrian.

mungkin sampai disini pembahasan dari contoh pengaplikasian Struktur Data dalam aplikasi nyata yang ada disekita kita setiap harinya terutama untuk Algoritma Struktur Data QUEUE. dan mungkin bila ada waktu, penulis akan mencoba membahas algoritma struktur data yang lain.

terima kasih telah membaca tulisan saya ^^

ttd 

penulis


NB : sumber artikel ini adalah www.gooogle.com dan dengan sedikit penambahan buah pemikiran penulis.
written by : Aditya Gunawan Wibisono (06.2014.1.06311) & Nanda Hafiz A. (06.2014.1.06312)

Minggu, 26 Oktober 2014

Kendali Program Pada C++

Sebelum ke topik pembahasan, penulis ingin meminta maaf jika nanti di dalam pembahasan terdapat kesalahan kata/makna dikarenakan ini "first time" penulis nge-blog :D hehehehe...

Oke, kali ini saya ingin membahas Kendali Program yang ada di dalam C++. Sebelumnya, saya akan mereview beberapa hal terlebih dahulu, yakni :
  1. Apa itu Algoritma ?
  2. Apa itu Flowchart ?
2 hal diatas adalah dasar dari Kendali program ? Control Statement. Nah disini saya tidak akan membahas terlalu dalam mengenai 2 hal tsb. Akan tetapi saya akan memberikan definisi singkat yang mampu memberikan pemahaman tentang Algoritma dan Flowchart.
  • Algoritma adalah urutan langkah - langkah logis untuk menyelesaikan sebuah masalah. (Algoritma menurut id.wikipedia.org adalah : Dalam matematika dan ilmu komputer, algoritma adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritma digunakan untuk penghitungan, pemrosesan data, dan penalaran otomatis.)
  • Flowchart adalah bagan alur. Yaitu Algoritma yang ditulis dalam bentuk sebuah bagan yang memiliki alur proses dan menggambarkan setiap langkah - langkah dari algoritma tsb.("gambaran dalam bentuk diagram alir dari algoritma dalam suatu program atau prosedur sistem secara logika, yang menyatakan arah alur programdalam menyelesaikan suatu masalah")

Nah, sekarang kita sudah tahu apa itu Algoritma dan Flowchart. Berikutnya kita akan mengupas "Apa itu Kendali program / Control Statement" ?

Kendali program / Control Statement adalah :

"Suatu proses pengendalian bagian pernyataan yang akan di proses program, dengan memuat suatu kondisi penentu apa pernyataan itu dijalankan atau tidak. Pernyataan dijalankan jika kondisi terpenuhi, jika tidak pernyataan akan diabaikan dan program akan melanjutkan ke proses berikutnya"

Secara singkat kendali program dapat disimpulkan sebagai salah satu cara untuk mengendalikan program sesuai dengan maksud programmer dari program tsb.

Pada dasarnya kendali program memberikan sebuah algoritma pengecekkan terhadap kondisi tertentu di dalam program.

Di dalam pembuatan Flowchart, biasanya algoritma Kendali program disimbolkan dengan bidang belah ketupat (Decission).

Lantas apa tujuannya ada pengecekan kondisi ? proses ini bertujuan untuk mengetahui apakah program sudah mencapai kondisi yang diinginkan oleh si pembuat program (programmer).

Di dalam C++ sendiri, Kendali program / Control Statement dibagi menjadi 2 yaitu :
1. Percabangan (Branching),
2. Perulangan (Looping),


  • Percabangan (Branching)

Dengan percabangan, maka program akan menjalankan suatu proses ketika memenuhi syarat dari percabangan tersebut, ada beberapa tipe percabangan :

  • if



if dapat digunakan untuk melakukan proses ketika syarat if dipenuhi. Sebagai mana digambarkan dengan flowchart dibawah ini :


Proses akan bisa dijalankan ketika syarat dari if terpenuhi. Sebagai contoh, berikut adalah syntax penggunaan if di dalam C++ :




Nah dari syntax diatas, kita bisa mengetahui bahwa proses menampilkan kata - kata "Bilangan A lebih besar dari bilangan B" terjadi karena syarat dari if telah terpenuhi.


  • if - else

if - else digunakan untuk melakukan percabangan di dalam program, syntax ini memungkinkan programmer untuk melakukan proses jika syarat dari if tidak terpenuhi. Untuk lebih jelasnya, mari kita lihat flowchart dibawah :


Statement if akan dijalankan ketika syarat dipenuhi, dan Statement else akan dijalankan ketika syarat tidak dipenuhi. Sebagai contoh, berikut adalah syntax penggunaan if - else di dalam C++ :




  • if - else if (if bertingkat)

if - else if / if bertingkat digunakan untuk melakukan banyak percabangan di dalam program, syntax ini memungkinkan programmer untuk membuat beberapa pilihan proses / statement dari beberapa syarat yang diinginkan. Untuk lebih jelasnya, mari kita lihat flowchart dibawah :


Dari gambar diatas, terdapat 3 proses yang akan dijalankan bila syarat-syaratnya dipenuhi berdasarkan Flowchart tsb. Sebagai contoh, berikut adalah syntax penggunaan if - else if di dalam C++ :



  • Perulangan (Looping)

Dengan perulangan, maka program akan menjalankan suatu proses sebanyak nilai dari perulangan tersebut, ada beberapa tipe perulangan :

  • FOR

Syntax FOR digunakan untuk melakukan perulangan dengan jumlah perulangan yang sudah diketahui. Syntax FOR sendiri memiliki beberapa bagian, yaitu :
for (initialization, condition, increase/decrease) {statement}

Expression bisa berupa conditonal statement atau bilangan, sama dengan syarat pada statement ‘if’
  •  
sebagai contoh, mari kita lihat syntax dibawah ini :



hasil yang didapatkan dari syntax diatas :


untuk lebih memahami dan mengerti konsep looping dengan FOR berikut saya sertakan Flowchart untuk looping dengan FOR :


Penjelasan detail untuk contoh looping dengan FOR :
  • i adalah suatu variabel,disebut variable kontrol.
  • i = 1 disebut bagian inisialisasi. Bilangan inisialisasi bisa berupa literal (misal:i=2) atau variabel (misal: i=a).
  • i<=5 disebut syarat / kondisi, bisa berupa literal (misal: i<=8) atau variabel (misal: i<=y).
  • i++ disebut bagian increment.
  • Potongan program tersebut jika dijelaskan dengan suatu kalimat: "Dari i=1 dan selama i<=5, tampilkan teks “baris ke-i” kemudian i ditambah dengan 1 (i=i+1)"
nah berikutnya kita akan membahas tentang Looping dengan WHILE...

  • WHILE
While adalah perulangan yang dilakukan oleh program selama kondisi while terpenuhi (bernilai benar).Berikut contoh syntax WHILE :
while (expression) {statement;}

  • Expression bisa berupa conditonal statement atau bilangan, sama dengan syarat pada statement ‘if’.

 Berikut saya sertakan contoh syntax dengan looping while :


Syntax diatas bila dieksekusi / dijalankan maka akan memberikan hasil seperti berikut :

Berikut adalah Flowchart dari looping While :


Looping yang ketiga adalah looping dengan menggunakan syntax DO-WHILE..

  • DO-WHILE

Do - While adalah syntax perulangan yang akan mengerjakan proses 'do' (statement perulangan) hingga syarat while terpenuhi. Berikut contoh syntaxnya:
Do {Statement} while (expresion);
sebagai contoh, mari kita lihat syntax Do-While di dalam C++ :


 Hasil yang didapat dari menjalankan syntax diatas akan sama dengan syntax while, karena memang instruksi dan syaratnya sama, akan tetapi secara Flowchart terdapat perbedaan. Yaitu Proses akan dijalankan terlebih dahulu, barulah pengecekkan terhadap syarat dilakukan. Untuk lebih memahami, mari kita lihat Flowchart dibawah :



Sekarang untuk bagian looping telah selesai saya bahas, akan tetapi masih ada beberapa hal yang saya tambahkan untuk melengkapi pembahasan saya kali ini, yaitu :

  • NESTED LOOP
Untuk pembahasan ini, saya tidak membahas terlalu jauh. Tapi semoga mampu mewakili pemahaman anda tentang Nested Loop. Nested Loop atau disebut juga Looping bersarang adalah looping yang terdapat di dalam sebuah looping. Nah lho, bingung kan ? coba anda bayangkan seperti ini : ada kotak di dalam sebuah kotak. nah seperti itu lah Looping Bersarang atau disebut juga Nested Loop.

Untuk mempermudah pemahaman, saya akan tunjukkan syntax dari Nested loop tersebut :


Dan ketika program diatas dijalankan, maka akan tampak seperti dibawah ini :


nah sekian pembahasan saya tentang Nested loop, jika anda ingin memperdalam pemahaman tentang Nested Loop silahkan membuka referensi tentang nested loop di bagian paling bawah.

  • BREAK
Apa itu Break ? Break adalah syntax yang digunakan untuk memberhentikan program secara paksa jika suatu kondisi tertentu telah tercapai. Nah coba perhatikan syntax dibawah ini :



Bisakah anda menganalisa Flowchart dan membuat hasilnya sendiri ?? Selamat Berfikir (^_^)

untuk mempermudah analisa, saya sertakan referensi untuk menamabah wawasan anda.

Salam
-Adz-

Refferensi :