Senin, 25 Mei 2015
Struktur Data STACK
TREE
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan
hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen. Bentuk tree
menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling
berhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Sehingga tree bisa
didefinisikan sebagai kumpulan simpul atau node dengan elemen khusus yang disebut root
atau akar. Contoh data yang dapat direpresentasikan dengan menggunakan tree adalah silsilah keluarga, hasil pertandingan yang berbentuk turnamen, atau struktur organisasi dari sebuah perusahaan. berikut adalah contoh struktur organisasi yang menerapkan struktur data tree.
Setiap node dapat memiliki 0 atau lebih node anak (child). Sebuah node yang
memiliki node anak disebut node induk (parent). Sebuah node anak hanya memiliki satu
node induk. Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti pohon di
dunia nyata yang tumbuh ke atas. Dengan demikian node anak akan digambarkan berada di
bawah node induknya. Node yang berada di pangkal tree disebut node root (akar), sedangkan
node yang berada paling ujung tree disebut node leaf (daun).
Bab 3 Tugas Logika dan Algoritma
1. Tipe data biasanya digunakan untuk
menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah
menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur.
Apabila kita membutuhkan tipe data yang belum tersedia, kita dapat
mendefinisikan sendiri tipe data baru yang disebut enumerated type.
2. Jenis-Jenis
Tipe Data
1. Tipe Data Sederhana.
Merupakan tipe data dasar yang sering dipakai oleh program, meliputi:
a. Integer (Bilangan Bulat).
Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan. Misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Didalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya didalam programnya tanpa harus terlebih dahulu mendefinisikannya. Contoh bilangan integer adalah: 34 6458 -90 0 1112.
1. Tipe Data Sederhana.
Merupakan tipe data dasar yang sering dipakai oleh program, meliputi:
a. Integer (Bilangan Bulat).
Penggolongan tipe data integer tersebut dimaksudkan untuk membatasi alokasi memori yang dibutuhkan. Misalkan untuk suatu perhitungan dari suatu variabel bilangan diperkirakan nilai maksimumnya 32767 kita cukup mendeklarasikan variabel bilangan sebagai integer (2 byte), daripada sebagai longint(4 byte). Didalam kompilernya, Pascal menyediakan konstanta untuk bilangan Integer yaitu: MaxInt and MaxLongInt, pemrogram bisa menggunakannya didalam programnya tanpa harus terlebih dahulu mendefinisikannya. Contoh bilangan integer adalah: 34 6458 -90 0 1112.
B. Real (Bilangan Pecahan).
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.
Bilangan real atau nyata merupakan jenis bilangan pecahan, dapat dituliskan secara biasa atau model scientific . Contoh bilangan real: 34.265 -3.55 0.0 35.997E+11, dimana E merupakan simbol perpangkatan 10. Jadi 452.13 mempunyai nilai sama dengan 4.5213e2.
d. Boolean (Logika)
Merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Turbo Pascal for Windows memiliki tiga macam jenis ini yaitu: Boolean,WordBool, dan LongBool. Tipe Boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis program yang sesuai dengan lingkungan Windows.
3. Struktur data adalah cara menyimpan atau merepresentasikan data didalam komputer agar bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol.
4. Variabel adalah suatu tempat untuk menampung data yang nilainya selalu
berubah. Sedangkan, Konstanta
adalah suatu tempat untuk menampung data yang nilainya selalu tetap dan tidak
pernah berubah.
Konstanta adalah variabel yang nilai
datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga
variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya
sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik
diperlakukan sebagai konstanta.
5. Variabel adalah nama yang mewakili suatu elemen data seperti jenkel untuk jenis kelamin dan sebagainya. sedangkan Konstanta adalah suatu nilai yang tetap didalam program
6. Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karna array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks.
7. Pengertian Stack atau Tumpukan adalah suatu
stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In
First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama
yang dikeluarkan dari stack.
Stack (Tumpukan)
adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan
dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“ TOP
dan Penghapusan selalu dilakukan pada TOP
OPERASI-OPERASI/FUNGSI
STACK Push : digunakan untuk menambah item pada stack pada tumpukan paling
atas
Pop
: digunakan untuk mengambil item pada stack pada tumpukan paling
atas
Clear
: digunakan untuk mengosongkan stack
IsEmpty : fungsi
yang digunakan untuk mengecek apakah stack sudah kosong
IsFull
: fungsi yang digunakan untuk mengecek apakah stack sudah penuh
8. Queue pada Struktur Data atau
antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan
pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan
elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau
front).
Queue
atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau
FIFO (First In First Out).
Queue
atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil
diloket Tol, Antrian mahasiswa Mendaftar, dll. Contoh lain dalam bidang
komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer
system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut
secara serempak.
Pada
Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah
pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail (
depan/front, belakang/rear).
Karakteristik
Queue atau antrian :
1.
elemen antrian
2.
front (elemen terdepan antrian)
3.
tail (elemen terakhir)
4.
jumlah elemen pada antrian
5.
status antrian Operasi pada Queue atau antrian
1.
tambah(menambah item pada belakang antrian)
2.
hapus (menghapus elemen depan dari antrian)
3.
kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
9. Tree merupakan salah satu bentuk struktur data tidak
linear yang menggambarkan
hubungan yang bersifat hirarki
(hubungan one to many) antara elemen-elemen, contoh penerapannya adalah ketika
menggambar bagan silsilah keluarga, atau struktur organisasi
10. graph
adalah struktur yang menggambarkan relasi antar obyek dari sebuah koleksi obyek.
Contoh penerapannya adalah Contohnya informasi topologi dan jarak antar
kota di suatu pulau
Bab 1 Tugas Logika dan Algoritma
Bab 1
1. Pengertian algoritma sangat lekat dengan kata logika, yaitu kemampuan seorang
manusia untuk
berfikir dengan akal tentang suatu permasalahan menghasilkan sebuah
kebenaran,
dibuktikan dan dapat diterima akal, logika seringkali dihubungkan dengan
kecerdasan,
seseorang yang mampu berlogika dengan baik sering orang menyebutnya sebagai
pribadi yang cerdas. Dalam menyelesaikan suatu masalahpun logika mutlak
diperlukan
2. Perbedaan
Algoritma dan Program
Sebagaimana
telah diuraikan di sub bab sebelumnya bahwa algoritma adalah urutan
langkah-langkah
terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis
dengan tujuan menyelesaikan suatu masalah tertentu. Sementara program adalah
kumpulan instruksi berupa pernyataan yang ditulis dengan menggunakan bahasa
pemrograman yang melibatkan pemilihan struktur data. Beberapa pakar komputer
menyatakan program dengan formula Program = Algoritma + Bahasa Pemrograman.
Pemilihan yaitu instruksi
yang dikerjakan dengan kondisi tertentu.
Kondisi
adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa
instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila
salah maka instruksi tidak akan dilaksanakan.
Pengulangan merupakan kegiatan mengerjakan sebuah atau
sejumlah aksi yang sama
sebanyak
jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan.
4. membuat program adalah belajar tentang strategi atau cara menyelesaikan suatu masalah, yang diungkapkan dalam bentuk algoritma yang mudah dibaca dan dipahami yang selanjutnya dituangkan dalam bahasa pemrograman.
bahasa
pemrograman
adalah belajar mengenai tata cara atau tata aturan penulisan pernyataan atau
statement untuk membuat program dalam bahasatertentu saja
5. Proses mengirim surat :
1. Mulai Menulis Surat
2. Masukan surat dalam amplop
3. Tempelkan perangko pada amplop
4. Tuliskan alamat tujuan dan pengirim
surat
5. Pergi ke kantor Pos dengan membawa
surat
6. Masukan surat pada Bis Surat.
7. Selesai.
6. Algoritma Mengambil Uang di ATM
1. Pergi ke ATM
2. Memasukkan kartu ATM ke mesin ATM
3. Memilih bahasa yang digunakan
4. Memasukkan kode PIN
5. Memilih jenis transaksi : 1. Tarik
Tunai
6. Memilih jumlah uang yang akan di
ambil
7. Mengambil struk dan kartu ATM
7. Algoritma
Membuat Kopi
1. Mulai
2. Siapkan air, panci, cangkir, kopi,
dan gula.
3. masukan air kedalam panci.
4. Rebus air didalam panci hingga
mendidih.
5. Setelah air mendidih masukan kopi
kedalam cangkir.
6. Tambahkan gula secukupnya sesuai
selera.
7. Masukan air mendidih kedalam
cangkir.
8. Aduk kopi hingga merata dengan gula
9. Secangkir kopi manis siap disajikan
10. Selesai
8. Algoritma Menghitung Luas
Segitiga
1.
Mulai
2. Masukkan Alas
3. Masukkan Tinggi
4. Luas segitiga=0.5*alas*tinggi
5. Tampilkan hasil luas segitiga
6. Selesai
9. Algoritma Kegiatan dari pagi sampai malam
1. Memulai dengan Bangun pagi kemudian membersihkan
kamar tidur.
2. Melaksanakan sholat shubuh lalu
mandi pagi.
3. Melanjutkan sarapan pagi lalu
berangkat ke kampus.
4. Setibanya di kampus menerima materi
mata kuliah kemudian diberi tugas.
5. Melanjutkan untuk istirahat dan
makan siang.
6. Kemudian sholat dzuhur dan masuk
kembali ke kelas.
7. Masuk kelas kembali dan menerima
materi mata kuliah.
8. Selesai menerima mata kuliah lalu
pulang ke rumah.
9. Setibanya di rumah, mandi dan sholat
ashar.
10. Melanjutkan menyicil mengerjakan
tugas yang diberikan dosen tadi pagi.
11. Kemudian sholat maghrib dan menunggu
waktu isya.
12. Melanjutkan shalat isya dan makan
malam.
13. Menyudahi makan malam lalu belajar
untuk mata kuliah besok dan memmpersiapkannya.
14. Mengakhiri belajar lalu tidur dengan
nyenyak.
10. Algoritma Mengurutkan 3 Bilangan
Acak
1. Mulai
2. Tentukan bilangan a (bilangan
pertama).
3. Masukkan bilangan a.
4. Tentukan bilangan b (bilangan
kedua).
5. Masukkan bilangan b.
6. Tentukan bilangan c (bilangan
ketiga).
7. Masukkan bilangan c.
8. Apakah anda ingin mengurutkan secara
ascending?
9. Bila anda ingin mengurutkan secara
ascending, maka :
10. Bandingkan bilangan a dengan
bilangan b.
11. Bila a lebih besar daripada b, maka
b sama dengan a (b=a) dan a sama dengan b (a=b).
12. Bila a lebih kecil daripada b, maka
a dan b bernilai tetap atau a sama dengan a (a=a) dan b sama dengan b (b=b).
13. Bandingkan bilangan b dengan
bilangan c
14. Bila b lebih besar daripada c, maka
c sama dengan b (c=b) dan b sama dengan c (b=c).
15. Bila b lebih kecil daripada c, maka
b dan c bernilai tetap atau b sama dengan b (b=b) dan c sama dengan c (c=c).
16. Bandingkan apakah ketiga bilangan
tersebut sudah urut secara ascending atau bilangan a lebih kecil dari bilangan
b, dan bilangan b lebih kecil dari bilangan c (a<b<c).
17. Bila bilangan a sudah lebih kecil
daripada bilangan b dan bilangan b sudah lebih kecil daripada bilangan c, maka
langsung ke langkah 13).
18. Bila bilangan a belum lebih kecil
daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka
kembali ke langkah 11.a).
19. Bila anda tidak mengurutkan secara
ascending, maka :
20. Bandingkan bilangan a dengan
bilangan b.
21. Bila a lebih kecil daripada b, maka
b sama dengan a (b=a) dan a sama dengan b (a=b).
22. Bila a lebih besar daripada b, maka
a dan b bernilai tetap atau a sama dengan a (a=a) dan b sama dengan b (b=b).
23. Bandingkan bilangan b dengan
bilangan c
24. Bila b lebih kecil daripada c, maka
c sama dengan b (c=b) dan b sama dengan c (b=c).
25. Bila b lebih besar daripada c, maka
b dan c bernilai tetap atau b sama dengan b (b=b) dan c sama dengan c (c=c).
26. Bandingkan apakah ketiga bilangan tersebut
sudah urut secara descending atau bilangan a lebih besar dari bilangan b, dan
bilangan b lebih besar dari bilangan c (a>b>c).
27. Bila bilangan a sudah lebih besar
daripada bilangan b dan bilangan b sudah lebih besar daripada bilangan c, maka
langsung ke langkah 13).
28. Bila bilangan a belum lebih kecil
daripada bilangan b dan bilangan b belum lebih kecil daripada bilangan c, maka
kembali ke langkah 12.a).
29. Cetak output ( bilangan a, b, c )
secara urut.
30. Apakah anda masih ingin mengurutkan
3 bilangan acak lagi?
31. Bila anda masih ingin mengurutkan 3
bilangan acak lagi, maka kembali ke langkah 4).
32. Bila anda tidak ingin lagi
mengurutkan 3 bilangan acak, maka proses pengurutan selesai.
Langganan:
Postingan (Atom)