Pengantar Pemrograman R

Dasar-Dasar R

Subbab ini adalah awal perjalanan Anda dalam menyelami R. Di dalam subbab ini, Anda akan belajar bagaimana menggunakan R untuk melakukan operasi-operasi aritmetika dan bagaimana memberikan nilai kepada variabel. Selain itu, Anda akan mengetahui jenis-jenis data yang mendasar di R. Mari kita mulai dengan penuh semangat!

Operasi Aritmetika dengan R

Hal mendasar yang dapat kita lakukan di R adalah menggunakannya sebagai kalkulator. Kita dapat menggunakan R untuk melakukan operasi-operasi aritmetika. Untuk melakukannya, kita gunakan operator-operator berikut ini.

  • Penjumlahan: +
  • Pengurangan: -
  • Perkalian: *
  • Pembagian: /
  • Perpangkatan: ^
  • Modulus: %%

Operasi modulus memberikan sisa pembagian ketika kita membagi sebuah bilangan dengan bilangan lain. Misalnya, 10 %% 4 akan menghasilkan 2 karena 10 dibagi 4 sisanya 2.

Berdasarkan informasi tersebut, sekarang kerjakan Latihan 1.1 berikut!

Latihan 1.1

  • Perhatikan editor di bawah ini! Kita dapat mengamati bahwa tagar # digunakan untuk menambahkan komentar terhadap kode R.
  • Hitunglah 3 pangkat 4 dengan menuliskan 3^4.
  • Tentukan berapakah sisa pembagian 44 oleh 7 dengan menuliskan 44 %% 7.
# no pec # Penjumlahan 8 + 7 # Pengurangan 2023 - 20 # Perkalian 23 * 5 # Pembagian (5 + 5) / 2 # Perpangkatan # Modulus # Penjumlahan 8 + 7 # Pengurangan 2023 - 20 # Perkalian 23 * 5 # Pembagian (5 + 5) / 2 # Perpangkatan 3^4 # Modulo 44%%7 msg = "Jangan menghilangkan contoh operasi aritmetika lainnya!" ex() %>% check_output_expr("3^4", missing_msg = "Contoh perpangkatannya masih keliru. Tulislah `3 ^ 4` pada baris baru.") ex() %>% check_output_expr("44 %% 7", missing_msg = "Sepertinya ada kekeliruan dalam contoh modulonya. Silakan tulis `44 %% 7` pada baris baru.") success_msg("Hebat! Ayo lanjut mempelajari variabel di bagian berikutnya.")
Contoh lain penggunaan operator modulo: 35 %% 8 menghasilkan 3

Variabel

Variabel penting dalam statistika maupun pemrograman, khususnya di R. Dengan variabel, kita dapat menyimpan sebuah nilai (misalnya 5) atau objek (misalnya sebuah daftar informasi film). Nama variabel tersebut kemudian dapat kita gunakan lagi untuk mengakses nilai atau objek yang tersimpan dalam variabel tersebut.

Untuk menyimpan 5 kepada sebuah variabel var_ku, kita gunakan perintah berikut. Sekarang ayo kerjakan Latihan 1.2!

var_ku <- 5

Latihan 1.2

Perhatikan editor di bawah ini. Berikan nilai 144 kepada variabel var_mu. Setelah itu, klik tombol Submit. Jika jawabannya benar, nilai 144 akan ditampilkan di R Console.

# no pec # Berikan nilai 144 kepada variabel var_mu var_mu <- # Cetaklah nilai dari variabel var_mu var_mu # Berikan nilai 144 kepada variabel var_mu var_mu <- 144 # Cetaklah nilai dari variabel var_mu var_mu ex() %>% check_object("var_mu", undefined_msg = "Pastikan variabel `var_mu` terdefinisi.") %>% check_equal(incorrect_msg = "Pastikan untuk memasukkan nilai yang akurat kepada `var_mu`.") success_msg("Luar biasa! Mari lanjut ke pendalaman tentang variabel di bagian berikutnya.")
Lakukan cara yang sama dengan memasukkan nilai 5 ke variabel var_mu

Sekarang misalkan kita menghadap sebuah laci. Laci tersebut berisi tiga buku teks. Selanjutnya, kita dapat membuat sebuah variabel dengan nama buku_teks dan memberikannya nilai sebanyak buku teks dalam laci tersebut. Lakukan hal ini di Latihan 1.3.

Latihan 1.3

  • Tikkan kode berikut ke dalam editor: buku_teks <- 3. Apa maksud kode tersebut? Kode tersebut membuat variabel buku_teks dan menjadikannya bernilai 3.
  • Tuliskan buku_teks di bawah komentar yang kedua. Hal ini digunakan untuk menampilkan nilai variabel tersebut.
  • Klik tombol Submit untuk mengirimkan jawaban Anda. Kita akan melihat 3 tercetak dalam output. Artinya R telah menghubungkan buku_teks dengan 3.
# no pec # Berikan nilai 3 kepada variabel buku_teks # Tampilkan nilai variabel buku_teks # Berikan nilai 3 kepada variabel buku_teks buku_teks <- 3 # Tampilkan nilai variabel buku_teks buku_teks ex() %>% check_object("buku_teks", undefined_msg = "Silakan definisikan variabel `buku_teks`.") %>% check_equal(incorrect_msg = "Pastikan nilai `buku_teks` sudah akurat.") ex() %>% check_output_expr("buku_teks", missing_msg = "Apakah Anda sudah meminta R menampilkan nilai `buku_teks` pada console?") success_msg("Bagus! Silakan lanjut ke pembahasan berikutnya!")
Ingat, Anda dapat menggunakan operator <- untuk memberikan nilai kepada variabel.

Di luar laci tersebut, kita melihat enam buku tulis. Kita dapat membuat variabel buku_tulis dan memberikan nilai 6 kepada variabel tersebut. Agar rapi, kita masukkan semua buku tulis tersebut ke dalam laci. Ada berapa buku di dalam laci tersebut? Jawabannya dapat dicari dengan kode berikut. Silakan kerjakan di Latihan 1.4.

buku_teks + buku_tulis

Latihan 1.4

  • Buatlah sebuah variabel buku_tulis dan berikan nilai 6 kepada variabel tersebut.
  • Jumlahkan buku_teks dan buku_tulis dan tampilkan hasilnya.
  • Jadikan hasil penjumlahan tersebut sebagai variabel baru, yaitu buku.
# no pec # Buatlah buku_tulis dan berikan nilai 6 buku_teks <- 3 # Jumlahkan dua variabel tersebut # Buatlah variabel bernama buku # Buatlah buku_tulis dan berikan nilai 6 buku_teks <- 3 buku_tulis <- 6 # Jumlahkan dua variabel tersebut buku_teks + buku_tulis # Buatlah variabel bernama buku buku <- buku_teks + buku_tulis msg <- "Sudahkah Anda menggunakan `buku <- buku_teks + buku_tulis` untuk membuat variabel `buku`?" ex() %>% check_object("buku_teks") %>% check_equal(incorrect_msg = "Berikan nilai 3 kepada `buku_teks`.") ex() %>% check_object("buku_tulis") %>% check_equal(incorrect_msg = "Berikan nilai 6 kepada `buku_tulis`.") ex() %>% check_output_expr("buku_teks + buku_tulis",missing_msg = "Tampilkan hasil penjumlahan `buku_teks` dan `buku_tulis`. Caranya telah dijelaskan sebelumnya.") ex() %>% check_object("buku", undefined_msg = msg) %>% check_equal(incorrect_msg = msg) success_msg("Bagus! Keuntungan perhitungan yang menggunakan variabel adalah bahwa hasilnya dapat digunakan kembali. Jika Anda memberi nilai 10 kepada `buku teks` dan menjalankan lagi kodenya, `buku` secara otomatis juga akan berubah. Silakan lanjut ke pembahasan berikutnya.")
Variabel buku merupakan hasil penjumlahan buku_teks dan buku_tulis. Operator penjumlahan adalah + dan operator untuk memberi nilai variabel adalah <-

Kita telah dapat menjumlahkan buku_teks dan buku_tulis. Secara harfiah kita tentu tidak dapat menjumlahkan buku teks dan buku tulis. Akan tetapi, itulah yang baru saja kita lakukan!

Penjumlahan tersebut dapat dilakukan karena kedua variabel tersebut sama-sama memuat bilangan. Operasi + dapat dilakukan untuk variabel-variabel numerik. Jika kita mengganti nilai salah satu variabel menjadi karakter dan kita jumlahkan kedua variabel tersebut, tentu hal ini tidak mungkin! Silakan konfirmasi ke Latihan 1.5.

Latihan 1.5

  • Silakan klik tombol Run dan lihat pesan kekeliruan yang ditampilkan. Pahami mengapa kekeliruan tersebut terjadi.
  • Revisilah kode tersebut sehingga R dapat memahami bahwa nilai dari buku_tulis adalah benar-benar 6 sehingga diperoleh hasil penjumlahannya 9. Klik Submit untuk mengirimkan jawabannya.
# no pec # Berikan nilai kepada variabel buku_teks buku_teks <- 3 # Revisilah nilai buku_tulis buku_tulis <- "enam" # Buatlah variabel buku dan tampilkan buku <- buku_teks + buku_tulis buku # Berikan nilai kepada variabel buku_teks buku_teks <- 3 # Revisilah nilai buku_tulis buku_tulis <- 6 # Buatlah variabel buku dan tampilkan buku <- buku_teks + buku_tulis buku ex() %>% check_error(incorrect_msg = "Anda dapat melakukannya dengan mengubah variabel `buku_tulis` menjadi nilai numerik, bukannya string!") ex() %>% check_object("buku_teks") %>% check_equal(incorrect_msg = "Pastikan bahwa `buku_teks` masih bernilai `3`.") ex() %>% check_object("buku_tulis") %>% check_equal(incorrect_msg = "Cek kembali agar `buku_tulis` sama dengan `6`.") ex() %>% check_object("buku") %>% check_equal(incorrect_msg = "Nilai `buku` tidak benar. Nilainya seharusnya 9 yang diperoleh dari penjumlahan `buku_teks` dan `buku_tulis`.") ex() %>% check_object("buku")%>% check_or( check_code(.,"buku\\s*<-\\s*buku_teks\\s*\\+\\s*buku_tulis", missing_msg = "Sudahkan Anda membuat `buku` sebagai penjumlahan `buku_teks` dan `buku_tulis`?", append=F), check_code(.,"buku\\s*<-\\s*buku_tulis\\s*\\+\\s*buku_teks", missing_msg = "Sudahkan Anda membuat `buku` sebagai penjumlahan `buku_teks` dan `buku_tulis`?", append=F) ) ex() %>% check_output_expr("buku", missing_msg = "Jangan menghapus baris kode yang menampilkan `buku`.") success_msg("Mantap, tetaplah bersemangat! Ayo lanjut ke latihan berikutnya.")
Anda harus memberikan nilai numerik 6 kepada buku_tulis, bukannya karakter "enam". Perhatikan bahwa tanda petik dua mengindikasikan bahwa "enam" merupakan karakter

Jenis-Jenis Data Dasar di R

Penjelasan sebelumnya telah mendemonstrasikan adanya dua jenis data di R, yaitu numerik dan karakter. Apakah ada jenis data yang lain? Berikut ini beberapa jenis data yang mendasar di R yang perlu diketahui di tahap awal belajar R.

  • Bilangan real seperti 7,6 dan pi disebut dengan numeric.
  • Bilangan bulat seperti 24 dan 8 disebut dengan integer. Jenis data ini merupakan bagian dari numerik.
  • Nilai-nilai boolean (TRUE atau FALSE) disebut dengan logical.
  • Teks disebut dengan character.

Tanda petik dua digunakan untuk menandakan bahwa "beberapa teks" adalah karakter. Untuk lebih memahami jenis-jenis data di R, ayo kerjakan Latihan 1.6

Latihan 1.6

Ubahlah nilai dari:

  • variabel numerik_ku menjadi 64,
  • variabel karakter_ku menjadi "cerdas dan humanis", dan
  • variabel logis_ku menjadi FALSE.

Perlu diingat bahwa penggunaan tanda petik dua menandakan bahwa "cerdas dan humanis" merupakan karakter. Selain itu, perlu diketahui bahwa R sensitif terhadap kapitalisasi.

# no pec # Ubahlah numerik_ku menjadi 64 numerik_ku <- 64.5 # Ubahlah karakter_ku menjadi "cerdas dan humanis" karakter_ku <- "teks" # Ubahlah logis_ku menjadi FALSE logis_ku <- TRUE # Ubahlah numerik_ku menjadi 64 numerik_ku <- 64 # Ubahlah karakter_ku menjadi "cerdas dan humanis" karakter_ku <- "cerdas dan humanis" # Ubahlah logis_ku menjadi FALSE logis_ku <- FALSE ex() %>% check_object("numerik_ku") %>% check_equal(incorrect_msg = "Sudahkah Anda mendeklarasikan `numerik_ku` sehingga bernilai 64?") ex() %>% check_object("karakter_ku") %>% check_equal(incorrect_msg = "Sudahkah Anda mengubah `karakter_ku` menjadi `\"cerdas dan humanis\"`? Jangan lupa tanda petik duanya!") ex() %>% check_object("logis_ku") %>% check_equal(incorrect_msg = "Apakah variabel `logis_ku` sudah diubah menjadi `FALSE`? Semua huruf `FALSE` harus kapital!") success_msg("Kerja bagus! Sebagai tambahan, kita juga dapat memberikan nilai `F` kepada variabel `logis_ku`.")
Ubahlah nilai dalam editor menjadi nilai yang diminta dalam perintah soal. Misalnya, numerik_ku <- 64 memberikan nilai 64 kepada variabel numerik_ku

Penting bagi kita untuk mengetahui jenis data yang kita miliki sebelum mengolahnya lebih lanjut. Hal ini diperlukan, misalnya, untuk dapat mencegah kekeliruan kita sebelumnya yang melakukan operasi 3 + "enam". Kita dapat mengetahui jenis data dengan menggunakan fungsi class(). Lebih lengkapnya silakan kerjakan Latihan 1.7.

Latihan 1.7

Lengkapilah kode yang ada di dalam editor berikut dan tampilkan variabel-variabel karakter_ku dan logis_ku!

# no pec # Deklarasikan variabel-varibel yang jenisnya berbeda numerik_ku <- 64 karakter_ku <- "cerdas dan humanis" logis_ku <- FALSE # Periksa kelas dari numerik_ku class(numerik_ku) # Cek kelas dari karakter_ku # Periksalah kelas dari logis_ku # Deklarasikan variabel-varibel yang jenisnya berbeda numerik_ku <- 64 karakter_ku <- "cerdas dan humanis" logis_ku <- FALSE # Periksa kelas dari numerik_ku class(numerik_ku) # Cek kelas dari karakter_ku class(karakter_ku) # Periksalah kelas dari logis_ku class(logis_ku) msg <- "Jangan mengubah deklarasi variabel-variabelnya!" ex() %>% check_object("numerik_ku", undefined_msg = msg) %>% check_equal(incorrect_msg = msg) ex() %>% check_object("karakter_ku", undefined_msg = msg) %>% check_equal(incorrect_msg = msg) ex() %>% check_object("logis_ku", undefined_msg = msg) %>% check_equal(incorrect_msg = msg) patt <- "Sudahkah Anda menggunakan `class(%1$s)` untuk menampilkan jenis data `%1$s`?" ex() %>% check_output_expr("class(numerik_ku)",missing_msg = "Jangan menghilangkah kode yang menampilkan jenis data `numerik_ku`.") ex() %>% check_output_expr("class(karakter_ku)",missing_msg = sprintf(patt, "karakter_ku")) ex() %>% check_output_expr("class(logis_ku)",missing_msg = sprintf(patt, "logis_ku")) success_msg("Selamat! Ini adalah latihan terakhir di bagian ini. Silakan lanjut ke halaman berikutnya untuk masuk ke dunia vektor!")
Kode yang digunakan untuk mencetak jenis data numerik_ku sudah dicontohkan di dalam editor. Lakukan cara yang serupa untuk melihat jenis data karakter_ku dan logis_ku

Uji Pengetahuan Anda

Jawablah soal-soal dalam kuis Dasar-Dasar R dengan tepat!

Kode R yang dapat digunakan untuk menentukan sisa pembagian 13 oleh 5 adalah ...

Isilah bagian yang kosong agar kode tersebut berfungsi untuk memberikan nilai 17 kepada variabel umur.

umur 45

Sebuah variabel `var_kita` bernilai TRUE. Jika kita menuliskan class(var_kita) dalam R, kita akan mendapatkan luaran ...