Tuesday, June 11, 2019

Tuesday, March 10, 2015

Struktur Data

Pengaplikasian Struktur Data Pada Keadaan Riil


Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.

Abstract Data Types (ADT) adalah konsep matematis yang mendefinisikan suatu tipe data, terdiri dari sejumlah nilai dan operasi. ADT terdiri dari struktur data abstrak dan operasi, dimana struktur data abstrak hanya dapat diakses dengan mendefinisikan operasi. Sekumpulan data dan operasi terhadap data tersebut, definisi-nya tidak bergantung pada implementasi tertentu. Kumpulan dari berbagai macam operasi tersebut disebut interface (Antar Muka). Dan operasi tersebut dapat dilihat dari luar karena memiliki Interface.
Secara garis besar, ADT ada beberapa bagian yaitu:
• List
• Stack
• Queue

LIST
List merupakan sebuah kumpulan benda di mana setiap benda memiliki posisi.
Misalnya:
• Urutan angka pada keyboard komputer
• Urutan lagu pada playlist Mp3 player
• Dll

STACK
Stack merupakan sebuah kumpulan benda dimana hanya benda yang baru dimasukkan yang dapat diakses atau dilihat, biasa disebut top.
Hal ini berarti bahwa didalam sebuah stack, kita dapat memasukkan (insert) dan menghapus (delete) item hanya dari posisi top tersebut. Item terakhir yang kita masukkan kedalam sebuah stack adalah item yang paling pertama harus kita keluarkan. Itulah mengapa stack juga merupakan perintah pengumpulan data secara linier disebut sebagai Last-In-First-Out (LIFO) data structure. Kalimat sederhana yang dapat menjelaskan konsep tersebut adalah kalimat “Masuk belakangan keluar duluan”.
Didalam kehidupan sehari-hari, terdapat beberapa contoh penerapan algoritma dari data structure ini, seperti membuat suatu tumpukan piring, tumpukan koin, tusuk sate, atau bahkan tumpukan koran, dimana koran yang paling terakhir ditambahkan dan ditaruh di atas tumpukan yang dapat dilihat. Salah satu contoh, dalam membuat suatu tumpukan piring kita pasti menempatkan piring pertama berada pada posisi paling  bawah, dan piring terakhir berada pada posisi paling atas. Nah, ketika kita hendak mencuci atau mengambil piring tersebut, maka kita akan mengambil piring pada tumpukkan atas terlebih dahulu dan seterusnya hingga mencapai piring paling bawah. Hal tersebut juga serupa pada tumpukan buku, koin, tusuk sate dan tumpukan koran. Ilustrasi tersebut merupakan penjelasan konsep LIFO dari stack.
http://data.tribunnews.com/foto/bank/images/Tumpukan-Koran.jpg
Contoh gambar penerapan stack dalam kehidupan sehari-hari

Berikut ini merupakan karakteristik yang dimiliki oleh stack :
- Data hanya dapat di-insert pada posisi top stack
- Data hanya dapat di-delete pada posisi top stack
- Data tidak dapat di-delete dari tengah-tengah stack tanpa memindahkan item yang ada pada atasnya terlebih dahulu

Terdapat 2 operasi basic dalam stack :
- PUSH
- POP

Ketika kita memasukkan data kedalam sebuah stack, kita dapat menyebutnya PUSH. Sebaliknya, jika kita mengeluarkan data dari sebuah stack, kita dapat menyebutnya POP. Untuk lebih memperjelas PUSH dan POP, Simaklah gambar berikut ini.




QUEUE atau ANTRIAN
Queue atau antrian adalah sebuah kumpulan benda di mana hanya benda yang terakhir dimasukkan yang dapat diakses. Queue atau Antrian merupakan perintah pengumpulan data yang disebut “First-In, First-Out”. Aplikasi ini meliputi jadwal pekerjaan dalam sebuah operasi, misalnya antrian printer job pada sebuah jaringan, antrian nasabah pada sebuah bank, dll.

Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
a. EnQueue Memasukkan data ke dalam antrian
b. DeQueue Mengeluarkan data terdepan dari antrian
c. Clear Menghapus seluruh antrian
d. IsEmpty Memeriksa apakah antrian kosong
e. IsFull Memeriksa apakah antrian penuh  


Sumber :
http://id.wikipedia.org/wiki/Struktur_data
http://dulmid99.blogspot.com/2013/06/contoh-penerapan-stack-dalam-aplikasi.html
http://www.purwadhikapress.com/konsep-stack.html

Saturday, October 25, 2014

Pengertian Dasar & Simbol Flowchart

Flowchart

 
Pengertian Flowchart
Flowchart (bagan alur) adalah diagram yang menggunakan simbol dan garis untuk menggambarkan urutan proses suatu masalah atau algoritma.
Algoritma bukan program komputer. Algoritma digunakan sebagai tahap perantara pada penulisan program komputer. Algoritma bersifat programming language independence, artinya suatu algoritma dapat diterapkan dalam berbagai bahasa pemrograman. Algoritma dapat dituangkan dalam bentuk tulisan atau gambar/bagan. Flowchart merupakan langkah awal pembuatan program. Dengan adanya flowchart, urutan proses menjadi lebih jelas. Setelah flowchart selesai disusun, pemrogram (programmer) dapat menerjemahkannya ke bentuk program dengan bahasa pemrograman. Simbol yang ada pada flowchart, menjelaskan tentang proses sesuatu dan dihubungkan dengan garis penghubung.
Simbol pada flowchart, seperti kehidupan kita sehari-hari. Seperti halnya rutinitas yang kita lakukan sebelum berangkat ke kampus dan sebagainya. Dengan kita bisa memahaminya, pembuatan flowchart akan jadi lebih mudah dan menyenangkan.

Pedoman dalam membuat flowchart, sebagai berikut :
  1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
  2. Bagan harus didefinisikan secara hati-hati dan 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. misalnya: “persiapkan” dokumen, “hitung” gaji.
  5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 
  6. Kegiatan yang terpotong dan akan disambung ke tempat lain harus ditunjukan dengan jelas menggunakan simbol penghubung. 
  7. Gunakan simbol - simbol flowchart yang standar.

Tujuan Flowchart
Tujuan utama penggunaan flowchart adalah untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman pengguna terhadap informasi tersebut.
Oleh karena itu, desain sebuah flowchart harus ringkas, jelas, dan logis.



Simbol - Simbol
Gambar berikut merupakan sebagian simbol flowchart


Contoh Flowchart
Contoh flowchart program - menentukan bilangan ganjil/genap

Pengertian Flowchart dan Contoh Simbolnya

Penjelasan algoritma dari flowchart di atas :
  1. Masukkan sebuah bilangan sembarang
  2. Bagi bilangan tersebut dengan bilangan 2
  3. Hitung sisa hasil bilangan pada langkah 2
  4. Jika hasil sisa bilangan sama dengan 0, maka bilangan tersebut bilangan genap. Tetapi jika hasil sisa bilangn sama dengan 1, maka bilangan tersebut bilangan ganjil.

Source :
E-book Buku Algoritma dan Struktur Data Bahasa C
E-book 01_1-memprogram.pdf
http://neigedevisamyono.blogspot.com/2012/12/1st-flowchart.html
http://id.wikipedia.org/wiki/Diagram_alir
SEVOCAB: Software and Systems Engineering Vocabulary. Term: Flow chart. Retrieved 31 July 2008.


























  • Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
  • Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
  • Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
  • Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
  • Setiap langkah dari aktivitas harus berada pada urutan yang benar.
  • 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.
  • Gunakan simbol-simbol flowchart yang standar
  • - See more at: http://predator-technology.blogspot.com/2013/10/pengertian-definisi-flowchart-dan.html#sthash.fAh8C3Ly.dpufFlowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
    Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
    Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
    Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
    Setiap langkah dari aktivitas harus berada pada urutan yang benar.
    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.
    Gunakan simbol-simbol flowchart yang standar





















  • Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan.
  • Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.
  • Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.
  • Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja
  • Setiap langkah dari aktivitas harus berada pada urutan yang benar.
  • 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.
  • Gunakan simbol-simbol flowchart yang standar
  • - See more at: http://predator-technology.blogspot.com/2013/10/pengertian-definisi-flowchart-dan.html#sthash.fAh8C3Ly.dpuf

    Micro Python, Bahasa Python untuk Pemrograman Mikrokontroller

    Micro Python, Bahasa Python untuk Pemrograman Mikrokontroller
    Para programmer Python kini bisa mengembangkan sayap keahliannya ke bidang hardware programming karena dengan Python sekarang kita sudah bisa memprogram mikrokontroller. Adalah Micro Python, varian dari bahasa pemrograman Python 3 yang dapat berjalan di mikrokontroller. Python selama ini dikenal sebagai bahasa pemrograman populer yang mudah dipelajari dengan penulisan sintaks yang sederhana. Dengan Micro Python Kamu bisa bikin proyek robotika Kamu dengan lebih mudah dan cepat.
    Damien George pembuat Micro Python membuat varian Python tersebut dengan menulis ulang dari nol menggunakan bahasa C dengan mengimplementasikan sintaks gramatikal Python, mencakup parser, compiler, vitrual machine, runtime system, garbage collector, dan support library agar dapat berjalan pada mikroprosessor.

    pyboard

    Micro Python berjalan di atas Python board yang sudah dia rancang seminimal mungkin dengan mengintegrasikan processor ARM 32 bit, tepatnya ARM STM32F405 dengan clock 168MHz, flash memori 1MiB, dan 192KiB RAM. Python board tersebut sudah dilengkapi dengan slot kartu micro SD, dua buah tombol, 4 buah LED, dan 30 pin input/output, real-time clock, dan built-in accelerometer. Selain itu fitur USBnya memungkinkan kita untuk memprogram Python board sebagai perangkat antarmuka komputer kita seperti mouse, keyboard, game-pad dan lain-lain.
    Kelebihan Micro Python ini, selain fiturnya yang beragam dengan ukuran yang kecil (4 cm x 3,3 cm), kode program ditulis dalam file berekstensi .py dan dapat langsung disimpan di dalam flash memory pada Python board. Proses compiling dilakukan langsung di dalam microprocessor sehingga tidak diperlukan software downloader pada PC. Hal ini sangat memudahkan proses pembuatan dan uji coba program. Selain itu, Micro Python juga dilengkapi dengan REPL (Read Evaluate Print Loop) atau interactive prompt yang memungkinkan kita untuk mengakses langsung Python board, mencoba-coba kode program dan melihat hasilnya saat itu juga.
    Micro Python adalah proyek yang mendapat pendanaan melalui Kickstarter dan sudah melampaui inisiasi pendanaan sejak bulan Desember 2013. Damien menjadikan Micro Python dan Micro Python board sebagai open source software dan open source hardware di bawah lisensi MIT sehingga siapapun dapat menggunakan, memodifikasi dan memproduksi baik untuk tujuan komersial maupun non-komersial. Semua resource baik itu kode maupun skema board dapat diakses di https://github.com/micropython/. Micro Python juga memiliki forum komunitas yang aktif dengan para programmer yang antusias mengembangkan dan melengkapi library yang ada untuk berbagai keperluan hardware.
    Satu board dihargai 24 British Pounds atau sekitar 42 Dollars. Bagi Kamu yang tertarik atau udah lama ngebet pengen ngulik robot-robotan, Kamu dapat langsung sign up pemesanan board di websitenya http://micropython.org/ untuk produksi manufaktur periode kedua.



    Sumber:
    http://micropython.org/
    https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers
    http://www.infoworld.com/t/python/micro-pythons-tiny-circuits-python-variant-targets-microcontrollers-243837
    http://www.wired.co.uk/news/archive/2013-12/06/micro-python


    Membuat Virtual Drive Dengan Gizmo Drive

    Jika anda suka bermain game di komputer, tentunya anda sudah tahu bahwa terkadang untuk menginstall game tertentu, anda perlu melakukan mount ISO file ke sebuah virtual CD-ROM drive. Kemudian, virtual CD-ROM drive tersebut akan dapat bekerja layaknya sebuah CD-ROM asli dengan sebuah CD di dalamnya. Untuk melakukan mount ISO file, ada beberapa program yang dapat anda gunakan. Salah satunya adalah Gizmo Drive.

    Gizmo Drive adalah sebuah program yang dapat digunakan pada komputer yang Windows 7, Windows Server 2008. Windows Vista, Windows Server 2003, Windows XP, dan Windows 2000. Beberapa fitur yang disediakan oleh Gizmo Drive diantaranya adalah menjalankan sistem operasi
    • Mount file ISO, CUE, BIN, atau NRG ke virtual CD-ROM drive
    • Mount file VHD untuk digunakan bersama Microsoft Virtual PC
    • Mount file image yang dilindungi password ke virtual hard drive
    • Melindungi HD images dengan password
    • Melindungi file-file penting dengan password
    • Mount file IMG ke virtual drive
    Dan masih banyak lagi. Program Gizmo Drive ini dapat anda unduh secara gratis di
    http://arainia.com/software/gizmo/overview.php?nID=4.

    Cara Enjoy Memulai Belajar Pemrograman

    Berikut ini adalah beberapa hal yang bisa Kamu lakukan untuk memulai belajar pemrograman :

    1. Mengerti dulu apa itu “programming”
    Sebelum Kamu melakukan sesuatu, Kamu harus tau dulu dong apa yang ingin Kamu lakukan. Kamu harus tau dulu apa itu programming. Sama seperti Kamu suka seorang wanita, sebelum Kamu mulai melakukan pendekatan, apalagi menembaknya, minimalnya Kamu harus punya informasi tentang dia. Misalnya Kamu harus tau berapa jumlah lubang hidungnya, apakah dia makan menggunakan tangan atau tidak, bagaimana cara berjalannya, apakah kakinya ada 2, apakah ibunya perempuan .
    Semakin banyak informasi yang Kamu tau, maka akan semakin baik. Dan mungkin akan membuat Kamu semakin jatuh cinta.
    Sebagian dari kita tidak mencoba mendalami pemrograman, karena mungkin hanya tau sebagian saja. Misalnya hanya tau, “pemrograman itu lo akan nulis kode di texteditor dan lo bisa bikin program”. Kalau hanya itu yang diketahui, wajar saja jika dia tidak tertarik untuk belajar pemrograman.

    2. Pilihlan sebuah bahasa pemrograman
    Pada akhirnya kita memang harus memilih. Banyak sekali bahasa pemrograman yang ada di dunia, mulai dari bahasa mesin, bahasa tingkat rendah, bahasa tingkat menengah dan bahasa tingkat tinggi. Kamu bisa cek sendiri di sini -> id.wikipedia.org/wiki/Bahasa_pemrograman, silahkan pelajari kelebihan dan kekurangannya masing-masing.
    Kamu mungkin bisa saja mempelajari semuanya, tapi saya sarankan pilihlah satu terlebih dahulu. Kuasailah satu terlebih dahulu. Dalamilah. Yang harus kita ingat adalah, bahasa pemrograman bukanlah sebuah agama yang kita hanya boleh memilih satu dan tidak bisa seenaknya kita ganti. Kamu bebas saja berganti-ganti bahasa pemrograman yang Kamu ingin kuasai nanti, jika Kamu mau. Tapi… Pelajarilah dulu satu. Kuasailah secara mendalam.


    3. Mulailah belajar
    Sekarang Kamu sudah tau apa itu pemrograman dan Kamu sudah punya bahasa pemrograman yang ingin Kamu kuasai, selanjutnya pelajarilah. Belajarlah algoritma dasar dengan bahasa pemrograman yang Kamu pilih. Caranya banyak sekali, bisa melalui buku, bisa juga melalui artikel-artikel di internet, atau Kamu juga bisa coba belajar pemrograman dari majalah pemrograman seperti nyankodMagz, kuliah jurusan IT, kursus pemrograman, mengikuti seminar atau workshop. Ya, banyak sekali caranya. Silahkan Kamu pilih sendiri yang paling sesuai dengan metode belajarmu.

    4. Buatlah program-program sederhana
    Belajar saja tidak cukup, harus dipraktekan. Cobalah buat program-program sederhana. Jika Kamu masih sekolah, Kamu bisa mencoba membuat program sederhana untuk mata pelajaran Matematikamu, seperti membuat program “menghitung luas lingkaran”, “menghitung volume balok”. Itu sangat menarik kawan, dulu saya melakukan hal itu. Kalau Kamu adalah seorang guru, mungkin Kamu bisa membuat program untuk menjelaskan pada muridmu bagaimana sebuah planet berputar. Atau apa saja lah… Nggak mesti yang serius juga bisa, misalnya membuat program untuk mendaftar nama mantan-mantanmu. Hehehe… Pada intinya, cobalah untuk membuat sesuatu, mulai dari yang sederhana dari apa yang Kamu sudah kuasai.


    5. Updatelah selalu informasi
    Informasi sangat penting kawan. Boleh jadi apa yang Kamu sedang pelajari sudah tidak lagi dipelajari oleh orang lain karena sudah ada yang lebih menarik atau lebih baik. Kamu tidak akan tau itu kecuali Kamu update informasi.
    Salah satu cara update informasi adalah, kamu bisa mengunjungi web-web yang senantiasa memberikan informasi, seperti SitePoint, Mashable, OMG! Ubuntu!, Tech in Asia atau w3schools, dll.

    6. Bergabunglah di grup-grup atau forum-forum pemrograman
    Kawan, Kamu tidak sendiri! Banyak sekali orang-orang sepertimu yang sedang belajar atau bahkan sudah jago. Kamu bisa menyapa mereka, bahkan Kamu bisa bertanya kepada mereka jika memang perlu.
    Ketika Kamu bergabung di forum atau grup pemrograman, Kamu akan melihat ada banyak orang hebat yang bisa Kamu tiru dan teladani dari segi programmingnya. Bahkan nggak jarang, mereka pun sering memberikan informasi-informasi penting yang mungkin bermanfaat buat Kamu. Dan ketika Kamu terlibat dalam sebuah forum, Kamu pun bisa membantu rekan-rekan yang lain yang mungkin bisa Kamu bantu.

    Demikianlah, semoga bermanfaat. Ingat kawan, memang tidak mudah belajar pemrograman. Kita harus belajar algoritma yang penuh dengan logika yang rumit, kita juga harus mempelajari sebuah bahasa pemrograman yang bahasanya nggak mirip dengan bahasa manusia. Tapi jika dijalani dan menganggapnya sebagai sebuah tantangan dan proses yang harus dilalui, ternyata itu semua bisa menjadi menyenangkan.

    Sumber : codepolitan.com/cara-enjoy-memulai-belajar-pemrograman/