Jelaskan hubungan antara struktur data + Algoritma dan program

Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasa pemrograman. Beberapa pakar memberi formula bahwa: program = struktur data + algoritma..Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya. Menilai Sebuah Algoritma Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah kemungkinan bisa lebih dari satu. Dan kita memilih mana yang terbaik diantara teknik-teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Lalu bagaimana mengukur mana algoritma yang terbaik ? Beberapa persyaratan untuk menjadi algoritma yang baik adalah: • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar. • Pemrosesan yang efisien (low cost). Proses harus diselesaikan secepat mungkin dan jumlah kalkulasi yang sependek mungkin. • Bersifat general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general. • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada. • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma anda. Sulit dimengertinya suatu program akan membuat sulit pengelolaan. • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer. Contoh Algoritma dan Implementasinya Sebagai contoh sederhana, mari kita berlatih melihat permasalahan, mencoba menyusun algoritma, dan menerapkan dalam bahasa C. Permasalahan Ada seorang guru SD yang ingin membuat rangking nilai ujian 9 orang murid. Nilai ujian murid adalah sebagai berikut: 56 78 43 96 67 83 51 74 32 Bagaimana algoritma dalam pembuatan rangking nilai tersebut? Untuk memecahkan masalah di atas, kita bisa menyusun algoritma sebagai berikut: 1. Buat satu variable (misalnya rangking) 2. Set variable rangking = 1 3. Ambil satu nilai sebagai data yang ke a, misalnya 56.4. Cek nilai dari paling depan (56) sampai paling belakang (32) (b=0-8). Apabila nilai tersebut lebih tinggi daripada nilai ke a (56), maka set variable rangking = ranking + 1. 5. Ulangi proses nomor 2 dengan mengambil data ke (a) berikutnya. Kemudian mari kita implementasikan algoritma di atas dalam program bahasa C. Program: Rangking Nilai Ujian #include #define banyaknya_nilai 9 main(){ static int nilai[]={56, 78, 43, 96, 67, 83, 51, 74, 32}; int rangking[banyaknya_nilai]; int a,b; for (a=0;a<banyaknya_nilai;a++){ rangking[a]=1; for (b=0;bnilai[b]) rangking[a]++; } } printf(“Nilai Ujian \t Rangking\n”); for (a=0;a<banyaknya_nilai;a++){ printf("%d \t\t %d\n",nilai[a], rangking[a]); } } Hasil Nilai Ujian Rangking 56 4 78 7 43 2 96 9 67 5 83 8 51 3 74 6

Show

32 1

Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasa pemrograman. Beberapa pakar memberi formula bahwa :

program = struktur data + algoritma

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya. Menilai Sebuah Algoritma ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah kemungkinan bisa lebih dari satu. Dan kita memilih mana yang terbaik diantara teknik‐teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Lalu bagaimana mengukur mana algoritma yang terbaik ? Beberapa persyaratan untuk menjadi algoritma yang baik adalah :

  • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
  • Pemrosesan yang efisien (low cost). Proses harus diselesaikan secepat mungkin dan jumlah kalkulasi yang sependek mungkin.
  • Bersifat general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma anda. Sulit dimengertinya suatu program akan membuat sulit pengelolaan.
  • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.

Pembahasan lainnya : 


Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematisdalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasapemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasapemrograman.Beberapa pakar memberi formula bahwa:

program = struktur data + algoritma

Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya.

APA YANG DIMAKSUD DENGAN STRUKTUR DATA?dan apa hubungan struktur data dengan algoritma dan pemograman?Data adalah Bahan yang dipergunakan dalam suatu operasi yang menghasilkan informasi yang berguna.Struktur adalah urutan yang digunakan kan dalam suatu operasi.Struktur data adalah urutan/tata pengaturan  bahan/data yang berada didalam suatu system operasi yang akan menghasilkan tujuan tertentu.Hubungan antara Struktur data,Algoritma dan Program adalah :

Struktur data dan algoritma adalah  langkah-langkah dan tata susunan dalam suatu proses yang mempunyai tujuan yang sama yaitu program.Jadi dengan ini dapat disimpulkan bahwa hubungan antara struktur data ,dan algoritma dengan program adalah sangat erat."kayak kembang ama tawon and kumbang".


Page 2

(1)

Hubungan Algoritma dan Struktur Data

Program adalah kumpulan instruksi komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ini ditulis dengan menggunakan bahasa pemrograman. Jadi bisa kita sebut bahwa program adalah suatu implementasi bahasa pemrograman. Beberapa pakar memberi formula bahwa:

program = struktur data + algoritma..Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah

program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya.

Menilai Sebuah Algoritma

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang

digunakan untuk memecahkan masalah kemungkinan bisa lebih dari satu. Dan kita memilih mana yang terbaik diantara teknik-teknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Lalu bagaimana mengukur mana algoritma yang terbaik ? Beberapa persyaratan untuk menjadi algoritma yang baik adalah:

• Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.

• Pemrosesan yang efisien (low cost). Proses harus diselesaikan secepat mungkin dan jumlah kalkulasi yang sependek mungkin.

• Bersifat general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.

• Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.

• Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma anda. Sulit dimengertinya suatu program akan membuat sulit pengelolaan. • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.

Contoh Algoritma dan Implementasinya

Sebagai contoh sederhana, mari kita berlatih melihat permasalahan, mencoba menyusun algoritma, dan menerapkan dalam bahasa C.

Permasalahan

Ada seorang guru SD yang ingin membuat rangking nilai ujian 9 orang murid. Nilai ujian murid adalah sebagai berikut:

56 78 43 96 67 83 51 74 32

Bagaimana algoritma dalam pembuatan rangking nilai tersebut?

Untuk memecahkan masalah di atas, kita bisa menyusun algoritma sebagai berikut: 1. Buat satu variable (misalnya rangking)

2. Set variable rangking = 1

3. Ambil satu nilai sebagai data yang ke a, misalnya 56.4. Cek nilai dari paling depan (56) sampai paling belakang (32) (b=0-8). Apabila

nilai tersebut lebih tinggi daripada nilai ke a (56), maka set variable rangking = ranking + 1.

(2)

mari kita implementasikan algoritma di atas dalam program bahasa C. Program: Rangking Nilai Ujian

#include

#define banyaknya_nilai 9 main(){

printf(“Nilai Ujian \t Rangking\n”); for (a=0;a<banyaknya_nilai;a++){

printf("%d \t\t %d\n",nilai[a], rangking[a]); }

} Hasil

Nilai Ujian Rangking 56 4

Hubungan Struktur Data dan Algoritma

February 24th, 2010 • Related • Filed Under

 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.

(3)

Definisi

Algoritma:

prosedur terbatas yang terdiri beberapa operasi

menyelesaikan suatu masalah (Ibaraki)

Struktur data

cara pengaturan data agar bisa disimpan memory

komputer secara efisien

program

algoritma yang diimplementasikan dalam

bahasa pemrograman tertentu

HUBUNGAN ALGORITMA dan STRUKTUR DATA

Di dunia nyata, kemampuan komputer maupun

memory sangat terbatas

Hubungan antara Algoritma & Struktur Data

Hubungan antara Algoritma & Struktur Data•

Performa algoritma yang ideal

– Memory yang diperlukan kecil

running time

singkat

• Tradeoff antara waktu dan ruang (memory)

(4)

Algoritma yang baik + Struktur data yang tepat =

program yang baik

– Pemilihan algoritma dan struktur data yang tepat

harus

mempertimbangkan skala data, CPU, memori, dsb.

– Perlu pengetahuan algoritma dan struktur apa

saja yang ada dan mungkin dipakai.

CONTOH ALGORITMA

1. BUBBLE SORT

banyaknya data:

n

Data diurutkan/disorting dari yang bernilai besar

Proses

step 1 : Periksalah nilai dua elemen mulai dari

urutan ke-n

sampai urutan ke-1. Jika nilai kiri<kanan, tukarkan

kedua data itu.

step 2 : Periksalah nilai dua elemen mulai dari

urutan ke-n

sampai urutan ke-2. Jika nilai kiri<kanan, tukarkan

kedua data itu.

step n-1 : Periksalah nilai dua elemen mulai dari

urutan ke-n

(5)

kedua data itu.

Contoh : Tahap demi Tahap Penyelesaian

Awal 7 4 5 8 10

Awal 7 4 5 8 10

Step-1 7 4 5 8 10

Step-2 10 7 4 5 8

Step-3 10 8 7 5 4

Akhir :

Awal 7 4 5 8 10

Step-1 10 7 4 5 8

Step-2 10 8 7 4 5

Step-3 10 8 7 5 4

Step-4 10 8 7 5 4

Untuk Informasi lebih lanjut mengenai sorting

silahkan email ke

Sekarang Saya akan membahas mengenai Stack

Stack

Apakah Stack ituu?

• Penambahan dan penghapusan elemen

dilakukan pada

(6)

• Yang dihapus adalah elemen yang paling terakhir

ditambahkan

• Nama lain

LIFO (Last In First Out)

• Operasi PUSH : Menambahkan elemen pada

sebuah stack

• Penambahan dan penghapusan elemen

dilakukan pada

elemen list yang terletak di paling depan

• Yang dihapus adalah elemen yang paling terakhir

ditambahkan

• Nama lain

LIFO (Last In First Out)

• Operasi POP : Menghapus sebuah elemen dari

sebuah stack.

Stack overflow dan Stack underflow

• Stack Overflow

Menambahkan data pada sebuah stack yang telah penuh • Stack Underflow