¿Cómo establecer el valor seleccionado de jquery select2?

Esto pertenece a los códigos anteriores a select2 versión 4

Tengo un código simple deselect2 que obtienen datos de ajax

$("#programid").select2({
  placeholder: "Select a Program",
  allowClear: true,
  minimumInputLength: 3,
  ajax: {
    url: "ajax.php",
    dataType: 'json',
    quietMillis: 200,
    data: function (term, page) {
      return {
        term: term, //search term
        flag: 'selectprogram',
        page: page // page number
      };
    },
    results: function (data) {
      return {results: data};
    }
  },
  dropdownCssClass: "bigdrop",
  escapeMarkup: function (m) { return m; }
});

Este código está funcionando, sin embargo, necesito establecer un valor en él como si estuviera en modo de edición. Cuando el usuario selecciona un valor por primera vez, se guardará y cuando necesite editar ese valor, debe aparecer en el mismo menú de selección (select2) para seleccionar el valor previamente seleccionado pero no puedo encontrar una manera.

ACTUALIZAR:

El código HTML:

<input type="hidden" name="programid" id="programid" class="width-500 validate[required]">

Acceso programático Select2 No funciona con esto.

Respuestas a la pregunta(11)

Su respuesta a la pregunta