Senin, 09 Desember 2013

Nasi Goreng Sederhana

Bahan :
nasi goreng enak
  • minyak goreng sebanyak enam sendok makan (6 sdm)
  • kecap manis untuk pewarna dan penyedap masakan sebanyak tiga sendok makan (3 sdm)
  • nasi putih (500 gram), kalau bisa pakai nasi yang pulen
  • saus tomat dua sendok makan (2 sdm)
  • telur ayam 1 butir
Haluskan bahan-bahan di bawah ini :
  • terasi ikan / terasi udang setengah sendok teh (dihilangkan juga gpp)
  • cabe merah segar tiga buah
  • bawang putih tiga siung
  • bawang merah enam siung
  • garam secukupnya
Untuk melengkapi nasi goreng, tambahkan bahan ini :
  • potongan ketimun
  • potongan tomat
  • telur dadar atau telur ceplok
Langkah pembuatannya :
  1. Goreng telur ayam dengan cara diacak atau diorak arik sampai matang dan tiriskan.
  2. Tumislah bumbu yang telah dihaluskan sampai tercium bau sedap lalu tambahkan nasi putih kemudian aduk sampai merata.
  3. Tambahkan juga kecap manis, telur, dan saus tomat aduk lagi.
  4. Hidangkan nasi goreng saat masih hangat.

Tumis Kerang Kecap

TUMIS KERANG KECAP

Kerang yang ditumis dengan kecap manis dan irisan cabai ini bisa menjadi pilihan Anda untuk menu hari ini.

Bahan-bahan/bumbu-bumbu :
350 gram kerang darah, dicuci bersih
3 buah cabai hijau, diiris
6 butir bawang merah, diiris-iris
2 siung bawang putih, diiris-iris
2 cm jahe, dimemarkan
2 cm lengkuas, dimemarkan
2 lembar daun salam
1 buah tomat, dipotong-potong
2 sendok makan kecap manis
1 sendok teh gula merah
1 sendok teh garam
1/4 sendok teh merica
150 ml air
3 sendok makan minyak untuk menumis

Cara Pengolahan :
  1. Panaskan minyak. Tumis cabai, bawang, jahe, lengkuas, dan daun salam sampai harum. Masukkan tomat. Aduk sampai layu.
  2. Tambahkan kerang, aduk sampai rata.
  3. Tambahkan kecap, gula, garam, dan merica. Aduk rata.
  4. Tambahkan air. Aduk sampai bumbu meresap.



Untuk 6 porsi

Perancangan Database

created by  Parno, SKom., MMSI

PERANCANGAN DATABASE
Perancangan Database adalah proses untuk menentukan isi dan
pengaturan data yang dibutuhkan untuk mendukung berbagai
rancangan sistem.
Perancangan sistem terjadi pada dua tingkat , yaitu :
Pada tingkat pertama, perencanaan sistem, analisis dan rancangan
umum dilaksanakan untuk menetapkan kebutuhan pemakai. Tingkat
perancangan database ini melibatkan tahap front-end, bebas dari
perancangan database tertentu atau Database Management System
(DBMS).
Pada tingkat kedua, rancangan umum, seperti diagram entitas relasi
tingkat tinggi, ditransformasikan (atau didekomposisikan) ke dalam
perancangan database rinci untuk sebuah DBMS tertentu yang akan
digunakan untuk mengimplementasikan sistem total.
Tiga model database yang cukup dikenal adalah :
§ Model Hierarkikal
§ Model Jaringan
§ Model Relasional

makalah bisa di download disini

algoritma adalah (2)

BABI
PENDAHULUAN
A. Latar Belakang
Dewasa ini, komputer digunakan di hampir semua bidang kehidupan manusia, mulai dari pendidikan, bisnis, sampai dengan permainan. Berbicara tentang komputer tidak lepas dari pemrogaman komputer. Hal ini karena komputer pada dasarnya merupakan mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin ‘pintar’ ini dapat memecahkan suatu masalah. Langkah-langkah yang perlu dilakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrogaman komputer. Adapun langkah-langkah pemrogaman komputer adalah sebagi berikut: mendefinisikan masalah, menentukan solusi, memilih algoritma, menulis program, menguji program, menulis dokumentasi, serta merawat program.
Sebelum membuat program, hendaknya kita membuat Flow Chart atau Pseudocode, sehingga memudahkan kita untuk memahami algoritma serta memudahkan kita dalam membuat program. Program yang ditulis juga harus jelas, nyata, dan komplit.
B. Rumusan Masalah
1. Apakah yang dimaksud dengan algoritma?
2. Apakah fungsi algoritma?
3. Bagaimana kriteria algoritma dalam bidang komputer?
C. Tujuan Penulisan Makalah
1. Untuk mengetahui pengertian algoritma.
2. Mengetahui manfaat algoritma.
3. Mengetahui kriteria algoritma dalam bidang komputer. 
BABII

PEMBAHASAN
A. Pengertian Algoritma
Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman tertentu seperti bahasa Pascal, Visual Basic, Java, dan masih banyak lagi bahasa yang lain.Pranata (2002:8) dalam kehidupan sehari-hari, sebenarnya kita juga menggunakan algoritma untuk melaksanakan sesuatu. Sebagai contoh, ketika kita menulis surat, maka kita perlu melakukan beberapa langkah sebagai berikut:
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena atau pensil.
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke kantor pos untuk mengeposkan surat tersebut.
B. Fungsi Algoritma
Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Namun, seorang user harus mampu membuat suatu program dengan menggunakan bahasa yang difahami oleh komputer. Sebelum disajikan dalam bentuk bahasa pemrogaman, sebaiknya kita membuat diagram alir (Flow Chart) dan Pseudocode. Hal ini dimaksudkan agar dapat mempermudah kerja atau mempermudah dalam membuat program. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika dengan cara berurutan, tetapi kadang-kadang algoritma tidak selalu berurutan, hal ini dikenal dengan proses percabangan.
C. Kriteria Program Algoritma dalam Bidang Komputer
Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya bisa mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrogaman komputer. Bahasa pemrogaman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah difahami manusia biasa disebut dengan mnemonic code. Bahasa pemrogaman yang menggunakan singkatan kata ini disebut bahasa assembly.
Program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat. Adapun contoh algoritma seperti dalam menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus lingkaran adalah L=?*R*R
Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran:
1. Masukkan R
2. Pi ? 3,14
3. L ? Pi*R*R
4. Tulis L
Perhatikan tanda ? pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3,14 diberikan pada variabel Pi. Berikutnya, nilai Pi*R*R diberikan pada variable L. Baris terakhir menuliskan luas lingkaran tersebut.
Seperti yang dikemukakan di atas, bahwa algoritma ada yang tidak berurutan dan biasa di sebut dengan pengulangan. Adapun contohnya yaitu dalam penghitungan rata-rata dari sekumpulan data yang dimasukkan pengguna.
Berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna:
1. Masukkan N
2. i?1
3. j?0
4. Selama (i<=N) kerjakan baris 4 sampai dengan 7
5. Masukkan dt
6. i?i+1
7. j?j+dt
8. Rata?j/N
9. Tulis rata
Baris pertama meminta pengguna memasukkan N, yaitu jumlah data.
Pada baris kedua, variabel I, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pegguna, bernilai 1.
Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0.
Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama I kurang dari sama dengan N. Dengan kata lain, setelahi lebih besar dari N, baris kedelapan yang dijalankan.
Baris kelima meminta masukkan data yang ke-i.
Baris keenam menambah variabel I dengan 1. Perhatikan arti dari perintah i?i+1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali.
Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variabel j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt.
Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data.
Baris terakhir menuliskan rata-rata tersebut.
Tetapi banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi.. Artinya dia menuliskan algoritma itu di daalam kepalanya.
BABIII
PENUTUP
A. Simpulan
Berdasarkan uraian di atas, dapat disimpulkan:
1. Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman.
2. Fungsi algoritma adalah untuk mempermudah kerja atau memudahkan kita dalam membuat program atau biasa di sebut sebagai Problem Solving. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika
3. Kriteria program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat.


copas : http://kumpulanalgoritma.blogspot.com/2013/01/pengertian-algoritma.html

algoritma adalah

Algoritma adalah Sistim kerja komputer memiliki brainware, hardware, dan software. Tanpa salah satu dari ketiga sistim tersebut, komputer tidak akan berguna. Kita akan lebih fokus pada softwarekomputer. Software terbangun atas susunan program (silahkan baca mengenai pengertian program) dan syntax (cara penulisan/pembuatan program). Untuk menyusun program atau  syntax, diperlukannya langkah-langkah yang sistematis dan logis untuk dapat menyelesaikan masalah atau tujuan dalam proses pembuatan suatu software. Maka,Algoritma berperan penting dalam penyusunan program atau syntax  tersebut.

Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita.
Pengertian Algoritma adalah susunan yang logis dan sistematis untuk memecahkan suatu masalah atau untuk mencapai tujuan tertentu. Dalam dunia komputer, Algoritma sangat berperan penting dalam pembangunan suatu software. Dalam dunia sehari-hari, mungkin tanpa kita sadari Algoritma telah masuk dalam kehidupan kita.

Algoritma berbeda dengan Logaritma. Logaritma merupakan operasi Matematika yang merupakan kebalikan dari eksponen atau pemangkatan. Contoh Logaritma seperti bc= a ditulis sebagai blog a = c (b disebut basis).

Contoh nyata Algoritma dalam kehidupan sehari-hari adalah "Cara Membuat Mie Instan". Berikut langkah-langkah cara membuat mie instan:

  1. Ambil goreng di dalam lemari yang terletak di dapur.
  2. Siapkan peralatan yang diperlukan seperti panci, gunting, piring, serta sendok dan garpu.
  3. Masukkan bumbu mie instan pada piring
  4. Hidupkan kompor, kemudian tuangkan air kurang lebih tiga gelas air ke dalam panci kemudian tunggu hingga air mendidih.
  5. Masukkan mie instan ke dalam air mendidih, lalu aduk dan tunggu hingga tiga menit.
  6. Tiriskan air di dalam panci, kemudian tuangkan mie pada piring.
  7. Aduk mie agar bumbu tercampur merata pada mie kemudian sajikan dengan keadaan hangat.

Kurang lebih di atas merupakan cara membuat mie instan. Langkah-langkah di atas juga termasuk dalam Algoritma. Jadi perlu diingat bahwa Algoritma tidak hanya diterapkan pada dunia komputasi, tetapi juga Algoritma diterapkan dalam kehidupan sehari-hari.

Sedangkan dalam dunia komputasi, contoh penggunaan Algoritma adalah dalam pembuatan program pada bahasa pemrograman seperti bahasa C, C#, dan Visual Basic. Dengan syntax pada tiap bahasa pemrograman dan Algoritma, maka akan tersusun program-program dan terlahirlah software.

Jadi intinya, Pengertian Algoritma adalah suatu langkah/urutan yang logis dan sistematis untuk pemecahan suatu masalah atau untuk mencapai tujuan yang diinginkan.
 
copas from rendigilasbatas.blogspot.com

Pengertian Algoritma dan Struktur Data

Pengertian Algoritma dan Struktur Data

pengertian algoritma dan struktur data

Pengertian Algoritma dan Struktur Data ..!

Perangkat lunak dikembangkan sebagai sebuah produk yang memperhatikan efisiensi dan efektifitas, karena perangkat lunak dibutuhkan sebagai salah satu bentuk teknologi yang diharapkan dapat mempermudah kegiatan manusia dengan berbasis otomasi. Algoritma digunakan sebagai sebuah pendekatan untuk dapat menyusun dan mengelola instruksi secara efisien. Stuktur data digunakan untuk mengelola data secara efektif. dibawah ini akan kami jelaskan lebih detail tentang Algoritma dan Struktur data.

1.  Pengertian Algoritma

Algoritma adalah urutan langkah untuk menyelesaikan masalah secara sistematis dan logis. Algoritma menawarkan suatu metode dalam menyelesaikan sebuah permasalahan. Algoritma diartikan sebagai urutan langkah dalam menyelesaikan masalah secara sistematis dan logis. Pendekatan secara sistematis dan logis tersebut, menjadikan proses penyelesaian masalah terjaga kebenarannya karena algoritma hendaklah benar agar dapat menghasilkan keluaran/solusi yang benar pula. Penyelesaian masalah (problem solving) adalah kegiatan utama yang dilakukan dalam menyelesaiakan sesuatu. Adapun langkah-langkah Problem Solving adalah sebagai berikut :
  1. Mengidentifikasi masalah
  2. Desain
  3. Algoritma
  4. Pembuatan program
  5. Pengujian
  6. Pemeliharaan
Algoritma biasa ditulis dalam bentuk pseudo code. Perhatikan contoh berikut ini:
Carilah luas persegi panjang jika diketahui x sebagai nilai panjang dan y sebagai nilai lebar.
  1. panjang ← masukkan x sebagai nilai panjang
  2. lebar ← masukkan y sebagai nilai lebar
  3. luas ← panjang * lebar
  4. Tulis luas
Tentukan bilangan masukan berikut sebagai bilangan postif, negatif atau nol.
  1. Bilangan ← bilangan yang akan diuji
  2. If bilangan > 0 then tulis “Bilangan Positif”
  3. If bilangan < 0 then tulis “ Bilangan Negatif”
  4. Tulis “Nol”
Tampilkan tulisan “Selamat Belajar” sebanyak 10 kali
  1. x ← masukkan nilai perulangan
  2. i ← 1
  3. Jika i <= x, tulis “Selamat Belajar”
Flowchart adalah visualisasi urutan langkah secara sistematis dan logis dalam bentuk simbol-simbol yang tertentu.
Pengertian Algoritma dan Struktur Data
Contoh flowchart :
Pengertian Algoritma dan Struktur Data

2. Struktur Data

Struktur data adalah suatu pengelolaan data sehingga data dapat dipergunakan secara lebih efisien dan efektif. Dalam bahasa pemrograman, struktur data seringkali ditampakkan secaa fisik dalam bentuk tabel (biasanya pada bahasa pemrograman/pengelolaan database berbasis visual), namun pada beberapa bahasa pemrograman yang tidak berbasis visual, strutkur data lebih berupa pengelolaan data dengan aturan-aturan tertentu. Beberapa konsep pengelolaan data sederhana adalah sebagai berikut :
1. Array
Array adalah kumpulan data bertipe sama dan menggunakan nama yang sama pula. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan “subscript”. Subscript berupa bilangan di dalam kurung siku [...]. Melalui subscript inilah masing-masing elemen dapat diakses.
Pengertian Algoritma dan Struktur Data
2. Array Berdimensi Satu
Array berdimensi satu adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 1 (satu) unsur. Sejumlah data suhu disimpan dalam nama suhu terdiri dari Suhu 1 = 25°, Suhu 2 = 23,5°, Suhu 3 = 21°, Suhu 4 = 26° dan Suhu 5 = 35° Pendefinisian array meliputi nama array, tipe elemen array dan jumlah elemen array.
Contoh :
Float nilai_mhs [12];
Keterangan :
1. tipe array : float (bilangan pecah)
2. nama array : nilai_mhs
3. jumlah elemen array : 12 data, yaitu nilai_mhs[1], nilai_mhs[2],…., nilai_mhs[12].
Nilai elemen array dapat dimasukkan melalui keyboard atau dimasukkan saat didefinisikan pada program.
3. Array Berdimensi Dua
Array berdimensi satu adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 2 (dua) unsur, yaitu baris dan kolom. Array berdimensi dua berarti meiliki dua dimensi data. Contoh sederhana adalah data yang tertulis dalam tabel berikuit ini :
Pengertian Algoritma dan Struktur Data
Jika dibuat programnya adalah sebagai berikut :
int data_mobil [3] [4];
Keterangan :
      1. baris 1 – baris 3 : menunjukkan merek mobil.
      2. kolom 1 – kolom 4 : menunjukkan tahun penjualan
      3. tipe array : integer (bilangan bulat).
      4. nama array : data_mobil.
      5. jumlah elemen array : [3,4]
      6. [2,3] dibaca : penjualan mobil merek Daihatsu pada tahun 1994 adalah 70 unit.
4. Array Sebagai Argumen Fungsi
Array juga dapat berkedudukan sebagi parameter di dalam fungsi. Contoh pendefinisian :
const int MAKS = 5
    Int data[MAKS];
5. Fungsi
Fungsi adalah bagian program yang berisi sejumlah pernyataan tertentu yang dapat dipanggil berulang kali. Tujuan pembuatan fungsi adalah :
1. Memudahkan dalam mengembangkan program
2. Menghemat ukuran program
Beberapa hal yang harus diperhatikan dalam pembuatan fungsi adalah :
1. Fungsi menerima masukan yang disebut argumen atau parameter.
2. Masukan diproses oleh fungsi dan memberikan hasil akhir yang disebut nilai balik (return value).
3. Agar fungsi dapat dipanggil, fungsi harus dideklarasikan.
6. Prototipe
Deklarasi fungsi disebut prototype fungsi yang berupa :
1. nama fungsi
2. tipe nilai balik fungsi
3. jumlah dan tipe argument
4. serta diakhiri dengan titik koma (;).
Contoh :
long kuadrat(long l)
dimana menyatakan kuadrat() adalah nama fungsi, long adalah tipe argument, long (kedua) menunjukkan nilai balik yang bertipe long
void garis()
menyatakan fungsi tanpa nilai balik
Pernyataan return digunakan untuk memberikan nilai balik fungsi. Dalam fungsi diatas berarti nilai kuadrat dari argument. Fungsi dengan pernyataan void tidak memberikan nilai balik. Biasanya tidak diakhiri pernyataan return. Jenis variabel dalam kaitannya dengan lingkup fungsi terdapat tiga macam yaitu : variabel otomatis, variabel eksternal dan variabel statis.
    • Variabel Lokal (otomatis) : Variabel yang didefinisikan di dalam fungsi disebut variabel local. Variabel ini hanya dikenal dalam fungsi tersebut.
    • Variabel Global (Eksternal) : Variabel yang didefinisikan di bagian luar manapun dari fungsi dan dikenal oleh semua fungsi. Disebut juga variabel global, karena dikenal de semua fungsi.
    • Variabel Statis : Baik variabel local maupun global dapat berfungsi sebagai variabel statis dengan cara menambahkan pada kedua variabel tersebtu pernyatan static. Kemudian pada kedua variabel tersebtu berlaku hal sebagai berikut :
      1. Jika variabel local berdiri sebagai variabel statis maka variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya, variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya.
      2. Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol.
      3. Jika variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut .
Demikian tentang Pengertian Algoritma dan  konsep Struktur Data mudah-mudahan memberi manfaat bagi sobat semua, sehingga kita dapat mengerti bahwa dalam suatu program terdapat suatu algoritma berperan penting dalam mengelola dan menyusun intruksi secara efisien. jangan lupa memberikan tanggapan sobat di bawah ini yah..? :D

Algoritma dan struktur data (1)

1.Definisi Algoritma dan Struktur data

Dewasa ini, komputer digunakan di hampir semua bidang kehidupan manusia, mulai dari pendidikan, bisnis, sampai dengan permainan. Berbicara tentang komputer tidak lepas dari pemrogaman komputer. Hal ini karena komputer pada dasarnya merupakan mesin yang tidak bisa apa-apa. Kita harus memberikan serangkaian instruksi kepada komputer agar mesin ‘pintar’ ini dapat memecahkan suatu masalah. Langkah-langkah yang perlu dilakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah inilah yang dinamakan pemrogaman komputer. Adapun langkah-langkah pemrogaman komputer adalah sebagi berikut: mendefinisikan masalah, menentukan solusi, memilih algoritma, menulis program, menguji program, menulis dokumentasi, serta merawat program.
Sebelum membuat program, hendaknya kita membuat Flow Chart atau Pseudocode, sehingga memudahkan kita untuk memahami algoritma serta memudahkan kita dalam membuat program. Program yang ditulis juga harus jelas, nyata, dan komplit.

A. Pengertian Algoritma dan struktur data
Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman tertentu seperti bahasa Pascal, Visual Basic, Java, dan masih banyak lagi bahasa yang lain.Pranata (2002:8) dalam kehidupan sehari-hari, sebenarnya kita juga menggunakan algoritma untuk melaksanakan sesuatu. Sebagai contoh, ketika kita menulis surat, maka kita perlu melakukan beberapa langkah sebagai berikut:
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena atau pensil.
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke kantor pos untuk mengeposkan surat tersebut.
B. Fungsi Algoritma
Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Namun, seorang user harus mampu membuat suatu program dengan menggunakan bahasa yang difahami oleh komputer. Sebelum disajikan dalam bentuk bahasa pemrogaman, sebaiknya kita membuat diagram alir (Flow Chart) dan Pseudocode. Hal ini dimaksudkan agar dapat mempermudah kerja atau mempermudah dalam membuat program. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika dengan cara berurutan, tetapi kadang-kadang algoritma tidak selalu berurutan, hal ini dikenal dengan proses percabangan.
C. Kriteria Program Algoritma dalam Bidang Komputer
Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya bisa mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrogaman komputer. Bahasa pemrogaman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah difahami manusia biasa disebut dengan mnemonic code. Bahasa pemrogaman yang menggunakan singkatan kata ini disebut bahasa assembly.
Program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat. Adapun contoh algoritma seperti dalam menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus lingkaran adalah L=?*R*R
Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran:
1. Masukkan R
2. Pi ? 3,14
3. L ? Pi*R*R
4. Tulis L
Perhatikan tanda ? pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3,14 diberikan pada variabel Pi. Berikutnya, nilai Pi*R*R diberikan pada variable L. Baris terakhir menuliskan luas lingkaran tersebut.
Seperti yang dikemukakan di atas, bahwa algoritma ada yang tidak berurutan dan biasa di sebut dengan pengulangan. Adapun contohnya yaitu dalam penghitungan rata-rata dari sekumpulan data yang dimasukkan pengguna.
Berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna:
1. Masukkan N
2. i?1
3. j?0
4. Selama (i<=N) kerjakan baris 4 sampai dengan 7 5. Masukkan dt 6. i?i+1 7. j?j+dt 8. Rata?j/N 9. Tulis rata Baris pertama meminta pengguna memasukkan N, yaitu jumlah data. Pada baris kedua, variabel I, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pegguna, bernilai 1. Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0. Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama I kurang dari sama dengan N. Dengan kata lain, setelahi lebih besar dari N, baris kedelapan yang dijalankan. Baris kelima meminta masukkan data yang ke-i. Baris keenam menambah variabel I dengan 1. Perhatikan arti dari perintah i?i+1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali. Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variabel j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt. Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data. Baris terakhir menuliskan rata-rata tersebut. Tetapi banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi.. Artinya dia menuliskan algoritma itu di daalam kepalanya.



2. Materi dalam Algoritma 2
Bab 1 Pointer
Pointer merupakan tipe data berukuran 32 bit yang berisi salah satu nilai yang berpadanan dengan alamat memory tertentu. Sebagai contoh, Sebuah variable P bertipe pointer bernilai 0x0041FF2A, berarti P menunjuk pada alamat memory 0041FF2A. Pointer Dideklarasikan seperti variable biasa menambahkan tanda * (asterisk yangh mengawali nama variable.
Bab 2 Array
Array adalah suatu struktur data yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Elemen – elemen array tersusun secara sekuensial dalam memory computer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi dimensi).
2.1 Array satu dimensi
Array satu dimensi tidak lain adalah kumpulan elemen – elemen identik yang tersusun dalam satu baris. Elemen – elemen tersebut memiliki tipe data yang sama pula.
2.2 Array dua dimensi
Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama.
Bab 3. Strukture
Structure (struktur) adalah kumpulan elemen-elemen data yang digabungkan menjadi satu ketentuan. Masing – masing elemen data tersebut dikenal dengan sebuah field. Field data tersebut dapat memiliki tipe data yang sama ataupun berbeda. Walaupun field – field tersebut berada dalam satu kesatuan, masing – masing field tersebut tetap dapat diakses secara indifidual.
Bab 4. Linked list
Pada bab sebelumnya telah dijelaskan mengenai varriabel array yang bersifat statis (ukuran dan urutannya sudah pasti). Selain itu, ruang memory yang dipakai olehnya tidak dapat dihapus bila array tersebut sudah tidak digunakan lagi pada saat program dijalankan. Untuk memecahkan masalah diatas , Kita dapat menggunakan variable akan dilokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan dapat direlokasikan kembali.




4.1 Single linked list
Pembuatan Single link list dapat menggunakan 2 metode :
• LIPO (Last In First Out), Aplikasinya : Stack ( Tumpukan)
• FIFO (First In First Out), Aplikasinya : Queue (Antrean)
4.2 Double Linked list
Salah satu kelemahan single link list adalah pointer hany dapat bergerak satu arah saja, maju/mundur, atau kanan/kiri sehingga pencarian data pada single link list hanya dapat bergerak dalam satu arah saja. Untuk mengatasi kelemahan tersebut, anda dapat menggunakan metode double link list.
4.3 Circular Doubele linkd list
Ini adalah double linked list yang simpul terakhirnya menuju ke simpul terakhirnya menuju ke simpul awalnya menuju ke simpul akhir sehingga membentuk suatu linkaran.
Bab 5. Stack
5.1. Definisi stack
Steck adalah suatu tumpukan dari benda. Konsep utamanya adalah LIPO , benda terakhr masuk dalam stack menjadi benda pertama yang dikeluarkandari stack.
5.2 . Stack dengan Array
Sesuai dengan sifat stack, pengambilan / penghapusan di elemen dalam stack harus dimulai dari elemen teratas.
5.3. Double stack dengan Array
Metode ini adalah teknik khusus yang dikembangkan untuk menghemat pemakaian memori dalam pembuatan dua stack dengan array. Intinya adalah penggunaannya hanya sebuah array untuk menampung dua stack.
5.4. Stack dengan Singel Link List
. Stack dengan Singel Link List memiliki keunggulan dari pada menggunakan array, yaitu penggunaan alokaso memori yang dinamis sehingga menghindari pemborosan memori.


Bab 4. Queue
Queue merupakan salah satu contoh aplikasi dari pembuatan double linked listyang cukup sering kita temui dalam kehidupan sehari-hari. Istilah yang sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue.
1) IMPLEMENTASI QUEUE DENGAN LINEAR ARRAY
Linear array adalah suatu array yang dibuat seakan-akan merupakan suatu garis lurus dengan satu pintu masuk dan satu pintu keluar.
2) IMPLEMENTASI ARRAY DENGAN CIRCULAR ARRAY
Circular array adalah suatu array yang dibuat seakan-akan merupakan sebuah lingkaran dengan titik awal(head)dan titik akhir(tail) saling bersebelahan jika array tersebut masih kosong.
3) IMPLEMENTASI QUEUEU DENGAN DOUBLE LINKED LIST
Selain menggunakan array, queue juga dapat dibuat dengan linked list. Metode linked list yang digunakan adalah double linked list.
Bab 5. Tree
• TREE
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hierarkis antara elemen-elemen. Tree bisa didefinisikan sebagai kumpulan simpul/node dengan elemen khusus yang disebut Root. Node lainnya terbagi menjadi himpunan-himpunan yang saling tak berhubungan satu sama lain.
JENIS-JENIS TREE
1) Binary tree
Binary tree adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut tiap node dalam binary tree hanya boleh memiliki paling banyak 2 child.
JENIS-JENIS BINARY TREE:
 FULL BINARY TREE
Jenis binary tree ini tiap nodenya (kecuali leaf) memiliki 2 child dan tiap subtree harus mempunyai panjang path yang sama.
 COMPLETE BINARY TREE
Jenis ini mirip dengan full binary tree, namun tiap subtree boleh memiliki panjang path yang berbeda dan stiap node kecuali leaf hanya boleh memiliki 2 child.
 SKEWED BINARY TREE
Skewed binary tree adalah binary tree yang semua nodenya (kecuali leaf)
Hanya memiliki 1 child
 IMPLEMENTASI BINARY TREE
Binary tree dapat diimplementasikan dalam c++ dengan menggunakan double linked list.

BINARY SEARCH TREE
Binary tree ini memiliki sifat dimana semua left child harus lebih kecil dari pada right child dan parentnya. Semua right child juga harus lebih besar dari left child serta parentnya. Binary search tree dibuat untuk mengatasi kelemahan pada binary tree biasa, yaitu kesulitan dalam searching/pencarian node tertentu dalam binary tree.
3. Kesimpuan

Matakuliah ini mengajarkan teknik-teknik
dasar untuk abstraksi data, algoritma-algoritma akses dan manipulasi
struktur-struktur abstraksi tersebut; serta pengantar analisis kompleksitas
pemakaian storage dan waktu dalam eksekusi algoritme-algoritme tersebut.
Topik-topik yang akan dibahas meliputi: pengenalan struktur data, konsep ADT
(Abstract Data Type) dan contoh-contoh penggunaannya, pemrograman rekursif,
algoritma-algoritma pengurutan (sorting), implementasi struktur data linear
(list, stack, queue), struktur data hirarkis: Tree, Binary Search Tree, AVL
Tree, BTree, Hashtable, dan Graph.

blogngurah.blogspot.com