Tipe Data dan Struktur Data

Pengertian Pada Struktur Data

Struktur Data adalah sebuah skema organisasi, seperti struktur dan array, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut. Secara umum jenis-jenis data dapat dikelompokkan atas 2 bagian, yaitu :

  1. Jenis data primitif, terdiri atas :
  1. Integer

  2. Real

  3. Boolean

  4. Karakter

  1. Jenis data campuran, yaitu : "String".

Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika. Dalam kehidupan sehari-hari sebenarnya kita juga menggunakan algoritma untuk melakukan sesuatu. Sebagai contoh untuk menulis surat diperlukan langkah-langkah sebagai berikut :

  1. Mempersiapkan kertas dan amplop

  2. Mempersiapkan alat tulis

  3. Mulai menulis.

  4. Memasukkan kertas ke dalam amplop.

  5. Pergi ke kantor pos untuk mengeposkan surat tersebut.

Tipe data pada Pemrograman

Tipe data, dalam pemrograman, adalah klasifikasi yang menentukan jenis nilai variabel apa dan jenis operasi matematis, relasional atau logis yang dapat diterapkan tanpa menyebabkan kesalahan. String, misalnya, adalah tipe data yang digunakan untuk mengklasifikasikan teks dan integer adalah tipe data yang digunakan untuk mengklasifikasikan seluruh bilangan.

    Tipe Data   Contoh            Keterangan
     Logical    TRUE, FALSE       Nilai Boolean
     Numeric    12.3, 5, 999      Segala jenis angka
     Integer    23L, 97L, 3L      Bilangan integer (bilangan bulat)
     Complex    2i, 3i, 9i        Bilangan kompleks
     Character 'a', "b", "123"    Karakter dan string
     Factor     1, 0, "Merah"     Dapat berupa numerik atau string 
     Raw        Identik dengan 
                   "hello"       Segala jenis data yang disimpan sebagai raw                                                                    bytes

Sintaks berikut adalah contoh dari tipe data pada R. Untuk mengetahui tipa data suatu objek kita dapat menggunakan perintah class().

# Logical
apel <- TRUE
class(apel)
## [1] "logical"
# Numeric
x <- 2.3
class(x)
## [1] "numeric"
# Integer
y <- 2L
class(y)
## [1] "integer"
# Compleks
z <- 5+2i
class(z)
## [1] "complex"
# string
w <- "saya"
class(w)
## [1] "character"
# Raw
xy <- charToRaw("hello world")
class(xy)
## [1] "raw"

Keenam jenis data tersebut disebut sebagai tipe data atomik. Hal ini disebabkan karena hanya dapat menangani satu tipe data saja. Misalnya hanya numeric atau hanya integer.

Selain menggunakan fungsi class(), kita dapat pula menggunakan fungsi is_numeric(), is.character(), is.logical(), dan sebagainya berdasarkan jenis data apa yang ingin kita cek. Berbeda dengan fungsi class(), ouput yang dihasilkan pada fungsi seperti is_numeric() adalah nilai Boolean sehingga fungsi ini hanya digunakan untuk mengecek apakah jenis data pada objek sama seperti yang kita pikirkan. Sebagai contoh disajikan pada sintaks berikut:

data <- 25

# Cek apakah objek berisi data numerik
is.numeric(data)
## [1] TRUE
# Cek apakah objek adalah karakter
is.character(data)
## [1] FALSE

Kita juga dapat mengubah jenis data menjadi jenis lainnya seperti integer menjadi numerik atau sebaliknya. Fungsi yang digunakan adalah as.numeric() jika ingin mengubah suatu jenis data menjadi numerik. Fungsi lainnya juga dapat digunakan sesuai dengan kita ingin mengubah jenis data objek menjadi jenis data lainnya.

# Integer
apel <- 2L

# Ubah menjadi numerik
as.numeric(apel)
## [1] 2
# Cek
is.numeric(apel)
## [1] TRUE
# Logical
nangka <- TRUE

# Ubah logical menjadi numeric
as.numeric(nangka)
## [1] 1
# Karakter
minum <- "minum"

# ubah karakter menjadi numerik
as.numeric(minum)
## Warning: NAs introduced by coercion
## [1] NA
  Penting!!!

  Konversi karakter menjadi numerik akan menghasilkan output NA (not available). R tidak mengetahui bagaimana cara merubah karakter menjadi bentuk numerik.

Berdasarkan Tabel 2, vektor karakter dapat dibuat menggunakan tanda kurung baik double quote ("") maupun single quote ('').Jika pada teks yang kita tuliskan mengandung quote maka kita harus menghentikannya menggunakan tanda ( ). Sbegai contoh kita ingin menuliskan `My friend's name is "Adi", pada sintaks akan dituliskan:

'My friend\`s name is "Adi"'
## [1] "My friend`s name is \"Adi\""
# Atau

"My friend's name \"Adi\""
## [1] "My friend's name \"Adi\""

Jenis - jenis Tipe Data

Kita juga dapat mengubah jenis data menjadi jenis lainnya seperti integer menjadi numerik atau sebaliknya. Fungsi yang digunakan adalah as.numeric() jika ingin mengubah suatu jenis data menjadi numerik. Fungsi lainnya juga dapat digunakan sesuai dengan kita ingin mengubah jenis data objek menjadi jenis data lainnya.

1.Integer Tipe data yang pertama adalah integer, tipe data ini bisa didefinisikan sebagai bilangan bulat.

2.Float Float adalah tipe data yang sering disebut dengan tipe data bilangan real. Jika jenis tipe data integer tidak mengenal karakter desimal atau pecahan, maka pada tipe data float ini bisa dituliskan karakter desimal atau berkoma.

3.Char Tipe data berikutnya adalah char, yaitu tipe data yang biasanya terdiri dari suatu angka, tanda baca, huruf atau bahkan karakter khusus. Untuk menyimpan sebuah karakter dibutuhkan 1 byte atau 8 bit ruang di dalam memori.

4.String Sering merupakan tipe data yang terdiri dari kumpulan karakter yang memiliki panjang tertentu, tipe data string ini sering dianggap sebagai tipe data dasar. Ini karena sampai sekarang tiba data string adalah tipe data yang paling sering digunakan oleh para programmer.

5.Array Tipe data yang terakhir adalah array, tipe data ini termasuk ke dalam tipe data composite dikarenakan dapat menyimpan. Data yang tersimpan di dalam tipe data array harus bertipe sama atau homogen.