Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
Pengenalan Algoritma
Mengetahui Pengantar dan Sejarah
Mengetahui Algoritma dan Data
Memahami Bahasa Pemrograman dan Paradigma
Memahami Metode dan Correctness Algoritma
Mengetahui Efisiensi dari Algoritma
Memahami Ketidakefisienan dan Intractability
Memahami Noncomputability dan Undecidability
Mengetahui Algoritma yang Universal dan Kekuatannya
Memahami Parallelism
Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses.
Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.
Apa Itu Efisiensi Algoritma ?
Algoritma yang dapat dikatakan sebagai algoritma yang efisien, merupakan algoritma yang dimana pada saat pemrosesan algoritma tersebut tidak memakan banyak waktu dan juga ditak memakan banyak memori dalam pemrosesannya.
Seperti yang sudah di jelaskan, efisiensi algoritma umumnya di tinjau dari 2 hal, yaitu efisiensi terhadap waktu, dan efisiensi terhadap memori.
Walaupun algoritma yang memberikan keluaran yang benar (paling mendekati kenyataan), tetapi jika harus menunggu berjam-jam atau mungkin berhari-hari untuk mendapatkan outputannya (dalam hal ini yang dimaksudkan adalah efisiensi dalam waktu), algoritma tersebut biasanya tidak akan dipakai. Kebanyakan orang lebih menginignkan algoritma yang memiliki pengeluaran atau hasil outputan yang lebih cepat. Waktu yang diperlukan (running time) oleh sebuah algoritma cenderung tergantung pada jumlah input yang diproses.
Running time dari sebuah algoritma adalah fungsi dari jumlah inputnya. Running time dari suatu algoritma berbeda-beda bergantung pada input yang diberikan. Dengan demikian pengukurannya dihitung sebagai fungsi dari besarnya input yang diberikan.
Pertemuan 1 : Kontrak perkuliahan, Penjelasan relevansi matakuliah, Mengukur pengetahuan awal mahasiswa, Pembagian Tugas/Praktikum.
Pertemuan 2 : Pengenalan Lambang algoritma, Fungsi- Fungsi Lambang
Pertemuan 3 : Flowchart System dan Flowchart Program, Membuat Flowchart
Pertemuan 4 : Jenis-jenis perulangan, contoh program perulangan, membuat Latihan perulangan
Pertemuan 5 : Jenis-jenis decision, contoh penggunaan If-then, penggunaan If-then-else
Pertemuan 6 : Penggunaan While, For, Repeat
Pertemuan 7 : Penggunaan Case, Do-Case, Sellect Case
Pertemuan 8 : UTS
Pertemuan 9 : Instal Bahasa pemrograman Pascal, Mathlab dan Bahasa pemrograman Java
Pertemuan 10 : Menyusun kebenaran program dasar, tahapan kompilasi program, menguji kebenaran program
Pertemuan 11 : Statement perulagan/loping, contoh perulangan pada suatu kasus
Pertemuan 12 : Statetment dasar decision, penerapan decision dalam
pemrograman
Pertemuan 13 : Kasusu hitungan dasar matematika, kasus hitungan dasar
Fisika dan kasus hitungan dasar secara umum
Pertemuan 14 : Suhu dalam Celcius, Reamur, Fahrenheit, dan Kalvin, contohcontoh program koversi
Pertemuan 15 : Merancang menu aplikasi, penulisa coding, pemanggilan Form
Pertemuan 16 : UAS
ORDER https://wa.me/6282186148884 , Pelita Mas adalah perusahaan yang bergerak di bidang Industri Beton dan Paving Block. Paving Untuk Taman, Pelita Mas Paving Block, Pengunci Paving, Pengunci Paving Block, Pinggiran Paving.
Temukan keindahan luar biasa dalam taman paving kami yang eksklusif. Dengan desain yang elegan dan tahan lama, taman paving kami menciptakan ruang luar yang memikat. Pilihlah kualitas terbaik untuk keindahan yang abadi. Jual taman paving, wujudkan taman impian Anda hari ini!
Kami melayani pengiriman ke area Kota Malang dan Kota Batu. Kami Juga melayani Berbagai Macam Pemesanan Genteng Beton dan Paving Block dalam jumlah Besar untuk keperluan Perumahan, Perkantoran, Villa, Gedung, Pembangunan Kampus, Masjid, dan lainnya.
Produk yang kami produksi terdiri dari :
1. Genteng Beton Multiline
2. Genteng Beton Urat Batu
3. Genteng Beton Royal
4. Genteng Beton Vertical
5. Wuwung Genteng
6. Paving ukuran 20x20, 10,5x21, Diagonal
7. Kanstin dan Topi Uskup
8. Pagar Panel
9. Paving Corso 50x50
10. Paving Grass Block Lubang
Untuk informasi lebih lanjut serta pemesanan, hubungi :
Pabrik Genteng Beton dan Paving Pelita Mas
Jl Raya Tlogowaru No 41, Tajinan, Kedungkandang, Malang
Hub kami via whatsapp
https://wa.me/6282186148884
Hub kami via whatsapp
https://wa.me/6282186148884
Lokasi Pabrik kami
https://maps.app.goo.gl/bmDrQ87yF6gQvHnf8
Jasa Cuci Sofa Terdekat Bogor Barat Bogor.PDFRajaclean
Jasa Cuci Sofa Bogor Barat Bogor, Cuci Sofa Terdekat Bogor Barat Bogor, Laundry Sofa Bogor Barat Bogor, Cuci Sofa Jakarta Bogor Barat Bogor, Cuci Sofa Kulit Bogor Barat Bogor, Cuci Sofa Panggilan Bogor Barat Bogor, Cuci Sofa Di Rumah Bogor Barat Bogor, Jasa Cuci Sofa Terdekat Bogor Barat Bogor, Cuci Sofa Fabric Bogor Barat Bogor, Laundry Sofa Terdekat Bogor Barat Bogor,
Jasa cuci sofa kini semakin diminati karena kepraktisannya. Dengan menggunakan jasa ini, Anda tidak perlu repot mencuci sofa sendiri. Profesional dalam bidang ini dilengkapi dengan peralatan modern yang mampu membersihkan sofa hingga ke serat terdalam, menghilangkan kotoran dan bakteri yang tidak terlihat.
ppt metodologi penelitian bisnis digital Al faizAlfaiz21
Perkembangan teknologi saat ini telah memasuki segala bidang atau aspek, kita diperhadapkan dengan berbagai teknologi salah satunya pada investasi atau trading secara real-time. Salah satu bidang investasi yang cukup populer saat ini adalah perdagangan valuta asing atau Foreign Exchange (Forex). Pasar Foreign Exchange (forex) adalah inter-bank atau inter-dealer yang didirikan pada tahun 4971 ketika nilai tukar mengambang (floating rate) mulai diberlakukan. Tingginya minat dan ketertarikan masyarakat dunia terhadap dunia valuta asing atau forex (foreign exchange) meningkat cukup drastis dari tahun ke tahun. Hal tersebut dapat kita lihat dari data statistik yang diolah oleh BIS (Bank for International Settlement), yang mana menunjukkan data turnover foreign exchange market dari tahun 2001 yang hanya berkisar 1.239 billion menjadi 5.067 billion di tahun 2016 (Bank of International Settlement, 2016).
Forex merupakan sebuah investasi yang tergolong high risk dan high return investment program. Sebuah investasi yang memiliki risiko tinggi, tentu timbal baliknya juga profit yang tinggi, jadi kedua sisi, baik itu profit maupun risiko ini tidak dapat dipisahkan satu sama lainnya. Investasi menempatkan modal pada suatu perusahaan atau aset dengan harapan menghasilkan keuntungan dalam jangka waktu tertentu. Dalam berinvestasi, harapan utama investor adalah memperoleh keuntungan dari transaksi yang dilakukannya. Transaksi yang dilakukan di Pasar Forex adalah antara dua pihak yang sepakat untuk melakukan perdagangan melalui fasilitas telepon atau electronic network sehingga investor dan pihak perusahaan tidak harus bertemu secara langsung untuk bertransaksi kecuali ketika penyerahan modal. Dalam melakukan investasi tersebut setiap perusahaan umumnya akan berusaha agar perluasannya dapat berkembang sesuai dengan tujuan perusahaan yaitu untuk mendapatkan laba sebesar-besarnya untuk kelangsungan hidup perusahaan.
DAFTAR GACOR KETIK DI GOOGLE >> agensunda.com
SUNDABET Situs Slot Gacor dengan Maxwin Tertinggi Hari Ini telah menjadi salah satu situs judi slot online terpercaya selama 3 tahun terakhir bagi para pemain judi online di Indonesia.
SUNDABET Situs Slot Gacor dengan Maxwin Tertinggi Hari Ini telah menjadi salah satu situs judi slot online terpercaya selama 3 tahun terakhir bagi para pemain judi online di Indonesia. Tentunya memiliki berbagai jenis permainan Judi Online seperti Togel, Live Casino, Poker Online, Slot Online dan Judi Bola dalam 1 akun, sehingga membuat para member akan lebih nyaman dalam bermain.
SUNDABET » Daftar Akun VVIP Hanya Hari ini di Situs Slot Paling Gacor
SUNDABET » Situs Judi Online Terpercaya dengan Pilihan Slot Gacor dan Live Casino Terbaik
Slot gacor sampai hari ini masih menarik minat para pemain dikarenakan cara bermainnya sangat mudah bagi pemula, selain itu kesempatan untuk menang sangat besar. Tidak heran jika SUNDABET menjadi salah satu Situs Slot favorit bagi pecinta Judi Online.
Situs SUNDABET tentunya juga memiliki berbagai jenis permainan Judi Online seperti Togel, Live Casino, Poker Online, Slot Online dan Judi Bola dalam 1 akun, sehingga membuat para member akan lebih nyaman dalam bermain. Tentunya kami juga memberikan berbagai macam promo dan bonus yang dapat di claim setiap harinya seperti Bonus New Member, Garansi kekalahan, Cashback, Rollingan.
SUNDABET berkomitmen untuk mengesahkan taruhan yang bertanggung jawab seperti halnya mempromosikan kesadaran akan masalah judi dan meningkatkan pencegahan, intervensi dan pelayanan. Kebijakan Pertanggungjawaban Permainan SUNDABET menetapkan komitmennya untuk meminimalisir efek negatif dari masalah judi dan untuk mempromosikan praktek perjudian yang bertanggung jawab.
Kami percaya ini tanggung jawab kami untuk anda, pelanggan kami, untuk memastikan bahwa anda menikmati pengalaman bertaruh di situs kami, sementara tetap menyadari penuh terhadap kerugian sosial dan keuangan yang terkait dengan masalah perjudian.
Dalam rangka membantu pemain kami dalam pertanggunjawaban perjudian, kami memastikan bahwa semua staf kami memiliki kesadaran pertanggunjawaban perjudian. Silahkan menghubungi kami jika anda membutuhkan informasi atau bantuan lebih lanjut.
Bertaruh dibawah batas umur 18 tahun merupakan tindakan ilegal di SUNDABET. SUNDABET memiliki tanggung jawab yang serius untuk masalah ini. SUNDABET mempunyai hak untuk meminta bukti umur dari pelanggan manapun dan untuk melakukan pengecekan untuk memverifikasi informasi yang disediakan. Akun pelanggan mungkin akan ditutup untuk sementara dan dana akan ditahan sampai tersedia bukti yang memadai mengenai umur anda.
Untuk pelanggan kami yang menginginkan untuk membatasi dirinya dari berjudi, kami menyediakan fasilitas pengecualian diri yang memungkinkan pelanggan untuk menutup akunnya untuk minimum waktu 6 bulan sampai 5 tahun sesuai dengan permintaan. Silahkan hubungi Petugas Layanan Pelanggan melalui “Live Chat”
Forex, atau Foreign Exchange, adalah pasar global untuk perdagangan mata uang yang merupakan yang terbesar dan paling likuid di dunia, dengan volume perdagangan harian mencapai triliunan dolar. Pasar ini beroperasi 24 jam sehari melalui jaringan komputer global yang melibatkan bank, pialang, institusi, dan individu. Di forex, mata uang diperdagangkan berpasangan, seperti EUR/USD, dan nilai tukar mata uang ditentukan oleh permintaan dan penawaran di pasar bebas. Trader forex menggunakan analisis teknis dan fundamental untuk membuat keputusan perdagangan, serta berbagai strategi seperti day trading, swing trading, dan scalping untuk memaksimalkan keuntungan. Manajemen risiko, termasuk penggunaan stop-loss order dan diversifikasi, sangat penting dalam trading forex. Broker forex berperan sebagai perantara dan menawarkan berbagai platform trading seperti MetaTrader dan TradingView. Meskipun menawarkan peluang besar, trading forex juga memiliki risiko yang signifikan dan memerlukan edukasi serta disiplin yang baik.
2. Definisi Algoritma
• Algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis.
• Kata logis disini berarti benar sesuai dengan logika manusia.
• Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh
untuk menyelesaikan masalah harus memberikan hasil yang benar.
3. Asal-usul kata algoritma
• Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah seorang penulis buku
Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan
Pengurangan). Kata Al Khuwarizmi dibaca orang Barat menjadi algorism.
• Kata algorism berarti proses menghitung dengan angka Arab. Seseorang
dikatakan algorist jika orang tersebut menggunakan angka Arab.
• Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering
dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm.
Kata algorithm diserap ke dalam bahasa Indonesia menjadi algoritma.
4. Algoritma
• Algoritma merupakan deskripsi urutan pelaksanaan suatu proses
• Algoritma tersusun oleh sederetan langkah instruksi yang logis
• Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi)
• Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan
dikerjakan oleh CPU
5. Contoh algoritma 1
• Ada 2 buah gelas. Satu berisi teh dan satunya lagi
berisi kopi. Bagaimana caranya menukar isi masing-
masing gelas?
teh kopi
6. Contoh algoritma 1
Algoritma
• Siapkan gelas cadangan X
• Tuangkan gelas yang berisi
teh ke gelas cadangan
• Tuangkan gelas yang berisi
kopi ke gelas yang awalnya
dipakai teh
• Tuangkan isi gelas
cadangan ke gelas yang
awalnya berisi kopi
teh
kopi
teh
X
X
kopi X
7. Contoh Algoritma 2
• Algoritma untuk menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
• Algoritmanya :
a. Masukkan bilangan yang akan ditentukan
b. Bagi bilangan dengan bilangan 2
c. Hitung sisa hasil bagi pada langkah b.
d. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap
tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan
ganjil.
8. Domain algoritma
• Masalah : motivasi untuk membuat algoritma.
• Algoritma : prosedur untuk menyelesaikan masalah.
Seringkali satu masalah dapat diselesaikan dengan
lebih dari satu cara (banyak kemungkinan).
• Program: representasi formal dari suatu algoritma
dengan menggunakan bahasa pemrograman yang
bisa dimengerti oleh komputer.
• Proses : aktivitas menjalankan langkah-langkah dalam
algoritma.
9. Hal yang harus dipenuhi dalam membuat
algoritma
• Input : data yang harus diberikan pada komputer
• Output: informasi yang akan diperoleh dari komputer
• Logika: Merencanakan proses program. Terdiri dari sejumlah instruksi
yang mengubah input menjadi output yang diinginkan.
10. Definisi Logika
• Logika identik dengan masuk akal dan penalaran. Penalaran adalah salah satu
bentuk pemikiran. Pemikiran adalah pengetahuan tak langsung yang didasarkan
pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.
• Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip-prinsip yang
harus diikuti agar dapat berfikir valid menurut aturan yang berlaku
• Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip-prinsip
untuk berfikir secara sistematis.
11. Membuat sebuah program
• Defining the problem
Mendefinisikan apa yang akan dilakukan atau yang dihasilkan
oleh program
• Planning
Mendefinisikan langkah-langkah, membuat flowchart
• Programming
Menuliskan program, termasuk perbaikan eror dan testing
• Documentation
Menambahkan komentar dan “membukukan” program
• Implementation
Pengembangan, membuat program semakin baik
12. Programming
• Merubah langkah-langkah ke instruksi-instruksi / bahasa pemrograman
• Debug – Mengoreksi eror/kesalahan
• Kesalahan sintak
• Kesalahan grammar yang mudah ditemukan
• Kesalahan logical
• Program berjalan & bekerja tetapi menghasilkan output yang salah atau tidak sesuai
harapan.
• Dapat ditemukan melalui testing
13. Documentation
• Menambahkan komentar
• Lebih mudah untuk dimengerti
• Menggunakan “spaces” dengan bijak
• Blanks, Tabs, New Lines
• Easy to trace, follow & understand
• Pemilihan nama variabel & konstanta
• Mudah dimengerti, tidak terlalu panjang dan tidak terlalu pendek
14. Implementation
❖ Meminta orang lain untuk menjalankan program
❖ Menjadikan lebih user friendly termasuk input &
output
❖ Menjadikan lebih eficien (lebih sedikit baris)
❖ Menjadikan waktu eksekusi cepat
❖Menambahkan tampilan akhir, dll.
15. Kriteria Algoritma Pemrograman
1. Memiliki logika perhitungan / metode yang
tepat untuk memecahkan masalah.
2. Menghasilkan output yang tepat dan benar
dalam waktu yang singkat.
3. Ditulis dengan bahasa yang standard secara
sistematis, sehingga tidak menimbulkan arti
ganda.
15
16. Kriteria Algoritma Pemrograman
4. Ditulis dengan format yang mudah dipahami
sehingga mudah diimplementasikan ke dalam
bahasa pemrograman.
5. Semua operasi yang dibutuhkan terdefinisi
dengan jelas dan selalu berakhir setelah
sejumlah langkah dilakukan.
16
17. Ukuran Kualitas Software
1. Sebuah program harus dapat mengerjakan
tugasnya dengan benar
2. Dapat melakukan tugasnya secara cepat
3. Tidak menggunakan banyak sumber daya
(processor time, memory, disk capasity,
network capacity)
4. Program mudah dibaca dan dimengerti
5. Sebuah program harus independent dan tidak
bergantung pada program lain
6. Mudah pemeliharaannya
17
18. Ukuran Kualitas Software
7. Adanya kesalahan tidak mempengaruhi bagian
program (error locality)
8. Proses pembuatan program selesai tepat
Waktu
9. Mempunyai dokumentasi yang baik
10. Teknik OOP memungkin programmer membuat
program dengan kualitas tinggi pada saat
perancangan dan pembuatan kode program.
11. Ukuran kualitas software harus tertanam dalam
pikiran setiap programer.
18
20. Contoh Algoritma
Algoritma untuk mencari jumlah N bilangan bulat lebih
dari nol, yaitu 1 + 2 + 3 + … + N, adalah:
20
1. Set sum = 0 and the counter k = 1.
2. Repeat the following steps until k > N
a. Calculate the sum = sum + k
b. Increase the value of k by 1
3. The result required is the number in sum
21. Contoh Algoritma Flow Chart
21
k<=N ?
sum = 0
k = 1
Input N
k = k + 1
sum = sum + k
Show sum
yes
no
25. Paradigma Pemrograman
1. Pemrograman Prosedural, Pemrogaman dengan
fungsi dan prosedur.
2. Pemrogaman Modular, Pemrograman dengan
menggabungkan fungsi dan prosedur ke dalam
modul untuk menyembunyikan data.
3. Pemrogaman abstraksi data, Pemrograman dengan
menggunakan tipe data abstrak yang diperlukan
dengan setiap tipe menyediakan semua operasi
yang diperlukan tipe tersebut.
4. Pemrogaman berorientasi obyek, Pemrograman
dengan menggunakan konsep inheritance,
polymorphism dan generic programming.
25
26. Program
Sebuah program dapat dibagi menjadi 3 bagian:
• Input data
• Processing data – Calculation, etc.
• Output information/results
Input
Calculation/
Processing
Output
27. 1. Metode pemrograman ini memecah program
menjadi beberapa fungsi dan modul.
2. Tidak ada hubungan antara fungsi dan data,
Fungsi tidak dapat membatasi akses terhadap
data yang global.
3. Data lokal tersembunyi dalam fungsi dan
digunakan secara eklusif oleh fungsi tersebut,
tetapi pada saat dua fungsi mengakses data yang
sama, maka data tersebut harus dibuat.
27
Procedural Oriented Programming
28. 4. Dalam program yang besar, terdapat banyak fungsi
dan data global, sehingga timbul masalah:
28
o Struktur program rumit.
o Program sulit dimodifikasi, karena perubahan pada data
global dapat menyebabkan penulisan program diulang
kembali.
5. Pemrograman terstruktur menggunakan teorema
terstruktur:
o Sequence (berurutan).
o Selection (pemilihan).
o Repetition (pengulangan).
Procedural Oriented Programming
30. Apakah flowchart?
• Sebuah diagram yang dibangun oleh berbagai macam bentuk simbol yang saling terhubung
dengan garis-garis beranak panah.
• Simbol-simbol tersebut mengindikasikan aksi apa yang akan dilakukan atau keputusan apa
yang akan dibuat.
• Bisa juga digunakan untuk menggambarkan proses yang kompleks ketika terjadi gabungan
antara aksi dan pengambilan keputusan.
• Flowchart membantu dalam planning & programming.
31. Flowchart digunakan untuk menggambarkan:
• Langkah-langkah dalam suatu proses
• Keputusan yang dibuat dalam proses tersebut
• Data penting yang digunakan dalam langkah-langkah
tersebut, jika data tersebut penting
32. Flowchart Symbols
Terminal symbol
(Start & Stop)
Processing symbol
(Calculate, Assign,
Initialize, Declare)
Input/Output symbol
(get, put)
2 1
A
A
T
F
Decision symbol
(Selection, Conditional
Statement)
Page connector
(used when run out of
room at the bottom)
Step connector
(go from one part to
another)
33. Terminal Symbol
• Only one “start” & one
“stop”
• 1 arrow only
• Each flowchart starts with
one “start” & ends with
one “stop”
start
stop
34. Input / Output Symbol
• 2 arrows only
• 1 in & 1 out
• Input Data
• get fullname:*
• Display result
• put fullname
35. Processing Symbol
• 2 arrows only
• 1 in & 1 out
• Declaration
• var sum : real
• Initialization
• sum := 30.14
• Calculation
36. Decision Symbol
• 3 arrows
• 1 in & 2 out
• Question
• Gunakan kalimat tanya
yang dapat dijawab dengan
Yes atau No
• 2 out going arrows
• T (True, Yes)
• F (False, No)
Q. ?
T
F
37. Page connector
• 1 arrow only
1
2 Shows the next page
Shows the previous page
Run out of space
38. Step connector
• 1 arrow only
• Appear in
• 1 to 1
• Many to 1
• Use letters
• Go from one step to
another
A
A
39. Arrows
• From Top to Bottom &
from Left to Right
• Make turn
• Join together
40. Latihan 1
1.is it the door bell?
2.start
3.answer the phone
4.turn off the alarm
5.is it the telephone?
6.listen to bell ringing
7.stop
8.see who is at the door
start
bell
ringing
phone?
Y
answer the
phone
stop
N
door?
Y
see who is
at the door
N turn off the
alarm
41. Latihan 2
const PI := 3.14
var radius, volume : real
put “please enter...”..
get radius
volume := (4/3)*PI*radius**3
put “”
put “The volume is”, volume
start
Declare
radius, volume
input radius
Calculate
volume
output
volume
stop
Define PI
ask radius
42. start
var mark: real
_____ mark
mark
stop
A
A
T
F
ask mark
Latihan 3
1.start declare variables
2.what is the mark
3.ask for mark
4.check mark>=50
5.>=50 show “U Pass”
6.<50 show “U Fail”
7.stop
get
>=50 “U Pass”
“U Fail”
43. Latihan 4 dengan Trace Table
start
x = y
y = sum
sum of x&y
Declare & Initialise
x & y to1
stop
Y
N
x y sum
Trace Table
1 1 2
1 2 3
2 3 5
3 5 8
5 8 13
8 13 21
is
sum<20
A
A
Show x,y
and sum
44. Struktur Kendali Pemilihan
Struktur ini digunakan untuk menguji suatu
kondisi, kemudian melaksanakan satu urutan
perintah.
• Struktur pilihan dalam C++ meliputi :
- perintah if
- perintah if - else
- perintah switch
44
45. Perintah if
C++ tidak memiliki kata kunci (key word) then pada
konstruksi perintah if.
• Syntax
if ( condition )
statement ;
atau
if ( condition ) {
< sequence of statement>
}
45
47. Perintah if
Contoh :
if ( detik = 60 )
menit = menit + 1 ;
if ( sisi >0 ) {
luas = panjang * lebar ;
isi = luas * tinggi ;
}
47
48. Contoh Program
// Contoh program C++ menggunakan if
#include <iostream.h>
void main() {
double x;
cout<<“Masukkan x (jangan 0): “;
cin>>x;
if ( x != 0 )
cout<<“Reciprocal dari “<<x
<<“ adalah ”<<(1/x)<<“n”;
}
48
49. Perintah if-else
Perintah ini memberikan satu alternatif dari dua
kemungkinan, kemudian diikuti dengan urutan
perintah sebagai hasil uji boolean.
Syntax :
if (condition) {
< sequence #1 of statements>
}
else {
< sequence #2 of statements>
}
49
51. Perintah if-else
Contoh :
if ( pembagi ! = 0 ) {
hasil = nilai / pembagi ;
cout << “ Hasil = “ << hasil << “ n ” ;
}
else {
hasil = 0 ;
cout << “ Hasil tidak ada - pembagi = “
<< pembagi << “ n ” ;
}
51
52. Contoh Program
// Contoh program C++ menggunakan if - else
#include <iostream.h>
#include <ctype.h>
void main() {
char c ;
cout << “ Masukkan Huruf : “ ;
cin >> c ;
c = toupper(c); //ubah menjadi huruf besar
if ( c >= ‘ A ’ && c <= ‘ Z ’ )
cout << “ Input anda adalah hurufn ”;
else
cout << “ Input anda bukan hurufn ”;
}
52
53. Multiple if - else
C++ memberikan fasilitas nested if - else untuk
mendukung fleksibilitas dalam program aplikasi.
• Syntax :
if (tested_condition1)
statement1 {<sequence #1 of statement>}
else if (tested_condition2)
statement2 {<sequence #2 of statement>}
...
else if (tested_conditionN)
statementN {<sequence #N of statement>}
53
54. Contoh Program
// Contoh program C++ menggunakan multiple if-else
#include <iostream.h>
void main() {
char c ;
cout << “ Masukkan satu karakter : “ ;
cin >> c ;
if ( c >= ‘ A ’ && c <= ‘ Z ’ )
cout << “Input anda adalah huruf besarn”;
else if ( c >= ‘ a ’ && c <= ‘ z ’ )
cout << “Input anda adalah huruf keciln”;
else if (c >= ‘0’ && c <= ‘9’)
cout << “Input anda adalah satu angkan”;
else
cout << “Input bukan alphanumericn”;
}
54
56. Syntax Perintah Switch
switch (expression) {
case constant1_1:
[ case constant1_2: ...]
<one or more statements>
break;
case constant2_1:
[ case constant2_2: ...]
<one or more statements>
break;
...
case constantN_1:
[ case constantN_2: ...]
<one or more statements>
break;
default:
<one or more statements>
}
56
58. Struktur Pengulangan (Loops)
Merupakan fasilitas bahasa C++ yang mampu
melakukan proses pengulangan, karena itu komputer
dapat mengerjakan proses berulang-ulang dengan
cepat, tepat dan tanpa lelah.
Kontruksi pengulangan dalam C++ meliputi :
• perintah for
• perintah do-while
• perintah while
58
59. Perintah for
C++ memiliki dua jenis pengulangan for - fixed
dan conditional.
Syntax :
for(<intialisasi variable >; <kondisi>;
<penambahan/pengurangan variable>){
<statement>
...
<statement>
}
59
60. Perintah for
Contoh :
for ( i = 0; i < 10; i++ )
cout << “ Kuadrat dari “ << i
<< “ = “ << i * i << “ n ”;
60
61. Infinite Loop
C++ mengijinkan pembentukan infinite loop / open
loop, dengan menghilangkan ketiga parameter yang
ada pada for loop.
Syntax :
for( ; ; ){
<statement>
...
<statement>
}
61
62. Perintah Do-while Loop
Loop ini dikenal dengan nama conditional loop,
dimana kondisi pengulangan di periksa pada akhir
blok loop.
Syntax :
do {
<sequence of statements>
} while (condition);
62
65. Contoh Program
// Contoh program C++ menggunakan do-while loop
#include <math.h>
void main() {
char c ; double x, y ;
do{
do {
cout << “Masukkan Bilangan: “ ;
cin >> x ;
} while ( x < 0 ) ;
y = sqrt ( x ) ;
cout << “Sqrt(“ << x << “)=“<< y << “n”
<< “Masukkan bilangan lain?(Y/N)”;
cin >> c ;
cout << “ n ” ;
} while ( c == ‘ Y ’ || c == ‘ y ’ ) ;
}
65
66. Perintah while Loop
Loop ini juga merupakan conditional loop, dimana
kondisi pengulangan diuji pada awal blok
pengulangan.
Syntax :
while ( condition )
statement { sequence of statement }
66
68. Perintah while Loop
Contoh :
int i = 2 ;
while ( ++i < 11 ) {
cout << i << “ ^2 = “ << i * i << “ n ”;
};
68
69. Contoh Program
// Contoh program C++ menggunakan while loop
#include <math.h>
void main() {
char c = ‘y’ ; double x=-1, y ;
while ( c == ‘ Y ’ || c == ‘ y ’ ){
while ( x < 0 ) {
cout << “Masukkan Bilangan: “ ;
cin >> x ;
};
y = sqrt ( x ) ;
cout << “Sqrt(“ << x << “)=“<< y << “n”
<< “Masukkan bilangan lain?(Y/N)”;
cin >> c ;
cout << “ n ” ;
};
}
69
70. Object Oriented Programming
3. Encapsulation adalah pengemasan data dan fungsi
dalam satu wadah bernama obyek.
70
1. Gagasan dasar dari OOP adalah
menggabungkan data dengan fungsi menjadi
satu kesatuan yang utuh.
2. Karakteristik utama dari OOP adalah:
o Encapsulation.
o Inheritance.
o Polymorphism.
71. Object Oriented Programming
4. Inheritance (pewarisan) merupakan sifat dari OOP
yang dimungkinkan menurunkan sifat-sifat dari suatu
kelas pada kelas yang lain.
5. Polymorphism merupakan suatu konsep yang
menyatakan bahwa sesuatu yang sama dapat
mempunyai berbagai bentuk dan perilaku yang
berbeda.
71
72. Object Oriented Programming
72
6. Keuntungan OOP:
o Problem Oriented Approach.
o Information Hiding (Data Abstraction).
o Reusability & Extensibility.
o Improve maintainability.
o Low probability errors.
o Teamwork.
73. 73
1. Penggunaan alat:
Untuk menggambarkan model dalam PBO
digunakan object diagram sedangkan dalam
Non-PBO digunakan data flow diagram, entity
relationship diagram dan structure chart
2. Data dan proses:
Pada non-obyek, data dan proses dianggap
sebagai dua komponen yang berlainan,
sedangkan pada PBO, data dan proses
merupakan satu kesatuan yaitu bagian dari
obyek.
Perbedaan OOP dengan Non-Obyek
76. Bahasa C
1. Flexibility: dapat mengakses / mendekati mesin,
namun mudah dimengerti oleh manusia.
2. Portability: dipakai mulai dari komputer mikro
(mikrokontroller) sampai superkomputer.
3. Bahasa yang paling banyak digunakan dalam ilmu
komputer, untuk membuat OS, aplikasi, dll.
4. Didukung oleh banyak pustaka (libraries).
76
77. Bahasa C++
1. Bahasa C yang dikembangkan dan diberi kemampuan
OOP.
2. Dikembangkan oleh Bjarne Stroustrup di AT&T Bell
Labs pada 1980.
3. Digunakan pertama kali diluar Bell Labs pada Juli
1983.
4. Sejak 1987 mulai dikembangkan oleh ANSI dan
vendor lainnya.
77
78. Bahasa C++
5. Karena merupakan subset dari bahasa C, maka library
yang ditulis dalam bahasa C dapat dipergunakan
dalam C++.
6. Mendukung metode pemrograman:
78
• Pemrograman abstraksi data, kemampuan
menciptakan tipe data.
• Pemrograman berorientasi obyek,
pemrograman dengan hirarki kelas dan
polymorphism.
• pemrograman generic, dengan parameterisasi
pada data dan fungsi (algoritma).
79. Perbedaan C dan C++
1. Dalam C atau bahasa pemrograman procedural yang
lain, cenderung action oriented, sedangkan dalam
C++ adalah object oriented.
2. Dalam C, unit pemrograman adalah fungsi
(prosedure), sedangkan dalam C++, unit
pemrogramannya adalah kelas (class) yang
membentuk object.
3. Pada C, programmer lebih terfokus pada penulisan
fungsi, atau kumpulan action dalam suatu fungsi
sehingga terbentuk program, sedangkan dalam C++
programmer memfokuskan pada pembuatan tipe
data yang didefinisikan oleh user yaitu class sebagai
pembentuk object.
79
80. Struktur Program
Setiap program C/C++ terdiri dari satu atau lebih
fungsi. Bila program tersebut adalah program/modul
utama maka dalam program tersebut harus
mempunyai fungsi bernama main().
Fungsi main() adalah fungsi yang pertama kali
dikerjakan dalam setiap program.
80
81. Contoh Program
1. // program C++ sederhana
2. #include <iostream.h>
3. main()
4. {
5. cout << "Selamat belajar AMOOP"
6. << endl;
7. return 0;
8. }
81
82. Penjelasan program
• Baris (1), merupakan komentar yang tidak dieksekusi pada saat
kompilasi
• Baris (2), merupakan header file yangdigunakan untuk proses
pembacaan dan penulisan
• Baris (3), merupakan fungsi main(). Tipe data dari fungsi ini
secara default adalah int, sehingga perlu return nilai integer.
• Baris (4) dan (8), adalah tanda pembuka dan penutup tubuh
program/fungsi main()
• Baris (5), digunakan untuk menuliskan “selamat belajar
AMOOP” di monitor.
• Baris (6), digunakan untuk mengarahkan kursor ke baris
berikutnya.
• Baris (7), digunakan untuk mengembalikan nilai 0 jika program
berjalan baik dan telah selesai.
82
83. • Ide dasar dari pemrograman berorientasi obyek adalah
bahwa dalam dunia nyata terdiri dari obyek, yang memiliki
dua bagian yaitu properties (data/karakteristik) dan
behavior (kemampuan melakukan sesuatu).
• Untuk memecahkan masalah dalam PBO, programmer
tidak lagi bertanya bagaimana program dipecah menjadi
fungsi, tetapi bagaimana dipecah ke dalam obyek.
83
PEMROGRAMAN BERORIENTASI OBYEK
84. • Benda-benda yang dapat menjadi obyek:
- Human entities: Employee, customer, worker, manager.
- Graphics program: point, line, circle, etc.
- Mathematics: matrix, vector, complex number.
- Computer user environment: windows, menus.
- Data-storage: array, stacks, linked-lists.
• Berfikir dalam batasan obyek dari pada fungsi sangat
berpengaruh dalam membantu proses perancangan
program, hasilnya adalah repre- sentasi yang dekat antara
obyek dalam program dan obyek dalam dunia nyata.
84
PEMROGRAMAN BERORIENTASI OBYEK
85. • Konsep utama dalam PBO:
1. Encapsulation 2. Inheritance 3. Polymorphism
• Pada PBO program terdiri atas object yang saling
berinteraksi.
• PBO menggambarkan hubungan interaksi antar objek
sebagai satu peristiwa (events), disertai pengiriman pesan
(messages) antar object.
• Sebuah object dianalogikan sebagai object dari dunia
nyata yang mempunyai :
1. Specific properties 2. Specific behavior
85
PEMROGRAMAN BERORIENTASI OBYEK
86. • Siklus hidup object:
1. Born (created)
2. Life (run, do it’s job)
3. Dead (destroyed)
• Object merupakan suatu variable yang memiliki dua
property yaitu data attribute dan operasi, atau dalam C++
disebut data members dan member functions.
• Penggambaran sekelompok object yang mempunyai
property sama disebut Kelas (class), yang juga merupakan
suatu tipe data.
86
PEMROGRAMAN BERORIENTASI OBYEK
87. Data Class (data member)
• Pada pengembangan disain program secara keseluruhan,
prinsip yang digunakan adalah menyembunyikan atribut
class (information hiding)
• Dalam class terdapat dua interface dari attributenya yaitu
private dan public.
• Atribut private berarti data tersebut hanya dapat diakses
oleh fungsi dari class itu sendiri.
• Atribute public berarti data tersebut dapat diakses oleh
fungsi di luar class.
• Penentuan suatu attribute private atau public tergantung
pada tingkat keamanan yang diterapkan pada atribut
tersebut.
87
88. Fungsi Anggota (Member Function)
• Merupakan kemampuan yang dipunyai oleh suatu
class
• Kemampuan tersebut diwujudkan dengan fungsi
anggota
• Dalam suatu class dapat mempunyai lebih dari satu
fungsi anggota.
• Dalam disain program, fungsi anggota ada yang
bersifat private maupun public.
88
89. Penggunaan class
• Class baru dapat digunakan setelah melalui proses
pendefinisian
• Untuk menggunakan class, object dalam class
tersebut juga harus didefinisikan.
89
90. Contoh Sebuah Obyek
• Sebuah titik (point) dalam komputer grafik
• Titik dalam bidang mempunyai data: koordinat x-y
• Kemampuan dari titik adalah bergerak (move) dalam
bidang, muncul ke layar dan sembunyi (hide)
• Bentuk model dari titik dalam PBO adalah:
• Dua variable bilangan bulat (x, y) untuk merepresentasikan
koordinat x-y
• Satu fungsi move untuk, menggerakkan titik
• Satu fungsi print, untuk menampilkan titik
• Satu fungsi hide, untuk menyembunyikan titik
90
92. • Teknik pemodelan object menggunakan tiga macam
model penggambaran system yaitu:
o Model object
o Model dinamik
o Model use case (use case scenario)
• Model object menggambarkan struktur statis dari suatu
object dalam system dan relasinya, digambarkan
dengan diagram object (class hierarchy).
92
PEMODELAN BERORIENTASI OBYEK
93. • Model dinamik mengambarkan interaksi antara object
dalam system yang digambarkan dengan state diagram.
Model ini berhubungan dengan waktu dan sekuen
operasi.
• Model use case (use case scenario) model ini
menggambarkan bagaimana system bekerja secara
keseluruhan dan pada skenario tertentu. Sehingga jika
sebuah object merupakan sesuatu yang menyediakan
layanan maka harus dapat dibuktikan bahwa semua
layanan tersebut ada dalam suatu use case. Model ini
digambarkan dengan diagram use case scenario.
93
PEMODELAN BERORIENTASI OBYEK
94. Model Obyek
• Pada Pengembangan system berorientasi object,
terdapat beberapa metode pemodelan, seperti object
modeling technique OMT (Rumbaugh -1991), Objectory
(Jacobson - 1992), dan OOA-OOD (coad and Yourdon -
1991).
• Gabungan dari ketiga metode tersebut adalah unified
Modeling language (UML) pada tahun 1997.
• Pemodelan dalam slide ini dengan UML:
94
95. Notasi Kelas dan Object
Kelas dan object dimodelkan dengan nama_kelas,
attribute dan metode atau fungsi sbb:
95
• Atributes, berupa data atau
informasi yang dipunyai oleh
setiap object dalam kelas
tersebut.
Nama_kelas
Atributes
Methods • Fungsi (methods) adalah
kemampuan dari object untuk
memproses data,
menginputkan data dan
mendisplaynya.
96. Notasi Kelas dan Object
Contoh:
96
Methods
Atributes
Nama Kelas
Mahasiswa
NIM
Nama
Jurusan
InputNIM()
InputNama()
InputJurusan()
TampilData(NIM)
97. Notasi Struktur
• Istilah struktur digunakan untuk menjelaskan hubungan
generalisasi spesifikasi (gen-spek) dan hubungan
keseluruhan sebagian (wholepart).
97
• Stuktur gen-spek
menjelaskan hubungan kelas
satu dengan yang lain yang
memakai hubungan “is a”
atau “is a kind of”
Contoh:
A car is a kind of vehicle
• Struktur whole-part
menjelaskan struktur
kepemilikan “has
a/an”
Contoh:
A Car has a body
101. Pengertian Struktur Data
Struktur data adalah cara menyimpan atau
merepresentasikan data di dalam 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
102. Hubungan Struktur Data dan Algoritma
• Dengan pemilihan struktur data yang baik, maka problem
yang kompleks dapat diselesaikan sehingga algoritma dapat
digunakan secara efisien, operasi-operasi penting dapat
dieksekusi dengan sumber daya yang lebih kecil, memori
lebih kecil, dan waktu eksekusi yang lebih cepat.
• Tidak semua struktur data baik dan sesuai. Contoh untuk
problem data bank: pengupdate-an harus cepat, sedangkan
penambahan/penghapusan data boleh lebih lambat.
103. Bagaimana cara mengatasi masalah
implementasi program dengan komputer?
• Pemahaman masalah secara menyeluruh dan persiapan
data
• Keputusan operasi-operasi yang dilakukan terhadap data
• Penyimpanan data-data pada memori sehingga tersimpan
dan terstruktur secara logis, operasinya efisien
• Pengambilan keputusan terhadap bahasa pemrograman
mana yang paling cocok untuk jenis data yang ada
104. Aktivitas Struktur Data
• Di dalam struktur data kita berhubungan dengan 2 aktivitas:
• Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang
ada
• Menunjukkan mekanisme kerja operasi-operasinya
• Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -, *, /,
mod, ceil, floor, <, >, != dsb.
• Struktur data = obyek data + [operasi manipulasi data]
105. ADT (Abstract Data Type) atau Tipe Data Bentukan
• Bahasa pemrograman bisa memiliki tipe data:
• Built-in : sudah tersedia oleh bahasa pemrograman tersebut
• Tidak berorientasi pada persoalan yang dihadapi.
• UDT : User Defined Type, dibuat oleh pemrogram.
• Mendekati penyelesaian persoalan yang dihadapi
• Contoh: record pada Pascal, struct pada C, class pada Java
• ADT : Abstract Data Type
• memperluas konsep UDT dengan menambahkan pengkapsulan atau enkapsulasi, berisi
sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut.
• Contoh: class pada Java
106. Perbedaan Tipe Data, Obyek Data & Struktur Data
• Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa
pemrograman pada komputer.
• Tiap-tiap bahasa pemrograman memiliki tipe data yang
memungkinkan:
• Deklarasi terhadap variabel tipe data tersebut
• Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data
tersebut
• Jenis obyek data yang mungkin
• Contoh tipe data di C? Java? Pascal? .NET?
107. Perbedaan Tipe Data, Obyek Data & Struktur Data
• Obyek Data adalah kumpulan elemen yang mungkin untuk suatu tipe
data tertentu.
• Mis: integer mengacu pada obyek data -32768 s/d 32767, byte 0 s/d 255,
string adalah kumpulan karakter maks 255 huruf
• Struktur Data adalah cara penyimpanan dan pengorganisasian data-
data pada memori komputer maupun file secara efektif sehingga
dapat digunakan secara efisien, termasuk operasi-operasi di
dalamnya.
108. Tipe Data
Type data sederhana
1. Type Data
a. Type data sederhana tunggal, misalnya: Integer, real, boolean dan karakter
b. Type data sederhana majemuk, misalnya: String
2. Struktur Data, meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari
Linier : Stack, Queue, serta List dan Multilist
Non Linier : Pohon Biner dan Graph
Pemakaian struktur data yang tepat di dalam proses pemrograman akan
menghasilkan algoritma yang lebih jelas dantepat, sehingga menjadikan program
secara keseluruhan lebih efisien dan sederhana.
109. Variabel
• Sesuatu alokasi tempat di memori untuk
menyimpan suatu nilai
• Variabel harus diberi nama sebagai identifikasi
• Contoh:
nilai X
110. String
• String merupakan array of character
• Index dimulai dari 0
• Diakhiri dengan karakter ‘0’ (NULL String).
• Untuk menyimpan n buah character dibutuhkan
deklarasi array sebesar (n+1).
• C/C++ dilengkapi dengan library yang lengkap untuk
mengakses string, seperti strlen(), strcpy(), strcmp(),
strchr(), dll.
110
112. String
#include <iostream.h>
void main() {
char name[81]; // allocate for 80 chars
cout << “What is your name?“;
cin >> name;
if (strlen(name) > 0)
cout << “Hello, “ << name
<< “, how are you?n”;
else
cout << ”Hmm, I don’t know what your name.”;
}
112
113. Array
• Sesuatu alokasi beberapa tempat di memori secara
berurutan yang digunakan untuk menyimpan
beberapa nilai.
• Array harus diberi nama sebagai identifikasi
• Cara mengaksesnya adalah dengan menyebutkan
nama array dan indeksnya
• Contoh:
bilangan
1 2 3 4
114. Array
Adalah struktur data yang terdiri dari kumpulan
variabel yang bertipe sama.
Syntax:
type array_name[number of element];
Contoh:
114
int bil[3];
double a, b[10], c;
115. Array
Menggunakan index untuk mengakses element array.
Index dimulai dari 0 s/d jumlah_element – 1
Contoh:
115
bil[0]=10;
bil[1]=15;
bil[2]=12;
117. Array
Contoh program implementasi Array:
117
Jumlah bilangan: _
Input bil ke 1: _
Input bil ke 2: _
Input bil ke ...
Bilangan terbesar: _
118. Array Dua / Multi Dimensi
Syntax:
type array [size1][size2];
Array dua dimensi memiliki dua atribut baris dan jalur,
Array tiga dimensi memiliki tiga atribut baris, jalur dan
tinggi.
118
120. Matriks
• Sesuatu alokasi beberapa tempat di memori secara
berurutan yang digunakan untuk menyimpan
beberapa nilai.
• Mirip dengan array, tetapi 2 dimensi
• Matriks harus diberi nama sebagai identifikasi
• Cara mengaksesnya adalah dengan menyebutkan
nama matriks serta baris dan kolomnya
• Contoh:
M
1 2 3
1
2
121. Struct
Adalah struktur data yang terdiri dari 1 atau lebih
variabel yang bertipe sama/berbeda
Struct secara logik membuat suatu tipe data baru (user
defined) yang dapat dipergunakan untuk menampung
informasi / data yang bersifat majemuk.
121
123. Deklarasi Variabel Struct
Struktur yang telah didefinisikan dapat
dipergunakan sebagai tipe data dalam
membentuk suatu variable.
Contoh:
struct point { struct {
double x; double x;
double y; double y;
}; } p1, p2, p3;
point p1, p2, p3;
123
124. Akses Anggota Struct
C++ memberikan fasilitas inisialisasi satu struktur serta
akses anggota satu struktur.
Contoh :
point p1 = {1.0, 8.5};
Atau
p1.x = 9.0;
p1.y = 12.5;
p2.x = 5.0;
p2.y = 7.2;
124
125. Contoh Struct
Setiap barang di Indomart mempunyai:
KdBarang, NmBarang, HargaBeli, HargaJual, JumlahStock.
125
struct MsBrg{
char KdBarang[5];
char NmBarang[31];
double HargaBeli;
double HargaJual;
int JumlahStock;
}
126. Enum
Enum merupakan tipe data yang anggota datanya telah
diketahui.
Contoh Nama_hari, Nama_bulan, Status.
enum Months { JAN, FEB, MAR, APR, MAY, JUN, JUL,
AUG, SEP, OCT, NOV, DEC };
enum Nama_Hari { Senin, Selasa, rabu, Kamis, Jum’at,
Sabtu, Minggu };
enum Status {Lanjut, Menang, Kalah };
126
127. Stack
• Mekanisme penyimpanan nilai secara LIFO (Last In
First Out)
• Bekerja seperti tumpukan
• Stack harus diberi nama sebagai identifikasi
• Cara mengaksesnya adalah dengan melakukan aksi
push dan pop
• Contoh:
S
push pop
128. Queue
• Mekanisme penyimpanan nilai secara FIFO (First In
First Out)
• Bekerja seperti antrian
• Queue harus diberi nama sebagai identifikasi
• Cara mengaksesnya adalah dengan melakukan aksi
enqueue dan dequeue
• Contoh: Q
enqueue dequeue