Saturday, December 15, 2018

File Processing

File Processing

Penggunaan operasi FILE dalam sebuah program sangat dibutuhkan dalam pembuatan program yang sesungguhnya. Kita membutuhkan file sebagai tempat penampung data-data selama operasi program. Jika kamu menggunakan variabel biasa, data yang biasanya diolah program hanya akan tersimpan sementara dalam memory dan akan hilang ketika program close. Berbeda dengan memory, penyimpanan data berbasis file akan tersimpan terus walaupun program telah diclose maupun komputer telah di shutdown.

Pada dasarnya, operasi file terbagi 3 jenis. Read (R), Write(W), dan Append(A). Read artinya membaca isi file, write menulis data ke file dan append menambahkan data ke baris terakhir dalam file.

Parameter Mode
Arti
r
Membuka file sesuai namafilenya untuk dibaca, jika file tidak ada maka akan bernilai NULL.
w
Membuka file untuk ditulis, jika sebelumnya sudah ada nama file yang sama, maka akan dilakukan overwrite/menimpa file dengan yang baru.
a
Membuka file sesuai namafilenya untuk ditambahkan datanya dipaling bawah baris terakhir. Jika file tidak ada, maka akan membuat file baru secara otomatis.
r+
Sama dengan “r” tetapi selain file dapat dibaca juga dapat di tulis
w+
Sama dengan “w” tetapi selain file dapat ditulis juga dapat dibaca
a+
Sama dengan ”a” tetapi selain file dapat ditulis file juga dapat dibaca

Sorting & Searching

SORTING
Sorting adalah pengurutan data. Data diurutkan dari yang terkecil sampai yang paling besar atau sebaliknya. Tujuannya supaya data tersebut jadi tersusun rapi, terurut dan teratur. Algoritma untuk melakukan sorting sperti itu ada bermacam-macam diantaranya BubbleSort, SelectionSort, InsertionSort, QuickSort, dll.

1. BubbleSort
BubbleSort adalah pengurutan data yang dilakukan dengan membandingkan antara data[n] dengan data[n+1] atau antara data[n] dengan data[n-1] kemudian jika data lebih kecil/besar dilakukan pertukaran. Pada setiap iterasi dapat terjadi beberapa kali pertukaran atau tidak sama sekali. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N-1.”

2. SelectionSort
SelectionSort adalah merupakan sebuah algoritma pengurutan yang secara berulang mencari data yang belum terurut dan mencari paling sedikit satu untuk dimasukkan ke dalam lokasi akhir.

3. InsertionSort
InsertionSort dilakukan dengan cara menyisipkan sebuah angka ke posisi yang diinginkan. Angka yang disisipkan sesuai dengan urutan iterasinya. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N”.Sekilas algoritma ini tidak jauh berbeda dengan Bubble Sort, namun sesungguhnya berbeda.

4. QuickSort
QuickSort merupakan divide and conquer algorithm. Algoritma ini mengambil salah satu elemen secara acak (biasanya dari tengah) lalu menyimpan semua elemen yang lebih kecil di sebelah kirinya dan semua elemen yang lebih besar di sebelah kanannya. Hal ini dilakukan secara rekursif terhadap elemen di sebelah kiri dan kanannya sampai semua elemen sudah terurut. Algoritma ini termasuk algoritma yang cukup baik dan cepat. Hal penting dalam algoritma ini adalah pemilihan nilai tengah (pivot) yang baik sehingga tidak memperlambat proses sorting secara keseluruhan.

SEARCHING
Searching adalah pencarian suatu data dalam sekumpulan data . Kali ini kita akan bahas tentang 2 jenis searching yaitu Sequential Search dan Binary Search.

1. Sequential Search
Sequential Search merupakan proses pencarian data dengan metode pencarian langsung. Ini dilakukan dengan cara mencocokkan data yang akan dicari dengan semua data yang ada dalam kelompok data. Proses pencocokan data dilakukan secara berurutan. Satu demi satu dimulai dari data ke1 hingga data pada urutan terakhir.

2. Binary Search
Binary Search adalah sebuah teknik untuk menemukan nilai tertentu dalam sebuah larik (array) linear, dengan menghilangkan setengah data pada setiap langkah, dipakai secara luas tetapi tidak secara ekslusif dalam ilmu komputer.

Tuesday, October 16, 2018

Algoritm and Programming


Jasvin Winata
2201793382
jasvin.winata@binus.ac.id

Program Control: Repetition 

Perintah pengulangan (Repetition) digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Pada prakteknya, proses ini biasanya digunakan untuk beberapa hal, misalnya mengulang proses pemasukan data, mengulang proses perhitungan, dan mengulang proses penampilan hasil pengolahan data.

1.     Perintah for
Perintah for merupakan pengulangan yang digunakan untuk melakukan pengulangan yang diketahui banyaknya. Jenis struktur ini merupakan jenis yang paling mudah dipahami. Untuk melakukan pengulangan dengan jenis ini, kita harus mempunyai sebuah variabel sebagai indeks. Akan tetapi, perlu diperhatikan bahwa tipe data yang digunakan sebagai variabel indeks haruslah tipe data yang memiliki urutan yang teratur. Misalnya tipe data int (0, 1, 2, 3, …) atau char (‘a’, ‘b’, ‘c’, ‘d’, …). Bentuk umum dari struktur for adalah sebagai berikut.

// Untuk pengulangan yang bersifat menaik (increment)
for (variabel = nilai_awal ; kondisi_stop ; variabel++)
{
statement_yang_akan_diulang;
}
// Untuk pengulangan yang bersifat menurun (decrement)
for (variabel = nilai_awal ; kondisi_stop ; variabel–)
{
statement_yang_akan_diulang;
}


2.     Perintah while
Perintah pengulangan while adalah jenis struktur pengulangan yang melakukan pengecekan kondisi diawal blok struktur. Kita tahu bahwa pengulangan hanya akan dilakukan jika kondisi yang didefinisikan didalamnya terpenuhi (bernilai benar). Hal ini berarti jika kondisi yang didefinisikan tidak terpenuhi (bernilai salah) maka statement-statement yang terdapat pada blok pengulangan pun tidak akan pernah dieksekusi oleh program. Bentuk umum dari struktur pengulangan while adalah sebagai berikut.

while (kondisi)
{
statement_statement_yang_akan_diulang;
}

3.     Perintah Do-While
Perintah ini menyatakan pengulangan proses selama kondisi tertentu. Bentuk umumnya adalah sebagai berikut:

              do
              pernyataan;
              while (keadaan);

Setiap loop dikerjakan maka kondisi akan dicek. Jika masih benar, proses loop dilakukan lagi dan jika salah maka proses loop berhenti dan berlanjut pada perintah selanjutnya.

Biasanya kondisi berupa counter angka tertentu yang setiap kali loop dilakukan counter akan bertambah satu sampai kondisinya terpenuhi.





Cloud

Cloud artinya adalah network atau internet.

Komputasi awan (bahasa Inggris: cloud computing) adalah gabungan pemanfaatan teknologi komputer ('komputasi') dan pengembangan berbasis Internet ('awan'). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya.

Cloud Computing memisahkan infrastruktur dan bisnis.

Contoh cloud : 
Social networking (Facebook, Instagram, dll)
Data sharing (Email, Dropbox, dll)
Education (Quipper, Smart Campus, dll)
Business/Office application (Online shop portal, Google doc)
HPC for limited duration
Dan lain-lain

Deployment model adalah tipe-tipe akses kepada cloud. Tipe-tipenya adalah publik, private, hybrid.

Service model adalah bagaimana dalamnya fungsi sebuah servis. Model-modelnya adalah :
Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)

Penggunaan cloud untuk perusahaan :
Disaster Recovery as a Service (DRaaS)
Backup as a Service (BaaS)
Data as a Service (DaaS)


Manfaat Komputasi Awan :
Dari penjelasan tentang cloud computing diatas, ada banyak manfaat yang bisa kita ambil dari cloud computing, yaitu :
1. Skalabilitas, yaitu dengan cloud computing kita bisa menambah kapasitas penyimpanan data kita tanpa harus membeli peralatan tambahan, misalnya hardisk dll. Kita cukup menambah kapasitas yang disediakan oleh penyedia layanan cloud computing.
2. Aksesibilitas, yaitu kita bisa mengakses data kapanpun dan dimanapun kita berada, asal kita terkoneksi dengan internet, sehingga memudahkan kita mengakses data disaat yang penting.
3. Keamanan, yaitu data kita bisa terjamin keamanan nya oleh penyedia layanan cloud computing, sehingga bagi perusahaan yang berbasis IT, data bisa disimpan secara aman di penyedia cloud computing. Itu juga mengurangi biaya yang diperlukan untuk mengamankan data perusahaan.
4. Kreasi, yaitu para user bisa melakukan/mengembangkan kreasi atau project mereka tanpa harus mengirimkan project mereka secara langsung ke perusahaan, tapi user bisa mengirimkan nya lewat penyedia layanan cloud computing.

5. Kecemasan, ketika terjadi bencana alam data milik kita tersimpan aman di cloud meskipun hardisk atau gadget kita rusak.




Structure and Union

A structure is a user-defined data type available in C that allows to combining data items of different kinds. Structures are used to represent a record.

A union is a special data type available in C that allows storing different data types in the same memory location. You can define a union with many members, but only one member can contain a value at any given time. Unions provide an efficient way of using the same memory location for multiple purposes.

Similarities between Structure and Union
  1. Both are user-defined data types used to store data of different types as a single unit.
  2. Their members can be objects of any type, including other structures and unions or arrays. A member can also consist of a bit field.
  3. Both structures and unions support only assignment = and sizeof operators. The two structures or unions in the assignment must have the same members and member types.
  4. A structure or a union can be passed by value to functions and returned by value by functions. The argument must have the same type as the function parameter. A structure or union is passed by value just like a scalar variable as a corresponding parameter.
  5. ‘.’ operator is used for accessing members.
Differences