Ebook struktur data dan algoritma


 

Moh. Sjukani is the author of Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java ( avg rating, 30 ratings, 4 reviews, published ). Materi dalam buku ini disusun tahap per tahap sesuai dengan tahap yang diberikan pada mata kuliah Algoritma, Pemograman atau Struktur Data di Perguruan. Algoritma dan Struktur Data dalam Bahasa Java book. Read 6 reviews from the world's largest community for readers. Buku ini membahas hal-hal yang berkait.

Author:AMBER WEISBECKER
Language:English, Spanish, German
Country:Sierra Leone
Genre:Biography
Pages:126
Published (Last):21.02.2016
ISBN:713-2-59490-493-3
Distribution:Free* [*Registration Required]
Uploaded by: JESSE

70823 downloads 174275 Views 31.62MB ePub Size Report


Ebook Struktur Data Dan Algoritma

Year: Stock: 3 eks. Indeks Page: eks. Information: xvi, hlm.: il.: tab . ; 23 cm eks. 1. STRUKTUR DATA (ILMU KOMPUTER) 2. ALGORITMA. I. Judul. Buku Logika Algoritma ed. ghofur Views. 1 year ago. Bilangan, · Untuk, · Nilai, · Algoritma, · Variabel, · Bahasa, · Flowchart, · Titik, · Gambar, · Operasi, · Buku. Ebook "Learning JQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques" Tutorial Mengenal Fungsi PHP untuk Pengambilan Data MySQL: mysql_fetch_* . Implementasi Algoritma Genetika dan Regresi Linier Berganda untuk Algoritma dan Struktur Data (17).

Terjemahkan deskripsi ke dalam Indonesia menggunakan Google Terjemahan? This ebook aims to be an accessible introduction into the design and analysis of efficient algorithms. Throughout the ebook we will introduce only the most basic techniques and describe the rigorous mathematical methods needed to analyze them. The goal of the ebook is to show you how you can methodically apply different techniques to your own algorithms to make them more efficient. While this book mostly highlights general techniques, some well-known algorithms are also looked at in depth. Ebook ini bertujuan untuk menjadi pengantar diakses ke dalam desain dan analisis algoritma yang efisien. Sepanjang ebook kami akan memperkenalkan hanya teknik yang paling dasar dan menjelaskan metode matematika yang ketat diperlukan untuk menganalisis mereka. Tujuan dari ebook ini adalah untuk menunjukkan bagaimana Anda dapat menerapkan metodis teknik yang berbeda untuk algoritma Anda sendiri untuk membuat mereka lebih efisien. Meskipun buku ini sebagian besar menyoroti teknik umum, beberapa algoritma terkenal juga melihat secara mendalam.

Algoritma dapat diartikan urutan penyelesaian masalah yang disusun secara sistematis menggunakan bahasa yang logis untuk memecahkan suatu permasalahan. Meski demikian terdapat beberapa definisi algoritma yang lain. Diantaranya menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Sedang menurut Kamus Besar Bahasa Indonesia, definisi algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah.

Menurut tim Gunadarma, algoritma adalah suatu himpunan berhingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi tersebut dapat dilaksanakan secara mekanik. Dari pengertian diatas maka dapat disimpulkan bahwa Logika danAlgoritmaadalah ilmu yang mempelajari cara penyelesaian suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu.

Untuk lebih mudah memahami arti dari algoritma dicontohkan sebuah permasalahan penukaran isi dari dua gelas. Diberikan dua buah gelas A dan B, gelasA berisi air teh dan gelasB berisi air kopi. Pertukarkan isi gelas tersebut sehingga menghasilkan gelasA yang semula berisi air teh menjadi berisi air kopi dan gelasB yang semula berisi air kopi menjadi berisi air teh.

Ilustrasi permasalahan ini dapat dilihat pada Gambar 1. Gambar 1. Cara penyelesaian permasalahan ini adalah sebagai berikut. Untuk mempertukarkan isi gelasdengan benar, maka diperlukan gelastambahan yang kita namakan gelasCsebagai tempat penampungan sementara. Berikut Algoritmanya: 2 1. Siapkan gelas cadangan C 2. Tuangkan air teh dari gelas A ke dalam gelas C gelas A menjadi kosong.

Tuangkan air kopi dari gelas B ke dalam gelas A gelas B menjadi kosong. Tuangkan air teh dari gelas C ke dalam gelas B. Ilustrasi langkah-langkah algoritma dapat dilihat pada Gambar 1. Dari contoh tersebut dapat dilihat bahwa penyelesaian permasalahan penukaran isi dua buah gelas sangat sederhana.

Disini digunakan urutan langkah yang masuk akal atau logis sehingga isi dari kedua nya sudah berpindah media, dari A ke B dan B ke A. Contoh lain penggunaan logika dan algoritma adalah membuat algoritma untuk menghitung luas lingkaran, caranya: 1. Menentukan nilai jari-jari r lingkaran.

Menentukan nilai phi. Menghitung luas lingkaran dengan cara mengkalikan nilai jari-jari r dengan r lalu dikalikan dengan nilai phi. Maka luas lingkaran ditemukan. Saat menggunakan logika, sebaiknya jangan berfikir terlalu rumit tentang sebuah masalah, karena belum tentu masalah itu serumit yang kita pikir.

Algoritma (Algoritma & Struktur Data 1) dengan C,C++, dan Java

Pikirkan hal yang paling sederhana untuk menyelesaikan masalah itu, sehingga tidak terjebak dalam pikiran rumit yang dibuat sendiri. Meski demikian jangan meremehkan masalah sekecil apapun, tapi berfikir sederhana untuk menghasilkan solusi yang efektif 3 Dalam menentukan algoritma untuk menyelesaikan suatu permasalahan, mungkin kita dihadapkan oleh beberapa pilihan algoritma.

Oleh karena itu kita harus memiliki ramburambu dalam menentukan pilihan algoritma. Pertimbangan dalam pemilihan algoritmaadalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran susuai seperti yang diharapkan dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, jika memberikan keluaran yang salah, maka sudah pasti algoritma tersebut bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahuiseberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini pentingterutama pada algoritma yang memerlukan aproksimasi hasil yaitu algoritma yang hasilnya hanya berupa pendekatan. Algoritma yangbaik harus mampu memberikan hasil yang sedekat mungkin dengan nilaiyang sebenarnya. Ketiga adalah efisiensi algoritma.

Efisiensi algoritma dapat ditinjau dari dua hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar atau paling mendekati, tetapi jika kita harus menunggu lama untuk mendapatkan hasil semisal berjam-jam untuk mendapatkan keluarannya maka biasanya algoritma tersebut biasanyatidak akan menjadi pilihan utama, setiap orang menginginkan keluaran yang relatif cepat.

Begitujuga dengan memori, semakin besar memori yang terpakai maka semakin jelek algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaandalam menyusun algoritma, tentunya kita mengharapkan keluaran yang mirip atau sama. Jika dihadapkan pada permasalahan seperti ini maka sebaiknya pilih algoritma yang paling efisien dan cepat. Tujuan dari belajar logika dan algoritma adalah agar dapat membiasakan diri melakukan suatu perencanaan apabila menyelesaikan suatu masalah.

Karena suatu permasalahan yang diselesaikan dengan suatu perencanaan yang matang maka akan mendapatkan solusi yang lebih optimal dibandingkan menyelesaikan masalah tanpa menggunakan suatu perencanaan. Ciri-ciri, Sifat, Struktur Dasar dan Cara Penulisan Algoritma Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma mempunyai lima ciri penting yang meliputi: 1.

Finiteness keterbatasan , algoritma harus berakhir setelah mengerjakan sejumlah langkah proses. Definiteness kepastian , setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda. Input masukan , algoritma memiliki nol atau lebih data masukan input. Output keluaran , algoritma mempunyai nol atau lebih hasil keluaran output.

Effectiveness efektivitas , algoritma harus sangkil efektif , langkah-langkah algoritma dikerjakan dalam waktu yang wajar. Sedang sifat algoritma adalah: 1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu. Tidak tergantung pada suatu bahasa pemrograman tertentu. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.

Print Version

Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari Seperti telah dijelaskan di sub bab sebelumnya bahwa penyusun atau struktur dasar algoritma adalah langkah-langkah.

Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma.

Berikut adalah penjelasan dari tiga struktur tersebut : 1. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah. Contoh lain dari runtunan aksi adalah algoritma penukaran dua bilangan bulat,yaitu: 1. Deklarasikan A, B, dan C sebagai bilangan bulat 2.

Masukkan nilai A dan B 3. Masukkan nilai A ke dalam C 4.

PROFORMA KURSUS FAKULTI TEKNOLOGI DAN SAINS MAKLUMAT UNIVERSITI KEBANGSAAN MALAYSIA - PDF

Masukkan nilai B ke dalam A 5. Masukkan nilai C ke dalam B 5 1. Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan.

Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini: 1. Masukkan bilangan sebagai sebuah bilangan bulat 2. Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam variabel sisa 3.

Jika nilai sisa sama dengan 0 maka kerjakan langkah 4: 4. Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah 6 6. Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia.

Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan di bahasa pemrograman yaitu for…, while Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut: 1.

Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan. Deklarasikan variabel n untuk menyimpan banyaknya perulangan 3. Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan. Masukkan sebuah karakter dan simpan dalam variabel huruf 5. Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n 6.

Algoritma (Algoritma & Struktur Data 1) dengan C,C++, dan Java

Set nilai counter dengan 0 7. Tampilkan huruf ke layar 8. Lakukan penambahan counter dengan 1 6 9. Jika nilai counter 3. Pemakaian atau pemilihan instruksi Terdapat beberapa macam instruksi dalam bahasa pemrograman sequence, selection dan repetition , urutan langkah dalam algoritma dapat diterjemahkan menjadi salah satu atau beberapa instruksi tersebut.

Aturan sintaksis Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan. Setiap bahasa pemrograman memiliki aturan penulisan sintaks-nya sendiri. Tampilan hasil Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Halteknis semacam ini diperhatikan ketikamengkonversikannya menjadi program. Cara pengoperasian compiler atau interpreter.

Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter. Masing-masing memiliki cara pengoperasian yang bisa jadi berbeda. Komputer adalah mesin pemroses. Agar dapat dikerjakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman berupa instruksi yang dapat dipahami oleh komputer sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.

Program ditulis dengan menggunakan salah satu bahasa pemrograman. Kegiatanmembuat program disebut pemrograman programming.

Orang yangmenulis program disebut pemrogram programmer. Tiap-tiap langkah didalam program disebut pernyataan atau instruksi. Jadi, program tersusunatas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasiyang bersesuaian dengan instruksi tersebut dikerjakan komputer.

Mekanisme Pelaksanaan Algoritma oleh Pemroses Notasi Penulisan Algoritma Komputer sebagai mesin pemroses terdiri dari empat komponen utama, yaitu unit input, unit output, unit pemroses sentral CPU: Central Processing Unit , dan memori seperti digambarkan pada Gambar 1.

CPU adalahperangkat keraskomputer yang memahami dan melaksanakan perintah dan data dari perangkat lunak. CPU berperan sebagai otak komputer, yang berfungsi mengerjakan operasi-operasi aritmatika seperti kalkulator, hanya saja CPU jauh lebih kuat dan lebih besar daya pemrosesannya. Fungsi utama dari CPU adalah melakukan operasi aritmatika dan logika terhadap data yang diambil dari memori atau dari informasi yang dimasukkan melalui unit input berupa beberapa perangkat keras, seperti papan tombol, pemindai, tuas kontrol, maupun tetikus.

CPU dikontrol menggunakan sekumpulan instruksi perangkat lunakkomputer. Perangkat lunak tersebut dapat dijalankan oleh CPU dengan membacanya dari media penyimpan, seperti cakram keras, disket, cakram padat, maupun pita perekam. Instruksi-instruksi tersebut kemudian disimpan terlebih dahulu pada memori fisik, yang mana setiap instruksi akan diberi alamat unik yang disebut alamat memori.

Selanjutnya, CPU dapat mengakses data-data pada memori fisikdengan menentukan alamat data yang dikehendaki. Selama proses ini terjadi, sebuah unit dalam CPU yang disebut dengan penghitung program akan memantau instruksi yang sukses dijalankan supaya instruksi tersebut dapat dieksekusi dengan urutan yang benar dan sesuai sehingga didapatkan hasil yang dapat ditampilkan pada unit output, misalnya dengan menampilkannya di layar monitor.

Komponen-Komponen Utama Komputer Seperti yang telah diketahui bahwa komputer memerlukan instruksi berupa langkahlangkah perintah sehingga sebuah prosedur dapat dijalankan. Prosedur yang berisi langkahlangkah penyelesaian masalah inilah yang disebut dengan algoritma. Jadi, sebelum memasuki tahap pemrograman komputer dengan menggunakan bahasa pemrograman,sebaiknya mempelajari algoritma yang merupakan pengantar kepada pemrograman komputer tersebut.

Dalam ilmu komputer,algoritma dikenal dengan langkah-langkah komputasi yang terdiri dari masukan dan keluaran. Karena itu Algoritma biasanya dijadikan dasar atau 9 pengantar bahasa pemrograman dalam studi yang berkecimpung atau berhubungan dengan ilmu komputer, misalnya Teknik Informatika. Belajar Membuat Program dan Belajar Bahasa Pemrograman Belajar membuat program berbeda dengan belajar bahasa pemrograman. Belajar membuat program adalah belajar tentang strategi atau cara menyelesaikan suatu masalah, yang diungkapkan dalam bentuk algoritma yang mudah dibaca dan dipahami yang selanjutnya dituangkan dalam bahasa pemrograman.

Belajar memprogrambersifat pemahaman persoalan, analisis dansintesis. Titik berat belajar membuat program adalah desain program. Sedangkan belajar bahasa pemrograman adalah belajar mengenai tata cara atau tata aturan penulisan pernyataan atau statement untuk membuat program dalam bahasa tertentu saja. Tata aturan ini biasa disebut juga dengan sintaks bahasa. Sintaks bahasa ini meliputi cara mendeklarasikan variabel, cara melakukan perulangan, percabangan dan lainlain.

Tiap bahasa pemrograman memiliki aturan penulisan sendiri-sendiri walaupun terkadang ada kemiripan aturan antar bahasa. Titik berat belajar bahasa pemrograman adalah coding program. Berdasarkanterapannya, bahasa pemrograman dapat digolongkan atas dua kelompokbesar: 1.

Bahasa pemrograman bertujuan khusus. Yang termasuk kelompokini adalah Cobol untuk terapan bisnis dan administrasi. Fortran untuk terapan komputasi ilmiah, bahasa Assembly untuk terapan pemrogramanmesin, Prolog untuk terapan kecerdasan buatan, bahasa-bahasasimulasi, dan sebagainya. Bahasa pemrograman bertujuan umum, yang dapat digunakan untukberbagai aplikasi.

Yang termasuk kelompok ini adalah bahasa Pascal, Basic, Java, dan C. Tentu saja pembagian ini tidak kaku. Bahasabertujuan khusus tidak berarti tidak bisa digunakan untukaplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapanilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasapemrograman yang berbeda dikembangkan untukbermacam-macam terapan yang berbeda pula. Berdasarkan pada tingkat kerumitan sebuah bahasa pemrograman, apakah notasi bahasa pemrograman lebih mendekati bahasa mesin atau ke bahasa manusia, maka bahasa 10 pemrograman dikelompokkan atas dua macam, yaitu bahasa tingkat tinggi dan bahasa tingkat rendah.

Istilah "bahasa pemrograman tingkat tinggi" tidak serta merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa pemrograman tingkat rendah.

Akan tetapi, maksud dari "tingkat tinggi" di sini merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat rendah terhadap bahasa mesin.

Probably the best way to start learning a programming language is by writing a program. The first panel left shows the source code for our first program. The second one right shows the result of the program once compiled and executed. To the left, the grey numbers represent the line numbers - these are not part of the program, and are shown here merely for informational purposes. The way to edit and compile a program depends on the compiler you are using.

Depending on whether it has a Development Interface or not and on its version. The previous program is the typical program that programmer apprentices write for the first time, and its result is the printing on screen of the "Hello World!

The programmer can use them to include short explanations or observations within the source code itself.

In this case, the line is a brief description of what our program is. They are not regular code lines with expressions but indications for the compiler's preprocessor. So in order to access its functionality we declare with this expression that we will be using these entities.

The word main is followed in the code by a pair of parentheses. Optionally, these parentheses may enclose a list of parameters within them. Right after these parentheses we can find the body of the main function enclosed in braces.

What is contained within these braces is what the function does when it is executed. A statement is a simple or compound expression that can actually produce some effect. In fact, this statement performs the only action that generates a visible effect in our first program. Notice that the statement ends with a semicolon character ;. A return code of 0 for the main function is generally interpreted as the program worked as expected without any errors during its execution.

You may have noticed that not all the lines of this program perform actions when the code is executed. There were lines with directives for the compiler's preprocessor those beginning by. Then there were lines that began the declaration of a function in this case, the main function and, finally lines with statements like the insertion into cout , which were all included within the block delimited by the braces of the main function.

We can write many statements per line or write a single statement that takes many code lines. The division of code in different lines serves only to make it more legible and schematic for the humans that may read it. Preprocessor directives those that begin by are out of this general rule since they are not statements. They are lines read and processed by the preprocessor and do not produce any code by themselves. Preprocessor directives must be specified in their own line and do not have to end with a semicolon ;.

Comments Comments are parts of the source code disregarded by the compiler. They simply do nothing. Their purpose is only to allow the programmer to insert notes or descriptions embedded within the source code. Introduction to flowcharts A flowchart is a graphical representation of an algorithm. These flowcharts play a vital role in the programming of a problem and are quite helpful in understanding the logic of complicated and lengthy problems. Once the flowchart is drawn, it becomes easy to write the program in any high level language.

Often we see how flowcharts are helpful in explaining the program to others. Hence, it is correct to say that a flowchart is a must for the better documentation of a complex program. Flowcharts are usually drawn using some standard symbols; however, Start or end of the program Computational steps or processing function of a program Input or output operation Decision making and branching Connector or joining of two parts of program The following are some guidelines in flowcharting: a.

In drawing a proper flowchart, all necessary requirements should be listed out in logical order. The flowchart should be clear, neat and easy to follow. There should not be any room for ambiguity in understanding the flowchart. The usual direction of the flow of a procedure or system is from left to right or top to bottom.

Only one flow line should come out from a process symbol. Only one flow line should enter a decision symbol, but two or three flow lines, one for each possible answer, should leave the decision symbol. Only one flow line is used in conjunction with terminal symbol. If the flowchart becomes complex, it is better to use connector symbols to reduce the number of flow lines. Avoid the intersection of flow lines if you want to make it more effective and better way of communication.

Ensure that the flowchart has a logical start and finish. It is useful to test the validity of the flowchart by passing through it with a simple test data. Exercises Problem : 1. Write an algorithm for finding the area of a rectangle 2. Write an algorithm for finding the total and average of student s marks.

The usefulness of the "Hello World" programs shown in the previous section is quite questionable. We had to write several lines of code, compile them, and then execute the resulting program just to obtain a simple sentence written on the screen as result.

It certainly would have been much faster to type the output sentence by ourselves. However, programming is not limited only to printing simple texts on the screen. Di bawah nama algoritma disertai de Page 24 and Gambar 2. Contoh penulisan algori Page 26 and Lengkapi Page 34 and Halaman ini sengaja dikosongkan 27 Page 36 and Fakta atau keterangan tentang kenya Page 38 and Operasi terhadap elemen array dilak Page 42 and Jenis struktur data queue sering di Page 46 and Banyak obyek dalam masalah-masalah Page 48 and Gambar 3.

List adjancency 3. Page 64 and Input yang dibutuhkan Page 70 and Input yang dibutuhkan Page 72 and Halaman ini sengaja dikosongkan 65 Page 74 and Input yang dibutuhkan Page 76 and Input yang dibutuhkan Page 78 and Halaman ini sengaja dikosongkan 71 Page 80 and Dalam kasus permasalahan diatas, in Page 82 and