Penyampaian informasi :
- Informasi dikirim
- Melakukan proses modulasi
- Dikuatkan oleh amplifier
- Dikirim melalui saluran transmisi
- Setelah dikirim lalu diterima saluran transmisi lagi
- Dikuatkan kembali dengan amplifier
- Melakukan proses demodulasi
Penyampaian informasi :
Ciri-Ciri Algoritma
Menurut Knuth dalam bukunya The art of Computer programming, Algoritma memiliki 5 ciri penting, yaitu :
1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
Aksi-aksi dalam algoritma harus terjadi hanya dalam waktu terbatas.
2. Tiap langkah harus didefinisikan dengan jelas
3. Algoritma memiliki nol atau lebih input (masukan). Input adalah besaran yang diberikan kepada algoritma sebelum algoritma mulai bekerja
4. Algoritma memiliki satu atau lebih keluaran (output). Output adalah besaran yang memiliki hubungan dengan input.
5. Algoritma harus efektif, tiap langkah harus sederhana, dapat dikerjakan dalam sejumlah waktu yang logis.
Keuntungan Pembuatan Algoritma
Pembuatan algoritma mempunyai banyak keuntungan diantaranya:
1. Pembuatan atau penulisan algoritma tidak bergantung pada bahasa pemrograman manapun.
2. Notasi salgoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun bahasa pemrogramannya,output yang akan dikeluarkan sama karena algoritmanya sama.
Beberapa hal yang diperhatikan dalam pembuatan algoritma :
1. Teks algoritma berisikan deskripsi langkah – langkah penyelesaian masalah.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.
4. Notasi algoritmik bukan bahasa pemrograman , karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh computer.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan pemikiran konseptual, supaya dapat dilaksanakan oleh computer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.
Referensi :
if29noltiga.9.forumer.com
nafifm.wordpress.com/.../algoritma-dan-pemrograman-kasus-teknik-elektro
JENIS-JENIS ALGORITMA
Jenis-jenis Algoritma terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigm yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda.
A. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian kecil yang terbentuk.
B. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal dan mengandung beberapa bagian permasalahan yang tumpang tindih. Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.
C. Metode serakah, Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan “serakah” apa yang dilihat terbaik pada saat itu.
Adapun jenis-jenis algoritma yang lain adalah :
1. Bahasa Semu (pseudo code)
yaitu dengan menggunakan bahasa sehari-hari, tetapi harus jelas dan struktur.
2. Diagram Alir/Alur (Flowchart)
yaitu dengan membuat suatu penulisan atau penyajian algoritma berupa
diagram yang menggambarkan susunan alur logika dari suatu permasalahan.
Referensi :
gapra.files.wordpress.com/.../makalah-desain-analisis-algoritmagapra.pdf
Di bawah ini dikemukakan beberapa notasi yang digunakan dalam penulisan
algoritma, antara lain :
1) Notasi yang dinyatakan dalam kalimat deskriptif
Dengan notasi ini, deskripsi setiap langkah dijelaskan dengan bahasa
yang jelas. Notasi ini cocok untuk algoritma yang pendek, namun untuk
masalah yang algoritmanya besar, notasi ini jelas tidak efektif. Selain itu,
pengkonversian notasi algoritma ke notasi bahasa pemrograman
cenderung relatif sukar.
Contoh :
Algoritma Bilangan_Maksimum
Diberikan tiga buah bilangan bulat. Carilah bilangan bulat
maksimum diantara ketiga bilangan tersebut.
Deskripsi :
(1) baca bilangan 1
(2) baca bilangan 2
(3) bandingkan bilangan 1 dan bilangan 2, kita ambil yang
lebih besar, jika kedua bilangan tersebut sama besar,
dapat kita ambil bilangan 1, dan sebut bilangan
tersebut MAX
(4) baca bilangan 3
(5) bandingkan MAX dengan bilangan 3, dan pilih yang lebih
besar, jika keduanya sama besar, pilih MAX dan sebut
bilangan tersebut MAX.
(6) keluarkan sebagai output MAX
2) Notasi yang dinyatakan dengan pseudo code
Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat
tinggi. Keuntungan menggunakan notasi pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut mentranslasi ke notasi bahasa
pemrograman, karena terdapat korespondensi antara setiap pseudo code
dengan notasi bahasa pemrograman.
Contoh :
Algoritma Bilangan_Maksimum
{ Dibaca tiga buah bilangan dari piranti masukan. Carilah
bilangan bulat maksimum diantara ketiga bilangan tersebut }
Deklarasi :
Bil1,Bil2,Bil3 : integer {bilangan yang dicari
maksimumnya}
MAX : integer {variabel bantu}
Deskripsi :
Read (Bil1,Bil2)
If Bil1 >= Bil 2 then
Bil1 = MAX
Else Bil2 = MAX
Read (Bil3)
If Bil3 >= MAX then
Bil3 = MAX
Write (MAX)
3) Notasi yang dinyatakan dalam flow chart
Sama halnya dengan notasi deskriptif, notasi ini cocok untuk algoritma
yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini
jelas tidak efektif. Selain itu, pengkonversian notasi algoritma ke notasi
bahasa pemrograman cenderung relatif sukar.
Contoh : Algoritma Bilangan_Maksimum dalam flow chart
ATURAN PENULISAN TEKS ALGORITMA
Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis alam bentuk notasi apapun , asalkan mudah dibaca dan dimengerti. Tidak ada notasi yang baku dalam penulisan teks algoritma. Tiap orang dapat membuat aturan penulisan dan algoritma sendiri.Namun, agar notasi algoritma dapat dengan mudah ditranslasi ke alam notasi bahasa pemrograman, maka sebaiknya notasi algoritma itu berkoresponden dengan notasi bahasa pemrograman secara umum.
Contoh perintah :Tulis nilai x dan y
Dalam notasi algoritma menjadi : write (x,y)
Dalam Bahasa Turbo C ditulis : printf(“%d %d”,x,y);
Tipe, Nama, dan Nilai
Tipe
Pada umumnya program komputer bekerja dengan memanipulasi objek (data) di dalam memori. Objek yang akan diprogram bermacam-macam tipenya, misalnya tipe numerik,karakter,string, dan record(rekaman).
Tipe data dapat dikelompokan menjadi 2, yaitu: tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang langsung dapat dipakai, sedangkan tipe bentukan dibentuk dari tipe dasar atau dari tipe bentukan lain yang sudah didefinisikan.
Suatu tipe diacu dari namanya.Nilai-nilai yang dicakup oleh tipe tersebut dinyatakan didalam ranah (domain)nilai. Operasi-operasi (beserta operator) yang dapat dilakukan terhadap tipe tersebut juga didefinisikan. Dengan kata lain suatu tipe dinyatakan dengan namanya,ranah nilai yang dikandungnya,cara menuliskan konstantanya, dan operasi yang dapat dilakukan padanya.
Tipe Dasar
Dalam bahasa pemrograman yang termasuk tipe dasar adalah :
1. bilangan logika
2. bilangan bulat
3. karakter atau string
4. bilangan riil
Tipe Bentukan
Tipe bentukan adalah tipe yang didefinisikan sendiri oleh pemrogram (user define). Tipe bentukan disusun oleh satu atau lebih tipe dasar. Ada dua macam tipe bentukan yaitu:
1.Tipe dasar yang diberi nama dengan nama tipe baru contoh : tipe BilanganBulat : integer
Variabel BilanganBulat adalah tipe bilangan bulat yang sama saja dengan tipe integer. Misalkan kita mempunyai sebuah variabel yang bernama X dan bertipe BilanganBulat, maka artinya variabel X tersebut juga bertipe integer.
2.Rekaman (rekord).
Rekaman disusun oleh satu atau lebih field.Tiap field menyimpan data dari tipe dasar tertentu atau dari tipe bentukan lain yang sudah dideinisikan sebellumnya.Nama record itentukan oleh pemrogram. Karena stukturnya yang diusun atas field-field, maka rekaman inamakan juga tipe terstruktur(stuctured type).
Nama
Setiap objek dialam mempunyai nama.Nama diberikan agar objek tersebut mudah diidentifikasi, diacu, dan dibedakan dari objek lainya.Di dalam algoritma nama dipakai sebagai pengidentifikasi “sesuatu” dan pemrogram mengacu “sesuatu” itu melalui namanya. Karena itu tiap nama haruslah unik, tidak boleh ada dua buah nama yang sama.
Di dalam algoritma “sesuatu” yang diberi nama dapat berupa :
1.Variabel
2.Konstanta
3.Tipe Bentukan
4.Nama Fungsi
5.Nama Prosedur
Suatu hal yang penting untuk diperhatikan adalah, nama sebaiknya interpretatif, yaitu mencerminkan nilai intrinsik atau fungsi yang dikandungnya.Pemrogram sangat dianjurkan untuk memberikan penjelasan terhadap nama yang didefinisikan.
Semua nama yang digunakan dalam algoritma harus didefinisikan atau dideklarasikan dibagian deklarasi .Bagian deklarasi dipakai sebagai tempat mengacu suatu kata untuk diketahui makna atau terjemahannya.Tempat untuk menjelaskan nama dan tipe dari nama tersebut.
Nilai
Nilai adalah besaran dari tipe data yang sudah didefinisikan.Nilai dapat berupa isi yang disimpan oleh nama variabel atau nama konstanta,nilai dari hasil perhitungan, atau nilai yang dikirim oleh fungsi.Algoritma pada hakikatnya adalah memanipulasi nilai yang disimpan didalam elemen memori. Nilai yang dikandung oleh variabel dimanipulasi antara lain dengan cara : mengisikannya ke variabel lain yang bertipe sama, dipakai untuk perhitungan, atau dituliskan ke piranti keluaran.
Contoh algorima : mencetak stirng “Halo, apa kabar?” ke piranti keluaran.
Versi 1. String “Halo, apa kabar?” langsung dicetak tanpa menggunakan variabel.
Algoritma :
Deklarasi
(tidak ada)
Deskripsi
write (“Halo,apa kabar?”)
Versi 2.String “Halo,apa kabar?” disimpan di dalam sebuah variabel bertipe string.
Algoritma :
Deklarasi
ucapan : string
Deskripsi
ucapan <—— ‘Halo,apa kabar?’
write (ucapan)
Versi 3.String “Halo,apa kabar?” disimpan sebagai konstanta
Algoritma:
Deklarasi
const ucapan = ‘Halo,apa kabar?’
Deskripsi
write (ucapan)
Keluaran yang dihasilkan oleh algoritma versi 1, 2, dan 3 adalah :
Halo, apa kabar?
URUTAN / RUNTUNAN
Algoritma merupakan runtunan(sequence) satu atau lebih instruksi,yang berarti bahwa :
1. Tiap instruksi dikerjakan satu persatu.
2. Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi yang diulang.
3. Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi yang tertulis di algoritma.
4. Akhir instruksi merupakan akhir dari algoritma.
Urutan instruksi didalam algoritma sangat penting.Urutan instruksi menunjukan urutan logika penyelesaian masalah.
REFERENSI :
balibisnis.wordpress.com/2008/.../aturan-penulisan-algoritma/
prihastomo.files.wordpress.com/2008/02/algoritma.pdf
ALGORITMA DAN PEMPROGRAMAN
A. PENGERTIAN ALGORITMA
Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma. Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan dan mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara, mulai dari menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai menggunakan bahasa pemograman seperti bahasa C atau C++.
Algoritma memegang peranan penting dalam bidang pemrograman. Sebegitu pentingnya suatu algoritma, sehingga perlu dipahami konsep dasar algoritma. Apalagi untuk seorang programer, tentu diperlukan suatu algoritma sehingga dapat membuat program yang lebih efektif dan efisien. Bagi kebanyakan orang, algoritma sangat membantu dalam memahami konsep logika pemrograman.
Algoritma adalah kumpulan instruksi yang dibuat secara jelas untuk menunjukan langkah-langkah penyelesaian suatu masalah. Pada umumnya algoritma kurang lebih sama dengan suatu prosedur yang sering dilakukan setiap hari, misalnya prosedur untuk mengganti ban bocor/pecah, prosedur pemakaian telepon umum, prosedur membuat kue dan lain-lain.
Dalam bidang komputer, misalnya EDP (Elektronik Data Processing) atau MIS (Management Information System), algoritma sering dimanfaatkan untuk menyelesaikan suatu masalah atau untuk proses pengambilan keputusan. Seorang sistem analisis (analisist system) tentunya menggunakan algoritma untuk merancang suatu sistem. Bagi seorang programer, algoritma digunakan untuk membuat modul-modul program. Guna memahami suatu algoritma, harus dimiliki pengetahuan dasar matematika karena pada dasarnya algoritma lahir dari konsep logika matematika. Disini yang perlu dilatih adalah kemampuan logikanya agar benar-benar bisa menyusun langkah-langkah penyelesaian masalah dengan baik. Dalam buku ajar ini, disajikan konsep dasar dan analisis algoritma. Pada bagian konsep dasar dibahas komponen utama, desain, dan contoh pembuatan. Selanjutnya, untuk mendapatkan algoritma yang efisien serta mendapatkan rumusan matematika sebagai ukuran kerumitan (kompleksitas) maka dibahas analisis algoritma dengan menggunakan
notasi O (big O).
B. PENGERTIAN PEMPROGRAMAN
Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program).
Adalah urutan perintah yang disusun sedemikian rupa, sehingga komputer dapat melaksanakan perintah sesuai dengan keinginan pemakai.
Struktur Sistem Komputer
Langkah-langkah Dalam Pemrograman Komputer :
Mendefinisikan masalah (hukum Murphy oleh Henry Ledgard)
Menemukan solusi
Memilih algoritma
Menulis program
Menguji program
Menulis dokumentasi
Merawat program
fauziisyayan.files.wordpress.com
arisalgoritma.blogspot.com
www.unsri.ac.id/upload/arsip/ANALISIS%20ALGORITMA
kulino.ninehub.com/file.php/1/nhrestore/7/pertemuan_1.ppt