12/18/2018


Sorting and Searching
2201738522
Michael Dragon

Kali ini saya akan menjelaskan suatu metode pencarian maupun pengaturan data yang biasanya digunakan pada bahasa C, yaitu sorting dan searching.

Sorting

Sorting merupakan suatu metode untuk melakukan pencarian dari list data, dibagi menjadi 2 yaitu ascending dan descending, dan berdasarkan levelnya sorting dibagi menjadi 2 juga: simple (bubble sort, selection sort, insertion sort) dan intermediate (quick sort, merger sort).

·         Bubble sort
Merupakan cara mensorting dengan membandingkan 2 nilai lalu menukarnya jika diperlukan.

·         Selection sort
Merupakan cara sorting dengan mengambil suatu nilai sebagai pembanding lalu membandingkannya dengan nilai lainnya dan apabila meneukan nilai yang lebih kecil maka nilai pembanding menjadi nilai yang terkecil.

·         Insertion sort
Dengan metode yang sama seperti selection tetapi memiliki perbedaan di mana nilai yang mau dibandingkan akan disimpan terlebih dahulu di suatu tempat
·         Quick sort

Merupakan cara sorting dengan metode recursive seperti yang saya jelaskan sebelumnya.
·         Merge sort

Merupakan cara sort dengan melakukan pembagian dan lalu digabungkan. Artinya cara ini awalnya membagi masalah besar menjadi beberapa bagian kecil lalu setelah itu menyelesaikan bagian-bagian terkecilnya dahulu baru digabungkan lagi setelah selesai

Searching

Searching adalah suatu cara untuk mengambil suatu informasi berdasarkan kunci yang dimiliki, kunci ini sendiri harus unik yang berarti tidak ada kesamaan dengan kunci lain. teknik searching terbagi menjadi 3 yaitu: Linear search, Binary search, dan interpolation search.

·         Linear search
Metode yang melakukan pembandingan antara tiap elemen dengan kunci.

·         Binary search
Selanjutnya binary search, merupakan metode pencarian yang berguna untuk array yang belum disort dan sedikit jumlahnya, ketika jumlahnya menjadi banyak metode ini tidak terlalu efisien. Jika sudah disort, binary search adalah teknik cepat yang bisa digunakan.

·         Interpolation search
Suatu metode yang digunakan untuk array yang sudah disort, prosesnya kurang lebih sama seperti binary search dan dapat dilakukan dengan memperkirakan lokasi datanya

Sekian dari saya mengenai penjelasan tentang sorting dan searching ini, jika terjadi kesalahan mohon dimengerti dan semoga cukup bermanfaat


Ringkasan mengenai Function dan Recursion
2201738522
Michael Dragon

Kali ini saya akan menjelaskan mengenai function dan recursion yang terdapat di bahasa C, atau bahasa yang sering kita gunakan dalam pemrograman. Pertama saya akan bahas modular programming
Modular Programming
Suatu program dibagi menjadi bebrapa modul, dan modul ini sendiri diimplementasikan menggunakan suatu function dalam bahasa C, apa itu function? Function merupakan grup dari statement yang digunakan untuk menjalankan beberapa pekerjaan. Kegunaan dari menggunakan modular programming adalah:
·         Memudahkan untuk debug karena logical flow mudah diikuti dan mudah mencari kesalahannya
·         Memudahkan untuk didokumentasikan
·         Perubahan dapat dilakukan tanpa mempengaruhi semua code
Function
Dalam bahasa C, function dibagi menjadi 2:
·         Library function (function standar yang diberikan dari compiler C, biasanya menggunakan .h)
·         User defined function (suatu function yang mendefine dirinya sendiri)

lalu untuk membentuk suatu function, caranya adalah:

Return-value-type function name (parameter)
{
Statements:
}

Dan biasanya  suatu function dibuat di sebelum int main() sehingga function dapat diketahui oleh int main()[function parameter]. Dalam suatu function juga terdapat identifikasi yang dibagi menjadi 2 yaitu global dan local, perbedaannya adalah sebagai berikut:
·         Local identifier
Suatu identifier dideklarasi di dalam function termasuk dengan parameternya, dan biasanya hanya dapat dipakai di local saja
·         Global identifier
Identifier yang dideklarasi di luar function dan berada di paling atas suatu program, sehingga dapat digunakan di semua tempat, global identifier sendiri dapat di deklarasi ulang jika perlu di dalam subprogram. Terkadang global identifier tidak disarankan digunakan, karena:
1)      Risiko error bisa meningkat karena baris kode juga meningkat
2)      Sulit untuk debugging


Recursive Definition
Recursive adalah function yang memanggil function itu sendiri, berguna untuk masalah recursive seperti faktorial.
Function recursive mempunyai 2 komponen, yaitu:
·         Base Case
Nilai return tidak memanggil kembali recursivenya
·         Reduction Step
Nilai return kembali memanggil function recursivenya