Senin, 28 Mei 2018

Program Queue : Antrian Pendaftaran Kursus Matematika

1. gambar diatas adalah tampilan awal dari program. jika kita pilih menu nomor satu maka akan muncul tempat untuk menginputkan antrian pertama.

2. lalu gambar diatas adalah untuk menginputkan antrian ke-2

3. jika kita pilih menu nomor 3 digunakan untuk memunculkan menu untuk menge-print semua antrian atau hanya memilih salah satu.

4. gambar diatas jika kita memilih satu maka akan muncul seluruh antrian. pada antrian tersebut terdapat lima antrian dan maksimal dari antrian tersebut adalah 5. dan antrian yang tidak diisi bertuliskan kosong

5. gambar diatas jika kita memilih dua maka akan muncul untuk memilih antrian berapa yang akan dikeluarkan. disini saya memilih antrian ke 1 maka akan muncul data antrian yang di inputkan pertama kali.

6. jika kita memilih menu nomor dua adlah untuk menghapus antrian yang pertama.

7. saat ditampilkan seperti pada gambar diatas maka antrian ke 2 naik menjadi antrian ke satu dan antrian ke dua menjadi kosong. karena konsep dari queue adalah first in first out

8. dan menu yang terakhir adalah menu untuk keluar dari program






Minggu, 29 April 2018

TUGAS 3 : struktur data jenis Senarai Berantai (Linked List)


Linked list adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri dari dua bagian Linked list juga merupakan suatu cara untuk menyimpan data dengan struktur sehingga dapat secara otomatis menciptakan suatu tempat baru untuk menyimpan data yang diperlukan. Struktur ini lebih dinamis karena banyaknya elemen dengan mudah ditambah atau dikurangi, berbeda dengan array yang ukurannya tetap. berikut gambaran kecil mengenai linked list.


A. Linked List Circular

[1] Double Linked List

Pengertian secara umumnya DLLC itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field, yaitu:
  • 1 field pointer yang menunjuk pointer berikutnya "next"
  • 1 field menunjuk pointer sebelumnya " prev "
  • 1 field yang berisi data untuk node tersebut.
Double Linked List Circular pointer next dan prev nya menunjuk kedirinya sendiri secara circular. Bentuk Node DLL.

[2] Single Linked List


Single Linked List Circular (SLLC) adalah Single Linked List yang pointer nextnya menunjuk pada dirinya sendiri. Jika Single Linked List tersebut terdiri dari beberapa node, maka pointer next pada node terakhir akan menunjuk ke node terdepannya.


Linked List Non Circular

[1] Double Linked List Non Circular (DLLNC)    

adalah Double Linked List yang memiliki 2 buah pointer yaitu pointernext dan prev. Pointer next menunjuk pada node setelahnya dan pointer prev menunjuk pada node sebelumnya.

Pengertian: 

Double : artinya field pointer-nya dua buah dan dua arah, ke node sebelum dan sesudahnya.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.


Non Circular : artinya pointer prev dan next-nya akan menunjuk pada NULL. 





[2] Single Linked List Non Circular (SLLNC)


Adalah Linked List yang pointer nya selalu mengarah ke Node yang menampung *next bernilai NULL, jadi arahnya tidak menunjuk pointer didepannya sehingga tidak dapat kembali ke pointer - pointer sebelumnya. SLLNC ini juga memiliki 2 bagian, ada Tambah dan ada Hapus, masing - masing bagian ini juga masih meliputi 3 fungsi lain yaitu Belakang, Tengah, dan depan. untuk Contoh Tambah & Hapus (Depan & belakang)



C. Operasi-Operasi yang ada pada Linked List

  • Insert


Istilah Insert berarti menambahkan sebuah simpul baru ke dalam suatu linked list.
  • IsEmpty

Fungsi ini menentukan apakah linked list kosong atau tidak.
  • Find First

Fungsi ini mencari elemen pertama dari linked list
  • Find Next

Fungsi ini mencari elemen sesudah elemen yang ditunjuk now
  • Retrieve

Fungsi ini mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu dikembalikan oleh fungsi.

  • Update

Fungsi ini mengubah elemen yang ditunjuk oleh now dengan isi dari sesuatu
  • Delete Now

Fungsi ini menghapus elemen yang ditunjuk oleh now. Jika yang dihapus
adalah elemen pertama dari linked list (head), head akan berpindah ke
elemen berikut.
  • Delete Head

Fungsi ini menghapus elemen yang ditunjuk head. Head berpindah ke elemen
sesudahnya.
  • Clear

Fungsi ini menghapus linked list yang sudah ada. Fungsi ini wajib dilakukan
bila anda ingin mengakhiri program yang menggunakan linked list. Jika anda
melakukannya, data-data yang dialokasikan ke memori pada program
sebelumnya akan tetap tertinggal di dalam memori.



SUMBER :

http://vannyjw030911.blogspot.co.id/2013/04/operasi-didalam-linked-list.html
http://oneeio13.blogspot.co.id/2012/07/pengertian-macam-macam-dan-penggunaan.html

Senin, 05 Maret 2018

STRUKTUR DATA TUGAS 2 - KONSEP STRUKTUR DATA


  1.  PENJELASAN PROGRAM YANG BAGUS


  1. High Performance Software yang di buat mempunyai performance yang tinggi,walaupun digunakan oleh beberapa user
  2. Mudah digunakan Software yang dibuat mempunyai sifat “Easy to Use” yakni mudah digunakan, sehingga tidak membutuhkan proses yang lama untuk seorang user dalam mempelajarinya
  3. Penampilan yang baik Software yang dibuat harus memiliki Antar Muka/Interface yang menarik,sehigga user tidak merasa jenuh
  4. Reability Kehandalan sejauh mana suatu software dapat diharapkan untuk melakukan fungsinya sesuai dengan ketelitian yang diperlukan
  5. Mampu beradaptasi Sejauh mana software yang dibuat mampu beradaptasi dengan perubahan –perubahan teknologi yang ada
  6. Interopability Software yang dibuat haruslah mampu berinteraksi dengan aplikasi yang lain. Biasanya dapat dilihat dari adanya fasilitas Export/ Import data dari aplikasi yang lain
  7. Mobility Software yang dibuat dapat berjalan pada bermacam-macam Sistem Operasi
2. JENIS JENIS STRUKTUR DATA

       1. Struktur Data Sederhana

a. Array (Larik).
adalah struktur data statik yang menyimpan sekumpulan elemen bertipe sama.  Setiap elemen diakses secara langsung melalui indeksnya. Indeks larik harus tipe data yang menyatakan keterurutan, misalnya: integer atau karakter. Banyaknya elemen larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat berupa tipe sederhana, tipe terstruktur atau tipe larik lain. Nama lain dari Array adalah Larik, tabel, atau vektor.

b. Record (catatan)
adalah kumpulan data yang terdiri dari beberapa field(isian) dengan berbagai macam tipe data.

2. Struktur Data Majemuk

a. Linier.

Stack(tumpukan)
adalah list linier yang dikenali berupa elemen puncaknya(top), aturan penyisipan dan penghapusan elemennya tertentu (penyisipan selalu dilakukan "diatas"(top) dan penghapusan selalu dilakukan pada "top").
Karena aturan penyisipan dan penghapusan semacam itu, "top" adalah satu- satunya alamat tempat terjadinya operasi. Elemen yang paling akhir ditambahkan akan menjadi elemen yang akan dihapus. Dapat dikatakan elemen stack akan tersusun secara LIFO(last in first out).

Queue(antrian)
adalah list linier yang dikenali berupa elemen pertama(head) dan elemen terakhir(tail), dimana aturan penyisipan dan penghapusan elemennya didefinisikan sebagai penyisipan selalu dilakukan setelah elemen terakhir, penghapusan selalu dilakukan pada elemen pertama dengan kondisi satu elemen dengan elemen lainnya dapat diakses melalui informasi "next".

List dan Multi-List(Daftar)
adalah sekumpulan list linier yang dengan elemen yang bertype sama, yang memiliki keterurutan tertentu, yang setiap elemennya terdiri dari 2 bagian

b. Non-Linier.

Binary-Tree(Pohon biner)
adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang disjoint yang merupakan pohon biner yang disebut sebagai sub-pohon kiri(left) dan sub-pohon kanan(right) dari pohon biner tersebut.
Pohon biner merupakan type yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap simpul yang paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya anak.

Istilah- istilah yang digunakan sama dengan istilah pada pohon secara umum.

Graph(graf)
merupakan struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian keterhubungan sekuensial antar entitas data, struktur data tree memungkinkan pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan tak terbatas antara entitas data.
Banyak entitas- entitas data dalam masalah- masalah nyata secara alamiah memiliki keterhubungan langsung(adjacency) secara tak terbatas.

Aplikasi yang menggunakan struktur data untuk pengembangannya. 

 aplikasi perangkat lunak yang menggunakan struktur data sebagai dasar pengembangnannya diantaranya dalah game dan aplikasi aplikasi yang digunakan untuk membantu suatu kegiatan bisnis seperti aplikasi mesin kasir yang biasanya berada di toko toko. Aplikasi web yang digunkaan untuk mengurutkan abjad dalam suatu pencarian kata ataupun keyword. 

4. Algoritma yang menganalogikan abstraksi perangkat elektronik

ALGORITMA MENGGUNAKAN HANDPHONE UNTUK MENGIRIM SMS
1.       Nyalakan Handphone terlebih dahulu
2.       Buka icon pesan yang ada pada handphone
3.       Dalam menu pesan tersebut terdapat banyak menu juga diantaranya
·         Kirim pesan
·         Buka pesan
·         Kirim mms
·         Pesan tersimpan
·         Template
4.         Karena kita akan mengirim SMS maka kita pilih krim pesan
5.        Akan muncul tampilan baru untuk menuliskan pesan yang akan dikirim dan menuliskan kontak yang akan dikirimi pesan
6.         Setelah menuliskan pesan lalu tuliskan nomor tujuan, jika nomor sudah ada pilih cari kontak.
7.        Lalu setelah nomor di tulis atau ditemukan maka tinggal kita kirim.

5.  PENDEKATAN ALGORITMA

TOP-DOWN
Pendekatan Secara Top-Down dimulai dengan cara membagi algoritma yang kompleks menjadi satu atau lebih dari satu modul. Modul yang terbagi ini masih bisa diuraikan lagi menjadi beberapa sub-modul dan proses ini dilakukan berulang ulang hingga kompleksitas modul yang diinginkan terpenuhi. Metode perancangan top-down merupakan bentuk perbaikan secara bertahap yang dimulai dengan modul paling atas kemudian secarabertahap menambah modul lain yang dipanggil. Oleh karena itu, pendekatan top-down dimulai dari desain abstrak, dan desain ini disempurnakan menjadi tingkat lebih konkret pada setiap langkah hingga tercapai suatu level yang tidak mermerlukan perbaikan lebih lanjut.

BOTTOM-UP
Pendekatan secara Bottom-up merupakan kebalikan dari pendekatan top-down. Dimana dalam pendekatan ini dimulai dengan pembuatan modul paling dasar, kemudian dilanjutkan ke perancangan modul tingkat yang lebih tinggi. Modul yang memiliki tingkat lebih tinggi diimplementasikan menggunakan operasi yang dilakukakan oleh modul tingkat lebih rendah. Dengan demikian, sub modul pada pendekatan ini dikelompokkan secara bersama untuk membentuk tingkat modul yang lebih tinggi.

6. ALGORITMA PROGRAM KALKULATOR PENJUMLAHAN DAN PENGURANGAN




Sumber :


1. http://elniyuliani9.blogspot.co.id/2016/04/pengertian-dan-jenis-struktur-data.html?m=1

2. http://s1tik.blogspot.com/2015/07/jenis-struktur-data.html/m=1

3. http://learning.fr-system.web.id/matematik/artikel/sdper1jnsstrukutrdata

4. http://lutfianaridahani.blogspot.co.id/2017/02/normal-0-false-false-false-en-us-x-none.html

5. Buku algoritma dan struktur data dengan bahasa c/c++

Jumat, 23 Februari 2018

Pengertian Struktur data dan jenis jenisnya




            alam ilmu komputer, struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam meia penyimpanan komputer sehingga data dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.

            Struktur Data adalah model logika/matematik yang secara khusus mengorganisasi data. Sebuah model harus dapat mencerminkan keterhubungan data dengan dunia nyata dan bentuknya sederhana/efektif (dapat memproses data sesuai kebutuhan) 

            Dalam arti lain Struktur  Data  adalah  tata cara untuk melakukan penyimpanan, penyusunan, dan pengaturan data agar data dapat digunakan secara efisien. Dalam bahasa pemrograman struktur data  adalah  tata letak kolom-kolom data, baik yang terlihat oleh pengguna maupun yang tidak terlihat oleh pengguna, yang tidak terlihat tersebut hanya digunakan dalam proseses program saja.

  • ·Struktur Data Statis : yaitu struktur yang tidak berubah, seperti array/larik, record, himpunan.
  •   Struktur Data Dinamik :yaitu struktur yang berubah, seperti list/senerai, queue/antrian/giliran,     tumpukan/stack/timbunan
Kegunaan Struktur Data

1.)  Memudahkan dalam memahami dan memecahkan masalah  algoritma
2.)  Meningkatkan  efisiensi  memori  saat  program  komputer  sedang  bekerja
3.)  Proses reservasi memori yang tidak perlu akan diminimalisasi

Jenis jenis Struktur Data 

1.    Struktur data sederhana , meliputi:

a.    Array (Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang  bertipe sama, misalnya tipe sederhana, tipe terstruktur dan lain-lain. Setiap  elemen  dapat diakses langsung melalui indeksnya. Indeks larik harus berupa  tipe data yang berurutan dan banyaknya elemen larik harus diketahui dahulu sebelum program dieksekusi.

b.    Record (catatan)
Catatan adalah kumpulan data yang terdiri dari beberapa field (isian) dengan berbagai macam tipe data.

2.    Struktur data majemuk, meliputi:

a.    Linear

Queue (Antrian)
Queue (Antrian) adalah list linear yang dikenali elemen pertama (head) dan elemen terakhirnya (tail). Aturan penyisipan selalu dilakukan setelah elemen terakhir, dan aturan penghapusan selalu dilakukan pada elemen pertama. Antar elemen satu dengan yang lain dapat diakses melalui informasinext.

Stack (Tumpukan)
Stack (Tumpukan) adalah list linear yang dikenali elemen puncaknya (top). Aturan penyisipan selalu dilakukan diatas top, dan aturan penghapusan selalu dilakukan pada top. Elemen yang di tambahkan paling terakhir itulah elemen yang akan dihapus. Elemen stack tersusun secara LIFO (Last In First out).

List dan Multi-List (Daftar)
List dan Multi-List (Daftar) adalah sekumpulan list linear dengan elemen yang bertype sama dan memiliki urutan tertentu. Setiap elemennya memiliki 2 bagian.

b.    Non Linear

Binary tree (Pohon Biner)
Binary tree (Pohon Biner) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut akar dan dua buah himpunan lain yang disjoint yang disebut sub pohon kiri (left) dan sub pohon kanan (right). Karakteristik pohon biner adalah setiap simpul paling banyak hanya memiliki dua buah anak dan mungkin tidak punya anak.

Graph (Graf)
Graph (Graf) adalah struktur data yang paling umum. Struktur graph memungkinkan keterhubungan tak terbatas antara entitas-entitas data.


Sumber :

http://antonarizal.blogspot.co.id/2015/01/pengertian-struktur-data-dan-jenis.html
http://elniyuliani9.blogspot.co.id/2016/04/pengertian-dan-jenis-struktur-data.html?m=1
http://s1tik.blogspot.com/2015/07/jenis-struktur-data.html/m=1
http://learning.fr-system.web.id/matematik/artikel/sdper1jnsstrukutrdata


Sabtu, 23 September 2017

Pseudocode luas lingkaran & FLowchart Luas Segitiga

Pseudocode Menghitung Luas Lingkaran

Model 1
int r 
Real Llingkaran
Begin
                Prompt : masukkan r
                Read r
                Llingkaran : P (3.14) * r * r
                Output Llingkaran
End


FLOWCHART LUAS SEGITIGA

Gambar Flowchart menghitung luas segitiga dengan aplikasi DIA

Selasa, 19 September 2017

SOAL ALGORITMA

Soal nomor 1 : Jika terdapat 3 buah gelas , A berisi air warna biru, B berisi air warna meah, dan c tidak berisi air. Buatlah algoritma untuk menukar isi gelas A dan B sehingga air warna merah berada di gelas A dan air warna biru berada digelas B

Algoritma :

1.       Tuangkan air dari gelas A ke gelas C


2.       Tuangkan air dari gelas B ke gelas A


3.       Tuangkan air dari gelas C ke gelas B


4.       Hasilnya

Soal Nomor 2 : seorang petani ingin menyebrang sungai dengan membawa hewan peliharaan serigala dan kambing serta sekeranjang kubis, terdapat sebuah kapal yang dapat digunakan namun hanya bisa membawa petani tersebut dengan salahs atu bawaannya dalam sekali menyebrang. Jika seigala ditinggal bersama kambing, maka serigala akanmemakan kambing. Jika kambing ditinggal bersama kubis, maka kambing akan memakan kubis. Bagaimana petani bisa membawa serigala , kambing dan kubis sampai di seberang sungai?



Keterangan :

P          : Petani
S          : Serigala
K          : Kambing
B          : Kubis

Algoritma :

1.     Petani menyebrangkan kambing dari sisi A ke sisi B
2.     Petani menyebrang kembali dari B ke A
3.     Petani menyebrangkan serigala dari sisi A ke sisi B
4.     Petani menyebrangkan kambing dari sisi B ke sisi A
5.     Petani menyebrangkan sayur dari sisi A ke sisi B
6.     Petani menyebrang sendiri dari B ke A
7.     Petani menyebrangkan kambing dari sisi A ke sisi B

Soal nomor 3 : terdpat sekumpulan wada a,b,c,d,e,f dan g yang bersi angka seperti pada posisi A. Jika hanya boleh memindahkan satu angka dalam satu waktu dan hanya satu angka dalam satu wadah, bagaimanakah urutan langkahnya supaya angka angka tersebut menjadi seperti pada posisi B



Algoritmanya :
1.      Angka 4 pada wadah A pindah ke wadah F yang kosong
2.      Angka 1 pada wadah D pindah ke wadah A yang kosong
3.      Angka 4 pada wadah F pindah ke wadah D yang kosong
4.      Angka 5 pada wadah B pindah ke wadah F yang kosong
5.      Angka 2 pada wadah E pindah ke wadah B yang kosong
6.      Angka 5 pada wadah F pindah ke wadah E yang kosong

Minggu, 17 September 2017

Bahasa pemrograman beserta Klasifikasinya

NO
BAHASA PEMROGRAMAN
KLASIFIKASI
1
PASCAL
Bahasa Tingkat Tinggi
2
C
Bahasa Tingkat Tinggi
3
C++
Bahasa Tingkat Tinggi
4
C#
Bahasa Tingkat Tinggi
5
Java
Bahasa Tingkat Tinggi
6
Assembly
Bahasa Tingkat Rendah
7
Basic
Bahasa Tingkat Tinggi
8
Go
Bahasa Tingkat Tinggi
9
Php
Bahasa Tingkat Tinggi
10
Python
Bahasa Tingkat Tinggi